(cherry picked from commit 76727c790a9fcac64dce762d8d6fc674680d1905)
(cherry picked from commit d2cbf3f2833104c3a0381059b0d6ef8ac0b3c94c)