GithubHelp home page GithubHelp logo

meltwaterarchive / datasift-java Goto Github PK

View Code? Open in Web Editor NEW
10.0 10.0 7.0 5.38 MB

Java client to interface with DataSift

Home Page: http://www.datasift.com/

License: MIT License

Java 99.06% Shell 0.94%

datasift-java's People

Contributors

akms17 avatar andimiller avatar aszac avatar bastianal avatar danielguarnieri avatar dtsn avatar dugjason avatar jairamc avatar jcalonso avatar mfullen avatar nicktelford avatar nwolff avatar ollieparsley avatar pavelkraldatasift avatar quipo avatar scubasau avatar vocatan avatar zcourts avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

datasift-java's Issues

Unable to decode JSON from DataSift response with Historics Prepare

Arbitrarily recent (and legal) timestamps used as start and end times for historics().prepare() throw a JsonParsing Exception. Older timestamps seem to work fine.

Example snippet:

        Calendar cal = Calendar.getInstance();
        cal.set(Calendar.HOUR_OF_DAY, 0);
        cal.set(Calendar.MINUTE, 0);
        cal.set(Calendar.SECOND, 0);
        cal.set(Calendar.MILLISECOND, 0);
        long end = cal.getTimeInMillis() / 1000;
        cal.add(Calendar.DAY_OF_YEAR, -2);
        long start = cal.getTimeInMillis() / 1000;

        PreparedHistoricsQuery query = datasift.historics().prepare(stream.hash(), start, end, "fun with historics", sources).sync();

Here is the output:

Exception in thread "main" com.datasift.client.exceptions.JsonParsingException: Unable to decode JSON from DataSift response
at com.datasift.client.DataSiftApiClient$1.apply(DataSiftApiClient.java:52)
io.netty.util.internal.logging.Slf4JLogger 17:32:31,163 WARN DefaultChannelPipeline:151 - An exception was thrown by a user handler's exceptionCaught() method while handling the following exception:
com.datasift.client.exceptions.JsonParsingException: Unable to decode JSON from DataSift response
at com.datasift.client.DataSiftApiClient$1.apply(DataSiftApiClient.java:52)
at com.datasift.client.DataSiftApiClient$1.apply(DataSiftApiClient.java:37)
at io.higgs.http.client.readers.PageReader.done(PageReader.java:24)
at io.higgs.http.client.readers.Reader.setCompleted(Reader.java:77)
at io.higgs.http.client.Response.setCompleted(Response.java:72)
at io.higgs.http.client.ClientHandler.channelRead0(ClientHandler.java:57)
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:103)
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338)
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324)
at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338)
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338)
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:153)
at com.datasift.client.DataSiftApiClient$1.apply(DataSiftApiClient.java:37)
at io.higgs.http.client.readers.PageReader.done(PageReader.java:24)
at io.higgs.http.client.readers.Reader.setCompleted(Reader.java:77)
at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:148)
at io.higgs.http.client.Response.setCompleted(Response.java:72)
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338)
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:153)
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338)
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324)
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785)
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:122)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:485)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:452)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:346)
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:101)
at java.lang.Thread.run(Thread.java:745)
Caused by: com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of java.util.LinkedHashMap out of START_ARRAY token
at [Source: java.io.StringReader@b2c9a9c; line: 1, column: 119](through reference chain: com.datasift.client.historics.PreparedHistoricsQuery["availability"]->com.datasift.client.historics.Availability["sources"]->com.datasift.client.historics.Source["augmentations"])
at com.fasterxml.jackson.databind.JsonMappingException.from(JsonMappingException.java:164)
at com.fasterxml.jackson.databind.DeserializationContext.mappingException(DeserializationContext.java:599)
at com.fasterxml.jackson.databind.DeserializationContext.mappingException(DeserializationContext.java:593)
at com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:306)
at io.higgs.http.client.ClientHandler.channelRead0(ClientHandler.java:57)
at com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:26)
at com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:375)
at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:98)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:308)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:121)
at com.fasterxml.jackson.databind.deser.std.MapDeserializer._readAndBindStringMap(MapDeserializer.java:429)
at com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:310)
at com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:26)
at com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:375)
at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:98)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:308)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:121)
at com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:375)
at com.fasterxml.jackson.databind.deser.impl.FieldProperty.deserializeAndSet(FieldProperty.java:107)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:308)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:121)
at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:2797)
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:1943)
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:103)
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338)
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324)
at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338)
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324)
at com.datasift.client.DataSiftApiClient$1.apply(DataSiftApiClient.java:49)
... 28 more
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338)
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:153)
at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:148)
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338)
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:153)
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338)
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324)
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785)
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:122)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:485)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:452)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:346)
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:101)
at java.lang.Thread.run(Thread.java:745)
Caused by: com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of java.util.LinkedHashMap out of START_ARRAY token
at [Source: java.io.StringReader@b2c9a9c; line: 1, column: 119](through reference chain: com.datasift.client.historics.PreparedHistoricsQuery["availability"]->com.datasift.client.historics.Availability["sources"]->com.datasift.client.historics.Source["augmentations"])
at com.fasterxml.jackson.databind.JsonMappingException.from(JsonMappingException.java:164)
at com.fasterxml.jackson.databind.DeserializationContext.mappingException(DeserializationContext.java:599)
at com.fasterxml.jackson.databind.DeserializationContext.mappingException(DeserializationContext.java:593)
at com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:306)
at com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:26)
at com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:375)
at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:98)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:308)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:121)
at com.fasterxml.jackson.databind.deser.std.MapDeserializer._readAndBindStringMap(MapDeserializer.java:429)
at com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:310)
at com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:26)
at com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:375)
at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:98)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:308)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:121)
at com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:375)
at com.fasterxml.jackson.databind.deser.impl.FieldProperty.deserializeAndSet(FieldProperty.java:107)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:308)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:121)
at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:2797)
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:1943)
at com.datasift.client.DataSiftApiClient$1.apply(DataSiftApiClient.java:49)
... 28 more

Intermittent API errors breaking Pull

While using pull the user can experience API errors resulting in an exception, these need to be handled more gracefully.

Stack trace:

2014-07-02 14:26:02 i.n.c.DefaultChannelPipeline [WARN] An exception was 
thrown by a user handler's exceptionCaught() method while handling the 
following exception: 
com.datasift.client.exceptions.DataSiftException: Unknown error 
at 
com.datasift.client.DataSiftApiClient$1.apply(DataSiftApiClient.java:60) 
~[stormjar.jar:na] 
at 
com.datasift.client.DataSiftApiClient$1.apply(DataSiftApiClient.java:37) 
~[stormjar.jar:na] 
at io.higgs.http.client.readers.PageReader.done(PageReader.java:24) 
~[stormjar.jar:na] 
at io.higgs.http.client.readers.Reader.setCompleted(Reader.java:77) 
~[stormjar.jar:na] 
at io.higgs.http.client.Response.setCompleted(Response.java:72) 
~[stormjar.jar:na] 
at 
io.higgs.http.client.ClientHandler.channelRead0(ClientHandler.java:57) 
~[stormjar.jar:na] 
at 
io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:103) 
~[stormjar.jar:na] 
at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:332) 
[stormjar.jar:na] 
at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:318) 
[stormjar.jar:na] 
at 
io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86) 
[stormjar.jar:na] 
at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:332) 
[stormjar.jar:na] 
at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:318) 
[stormjar.jar:na] 
at 
io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) 
[stormjar.jar:na] 
at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:332) 
[stormjar.jar:na] 
at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:318) 
[stormjar.jar:na] 
at 
io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:163) 
[stormjar.jar:na] 
at 
io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:148) 
[stormjar.jar:na] 
at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:332) 
[stormjar.jar:na] 
at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:318) 
[stormjar.jar:na] 
at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:990) 
[stormjar.jar:na] 
at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:873) 
[stormjar.jar:na] 
at 
io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:241) 
[stormjar.jar:na] 
at 
io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:149) 
[stormjar.jar:na] 
at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:332) 
[stormjar.jar:na] 
at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:318) 
[stormjar.jar:na] 
at 
io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:787) 
[stormjar.jar:na] 
at 
io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:125) 
[stormjar.jar:na] 
at 
io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:507) 
[stormjar.jar:na] 
at 
io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:464) 
[stormjar.jar:na] 
at 
io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:378) 
[stormjar.jar:na] 
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:350) 
[stormjar.jar:na] 
at 
io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116) 
[stormjar.jar:na] 
at java.lang.Thread.run(Thread.java:745) [na:1.7.0_55]

getLicenses() in UsageStream returns null in Usage API but content is in response data

DataSiftClient dataSiftClient = new DataSiftClient(new DataSiftConfig("xxx", "xxx"));
Usage usage = dataSiftClient.usage(Period.HOUR).sync();
UsageStream stream = usage.getStreams();

System.out.println(usage.getResponse().data());
Returns:
{"start":"Thu, 27 Aug 2015 08:50:00 +0000","end":"Thu, 27 Aug 2015 09:50:00 +0000","streams":{"1bb086ff4f9d58cca88a1cb706968652":{"licenses":[],"seconds":3600},"293e675770333ca7696da411109633d6":{"licenses":[],"seconds":3600},"2f8540ed0f2056bd6b0db4cba7eceff5":{"licenses":
... ... ..

System.out.println(stream.getLicenses());
Returns:
null

Seems like the response data is not set into UsageStream, or is it something I missed out?

datasift-java affected by CVE-2016-4970

The dependency tree of datasift-java artifact with version 3.2.16 is affected by CVE-2016-4970:

+- com.datasift.client:datasift-java:jar:3.2.16
| +- com.boundary:high-scale-lib:jar:1.0.6
| +- io.higgs:http-client:jar:0.0.22
| | +- io.higgs:core:jar:0.0.22
| | - io.netty:netty-all:jar:4.0.28.Final

CoreApi.java : DataSiftClient.usage().sync() : com.datasift.client.exceptions.JsonParsingException

Hi,

I just started using this client library and ran into a problem. After changing line 21 (i.e. DataSiftConfig().auth) to my API information, I see the following exception thrown by line 49 (i.e. Usage usage = datasift.usage().sync();). Does anyone else see the following? Could someone look into this?

Thanks.

Albert

io.netty.util.internal.logging.Slf4JLogger 10:46:40,225  WARN DefaultChannelPipeline:151 - An exception was thrown by a user handler's exceptionCaught() method while handling the following exception:
com.datasift.client.exceptions.JsonParsingException: Unable to decode JSON from DataSift response
    at com.datasift.client.DataSiftApiClient$1.apply(DataSiftApiClient.java:59)
    at com.datasift.client.DataSiftApiClient$1.apply(DataSiftApiClient.java:41)
    at io.higgs.http.client.future.PageReader.done(PageReader.java:29)
    at io.higgs.http.client.future.Reader.setCompleted(Reader.java:52)
    at io.higgs.http.client.Response.setCompleted(Response.java:69)
    at io.higgs.http.client.ClientHandler.channelRead0(ClientHandler.java:57)
    at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:103)
    at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338)
    at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324)
    at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
    at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338)
    at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324)
    at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
    at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338)
    at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324)
    at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:153)
    at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:148)
    at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338)
    at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324)
    at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:153)
    at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338)
    at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324)
    at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785)
    at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:122)
    at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:485)
    at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:452)
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:346)
    at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:101)
    at java.lang.Thread.run(Thread.java:744)
Caused by: com.fasterxml.jackson.databind.exc.InvalidFormatException: Can not construct instance of java.util.Date from String value 'Tue, 04 Mar 2014 15:45:00 +0000': not a valid representation (error: Failed to parse Date value 'Tue, 04 Mar 2014 15:45:00 +0000': Unparseable date: "Tue, 04 Mar 2014 15:45:00 +0000")
 at [Source: java.io.StringReader@65e2fa47; line: 1, column: 2] (through reference chain: com.datasift.client.core.Usage["start"])
    at com.fasterxml.jackson.databind.exc.InvalidFormatException.from(InvalidFormatException.java:55)
    at com.fasterxml.jackson.databind.DeserializationContext.weirdStringException(DeserializationContext.java:650)
    at com.fasterxml.jackson.databind.deser.std.StdDeserializer._parseDate(StdDeserializer.java:577)
    at com.fasterxml.jackson.databind.deser.std.DateDeserializers$DateBasedDeserializer._parseDate(DateDeserializers.java:142)
    at com.fasterxml.jackson.databind.deser.std.DateDeserializers$DateDeserializer.deserialize(DateDeserializers.java:227)
    at com.fasterxml.jackson.databind.deser.std.DateDeserializers$DateDeserializer.deserialize(DateDeserializers.java:210)
    at com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:375)
    at com.fasterxml.jackson.databind.deser.impl.FieldProperty.deserializeAndSet(FieldProperty.java:107)
    at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:308)
    at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:121)
    at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:2797)
    at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:1943)
    at com.datasift.client.DataSiftApiClient$1.apply(DataSiftApiClient.java:55)
    ... 28 more

JsonMappingException when using Historics

After resolving issues #73, #108 and #109, this still seems to be an issue in v3.2.16 of the client (latest version at time of writing).

com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of java.util.LinkedHashMap out of START_ARRAY token 
at [Source: {"id":"xxx","dpus":30,"availability":{"start":"1481500800","end":"1481587200","sources":{"tumblr":{"augmentations":[],"versions":["3"],"status":100}}}}; line: 1, column: 133] (through reference chain: com.datasift.client.historics.PreparedHistoricsQuery["availability"]->com.datasift.client.historics.Availability["sources"]->java.util.LinkedHashMap["tumblr"]->com.datasift.client.historics.Source["augmentations"]) 

When there are no augmentations the response is an empty array []. In the source code, Augmentations are represented as a Map<String, Integer> which is represented as {} in json notation. That is the cause of the error. Right now it is not possible to properly use this method in client

.IllegalStateException: unexpected message type: UnpooledUnsafeDirectByteBuf

See #47 (comment)

The stack trace is: 
2014-10-01 18:00:52.158 [nioEventLoopGroup-2-2] ERROR c.s.e.datasift.stream.ErrorHandler -Error in Datasift stream\
io.netty.handler.codec.EncoderException: java.lang.IllegalStateException: unexpected message type: UnpooledUnsafeDirectByteBuf\
at io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:107) ~[netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.channel.CombinedChannelDuplexHandler.write(CombinedChannelDuplexHandler.java:193) ~[netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:657) ~[netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:715) ~[netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:650) ~[netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:112) ~[netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:657) ~[netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:715) ~[netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:705) ~[netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:740) ~[netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:895) ~[netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:241) ~[netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.higgs.ws.client.WebSocketStream.send(WebSocketStream.java:51) ~[ws-client-0.0.8-1.jar:na]\
at com.datasift.client.stream.StreamingData.pushUnsentSubscriptions(StreamingData.java:239) [datasift-java-3.0.0-Beta3.5.jar:na]\
at com.datasift.client.stream.StreamingData.subscribe(StreamingData.java:225) [datasift-java-3.0.0-Beta3.5.jar:na]\
at com.datasift.client.stream.StreamingData$2.operationComplete(StreamingData.java:246) [datasift-java-3.0.0-Beta3.5.jar:na]\
at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:682) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.util.concurrent.DefaultPromise.notifyLateListener(DefaultPromise.java:624) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.util.concurrent.DefaultPromise.addListener(DefaultPromise.java:144) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:93) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:28) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at com.datasift.client.stream.StreamingData.pushUnsentSubscriptions(StreamingData.java:239) [datasift-java-3.0.0-Beta3.5.jar:na]\
at com.datasift.client.stream.StreamingData.subscribe(StreamingData.java:225) [datasift-java-3.0.0-Beta3.5.jar:na]\
at com.datasift.client.stream.StreamingData$2.operationComplete(StreamingData.java:246) [datasift-java-3.0.0-Beta3.5.jar:na]\
at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:682) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.util.concurrent.DefaultPromise.notifyLateListener(DefaultPromise.java:624) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.util.concurrent.DefaultPromise.addListener(DefaultPromise.java:144) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:93) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:28) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at com.datasift.client.stream.StreamingData.pushUnsentSubscriptions(StreamingData.java:239) [datasift-java-3.0.0-Beta3.5.jar:na]\
at com.datasift.client.stream.StreamingData.subscribe(StreamingData.java:225) [datasift-java-3.0.0-Beta3.5.jar:na]\
at com.datasift.client.stream.StreamingData$2.operationComplete(StreamingData.java:246) [datasift-java-3.0.0-Beta3.5.jar:na]\
at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:682) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.util.concurrent.Defau\
t io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:28) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at com.datasift.client.stream.StreamingData.pushUnsentSubscriptions(StreamingData.java:239) [datasift-java-3.0.0-Beta3.5.jar:na]\
at com.datasift.client.stream.StreamingData.subscribe(StreamingData.java:225) [datasift-java-3.0.0-Beta3.5.jar:na]\
at com.datasift.client.stream.StreamingData$2.operationComplete(StreamingData.java:246) [datasift-java-3.0.0-Beta3.5.jar:na]\
at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:682) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.util.concurrent.DefaultPromise.notifyLateListener(DefaultPromise.java:624) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.util.concurrent.DefaultPromise.addListener(DefaultPromise.java:144) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:93) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:28) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at com.datasift.client.stream.StreamingData.pushUnsentSubscriptions(StreamingData.java:239) [datasift-java-3.0.0-Beta3.5.jar:na]\
at com.datasift.client.stream.StreamingData.subscribe(StreamingData.java:225) [datasift-java-3.0.0-Beta3.5.jar:na]\
at com.datasift.client.stream.StreamingData$2.operationComplete(StreamingData.java:246) [datasift-java-3.0.0-Beta3.5.jar:na]\
at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:682) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.util.concurrent.DefaultPromise.notifyLateListener(DefaultPromise.java:624) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.util.concurrent.DefaultPromise.addListener(DefaultPromise.java:144) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:93) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:28) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at com.datasift.client.stream.StreamingData.pushUnsentSubscriptions(StreamingData.java:239) [datasift-java-3.0.0-Beta3.5.jar:na]\
at com.datasift.client.stream.StreamingData.subscribe(StreamingData.java:225) [datasift-java-3.0.0-Beta3.5.jar:na]\
at com.datasift.client.stream.StreamingData$2.operationComplete(StreamingData.java:246) [datasift-java-3.0.0-Beta3.5.jar:na]\
at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:682) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.util.concurrent.DefaultPromise.notifyLateListener(DefaultPromise.java:624) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.util.concurrent.DefaultPromise.addListener(DefaultPromise.java:144) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:93) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:28) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at com.datasift.client.stream.StreamingData.pushUnsentSubscriptions(StreamingData.java:239) [datasift-java-3.0.0-Beta3.5.jar:na]\
at com.datasift.client.stream.StreamingData.subscribe(StreamingData.java:225) [datasift-java-3.0.0-Beta3.5.jar:na]\
at com.datasift.client.stream.StreamingData$2.operationComplete(StreamingData.java:246) [datasift-java-3.0.0-Beta3.5.jar:na]\
at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:682) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.util.concurrent.DefaultPromise$LateListeners.run(DefaultPromise.java:847) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.util.concurrent.DefaultPromise$LateListenerNotifier.run(DefaultPromise.java:875) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:370) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:353) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at java.lang.Thread.run(Thread.java:722) [na:1.7.0_07]\
Caused by: java.lang.IllegalStateException: unexpected message type: UnpooledUnsafeDirectByteBuf\

Event types needs to be passed as an array not a string

When creating a Google+ managed source the Event types parameter needs to be passed as an array not a string, as per the example listed on the docs site.

At the moment source.addResource(Type.PEOPLE_UPDATES, "me"); will result in the following exception

{"error":"resources item  must contain a valid \"event_types\" entry","original_error":"resources item  must contain a valid \"event_types\" entry"}

201 is considered an error

In the User class method callAPI, the http code 201 is considered an error. But 201 is "Created". For instance, in the call to "resource/create" the success code is 201, but the library considers it as an error.

client.validate() Exception not bubbling up

for 3.0.0-Beta3.1 making a call to client.validate(csdl).sync() with invalid CSDL never returns back to the caller.

Take some CSDL such as :

twitter.media exists
and 
tiwitter.hashtags in "braves,freddiesfeed"

and submit to be validated and the Exception below comes back from the Call through the async request, but never gets bubbled back up to the validate() call as invalid CSDL. In reality should this request make it all the way through is the expectation that the message for the DataSiftException The target twitter.media does not exist end up residing in the error value of the DataSiftResult for display back to the user?

WARN : io.netty.channel.DefaultChannelPipeline - An exception was thrown by a user handler's exceptionCaught() method while handling the following exception:
com.datasift.client.exceptions.DataSiftException: The target twitter.media does not exist
    at com.datasift.client.DataSiftApiClient$1.apply(DataSiftApiClient.java:68)
    at com.datasift.client.DataSiftApiClient$1.apply(DataSiftApiClient.java:41)
    at io.higgs.http.client.readers.PageReader.done(PageReader.java:24)
    at io.higgs.http.client.readers.Reader.setCompleted(Reader.java:77)
    at io.higgs.http.client.Response.setCompleted(Response.java:72)
    at io.higgs.http.client.ClientHandler.channelRead0(ClientHandler.java:57)
    at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:103)
    at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338)
    at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324)
    at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
    at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338)
    at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324)
    at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
    at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338)
    at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324)
    at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:153)
    at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:148)
    at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338)
    at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324)
    at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:153)
    at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338)
    at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324)
    at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785)
    at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:122)
    at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:485)
    at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:452)
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:346)
    at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:101)
    at java.lang.Thread.run(Thread.java:744)

Instagram Managed Source, By Location

Hi

I noticed the Instagram.addResource method uses the latitude instead of the distance when the type is set to location/area and no four square ID has been supplied:

parameterSet.set("distance", lattitude);

Also, the value variable is checked for null in the switch statement and an illegal argument exception is thrown. The "by location" methods on the Instagram class all supply a null as the value param.

Thanks

Alex

JsonParseException on DataSiftPylon.sample(): topicIds not deserialized

The deserialization of PylonSampleInteraction.topicIds seems too fail (probably because they are not representable by Integers).

Exception when calling method DataSiftPylon.sample():

com.fasterxml.jackson.core.JsonParseException: Numeric value (119435464813984) out of range of int
 at [Source: java.io.StringReader@1e17c35d; line: 1, column: 1688]
    at com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:1378)
    at com.fasterxml.jackson.core.base.ParserMinimalBase._reportError(ParserMinimalBase.java:599)
    at com.fasterxml.jackson.core.base.ParserBase.convertNumberToInt(ParserBase.java:835)
    at com.fasterxml.jackson.core.base.ParserBase.getIntValue(ParserBase.java:631)
    at com.fasterxml.jackson.databind.deser.std.StdDeserializer._parseInteger(StdDeserializer.java:305)
    at com.fasterxml.jackson.databind.deser.std.NumberDeserializers$IntegerDeserializer.deserialize(NumberDeserializers.java:202)
    at com.fasterxml.jackson.databind.deser.std.NumberDeserializers$IntegerDeserializer.deserialize(NumberDeserializers.java:187)
    at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:226)
    at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:203)
    at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:23)
    at com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:375)
    at com.fasterxml.jackson.databind.deser.impl.FieldProperty.deserializeAndSet(FieldProperty.java:107)
    at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:308)
    at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:121)
    at com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:375)
    at com.fasterxml.jackson.databind.deser.impl.FieldProperty.deserializeAndSet(FieldProperty.java:107)
    at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:308)
    at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:121)
    at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:226)
    at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:203)
    at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:23)
    at com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:375)
    at com.fasterxml.jackson.databind.deser.impl.FieldProperty.deserializeAndSet(FieldProperty.java:107)
    at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:308)
    at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:121)
    at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:2796)
    at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:1942)
    at com.datasift.client.DataSiftApiClient$1.apply(DataSiftApiClient.java:49)

Implement support for 'compression' parameter in file based connectors, and HTTP

We have a new output_params.compression parameter for the FTP, SFTP, S3 Push connectors:
http://dev.datasift.com/docs/push/connectors/ftp
http://dev.datasift.com/docs/push/connectors/sftp
http://dev.datasift.com/docs/push/connectors/s3
It is optional and takes the values: 'none' (default) and 'gzip'.

For the HTTP push connector, the output_params.use_gzip parameter has been superseded by output_params.compression.
It is optional and takes the values: 'none' (default), 'zlib', and 'gzip'.
http://dev.datasift.com/docs/push/connectors/http

Netty Issue with datasift client for steaming api

We are using the datasift client (3.1.0 jar) streaming api and I see the CPU usage going up 100% after few hours and the application hangs. The datasift client thread is in runnable state and the thread dump is very similar to the netty epoll issue mentioned here - netty/netty#327

This happens very frequently and I'll provide the exact thread dump if this happens again (the original dump was deleted by accident).

Feature Request :: Add logic to detect invalid hashes using MultiStream

Use case: Customer allows users to enter a list of hashes, but one or more may be incorrect

Feature: Currently, the warning is swallowed. Would be helpful to have this information available.

sample response from stream.datasift.com/multi:
{"status":"warning","message":"73789db39017a290a2383135face194 is an invalid hash","hash":"73789db39017a290a2383135face194"}

IllegalStateException with Message โ€œunexpected message type: UnpooledUnsafeDirectByteBufโ€ from Netty

I consistently get the following exception (from an ErrorListener#exceptionCaught(Throwable) instance registered with StreamingData) immediately after subscribing.

io.netty.handler.codec.EncoderException: java.lang.IllegalStateException: unexpected message type: UnpooledUnsafeDirectByteBuf
        at io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:107) [netty-all-4.0.12.Final.jar:na]
        at io.netty.channel.CombinedChannelDuplexHandler.write(CombinedChannelDuplexHandler.java:193) ~[netty-all-4.0.12.Final.jar:na]
        at io.netty.channel.DefaultChannelHandlerContext.invokeWrite(DefaultChannelHandlerContext.java:645) [netty-all-4.0.12.Final.jar:na]
        at io.netty.channel.DefaultChannelHandlerContext.write(DefaultChannelHandlerContext.java:699) [netty-all-4.0.12.Final.jar:na]
        at io.netty.channel.DefaultChannelHandlerContext.write(DefaultChannelHandlerContext.java:638) [netty-all-4.0.12.Final.jar:na]
        at io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:115) [netty-all-4.0.12.Final.jar:na]
        at io.netty.channel.DefaultChannelHandlerContext.invokeWrite(DefaultChannelHandlerContext.java:645) [netty-all-4.0.12.Final.jar:na]
        at io.netty.channel.DefaultChannelHandlerContext.access$2000(DefaultChannelHandlerContext.java:29) [netty-all-4.0.12.Final.jar:na]
        at io.netty.channel.DefaultChannelHandlerContext$WriteTask.run(DefaultChannelHandlerContext.java:906) [netty-all-4.0.12.Final.jar:na]
        at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:354) [netty-all-4.0.12.Final.jar:na]
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:353) [netty-all-4.0.12.Final.jar:na]
        at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:101) [netty-all-4.0.12.Final.jar:na]
        at java.lang.Thread.run(Thread.java:744) [na:1.7.0_45]
Caused by: java.lang.IllegalStateException: unexpected message type: UnpooledUnsafeDirectByteBuf
        at io.netty.handler.codec.http.HttpObjectEncoder.encode(HttpObjectEncoder.java:80) ~[netty-all-4.0.12.Final.jar:na]
        at io.netty.handler.codec.http.HttpClientCodec$Encoder.encode(HttpClientCodec.java:94) ~[netty-all-4.0.12.Final.jar:na]
        at io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:89) [netty-all-4.0.12.Final.jar:na]
        ... 12 common frames omitted

Workflow is very simple:

  1. Compile a simple CSDL query.
  2. Subscribe using the resulting Stream object.

And I never seem to get any results, even for interactions containing common terms. Also of possible interest, I get these shortly after:

java.io.IOException: Connection reset by peer
    at sun.nio.ch.FileDispatcherImpl.read0(Native Method) ~[na:1.7.0_45]
    at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39) ~[na:1.7.0_45]
    at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) ~[na:1.7.0_45]
    at sun.nio.ch.IOUtil.read(IOUtil.java:192) ~[na:1.7.0_45]
    at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:379) ~[na:1.7.0_45]
    at io.netty.buffer.UnpooledUnsafeDirectByteBuf.setBytes(UnpooledUnsafeDirectByteBuf.java:436) ~[netty-all-4.0.12.Final.jar:na]

Using 3.0.0-Beta1. Is this a problem in my environment or a bug with the library.

Exception in operationComplete()

This was received while using the Java client, any idea what could have caused it?

io.netty.util.internal.logging.Slf4JLogger 10:04:46,769 WARN DefaultPromise:151 - An exception was thrown by io.higgs.http.client.Request$1.operationComplete()
io.netty.util.concurrent.BlockingOperationException: DefaultChannelPromise@65ef3cb0(incomplete)
at io.netty.util.concurrent.DefaultPromise.checkDeadLock(DefaultPromise.java:397)
at io.netty.channel.DefaultChannelPromise.checkDeadLock(DefaultChannelPromise.java:157)
at io.netty.util.concurrent.DefaultPromise.awaitUninterruptibly(DefaultPromise.java:290)
at io.netty.channel.DefaultChannelPromise.awaitUninterruptibly(DefaultChannelPromise.java:135)
at io.netty.channel.DefaultChannelPromise.awaitUninterruptibly(DefaultChannelPromise.java:28)
at io.higgs.http.client.POST.doRequest(POST.java:71)
at io.higgs.http.client.POST.makeTheRequest(POST.java:66)
at io.higgs.http.client.Request$1.operationComplete(Request.java:165)
at io.higgs.http.client.Request$1.operationComplete(Request.java:161)
at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:682)
at io.netty.util.concurrent.DefaultPromise.notifyListeners0(DefaultPromise.java:607)
at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:565)
at io.netty.util.concurrent.DefaultPromise.trySuccess(DefaultPromise.java:413)
at io.netty.channel.DefaultChannelPromise.trySuccess(DefaultChannelPromise.java:82)
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.fulfillConnectPromise(AbstractNioChannel.java:254)
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:288)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:524)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:464)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:378)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:350)
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
at java.lang.Thread.run(Thread.java:744)
io.netty.util.internal.logging.Slf4JLogger 10:04:48,913 WARN DefaultPromise:151 - An exception was thrown by io.higgs.http.client.Request$1.operationComplete()
io.netty.util.concurrent.BlockingOperationException: DefaultChannelPromise@6c5330ab(incomplete)
at io.netty.util.concurrent.DefaultPromise.checkDeadLock(DefaultPromise.java:397)
at io.netty.channel.DefaultChannelPromise.checkDeadLock(DefaultChannelPromise.java:157)
at io.netty.util.concurrent.DefaultPromise.awaitUninterruptibly(DefaultPromise.java:290)
at io.netty.channel.DefaultChannelPromise.awaitUninterruptibly(DefaultChannelPromise.java:135)
at io.netty.channel.DefaultChannelPromise.awaitUninterruptibly(DefaultChannelPromise.java:28)
at io.higgs.http.client.POST.doRequest(POST.java:71)
at io.higgs.http.client.POST.makeTheRequest(POST.java:66)
at io.higgs.http.client.Request$1.operationComplete(Request.java:165)
at io.higgs.http.client.Request$1.operationComplete(Request.java:161)
at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:682)
at io.netty.util.concurrent.DefaultPromise.notifyListeners0(DefaultPromise.java:607)
at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:565)
at io.netty.util.concurrent.DefaultPromise.trySuccess(DefaultPromise.java:413)
at io.netty.channel.DefaultChannelPromise.trySuccess(DefaultChannelPromise.java:82)
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.fulfillConnectPromise(AbstractNioChannel.java:254)
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:288)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:524)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:464)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:378)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:350)
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
at java.lang.Thread.run(Thread.java:744)

Thread is not shut down correctly

We have noticed a serious issue when using the Datasift Java Client. Below is the code we are using:

public static void main(String... args) throws InterruptedException { 
  try{ 
    DataSiftConfig config = new DataSiftConfig("USERRNAME", "API_KEY"); 
    final DataSiftClient datasift = new DataSiftClient(config); 
    datasift.shutdown(); 
  } catch(Exception e) { 
    e.printStackTrace(); 
  } 
}

We have seen a thread is spawned and does not get killed when we invoke shutdown method of Datasift Client. The thread continues to be alive. This is creating a lot of unused resource and the system crawls to a halt

Streaming Exception - Connection timed out

I have developed a java application that implements v3.1.1 of the api.
The app has been streaming data successfully for a few weeks.
Today, I received the following exception and no more interactions have been received since:-

java.net.ConnectException: Connection timed out: no further information: websocket.datasift.com/46.236.5.226:443
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[na:1.7.051]
at sun.nio.ch.SocketChannelImpl.finishConnect(Unknown Source) ~[na:1.7.051]
at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:208) ~[netty-all-4.0.20.Final.jar:4.0.20.Final]
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:287) ~[netty-all-4.0.20.Final.jar:4.0.20.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:524) ~[netty-all-4.0.20.Final.jar:4.0.20.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:464) ~[netty-all-4.0.20.Final.jar:4.0.20.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:378) ~[netty-all-4.0.20.Final.jar:4.0.20.Final]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:350) ~[netty-all-4.0.20.Final.jar:4.0.20.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116) [netty-all-4.0.20.Final.jar:4.0.20.Final]
at java.lang.Thread.run(Unknown Source) [na:1.7.0_51]

Originally raised in https://support.datasift.com/hc/communities/public/questions/202199138-Streaming-Exception-Connection-timed-out

Exception when subscribing to a stream using v3.2.0 or v3.2.1

From discussion topic at https://support.datasift.com/hc/communities/public/questions/202596207-Exception-when-subscribing-to-a-stream-using-v3-2-0-or-v3-2-1:

Further to the issue "Streaming Exception - Connection timed out", I upgraded from v3.1.1 to v3.2.1 this morning and am getting the following when attempting to subscribe to a stream:-

com.datasift.client.stream.DataSiftConnection 11:09:36,953  WARN DataSiftConnection:179 - Failed to connect to DataSift, if enabled, client will reconnect
java.lang.NullPointerException
    at com.datasift.client.stream.DataSiftConnection.connect(DataSiftConnection.java:174)
    at com.datasift.client.stream.DataSiftConnection.<init>(DataSiftConnection.java:55)
    at com.datasift.client.stream.ConnectionManager.subscribe(ConnectionManager.java:139)
    at uk.co.insidertech.examples.DataSiftStream.main(DataSiftStream.java:73)
com.datasift.client.stream.DataSiftConnection 11:09:38,967  WARN DataSiftConnection:179 - Failed to connect to DataSift, if enabled, client will reconnect
java.lang.NullPointerException
    at com.datasift.client.stream.DataSiftConnection.connect(DataSiftConnection.java:174)
    at com.datasift.client.stream.DataSiftConnection.connect(DataSiftConnection.java:181)
    at com.datasift.client.stream.DataSiftConnection.<init>(DataSiftConnection.java:55)
    at com.datasift.client.stream.ConnectionManager.subscribe(ConnectionManager.java:139)
    at uk.co.insidertech.examples.DataSiftStream.main(DataSiftStream.java:73)
com.datasift.client.stream.DataSiftConnection 11:09:42,974  WARN DataSiftConnection:179 - Failed to connect to DataSift, if enabled, client will reconnect
java.lang.NullPointerException
    at com.datasift.client.stream.DataSiftConnection.connect(DataSiftConnection.java:174)
    at com.datasift.client.stream.DataSiftConnection.connect(DataSiftConnection.java:181)
    at com.datasift.client.stream.DataSiftConnection.connect(DataSiftConnection.java:181)
    at com.datasift.client.stream.DataSiftConnection.<init>(DataSiftConnection.java:55)
    at com.datasift.client.stream.ConnectionManager.subscribe(ConnectionManager.java:139)
    at uk.co.insidertech.examples.DataSiftStream.main(DataSiftStream.java:73)

Test program:-

DataSiftConfig config = new DataSiftConfig("*******", "***********************************");
DataSiftClient datasift = new DataSiftClient(config);
String csdl = "twitter.user.screen_name == \"****\"";
Stream stream = datasift.compile(csdl).sync();

datasift.liveStream().onError(new ErrorHandler()); // handles stream errors
datasift.liveStream().onStreamEvent(new DeleteHandler()); // handles data deletes

datasift.liveStream().subscribe(new Subscription(stream));

I have gone back to v3.1.1 and this works.

Problem when stop pylon record

Hi,

Since i updated the API version to 1.3 and the Java Library to 3.2.13, i have not been able to stop records with the method datasift.pylon().stop(PylonRecordingId pylonRecordingId), i always receive the same message com.datasift.client.exceptions.DataSiftException: id must be a valid id.

I tried to stop the records directly making the call to the stop endpoint(https://api.datasift.com/v1.3/pylon/stop) using Curl and the records are stop without any problem.

I am passing the PylonRecordingId in this manner new PylonRecordingId(record.getRecordingId()) as the parameter in the stop method.

Best Regards

JsonMappingException

Hello!

I'm trying to get a list of my datasift historics and I'm getting errors while deserializing an instance of HistoricsQueryList. I have the following unit test:

DataSiftConfig config = new DataSiftConfig("my_username", "my_key"); DataSiftClient datasift = new DataSiftClient(config); Stream stream = Stream.fromString("my_stream_hash"); HistoricsQueryList list = datasift.historics().list().sync();

I'm getting the following exception:

com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of com.datasift.client.historics.HistoricsQueryList out of START_OBJECT token
at [Source: java.io.StringReader@78dcb136; line: 1, column: 1

Since HistoricsQueryList implements List I guess Jackson is expecting a JSON array instead of object from API.

Am I doing something wrong? Thanks!

/historics/prepare call failing

PreparedHistoricsQuery query = 
datasift.historics().prepare(stream.hash(), fiveHrsAgo, fourHrsAgo, 
name).sync();

causes an error:

com.datasift.client.exceptions.JsonParsingException: Unable to decode 
JSON from DataSift response 
at 
com.datasift.client.DataSiftApiClient$1.apply(DataSiftApiClient.java:52) 
at 
com.datasift.client.DataSiftApiClient$1.apply(DataSiftApiClient.java:37) 
at io.higgs.http.client.readers.PageReader.done(PageReader.java:24) 
at io.higgs.http.client.readers.Reader.setCompleted(Reader.java:85) 
at io.higgs.http.client.Response.setCompleted(Response.java:103) 
at 
io.higgs.http.client.ClientHandler.channelRead0(ClientHandler.java:65) 
at 
io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) 
at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:308) 
at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:294) 
at 
io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86) 
at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:308) 
at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:294) 
at 
io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) 
at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:308) 
at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:294) 
at 
io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:244) 
at 
io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:147) 
at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:308) 
at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:294) 
at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1069) 
at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:939) 
at 
io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:327) 
at 
io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:230) 
at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:308) 
at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:294) 
at 
io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:846) 
at 
io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:131) 
at 
io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:511) 
at 
io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468) 
at 
io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382) 
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354) 
at 
io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:111) 
at java.lang.Thread.run(Unknown Source) 
Caused by: com.fasterxml.jackson.databind.JsonMappingException: Can not 
deserialize instance of java.util.LinkedHashMap out of START_ARRAY token 
at [Source: java.io.StringReader@16beb40c; line: 1, column: 93] 
(through reference chain: 
com.datasift.client.historics.PreparedHistoricsQuery["availability"]->com.datasift.client.historics.Availability["sources"]) 
at 
com.fasterxml.jackson.databind.JsonMappingException.from(JsonMappingException.java:164) 
at 
com.fasterxml.jackson.databind.DeserializationContext.mappingException(DeserializationContext.java:599) 
at 
com.fasterxml.jackson.databind.DeserializationContext.mappingException(DeserializationContext.java:593) 
at 
com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:306) 
at 
com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:26) 
at 
com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:375) 
at 
com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:98) 
at 
com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:308) 
at 
com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:121) 
at 
com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:375) 
at 
com.fasterxml.jackson.databind.deser.impl.FieldProperty.deserializeAndSet(FieldProperty.java:107) 
at 
com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:308) 
at 
com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:121) 
at 
com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:2796) 
at 
com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:1942) 
at 
com.datasift.client.DataSiftApiClient$1.apply(DataSiftApiClient.java:49) 
... 32 more

publish in maven repo

It would be convenient if datasift-java were available in a public maven repo. Maybe central or sonatype-oss? I myself have never gone through this process, so I'm not sure how difficult it is. I understand if it would be too much hassle.

Short of that, do you mind if I publish releases of datasift-java to clojars.org, under a groupId I own? This would be a minor convenience for me right now, and would help when I release a library that depends on datasift-java (so that others can use this library without manually installing datasift-java into their local repo).

DataSiftClient.compile(String) Fails on Long Strings

Hi,

I noticed a problem where DataSiftClient.compile(String) doesn't seem to work on long Strings. Could someone confirm/deny this? A mock CSDL is provided below along with the exception thrown.

Albert

Mar 05, 2014 10:54:33 AM io.netty.util.internal.logging.Slf4JLogger warn
WARNING: An exception was thrown by io.higgs.http.client.Request$1.operationComplete()
io.netty.util.concurrent.BlockingOperationException: DefaultChannelPromise@2cb57927(incomplete)
    at io.netty.util.concurrent.DefaultPromise.checkDeadLock(DefaultPromise.java:373)
    at io.netty.channel.DefaultChannelPromise.checkDeadLock(DefaultChannelPromise.java:157)
    at io.netty.util.concurrent.DefaultPromise.awaitUninterruptibly(DefaultPromise.java:269)
    at io.netty.channel.DefaultChannelPromise.awaitUninterruptibly(DefaultChannelPromise.java:135)
    at io.netty.channel.DefaultChannelPromise.awaitUninterruptibly(DefaultChannelPromise.java:28)
    at io.higgs.http.client.POST.doRequest(POST.java:71)
    at io.higgs.http.client.POST.makeTheRequest(POST.java:66)
    at io.higgs.http.client.Request$1.operationComplete(Request.java:165)
    at io.higgs.http.client.Request$1.operationComplete(Request.java:161)
    at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:621)
    at io.netty.util.concurrent.DefaultPromise.notifyListeners0(DefaultPromise.java:586)
    at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:543)
    at io.netty.util.concurrent.DefaultPromise.setSuccess(DefaultPromise.java:380)
    at io.netty.channel.DefaultChannelPromise.setSuccess(DefaultChannelPromise.java:76)
    at io.netty.channel.DefaultChannelPromise.setSuccess(DefaultChannelPromise.java:71)
    at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:229)
    at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:502)
    at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:452)
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:346)
    at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:101)
    at java.lang.Thread.run(Thread.java:744)

Mar 05, 2014 10:54:33 AM io.netty.util.internal.logging.Slf4JLogger warn
WARNING: An exception was thrown by a user handler's exceptionCaught() method while handling the following exception:
com.datasift.client.exceptions.JsonParsingException: Unable to decode JSON from DataSift response
    at com.datasift.client.DataSiftApiClient$1.apply(DataSiftApiClient.java:59)
    at com.datasift.client.DataSiftApiClient$1.apply(DataSiftApiClient.java:41)
    at io.higgs.http.client.future.PageReader.done(PageReader.java:29)
    at io.higgs.http.client.future.Reader.setCompleted(Reader.java:52)
    at io.higgs.http.client.Response.setCompleted(Response.java:69)
    at io.higgs.http.client.ClientHandler.channelRead0(ClientHandler.java:57)
    at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:103)
    at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338)
    at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324)
    at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
    at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338)
    at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324)
    at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
    at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338)
    at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324)
    at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:153)
    at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:148)
    at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338)
    at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324)
    at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:153)
    at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338)
    at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324)
    at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785)
    at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:122)
    at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:485)
    at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:452)
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:346)
    at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:101)
    at java.lang.Thread.run(Thread.java:744)
Caused by: com.fasterxml.jackson.core.JsonParseException: Unexpected character ('<' (code 60)): expected a valid value (number, String, array, object, 'true', 'false' or 'null')
 at [Source: java.io.StringReader@7a7cbb68; line: 1, column: 2]
    at com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:1378)
    at com.fasterxml.jackson.core.base.ParserMinimalBase._reportError(ParserMinimalBase.java:599)
    at com.fasterxml.jackson.core.base.ParserMinimalBase._reportUnexpectedChar(ParserMinimalBase.java:520)
    at com.fasterxml.jackson.core.json.ReaderBasedJsonParser._handleUnexpectedValue(ReaderBasedJsonParser.java:1387)
    at com.fasterxml.jackson.core.json.ReaderBasedJsonParser.nextToken(ReaderBasedJsonParser.java:678)
    at com.fasterxml.jackson.databind.ObjectMapper._initForReading(ObjectMapper.java:2835)
    at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:2782)
    at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:1943)
    at com.datasift.client.DataSiftApiClient$1.apply(DataSiftApiClient.java:55)
    ... 28 more
interaction.content contains_any "1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1470, 1471, 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1497, 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1507, 1508, 1509, 1510, 1511, 1512, 1513, 1514, 1515, 1516, 1517, 1518, 1519, 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614, 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1470, 1471, 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1497, 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1507, 1508, 1509, 1510, 1511, 1512, 1513, 1514, 1515, 1516, 1517, 1518, 1519, 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614, 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28, A29, A30, A31, A32, A33, A34, A35, A36, A37, A38, A39, A40, A41, A42, A43, A44, A45, A46, A47, A48, A49, A50, A51, A52, A53, A54, A55, A56, A57, A58, A59, A60, A61, A62, A63, A64, A65, A66, A67, A68, A69, A70, A71, A72, A73, A74, A75, A76, A77, A78, A79, A80, A81, A82, A83, A84, A85, A86, A87, A88, A89, A90, A91, A92, A93, A94, A95, A96, A97, A98, A99, A100, A101, A102, A103, A104, A105, A106, A107, A108, A109, A110, A111, A112, A113, A114, A115, A116, A117, A118, A119, A120, A121, A122, A123, A124, A125, A126, A127, A128, A129, A130, A131, A132, A133, A134, A135, A136, A137, A138, A139, A140, A141, A142, A143, A144, A145, A146, A147, A148, A149, A150, A151, A152, A153, A154, A155, A156, A157, A158, A159, A160, A161, A162, A163, A164, A165, A166, A167, A168, A169, A170, A171, A172, A173, A174, A175, A176, A177, A178, A179, A180, A181, A182, A183, A184, A185, A186, A187, A188, A189, A190, A191, A192, A193, A194, A195, A196, A197, A198, A199, A200, A201, A202, A203, A204, A205, A206, A207, A208, A209, A210, A211, A212, A213, A214, A215, A216, A217, A218, A219, A220, A221, A222, A223, A224, A225, A226, A227, A228, A229, A230, A231, A232, A233, A234, A235, A236, A237, A238, A239, A240, A241, A242, A243, A244, A245, A246, A247, A248, A249, A250, A251, A252, A253, A254, A255, A256, A257, A258, A259, A260, A261, A262, A263, A264, A265, A266, A267, A268, A269, A270, A271, A272, A273, A274, A275, A276, A277, A278, A279, A280, A281, A282, A283, A284, A285, A286, A287, A288, A289, A290, A291, A292, A293, A294, A295, A296, A297, A298, A299, A300, A301, A302, A303, A304, A305, A306, A307, A308, A309, A310, A311, A312, A313, A314, A315, A316, A317, A318, A319, A320, A321, A322, A323, A324, A325, A326, A327, A328, A329, A330, A331, A332, A333, A334, A335, A336, A337, A338, A339, A340, A341, A342, A343, A344, A345, A346, A347, A348, A349, A350, A351, A352, A353, A354, A355, A356, A357, A358, A359, A360, A361, A362, A363, A364, A365, A366, A367, A368, A369, A370, A371, A372, A373, A374, A375, A376, A377, A378, A379, A380, A381, A382, A383, A384, A385, A386, A387, A388, A389, A390, A391, A392, A393, A394, A395, A396, A397, A398, A399, A400, A401, A402, A403, A404, A405, A406, A407, A408, A409, A410, A411, A412, A413, A414, A415, A416, A417, A418, A419, A420, A421, A422, A423, A424, A425, A426, A427, A428, A429, A430, A431, A432, A433, A434, A435, A436, A437, A438, A439, A440, A441, A442, A443, A444, A445, A446, A447, A448, A449, A450, A451, A452, A453, A454, A455, A456, A457, A458, A459, A460, A461, A462, A463, A464, A465, A466, A467, A468, A469, A470, A471, A472, A473, A474, A475, A476, A477, A478, A479, A480, A481, A482, A483, A484, A485, A486, A487, A488, A489, A490, A491, A492, A493, A494, A495, A496, A497, A498, A499, A500, A501, A502, A503, A504, A505, A506, A507, A508, A509, A510, A511, A512, A513, A514, A515, A516, A517, A518, A519, A520, A521, A522, A523, A524, A525, A526, A527, A528, A529, A530, A531, A532, A533, A534, A535, A536, A537, A538, A539, A540, A541, A542, A543, A544, A545, A546, A547, A548, A549, A550, A551, A552, A553, A554, A555, A556, A557, A558, A559, A560, A561, A562, A563, A564, A565, A566, A567, A568, A569, A570, A571, A572, A573, A574, A575, A576, A577, A578, A579, A580, A581, A582, A583, A584, A585, A586, A587, A588, A589, A590, A591, A592, A593, A594, A595, A596, A597, A598, A599, A600, A601, A602, A603, A604, A605, A606, A607, A608, A609, A610, A611, A612, A613, A614, A615, A616, A617, A618, A619, A620, A621, A622, A623, A624, A625, A626, A627, A628, A629, A630, A631, A632, A633, A634, A635, A636, A637, A638, A639, A640, A641, A642, A643, A644, A645, A646, A647, A648, A649, A650, A651, A652, A653, A654, A655, A656, A657, A658, A659, A660, A661, A662, A663, A664, A665, A666, A667, A668, A669, A670, A671, A672, A673, A674, A675, A676, A677, A678, A679, A680, A681, A682, A683, A684, A685, A686, A687, A688, A689, A690, A691, A692, A693, A694, A695, A696, A697, A698, A699, A700, A701, A702, A703, A704, A705, A706, A707, A708, A709, A710, A711, A712, A713, A714, A715, A716, A717, A718, A719, A720, A721, A722, A723, A724, A725, A726, A727, A728, A729, A730, A731, A732, A733, A734, A735, A736, A737, A738, A739, A740, A741, A742, A743, A744, A745, A746, A747, A748, A749, A750, A751, A752, A753, A754, A755, A756, A757, A758, A759, A760, A761, A762, A763, A764, A765, A766, A767, A768, A769, A770, A771, A772, A773, A774, A775, A776, A777, A778, A779, A780, A781, A782, A783, A784, A785, A786, A787, A788, A789, A790, A791, A792, A793, A794, A795, A796, A797, A798, A799, A800, A801, A802, A803, A804, A805, A806, A807, A808, A809, A810, A811, A812, A813, A814, A815, A816, A817, A818, A819, A820, A821, A822, A823, A824, A825, A826, A827, A828, A829, A830, A831, A832, A833, A834, A835, A836, A837, A838, A839, A840, A841, A842, A843, A844, A845, A846, A847, A848, A849, A850, A851, A852, A853, A854, A855, A856, A857, A858, A859, A860, A861, A862, A863, A864, A865, A866, A867, A868, A869, A870, A871, A872, A873, A874, A875, A876, A877, A878, A879, A880, A881, A882, A883, A884, A885, A886, A887, A888, A889, A890, A891, A892, A893, A894, A895, A896, A897, A898, A899, A900, A901, A902, A903, A904, A905, A906, A907, A908, A909, A910, A911, A912, A913, A914, A915, A916, A917, A918, A919, A920, A921, A922, A923, A924, A925, A926, A927, A928, A929, A930, A931, A932, A933, A934, A935, A936, A937, A938, A939, A940, A941, A942, A943, A944, A945, A946, A947, A948, A949, A950, A951, A952, A953, A954, A955, A956, A957, A958, A959, A960, A961, A962, A963, A964, A965, A966, A967, A968, A969, A970, A971, A972, A973, A974, A975, A976, A977, A978, A979, A980, A981, A982, A983, A984, A985, A986, A987, A988, A989, A990, A991, A992, A993, A994, A995, A996, A997, A998, A999, A1000, A1001, A1002, A1003, A1004, A1005, A1006, A1007, A1008, A1009, A1010, A1011, A1012, A1013, A1014, A1015, A1016, A1017, A1018, A1019, A1020, A1021, A1022, A1023, A1024, A1025, A1026, A1027, A1028, A1029, A1030, A1031, A1032, A1033, A1034, A1035, A1036, A1037, A1038, A1039, A1040, A1041, A1042, A1043, A1044, A1045, A1046, A1047, A1048, A1049, A1050, A1051, A1052, A1053, A1054, A1055, A1056, A1057, A1058, A1059, A1060, A1061, A1062, A1063, A1064, A1065, A1066, A1067, A1068, A1069, A1070, A1071, A1072, A1073, A1074, A1075, A1076, A1077, A1078, A1079, A1080, A1081, A1082, A1083, A1084, A1085, A1086, A1087, A1088, A1089, A1090, A1091, A1092, A1093, A1094, A1095, A1096, A1097, A1098, A1099, A1100, A1101, A1102, A1103, A1104, A1105, A1106, A1107, A1108, A1109, A1110, A1111, A1112, A1113, A1114, A1115, A1116, A1117, A1118, A1119, A1120, A1121, A1122, A1123, A1124, A1125, A1126, A1127, A1128, A1129, A1130, A1131, A1132, A1133, A1134, A1135, A1136, A1137, A1138, A1139, A1140, A1141, A1142, A1143, A1144, A1145, A1146, A1147, A1148, A1149, A1150, A1151, A1152, A1153, A1154, A1155, A1156, A1157, A1158, A1159, A1160, A1161, A1162, A1163, A1164, A1165, A1166, A1167, A1168, A1169, A1170, A1171, A1172, A1173, A1174, A1175, A1176, A1177, A1178, A1179, A1180, A1181, A1182, A1183, A1184, A1185, A1186, A1187, A1188, A1189, A1190, A1191, A1192, A1193, A1194, A1195, A1196, A1197, A1198, A1199, A1200, A1201, A1202, A1203, A1204, A1205, A1206, A1207, A1208, A1209, A1210, A1211, A1212, A1213, A1214, A1215, A1216, A1217, A1218, A1219, A1220, A1221, A1222, A1223, A1224, A1225, A1226, A1227, A1228, A1229, A1230, A1231, A1232, A1233, A1234, A1235, A1236, A1237, A1238, A1239, A1240, A1241, A1242, A1243, A1244, A1245, A1246, A1247, A1248, A1249, A1250, A1251, A1252, A1253, A1254, A1255, A1256, A1257, A1258, A1259, A1260, A1261, A1262, A1263, A1264, A1265, A1266, A1267, A1268, A1269, A1270, A1271, A1272, A1273, A1274, A1275, A1276, A1277, A1278, A1279, A1280, A1281, A1282, A1283, A1284, A1285, A1286, A1287, A1288, A1289, A1290, A1291, A1292, A1293, A1294, A1295, A1296, A1297, A1298, A1299, A1300, A1301, A1302, A1303, A1304, A1305, A1306, A1307, A1308, A1309, A1310, A1311, A1312, A1313, A1314, A1315, A1316, A1317, A1318, A1319, A1320, A1321, A1322, A1323, A1324, A1325, A1326, A1327, A1328, A1329, A1330, A1331, A1332, A1333, A1334, A1335, A1336, A1337, A1338, A1339, A1340, A1341, A1342, A1343, A1344, A1345, A1346, A1347, A1348, A1349, A1350, A1351, A1352, A1353, A1354, A1355, A1356, A1357, A1358, A1359, A1360, A1361, A1362, A1363, A1364, A1365, A1366, A1367, A1368, A1369, A1370, A1371, A1372, A1373, A1374, A1375, A1376, A1377, A1378, A1379, A1380, A1381, A1382, A1383, A1384, A1385, A1386, A1387, A1388, A1389, A1390, A1391, A1392, A1393, A1394, A1395, A1396, A1397, A1398, A1399, A1400, A1401, A1402, A1403, A1404, A1405, A1406, A1407, A1408, A1409, A1410, A1411, A1412, A1413, A1414, A1415, A1416, A1417, A1418, A1419, A1420, A1421, A1422, A1423, A1424, A1425, A1426, A1427, A1428, A1429, A1430, A1431, A1432, A1433, A1434, A1435, A1436, A1437, A1438, A1439, A1440, A1441, A1442, A1443, A1444, A1445, A1446, A1447, A1448, A1449, A1450, A1451, A1452, A1453, A1454, A1455, A1456, A1457, A1458, A1459, A1460, A1461, A1462, A1463, A1464, A1465, A1466, A1467, A1468, A1469, A1470, A1471, A1472, A1473, A1474, A1475, A1476, A1477, A1478, A1479, A1480, A1481, A1482, A1483, A1484, A1485, A1486, A1487, A1488, A1489, A1490, A1491, A1492, A1493, A1494, A1495, A1496, A1497, A1498, A1499, A1500, A1501, A1502, A1503, A1504, A1505, A1506, A1507, A1508, A1509, A1510, A1511, A1512, A1513, A1514, A1515, A1516, A1517, A1518, A1519, A1520, A1521, A1522, A1523, A1524, A1525, A1526, A1527, A1528, A1529, A1530, A1531, A1532, A1533, A1534, A1535, A1536, A1537, A1538, A1539, A1540, A1541, A1542, A1543, A1544, A1545, A1546, A1547, A1548, A1549, A1550, A1551, A1552, A1553, A1554, A1555, A1556, A1557, A1558, A1559, A1560, A1561, A1562, A1563, A1564, A1565, A1566, A1567, A1568, A1569, A1570, A1571, A1572, A1573, A1574, A1575, A1576, A1577, A1578, A1579, A1580, A1581, A1582, A1583, A1584, A1585, A1586, A1587, A1588, A1589, A1590, A1591, A1592, A1593, A1594, A1595, A1596, A1597, A1598, A1599, A1600, A1601, A1602, A1603, A1604, A1605, A1606, A1607, A1608, A1609, A1610, A1611, A1612, A1613, A1614, A1615, A1616, A1617, A1618, A1619, A1620, A1621, A1622, A1623, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, B13, B14, B15, B16, B17, B18, B19, B20, B21, B22, B23, B24, B25, B26, B27, B28, B29, B30, B31, B32, B33, B34, B35, B36, B37, B38, B39, B40, B41, B42, B43, B44, B45, B46, B47, B48, B49, B50, B51, B52, B53, B54, B55, B56, B57, B58, B59, B60, B61, B62, B63, B64, B65, B66, B67, B68, B69, B70, B71, B72, B73, B74, B75, B76, B77, B78, B79, B80, B81, B82, B83, B84, B85, B86, B87, B88, B89, B90, B91, B92, B93, B94, B95, B96, B97, B98, B99, B100, B101, B102, B103, B104, B105, B106, B107, B108, B109, B110, B111, B112, B113, B114, B115, B116, B117, B118, B119, B120, B121, B122, B123, B124, B125, B126, B127, B128, B129, B130, B131, B132, B133, B134, B135, B136, B137, B138, B139, B140, B141, B142, B143, B144, B145, B146, B147, B148, B149, B150, B151, B152, B153, B154, B155, B156, B157, B158, B159, B160, B161, B162, B163, B164, B165, B166, B167, B168, B169, B170, B171, B172, B173, B174, B175, B176, B177, B178, B179, B180, B181, B182, B183, B184, B185, B186, B187, B188, B189, B190, B191, B192, B193, B194, B195, B196, B197, B198, B199, B200, B201, B202, B203, B204, B205, B206, B207, B208, B209, B210, B211, B212, B213, B214, B215, B216, B217, B218, B219, B220, B221, B222, B223, B224, B225, B226, B227, B228, B229, B230, B231, B232, B233, B234, B235, B236, B237, B238, B239, B240, B241, B242, B243, B244, B245, B246, B247, B248, B249, B250, B251, B252, B253, B254, B255, B256, B257, B258, B259, B260, B261, B262, B263, B264, B265, B266, B267, B268, B269, B270, B271, B272, B273, B274, B275, B276, B277, B278, B279, B280, B281, B282, B283, B284, B285, B286, B287, B288, B289, B290, B291, B292, B293, B294, B295, B296, B297, B298, B299, B300, B301, B302, B303, B304, B305, B306, B307, B308, B309, B310, B311, B312, B313, B314, B315, B316, B317, B318, B319, B320, B321, B322, B323, B324, B325, B326, B327, B328, B329, B330, B331, B332, B333, B334, B335, B336, B337, B338, B339, B340, B341, B342, B343, B344, B345, B346, B347, B348, B349, B350, B351, B352, B353, B354, B355, B356, B357, B358, B359, B360, B361, B362, B363, B364, B365, B366, B367, B368, B369, B370, B371, B372, B373, B374, B375, B376, B377, B378, B379, B380, B381, B382, B383, B384, B385, B386, B387, B388, B389, B390, B391, B392, B393, B394, B395, B396, B397, B398, B399, B400, B401, B402, B403, B404, B405, B406, B407, B408, B409, B410, B411, B412, B413, B414, B415, B416, B417, B418, B419, B420, B421, B422, B423, B424, B425, B426, B427, B428, B429, B430, B431, B432, B433, B434, B435, B436, B437, B438, B439, B440, B441, B442, B443, B444, B445, B446, B447, B448, B449, B450, B451, B452, B453, B454, B455, B456, B457, B458, B459, B460, B461, B462, B463, B464, B465, B466, B467, B468, B469, B470, B471, B472, B473, B474, B475, B476, B477, B478, B479, B480, B481, B482, B483, B484, B485, B486, B487, B488, B489, B490, B491, B492, B493, B494, B495, B496, B497, B498, B499, B500, B501, B502, B503, B504, B505, B506, B507, B508, B509, B510, B511, B512, B513, B514, B515, B516, B517, B518, B519, B520, B521, B522, B523, B524, B525, B526, B527, B528, B529, B530, B531, B532, B533, B534, B535, B536, B537, B538, B539, B540, B541, B542, B543, B544, B545, B546, B547, B548, B549, B550, B551, B552, B553, B554, B555, B556, B557, B558, B559, B560, B561, B562, B563, B564, B565, B566, B567, B568, B569, B570, B571, B572, B573, B574, B575, B576, B577, B578, B579, B580, B581, B582, B583, B584, B585, B586, B587, B588, B589, B590, B591, B592, B593, B594, B595, B596, B597, B598, B599, B600, B601, B602, B603, B604, B605, B606, B607, B608, B609, B610, B611, B612, B613, B614, B615, B616, B617, B618, B619, B620, B621, B622, B623, B624, B625, B626, B627, B628, B629, B630, B631, B632, B633, B634, B635, B636, B637, B638, B639, B640, B641, B642, B643, B644, B645, B646, B647, B648, B649, B650, B651, B652, B653, B654, B655, B656, B657, B658, B659, B660, B661, B662, B663, B664, B665, B666, B667, B668, B669, B670, B671, B672, B673, B674, B675, B676, B677, B678, B679, B680, B681, B682, B683, B684, B685, B686, B687, B688, B689, B690, B691, B692, B693, B694, B695, B696, B697, B698, B699, B700, B701, B702, B703, B704, B705, B706, B707, B708, B709, B710, B711, B712, B713, B714, B715, B716, B717, B718, B719, B720, B721, B722, B723, B724, B725, B726, B727, B728, B729, B730, B731, B732, B733, B734, B735, B736, B737, B738, B739, B740, B741, B742, B743, B744, B745, B746, B747, B748, B749, B750, B751, B752, B753, B754, B755, B756, B757, B758, B759, B760, B761, B762, B763, B764, B765, B766, B767, B768, B769, B770, B771, B772, B773, B774, B775, B776, B777, B778, B779, B780, B781, B782, B783, B784, B785, B786, B787, B788, B789, B790, B791, B792, B793, B794, B795, B796, B797, B798, B799, B800, B801, B802, B803, B804, B805, B806, B807, B808, B809, B810, B811, B812, B813, B814, B815, B816, B817, B818, B819, B820, B821, B822, B823, B824, B825, B826, B827, B828, B829, B830, B831, B832, B833, B834, B835, B836, B837, B838, B839, B840, B841, B842, B843, B844, B845, B846, B847, B848, B849, B850, B851, B852, B853, B854, B855, B856, B857, B858, B859, B860, B861, B862, B863, B864, B865, B866, B867, B868, B869, B870, B871, B872, B873, B874, B875, B876, B877, B878, B879, B880, B881, B882, B883, B884, B885, B886, B887, B888, B889, B890, B891, B892, B893, B894, B895, B896, B897, B898, B899, B900, B901, B902, B903, B904, B905, B906, B907, B908, B909, B910, B911, B912, B913, B914, B915, B916, B917, B918, B919, B920, B921, B922, B923, B924, B925, B926, B927, B928, B929, B930, B931, B932, B933, B934, B935, B936, B937, B938, B939, B940, B941, B942, B943, B944, B945, B946, B947, B948, B949, B950, B951, B952, B953, B954, B955, B956, B957, B958, B959, B960, B961, B962, B963, B964, B965, B966, B967, B968, B969, B970, B971, B972, B973, B974, B975, B976, B977, B978, B979, B980, B981, B982, B983, B984, B985, B986, B987, B988, B989, B990, B991, B992, B993, B994, B995, B996, B997, B998, B999, B1000, B1001, B1002, B1003, B1004, B1005, B1006, B1007, B1008, B1009, B1010, B1011, B1012, B1013, B1014, B1015, B1016, B1017, B1018, B1019, B1020, B1021, B1022, B1023, B1024, B1025, B1026, B1027, B1028, B1029, B1030, B1031, B1032, B1033, B1034, B1035, B1036, B1037, B1038, B1039, B1040, B1041, B1042, B1043, B1044, B1045, B1046, B1047, B1048, B1049, B1050, B1051, B1052, B1053, B1054, B1055, B1056, B1057, B1058, B1059, B1060, B1061, B1062, B1063, B1064, B1065, B1066, B1067, B1068, B1069, B1070, B1071, B1072, B1073, B1074, B1075, B1076, B1077, B1078, B1079, B1080, B1081, B1082, B1083, B1084, B1085, B1086, B1087, B1088, B1089, B1090, B1091, B1092, B1093, B1094, B1095, B1096, B1097, B1098, B1099, B1100, B1101, B1102, B1103, B1104, B1105, B1106, B1107, B1108, B1109, B1110, B1111, B1112, B1113, B1114, B1115, B1116, B1117, B1118, B1119, B1120, B1121, B1122, B1123, B1124, B1125, B1126, B1127, B1128, B1129, B1130, B1131, B1132, B1133, B1134, B1135, B1136, B1137, B1138, B1139, B1140, B1141, B1142, B1143, B1144, B1145, B1146, B1147, B1148, B1149, B1150, B1151, B1152, B1153, B1154, B1155, B1156, B1157, B1158, B1159, B1160, B1161, B1162, B1163, B1164, B1165, B1166, B1167, B1168, B1169, B1170, B1171, B1172, B1173, B1174, B1175, B1176, B1177, B1178, B1179, B1180, B1181, B1182, B1183, B1184, B1185, B1186, B1187, B1188, B1189, B1190, B1191, B1192, B1193, B1194, B1195, B1196, B1197, B1198, B1199, B1200, B1201, B1202, B1203, B1204, B1205, B1206, B1207, B1208, B1209, B1210, B1211, B1212, B1213, B1214, B1215, B1216, B1217, B1218, B1219, B1220, B1221, B1222, B1223, B1224, B1225, B1226, B1227, B1228, B1229, B1230, B1231, B1232, B1233, B1234, B1235, B1236, B1237, B1238, B1239, B1240, B1241, B1242, B1243, B1244, B1245, B1246, B1247, B1248, B1249, B1250, B1251, B1252, B1253, B1254, B1255, B1256, B1257, B1258, B1259, B1260, B1261, B1262, B1263, B1264, B1265, B1266, B1267, B1268, B1269, B1270, B1271, B1272, B1273, B1274, B1275, B1276, B1277, B1278, B1279, B1280, B1281, B1282, B1283, B1284, B1285, B1286, B1287, B1288, B1289, B1290, B1291, B1292, B1293, B1294, B1295, B1296, B1297, B1298, B1299, B1300, B1301, B1302, B1303, B1304, B1305, B1306, B1307, B1308, B1309, B1310, B1311, B1312, B1313, B1314, B1315, B1316, B1317, B1318, B1319, B1320, B1321, B1322, B1323, B1324, B1325, B1326, B1327, B1328, B1329, B1330, B1331, B1332, B1333, B1334, B1335, B1336, B1337, B1338, B1339, B1340, B1341, B1342, B1343, B1344, B1345, B1346, B1347, B1348, B1349, B1350, B1351, B1352, B1353, B1354, B1355, B1356, B1357, B1358, B1359, B1360, B1361, B1362, B1363, B1364, B1365, B1366, B1367, B1368, B1369, B1370, B1371, B1372, B1373, B1374, B1375, B1376, B1377, B1378, B1379, B1380, B1381, B1382, B1383, B1384, B1385, B1386, B1387, B1388, B1389, B1390, B1391, B1392, B1393, B1394, B1395, B1396, B1397, B1398, B1399, B1400, B1401, B1402, B1403, B1404, B1405, B1406, B1407, B1408, B1409, B1410, B1411, B1412, B1413, B1414, B1415, B1416, B1417, B1418, B1419, B1420, B1421, B1422, B1423, B1424, B1425, B1426, B1427, B1428, B1429, B1430, B1431, B1432, B1433, B1434, B1435, B1436, B1437, B1438, B1439, B1440, B1441, B1442, B1443, B1444, B1445, B1446, B1447, B1448, B1449, B1450, B1451, B1452, B1453, B1454, B1455, B1456, B1457, B1458, B1459, B1460, B1461, B1462, B1463, B1464, B1465, B1466, B1467, B1468, B1469, B1470, B1471, B1472, B1473, B1474, B1475, B1476, B1477, B1478, B1479, B1480, B1481, B1482, B1483, B1484, B1485, B1486, B1487, B1488, B1489, B1490, B1491, B1492, B1493, B1494, B1495, B1496, B1497, B1498, B1499, B1500, B1501, B1502, B1503, B1504, B1505, B1506, B1507, B1508, B1509, B1510, B1511, B1512, B1513, B1514, B1515, B1516, B1517, B1518, B1519, B1520, B1521, B1522, B1523, B1524, B1525, B1526, B1527, B1528, B1529, B1530, B1531, B1532, B1533, B1534, B1535, B1536, B1537, B1538, B1539, B1540, B1541, B1542, B1543, B1544, B1545, B1546, B1547, B1548, B1549, B1550, B1551, B1552, B1553, B1554, B1555, B1556, B1557, B1558, B1559, B1560, B1561, B1562, B1563, B1564, B1565, B1566, B1567, B1568, B1569, B1570, B1571, B1572, B1573, B1574, B1575, B1576, B1577, B1578, B1579, B1580, B1581, B1582, B1583, B1584, B1585, B1586, B1587, B1588, B1589, B1590, B1591, B1592, B1593, B1594, B1595, B1596, B1597, B1598, B1599, B1600, B1601, B1602, B1603, B1604, B1605, B1606, B1607, B1608, B1609, B1610, B1611, B1612, B1613, B1614, B1615, B1616, B1617, B1618, B1619, B1620, B1621, B1622, B1623, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19, C20, C21, C22, C23, C24, C25, C26, C27, C28, C29, C30, C31, C32, C33, C34, C35, C36, C37, C38, C39, C40, C41, C42, C43, C44, C45, C46, C47, C48, C49, C50, C51, C52, C53, C54, C55, C56, C57, C58, C59, C60, C61, C62, C63, C64, C65, C66, C67, C68, C69, C70, C71, C72, C73, C74, C75, C76, C77, C78, C79, C80, C81, C82, C83, C84, C85, C86, C87, C88, C89, C90, C91, C92, C93, C94, C95, C96, C97, C98, C99, C100, C101, C102, C103, C104, C105, C106, C107, C108, C109, C110, C111, C112, C113, C114, C115, C116, C117, C118, C119, C120, C121, C122, C123, C124, C125, C126, C127, C128, C129, C130, C131, C132, C133, C134, C135, C136, C137, C138, C139, C140, C141, C142, C143, C144, C145, C146, C147, C148, C149, C150, C151, C152, C153, C154, C155, C156, C157, C158, C159, C160, C161, C162, C163, C164, C165, C166, C167, C168, C169, C170, C171, C172, C173, C174, C175, C176, C177, C178, C179, C180, C181, C182, C183, C184, C185, C186, C187, C188, C189, C190, C191, C192, C193, C194, C195, C196, C197, C198, C199, C200, C201, C202, C203, C204, C205, C206, C207, C208, C209, C210, C211, C212, C213, C214, C215, C216, C217, C218, C219, C220, C221, C222, C223, C224, C225, C226, C227, C228, C229, C230, C231, C232, C233, C234, C235, C236, C237, C238, C239, C240, C241, C242, C243, C244, C245, C246, C247, C248, C249, C250, C251, C252, C253, C254, C255, C256, C257, C258, C259, C260, C261, C262, C263, C264, C265, C266, C267, C268, C269, C270, C271, C272, C273, C274, C275, C276, C277, C278, C279, C280, C281, C282, C283, C284, C285, C286, C287, C288, C289, C290, C291, C292, C293, C294, C295, C296, C297, C298, C299, C300, C301, C302, C303, C304, C305, C306, C307, C308, C309, C310, C311, C312, C313, C314, C315, C316, C317, C318, C319, C320"

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.