(cherry picked from commit b4d3bfa75088df78bd80325a42a75f3773dd8a88)
(cherry picked from commit 77f7cf0d51277e7c62daf01ac13fb4d10db6ef4c)