Feature Tip: Add private address tag to any address under My Name Tag !
Latest 25 from a total of 376 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Deposit | 10821064 | 2005 days ago | IN | 0 ETH | 0.00202735 | ||||
| Harvest | 10762218 | 2014 days ago | IN | 0 ETH | 0.1798854 | ||||
| Harvest | 10758535 | 2015 days ago | IN | 0 ETH | 0.10164453 | ||||
| Harvest | 10757167 | 2015 days ago | IN | 0 ETH | 0.17682689 | ||||
| Harvest | 10756880 | 2015 days ago | IN | 0 ETH | 0.15581058 | ||||
| Harvest | 10756621 | 2015 days ago | IN | 0 ETH | 0.13153998 | ||||
| Harvest | 10756355 | 2015 days ago | IN | 0 ETH | 0.11240689 | ||||
| Harvest | 10756085 | 2015 days ago | IN | 0 ETH | 0.09661104 | ||||
| Harvest | 10755793 | 2015 days ago | IN | 0 ETH | 0.09878297 | ||||
| Harvest | 10755522 | 2015 days ago | IN | 0 ETH | 0.11691833 | ||||
| Harvest | 10755246 | 2015 days ago | IN | 0 ETH | 0.14010874 | ||||
| Harvest | 10754989 | 2015 days ago | IN | 0 ETH | 0.15339491 | ||||
| Harvest | 10754715 | 2015 days ago | IN | 0 ETH | 0.15943408 | ||||
| Harvest | 10754447 | 2015 days ago | IN | 0 ETH | 0.14614791 | ||||
| Harvest | 10754182 | 2015 days ago | IN | 0 ETH | 0.12913127 | ||||
| Harvest | 10753921 | 2015 days ago | IN | 0 ETH | 0.12199123 | ||||
| Harvest | 10753641 | 2015 days ago | IN | 0 ETH | 0.11595206 | ||||
| Harvest | 10753370 | 2015 days ago | IN | 0 ETH | 0.11353639 | ||||
| Harvest | 10753111 | 2015 days ago | IN | 0 ETH | 0.10749722 | ||||
| Harvest | 10752839 | 2015 days ago | IN | 0 ETH | 0.10278667 | ||||
| Harvest | 10752582 | 2015 days ago | IN | 0 ETH | 0.09904238 | ||||
| Harvest | 10752299 | 2016 days ago | IN | 0 ETH | 0.10149522 | ||||
| Harvest | 10752015 | 2016 days ago | IN | 0 ETH | 0.11066099 | ||||
| Harvest | 10751753 | 2016 days ago | IN | 0 ETH | 0.13286174 | ||||
| Harvest | 10751487 | 2016 days ago | IN | 0 ETH | 0.14607676 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
StrategyCurveYCRV
Compiler Version
v0.5.17+commit.d19bba13
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2020-08-14
*/
// SPDX-License-Identifier: MIT
pragma solidity ^0.5.17;
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 decimals() external view returns (uint);
function approve(address spender, uint256 amount) external returns (bool);
function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
}
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) {
// Solidity only automatically asserts when dividing by 0
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;
}
}
library Address {
function isContract(address account) internal view returns (bool) {
bytes32 codehash;
bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
// solhint-disable-next-line no-inline-assembly
assembly { codehash := extcodehash(account) }
return (codehash != 0x0 && codehash != accountHash);
}
function toPayable(address account) internal pure returns (address payable) {
return address(uint160(account));
}
function sendValue(address payable recipient, uint256 amount) internal {
require(address(this).balance >= amount, "Address: insufficient balance");
// solhint-disable-next-line avoid-call-value
(bool success, ) = recipient.call.value(amount)("");
require(success, "Address: unable to send value, recipient may have reverted");
}
}
library SafeERC20 {
using SafeMath for uint256;
using Address for address;
function safeTransfer(IERC20 token, address to, uint256 value) internal {
callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value));
}
function safeTransferFrom(IERC20 token, address from, address to, uint256 value) internal {
callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value));
}
function safeApprove(IERC20 token, address spender, uint256 value) internal {
require((value == 0) || (token.allowance(address(this), spender) == 0),
"SafeERC20: approve from non-zero to non-zero allowance"
);
callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value));
}
function callOptionalReturn(IERC20 token, bytes memory data) private {
require(address(token).isContract(), "SafeERC20: call to non-contract");
// solhint-disable-next-line avoid-low-level-calls
(bool success, bytes memory returndata) = address(token).call(data);
require(success, "SafeERC20: low-level call failed");
if (returndata.length > 0) { // Return data is optional
// solhint-disable-next-line max-line-length
require(abi.decode(returndata, (bool)), "SafeERC20: ERC20 operation did not succeed");
}
}
}
interface Controller {
function vaults(address) external view returns (address);
function rewards() external view returns (address);
}
/*
A strategy must implement the following calls;
- deposit()
- withdraw(address) must exclude any tokens used in the yield - Controller role - withdraw should return to Controller
- withdraw(uint) - Controller | Vault role - withdraw should always return to vault
- withdrawAll() - Controller | Vault role - withdraw should always return to vault
- balanceOf()
Where possible, strategies must remain as immutable as possible, instead of updating variables, we update the contract by linking it in the controller
*/
interface Gauge {
function deposit(uint) external;
function balanceOf(address) external view returns (uint);
function withdraw(uint) external;
}
interface Mintr {
function mint(address) external;
}
interface Uni {
function swapExactTokensForTokens(uint, uint, address[] calldata, address, uint) external;
}
interface yERC20 {
function deposit(uint256 _amount) external;
function withdraw(uint256 _amount) external;
}
interface ICurveFi {
function get_virtual_price() external view returns (uint);
function add_liquidity(
uint256[4] calldata amounts,
uint256 min_mint_amount
) external;
function remove_liquidity_imbalance(
uint256[4] calldata amounts,
uint256 max_burn_amount
) external;
function remove_liquidity(
uint256 _amount,
uint256[4] calldata amounts
) external;
function exchange(
int128 from, int128 to, uint256 _from_amount, uint256 _min_to_amount
) external;
}
contract StrategyCurveYCRV {
using SafeERC20 for IERC20;
using Address for address;
using SafeMath for uint256;
address constant public want = address(0xdF5e0e81Dff6FAF3A7e52BA697820c5e32D806A8);
address constant public pool = address(0xFA712EE4788C042e2B7BB55E6cb8ec569C4530c1);
address constant public mintr = address(0xd061D61a4d941c39E5453435B6345Dc261C2fcE0);
address constant public crv = address(0xD533a949740bb3306d119CC777fa900bA034cd52);
address constant public uni = address(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
address constant public weth = address(0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2); // used for crv <> weth <> dai route
address constant public dai = address(0x6B175474E89094C44Da98b954EedeAC495271d0F);
address constant public ydai = address(0x16de59092dAE5CcF4A1E6439D611fd0653f0Bd01);
address constant public curve = address(0x45F783CCE6B7FF23B2ab2D70e416cdb7D6055f51);
uint public performanceFee = 500;
uint constant public performanceMax = 10000;
uint public withdrawalFee = 50;
uint constant public withdrawalMax = 10000;
address public governance;
address public controller;
address public strategist;
constructor(address _controller) public {
governance = msg.sender;
strategist = msg.sender;
controller = _controller;
}
function getName() external pure returns (string memory) {
return "StrategyCurveYCRV";
}
function setStrategist(address _strategist) external {
require(msg.sender == governance, "!governance");
strategist = _strategist;
}
function setWithdrawalFee(uint _withdrawalFee) external {
require(msg.sender == governance, "!governance");
withdrawalFee = _withdrawalFee;
}
function setPerformanceFee(uint _performanceFee) external {
require(msg.sender == governance, "!governance");
performanceFee = _performanceFee;
}
function deposit() public {
uint _want = IERC20(want).balanceOf(address(this));
if (_want > 0) {
IERC20(want).safeApprove(pool, 0);
IERC20(want).safeApprove(pool, _want);
Gauge(pool).deposit(_want);
}
}
// Controller only function for creating additional rewards from dust
function withdraw(IERC20 _asset) external returns (uint balance) {
require(msg.sender == controller, "!controller");
require(want != address(_asset), "want");
require(crv != address(_asset), "crv");
require(ydai != address(_asset), "ydai");
require(dai != address(_asset), "dai");
balance = _asset.balanceOf(address(this));
_asset.safeTransfer(controller, balance);
}
// Withdraw partial funds, normally used with a vault withdrawal
function withdraw(uint _amount) external {
require(msg.sender == controller, "!controller");
uint _balance = IERC20(want).balanceOf(address(this));
if (_balance < _amount) {
_amount = _withdrawSome(_amount.sub(_balance));
_amount = _amount.add(_balance);
}
uint _fee = _amount.mul(withdrawalFee).div(withdrawalMax);
IERC20(want).safeTransfer(Controller(controller).rewards(), _fee);
address _vault = Controller(controller).vaults(address(want));
require(_vault != address(0), "!vault"); // additional protection so we don't burn the funds
IERC20(want).safeTransfer(_vault, _amount.sub(_fee));
}
// Withdraw all funds, normally used when migrating strategies
function withdrawAll() external returns (uint balance) {
require(msg.sender == controller, "!controller");
_withdrawAll();
balance = IERC20(want).balanceOf(address(this));
address _vault = Controller(controller).vaults(address(want));
require(_vault != address(0), "!vault"); // additional protection so we don't burn the funds
IERC20(want).safeTransfer(_vault, balance);
}
function _withdrawAll() internal {
Gauge(pool).withdraw(Gauge(pool).balanceOf(address(this)));
}
function harvest() public {
require(msg.sender == strategist || msg.sender == governance, "!authorized");
Mintr(mintr).mint(pool);
uint _crv = IERC20(crv).balanceOf(address(this));
if (_crv > 0) {
IERC20(crv).safeApprove(uni, 0);
IERC20(crv).safeApprove(uni, _crv);
address[] memory path = new address[](3);
path[0] = crv;
path[1] = weth;
path[2] = dai;
Uni(uni).swapExactTokensForTokens(_crv, uint(0), path, address(this), now.add(1800));
}
uint _dai = IERC20(dai).balanceOf(address(this));
if (_dai > 0) {
IERC20(dai).safeApprove(ydai, 0);
IERC20(dai).safeApprove(ydai, _dai);
yERC20(ydai).deposit(_dai);
}
uint _ydai = IERC20(ydai).balanceOf(address(this));
if (_ydai > 0) {
IERC20(ydai).safeApprove(curve, 0);
IERC20(ydai).safeApprove(curve, _ydai);
ICurveFi(curve).add_liquidity([_ydai,0,0,0],0);
}
uint _want = IERC20(want).balanceOf(address(this));
if (_want > 0) {
uint _fee = _want.mul(performanceFee).div(performanceMax);
IERC20(want).safeTransfer(Controller(controller).rewards(), _fee);
deposit();
}
}
function _withdrawSome(uint256 _amount) internal returns (uint) {
Gauge(pool).withdraw(_amount);
return _amount;
}
function balanceOfWant() public view returns (uint) {
return IERC20(want).balanceOf(address(this));
}
function balanceOfPool() public view returns (uint) {
return Gauge(pool).balanceOf(address(this));
}
function balanceOf() public view returns (uint) {
return balanceOfWant()
.add(balanceOfPool());
}
function setGovernance(address _governance) external {
require(msg.sender == governance, "!governance");
governance = _governance;
}
function setController(address _controller) external {
require(msg.sender == governance, "!governance");
controller = _controller;
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_controller","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"constant":true,"inputs":[],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"balanceOfPool","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"balanceOfWant","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"controller","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"crv","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"curve","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"dai","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"deposit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getName","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"governance","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"harvest","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"mintr","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"performanceFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"performanceMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"pool","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_controller","type":"address"}],"name":"setController","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_governance","type":"address"}],"name":"setGovernance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_performanceFee","type":"uint256"}],"name":"setPerformanceFee","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_strategist","type":"address"}],"name":"setStrategist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_withdrawalFee","type":"uint256"}],"name":"setWithdrawalFee","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"strategist","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"uni","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"want","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"weth","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"contract IERC20","name":"_asset","type":"address"}],"name":"withdraw","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"withdrawAll","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"withdrawalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"withdrawalMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ydai","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"}]Contract Creation Code
60806040526101f4600055603260015534801561001b57600080fd5b506040516137fc3803806137fc8339818101604052602081101561003e57600080fd5b810190808051906020019092919050505033600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506136da806101226000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c80637cc7911311610104578063c1a3d44c116100a2578063d5c1ff7311610071578063d5c1ff7314610790578063edc9af95146107ae578063f4b9fa75146107f8578063f77c479114610842576101da565b8063c1a3d44c146106da578063c7b9d530146106f8578063d0e30db01461073c578063d1e61dcb14610746576101da565b80638bc7e8c4116100de5780638bc7e8c41461060657806392eefe9b14610624578063ab033ea914610668578063ac1e5025146106ac576101da565b80637cc79113146105ac578063853828b6146105ca57806387788782146105e8576101da565b80633fc8cef31161017c5780636a4874a11161014b5780636a4874a1146104cc57806370897b23146105165780637165485d14610544578063722713f71461058e576101da565b80633fc8cef3146103d65780634641257d1461042057806351cff8d91461042a5780635aa6e67514610482576101da565b80631f1fcd51116101b85780631f1fcd51146102ca5780631fe4a686146103145780632e1a7d4d1461035e578063366cd4f31461038c576101da565b806311588086146101df57806316f0115b146101fd57806317d7de7c14610247575b600080fd5b6101e761088c565b6040518082815260200191505060405180910390f35b61020561095f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61024f610977565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561028f578082015181840152602081019050610274565b50505050905090810190601f1680156102bc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102d26109b4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61031c6109cc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61038a6004803603602081101561037457600080fd5b81019080803590602001909291905050506109f2565b005b610394610eba565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103de610ed2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610428610eea565b005b61046c6004803603602081101561044057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611afb565b6040518082815260200191505060405180910390f35b61048a611fa4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104d4611fca565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105426004803603602081101561052c57600080fd5b8101908080359060200190929190505050611fe2565b005b61054c6120af565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105966120c7565b6040518082815260200191505060405180910390f35b6105b46120ef565b6040518082815260200191505060405180910390f35b6105d26120f5565b6040518082815260200191505060405180910390f35b6105f0612468565b6040518082815260200191505060405180910390f35b61060e61246e565b6040518082815260200191505060405180910390f35b6106666004803603602081101561063a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612474565b005b6106aa6004803603602081101561067e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061257b565b005b6106d8600480360360208110156106c257600080fd5b8101908080359060200190929190505050612682565b005b6106e261274f565b6040518082815260200191505060405180910390f35b61073a6004803603602081101561070e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612822565b005b610744612929565b005b61074e612b2c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610798612b44565b6040518082815260200191505060405180910390f35b6107b6612b4a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610800612b62565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61084a612b7a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600073fa712ee4788c042e2b7bb55e6cb8ec569c4530c173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561091f57600080fd5b505afa158015610933573d6000803e3d6000fd5b505050506040513d602081101561094957600080fd5b8101908080519060200190929190505050905090565b73fa712ee4788c042e2b7bb55e6cb8ec569c4530c181565b60606040518060400160405280601181526020017f5374726174656779437572766559435256000000000000000000000000000000815250905090565b73df5e0e81dff6faf3a7e52ba697820c5e32d806a881565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ab5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21636f6e74726f6c6c657200000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073df5e0e81dff6faf3a7e52ba697820c5e32d806a873ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610b4857600080fd5b505afa158015610b5c573d6000803e3d6000fd5b505050506040513d6020811015610b7257600080fd5b8101908080519060200190929190505050905081811015610bc057610ba8610ba38284612ba090919063ffffffff16565b612bea565b9150610bbd8183612c7390919063ffffffff16565b91505b6000610beb612710610bdd60015486612cfb90919063ffffffff16565b612d8190919063ffffffff16565b9050610cce600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639ec5a8946040518163ffffffff1660e01b815260040160206040518083038186803b158015610c5857600080fd5b505afa158015610c6c573d6000803e3d6000fd5b505050506040513d6020811015610c8257600080fd5b81019080805190602001909291905050508273df5e0e81dff6faf3a7e52ba697820c5e32d806a873ffffffffffffffffffffffffffffffffffffffff16612dcb9092919063ffffffff16565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a622ee7c73df5e0e81dff6faf3a7e52ba697820c5e32d806a86040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610d8357600080fd5b505afa158015610d97573d6000803e3d6000fd5b505050506040513d6020811015610dad57600080fd5b81019080805190602001909291905050509050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610e63576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f217661756c74000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b610eb481610e7a8487612ba090919063ffffffff16565b73df5e0e81dff6faf3a7e52ba697820c5e32d806a873ffffffffffffffffffffffffffffffffffffffff16612dcb9092919063ffffffff16565b50505050565b7316de59092dae5ccf4a1e6439d611fd0653f0bd0181565b73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610f935750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b611005576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21617574686f72697a656400000000000000000000000000000000000000000081525060200191505060405180910390fd5b73d061d61a4d941c39e5453435b6345dc261c2fce073ffffffffffffffffffffffffffffffffffffffff16636a62784273fa712ee4788c042e2b7bb55e6cb8ec569c4530c16040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156110ac57600080fd5b505af11580156110c0573d6000803e3d6000fd5b50505050600073d533a949740bb3306d119cc777fa900ba034cd5273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561115757600080fd5b505afa15801561116b573d6000803e3d6000fd5b505050506040513d602081101561118157600080fd5b8101908080519060200190929190505050905060008111156114b0576111f1737a250d5630b4cf539739df2c5dacb4c659f2488d600073d533a949740bb3306d119cc777fa900ba034cd5273ffffffffffffffffffffffffffffffffffffffff16612e9c9092919063ffffffff16565b611244737a250d5630b4cf539739df2c5dacb4c659f2488d8273d533a949740bb3306d119cc777fa900ba034cd5273ffffffffffffffffffffffffffffffffffffffff16612e9c9092919063ffffffff16565b606060036040519080825280602002602001820160405280156112765781602001602082028038833980820191505090505b50905073d533a949740bb3306d119cc777fa900ba034cd528160008151811061129b57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2816001815181106112f757fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050736b175474e89094c44da98b954eedeac495271d0f8160028151811061135357fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff166338ed173983600084306113d761070842612c7390919063ffffffff16565b6040518663ffffffff1660e01b815260040180868152602001858152602001806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b8381101561146d578082015181840152602081019050611452565b505050509050019650505050505050600060405180830381600087803b15801561149657600080fd5b505af11580156114aa573d6000803e3d6000fd5b50505050505b6000736b175474e89094c44da98b954eedeac495271d0f73ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561154357600080fd5b505afa158015611557573d6000803e3d6000fd5b505050506040513d602081101561156d57600080fd5b8101908080519060200190929190505050905060008111156116b0576115dd7316de59092dae5ccf4a1e6439d611fd0653f0bd016000736b175474e89094c44da98b954eedeac495271d0f73ffffffffffffffffffffffffffffffffffffffff16612e9c9092919063ffffffff16565b6116307316de59092dae5ccf4a1e6439d611fd0653f0bd0182736b175474e89094c44da98b954eedeac495271d0f73ffffffffffffffffffffffffffffffffffffffff16612e9c9092919063ffffffff16565b7316de59092dae5ccf4a1e6439d611fd0653f0bd0173ffffffffffffffffffffffffffffffffffffffff1663b6b55f25826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561169757600080fd5b505af11580156116ab573d6000803e3d6000fd5b505050505b60007316de59092dae5ccf4a1e6439d611fd0653f0bd0173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561174357600080fd5b505afa158015611757573d6000803e3d6000fd5b505050506040513d602081101561176d57600080fd5b810190808051906020019092919050505090506000811115611904576117dd7345f783cce6b7ff23b2ab2d70e416cdb7d6055f5160007316de59092dae5ccf4a1e6439d611fd0653f0bd0173ffffffffffffffffffffffffffffffffffffffff16612e9c9092919063ffffffff16565b6118307345f783cce6b7ff23b2ab2d70e416cdb7d6055f51827316de59092dae5ccf4a1e6439d611fd0653f0bd0173ffffffffffffffffffffffffffffffffffffffff16612e9c9092919063ffffffff16565b7345f783cce6b7ff23b2ab2d70e416cdb7d6055f5173ffffffffffffffffffffffffffffffffffffffff1663029b2f3460405180608001604052808481526020016000815260200160008152602001600081525060006040518363ffffffff1660e01b81526004018083600460200280838360005b838110156118c05780820151818401526020810190506118a5565b5050505090500182815260200192505050600060405180830381600087803b1580156118eb57600080fd5b505af11580156118ff573d6000803e3d6000fd5b505050505b600073df5e0e81dff6faf3a7e52ba697820c5e32d806a873ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561199757600080fd5b505afa1580156119ab573d6000803e3d6000fd5b505050506040513d60208110156119c157600080fd5b810190808051906020019092919050505090506000811115611af5576000611a086127106119fa60005485612cfb90919063ffffffff16565b612d8190919063ffffffff16565b9050611aeb600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639ec5a8946040518163ffffffff1660e01b815260040160206040518083038186803b158015611a7557600080fd5b505afa158015611a89573d6000803e3d6000fd5b505050506040513d6020811015611a9f57600080fd5b81019080805190602001909291905050508273df5e0e81dff6faf3a7e52ba697820c5e32d806a873ffffffffffffffffffffffffffffffffffffffff16612dcb9092919063ffffffff16565b611af3612929565b505b50505050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611bc0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21636f6e74726f6c6c657200000000000000000000000000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1673df5e0e81dff6faf3a7e52ba697820c5e32d806a873ffffffffffffffffffffffffffffffffffffffff161415611c76576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260048152602001807f77616e740000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1673d533a949740bb3306d119cc777fa900ba034cd5273ffffffffffffffffffffffffffffffffffffffff161415611d2c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260038152602001807f637276000000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff167316de59092dae5ccf4a1e6439d611fd0653f0bd0173ffffffffffffffffffffffffffffffffffffffff161415611de2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260048152602001807f796461690000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff16736b175474e89094c44da98b954eedeac495271d0f73ffffffffffffffffffffffffffffffffffffffff161415611e98576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260038152602001807f646169000000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611f1557600080fd5b505afa158015611f29573d6000803e3d6000fd5b505050506040513d6020811015611f3f57600080fd5b81019080805190602001909291905050509050611f9f600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828473ffffffffffffffffffffffffffffffffffffffff16612dcb9092919063ffffffff16565b919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b73d533a949740bb3306d119cc777fa900ba034cd5281565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146120a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21676f7665726e616e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b8060008190555050565b7345f783cce6b7ff23b2ab2d70e416cdb7d6055f5181565b60006120ea6120d461088c565b6120dc61274f565b612c7390919063ffffffff16565b905090565b61271081565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146121ba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21636f6e74726f6c6c657200000000000000000000000000000000000000000081525060200191505060405180910390fd5b6121c26130bc565b73df5e0e81dff6faf3a7e52ba697820c5e32d806a873ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561225357600080fd5b505afa158015612267573d6000803e3d6000fd5b505050506040513d602081101561227d57600080fd5b810190808051906020019092919050505090506000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a622ee7c73df5e0e81dff6faf3a7e52ba697820c5e32d806a86040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561234557600080fd5b505afa158015612359573d6000803e3d6000fd5b505050506040513d602081101561236f57600080fd5b81019080805190602001909291905050509050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612425576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f217661756c74000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b612464818373df5e0e81dff6faf3a7e52ba697820c5e32d806a873ffffffffffffffffffffffffffffffffffffffff16612dcb9092919063ffffffff16565b5090565b60005481565b60015481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612537576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21676f7665726e616e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461263e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21676f7665726e616e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612745576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21676f7665726e616e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b8060018190555050565b600073df5e0e81dff6faf3a7e52ba697820c5e32d806a873ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156127e257600080fd5b505afa1580156127f6573d6000803e3d6000fd5b505050506040513d602081101561280c57600080fd5b8101908080519060200190929190505050905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146128e5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21676f7665726e616e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600073df5e0e81dff6faf3a7e52ba697820c5e32d806a873ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156129bc57600080fd5b505afa1580156129d0573d6000803e3d6000fd5b505050506040513d60208110156129e657600080fd5b810190808051906020019092919050505090506000811115612b2957612a5673fa712ee4788c042e2b7bb55e6cb8ec569c4530c1600073df5e0e81dff6faf3a7e52ba697820c5e32d806a873ffffffffffffffffffffffffffffffffffffffff16612e9c9092919063ffffffff16565b612aa973fa712ee4788c042e2b7bb55e6cb8ec569c4530c18273df5e0e81dff6faf3a7e52ba697820c5e32d806a873ffffffffffffffffffffffffffffffffffffffff16612e9c9092919063ffffffff16565b73fa712ee4788c042e2b7bb55e6cb8ec569c4530c173ffffffffffffffffffffffffffffffffffffffff1663b6b55f25826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015612b1057600080fd5b505af1158015612b24573d6000803e3d6000fd5b505050505b50565b73d061d61a4d941c39e5453435b6345dc261c2fce081565b61271081565b737a250d5630b4cf539739df2c5dacb4c659f2488d81565b736b175474e89094c44da98b954eedeac495271d0f81565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000612be283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613208565b905092915050565b600073fa712ee4788c042e2b7bb55e6cb8ec569c4530c173ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015612c5357600080fd5b505af1158015612c67573d6000803e3d6000fd5b50505050819050919050565b600080828401905083811015612cf1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600080831415612d0e5760009050612d7b565b6000828402905082848281612d1f57fe5b0414612d76576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806136256021913960400191505060405180910390fd5b809150505b92915050565b6000612dc383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506132c8565b905092915050565b612e97838473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb905060e01b8484604051602401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061338e565b505050565b6000811480612f96575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015612f5957600080fd5b505afa158015612f6d573d6000803e3d6000fd5b505050506040513d6020811015612f8357600080fd5b8101908080519060200190929190505050145b612feb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001806136706036913960400191505060405180910390fd5b6130b7838473ffffffffffffffffffffffffffffffffffffffff1663095ea7b3905060e01b8484604051602401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061338e565b505050565b73fa712ee4788c042e2b7bb55e6cb8ec569c4530c173ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d73fa712ee4788c042e2b7bb55e6cb8ec569c4530c173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561317d57600080fd5b505afa158015613191573d6000803e3d6000fd5b505050506040513d60208110156131a757600080fd5b81019080805190602001909291905050506040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156131ee57600080fd5b505af1158015613202573d6000803e3d6000fd5b50505050565b60008383111582906132b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561327a57808201518184015260208101905061325f565b50505050905090810190601f1680156132a75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b60008083118290613374576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561333957808201518184015260208101905061331e565b50505050905090810190601f1680156133665780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161338057fe5b049050809150509392505050565b6133ad8273ffffffffffffffffffffffffffffffffffffffff166135d9565b61341f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e74726163740081525060200191505060405180910390fd5b600060608373ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b6020831061346e578051825260208201915060208101905060208303925061344b565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146134d0576040519150601f19603f3d011682016040523d82523d6000602084013e6134d5565b606091505b50915091508161354d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656481525060200191505060405180910390fd5b6000815111156135d35780806020019051602081101561356c57600080fd5b81019080805190602001909291905050506135d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180613646602a913960400191505060405180910390fd5b5b50505050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f91506000801b821415801561361b5750808214155b9250505091905056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a265627a7a7231582072c5cb0b2c8d6dd322ae9bcc49d998a7fb525ef35b60567fbcfb1f06d38fe78e64736f6c634300051100320000000000000000000000009e65ad11b299ca0abefc2799ddb6314ef2d91080
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101da5760003560e01c80637cc7911311610104578063c1a3d44c116100a2578063d5c1ff7311610071578063d5c1ff7314610790578063edc9af95146107ae578063f4b9fa75146107f8578063f77c479114610842576101da565b8063c1a3d44c146106da578063c7b9d530146106f8578063d0e30db01461073c578063d1e61dcb14610746576101da565b80638bc7e8c4116100de5780638bc7e8c41461060657806392eefe9b14610624578063ab033ea914610668578063ac1e5025146106ac576101da565b80637cc79113146105ac578063853828b6146105ca57806387788782146105e8576101da565b80633fc8cef31161017c5780636a4874a11161014b5780636a4874a1146104cc57806370897b23146105165780637165485d14610544578063722713f71461058e576101da565b80633fc8cef3146103d65780634641257d1461042057806351cff8d91461042a5780635aa6e67514610482576101da565b80631f1fcd51116101b85780631f1fcd51146102ca5780631fe4a686146103145780632e1a7d4d1461035e578063366cd4f31461038c576101da565b806311588086146101df57806316f0115b146101fd57806317d7de7c14610247575b600080fd5b6101e761088c565b6040518082815260200191505060405180910390f35b61020561095f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61024f610977565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561028f578082015181840152602081019050610274565b50505050905090810190601f1680156102bc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102d26109b4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61031c6109cc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61038a6004803603602081101561037457600080fd5b81019080803590602001909291905050506109f2565b005b610394610eba565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103de610ed2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610428610eea565b005b61046c6004803603602081101561044057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611afb565b6040518082815260200191505060405180910390f35b61048a611fa4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104d4611fca565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105426004803603602081101561052c57600080fd5b8101908080359060200190929190505050611fe2565b005b61054c6120af565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105966120c7565b6040518082815260200191505060405180910390f35b6105b46120ef565b6040518082815260200191505060405180910390f35b6105d26120f5565b6040518082815260200191505060405180910390f35b6105f0612468565b6040518082815260200191505060405180910390f35b61060e61246e565b6040518082815260200191505060405180910390f35b6106666004803603602081101561063a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612474565b005b6106aa6004803603602081101561067e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061257b565b005b6106d8600480360360208110156106c257600080fd5b8101908080359060200190929190505050612682565b005b6106e261274f565b6040518082815260200191505060405180910390f35b61073a6004803603602081101561070e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612822565b005b610744612929565b005b61074e612b2c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610798612b44565b6040518082815260200191505060405180910390f35b6107b6612b4a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610800612b62565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61084a612b7a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600073fa712ee4788c042e2b7bb55e6cb8ec569c4530c173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561091f57600080fd5b505afa158015610933573d6000803e3d6000fd5b505050506040513d602081101561094957600080fd5b8101908080519060200190929190505050905090565b73fa712ee4788c042e2b7bb55e6cb8ec569c4530c181565b60606040518060400160405280601181526020017f5374726174656779437572766559435256000000000000000000000000000000815250905090565b73df5e0e81dff6faf3a7e52ba697820c5e32d806a881565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ab5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21636f6e74726f6c6c657200000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073df5e0e81dff6faf3a7e52ba697820c5e32d806a873ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610b4857600080fd5b505afa158015610b5c573d6000803e3d6000fd5b505050506040513d6020811015610b7257600080fd5b8101908080519060200190929190505050905081811015610bc057610ba8610ba38284612ba090919063ffffffff16565b612bea565b9150610bbd8183612c7390919063ffffffff16565b91505b6000610beb612710610bdd60015486612cfb90919063ffffffff16565b612d8190919063ffffffff16565b9050610cce600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639ec5a8946040518163ffffffff1660e01b815260040160206040518083038186803b158015610c5857600080fd5b505afa158015610c6c573d6000803e3d6000fd5b505050506040513d6020811015610c8257600080fd5b81019080805190602001909291905050508273df5e0e81dff6faf3a7e52ba697820c5e32d806a873ffffffffffffffffffffffffffffffffffffffff16612dcb9092919063ffffffff16565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a622ee7c73df5e0e81dff6faf3a7e52ba697820c5e32d806a86040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610d8357600080fd5b505afa158015610d97573d6000803e3d6000fd5b505050506040513d6020811015610dad57600080fd5b81019080805190602001909291905050509050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610e63576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f217661756c74000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b610eb481610e7a8487612ba090919063ffffffff16565b73df5e0e81dff6faf3a7e52ba697820c5e32d806a873ffffffffffffffffffffffffffffffffffffffff16612dcb9092919063ffffffff16565b50505050565b7316de59092dae5ccf4a1e6439d611fd0653f0bd0181565b73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610f935750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b611005576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21617574686f72697a656400000000000000000000000000000000000000000081525060200191505060405180910390fd5b73d061d61a4d941c39e5453435b6345dc261c2fce073ffffffffffffffffffffffffffffffffffffffff16636a62784273fa712ee4788c042e2b7bb55e6cb8ec569c4530c16040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156110ac57600080fd5b505af11580156110c0573d6000803e3d6000fd5b50505050600073d533a949740bb3306d119cc777fa900ba034cd5273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561115757600080fd5b505afa15801561116b573d6000803e3d6000fd5b505050506040513d602081101561118157600080fd5b8101908080519060200190929190505050905060008111156114b0576111f1737a250d5630b4cf539739df2c5dacb4c659f2488d600073d533a949740bb3306d119cc777fa900ba034cd5273ffffffffffffffffffffffffffffffffffffffff16612e9c9092919063ffffffff16565b611244737a250d5630b4cf539739df2c5dacb4c659f2488d8273d533a949740bb3306d119cc777fa900ba034cd5273ffffffffffffffffffffffffffffffffffffffff16612e9c9092919063ffffffff16565b606060036040519080825280602002602001820160405280156112765781602001602082028038833980820191505090505b50905073d533a949740bb3306d119cc777fa900ba034cd528160008151811061129b57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2816001815181106112f757fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050736b175474e89094c44da98b954eedeac495271d0f8160028151811061135357fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff166338ed173983600084306113d761070842612c7390919063ffffffff16565b6040518663ffffffff1660e01b815260040180868152602001858152602001806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b8381101561146d578082015181840152602081019050611452565b505050509050019650505050505050600060405180830381600087803b15801561149657600080fd5b505af11580156114aa573d6000803e3d6000fd5b50505050505b6000736b175474e89094c44da98b954eedeac495271d0f73ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561154357600080fd5b505afa158015611557573d6000803e3d6000fd5b505050506040513d602081101561156d57600080fd5b8101908080519060200190929190505050905060008111156116b0576115dd7316de59092dae5ccf4a1e6439d611fd0653f0bd016000736b175474e89094c44da98b954eedeac495271d0f73ffffffffffffffffffffffffffffffffffffffff16612e9c9092919063ffffffff16565b6116307316de59092dae5ccf4a1e6439d611fd0653f0bd0182736b175474e89094c44da98b954eedeac495271d0f73ffffffffffffffffffffffffffffffffffffffff16612e9c9092919063ffffffff16565b7316de59092dae5ccf4a1e6439d611fd0653f0bd0173ffffffffffffffffffffffffffffffffffffffff1663b6b55f25826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561169757600080fd5b505af11580156116ab573d6000803e3d6000fd5b505050505b60007316de59092dae5ccf4a1e6439d611fd0653f0bd0173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561174357600080fd5b505afa158015611757573d6000803e3d6000fd5b505050506040513d602081101561176d57600080fd5b810190808051906020019092919050505090506000811115611904576117dd7345f783cce6b7ff23b2ab2d70e416cdb7d6055f5160007316de59092dae5ccf4a1e6439d611fd0653f0bd0173ffffffffffffffffffffffffffffffffffffffff16612e9c9092919063ffffffff16565b6118307345f783cce6b7ff23b2ab2d70e416cdb7d6055f51827316de59092dae5ccf4a1e6439d611fd0653f0bd0173ffffffffffffffffffffffffffffffffffffffff16612e9c9092919063ffffffff16565b7345f783cce6b7ff23b2ab2d70e416cdb7d6055f5173ffffffffffffffffffffffffffffffffffffffff1663029b2f3460405180608001604052808481526020016000815260200160008152602001600081525060006040518363ffffffff1660e01b81526004018083600460200280838360005b838110156118c05780820151818401526020810190506118a5565b5050505090500182815260200192505050600060405180830381600087803b1580156118eb57600080fd5b505af11580156118ff573d6000803e3d6000fd5b505050505b600073df5e0e81dff6faf3a7e52ba697820c5e32d806a873ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561199757600080fd5b505afa1580156119ab573d6000803e3d6000fd5b505050506040513d60208110156119c157600080fd5b810190808051906020019092919050505090506000811115611af5576000611a086127106119fa60005485612cfb90919063ffffffff16565b612d8190919063ffffffff16565b9050611aeb600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639ec5a8946040518163ffffffff1660e01b815260040160206040518083038186803b158015611a7557600080fd5b505afa158015611a89573d6000803e3d6000fd5b505050506040513d6020811015611a9f57600080fd5b81019080805190602001909291905050508273df5e0e81dff6faf3a7e52ba697820c5e32d806a873ffffffffffffffffffffffffffffffffffffffff16612dcb9092919063ffffffff16565b611af3612929565b505b50505050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611bc0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21636f6e74726f6c6c657200000000000000000000000000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1673df5e0e81dff6faf3a7e52ba697820c5e32d806a873ffffffffffffffffffffffffffffffffffffffff161415611c76576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260048152602001807f77616e740000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1673d533a949740bb3306d119cc777fa900ba034cd5273ffffffffffffffffffffffffffffffffffffffff161415611d2c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260038152602001807f637276000000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff167316de59092dae5ccf4a1e6439d611fd0653f0bd0173ffffffffffffffffffffffffffffffffffffffff161415611de2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260048152602001807f796461690000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff16736b175474e89094c44da98b954eedeac495271d0f73ffffffffffffffffffffffffffffffffffffffff161415611e98576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260038152602001807f646169000000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611f1557600080fd5b505afa158015611f29573d6000803e3d6000fd5b505050506040513d6020811015611f3f57600080fd5b81019080805190602001909291905050509050611f9f600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828473ffffffffffffffffffffffffffffffffffffffff16612dcb9092919063ffffffff16565b919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b73d533a949740bb3306d119cc777fa900ba034cd5281565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146120a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21676f7665726e616e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b8060008190555050565b7345f783cce6b7ff23b2ab2d70e416cdb7d6055f5181565b60006120ea6120d461088c565b6120dc61274f565b612c7390919063ffffffff16565b905090565b61271081565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146121ba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21636f6e74726f6c6c657200000000000000000000000000000000000000000081525060200191505060405180910390fd5b6121c26130bc565b73df5e0e81dff6faf3a7e52ba697820c5e32d806a873ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561225357600080fd5b505afa158015612267573d6000803e3d6000fd5b505050506040513d602081101561227d57600080fd5b810190808051906020019092919050505090506000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a622ee7c73df5e0e81dff6faf3a7e52ba697820c5e32d806a86040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561234557600080fd5b505afa158015612359573d6000803e3d6000fd5b505050506040513d602081101561236f57600080fd5b81019080805190602001909291905050509050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612425576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f217661756c74000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b612464818373df5e0e81dff6faf3a7e52ba697820c5e32d806a873ffffffffffffffffffffffffffffffffffffffff16612dcb9092919063ffffffff16565b5090565b60005481565b60015481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612537576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21676f7665726e616e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461263e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21676f7665726e616e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612745576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21676f7665726e616e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b8060018190555050565b600073df5e0e81dff6faf3a7e52ba697820c5e32d806a873ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156127e257600080fd5b505afa1580156127f6573d6000803e3d6000fd5b505050506040513d602081101561280c57600080fd5b8101908080519060200190929190505050905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146128e5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21676f7665726e616e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600073df5e0e81dff6faf3a7e52ba697820c5e32d806a873ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156129bc57600080fd5b505afa1580156129d0573d6000803e3d6000fd5b505050506040513d60208110156129e657600080fd5b810190808051906020019092919050505090506000811115612b2957612a5673fa712ee4788c042e2b7bb55e6cb8ec569c4530c1600073df5e0e81dff6faf3a7e52ba697820c5e32d806a873ffffffffffffffffffffffffffffffffffffffff16612e9c9092919063ffffffff16565b612aa973fa712ee4788c042e2b7bb55e6cb8ec569c4530c18273df5e0e81dff6faf3a7e52ba697820c5e32d806a873ffffffffffffffffffffffffffffffffffffffff16612e9c9092919063ffffffff16565b73fa712ee4788c042e2b7bb55e6cb8ec569c4530c173ffffffffffffffffffffffffffffffffffffffff1663b6b55f25826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015612b1057600080fd5b505af1158015612b24573d6000803e3d6000fd5b505050505b50565b73d061d61a4d941c39e5453435b6345dc261c2fce081565b61271081565b737a250d5630b4cf539739df2c5dacb4c659f2488d81565b736b175474e89094c44da98b954eedeac495271d0f81565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000612be283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613208565b905092915050565b600073fa712ee4788c042e2b7bb55e6cb8ec569c4530c173ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015612c5357600080fd5b505af1158015612c67573d6000803e3d6000fd5b50505050819050919050565b600080828401905083811015612cf1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600080831415612d0e5760009050612d7b565b6000828402905082848281612d1f57fe5b0414612d76576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806136256021913960400191505060405180910390fd5b809150505b92915050565b6000612dc383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506132c8565b905092915050565b612e97838473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb905060e01b8484604051602401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061338e565b505050565b6000811480612f96575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015612f5957600080fd5b505afa158015612f6d573d6000803e3d6000fd5b505050506040513d6020811015612f8357600080fd5b8101908080519060200190929190505050145b612feb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001806136706036913960400191505060405180910390fd5b6130b7838473ffffffffffffffffffffffffffffffffffffffff1663095ea7b3905060e01b8484604051602401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061338e565b505050565b73fa712ee4788c042e2b7bb55e6cb8ec569c4530c173ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d73fa712ee4788c042e2b7bb55e6cb8ec569c4530c173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561317d57600080fd5b505afa158015613191573d6000803e3d6000fd5b505050506040513d60208110156131a757600080fd5b81019080805190602001909291905050506040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156131ee57600080fd5b505af1158015613202573d6000803e3d6000fd5b50505050565b60008383111582906132b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561327a57808201518184015260208101905061325f565b50505050905090810190601f1680156132a75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b60008083118290613374576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561333957808201518184015260208101905061331e565b50505050905090810190601f1680156133665780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161338057fe5b049050809150509392505050565b6133ad8273ffffffffffffffffffffffffffffffffffffffff166135d9565b61341f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e74726163740081525060200191505060405180910390fd5b600060608373ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b6020831061346e578051825260208201915060208101905060208303925061344b565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146134d0576040519150601f19603f3d011682016040523d82523d6000602084013e6134d5565b606091505b50915091508161354d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656481525060200191505060405180910390fd5b6000815111156135d35780806020019051602081101561356c57600080fd5b81019080805190602001909291905050506135d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180613646602a913960400191505060405180910390fd5b5b50505050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f91506000801b821415801561361b5750808214155b9250505091905056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a265627a7a7231582072c5cb0b2c8d6dd322ae9bcc49d998a7fb525ef35b60567fbcfb1f06d38fe78e64736f6c63430005110032
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000009e65ad11b299ca0abefc2799ddb6314ef2d91080
-----Decoded View---------------
Arg [0] : _controller (address): 0x9E65Ad11b299CA0Abefc2799dDB6314Ef2d91080
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000009e65ad11b299ca0abefc2799ddb6314ef2d91080
Deployed Bytecode Sourcemap
6356:6633:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6356:6633:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12399:114;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6583:82;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7795:102;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;7795:102:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6494:82;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7594:25;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9319:736;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9319:736:0;;;;;;;;;;;;;;;;;:::i;:::-;;7158:82;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6938;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10731:1380;;;:::i;:::-;;8802:435;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8802:435:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7530:25;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6762:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8252:168;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8252:168:0;;;;;;;;;;;;;;;;;:::i;:::-;;7247:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;12525:127;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7382:43;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10135:462;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7343:32;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7438:30;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12831:155;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12831:155:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;12664;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12664:155:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;8076:164;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8076:164:0;;;;;;;;;;;;;;;;;:::i;:::-;;12272:115;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7909:155;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7909:155:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;8432:283;;;:::i;:::-;;6672:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7475:42;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6850:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7070;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7562:25;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;12399:114;12445:4;6622:42;12469:21;;;12499:4;12469:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12469:36:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12469:36:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12469:36:0;;;;;;;;;;;;;;;;12462:43;;12399:114;:::o;6583:82::-;6622:42;6583:82;:::o;7795:102::-;7837:13;7863:26;;;;;;;;;;;;;;;;;;;7795:102;:::o;6494:82::-;6533:42;6494:82;:::o;7594:25::-;;;;;;;;;;;;;:::o;9319:736::-;9393:10;;;;;;;;;;;9379:24;;:10;:24;;;9371:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9430:13;6533:42;9446:22;;;9477:4;9446:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9446:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9446:37:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9446:37:0;;;;;;;;;;;;;;;;9430:53;;9509:7;9498:8;:18;9494:143;;;9543:36;9557:21;9569:8;9557:7;:11;;:21;;;;:::i;:::-;9543:13;:36::i;:::-;9533:46;;9604:21;9616:8;9604:7;:11;;:21;;;;:::i;:::-;9594:31;;9494:143;9657:9;9669:45;7512:5;9669:26;9681:13;;9669:7;:11;;:26;;;;:::i;:::-;:30;;:45;;;;:::i;:::-;9657:57;;9735:65;9772:10;;;;;;;;;;;9761:30;;;:32;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9761:32:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9761:32:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9761:32:0;;;;;;;;;;;;;;;;9795:4;6533:42;9735:25;;;;:65;;;;;:::i;:::-;9811:14;9839:10;;;;;;;;;;;9828:29;;;6533:42;9828:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9828:44:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9828:44:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9828:44:0;;;;;;;;;;;;;;;;9811:61;;9909:1;9891:20;;:6;:20;;;;9883:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9995:52;10021:6;10029:17;10041:4;10029:7;:11;;:17;;;;:::i;:::-;6533:42;9995:25;;;;:52;;;;;:::i;:::-;9319:736;;;;:::o;7158:82::-;7197:42;7158:82;:::o;6938:::-;6977:42;6938:82;:::o;10731:1380::-;10790:10;;;;;;;;;;;10776:24;;:10;:24;;;:52;;;;10818:10;;;;;;;;;;;10804:24;;:10;:24;;;10776:52;10768:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6712:42;10855:17;;;6622:42;10855:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10855:23:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10855:23:0;;;;10889:9;6800:42;10901:21;;;10931:4;10901:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10901:36:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10901:36:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10901:36:0;;;;;;;;;;;;;;;;10889:48;;10959:1;10952:4;:8;10948:388;;;10977:31;6888:42;11006:1;6800:42;10977:23;;;;:31;;;;;:::i;:::-;11023:34;6888:42;11052:4;6800:42;11023:23;;;;:34;;;;;:::i;:::-;11086:21;11124:1;11110:16;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;11110:16:0;;;;11086:40;;6800:42;11141:4;11146:1;11141:7;;;;;;;;;;;;;:13;;;;;;;;;;;6977:42;11169:4;11174:1;11169:7;;;;;;;;;;;;;:14;;;;;;;;;;;7108:42;11198:4;11203:1;11198:7;;;;;;;;;;;;;:13;;;;;;;;;;;6888:42;11240:33;;;11274:4;11285:1;11289:4;11303;11310:13;11318:4;11310:3;:7;;:13;;;;:::i;:::-;11240:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;11240:84:0;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11240:84:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11240:84:0;;;;10948:388;;11346:9;7108:42;11358:21;;;11388:4;11358:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11358:36:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11358:36:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11358:36:0;;;;;;;;;;;;;;;;11346:48;;11416:1;11409:4;:8;11405:164;;;11434:32;7197:42;11464:1;7108:42;11434:23;;;;:32;;;;;:::i;:::-;11481:35;7197:42;11511:4;7108:42;11481:23;;;;:35;;;;;:::i;:::-;7197:42;11531:20;;;11552:4;11531:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11531:26:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11531:26:0;;;;11405:164;11579:10;7197:42;11592:22;;;11623:4;11592:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11592:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11592:37:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11592:37:0;;;;;;;;;;;;;;;;11579:50;;11652:1;11644:5;:9;11640:190;;;11670:34;7287:42;11702:1;7197:42;11670:24;;;;:34;;;;;:::i;:::-;11719:38;7287:42;11751:5;7197:42;11719:24;;;;:38;;;;;:::i;:::-;7287:42;11772:29;;;:46;;;;;;;;11803:5;11772:46;;;;11809:1;11772:46;;;;11811:1;11772:46;;;;11813:1;11772:46;;;11816:1;11772:46;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;11772:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11772:46:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11772:46:0;;;;11640:190;11840:10;6533:42;11853:22;;;11884:4;11853:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11853:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11853:37:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11853:37:0;;;;;;;;;;;;;;;;11840:50;;11913:1;11905:5;:9;11901:203;;;11931:9;11943:45;7420:5;11943:25;11953:14;;11943:5;:9;;:25;;;;:::i;:::-;:29;;:45;;;;:::i;:::-;11931:57;;12003:65;12040:10;;;;;;;;;;;12029:30;;;:32;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12029:32:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12029:32:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12029:32:0;;;;;;;;;;;;;;;;12063:4;6533:42;12003:25;;;;:65;;;;;:::i;:::-;12083:9;:7;:9::i;:::-;11901:203;;10731:1380;;;;:::o;8802:435::-;8853:12;8900:10;;;;;;;;;;;8886:24;;:10;:24;;;8878:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8961:6;8945:23;;6533:42;8945:23;;;;8937:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9011:6;8996:22;;6800:42;8996:22;;;;8988:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9061:6;9045:23;;7197:42;9045:23;;;;9037:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9111:6;9096:22;;7108:42;9096:22;;;;9088:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9147:6;:16;;;9172:4;9147:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9147:31:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9147:31:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9147:31:0;;;;;;;;;;;;;;;;9137:41;;9189:40;9209:10;;;;;;;;;;;9221:7;9189:6;:19;;;;:40;;;;;:::i;:::-;8802:435;;;:::o;7530:25::-;;;;;;;;;;;;;:::o;6762:81::-;6800:42;6762:81;:::o;8252:168::-;8343:10;;;;;;;;;;;8329:24;;:10;:24;;;8321:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8397:15;8380:14;:32;;;;8252:168;:::o;7247:83::-;7287:42;7247:83;:::o;12525:127::-;12567:4;12591:53;12628:15;:13;:15::i;:::-;12591;:13;:15::i;:::-;:36;;:53;;;;:::i;:::-;12584:60;;12525:127;:::o;7382:43::-;7420:5;7382:43;:::o;10135:462::-;10176:12;10223:10;;;;;;;;;;;10209:24;;:10;:24;;;10201:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10260:14;:12;:14::i;:::-;6533:42;10315:22;;;10346:4;10315:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10315:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10315:37:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10315:37:0;;;;;;;;;;;;;;;;10305:47;;10373:14;10401:10;;;;;;;;;;;10390:29;;;6533:42;10390:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10390:44:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10390:44:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10390:44:0;;;;;;;;;;;;;;;;10373:61;;10471:1;10453:20;;:6;:20;;;;10445:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10547:42;10573:6;10581:7;6533:42;10547:25;;;;:42;;;;;:::i;:::-;10135:462;;:::o;7343:32::-;;;;:::o;7438:30::-;;;;:::o;12831:155::-;12917:10;;;;;;;;;;;12903:24;;:10;:24;;;12895:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12967:11;12954:10;;:24;;;;;;;;;;;;;;;;;;12831:155;:::o;12664:::-;12750:10;;;;;;;;;;;12736:24;;:10;:24;;;12728:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12800:11;12787:10;;:24;;;;;;;;;;;;;;;;;;12664:155;:::o;8076:164::-;8165:10;;;;;;;;;;;8151:24;;:10;:24;;;8143:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8218:14;8202:13;:30;;;;8076:164;:::o;12272:115::-;12318:4;6533:42;12342:22;;;12373:4;12342:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12342:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12342:37:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12342:37:0;;;;;;;;;;;;;;;;12335:44;;12272:115;:::o;7909:155::-;7995:10;;;;;;;;;;;7981:24;;:10;:24;;;7973:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8045:11;8032:10;;:24;;;;;;;;;;;;;;;;;;7909:155;:::o;8432:283::-;8469:10;6533:42;8482:22;;;8513:4;8482:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8482:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8482:37:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8482:37:0;;;;;;;;;;;;;;;;8469:50;;8542:1;8534:5;:9;8530:168;;;8560:33;6622:42;8591:1;6533:42;8560:24;;;;:33;;;;;:::i;:::-;8608:37;6622:42;8639:5;6533:42;8608:24;;;;:37;;;;;:::i;:::-;6622:42;8660:19;;;8680:5;8660:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8660:26:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8660:26:0;;;;8530:168;8432:283;:::o;6672:83::-;6712:42;6672:83;:::o;7475:42::-;7512:5;7475:42;:::o;6850:81::-;6888:42;6850:81;:::o;7070:::-;7108:42;7070:81;:::o;7562:25::-;;;;;;;;;;;;;:::o;1006:136::-;1064:7;1091:43;1095:1;1098;1091:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1084:50;;1006:136;;;;:::o;12123:137::-;12181:4;6622:42;12198:20;;;12219:7;12198:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12198:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12198:29:0;;;;12245:7;12238:14;;12123:137;;;:::o;819:181::-;877:7;897:9;913:1;909;:5;897:17;;938:1;933;:6;;925:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;991:1;984:8;;;819:181;;;;:::o;1346:250::-;1404:7;1433:1;1428;:6;1424:47;;;1458:1;1451:8;;;;1424:47;1483:9;1499:1;1495;:5;1483:17;;1528:1;1523;1519;:5;;;;;;:10;1511:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1587:1;1580:8;;;1346:250;;;;;:::o;1602:132::-;1660:7;1687:39;1691:1;1694;1687:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1680:46;;1602:132;;;;:::o;3319:176::-;3402:85;3421:5;3451;:14;;;:23;;;;3476:2;3480:5;3428:58;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;3428:58:0;;;;;;;38:4:-1;29:7;25:18;67:10;61:17;96:58;199:8;192:4;186;182:15;179:29;167:10;160:49;0:215;;;3428:58:0;3402:18;:85::i;:::-;3319:176;;;:::o;3715:347::-;3820:1;3811:5;:10;3810:62;;;;3870:1;3827:5;:15;;;3851:4;3858:7;3827:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3827:39:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3827:39:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3827:39:0;;;;;;;;;;;;;;;;:44;3810:62;3802:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3965:89;3984:5;4014;:13;;;:22;;;;4038:7;4047:5;3991:62;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;3991:62:0;;;;;;;38:4:-1;29:7;25:18;67:10;61:17;96:58;199:8;192:4;186;182:15;179:29;167:10;160:49;0:215;;;3991:62:0;3965:18;:89::i;:::-;3715:347;;;:::o;10609:110::-;6622:42;10653:20;;;6622:42;10674:21;;;10704:4;10674:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10674:36:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10674:36:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10674:36:0;;;;;;;;;;;;;;;;10653:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10653:58:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10653:58:0;;;;10609:110::o;1148:192::-;1234:7;1267:1;1262;:6;;1270:12;1254:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1254:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1294:9;1310:1;1306;:5;1294:17;;1331:1;1324:8;;;1148:192;;;;;:::o;1740:258::-;1826:7;1925:1;1921;:5;1928:12;1913:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1913:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1952:9;1968:1;1964;:5;;;;;;1952:17;;1989:1;1982:8;;;1740:258;;;;;:::o;4068:598::-;4156:27;4164:5;4156:25;;;:27::i;:::-;4148:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4293:12;4307:23;4342:5;4334:19;;4354:4;4334:25;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;4334:25:0;;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;4292:67:0;;;;4378:7;4370:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4459:1;4439:10;:17;:21;4435:224;;;4581:10;4570:30;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4570:30:0;;;;;;;;;;;;;;;;4562:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4435:224;4068:598;;;;:::o;2336:374::-;2396:4;2413:16;2440:19;2462:66;2440:88;;;;2631:7;2619:20;2607:32;;2671:3;2659:15;;:8;:15;;:42;;;;;2690:11;2678:8;:23;;2659:42;2651:51;;;;2336:374;;;:::o
Swarm Source
bzzr://72c5cb0b2c8d6dd322ae9bcc49d998a7fb525ef35b60567fbcfb1f06d38fe78e
Loading...
Loading
Loading...
Loading
Net Worth in USD
$1.76
Net Worth in ETH
0.00089
Token Allocations
ANY
100.00%
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|---|---|---|---|---|
| BSC | 100.00% | $1.76 | 1 | $1.76 |
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ 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.