abstract contract mm {
    //function milksDrankByAddress(address addr) public view virtual returns (uint256[] memory);
    function ownerOf(uint256 tokenId) public view virtual returns (address);
    //function burnMilk(uint256 milkID) external virtual;
    function z_drinkMilk_do_not_use(uint256 milkID) external virtual;
    function balanceOf(address addr) public view virtual returns (uint256);
    function walletOfOwner(address addr) public view virtual returns (uint256[] memory);
}
function ownerOf(uint256 tokenId) public view virtual returns (address);
//function milksDrankByAddress(address addr) public view virtual returns (uint256[] memory);