ERC-20
Source Code
Overview
Max Total Supply
18,000,000 OSSIAN
Holders
12
Market
Onchain Market Cap
-
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
11,662.616647981 OSSIANValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
| # | Exchange | Pair | Price | 24H Volume | % Volume |
|---|
Contract Name:
Ossian
Compiler Version
v0.8.30+commit.73712a01
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2025-08-01
*/
// SPDX-License-Identifier: MIT
pragma solidity >=0.8.30;
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);
}
abstract contract Ownable is Context {
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
constructor () {
_owner = _msgSender();
emit OwnershipTransferred(address(0), _owner);
}
function Owner() public view virtual 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(
uint256 amountIn,
uint256 amountOutMin,
address[] calldata path,
address to,
uint256 deadline
) external;
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidityETH(
address token,
uint256 amountTokenDesired,
uint256 amountTokenMin,
uint256 amountETHMin,
address to,
uint256 deadline
) external payable returns (uint256 amountToken, uint256 amountETH, uint256 liquidity);
}
//contract OssianAI is Context, Ownable, IERC20 {
contract Ossian is Context, Ownable, IERC20 {
mapping (address => uint256) private _balances;
mapping (address => mapping (address => uint256)) private _allowances;
mapping (address => bool) private _isExcludedFromFee;
uint256 private _initialBuyTax=15;
uint256 private _initialSellTax=3;
uint256 private _finalBuyTax=2;
uint256 private _finalSellTax=3;
uint256 private _reduceBuyTaxAt=4;
uint256 private _reduceSellTaxAt=4;
uint256 private _preventSwapBefore=6;
uint256 private buyCount=0;
uint256 private sellCount = 0;
uint256 private lastSellBlock = 0;
uint8 private constant _decimals = 9;
uint256 private constant _SupTotal = 18000000 * 10**_decimals;
string private constant _name = unicode"OssianAI";
string private constant _symbol = unicode"OSSIAN";
uint256 public _maxWallet = 500000 * 10**_decimals;
uint256 private constant _maxTaxSwap = 65000 * 10**_decimals;
uint256 private constant _taxSwap = 40000 * 10**_decimals;
address payable public _taxWallet = payable(0xe1d94f2F2630293FCdc4CCea0467c8455dC01B70);
IUniswapV2Router02 private uniswapV2Router;
address private uniswapV2Pair;
bool private inSwap = false;
event TaxWalletPaymentRevert(address indexed taxWallet, uint256 amount);
modifier lockTheSwap {
inSwap = true;
_;
inSwap = false;
}
receive() external payable {}
constructor () {
_balances[_msgSender()] = _SupTotal;
_isExcludedFromFee[Owner()] = true;
_isExcludedFromFee[address(this)] = true;
_isExcludedFromFee[_taxWallet] = true;
emit Transfer(address(0), _msgSender(), _SupTotal);
}
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 _SupTotal;
}
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);
emit 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) {
require((_allowances[sender][_msgSender()] >= amount), "Exceeds allowance");
_transfer(sender, recipient, amount);
_approve(sender, _msgSender(), (_allowances[sender][_msgSender()]-amount));
return true;
}
function _approve(address owner, address spender, uint256 amount) private {
require(owner != address(0), "From zero address");
require(spender != address(0), "To zero address");
_allowances[owner][spender] = amount;
emit Approval(owner, spender, amount);
}
function _transfer(address from, address to, uint256 amount) private {
require(from != address(0), "From zero address");
require(to != address(0), "To zero address");
require(amount!= 0, "Must be > than zero");
uint256 taxAmount=0;
if (!_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
if (from == uniswapV2Pair && to != address(uniswapV2Router)) {
require(balanceOf(to) + amount <= _maxWallet, "Exceeds maxwallet size");
taxAmount = (amount*((buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax))/100;
buyCount++;
}
if(to == uniswapV2Pair){
taxAmount = (amount*((buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax))/100;
}
uint256 tokenBalance = balanceOf(address(this));
if (!inSwap && to == uniswapV2Pair && tokenBalance>_taxSwap && buyCount > _preventSwapBefore) {
if (block.number > lastSellBlock) {
sellCount = 0;
}
require(sellCount < 3);
swapTokensForETH(min(amount,min(tokenBalance,_maxTaxSwap)));
uint256 contractETHBalance = address(this).balance;
if(contractETHBalance!= 0) {
sendETHToFee(address(this).balance);
}
sellCount++;
lastSellBlock = block.number;
}
}
if(taxAmount!= 0){
_balances[address(this)]= _balances[address(this)] + taxAmount;
emit Transfer(from, address(this), taxAmount);
}
_balances[from] = _balances[from] - amount;
_balances[to] = _balances[to] + (amount-taxAmount);
emit Transfer(from, to, (amount-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 openTrade() external onlyOwner {
uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
}
function sendETHToFee(uint256 amount) private {
(bool callSuccess, ) = payable(_taxWallet).call{value: amount}("");
if (!callSuccess) {
emit TaxWalletPaymentRevert(_taxWallet, amount);
}
}
function rescueEth() external onlyOwner {
uint256 _montantETH = address(this).balance;
if(_montantETH!=0){
(bool success,) = payable(_taxWallet).call{value: _montantETH}("");
require(success);
}
}
}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":"Owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"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":[],"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":"openTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueEth","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
6080604052600f600455600360055560026006556003600755600460085560046009556006600a555f600b555f600c555f600d556009600a610041919061055c565b6207a12061004f91906105a6565b600e5573e1d94f2f2630293fcdc4ccea0467c8455dc01b70600f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f601160146101000a81548160ff0219169083151502179055503480156100cb575f5ffd5b506100da6103bd60201b60201c565b5f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36009600a6101a0919061055c565b630112a8806101af91906105a6565b60015f6101c06103bd60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f6102106103c460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506103386103bd60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a610394919061055c565b630112a8806103a391906105a6565b6040516103b091906105f6565b60405180910390a361060f565b5f33905090565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b600185111561046d57808604811115610449576104486103eb565b5b60018516156104585780820291505b808102905061046685610418565b945061042d565b94509492505050565b5f826104855760019050610540565b81610492575f9050610540565b81600181146104a857600281146104b2576104e1565b6001915050610540565b60ff8411156104c4576104c36103eb565b5b8360020a9150848211156104db576104da6103eb565b5b50610540565b5060208310610133831016604e8410600b84101617156105165782820a905083811115610511576105106103eb565b5b610540565b6105238484846001610424565b9250905081840481111561053a576105396103eb565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f61056682610547565b915061057183610550565b925061059e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484610476565b905092915050565b5f6105b082610547565b91506105bb83610547565b92508282026105c981610547565b915082820484148315176105e0576105df6103eb565b5b5092915050565b6105f081610547565b82525050565b5f6020820190506106095f8301846105e7565b92915050565b6124518061061c5f395ff3fe6080604052600436106100eb575f3560e01c8063715018a611610089578063b4a99a4e11610058578063b4a99a4e146102f8578063ce31a06b14610322578063dd62ed3e14610338578063fb201b1d14610374576100f2565b8063715018a61461025257806382247ec01461026857806395d89b4114610292578063a9059cbb146102bc576100f2565b806323b872dd116100c557806323b872dd14610186578063313ce567146101c25780636f268a99146101ec57806370a0823114610216576100f2565b806306fdde03146100f6578063095ea7b31461012057806318160ddd1461015c576100f2565b366100f257005b5f5ffd5b348015610101575f5ffd5b5061010a61038a565b60405161011791906119d0565b60405180910390f35b34801561012b575f5ffd5b5061014660048036038101906101419190611a81565b6103c7565b6040516101539190611ad9565b60405180910390f35b348015610167575f5ffd5b506101706103e4565b60405161017d9190611b01565b60405180910390f35b348015610191575f5ffd5b506101ac60048036038101906101a79190611b1a565b610407565b6040516101b99190611ad9565b60405180910390f35b3480156101cd575f5ffd5b506101d661057c565b6040516101e39190611b85565b60405180910390f35b3480156101f7575f5ffd5b50610200610584565b60405161020d9190611bbe565b60405180910390f35b348015610221575f5ffd5b5061023c60048036038101906102379190611bd7565b6105a9565b6040516102499190611b01565b60405180910390f35b34801561025d575f5ffd5b506102666105ef565b005b348015610273575f5ffd5b5061027c61073f565b6040516102899190611b01565b60405180910390f35b34801561029d575f5ffd5b506102a6610745565b6040516102b391906119d0565b60405180910390f35b3480156102c7575f5ffd5b506102e260048036038101906102dd9190611a81565b610782565b6040516102ef9190611ad9565b60405180910390f35b348015610303575f5ffd5b5061030c61080b565b6040516103199190611c11565b60405180910390f35b34801561032d575f5ffd5b50610336610832565b005b348015610343575f5ffd5b5061035e60048036038101906103599190611c2a565b610969565b60405161036b9190611b01565b60405180910390f35b34801561037f575f5ffd5b506103886109eb565b005b60606040518060400160405280600881526020017f4f737369616e4149000000000000000000000000000000000000000000000000815250905090565b5f6103da6103d3610caa565b8484610cb1565b6001905092915050565b5f6009600a6103f39190611dc4565b630112a8806104029190611e0e565b905090565b5f8160025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61044f610caa565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410156104ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104c190611e99565b60405180910390fd5b6104d5848484610e74565b610571846104e1610caa565b8460025f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610528610caa565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461056c9190611eb7565b610cb1565b600190509392505050565b5f6009905090565b600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6105f7610caa565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610684576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067b90611f34565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f5f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600e5481565b60606040518060400160405280600681526020017f4f535349414e0000000000000000000000000000000000000000000000000000815250905090565b5f61079561078e610caa565b8484610e74565b8273ffffffffffffffffffffffffffffffffffffffff166107b4610caa565b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516107f99190611b01565b60405180910390a36001905092915050565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61083a610caa565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108be90611f34565b60405180910390fd5b5f4790505f8114610966575f600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168260405161091890611f7f565b5f6040518083038185875af1925050503d805f8114610952576040519150601f19603f3d011682016040523d82523d5f602084013e610957565b606091505b5050905080610964575f5ffd5b505b50565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6109f3610caa565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7790611f34565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60105f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b3e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b629190611fa7565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610be8573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c0c9190611fa7565b6040518363ffffffff1660e01b8152600401610c29929190611fd2565b6020604051808303815f875af1158015610c45573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c699190611fa7565b60115f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1690612043565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d84906120ab565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610e679190611b01565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ee2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed990612043565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f47906120ab565b60405180910390fd5b5f8103610f92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8990612113565b60405180910390fd5b5f5f905060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611034575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156113465760115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156110e2575060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561118757600e54826110f4856105a9565b6110fe9190612131565b111561113f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611136906121ae565b60405180910390fd5b6064600854600b541161115457600454611158565b6006545b836111639190611e0e565b61116d91906121f9565b9050600b5f81548092919061118190612229565b91905055505b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361120c576064600954600b54116111f0576005546111f4565b6007545b836111ff9190611e0e565b61120991906121f9565b90505b5f611216306105a9565b9050601160149054906101000a900460ff16158015611281575060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156112a657506009600a6112969190611dc4565b619c406112a39190611e0e565b81115b80156112b55750600a54600b54115b1561134457600d544311156112cc575f600c819055505b6003600c54106112da575f5ffd5b61130f61130a84611305846009600a6112f39190611dc4565b61fde86113009190611e0e565b6115d2565b6115d2565b6115ea565b5f4790505f8114611324576113234761185e565b5b600c5f81548092919061133690612229565b919050555043600d81905550505b505b5f811461143d578060015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546113969190612131565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516114349190611b01565b60405180910390a35b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546114869190611eb7565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555080826114d39190611eb7565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461151b9190612131565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83856115b79190611eb7565b6040516115c49190611b01565b60405180910390a350505050565b5f8183116115e057826115e2565b815b905092915050565b6001601160146101000a81548160ff0219169083151502179055505f810315611841575f600267ffffffffffffffff81111561162957611628612270565b5b6040519080825280602002602001820160405280156116575781602001602082028036833780820191505090505b50905030815f8151811061166e5761166d61229d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611712573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117369190611fa7565b8160018151811061174a5761174961229d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506117b03060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610cb1565b60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016118129594939291906123c3565b5f604051808303815f87803b158015611829575f5ffd5b505af115801561183b573d5f5f3e3d5ffd5b50505050505b5f601160146101000a81548160ff02191690831515021790555050565b5f600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826040516118a490611f7f565b5f6040518083038185875af1925050503d805f81146118de576040519150601f19603f3d011682016040523d82523d5f602084013e6118e3565b606091505b505090508061195c57600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f0759dac7fa668d044a7de2b7fd31ccc6f577fdf83cd0441d6ebaba277754db57836040516119539190611b01565b60405180910390a25b5050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6119a282611960565b6119ac818561196a565b93506119bc81856020860161197a565b6119c581611988565b840191505092915050565b5f6020820190508181035f8301526119e88184611998565b905092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611a1d826119f4565b9050919050565b611a2d81611a13565b8114611a37575f5ffd5b50565b5f81359050611a4881611a24565b92915050565b5f819050919050565b611a6081611a4e565b8114611a6a575f5ffd5b50565b5f81359050611a7b81611a57565b92915050565b5f5f60408385031215611a9757611a966119f0565b5b5f611aa485828601611a3a565b9250506020611ab585828601611a6d565b9150509250929050565b5f8115159050919050565b611ad381611abf565b82525050565b5f602082019050611aec5f830184611aca565b92915050565b611afb81611a4e565b82525050565b5f602082019050611b145f830184611af2565b92915050565b5f5f5f60608486031215611b3157611b306119f0565b5b5f611b3e86828701611a3a565b9350506020611b4f86828701611a3a565b9250506040611b6086828701611a6d565b9150509250925092565b5f60ff82169050919050565b611b7f81611b6a565b82525050565b5f602082019050611b985f830184611b76565b92915050565b5f611ba8826119f4565b9050919050565b611bb881611b9e565b82525050565b5f602082019050611bd15f830184611baf565b92915050565b5f60208284031215611bec57611beb6119f0565b5b5f611bf984828501611a3a565b91505092915050565b611c0b81611a13565b82525050565b5f602082019050611c245f830184611c02565b92915050565b5f5f60408385031215611c4057611c3f6119f0565b5b5f611c4d85828601611a3a565b9250506020611c5e85828601611a3a565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b6001851115611cea57808604811115611cc657611cc5611c68565b5b6001851615611cd55780820291505b8081029050611ce385611c95565b9450611caa565b94509492505050565b5f82611d025760019050611dbd565b81611d0f575f9050611dbd565b8160018114611d255760028114611d2f57611d5e565b6001915050611dbd565b60ff841115611d4157611d40611c68565b5b8360020a915084821115611d5857611d57611c68565b5b50611dbd565b5060208310610133831016604e8410600b8410161715611d935782820a905083811115611d8e57611d8d611c68565b5b611dbd565b611da08484846001611ca1565b92509050818404811115611db757611db6611c68565b5b81810290505b9392505050565b5f611dce82611a4e565b9150611dd983611b6a565b9250611e067fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611cf3565b905092915050565b5f611e1882611a4e565b9150611e2383611a4e565b9250828202611e3181611a4e565b91508282048414831517611e4857611e47611c68565b5b5092915050565b7f4578636565647320616c6c6f77616e63650000000000000000000000000000005f82015250565b5f611e8360118361196a565b9150611e8e82611e4f565b602082019050919050565b5f6020820190508181035f830152611eb081611e77565b9050919050565b5f611ec182611a4e565b9150611ecc83611a4e565b9250828203905081811115611ee457611ee3611c68565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611f1e60208361196a565b9150611f2982611eea565b602082019050919050565b5f6020820190508181035f830152611f4b81611f12565b9050919050565b5f81905092915050565b50565b5f611f6a5f83611f52565b9150611f7582611f5c565b5f82019050919050565b5f611f8982611f5f565b9150819050919050565b5f81519050611fa181611a24565b92915050565b5f60208284031215611fbc57611fbb6119f0565b5b5f611fc984828501611f93565b91505092915050565b5f604082019050611fe55f830185611c02565b611ff26020830184611c02565b9392505050565b7f46726f6d207a65726f20616464726573730000000000000000000000000000005f82015250565b5f61202d60118361196a565b915061203882611ff9565b602082019050919050565b5f6020820190508181035f83015261205a81612021565b9050919050565b7f546f207a65726f206164647265737300000000000000000000000000000000005f82015250565b5f612095600f8361196a565b91506120a082612061565b602082019050919050565b5f6020820190508181035f8301526120c281612089565b9050919050565b7f4d757374206265203e207468616e207a65726f000000000000000000000000005f82015250565b5f6120fd60138361196a565b9150612108826120c9565b602082019050919050565b5f6020820190508181035f83015261212a816120f1565b9050919050565b5f61213b82611a4e565b915061214683611a4e565b925082820190508082111561215e5761215d611c68565b5b92915050565b7f45786365656473206d617877616c6c65742073697a65000000000000000000005f82015250565b5f61219860168361196a565b91506121a382612164565b602082019050919050565b5f6020820190508181035f8301526121c58161218c565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61220382611a4e565b915061220e83611a4e565b92508261221e5761221d6121cc565b5b828204905092915050565b5f61223382611a4e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361226557612264611c68565b5b600182019050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050919050565b5f819050919050565b5f6122f66122f16122ec846122ca565b6122d3565b611a4e565b9050919050565b612306816122dc565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61233e81611a13565b82525050565b5f61234f8383612335565b60208301905092915050565b5f602082019050919050565b5f6123718261230c565b61237b8185612316565b935061238683612326565b805f5b838110156123b657815161239d8882612344565b97506123a88361235b565b925050600181019050612389565b5085935050505092915050565b5f60a0820190506123d65f830188611af2565b6123e360208301876122fd565b81810360408301526123f58186612367565b90506124046060830185611c02565b6124116080830184611af2565b969550505050505056fea264697066735822122071ebf978bf49be211bcada2fc18c849696bbdbd4babb07a733b3222a64a5404264736f6c634300081e0033
Deployed Bytecode
0x6080604052600436106100eb575f3560e01c8063715018a611610089578063b4a99a4e11610058578063b4a99a4e146102f8578063ce31a06b14610322578063dd62ed3e14610338578063fb201b1d14610374576100f2565b8063715018a61461025257806382247ec01461026857806395d89b4114610292578063a9059cbb146102bc576100f2565b806323b872dd116100c557806323b872dd14610186578063313ce567146101c25780636f268a99146101ec57806370a0823114610216576100f2565b806306fdde03146100f6578063095ea7b31461012057806318160ddd1461015c576100f2565b366100f257005b5f5ffd5b348015610101575f5ffd5b5061010a61038a565b60405161011791906119d0565b60405180910390f35b34801561012b575f5ffd5b5061014660048036038101906101419190611a81565b6103c7565b6040516101539190611ad9565b60405180910390f35b348015610167575f5ffd5b506101706103e4565b60405161017d9190611b01565b60405180910390f35b348015610191575f5ffd5b506101ac60048036038101906101a79190611b1a565b610407565b6040516101b99190611ad9565b60405180910390f35b3480156101cd575f5ffd5b506101d661057c565b6040516101e39190611b85565b60405180910390f35b3480156101f7575f5ffd5b50610200610584565b60405161020d9190611bbe565b60405180910390f35b348015610221575f5ffd5b5061023c60048036038101906102379190611bd7565b6105a9565b6040516102499190611b01565b60405180910390f35b34801561025d575f5ffd5b506102666105ef565b005b348015610273575f5ffd5b5061027c61073f565b6040516102899190611b01565b60405180910390f35b34801561029d575f5ffd5b506102a6610745565b6040516102b391906119d0565b60405180910390f35b3480156102c7575f5ffd5b506102e260048036038101906102dd9190611a81565b610782565b6040516102ef9190611ad9565b60405180910390f35b348015610303575f5ffd5b5061030c61080b565b6040516103199190611c11565b60405180910390f35b34801561032d575f5ffd5b50610336610832565b005b348015610343575f5ffd5b5061035e60048036038101906103599190611c2a565b610969565b60405161036b9190611b01565b60405180910390f35b34801561037f575f5ffd5b506103886109eb565b005b60606040518060400160405280600881526020017f4f737369616e4149000000000000000000000000000000000000000000000000815250905090565b5f6103da6103d3610caa565b8484610cb1565b6001905092915050565b5f6009600a6103f39190611dc4565b630112a8806104029190611e0e565b905090565b5f8160025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61044f610caa565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410156104ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104c190611e99565b60405180910390fd5b6104d5848484610e74565b610571846104e1610caa565b8460025f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610528610caa565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461056c9190611eb7565b610cb1565b600190509392505050565b5f6009905090565b600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6105f7610caa565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610684576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067b90611f34565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f5f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600e5481565b60606040518060400160405280600681526020017f4f535349414e0000000000000000000000000000000000000000000000000000815250905090565b5f61079561078e610caa565b8484610e74565b8273ffffffffffffffffffffffffffffffffffffffff166107b4610caa565b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516107f99190611b01565b60405180910390a36001905092915050565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61083a610caa565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108be90611f34565b60405180910390fd5b5f4790505f8114610966575f600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168260405161091890611f7f565b5f6040518083038185875af1925050503d805f8114610952576040519150601f19603f3d011682016040523d82523d5f602084013e610957565b606091505b5050905080610964575f5ffd5b505b50565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6109f3610caa565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7790611f34565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60105f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b3e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b629190611fa7565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610be8573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c0c9190611fa7565b6040518363ffffffff1660e01b8152600401610c29929190611fd2565b6020604051808303815f875af1158015610c45573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c699190611fa7565b60115f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1690612043565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d84906120ab565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610e679190611b01565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ee2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed990612043565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f47906120ab565b60405180910390fd5b5f8103610f92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8990612113565b60405180910390fd5b5f5f905060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611034575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156113465760115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156110e2575060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561118757600e54826110f4856105a9565b6110fe9190612131565b111561113f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611136906121ae565b60405180910390fd5b6064600854600b541161115457600454611158565b6006545b836111639190611e0e565b61116d91906121f9565b9050600b5f81548092919061118190612229565b91905055505b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361120c576064600954600b54116111f0576005546111f4565b6007545b836111ff9190611e0e565b61120991906121f9565b90505b5f611216306105a9565b9050601160149054906101000a900460ff16158015611281575060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156112a657506009600a6112969190611dc4565b619c406112a39190611e0e565b81115b80156112b55750600a54600b54115b1561134457600d544311156112cc575f600c819055505b6003600c54106112da575f5ffd5b61130f61130a84611305846009600a6112f39190611dc4565b61fde86113009190611e0e565b6115d2565b6115d2565b6115ea565b5f4790505f8114611324576113234761185e565b5b600c5f81548092919061133690612229565b919050555043600d81905550505b505b5f811461143d578060015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546113969190612131565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516114349190611b01565b60405180910390a35b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546114869190611eb7565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555080826114d39190611eb7565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461151b9190612131565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83856115b79190611eb7565b6040516115c49190611b01565b60405180910390a350505050565b5f8183116115e057826115e2565b815b905092915050565b6001601160146101000a81548160ff0219169083151502179055505f810315611841575f600267ffffffffffffffff81111561162957611628612270565b5b6040519080825280602002602001820160405280156116575781602001602082028036833780820191505090505b50905030815f8151811061166e5761166d61229d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611712573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117369190611fa7565b8160018151811061174a5761174961229d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506117b03060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610cb1565b60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016118129594939291906123c3565b5f604051808303815f87803b158015611829575f5ffd5b505af115801561183b573d5f5f3e3d5ffd5b50505050505b5f601160146101000a81548160ff02191690831515021790555050565b5f600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826040516118a490611f7f565b5f6040518083038185875af1925050503d805f81146118de576040519150601f19603f3d011682016040523d82523d5f602084013e6118e3565b606091505b505090508061195c57600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f0759dac7fa668d044a7de2b7fd31ccc6f577fdf83cd0441d6ebaba277754db57836040516119539190611b01565b60405180910390a25b5050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6119a282611960565b6119ac818561196a565b93506119bc81856020860161197a565b6119c581611988565b840191505092915050565b5f6020820190508181035f8301526119e88184611998565b905092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611a1d826119f4565b9050919050565b611a2d81611a13565b8114611a37575f5ffd5b50565b5f81359050611a4881611a24565b92915050565b5f819050919050565b611a6081611a4e565b8114611a6a575f5ffd5b50565b5f81359050611a7b81611a57565b92915050565b5f5f60408385031215611a9757611a966119f0565b5b5f611aa485828601611a3a565b9250506020611ab585828601611a6d565b9150509250929050565b5f8115159050919050565b611ad381611abf565b82525050565b5f602082019050611aec5f830184611aca565b92915050565b611afb81611a4e565b82525050565b5f602082019050611b145f830184611af2565b92915050565b5f5f5f60608486031215611b3157611b306119f0565b5b5f611b3e86828701611a3a565b9350506020611b4f86828701611a3a565b9250506040611b6086828701611a6d565b9150509250925092565b5f60ff82169050919050565b611b7f81611b6a565b82525050565b5f602082019050611b985f830184611b76565b92915050565b5f611ba8826119f4565b9050919050565b611bb881611b9e565b82525050565b5f602082019050611bd15f830184611baf565b92915050565b5f60208284031215611bec57611beb6119f0565b5b5f611bf984828501611a3a565b91505092915050565b611c0b81611a13565b82525050565b5f602082019050611c245f830184611c02565b92915050565b5f5f60408385031215611c4057611c3f6119f0565b5b5f611c4d85828601611a3a565b9250506020611c5e85828601611a3a565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b6001851115611cea57808604811115611cc657611cc5611c68565b5b6001851615611cd55780820291505b8081029050611ce385611c95565b9450611caa565b94509492505050565b5f82611d025760019050611dbd565b81611d0f575f9050611dbd565b8160018114611d255760028114611d2f57611d5e565b6001915050611dbd565b60ff841115611d4157611d40611c68565b5b8360020a915084821115611d5857611d57611c68565b5b50611dbd565b5060208310610133831016604e8410600b8410161715611d935782820a905083811115611d8e57611d8d611c68565b5b611dbd565b611da08484846001611ca1565b92509050818404811115611db757611db6611c68565b5b81810290505b9392505050565b5f611dce82611a4e565b9150611dd983611b6a565b9250611e067fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611cf3565b905092915050565b5f611e1882611a4e565b9150611e2383611a4e565b9250828202611e3181611a4e565b91508282048414831517611e4857611e47611c68565b5b5092915050565b7f4578636565647320616c6c6f77616e63650000000000000000000000000000005f82015250565b5f611e8360118361196a565b9150611e8e82611e4f565b602082019050919050565b5f6020820190508181035f830152611eb081611e77565b9050919050565b5f611ec182611a4e565b9150611ecc83611a4e565b9250828203905081811115611ee457611ee3611c68565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611f1e60208361196a565b9150611f2982611eea565b602082019050919050565b5f6020820190508181035f830152611f4b81611f12565b9050919050565b5f81905092915050565b50565b5f611f6a5f83611f52565b9150611f7582611f5c565b5f82019050919050565b5f611f8982611f5f565b9150819050919050565b5f81519050611fa181611a24565b92915050565b5f60208284031215611fbc57611fbb6119f0565b5b5f611fc984828501611f93565b91505092915050565b5f604082019050611fe55f830185611c02565b611ff26020830184611c02565b9392505050565b7f46726f6d207a65726f20616464726573730000000000000000000000000000005f82015250565b5f61202d60118361196a565b915061203882611ff9565b602082019050919050565b5f6020820190508181035f83015261205a81612021565b9050919050565b7f546f207a65726f206164647265737300000000000000000000000000000000005f82015250565b5f612095600f8361196a565b91506120a082612061565b602082019050919050565b5f6020820190508181035f8301526120c281612089565b9050919050565b7f4d757374206265203e207468616e207a65726f000000000000000000000000005f82015250565b5f6120fd60138361196a565b9150612108826120c9565b602082019050919050565b5f6020820190508181035f83015261212a816120f1565b9050919050565b5f61213b82611a4e565b915061214683611a4e565b925082820190508082111561215e5761215d611c68565b5b92915050565b7f45786365656473206d617877616c6c65742073697a65000000000000000000005f82015250565b5f61219860168361196a565b91506121a382612164565b602082019050919050565b5f6020820190508181035f8301526121c58161218c565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61220382611a4e565b915061220e83611a4e565b92508261221e5761221d6121cc565b5b828204905092915050565b5f61223382611a4e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361226557612264611c68565b5b600182019050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050919050565b5f819050919050565b5f6122f66122f16122ec846122ca565b6122d3565b611a4e565b9050919050565b612306816122dc565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61233e81611a13565b82525050565b5f61234f8383612335565b60208301905092915050565b5f602082019050919050565b5f6123718261230c565b61237b8185612316565b935061238683612326565b805f5b838110156123b657815161239d8882612344565b97506123a88361235b565b925050600181019050612389565b5085935050505092915050565b5f60a0820190506123d65f830188611af2565b6123e360208301876122fd565b81810360408301526123f58186612367565b90506124046060830185611c02565b6124116080830184611af2565b969550505050505056fea264697066735822122071ebf978bf49be211bcada2fc18c849696bbdbd4babb07a733b3222a64a5404264736f6c634300081e0033
Deployed Bytecode Sourcemap
2387:6827:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4173:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5057:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4444:97;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5226:352;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4355:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3438:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4547:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1387:148;;;;;;;;;;;;;:::i;:::-;;3250:50;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4262:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4674:224;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1169:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8962:247;;;;;;;;;;;;;:::i;:::-;;4906:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8442:267;;;;;;;;;;;;;:::i;:::-;;4173:83;4210:13;4243:5;;;;;;;;;;;;;;;;;4236:12;;4173:83;:::o;5057:161::-;5132:4;5149:39;5158:12;:10;:12::i;:::-;5172:7;5181:6;5149:8;:39::i;:::-;5206:4;5199:11;;5057:161;;;;:::o;4444:97::-;4497:7;3059:1;3115:2;:13;;;;:::i;:::-;3104:8;:24;;;;:::i;:::-;4517:16;;4444:97;:::o;5226:352::-;5324:4;5387:6;5350:11;:19;5362:6;5350:19;;;;;;;;;;;;;;;:33;5370:12;:10;:12::i;:::-;5350:33;;;;;;;;;;;;;;;;:43;;5341:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;5427:36;5437:6;5445:9;5456:6;5427:9;:36::i;:::-;5474:74;5483:6;5491:12;:10;:12::i;:::-;5540:6;5506:11;:19;5518:6;5506:19;;;;;;;;;;;;;;;:33;5526:12;:10;:12::i;:::-;5506:33;;;;;;;;;;;;;;;;:40;;;;:::i;:::-;5474:8;:74::i;:::-;5566:4;5559:11;;5226:352;;;;;:::o;4355:83::-;4396:5;3059:1;4414:16;;4355:83;:::o;3438:87::-;;;;;;;;;;;;;:::o;4547:119::-;4613:7;4640:9;:18;4650:7;4640:18;;;;;;;;;;;;;;;;4633:25;;4547:119;;;:::o;1387:148::-;1312:12;:10;:12::i;:::-;1302:22;;:6;;;;;;;;;;;:22;;;1294:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1494:1:::1;1457:40;;1478:6;;;;;;;;;;;1457:40;;;;;;;;;;;;1525:1;1508:6;;:19;;;;;;;;;;;;;;;;;;1387:148::o:0;3250:50::-;;;;:::o;4262:87::-;4301:13;4334:7;;;;;;;;;;;;;;;;;4327:14;;4262:87;:::o;4674:224::-;4752:4;4769:42;4779:12;:10;:12::i;:::-;4793:9;4804:6;4769:9;:42::i;:::-;4850:9;4827:41;;4836:12;:10;:12::i;:::-;4827:41;;;4861:6;4827:41;;;;;;:::i;:::-;;;;;;;;4886:4;4879:11;;4674:224;;;;:::o;1169:87::-;1215:7;1242:6;;;;;;;;;;;1235:13;;1169:87;:::o;8962:247::-;1312:12;:10;:12::i;:::-;1302:22;;:6;;;;;;;;;;;:22;;;1294:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9014:19:::1;9036:21;9014:43;;9084:1;9071:11;:14;9068:134;;9098:12;9123:10;;;;;;;;;;;9115:24;;9147:11;9115:48;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9097:66;;;9182:7;9174:16;;;;;;9086:116;9068:134;9003:206;8962:247::o:0;4906:143::-;4987:7;5014:11;:18;5026:5;5014:18;;;;;;;;;;;;;;;:27;5033:7;5014:27;;;;;;;;;;;;;;;;5007:34;;4906:143;;;;:::o;8442:267::-;1312:12;:10;:12::i;:::-;1302:22;;:6;;;;;;;;;;;:22;;;1294:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8530:42:::1;8493:15;;:80;;;;;;;;;;;;;;;;;;8625:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8607:55;;;8671:4;8678:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8607:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8591:13;;:110;;;;;;;;;;;;;;;;;;8442:267::o:0;97:98::-;150:7;177:10;170:17;;97:98;:::o;5586:297::-;5696:1;5679:19;;:5;:19;;;5671:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;5758:1;5739:21;;:7;:21;;;5731:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;5821:6;5791:11;:18;5803:5;5791:18;;;;;;;;;;;;;;;:27;5810:7;5791:27;;;;;;;;;;;;;;;:36;;;;5859:7;5843:32;;5852:5;5843:32;;;5868:6;5843:32;;;;;;:::i;:::-;;;;;;;;5586:297;;;:::o;5891:1914::-;5995:1;5979:18;;:4;:18;;;5971:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;6052:1;6038:16;;:2;:16;;;6030:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;6102:1;6093:6;:10;6085:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;6138:17;6156:1;6138:19;;6183:18;:24;6202:4;6183:24;;;;;;;;;;;;;;;;;;;;;;;;;6182:25;:52;;;;;6212:18;:22;6231:2;6212:22;;;;;;;;;;;;;;;;;;;;;;;;;6211:23;6182:52;6178:1267;;;6299:13;;;;;;;;;;;6291:21;;:4;:21;;;:55;;;;;6330:15;;;;;;;;;;;6316:30;;:2;:30;;;;6291:55;6287:296;;;6401:10;;6391:6;6375:13;6385:2;6375:9;:13::i;:::-;:22;;;;:::i;:::-;:36;;6367:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;6535:3;6488:15;;6479:8;;:24;6478:54;;6518:14;;6478:54;;;6505:12;;6478:54;6470:6;:63;;;;:::i;:::-;6469:69;;;;:::i;:::-;6457:81;;6557:8;;:10;;;;;;;;;:::i;:::-;;;;;;6287:296;6606:13;;;;;;;;;;;6600:19;;:2;:19;;;6597:142;;6720:3;6670:16;;6661:8;;:25;6660:57;;6702:15;;6660:57;;;6688:13;;6660:57;6652:6;:66;;;;:::i;:::-;6651:72;;;;:::i;:::-;6639:84;;6597:142;6753:20;6776:24;6794:4;6776:9;:24::i;:::-;6753:47;;6832:6;;;;;;;;;;;6831:7;:30;;;;;6848:13;;;;;;;;;;;6842:19;;:2;:19;;;6831:30;:55;;;;;3059:1;3418:2;:13;;;;:::i;:::-;3410:5;:21;;;;:::i;:::-;6865:12;:21;6831:55;:88;;;;;6901:18;;6890:8;;:29;6831:88;6827:607;;;6959:13;;6944:12;:28;6940:90;;;7009:1;6997:9;:13;;;;6940:90;7068:1;7056:9;;:13;7048:22;;;;;;7089:59;7106:41;7110:6;7117:29;7121:12;3059:1;3354:2;:13;;;;:::i;:::-;3346:5;:21;;;;:::i;:::-;7117:3;:29::i;:::-;7106:3;:41::i;:::-;7089:16;:59::i;:::-;7168:26;7197:21;7168:50;;7261:1;7240:18;:22;7237:105;;7287:35;7300:21;7287:12;:35::i;:::-;7237:105;7360:9;;:11;;;;;;;;;:::i;:::-;;;;;;7406:12;7390:13;:28;;;;6921:513;6827:607;6236:1209;6178:1267;7472:1;7460:9;:13;7457:162;;7540:9;7513;:24;7531:4;7513:24;;;;;;;;;;;;;;;;:36;;;;:::i;:::-;7487:9;:24;7505:4;7487:24;;;;;;;;;;;;;;;:62;;;;7590:4;7567:40;;7576:4;7567:40;;;7597:9;7567:40;;;;;;:::i;:::-;;;;;;;;7457:162;7676:6;7658:9;:15;7668:4;7658:15;;;;;;;;;;;;;;;;:24;;;;:::i;:::-;7640:9;:15;7650:4;7640:15;;;;;;;;;;;;;;;:42;;;;7733:9;7726:6;:16;;;;:::i;:::-;7709:9;:13;7719:2;7709:13;;;;;;;;;;;;;;;;:34;;;;:::i;:::-;7693:9;:13;7703:2;7693:13;;;;;;;;;;;;;;;:50;;;;7774:2;7759:38;;7768:4;7759:38;;;7786:9;7779:6;:16;;;;:::i;:::-;7759:38;;;;;;:::i;:::-;;;;;;;;5960:1845;5891:1914;;;:::o;7814:98::-;7871:7;7898:1;7896;:3;7895:9;;7903:1;7895:9;;;7901:1;7895:9;7888:16;;7814:98;;;;:::o;7920:510::-;3793:4;3784:6;;:13;;;;;;;;;;;;;;;;;;8014:1:::1;8001:11;:14:::0;7998:27;8017:7:::1;7998:27;8035:21;8073:1;8059:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8035:40;;8104:4;8086;8091:1;8086:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;8130:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8120:4;8125:1;8120:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;8163:62;8180:4;8195:15;;;;;;;;;;;8213:11;8163:8;:62::i;:::-;8236:15;;;;;;;;;;;:66;;;8317:11;8343:1;8359:4;8386;8406:15;8236:186;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7987:443;3808:1;3829:5:::0;3820:6;;:14;;;;;;;;;;;;;;;;;;7920:510;:::o;8717:237::-;8775:16;8805:10;;;;;;;;;;;8797:24;;8829:6;8797:43;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8774:66;;;8860:11;8855:92;;8916:10;;;;;;;;;;;8893:42;;;8928:6;8893:42;;;;;;:::i;:::-;;;;;;;;8855:92;8763:191;8717:237;:::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:104::-;4791:7;4820:24;4838:5;4820:24;:::i;:::-;4809:35;;4746:104;;;:::o;4856:142::-;4959:32;4985:5;4959:32;:::i;:::-;4954:3;4947:45;4856:142;;:::o;5004:254::-;5113:4;5151:2;5140:9;5136:18;5128:26;;5164:87;5248:1;5237:9;5233:17;5224:6;5164:87;:::i;:::-;5004:254;;;;:::o;5264:329::-;5323:6;5372:2;5360:9;5351:7;5347:23;5343:32;5340:119;;;5378:79;;:::i;:::-;5340:119;5498:1;5523:53;5568:7;5559:6;5548:9;5544:22;5523:53;:::i;:::-;5513:63;;5469:117;5264:329;;;;:::o;5599:118::-;5686:24;5704:5;5686:24;:::i;:::-;5681:3;5674:37;5599:118;;:::o;5723:222::-;5816:4;5854:2;5843:9;5839:18;5831:26;;5867:71;5935:1;5924:9;5920:17;5911:6;5867:71;:::i;:::-;5723:222;;;;:::o;5951:474::-;6019:6;6027;6076:2;6064:9;6055:7;6051:23;6047:32;6044:119;;;6082:79;;:::i;:::-;6044:119;6202:1;6227:53;6272:7;6263:6;6252:9;6248:22;6227:53;:::i;:::-;6217:63;;6173:117;6329:2;6355:53;6400:7;6391:6;6380:9;6376:22;6355:53;:::i;:::-;6345:63;;6300:118;5951:474;;;;;:::o;6431:180::-;6479:77;6476:1;6469:88;6576:4;6573:1;6566:15;6600:4;6597:1;6590:15;6617:102;6659:8;6706:5;6703:1;6699:13;6678:34;;6617:102;;;:::o;6725:848::-;6786:5;6793:4;6817:6;6808:15;;6841:5;6832:14;;6855:712;6876:1;6866:8;6863:15;6855:712;;;6971:4;6966:3;6962:14;6956:4;6953:24;6950:50;;;6980:18;;:::i;:::-;6950:50;7030:1;7020:8;7016:16;7013:451;;;7445:4;7438:5;7434:16;7425:25;;7013:451;7495:4;7489;7485:15;7477:23;;7525:32;7548:8;7525:32;:::i;:::-;7513:44;;6855:712;;;6725:848;;;;;;;:::o;7579:1073::-;7633:5;7824:8;7814:40;;7845:1;7836:10;;7847:5;;7814:40;7873:4;7863:36;;7890:1;7881:10;;7892:5;;7863:36;7959:4;8007:1;8002:27;;;;8043:1;8038:191;;;;7952:277;;8002:27;8020:1;8011:10;;8022:5;;;8038:191;8083:3;8073:8;8070:17;8067:43;;;8090:18;;:::i;:::-;8067:43;8139:8;8136:1;8132:16;8123:25;;8174:3;8167:5;8164:14;8161:40;;;8181:18;;:::i;:::-;8161:40;8214:5;;;7952:277;;8338:2;8328:8;8325:16;8319:3;8313:4;8310:13;8306:36;8288:2;8278:8;8275:16;8270:2;8264:4;8261:12;8257:35;8241:111;8238:246;;;8394:8;8388:4;8384:19;8375:28;;8429:3;8422:5;8419:14;8416:40;;;8436:18;;:::i;:::-;8416:40;8469:5;;8238:246;8509:42;8547:3;8537:8;8531:4;8528:1;8509:42;:::i;:::-;8494:57;;;;8583:4;8578:3;8574:14;8567:5;8564:25;8561:51;;;8592:18;;:::i;:::-;8561:51;8641:4;8634:5;8630:16;8621:25;;7579:1073;;;;;;:::o;8658:281::-;8716:5;8740:23;8758:4;8740:23;:::i;:::-;8732:31;;8784:25;8800:8;8784:25;:::i;:::-;8772:37;;8828:104;8865:66;8855:8;8849:4;8828:104;:::i;:::-;8819:113;;8658:281;;;;:::o;8945:410::-;8985:7;9008:20;9026:1;9008:20;:::i;:::-;9003:25;;9042:20;9060:1;9042:20;:::i;:::-;9037:25;;9097:1;9094;9090:9;9119:30;9137:11;9119:30;:::i;:::-;9108:41;;9298:1;9289:7;9285:15;9282:1;9279:22;9259:1;9252:9;9232:83;9209:139;;9328:18;;:::i;:::-;9209:139;8993:362;8945:410;;;;:::o;9361:167::-;9501:19;9497:1;9489:6;9485:14;9478:43;9361:167;:::o;9534:366::-;9676:3;9697:67;9761:2;9756:3;9697:67;:::i;:::-;9690:74;;9773:93;9862:3;9773:93;:::i;:::-;9891:2;9886:3;9882:12;9875:19;;9534:366;;;:::o;9906:419::-;10072:4;10110:2;10099:9;10095:18;10087:26;;10159:9;10153:4;10149:20;10145:1;10134:9;10130:17;10123:47;10187:131;10313:4;10187:131;:::i;:::-;10179:139;;9906:419;;;:::o;10331:194::-;10371:4;10391:20;10409:1;10391:20;:::i;:::-;10386:25;;10425:20;10443:1;10425:20;:::i;:::-;10420:25;;10469:1;10466;10462:9;10454:17;;10493:1;10487:4;10484:11;10481:37;;;10498:18;;:::i;:::-;10481:37;10331:194;;;;:::o;10531:182::-;10671:34;10667:1;10659:6;10655:14;10648:58;10531:182;:::o;10719:366::-;10861:3;10882:67;10946:2;10941:3;10882:67;:::i;:::-;10875:74;;10958:93;11047:3;10958:93;:::i;:::-;11076:2;11071:3;11067:12;11060:19;;10719:366;;;:::o;11091:419::-;11257:4;11295:2;11284:9;11280:18;11272:26;;11344:9;11338:4;11334:20;11330:1;11319:9;11315:17;11308:47;11372:131;11498:4;11372:131;:::i;:::-;11364:139;;11091:419;;;:::o;11516:147::-;11617:11;11654:3;11639:18;;11516:147;;;;:::o;11669:114::-;;:::o;11789:398::-;11948:3;11969:83;12050:1;12045:3;11969:83;:::i;:::-;11962:90;;12061:93;12150:3;12061:93;:::i;:::-;12179:1;12174:3;12170:11;12163:18;;11789:398;;;:::o;12193:379::-;12377:3;12399:147;12542:3;12399:147;:::i;:::-;12392:154;;12563:3;12556:10;;12193:379;;;:::o;12578:143::-;12635:5;12666:6;12660:13;12651:22;;12682:33;12709:5;12682:33;:::i;:::-;12578:143;;;;:::o;12727:351::-;12797:6;12846:2;12834:9;12825:7;12821:23;12817:32;12814:119;;;12852:79;;:::i;:::-;12814:119;12972:1;12997:64;13053:7;13044:6;13033:9;13029:22;12997:64;:::i;:::-;12987:74;;12943:128;12727:351;;;;:::o;13084:332::-;13205:4;13243:2;13232:9;13228:18;13220:26;;13256:71;13324:1;13313:9;13309:17;13300:6;13256:71;:::i;:::-;13337:72;13405:2;13394:9;13390:18;13381:6;13337:72;:::i;:::-;13084:332;;;;;:::o;13422:167::-;13562:19;13558:1;13550:6;13546:14;13539:43;13422:167;:::o;13595:366::-;13737:3;13758:67;13822:2;13817:3;13758:67;:::i;:::-;13751:74;;13834:93;13923:3;13834:93;:::i;:::-;13952:2;13947:3;13943:12;13936:19;;13595:366;;;:::o;13967:419::-;14133:4;14171:2;14160:9;14156:18;14148:26;;14220:9;14214:4;14210:20;14206:1;14195:9;14191:17;14184:47;14248:131;14374:4;14248:131;:::i;:::-;14240:139;;13967:419;;;:::o;14392:165::-;14532:17;14528:1;14520:6;14516:14;14509:41;14392:165;:::o;14563:366::-;14705:3;14726:67;14790:2;14785:3;14726:67;:::i;:::-;14719:74;;14802:93;14891:3;14802:93;:::i;:::-;14920:2;14915:3;14911:12;14904:19;;14563:366;;;:::o;14935:419::-;15101:4;15139:2;15128:9;15124:18;15116:26;;15188:9;15182:4;15178:20;15174:1;15163:9;15159:17;15152:47;15216:131;15342:4;15216:131;:::i;:::-;15208:139;;14935:419;;;:::o;15360:169::-;15500:21;15496:1;15488:6;15484:14;15477:45;15360:169;:::o;15535:366::-;15677:3;15698:67;15762:2;15757:3;15698:67;:::i;:::-;15691:74;;15774:93;15863:3;15774:93;:::i;:::-;15892:2;15887:3;15883:12;15876:19;;15535:366;;;:::o;15907:419::-;16073:4;16111:2;16100:9;16096:18;16088:26;;16160:9;16154:4;16150:20;16146:1;16135:9;16131:17;16124:47;16188:131;16314:4;16188:131;:::i;:::-;16180:139;;15907:419;;;:::o;16332:191::-;16372:3;16391:20;16409:1;16391:20;:::i;:::-;16386:25;;16425:20;16443:1;16425:20;:::i;:::-;16420:25;;16468:1;16465;16461:9;16454:16;;16489:3;16486:1;16483:10;16480:36;;;16496:18;;:::i;:::-;16480:36;16332:191;;;;:::o;16529:172::-;16669:24;16665:1;16657:6;16653:14;16646:48;16529:172;:::o;16707:366::-;16849:3;16870:67;16934:2;16929:3;16870:67;:::i;:::-;16863:74;;16946:93;17035:3;16946:93;:::i;:::-;17064:2;17059:3;17055:12;17048:19;;16707:366;;;:::o;17079:419::-;17245:4;17283:2;17272:9;17268:18;17260:26;;17332:9;17326:4;17322:20;17318:1;17307:9;17303:17;17296:47;17360:131;17486:4;17360:131;:::i;:::-;17352:139;;17079:419;;;:::o;17504:180::-;17552:77;17549:1;17542:88;17649:4;17646:1;17639:15;17673:4;17670:1;17663:15;17690:185;17730:1;17747:20;17765:1;17747:20;:::i;:::-;17742:25;;17781:20;17799:1;17781:20;:::i;:::-;17776:25;;17820:1;17810:35;;17825:18;;:::i;:::-;17810:35;17867:1;17864;17860:9;17855:14;;17690:185;;;;:::o;17881:233::-;17920:3;17943:24;17961:5;17943:24;:::i;:::-;17934:33;;17989:66;17982:5;17979:77;17976:103;;18059:18;;:::i;:::-;17976:103;18106:1;18099:5;18095:13;18088:20;;17881:233;;;:::o;18120:180::-;18168:77;18165:1;18158:88;18265:4;18262:1;18255:15;18289:4;18286:1;18279:15;18306:180;18354:77;18351:1;18344:88;18451:4;18448:1;18441:15;18475:4;18472:1;18465:15;18492:85;18537:7;18566:5;18555:16;;18492:85;;;:::o;18583:60::-;18611:3;18632:5;18625:12;;18583:60;;;:::o;18649:158::-;18707:9;18740:61;18758:42;18767:32;18793:5;18767:32;:::i;:::-;18758:42;:::i;:::-;18740:61;:::i;:::-;18727:74;;18649:158;;;:::o;18813:147::-;18908:45;18947:5;18908:45;:::i;:::-;18903:3;18896:58;18813:147;;:::o;18966:114::-;19033:6;19067:5;19061:12;19051:22;;18966:114;;;:::o;19086:184::-;19185:11;19219:6;19214:3;19207:19;19259:4;19254:3;19250:14;19235:29;;19086:184;;;;:::o;19276:132::-;19343:4;19366:3;19358:11;;19396:4;19391:3;19387:14;19379:22;;19276:132;;;:::o;19414:108::-;19491:24;19509:5;19491:24;:::i;:::-;19486:3;19479:37;19414:108;;:::o;19528:179::-;19597:10;19618:46;19660:3;19652:6;19618:46;:::i;:::-;19696:4;19691:3;19687:14;19673:28;;19528:179;;;;:::o;19713:113::-;19783:4;19815;19810:3;19806:14;19798:22;;19713:113;;;:::o;19862:732::-;19981:3;20010:54;20058:5;20010:54;:::i;:::-;20080:86;20159:6;20154:3;20080:86;:::i;:::-;20073:93;;20190:56;20240:5;20190:56;:::i;:::-;20269:7;20300:1;20285:284;20310:6;20307:1;20304:13;20285:284;;;20386:6;20380:13;20413:63;20472:3;20457:13;20413:63;:::i;:::-;20406:70;;20499:60;20552:6;20499:60;:::i;:::-;20489:70;;20345:224;20332:1;20329;20325:9;20320:14;;20285:284;;;20289:14;20585:3;20578:10;;19986:608;;;19862:732;;;;:::o;20600:831::-;20863:4;20901:3;20890:9;20886:19;20878:27;;20915:71;20983:1;20972:9;20968:17;20959:6;20915:71;:::i;:::-;20996:80;21072:2;21061:9;21057:18;21048:6;20996:80;:::i;:::-;21123:9;21117:4;21113:20;21108:2;21097:9;21093:18;21086:48;21151:108;21254:4;21245:6;21151:108;:::i;:::-;21143:116;;21269:72;21337:2;21326:9;21322:18;21313:6;21269:72;:::i;:::-;21351:73;21419:3;21408:9;21404:19;21395:6;21351:73;:::i;:::-;20600:831;;;;;;;;:::o
Swarm Source
ipfs://71ebf978bf49be211bcada2fc18c849696bbdbd4babb07a733b3222a64a54042
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)