code: def zero_pad(fp, data_size, pad_size):
      # type: (BinaryIO, int, int) -> None
      '''
      A function to write padding out from data_size up to pad_size
      efficiently.
  
      Parameters:
       fp - The file object to use to write padding out to.
       data_size - The current size of the data.
       pad_size - The boundary size of data to pad out to.
      Returns:
       Nothing.
      '''
      padbytes = pad_size - (data_size % pad_size)
      if padbytes == pad_size:
          # Nothing to pad, get out.
          return
  
      fp.seek(padbytes - 1, os.SEEK_CUR)
      fp.write(b'\x00'f zero_pad(fp, data_size, pad_size):
      # type: (BinaryIO, int, int) -> None
      '''
      A function to write padding out from data_size up to pad_size
      efficiently.
  
      Parameters:
       fp - The file object to use to write padding out to.
       data_size - The current size of the data.
       pad_size - The boundary size of data to pad out to.
      Returns:
       Nothing.
      '''
      padbytes = pad_size - (data_size % pad_size)
      if padbytes == pad_size:
          # Nothing to pad, get out.
          return
  
      fp.seek(padbytes - 1, os.SEEK_CUR)
      fp.write(b'\x00')
docs: A function to write padding out from data_size up to pad_size
      efficiently.
  
      Parameters:
       fp - The file object to use to write padding out to.
       data_size - The current size of the data.
       pad_size - The boundary size of data to pad out to.
      Returns:
       Nothing.