input: Write a Python function to implement a basic hash table with insert, delete, and search operations.
  assert hashtable_insert(hash_table, "key1", "value1") == None
  assert hashtable_search(hash_table, "key1") == "value1"
  assert hashtable_delete(hash_table, "key1") == "value1"
  assert hashtable_search(hash_table, "key1") == None
output: def hashtable_insert(hash_table, key, value):
      hash_table[key] = value
  
  def hashtable_search(hash_table, key):
      return hash_table.get(key, None)
  
  def hashtable_delete(hash_table, key):
      return hash_table.pop(key, None)
  
  # Example usage:
  hash_table = {}
  hashtable_insert(hash_table, "key1", "value1")
  assert hashtable_insert(hash_table, "key1", "value1") == None
  assert hashtable_search(hash_table, "key1") == "value1"
  assert hashtable_delete(hash_table, "key1") == "value1"
  assert hashtable_search(hash_table, "key1") == None