Sri Lanka, IMF reach preliminary agreement on $2.9B loan