(cherry picked from commit 361c06bd6f4d530e16414e466fd29f0fa4300627)
(cherry picked from commit 040b80b35f64373c41a44aa13116d74618c8cff9)