kleros-interaction-2
Version:
Smart contracts interacting with Kleros.
1,043 lines • 357 kB
JSON
{
"contractName": "KittyCore",
"abi": [
{
"constant": false,
"inputs": [
{
"name": "_kittyId",
"type": "uint256"
},
{
"name": "_recipient",
"type": "address"
}
],
"name": "rescueLostKitty",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "cfoAddress",
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "promoCreatedCount",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "name",
"outputs": [
{
"name": "",
"type": "string"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_to",
"type": "address"
},
{
"name": "_tokenId",
"type": "uint256"
}
],
"name": "approve",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "ceoAddress",
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "implementsERC721",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "pure",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_address",
"type": "address"
}
],
"name": "setSiringAuctionAddress",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "totalSupply",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "siringAuction",
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_from",
"type": "address"
},
{
"name": "_to",
"type": "address"
},
{
"name": "_tokenId",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_address",
"type": "address"
}
],
"name": "setGeneScienceAddress",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_newCEO",
"type": "address"
}
],
"name": "setCEO",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_newCOO",
"type": "address"
}
],
"name": "setCOO",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_kittyId",
"type": "uint256"
},
{
"name": "_startingPrice",
"type": "uint256"
},
{
"name": "_endingPrice",
"type": "uint256"
},
{
"name": "_duration",
"type": "uint256"
}
],
"name": "createSaleAuction",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "gen0CreationLimit",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "",
"type": "uint256"
}
],
"name": "sireAllowedToAddress",
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "_matronId",
"type": "uint256"
},
{
"name": "_sireId",
"type": "uint256"
}
],
"name": "canBreedWith",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "_owner",
"type": "address"
},
{
"name": "_index",
"type": "uint256"
}
],
"name": "tokensOfOwnerByIndex",
"outputs": [
{
"name": "tokenId",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "",
"type": "uint256"
}
],
"name": "kittyIndexToApproved",
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_kittyId",
"type": "uint256"
},
{
"name": "_startingPrice",
"type": "uint256"
},
{
"name": "_endingPrice",
"type": "uint256"
},
{
"name": "_duration",
"type": "uint256"
}
],
"name": "createSiringAuction",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "val",
"type": "uint256"
}
],
"name": "setAutoBirthFee",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_addr",
"type": "address"
},
{
"name": "_sireId",
"type": "uint256"
}
],
"name": "approveSiring",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_newCFO",
"type": "address"
}
],
"name": "setCFO",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_genes",
"type": "uint256"
},
{
"name": "_owner",
"type": "address"
}
],
"name": "createPromoKitty",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "paused",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [],
"name": "withdrawBalance",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "_tokenId",
"type": "uint256"
}
],
"name": "ownerOf",
"outputs": [
{
"name": "owner",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "newContractAddress",
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_address",
"type": "address"
}
],
"name": "setSaleAuctionAddress",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_matronId",
"type": "uint256"
},
{
"name": "_sireId",
"type": "uint256"
}
],
"name": "breedWith",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "_owner",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"name": "count",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [],
"name": "pause",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_matronId",
"type": "uint256"
}
],
"name": "giveBirth",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [],
"name": "withdrawAuctionBalances",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "symbol",
"outputs": [
{
"name": "",
"type": "string"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "",
"type": "uint256"
}
],
"name": "cooldowns",
"outputs": [
{
"name": "",
"type": "uint32"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "",
"type": "uint256"
}
],
"name": "kittyIndexToOwner",
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_to",
"type": "address"
},
{
"name": "_tokenId",
"type": "uint256"
}
],
"name": "transfer",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "gen0StartingPrice",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "cooAddress",
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "autoBirthFee",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "promoCreationLimit",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_genes",
"type": "uint256"
}
],
"name": "createGen0Auction",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "_kittyId",
"type": "uint256"
}
],
"name": "isReadyToBreed",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "saleAuction",
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "gen0AuctionDuration",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_sireId",
"type": "uint256"
},
{
"name": "_matronId",
"type": "uint256"
}
],
"name": "bidOnSiringAuction",
"outputs": [],
"payable": true,
"stateMutability": "payable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "gen0CreatedCount",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "geneScience",
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_matronId",
"type": "uint256"
},
{
"name": "_sireId",
"type": "uint256"
}
],
"name": "breedWithAuto",
"outputs": [],
"payable": true,
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"payable": true,
"stateMutability": "payable",
"type": "fallback"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"name": "owner",
"type": "address"
},
{
"indexed": false,
"name": "matronId",
"type": "uint256"
},
{
"indexed": false,
"name": "sireId",
"type": "uint256"
}
],
"name": "Pregnant",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"name": "matronId",
"type": "uint256"
},
{
"indexed": false,
"name": "cooldownEndTime",
"type": "uint256"
}
],
"name": "AutoBirth",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"name": "from",
"type": "address"
},
{
"indexed": true,
"name": "to",
"type": "address"
},
{
"indexed": true,
"name": "tokenId",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"name": "owner",
"type": "address"
},
{
"indexed": true,
"name": "approved",
"type": "address"
},
{
"indexed": true,
"name": "tokenId",
"type": "uint256"
}
],
"name": "Approval",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"name": "owner",
"type": "address"
},
{
"indexed": false,
"name": "kittyId",
"type": "uint256"
},
{
"indexed": false,
"name": "matronId",
"type": "uint256"
},
{
"indexed": false,
"name": "sireId",
"type": "uint256"
},
{
"indexed": false,
"name": "genes",
"type": "uint256"
}
],
"name": "Birth",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"name": "newContract",
"type": "address"
}
],
"name": "ContractUpgrade",
"type": "event"
},
{
"constant": false,
"inputs": [
{
"name": "_v2Address",
"type": "address"
}
],
"name": "setNewAddress",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "_id",
"type": "uint256"
}
],
"name": "getKitty",
"outputs": [
{
"name": "isGestating",
"type": "bool"
},
{
"name": "isReady",
"type": "bool"
},
{
"name": "cooldownIndex",
"type": "uint256"
},
{
"name": "nextActionAt",
"type": "uint256"
},
{
"name": "siringWithId",
"type": "uint256"
},
{
"name": "birthTime",
"type": "uint256"
},
{
"name": "matronId",
"type": "uint256"
},
{
"name": "sireId",
"type": "uint256"
},
{
"name": "generation",
"type": "uint256"
},
{
"name": "genes",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [],
"name": "unpause",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x6002805460a060020a60ff0219169055610240604052603c6080908152607860a05261012c60c05261025860e05261070861010052610e1061012052611c2061014052613840610160526170806101805261e1006101a052620151806101c0526202a3006101e052620546006102005262093a80610220526200008790600390600e62000557565b5060408051808201909152600d8082527f43727970746f4b697474696573000000000000000000000000000000000000006020909201918252620000ce91600a91620005fa565b506040805180820190915260028082527f434b00000000000000000000000000000000000000000000000000000000000060209092019182526200011591600b91620005fa565b5066038d7ea4c68000600c5561138860105561c350601155662386f26fc10000601255620151806013553480156200014c57600080fd5b506002805460008054600160a060020a031990811633908117835560a060020a60ff0219909316740100000000000000000000000000000000000000001716909117909155620001ab90808060001981640100000000620001b2810204565b5062000703565b6000620001be6200067b565b600063ffffffff881115620001d257600080fd5b63ffffffff871115620001e457600080fd5b61ffff861115620001f457600080fd5b505060408051610100810182528481524267ffffffffffffffff90811660208301908152600093830184815263ffffffff8b8116606086019081528b82166080870190815260a0870188815260c0880189815261ffff8e811660e08b01908152600580546001810182559c528a517f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db060028e029081019190915598517f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db1909901805498519651955194519351915167ffffffffffffffff19909916998b1699909917604060020a608060020a0319166801000000000000000096909a169590950298909817608060020a63ffffffff021916700100000000000000000000000000000000938616939093029290921760a060020a63ffffffff02191674010000000000000000000000000000000000000000918516919091021760c060020a63ffffffff0219167801000000000000000000000000000000000000000000000000918416919091021760e060020a61ffff0219167c01000000000000000000000000000000000000000000000000000000009186169190910217600160f060020a03167e010000000000000000000000000000000000000000000000000000000000009290941691909102929092179055909190811115620003f557600080fd5b60608281015160808085015185516040805187815263ffffffff95861660208201529490921684830152938301939093529151600160a060020a038716927f0a5311bd2a6608f08a180df2ee7c5946819a649b204b554bb8e39825b2c50ad5928290030190a262000472600085836401000000006200047d810204565b979650505050505050565b600160a060020a03808316600081815260076020908152604080832080546001019055858352600690915290208054600160a060020a03191690911790558316156200051157600160a060020a03831660009081526007602090815260408083208054600019019055838352600982528083208054600160a060020a03199081169091556008909252909120805490911690555b8082600160a060020a031684600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b600283019183908215620005e85791602002820160005b83821115620005b457835183826101000a81548163ffffffff021916908363ffffffff16021790555092602001926004016020816003010492830192600103026200056e565b8015620005e65782816101000a81549063ffffffff0219169055600401602081600301049283019260010302620005b4565b505b50620005f6929150620006bf565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200063d57805160ff19168380011785556200066d565b828001600101855582156200066d579182015b828111156200066d57825182559160200191906001019062000650565b50620005f6929150620006e6565b6040805161010081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081019190915290565b620006e391905b80821115620005f657805463ffffffff19168155600101620006c6565b90565b620006e391905b80821115620005f65760008155600101620006ed565b612ab680620007136000396000f30060806040526004361061026e5763ffffffff60e060020a600035041663030c4741811461029e5780630519ce79146102c257806305e45546146102f357806306fdde031461031a578063095ea7b3146103a45780630a0f8168146103c85780631051db34146103dd57806314001f4c1461040657806318160ddd1461042757806321717ebf1461043c57806323b872dd1461045157806324e7a38a1461047b57806327d7874c1461049c5780632ba73c15146104bd5780633d7d3f5a146104de5780633f4ba83a146104ff578063404d0e3e1461051457806346116e6f1461052957806346d22c70146105415780634707f44f1461055c578063481af3d3146105805780634ad8c938146105985780634b85fd55146105b95780634dfff04f146105d15780634e0a3379146105f557806356129134146106165780635c975abb1461063a5780635fd8c7101461064f5780636352211e146106645780636af04a571461067c5780636fbde40d146106915780637004fb84146106b257806370a08231146106cd57806371587988146106ee5780638456cb591461070f57806388c2a0bf1461072457806391876e571461073c57806395d89b41146107515780639d6fac6f14610766578063a45f4bfc14610797578063a9059cbb146107af578063ae4d0ff7146107d3578063b047fb50146107e8578063b0c35c05146107fd578063b531933514610812578063c3bea9af14610827578063d3e6f49f1461083f578063e6cbe35114610857578063e98b7f4d1461086c578063eb845c17146108d6578063ed60ade6146108eb578063f1ca9410146108f9578063f2b47d521461090e578063f7d8c88314610923575b600e54600160a060020a03163314806102915750600f54600160a060020a031633145b151561029c57600080fd5b005b3480156102aa57600080fd5b5061029c600435600160a060020a0360243516610931565b3480156102ce57600080fd5b506102d7610983565b60408051600160a060020a039092168252519081900360200190f35b3480156102ff57600080fd5b50610308610992565b60408051918252519081900360200190f35b34801561032657600080fd5b5061032f610998565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610369578181015183820152602001610351565b50505050905090810190601f1680156103965780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156103b057600080fd5b5061029c600160a060020a0360043516602435610a26565b3480156103d457600080fd5b506102d7610a98565b3480156103e957600080fd5b506103f2610aa7565b604080519115158252519081900360200190f35b34801561041257600080fd5b5061029c600160a060020a0360043516610aac565b34801561043357600080fd5b50610308610b5f565b34801561044857600080fd5b506102d7610b69565b34801561045d57600080fd5b5061029c600160a060020a0360043581169060243516604435610b78565b34801561048757600080fd5b5061029c600160a060020a0360043516610bc9565b3480156104a857600080fd5b5061029c600160a060020a0360043516610c7c565b3480156104c957600080fd5b5061029c600160a060020a0360043516610cca565b3480156104ea57600080fd5b5061029c600435602435604435606435610d18565b34801561050b57600080fd5b5061029c610dfa565b34801561052057600080fd5b50610308610e8e565b34801561053557600080fd5b506102d7600435610e94565b34801561054d57600080fd5b506103f2600435602435610eaf565b34801561056857600080fd5b50610308600160a060020a0360043516602435610f31565b34801561058c57600080fd5b506102d7600435610f8b565b3480156105a457600080fd5b5061029c600435602435604435606435610fa6565b3480156105c557600080fd5b5061029c60043561107e565b3480156105dd57600080fd5b5061029c600160a060020a036004351660243561109a565b34801561060157600080fd5b5061029c600160a060020a03600435166110f4565b34801561062257600080fd5b5061029c600435600160a060020a0360243516611142565b34801561064657600080fd5b506103f26111c5565b34801561065b57600080fd5b5061029c6111d5565b34801561067057600080fd5b506102d7600435611229565b34801561068857600080fd5b506102d7611252565b34801561069d57600080fd5b5061029c600160a060020a0360043516611261565b3480156106be57600080fd5b5061029c600435602435611314565b3480156106d957600080fd5b50610308600160a060020a0360043516611503565b3480156106fa57600080fd5b5061029c600160a060020a036004351661151e565b34801561071b57600080fd5b5061029c6115a1565b34801561073057600080fd5b50610308600435611621565b34801561074857600080fd5b5061029c6118ad565b34801561075d57600080fd5b5061032f611996565b34801561077257600080fd5b5061077e6004356119f1565b6040805163ffffffff9092168252519081900360200190f35b3480156107a357600080fd5b506102d7600435611a1e565b3480156107bb57600080fd5b5061029c600160a060020a0360043516602435611a39565b3480156107df57600080fd5b50610308611a85565b3480156107f457600080fd5b506102d7611a8b565b34801561080957600080fd5b50610308611a9a565b34801561081e57600080fd5b50610308611aa0565b34801561083357600080fd5b5061029c600435611aa6565b34801561084b57600080fd5b506103f2600435611b92565b34801561086357600080fd5b506102d7611c61565b34801561087857600080fd5b50610884600435611c70565b604080519a15158b5298151560208b0152898901979097526060890195909552608088019390935260a087019190915260c086015260e085015261010084015261012083015251908190036101400190f35b3480156108e257600080fd5b50610308611dd1565b61029c600435602435611dd7565b34801561090557600080fd5b5061030861200d565b34801561091a57600080fd5b506102d7612013565b61029c600435602435612022565b600254600160a060020a0316331461094857600080fd5b60025460a060020a900460ff161561095f57600080fd5b61096930836120d9565b151561097457600080fd5b61097f3082846120f9565b5050565b600154600160a060020a031681565b60145481565b600a805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610a1e5780601f106109f357610100808354040283529160200191610a1e565b820191906000526020600020905b815481529060010190602001808311610a0157829003601f168201915b505050505081565b60025460a060020a900460ff1615610a3d57600080fd5b610a4733826120d9565b1515610a5257600080fd5b610a5c81836121d2565b6040518190600160a060020a0384169033907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590600090a45050565b600054600160a060020a031681565b600190565b60008054600160a060020a03163314610ac457600080fd5b81905080600160a060020a03166376190f8f6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610b0557600080fd5b505af1158015610b19573d6000803e3d6000fd5b505050506040513d6020811015610b2f57600080fd5b50511515610b3c57600080fd5b600f8054600160a060020a031916600160a060020a039290921691909117905550565b6005546000190190565b600f54600160a060020a031681565b60025460a060020a900460ff1615610b8f57600080fd5b610b993382612200565b1515610ba457600080fd5b610bae83826120d9565b1515610bb957600080fd5b610bc48383836120f9565b505050565b60008054600160a060020a03163314610be157600080fd5b81905080600160a060020a03166354c15b826040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610c2257600080fd5b505af1158015610c36573d6000803e3d6000fd5b505050506040513d6020811015610c4c57600080fd5b50511515610c5957600080fd5b600d8054600160a060020a031916600160a060020a039290921691909117905550565b600054600160a060020a03163314610c9357600080fd5b600160a060020a0381161515610ca857600080fd5b60008054600160a060020a031916600160a060020a0392909216919091179055565b600054600160a060020a03163314610ce157600080fd5b600160a060020a0381161515610cf657600080fd5b60028054600160a060020a031916600160a060020a0392909216919091179055565b60025460a060020a900460ff1615610d2f57600080fd5b610d3933856120d9565b1515610d4457600080fd5b600e54610d5b908590600160a060020a03166121d2565b600e54604080517f27ebe40a000000000000000000000000000000000000000000000000000000008152600481018790526024810186905260448101859052606481018490523360848201529051600160a060020a03909216916327ebe40a9160a48082019260009290919082900301818387803b158015610ddc57600080fd5b505af1158015610df0573d6000803e3d6000fd5b5050505050505050565b600054600160a060020a03163314610e1157600080fd5b60025460a060020a900460ff161515610e2957600080fd5b600e54600160a060020a03161515610e4057600080fd5b600f54600160a060020a03161515610e5757600080fd5b600d54600160a060020a03161515610e6e57600080fd5b601654600160a060020a031615610e8457600080fd5b610e8c612220565b565b60115481565b600960205260009081526040902054600160a060020a031681565b60008080808511610ebf57600080fd5b60008411610ecc57600080fd5b6005805486908110610eda57fe5b90600052602060002090600202019150600584815481101515610ef957fe5b90600052602060002090600202019050610f158286838761226f565b8015610f265750610f2684866123ef565b92505b505092915050565b60008060015b610f3f610b5f565b8111610f8657600081815260066020526040902054600160a060020a0386811691161415610f7e5783821415610f7757809250610f29565b6001909101905b600101610f37565b600080fd5b600860205260009081526040902054600160a060020a031681565b60025460a060020a900460ff1615610fbd57600080fd5b610fc733856120d9565b1515610fd257600080fd5b610fdb84611b92565b1515610fe657600080fd5b600f54610ffd908590600160a060020a03166121d2565b600f54604080517f27ebe40a000000000000000000000000000000000000000000000000000000008152600481018790526024810186905260448101859052606481018490523360848201529051600160a060020a03909216916327ebe40a9160a48082019260009290919082900301818387803b158015610ddc57600080fd5b600254600160a060020a0316331461109557600080fd5b600c55565b60025460a060020a900460ff16156110b157600080fd5b6110bb33826120d9565b15156110c657600080fd5b60009081526009602052604090208054600160a060020a031916600160a060020a0392909216919091179055565b600054600160a060020a0316331461110b57600080fd5b600160a060020a038116151561112057600080fd5b60018054600160a060020a031916600160a060020a0392909216919091179055565b600254600090600160a060020a0316331461115c57600080fd5b5080600160a060020a038116151561117c5750600254600160a060020a03165b6010546014541061118c57600080fd5b6011546015541061119c57600080fd5b6014805460019081019091556015805490910190556111bf600080808685612444565b50505050565b60025460a060020a900460ff1681565b600154600160a060020a031633146111ec57600080fd5b600154604051600160a060020a0390911690303180156108fc02916000818181858888f19350505050158015611226573d6000803e3d6000fd5b50565b600081815260066020526040902054600160a060020a031680151561124d57600080fd5b919050565b601654600160a060020a031681565b60008054600160a060020a0316331461127957600080fd5b81905080600160a060020a03166385b861886040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156112ba57600080fd5b505af11580156112ce573d6000803e3d6000fd5b505050506040513d60208110156112e457600080fd5b505115156112f157600080fd5b600e8054600160a060020a031916600160a060020a039290921691909117905550565b600254600090819060a060020a900460ff161561133057600080fd5b61133a33856120d9565b151561134557600080fd5b61134f83856123ef565b151561135a57600080fd5b600580548590811061136857fe5b60009182526020918290206040805161010081018252600290930290910180548352600181015467ffffffffffffffff808216958501959095526801000000000000000081049094169183019190915263ffffffff608060020a84048116606084015260a060020a84048116608084015260c060020a84041660a083015261ffff60e060020a8404811660c084015260f060020a90930490921660e0820152909250611413906126f5565b151561141e57600080fd5b600580548490811061142c57fe5b60009182526020918290206040805161010081018252600290930290910180548352600181015467ffffffffffffffff808216958501959095526801000000000000000081049094169183019190915263ffffffff608060020a84048116606084015260a060020a84048116608084015260c060020a84041660a083015261ffff60e060020a8404811660c084015260f060020a90930490921660e08201529091506114d7906126f5565b15156114e257600080fd5b6114ee8285838661226f565b15156114f957600080fd5b6111bf8484612725565b600160a060020a031660009081526007602052604090205490565b600054600160a060020a0316331461153557600080fd5b60025460a060020a900460ff16151561154d57600080fd5b60168054600160a060020a038316600160a060020a0319909116811790915560408051918252517f450db8da6efbe9c22f2347f7c2021231df1fc58d3ae9a2fa75d39fa4461993059181900360200190a150565b600254600160a060020a03163314806115c45750600054600160a060020a031633145b806115d95750600154600160a060020a031633145b15156115e457600080fd5b60025460a060020a900460ff16156115fb57600080fd5b6002805474ff0000000000000000000000000000000000000000191660a060020a179055565b600080600080600080600080600260149054906101000a900460ff1615151561164957600080fd5b600580548a90811061165757fe5b60009182526020909120600290910201600181015490975067ffffffffffffffff16151561168457600080fd5b604080516101008101825288548152600189015467ffffffffffffffff8082166020840152680100000000000000008204169282019290925263ffffffff608060020a83048116606083015260a060020a83048116608083015260c060020a83041660a082015261ffff60e060020a8304811660c083015260f060020a90920490911660e082015261171590612838565b151561172057600080fd5b60018701546005805460c060020a90920463ffffffff169750908790811061174457fe5b600091825260209091206001808a015460029093029091019081015490965061ffff60f060020a92839004811696509190041684101561179157600185015460f060020a900461ffff1693505b600d5487548654604080517f8d8b1b880000000000000000000000000000000000000000000000000000000081526004810193909352602483019190915251600160a060020a0390921691638d8b1b88916044808201926020929091908290030181600087803b15801561180457600080fd5b505af1158015611818573d6000803e3d6000fd5b505050506040513d602081101561182e57600080fd5b505160008a815260066020526040902054600189810154929550600160a060020a039091169350611877918b9160c060020a90910463ffffffff1690870161ffff168686612444565b60019790970180547bffffffff000000000000000000000000000000000000000000000000191690555094979650505050505050565b600254600160a060020a031633146118c457600080fd5b600e60009054906101000a9004600160a060020a0316600160a060020a0316635fd8c7106040518163ffffffff1660e060020a028152600401600060405180830381600087803b15801561191757600080fd5b505af115801561192b573d6000803e3d6000fd5b50505050600f60009054906101000a9004600160a060020a0316600160a060020a0316635fd8c7106040518163ffffffff1660e060020a028152600401600060405180830381600087803b15801561198257600080fd5b505af11580156111bf573d6000803e3d6000fd5b600b805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610a1e5780601f106109f357610100808354040283529160200191610a1e565b600381600e81106119fe57fe5b60089182820401919006600402915054906101000a900463ffffffff1681565b600660205260009081526040902054600160a060020a031681565b60025460a060020a900460ff1615611a5057600080fd5b600160a060020a0382161515611a6557600080fd5b611a6f33826120d9565b1515611a7a57600080fd5b61097f3383836120f9565b60125481565b600254600160a060020a031681565b600c5481565b60105481565b600254600090600160a060020a03163314611ac057600080fd5b60115460155410611ad057600080fd5b611adf60008060008530612444565b600e54909150611af9908290600160a060020a03166121d2565b600e54600160a060020a03166327ebe40a82611b13612867565b6013546040805160e060020a63ffffffff8716028152600481019490945260248401929092526000604484018190526064840191909152306084840152905160a48084019382900301818387803b158015611b6d57600080fd5b505af1158015611b81573d6000803e3d6000fd5b505060158054600101905550505050565b600080808311611ba157600080fd5b6005805484908110611baf57fe5b60009182526020918290206040805161010081018252600290930290910180548352600181015467ffffffffffffffff808216958501959095526801000000000000000081049094169183019190915263ffffffff608060020a84048116606084015260a060020a84048116608084015260c060020a84041660a083015261ffff60e060020a8404811660c084015260f060020a90930490921660e0820152909150611c5a906126f5565b9392505050565b600e54600160a060020a031681565b600080600080600080600080600080600060058c815481101515611c9057fe5b906000526020600020906002020190508060010160189054906101000a900463ffffffff1663ffffffff16600014159a50428160010160089054906101000a900467ffffffffffffffff1667ffffffffffffffff161115995080600101601c9054906101000a900461ffff1661ffff1698508060010160089054906101000a900467ffffffffffffffff1667ffffffffffffffff1697508060010160189054906101000a900463ffffffff1663ffffffff1696508060010160009054906101000a900467ffffffffffffffff1667ffffffffffffffff1695508060010160109054906101000a900463ffffffff1663ffffffff1694508060010160149054906101000a900463ffffffff1663ffffffff16935080600101601e9054906101000a900461ffff1661ffff16925080600001549150509193959799509193959799565b60135481565b60025460009081908190819060a060020a900460ff1615611df757600080fd5b611e0133866120d9565b1515611e0c57600080fd5b611e1585611b92565b1515611e2057600080fd5b611e2a8587612925565b1515611e3557600080fd5b600f54604080517fc55d0f56000000000000000000000000000000000000000000000000000000008152600481018990529051600160a060020a039092169163c55d0f56916024808201926020929091908290030181600087803b158015611e9c57600080fd5b505af1158015611eb0573d6000803e3d6000fd5b505050506040513d6020811015611ec657600080fd5b5051600c549094503493506000925084018310611ee957600c5483039250600191505b600f54604080517f454a2ab3000000000000000000000000000000000000000000000000000000008152600481018990529051600160a060020a039092169163454a2ab3918691602480830192600092919082900301818588803b158015611f5057600080fd5b505af1158015611f64573d6000803e3d6000fd5b5050505050611f7f8563ffffffff168763ffffffff16612725565b8115612005576005805486908110611f9357fe5b906000526020600020906002020190507f1c2771fbe007c332593b3adcacf033ce4a97f9cb1f6dd81e40d9a42c66d2e65c858260010160089054906101000a900467ffffffffffffffff16604051808381526020018267ffffffffffffffff1681526020019250505060405180910390a15b505050505050565b60155481565b600d54600160a060020a031681565b60025460009060a060020a900460ff161561203c57600080fd5b600c5434101561204b57600080fd5b6120558383611314565b600580548490811061206357fe5b906000526020600020906002020190507f1c2771fbe007c332593b3adcacf033ce4a97f9cb1f6dd81e40d9a42c66d2e65c838260010160089054906101000a900467ffffffffffffffff16604051808381526020018267ffffffffffffffff1681526020019250505060405180910390a1505050565b600090815260066020526040902054600160a060020a0391821691161490565b600160a060020a03808316600081815260076020908152604080832080546001019055858352600690915290208054600160a060020a031916909117905583161561218c57600160a060020a03831660009081526007602090815260408083208054600019019055838352600982528083208054600160a060020a03199081169091556008909252909120805490911690555b8082600160a060020a031684600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b6000918252600860205260409091208054600160a060020a031916600160a060020a03909216919091179055565b600090815260086020526040902054600160a060020a0391821691161490565b600054600160a060020a0316331461223757600080fd5b60025460a060020a900460ff16151561224f57600080fd5b6002805474ff000000000000000000000000000000000000000019169055565b600081841415612281575060006123e7565b6001850154608060020a900463ffffffff168214806122b05750600185015460a060020a900463ffffffff1682145b156122bd575060006123e7565b6001830154608060020a900463ffffffff168414806122ec5750600183015460a060020a900463ffffffff1684145b156122f9575060006123e7565b6001830154608060020a900463ffffffff16158061232657506001850154608060020a900463ffffffff16155b15612333575060016123e7565b60018581015490840154608060020a9182900463ffffffff9081169290910416148061237e575060018086015490840154608060020a900463ffffffff90811660a060020a90920416145b1561238b575060006123e7565b6001808601549084015460a060020a900463ffffffff908116608060020a9092041614806123d657506001858101549084015460a060020a9182900463ffffffff9081169290910416145b156123e3575060006123e7565b5060015b949350505050565b6000818152600660205260408082205484835290822054600160a060020a03918216911680821480610f265750600085815260096020526040902054600160a060020a03908116908316149250505092915050565b600061244e612a46565b600063ffffffff88111561246157600080fd5b63ffffffff87111561247257600080fd5b61ffff86111561248157600080fd5b505060408051610100810182528481524267ffffffffffffffff90811660208301908152600093830184815263ffffffff8b8116606086019081528b82166080870190815260a0870188815260c0880189815261ffff8e811660e08b01908152600580546001810182559c528a517f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db060028e029081019190915598517f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db1909901805498519651955194519351915167ffffffffffffffff19909916998b16999099176fffffffffffffffff000000000000000019166801000000000000000096909a16959095029890981773ffffffff000000000000000000000000000000001916608060020a938616939093029290921777ffffffff0000000000000000000000000000000000000000191660a060020a91851691909102177bffffffff000000000000000000000000000000000000000000000000191660c060020a91841691909102177fffff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660e060020a91861691909102177dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660f060020a929094169190910292909217905590919081111561267857600080fd5b60608281015160808085015185516040805187815263ffffffff95861660208201529490921684830152938301939093529151600160a060020a038716927f0a5311bd2a6608f08a180df2ee7c5946819a649b204b554bb8e39825b2c50ad5928290030190a26126ea600085836120f9565b979650505050505050565b60008160a0015163ffffffff16600014801561271f575042826040015167ffffffffffffffff1611155b92915050565b60008060058381548110151561273757fe5b9060005260206000209060020201915060058481548110151561275657fe5b600091825260209091206002909102016001810180547bffffffff000000000000000000000000000000000000000000000000191660c060020a63ffffffff87160217905590506127a682612974565b6127af81612974565b60008481526009602090815260408083208054600160a060020a0319908116909155868452818420805490911690558683526006825291829020548251600160a060020a0391909116815290810186905280820185905290517f6b4808987a5cecdf67d54ca5dc20664fafca80ef7195097800c12549245ab20d9181900360600190a150505050565b60008160a0015163ffffffff1660001415801561271f575050604001514267ffffffffffffffff909116111590565b6000806000600e60009054906101000a9004600160a060020a0316600160a060020a031663eac9d94c6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156128bf57600080fd5b505af11580156128d3573d6000803e3d6000fd5b505050506040513d60208110156128e957600080fd5b505191506fffffffffffffffffffffffffffffffff821061290957600080fd5b600282048201905060125481101561271f575060125492915050565b600080600060058581548110151561293957fe5b9060005260206000209060020201915060058481548110151561295857fe5b90600052602060002090600202019050610f268286838761226f565b600181015460039060e060020a900461ffff16600e811061299157fe5b600891828204019190066004029054906101000a900463ffffffff1663ffffffff1642018160010160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550600d81600101601c9054906101000a900461ffff1661ffff161015611226576001818101805461ffff60e060020a8083048216909401169092027fffff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff90921691909117905550565b6040805161010081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810191909152905600a165627a7a72305820a410c7c55aebff24d98d4b384645c52ffd2a1b5d364a8f97a94f943802e33d180029",
"deployedBytecode": "0x60806040526004361061026e5763ffffffff60e060020a600035041663030c4741811461029e5780630519ce79146102c257806305e45546146102f357806306fdde031461031a578063095ea7b3146103a45780630a0f8168146103c85780631051db34146103dd57806314001f4c1461040657806318160ddd1461042757806321717ebf1461043c57806323b872dd1461045157806324e7a38a1461047b57806327d7874c1461049c5780632ba73c15146104bd5780633d7d3f5a146104de5780633f4ba83a146104ff578063404d0e3e1461051457806346116e6f1461052957806346d22c70146105415780634707f44f1461055c578063481af3d3146105805780634ad8c938146105985780634b85fd55146105b95780634dfff04f146105d15780634e0a3379146105f557806356129134146106165780635c975abb1461063a5780635fd8c7101461064f5780636352211e146106645780636af04a571461067c5780636fbde40d146106915780637004fb84146106b257806370a08231146106cd57806371587988146106ee5780638456cb591461070f57806388c2a0bf1461072457806391876e571461073c57806395d89b41146107515780639d6fac6f14610766578063a45f4bfc14610797578063a9059cbb146107af578063ae4d0ff7146107d3578063b047fb50146107e8578063b0c35c05146107fd578063b531933514610812578063c3bea9af14610827578063d3e6f49f1461083f578063e6cbe35114610857578063e98b7f4d1461086c578063eb845c17146108d6578063ed60ade6146108eb578063f1ca9410146108f9578063f2b47d521461090e578063f7d8c88314610923575b600e54600160a060020a03163314806102915750600f54600160a060020a031633145b151561029c57600080fd5b005b3480156102aa57600080fd5b5061029c600435600160a060020a0360243516610931565b3480156102ce57600080fd5b506102d7610983565b60408051600160a060020a039092168252519081900360200190f35b3480156102ff57600080fd5b50610308610992565b60408051918252519081900360200190f35b34801561032657600080fd5b5061032f610998565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610369578181015183820152602001610351565b50505050905090810190601f1680156103965780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156103b057600080fd5b5061029c600160a060020a0360043516602435610a26565b3480156103d457600080fd5b506102d7610a98565b3480156103e957600080fd5b506103f2610aa7565b604080519115158252519081900360200190f35b34801561041257600080fd5b5061029c600160a060020a0360043516610aac565b34801561043357600080fd5b50610308610b5f565b34801561044857600080fd5b506102d7610b69565b34801561045d57600080fd5b5061029c600160a060020a0360043581169060243516604435610b78565b34801561048757600080fd5b5061029c600160a060020a0360043516610bc9565b3480156104a857600080fd5b5061029c600160a060020a0360043516610c7c565b3480156104c957600080fd5b5061029c600160a060020a0360043516610cca565b3480156104ea57600080fd5b5061029c600435602435604435606435610d18565b34801561050b57600080fd5b5061029c610dfa565b34801561052057600080fd5b50610308610e8e565b34801561053557600080fd5b506102d7600435610e94565b34801561054d57600080fd5b506103f2600435602435610eaf565b34801561056857600080fd5b50610308600160a060020a0360043516602435610f31565b34801561058c57600080fd5b506102d7600435610f8b565b3480156105a457600080fd5b5061029c600435602435604435606435610fa6565b3480156105c557600080fd5b5061029c60043561107e565b3480156105dd57600080fd5b5061029c600160a060020a036004351660243561109a565b34801561060157600080fd5b5061029c600160a060020a03600435166110f4565b34801561062257600080fd5b5061029c600435600160a060020a0360243516611142565b34801561064657600080fd5b506103f26111c5565b34801561065b57600080fd5b5061029c6111d5565b34801561067057600080fd5b506102d7600435611229565b34801561068857600080fd5b506102d7611252565b34801561069d57600080fd5b5061029c600160a060020a0360043516611261565b3480156106be57600080fd5b5061029c600435602435611314565b3480156106d957600080fd5b50610308600160a060020a0360043516611503565b3480156106fa57600080fd5b5061029c600160a060020a036004351661151e565b34801561071b57600080fd5b5061029c6115a1565b34801561073057600080fd5b50610308600435611621565b34801561074857600080fd5b5061029c6118ad565b34801561075d57600080fd5b5061032f611996565b34801561077257600080fd5b5061077e6004356119f1565b6040805163ffffffff9092168252519081900360200190f35b3480156107a357600080fd5b506102d7600435611a1e565b3480156107bb57600080fd5b5061029c600160a060020a0360043516602435611a39565b3480156107df57600080fd5b50610308611a85565b3480156107f457600080fd5b506102d7611a8b565b34801561080957600080fd5b50610308611a9a565b34801561081e57600080fd5b50610308611aa0565b3480156108