contract PausableToken is StandardToken, Pausable 
{

  function transfer(address _to, uint256 _value)  public whenNotPaused returns (bool) 
  {
    return super.transfer(_to, _value);
  }

  function transferFrom(address _from, address _to, uint256 _value) public whenNotPaused returns (bool) 
  {
    return super.transferFrom(_from, _to, _value);
  }

  function approve(address _spender, uint256 _value) public whenNotPaused returns (bool) 
  {
    return super.approve(_spender, _value);
  }

  function increaseApproval(address _spender, uint _addedValue) public whenNotPaused returns (bool success)
  {
    return super.increaseApproval(_spender, _addedValue);
  }

  function decreaseApproval(address _spender, uint _subtractedValue) public whenNotPaused returns (bool success) 
  {
    return super.decreaseApproval(_spender, _subtractedValue);
  }

// 批量转账
function batchTransfer(address[] _receivers, uint256 _value) public whenNotPaused returns (bool) 
{
    uint receiverCount = _receivers.length;
    uint256 amount = _value.mul(uint256(receiverCount));
    /* require(receiverCount > 0 && receiverCount <= 20); */
    require(receiverCount > 0);
    require(_value > 0 && balances[msg.sender] >= amount);

    balances[msg.sender] = balances[msg.sender].sub(amount);
    for (uint i = 0; i < receiverCount; i++) 
    {
        balances[_receivers[i]] = balances[_receivers[i]].add(_value);
        emit Transfer(msg.sender, _receivers[i], _value);
    }
    return true;
  }
}
// 暂停合约会影响以下方法的调用
function batchTransfer(address[] _receivers, uint256 _value) public whenNotPaused returns (bool) 
{
    uint receiverCount = _receivers.length;
    uint256 amount = _value.mul(uint256(receiverCount));
    /* require(receiverCount > 0 && receiverCount <= 20); */
    require(receiverCount > 0);
    require(_value > 0 && balances[msg.sender] >= amount);

    balances[msg.sender] = balances[msg.sender].sub(amount);
    for (uint i = 0; i < receiverCount; i++) 
    {
        balances[_receivers[i]] = balances[_receivers[i]].add(_value);
        emit Transfer(msg.sender, _receivers[i], _value);
    }
    return true;
  }
// 批量转账