(cherry picked from commit c4cd0050e2a6c66d53ac0bae53c71e35098331ab)
(cherry picked from commit a6f87be6653c55d4dad33436b6769a38b226a8fc)