code: def main() -> None:
      print("\nHAGrid Windows Dependency Installer")
      print("===================================\n")
      print("Searching your computer for:")
      missing_deps = check_all(requirements=requirements)
  
      if len(missing_deps) > 0:
          print("\nWe were unable to find the following dependencies:")
          print("-----------------------------------")
          for dep in missing_deps:
              print(f"{dep.full_name}")
  
      print("")
      desired = []
      choco_required = False
      wsl2_required = False
      for dep in missing_deps:
          if ask_install(dep):
              if dep.choco_name == "choco":
                  choco_required = True
              elif dep.choco_name == "wsl2":
                  wsl2_required = True
              else:
                  desired.append(dep)
          elif dep.choco_name == "choco":
              print(
                  "You must install Chocolatey to install other dependencies"
              )
              return
  
      if wsl2_required:
          install_wsl2()
  
      if choco_required:
          install_choco()
  
      if len(desired) > 0:
          install_deps(desired)
  
      print("")
      still_missing = check_all(requirements=missing_deps)
      if len(still_missing) > 0:
          print(
              "We were still unable to find the following dependencies:"
          )
          print("-----------------------------------")
          for dep in still_missing:
              print(f"{dep.full_name}")
          print("Please try again.")
      else:
          print("\nCongratulations. All done.")
          print("===================================\n")
          print("Now you can run HAGrid on Windows!")
  
file_path: PySyft/packages/hagrid/hagrid/win_bootstrap.py
imports: import subprocess
  from typing import Callable
  from typing import List
label_desc: Use image node_id 13 for calling a global function with example usage: main() without return types