(cherry picked from commit 75b11811e8036298fe11ab7e6613498b8aa349ea)
(cherry picked from commit 130f575da86e23095d2b626ff8af133a7122ab2e)