STM32 Bootloader - what is the best package and what is required to support it?

I have been trying to find a bootloader to support standard uploading from Arduino.

There appear to be at least 2 major variants. There is a set of bootloaders that are about 7+ kilobytes and a set that are 20+ kilobytes. What is the difference?

There are a set that are labeled generic_boot20_pc13 and set that are labeled gd32f1_generic_boot20_pc13.bin. What is the difference?

Finally there are upload format types: DFU, HID, and STxxx. These all appear to be special formats. Is there a bootloader that supports standard Arduino uploads?

What packages are required and how are the loaded to support DFU format?

What packages are required and how are the loaded to support HID format?

What packages are required and how are the loaded to support STxxx format?

Thank you, Dan

HID is not an upload format. It's a USB interface function (Human Interface Device).

There are 6 options that show up on the upload menu:

STM
Serial
STLink
BMP
Jlink
HID

HID is apparently also an upload protocol.

The bootloader that is recognized by the system is the Maple bootloader. It uses DFU. I have no idea how to make that option available?