{
  "contractName": "ContractManager",
  "abi": [
    {
      "constant": true,
      "inputs": [],
      "name": "name",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "version",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_rico",
          "type": "address"
        },
        {
          "name": "_mode",
          "type": "uint256"
        },
        {
          "name": "_decimals",
          "type": "uint8"
        },
        {
          "name": "_wallet",
          "type": "address"
        },
        {
          "name": "_params",
          "type": "uint256[]"
        }
      ],
      "name": "deploy",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "constructor"
    }
  ],
  "bytecode": "0x60606040526040805190810160405280600f81526020017f436f6e74726163744d616e6167657200000000000000000000000000000000008152506000908051906020019061004f9291906100ac565b506040805190810160405280600581526020017f302e392e330000000000000000000000000000000000000000000000000000008152506001908051906020019061009b9291906100ac565b5034156100a757600080fd5b610151565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106100ed57805160ff191683800117855561011b565b8280016001018555821561011b579182015b8281111561011a5782518255916020019190600101906100ff565b5b509050610128919061012c565b5090565b61014e91905b8082111561014a576000816000905550600101610132565b5090565b90565b612cad806101606000396000f300606060405260043610610057576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461005c57806354fd4d50146100ea578063a07da88714610178575b600080fd5b341561006757600080fd5b61006f610265565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100af578082015181840152602081019050610094565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156100f557600080fd5b6100fd610303565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561013d578082015181840152602081019050610122565b50505050905090810190601f16801561016a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561018357600080fd5b610223600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803560ff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919050506103a1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156102fb5780601f106102d0576101008083540402835291602001916102fb565b820191906000526020600020905b8154815290600101906020018083116102de57829003601f168201915b505050505081565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156103995780601f1061036e57610100808354040283529160200191610399565b820191906000526020600020905b81548152906001019060200180831161037c57829003601f168201915b505050505081565b6000806000808714156105b1576103b661079b565b604051809103906000f08015156103cc57600080fd5b91508173ffffffffffffffffffffffffffffffffffffffff1663c7d365b086888760008151811015156103fb57fe5b9060200190602002015188600181518110151561041457fe5b9060200190602002015189600281518110151561042d57fe5b906020019060200201516000604051602001526040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018560ff1660ff16815260200184815260200183815260200182815260200195505050505050602060405180830381600087803b15156104df57600080fd5b6102c65a03f115156104f057600080fd5b50505060405180519050508173ffffffffffffffffffffffffffffffffffffffff1663f2fde38b896040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b151561059557600080fd5b6102c65a03f115156105a657600080fd5b505050819250610790565b600187141561078f576105c26107ab565b604051809103906000f08015156105d857600080fd5b90508073ffffffffffffffffffffffffffffffffffffffff1663a4a2a9f68686600081518110151561060657fe5b9060200190602002015187600181518110151561061f57fe5b906020019060200201516000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019350505050602060405180830381600087803b15156106bd57600080fd5b6102c65a03f115156106ce57600080fd5b50505060405180519050508073ffffffffffffffffffffffffffffffffffffffff1663f2fde38b896040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b151561077357600080fd5b6102c65a03f1151561078457600080fd5b505050809250610790565b5b505095945050505050565b604051611344806107bc83390190565b60405161118280611b00833901905600606060405234156200001057600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600b60006101000a81548160ff021916908360028111156200007057fe5b0217905550600060078190555033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550606060405190810160405280603481526020017f5075626c696353616c65506f4420737472617465677920746f6b656e2070726981526020017f6365203d20636170546f6b656e2f636170576569000000000000000000000000815250600190805190602001906200013292919062000187565b506040805190810160405280600581526020017f302e392e33000000000000000000000000000000000000000000000000000000815250600290805190602001906200018092919062000187565b5062000236565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001ca57805160ff1916838001178555620001fb565b82800160010185558215620001fb579182015b82811115620001fa578251825591602001919060010190620001dd565b5b5090506200020a91906200020e565b5090565b6200023391905b808211156200022f57600081600090555060010162000215565b5090565b90565b6110fe80620002466000396000f30060606040526004361061011d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461012857806309fc93c1146101b6578063112ed3f514610203578063200d2ed214610254578063439f5ac21461028b5780634b94f50e146102b45780634bb278f3146102dd578063521eb273146102f257806354fd4d50146103475780636ccce7a8146103d557806383786f8c146103fe5780638da5cb5b1461044b5780638f85f92c146104a057806397722acf146104cd5780639b3dfce0146104f6578063ba3f5a1214610523578063c7d365b01461054c578063c828371e146105c4578063ed88c68e146105ed578063ef78d4fd1461060f578063f2fde38b14610638575b610125610671565b50005b341561013357600080fd5b61013b6107dc565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561017b578082015181840152602081019050610160565b50505050905090810190601f1680156101a85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101c157600080fd5b6101ed600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061087a565b6040518082815260200191505060405180910390f35b341561020e57600080fd5b61023a600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506108c3565b604051808215151515815260200191505060405180910390f35b341561025f57600080fd5b6102676109a1565b6040518082600281111561027757fe5b60ff16815260200191505060405180910390f35b341561029657600080fd5b61029e6109b4565b6040518082815260200191505060405180910390f35b34156102bf57600080fd5b6102c76109be565b6040518082815260200191505060405180910390f35b34156102e857600080fd5b6102f06109c8565b005b34156102fd57600080fd5b610305610a86565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561035257600080fd5b61035a610aac565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561039a57808201518184015260208101905061037f565b50505050905090810190601f1680156103c75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156103e057600080fd5b6103e8610b4a565b6040518082815260200191505060405180910390f35b341561040957600080fd5b610435600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610b54565b6040518082815260200191505060405180910390f35b341561045657600080fd5b61045e610bae565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156104ab57600080fd5b6104b3610bd3565b604051808215151515815260200191505060405180910390f35b34156104d857600080fd5b6104e0610c13565b6040518082815260200191505060405180910390f35b341561050157600080fd5b610509610c1d565b604051808215151515815260200191505060405180910390f35b341561052e57600080fd5b610536610c5e565b6040518082815260200191505060405180910390f35b341561055757600080fd5b6105aa600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803560ff16906020019091908035906020019091908035906020019091908035906020019091905050610c64565b604051808215151515815260200191505060405180910390f35b34156105cf57600080fd5b6105d7610dd3565b6040518082815260200191505060405180910390f35b6105f5610671565b604051808215151515815260200191505060405180910390f35b341561061a57600080fd5b610622610ddd565b6040518082815260200191505060405180910390f35b341561064357600080fd5b61066f600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610de3565b005b60006001600281111561068057fe5b600b60009054906101000a900460ff16600281111561069b57fe5b1415156106a757600080fd5b60045442101515156106b857600080fd5b6412a05f20003a111515156106cc57600080fd5b6000341115156106db57600080fd5b6106e433610f38565b151561074f57426005819055506002600b60006101000a81548160ff0219169083600281111561071057fe5b02179055507f601095663bda08ac0f932087ef2eb08e42e4bcd1927f3a8d9500f6ad2c5aef906005546040518082815260200191505060405180910390a15b6107643460075461109b90919063ffffffff16565b6007819055507f2a01595cddf097c90216094025db714da3f4e5bd8877b56ba86a24ecead8e5433334604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a16001905090565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108725780601f1061084757610100808354040283529160200191610872565b820191906000526020600020905b81548152906001019060200180831161085557829003601f168201915b505050505081565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561092057600080fd5b60028081111561092c57fe5b600b60009054906101000a900460ff16600281111561094757fe5b14151561095357600080fd5b6000600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060019050919050565b600b60009054906101000a900460ff1681565b6000600554905090565b6000600654905090565b600160028111156109d557fe5b600b60009054906101000a900460ff1660028111156109f057fe5b1415156109fc57600080fd5b610a13600d5460045461109b90919063ffffffff16565b42111515610a2057600080fd5b426005819055506002600b60006101000a81548160ff02191690836002811115610a4657fe5b02179055507f601095663bda08ac0f932087ef2eb08e42e4bcd1927f3a8d9500f6ad2c5aef906005546040518082815260200191505060405180910390a1565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60028054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b425780601f10610b1757610100808354040283529160200191610b42565b820191906000526020600020905b815481529060010190602001808311610b2557829003601f168201915b505050505081565b6000600954905090565b6000600654600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600c5402811515610ba657fe5b049050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600280811115610be157fe5b600b60009054906101000a900460ff166002811115610bfc57fe5b1415610c0b5760019050610c10565b600090505b90565b6000600854905090565b600060016002811115610c2c57fe5b600b60009054906101000a900460ff166002811115610c4757fe5b1415610c565760019050610c5b565b600090505b90565b600c5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cc157600080fd5b60006002811115610cce57fe5b600b60009054906101000a900460ff166002811115610ce957fe5b141515610cf557600080fd5b60008673ffffffffffffffffffffffffffffffffffffffff1614151515610d1b57600080fd5b8360048190555085600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508460ff16600a0a600c819055508260088190555081600981905550600854600954600c5402811515610d9157fe5b0460068190555062093a80600d819055506001600b60006101000a81548160ff02191690836002811115610dc157fe5b02179055506001905095945050505050565b6000600454905090565b600d5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e3e57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610e7a57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080610f52600d5460045461109b90919063ffffffff16565b4211151515610f6057600080fd5b610f776007546009546110b990919063ffffffff16565b9050803411151515610f8857600080fd5b610fda34600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461109b90919063ffffffff16565b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050151561107f57600080fd5b803414156110905760009150611095565b600191505b50919050565b60008082840190508381101515156110af57fe5b8091505092915050565b60008282111515156110c757fe5b8183039050929150505600a165627a7a72305820127bbeb477620ff2adb2338777e5054f8bf4eef34652030d80b5d06aeaf346640029606060405234156200001057600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600b60006101000a81548160ff021916908360028111156200007057fe5b0217905550600060078190555033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550606060405190810160405280602c81526020017f546f6b656e4d696e74506f44206d65616e2074686174206d696e74696e67205481526020017f6f6b656e20746f20757365720000000000000000000000000000000000000000815250600190805190602001906200013292919062000187565b506040805190810160405280600581526020017f302e392e33000000000000000000000000000000000000000000000000000000815250600290805190602001906200018092919062000187565b5062000236565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001ca57805160ff1916838001178555620001fb565b82800160010185558215620001fb579182015b82811115620001fa578251825591602001919060010190620001dd565b5b5090506200020a91906200020e565b5090565b6200023391905b808211156200022f57600081600090555060010162000215565b5090565b90565b610f3c80620002466000396000f300606060405260043610610112576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461011d57806309fc93c1146101ab5780630d668087146101f8578063112ed3f514610221578063200d2ed214610272578063439f5ac2146102a95780634b94f50e146102d25780634bb278f3146102fb578063521eb2731461031057806354fd4d50146103655780636ccce7a8146103f357806383786f8c1461041c5780638da5cb5b146104695780638f85f92c146104be57806397722acf146104eb5780639b3dfce014610514578063a4a2a9f614610541578063c828371e146105a4578063ed88c68e146105cd578063f2fde38b146105ef575b61011a610628565b50005b341561012857600080fd5b610130610793565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610170578082015181840152602081019050610155565b50505050905090810190601f16801561019d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101b657600080fd5b6101e2600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610831565b6040518082815260200191505060405180910390f35b341561020357600080fd5b61020b61087a565b6040518082815260200191505060405180910390f35b341561022c57600080fd5b610258600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610880565b604051808215151515815260200191505060405180910390f35b341561027d57600080fd5b61028561095e565b6040518082600281111561029557fe5b60ff16815260200191505060405180910390f35b34156102b457600080fd5b6102bc610971565b6040518082815260200191505060405180910390f35b34156102dd57600080fd5b6102e561097b565b6040518082815260200191505060405180910390f35b341561030657600080fd5b61030e610985565b005b341561031b57600080fd5b6103236109ab565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561037057600080fd5b6103786109d1565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103b857808201518184015260208101905061039d565b50505050905090810190601f1680156103e55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156103fe57600080fd5b610406610a6f565b6040518082815260200191505060405180910390f35b341561042757600080fd5b610453600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610a79565b6040518082815260200191505060405180910390f35b341561047457600080fd5b61047c610b28565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156104c957600080fd5b6104d1610b4d565b604051808215151515815260200191505060405180910390f35b34156104f657600080fd5b6104fe610b8d565b6040518082815260200191505060405180910390f35b341561051f57600080fd5b610527610b97565b604051808215151515815260200191505060405180910390f35b341561054c57600080fd5b61058a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091908035906020019091905050610bd8565b604051808215151515815260200191505060405180910390f35b34156105af57600080fd5b6105b7610d31565b6040518082815260200191505060405180910390f35b6105d5610628565b604051808215151515815260200191505060405180910390f35b34156105fa57600080fd5b610626600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610d3b565b005b60006001600281111561063757fe5b600b60009054906101000a900460ff16600281111561065257fe5b14151561065e57600080fd5b600454421015151561066f57600080fd5b6412a05f20003a1115151561068357600080fd5b60003411151561069257600080fd5b61069b33610e90565b151561070657426005819055506002600b60006101000a81548160ff021916908360028111156106c757fe5b02179055507f601095663bda08ac0f932087ef2eb08e42e4bcd1927f3a8d9500f6ad2c5aef906005546040518082815260200191505060405180910390a15b61071b34600754610ebf90919063ffffffff16565b6007819055507f2a01595cddf097c90216094025db714da3f4e5bd8877b56ba86a24ecead8e5433334604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a16001905090565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108295780601f106107fe57610100808354040283529160200191610829565b820191906000526020600020905b81548152906001019060200180831161080c57829003601f168201915b505050505081565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600d5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156108dd57600080fd5b6002808111156108e957fe5b600b60009054906101000a900460ff16600281111561090457fe5b14151561091057600080fd5b6000600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060019050919050565b600b60009054906101000a900460ff1681565b6000600554905090565b6000600654905090565b6002600b60006101000a81548160ff021916908360028111156109a457fe5b0217905550565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60028054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a675780601f10610a3c57610100808354040283529160200191610a67565b820191906000526020600020905b815481529060010190602001808311610a4a57829003601f168201915b505050505081565b6000600954905090565b6000600d5442111515610a8f5760009050610b23565b610b20600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610edd90919063ffffffff16565b90505b919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600280811115610b5b57fe5b600b60009054906101000a900460ff166002811115610b7657fe5b1415610b855760019050610b8a565b600090505b90565b6000600854905090565b600060016002811115610ba657fe5b600b60009054906101000a900460ff166002811115610bc157fe5b1415610bd05760019050610bd5565b600090505b90565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c3557600080fd5b60006002811115610c4257fe5b600b60009054906101000a900460ff166002811115610c5d57fe5b141515610c6957600080fd5b82600881905550600854600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600d819055506001600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600b60006101000a81548160ff02191690836002811115610d2157fe5b0217905550600190509392505050565b6000600454905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d9657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610dd257600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000808273ffffffffffffffffffffffffffffffffffffffff16141515610eb657600080fd5b60019050919050565b6000808284019050838110151515610ed357fe5b8091505092915050565b60008082840290506000841480610efe5750828482811515610efb57fe5b04145b1515610f0657fe5b80915050929150505600a165627a7a723058208354e5bfda722fe489e10a56a5341bb00d03dd297b8c677b6664ccced727febb0029a165627a7a72305820004ac839b99ae2f5eddbb51c2d9c78ab5ec4c571390b420f44575c77789cc2760029",
  "deployedBytecode": "0x606060405260043610610057576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461005c57806354fd4d50146100ea578063a07da88714610178575b600080fd5b341561006757600080fd5b61006f610265565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100af578082015181840152602081019050610094565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156100f557600080fd5b6100fd610303565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561013d578082015181840152602081019050610122565b50505050905090810190601f16801561016a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561018357600080fd5b610223600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803560ff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919050506103a1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156102fb5780601f106102d0576101008083540402835291602001916102fb565b820191906000526020600020905b8154815290600101906020018083116102de57829003601f168201915b505050505081565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156103995780601f1061036e57610100808354040283529160200191610399565b820191906000526020600020905b81548152906001019060200180831161037c57829003601f168201915b505050505081565b6000806000808714156105b1576103b661079b565b604051809103906000f08015156103cc57600080fd5b91508173ffffffffffffffffffffffffffffffffffffffff1663c7d365b086888760008151811015156103fb57fe5b9060200190602002015188600181518110151561041457fe5b9060200190602002015189600281518110151561042d57fe5b906020019060200201516000604051602001526040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018560ff1660ff16815260200184815260200183815260200182815260200195505050505050602060405180830381600087803b15156104df57600080fd5b6102c65a03f115156104f057600080fd5b50505060405180519050508173ffffffffffffffffffffffffffffffffffffffff1663f2fde38b896040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b151561059557600080fd5b6102c65a03f115156105a657600080fd5b505050819250610790565b600187141561078f576105c26107ab565b604051809103906000f08015156105d857600080fd5b90508073ffffffffffffffffffffffffffffffffffffffff1663a4a2a9f68686600081518110151561060657fe5b9060200190602002015187600181518110151561061f57fe5b906020019060200201516000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019350505050602060405180830381600087803b15156106bd57600080fd5b6102c65a03f115156106ce57600080fd5b50505060405180519050508073ffffffffffffffffffffffffffffffffffffffff1663f2fde38b896040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b151561077357600080fd5b6102c65a03f1151561078457600080fd5b505050809250610790565b5b505095945050505050565b604051611344806107bc83390190565b60405161118280611b00833901905600606060405234156200001057600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600b60006101000a81548160ff021916908360028111156200007057fe5b0217905550600060078190555033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550606060405190810160405280603481526020017f5075626c696353616c65506f4420737472617465677920746f6b656e2070726981526020017f6365203d20636170546f6b656e2f636170576569000000000000000000000000815250600190805190602001906200013292919062000187565b506040805190810160405280600581526020017f302e392e33000000000000000000000000000000000000000000000000000000815250600290805190602001906200018092919062000187565b5062000236565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001ca57805160ff1916838001178555620001fb565b82800160010185558215620001fb579182015b82811115620001fa578251825591602001919060010190620001dd565b5b5090506200020a91906200020e565b5090565b6200023391905b808211156200022f57600081600090555060010162000215565b5090565b90565b6110fe80620002466000396000f30060606040526004361061011d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461012857806309fc93c1146101b6578063112ed3f514610203578063200d2ed214610254578063439f5ac21461028b5780634b94f50e146102b45780634bb278f3146102dd578063521eb273146102f257806354fd4d50146103475780636ccce7a8146103d557806383786f8c146103fe5780638da5cb5b1461044b5780638f85f92c146104a057806397722acf146104cd5780639b3dfce0146104f6578063ba3f5a1214610523578063c7d365b01461054c578063c828371e146105c4578063ed88c68e146105ed578063ef78d4fd1461060f578063f2fde38b14610638575b610125610671565b50005b341561013357600080fd5b61013b6107dc565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561017b578082015181840152602081019050610160565b50505050905090810190601f1680156101a85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101c157600080fd5b6101ed600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061087a565b6040518082815260200191505060405180910390f35b341561020e57600080fd5b61023a600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506108c3565b604051808215151515815260200191505060405180910390f35b341561025f57600080fd5b6102676109a1565b6040518082600281111561027757fe5b60ff16815260200191505060405180910390f35b341561029657600080fd5b61029e6109b4565b6040518082815260200191505060405180910390f35b34156102bf57600080fd5b6102c76109be565b6040518082815260200191505060405180910390f35b34156102e857600080fd5b6102f06109c8565b005b34156102fd57600080fd5b610305610a86565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561035257600080fd5b61035a610aac565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561039a57808201518184015260208101905061037f565b50505050905090810190601f1680156103c75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156103e057600080fd5b6103e8610b4a565b6040518082815260200191505060405180910390f35b341561040957600080fd5b610435600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610b54565b6040518082815260200191505060405180910390f35b341561045657600080fd5b61045e610bae565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156104ab57600080fd5b6104b3610bd3565b604051808215151515815260200191505060405180910390f35b34156104d857600080fd5b6104e0610c13565b6040518082815260200191505060405180910390f35b341561050157600080fd5b610509610c1d565b604051808215151515815260200191505060405180910390f35b341561052e57600080fd5b610536610c5e565b6040518082815260200191505060405180910390f35b341561055757600080fd5b6105aa600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803560ff16906020019091908035906020019091908035906020019091908035906020019091905050610c64565b604051808215151515815260200191505060405180910390f35b34156105cf57600080fd5b6105d7610dd3565b6040518082815260200191505060405180910390f35b6105f5610671565b604051808215151515815260200191505060405180910390f35b341561061a57600080fd5b610622610ddd565b6040518082815260200191505060405180910390f35b341561064357600080fd5b61066f600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610de3565b005b60006001600281111561068057fe5b600b60009054906101000a900460ff16600281111561069b57fe5b1415156106a757600080fd5b60045442101515156106b857600080fd5b6412a05f20003a111515156106cc57600080fd5b6000341115156106db57600080fd5b6106e433610f38565b151561074f57426005819055506002600b60006101000a81548160ff0219169083600281111561071057fe5b02179055507f601095663bda08ac0f932087ef2eb08e42e4bcd1927f3a8d9500f6ad2c5aef906005546040518082815260200191505060405180910390a15b6107643460075461109b90919063ffffffff16565b6007819055507f2a01595cddf097c90216094025db714da3f4e5bd8877b56ba86a24ecead8e5433334604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a16001905090565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108725780601f1061084757610100808354040283529160200191610872565b820191906000526020600020905b81548152906001019060200180831161085557829003601f168201915b505050505081565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561092057600080fd5b60028081111561092c57fe5b600b60009054906101000a900460ff16600281111561094757fe5b14151561095357600080fd5b6000600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060019050919050565b600b60009054906101000a900460ff1681565b6000600554905090565b6000600654905090565b600160028111156109d557fe5b600b60009054906101000a900460ff1660028111156109f057fe5b1415156109fc57600080fd5b610a13600d5460045461109b90919063ffffffff16565b42111515610a2057600080fd5b426005819055506002600b60006101000a81548160ff02191690836002811115610a4657fe5b02179055507f601095663bda08ac0f932087ef2eb08e42e4bcd1927f3a8d9500f6ad2c5aef906005546040518082815260200191505060405180910390a1565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60028054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b425780601f10610b1757610100808354040283529160200191610b42565b820191906000526020600020905b815481529060010190602001808311610b2557829003601f168201915b505050505081565b6000600954905090565b6000600654600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600c5402811515610ba657fe5b049050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600280811115610be157fe5b600b60009054906101000a900460ff166002811115610bfc57fe5b1415610c0b5760019050610c10565b600090505b90565b6000600854905090565b600060016002811115610c2c57fe5b600b60009054906101000a900460ff166002811115610c4757fe5b1415610c565760019050610c5b565b600090505b90565b600c5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cc157600080fd5b60006002811115610cce57fe5b600b60009054906101000a900460ff166002811115610ce957fe5b141515610cf557600080fd5b60008673ffffffffffffffffffffffffffffffffffffffff1614151515610d1b57600080fd5b8360048190555085600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508460ff16600a0a600c819055508260088190555081600981905550600854600954600c5402811515610d9157fe5b0460068190555062093a80600d819055506001600b60006101000a81548160ff02191690836002811115610dc157fe5b02179055506001905095945050505050565b6000600454905090565b600d5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e3e57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610e7a57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080610f52600d5460045461109b90919063ffffffff16565b4211151515610f6057600080fd5b610f776007546009546110b990919063ffffffff16565b9050803411151515610f8857600080fd5b610fda34600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461109b90919063ffffffff16565b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050151561107f57600080fd5b803414156110905760009150611095565b600191505b50919050565b60008082840190508381101515156110af57fe5b8091505092915050565b60008282111515156110c757fe5b8183039050929150505600a165627a7a72305820127bbeb477620ff2adb2338777e5054f8bf4eef34652030d80b5d06aeaf346640029606060405234156200001057600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600b60006101000a81548160ff021916908360028111156200007057fe5b0217905550600060078190555033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550606060405190810160405280602c81526020017f546f6b656e4d696e74506f44206d65616e2074686174206d696e74696e67205481526020017f6f6b656e20746f20757365720000000000000000000000000000000000000000815250600190805190602001906200013292919062000187565b506040805190810160405280600581526020017f302e392e33000000000000000000000000000000000000000000000000000000815250600290805190602001906200018092919062000187565b5062000236565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001ca57805160ff1916838001178555620001fb565b82800160010185558215620001fb579182015b82811115620001fa578251825591602001919060010190620001dd565b5b5090506200020a91906200020e565b5090565b6200023391905b808211156200022f57600081600090555060010162000215565b5090565b90565b610f3c80620002466000396000f300606060405260043610610112576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461011d57806309fc93c1146101ab5780630d668087146101f8578063112ed3f514610221578063200d2ed214610272578063439f5ac2146102a95780634b94f50e146102d25780634bb278f3146102fb578063521eb2731461031057806354fd4d50146103655780636ccce7a8146103f357806383786f8c1461041c5780638da5cb5b146104695780638f85f92c146104be57806397722acf146104eb5780639b3dfce014610514578063a4a2a9f614610541578063c828371e146105a4578063ed88c68e146105cd578063f2fde38b146105ef575b61011a610628565b50005b341561012857600080fd5b610130610793565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610170578082015181840152602081019050610155565b50505050905090810190601f16801561019d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101b657600080fd5b6101e2600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610831565b6040518082815260200191505060405180910390f35b341561020357600080fd5b61020b61087a565b6040518082815260200191505060405180910390f35b341561022c57600080fd5b610258600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610880565b604051808215151515815260200191505060405180910390f35b341561027d57600080fd5b61028561095e565b6040518082600281111561029557fe5b60ff16815260200191505060405180910390f35b34156102b457600080fd5b6102bc610971565b6040518082815260200191505060405180910390f35b34156102dd57600080fd5b6102e561097b565b6040518082815260200191505060405180910390f35b341561030657600080fd5b61030e610985565b005b341561031b57600080fd5b6103236109ab565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561037057600080fd5b6103786109d1565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103b857808201518184015260208101905061039d565b50505050905090810190601f1680156103e55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156103fe57600080fd5b610406610a6f565b6040518082815260200191505060405180910390f35b341561042757600080fd5b610453600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610a79565b6040518082815260200191505060405180910390f35b341561047457600080fd5b61047c610b28565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156104c957600080fd5b6104d1610b4d565b604051808215151515815260200191505060405180910390f35b34156104f657600080fd5b6104fe610b8d565b6040518082815260200191505060405180910390f35b341561051f57600080fd5b610527610b97565b604051808215151515815260200191505060405180910390f35b341561054c57600080fd5b61058a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091908035906020019091905050610bd8565b604051808215151515815260200191505060405180910390f35b34156105af57600080fd5b6105b7610d31565b6040518082815260200191505060405180910390f35b6105d5610628565b604051808215151515815260200191505060405180910390f35b34156105fa57600080fd5b610626600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610d3b565b005b60006001600281111561063757fe5b600b60009054906101000a900460ff16600281111561065257fe5b14151561065e57600080fd5b600454421015151561066f57600080fd5b6412a05f20003a1115151561068357600080fd5b60003411151561069257600080fd5b61069b33610e90565b151561070657426005819055506002600b60006101000a81548160ff021916908360028111156106c757fe5b02179055507f601095663bda08ac0f932087ef2eb08e42e4bcd1927f3a8d9500f6ad2c5aef906005546040518082815260200191505060405180910390a15b61071b34600754610ebf90919063ffffffff16565b6007819055507f2a01595cddf097c90216094025db714da3f4e5bd8877b56ba86a24ecead8e5433334604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a16001905090565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108295780601f106107fe57610100808354040283529160200191610829565b820191906000526020600020905b81548152906001019060200180831161080c57829003601f168201915b505050505081565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600d5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156108dd57600080fd5b6002808111156108e957fe5b600b60009054906101000a900460ff16600281111561090457fe5b14151561091057600080fd5b6000600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060019050919050565b600b60009054906101000a900460ff1681565b6000600554905090565b6000600654905090565b6002600b60006101000a81548160ff021916908360028111156109a457fe5b0217905550565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60028054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a675780601f10610a3c57610100808354040283529160200191610a67565b820191906000526020600020905b815481529060010190602001808311610a4a57829003601f168201915b505050505081565b6000600954905090565b6000600d5442111515610a8f5760009050610b23565b610b20600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610edd90919063ffffffff16565b90505b919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600280811115610b5b57fe5b600b60009054906101000a900460ff166002811115610b7657fe5b1415610b855760019050610b8a565b600090505b90565b6000600854905090565b600060016002811115610ba657fe5b600b60009054906101000a900460ff166002811115610bc157fe5b1415610bd05760019050610bd5565b600090505b90565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c3557600080fd5b60006002811115610c4257fe5b600b60009054906101000a900460ff166002811115610c5d57fe5b141515610c6957600080fd5b82600881905550600854600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600d819055506001600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600b60006101000a81548160ff02191690836002811115610d2157fe5b0217905550600190509392505050565b6000600454905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d9657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610dd257600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000808273ffffffffffffffffffffffffffffffffffffffff16141515610eb657600080fd5b60019050919050565b6000808284019050838110151515610ed357fe5b8091505092915050565b60008082840290506000841480610efe5750828482811515610efb57fe5b04145b1515610f0657fe5b80915050929150505600a165627a7a723058208354e5bfda722fe489e10a56a5341bb00d03dd297b8c677b6664ccced727febb0029a165627a7a72305820004ac839b99ae2f5eddbb51c2d9c78ab5ec4c571390b420f44575c77789cc2760029",
  "sourceMap": "777:1301:1:-;;;832:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;874:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;939:36;;;;;;;;777:1301;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;",
  "deployedSourceMap": "777:1301:1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;832:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;874:31:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1518:558:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;832:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;874:31::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1518:558::-;1660:7;1702:17;1912;1691:1;1682:5;:10;1678:205;;;1722:19;;:::i;:::-;;;;;;;;;;;;;;;;;;1702:39;;1749:3;:8;;;1758:7;1767:9;1778:7;1786:1;1778:10;;;;;;;;;;;;;;;;;;1790:7;1798:1;1790:10;;;;;;;;;;;;;;;;;;1802:7;1810:1;1802:10;;;;;;;;;;;;;;;;;;1749:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1821:3;:21;;;1843:5;1821:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1872:3;1857:19;;;;1678:205;1901:1;1892:5;:10;1888:184;;;1932:18;;:::i;:::-;;;;;;;;;;;;;;;;;;1912:38;;1958:4;:9;;;1968:7;1977;1985:1;1977:10;;;;;;;;;;;;;;;;;;1989:7;1997:1;1989:10;;;;;;;;;;;;;;;;;;1958:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2008:4;:22;;;2031:5;2008:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2060:4;2045:20;;;;1888:184;1518:558;;;;;;;;;;:::o;777:1301::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o",
  "source": "pragma solidity ^0.4.18;\n\nimport \"./PoDs/PublicSalePoD.sol\";\nimport \"./PoDs/TokenMintPoD.sol\";\n\n/// @title Launcher - RICO Launcher contract\n/// @author - Yusaku Senga - <senga@dri.network>\n/// license - Please check the LICENSE at github.com/DRI-network/RICO\n\n/**\n * @title   ContractManager\n * @dev     Takes care of initializing the PublicSalePoD.sol and TokenMintPoD.sol\n *          \n *          RICO.sol, Launcher.sol and ContractManager.sol, are the three contracts\n *          that have to be deployed on the network on beforehand.\n *          Please see the 2_deploy_contracts.js migration for the details.\n *          \n *          The ContractManager was extracted out of the Launcher because\n *          deploying Launcher.sol onto the network was too expensive.\n */\ncontract ContractManager {\n\n  /**\n   * Storage\n   */\n  string public name = \"ContractManager\";\n  string public version = \"0.9.3\";\n\n  /**\n   * constructor\n   */\n  function ContractManager() public {}\n\n  /**\n   * @dev    deploy a new contract instance.\n   * \n   * @param  _rico      address of rico.\n   * @param  _mode      Token name of RICO format.\n   * @param  _decimals  Token decimals of RICO format.\n   * @param  _wallet    Project owner's multisig wallet.\n   * @param  _params    array         parameters of the PoD.\n   *                    These parameters differ when initializing PublicSalePoD or TokenMintPoD.\n   *                    Please check Launcher.sol for which parameters are being sent.\n   * \n   * @return address\n   */\n  function deploy( \n    address _rico, \n    uint _mode,\n    uint8 _decimals, \n    address _wallet,\n    uint256[] _params\n  ) \n  public returns (address) \n  {\n    if (_mode == 0) {\n      PublicSalePoD pod = new PublicSalePoD();\n      pod.init(_wallet, _decimals, _params[0], _params[1], _params[2]);\n      pod.transferOwnership(_rico);\n      return address(pod);\n    }\n    if (_mode == 1) {\n      TokenMintPoD mint = new TokenMintPoD();\n      mint.init(_wallet, _params[0], _params[1]);\n      mint.transferOwnership(_rico);\n      return address(mint);\n    }\n  }\n}\n\n",
  "sourcePath": "/Users/lucaban/.ghq/github.com/DRI-network/RICO/contracts/ContractManager.sol",
  "ast": {
    "attributes": {
      "absolutePath": "/Users/lucaban/.ghq/github.com/DRI-network/RICO/contracts/ContractManager.sol",
      "exportedSymbols": {
        "ContractManager": [
          148
        ]
      }
    },
    "children": [
      {
        "attributes": {
          "literals": [
            "solidity",
            "^",
            "0.4",
            ".18"
          ]
        },
        "id": 48,
        "name": "PragmaDirective",
        "src": "0:24:1"
      },
      {
        "attributes": {
          "SourceUnit": 2949,
          "absolutePath": "/Users/lucaban/.ghq/github.com/DRI-network/RICO/contracts/PoDs/PublicSalePoD.sol",
          "file": "./PoDs/PublicSalePoD.sol",
          "scope": 149,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 49,
        "name": "ImportDirective",
        "src": "26:34:1"
      },
      {
        "attributes": {
          "SourceUnit": 3337,
          "absolutePath": "/Users/lucaban/.ghq/github.com/DRI-network/RICO/contracts/PoDs/TokenMintPoD.sol",
          "file": "./PoDs/TokenMintPoD.sol",
          "scope": 149,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 50,
        "name": "ImportDirective",
        "src": "61:33:1"
      },
      {
        "attributes": {
          "baseContracts": [
            null
          ],
          "contractDependencies": [
            2948,
            3336
          ],
          "contractKind": "contract",
          "documentation": "@title   ContractManager\n@dev     Takes care of initializing the PublicSalePoD.sol and TokenMintPoD.sol\n         \n         RICO.sol, Launcher.sol and ContractManager.sol, are the three contracts\n         that have to be deployed on the network on beforehand.\n         Please see the 2_deploy_contracts.js migration for the details.\n         \n         The ContractManager was extracted out of the Launcher because\n         deploying Launcher.sol onto the network was too expensive.",
          "fullyImplemented": true,
          "linearizedBaseContracts": [
            148
          ],
          "name": "ContractManager",
          "scope": 149
        },
        "children": [
          {
            "attributes": {
              "constant": false,
              "name": "name",
              "scope": 148,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "string storage ref",
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "name": "string",
                  "type": "string storage pointer"
                },
                "id": 51,
                "name": "ElementaryTypeName",
                "src": "832:6:1"
              },
              {
                "attributes": {
                  "argumentTypes": null,
                  "hexvalue": "436f6e74726163744d616e61676572",
                  "isConstant": false,
                  "isLValue": false,
                  "isPure": true,
                  "lValueRequested": false,
                  "subdenomination": null,
                  "token": "string",
                  "type": "literal_string \"ContractManager\"",
                  "value": "ContractManager"
                },
                "id": 52,
                "name": "Literal",
                "src": "853:17:1"
              }
            ],
            "id": 53,
            "name": "VariableDeclaration",
            "src": "832:38:1"
          },
          {
            "attributes": {
              "constant": false,
              "name": "version",
              "scope": 148,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "string storage ref",
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "name": "string",
                  "type": "string storage pointer"
                },
                "id": 54,
                "name": "ElementaryTypeName",
                "src": "874:6:1"
              },
              {
                "attributes": {
                  "argumentTypes": null,
                  "hexvalue": "302e392e33",
                  "isConstant": false,
                  "isLValue": false,
                  "isPure": true,
                  "lValueRequested": false,
                  "subdenomination": null,
                  "token": "string",
                  "type": "literal_string \"0.9.3\"",
                  "value": "0.9.3"
                },
                "id": 55,
                "name": "Literal",
                "src": "898:7:1"
              }
            ],
            "id": 56,
            "name": "VariableDeclaration",
            "src": "874:31:1"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": true,
              "modifiers": [
                null
              ],
              "name": "ContractManager",
              "payable": false,
              "scope": 148,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 57,
                "name": "ParameterList",
                "src": "963:2:1"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 58,
                "name": "ParameterList",
                "src": "973:0:1"
              },
              {
                "attributes": {
                  "statements": [
                    null
                  ]
                },
                "children": [],
                "id": 59,
                "name": "Block",
                "src": "973:2:1"
              }
            ],
            "id": 60,
            "name": "FunctionDefinition",
            "src": "939:36:1"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "deploy",
              "payable": false,
              "scope": 148,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_rico",
                      "scope": 147,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 61,
                        "name": "ElementaryTypeName",
                        "src": "1540:7:1"
                      }
                    ],
                    "id": 62,
                    "name": "VariableDeclaration",
                    "src": "1540:13:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_mode",
                      "scope": 147,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 63,
                        "name": "ElementaryTypeName",
                        "src": "1560:4:1"
                      }
                    ],
                    "id": 64,
                    "name": "VariableDeclaration",
                    "src": "1560:10:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_decimals",
                      "scope": 147,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint8",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint8",
                          "type": "uint8"
                        },
                        "id": 65,
                        "name": "ElementaryTypeName",
                        "src": "1576:5:1"
                      }
                    ],
                    "id": 66,
                    "name": "VariableDeclaration",
                    "src": "1576:15:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_wallet",
                      "scope": 147,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 67,
                        "name": "ElementaryTypeName",
                        "src": "1598:7:1"
                      }
                    ],
                    "id": 68,
                    "name": "VariableDeclaration",
                    "src": "1598:15:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_params",
                      "scope": 147,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256[] memory",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "length": null,
                          "type": "uint256[] storage pointer"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint256",
                              "type": "uint256"
                            },
                            "id": 69,
                            "name": "ElementaryTypeName",
                            "src": "1619:7:1"
                          }
                        ],
                        "id": 70,
                        "name": "ArrayTypeName",
                        "src": "1619:9:1"
                      }
                    ],
                    "id": 71,
                    "name": "VariableDeclaration",
                    "src": "1619:17:1"
                  }
                ],
                "id": 72,
                "name": "ParameterList",
                "src": "1533:107:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 147,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 73,
                        "name": "ElementaryTypeName",
                        "src": "1660:7:1"
                      }
                    ],
                    "id": 74,
                    "name": "VariableDeclaration",
                    "src": "1660:7:1"
                  }
                ],
                "id": 75,
                "name": "ParameterList",
                "src": "1659:9:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "falseBody": null
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "==",
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 64,
                              "type": "uint256",
                              "value": "_mode"
                            },
                            "id": 76,
                            "name": "Identifier",
                            "src": "1682:5:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "30",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 0",
                              "value": "0"
                            },
                            "id": 77,
                            "name": "Literal",
                            "src": "1691:1:1"
                          }
                        ],
                        "id": 78,
                        "name": "BinaryOperation",
                        "src": "1682:10:1"
                      },
                      {
                        "children": [
                          {
                            "attributes": {
                              "assignments": [
                                80
                              ]
                            },
                            "children": [
                              {
                                "attributes": {
                                  "constant": false,
                                  "name": "pod",
                                  "scope": 147,
                                  "stateVariable": false,
                                  "storageLocation": "default",
                                  "type": "contract PublicSalePoD",
                                  "value": null,
                                  "visibility": "internal"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "contractScope": null,
                                      "name": "PublicSalePoD",
                                      "referencedDeclaration": 2948,
                                      "type": "contract PublicSalePoD"
                                    },
                                    "id": 79,
                                    "name": "UserDefinedTypeName",
                                    "src": "1702:13:1"
                                  }
                                ],
                                "id": 80,
                                "name": "VariableDeclaration",
                                "src": "1702:17:1"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "arguments": [
                                    null
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "isStructConstructorCall": false,
                                  "lValueRequested": false,
                                  "names": [
                                    null
                                  ],
                                  "type": "contract PublicSalePoD",
                                  "type_conversion": false
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": [
                                        null
                                      ],
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "function () returns (contract PublicSalePoD)"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "contractScope": null,
                                          "name": "PublicSalePoD",
                                          "referencedDeclaration": 2948,
                                          "type": "contract PublicSalePoD"
                                        },
                                        "id": 81,
                                        "name": "UserDefinedTypeName",
                                        "src": "1726:13:1"
                                      }
                                    ],
                                    "id": 82,
                                    "name": "NewExpression",
                                    "src": "1722:17:1"
                                  }
                                ],
                                "id": 83,
                                "name": "FunctionCall",
                                "src": "1722:19:1"
                              }
                            ],
                            "id": 84,
                            "name": "VariableDeclarationStatement",
                            "src": "1702:39:1"
                          },
                          {
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "isStructConstructorCall": false,
                                  "lValueRequested": false,
                                  "names": [
                                    null
                                  ],
                                  "type": "bool",
                                  "type_conversion": false
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        },
                                        {
                                          "typeIdentifier": "t_uint8",
                                          "typeString": "uint8"
                                        },
                                        {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        },
                                        {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        },
                                        {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      ],
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "member_name": "init",
                                      "referencedDeclaration": 2836,
                                      "type": "function (address,uint8,uint256,uint256,uint256) external returns (bool)"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 80,
                                          "type": "contract PublicSalePoD",
                                          "value": "pod"
                                        },
                                        "id": 85,
                                        "name": "Identifier",
                                        "src": "1749:3:1"
                                      }
                                    ],
                                    "id": 87,
                                    "name": "MemberAccess",
                                    "src": "1749:8:1"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 68,
                                      "type": "address",
                                      "value": "_wallet"
                                    },
                                    "id": 88,
                                    "name": "Identifier",
                                    "src": "1758:7:1"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 66,
                                      "type": "uint8",
                                      "value": "_decimals"
                                    },
                                    "id": 89,
                                    "name": "Identifier",
                                    "src": "1767:9:1"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "uint256"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 71,
                                          "type": "uint256[] memory",
                                          "value": "_params"
                                        },
                                        "id": 90,
                                        "name": "Identifier",
                                        "src": "1778:7:1"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "hexvalue": "30",
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "subdenomination": null,
                                          "token": "number",
                                          "type": "int_const 0",
                                          "value": "0"
                                        },
                                        "id": 91,
                                        "name": "Literal",
                                        "src": "1786:1:1"
                                      }
                                    ],
                                    "id": 92,
                                    "name": "IndexAccess",
                                    "src": "1778:10:1"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "uint256"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 71,
                                          "type": "uint256[] memory",
                                          "value": "_params"
                                        },
                                        "id": 93,
                                        "name": "Identifier",
                                        "src": "1790:7:1"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "hexvalue": "31",
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "subdenomination": null,
                                          "token": "number",
                                          "type": "int_const 1",
                                          "value": "1"
                                        },
                                        "id": 94,
                                        "name": "Literal",
                                        "src": "1798:1:1"
                                      }
                                    ],
                                    "id": 95,
                                    "name": "IndexAccess",
                                    "src": "1790:10:1"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "uint256"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 71,
                                          "type": "uint256[] memory",
                                          "value": "_params"
                                        },
                                        "id": 96,
                                        "name": "Identifier",
                                        "src": "1802:7:1"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "hexvalue": "32",
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "subdenomination": null,
                                          "token": "number",
                                          "type": "int_const 2",
                                          "value": "2"
                                        },
                                        "id": 97,
                                        "name": "Literal",
                                        "src": "1810:1:1"
                                      }
                                    ],
                                    "id": 98,
                                    "name": "IndexAccess",
                                    "src": "1802:10:1"
                                  }
                                ],
                                "id": 99,
                                "name": "FunctionCall",
                                "src": "1749:64:1"
                              }
                            ],
                            "id": 100,
                            "name": "ExpressionStatement",
                            "src": "1749:64:1"
                          },
                          {
                            "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"
                                        }
                                      ],
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "member_name": "transferOwnership",
                                      "referencedDeclaration": 2116,
                                      "type": "function (address) external"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 80,
                                          "type": "contract PublicSalePoD",
                                          "value": "pod"
                                        },
                                        "id": 101,
                                        "name": "Identifier",
                                        "src": "1821:3:1"
                                      }
                                    ],
                                    "id": 103,
                                    "name": "MemberAccess",
                                    "src": "1821:21:1"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 62,
                                      "type": "address",
                                      "value": "_rico"
                                    },
                                    "id": 104,
                                    "name": "Identifier",
                                    "src": "1843:5:1"
                                  }
                                ],
                                "id": 105,
                                "name": "FunctionCall",
                                "src": "1821:28:1"
                              }
                            ],
                            "id": 106,
                            "name": "ExpressionStatement",
                            "src": "1821:28:1"
                          },
                          {
                            "attributes": {
                              "functionReturnParameters": 75
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "isStructConstructorCall": false,
                                  "lValueRequested": false,
                                  "names": [
                                    null
                                  ],
                                  "type": "address",
                                  "type_conversion": true
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_contract$_PublicSalePoD_$2948",
                                          "typeString": "contract PublicSalePoD"
                                        }
                                      ],
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "type": "type(address)",
                                      "value": "address"
                                    },
                                    "id": 107,
                                    "name": "ElementaryTypeNameExpression",
                                    "src": "1864:7:1"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 80,
                                      "type": "contract PublicSalePoD",
                                      "value": "pod"
                                    },
                                    "id": 108,
                                    "name": "Identifier",
                                    "src": "1872:3:1"
                                  }
                                ],
                                "id": 109,
                                "name": "FunctionCall",
                                "src": "1864:12:1"
                              }
                            ],
                            "id": 110,
                            "name": "Return",
                            "src": "1857:19:1"
                          }
                        ],
                        "id": 111,
                        "name": "Block",
                        "src": "1694:189:1"
                      }
                    ],
                    "id": 112,
                    "name": "IfStatement",
                    "src": "1678:205:1"
                  },
                  {
                    "attributes": {
                      "falseBody": null
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "==",
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 64,
                              "type": "uint256",
                              "value": "_mode"
                            },
                            "id": 113,
                            "name": "Identifier",
                            "src": "1892:5:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "31",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 1",
                              "value": "1"
                            },
                            "id": 114,
                            "name": "Literal",
                            "src": "1901:1:1"
                          }
                        ],
                        "id": 115,
                        "name": "BinaryOperation",
                        "src": "1892:10:1"
                      },
                      {
                        "children": [
                          {
                            "attributes": {
                              "assignments": [
                                117
                              ]
                            },
                            "children": [
                              {
                                "attributes": {
                                  "constant": false,
                                  "name": "mint",
                                  "scope": 147,
                                  "stateVariable": false,
                                  "storageLocation": "default",
                                  "type": "contract TokenMintPoD",
                                  "value": null,
                                  "visibility": "internal"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "contractScope": null,
                                      "name": "TokenMintPoD",
                                      "referencedDeclaration": 3336,
                                      "type": "contract TokenMintPoD"
                                    },
                                    "id": 116,
                                    "name": "UserDefinedTypeName",
                                    "src": "1912:12:1"
                                  }
                                ],
                                "id": 117,
                                "name": "VariableDeclaration",
                                "src": "1912:17:1"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "arguments": [
                                    null
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "isStructConstructorCall": false,
                                  "lValueRequested": false,
                                  "names": [
                                    null
                                  ],
                                  "type": "contract TokenMintPoD",
                                  "type_conversion": false
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": [
                                        null
                                      ],
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "function () returns (contract TokenMintPoD)"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "contractScope": null,
                                          "name": "TokenMintPoD",
                                          "referencedDeclaration": 3336,
                                          "type": "contract TokenMintPoD"
                                        },
                                        "id": 118,
                                        "name": "UserDefinedTypeName",
                                        "src": "1936:12:1"
                                      }
                                    ],
                                    "id": 119,
                                    "name": "NewExpression",
                                    "src": "1932:16:1"
                                  }
                                ],
                                "id": 120,
                                "name": "FunctionCall",
                                "src": "1932:18:1"
                              }
                            ],
                            "id": 121,
                            "name": "VariableDeclarationStatement",
                            "src": "1912:38:1"
                          },
                          {
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "isStructConstructorCall": false,
                                  "lValueRequested": false,
                                  "names": [
                                    null
                                  ],
                                  "type": "bool",
                                  "type_conversion": false
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        },
                                        {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        },
                                        {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      ],
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "member_name": "init",
                                      "referencedDeclaration": 3286,
                                      "type": "function (address,uint256,uint256) external returns (bool)"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 117,
                                          "type": "contract TokenMintPoD",
                                          "value": "mint"
                                        },
                                        "id": 122,
                                        "name": "Identifier",
                                        "src": "1958:4:1"
                                      }
                                    ],
                                    "id": 124,
                                    "name": "MemberAccess",
                                    "src": "1958:9:1"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 68,
                                      "type": "address",
                                      "value": "_wallet"
                                    },
                                    "id": 125,
                                    "name": "Identifier",
                                    "src": "1968:7:1"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "uint256"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 71,
                                          "type": "uint256[] memory",
                                          "value": "_params"
                                        },
                                        "id": 126,
                                        "name": "Identifier",
                                        "src": "1977:7:1"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "hexvalue": "30",
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "subdenomination": null,
                                          "token": "number",
                                          "type": "int_const 0",
                                          "value": "0"
                                        },
                                        "id": 127,
                                        "name": "Literal",
                                        "src": "1985:1:1"
                                      }
                                    ],
                                    "id": 128,
                                    "name": "IndexAccess",
                                    "src": "1977:10:1"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "uint256"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 71,
                                          "type": "uint256[] memory",
                                          "value": "_params"
                                        },
                                        "id": 129,
                                        "name": "Identifier",
                                        "src": "1989:7:1"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "hexvalue": "31",
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "subdenomination": null,
                                          "token": "number",
                                          "type": "int_const 1",
                                          "value": "1"
                                        },
                                        "id": 130,
                                        "name": "Literal",
                                        "src": "1997:1:1"
                                      }
                                    ],
                                    "id": 131,
                                    "name": "IndexAccess",
                                    "src": "1989:10:1"
                                  }
                                ],
                                "id": 132,
                                "name": "FunctionCall",
                                "src": "1958:42:1"
                              }
                            ],
                            "id": 133,
                            "name": "ExpressionStatement",
                            "src": "1958:42:1"
                          },
                          {
                            "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"
                                        }
                                      ],
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "member_name": "transferOwnership",
                                      "referencedDeclaration": 2116,
                                      "type": "function (address) external"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 117,
                                          "type": "contract TokenMintPoD",
                                          "value": "mint"
                                        },
                                        "id": 134,
                                        "name": "Identifier",
                                        "src": "2008:4:1"
                                      }
                                    ],
                                    "id": 136,
                                    "name": "MemberAccess",
                                    "src": "2008:22:1"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 62,
                                      "type": "address",
                                      "value": "_rico"
                                    },
                                    "id": 137,
                                    "name": "Identifier",
                                    "src": "2031:5:1"
                                  }
                                ],
                                "id": 138,
                                "name": "FunctionCall",
                                "src": "2008:29:1"
                              }
                            ],
                            "id": 139,
                            "name": "ExpressionStatement",
                            "src": "2008:29:1"
                          },
                          {
                            "attributes": {
                              "functionReturnParameters": 75
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "isStructConstructorCall": false,
                                  "lValueRequested": false,
                                  "names": [
                                    null
                                  ],
                                  "type": "address",
                                  "type_conversion": true
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_contract$_TokenMintPoD_$3336",
                                          "typeString": "contract TokenMintPoD"
                                        }
                                      ],
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "type": "type(address)",
                                      "value": "address"
                                    },
                                    "id": 140,
                                    "name": "ElementaryTypeNameExpression",
                                    "src": "2052:7:1"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 117,
                                      "type": "contract TokenMintPoD",
                                      "value": "mint"
                                    },
                                    "id": 141,
                                    "name": "Identifier",
                                    "src": "2060:4:1"
                                  }
                                ],
                                "id": 142,
                                "name": "FunctionCall",
                                "src": "2052:13:1"
                              }
                            ],
                            "id": 143,
                            "name": "Return",
                            "src": "2045:20:1"
                          }
                        ],
                        "id": 144,
                        "name": "Block",
                        "src": "1904:168:1"
                      }
                    ],
                    "id": 145,
                    "name": "IfStatement",
                    "src": "1888:184:1"
                  }
                ],
                "id": 146,
                "name": "Block",
                "src": "1672:404:1"
              }
            ],
            "id": 147,
            "name": "FunctionDefinition",
            "src": "1518:558:1"
          }
        ],
        "id": 148,
        "name": "ContractDefinition",
        "src": "777:1301:1"
      }
    ],
    "id": 149,
    "name": "SourceUnit",
    "src": "0:2080:1"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.18+commit.9cf6e910.Emscripten.clang"
  },
  "networks": {
    "1520399383573": {
      "events": {},
      "links": {},
      "address": "0xa67748984e3121b91d0d8dbbedb8a48dcd59099f"
    }
  },
  "schemaVersion": "1.0.1",
  "updatedAt": "2018-03-07T05:10:53.097Z"
}