(cherry picked from commit df6514ebb54a5032da0a832aa16a99e8737f03ed)
(cherry picked from commit a9c945ba37cca89c4051a5a1efefe993a6fb3745)