(cherry picked from commit 6fea9d6dfe50513614e39a7b83ad4db59970e26e)
(cherry picked from commit 68c997aa067f342f6e432e9f9c84416a0a4cc1bf)