<% sprintf("<b>%0#8X</b><br>", $flags) %>
<% join($sep, @match) %>

<%once>
my %named_bits = (
    DIFF_WITH_SINGLE => 0x0000_0001,
    DIFF_WITH_DOUBLE => 0x0000_0002,
    MATCHED => 0x0000_0004,
    ON_SPIKE => 0x0000_0008,
    ON_STARCORE => 0x0000_0010,
    ON_BURNTOOL => 0x0000_0020,
    ON_CONVPOOR => 0x0000_0040,
    PASS1_SRC => 0x0000_0080,
    HAS_BRIGHTER_NEIGHBOR => 0x0000_0100,
    BRIGHT_NEIGHBOR_1 => 0x0000_0200,
    BRIGHT_NEIGHBOR_10 => 0x0000_0400,
    DIFF_SELF_MATCH => 0x0000_0800,
);

my @sorted = qw(
    DIFF_WITH_SINGLE
    DIFF_WITH_DOUBLE
    MATCHED
    ON_SPIKE
    ON_STARCORE
    ON_BURNTOOL
    ON_CONVPOOR
    PASS1_SRC
    HAS_BRIGHTER_NEIGHBOR
    BRIGHT_NEIGHBOR_1
    BRIGHT_NEIGHBOR_10
    DIFF_SELF_MATCH
);
</%once>

<%args>
$flags
$sep => ' '
</%args>

<%init>
# Convert a flags bitmask to a string showing the representation of the flags.
my @match;
foreach my $k (@sorted) {
    if ($flags & $named_bits{$k}) {
        push @match, $k;
    }
}
</%init>
