ETH Price: $3,399.50 (-1.73%)
Gas: 5 Gwei

Token

Oddsbots (ODDS)
 

Overview

Max Total Supply

100,000,000 ODDS

Holders

335

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
21,388.684320606 ODDS

Value
$0.00
0xAE8D530fca4E1700F5bd5F0D40050EC0b546Bf11
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:
Oddsbots

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 2023-09-30
*/

/**
 
    The AI-driven arbitrage betting bot. Operating on autopilot, it leverages odds differences among bookies, always profiting, no matter the match outcome.
 
  ______    ________   ________    ________  _______     ______  ___________  ________  
   /    " \  |"      "\ |"      "\  /"       )|   _  "\   /    " \("     _   ")/"       ) 
  // ____  \ (.  ___  :)(.  ___  :)(:   \___/ (. |_)  :) // ____  \)__/  \\__/(:   \___/  
 /  /    ) :)|: \   ) |||: \   ) || \___  \   |:     \/ /  /    ) :)  \\_ /    \___  \    
(: (____/ // (| (___\ ||(| (___\ ||  __/  \\  (|  _  \\(: (____/ //   |.  |     __/  \\   
 \        /  |:       :)|:       :) /" \   :) |: |_)  :)\        /    \:  |    /" \   :)  
  \"_____/   (________/ (________/ (_______/  (_______/  \"_____/      \__|   (_______/   
 

 * Website:     https://oddsbots.com/
 * Telegram:    https://t.me/oddsbots
 * Twitter(X):  https://x.com/oddsbotsai

 */      


// SPDX-License-Identifier: MIT

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 Oddsbots is Context, IERC20, Ownable {
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping(address => bool) private isBots;
    address private ops;
    address payable private MarketingWallet;
    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 100000000 * 10**_decimals; 
    string private constant _name = "Oddsbots";
    string private constant _symbol = "ODDS";
    uint256 private ThresholdTokens = 600000 * 10**_decimals; 
    uint256 public maxTxAmount = 600000 * 10**_decimals; 
    uint256 public maxWalletSize = 700000 * 10**_decimals;  
    uint256 public buyTaxes = 6;
    uint256 public sellTaxes = 6;
    address public constant deadWallet = 0x000000000000000000000000000000000000dEaD;
    address public constant Team = 0xbC0D9F3E00F0196BA42D56c7d6E1d10311760378;
   
    uint256 private  genesis_block;
    uint256 private deadline = 7;
    uint256 private launchtax = 99;
   
    IUniswapV2Router02 public uniswapV2Router;
    address private uniswapV2Pair;
    bool public tradeEnable = false;
    bool public _SwapBackEnable = false;
    bool private inSwap = false;
   
   
    event ExcludeFromFeeUpdated(address indexed account);
    event includeFromFeeUpdated(address indexed account);
    event FeesRecieverUpdated(address indexed _newWallet);
    event SwapThreshouldUpdated(uint256 indexed tokenAmount);
    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 if (block.chainid == 11155111) {
        // SePolia Testnet Router Address
        uniswapV2Router = IUniswapV2Router02(0x86dcd3293C53Cf8EFd7303B57beb2a3F671dDE98);
    }
    
    else {
        revert("Wrong Chain Id");
    }
    
    
    uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
    MarketingWallet = payable(0x16Bb519c0Aca8ab6b012DC643843a4220B8a3cB2);
    ops = 0x85Db4e18c4579f46185c26E3100fb6C85198dc1e; // Deployer Address

    _balances[_msgSender()] = _tTotal;
    _isExcludedFromFee[_msgSender()] = true;
    _isExcludedFromFee[address(this)] = true;
    _isExcludedFromFee[MarketingWallet] = true;
    _isExcludedFromFee[ops] = true;
    _isExcludedFromFee[deadWallet] = true;
    _isExcludedFromFee[0xbC0D9F3E00F0196BA42D56c7d6E1d10311760378] = true; // Team

    emit Transfer(address(0), _msgSender(), _tTotal);
}
    function name() public pure returns (string memory) {
        return _name;
    }
    function symbol() public pure returns (string memory) {
        return _symbol;
    }
    function decimals() public pure returns (uint8) {
        return _decimals;
    }
    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }
    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }
    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }
    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }
    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        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 setMaxWalletSize(uint256 _maxWalletSize) external onlyOwner {
        maxWalletSize = _maxWalletSize;
    }
    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");
        require(!isBots[from] && !isBots[to], "You can't transfer tokens");
        uint256 TaxSwap = 0;

        if (!_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
            require(tradeEnable, "Trading not enabled");       
               TaxSwap = amount * buyTaxes / 100;
        }
        
        if (_isExcludedFromFee[from] || _isExcludedFromFee[to]) {
            TaxSwap = 0;
        } 
             
          if (!_isExcludedFromFee[from] && !_isExcludedFromFee[to] && block.number <= genesis_block + deadline){
              TaxSwap = amount * launchtax / 100;
          }
         
          if (from == uniswapV2Pair && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
             require(amount <= maxTxAmount, "Exceeds the _maxTxAmount.");
          } 
        
          if (from != uniswapV2Pair && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
             require(amount <= maxTxAmount, "Exceeds the _maxTxAmount.");
          }
          if (to != uniswapV2Pair && from != address(this) && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]){
            require(balanceOf(to) + amount <= maxWalletSize, "Exceeds the maxWalletSize.");
          }  
          if (to != uniswapV2Pair && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]){
              require(balanceOf(to) + amount <= maxTxAmount, "Exceeds the maxWalletSize.");
          }
        
          if (to == uniswapV2Pair && from != address(this) && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                    TaxSwap = amount * sellTaxes / 100;
                
                } 
       
             uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && from != uniswapV2Pair && _SwapBackEnable && contractTokenBalance >= ThresholdTokens) {
                swapTokensForEth(ThresholdTokens);
               
               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 addExcludeFee(address account) external onlyOwner {
      require(_isExcludedFromFee[account] != true,"Account is already excluded");
       _isExcludedFromFee[account] = true;
    emit ExcludeFromFeeUpdated(account);
   }
    function removeExcludeFee(address account) external onlyOwner {
         require(_isExcludedFromFee[account] != false, "Account is already included");
        _isExcludedFromFee[account] = false;
     emit includeFromFeeUpdated(account);
    }
   function updateTaxes(uint256 newBuyFee, uint256 newSellFee) external onlyOwner {
        require(newBuyFee <= 60 && newSellFee <= 80, "ERC20: wrong tax value!");
        buyTaxes = newBuyFee;
        sellTaxes = newSellFee;
    }
   function addBlacklist(address account) external onlyOwner {isBots[account] = true;}
   function removeBlacklist(address account) external onlyOwner {isBots[account] = false;}
   function removeMaxTxLimit() external onlyOwner {maxTxAmount = _tTotal;}
   function updateSwapBackSetting(bool state) external onlyOwner {_SwapBackEnable = state;emit SwapBackSettingUpdated(state);}
   function updateMaxTxLimit(uint256 amount) external onlyOwner {require(amount >= 100000, "amount must be greater than or equal to 0.1% of the supply");
    maxTxAmount = amount * 10**_decimals;
    }
    function updateFeeReciever(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 updateThreshouldToken(uint256 tokenAmount) external onlyOwner {
        require(tokenAmount <= 1000000, "amount must be less than or equal to 1% of the supply");
        require(tokenAmount >= 100000, "amount must be greater than or equal to 0.1% of the supply");
        ThresholdTokens = tokenAmount * 10**_decimals;
    emit SwapThreshouldUpdated(tokenAmount);
    }
    function go_live() external onlyOwner() {
        require(!tradeEnable,"trading is already open");
        _SwapBackEnable = true;
         tradeEnable = true;
       genesis_block = block.number;
       emit TradingOpenUpdated();
    }
    function add() external onlyOwner() {
        require(!tradeEnable,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }
    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":"tokenAmount","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":"Team","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_SwapBackEnable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"add","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addExcludeFee","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":"buyTaxes","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":[],"name":"go_live","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"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":[{"internalType":"address","name":"account","type":"address"}],"name":"removeBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeExcludeFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeMaxTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTaxes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxWalletSize","type":"uint256"}],"name":"setMaxWalletSize","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":[{"internalType":"address payable","name":"_newWallet","type":"address"}],"name":"updateFeeReciever","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"updateMaxTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"state","type":"bool"}],"name":"updateSwapBackSetting","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyFee","type":"uint256"},{"internalType":"uint256","name":"newSellFee","type":"uint256"}],"name":"updateTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"updateThreshouldToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526009600a62000014919062000b93565b620927c062000024919062000be4565b6007556009600a62000037919062000b93565b620927c062000047919062000be4565b6008556009600a6200005a919062000b93565b620aae606200006a919062000be4565b6009556006600a556006600b556007600d556063600e556000601060146101000a81548160ff0219169083151502179055506000601060156101000a81548160ff0219169083151502179055506000601060166101000a81548160ff021916908315150217905550348015620000df57600080fd5b506000620000f2620009f160201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35060384603620001f4577310ed43c718714eb63d5aa57b78b54704e256024e600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620003d5565b6001461480620002045750600546145b156200026557737a250d5630b4cf539739df2c5dacb4c659f2488d600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620003d4565b61a4b14603620002ca57731b02da8cb0d097eb8d57a175b88c7d8b47997506600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620003d3565b606146036200032e5773d99d1c33f9fc3444f8101754abc46c52416550d1600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620003d2565b62aa36a7460362000394577386dcd3293c53cf8efd7303b57beb2a3f671dde98600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620003d1565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003c89062000c90565b60405180910390fd5b5b5b5b5b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000443573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000469919062000d1c565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620004f3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000519919062000d1c565b6040518363ffffffff1660e01b81526004016200053892919062000d5f565b6020604051808303816000875af115801562000558573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200057e919062000d1c565b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507316bb519c0aca8ab6b012dc643843a4220b8a3cb2600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507385db4e18c4579f46185c26e3100fb6c85198dc1e600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a62000678919062000b93565b6305f5e10062000689919062000be4565b600160006200069d620009f160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160036000620006f1620009f160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016003600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016003600073bc0d9f3e00f0196ba42d56c7d6e1d1031176037873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000964620009f160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a620009c3919062000b93565b6305f5e100620009d4919062000be4565b604051620009e3919062000d9d565b60405180910390a362000dba565b600033905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000a875780860481111562000a5f5762000a5e620009f9565b5b600185161562000a6f5780820291505b808102905062000a7f8562000a28565b945062000a3f565b94509492505050565b60008262000aa2576001905062000b75565b8162000ab2576000905062000b75565b816001811462000acb576002811462000ad65762000b0c565b600191505062000b75565b60ff84111562000aeb5762000aea620009f9565b5b8360020a91508482111562000b055762000b04620009f9565b5b5062000b75565b5060208310610133831016604e8410600b841016171562000b465782820a90508381111562000b405762000b3f620009f9565b5b62000b75565b62000b55848484600162000a35565b9250905081840481111562000b6f5762000b6e620009f9565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062000ba08262000b7c565b915062000bad8362000b86565b925062000bdc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000a90565b905092915050565b600062000bf18262000b7c565b915062000bfe8362000b7c565b925082820262000c0e8162000b7c565b9150828204841483151762000c285762000c27620009f9565b5b5092915050565b600082825260208201905092915050565b7f57726f6e6720436861696e204964000000000000000000000000000000000000600082015250565b600062000c78600e8362000c2f565b915062000c858262000c40565b602082019050919050565b6000602082019050818103600083015262000cab8162000c69565b9050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000ce48262000cb7565b9050919050565b62000cf68162000cd7565b811462000d0257600080fd5b50565b60008151905062000d168162000ceb565b92915050565b60006020828403121562000d355762000d3462000cb2565b5b600062000d458482850162000d05565b91505092915050565b62000d598162000cd7565b82525050565b600060408201905062000d76600083018562000d4e565b62000d85602083018462000d4e565b9392505050565b62000d978162000b7c565b82525050565b600060208201905062000db4600083018462000d8c565b92915050565b614f9d8062000dca6000396000f3fe6080604052600436106102135760003560e01c80638c0b5e2211610118578063d59b2ba0116100a0578063eb91e6511161006f578063eb91e65114610738578063f2fde38b14610761578063f66895a31461078a578063f87dc2c6146107b5578063fa5bf516146107e05761021a565b8063d59b2ba014610680578063dd62ed3e146106a9578063e699ae1c146106e6578063ea1644d51461070f5761021a565b80639cfe42da116100e75780639cfe42da146105b1578063a333b4ab146105da578063a9059cbb14610603578063c2c327d114610640578063ce831ed5146106695761021a565b80638c0b5e22146105055780638da5cb5b146105305780638f3fa8601461055b57806395d89b41146105865761021a565b80635968637d1161019b578063715018a61161016a578063715018a61461044457806382abcce41461045b57806385141a7714610486578063864701a5146104b15780638898dfdb146104dc5761021a565b80635968637d1461039c578063639e01dd146103b35780636dff2eeb146103de57806370a08231146104075761021a565b806318160ddd116101e257806318160ddd146102db57806323b872dd14610306578063313ce567146103435780634415fb611461036e5780634f2be91f146103855761021a565b806306fdde031461021f578063095ea7b31461024a5780631006ee0c146102875780631694505e146102b05761021a565b3661021a57005b600080fd5b34801561022b57600080fd5b50610234610809565b6040516102419190613903565b60405180910390f35b34801561025657600080fd5b50610271600480360381019061026c91906139be565b610846565b60405161027e9190613a19565b60405180910390f35b34801561029357600080fd5b506102ae60048036038101906102a99190613a34565b610864565b005b3480156102bc57600080fd5b506102c561095c565b6040516102d29190613ad3565b60405180910390f35b3480156102e757600080fd5b506102f0610982565b6040516102fd9190613afd565b60405180910390f35b34801561031257600080fd5b5061032d60048036038101906103289190613b18565b6109a6565b60405161033a9190613a19565b60405180910390f35b34801561034f57600080fd5b50610358610aa6565b6040516103659190613b87565b60405180910390f35b34801561037a57600080fd5b50610383610aaf565b005b34801561039157600080fd5b5061039a610b69565b005b3480156103a857600080fd5b506103b1610e8d565b005b3480156103bf57600080fd5b506103c8610fdd565b6040516103d59190613bb1565b60405180910390f35b3480156103ea57600080fd5b50610405600480360381019061040091906139be565b610ff5565b005b34801561041357600080fd5b5061042e60048036038101906104299190613bcc565b6112c9565b60405161043b9190613afd565b60405180910390f35b34801561045057600080fd5b50610459611312565b005b34801561046757600080fd5b50610470611465565b60405161047d9190613a19565b60405180910390f35b34801561049257600080fd5b5061049b611478565b6040516104a89190613bb1565b60405180910390f35b3480156104bd57600080fd5b506104c661147e565b6040516104d39190613afd565b60405180910390f35b3480156104e857600080fd5b5061050360048036038101906104fe9190613bf9565b611484565b005b34801561051157600080fd5b5061051a6115f4565b6040516105279190613afd565b60405180910390f35b34801561053c57600080fd5b506105456115fa565b6040516105529190613bb1565b60405180910390f35b34801561056757600080fd5b50610570611623565b60405161057d9190613afd565b60405180910390f35b34801561059257600080fd5b5061059b611629565b6040516105a89190613903565b60405180910390f35b3480156105bd57600080fd5b506105d860048036038101906105d39190613bcc565b611666565b005b3480156105e657600080fd5b5061060160048036038101906105fc9190613c52565b611756565b005b34801561060f57600080fd5b5061062a600480360381019061062591906139be565b611837565b6040516106379190613a19565b60405180910390f35b34801561064c57600080fd5b5061066760048036038101906106629190613bf9565b611855565b005b34801561067557600080fd5b5061067e611952565b005b34801561068c57600080fd5b506106a760048036038101906106a29190613bcc565b611a75565b005b3480156106b557600080fd5b506106d060048036038101906106cb9190613c7f565b611c3b565b6040516106dd9190613afd565b60405180910390f35b3480156106f257600080fd5b5061070d60048036038101906107089190613bcc565b611cc2565b005b34801561071b57600080fd5b5061073660048036038101906107319190613bf9565b611e88565b005b34801561074457600080fd5b5061075f600480360381019061075a9190613bcc565b611f27565b005b34801561076d57600080fd5b5061078860048036038101906107839190613bcc565b612017565b005b34801561079657600080fd5b5061079f612127565b6040516107ac9190613afd565b60405180910390f35b3480156107c157600080fd5b506107ca61212d565b6040516107d79190613a19565b60405180910390f35b3480156107ec57600080fd5b5061080760048036038101906108029190613cfd565b612140565b005b60606040518060400160405280600881526020017f4f646473626f7473000000000000000000000000000000000000000000000000815250905090565b600061085a610853612391565b8484612399565b6001905092915050565b61086c612391565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f090613d76565b60405180910390fd5b603c821115801561090b575060508111155b61094a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094190613de2565b60405180910390fd5b81600a8190555080600b819055505050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006009600a6109929190613f64565b6305f5e1006109a19190613faf565b905090565b600080600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006109f2612391565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610a72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6990614063565b60405180910390fd5b610a7d858585612562565b610a9a85610a89612391565b8584610a959190614083565b612399565b60019150509392505050565b60006009905090565b610ab7612391565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3b90613d76565b60405180910390fd5b6009600a610b529190613f64565b6305f5e100610b619190613faf565b600881905550565b610b71612391565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf590613d76565b60405180910390fd5b601060149054906101000a900460ff1615610c4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4590614103565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610cec30600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610cd89190613f64565b6305f5e100610ce79190613faf565b612399565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610d35306112c9565b600080610d406115fa565b426040518863ffffffff1660e01b8152600401610d629695949392919061415e565b60606040518083038185885af1158015610d80573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610da591906141d4565b505050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610e47929190614227565b6020604051808303816000875af1158015610e66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e8a9190614265565b50565b610e95612391565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1990613d76565b60405180910390fd5b601060149054906101000a900460ff1615610f72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6990614103565b60405180910390fd5b6001601060156101000a81548160ff0219169083151502179055506001601060146101000a81548160ff02191690831515021790555043600c819055507f0d151bf744092c3011c9f50766da412cca73acdbcaa74b879a5858adc258f93560405160405180910390a1565b73bc0d9f3e00f0196ba42d56c7d6e1d1031176037881565b610ffd612391565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461108a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108190613d76565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036110f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ef90614304565b60405180910390fd5b6000811161113b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113290614396565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016111749190613bb1565b602060405180830381865afa158015611191573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b591906143b6565b8111156111f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ee9061442f565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401611254929190614470565b6020604051808303816000875af1158015611273573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112979190614265565b50807fc3cafad8c1a78aa542c18679d54d2e14cf1f08b516ac12071dcf9fd2d3701c2260405160405180910390a25050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61131a612391565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139e90613d76565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b601060159054906101000a900460ff1681565b61dead81565b600a5481565b61148c612391565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611519576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151090613d76565b60405180910390fd5b620f424081111561155f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115569061450b565b60405180910390fd5b620186a08110156115a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159c9061459d565b60405180910390fd5b6009600a6115b39190613f64565b816115be9190613faf565b600781905550807f2d70831e8ba235b516ecf7a8145985014eb4c8fd728d7358dcefeda7b46d081460405160405180910390a250565b60085481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60095481565b60606040518060400160405280600481526020017f4f44445300000000000000000000000000000000000000000000000000000000815250905090565b61166e612391565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f290613d76565b60405180910390fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b61175e612391565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e290613d76565b60405180910390fd5b80601060156101000a81548160ff0219169083151502179055508015157f3a9ce3b0c56e8f872f7647ac57385353c6cc3474ddf4b76a77ffbb8ad1fb0ccb60405160405180910390a250565b600061184b611844612391565b8484612562565b6001905092915050565b61185d612391565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118e190613d76565b60405180910390fd5b620186a0811015611930576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119279061459d565b60405180910390fd5b6009600a61193e9190613f64565b816119499190613faf565b60088190555050565b60004790506000811161199a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199190614396565b60405180910390fd5b478111156119dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d49061442f565b60405180910390fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611a45573d6000803e3d6000fd5b507fc680f238873c988c7dc872ec40caca9d70edfe000c3d44a1b9410684db93767560405160405180910390a150565b611a7d612391565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611b0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b0190613d76565b60405180910390fd5b60001515600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151503611b9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9490614609565b60405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167fdff643e1b752e1138794c958b6f565e4f003ba18d45383a40b582de82ced091e60405160405180910390a250565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611cca612391565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d4e90613d76565b60405180910390fd5b60011515600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151503611dea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611de190614675565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f7168e8adb718597b3ac83e2dfe415bea8ebaabb57fe933ffac2e0ed93b80718e60405160405180910390a250565b611e90612391565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611f1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f1490613d76565b60405180910390fd5b8060098190555050565b611f2f612391565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611fbc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fb390613d76565b60405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b61201f612391565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146120ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120a390613d76565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361211b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161211290614707565b60405180910390fd5b61212481613444565b50565b600b5481565b601060149054906101000a900460ff1681565b612148612391565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146121d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121cc90613d76565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612243576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161223a90614773565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036122b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122a990614805565b60405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f6867e944970fe7ede3b1a987e85026d725a5faa1e05cc2f89ec2a7a27701c3f560405160405180910390a250565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612408576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123ff90614897565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612477576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161246e90614929565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516125559190613afd565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036125d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125c8906149bb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612640576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161263790614a4d565b60405180910390fd5b60008111612683576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161267a90614adf565b60405180910390fd5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156127275750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b612766576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161275d90614b4b565b60405180910390fd5b6000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561280c5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561287d57601060149054906101000a900460ff16612860576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161285790614bb7565b60405180910390fd5b6064600a54836128709190613faf565b61287a9190614c06565b90505b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061291e5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561292857600090505b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156129cc5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156129e75750600d54600c546129e39190614c37565b4311155b15612a09576064600e54836129fc9190613faf565b612a069190614c06565b90505b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015612ab05750600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612b065750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612b5157600854821115612b50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b4790614cb7565b60405180910390fd5b5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015612bf95750600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612c4f5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612c9a57600854821115612c99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c9090614cb7565b60405180910390fd5b5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015612d2457503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015612d7a5750600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612dd05750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612e2e5760095482612de2856112c9565b612dec9190614c37565b1115612e2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e2490614d23565b60405180910390fd5b5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015612ed65750600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612f2c5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612f8a5760085482612f3e856112c9565b612f489190614c37565b1115612f89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f8090614d23565b60405180910390fd5b5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561301357503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156130695750600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156130bf5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156130e1576064600b54836130d49190613faf565b6130de9190614c06565b90505b60006130ec306112c9565b9050601060169054906101000a900460ff161580156131595750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156131715750601060159054906101000a900460ff165b801561317f57506007548110155b156131a95761318f600754613508565b600047905060008111156131a7576131a6476137c4565b5b505b82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546131f49190614083565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081836132439190614083565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461328d9190614c37565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef848661332b9190614083565b6040516133389190613afd565b60405180910390a3600082111561343d5781600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133949190614c37565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516134349190613afd565b60405180910390a35b5050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001601060166101000a81548160ff02191690831515021790555060008111613566576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161355d90614d8f565b60405180910390fd5b6000600267ffffffffffffffff81111561358357613582614daf565b5b6040519080825280602002602001820160405280156135b15781602001602082028036833780820191505090505b50905030816000815181106135c9576135c8614dde565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613670573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136949190614e22565b816001815181106136a8576136a7614dde565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061370f30600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612399565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401613773959493929190614f0d565b600060405180830381600087803b15801561378d57600080fd5b505af11580156137a1573d6000803e3d6000fd5b50505050506000601060166101000a81548160ff02191690831515021790555050565b60008111613807576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016137fe90614d8f565b60405180910390fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561386f573d6000803e3d6000fd5b5050565b600081519050919050565b600082825260208201905092915050565b60005b838110156138ad578082015181840152602081019050613892565b60008484015250505050565b6000601f19601f8301169050919050565b60006138d582613873565b6138df818561387e565b93506138ef81856020860161388f565b6138f8816138b9565b840191505092915050565b6000602082019050818103600083015261391d81846138ca565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006139558261392a565b9050919050565b6139658161394a565b811461397057600080fd5b50565b6000813590506139828161395c565b92915050565b6000819050919050565b61399b81613988565b81146139a657600080fd5b50565b6000813590506139b881613992565b92915050565b600080604083850312156139d5576139d4613925565b5b60006139e385828601613973565b92505060206139f4858286016139a9565b9150509250929050565b60008115159050919050565b613a13816139fe565b82525050565b6000602082019050613a2e6000830184613a0a565b92915050565b60008060408385031215613a4b57613a4a613925565b5b6000613a59858286016139a9565b9250506020613a6a858286016139a9565b9150509250929050565b6000819050919050565b6000613a99613a94613a8f8461392a565b613a74565b61392a565b9050919050565b6000613aab82613a7e565b9050919050565b6000613abd82613aa0565b9050919050565b613acd81613ab2565b82525050565b6000602082019050613ae86000830184613ac4565b92915050565b613af781613988565b82525050565b6000602082019050613b126000830184613aee565b92915050565b600080600060608486031215613b3157613b30613925565b5b6000613b3f86828701613973565b9350506020613b5086828701613973565b9250506040613b61868287016139a9565b9150509250925092565b600060ff82169050919050565b613b8181613b6b565b82525050565b6000602082019050613b9c6000830184613b78565b92915050565b613bab8161394a565b82525050565b6000602082019050613bc66000830184613ba2565b92915050565b600060208284031215613be257613be1613925565b5b6000613bf084828501613973565b91505092915050565b600060208284031215613c0f57613c0e613925565b5b6000613c1d848285016139a9565b91505092915050565b613c2f816139fe565b8114613c3a57600080fd5b50565b600081359050613c4c81613c26565b92915050565b600060208284031215613c6857613c67613925565b5b6000613c7684828501613c3d565b91505092915050565b60008060408385031215613c9657613c95613925565b5b6000613ca485828601613973565b9250506020613cb585828601613973565b9150509250929050565b6000613cca8261392a565b9050919050565b613cda81613cbf565b8114613ce557600080fd5b50565b600081359050613cf781613cd1565b92915050565b600060208284031215613d1357613d12613925565b5b6000613d2184828501613ce8565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613d6060208361387e565b9150613d6b82613d2a565b602082019050919050565b60006020820190508181036000830152613d8f81613d53565b9050919050565b7f45524332303a2077726f6e67207461782076616c756521000000000000000000600082015250565b6000613dcc60178361387e565b9150613dd782613d96565b602082019050919050565b60006020820190508181036000830152613dfb81613dbf565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115613e8857808604811115613e6457613e63613e02565b5b6001851615613e735780820291505b8081029050613e8185613e31565b9450613e48565b94509492505050565b600082613ea15760019050613f5d565b81613eaf5760009050613f5d565b8160018114613ec55760028114613ecf57613efe565b6001915050613f5d565b60ff841115613ee157613ee0613e02565b5b8360020a915084821115613ef857613ef7613e02565b5b50613f5d565b5060208310610133831016604e8410600b8410161715613f335782820a905083811115613f2e57613f2d613e02565b5b613f5d565b613f408484846001613e3e565b92509050818404811115613f5757613f56613e02565b5b81810290505b9392505050565b6000613f6f82613988565b9150613f7a83613b6b565b9250613fa77fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613e91565b905092915050565b6000613fba82613988565b9150613fc583613988565b9250828202613fd381613988565b91508282048414831517613fea57613fe9613e02565b5b5092915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b600061404d60288361387e565b915061405882613ff1565b604082019050919050565b6000602082019050818103600083015261407c81614040565b9050919050565b600061408e82613988565b915061409983613988565b92508282039050818111156140b1576140b0613e02565b5b92915050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006140ed60178361387e565b91506140f8826140b7565b602082019050919050565b6000602082019050818103600083015261411c816140e0565b9050919050565b6000819050919050565b600061414861414361413e84614123565b613a74565b613988565b9050919050565b6141588161412d565b82525050565b600060c0820190506141736000830189613ba2565b6141806020830188613aee565b61418d604083018761414f565b61419a606083018661414f565b6141a76080830185613ba2565b6141b460a0830184613aee565b979650505050505050565b6000815190506141ce81613992565b92915050565b6000806000606084860312156141ed576141ec613925565b5b60006141fb868287016141bf565b935050602061420c868287016141bf565b925050604061421d868287016141bf565b9150509250925092565b600060408201905061423c6000830185613ba2565b6142496020830184613aee565b9392505050565b60008151905061425f81613c26565b92915050565b60006020828403121561427b5761427a613925565b5b600061428984828501614250565b91505092915050565b7f4f776e65722063616e277420636c61696d20636f6e747261637427732062616c60008201527f616e6365206f6620697473206f776e20746f6b656e7300000000000000000000602082015250565b60006142ee60368361387e565b91506142f982614292565b604082019050919050565b6000602082019050818103600083015261431d816142e1565b9050919050565b7f416d6f756e742073686f756c642062652067726561746572207468616e207a6560008201527f726f000000000000000000000000000000000000000000000000000000000000602082015250565b600061438060228361387e565b915061438b82614324565b604082019050919050565b600060208201905081810360008301526143af81614373565b9050919050565b6000602082840312156143cc576143cb613925565b5b60006143da848285016141bf565b91505092915050565b7f496e73756666696369656e7420416d6f756e7400000000000000000000000000600082015250565b600061441960138361387e565b9150614424826143e3565b602082019050919050565b600060208201905081810360008301526144488161440c565b9050919050565b600061445a82613aa0565b9050919050565b61446a8161444f565b82525050565b60006040820190506144856000830185614461565b6144926020830184613aee565b9392505050565b7f616d6f756e74206d757374206265206c657373207468616e206f72206571756160008201527f6c20746f203125206f662074686520737570706c790000000000000000000000602082015250565b60006144f560358361387e565b915061450082614499565b604082019050919050565b60006020820190508181036000830152614524816144e8565b9050919050565b7f616d6f756e74206d7573742062652067726561746572207468616e206f72206560008201527f7175616c20746f20302e3125206f662074686520737570706c79000000000000602082015250565b6000614587603a8361387e565b91506145928261452b565b604082019050919050565b600060208201905081810360008301526145b68161457a565b9050919050565b7f4163636f756e7420697320616c726561647920696e636c756465640000000000600082015250565b60006145f3601b8361387e565b91506145fe826145bd565b602082019050919050565b60006020820190508181036000830152614622816145e6565b9050919050565b7f4163636f756e7420697320616c7265616479206578636c756465640000000000600082015250565b600061465f601b8361387e565b915061466a82614629565b602082019050919050565b6000602082019050818103600083015261468e81614652565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006146f160268361387e565b91506146fc82614695565b604082019050919050565b60006020820190508181036000830152614720816146e4565b9050919050565b7f43412077696c6c206e6f74206265207468652046656520526563696576657200600082015250565b600061475d601f8361387e565b915061476882614727565b602082019050919050565b6000602082019050818103600083015261478c81614750565b9050919050565b7f3020616464792077696c6c206e6f74206265207468652066656520526563696560008201527f7665720000000000000000000000000000000000000000000000000000000000602082015250565b60006147ef60238361387e565b91506147fa82614793565b604082019050919050565b6000602082019050818103600083015261481e816147e2565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061488160248361387e565b915061488c82614825565b604082019050919050565b600060208201905081810360008301526148b081614874565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061491360228361387e565b915061491e826148b7565b604082019050919050565b6000602082019050818103600083015261494281614906565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006149a560258361387e565b91506149b082614949565b604082019050919050565b600060208201905081810360008301526149d481614998565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000614a3760238361387e565b9150614a42826149db565b604082019050919050565b60006020820190508181036000830152614a6681614a2a565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000614ac960298361387e565b9150614ad482614a6d565b604082019050919050565b60006020820190508181036000830152614af881614abc565b9050919050565b7f596f752063616e2774207472616e7366657220746f6b656e7300000000000000600082015250565b6000614b3560198361387e565b9150614b4082614aff565b602082019050919050565b60006020820190508181036000830152614b6481614b28565b9050919050565b7f54726164696e67206e6f7420656e61626c656400000000000000000000000000600082015250565b6000614ba160138361387e565b9150614bac82614b6b565b602082019050919050565b60006020820190508181036000830152614bd081614b94565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000614c1182613988565b9150614c1c83613988565b925082614c2c57614c2b614bd7565b5b828204905092915050565b6000614c4282613988565b9150614c4d83613988565b9250828201905080821115614c6557614c64613e02565b5b92915050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000614ca160198361387e565b9150614cac82614c6b565b602082019050919050565b60006020820190508181036000830152614cd081614c94565b9050919050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000614d0d601a8361387e565b9150614d1882614cd7565b602082019050919050565b60006020820190508181036000830152614d3c81614d00565b9050919050565b7f616d6f756e74206d7573742062652067726565746572207468616e2030000000600082015250565b6000614d79601d8361387e565b9150614d8482614d43565b602082019050919050565b60006020820190508181036000830152614da881614d6c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050614e1c8161395c565b92915050565b600060208284031215614e3857614e37613925565b5b6000614e4684828501614e0d565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b614e848161394a565b82525050565b6000614e968383614e7b565b60208301905092915050565b6000602082019050919050565b6000614eba82614e4f565b614ec48185614e5a565b9350614ecf83614e6b565b8060005b83811015614f00578151614ee78882614e8a565b9750614ef283614ea2565b925050600181019050614ed3565b5085935050505092915050565b600060a082019050614f226000830188613aee565b614f2f602083018761414f565b8181036040830152614f418186614eaf565b9050614f506060830185613ba2565b614f5d6080830184613aee565b969550505050505056fea2646970667358221220a5f34195337b97c0f75ca7005ccf28c220000c3e02a6870421089ce0c857ce2764736f6c63430008130033

Deployed Bytecode

0x6080604052600436106102135760003560e01c80638c0b5e2211610118578063d59b2ba0116100a0578063eb91e6511161006f578063eb91e65114610738578063f2fde38b14610761578063f66895a31461078a578063f87dc2c6146107b5578063fa5bf516146107e05761021a565b8063d59b2ba014610680578063dd62ed3e146106a9578063e699ae1c146106e6578063ea1644d51461070f5761021a565b80639cfe42da116100e75780639cfe42da146105b1578063a333b4ab146105da578063a9059cbb14610603578063c2c327d114610640578063ce831ed5146106695761021a565b80638c0b5e22146105055780638da5cb5b146105305780638f3fa8601461055b57806395d89b41146105865761021a565b80635968637d1161019b578063715018a61161016a578063715018a61461044457806382abcce41461045b57806385141a7714610486578063864701a5146104b15780638898dfdb146104dc5761021a565b80635968637d1461039c578063639e01dd146103b35780636dff2eeb146103de57806370a08231146104075761021a565b806318160ddd116101e257806318160ddd146102db57806323b872dd14610306578063313ce567146103435780634415fb611461036e5780634f2be91f146103855761021a565b806306fdde031461021f578063095ea7b31461024a5780631006ee0c146102875780631694505e146102b05761021a565b3661021a57005b600080fd5b34801561022b57600080fd5b50610234610809565b6040516102419190613903565b60405180910390f35b34801561025657600080fd5b50610271600480360381019061026c91906139be565b610846565b60405161027e9190613a19565b60405180910390f35b34801561029357600080fd5b506102ae60048036038101906102a99190613a34565b610864565b005b3480156102bc57600080fd5b506102c561095c565b6040516102d29190613ad3565b60405180910390f35b3480156102e757600080fd5b506102f0610982565b6040516102fd9190613afd565b60405180910390f35b34801561031257600080fd5b5061032d60048036038101906103289190613b18565b6109a6565b60405161033a9190613a19565b60405180910390f35b34801561034f57600080fd5b50610358610aa6565b6040516103659190613b87565b60405180910390f35b34801561037a57600080fd5b50610383610aaf565b005b34801561039157600080fd5b5061039a610b69565b005b3480156103a857600080fd5b506103b1610e8d565b005b3480156103bf57600080fd5b506103c8610fdd565b6040516103d59190613bb1565b60405180910390f35b3480156103ea57600080fd5b50610405600480360381019061040091906139be565b610ff5565b005b34801561041357600080fd5b5061042e60048036038101906104299190613bcc565b6112c9565b60405161043b9190613afd565b60405180910390f35b34801561045057600080fd5b50610459611312565b005b34801561046757600080fd5b50610470611465565b60405161047d9190613a19565b60405180910390f35b34801561049257600080fd5b5061049b611478565b6040516104a89190613bb1565b60405180910390f35b3480156104bd57600080fd5b506104c661147e565b6040516104d39190613afd565b60405180910390f35b3480156104e857600080fd5b5061050360048036038101906104fe9190613bf9565b611484565b005b34801561051157600080fd5b5061051a6115f4565b6040516105279190613afd565b60405180910390f35b34801561053c57600080fd5b506105456115fa565b6040516105529190613bb1565b60405180910390f35b34801561056757600080fd5b50610570611623565b60405161057d9190613afd565b60405180910390f35b34801561059257600080fd5b5061059b611629565b6040516105a89190613903565b60405180910390f35b3480156105bd57600080fd5b506105d860048036038101906105d39190613bcc565b611666565b005b3480156105e657600080fd5b5061060160048036038101906105fc9190613c52565b611756565b005b34801561060f57600080fd5b5061062a600480360381019061062591906139be565b611837565b6040516106379190613a19565b60405180910390f35b34801561064c57600080fd5b5061066760048036038101906106629190613bf9565b611855565b005b34801561067557600080fd5b5061067e611952565b005b34801561068c57600080fd5b506106a760048036038101906106a29190613bcc565b611a75565b005b3480156106b557600080fd5b506106d060048036038101906106cb9190613c7f565b611c3b565b6040516106dd9190613afd565b60405180910390f35b3480156106f257600080fd5b5061070d60048036038101906107089190613bcc565b611cc2565b005b34801561071b57600080fd5b5061073660048036038101906107319190613bf9565b611e88565b005b34801561074457600080fd5b5061075f600480360381019061075a9190613bcc565b611f27565b005b34801561076d57600080fd5b5061078860048036038101906107839190613bcc565b612017565b005b34801561079657600080fd5b5061079f612127565b6040516107ac9190613afd565b60405180910390f35b3480156107c157600080fd5b506107ca61212d565b6040516107d79190613a19565b60405180910390f35b3480156107ec57600080fd5b5061080760048036038101906108029190613cfd565b612140565b005b60606040518060400160405280600881526020017f4f646473626f7473000000000000000000000000000000000000000000000000815250905090565b600061085a610853612391565b8484612399565b6001905092915050565b61086c612391565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f090613d76565b60405180910390fd5b603c821115801561090b575060508111155b61094a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094190613de2565b60405180910390fd5b81600a8190555080600b819055505050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006009600a6109929190613f64565b6305f5e1006109a19190613faf565b905090565b600080600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006109f2612391565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610a72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6990614063565b60405180910390fd5b610a7d858585612562565b610a9a85610a89612391565b8584610a959190614083565b612399565b60019150509392505050565b60006009905090565b610ab7612391565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3b90613d76565b60405180910390fd5b6009600a610b529190613f64565b6305f5e100610b619190613faf565b600881905550565b610b71612391565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf590613d76565b60405180910390fd5b601060149054906101000a900460ff1615610c4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4590614103565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610cec30600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610cd89190613f64565b6305f5e100610ce79190613faf565b612399565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610d35306112c9565b600080610d406115fa565b426040518863ffffffff1660e01b8152600401610d629695949392919061415e565b60606040518083038185885af1158015610d80573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610da591906141d4565b505050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610e47929190614227565b6020604051808303816000875af1158015610e66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e8a9190614265565b50565b610e95612391565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1990613d76565b60405180910390fd5b601060149054906101000a900460ff1615610f72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6990614103565b60405180910390fd5b6001601060156101000a81548160ff0219169083151502179055506001601060146101000a81548160ff02191690831515021790555043600c819055507f0d151bf744092c3011c9f50766da412cca73acdbcaa74b879a5858adc258f93560405160405180910390a1565b73bc0d9f3e00f0196ba42d56c7d6e1d1031176037881565b610ffd612391565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461108a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108190613d76565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036110f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ef90614304565b60405180910390fd5b6000811161113b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113290614396565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016111749190613bb1565b602060405180830381865afa158015611191573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b591906143b6565b8111156111f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ee9061442f565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401611254929190614470565b6020604051808303816000875af1158015611273573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112979190614265565b50807fc3cafad8c1a78aa542c18679d54d2e14cf1f08b516ac12071dcf9fd2d3701c2260405160405180910390a25050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61131a612391565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139e90613d76565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b601060159054906101000a900460ff1681565b61dead81565b600a5481565b61148c612391565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611519576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151090613d76565b60405180910390fd5b620f424081111561155f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115569061450b565b60405180910390fd5b620186a08110156115a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159c9061459d565b60405180910390fd5b6009600a6115b39190613f64565b816115be9190613faf565b600781905550807f2d70831e8ba235b516ecf7a8145985014eb4c8fd728d7358dcefeda7b46d081460405160405180910390a250565b60085481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60095481565b60606040518060400160405280600481526020017f4f44445300000000000000000000000000000000000000000000000000000000815250905090565b61166e612391565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f290613d76565b60405180910390fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b61175e612391565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e290613d76565b60405180910390fd5b80601060156101000a81548160ff0219169083151502179055508015157f3a9ce3b0c56e8f872f7647ac57385353c6cc3474ddf4b76a77ffbb8ad1fb0ccb60405160405180910390a250565b600061184b611844612391565b8484612562565b6001905092915050565b61185d612391565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118e190613d76565b60405180910390fd5b620186a0811015611930576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119279061459d565b60405180910390fd5b6009600a61193e9190613f64565b816119499190613faf565b60088190555050565b60004790506000811161199a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199190614396565b60405180910390fd5b478111156119dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d49061442f565b60405180910390fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611a45573d6000803e3d6000fd5b507fc680f238873c988c7dc872ec40caca9d70edfe000c3d44a1b9410684db93767560405160405180910390a150565b611a7d612391565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611b0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b0190613d76565b60405180910390fd5b60001515600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151503611b9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9490614609565b60405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167fdff643e1b752e1138794c958b6f565e4f003ba18d45383a40b582de82ced091e60405160405180910390a250565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611cca612391565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d4e90613d76565b60405180910390fd5b60011515600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151503611dea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611de190614675565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f7168e8adb718597b3ac83e2dfe415bea8ebaabb57fe933ffac2e0ed93b80718e60405160405180910390a250565b611e90612391565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611f1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f1490613d76565b60405180910390fd5b8060098190555050565b611f2f612391565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611fbc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fb390613d76565b60405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b61201f612391565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146120ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120a390613d76565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361211b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161211290614707565b60405180910390fd5b61212481613444565b50565b600b5481565b601060149054906101000a900460ff1681565b612148612391565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146121d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121cc90613d76565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612243576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161223a90614773565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036122b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122a990614805565b60405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f6867e944970fe7ede3b1a987e85026d725a5faa1e05cc2f89ec2a7a27701c3f560405160405180910390a250565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612408576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123ff90614897565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612477576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161246e90614929565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516125559190613afd565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036125d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125c8906149bb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612640576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161263790614a4d565b60405180910390fd5b60008111612683576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161267a90614adf565b60405180910390fd5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156127275750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b612766576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161275d90614b4b565b60405180910390fd5b6000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561280c5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561287d57601060149054906101000a900460ff16612860576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161285790614bb7565b60405180910390fd5b6064600a54836128709190613faf565b61287a9190614c06565b90505b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061291e5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561292857600090505b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156129cc5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156129e75750600d54600c546129e39190614c37565b4311155b15612a09576064600e54836129fc9190613faf565b612a069190614c06565b90505b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015612ab05750600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612b065750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612b5157600854821115612b50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b4790614cb7565b60405180910390fd5b5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015612bf95750600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612c4f5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612c9a57600854821115612c99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c9090614cb7565b60405180910390fd5b5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015612d2457503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015612d7a5750600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612dd05750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612e2e5760095482612de2856112c9565b612dec9190614c37565b1115612e2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e2490614d23565b60405180910390fd5b5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015612ed65750600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612f2c5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612f8a5760085482612f3e856112c9565b612f489190614c37565b1115612f89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f8090614d23565b60405180910390fd5b5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561301357503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156130695750600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156130bf5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156130e1576064600b54836130d49190613faf565b6130de9190614c06565b90505b60006130ec306112c9565b9050601060169054906101000a900460ff161580156131595750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156131715750601060159054906101000a900460ff165b801561317f57506007548110155b156131a95761318f600754613508565b600047905060008111156131a7576131a6476137c4565b5b505b82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546131f49190614083565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081836132439190614083565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461328d9190614c37565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef848661332b9190614083565b6040516133389190613afd565b60405180910390a3600082111561343d5781600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133949190614c37565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516134349190613afd565b60405180910390a35b5050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001601060166101000a81548160ff02191690831515021790555060008111613566576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161355d90614d8f565b60405180910390fd5b6000600267ffffffffffffffff81111561358357613582614daf565b5b6040519080825280602002602001820160405280156135b15781602001602082028036833780820191505090505b50905030816000815181106135c9576135c8614dde565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613670573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136949190614e22565b816001815181106136a8576136a7614dde565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061370f30600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612399565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401613773959493929190614f0d565b600060405180830381600087803b15801561378d57600080fd5b505af11580156137a1573d6000803e3d6000fd5b50505050506000601060166101000a81548160ff02191690831515021790555050565b60008111613807576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016137fe90614d8f565b60405180910390fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561386f573d6000803e3d6000fd5b5050565b600081519050919050565b600082825260208201905092915050565b60005b838110156138ad578082015181840152602081019050613892565b60008484015250505050565b6000601f19601f8301169050919050565b60006138d582613873565b6138df818561387e565b93506138ef81856020860161388f565b6138f8816138b9565b840191505092915050565b6000602082019050818103600083015261391d81846138ca565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006139558261392a565b9050919050565b6139658161394a565b811461397057600080fd5b50565b6000813590506139828161395c565b92915050565b6000819050919050565b61399b81613988565b81146139a657600080fd5b50565b6000813590506139b881613992565b92915050565b600080604083850312156139d5576139d4613925565b5b60006139e385828601613973565b92505060206139f4858286016139a9565b9150509250929050565b60008115159050919050565b613a13816139fe565b82525050565b6000602082019050613a2e6000830184613a0a565b92915050565b60008060408385031215613a4b57613a4a613925565b5b6000613a59858286016139a9565b9250506020613a6a858286016139a9565b9150509250929050565b6000819050919050565b6000613a99613a94613a8f8461392a565b613a74565b61392a565b9050919050565b6000613aab82613a7e565b9050919050565b6000613abd82613aa0565b9050919050565b613acd81613ab2565b82525050565b6000602082019050613ae86000830184613ac4565b92915050565b613af781613988565b82525050565b6000602082019050613b126000830184613aee565b92915050565b600080600060608486031215613b3157613b30613925565b5b6000613b3f86828701613973565b9350506020613b5086828701613973565b9250506040613b61868287016139a9565b9150509250925092565b600060ff82169050919050565b613b8181613b6b565b82525050565b6000602082019050613b9c6000830184613b78565b92915050565b613bab8161394a565b82525050565b6000602082019050613bc66000830184613ba2565b92915050565b600060208284031215613be257613be1613925565b5b6000613bf084828501613973565b91505092915050565b600060208284031215613c0f57613c0e613925565b5b6000613c1d848285016139a9565b91505092915050565b613c2f816139fe565b8114613c3a57600080fd5b50565b600081359050613c4c81613c26565b92915050565b600060208284031215613c6857613c67613925565b5b6000613c7684828501613c3d565b91505092915050565b60008060408385031215613c9657613c95613925565b5b6000613ca485828601613973565b9250506020613cb585828601613973565b9150509250929050565b6000613cca8261392a565b9050919050565b613cda81613cbf565b8114613ce557600080fd5b50565b600081359050613cf781613cd1565b92915050565b600060208284031215613d1357613d12613925565b5b6000613d2184828501613ce8565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613d6060208361387e565b9150613d6b82613d2a565b602082019050919050565b60006020820190508181036000830152613d8f81613d53565b9050919050565b7f45524332303a2077726f6e67207461782076616c756521000000000000000000600082015250565b6000613dcc60178361387e565b9150613dd782613d96565b602082019050919050565b60006020820190508181036000830152613dfb81613dbf565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115613e8857808604811115613e6457613e63613e02565b5b6001851615613e735780820291505b8081029050613e8185613e31565b9450613e48565b94509492505050565b600082613ea15760019050613f5d565b81613eaf5760009050613f5d565b8160018114613ec55760028114613ecf57613efe565b6001915050613f5d565b60ff841115613ee157613ee0613e02565b5b8360020a915084821115613ef857613ef7613e02565b5b50613f5d565b5060208310610133831016604e8410600b8410161715613f335782820a905083811115613f2e57613f2d613e02565b5b613f5d565b613f408484846001613e3e565b92509050818404811115613f5757613f56613e02565b5b81810290505b9392505050565b6000613f6f82613988565b9150613f7a83613b6b565b9250613fa77fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613e91565b905092915050565b6000613fba82613988565b9150613fc583613988565b9250828202613fd381613988565b91508282048414831517613fea57613fe9613e02565b5b5092915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b600061404d60288361387e565b915061405882613ff1565b604082019050919050565b6000602082019050818103600083015261407c81614040565b9050919050565b600061408e82613988565b915061409983613988565b92508282039050818111156140b1576140b0613e02565b5b92915050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006140ed60178361387e565b91506140f8826140b7565b602082019050919050565b6000602082019050818103600083015261411c816140e0565b9050919050565b6000819050919050565b600061414861414361413e84614123565b613a74565b613988565b9050919050565b6141588161412d565b82525050565b600060c0820190506141736000830189613ba2565b6141806020830188613aee565b61418d604083018761414f565b61419a606083018661414f565b6141a76080830185613ba2565b6141b460a0830184613aee565b979650505050505050565b6000815190506141ce81613992565b92915050565b6000806000606084860312156141ed576141ec613925565b5b60006141fb868287016141bf565b935050602061420c868287016141bf565b925050604061421d868287016141bf565b9150509250925092565b600060408201905061423c6000830185613ba2565b6142496020830184613aee565b9392505050565b60008151905061425f81613c26565b92915050565b60006020828403121561427b5761427a613925565b5b600061428984828501614250565b91505092915050565b7f4f776e65722063616e277420636c61696d20636f6e747261637427732062616c60008201527f616e6365206f6620697473206f776e20746f6b656e7300000000000000000000602082015250565b60006142ee60368361387e565b91506142f982614292565b604082019050919050565b6000602082019050818103600083015261431d816142e1565b9050919050565b7f416d6f756e742073686f756c642062652067726561746572207468616e207a6560008201527f726f000000000000000000000000000000000000000000000000000000000000602082015250565b600061438060228361387e565b915061438b82614324565b604082019050919050565b600060208201905081810360008301526143af81614373565b9050919050565b6000602082840312156143cc576143cb613925565b5b60006143da848285016141bf565b91505092915050565b7f496e73756666696369656e7420416d6f756e7400000000000000000000000000600082015250565b600061441960138361387e565b9150614424826143e3565b602082019050919050565b600060208201905081810360008301526144488161440c565b9050919050565b600061445a82613aa0565b9050919050565b61446a8161444f565b82525050565b60006040820190506144856000830185614461565b6144926020830184613aee565b9392505050565b7f616d6f756e74206d757374206265206c657373207468616e206f72206571756160008201527f6c20746f203125206f662074686520737570706c790000000000000000000000602082015250565b60006144f560358361387e565b915061450082614499565b604082019050919050565b60006020820190508181036000830152614524816144e8565b9050919050565b7f616d6f756e74206d7573742062652067726561746572207468616e206f72206560008201527f7175616c20746f20302e3125206f662074686520737570706c79000000000000602082015250565b6000614587603a8361387e565b91506145928261452b565b604082019050919050565b600060208201905081810360008301526145b68161457a565b9050919050565b7f4163636f756e7420697320616c726561647920696e636c756465640000000000600082015250565b60006145f3601b8361387e565b91506145fe826145bd565b602082019050919050565b60006020820190508181036000830152614622816145e6565b9050919050565b7f4163636f756e7420697320616c7265616479206578636c756465640000000000600082015250565b600061465f601b8361387e565b915061466a82614629565b602082019050919050565b6000602082019050818103600083015261468e81614652565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006146f160268361387e565b91506146fc82614695565b604082019050919050565b60006020820190508181036000830152614720816146e4565b9050919050565b7f43412077696c6c206e6f74206265207468652046656520526563696576657200600082015250565b600061475d601f8361387e565b915061476882614727565b602082019050919050565b6000602082019050818103600083015261478c81614750565b9050919050565b7f3020616464792077696c6c206e6f74206265207468652066656520526563696560008201527f7665720000000000000000000000000000000000000000000000000000000000602082015250565b60006147ef60238361387e565b91506147fa82614793565b604082019050919050565b6000602082019050818103600083015261481e816147e2565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061488160248361387e565b915061488c82614825565b604082019050919050565b600060208201905081810360008301526148b081614874565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061491360228361387e565b915061491e826148b7565b604082019050919050565b6000602082019050818103600083015261494281614906565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006149a560258361387e565b91506149b082614949565b604082019050919050565b600060208201905081810360008301526149d481614998565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000614a3760238361387e565b9150614a42826149db565b604082019050919050565b60006020820190508181036000830152614a6681614a2a565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000614ac960298361387e565b9150614ad482614a6d565b604082019050919050565b60006020820190508181036000830152614af881614abc565b9050919050565b7f596f752063616e2774207472616e7366657220746f6b656e7300000000000000600082015250565b6000614b3560198361387e565b9150614b4082614aff565b602082019050919050565b60006020820190508181036000830152614b6481614b28565b9050919050565b7f54726164696e67206e6f7420656e61626c656400000000000000000000000000600082015250565b6000614ba160138361387e565b9150614bac82614b6b565b602082019050919050565b60006020820190508181036000830152614bd081614b94565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000614c1182613988565b9150614c1c83613988565b925082614c2c57614c2b614bd7565b5b828204905092915050565b6000614c4282613988565b9150614c4d83613988565b9250828201905080821115614c6557614c64613e02565b5b92915050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000614ca160198361387e565b9150614cac82614c6b565b602082019050919050565b60006020820190508181036000830152614cd081614c94565b9050919050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000614d0d601a8361387e565b9150614d1882614cd7565b602082019050919050565b60006020820190508181036000830152614d3c81614d00565b9050919050565b7f616d6f756e74206d7573742062652067726565746572207468616e2030000000600082015250565b6000614d79601d8361387e565b9150614d8482614d43565b602082019050919050565b60006020820190508181036000830152614da881614d6c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050614e1c8161395c565b92915050565b600060208284031215614e3857614e37613925565b5b6000614e4684828501614e0d565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b614e848161394a565b82525050565b6000614e968383614e7b565b60208301905092915050565b6000602082019050919050565b6000614eba82614e4f565b614ec48185614e5a565b9350614ecf83614e6b565b8060005b83811015614f00578151614ee78882614e8a565b9750614ef283614ea2565b925050600181019050614ed3565b5085935050505092915050565b600060a082019050614f226000830188613aee565b614f2f602083018761414f565b8181036040830152614f418186614eaf565b9050614f506060830185613ba2565b614f5d6080830184613aee565b969550505050505056fea2646970667358221220a5f34195337b97c0f75ca7005ccf28c220000c3e02a6870421089ce0c857ce2764736f6c63430008130033

Deployed Bytecode Sourcemap

3669:12586:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7140:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7959:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13015:233;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4774:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7411:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8126:410;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7322:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13433:71;;;;;;;;;;;;;:::i;:::-;;14858:484;;;;;;;;;;;;;:::i;:::-;;14610:242;;;;;;;;;;;;;:::i;:::-;;4575:73;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15383:477;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7512:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2756:148;;;;;;;;;;;;;:::i;:::-;;4896:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4489:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4420:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14221:383;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4299:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2140:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4358:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7229:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13253:83;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13509:123;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7637:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13637:200;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15866:386;;;;;;;;;;;;;:::i;:::-;;12763:247;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7810:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12522:235;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8542:118;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13341:87;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2350:203;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4454:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4858:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13843:372;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7140:83;7177:13;7210:5;;;;;;;;;;;;;;;;;7203:12;;7140:83;:::o;7959:161::-;8034:4;8051:39;8060:12;:10;:12::i;:::-;8074:7;8083:6;8051:8;:39::i;:::-;8108:4;8101:11;;7959:161;;;;:::o;13015:233::-;2275:12;:10;:12::i;:::-;2265:22;;:6;;;;;;;;;;:22;;;2257:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13126:2:::1;13113:9;:15;;:35;;;;;13146:2;13132:10;:16;;13113:35;13105:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;13198:9;13187:8;:20;;;;13230:10;13218:9;:22;;;;13015:233:::0;;:::o;4774:41::-;;;;;;;;;;;;;:::o;7411:95::-;7464:7;4063:1;4118:2;:13;;;;:::i;:::-;4106:9;:25;;;;:::i;:::-;7484:14;;7411:95;:::o;8126:410::-;8224:4;8241:24;8268:11;:19;8280:6;8268:19;;;;;;;;;;;;;;;:33;8288:12;:10;:12::i;:::-;8268:33;;;;;;;;;;;;;;;;8241:60;;8340:6;8320:16;:26;;8312:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8402:36;8412:6;8420:9;8431:6;8402:9;:36::i;:::-;8449:57;8458:6;8466:12;:10;:12::i;:::-;8499:6;8480:16;:25;;;;:::i;:::-;8449:8;:57::i;:::-;8524:4;8517:11;;;8126:410;;;;;:::o;7322:83::-;7363:5;4063:1;7381:16;;7322:83;:::o;13433:71::-;2275:12;:10;:12::i;:::-;2265:22;;:6;;;;;;;;;;:22;;;2257:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4063:1:::1;4118:2;:13;;;;:::i;:::-;4106:9;:25;;;;:::i;:::-;13481:11;:21;;;;13433:71::o:0;14858:484::-;2275:12;:10;:12::i;:::-;2265:22;;:6;;;;;;;;;;:22;;;2257:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14914:11:::1;;;;;;;;;;;14913:12;14905:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;15000:42;14963:15;;:80;;;;;;;;;;;;;;;;;;15054:58;15071:4;15086:15;;;;;;;;;;;4063:1;4118:2;:13;;;;:::i;:::-;4106:9;:25;;;;:::i;:::-;15054:8;:58::i;:::-;15123:15;;;;;;;;;;;:31;;;15162:21;15193:4;15199:24;15217:4;15199:9;:24::i;:::-;15224:1;15226::::0;15228:7:::1;:5;:7::i;:::-;15236:15;15123:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;15270:13;;;;;;;;;;;15263:29;;;15301:15;;;;;;;;;;;15319:14;15263:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;14858:484::o:0;14610:242::-;2275:12;:10;:12::i;:::-;2265:22;;:6;;;;;;;;;;:22;;;2257:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14670:11:::1;;;;;;;;;;;14669:12;14661:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;14737:4;14719:15;;:22;;;;;;;;;;;;;;;;;;14767:4;14753:11;;:18;;;;;;;;;;;;;;;;;;14797:12;14781:13;:28;;;;14824:20;;;;;;;;;;14610:242::o:0;4575:73::-;4606:42;4575:73;:::o;15383:477::-;2275:12;:10;:12::i;:::-;2265:22;;:6;;;;;;;;;;:22;;;2257:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15514:4:::1;15492:27;;:10;:27;;::::0;15484:94:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;15607:1;15597:7;:11;15589:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;15684:10;15677:28;;;15714:4;15677:43;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15666:7;:54;;15658:86;;;;;;;;;;;;:::i;:::-;;;;;;;;;15762:10;15755:27;;;15783:15;;;;;;;;;;;15800:7;15755:53;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;15843:7;15822:29;;;;;;;;;;15383:477:::0;;:::o;7512:119::-;7578:7;7605:9;:18;7615:7;7605:18;;;;;;;;;;;;;;;;7598:25;;7512:119;;;:::o;2756:148::-;2275:12;:10;:12::i;:::-;2265:22;;:6;;;;;;;;;;:22;;;2257:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2863:1:::1;2826:40;;2847:6;::::0;::::1;;;;;;;;2826:40;;;;;;;;;;;;2894:1;2877:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2756:148::o:0;4896:35::-;;;;;;;;;;;;;:::o;4489:79::-;4526:42;4489:79;:::o;4420:27::-;;;;:::o;14221:383::-;2275:12;:10;:12::i;:::-;2265:22;;:6;;;;;;;;;;:22;;;2257:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14326:7:::1;14311:11;:22;;14303:88;;;;;;;;;;;;:::i;:::-;;;;;;;;;14425:6;14410:11;:21;;14402:92;;;;;;;;;;;;:::i;:::-;;;;;;;;;4063:1;14537:2;:13;;;;:::i;:::-;14523:11;:27;;;;:::i;:::-;14505:15;:45;;;;14584:11;14562:34;;;;;;;;;;14221:383:::0;:::o;4299:51::-;;;;:::o;2140:79::-;2178:7;2205:6;;;;;;;;;;;2198:13;;2140:79;:::o;4358:53::-;;;;:::o;7229:87::-;7268:13;7301:7;;;;;;;;;;;;;;;;;7294:14;;7229:87;:::o;13253:83::-;2275:12;:10;:12::i;:::-;2265:22;;:6;;;;;;;;;;:22;;;2257:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13330:4:::1;13312:6;:15;13319:7;13312:15;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;13253:83:::0;:::o;13509:123::-;2275:12;:10;:12::i;:::-;2265:22;;:6;;;;;;;;;;:22;;;2257:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13590:5:::1;13572:15;;:23;;;;;;;;;;;;;;;;;;13624:5;13601:29;;;;;;;;;;;;13509:123:::0;:::o;7637:167::-;7715:4;7732:42;7742:12;:10;:12::i;:::-;7756:9;7767:6;7732:9;:42::i;:::-;7792:4;7785:11;;7637:167;;;;:::o;13637:200::-;2275:12;:10;:12::i;:::-;2265:22;;:6;;;;;;;;;;:22;;;2257:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13717:6:::1;13707;:16;;13699:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;4063:1;13816:2;:13;;;;:::i;:::-;13807:6;:22;;;;:::i;:::-;13793:11;:36;;;;13637:200:::0;:::o;15866:386::-;15920:26;15949:21;15920:50;;16010:1;15989:18;:22;15981:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;16091:21;16069:18;:43;;16061:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;16163:15;;;;;;;;;;;16147:42;;:62;16190:18;16147:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16223:21;;;;;;;;;;15909:343;15866:386::o;12763:247::-;2275:12;:10;:12::i;:::-;2265:22;;:6;;;;;;;;;;:22;;;2257:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12876:5:::1;12845:36;;:18;:27;12864:7;12845:27;;;;;;;;;;;;;;;;;;;;;;;;;:36;;::::0;12837:76:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;12954:5;12924:18;:27;12943:7;12924:27;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;12994:7;12972:30;;;;;;;;;;;;12763:247:::0;:::o;7810:143::-;7891:7;7918:11;:18;7930:5;7918:18;;;;;;;;;;;;;;;:27;7937:7;7918:27;;;;;;;;;;;;;;;;7911:34;;7810:143;;;;:::o;12522:235::-;2275:12;:10;:12::i;:::-;2265:22;;:6;;;;;;;;;;:22;;;2257:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12629:4:::1;12598:35;;:18;:27;12617:7;12598:27;;;;;;;;;;;;;;;;;;;;;;;;;:35;;::::0;12590:74:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;12704:4;12674:18;:27;12693:7;12674:27;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;12742:7;12720:30;;;;;;;;;;;;12522:235:::0;:::o;8542:118::-;2275:12;:10;:12::i;:::-;2265:22;;:6;;;;;;;;;;:22;;;2257:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8638:14:::1;8622:13;:30;;;;8542:118:::0;:::o;13341:87::-;2275:12;:10;:12::i;:::-;2265:22;;:6;;;;;;;;;;:22;;;2257:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13421:5:::1;13403:6;:15;13410:7;13403:15;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;13341:87:::0;:::o;2350:203::-;2275:12;:10;:12::i;:::-;2265:22;;:6;;;;;;;;;;:22;;;2257:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2461:1:::1;2441:22;;:8;:22;;::::0;2433:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;2517:28;2536:8;2517:18;:28::i;:::-;2350:203:::0;:::o;4454:28::-;;;;:::o;4858:31::-;;;;;;;;;;;;;:::o;13843:372::-;2275:12;:10;:12::i;:::-;2265:22;;:6;;;;;;;;;;:22;;;2257:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13957:4:::1;13935:27;;:10;:27;;::::0;13927:71:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;14038:1;14016:24;;:10;:24;;::::0;14008:72:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;14108:10;14090:15;;:28;;;;;;;;;;;;;;;;;;14160:4;14127:18;:30;14146:10;14127:30;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;14196:10;14176:31;;;;;;;;;;;;13843:372:::0;:::o;1046:98::-;1099:7;1126:10;1119:17;;1046:98;:::o;8666:335::-;8776:1;8759:19;;:5;:19;;;8751:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8857:1;8838:21;;:7;:21;;;8830:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8939:6;8909:11;:18;8921:5;8909:18;;;;;;;;;;;;;;;:27;8928:7;8909:27;;;;;;;;;;;;;;;:36;;;;8977:7;8961:32;;8970:5;8961:32;;;8986:6;8961:32;;;;;;:::i;:::-;;;;;;;;8666:335;;;:::o;9007:2788::-;9111:1;9095:18;;:4;:18;;;9087:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9188:1;9174:16;;:2;:16;;;9166:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9258:1;9249:6;:10;9241:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9325:6;:12;9332:4;9325:12;;;;;;;;;;;;;;;;;;;;;;;;;9324:13;:28;;;;;9342:6;:10;9349:2;9342:10;;;;;;;;;;;;;;;;;;;;;;;;;9341:11;9324:28;9316:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;9393:15;9430:18;:24;9449:4;9430:24;;;;;;;;;;;;;;;;;;;;;;;;;9429:25;:52;;;;;9459:18;:22;9478:2;9459:22;;;;;;;;;;;;;;;;;;;;;;;;;9458:23;9429:52;9425:186;;;9506:11;;;;;;;;;;;9498:43;;;;;;;;;;;;:::i;:::-;;;;;;;;;9596:3;9585:8;;9576:6;:17;;;;:::i;:::-;:23;;;;:::i;:::-;9566:33;;9425:186;9635:18;:24;9654:4;9635:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;9663:18;:22;9682:2;9663:22;;;;;;;;;;;;;;;;;;;;;;;;;9635:50;9631:94;;;9712:1;9702:11;;9631:94;9758:18;:24;9777:4;9758:24;;;;;;;;;;;;;;;;;;;;;;;;;9757:25;:52;;;;;9787:18;:22;9806:2;9787:22;;;;;;;;;;;;;;;;;;;;;;;;;9786:23;9757:52;:96;;;;;9845:8;;9829:13;;:24;;;;:::i;:::-;9813:12;:40;;9757:96;9753:166;;;9902:3;9890:9;;9881:6;:18;;;;:::i;:::-;:24;;;;:::i;:::-;9871:34;;9753:166;9954:13;;;;;;;;;;;9946:21;;:4;:21;;;:50;;;;;9972:18;:24;9991:4;9972:24;;;;;;;;;;;;;;;;;;;;;;;;;9971:25;9946:50;:77;;;;;10001:18;:22;10020:2;10001:22;;;;;;;;;;;;;;;;;;;;;;;;;10000:23;9946:77;9942:172;;;10059:11;;10049:6;:21;;10041:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;9942:172;10149:13;;;;;;;;;;;10141:21;;:4;:21;;;;:50;;;;;10167:18;:24;10186:4;10167:24;;;;;;;;;;;;;;;;;;;;;;;;;10166:25;10141:50;:77;;;;;10196:18;:22;10215:2;10196:22;;;;;;;;;;;;;;;;;;;;;;;;;10195:23;10141:77;10137:172;;;10254:11;;10244:6;:21;;10236:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;10137:172;10331:13;;;;;;;;;;;10325:19;;:2;:19;;;;:44;;;;;10364:4;10348:21;;:4;:21;;;;10325:44;:73;;;;;10374:18;:24;10393:4;10374:24;;;;;;;;;;;;;;;;;;;;;;;;;10373:25;10325:73;:100;;;;;10403:18;:22;10422:2;10403:22;;;;;;;;;;;;;;;;;;;;;;;;;10402:23;10325:100;10321:212;;;10475:13;;10465:6;10449:13;10459:2;10449:9;:13::i;:::-;:22;;;;:::i;:::-;:39;;10441:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;10321:212;10557:13;;;;;;;;;;;10551:19;;:2;:19;;;;:48;;;;;10575:18;:24;10594:4;10575:24;;;;;;;;;;;;;;;;;;;;;;;;;10574:25;10551:48;:75;;;;;10604:18;:22;10623:2;10604:22;;;;;;;;;;;;;;;;;;;;;;;;;10603:23;10551:75;10547:187;;;10678:11;;10668:6;10652:13;10662:2;10652:9;:13::i;:::-;:22;;;;:::i;:::-;:37;;10644:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;10547:187;10766:13;;;;;;;;;;;10760:19;;:2;:19;;;:44;;;;;10799:4;10783:21;;:4;:21;;;;10760:44;:73;;;;;10809:18;:24;10828:4;10809:24;;;;;;;;;;;;;;;;;;;;;;;;;10808:25;10760:73;:100;;;;;10838:18;:22;10857:2;10838:22;;;;;;;;;;;;;;;;;;;;;;;;;10837:23;10760:100;10756:201;;;10916:3;10904:9;;10895:6;:18;;;;:::i;:::-;:24;;;;:::i;:::-;10885:34;;10756:201;10982:28;11013:24;11031:4;11013:9;:24::i;:::-;10982:55;;11057:6;;;;;;;;;;;11056:7;:32;;;;;11075:13;;;;;;;;;;;11067:21;;:4;:21;;;;11056:32;:51;;;;;11092:15;;;;;;;;;;;11056:51;:94;;;;;11135:15;;11111:20;:39;;11056:94;11052:376;;;11171:33;11188:15;;11171:16;:33::i;:::-;11239:26;11268:21;11239:50;;11332:1;11311:18;:22;11308:105;;;11358:35;11371:21;11358:12;:35::i;:::-;11308:105;11152:276;11052:376;11484:6;11466:9;:15;11476:4;11466:15;;;;;;;;;;;;;;;;:24;;;;:::i;:::-;11448:9;:15;11458:4;11448:15;;;;;;;;;;;;;;;:42;;;;11545:7;11535:6;:18;;;;:::i;:::-;11518:9;:13;11528:2;11518:13;;;;;;;;;;;;;;;;:36;;;;:::i;:::-;11502:9;:13;11512:2;11502:13;;;;;;;;;;;;;;;:52;;;;11585:2;11570:38;;11579:4;11570:38;;;11599:7;11589:6;:18;;;;:::i;:::-;11570:38;;;;;;:::i;:::-;;;;;;;;11643:1;11633:7;:11;11630:158;;;11713:7;11685:9;:24;11703:4;11685:24;;;;;;;;;;;;;;;;:36;;;;:::i;:::-;11658:9;:24;11676:4;11658:24;;;;;;;;;;;;;;;:63;;;;11762:4;11739:37;;11748:4;11739:37;;;11768:7;11739:37;;;;;;:::i;:::-;;;;;;;;11630:158;9076:2719;;9007:2788;;;:::o;2559:191::-;2633:16;2652:6;;;;;;;;;;;2633:25;;2678:8;2669:6;;:17;;;;;;;;;;;;;;;;;;2733:8;2702:40;;2723:8;2702:40;;;;;;;;;;;;2622:128;2559:191;:::o;11801:551::-;5450:4;5441:6;;:13;;;;;;;;;;;;;;;;;;11901:1:::1;11887:11;:15;11879:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;11947:21;11985:1;11971:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11947:40;;12016:4;11998;12003:1;11998:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;12042:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12032:4;12037:1;12032:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;12075:62;12092:4;12107:15;;;;;;;;;;;12125:11;12075:8;:62::i;:::-;12148:15;;;;;;;;;;;:66;;;12229:11;12255:1;12271:4;12298;12318:15;12148:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;11868:484;5486:5:::0;5477:6;;:14;;;;;;;;;;;;;;;;;;11801:551;:::o;12358:159::-;12431:1;12422:6;:10;12414:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;12477:15;;;;;;;;;;;:24;;:32;12502:6;12477:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12358: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:474::-;3514:6;3522;3571:2;3559:9;3550:7;3546:23;3542:32;3539:119;;;3577:79;;:::i;:::-;3539:119;3697:1;3722:53;3767:7;3758:6;3747:9;3743:22;3722:53;:::i;:::-;3712:63;;3668:117;3824:2;3850:53;3895:7;3886:6;3875:9;3871:22;3850:53;:::i;:::-;3840:63;;3795:118;3446:474;;;;;:::o;3926:60::-;3954:3;3975:5;3968:12;;3926:60;;;:::o;3992:142::-;4042:9;4075:53;4093:34;4102:24;4120:5;4102:24;:::i;:::-;4093:34;:::i;:::-;4075:53;:::i;:::-;4062:66;;3992:142;;;:::o;4140:126::-;4190:9;4223:37;4254:5;4223:37;:::i;:::-;4210:50;;4140:126;;;:::o;4272:152::-;4348:9;4381:37;4412:5;4381:37;:::i;:::-;4368:50;;4272:152;;;:::o;4430:183::-;4543:63;4600:5;4543:63;:::i;:::-;4538:3;4531:76;4430:183;;:::o;4619:274::-;4738:4;4776:2;4765:9;4761:18;4753:26;;4789:97;4883:1;4872:9;4868:17;4859:6;4789:97;:::i;:::-;4619:274;;;;:::o;4899:118::-;4986:24;5004:5;4986:24;:::i;:::-;4981:3;4974:37;4899:118;;:::o;5023:222::-;5116:4;5154:2;5143:9;5139:18;5131:26;;5167:71;5235:1;5224:9;5220:17;5211:6;5167:71;:::i;:::-;5023:222;;;;:::o;5251:619::-;5328:6;5336;5344;5393:2;5381:9;5372:7;5368:23;5364:32;5361:119;;;5399:79;;:::i;:::-;5361:119;5519:1;5544:53;5589:7;5580:6;5569:9;5565:22;5544:53;:::i;:::-;5534:63;;5490:117;5646:2;5672:53;5717:7;5708:6;5697:9;5693:22;5672:53;:::i;:::-;5662:63;;5617:118;5774:2;5800:53;5845:7;5836:6;5825:9;5821:22;5800:53;:::i;:::-;5790:63;;5745:118;5251:619;;;;;:::o;5876:86::-;5911:7;5951:4;5944:5;5940:16;5929:27;;5876:86;;;:::o;5968:112::-;6051:22;6067:5;6051:22;:::i;:::-;6046:3;6039:35;5968:112;;:::o;6086:214::-;6175:4;6213:2;6202:9;6198:18;6190:26;;6226:67;6290:1;6279:9;6275:17;6266:6;6226:67;:::i;:::-;6086:214;;;;:::o;6306:118::-;6393:24;6411:5;6393:24;:::i;:::-;6388:3;6381:37;6306:118;;:::o;6430:222::-;6523:4;6561:2;6550:9;6546:18;6538:26;;6574:71;6642:1;6631:9;6627:17;6618:6;6574:71;:::i;:::-;6430:222;;;;:::o;6658:329::-;6717:6;6766:2;6754:9;6745:7;6741:23;6737:32;6734:119;;;6772:79;;:::i;:::-;6734:119;6892:1;6917:53;6962:7;6953:6;6942:9;6938:22;6917:53;:::i;:::-;6907:63;;6863:117;6658:329;;;;:::o;6993:::-;7052:6;7101:2;7089:9;7080:7;7076:23;7072:32;7069:119;;;7107:79;;:::i;:::-;7069:119;7227:1;7252:53;7297:7;7288:6;7277:9;7273:22;7252:53;:::i;:::-;7242:63;;7198:117;6993:329;;;;:::o;7328:116::-;7398:21;7413:5;7398:21;:::i;:::-;7391:5;7388:32;7378:60;;7434:1;7431;7424:12;7378:60;7328:116;:::o;7450:133::-;7493:5;7531:6;7518:20;7509:29;;7547:30;7571:5;7547:30;:::i;:::-;7450:133;;;;:::o;7589:323::-;7645:6;7694:2;7682:9;7673:7;7669:23;7665:32;7662:119;;;7700:79;;:::i;:::-;7662:119;7820:1;7845:50;7887:7;7878:6;7867:9;7863:22;7845:50;:::i;:::-;7835:60;;7791:114;7589:323;;;;:::o;7918:474::-;7986:6;7994;8043:2;8031:9;8022:7;8018:23;8014:32;8011:119;;;8049:79;;:::i;:::-;8011:119;8169:1;8194:53;8239:7;8230:6;8219:9;8215:22;8194:53;:::i;:::-;8184:63;;8140:117;8296:2;8322:53;8367:7;8358:6;8347:9;8343:22;8322:53;:::i;:::-;8312:63;;8267:118;7918:474;;;;;:::o;8398:104::-;8443:7;8472:24;8490:5;8472:24;:::i;:::-;8461:35;;8398:104;;;:::o;8508:138::-;8589:32;8615:5;8589:32;:::i;:::-;8582:5;8579:43;8569:71;;8636:1;8633;8626:12;8569:71;8508:138;:::o;8652:155::-;8706:5;8744:6;8731:20;8722:29;;8760:41;8795:5;8760:41;:::i;:::-;8652:155;;;;:::o;8813:345::-;8880:6;8929:2;8917:9;8908:7;8904:23;8900:32;8897:119;;;8935:79;;:::i;:::-;8897:119;9055:1;9080:61;9133:7;9124:6;9113:9;9109:22;9080:61;:::i;:::-;9070:71;;9026:125;8813:345;;;;:::o;9164:182::-;9304:34;9300:1;9292:6;9288:14;9281:58;9164:182;:::o;9352:366::-;9494:3;9515:67;9579:2;9574:3;9515:67;:::i;:::-;9508:74;;9591:93;9680:3;9591:93;:::i;:::-;9709:2;9704:3;9700:12;9693:19;;9352:366;;;:::o;9724:419::-;9890:4;9928:2;9917:9;9913:18;9905:26;;9977:9;9971:4;9967:20;9963:1;9952:9;9948:17;9941:47;10005:131;10131:4;10005:131;:::i;:::-;9997:139;;9724:419;;;:::o;10149:173::-;10289:25;10285:1;10277:6;10273:14;10266:49;10149:173;:::o;10328:366::-;10470:3;10491:67;10555:2;10550:3;10491:67;:::i;:::-;10484:74;;10567:93;10656:3;10567:93;:::i;:::-;10685:2;10680:3;10676:12;10669:19;;10328:366;;;:::o;10700:419::-;10866:4;10904:2;10893:9;10889:18;10881:26;;10953:9;10947:4;10943:20;10939:1;10928:9;10924:17;10917:47;10981:131;11107:4;10981:131;:::i;:::-;10973:139;;10700:419;;;:::o;11125:180::-;11173:77;11170:1;11163:88;11270:4;11267:1;11260:15;11294:4;11291:1;11284:15;11311:102;11353:8;11400:5;11397:1;11393:13;11372:34;;11311:102;;;:::o;11419:848::-;11480:5;11487:4;11511:6;11502:15;;11535:5;11526:14;;11549:712;11570:1;11560:8;11557:15;11549:712;;;11665:4;11660:3;11656:14;11650:4;11647:24;11644:50;;;11674:18;;:::i;:::-;11644:50;11724:1;11714:8;11710:16;11707:451;;;12139:4;12132:5;12128:16;12119:25;;11707:451;12189:4;12183;12179:15;12171:23;;12219:32;12242:8;12219:32;:::i;:::-;12207:44;;11549:712;;;11419:848;;;;;;;:::o;12273:1073::-;12327:5;12518:8;12508:40;;12539:1;12530:10;;12541:5;;12508:40;12567:4;12557:36;;12584:1;12575:10;;12586:5;;12557:36;12653:4;12701:1;12696:27;;;;12737:1;12732:191;;;;12646:277;;12696:27;12714:1;12705:10;;12716:5;;;12732:191;12777:3;12767:8;12764:17;12761:43;;;12784:18;;:::i;:::-;12761:43;12833:8;12830:1;12826:16;12817:25;;12868:3;12861:5;12858:14;12855:40;;;12875:18;;:::i;:::-;12855:40;12908:5;;;12646:277;;13032:2;13022:8;13019:16;13013:3;13007:4;13004:13;13000:36;12982:2;12972:8;12969:16;12964:2;12958:4;12955:12;12951:35;12935:111;12932:246;;;13088:8;13082:4;13078:19;13069:28;;13123:3;13116:5;13113:14;13110:40;;;13130:18;;:::i;:::-;13110:40;13163:5;;12932:246;13203:42;13241:3;13231:8;13225:4;13222:1;13203:42;:::i;:::-;13188:57;;;;13277:4;13272:3;13268:14;13261:5;13258:25;13255:51;;;13286:18;;:::i;:::-;13255:51;13335:4;13328:5;13324:16;13315:25;;12273:1073;;;;;;:::o;13352:281::-;13410:5;13434:23;13452:4;13434:23;:::i;:::-;13426:31;;13478:25;13494:8;13478:25;:::i;:::-;13466:37;;13522:104;13559:66;13549:8;13543:4;13522:104;:::i;:::-;13513:113;;13352:281;;;;:::o;13639:410::-;13679:7;13702:20;13720:1;13702:20;:::i;:::-;13697:25;;13736:20;13754:1;13736:20;:::i;:::-;13731:25;;13791:1;13788;13784:9;13813:30;13831:11;13813:30;:::i;:::-;13802:41;;13992:1;13983:7;13979:15;13976:1;13973:22;13953:1;13946:9;13926:83;13903:139;;14022:18;;:::i;:::-;13903:139;13687:362;13639:410;;;;:::o;14055:227::-;14195:34;14191:1;14183:6;14179:14;14172:58;14264:10;14259:2;14251:6;14247:15;14240:35;14055:227;:::o;14288:366::-;14430:3;14451:67;14515:2;14510:3;14451:67;:::i;:::-;14444:74;;14527:93;14616:3;14527:93;:::i;:::-;14645:2;14640:3;14636:12;14629:19;;14288:366;;;:::o;14660:419::-;14826:4;14864:2;14853:9;14849:18;14841:26;;14913:9;14907:4;14903:20;14899:1;14888:9;14884:17;14877:47;14941:131;15067:4;14941:131;:::i;:::-;14933:139;;14660:419;;;:::o;15085:194::-;15125:4;15145:20;15163:1;15145:20;:::i;:::-;15140:25;;15179:20;15197:1;15179:20;:::i;:::-;15174:25;;15223:1;15220;15216:9;15208:17;;15247:1;15241:4;15238:11;15235:37;;;15252:18;;:::i;:::-;15235:37;15085:194;;;;:::o;15285:173::-;15425:25;15421:1;15413:6;15409:14;15402:49;15285:173;:::o;15464:366::-;15606:3;15627:67;15691:2;15686:3;15627:67;:::i;:::-;15620:74;;15703:93;15792:3;15703:93;:::i;:::-;15821:2;15816:3;15812:12;15805:19;;15464:366;;;:::o;15836:419::-;16002:4;16040:2;16029:9;16025:18;16017:26;;16089:9;16083:4;16079:20;16075:1;16064:9;16060:17;16053:47;16117:131;16243:4;16117:131;:::i;:::-;16109:139;;15836:419;;;:::o;16261:85::-;16306:7;16335:5;16324:16;;16261:85;;;:::o;16352:158::-;16410:9;16443:61;16461:42;16470:32;16496:5;16470:32;:::i;:::-;16461:42;:::i;:::-;16443:61;:::i;:::-;16430:74;;16352:158;;;:::o;16516:147::-;16611:45;16650:5;16611:45;:::i;:::-;16606:3;16599:58;16516:147;;:::o;16669:807::-;16918:4;16956:3;16945:9;16941:19;16933:27;;16970:71;17038:1;17027:9;17023:17;17014:6;16970:71;:::i;:::-;17051:72;17119:2;17108:9;17104:18;17095:6;17051:72;:::i;:::-;17133:80;17209:2;17198:9;17194:18;17185:6;17133:80;:::i;:::-;17223;17299:2;17288:9;17284:18;17275:6;17223:80;:::i;:::-;17313:73;17381:3;17370:9;17366:19;17357:6;17313:73;:::i;:::-;17396;17464:3;17453:9;17449:19;17440:6;17396:73;:::i;:::-;16669:807;;;;;;;;;:::o;17482:143::-;17539:5;17570:6;17564:13;17555:22;;17586:33;17613:5;17586:33;:::i;:::-;17482:143;;;;:::o;17631:663::-;17719:6;17727;17735;17784:2;17772:9;17763:7;17759:23;17755:32;17752:119;;;17790:79;;:::i;:::-;17752:119;17910:1;17935:64;17991:7;17982:6;17971:9;17967:22;17935:64;:::i;:::-;17925:74;;17881:128;18048:2;18074:64;18130:7;18121:6;18110:9;18106:22;18074:64;:::i;:::-;18064:74;;18019:129;18187:2;18213:64;18269:7;18260:6;18249:9;18245:22;18213:64;:::i;:::-;18203:74;;18158:129;17631:663;;;;;:::o;18300:332::-;18421:4;18459:2;18448:9;18444:18;18436:26;;18472:71;18540:1;18529:9;18525:17;18516:6;18472:71;:::i;:::-;18553:72;18621:2;18610:9;18606:18;18597:6;18553:72;:::i;:::-;18300:332;;;;;:::o;18638:137::-;18692:5;18723:6;18717:13;18708:22;;18739:30;18763:5;18739:30;:::i;:::-;18638:137;;;;:::o;18781:345::-;18848:6;18897:2;18885:9;18876:7;18872:23;18868:32;18865:119;;;18903:79;;:::i;:::-;18865:119;19023:1;19048:61;19101:7;19092:6;19081:9;19077:22;19048:61;:::i;:::-;19038:71;;18994:125;18781:345;;;;:::o;19132:241::-;19272:34;19268:1;19260:6;19256:14;19249:58;19341:24;19336:2;19328:6;19324:15;19317:49;19132:241;:::o;19379:366::-;19521:3;19542:67;19606:2;19601:3;19542:67;:::i;:::-;19535:74;;19618:93;19707:3;19618:93;:::i;:::-;19736:2;19731:3;19727:12;19720:19;;19379:366;;;:::o;19751:419::-;19917:4;19955:2;19944:9;19940:18;19932:26;;20004:9;19998:4;19994:20;19990:1;19979:9;19975:17;19968:47;20032:131;20158:4;20032:131;:::i;:::-;20024:139;;19751:419;;;:::o;20176:221::-;20316:34;20312:1;20304:6;20300:14;20293:58;20385:4;20380:2;20372:6;20368:15;20361:29;20176:221;:::o;20403:366::-;20545:3;20566:67;20630:2;20625:3;20566:67;:::i;:::-;20559:74;;20642:93;20731:3;20642:93;:::i;:::-;20760:2;20755:3;20751:12;20744:19;;20403:366;;;:::o;20775:419::-;20941:4;20979:2;20968:9;20964:18;20956:26;;21028:9;21022:4;21018:20;21014:1;21003:9;20999:17;20992:47;21056:131;21182:4;21056:131;:::i;:::-;21048:139;;20775:419;;;:::o;21200:351::-;21270:6;21319:2;21307:9;21298:7;21294:23;21290:32;21287:119;;;21325:79;;:::i;:::-;21287:119;21445:1;21470:64;21526:7;21517:6;21506:9;21502:22;21470:64;:::i;:::-;21460:74;;21416:128;21200:351;;;;:::o;21557:169::-;21697:21;21693:1;21685:6;21681:14;21674:45;21557:169;:::o;21732:366::-;21874:3;21895:67;21959:2;21954:3;21895:67;:::i;:::-;21888:74;;21971:93;22060:3;21971:93;:::i;:::-;22089:2;22084:3;22080:12;22073:19;;21732:366;;;:::o;22104:419::-;22270:4;22308:2;22297:9;22293:18;22285:26;;22357:9;22351:4;22347:20;22343:1;22332:9;22328:17;22321:47;22385:131;22511:4;22385:131;:::i;:::-;22377:139;;22104:419;;;:::o;22529:134::-;22587:9;22620:37;22651:5;22620:37;:::i;:::-;22607:50;;22529:134;;;:::o;22669:147::-;22764:45;22803:5;22764:45;:::i;:::-;22759:3;22752:58;22669:147;;:::o;22822:348::-;22951:4;22989:2;22978:9;22974:18;22966:26;;23002:79;23078:1;23067:9;23063:17;23054:6;23002:79;:::i;:::-;23091:72;23159:2;23148:9;23144:18;23135:6;23091:72;:::i;:::-;22822:348;;;;;:::o;23176:240::-;23316:34;23312:1;23304:6;23300:14;23293:58;23385:23;23380:2;23372:6;23368:15;23361:48;23176:240;:::o;23422:366::-;23564:3;23585:67;23649:2;23644:3;23585:67;:::i;:::-;23578:74;;23661:93;23750:3;23661:93;:::i;:::-;23779:2;23774:3;23770:12;23763:19;;23422:366;;;:::o;23794:419::-;23960:4;23998:2;23987:9;23983:18;23975:26;;24047:9;24041:4;24037:20;24033:1;24022:9;24018:17;24011:47;24075:131;24201:4;24075:131;:::i;:::-;24067:139;;23794:419;;;:::o;24219:245::-;24359:34;24355:1;24347:6;24343:14;24336:58;24428:28;24423:2;24415:6;24411:15;24404:53;24219:245;:::o;24470:366::-;24612:3;24633:67;24697:2;24692:3;24633:67;:::i;:::-;24626:74;;24709:93;24798:3;24709:93;:::i;:::-;24827:2;24822:3;24818:12;24811:19;;24470:366;;;:::o;24842:419::-;25008:4;25046:2;25035:9;25031:18;25023:26;;25095:9;25089:4;25085:20;25081:1;25070:9;25066:17;25059:47;25123:131;25249:4;25123:131;:::i;:::-;25115:139;;24842:419;;;:::o;25267:177::-;25407:29;25403:1;25395:6;25391:14;25384:53;25267:177;:::o;25450:366::-;25592:3;25613:67;25677:2;25672:3;25613:67;:::i;:::-;25606:74;;25689:93;25778:3;25689:93;:::i;:::-;25807:2;25802:3;25798:12;25791:19;;25450:366;;;:::o;25822:419::-;25988:4;26026:2;26015:9;26011:18;26003:26;;26075:9;26069:4;26065:20;26061:1;26050:9;26046:17;26039:47;26103:131;26229:4;26103:131;:::i;:::-;26095:139;;25822:419;;;:::o;26247:177::-;26387:29;26383:1;26375:6;26371:14;26364:53;26247:177;:::o;26430:366::-;26572:3;26593:67;26657:2;26652:3;26593:67;:::i;:::-;26586:74;;26669:93;26758:3;26669:93;:::i;:::-;26787:2;26782:3;26778:12;26771:19;;26430:366;;;:::o;26802:419::-;26968:4;27006:2;26995:9;26991:18;26983:26;;27055:9;27049:4;27045:20;27041:1;27030:9;27026:17;27019:47;27083:131;27209:4;27083:131;:::i;:::-;27075:139;;26802:419;;;:::o;27227:225::-;27367:34;27363:1;27355:6;27351:14;27344:58;27436:8;27431:2;27423:6;27419:15;27412:33;27227:225;:::o;27458:366::-;27600:3;27621:67;27685:2;27680:3;27621:67;:::i;:::-;27614:74;;27697:93;27786:3;27697:93;:::i;:::-;27815:2;27810:3;27806:12;27799:19;;27458:366;;;:::o;27830:419::-;27996:4;28034:2;28023:9;28019:18;28011:26;;28083:9;28077:4;28073:20;28069:1;28058:9;28054:17;28047:47;28111:131;28237:4;28111:131;:::i;:::-;28103:139;;27830:419;;;:::o;28255:181::-;28395:33;28391:1;28383:6;28379:14;28372:57;28255:181;:::o;28442:366::-;28584:3;28605:67;28669:2;28664:3;28605:67;:::i;:::-;28598:74;;28681:93;28770:3;28681:93;:::i;:::-;28799:2;28794:3;28790:12;28783:19;;28442:366;;;:::o;28814:419::-;28980:4;29018:2;29007:9;29003:18;28995:26;;29067:9;29061:4;29057:20;29053:1;29042:9;29038:17;29031:47;29095:131;29221:4;29095:131;:::i;:::-;29087:139;;28814:419;;;:::o;29239:222::-;29379:34;29375:1;29367:6;29363:14;29356:58;29448:5;29443:2;29435:6;29431:15;29424:30;29239:222;:::o;29467:366::-;29609:3;29630:67;29694:2;29689:3;29630:67;:::i;:::-;29623:74;;29706:93;29795:3;29706:93;:::i;:::-;29824:2;29819:3;29815:12;29808:19;;29467:366;;;:::o;29839:419::-;30005:4;30043:2;30032:9;30028:18;30020:26;;30092:9;30086:4;30082:20;30078:1;30067:9;30063:17;30056:47;30120:131;30246:4;30120:131;:::i;:::-;30112:139;;29839:419;;;:::o;30264:223::-;30404:34;30400:1;30392:6;30388:14;30381:58;30473:6;30468:2;30460:6;30456:15;30449:31;30264:223;:::o;30493:366::-;30635:3;30656:67;30720:2;30715:3;30656:67;:::i;:::-;30649:74;;30732:93;30821:3;30732:93;:::i;:::-;30850:2;30845:3;30841:12;30834:19;;30493:366;;;:::o;30865:419::-;31031:4;31069:2;31058:9;31054:18;31046:26;;31118:9;31112:4;31108:20;31104:1;31093:9;31089:17;31082:47;31146:131;31272:4;31146:131;:::i;:::-;31138:139;;30865:419;;;:::o;31290:221::-;31430:34;31426:1;31418:6;31414:14;31407:58;31499:4;31494:2;31486:6;31482:15;31475:29;31290:221;:::o;31517:366::-;31659:3;31680:67;31744:2;31739:3;31680:67;:::i;:::-;31673:74;;31756:93;31845:3;31756:93;:::i;:::-;31874:2;31869:3;31865:12;31858:19;;31517:366;;;:::o;31889:419::-;32055:4;32093:2;32082:9;32078:18;32070:26;;32142:9;32136:4;32132:20;32128:1;32117:9;32113:17;32106:47;32170:131;32296:4;32170:131;:::i;:::-;32162:139;;31889:419;;;:::o;32314:224::-;32454:34;32450:1;32442:6;32438:14;32431:58;32523:7;32518:2;32510:6;32506:15;32499:32;32314:224;:::o;32544:366::-;32686:3;32707:67;32771:2;32766:3;32707:67;:::i;:::-;32700:74;;32783:93;32872:3;32783:93;:::i;:::-;32901:2;32896:3;32892:12;32885:19;;32544:366;;;:::o;32916:419::-;33082:4;33120:2;33109:9;33105:18;33097:26;;33169:9;33163:4;33159:20;33155:1;33144:9;33140:17;33133:47;33197:131;33323:4;33197:131;:::i;:::-;33189:139;;32916:419;;;:::o;33341:222::-;33481:34;33477:1;33469:6;33465:14;33458:58;33550:5;33545:2;33537:6;33533:15;33526:30;33341:222;:::o;33569:366::-;33711:3;33732:67;33796:2;33791:3;33732:67;:::i;:::-;33725:74;;33808:93;33897:3;33808:93;:::i;:::-;33926:2;33921:3;33917:12;33910:19;;33569:366;;;:::o;33941:419::-;34107:4;34145:2;34134:9;34130:18;34122:26;;34194:9;34188:4;34184:20;34180:1;34169:9;34165:17;34158:47;34222:131;34348:4;34222:131;:::i;:::-;34214:139;;33941:419;;;:::o;34366:228::-;34506:34;34502:1;34494:6;34490:14;34483:58;34575:11;34570:2;34562:6;34558:15;34551:36;34366:228;:::o;34600:366::-;34742:3;34763:67;34827:2;34822:3;34763:67;:::i;:::-;34756:74;;34839:93;34928:3;34839:93;:::i;:::-;34957:2;34952:3;34948:12;34941:19;;34600:366;;;:::o;34972:419::-;35138:4;35176:2;35165:9;35161:18;35153:26;;35225:9;35219:4;35215:20;35211:1;35200:9;35196:17;35189:47;35253:131;35379:4;35253:131;:::i;:::-;35245:139;;34972:419;;;:::o;35397:175::-;35537:27;35533:1;35525:6;35521:14;35514:51;35397:175;:::o;35578:366::-;35720:3;35741:67;35805:2;35800:3;35741:67;:::i;:::-;35734:74;;35817:93;35906:3;35817:93;:::i;:::-;35935:2;35930:3;35926:12;35919:19;;35578:366;;;:::o;35950:419::-;36116:4;36154:2;36143:9;36139:18;36131:26;;36203:9;36197:4;36193:20;36189:1;36178:9;36174:17;36167:47;36231:131;36357:4;36231:131;:::i;:::-;36223:139;;35950:419;;;:::o;36375:169::-;36515:21;36511:1;36503:6;36499:14;36492:45;36375:169;:::o;36550:366::-;36692:3;36713:67;36777:2;36772:3;36713:67;:::i;:::-;36706:74;;36789:93;36878:3;36789:93;:::i;:::-;36907:2;36902:3;36898:12;36891:19;;36550:366;;;:::o;36922:419::-;37088:4;37126:2;37115:9;37111:18;37103:26;;37175:9;37169:4;37165:20;37161:1;37150:9;37146:17;37139:47;37203:131;37329:4;37203:131;:::i;:::-;37195:139;;36922:419;;;:::o;37347:180::-;37395:77;37392:1;37385:88;37492:4;37489:1;37482:15;37516:4;37513:1;37506:15;37533:185;37573:1;37590:20;37608:1;37590:20;:::i;:::-;37585:25;;37624:20;37642:1;37624:20;:::i;:::-;37619:25;;37663:1;37653:35;;37668:18;;:::i;:::-;37653:35;37710:1;37707;37703:9;37698:14;;37533:185;;;;:::o;37724:191::-;37764:3;37783:20;37801:1;37783:20;:::i;:::-;37778:25;;37817:20;37835:1;37817:20;:::i;:::-;37812:25;;37860:1;37857;37853:9;37846:16;;37881:3;37878:1;37875:10;37872:36;;;37888:18;;:::i;:::-;37872:36;37724:191;;;;:::o;37921:175::-;38061:27;38057:1;38049:6;38045:14;38038:51;37921:175;:::o;38102:366::-;38244:3;38265:67;38329:2;38324:3;38265:67;:::i;:::-;38258:74;;38341:93;38430:3;38341:93;:::i;:::-;38459:2;38454:3;38450:12;38443:19;;38102:366;;;:::o;38474:419::-;38640:4;38678:2;38667:9;38663:18;38655:26;;38727:9;38721:4;38717:20;38713:1;38702:9;38698:17;38691:47;38755:131;38881:4;38755:131;:::i;:::-;38747:139;;38474:419;;;:::o;38899:176::-;39039:28;39035:1;39027:6;39023:14;39016:52;38899:176;:::o;39081:366::-;39223:3;39244:67;39308:2;39303:3;39244:67;:::i;:::-;39237:74;;39320:93;39409:3;39320:93;:::i;:::-;39438:2;39433:3;39429:12;39422:19;;39081:366;;;:::o;39453:419::-;39619:4;39657:2;39646:9;39642:18;39634:26;;39706:9;39700:4;39696:20;39692:1;39681:9;39677:17;39670:47;39734:131;39860:4;39734:131;:::i;:::-;39726:139;;39453:419;;;:::o;39878:179::-;40018:31;40014:1;40006:6;40002:14;39995:55;39878:179;:::o;40063:366::-;40205:3;40226:67;40290:2;40285:3;40226:67;:::i;:::-;40219:74;;40302:93;40391:3;40302:93;:::i;:::-;40420:2;40415:3;40411:12;40404:19;;40063:366;;;:::o;40435:419::-;40601:4;40639:2;40628:9;40624:18;40616:26;;40688:9;40682:4;40678:20;40674:1;40663:9;40659:17;40652:47;40716:131;40842:4;40716:131;:::i;:::-;40708:139;;40435:419;;;:::o;40860:180::-;40908:77;40905:1;40898:88;41005:4;41002:1;40995:15;41029:4;41026:1;41019:15;41046:180;41094:77;41091:1;41084:88;41191:4;41188:1;41181:15;41215:4;41212:1;41205:15;41232:143;41289:5;41320:6;41314:13;41305:22;;41336:33;41363:5;41336:33;:::i;:::-;41232:143;;;;:::o;41381:351::-;41451:6;41500:2;41488:9;41479:7;41475:23;41471:32;41468:119;;;41506:79;;:::i;:::-;41468:119;41626:1;41651:64;41707:7;41698:6;41687:9;41683:22;41651:64;:::i;:::-;41641:74;;41597:128;41381:351;;;;:::o;41738:114::-;41805:6;41839:5;41833:12;41823:22;;41738:114;;;:::o;41858:184::-;41957:11;41991:6;41986:3;41979:19;42031:4;42026:3;42022:14;42007:29;;41858:184;;;;:::o;42048:132::-;42115:4;42138:3;42130:11;;42168:4;42163:3;42159:14;42151:22;;42048:132;;;:::o;42186:108::-;42263:24;42281:5;42263:24;:::i;:::-;42258:3;42251:37;42186:108;;:::o;42300:179::-;42369:10;42390:46;42432:3;42424:6;42390:46;:::i;:::-;42468:4;42463:3;42459:14;42445:28;;42300:179;;;;:::o;42485:113::-;42555:4;42587;42582:3;42578:14;42570:22;;42485:113;;;:::o;42634:732::-;42753:3;42782:54;42830:5;42782:54;:::i;:::-;42852:86;42931:6;42926:3;42852:86;:::i;:::-;42845:93;;42962:56;43012:5;42962:56;:::i;:::-;43041:7;43072:1;43057:284;43082:6;43079:1;43076:13;43057:284;;;43158:6;43152:13;43185:63;43244:3;43229:13;43185:63;:::i;:::-;43178:70;;43271:60;43324:6;43271:60;:::i;:::-;43261:70;;43117:224;43104:1;43101;43097:9;43092:14;;43057:284;;;43061:14;43357:3;43350:10;;42758:608;;;42634:732;;;;:::o;43372:831::-;43635:4;43673:3;43662:9;43658:19;43650:27;;43687:71;43755:1;43744:9;43740:17;43731:6;43687:71;:::i;:::-;43768:80;43844:2;43833:9;43829:18;43820:6;43768:80;:::i;:::-;43895:9;43889:4;43885:20;43880:2;43869:9;43865:18;43858:48;43923:108;44026:4;44017:6;43923:108;:::i;:::-;43915:116;;44041:72;44109:2;44098:9;44094:18;44085:6;44041:72;:::i;:::-;44123:73;44191:3;44180:9;44176:19;44167:6;44123:73;:::i;:::-;43372:831;;;;;;;;:::o

Swarm Source

ipfs://a5f34195337b97c0f75ca7005ccf28c220000c3e02a6870421089ce0c857ce27
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.