code: def extract_named_entities(text_blocks):
      
      sentences = []
      for text in text_blocks:
          sentences.extend(nltk.sent_tokenize(text))
  
      tokenized_sentences = [nltk.word_tokenize(sentence) for sentence in sentences]
      tagged_sentences = [nltk.pos_tag(sentence) for sentence in tokenized_sentences]
      chunked_sentences = nltk.ne_chunk_sents(tagged_sentences, binary=True)
  
      def extract_entity_names(t):
          entity_names = []
  
          if hasattr(t, 'label'):
              if t.label() == 'NE':
                  entity_names.append(' '.join([child[0] for child in t]))
              else:
                  for child in t:
                      entity_names.extend(extract_entity_names(child))
  
          return entity_names
  
      entity_names = []
      for tree in chunked_sentences:
          entity_names.extend(extract_entity_names(tree))
  
      return set(entity_names)
docs: Return a list of named entities extracted from provided text blocks (list of text strings).