(cherry picked from commit bcf8cccf8ba61ce00b36cb361e73509437a6e6f5)
(cherry picked from commit c27be373d05b7cdc7ac01d045b16ef79c255fc9f)