code: def num_available_breakpoints(self, arm=False, thumb=False, ram=False, flash=False, hw=False):
          
          flags = [
              enums.JLinkBreakpoint.ARM,
              enums.JLinkBreakpoint.THUMB,
              enums.JLinkBreakpoint.SW_RAM,
              enums.JLinkBreakpoint.SW_FLASH,
              enums.JLinkBreakpoint.HW
          ]
  
          set_flags = [
              arm,
              thumb,
              ram,
              flash,
              hw
          ]
  
          if not any(set_flags):
              flags = enums.JLinkBreakpoint.ANY
          else:
              flags = list(f for i, f in enumerate(flags) if set_flags[i])
              flags = functools.reduce(operator.__or__, flags, 0)
  
          return self._dll.JLINKARM_GetNumBPUnits(flags)
docs: Returns the number of available breakpoints of the specified type.
  
          If ``arm`` is set, gets the number of available ARM breakpoint units.
          If ``thumb`` is set, gets the number of available THUMB breakpoint
          units.  If ``ram`` is set, gets the number of available software RAM
          breakpoint units.  If ``flash`` is set, gets the number of available
          software flash breakpoint units.  If ``hw`` is set, gets the number of
          available hardware breakpoint units.
  
          If a combination of the flags is given, then
          ``num_available_breakpoints()`` returns the number of breakpoints
          specified by the given flags.  If no flags are specified, then the
          count of available breakpoint units is returned.
  
          Args:
            self (JLink): the ``JLink`` instance
            arm (bool): Boolean indicating to get number of ARM breakpoints.
            thumb (bool): Boolean indicating to get number of THUMB breakpoints.
            ram (bool): Boolean indicating to get number of SW RAM breakpoints.
            flash (bool): Boolean indicating to get number of Flash breakpoints.
            hw (bool): Boolean indicating to get number of Hardware breakpoints.
  
          Returns:
            The number of available breakpoint units of the specified type.