{
  "contractName": "DAOFactory",
  "abi": [
    {
      "constant": true,
      "inputs": [],
      "name": "baseACL",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_root",
          "type": "address"
        }
      ],
      "name": "newDAO",
      "outputs": [
        {
          "name": "dao",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "regFactory",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "baseKernel",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "name": "_baseKernel",
          "type": "address"
        },
        {
          "name": "_baseACL",
          "type": "address"
        },
        {
          "name": "_regFactory",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "name": "dao",
          "type": "address"
        }
      ],
      "name": "DeployDAO",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "name": "reg",
          "type": "address"
        }
      ],
      "name": "DeployEVMScriptRegistry",
      "type": "event"
    }
  ],
  "bytecode": "0x6060604052341561000f57600080fd5b60405160608061176583398101604052808051906020019091908051906020019091908051906020019091905050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415156100b55780600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505061161d806101486000396000f300606060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063086b339e1461006757806321687444146100bc578063656362b514610135578063b16dd1301461018a575b600080fd5b341561007257600080fd5b61007a6101df565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156100c757600080fd5b6100f3600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610205565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561014057600080fd5b610148610e0c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561019557600080fd5b61019d610e32565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000806000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610238610e57565b808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050604051809103906000f080151561028457600080fd5b9550600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156102e357866102e5565b305b94508573ffffffffffffffffffffffffffffffffffffffff1663485cc955600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16876040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b15156103d757600080fd5b6102c65a03f115156103e857600080fd5b5050508573ffffffffffffffffffffffffffffffffffffffff1663de2873596000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561045757600080fd5b6102c65a03f1151561046857600080fd5b505050604051805190509350600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610d9f578373ffffffffffffffffffffffffffffffffffffffff16633d6ab68f6000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561053857600080fd5b6102c65a03f1151561054957600080fd5b5050506040518051905092508573ffffffffffffffffffffffffffffffffffffffff16638ea8dc9d6000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15156105c157600080fd5b6102c65a03f115156105d257600080fd5b5050506040518051905091508373ffffffffffffffffffffffffffffffffffffffff16630a8ed3db600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1686866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019350505050600060405180830381600087803b15156106de57600080fd5b6102c65a03f115156106ef57600080fd5b5050508373ffffffffffffffffffffffffffffffffffffffff1663be038478600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168885306040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001945050505050600060405180830381600087803b151561082657600080fd5b6102c65a03f1151561083757600080fd5b505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663869abc2487896000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b151561093357600080fd5b6102c65a03f1151561094457600080fd5b5050506040518051905090507f1a40224412580c1ae5a2fbe8029a565f49a3a029608a8fd9320b32477f31457981604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a18373ffffffffffffffffffffffffffffffffffffffff16639d0effdb600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1688856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019350505050600060405180830381600087803b1515610ab357600080fd5b6102c65a03f11515610ac457600080fd5b5050508373ffffffffffffffffffffffffffffffffffffffff16630a8ed3db8886866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019350505050600060405180830381600087803b1515610ba557600080fd5b6102c65a03f11515610bb657600080fd5b5050508373ffffffffffffffffffffffffffffffffffffffff1663afd925df600088856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019350505050600060405180830381600087803b1515610c9857600080fd5b6102c65a03f11515610ca957600080fd5b5050508373ffffffffffffffffffffffffffffffffffffffff1663afd925df8886866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019350505050600060405180830381600087803b1515610d8a57600080fd5b6102c65a03f11515610d9b57600080fd5b5050505b7f3a7eb042a769adf51e9be78b68ed7af0ad7b379246536efc376ed2ca0123828286604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15050505050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60405161078a80610e688339019056006060604052341561000f57600080fd5b60405160208061078a833981016040528080519060200190919050508060008060405180807f636f7265000000000000000000000000000000000000000000000000000000008152506004019050604051809103902060405180807f6b65726e656c2e617261676f6e706d2e657468000000000000000000000000008152506013019050604051809103902060405180836000191660001916815260200182600019166000191681526020019250505060405180910390206000191660001916815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505061065f8061012b6000396000f30060606040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680631113ed0d1461019e578063178e6079146101cf578063250126991461020057806338bb6def14610231578063756f604914610298578063a3b4b07f146102c9578063cbcc65eb146102fa578063db8a61d41461032b575b61019c60008060405180807f636f7265000000000000000000000000000000000000000000000000000000008152506004019050604051809103902060405180807f6b65726e656c2e617261676f6e706d2e657468000000000000000000000000008152506013019050604051809103902060405180836000191660001916815260200182600019166000191681526020019250505060405180910390206000191660001916815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000368080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505061035c565b005b34156101a957600080fd5b6101b161039a565b60405180826000191660001916815260200191505060405180910390f35b34156101da57600080fd5b6101e26103d3565b60405180826000191660001916815260200191505060405180910390f35b341561020b57600080fd5b61021361040c565b60405180826000191660001916815260200191505060405180910390f35b341561023c57600080fd5b6102566004808035600019169060200190919050506104a7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156102a357600080fd5b6102ab6104da565b60405180826000191660001916815260200191505060405180910390f35b34156102d457600080fd5b6102dc610513565b60405180826000191660001916815260200191505060405180910390f35b341561030557600080fd5b61030d6105ae565b60405180826000191660001916815260200191505060405180910390f35b341561033657600080fd5b61033e6105e7565b60405180826000191660001916815260200191505060405180910390f35b61036582610620565b151561037057600080fd5b600080825160208401856127105a03f43d604051816000823e8260008114610396578282f35b8282fd5b60405180807f6b65726e656c2e617261676f6e706d2e657468000000000000000000000000008152506013019050604051809103902081565b60405180807f61707000000000000000000000000000000000000000000000000000000000008152506003019050604051809103902081565b60405180807f636f7265000000000000000000000000000000000000000000000000000000008152506004019050604051809103902060405180807f6b65726e656c2e617261676f6e706d2e6574680000000000000000000000000081525060130190506040518091039020604051808360001916600019168152602001826000191660001916815260200192505050604051809103902081565b60006020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60405180807f636f7265000000000000000000000000000000000000000000000000000000008152506004019050604051809103902081565b60405180807f61707000000000000000000000000000000000000000000000000000000000008152506003019050604051809103902060405180807f61636c2e617261676f6e706d2e6574680000000000000000000000000000000081525060100190506040518091039020604051808360001916600019168152602001826000191660001916815260200192505050604051809103902081565b60405180807f61636c2e617261676f6e706d2e657468000000000000000000000000000000008152506010019050604051809103902081565b60405180807f62617365000000000000000000000000000000000000000000000000000000008152506004019050604051809103902081565b600080823b9050600081119150509190505600a165627a7a723058204d9c2d6cc8af6f6aa29fe5ba65cf2ba1ed6b43af10f916d2a56d5e67d2cd9d520029a165627a7a7230582009578a1998d30813347ccca996113c446102eea1cf325a3f1d5afd72f8ae91130029",
  "deployedBytecode": "0x606060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063086b339e1461006757806321687444146100bc578063656362b514610135578063b16dd1301461018a575b600080fd5b341561007257600080fd5b61007a6101df565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156100c757600080fd5b6100f3600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610205565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561014057600080fd5b610148610e0c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561019557600080fd5b61019d610e32565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000806000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610238610e57565b808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050604051809103906000f080151561028457600080fd5b9550600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156102e357866102e5565b305b94508573ffffffffffffffffffffffffffffffffffffffff1663485cc955600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16876040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b15156103d757600080fd5b6102c65a03f115156103e857600080fd5b5050508573ffffffffffffffffffffffffffffffffffffffff1663de2873596000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561045757600080fd5b6102c65a03f1151561046857600080fd5b505050604051805190509350600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610d9f578373ffffffffffffffffffffffffffffffffffffffff16633d6ab68f6000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561053857600080fd5b6102c65a03f1151561054957600080fd5b5050506040518051905092508573ffffffffffffffffffffffffffffffffffffffff16638ea8dc9d6000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15156105c157600080fd5b6102c65a03f115156105d257600080fd5b5050506040518051905091508373ffffffffffffffffffffffffffffffffffffffff16630a8ed3db600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1686866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019350505050600060405180830381600087803b15156106de57600080fd5b6102c65a03f115156106ef57600080fd5b5050508373ffffffffffffffffffffffffffffffffffffffff1663be038478600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168885306040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001945050505050600060405180830381600087803b151561082657600080fd5b6102c65a03f1151561083757600080fd5b505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663869abc2487896000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b151561093357600080fd5b6102c65a03f1151561094457600080fd5b5050506040518051905090507f1a40224412580c1ae5a2fbe8029a565f49a3a029608a8fd9320b32477f31457981604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a18373ffffffffffffffffffffffffffffffffffffffff16639d0effdb600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1688856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019350505050600060405180830381600087803b1515610ab357600080fd5b6102c65a03f11515610ac457600080fd5b5050508373ffffffffffffffffffffffffffffffffffffffff16630a8ed3db8886866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019350505050600060405180830381600087803b1515610ba557600080fd5b6102c65a03f11515610bb657600080fd5b5050508373ffffffffffffffffffffffffffffffffffffffff1663afd925df600088856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019350505050600060405180830381600087803b1515610c9857600080fd5b6102c65a03f11515610ca957600080fd5b5050508373ffffffffffffffffffffffffffffffffffffffff1663afd925df8886866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019350505050600060405180830381600087803b1515610d8a57600080fd5b6102c65a03f11515610d9b57600080fd5b5050505b7f3a7eb042a769adf51e9be78b68ed7af0ad7b379246536efc376ed2ca0123828286604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15050505050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60405161078a80610e688339019056006060604052341561000f57600080fd5b60405160208061078a833981016040528080519060200190919050508060008060405180807f636f7265000000000000000000000000000000000000000000000000000000008152506004019050604051809103902060405180807f6b65726e656c2e617261676f6e706d2e657468000000000000000000000000008152506013019050604051809103902060405180836000191660001916815260200182600019166000191681526020019250505060405180910390206000191660001916815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505061065f8061012b6000396000f30060606040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680631113ed0d1461019e578063178e6079146101cf578063250126991461020057806338bb6def14610231578063756f604914610298578063a3b4b07f146102c9578063cbcc65eb146102fa578063db8a61d41461032b575b61019c60008060405180807f636f7265000000000000000000000000000000000000000000000000000000008152506004019050604051809103902060405180807f6b65726e656c2e617261676f6e706d2e657468000000000000000000000000008152506013019050604051809103902060405180836000191660001916815260200182600019166000191681526020019250505060405180910390206000191660001916815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000368080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505061035c565b005b34156101a957600080fd5b6101b161039a565b60405180826000191660001916815260200191505060405180910390f35b34156101da57600080fd5b6101e26103d3565b60405180826000191660001916815260200191505060405180910390f35b341561020b57600080fd5b61021361040c565b60405180826000191660001916815260200191505060405180910390f35b341561023c57600080fd5b6102566004808035600019169060200190919050506104a7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156102a357600080fd5b6102ab6104da565b60405180826000191660001916815260200191505060405180910390f35b34156102d457600080fd5b6102dc610513565b60405180826000191660001916815260200191505060405180910390f35b341561030557600080fd5b61030d6105ae565b60405180826000191660001916815260200191505060405180910390f35b341561033657600080fd5b61033e6105e7565b60405180826000191660001916815260200191505060405180910390f35b61036582610620565b151561037057600080fd5b600080825160208401856127105a03f43d604051816000823e8260008114610396578282f35b8282fd5b60405180807f6b65726e656c2e617261676f6e706d2e657468000000000000000000000000008152506013019050604051809103902081565b60405180807f61707000000000000000000000000000000000000000000000000000000000008152506003019050604051809103902081565b60405180807f636f7265000000000000000000000000000000000000000000000000000000008152506004019050604051809103902060405180807f6b65726e656c2e617261676f6e706d2e6574680000000000000000000000000081525060130190506040518091039020604051808360001916600019168152602001826000191660001916815260200192505050604051809103902081565b60006020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60405180807f636f7265000000000000000000000000000000000000000000000000000000008152506004019050604051809103902081565b60405180807f61707000000000000000000000000000000000000000000000000000000000008152506003019050604051809103902060405180807f61636c2e617261676f6e706d2e6574680000000000000000000000000000000081525060100190506040518091039020604051808360001916600019168152602001826000191660001916815260200192505050604051809103902081565b60405180807f61636c2e617261676f6e706d2e657468000000000000000000000000000000008152506010019050604051809103902081565b60405180807f62617365000000000000000000000000000000000000000000000000000000008152506004019050604051809103902081565b600080823b9050600081119150509190505600a165627a7a723058204d9c2d6cc8af6f6aa29fe5ba65cf2ba1ed6b43af10f916d2a56d5e67d2cd9d520029a165627a7a7230582009578a1998d30813347ccca996113c446102eea1cf325a3f1d5afd72f8ae91130029",
  "sourceMap": "162:1666:38:-;;;379:335;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;566:1;543:25;;:11;:25;;;;539:106;;;622:11;584:10;;:50;;;;;;;;;;;;;;;;;;539:106;668:11;655:10;;:24;;;;;;;;;;;;;;;;;;699:8;689:7;;:18;;;;;;;;;;;;;;;;;;379:335;;;162:1666;;;;;;",
  "deployedSourceMap": "162:1666:38:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;219:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;816:1010;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;247:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;188:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;219:22;;;;;;;;;;;;;:::o;816:1010::-;863:10;937:19;1064:7;1152:16;1214:22;1411:21;914:10;;;;;;;;;;;898:27;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;885:41;;990:1;959:33;;967:10;;;;;;;;;;;959:33;;;;:48;;1002:5;959:48;;;995:4;959:48;937:70;;1017:3;:14;;;1032:7;;;;;;;;;;;1041:11;1017:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1078:3;:7;;;:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1064:24;;1134:1;1103:33;;1111:10;;;;;;;;;;;1103:33;;;;1099:696;;;1171:3;:27;;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1152:48;;1239:3;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1214:47;;1276:3;:19;;;1296:10;;;;;;;;;;;1308:3;1313:8;1276:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1337:3;:20;;;1358:10;;;;;;;;;;;1370:3;1375:14;1391:4;1337:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1435:10;;;;;;;;;;;:31;;;1467:3;1472:5;1435:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1411:67;;1492:37;1524:3;1492:37;;;;;;;;;;;;;;;;;;;;;;1544:3;:20;;;1565:10;;;;;;;;;;;1577:3;1582:14;1544:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1611:3;:19;;;1631:5;1638:3;1643:8;1611:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1667:3;:24;;;1700:1;1704:3;1709:14;1667:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1738:3;:24;;;1763:5;1770:3;1775:8;1738:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1099:696;1805:14;1815:3;1805:14;;;;;;;;;;;;;;;;;;;;;;816:1010;;;;;;;;:::o;247:42::-;;;;;;;;;;;;;:::o;188:25::-;;;;;;;;;;;;;:::o;162:1666::-;;;;;;;;;;:::o",
  "source": "pragma solidity 0.4.18;\n\nimport \"../kernel/Kernel.sol\";\nimport \"../kernel/KernelProxy.sol\";\n\nimport \"../acl/ACL.sol\";\n\nimport \"./EVMScriptRegistryFactory.sol\";\n\n\ncontract DAOFactory {\n    address public baseKernel;\n    address public baseACL;\n    EVMScriptRegistryFactory public regFactory;\n\n    event DeployDAO(address dao);\n    event DeployEVMScriptRegistry(address reg);\n\n    function DAOFactory(address _baseKernel, address _baseACL, address _regFactory) public {\n        // No need to init as it cannot be killed by devops199\n        if (_regFactory != address(0)) {\n            regFactory = EVMScriptRegistryFactory(_regFactory);\n        }\n\n        baseKernel = _baseKernel;\n        baseACL = _baseACL;\n    }\n\n    /**\n    * @param _root Address that will be granted control to setup DAO permissions\n    */\n    function newDAO(address _root) public returns (Kernel dao) {\n        dao = Kernel(new KernelProxy(baseKernel));\n\n        address initialRoot = address(regFactory) != address(0) ? this : _root;\n        dao.initialize(baseACL, initialRoot);\n\n        ACL acl = ACL(dao.acl());\n\n        if (address(regFactory) != address(0)) {\n            bytes32 permRole = acl.CREATE_PERMISSIONS_ROLE();\n            bytes32 appManagerRole = dao.APP_MANAGER_ROLE();\n\n            acl.grantPermission(regFactory, acl, permRole);\n\n            acl.createPermission(regFactory, dao, appManagerRole, this);\n\n            EVMScriptRegistry reg = regFactory.newEVMScriptRegistry(dao, _root);\n            DeployEVMScriptRegistry(address(reg));\n\n            acl.revokePermission(regFactory, dao, appManagerRole);\n            acl.grantPermission(_root, acl, permRole);\n\n            acl.setPermissionManager(address(0), dao, appManagerRole);\n            acl.setPermissionManager(_root, acl, permRole);\n        }\n\n        DeployDAO(dao);\n    }\n}\n",
  "sourcePath": "@aragon/os/contracts/factory/DAOFactory.sol",
  "ast": {
    "attributes": {
      "absolutePath": "@aragon/os/contracts/factory/DAOFactory.sol",
      "exportedSymbols": {
        "DAOFactory": [
          9267
        ]
      }
    },
    "children": [
      {
        "attributes": {
          "literals": [
            "solidity",
            "0.4",
            ".18"
          ]
        },
        "id": 9082,
        "name": "PragmaDirective",
        "src": "0:23:38"
      },
      {
        "attributes": {
          "SourceUnit": 9892,
          "absolutePath": "@aragon/os/contracts/kernel/Kernel.sol",
          "file": "../kernel/Kernel.sol",
          "scope": 9268,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 9083,
        "name": "ImportDirective",
        "src": "25:30:38"
      },
      {
        "attributes": {
          "SourceUnit": 9928,
          "absolutePath": "@aragon/os/contracts/kernel/KernelProxy.sol",
          "file": "../kernel/KernelProxy.sol",
          "scope": 9268,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 9084,
        "name": "ImportDirective",
        "src": "56:35:38"
      },
      {
        "attributes": {
          "SourceUnit": 5511,
          "absolutePath": "@aragon/os/contracts/acl/ACL.sol",
          "file": "../acl/ACL.sol",
          "scope": 9268,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 9085,
        "name": "ImportDirective",
        "src": "93:24:38"
      },
      {
        "attributes": {
          "SourceUnit": 9501,
          "absolutePath": "@aragon/os/contracts/factory/EVMScriptRegistryFactory.sol",
          "file": "./EVMScriptRegistryFactory.sol",
          "scope": 9268,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 9086,
        "name": "ImportDirective",
        "src": "119:40:38"
      },
      {
        "attributes": {
          "baseContracts": [
            null
          ],
          "contractDependencies": [
            9927
          ],
          "contractKind": "contract",
          "documentation": null,
          "fullyImplemented": true,
          "linearizedBaseContracts": [
            9267
          ],
          "name": "DAOFactory",
          "scope": 9268
        },
        "children": [
          {
            "attributes": {
              "constant": false,
              "name": "baseKernel",
              "scope": 9267,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "address",
              "value": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "name": "address",
                  "type": "address"
                },
                "id": 9087,
                "name": "ElementaryTypeName",
                "src": "188:7:38"
              }
            ],
            "id": 9088,
            "name": "VariableDeclaration",
            "src": "188:25:38"
          },
          {
            "attributes": {
              "constant": false,
              "name": "baseACL",
              "scope": 9267,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "address",
              "value": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "name": "address",
                  "type": "address"
                },
                "id": 9089,
                "name": "ElementaryTypeName",
                "src": "219:7:38"
              }
            ],
            "id": 9090,
            "name": "VariableDeclaration",
            "src": "219:22:38"
          },
          {
            "attributes": {
              "constant": false,
              "name": "regFactory",
              "scope": 9267,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "contract EVMScriptRegistryFactory",
              "value": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "contractScope": null,
                  "name": "EVMScriptRegistryFactory",
                  "referencedDeclaration": 9500,
                  "type": "contract EVMScriptRegistryFactory"
                },
                "id": 9091,
                "name": "UserDefinedTypeName",
                "src": "247:24:38"
              }
            ],
            "id": 9092,
            "name": "VariableDeclaration",
            "src": "247:42:38"
          },
          {
            "attributes": {
              "anonymous": false,
              "name": "DeployDAO"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "name": "dao",
                      "scope": 9096,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 9093,
                        "name": "ElementaryTypeName",
                        "src": "312:7:38"
                      }
                    ],
                    "id": 9094,
                    "name": "VariableDeclaration",
                    "src": "312:11:38"
                  }
                ],
                "id": 9095,
                "name": "ParameterList",
                "src": "311:13:38"
              }
            ],
            "id": 9096,
            "name": "EventDefinition",
            "src": "296:29:38"
          },
          {
            "attributes": {
              "anonymous": false,
              "name": "DeployEVMScriptRegistry"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "name": "reg",
                      "scope": 9100,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 9097,
                        "name": "ElementaryTypeName",
                        "src": "360:7:38"
                      }
                    ],
                    "id": 9098,
                    "name": "VariableDeclaration",
                    "src": "360:11:38"
                  }
                ],
                "id": 9099,
                "name": "ParameterList",
                "src": "359:13:38"
              }
            ],
            "id": 9100,
            "name": "EventDefinition",
            "src": "330:43:38"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": true,
              "modifiers": [
                null
              ],
              "name": "DAOFactory",
              "payable": false,
              "scope": 9267,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_baseKernel",
                      "scope": 9131,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 9101,
                        "name": "ElementaryTypeName",
                        "src": "399:7:38"
                      }
                    ],
                    "id": 9102,
                    "name": "VariableDeclaration",
                    "src": "399:19:38"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_baseACL",
                      "scope": 9131,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 9103,
                        "name": "ElementaryTypeName",
                        "src": "420:7:38"
                      }
                    ],
                    "id": 9104,
                    "name": "VariableDeclaration",
                    "src": "420:16:38"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_regFactory",
                      "scope": 9131,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 9105,
                        "name": "ElementaryTypeName",
                        "src": "438:7:38"
                      }
                    ],
                    "id": 9106,
                    "name": "VariableDeclaration",
                    "src": "438:19:38"
                  }
                ],
                "id": 9107,
                "name": "ParameterList",
                "src": "398:60:38"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 9108,
                "name": "ParameterList",
                "src": "466:0:38"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "falseBody": null
                    },
                    "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": 9106,
                              "type": "address",
                              "value": "_regFactory"
                            },
                            "id": 9109,
                            "name": "Identifier",
                            "src": "543:11:38"
                          },
                          {
                            "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": 9110,
                                "name": "ElementaryTypeNameExpression",
                                "src": "558:7:38"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "30",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 0",
                                  "value": "0"
                                },
                                "id": 9111,
                                "name": "Literal",
                                "src": "566:1:38"
                              }
                            ],
                            "id": 9112,
                            "name": "FunctionCall",
                            "src": "558:10:38"
                          }
                        ],
                        "id": 9113,
                        "name": "BinaryOperation",
                        "src": "543:25:38"
                      },
                      {
                        "children": [
                          {
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": "=",
                                  "type": "contract EVMScriptRegistryFactory"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 9092,
                                      "type": "contract EVMScriptRegistryFactory",
                                      "value": "regFactory"
                                    },
                                    "id": 9114,
                                    "name": "Identifier",
                                    "src": "584:10:38"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "isStructConstructorCall": false,
                                      "lValueRequested": false,
                                      "names": [
                                        null
                                      ],
                                      "type": "contract EVMScriptRegistryFactory",
                                      "type_conversion": true
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_address",
                                              "typeString": "address"
                                            }
                                          ],
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 9500,
                                          "type": "type(contract EVMScriptRegistryFactory)",
                                          "value": "EVMScriptRegistryFactory"
                                        },
                                        "id": 9115,
                                        "name": "Identifier",
                                        "src": "597:24:38"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 9106,
                                          "type": "address",
                                          "value": "_regFactory"
                                        },
                                        "id": 9116,
                                        "name": "Identifier",
                                        "src": "622:11:38"
                                      }
                                    ],
                                    "id": 9117,
                                    "name": "FunctionCall",
                                    "src": "597:37:38"
                                  }
                                ],
                                "id": 9118,
                                "name": "Assignment",
                                "src": "584:50:38"
                              }
                            ],
                            "id": 9119,
                            "name": "ExpressionStatement",
                            "src": "584:50:38"
                          }
                        ],
                        "id": 9120,
                        "name": "Block",
                        "src": "570:75:38"
                      }
                    ],
                    "id": 9121,
                    "name": "IfStatement",
                    "src": "539:106:38"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "address"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9088,
                              "type": "address",
                              "value": "baseKernel"
                            },
                            "id": 9122,
                            "name": "Identifier",
                            "src": "655:10:38"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9102,
                              "type": "address",
                              "value": "_baseKernel"
                            },
                            "id": 9123,
                            "name": "Identifier",
                            "src": "668:11:38"
                          }
                        ],
                        "id": 9124,
                        "name": "Assignment",
                        "src": "655:24:38"
                      }
                    ],
                    "id": 9125,
                    "name": "ExpressionStatement",
                    "src": "655:24:38"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "address"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9090,
                              "type": "address",
                              "value": "baseACL"
                            },
                            "id": 9126,
                            "name": "Identifier",
                            "src": "689:7:38"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9104,
                              "type": "address",
                              "value": "_baseACL"
                            },
                            "id": 9127,
                            "name": "Identifier",
                            "src": "699:8:38"
                          }
                        ],
                        "id": 9128,
                        "name": "Assignment",
                        "src": "689:18:38"
                      }
                    ],
                    "id": 9129,
                    "name": "ExpressionStatement",
                    "src": "689:18:38"
                  }
                ],
                "id": 9130,
                "name": "Block",
                "src": "466:248:38"
              }
            ],
            "id": 9131,
            "name": "FunctionDefinition",
            "src": "379:335:38"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "newDAO",
              "payable": false,
              "scope": 9267,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_root",
                      "scope": 9266,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 9132,
                        "name": "ElementaryTypeName",
                        "src": "832:7:38"
                      }
                    ],
                    "id": 9133,
                    "name": "VariableDeclaration",
                    "src": "832:13:38"
                  }
                ],
                "id": 9134,
                "name": "ParameterList",
                "src": "831:15:38"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "dao",
                      "scope": 9266,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract Kernel",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "Kernel",
                          "referencedDeclaration": 9891,
                          "type": "contract Kernel"
                        },
                        "id": 9135,
                        "name": "UserDefinedTypeName",
                        "src": "863:6:38"
                      }
                    ],
                    "id": 9136,
                    "name": "VariableDeclaration",
                    "src": "863:10:38"
                  }
                ],
                "id": 9137,
                "name": "ParameterList",
                "src": "862:12:38"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "contract Kernel"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9136,
                              "type": "contract Kernel",
                              "value": "dao"
                            },
                            "id": 9138,
                            "name": "Identifier",
                            "src": "885:3:38"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "contract Kernel",
                              "type_conversion": true
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_contract$_KernelProxy_$9927",
                                      "typeString": "contract KernelProxy"
                                    }
                                  ],
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 9891,
                                  "type": "type(contract Kernel)",
                                  "value": "Kernel"
                                },
                                "id": 9139,
                                "name": "Identifier",
                                "src": "891:6:38"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "isStructConstructorCall": false,
                                  "lValueRequested": false,
                                  "names": [
                                    null
                                  ],
                                  "type": "contract KernelProxy",
                                  "type_conversion": false
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        }
                                      ],
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "function (address) returns (contract KernelProxy)"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "contractScope": null,
                                          "name": "KernelProxy",
                                          "referencedDeclaration": 9927,
                                          "type": "contract KernelProxy"
                                        },
                                        "id": 9140,
                                        "name": "UserDefinedTypeName",
                                        "src": "902:11:38"
                                      }
                                    ],
                                    "id": 9141,
                                    "name": "NewExpression",
                                    "src": "898:15:38"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 9088,
                                      "type": "address",
                                      "value": "baseKernel"
                                    },
                                    "id": 9142,
                                    "name": "Identifier",
                                    "src": "914:10:38"
                                  }
                                ],
                                "id": 9143,
                                "name": "FunctionCall",
                                "src": "898:27:38"
                              }
                            ],
                            "id": 9144,
                            "name": "FunctionCall",
                            "src": "891:35:38"
                          }
                        ],
                        "id": 9145,
                        "name": "Assignment",
                        "src": "885:41:38"
                      }
                    ],
                    "id": 9146,
                    "name": "ExpressionStatement",
                    "src": "885:41:38"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        9148
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "initialRoot",
                          "scope": 9266,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "address",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "address",
                              "type": "address"
                            },
                            "id": 9147,
                            "name": "ElementaryTypeName",
                            "src": "937:7:38"
                          }
                        ],
                        "id": 9148,
                        "name": "VariableDeclaration",
                        "src": "937:19:38"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "address"
                        },
                        "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,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "isStructConstructorCall": false,
                                  "lValueRequested": false,
                                  "names": [
                                    null
                                  ],
                                  "type": "address",
                                  "type_conversion": true
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_contract$_EVMScriptRegistryFactory_$9500",
                                          "typeString": "contract EVMScriptRegistryFactory"
                                        }
                                      ],
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "type": "type(address)",
                                      "value": "address"
                                    },
                                    "id": 9149,
                                    "name": "ElementaryTypeNameExpression",
                                    "src": "959:7:38"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 9092,
                                      "type": "contract EVMScriptRegistryFactory",
                                      "value": "regFactory"
                                    },
                                    "id": 9150,
                                    "name": "Identifier",
                                    "src": "967:10:38"
                                  }
                                ],
                                "id": 9151,
                                "name": "FunctionCall",
                                "src": "959:19:38"
                              },
                              {
                                "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": 9152,
                                    "name": "ElementaryTypeNameExpression",
                                    "src": "982:7:38"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "hexvalue": "30",
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "subdenomination": null,
                                      "token": "number",
                                      "type": "int_const 0",
                                      "value": "0"
                                    },
                                    "id": 9153,
                                    "name": "Literal",
                                    "src": "990:1:38"
                                  }
                                ],
                                "id": 9154,
                                "name": "FunctionCall",
                                "src": "982:10:38"
                              }
                            ],
                            "id": 9155,
                            "name": "BinaryOperation",
                            "src": "959:33:38"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 12675,
                              "type": "contract DAOFactory",
                              "value": "this"
                            },
                            "id": 9156,
                            "name": "Identifier",
                            "src": "995:4:38"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9133,
                              "type": "address",
                              "value": "_root"
                            },
                            "id": 9157,
                            "name": "Identifier",
                            "src": "1002:5:38"
                          }
                        ],
                        "id": 9158,
                        "name": "Conditional",
                        "src": "959:48:38"
                      }
                    ],
                    "id": 9159,
                    "name": "VariableDeclarationStatement",
                    "src": "937:70:38"
                  },
                  {
                    "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_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              ],
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "initialize",
                              "referencedDeclaration": 9613,
                              "type": "function (address,address) external"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 9136,
                                  "type": "contract Kernel",
                                  "value": "dao"
                                },
                                "id": 9160,
                                "name": "Identifier",
                                "src": "1017:3:38"
                              }
                            ],
                            "id": 9162,
                            "name": "MemberAccess",
                            "src": "1017:14:38"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9090,
                              "type": "address",
                              "value": "baseACL"
                            },
                            "id": 9163,
                            "name": "Identifier",
                            "src": "1032:7:38"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9148,
                              "type": "address",
                              "value": "initialRoot"
                            },
                            "id": 9164,
                            "name": "Identifier",
                            "src": "1041:11:38"
                          }
                        ],
                        "id": 9165,
                        "name": "FunctionCall",
                        "src": "1017:36:38"
                      }
                    ],
                    "id": 9166,
                    "name": "ExpressionStatement",
                    "src": "1017:36:38"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        9168
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "acl",
                          "scope": 9266,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "contract ACL",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "ACL",
                              "referencedDeclaration": 5510,
                              "type": "contract ACL"
                            },
                            "id": 9167,
                            "name": "UserDefinedTypeName",
                            "src": "1064:3:38"
                          }
                        ],
                        "id": 9168,
                        "name": "VariableDeclaration",
                        "src": "1064:7:38"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "contract ACL",
                          "type_conversion": true
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_contract$_IACL_$6001",
                                  "typeString": "contract IACL"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 5510,
                              "type": "type(contract ACL)",
                              "value": "ACL"
                            },
                            "id": 9169,
                            "name": "Identifier",
                            "src": "1074:3:38"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "arguments": [
                                null
                              ],
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "contract IACL",
                              "type_conversion": false
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    null
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "acl",
                                  "referencedDeclaration": 9724,
                                  "type": "function () view external returns (contract IACL)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 9136,
                                      "type": "contract Kernel",
                                      "value": "dao"
                                    },
                                    "id": 9170,
                                    "name": "Identifier",
                                    "src": "1078:3:38"
                                  }
                                ],
                                "id": 9171,
                                "name": "MemberAccess",
                                "src": "1078:7:38"
                              }
                            ],
                            "id": 9172,
                            "name": "FunctionCall",
                            "src": "1078:9:38"
                          }
                        ],
                        "id": 9173,
                        "name": "FunctionCall",
                        "src": "1074:14:38"
                      }
                    ],
                    "id": 9174,
                    "name": "VariableDeclarationStatement",
                    "src": "1064:24:38"
                  },
                  {
                    "attributes": {
                      "falseBody": null
                    },
                    "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,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "address",
                              "type_conversion": true
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_contract$_EVMScriptRegistryFactory_$9500",
                                      "typeString": "contract EVMScriptRegistryFactory"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "type": "type(address)",
                                  "value": "address"
                                },
                                "id": 9175,
                                "name": "ElementaryTypeNameExpression",
                                "src": "1103:7:38"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 9092,
                                  "type": "contract EVMScriptRegistryFactory",
                                  "value": "regFactory"
                                },
                                "id": 9176,
                                "name": "Identifier",
                                "src": "1111:10:38"
                              }
                            ],
                            "id": 9177,
                            "name": "FunctionCall",
                            "src": "1103:19:38"
                          },
                          {
                            "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": 9178,
                                "name": "ElementaryTypeNameExpression",
                                "src": "1126:7:38"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "30",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 0",
                                  "value": "0"
                                },
                                "id": 9179,
                                "name": "Literal",
                                "src": "1134:1:38"
                              }
                            ],
                            "id": 9180,
                            "name": "FunctionCall",
                            "src": "1126:10:38"
                          }
                        ],
                        "id": 9181,
                        "name": "BinaryOperation",
                        "src": "1103:33:38"
                      },
                      {
                        "children": [
                          {
                            "attributes": {
                              "assignments": [
                                9183
                              ]
                            },
                            "children": [
                              {
                                "attributes": {
                                  "constant": false,
                                  "name": "permRole",
                                  "scope": 9266,
                                  "stateVariable": false,
                                  "storageLocation": "default",
                                  "type": "bytes32",
                                  "value": null,
                                  "visibility": "internal"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "name": "bytes32",
                                      "type": "bytes32"
                                    },
                                    "id": 9182,
                                    "name": "ElementaryTypeName",
                                    "src": "1152:7:38"
                                  }
                                ],
                                "id": 9183,
                                "name": "VariableDeclaration",
                                "src": "1152:16:38"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "arguments": [
                                    null
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "isStructConstructorCall": false,
                                  "lValueRequested": false,
                                  "names": [
                                    null
                                  ],
                                  "type": "bytes32",
                                  "type_conversion": false
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": [
                                        null
                                      ],
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "member_name": "CREATE_PERMISSIONS_ROLE",
                                      "referencedDeclaration": 4425,
                                      "type": "function () view external returns (bytes32)"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 9168,
                                          "type": "contract ACL",
                                          "value": "acl"
                                        },
                                        "id": 9184,
                                        "name": "Identifier",
                                        "src": "1171:3:38"
                                      }
                                    ],
                                    "id": 9185,
                                    "name": "MemberAccess",
                                    "src": "1171:27:38"
                                  }
                                ],
                                "id": 9186,
                                "name": "FunctionCall",
                                "src": "1171:29:38"
                              }
                            ],
                            "id": 9187,
                            "name": "VariableDeclarationStatement",
                            "src": "1152:48:38"
                          },
                          {
                            "attributes": {
                              "assignments": [
                                9189
                              ]
                            },
                            "children": [
                              {
                                "attributes": {
                                  "constant": false,
                                  "name": "appManagerRole",
                                  "scope": 9266,
                                  "stateVariable": false,
                                  "storageLocation": "default",
                                  "type": "bytes32",
                                  "value": null,
                                  "visibility": "internal"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "name": "bytes32",
                                      "type": "bytes32"
                                    },
                                    "id": 9188,
                                    "name": "ElementaryTypeName",
                                    "src": "1214:7:38"
                                  }
                                ],
                                "id": 9189,
                                "name": "VariableDeclaration",
                                "src": "1214:22:38"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "arguments": [
                                    null
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "isStructConstructorCall": false,
                                  "lValueRequested": false,
                                  "names": [
                                    null
                                  ],
                                  "type": "bytes32",
                                  "type_conversion": false
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": [
                                        null
                                      ],
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "member_name": "APP_MANAGER_ROLE",
                                      "referencedDeclaration": 9573,
                                      "type": "function () view external returns (bytes32)"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 9136,
                                          "type": "contract Kernel",
                                          "value": "dao"
                                        },
                                        "id": 9190,
                                        "name": "Identifier",
                                        "src": "1239:3:38"
                                      }
                                    ],
                                    "id": 9191,
                                    "name": "MemberAccess",
                                    "src": "1239:20:38"
                                  }
                                ],
                                "id": 9192,
                                "name": "FunctionCall",
                                "src": "1239:22:38"
                              }
                            ],
                            "id": 9193,
                            "name": "VariableDeclarationStatement",
                            "src": "1214:47:38"
                          },
                          {
                            "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_contract$_EVMScriptRegistryFactory_$9500",
                                          "typeString": "contract EVMScriptRegistryFactory"
                                        },
                                        {
                                          "typeIdentifier": "t_contract$_ACL_$5510",
                                          "typeString": "contract ACL"
                                        },
                                        {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      ],
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "member_name": "grantPermission",
                                      "referencedDeclaration": 4604,
                                      "type": "function (address,address,bytes32) external"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 9168,
                                          "type": "contract ACL",
                                          "value": "acl"
                                        },
                                        "id": 9194,
                                        "name": "Identifier",
                                        "src": "1276:3:38"
                                      }
                                    ],
                                    "id": 9196,
                                    "name": "MemberAccess",
                                    "src": "1276:19:38"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 9092,
                                      "type": "contract EVMScriptRegistryFactory",
                                      "value": "regFactory"
                                    },
                                    "id": 9197,
                                    "name": "Identifier",
                                    "src": "1296:10:38"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 9168,
                                      "type": "contract ACL",
                                      "value": "acl"
                                    },
                                    "id": 9198,
                                    "name": "Identifier",
                                    "src": "1308:3:38"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 9183,
                                      "type": "bytes32",
                                      "value": "permRole"
                                    },
                                    "id": 9199,
                                    "name": "Identifier",
                                    "src": "1313:8:38"
                                  }
                                ],
                                "id": 9200,
                                "name": "FunctionCall",
                                "src": "1276:46:38"
                              }
                            ],
                            "id": 9201,
                            "name": "ExpressionStatement",
                            "src": "1276:46:38"
                          },
                          {
                            "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_contract$_EVMScriptRegistryFactory_$9500",
                                          "typeString": "contract EVMScriptRegistryFactory"
                                        },
                                        {
                                          "typeIdentifier": "t_contract$_Kernel_$9891",
                                          "typeString": "contract Kernel"
                                        },
                                        {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        },
                                        {
                                          "typeIdentifier": "t_contract$_DAOFactory_$9267",
                                          "typeString": "contract DAOFactory"
                                        }
                                      ],
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "member_name": "createPermission",
                                      "referencedDeclaration": 4583,
                                      "type": "function (address,address,bytes32,address) external"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 9168,
                                          "type": "contract ACL",
                                          "value": "acl"
                                        },
                                        "id": 9202,
                                        "name": "Identifier",
                                        "src": "1337:3:38"
                                      }
                                    ],
                                    "id": 9204,
                                    "name": "MemberAccess",
                                    "src": "1337:20:38"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 9092,
                                      "type": "contract EVMScriptRegistryFactory",
                                      "value": "regFactory"
                                    },
                                    "id": 9205,
                                    "name": "Identifier",
                                    "src": "1358:10:38"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 9136,
                                      "type": "contract Kernel",
                                      "value": "dao"
                                    },
                                    "id": 9206,
                                    "name": "Identifier",
                                    "src": "1370:3:38"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 9189,
                                      "type": "bytes32",
                                      "value": "appManagerRole"
                                    },
                                    "id": 9207,
                                    "name": "Identifier",
                                    "src": "1375:14:38"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 12675,
                                      "type": "contract DAOFactory",
                                      "value": "this"
                                    },
                                    "id": 9208,
                                    "name": "Identifier",
                                    "src": "1391:4:38"
                                  }
                                ],
                                "id": 9209,
                                "name": "FunctionCall",
                                "src": "1337:59:38"
                              }
                            ],
                            "id": 9210,
                            "name": "ExpressionStatement",
                            "src": "1337:59:38"
                          },
                          {
                            "attributes": {
                              "assignments": [
                                9212
                              ]
                            },
                            "children": [
                              {
                                "attributes": {
                                  "constant": false,
                                  "name": "reg",
                                  "scope": 9266,
                                  "stateVariable": false,
                                  "storageLocation": "default",
                                  "type": "contract EVMScriptRegistry",
                                  "value": null,
                                  "visibility": "internal"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "contractScope": null,
                                      "name": "EVMScriptRegistry",
                                      "referencedDeclaration": 7710,
                                      "type": "contract EVMScriptRegistry"
                                    },
                                    "id": 9211,
                                    "name": "UserDefinedTypeName",
                                    "src": "1411:17:38"
                                  }
                                ],
                                "id": 9212,
                                "name": "VariableDeclaration",
                                "src": "1411:21:38"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "isStructConstructorCall": false,
                                  "lValueRequested": false,
                                  "names": [
                                    null
                                  ],
                                  "type": "contract EVMScriptRegistry",
                                  "type_conversion": false
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_contract$_Kernel_$9891",
                                          "typeString": "contract Kernel"
                                        },
                                        {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        }
                                      ],
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "member_name": "newEVMScriptRegistry",
                                      "referencedDeclaration": 9499,
                                      "type": "function (contract Kernel,address) external returns (contract EVMScriptRegistry)"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 9092,
                                          "type": "contract EVMScriptRegistryFactory",
                                          "value": "regFactory"
                                        },
                                        "id": 9213,
                                        "name": "Identifier",
                                        "src": "1435:10:38"
                                      }
                                    ],
                                    "id": 9214,
                                    "name": "MemberAccess",
                                    "src": "1435:31:38"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 9136,
                                      "type": "contract Kernel",
                                      "value": "dao"
                                    },
                                    "id": 9215,
                                    "name": "Identifier",
                                    "src": "1467:3:38"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 9133,
                                      "type": "address",
                                      "value": "_root"
                                    },
                                    "id": 9216,
                                    "name": "Identifier",
                                    "src": "1472:5:38"
                                  }
                                ],
                                "id": 9217,
                                "name": "FunctionCall",
                                "src": "1435:43:38"
                              }
                            ],
                            "id": 9218,
                            "name": "VariableDeclarationStatement",
                            "src": "1411:67:38"
                          },
                          {
                            "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_address",
                                          "typeString": "address"
                                        }
                                      ],
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 9100,
                                      "type": "function (address)",
                                      "value": "DeployEVMScriptRegistry"
                                    },
                                    "id": 9219,
                                    "name": "Identifier",
                                    "src": "1492:23:38"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "isStructConstructorCall": false,
                                      "lValueRequested": false,
                                      "names": [
                                        null
                                      ],
                                      "type": "address",
                                      "type_conversion": true
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_contract$_EVMScriptRegistry_$7710",
                                              "typeString": "contract EVMScriptRegistry"
                                            }
                                          ],
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "type": "type(address)",
                                          "value": "address"
                                        },
                                        "id": 9220,
                                        "name": "ElementaryTypeNameExpression",
                                        "src": "1516:7:38"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 9212,
                                          "type": "contract EVMScriptRegistry",
                                          "value": "reg"
                                        },
                                        "id": 9221,
                                        "name": "Identifier",
                                        "src": "1524:3:38"
                                      }
                                    ],
                                    "id": 9222,
                                    "name": "FunctionCall",
                                    "src": "1516:12:38"
                                  }
                                ],
                                "id": 9223,
                                "name": "FunctionCall",
                                "src": "1492:37:38"
                              }
                            ],
                            "id": 9224,
                            "name": "ExpressionStatement",
                            "src": "1492:37:38"
                          },
                          {
                            "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_contract$_EVMScriptRegistryFactory_$9500",
                                          "typeString": "contract EVMScriptRegistryFactory"
                                        },
                                        {
                                          "typeIdentifier": "t_contract$_Kernel_$9891",
                                          "typeString": "contract Kernel"
                                        },
                                        {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      ],
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "member_name": "revokePermission",
                                      "referencedDeclaration": 4680,
                                      "type": "function (address,address,bytes32) external"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 9168,
                                          "type": "contract ACL",
                                          "value": "acl"
                                        },
                                        "id": 9225,
                                        "name": "Identifier",
                                        "src": "1544:3:38"
                                      }
                                    ],
                                    "id": 9227,
                                    "name": "MemberAccess",
                                    "src": "1544:20:38"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 9092,
                                      "type": "contract EVMScriptRegistryFactory",
                                      "value": "regFactory"
                                    },
                                    "id": 9228,
                                    "name": "Identifier",
                                    "src": "1565:10:38"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 9136,
                                      "type": "contract Kernel",
                                      "value": "dao"
                                    },
                                    "id": 9229,
                                    "name": "Identifier",
                                    "src": "1577:3:38"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 9189,
                                      "type": "bytes32",
                                      "value": "appManagerRole"
                                    },
                                    "id": 9230,
                                    "name": "Identifier",
                                    "src": "1582:14:38"
                                  }
                                ],
                                "id": 9231,
                                "name": "FunctionCall",
                                "src": "1544:53:38"
                              }
                            ],
                            "id": 9232,
                            "name": "ExpressionStatement",
                            "src": "1544:53:38"
                          },
                          {
                            "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_address",
                                          "typeString": "address"
                                        },
                                        {
                                          "typeIdentifier": "t_contract$_ACL_$5510",
                                          "typeString": "contract ACL"
                                        },
                                        {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      ],
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "member_name": "grantPermission",
                                      "referencedDeclaration": 4604,
                                      "type": "function (address,address,bytes32) external"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 9168,
                                          "type": "contract ACL",
                                          "value": "acl"
                                        },
                                        "id": 9233,
                                        "name": "Identifier",
                                        "src": "1611:3:38"
                                      }
                                    ],
                                    "id": 9235,
                                    "name": "MemberAccess",
                                    "src": "1611:19:38"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 9133,
                                      "type": "address",
                                      "value": "_root"
                                    },
                                    "id": 9236,
                                    "name": "Identifier",
                                    "src": "1631:5:38"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 9168,
                                      "type": "contract ACL",
                                      "value": "acl"
                                    },
                                    "id": 9237,
                                    "name": "Identifier",
                                    "src": "1638:3:38"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 9183,
                                      "type": "bytes32",
                                      "value": "permRole"
                                    },
                                    "id": 9238,
                                    "name": "Identifier",
                                    "src": "1643:8:38"
                                  }
                                ],
                                "id": 9239,
                                "name": "FunctionCall",
                                "src": "1611:41:38"
                              }
                            ],
                            "id": 9240,
                            "name": "ExpressionStatement",
                            "src": "1611:41:38"
                          },
                          {
                            "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_address",
                                          "typeString": "address"
                                        },
                                        {
                                          "typeIdentifier": "t_contract$_Kernel_$9891",
                                          "typeString": "contract Kernel"
                                        },
                                        {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      ],
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "member_name": "setPermissionManager",
                                      "referencedDeclaration": 4700,
                                      "type": "function (address,address,bytes32) external"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 9168,
                                          "type": "contract ACL",
                                          "value": "acl"
                                        },
                                        "id": 9241,
                                        "name": "Identifier",
                                        "src": "1667:3:38"
                                      }
                                    ],
                                    "id": 9243,
                                    "name": "MemberAccess",
                                    "src": "1667:24:38"
                                  },
                                  {
                                    "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": 9244,
                                        "name": "ElementaryTypeNameExpression",
                                        "src": "1692:7:38"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "hexvalue": "30",
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "subdenomination": null,
                                          "token": "number",
                                          "type": "int_const 0",
                                          "value": "0"
                                        },
                                        "id": 9245,
                                        "name": "Literal",
                                        "src": "1700:1:38"
                                      }
                                    ],
                                    "id": 9246,
                                    "name": "FunctionCall",
                                    "src": "1692:10:38"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 9136,
                                      "type": "contract Kernel",
                                      "value": "dao"
                                    },
                                    "id": 9247,
                                    "name": "Identifier",
                                    "src": "1704:3:38"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 9189,
                                      "type": "bytes32",
                                      "value": "appManagerRole"
                                    },
                                    "id": 9248,
                                    "name": "Identifier",
                                    "src": "1709:14:38"
                                  }
                                ],
                                "id": 9249,
                                "name": "FunctionCall",
                                "src": "1667:57:38"
                              }
                            ],
                            "id": 9250,
                            "name": "ExpressionStatement",
                            "src": "1667:57:38"
                          },
                          {
                            "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_address",
                                          "typeString": "address"
                                        },
                                        {
                                          "typeIdentifier": "t_contract$_ACL_$5510",
                                          "typeString": "contract ACL"
                                        },
                                        {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      ],
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "member_name": "setPermissionManager",
                                      "referencedDeclaration": 4700,
                                      "type": "function (address,address,bytes32) external"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 9168,
                                          "type": "contract ACL",
                                          "value": "acl"
                                        },
                                        "id": 9251,
                                        "name": "Identifier",
                                        "src": "1738:3:38"
                                      }
                                    ],
                                    "id": 9253,
                                    "name": "MemberAccess",
                                    "src": "1738:24:38"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 9133,
                                      "type": "address",
                                      "value": "_root"
                                    },
                                    "id": 9254,
                                    "name": "Identifier",
                                    "src": "1763:5:38"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 9168,
                                      "type": "contract ACL",
                                      "value": "acl"
                                    },
                                    "id": 9255,
                                    "name": "Identifier",
                                    "src": "1770:3:38"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 9183,
                                      "type": "bytes32",
                                      "value": "permRole"
                                    },
                                    "id": 9256,
                                    "name": "Identifier",
                                    "src": "1775:8:38"
                                  }
                                ],
                                "id": 9257,
                                "name": "FunctionCall",
                                "src": "1738:46:38"
                              }
                            ],
                            "id": 9258,
                            "name": "ExpressionStatement",
                            "src": "1738:46:38"
                          }
                        ],
                        "id": 9259,
                        "name": "Block",
                        "src": "1138:657:38"
                      }
                    ],
                    "id": 9260,
                    "name": "IfStatement",
                    "src": "1099:696:38"
                  },
                  {
                    "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_contract$_Kernel_$9891",
                                  "typeString": "contract Kernel"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9096,
                              "type": "function (address)",
                              "value": "DeployDAO"
                            },
                            "id": 9261,
                            "name": "Identifier",
                            "src": "1805:9:38"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9136,
                              "type": "contract Kernel",
                              "value": "dao"
                            },
                            "id": 9262,
                            "name": "Identifier",
                            "src": "1815:3:38"
                          }
                        ],
                        "id": 9263,
                        "name": "FunctionCall",
                        "src": "1805:14:38"
                      }
                    ],
                    "id": 9264,
                    "name": "ExpressionStatement",
                    "src": "1805:14:38"
                  }
                ],
                "id": 9265,
                "name": "Block",
                "src": "875:951:38"
              }
            ],
            "id": 9266,
            "name": "FunctionDefinition",
            "src": "816:1010:38"
          }
        ],
        "id": 9267,
        "name": "ContractDefinition",
        "src": "162:1666:38"
      }
    ],
    "id": 9268,
    "name": "SourceUnit",
    "src": "0:1829:38"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.18+commit.9cf6e910.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "1.0.1",
  "updatedAt": "2018-03-14T08:41:25.095Z"
}