(cherry picked from commit 8f523306e84614027a5b6b004083aeaba8f39cc0)
(cherry picked from commit 6fbea43382d95791afd62835763497ac7712c1b2)