ETH Price: $3,458.74 (-1.78%)
Gas: 4 Gwei

Token

GaryGenslerComprisedYouAreYouGoingToHaveThat (COMPROMISED)
 

Overview

Max Total Supply

420,690,000,000,000 COMPROMISED

Holders

121

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
4,456,539,702,192.097207952 COMPROMISED

Value
$0.00
0xce3416324d4695cd700ae4d1f760f51cb38af7c2
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
COMRPOMISED

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-01-10
*/

// SPDX-License-Identifier: MIT

/*
ARE YOU GOING TO LET GARY DO THIS TO YOU?
https://twitter.com/compromisederc
https://compromisederc.com
t.me/compromisederc
*/
            
pragma solidity 0.8.19;
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}
interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}
contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }
    function owner() public view returns (address) {
        return _owner;
    }
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
    function transferOwnership(address newOwner) public virtual onlyOwner() {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

}
interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}
interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract COMRPOMISED is Context, IERC20, Ownable {
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    address public constant deadWallet = 0x000000000000000000000000000000000000dEaD;
    address payable public MarketingWallet;
    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal =  420690000000000 * 10**_decimals; 
    string private constant _name = "GaryGenslerComprisedYouAreYouGoingToHaveThat";
    string private constant _symbol = "COMPROMISED";
    uint256 private SwapTokens = 1262070000000 * 10**_decimals; 
    uint256 private maxSwapTokens = 4206900000000 * 10**_decimals;
    uint256 public maxTxAmount = 8413800000000 * 10**_decimals; 
    uint256 private _launchBuyTax = 0;
    uint256 private _launchSellTax = 0;
    uint256 private buyTaxes = 0;
    uint256 private sellTaxes = 0;
    bool private _isFinalFeeDone = false;
    uint256 private _Buys_In = 0;
   
    IUniswapV2Router02 public uniswapV2Router;
    address private uniswapV2Pair;
    bool public tradeEnable = false;
    bool private _SwapBackEnable = false;
    bool private inSwap = false;
    event FeesRecieverUpdated(address indexed _newWallet);
    event ExcludeFromFeeUpdated(address indexed account);
    event includeFromFeeUpdated(address indexed account);
    event SwapThreshouldUpdated(uint256 indexed minToken, uint256 indexed maxToken);
    event SwapBackSettingUpdated(bool indexed state);
    event ERC20TokensRecovered(uint256 indexed _amount);
    event TradingOpenUpdated();
    event ETHBalanceRecovered();
    
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor () {
    if (block.chainid == 56){
     uniswapV2Router = IUniswapV2Router02(0x10ED43C718714eb63d5aA57B78B54704E256024E); // PCS BSC Mainnet Router
     }
    else if(block.chainid == 1 || block.chainid == 5){
          uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); // Uniswap ETH Mainnet Router
      }
    else if(block.chainid == 42161){
           uniswapV2Router = IUniswapV2Router02(0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506); // Sushi Arbitrum Mainnet Router
      }
    else  if (block.chainid == 97){
     uniswapV2Router = IUniswapV2Router02(0xD99D1c33F9fC3444f8101754aBC46c52416550D1); // PCS BSC Testnet Router
     }
    else {
         revert("Wrong Chain Id");
        }
    uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
         MarketingWallet = payable(0xF10aAb119C18ae88b75008DDF36D5dbdd779fd16);
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[_msgSender()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[MarketingWallet] = true;
        _isExcludedFromFee[deadWallet] = true;

       emit Transfer(address(0), _msgSender(), _tTotal);
    }
    function name() public pure returns (string memory) {
        return _name;
    }
    function symbol() public pure returns (string memory) {
        return _symbol;
    }
    function decimals() public pure returns (uint8) {
        return _decimals;
    }
    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }
    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }
    function min(uint256 a, uint256 b) private pure returns (uint256) {
        return (a > b) ? b : a;
    }
    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) {
        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), currentAllowance - amount);
        return true;
    }
    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 TaxSwap=0;

        if (!_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
            require(tradeEnable, "Trading not enabled");       
               TaxSwap = amount * ((_isFinalFeeDone)? buyTaxes : _launchBuyTax) / (100);
        }
        
         if (_isExcludedFromFee[from] || _isExcludedFromFee[to]) {
            TaxSwap = 0;
        } 
         
          if (from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to]) {
             require(amount <= maxTxAmount, "Exceeds the _maxTxAmount.");
             require(balanceOf(to) + amount <= maxTxAmount, "Exceeds the maxWalletSize.");
              _Buys_In++;
          } 
        
          if (from != uniswapV2Pair && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
             require(amount <= maxTxAmount, "Exceeds the _maxTxAmount.");
          }
        
          if (to == uniswapV2Pair && from != address(this) && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                   TaxSwap = amount * ((_isFinalFeeDone)? sellTaxes : _launchSellTax) / (100);
                
                } 
       
             uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && from != uniswapV2Pair && _SwapBackEnable && contractTokenBalance > SwapTokens && _Buys_In > 1) {
                swapTokensForEth(min(amount, min(contractTokenBalance, maxSwapTokens)));
               uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        _balances[from] = _balances[from] - amount; 
        _balances[to] = _balances[to] + (amount - (TaxSwap));
        emit Transfer(from, to, amount - (TaxSwap));
         if(TaxSwap > 0){
          _balances[address(this)] = _balances[address(this)] + (TaxSwap);
          emit Transfer(from, address(this),TaxSwap);
        }
    }
    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        require(tokenAmount > 0, "amount must be greeter than 0");
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
    function sendETHToFee(uint256 amount) private {
       require(amount > 0, "amount must be greeter than 0");
        MarketingWallet.transfer(amount);
    }
   function removeMaxTxLimit() external onlyOwner {maxTxAmount = _tTotal;}
   function updateFinalFee() external onlyOwner {_isFinalFeeDone = true;}
   function updateSwapBackSetting(bool state) external onlyOwner {_SwapBackEnable = state;emit SwapBackSettingUpdated(state);}
   function setMarketingWallet(address payable _newWallet) external onlyOwner {
       require(_newWallet != address(this), "CA will not be the Fee Reciever");
       require(_newWallet != address(0), "0 addy will not be the fee Reciever");
       MarketingWallet = _newWallet;
      _isExcludedFromFee[_newWallet] = true;
    emit FeesRecieverUpdated(_newWallet);
    }
    
    function excludeFromFee(address account) external onlyOwner {
      require(_isExcludedFromFee[account] != true,"Account is already excluded");
       _isExcludedFromFee[account] = true;
    emit ExcludeFromFeeUpdated(account);
   }
   
    function includeFromFee(address account) external onlyOwner {
         require(_isExcludedFromFee[account] != false, "Account is already included");
        _isExcludedFromFee[account] = false;
     emit includeFromFeeUpdated(account);
    }
   
    function updateThreshouldToken(uint256 minToken, uint256 maxToken) external onlyOwner {
        require(maxToken <= 4206900000000, "amount must be less than or equal to 1% of the supply");
        require(minToken <= 1262070000000, "amount must be less than or equal to 0.3% of the supply");
        SwapTokens = minToken * 10**_decimals;
       maxSwapTokens = maxToken * 10**_decimals;
    emit SwapThreshouldUpdated(minToken, maxToken);
    }
    
    function OpenTrading() external onlyOwner() {
        require(!tradeEnable,"trading is already open");
        _SwapBackEnable = true;
         tradeEnable = true;
       emit TradingOpenUpdated();
    }
    
    receive() external payable {}
   
    function recoverERC20FromContract(address _tokenAddy, uint256 _amount) external onlyOwner {
        require(_tokenAddy != address(this), "Owner can't claim contract's balance of its own tokens");
        require(_amount > 0, "Amount should be greater than zero");
        require(_amount <= IERC20(_tokenAddy).balanceOf(address(this)), "Insufficient Amount");
        IERC20(_tokenAddy).transfer(MarketingWallet, _amount);
      emit ERC20TokensRecovered(_amount); 
    }
   
    function recoverETHfromContract() external {
        uint256 contractETHBalance = address(this).balance;
        require(contractETHBalance > 0, "Amount should be greater than zero");
        require(contractETHBalance <= address(this).balance, "Insufficient Amount");
        payable(address(MarketingWallet)).transfer(contractETHBalance);
      emit ETHBalanceRecovered();
    }
}

Contract Security Audit

Contract ABI

[{"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":"uint256","name":"_amount","type":"uint256"}],"name":"ERC20TokensRecovered","type":"event"},{"anonymous":false,"inputs":[],"name":"ETHBalanceRecovered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"ExcludeFromFeeUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_newWallet","type":"address"}],"name":"FeesRecieverUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bool","name":"state","type":"bool"}],"name":"SwapBackSettingUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"minToken","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"maxToken","type":"uint256"}],"name":"SwapThreshouldUpdated","type":"event"},{"anonymous":false,"inputs":[],"name":"TradingOpenUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"includeFromFeeUpdated","type":"event"},{"inputs":[],"name":"MarketingWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"OpenTrading","outputs":[],"stateMutability":"nonpayable","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":"deadWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTxAmount","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":[{"internalType":"address","name":"_tokenAddy","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"recoverERC20FromContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"recoverETHfromContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeMaxTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_newWallet","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tradeEnable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"updateFinalFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"state","type":"bool"}],"name":"updateSwapBackSetting","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"minToken","type":"uint256"},{"internalType":"uint256","name":"maxToken","type":"uint256"}],"name":"updateThreshouldToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526009600a62000014919062000a20565b650125d93be98062000027919062000a71565b6005556009600a6200003a919062000a20565b6503d37ec7b5006200004d919062000a71565b6006556009600a62000060919062000a20565b6507a6fd8f6a0062000073919062000a71565b600755600060085560006009556000600a556000600b556000600c60006101000a81548160ff0219169083151502179055506000600d556000600f60146101000a81548160ff0219169083151502179055506000600f60156101000a81548160ff0219169083151502179055506000600f60166101000a81548160ff0219169083151502179055503480156200010857600080fd5b5060006200011b6200087e60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350603846036200021d577310ed43c718714eb63d5aa57b78b54704e256024e600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000397565b60014614806200022d5750600546145b156200028e57737a250d5630b4cf539739df2c5dacb4c659f2488d600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000396565b61a4b14603620002f357731b02da8cb0d097eb8d57a175b88c7d8b47997506600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000395565b60614603620003575773d99d1c33f9fc3444f8101754abc46c52416550d1600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000394565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200038b9062000b1d565b60405180910390fd5b5b5b5b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000405573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200042b919062000ba9565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620004b5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004db919062000ba9565b6040518363ffffffff1660e01b8152600401620004fa92919062000bec565b6020604051808303816000875af11580156200051a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000540919062000ba9565b600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073f10aab119c18ae88b75008ddf36d5dbdd779fd16600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a620005e5919062000a20565b66017e9d8602b400620005f9919062000a71565b600160006200060d6200087e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160036000620006616200087e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016003600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620007ee6200087e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a6200084d919062000a20565b66017e9d8602b40062000861919062000a71565b60405162000870919062000c2a565b60405180910390a362000c47565b600033905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200091457808604811115620008ec57620008eb62000886565b5b6001851615620008fc5780820291505b80810290506200090c85620008b5565b9450620008cc565b94509492505050565b6000826200092f576001905062000a02565b816200093f576000905062000a02565b8160018114620009585760028114620009635762000999565b600191505062000a02565b60ff84111562000978576200097762000886565b5b8360020a91508482111562000992576200099162000886565b5b5062000a02565b5060208310610133831016604e8410600b8410161715620009d35782820a905083811115620009cd57620009cc62000886565b5b62000a02565b620009e28484846001620008c2565b92509050818404811115620009fc57620009fb62000886565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062000a2d8262000a09565b915062000a3a8362000a13565b925062000a697fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200091d565b905092915050565b600062000a7e8262000a09565b915062000a8b8362000a09565b925082820262000a9b8162000a09565b9150828204841483151762000ab55762000ab462000886565b5b5092915050565b600082825260208201905092915050565b7f57726f6e6720436861696e204964000000000000000000000000000000000000600082015250565b600062000b05600e8362000abc565b915062000b128262000acd565b602082019050919050565b6000602082019050818103600083015262000b388162000af6565b9050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000b718262000b44565b9050919050565b62000b838162000b64565b811462000b8f57600080fd5b50565b60008151905062000ba38162000b78565b92915050565b60006020828403121562000bc25762000bc162000b3f565b5b600062000bd28482850162000b92565b91505092915050565b62000be68162000b64565b82525050565b600060408201905062000c03600083018562000bdb565b62000c12602083018462000bdb565b9392505050565b62000c248162000a09565b82525050565b600060208201905062000c41600083018462000c19565b92915050565b6141ab8062000c576000396000f3fe6080604052600436106101a05760003560e01c8063715018a6116100ec578063a9059cbb1161008a578063f2fde38b11610064578063f2fde38b14610577578063f87dc2c6146105a0578063fe48b4c6146105cb578063ff511828146105f4576101a7565b8063a9059cbb146104e6578063ce831ed514610523578063dd62ed3e1461053a576101a7565b80638da5cb5b116100c65780638da5cb5b1461045057806395d89b411461047b578063a1d79776146104a6578063a333b4ab146104bd576101a7565b8063715018a6146103e357806385141a77146103fa5780638c0b5e2214610425576101a7565b8063313ce5671161015957806351cd7cc31161013357806351cd7cc31461033d5780635d098b38146103545780636dff2eeb1461037d57806370a08231146103a6576101a7565b8063313ce567146102d2578063437823ec146102fd5780634415fb6114610326576101a7565b806306fdde03146101ac578063095ea7b3146101d75780631694505e1461021457806318160ddd1461023f57806323b872dd1461026a5780632598cdb2146102a7576101a7565b366101a757005b600080fd5b3480156101b857600080fd5b506101c161061d565b6040516101ce9190612c55565b60405180910390f35b3480156101e357600080fd5b506101fe60048036038101906101f99190612d10565b61063d565b60405161020b9190612d6b565b60405180910390f35b34801561022057600080fd5b5061022961065b565b6040516102369190612de5565b60405180910390f35b34801561024b57600080fd5b50610254610681565b6040516102619190612e0f565b60405180910390f35b34801561027657600080fd5b50610291600480360381019061028c9190612e2a565b6106a8565b60405161029e9190612d6b565b60405180910390f35b3480156102b357600080fd5b506102bc6107a8565b6040516102c99190612e9e565b60405180910390f35b3480156102de57600080fd5b506102e76107ce565b6040516102f49190612ed5565b60405180910390f35b34801561030957600080fd5b50610324600480360381019061031f9190612ef0565b6107d7565b005b34801561033257600080fd5b5061033b61099d565b005b34801561034957600080fd5b50610352610a5a565b005b34801561036057600080fd5b5061037b60048036038101906103769190612f49565b610ba3565b005b34801561038957600080fd5b506103a4600480360381019061039f9190612d10565b610df4565b005b3480156103b257600080fd5b506103cd60048036038101906103c89190612ef0565b6110c8565b6040516103da9190612e0f565b60405180910390f35b3480156103ef57600080fd5b506103f8611111565b005b34801561040657600080fd5b5061040f611264565b60405161041c9190612f85565b60405180910390f35b34801561043157600080fd5b5061043a61126a565b6040516104479190612e0f565b60405180910390f35b34801561045c57600080fd5b50610465611270565b6040516104729190612f85565b60405180910390f35b34801561048757600080fd5b50610490611299565b60405161049d9190612c55565b60405180910390f35b3480156104b257600080fd5b506104bb6112d6565b005b3480156104c957600080fd5b506104e460048036038101906104df9190612fcc565b611388565b005b3480156104f257600080fd5b5061050d60048036038101906105089190612d10565b611469565b60405161051a9190612d6b565b60405180910390f35b34801561052f57600080fd5b50610538611487565b005b34801561054657600080fd5b50610561600480360381019061055c9190612ff9565b6115aa565b60405161056e9190612e0f565b60405180910390f35b34801561058357600080fd5b5061059e60048036038101906105999190612ef0565b611631565b005b3480156105ac57600080fd5b506105b5611741565b6040516105c29190612d6b565b60405180910390f35b3480156105d757600080fd5b506105f260048036038101906105ed9190613039565b611754565b005b34801561060057600080fd5b5061061b60048036038101906106169190612ef0565b6118eb565b005b60606040518060600160405280602c815260200161414a602c9139905090565b600061065161064a611ab1565b8484611ab9565b6001905092915050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006009600a61069191906131db565b66017e9d8602b4006106a39190613226565b905090565b600080600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106f4611ab1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610774576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076b906132da565b60405180910390fd5b61077f858585611c82565b61079c8561078b611ab1565b858461079791906132fa565b611ab9565b60019150509392505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006009905090565b6107df611ab1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461086c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108639061337a565b60405180910390fd5b60011515600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515036108ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f6906133e6565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f7168e8adb718597b3ac83e2dfe415bea8ebaabb57fe933ffac2e0ed93b80718e60405160405180910390a250565b6109a5611ab1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a299061337a565b60405180910390fd5b6009600a610a4091906131db565b66017e9d8602b400610a529190613226565b600781905550565b610a62611ab1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610aef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae69061337a565b60405180910390fd5b600f60149054906101000a900460ff1615610b3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3690613452565b60405180910390fd5b6001600f60156101000a81548160ff0219169083151502179055506001600f60146101000a81548160ff0219169083151502179055507f0d151bf744092c3011c9f50766da412cca73acdbcaa74b879a5858adc258f93560405160405180910390a1565b610bab611ab1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2f9061337a565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610ca6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9d906134be565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610d15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0c90613550565b60405180910390fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f6867e944970fe7ede3b1a987e85026d725a5faa1e05cc2f89ec2a7a27701c3f560405160405180910390a250565b610dfc611ab1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e809061337a565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ef7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eee906135e2565b60405180910390fd5b60008111610f3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3190613674565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610f739190612f85565b602060405180830381865afa158015610f90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb491906136a9565b811115610ff6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fed90613722565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401611053929190613763565b6020604051808303816000875af1158015611072573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061109691906137a1565b50807fc3cafad8c1a78aa542c18679d54d2e14cf1f08b516ac12071dcf9fd2d3701c2260405160405180910390a25050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611119611ab1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119d9061337a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61dead81565b60075481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600b81526020017f434f4d50524f4d49534544000000000000000000000000000000000000000000815250905090565b6112de611ab1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461136b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113629061337a565b60405180910390fd5b6001600c60006101000a81548160ff021916908315150217905550565b611390611ab1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461141d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114149061337a565b60405180910390fd5b80600f60156101000a81548160ff0219169083151502179055508015157f3a9ce3b0c56e8f872f7647ac57385353c6cc3474ddf4b76a77ffbb8ad1fb0ccb60405160405180910390a250565b600061147d611476611ab1565b8484611c82565b6001905092915050565b6000479050600081116114cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c690613674565b60405180910390fd5b47811115611512576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150990613722565b60405180910390fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561157a573d6000803e3d6000fd5b507fc680f238873c988c7dc872ec40caca9d70edfe000c3d44a1b9410684db93767560405160405180910390a150565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611639611ab1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116bd9061337a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611735576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172c90613840565b60405180910390fd5b61173e8161277d565b50565b600f60149054906101000a900460ff1681565b61175c611ab1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e09061337a565b60405180910390fd5b6503d37ec7b500811115611832576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611829906138d2565b60405180910390fd5b650125d93be98082111561187b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187290613964565b60405180910390fd5b6009600a61188991906131db565b826118949190613226565b6005819055506009600a6118a891906131db565b816118b39190613226565b60068190555080827fa9e7efa397abfe063ede969429ba0525e3083d62f05f959f8496552d2e812b5f60405160405180910390a35050565b6118f3611ab1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611980576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119779061337a565b60405180910390fd5b60001515600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151503611a13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a0a906139d0565b60405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167fdff643e1b752e1138794c958b6f565e4f003ba18d45383a40b582de82ced091e60405160405180910390a250565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611b28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1f90613a62565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611b97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b8e90613af4565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611c759190612e0f565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611cf1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ce890613b86565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611d60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5790613c18565b60405180910390fd5b60008111611da3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9a90613caa565b60405180910390fd5b6000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611e495750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611ed757600f60149054906101000a900460ff16611e9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9490613d16565b60405180910390fd5b6064600c60009054906101000a900460ff16611ebb57600854611ebf565b600a545b83611eca9190613226565b611ed49190613d65565b90505b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611f785750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611f8257600090505b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561202d5750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156120835750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561213e576007548211156120cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120c490613de2565b60405180910390fd5b600754826120da856110c8565b6120e49190613e02565b1115612125576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161211c90613e82565b60405180910390fd5b600d600081548092919061213890613ea2565b91905055505b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156121e65750600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561223c5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561228757600754821115612286576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161227d90613de2565b60405180910390fd5b5b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561231057503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156123665750600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156123bc5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156123fb576064600c60009054906101000a900460ff166123df576009546123e3565b600b545b836123ee9190613226565b6123f89190613d65565b90505b6000612406306110c8565b9050600f60169054906101000a900460ff161580156124735750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b801561248b5750600f60159054906101000a900460ff165b8015612498575060055481115b80156124a657506001600d54115b156124e2576124c86124c3846124be84600654612841565b612841565b61285a565b600047905060008111156124e0576124df47612b16565b5b505b82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461252d91906132fa565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550818361257c91906132fa565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125c69190613e02565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef848661266491906132fa565b6040516126719190612e0f565b60405180910390a360008211156127765781600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126cd9190613e02565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161276d9190612e0f565b60405180910390a35b5050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008183116128505782612852565b815b905092915050565b6001600f60166101000a81548160ff021916908315150217905550600081116128b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128af90613f36565b60405180910390fd5b6000600267ffffffffffffffff8111156128d5576128d4613f56565b5b6040519080825280602002602001820160405280156129035781602001602082028036833780820191505090505b509050308160008151811061291b5761291a613f85565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129e69190613fc9565b816001815181106129fa576129f9613f85565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612a6130600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611ab9565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612ac59594939291906140ef565b600060405180830381600087803b158015612adf57600080fd5b505af1158015612af3573d6000803e3d6000fd5b50505050506000600f60166101000a81548160ff02191690831515021790555050565b60008111612b59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b5090613f36565b60405180910390fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612bc1573d6000803e3d6000fd5b5050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612bff578082015181840152602081019050612be4565b60008484015250505050565b6000601f19601f8301169050919050565b6000612c2782612bc5565b612c318185612bd0565b9350612c41818560208601612be1565b612c4a81612c0b565b840191505092915050565b60006020820190508181036000830152612c6f8184612c1c565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612ca782612c7c565b9050919050565b612cb781612c9c565b8114612cc257600080fd5b50565b600081359050612cd481612cae565b92915050565b6000819050919050565b612ced81612cda565b8114612cf857600080fd5b50565b600081359050612d0a81612ce4565b92915050565b60008060408385031215612d2757612d26612c77565b5b6000612d3585828601612cc5565b9250506020612d4685828601612cfb565b9150509250929050565b60008115159050919050565b612d6581612d50565b82525050565b6000602082019050612d806000830184612d5c565b92915050565b6000819050919050565b6000612dab612da6612da184612c7c565b612d86565b612c7c565b9050919050565b6000612dbd82612d90565b9050919050565b6000612dcf82612db2565b9050919050565b612ddf81612dc4565b82525050565b6000602082019050612dfa6000830184612dd6565b92915050565b612e0981612cda565b82525050565b6000602082019050612e246000830184612e00565b92915050565b600080600060608486031215612e4357612e42612c77565b5b6000612e5186828701612cc5565b9350506020612e6286828701612cc5565b9250506040612e7386828701612cfb565b9150509250925092565b6000612e8882612c7c565b9050919050565b612e9881612e7d565b82525050565b6000602082019050612eb36000830184612e8f565b92915050565b600060ff82169050919050565b612ecf81612eb9565b82525050565b6000602082019050612eea6000830184612ec6565b92915050565b600060208284031215612f0657612f05612c77565b5b6000612f1484828501612cc5565b91505092915050565b612f2681612e7d565b8114612f3157600080fd5b50565b600081359050612f4381612f1d565b92915050565b600060208284031215612f5f57612f5e612c77565b5b6000612f6d84828501612f34565b91505092915050565b612f7f81612c9c565b82525050565b6000602082019050612f9a6000830184612f76565b92915050565b612fa981612d50565b8114612fb457600080fd5b50565b600081359050612fc681612fa0565b92915050565b600060208284031215612fe257612fe1612c77565b5b6000612ff084828501612fb7565b91505092915050565b600080604083850312156130105761300f612c77565b5b600061301e85828601612cc5565b925050602061302f85828601612cc5565b9150509250929050565b600080604083850312156130505761304f612c77565b5b600061305e85828601612cfb565b925050602061306f85828601612cfb565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156130ff578086048111156130db576130da613079565b5b60018516156130ea5780820291505b80810290506130f8856130a8565b94506130bf565b94509492505050565b60008261311857600190506131d4565b8161312657600090506131d4565b816001811461313c576002811461314657613175565b60019150506131d4565b60ff84111561315857613157613079565b5b8360020a91508482111561316f5761316e613079565b5b506131d4565b5060208310610133831016604e8410600b84101617156131aa5782820a9050838111156131a5576131a4613079565b5b6131d4565b6131b784848460016130b5565b925090508184048111156131ce576131cd613079565b5b81810290505b9392505050565b60006131e682612cda565b91506131f183612eb9565b925061321e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613108565b905092915050565b600061323182612cda565b915061323c83612cda565b925082820261324a81612cda565b9150828204841483151761326157613260613079565b5b5092915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006132c4602883612bd0565b91506132cf82613268565b604082019050919050565b600060208201905081810360008301526132f3816132b7565b9050919050565b600061330582612cda565b915061331083612cda565b925082820390508181111561332857613327613079565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613364602083612bd0565b915061336f8261332e565b602082019050919050565b6000602082019050818103600083015261339381613357565b9050919050565b7f4163636f756e7420697320616c7265616479206578636c756465640000000000600082015250565b60006133d0601b83612bd0565b91506133db8261339a565b602082019050919050565b600060208201905081810360008301526133ff816133c3565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b600061343c601783612bd0565b915061344782613406565b602082019050919050565b6000602082019050818103600083015261346b8161342f565b9050919050565b7f43412077696c6c206e6f74206265207468652046656520526563696576657200600082015250565b60006134a8601f83612bd0565b91506134b382613472565b602082019050919050565b600060208201905081810360008301526134d78161349b565b9050919050565b7f3020616464792077696c6c206e6f74206265207468652066656520526563696560008201527f7665720000000000000000000000000000000000000000000000000000000000602082015250565b600061353a602383612bd0565b9150613545826134de565b604082019050919050565b600060208201905081810360008301526135698161352d565b9050919050565b7f4f776e65722063616e277420636c61696d20636f6e747261637427732062616c60008201527f616e6365206f6620697473206f776e20746f6b656e7300000000000000000000602082015250565b60006135cc603683612bd0565b91506135d782613570565b604082019050919050565b600060208201905081810360008301526135fb816135bf565b9050919050565b7f416d6f756e742073686f756c642062652067726561746572207468616e207a6560008201527f726f000000000000000000000000000000000000000000000000000000000000602082015250565b600061365e602283612bd0565b915061366982613602565b604082019050919050565b6000602082019050818103600083015261368d81613651565b9050919050565b6000815190506136a381612ce4565b92915050565b6000602082840312156136bf576136be612c77565b5b60006136cd84828501613694565b91505092915050565b7f496e73756666696369656e7420416d6f756e7400000000000000000000000000600082015250565b600061370c601383612bd0565b9150613717826136d6565b602082019050919050565b6000602082019050818103600083015261373b816136ff565b9050919050565b600061374d82612db2565b9050919050565b61375d81613742565b82525050565b60006040820190506137786000830185613754565b6137856020830184612e00565b9392505050565b60008151905061379b81612fa0565b92915050565b6000602082840312156137b7576137b6612c77565b5b60006137c58482850161378c565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061382a602683612bd0565b9150613835826137ce565b604082019050919050565b600060208201905081810360008301526138598161381d565b9050919050565b7f616d6f756e74206d757374206265206c657373207468616e206f72206571756160008201527f6c20746f203125206f662074686520737570706c790000000000000000000000602082015250565b60006138bc603583612bd0565b91506138c782613860565b604082019050919050565b600060208201905081810360008301526138eb816138af565b9050919050565b7f616d6f756e74206d757374206265206c657373207468616e206f72206571756160008201527f6c20746f20302e3325206f662074686520737570706c79000000000000000000602082015250565b600061394e603783612bd0565b9150613959826138f2565b604082019050919050565b6000602082019050818103600083015261397d81613941565b9050919050565b7f4163636f756e7420697320616c726561647920696e636c756465640000000000600082015250565b60006139ba601b83612bd0565b91506139c582613984565b602082019050919050565b600060208201905081810360008301526139e9816139ad565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613a4c602483612bd0565b9150613a57826139f0565b604082019050919050565b60006020820190508181036000830152613a7b81613a3f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613ade602283612bd0565b9150613ae982613a82565b604082019050919050565b60006020820190508181036000830152613b0d81613ad1565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613b70602583612bd0565b9150613b7b82613b14565b604082019050919050565b60006020820190508181036000830152613b9f81613b63565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613c02602383612bd0565b9150613c0d82613ba6565b604082019050919050565b60006020820190508181036000830152613c3181613bf5565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613c94602983612bd0565b9150613c9f82613c38565b604082019050919050565b60006020820190508181036000830152613cc381613c87565b9050919050565b7f54726164696e67206e6f7420656e61626c656400000000000000000000000000600082015250565b6000613d00601383612bd0565b9150613d0b82613cca565b602082019050919050565b60006020820190508181036000830152613d2f81613cf3565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613d7082612cda565b9150613d7b83612cda565b925082613d8b57613d8a613d36565b5b828204905092915050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000613dcc601983612bd0565b9150613dd782613d96565b602082019050919050565b60006020820190508181036000830152613dfb81613dbf565b9050919050565b6000613e0d82612cda565b9150613e1883612cda565b9250828201905080821115613e3057613e2f613079565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000613e6c601a83612bd0565b9150613e7782613e36565b602082019050919050565b60006020820190508181036000830152613e9b81613e5f565b9050919050565b6000613ead82612cda565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613edf57613ede613079565b5b600182019050919050565b7f616d6f756e74206d7573742062652067726565746572207468616e2030000000600082015250565b6000613f20601d83612bd0565b9150613f2b82613eea565b602082019050919050565b60006020820190508181036000830152613f4f81613f13565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050613fc381612cae565b92915050565b600060208284031215613fdf57613fde612c77565b5b6000613fed84828501613fb4565b91505092915050565b6000819050919050565b600061401b61401661401184613ff6565b612d86565b612cda565b9050919050565b61402b81614000565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61406681612c9c565b82525050565b6000614078838361405d565b60208301905092915050565b6000602082019050919050565b600061409c82614031565b6140a6818561403c565b93506140b18361404d565b8060005b838110156140e25781516140c9888261406c565b97506140d483614084565b9250506001810190506140b5565b5085935050505092915050565b600060a0820190506141046000830188612e00565b6141116020830187614022565b81810360408301526141238186614091565b90506141326060830185612f76565b61413f6080830184612e00565b969550505050505056fe4761727947656e736c6572436f6d707269736564596f75417265596f75476f696e67546f4861766554686174a2646970667358221220cb9bfd3c2bb0a75d291063be6a2b8fae571e74dbb3105931c7bba4c677b066d764736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101a05760003560e01c8063715018a6116100ec578063a9059cbb1161008a578063f2fde38b11610064578063f2fde38b14610577578063f87dc2c6146105a0578063fe48b4c6146105cb578063ff511828146105f4576101a7565b8063a9059cbb146104e6578063ce831ed514610523578063dd62ed3e1461053a576101a7565b80638da5cb5b116100c65780638da5cb5b1461045057806395d89b411461047b578063a1d79776146104a6578063a333b4ab146104bd576101a7565b8063715018a6146103e357806385141a77146103fa5780638c0b5e2214610425576101a7565b8063313ce5671161015957806351cd7cc31161013357806351cd7cc31461033d5780635d098b38146103545780636dff2eeb1461037d57806370a08231146103a6576101a7565b8063313ce567146102d2578063437823ec146102fd5780634415fb6114610326576101a7565b806306fdde03146101ac578063095ea7b3146101d75780631694505e1461021457806318160ddd1461023f57806323b872dd1461026a5780632598cdb2146102a7576101a7565b366101a757005b600080fd5b3480156101b857600080fd5b506101c161061d565b6040516101ce9190612c55565b60405180910390f35b3480156101e357600080fd5b506101fe60048036038101906101f99190612d10565b61063d565b60405161020b9190612d6b565b60405180910390f35b34801561022057600080fd5b5061022961065b565b6040516102369190612de5565b60405180910390f35b34801561024b57600080fd5b50610254610681565b6040516102619190612e0f565b60405180910390f35b34801561027657600080fd5b50610291600480360381019061028c9190612e2a565b6106a8565b60405161029e9190612d6b565b60405180910390f35b3480156102b357600080fd5b506102bc6107a8565b6040516102c99190612e9e565b60405180910390f35b3480156102de57600080fd5b506102e76107ce565b6040516102f49190612ed5565b60405180910390f35b34801561030957600080fd5b50610324600480360381019061031f9190612ef0565b6107d7565b005b34801561033257600080fd5b5061033b61099d565b005b34801561034957600080fd5b50610352610a5a565b005b34801561036057600080fd5b5061037b60048036038101906103769190612f49565b610ba3565b005b34801561038957600080fd5b506103a4600480360381019061039f9190612d10565b610df4565b005b3480156103b257600080fd5b506103cd60048036038101906103c89190612ef0565b6110c8565b6040516103da9190612e0f565b60405180910390f35b3480156103ef57600080fd5b506103f8611111565b005b34801561040657600080fd5b5061040f611264565b60405161041c9190612f85565b60405180910390f35b34801561043157600080fd5b5061043a61126a565b6040516104479190612e0f565b60405180910390f35b34801561045c57600080fd5b50610465611270565b6040516104729190612f85565b60405180910390f35b34801561048757600080fd5b50610490611299565b60405161049d9190612c55565b60405180910390f35b3480156104b257600080fd5b506104bb6112d6565b005b3480156104c957600080fd5b506104e460048036038101906104df9190612fcc565b611388565b005b3480156104f257600080fd5b5061050d60048036038101906105089190612d10565b611469565b60405161051a9190612d6b565b60405180910390f35b34801561052f57600080fd5b50610538611487565b005b34801561054657600080fd5b50610561600480360381019061055c9190612ff9565b6115aa565b60405161056e9190612e0f565b60405180910390f35b34801561058357600080fd5b5061059e60048036038101906105999190612ef0565b611631565b005b3480156105ac57600080fd5b506105b5611741565b6040516105c29190612d6b565b60405180910390f35b3480156105d757600080fd5b506105f260048036038101906105ed9190613039565b611754565b005b34801561060057600080fd5b5061061b60048036038101906106169190612ef0565b6118eb565b005b60606040518060600160405280602c815260200161414a602c9139905090565b600061065161064a611ab1565b8484611ab9565b6001905092915050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006009600a61069191906131db565b66017e9d8602b4006106a39190613226565b905090565b600080600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106f4611ab1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610774576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076b906132da565b60405180910390fd5b61077f858585611c82565b61079c8561078b611ab1565b858461079791906132fa565b611ab9565b60019150509392505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006009905090565b6107df611ab1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461086c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108639061337a565b60405180910390fd5b60011515600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515036108ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f6906133e6565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f7168e8adb718597b3ac83e2dfe415bea8ebaabb57fe933ffac2e0ed93b80718e60405160405180910390a250565b6109a5611ab1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a299061337a565b60405180910390fd5b6009600a610a4091906131db565b66017e9d8602b400610a529190613226565b600781905550565b610a62611ab1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610aef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae69061337a565b60405180910390fd5b600f60149054906101000a900460ff1615610b3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3690613452565b60405180910390fd5b6001600f60156101000a81548160ff0219169083151502179055506001600f60146101000a81548160ff0219169083151502179055507f0d151bf744092c3011c9f50766da412cca73acdbcaa74b879a5858adc258f93560405160405180910390a1565b610bab611ab1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2f9061337a565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610ca6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9d906134be565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610d15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0c90613550565b60405180910390fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f6867e944970fe7ede3b1a987e85026d725a5faa1e05cc2f89ec2a7a27701c3f560405160405180910390a250565b610dfc611ab1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e809061337a565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ef7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eee906135e2565b60405180910390fd5b60008111610f3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3190613674565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610f739190612f85565b602060405180830381865afa158015610f90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb491906136a9565b811115610ff6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fed90613722565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401611053929190613763565b6020604051808303816000875af1158015611072573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061109691906137a1565b50807fc3cafad8c1a78aa542c18679d54d2e14cf1f08b516ac12071dcf9fd2d3701c2260405160405180910390a25050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611119611ab1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119d9061337a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61dead81565b60075481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600b81526020017f434f4d50524f4d49534544000000000000000000000000000000000000000000815250905090565b6112de611ab1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461136b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113629061337a565b60405180910390fd5b6001600c60006101000a81548160ff021916908315150217905550565b611390611ab1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461141d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114149061337a565b60405180910390fd5b80600f60156101000a81548160ff0219169083151502179055508015157f3a9ce3b0c56e8f872f7647ac57385353c6cc3474ddf4b76a77ffbb8ad1fb0ccb60405160405180910390a250565b600061147d611476611ab1565b8484611c82565b6001905092915050565b6000479050600081116114cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c690613674565b60405180910390fd5b47811115611512576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150990613722565b60405180910390fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561157a573d6000803e3d6000fd5b507fc680f238873c988c7dc872ec40caca9d70edfe000c3d44a1b9410684db93767560405160405180910390a150565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611639611ab1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116bd9061337a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611735576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172c90613840565b60405180910390fd5b61173e8161277d565b50565b600f60149054906101000a900460ff1681565b61175c611ab1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e09061337a565b60405180910390fd5b6503d37ec7b500811115611832576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611829906138d2565b60405180910390fd5b650125d93be98082111561187b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187290613964565b60405180910390fd5b6009600a61188991906131db565b826118949190613226565b6005819055506009600a6118a891906131db565b816118b39190613226565b60068190555080827fa9e7efa397abfe063ede969429ba0525e3083d62f05f959f8496552d2e812b5f60405160405180910390a35050565b6118f3611ab1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611980576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119779061337a565b60405180910390fd5b60001515600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151503611a13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a0a906139d0565b60405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167fdff643e1b752e1138794c958b6f565e4f003ba18d45383a40b582de82ced091e60405160405180910390a250565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611b28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1f90613a62565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611b97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b8e90613af4565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611c759190612e0f565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611cf1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ce890613b86565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611d60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5790613c18565b60405180910390fd5b60008111611da3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9a90613caa565b60405180910390fd5b6000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611e495750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611ed757600f60149054906101000a900460ff16611e9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9490613d16565b60405180910390fd5b6064600c60009054906101000a900460ff16611ebb57600854611ebf565b600a545b83611eca9190613226565b611ed49190613d65565b90505b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611f785750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611f8257600090505b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561202d5750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156120835750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561213e576007548211156120cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120c490613de2565b60405180910390fd5b600754826120da856110c8565b6120e49190613e02565b1115612125576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161211c90613e82565b60405180910390fd5b600d600081548092919061213890613ea2565b91905055505b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156121e65750600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561223c5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561228757600754821115612286576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161227d90613de2565b60405180910390fd5b5b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561231057503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156123665750600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156123bc5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156123fb576064600c60009054906101000a900460ff166123df576009546123e3565b600b545b836123ee9190613226565b6123f89190613d65565b90505b6000612406306110c8565b9050600f60169054906101000a900460ff161580156124735750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b801561248b5750600f60159054906101000a900460ff165b8015612498575060055481115b80156124a657506001600d54115b156124e2576124c86124c3846124be84600654612841565b612841565b61285a565b600047905060008111156124e0576124df47612b16565b5b505b82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461252d91906132fa565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550818361257c91906132fa565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125c69190613e02565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef848661266491906132fa565b6040516126719190612e0f565b60405180910390a360008211156127765781600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126cd9190613e02565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161276d9190612e0f565b60405180910390a35b5050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008183116128505782612852565b815b905092915050565b6001600f60166101000a81548160ff021916908315150217905550600081116128b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128af90613f36565b60405180910390fd5b6000600267ffffffffffffffff8111156128d5576128d4613f56565b5b6040519080825280602002602001820160405280156129035781602001602082028036833780820191505090505b509050308160008151811061291b5761291a613f85565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129e69190613fc9565b816001815181106129fa576129f9613f85565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612a6130600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611ab9565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612ac59594939291906140ef565b600060405180830381600087803b158015612adf57600080fd5b505af1158015612af3573d6000803e3d6000fd5b50505050506000600f60166101000a81548160ff02191690831515021790555050565b60008111612b59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b5090613f36565b60405180910390fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612bc1573d6000803e3d6000fd5b5050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612bff578082015181840152602081019050612be4565b60008484015250505050565b6000601f19601f8301169050919050565b6000612c2782612bc5565b612c318185612bd0565b9350612c41818560208601612be1565b612c4a81612c0b565b840191505092915050565b60006020820190508181036000830152612c6f8184612c1c565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612ca782612c7c565b9050919050565b612cb781612c9c565b8114612cc257600080fd5b50565b600081359050612cd481612cae565b92915050565b6000819050919050565b612ced81612cda565b8114612cf857600080fd5b50565b600081359050612d0a81612ce4565b92915050565b60008060408385031215612d2757612d26612c77565b5b6000612d3585828601612cc5565b9250506020612d4685828601612cfb565b9150509250929050565b60008115159050919050565b612d6581612d50565b82525050565b6000602082019050612d806000830184612d5c565b92915050565b6000819050919050565b6000612dab612da6612da184612c7c565b612d86565b612c7c565b9050919050565b6000612dbd82612d90565b9050919050565b6000612dcf82612db2565b9050919050565b612ddf81612dc4565b82525050565b6000602082019050612dfa6000830184612dd6565b92915050565b612e0981612cda565b82525050565b6000602082019050612e246000830184612e00565b92915050565b600080600060608486031215612e4357612e42612c77565b5b6000612e5186828701612cc5565b9350506020612e6286828701612cc5565b9250506040612e7386828701612cfb565b9150509250925092565b6000612e8882612c7c565b9050919050565b612e9881612e7d565b82525050565b6000602082019050612eb36000830184612e8f565b92915050565b600060ff82169050919050565b612ecf81612eb9565b82525050565b6000602082019050612eea6000830184612ec6565b92915050565b600060208284031215612f0657612f05612c77565b5b6000612f1484828501612cc5565b91505092915050565b612f2681612e7d565b8114612f3157600080fd5b50565b600081359050612f4381612f1d565b92915050565b600060208284031215612f5f57612f5e612c77565b5b6000612f6d84828501612f34565b91505092915050565b612f7f81612c9c565b82525050565b6000602082019050612f9a6000830184612f76565b92915050565b612fa981612d50565b8114612fb457600080fd5b50565b600081359050612fc681612fa0565b92915050565b600060208284031215612fe257612fe1612c77565b5b6000612ff084828501612fb7565b91505092915050565b600080604083850312156130105761300f612c77565b5b600061301e85828601612cc5565b925050602061302f85828601612cc5565b9150509250929050565b600080604083850312156130505761304f612c77565b5b600061305e85828601612cfb565b925050602061306f85828601612cfb565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156130ff578086048111156130db576130da613079565b5b60018516156130ea5780820291505b80810290506130f8856130a8565b94506130bf565b94509492505050565b60008261311857600190506131d4565b8161312657600090506131d4565b816001811461313c576002811461314657613175565b60019150506131d4565b60ff84111561315857613157613079565b5b8360020a91508482111561316f5761316e613079565b5b506131d4565b5060208310610133831016604e8410600b84101617156131aa5782820a9050838111156131a5576131a4613079565b5b6131d4565b6131b784848460016130b5565b925090508184048111156131ce576131cd613079565b5b81810290505b9392505050565b60006131e682612cda565b91506131f183612eb9565b925061321e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613108565b905092915050565b600061323182612cda565b915061323c83612cda565b925082820261324a81612cda565b9150828204841483151761326157613260613079565b5b5092915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006132c4602883612bd0565b91506132cf82613268565b604082019050919050565b600060208201905081810360008301526132f3816132b7565b9050919050565b600061330582612cda565b915061331083612cda565b925082820390508181111561332857613327613079565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613364602083612bd0565b915061336f8261332e565b602082019050919050565b6000602082019050818103600083015261339381613357565b9050919050565b7f4163636f756e7420697320616c7265616479206578636c756465640000000000600082015250565b60006133d0601b83612bd0565b91506133db8261339a565b602082019050919050565b600060208201905081810360008301526133ff816133c3565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b600061343c601783612bd0565b915061344782613406565b602082019050919050565b6000602082019050818103600083015261346b8161342f565b9050919050565b7f43412077696c6c206e6f74206265207468652046656520526563696576657200600082015250565b60006134a8601f83612bd0565b91506134b382613472565b602082019050919050565b600060208201905081810360008301526134d78161349b565b9050919050565b7f3020616464792077696c6c206e6f74206265207468652066656520526563696560008201527f7665720000000000000000000000000000000000000000000000000000000000602082015250565b600061353a602383612bd0565b9150613545826134de565b604082019050919050565b600060208201905081810360008301526135698161352d565b9050919050565b7f4f776e65722063616e277420636c61696d20636f6e747261637427732062616c60008201527f616e6365206f6620697473206f776e20746f6b656e7300000000000000000000602082015250565b60006135cc603683612bd0565b91506135d782613570565b604082019050919050565b600060208201905081810360008301526135fb816135bf565b9050919050565b7f416d6f756e742073686f756c642062652067726561746572207468616e207a6560008201527f726f000000000000000000000000000000000000000000000000000000000000602082015250565b600061365e602283612bd0565b915061366982613602565b604082019050919050565b6000602082019050818103600083015261368d81613651565b9050919050565b6000815190506136a381612ce4565b92915050565b6000602082840312156136bf576136be612c77565b5b60006136cd84828501613694565b91505092915050565b7f496e73756666696369656e7420416d6f756e7400000000000000000000000000600082015250565b600061370c601383612bd0565b9150613717826136d6565b602082019050919050565b6000602082019050818103600083015261373b816136ff565b9050919050565b600061374d82612db2565b9050919050565b61375d81613742565b82525050565b60006040820190506137786000830185613754565b6137856020830184612e00565b9392505050565b60008151905061379b81612fa0565b92915050565b6000602082840312156137b7576137b6612c77565b5b60006137c58482850161378c565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061382a602683612bd0565b9150613835826137ce565b604082019050919050565b600060208201905081810360008301526138598161381d565b9050919050565b7f616d6f756e74206d757374206265206c657373207468616e206f72206571756160008201527f6c20746f203125206f662074686520737570706c790000000000000000000000602082015250565b60006138bc603583612bd0565b91506138c782613860565b604082019050919050565b600060208201905081810360008301526138eb816138af565b9050919050565b7f616d6f756e74206d757374206265206c657373207468616e206f72206571756160008201527f6c20746f20302e3325206f662074686520737570706c79000000000000000000602082015250565b600061394e603783612bd0565b9150613959826138f2565b604082019050919050565b6000602082019050818103600083015261397d81613941565b9050919050565b7f4163636f756e7420697320616c726561647920696e636c756465640000000000600082015250565b60006139ba601b83612bd0565b91506139c582613984565b602082019050919050565b600060208201905081810360008301526139e9816139ad565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613a4c602483612bd0565b9150613a57826139f0565b604082019050919050565b60006020820190508181036000830152613a7b81613a3f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613ade602283612bd0565b9150613ae982613a82565b604082019050919050565b60006020820190508181036000830152613b0d81613ad1565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613b70602583612bd0565b9150613b7b82613b14565b604082019050919050565b60006020820190508181036000830152613b9f81613b63565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613c02602383612bd0565b9150613c0d82613ba6565b604082019050919050565b60006020820190508181036000830152613c3181613bf5565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613c94602983612bd0565b9150613c9f82613c38565b604082019050919050565b60006020820190508181036000830152613cc381613c87565b9050919050565b7f54726164696e67206e6f7420656e61626c656400000000000000000000000000600082015250565b6000613d00601383612bd0565b9150613d0b82613cca565b602082019050919050565b60006020820190508181036000830152613d2f81613cf3565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613d7082612cda565b9150613d7b83612cda565b925082613d8b57613d8a613d36565b5b828204905092915050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000613dcc601983612bd0565b9150613dd782613d96565b602082019050919050565b60006020820190508181036000830152613dfb81613dbf565b9050919050565b6000613e0d82612cda565b9150613e1883612cda565b9250828201905080821115613e3057613e2f613079565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000613e6c601a83612bd0565b9150613e7782613e36565b602082019050919050565b60006020820190508181036000830152613e9b81613e5f565b9050919050565b6000613ead82612cda565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613edf57613ede613079565b5b600182019050919050565b7f616d6f756e74206d7573742062652067726565746572207468616e2030000000600082015250565b6000613f20601d83612bd0565b9150613f2b82613eea565b602082019050919050565b60006020820190508181036000830152613f4f81613f13565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050613fc381612cae565b92915050565b600060208284031215613fdf57613fde612c77565b5b6000613fed84828501613fb4565b91505092915050565b6000819050919050565b600061401b61401661401184613ff6565b612d86565b612cda565b9050919050565b61402b81614000565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61406681612c9c565b82525050565b6000614078838361405d565b60208301905092915050565b6000602082019050919050565b600061409c82614031565b6140a6818561403c565b93506140b18361404d565b8060005b838110156140e25781516140c9888261406c565b97506140d483614084565b9250506001810190506140b5565b5085935050505092915050565b600060a0820190506141046000830188612e00565b6141116020830187614022565b81810360408301526141238186614091565b90506141326060830185612f76565b61413f6080830184612e00565b969550505050505056fe4761727947656e736c6572436f6d707269736564596f75417265596f75476f696e67546f4861766554686174a2646970667358221220cb9bfd3c2bb0a75d291063be6a2b8fae571e74dbb3105931c7bba4c677b066d764736f6c63430008130033

Deployed Bytecode Sourcemap

2868:10733:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5946:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6878:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3935:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6217:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7045:410;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3198:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6128:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11498:236;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10834:71;;;;;;;;;;;;;:::i;:::-;;12464:208;;;;;;;;;;;;;:::i;:::-;;11113:373;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12724:477;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6318:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1953:148;;;;;;;;;;;;;:::i;:::-;;3112:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3634:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1337:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6035:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10910:70;;;;;;;;;;;;;:::i;:::-;;10985:123;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6556:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13212:386;;;;;;;;;;;;;:::i;:::-;;6729:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1547:203;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4019:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12001:451;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11745:245;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5946:83;5983:13;6016:5;;;;;;;;;;;;;;;;;6009:12;;5946:83;:::o;6878:161::-;6953:4;6970:39;6979:12;:10;:12::i;:::-;6993:7;7002:6;6970:8;:39::i;:::-;7027:4;7020:11;;6878:161;;;;:::o;3935:41::-;;;;;;;;;;;;;:::o;6217:95::-;6270:7;3278:1;3340:2;:13;;;;:::i;:::-;3322:15;:31;;;;:::i;:::-;6290:14;;6217:95;:::o;7045:410::-;7143:4;7160:24;7187:11;:19;7199:6;7187:19;;;;;;;;;;;;;;;:33;7207:12;:10;:12::i;:::-;7187:33;;;;;;;;;;;;;;;;7160:60;;7259:6;7239:16;:26;;7231:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;7321:36;7331:6;7339:9;7350:6;7321:9;:36::i;:::-;7368:57;7377:6;7385:12;:10;:12::i;:::-;7418:6;7399:16;:25;;;;:::i;:::-;7368:8;:57::i;:::-;7443:4;7436:11;;;7045:410;;;;;:::o;3198:38::-;;;;;;;;;;;;;:::o;6128:83::-;6169:5;3278:1;6187:16;;6128:83;:::o;11498:236::-;1472:12;:10;:12::i;:::-;1462:22;;:6;;;;;;;;;;:22;;;1454:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11606:4:::1;11575:35;;:18;:27;11594:7;11575:27;;;;;;;;;;;;;;;;;;;;;;;;;:35;;::::0;11567:74:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;11681:4;11651:18;:27;11670:7;11651:27;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;11719:7;11697:30;;;;;;;;;;;;11498:236:::0;:::o;10834:71::-;1472:12;:10;:12::i;:::-;1462:22;;:6;;;;;;;;;;:22;;;1454:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3278:1:::1;3340:2;:13;;;;:::i;:::-;3322:15;:31;;;;:::i;:::-;10882:11;:21;;;;10834:71::o:0;12464:208::-;1472:12;:10;:12::i;:::-;1462:22;;:6;;;;;;;;;;:22;;;1454:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12528:11:::1;;;;;;;;;;;12527:12;12519:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;12595:4;12577:15;;:22;;;;;;;;;;;;;;;;;;12625:4;12611:11;;:18;;;;;;;;;;;;;;;;;;12644:20;;;;;;;;;;12464:208::o:0;11113:373::-;1472:12;:10;:12::i;:::-;1462:22;;:6;;;;;;;;;;:22;;;1454:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11228:4:::1;11206:27;;:10;:27;;::::0;11198:71:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;11309:1;11287:24;;:10;:24;;::::0;11279:72:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;11379:10;11361:15;;:28;;;;;;;;;;;;;;;;;;11431:4;11398:18;:30;11417:10;11398:30;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;11467:10;11447:31;;;;;;;;;;;;11113:373:::0;:::o;12724:477::-;1472:12;:10;:12::i;:::-;1462:22;;:6;;;;;;;;;;:22;;;1454:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12855:4:::1;12833:27;;:10;:27;;::::0;12825:94:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;12948:1;12938:7;:11;12930:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;13025:10;13018:28;;;13055:4;13018:43;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13007:7;:54;;12999:86;;;;;;;;;;;;:::i;:::-;;;;;;;;;13103:10;13096:27;;;13124:15;;;;;;;;;;;13141:7;13096:53;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13184:7;13163:29;;;;;;;;;;12724:477:::0;;:::o;6318:119::-;6384:7;6411:9;:18;6421:7;6411:18;;;;;;;;;;;;;;;;6404:25;;6318:119;;;:::o;1953:148::-;1472:12;:10;:12::i;:::-;1462:22;;:6;;;;;;;;;;:22;;;1454:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2060:1:::1;2023:40;;2044:6;::::0;::::1;;;;;;;;2023:40;;;;;;;;;;;;2091:1;2074:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1953:148::o:0;3112:79::-;3149:42;3112:79;:::o;3634:58::-;;;;:::o;1337:79::-;1375:7;1402:6;;;;;;;;;;;1395:13;;1337:79;:::o;6035:87::-;6074:13;6107:7;;;;;;;;;;;;;;;;;6100:14;;6035:87;:::o;10910:70::-;1472:12;:10;:12::i;:::-;1462:22;;:6;;;;;;;;;;:22;;;1454:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10974:4:::1;10956:15;;:22;;;;;;;;;;;;;;;;;;10910:70::o:0;10985:123::-;1472:12;:10;:12::i;:::-;1462:22;;:6;;;;;;;;;;:22;;;1454:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11066:5:::1;11048:15;;:23;;;;;;;;;;;;;;;;;;11100:5;11077:29;;;;;;;;;;;;10985:123:::0;:::o;6556:167::-;6634:4;6651:42;6661:12;:10;:12::i;:::-;6675:9;6686:6;6651:9;:42::i;:::-;6711:4;6704:11;;6556:167;;;;:::o;13212:386::-;13266:26;13295:21;13266:50;;13356:1;13335:18;:22;13327:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;13437:21;13415:18;:43;;13407:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;13509:15;;;;;;;;;;;13493:42;;:62;13536:18;13493:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13569:21;;;;;;;;;;13255:343;13212:386::o;6729:143::-;6810:7;6837:11;:18;6849:5;6837:18;;;;;;;;;;;;;;;:27;6856:7;6837:27;;;;;;;;;;;;;;;;6830:34;;6729:143;;;;:::o;1547:203::-;1472:12;:10;:12::i;:::-;1462:22;;:6;;;;;;;;;;:22;;;1454:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1658:1:::1;1638:22;;:8;:22;;::::0;1630:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;1714:28;1733:8;1714:18;:28::i;:::-;1547:203:::0;:::o;4019:31::-;;;;;;;;;;;;;:::o;12001:451::-;1472:12;:10;:12::i;:::-;1462:22;;:6;;;;;;;;;;:22;;;1454:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12118:13:::1;12106:8;:25;;12098:91;;;;;;;;;;;;:::i;:::-;;;;;;;;;12220:13;12208:8;:25;;12200:93;;;;;;;;;;;;:::i;:::-;;;;;;;;;3278:1;12328:2;:13;;;;:::i;:::-;12317:8;:24;;;;:::i;:::-;12304:10;:37;;;;3278:1;12378:2;:13;;;;:::i;:::-;12367:8;:24;;;;:::i;:::-;12351:13;:40;;;;12435:8;12425;12403:41;;;;;;;;;;12001:451:::0;;:::o;11745:245::-;1472:12;:10;:12::i;:::-;1462:22;;:6;;;;;;;;;;:22;;;1454:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11856:5:::1;11825:36;;:18;:27;11844:7;11825:27;;;;;;;;;;;;;;;;;;;;;;;;;:36;;::::0;11817:76:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;11934:5;11904:18;:27;11923:7;11904:27;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;11974:7;11952:30;;;;;;;;;;;;11745:245:::0;:::o;243:98::-;296:7;323:10;316:17;;243:98;:::o;7461:335::-;7571:1;7554:19;;:5;:19;;;7546:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7652:1;7633:21;;:7;:21;;;7625:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7734:6;7704:11;:18;7716:5;7704:18;;;;;;;;;;;;;;;:27;7723:7;7704:27;;;;;;;;;;;;;;;:36;;;;7772:7;7756:32;;7765:5;7756:32;;;7781:6;7756:32;;;;;;:::i;:::-;;;;;;;;7461:335;;;:::o;7802:2305::-;7906:1;7890:18;;:4;:18;;;7882:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7983:1;7969:16;;:2;:16;;;7961:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8053:1;8044:6;:10;8036:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8111:15;8146:18;:24;8165:4;8146:24;;;;;;;;;;;;;;;;;;;;;;;;;8145:25;:52;;;;;8175:18;:22;8194:2;8175:22;;;;;;;;;;;;;;;;;;;;;;;;;8174:23;8145:52;8141:225;;;8222:11;;;;;;;;;;;8214:43;;;;;;;;;;;;:::i;:::-;;;;;;;;;8350:3;8303:15;;;;;;;;;;;8302:43;;8332:13;;8302:43;;;8321:8;;8302:43;8292:6;:54;;;;:::i;:::-;:62;;;;:::i;:::-;8282:72;;8141:225;8391:18;:24;8410:4;8391:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;8419:18;:22;8438:2;8419:22;;;;;;;;;;;;;;;;;;;;;;;;;8391:50;8387:94;;;8468:1;8458:11;;8387:94;8517:13;;;;;;;;;;;8509:21;;:4;:21;;;:55;;;;;8548:15;;;;;;;;;;;8534:30;;:2;:30;;;;8509:55;:82;;;;;8569:18;:22;8588:2;8569:22;;;;;;;;;;;;;;;;;;;;;;;;;8568:23;8509:82;8505:296;;;8627:11;;8617:6;:21;;8609:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;8718:11;;8708:6;8692:13;8702:2;8692:9;:13::i;:::-;:22;;;;:::i;:::-;:37;;8684:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;8777:8;;:10;;;;;;;;;:::i;:::-;;;;;;8505:296;8836:13;;;;;;;;;;;8828:21;;:4;:21;;;;:50;;;;;8854:18;:24;8873:4;8854:24;;;;;;;;;;;;;;;;;;;;;;;;;8853:25;8828:50;:77;;;;;8883:18;:22;8902:2;8883:22;;;;;;;;;;;;;;;;;;;;;;;;;8882:23;8828:77;8824:172;;;8941:11;;8931:6;:21;;8923:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;8824:172;9028:13;;;;;;;;;;;9022:19;;:2;:19;;;:44;;;;;9061:4;9045:21;;:4;:21;;;;9022:44;:73;;;;;9071:18;:24;9090:4;9071:24;;;;;;;;;;;;;;;;;;;;;;;;;9070:25;9022:73;:100;;;;;9100:18;:22;9119:2;9100:22;;;;;;;;;;;;;;;;;;;;;;;;;9099:23;9022:100;9018:240;;;9216:3;9167:15;;;;;;;;;;;9166:45;;9197:14;;9166:45;;;9185:9;;9166:45;9156:6;:56;;;;:::i;:::-;:64;;;;:::i;:::-;9146:74;;9018:240;9283:28;9314:24;9332:4;9314:9;:24::i;:::-;9283:55;;9358:6;;;;;;;;;;;9357:7;:32;;;;;9376:13;;;;;;;;;;;9368:21;;:4;:21;;;;9357:32;:51;;;;;9393:15;;;;;;;;;;;9357:51;:88;;;;;9435:10;;9412:20;:33;9357:88;:104;;;;;9460:1;9449:8;;:12;9357:104;9353:407;;;9482:71;9499:53;9503:6;9511:40;9515:20;9537:13;;9511:3;:40::i;:::-;9499:3;:53::i;:::-;9482:16;:71::i;:::-;9571:26;9600:21;9571:50;;9664:1;9643:18;:22;9640:105;;;9690:35;9703:21;9690:12;:35::i;:::-;9640:105;9463:297;9353:407;9806:6;9788:9;:15;9798:4;9788:15;;;;;;;;;;;;;;;;:24;;;;:::i;:::-;9770:9;:15;9780:4;9770:15;;;;;;;;;;;;;;;:42;;;;9867:7;9857:6;:18;;;;:::i;:::-;9840:9;:13;9850:2;9840:13;;;;;;;;;;;;;;;;:36;;;;:::i;:::-;9824:9;:13;9834:2;9824:13;;;;;;;;;;;;;;;:52;;;;9907:2;9892:38;;9901:4;9892:38;;;9921:7;9911:6;:18;;;;:::i;:::-;9892:38;;;;;;:::i;:::-;;;;;;;;9955:1;9945:7;:11;9942:158;;;10025:7;9997:9;:24;10015:4;9997:24;;;;;;;;;;;;;;;;:36;;;;:::i;:::-;9970:9;:24;9988:4;9970:24;;;;;;;;;;;;;;;:63;;;;10074:4;10051:37;;10060:4;10051:37;;;10080:7;10051:37;;;;;;:::i;:::-;;;;;;;;9942:158;7871:2236;;7802:2305;;;:::o;1756:191::-;1830:16;1849:6;;;;;;;;;;;1830:25;;1875:8;1866:6;;:17;;;;;;;;;;;;;;;;;;1930:8;1899:40;;1920:8;1899:40;;;;;;;;;;;;1819:128;1756:191;:::o;6443:107::-;6500:7;6532:1;6528;:5;6527:15;;6541:1;6527:15;;;6537:1;6527:15;6520:22;;6443:107;;;;:::o;10113:551::-;4625:4;4616:6;;:13;;;;;;;;;;;;;;;;;;10213:1:::1;10199:11;:15;10191:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;10259:21;10297:1;10283:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10259:40;;10328:4;10310;10315:1;10310:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10354:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10344:4;10349:1;10344:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;10387:62;10404:4;10419:15;;;;;;;;;;;10437:11;10387:8;:62::i;:::-;10460:15;;;;;;;;;;;:66;;;10541:11;10567:1;10583:4;10610;10630:15;10460:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10180:484;4661:5:::0;4652:6;;:14;;;;;;;;;;;;;;;;;;10113:551;:::o;10670:159::-;10743:1;10734:6;:10;10726:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;10789:15;;;;;;;;;;;:24;;:32;10814:6;10789:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10670:159;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;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:60::-;3474:3;3495:5;3488:12;;3446:60;;;:::o;3512:142::-;3562:9;3595:53;3613:34;3622:24;3640:5;3622:24;:::i;:::-;3613:34;:::i;:::-;3595:53;:::i;:::-;3582:66;;3512:142;;;:::o;3660:126::-;3710:9;3743:37;3774:5;3743:37;:::i;:::-;3730:50;;3660:126;;;:::o;3792:152::-;3868:9;3901:37;3932:5;3901:37;:::i;:::-;3888:50;;3792:152;;;:::o;3950:183::-;4063:63;4120:5;4063:63;:::i;:::-;4058:3;4051:76;3950:183;;:::o;4139:274::-;4258:4;4296:2;4285:9;4281:18;4273:26;;4309:97;4403:1;4392:9;4388:17;4379:6;4309:97;:::i;:::-;4139:274;;;;:::o;4419:118::-;4506:24;4524:5;4506:24;:::i;:::-;4501:3;4494:37;4419:118;;:::o;4543:222::-;4636:4;4674:2;4663:9;4659:18;4651:26;;4687:71;4755:1;4744:9;4740:17;4731:6;4687:71;:::i;:::-;4543:222;;;;:::o;4771:619::-;4848:6;4856;4864;4913:2;4901:9;4892:7;4888:23;4884:32;4881:119;;;4919:79;;:::i;:::-;4881:119;5039:1;5064:53;5109:7;5100:6;5089:9;5085:22;5064:53;:::i;:::-;5054:63;;5010:117;5166:2;5192:53;5237:7;5228:6;5217:9;5213:22;5192:53;:::i;:::-;5182:63;;5137:118;5294:2;5320:53;5365:7;5356:6;5345:9;5341:22;5320:53;:::i;:::-;5310:63;;5265:118;4771:619;;;;;:::o;5396:104::-;5441:7;5470:24;5488:5;5470:24;:::i;:::-;5459:35;;5396:104;;;:::o;5506:142::-;5609:32;5635:5;5609:32;:::i;:::-;5604:3;5597:45;5506:142;;:::o;5654:254::-;5763:4;5801:2;5790:9;5786:18;5778:26;;5814:87;5898:1;5887:9;5883:17;5874:6;5814:87;:::i;:::-;5654:254;;;;:::o;5914:86::-;5949:7;5989:4;5982:5;5978:16;5967:27;;5914:86;;;:::o;6006:112::-;6089:22;6105:5;6089:22;:::i;:::-;6084:3;6077:35;6006:112;;:::o;6124:214::-;6213:4;6251:2;6240:9;6236:18;6228:26;;6264:67;6328:1;6317:9;6313:17;6304:6;6264:67;:::i;:::-;6124:214;;;;:::o;6344:329::-;6403:6;6452:2;6440:9;6431:7;6427:23;6423:32;6420:119;;;6458:79;;:::i;:::-;6420:119;6578:1;6603:53;6648:7;6639:6;6628:9;6624:22;6603:53;:::i;:::-;6593:63;;6549:117;6344:329;;;;:::o;6679:138::-;6760:32;6786:5;6760:32;:::i;:::-;6753:5;6750:43;6740:71;;6807:1;6804;6797:12;6740:71;6679:138;:::o;6823:155::-;6877:5;6915:6;6902:20;6893:29;;6931:41;6966:5;6931:41;:::i;:::-;6823:155;;;;:::o;6984:345::-;7051:6;7100:2;7088:9;7079:7;7075:23;7071:32;7068:119;;;7106:79;;:::i;:::-;7068:119;7226:1;7251:61;7304:7;7295:6;7284:9;7280:22;7251:61;:::i;:::-;7241:71;;7197:125;6984:345;;;;:::o;7335:118::-;7422:24;7440:5;7422:24;:::i;:::-;7417:3;7410:37;7335:118;;:::o;7459:222::-;7552:4;7590:2;7579:9;7575:18;7567:26;;7603:71;7671:1;7660:9;7656:17;7647:6;7603:71;:::i;:::-;7459:222;;;;:::o;7687:116::-;7757:21;7772:5;7757:21;:::i;:::-;7750:5;7747:32;7737:60;;7793:1;7790;7783:12;7737:60;7687:116;:::o;7809:133::-;7852:5;7890:6;7877:20;7868:29;;7906:30;7930:5;7906:30;:::i;:::-;7809:133;;;;:::o;7948:323::-;8004:6;8053:2;8041:9;8032:7;8028:23;8024:32;8021:119;;;8059:79;;:::i;:::-;8021:119;8179:1;8204:50;8246:7;8237:6;8226:9;8222:22;8204:50;:::i;:::-;8194:60;;8150:114;7948:323;;;;:::o;8277:474::-;8345:6;8353;8402:2;8390:9;8381:7;8377:23;8373:32;8370:119;;;8408:79;;:::i;:::-;8370:119;8528:1;8553:53;8598:7;8589:6;8578:9;8574:22;8553:53;:::i;:::-;8543:63;;8499:117;8655:2;8681:53;8726:7;8717:6;8706:9;8702:22;8681:53;:::i;:::-;8671:63;;8626:118;8277:474;;;;;:::o;8757:::-;8825:6;8833;8882:2;8870:9;8861:7;8857:23;8853:32;8850:119;;;8888:79;;:::i;:::-;8850:119;9008:1;9033:53;9078:7;9069:6;9058:9;9054:22;9033:53;:::i;:::-;9023:63;;8979:117;9135:2;9161:53;9206:7;9197:6;9186:9;9182:22;9161:53;:::i;:::-;9151:63;;9106:118;8757:474;;;;;:::o;9237:180::-;9285:77;9282:1;9275:88;9382:4;9379:1;9372:15;9406:4;9403:1;9396:15;9423:102;9465:8;9512:5;9509:1;9505:13;9484:34;;9423:102;;;:::o;9531:848::-;9592:5;9599:4;9623:6;9614:15;;9647:5;9638:14;;9661:712;9682:1;9672:8;9669:15;9661:712;;;9777:4;9772:3;9768:14;9762:4;9759:24;9756:50;;;9786:18;;:::i;:::-;9756:50;9836:1;9826:8;9822:16;9819:451;;;10251:4;10244:5;10240:16;10231:25;;9819:451;10301:4;10295;10291:15;10283:23;;10331:32;10354:8;10331:32;:::i;:::-;10319:44;;9661:712;;;9531:848;;;;;;;:::o;10385:1073::-;10439:5;10630:8;10620:40;;10651:1;10642:10;;10653:5;;10620:40;10679:4;10669:36;;10696:1;10687:10;;10698:5;;10669:36;10765:4;10813:1;10808:27;;;;10849:1;10844:191;;;;10758:277;;10808:27;10826:1;10817:10;;10828:5;;;10844:191;10889:3;10879:8;10876:17;10873:43;;;10896:18;;:::i;:::-;10873:43;10945:8;10942:1;10938:16;10929:25;;10980:3;10973:5;10970:14;10967:40;;;10987:18;;:::i;:::-;10967:40;11020:5;;;10758:277;;11144:2;11134:8;11131:16;11125:3;11119:4;11116:13;11112:36;11094:2;11084:8;11081:16;11076:2;11070:4;11067:12;11063:35;11047:111;11044:246;;;11200:8;11194:4;11190:19;11181:28;;11235:3;11228:5;11225:14;11222:40;;;11242:18;;:::i;:::-;11222:40;11275:5;;11044:246;11315:42;11353:3;11343:8;11337:4;11334:1;11315:42;:::i;:::-;11300:57;;;;11389:4;11384:3;11380:14;11373:5;11370:25;11367:51;;;11398:18;;:::i;:::-;11367:51;11447:4;11440:5;11436:16;11427:25;;10385:1073;;;;;;:::o;11464:281::-;11522:5;11546:23;11564:4;11546:23;:::i;:::-;11538:31;;11590:25;11606:8;11590:25;:::i;:::-;11578:37;;11634:104;11671:66;11661:8;11655:4;11634:104;:::i;:::-;11625:113;;11464:281;;;;:::o;11751:410::-;11791:7;11814:20;11832:1;11814:20;:::i;:::-;11809:25;;11848:20;11866:1;11848:20;:::i;:::-;11843:25;;11903:1;11900;11896:9;11925:30;11943:11;11925:30;:::i;:::-;11914:41;;12104:1;12095:7;12091:15;12088:1;12085:22;12065:1;12058:9;12038:83;12015:139;;12134:18;;:::i;:::-;12015:139;11799:362;11751:410;;;;:::o;12167:227::-;12307:34;12303:1;12295:6;12291:14;12284:58;12376:10;12371:2;12363:6;12359:15;12352:35;12167:227;:::o;12400:366::-;12542:3;12563:67;12627:2;12622:3;12563:67;:::i;:::-;12556:74;;12639:93;12728:3;12639:93;:::i;:::-;12757:2;12752:3;12748:12;12741:19;;12400:366;;;:::o;12772:419::-;12938:4;12976:2;12965:9;12961:18;12953:26;;13025:9;13019:4;13015:20;13011:1;13000:9;12996:17;12989:47;13053:131;13179:4;13053:131;:::i;:::-;13045:139;;12772:419;;;:::o;13197:194::-;13237:4;13257:20;13275:1;13257:20;:::i;:::-;13252:25;;13291:20;13309:1;13291:20;:::i;:::-;13286:25;;13335:1;13332;13328:9;13320:17;;13359:1;13353:4;13350:11;13347:37;;;13364:18;;:::i;:::-;13347:37;13197:194;;;;:::o;13397:182::-;13537:34;13533:1;13525:6;13521:14;13514:58;13397:182;:::o;13585:366::-;13727:3;13748:67;13812:2;13807:3;13748:67;:::i;:::-;13741:74;;13824:93;13913:3;13824:93;:::i;:::-;13942:2;13937:3;13933:12;13926:19;;13585:366;;;:::o;13957:419::-;14123:4;14161:2;14150:9;14146:18;14138:26;;14210:9;14204:4;14200:20;14196:1;14185:9;14181:17;14174:47;14238:131;14364:4;14238:131;:::i;:::-;14230:139;;13957:419;;;:::o;14382:177::-;14522:29;14518:1;14510:6;14506:14;14499:53;14382:177;:::o;14565:366::-;14707:3;14728:67;14792:2;14787:3;14728:67;:::i;:::-;14721:74;;14804:93;14893:3;14804:93;:::i;:::-;14922:2;14917:3;14913:12;14906:19;;14565:366;;;:::o;14937:419::-;15103:4;15141:2;15130:9;15126:18;15118:26;;15190:9;15184:4;15180:20;15176:1;15165:9;15161:17;15154:47;15218:131;15344:4;15218:131;:::i;:::-;15210:139;;14937:419;;;:::o;15362:173::-;15502:25;15498:1;15490:6;15486:14;15479:49;15362:173;:::o;15541:366::-;15683:3;15704:67;15768:2;15763:3;15704:67;:::i;:::-;15697:74;;15780:93;15869:3;15780:93;:::i;:::-;15898:2;15893:3;15889:12;15882:19;;15541:366;;;:::o;15913:419::-;16079:4;16117:2;16106:9;16102:18;16094:26;;16166:9;16160:4;16156:20;16152:1;16141:9;16137:17;16130:47;16194:131;16320:4;16194:131;:::i;:::-;16186:139;;15913:419;;;:::o;16338:181::-;16478:33;16474:1;16466:6;16462:14;16455:57;16338:181;:::o;16525:366::-;16667:3;16688:67;16752:2;16747:3;16688:67;:::i;:::-;16681:74;;16764:93;16853:3;16764:93;:::i;:::-;16882:2;16877:3;16873:12;16866:19;;16525:366;;;:::o;16897:419::-;17063:4;17101:2;17090:9;17086:18;17078:26;;17150:9;17144:4;17140:20;17136:1;17125:9;17121:17;17114:47;17178:131;17304:4;17178:131;:::i;:::-;17170:139;;16897:419;;;:::o;17322:222::-;17462:34;17458:1;17450:6;17446:14;17439:58;17531:5;17526:2;17518:6;17514:15;17507:30;17322:222;:::o;17550:366::-;17692:3;17713:67;17777:2;17772:3;17713:67;:::i;:::-;17706:74;;17789:93;17878:3;17789:93;:::i;:::-;17907:2;17902:3;17898:12;17891:19;;17550:366;;;:::o;17922:419::-;18088:4;18126:2;18115:9;18111:18;18103:26;;18175:9;18169:4;18165:20;18161:1;18150:9;18146:17;18139:47;18203:131;18329:4;18203:131;:::i;:::-;18195:139;;17922:419;;;:::o;18347:241::-;18487:34;18483:1;18475:6;18471:14;18464:58;18556:24;18551:2;18543:6;18539:15;18532:49;18347:241;:::o;18594:366::-;18736:3;18757:67;18821:2;18816:3;18757:67;:::i;:::-;18750:74;;18833:93;18922:3;18833:93;:::i;:::-;18951:2;18946:3;18942:12;18935:19;;18594:366;;;:::o;18966:419::-;19132:4;19170:2;19159:9;19155:18;19147:26;;19219:9;19213:4;19209:20;19205:1;19194:9;19190:17;19183:47;19247:131;19373:4;19247:131;:::i;:::-;19239:139;;18966:419;;;:::o;19391:221::-;19531:34;19527:1;19519:6;19515:14;19508:58;19600:4;19595:2;19587:6;19583:15;19576:29;19391:221;:::o;19618:366::-;19760:3;19781:67;19845:2;19840:3;19781:67;:::i;:::-;19774:74;;19857:93;19946:3;19857:93;:::i;:::-;19975:2;19970:3;19966:12;19959:19;;19618:366;;;:::o;19990:419::-;20156:4;20194:2;20183:9;20179:18;20171:26;;20243:9;20237:4;20233:20;20229:1;20218:9;20214:17;20207:47;20271:131;20397:4;20271:131;:::i;:::-;20263:139;;19990:419;;;:::o;20415:143::-;20472:5;20503:6;20497:13;20488:22;;20519:33;20546:5;20519:33;:::i;:::-;20415:143;;;;:::o;20564:351::-;20634:6;20683:2;20671:9;20662:7;20658:23;20654:32;20651:119;;;20689:79;;:::i;:::-;20651:119;20809:1;20834:64;20890:7;20881:6;20870:9;20866:22;20834:64;:::i;:::-;20824:74;;20780:128;20564:351;;;;:::o;20921:169::-;21061:21;21057:1;21049:6;21045:14;21038:45;20921:169;:::o;21096:366::-;21238:3;21259:67;21323:2;21318:3;21259:67;:::i;:::-;21252:74;;21335:93;21424:3;21335:93;:::i;:::-;21453:2;21448:3;21444:12;21437:19;;21096:366;;;:::o;21468:419::-;21634:4;21672:2;21661:9;21657:18;21649:26;;21721:9;21715:4;21711:20;21707:1;21696:9;21692:17;21685:47;21749:131;21875:4;21749:131;:::i;:::-;21741:139;;21468:419;;;:::o;21893:134::-;21951:9;21984:37;22015:5;21984:37;:::i;:::-;21971:50;;21893:134;;;:::o;22033:147::-;22128:45;22167:5;22128:45;:::i;:::-;22123:3;22116:58;22033:147;;:::o;22186:348::-;22315:4;22353:2;22342:9;22338:18;22330:26;;22366:79;22442:1;22431:9;22427:17;22418:6;22366:79;:::i;:::-;22455:72;22523:2;22512:9;22508:18;22499:6;22455:72;:::i;:::-;22186:348;;;;;:::o;22540:137::-;22594:5;22625:6;22619:13;22610:22;;22641:30;22665:5;22641:30;:::i;:::-;22540:137;;;;:::o;22683:345::-;22750:6;22799:2;22787:9;22778:7;22774:23;22770:32;22767:119;;;22805:79;;:::i;:::-;22767:119;22925:1;22950:61;23003:7;22994:6;22983:9;22979:22;22950:61;:::i;:::-;22940:71;;22896:125;22683:345;;;;:::o;23034:225::-;23174:34;23170:1;23162:6;23158:14;23151:58;23243:8;23238:2;23230:6;23226:15;23219:33;23034:225;:::o;23265:366::-;23407:3;23428:67;23492:2;23487:3;23428:67;:::i;:::-;23421:74;;23504:93;23593:3;23504:93;:::i;:::-;23622:2;23617:3;23613:12;23606:19;;23265:366;;;:::o;23637:419::-;23803:4;23841:2;23830:9;23826:18;23818:26;;23890:9;23884:4;23880:20;23876:1;23865:9;23861:17;23854:47;23918:131;24044:4;23918:131;:::i;:::-;23910:139;;23637:419;;;:::o;24062:240::-;24202:34;24198:1;24190:6;24186:14;24179:58;24271:23;24266:2;24258:6;24254:15;24247:48;24062:240;:::o;24308:366::-;24450:3;24471:67;24535:2;24530:3;24471:67;:::i;:::-;24464:74;;24547:93;24636:3;24547:93;:::i;:::-;24665:2;24660:3;24656:12;24649:19;;24308:366;;;:::o;24680:419::-;24846:4;24884:2;24873:9;24869:18;24861:26;;24933:9;24927:4;24923:20;24919:1;24908:9;24904:17;24897:47;24961:131;25087:4;24961:131;:::i;:::-;24953:139;;24680:419;;;:::o;25105:242::-;25245:34;25241:1;25233:6;25229:14;25222:58;25314:25;25309:2;25301:6;25297:15;25290:50;25105:242;:::o;25353:366::-;25495:3;25516:67;25580:2;25575:3;25516:67;:::i;:::-;25509:74;;25592:93;25681:3;25592:93;:::i;:::-;25710:2;25705:3;25701:12;25694:19;;25353:366;;;:::o;25725:419::-;25891:4;25929:2;25918:9;25914:18;25906:26;;25978:9;25972:4;25968:20;25964:1;25953:9;25949:17;25942:47;26006:131;26132:4;26006:131;:::i;:::-;25998:139;;25725:419;;;:::o;26150:177::-;26290:29;26286:1;26278:6;26274:14;26267:53;26150:177;:::o;26333:366::-;26475:3;26496:67;26560:2;26555:3;26496:67;:::i;:::-;26489:74;;26572:93;26661:3;26572:93;:::i;:::-;26690:2;26685:3;26681:12;26674:19;;26333:366;;;:::o;26705:419::-;26871:4;26909:2;26898:9;26894:18;26886:26;;26958:9;26952:4;26948:20;26944:1;26933:9;26929:17;26922:47;26986:131;27112:4;26986:131;:::i;:::-;26978:139;;26705:419;;;:::o;27130:223::-;27270:34;27266:1;27258:6;27254:14;27247:58;27339:6;27334:2;27326:6;27322:15;27315:31;27130:223;:::o;27359:366::-;27501:3;27522:67;27586:2;27581:3;27522:67;:::i;:::-;27515:74;;27598:93;27687:3;27598:93;:::i;:::-;27716:2;27711:3;27707:12;27700:19;;27359:366;;;:::o;27731:419::-;27897:4;27935:2;27924:9;27920:18;27912:26;;27984:9;27978:4;27974:20;27970:1;27959:9;27955:17;27948:47;28012:131;28138:4;28012:131;:::i;:::-;28004:139;;27731:419;;;:::o;28156:221::-;28296:34;28292:1;28284:6;28280:14;28273:58;28365:4;28360:2;28352:6;28348:15;28341:29;28156:221;:::o;28383:366::-;28525:3;28546:67;28610:2;28605:3;28546:67;:::i;:::-;28539:74;;28622:93;28711:3;28622:93;:::i;:::-;28740:2;28735:3;28731:12;28724:19;;28383:366;;;:::o;28755:419::-;28921:4;28959:2;28948:9;28944:18;28936:26;;29008:9;29002:4;28998:20;28994:1;28983:9;28979:17;28972:47;29036:131;29162:4;29036:131;:::i;:::-;29028:139;;28755:419;;;:::o;29180:224::-;29320:34;29316:1;29308:6;29304:14;29297:58;29389:7;29384:2;29376:6;29372:15;29365:32;29180:224;:::o;29410:366::-;29552:3;29573:67;29637:2;29632:3;29573:67;:::i;:::-;29566:74;;29649:93;29738:3;29649:93;:::i;:::-;29767:2;29762:3;29758:12;29751:19;;29410:366;;;:::o;29782:419::-;29948:4;29986:2;29975:9;29971:18;29963:26;;30035:9;30029:4;30025:20;30021:1;30010:9;30006:17;29999:47;30063:131;30189:4;30063:131;:::i;:::-;30055:139;;29782:419;;;:::o;30207:222::-;30347:34;30343:1;30335:6;30331:14;30324:58;30416:5;30411:2;30403:6;30399:15;30392:30;30207:222;:::o;30435:366::-;30577:3;30598:67;30662:2;30657:3;30598:67;:::i;:::-;30591:74;;30674:93;30763:3;30674:93;:::i;:::-;30792:2;30787:3;30783:12;30776:19;;30435:366;;;:::o;30807:419::-;30973:4;31011:2;31000:9;30996:18;30988:26;;31060:9;31054:4;31050:20;31046:1;31035:9;31031:17;31024:47;31088:131;31214:4;31088:131;:::i;:::-;31080:139;;30807:419;;;:::o;31232:228::-;31372:34;31368:1;31360:6;31356:14;31349:58;31441:11;31436:2;31428:6;31424:15;31417:36;31232:228;:::o;31466:366::-;31608:3;31629:67;31693:2;31688:3;31629:67;:::i;:::-;31622:74;;31705:93;31794:3;31705:93;:::i;:::-;31823:2;31818:3;31814:12;31807:19;;31466:366;;;:::o;31838:419::-;32004:4;32042:2;32031:9;32027:18;32019:26;;32091:9;32085:4;32081:20;32077:1;32066:9;32062:17;32055:47;32119:131;32245:4;32119:131;:::i;:::-;32111:139;;31838:419;;;:::o;32263:169::-;32403:21;32399:1;32391:6;32387:14;32380:45;32263:169;:::o;32438:366::-;32580:3;32601:67;32665:2;32660:3;32601:67;:::i;:::-;32594:74;;32677:93;32766:3;32677:93;:::i;:::-;32795:2;32790:3;32786:12;32779:19;;32438:366;;;:::o;32810:419::-;32976:4;33014:2;33003:9;32999:18;32991:26;;33063:9;33057:4;33053:20;33049:1;33038:9;33034:17;33027:47;33091:131;33217:4;33091:131;:::i;:::-;33083:139;;32810:419;;;:::o;33235:180::-;33283:77;33280:1;33273:88;33380:4;33377:1;33370:15;33404:4;33401:1;33394:15;33421:185;33461:1;33478:20;33496:1;33478:20;:::i;:::-;33473:25;;33512:20;33530:1;33512:20;:::i;:::-;33507:25;;33551:1;33541:35;;33556:18;;:::i;:::-;33541:35;33598:1;33595;33591:9;33586:14;;33421:185;;;;:::o;33612:175::-;33752:27;33748:1;33740:6;33736:14;33729:51;33612:175;:::o;33793:366::-;33935:3;33956:67;34020:2;34015:3;33956:67;:::i;:::-;33949:74;;34032:93;34121:3;34032:93;:::i;:::-;34150:2;34145:3;34141:12;34134:19;;33793:366;;;:::o;34165:419::-;34331:4;34369:2;34358:9;34354:18;34346:26;;34418:9;34412:4;34408:20;34404:1;34393:9;34389:17;34382:47;34446:131;34572:4;34446:131;:::i;:::-;34438:139;;34165:419;;;:::o;34590:191::-;34630:3;34649:20;34667:1;34649:20;:::i;:::-;34644:25;;34683:20;34701:1;34683:20;:::i;:::-;34678:25;;34726:1;34723;34719:9;34712:16;;34747:3;34744:1;34741:10;34738:36;;;34754:18;;:::i;:::-;34738:36;34590:191;;;;:::o;34787:176::-;34927:28;34923:1;34915:6;34911:14;34904:52;34787:176;:::o;34969:366::-;35111:3;35132:67;35196:2;35191:3;35132:67;:::i;:::-;35125:74;;35208:93;35297:3;35208:93;:::i;:::-;35326:2;35321:3;35317:12;35310:19;;34969:366;;;:::o;35341:419::-;35507:4;35545:2;35534:9;35530:18;35522:26;;35594:9;35588:4;35584:20;35580:1;35569:9;35565:17;35558:47;35622:131;35748:4;35622:131;:::i;:::-;35614:139;;35341:419;;;:::o;35766:233::-;35805:3;35828:24;35846:5;35828:24;:::i;:::-;35819:33;;35874:66;35867:5;35864:77;35861:103;;35944:18;;:::i;:::-;35861:103;35991:1;35984:5;35980:13;35973:20;;35766:233;;;:::o;36005:179::-;36145:31;36141:1;36133:6;36129:14;36122:55;36005:179;:::o;36190:366::-;36332:3;36353:67;36417:2;36412:3;36353:67;:::i;:::-;36346:74;;36429:93;36518:3;36429:93;:::i;:::-;36547:2;36542:3;36538:12;36531:19;;36190:366;;;:::o;36562:419::-;36728:4;36766:2;36755:9;36751:18;36743:26;;36815:9;36809:4;36805:20;36801:1;36790:9;36786:17;36779:47;36843:131;36969:4;36843:131;:::i;:::-;36835:139;;36562:419;;;:::o;36987:180::-;37035:77;37032:1;37025:88;37132:4;37129:1;37122:15;37156:4;37153:1;37146:15;37173:180;37221:77;37218:1;37211:88;37318:4;37315:1;37308:15;37342:4;37339:1;37332:15;37359:143;37416:5;37447:6;37441:13;37432:22;;37463:33;37490:5;37463:33;:::i;:::-;37359:143;;;;:::o;37508:351::-;37578:6;37627:2;37615:9;37606:7;37602:23;37598:32;37595:119;;;37633:79;;:::i;:::-;37595:119;37753:1;37778:64;37834:7;37825:6;37814:9;37810:22;37778:64;:::i;:::-;37768:74;;37724:128;37508:351;;;;:::o;37865:85::-;37910:7;37939:5;37928:16;;37865:85;;;:::o;37956:158::-;38014:9;38047:61;38065:42;38074:32;38100:5;38074:32;:::i;:::-;38065:42;:::i;:::-;38047:61;:::i;:::-;38034:74;;37956:158;;;:::o;38120:147::-;38215:45;38254:5;38215:45;:::i;:::-;38210:3;38203:58;38120:147;;:::o;38273:114::-;38340:6;38374:5;38368:12;38358:22;;38273:114;;;:::o;38393:184::-;38492:11;38526:6;38521:3;38514:19;38566:4;38561:3;38557:14;38542:29;;38393:184;;;;:::o;38583:132::-;38650:4;38673:3;38665:11;;38703:4;38698:3;38694:14;38686:22;;38583:132;;;:::o;38721:108::-;38798:24;38816:5;38798:24;:::i;:::-;38793:3;38786:37;38721:108;;:::o;38835:179::-;38904:10;38925:46;38967:3;38959:6;38925:46;:::i;:::-;39003:4;38998:3;38994:14;38980:28;;38835:179;;;;:::o;39020:113::-;39090:4;39122;39117:3;39113:14;39105:22;;39020:113;;;:::o;39169:732::-;39288:3;39317:54;39365:5;39317:54;:::i;:::-;39387:86;39466:6;39461:3;39387:86;:::i;:::-;39380:93;;39497:56;39547:5;39497:56;:::i;:::-;39576:7;39607:1;39592:284;39617:6;39614:1;39611:13;39592:284;;;39693:6;39687:13;39720:63;39779:3;39764:13;39720:63;:::i;:::-;39713:70;;39806:60;39859:6;39806:60;:::i;:::-;39796:70;;39652:224;39639:1;39636;39632:9;39627:14;;39592:284;;;39596:14;39892:3;39885:10;;39293:608;;;39169:732;;;;:::o;39907:831::-;40170:4;40208:3;40197:9;40193:19;40185:27;;40222:71;40290:1;40279:9;40275:17;40266:6;40222:71;:::i;:::-;40303:80;40379:2;40368:9;40364:18;40355:6;40303:80;:::i;:::-;40430:9;40424:4;40420:20;40415:2;40404:9;40400:18;40393:48;40458:108;40561:4;40552:6;40458:108;:::i;:::-;40450:116;;40576:72;40644:2;40633:9;40629:18;40620:6;40576:72;:::i;:::-;40658:73;40726:3;40715:9;40711:19;40702:6;40658:73;:::i;:::-;39907:831;;;;;;;;:::o

Swarm Source

ipfs://cb9bfd3c2bb0a75d291063be6a2b8fae571e74dbb3105931c7bba4c677b066d7
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.