(cherry picked from commit c0c8064bfc69bd7a949990d7de889416ffea7db9)
(cherry picked from commit 73d154493b87d3c4e268092b1574b6161ff1ef10)