Source Code
Latest 25 from a total of 228 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Withdraw Reward ... | 23493640 | 162 days ago | IN | 0 ETH | 0.00008896 | ||||
| Withdraw Reward ... | 23493622 | 162 days ago | IN | 0 ETH | 0.00008786 | ||||
| Withdraw Reward ... | 23493602 | 162 days ago | IN | 0 ETH | 0.00007209 | ||||
| Withdraw Reward ... | 23493596 | 162 days ago | IN | 0 ETH | 0.00009545 | ||||
| Withdraw Reward ... | 13170689 | 1650 days ago | IN | 0 ETH | 0.00869691 | ||||
| Withdraw Reward ... | 12663645 | 1729 days ago | IN | 0 ETH | 0.00075077 | ||||
| Withdraw Reward ... | 12580021 | 1742 days ago | IN | 0 ETH | 0.00070166 | ||||
| Withdraw Reward ... | 12047016 | 1824 days ago | IN | 0 ETH | 0.01031501 | ||||
| Withdraw Reward ... | 11940030 | 1841 days ago | IN | 0 ETH | 0.0076281 | ||||
| Withdraw Reward ... | 11763288 | 1868 days ago | IN | 0 ETH | 0.00554494 | ||||
| Withdraw Reward ... | 11670709 | 1882 days ago | IN | 0 ETH | 0.00270138 | ||||
| Withdraw Reward ... | 11670687 | 1882 days ago | IN | 0 ETH | 0.00273692 | ||||
| Withdraw Reward ... | 11549813 | 1901 days ago | IN | 0 ETH | 0.003696 | ||||
| Withdraw Reward ... | 11490697 | 1910 days ago | IN | 0 ETH | 0.00298573 | ||||
| Withdraw Reward ... | 11385047 | 1926 days ago | IN | 0 ETH | 0.00291464 | ||||
| Withdraw Reward ... | 11349496 | 1931 days ago | IN | 0 ETH | 0.00118147 | ||||
| Withdraw Reward ... | 11347641 | 1932 days ago | IN | 0 ETH | 0.001172 | ||||
| Withdraw Reward ... | 11261985 | 1945 days ago | IN | 0 ETH | 0.00127938 | ||||
| Withdraw Reward ... | 11241679 | 1948 days ago | IN | 0 ETH | 0.00355445 | ||||
| Withdraw Reward ... | 11216686 | 1952 days ago | IN | 0 ETH | 0.00135046 | ||||
| Withdraw Reward ... | 11175965 | 1958 days ago | IN | 0 ETH | 0.00246738 | ||||
| Withdraw Reward ... | 11159372 | 1961 days ago | IN | 0 ETH | 0.00220338 | ||||
| Withdraw Reward ... | 11117441 | 1967 days ago | IN | 0 ETH | 0.00169163 | ||||
| Withdraw Reward ... | 11103088 | 1969 days ago | IN | 0 ETH | 0.00355385 | ||||
| Withdraw Reward ... | 11100133 | 1970 days ago | IN | 0 ETH | 0.00575723 |
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| - | 11037640 | 1979 days ago | 1 wei | ||||
| - | 11037640 | 1979 days ago | 0.015 ETH | ||||
| - | 11037640 | 1979 days ago | 0.015 ETH | ||||
| - | 11013838 | 1983 days ago | 1 wei | ||||
| - | 11013838 | 1983 days ago | 0.5 ETH | ||||
| - | 11013838 | 1983 days ago | 0.5 ETH | ||||
| - | 11011562 | 1983 days ago | 1 wei | ||||
| - | 11011562 | 1983 days ago | 3 ETH | ||||
| - | 11011562 | 1983 days ago | 3 ETH | ||||
| - | 11003273 | 1985 days ago | 1 wei | ||||
| - | 11003273 | 1985 days ago | 0.25 ETH | ||||
| - | 11003273 | 1985 days ago | 0.25 ETH | ||||
| - | 11000988 | 1985 days ago | 1 wei | ||||
| - | 11000988 | 1985 days ago | 0.5 ETH | ||||
| - | 11000988 | 1985 days ago | 0.5 ETH | ||||
| - | 11000976 | 1985 days ago | 1 wei | ||||
| - | 11000976 | 1985 days ago | 0.05 ETH | ||||
| - | 11000976 | 1985 days ago | 0.05 ETH | ||||
| - | 10998346 | 1985 days ago | 3 wei | ||||
| - | 10998346 | 1985 days ago | 3 ETH | ||||
| - | 10998346 | 1985 days ago | 3 ETH | ||||
| - | 10998136 | 1985 days ago | 3 wei | ||||
| - | 10998136 | 1985 days ago | 1 ETH | ||||
| - | 10998136 | 1985 days ago | 1 ETH | ||||
| - | 10998013 | 1985 days ago | 4 wei |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
Staker
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2020-10-05
*/
// SPDX-License-Identifier: MIT
/*
_________ ________ ____________________ ____
\_ ___ \ \_____ \\______ \______ \ ___ _/_ |
/ \ \/ / | \| _/| | _/ \ \/ /| |
\ \____/ | \ | \| | \ \ / | |
\______ /\_______ /____|_ /|______ / \_/ |___|
\/ \/ \/ \/
forked from Orb + Core
LP tokens are staked forever!
Website: corb.finance
*/
pragma solidity 0.6.12;
library SafeMath {
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");
return c;}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
return sub(a, b, "SafeMath: subtraction overflow");}
function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b <= a, errorMessage);
uint256 c = a - b;
return c;}
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
if (a == 0) {return 0;}
uint256 c = a * b;
require(c / a == b, "SafeMath: multiplication overflow");
return c;}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return div(a, b, "SafeMath: division by zero");}
function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b > 0, errorMessage);
uint256 c = a / b;
return c;}
function mod(uint256 a, uint256 b) internal pure returns (uint256) {
return mod(a, b, "SafeMath: modulo by zero");}
function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b != 0, errorMessage);
return a % b;}
}
interface IERC20 {
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function transfer(address recipient, uint256 amount) external returns (bool);
function allowance(address owner, address spender) external view returns (uint256);
function approve(address spender, uint256 amount) external returns (bool);
function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
function mint(address account, uint256 amount) external;
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
}
interface Uniswap{
function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts);
function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts);
function addLiquidityETH(address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline) external payable returns (uint amountToken, uint amountETH, uint liquidity);
function getPair(address tokenA, address tokenB) external view returns (address pair);
function WETH() external pure returns (address);
}
interface Pool{
function owner() external view returns (address);
}
contract Poolable{
address payable internal constant _POOLADDRESS = 0x78c883EB7A1C2b11129D8113A5e40d815e1Cb33d;
function primary() private view returns (address) {
return Pool(_POOLADDRESS).owner();
}
modifier onlyPrimary() {
require(msg.sender == primary(), "Caller is not primary");
_;
}
}
contract Staker is Poolable{
using SafeMath for uint256;
uint constant internal DECIMAL = 10**18;
uint constant public INF = 33136721748;
uint private _rewardValue = 10**21;
mapping (address => uint256) public timePooled;
mapping (address => uint256) private internalTime;
mapping (address => uint256) private LPTokenBalance;
mapping (address => uint256) private rewards;
mapping (address => uint256) private referralEarned;
address public orbAddress;
address constant public UNIROUTER = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
address constant public FACTORY = 0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f;
address public WETHAddress = Uniswap(UNIROUTER).WETH();
bool private _unchangeable = false;
bool private _tokenAddressGiven = false;
bool public priceCapped = false;
uint public creationTime = now;
receive() external payable {
if(msg.sender != UNIROUTER){
stake();
}
}
function sendValue(address payable recipient, uint256 amount) internal {
(bool success, ) = recipient.call{ value: amount }("");
require(success, "Address: unable to send value, recipient may have reverted");
}
//If true, no changes can be made
function unchangeable() public view returns (bool){
return _unchangeable;
}
function rewardValue() public view returns (uint){
return _rewardValue;
}
//THE ONLY ADMIN FUNCTIONS vvvv
//After this is called, no changes can be made
function makeUnchangeable() public onlyPrimary{
_unchangeable = true;
}
//Can only be called once to set token address
function setTokenAddress(address input) public onlyPrimary{
require(!_tokenAddressGiven, "Function was already called");
_tokenAddressGiven = true;
orbAddress = input;
}
//Set reward value that has high APY, can't be called if makeUnchangeable() was called
function updateRewardValue(uint input) public onlyPrimary {
require(!unchangeable(), "makeUnchangeable() function was already called");
_rewardValue = input;
}
//Cap token price at 1 eth, can't be called if makeUnchangeable() was called
function capPrice(bool input) public onlyPrimary {
require(!unchangeable(), "makeUnchangeable() function was already called");
priceCapped = input;
}
//THE ONLY ADMIN FUNCTIONS ^^^^
function sqrt(uint y) public pure returns (uint z) {
if (y > 3) {
z = y;
uint x = y / 2 + 1;
while (x < z) {
z = x;
x = (y / x + x) / 2;
}
} else if (y != 0) {
z = 1;
}
}
function stake() public payable{
require(creationTime + 6 hours <= now, "It has not been 6 hours since contract creation yet");
address staker = msg.sender;
address poolAddress = Uniswap(FACTORY).getPair(orbAddress, WETHAddress);
if(price() >= (1.05 * 10**18) && priceCapped){
uint t = IERC20(orbAddress).balanceOf(poolAddress); //token in uniswap
uint a = IERC20(WETHAddress).balanceOf(poolAddress); //Eth in uniswap
uint x = (sqrt(9*t*t + 3988000*a*t) - 1997*t)/1994;
IERC20(orbAddress).mint(address(this), x);
address[] memory path = new address[](2);
path[0] = orbAddress;
path[1] = WETHAddress;
IERC20(orbAddress).approve(UNIROUTER, x);
Uniswap(UNIROUTER).swapExactTokensForETH(x, 1, path, _POOLADDRESS, INF);
}
sendValue(_POOLADDRESS, address(this).balance/2);
uint ethAmount = IERC20(WETHAddress).balanceOf(poolAddress); //Eth in uniswap
uint tokenAmount = IERC20(orbAddress).balanceOf(poolAddress); //token in uniswap
uint toMint = (address(this).balance.mul(tokenAmount)).div(ethAmount);
IERC20(orbAddress).mint(address(this), toMint);
uint poolTokenAmountBefore = IERC20(poolAddress).balanceOf(address(this));
uint amountTokenDesired = IERC20(orbAddress).balanceOf(address(this));
IERC20(orbAddress).approve(UNIROUTER, amountTokenDesired ); //allow pool to get tokens
Uniswap(UNIROUTER).addLiquidityETH{ value: address(this).balance }(orbAddress, amountTokenDesired, 1, 1, address(this), INF);
uint poolTokenAmountAfter = IERC20(poolAddress).balanceOf(address(this));
uint poolTokenGot = poolTokenAmountAfter.sub(poolTokenAmountBefore);
rewards[staker] = rewards[staker].add(viewRecentRewardTokenAmount(staker));
timePooled[staker] = now;
internalTime[staker] = now;
LPTokenBalance[staker] = LPTokenBalance[staker].add(poolTokenGot);
}
function withdrawRewardTokens(uint amount) public {
require(timePooled[msg.sender] + 3 days <= now, "It has not been 3 days since you staked yet");
rewards[msg.sender] = rewards[msg.sender].add(viewRecentRewardTokenAmount(msg.sender));
internalTime[msg.sender] = now;
uint removeAmount = ethtimeCalc(amount);
rewards[msg.sender] = rewards[msg.sender].sub(removeAmount);
IERC20(orbAddress).mint(msg.sender, amount);
}
function viewRecentRewardTokenAmount(address who) internal view returns (uint){
return (viewLPTokenAmount(who).mul( now.sub(internalTime[who]) ));
}
function viewRewardTokenAmount(address who) public view returns (uint){
return earnCalc( rewards[who].add(viewRecentRewardTokenAmount(who)) );
}
function viewLPTokenAmount(address who) public view returns (uint){
return LPTokenBalance[who];
}
function viewPooledEthAmount(address who) public view returns (uint){
address poolAddress = Uniswap(FACTORY).getPair(orbAddress, WETHAddress);
uint ethAmount = IERC20(WETHAddress).balanceOf(poolAddress); //Eth in uniswap
return (ethAmount.mul(viewLPTokenAmount(who))).div(IERC20(poolAddress).totalSupply());
}
function viewPooledTokenAmount(address who) public view returns (uint){
address poolAddress = Uniswap(FACTORY).getPair(orbAddress, WETHAddress);
uint tokenAmount = IERC20(orbAddress).balanceOf(poolAddress); //token in uniswap
return (tokenAmount.mul(viewLPTokenAmount(who))).div(IERC20(poolAddress).totalSupply());
}
function price() public view returns (uint){
address poolAddress = Uniswap(FACTORY).getPair(orbAddress, WETHAddress);
uint ethAmount = IERC20(WETHAddress).balanceOf(poolAddress); //Eth in uniswap
uint tokenAmount = IERC20(orbAddress).balanceOf(poolAddress); //token in uniswap
return (DECIMAL.mul(ethAmount)).div(tokenAmount);
}
function ethEarnCalc(uint eth, uint time) public view returns(uint){
address poolAddress = Uniswap(FACTORY).getPair(orbAddress, WETHAddress);
uint totalEth = IERC20(WETHAddress).balanceOf(poolAddress); //Eth in uniswap
uint totalLP = IERC20(poolAddress).totalSupply();
uint LP = ((eth/2)*totalLP)/totalEth;
return earnCalc(LP * time);
}
function earnCalc(uint LPTime) public view returns(uint){
return ( rewardValue().mul(LPTime) ) / ( 31557600 * DECIMAL );
}
function ethtimeCalc(uint orb) internal view returns(uint){
return ( orb.mul(31557600 * DECIMAL) ).div( rewardValue() );
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"name":"FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"INF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UNIROUTER","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"WETHAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"input","type":"bool"}],"name":"capPrice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"creationTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"LPTime","type":"uint256"}],"name":"earnCalc","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"eth","type":"uint256"},{"internalType":"uint256","name":"time","type":"uint256"}],"name":"ethEarnCalc","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"makeUnchangeable","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"orbAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"price","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"priceCapped","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardValue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"input","type":"address"}],"name":"setTokenAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"y","type":"uint256"}],"name":"sqrt","outputs":[{"internalType":"uint256","name":"z","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"stake","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"timePooled","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unchangeable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"input","type":"uint256"}],"name":"updateRewardValue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"viewLPTokenAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"viewPooledEthAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"viewPooledTokenAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"viewRewardTokenAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawRewardTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
6080604052683635c9adc5dea00000600055737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561006b57600080fd5b505afa15801561007f573d6000803e3d6000fd5b505050506040513d602081101561009557600080fd5b8101908080519060200190929190505050600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600760146101000a81548160ff0219169083151502179055506000600760156101000a81548160ff0219169083151502179055506000600760166101000a81548160ff0219169083151502179055504260085534801561014757600080fd5b506132d380620001586000396000f3fe60806040526004361061014f5760003560e01c80639d2a679f116100b6578063d28de2731161006f578063d28de273146105f2578063d488ebe814610633578063d8270dce14610698578063e42255d8146106c3578063e91ed7c914610728578063ff2eba681461078d576101a6565b80639d2a679f14610480578063a035b1fe146104ab578063a064b44b146104d6578063b1fd674014610525578063c4fcf8261461058a578063cb43b2dd146105b7576101a6565b80633a4b66f1116101085780633a4b66f11461034f578063475d8733146103595780634caacd7514610370578063677342ce1461039d5780637228cd7d146103ec5780638439a54114610445576101a6565b80630af88b24146101ab57806312c7df73146101ec578063149c32661461021757806326a4e8d21461025857806329b83c2e146102a95780632dd310001461030e576101a6565b366101a657737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146101a4576101a36107ca565b5b005b600080fd5b3480156101b757600080fd5b506101c061184c565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101f857600080fd5b50610201611872565b6040518082815260200191505060405180910390f35b34801561022357600080fd5b5061022c61187b565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561026457600080fd5b506102a76004803603602081101561027b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118a1565b005b3480156102b557600080fd5b506102f8600480360360208110156102cc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a2b565b6040518082815260200191505060405180910390f35b34801561031a57600080fd5b50610323611a43565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103576107ca565b005b34801561036557600080fd5b5061036e611a5b565b005b34801561037c57600080fd5b50610385611b20565b60405180821515815260200191505060405180910390f35b3480156103a957600080fd5b506103d6600480360360208110156103c057600080fd5b8101908080359060200190929190505050611b37565b6040518082815260200191505060405180910390f35b3480156103f857600080fd5b5061042f6004803603604081101561040f57600080fd5b810190808035906020019092919080359060200190929190505050611b99565b6040518082815260200191505060405180910390f35b34801561045157600080fd5b5061047e6004803603602081101561046857600080fd5b8101908080359060200190929190505050611e34565b005b34801561048c57600080fd5b50610495611f44565b6040518082815260200191505060405180910390f35b3480156104b757600080fd5b506104c0611f4d565b6040518082815260200191505060405180910390f35b3480156104e257600080fd5b5061050f600480360360208110156104f957600080fd5b810190808035906020019092919050505061222f565b6040518082815260200191505060405180910390f35b34801561053157600080fd5b506105746004803603602081101561054857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612269565b6040518082815260200191505060405180910390f35b34801561059657600080fd5b5061059f612504565b60405180821515815260200191505060405180910390f35b3480156105c357600080fd5b506105f0600480360360208110156105da57600080fd5b8101908080359060200190929190505050612517565b005b3480156105fe57600080fd5b506106076127e6565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561063f57600080fd5b506106826004803603602081101561065657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506127fe565b6040518082815260200191505060405180910390f35b3480156106a457600080fd5b506106ad612869565b6040518082815260200191505060405180910390f35b3480156106cf57600080fd5b50610712600480360360208110156106e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061286f565b6040518082815260200191505060405180910390f35b34801561073457600080fd5b506107776004803603602081101561074b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612b0a565b6040518082815260200191505060405180910390f35b34801561079957600080fd5b506107c8600480360360208110156107b057600080fd5b81019080803515159060200190929190505050612b53565b005b42615460600854011115610829576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603381526020018061323d6033913960400191505060405180910390fd5b60003390506000735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561090d57600080fd5b505afa158015610921573d6000803e3d6000fd5b505050506040513d602081101561093757600080fd5b81019080805190602001909291905050509050670e92596fd629000061095b611f4d565b101580156109755750600760169054906101000a900460ff165b15610fb7576000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610a0557600080fd5b505afa158015610a19573d6000803e3d6000fd5b505050506040513d6020811015610a2f57600080fd5b810190808051906020019092919050505090506000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231846040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610acd57600080fd5b505afa158015610ae1573d6000803e3d6000fd5b505050506040513d6020811015610af757600080fd5b8101908080519060200190929190505050905060006107ca836107cd02610b2b8585623cda20020286876009020201611b37565b0381610b3357fe5b049050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1930836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015610bc957600080fd5b505af1158015610bdd573d6000803e3d6000fd5b505050506060600267ffffffffffffffff81118015610bfb57600080fd5b50604051908082528060200260200182016040528015610c2a5781602001602082028036833780820191505090505b509050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600081518110610c5d57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600181518110610cc757fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3737a250d5630b4cf539739df2c5dacb4c659f2488d846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610da857600080fd5b505af1158015610dbc573d6000803e3d6000fd5b505050506040513d6020811015610dd257600080fd5b810190808051906020019092919050505050737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff166318cbafe5836001847378c883eb7a1c2b11129d8113a5e40d815e1cb33d6407b71a3f546040518663ffffffff1660e01b815260040180868152602001858152602001806020018473ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b83811015610eb3578082015181840152602081019050610e98565b505050509050019650505050505050600060405180830381600087803b158015610edc57600080fd5b505af1158015610ef0573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506020811015610f1a57600080fd5b8101908080516040519392919084640100000000821115610f3a57600080fd5b83820191506020820185811115610f5057600080fd5b8251866020820283011164010000000082111715610f6d57600080fd5b8083526020830192505050908051906020019060200280838360005b83811015610fa4578082015181840152602081019050610f89565b5050505090500160405250505050505050505b610fdf7378c883eb7a1c2b11129d8113a5e40d815e1cb33d60024781610fd957fe5b04612c76565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561106a57600080fd5b505afa15801561107e573d6000803e3d6000fd5b505050506040513d602081101561109457600080fd5b810190808051906020019092919050505090506000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231846040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561113257600080fd5b505afa158015611146573d6000803e3d6000fd5b505050506040513d602081101561115c57600080fd5b810190808051906020019092919050505090506000611196836111888447612d3a90919063ffffffff16565b612dc090919063ffffffff16565b9050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1930836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561122b57600080fd5b505af115801561123f573d6000803e3d6000fd5b5050505060008473ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156112ac57600080fd5b505afa1580156112c0573d6000803e3d6000fd5b505050506040513d60208110156112d657600080fd5b810190808051906020019092919050505090506000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561137457600080fd5b505afa158015611388573d6000803e3d6000fd5b505050506040513d602081101561139e57600080fd5b81019080805190602001909291905050509050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3737a250d5630b4cf539739df2c5dacb4c659f2488d836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561145857600080fd5b505af115801561146c573d6000803e3d6000fd5b505050506040513d602081101561148257600080fd5b810190808051906020019092919050505050737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663f305d71947600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684600180306407b71a3f546040518863ffffffff1660e01b8152600401808773ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200196505050505050506060604051808303818588803b15801561157757600080fd5b505af115801561158b573d6000803e3d6000fd5b50505050506040513d60608110156115a257600080fd5b8101908080519060200190929190805190602001909291908051906020019092919050505050505060008673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561163357600080fd5b505afa158015611647573d6000803e3d6000fd5b505050506040513d602081101561165d57600080fd5b8101908080519060200190929190505050905060006116858483612e0a90919063ffffffff16565b90506116e16116938a612e54565b600460008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ec990919063ffffffff16565b600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506117fe81600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ec990919063ffffffff16565b600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050505050505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6118a9612f51565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611949576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f43616c6c6572206973206e6f74207072696d617279000000000000000000000081525060200191505060405180910390fd5b600760159054906101000a900460ff16156119cc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f46756e6374696f6e2077617320616c72656164792063616c6c6564000000000081525060200191505060405180910390fd5b6001600760156101000a81548160ff02191690831515021790555080600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60016020528060005260406000206000915090505481565b735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f81565b611a63612f51565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b03576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f43616c6c6572206973206e6f74207072696d617279000000000000000000000081525060200191505060405180910390fd5b6001600760146101000a81548160ff021916908315150217905550565b6000600760149054906101000a900460ff16905090565b60006003821115611b86578190506000600160028481611b5357fe5b040190505b81811015611b8057809150600281828581611b6f57fe5b040181611b7857fe5b049050611b58565b50611b94565b60008214611b9357600190505b5b919050565b600080735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015611c7957600080fd5b505afa158015611c8d573d6000803e3d6000fd5b505050506040513d6020811015611ca357600080fd5b810190808051906020019092919050505090506000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611d4157600080fd5b505afa158015611d55573d6000803e3d6000fd5b505050506040513d6020811015611d6b57600080fd5b8101908080519060200190929190505050905060008273ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015611dc657600080fd5b505afa158015611dda573d6000803e3d6000fd5b505050506040513d6020811015611df057600080fd5b810190808051906020019092919050505090506000828260028981611e1157fe5b040281611e1a57fe5b049050611e2886820261222f565b94505050505092915050565b611e3c612f51565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611edc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f43616c6c6572206973206e6f74207072696d617279000000000000000000000081525060200191505060405180910390fd5b611ee4611b20565b15611f3a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180613270602e913960400191505060405180910390fd5b8060008190555050565b6407b71a3f5481565b600080735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561202d57600080fd5b505afa158015612041573d6000803e3d6000fd5b505050506040513d602081101561205757600080fd5b810190808051906020019092919050505090506000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156120f557600080fd5b505afa158015612109573d6000803e3d6000fd5b505050506040513d602081101561211f57600080fd5b810190808051906020019092919050505090506000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231846040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156121bd57600080fd5b505afa1580156121d1573d6000803e3d6000fd5b505050506040513d60208110156121e757600080fd5b810190808051906020019092919050505090506122278161221984670de0b6b3a7640000612d3a90919063ffffffff16565b612dc090919063ffffffff16565b935050505090565b6000670de0b6b3a76400006301e187e00261225a8361224c611872565b612d3a90919063ffffffff16565b8161226157fe5b049050919050565b600080735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561234957600080fd5b505afa15801561235d573d6000803e3d6000fd5b505050506040513d602081101561237357600080fd5b810190808051906020019092919050505090506000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561241157600080fd5b505afa158015612425573d6000803e3d6000fd5b505050506040513d602081101561243b57600080fd5b810190808051906020019092919050505090506124fb8273ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561249757600080fd5b505afa1580156124ab573d6000803e3d6000fd5b505050506040513d60208110156124c157600080fd5b81019080805190602001909291905050506124ed6124de87612b0a565b84612d3a90919063ffffffff16565b612dc090919063ffffffff16565b92505050919050565b600760169054906101000a900460ff1681565b426203f480600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540111156125b4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180613212602b913960400191505060405180910390fd5b61260e6125c033612e54565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ec990919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006126a082612fed565b90506126f481600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e0a90919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1933846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1580156127ca57600080fd5b505af11580156127de573d6000803e3d6000fd5b505050505050565b737a250d5630b4cf539739df2c5dacb4c659f2488d81565b600061286261285d61280f84612e54565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ec990919063ffffffff16565b61222f565b9050919050565b60085481565b600080735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561294f57600080fd5b505afa158015612963573d6000803e3d6000fd5b505050506040513d602081101561297957600080fd5b810190808051906020019092919050505090506000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015612a1757600080fd5b505afa158015612a2b573d6000803e3d6000fd5b505050506040513d6020811015612a4157600080fd5b81019080805190602001909291905050509050612b018273ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015612a9d57600080fd5b505afa158015612ab1573d6000803e3d6000fd5b505050506040513d6020811015612ac757600080fd5b8101908080519060200190929190505050612af3612ae487612b0a565b84612d3a90919063ffffffff16565b612dc090919063ffffffff16565b92505050919050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b612b5b612f51565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612bfb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f43616c6c6572206973206e6f74207072696d617279000000000000000000000081525060200191505060405180910390fd5b612c03611b20565b15612c59576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180613270602e913960400191505060405180910390fd5b80600760166101000a81548160ff02191690831515021790555050565b60008273ffffffffffffffffffffffffffffffffffffffff168260405180600001905060006040518083038185875af1925050503d8060008114612cd6576040519150601f19603f3d011682016040523d82523d6000602084013e612cdb565b606091505b5050905080612d35576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a8152602001806131b7603a913960400191505060405180910390fd5b505050565b600080831415612d4d5760009050612dba565b6000828402905082848281612d5e57fe5b0414612db5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806131f16021913960400191505060405180910390fd5b809150505b92915050565b6000612e0283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613030565b905092915050565b6000612e4c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506130f6565b905092915050565b6000612ec2612eab600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205442612e0a90919063ffffffff16565b612eb484612b0a565b612d3a90919063ffffffff16565b9050919050565b600080828401905083811015612f47576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b60007378c883eb7a1c2b11129d8113a5e40d815e1cb33d73ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015612fad57600080fd5b505afa158015612fc1573d6000803e3d6000fd5b505050506040513d6020811015612fd757600080fd5b8101908080519060200190929190505050905090565b6000613029612ffa611872565b61301b670de0b6b3a76400006301e187e00285612d3a90919063ffffffff16565b612dc090919063ffffffff16565b9050919050565b600080831182906130dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156130a1578082015181840152602081019050613086565b50505050905090810190601f1680156130ce5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816130e857fe5b049050809150509392505050565b60008383111582906131a3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561316857808201518184015260208101905061314d565b50505050905090810190601f1680156131955780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838503905080915050939250505056fe416464726573733a20756e61626c6520746f2073656e642076616c75652c20726563697069656e74206d61792068617665207265766572746564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77497420686173206e6f74206265656e203320646179732073696e636520796f75207374616b656420796574497420686173206e6f74206265656e203620686f7572732073696e636520636f6e7472616374206372656174696f6e207965746d616b65556e6368616e676561626c6528292066756e6374696f6e2077617320616c72656164792063616c6c6564a26469706673582212209f1941d022cd3b534bf761579bea70a6e159817a19f279a36757cc7cf340735564736f6c634300060c0033
Deployed Bytecode
0x60806040526004361061014f5760003560e01c80639d2a679f116100b6578063d28de2731161006f578063d28de273146105f2578063d488ebe814610633578063d8270dce14610698578063e42255d8146106c3578063e91ed7c914610728578063ff2eba681461078d576101a6565b80639d2a679f14610480578063a035b1fe146104ab578063a064b44b146104d6578063b1fd674014610525578063c4fcf8261461058a578063cb43b2dd146105b7576101a6565b80633a4b66f1116101085780633a4b66f11461034f578063475d8733146103595780634caacd7514610370578063677342ce1461039d5780637228cd7d146103ec5780638439a54114610445576101a6565b80630af88b24146101ab57806312c7df73146101ec578063149c32661461021757806326a4e8d21461025857806329b83c2e146102a95780632dd310001461030e576101a6565b366101a657737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146101a4576101a36107ca565b5b005b600080fd5b3480156101b757600080fd5b506101c061184c565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101f857600080fd5b50610201611872565b6040518082815260200191505060405180910390f35b34801561022357600080fd5b5061022c61187b565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561026457600080fd5b506102a76004803603602081101561027b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118a1565b005b3480156102b557600080fd5b506102f8600480360360208110156102cc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a2b565b6040518082815260200191505060405180910390f35b34801561031a57600080fd5b50610323611a43565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103576107ca565b005b34801561036557600080fd5b5061036e611a5b565b005b34801561037c57600080fd5b50610385611b20565b60405180821515815260200191505060405180910390f35b3480156103a957600080fd5b506103d6600480360360208110156103c057600080fd5b8101908080359060200190929190505050611b37565b6040518082815260200191505060405180910390f35b3480156103f857600080fd5b5061042f6004803603604081101561040f57600080fd5b810190808035906020019092919080359060200190929190505050611b99565b6040518082815260200191505060405180910390f35b34801561045157600080fd5b5061047e6004803603602081101561046857600080fd5b8101908080359060200190929190505050611e34565b005b34801561048c57600080fd5b50610495611f44565b6040518082815260200191505060405180910390f35b3480156104b757600080fd5b506104c0611f4d565b6040518082815260200191505060405180910390f35b3480156104e257600080fd5b5061050f600480360360208110156104f957600080fd5b810190808035906020019092919050505061222f565b6040518082815260200191505060405180910390f35b34801561053157600080fd5b506105746004803603602081101561054857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612269565b6040518082815260200191505060405180910390f35b34801561059657600080fd5b5061059f612504565b60405180821515815260200191505060405180910390f35b3480156105c357600080fd5b506105f0600480360360208110156105da57600080fd5b8101908080359060200190929190505050612517565b005b3480156105fe57600080fd5b506106076127e6565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561063f57600080fd5b506106826004803603602081101561065657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506127fe565b6040518082815260200191505060405180910390f35b3480156106a457600080fd5b506106ad612869565b6040518082815260200191505060405180910390f35b3480156106cf57600080fd5b50610712600480360360208110156106e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061286f565b6040518082815260200191505060405180910390f35b34801561073457600080fd5b506107776004803603602081101561074b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612b0a565b6040518082815260200191505060405180910390f35b34801561079957600080fd5b506107c8600480360360208110156107b057600080fd5b81019080803515159060200190929190505050612b53565b005b42615460600854011115610829576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603381526020018061323d6033913960400191505060405180910390fd5b60003390506000735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561090d57600080fd5b505afa158015610921573d6000803e3d6000fd5b505050506040513d602081101561093757600080fd5b81019080805190602001909291905050509050670e92596fd629000061095b611f4d565b101580156109755750600760169054906101000a900460ff165b15610fb7576000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610a0557600080fd5b505afa158015610a19573d6000803e3d6000fd5b505050506040513d6020811015610a2f57600080fd5b810190808051906020019092919050505090506000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231846040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610acd57600080fd5b505afa158015610ae1573d6000803e3d6000fd5b505050506040513d6020811015610af757600080fd5b8101908080519060200190929190505050905060006107ca836107cd02610b2b8585623cda20020286876009020201611b37565b0381610b3357fe5b049050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1930836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015610bc957600080fd5b505af1158015610bdd573d6000803e3d6000fd5b505050506060600267ffffffffffffffff81118015610bfb57600080fd5b50604051908082528060200260200182016040528015610c2a5781602001602082028036833780820191505090505b509050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600081518110610c5d57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600181518110610cc757fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3737a250d5630b4cf539739df2c5dacb4c659f2488d846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610da857600080fd5b505af1158015610dbc573d6000803e3d6000fd5b505050506040513d6020811015610dd257600080fd5b810190808051906020019092919050505050737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff166318cbafe5836001847378c883eb7a1c2b11129d8113a5e40d815e1cb33d6407b71a3f546040518663ffffffff1660e01b815260040180868152602001858152602001806020018473ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b83811015610eb3578082015181840152602081019050610e98565b505050509050019650505050505050600060405180830381600087803b158015610edc57600080fd5b505af1158015610ef0573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506020811015610f1a57600080fd5b8101908080516040519392919084640100000000821115610f3a57600080fd5b83820191506020820185811115610f5057600080fd5b8251866020820283011164010000000082111715610f6d57600080fd5b8083526020830192505050908051906020019060200280838360005b83811015610fa4578082015181840152602081019050610f89565b5050505090500160405250505050505050505b610fdf7378c883eb7a1c2b11129d8113a5e40d815e1cb33d60024781610fd957fe5b04612c76565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561106a57600080fd5b505afa15801561107e573d6000803e3d6000fd5b505050506040513d602081101561109457600080fd5b810190808051906020019092919050505090506000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231846040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561113257600080fd5b505afa158015611146573d6000803e3d6000fd5b505050506040513d602081101561115c57600080fd5b810190808051906020019092919050505090506000611196836111888447612d3a90919063ffffffff16565b612dc090919063ffffffff16565b9050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1930836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561122b57600080fd5b505af115801561123f573d6000803e3d6000fd5b5050505060008473ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156112ac57600080fd5b505afa1580156112c0573d6000803e3d6000fd5b505050506040513d60208110156112d657600080fd5b810190808051906020019092919050505090506000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561137457600080fd5b505afa158015611388573d6000803e3d6000fd5b505050506040513d602081101561139e57600080fd5b81019080805190602001909291905050509050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3737a250d5630b4cf539739df2c5dacb4c659f2488d836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561145857600080fd5b505af115801561146c573d6000803e3d6000fd5b505050506040513d602081101561148257600080fd5b810190808051906020019092919050505050737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663f305d71947600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684600180306407b71a3f546040518863ffffffff1660e01b8152600401808773ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200196505050505050506060604051808303818588803b15801561157757600080fd5b505af115801561158b573d6000803e3d6000fd5b50505050506040513d60608110156115a257600080fd5b8101908080519060200190929190805190602001909291908051906020019092919050505050505060008673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561163357600080fd5b505afa158015611647573d6000803e3d6000fd5b505050506040513d602081101561165d57600080fd5b8101908080519060200190929190505050905060006116858483612e0a90919063ffffffff16565b90506116e16116938a612e54565b600460008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ec990919063ffffffff16565b600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506117fe81600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ec990919063ffffffff16565b600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050505050505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6118a9612f51565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611949576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f43616c6c6572206973206e6f74207072696d617279000000000000000000000081525060200191505060405180910390fd5b600760159054906101000a900460ff16156119cc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f46756e6374696f6e2077617320616c72656164792063616c6c6564000000000081525060200191505060405180910390fd5b6001600760156101000a81548160ff02191690831515021790555080600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60016020528060005260406000206000915090505481565b735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f81565b611a63612f51565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b03576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f43616c6c6572206973206e6f74207072696d617279000000000000000000000081525060200191505060405180910390fd5b6001600760146101000a81548160ff021916908315150217905550565b6000600760149054906101000a900460ff16905090565b60006003821115611b86578190506000600160028481611b5357fe5b040190505b81811015611b8057809150600281828581611b6f57fe5b040181611b7857fe5b049050611b58565b50611b94565b60008214611b9357600190505b5b919050565b600080735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015611c7957600080fd5b505afa158015611c8d573d6000803e3d6000fd5b505050506040513d6020811015611ca357600080fd5b810190808051906020019092919050505090506000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611d4157600080fd5b505afa158015611d55573d6000803e3d6000fd5b505050506040513d6020811015611d6b57600080fd5b8101908080519060200190929190505050905060008273ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015611dc657600080fd5b505afa158015611dda573d6000803e3d6000fd5b505050506040513d6020811015611df057600080fd5b810190808051906020019092919050505090506000828260028981611e1157fe5b040281611e1a57fe5b049050611e2886820261222f565b94505050505092915050565b611e3c612f51565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611edc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f43616c6c6572206973206e6f74207072696d617279000000000000000000000081525060200191505060405180910390fd5b611ee4611b20565b15611f3a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180613270602e913960400191505060405180910390fd5b8060008190555050565b6407b71a3f5481565b600080735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561202d57600080fd5b505afa158015612041573d6000803e3d6000fd5b505050506040513d602081101561205757600080fd5b810190808051906020019092919050505090506000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156120f557600080fd5b505afa158015612109573d6000803e3d6000fd5b505050506040513d602081101561211f57600080fd5b810190808051906020019092919050505090506000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231846040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156121bd57600080fd5b505afa1580156121d1573d6000803e3d6000fd5b505050506040513d60208110156121e757600080fd5b810190808051906020019092919050505090506122278161221984670de0b6b3a7640000612d3a90919063ffffffff16565b612dc090919063ffffffff16565b935050505090565b6000670de0b6b3a76400006301e187e00261225a8361224c611872565b612d3a90919063ffffffff16565b8161226157fe5b049050919050565b600080735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561234957600080fd5b505afa15801561235d573d6000803e3d6000fd5b505050506040513d602081101561237357600080fd5b810190808051906020019092919050505090506000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561241157600080fd5b505afa158015612425573d6000803e3d6000fd5b505050506040513d602081101561243b57600080fd5b810190808051906020019092919050505090506124fb8273ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561249757600080fd5b505afa1580156124ab573d6000803e3d6000fd5b505050506040513d60208110156124c157600080fd5b81019080805190602001909291905050506124ed6124de87612b0a565b84612d3a90919063ffffffff16565b612dc090919063ffffffff16565b92505050919050565b600760169054906101000a900460ff1681565b426203f480600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540111156125b4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180613212602b913960400191505060405180910390fd5b61260e6125c033612e54565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ec990919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006126a082612fed565b90506126f481600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e0a90919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1933846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1580156127ca57600080fd5b505af11580156127de573d6000803e3d6000fd5b505050505050565b737a250d5630b4cf539739df2c5dacb4c659f2488d81565b600061286261285d61280f84612e54565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ec990919063ffffffff16565b61222f565b9050919050565b60085481565b600080735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561294f57600080fd5b505afa158015612963573d6000803e3d6000fd5b505050506040513d602081101561297957600080fd5b810190808051906020019092919050505090506000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015612a1757600080fd5b505afa158015612a2b573d6000803e3d6000fd5b505050506040513d6020811015612a4157600080fd5b81019080805190602001909291905050509050612b018273ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015612a9d57600080fd5b505afa158015612ab1573d6000803e3d6000fd5b505050506040513d6020811015612ac757600080fd5b8101908080519060200190929190505050612af3612ae487612b0a565b84612d3a90919063ffffffff16565b612dc090919063ffffffff16565b92505050919050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b612b5b612f51565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612bfb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f43616c6c6572206973206e6f74207072696d617279000000000000000000000081525060200191505060405180910390fd5b612c03611b20565b15612c59576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180613270602e913960400191505060405180910390fd5b80600760166101000a81548160ff02191690831515021790555050565b60008273ffffffffffffffffffffffffffffffffffffffff168260405180600001905060006040518083038185875af1925050503d8060008114612cd6576040519150601f19603f3d011682016040523d82523d6000602084013e612cdb565b606091505b5050905080612d35576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a8152602001806131b7603a913960400191505060405180910390fd5b505050565b600080831415612d4d5760009050612dba565b6000828402905082848281612d5e57fe5b0414612db5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806131f16021913960400191505060405180910390fd5b809150505b92915050565b6000612e0283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613030565b905092915050565b6000612e4c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506130f6565b905092915050565b6000612ec2612eab600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205442612e0a90919063ffffffff16565b612eb484612b0a565b612d3a90919063ffffffff16565b9050919050565b600080828401905083811015612f47576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b60007378c883eb7a1c2b11129d8113a5e40d815e1cb33d73ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015612fad57600080fd5b505afa158015612fc1573d6000803e3d6000fd5b505050506040513d6020811015612fd757600080fd5b8101908080519060200190929190505050905090565b6000613029612ffa611872565b61301b670de0b6b3a76400006301e187e00285612d3a90919063ffffffff16565b612dc090919063ffffffff16565b9050919050565b600080831182906130dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156130a1578082015181840152602081019050613086565b50505050905090810190601f1680156130ce5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816130e857fe5b049050809150509392505050565b60008383111582906131a3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561316857808201518184015260208101905061314d565b50505050905090810190601f1680156131955780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838503905080915050939250505056fe416464726573733a20756e61626c6520746f2073656e642076616c75652c20726563697069656e74206d61792068617665207265766572746564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77497420686173206e6f74206265656e203320646179732073696e636520796f75207374616b656420796574497420686173206e6f74206265656e203620686f7572732073696e636520636f6e7472616374206372656174696f6e207965746d616b65556e6368616e676561626c6528292066756e6374696f6e2077617320616c72656164792063616c6c6564a26469706673582212209f1941d022cd3b534bf761579bea70a6e159817a19f279a36757cc7cf340735564736f6c634300060c0033
Deployed Bytecode Sourcemap
3774:7986:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4354:42;4802:23;;:10;:23;;;4799:59;;4840:7;:5;:7::i;:::-;4799:59;3774:7986;;;;;4496:69;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;5263:87;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4272:25;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;5600:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3993:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4403:86;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;6707:2184;;;:::i;:::-;;5451:85;;;;;;;;;;;;;:::i;:::-;;5162:89;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;6396:301;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11048:416;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5905:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3899:38;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10637:399;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11472:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9886:359;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4665:31;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;8903:504;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4310:86;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;9593:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4709:30;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10257:368;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9763:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6175:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6707:2184;6783:3;6772:7;6757:12;;:22;:29;;6749:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6855:14;6872:10;6855:27;;6903:19;4447:42;6925:24;;;6950:10;;;;;;;;;;;6962:11;;;;;;;;;;;6925:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6903:71;;7010:13;6998:7;:5;:7::i;:::-;:26;;:41;;;;;7028:11;;;;;;;;;;;6998:41;6995:653;;;7068:6;7084:10;;;;;;;;;;;7077:28;;;7106:11;7077:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7068:50;;7152:6;7168:11;;;;;;;;;;;7161:29;;;7191:11;7161:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7152:51;;7235:6;7281:4;7278:1;7273:4;:6;7245:25;7268:1;7266;7258:7;:9;:11;7254:1;7252;7250;:3;:5;:19;7245:4;:25::i;:::-;:34;7244:41;;;;;;7235:50;;7321:10;;;;;;;;;;;7314:23;;;7346:4;7353:1;7314:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7384:21;7422:1;7408:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7384:40;;7449:10;;;;;;;;;;;7439:4;7444:1;7439:7;;;;;;;;;;;;;:20;;;;;;;;;;;7484:11;;;;;;;;;;;7474:4;7479:1;7474:7;;;;;;;;;;;;;:21;;;;;;;;;;;7517:10;;;;;;;;;;;7510:26;;;4354:42;7548:1;7510:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4354:42;7565:40;;;7606:1;7609;7612:4;3490:42;3926:11;7565:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6995:653;;;;;7668:48;3490:42;7714:1;7692:21;:23;;;;;;7668:9;:48::i;:::-;7737:14;7761:11;;;;;;;;;;;7754:29;;;7784:11;7754:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7737:59;;7824:16;7850:10;;;;;;;;;;;7843:28;;;7872:11;7843:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7824:60;;7922:11;7936:55;7981:9;7937:38;7963:11;7937:21;:25;;:38;;;;:::i;:::-;7936:44;;:55;;;;:::i;:::-;7922:69;;8009:10;;;;;;;;;;;8002:23;;;8034:4;8041:6;8002:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8069:26;8105:11;8098:29;;;8136:4;8098:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8069:73;;8163:23;8196:10;;;;;;;;;;;8189:28;;;8226:4;8189:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8163:69;;8250:10;;;;;;;;;;;8243:26;;;4354:42;8281:18;8243:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4354:42;8339:34;;;8382:21;8406:10;;;;;;;;;;;8418:18;8438:1;8441;8452:4;3926:11;8339:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8484:25;8519:11;8512:29;;;8550:4;8512:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8484:72;;8567:17;8587:47;8612:21;8587:20;:24;;:47;;;;:::i;:::-;8567:67;;8673:56;8693:35;8721:6;8693:27;:35::i;:::-;8673:7;:15;8681:6;8673:15;;;;;;;;;;;;;;;;:19;;:56;;;;:::i;:::-;8655:7;:15;8663:6;8655:15;;;;;;;;;;;;;;;:74;;;;8761:3;8740:10;:18;8751:6;8740:18;;;;;;;;;;;;;;;:24;;;;8798:3;8775:12;:20;8788:6;8775:20;;;;;;;;;;;;;;;:26;;;;8843:40;8870:12;8843:14;:22;8858:6;8843:22;;;;;;;;;;;;;;;;:26;;:40;;;;:::i;:::-;8818:14;:22;8833:6;8818:22;;;;;;;;;;;;;;;:65;;;;6707:2184;;;;;;;;;:::o;4496:69::-;;;;;;;;;;;;;:::o;5263:87::-;5307:4;5330:12;;5323:19;;5263:87;:::o;4272:25::-;;;;;;;;;;;;;:::o;5600:201::-;3712:9;:7;:9::i;:::-;3698:23;;:10;:23;;;3690:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5678:18:::1;;;;;;;;;;;5677:19;5669:59;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;5760:4;5739:18;;:25;;;;;;;;;;;;;;;;;;5788:5;5775:10;;:18;;;;;;;;;;;;;;;;;;5600:201:::0;:::o;3993:47::-;;;;;;;;;;;;;;;;;:::o;4403:86::-;4447:42;4403:86;:::o;5451:85::-;3712:9;:7;:9::i;:::-;3698:23;;:10;:23;;;3690:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5524:4:::1;5508:13;;:20;;;;;;;;;;;;;;;;;;5451:85::o:0;5162:89::-;5207:4;5230:13;;;;;;;;;;;5223:20;;5162:89;:::o;6396:301::-;6439:6;6466:1;6462;:5;6458:232;;;6488:1;6484:5;;6504:6;6521:1;6517;6513;:5;;;;;;:9;6504:18;;6537:92;6548:1;6544;:5;6537:92;;;6574:1;6570:5;;6612:1;6607;6603;6599;:5;;;;;;:9;6598:15;;;;;;6594:19;;6537:92;;;6458:232;;;;6655:1;6650;:6;6646:44;;6677:1;6673:5;;6646:44;6458:232;6396:301;;;:::o;11048:416::-;11110:4;11136:19;4447:42;11158:24;;;11183:10;;;;;;;;;;;11195:11;;;;;;;;;;;11158:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11136:71;;11218:13;11241:11;;;;;;;;;;;11234:29;;;11264:11;11234:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11218:58;;11304:12;11326:11;11319:31;;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11304:48;;11373:7;11401:8;11392:7;11389:1;11385:3;:5;;;;;;11384:15;11383:26;;;;;;11373:36;;11437:19;11451:4;11446:2;:9;11437:8;:19::i;:::-;11430:26;;;;;;11048:416;;;;:::o;5905:182::-;3712:9;:7;:9::i;:::-;3698:23;;:10;:23;;;3690:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5983:14:::1;:12;:14::i;:::-;5982:15;5974:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6074:5;6059:12;:20;;;;5905:182:::0;:::o;3899:38::-;3926:11;3899:38;:::o;10637:399::-;10675:4;10701:19;4447:42;10723:24;;;10748:10;;;;;;;;;;;10760:11;;;;;;;;;;;10723:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10701:71;;10793:14;10817:11;;;;;;;;;;;10810:29;;;10840:11;10810:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10793:59;;10880:16;10906:10;;;;;;;;;;;10899:28;;;10928:11;10899:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10880:60;;10987:41;11016:11;10988:22;11000:9;3886:6;10988:11;;:22;;;;:::i;:::-;10987:28;;:41;;;;:::i;:::-;10980:48;;;;;10637:399;:::o;11472:137::-;11523:4;3886:6;11581:8;:18;11548:25;11566:6;11548:13;:11;:13::i;:::-;:17;;:25;;;;:::i;:::-;11546:55;;;;;;11539:62;;11472:137;;;:::o;9886:359::-;9949:4;9973:19;4447:42;9995:24;;;10020:10;;;;;;;;;;;10032:11;;;;;;;;;;;9995:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9973:71;;10055:14;10079:11;;;;;;;;;;;10072:29;;;10102:11;10072:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10055:59;;10159:78;10210:11;10203:31;;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10160:37;10174:22;10192:3;10174:17;:22::i;:::-;10160:9;:13;;:37;;;;:::i;:::-;10159:43;;:78;;;;:::i;:::-;10152:85;;;;9886:359;;;:::o;4665:31::-;;;;;;;;;;;;;:::o;8903:504::-;9007:3;8997:6;8972:10;:22;8983:10;8972:22;;;;;;;;;;;;;;;;:31;:38;;8964:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9101:64;9125:39;9153:10;9125:27;:39::i;:::-;9101:7;:19;9109:10;9101:19;;;;;;;;;;;;;;;;:23;;:64;;;;:::i;:::-;9079:7;:19;9087:10;9079:19;;;;;;;;;;;;;;;:86;;;;9203:3;9176:12;:24;9189:10;9176:24;;;;;;;;;;;;;;;:30;;;;9227:17;9247:19;9259:6;9247:11;:19::i;:::-;9227:39;;9299:37;9323:12;9299:7;:19;9307:10;9299:19;;;;;;;;;;;;;;;;:23;;:37;;;;:::i;:::-;9277:7;:19;9285:10;9277:19;;;;;;;;;;;;;;;:59;;;;9363:10;;;;;;;;;;;9356:23;;;9380:10;9392:6;9356:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8903:504;;:::o;4310:86::-;4354:42;4310:86;:::o;9593:158::-;9658:4;9681:62;9691:50;9708:32;9736:3;9708:27;:32::i;:::-;9691:7;:12;9699:3;9691:12;;;;;;;;;;;;;;;;:16;;:50;;;;:::i;:::-;9681:8;:62::i;:::-;9674:69;;9593:158;;;:::o;4709:30::-;;;;:::o;10257:368::-;10322:4;10348:19;4447:42;10370:24;;;10395:10;;;;;;;;;;;10407:11;;;;;;;;;;;10370:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10348:71;;10430:16;10456:10;;;;;;;;;;;10449:28;;;10478:11;10449:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10430:60;;10537:80;10590:11;10583:31;;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10538:39;10554:22;10572:3;10554:17;:22::i;:::-;10538:11;:15;;:39;;;;:::i;:::-;10537:45;;:80;;;;:::i;:::-;10530:87;;;;10257:368;;;:::o;9763:111::-;9824:4;9847:14;:19;9862:3;9847:19;;;;;;;;;;;;;;;;9840:26;;9763:111;;;:::o;6175:172::-;3712:9;:7;:9::i;:::-;3698:23;;:10;:23;;;3690:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6244:14:::1;:12;:14::i;:::-;6243:15;6235:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6334:5;6320:11;;:19;;;;;;;;;;;;;;;;;;6175:172:::0;:::o;4877:234::-;4960:12;4978:9;:14;;5001:6;4978:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4959:54;;;5033:7;5025:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4877:234;;;:::o;1041:216::-;1099:7;1128:1;1123;:6;1119:23;;;1139:1;1132:8;;;;1119:23;1152:9;1168:1;1164;:5;1152:17;;1197:1;1192;1188;:5;;;;;;:10;1180:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1254:1;1247:8;;;1041:216;;;;;:::o;1265:126::-;1323:7;1350:39;1354:1;1357;1350:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1343:46;;1265:126;;;;:::o;711:130::-;769:7;796:43;800:1;803;796:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;789:50;;711:130;;;;:::o;9419:162::-;9492:4;9516:56;9544:26;9552:12;:17;9565:3;9552:17;;;;;;;;;;;;;;;;9544:3;:7;;:26;;;;:::i;:::-;9516:22;9534:3;9516:17;:22::i;:::-;:26;;:56;;;;:::i;:::-;9508:65;;9419:162;;;:::o;530:173::-;588:7;608:9;624:1;620;:5;608:17;;649:1;644;:6;;636:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;700:1;693:8;;;530:173;;;;:::o;3542:102::-;3583:7;3490:42;3610:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3603:33;;3542:102;:::o;11621:136::-;11674:4;11697:52;11734:13;:11;:13::i;:::-;11699:27;3886:6;11707:8;:18;11699:3;:7;;:27;;;;:::i;:::-;11697:35;;:52;;;;:::i;:::-;11690:59;;11621:136;;;:::o;1399:183::-;1485:7;1517:1;1513;:5;1520:12;1505:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1544:9;1560:1;1556;:5;;;;;;1544:17;;1579:1;1572:8;;;1399:183;;;;;:::o;849:184::-;935:7;968:1;963;:6;;971:12;955:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;995:9;1011:1;1007;:5;995:17;;1030:1;1023:8;;;849:184;;;;;:::o
Swarm Source
ipfs://9f1941d022cd3b534bf761579bea70a6e159817a19f279a36757cc7cf3407355
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Token Allocations
ETH
100.00%
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|---|---|---|---|---|
| ETH | 100.00% | $2,079.93 | 0.000000000000000001 | <$0.000001 |
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.