0 txs
0 calls
constructor
No constructor.
functions
balanceOf
viewfunction balanceOf(address user) view returns (uint256)
BASIS_POINTS
viewfunction BASIS_POINTS() view returns (uint256)
claimDelay
viewfunction claimDelay() view returns (uint256)
duration
viewfunction duration() view returns (uint256)
ethFees
viewfunction ethFees() view returns (uint256)
ethVirtualReserve
viewfunction ethVirtualReserve() view returns (uint256)
ethWeighted
viewfunction ethWeighted() view returns (uint256)
FEE_BASIS_POINTS
viewfunction FEE_BASIS_POINTS() view returns (uint256)
fetchTrades
viewfunction fetchTrades() view returns (uint256[])
fetchTradesCustomTime
viewfunction fetchTradesCustomTime(uint256 tradesPerCandle) view returns (uint256[])
firstTradeTimeStamp
viewfunction firstTradeTimeStamp() view returns (uint256)
getEthIn
viewfunction getEthIn(uint256 tokensDesired) view returns (uint256)
getEthOut
viewfunction getEthOut(uint256 amountTokens) view returns (uint256)
getEthOutWithFee
viewfunction getEthOutWithFee(uint256 amountTokens) view returns (uint256)
getTokensIn
viewfunction getTokensIn(uint256 ethDesired) view returns (uint256)
getTokensOut
viewfunction getTokensOut(uint256 amountEth) view returns (uint256)
lastTradeTimeStamp
viewfunction lastTradeTimeStamp() view returns (uint256)
maxTradesForChart
viewfunction maxTradesForChart() view returns (uint256)
multicall
viewfunction multicall(address user) view returns (tuple)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
pauseTimeStamp
viewfunction pauseTimeStamp() view returns (uint256)
PRECISION
viewfunction PRECISION() view returns (uint256)
purchasedTokens
viewfunction purchasedTokens(address) view returns (uint256)
securedEthFromTokenFees
viewfunction securedEthFromTokenFees() view returns (uint256)
startTime
viewfunction startTime() view returns (uint256)
timeElapsed
viewfunction timeElapsed() view returns (uint256)
timeLeft
viewfunction timeLeft() view returns (uint256)
token
viewfunction token() view returns (address)
tokenFees
viewfunction tokenFees() view returns (uint256)
tokenFeesInEth
viewfunction tokenFeesInEth() view returns (uint256)
tokensPerWei
viewfunction tokensPerWei() view returns (uint256)
tokensVirtualReserve
viewfunction tokensVirtualReserve() view returns (uint256)
tokensWeighted
viewfunction tokensWeighted() view returns (uint256)
totalClaimed
viewfunction totalClaimed() view returns (uint256)
totalFeesInEth
viewfunction totalFeesInEth() view returns (uint256)
totalPurchased
viewfunction totalPurchased() view returns (uint256)
totalTrades
viewfunction totalTrades() view returns (uint256)
tradePrice
viewfunction tradePrice(uint256) view returns (uint256)
viewChart
viewfunction viewChart(uint256 start, uint256 end) view returns (uint256[])
viewChartCustomTime
viewfunction viewChartCustomTime(uint256 tradesPerCandle) view returns (uint256[])
viewChartPro
viewfunction viewChartPro() view returns (uint256[])
viewClaimAllowedTimeStamp
viewfunction viewClaimAllowedTimeStamp() view returns (uint256)
viewEndTime
viewfunction viewEndTime() view returns (uint256)
weightEth
viewfunction weightEth() view returns (uint256)
weightEthEnd
viewfunction weightEthEnd() view returns (uint256)
weightEthStart
viewfunction weightEthStart() view returns (uint256)
weightTokens
viewfunction weightTokens() view returns (uint256)
weightTokensEnd
viewfunction weightTokensEnd() view returns (uint256)
weightTokensStart
viewfunction weightTokensStart() view returns (uint256)
weth
viewfunction weth() view returns (address)
beginRaise
nonpayablefunction beginRaise()
claimTokens
nonpayablefunction claimTokens()
fundInitial
nonpayablefunction fundInitial(uint256 amount)
initialize
nonpayablefunction initialize(uint256 _duration, address _wethAddress)
invest
nonpayablefunction invest(uint256 ethAmount, uint256 minTokensOut, uint256 deadline)
pause
nonpayablefunction pause()
recoverEth
nonpayablefunction recoverEth(uint256 amount)
recoverTokens
nonpayablefunction recoverTokens(address tokenAddress, uint256 amount)
renounceOwnership
nonpayablefunction renounceOwnership()
sell
nonpayablefunction sell(uint256 amountTokens, uint256 minEthOut, uint256 deadline)
setDelay
nonpayablefunction setDelay(uint256 _claimDelay)
setMaxTradesForChart
nonpayablefunction setMaxTradesForChart(uint256 _maxTradesForChart)
setToken
nonpayablefunction setToken(address _tokenAddress)
setWethAddress
nonpayablefunction setWethAddress(address _wethAddress)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unpause
nonpayablefunction unpause()
withdraw
nonpayablefunction withdraw()
withdrawFeesToken
nonpayablefunction withdrawFeesToken()
withdrawFeesWETH
nonpayablefunction withdrawFeesWETH()
events
Funded
event Funded(uint256 amount)
Invest
event Invest(address indexed user, uint256 amount, uint256 tokensReceived, uint256 feePaid)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Paused
event Paused(address account)
Sell
event Sell(address indexed user, uint256 amount, uint256 ethReceived, uint256 securedEth)
Unpaused
event Unpaused(address account)
Withdrawn
event Withdrawn(address indexed user, uint256 amount)
errors
No errors.
creation bytecode
0x60806040526a3e09de2596099e2b000000600455662386f26fc10000600655670c7d713b49da0000600755670dbd2fc137a3000060085567016345785d8a00006009556202a300600c556048600e553480156200005b57600080fd5b5062000067336200007b565b600180556002805460ff19169055620000cb565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6134ab80620000db6000396000f3fe6080604052600436106104095760003560e01c80638a7cd19911610213578063bd06b5f411610123578063e1f1c4a7116100ab578063f28b75511161007a578063f28b755114610b27578063f2fde38b14610b3c578063f9c58ce014610b5c578063fc0c546a14610b89578063fc4e449514610bae57600080fd5b8063e1f1c4a714610acf578063e275c99714610ae5578063e632c2f314610afb578063f27e3b2714610b1157600080fd5b8063d752f2ad116100f2578063d752f2ad14610a50578063da35a26f14610a65578063dc2cf3f514610a85578063e177246e14610a9a578063e198824214610aba57600080fd5b8063bd06b5f4146109ef578063c35f1d4914610a05578063d3c9727c14610a1a578063d54ad2a114610a3a57600080fd5b8063a525ad3c116101a6578063af2f2fbe11610175578063af2f2fbe1461096e578063af7118b914610984578063b0f66ab7146109a4578063b2ff2410146109ba578063b8f4b46e146109da57600080fd5b8063a525ad3c14610907578063a96e24231461091c578063aaf5eb681461093c578063ab731cfa1461095857600080fd5b80638fe44729116101e25780638fe447291461088f57806397541e9f146108a557806398cf549d146108d2578063a4428856146108e757600080fd5b80638a7cd1991461081b5780638b7dd3c41461083b5780638b81d62e146108515780638da5cb5b1461087157600080fd5b80633fc8cef3116103195780636fa476a4116102a15780637814ba81116102705780637814ba81146107a457806378e97925146107ba57806379aba36d146107d05780638456cb59146107f05780638a7b4d561461080557600080fd5b80636fa476a4146107435780636fbf9f881461075857806370a082311461076e578063715018a61461078f57600080fd5b80634e25b08b116102e85780634e25b08b146106b55780635a3afecf146106d55780635c975abb146106ea57806366771e971461070d578063698230b71461072d57600080fd5b80633fc8cef3146106255780634558ea2f1461065d57806348c54b9d146106735780634bae6f3f1461068857600080fd5b80631c8ec2991161039c57806322d60d171161036b57806322d60d17146105b1578063281a320f146105c65780633accaf10146105e65780633ccfd60b146105fb5780633f4ba83a1461061057600080fd5b80631c8ec299146105505780631d66ad6a146105665780631f35355d1461057b5780631f5f3b2f1461059157600080fd5b80630fb5a6b4116103d85780630fb5a6b4146104f05780631300a6d114610506578063144fa6d71461051b57806316f8ae611461053b57600080fd5b8063069c9fae14610459578063089a122c1461047b5780630a24005e146104ae5780630b90c55d146104c357600080fd5b366104545760405162461bcd60e51b8152602060048201526016602482015275139bc8191a5c9958dd08115512081858d8d95c1d195960521b60448201526064015b60405180910390fd5b600080fd5b34801561046557600080fd5b50610479610474366004612fcb565b610bc3565b005b34801561048757600080fd5b5061049b610496366004612ff5565b610bf5565b6040519081526020015b60405180910390f35b3480156104ba57600080fd5b50610479610ca9565b3480156104cf57600080fd5b506104e36104de36600461300e565b610d61565b6040516104a59190613030565b3480156104fc57600080fd5b5061049b600b5481565b34801561051257600080fd5b5061049b610e64565b34801561052757600080fd5b50610479610536366004613074565b610ea5565b34801561054757600080fd5b5061049b610ed5565b34801561055c57600080fd5b5061049b600c5481565b34801561057257600080fd5b5061049b610eff565b34801561058757600080fd5b5061049b60075481565b34801561059d57600080fd5b5061049b6105ac366004612ff5565b610f21565b3480156105bd57600080fd5b5061049b610f94565b3480156105d257600080fd5b5061049b6105e1366004612ff5565b610fdd565b3480156105f257600080fd5b5061049b61107b565b34801561060757600080fd5b50610479611095565b34801561061c57600080fd5b506104796111bc565b34801561063157600080fd5b50600354610645906001600160a01b031681565b6040516001600160a01b0390911681526020016104a5565b34801561066957600080fd5b5061049b60065481565b34801561067f57600080fd5b506104796111fa565b34801561069457600080fd5b5061049b6106a3366004613074565b60176020526000908152604090205481565b3480156106c157600080fd5b506104796106d0366004612ff5565b61140b565b3480156106e157600080fd5b506104796114a8565b3480156106f657600080fd5b5060025460ff1660405190151581526020016104a5565b34801561071957600080fd5b50610479610728366004612ff5565b6115e9565b34801561073957600080fd5b5061049b60115481565b34801561074f57600080fd5b5061049b61162c565b34801561076457600080fd5b5061049b600e5481565b34801561077a57600080fd5b5061049b610789366004613074565b50600090565b34801561079b57600080fd5b50610479611639565b3480156107b057600080fd5b5061049b60165481565b3480156107c657600080fd5b5061049b600a5481565b3480156107dc57600080fd5b506104796107eb366004613096565b61164b565b3480156107fc57600080fd5b50610479611a69565b34801561081157600080fd5b5061049b600d5481565b34801561082757600080fd5b50610479610836366004612ff5565b611a7f565b34801561084757600080fd5b5061049b60085481565b34801561085d57600080fd5b506104e361086c366004612ff5565b611a8c565b34801561087d57600080fd5b506000546001600160a01b0316610645565b34801561089b57600080fd5b5061049b60145481565b3480156108b157600080fd5b506108c56108c0366004613074565b611bb2565b6040516104a591906130c2565b3480156108de57600080fd5b506104796120c3565b3480156108f357600080fd5b506104e3610902366004612ff5565b612139565b34801561091357600080fd5b5061049b60c881565b34801561092857600080fd5b50610479610937366004613074565b612144565b34801561094857600080fd5b5061049b670de0b6b3a764000081565b34801561096457600080fd5b5061049b60155481565b34801561097a57600080fd5b5061049b60105481565b34801561099057600080fd5b5061049b61099f366004612ff5565b61216e565b3480156109b057600080fd5b5061049b60055481565b3480156109c657600080fd5b5061049b6109d5366004612ff5565b61219b565b3480156109e657600080fd5b5061049b612208565b3480156109fb57600080fd5b5061049b60095481565b348015610a1157600080fd5b506104e3612228565b348015610a2657600080fd5b50610479610a35366004613096565b612397565b348015610a4657600080fd5b5061049b60135481565b348015610a5c57600080fd5b5061049b612837565b348015610a7157600080fd5b50610479610a8036600461329d565b6128dd565b348015610a9157600080fd5b5061049b61290c565b348015610aa657600080fd5b50610479610ab5366004612ff5565b612948565b348015610ac657600080fd5b5061049b612955565b348015610adb57600080fd5b5061049b61271081565b348015610af157600080fd5b5061049b600f5481565b348015610b0757600080fd5b5061049b60125481565b348015610b1d57600080fd5b5061049b60045481565b348015610b3357600080fd5b5061049b612974565b348015610b4857600080fd5b50610479610b57366004613074565b612a13565b348015610b6857600080fd5b5061049b610b77366004612ff5565b60186020526000908152604090205481565b348015610b9557600080fd5b506002546106459061010090046001600160a01b031681565b348015610bba57600080fd5b506104e3612a8c565b610bcb612a9b565b610bf1610be06000546001600160a01b031690565b6001600160a01b0384169083612af5565b5050565b600080610c00612208565b90506000610c0c610ed5565b90508382111580610c1b575080155b80610c24575083155b15610c3457506000199392505050565b6000612710610c4386846132df565b610c4d91906132df565b90506000610c5e60c86127106132f6565b610c6887866132f6565b610c7291906132df565b90506000610c80828461331f565b9050610c8c8284613333565b15610c9f57610c9c600182613347565b90505b9695505050505050565b610cb1612a9b565b610cb9612b58565b600a5415610d095760405162461bcd60e51b815260206004820152601760248201527f41756374696f6e20616c72656164792073746172746564000000000000000000604482015260640161044b565b600060055411610d5b5760405162461bcd60e51b815260206004820152601960248201527f4d7573742066756e6420696e697469616c207265736572766500000000000000604482015260640161044b565b42600a55565b60608282118015610d7d57506103e8610d7a84846132f6565b11155b610db95760405162461bcd60e51b815260206004820152600d60248201526c496e76616c69642072616e676560981b604482015260640161044b565b6000610dc584846132f6565b67ffffffffffffffff811115610ddd57610ddd61335a565b604051908082528060200260200182016040528015610e06578160200160208202803683370190505b509050835b83811015610e5a5760008181526018602052604090205482610e2d87846132f6565b81518110610e3d57610e3d613370565b602090810291909101015280610e5281613386565b915050610e0b565b5090505b92915050565b6000600a5460001480610e805750600b54610e7d61290c565b10155b15610e8b5750600090565b610e9361290c565b600b54610ea091906132f6565b905090565b610ead612a9b565b600280546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6000670de0b6b3a7640000610ee8612837565b600554610ef591906132df565b610ea0919061331f565b6000600a54600003610f115750600090565b600b54600a54610ea09190613347565b600080610f2c612208565b90506000610f38610ed5565b90508381111580610f47575081155b80610f50575083155b15610f6057506000199392505050565b6000612710610f6f86856132df565b610f7991906132df565b90506000610f8a60c86127106132f6565b610c6887856132f6565b600080610f9f610ed5565b905080600003610fb25760001991505090565b80610fbb612208565b610fcd90670de0b6b3a76400006132df565b610fd7919061331f565b91505090565b600080610fe8612208565b90506000610ff4610ed5565b9050801580611001575081155b8061100a575083155b15611019575060009392505050565b600061271061102960c8826132f6565b61103390876132df565b61103d919061331f565b9050600061104b8284613347565b9050600061105985846132df565b9050816110668183613347565b611070919061331f565b979650505050505050565b600061108860155461219b565b601454610ea09190613347565b6000600a541180156110b05750600b546110ad61290c565b10155b6110cc5760405162461bcd60e51b815260040161044b9061339f565b6110d4612a9b565b6003546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa15801561111d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061114191906133c7565b905061116b6111586000546001600160a01b031690565b6003546001600160a01b03169083612af5565b6000546001600160a01b03166001600160a01b03167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5826040516111b191815260200190565b60405180910390a250565b6111c4612a9b565b6111cc612b9e565b600a54156111f857600d546111e190426132f6565b600a60008282546111f29190613347565b90915550505b565b6000600a541180156112155750600b5461121261290c565b10155b6112315760405162461bcd60e51b815260040161044b9061339f565b611239612bf0565b611241612b58565b600c54600b54600a546112549190613347565b61125e9190613347565b42116112a55760405162461bcd60e51b815260206004820152601660248201527521b630b4b6903737ba1030b63637bbb2b2103cb2ba1760511b604482015260640161044b565b6002546040516370a0823160e01b815230600482015260009161010090046001600160a01b0316906370a0823190602401602060405180830381865afa1580156112f3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061131791906133c7565b1161135c5760405162461bcd60e51b8152602060048201526015602482015274151bdad95b9cc81b9bdd08199d5b991959081e595d605a1b604482015260640161044b565b336000908152601760205260409020546113ac5760405162461bcd60e51b81526020600482015260116024820152702737ba3434b733903a379031b630b4b69760791b604482015260640161044b565b3360009081526017602052604081205460138054919283926113cf908490613347565b909155505033600081815260176020526040812055600254611401916101009091046001600160a01b03169083612af5565b506111f860018055565b611413612a9b565b600080546040516001600160a01b039091169083908381818185875af1925050503d8060008114611460576040519150601f19603f3d011682016040523d82523d6000602084013e611465565b606091505b5050905080610bf15760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b604482015260640161044b565b6000600a541180156114c35750600b546114c061290c565b10155b6114df5760405162461bcd60e51b815260040161044b9061339f565b6114e7612a9b565b6016546014546114f79190613347565b6003546040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa15801561153f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061156391906133c7565b10156115a55760405162461bcd60e51b8152602060048201526011602482015270496e73756666696369656e74206665657360781b604482015260640161044b565b6115dd6115ba6000546001600160a01b031690565b6016546014546115ca9190613347565b6003546001600160a01b03169190612af5565b60006014819055601655565b6115f1612a9b565b60058190556040518181527fc4c14883ae9fd8e26d5d59e3485ed29fd126d781d7e498a4ca5c54c8268e49369060200160405180910390a150565b6000610ea060155461219b565b611641612a9b565b6111f86000612c49565b611653612bf0565b61165b612b58565b804211156116a15760405162461bcd60e51b815260206004820152601360248201527222bc3834b932b2103a3930b739b0b1ba34b7b760691b604482015260640161044b565b6000600a541180156116bb5750600b546116b961290c565b105b6116fc5760405162461bcd60e51b815260206004820152601260248201527141756374696f6e206e6f742061637469766560701b604482015260640161044b565b6000831161173a5760405162461bcd60e51b815260206004820152600b60248201526a139bc8115512081cd95b9d60aa1b604482015260640161044b565b6003546040516370a0823160e01b815233600482015284916001600160a01b0316906370a0823190602401602060405180830381865afa158015611782573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117a691906133c7565b10156117ee5760405162461bcd60e51b81526020600482015260176024820152762737ba1039bab33334b1b4b2b73a103130b630b731b29760491b604482015260640161044b565b60006117f8612208565b90506000611804610ed5565b90506000821180156118165750600081115b6118545760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964207765696768747360881b604482015260640161044b565b600061185f86610fdd565b9050848110156118a55760405162461bcd60e51b815260206004820152601160248201527014db1a5c1c1859d948195e18d959591959607a1b604482015260640161044b565b600081116118e95760405162461bcd60e51b8152602060048201526011602482015270139bc81d1bdad95b9cc81d1bc81cd95b99607a1b604482015260640161044b565b60006127106118f960c8896132df565b611903919061331f565b905080601460008282546119179190613347565b9091555050600354611934906001600160a01b031633308a612c99565b600061271061194460c8826132f6565b61194e908a6132df565b611958919061331f565b9050806005600082825461196c9190613347565b92505081905550826004600082825461198591906132f6565b909155505060115460000361199957426011555b33600090815260176020526040812080548592906119b8908490613347565b9250508190555082601260008282546119d19190613347565b909155506119e89050670de0b6b3a7640000610bf5565b600f805460009081526018602052604081209290925542601055805491611a0e83613386565b9091555050604080518981526020810185905290810183905233907f4df9cbfa66cbbabb528375b3af00207b446225af5a96b8a4b5c413b18226fb959060600160405180910390a25050505050611a6460018055565b505050565b611a71612a9b565b611a79612cd7565b42600d55565b611a87612a9b565b600e55565b606060008211611ad45760405162461bcd60e51b8152602060048201526013602482015272496e76616c69642063616e646c652073697a6560681b604482015260640161044b565b600082600184600f54611ae79190613347565b611af191906132f6565b611afb919061331f565b905060008167ffffffffffffffff811115611b1857611b1861335a565b604051908082528060200260200182016040528015611b41578160200160208202803683370190505b50905060005b82811015611baa576000611b5b86836132df565b9050600f54811015611b97576000818152601860205260409020548351849084908110611b8a57611b8a613370565b6020026020010181815250505b5080611ba281613386565b915050611b47565b509392505050565b611cf360405180610520016040528060006001600160a01b0316815260200160006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b604051806105200160405280611d116000546001600160a01b031690565b6001600160a01b03908116825260025461010090819004909116602083015260045460408301526005546060830152600654608083015260075460a083015260085460c083015260095460e0830152600a5490820152600b54610120820152600f5461014082015260c86101608201526127106101808201526101a001611d96610eff565b8152602001611da361290c565b8152602001611db0610e64565b8152602001611dbd612974565b8152602001611dca612837565b8152602001611dd7612208565b8152602001611de4610ed5565b8152602001611df1610f94565b8152602001611e07670de0b6b3a7640000610fdd565b8152602001611e1d670de0b6b3a764000061219b565b8152602001611e33670de0b6b3a764000061216e565b8152602001611e49670de0b6b3a7640000610bf5565b8152602001611e5f670de0b6b3a7640000610f21565b8152601054602082015260115460408083019190915260035490516370a0823160e01b81526001600160a01b038681166004830152606090930192909116906370a0823190602401602060405180830381865afa158015611ec4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ee891906133c7565b81526003546040516370a0823160e01b81523060048201526020909201916001600160a01b03909116906370a0823190602401602060405180830381865afa158015611f38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f5c91906133c7565b81526002546040516370a0823160e01b81526001600160a01b038681166004830152602090930192610100909204909116906370a0823190602401602060405180830381865afa158015611fb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fd891906133c7565b8152600354604051636eb1769f60e11b81526001600160a01b0386811660048301523060248301526020909301929091169063dd62ed3e90604401602060405180830381865afa158015612030573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061205491906133c7565b81526001600160a01b0384168031602080840191909152600091825260179052604090819020549082015260125460608201526013546080820152600c5460a082015260c0016120a2612955565b81526014546020820152601554604082015260165460609091015292915050565b6000600a541180156120de5750600b546120db61290c565b10155b6120fa5760405162461bcd60e51b815260040161044b9061339f565b612102612a9b565b6121326121176000546001600160a01b031690565b60155460025461010090046001600160a01b03169190612af5565b6000601555565b6060610e5e82611a8c565b61214c612a9b565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b600061271061217e60c8826132f6565b6121878461219b565b61219191906132df565b610e5e919061331f565b6000806121a6612208565b905060006121b2610ed5565b90508115806121bf575080155b806121c8575083155b156121d7575060009392505050565b60006121e38584613347565b905060006121f183876132df565b9050816121fe8183613347565b610c9f919061331f565b6000670de0b6b3a764000061221b612974565b600454610ef591906132df565b6060600f54600003612247575060408051600081526020810190915290565b600e546122559060026132df565b600f54111561238a576000600e54600f54612270919061331f565b9050600081600f54612282919061331f565b61228d906001613347565b905060008167ffffffffffffffff8111156122aa576122aa61335a565b6040519080825280602002602001820160405280156122d3578160200160208202803683370190505b50905060005b6122e46001846132f6565b81101561233757601860006122f986846132df565b81526020019081526020016000205482828151811061231a5761231a613370565b60209081029190910101528061232f81613386565b9150506122d9565b50601860006001600f5461234b91906132f6565b8152602001908152602001600020548160018461236891906132f6565b8151811061237857612378613370565b60209081029190910101529392505050565b610ea06000600f54610d61565b61239f612bf0565b6123a7612b58565b804211156123ed5760405162461bcd60e51b815260206004820152601360248201527222bc3834b932b2103a3930b739b0b1ba34b7b760691b604482015260640161044b565b6000600a541180156124075750600b5461240561290c565b105b6124485760405162461bcd60e51b815260206004820152601260248201527141756374696f6e206e6f742061637469766560701b604482015260640161044b565b600083116124895760405162461bcd60e51b815260206004820152600e60248201526d139bc81d1bdad95b9cc81cd95b9d60921b604482015260640161044b565b336000908152601760205260409020548311156124e25760405162461bcd60e51b81526020600482015260176024820152762737ba1039bab33334b1b4b2b73a103130b630b731b29760491b604482015260640161044b565b60006124ec612208565b905060006124f8610ed5565b90506000612504612208565b90506000612510610ed5565b90506000821180156125225750600081115b6125605760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964207765696768747360881b604482015260640161044b565b600061256b8861219b565b905060006125788961216e565b9050878110156125be5760405162461bcd60e51b815260206004820152601160248201527014db1a5c1c1859d948195e18d959591959607a1b604482015260640161044b565b600081116125ff5760405162461bcd60e51b815260206004820152600e60248201526d139bc8115512081d1bc81cd95b9960921b604482015260640161044b565b806005541015801561267b57506003546040516370a0823160e01b815230600482015282916001600160a01b0316906370a0823190602401602060405180830381865afa158015612654573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061267891906133c7565b10155b6126c75760405162461bcd60e51b815260206004820152601c60248201527f496e73756666696369656e742045544820696e20636f6e747261637400000000604482015260640161044b565b60006127106126d760c88c6132df565b6126e1919061331f565b905080601560008282546126f59190613347565b909155506000905061270783856132f6565b9050806016600082825461271b9190613347565b909155505033600090815260176020526040812080548d929061273f9084906132f6565b925050819055508a6012600082825461275891906132f6565b925050819055508a600460008282546127719190613347565b92505081905550836005600082825461278a91906132f6565b909155506127a19050670de0b6b3a7640000610bf5565b600f8054600090815260186020526040812092909255426010558054916127c783613386565b90915550506003546127e3906001600160a01b03163385612af5565b604080518c81526020810185905290810182905233907f846c37eef631e0943682d87352ec117c20008eb7f425c9b85ac011a6d4774cc09060600160405180910390a25050505050505050611a6460018055565b6000600a546000148061284a5750600b54155b156128555750600090565b6000600b54670de0b6b3a764000061286b61290c565b61287591906132df565b61287f919061331f565b9050600060095460085461289391906132f6565b9050670de0b6b3a76400006001816128ab85856132df565b6128b59190613347565b6128bf91906132f6565b6128c9919061331f565b6008546128d691906132f6565b9250505090565b6128e5612a9b565b600b91909155600380546001600160a01b0319166001600160a01b03909216919091179055565b6000600a5460000361291e5750600090565b600b54600a5461292e90426132f6565b111561293b5750600b5490565b600a54610ea090426132f6565b612950612a9b565b600c55565b6000600c54600b54600a5461296a9190613347565b610ea09190613347565b6000600a54600014806129875750600b54155b156129925750600090565b6000600b54670de0b6b3a76400006129a861290c565b6129b291906132df565b6129bc919061331f565b905060006006546007546129d091906132f6565b9050670de0b6b3a76400006001816129e885856132df565b6129f29190613347565b6129fc91906132f6565b612a06919061331f565b6006546128d69190613347565b612a1b612a9b565b6001600160a01b038116612a805760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161044b565b612a8981612c49565b50565b6060610ea06000600f54610d61565b6000546001600160a01b031633146111f85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161044b565b6040516001600160a01b038316602482015260448101829052611a6490849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612d14565b60025460ff16156111f85760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015260640161044b565b612ba6612de6565b6002805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b600260015403612c425760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161044b565b6002600155565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040516001600160a01b0380851660248301528316604482015260648101829052612cd19085906323b872dd60e01b90608401612b21565b50505050565b612cdf612b58565b6002805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258612bd33390565b6000612d69826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316612e2f9092919063ffffffff16565b805190915015611a645780806020019051810190612d8791906133e0565b611a645760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161044b565b60025460ff166111f85760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015260640161044b565b6060612e3e8484600085612e46565b949350505050565b606082471015612ea75760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161044b565b600080866001600160a01b03168587604051612ec39190613426565b60006040518083038185875af1925050503d8060008114612f00576040519150601f19603f3d011682016040523d82523d6000602084013e612f05565b606091505b50915091506110708783838760608315612f80578251600003612f79576001600160a01b0385163b612f795760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161044b565b5081612e3e565b612e3e8383815115612f955781518083602001fd5b8060405162461bcd60e51b815260040161044b9190613442565b80356001600160a01b0381168114612fc657600080fd5b919050565b60008060408385031215612fde57600080fd5b612fe783612faf565b946020939093013593505050565b60006020828403121561300757600080fd5b5035919050565b6000806040838503121561302157600080fd5b50508035926020909101359150565b6020808252825182820181905260009190848201906040850190845b818110156130685783518352928401929184019160010161304c565b50909695505050505050565b60006020828403121561308657600080fd5b61308f82612faf565b9392505050565b6000806000606084860312156130ab57600080fd5b505081359360208301359350604090920135919050565b81516001600160a01b03168152610520810160208301516130ee60208401826001600160a01b03169052565b5060408381015190830152606080840151908301526080808401519083015260a0808401519083015260c0808401519083015260e08084015190830152610100808401519083015261012080840151908301526101408084015190830152610160808401519083015261018080840151908301526101a080840151908301526101c080840151908301526101e08084015190830152610200808401519083015261022080840151908301526102408084015190830152610260808401519083015261028080840151908301526102a080840151908301526102c080840151908301526102e08084015190830152610300808401519083015261032080840151908301526103408084015190830152610360808401519083015261038080840151908301526103a080840151908301526103c080840151908301526103e08084015190830152610400808401519083015261042080840151908301526104408084015190830152610460808401519083015261048080840151908301526104a080840151908301526104c080840151908301526104e0808401519083015261050092830151929091019190915290565b600080604083850312156132b057600080fd5b823591506132c060208401612faf565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610e5e57610e5e6132c9565b81810381811115610e5e57610e5e6132c9565b634e487b7160e01b600052601260045260246000fd5b60008261332e5761332e613309565b500490565b60008261334257613342613309565b500690565b80820180821115610e5e57610e5e6132c9565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600060018201613398576133986132c9565b5060010190565b6020808252600e908201526d41756374696f6e2061637469766560901b604082015260600190565b6000602082840312156133d957600080fd5b5051919050565b6000602082840312156133f257600080fd5b8151801515811461308f57600080fd5b60005b8381101561341d578181015183820152602001613405565b50506000910152565b60008251613438818460208701613402565b9190910192915050565b6020815260008251806020840152613461816040850160208701613402565b601f01601f1916919091016040019291505056fea26469706673582212206156efb7cfe859850029af01c752ae1597cd03872b2235cc4c0001ddf2a3403b64736f6c63430008130033