(cherry picked from commit f58dfc5605738ebccdd6adc6f1ca2a7843c086b2)
(cherry picked from commit d022679b7dcbce3cec98e6a1fd0879e3c0d92523)