(cherry picked from commit e23ebb83bd7672e4dc8da68a9a8c73fe6e016341)
(cherry picked from commit c712b53f7e1e6f4f189a459deff675e096440f1f)