(cherry picked from commit b750f2539b8c55c87dc965e12f0a1a07c8bc684d)
(cherry picked from commit 0393e1c5a9d8d2bb068aad31a4aa52f5712d813d)