Synced with the source at 80f16d607943fb8d9a9615996c0e243bec070652.