Merge from downstream as far as 8a44bdd4e631d6c06e3f40a90c0c6d9d3a333170.