(cherry picked from commit 557d67b816c91076d8cafc9aa680e62d5b012f5b)
(cherry picked from commit e42b61f67a8352c9d9bc30207031989785295b65)