import re
from six import print_

valgrind_log = open('log','r').read()

inblock = False
l = 0
i = 0
keep = dict()

limit_re = r'type'

for line in valgrind_log.splitlines():
    if line.startswith('{'):
        inblock = True
        block = []
        continue
    if line.startswith('}'):
        inblock = False
        l = 0
        i += 1
        ok = False
        name = ""
        for x in block[2:]:
            name = name + x
            if re.search(limit_re, x):
                ok = True
                break
        if ok:
            keep[name] = block
        continue
    if inblock:
        block.append(line)
i = 43
for x in keep:
    block = keep[x]
    print_("{")
    print_("   suppression", i)
    for x in block[1:]:
        print_(x)
        if re.search(limit_re, x):
            break
    print_('}')
    i += 1
