abstract contract Context {
	//function _msgSender() internal view virtual returns (address payable) {
	function _msgSender() internal view virtual returns (address) {
		return msg.sender;
	}

	function _msgData() internal view virtual returns (bytes memory) {
		this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
		return msg.data;
	}
}
function _msgSender() internal view virtual returns (address) {
	return msg.sender;
}

//function _msgSender() internal view virtual returns (address payable) {