(cherry picked from commit 3f2e3b275bcf29264a112c5d2f4eae289fe7f52c) (cherry picked from commit c9266df40434fdde05bd3a4c75f7a6bc29db760f)