def METHOD_NAME( tech):
    triples = zip( vias,metals[:-1],metals[1:])
    mts = { mt['name'] : mt for mt in tech['metalTemplates']}
    widths = {}
    spaces = {}
    for (nm,mt) in mts.items():
        ly = mt['layer']
        if ly not in widths: widths[ly] = set()
        widths[ly] = widths[ly].union( set(mt['widths']))
        if ly not in spaces: spaces[ly] = set()
        spaces[ly] = spaces[ly].union( set(mt['spaces']))
    print( widths)
    print( spaces)
    with open( "car_generators.txt", "wt") as fp:
        for (v,l,u) in triples:
            l_space = min(spaces[l])
            u_space = min(spaces[u])
            for l_width in widths[l]:
                for u_width in widths[u]:
                    fp.write( generateVia( tech, v, l, u, l_width, u_width, l_space, u_space))
    with open( "arch.txt", "wt") as fp:
        fp.write( """Option name=gr_region_width_in_poly_pitches value={0}