contract Token is ERC20 {
    using SafeMath for uint;
    string public name = "PATRON";
    string public symbol = "PAT";
    uint8 public decimals = 18;
    address public crowdsaleMinter;
    modifier onlyCrowdsaleMinter(){
        require(msg.sender == crowdsaleMinter);
        _;
    }
    modifier isNotStartedOnly() {
        require(!isStarted);
        _;
    }
    function Token(address _crowdsaleMinter){
        crowdsaleMinter = _crowdsaleMinter;
    }
    function start()
    public
    onlyCrowdsaleMinter
    isNotStartedOnly
    {
        isStarted = true;
    }
    function emergencyStop()
    public
    only(owner)
    {
        isStarted = false;
    }
    //================= Crowdsale Only =================
    function mint(address _to, uint _amount) public
    onlyCrowdsaleMinter
    isNotStartedOnly
    returns(bool)
    {
        totalSupply = totalSupply.add(_amount);
        balances[_to] = balances[_to].add(_amount);
        return true;
    }
}
function mint(address _to, uint _amount) public
onlyCrowdsaleMinter
isNotStartedOnly
returns(bool)
{
    totalSupply = totalSupply.add(_amount);
    balances[_to] = balances[_to].add(_amount);
    return true;
}

//================= Crowdsale Only =================