Sourcify Logosourcify.eth

0x336109496E4334CBe6809262c526063e7D9bb1c4

on Base (8453)

Match
Runtime Bytecode
Creation Bytecode
Contract Name
Revamp
Compilation Target
contracts/Revamp.sol:Revamp
Language
Solidity
Compiler
solc 0.8.30+commit.73712a01
EVM Version
prague
Verified At
2025-07-10 18:02:48 UTC
Deployer
0x6915FFc19ca9019608dCf4a912504b795E643823
Deployment Transaction
0xd590bfb520df578ea08f660511c37f6ac5cf1a127481de550e655b475a3b6efd
Block Number
32509679
Transaction Index
13

ABI

Expand to view

Source Code

Remix IDE LogoView on Remix IDE
  • @openzeppelin/contracts/access/Ownable.sol
  • @openzeppelin/contracts/interfaces/IERC1363.sol
  • @openzeppelin/contracts/interfaces/IERC165.sol
  • @openzeppelin/contracts/interfaces/IERC20.sol
  • @openzeppelin/contracts/security/ReentrancyGuard.sol
  • @openzeppelin/contracts/token/ERC20/IERC20.sol
  • @openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol
  • @openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol
  • @openzeppelin/contracts/utils/Context.sol
  • @openzeppelin/contracts/utils/introspection/IERC165.sol
  • contracts/Revamp.sol
Loading...

Compiler Settings

Loading...

Contract Metadata

Loading...

Creation Bytecode

0x608060405234801561000f575f5ffd5b50604051616250380380616250833981810160405281019061003191906105ad565b3360015f819055505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036100a9575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016100a091906106a9565b60405180910390fd5b6100b88161045960201b60201c565b505f73ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff1603610127576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161011e9061071c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1603610195576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161018c90610784565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603610203576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101fa90610812565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610271576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102689061087a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036102df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102d6906108e2565b60405180910390fd5b8a6007819055508260098190555089600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508860088190555087600c8190555086600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555085600e8190555084600f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508360145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550816004819055508060035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050505050505050610900565b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f5ffd5b5f819050919050565b61053281610520565b811461053c575f5ffd5b50565b5f8151905061054d81610529565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61057c82610553565b9050919050565b61058c81610572565b8114610596575f5ffd5b50565b5f815190506105a781610583565b92915050565b5f5f5f5f5f5f5f5f5f5f5f6101608c8e0312156105cd576105cc61051c565b5b5f6105da8e828f0161053f565b9b505060206105eb8e828f01610599565b9a505060406105fc8e828f0161053f565b995050606061060d8e828f0161053f565b985050608061061e8e828f01610599565b97505060a061062f8e828f0161053f565b96505060c06106408e828f01610599565b95505060e06106518e828f01610599565b9450506101006106638e828f0161053f565b9350506101206106758e828f0161053f565b9250506101406106878e828f01610599565b9150509295989b509295989b9093969950565b6106a381610572565b82525050565b5f6020820190506106bc5f83018461069a565b92915050565b5f82825260208201905092915050565b7f496e76616c69642066656520726563697069656e7400000000000000000000005f82015250565b5f6107066015836106c2565b9150610711826106d2565b602082019050919050565b5f6020820190508181035f830152610733816106fa565b9050919050565b7f496e76616c6964206e61746976652066656520726563697069656e74000000005f82015250565b5f61076e601c836106c2565b91506107798261073a565b602082019050919050565b5f6020820190508181035f83015261079b81610762565b9050919050565b7f496e76616c6964207368617265686f6c64696e672066656520726563697069655f8201527f6e74000000000000000000000000000000000000000000000000000000000000602082015250565b5f6107fc6022836106c2565b9150610807826107a2565b604082019050919050565b5f6020820190508181035f830152610829816107f0565b9050919050565b7f496e76616c696420726576616d7020746f6b656e0000000000000000000000005f82015250565b5f6108646014836106c2565b915061086f82610830565b602082019050919050565b5f6020820190508181035f83015261089181610858565b9050919050565b7f496e76616c69642067656e6573697300000000000000000000000000000000005f82015250565b5f6108cc600f836106c2565b91506108d782610898565b602082019050919050565b5f6020820190508181035f8301526108f9816108c0565b9050919050565b6159438061090d5f395ff3fe60806040526004361061026a575f3560e01c8063977b5eb111610143578063bc5c1e19116100b5578063eec91f2d11610079578063eec91f2d14610897578063f2fde38b146108c1578063f40f0f52146108e9578063f5a943d014610925578063f79d91ae14610941578063fdb5a03e1461096957610271565b8063bc5c1e19146107c3578063bd56d672146107ed578063d21cacdf14610809578063dffcf57714610845578063e9f071c51461086f57610271565b8063aa69fd0411610107578063aa69fd04146106b2578063aaf5eb68146106de578063aca9f63714610708578063aeb632da14610730578063b20b84031461075a578063ba46ae721461078257610271565b8063977b5eb1146105bc57806399b1fc56146105e457806399d32fc414610620578063a50d99831461064a578063a87430ba1461067457610271565b8063536956ff116101dc5780637605bbb0116101a05780637605bbb0146104cf5780637d1b039e146104eb5780637d37224a146105155780637e1119211461053d5780638da5cb5b14610568578063939d62371461059257610271565b8063536956ff14610413578063585cd1571461043b5780636065fb33146104655780636a1b7ecc1461048f578063715018a6146104b957610271565b8063291fd3511161022e578063291fd351146103435780632e1a7d4d1461036d57806346904840146103955780634796897c146103bf5780634c158b47146103e75780634e71d92d146103fd57610271565b80630fd680a51461027557806313c9440b1461029d5780631bb7a718146102c757806326a49dba146102ef578063271af8c11461031957610271565b3661027157005b5f5ffd5b348015610280575f5ffd5b5061029b60048036038101906102969190613e09565b61097f565b005b3480156102a8575f5ffd5b506102b1610a0d565b6040516102be9190613e43565b60405180910390f35b3480156102d2575f5ffd5b506102ed60048036038101906102e89190613eb6565b610a13565b005b3480156102fa575f5ffd5b50610303610a9f565b6040516103109190613e43565b60405180910390f35b348015610324575f5ffd5b5061032d610aa5565b60405161033a9190613f03565b60405180910390f35b34801561034e575f5ffd5b50610357610aca565b6040516103649190613f03565b60405180910390f35b348015610378575f5ffd5b50610393600480360381019061038e9190613e09565b610aef565b005b3480156103a0575f5ffd5b506103a9610f01565b6040516103b69190613f03565b60405180910390f35b3480156103ca575f5ffd5b506103e560048036038101906103e09190613e09565b610f26565b005b3480156103f2575f5ffd5b506103fb6110c7565b005b348015610408575f5ffd5b506104116110d9565b005b34801561041e575f5ffd5b5061043960048036038101906104349190613f7d565b611181565b005b348015610446575f5ffd5b5061044f611368565b60405161045c9190613e43565b60405180910390f35b348015610470575f5ffd5b5061047961136e565b6040516104869190613f03565b60405180910390f35b34801561049a575f5ffd5b506104a3611393565b6040516104b09190613e43565b60405180910390f35b3480156104c4575f5ffd5b506104cd611399565b005b6104e960048036038101906104e49190613fee565b6113ac565b005b3480156104f6575f5ffd5b506104ff611846565b60405161050c9190613e43565b60405180910390f35b348015610520575f5ffd5b5061053b60048036038101906105369190613fee565b61184c565b005b348015610548575f5ffd5b50610551611948565b60405161055f929190614187565b60405180910390f35b348015610573575f5ffd5b5061057c611b2d565b6040516105899190613f03565b60405180910390f35b34801561059d575f5ffd5b506105a6611b55565b6040516105b39190613e43565b60405180910390f35b3480156105c7575f5ffd5b506105e260048036038101906105dd9190613fee565b611b5b565b005b3480156105ef575f5ffd5b5061060a60048036038101906106059190613e09565b611c4b565b6040516106179190613f03565b60405180910390f35b34801561062b575f5ffd5b50610634611c86565b6040516106419190613e43565b60405180910390f35b348015610655575f5ffd5b5061065e611c8c565b60405161066b91906143a9565b60405180910390f35b34801561067f575f5ffd5b5061069a60048036038101906106959190613fee565b611fe6565b6040516106a9939291906143c9565b60405180910390f35b3480156106bd575f5ffd5b506106c661200c565b6040516106d5939291906143c9565b60405180910390f35b3480156106e9575f5ffd5b506106f261202b565b6040516106ff9190613e43565b60405180910390f35b348015610713575f5ffd5b5061072e60048036038101906107299190613e09565b612037565b005b34801561073b575f5ffd5b50610744612080565b6040516107519190613f03565b60405180910390f35b348015610765575f5ffd5b50610780600480360381019061077b9190613e09565b6120a5565b005b34801561078d575f5ffd5b506107a860048036038101906107a39190613fee565b6120ee565b6040516107ba96959493929190614455565b60405180910390f35b3480156107ce575f5ffd5b506107d76122e3565b6040516107e49190613e43565b60405180910390f35b610807600480360381019061080291906144c9565b6122e9565b005b348015610814575f5ffd5b5061082f600480360381019061082a9190613fee565b612c1e565b60405161083c9190613f03565b60405180910390f35b348015610850575f5ffd5b50610859612c4e565b6040516108669190614574565b60405180910390f35b34801561087a575f5ffd5b5061089560048036038101906108909190613eb6565b612c73565b005b3480156108a2575f5ffd5b506108ab612cff565b6040516108b89190613e43565b60405180910390f35b3480156108cc575f5ffd5b506108e760048036038101906108e29190613fee565b612d05565b005b3480156108f4575f5ffd5b5061090f600480360381019061090a9190613fee565b612d89565b60405161091c9190613e43565b60405180910390f35b61093f600480360381019061093a919061458d565b612e71565b005b34801561094c575f5ffd5b5061096760048036038101906109629190613e09565b6134bc565b005b348015610974575f5ffd5b5061097d613505565b005b61098761366c565b6127108111156109cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c390614648565b60405180910390fd5b806004819055507f08b5f02b448b15c0b31ca32226635e94494ddaa2cd48398aadcbde2c938f6df481604051610a029190613e43565b60405180910390a150565b60045481565b610a1b61366c565b81600e8190555080600f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f1d8229d2ed0552197caac2868758230e5d24d7c23cdcf51229f2d09efad4d6328282604051610a93929190614666565b60405180910390a15050565b600c5481565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610af76136f3565b5f8111610b39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b30906146d7565b60405180910390fd5b5f60125f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090505f815f015411610bbe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb59061473f565b60405180910390fd5b5f610bc833612d89565b90505f5f5f9050848310610bde57849150610bf0565b8291508285610bed919061478a565b90505b835f0154811115610c36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2d90614807565b60405180910390fd5b5f5f90505f831115610c8c576008548311610c86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7d9061486f565b60405180910390fd5b60085490505b5f828285610c9a919061478a565b610ca4919061488d565b905083866002015f828254610cb9919061488d565b925050819055505f831115610cfa5782865f015f828254610cda919061478a565b925050819055508260105f828254610cf2919061478a565b925050819055505b670de0b6b3a7640000601154875f0154610d1491906148c0565b610d1e919061492e565b86600101819055505f821115610df9575f600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1683604051610d749061498b565b5f6040518083038185875af1925050503d805f8114610dae576040519150601f19603f3d011682016040523d82523d5f602084013e610db3565b606091505b5050905080610df7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dee906149e9565b60405180910390fd5b505b5f3373ffffffffffffffffffffffffffffffffffffffff1682604051610e1e9061498b565b5f6040518083038185875af1925050503d805f8114610e58576040519150601f19603f3d011682016040523d82523d5f602084013e610e5d565b606091505b5050905080610ea1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9890614a51565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167f52e79696d272e4220b60ff5e97c8b4d34a041f6f107e1d686bf7700cace0e5ee89604051610ee79190613e43565b60405180910390a250505050505050610efe613740565b50565b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610f2e6136f3565b5f8111610f70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f67906146d7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610fff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff690614ab9565b60405180910390fd5b61106e3360155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168360145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16613749909392919063ffffffff16565b3373ffffffffffffffffffffffffffffffffffffffff167f4204203970b85afd16caf44755c23d7115e26b749b3428da69965bea68ab8b9d826040516110b49190613e43565b60405180910390a26110c4613740565b50565b6110cf61366c565b6110d7611399565b565b5f6110e333612d89565b90505f8111611127576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111e90614b21565b60405180910390fd5b61113081610aef565b3373ffffffffffffffffffffffffffffffffffffffff167fd8138f8a3f377c5259ca548e70e4c2de94f129f5a11036a15b69513cba2b426a826040516111769190613e43565b60405180910390a250565b6111896136f3565b5f60055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090505f73ffffffffffffffffffffffffffffffffffffffff16816001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160361125a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125190614b89565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16816001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e290614bf1565b60405180910390fd5b83838260020191826112fe929190614e3a565b5081815f01819055508473ffffffffffffffffffffffffffffffffffffffff167ff9512f897f346499f5041666e9f2282e466ed67864f6373ed81fe36fde83f77c85858560405161135193929190614f41565b60405180910390a250611362613740565b50505050565b60095481565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60075481565b6113a161366c565b6113aa5f6137cb565b565b6113b46136f3565b5f60055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090505f73ffffffffffffffffffffffffffffffffffffffff16816001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611485576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147c90614b89565b60405180910390fd5b6009543410156114ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c190614fbb565b60405180910390fd5b34600b5f8282546114db919061488d565b925050819055505f600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16346040516115289061498b565b5f6040518083038185875af1925050503d805f8114611562576040519150601f19603f3d011682016040523d82523d5f602084013e611567565b606091505b50509050806115ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a290615023565b60405180910390fd5b60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f5f82015f9055600182015f6101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600282015f6116249190613d05565b600382015f6101000a81549060ff0219169055600482015f6116469190613d05565b600582015f6116559190613d05565b50505f5f90505b6006805490508110156117d3578373ffffffffffffffffffffffffffffffffffffffff166006828154811061169457611693615041565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036117c657600660016006805490506116eb919061478a565b815481106116fc576116fb615041565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166006828154811061173857611737615041565b5b905f5260205f20015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600680548061178f5761178e61506e565b5b600190038181905f5260205f20015f6101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905590556117d3565b808060010191505061165c565b503373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8b0c6321e5164295041a4799b97bc74477465912d8e906efc761ff81bf530b27346040516118319190613e43565b60405180910390a35050611843613740565b50565b600b5481565b61185461366c565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036118c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b9906150e5565b60405180910390fd5b8060155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167fe5ea4b3f4edfa2d25a5ae723828ea9e7ae469acdc85d8db728f068551dab000a60405160405180910390a250565b6060805f60138054905090508067ffffffffffffffff81111561196e5761196d614c19565b5b60405190808252806020026020018201604052801561199c5781602001602082028036833780820191505090505b5092508067ffffffffffffffff8111156119b9576119b8614c19565b5b6040519080825280602002602001820160405280156119e75781602001602082028036833780820191505090505b5091505f5f90505b81811015611b275760138181548110611a0b57611a0a615041565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848281518110611a4657611a45615041565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060125f60138381548110611a9757611a96615041565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f0154838281518110611b0e57611b0d615041565b5b60200260200101818152505080806001019150506119ef565b50509091565b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60115481565b611b6361366c565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611bd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bc89061514d565b60405180910390fd5b8060035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f8854432606accb7e39d6a7fd628ab4b46da0278bb19cc67e5bce7a418d1b5c8881604051611c409190613f03565b60405180910390a150565b60138181548110611c5a575f80fd5b905f5260205f20015f915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60085481565b60605f60068054905090505f8167ffffffffffffffff811115611cb257611cb1614c19565b5b604051908082528060200260200182016040528015611ceb57816020015b611cd8613d42565b815260200190600190039081611cd05790505b5090505f5f90505b82811015611fdd575f60068281548110611d1057611d0f615041565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f60055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090506040518060e001604052808373ffffffffffffffffffffffffffffffffffffffff168152602001825f01548152602001826001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001826002018054611df890614c73565b80601f0160208091040260200160405190810160405280929190818152602001828054611e2490614c73565b8015611e6f5780601f10611e4657610100808354040283529160200191611e6f565b820191905f5260205f20905b815481529060010190602001808311611e5257829003601f168201915b50505050508152602001826003015f9054906101000a900460ff1660ff168152602001826004018054611ea190614c73565b80601f0160208091040260200160405190810160405280929190818152602001828054611ecd90614c73565b8015611f185780601f10611eef57610100808354040283529160200191611f18565b820191905f5260205f20905b815481529060010190602001808311611efb57829003601f168201915b50505050508152602001826005018054611f3190614c73565b80601f0160208091040260200160405190810160405280929190818152602001828054611f5d90614c73565b8015611fa85780601f10611f7f57610100808354040283529160200191611fa8565b820191905f5260205f20905b815481529060010190602001808311611f8b57829003601f168201915b5050505050815250848481518110611fc357611fc2615041565b5b602002602001018190525050508080600101915050611cf3565b50809250505090565b6012602052805f5260405f205f91509050805f0154908060010154908060020154905083565b5f5f5f61201761366c565b60105492506011549150600b549050909192565b670de0b6b3a764000081565b61203f61366c565b806009819055507feb59e6ce9000e582fdda6bbb40df1454cdb1cc85ad677afbe67080fa3e87ba3a816040516120759190613e43565b60405180910390a150565b600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6120ad61366c565b806008819055507f64374f1a975abb9bc8e8857d704b9ead41989ff599d90c1e8f7d34bc2ebea92a816040516120e39190613e43565b60405180910390a150565b6005602052805f5260405f205f91509050805f015490806001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169080600201805461213890614c73565b80601f016020809104026020016040519081016040528092919081815260200182805461216490614c73565b80156121af5780601f10612186576101008083540402835291602001916121af565b820191905f5260205f20905b81548152906001019060200180831161219257829003601f168201915b505050505090806003015f9054906101000a900460ff16908060040180546121d690614c73565b80601f016020809104026020016040519081016040528092919081815260200182805461220290614c73565b801561224d5780601f106122245761010080835404028352916020019161224d565b820191905f5260205f20905b81548152906001019060200180831161223057829003601f168201915b50505050509080600501805461226290614c73565b80601f016020809104026020016040519081016040528092919081815260200182805461228e90614c73565b80156122d95780601f106122b0576101008083540402835291602001916122d9565b820191905f5260205f20905b8154815290600101906020018083116122bc57829003601f168201915b5050505050905086565b600e5481565b6122f16136f3565b5f60055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090505f73ffffffffffffffffffffffffffffffffffffffff16816001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036123c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123b990614b89565b60405180910390fd5b5f8311612404576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123fb906151b5565b60405180910390fd5b5f3411612446576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161243d9061521d565b60405180910390fd5b5f816003015f9054906101000a900460ff1660ff1611801561247c5750604d816003015f9054906101000a900460ff1660ff1611155b6124bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124b290615285565b60405180910390fd5b6124e83330858773ffffffffffffffffffffffffffffffffffffffff16613749909392919063ffffffff16565b5f73ffffffffffffffffffffffffffffffffffffffff1660025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036126e6575f5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156125e057503373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b61260b5760035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661260d565b825b90508060025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f5f1ca2fcc108b751843a763e60d2201f593516109d7dbb1b700468f2d4190bb760405160405180910390a3505b5f60025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f612710600c543461275891906148c0565b612762919061492e565b90505f612710600e543461277691906148c0565b612780919061492e565b90505f6127106004543461279491906148c0565b61279e919061492e565b90505f818385346127af919061478a565b6127b9919061478a565b6127c3919061478a565b90505f601054111561280857601054670de0b6b3a7640000826127e691906148c0565b6127f0919061492e565b60115f828254612800919061488d565b925050819055505b5f60125f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20905081815f015f82825461285a919061488d565b925050819055508160105f828254612872919061488d565b92505081905550670de0b6b3a7640000601154825f015461289391906148c0565b61289d919061492e565b81600101819055506128ae3361388e565b5f851115612981575f600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16866040516128fc9061498b565b5f6040518083038185875af1925050503d805f8114612936576040519150601f19603f3d011682016040523d82523d5f602084013e61293b565b606091505b505090508061297f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612976906152ed565b60405180910390fd5b505b5f841115612a54575f600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16856040516129cf9061498b565b5f6040518083038185875af1925050503d805f8114612a09576040519150601f19603f3d011682016040523d82523d5f602084013e612a0e565b606091505b5050905080612a52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a4990615355565b60405180910390fd5b505b5f83118015612a8f57505f73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b15612ba3575f8673ffffffffffffffffffffffffffffffffffffffff1684604051612ab99061498b565b5f6040518083038185875af1925050503d805f8114612af3576040519150601f19603f3d011682016040523d82523d5f602084013e612af8565b606091505b5050905080612b3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b33906153bd565b60405180910390fd5b8673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f94ccb86446750660ec532b1beb1fb55f5ba2fffca042c4c53f4c080e72595b3886604051612b999190613e43565b60405180910390a3505b8973ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fbb3fe959e1990eb6ecdd49f37a2ba3401dfb5bb19cd8875644498048947453cb8b85604051612c029291906153db565b60405180910390a350505050505050612c19613740565b505050565b6002602052805f5260405f205f915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b612c7b61366c565b81600c8190555080600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f152d32bc2ef2ba25341f1c1cf34bb3cda79e3308b380c100b70eedcc07fa19bb8282604051612cf3929190614666565b60405180910390a15050565b60105481565b612d0d61366c565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612d7d575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401612d749190613f03565b60405180910390fd5b612d86816137cb565b50565b5f5f60125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090505f670de0b6b3a7640000601154835f0154612de591906148c0565b612def919061492e565b90505f82600101548211612e03575f612e14565b826001015482612e13919061478a565b5b90505f6002845f0154612e2791906148c0565b90505f84600201549050818110612e45575f95505050505050612e6c565b5f8183612e52919061478a565b9050808411612e615783612e63565b805b96505050505050505b919050565b612e796136f3565b600754341015612ebe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612eb59061544c565b60405180910390fd5b5f8311612f00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ef7906154b4565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603612f6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f659061551c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461303b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161303290615584565b60405180910390fd5b5f8490505f8173ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015613089573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130ad91906155cc565b90505f8273ffffffffffffffffffffffffffffffffffffffff166306fdde036040518163ffffffff1660e01b81526004015f60405180830381865afa1580156130f8573d5f5f3e3d5ffd5b505050506040513d5f823e3d601f19601f8201168201806040525081019061312091906156e4565b90505f8373ffffffffffffffffffffffffffffffffffffffff166395d89b416040518163ffffffff1660e01b81526004015f60405180830381865afa15801561316b573d5f5f3e3d5ffd5b505050506040513d5f823e3d601f19601f8201168201806040525081019061319391906156e4565b90506040518060c001604052808881526020013373ffffffffffffffffffffffffffffffffffffffff16815260200187878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f8201169050808301925050505050505081526020018460ff1681526020018381526020018281525060055f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f820151815f01556020820151816001015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160020190816132be919061572b565b506060820151816003015f6101000a81548160ff021916908360ff16021790555060808201518160040190816132f4919061572b565b5060a082015181600501908161330a919061572b565b50905050600688908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034600b5f82825461337f919061488d565b925050819055505f600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16346040516133cc9061498b565b5f6040518083038185875af1925050503d805f8114613406576040519150601f19603f3d011682016040523d82523d5f602084013e61340b565b606091505b505090508061344f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161344690615023565b60405180910390fd5b8873ffffffffffffffffffffffffffffffffffffffff167f7d68fd4e1dd4315792a0ba3f0ab088cbf44b7b8ceacb5ee634cf058d756678b9898989888888346040516134a197969594939291906157fa565b60405180910390a250505050506134b6613740565b50505050565b6134c461366c565b806007819055507f5fb4654f1efe30c6141eaa6855ffcb27e0b361d899b05e21b1a4d0b3e71e14db816040516134fa9190613e43565b60405180910390a150565b61350d6136f3565b5f61351733612d89565b90505f811161355b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161355290614b21565b60405180910390fd5b5f60125f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20905081816002015f8282546135ae919061488d565b9250508190555081815f015f8282546135c7919061488d565b925050819055508160105f8282546135df919061488d565b92505081905550670de0b6b3a7640000601154825f015461360091906148c0565b61360a919061492e565b81600101819055503373ffffffffffffffffffffffffffffffffffffffff167f67c7aa1ef9dbf8081996d7391bf5dc8fb772decabf5ea08418509004fc4ca3e2836040516136589190613e43565b60405180910390a2505061366a613740565b565b613674613c63565b73ffffffffffffffffffffffffffffffffffffffff16613692611b2d565b73ffffffffffffffffffffffffffffffffffffffff16146136f1576136b5613c63565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016136e89190613f03565b60405180910390fd5b565b60025f5403613737576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161372e906158ba565b60405180910390fd5b60025f81905550565b60015f81905550565b6137c5848573ffffffffffffffffffffffffffffffffffffffff166323b872dd86868660405160240161377e939291906158d8565b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050613c6a565b50505050565b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f5f90505f60138054905090505f5f90505b8181101561392c578373ffffffffffffffffffffffffffffffffffffffff16601382815481106138d3576138d2615041565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160361391f576001925061392c565b80806001019150506138a0565b508161399357601383908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5f5f90505b601380549050811015613c0a575f6001826139b3919061488d565b90505b601380549050811015613bfc5760125f601384815481106139da576139d9615041565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015460125f60138481548110613a5557613a54615041565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f01541115613bef575f60138381548110613ad457613ad3615041565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060138281548110613b1257613b11615041565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660138481548110613b4e57613b4d615041565b5b905f5260205f20015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060138381548110613ba857613ba7615041565b5b905f5260205f20015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505b80806001019150506139b6565b508080600101915050613998565b5060146013805490501115613c5e576013805480613c2b57613c2a61506e565b5b600190038181905f5260205f20015f6101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905590555b505050565b5f33905090565b5f5f60205f8451602086015f885af180613c89576040513d5f823e3d81fd5b3d92505f519150505f8214613ca2576001811415613cbd565b5f8473ffffffffffffffffffffffffffffffffffffffff163b145b15613cff57836040517f5274afe7000000000000000000000000000000000000000000000000000000008152600401613cf69190613f03565b60405180910390fd5b50505050565b508054613d1190614c73565b5f825580601f10613d225750613d3f565b601f0160209004905f5260205f2090810190613d3e9190613daa565b5b50565b6040518060e001604052805f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81526020015f73ffffffffffffffffffffffffffffffffffffffff168152602001606081526020015f60ff16815260200160608152602001606081525090565b5b80821115613dc1575f815f905550600101613dab565b5090565b5f604051905090565b5f5ffd5b5f5ffd5b5f819050919050565b613de881613dd6565b8114613df2575f5ffd5b50565b5f81359050613e0381613ddf565b92915050565b5f60208284031215613e1e57613e1d613dce565b5b5f613e2b84828501613df5565b91505092915050565b613e3d81613dd6565b82525050565b5f602082019050613e565f830184613e34565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f613e8582613e5c565b9050919050565b613e9581613e7b565b8114613e9f575f5ffd5b50565b5f81359050613eb081613e8c565b92915050565b5f5f60408385031215613ecc57613ecb613dce565b5b5f613ed985828601613df5565b9250506020613eea85828601613ea2565b9150509250929050565b613efd81613e7b565b82525050565b5f602082019050613f165f830184613ef4565b92915050565b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f840112613f3d57613f3c613f1c565b5b8235905067ffffffffffffffff811115613f5a57613f59613f20565b5b602083019150836001820283011115613f7657613f75613f24565b5b9250929050565b5f5f5f5f60608587031215613f9557613f94613dce565b5b5f613fa287828801613ea2565b945050602085013567ffffffffffffffff811115613fc357613fc2613dd2565b5b613fcf87828801613f28565b93509350506040613fe287828801613df5565b91505092959194509250565b5f6020828403121561400357614002613dce565b5b5f61401084828501613ea2565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61404b81613e7b565b82525050565b5f61405c8383614042565b60208301905092915050565b5f602082019050919050565b5f61407e82614019565b6140888185614023565b935061409383614033565b805f5b838110156140c35781516140aa8882614051565b97506140b583614068565b925050600181019050614096565b5085935050505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61410281613dd6565b82525050565b5f61411383836140f9565b60208301905092915050565b5f602082019050919050565b5f614135826140d0565b61413f81856140da565b935061414a836140ea565b805f5b8381101561417a5781516141618882614108565b975061416c8361411f565b92505060018101905061414d565b5085935050505092915050565b5f6040820190508181035f83015261419f8185614074565b905081810360208301526141b3818461412b565b90509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f614227826141e5565b61423181856141ef565b93506142418185602086016141ff565b61424a8161420d565b840191505092915050565b5f60ff82169050919050565b61426a81614255565b82525050565b5f60e083015f8301516142855f860182614042565b50602083015161429860208601826140f9565b5060408301516142ab6040860182614042565b50606083015184820360608601526142c3828261421d565b91505060808301516142d86080860182614261565b5060a083015184820360a08601526142f0828261421d565b91505060c083015184820360c086015261430a828261421d565b9150508091505092915050565b5f6143228383614270565b905092915050565b5f602082019050919050565b5f614340826141bc565b61434a81856141c6565b93508360208202850161435c856141d6565b805f5b8581101561439757848403895281516143788582614317565b94506143838361432a565b925060208a0199505060018101905061435f565b50829750879550505050505092915050565b5f6020820190508181035f8301526143c18184614336565b905092915050565b5f6060820190506143dc5f830186613e34565b6143e96020830185613e34565b6143f66040830184613e34565b949350505050565b5f82825260208201905092915050565b5f614418826141e5565b61442281856143fe565b93506144328185602086016141ff565b61443b8161420d565b840191505092915050565b61444f81614255565b82525050565b5f60c0820190506144685f830189613e34565b6144756020830188613ef4565b8181036040830152614487818761440e565b90506144966060830186614446565b81810360808301526144a8818561440e565b905081810360a08301526144bc818461440e565b9050979650505050505050565b5f5f5f606084860312156144e0576144df613dce565b5b5f6144ed86828701613ea2565b93505060206144fe86828701613df5565b925050604061450f86828701613ea2565b9150509250925092565b5f819050919050565b5f61453c61453761453284613e5c565b614519565b613e5c565b9050919050565b5f61454d82614522565b9050919050565b5f61455e82614543565b9050919050565b61456e81614554565b82525050565b5f6020820190506145875f830184614565565b92915050565b5f5f5f5f606085870312156145a5576145a4613dce565b5b5f6145b287828801613ea2565b94505060206145c387828801613df5565b935050604085013567ffffffffffffffff8111156145e4576145e3613dd2565b5b6145f087828801613f28565b925092505092959194509250565b7f546f6f20686967680000000000000000000000000000000000000000000000005f82015250565b5f6146326008836143fe565b915061463d826145fe565b602082019050919050565b5f6020820190508181035f83015261465f81614626565b9050919050565b5f6040820190506146795f830185613e34565b6146866020830184613ef4565b9392505050565b7f416d74203e2030000000000000000000000000000000000000000000000000005f82015250565b5f6146c16007836143fe565b91506146cc8261468d565b602082019050919050565b5f6020820190508181035f8301526146ee816146b5565b9050919050565b7f4e6f207072696e636970616c00000000000000000000000000000000000000005f82015250565b5f614729600c836143fe565b9150614734826146f5565b602082019050919050565b5f6020820190508181035f8301526147568161471d565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61479482613dd6565b915061479f83613dd6565b92508282039050818111156147b7576147b661475d565b5b92915050565b7f457863656564732062616c0000000000000000000000000000000000000000005f82015250565b5f6147f1600b836143fe565b91506147fc826147bd565b602082019050919050565b5f6020820190508181035f83015261481e816147e5565b9050919050565b7f436c61696d2066656520686967680000000000000000000000000000000000005f82015250565b5f614859600e836143fe565b915061486482614825565b602082019050919050565b5f6020820190508181035f8301526148868161484d565b9050919050565b5f61489782613dd6565b91506148a283613dd6565b92508282019050808211156148ba576148b961475d565b5b92915050565b5f6148ca82613dd6565b91506148d583613dd6565b92508282026148e381613dd6565b915082820484148315176148fa576148f961475d565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61493882613dd6565b915061494383613dd6565b92508261495357614952614901565b5b828204905092915050565b5f81905092915050565b50565b5f6149765f8361495e565b915061498182614968565b5f82019050919050565b5f6149958261496b565b9150819050919050565b7f466565207478206661696c0000000000000000000000000000000000000000005f82015250565b5f6149d3600b836143fe565b91506149de8261499f565b602082019050919050565b5f6020820190508181035f830152614a00816149c7565b9050919050565b7f5769746864726177207478206661696c000000000000000000000000000000005f82015250565b5f614a3b6010836143fe565b9150614a4682614a07565b602082019050919050565b5f6020820190508181035f830152614a6881614a2f565b9050919050565b7f4e6f20636f6c6c6563746f7220736574000000000000000000000000000000005f82015250565b5f614aa36010836143fe565b9150614aae82614a6f565b602082019050919050565b5f6020820190508181035f830152614ad081614a97565b9050919050565b7f4e6f2070656e64696e67000000000000000000000000000000000000000000005f82015250565b5f614b0b600a836143fe565b9150614b1682614ad7565b602082019050919050565b5f6020820190508181035f830152614b3881614aff565b9050919050565b7f4173736574206e6f74206c6973746564000000000000000000000000000000005f82015250565b5f614b736010836143fe565b9150614b7e82614b3f565b602082019050919050565b5f6020820190508181035f830152614ba081614b67565b9050919050565b7f4e6f74206c6973746572000000000000000000000000000000000000000000005f82015250565b5f614bdb600a836143fe565b9150614be682614ba7565b602082019050919050565b5f6020820190508181035f830152614c0881614bcf565b9050919050565b5f82905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680614c8a57607f821691505b602082108103614c9d57614c9c614c46565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302614cff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82614cc4565b614d098683614cc4565b95508019841693508086168417925050509392505050565b5f614d3b614d36614d3184613dd6565b614519565b613dd6565b9050919050565b5f819050919050565b614d5483614d21565b614d68614d6082614d42565b848454614cd0565b825550505050565b5f5f905090565b614d7f614d70565b614d8a818484614d4b565b505050565b5b81811015614dad57614da25f82614d77565b600181019050614d90565b5050565b601f821115614df257614dc381614ca3565b614dcc84614cb5565b81016020851015614ddb578190505b614def614de785614cb5565b830182614d8f565b50505b505050565b5f82821c905092915050565b5f614e125f1984600802614df7565b1980831691505092915050565b5f614e2a8383614e03565b9150826002028217905092915050565b614e448383614c0f565b67ffffffffffffffff811115614e5d57614e5c614c19565b5b614e678254614c73565b614e72828285614db1565b5f601f831160018114614e9f575f8415614e8d578287013590505b614e978582614e1f565b865550614efe565b601f198416614ead86614ca3565b5f5b82811015614ed457848901358255600182019150602085019450602081019050614eaf565b86831015614ef15784890135614eed601f891682614e03565b8355505b6001600288020188555050505b50505050505050565b828183375f83830152505050565b5f614f2083856143fe565b9350614f2d838584614f07565b614f368361420d565b840190509392505050565b5f6040820190508181035f830152614f5a818587614f15565b9050614f696020830184613e34565b949350505050565b7f496e73756666696369656e742064656c697374206665650000000000000000005f82015250565b5f614fa56017836143fe565b9150614fb082614f71565b602082019050919050565b5f6020820190508181035f830152614fd281614f99565b9050919050565b7f466565207472616e73666572206661696c0000000000000000000000000000005f82015250565b5f61500d6011836143fe565b915061501882614fd9565b602082019050919050565b5f6020820190508181035f83015261503a81615001565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b7f496e76616c696420636f6c6c6563746f720000000000000000000000000000005f82015250565b5f6150cf6011836143fe565b91506150da8261509b565b602082019050919050565b5f6020820190508181035f8301526150fc816150c3565b9050919050565b7f5a65726f2067656e6573697300000000000000000000000000000000000000005f82015250565b5f615137600c836143fe565b915061514282615103565b602082019050919050565b5f6020820190508181035f8301526151648161512b565b9050919050565b7f546f6b656e73203e2030000000000000000000000000000000000000000000005f82015250565b5f61519f600a836143fe565b91506151aa8261516b565b602082019050919050565b5f6020820190508181035f8301526151cc81615193565b9050919050565b7f4e6174697665203e2030000000000000000000000000000000000000000000005f82015250565b5f615207600a836143fe565b9150615212826151d3565b602082019050919050565b5f6020820190508181035f830152615234816151fb565b9050919050565b7f42616420646563696d616c7300000000000000000000000000000000000000005f82015250565b5f61526f600c836143fe565b915061527a8261523b565b602082019050919050565b5f6020820190508181035f83015261529c81615263565b9050919050565b7f4e617469766520666565206661696c00000000000000000000000000000000005f82015250565b5f6152d7600f836143fe565b91506152e2826152a3565b602082019050919050565b5f6020820190508181035f830152615304816152cb565b9050919050565b7f536861726520666565206661696c0000000000000000000000000000000000005f82015250565b5f61533f600e836143fe565b915061534a8261530b565b602082019050919050565b5f6020820190508181035f83015261536c81615333565b9050919050565b7f526566657272616c20706179206661696c0000000000000000000000000000005f82015250565b5f6153a76011836143fe565b91506153b282615373565b602082019050919050565b5f6020820190508181035f8301526153d48161539b565b9050919050565b5f6040820190506153ee5f830185613e34565b6153fb6020830184613e34565b9392505050565b7f46656520746f6f206c6f770000000000000000000000000000000000000000005f82015250565b5f615436600b836143fe565b915061544182615402565b602082019050919050565b5f6020820190508181035f8301526154638161542a565b9050919050565b7f52617465203e20300000000000000000000000000000000000000000000000005f82015250565b5f61549e6008836143fe565b91506154a98261546a565b602082019050919050565b5f6020820190508181035f8301526154cb81615492565b9050919050565b7f42616420746f6b656e00000000000000000000000000000000000000000000005f82015250565b5f6155066009836143fe565b9150615511826154d2565b602082019050919050565b5f6020820190508181035f830152615533816154fa565b9050919050565b7f416c7265616479206c69737465640000000000000000000000000000000000005f82015250565b5f61556e600e836143fe565b91506155798261553a565b602082019050919050565b5f6020820190508181035f83015261559b81615562565b9050919050565b6155ab81614255565b81146155b5575f5ffd5b50565b5f815190506155c6816155a2565b92915050565b5f602082840312156155e1576155e0613dce565b5b5f6155ee848285016155b8565b91505092915050565b5f5ffd5b6156048261420d565b810181811067ffffffffffffffff8211171561562357615622614c19565b5b80604052505050565b5f615635613dc5565b905061564182826155fb565b919050565b5f67ffffffffffffffff8211156156605761565f614c19565b5b6156698261420d565b9050602081019050919050565b5f61568861568384615646565b61562c565b9050828152602081018484840111156156a4576156a36155f7565b5b6156af8482856141ff565b509392505050565b5f82601f8301126156cb576156ca613f1c565b5b81516156db848260208601615676565b91505092915050565b5f602082840312156156f9576156f8613dce565b5b5f82015167ffffffffffffffff81111561571657615715613dd2565b5b615722848285016156b7565b91505092915050565b615734826141e5565b67ffffffffffffffff81111561574d5761574c614c19565b5b6157578254614c73565b615762828285614db1565b5f60209050601f831160018114615793575f8415615781578287015190505b61578b8582614e1f565b8655506157f2565b601f1984166157a186614ca3565b5f5b828110156157c8578489015182556001820191506020850194506020810190506157a3565b868310156157e557848901516157e1601f891682614e03565b8355505b6001600288020188555050505b505050505050565b5f60c08201905061580d5f83018a613e34565b818103602083015261582081888a614f15565b905061582f6040830187614446565b8181036060830152615841818661440e565b90508181036080830152615855818561440e565b905061586460a0830184613e34565b98975050505050505050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c005f82015250565b5f6158a4601f836143fe565b91506158af82615870565b602082019050919050565b5f6020820190508181035f8301526158d181615898565b9050919050565b5f6060820190506158eb5f830186613ef4565b6158f86020830185613ef4565b6159056040830184613e34565b94935050505056fecborAuxdataa26469706673582212206a9cd5f5bda20d3963c36cb4d9b28fcb921914112afcbe8ddf6b54a3f971f3cc64736f6c634300081e0033constructorArguments000000000000000000000000000000000000000000000000002386f26fc1000000000000000000000000000063e3165d9b510183346022fd8e56e773353394fd00000000000000000000000000000000000000000000000000002d79883d2000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000c166ad62bcde8f9426ba9f91fabf6843323db67b000000000000000000000000000000000000000000000000000000000000001400000000000000000000000063e3165d9b510183346022fd8e56e773353394fd00000000000000000000000099ae206a451969924247ee59f85607684646e44000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000000000000001f400000000000000000000000063e3165d9b510183346022fd8e56e773353394fd

CBOR Auxdata

These values are what Sourcify extracted from the recompiled bytecode. If these values are different in the on-chain bytecode, they will show up in Transformations section.

CBOR Auxdata id: 1

View on IPFS Logo
Solidity metadata.json IPFS hash: Qmb4TwYAtyUpUKssV6752DoLi6daeDpfKGRDvVrBg8P6fB
RawDecoded
Length: 53 bytes
0xa2646970667358221220bd0276118cf544e43dc92155fcc68e1af5ed278baadce4a866b75164086c4f9a64736f6c634300081e0033

Transformations

Constructor Arguments

RawDecoded
Length: 352 bytes
0x000000000000000000000000000000000000000000000000002386f26fc1000000000000000000000000000063e3165d9b510183346022fd8e56e773353394fd00000000000000000000000000000000000000000000000000002d79883d2000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000c166ad62bcde8f9426ba9f91fabf6843323db67b000000000000000000000000000000000000000000000000000000000000001400000000000000000000000063e3165d9b510183346022fd8e56e773353394fd00000000000000000000000099ae206a451969924247ee59f85607684646e44000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000000000000001f400000000000000000000000063e3165d9b510183346022fd8e56e773353394fd

CBOR Auxdata Transformations

Byte OffsetsLength (bytes)Values
2511553
Original (recompiled):0xa2646970667358221220bd0276118cf544e43dc92155fcc68e1af5ed278baadce4a866b75164086c4f9a64736f6c634300081e0033
Transformed (onchain):0xa26469706673582212206a9cd5f5bda20d3963c36cb4d9b28fcb921914112afcbe8ddf6b54a3f971f3cc64736f6c634300081e0033

Runtime Bytecode

0x60806040526004361061026a575f3560e01c8063977b5eb111610143578063bc5c1e19116100b5578063eec91f2d11610079578063eec91f2d14610897578063f2fde38b146108c1578063f40f0f52146108e9578063f5a943d014610925578063f79d91ae14610941578063fdb5a03e1461096957610271565b8063bc5c1e19146107c3578063bd56d672146107ed578063d21cacdf14610809578063dffcf57714610845578063e9f071c51461086f57610271565b8063aa69fd0411610107578063aa69fd04146106b2578063aaf5eb68146106de578063aca9f63714610708578063aeb632da14610730578063b20b84031461075a578063ba46ae721461078257610271565b8063977b5eb1146105bc57806399b1fc56146105e457806399d32fc414610620578063a50d99831461064a578063a87430ba1461067457610271565b8063536956ff116101dc5780637605bbb0116101a05780637605bbb0146104cf5780637d1b039e146104eb5780637d37224a146105155780637e1119211461053d5780638da5cb5b14610568578063939d62371461059257610271565b8063536956ff14610413578063585cd1571461043b5780636065fb33146104655780636a1b7ecc1461048f578063715018a6146104b957610271565b8063291fd3511161022e578063291fd351146103435780632e1a7d4d1461036d57806346904840146103955780634796897c146103bf5780634c158b47146103e75780634e71d92d146103fd57610271565b80630fd680a51461027557806313c9440b1461029d5780631bb7a718146102c757806326a49dba146102ef578063271af8c11461031957610271565b3661027157005b5f5ffd5b348015610280575f5ffd5b5061029b60048036038101906102969190613e09565b61097f565b005b3480156102a8575f5ffd5b506102b1610a0d565b6040516102be9190613e43565b60405180910390f35b3480156102d2575f5ffd5b506102ed60048036038101906102e89190613eb6565b610a13565b005b3480156102fa575f5ffd5b50610303610a9f565b6040516103109190613e43565b60405180910390f35b348015610324575f5ffd5b5061032d610aa5565b60405161033a9190613f03565b60405180910390f35b34801561034e575f5ffd5b50610357610aca565b6040516103649190613f03565b60405180910390f35b348015610378575f5ffd5b50610393600480360381019061038e9190613e09565b610aef565b005b3480156103a0575f5ffd5b506103a9610f01565b6040516103b69190613f03565b60405180910390f35b3480156103ca575f5ffd5b506103e560048036038101906103e09190613e09565b610f26565b005b3480156103f2575f5ffd5b506103fb6110c7565b005b348015610408575f5ffd5b506104116110d9565b005b34801561041e575f5ffd5b5061043960048036038101906104349190613f7d565b611181565b005b348015610446575f5ffd5b5061044f611368565b60405161045c9190613e43565b60405180910390f35b348015610470575f5ffd5b5061047961136e565b6040516104869190613f03565b60405180910390f35b34801561049a575f5ffd5b506104a3611393565b6040516104b09190613e43565b60405180910390f35b3480156104c4575f5ffd5b506104cd611399565b005b6104e960048036038101906104e49190613fee565b6113ac565b005b3480156104f6575f5ffd5b506104ff611846565b60405161050c9190613e43565b60405180910390f35b348015610520575f5ffd5b5061053b60048036038101906105369190613fee565b61184c565b005b348015610548575f5ffd5b50610551611948565b60405161055f929190614187565b60405180910390f35b348015610573575f5ffd5b5061057c611b2d565b6040516105899190613f03565b60405180910390f35b34801561059d575f5ffd5b506105a6611b55565b6040516105b39190613e43565b60405180910390f35b3480156105c7575f5ffd5b506105e260048036038101906105dd9190613fee565b611b5b565b005b3480156105ef575f5ffd5b5061060a60048036038101906106059190613e09565b611c4b565b6040516106179190613f03565b60405180910390f35b34801561062b575f5ffd5b50610634611c86565b6040516106419190613e43565b60405180910390f35b348015610655575f5ffd5b5061065e611c8c565b60405161066b91906143a9565b60405180910390f35b34801561067f575f5ffd5b5061069a60048036038101906106959190613fee565b611fe6565b6040516106a9939291906143c9565b60405180910390f35b3480156106bd575f5ffd5b506106c661200c565b6040516106d5939291906143c9565b60405180910390f35b3480156106e9575f5ffd5b506106f261202b565b6040516106ff9190613e43565b60405180910390f35b348015610713575f5ffd5b5061072e60048036038101906107299190613e09565b612037565b005b34801561073b575f5ffd5b50610744612080565b6040516107519190613f03565b60405180910390f35b348015610765575f5ffd5b50610780600480360381019061077b9190613e09565b6120a5565b005b34801561078d575f5ffd5b506107a860048036038101906107a39190613fee565b6120ee565b6040516107ba96959493929190614455565b60405180910390f35b3480156107ce575f5ffd5b506107d76122e3565b6040516107e49190613e43565b60405180910390f35b610807600480360381019061080291906144c9565b6122e9565b005b348015610814575f5ffd5b5061082f600480360381019061082a9190613fee565b612c1e565b60405161083c9190613f03565b60405180910390f35b348015610850575f5ffd5b50610859612c4e565b6040516108669190614574565b60405180910390f35b34801561087a575f5ffd5b5061089560048036038101906108909190613eb6565b612c73565b005b3480156108a2575f5ffd5b506108ab612cff565b6040516108b89190613e43565b60405180910390f35b3480156108cc575f5ffd5b506108e760048036038101906108e29190613fee565b612d05565b005b3480156108f4575f5ffd5b5061090f600480360381019061090a9190613fee565b612d89565b60405161091c9190613e43565b60405180910390f35b61093f600480360381019061093a919061458d565b612e71565b005b34801561094c575f5ffd5b5061096760048036038101906109629190613e09565b6134bc565b005b348015610974575f5ffd5b5061097d613505565b005b61098761366c565b6127108111156109cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c390614648565b60405180910390fd5b806004819055507f08b5f02b448b15c0b31ca32226635e94494ddaa2cd48398aadcbde2c938f6df481604051610a029190613e43565b60405180910390a150565b60045481565b610a1b61366c565b81600e8190555080600f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f1d8229d2ed0552197caac2868758230e5d24d7c23cdcf51229f2d09efad4d6328282604051610a93929190614666565b60405180910390a15050565b600c5481565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610af76136f3565b5f8111610b39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b30906146d7565b60405180910390fd5b5f60125f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090505f815f015411610bbe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb59061473f565b60405180910390fd5b5f610bc833612d89565b90505f5f5f9050848310610bde57849150610bf0565b8291508285610bed919061478a565b90505b835f0154811115610c36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2d90614807565b60405180910390fd5b5f5f90505f831115610c8c576008548311610c86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7d9061486f565b60405180910390fd5b60085490505b5f828285610c9a919061478a565b610ca4919061488d565b905083866002015f828254610cb9919061488d565b925050819055505f831115610cfa5782865f015f828254610cda919061478a565b925050819055508260105f828254610cf2919061478a565b925050819055505b670de0b6b3a7640000601154875f0154610d1491906148c0565b610d1e919061492e565b86600101819055505f821115610df9575f600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1683604051610d749061498b565b5f6040518083038185875af1925050503d805f8114610dae576040519150601f19603f3d011682016040523d82523d5f602084013e610db3565b606091505b5050905080610df7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dee906149e9565b60405180910390fd5b505b5f3373ffffffffffffffffffffffffffffffffffffffff1682604051610e1e9061498b565b5f6040518083038185875af1925050503d805f8114610e58576040519150601f19603f3d011682016040523d82523d5f602084013e610e5d565b606091505b5050905080610ea1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9890614a51565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167f52e79696d272e4220b60ff5e97c8b4d34a041f6f107e1d686bf7700cace0e5ee89604051610ee79190613e43565b60405180910390a250505050505050610efe613740565b50565b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610f2e6136f3565b5f8111610f70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f67906146d7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610fff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff690614ab9565b60405180910390fd5b61106e3360155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168360145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16613749909392919063ffffffff16565b3373ffffffffffffffffffffffffffffffffffffffff167f4204203970b85afd16caf44755c23d7115e26b749b3428da69965bea68ab8b9d826040516110b49190613e43565b60405180910390a26110c4613740565b50565b6110cf61366c565b6110d7611399565b565b5f6110e333612d89565b90505f8111611127576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111e90614b21565b60405180910390fd5b61113081610aef565b3373ffffffffffffffffffffffffffffffffffffffff167fd8138f8a3f377c5259ca548e70e4c2de94f129f5a11036a15b69513cba2b426a826040516111769190613e43565b60405180910390a250565b6111896136f3565b5f60055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090505f73ffffffffffffffffffffffffffffffffffffffff16816001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160361125a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125190614b89565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16816001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e290614bf1565b60405180910390fd5b83838260020191826112fe929190614e3a565b5081815f01819055508473ffffffffffffffffffffffffffffffffffffffff167ff9512f897f346499f5041666e9f2282e466ed67864f6373ed81fe36fde83f77c85858560405161135193929190614f41565b60405180910390a250611362613740565b50505050565b60095481565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60075481565b6113a161366c565b6113aa5f6137cb565b565b6113b46136f3565b5f60055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090505f73ffffffffffffffffffffffffffffffffffffffff16816001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611485576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147c90614b89565b60405180910390fd5b6009543410156114ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c190614fbb565b60405180910390fd5b34600b5f8282546114db919061488d565b925050819055505f600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16346040516115289061498b565b5f6040518083038185875af1925050503d805f8114611562576040519150601f19603f3d011682016040523d82523d5f602084013e611567565b606091505b50509050806115ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a290615023565b60405180910390fd5b60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f5f82015f9055600182015f6101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600282015f6116249190613d05565b600382015f6101000a81549060ff0219169055600482015f6116469190613d05565b600582015f6116559190613d05565b50505f5f90505b6006805490508110156117d3578373ffffffffffffffffffffffffffffffffffffffff166006828154811061169457611693615041565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036117c657600660016006805490506116eb919061478a565b815481106116fc576116fb615041565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166006828154811061173857611737615041565b5b905f5260205f20015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600680548061178f5761178e61506e565b5b600190038181905f5260205f20015f6101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905590556117d3565b808060010191505061165c565b503373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8b0c6321e5164295041a4799b97bc74477465912d8e906efc761ff81bf530b27346040516118319190613e43565b60405180910390a35050611843613740565b50565b600b5481565b61185461366c565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036118c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b9906150e5565b60405180910390fd5b8060155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167fe5ea4b3f4edfa2d25a5ae723828ea9e7ae469acdc85d8db728f068551dab000a60405160405180910390a250565b6060805f60138054905090508067ffffffffffffffff81111561196e5761196d614c19565b5b60405190808252806020026020018201604052801561199c5781602001602082028036833780820191505090505b5092508067ffffffffffffffff8111156119b9576119b8614c19565b5b6040519080825280602002602001820160405280156119e75781602001602082028036833780820191505090505b5091505f5f90505b81811015611b275760138181548110611a0b57611a0a615041565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848281518110611a4657611a45615041565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060125f60138381548110611a9757611a96615041565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f0154838281518110611b0e57611b0d615041565b5b60200260200101818152505080806001019150506119ef565b50509091565b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60115481565b611b6361366c565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611bd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bc89061514d565b60405180910390fd5b8060035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f8854432606accb7e39d6a7fd628ab4b46da0278bb19cc67e5bce7a418d1b5c8881604051611c409190613f03565b60405180910390a150565b60138181548110611c5a575f80fd5b905f5260205f20015f915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60085481565b60605f60068054905090505f8167ffffffffffffffff811115611cb257611cb1614c19565b5b604051908082528060200260200182016040528015611ceb57816020015b611cd8613d42565b815260200190600190039081611cd05790505b5090505f5f90505b82811015611fdd575f60068281548110611d1057611d0f615041565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f60055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090506040518060e001604052808373ffffffffffffffffffffffffffffffffffffffff168152602001825f01548152602001826001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001826002018054611df890614c73565b80601f0160208091040260200160405190810160405280929190818152602001828054611e2490614c73565b8015611e6f5780601f10611e4657610100808354040283529160200191611e6f565b820191905f5260205f20905b815481529060010190602001808311611e5257829003601f168201915b50505050508152602001826003015f9054906101000a900460ff1660ff168152602001826004018054611ea190614c73565b80601f0160208091040260200160405190810160405280929190818152602001828054611ecd90614c73565b8015611f185780601f10611eef57610100808354040283529160200191611f18565b820191905f5260205f20905b815481529060010190602001808311611efb57829003601f168201915b50505050508152602001826005018054611f3190614c73565b80601f0160208091040260200160405190810160405280929190818152602001828054611f5d90614c73565b8015611fa85780601f10611f7f57610100808354040283529160200191611fa8565b820191905f5260205f20905b815481529060010190602001808311611f8b57829003601f168201915b5050505050815250848481518110611fc357611fc2615041565b5b602002602001018190525050508080600101915050611cf3565b50809250505090565b6012602052805f5260405f205f91509050805f0154908060010154908060020154905083565b5f5f5f61201761366c565b60105492506011549150600b549050909192565b670de0b6b3a764000081565b61203f61366c565b806009819055507feb59e6ce9000e582fdda6bbb40df1454cdb1cc85ad677afbe67080fa3e87ba3a816040516120759190613e43565b60405180910390a150565b600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6120ad61366c565b806008819055507f64374f1a975abb9bc8e8857d704b9ead41989ff599d90c1e8f7d34bc2ebea92a816040516120e39190613e43565b60405180910390a150565b6005602052805f5260405f205f91509050805f015490806001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169080600201805461213890614c73565b80601f016020809104026020016040519081016040528092919081815260200182805461216490614c73565b80156121af5780601f10612186576101008083540402835291602001916121af565b820191905f5260205f20905b81548152906001019060200180831161219257829003601f168201915b505050505090806003015f9054906101000a900460ff16908060040180546121d690614c73565b80601f016020809104026020016040519081016040528092919081815260200182805461220290614c73565b801561224d5780601f106122245761010080835404028352916020019161224d565b820191905f5260205f20905b81548152906001019060200180831161223057829003601f168201915b50505050509080600501805461226290614c73565b80601f016020809104026020016040519081016040528092919081815260200182805461228e90614c73565b80156122d95780601f106122b0576101008083540402835291602001916122d9565b820191905f5260205f20905b8154815290600101906020018083116122bc57829003601f168201915b5050505050905086565b600e5481565b6122f16136f3565b5f60055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090505f73ffffffffffffffffffffffffffffffffffffffff16816001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036123c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123b990614b89565b60405180910390fd5b5f8311612404576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123fb906151b5565b60405180910390fd5b5f3411612446576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161243d9061521d565b60405180910390fd5b5f816003015f9054906101000a900460ff1660ff1611801561247c5750604d816003015f9054906101000a900460ff1660ff1611155b6124bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124b290615285565b60405180910390fd5b6124e83330858773ffffffffffffffffffffffffffffffffffffffff16613749909392919063ffffffff16565b5f73ffffffffffffffffffffffffffffffffffffffff1660025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036126e6575f5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156125e057503373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b61260b5760035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661260d565b825b90508060025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f5f1ca2fcc108b751843a763e60d2201f593516109d7dbb1b700468f2d4190bb760405160405180910390a3505b5f60025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f612710600c543461275891906148c0565b612762919061492e565b90505f612710600e543461277691906148c0565b612780919061492e565b90505f6127106004543461279491906148c0565b61279e919061492e565b90505f818385346127af919061478a565b6127b9919061478a565b6127c3919061478a565b90505f601054111561280857601054670de0b6b3a7640000826127e691906148c0565b6127f0919061492e565b60115f828254612800919061488d565b925050819055505b5f60125f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20905081815f015f82825461285a919061488d565b925050819055508160105f828254612872919061488d565b92505081905550670de0b6b3a7640000601154825f015461289391906148c0565b61289d919061492e565b81600101819055506128ae3361388e565b5f851115612981575f600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16866040516128fc9061498b565b5f6040518083038185875af1925050503d805f8114612936576040519150601f19603f3d011682016040523d82523d5f602084013e61293b565b606091505b505090508061297f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612976906152ed565b60405180910390fd5b505b5f841115612a54575f600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16856040516129cf9061498b565b5f6040518083038185875af1925050503d805f8114612a09576040519150601f19603f3d011682016040523d82523d5f602084013e612a0e565b606091505b5050905080612a52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a4990615355565b60405180910390fd5b505b5f83118015612a8f57505f73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b15612ba3575f8673ffffffffffffffffffffffffffffffffffffffff1684604051612ab99061498b565b5f6040518083038185875af1925050503d805f8114612af3576040519150601f19603f3d011682016040523d82523d5f602084013e612af8565b606091505b5050905080612b3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b33906153bd565b60405180910390fd5b8673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f94ccb86446750660ec532b1beb1fb55f5ba2fffca042c4c53f4c080e72595b3886604051612b999190613e43565b60405180910390a3505b8973ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fbb3fe959e1990eb6ecdd49f37a2ba3401dfb5bb19cd8875644498048947453cb8b85604051612c029291906153db565b60405180910390a350505050505050612c19613740565b505050565b6002602052805f5260405f205f915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b612c7b61366c565b81600c8190555080600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f152d32bc2ef2ba25341f1c1cf34bb3cda79e3308b380c100b70eedcc07fa19bb8282604051612cf3929190614666565b60405180910390a15050565b60105481565b612d0d61366c565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612d7d575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401612d749190613f03565b60405180910390fd5b612d86816137cb565b50565b5f5f60125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090505f670de0b6b3a7640000601154835f0154612de591906148c0565b612def919061492e565b90505f82600101548211612e03575f612e14565b826001015482612e13919061478a565b5b90505f6002845f0154612e2791906148c0565b90505f84600201549050818110612e45575f95505050505050612e6c565b5f8183612e52919061478a565b9050808411612e615783612e63565b805b96505050505050505b919050565b612e796136f3565b600754341015612ebe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612eb59061544c565b60405180910390fd5b5f8311612f00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ef7906154b4565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603612f6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f659061551c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461303b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161303290615584565b60405180910390fd5b5f8490505f8173ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015613089573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130ad91906155cc565b90505f8273ffffffffffffffffffffffffffffffffffffffff166306fdde036040518163ffffffff1660e01b81526004015f60405180830381865afa1580156130f8573d5f5f3e3d5ffd5b505050506040513d5f823e3d601f19601f8201168201806040525081019061312091906156e4565b90505f8373ffffffffffffffffffffffffffffffffffffffff166395d89b416040518163ffffffff1660e01b81526004015f60405180830381865afa15801561316b573d5f5f3e3d5ffd5b505050506040513d5f823e3d601f19601f8201168201806040525081019061319391906156e4565b90506040518060c001604052808881526020013373ffffffffffffffffffffffffffffffffffffffff16815260200187878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f8201169050808301925050505050505081526020018460ff1681526020018381526020018281525060055f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f820151815f01556020820151816001015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160020190816132be919061572b565b506060820151816003015f6101000a81548160ff021916908360ff16021790555060808201518160040190816132f4919061572b565b5060a082015181600501908161330a919061572b565b50905050600688908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034600b5f82825461337f919061488d565b925050819055505f600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16346040516133cc9061498b565b5f6040518083038185875af1925050503d805f8114613406576040519150601f19603f3d011682016040523d82523d5f602084013e61340b565b606091505b505090508061344f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161344690615023565b60405180910390fd5b8873ffffffffffffffffffffffffffffffffffffffff167f7d68fd4e1dd4315792a0ba3f0ab088cbf44b7b8ceacb5ee634cf058d756678b9898989888888346040516134a197969594939291906157fa565b60405180910390a250505050506134b6613740565b50505050565b6134c461366c565b806007819055507f5fb4654f1efe30c6141eaa6855ffcb27e0b361d899b05e21b1a4d0b3e71e14db816040516134fa9190613e43565b60405180910390a150565b61350d6136f3565b5f61351733612d89565b90505f811161355b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161355290614b21565b60405180910390fd5b5f60125f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20905081816002015f8282546135ae919061488d565b9250508190555081815f015f8282546135c7919061488d565b925050819055508160105f8282546135df919061488d565b92505081905550670de0b6b3a7640000601154825f015461360091906148c0565b61360a919061492e565b81600101819055503373ffffffffffffffffffffffffffffffffffffffff167f67c7aa1ef9dbf8081996d7391bf5dc8fb772decabf5ea08418509004fc4ca3e2836040516136589190613e43565b60405180910390a2505061366a613740565b565b613674613c63565b73ffffffffffffffffffffffffffffffffffffffff16613692611b2d565b73ffffffffffffffffffffffffffffffffffffffff16146136f1576136b5613c63565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016136e89190613f03565b60405180910390fd5b565b60025f5403613737576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161372e906158ba565b60405180910390fd5b60025f81905550565b60015f81905550565b6137c5848573ffffffffffffffffffffffffffffffffffffffff166323b872dd86868660405160240161377e939291906158d8565b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050613c6a565b50505050565b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f5f90505f60138054905090505f5f90505b8181101561392c578373ffffffffffffffffffffffffffffffffffffffff16601382815481106138d3576138d2615041565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160361391f576001925061392c565b80806001019150506138a0565b508161399357601383908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5f5f90505b601380549050811015613c0a575f6001826139b3919061488d565b90505b601380549050811015613bfc5760125f601384815481106139da576139d9615041565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015460125f60138481548110613a5557613a54615041565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f01541115613bef575f60138381548110613ad457613ad3615041565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060138281548110613b1257613b11615041565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660138481548110613b4e57613b4d615041565b5b905f5260205f20015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060138381548110613ba857613ba7615041565b5b905f5260205f20015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505b80806001019150506139b6565b508080600101915050613998565b5060146013805490501115613c5e576013805480613c2b57613c2a61506e565b5b600190038181905f5260205f20015f6101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905590555b505050565b5f33905090565b5f5f60205f8451602086015f885af180613c89576040513d5f823e3d81fd5b3d92505f519150505f8214613ca2576001811415613cbd565b5f8473ffffffffffffffffffffffffffffffffffffffff163b145b15613cff57836040517f5274afe7000000000000000000000000000000000000000000000000000000008152600401613cf69190613f03565b60405180910390fd5b50505050565b508054613d1190614c73565b5f825580601f10613d225750613d3f565b601f0160209004905f5260205f2090810190613d3e9190613daa565b5b50565b6040518060e001604052805f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81526020015f73ffffffffffffffffffffffffffffffffffffffff168152602001606081526020015f60ff16815260200160608152602001606081525090565b5b80821115613dc1575f815f905550600101613dab565b5090565b5f604051905090565b5f5ffd5b5f5ffd5b5f819050919050565b613de881613dd6565b8114613df2575f5ffd5b50565b5f81359050613e0381613ddf565b92915050565b5f60208284031215613e1e57613e1d613dce565b5b5f613e2b84828501613df5565b91505092915050565b613e3d81613dd6565b82525050565b5f602082019050613e565f830184613e34565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f613e8582613e5c565b9050919050565b613e9581613e7b565b8114613e9f575f5ffd5b50565b5f81359050613eb081613e8c565b92915050565b5f5f60408385031215613ecc57613ecb613dce565b5b5f613ed985828601613df5565b9250506020613eea85828601613ea2565b9150509250929050565b613efd81613e7b565b82525050565b5f602082019050613f165f830184613ef4565b92915050565b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f840112613f3d57613f3c613f1c565b5b8235905067ffffffffffffffff811115613f5a57613f59613f20565b5b602083019150836001820283011115613f7657613f75613f24565b5b9250929050565b5f5f5f5f60608587031215613f9557613f94613dce565b5b5f613fa287828801613ea2565b945050602085013567ffffffffffffffff811115613fc357613fc2613dd2565b5b613fcf87828801613f28565b93509350506040613fe287828801613df5565b91505092959194509250565b5f6020828403121561400357614002613dce565b5b5f61401084828501613ea2565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61404b81613e7b565b82525050565b5f61405c8383614042565b60208301905092915050565b5f602082019050919050565b5f61407e82614019565b6140888185614023565b935061409383614033565b805f5b838110156140c35781516140aa8882614051565b97506140b583614068565b925050600181019050614096565b5085935050505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61410281613dd6565b82525050565b5f61411383836140f9565b60208301905092915050565b5f602082019050919050565b5f614135826140d0565b61413f81856140da565b935061414a836140ea565b805f5b8381101561417a5781516141618882614108565b975061416c8361411f565b92505060018101905061414d565b5085935050505092915050565b5f6040820190508181035f83015261419f8185614074565b905081810360208301526141b3818461412b565b90509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f614227826141e5565b61423181856141ef565b93506142418185602086016141ff565b61424a8161420d565b840191505092915050565b5f60ff82169050919050565b61426a81614255565b82525050565b5f60e083015f8301516142855f860182614042565b50602083015161429860208601826140f9565b5060408301516142ab6040860182614042565b50606083015184820360608601526142c3828261421d565b91505060808301516142d86080860182614261565b5060a083015184820360a08601526142f0828261421d565b91505060c083015184820360c086015261430a828261421d565b9150508091505092915050565b5f6143228383614270565b905092915050565b5f602082019050919050565b5f614340826141bc565b61434a81856141c6565b93508360208202850161435c856141d6565b805f5b8581101561439757848403895281516143788582614317565b94506143838361432a565b925060208a0199505060018101905061435f565b50829750879550505050505092915050565b5f6020820190508181035f8301526143c18184614336565b905092915050565b5f6060820190506143dc5f830186613e34565b6143e96020830185613e34565b6143f66040830184613e34565b949350505050565b5f82825260208201905092915050565b5f614418826141e5565b61442281856143fe565b93506144328185602086016141ff565b61443b8161420d565b840191505092915050565b61444f81614255565b82525050565b5f60c0820190506144685f830189613e34565b6144756020830188613ef4565b8181036040830152614487818761440e565b90506144966060830186614446565b81810360808301526144a8818561440e565b905081810360a08301526144bc818461440e565b9050979650505050505050565b5f5f5f606084860312156144e0576144df613dce565b5b5f6144ed86828701613ea2565b93505060206144fe86828701613df5565b925050604061450f86828701613ea2565b9150509250925092565b5f819050919050565b5f61453c61453761453284613e5c565b614519565b613e5c565b9050919050565b5f61454d82614522565b9050919050565b5f61455e82614543565b9050919050565b61456e81614554565b82525050565b5f6020820190506145875f830184614565565b92915050565b5f5f5f5f606085870312156145a5576145a4613dce565b5b5f6145b287828801613ea2565b94505060206145c387828801613df5565b935050604085013567ffffffffffffffff8111156145e4576145e3613dd2565b5b6145f087828801613f28565b925092505092959194509250565b7f546f6f20686967680000000000000000000000000000000000000000000000005f82015250565b5f6146326008836143fe565b915061463d826145fe565b602082019050919050565b5f6020820190508181035f83015261465f81614626565b9050919050565b5f6040820190506146795f830185613e34565b6146866020830184613ef4565b9392505050565b7f416d74203e2030000000000000000000000000000000000000000000000000005f82015250565b5f6146c16007836143fe565b91506146cc8261468d565b602082019050919050565b5f6020820190508181035f8301526146ee816146b5565b9050919050565b7f4e6f207072696e636970616c00000000000000000000000000000000000000005f82015250565b5f614729600c836143fe565b9150614734826146f5565b602082019050919050565b5f6020820190508181035f8301526147568161471d565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61479482613dd6565b915061479f83613dd6565b92508282039050818111156147b7576147b661475d565b5b92915050565b7f457863656564732062616c0000000000000000000000000000000000000000005f82015250565b5f6147f1600b836143fe565b91506147fc826147bd565b602082019050919050565b5f6020820190508181035f83015261481e816147e5565b9050919050565b7f436c61696d2066656520686967680000000000000000000000000000000000005f82015250565b5f614859600e836143fe565b915061486482614825565b602082019050919050565b5f6020820190508181035f8301526148868161484d565b9050919050565b5f61489782613dd6565b91506148a283613dd6565b92508282019050808211156148ba576148b961475d565b5b92915050565b5f6148ca82613dd6565b91506148d583613dd6565b92508282026148e381613dd6565b915082820484148315176148fa576148f961475d565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61493882613dd6565b915061494383613dd6565b92508261495357614952614901565b5b828204905092915050565b5f81905092915050565b50565b5f6149765f8361495e565b915061498182614968565b5f82019050919050565b5f6149958261496b565b9150819050919050565b7f466565207478206661696c0000000000000000000000000000000000000000005f82015250565b5f6149d3600b836143fe565b91506149de8261499f565b602082019050919050565b5f6020820190508181035f830152614a00816149c7565b9050919050565b7f5769746864726177207478206661696c000000000000000000000000000000005f82015250565b5f614a3b6010836143fe565b9150614a4682614a07565b602082019050919050565b5f6020820190508181035f830152614a6881614a2f565b9050919050565b7f4e6f20636f6c6c6563746f7220736574000000000000000000000000000000005f82015250565b5f614aa36010836143fe565b9150614aae82614a6f565b602082019050919050565b5f6020820190508181035f830152614ad081614a97565b9050919050565b7f4e6f2070656e64696e67000000000000000000000000000000000000000000005f82015250565b5f614b0b600a836143fe565b9150614b1682614ad7565b602082019050919050565b5f6020820190508181035f830152614b3881614aff565b9050919050565b7f4173736574206e6f74206c6973746564000000000000000000000000000000005f82015250565b5f614b736010836143fe565b9150614b7e82614b3f565b602082019050919050565b5f6020820190508181035f830152614ba081614b67565b9050919050565b7f4e6f74206c6973746572000000000000000000000000000000000000000000005f82015250565b5f614bdb600a836143fe565b9150614be682614ba7565b602082019050919050565b5f6020820190508181035f830152614c0881614bcf565b9050919050565b5f82905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680614c8a57607f821691505b602082108103614c9d57614c9c614c46565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302614cff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82614cc4565b614d098683614cc4565b95508019841693508086168417925050509392505050565b5f614d3b614d36614d3184613dd6565b614519565b613dd6565b9050919050565b5f819050919050565b614d5483614d21565b614d68614d6082614d42565b848454614cd0565b825550505050565b5f5f905090565b614d7f614d70565b614d8a818484614d4b565b505050565b5b81811015614dad57614da25f82614d77565b600181019050614d90565b5050565b601f821115614df257614dc381614ca3565b614dcc84614cb5565b81016020851015614ddb578190505b614def614de785614cb5565b830182614d8f565b50505b505050565b5f82821c905092915050565b5f614e125f1984600802614df7565b1980831691505092915050565b5f614e2a8383614e03565b9150826002028217905092915050565b614e448383614c0f565b67ffffffffffffffff811115614e5d57614e5c614c19565b5b614e678254614c73565b614e72828285614db1565b5f601f831160018114614e9f575f8415614e8d578287013590505b614e978582614e1f565b865550614efe565b601f198416614ead86614ca3565b5f5b82811015614ed457848901358255600182019150602085019450602081019050614eaf565b86831015614ef15784890135614eed601f891682614e03565b8355505b6001600288020188555050505b50505050505050565b828183375f83830152505050565b5f614f2083856143fe565b9350614f2d838584614f07565b614f368361420d565b840190509392505050565b5f6040820190508181035f830152614f5a818587614f15565b9050614f696020830184613e34565b949350505050565b7f496e73756666696369656e742064656c697374206665650000000000000000005f82015250565b5f614fa56017836143fe565b9150614fb082614f71565b602082019050919050565b5f6020820190508181035f830152614fd281614f99565b9050919050565b7f466565207472616e73666572206661696c0000000000000000000000000000005f82015250565b5f61500d6011836143fe565b915061501882614fd9565b602082019050919050565b5f6020820190508181035f83015261503a81615001565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b7f496e76616c696420636f6c6c6563746f720000000000000000000000000000005f82015250565b5f6150cf6011836143fe565b91506150da8261509b565b602082019050919050565b5f6020820190508181035f8301526150fc816150c3565b9050919050565b7f5a65726f2067656e6573697300000000000000000000000000000000000000005f82015250565b5f615137600c836143fe565b915061514282615103565b602082019050919050565b5f6020820190508181035f8301526151648161512b565b9050919050565b7f546f6b656e73203e2030000000000000000000000000000000000000000000005f82015250565b5f61519f600a836143fe565b91506151aa8261516b565b602082019050919050565b5f6020820190508181035f8301526151cc81615193565b9050919050565b7f4e6174697665203e2030000000000000000000000000000000000000000000005f82015250565b5f615207600a836143fe565b9150615212826151d3565b602082019050919050565b5f6020820190508181035f830152615234816151fb565b9050919050565b7f42616420646563696d616c7300000000000000000000000000000000000000005f82015250565b5f61526f600c836143fe565b915061527a8261523b565b602082019050919050565b5f6020820190508181035f83015261529c81615263565b9050919050565b7f4e617469766520666565206661696c00000000000000000000000000000000005f82015250565b5f6152d7600f836143fe565b91506152e2826152a3565b602082019050919050565b5f6020820190508181035f830152615304816152cb565b9050919050565b7f536861726520666565206661696c0000000000000000000000000000000000005f82015250565b5f61533f600e836143fe565b915061534a8261530b565b602082019050919050565b5f6020820190508181035f83015261536c81615333565b9050919050565b7f526566657272616c20706179206661696c0000000000000000000000000000005f82015250565b5f6153a76011836143fe565b91506153b282615373565b602082019050919050565b5f6020820190508181035f8301526153d48161539b565b9050919050565b5f6040820190506153ee5f830185613e34565b6153fb6020830184613e34565b9392505050565b7f46656520746f6f206c6f770000000000000000000000000000000000000000005f82015250565b5f615436600b836143fe565b915061544182615402565b602082019050919050565b5f6020820190508181035f8301526154638161542a565b9050919050565b7f52617465203e20300000000000000000000000000000000000000000000000005f82015250565b5f61549e6008836143fe565b91506154a98261546a565b602082019050919050565b5f6020820190508181035f8301526154cb81615492565b9050919050565b7f42616420746f6b656e00000000000000000000000000000000000000000000005f82015250565b5f6155066009836143fe565b9150615511826154d2565b602082019050919050565b5f6020820190508181035f830152615533816154fa565b9050919050565b7f416c7265616479206c69737465640000000000000000000000000000000000005f82015250565b5f61556e600e836143fe565b91506155798261553a565b602082019050919050565b5f6020820190508181035f83015261559b81615562565b9050919050565b6155ab81614255565b81146155b5575f5ffd5b50565b5f815190506155c6816155a2565b92915050565b5f602082840312156155e1576155e0613dce565b5b5f6155ee848285016155b8565b91505092915050565b5f5ffd5b6156048261420d565b810181811067ffffffffffffffff8211171561562357615622614c19565b5b80604052505050565b5f615635613dc5565b905061564182826155fb565b919050565b5f67ffffffffffffffff8211156156605761565f614c19565b5b6156698261420d565b9050602081019050919050565b5f61568861568384615646565b61562c565b9050828152602081018484840111156156a4576156a36155f7565b5b6156af8482856141ff565b509392505050565b5f82601f8301126156cb576156ca613f1c565b5b81516156db848260208601615676565b91505092915050565b5f602082840312156156f9576156f8613dce565b5b5f82015167ffffffffffffffff81111561571657615715613dd2565b5b615722848285016156b7565b91505092915050565b615734826141e5565b67ffffffffffffffff81111561574d5761574c614c19565b5b6157578254614c73565b615762828285614db1565b5f60209050601f831160018114615793575f8415615781578287015190505b61578b8582614e1f565b8655506157f2565b601f1984166157a186614ca3565b5f5b828110156157c8578489015182556001820191506020850194506020810190506157a3565b868310156157e557848901516157e1601f891682614e03565b8355505b6001600288020188555050505b505050505050565b5f60c08201905061580d5f83018a613e34565b818103602083015261582081888a614f15565b905061582f6040830187614446565b8181036060830152615841818661440e565b90508181036080830152615855818561440e565b905061586460a0830184613e34565b98975050505050505050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c005f82015250565b5f6158a4601f836143fe565b91506158af82615870565b602082019050919050565b5f6020820190508181035f8301526158d181615898565b9050919050565b5f6060820190506158eb5f830186613ef4565b6158f86020830185613ef4565b6159056040830184613e34565b94935050505056fecborAuxdataa26469706673582212206a9cd5f5bda20d3963c36cb4d9b28fcb921914112afcbe8ddf6b54a3f971f3cc64736f6c634300081e0033

CBOR Auxdata

These values are what Sourcify extracted from the recompiled bytecode. If these values are different in the on-chain bytecode, they will show up in Transformations section.

CBOR Auxdata id: 1

View on IPFS Logo
Solidity metadata.json IPFS hash: Qmb4TwYAtyUpUKssV6752DoLi6daeDpfKGRDvVrBg8P6fB
RawDecoded
Length: 53 bytes
0xa2646970667358221220bd0276118cf544e43dc92155fcc68e1af5ed278baadce4a866b75164086c4f9a64736f6c634300081e0033

Transformations

CBOR Auxdata Transformations

Byte OffsetsLength (bytes)Values
2279853
Original (recompiled):0xa2646970667358221220bd0276118cf544e43dc92155fcc68e1af5ed278baadce4a866b75164086c4f9a64736f6c634300081e0033
Transformed (onchain):0xa26469706673582212206a9cd5f5bda20d3963c36cb4d9b28fcb921914112afcbe8ddf6b54a3f971f3cc64736f6c634300081e0033

Storage Layout

SlotOffsetBytesLabelTypeContract
0032_statusuint256contracts/Revamp.sol:Revamp
1020_owneraddresscontracts/Revamp.sol:Revamp
2032referrerOfmapping(address ⇒ address)contracts/Revamp.sol:Revamp
3020genesisAddressaddresscontracts/Revamp.sol:Revamp
4032referralFeePercentuint256contracts/Revamp.sol:Revamp
5032tokenInfosmapping(address ⇒ struct Revamp.TokenInfo)contracts/Revamp.sol:Revamp
6032listedTokensaddress[]contracts/Revamp.sol:Revamp
7032listingFeeuint256contracts/Revamp.sol:Revamp
8032claimFeeuint256contracts/Revamp.sol:Revamp
9032delistFeeuint256contracts/Revamp.sol:Revamp
10020feeRecipientaddresscontracts/Revamp.sol:Revamp
11032totalListingFeesuint256contracts/Revamp.sol:Revamp
12032nativeFeePercentuint256contracts/Revamp.sol:Revamp
13020nativeFeeRecipientaddresscontracts/Revamp.sol:Revamp
14032shareholdingFeePercentuint256contracts/Revamp.sol:Revamp
15020shareholdingFeeRecipientaddresscontracts/Revamp.sol:Revamp
16032totalNativeContributeduint256contracts/Revamp.sol:Revamp
17032accRewardPerShareuint256contracts/Revamp.sol:Revamp
18032usersmapping(address ⇒ struct Revamp.UserInfo)contracts/Revamp.sol:Revamp
19032topParticipantsaddress[]contracts/Revamp.sol:Revamp
20020revampTokencontract IERC20contracts/Revamp.sol:Revamp
21020tokenCollectoraddresscontracts/Revamp.sol:Revamp

Standard JSON Input

This isn't the original compiler JSON data. Generated for compatibility.

Loading...

Standard JSON Output

This isn't the original compiler JSON data. Generated for compatibility.

Loading...
0x336109496E4334CBe6809262c526063e7D9bb1c4 on Base (8453)