hunk.code_window:     } else if (ChannelStore.getCurrentId() === msg.broadcast.channel_id) {
           getChannelStats(ChannelStore.getCurrentId())(dispatch, getState);
       }
   }
   function handleUserUpdatedEvent(msg) {
       const user = msg.data.user;
       if (UserStore.getCurrentId() !== user.id) {
  
hunk.labels: keep keep keep keep add keep keep keep
hunk.after_edit: function handleChannelUpdatedEvent(msg) {
       const channel = JSON.parse(msg.data.channel);
       dispatch({type: ChannelTypes.RECEIVED_CHANNEL, data: channel});
   }
  
hunk.file_path: webapp/actions/websocket_actions.jsx
hunk.type: add
file: package dns
  
  // StringToType is the reverse of TypeToString, needed for string parsing.
  var StringToType = reverseInt16(TypeToString)
  
  // StringToClass is the reverse of ClassToString, needed for string parsing.
  var StringToClass = reverseInt16(ClassToString)
  
  // StringToOpcode is a map of opcodes to strings.
  var StringToOpcode = reverseInt(OpcodeToString)
  
  // StringToRcode is a map of rcodes to strings.
  var StringToRcode = reverseInt(RcodeToString)
  
  // Reverse a map
  func reverseInt8(m map[uint8]string) map[string]uint8 {
  	n := make(map[string]uint8, len(m))
  	for u, s := range m {
  		n[s] = u
  	}
  	return n
  }
  
  func reverseInt16(m map[uint16]string) map[string]uint16 {
  	n := make(map[string]uint16, len(m))
  	for u, s := range m {
  		n[s] = u
  	}
  	return n
  }
  
  func reverseInt(m map[int]string) map[string]int {
  	n := make(map[string]int, len(m))
  	for u, s := range m {
  		n[s] = u
  	}
  	return n
  }
  