(cherry picked from commit 36e79e49da2091dfca166f1c50452285577d7584)
(cherry picked from commit c7fbd6f8f15b73fa2d69065eac32a014fef2596c)