{
  "contractName": "AppProxyFactory",
  "abi": [
    {
      "constant": false,
      "inputs": [
        {
          "name": "_kernel",
          "type": "address"
        },
        {
          "name": "_appId",
          "type": "bytes32"
        },
        {
          "name": "_initializePayload",
          "type": "bytes"
        }
      ],
      "name": "newAppProxyPinned",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_kernel",
          "type": "address"
        },
        {
          "name": "_appId",
          "type": "bytes32"
        }
      ],
      "name": "newAppProxy",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_kernel",
          "type": "address"
        },
        {
          "name": "_appId",
          "type": "bytes32"
        },
        {
          "name": "_initializePayload",
          "type": "bytes"
        }
      ],
      "name": "newAppProxy",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_kernel",
          "type": "address"
        },
        {
          "name": "_appId",
          "type": "bytes32"
        }
      ],
      "name": "newAppProxyPinned",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "name": "proxy",
          "type": "address"
        }
      ],
      "name": "NewAppProxy",
      "type": "event"
    }
  ],
  "bytecode": "0x6060604052341561000f57600080fd5b611c7e8061001e6000396000f300606060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063d162f8b014610067578063e156a8f314610130578063ede658b0146101b6578063ff289fc51461027f575b600080fd5b341561007257600080fd5b6100ee600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080356000191690602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610305565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561013b57600080fd5b610174600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080356000191690602001909190505061044a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101c157600080fd5b61023d600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080356000191690602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610482565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561028a57600080fd5b6102c3600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035600019169060200190919050506105c7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000808484846103136105ff565b808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001836000191660001916815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610390578082015181840152602081019050610375565b50505050905090810190601f1680156103bd5780820380516001836020036101000a031916815260200191505b50945050505050604051809103906000f08015156103da57600080fd5b90507fe28f1412cafe58e22073759128eddcccfd9c1e3326665df874bdaf26077231a981604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1809150509392505050565b600061047a838360006040518059106104605750595b9080825280601f01601f1916602001820160405250610482565b905092915050565b60008084848461049061060f565b808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001836000191660001916815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561050d5780820151818401526020810190506104f2565b50505050905090810190601f16801561053a5780820380516001836020036101000a031916815260200191505b50945050505050604051809103906000f080151561055757600080fd5b90507fe28f1412cafe58e22073759128eddcccfd9c1e3326665df874bdaf26077231a981604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1809150509392505050565b60006105f7838360006040518059106105dd5750595b9080825280601f01601f1916602001820160405250610305565b905092915050565b604051610b2a8061062083390190565b604051610b098061114a8339019056006060604052341561000f57600080fd5b604051610b2a380380610b2a833981016040528080519060200190919080519060200190919080518201919050508282826000836000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600181600019169055506100ab60015461023b64010000000002610655176401000000009004565b9050600082511115610173576100d38161036164010000000002610642176401000000009004565b15156100de57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff168260405180828051906020019080838360005b83811015610123578082015181840152602081019050610108565b50505050905090810190601f1680156101505780820380516001836020036101000a031916815260200191505b509150506000604051808303818561646e5a03f4915050151561017257600080fd5b5b5050505061019560015461023b64010000000002610655176401000000009004565b600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415151561023357600080fd5b505050610374565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342c71f1d60405180807f6261736500000000000000000000000000000000000000000000000000000000815250600401905060405180910390208460405180836000191660001916815260200182600019166000191681526020019250505060405180910390206000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b151561033f57600080fd5b6102c65a03f1151561035057600080fd5b505050604051805190509050919050565b600080823b905060008111915050919050565b6107a7806103836000396000f3006060604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680631113ed0d146100f5578063178e6079146101265780632501269914610157578063756f60491461018857806380afdea8146101b9578063a3b4b07f146101ea578063cbcc65eb1461021b578063d4aae0c41461024c578063daa3a163146102a1578063db8a61d4146102ce578063ea879634146102ff575b6100f36100ba610354565b6000368080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505061037e565b005b341561010057600080fd5b6101086103bc565b60405180826000191660001916815260200191505060405180910390f35b341561013157600080fd5b6101396103f5565b60405180826000191660001916815260200191505060405180910390f35b341561016257600080fd5b61016a61042e565b60405180826000191660001916815260200191505060405180910390f35b341561019357600080fd5b61019b6104c9565b60405180826000191660001916815260200191505060405180910390f35b34156101c457600080fd5b6101cc610502565b60405180826000191660001916815260200191505060405180910390f35b34156101f557600080fd5b6101fd610508565b60405180826000191660001916815260200191505060405180910390f35b341561022657600080fd5b61022e6105a3565b60405180826000191660001916815260200191505060405180910390f35b341561025757600080fd5b61025f6105dc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156102ac57600080fd5b6102b4610601565b604051808215151515815260200191505060405180910390f35b34156102d957600080fd5b6102e1610609565b60405180826000191660001916815260200191505060405180910390f35b341561030a57600080fd5b610312610354565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61038782610642565b151561039257600080fd5b600080825160208401856127105a03f43d604051816000823e82600081146103b8578282f35b8282fd5b60405180807f6b65726e656c2e617261676f6e706d2e657468000000000000000000000000008152506013019050604051809103902081565b60405180807f61707000000000000000000000000000000000000000000000000000000000008152506003019050604051809103902081565b60405180807f636f7265000000000000000000000000000000000000000000000000000000008152506004019050604051809103902060405180807f6b65726e656c2e617261676f6e706d2e6574680000000000000000000000000081525060130190506040518091039020604051808360001916600019168152602001826000191660001916815260200192505050604051809103902081565b60405180807f636f7265000000000000000000000000000000000000000000000000000000008152506004019050604051809103902081565b60015481565b60405180807f61707000000000000000000000000000000000000000000000000000000000008152506003019050604051809103902060405180807f61636c2e617261676f6e706d2e6574680000000000000000000000000000000081525060100190506040518091039020604051808360001916600019168152602001826000191660001916815260200192505050604051809103902081565b60405180807f61636c2e617261676f6e706d2e657468000000000000000000000000000000008152506010019050604051809103902081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080905090565b60405180807f62617365000000000000000000000000000000000000000000000000000000008152506004019050604051809103902081565b600080823b905060008111915050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342c71f1d60405180807f6261736500000000000000000000000000000000000000000000000000000000815250600401905060405180910390208460405180836000191660001916815260200182600019166000191681526020019250505060405180910390206000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b151561075957600080fd5b6102c65a03f1151561076a57600080fd5b5050506040518051905090509190505600a165627a7a72305820b5d81f69b6750f0b2f8ca76fd9719ae3361420197c677ba94a2d64728dc49c4100296060604052341561000f57600080fd5b604051610b09380380610b09833981016040528080519060200190919080519060200190919080518201919050508282826000836000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600181600019169055506100ab60015461017f640100000000026106dd176401000000009004565b9050600082511115610173576100d3816102a564010000000002610803176401000000009004565b15156100de57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff168260405180828051906020019080838360005b83811015610123578082015181840152602081019050610108565b50505050905090810190601f1680156101505780820380516001836020036101000a031916815260200191505b509150506000604051808303818561646e5a03f4915050151561017257600080fd5b5b505050505050506102b8565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342c71f1d60405180807f6261736500000000000000000000000000000000000000000000000000000000815250600401905060405180910390208460405180836000191660001916815260200182600019166000191681526020019250505060405180910390206000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b151561028357600080fd5b6102c65a03f1151561029457600080fd5b505050604051805190509050919050565b600080823b905060008111915050919050565b610842806102c76000396000f3006060604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680631113ed0d1461012c578063178e60791461015d578063250126991461018e5780633bc7ebac146101bf578063756f60491461021457806380afdea814610245578063a3b4b07f14610276578063cbcc65eb146102a7578063d4aae0c4146102d8578063daa3a1631461032d578063db8a61d41461035a578063ea8796341461038b575b60006100c46103e0565b905060008173ffffffffffffffffffffffffffffffffffffffff16141515156100ec57600080fd5b610129816000368080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050506103f2565b50005b341561013757600080fd5b61013f610430565b60405180826000191660001916815260200191505060405180910390f35b341561016857600080fd5b610170610469565b60405180826000191660001916815260200191505060405180910390f35b341561019957600080fd5b6101a16104a2565b60405180826000191660001916815260200191505060405180910390f35b34156101ca57600080fd5b6101d261053d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561021f57600080fd5b610227610563565b60405180826000191660001916815260200191505060405180910390f35b341561025057600080fd5b61025861059c565b60405180826000191660001916815260200191505060405180910390f35b341561028157600080fd5b6102896105a2565b60405180826000191660001916815260200191505060405180910390f35b34156102b257600080fd5b6102ba61063d565b60405180826000191660001916815260200191505060405180910390f35b34156102e357600080fd5b6102eb610676565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561033857600080fd5b61034061069b565b604051808215151515815260200191505060405180910390f35b341561036557600080fd5b61036d6106a4565b60405180826000191660001916815260200191505060405180910390f35b341561039657600080fd5b61039e6103e0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60006103ed6001546106dd565b905090565b6103fb82610803565b151561040657600080fd5b600080825160208401856127105a03f43d604051816000823e826000811461042c578282f35b8282fd5b60405180807f6b65726e656c2e617261676f6e706d2e657468000000000000000000000000008152506013019050604051809103902081565b60405180807f61707000000000000000000000000000000000000000000000000000000000008152506003019050604051809103902081565b60405180807f636f7265000000000000000000000000000000000000000000000000000000008152506004019050604051809103902060405180807f6b65726e656c2e617261676f6e706d2e6574680000000000000000000000000081525060130190506040518091039020604051808360001916600019168152602001826000191660001916815260200192505050604051809103902081565b606460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60405180807f636f7265000000000000000000000000000000000000000000000000000000008152506004019050604051809103902081565b60015481565b60405180807f61707000000000000000000000000000000000000000000000000000000000008152506003019050604051809103902060405180807f61636c2e617261676f6e706d2e6574680000000000000000000000000000000081525060100190506040518091039020604051808360001916600019168152602001826000191660001916815260200192505050604051809103902081565b60405180807f61636c2e617261676f6e706d2e657468000000000000000000000000000000008152506010019050604051809103902081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006001905090565b60405180807f62617365000000000000000000000000000000000000000000000000000000008152506004019050604051809103902081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342c71f1d60405180807f6261736500000000000000000000000000000000000000000000000000000000815250600401905060405180910390208460405180836000191660001916815260200182600019166000191681526020019250505060405180910390206000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15156107e157600080fd5b6102c65a03f115156107f257600080fd5b505050604051805190509050919050565b600080823b9050600081119150509190505600a165627a7a72305820ef3c6c95f97152c15964434ad01baaa1da415b559a1268635b7357c955f04b680029a165627a7a72305820763a5087a407efd2720199fa6ebf70074206c4b6345e569ab09923c550214a980029",
  "deployedBytecode": "0x606060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063d162f8b014610067578063e156a8f314610130578063ede658b0146101b6578063ff289fc51461027f575b600080fd5b341561007257600080fd5b6100ee600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080356000191690602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610305565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561013b57600080fd5b610174600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080356000191690602001909190505061044a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101c157600080fd5b61023d600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080356000191690602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610482565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561028a57600080fd5b6102c3600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035600019169060200190919050506105c7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000808484846103136105ff565b808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001836000191660001916815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610390578082015181840152602081019050610375565b50505050905090810190601f1680156103bd5780820380516001836020036101000a031916815260200191505b50945050505050604051809103906000f08015156103da57600080fd5b90507fe28f1412cafe58e22073759128eddcccfd9c1e3326665df874bdaf26077231a981604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1809150509392505050565b600061047a838360006040518059106104605750595b9080825280601f01601f1916602001820160405250610482565b905092915050565b60008084848461049061060f565b808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001836000191660001916815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561050d5780820151818401526020810190506104f2565b50505050905090810190601f16801561053a5780820380516001836020036101000a031916815260200191505b50945050505050604051809103906000f080151561055757600080fd5b90507fe28f1412cafe58e22073759128eddcccfd9c1e3326665df874bdaf26077231a981604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1809150509392505050565b60006105f7838360006040518059106105dd5750595b9080825280601f01601f1916602001820160405250610305565b905092915050565b604051610b2a8061062083390190565b604051610b098061114a8339019056006060604052341561000f57600080fd5b604051610b2a380380610b2a833981016040528080519060200190919080519060200190919080518201919050508282826000836000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600181600019169055506100ab60015461023b64010000000002610655176401000000009004565b9050600082511115610173576100d38161036164010000000002610642176401000000009004565b15156100de57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff168260405180828051906020019080838360005b83811015610123578082015181840152602081019050610108565b50505050905090810190601f1680156101505780820380516001836020036101000a031916815260200191505b509150506000604051808303818561646e5a03f4915050151561017257600080fd5b5b5050505061019560015461023b64010000000002610655176401000000009004565b600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415151561023357600080fd5b505050610374565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342c71f1d60405180807f6261736500000000000000000000000000000000000000000000000000000000815250600401905060405180910390208460405180836000191660001916815260200182600019166000191681526020019250505060405180910390206000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b151561033f57600080fd5b6102c65a03f1151561035057600080fd5b505050604051805190509050919050565b600080823b905060008111915050919050565b6107a7806103836000396000f3006060604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680631113ed0d146100f5578063178e6079146101265780632501269914610157578063756f60491461018857806380afdea8146101b9578063a3b4b07f146101ea578063cbcc65eb1461021b578063d4aae0c41461024c578063daa3a163146102a1578063db8a61d4146102ce578063ea879634146102ff575b6100f36100ba610354565b6000368080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505061037e565b005b341561010057600080fd5b6101086103bc565b60405180826000191660001916815260200191505060405180910390f35b341561013157600080fd5b6101396103f5565b60405180826000191660001916815260200191505060405180910390f35b341561016257600080fd5b61016a61042e565b60405180826000191660001916815260200191505060405180910390f35b341561019357600080fd5b61019b6104c9565b60405180826000191660001916815260200191505060405180910390f35b34156101c457600080fd5b6101cc610502565b60405180826000191660001916815260200191505060405180910390f35b34156101f557600080fd5b6101fd610508565b60405180826000191660001916815260200191505060405180910390f35b341561022657600080fd5b61022e6105a3565b60405180826000191660001916815260200191505060405180910390f35b341561025757600080fd5b61025f6105dc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156102ac57600080fd5b6102b4610601565b604051808215151515815260200191505060405180910390f35b34156102d957600080fd5b6102e1610609565b60405180826000191660001916815260200191505060405180910390f35b341561030a57600080fd5b610312610354565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61038782610642565b151561039257600080fd5b600080825160208401856127105a03f43d604051816000823e82600081146103b8578282f35b8282fd5b60405180807f6b65726e656c2e617261676f6e706d2e657468000000000000000000000000008152506013019050604051809103902081565b60405180807f61707000000000000000000000000000000000000000000000000000000000008152506003019050604051809103902081565b60405180807f636f7265000000000000000000000000000000000000000000000000000000008152506004019050604051809103902060405180807f6b65726e656c2e617261676f6e706d2e6574680000000000000000000000000081525060130190506040518091039020604051808360001916600019168152602001826000191660001916815260200192505050604051809103902081565b60405180807f636f7265000000000000000000000000000000000000000000000000000000008152506004019050604051809103902081565b60015481565b60405180807f61707000000000000000000000000000000000000000000000000000000000008152506003019050604051809103902060405180807f61636c2e617261676f6e706d2e6574680000000000000000000000000000000081525060100190506040518091039020604051808360001916600019168152602001826000191660001916815260200192505050604051809103902081565b60405180807f61636c2e617261676f6e706d2e657468000000000000000000000000000000008152506010019050604051809103902081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080905090565b60405180807f62617365000000000000000000000000000000000000000000000000000000008152506004019050604051809103902081565b600080823b905060008111915050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342c71f1d60405180807f6261736500000000000000000000000000000000000000000000000000000000815250600401905060405180910390208460405180836000191660001916815260200182600019166000191681526020019250505060405180910390206000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b151561075957600080fd5b6102c65a03f1151561076a57600080fd5b5050506040518051905090509190505600a165627a7a72305820b5d81f69b6750f0b2f8ca76fd9719ae3361420197c677ba94a2d64728dc49c4100296060604052341561000f57600080fd5b604051610b09380380610b09833981016040528080519060200190919080519060200190919080518201919050508282826000836000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600181600019169055506100ab60015461017f640100000000026106dd176401000000009004565b9050600082511115610173576100d3816102a564010000000002610803176401000000009004565b15156100de57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff168260405180828051906020019080838360005b83811015610123578082015181840152602081019050610108565b50505050905090810190601f1680156101505780820380516001836020036101000a031916815260200191505b509150506000604051808303818561646e5a03f4915050151561017257600080fd5b5b505050505050506102b8565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342c71f1d60405180807f6261736500000000000000000000000000000000000000000000000000000000815250600401905060405180910390208460405180836000191660001916815260200182600019166000191681526020019250505060405180910390206000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b151561028357600080fd5b6102c65a03f1151561029457600080fd5b505050604051805190509050919050565b600080823b905060008111915050919050565b610842806102c76000396000f3006060604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680631113ed0d1461012c578063178e60791461015d578063250126991461018e5780633bc7ebac146101bf578063756f60491461021457806380afdea814610245578063a3b4b07f14610276578063cbcc65eb146102a7578063d4aae0c4146102d8578063daa3a1631461032d578063db8a61d41461035a578063ea8796341461038b575b60006100c46103e0565b905060008173ffffffffffffffffffffffffffffffffffffffff16141515156100ec57600080fd5b610129816000368080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050506103f2565b50005b341561013757600080fd5b61013f610430565b60405180826000191660001916815260200191505060405180910390f35b341561016857600080fd5b610170610469565b60405180826000191660001916815260200191505060405180910390f35b341561019957600080fd5b6101a16104a2565b60405180826000191660001916815260200191505060405180910390f35b34156101ca57600080fd5b6101d261053d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561021f57600080fd5b610227610563565b60405180826000191660001916815260200191505060405180910390f35b341561025057600080fd5b61025861059c565b60405180826000191660001916815260200191505060405180910390f35b341561028157600080fd5b6102896105a2565b60405180826000191660001916815260200191505060405180910390f35b34156102b257600080fd5b6102ba61063d565b60405180826000191660001916815260200191505060405180910390f35b34156102e357600080fd5b6102eb610676565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561033857600080fd5b61034061069b565b604051808215151515815260200191505060405180910390f35b341561036557600080fd5b61036d6106a4565b60405180826000191660001916815260200191505060405180910390f35b341561039657600080fd5b61039e6103e0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60006103ed6001546106dd565b905090565b6103fb82610803565b151561040657600080fd5b600080825160208401856127105a03f43d604051816000823e826000811461042c578282f35b8282fd5b60405180807f6b65726e656c2e617261676f6e706d2e657468000000000000000000000000008152506013019050604051809103902081565b60405180807f61707000000000000000000000000000000000000000000000000000000000008152506003019050604051809103902081565b60405180807f636f7265000000000000000000000000000000000000000000000000000000008152506004019050604051809103902060405180807f6b65726e656c2e617261676f6e706d2e6574680000000000000000000000000081525060130190506040518091039020604051808360001916600019168152602001826000191660001916815260200192505050604051809103902081565b606460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60405180807f636f7265000000000000000000000000000000000000000000000000000000008152506004019050604051809103902081565b60015481565b60405180807f61707000000000000000000000000000000000000000000000000000000000008152506003019050604051809103902060405180807f61636c2e617261676f6e706d2e6574680000000000000000000000000000000081525060100190506040518091039020604051808360001916600019168152602001826000191660001916815260200192505050604051809103902081565b60405180807f61636c2e617261676f6e706d2e657468000000000000000000000000000000008152506010019050604051809103902081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006001905090565b60405180807f62617365000000000000000000000000000000000000000000000000000000008152506004019050604051809103902081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342c71f1d60405180807f6261736500000000000000000000000000000000000000000000000000000000815250600401905060405180910390208460405180836000191660001916815260200182600019166000191681526020019250505060405180910390206000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15156107e157600080fd5b6102c65a03f115156107f257600080fd5b505050604051805190509050919050565b600080823b9050600081119150509190505600a165627a7a72305820ef3c6c95f97152c15964434ad01baaa1da415b559a1268635b7357c955f04b680029a165627a7a72305820763a5087a407efd2720199fa6ebf70074206c4b6345e569ab09923c550214a980029",
  "sourceMap": "106:964:37:-;;;;;;;;;;;;;;;;;",
  "deployedSourceMap": "106:964:37:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;796:272;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;176:157;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;339:281;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;626:164;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;796:272;898:14;924:20;966:7;975:6;983:18;947:55;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;924:78:37;;1012:27;1032:5;1012:27;;;;;;;;;;;;;;;;;;;;;;1056:5;1049:12;;796:272;;;;;;:::o;176:157::-;246:19;284:42;296:7;305:6;323:1;313:12;;;;;;;;;;;;;;;;;;;;;;;;;;;284:11;:42::i;:::-;277:49;;176:157;;;;:::o;339:281::-;435:19;466:25;518:7;527:6;535:18;494:60;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;466:88:37;;564:27;584:5;564:27;;;;;;;;;;;;;;;;;;;;;;608:5;601:12;;339:281;;;;;;:::o;626:164::-;702:14;735:48;753:7;762:6;780:1;770:12;;;;;;;;;;;;;;;;;;;;;;;;;;;735:17;:48::i;:::-;728:55;;626:164;;;;:::o;106:964::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o",
  "source": "pragma solidity 0.4.18;\n\nimport \"../apps/AppProxyUpgradeable.sol\";\nimport \"../apps/AppProxyPinned.sol\";\n\n\ncontract AppProxyFactory {\n    event NewAppProxy(address proxy);\n\n    function newAppProxy(IKernel _kernel, bytes32 _appId) public returns (AppProxyUpgradeable) {\n        return newAppProxy(_kernel, _appId, new bytes(0));\n    }\n\n    function newAppProxy(IKernel _kernel, bytes32 _appId, bytes _initializePayload) public returns (AppProxyUpgradeable) {\n        AppProxyUpgradeable proxy = new AppProxyUpgradeable(_kernel, _appId, _initializePayload);\n        NewAppProxy(address(proxy));\n        return proxy;\n    }\n\n    function newAppProxyPinned(IKernel _kernel, bytes32 _appId) public returns (AppProxyPinned) {\n        return newAppProxyPinned(_kernel, _appId, new bytes(0));\n    }\n\n    function newAppProxyPinned(IKernel _kernel, bytes32 _appId, bytes _initializePayload) public returns (AppProxyPinned) {\n        AppProxyPinned proxy = new AppProxyPinned(_kernel, _appId, _initializePayload);\n        NewAppProxy(address(proxy));\n        return proxy;\n    }\n}\n",
  "sourcePath": "@aragon/os/contracts/factory/AppProxyFactory.sol",
  "ast": {
    "attributes": {
      "absolutePath": "@aragon/os/contracts/factory/AppProxyFactory.sol",
      "exportedSymbols": {
        "AppProxyFactory": [
          9080
        ]
      }
    },
    "children": [
      {
        "attributes": {
          "literals": [
            "solidity",
            "0.4",
            ".18"
          ]
        },
        "id": 8977,
        "name": "PragmaDirective",
        "src": "0:23:37"
      },
      {
        "attributes": {
          "SourceUnit": 6853,
          "absolutePath": "@aragon/os/contracts/apps/AppProxyUpgradeable.sol",
          "file": "../apps/AppProxyUpgradeable.sol",
          "scope": 9081,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 8978,
        "name": "ImportDirective",
        "src": "25:41:37"
      },
      {
        "attributes": {
          "SourceUnit": 6812,
          "absolutePath": "@aragon/os/contracts/apps/AppProxyPinned.sol",
          "file": "../apps/AppProxyPinned.sol",
          "scope": 9081,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 8979,
        "name": "ImportDirective",
        "src": "67:36:37"
      },
      {
        "attributes": {
          "baseContracts": [
            null
          ],
          "contractDependencies": [
            6811,
            6852
          ],
          "contractKind": "contract",
          "documentation": null,
          "fullyImplemented": true,
          "linearizedBaseContracts": [
            9080
          ],
          "name": "AppProxyFactory",
          "scope": 9081
        },
        "children": [
          {
            "attributes": {
              "anonymous": false,
              "name": "NewAppProxy"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "name": "proxy",
                      "scope": 8983,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 8980,
                        "name": "ElementaryTypeName",
                        "src": "155:7:37"
                      }
                    ],
                    "id": 8981,
                    "name": "VariableDeclaration",
                    "src": "155:13:37"
                  }
                ],
                "id": 8982,
                "name": "ParameterList",
                "src": "154:15:37"
              }
            ],
            "id": 8983,
            "name": "EventDefinition",
            "src": "137:33:37"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "newAppProxy",
              "payable": false,
              "scope": 9080,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_kernel",
                      "scope": 9002,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract IKernel",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "IKernel",
                          "referencedDeclaration": 9550,
                          "type": "contract IKernel"
                        },
                        "id": 8984,
                        "name": "UserDefinedTypeName",
                        "src": "197:7:37"
                      }
                    ],
                    "id": 8985,
                    "name": "VariableDeclaration",
                    "src": "197:15:37"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_appId",
                      "scope": 9002,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 8986,
                        "name": "ElementaryTypeName",
                        "src": "214:7:37"
                      }
                    ],
                    "id": 8987,
                    "name": "VariableDeclaration",
                    "src": "214:14:37"
                  }
                ],
                "id": 8988,
                "name": "ParameterList",
                "src": "196:33:37"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 9002,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract AppProxyUpgradeable",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "AppProxyUpgradeable",
                          "referencedDeclaration": 6852,
                          "type": "contract AppProxyUpgradeable"
                        },
                        "id": 8989,
                        "name": "UserDefinedTypeName",
                        "src": "246:19:37"
                      }
                    ],
                    "id": 8990,
                    "name": "VariableDeclaration",
                    "src": "246:19:37"
                  }
                ],
                "id": 8991,
                "name": "ParameterList",
                "src": "245:21:37"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "functionReturnParameters": 8991
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "contract AppProxyUpgradeable",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_contract$_IKernel_$9550",
                                  "typeString": "contract IKernel"
                                },
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_bytes_memory",
                                  "typeString": "bytes memory"
                                }
                              ],
                              "overloadedDeclarations": [
                                9002,
                                9031
                              ],
                              "referencedDeclaration": 9031,
                              "type": "function (contract IKernel,bytes32,bytes memory) returns (contract AppProxyUpgradeable)",
                              "value": "newAppProxy"
                            },
                            "id": 8992,
                            "name": "Identifier",
                            "src": "284:11:37"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8985,
                              "type": "contract IKernel",
                              "value": "_kernel"
                            },
                            "id": 8993,
                            "name": "Identifier",
                            "src": "296:7:37"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8987,
                              "type": "bytes32",
                              "value": "_appId"
                            },
                            "id": 8994,
                            "name": "Identifier",
                            "src": "305:6:37"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "bytes memory",
                              "type_conversion": false
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_rational_0_by_1",
                                      "typeString": "int_const 0"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "type": "function (uint256) pure returns (bytes memory)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "name": "bytes",
                                      "type": "bytes storage pointer"
                                    },
                                    "id": 8995,
                                    "name": "ElementaryTypeName",
                                    "src": "317:5:37"
                                  }
                                ],
                                "id": 8996,
                                "name": "NewExpression",
                                "src": "313:9:37"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "30",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 0",
                                  "value": "0"
                                },
                                "id": 8997,
                                "name": "Literal",
                                "src": "323:1:37"
                              }
                            ],
                            "id": 8998,
                            "name": "FunctionCall",
                            "src": "313:12:37"
                          }
                        ],
                        "id": 8999,
                        "name": "FunctionCall",
                        "src": "284:42:37"
                      }
                    ],
                    "id": 9000,
                    "name": "Return",
                    "src": "277:49:37"
                  }
                ],
                "id": 9001,
                "name": "Block",
                "src": "267:66:37"
              }
            ],
            "id": 9002,
            "name": "FunctionDefinition",
            "src": "176:157:37"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "newAppProxy",
              "payable": false,
              "scope": 9080,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_kernel",
                      "scope": 9031,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract IKernel",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "IKernel",
                          "referencedDeclaration": 9550,
                          "type": "contract IKernel"
                        },
                        "id": 9003,
                        "name": "UserDefinedTypeName",
                        "src": "360:7:37"
                      }
                    ],
                    "id": 9004,
                    "name": "VariableDeclaration",
                    "src": "360:15:37"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_appId",
                      "scope": 9031,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 9005,
                        "name": "ElementaryTypeName",
                        "src": "377:7:37"
                      }
                    ],
                    "id": 9006,
                    "name": "VariableDeclaration",
                    "src": "377:14:37"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_initializePayload",
                      "scope": 9031,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes memory",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes",
                          "type": "bytes storage pointer"
                        },
                        "id": 9007,
                        "name": "ElementaryTypeName",
                        "src": "393:5:37"
                      }
                    ],
                    "id": 9008,
                    "name": "VariableDeclaration",
                    "src": "393:24:37"
                  }
                ],
                "id": 9009,
                "name": "ParameterList",
                "src": "359:59:37"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 9031,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract AppProxyUpgradeable",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "AppProxyUpgradeable",
                          "referencedDeclaration": 6852,
                          "type": "contract AppProxyUpgradeable"
                        },
                        "id": 9010,
                        "name": "UserDefinedTypeName",
                        "src": "435:19:37"
                      }
                    ],
                    "id": 9011,
                    "name": "VariableDeclaration",
                    "src": "435:19:37"
                  }
                ],
                "id": 9012,
                "name": "ParameterList",
                "src": "434:21:37"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        9014
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "proxy",
                          "scope": 9031,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "contract AppProxyUpgradeable",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "AppProxyUpgradeable",
                              "referencedDeclaration": 6852,
                              "type": "contract AppProxyUpgradeable"
                            },
                            "id": 9013,
                            "name": "UserDefinedTypeName",
                            "src": "466:19:37"
                          }
                        ],
                        "id": 9014,
                        "name": "VariableDeclaration",
                        "src": "466:25:37"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "contract AppProxyUpgradeable",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_contract$_IKernel_$9550",
                                  "typeString": "contract IKernel"
                                },
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                }
                              ],
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "type": "function (contract IKernel,bytes32,bytes memory) returns (contract AppProxyUpgradeable)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "contractScope": null,
                                  "name": "AppProxyUpgradeable",
                                  "referencedDeclaration": 6852,
                                  "type": "contract AppProxyUpgradeable"
                                },
                                "id": 9015,
                                "name": "UserDefinedTypeName",
                                "src": "498:19:37"
                              }
                            ],
                            "id": 9016,
                            "name": "NewExpression",
                            "src": "494:23:37"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9004,
                              "type": "contract IKernel",
                              "value": "_kernel"
                            },
                            "id": 9017,
                            "name": "Identifier",
                            "src": "518:7:37"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9006,
                              "type": "bytes32",
                              "value": "_appId"
                            },
                            "id": 9018,
                            "name": "Identifier",
                            "src": "527:6:37"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9008,
                              "type": "bytes memory",
                              "value": "_initializePayload"
                            },
                            "id": 9019,
                            "name": "Identifier",
                            "src": "535:18:37"
                          }
                        ],
                        "id": 9020,
                        "name": "FunctionCall",
                        "src": "494:60:37"
                      }
                    ],
                    "id": 9021,
                    "name": "VariableDeclarationStatement",
                    "src": "466:88:37"
                  },
                  {
                    "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": 8983,
                              "type": "function (address)",
                              "value": "NewAppProxy"
                            },
                            "id": 9022,
                            "name": "Identifier",
                            "src": "564:11:37"
                          },
                          {
                            "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$_AppProxyUpgradeable_$6852",
                                      "typeString": "contract AppProxyUpgradeable"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "type": "type(address)",
                                  "value": "address"
                                },
                                "id": 9023,
                                "name": "ElementaryTypeNameExpression",
                                "src": "576:7:37"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 9014,
                                  "type": "contract AppProxyUpgradeable",
                                  "value": "proxy"
                                },
                                "id": 9024,
                                "name": "Identifier",
                                "src": "584:5:37"
                              }
                            ],
                            "id": 9025,
                            "name": "FunctionCall",
                            "src": "576:14:37"
                          }
                        ],
                        "id": 9026,
                        "name": "FunctionCall",
                        "src": "564:27:37"
                      }
                    ],
                    "id": 9027,
                    "name": "ExpressionStatement",
                    "src": "564:27:37"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 9012
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "overloadedDeclarations": [
                            null
                          ],
                          "referencedDeclaration": 9014,
                          "type": "contract AppProxyUpgradeable",
                          "value": "proxy"
                        },
                        "id": 9028,
                        "name": "Identifier",
                        "src": "608:5:37"
                      }
                    ],
                    "id": 9029,
                    "name": "Return",
                    "src": "601:12:37"
                  }
                ],
                "id": 9030,
                "name": "Block",
                "src": "456:164:37"
              }
            ],
            "id": 9031,
            "name": "FunctionDefinition",
            "src": "339:281:37"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "newAppProxyPinned",
              "payable": false,
              "scope": 9080,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_kernel",
                      "scope": 9050,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract IKernel",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "IKernel",
                          "referencedDeclaration": 9550,
                          "type": "contract IKernel"
                        },
                        "id": 9032,
                        "name": "UserDefinedTypeName",
                        "src": "653:7:37"
                      }
                    ],
                    "id": 9033,
                    "name": "VariableDeclaration",
                    "src": "653:15:37"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_appId",
                      "scope": 9050,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 9034,
                        "name": "ElementaryTypeName",
                        "src": "670:7:37"
                      }
                    ],
                    "id": 9035,
                    "name": "VariableDeclaration",
                    "src": "670:14:37"
                  }
                ],
                "id": 9036,
                "name": "ParameterList",
                "src": "652:33:37"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 9050,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract AppProxyPinned",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "AppProxyPinned",
                          "referencedDeclaration": 6811,
                          "type": "contract AppProxyPinned"
                        },
                        "id": 9037,
                        "name": "UserDefinedTypeName",
                        "src": "702:14:37"
                      }
                    ],
                    "id": 9038,
                    "name": "VariableDeclaration",
                    "src": "702:14:37"
                  }
                ],
                "id": 9039,
                "name": "ParameterList",
                "src": "701:16:37"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "functionReturnParameters": 9039
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "contract AppProxyPinned",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_contract$_IKernel_$9550",
                                  "typeString": "contract IKernel"
                                },
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_bytes_memory",
                                  "typeString": "bytes memory"
                                }
                              ],
                              "overloadedDeclarations": [
                                9050,
                                9079
                              ],
                              "referencedDeclaration": 9079,
                              "type": "function (contract IKernel,bytes32,bytes memory) returns (contract AppProxyPinned)",
                              "value": "newAppProxyPinned"
                            },
                            "id": 9040,
                            "name": "Identifier",
                            "src": "735:17:37"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9033,
                              "type": "contract IKernel",
                              "value": "_kernel"
                            },
                            "id": 9041,
                            "name": "Identifier",
                            "src": "753:7:37"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9035,
                              "type": "bytes32",
                              "value": "_appId"
                            },
                            "id": 9042,
                            "name": "Identifier",
                            "src": "762:6:37"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "bytes memory",
                              "type_conversion": false
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_rational_0_by_1",
                                      "typeString": "int_const 0"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "type": "function (uint256) pure returns (bytes memory)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "name": "bytes",
                                      "type": "bytes storage pointer"
                                    },
                                    "id": 9043,
                                    "name": "ElementaryTypeName",
                                    "src": "774:5:37"
                                  }
                                ],
                                "id": 9044,
                                "name": "NewExpression",
                                "src": "770:9:37"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "30",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 0",
                                  "value": "0"
                                },
                                "id": 9045,
                                "name": "Literal",
                                "src": "780:1:37"
                              }
                            ],
                            "id": 9046,
                            "name": "FunctionCall",
                            "src": "770:12:37"
                          }
                        ],
                        "id": 9047,
                        "name": "FunctionCall",
                        "src": "735:48:37"
                      }
                    ],
                    "id": 9048,
                    "name": "Return",
                    "src": "728:55:37"
                  }
                ],
                "id": 9049,
                "name": "Block",
                "src": "718:72:37"
              }
            ],
            "id": 9050,
            "name": "FunctionDefinition",
            "src": "626:164:37"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "newAppProxyPinned",
              "payable": false,
              "scope": 9080,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_kernel",
                      "scope": 9079,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract IKernel",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "IKernel",
                          "referencedDeclaration": 9550,
                          "type": "contract IKernel"
                        },
                        "id": 9051,
                        "name": "UserDefinedTypeName",
                        "src": "823:7:37"
                      }
                    ],
                    "id": 9052,
                    "name": "VariableDeclaration",
                    "src": "823:15:37"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_appId",
                      "scope": 9079,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 9053,
                        "name": "ElementaryTypeName",
                        "src": "840:7:37"
                      }
                    ],
                    "id": 9054,
                    "name": "VariableDeclaration",
                    "src": "840:14:37"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_initializePayload",
                      "scope": 9079,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes memory",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes",
                          "type": "bytes storage pointer"
                        },
                        "id": 9055,
                        "name": "ElementaryTypeName",
                        "src": "856:5:37"
                      }
                    ],
                    "id": 9056,
                    "name": "VariableDeclaration",
                    "src": "856:24:37"
                  }
                ],
                "id": 9057,
                "name": "ParameterList",
                "src": "822:59:37"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 9079,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract AppProxyPinned",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "AppProxyPinned",
                          "referencedDeclaration": 6811,
                          "type": "contract AppProxyPinned"
                        },
                        "id": 9058,
                        "name": "UserDefinedTypeName",
                        "src": "898:14:37"
                      }
                    ],
                    "id": 9059,
                    "name": "VariableDeclaration",
                    "src": "898:14:37"
                  }
                ],
                "id": 9060,
                "name": "ParameterList",
                "src": "897:16:37"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        9062
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "proxy",
                          "scope": 9079,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "contract AppProxyPinned",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "AppProxyPinned",
                              "referencedDeclaration": 6811,
                              "type": "contract AppProxyPinned"
                            },
                            "id": 9061,
                            "name": "UserDefinedTypeName",
                            "src": "924:14:37"
                          }
                        ],
                        "id": 9062,
                        "name": "VariableDeclaration",
                        "src": "924:20:37"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "contract AppProxyPinned",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_contract$_IKernel_$9550",
                                  "typeString": "contract IKernel"
                                },
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                }
                              ],
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "type": "function (contract IKernel,bytes32,bytes memory) returns (contract AppProxyPinned)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "contractScope": null,
                                  "name": "AppProxyPinned",
                                  "referencedDeclaration": 6811,
                                  "type": "contract AppProxyPinned"
                                },
                                "id": 9063,
                                "name": "UserDefinedTypeName",
                                "src": "951:14:37"
                              }
                            ],
                            "id": 9064,
                            "name": "NewExpression",
                            "src": "947:18:37"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9052,
                              "type": "contract IKernel",
                              "value": "_kernel"
                            },
                            "id": 9065,
                            "name": "Identifier",
                            "src": "966:7:37"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9054,
                              "type": "bytes32",
                              "value": "_appId"
                            },
                            "id": 9066,
                            "name": "Identifier",
                            "src": "975:6:37"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9056,
                              "type": "bytes memory",
                              "value": "_initializePayload"
                            },
                            "id": 9067,
                            "name": "Identifier",
                            "src": "983:18:37"
                          }
                        ],
                        "id": 9068,
                        "name": "FunctionCall",
                        "src": "947:55:37"
                      }
                    ],
                    "id": 9069,
                    "name": "VariableDeclarationStatement",
                    "src": "924:78:37"
                  },
                  {
                    "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": 8983,
                              "type": "function (address)",
                              "value": "NewAppProxy"
                            },
                            "id": 9070,
                            "name": "Identifier",
                            "src": "1012:11:37"
                          },
                          {
                            "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$_AppProxyPinned_$6811",
                                      "typeString": "contract AppProxyPinned"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "type": "type(address)",
                                  "value": "address"
                                },
                                "id": 9071,
                                "name": "ElementaryTypeNameExpression",
                                "src": "1024:7:37"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 9062,
                                  "type": "contract AppProxyPinned",
                                  "value": "proxy"
                                },
                                "id": 9072,
                                "name": "Identifier",
                                "src": "1032:5:37"
                              }
                            ],
                            "id": 9073,
                            "name": "FunctionCall",
                            "src": "1024:14:37"
                          }
                        ],
                        "id": 9074,
                        "name": "FunctionCall",
                        "src": "1012:27:37"
                      }
                    ],
                    "id": 9075,
                    "name": "ExpressionStatement",
                    "src": "1012:27:37"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 9060
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "overloadedDeclarations": [
                            null
                          ],
                          "referencedDeclaration": 9062,
                          "type": "contract AppProxyPinned",
                          "value": "proxy"
                        },
                        "id": 9076,
                        "name": "Identifier",
                        "src": "1056:5:37"
                      }
                    ],
                    "id": 9077,
                    "name": "Return",
                    "src": "1049:12:37"
                  }
                ],
                "id": 9078,
                "name": "Block",
                "src": "914:154:37"
              }
            ],
            "id": 9079,
            "name": "FunctionDefinition",
            "src": "796:272:37"
          }
        ],
        "id": 9080,
        "name": "ContractDefinition",
        "src": "106:964:37"
      }
    ],
    "id": 9081,
    "name": "SourceUnit",
    "src": "0:1071:37"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.18+commit.9cf6e910.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "1.0.1",
  "updatedAt": "2018-03-14T08:41:25.095Z"
}