(cherry picked from commit 57e14600b0e9d56808810a85ca4269e21d32a11c)
(cherry picked from commit 495344b13dbd6ce0a40a204de0c44f7b66c7eb10)