def METHOD_NAME(attrs, key=None, norm_length=2):
    attr = attrs if key is None else attrs[key]
    if isinstance(attr, int) or isinstance(attr, float):
        return [attr] * norm_length
    assert isinstance(attr, list) and len(attr) % 2 == 0
    attr = np.array(attr).reshape((-1, 2))
    if attr.shape[0] * 2 > norm_length:
        # attr need down-grade
        raise NotImplementedError
    elif attr.shape[0] * 2 < norm_length:
        # attr need up-grade
        METHOD_NAME = np.zeros(norm_length).reshape((-1, 2))
        METHOD_NAME[:attr.shape[0], :] = attr
    else:
        METHOD_NAME = attr
    return METHOD_NAME.flatten().tolist()