(cherry picked from commit 3f2e3b275bcf29264a112c5d2f4eae289fe7f52c)
(cherry picked from commit f83a07f266f2c5e6eead554d8a331ed7e75e10d5)