Flynn offers to testify in exchange for immunity