def make_bruteforce_match(password, i, j, bruteforce_cardinality)
      Match.new(
        :pattern => 'bruteforce',
        :i => i,
        :j => j,
        :token => password[i..j],
        :entropy => lg(bruteforce_cardinality ** (j - i + 1)),
        :cardinality => bruteforce_cardinality
      )
    end
def make_bruteforce_match(password, i, j, bruteforce_cardinality)
      Match.new(
        :pattern => 'bruteforce',
        :i => i,
        :j => j,
        :token => password[i..j],
        :entropy => lg(bruteforce_cardinality ** (j - i + 1)),
        :cardinality => bruteforce_cardinality
      )
    end
fill in the blanks between pattern matches with bruteforce "matches"
 that way the match sequence fully covers the password:
 match1.j == match2.i - 1 for every adjacent match1, match2.