{
  "contractName": "Adminable",
  "abi": [
    {
      "constant": false,
      "inputs": [
        {
          "name": "addr",
          "type": "address"
        }
      ],
      "name": "removeAdmin",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "addr",
          "type": "address"
        }
      ],
      "name": "isAdmin",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "removeSelf",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "addr",
          "type": "address"
        }
      ],
      "name": "addAdmin",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferred",
      "type": "event"
    }
  ],
  "bytecode": "0x606060405260008054600160a060020a033316600160a060020a0319909116179055610329806100306000396000f3006060604052600436106100775763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416631785f53c811461007c57806324d7806c1461009d5780635e898dac146100d057806370480275146100e35780638da5cb5b14610102578063f2fde38b14610131575b600080fd5b341561008757600080fd5b61009b600160a060020a0360043516610150565b005b34156100a857600080fd5b6100bc600160a060020a036004351661018c565b604051901515815260200160405180910390f35b34156100db57600080fd5b61009b6101db565b34156100ee57600080fd5b61009b600160a060020a0360043516610211565b341561010d57600080fd5b610115610253565b604051600160a060020a03909116815260200160405180910390f35b341561013c57600080fd5b61009b600160a060020a0360043516610262565b60005433600160a060020a0390811691161461016b57600080fd5b600160a060020a03166000908152600160205260409020805460ff19169055565b6000600160a060020a038216158015906101d55750600054600160a060020a03838116911614806101d55750600160a060020a03821660009081526001602052604090205460ff165b92915050565b6101e43361018c565b15156101ef57600080fd5b600160a060020a0333166000908152600160205260409020805460ff19169055565b60005433600160a060020a0390811691161461022c57600080fd5b600160a060020a03166000908152600160208190526040909120805460ff19169091179055565b600054600160a060020a031681565b60005433600160a060020a0390811691161461027d57600080fd5b600160a060020a038116151561029257600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a7230582017740de2d7ad22597a68fc874b3166a13411e7a82c716c97ca9a3ed40b9ff0370029",
  "deployedBytecode": "0x6060604052600436106100775763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416631785f53c811461007c57806324d7806c1461009d5780635e898dac146100d057806370480275146100e35780638da5cb5b14610102578063f2fde38b14610131575b600080fd5b341561008757600080fd5b61009b600160a060020a0360043516610150565b005b34156100a857600080fd5b6100bc600160a060020a036004351661018c565b604051901515815260200160405180910390f35b34156100db57600080fd5b61009b6101db565b34156100ee57600080fd5b61009b600160a060020a0360043516610211565b341561010d57600080fd5b610115610253565b604051600160a060020a03909116815260200160405180910390f35b341561013c57600080fd5b61009b600160a060020a0360043516610262565b60005433600160a060020a0390811691161461016b57600080fd5b600160a060020a03166000908152600160205260409020805460ff19169055565b6000600160a060020a038216158015906101d55750600054600160a060020a03838116911614806101d55750600160a060020a03821660009081526001602052604090205460ff165b92915050565b6101e43361018c565b15156101ef57600080fd5b600160a060020a0333166000908152600160205260409020805460ff19169055565b60005433600160a060020a0390811691161461022c57600080fd5b600160a060020a03166000908152600160208190526040909120805460ff19169091179055565b600054600160a060020a031681565b60005433600160a060020a0390811691161461027d57600080fd5b600160a060020a038116151561029257600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a7230582017740de2d7ad22597a68fc874b3166a13411e7a82c716c97ca9a3ed40b9ff0370029",
  "sourceMap": "1052:595:0:-;;;494:5:21;:18;;-1:-1:-1;;;;;502:10:21;494:18;-1:-1:-1;;;;;;494:18:21;;;;;;1052:595:0;;;;;;",
  "deployedSourceMap": "1052:595:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1460:95;;;;;;;;;;-1:-1:-1;;;;;1460:95:0;;;;;;;1212:145;;;;;;;;;;-1:-1:-1;;;;;1212:145:0;;;;;;;;;;;;;;;;;;;;;;1561:84;;;;;;;;;;;;1363:91;;;;;;;;;;-1:-1:-1;;;;;1363:91:0;;;;;238:20:21;;;;;;;;;;;;;;;-1:-1:-1;;;;;238:20:21;;;;;;;;;;;;;;827:169;;;;;;;;;;-1:-1:-1;;;;;827:169:21;;;;;1460:95:0;647:5:21;;633:10;-1:-1:-1;;;;;633:19:21;;;647:5;;633:19;625:28;;;;;;-1:-1:-1;;;;;1522:18:0;1543:5;1522:18;;;:12;:18;;;;;:26;;-1:-1:-1;;1522:26:0;;;1460:95::o;1212:145::-;1268:4;-1:-1:-1;;;;;1291:18:0;;;;;;:59;;-1:-1:-1;1322:5:0;;-1:-1:-1;;;;;1314:13:0;;;1322:5;;1314:13;;:35;;-1:-1:-1;;;;;;1331:18:0;;;;;;:12;:18;;;;;;;;1314:35;1284:66;1212:145;-1:-1:-1;;1212:145:0:o;1561:84::-;1168:19;1176:10;1168:7;:19::i;:::-;1160:28;;;;;;;;-1:-1:-1;;;;;1619:10:0;1606:24;1633:5;1606:24;;;:12;:24;;;;;:32;;-1:-1:-1;;1606:32:0;;;1561:84::o;1363:91::-;647:5:21;;633:10;-1:-1:-1;;;;;633:19:21;;;647:5;;633:19;625:28;;;;;;-1:-1:-1;;;;;1422:18:0;;;;;1443:4;1422:18;;;;;;;;:25;;-1:-1:-1;;1422:25:0;;;;;;1363:91::o;238:20:21:-;;;-1:-1:-1;;;;;238:20:21;;:::o;827:169::-;647:5;;633:10;-1:-1:-1;;;;;633:19:21;;;647:5;;633:19;625:28;;;;;;-1:-1:-1;;;;;903:22:21;;;;895:31;;;;;;953:5;;-1:-1:-1;;;;;932:37:21;;;;953:5;932:37;;;;;;;;;;975:5;:16;;-1:-1:-1;;975:16:21;-1:-1:-1;;;;;975:16:21;;;;;;;;;;827:169::o",
  "source": "// ------------------------------------------------------------------------------\n// This file is part of netvote.\n//\n// netvote is free software: you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// netvote is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with solidity.  If not, see <http://www.gnu.org/licenses/>\n//\n// (c) 2017 netvote contributors.\n//------------------------------------------------------------------------------\n\npragma solidity ^0.4.17;\n\nimport \"zeppelin-solidity/contracts/ownership/Ownable.sol\";\n\n\n/**\n * @title Adminable\n * @dev Allows an owner to specify other admins to delegate actions\n */\ncontract Adminable is Ownable {\n    mapping (address => bool) adminAddress;\n\n    modifier admin() {\n        require(isAdmin(msg.sender));\n        _;\n    }\n\n    function isAdmin(address addr) public constant returns (bool) {\n        return addr != address(0) && (addr == owner || adminAddress[addr]);\n    }\n\n    function addAdmin(address addr) public onlyOwner {\n        adminAddress[addr] = true;\n    }\n\n    function removeAdmin(address addr) public onlyOwner {\n        adminAddress[addr] = false;\n    }\n\n    function removeSelf() public admin {\n        adminAddress[msg.sender] = false;\n    }\n}",
  "sourcePath": "/Users/slanders/netvote/elections-solidity/contracts/auth/Adminable.sol",
  "ast": {
    "attributes": {
      "absolutePath": "/Users/slanders/netvote/elections-solidity/contracts/auth/Adminable.sol",
      "exportedSymbols": {
        "Adminable": [
          84
        ]
      }
    },
    "children": [
      {
        "attributes": {
          "literals": [
            "solidity",
            "^",
            "0.4",
            ".17"
          ]
        },
        "id": 1,
        "name": "PragmaDirective",
        "src": "868:24:0"
      },
      {
        "attributes": {
          "SourceUnit": 2704,
          "absolutePath": "zeppelin-solidity/contracts/ownership/Ownable.sol",
          "file": "zeppelin-solidity/contracts/ownership/Ownable.sol",
          "scope": 85,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 2,
        "name": "ImportDirective",
        "src": "894:59:0"
      },
      {
        "attributes": {
          "contractDependencies": [
            2703
          ],
          "contractKind": "contract",
          "documentation": "@title Adminable\n@dev Allows an owner to specify other admins to delegate actions",
          "fullyImplemented": true,
          "linearizedBaseContracts": [
            84,
            2703
          ],
          "name": "Adminable",
          "scope": 85
        },
        "children": [
          {
            "attributes": {
              "arguments": [
                null
              ]
            },
            "children": [
              {
                "attributes": {
                  "contractScope": null,
                  "name": "Ownable",
                  "referencedDeclaration": 2703,
                  "type": "contract Ownable"
                },
                "id": 3,
                "name": "UserDefinedTypeName",
                "src": "1074:7:0"
              }
            ],
            "id": 4,
            "name": "InheritanceSpecifier",
            "src": "1074:7:0"
          },
          {
            "attributes": {
              "constant": false,
              "name": "adminAddress",
              "scope": 84,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "mapping(address => bool)",
              "value": null,
              "visibility": "internal"
            },
            "children": [
              {
                "attributes": {
                  "type": "mapping(address => bool)"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "address",
                      "type": "address"
                    },
                    "id": 5,
                    "name": "ElementaryTypeName",
                    "src": "1097:7:0"
                  },
                  {
                    "attributes": {
                      "name": "bool",
                      "type": "bool"
                    },
                    "id": 6,
                    "name": "ElementaryTypeName",
                    "src": "1108:4:0"
                  }
                ],
                "id": 7,
                "name": "Mapping",
                "src": "1088:25:0"
              }
            ],
            "id": 8,
            "name": "VariableDeclaration",
            "src": "1088:38:0"
          },
          {
            "attributes": {
              "name": "admin",
              "visibility": "internal"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 9,
                "name": "ParameterList",
                "src": "1147:2:0"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 3241,
                              "type": "function (bool) pure",
                              "value": "require"
                            },
                            "id": 10,
                            "name": "Identifier",
                            "src": "1160:7:0"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "bool",
                              "type_conversion": false
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  ],
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 42,
                                  "type": "function (address) view returns (bool)",
                                  "value": "isAdmin"
                                },
                                "id": 11,
                                "name": "Identifier",
                                "src": "1168:7:0"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "sender",
                                  "referencedDeclaration": null,
                                  "type": "address"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 3238,
                                      "type": "msg",
                                      "value": "msg"
                                    },
                                    "id": 12,
                                    "name": "Identifier",
                                    "src": "1176:3:0"
                                  }
                                ],
                                "id": 13,
                                "name": "MemberAccess",
                                "src": "1176:10:0"
                              }
                            ],
                            "id": 14,
                            "name": "FunctionCall",
                            "src": "1168:19:0"
                          }
                        ],
                        "id": 15,
                        "name": "FunctionCall",
                        "src": "1160:28:0"
                      }
                    ],
                    "id": 16,
                    "name": "ExpressionStatement",
                    "src": "1160:28:0"
                  },
                  {
                    "id": 17,
                    "name": "PlaceholderStatement",
                    "src": "1198:1:0"
                  }
                ],
                "id": 18,
                "name": "Block",
                "src": "1150:56:0"
              }
            ],
            "id": 19,
            "name": "ModifierDefinition",
            "src": "1133:73:0"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "isAdmin",
              "payable": false,
              "scope": 84,
              "stateMutability": "view",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "addr",
                      "scope": 42,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 20,
                        "name": "ElementaryTypeName",
                        "src": "1229:7:0"
                      }
                    ],
                    "id": 21,
                    "name": "VariableDeclaration",
                    "src": "1229:12:0"
                  }
                ],
                "id": 22,
                "name": "ParameterList",
                "src": "1228:14:0"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 42,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 23,
                        "name": "ElementaryTypeName",
                        "src": "1268:4:0"
                      }
                    ],
                    "id": 24,
                    "name": "VariableDeclaration",
                    "src": "1268:4:0"
                  }
                ],
                "id": 25,
                "name": "ParameterList",
                "src": "1267:6:0"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "functionReturnParameters": 25
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "&&",
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "!=",
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 21,
                                  "type": "address",
                                  "value": "addr"
                                },
                                "id": 26,
                                "name": "Identifier",
                                "src": "1291:4:0"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "isStructConstructorCall": false,
                                  "lValueRequested": false,
                                  "names": [
                                    null
                                  ],
                                  "type": "address",
                                  "type_conversion": true
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_rational_0_by_1",
                                          "typeString": "int_const 0"
                                        }
                                      ],
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "type": "type(address)",
                                      "value": "address"
                                    },
                                    "id": 27,
                                    "name": "ElementaryTypeNameExpression",
                                    "src": "1299:7:0"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "hexvalue": "30",
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "subdenomination": null,
                                      "token": "number",
                                      "type": "int_const 0",
                                      "value": "0"
                                    },
                                    "id": 28,
                                    "name": "Literal",
                                    "src": "1307:1:0"
                                  }
                                ],
                                "id": 29,
                                "name": "FunctionCall",
                                "src": "1299:10:0"
                              }
                            ],
                            "id": 30,
                            "name": "BinaryOperation",
                            "src": "1291:18:0"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isInlineArray": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "commonType": {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  },
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": "||",
                                  "type": "bool"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "commonType": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      },
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "operator": "==",
                                      "type": "bool"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 21,
                                          "type": "address",
                                          "value": "addr"
                                        },
                                        "id": 31,
                                        "name": "Identifier",
                                        "src": "1314:4:0"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 2651,
                                          "type": "address",
                                          "value": "owner"
                                        },
                                        "id": 32,
                                        "name": "Identifier",
                                        "src": "1322:5:0"
                                      }
                                    ],
                                    "id": 33,
                                    "name": "BinaryOperation",
                                    "src": "1314:13:0"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "bool"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 8,
                                          "type": "mapping(address => bool)",
                                          "value": "adminAddress"
                                        },
                                        "id": 34,
                                        "name": "Identifier",
                                        "src": "1331:12:0"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 21,
                                          "type": "address",
                                          "value": "addr"
                                        },
                                        "id": 35,
                                        "name": "Identifier",
                                        "src": "1344:4:0"
                                      }
                                    ],
                                    "id": 36,
                                    "name": "IndexAccess",
                                    "src": "1331:18:0"
                                  }
                                ],
                                "id": 37,
                                "name": "BinaryOperation",
                                "src": "1314:35:0"
                              }
                            ],
                            "id": 38,
                            "name": "TupleExpression",
                            "src": "1313:37:0"
                          }
                        ],
                        "id": 39,
                        "name": "BinaryOperation",
                        "src": "1291:59:0"
                      }
                    ],
                    "id": 40,
                    "name": "Return",
                    "src": "1284:66:0"
                  }
                ],
                "id": 41,
                "name": "Block",
                "src": "1274:83:0"
              }
            ],
            "id": 42,
            "name": "FunctionDefinition",
            "src": "1212:145:0"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "name": "addAdmin",
              "payable": false,
              "scope": 84,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "addr",
                      "scope": 56,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 43,
                        "name": "ElementaryTypeName",
                        "src": "1381:7:0"
                      }
                    ],
                    "id": 44,
                    "name": "VariableDeclaration",
                    "src": "1381:12:0"
                  }
                ],
                "id": 45,
                "name": "ParameterList",
                "src": "1380:14:0"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 48,
                "name": "ParameterList",
                "src": "1412:0:0"
              },
              {
                "attributes": {
                  "arguments": [
                    null
                  ]
                },
                "children": [
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 2677,
                      "type": "modifier ()",
                      "value": "onlyOwner"
                    },
                    "id": 46,
                    "name": "Identifier",
                    "src": "1402:9:0"
                  }
                ],
                "id": 47,
                "name": "ModifierInvocation",
                "src": "1402:9:0"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 8,
                                  "type": "mapping(address => bool)",
                                  "value": "adminAddress"
                                },
                                "id": 49,
                                "name": "Identifier",
                                "src": "1422:12:0"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 44,
                                  "type": "address",
                                  "value": "addr"
                                },
                                "id": 50,
                                "name": "Identifier",
                                "src": "1435:4:0"
                              }
                            ],
                            "id": 51,
                            "name": "IndexAccess",
                            "src": "1422:18:0"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "74727565",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "bool",
                              "type": "bool",
                              "value": "true"
                            },
                            "id": 52,
                            "name": "Literal",
                            "src": "1443:4:0"
                          }
                        ],
                        "id": 53,
                        "name": "Assignment",
                        "src": "1422:25:0"
                      }
                    ],
                    "id": 54,
                    "name": "ExpressionStatement",
                    "src": "1422:25:0"
                  }
                ],
                "id": 55,
                "name": "Block",
                "src": "1412:42:0"
              }
            ],
            "id": 56,
            "name": "FunctionDefinition",
            "src": "1363:91:0"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "name": "removeAdmin",
              "payable": false,
              "scope": 84,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "addr",
                      "scope": 70,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 57,
                        "name": "ElementaryTypeName",
                        "src": "1481:7:0"
                      }
                    ],
                    "id": 58,
                    "name": "VariableDeclaration",
                    "src": "1481:12:0"
                  }
                ],
                "id": 59,
                "name": "ParameterList",
                "src": "1480:14:0"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 62,
                "name": "ParameterList",
                "src": "1512:0:0"
              },
              {
                "attributes": {
                  "arguments": [
                    null
                  ]
                },
                "children": [
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 2677,
                      "type": "modifier ()",
                      "value": "onlyOwner"
                    },
                    "id": 60,
                    "name": "Identifier",
                    "src": "1502:9:0"
                  }
                ],
                "id": 61,
                "name": "ModifierInvocation",
                "src": "1502:9:0"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 8,
                                  "type": "mapping(address => bool)",
                                  "value": "adminAddress"
                                },
                                "id": 63,
                                "name": "Identifier",
                                "src": "1522:12:0"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 58,
                                  "type": "address",
                                  "value": "addr"
                                },
                                "id": 64,
                                "name": "Identifier",
                                "src": "1535:4:0"
                              }
                            ],
                            "id": 65,
                            "name": "IndexAccess",
                            "src": "1522:18:0"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "66616c7365",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "bool",
                              "type": "bool",
                              "value": "false"
                            },
                            "id": 66,
                            "name": "Literal",
                            "src": "1543:5:0"
                          }
                        ],
                        "id": 67,
                        "name": "Assignment",
                        "src": "1522:26:0"
                      }
                    ],
                    "id": 68,
                    "name": "ExpressionStatement",
                    "src": "1522:26:0"
                  }
                ],
                "id": 69,
                "name": "Block",
                "src": "1512:43:0"
              }
            ],
            "id": 70,
            "name": "FunctionDefinition",
            "src": "1460:95:0"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "name": "removeSelf",
              "payable": false,
              "scope": 84,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 71,
                "name": "ParameterList",
                "src": "1580:2:0"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 74,
                "name": "ParameterList",
                "src": "1596:0:0"
              },
              {
                "attributes": {
                  "arguments": [
                    null
                  ]
                },
                "children": [
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 19,
                      "type": "modifier ()",
                      "value": "admin"
                    },
                    "id": 72,
                    "name": "Identifier",
                    "src": "1590:5:0"
                  }
                ],
                "id": 73,
                "name": "ModifierInvocation",
                "src": "1590:5:0"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 8,
                                  "type": "mapping(address => bool)",
                                  "value": "adminAddress"
                                },
                                "id": 75,
                                "name": "Identifier",
                                "src": "1606:12:0"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "sender",
                                  "referencedDeclaration": null,
                                  "type": "address"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 3238,
                                      "type": "msg",
                                      "value": "msg"
                                    },
                                    "id": 76,
                                    "name": "Identifier",
                                    "src": "1619:3:0"
                                  }
                                ],
                                "id": 77,
                                "name": "MemberAccess",
                                "src": "1619:10:0"
                              }
                            ],
                            "id": 78,
                            "name": "IndexAccess",
                            "src": "1606:24:0"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "66616c7365",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "bool",
                              "type": "bool",
                              "value": "false"
                            },
                            "id": 79,
                            "name": "Literal",
                            "src": "1633:5:0"
                          }
                        ],
                        "id": 80,
                        "name": "Assignment",
                        "src": "1606:32:0"
                      }
                    ],
                    "id": 81,
                    "name": "ExpressionStatement",
                    "src": "1606:32:0"
                  }
                ],
                "id": 82,
                "name": "Block",
                "src": "1596:49:0"
              }
            ],
            "id": 83,
            "name": "FunctionDefinition",
            "src": "1561:84:0"
          }
        ],
        "id": 84,
        "name": "ContractDefinition",
        "src": "1052:595:0"
      }
    ],
    "id": 85,
    "name": "SourceUnit",
    "src": "868:779:0"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.18+commit.9cf6e910.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "1.0.1",
  "updatedAt": "2018-03-26T15:46:12.424Z"
}