(cherry picked from commit 5103185b9000a8286558ecd1e5b43aa4a923a699)
(cherry picked from commit 2622c76339024fda2f3d3086368dc1987379271c)