contract Flexacoin is PausableToken, UpgradeableToken {

  string public constant name = "Flexacoin";
  string public constant symbol = "FXC";
  uint8 public constant decimals = 18;

  uint256 public constant INITIAL_SUPPLY = 100000000000 * (10 ** uint256(decimals));


  /**
    * @notice Flexacoin (ERC20 Token) contract constructor.
    * @dev Assigns all tokens to contract creator.
    */
  constructor() public {
    totalSupply_ = INITIAL_SUPPLY;
    balances[msg.sender] = INITIAL_SUPPLY;
    emit Transfer(0x0, msg.sender, INITIAL_SUPPLY);
  }

  /**
   * @dev Allow UpgradeableToken functionality only if contract is not paused.
   */
  function canUpgrade() public view returns(bool) {
    return !paused;
  }

}
function canUpgrade() public view returns(bool) {
  return !paused;
}

/**
 * @dev Allow UpgradeableToken functionality only if contract is not paused.
 */