(cherry picked from commit 3c8258dc16f15819e01e32fb9e2ac844b589fbe6)
(cherry picked from commit 74bf8d3cac6f2066fe7a3ccd5b92a65adcb89ff9)