Êþº¾7Í 9ä åæ -ç èé -êë äì íî ï -ð -ñò óô õö ó÷ø ù úû üý pþ óÿ ó å è  ° ° ó ó   ó  ó ó -›  - - -  ó è!" ó#$%& '()* -+, ó-. è/01 ó2 l34 ó5 67 å8 Qï9 l: l;<= -> -? Q -@ABC åDE åF èGH IJKL QM åN QO åPQ åR åS QTU QVÔWX YZ [\ l]^ å_ å` ab -cg hijSTATUS_EVENT_TYPE_PROPERTYLjava/lang/String; ConstantValueSTATUS_CONNECTED_VALUESTATUS_DISCONNECTED_VALUE KINESIS_INFO#KINESIS_INFO_PARTITION_KEY_PROPERTYKINESIS_INFO_DATAloggerLorg/slf4j/Logger;config!Lpl/ttpsc/module/AppConfigModule;redisLpl/ttpsc/module/RedisModule;()VCodeLineNumberTableLocalVariableTablethisLpl/ttpsc/MessageRouterLambda; handleRequest~(Lcom/amazonaws/services/lambda/runtime/events/KinesisEvent;Lcom/amazonaws/services/lambda/runtime/Context;)Ljava/lang/String; kinesisInfo)Lcom/fasterxml/jackson/databind/JsonNode;partitionKeyNode partitionKeypayloadeLjava/lang/Exception; recordNode recordIndexImapper-Lcom/fasterxml/jackson/databind/ObjectMapper;rootNoderecordsArrayNode recordCount everythingOkZ$exLjava/lang/Throwable; kinesisEvent;Lcom/amazonaws/services/lambda/runtime/events/KinesisEvent;context/Lcom/amazonaws/services/lambda/runtime/Context; StackMapTablekl handleMessage@(ZILjava/lang/String;Lcom/fasterxml/jackson/databind/JsonNode;)ZstatusFromPayloadNode redisPayload statusToSendstatusFromPayload payloadJson finalJson0Lcom/fasterxml/jackson/databind/node/ObjectNode; topicNodetopicclientId deviceDataisStatusMessagechooseStatusMessage&(Ljava/lang/String;)Ljava/lang/String;returnedStatussendMessageToInstance9(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V messagesSentJprepareJsonToSend(ZLcom/fasterxml/jackson/databind/JsonNode;Lcom/fasterxml/jackson/databind/node/ObjectNode;Ljava/lang/String;Ljava/lang/String;)V payloadJSON finalJSONgetKinesisNodeFromJsonRowT(Lcom/fasterxml/jackson/databind/JsonNode;)Lcom/fasterxml/jackson/databind/JsonNode;record kinesisNodegetPayloadNodeFromKinesisNodedecodedDataBytes[B decodedDatadataNodekinesis payloadNodedoesntHaveValue(Ljava/lang/String;)ZsthisIsStatusMessage,(Lcom/fasterxml/jackson/databind/JsonNode;)ZtypeIndicatorNodethisIsNodeWithValuenodeU(Ljava/lang/Object;Lcom/amazonaws/services/lambda/runtime/Context;)Ljava/lang/Object; Signature—Ljava/lang/Object;Lcom/amazonaws/services/lambda/runtime/RequestHandler; SourceFileMessageRouterLambda.java m no ‹Œp nq Ž+com/fasterxml/jackson/databind/ObjectMapper'com/fasterxml/jackson/databind/JsonNode rsrecords tu ÜÚ ‰Š#Lambda triggered without 'records'!v wxy z{ |}java/lang/Exception ~ x?Lambda triggered with 'records', but 'records' is not an array! €2Kinesis Event: {} records in the batch (version 6) z‚ ƒx „…*Lambda triggered with empty records array! †‡ ˆ×Can't connect to redis ‰Š ‹x Œ?======================== BEGIN MESSAGE ======================== Žx }One record from Kinesis: {} ‡ …)Record {} from the Kinesis batch is empty ‘x ’… ËÌ=Record {} from the Kinesis batch has no specific Kinesis infopl/ttpsc/MessageRouterLambda5Record {} from the Kinesis batch has no partition key “‡partitionKey=[{}] ÏÌKinesis data payload: {}$Row {} from the batch has no payload ÙÚ ²³?========================== END MESSAGE ========================*Row {} from the batch throws exception: {}java/lang/Object ”‡ |• –"Kinesis Event handled successfully „}200 OK0Kinesis Event handled with lambda internal errorjava/lang/Throwable— ˜™--> This is a status message$--> This is a device metrics message Ö×9Row {} from the batch with payload [ {} ] has no clientId ’• šÁKRow {} from the batch witch clientId={}, this key is reserved in the redis.CRow {} from the batch: clientId={}, payload={}, Redis deviceData={} • ›x.Data from not registered device [{}] - ignored |… œu.com/fasterxml/jackson/databind/node/ObjectNode ‡gData get from redis related to clientId={} (record {} from kinesis) has no topic to send data - ignored ž‡ Ÿ  eventTypeWStatus message for the clientId={} (record {} from kinesis) has no event type - ignored ÀÁ ÇÈ ÃÄHDevice with clientId={} has message with unsupperted status {} - ignoredIDevice with clientId={} has no topic/instance to handle message - ignored connected ¡‡ disconnected ¢‡ £¤Device {} sends payload to topic {}, but it has {} subscribers §u ¨‡ ©ª «‡java/lang/String ¬‡ ­‡ ®¯java/lang/Integer ©°*Message from Kinesis get data from row: {}data± ²µ¶ ·¸ ¹.Message from Kinesis get payload exception: {} º‡ »‡ ¼x9com/amazonaws/services/lambda/runtime/events/KinesisEvent –—BootstrapMethods½¾ ¿ÀÁ ÂÃ4com/amazonaws/services/lambda/runtime/RequestHandlerjava/util/Iterator-com/amazonaws/services/lambda/runtime/Contextpl/ttpsc/module/AppConfigModule getInstance#()Lpl/ttpsc/module/AppConfigModule;pl/ttpsc/module/RedisModule()Lpl/ttpsc/module/RedisModule; convertValue7(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;path=(Ljava/lang/String;)Lcom/fasterxml/jackson/databind/JsonNode;org/slf4j/LoggerisErrorEnabled()Zjava/lang/BooleanvalueOf(Z)Ljava/lang/Boolean;error'(Ljava/lang/String;Ljava/lang/Object;)V(Ljava/lang/String;)VisArraysize()I(I)Ljava/lang/Integer; isInfoEnabledinfo9(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)VgetRedisConfigurationEndpoint()Ljava/lang/String;connectiterator()Ljava/util/Iterator;hasNextnext()Ljava/lang/Object;isDebugEnableddebugtoString isWarnEnabledwarnasText getMessage((Ljava/lang/String;[Ljava/lang/Object;)V disconnect lombok/Lombok sneakyThrow3(Ljava/lang/Throwable;)Ljava/lang/RuntimeException; getStringisEmptyreadTreegetInstanceIndicatortrimequals(Ljava/lang/Object;)Z!getThingConnectionStatusConnected$getThingConnectionStatusDisconnectedsendStringToTopic'(Ljava/lang/String;Ljava/lang/String;)Jjava/lang/Long(J)Ljava/lang/Long;removegetThingNameIndicatorputV(Ljava/lang/String;Ljava/lang/String;)Lcom/fasterxml/jackson/databind/node/ObjectNode;!getThingTelemetryPayloadIndicatorgetThingStatusIndicatorgetThingModelIndicatorsetf(Ljava/lang/String;Lcom/fasterxml/jackson/databind/JsonNode;)Lcom/fasterxml/jackson/databind/JsonNode;W(Ljava/lang/String;Ljava/lang/Integer;)Lcom/fasterxml/jackson/databind/node/ObjectNode;java/util/Base64 getDecoderDecoder InnerClasses()Ljava/util/Base64$Decoder;java/util/Base64$Decoderdecode(Ljava/lang/String;)[B([B)V#getClientStatusMessageIndicatorName$getClientStatusMessageIndicatorValue isMissingNode ÄÅ::LAMBDA_BODYmakeConcatWithConstants%(Ljava/lang/Class;)Ljava/lang/String;org/slf4j/LoggerFactory getLogger&(Ljava/lang/String;)Lorg/slf4j/Logger;Æ ¿É$java/lang/invoke/StringConcatFactoryËLookup˜(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;Ì%java/lang/invoke/MethodHandles$Lookupjava/lang/invoke/MethodHandles!-9€ ‚ƒW„‚ƒ_…‚ƒa†‚ƒr‡‚ƒ.ˆ‚ƒt‰Š‹ŒŽ ‘E*·*¸µ*¸µ±’$ %“ ”•–—‘z¹»Y·N-+¶ À: ¶ :*¶ š"² ² ¹¸¹»Y·¿¶š"² ² ¹¸¹»Y·¿¶6² ¸² ¹¸¹š"² ² ¹¸¹»Y·¿*´*´¶¶š"² ² ¹¸¹»Y·¿66¶:  ¹ ™„ ¹!À: ² "² ¹#¸¹$„² % ¶&² ¹#¸¹'* ¶ š ² (¸² ¹)¸¹*§ÿ•* ¶+: * ¶ š ² ,¸² ¹)¸¹*§ÿg .¶ : * ¶ š ² /¸² ¹)¸¹*§ÿ8 ¶0: ² 1 ² ¹#¸¹'* ¶2:² 3² ¹#¸¹'*¶ š ² 4¸² ¹)¸¹*§þÕ**¶5 ¶6W² 7² ¹#¸¹$§4: 6² 8½9Y¸SY ¶:SY² ¹¸S¹;§þx*´¶<§:*´¶<¿™² =² ¹¸¹>?°»Y@·¿N-¿ YE\‡EжE¹EBEäyƒƒ…ƒ«¶A¬¶¶A¯{þE&üD/þ °ümü-ü.ýblÿ( -|±°ú0ùIA ÿ -|±A’>O,-/0&1;2E4M5U6]5b7l:s;€<ˆ;>’?§@±DÂE×FáIäMçNQ RQSU)V1U6X?YLZTYY[\_d`matb‚a‡cŠg“iœj£k±j¶l¹nÀo×rßsétñsöuÿv wvx|-~5=~B…EG‚Jƒ_„qƒv†yˆ€‰ƒˆŒ‰‹”Œ©¬¶'“¢dÞ˜™ “¯š™ À‚›‚ ßcœ™G/ž rŸ™ ç’ ¡®¢£¢¤™™¥™sC¦¡äÒ§¨·©ª¹”•¹«¬¹­®²³‘Ï=™² C² ¹#¸¹$§² D² ¹#¸¹$-:*¶E™-² F½9Y¸SYSY² ¹)¸S¹G¬H:*´¶I:§-:² J½9Y¸SYSY² ¹¸S¹;² K½9Y¸SYSYSYSY² ¹#¸S¹LÆ ¶M™² N² ¹¸¹O§=»Y·::š:¶PÀQ:  *´¶R¶S: * ¶ š-² T½9YSY¸SY² ¹¸S¹;¬ ¶0:  ƹH ¶U¶Vš¬: H: ™NW¶ :*¶ š-² X½9YSY¸SY² ¹¸S¹;¬¶0: * ¶Y: ™ Æ$*  ¶Z ¶[:* ¶\§)² ]½9YSY SY² ¹¸S¹;§² ^² ¹¸¹O¬:¿kvyf8Ag\8A]¼8A½78A¯ ü5lÿ-lll)>ýýLQÿ_-lllQlllú ù%ÿ-lllÿ-lA’ö=™šœ1Ÿ4¢=£I¤`£e¥g©k«v°y¬{­‡¯ž­£±¯²Ð±Õ´âµì¶ôµü¹¼½ ¾ÀÂ*Ã3ÄDÇVÄ[È]ÊdÌvÎyÏ}ÑҊӓԤ׶ԻؽÚÄÜÌáÕäâæéçóéöêìêîï)ñ1ï6ô8”“¶{(žŠB´™é µ‚y£¶‚ }Ÿ·‚ 1¢£.¸™¹º * »™ dÒ¼‚ 4½‚k;‚:©ª=”•=¿¨= ¡=›‚=œ™ÀÁ‘‡&M_+¶V™ *´¶`Ma+¶V™ *´¶bM,°¯ ül’úû üÿ$“ &”•&·‚$‚ÃÄ‘,*´,-¶c7² d½9Y+SY,SY¸eSY-SY² ¹#¸S¹L ”š*² f½9Y+SY,SY² ¹¸S¹;§6 ”ž/² g½9Y+SY,SY¸eSY² ¹¸S¹;±¯üi2’6   6 ;BXaip…—œ“4”•½‚¼‚µ‚ ’ÅÆÇÈ‘òj-*´¶R¶hW-*´¶i¶jW™1-*´¶kÀl¶jW-*´¶m¶jW-*´¶n¶oW§ -*´¶k,¶oW-*´¶mÀp¶qW±¯ûL’& # $%&.'<(L*Y+i-“>j”•j¿¨jÉ™jʺj¶‚j½‚ËÌ‘°(M+r¶ M§N² s-¶:² ¹¸¹O,° ¯ÿ -’"02 6 3 45!4&7“* ž(”•(Í™&ΙÏÌ‘XM+t¶ N*-¶ ™+¸u-¶0¶v:»lY·w:»Y·:¶PM§N² x-¶:² ¹¸¹O,°9<¯ ü9B’6 =? @AB(C1D9I<F=GIHQGVJ“RÐÑ(Ò‚1¢£ 0Ó™=žX”•XÔ™VÕ™Öב[+Æ+¶Mš +¶U¶M™§¬¯@’N“”•Ø‚ÙÚ‘‰++*´¶y¶ M*,¶ ™*´¶z,¶0¶V™§¬¯ ü)@’R STU*S“ +”•+œ™ Û™ÜÚ‘P+Æ+¶{𧬝@’Y“”•Ý™A–Þ‘4 *+À|,¶}°’“  ”•ß‘&-º~¸³ ±’!´[Y³ ÇÊÈàáâãdef