Latest 25 from a total of 183 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Approve | 24329861 | 3 days ago | IN | 0 ETH | 0.00000212 | ||||
| Approve | 24318413 | 5 days ago | IN | 0 ETH | 0.0000259 | ||||
| Approve | 24301110 | 7 days ago | IN | 0 ETH | 0.00000608 | ||||
| Approve | 24289067 | 9 days ago | IN | 0 ETH | 0.00005125 | ||||
| Approve | 24284815 | 10 days ago | IN | 0 ETH | 0.0001179 | ||||
| Transfer | 24281316 | 10 days ago | IN | 0 ETH | 0.00000249 | ||||
| Transfer | 24281310 | 10 days ago | IN | 0 ETH | 0.00000248 | ||||
| Transfer | 24281300 | 10 days ago | IN | 0 ETH | 0.00000224 | ||||
| Transfer | 24281294 | 10 days ago | IN | 0 ETH | 0.00000255 | ||||
| Transfer | 24281285 | 10 days ago | IN | 0 ETH | 0.00000316 | ||||
| Approve | 24281204 | 10 days ago | IN | 0 ETH | 0.00014436 | ||||
| Transfer | 24281201 | 10 days ago | IN | 0 ETH | 0.00000349 | ||||
| Transfer | 24281097 | 10 days ago | IN | 0 ETH | 0.00001309 | ||||
| Transfer | 24281071 | 10 days ago | IN | 0 ETH | 0.00000402 | ||||
| Transfer | 24281048 | 10 days ago | IN | 0 ETH | 0.0000023 | ||||
| Transfer | 24281014 | 10 days ago | IN | 0 ETH | 0.00001005 | ||||
| Transfer | 24280985 | 10 days ago | IN | 0 ETH | 0.00000502 | ||||
| Transfer | 24280966 | 10 days ago | IN | 0 ETH | 0.00010277 | ||||
| Transfer | 24280957 | 10 days ago | IN | 0 ETH | 0.000103 | ||||
| Transfer | 24280950 | 10 days ago | IN | 0 ETH | 0.00000309 | ||||
| Approve | 24280920 | 10 days ago | IN | 0 ETH | 0.00002107 | ||||
| Approve | 24280873 | 10 days ago | IN | 0 ETH | 0.0000053 | ||||
| Approve | 24265719 | 12 days ago | IN | 0 ETH | 0.00000247 | ||||
| Approve | 24234330 | 17 days ago | IN | 0 ETH | 0.00003649 | ||||
| Approve | 24178249 | 24 days ago | IN | 0 ETH | 0.00000841 |
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| Transfer | 24329862 | 3 days ago | 0.00019224 ETH | ||||
| Transfer | 24329862 | 3 days ago | 0.00057672 ETH | ||||
| Transfer | 24329862 | 3 days ago | 0.00019224 ETH | ||||
| Transfer | 24329862 | 3 days ago | 0.0009612 ETH | ||||
| Transfer | 24318414 | 5 days ago | 0.00037958 ETH | ||||
| Transfer | 24318414 | 5 days ago | 0.00113874 ETH | ||||
| Transfer | 24318414 | 5 days ago | 0.00037958 ETH | ||||
| Transfer | 24318414 | 5 days ago | 0.0018979 ETH | ||||
| Transfer | 24318206 | 5 days ago | 0.00038728 ETH | ||||
| Transfer | 24318206 | 5 days ago | 0.00116184 ETH | ||||
| Transfer | 24318206 | 5 days ago | 0.00038728 ETH | ||||
| Transfer | 24318206 | 5 days ago | 0.00193641 ETH | ||||
| Transfer | 24314937 | 5 days ago | 0.00029267 ETH | ||||
| Transfer | 24314937 | 5 days ago | 0.00087801 ETH | ||||
| Transfer | 24314937 | 5 days ago | 0.00029267 ETH | ||||
| Transfer | 24314937 | 5 days ago | 0.00146335 ETH | ||||
| Transfer | 24281374 | 10 days ago | 0.0003272 ETH | ||||
| Transfer | 24281374 | 10 days ago | 0.0009816 ETH | ||||
| Transfer | 24281374 | 10 days ago | 0.0003272 ETH | ||||
| Transfer | 24281374 | 10 days ago | 0.00163601 ETH | ||||
| Transfer | 24281205 | 10 days ago | 0.00026959 ETH | ||||
| Transfer | 24281205 | 10 days ago | 0.00080878 ETH | ||||
| Transfer | 24281205 | 10 days ago | 0.00026959 ETH | ||||
| Transfer | 24281205 | 10 days ago | 0.00134796 ETH | ||||
| Transfer | 24281141 | 10 days ago | 0.00016323 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
Kiwi
Compiler Version
v0.8.26+commit.8a97fa7a
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2025-11-03
*/
// SPDX-License-Identifier: MIT
pragma solidity 0.8.26;
/*
Twitter: https://x.com/KiwiSwapX
Telegram: http://t.me/KiwiSwaps
Website: http://kiwiswaps.com
██╗ ██╗██╗██╗ ██╗██╗
██║ ██╔╝██║██║ ██║██║
█████╔╝ ██║██║ █╗ ██║██║
██╔═██╗ ██║██║███╗██║██║
██║ ██╗██║╚███╔███╔╝██║
╚═╝ ╚═╝╚═╝ ╚══╝╚══╝ ╚═╝
*/
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
}
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);
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) {
require(b > 0, errorMessage);
uint256 c = a / b;
return c;
}
}
abstract contract Ownable is Context {
address private _owner;
event OwnershipTransferred(
address indexed previousOwner,
address indexed newOwner
);
/**
* @dev Initializes the contract setting the deployer as the initial owner.
*/
constructor() {
_transferOwnership(_msgSender());
}
/**
* @dev Throws if called by any account other than the owner.
*/
modifier onlyOwner() {
_checkOwner();
_;
}
/**
* @dev Returns the address of the current owner.
*/
function owner() public view virtual returns (address) {
return _owner;
}
/**
* @dev Throws if the sender is not the owner.
*/
function _checkOwner() internal view virtual {
require(owner() == _msgSender(), "Ownable: caller is not the owner");
}
/**
* @dev Leaves the contract without owner. It will not be possible to call
* `onlyOwner` functions. Can only be called by the current owner.
*
* NOTE: Renouncing ownership will leave the contract without an owner,
* thereby disabling any functionality that is only available to the owner.
*/
function renounceOwnership() public virtual onlyOwner {
_transferOwnership(address(0));
}
/**
* @dev Transfers ownership of the contract to a new account (`newOwner`).
* Can only be called by the current owner.
*/
function transferOwnership(address newOwner) public virtual onlyOwner {
require(
newOwner != address(0),
"Ownable: new owner is the zero address"
);
_transferOwnership(newOwner);
}
/**
* @dev Transfers ownership of the contract to a new account (`newOwner`).
* Internal function without access restriction.
*/
function _transferOwnership(address newOwner) internal virtual {
address oldOwner = _owner;
_owner = newOwner;
emit OwnershipTransferred(oldOwner, newOwner);
}
}
interface IUniswapV2Factory {
function createPair(
address tokenA,
address tokenB
) external returns (address pair);
}
interface IUniswapV2Router02 {
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external;
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidityETH(
address token,
uint amountTokenDesired,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
)
external
payable
returns (uint amountToken, uint amountETH, uint liquidity);
}
contract Kiwi is Context, IERC20, Ownable {
using SafeMath for uint256;
mapping(address => uint256) private _balances;
mapping(address => mapping(address => uint256)) private _allowances;
mapping(address => bool) public _isExcludedFromFee;
uint8 private constant _decimals = 18;
uint256 private constant _tTotal = 1000000000 * 10 ** _decimals;
string private constant _name = unicode"Kiwi";
string private constant _symbol = unicode"KIWI";
uint256 public _taxSwapThreshold = 100000 * 10 ** _decimals;
mapping(address => bool) public blacklisted;
address payable public _devWallet =
payable(0x618C8E172b62B900392981AFc8A67FCef448d73C);
address payable public _charityWallet =
payable(0x618C8E172b62B900392981AFc8A67FCef448d73C);
address payable public _marketingWallet =
payable(0x618C8E172b62B900392981AFc8A67FCef448d73C);
uint256 public _kiwiMarketingBuyFee = 0;
uint256 public _kiwiDeveloperBuyFee = 0;
uint256 public _kiwiCharityBuyFee = 0;
uint256 public _kiwiTotalBuyFee = 0;
uint256 public _kiwiMarketingSellFee = 0;
uint256 public _kiwiCharitySellFee = 0;
uint256 public _kiwiDeveloperSellFee = 0;
uint256 public _kiwiTotalSellFee = 0;
IUniswapV2Router02 private uniswapV2Router;
address private uniswapV2Pair;
bool private inSwap = false;
bool private swapEnabled = true;
bool public KiwiEnabled = false;
modifier lockTheSwap() {
inSwap = true;
_;
inSwap = false;
}
event TaxWalletPaymentRevert(address indexed taxWallet, uint256 amount);
constructor() {
IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(
0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
);
// IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0xD99D1c33F9fC3444f8101754aBC46c52416550D1); // test router address
// Create a uniswap pair for this new token
uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
.createPair(address(this), _uniswapV2Router.WETH());
// set the rest of the contract variables
uniswapV2Router = _uniswapV2Router;
_balances[_msgSender()] = _tTotal;
_isExcludedFromFee[owner()] = true;
_isExcludedFromFee[address(this)] = true;
_isExcludedFromFee[_charityWallet] = true;
_isExcludedFromFee[_devWallet] = true;
_isExcludedFromFee[_marketingWallet] = true;
emit Transfer(address(0), _msgSender(), _tTotal);
}
function name() public pure returns (string memory) {
return _name;
}
function symbol() public pure returns (string memory) {
return _symbol;
}
function decimals() public pure returns (uint8) {
return _decimals;
}
function totalSupply() public pure override returns (uint256) {
return _tTotal;
}
function balanceOf(address account) public view override returns (uint256) {
return _balances[account];
}
function transfer(
address recipient,
uint256 amount
) public override returns (bool) {
_transfer(_msgSender(), recipient, amount);
return true;
}
function allowance(
address owner,
address spender
) public view override returns (uint256) {
return _allowances[owner][spender];
}
function approve(
address spender,
uint256 amount
) public override returns (bool) {
_approve(_msgSender(), spender, amount);
return true;
}
function transferFrom(
address sender,
address recipient,
uint256 amount
) public override returns (bool) {
_transfer(sender, recipient, amount);
_approve(
sender,
_msgSender(),
_allowances[sender][_msgSender()].sub(
amount,
"ERC20: transfer amount exceeds allowance"
)
);
return true;
}
function _approve(address owner, address spender, uint256 amount) private {
require(owner != address(0), "ERC20: approve from the zero address");
require(spender != address(0), "ERC20: approve to the zero address");
_allowances[owner][spender] = amount;
emit Approval(owner, spender, amount);
}
function _transfer(address from, address to, uint256 amount) private {
require(from != address(0), "ERC20: transfer from the zero address");
require(to != address(0), "ERC20: transfer to the zero address");
require(
!blacklisted[from] && !blacklisted[to],
"Address is blacklisted"
);
require(amount > 0, "Transfer amount must be greater than zero");
uint256 taxAmount = 0;
if (!_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
require(KiwiEnabled, "Kiwi to be enabled");
if (_kiwiTotalBuyFee > 0) {
if (from == uniswapV2Pair && to != address(uniswapV2Router)) {
taxAmount = amount.mul(_kiwiTotalBuyFee).div(100);
}
}
if (_kiwiTotalSellFee > 0) {
if (to == uniswapV2Pair) {
taxAmount = amount.mul(_kiwiTotalSellFee).div(100);
}
}
uint256 contractTokenBalance = balanceOf(address(this));
if (
!inSwap &&
to == uniswapV2Pair &&
swapEnabled &&
contractTokenBalance > _taxSwapThreshold &&
_kiwiTotalSellFee > 0
) {
swapTokensForEth(contractTokenBalance);
uint256 contractETHBalance = address(this).balance;
if (contractETHBalance > 0) {
sendETHToFee(address(this).balance);
}
}
}
if (taxAmount > 0) {
_balances[address(this)] = _balances[address(this)].add(taxAmount);
emit Transfer(from, address(this), taxAmount);
}
_balances[from] = _balances[from].sub(amount);
_balances[to] = _balances[to].add(amount.sub(taxAmount));
emit Transfer(from, to, amount.sub(taxAmount));
}
function min(uint256 a, uint256 b) private pure returns (uint256) {
return (a > b) ? b : a;
}
function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
if (tokenAmount == 0) {
return;
}
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = uniswapV2Router.WETH();
_approve(address(this), address(uniswapV2Router), tokenAmount);
uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
tokenAmount,
0,
path,
address(this),
block.timestamp
);
}
function sendETHToFee(uint256 amount) private {
if (amount == 0) return;
uint256 marketingShare = amount.mul(_kiwiMarketingSellFee).div(
_kiwiTotalSellFee
);
uint256 developerShare = amount.mul(_kiwiDeveloperSellFee).div(
_kiwiTotalSellFee
);
uint256 charityShare = amount.mul(_kiwiCharitySellFee).div(
_kiwiTotalSellFee
);
if (marketingShare > 0) {
(bool success, ) = _marketingWallet.call{value: marketingShare}("");
if (!success)
emit TaxWalletPaymentRevert(_marketingWallet, marketingShare);
}
if (developerShare > 0) {
(bool success, ) = _devWallet.call{value: developerShare}("");
if (!success)
emit TaxWalletPaymentRevert(_devWallet, developerShare);
}
if (charityShare > 0) {
(bool success, ) = _charityWallet.call{value: charityShare}("");
if (!success)
emit TaxWalletPaymentRevert(_charityWallet, charityShare);
}
}
receive() external payable {}
function enableKiwi() public onlyOwner {
require(KiwiEnabled != true, "Kiwi enabled already");
KiwiEnabled = true;
}
function updateTaxSwapThreshold(uint256 _taxLimit) public onlyOwner {
require(_taxLimit > 0, "Threshold cannot be 0");
_taxSwapThreshold = _taxLimit;
}
function excludeFromTaxes(address account) public onlyOwner {
_isExcludedFromFee[account] = true;
}
function includeInTaxes(address account) public onlyOwner {
_isExcludedFromFee[account] = false;
}
function blacklistAddress(address account) external onlyOwner {
blacklisted[account] = true;
}
function whitelistAddress(address account) external onlyOwner {
blacklisted[account] = false;
}
function updateBuyFee(
uint256 marketingBuyFee,
uint256 charityBuyFee,
uint256 developerBuyFee
) public onlyOwner {
uint256 totalBuyFee = marketingBuyFee + charityBuyFee + developerBuyFee;
require(totalBuyFee <= 5, "Buy fee cannot be higher than 5%");
_kiwiMarketingBuyFee = marketingBuyFee;
_kiwiCharityBuyFee = charityBuyFee;
_kiwiDeveloperBuyFee = developerBuyFee;
_kiwiTotalBuyFee = totalBuyFee;
}
function updateSellFee(
uint256 marketingSellFee,
uint256 charitySellFee,
uint256 developerSellFee
) public onlyOwner {
uint256 totalSellFee = marketingSellFee +
charitySellFee +
developerSellFee;
require(totalSellFee <= 5, "Sell fee cannot be higher than 5%");
_kiwiMarketingSellFee = marketingSellFee;
_kiwiCharitySellFee = charitySellFee;
_kiwiDeveloperSellFee = developerSellFee;
_kiwiTotalSellFee = totalSellFee;
}
function manualSwap() external onlyOwner {
uint256 tokenBalance = balanceOf(address(this));
if (tokenBalance > 0) {
swapTokensForEth(tokenBalance);
}
uint256 ethBalance = address(this).balance;
if (ethBalance > 0) {
sendETHToFee(ethBalance);
}
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"taxWallet","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"TaxWalletPaymentRevert","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"KiwiEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_charityWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_devWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_kiwiCharityBuyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_kiwiCharitySellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_kiwiDeveloperBuyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_kiwiDeveloperSellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_kiwiMarketingBuyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_kiwiMarketingSellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_kiwiTotalBuyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_kiwiTotalSellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"blacklistAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"blacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableKiwi","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"marketingBuyFee","type":"uint256"},{"internalType":"uint256","name":"charityBuyFee","type":"uint256"},{"internalType":"uint256","name":"developerBuyFee","type":"uint256"}],"name":"updateBuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"marketingSellFee","type":"uint256"},{"internalType":"uint256","name":"charitySellFee","type":"uint256"},{"internalType":"uint256","name":"developerSellFee","type":"uint256"}],"name":"updateSellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_taxLimit","type":"uint256"}],"name":"updateTaxSwapThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"whitelistAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
60806040526012600a6100129190610918565b620186a06100209190610962565b60045573618c8e172b62b900392981afc8a67fcef448d73c60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073618c8e172b62b900392981afc8a67fcef448d73c60075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073618c8e172b62b900392981afc8a67fcef448d73c60085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f6009555f600a555f600b555f600c555f600d555f600e555f600f555f6010555f601260146101000a81548160ff0219169083151502179055506001601260156101000a81548160ff0219169083151502179055505f601260166101000a81548160ff021916908315150217905550348015610199575f80fd5b506101b66101ab6106b860201b60201c565b6106bf60201b60201c565b5f737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610217573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061023b9190610a01565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102a0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102c49190610a01565b6040518363ffffffff1660e01b81526004016102e1929190610a3b565b6020604051808303815f875af11580156102fd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103219190610a01565b60125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060115f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a6103ae9190610918565b633b9aca006103bd9190610962565b60015f6103ce6106b860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f61041e61078060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506106326106b860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a61068e9190610918565b633b9aca0061069d9190610962565b6040516106aa9190610a71565b60405180910390a350610a8a565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561082957808604811115610805576108046107a7565b5b60018516156108145780820291505b8081029050610822856107d4565b94506107e9565b94509492505050565b5f8261084157600190506108fc565b8161084e575f90506108fc565b8160018114610864576002811461086e5761089d565b60019150506108fc565b60ff8411156108805761087f6107a7565b5b8360020a915084821115610897576108966107a7565b5b506108fc565b5060208310610133831016604e8410600b84101617156108d25782820a9050838111156108cd576108cc6107a7565b5b6108fc565b6108df84848460016107e0565b925090508184048111156108f6576108f56107a7565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f61092282610903565b915061092d8361090c565b925061095a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484610832565b905092915050565b5f61096c82610903565b915061097783610903565b925082820261098581610903565b9150828204841483151761099c5761099b6107a7565b5b5092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6109d0826109a7565b9050919050565b6109e0816109c6565b81146109ea575f80fd5b50565b5f815190506109fb816109d7565b92915050565b5f60208284031215610a1657610a156109a3565b5b5f610a23848285016109ed565b91505092915050565b610a35816109c6565b82525050565b5f604082019050610a4e5f830185610a2c565b610a5b6020830184610a2c565b9392505050565b610a6b81610903565b82525050565b5f602082019050610a845f830184610a62565b92915050565b61332780610a975f395ff3fe608060405260043610610212575f3560e01c8063768dc71011610117578063a6d4ec321161009f578063dbac26e91161006e578063dbac26e914610745578063dd62ed3e14610781578063ec1c31de146107bd578063f2fde38b146107e7578063f3290d751461080f57610219565b8063a6d4ec321461068d578063a9059cbb146106b5578063bf474bed146106f1578063d89c74f31461071b57610219565b806395d89b41116100e657806395d89b41146105bd578063962dfc75146105e75780639630ab9214610611578063983e91581461063b5780639c92c0451461066357610219565b8063768dc710146105175780637937f57c146105535780638da5cb5b1461057d57806393271761146105a757610219565b80632e0e863a1161019a5780634fdaabed116101695780634fdaabed1461045b57806351bc3c851461048557806370a082311461049b578063715018a6146104d7578063757a5c32146104ed57610219565b80632e0e863a146103b5578063313ce567146103df578063415665851461040957806343a189091461043157610219565b806312bf7156116101e157806312bf7156146102d5578063131e00b7146102fd57806318160ddd1461032557806323b872dd1461034f578063243df9b01461038b57610219565b8063034832bd1461021d57806306fdde0314610245578063095ea7b31461026f57806311a63e17146102ab57610219565b3661021957005b5f80fd5b348015610228575f80fd5b50610243600480360381019061023e9190612360565b610837565b005b348015610250575f80fd5b5061025961088b565b60405161026691906123fb565b60405180910390f35b34801561027a575f80fd5b5061029560048036038101906102909190612475565b6108c8565b6040516102a291906124cd565b60405180910390f35b3480156102b6575f80fd5b506102bf6108e5565b6040516102cc9190612506565b60405180910390f35b3480156102e0575f80fd5b506102fb60048036038101906102f6919061251f565b61090a565b005b348015610308575f80fd5b50610323600480360381019061031e919061256f565b610992565b005b348015610330575f80fd5b506103396109f2565b60405161034691906125a9565b60405180910390f35b34801561035a575f80fd5b50610375600480360381019061037091906125c2565b610a15565b60405161038291906124cd565b60405180910390f35b348015610396575f80fd5b5061039f610ae9565b6040516103ac91906125a9565b60405180910390f35b3480156103c0575f80fd5b506103c9610aef565b6040516103d691906125a9565b60405180910390f35b3480156103ea575f80fd5b506103f3610af5565b604051610400919061262d565b60405180910390f35b348015610414575f80fd5b5061042f600480360381019061042a919061256f565b610afd565b005b34801561043c575f80fd5b50610445610b5c565b6040516104529190612506565b60405180910390f35b348015610466575f80fd5b5061046f610b81565b60405161047c91906124cd565b60405180910390f35b348015610490575f80fd5b50610499610b94565b005b3480156104a6575f80fd5b506104c160048036038101906104bc919061256f565b610bd4565b6040516104ce91906125a9565b60405180910390f35b3480156104e2575f80fd5b506104eb610c1a565b005b3480156104f8575f80fd5b50610501610c2d565b60405161050e91906125a9565b60405180910390f35b348015610522575f80fd5b5061053d6004803603810190610538919061256f565b610c33565b60405161054a91906124cd565b60405180910390f35b34801561055e575f80fd5b50610567610c50565b60405161057491906125a9565b60405180910390f35b348015610588575f80fd5b50610591610c56565b60405161059e9190612655565b60405180910390f35b3480156105b2575f80fd5b506105bb610c7d565b005b3480156105c8575f80fd5b506105d1610cf8565b6040516105de91906123fb565b60405180910390f35b3480156105f2575f80fd5b506105fb610d35565b6040516106089190612506565b60405180910390f35b34801561061c575f80fd5b50610625610d5a565b60405161063291906125a9565b60405180910390f35b348015610646575f80fd5b50610661600480360381019061065c919061256f565b610d60565b005b34801561066e575f80fd5b50610677610dbf565b60405161068491906125a9565b60405180910390f35b348015610698575f80fd5b506106b360048036038101906106ae919061251f565b610dc5565b005b3480156106c0575f80fd5b506106db60048036038101906106d69190612475565b610e4d565b6040516106e891906124cd565b60405180910390f35b3480156106fc575f80fd5b50610705610e6a565b60405161071291906125a9565b60405180910390f35b348015610726575f80fd5b5061072f610e70565b60405161073c91906125a9565b60405180910390f35b348015610750575f80fd5b5061076b6004803603810190610766919061256f565b610e76565b60405161077891906124cd565b60405180910390f35b34801561078c575f80fd5b506107a760048036038101906107a2919061266e565b610e93565b6040516107b491906125a9565b60405180910390f35b3480156107c8575f80fd5b506107d1610f15565b6040516107de91906125a9565b60405180910390f35b3480156107f2575f80fd5b5061080d6004803603810190610808919061256f565b610f1b565b005b34801561081a575f80fd5b506108356004803603810190610830919061256f565b610f9d565b005b61083f610ffd565b5f8111610881576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610878906126f6565b60405180910390fd5b8060048190555050565b60606040518060400160405280600481526020017f4b69776900000000000000000000000000000000000000000000000000000000815250905090565b5f6108db6108d461107b565b8484611082565b6001905092915050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610912610ffd565b5f8183856109209190612741565b61092a9190612741565b90506005811115610970576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610967906127be565b60405180910390fd5b8360098190555082600b8190555081600a8190555080600c8190555050505050565b61099a610ffd565b600160035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b5f6012600a610a01919061290b565b633b9aca00610a109190612955565b905090565b5f610a21848484611245565b610ade84610a2d61107b565b610ad9856040518060600160405280602881526020016132ca6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610a9061107b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611a209092919063ffffffff16565b611082565b600190509392505050565b600f5481565b600b5481565b5f6012905090565b610b05610ffd565b5f60055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601260169054906101000a900460ff1681565b610b9c610ffd565b5f610ba630610bd4565b90505f811115610bba57610bb981611a82565b5b5f4790505f811115610bd057610bcf81611cf6565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610c22610ffd565b610c2b5f6120a1565b565b60105481565b6003602052805f5260405f205f915054906101000a900460ff1681565b600a5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610c85610ffd565b60011515601260169054906101000a900460ff16151503610cdb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd2906129e0565b60405180910390fd5b6001601260166101000a81548160ff021916908315150217905550565b60606040518060400160405280600481526020017f4b49574900000000000000000000000000000000000000000000000000000000815250905090565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60095481565b610d68610ffd565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b600c5481565b610dcd610ffd565b5f818385610ddb9190612741565b610de59190612741565b90506005811115610e2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2290612a6e565b60405180910390fd5b83600d8190555082600e8190555081600f819055508060108190555050505050565b5f610e60610e5961107b565b8484611245565b6001905092915050565b60045481565b600d5481565b6005602052805f5260405f205f915054906101000a900460ff1681565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600e5481565b610f23610ffd565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610f91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8890612afc565b60405180910390fd5b610f9a816120a1565b50565b610fa5610ffd565b600160055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b61100561107b565b73ffffffffffffffffffffffffffffffffffffffff16611023610c56565b73ffffffffffffffffffffffffffffffffffffffff1614611079576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107090612b64565b60405180910390fd5b565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e790612bf2565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361115e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115590612c80565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161123891906125a9565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112aa90612d0e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611321576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131890612d9c565b60405180910390fd5b60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156113bf575060055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b6113fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f590612e04565b60405180910390fd5b5f8111611440576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143790612e92565b60405180910390fd5b5f60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156114df575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561177057601260169054906101000a900460ff16611533576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152a90612efa565b60405180910390fd5b5f600c5411156116175760125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156115e6575060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611616576116136064611605600c548561216290919063ffffffff16565b6121d990919063ffffffff16565b90505b5b5f60105411156116a15760125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036116a05761169d606461168f6010548561216290919063ffffffff16565b6121d990919063ffffffff16565b90505b5b5f6116ab30610bd4565b9050601260149054906101000a900460ff16158015611716575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b801561172e5750601260159054906101000a900460ff165b801561173b575060045481115b801561174857505f601054115b1561176e5761175681611a82565b5f4790505f81111561176c5761176b47611cf6565b5b505b505b5f81111561186f576117c88160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461222290919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161186691906125a9565b60405180910390a35b6118bf8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461227f90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611962611916828461227f90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461222290919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611a05848661227f90919063ffffffff16565b604051611a1291906125a9565b60405180910390a350505050565b5f838311158290611a67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5e91906123fb565b60405180910390fd5b505f8385611a759190612f18565b9050809150509392505050565b6001601260146101000a81548160ff0219169083151502179055505f810315611cd9575f600267ffffffffffffffff811115611ac157611ac0612f4b565b5b604051908082528060200260200182016040528015611aef5781602001602082028036833780820191505090505b50905030815f81518110611b0657611b05612f78565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611baa573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bce9190612fb9565b81600181518110611be257611be1612f78565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611c483060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611082565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611caa9594939291906130dd565b5f604051808303815f87803b158015611cc1575f80fd5b505af1158015611cd3573d5f803e3d5ffd5b50505050505b5f601260146101000a81548160ff02191690831515021790555050565b5f81031561209e575f611d28601054611d1a600d548561216290919063ffffffff16565b6121d990919063ffffffff16565b90505f611d54601054611d46600f548661216290919063ffffffff16565b6121d990919063ffffffff16565b90505f611d80601054611d72600e548761216290919063ffffffff16565b6121d990919063ffffffff16565b90505f831115611e8a575f60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1684604051611dd090613162565b5f6040518083038185875af1925050503d805f8114611e0a576040519150601f19603f3d011682016040523d82523d5f602084013e611e0f565b606091505b5050905080611e885760085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f0759dac7fa668d044a7de2b7fd31ccc6f577fdf83cd0441d6ebaba277754db5785604051611e7f91906125a9565b60405180910390a25b505b5f821115611f92575f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1683604051611ed890613162565b5f6040518083038185875af1925050503d805f8114611f12576040519150601f19603f3d011682016040523d82523d5f602084013e611f17565b606091505b5050905080611f905760065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f0759dac7fa668d044a7de2b7fd31ccc6f577fdf83cd0441d6ebaba277754db5784604051611f8791906125a9565b60405180910390a25b505b5f81111561209a575f60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682604051611fe090613162565b5f6040518083038185875af1925050503d805f811461201a576040519150601f19603f3d011682016040523d82523d5f602084013e61201f565b606091505b50509050806120985760075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f0759dac7fa668d044a7de2b7fd31ccc6f577fdf83cd0441d6ebaba277754db578360405161208f91906125a9565b60405180910390a25b505b5050505b50565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f808303612172575f90506121d3565b5f828461217f9190612955565b905082848261218e91906131a3565b146121ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121c590613243565b60405180910390fd5b809150505b92915050565b5f61221a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506122c8565b905092915050565b5f8082846122309190612741565b905083811015612275576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161226c906132ab565b60405180910390fd5b8091505092915050565b5f6122c083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611a20565b905092915050565b5f808311829061230e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161230591906123fb565b60405180910390fd5b505f838561231c91906131a3565b9050809150509392505050565b5f80fd5b5f819050919050565b61233f8161232d565b8114612349575f80fd5b50565b5f8135905061235a81612336565b92915050565b5f6020828403121561237557612374612329565b5b5f6123828482850161234c565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6123cd8261238b565b6123d78185612395565b93506123e78185602086016123a5565b6123f0816123b3565b840191505092915050565b5f6020820190508181035f83015261241381846123c3565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6124448261241b565b9050919050565b6124548161243a565b811461245e575f80fd5b50565b5f8135905061246f8161244b565b92915050565b5f806040838503121561248b5761248a612329565b5b5f61249885828601612461565b92505060206124a98582860161234c565b9150509250929050565b5f8115159050919050565b6124c7816124b3565b82525050565b5f6020820190506124e05f8301846124be565b92915050565b5f6124f08261241b565b9050919050565b612500816124e6565b82525050565b5f6020820190506125195f8301846124f7565b92915050565b5f805f6060848603121561253657612535612329565b5b5f6125438682870161234c565b93505060206125548682870161234c565b92505060406125658682870161234c565b9150509250925092565b5f6020828403121561258457612583612329565b5b5f61259184828501612461565b91505092915050565b6125a38161232d565b82525050565b5f6020820190506125bc5f83018461259a565b92915050565b5f805f606084860312156125d9576125d8612329565b5b5f6125e686828701612461565b93505060206125f786828701612461565b92505060406126088682870161234c565b9150509250925092565b5f60ff82169050919050565b61262781612612565b82525050565b5f6020820190506126405f83018461261e565b92915050565b61264f8161243a565b82525050565b5f6020820190506126685f830184612646565b92915050565b5f806040838503121561268457612683612329565b5b5f61269185828601612461565b92505060206126a285828601612461565b9150509250929050565b7f5468726573686f6c642063616e6e6f74206265203000000000000000000000005f82015250565b5f6126e0601583612395565b91506126eb826126ac565b602082019050919050565b5f6020820190508181035f83015261270d816126d4565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61274b8261232d565b91506127568361232d565b925082820190508082111561276e5761276d612714565b5b92915050565b7f427579206665652063616e6e6f7420626520686967686572207468616e2035255f82015250565b5f6127a8602083612395565b91506127b382612774565b602082019050919050565b5f6020820190508181035f8301526127d58161279c565b9050919050565b5f8160011c9050919050565b5f808291508390505b60018511156128315780860481111561280d5761280c612714565b5b600185161561281c5780820291505b808102905061282a856127dc565b94506127f1565b94509492505050565b5f826128495760019050612904565b81612856575f9050612904565b816001811461286c5760028114612876576128a5565b6001915050612904565b60ff84111561288857612887612714565b5b8360020a91508482111561289f5761289e612714565b5b50612904565b5060208310610133831016604e8410600b84101617156128da5782820a9050838111156128d5576128d4612714565b5b612904565b6128e784848460016127e8565b925090508184048111156128fe576128fd612714565b5b81810290505b9392505050565b5f6129158261232d565b915061292083612612565b925061294d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461283a565b905092915050565b5f61295f8261232d565b915061296a8361232d565b92508282026129788161232d565b9150828204841483151761298f5761298e612714565b5b5092915050565b7f4b69776920656e61626c656420616c72656164790000000000000000000000005f82015250565b5f6129ca601483612395565b91506129d582612996565b602082019050919050565b5f6020820190508181035f8301526129f7816129be565b9050919050565b7f53656c6c206665652063616e6e6f7420626520686967686572207468616e20355f8201527f2500000000000000000000000000000000000000000000000000000000000000602082015250565b5f612a58602183612395565b9150612a63826129fe565b604082019050919050565b5f6020820190508181035f830152612a8581612a4c565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f612ae6602683612395565b9150612af182612a8c565b604082019050919050565b5f6020820190508181035f830152612b1381612ada565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612b4e602083612395565b9150612b5982612b1a565b602082019050919050565b5f6020820190508181035f830152612b7b81612b42565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612bdc602483612395565b9150612be782612b82565b604082019050919050565b5f6020820190508181035f830152612c0981612bd0565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612c6a602283612395565b9150612c7582612c10565b604082019050919050565b5f6020820190508181035f830152612c9781612c5e565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612cf8602583612395565b9150612d0382612c9e565b604082019050919050565b5f6020820190508181035f830152612d2581612cec565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612d86602383612395565b9150612d9182612d2c565b604082019050919050565b5f6020820190508181035f830152612db381612d7a565b9050919050565b7f4164647265737320697320626c61636b6c6973746564000000000000000000005f82015250565b5f612dee601683612395565b9150612df982612dba565b602082019050919050565b5f6020820190508181035f830152612e1b81612de2565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612e7c602983612395565b9150612e8782612e22565b604082019050919050565b5f6020820190508181035f830152612ea981612e70565b9050919050565b7f4b69776920746f20626520656e61626c656400000000000000000000000000005f82015250565b5f612ee4601283612395565b9150612eef82612eb0565b602082019050919050565b5f6020820190508181035f830152612f1181612ed8565b9050919050565b5f612f228261232d565b9150612f2d8361232d565b9250828203905081811115612f4557612f44612714565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050612fb38161244b565b92915050565b5f60208284031215612fce57612fcd612329565b5b5f612fdb84828501612fa5565b91505092915050565b5f819050919050565b5f819050919050565b5f61301061300b61300684612fe4565b612fed565b61232d565b9050919050565b61302081612ff6565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6130588161243a565b82525050565b5f613069838361304f565b60208301905092915050565b5f602082019050919050565b5f61308b82613026565b6130958185613030565b93506130a083613040565b805f5b838110156130d05781516130b7888261305e565b97506130c283613075565b9250506001810190506130a3565b5085935050505092915050565b5f60a0820190506130f05f83018861259a565b6130fd6020830187613017565b818103604083015261310f8186613081565b905061311e6060830185612646565b61312b608083018461259a565b9695505050505050565b5f81905092915050565b50565b5f61314d5f83613135565b91506131588261313f565b5f82019050919050565b5f61316c82613142565b9150819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6131ad8261232d565b91506131b88361232d565b9250826131c8576131c7613176565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f61322d602183612395565b9150613238826131d3565b604082019050919050565b5f6020820190508181035f83015261325a81613221565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613295601b83612395565b91506132a082613261565b602082019050919050565b5f6020820190508181035f8301526132c281613289565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220fcf8133da25bef3c7a2297d447cef0935fc39c5aadca6bd851e0d8d87e017d4364736f6c634300081a0033
Deployed Bytecode
0x608060405260043610610212575f3560e01c8063768dc71011610117578063a6d4ec321161009f578063dbac26e91161006e578063dbac26e914610745578063dd62ed3e14610781578063ec1c31de146107bd578063f2fde38b146107e7578063f3290d751461080f57610219565b8063a6d4ec321461068d578063a9059cbb146106b5578063bf474bed146106f1578063d89c74f31461071b57610219565b806395d89b41116100e657806395d89b41146105bd578063962dfc75146105e75780639630ab9214610611578063983e91581461063b5780639c92c0451461066357610219565b8063768dc710146105175780637937f57c146105535780638da5cb5b1461057d57806393271761146105a757610219565b80632e0e863a1161019a5780634fdaabed116101695780634fdaabed1461045b57806351bc3c851461048557806370a082311461049b578063715018a6146104d7578063757a5c32146104ed57610219565b80632e0e863a146103b5578063313ce567146103df578063415665851461040957806343a189091461043157610219565b806312bf7156116101e157806312bf7156146102d5578063131e00b7146102fd57806318160ddd1461032557806323b872dd1461034f578063243df9b01461038b57610219565b8063034832bd1461021d57806306fdde0314610245578063095ea7b31461026f57806311a63e17146102ab57610219565b3661021957005b5f80fd5b348015610228575f80fd5b50610243600480360381019061023e9190612360565b610837565b005b348015610250575f80fd5b5061025961088b565b60405161026691906123fb565b60405180910390f35b34801561027a575f80fd5b5061029560048036038101906102909190612475565b6108c8565b6040516102a291906124cd565b60405180910390f35b3480156102b6575f80fd5b506102bf6108e5565b6040516102cc9190612506565b60405180910390f35b3480156102e0575f80fd5b506102fb60048036038101906102f6919061251f565b61090a565b005b348015610308575f80fd5b50610323600480360381019061031e919061256f565b610992565b005b348015610330575f80fd5b506103396109f2565b60405161034691906125a9565b60405180910390f35b34801561035a575f80fd5b50610375600480360381019061037091906125c2565b610a15565b60405161038291906124cd565b60405180910390f35b348015610396575f80fd5b5061039f610ae9565b6040516103ac91906125a9565b60405180910390f35b3480156103c0575f80fd5b506103c9610aef565b6040516103d691906125a9565b60405180910390f35b3480156103ea575f80fd5b506103f3610af5565b604051610400919061262d565b60405180910390f35b348015610414575f80fd5b5061042f600480360381019061042a919061256f565b610afd565b005b34801561043c575f80fd5b50610445610b5c565b6040516104529190612506565b60405180910390f35b348015610466575f80fd5b5061046f610b81565b60405161047c91906124cd565b60405180910390f35b348015610490575f80fd5b50610499610b94565b005b3480156104a6575f80fd5b506104c160048036038101906104bc919061256f565b610bd4565b6040516104ce91906125a9565b60405180910390f35b3480156104e2575f80fd5b506104eb610c1a565b005b3480156104f8575f80fd5b50610501610c2d565b60405161050e91906125a9565b60405180910390f35b348015610522575f80fd5b5061053d6004803603810190610538919061256f565b610c33565b60405161054a91906124cd565b60405180910390f35b34801561055e575f80fd5b50610567610c50565b60405161057491906125a9565b60405180910390f35b348015610588575f80fd5b50610591610c56565b60405161059e9190612655565b60405180910390f35b3480156105b2575f80fd5b506105bb610c7d565b005b3480156105c8575f80fd5b506105d1610cf8565b6040516105de91906123fb565b60405180910390f35b3480156105f2575f80fd5b506105fb610d35565b6040516106089190612506565b60405180910390f35b34801561061c575f80fd5b50610625610d5a565b60405161063291906125a9565b60405180910390f35b348015610646575f80fd5b50610661600480360381019061065c919061256f565b610d60565b005b34801561066e575f80fd5b50610677610dbf565b60405161068491906125a9565b60405180910390f35b348015610698575f80fd5b506106b360048036038101906106ae919061251f565b610dc5565b005b3480156106c0575f80fd5b506106db60048036038101906106d69190612475565b610e4d565b6040516106e891906124cd565b60405180910390f35b3480156106fc575f80fd5b50610705610e6a565b60405161071291906125a9565b60405180910390f35b348015610726575f80fd5b5061072f610e70565b60405161073c91906125a9565b60405180910390f35b348015610750575f80fd5b5061076b6004803603810190610766919061256f565b610e76565b60405161077891906124cd565b60405180910390f35b34801561078c575f80fd5b506107a760048036038101906107a2919061266e565b610e93565b6040516107b491906125a9565b60405180910390f35b3480156107c8575f80fd5b506107d1610f15565b6040516107de91906125a9565b60405180910390f35b3480156107f2575f80fd5b5061080d6004803603810190610808919061256f565b610f1b565b005b34801561081a575f80fd5b506108356004803603810190610830919061256f565b610f9d565b005b61083f610ffd565b5f8111610881576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610878906126f6565b60405180910390fd5b8060048190555050565b60606040518060400160405280600481526020017f4b69776900000000000000000000000000000000000000000000000000000000815250905090565b5f6108db6108d461107b565b8484611082565b6001905092915050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610912610ffd565b5f8183856109209190612741565b61092a9190612741565b90506005811115610970576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610967906127be565b60405180910390fd5b8360098190555082600b8190555081600a8190555080600c8190555050505050565b61099a610ffd565b600160035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b5f6012600a610a01919061290b565b633b9aca00610a109190612955565b905090565b5f610a21848484611245565b610ade84610a2d61107b565b610ad9856040518060600160405280602881526020016132ca6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610a9061107b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611a209092919063ffffffff16565b611082565b600190509392505050565b600f5481565b600b5481565b5f6012905090565b610b05610ffd565b5f60055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601260169054906101000a900460ff1681565b610b9c610ffd565b5f610ba630610bd4565b90505f811115610bba57610bb981611a82565b5b5f4790505f811115610bd057610bcf81611cf6565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610c22610ffd565b610c2b5f6120a1565b565b60105481565b6003602052805f5260405f205f915054906101000a900460ff1681565b600a5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610c85610ffd565b60011515601260169054906101000a900460ff16151503610cdb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd2906129e0565b60405180910390fd5b6001601260166101000a81548160ff021916908315150217905550565b60606040518060400160405280600481526020017f4b49574900000000000000000000000000000000000000000000000000000000815250905090565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60095481565b610d68610ffd565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b600c5481565b610dcd610ffd565b5f818385610ddb9190612741565b610de59190612741565b90506005811115610e2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2290612a6e565b60405180910390fd5b83600d8190555082600e8190555081600f819055508060108190555050505050565b5f610e60610e5961107b565b8484611245565b6001905092915050565b60045481565b600d5481565b6005602052805f5260405f205f915054906101000a900460ff1681565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600e5481565b610f23610ffd565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610f91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8890612afc565b60405180910390fd5b610f9a816120a1565b50565b610fa5610ffd565b600160055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b61100561107b565b73ffffffffffffffffffffffffffffffffffffffff16611023610c56565b73ffffffffffffffffffffffffffffffffffffffff1614611079576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107090612b64565b60405180910390fd5b565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e790612bf2565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361115e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115590612c80565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161123891906125a9565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112aa90612d0e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611321576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131890612d9c565b60405180910390fd5b60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156113bf575060055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b6113fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f590612e04565b60405180910390fd5b5f8111611440576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143790612e92565b60405180910390fd5b5f60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156114df575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561177057601260169054906101000a900460ff16611533576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152a90612efa565b60405180910390fd5b5f600c5411156116175760125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156115e6575060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611616576116136064611605600c548561216290919063ffffffff16565b6121d990919063ffffffff16565b90505b5b5f60105411156116a15760125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036116a05761169d606461168f6010548561216290919063ffffffff16565b6121d990919063ffffffff16565b90505b5b5f6116ab30610bd4565b9050601260149054906101000a900460ff16158015611716575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b801561172e5750601260159054906101000a900460ff165b801561173b575060045481115b801561174857505f601054115b1561176e5761175681611a82565b5f4790505f81111561176c5761176b47611cf6565b5b505b505b5f81111561186f576117c88160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461222290919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161186691906125a9565b60405180910390a35b6118bf8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461227f90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611962611916828461227f90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461222290919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611a05848661227f90919063ffffffff16565b604051611a1291906125a9565b60405180910390a350505050565b5f838311158290611a67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5e91906123fb565b60405180910390fd5b505f8385611a759190612f18565b9050809150509392505050565b6001601260146101000a81548160ff0219169083151502179055505f810315611cd9575f600267ffffffffffffffff811115611ac157611ac0612f4b565b5b604051908082528060200260200182016040528015611aef5781602001602082028036833780820191505090505b50905030815f81518110611b0657611b05612f78565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611baa573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bce9190612fb9565b81600181518110611be257611be1612f78565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611c483060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611082565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611caa9594939291906130dd565b5f604051808303815f87803b158015611cc1575f80fd5b505af1158015611cd3573d5f803e3d5ffd5b50505050505b5f601260146101000a81548160ff02191690831515021790555050565b5f81031561209e575f611d28601054611d1a600d548561216290919063ffffffff16565b6121d990919063ffffffff16565b90505f611d54601054611d46600f548661216290919063ffffffff16565b6121d990919063ffffffff16565b90505f611d80601054611d72600e548761216290919063ffffffff16565b6121d990919063ffffffff16565b90505f831115611e8a575f60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1684604051611dd090613162565b5f6040518083038185875af1925050503d805f8114611e0a576040519150601f19603f3d011682016040523d82523d5f602084013e611e0f565b606091505b5050905080611e885760085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f0759dac7fa668d044a7de2b7fd31ccc6f577fdf83cd0441d6ebaba277754db5785604051611e7f91906125a9565b60405180910390a25b505b5f821115611f92575f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1683604051611ed890613162565b5f6040518083038185875af1925050503d805f8114611f12576040519150601f19603f3d011682016040523d82523d5f602084013e611f17565b606091505b5050905080611f905760065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f0759dac7fa668d044a7de2b7fd31ccc6f577fdf83cd0441d6ebaba277754db5784604051611f8791906125a9565b60405180910390a25b505b5f81111561209a575f60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682604051611fe090613162565b5f6040518083038185875af1925050503d805f811461201a576040519150601f19603f3d011682016040523d82523d5f602084013e61201f565b606091505b50509050806120985760075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f0759dac7fa668d044a7de2b7fd31ccc6f577fdf83cd0441d6ebaba277754db578360405161208f91906125a9565b60405180910390a25b505b5050505b50565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f808303612172575f90506121d3565b5f828461217f9190612955565b905082848261218e91906131a3565b146121ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121c590613243565b60405180910390fd5b809150505b92915050565b5f61221a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506122c8565b905092915050565b5f8082846122309190612741565b905083811015612275576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161226c906132ab565b60405180910390fd5b8091505092915050565b5f6122c083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611a20565b905092915050565b5f808311829061230e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161230591906123fb565b60405180910390fd5b505f838561231c91906131a3565b9050809150509392505050565b5f80fd5b5f819050919050565b61233f8161232d565b8114612349575f80fd5b50565b5f8135905061235a81612336565b92915050565b5f6020828403121561237557612374612329565b5b5f6123828482850161234c565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6123cd8261238b565b6123d78185612395565b93506123e78185602086016123a5565b6123f0816123b3565b840191505092915050565b5f6020820190508181035f83015261241381846123c3565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6124448261241b565b9050919050565b6124548161243a565b811461245e575f80fd5b50565b5f8135905061246f8161244b565b92915050565b5f806040838503121561248b5761248a612329565b5b5f61249885828601612461565b92505060206124a98582860161234c565b9150509250929050565b5f8115159050919050565b6124c7816124b3565b82525050565b5f6020820190506124e05f8301846124be565b92915050565b5f6124f08261241b565b9050919050565b612500816124e6565b82525050565b5f6020820190506125195f8301846124f7565b92915050565b5f805f6060848603121561253657612535612329565b5b5f6125438682870161234c565b93505060206125548682870161234c565b92505060406125658682870161234c565b9150509250925092565b5f6020828403121561258457612583612329565b5b5f61259184828501612461565b91505092915050565b6125a38161232d565b82525050565b5f6020820190506125bc5f83018461259a565b92915050565b5f805f606084860312156125d9576125d8612329565b5b5f6125e686828701612461565b93505060206125f786828701612461565b92505060406126088682870161234c565b9150509250925092565b5f60ff82169050919050565b61262781612612565b82525050565b5f6020820190506126405f83018461261e565b92915050565b61264f8161243a565b82525050565b5f6020820190506126685f830184612646565b92915050565b5f806040838503121561268457612683612329565b5b5f61269185828601612461565b92505060206126a285828601612461565b9150509250929050565b7f5468726573686f6c642063616e6e6f74206265203000000000000000000000005f82015250565b5f6126e0601583612395565b91506126eb826126ac565b602082019050919050565b5f6020820190508181035f83015261270d816126d4565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61274b8261232d565b91506127568361232d565b925082820190508082111561276e5761276d612714565b5b92915050565b7f427579206665652063616e6e6f7420626520686967686572207468616e2035255f82015250565b5f6127a8602083612395565b91506127b382612774565b602082019050919050565b5f6020820190508181035f8301526127d58161279c565b9050919050565b5f8160011c9050919050565b5f808291508390505b60018511156128315780860481111561280d5761280c612714565b5b600185161561281c5780820291505b808102905061282a856127dc565b94506127f1565b94509492505050565b5f826128495760019050612904565b81612856575f9050612904565b816001811461286c5760028114612876576128a5565b6001915050612904565b60ff84111561288857612887612714565b5b8360020a91508482111561289f5761289e612714565b5b50612904565b5060208310610133831016604e8410600b84101617156128da5782820a9050838111156128d5576128d4612714565b5b612904565b6128e784848460016127e8565b925090508184048111156128fe576128fd612714565b5b81810290505b9392505050565b5f6129158261232d565b915061292083612612565b925061294d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461283a565b905092915050565b5f61295f8261232d565b915061296a8361232d565b92508282026129788161232d565b9150828204841483151761298f5761298e612714565b5b5092915050565b7f4b69776920656e61626c656420616c72656164790000000000000000000000005f82015250565b5f6129ca601483612395565b91506129d582612996565b602082019050919050565b5f6020820190508181035f8301526129f7816129be565b9050919050565b7f53656c6c206665652063616e6e6f7420626520686967686572207468616e20355f8201527f2500000000000000000000000000000000000000000000000000000000000000602082015250565b5f612a58602183612395565b9150612a63826129fe565b604082019050919050565b5f6020820190508181035f830152612a8581612a4c565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f612ae6602683612395565b9150612af182612a8c565b604082019050919050565b5f6020820190508181035f830152612b1381612ada565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612b4e602083612395565b9150612b5982612b1a565b602082019050919050565b5f6020820190508181035f830152612b7b81612b42565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612bdc602483612395565b9150612be782612b82565b604082019050919050565b5f6020820190508181035f830152612c0981612bd0565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612c6a602283612395565b9150612c7582612c10565b604082019050919050565b5f6020820190508181035f830152612c9781612c5e565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612cf8602583612395565b9150612d0382612c9e565b604082019050919050565b5f6020820190508181035f830152612d2581612cec565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612d86602383612395565b9150612d9182612d2c565b604082019050919050565b5f6020820190508181035f830152612db381612d7a565b9050919050565b7f4164647265737320697320626c61636b6c6973746564000000000000000000005f82015250565b5f612dee601683612395565b9150612df982612dba565b602082019050919050565b5f6020820190508181035f830152612e1b81612de2565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612e7c602983612395565b9150612e8782612e22565b604082019050919050565b5f6020820190508181035f830152612ea981612e70565b9050919050565b7f4b69776920746f20626520656e61626c656400000000000000000000000000005f82015250565b5f612ee4601283612395565b9150612eef82612eb0565b602082019050919050565b5f6020820190508181035f830152612f1181612ed8565b9050919050565b5f612f228261232d565b9150612f2d8361232d565b9250828203905081811115612f4557612f44612714565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050612fb38161244b565b92915050565b5f60208284031215612fce57612fcd612329565b5b5f612fdb84828501612fa5565b91505092915050565b5f819050919050565b5f819050919050565b5f61301061300b61300684612fe4565b612fed565b61232d565b9050919050565b61302081612ff6565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6130588161243a565b82525050565b5f613069838361304f565b60208301905092915050565b5f602082019050919050565b5f61308b82613026565b6130958185613030565b93506130a083613040565b805f5b838110156130d05781516130b7888261305e565b97506130c283613075565b9250506001810190506130a3565b5085935050505092915050565b5f60a0820190506130f05f83018861259a565b6130fd6020830187613017565b818103604083015261310f8186613081565b905061311e6060830185612646565b61312b608083018461259a565b9695505050505050565b5f81905092915050565b50565b5f61314d5f83613135565b91506131588261313f565b5f82019050919050565b5f61316c82613142565b9150819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6131ad8261232d565b91506131b88361232d565b9250826131c8576131c7613176565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f61322d602183612395565b9150613238826131d3565b604082019050919050565b5f6020820190508181035f83015261325a81613221565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613295601b83612395565b91506132a082613261565b602082019050919050565b5f6020820190508181035f8301526132c281613289565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220fcf8133da25bef3c7a2297d447cef0935fc39c5aadca6bd851e0d8d87e017d4364736f6c634300081a0033
Deployed Bytecode Sourcemap
5652:10483:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14098:174;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8274:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9157:186;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6259:96;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14754:494;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14280:113;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8551:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9351:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6856:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6676:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8460:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14637:109;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6364:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7105:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15802:330;;;;;;;;;;;;;:::i;:::-;;8654:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3984:103;;;;;;;;;;;;;:::i;:::-;;6903:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5862:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6630:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3343:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13951:139;;;;;;;;;;;;;:::i;:::-;;8365:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6473:102;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6584:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14401:112;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6720:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15256:538;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8781:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6141:59;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6764:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6207:43;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8981:168;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6811:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4242:238;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14521:108;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14098:174;3229:13;:11;:13::i;:::-;14197:1:::1;14185:9;:13;14177:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;14255:9;14235:17;:29;;;;14098:174:::0;:::o;8274:83::-;8311:13;8344:5;;;;;;;;;;;;;;;;;8337:12;;8274:83;:::o;9157:186::-;9257:4;9274:39;9283:12;:10;:12::i;:::-;9297:7;9306:6;9274:8;:39::i;:::-;9331:4;9324:11;;9157:186;;;;:::o;6259:96::-;;;;;;;;;;;;;:::o;14754:494::-;3229:13;:11;:13::i;:::-;14911:19:::1;14967:15;14951:13;14933:15;:31;;;;:::i;:::-;:49;;;;:::i;:::-;14911:71;;15016:1;15001:11;:16;;14993:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;15090:15;15067:20;:38;;;;15137:13;15116:18;:34;;;;15184:15;15161:20;:38;;;;15229:11;15210:16;:30;;;;14900:348;14754:494:::0;;;:::o;14280:113::-;3229:13;:11;:13::i;:::-;14381:4:::1;14351:18;:27;14370:7;14351:27;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;14280:113:::0;:::o;8551:95::-;8604:7;5956:2;6013;:15;;;;:::i;:::-;6000:10;:28;;;;:::i;:::-;8624:14;;8551:95;:::o;9351:446::-;9483:4;9500:36;9510:6;9518:9;9529:6;9500:9;:36::i;:::-;9547:220;9570:6;9591:12;:10;:12::i;:::-;9618:138;9674:6;9618:138;;;;;;;;;;;;;;;;;:11;:19;9630:6;9618:19;;;;;;;;;;;;;;;:33;9638:12;:10;:12::i;:::-;9618:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;9547:8;:220::i;:::-;9785:4;9778:11;;9351:446;;;;;:::o;6856:40::-;;;;:::o;6676:37::-;;;;:::o;8460:83::-;8501:5;5956:2;8519:16;;8460:83;:::o;14637:109::-;3229:13;:11;:13::i;:::-;14733:5:::1;14710:11;:20;14722:7;14710:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;14637:109:::0;:::o;6364:100::-;;;;;;;;;;;;;:::o;7105:31::-;;;;;;;;;;;;;:::o;15802:330::-;3229:13;:11;:13::i;:::-;15854:20:::1;15877:24;15895:4;15877:9;:24::i;:::-;15854:47;;15931:1;15916:12;:16;15912:79;;;15949:30;15966:12;15949:16;:30::i;:::-;15912:79;16001:18;16022:21;16001:42;;16071:1;16058:10;:14;16054:71;;;16089:24;16102:10;16089:12;:24::i;:::-;16054:71;15843:289;;15802:330::o:0;8654:119::-;8720:7;8747:9;:18;8757:7;8747:18;;;;;;;;;;;;;;;;8740:25;;8654:119;;;:::o;3984:103::-;3229:13;:11;:13::i;:::-;4049:30:::1;4076:1;4049:18;:30::i;:::-;3984:103::o:0;6903:36::-;;;;:::o;5862:50::-;;;;;;;;;;;;;;;;;;;;;;:::o;6630:39::-;;;;:::o;3343:87::-;3389:7;3416:6;;;;;;;;;;;3409:13;;3343:87;:::o;13951:139::-;3229:13;:11;:13::i;:::-;14024:4:::1;14009:19;;:11;;;;;;;;;;;:19;;::::0;14001:52:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;14078:4;14064:11;;:18;;;;;;;;;;;;;;;;;;13951:139::o:0;8365:87::-;8404:13;8437:7;;;;;;;;;;;;;;;;;8430:14;;8365:87;:::o;6473:102::-;;;;;;;;;;;;;:::o;6584:39::-;;;;:::o;14401:112::-;3229:13;:11;:13::i;:::-;14500:5:::1;14470:18;:27;14489:7;14470:27;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;14401:112:::0;:::o;6720:35::-;;;;:::o;15256:538::-;3229:13;:11;:13::i;:::-;15417:20:::1;15502:16;15472:14;15440:16;:46;;;;:::i;:::-;:78;;;;:::i;:::-;15417:101;;15553:1;15537:12;:17;;15529:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;15629:16;15605:21;:40;;;;15678:14;15656:19;:36;;;;15727:16;15703:21;:40;;;;15774:12;15754:17;:32;;;;15406:388;15256:538:::0;;;:::o;8781:192::-;8884:4;8901:42;8911:12;:10;:12::i;:::-;8925:9;8936:6;8901:9;:42::i;:::-;8961:4;8954:11;;8781:192;;;;:::o;6141:59::-;;;;:::o;6764:40::-;;;;:::o;6207:43::-;;;;;;;;;;;;;;;;;;;;;;:::o;8981:168::-;9087:7;9114:11;:18;9126:5;9114:18;;;;;;;;;;;;;;;:27;9133:7;9114:27;;;;;;;;;;;;;;;;9107:34;;8981:168;;;;:::o;6811:38::-;;;;:::o;4242:238::-;3229:13;:11;:13::i;:::-;4365:1:::1;4345:22;;:8;:22;;::::0;4323:110:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;4444:28;4463:8;4444:18;:28::i;:::-;4242:238:::0;:::o;14521:108::-;3229:13;:11;:13::i;:::-;14617:4:::1;14594:11;:20;14606:7;14594:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;14521:108:::0;:::o;3508:132::-;3583:12;:10;:12::i;:::-;3572:23;;:7;:5;:7::i;:::-;:23;;;3564:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;3508:132::o;637:98::-;690:7;717:10;710:17;;637:98;:::o;9805:335::-;9915:1;9898:19;;:5;:19;;;9890:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9996:1;9977:21;;:7;:21;;;9969:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10078:6;10048:11;:18;10060:5;10048:18;;;;;;;;;;;;;;;:27;10067:7;10048:27;;;;;;;;;;;;;;;:36;;;;10116:7;10100:32;;10109:5;10100:32;;;10125:6;10100:32;;;;;;:::i;:::-;;;;;;;;9805:335;;;:::o;10148:1956::-;10252:1;10236:18;;:4;:18;;;10228:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10329:1;10315:16;;:2;:16;;;10307:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;10405:11;:17;10417:4;10405:17;;;;;;;;;;;;;;;;;;;;;;;;;10404:18;:38;;;;;10427:11;:15;10439:2;10427:15;;;;;;;;;;;;;;;;;;;;;;;;;10426:16;10404:38;10382:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;10520:1;10511:6;:10;10503:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;10578:17;10615:18;:24;10634:4;10615:24;;;;;;;;;;;;;;;;;;;;;;;;;10614:25;:52;;;;;10644:18;:22;10663:2;10644:22;;;;;;;;;;;;;;;;;;;;;;;;;10643:23;10614:52;10610:1123;;;10691:11;;;;;;;;;;;10683:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;10765:1;10746:16;;:20;10742:213;;;10799:13;;;;;;;;;;;10791:21;;:4;:21;;;:55;;;;;10830:15;;;;;;;;;;;10816:30;;:2;:30;;;;10791:55;10787:153;;;10883:37;10916:3;10883:28;10894:16;;10883:6;:10;;:28;;;;:::i;:::-;:32;;:37;;;;:::i;:::-;10871:49;;10787:153;10742:213;10995:1;10975:17;;:21;10971:179;;;11027:13;;;;;;;;;;;11021:19;;:2;:19;;;11017:118;;11077:38;11111:3;11077:29;11088:17;;11077:6;:10;;:29;;;;:::i;:::-;:33;;:38;;;;:::i;:::-;11065:50;;11017:118;10971:179;11166:28;11197:24;11215:4;11197:9;:24::i;:::-;11166:55;;11259:6;;;;;;;;;;;11258:7;:47;;;;;11292:13;;;;;;;;;;;11286:19;;:2;:19;;;11258:47;:79;;;;;11326:11;;;;;;;;;;;11258:79;:140;;;;;11381:17;;11358:20;:40;11258:140;:182;;;;;11439:1;11419:17;;:21;11258:182;11236:486;;;11475:38;11492:20;11475:16;:38::i;:::-;11532:26;11561:21;11532:50;;11626:1;11605:18;:22;11601:106;;;11652:35;11665:21;11652:12;:35::i;:::-;11601:106;11456:266;11236:486;10668:1065;10610:1123;11761:1;11749:9;:13;11745:172;;;11806:39;11835:9;11806;:24;11824:4;11806:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;11779:9;:24;11797:4;11779:24;;;;;;;;;;;;;;;:66;;;;11888:4;11865:40;;11874:4;11865:40;;;11895:9;11865:40;;;;;;:::i;:::-;;;;;;;;11745:172;11945:27;11965:6;11945:9;:15;11955:4;11945:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;11927:9;:15;11937:4;11927:15;;;;;;;;;;;;;;;:45;;;;11999:40;12017:21;12028:9;12017:6;:10;;:21;;;;:::i;:::-;11999:9;:13;12009:2;11999:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;11983:9;:13;11993:2;11983:13;;;;;;;;;;;;;;;:56;;;;12070:2;12055:41;;12064:4;12055:41;;;12074:21;12085:9;12074:6;:10;;:21;;;;:::i;:::-;12055:41;;;;;;:::i;:::-;;;;;;;;10217:1887;10148:1956;;;:::o;1892:224::-;2012:7;2045:1;2040;:6;;2048:12;2032:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2072:9;2088:1;2084;:5;;;;:::i;:::-;2072:17;;2107:1;2100:8;;;1892:224;;;;;:::o;12227:548::-;7188:4;7179:6;;:13;;;;;;;;;;;;;;;;;;12324:1:::1;12309:11;:16:::0;12305:55;12342:7:::1;12305:55;12370:21;12408:1;12394:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12370:40;;12439:4;12421;12426:1;12421:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;12465:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12455:4;12460:1;12455:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;12498:62;12515:4;12530:15;;;;;;;;;;;12548:11;12498:8;:62::i;:::-;12571:15;;;;;;;;;;;:66;;;12652:11;12678:1;12694:4;12721;12741:15;12571:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;12294:481;7203:1;7224:5:::0;7215:6;;:14;;;;;;;;;;;;;;;;;;12227:548;:::o;12783:1123::-;12854:1;12844:6;:11;12840:24;12857:7;12840:24;12876:22;12901:80;12953:17;;12901:33;12912:21;;12901:6;:10;;:33;;;;:::i;:::-;:37;;:80;;;;:::i;:::-;12876:105;;12992:22;13017:80;13069:17;;13017:33;13028:21;;13017:6;:10;;:33;;;;:::i;:::-;:37;;:80;;;;:::i;:::-;12992:105;;13108:20;13131:78;13181:17;;13131:31;13142:19;;13131:6;:10;;:31;;;;:::i;:::-;:35;;:78;;;;:::i;:::-;13108:101;;13243:1;13226:14;:18;13222:225;;;13262:12;13280:16;;;;;;;;;;;:21;;13309:14;13280:48;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13261:67;;;13348:7;13343:92;;13402:16;;;;;;;;;;;13379:56;;;13420:14;13379:56;;;;;;:::i;:::-;;;;;;;;13343:92;13246:201;13222:225;13480:1;13463:14;:18;13459:213;;;13499:12;13517:10;;;;;;;;;;;:15;;13540:14;13517:42;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13498:61;;;13579:7;13574:86;;13633:10;;;;;;;;;;;13610:50;;;13645:14;13610:50;;;;;;:::i;:::-;;;;;;;;13574:86;13483:189;13459:213;13703:1;13688:12;:16;13684:215;;;13722:12;13740:14;;;;;;;;;;;:19;;13767:12;13740:44;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13721:63;;;13804:7;13799:88;;13858:14;;;;;;;;;;;13835:52;;;13874:12;13835:52;;;;;;:::i;:::-;;;;;;;;13799:88;13706:193;13684:215;12829:1077;;;12783:1123;;:::o;4640:191::-;4714:16;4733:6;;;;;;;;;;;4714:25;;4759:8;4750:6;;:17;;;;;;;;;;;;;;;;;;4814:8;4783:40;;4804:8;4783:40;;;;;;;;;;;;4703:128;4640:191;:::o;2124:246::-;2182:7;2211:1;2206;:6;2202:47;;2236:1;2229:8;;;;2202:47;2259:9;2275:1;2271;:5;;;;:::i;:::-;2259:17;;2304:1;2299;2295;:5;;;;:::i;:::-;:10;2287:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2361:1;2354:8;;;2124:246;;;;;:::o;2378:132::-;2436:7;2463:39;2467:1;2470;2463:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2456:46;;2378:132;;;;:::o;1561:179::-;1619:7;1639:9;1655:1;1651;:5;;;;:::i;:::-;1639:17;;1680:1;1675;:6;;1667:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1731:1;1724:8;;;1561:179;;;;:::o;1748:136::-;1806:7;1833:43;1837:1;1840;1833:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1826:50;;1748:136;;;;:::o;2518:223::-;2638:7;2670:1;2666;:5;2673:12;2658:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2697:9;2713:1;2709;:5;;;;:::i;:::-;2697:17;;2732:1;2725:8;;;2518:223;;;;;:::o;88:117:1:-;197:1;194;187:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:329::-;749:6;798:2;786:9;777:7;773:23;769:32;766:119;;;804:79;;:::i;:::-;766:119;924:1;949:53;994:7;985:6;974:9;970:22;949:53;:::i;:::-;939:63;;895:117;690:329;;;;:::o;1025:99::-;1077:6;1111:5;1105:12;1095:22;;1025:99;;;:::o;1130:169::-;1214:11;1248:6;1243:3;1236:19;1288:4;1283:3;1279:14;1264:29;;1130:169;;;;:::o;1305:139::-;1394:6;1389:3;1384;1378:23;1435:1;1426:6;1421:3;1417:16;1410:27;1305:139;;;:::o;1450:102::-;1491:6;1542:2;1538:7;1533:2;1526:5;1522:14;1518:28;1508:38;;1450:102;;;:::o;1558:377::-;1646:3;1674:39;1707:5;1674:39;:::i;:::-;1729:71;1793:6;1788:3;1729:71;:::i;:::-;1722:78;;1809:65;1867:6;1862:3;1855:4;1848:5;1844:16;1809:65;:::i;:::-;1899:29;1921:6;1899:29;:::i;:::-;1894:3;1890:39;1883:46;;1650:285;1558:377;;;;:::o;1941:313::-;2054:4;2092:2;2081:9;2077:18;2069:26;;2141:9;2135:4;2131:20;2127:1;2116:9;2112:17;2105:47;2169:78;2242:4;2233:6;2169:78;:::i;:::-;2161:86;;1941:313;;;;:::o;2260:126::-;2297:7;2337:42;2330:5;2326:54;2315:65;;2260:126;;;:::o;2392:96::-;2429:7;2458:24;2476:5;2458:24;:::i;:::-;2447:35;;2392:96;;;:::o;2494:122::-;2567:24;2585:5;2567:24;:::i;:::-;2560:5;2557:35;2547:63;;2606:1;2603;2596:12;2547:63;2494:122;:::o;2622:139::-;2668:5;2706:6;2693:20;2684:29;;2722:33;2749:5;2722:33;:::i;:::-;2622:139;;;;:::o;2767:474::-;2835:6;2843;2892:2;2880:9;2871:7;2867:23;2863:32;2860:119;;;2898:79;;:::i;:::-;2860:119;3018:1;3043:53;3088:7;3079:6;3068:9;3064:22;3043:53;:::i;:::-;3033:63;;2989:117;3145:2;3171:53;3216:7;3207:6;3196:9;3192:22;3171:53;:::i;:::-;3161:63;;3116:118;2767:474;;;;;:::o;3247:90::-;3281:7;3324:5;3317:13;3310:21;3299:32;;3247:90;;;:::o;3343:109::-;3424:21;3439:5;3424:21;:::i;:::-;3419:3;3412:34;3343:109;;:::o;3458:210::-;3545:4;3583:2;3572:9;3568:18;3560:26;;3596:65;3658:1;3647:9;3643:17;3634:6;3596:65;:::i;:::-;3458:210;;;;:::o;3674:104::-;3719:7;3748:24;3766:5;3748:24;:::i;:::-;3737:35;;3674:104;;;:::o;3784:142::-;3887:32;3913:5;3887:32;:::i;:::-;3882:3;3875:45;3784:142;;:::o;3932:254::-;4041:4;4079:2;4068:9;4064:18;4056:26;;4092:87;4176:1;4165:9;4161:17;4152:6;4092:87;:::i;:::-;3932:254;;;;:::o;4192:619::-;4269:6;4277;4285;4334:2;4322:9;4313:7;4309:23;4305:32;4302:119;;;4340:79;;:::i;:::-;4302:119;4460:1;4485:53;4530:7;4521:6;4510:9;4506:22;4485:53;:::i;:::-;4475:63;;4431:117;4587:2;4613:53;4658:7;4649:6;4638:9;4634:22;4613:53;:::i;:::-;4603:63;;4558:118;4715:2;4741:53;4786:7;4777:6;4766:9;4762:22;4741:53;:::i;:::-;4731:63;;4686:118;4192:619;;;;;:::o;4817:329::-;4876:6;4925:2;4913:9;4904:7;4900:23;4896:32;4893:119;;;4931:79;;:::i;:::-;4893:119;5051:1;5076:53;5121:7;5112:6;5101:9;5097:22;5076:53;:::i;:::-;5066:63;;5022:117;4817:329;;;;:::o;5152:118::-;5239:24;5257:5;5239:24;:::i;:::-;5234:3;5227:37;5152:118;;:::o;5276:222::-;5369:4;5407:2;5396:9;5392:18;5384:26;;5420:71;5488:1;5477:9;5473:17;5464:6;5420:71;:::i;:::-;5276:222;;;;:::o;5504:619::-;5581:6;5589;5597;5646:2;5634:9;5625:7;5621:23;5617:32;5614:119;;;5652:79;;:::i;:::-;5614:119;5772:1;5797:53;5842:7;5833:6;5822:9;5818:22;5797:53;:::i;:::-;5787:63;;5743:117;5899:2;5925:53;5970:7;5961:6;5950:9;5946:22;5925:53;:::i;:::-;5915:63;;5870:118;6027:2;6053:53;6098:7;6089:6;6078:9;6074:22;6053:53;:::i;:::-;6043:63;;5998:118;5504:619;;;;;:::o;6129:86::-;6164:7;6204:4;6197:5;6193:16;6182:27;;6129:86;;;:::o;6221:112::-;6304:22;6320:5;6304:22;:::i;:::-;6299:3;6292:35;6221:112;;:::o;6339:214::-;6428:4;6466:2;6455:9;6451:18;6443:26;;6479:67;6543:1;6532:9;6528:17;6519:6;6479:67;:::i;:::-;6339:214;;;;:::o;6559:118::-;6646:24;6664:5;6646:24;:::i;:::-;6641:3;6634:37;6559:118;;:::o;6683:222::-;6776:4;6814:2;6803:9;6799:18;6791:26;;6827:71;6895:1;6884:9;6880:17;6871:6;6827:71;:::i;:::-;6683:222;;;;:::o;6911:474::-;6979:6;6987;7036:2;7024:9;7015:7;7011:23;7007:32;7004:119;;;7042:79;;:::i;:::-;7004:119;7162:1;7187:53;7232:7;7223:6;7212:9;7208:22;7187:53;:::i;:::-;7177:63;;7133:117;7289:2;7315:53;7360:7;7351:6;7340:9;7336:22;7315:53;:::i;:::-;7305:63;;7260:118;6911:474;;;;;:::o;7391:171::-;7531:23;7527:1;7519:6;7515:14;7508:47;7391:171;:::o;7568:366::-;7710:3;7731:67;7795:2;7790:3;7731:67;:::i;:::-;7724:74;;7807:93;7896:3;7807:93;:::i;:::-;7925:2;7920:3;7916:12;7909:19;;7568:366;;;:::o;7940:419::-;8106:4;8144:2;8133:9;8129:18;8121:26;;8193:9;8187:4;8183:20;8179:1;8168:9;8164:17;8157:47;8221:131;8347:4;8221:131;:::i;:::-;8213:139;;7940:419;;;:::o;8365:180::-;8413:77;8410:1;8403:88;8510:4;8507:1;8500:15;8534:4;8531:1;8524:15;8551:191;8591:3;8610:20;8628:1;8610:20;:::i;:::-;8605:25;;8644:20;8662:1;8644:20;:::i;:::-;8639:25;;8687:1;8684;8680:9;8673:16;;8708:3;8705:1;8702:10;8699:36;;;8715:18;;:::i;:::-;8699:36;8551:191;;;;:::o;8748:182::-;8888:34;8884:1;8876:6;8872:14;8865:58;8748:182;:::o;8936:366::-;9078:3;9099:67;9163:2;9158:3;9099:67;:::i;:::-;9092:74;;9175:93;9264:3;9175:93;:::i;:::-;9293:2;9288:3;9284:12;9277:19;;8936:366;;;:::o;9308:419::-;9474:4;9512:2;9501:9;9497:18;9489:26;;9561:9;9555:4;9551:20;9547:1;9536:9;9532:17;9525:47;9589:131;9715:4;9589:131;:::i;:::-;9581:139;;9308:419;;;:::o;9733:102::-;9775:8;9822:5;9819:1;9815:13;9794:34;;9733:102;;;:::o;9841:848::-;9902:5;9909:4;9933:6;9924:15;;9957:5;9948:14;;9971:712;9992:1;9982:8;9979:15;9971:712;;;10087:4;10082:3;10078:14;10072:4;10069:24;10066:50;;;10096:18;;:::i;:::-;10066:50;10146:1;10136:8;10132:16;10129:451;;;10561:4;10554:5;10550:16;10541:25;;10129:451;10611:4;10605;10601:15;10593:23;;10641:32;10664:8;10641:32;:::i;:::-;10629:44;;9971:712;;;9841:848;;;;;;;:::o;10695:1073::-;10749:5;10940:8;10930:40;;10961:1;10952:10;;10963:5;;10930:40;10989:4;10979:36;;11006:1;10997:10;;11008:5;;10979:36;11075:4;11123:1;11118:27;;;;11159:1;11154:191;;;;11068:277;;11118:27;11136:1;11127:10;;11138:5;;;11154:191;11199:3;11189:8;11186:17;11183:43;;;11206:18;;:::i;:::-;11183:43;11255:8;11252:1;11248:16;11239:25;;11290:3;11283:5;11280:14;11277:40;;;11297:18;;:::i;:::-;11277:40;11330:5;;;11068:277;;11454:2;11444:8;11441:16;11435:3;11429:4;11426:13;11422:36;11404:2;11394:8;11391:16;11386:2;11380:4;11377:12;11373:35;11357:111;11354:246;;;11510:8;11504:4;11500:19;11491:28;;11545:3;11538:5;11535:14;11532:40;;;11552:18;;:::i;:::-;11532:40;11585:5;;11354:246;11625:42;11663:3;11653:8;11647:4;11644:1;11625:42;:::i;:::-;11610:57;;;;11699:4;11694:3;11690:14;11683:5;11680:25;11677:51;;;11708:18;;:::i;:::-;11677:51;11757:4;11750:5;11746:16;11737:25;;10695:1073;;;;;;:::o;11774:281::-;11832:5;11856:23;11874:4;11856:23;:::i;:::-;11848:31;;11900:25;11916:8;11900:25;:::i;:::-;11888:37;;11944:104;11981:66;11971:8;11965:4;11944:104;:::i;:::-;11935:113;;11774:281;;;;:::o;12061:410::-;12101:7;12124:20;12142:1;12124:20;:::i;:::-;12119:25;;12158:20;12176:1;12158:20;:::i;:::-;12153:25;;12213:1;12210;12206:9;12235:30;12253:11;12235:30;:::i;:::-;12224:41;;12414:1;12405:7;12401:15;12398:1;12395:22;12375:1;12368:9;12348:83;12325:139;;12444:18;;:::i;:::-;12325:139;12109:362;12061:410;;;;:::o;12477:170::-;12617:22;12613:1;12605:6;12601:14;12594:46;12477:170;:::o;12653:366::-;12795:3;12816:67;12880:2;12875:3;12816:67;:::i;:::-;12809:74;;12892:93;12981:3;12892:93;:::i;:::-;13010:2;13005:3;13001:12;12994:19;;12653:366;;;:::o;13025:419::-;13191:4;13229:2;13218:9;13214:18;13206:26;;13278:9;13272:4;13268:20;13264:1;13253:9;13249:17;13242:47;13306:131;13432:4;13306:131;:::i;:::-;13298:139;;13025:419;;;:::o;13450:220::-;13590:34;13586:1;13578:6;13574:14;13567:58;13659:3;13654:2;13646:6;13642:15;13635:28;13450:220;:::o;13676:366::-;13818:3;13839:67;13903:2;13898:3;13839:67;:::i;:::-;13832:74;;13915:93;14004:3;13915:93;:::i;:::-;14033:2;14028:3;14024:12;14017:19;;13676:366;;;:::o;14048:419::-;14214:4;14252:2;14241:9;14237:18;14229:26;;14301:9;14295:4;14291:20;14287:1;14276:9;14272:17;14265:47;14329:131;14455:4;14329:131;:::i;:::-;14321:139;;14048:419;;;:::o;14473:225::-;14613:34;14609:1;14601:6;14597:14;14590:58;14682:8;14677:2;14669:6;14665:15;14658:33;14473:225;:::o;14704:366::-;14846:3;14867:67;14931:2;14926:3;14867:67;:::i;:::-;14860:74;;14943:93;15032:3;14943:93;:::i;:::-;15061:2;15056:3;15052:12;15045:19;;14704:366;;;:::o;15076:419::-;15242:4;15280:2;15269:9;15265:18;15257:26;;15329:9;15323:4;15319:20;15315:1;15304:9;15300:17;15293:47;15357:131;15483:4;15357:131;:::i;:::-;15349:139;;15076:419;;;:::o;15501:182::-;15641:34;15637:1;15629:6;15625:14;15618:58;15501:182;:::o;15689:366::-;15831:3;15852:67;15916:2;15911:3;15852:67;:::i;:::-;15845:74;;15928:93;16017:3;15928:93;:::i;:::-;16046:2;16041:3;16037:12;16030:19;;15689:366;;;:::o;16061:419::-;16227:4;16265:2;16254:9;16250:18;16242:26;;16314:9;16308:4;16304:20;16300:1;16289:9;16285:17;16278:47;16342:131;16468:4;16342:131;:::i;:::-;16334:139;;16061:419;;;:::o;16486:223::-;16626:34;16622:1;16614:6;16610:14;16603:58;16695:6;16690:2;16682:6;16678:15;16671:31;16486:223;:::o;16715:366::-;16857:3;16878:67;16942:2;16937:3;16878:67;:::i;:::-;16871:74;;16954:93;17043:3;16954:93;:::i;:::-;17072:2;17067:3;17063:12;17056:19;;16715:366;;;:::o;17087:419::-;17253:4;17291:2;17280:9;17276:18;17268:26;;17340:9;17334:4;17330:20;17326:1;17315:9;17311:17;17304:47;17368:131;17494:4;17368:131;:::i;:::-;17360:139;;17087:419;;;:::o;17512:221::-;17652:34;17648:1;17640:6;17636:14;17629:58;17721:4;17716:2;17708:6;17704:15;17697:29;17512:221;:::o;17739:366::-;17881:3;17902:67;17966:2;17961:3;17902:67;:::i;:::-;17895:74;;17978:93;18067:3;17978:93;:::i;:::-;18096:2;18091:3;18087:12;18080:19;;17739:366;;;:::o;18111:419::-;18277:4;18315:2;18304:9;18300:18;18292:26;;18364:9;18358:4;18354:20;18350:1;18339:9;18335:17;18328:47;18392:131;18518:4;18392:131;:::i;:::-;18384:139;;18111:419;;;:::o;18536:224::-;18676:34;18672:1;18664:6;18660:14;18653:58;18745:7;18740:2;18732:6;18728:15;18721:32;18536:224;:::o;18766:366::-;18908:3;18929:67;18993:2;18988:3;18929:67;:::i;:::-;18922:74;;19005:93;19094:3;19005:93;:::i;:::-;19123:2;19118:3;19114:12;19107:19;;18766:366;;;:::o;19138:419::-;19304:4;19342:2;19331:9;19327:18;19319:26;;19391:9;19385:4;19381:20;19377:1;19366:9;19362:17;19355:47;19419:131;19545:4;19419:131;:::i;:::-;19411:139;;19138:419;;;:::o;19563:222::-;19703:34;19699:1;19691:6;19687:14;19680:58;19772:5;19767:2;19759:6;19755:15;19748:30;19563:222;:::o;19791:366::-;19933:3;19954:67;20018:2;20013:3;19954:67;:::i;:::-;19947:74;;20030:93;20119:3;20030:93;:::i;:::-;20148:2;20143:3;20139:12;20132:19;;19791:366;;;:::o;20163:419::-;20329:4;20367:2;20356:9;20352:18;20344:26;;20416:9;20410:4;20406:20;20402:1;20391:9;20387:17;20380:47;20444:131;20570:4;20444:131;:::i;:::-;20436:139;;20163:419;;;:::o;20588:172::-;20728:24;20724:1;20716:6;20712:14;20705:48;20588:172;:::o;20766:366::-;20908:3;20929:67;20993:2;20988:3;20929:67;:::i;:::-;20922:74;;21005:93;21094:3;21005:93;:::i;:::-;21123:2;21118:3;21114:12;21107:19;;20766:366;;;:::o;21138:419::-;21304:4;21342:2;21331:9;21327:18;21319:26;;21391:9;21385:4;21381:20;21377:1;21366:9;21362:17;21355:47;21419:131;21545:4;21419:131;:::i;:::-;21411:139;;21138:419;;;:::o;21563:228::-;21703:34;21699:1;21691:6;21687:14;21680:58;21772:11;21767:2;21759:6;21755:15;21748:36;21563:228;:::o;21797:366::-;21939:3;21960:67;22024:2;22019:3;21960:67;:::i;:::-;21953:74;;22036:93;22125:3;22036:93;:::i;:::-;22154:2;22149:3;22145:12;22138:19;;21797:366;;;:::o;22169:419::-;22335:4;22373:2;22362:9;22358:18;22350:26;;22422:9;22416:4;22412:20;22408:1;22397:9;22393:17;22386:47;22450:131;22576:4;22450:131;:::i;:::-;22442:139;;22169:419;;;:::o;22594:168::-;22734:20;22730:1;22722:6;22718:14;22711:44;22594:168;:::o;22768:366::-;22910:3;22931:67;22995:2;22990:3;22931:67;:::i;:::-;22924:74;;23007:93;23096:3;23007:93;:::i;:::-;23125:2;23120:3;23116:12;23109:19;;22768:366;;;:::o;23140:419::-;23306:4;23344:2;23333:9;23329:18;23321:26;;23393:9;23387:4;23383:20;23379:1;23368:9;23364:17;23357:47;23421:131;23547:4;23421:131;:::i;:::-;23413:139;;23140:419;;;:::o;23565:194::-;23605:4;23625:20;23643:1;23625:20;:::i;:::-;23620:25;;23659:20;23677:1;23659:20;:::i;:::-;23654:25;;23703:1;23700;23696:9;23688:17;;23727:1;23721:4;23718:11;23715:37;;;23732:18;;:::i;:::-;23715:37;23565:194;;;;:::o;23765:180::-;23813:77;23810:1;23803:88;23910:4;23907:1;23900:15;23934:4;23931:1;23924:15;23951:180;23999:77;23996:1;23989:88;24096:4;24093:1;24086:15;24120:4;24117:1;24110:15;24137:143;24194:5;24225:6;24219:13;24210:22;;24241:33;24268:5;24241:33;:::i;:::-;24137:143;;;;:::o;24286:351::-;24356:6;24405:2;24393:9;24384:7;24380:23;24376:32;24373:119;;;24411:79;;:::i;:::-;24373:119;24531:1;24556:64;24612:7;24603:6;24592:9;24588:22;24556:64;:::i;:::-;24546:74;;24502:128;24286:351;;;;:::o;24643:85::-;24688:7;24717:5;24706:16;;24643:85;;;:::o;24734:60::-;24762:3;24783:5;24776:12;;24734:60;;;:::o;24800:158::-;24858:9;24891:61;24909:42;24918:32;24944:5;24918:32;:::i;:::-;24909:42;:::i;:::-;24891:61;:::i;:::-;24878:74;;24800:158;;;:::o;24964:147::-;25059:45;25098:5;25059:45;:::i;:::-;25054:3;25047:58;24964:147;;:::o;25117:114::-;25184:6;25218:5;25212:12;25202:22;;25117:114;;;:::o;25237:184::-;25336:11;25370:6;25365:3;25358:19;25410:4;25405:3;25401:14;25386:29;;25237:184;;;;:::o;25427:132::-;25494:4;25517:3;25509:11;;25547:4;25542:3;25538:14;25530:22;;25427:132;;;:::o;25565:108::-;25642:24;25660:5;25642:24;:::i;:::-;25637:3;25630:37;25565:108;;:::o;25679:179::-;25748:10;25769:46;25811:3;25803:6;25769:46;:::i;:::-;25847:4;25842:3;25838:14;25824:28;;25679:179;;;;:::o;25864:113::-;25934:4;25966;25961:3;25957:14;25949:22;;25864:113;;;:::o;26013:732::-;26132:3;26161:54;26209:5;26161:54;:::i;:::-;26231:86;26310:6;26305:3;26231:86;:::i;:::-;26224:93;;26341:56;26391:5;26341:56;:::i;:::-;26420:7;26451:1;26436:284;26461:6;26458:1;26455:13;26436:284;;;26537:6;26531:13;26564:63;26623:3;26608:13;26564:63;:::i;:::-;26557:70;;26650:60;26703:6;26650:60;:::i;:::-;26640:70;;26496:224;26483:1;26480;26476:9;26471:14;;26436:284;;;26440:14;26736:3;26729:10;;26137:608;;;26013:732;;;;:::o;26751:831::-;27014:4;27052:3;27041:9;27037:19;27029:27;;27066:71;27134:1;27123:9;27119:17;27110:6;27066:71;:::i;:::-;27147:80;27223:2;27212:9;27208:18;27199:6;27147:80;:::i;:::-;27274:9;27268:4;27264:20;27259:2;27248:9;27244:18;27237:48;27302:108;27405:4;27396:6;27302:108;:::i;:::-;27294:116;;27420:72;27488:2;27477:9;27473:18;27464:6;27420:72;:::i;:::-;27502:73;27570:3;27559:9;27555:19;27546:6;27502:73;:::i;:::-;26751:831;;;;;;;;:::o;27588:147::-;27689:11;27726:3;27711:18;;27588:147;;;;:::o;27741:114::-;;:::o;27861:398::-;28020:3;28041:83;28122:1;28117:3;28041:83;:::i;:::-;28034:90;;28133:93;28222:3;28133:93;:::i;:::-;28251:1;28246:3;28242:11;28235:18;;27861:398;;;:::o;28265:379::-;28449:3;28471:147;28614:3;28471:147;:::i;:::-;28464:154;;28635:3;28628:10;;28265:379;;;:::o;28650:180::-;28698:77;28695:1;28688:88;28795:4;28792:1;28785:15;28819:4;28816:1;28809:15;28836:185;28876:1;28893:20;28911:1;28893:20;:::i;:::-;28888:25;;28927:20;28945:1;28927:20;:::i;:::-;28922:25;;28966:1;28956:35;;28971:18;;:::i;:::-;28956:35;29013:1;29010;29006:9;29001:14;;28836:185;;;;:::o;29027:220::-;29167:34;29163:1;29155:6;29151:14;29144:58;29236:3;29231:2;29223:6;29219:15;29212:28;29027:220;:::o;29253:366::-;29395:3;29416:67;29480:2;29475:3;29416:67;:::i;:::-;29409:74;;29492:93;29581:3;29492:93;:::i;:::-;29610:2;29605:3;29601:12;29594:19;;29253:366;;;:::o;29625:419::-;29791:4;29829:2;29818:9;29814:18;29806:26;;29878:9;29872:4;29868:20;29864:1;29853:9;29849:17;29842:47;29906:131;30032:4;29906:131;:::i;:::-;29898:139;;29625:419;;;:::o;30050:177::-;30190:29;30186:1;30178:6;30174:14;30167:53;30050:177;:::o;30233:366::-;30375:3;30396:67;30460:2;30455:3;30396:67;:::i;:::-;30389:74;;30472:93;30561:3;30472:93;:::i;:::-;30590:2;30585:3;30581:12;30574:19;;30233:366;;;:::o;30605:419::-;30771:4;30809:2;30798:9;30794:18;30786:26;;30858:9;30852:4;30848:20;30844:1;30833:9;30829:17;30822:47;30886:131;31012:4;30886:131;:::i;:::-;30878:139;;30605:419;;;:::o
Swarm Source
ipfs://fcf8133da25bef3c7a2297d447cef0935fc39c5aadca6bd851e0d8d87e017d43
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.