def decode_feedback(binary_tuples):
 fmt = '!lh32s'
 size = struct.calcsize(fmt)
 with StringIO(binary_tuples) as f:
  return [(datetime.datetime.fromtimestamp(ts), binascii.hexlify(tok)) for (ts, toklen, tok) in (struct.unpack(fmt, tup) for tup in iter((lambda : f.read(size)), ''))]

def decode_feedback ( binary_tuples ) : fmt = '!lh32s' size = struct . calcsize ( fmt ) with StringIO ( binary_tuples ) as f : return [ ( datetime . datetime . fromtimestamp ( ts ) , binascii . hexlify ( tok ) ) for ( ts , toklen , tok ) in ( struct . unpack ( fmt , tup ) for tup in iter ( ( lambda : f . read ( size ) ) , '' ) ) ]
returns a list of tuples in format binary_tuples the binary-encoded feedback tuples .