input: Write a function to generate n-grams of the given text with a specified window size and return the count of each n-gram using the Counter object from the collections module. The function should convert the text to lowercase and split it into individual words before generating the n-grams. If the window size is greater than the length of the text, the function should return an empty Counter.
  
  
  def generate_ngrams(text, window_size):
  
  
  assert generate_ngrams("The quick brown fox jumps over the lazy dog", 3) == Counter({'the quick brown': 1, 'quick brown fox': 1, 'brown fox jumps': 1, 'fox jumps over': 1, 'jumps over the': 1, 'over the lazy': 1, 'the lazy dog': 1})
  
  assert generate_ngrams("The quick brown fox", 4) == Counter({'the quick brown fox': 1})
  
  assert generate_ngrams("The quick brown fox", 5) == Counter()
  
  assert generate_ngrams("", 3) == Counter()
output: def generate_ngrams(text, window_size):
      from collections import Counter
      words = text.lower().split()
      if window_size > len(words):
          return Counter()
      ngrams = [' '.join(words[i:i+window_size]) for i in range(len(words) - window_size + 1)]
      return Counter(ngrams)