(cherry picked from commit abfcc9ab6771b5934568f5284adbc7d13f3510d1)
(cherry picked from commit e196671d2dd651ec7e0d7d5a2926da292a31cb30)