(cherry picked from commit 4f701382a862cb187e76ac688c00f6440db794fd)
(cherry picked from commit df506cf2f7ba0d39fd1e45649c252bfd23fadd6e)