code: def iter_chunks(chunk_size, iterator):
      "Yield from an iterator in chunks of chunk_size."
      iterator = iter(iterator)
      while True:
          next_chunk = _take_n(chunk_size, iterator)
          # If len(iterable) % chunk_size == 0, don't return an empty chunk.
          if next_chunk:
              yield next_chunk
          else:
              breaf iter_chunks(chunk_size, iterator):
      "Yield from an iterator in chunks of chunk_size."
      iterator = iter(iterator)
      while True:
          next_chunk = _take_n(chunk_size, iterator)
          # If len(iterable) % chunk_size == 0, don't return an empty chunk.
          if next_chunk:
              yield next_chunk
          else:
              break
docs: Yield from an iterator in chunks of chunk_size.