0 txs
0 calls
constructor
constructor(uint256 _price, uint256 _amountPerUnits, uint256 totalSupply, uint256 _mintLimit, address _luncher, address _uniswapRouter, address _uniswapFactory, string _name, string _symbol)
functions
allowance
viewfunction allowance(address owner, address spender) view returns (uint256)
amountPerUnits
viewfunction amountPerUnits() view returns (uint256)
balanceOf
viewfunction balanceOf(address account) view returns (uint256)
decimals
viewfunction decimals() view returns (uint8)
launcher
viewfunction launcher() view returns (address)
minted
viewfunction minted() view returns (uint256)
mintLimit
viewfunction mintLimit() view returns (uint256)
name
viewfunction name() view returns (string)
price
viewfunction price() view returns (uint256)
started
viewfunction started() view returns (bool)
symbol
viewfunction symbol() view returns (string)
totalSupply
viewfunction totalSupply() view returns (uint256)
uniswapFactory
viewfunction uniswapFactory() view returns (address)
uniswapRouter
viewfunction uniswapRouter() view returns (address)
approve
nonpayablefunction approve(address spender, uint256 value) returns (bool)
transfer
nonpayablefunction transfer(address to, uint256 value) returns (bool)
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 value) returns (bool)
events
Approval
event Approval(address indexed owner, address indexed spender, uint256 value)
FairMinted
event FairMinted(address indexed to, uint256 amount, uint256 ethAmount)
LunchEvent
event LunchEvent(address indexed to, uint256 amount, uint256 ethAmount, uint256 liquidity)
RefundEvent
event RefundEvent(address indexed from, uint256 amount, uint256 bnb)
Transfer
event Transfer(address indexed from, address indexed to, uint256 value)
errors
ERC20InsufficientAllowance
error ERC20InsufficientAllowance(address spender, uint256 allowance, uint256 needed)
ERC20InsufficientBalance
error ERC20InsufficientBalance(address sender, uint256 balance, uint256 needed)
ERC20InvalidApprover
error ERC20InvalidApprover(address approver)
ERC20InvalidReceiver
error ERC20InvalidReceiver(address receiver)
ERC20InvalidSender
error ERC20InvalidSender(address sender)
ERC20InvalidSpender
error ERC20InvalidSpender(address spender)
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
creation bytecode
0x60806040523480156200001157600080fd5b5060405162003f4d38038062003f4d833981810160405281019062000037919062000c67565b818181600390816200004a919062000fc5565b5080600490816200005c919062000fc5565b505050600160058190555088600681905550876007819055506000600a60006101000a81548160ff021916908315150217905550620000a230886200019760201b60201c565b6127108688620000b39190620010db565b620000bf919062001155565b60088190555084600a60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050505050505050620016c8565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200020c5760006040517fec442f050000000000000000000000000000000000000000000000000000000081526004016200020391906200119e565b60405180910390fd5b62000220600083836200022460201b60201c565b5050565b600a60009054906101000a900460ff166200035b573073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16148015620002a25750600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b6200035557600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156200031157503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1562000354576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200034b9062001242565b60405180910390fd5b5b62000408565b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16148015620003c45750600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1562000407576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003fe90620012da565b60405180910390fd5b5b6200041b838383620004a260201b60201c565b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16148015620004845750600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156200049d576200049c8382620006d260201b60201c565b5b505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603620004f8578060026000828254620004eb9190620012fc565b92505081905550620005ce565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101562000587578381836040517fe450d38c0000000000000000000000000000000000000000000000000000000081526004016200057e9392919062001348565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000619578060026000828254039250508190555062000666565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620006c5919062001385565b60405180910390a3505050565b620006e2620009ca60201b60201c565b600a60009054906101000a900460ff161562000735576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200072c90620013f2565b60405180910390fd5b620007468262000a1160201b60201c565b1562000789576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000780906200148a565b60405180910390fd5b3273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614620007fa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620007f19062001522565b60405180910390fd5b60075481101562000842576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008399062001594565b60405180910390fd5b600060075482620008549190620015b6565b1462000897576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200088e9062001594565b60405180910390fd5b600060065460075483620008ac919062001155565b620008b89190620010db565b90506000811162000900576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008f7906200163e565b60405180910390fd5b816009600082825462000914919062001660565b925050819055508273ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801562000962573d6000803e3d6000fd5b508273ffffffffffffffffffffffffffffffffffffffff167fb24b09fd2e8e4d8904c3c26f3e935824e032891520ffda419dec9f086b0e1eea8383604051620009ad9291906200169b565b60405180910390a250620009c662000a2a60201b60201c565b5050565b60026005540362000a07576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002600581905550565b600080823b905060008163ffffffff1611915050919050565b6001600581905550565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b62000a5d8162000a48565b811462000a6957600080fd5b50565b60008151905062000a7d8162000a52565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000ab08262000a83565b9050919050565b62000ac28162000aa3565b811462000ace57600080fd5b50565b60008151905062000ae28162000ab7565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b62000b3d8262000af2565b810181811067ffffffffffffffff8211171562000b5f5762000b5e62000b03565b5b80604052505050565b600062000b7462000a34565b905062000b82828262000b32565b919050565b600067ffffffffffffffff82111562000ba55762000ba462000b03565b5b62000bb08262000af2565b9050602081019050919050565b60005b8381101562000bdd57808201518184015260208101905062000bc0565b60008484015250505050565b600062000c0062000bfa8462000b87565b62000b68565b90508281526020810184848401111562000c1f5762000c1e62000aed565b5b62000c2c84828562000bbd565b509392505050565b600082601f83011262000c4c5762000c4b62000ae8565b5b815162000c5e84826020860162000be9565b91505092915050565b60008060008060008060008060006101208a8c03121562000c8d5762000c8c62000a3e565b5b600062000c9d8c828d0162000a6c565b995050602062000cb08c828d0162000a6c565b985050604062000cc38c828d0162000a6c565b975050606062000cd68c828d0162000a6c565b965050608062000ce98c828d0162000ad1565b95505060a062000cfc8c828d0162000ad1565b94505060c062000d0f8c828d0162000ad1565b93505060e08a015167ffffffffffffffff81111562000d335762000d3262000a43565b5b62000d418c828d0162000c34565b9250506101008a015167ffffffffffffffff81111562000d665762000d6562000a43565b5b62000d748c828d0162000c34565b9150509295985092959850929598565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000dd757607f821691505b60208210810362000ded5762000dec62000d8f565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000e18565b62000e63868362000e18565b95508019841693508086168417925050509392505050565b6000819050919050565b600062000ea662000ea062000e9a8462000a48565b62000e7b565b62000a48565b9050919050565b6000819050919050565b62000ec28362000e85565b62000eda62000ed18262000ead565b84845462000e25565b825550505050565b600090565b62000ef162000ee2565b62000efe81848462000eb7565b505050565b5b8181101562000f265762000f1a60008262000ee7565b60018101905062000f04565b5050565b601f82111562000f755762000f3f8162000df3565b62000f4a8462000e08565b8101602085101562000f5a578190505b62000f7262000f698562000e08565b83018262000f03565b50505b505050565b600082821c905092915050565b600062000f9a6000198460080262000f7a565b1980831691505092915050565b600062000fb5838362000f87565b9150826002028217905092915050565b62000fd08262000d84565b67ffffffffffffffff81111562000fec5762000feb62000b03565b5b62000ff8825462000dbe565b6200100582828562000f2a565b600060209050601f8311600181146200103d576000841562001028578287015190505b62001034858262000fa7565b865550620010a4565b601f1984166200104d8662000df3565b60005b82811015620010775784890151825560018201915060208501945060208101905062001050565b8683101562001097578489015162001093601f89168262000f87565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620010e88262000a48565b9150620010f58362000a48565b9250828202620011058162000a48565b915082820484148315176200111f576200111e620010ac565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620011628262000a48565b91506200116f8362000a48565b92508262001182576200118162001126565b5b828204905092915050565b620011988162000aa3565b82525050565b6000602082019050620011b560008301846200118d565b92915050565b600082825260208201905092915050565b7f466169724d696e743a20616c6c20746f6b656e7320617265206c6f636b65642060008201527f756e74696c206c61756e63682e00000000000000000000000000000000000000602082015250565b60006200122a602d83620011bb565b91506200123782620011cc565b604082019050919050565b600060208201905081810360008301526200125d816200121b565b9050919050565b7f466169724d696e743a20596f752063616e206e6f742073656e6420746f6b656e60008201527f20746f20636f6e7472616374206166746572206c61756e636865642e00000000602082015250565b6000620012c2603c83620011bb565b9150620012cf8262001264565b604082019050919050565b60006020820190508181036000830152620012f581620012b3565b9050919050565b6000620013098262000a48565b9150620013168362000a48565b9250828201905080821115620013315762001330620010ac565b5b92915050565b620013428162000a48565b82525050565b60006060820190506200135f60008301866200118d565b6200136e602083018562001337565b6200137d604083018462001337565b949350505050565b60006020820190506200139c600083018462001337565b92915050565b7f466169724d696e743a20616c7265616479207374617274656400000000000000600082015250565b6000620013da601983620011bb565b9150620013e782620013a2565b602082019050919050565b600060208201905081810360008301526200140d81620013cb565b9050919050565b7f466169724d696e743a2063616e206e6f7420726566756e6420746f20636f6e7460008201527f7261637400000000000000000000000000000000000000000000000000000000602082015250565b600062001472602483620011bb565b91506200147f8262001414565b604082019050919050565b60006020820190508181036000830152620014a58162001463565b9050919050565b7f466169724d696e743a2063616e206e6f7420726566756e6420746f20636f6e7460008201527f726163742e000000000000000000000000000000000000000000000000000000602082015250565b60006200150a602583620011bb565b91506200151782620014ac565b604082019050919050565b600060208201905081810360008301526200153d81620014fb565b9050919050565b7f466169724d696e743a2076616c7565206e6f74206d6174636800000000000000600082015250565b60006200157c601983620011bb565b9150620015898262001544565b602082019050919050565b60006020820190508181036000830152620015af816200156d565b9050919050565b6000620015c38262000a48565b9150620015d08362000a48565b925082620015e357620015e262001126565b5b828206905092915050565b7f466169724d696e743a206e6f20726566756e6400000000000000000000000000600082015250565b600062001626601383620011bb565b91506200163382620015ee565b602082019050919050565b60006020820190508181036000830152620016598162001617565b9050919050565b60006200166d8262000a48565b91506200167a8362000a48565b9250828203905081811115620016955762001694620010ac565b5b92915050565b6000604082019050620016b2600083018562001337565b620016c1602083018462001337565b9392505050565b61287580620016d86000396000f3fe6080604052600436106101025760003560e01c806370a0823111610095578063996517cf11610064578063996517cf1461042f578063a035b1fe1461045a578063a9059cbb14610485578063dd62ed3e146104c2578063f95b5514146104ff576101f0565b806370a0823114610371578063735de9f7146103ae5780638bdb2afa146103d957806395d89b4114610404576101f0565b80631f2698ab116100d15780631f2698ab146102b357806323b872dd146102de578063313ce5671461031b5780634f02c42014610346576101f0565b806306fdde03146101f5578063095ea7b31461022057806316eebd1e1461025d57806318160ddd14610288576101f0565b366101f0576601c6bf526340003414801561012a5750600a60009054906101000a900460ff16155b156101e557600854600954036101475761014261052a565b6101e0565b600a60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146101d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101ce90611c44565b60405180910390fd5b6101df61052a565b5b6101ee565b6101ed610a1d565b5b005b600080fd5b34801561020157600080fd5b5061020a610cfd565b6040516102179190611ce3565b60405180910390f35b34801561022c57600080fd5b5061024760048036038101906102429190611d9e565b610d8f565b6040516102549190611df9565b60405180910390f35b34801561026957600080fd5b50610272610db2565b60405161027f9190611e23565b60405180910390f35b34801561029457600080fd5b5061029d610dd8565b6040516102aa9190611e4d565b60405180910390f35b3480156102bf57600080fd5b506102c8610de2565b6040516102d59190611df9565b60405180910390f35b3480156102ea57600080fd5b5061030560048036038101906103009190611e68565b610df5565b6040516103129190611df9565b60405180910390f35b34801561032757600080fd5b50610330610e24565b60405161033d9190611ed7565b60405180910390f35b34801561035257600080fd5b5061035b610e2d565b6040516103689190611e4d565b60405180910390f35b34801561037d57600080fd5b5061039860048036038101906103939190611ef2565b610e33565b6040516103a59190611e4d565b60405180910390f35b3480156103ba57600080fd5b506103c3610e7b565b6040516103d09190611e23565b60405180910390f35b3480156103e557600080fd5b506103ee610ea1565b6040516103fb9190611e23565b60405180910390f35b34801561041057600080fd5b50610419610ec7565b6040516104269190611ce3565b60405180910390f35b34801561043b57600080fd5b50610444610f59565b6040516104519190611e4d565b60405180910390f35b34801561046657600080fd5b5061046f610f5f565b60405161047c9190611e4d565b60405180910390f35b34801561049157600080fd5b506104ac60048036038101906104a79190611d9e565b610f65565b6040516104b99190611df9565b60405180910390f35b3480156104ce57600080fd5b506104e960048036038101906104e49190611f1f565b610f88565b6040516104f69190611e4d565b60405180910390f35b34801561050b57600080fd5b5061051461100f565b6040516105219190611e4d565b60405180910390f35b600a60009054906101000a900460ff161561057a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057190611fab565b60405180910390fd5b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061060d9190611fe0565b90506000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e6a4390530846040518363ffffffff1660e01b815260040161066e92919061200d565b602060405180830381865afa15801561068b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106af9190611fe0565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361078857600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c9c6539630846040518363ffffffff1660e01b815260040161074292919061200d565b6020604051808303816000875af1158015610761573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107859190611fe0565b90505b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e6a4390530846040518363ffffffff1660e01b81526004016107e592919061200d565b602060405180830381865afa158015610802573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108269190611fe0565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361086557610864612036565b5b6001600a60006101000a81548160ff0219169083151502179055506000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060006108b230610e33565b90506000600954826108c49190612094565b90506108d03082611015565b61091d30600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff611097565b60008060008573ffffffffffffffffffffffffffffffffffffffff1663f305d71947306009546009544730620151804261095791906120c8565b6040518863ffffffff1660e01b8152600401610978969594939291906120fc565b60606040518083038185885af1158015610996573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109bb9190612172565b9250925092503073ffffffffffffffffffffffffffffffffffffffff167f12a6b3d75229eabd5144023a37b7c6e2e458c56c02d59cb6e9c905c869d943b5848484604051610a0b939291906121c5565b60405180910390a25050505050505050565b610a256110a9565b600654341015610a6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6190612248565b60405180910390fd5b610a73336110ef565b15610ab3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aaa906122da565b60405180910390fd5b3273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b189061236c565b60405180910390fd5b600a60009054906101000a900460ff1615610b71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6890611fab565b60405180910390fd5b600060065434610b8191906123bb565b9050600060065482610b9391906123ec565b905060008134610ba39190612094565b905060085460075484610bb691906123ec565b600954610bc391906120c8565b1115610c04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bfb9061247a565b60405180910390fd5b610c1c303360075486610c1791906123ec565b611108565b60075483610c2a91906123ec565b60096000828254610c3b91906120c8565b925050819055503373ffffffffffffffffffffffffffffffffffffffff167f89465d28e06b66e9452c0d4914497293f7cd7350ce4ba96a31a74d8048c61f9660075485610c8891906123ec565b84604051610c9792919061249a565b60405180910390a26000811115610cf0573373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610cee573d6000803e3d6000fd5b505b505050610cfb6111fc565b565b606060038054610d0c906124f2565b80601f0160208091040260200160405190810160405280929190818152602001828054610d38906124f2565b8015610d855780601f10610d5a57610100808354040283529160200191610d85565b820191906000526020600020905b815481529060010190602001808311610d6857829003601f168201915b5050505050905090565b600080610d9a611206565b9050610da7818585611097565b600191505092915050565b600a60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600254905090565b600a60009054906101000a900460ff1681565b600080610e00611206565b9050610e0d85828561120e565b610e18858585611108565b60019150509392505050565b60006012905090565b60095481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060048054610ed6906124f2565b80601f0160208091040260200160405190810160405280929190818152602001828054610f02906124f2565b8015610f4f5780601f10610f2457610100808354040283529160200191610f4f565b820191906000526020600020905b815481529060010190602001808311610f3257829003601f168201915b5050505050905090565b60085481565b60065481565b600080610f70611206565b9050610f7d818585611108565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60075481565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036110875760006040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260040161107e9190611e23565b60405180910390fd5b611093826000836112a2565b5050565b6110a48383836001611502565b505050565b6002600554036110e5576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002600581905550565b600080823b905060008163ffffffff1611915050919050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361117a5760006040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081526004016111719190611e23565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111ec5760006040517fec442f050000000000000000000000000000000000000000000000000000000081526004016111e39190611e23565b60405180910390fd5b6111f78383836112a2565b505050565b6001600581905550565b600033905090565b600061121a8484610f88565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461129c578181101561128c578281836040517ffb8f41b200000000000000000000000000000000000000000000000000000000815260040161128393929190612523565b60405180910390fd5b61129b84848484036000611502565b5b50505050565b600a60009054906101000a900460ff166113d1573073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614801561131e5750600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b6113cc57600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561138b57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156113cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c2906125cc565b60405180910390fd5b5b61147a565b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156114395750600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611479576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114709061265e565b60405180910390fd5b5b6114858383836116d9565b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156114ed5750600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156114fd576114fc83826118fe565b5b505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036115745760006040517fe602df0500000000000000000000000000000000000000000000000000000000815260040161156b9190611e23565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036115e65760006040517f94280d620000000000000000000000000000000000000000000000000000000081526004016115dd9190611e23565b60405180910390fd5b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080156116d3578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516116ca9190611e4d565b60405180910390a35b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361172b57806002600082825461171f91906120c8565b925050819055506117fe565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156117b7578381836040517fe450d38c0000000000000000000000000000000000000000000000000000000081526004016117ae93929190612523565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036118475780600260008282540392505081905550611894565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118f19190611e4d565b60405180910390a3505050565b6119066110a9565b600a60009054906101000a900460ff1615611956576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194d90611fab565b60405180910390fd5b61195f826110ef565b1561199f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611996906126f0565b60405180910390fd5b3273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611a0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a0490612782565b60405180910390fd5b600754811015611a52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4990612248565b60405180910390fd5b600060075482611a6291906127a2565b14611aa2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9990612248565b60405180910390fd5b600060065460075483611ab591906123bb565b611abf91906123ec565b905060008111611b04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611afb9061281f565b60405180910390fd5b8160096000828254611b169190612094565b925050819055508273ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611b63573d6000803e3d6000fd5b508273ffffffffffffffffffffffffffffffffffffffff167fb24b09fd2e8e4d8904c3c26f3e935824e032891520ffda419dec9f086b0e1eea8383604051611bac92919061249a565b60405180910390a250611bbd6111fc565b5050565b600082825260208201905092915050565b7f466169724d696e743a206f6e6c79206c61756e636865722063616e207374617260008201527f7400000000000000000000000000000000000000000000000000000000000000602082015250565b6000611c2e602183611bc1565b9150611c3982611bd2565b604082019050919050565b60006020820190508181036000830152611c5d81611c21565b9050919050565b600081519050919050565b60005b83811015611c8d578082015181840152602081019050611c72565b60008484015250505050565b6000601f19601f8301169050919050565b6000611cb582611c64565b611cbf8185611bc1565b9350611ccf818560208601611c6f565b611cd881611c99565b840191505092915050565b60006020820190508181036000830152611cfd8184611caa565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611d3582611d0a565b9050919050565b611d4581611d2a565b8114611d5057600080fd5b50565b600081359050611d6281611d3c565b92915050565b6000819050919050565b611d7b81611d68565b8114611d8657600080fd5b50565b600081359050611d9881611d72565b92915050565b60008060408385031215611db557611db4611d05565b5b6000611dc385828601611d53565b9250506020611dd485828601611d89565b9150509250929050565b60008115159050919050565b611df381611dde565b82525050565b6000602082019050611e0e6000830184611dea565b92915050565b611e1d81611d2a565b82525050565b6000602082019050611e386000830184611e14565b92915050565b611e4781611d68565b82525050565b6000602082019050611e626000830184611e3e565b92915050565b600080600060608486031215611e8157611e80611d05565b5b6000611e8f86828701611d53565b9350506020611ea086828701611d53565b9250506040611eb186828701611d89565b9150509250925092565b600060ff82169050919050565b611ed181611ebb565b82525050565b6000602082019050611eec6000830184611ec8565b92915050565b600060208284031215611f0857611f07611d05565b5b6000611f1684828501611d53565b91505092915050565b60008060408385031215611f3657611f35611d05565b5b6000611f4485828601611d53565b9250506020611f5585828601611d53565b9150509250929050565b7f466169724d696e743a20616c7265616479207374617274656400000000000000600082015250565b6000611f95601983611bc1565b9150611fa082611f5f565b602082019050919050565b60006020820190508181036000830152611fc481611f88565b9050919050565b600081519050611fda81611d3c565b92915050565b600060208284031215611ff657611ff5611d05565b5b600061200484828501611fcb565b91505092915050565b60006040820190506120226000830185611e14565b61202f6020830184611e14565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061209f82611d68565b91506120aa83611d68565b92508282039050818111156120c2576120c1612065565b5b92915050565b60006120d382611d68565b91506120de83611d68565b92508282019050808211156120f6576120f5612065565b5b92915050565b600060c0820190506121116000830189611e14565b61211e6020830188611e3e565b61212b6040830187611e3e565b6121386060830186611e3e565b6121456080830185611e14565b61215260a0830184611e3e565b979650505050505050565b60008151905061216c81611d72565b92915050565b60008060006060848603121561218b5761218a611d05565b5b60006121998682870161215d565b93505060206121aa8682870161215d565b92505060406121bb8682870161215d565b9150509250925092565b60006060820190506121da6000830186611e3e565b6121e76020830185611e3e565b6121f46040830184611e3e565b949350505050565b7f466169724d696e743a2076616c7565206e6f74206d6174636800000000000000600082015250565b6000612232601983611bc1565b915061223d826121fc565b602082019050919050565b6000602082019050818103600083015261226181612225565b9050919050565b7f466169724d696e743a2063616e206e6f74206d696e7420746f20636f6e74726160008201527f6374000000000000000000000000000000000000000000000000000000000000602082015250565b60006122c4602283611bc1565b91506122cf82612268565b604082019050919050565b600060208201905081810360008301526122f3816122b7565b9050919050565b7f466169724d696e743a2063616e206e6f74206d696e7420746f20636f6e74726160008201527f63742e0000000000000000000000000000000000000000000000000000000000602082015250565b6000612356602383611bc1565b9150612361826122fa565b604082019050919050565b6000602082019050818103600083015261238581612349565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006123c682611d68565b91506123d183611d68565b9250826123e1576123e061238c565b5b828204905092915050565b60006123f782611d68565b915061240283611d68565b925082820261241081611d68565b9150828204841483151761242757612426612065565b5b5092915050565b7f466169724d696e743a20657863656564206d617820737570706c790000000000600082015250565b6000612464601b83611bc1565b915061246f8261242e565b602082019050919050565b6000602082019050818103600083015261249381612457565b9050919050565b60006040820190506124af6000830185611e3e565b6124bc6020830184611e3e565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061250a57607f821691505b60208210810361251d5761251c6124c3565b5b50919050565b60006060820190506125386000830186611e14565b6125456020830185611e3e565b6125526040830184611e3e565b949350505050565b7f466169724d696e743a20616c6c20746f6b656e7320617265206c6f636b65642060008201527f756e74696c206c61756e63682e00000000000000000000000000000000000000602082015250565b60006125b6602d83611bc1565b91506125c18261255a565b604082019050919050565b600060208201905081810360008301526125e5816125a9565b9050919050565b7f466169724d696e743a20596f752063616e206e6f742073656e6420746f6b656e60008201527f20746f20636f6e7472616374206166746572206c61756e636865642e00000000602082015250565b6000612648603c83611bc1565b9150612653826125ec565b604082019050919050565b600060208201905081810360008301526126778161263b565b9050919050565b7f466169724d696e743a2063616e206e6f7420726566756e6420746f20636f6e7460008201527f7261637400000000000000000000000000000000000000000000000000000000602082015250565b60006126da602483611bc1565b91506126e58261267e565b604082019050919050565b60006020820190508181036000830152612709816126cd565b9050919050565b7f466169724d696e743a2063616e206e6f7420726566756e6420746f20636f6e7460008201527f726163742e000000000000000000000000000000000000000000000000000000602082015250565b600061276c602583611bc1565b915061277782612710565b604082019050919050565b6000602082019050818103600083015261279b8161275f565b9050919050565b60006127ad82611d68565b91506127b883611d68565b9250826127c8576127c761238c565b5b828206905092915050565b7f466169724d696e743a206e6f20726566756e6400000000000000000000000000600082015250565b6000612809601383611bc1565b9150612814826127d3565b602082019050919050565b60006020820190508181036000830152612838816127fc565b905091905056fea2646970667358221220bd0eeb3fd49d47e976450ce88eb13ac2764c7bc7adeb248959a86fa86b085f4f64736f6c6343000813003300000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000d3c21bcecceda100000000000000000000000000000000000000000000000000000000000000000003e80000000000000000000000000a6f13a3f415316174f9c216cfa274343fe0f150000000000000000000000000c873fecbd354f5a56e00e710b90ef4201db2448d0000000000000000000000006eccab422d763ac031210895c81787e87b43a652000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000004544553540000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045445535400000000000000000000000000000000000000000000000000000000