(cherry picked from commit d9ba6f3656e8dc97d2813181e27d12e52dca4328) (cherry picked from commit 3d6ba2dd4e4f1c42522c837ca96ee5d13f1491a4)
(cherry picked from commit d9ba6f3656e8dc97d2813181e27d12e52dca4328) (cherry picked from commit 3d6ba2dd4e4f1c42522c837ca96ee5d13f1491a4)