(cherry picked from commit d4939f7b93989a0e3387c225de335ef7bf19949f)
(cherry picked from commit d2cbf3f2833104c3a0381059b0d6ef8ac0b3c94c)