OP Sepolia Testnet

Contract

0x8478b02081Aa29886bDcd1f9F66B97917a724382
Source Code Source Code

Overview

ETH Balance

0 ETH

More Info

Multichain Info

N/A
Transaction Hash
Method
Block
From
To
Amount
Unpause295807932025-06-26 18:55:26322 days ago1750964126IN
0x8478b020...17a724382
0 ETH0.0000000288060.00097025
Unpause295807532025-06-26 18:54:06322 days ago1750964046IN
0x8478b020...17a724382
0 ETH0.0000000228210.00097025
Transfer Ownersh...295477812025-06-26 0:35:02323 days ago1750898102IN
0x8478b020...17a724382
0 ETH0.0000000306570.00100025
Set Id Gateway295477812025-06-26 0:35:02323 days ago1750898102IN
0x8478b020...17a724382
0 ETH0.0000000477180.00100025

Latest 1 internal transaction

Parent Transaction Hash Block From To Amount
295477802025-06-26 0:35:00323 days ago1750898100  Contract Creation0 ETH
Loading...
Loading
Source Code Verified Exact Match

Contract Name

IdRegistry

Compiler Version
v0.8.29+commit.ab55807c
Optimization Enabled
Yes with 100000 runs
Other Settings
cancun EvmVersion
License
-NA-
Contract Source Code (Solidity Standard Json-Input format)
Contract ABI
API
[{"inputs":[{"internalType":"address","name":"_migrator","type":"address"},{"internalType":"address","name":"_initialOwner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AlreadyMigrated","type":"error"},{"inputs":[],"name":"GatewayFrozen","type":"error"},{"inputs":[],"name":"HasId","type":"error"},{"inputs":[],"name":"HasNoId","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"currentNonce","type":"uint256"}],"name":"InvalidAccountNonce","type":"error"},{"inputs":[],"name":"InvalidShortString","type":"error"},{"inputs":[],"name":"InvalidSignature","type":"error"},{"inputs":[],"name":"OnlyGuardian","type":"error"},{"inputs":[],"name":"OnlyMigrator","type":"error"},{"inputs":[],"name":"PermissionRevoked","type":"error"},{"inputs":[],"name":"SignatureExpired","type":"error"},{"inputs":[{"internalType":"string","name":"str","type":"string"}],"name":"StringTooLong","type":"error"},{"inputs":[],"name":"Unauthorized","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"guardian","type":"address"}],"name":"Add","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"fid","type":"uint256"}],"name":"AdminReset","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":true,"internalType":"address","name":"recovery","type":"address"}],"name":"ChangeRecoveryAddress","type":"event"},{"anonymous":false,"inputs":[],"name":"EIP712DomainChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"idGateway","type":"address"}],"name":"FreezeIdGateway","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"migratedAt","type":"uint256"}],"name":"Migrated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferStarted","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":"address","name":"account","type":"address"}],"name":"Paused","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":"id","type":"uint256"}],"name":"Recover","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"address","name":"recovery","type":"address"}],"name":"Register","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"guardian","type":"address"}],"name":"Remove","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldCounter","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newCounter","type":"uint256"}],"name":"SetIdCounter","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldIdGateway","type":"address"},{"indexed":false,"internalType":"address","name":"newIdGateway","type":"address"}],"name":"SetIdGateway","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldMigrator","type":"address"},{"indexed":false,"internalType":"address","name":"newMigrator","type":"address"}],"name":"SetMigrator","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":"id","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"inputs":[],"name":"CHANGE_RECOVERY_ADDRESS_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TRANSFER_AND_CHANGE_RECOVERY_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TRANSFER_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"VERSION","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"guardian","type":"address"}],"name":"addGuardian","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint24","name":"fid","type":"uint24"},{"internalType":"address","name":"custody","type":"address"},{"internalType":"address","name":"recovery","type":"address"}],"internalType":"struct IIdRegistry.BulkRegisterData[]","name":"ids","type":"tuple[]"}],"name":"bulkRegisterIds","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint24","name":"fid","type":"uint24"},{"internalType":"address","name":"custody","type":"address"}],"internalType":"struct IIdRegistry.BulkRegisterDefaultRecoveryData[]","name":"ids","type":"tuple[]"},{"internalType":"address","name":"recovery","type":"address"}],"name":"bulkRegisterIdsWithDefaultRecovery","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint24[]","name":"ids","type":"uint24[]"}],"name":"bulkResetIds","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recovery","type":"address"}],"name":"changeRecoveryAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"recovery","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"bytes","name":"sig","type":"bytes"}],"name":"changeRecoveryAddressFor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"fid","type":"uint256"}],"name":"custodyOf","outputs":[{"internalType":"address","name":"custody","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"domainSeparatorV4","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"eip712Domain","outputs":[{"internalType":"bytes1","name":"fields","type":"bytes1"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"version","type":"string"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"address","name":"verifyingContract","type":"address"},{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"uint256[]","name":"extensions","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"freezeIdGateway","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"gatewayFrozen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"gracePeriod","outputs":[{"internalType":"uint24","name":"","type":"uint24"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"guardian","type":"address"}],"name":"guardians","outputs":[{"internalType":"bool","name":"isGuardian","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"structHash","type":"bytes32"}],"name":"hashTypedDataV4","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"idCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"idGateway","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"idOf","outputs":[{"internalType":"uint256","name":"fid","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isMigrated","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"migrate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"migratedAt","outputs":[{"internalType":"uint40","name":"","type":"uint40"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"migrator","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"bytes","name":"sig","type":"bytes"}],"name":"recover","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"recoveryDeadline","type":"uint256"},{"internalType":"bytes","name":"recoverySig","type":"bytes"},{"internalType":"uint256","name":"toDeadline","type":"uint256"},{"internalType":"bytes","name":"toSig","type":"bytes"}],"name":"recoverFor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"fid","type":"uint256"}],"name":"recoveryOf","outputs":[{"internalType":"address","name":"recovery","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"address","name":"recovery","type":"address"}],"name":"register","outputs":[{"internalType":"uint256","name":"fid","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"guardian","type":"address"}],"name":"removeGuardian","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_counter","type":"uint256"}],"name":"setIdCounter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_idGateway","type":"address"}],"name":"setIdGateway","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_migrator","type":"address"}],"name":"setMigrator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"bytes","name":"sig","type":"bytes"}],"name":"transfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"address","name":"recovery","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"bytes","name":"sig","type":"bytes"}],"name":"transferAndChangeRecovery","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"address","name":"recovery","type":"address"},{"internalType":"uint256","name":"fromDeadline","type":"uint256"},{"internalType":"bytes","name":"fromSig","type":"bytes"},{"internalType":"uint256","name":"toDeadline","type":"uint256"},{"internalType":"bytes","name":"toSig","type":"bytes"}],"name":"transferAndChangeRecoveryFor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"fromDeadline","type":"uint256"},{"internalType":"bytes","name":"fromSig","type":"bytes"},{"internalType":"uint256","name":"toDeadline","type":"uint256"},{"internalType":"bytes","name":"toSig","type":"bytes"}],"name":"transferFor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"useNonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"custodyAddress","type":"address"},{"internalType":"uint256","name":"fid","type":"uint256"},{"internalType":"bytes32","name":"digest","type":"bytes32"},{"internalType":"bytes","name":"sig","type":"bytes"}],"name":"verifyFidSignature","outputs":[{"internalType":"bool","name":"isValid","type":"bool"}],"stateMutability":"view","type":"function"}]
610180604052348015610010575f5ffd5b50604051613a2d380380613a2d83398101604081905261002f91610391565b6040518060400160405280601481526020017f4661726361737465722049645265676973747279000000000000000000000000815250604051806040016040528060018152602001603160f81b81525081816201518086868061009e6100996101de60201b60201c565b6101e2565b6001805460ff60a01b191690556100b4816101e2565b5062ffffff8316608052600380546001600160a01b0319166001600160a01b038416908117909155604080515f815260208101929092527fd8ad954fe808212ab9ed7139873e40807dff7995fe36e3d6cdeb8fa00fcebf10910160405180910390a161011e6101fe565b5061012e9150839050600461025e565b6101405261013d81600561025e565b61016052815160208084019190912061010052815190820120610120524660c0526101cb6101005161012051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60a05250503060e0525061056c92505050565b3390565b600180546001600160a01b03191690556101fb81610290565b50565b6102066102df565b6001805460ff60a01b1916600160a01b1790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586102413390565b6040516001600160a01b03909116815260200160405180910390a1565b5f6020835110156102795761027283610339565b905061028a565b81610284848261045a565b5060ff90505b92915050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6102f2600154600160a01b900460ff1690565b156103375760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064015b60405180910390fd5b565b5f5f829050601f81511115610363578260405163305a27a960e01b815260040161032e9190610514565b805161036e82610549565b179392505050565b80516001600160a01b038116811461038c575f5ffd5b919050565b5f5f604083850312156103a2575f5ffd5b6103ab83610376565b91506103b960208401610376565b90509250929050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806103ea57607f821691505b60208210810361040857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561045557805f5260205f20601f840160051c810160208510156104335750805b601f840160051c820191505b81811015610452575f815560010161043f565b50505b505050565b81516001600160401b03811115610473576104736103c2565b6104878161048184546103d6565b8461040e565b6020601f8211600181146104b9575f83156104a25750848201515b5f19600385901b1c1916600184901b178455610452565b5f84815260208120601f198516915b828110156104e857878501518255602094850194600190920191016104c8565b508482101561050557868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80516020808301519190811015610408575f1960209190910360031b1b16919050565b60805160a05160c05160e0516101005161012051610140516101605161344a6105e35f395f6112bb01525f61129001525f61271101525f6126e901525f61264401525f61266e01525f61269801525f818161069701528181610f48015281816113ab0152818161181c0152611e67015261344a5ff3fe608060405234801561000f575f5ffd5b5060043610610319575f3560e01c806384b0196e116101a8578063ba656434116100f3578063ea2bbb831161009e578063f2fde38b11610079578063f2fde38b14610804578063fa1a1b2514610817578063ff1264411461084c578063ffa1ad741461085f575f5ffd5b8063ea2bbb83146107c1578063eb08ab28146107e8578063f1f0b224146107f1575f5ffd5b8063d94fe832116100ce578063d94fe8321461077c578063ddd766491461079b578063e30c3978146107a3575f5ffd5b8063ba6564341461072f578063be45fd6214610742578063d5bac7f314610755575f5ffd5b80639cbef8dc11610153578063a5ed6a6a1161012e578063a5ed6a6a146106e0578063aa677354146106f3578063b06faf6214610706575f5ffd5b80639cbef8dc1461067f578063a06db7dc14610692578063a526d83b146106cd575f5ffd5b80638da5cb5b116101835780638da5cb5b146106355780638fd3ab801461065257806395e7549f1461065a575f5ffd5b806384b0196e146105c85780638b21e484146105e35780638d8043e214610622575f5ffd5b80634c5cbb3411610268578063715018a6116102135780637cd07e47116101ee5780637cd07e471461056b5780637ecebe001461058b5780638456cb59146105c0575f5ffd5b8063715018a61461055357806378e890ba1461055b57806379ba509714610563575f5ffd5b806365269e471161024357806365269e47146104ef57806369615a4c146105245780637140415614610540575f5ffd5b80634c5cbb34146104a657806355c5b358146104b95780635c975abb146104cc575f5ffd5b80632a42ede3116102c85780633f4ba83a116102a35780633f4ba83a146104465780634980f2881461044e5780634b57a60014610461575f5ffd5b80632a42ede31461040d57806332faac70146104205780633ab8465d14610433575f5ffd5b806306fdde03116102f857806306fdde031461039e57806316f72842146103e757806323cf3118146103fa575f5ffd5b8062bf26f41461031d578063033e2cb3146103575780630633b14a1461036c575b5f5ffd5b6103447fcdbe3d2a782931ab7e1b568857680f9812900b4702ab75d82ddfd270aaf595f581565b6040519081526020015b60405180910390f35b61036a610365366004612d71565b61089b565b005b61038e61037a366004612d71565b60026020525f908152604090205460ff1681565b604051901515815260200161034e565b6103da6040518060400160405280600d81526020017f466172636173746572204649440000000000000000000000000000000000000081525081565b60405161034e9190612ddd565b61036a6103f5366004612e2d565b610993565b61036a610408366004612d71565b610a3a565b61036a61041b366004612ecf565b610b3e565b61038e61042e366004612f39565b610d08565b61036a610441366004612ecf565b610d80565b61036a610ded565b61034461045c366004612f7f565b610dff565b6007546104819073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161034e565b61036a6104b4366004612f96565b610e0f565b61036a6104c736600461304a565b610ec3565b60015474010000000000000000000000000000000000000000900460ff1661038e565b6104816104fd366004612f7f565b600a6020525f908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b335f908152600660205260409020805460018101909155610344565b61036a61054e366004612d71565b6110bf565b61036a61113a565b61034461114b565b61036a611154565b6003546104819073ffffffffffffffffffffffffffffffffffffffff1681565b610344610599366004612d71565b73ffffffffffffffffffffffffffffffffffffffff165f9081526006602052604090205490565b61036a61120e565b6105d0611283565b60405161034e97969594939291906130bb565b60035461060c9074010000000000000000000000000000000000000000900464ffffffffff1681565b60405164ffffffffff909116815260200161034e565b61036a61063036600461317a565b611326565b5f5473ffffffffffffffffffffffffffffffffffffffff16610481565b61036a61150f565b60075461038e9074010000000000000000000000000000000000000000900460ff1681565b61036a61068d366004612ecf565b61163f565b6106b97f000000000000000000000000000000000000000000000000000000000000000081565b60405162ffffff909116815260200161034e565b61036a6106db366004612d71565b611719565b61036a6106ee366004612f7f565b611797565b6103446107013660046131f9565b6118ef565b60035474010000000000000000000000000000000000000000900464ffffffffff16151561038e565b61036a61073d366004612e2d565b6119bc565b61036a61075036600461322a565b611b88565b6103447f73452d4f5155a3eca764048760f921bf1c1895c2982c18744c2cee4cf9bffc2b81565b61034461078a366004612d71565b60096020525f908152604090205481565b61036a611be9565b60015473ffffffffffffffffffffffffffffffffffffffff16610481565b6103447f945a10ef569bd76eee6deb46dcc4541142d52149c7015b1cf0a68ead33382a9b81565b61034460085481565b61036a6107ff366004612d71565b611cd4565b61036a610812366004612d71565b611d33565b610481610825366004612f7f565b600b6020525f908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b61036a61085a366004613280565b611de2565b6103da6040518060400160405280600a81526020017f323032332e31312e31350000000000000000000000000000000000000000000081525081565b6108a3611fd4565b60075474010000000000000000000000000000000000000000900460ff16156108f8576040517f351f92c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6007546040805173ffffffffffffffffffffffffffffffffffffffff928316815291831660208301527f306b123921c19a8629c68977f4dfea9ef9d5a6dedfafcd0d4a70ac6c9b763ac2910160405180910390a1600780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b5f61099e8989612054565b90506109e28189898c8a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061210f92505050565b610a248189868b87878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061210f92505050565b610a2f818a8a6121cb565b505050505050505050565b610a42611fd4565b60035474010000000000000000000000000000000000000000900464ffffffffff1615610a9b576040517fca1c3cbc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610aa361226c565b6003546040805173ffffffffffffffffffffffffffffffffffffffff928316815291831660208301527fd8ad954fe808212ab9ed7139873e40807dff7995fe36e3d6cdeb8fa00fcebf10910160405180910390a1600380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b73ffffffffffffffffffffffffffffffffffffffff85165f9081526009602052604081205490819003610b9d576040517f210b4b2600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f818152600b6020526040902054339073ffffffffffffffffffffffffffffffffffffffff168114610bfb576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff86165f9081526009602052604090205415610c57576040517ff90230a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c998287878988888080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061210f92505050565b818673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167ff6891c84a6c6af32a6d052172a8acc4c631b1d5057ffa2bc1da268b6938ea2da60405160405180910390a4610cff8288886121cb565b50505050505050565b73ffffffffffffffffffffffffffffffffffffffff85165f9081526009602052604081205485148015610d765750610d76868585858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506122f092505050565b9695505050505050565b5f610d8b3387612054565b9050610dd0818787878a88888080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061235e92505050565b610ddb8133886121cb565b610de58186612404565b505050505050565b610df5611fd4565b610dfd612489565b565b5f610e0982612506565b92915050565b5f610e1a8a8a612054565b9050610e5f818a8a8a8e8b8b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061235e92505050565b610ea2818a8a878d88888080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061235e92505050565b610ead818b8b6121cb565b610eb78189612404565b50505050505050505050565b60035473ffffffffffffffffffffffffffffffffffffffff163314610f14576040517f8020644900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035474010000000000000000000000000000000000000000900464ffffffffff1615158015610f9b5750600354610f91907f000000000000000000000000000000000000000000000000000000000000000062ffffff169074010000000000000000000000000000000000000000900464ffffffffff166132e1565b64ffffffffff1642115b15610fd2576040517fca0dc97b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610fda61226c565b5f5b818110156110b55736838383818110610ff757610ff7613323565b905060600201905060095f8260200160208101906110159190612d71565b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040015f205415611072576040517ff90230a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6110ac6110826020830183613350565b62ffffff166110976040840160208501612d71565b6110a76060850160408601612d71565b61254d565b50600101610fdc565b505050565b905090565b6110c7611fd4565b73ffffffffffffffffffffffffffffffffffffffff81165f8181526002602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055517fbe7c7ac3248df4581c206a84aab3cb4e7d521b5398b42b681757f78a5a7d411e9190a250565b611142611fd4565b610dfd5f6125fa565b5f6110ba61262b565b600154339073ffffffffffffffffffffffffffffffffffffffff168114611202576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e6572000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61120b816125fa565b50565b5f5473ffffffffffffffffffffffffffffffffffffffff1633148015906112445750335f9081526002602052604090205460ff16155b1561127b576040517fcae1d95600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610dfd612761565b5f606080828080836112b67f000000000000000000000000000000000000000000000000000000000000000060046127d0565b6112e17f000000000000000000000000000000000000000000000000000000000000000060056127d0565b604080515f808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b60035473ffffffffffffffffffffffffffffffffffffffff163314611377576040517f8020644900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035474010000000000000000000000000000000000000000900464ffffffffff16151580156113fe57506003546113f4907f000000000000000000000000000000000000000000000000000000000000000062ffffff169074010000000000000000000000000000000000000000900464ffffffffff166132e1565b64ffffffffff1642115b15611435576040517fca0dc97b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61143d61226c565b5f5b82811015611509573684848381811061145a5761145a613323565b905060400201905060095f8260200160208101906114789190612d71565b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040015f2054156114d5576040517ff90230a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115006114e56020830183613350565b62ffffff166114fa6040840160208501612d71565b8561254d565b5060010161143f565b50505050565b60035473ffffffffffffffffffffffffffffffffffffffff163314611560576040517f8020644900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035474010000000000000000000000000000000000000000900464ffffffffff16156115b9576040517fca1c3cbc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115c161226c565b600380547fffffffffffffff0000000000ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000004264ffffffffff90811682029290921792839055604051920416907fe4a25c0c2cbe89d6ad8b64c61a7dbdd20d1f781f6023f1ab94ebb7fe0aef6ab8905f90a2565b611647612879565b73ffffffffffffffffffffffffffffffffffffffff85165f90815260096020526040812054908190036116a6576040517f210b4b2600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610ddb81600b5f8481526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1687878a88888080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506128fe92505050565b611721611fd4565b73ffffffffffffffffffffffffffffffffffffffff81165f8181526002602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055517f87dc5eecd6d6bdeae407c426da6bfba5b7190befc554ed5d4d62dd5cf939fbae9190a250565b60035473ffffffffffffffffffffffffffffffffffffffff1633146117e8576040517f8020644900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035474010000000000000000000000000000000000000000900464ffffffffff161515801561186f5750600354611865907f000000000000000000000000000000000000000000000000000000000000000062ffffff169074010000000000000000000000000000000000000000900464ffffffffff166132e1565b64ffffffffff1642115b156118a6576040517fca0dc97b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6118ae61226c565b60085460408051918252602082018390527f562044dce594b5c0ac495e6cf3717dbef4dcc96bf978ff452457bfccd68a4eed910160405180910390a1600855565b5f6118f8612879565b60075473ffffffffffffffffffffffffffffffffffffffff163314611949576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff83165f90815260096020526040902054156119a5576040517ff90230a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506008805460010190819055610e0981848461254d565b73ffffffffffffffffffffffffffffffffffffffff88165f9081526009602052604081205490819003611a1b576040517f210b4b2600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff88165f9081526009602052604090205415611a77576040517ff90230a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f818152600b6020908152604091829020548251601f8901839004830281018301909352878352611ae09284928c928c9273ffffffffffffffffffffffffffffffffffffffff909116918c908c90819084018382808284375f9201919091525061210f92505050565b611b228189868b87878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061210f92505050565b808873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167ff6891c84a6c6af32a6d052172a8acc4c631b1d5057ffa2bc1da268b6938ea2da60405160405180910390a4610a2f818a8a6121cb565b5f611b933386612054565b9050611bd78186868887878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061210f92505050565b611be28133876121cb565b5050505050565b611bf1611fd4565b60075474010000000000000000000000000000000000000000900460ff1615611c46576040517f351f92c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60075460405173ffffffffffffffffffffffffffffffffffffffff90911681527f1f54688ee839cb2e57222a4f7482fd67a532a36666748891a7634428b2e8a1539060200160405180910390a1600780547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055565b611cdc612879565b335f9081526009602052604081205490819003611d25576040517f210b4b2600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611d2f8183612404565b5050565b611d3b611fd4565b6001805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff00000000000000000000000000000000000000009091168117909155611d9d5f5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b60035473ffffffffffffffffffffffffffffffffffffffff163314611e33576040517f8020644900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035474010000000000000000000000000000000000000000900464ffffffffff1615158015611eba5750600354611eb0907f000000000000000000000000000000000000000000000000000000000000000062ffffff169074010000000000000000000000000000000000000000900464ffffffffff166132e1565b64ffffffffff1642115b15611ef1576040517fca0dc97b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611ef961226c565b5f5b818110156110b5575f838383818110611f1657611f16613323565b9050602002016020810190611f2b9190613350565b62ffffff165f818152600a60209081526040808320805473ffffffffffffffffffffffffffffffffffffffff168085526009845282852085905585855281547fffffffffffffffffffffffff0000000000000000000000000000000000000000908116909255600b90935281842080549091169055519293509183917f8b4b4c6da5b89da518fb865149e01ad2863b48861a8b952e11645f663959fa7091a25050600101611efb565b5f5473ffffffffffffffffffffffffffffffffffffffff163314610dfd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016111f9565b73ffffffffffffffffffffffffffffffffffffffff82165f90815260096020526040812054908190036120b3576040517f210b4b2600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82165f9081526009602052604090205415610e09576040517ff90230a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611be26121c37fcdbe3d2a782931ab7e1b568857680f9812900b4702ab75d82ddfd270aaf595f5878761216b8773ffffffffffffffffffffffffffffffffffffffff165f90815260066020526040902080546001810190915590565b60408051602081019590955284019290925273ffffffffffffffffffffffffffffffffffffffff166060830152608082015260a0810186905260c0015b60405160208183030381529060405280519060200120612506565b83858461295b565b6121d3612879565b73ffffffffffffffffffffffffffffffffffffffff8082165f818152600960208181526040808420899055888452600a825280842080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168617905594871680845291905283822082905592518693917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60015474010000000000000000000000000000000000000000900460ff16610dfd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5061757361626c653a206e6f742070617573656400000000000000000000000060448201526064016111f9565b5f5f5f6122fd85856129d6565b90925090505f81600481111561231557612315613372565b14801561234d57508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80610d765750610d76868686612a18565b610de56121c37f945a10ef569bd76eee6deb46dcc4541142d52149c7015b1cf0a68ead33382a9b8888886123bb8873ffffffffffffffffffffffffffffffffffffffff165f90815260066020526040902080546001810190915590565b60408051602081019690965285019390935273ffffffffffffffffffffffffffffffffffffffff918216606085015216608083015260a082015260c0810186905260e0016121a8565b61240c612879565b5f828152600b602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff85169081179091559051909184917f8e700b803af43e14651431cd73c9fe7d11b131ad797576a70b893ce5766f65c39190a35050565b61249161226c565b600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b5f610e0961251261262b565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b73ffffffffffffffffffffffffffffffffffffffff8281165f818152600960209081526040808320889055878352600a825280832080547fffffffffffffffffffffffff00000000000000000000000000000000000000009081168617909155600b8352928190208054909316948616948517909255905192835285927ff2e19a901b0748d8b08e428d0468896a039ac751ec4fec49b44b7b9c28097e45910160405180910390a3505050565b600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016905561120b81612b70565b5f3073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614801561269057507f000000000000000000000000000000000000000000000000000000000000000046145b156126ba57507f000000000000000000000000000000000000000000000000000000000000000090565b6110ba604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b612769612879565b600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586124dc3390565b606060ff83146127ea576127e383612be4565b9050610e09565b8180546127f69061339f565b80601f01602080910402602001604051908101604052809291908181526020018280546128229061339f565b801561286d5780601f106128445761010080835404028352916020019161286d565b820191905f5260205f20905b81548152906001019060200180831161285057829003601f168201915b50505050509050610e09565b60015474010000000000000000000000000000000000000000900460ff1615610dfd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a207061757365640000000000000000000000000000000060448201526064016111f9565b610de56121c37f73452d4f5155a3eca764048760f921bf1c1895c2982c18744c2cee4cf9bffc2b8888886123bb8873ffffffffffffffffffffffffffffffffffffffff165f90815260066020526040902080546001810190915590565b81421115612995576040517f0819bdcd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129a08385836122f0565b611509576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5f8251604103612a0a576020830151604084015160608501515f1a6129fe87828585612c21565b94509450505050612a11565b505f905060025b9250929050565b5f5f5f8573ffffffffffffffffffffffffffffffffffffffff16631626ba7e60e01b8686604051602401612a4d9291906133f0565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909416939093179092529051612ad69190613410565b5f60405180830381855afa9150503d805f8114612b0e576040519150601f19603f3d011682016040523d82523d5f602084013e612b13565b606091505b5091509150818015612b2757506020815110155b8015610d76575080517f1626ba7e0000000000000000000000000000000000000000000000000000000090612b659083016020908101908401613426565b149695505050505050565b5f805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60605f612bf083612d09565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b5f807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115612c5657505f90506003612d00565b604080515f8082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612ca7573d5f5f3e3d5ffd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff8116612cfa575f60019250925050612d00565b91505f90505b94509492505050565b5f60ff8216601f811115610e09576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b803573ffffffffffffffffffffffffffffffffffffffff81168114612d6c575f5ffd5b919050565b5f60208284031215612d81575f5ffd5b612d8a82612d49565b9392505050565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f612d8a6020830184612d91565b5f5f83601f840112612dff575f5ffd5b50813567ffffffffffffffff811115612e16575f5ffd5b602083019150836020828501011115612a11575f5ffd5b5f5f5f5f5f5f5f5f60c0898b031215612e44575f5ffd5b612e4d89612d49565b9750612e5b60208a01612d49565b965060408901359550606089013567ffffffffffffffff811115612e7d575f5ffd5b612e898b828c01612def565b9096509450506080890135925060a089013567ffffffffffffffff811115612eaf575f5ffd5b612ebb8b828c01612def565b999c989b5096995094979396929594505050565b5f5f5f5f5f60808688031215612ee3575f5ffd5b612eec86612d49565b9450612efa60208701612d49565b935060408601359250606086013567ffffffffffffffff811115612f1c575f5ffd5b612f2888828901612def565b969995985093965092949392505050565b5f5f5f5f5f60808688031215612f4d575f5ffd5b612f5686612d49565b94506020860135935060408601359250606086013567ffffffffffffffff811115612f1c575f5ffd5b5f60208284031215612f8f575f5ffd5b5035919050565b5f5f5f5f5f5f5f5f5f60e08a8c031215612fae575f5ffd5b612fb78a612d49565b9850612fc560208b01612d49565b9750612fd360408b01612d49565b965060608a0135955060808a013567ffffffffffffffff811115612ff5575f5ffd5b6130018c828d01612def565b90965094505060a08a0135925060c08a013567ffffffffffffffff811115613027575f5ffd5b6130338c828d01612def565b915080935050809150509295985092959850929598565b5f5f6020838503121561305b575f5ffd5b823567ffffffffffffffff811115613071575f5ffd5b8301601f81018513613081575f5ffd5b803567ffffffffffffffff811115613097575f5ffd5b8560206060830284010111156130ab575f5ffd5b6020919091019590945092505050565b7fff000000000000000000000000000000000000000000000000000000000000008816815260e060208201525f6130f560e0830189612d91565b82810360408401526131078189612d91565b6060840188905273ffffffffffffffffffffffffffffffffffffffff8716608085015260a0840186905283810360c0850152845180825260208087019350909101905f5b8181101561316957835183526020938401939092019160010161314b565b50909b9a5050505050505050505050565b5f5f5f6040848603121561318c575f5ffd5b833567ffffffffffffffff8111156131a2575f5ffd5b8401601f810186136131b2575f5ffd5b803567ffffffffffffffff8111156131c8575f5ffd5b8660208260061b84010111156131dc575f5ffd5b6020918201945092506131f0908501612d49565b90509250925092565b5f5f6040838503121561320a575f5ffd5b61321383612d49565b915061322160208401612d49565b90509250929050565b5f5f5f5f6060858703121561323d575f5ffd5b61324685612d49565b935060208501359250604085013567ffffffffffffffff811115613268575f5ffd5b61327487828801612def565b95989497509550505050565b5f5f60208385031215613291575f5ffd5b823567ffffffffffffffff8111156132a7575f5ffd5b8301601f810185136132b7575f5ffd5b803567ffffffffffffffff8111156132cd575f5ffd5b8560208260051b84010111156130ab575f5ffd5b64ffffffffff8181168382160190811115610e09577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60208284031215613360575f5ffd5b813562ffffff81168114612d8a575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b600181811c908216806133b357607f821691505b6020821081036133ea577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b828152604060208201525f6134086040830184612d91565b949350505050565b5f82518060208501845e5f920191825250919050565b5f60208284031215613436575f5ffd5b505191905056fea164736f6c634300081d000a0000000000000000000000002d93c2f74b2c4697f9ea85d0450148aa45d4d5a200000000000000000000000023c7d8e92bb290147e7e683d6f0a74c737cfddd5
Deployed Bytecode
0x608060405234801561000f575f5ffd5b5060043610610319575f3560e01c806384b0196e116101a8578063ba656434116100f3578063ea2bbb831161009e578063f2fde38b11610079578063f2fde38b14610804578063fa1a1b2514610817578063ff1264411461084c578063ffa1ad741461085f575f5ffd5b8063ea2bbb83146107c1578063eb08ab28146107e8578063f1f0b224146107f1575f5ffd5b8063d94fe832116100ce578063d94fe8321461077c578063ddd766491461079b578063e30c3978146107a3575f5ffd5b8063ba6564341461072f578063be45fd6214610742578063d5bac7f314610755575f5ffd5b80639cbef8dc11610153578063a5ed6a6a1161012e578063a5ed6a6a146106e0578063aa677354146106f3578063b06faf6214610706575f5ffd5b80639cbef8dc1461067f578063a06db7dc14610692578063a526d83b146106cd575f5ffd5b80638da5cb5b116101835780638da5cb5b146106355780638fd3ab801461065257806395e7549f1461065a575f5ffd5b806384b0196e146105c85780638b21e484146105e35780638d8043e214610622575f5ffd5b80634c5cbb3411610268578063715018a6116102135780637cd07e47116101ee5780637cd07e471461056b5780637ecebe001461058b5780638456cb59146105c0575f5ffd5b8063715018a61461055357806378e890ba1461055b57806379ba509714610563575f5ffd5b806365269e471161024357806365269e47146104ef57806369615a4c146105245780637140415614610540575f5ffd5b80634c5cbb34146104a657806355c5b358146104b95780635c975abb146104cc575f5ffd5b80632a42ede3116102c85780633f4ba83a116102a35780633f4ba83a146104465780634980f2881461044e5780634b57a60014610461575f5ffd5b80632a42ede31461040d57806332faac70146104205780633ab8465d14610433575f5ffd5b806306fdde03116102f857806306fdde031461039e57806316f72842146103e757806323cf3118146103fa575f5ffd5b8062bf26f41461031d578063033e2cb3146103575780630633b14a1461036c575b5f5ffd5b6103447fcdbe3d2a782931ab7e1b568857680f9812900b4702ab75d82ddfd270aaf595f581565b6040519081526020015b60405180910390f35b61036a610365366004612d71565b61089b565b005b61038e61037a366004612d71565b60026020525f908152604090205460ff1681565b604051901515815260200161034e565b6103da6040518060400160405280600d81526020017f466172636173746572204649440000000000000000000000000000000000000081525081565b60405161034e9190612ddd565b61036a6103f5366004612e2d565b610993565b61036a610408366004612d71565b610a3a565b61036a61041b366004612ecf565b610b3e565b61038e61042e366004612f39565b610d08565b61036a610441366004612ecf565b610d80565b61036a610ded565b61034461045c366004612f7f565b610dff565b6007546104819073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161034e565b61036a6104b4366004612f96565b610e0f565b61036a6104c736600461304a565b610ec3565b60015474010000000000000000000000000000000000000000900460ff1661038e565b6104816104fd366004612f7f565b600a6020525f908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b335f908152600660205260409020805460018101909155610344565b61036a61054e366004612d71565b6110bf565b61036a61113a565b61034461114b565b61036a611154565b6003546104819073ffffffffffffffffffffffffffffffffffffffff1681565b610344610599366004612d71565b73ffffffffffffffffffffffffffffffffffffffff165f9081526006602052604090205490565b61036a61120e565b6105d0611283565b60405161034e97969594939291906130bb565b60035461060c9074010000000000000000000000000000000000000000900464ffffffffff1681565b60405164ffffffffff909116815260200161034e565b61036a61063036600461317a565b611326565b5f5473ffffffffffffffffffffffffffffffffffffffff16610481565b61036a61150f565b60075461038e9074010000000000000000000000000000000000000000900460ff1681565b61036a61068d366004612ecf565b61163f565b6106b97f000000000000000000000000000000000000000000000000000000000001518081565b60405162ffffff909116815260200161034e565b61036a6106db366004612d71565b611719565b61036a6106ee366004612f7f565b611797565b6103446107013660046131f9565b6118ef565b60035474010000000000000000000000000000000000000000900464ffffffffff16151561038e565b61036a61073d366004612e2d565b6119bc565b61036a61075036600461322a565b611b88565b6103447f73452d4f5155a3eca764048760f921bf1c1895c2982c18744c2cee4cf9bffc2b81565b61034461078a366004612d71565b60096020525f908152604090205481565b61036a611be9565b60015473ffffffffffffffffffffffffffffffffffffffff16610481565b6103447f945a10ef569bd76eee6deb46dcc4541142d52149c7015b1cf0a68ead33382a9b81565b61034460085481565b61036a6107ff366004612d71565b611cd4565b61036a610812366004612d71565b611d33565b610481610825366004612f7f565b600b6020525f908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b61036a61085a366004613280565b611de2565b6103da6040518060400160405280600a81526020017f323032332e31312e31350000000000000000000000000000000000000000000081525081565b6108a3611fd4565b60075474010000000000000000000000000000000000000000900460ff16156108f8576040517f351f92c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6007546040805173ffffffffffffffffffffffffffffffffffffffff928316815291831660208301527f306b123921c19a8629c68977f4dfea9ef9d5a6dedfafcd0d4a70ac6c9b763ac2910160405180910390a1600780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b5f61099e8989612054565b90506109e28189898c8a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061210f92505050565b610a248189868b87878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061210f92505050565b610a2f818a8a6121cb565b505050505050505050565b610a42611fd4565b60035474010000000000000000000000000000000000000000900464ffffffffff1615610a9b576040517fca1c3cbc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610aa361226c565b6003546040805173ffffffffffffffffffffffffffffffffffffffff928316815291831660208301527fd8ad954fe808212ab9ed7139873e40807dff7995fe36e3d6cdeb8fa00fcebf10910160405180910390a1600380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b73ffffffffffffffffffffffffffffffffffffffff85165f9081526009602052604081205490819003610b9d576040517f210b4b2600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f818152600b6020526040902054339073ffffffffffffffffffffffffffffffffffffffff168114610bfb576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff86165f9081526009602052604090205415610c57576040517ff90230a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c998287878988888080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061210f92505050565b818673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167ff6891c84a6c6af32a6d052172a8acc4c631b1d5057ffa2bc1da268b6938ea2da60405160405180910390a4610cff8288886121cb565b50505050505050565b73ffffffffffffffffffffffffffffffffffffffff85165f9081526009602052604081205485148015610d765750610d76868585858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506122f092505050565b9695505050505050565b5f610d8b3387612054565b9050610dd0818787878a88888080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061235e92505050565b610ddb8133886121cb565b610de58186612404565b505050505050565b610df5611fd4565b610dfd612489565b565b5f610e0982612506565b92915050565b5f610e1a8a8a612054565b9050610e5f818a8a8a8e8b8b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061235e92505050565b610ea2818a8a878d88888080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061235e92505050565b610ead818b8b6121cb565b610eb78189612404565b50505050505050505050565b60035473ffffffffffffffffffffffffffffffffffffffff163314610f14576040517f8020644900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035474010000000000000000000000000000000000000000900464ffffffffff1615158015610f9b5750600354610f91907f000000000000000000000000000000000000000000000000000000000001518062ffffff169074010000000000000000000000000000000000000000900464ffffffffff166132e1565b64ffffffffff1642115b15610fd2576040517fca0dc97b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610fda61226c565b5f5b818110156110b55736838383818110610ff757610ff7613323565b905060600201905060095f8260200160208101906110159190612d71565b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040015f205415611072576040517ff90230a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6110ac6110826020830183613350565b62ffffff166110976040840160208501612d71565b6110a76060850160408601612d71565b61254d565b50600101610fdc565b505050565b905090565b6110c7611fd4565b73ffffffffffffffffffffffffffffffffffffffff81165f8181526002602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055517fbe7c7ac3248df4581c206a84aab3cb4e7d521b5398b42b681757f78a5a7d411e9190a250565b611142611fd4565b610dfd5f6125fa565b5f6110ba61262b565b600154339073ffffffffffffffffffffffffffffffffffffffff168114611202576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e6572000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61120b816125fa565b50565b5f5473ffffffffffffffffffffffffffffffffffffffff1633148015906112445750335f9081526002602052604090205460ff16155b1561127b576040517fcae1d95600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610dfd612761565b5f606080828080836112b67f466172636173746572204964526567697374727900000000000000000000001460046127d0565b6112e17f310000000000000000000000000000000000000000000000000000000000000160056127d0565b604080515f808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b60035473ffffffffffffffffffffffffffffffffffffffff163314611377576040517f8020644900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035474010000000000000000000000000000000000000000900464ffffffffff16151580156113fe57506003546113f4907f000000000000000000000000000000000000000000000000000000000001518062ffffff169074010000000000000000000000000000000000000000900464ffffffffff166132e1565b64ffffffffff1642115b15611435576040517fca0dc97b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61143d61226c565b5f5b82811015611509573684848381811061145a5761145a613323565b905060400201905060095f8260200160208101906114789190612d71565b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040015f2054156114d5576040517ff90230a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115006114e56020830183613350565b62ffffff166114fa6040840160208501612d71565b8561254d565b5060010161143f565b50505050565b60035473ffffffffffffffffffffffffffffffffffffffff163314611560576040517f8020644900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035474010000000000000000000000000000000000000000900464ffffffffff16156115b9576040517fca1c3cbc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115c161226c565b600380547fffffffffffffff0000000000ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000004264ffffffffff90811682029290921792839055604051920416907fe4a25c0c2cbe89d6ad8b64c61a7dbdd20d1f781f6023f1ab94ebb7fe0aef6ab8905f90a2565b611647612879565b73ffffffffffffffffffffffffffffffffffffffff85165f90815260096020526040812054908190036116a6576040517f210b4b2600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610ddb81600b5f8481526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1687878a88888080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506128fe92505050565b611721611fd4565b73ffffffffffffffffffffffffffffffffffffffff81165f8181526002602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055517f87dc5eecd6d6bdeae407c426da6bfba5b7190befc554ed5d4d62dd5cf939fbae9190a250565b60035473ffffffffffffffffffffffffffffffffffffffff1633146117e8576040517f8020644900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035474010000000000000000000000000000000000000000900464ffffffffff161515801561186f5750600354611865907f000000000000000000000000000000000000000000000000000000000001518062ffffff169074010000000000000000000000000000000000000000900464ffffffffff166132e1565b64ffffffffff1642115b156118a6576040517fca0dc97b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6118ae61226c565b60085460408051918252602082018390527f562044dce594b5c0ac495e6cf3717dbef4dcc96bf978ff452457bfccd68a4eed910160405180910390a1600855565b5f6118f8612879565b60075473ffffffffffffffffffffffffffffffffffffffff163314611949576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff83165f90815260096020526040902054156119a5576040517ff90230a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506008805460010190819055610e0981848461254d565b73ffffffffffffffffffffffffffffffffffffffff88165f9081526009602052604081205490819003611a1b576040517f210b4b2600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff88165f9081526009602052604090205415611a77576040517ff90230a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f818152600b6020908152604091829020548251601f8901839004830281018301909352878352611ae09284928c928c9273ffffffffffffffffffffffffffffffffffffffff909116918c908c90819084018382808284375f9201919091525061210f92505050565b611b228189868b87878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061210f92505050565b808873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167ff6891c84a6c6af32a6d052172a8acc4c631b1d5057ffa2bc1da268b6938ea2da60405160405180910390a4610a2f818a8a6121cb565b5f611b933386612054565b9050611bd78186868887878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061210f92505050565b611be28133876121cb565b5050505050565b611bf1611fd4565b60075474010000000000000000000000000000000000000000900460ff1615611c46576040517f351f92c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60075460405173ffffffffffffffffffffffffffffffffffffffff90911681527f1f54688ee839cb2e57222a4f7482fd67a532a36666748891a7634428b2e8a1539060200160405180910390a1600780547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055565b611cdc612879565b335f9081526009602052604081205490819003611d25576040517f210b4b2600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611d2f8183612404565b5050565b611d3b611fd4565b6001805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff00000000000000000000000000000000000000009091168117909155611d9d5f5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b60035473ffffffffffffffffffffffffffffffffffffffff163314611e33576040517f8020644900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035474010000000000000000000000000000000000000000900464ffffffffff1615158015611eba5750600354611eb0907f000000000000000000000000000000000000000000000000000000000001518062ffffff169074010000000000000000000000000000000000000000900464ffffffffff166132e1565b64ffffffffff1642115b15611ef1576040517fca0dc97b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611ef961226c565b5f5b818110156110b5575f838383818110611f1657611f16613323565b9050602002016020810190611f2b9190613350565b62ffffff165f818152600a60209081526040808320805473ffffffffffffffffffffffffffffffffffffffff168085526009845282852085905585855281547fffffffffffffffffffffffff0000000000000000000000000000000000000000908116909255600b90935281842080549091169055519293509183917f8b4b4c6da5b89da518fb865149e01ad2863b48861a8b952e11645f663959fa7091a25050600101611efb565b5f5473ffffffffffffffffffffffffffffffffffffffff163314610dfd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016111f9565b73ffffffffffffffffffffffffffffffffffffffff82165f90815260096020526040812054908190036120b3576040517f210b4b2600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82165f9081526009602052604090205415610e09576040517ff90230a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611be26121c37fcdbe3d2a782931ab7e1b568857680f9812900b4702ab75d82ddfd270aaf595f5878761216b8773ffffffffffffffffffffffffffffffffffffffff165f90815260066020526040902080546001810190915590565b60408051602081019590955284019290925273ffffffffffffffffffffffffffffffffffffffff166060830152608082015260a0810186905260c0015b60405160208183030381529060405280519060200120612506565b83858461295b565b6121d3612879565b73ffffffffffffffffffffffffffffffffffffffff8082165f818152600960208181526040808420899055888452600a825280842080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168617905594871680845291905283822082905592518693917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60015474010000000000000000000000000000000000000000900460ff16610dfd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5061757361626c653a206e6f742070617573656400000000000000000000000060448201526064016111f9565b5f5f5f6122fd85856129d6565b90925090505f81600481111561231557612315613372565b14801561234d57508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80610d765750610d76868686612a18565b610de56121c37f945a10ef569bd76eee6deb46dcc4541142d52149c7015b1cf0a68ead33382a9b8888886123bb8873ffffffffffffffffffffffffffffffffffffffff165f90815260066020526040902080546001810190915590565b60408051602081019690965285019390935273ffffffffffffffffffffffffffffffffffffffff918216606085015216608083015260a082015260c0810186905260e0016121a8565b61240c612879565b5f828152600b602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff85169081179091559051909184917f8e700b803af43e14651431cd73c9fe7d11b131ad797576a70b893ce5766f65c39190a35050565b61249161226c565b600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b5f610e0961251261262b565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b73ffffffffffffffffffffffffffffffffffffffff8281165f818152600960209081526040808320889055878352600a825280832080547fffffffffffffffffffffffff00000000000000000000000000000000000000009081168617909155600b8352928190208054909316948616948517909255905192835285927ff2e19a901b0748d8b08e428d0468896a039ac751ec4fec49b44b7b9c28097e45910160405180910390a3505050565b600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016905561120b81612b70565b5f3073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000008478b02081aa29886bdcd1f9f66b97917a7243821614801561269057507f0000000000000000000000000000000000000000000000000000000000aa37dc46145b156126ba57507f32c73c75146868796f5a722a2ab563105beb9fab966200542935c7d0ae01cbb790565b6110ba604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527fab5c5d43f71e0fa54f1a9e7546cbafa4b42b4abb224b10e26064578da3b71329918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b612769612879565b600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586124dc3390565b606060ff83146127ea576127e383612be4565b9050610e09565b8180546127f69061339f565b80601f01602080910402602001604051908101604052809291908181526020018280546128229061339f565b801561286d5780601f106128445761010080835404028352916020019161286d565b820191905f5260205f20905b81548152906001019060200180831161285057829003601f168201915b50505050509050610e09565b60015474010000000000000000000000000000000000000000900460ff1615610dfd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a207061757365640000000000000000000000000000000060448201526064016111f9565b610de56121c37f73452d4f5155a3eca764048760f921bf1c1895c2982c18744c2cee4cf9bffc2b8888886123bb8873ffffffffffffffffffffffffffffffffffffffff165f90815260066020526040902080546001810190915590565b81421115612995576040517f0819bdcd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129a08385836122f0565b611509576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5f8251604103612a0a576020830151604084015160608501515f1a6129fe87828585612c21565b94509450505050612a11565b505f905060025b9250929050565b5f5f5f8573ffffffffffffffffffffffffffffffffffffffff16631626ba7e60e01b8686604051602401612a4d9291906133f0565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909416939093179092529051612ad69190613410565b5f60405180830381855afa9150503d805f8114612b0e576040519150601f19603f3d011682016040523d82523d5f602084013e612b13565b606091505b5091509150818015612b2757506020815110155b8015610d76575080517f1626ba7e0000000000000000000000000000000000000000000000000000000090612b659083016020908101908401613426565b149695505050505050565b5f805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60605f612bf083612d09565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b5f807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115612c5657505f90506003612d00565b604080515f8082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612ca7573d5f5f3e3d5ffd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff8116612cfa575f60019250925050612d00565b91505f90505b94509492505050565b5f60ff8216601f811115610e09576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b803573ffffffffffffffffffffffffffffffffffffffff81168114612d6c575f5ffd5b919050565b5f60208284031215612d81575f5ffd5b612d8a82612d49565b9392505050565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f612d8a6020830184612d91565b5f5f83601f840112612dff575f5ffd5b50813567ffffffffffffffff811115612e16575f5ffd5b602083019150836020828501011115612a11575f5ffd5b5f5f5f5f5f5f5f5f60c0898b031215612e44575f5ffd5b612e4d89612d49565b9750612e5b60208a01612d49565b965060408901359550606089013567ffffffffffffffff811115612e7d575f5ffd5b612e898b828c01612def565b9096509450506080890135925060a089013567ffffffffffffffff811115612eaf575f5ffd5b612ebb8b828c01612def565b999c989b5096995094979396929594505050565b5f5f5f5f5f60808688031215612ee3575f5ffd5b612eec86612d49565b9450612efa60208701612d49565b935060408601359250606086013567ffffffffffffffff811115612f1c575f5ffd5b612f2888828901612def565b969995985093965092949392505050565b5f5f5f5f5f60808688031215612f4d575f5ffd5b612f5686612d49565b94506020860135935060408601359250606086013567ffffffffffffffff811115612f1c575f5ffd5b5f60208284031215612f8f575f5ffd5b5035919050565b5f5f5f5f5f5f5f5f5f60e08a8c031215612fae575f5ffd5b612fb78a612d49565b9850612fc560208b01612d49565b9750612fd360408b01612d49565b965060608a0135955060808a013567ffffffffffffffff811115612ff5575f5ffd5b6130018c828d01612def565b90965094505060a08a0135925060c08a013567ffffffffffffffff811115613027575f5ffd5b6130338c828d01612def565b915080935050809150509295985092959850929598565b5f5f6020838503121561305b575f5ffd5b823567ffffffffffffffff811115613071575f5ffd5b8301601f81018513613081575f5ffd5b803567ffffffffffffffff811115613097575f5ffd5b8560206060830284010111156130ab575f5ffd5b6020919091019590945092505050565b7fff000000000000000000000000000000000000000000000000000000000000008816815260e060208201525f6130f560e0830189612d91565b82810360408401526131078189612d91565b6060840188905273ffffffffffffffffffffffffffffffffffffffff8716608085015260a0840186905283810360c0850152845180825260208087019350909101905f5b8181101561316957835183526020938401939092019160010161314b565b50909b9a5050505050505050505050565b5f5f5f6040848603121561318c575f5ffd5b833567ffffffffffffffff8111156131a2575f5ffd5b8401601f810186136131b2575f5ffd5b803567ffffffffffffffff8111156131c8575f5ffd5b8660208260061b84010111156131dc575f5ffd5b6020918201945092506131f0908501612d49565b90509250925092565b5f5f6040838503121561320a575f5ffd5b61321383612d49565b915061322160208401612d49565b90509250929050565b5f5f5f5f6060858703121561323d575f5ffd5b61324685612d49565b935060208501359250604085013567ffffffffffffffff811115613268575f5ffd5b61327487828801612def565b95989497509550505050565b5f5f60208385031215613291575f5ffd5b823567ffffffffffffffff8111156132a7575f5ffd5b8301601f810185136132b7575f5ffd5b803567ffffffffffffffff8111156132cd575f5ffd5b8560208260051b84010111156130ab575f5ffd5b64ffffffffff8181168382160190811115610e09577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60208284031215613360575f5ffd5b813562ffffff81168114612d8a575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b600181811c908216806133b357607f821691505b6020821081036133ea577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b828152604060208201525f6134086040830184612d91565b949350505050565b5f82518060208501845e5f920191825250919050565b5f60208284031215613436575f5ffd5b505191905056fea164736f6c634300081d000a
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000002d93c2f74b2c4697f9ea85d0450148aa45d4d5a200000000000000000000000023c7d8e92bb290147e7e683d6f0a74c737cfddd5

-----Decoded View---------------
Arg [0] : _migrator (address): 0x2D93c2F74b2C4697f9ea85D0450148AA45D4D5a2
Arg [1] : _initialOwner (address): 0x23C7d8e92BB290147E7e683d6F0a74C737cFdDD5

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000002d93c2f74b2c4697f9ea85d0450148aa45d4d5a2
Arg [1] : 00000000000000000000000023c7d8e92bb290147e7e683d6f0a74c737cfddd5

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
0x8478b02081Aa29886bDcd1f9F66B97917a724382
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.