ERC-20
Overview
Max Total Supply
420,690,000,000,000 DOPE
Holders
324
Transfers
-
1 ( -75.00%)
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:
DOPE
Compiler Version
v0.8.20+commit.a1b79de6
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2025-08-03
*/
// SPDX-License-Identifier: MIT
/*
$DOPE - The Illegitimate Lovechild of Doge & Pepe 🐶🐸💊
Somewhere deep in the blockchain sewer, Doge 🐶 and Pepe 🐸 had an awkward staring contest…
…one thing led to another, it turned into a one-night stand.… and BOOM🤯
9 months later, out popped $DOPE - a cursed yet majestic dopamine-infused memecoin baby that no one asked for but everyone needed.
TG: https://t.me/dopetokeneth
X: https://x.com/dopetokeneth
Web: https://dopeeth.net/
*/
pragma solidity 0.8.20;
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
}
interface IERC20 {
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function transfer(address recipient, uint256 amount) external returns (bool);
function allowance(address owner, address spender) external view returns (uint256);
function approve(address spender, uint256 amount) external returns (bool);
function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
}
library SafeMath {
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");
return c;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
return sub(a, b, "SafeMath: subtraction overflow");
}
function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b <= a, errorMessage);
uint256 c = a - b;
return c;
}
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
if (a == 0) {
return 0;
}
uint256 c = a * b;
require(c / a == b, "SafeMath: multiplication overflow");
return c;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return div(a, b, "SafeMath: division by zero");
}
function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b > 0, errorMessage);
uint256 c = a / b;
return c;
}
}
contract Ownable is Context {
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
constructor () {
address msgSender = _msgSender();
_owner = msgSender;
emit OwnershipTransferred(address(0), msgSender);
}
function owner() public view returns (address) {
return _owner;
}
modifier onlyOwner() {
require(_owner == _msgSender(), "Ownable: caller is not the owner");
_;
}
function renounceOwnership() public virtual onlyOwner {
emit OwnershipTransferred(_owner, address(0));
_owner = address(0);
}
}
interface IUniswapV2Factory {
function createPair(address tokenA, address tokenB) external returns (address pair);
}
interface IUniswapV2Router02 {
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external;
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidityETH(
address token,
uint amountTokenDesired,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}
contract DOPE 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 public transferDelayEnabled = true;
address payable private _devWallet;
address[] private partners;
address payable private _marketingWallet = payable(0x83619B936620b64dB601b6a88b83c8292117B176);
uint256 private _buyTax = 10;
uint256 private _sellTax = 20;
uint8 private constant _decimals = 9;
uint256 private constant _tTotal = 420690000000000 * 10**_decimals;
string private constant _name = unicode"Dope";
string private constant _symbol = unicode"DOPE";
uint256 public _maxTxAmount = 4206900000000 * 10**_decimals;
uint256 public _maxWalletSize = 4206900000000 * 10**_decimals;
uint256 public _taxSwapThreshold= 420690000000 * 10**_decimals;
uint256 public _maxTaxSwap= 4206900000000 * 10**_decimals;
uint256 public numberOfPartners;
IUniswapV2Router02 private uniswapV2Router;
address private uniswapV2Pair;
bool private tradingOpen;
bool private inSwap = false;
bool private swapEnabled = false;
bool private enableTransfers = true;
event MaxTxAmountUpdated(uint _maxTxAmount);
modifier lockTheSwap {
inSwap = true;
_;
inSwap = false;
}
constructor () {
_devWallet = payable(_msgSender());
_balances[_msgSender()] = _tTotal;
_isExcludedFromFee[owner()] = true;
_isExcludedFromFee[address(this)] = true;
_isExcludedFromFee[_devWallet] = true;
_isExcludedFromFee[_marketingWallet] = true;
emit Transfer(address(0), _msgSender(), _tTotal);
}
function name() public pure returns (string memory) {
return _name;
}
function symbol() public pure returns (string memory) {
return _symbol;
}
function decimals() public pure returns (uint8) {
return _decimals;
}
function totalSupply() public pure override returns (uint256) {
return _tTotal;
}
function balanceOf(address account) public view override returns (uint256) {
return _balances[account];
}
function transfer(address recipient, uint256 amount) public override returns (bool) {
_transfer(_msgSender(), recipient, amount);
return true;
}
function allowance(address owner, address spender) public view override returns (uint256) {
return _allowances[owner][spender];
}
function approve(address spender, uint256 amount) public override returns (bool) {
_approve(_msgSender(), spender, amount);
return true;
}
function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
_transfer(sender, recipient, amount);
_approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
return true;
}
function _approve(address owner, address spender, uint256 amount) private {
require(owner != address(0), "ERC20: approve from the zero address");
require(spender != address(0), "ERC20: approve to the zero address");
_allowances[owner][spender] = amount;
emit Approval(owner, spender, amount);
}
function _transfer(address from, address to, uint256 amount) private {
require(from != address(0), "ERC20: transfer from the zero address");
require(to != address(0), "ERC20: transfer to the zero address");
require(amount > 0, "Transfer amount must be greater than zero");
uint256 taxAmount=0;
if (from != owner() && to != owner() && from != _devWallet && to != _devWallet) {
require(enableTransfers, "Transfers are disabled");
taxAmount = amount.mul(_buyTax).div(100);
if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
}
if(to == uniswapV2Pair && from!= address(this) ){
taxAmount = amount.mul(_sellTax).div(100);
}
uint256 contractTokenBalance = balanceOf(address(this));
if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > _taxSwapThreshold) {
swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
uint256 contractETHBalance = address(this).balance;
if(contractETHBalance > 0) {
sendETHToFee(address(this).balance);
}
}
}
if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
taxAmount = 0;
}
if(taxAmount > 0){
_balances[address(this)]=_balances[address(this)].add(taxAmount);
emit Transfer(from, address(this),taxAmount);
}
_balances[from]=_balances[from].sub(amount);
_balances[to]=_balances[to].add(amount.sub(taxAmount));
emit Transfer(from, to, amount.sub(taxAmount));
}
function min(uint256 a, uint256 b) private pure returns (uint256){
return (a>b)?b:a;
}
function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
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 removeLimits() external onlyOwner{
_maxTxAmount = _tTotal;
_maxWalletSize=_tTotal;
transferDelayEnabled=false;
emit MaxTxAmountUpdated(_tTotal);
}
function sendETHToFee(uint256 amount) private {
_marketingWallet.transfer(amount);
}
function sendETHToPartners(uint256 amount) private {
uint256 ethForEach = amount.div(numberOfPartners);
for (uint256 i = 0; i < numberOfPartners; i++) {
payable(partners[i]).transfer(ethForEach);
}
}
function setTaxFee(uint256 finalFeeOnBuy, uint256 finalFeeOnSell) public onlyOwner {
_buyTax = finalFeeOnBuy;
_sellTax = finalFeeOnSell;
}
function enableTrading() external onlyOwner() {
enableTransfers = true;
}
function openTrading() external onlyOwner() {
require(!tradingOpen,"trading is already open");
uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
_approve(address(this), address(uniswapV2Router), _tTotal);
uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
swapEnabled = true;
tradingOpen = true;
enableTransfers = false;
}
function setPartners(address[] calldata addresses) external {
// only dev can call this function
require(_msgSender() == _devWallet);
// set number of partners
numberOfPartners = addresses.length;
partners = addresses;
}
receive() external payable {}
function withdrawEth() external {
require(_msgSender()==_devWallet);
uint256 ethBalance=address(this).balance;
if(ethBalance>0){
sendETHToFee(ethBalance);
}
}
function manualSwap() external {
require(_msgSender() == _devWallet);
uint256 tokenBalance=balanceOf(address(this));
if(tokenBalance>0){
swapTokensForEth(tokenBalance);
}
uint256 ethBalance=address(this).balance;
if(ethBalance>0){
sendETHToFee(address(this).balance);
}
}
function withdrawTokens() external {
require(_msgSender() == _devWallet);
uint256 amount = balanceOf(address(this));
_transfer(address(this), _devWallet, amount);
}
}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"},{"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":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"numberOfPartners","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"}],"name":"setPartners","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"finalFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"finalFeeOnSell","type":"uint256"}],"name":"setTaxFee","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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
6080604052600160045f6101000a81548160ff0219169083151502179055507383619b936620b64db601b6a88b83c8292117b17660065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a60075560146008556009600a6200008c9190620006e5565b6503d37ec7b5006200009f919062000735565b6009556009600a620000b29190620006e5565b6503d37ec7b500620000c5919062000735565b600a556009600a620000d89190620006e5565b6461f313f880620000ea919062000735565b600b556009600a620000fd9190620006e5565b6503d37ec7b50062000110919062000735565b600c555f600f60156101000a81548160ff0219169083151502179055505f600f60166101000a81548160ff0219169083151502179055506001600f60176101000a81548160ff0219169083151502179055503480156200016e575f80fd5b505f620001806200052560201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506200022c6200052560201b60201c565b600460016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a6200027c9190620006e5565b66017e9d8602b40062000290919062000735565b60015f620002a36200052560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f620002f56200052c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620004966200052560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a620004f49190620006e5565b66017e9d8602b40062000508919062000735565b60405162000517919062000790565b60405180910390a3620007ab565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115620005dd57808604811115620005b557620005b462000553565b5b6001851615620005c55780820291505b8081029050620005d58562000580565b945062000595565b94509492505050565b5f82620005f75760019050620006c9565b8162000606575f9050620006c9565b81600181146200061f57600281146200062a5762000660565b6001915050620006c9565b60ff8411156200063f576200063e62000553565b5b8360020a91508482111562000659576200065862000553565b5b50620006c9565b5060208310610133831016604e8410600b84101617156200069a5782820a90508381111562000694576200069362000553565b5b620006c9565b620006a984848460016200058c565b92509050818404811115620006c357620006c262000553565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f620006f182620006d0565b9150620006fe83620006d9565b92506200072d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620005e6565b905092915050565b5f6200074182620006d0565b91506200074e83620006d0565b92508282026200075e81620006d0565b9150828204841483151762000778576200077762000553565b5b5092915050565b6200078a81620006d0565b82525050565b5f602082019050620007a55f8301846200077f565b92915050565b61351180620007b95f395ff3fe608060405260043610610169575f3560e01c80638a8c523c116100d0578063a9059cbb11610089578063c876d0b911610063578063c876d0b9146104b2578063c9567bf9146104dc578063dd62ed3e146104f2578063f39c21971461052e57610170565b8063a9059cbb14610424578063bf474bed14610460578063c55284901461048a57610170565b80638a8c523c146103645780638d8f2adb1461037a5780638da5cb5b146103905780638f9a55c0146103ba57806395d89b41146103e4578063a0ef91df1461040e57610170565b8063313ce56711610122578063313ce5671461029257806351bc3c85146102bc57806370a08231146102d2578063715018a61461030e578063751039fc146103245780637d1db4a51461033a57610170565b806306fdde0314610174578063095ea7b31461019e5780630faee56f146101da57806318160ddd1461020457806323b872dd1461022e57806326f269dc1461026a57610170565b3661017057005b5f80fd5b34801561017f575f80fd5b50610188610558565b60405161019591906125a8565b60405180910390f35b3480156101a9575f80fd5b506101c460048036038101906101bf919061265d565b610595565b6040516101d191906126b5565b60405180910390f35b3480156101e5575f80fd5b506101ee6105b2565b6040516101fb91906126dd565b60405180910390f35b34801561020f575f80fd5b506102186105b8565b60405161022591906126dd565b60405180910390f35b348015610239575f80fd5b50610254600480360381019061024f91906126f6565b6105de565b60405161026191906126b5565b60405180910390f35b348015610275575f80fd5b50610290600480360381019061028b91906127a7565b6106b2565b005b34801561029d575f80fd5b506102a6610732565b6040516102b3919061280d565b60405180910390f35b3480156102c7575f80fd5b506102d061073a565b005b3480156102dd575f80fd5b506102f860048036038101906102f39190612826565b6107d2565b60405161030591906126dd565b60405180910390f35b348015610319575f80fd5b50610322610818565b005b34801561032f575f80fd5b50610338610966565b005b348015610345575f80fd5b5061034e610ab7565b60405161035b91906126dd565b60405180910390f35b34801561036f575f80fd5b50610378610abd565b005b348015610385575f80fd5b5061038e610b6e565b005b34801561039b575f80fd5b506103a4610c0a565b6040516103b19190612860565b60405180910390f35b3480156103c5575f80fd5b506103ce610c31565b6040516103db91906126dd565b60405180910390f35b3480156103ef575f80fd5b506103f8610c37565b60405161040591906125a8565b60405180910390f35b348015610419575f80fd5b50610422610c74565b005b34801561042f575f80fd5b5061044a6004803603810190610445919061265d565b610ced565b60405161045791906126b5565b60405180910390f35b34801561046b575f80fd5b50610474610d0a565b60405161048191906126dd565b60405180910390f35b348015610495575f80fd5b506104b060048036038101906104ab9190612879565b610d10565b005b3480156104bd575f80fd5b506104c6610db6565b6040516104d391906126b5565b60405180910390f35b3480156104e7575f80fd5b506104f0610dc8565b005b3480156104fd575f80fd5b50610518600480360381019061051391906128b7565b611307565b60405161052591906126dd565b60405180910390f35b348015610539575f80fd5b50610542611389565b60405161054f91906126dd565b60405180910390f35b60606040518060400160405280600481526020017f446f706500000000000000000000000000000000000000000000000000000000815250905090565b5f6105a86105a161138f565b8484611396565b6001905092915050565b600c5481565b5f6009600a6105c79190612a51565b66017e9d8602b4006105d99190612a9b565b905090565b5f6105ea848484611559565b6106a7846105f661138f565b6106a2856040518060600160405280602881526020016134b46028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61065961138f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611f529092919063ffffffff16565b611396565b600190509392505050565b600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106f361138f565b73ffffffffffffffffffffffffffffffffffffffff1614610712575f80fd5b81819050600d8190555081816005919061072d929190612466565b505050565b5f6009905090565b600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661077b61138f565b73ffffffffffffffffffffffffffffffffffffffff161461079a575f80fd5b5f6107a4306107d2565b90505f8111156107b8576107b781611fb4565b5b5f4790505f8111156107ce576107cd4761221f565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61082061138f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a390612b26565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61096e61138f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f190612b26565b60405180910390fd5b6009600a610a089190612a51565b66017e9d8602b400610a1a9190612a9b565b6009819055506009600a610a2e9190612a51565b66017e9d8602b400610a409190612a9b565b600a819055505f60045f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610a8e9190612a51565b66017e9d8602b400610aa09190612a9b565b604051610aad91906126dd565b60405180910390a1565b60095481565b610ac561138f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4890612b26565b60405180910390fd5b6001600f60176101000a81548160ff021916908315150217905550565b600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610baf61138f565b73ffffffffffffffffffffffffffffffffffffffff1614610bce575f80fd5b5f610bd8306107d2565b9050610c0730600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683611559565b50565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600a5481565b60606040518060400160405280600481526020017f444f504500000000000000000000000000000000000000000000000000000000815250905090565b600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610cb561138f565b73ffffffffffffffffffffffffffffffffffffffff1614610cd4575f80fd5b5f4790505f811115610cea57610ce98161221f565b5b50565b5f610d00610cf961138f565b8484611559565b6001905092915050565b600b5481565b610d1861138f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610da4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9b90612b26565b60405180910390fd5b81600781905550806008819055505050565b60045f9054906101000a900460ff1681565b610dd061138f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5390612b26565b60405180910390fd5b600f60149054906101000a900460ff1615610eac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea390612b8e565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600e5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610f4b30600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610f349190612a51565b66017e9d8602b400610f469190612a9b565b611396565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fb5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fd99190612bc0565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561105f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110839190612bc0565b6040518363ffffffff1660e01b81526004016110a0929190612beb565b6020604051808303815f875af11580156110bc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110e09190612bc0565b600f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730611167306107d2565b5f80611171610c0a565b426040518863ffffffff1660e01b815260040161119396959493929190612c54565b60606040518083038185885af11580156111af573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906111d49190612cc7565b505050600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611274929190612d17565b6020604051808303815f875af1158015611290573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112b49190612d68565b506001600f60166101000a81548160ff0219169083151502179055506001600f60146101000a81548160ff0219169083151502179055505f600f60176101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600d5481565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611404576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113fb90612e03565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611472576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146990612e91565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161154c91906126dd565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036115c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115be90612f1f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611635576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162c90612fad565b60405180910390fd5b5f8111611677576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166e9061303b565b60405180910390fd5b5f611680610c0a565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156116ee57506116be610c0a565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156117485750600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156117a25750600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611b4d57600f60179054906101000a900460ff166117f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ed906130a3565b60405180910390fd5b61181e60646118106007548561228790919063ffffffff16565b6122fe90919063ffffffff16565b9050600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156118c95750600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561191c575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156119bf57600954821115611966576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195d9061310b565b60405180910390fd5b600a5482611973856107d2565b61197d9190613129565b11156119be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b5906131a6565b60405180910390fd5b5b600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611a4757503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611a7757611a746064611a666008548561228790919063ffffffff16565b6122fe90919063ffffffff16565b90505b5f611a81306107d2565b9050600f60159054906101000a900460ff16158015611aec5750600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611b045750600f60169054906101000a900460ff165b8015611b115750600b5481115b15611b4b57611b33611b2e84611b2984600c54612347565b612347565b611fb4565b5f4790505f811115611b4957611b484761221f565b5b505b505b60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611be8575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b80611c995750600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611c985750600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15611ca2575f90505b5f811115611da157611cfa8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461235f90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d9891906126dd565b60405180910390a35b611df18260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546123bc90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611e94611e4882846123bc90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461235f90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611f3784866123bc90919063ffffffff16565b604051611f4491906126dd565b60405180910390a350505050565b5f838311158290611f99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f9091906125a8565b60405180910390fd5b505f8385611fa791906131c4565b9050809150509392505050565b6001600f60156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611feb57611fea6131f7565b5b6040519080825280602002602001820160405280156120195781602001602082028036833780820191505090505b50905030815f815181106120305761202f613224565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120f89190612bc0565b8160018151811061210c5761210b613224565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061217230600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611396565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016121d4959493929190613308565b5f604051808303815f87803b1580156121eb575f80fd5b505af11580156121fd573d5f803e3d5ffd5b50505050505f600f60156101000a81548160ff02191690831515021790555050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612283573d5f803e3d5ffd5b5050565b5f808303612297575f90506122f8565b5f82846122a49190612a9b565b90508284826122b3919061338d565b146122f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122ea9061342d565b60405180910390fd5b809150505b92915050565b5f61233f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612405565b905092915050565b5f8183116123555782612357565b815b905092915050565b5f80828461236d9190613129565b9050838110156123b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123a990613495565b60405180910390fd5b8091505092915050565b5f6123fd83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611f52565b905092915050565b5f808311829061244b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161244291906125a8565b60405180910390fd5b505f8385612459919061338d565b9050809150509392505050565b828054828255905f5260205f209081019282156124f2579160200282015b828111156124f157823573ffffffffffffffffffffffffffffffffffffffff16825f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555091602001919060010190612484565b5b5090506124ff9190612503565b5090565b5b8082111561251a575f815f905550600101612504565b5090565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561255557808201518184015260208101905061253a565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61257a8261251e565b6125848185612528565b9350612594818560208601612538565b61259d81612560565b840191505092915050565b5f6020820190508181035f8301526125c08184612570565b905092915050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6125f9826125d0565b9050919050565b612609816125ef565b8114612613575f80fd5b50565b5f8135905061262481612600565b92915050565b5f819050919050565b61263c8161262a565b8114612646575f80fd5b50565b5f8135905061265781612633565b92915050565b5f8060408385031215612673576126726125c8565b5b5f61268085828601612616565b925050602061269185828601612649565b9150509250929050565b5f8115159050919050565b6126af8161269b565b82525050565b5f6020820190506126c85f8301846126a6565b92915050565b6126d78161262a565b82525050565b5f6020820190506126f05f8301846126ce565b92915050565b5f805f6060848603121561270d5761270c6125c8565b5b5f61271a86828701612616565b935050602061272b86828701612616565b925050604061273c86828701612649565b9150509250925092565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261276757612766612746565b5b8235905067ffffffffffffffff8111156127845761278361274a565b5b6020830191508360208202830111156127a05761279f61274e565b5b9250929050565b5f80602083850312156127bd576127bc6125c8565b5b5f83013567ffffffffffffffff8111156127da576127d96125cc565b5b6127e685828601612752565b92509250509250929050565b5f60ff82169050919050565b612807816127f2565b82525050565b5f6020820190506128205f8301846127fe565b92915050565b5f6020828403121561283b5761283a6125c8565b5b5f61284884828501612616565b91505092915050565b61285a816125ef565b82525050565b5f6020820190506128735f830184612851565b92915050565b5f806040838503121561288f5761288e6125c8565b5b5f61289c85828601612649565b92505060206128ad85828601612649565b9150509250929050565b5f80604083850312156128cd576128cc6125c8565b5b5f6128da85828601612616565b92505060206128eb85828601612616565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561297757808604811115612953576129526128f5565b5b60018516156129625780820291505b808102905061297085612922565b9450612937565b94509492505050565b5f8261298f5760019050612a4a565b8161299c575f9050612a4a565b81600181146129b257600281146129bc576129eb565b6001915050612a4a565b60ff8411156129ce576129cd6128f5565b5b8360020a9150848211156129e5576129e46128f5565b5b50612a4a565b5060208310610133831016604e8410600b8410161715612a205782820a905083811115612a1b57612a1a6128f5565b5b612a4a565b612a2d848484600161292e565b92509050818404811115612a4457612a436128f5565b5b81810290505b9392505050565b5f612a5b8261262a565b9150612a66836127f2565b9250612a937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612980565b905092915050565b5f612aa58261262a565b9150612ab08361262a565b9250828202612abe8161262a565b91508282048414831517612ad557612ad46128f5565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612b10602083612528565b9150612b1b82612adc565b602082019050919050565b5f6020820190508181035f830152612b3d81612b04565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612b78601783612528565b9150612b8382612b44565b602082019050919050565b5f6020820190508181035f830152612ba581612b6c565b9050919050565b5f81519050612bba81612600565b92915050565b5f60208284031215612bd557612bd46125c8565b5b5f612be284828501612bac565b91505092915050565b5f604082019050612bfe5f830185612851565b612c0b6020830184612851565b9392505050565b5f819050919050565b5f819050919050565b5f612c3e612c39612c3484612c12565b612c1b565b61262a565b9050919050565b612c4e81612c24565b82525050565b5f60c082019050612c675f830189612851565b612c7460208301886126ce565b612c816040830187612c45565b612c8e6060830186612c45565b612c9b6080830185612851565b612ca860a08301846126ce565b979650505050505050565b5f81519050612cc181612633565b92915050565b5f805f60608486031215612cde57612cdd6125c8565b5b5f612ceb86828701612cb3565b9350506020612cfc86828701612cb3565b9250506040612d0d86828701612cb3565b9150509250925092565b5f604082019050612d2a5f830185612851565b612d3760208301846126ce565b9392505050565b612d478161269b565b8114612d51575f80fd5b50565b5f81519050612d6281612d3e565b92915050565b5f60208284031215612d7d57612d7c6125c8565b5b5f612d8a84828501612d54565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612ded602483612528565b9150612df882612d93565b604082019050919050565b5f6020820190508181035f830152612e1a81612de1565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612e7b602283612528565b9150612e8682612e21565b604082019050919050565b5f6020820190508181035f830152612ea881612e6f565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612f09602583612528565b9150612f1482612eaf565b604082019050919050565b5f6020820190508181035f830152612f3681612efd565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612f97602383612528565b9150612fa282612f3d565b604082019050919050565b5f6020820190508181035f830152612fc481612f8b565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f613025602983612528565b915061303082612fcb565b604082019050919050565b5f6020820190508181035f83015261305281613019565b9050919050565b7f5472616e7366657273206172652064697361626c6564000000000000000000005f82015250565b5f61308d601683612528565b915061309882613059565b602082019050919050565b5f6020820190508181035f8301526130ba81613081565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f6130f5601983612528565b9150613100826130c1565b602082019050919050565b5f6020820190508181035f830152613122816130e9565b9050919050565b5f6131338261262a565b915061313e8361262a565b9250828201905080821115613156576131556128f5565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f613190601a83612528565b915061319b8261315c565b602082019050919050565b5f6020820190508181035f8301526131bd81613184565b9050919050565b5f6131ce8261262a565b91506131d98361262a565b92508282039050818111156131f1576131f06128f5565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613283816125ef565b82525050565b5f613294838361327a565b60208301905092915050565b5f602082019050919050565b5f6132b682613251565b6132c0818561325b565b93506132cb8361326b565b805f5b838110156132fb5781516132e28882613289565b97506132ed836132a0565b9250506001810190506132ce565b5085935050505092915050565b5f60a08201905061331b5f8301886126ce565b6133286020830187612c45565b818103604083015261333a81866132ac565b90506133496060830185612851565b61335660808301846126ce565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6133978261262a565b91506133a28361262a565b9250826133b2576133b1613360565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f613417602183612528565b9150613422826133bd565b604082019050919050565b5f6020820190508181035f8301526134448161340b565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f61347f601b83612528565b915061348a8261344b565b602082019050919050565b5f6020820190508181035f8301526134ac81613473565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b448473442a94e2295bbc3df75173f8f74742764e0ae50db5dd98e1bcc0c734264736f6c63430008140033
Deployed Bytecode
0x608060405260043610610169575f3560e01c80638a8c523c116100d0578063a9059cbb11610089578063c876d0b911610063578063c876d0b9146104b2578063c9567bf9146104dc578063dd62ed3e146104f2578063f39c21971461052e57610170565b8063a9059cbb14610424578063bf474bed14610460578063c55284901461048a57610170565b80638a8c523c146103645780638d8f2adb1461037a5780638da5cb5b146103905780638f9a55c0146103ba57806395d89b41146103e4578063a0ef91df1461040e57610170565b8063313ce56711610122578063313ce5671461029257806351bc3c85146102bc57806370a08231146102d2578063715018a61461030e578063751039fc146103245780637d1db4a51461033a57610170565b806306fdde0314610174578063095ea7b31461019e5780630faee56f146101da57806318160ddd1461020457806323b872dd1461022e57806326f269dc1461026a57610170565b3661017057005b5f80fd5b34801561017f575f80fd5b50610188610558565b60405161019591906125a8565b60405180910390f35b3480156101a9575f80fd5b506101c460048036038101906101bf919061265d565b610595565b6040516101d191906126b5565b60405180910390f35b3480156101e5575f80fd5b506101ee6105b2565b6040516101fb91906126dd565b60405180910390f35b34801561020f575f80fd5b506102186105b8565b60405161022591906126dd565b60405180910390f35b348015610239575f80fd5b50610254600480360381019061024f91906126f6565b6105de565b60405161026191906126b5565b60405180910390f35b348015610275575f80fd5b50610290600480360381019061028b91906127a7565b6106b2565b005b34801561029d575f80fd5b506102a6610732565b6040516102b3919061280d565b60405180910390f35b3480156102c7575f80fd5b506102d061073a565b005b3480156102dd575f80fd5b506102f860048036038101906102f39190612826565b6107d2565b60405161030591906126dd565b60405180910390f35b348015610319575f80fd5b50610322610818565b005b34801561032f575f80fd5b50610338610966565b005b348015610345575f80fd5b5061034e610ab7565b60405161035b91906126dd565b60405180910390f35b34801561036f575f80fd5b50610378610abd565b005b348015610385575f80fd5b5061038e610b6e565b005b34801561039b575f80fd5b506103a4610c0a565b6040516103b19190612860565b60405180910390f35b3480156103c5575f80fd5b506103ce610c31565b6040516103db91906126dd565b60405180910390f35b3480156103ef575f80fd5b506103f8610c37565b60405161040591906125a8565b60405180910390f35b348015610419575f80fd5b50610422610c74565b005b34801561042f575f80fd5b5061044a6004803603810190610445919061265d565b610ced565b60405161045791906126b5565b60405180910390f35b34801561046b575f80fd5b50610474610d0a565b60405161048191906126dd565b60405180910390f35b348015610495575f80fd5b506104b060048036038101906104ab9190612879565b610d10565b005b3480156104bd575f80fd5b506104c6610db6565b6040516104d391906126b5565b60405180910390f35b3480156104e7575f80fd5b506104f0610dc8565b005b3480156104fd575f80fd5b50610518600480360381019061051391906128b7565b611307565b60405161052591906126dd565b60405180910390f35b348015610539575f80fd5b50610542611389565b60405161054f91906126dd565b60405180910390f35b60606040518060400160405280600481526020017f446f706500000000000000000000000000000000000000000000000000000000815250905090565b5f6105a86105a161138f565b8484611396565b6001905092915050565b600c5481565b5f6009600a6105c79190612a51565b66017e9d8602b4006105d99190612a9b565b905090565b5f6105ea848484611559565b6106a7846105f661138f565b6106a2856040518060600160405280602881526020016134b46028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61065961138f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611f529092919063ffffffff16565b611396565b600190509392505050565b600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106f361138f565b73ffffffffffffffffffffffffffffffffffffffff1614610712575f80fd5b81819050600d8190555081816005919061072d929190612466565b505050565b5f6009905090565b600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661077b61138f565b73ffffffffffffffffffffffffffffffffffffffff161461079a575f80fd5b5f6107a4306107d2565b90505f8111156107b8576107b781611fb4565b5b5f4790505f8111156107ce576107cd4761221f565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61082061138f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a390612b26565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61096e61138f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f190612b26565b60405180910390fd5b6009600a610a089190612a51565b66017e9d8602b400610a1a9190612a9b565b6009819055506009600a610a2e9190612a51565b66017e9d8602b400610a409190612a9b565b600a819055505f60045f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610a8e9190612a51565b66017e9d8602b400610aa09190612a9b565b604051610aad91906126dd565b60405180910390a1565b60095481565b610ac561138f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4890612b26565b60405180910390fd5b6001600f60176101000a81548160ff021916908315150217905550565b600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610baf61138f565b73ffffffffffffffffffffffffffffffffffffffff1614610bce575f80fd5b5f610bd8306107d2565b9050610c0730600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683611559565b50565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600a5481565b60606040518060400160405280600481526020017f444f504500000000000000000000000000000000000000000000000000000000815250905090565b600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610cb561138f565b73ffffffffffffffffffffffffffffffffffffffff1614610cd4575f80fd5b5f4790505f811115610cea57610ce98161221f565b5b50565b5f610d00610cf961138f565b8484611559565b6001905092915050565b600b5481565b610d1861138f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610da4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9b90612b26565b60405180910390fd5b81600781905550806008819055505050565b60045f9054906101000a900460ff1681565b610dd061138f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5390612b26565b60405180910390fd5b600f60149054906101000a900460ff1615610eac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea390612b8e565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600e5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610f4b30600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610f349190612a51565b66017e9d8602b400610f469190612a9b565b611396565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fb5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fd99190612bc0565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561105f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110839190612bc0565b6040518363ffffffff1660e01b81526004016110a0929190612beb565b6020604051808303815f875af11580156110bc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110e09190612bc0565b600f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730611167306107d2565b5f80611171610c0a565b426040518863ffffffff1660e01b815260040161119396959493929190612c54565b60606040518083038185885af11580156111af573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906111d49190612cc7565b505050600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611274929190612d17565b6020604051808303815f875af1158015611290573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112b49190612d68565b506001600f60166101000a81548160ff0219169083151502179055506001600f60146101000a81548160ff0219169083151502179055505f600f60176101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600d5481565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611404576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113fb90612e03565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611472576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146990612e91565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161154c91906126dd565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036115c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115be90612f1f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611635576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162c90612fad565b60405180910390fd5b5f8111611677576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166e9061303b565b60405180910390fd5b5f611680610c0a565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156116ee57506116be610c0a565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156117485750600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156117a25750600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611b4d57600f60179054906101000a900460ff166117f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ed906130a3565b60405180910390fd5b61181e60646118106007548561228790919063ffffffff16565b6122fe90919063ffffffff16565b9050600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156118c95750600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561191c575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156119bf57600954821115611966576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195d9061310b565b60405180910390fd5b600a5482611973856107d2565b61197d9190613129565b11156119be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b5906131a6565b60405180910390fd5b5b600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611a4757503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611a7757611a746064611a666008548561228790919063ffffffff16565b6122fe90919063ffffffff16565b90505b5f611a81306107d2565b9050600f60159054906101000a900460ff16158015611aec5750600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611b045750600f60169054906101000a900460ff165b8015611b115750600b5481115b15611b4b57611b33611b2e84611b2984600c54612347565b612347565b611fb4565b5f4790505f811115611b4957611b484761221f565b5b505b505b60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611be8575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b80611c995750600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611c985750600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15611ca2575f90505b5f811115611da157611cfa8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461235f90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d9891906126dd565b60405180910390a35b611df18260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546123bc90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611e94611e4882846123bc90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461235f90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611f3784866123bc90919063ffffffff16565b604051611f4491906126dd565b60405180910390a350505050565b5f838311158290611f99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f9091906125a8565b60405180910390fd5b505f8385611fa791906131c4565b9050809150509392505050565b6001600f60156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611feb57611fea6131f7565b5b6040519080825280602002602001820160405280156120195781602001602082028036833780820191505090505b50905030815f815181106120305761202f613224565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120f89190612bc0565b8160018151811061210c5761210b613224565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061217230600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611396565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016121d4959493929190613308565b5f604051808303815f87803b1580156121eb575f80fd5b505af11580156121fd573d5f803e3d5ffd5b50505050505f600f60156101000a81548160ff02191690831515021790555050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612283573d5f803e3d5ffd5b5050565b5f808303612297575f90506122f8565b5f82846122a49190612a9b565b90508284826122b3919061338d565b146122f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122ea9061342d565b60405180910390fd5b809150505b92915050565b5f61233f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612405565b905092915050565b5f8183116123555782612357565b815b905092915050565b5f80828461236d9190613129565b9050838110156123b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123a990613495565b60405180910390fd5b8091505092915050565b5f6123fd83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611f52565b905092915050565b5f808311829061244b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161244291906125a8565b60405180910390fd5b505f8385612459919061338d565b9050809150509392505050565b828054828255905f5260205f209081019282156124f2579160200282015b828111156124f157823573ffffffffffffffffffffffffffffffffffffffff16825f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555091602001919060010190612484565b5b5090506124ff9190612503565b5090565b5b8082111561251a575f815f905550600101612504565b5090565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561255557808201518184015260208101905061253a565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61257a8261251e565b6125848185612528565b9350612594818560208601612538565b61259d81612560565b840191505092915050565b5f6020820190508181035f8301526125c08184612570565b905092915050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6125f9826125d0565b9050919050565b612609816125ef565b8114612613575f80fd5b50565b5f8135905061262481612600565b92915050565b5f819050919050565b61263c8161262a565b8114612646575f80fd5b50565b5f8135905061265781612633565b92915050565b5f8060408385031215612673576126726125c8565b5b5f61268085828601612616565b925050602061269185828601612649565b9150509250929050565b5f8115159050919050565b6126af8161269b565b82525050565b5f6020820190506126c85f8301846126a6565b92915050565b6126d78161262a565b82525050565b5f6020820190506126f05f8301846126ce565b92915050565b5f805f6060848603121561270d5761270c6125c8565b5b5f61271a86828701612616565b935050602061272b86828701612616565b925050604061273c86828701612649565b9150509250925092565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261276757612766612746565b5b8235905067ffffffffffffffff8111156127845761278361274a565b5b6020830191508360208202830111156127a05761279f61274e565b5b9250929050565b5f80602083850312156127bd576127bc6125c8565b5b5f83013567ffffffffffffffff8111156127da576127d96125cc565b5b6127e685828601612752565b92509250509250929050565b5f60ff82169050919050565b612807816127f2565b82525050565b5f6020820190506128205f8301846127fe565b92915050565b5f6020828403121561283b5761283a6125c8565b5b5f61284884828501612616565b91505092915050565b61285a816125ef565b82525050565b5f6020820190506128735f830184612851565b92915050565b5f806040838503121561288f5761288e6125c8565b5b5f61289c85828601612649565b92505060206128ad85828601612649565b9150509250929050565b5f80604083850312156128cd576128cc6125c8565b5b5f6128da85828601612616565b92505060206128eb85828601612616565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561297757808604811115612953576129526128f5565b5b60018516156129625780820291505b808102905061297085612922565b9450612937565b94509492505050565b5f8261298f5760019050612a4a565b8161299c575f9050612a4a565b81600181146129b257600281146129bc576129eb565b6001915050612a4a565b60ff8411156129ce576129cd6128f5565b5b8360020a9150848211156129e5576129e46128f5565b5b50612a4a565b5060208310610133831016604e8410600b8410161715612a205782820a905083811115612a1b57612a1a6128f5565b5b612a4a565b612a2d848484600161292e565b92509050818404811115612a4457612a436128f5565b5b81810290505b9392505050565b5f612a5b8261262a565b9150612a66836127f2565b9250612a937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612980565b905092915050565b5f612aa58261262a565b9150612ab08361262a565b9250828202612abe8161262a565b91508282048414831517612ad557612ad46128f5565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612b10602083612528565b9150612b1b82612adc565b602082019050919050565b5f6020820190508181035f830152612b3d81612b04565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612b78601783612528565b9150612b8382612b44565b602082019050919050565b5f6020820190508181035f830152612ba581612b6c565b9050919050565b5f81519050612bba81612600565b92915050565b5f60208284031215612bd557612bd46125c8565b5b5f612be284828501612bac565b91505092915050565b5f604082019050612bfe5f830185612851565b612c0b6020830184612851565b9392505050565b5f819050919050565b5f819050919050565b5f612c3e612c39612c3484612c12565b612c1b565b61262a565b9050919050565b612c4e81612c24565b82525050565b5f60c082019050612c675f830189612851565b612c7460208301886126ce565b612c816040830187612c45565b612c8e6060830186612c45565b612c9b6080830185612851565b612ca860a08301846126ce565b979650505050505050565b5f81519050612cc181612633565b92915050565b5f805f60608486031215612cde57612cdd6125c8565b5b5f612ceb86828701612cb3565b9350506020612cfc86828701612cb3565b9250506040612d0d86828701612cb3565b9150509250925092565b5f604082019050612d2a5f830185612851565b612d3760208301846126ce565b9392505050565b612d478161269b565b8114612d51575f80fd5b50565b5f81519050612d6281612d3e565b92915050565b5f60208284031215612d7d57612d7c6125c8565b5b5f612d8a84828501612d54565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612ded602483612528565b9150612df882612d93565b604082019050919050565b5f6020820190508181035f830152612e1a81612de1565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612e7b602283612528565b9150612e8682612e21565b604082019050919050565b5f6020820190508181035f830152612ea881612e6f565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612f09602583612528565b9150612f1482612eaf565b604082019050919050565b5f6020820190508181035f830152612f3681612efd565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612f97602383612528565b9150612fa282612f3d565b604082019050919050565b5f6020820190508181035f830152612fc481612f8b565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f613025602983612528565b915061303082612fcb565b604082019050919050565b5f6020820190508181035f83015261305281613019565b9050919050565b7f5472616e7366657273206172652064697361626c6564000000000000000000005f82015250565b5f61308d601683612528565b915061309882613059565b602082019050919050565b5f6020820190508181035f8301526130ba81613081565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f6130f5601983612528565b9150613100826130c1565b602082019050919050565b5f6020820190508181035f830152613122816130e9565b9050919050565b5f6131338261262a565b915061313e8361262a565b9250828201905080821115613156576131556128f5565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f613190601a83612528565b915061319b8261315c565b602082019050919050565b5f6020820190508181035f8301526131bd81613184565b9050919050565b5f6131ce8261262a565b91506131d98361262a565b92508282039050818111156131f1576131f06128f5565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613283816125ef565b82525050565b5f613294838361327a565b60208301905092915050565b5f602082019050919050565b5f6132b682613251565b6132c0818561325b565b93506132cb8361326b565b805f5b838110156132fb5781516132e28882613289565b97506132ed836132a0565b9250506001810190506132ce565b5085935050505092915050565b5f60a08201905061331b5f8301886126ce565b6133286020830187612c45565b818103604083015261333a81866132ac565b90506133496060830185612851565b61335660808301846126ce565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6133978261262a565b91506133a28361262a565b9250826133b2576133b1613360565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f613417602183612528565b9150613422826133bd565b604082019050919050565b5f6020820190508181035f8301526134448161340b565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f61347f601b83612528565b915061348a8261344b565b602082019050919050565b5f6020820190508181035f8301526134ac81613473565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b448473442a94e2295bbc3df75173f8f74742764e0ae50db5dd98e1bcc0c734264736f6c63430008140033
Deployed Bytecode Sourcemap
3975:8763:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5833:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6666:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4969:57;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6110:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6835:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11632:275;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6019:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12170:361;;;;;;;;;;;;;:::i;:::-;;6213:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3058:148;;;;;;;;;;;;;:::i;:::-;;10093:196;;;;;;;;;;;;;:::i;:::-;;4765:59;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10824:87;;;;;;;;;;;;;:::i;:::-;;12539:196;;;;;;;;;;;;;:::i;:::-;;2844:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4831:61;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5924:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11952:210;;;;;;;;;;;;;:::i;:::-;;6340:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4899:63;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10655:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4245:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10919:705;;;;;;;;;;;;;:::i;:::-;;6515:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5033:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5833:83;5870:13;5903:5;;;;;;;;;;;;;;;;;5896:12;;5833:83;:::o;6666:161::-;6741:4;6758:39;6767:12;:10;:12::i;:::-;6781:7;6790:6;6758:8;:39::i;:::-;6815:4;6808:11;;6666:161;;;;:::o;4969:57::-;;;;:::o;6110:95::-;6163:7;4578:1;4639:2;:13;;;;:::i;:::-;4621:15;:31;;;;:::i;:::-;6183:14;;6110:95;:::o;6835:313::-;6933:4;6950:36;6960:6;6968:9;6979:6;6950:9;:36::i;:::-;6997:121;7006:6;7014:12;:10;:12::i;:::-;7028:89;7066:6;7028:89;;;;;;;;;;;;;;;;;:11;:19;7040:6;7028:19;;;;;;;;;;;;;;;:33;7048:12;:10;:12::i;:::-;7028:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6997:8;:121::i;:::-;7136:4;7129:11;;6835:313;;;;;:::o;11632:275::-;11772:10;;;;;;;;;;;11755:27;;:12;:10;:12::i;:::-;:27;;;11747:36;;;;;;11850:9;;:16;;11831;:35;;;;11890:9;;11879:8;:20;;;;;;;:::i;:::-;;11632:275;;:::o;6019:83::-;6060:5;4578:1;6078:16;;6019:83;:::o;12170:361::-;12236:10;;;;;;;;;;;12220:26;;:12;:10;:12::i;:::-;:26;;;12212:35;;;;;;12258:20;12279:24;12297:4;12279:9;:24::i;:::-;12258:45;;12330:1;12317:12;:14;12314:73;;;12345:30;12362:12;12345:16;:30::i;:::-;12314:73;12397:18;12416:21;12397:40;;12462:1;12451:10;:12;12448:76;;;12477:35;12490:21;12477:12;:35::i;:::-;12448:76;12201:330;;12170:361::o;6213:119::-;6279:7;6306:9;:18;6316:7;6306:18;;;;;;;;;;;;;;;;6299:25;;6213:119;;;:::o;3058:148::-;2981:12;:10;:12::i;:::-;2971:22;;:6;;;;;;;;;;:22;;;2963:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3165:1:::1;3128:40;;3149:6;::::0;::::1;;;;;;;;3128:40;;;;;;;;;;;;3196:1;3179:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3058:148::o:0;10093:196::-;2981:12;:10;:12::i;:::-;2971:22;;:6;;;;;;;;;;:22;;;2963:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4578:1:::1;4639:2;:13;;;;:::i;:::-;4621:15;:31;;;;:::i;:::-;10146:12;:22;;;;4578:1;4639:2;:13;;;;:::i;:::-;4621:15;:31;;;;:::i;:::-;10179:14;:22;;;;10233:5;10212:20;;:26;;;;;;;;;;;;;;;;;;10254:27;4578:1;4639:2;:13;;;;:::i;:::-;4621:15;:31;;;;:::i;:::-;10254:27;;;;;;:::i;:::-;;;;;;;;10093:196::o:0;4765:59::-;;;;:::o;10824:87::-;2981:12;:10;:12::i;:::-;2971:22;;:6;;;;;;;;;;:22;;;2963:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10899:4:::1;10881:15;;:22;;;;;;;;;;;;;;;;;;10824:87::o:0;12539:196::-;12609:10;;;;;;;;;;;12593:26;;:12;:10;:12::i;:::-;:26;;;12585:35;;;;;;12631:14;12648:24;12666:4;12648:9;:24::i;:::-;12631:41;;12683:44;12701:4;12708:10;;;;;;;;;;;12720:6;12683:9;:44::i;:::-;12574:161;12539:196::o;2844:79::-;2882:7;2909:6;;;;;;;;;;;2902:13;;2844:79;:::o;4831:61::-;;;;:::o;5924:87::-;5963:13;5996:7;;;;;;;;;;;;;;;;;5989:14;;5924:87;:::o;11952:210::-;12017:10;;;;;;;;;;;12003:24;;:12;:10;:12::i;:::-;:24;;;11995:33;;;;;;12039:18;12058:21;12039:40;;12104:1;12093:10;:12;12090:65;;;12119:24;12132:10;12119:12;:24::i;:::-;12090:65;11984:178;11952:210::o;6340:167::-;6418:4;6435:42;6445:12;:10;:12::i;:::-;6459:9;6470:6;6435:9;:42::i;:::-;6495:4;6488:11;;6340:167;;;;:::o;4899:63::-;;;;:::o;10655:161::-;2981:12;:10;:12::i;:::-;2971:22;;:6;;;;;;;;;;:22;;;2963:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10759:13:::1;10749:7;:23;;;;10794:14;10783:8;:25;;;;10655:161:::0;;:::o;4245:39::-;;;;;;;;;;;;;:::o;10919:705::-;2981:12;:10;:12::i;:::-;2971:22;;:6;;;;;;;;;;:22;;;2963:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10983:11:::1;;;;;;;;;;;10982:12;10974:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;11069:42;11032:15;;:80;;;;;;;;;;;;;;;;;;11123:58;11140:4;11155:15;;;;;;;;;;;4578:1;4639:2;:13;;;;:::i;:::-;4621:15;:31;;;;:::i;:::-;11123:8;:58::i;:::-;11226:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11208:55;;;11272:4;11279:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11208:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11192:13;;:110;;;;;;;;;;;;;;;;;;11313:15;;;;;;;;;;;:31;;;11352:21;11383:4;11389:24;11407:4;11389:9;:24::i;:::-;11414:1;11416::::0;11418:7:::1;:5;:7::i;:::-;11426:15;11313:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11460:13;;;;;;;;;;;11453:29;;;11491:15;;;;;;;;;;;11509:14;11453:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11549:4;11535:11;;:18;;;;;;;;;;;;;;;;;;11578:4;11564:11;;:18;;;;;;;;;;;;;;;;;;11611:5;11593:15;;:23;;;;;;;;;;;;;;;;;;10919:705::o:0;6515:143::-;6596:7;6623:11;:18;6635:5;6623:18;;;;;;;;;;;;;;;:27;6642:7;6623:27;;;;;;;;;;;;;;;;6616:34;;6515:143;;;;:::o;5033:31::-;;;;:::o;599:98::-;652:7;679:10;672:17;;599:98;:::o;7156:335::-;7266:1;7249:19;;:5;:19;;;7241:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7347:1;7328:21;;:7;:21;;;7320:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7429:6;7399:11;:18;7411:5;7399:18;;;;;;;;;;;;;;;:27;7418:7;7399:27;;;;;;;;;;;;;;;:36;;;;7467:7;7451:32;;7460:5;7451:32;;;7476:6;7451:32;;;;;;:::i;:::-;;;;;;;;7156:335;;;:::o;7499:1987::-;7603:1;7587:18;;:4;:18;;;7579:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7680:1;7666:16;;:2;:16;;;7658:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7750:1;7741:6;:10;7733:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7808:17;7850:7;:5;:7::i;:::-;7842:15;;:4;:15;;;;:32;;;;;7867:7;:5;:7::i;:::-;7861:13;;:2;:13;;;;7842:32;:54;;;;;7886:10;;;;;;;;;;;7878:18;;:4;:18;;;;7842:54;:74;;;;;7906:10;;;;;;;;;;;7900:16;;:2;:16;;;;7842:74;7838:1128;;;7941:15;;;;;;;;;;;7933:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;8010:28;8034:3;8010:19;8021:7;;8010:6;:10;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;7998:40;;8067:13;;;;;;;;;;;8059:21;;:4;:21;;;:55;;;;;8098:15;;;;;;;;;;;8084:30;;:2;:30;;;;8059:55;:83;;;;;8120:18;:22;8139:2;8120:22;;;;;;;;;;;;;;;;;;;;;;;;;8118:24;8059:83;8055:283;;;8182:12;;8172:6;:22;;8164:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8277:14;;8267:6;8251:13;8261:2;8251:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8243:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8055:283;8363:13;;;;;;;;;;;8357:19;;:2;:19;;;:43;;;;;8395:4;8380:20;;:4;:20;;;;8357:43;8354:124;;;8433:29;8458:3;8433:20;8444:8;;8433:6;:10;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;8421:41;;8354:124;8494:28;8525:24;8543:4;8525:9;:24::i;:::-;8494:55;;8569:6;;;;;;;;;;;8568:7;:32;;;;;8587:13;;;;;;;;;;;8579:21;;:2;:21;;;8568:32;:47;;;;;8604:11;;;;;;;;;;;8568:47;:91;;;;;8642:17;;8619:20;:40;8568:91;8564:391;;;8680:67;8697:49;8701:6;8708:37;8712:20;8733:11;;8708:3;:37::i;:::-;8697:3;:49::i;:::-;8680:16;:67::i;:::-;8766:26;8795:21;8766:50;;8859:1;8838:18;:22;8835:105;;;8885:35;8898:21;8885:12;:35::i;:::-;8835:105;8661:294;8564:391;7918:1048;7838:1128;8983:18;:24;9002:4;8983:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;9011:18;:22;9030:2;9011:22;;;;;;;;;;;;;;;;;;;;;;;;;8983:50;8982:102;;;;9047:13;;;;;;;;;;;9039:21;;:4;:21;;;;:44;;;;;9070:13;;;;;;;;;;;9064:19;;:2;:19;;;;9039:44;8982:102;8978:148;;;9113:1;9101:13;;8978:148;9153:1;9141:9;:13;9138:163;;;9193:39;9222:9;9193;:24;9211:4;9193:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9168:9;:24;9186:4;9168:24;;;;;;;;;;;;;;;:64;;;;9273:4;9250:39;;9259:4;9250:39;;;9279:9;9250:39;;;;;;:::i;:::-;;;;;;;;9138:163;9329:27;9349:6;9329:9;:15;9339:4;9329:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;9313:9;:15;9323:4;9313:15;;;;;;;;;;;;;;;:43;;;;9381:40;9399:21;9410:9;9399:6;:10;;:21;;;;:::i;:::-;9381:9;:13;9391:2;9381:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;9367:9;:13;9377:2;9367:13;;;;;;;;;;;;;;;:54;;;;9452:2;9437:41;;9446:4;9437:41;;;9456:21;9467:9;9456:6;:10;;:21;;;;:::i;:::-;9437:41;;;;;;:::i;:::-;;;;;;;;7568:1918;7499:1987;;;:::o;1736:190::-;1822:7;1855:1;1850;:6;;1858:12;1842:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1882:9;1898:1;1894;:5;;;;:::i;:::-;1882:17;;1917:1;1910:8;;;1736:190;;;;;:::o;9602:483::-;5397:4;5388:6;;:13;;;;;;;;;;;;;;;;;;9680:21:::1;9718:1;9704:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9680:40;;9749:4;9731;9736:1;9731:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9775:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9765:4;9770:1;9765:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;9808:62;9825:4;9840:15;;;;;;;;;;;9858:11;9808:8;:62::i;:::-;9881:15;;;;;;;;;;;:66;;;9962:11;9988:1;10004:4;10031;10051:15;9881:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9669:416;5433:5:::0;5424:6;;:14;;;;;;;;;;;;;;;;;;9602:483;:::o;10297:98::-;10354:16;;;;;;;;;;;:25;;:33;10380:6;10354:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10297:98;:::o;1934:246::-;1992:7;2021:1;2016;:6;2012:47;;2046:1;2039:8;;;;2012:47;2069:9;2085:1;2081;:5;;;;:::i;:::-;2069:17;;2114:1;2109;2105;:5;;;;:::i;:::-;:10;2097:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2171:1;2164:8;;;1934:246;;;;;:::o;2188:132::-;2246:7;2273:39;2277:1;2280;2273:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2266:46;;2188:132;;;;:::o;9496:98::-;9553:7;9580:1;9578;:3;9577:9;;9585:1;9577:9;;;9583:1;9577:9;9570:16;;9496:98;;;;:::o;1405:179::-;1463:7;1483:9;1499:1;1495;:5;;;;:::i;:::-;1483:17;;1524:1;1519;:6;;1511:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1575:1;1568:8;;;1405:179;;;;:::o;1592:136::-;1650:7;1677:43;1681:1;1684;1677:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1670:50;;1592:136;;;;:::o;2328:189::-;2414:7;2446:1;2442;:5;2449:12;2434:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2473:9;2489:1;2485;:5;;;;:::i;:::-;2473:17;;2508:1;2501:8;;;2328:189;;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::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:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:117::-;4532:1;4529;4522:12;4546:117;4655:1;4652;4645:12;4669:117;4778:1;4775;4768:12;4809:568;4882:8;4892:6;4942:3;4935:4;4927:6;4923:17;4919:27;4909:122;;4950:79;;:::i;:::-;4909:122;5063:6;5050:20;5040:30;;5093:18;5085:6;5082:30;5079:117;;;5115:79;;:::i;:::-;5079:117;5229:4;5221:6;5217:17;5205:29;;5283:3;5275:4;5267:6;5263:17;5253:8;5249:32;5246:41;5243:128;;;5290:79;;:::i;:::-;5243:128;4809:568;;;;;:::o;5383:559::-;5469:6;5477;5526:2;5514:9;5505:7;5501:23;5497:32;5494:119;;;5532:79;;:::i;:::-;5494:119;5680:1;5669:9;5665:17;5652:31;5710:18;5702:6;5699:30;5696:117;;;5732:79;;:::i;:::-;5696:117;5845:80;5917:7;5908:6;5897:9;5893:22;5845:80;:::i;:::-;5827:98;;;;5623:312;5383:559;;;;;:::o;5948:86::-;5983:7;6023:4;6016:5;6012:16;6001:27;;5948:86;;;:::o;6040:112::-;6123:22;6139:5;6123:22;:::i;:::-;6118:3;6111:35;6040:112;;:::o;6158:214::-;6247:4;6285:2;6274:9;6270:18;6262:26;;6298:67;6362:1;6351:9;6347:17;6338:6;6298:67;:::i;:::-;6158:214;;;;:::o;6378:329::-;6437:6;6486:2;6474:9;6465:7;6461:23;6457:32;6454:119;;;6492:79;;:::i;:::-;6454:119;6612:1;6637:53;6682:7;6673:6;6662:9;6658:22;6637:53;:::i;:::-;6627:63;;6583:117;6378:329;;;;:::o;6713:118::-;6800:24;6818:5;6800:24;:::i;:::-;6795:3;6788:37;6713:118;;:::o;6837:222::-;6930:4;6968:2;6957:9;6953:18;6945:26;;6981:71;7049:1;7038:9;7034:17;7025:6;6981:71;:::i;:::-;6837:222;;;;:::o;7065:474::-;7133:6;7141;7190:2;7178:9;7169:7;7165:23;7161:32;7158:119;;;7196:79;;:::i;:::-;7158:119;7316:1;7341:53;7386:7;7377:6;7366:9;7362:22;7341:53;:::i;:::-;7331:63;;7287:117;7443:2;7469:53;7514:7;7505:6;7494:9;7490:22;7469:53;:::i;:::-;7459:63;;7414:118;7065:474;;;;;:::o;7545:::-;7613:6;7621;7670:2;7658:9;7649:7;7645:23;7641:32;7638:119;;;7676:79;;:::i;:::-;7638:119;7796:1;7821:53;7866:7;7857:6;7846:9;7842:22;7821:53;:::i;:::-;7811:63;;7767:117;7923:2;7949:53;7994:7;7985:6;7974:9;7970:22;7949:53;:::i;:::-;7939:63;;7894:118;7545:474;;;;;:::o;8025:180::-;8073:77;8070:1;8063:88;8170:4;8167:1;8160:15;8194:4;8191:1;8184:15;8211:102;8253:8;8300:5;8297:1;8293:13;8272:34;;8211:102;;;:::o;8319:848::-;8380:5;8387:4;8411:6;8402:15;;8435:5;8426:14;;8449:712;8470:1;8460:8;8457:15;8449:712;;;8565:4;8560:3;8556:14;8550:4;8547:24;8544:50;;;8574:18;;:::i;:::-;8544:50;8624:1;8614:8;8610:16;8607:451;;;9039:4;9032:5;9028:16;9019:25;;8607:451;9089:4;9083;9079:15;9071:23;;9119:32;9142:8;9119:32;:::i;:::-;9107:44;;8449:712;;;8319:848;;;;;;;:::o;9173:1073::-;9227:5;9418:8;9408:40;;9439:1;9430:10;;9441:5;;9408:40;9467:4;9457:36;;9484:1;9475:10;;9486:5;;9457:36;9553:4;9601:1;9596:27;;;;9637:1;9632:191;;;;9546:277;;9596:27;9614:1;9605:10;;9616:5;;;9632:191;9677:3;9667:8;9664:17;9661:43;;;9684:18;;:::i;:::-;9661:43;9733:8;9730:1;9726:16;9717:25;;9768:3;9761:5;9758:14;9755:40;;;9775:18;;:::i;:::-;9755:40;9808:5;;;9546:277;;9932:2;9922:8;9919:16;9913:3;9907:4;9904:13;9900:36;9882:2;9872:8;9869:16;9864:2;9858:4;9855:12;9851:35;9835:111;9832:246;;;9988:8;9982:4;9978:19;9969:28;;10023:3;10016:5;10013:14;10010:40;;;10030:18;;:::i;:::-;10010:40;10063:5;;9832:246;10103:42;10141:3;10131:8;10125:4;10122:1;10103:42;:::i;:::-;10088:57;;;;10177:4;10172:3;10168:14;10161:5;10158:25;10155:51;;;10186:18;;:::i;:::-;10155:51;10235:4;10228:5;10224:16;10215:25;;9173:1073;;;;;;:::o;10252:281::-;10310:5;10334:23;10352:4;10334:23;:::i;:::-;10326:31;;10378:25;10394:8;10378:25;:::i;:::-;10366:37;;10422:104;10459:66;10449:8;10443:4;10422:104;:::i;:::-;10413:113;;10252:281;;;;:::o;10539:410::-;10579:7;10602:20;10620:1;10602:20;:::i;:::-;10597:25;;10636:20;10654:1;10636:20;:::i;:::-;10631:25;;10691:1;10688;10684:9;10713:30;10731:11;10713:30;:::i;:::-;10702:41;;10892:1;10883:7;10879:15;10876:1;10873:22;10853:1;10846:9;10826:83;10803:139;;10922:18;;:::i;:::-;10803:139;10587:362;10539:410;;;;:::o;10955:182::-;11095:34;11091:1;11083:6;11079:14;11072:58;10955:182;:::o;11143:366::-;11285:3;11306:67;11370:2;11365:3;11306:67;:::i;:::-;11299:74;;11382:93;11471:3;11382:93;:::i;:::-;11500:2;11495:3;11491:12;11484:19;;11143:366;;;:::o;11515:419::-;11681:4;11719:2;11708:9;11704:18;11696:26;;11768:9;11762:4;11758:20;11754:1;11743:9;11739:17;11732:47;11796:131;11922:4;11796:131;:::i;:::-;11788:139;;11515:419;;;:::o;11940:173::-;12080:25;12076:1;12068:6;12064:14;12057:49;11940:173;:::o;12119:366::-;12261:3;12282:67;12346:2;12341:3;12282:67;:::i;:::-;12275:74;;12358:93;12447:3;12358:93;:::i;:::-;12476:2;12471:3;12467:12;12460:19;;12119:366;;;:::o;12491:419::-;12657:4;12695:2;12684:9;12680:18;12672:26;;12744:9;12738:4;12734:20;12730:1;12719:9;12715:17;12708:47;12772:131;12898:4;12772:131;:::i;:::-;12764:139;;12491:419;;;:::o;12916:143::-;12973:5;13004:6;12998:13;12989:22;;13020:33;13047:5;13020:33;:::i;:::-;12916:143;;;;:::o;13065:351::-;13135:6;13184:2;13172:9;13163:7;13159:23;13155:32;13152:119;;;13190:79;;:::i;:::-;13152:119;13310:1;13335:64;13391:7;13382:6;13371:9;13367:22;13335:64;:::i;:::-;13325:74;;13281:128;13065:351;;;;:::o;13422:332::-;13543:4;13581:2;13570:9;13566:18;13558:26;;13594:71;13662:1;13651:9;13647:17;13638:6;13594:71;:::i;:::-;13675:72;13743:2;13732:9;13728:18;13719:6;13675:72;:::i;:::-;13422:332;;;;;:::o;13760:85::-;13805:7;13834:5;13823:16;;13760:85;;;:::o;13851:60::-;13879:3;13900:5;13893:12;;13851:60;;;:::o;13917:158::-;13975:9;14008:61;14026:42;14035:32;14061:5;14035:32;:::i;:::-;14026:42;:::i;:::-;14008:61;:::i;:::-;13995:74;;13917:158;;;:::o;14081:147::-;14176:45;14215:5;14176:45;:::i;:::-;14171:3;14164:58;14081:147;;:::o;14234:807::-;14483:4;14521:3;14510:9;14506:19;14498:27;;14535:71;14603:1;14592:9;14588:17;14579:6;14535:71;:::i;:::-;14616:72;14684:2;14673:9;14669:18;14660:6;14616:72;:::i;:::-;14698:80;14774:2;14763:9;14759:18;14750:6;14698:80;:::i;:::-;14788;14864:2;14853:9;14849:18;14840:6;14788:80;:::i;:::-;14878:73;14946:3;14935:9;14931:19;14922:6;14878:73;:::i;:::-;14961;15029:3;15018:9;15014:19;15005:6;14961:73;:::i;:::-;14234:807;;;;;;;;;:::o;15047:143::-;15104:5;15135:6;15129:13;15120:22;;15151:33;15178:5;15151:33;:::i;:::-;15047:143;;;;:::o;15196:663::-;15284:6;15292;15300;15349:2;15337:9;15328:7;15324:23;15320:32;15317:119;;;15355:79;;:::i;:::-;15317:119;15475:1;15500:64;15556:7;15547:6;15536:9;15532:22;15500:64;:::i;:::-;15490:74;;15446:128;15613:2;15639:64;15695:7;15686:6;15675:9;15671:22;15639:64;:::i;:::-;15629:74;;15584:129;15752:2;15778:64;15834:7;15825:6;15814:9;15810:22;15778:64;:::i;:::-;15768:74;;15723:129;15196:663;;;;;:::o;15865:332::-;15986:4;16024:2;16013:9;16009:18;16001:26;;16037:71;16105:1;16094:9;16090:17;16081:6;16037:71;:::i;:::-;16118:72;16186:2;16175:9;16171:18;16162:6;16118:72;:::i;:::-;15865:332;;;;;:::o;16203:116::-;16273:21;16288:5;16273:21;:::i;:::-;16266:5;16263:32;16253:60;;16309:1;16306;16299:12;16253:60;16203:116;:::o;16325:137::-;16379:5;16410:6;16404:13;16395:22;;16426:30;16450:5;16426:30;:::i;:::-;16325:137;;;;:::o;16468:345::-;16535:6;16584:2;16572:9;16563:7;16559:23;16555:32;16552:119;;;16590:79;;:::i;:::-;16552:119;16710:1;16735:61;16788:7;16779:6;16768:9;16764:22;16735:61;:::i;:::-;16725:71;;16681:125;16468:345;;;;:::o;16819:223::-;16959:34;16955:1;16947:6;16943:14;16936:58;17028:6;17023:2;17015:6;17011:15;17004:31;16819:223;:::o;17048:366::-;17190:3;17211:67;17275:2;17270:3;17211:67;:::i;:::-;17204:74;;17287:93;17376:3;17287:93;:::i;:::-;17405:2;17400:3;17396:12;17389:19;;17048:366;;;:::o;17420:419::-;17586:4;17624:2;17613:9;17609:18;17601:26;;17673:9;17667:4;17663:20;17659:1;17648:9;17644:17;17637:47;17701:131;17827:4;17701:131;:::i;:::-;17693:139;;17420:419;;;:::o;17845:221::-;17985:34;17981:1;17973:6;17969:14;17962:58;18054:4;18049:2;18041:6;18037:15;18030:29;17845:221;:::o;18072:366::-;18214:3;18235:67;18299:2;18294:3;18235:67;:::i;:::-;18228:74;;18311:93;18400:3;18311:93;:::i;:::-;18429:2;18424:3;18420:12;18413:19;;18072:366;;;:::o;18444:419::-;18610:4;18648:2;18637:9;18633:18;18625:26;;18697:9;18691:4;18687:20;18683:1;18672:9;18668:17;18661:47;18725:131;18851:4;18725:131;:::i;:::-;18717:139;;18444:419;;;:::o;18869:224::-;19009:34;19005:1;18997:6;18993:14;18986:58;19078:7;19073:2;19065:6;19061:15;19054:32;18869:224;:::o;19099:366::-;19241:3;19262:67;19326:2;19321:3;19262:67;:::i;:::-;19255:74;;19338:93;19427:3;19338:93;:::i;:::-;19456:2;19451:3;19447:12;19440:19;;19099:366;;;:::o;19471:419::-;19637:4;19675:2;19664:9;19660:18;19652:26;;19724:9;19718:4;19714:20;19710:1;19699:9;19695:17;19688:47;19752:131;19878:4;19752:131;:::i;:::-;19744:139;;19471:419;;;:::o;19896:222::-;20036:34;20032:1;20024:6;20020:14;20013:58;20105:5;20100:2;20092:6;20088:15;20081:30;19896:222;:::o;20124:366::-;20266:3;20287:67;20351:2;20346:3;20287:67;:::i;:::-;20280:74;;20363:93;20452:3;20363:93;:::i;:::-;20481:2;20476:3;20472:12;20465:19;;20124:366;;;:::o;20496:419::-;20662:4;20700:2;20689:9;20685:18;20677:26;;20749:9;20743:4;20739:20;20735:1;20724:9;20720:17;20713:47;20777:131;20903:4;20777:131;:::i;:::-;20769:139;;20496:419;;;:::o;20921:228::-;21061:34;21057:1;21049:6;21045:14;21038:58;21130:11;21125:2;21117:6;21113:15;21106:36;20921:228;:::o;21155:366::-;21297:3;21318:67;21382:2;21377:3;21318:67;:::i;:::-;21311:74;;21394:93;21483:3;21394:93;:::i;:::-;21512:2;21507:3;21503:12;21496:19;;21155:366;;;:::o;21527:419::-;21693:4;21731:2;21720:9;21716:18;21708:26;;21780:9;21774:4;21770:20;21766:1;21755:9;21751:17;21744:47;21808:131;21934:4;21808:131;:::i;:::-;21800:139;;21527:419;;;:::o;21952:172::-;22092:24;22088:1;22080:6;22076:14;22069:48;21952:172;:::o;22130:366::-;22272:3;22293:67;22357:2;22352:3;22293:67;:::i;:::-;22286:74;;22369:93;22458:3;22369:93;:::i;:::-;22487:2;22482:3;22478:12;22471:19;;22130:366;;;:::o;22502:419::-;22668:4;22706:2;22695:9;22691:18;22683:26;;22755:9;22749:4;22745:20;22741:1;22730:9;22726:17;22719:47;22783:131;22909:4;22783:131;:::i;:::-;22775:139;;22502:419;;;:::o;22927:175::-;23067:27;23063:1;23055:6;23051:14;23044:51;22927:175;:::o;23108:366::-;23250:3;23271:67;23335:2;23330:3;23271:67;:::i;:::-;23264:74;;23347:93;23436:3;23347:93;:::i;:::-;23465:2;23460:3;23456:12;23449:19;;23108:366;;;:::o;23480:419::-;23646:4;23684:2;23673:9;23669:18;23661:26;;23733:9;23727:4;23723:20;23719:1;23708:9;23704:17;23697:47;23761:131;23887:4;23761:131;:::i;:::-;23753:139;;23480:419;;;:::o;23905:191::-;23945:3;23964:20;23982:1;23964:20;:::i;:::-;23959:25;;23998:20;24016:1;23998:20;:::i;:::-;23993:25;;24041:1;24038;24034:9;24027:16;;24062:3;24059:1;24056:10;24053:36;;;24069:18;;:::i;:::-;24053:36;23905:191;;;;:::o;24102:176::-;24242:28;24238:1;24230:6;24226:14;24219:52;24102:176;:::o;24284:366::-;24426:3;24447:67;24511:2;24506:3;24447:67;:::i;:::-;24440:74;;24523:93;24612:3;24523:93;:::i;:::-;24641:2;24636:3;24632:12;24625:19;;24284:366;;;:::o;24656:419::-;24822:4;24860:2;24849:9;24845:18;24837:26;;24909:9;24903:4;24899:20;24895:1;24884:9;24880:17;24873:47;24937:131;25063:4;24937:131;:::i;:::-;24929:139;;24656:419;;;:::o;25081:194::-;25121:4;25141:20;25159:1;25141:20;:::i;:::-;25136:25;;25175:20;25193:1;25175:20;:::i;:::-;25170:25;;25219:1;25216;25212:9;25204:17;;25243:1;25237:4;25234:11;25231:37;;;25248:18;;:::i;:::-;25231:37;25081:194;;;;:::o;25281:180::-;25329:77;25326:1;25319:88;25426:4;25423:1;25416:15;25450:4;25447:1;25440:15;25467:180;25515:77;25512:1;25505:88;25612:4;25609:1;25602:15;25636:4;25633:1;25626:15;25653:114;25720:6;25754:5;25748:12;25738:22;;25653:114;;;:::o;25773:184::-;25872:11;25906:6;25901:3;25894:19;25946:4;25941:3;25937:14;25922:29;;25773:184;;;;:::o;25963:132::-;26030:4;26053:3;26045:11;;26083:4;26078:3;26074:14;26066:22;;25963:132;;;:::o;26101:108::-;26178:24;26196:5;26178:24;:::i;:::-;26173:3;26166:37;26101:108;;:::o;26215:179::-;26284:10;26305:46;26347:3;26339:6;26305:46;:::i;:::-;26383:4;26378:3;26374:14;26360:28;;26215:179;;;;:::o;26400:113::-;26470:4;26502;26497:3;26493:14;26485:22;;26400:113;;;:::o;26549:732::-;26668:3;26697:54;26745:5;26697:54;:::i;:::-;26767:86;26846:6;26841:3;26767:86;:::i;:::-;26760:93;;26877:56;26927:5;26877:56;:::i;:::-;26956:7;26987:1;26972:284;26997:6;26994:1;26991:13;26972:284;;;27073:6;27067:13;27100:63;27159:3;27144:13;27100:63;:::i;:::-;27093:70;;27186:60;27239:6;27186:60;:::i;:::-;27176:70;;27032:224;27019:1;27016;27012:9;27007:14;;26972:284;;;26976:14;27272:3;27265:10;;26673:608;;;26549:732;;;;:::o;27287:831::-;27550:4;27588:3;27577:9;27573:19;27565:27;;27602:71;27670:1;27659:9;27655:17;27646:6;27602:71;:::i;:::-;27683:80;27759:2;27748:9;27744:18;27735:6;27683:80;:::i;:::-;27810:9;27804:4;27800:20;27795:2;27784:9;27780:18;27773:48;27838:108;27941:4;27932:6;27838:108;:::i;:::-;27830:116;;27956:72;28024:2;28013:9;28009:18;28000:6;27956:72;:::i;:::-;28038:73;28106:3;28095:9;28091:19;28082:6;28038:73;:::i;:::-;27287:831;;;;;;;;:::o;28124:180::-;28172:77;28169:1;28162:88;28269:4;28266:1;28259:15;28293:4;28290:1;28283:15;28310:185;28350:1;28367:20;28385:1;28367:20;:::i;:::-;28362:25;;28401:20;28419:1;28401:20;:::i;:::-;28396:25;;28440:1;28430:35;;28445:18;;:::i;:::-;28430:35;28487:1;28484;28480:9;28475:14;;28310:185;;;;:::o;28501:220::-;28641:34;28637:1;28629:6;28625:14;28618:58;28710:3;28705:2;28697:6;28693:15;28686:28;28501:220;:::o;28727:366::-;28869:3;28890:67;28954:2;28949:3;28890:67;:::i;:::-;28883:74;;28966:93;29055:3;28966:93;:::i;:::-;29084:2;29079:3;29075:12;29068:19;;28727:366;;;:::o;29099:419::-;29265:4;29303:2;29292:9;29288:18;29280:26;;29352:9;29346:4;29342:20;29338:1;29327:9;29323:17;29316:47;29380:131;29506:4;29380:131;:::i;:::-;29372:139;;29099:419;;;:::o;29524:177::-;29664:29;29660:1;29652:6;29648:14;29641:53;29524:177;:::o;29707:366::-;29849:3;29870:67;29934:2;29929:3;29870:67;:::i;:::-;29863:74;;29946:93;30035:3;29946:93;:::i;:::-;30064:2;30059:3;30055:12;30048:19;;29707:366;;;:::o;30079:419::-;30245:4;30283:2;30272:9;30268:18;30260:26;;30332:9;30326:4;30322:20;30318:1;30307:9;30303:17;30296:47;30360:131;30486:4;30360:131;:::i;:::-;30352:139;;30079:419;;;:::o
Swarm Source
ipfs://b448473442a94e2295bbc3df75173f8f74742764e0ae50db5dd98e1bcc0c7342
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)