anchor.diff:        var text = e.originalEvent.clipboardData.getData('text/plain');
   
         var results = self.parseTabbedString(text);
  +      if (results === false) return;
  +
         var topics = results.topics;
         var synapses = results.synapses;
   
  
positive.code:  * Example tab-separated input:
   * Some fields will be ignored
   *
   * id	name	metacode	desc	link	user.name	permission	synapses		
   * 1	topic1	Catalyst			admin	commons	1->7		
   * 2	topic2	Event			admin	commons			
   * 5	topic	Action			admin	commons			
   * 6	topic6	Action			admin	commons	6->7		
   * 7	topic7	Action			admin	commons	7->8	 7<-6	 7<-1
   * 8	topic8	Action			admin	commons	8<-7		
   */
  
  Metamaps.Import = {
    topicWhitelist: [
      'name', 'metacode', 'description', 'link', 'permission'
  	],
    synapseWhitelist: [
      'desc', 'description', 'category', 'topic1', 'topic2', 'permission'
    ],
  
negative.code: 
          case STATES.SYNAPSES_NEED_HEADERS:
            if (noblanks.length < 2) {
              self.abort("Not enough synapse headers on line " + index);
              state = STATES.ABORT;
            }
            synapseHeaders = line.map(function(header, index) {
              return header.toLowerCase().replace('description', 'desc');
  