[ { "constant": true, "inputs": [], "name": "DATE_LIMIT", "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": "_spender", "type": "address" }, { "name": "_amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_a", "type": "address" } ], "name": "removeAdmin", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "totalSupply", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_from", "type": "address" }, { "name": "_to", "type": "address" }, { "name": "_amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "name": "success", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "name": "", "type": "address" } ], "name": "isAdmin", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "MAX_TOTAL_TOKEN_SUPPLY", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "LOCK_SLOTS", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "decimals", "outputs": [ { "name": "", "type": "uint8" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "", "type": "address" } ], "name": "balancesMinted", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "dateMainEnd", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "MAXIMUM_FIRST_DAY_CONTRIBUTION", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_mint_type", "type": "uint256" }, { "name": "_account", "type": "address" }, { "name": "_tokens", "type": "uint256" }, { "name": "_term", "type": "uint256" } ], "name": "mintTokensLocked", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_mint_type", "type": "uint256" }, { "name": "_accounts", "type": "address[]" }, { "name": "_tokens", "type": "uint256[]" }, { "name": "_terms", "type": "uint256[]" } ], "name": "mintTokensLockedMultiple", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "name": "", "type": "address" }, { "name": "", "type": "uint256" } ], "name": "lockTerm", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "wallet", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "TOKEN_MAIN_CAP", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "_account", "type": "address" } ], "name": "lockedTokens", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [], "name": "openMigrationPhase", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "isMain", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "isMainFirstDay", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "numberWhitelisted", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "tokensMinted", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_a", "type": "address" } ], "name": "addAdmin", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "name": "_owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "availableToMint", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [], "name": "acceptOwnership", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "name": "_tokens", "type": "uint256" } ], "name": "tokensToEth", "outputs": [ { "name": "eth", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "_account", "type": "address" } ], "name": "unlockedTokens", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_tokens", "type": "uint256" } ], "name": "requestTokenExchange", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "tokensIssuedTotal", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_unixts", "type": "uint256" } ], "name": "setDateMainEnd", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "name": "", "type": "address" }, { "name": "", "type": "uint256" } ], "name": "balancesMintedByType", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "MINIMUM_CONTRIBUTION", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_mint_type", "type": "uint256" }, { "name": "_account", "type": "address" }, { "name": "_tokens", "type": "uint256" } ], "name": "mintTokens", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "owner", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "", "type": "address" } ], "name": "balancesMain", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_addresses", "type": "address[]" } ], "name": "addToWhitelistMultiple", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "symbol", "outputs": [ { "name": "", "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [], "name": "requestTokenExchangeMax", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "name": "", "type": "address" } ], "name": "whitelist", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_tokens_per_eth", "type": "uint256" } ], "name": "updateTokensPerEth", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [], "name": "makeTradeable", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_addresses", "type": "address[]" }, { "name": "_amounts", "type": "uint256[]" } ], "name": "transferMultiple", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "name": "_eth", "type": "uint256" } ], "name": "ethToTokens", "outputs": [ { "name": "tokens", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_to", "type": "address" }, { "name": "_amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "name": "success", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "dateMainStart", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_unixts", "type": "uint256" } ], "name": "setDateMainStart", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_mint_type", "type": "uint256" }, { "name": "_accounts", "type": "address[]" }, { "name": "_tokens", "type": "uint256[]" } ], "name": "mintTokensMultiple", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "isMigrationPhaseOpen", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "totalEthContributed", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "tokensTradeable", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "tokensPerEth", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "newOwner", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "_account", "type": "address" }, { "name": "_term", "type": "uint256" } ], "name": "isAvailableLockSlot", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_token_address", "type": "address" }, { "name": "_amount", "type": "uint256" } ], "name": "transferAnyERC20Token", "outputs": [ { "name": "success", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "tokensMain", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "_owner", "type": "address" }, { "name": "_spender", "type": "address" } ], "name": "allowance", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_wallet", "type": "address" } ], "name": "setWallet", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "name": "", "type": "address" }, { "name": "", "type": "uint256" } ], "name": "lockAmnt", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_account", "type": "address" } ], "name": "addToWhitelist", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "firstDayTokenLimit", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "name": "", "type": "address" } ], "name": "mayHaveLockedTokens", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "", "type": "address" } ], "name": "ethContributed", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "inputs": [], "payable": false, "stateMutability": "nonpayable", "type": "constructor" }, { "payable": true, "stateMutability": "payable", "type": "fallback" }, { "anonymous": false, "inputs": [ { "indexed": false, "name": "tokensPerEth", "type": "uint256" } ], "name": "UpdatedTokensPerEth", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "account", "type": "address" }, { "indexed": false, "name": "countWhitelisted", "type": "uint256" } ], "name": "Whitelisted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "mintType", "type": "uint256" }, { "indexed": true, "name": "account", "type": "address" }, { "indexed": false, "name": "tokens", "type": "uint256" }, { "indexed": false, "name": "term", "type": "uint256" } ], "name": "TokensMinted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "account", "type": "address" }, { "indexed": false, "name": "tokensIssued", "type": "uint256" }, { "indexed": false, "name": "ethContributed", "type": "uint256" }, { "indexed": false, "name": "ethReturned", "type": "uint256" } ], "name": "RegisterContribution", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "account", "type": "address" }, { "indexed": false, "name": "tokens", "type": "uint256" } ], "name": "TokenExchangeRequested", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "name": "id", "type": "uint256" }, { "indexed": false, "name": "unixts", "type": "uint256" } ], "name": "IcoDateUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "account", "type": "address" }, { "indexed": true, "name": "idx", "type": "uint256" }, { "indexed": false, "name": "tokens", "type": "uint256" }, { "indexed": false, "name": "term", "type": "uint256" } ], "name": "RegisteredLockedTokens", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "name": "newWallet", "type": "address" } ], "name": "WalletUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "_from", "type": "address" }, { "indexed": true, "name": "_to", "type": "address" } ], "name": "OwnershipTransferProposed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "_from", "type": "address" }, { "indexed": true, "name": "_to", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "_admin", "type": "address" }, { "indexed": false, "name": "_status", "type": "bool" } ], "name": "AdminChange", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "_from", "type": "address" }, { "indexed": true, "name": "_to", "type": "address" }, { "indexed": false, "name": "_value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "_owner", "type": "address" }, { "indexed": true, "name": "_spender", "type": "address" }, { "indexed": false, "name": "_value", "type": "uint256" } ], "name": "Approval", "type": "event" } ]
6080604052635b238010600a55635b2cba90600b55612d3e600c5534801561002657600080fd5b5060008054600160a060020a03338116600160a060020a03199283161780845581168352600260205260408320805460ff191660011790559154600680549092169216919091179055600a54421061007d57600080fd5b600b54600a541061008d57600080fd5b600b54635c1a08901161009f57600080fd5b6126ad806100ae6000396000f30060806040526004361061030b5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663068ae02b811461031557806306fdde031461033c578063095ea7b3146103c65780631785f53c146103fe57806318160ddd1461041f57806323b872dd1461043457806324d7806c1461045e578063282c3cf71461047f5780632c2622db14610494578063313ce567146104a957806332e785af146104d45780633bba340c146104f55780633deaf6d41461050a5780634104044b1461051f57806343e7e4da146105495780634cd2c47b14610615578063521eb27314610639578063531163c11461066a5780635eb7413a1461067f5780635f538fd4146106a0578063604269d1146106b5578063632e082a146106ca5780636b8f155a146106df5780636de9f32b146106f4578063704802751461070957806370a082311461072a57806374601c3c1461074b57806379ba50971461076057806379ca9ad414610775578063836115fe1461078d578063837b68c8146107ae57806384ef0778146107c6578063897e47f5146107db5780638d006d11146107f35780638d0bba03146108175780638d6819be1461082c5780638da5cb5b146108535780638e2a2192146108685780638fe6677d1461088957806395d89b41146108de5780639981bd61146108f35780639b19251a146109085780639ea407be14610929578063a03fb4c014610941578063a05fccef14610956578063a4c8932214610982578063a9059cbb1461099a578063aa63dea4146109be578063ad401842146109d3578063c1b728b5146109eb578063c408efba14610a7e578063cb28225314610a93578063cbdc5aa414610aa8578063cbdd69b514610abd578063d4ee1d9014610ad2578063d8690c2214610ae7578063dc39d06d14610b0b578063dd2d4ea014610b2f578063dd62ed3e14610b44578063deaa59df14610b6b578063e184d8c814610b8c578063e43252d714610bb0578063e74f8eff14610bd1578063f2fde38b14610be6578063f49e1e3914610c07578063f96f5b3514610c28575b610313610c49565b005b34801561032157600080fd5b5061032a610f5e565b60408051918252519081900360200190f35b34801561034857600080fd5b50610351610f66565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561038b578181015183820152602001610373565b50505050905090810190601f1680156103b85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156103d257600080fd5b506103ea600160a060020a0360043516602435610f9d565b604080519115158252519081900360200190f35b34801561040a57600080fd5b50610313600160a060020a0360043516611008565b34801561042b57600080fd5b5061032a6110a3565b34801561044057600080fd5b506103ea600160a060020a03600435811690602435166044356110aa565b34801561046a57600080fd5b506103ea600160a060020a03600435166110e6565b34801561048b57600080fd5b5061032a6110fb565b3480156104a057600080fd5b5061032a61110b565b3480156104b557600080fd5b506104be611110565b6040805160ff9092168252519081900360200190f35b3480156104e057600080fd5b5061032a600160a060020a0360043516611115565b34801561050157600080fd5b5061032a611127565b34801561051657600080fd5b5061032a61112d565b34801561052b57600080fd5b50610313600435600160a060020a0360243516604435606435611139565b34801561055557600080fd5b5060408051602060046024803582810135848102808701860190975280865261031396843596369660449591949091019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a998901989297509082019550935083925085019084908082843750506040805187358901803560208181028481018201909552818452989b9a9989019892975090820195509350839250850190849080828437509497506111669650505050505050565b34801561062157600080fd5b5061032a600160a060020a0360043516602435611207565b34801561064557600080fd5b5061064e611229565b60408051600160a060020a039092168252519081900360200190f35b34801561067657600080fd5b5061032a611238565b34801561068b57600080fd5b5061032a600160a060020a0360043516611247565b3480156106ac57600080fd5b50610313611282565b3480156106c157600080fd5b506103ea6112ba565b3480156106d657600080fd5b506103ea6112e1565b3480156106eb57600080fd5b5061032a611305565b34801561070057600080fd5b5061032a61130b565b34801561071557600080fd5b50610313600160a060020a0360043516611311565b34801561073657600080fd5b5061032a600160a060020a03600435166113b0565b34801561075757600080fd5b5061032a6113cb565b34801561076c57600080fd5b50610313611401565b34801561078157600080fd5b5061032a60043561148a565b34801561079957600080fd5b5061032a600160a060020a03600435166114a0565b3480156107ba57600080fd5b506103136004356114d3565b3480156107d257600080fd5b5061032a6115d0565b3480156107e757600080fd5b506103136004356115d6565b3480156107ff57600080fd5b5061032a600160a060020a0360043516602435611672565b34801561082357600080fd5b5061032a61168f565b34801561083857600080fd5b50610313600435600160a060020a036024351660443561169b565b34801561085f57600080fd5b5061064e6116c8565b34801561087457600080fd5b5061032a600160a060020a03600435166116d7565b34801561089557600080fd5b5060408051602060048035808201358381028086018501909652808552610313953695939460249493850192918291850190849080828437509497506116e99650505050505050565b3480156108ea57600080fd5b50610351611745565b3480156108ff57600080fd5b5061031361177c565b34801561091457600080fd5b506103ea600160a060020a036004351661178f565b34801561093557600080fd5b506103136004356117a4565b34801561094d57600080fd5b50610313611808565b34801561096257600080fd5b506103136024600480358281019290820135918135918201910135611845565b34801561098e57600080fd5b5061032a6004356118ab565b3480156109a657600080fd5b506103ea600160a060020a03600435166024356118c2565b3480156109ca57600080fd5b5061032a6118fc565b3480156109df57600080fd5b50610313600435611902565b3480156109f757600080fd5b5060408051602060046024803582810135848102808701860190975280865261031396843596369660449591949091019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a9989019892975090820195509350839250850190849080828437509497506119899650505050505050565b348015610a8a57600080fd5b506103ea6119ff565b348015610a9f57600080fd5b5061032a611a08565b348015610ab457600080fd5b506103ea611a0e565b348015610ac957600080fd5b5061032a611a17565b348015610ade57600080fd5b5061064e611a1d565b348015610af357600080fd5b506103ea600160a060020a0360043516602435611a2c565b348015610b1757600080fd5b506103ea600160a060020a0360043516602435611ada565b348015610b3b57600080fd5b5061032a611b99565b348015610b5057600080fd5b5061032a600160a060020a0360043581169060243516611b9f565b348015610b7757600080fd5b50610313600160a060020a0360043516611bca565b348015610b9857600080fd5b5061032a600160a060020a0360043516602435611c5b565b348015610bbc57600080fd5b50610313600160a060020a0360043516611c74565b348015610bdd57600080fd5b5061032a611ca4565b348015610bf257600080fd5b50610313600160a060020a0360043516611cb7565b348015610c1357600080fd5b506103ea600160a060020a0360043516611d4f565b348015610c3457600080fd5b5061032a600160a060020a0360043516611d64565b600080600080600080610c5a6112ba565b1515610c6557600080fd5b6702c68af0bb140000341015610c7a57600080fd5b600160a060020a0333166000908152600e602052604090205460ff161515610ca157600080fd5b601054610cc0906a295be96e640669720000009063ffffffff611d7616565b9550610cca6112e1565b15610d0e57600160a060020a033316600090815260116020526040902054610d0090610cf4611ca4565b9063ffffffff611d7616565b945085851015610d0e578495505b60008611610d1b57600080fd5b610d24346118ab565b935083925034915085841115610d6457859250610d4f610d4a858563ffffffff611d7616565b61148a565b9050610d61348263ffffffff611d7616565b91505b600160a060020a033316600090815260046020526040902054610d8d908463ffffffff611d8b16565b600160a060020a033316600090815260046020908152604080832093909355601190522054610dc2908463ffffffff611d8b16565b600160a060020a033316600090815260116020526040902055601054610dee908463ffffffff611d8b16565b601055600354610e04908463ffffffff611d8b16565b600355600160a060020a033316600090815260136020526040902054610e30908363ffffffff611d8b16565b600160a060020a033316600090815260136020526040902055601254610e5c908363ffffffff611d8b16565b6012556000811115610ea057604051600160a060020a0333169082156108fc029083906000818181858888f19350505050158015610e9e573d6000803e3d6000fd5b505b600654604051600160a060020a039091169083156108fc029084906000818181858888f19350505050158015610eda573d6000803e3d6000fd5b50604080518481529051600160a060020a033316916000916000805160206126628339815191529181900360200190a360408051848152602081018490528082018390529051600160a060020a033316917fa9952e76453aae9003d5a21b7df6196de99382fa7a34336df0107ab6bf9a9660919081900360600190a2505050505050565b635c1a089081565b60408051808201909152600c81527f46616e746f6d20546f6b656e0000000000000000000000000000000000000000602082015281565b600160a060020a03338116600081815260056020908152604080832094871680845294825280832086905580518681529051929493927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b60005433600160a060020a0390811691161461102357600080fd5b600160a060020a03811660009081526002602052604090205460ff16151560011461104d57600080fd5b600160a060020a0381166000818152600260209081526040808320805460ff191690558051928352517faff098f53523369cef878ae47c10d27a8a918f0da3221b889da1776ab58f553f9281900390910190a250565b6003545b90565b600d5460009060ff1615156110be57600080fd5b6110c784611d9b565b8211156110d357600080fd5b6110de848484611e44565b949350505050565b60026020526000908152604090205460ff1681565b6b0a424c66e1cf9727c700000081565b600581565b601281565b60156020526000908152604090205481565b600b5481565b67177c3d06022c000081565b60005433600160a060020a0390811691161461115457600080fd5b61116084848484611f5c565b50505050565b6000805433600160a060020a0390811691161461118257600080fd5b825184511461119057600080fd5b815184511461119e57600080fd5b8351811015611200576111f88585838151811015156111b957fe5b9060200190602002015185848151811015156111d157fe5b9060200190602002015185858151811015156111e957fe5b90602001906020020151611f5c565b60010161119e565b5050505050565b6007602052600082815260409020816005811061122057fe5b01549150829050565b600654600160a060020a031681565b6a295be96e6406697200000081565b600160a060020a03811660009081526009602052604081205460ff1615156112715750600061127d565b61127a82612232565b90505b919050565b60005433600160a060020a0390811691161461129d57600080fd5b600b5442116112ab57600080fd5b6017805460ff19166001179055565b6000600a54421180156112ce5750600b5442105b156112db575060016110a7565b50600090565b6000600a54421180156112ce5750600a54620151800142116112db575060016110a7565b600f5481565b60145481565b60005433600160a060020a0390811691161461132c57600080fd5b600160a060020a03811660009081526002602052604090205460ff161561135257600080fd5b600160a060020a038116600081815260026020908152604091829020805460ff19166001908117909155825190815291517faff098f53523369cef878ae47c10d27a8a918f0da3221b889da1776ab58f553f9281900390910190a250565b600160a060020a031660009081526004602052604090205490565b6014546000906113fc90610cf46b0a424c66e1cf9727c70000006a295be96e6406697200000063ffffffff611d7616565b905090565b60015433600160a060020a0390811691161461141c57600080fd5b60015460008054604051600160a060020a0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36001546000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055565b6000600c548281151561149957fe5b0492915050565b600061127a6114ae83611247565b600160a060020a0384166000908152600460205260409020549063ffffffff611d7616565b60175460ff1615156114e457600080fd5b6000811180156114fc57506114f833611d9b565b8111155b151561150757600080fd5b600160a060020a033316600090815260046020526040902054611530908263ffffffff611d7616565b600160a060020a03331660009081526004602052604090205560035461155c908263ffffffff611d7616565b600355604080518281529051600091600160a060020a033316916000805160206126628339815191529181900360200190a3604080518281529051600160a060020a033316917f601012ba5835327e038c684c419b1aa1ecc88c5527dfededb4d244c46b5a9849919081900360200190a250565b60035481565b60005433600160a060020a039081169116146115f157600080fd5b80421080156116015750600b5442105b151561160c57600080fd5b600b81905560408051600281526020810183905281517fe20f93714281a7d40fd1b62a497dd1cc4df6b45409601908f02827ff1eb7d892929181900390910190a1600b54600a541061165d57600080fd5b600b54635c1a08901161166f57600080fd5b50565b601660209081526000928352604080842090915290825290205481565b6702c68af0bb14000081565b60005433600160a060020a039081169116146116b657600080fd5b6116c38383836000611f5c565b505050565b600054600160a060020a031681565b60116020526000908152604090205481565b600160a060020a03331660009081526002602052604081205460ff16151561171057600080fd5b815181101561174157611739828281518110151561172a57fe5b906020019060200201516122a4565b600101611710565b5050565b60408051808201909152600381527f46544d0000000000000000000000000000000000000000000000000000000000602082015281565b61178d61178833611d9b565b6114d3565b565b600e6020526000908152604090205460ff1681565b60005433600160a060020a039081169116146117bf57600080fd5b600a5442106117cd57600080fd5b600c8190556040805182815290517fd4846a8a7a6a67b4d03c988c19d73bb6f3cb8a3805f84c9a2273bc781c2c05989181900360200190a150565b60005433600160a060020a039081169116148061182b5750600b5462b892000142115b151561183657600080fd5b600d805460ff19166001179055565b6000606484111561185557600080fd5b83821461186157600080fd5b83811015611200576118a285858381811061187857fe5b90506020020135600160a060020a0316848484818110151561189657fe5b905060200201356118c2565b50600101611861565b600061127a600c548361234890919063ffffffff16565b600d5460009060ff1615156118d657600080fd5b6118df33611d9b565b8211156118eb57600080fd5b6118f5838361236d565b9392505050565b600a5481565b60005433600160a060020a0390811691161461191d57600080fd5b804210801561192d5750600a5442105b151561193857600080fd5b600a81905560408051600181526020810183905281517fe20f93714281a7d40fd1b62a497dd1cc4df6b45409601908f02827ff1eb7d892929181900390910190a1600b54600a541061165d57600080fd5b6000805433600160a060020a039081169116146119a557600080fd5b81518351146119b357600080fd5b8251811015611160576119f78484838151811015156119ce57fe5b9060200190602002015184848151811015156119e657fe5b906020019060200201516000611f5c565b6001016119b3565b60175460ff1681565b60125481565b600d5460ff1681565b600c5481565b600154600160a060020a031681565b600160a060020a0382166000908152600960205260408120548190819060ff161515611a5b5760019250611ad2565b42841015611a6c5760019250611ad2565b600160a060020a038516600090815260076020526040902091505b6005811015611acd5742828260058110611a9d57fe5b01541080611ab7575083828260058110611ab357fe5b0154145b15611ac55760019250611ad2565b600101611a87565b600092505b505092915050565b6000805433600160a060020a03908116911614611af657600080fd5b60008054604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0392831660048201526024810186905290519186169263a9059cbb926044808401936020939083900390910190829087803b158015611b6657600080fd5b505af1158015611b7a573d6000803e3d6000fd5b505050506040513d6020811015611b9057600080fd5b50519392505050565b60105481565b600160a060020a03918216600090815260056020908152604080832093909416825291909152205490565b60005433600160a060020a03908116911614611be557600080fd5b600160a060020a0381161515611bfa57600080fd5b60068054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f4edbfac5b40fe46ac1af1fd222b224b38cfeeb9e21bd4fc6344526c245f7549b9181900360200190a150565b6008602052600082815260409020816005811061122057fe5b600160a060020a03331660009081526002602052604090205460ff161515611c9b57600080fd5b61166f816122a4565b60006113fc67177c3d06022c00006118ab565b60005433600160a060020a03908116911614611cd257600080fd5b600160a060020a0381161515611ce757600080fd5b60008054604051600160a060020a03808516939216917ff4e75b79500ab730f8a026ed3cba6d55331bcb64c9e9f60c548e371356e5e3c091a36001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60096020526000908152604090205460ff1681565b60136020526000908152604090205481565b600082821115611d8557600080fd5b50900390565b8181018281101561100257600080fd5b600160a060020a038116600090815260096020526040812054819060ff161515611ddf57600160a060020a0383166000908152600460205260409020549150611e3e565b611de883612232565b9050801515611e1257600160a060020a0383166000908152600960205260409020805460ff191690555b600160a060020a038316600090815260046020526040902054611e3b908263ffffffff611d7616565b91505b50919050565b6000600160a060020a0383161515611e5b57600080fd5b600160a060020a038416600090815260046020526040902054611e84908363ffffffff611d7616565b600160a060020a0380861660009081526004602090815260408083209490945560058152838220339093168252919091522054611ec7908363ffffffff611d7616565b600160a060020a0380861660009081526005602090815260408083203385168452825280832094909455918616815260049091522054611f0d908363ffffffff611d8b16565b600160a060020a03808516600081815260046020908152604091829020949094558051868152905191939288169260008051602061266283398151915292918290030190a35060019392505050565b600160a060020a0383166000908152600e602052604090205460ff161515611f8357600080fd5b600160a060020a0383161515611f9857600080fd5b60008211611fa557600080fd5b611fad6113cb565b82111561202a576040805160e560020a62461bcd02815260206004820152602360248201527f6e6f7420656e6f75676820746f6b656e7320617661696c61626c6520746f206d60448201527f696e740000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b80158061203657504281115b15156120b2576040805160e560020a62461bcd02815260206004820152603c60248201527f65697468657220776974686f7574206c6f636b207465726d2c206f72206c6f6360448201527f6b207465726d206d75737420626520696e207468652066757475726500000000606482015290519081900360840190fd5b60008111156120c8576120c6838383612431565b505b600160a060020a0383166000908152600460205260409020546120f1908363ffffffff611d8b16565b600160a060020a038416600090815260046020908152604080832093909355601590522054612126908363ffffffff611d8b16565b600160a060020a0384166000908152601560209081526040808320939093556016815282822087835290522054612163908363ffffffff611d8b16565b600160a060020a038416600090815260166020908152604080832088845290915290205560145461219a908363ffffffff611d8b16565b6014556003546121b0908363ffffffff611d8b16565b600355604080518381529051600160a060020a038516916000916000805160206126628339815191529181900360200190a382600160a060020a0316847f9c6dd8089f114717d5c17f4d3d9bf6c1991925a49ef90e23b9ba026bf8654b428484604051808381526020018281526020019250505060405180910390a350505050565b600160a060020a038116600090815260076020908152604080832060089092528220825b600581101561229c574283826005811061226c57fe5b0154106122945761229182826005811061228257fe5b0154859063ffffffff611d8b16565b93505b600101612256565b505050919050565b600160a060020a0381166000908152600e602052604090205460ff16156122ca5761166f565b600160a060020a0381166000908152600e60205260409020805460ff19166001908117909155600f546123029163ffffffff611d8b16565b600f8190556040805191825251600160a060020a038316917f6ea640312e182de387819fbeb13be00db3171a445412852248559054871c4199919081900360200190a250565b818102821580612362575081838281151561235f57fe5b04145b151561100257600080fd5b6000600160a060020a038316151561238457600080fd5b600160a060020a0333166000908152600460205260409020546123ad908363ffffffff611d7616565b600160a060020a0333811660009081526004602052604080822093909355908516815220546123e2908363ffffffff611d8b16565b600160a060020a0380851660008181526004602090815260409182902094909455805186815290519193339093169260008051602061266283398151915292918290030190a350600192915050565b600080808042851161248d576040805160e560020a62461bcd02815260206004820152601f60248201527f6c6f636b207465726d206d75737420626520696e207468652066757475726500604482015290519081900360640190fd5b600160a060020a0387166000908152600760209081526040808320600890925290912061270f955090935091505b600581101561252857428382600581106124d157fe5b015410156125075760008382600581106124e757fe5b015560008282600581106124f757fe5b015561270f841415612507578093505b8483826005811061251457fe5b01541415612520578093505b6001016124bb565b61270f8414156125a8576040805160e560020a62461bcd02815260206004820152602d60248201527f72656769737465724c6f636b6564546f6b656e733a206e6f20617661696c616260448201527f6c6520736c6f7420666f756e6400000000000000000000000000000000000000606482015290519081900360840190fd5b8284600581106125b457fe5b015415156125cc57848385600581106125c957fe5b01555b6125ea868386600581106125dc57fe5b01549063ffffffff611d8b16565b8285600581106125f657fe5b0155600160a060020a038716600081815260096020908152604091829020805460ff19166001179055815189815290810188905281518793927f38a498f3e82bfca1855324fb5e974db2a1cbc0df8145844464ab159abd431194928290030190a350505093925050505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820d3bf6924dd80f3446f450388d9f207392b8d3c2a181e7d105d0792174f63d1fd0029