0 txs
0 calls
constructor
constructor()
functions
_buyFundFee
viewfunction _buyFundFee() view returns (uint256)
_buyLPFee
viewfunction _buyLPFee() view returns (uint256)
_buyRewardFee
viewfunction _buyRewardFee() view returns (uint256)
_feeWhiteList
viewfunction _feeWhiteList(address) view returns (bool)
_mainPair
viewfunction _mainPair() view returns (address)
_rewardTokenDistributor
viewfunction _rewardTokenDistributor() view returns (address)
_sellFundFee
viewfunction _sellFundFee() view returns (uint256)
_sellLPFee
viewfunction _sellLPFee() view returns (uint256)
_sellRewardFee
viewfunction _sellRewardFee() view returns (uint256)
_swapPairList
viewfunction _swapPairList(address) view returns (bool)
_swapRouter
viewfunction _swapRouter() view returns (address)
_tokenDistributor
viewfunction _tokenDistributor() view returns (address)
airdropNumbs
viewfunction airdropNumbs() view returns (uint256)
allowance
viewfunction allowance(address owner, address spender) view returns (uint256)
antiSYNC
viewfunction antiSYNC() view returns (bool)
balanceOf
viewfunction balanceOf(address account) view returns (uint256)
buy_burnFee
viewfunction buy_burnFee() view returns (uint256)
currency
viewfunction currency() view returns (address)
decimals
viewfunction decimals() view returns (uint256)
fundAddress
viewfunction fundAddress() view returns (address)
holderRewardCondition
viewfunction holderRewardCondition() view returns (uint256)
limitEnable
viewfunction limitEnable() view returns (bool)
lpAddress
viewfunction lpAddress() view returns (address)
lpRewardGas
viewfunction lpRewardGas() view returns (uint256)
minRewardCondition
viewfunction minRewardCondition() view returns (uint256)
name
viewfunction name() view returns (string)
numTokensSellRate
viewfunction numTokensSellRate() view returns (uint256)
owner
viewfunction owner() view returns (address)
processRewardWaitBlock
viewfunction processRewardWaitBlock() view returns (uint256)
sell_burnFee
viewfunction sell_burnFee() view returns (uint256)
startLPBlock
viewfunction startLPBlock() view returns (uint256)
startTradeBlock
viewfunction startTradeBlock() view returns (uint256)
swapAtAmount
viewfunction swapAtAmount() view returns (uint256)
symbol
viewfunction symbol() view returns (string)
totalFundAmountReceive
viewfunction totalFundAmountReceive() view returns (uint256)
totalSupply
viewfunction totalSupply() view returns (uint256)
transferFee
viewfunction transferFee() view returns (uint256)
approve
nonpayablefunction approve(address spender, uint256 amount) returns (bool)
claimOut
nonpayablefunction claimOut(address to, address token, uint256 amount)
launch
nonpayablefunction launch()
renounceOwnership
nonpayablefunction renounceOwnership()
setAirdropNumbs
nonpayablefunction setAirdropNumbs(uint256 newValue)
setAntiSYNCEnable
nonpayablefunction setAntiSYNCEnable(bool s)
setExcludeHolder
nonpayablefunction setExcludeHolder(address addr, bool enable)
setFundAddress
nonpayablefunction setFundAddress(address addr)
setHolderRewardCondition
nonpayablefunction setHolderRewardCondition(uint256 amount)
setLpAddress
nonpayablefunction setLpAddress(address addr)
setLpRewardGas
nonpayablefunction setLpRewardGas(uint256 newValue)
setMinRewardCondition
nonpayablefunction setMinRewardCondition(uint256 amount)
setNumTokensSellRate
nonpayablefunction setNumTokensSellRate(uint256 newValue)
setProcessRewardWaitBlock
nonpayablefunction setProcessRewardWaitBlock(uint256 newValue)
setSwapAtAmount
nonpayablefunction setSwapAtAmount(uint256 newValue)
setSwapPairList
nonpayablefunction setSwapPairList(address addr, bool enable)
startLP
nonpayablefunction startLP()
stopLP
nonpayablefunction stopLP()
transfer
nonpayablefunction transfer(address recipient, uint256 amount) returns (bool)
transferDmc
nonpayablefunction transferDmc(address newDmc)
transferFrom
nonpayablefunction transferFrom(address sender, address recipient, uint256 amount) returns (bool)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
Approval
event Approval(address indexed owner, address indexed spender, uint256 value)
Failed_AddLiquidity
event Failed_AddLiquidity()
Failed_swapExactTokensForETHSupportingFeeOnTransferTokens
event Failed_swapExactTokensForETHSupportingFeeOnTransferTokens()
Failed_swapExactTokensForTokensSupportingFeeOnTransferTokens
event Failed_swapExactTokensForTokensSupportingFeeOnTransferTokens(uint256 value)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Transfer
event Transfer(address indexed from, address indexed to, uint256 value)
errors
No errors.
creation bytecode
0x60806040526040518060400160405280600a81526020017f447265616d20436f696e00000000000000000000000000000000000000000000815250600690816200004a919062000e2f565b506040518060400160405280600381526020017f444d4300000000000000000000000000000000000000000000000000000000008152506007908162000091919062000e2f565b5060126008556001600960006101000a81548160ff021916908315150217905550600060135560646014556000601555620557306016556001602055348015620000da57600080fd5b506000339050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350600033905080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050600854600a620001d4919062001099565b620f4240620001e49190620010ea565b600b81905550600073d6e3a2ac70cffbf3f994955860a432fc9968470d9050734530af4fdce714306e33f786b0cdf098f5be5873600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073f2b2e0e89f782f5512a5407d58793eef35038710600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507355d398326f99059ff775485246999027b3197955600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060026013819055506001601260146101000a81548160ff02191690831515021790555060007310ed43c718714eb63d5aa57b78b54704e256024e905080600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600019600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3826000196040518363ffffffff1660e01b8152600401620004639291906200118b565b6020604051808303816000875af115801562000483573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004a99190620011fa565b5060008173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620004f8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200051e91906200125d565b905060008173ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401620005819291906200128f565b6020604051808303816000875af1158015620005a1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005c791906200125d565b905080601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600b54600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600b546040516200070a9190620012bc565b60405180910390a3600019600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601b60008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601b600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000ab1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000ad791906200130a565b600a62000ae5919062001099565b601d81905550600854600a62000afc919062001099565b601e81905550600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405162000b339062000ba7565b62000b3f91906200133c565b604051809103906000f08015801562000b5c573d6000803e3d6000fd5b50600f60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505062001359565b61024c80620069e883390190565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000c3757607f821691505b60208210810362000c4d5762000c4c62000bef565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000cb77fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000c78565b62000cc3868362000c78565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000d1062000d0a62000d048462000cdb565b62000ce5565b62000cdb565b9050919050565b6000819050919050565b62000d2c8362000cef565b62000d4462000d3b8262000d17565b84845462000c85565b825550505050565b600090565b62000d5b62000d4c565b62000d6881848462000d21565b505050565b5b8181101562000d905762000d8460008262000d51565b60018101905062000d6e565b5050565b601f82111562000ddf5762000da98162000c53565b62000db48462000c68565b8101602085101562000dc4578190505b62000ddc62000dd38562000c68565b83018262000d6d565b50505b505050565b600082821c905092915050565b600062000e046000198460080262000de4565b1980831691505092915050565b600062000e1f838362000df1565b9150826002028217905092915050565b62000e3a8262000bb5565b67ffffffffffffffff81111562000e565762000e5562000bc0565b5b62000e62825462000c1e565b62000e6f82828562000d94565b600060209050601f83116001811462000ea7576000841562000e92578287015190505b62000e9e858262000e11565b86555062000f0e565b601f19841662000eb78662000c53565b60005b8281101562000ee15784890151825560018201915060208501945060208101905062000eba565b8683101562000f01578489015162000efd601f89168262000df1565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000fa45780860481111562000f7c5762000f7b62000f16565b5b600185161562000f8c5780820291505b808102905062000f9c8562000f45565b945062000f5c565b94509492505050565b60008262000fbf576001905062001092565b8162000fcf576000905062001092565b816001811462000fe8576002811462000ff35762001029565b600191505062001092565b60ff84111562001008576200100762000f16565b5b8360020a91508482111562001022576200102162000f16565b5b5062001092565b5060208310610133831016604e8410600b8410161715620010635782820a9050838111156200105d576200105c62000f16565b5b62001092565b62001072848484600162000f52565b925090508184048111156200108c576200108b62000f16565b5b81810290505b9392505050565b6000620010a68262000cdb565b9150620010b38362000cdb565b9250620010e27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000fad565b905092915050565b6000620010f78262000cdb565b9150620011048362000cdb565b9250828202620011148162000cdb565b915082820484148315176200112e576200112d62000f16565b5b5092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620011628262001135565b9050919050565b620011748162001155565b82525050565b620011858162000cdb565b82525050565b6000604082019050620011a2600083018562001169565b620011b160208301846200117a565b9392505050565b600080fd5b60008115159050919050565b620011d481620011bd565b8114620011e057600080fd5b50565b600081519050620011f481620011c9565b92915050565b600060208284031215620012135762001212620011b8565b5b60006200122384828501620011e3565b91505092915050565b620012378162001155565b81146200124357600080fd5b50565b60008151905062001257816200122c565b92915050565b600060208284031215620012765762001275620011b8565b5b6000620012868482850162001246565b91505092915050565b6000604082019050620012a6600083018562001169565b620012b5602083018462001169565b9392505050565b6000602082019050620012d360008301846200117a565b92915050565b620012e48162000cdb565b8114620012f057600080fd5b50565b6000815190506200130481620012d9565b92915050565b600060208284031215620013235762001322620011b8565b5b60006200133384828501620012f3565b91505092915050565b600060208201905062001353600083018462001169565b92915050565b61567f80620013696000396000f3fe6080604052600436106103905760003560e01c80636f5e0212116101dc578063adc7955d11610102578063e32759cf116100a0578063ea10510e1161006f578063ea10510e14610ced578063eb10b74114610d16578063ef6e4f1714610d41578063f2fde38b14610d6c57610397565b8063e32759cf14610c43578063e5a6b10f14610c6e578063e5c2b0a614610c99578063e82bef2914610cc257610397565b8063c213d62d116100dc578063c213d62d14610b87578063ce0192f914610bb0578063d285e6ab14610bdb578063dd62ed3e14610c0657610397565b8063adc7955d14610b06578063b9fbc49d14610b31578063be4fe9a514610b5c57610397565b80638da5cb5b1161017a5780639b4dc8cc116101495780639b4dc8cc14610a4a578063a842486114610a75578063a9059cbb14610a9e578063acb2ad6f14610adb57610397565b80638da5cb5b146109b25780638f6cd17d146109dd57806395d89b4114610a08578063992db38f14610a3357610397565b806378d9db1a116101b657806378d9db1a1461090a57806385dc300414610933578063869175241461095c5780638718b24f1461098757610397565b80636f5e02121461088d57806370a08231146108b6578063715018a6146108f357610397565b806335c96089116102c1578063553193ca1161025f5780636402511e1161022e5780636402511e146107e55780636482db4b1461080e57806369768b50146108375780636b6113681461086257610397565b8063553193ca1461073b5780635962dc4e14610766578063605324f214610791578063621823e6146107ba57610397565b80633c11100d1161029b5780633c11100d1461067d5780634188bf5a146106ba5780634482004e146106e55780634a9a77401461071057610397565b806335c96089146105fe5780633bb82eb6146106295780633bfe62ca1461065257610397565b806312afcc2f1161032e578063206c17bb11610308578063206c17bb1461054057806323b872dd1461056b578063255412d9146105a8578063313ce567146105d357610397565b806312afcc2f146104d557806318160ddd146104fe57806318d128551461052957610397565b8063060e304e1161036a578063060e304e1461041957806306fdde031461044257806307c3adf01461046d578063095ea7b31461049857610397565b806301339c211461039c57806301986fad146103b357806305833c2b146103f057610397565b3661039757005b600080fd5b3480156103a857600080fd5b506103b1610d95565b005b3480156103bf57600080fd5b506103da60048036038101906103d591906145aa565b610e73565b6040516103e791906145f2565b60405180910390f35b3480156103fc57600080fd5b5061041760048036038101906104129190614639565b610e93565b005b34801561042557600080fd5b50610440600480360381019061043b91906146af565b610f7e565b005b34801561044e57600080fd5b5061045761105b565b604051610464919061476c565b60405180910390f35b34801561047957600080fd5b506104826110ed565b60405161048f919061479d565b60405180910390f35b3480156104a457600080fd5b506104bf60048036038101906104ba91906147b8565b6110f2565b6040516104cc91906145f2565b60405180910390f35b3480156104e157600080fd5b506104fc60048036038101906104f791906146af565b611109565b005b34801561050a57600080fd5b506105136111a3565b604051610520919061479d565b60405180910390f35b34801561053557600080fd5b5061053e6111ad565b005b34801561054c57600080fd5b50610555611247565b6040516105629190614857565b60405180910390f35b34801561057757600080fd5b50610592600480360381019061058d9190614872565b61126d565b60405161059f91906145f2565b60405180910390f35b3480156105b457600080fd5b506105bd611413565b6040516105ca919061479d565b60405180910390f35b3480156105df57600080fd5b506105e8611418565b6040516105f5919061479d565b60405180910390f35b34801561060a57600080fd5b50610613611422565b60405161062091906145f2565b60405180910390f35b34801561063557600080fd5b50610650600480360381019061064b91906146af565b611435565b005b34801561065e57600080fd5b506106676114cf565b604051610674919061479d565b60405180910390f35b34801561068957600080fd5b506106a4600480360381019061069f91906145aa565b6114d4565b6040516106b191906145f2565b60405180910390f35b3480156106c657600080fd5b506106cf6114f4565b6040516106dc91906148d4565b60405180910390f35b3480156106f157600080fd5b506106fa61151a565b604051610707919061479d565b60405180910390f35b34801561071c57600080fd5b50610725611520565b6040516107329190614910565b60405180910390f35b34801561074757600080fd5b50610750611546565b60405161075d919061479d565b60405180910390f35b34801561077257600080fd5b5061077b61154c565b604051610788919061479d565b60405180910390f35b34801561079d57600080fd5b506107b860048036038101906107b391906146af565b611552565b005b3480156107c657600080fd5b506107cf611641565b6040516107dc919061479d565b60405180910390f35b3480156107f157600080fd5b5061080c600480360381019061080791906146af565b611647565b005b34801561081a57600080fd5b5061083560048036038101906108309190614969565b6116e1565b005b34801561084357600080fd5b5061084c6118a6565b60405161085991906145f2565b60405180910390f35b34801561086e57600080fd5b506108776118b9565b604051610884919061479d565b60405180910390f35b34801561089957600080fd5b506108b460048036038101906108af91906149bc565b6118be565b005b3480156108c257600080fd5b506108dd60048036038101906108d891906145aa565b6119ea565b6040516108ea919061479d565b60405180910390f35b3480156108ff57600080fd5b50610908611b9f565b005b34801561091657600080fd5b50610931600480360381019061092c91906145aa565b611ceb565b005b34801561093f57600080fd5b5061095a600480360381019061095591906149bc565b611e2e565b005b34801561096857600080fd5b50610971611f58565b60405161097e919061479d565b60405180910390f35b34801561099357600080fd5b5061099c611f5e565b6040516109a99190614910565b60405180910390f35b3480156109be57600080fd5b506109c7611f84565b6040516109d491906148d4565b60405180910390f35b3480156109e957600080fd5b506109f2611fad565b6040516109ff919061479d565b60405180910390f35b348015610a1457600080fd5b50610a1d611fb3565b604051610a2a919061476c565b60405180910390f35b348015610a3f57600080fd5b50610a48612045565b005b348015610a5657600080fd5b50610a5f612123565b604051610a6c91906149f8565b60405180910390f35b348015610a8157600080fd5b50610a9c6004803603810190610a979190614639565b612149565b005b348015610aaa57600080fd5b50610ac56004803603810190610ac091906147b8565b612234565b604051610ad291906145f2565b60405180910390f35b348015610ae757600080fd5b50610af061224b565b604051610afd919061479d565b60405180910390f35b348015610b1257600080fd5b50610b1b612251565b604051610b28919061479d565b60405180910390f35b348015610b3d57600080fd5b50610b46612256565b604051610b53919061479d565b60405180910390f35b348015610b6857600080fd5b50610b7161225b565b604051610b7e919061479d565b60405180910390f35b348015610b9357600080fd5b50610bae6004803603810190610ba991906146af565b612260565b005b348015610bbc57600080fd5b50610bc56122fa565b604051610bd2919061479d565b60405180910390f35b348015610be757600080fd5b50610bf06122ff565b604051610bfd919061479d565b60405180910390f35b348015610c1257600080fd5b50610c2d6004803603810190610c289190614a13565b612305565b604051610c3a919061479d565b60405180910390f35b348015610c4f57600080fd5b50610c5861238c565b604051610c65919061479d565b60405180910390f35b348015610c7a57600080fd5b50610c83612392565b604051610c9091906148d4565b60405180910390f35b348015610ca557600080fd5b50610cc06004803603810190610cbb91906146af565b6123b8565b005b348015610cce57600080fd5b50610cd7612452565b604051610ce491906149f8565b60405180910390f35b348015610cf957600080fd5b50610d146004803603810190610d0f9190614a53565b612478565b005b348015610d2257600080fd5b50610d2b612525565b604051610d38919061479d565b60405180910390f35b348015610d4d57600080fd5b50610d5661252b565b604051610d63919061479d565b60405180910390f35b348015610d7857600080fd5b50610d936004803603810190610d8e91906145aa565b612531565b005b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1c90614acc565b60405180910390fd5b601154600014610e6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6190614b38565b60405180910390fd5b43601181905550565b600a6020528060005260406000206000915054906101000a900460ff1681565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1a90614acc565b60405180910390fd5b80601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461100e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100590614acc565b60405180910390fd5b60008103611051576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104890614ba4565b60405180910390fd5b8060148190555050565b60606006805461106a90614bf3565b80601f016020809104026020016040519081016040528092919081815260200182805461109690614bf3565b80156110e35780601f106110b8576101008083540402835291602001916110e3565b820191906000526020600020905b8154815290600101906020018083116110c657829003601f168201915b5050505050905090565b606481565b60006110ff3384846126eb565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611199576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119090614acc565b60405180910390fd5b80601d8190555050565b6000600b54905090565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461123d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123490614acc565b60405180910390fd5b6000601881905550565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061127a8484846127d6565b600019600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146114085781600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113879190614c53565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600190509392505050565b606481565b6000600854905090565b601260149054906101000a900460ff1681565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114bc90614acc565b60405180910390fd5b8060208190555050565b603281565b600e6020528060005260406000206000915054906101000a900460ff1681565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60185481565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60115481565b601d5481565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d990614acc565b60405180910390fd5b62030d4081101580156115f85750621e84808111155b611637576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162e90614cd3565b60405180910390fd5b8060168190555050565b60205481565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ce90614acc565b60405180910390fd5b8060158190555050565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611771576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176890614acc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036118215760008373ffffffffffffffffffffffffffffffffffffffff16826040516117cb90614d24565b60006040518083038185875af1925050503d8060008114611808576040519150601f19603f3d011682016040523d82523d6000602084013e61180d565b606091505b505090508061181b57600080fd5b506118a1565b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84836040518363ffffffff1660e01b815260040161185c929190614d5a565b6020604051808303816000875af115801561187b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061189f9190614d98565b505b505050565b600960009054906101000a900460ff1681565b606481565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461194e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194590614acc565b60405180910390fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16148015611a965750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b8015611aae5750601260149054906101000a900460ff165b15611b5857600060026000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411611b57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b4e90614e11565b60405180910390fd5b5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2490614e7d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7290614acc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611dea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611de190614ee9565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611ebc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb390614e7d565b60405180910390fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60155481565b600f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60145481565b606060078054611fc290614bf3565b80601f0160208091040260200160405190810160405280929190818152602001828054611fee90614bf3565b801561203b5780601f106120105761010080835404028352916020019161203b565b820191906000526020600020905b81548152906001019060200180831161201e57829003601f168201915b5050505050905090565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146120d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120cc90614acc565b60405180910390fd5b60185460001461211a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161211190614f55565b60405180910390fd5b43601881905550565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146121d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121d090614acc565b60405180910390fd5b80600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60006122413384846127d6565b6001905092915050565b61019081565b603281565b603281565b60c881565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146122f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122e790614acc565b60405180910390fd5b80601e8190555050565b603281565b60165481565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60135481565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612448576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161243f90614acc565b60405180910390fd5b8060138190555050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612508576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124ff90614acc565b60405180910390fd5b80601260146101000a81548160ff02191690831515021790555050565b601e5481565b60175481565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146125bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125b690614e7d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361262e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161262590614ee9565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516127c9919061479d565b60405180910390a3505050565b6000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561285d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161285490614fc1565b60405180910390fd5b600080600080600080601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff16036128ca576128c361318f565b905061292b565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff160361292a57612927613343565b91505b5b600a60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156129cf5750600a60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156129dd57506000601354115b8015612a865750600e60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612a855750600e60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b5b15612b0c57600080600090505b601354811015612aed57808a42604051602001612ab293929190615002565b6040516020818303038152906040528051906020012060001c9150612ad98c8360016134f8565b508080612ae59061503f565b915050612a93565b506001601354612afd9190615087565b89612b089190614c53565b9850505b600060115403612cb657600a60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015612bba5750600a60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612c105750600e60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612c665750600e60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612cb557612c7489613616565b15612cb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cab90615115565b60405180910390fd5b5b5b600e60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612d575750600e60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561306657600a60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015612e005750600a60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612fb25760006011541180612e2157506018546000108015612e205750805b5b612e60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e5790615181565b60405180910390fd5b600e60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612f9b57600f60009054906101000a900460ff16158015612ecd575080155b15612f9a576000600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050601554811115612f98576000603260c860328060646032612f3791906151a1565b612f4191906151a1565b612f4b91906151a1565b612f5591906151a1565b612f5f91906151a1565b9050600060646014548c612f739190615087565b612f7d9190615204565b905082811115612f8b578290505b612f95818361362f565b50505b505b5b80158015612fa7575081155b15612fb157600195505b5b600e60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561300d5760019450613065565b600e60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561306457600193505b5b5b600e60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561310a5750600e60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561311457600192505b6131228a8a8a898888613cc5565b3073ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff161461318357848015613160575081155b806131685750825b156131775761317689613f63565b5b6131826016546140fe565b5b50505050505050505050565b600080601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000808273ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015613205573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061322991906152b7565b506dffffffffffffffffffffffffffff1691506dffffffffffffffffffffffffffff1691506000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060003073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1610156132b3578390506132b7565b8290505b60008273ffffffffffffffffffffffffffffffffffffffff166370a08231876040518263ffffffff1660e01b81526004016132f291906148d4565b602060405180830381865afa15801561330f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613333919061531f565b9050818111965050505050505090565b600080601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000808273ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156133b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133dd91906152b7565b506dffffffffffffffffffffffffffff1691506dffffffffffffffffffffffffffff1691506000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060003073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1610156134675783905061346b565b8290505b60008273ffffffffffffffffffffffffffffffffffffffff166370a08231876040518263ffffffff1660e01b81526004016134a691906148d4565b602060405180830381865afa1580156134c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134e7919061531f565b905080821015965050505050505090565b600081600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546135499190614c53565b9250508190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461359f91906151a1565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051613603919061479d565b60405180910390a3600190509392505050565b600080823b905060008163ffffffff1611915050919050565b6001600f60006101000a81548160ff02191690831515021790555060008114806136595750600082145b613ca657600060328061366c91906151a1565b90506000826002838661367f9190615087565b6136899190615204565b6136939190615204565b905060006002836136a49190615204565b846136af9190614c53565b90506000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000600267ffffffffffffffff8111156136f5576136f461534c565b5b6040519080825280602002602001820160405280156137235781602001602082028036833780820191505090505b509050308160008151811061373b5761373a61537b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16816001815181106137ac576137ab61537b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c11d79585896138309190614c53565b600084600f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b81526004016138779594939291906154a3565b600060405180830381600087803b15801561389157600080fd5b505af19250505080156138a2575060015b6138e3577f6c37756e80daba6f4df0d5bfa6cddadfe23601acc1a27dc8d4aa427de914678860006040516138d691906154fd565b60405180910390a16138e4565b5b60008273ffffffffffffffffffffffffffffffffffffffff166370a08231600f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040161394191906148d4565b602060405180830381865afa15801561395e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613982919061531f565b905060008114613a30578273ffffffffffffffffffffffffffffffffffffffff166323b872dd600f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1630846040518463ffffffff1660e01b81526004016139eb93929190615518565b6020604051808303816000875af1158015613a0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a2e9190614d98565b505b60008460028884613a419190615087565b613a4b9190615204565b613a559190615204565b9050600085603280613a6791906151a1565b84613a729190615087565b613a7c9190615204565b90506000811115613b42578473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401613ae4929190614d5a565b6020604051808303816000875af1158015613b03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b279190614d98565b508060176000828254613b3a91906151a1565b925050819055505b600087118015613b525750600082115b15613c7b57600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e8e3370030600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168a86600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518963ffffffff1660e01b8152600401613c0598979695949392919061554f565b6060604051808303816000875af1925050508015613c4157506040513d601f19601f82011682018060405250810190613c3e91906155cd565b60015b613c76577f0e944a8ae3ee1160b2678930fb103c5ceadb14ecbb4c16e311d7402f7011322c60405160405180910390a1613c7a565b5050505b5b600060c86064613c8b91906151a1565b03613c9d575050505050505050613ca6565b50505050505050505b6000600f60006101000a81548160ff0219169083151502179055505050565b83600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613d109190614c53565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008315613e4e5760008315613d8457603260c86032613d7391906151a1565b613d7d91906151a1565b9050613da0565b6064603280613d9391906151a1565b613d9d91906151a1565b90505b60006127108288613db19190615087565b613dbb9190615204565b90506000811115613de0578083613dd291906151a1565b9250613ddf89308361444f565b5b600085613e0857612710606489613df79190615087565b613e019190615204565b9050613e25565b612710606489613e189190615087565b613e229190615204565b90505b6000811115613e4a578084613e3a91906151a1565b9350613e498a61dead8361444f565b5b5050505b818015613ea55750600a60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015613efb5750600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15613f4457600061271061019087613f139190615087565b613f1d9190615204565b90506000811115613f42578082613f3491906151a1565b9150613f4188308361444f565b5b505b613f5a87878388613f559190614c53565b61444f565b50505050505050565b613f6c81613616565b6140fb57601e54613f7c826119ea565b106140fb57601a60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546000036140fa576019805490506000148061404757508073ffffffffffffffffffffffffffffffffffffffff1660196000815481106140035761400261537b565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b156140f957601980549050601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506019819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b5b50565b43602054601f5461410f91906151a1565b1161444c576000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000614146306119ea565b9050601d5481101561415957505061444c565b60006141636111a3565b9050600080600080601980549050905060008060005a90508973ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016141b491906148d4565b602060405180830381865afa1580156141d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141f5919061531f565b98505b8a8310801561420657508382105b1561443a5783601c541061421d576000601c819055505b6019601c54815481106142335761423261537b565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169650614269876119ea565b9550601e5486101580156142c75750601b60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156143f35787868a6142d99190615087565b6142e39190615204565b945060008511801561436d5750848a73ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161432a91906148d4565b602060405180830381865afa158015614347573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061436b919061531f565b115b156143f2578973ffffffffffffffffffffffffffffffffffffffff1663a9059cbb88876040518363ffffffff1660e01b81526004016143ad929190615620565b6020604051808303816000875af11580156143cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906143f09190614d98565b505b5b5a816143ff9190614c53565b8361440a91906151a1565b92505a9050601c60008154809291906144229061503f565b919050555081806144329061503f565b9250506141f8565b43601f81905550505050505050505050505b50565b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461449a91906151a1565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161453a919061479d565b60405180910390a3505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006145778261454c565b9050919050565b6145878161456c565b811461459257600080fd5b50565b6000813590506145a48161457e565b92915050565b6000602082840312156145c0576145bf614547565b5b60006145ce84828501614595565b91505092915050565b60008115159050919050565b6145ec816145d7565b82525050565b600060208201905061460760008301846145e3565b92915050565b614616816145d7565b811461462157600080fd5b50565b6000813590506146338161460d565b92915050565b600080604083850312156146505761464f614547565b5b600061465e85828601614595565b925050602061466f85828601614624565b9150509250929050565b6000819050919050565b61468c81614679565b811461469757600080fd5b50565b6000813590506146a981614683565b92915050565b6000602082840312156146c5576146c4614547565b5b60006146d38482850161469a565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156147165780820151818401526020810190506146fb565b60008484015250505050565b6000601f19601f8301169050919050565b600061473e826146dc565b61474881856146e7565b93506147588185602086016146f8565b61476181614722565b840191505092915050565b600060208201905081810360008301526147868184614733565b905092915050565b61479781614679565b82525050565b60006020820190506147b2600083018461478e565b92915050565b600080604083850312156147cf576147ce614547565b5b60006147dd85828601614595565b92505060206147ee8582860161469a565b9150509250929050565b6000819050919050565b600061481d6148186148138461454c565b6147f8565b61454c565b9050919050565b600061482f82614802565b9050919050565b600061484182614824565b9050919050565b61485181614836565b82525050565b600060208201905061486c6000830184614848565b92915050565b60008060006060848603121561488b5761488a614547565b5b600061489986828701614595565b93505060206148aa86828701614595565b92505060406148bb8682870161469a565b9150509250925092565b6148ce8161456c565b82525050565b60006020820190506148e960008301846148c5565b92915050565b60006148fa82614824565b9050919050565b61490a816148ef565b82525050565b60006020820190506149256000830184614901565b92915050565b60006149368261454c565b9050919050565b6149468161492b565b811461495157600080fd5b50565b6000813590506149638161493d565b92915050565b60008060006060848603121561498257614981614547565b5b600061499086828701614954565b93505060206149a186828701614595565b92505060406149b28682870161469a565b9150509250925092565b6000602082840312156149d2576149d1614547565b5b60006149e084828501614954565b91505092915050565b6149f28161492b565b82525050565b6000602082019050614a0d60008301846149e9565b92915050565b60008060408385031215614a2a57614a29614547565b5b6000614a3885828601614595565b9250506020614a4985828601614595565b9150509250929050565b600060208284031215614a6957614a68614547565b5b6000614a7784828501614624565b91505092915050565b7f215f646d63000000000000000000000000000000000000000000000000000000600082015250565b6000614ab66005836146e7565b9150614ac182614a80565b602082019050919050565b60006020820190508181036000830152614ae581614aa9565b9050919050565b7f616c7265616479206f70656e0000000000000000000000000000000000000000600082015250565b6000614b22600c836146e7565b9150614b2d82614aec565b602082019050919050565b60006020820190508181036000830152614b5181614b15565b9050919050565b7f67726561746572207468616e2030000000000000000000000000000000000000600082015250565b6000614b8e600e836146e7565b9150614b9982614b58565b602082019050919050565b60006020820190508181036000830152614bbd81614b81565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680614c0b57607f821691505b602082108103614c1e57614c1d614bc4565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000614c5e82614679565b9150614c6983614679565b9250828203905081811115614c8157614c80614c24565b5b92915050565b7f746f6f2068696768206f7220746f6f206c6f7700000000000000000000000000600082015250565b6000614cbd6013836146e7565b9150614cc882614c87565b602082019050919050565b60006020820190508181036000830152614cec81614cb0565b9050919050565b600081905092915050565b50565b6000614d0e600083614cf3565b9150614d1982614cfe565b600082019050919050565b6000614d2f82614d01565b9150819050919050565b6000614d4482614824565b9050919050565b614d5481614d39565b82525050565b6000604082019050614d6f6000830185614d4b565b614d7c602083018461478e565b9392505050565b600081519050614d928161460d565b92915050565b600060208284031215614dae57614dad614547565b5b6000614dbc84828501614d83565b91505092915050565b7f2173796e63000000000000000000000000000000000000000000000000000000600082015250565b6000614dfb6005836146e7565b9150614e0682614dc5565b602082019050919050565b60006020820190508181036000830152614e2a81614dee565b9050919050565b7f216f776e65720000000000000000000000000000000000000000000000000000600082015250565b6000614e676006836146e7565b9150614e7282614e31565b602082019050919050565b60006020820190508181036000830152614e9681614e5a565b9050919050565b7f6e65772069732030000000000000000000000000000000000000000000000000600082015250565b6000614ed36008836146e7565b9150614ede82614e9d565b602082019050919050565b60006020820190508181036000830152614f0281614ec6565b9050919050565b7f737461727465644164644c500000000000000000000000000000000000000000600082015250565b6000614f3f600c836146e7565b9150614f4a82614f09565b602082019050919050565b60006020820190508181036000830152614f6e81614f32565b9050919050565b7f62616c616e63654e6f74456e6f75676800000000000000000000000000000000600082015250565b6000614fab6010836146e7565b9150614fb682614f75565b602082019050919050565b60006020820190508181036000830152614fda81614f9e565b9050919050565b6000819050919050565b614ffc614ff782614679565b614fe1565b82525050565b600061500e8286614feb565b60208201915061501e8285614feb565b60208201915061502e8284614feb565b602082019150819050949350505050565b600061504a82614679565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361507c5761507b614c24565b5b600182019050919050565b600061509282614679565b915061509d83614679565b92508282026150ab81614679565b915082820484148315176150c2576150c1614c24565b5b5092915050565b7f63616e7420616464206f74686572206c70000000000000000000000000000000600082015250565b60006150ff6011836146e7565b915061510a826150c9565b602082019050919050565b6000602082019050818103600083015261512e816150f2565b9050919050565b7f70617573696e6700000000000000000000000000000000000000000000000000600082015250565b600061516b6007836146e7565b915061517682615135565b602082019050919050565b6000602082019050818103600083015261519a8161515e565b9050919050565b60006151ac82614679565b91506151b783614679565b92508282019050808211156151cf576151ce614c24565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061520f82614679565b915061521a83614679565b92508261522a576152296151d5565b5b828204905092915050565b60006dffffffffffffffffffffffffffff82169050919050565b61525881615235565b811461526357600080fd5b50565b6000815190506152758161524f565b92915050565b600063ffffffff82169050919050565b6152948161527b565b811461529f57600080fd5b50565b6000815190506152b18161528b565b92915050565b6000806000606084860312156152d0576152cf614547565b5b60006152de86828701615266565b93505060206152ef86828701615266565b9250506040615300868287016152a2565b9150509250925092565b60008151905061531981614683565b92915050565b60006020828403121561533557615334614547565b5b60006153438482850161530a565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b60006153cf6153ca6153c5846153aa565b6147f8565b614679565b9050919050565b6153df816153b4565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61541a8161456c565b82525050565b600061542c8383615411565b60208301905092915050565b6000602082019050919050565b6000615450826153e5565b61545a81856153f0565b935061546583615401565b8060005b8381101561549657815161547d8882615420565b975061548883615438565b925050600181019050615469565b5085935050505092915050565b600060a0820190506154b8600083018861478e565b6154c560208301876153d6565b81810360408301526154d78186615445565b90506154e660608301856148c5565b6154f3608083018461478e565b9695505050505050565b600060208201905061551260008301846153d6565b92915050565b600060608201905061552d60008301866148c5565b61553a60208301856148c5565b615547604083018461478e565b949350505050565b600061010082019050615565600083018b6148c5565b615572602083018a6148c5565b61557f604083018961478e565b61558c606083018861478e565b61559960808301876153d6565b6155a660a08301866153d6565b6155b360c0830185614d4b565b6155c060e083018461478e565b9998505050505050505050565b6000806000606084860312156155e6576155e5614547565b5b60006155f48682870161530a565b93505060206156058682870161530a565b92505060406156168682870161530a565b9150509250925092565b600060408201905061563560008301856148c5565b615642602083018461478e565b939250505056fea26469706673582212200e11dd97008fdecc7ad111731f96812290b79966d98725e7ca15f95453fe8af264736f6c63430008130033608060405234801561001057600080fd5b5060405161024c38038061024c8339818101604052810190610032919061011c565b8073ffffffffffffffffffffffffffffffffffffffff1663095ea7b3336000196040518363ffffffff1660e01b815260040161006f929190610171565b6020604051808303816000875af115801561008e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100b291906101d2565b50506101ff565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006100e9826100be565b9050919050565b6100f9816100de565b811461010457600080fd5b50565b600081519050610116816100f0565b92915050565b600060208284031215610132576101316100b9565b5b600061014084828501610107565b91505092915050565b610152816100de565b82525050565b6000819050919050565b61016b81610158565b82525050565b60006040820190506101866000830185610149565b6101936020830184610162565b9392505050565b60008115159050919050565b6101af8161019a565b81146101ba57600080fd5b50565b6000815190506101cc816101a6565b92915050565b6000602082840312156101e8576101e76100b9565b5b60006101f6848285016101bd565b91505092915050565b603f8061020d6000396000f3fe6080604052600080fdfea26469706673582212201ffb7dc38d04418e66207460b31d4399aaa4ffabb0231840a8814b7cdc431b0364736f6c63430008130033