(cherry picked from commit b0aace21b1ef3436ba9d516186208fee9a9ceef2) (cherry picked from commit 3faa0b0d682687099b253feee9b41340edef7111)