(cherry picked from commit 0a60e31199f12cfb4325045a6d315395b3670894)
(cherry picked from commit c7dc22ef8909aae7ae9042d4e616810df2e4c219)