Terraforms: TERRAFORMS Token
Source Code
Token Contract
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 30,004 transactions
| Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
| Safe Transfer Fr... | 25961754 | 46 hrs ago | IN | 0 ETH | 0.00006101 | ||||
| Safe Transfer Fr... | 25957876 | 2 days ago | IN | 0 ETH | 0.0001651 | ||||
| Set Approval For... | 25953670 | 3 days ago | IN | 0 ETH | 0.00009599 | ||||
| Safe Transfer Fr... | 25953411 | 3 days ago | IN | 0 ETH | 0.00007023 | ||||
| Set Approval For... | 25953348 | 3 days ago | IN | 0 ETH | 0.00000552 | ||||
| Set Approval For... | 25953342 | 3 days ago | IN | 0 ETH | 0.00000574 | ||||
| Set Approval For... | 25953316 | 3 days ago | IN | 0 ETH | 0.00001017 | ||||
| Set Approval For... | 25953209 | 3 days ago | IN | 0 ETH | 0.00000972 | ||||
| Safe Transfer Fr... | 25953147 | 3 days ago | IN | 0 ETH | 0.00001858 | ||||
| Transfer From | 25950897 | 3 days ago | IN | 0 ETH | 0.00021247 | ||||
| Safe Transfer Fr... | 25950315 | 3 days ago | IN | 0 ETH | 0.00021175 | ||||
| Safe Transfer Fr... | 25940117 | 4 days ago | IN | 0 ETH | 0.00007872 | ||||
| Safe Transfer Fr... | 25940110 | 4 days ago | IN | 0 ETH | 0.00006944 | ||||
| Safe Transfer Fr... | 25934685 | 5 days ago | IN | 0 ETH | 0.00002 | ||||
| Safe Transfer Fr... | 25921716 | 7 days ago | IN | 0 ETH | 0.00001804 | ||||
| Set Approval For... | 25919213 | 7 days ago | IN | 0 ETH | 0.00000307 | ||||
| Safe Transfer Fr... | 25919157 | 7 days ago | IN | 0 ETH | 0.00000564 | ||||
| Safe Transfer Fr... | 25919143 | 7 days ago | IN | 0 ETH | 0.00000617 | ||||
| Set Approval For... | 25918751 | 7 days ago | IN | 0 ETH | 0.00000908 | ||||
| Set Approval For... | 25917263 | 8 days ago | IN | 0 ETH | 0.00000915 | ||||
| Safe Transfer Fr... | 25913465 | 8 days ago | IN | 0 ETH | 0.00002002 | ||||
| Safe Transfer Fr... | 25910404 | 9 days ago | IN | 0 ETH | 0.00019095 | ||||
| Set Approval For... | 25905889 | 9 days ago | IN | 0 ETH | 0.00000294 | ||||
| Set Approval For... | 25900355 | 10 days ago | IN | 0 ETH | 0.00000493 | ||||
| Set Approval For... | 25900347 | 10 days ago | IN | 0 ETH | 0.0000097 |
Latest 24 internal transactions
Advanced mode:
| Parent Transaction Hash | Method |
Block
|
From
|
To
|
|||
|---|---|---|---|---|---|---|---|
| - | 13827485 | 1731 days ago | 526.45 ETH | ||||
| - | 13825457 | 1731 days ago | 193.35 ETH | ||||
| - | 13824748 | 1731 days ago | 442.56 ETH | ||||
| - | 13824295 | 1731 days ago | 1.6 ETH | ||||
| - | 13824295 | 1731 days ago | 1.6 ETH | ||||
| - | 13824295 | 1731 days ago | 1.6 ETH | ||||
| - | 13824295 | 1731 days ago | 1.6 ETH | ||||
| - | 13824295 | 1731 days ago | 1.6 ETH | ||||
| - | 13824295 | 1731 days ago | 1.6 ETH | ||||
| - | 13824295 | 1731 days ago | 1.6 ETH | ||||
| - | 13824295 | 1731 days ago | 1.6 ETH | ||||
| - | 13824265 | 1731 days ago | 399.44 ETH | ||||
| - | 13824156 | 1731 days ago | 1.6 ETH | ||||
| - | 13824156 | 1731 days ago | 1.6 ETH | ||||
| - | 13824156 | 1731 days ago | 1.6 ETH | ||||
| - | 13824156 | 1731 days ago | 1.6 ETH | ||||
| - | 13824156 | 1731 days ago | 1.6 ETH | ||||
| - | 13824156 | 1731 days ago | 1.6 ETH | ||||
| - | 13824156 | 1731 days ago | 1.6 ETH | ||||
| - | 13824156 | 1731 days ago | 1.6 ETH | ||||
| - | 13824156 | 1731 days ago | 1.6 ETH | ||||
| - | 13824156 | 1731 days ago | 1.6 ETH | ||||
| - | 13824140 | 1731 days ago | 1.6 ETH | ||||
| - | 13824135 | 1731 days ago | 1.6 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Source Code (Solidity Standard Json-Input format)
Contract Security Audit
No Contract Security Audit SubmittedSubmit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_terraformsDataAddress","type":"address"},{"internalType":"address","name":"_terraformsAugmentationsAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Daydreaming","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":false,"internalType":"address","name":"terraformer","type":"address"}],"name":"Terraformed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"seed","type":"uint256"}],"name":"TokensRevealed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"MAX_SUPPLY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"OWNER_ALLOTMENT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PRICE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"REVEAL_TIMESTAMP","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SUPPLY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TOKEN_SCALE","outputs":[{"internalType":"int256","name":"","type":"int256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"addTokenURIAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"address","name":"authorizedDreamer","type":"address"}],"name":"authorizeDreamer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256[16]","name":"dream","type":"uint256[16]"}],"name":"commitDreamToCanvas","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"dreamers","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"numTokens","type":"uint256"}],"name":"earlyMint","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"earlyMintActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"enterDream","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"numTokens","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"mintingPaused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"numTokens","type":"uint256"}],"name":"ownerClaim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"redeemMintpass","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"seed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"mintpassHolders","type":"address[]"}],"name":"setMintpassHolders","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setSeed","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"tokens","type":"uint256[]"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"setTokenURIAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"structureData","outputs":[{"components":[{"internalType":"uint256","name":"levelNumber","type":"uint256"},{"internalType":"uint256","name":"tokensOnLevel","type":"uint256"},{"internalType":"int256","name":"structureSpaceX","type":"int256"},{"internalType":"int256","name":"structureSpaceY","type":"int256"},{"internalType":"int256","name":"structureSpaceZ","type":"int256"}],"internalType":"struct Terraforms.StructureLevel[20]","name":"structure","type":"tuple[20]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"terraformsAugmentationsAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"toggleEarly","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"togglePause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenCharacters","outputs":[{"internalType":"string[32][32]","name":"","type":"string[32][32]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenHTML","outputs":[{"internalType":"string","name":"result","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenHeightmapIndices","outputs":[{"internalType":"uint256[32][32]","name":"","type":"uint256[32][32]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenOfOwnerByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenSVG","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenSupplementalData","outputs":[{"components":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"xCoordinate","type":"uint256"},{"internalType":"uint256","name":"yCoordinate","type":"uint256"},{"internalType":"int256","name":"elevation","type":"int256"},{"internalType":"int256","name":"structureSpaceX","type":"int256"},{"internalType":"int256","name":"structureSpaceY","type":"int256"},{"internalType":"int256","name":"structureSpaceZ","type":"int256"},{"internalType":"string","name":"zoneName","type":"string"},{"internalType":"string[10]","name":"zoneColors","type":"string[10]"},{"internalType":"string[9]","name":"characterSet","type":"string[9]"}],"internalType":"struct Terraforms.TokenData","name":"result","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenTerrainValues","outputs":[{"internalType":"int256[32][32]","name":"","type":"int256[32][32]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"tokenToAuthorizedDreamer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"tokenToCanvasData","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"tokenToDreamBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"tokenToDreamer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"tokenToPlacement","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"tokenToStatus","outputs":[{"internalType":"enum TerraformsDreaming.Status","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"result","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"tokenURIAddresses","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
60c0604052600d805461ff0019166101001790553480156200002057600080fd5b50604051620059c8380380620059c883398101604081905262000043916200025c565b6040518060400160405280600a8152602001695465727261666f726d7360b01b8152506040518060400160405280600a8152602001695445525241464f524d5360b01b8152508160009080519060200190620000a1929190620001a3565b508051620000b7906001906020840190620001a3565b50506001600a5550620000d3620000cd6200014d565b62000151565b620000e24262093a806200029b565b608052612b7780546001810182556000919091527fa8e03d383aaeb8ac9cee38cfc7a3e9df720a59460a08160c6b079f8e0b5521040180546001600160a01b0319166001600160a01b03939093169290921790915560601b6001600160601b03191660a0526200035c565b3390565b600b80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b828054620001b190620002e5565b90600052602060002090601f016020900481019282620001d5576000855562000220565b82601f10620001f057805160ff191683800117855562000220565b8280016001018555821562000220579182015b828111156200022057825182559160200191906001019062000203565b506200022e92915062000232565b5090565b5b808211156200022e576000815560010162000233565b8051620002568162000342565b92915050565b600080604083850312156200027057600080fd5b60006200027e858562000249565b9250506020620002918582860162000249565b9150509250929050565b6000620002a882620002e2565b9150620002b583620002e2565b92508219821115620002cb57620002cb62000316565b500190565b60006001600160a01b03821662000256565b90565b600281046001821680620002fa57607f821691505b602082108114156200031057620003106200032c565b50919050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052602260045260246000fd5b6200034d81620002d0565b81146200035957600080fd5b50565b60805160a05160601c61563562000393600039600061218b015260008181610d330152818161115b0152612ab201526156356000f3fe6080604052600436106103905760003560e01c8063715018a6116101dc578063b79bebaf11610102578063cae07d2a116100a0578063e1a283d61161006f578063e1a283d614610a03578063e6ec320e14610a18578063e985e9c514610a38578063f2fde38b14610a5857610397565b8063cae07d2a14610999578063d082e381146109ae578063d359fc19146109c3578063d41845d0146109e357610397565b8063bf514465116100dc578063bf51446514610922578063c4ae31681461094f578063c50497ae14610964578063c87b56dd1461097957610397565b8063b79bebaf146108c2578063b88d4fde146108e2578063b9173bb61461090257610397565b80638da5cb5b1161017a578063a0712d6811610149578063a0712d681461085a578063a22cb4651461086d578063a6e602101461088d578063ab2f711e146108a257610397565b80638da5cb5b146107f05780639047abbe1461080557806395d89b41146108255780639bac5f7a1461083a57610397565b80637d94792a116101b65780637d94792a1461079e5780637f46882f146107b35780638a61413c146107c85780638d859f3e146107db57610397565b8063715018a61461074957806371d985b31461075e57806373e687a81461077e57610397565b806332cb6b0c116102c15780635dd503501161025f5780636ae9a57e1161022e5780636ae9a57e146106d25780636c43c5a9146106e75780636f705c08146106fc57806370a082311461072957610397565b80635dd50350146106505780635e6d10f2146106705780636352211e1461068557806363be6ad4146106a557610397565b806343083f0e1161029b57806343083f0e146105ce578063473a3abf146105e35780634f6ccce714610610578063502f260c1461063057610397565b806332cb6b0c146105845780633ccfd60b1461059957806342842e0e146105ae57610397565b8063209ad1051161032e5780632f745c59116103085780632f745c59146105025780632fb16bc8146105225780633000436f146105375780633107cbac1461055757610397565b8063209ad105146104a257806323b872dd146104c257806329fdf854146104e257610397565b8063095ea7b31161036a578063095ea7b31461041e578063158ac44e1461043e57806318160ddd1461046b57806318e20a381461048d57610397565b806301ffc9a71461039957806306fdde03146103cf578063081812fc146103f157610397565b3661039757005b005b3480156103a557600080fd5b506103b96103b4366004613fde565b610a78565b6040516103c69190614d6c565b60405180910390f35b3480156103db57600080fd5b506103e4610aa5565b6040516103c69190614d96565b3480156103fd57600080fd5b5061041161040c3660046140b0565b610b37565b6040516103c69190614cdc565b34801561042a57600080fd5b50610397610439366004613e05565b610b83565b34801561044a57600080fd5b5061045e6104593660046140b0565b610c1b565b6040516103c69190614d2e565b34801561047757600080fd5b50610480610d2b565b6040516103c69190614d88565b34801561049957600080fd5b50610480610d31565b3480156104ae57600080fd5b506104116104bd3660046140b0565b610d55565b3480156104ce57600080fd5b506103976104dd366004613d0f565b610d70565b3480156104ee57600080fd5b506103976104fd366004613fa8565b610da8565b34801561050e57600080fd5b5061048061051d366004613e05565b610e63565b34801561052e57600080fd5b506103b9610eb8565b34801561054357600080fd5b506103976105523660046140ce565b610ec1565b34801561056357600080fd5b506105776105723660046140b0565b610f15565b6040516103c69190614d4e565b34801561059057600080fd5b50610480611062565b3480156105a557600080fd5b50610397611068565b3480156105ba57600080fd5b506103976105c9366004613d0f565b61111a565b3480156105da57600080fd5b50610397611135565b3480156105ef57600080fd5b506106036105fe3660046140b0565b6111ec565b6040516103c69190614d3d565b34801561061c57600080fd5b5061048061062b3660046140b0565b61133c565b34801561063c57600080fd5b5061039761064b3660046140ed565b611397565b34801561065c57600080fd5b5061048061066b3660046140b0565b61152f565b34801561067c57600080fd5b50610480611541565b34801561069157600080fd5b506104116106a03660046140b0565b611547565b3480156106b157600080fd5b506106c56106c03660046140b0565b61157c565b6040516103c69190614ef7565b3480156106de57600080fd5b506103976119fd565b3480156106f357600080fd5b50610397611b0e565b34801561070857600080fd5b5061071c6107173660046140b0565b611b61565b6040516103c69190614d7a565b34801561073557600080fd5b50610480610744366004613cb7565b611b76565b34801561075557600080fd5b50610397611bba565b34801561076a57600080fd5b50610397610779366004613cb7565b611c05565b34801561078a57600080fd5b506104116107993660046140b0565b611c97565b3480156107aa57600080fd5b50610480611cc2565b3480156107bf57600080fd5b50610480611cc8565b6103976107d63660046140b0565b611cce565b3480156107e757600080fd5b50610480611e75565b3480156107fc57600080fd5b50610411611e81565b34801561081157600080fd5b50610397610820366004613e35565b611e90565b34801561083157600080fd5b506103e4611f67565b34801561084657600080fd5b506103e46108553660046140b0565b611f76565b6103976108683660046140b0565b6120c0565b34801561087957600080fd5b50610397610888366004613dd5565b612177565b34801561089957600080fd5b50610411612189565b3480156108ae57600080fd5b506104806108bd3660046140b0565b6121ad565b3480156108ce57600080fd5b506103e46108dd3660046140b0565b6121bf565b3480156108ee57600080fd5b506103976108fd366004613d5c565b612266565b34801561090e57600080fd5b5061048061091d36600461411e565b6122a5565b34801561092e57600080fd5b5061094261093d3660046140b0565b6122d6565b6040516103c69190614d5d565b34801561095b57600080fd5b506103976124ee565b34801561097057600080fd5b5061048061254a565b34801561098557600080fd5b506103e46109943660046140b0565b61255b565b3480156109a557600080fd5b50610480612749565b3480156109ba57600080fd5b50610480612750565b3480156109cf57600080fd5b506103976109de3660046140b0565b612756565b3480156109ef57600080fd5b506104116109fe3660046140b0565b612885565b348015610a0f57600080fd5b506103b96128a0565b348015610a2457600080fd5b50610397610a33366004613e05565b6128ae565b348015610a4457600080fd5b506103b9610a53366004613cd5565b61292c565b348015610a6457600080fd5b50610397610a73366004613cb7565b61295a565b60006001600160e01b0319821663780e9d6360e01b1480610a9d5750610a9d826129c8565b90505b919050565b606060008054610ab4906154b1565b80601f0160208091040260200160405190810160405280929190818152602001828054610ae0906154b1565b8015610b2d5780601f10610b0257610100808354040283529160200191610b2d565b820191906000526020600020905b815481529060010190602001808311610b1057829003601f168201915b5050505050905090565b6000610b4282612a08565b610b675760405162461bcd60e51b8152600401610b5e90614e77565b60405180910390fd5b506000908152600460205260409020546001600160a01b031690565b6000610b8e82611547565b9050806001600160a01b0316836001600160a01b03161415610bc25760405162461bcd60e51b8152600401610b5e90614ea7565b806001600160a01b0316610bd4612a25565b6001600160a01b03161480610bf05750610bf081610a53612a25565b610c0c5760405162461bcd60e51b8152600401610b5e90614e27565b610c168383612a29565b505050565b610c236134f3565b81601554600014158015610c3b5750610c3b81612a08565b610c4457600080fd5b6000838152612b786020526040902054612b7780549091908110610c7857634e487b7160e01b600052603260045260246000fd5b600091825260208083209091015485835260169091526040909120546015546001600160a01b039092169163af3acd949190610cb342612a97565b6040518463ffffffff1660e01b8152600401610cd193929190614f80565b6180006040518083038186803b158015610cea57600080fd5b505afa158015610cfe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d229190613e6a565b91505b50919050565b60085490565b7f000000000000000000000000000000000000000000000000000000000000000081565b6013602052600090815260409020546001600160a01b031681565b610d81610d7b612a25565b82612b1b565b610d9d5760405162461bcd60e51b8152600401610b5e90614eb7565b610c16838383612ba0565b612b77548110610db757600080fd5b60005b8251811015610c1657610df3838281518110610de657634e487b7160e01b600052603260045260246000fd5b6020026020010151611547565b6001600160a01b0316336001600160a01b031614610e1057600080fd5b81612b786000858481518110610e3657634e487b7160e01b600052603260045260246000fd5b60200260200101518152602001908152602001600020819055508080610e5b906154e6565b915050610dba565b6000610e6e83611b76565b8210610e8c5760405162461bcd60e51b8152600401610b5e90614db7565b506001600160a01b03821660009081526006602090815260408083208484529091529020545b92915050565b600d5460ff1681565b610eca82611547565b6001600160a01b0316336001600160a01b031614610ee757600080fd5b60009182526014602052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b610f1d613521565b81601554600014158015610f355750610f3581612a08565b610f3e57600080fd5b6000838152612b786020526040902054612b7780549091908110610f7257634e487b7160e01b600052603260045260246000fd5b600091825260208083209091015485835260119091526040909120546001600160a01b039091169063d4920e7b9060ff166004811115610fc257634e487b7160e01b600052602160045260246000fd5b600086815260166020526040902054601554610fdd42612a97565b6000898152601260205260409081902090516001600160e01b031960e088901b168152611011959493929190600401614fa8565b6180006040518083038186803b15801561102a57600080fd5b505afa15801561103e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d229190613ebe565b612b6081565b611070612a25565b6001600160a01b0316611081611e81565b6001600160a01b0316146110a75760405162461bcd60e51b8152600401610b5e90614e87565b60006110b1611e81565b6001600160a01b0316476040516110c790614c9a565b60006040518083038185875af1925050503d8060008114611104576040519150601f19603f3d011682016040523d82523d6000602084013e611109565b606091505b505090508061111757600080fd5b50565b610c1683838360405180602001604052806000815250612266565b60155415801561117e575061114e6104b0612b60615402565b600c5410158061117e57507f00000000000000000000000000000000000000000000000000000000000000004210155b61118757600080fd5b612b60611195600143615402565b6111a091904061550c565b60158190556111af5760016015555b7f582fed560f3649624fbe512f240792c513414bcbbe26fc480454176615bd9447426015546040516111e2929190614f65565b60405180910390a1565b6111f461354f565b8160155460001415801561120c575061120c81612a08565b61121557600080fd5b6000838152612b786020526040902054612b778054909190811061124957634e487b7160e01b600052603260045260246000fd5b600091825260208083209091015485835260119091526040909120546001600160a01b0390911690632048c6739060ff16600481111561129957634e487b7160e01b600052602160045260246000fd5b6000868152601660205260409020546015546112b442612a97565b6000898152601260205260409081902090516001600160e01b031960e088901b1681526112e8959493929190600401614fa8565b60006040518083038186803b15801561130057600080fd5b505afa158015611314573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d229190810190613e89565b6000611346610d2b565b82106113645760405162461bcd60e51b8152600401610b5e90614ec7565b6008828154811061138557634e487b7160e01b600052603260045260246000fd5b90600052602060002001549050919050565b6113a082611547565b6001600160a01b0316336001600160a01b031614806113d557506000828152601460205260409020546001600160a01b031633145b801561141e575060008281526011602052604090205460029060ff16600481111561141057634e487b7160e01b600052602160045260246000fd5b61141a919061550c565b6001145b61142757600080fd5b600082815260136020908152604080832080546001600160a01b03191633179055601190915290205460ff16600481111561147257634e487b7160e01b600052602160045260246000fd5b61147d906001615153565b600481111561149c57634e487b7160e01b600052602160045260246000fd5b6000838152601160205260409020805460ff191660018360048111156114d257634e487b7160e01b600052602160045260246000fd5b021790555060008281526012602052604090206114f19082601061357d565b507f45be0e1ab4f13227fa0c4e2419af72c74f30c385b00c34497e68550f3b40dedb8233604051611523929190614f08565b60405180910390a15050565b60106020526000908152604090205481565b6104b081565b6000818152600260205260408120546001600160a01b031680610a9d5760405162461bcd60e51b8152600401610b5e90614e47565b6115846135c8565b8160155460001415801561159c575061159c81612a08565b6115a557600080fd5b6000838152612b786020526040812054612b77805490919081106115d957634e487b7160e01b600052603260045260246000fd5b60009182526020822001546015546001600160a01b0390911692506116029062033b60906152d8565b60008681526016602052604080822054601554915163d55dd04360e01b8152939450919283926001600160a01b0387169263d55dd04392611647929190600401614f65565b604080518083038186803b15801561165e57600080fd5b505afa158015611672573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611696919061413d565b915091506000846001600160a01b031663045a16df846040518263ffffffff1660e01b81526004016116c89190614d88565b60206040518083038186803b1580156116e057600080fd5b505afa1580156116f4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611718919061401a565b601554604051630e1f4fcd60e21b81529192506001600160a01b0387169163387d3f349161174c9187918791600401614f80565b60206040518083038186803b15801561176457600080fd5b505afa158015611778573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179c919061401a565b876080018181525050846001600160a01b0316631c96531d84846015546117c242612a97565b426040518663ffffffff1660e01b81526004016117e3959493929190614ffa565b60606040518083038186803b1580156117fb57600080fd5b505afa15801561180f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118339190614038565b60e08a015260c089015260a088015260008881526016602052604090819020546015549151631563970160e01b81526001600160a01b0388169263156397019261188292909190600401614f65565b60006040518083038186803b15801561189a57600080fd5b505afa1580156118ae573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526118d69190810190613edd565b6101008901526101208801526000888152601660205260409081902054601554915163eaaaf94760e01b81526001600160a01b0388169263eaaaf9479261192292909190600401614f65565b60006040518083038186803b15801561193a57600080fd5b505afa15801561194e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526119769190810190613f3c565b50505061014088015261198a836001615153565b6020880152611999818361550c565b60408801526119a88183615181565b606088015260a0870180518591906119c19083906153ab565b90525060c0870180518591906119d89083906153ab565b90525060e0870180518591906119ef9083906153ab565b905250505050505050919050565b6002600a541415611a205760405162461bcd60e51b8152600401610b5e90614ed7565b6002600a556001336000908152600e602052604090205460ff166002811115611a5957634e487b7160e01b600052602160045260246000fd5b14611a6357600080fd5b336000818152600e60205260409020805460ff19166002179055611a88906001612ccd565b6001600f6000828254611a9b9190615153565b9091555050600c8054600090815260106020908152604080832043905583548352601190915290819020805460ff19166003179055905490517f41469549673f9fcac40591db4dfa9089e9ed2b430b749c4eb6586195721b8c1d91611aff91614d88565b60405180910390a16001600a55565b611b16612a25565b6001600160a01b0316611b27611e81565b6001600160a01b031614611b4d5760405162461bcd60e51b8152600401610b5e90614e87565b600d805460ff19811660ff90911615179055565b60116020526000908152604090205460ff1681565b60006001600160a01b038216611b9e5760405162461bcd60e51b8152600401610b5e90614e37565b506001600160a01b031660009081526003602052604090205490565b611bc2612a25565b6001600160a01b0316611bd3611e81565b6001600160a01b031614611bf95760405162461bcd60e51b8152600401610b5e90614e87565b611c036000612d17565b565b611c0d612a25565b6001600160a01b0316611c1e611e81565b6001600160a01b031614611c445760405162461bcd60e51b8152600401610b5e90614e87565b612b7780546001810182556000919091527fa8e03d383aaeb8ac9cee38cfc7a3e9df720a59460a08160c6b079f8e0b5521040180546001600160a01b0319166001600160a01b0392909216919091179055565b612b778181548110611ca857600080fd5b6000918252602090912001546001600160a01b0316905081565b60155481565b600f5481565b6002600a541415611cf15760405162461bcd60e51b8152600401610b5e90614ed7565b6002600a9081558190811115611d195760405162461bcd60e51b8152600401610b5e90614ee7565b80611d286104b0612b60615402565b611d329190615402565b600c5411158015611d545750611d506702386f26fc1000008261537b565b3410155b611d5d57600080fd5b600d5460ff16611d7f5760405162461bcd60e51b8152600401610b5e90614e67565b6064611d8a33611b76565b11158015611e5957506040516370a0823160e01b815260009073ff9c1b15b16263c61d017ee9f65c50e4ae0113d7906370a0823190611dcd903390600401614cdc565b60206040518083038186803b158015611de557600080fd5b505afa158015611df9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e1d919061401a565b1180611e595750336000908152600e602052604081205460ff166002811115611e5657634e487b7160e01b600052602160045260246000fd5b14155b611e6257600080fd5b611e6c3383612ccd565b50506001600a55565b6702386f26fc10000081565b600b546001600160a01b031690565b611e98612a25565b6001600160a01b0316611ea9611e81565b6001600160a01b031614611ecf5760405162461bcd60e51b8152600401610b5e90614e87565b60005b8151811015611f63576001600e6000848481518110611f0157634e487b7160e01b600052603260045260246000fd5b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19166001836002811115611f4c57634e487b7160e01b600052602160045260246000fd5b021790555080611f5b816154e6565b915050611ed2565b5050565b606060018054610ab4906154b1565b606081601554600014158015611f905750611f9081612a08565b611f9957600080fd5b6000838152612b786020526040902054612b7780549091908110611fcd57634e487b7160e01b600052603260045260246000fd5b600091825260208083209091015485835260119091526040909120546001600160a01b0390911690632cff78d89060ff16600481111561201d57634e487b7160e01b600052602160045260246000fd5b60008681526016602052604090205460155461203842612a97565b6000898152601260205260409081902090516001600160e01b031960e088901b16815261206c959493929190600401614fa8565b60006040518083038186803b15801561208457600080fd5b505afa158015612098573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d22919081019061407b565b6002600a5414156120e35760405162461bcd60e51b8152600401610b5e90614ed7565b6002600a908155819081111561210b5760405162461bcd60e51b8152600401610b5e90614ee7565b8061211a6104b0612b60615402565b6121249190615402565b600c541115801561214657506121426702386f26fc1000008261537b565b3410155b61214f57600080fd5b600d54610100900460ff1615611e625760405162461bcd60e51b8152600401610b5e90614da7565b611f63612182612a25565b8383612d69565b7f000000000000000000000000000000000000000000000000000000000000000081565b60166020526000908152604090205481565b6060816015546000141580156121d957506121d981612a08565b6121e257600080fd5b6000838152612b786020526040902054612b778054909190811061221657634e487b7160e01b600052603260045260246000fd5b600091825260208083209091015485835260119091526040909120546001600160a01b0390911690632907c2c49060ff16600481111561201d57634e487b7160e01b600052602160045260246000fd5b612277612271612a25565b83612b1b565b6122935760405162461bcd60e51b8152600401610b5e90614eb7565b61229f84848484612e0c565b50505050565b601260205281600052604060002081815481106122c157600080fd5b90600052602060002001600091509150505481565b6122de61362d565b6000612b7760008154811061230357634e487b7160e01b600052603260045260246000fd5b60009182526020822001546001600160a01b0316915061232284612a97565b9050600062033b6060155461233791906152d8565b90506000806000805b60148110156124e257866001600160a01b0316631c96531d8260006015548a8e6040518663ffffffff1660e01b8152600401612380959493929190614f23565b60606040518083038186803b15801561239857600080fd5b505afa1580156123ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123d09190614038565b6040805160a081019091529296509094509250806123ef836001615153565b81526020016002896001600160a01b031663045a16df856040518263ffffffff1660e01b81526004016124229190614d88565b60206040518083038186803b15801561243a57600080fd5b505afa15801561244e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612472919061401a565b61247c91906151f2565b815260200161248b87876153ab565b815260200161249a87866153ab565b81526020016124a987856153ab565b90528882601481106124cb57634e487b7160e01b600052603260045260246000fd5b6020020152806124da816154e6565b915050612340565b50505050505050919050565b6124f6612a25565b6001600160a01b0316612507611e81565b6001600160a01b03161461252d5760405162461bcd60e51b8152600401610b5e90614e87565b600d805461ff001981166101009182900460ff1615909102179055565b6125586104b0612b60615402565b81565b60606015546000141561261f57612b7760008154811061258b57634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546040516358e7c27960e11b81526001600160a01b039091169063b1cf84f2906125c4908590600401614d88565b60006040518083038186803b1580156125dc57600080fd5b505afa1580156125f0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612618919081019061407b565b9050610aa0565b6000828152612b786020526040902054612b778054909190811061265357634e487b7160e01b600052603260045260246000fd5b600091825260208083209091015484835260119091526040909120546001600160a01b03909116906322bc92b090849060ff1660048111156126a557634e487b7160e01b600052602160045260246000fd5b6000868152601660205260409020546015546126c042612a97565b6000898152601260205260409081902090516001600160e01b031960e089901b1681526126f596959493929190600401615015565b60006040518083038186803b15801561270d57600080fd5b505afa158015612721573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a9d919081019061407b565b62033b6081565b600c5481565b61275f81611547565b6001600160a01b0316336001600160a01b03161461277c57600080fd5b6000818152601060209081526040808320439055601190915281205460ff1660048111156127ba57634e487b7160e01b600052602160045260246000fd5b14156127d9576001600f60008282546127d39190615153565b90915550505b60008181526011602052604090205460029060ff16600481111561280d57634e487b7160e01b600052602160045260246000fd5b1115612831576000818152601160205260409020805460ff1916600317905561284b565b6000818152601160205260409020805460ff191660011790555b7f41469549673f9fcac40591db4dfa9089e9ed2b430b749c4eb6586195721b8c1d8160405161287a9190614d88565b60405180910390a150565b6014602052600090815260409020546001600160a01b031681565b600d54610100900460ff1681565b6128b6612a25565b6001600160a01b03166128c7611e81565b6001600160a01b0316146128ed5760405162461bcd60e51b8152600401610b5e90614e87565b6128fb6104b0612b60615402565b600c5410158015612919575061291381612b60615402565b600c5411155b61292257600080fd5b611f638282612ccd565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b612962612a25565b6001600160a01b0316612973611e81565b6001600160a01b0316146129995760405162461bcd60e51b8152600401610b5e90614e87565b6001600160a01b0381166129bf5760405162461bcd60e51b8152600401610b5e90614dd7565b61111781612d17565b60006001600160e01b031982166380ac58cd60e01b14806129f957506001600160e01b03198216635b5e139f60e01b145b80610a9d5750610a9d82612e3f565b6000908152600260205260409020546001600160a01b0316151590565b3390565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190612a5e82611547565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080600f546312cc0300612aac919061537b565b612ad6907f0000000000000000000000000000000000000000000000000000000000000000615153565b90506101f4600f54101580612aeb5750808311155b15612afa576000915050610aa0565b6301e13380612b098285615402565b612b139190615181565b915050610aa0565b6000612b2682612a08565b612b425760405162461bcd60e51b8152600401610b5e90614e17565b6000612b4d83611547565b9050806001600160a01b0316846001600160a01b03161480612b885750836001600160a01b0316612b7d84610b37565b6001600160a01b0316145b80612b985750612b98818561292c565b949350505050565b826001600160a01b0316612bb382611547565b6001600160a01b031614612bd95760405162461bcd60e51b8152600401610b5e90614e97565b6001600160a01b038216612bff5760405162461bcd60e51b8152600401610b5e90614df7565b612c0a838383612e58565b612c15600082612a29565b6001600160a01b0383166000908152600360205260408120805460019290612c3e908490615402565b90915550506001600160a01b0382166000908152600360205260408120805460019290612c6c908490615153565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b600c545b612cdb8282615153565b600c541015610c1657612cec612e83565b6001600c6000828254612cff9190615153565b92505081905550612d1283600c5461301f565b612cd1565b600b80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b03161415612d9b5760405162461bcd60e51b8152600401610b5e90614e07565b6001600160a01b0383811660008181526005602090815260408083209487168084529490915290819020805460ff1916851515179055517f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3190612dff908590614d6c565b60405180910390a3505050565b612e17848484612ba0565b612e2384848484613039565b61229f5760405162461bcd60e51b8152600401610b5e90614dc7565b6001600160e01b031981166301ffc9a760e01b14919050565b612e63838383613154565b600090815260146020526040902080546001600160a01b03191690555050565b6000600c54612b60612e959190615402565b905060008082600c54600143612eab9190615402565b4044604051602001612ebf93929190614ca5565b6040516020818303038152906040528051906020012060001c612ee2919061550c565b9050601781612b608110612f0657634e487b7160e01b600052603260045260246000fd5b0154612f1457809150612f3b565b601781612b608110612f3657634e487b7160e01b600052603260045260246000fd5b015491505b6017612f48600185615402565b612b608110612f6757634e487b7160e01b600052603260045260246000fd5b015415612fc5576017612f7b600185615402565b612b608110612f9a57634e487b7160e01b600052603260045260246000fd5b0154601782612b608110612fbe57634e487b7160e01b600052603260045260246000fd5b0155612ff5565b612fd0600184615402565b601782612b608110612ff257634e487b7160e01b600052603260045260246000fd5b01555b8160166000600c5460016130099190615153565b8152602081019190915260400160002055505050565b611f638282604051806020016040528060008152506131dd565b600061304d846001600160a01b0316613210565b1561314957836001600160a01b031663150b7a02613069612a25565b8786866040518563ffffffff1660e01b815260040161308b9493929190614cea565b602060405180830381600087803b1580156130a557600080fd5b505af19250505080156130d5575060408051601f3d908101601f191682019092526130d291810190613ffc565b60015b61312f573d808015613103576040519150601f19603f3d011682016040523d82523d6000602084013e613108565b606091505b5080516131275760405162461bcd60e51b8152600401610b5e90614dc7565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050612b98565b506001949350505050565b61315f838383610c16565b6001600160a01b03831661317b5761317681613216565b61319e565b816001600160a01b0316836001600160a01b03161461319e5761319e838261325a565b6001600160a01b0382166131ba576131b5816132f7565b610c16565b826001600160a01b0316826001600160a01b031614610c1657610c1682826133d0565b6131e78383613414565b6131f46000848484613039565b610c165760405162461bcd60e51b8152600401610b5e90614dc7565b3b151590565b600880546000838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b6000600161326784611b76565b6132719190615402565b6000838152600760205260409020549091508082146132c4576001600160a01b03841660009081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b5060009182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b60085460009061330990600190615402565b6000838152600960205260408120546008805493945090928490811061333f57634e487b7160e01b600052603260045260246000fd5b90600052602060002001549050806008838154811061336e57634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101929092558281526009909152604080822084905585825281205560088054806133b457634e487b7160e01b600052603160045260246000fd5b6001900381819060005260206000200160009055905550505050565b60006133db83611b76565b6001600160a01b039093166000908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b6001600160a01b03821661343a5760405162461bcd60e51b8152600401610b5e90614e57565b61344381612a08565b156134605760405162461bcd60e51b8152600401610b5e90614de7565b61346c60008383612e58565b6001600160a01b0382166000908152600360205260408120805460019290613495908490615153565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6040518061040001604052806020905b61350b61365b565b8152602001906001900390816135035790505090565b6040518061040001604052806020905b61353961365b565b8152602001906001900390816135315790505090565b6040518061040001604052806020905b61356761367a565b81526020019060019003908161355f5790505090565b8280548282559060005260206000209081019282156135b8579160200282015b828111156135b857825182559160200191906001019061359d565b506135c49291506136a2565b5090565b60405180610160016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016060815260200161361b6136b7565b81526020016136286136d2565b905290565b6040518061028001604052806014905b6136456136ed565b81526020019060019003908161363d5790505090565b6040518061040001604052806020906020820280368337509192915050565b6040518061040001604052806020905b606081526020019060019003908161368a5790505090565b5b808211156135c457600081556001016136a3565b6040805161014081019091526060815260096020820161368a565b6040805161012081019091526060815260086020820161368a565b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b600061372f61372a8461509f565b615075565b9050808382526020820190508285602086028201111561374e57600080fd5b60005b8581101561377a57816137648882613ae3565b8452506020928301929190910190600101613751565b5050509392505050565b600061379261372a846150c3565b90508082856104008602820111156137a957600080fd5b60005b8581101561377a57816137bf8882613b69565b84525060209092019161040091909101906001016137ac565b60006137e661372a846150c3565b9050808260005b8581101561377a57815185016138038882613ba5565b84525060209283019291909101906001016137ed565b600061382761372a846150c3565b905080828561040086028201111561383e57600080fd5b60005b8581101561377a57816138548882613bff565b8452506020909201916104009190910190600101613841565b600061387b61372a846150c3565b9050808285602086028201111561389157600080fd5b60005b8581101561377a57816138a78882613c80565b8452506020928301929190910190600101613894565b60006138cb61372a846150c3565b9050808260005b8581101561377a57815185016138e88882613c8b565b84525060209283019291909101906001016138d2565b600061390c61372a846150c3565b9050808260005b8581101561377a57815185016139298882613c8b565b8452506020928301929190910190600101613913565b600061394d61372a846150c3565b9050808260005b8581101561377a578151850161396a8882613c8b565b8452506020928301929190910190600101613954565b600061398e61372a846150c3565b905080828560208602820111156139a457600080fd5b60005b8581101561377a57816139ba8882613cac565b84525060209283019291909101906001016139a7565b60006139de61372a846150c3565b905080828560208602820111156139f457600080fd5b60005b8581101561377a5781613a0a8882613c80565b84525060209283019291909101906001016139f7565b6000613a2e61372a8461509f565b90508083825260208201905082856020860282011115613a4d57600080fd5b60005b8581101561377a5781613a638882613cac565b8452506020928301929190910190600101613a50565b6000613a8761372a846150e4565b905082815260208101848484011115613a9f57600080fd5b613aaa848285615479565b509392505050565b6000613ac061372a846150e4565b905082815260208101848484011115613ad857600080fd5b613aaa848285615485565b8035610eb2816155d0565b600082601f830112613aff57600080fd5b8135612b9884826020860161371c565b600082601f830112613b2057600080fd5b6020612b98848285613784565b600082601f830112613b3e57600080fd5b6020612b988482856137d8565b600082601f830112613b5c57600080fd5b6020612b98848285613819565b600082601f830112613b7a57600080fd5b6020612b9884828561386d565b600082601f830112613b9857600080fd5b600a612b988482856138bd565b600082601f830112613bb657600080fd5b6020612b988482856138fe565b600082601f830112613bd457600080fd5b6009612b9884828561393f565b600082601f830112613bf257600080fd5b6010612b98848285613980565b600082601f830112613c1057600080fd5b6020612b988482856139d0565b600082601f830112613c2e57600080fd5b8135612b98848260208601613a20565b8035610eb2816155e4565b8035610eb2816155ed565b8051610eb2816155ed565b600082601f830112613c7057600080fd5b8135612b98848260208601613a79565b8051610eb2816155f6565b600082601f830112613c9c57600080fd5b8151612b98848260208601613ab2565b8035610eb2816155f6565b600060208284031215613cc957600080fd5b6000612b988484613ae3565b60008060408385031215613ce857600080fd5b6000613cf48585613ae3565b9250506020613d0585828601613ae3565b9150509250929050565b600080600060608486031215613d2457600080fd5b6000613d308686613ae3565b9350506020613d4186828701613ae3565b9250506040613d5286828701613cac565b9150509250925092565b60008060008060808587031215613d7257600080fd5b6000613d7e8787613ae3565b9450506020613d8f87828801613ae3565b9350506040613da087828801613cac565b925050606085013567ffffffffffffffff811115613dbd57600080fd5b613dc987828801613c5f565b91505092959194509250565b60008060408385031215613de857600080fd5b6000613df48585613ae3565b9250506020613d0585828601613c3e565b60008060408385031215613e1857600080fd5b6000613e248585613ae3565b9250506020613d0585828601613cac565b600060208284031215613e4757600080fd5b813567ffffffffffffffff811115613e5e57600080fd5b612b9884828501613aee565b60006180008284031215613e7d57600080fd5b6000612b988484613b0f565b600060208284031215613e9b57600080fd5b815167ffffffffffffffff811115613eb257600080fd5b612b9884828501613b2d565b60006180008284031215613ed157600080fd5b6000612b988484613b4b565b60008060408385031215613ef057600080fd5b825167ffffffffffffffff811115613f0757600080fd5b613f1385828601613b87565b925050602083015167ffffffffffffffff811115613f3057600080fd5b613d0585828601613c8b565b60008060008060808587031215613f5257600080fd5b845167ffffffffffffffff811115613f6957600080fd5b613f7587828801613bc3565b9450506020613f8687828801613c80565b9350506040613f9787828801613c80565b9250506060613dc987828801613c80565b60008060408385031215613fbb57600080fd5b823567ffffffffffffffff811115613fd257600080fd5b613e2485828601613c1d565b600060208284031215613ff057600080fd5b6000612b988484613c49565b60006020828403121561400e57600080fd5b6000612b988484613c54565b60006020828403121561402c57600080fd5b6000612b988484613c80565b60008060006060848603121561404d57600080fd5b60006140598686613c80565b935050602061406a86828701613c80565b9250506040613d5286828701613c80565b60006020828403121561408d57600080fd5b815167ffffffffffffffff8111156140a457600080fd5b612b9884828501613c8b565b6000602082840312156140c257600080fd5b6000612b988484613cac565b600080604083850312156140e157600080fd5b6000613cf48585613cac565b600080610220838503121561410157600080fd5b600061410d8585613cac565b9250506020613d0585828601613be1565b6000806040838503121561413157600080fd5b6000613e248585613cac565b6000806040838503121561415057600080fd5b600061415c8585613c80565b9250506020613d0585828601613c80565b600061417983836142f2565b50506104000190565b600061418e838361439f565b9392505050565b600061417983836144ad565b60006141ad83836145b4565b505060200190565b600061418e8383614573565b60006141cd8383614b48565b505060a00190565b6141de8161542a565b82525050565b6141ed8161511e565b6141f78184610aa0565b92506142028261510f565b8060005b8381101561423057815161421a878261416d565b96506142258361513e565b925050600101614206565b505050505050565b60006142438261511e565b61424d8185610aa0565b93508360208202850161425f8561510f565b8060005b85811015614299578484038952815161427c8582614182565b94506142878361513e565b60209a909a0199925050600101614263565b5091979650505050505050565b6142af8161511e565b6142b98184610aa0565b92506142c48261510f565b8060005b838110156142305781516142dc8782614195565b96506142e78361513e565b9250506001016142c8565b6142fb8161511e565b6143058184610aa0565b92506143108261510f565b8060005b8381101561423057815161432887826141a1565b96506143338361513e565b925050600101614314565b600061434982615124565b6143538185610aa0565b9350836020820285016143658561510f565b8060005b85811015614299578484038952815161438285826141b5565b945061438d8361513e565b60209a909a0199925050600101614369565b60006143aa8261511e565b6143b48185610aa0565b9350836020820285016143c68561510f565b8060005b8581101561429957848403895281516143e385826141b5565b94506143ee8361513e565b60209a909a01999250506001016143ca565b600061440b8261512a565b6144158185610aa0565b9350836020820285016144278561510f565b8060005b85811015614299578484038952815161444485826141b5565b945061444f8361513e565b60209a909a019992505060010161442b565b61446a81615130565b6144748184610aa0565b925061447f8261510f565b8060005b8381101561423057815161449787826141c1565b96506144a28361513e565b925050600101614483565b6144b68161511e565b6144c08184610aa0565b92506144cb8261510f565b8060005b838110156142305781516144e387826141a1565b96506144ee8361513e565b9250506001016144cf565b600061450482615136565b61450e818561514a565b935061451983615112565b8060005b8381101561454e5761452e826155a4565b61453888826141a1565b975061454383615144565b92505060010161451d565b509495945050505050565b6141de81615435565b6141de61456e8261510f565b61510f565b600061457e8261513a565b614588818561514a565b9350614598818560208601615485565b6145a1816155b0565b9093019392505050565b6141de81615463565b6141de8161510f565b6141de8161546e565b60006145d360068361514a565b6514185d5cd95960d21b815260200192915050565b60006145f5602b8361514a565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7581526a74206f6620626f756e647360a81b602082015260400192915050565b600061464260328361514a565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526581527131b2b4bb32b91034b6b83632b6b2b73a32b960711b602082015260400192915050565b600061469660268361514a565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206181526564647265737360d01b602082015260400192915050565b60006146de601c8361514a565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000815260200192915050565b600061471760248361514a565b7f4552433732313a207472616e7366657220746f20746865207a65726f206164648152637265737360e01b602082015260400192915050565b600061475d60198361514a565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000815260200192915050565b6000614796602c8361514a565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657881526b34b9ba32b73a103a37b5b2b760a11b602082015260400192915050565b60006147e460388361514a565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7781527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015260400192915050565b6000614843602a8361514a565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a65815269726f206164647265737360b01b602082015260400192915050565b600061488f60298361514a565b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737481526832b73a103a37b5b2b760b91b602082015260400192915050565b60006148da60208361514a565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373815260200192915050565b600061491360088361514a565b67496e61637469766560c01b815260200192915050565b6000614937602c8361514a565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657881526b34b9ba32b73a103a37b5b2b760a11b602082015260400192915050565b600061498560208361514a565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572815260200192915050565b60006149be60298361514a565b7f4552433732313a207472616e73666572206f6620746f6b656e2074686174206981526839903737ba1037bbb760b91b602082015260400192915050565b6000614a0960218361514a565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e658152603960f91b602082015260400192915050565b6000610eb2600083610aa0565b6000614a5960318361514a565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f8152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b602082015260400192915050565b6000614aac602c8361514a565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f81526b7574206f6620626f756e647360a01b602082015260400192915050565b6000614afa601f8361514a565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815260200192915050565b6000614b3360068361514a565b6504d61782031360d41b815260200192915050565b805160a0830190614b5984826145b4565b506020820151614b6c60208501826145b4565b506040820151614b7f60408501826145b4565b506060820151614b9260608501826145b4565b50608082015161229f60808501826145b4565b8051600090610160840190614bba85826145b4565b506020830151614bcd60208601826145b4565b506040830151614be060408601826145b4565b506060830151614bf360608601826145b4565b506080830151614c0660808601826145b4565b5060a0830151614c1960a08601826145b4565b5060c0830151614c2c60c08601826145b4565b5060e0830151614c3f60e08601826145b4565b50610100830151848203610100860152614c598282614573565b915050610120830151848203610120860152614c75828261433e565b915050610140830151848203610140860152614c918282614400565b95945050505050565b6000610eb282614a3f565b6000614cb18286614562565b602082019150614cc18285614562565b602082019150614cd18284614562565b506020019392505050565b60208101610eb282846141d5565b60808101614cf882876141d5565b614d0560208301866141d5565b614d1260408301856145b4565b8181036060830152614d248184614573565b9695505050505050565b6180008101610eb282846141e4565b6020808252810161418e8184614238565b6180008101610eb282846142a6565b610c808101610eb28284614461565b60208101610eb28284614559565b60208101610eb282846145ab565b60208101610eb282846145b4565b6020808252810161418e8184614573565b60208082528101610a9d816145c6565b60208082528101610a9d816145e8565b60208082528101610a9d81614635565b60208082528101610a9d81614689565b60208082528101610a9d816146d1565b60208082528101610a9d8161470a565b60208082528101610a9d81614750565b60208082528101610a9d81614789565b60208082528101610a9d816147d7565b60208082528101610a9d81614836565b60208082528101610a9d81614882565b60208082528101610a9d816148cd565b60208082528101610a9d81614906565b60208082528101610a9d8161492a565b60208082528101610a9d81614978565b60208082528101610a9d816149b1565b60208082528101610a9d816149fc565b60208082528101610a9d81614a4c565b60208082528101610a9d81614a9f565b60208082528101610a9d81614aed565b60208082528101610a9d81614b26565b6020808252810161418e8184614ba5565b60408101614f1682856145b4565b61418e60208301846141d5565b60a08101614f3182886145b4565b614f3e60208301876145bd565b614f4b60408301866145b4565b614f5860608301856145b4565b614d2460808301846145b4565b60408101614f7382856145b4565b61418e60208301846145b4565b60608101614f8e82866145b4565b614f9b60208301856145b4565b612b9860408301846145b4565b60a08101614fb682886145b4565b614fc360208301876145b4565b614fd060408301866145b4565b614fdd60608301856145b4565b8181036080830152614fef81846144f9565b979650505050505050565b60a0810161500882886145b4565b614f3e60208301876145b4565b60c0810161502382896145b4565b61503060208301886145b4565b61503d60408301876145b4565b61504a60608301866145b4565b61505760808301856145b4565b81810360a083015261506981846144f9565b98975050505050505050565b60405181810167ffffffffffffffff811182821017156150975761509761558e565b604052919050565b600067ffffffffffffffff8211156150b9576150b961558e565b5060209081020190565b600067ffffffffffffffff8211156150dd576150dd61558e565b5060200290565b600067ffffffffffffffff8211156150fe576150fe61558e565b506020601f91909101601f19160190565b90565b60009081526020902090565b50602090565b50600a90565b50600990565b50601490565b5490565b5190565b60200190565b60010190565b90815260200190565b600061515e8261510f565b91506151698361510f565b9250821982111561517c5761517c615536565b500190565b600061518c8261510f565b91506151978361510f565b9250826151a6576151a661554c565b500490565b80825b60018511156151e9578086048111156151c9576151c9615536565b60018516156151d757908102905b80026151e2856155ba565b94506151ae565b94509492505050565b60006151fd8261510f565b91506152088361545d565b925061418e60001984846000826152215750600161418e565b8161522e5750600061418e565b8160018114615244576002811461524e5761527b565b600191505061418e565b60ff84111561525f5761525f615536565b8360020a91508482111561527557615275615536565b5061418e565b5060208310610133831016604e8410600b84101617156152ae575081810a838111156152a9576152a9615536565b61418e565b6152bb84848460016151ab565b925090508184048111156152d1576152d1615536565b0292915050565b60006152e38261510f565b91506152ee8361510f565b9250826001600160ff1b03048211600084136000841316161561531357615313615536565b81600160ff1b058312600084126000841316161561533357615333615536565b82600160ff1b058212600084136000841216161561535357615353615536565b826001600160ff1b03058212600084126000841216161561537657615376615536565b500290565b60006153868261510f565b91506153918361510f565b925081600019048311821515161561537657615376615536565b60006153b68261510f565b91506153c18361510f565b925082600160ff1b018212600084121516156153df576153df615536565b826001600160ff1b030182136000841216156153fd576153fd615536565b500390565b600061540d8261510f565b91506154188361510f565b9250828210156153fd576153fd615536565b6000610a9d82615451565b151590565b6001600160e01b03191690565b80610aa0816155c0565b6001600160a01b031690565b60ff1690565b6000610a9d82615447565b6000610a9d8261510f565b82818337506000910152565b60005b838110156154a0578181015183820152602001615488565b8381111561229f5750506000910152565b6002810460018216806154c557607f821691505b60208210811415610d2557610d25615578565b6000610a9d61456e8361510f565b60006154f18261510f565b915060001982141561550557615505615536565b5060010190565b60006155178261510f565b91506155228361510f565b9250826155315761553161554c565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6000610a9d82546154d8565b601f01601f191690565b60011c90565b6005811061111757611117615562565b6155d98161542a565b811461111757600080fd5b6155d981615435565b6155d98161543a565b6155d98161510f56fea26469706673582212207f1dbd1b88a506e84c83ec3fae555842e034424a13e4bd67f56f4de2328f67cb64736f6c63430008000033000000000000000000000000a5afc9fe76a28fb12c60954ed6e2e5f8cef64ff20000000000000000000000002521beb44d433a5b916ad9d5ab51b98378870072
Deployed Bytecode
0x6080604052600436106103905760003560e01c8063715018a6116101dc578063b79bebaf11610102578063cae07d2a116100a0578063e1a283d61161006f578063e1a283d614610a03578063e6ec320e14610a18578063e985e9c514610a38578063f2fde38b14610a5857610397565b8063cae07d2a14610999578063d082e381146109ae578063d359fc19146109c3578063d41845d0146109e357610397565b8063bf514465116100dc578063bf51446514610922578063c4ae31681461094f578063c50497ae14610964578063c87b56dd1461097957610397565b8063b79bebaf146108c2578063b88d4fde146108e2578063b9173bb61461090257610397565b80638da5cb5b1161017a578063a0712d6811610149578063a0712d681461085a578063a22cb4651461086d578063a6e602101461088d578063ab2f711e146108a257610397565b80638da5cb5b146107f05780639047abbe1461080557806395d89b41146108255780639bac5f7a1461083a57610397565b80637d94792a116101b65780637d94792a1461079e5780637f46882f146107b35780638a61413c146107c85780638d859f3e146107db57610397565b8063715018a61461074957806371d985b31461075e57806373e687a81461077e57610397565b806332cb6b0c116102c15780635dd503501161025f5780636ae9a57e1161022e5780636ae9a57e146106d25780636c43c5a9146106e75780636f705c08146106fc57806370a082311461072957610397565b80635dd50350146106505780635e6d10f2146106705780636352211e1461068557806363be6ad4146106a557610397565b806343083f0e1161029b57806343083f0e146105ce578063473a3abf146105e35780634f6ccce714610610578063502f260c1461063057610397565b806332cb6b0c146105845780633ccfd60b1461059957806342842e0e146105ae57610397565b8063209ad1051161032e5780632f745c59116103085780632f745c59146105025780632fb16bc8146105225780633000436f146105375780633107cbac1461055757610397565b8063209ad105146104a257806323b872dd146104c257806329fdf854146104e257610397565b8063095ea7b31161036a578063095ea7b31461041e578063158ac44e1461043e57806318160ddd1461046b57806318e20a381461048d57610397565b806301ffc9a71461039957806306fdde03146103cf578063081812fc146103f157610397565b3661039757005b005b3480156103a557600080fd5b506103b96103b4366004613fde565b610a78565b6040516103c69190614d6c565b60405180910390f35b3480156103db57600080fd5b506103e4610aa5565b6040516103c69190614d96565b3480156103fd57600080fd5b5061041161040c3660046140b0565b610b37565b6040516103c69190614cdc565b34801561042a57600080fd5b50610397610439366004613e05565b610b83565b34801561044a57600080fd5b5061045e6104593660046140b0565b610c1b565b6040516103c69190614d2e565b34801561047757600080fd5b50610480610d2b565b6040516103c69190614d88565b34801561049957600080fd5b50610480610d31565b3480156104ae57600080fd5b506104116104bd3660046140b0565b610d55565b3480156104ce57600080fd5b506103976104dd366004613d0f565b610d70565b3480156104ee57600080fd5b506103976104fd366004613fa8565b610da8565b34801561050e57600080fd5b5061048061051d366004613e05565b610e63565b34801561052e57600080fd5b506103b9610eb8565b34801561054357600080fd5b506103976105523660046140ce565b610ec1565b34801561056357600080fd5b506105776105723660046140b0565b610f15565b6040516103c69190614d4e565b34801561059057600080fd5b50610480611062565b3480156105a557600080fd5b50610397611068565b3480156105ba57600080fd5b506103976105c9366004613d0f565b61111a565b3480156105da57600080fd5b50610397611135565b3480156105ef57600080fd5b506106036105fe3660046140b0565b6111ec565b6040516103c69190614d3d565b34801561061c57600080fd5b5061048061062b3660046140b0565b61133c565b34801561063c57600080fd5b5061039761064b3660046140ed565b611397565b34801561065c57600080fd5b5061048061066b3660046140b0565b61152f565b34801561067c57600080fd5b50610480611541565b34801561069157600080fd5b506104116106a03660046140b0565b611547565b3480156106b157600080fd5b506106c56106c03660046140b0565b61157c565b6040516103c69190614ef7565b3480156106de57600080fd5b506103976119fd565b3480156106f357600080fd5b50610397611b0e565b34801561070857600080fd5b5061071c6107173660046140b0565b611b61565b6040516103c69190614d7a565b34801561073557600080fd5b50610480610744366004613cb7565b611b76565b34801561075557600080fd5b50610397611bba565b34801561076a57600080fd5b50610397610779366004613cb7565b611c05565b34801561078a57600080fd5b506104116107993660046140b0565b611c97565b3480156107aa57600080fd5b50610480611cc2565b3480156107bf57600080fd5b50610480611cc8565b6103976107d63660046140b0565b611cce565b3480156107e757600080fd5b50610480611e75565b3480156107fc57600080fd5b50610411611e81565b34801561081157600080fd5b50610397610820366004613e35565b611e90565b34801561083157600080fd5b506103e4611f67565b34801561084657600080fd5b506103e46108553660046140b0565b611f76565b6103976108683660046140b0565b6120c0565b34801561087957600080fd5b50610397610888366004613dd5565b612177565b34801561089957600080fd5b50610411612189565b3480156108ae57600080fd5b506104806108bd3660046140b0565b6121ad565b3480156108ce57600080fd5b506103e46108dd3660046140b0565b6121bf565b3480156108ee57600080fd5b506103976108fd366004613d5c565b612266565b34801561090e57600080fd5b5061048061091d36600461411e565b6122a5565b34801561092e57600080fd5b5061094261093d3660046140b0565b6122d6565b6040516103c69190614d5d565b34801561095b57600080fd5b506103976124ee565b34801561097057600080fd5b5061048061254a565b34801561098557600080fd5b506103e46109943660046140b0565b61255b565b3480156109a557600080fd5b50610480612749565b3480156109ba57600080fd5b50610480612750565b3480156109cf57600080fd5b506103976109de3660046140b0565b612756565b3480156109ef57600080fd5b506104116109fe3660046140b0565b612885565b348015610a0f57600080fd5b506103b96128a0565b348015610a2457600080fd5b50610397610a33366004613e05565b6128ae565b348015610a4457600080fd5b506103b9610a53366004613cd5565b61292c565b348015610a6457600080fd5b50610397610a73366004613cb7565b61295a565b60006001600160e01b0319821663780e9d6360e01b1480610a9d5750610a9d826129c8565b90505b919050565b606060008054610ab4906154b1565b80601f0160208091040260200160405190810160405280929190818152602001828054610ae0906154b1565b8015610b2d5780601f10610b0257610100808354040283529160200191610b2d565b820191906000526020600020905b815481529060010190602001808311610b1057829003601f168201915b5050505050905090565b6000610b4282612a08565b610b675760405162461bcd60e51b8152600401610b5e90614e77565b60405180910390fd5b506000908152600460205260409020546001600160a01b031690565b6000610b8e82611547565b9050806001600160a01b0316836001600160a01b03161415610bc25760405162461bcd60e51b8152600401610b5e90614ea7565b806001600160a01b0316610bd4612a25565b6001600160a01b03161480610bf05750610bf081610a53612a25565b610c0c5760405162461bcd60e51b8152600401610b5e90614e27565b610c168383612a29565b505050565b610c236134f3565b81601554600014158015610c3b5750610c3b81612a08565b610c4457600080fd5b6000838152612b786020526040902054612b7780549091908110610c7857634e487b7160e01b600052603260045260246000fd5b600091825260208083209091015485835260169091526040909120546015546001600160a01b039092169163af3acd949190610cb342612a97565b6040518463ffffffff1660e01b8152600401610cd193929190614f80565b6180006040518083038186803b158015610cea57600080fd5b505afa158015610cfe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d229190613e6a565b91505b50919050565b60085490565b7f0000000000000000000000000000000000000000000000000000000061c5d1f181565b6013602052600090815260409020546001600160a01b031681565b610d81610d7b612a25565b82612b1b565b610d9d5760405162461bcd60e51b8152600401610b5e90614eb7565b610c16838383612ba0565b612b77548110610db757600080fd5b60005b8251811015610c1657610df3838281518110610de657634e487b7160e01b600052603260045260246000fd5b6020026020010151611547565b6001600160a01b0316336001600160a01b031614610e1057600080fd5b81612b786000858481518110610e3657634e487b7160e01b600052603260045260246000fd5b60200260200101518152602001908152602001600020819055508080610e5b906154e6565b915050610dba565b6000610e6e83611b76565b8210610e8c5760405162461bcd60e51b8152600401610b5e90614db7565b506001600160a01b03821660009081526006602090815260408083208484529091529020545b92915050565b600d5460ff1681565b610eca82611547565b6001600160a01b0316336001600160a01b031614610ee757600080fd5b60009182526014602052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b610f1d613521565b81601554600014158015610f355750610f3581612a08565b610f3e57600080fd5b6000838152612b786020526040902054612b7780549091908110610f7257634e487b7160e01b600052603260045260246000fd5b600091825260208083209091015485835260119091526040909120546001600160a01b039091169063d4920e7b9060ff166004811115610fc257634e487b7160e01b600052602160045260246000fd5b600086815260166020526040902054601554610fdd42612a97565b6000898152601260205260409081902090516001600160e01b031960e088901b168152611011959493929190600401614fa8565b6180006040518083038186803b15801561102a57600080fd5b505afa15801561103e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d229190613ebe565b612b6081565b611070612a25565b6001600160a01b0316611081611e81565b6001600160a01b0316146110a75760405162461bcd60e51b8152600401610b5e90614e87565b60006110b1611e81565b6001600160a01b0316476040516110c790614c9a565b60006040518083038185875af1925050503d8060008114611104576040519150601f19603f3d011682016040523d82523d6000602084013e611109565b606091505b505090508061111757600080fd5b50565b610c1683838360405180602001604052806000815250612266565b60155415801561117e575061114e6104b0612b60615402565b600c5410158061117e57507f0000000000000000000000000000000000000000000000000000000061c5d1f14210155b61118757600080fd5b612b60611195600143615402565b6111a091904061550c565b60158190556111af5760016015555b7f582fed560f3649624fbe512f240792c513414bcbbe26fc480454176615bd9447426015546040516111e2929190614f65565b60405180910390a1565b6111f461354f565b8160155460001415801561120c575061120c81612a08565b61121557600080fd5b6000838152612b786020526040902054612b778054909190811061124957634e487b7160e01b600052603260045260246000fd5b600091825260208083209091015485835260119091526040909120546001600160a01b0390911690632048c6739060ff16600481111561129957634e487b7160e01b600052602160045260246000fd5b6000868152601660205260409020546015546112b442612a97565b6000898152601260205260409081902090516001600160e01b031960e088901b1681526112e8959493929190600401614fa8565b60006040518083038186803b15801561130057600080fd5b505afa158015611314573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d229190810190613e89565b6000611346610d2b565b82106113645760405162461bcd60e51b8152600401610b5e90614ec7565b6008828154811061138557634e487b7160e01b600052603260045260246000fd5b90600052602060002001549050919050565b6113a082611547565b6001600160a01b0316336001600160a01b031614806113d557506000828152601460205260409020546001600160a01b031633145b801561141e575060008281526011602052604090205460029060ff16600481111561141057634e487b7160e01b600052602160045260246000fd5b61141a919061550c565b6001145b61142757600080fd5b600082815260136020908152604080832080546001600160a01b03191633179055601190915290205460ff16600481111561147257634e487b7160e01b600052602160045260246000fd5b61147d906001615153565b600481111561149c57634e487b7160e01b600052602160045260246000fd5b6000838152601160205260409020805460ff191660018360048111156114d257634e487b7160e01b600052602160045260246000fd5b021790555060008281526012602052604090206114f19082601061357d565b507f45be0e1ab4f13227fa0c4e2419af72c74f30c385b00c34497e68550f3b40dedb8233604051611523929190614f08565b60405180910390a15050565b60106020526000908152604090205481565b6104b081565b6000818152600260205260408120546001600160a01b031680610a9d5760405162461bcd60e51b8152600401610b5e90614e47565b6115846135c8565b8160155460001415801561159c575061159c81612a08565b6115a557600080fd5b6000838152612b786020526040812054612b77805490919081106115d957634e487b7160e01b600052603260045260246000fd5b60009182526020822001546015546001600160a01b0390911692506116029062033b60906152d8565b60008681526016602052604080822054601554915163d55dd04360e01b8152939450919283926001600160a01b0387169263d55dd04392611647929190600401614f65565b604080518083038186803b15801561165e57600080fd5b505afa158015611672573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611696919061413d565b915091506000846001600160a01b031663045a16df846040518263ffffffff1660e01b81526004016116c89190614d88565b60206040518083038186803b1580156116e057600080fd5b505afa1580156116f4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611718919061401a565b601554604051630e1f4fcd60e21b81529192506001600160a01b0387169163387d3f349161174c9187918791600401614f80565b60206040518083038186803b15801561176457600080fd5b505afa158015611778573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179c919061401a565b876080018181525050846001600160a01b0316631c96531d84846015546117c242612a97565b426040518663ffffffff1660e01b81526004016117e3959493929190614ffa565b60606040518083038186803b1580156117fb57600080fd5b505afa15801561180f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118339190614038565b60e08a015260c089015260a088015260008881526016602052604090819020546015549151631563970160e01b81526001600160a01b0388169263156397019261188292909190600401614f65565b60006040518083038186803b15801561189a57600080fd5b505afa1580156118ae573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526118d69190810190613edd565b6101008901526101208801526000888152601660205260409081902054601554915163eaaaf94760e01b81526001600160a01b0388169263eaaaf9479261192292909190600401614f65565b60006040518083038186803b15801561193a57600080fd5b505afa15801561194e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526119769190810190613f3c565b50505061014088015261198a836001615153565b6020880152611999818361550c565b60408801526119a88183615181565b606088015260a0870180518591906119c19083906153ab565b90525060c0870180518591906119d89083906153ab565b90525060e0870180518591906119ef9083906153ab565b905250505050505050919050565b6002600a541415611a205760405162461bcd60e51b8152600401610b5e90614ed7565b6002600a556001336000908152600e602052604090205460ff166002811115611a5957634e487b7160e01b600052602160045260246000fd5b14611a6357600080fd5b336000818152600e60205260409020805460ff19166002179055611a88906001612ccd565b6001600f6000828254611a9b9190615153565b9091555050600c8054600090815260106020908152604080832043905583548352601190915290819020805460ff19166003179055905490517f41469549673f9fcac40591db4dfa9089e9ed2b430b749c4eb6586195721b8c1d91611aff91614d88565b60405180910390a16001600a55565b611b16612a25565b6001600160a01b0316611b27611e81565b6001600160a01b031614611b4d5760405162461bcd60e51b8152600401610b5e90614e87565b600d805460ff19811660ff90911615179055565b60116020526000908152604090205460ff1681565b60006001600160a01b038216611b9e5760405162461bcd60e51b8152600401610b5e90614e37565b506001600160a01b031660009081526003602052604090205490565b611bc2612a25565b6001600160a01b0316611bd3611e81565b6001600160a01b031614611bf95760405162461bcd60e51b8152600401610b5e90614e87565b611c036000612d17565b565b611c0d612a25565b6001600160a01b0316611c1e611e81565b6001600160a01b031614611c445760405162461bcd60e51b8152600401610b5e90614e87565b612b7780546001810182556000919091527fa8e03d383aaeb8ac9cee38cfc7a3e9df720a59460a08160c6b079f8e0b5521040180546001600160a01b0319166001600160a01b0392909216919091179055565b612b778181548110611ca857600080fd5b6000918252602090912001546001600160a01b0316905081565b60155481565b600f5481565b6002600a541415611cf15760405162461bcd60e51b8152600401610b5e90614ed7565b6002600a9081558190811115611d195760405162461bcd60e51b8152600401610b5e90614ee7565b80611d286104b0612b60615402565b611d329190615402565b600c5411158015611d545750611d506702386f26fc1000008261537b565b3410155b611d5d57600080fd5b600d5460ff16611d7f5760405162461bcd60e51b8152600401610b5e90614e67565b6064611d8a33611b76565b11158015611e5957506040516370a0823160e01b815260009073ff9c1b15b16263c61d017ee9f65c50e4ae0113d7906370a0823190611dcd903390600401614cdc565b60206040518083038186803b158015611de557600080fd5b505afa158015611df9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e1d919061401a565b1180611e595750336000908152600e602052604081205460ff166002811115611e5657634e487b7160e01b600052602160045260246000fd5b14155b611e6257600080fd5b611e6c3383612ccd565b50506001600a55565b6702386f26fc10000081565b600b546001600160a01b031690565b611e98612a25565b6001600160a01b0316611ea9611e81565b6001600160a01b031614611ecf5760405162461bcd60e51b8152600401610b5e90614e87565b60005b8151811015611f63576001600e6000848481518110611f0157634e487b7160e01b600052603260045260246000fd5b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19166001836002811115611f4c57634e487b7160e01b600052602160045260246000fd5b021790555080611f5b816154e6565b915050611ed2565b5050565b606060018054610ab4906154b1565b606081601554600014158015611f905750611f9081612a08565b611f9957600080fd5b6000838152612b786020526040902054612b7780549091908110611fcd57634e487b7160e01b600052603260045260246000fd5b600091825260208083209091015485835260119091526040909120546001600160a01b0390911690632cff78d89060ff16600481111561201d57634e487b7160e01b600052602160045260246000fd5b60008681526016602052604090205460155461203842612a97565b6000898152601260205260409081902090516001600160e01b031960e088901b16815261206c959493929190600401614fa8565b60006040518083038186803b15801561208457600080fd5b505afa158015612098573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d22919081019061407b565b6002600a5414156120e35760405162461bcd60e51b8152600401610b5e90614ed7565b6002600a908155819081111561210b5760405162461bcd60e51b8152600401610b5e90614ee7565b8061211a6104b0612b60615402565b6121249190615402565b600c541115801561214657506121426702386f26fc1000008261537b565b3410155b61214f57600080fd5b600d54610100900460ff1615611e625760405162461bcd60e51b8152600401610b5e90614da7565b611f63612182612a25565b8383612d69565b7f0000000000000000000000002521beb44d433a5b916ad9d5ab51b9837887007281565b60166020526000908152604090205481565b6060816015546000141580156121d957506121d981612a08565b6121e257600080fd5b6000838152612b786020526040902054612b778054909190811061221657634e487b7160e01b600052603260045260246000fd5b600091825260208083209091015485835260119091526040909120546001600160a01b0390911690632907c2c49060ff16600481111561201d57634e487b7160e01b600052602160045260246000fd5b612277612271612a25565b83612b1b565b6122935760405162461bcd60e51b8152600401610b5e90614eb7565b61229f84848484612e0c565b50505050565b601260205281600052604060002081815481106122c157600080fd5b90600052602060002001600091509150505481565b6122de61362d565b6000612b7760008154811061230357634e487b7160e01b600052603260045260246000fd5b60009182526020822001546001600160a01b0316915061232284612a97565b9050600062033b6060155461233791906152d8565b90506000806000805b60148110156124e257866001600160a01b0316631c96531d8260006015548a8e6040518663ffffffff1660e01b8152600401612380959493929190614f23565b60606040518083038186803b15801561239857600080fd5b505afa1580156123ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123d09190614038565b6040805160a081019091529296509094509250806123ef836001615153565b81526020016002896001600160a01b031663045a16df856040518263ffffffff1660e01b81526004016124229190614d88565b60206040518083038186803b15801561243a57600080fd5b505afa15801561244e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612472919061401a565b61247c91906151f2565b815260200161248b87876153ab565b815260200161249a87866153ab565b81526020016124a987856153ab565b90528882601481106124cb57634e487b7160e01b600052603260045260246000fd5b6020020152806124da816154e6565b915050612340565b50505050505050919050565b6124f6612a25565b6001600160a01b0316612507611e81565b6001600160a01b03161461252d5760405162461bcd60e51b8152600401610b5e90614e87565b600d805461ff001981166101009182900460ff1615909102179055565b6125586104b0612b60615402565b81565b60606015546000141561261f57612b7760008154811061258b57634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546040516358e7c27960e11b81526001600160a01b039091169063b1cf84f2906125c4908590600401614d88565b60006040518083038186803b1580156125dc57600080fd5b505afa1580156125f0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612618919081019061407b565b9050610aa0565b6000828152612b786020526040902054612b778054909190811061265357634e487b7160e01b600052603260045260246000fd5b600091825260208083209091015484835260119091526040909120546001600160a01b03909116906322bc92b090849060ff1660048111156126a557634e487b7160e01b600052602160045260246000fd5b6000868152601660205260409020546015546126c042612a97565b6000898152601260205260409081902090516001600160e01b031960e089901b1681526126f596959493929190600401615015565b60006040518083038186803b15801561270d57600080fd5b505afa158015612721573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a9d919081019061407b565b62033b6081565b600c5481565b61275f81611547565b6001600160a01b0316336001600160a01b03161461277c57600080fd5b6000818152601060209081526040808320439055601190915281205460ff1660048111156127ba57634e487b7160e01b600052602160045260246000fd5b14156127d9576001600f60008282546127d39190615153565b90915550505b60008181526011602052604090205460029060ff16600481111561280d57634e487b7160e01b600052602160045260246000fd5b1115612831576000818152601160205260409020805460ff1916600317905561284b565b6000818152601160205260409020805460ff191660011790555b7f41469549673f9fcac40591db4dfa9089e9ed2b430b749c4eb6586195721b8c1d8160405161287a9190614d88565b60405180910390a150565b6014602052600090815260409020546001600160a01b031681565b600d54610100900460ff1681565b6128b6612a25565b6001600160a01b03166128c7611e81565b6001600160a01b0316146128ed5760405162461bcd60e51b8152600401610b5e90614e87565b6128fb6104b0612b60615402565b600c5410158015612919575061291381612b60615402565b600c5411155b61292257600080fd5b611f638282612ccd565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b612962612a25565b6001600160a01b0316612973611e81565b6001600160a01b0316146129995760405162461bcd60e51b8152600401610b5e90614e87565b6001600160a01b0381166129bf5760405162461bcd60e51b8152600401610b5e90614dd7565b61111781612d17565b60006001600160e01b031982166380ac58cd60e01b14806129f957506001600160e01b03198216635b5e139f60e01b145b80610a9d5750610a9d82612e3f565b6000908152600260205260409020546001600160a01b0316151590565b3390565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190612a5e82611547565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080600f546312cc0300612aac919061537b565b612ad6907f0000000000000000000000000000000000000000000000000000000061c5d1f1615153565b90506101f4600f54101580612aeb5750808311155b15612afa576000915050610aa0565b6301e13380612b098285615402565b612b139190615181565b915050610aa0565b6000612b2682612a08565b612b425760405162461bcd60e51b8152600401610b5e90614e17565b6000612b4d83611547565b9050806001600160a01b0316846001600160a01b03161480612b885750836001600160a01b0316612b7d84610b37565b6001600160a01b0316145b80612b985750612b98818561292c565b949350505050565b826001600160a01b0316612bb382611547565b6001600160a01b031614612bd95760405162461bcd60e51b8152600401610b5e90614e97565b6001600160a01b038216612bff5760405162461bcd60e51b8152600401610b5e90614df7565b612c0a838383612e58565b612c15600082612a29565b6001600160a01b0383166000908152600360205260408120805460019290612c3e908490615402565b90915550506001600160a01b0382166000908152600360205260408120805460019290612c6c908490615153565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b600c545b612cdb8282615153565b600c541015610c1657612cec612e83565b6001600c6000828254612cff9190615153565b92505081905550612d1283600c5461301f565b612cd1565b600b80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b03161415612d9b5760405162461bcd60e51b8152600401610b5e90614e07565b6001600160a01b0383811660008181526005602090815260408083209487168084529490915290819020805460ff1916851515179055517f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3190612dff908590614d6c565b60405180910390a3505050565b612e17848484612ba0565b612e2384848484613039565b61229f5760405162461bcd60e51b8152600401610b5e90614dc7565b6001600160e01b031981166301ffc9a760e01b14919050565b612e63838383613154565b600090815260146020526040902080546001600160a01b03191690555050565b6000600c54612b60612e959190615402565b905060008082600c54600143612eab9190615402565b4044604051602001612ebf93929190614ca5565b6040516020818303038152906040528051906020012060001c612ee2919061550c565b9050601781612b608110612f0657634e487b7160e01b600052603260045260246000fd5b0154612f1457809150612f3b565b601781612b608110612f3657634e487b7160e01b600052603260045260246000fd5b015491505b6017612f48600185615402565b612b608110612f6757634e487b7160e01b600052603260045260246000fd5b015415612fc5576017612f7b600185615402565b612b608110612f9a57634e487b7160e01b600052603260045260246000fd5b0154601782612b608110612fbe57634e487b7160e01b600052603260045260246000fd5b0155612ff5565b612fd0600184615402565b601782612b608110612ff257634e487b7160e01b600052603260045260246000fd5b01555b8160166000600c5460016130099190615153565b8152602081019190915260400160002055505050565b611f638282604051806020016040528060008152506131dd565b600061304d846001600160a01b0316613210565b1561314957836001600160a01b031663150b7a02613069612a25565b8786866040518563ffffffff1660e01b815260040161308b9493929190614cea565b602060405180830381600087803b1580156130a557600080fd5b505af19250505080156130d5575060408051601f3d908101601f191682019092526130d291810190613ffc565b60015b61312f573d808015613103576040519150601f19603f3d011682016040523d82523d6000602084013e613108565b606091505b5080516131275760405162461bcd60e51b8152600401610b5e90614dc7565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050612b98565b506001949350505050565b61315f838383610c16565b6001600160a01b03831661317b5761317681613216565b61319e565b816001600160a01b0316836001600160a01b03161461319e5761319e838261325a565b6001600160a01b0382166131ba576131b5816132f7565b610c16565b826001600160a01b0316826001600160a01b031614610c1657610c1682826133d0565b6131e78383613414565b6131f46000848484613039565b610c165760405162461bcd60e51b8152600401610b5e90614dc7565b3b151590565b600880546000838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b6000600161326784611b76565b6132719190615402565b6000838152600760205260409020549091508082146132c4576001600160a01b03841660009081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b5060009182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b60085460009061330990600190615402565b6000838152600960205260408120546008805493945090928490811061333f57634e487b7160e01b600052603260045260246000fd5b90600052602060002001549050806008838154811061336e57634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101929092558281526009909152604080822084905585825281205560088054806133b457634e487b7160e01b600052603160045260246000fd5b6001900381819060005260206000200160009055905550505050565b60006133db83611b76565b6001600160a01b039093166000908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b6001600160a01b03821661343a5760405162461bcd60e51b8152600401610b5e90614e57565b61344381612a08565b156134605760405162461bcd60e51b8152600401610b5e90614de7565b61346c60008383612e58565b6001600160a01b0382166000908152600360205260408120805460019290613495908490615153565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6040518061040001604052806020905b61350b61365b565b8152602001906001900390816135035790505090565b6040518061040001604052806020905b61353961365b565b8152602001906001900390816135315790505090565b6040518061040001604052806020905b61356761367a565b81526020019060019003908161355f5790505090565b8280548282559060005260206000209081019282156135b8579160200282015b828111156135b857825182559160200191906001019061359d565b506135c49291506136a2565b5090565b60405180610160016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016060815260200161361b6136b7565b81526020016136286136d2565b905290565b6040518061028001604052806014905b6136456136ed565b81526020019060019003908161363d5790505090565b6040518061040001604052806020906020820280368337509192915050565b6040518061040001604052806020905b606081526020019060019003908161368a5790505090565b5b808211156135c457600081556001016136a3565b6040805161014081019091526060815260096020820161368a565b6040805161012081019091526060815260086020820161368a565b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b600061372f61372a8461509f565b615075565b9050808382526020820190508285602086028201111561374e57600080fd5b60005b8581101561377a57816137648882613ae3565b8452506020928301929190910190600101613751565b5050509392505050565b600061379261372a846150c3565b90508082856104008602820111156137a957600080fd5b60005b8581101561377a57816137bf8882613b69565b84525060209092019161040091909101906001016137ac565b60006137e661372a846150c3565b9050808260005b8581101561377a57815185016138038882613ba5565b84525060209283019291909101906001016137ed565b600061382761372a846150c3565b905080828561040086028201111561383e57600080fd5b60005b8581101561377a57816138548882613bff565b8452506020909201916104009190910190600101613841565b600061387b61372a846150c3565b9050808285602086028201111561389157600080fd5b60005b8581101561377a57816138a78882613c80565b8452506020928301929190910190600101613894565b60006138cb61372a846150c3565b9050808260005b8581101561377a57815185016138e88882613c8b565b84525060209283019291909101906001016138d2565b600061390c61372a846150c3565b9050808260005b8581101561377a57815185016139298882613c8b565b8452506020928301929190910190600101613913565b600061394d61372a846150c3565b9050808260005b8581101561377a578151850161396a8882613c8b565b8452506020928301929190910190600101613954565b600061398e61372a846150c3565b905080828560208602820111156139a457600080fd5b60005b8581101561377a57816139ba8882613cac565b84525060209283019291909101906001016139a7565b60006139de61372a846150c3565b905080828560208602820111156139f457600080fd5b60005b8581101561377a5781613a0a8882613c80565b84525060209283019291909101906001016139f7565b6000613a2e61372a8461509f565b90508083825260208201905082856020860282011115613a4d57600080fd5b60005b8581101561377a5781613a638882613cac565b8452506020928301929190910190600101613a50565b6000613a8761372a846150e4565b905082815260208101848484011115613a9f57600080fd5b613aaa848285615479565b509392505050565b6000613ac061372a846150e4565b905082815260208101848484011115613ad857600080fd5b613aaa848285615485565b8035610eb2816155d0565b600082601f830112613aff57600080fd5b8135612b9884826020860161371c565b600082601f830112613b2057600080fd5b6020612b98848285613784565b600082601f830112613b3e57600080fd5b6020612b988482856137d8565b600082601f830112613b5c57600080fd5b6020612b98848285613819565b600082601f830112613b7a57600080fd5b6020612b9884828561386d565b600082601f830112613b9857600080fd5b600a612b988482856138bd565b600082601f830112613bb657600080fd5b6020612b988482856138fe565b600082601f830112613bd457600080fd5b6009612b9884828561393f565b600082601f830112613bf257600080fd5b6010612b98848285613980565b600082601f830112613c1057600080fd5b6020612b988482856139d0565b600082601f830112613c2e57600080fd5b8135612b98848260208601613a20565b8035610eb2816155e4565b8035610eb2816155ed565b8051610eb2816155ed565b600082601f830112613c7057600080fd5b8135612b98848260208601613a79565b8051610eb2816155f6565b600082601f830112613c9c57600080fd5b8151612b98848260208601613ab2565b8035610eb2816155f6565b600060208284031215613cc957600080fd5b6000612b988484613ae3565b60008060408385031215613ce857600080fd5b6000613cf48585613ae3565b9250506020613d0585828601613ae3565b9150509250929050565b600080600060608486031215613d2457600080fd5b6000613d308686613ae3565b9350506020613d4186828701613ae3565b9250506040613d5286828701613cac565b9150509250925092565b60008060008060808587031215613d7257600080fd5b6000613d7e8787613ae3565b9450506020613d8f87828801613ae3565b9350506040613da087828801613cac565b925050606085013567ffffffffffffffff811115613dbd57600080fd5b613dc987828801613c5f565b91505092959194509250565b60008060408385031215613de857600080fd5b6000613df48585613ae3565b9250506020613d0585828601613c3e565b60008060408385031215613e1857600080fd5b6000613e248585613ae3565b9250506020613d0585828601613cac565b600060208284031215613e4757600080fd5b813567ffffffffffffffff811115613e5e57600080fd5b612b9884828501613aee565b60006180008284031215613e7d57600080fd5b6000612b988484613b0f565b600060208284031215613e9b57600080fd5b815167ffffffffffffffff811115613eb257600080fd5b612b9884828501613b2d565b60006180008284031215613ed157600080fd5b6000612b988484613b4b565b60008060408385031215613ef057600080fd5b825167ffffffffffffffff811115613f0757600080fd5b613f1385828601613b87565b925050602083015167ffffffffffffffff811115613f3057600080fd5b613d0585828601613c8b565b60008060008060808587031215613f5257600080fd5b845167ffffffffffffffff811115613f6957600080fd5b613f7587828801613bc3565b9450506020613f8687828801613c80565b9350506040613f9787828801613c80565b9250506060613dc987828801613c80565b60008060408385031215613fbb57600080fd5b823567ffffffffffffffff811115613fd257600080fd5b613e2485828601613c1d565b600060208284031215613ff057600080fd5b6000612b988484613c49565b60006020828403121561400e57600080fd5b6000612b988484613c54565b60006020828403121561402c57600080fd5b6000612b988484613c80565b60008060006060848603121561404d57600080fd5b60006140598686613c80565b935050602061406a86828701613c80565b9250506040613d5286828701613c80565b60006020828403121561408d57600080fd5b815167ffffffffffffffff8111156140a457600080fd5b612b9884828501613c8b565b6000602082840312156140c257600080fd5b6000612b988484613cac565b600080604083850312156140e157600080fd5b6000613cf48585613cac565b600080610220838503121561410157600080fd5b600061410d8585613cac565b9250506020613d0585828601613be1565b6000806040838503121561413157600080fd5b6000613e248585613cac565b6000806040838503121561415057600080fd5b600061415c8585613c80565b9250506020613d0585828601613c80565b600061417983836142f2565b50506104000190565b600061418e838361439f565b9392505050565b600061417983836144ad565b60006141ad83836145b4565b505060200190565b600061418e8383614573565b60006141cd8383614b48565b505060a00190565b6141de8161542a565b82525050565b6141ed8161511e565b6141f78184610aa0565b92506142028261510f565b8060005b8381101561423057815161421a878261416d565b96506142258361513e565b925050600101614206565b505050505050565b60006142438261511e565b61424d8185610aa0565b93508360208202850161425f8561510f565b8060005b85811015614299578484038952815161427c8582614182565b94506142878361513e565b60209a909a0199925050600101614263565b5091979650505050505050565b6142af8161511e565b6142b98184610aa0565b92506142c48261510f565b8060005b838110156142305781516142dc8782614195565b96506142e78361513e565b9250506001016142c8565b6142fb8161511e565b6143058184610aa0565b92506143108261510f565b8060005b8381101561423057815161432887826141a1565b96506143338361513e565b925050600101614314565b600061434982615124565b6143538185610aa0565b9350836020820285016143658561510f565b8060005b85811015614299578484038952815161438285826141b5565b945061438d8361513e565b60209a909a0199925050600101614369565b60006143aa8261511e565b6143b48185610aa0565b9350836020820285016143c68561510f565b8060005b8581101561429957848403895281516143e385826141b5565b94506143ee8361513e565b60209a909a01999250506001016143ca565b600061440b8261512a565b6144158185610aa0565b9350836020820285016144278561510f565b8060005b85811015614299578484038952815161444485826141b5565b945061444f8361513e565b60209a909a019992505060010161442b565b61446a81615130565b6144748184610aa0565b925061447f8261510f565b8060005b8381101561423057815161449787826141c1565b96506144a28361513e565b925050600101614483565b6144b68161511e565b6144c08184610aa0565b92506144cb8261510f565b8060005b838110156142305781516144e387826141a1565b96506144ee8361513e565b9250506001016144cf565b600061450482615136565b61450e818561514a565b935061451983615112565b8060005b8381101561454e5761452e826155a4565b61453888826141a1565b975061454383615144565b92505060010161451d565b509495945050505050565b6141de81615435565b6141de61456e8261510f565b61510f565b600061457e8261513a565b614588818561514a565b9350614598818560208601615485565b6145a1816155b0565b9093019392505050565b6141de81615463565b6141de8161510f565b6141de8161546e565b60006145d360068361514a565b6514185d5cd95960d21b815260200192915050565b60006145f5602b8361514a565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7581526a74206f6620626f756e647360a81b602082015260400192915050565b600061464260328361514a565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526581527131b2b4bb32b91034b6b83632b6b2b73a32b960711b602082015260400192915050565b600061469660268361514a565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206181526564647265737360d01b602082015260400192915050565b60006146de601c8361514a565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000815260200192915050565b600061471760248361514a565b7f4552433732313a207472616e7366657220746f20746865207a65726f206164648152637265737360e01b602082015260400192915050565b600061475d60198361514a565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000815260200192915050565b6000614796602c8361514a565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657881526b34b9ba32b73a103a37b5b2b760a11b602082015260400192915050565b60006147e460388361514a565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7781527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015260400192915050565b6000614843602a8361514a565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a65815269726f206164647265737360b01b602082015260400192915050565b600061488f60298361514a565b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737481526832b73a103a37b5b2b760b91b602082015260400192915050565b60006148da60208361514a565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373815260200192915050565b600061491360088361514a565b67496e61637469766560c01b815260200192915050565b6000614937602c8361514a565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657881526b34b9ba32b73a103a37b5b2b760a11b602082015260400192915050565b600061498560208361514a565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572815260200192915050565b60006149be60298361514a565b7f4552433732313a207472616e73666572206f6620746f6b656e2074686174206981526839903737ba1037bbb760b91b602082015260400192915050565b6000614a0960218361514a565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e658152603960f91b602082015260400192915050565b6000610eb2600083610aa0565b6000614a5960318361514a565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f8152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b602082015260400192915050565b6000614aac602c8361514a565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f81526b7574206f6620626f756e647360a01b602082015260400192915050565b6000614afa601f8361514a565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815260200192915050565b6000614b3360068361514a565b6504d61782031360d41b815260200192915050565b805160a0830190614b5984826145b4565b506020820151614b6c60208501826145b4565b506040820151614b7f60408501826145b4565b506060820151614b9260608501826145b4565b50608082015161229f60808501826145b4565b8051600090610160840190614bba85826145b4565b506020830151614bcd60208601826145b4565b506040830151614be060408601826145b4565b506060830151614bf360608601826145b4565b506080830151614c0660808601826145b4565b5060a0830151614c1960a08601826145b4565b5060c0830151614c2c60c08601826145b4565b5060e0830151614c3f60e08601826145b4565b50610100830151848203610100860152614c598282614573565b915050610120830151848203610120860152614c75828261433e565b915050610140830151848203610140860152614c918282614400565b95945050505050565b6000610eb282614a3f565b6000614cb18286614562565b602082019150614cc18285614562565b602082019150614cd18284614562565b506020019392505050565b60208101610eb282846141d5565b60808101614cf882876141d5565b614d0560208301866141d5565b614d1260408301856145b4565b8181036060830152614d248184614573565b9695505050505050565b6180008101610eb282846141e4565b6020808252810161418e8184614238565b6180008101610eb282846142a6565b610c808101610eb28284614461565b60208101610eb28284614559565b60208101610eb282846145ab565b60208101610eb282846145b4565b6020808252810161418e8184614573565b60208082528101610a9d816145c6565b60208082528101610a9d816145e8565b60208082528101610a9d81614635565b60208082528101610a9d81614689565b60208082528101610a9d816146d1565b60208082528101610a9d8161470a565b60208082528101610a9d81614750565b60208082528101610a9d81614789565b60208082528101610a9d816147d7565b60208082528101610a9d81614836565b60208082528101610a9d81614882565b60208082528101610a9d816148cd565b60208082528101610a9d81614906565b60208082528101610a9d8161492a565b60208082528101610a9d81614978565b60208082528101610a9d816149b1565b60208082528101610a9d816149fc565b60208082528101610a9d81614a4c565b60208082528101610a9d81614a9f565b60208082528101610a9d81614aed565b60208082528101610a9d81614b26565b6020808252810161418e8184614ba5565b60408101614f1682856145b4565b61418e60208301846141d5565b60a08101614f3182886145b4565b614f3e60208301876145bd565b614f4b60408301866145b4565b614f5860608301856145b4565b614d2460808301846145b4565b60408101614f7382856145b4565b61418e60208301846145b4565b60608101614f8e82866145b4565b614f9b60208301856145b4565b612b9860408301846145b4565b60a08101614fb682886145b4565b614fc360208301876145b4565b614fd060408301866145b4565b614fdd60608301856145b4565b8181036080830152614fef81846144f9565b979650505050505050565b60a0810161500882886145b4565b614f3e60208301876145b4565b60c0810161502382896145b4565b61503060208301886145b4565b61503d60408301876145b4565b61504a60608301866145b4565b61505760808301856145b4565b81810360a083015261506981846144f9565b98975050505050505050565b60405181810167ffffffffffffffff811182821017156150975761509761558e565b604052919050565b600067ffffffffffffffff8211156150b9576150b961558e565b5060209081020190565b600067ffffffffffffffff8211156150dd576150dd61558e565b5060200290565b600067ffffffffffffffff8211156150fe576150fe61558e565b506020601f91909101601f19160190565b90565b60009081526020902090565b50602090565b50600a90565b50600990565b50601490565b5490565b5190565b60200190565b60010190565b90815260200190565b600061515e8261510f565b91506151698361510f565b9250821982111561517c5761517c615536565b500190565b600061518c8261510f565b91506151978361510f565b9250826151a6576151a661554c565b500490565b80825b60018511156151e9578086048111156151c9576151c9615536565b60018516156151d757908102905b80026151e2856155ba565b94506151ae565b94509492505050565b60006151fd8261510f565b91506152088361545d565b925061418e60001984846000826152215750600161418e565b8161522e5750600061418e565b8160018114615244576002811461524e5761527b565b600191505061418e565b60ff84111561525f5761525f615536565b8360020a91508482111561527557615275615536565b5061418e565b5060208310610133831016604e8410600b84101617156152ae575081810a838111156152a9576152a9615536565b61418e565b6152bb84848460016151ab565b925090508184048111156152d1576152d1615536565b0292915050565b60006152e38261510f565b91506152ee8361510f565b9250826001600160ff1b03048211600084136000841316161561531357615313615536565b81600160ff1b058312600084126000841316161561533357615333615536565b82600160ff1b058212600084136000841216161561535357615353615536565b826001600160ff1b03058212600084126000841216161561537657615376615536565b500290565b60006153868261510f565b91506153918361510f565b925081600019048311821515161561537657615376615536565b60006153b68261510f565b91506153c18361510f565b925082600160ff1b018212600084121516156153df576153df615536565b826001600160ff1b030182136000841216156153fd576153fd615536565b500390565b600061540d8261510f565b91506154188361510f565b9250828210156153fd576153fd615536565b6000610a9d82615451565b151590565b6001600160e01b03191690565b80610aa0816155c0565b6001600160a01b031690565b60ff1690565b6000610a9d82615447565b6000610a9d8261510f565b82818337506000910152565b60005b838110156154a0578181015183820152602001615488565b8381111561229f5750506000910152565b6002810460018216806154c557607f821691505b60208210811415610d2557610d25615578565b6000610a9d61456e8361510f565b60006154f18261510f565b915060001982141561550557615505615536565b5060010190565b60006155178261510f565b91506155228361510f565b9250826155315761553161554c565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6000610a9d82546154d8565b601f01601f191690565b60011c90565b6005811061111757611117615562565b6155d98161542a565b811461111757600080fd5b6155d981615435565b6155d98161543a565b6155d98161510f56fea26469706673582212207f1dbd1b88a506e84c83ec3fae555842e034424a13e4bd67f56f4de2328f67cb64736f6c63430008000033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000a5afc9fe76a28fb12c60954ed6e2e5f8cef64ff20000000000000000000000002521beb44d433a5b916ad9d5ab51b98378870072
-----Decoded View---------------
Arg [0] : _terraformsDataAddress (address): 0xA5aFC9fE76a28fB12C60954Ed6e2e5f8ceF64Ff2
Arg [1] : _terraformsAugmentationsAddress (address): 0x2521bEb44D433A5B916Ad9d5aB51B98378870072
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000a5afc9fe76a28fb12c60954ed6e2e5f8cef64ff2
Arg [1] : 0000000000000000000000002521beb44d433a5b916ad9d5ab51b98378870072
🤖 Code Reader
Generate instant answers for your smart contract questions using AI Models. Read more.
Loading...
Loading
Loading...
Loading
OVERVIEW
Onchain land art from a dynamically generated, onchain 3D world.Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 30 Chains
Tokens
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.


