(cherry picked from commit ba20289467763f535c8d56afff9176c7059a8952)
(cherry picked from commit 888c55c24207431f946b4d1b5d1399d69c209458)