ETH Price: $3,208.30 (-6.85%)
Gas: 7 Gwei

Token

Crypto Mixer Capital (CMC)
 

Overview

Max Total Supply

600,000,000 CMC

Holders

9

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
5,939,999.01 CMC

Value
$0.00
0xa01257a31a8b54d469e2646e0f94adab60292122
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:
CMCTOKEN

Compiler Version
v0.8.13+commit.abaa5c0e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-04-11
*/

/**
https://cryptomixercapital.com/
*/
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.9;
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }

}

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

}  

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

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

contract CMCTOKEN is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 600000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    
    uint256 private _feeAddr1;
    uint256 private _feeAddr2;
    uint256 private _FeeoFSell;
    uint256 private _FeeOfBuy;
    address payable private _feeAddress;
    
    string private constant _name = "Crypto Mixer Capital";
    string private constant _symbol = "CMC";
    uint8 private constant _decimals = 9;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    bool private removeMaxTx = false;
    uint256 private _maxTxAmount = _tTotal;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor () {
        _feeAddress = payable(0xb426E80cE227B2aCF1CC216cb6f5D4442b67eaaB);
        _FeeOfBuy = 1;
        _FeeoFSell = 1;
        _rOwned[address(this)] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_feeAddress] = true;
        emit Transfer(address(0), address(this), _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 tokenFromReflection(_rOwned[account]);
    }

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function setRemoveMaxTx(bool onoff) external onlyOwner() {
        removeMaxTx = onoff;
    }

    function tokenFromReflection(uint256 rAmount) private view returns(uint256) {
        require(rAmount <= _rTotal, "Amount must be less than total reflections");
        uint256 currentRate =  _getRate();
        return rAmount.div(currentRate);
    }

    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);
        require(!bots[from]);

        if (!_isExcludedFromFee[from] 
            && !_isExcludedFromFee[to] ) {
            _feeAddr1 = 0;
            _feeAddr2 = _FeeOfBuy;
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && removeMaxTx) {
                uint walletBalance = balanceOf(address(to));
                require(amount.add(walletBalance) <= _maxTxAmount);
            }
            
            
            if (to == uniswapV2Pair && from != address(uniswapV2Router) && ! _isExcludedFromFee[from]) {
                _feeAddr1 = 0;
                _feeAddr2 = _FeeoFSell;
            }
            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && from != uniswapV2Pair && swapEnabled) {
                uint burnAmount = contractTokenBalance/3;
                contractTokenBalance -= burnAmount;
                burnToken(burnAmount);
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
		
        _tokenTransfer(from,to,amount);
    }

    function burnToken(uint burnAmount) private lockTheSwap{
        if(burnAmount > 0){
            _transfer(address(this), address(0xdead),burnAmount);
        }

    }

    function _setMaxTxAmount(uint256 maxTxAmount) external onlyOwner() {
        if (maxTxAmount > 20000 * 10**9) {
            _maxTxAmount = maxTxAmount;
        }
    }
    

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
        
    function sendETHToFee(uint256 amount) private {
        _feeAddress.transfer(amount);
    }

    function createPair() external onlyOwner(){
        require(!tradingOpen,"trading is already open");
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());

    }
    
    function openTrading() external onlyOwner() {
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        swapEnabled = true;
        removeMaxTx = true;
        _maxTxAmount = 6000000 * 10**9;
        tradingOpen = true;
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }

    
    function setBots(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }
    
    function delBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }
        
    function _tokenTransfer(address sender, address recipient, uint256 amount) private {
        _transferStandard(sender, recipient, amount);
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); 
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate =  _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {}
    
    function manualswap() public onlyOwner() {
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
    
    function manualsend() public onlyOwner() {
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
    

    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _feeAddr1, _feeAddr2);
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) {
        uint256 tFee = tAmount.mul(taxFee).div(100);
        uint256 tTeam = tAmount.mul(TeamFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

    function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }

	function _getRate() private view returns(uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    
    function _setFee(uint256 buyFee,uint256 sellFee) external onlyOwner() {
            _FeeOfBuy = buyFee;
            _FeeoFSell = sellFee;
    }

    function _getCurrentSupply() private view returns(uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;      
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }
}

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":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"uint256","name":"buyFee","type":"uint256"},{"internalType":"uint256","name":"sellFee","type":"uint256"}],"name":"_setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"_setMaxTxAmount","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":"createPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setRemoveMaxTx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052670853a0d2313c00006000196200001c91906200040d565b6000196200002b919062000474565b6007556000600f60156101000a81548160ff0219169083151502179055506000600f60166101000a81548160ff0219169083151502179055506000600f60176101000a81548160ff021916908315150217905550670853a0d2313c00006010553480156200009857600080fd5b506000620000ab620003a360201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35073b426e80ce227b2acf1cc216cb6f5d4442b67eaab600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600c819055506001600b81905550600754600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600560006200020a620003ab60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef670853a0d2313c0000604051620003959190620004c0565b60405180910390a3620004dd565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006200041a82620003d4565b91506200042783620003d4565b9250826200043a5762000439620003de565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006200048182620003d4565b91506200048e83620003d4565b925082821015620004a457620004a362000445565b5b828203905092915050565b620004ba81620003d4565b82525050565b6000602082019050620004d76000830184620004af565b92915050565b6134dc80620004ed6000396000f3fe6080604052600436106101235760003560e01c8063715018a6116100a0578063b515566a11610064578063b515566a146103ba578063c3c8cd80146103e3578063c9567bf9146103fa578063dd62ed3e14610411578063dd726e7c1461044e5761012a565b8063715018a6146102f95780638da5cb5b1461031057806395d89b411461033b5780639e78fb4f14610366578063a9059cbb1461037d5761012a565b8063273123b7116100e7578063273123b714610228578063313ce5671461025157806346df33b71461027c5780636fc3eaec146102a557806370a08231146102bc5761012a565b806306fdde031461012f578063095ea7b31461015a57806318160ddd146101975780631bbae6e0146101c257806323b872dd146101eb5761012a565b3661012a57005b600080fd5b34801561013b57600080fd5b50610144610477565b6040516101519190612606565b60405180910390f35b34801561016657600080fd5b50610181600480360381019061017c91906126d0565b6104b4565b60405161018e919061272b565b60405180910390f35b3480156101a357600080fd5b506101ac6104d2565b6040516101b99190612755565b60405180910390f35b3480156101ce57600080fd5b506101e960048036038101906101e49190612770565b6104e2565b005b3480156101f757600080fd5b50610212600480360381019061020d919061279d565b610590565b60405161021f919061272b565b60405180910390f35b34801561023457600080fd5b5061024f600480360381019061024a91906127f0565b610669565b005b34801561025d57600080fd5b50610266610759565b6040516102739190612839565b60405180910390f35b34801561028857600080fd5b506102a3600480360381019061029e9190612880565b610762565b005b3480156102b157600080fd5b506102ba610814565b005b3480156102c857600080fd5b506102e360048036038101906102de91906127f0565b6108ba565b6040516102f09190612755565b60405180910390f35b34801561030557600080fd5b5061030e61090b565b005b34801561031c57600080fd5b50610325610a5e565b60405161033291906128bc565b60405180910390f35b34801561034757600080fd5b50610350610a87565b60405161035d9190612606565b60405180910390f35b34801561037257600080fd5b5061037b610ac4565b005b34801561038957600080fd5b506103a4600480360381019061039f91906126d0565b610da0565b6040516103b1919061272b565b60405180910390f35b3480156103c657600080fd5b506103e160048036038101906103dc9190612a1f565b610dbe565b005b3480156103ef57600080fd5b506103f8610ee8565b005b34801561040657600080fd5b5061040f610f96565b005b34801561041d57600080fd5b5061043860048036038101906104339190612a68565b611260565b6040516104459190612755565b60405180910390f35b34801561045a57600080fd5b5061047560048036038101906104709190612aa8565b6112e7565b005b60606040518060400160405280601481526020017f43727970746f204d69786572204361706974616c000000000000000000000000815250905090565b60006104c86104c161138e565b8484611396565b6001905092915050565b6000670853a0d2313c0000905090565b6104ea61138e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610577576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056e90612b34565b60405180910390fd5b6512309ce5400081111561058d57806010819055505b50565b600061059d84848461155f565b61065e846105a961138e565b6106598560405180606001604052806028815260200161347f60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061060f61138e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ab49092919063ffffffff16565b611396565b600190509392505050565b61067161138e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f590612b34565b60405180910390fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b61076a61138e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ee90612b34565b60405180910390fd5b80600f60176101000a81548160ff02191690831515021790555050565b61081c61138e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a090612b34565b60405180910390fd5b60004790506108b781611b18565b50565b6000610904600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b84565b9050919050565b61091361138e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099790612b34565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f434d430000000000000000000000000000000000000000000000000000000000815250905090565b610acc61138e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5090612b34565b60405180910390fd5b600f60149054906101000a900460ff1615610ba9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba090612ba0565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c729190612bd5565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cd9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cfd9190612bd5565b6040518363ffffffff1660e01b8152600401610d1a929190612c02565b6020604051808303816000875af1158015610d39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d5d9190612bd5565b600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000610db4610dad61138e565b848461155f565b6001905092915050565b610dc661138e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4a90612b34565b60405180910390fd5b60005b8151811015610ee457600160066000848481518110610e7857610e77612c2b565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610edc90612c89565b915050610e56565b5050565b610ef061138e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7490612b34565b60405180910390fd5b6000610f88306108ba565b9050610f9381611bf2565b50565b610f9e61138e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461102b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102290612b34565b60405180910390fd5b61106030600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16670853a0d2313c0000611396565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306110a9306108ba565b6000806110b4610a5e565b426040518863ffffffff1660e01b81526004016110d696959493929190612d16565b60606040518083038185885af11580156110f4573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906111199190612d8c565b5050506001600f60166101000a81548160ff0219169083151502179055506001600f60176101000a81548160ff021916908315150217905550661550f7dca700006010819055506001600f60146101000a81548160ff021916908315150217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161121a929190612ddf565b6020604051808303816000875af1158015611239573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125d9190612e1d565b50565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6112ef61138e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461137c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137390612b34565b60405180910390fd5b81600c8190555080600b819055505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611405576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113fc90612ebc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611474576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146b90612f4e565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516115529190612755565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036115ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c590612fe0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361163d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163490613072565b60405180910390fd5b6000811161164a57600080fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156116a157600080fd5b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156117455750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611aa4576000600981905550600c54600a81905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156118065750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561185c5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156118745750600f60179054906101000a900460ff165b156118a9576000611884836108ba565b905060105461189c8284611e6b90919063ffffffff16565b11156118a757600080fd5b505b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156119545750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156119aa5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156119c1576000600981905550600b54600a819055505b60006119cc306108ba565b9050600f60159054906101000a900460ff16158015611a395750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611a515750600f60169054906101000a900460ff165b15611aa2576000600382611a6591906130c1565b90508082611a7391906130f2565b9150611a7e81611ec9565b611a8782611bf2565b60004790506000811115611a9f57611a9e47611b18565b5b50505b505b611aaf838383611f19565b505050565b6000838311158290611afc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af39190612606565b60405180910390fd5b5060008385611b0b91906130f2565b9050809150509392505050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611b80573d6000803e3d6000fd5b5050565b6000600754821115611bcb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bc290613198565b60405180910390fd5b6000611bd5611f29565b9050611bea8184611f5490919063ffffffff16565b915050919050565b6001600f60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611c2a57611c296128dc565b5b604051908082528060200260200182016040528015611c585781602001602082028036833780820191505090505b5090503081600081518110611c7057611c6f612c2b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d3b9190612bd5565b81600181518110611d4f57611d4e612c2b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611db630600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611396565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611e1a959493929190613276565b600060405180830381600087803b158015611e3457600080fd5b505af1158015611e48573d6000803e3d6000fd5b50505050506000600f60156101000a81548160ff02191690831515021790555050565b6000808284611e7a91906132d0565b905083811015611ebf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb690613372565b60405180910390fd5b8091505092915050565b6001600f60156101000a81548160ff0219169083151502179055506000811115611efb57611efa3061dead8361155f565b5b6000600f60156101000a81548160ff02191690831515021790555050565b611f24838383611f9e565b505050565b6000806000611f36612169565b91509150611f4d8183611f5490919063ffffffff16565b9250505090565b6000611f9683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506121c8565b905092915050565b600080600080600080611fb08761222b565b95509550955095509550955061200e86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461229390919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120a385600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e6b90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120ef816122dd565b6120f9848361239a565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516121569190612755565b60405180910390a3505050505050505050565b600080600060075490506000670853a0d2313c0000905061219d670853a0d2313c0000600754611f5490919063ffffffff16565b8210156121bb57600754670853a0d2313c00009350935050506121c4565b81819350935050505b9091565b6000808311829061220f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122069190612606565b60405180910390fd5b506000838561221e91906130c1565b9050809150509392505050565b60008060008060008060008060006122488a600954600a546123d4565b9250925092506000612258611f29565b9050600080600061226b8e87878761246a565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b60006122d583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611ab4565b905092915050565b60006122e7611f29565b905060006122fe82846124f390919063ffffffff16565b905061235281600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e6b90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6123af8260075461229390919063ffffffff16565b6007819055506123ca81600854611e6b90919063ffffffff16565b6008819055505050565b60008060008061240060646123f2888a6124f390919063ffffffff16565b611f5490919063ffffffff16565b9050600061242a606461241c888b6124f390919063ffffffff16565b611f5490919063ffffffff16565b9050600061245382612445858c61229390919063ffffffff16565b61229390919063ffffffff16565b905080838395509550955050505093509350939050565b60008060008061248385896124f390919063ffffffff16565b9050600061249a86896124f390919063ffffffff16565b905060006124b187896124f390919063ffffffff16565b905060006124da826124cc858761229390919063ffffffff16565b61229390919063ffffffff16565b9050838184965096509650505050509450945094915050565b60008083036125055760009050612567565b600082846125139190613392565b905082848261252291906130c1565b14612562576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125599061345e565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156125a757808201518184015260208101905061258c565b838111156125b6576000848401525b50505050565b6000601f19601f8301169050919050565b60006125d88261256d565b6125e28185612578565b93506125f2818560208601612589565b6125fb816125bc565b840191505092915050565b6000602082019050818103600083015261262081846125cd565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006126678261263c565b9050919050565b6126778161265c565b811461268257600080fd5b50565b6000813590506126948161266e565b92915050565b6000819050919050565b6126ad8161269a565b81146126b857600080fd5b50565b6000813590506126ca816126a4565b92915050565b600080604083850312156126e7576126e6612632565b5b60006126f585828601612685565b9250506020612706858286016126bb565b9150509250929050565b60008115159050919050565b61272581612710565b82525050565b6000602082019050612740600083018461271c565b92915050565b61274f8161269a565b82525050565b600060208201905061276a6000830184612746565b92915050565b60006020828403121561278657612785612632565b5b6000612794848285016126bb565b91505092915050565b6000806000606084860312156127b6576127b5612632565b5b60006127c486828701612685565b93505060206127d586828701612685565b92505060406127e6868287016126bb565b9150509250925092565b60006020828403121561280657612805612632565b5b600061281484828501612685565b91505092915050565b600060ff82169050919050565b6128338161281d565b82525050565b600060208201905061284e600083018461282a565b92915050565b61285d81612710565b811461286857600080fd5b50565b60008135905061287a81612854565b92915050565b60006020828403121561289657612895612632565b5b60006128a48482850161286b565b91505092915050565b6128b68161265c565b82525050565b60006020820190506128d160008301846128ad565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612914826125bc565b810181811067ffffffffffffffff82111715612933576129326128dc565b5b80604052505050565b6000612946612628565b9050612952828261290b565b919050565b600067ffffffffffffffff821115612972576129716128dc565b5b602082029050602081019050919050565b600080fd5b600061299b61299684612957565b61293c565b905080838252602082019050602084028301858111156129be576129bd612983565b5b835b818110156129e757806129d38882612685565b8452602084019350506020810190506129c0565b5050509392505050565b600082601f830112612a0657612a056128d7565b5b8135612a16848260208601612988565b91505092915050565b600060208284031215612a3557612a34612632565b5b600082013567ffffffffffffffff811115612a5357612a52612637565b5b612a5f848285016129f1565b91505092915050565b60008060408385031215612a7f57612a7e612632565b5b6000612a8d85828601612685565b9250506020612a9e85828601612685565b9150509250929050565b60008060408385031215612abf57612abe612632565b5b6000612acd858286016126bb565b9250506020612ade858286016126bb565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612b1e602083612578565b9150612b2982612ae8565b602082019050919050565b60006020820190508181036000830152612b4d81612b11565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612b8a601783612578565b9150612b9582612b54565b602082019050919050565b60006020820190508181036000830152612bb981612b7d565b9050919050565b600081519050612bcf8161266e565b92915050565b600060208284031215612beb57612bea612632565b5b6000612bf984828501612bc0565b91505092915050565b6000604082019050612c1760008301856128ad565b612c2460208301846128ad565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612c948261269a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612cc657612cc5612c5a565b5b600182019050919050565b6000819050919050565b6000819050919050565b6000612d00612cfb612cf684612cd1565b612cdb565b61269a565b9050919050565b612d1081612ce5565b82525050565b600060c082019050612d2b60008301896128ad565b612d386020830188612746565b612d456040830187612d07565b612d526060830186612d07565b612d5f60808301856128ad565b612d6c60a0830184612746565b979650505050505050565b600081519050612d86816126a4565b92915050565b600080600060608486031215612da557612da4612632565b5b6000612db386828701612d77565b9350506020612dc486828701612d77565b9250506040612dd586828701612d77565b9150509250925092565b6000604082019050612df460008301856128ad565b612e016020830184612746565b9392505050565b600081519050612e1781612854565b92915050565b600060208284031215612e3357612e32612632565b5b6000612e4184828501612e08565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612ea6602483612578565b9150612eb182612e4a565b604082019050919050565b60006020820190508181036000830152612ed581612e99565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612f38602283612578565b9150612f4382612edc565b604082019050919050565b60006020820190508181036000830152612f6781612f2b565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612fca602583612578565b9150612fd582612f6e565b604082019050919050565b60006020820190508181036000830152612ff981612fbd565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061305c602383612578565b915061306782613000565b604082019050919050565b6000602082019050818103600083015261308b8161304f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006130cc8261269a565b91506130d78361269a565b9250826130e7576130e6613092565b5b828204905092915050565b60006130fd8261269a565b91506131088361269a565b92508282101561311b5761311a612c5a565b5b828203905092915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000613182602a83612578565b915061318d82613126565b604082019050919050565b600060208201905081810360008301526131b181613175565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6131ed8161265c565b82525050565b60006131ff83836131e4565b60208301905092915050565b6000602082019050919050565b6000613223826131b8565b61322d81856131c3565b9350613238836131d4565b8060005b8381101561326957815161325088826131f3565b975061325b8361320b565b92505060018101905061323c565b5085935050505092915050565b600060a08201905061328b6000830188612746565b6132986020830187612d07565b81810360408301526132aa8186613218565b90506132b960608301856128ad565b6132c66080830184612746565b9695505050505050565b60006132db8261269a565b91506132e68361269a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561331b5761331a612c5a565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061335c601b83612578565b915061336782613326565b602082019050919050565b6000602082019050818103600083015261338b8161334f565b9050919050565b600061339d8261269a565b91506133a88361269a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156133e1576133e0612c5a565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613448602183612578565b9150613453826133ec565b604082019050919050565b600060208201905081810360008301526134778161343b565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220665d08bf693c2f83d358a28b2839378ff3e984f985293269804c56ed5cce0f6264736f6c634300080d0033

Deployed Bytecode

0x6080604052600436106101235760003560e01c8063715018a6116100a0578063b515566a11610064578063b515566a146103ba578063c3c8cd80146103e3578063c9567bf9146103fa578063dd62ed3e14610411578063dd726e7c1461044e5761012a565b8063715018a6146102f95780638da5cb5b1461031057806395d89b411461033b5780639e78fb4f14610366578063a9059cbb1461037d5761012a565b8063273123b7116100e7578063273123b714610228578063313ce5671461025157806346df33b71461027c5780636fc3eaec146102a557806370a08231146102bc5761012a565b806306fdde031461012f578063095ea7b31461015a57806318160ddd146101975780631bbae6e0146101c257806323b872dd146101eb5761012a565b3661012a57005b600080fd5b34801561013b57600080fd5b50610144610477565b6040516101519190612606565b60405180910390f35b34801561016657600080fd5b50610181600480360381019061017c91906126d0565b6104b4565b60405161018e919061272b565b60405180910390f35b3480156101a357600080fd5b506101ac6104d2565b6040516101b99190612755565b60405180910390f35b3480156101ce57600080fd5b506101e960048036038101906101e49190612770565b6104e2565b005b3480156101f757600080fd5b50610212600480360381019061020d919061279d565b610590565b60405161021f919061272b565b60405180910390f35b34801561023457600080fd5b5061024f600480360381019061024a91906127f0565b610669565b005b34801561025d57600080fd5b50610266610759565b6040516102739190612839565b60405180910390f35b34801561028857600080fd5b506102a3600480360381019061029e9190612880565b610762565b005b3480156102b157600080fd5b506102ba610814565b005b3480156102c857600080fd5b506102e360048036038101906102de91906127f0565b6108ba565b6040516102f09190612755565b60405180910390f35b34801561030557600080fd5b5061030e61090b565b005b34801561031c57600080fd5b50610325610a5e565b60405161033291906128bc565b60405180910390f35b34801561034757600080fd5b50610350610a87565b60405161035d9190612606565b60405180910390f35b34801561037257600080fd5b5061037b610ac4565b005b34801561038957600080fd5b506103a4600480360381019061039f91906126d0565b610da0565b6040516103b1919061272b565b60405180910390f35b3480156103c657600080fd5b506103e160048036038101906103dc9190612a1f565b610dbe565b005b3480156103ef57600080fd5b506103f8610ee8565b005b34801561040657600080fd5b5061040f610f96565b005b34801561041d57600080fd5b5061043860048036038101906104339190612a68565b611260565b6040516104459190612755565b60405180910390f35b34801561045a57600080fd5b5061047560048036038101906104709190612aa8565b6112e7565b005b60606040518060400160405280601481526020017f43727970746f204d69786572204361706974616c000000000000000000000000815250905090565b60006104c86104c161138e565b8484611396565b6001905092915050565b6000670853a0d2313c0000905090565b6104ea61138e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610577576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056e90612b34565b60405180910390fd5b6512309ce5400081111561058d57806010819055505b50565b600061059d84848461155f565b61065e846105a961138e565b6106598560405180606001604052806028815260200161347f60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061060f61138e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ab49092919063ffffffff16565b611396565b600190509392505050565b61067161138e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f590612b34565b60405180910390fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b61076a61138e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ee90612b34565b60405180910390fd5b80600f60176101000a81548160ff02191690831515021790555050565b61081c61138e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a090612b34565b60405180910390fd5b60004790506108b781611b18565b50565b6000610904600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b84565b9050919050565b61091361138e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099790612b34565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f434d430000000000000000000000000000000000000000000000000000000000815250905090565b610acc61138e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5090612b34565b60405180910390fd5b600f60149054906101000a900460ff1615610ba9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba090612ba0565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c729190612bd5565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cd9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cfd9190612bd5565b6040518363ffffffff1660e01b8152600401610d1a929190612c02565b6020604051808303816000875af1158015610d39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d5d9190612bd5565b600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000610db4610dad61138e565b848461155f565b6001905092915050565b610dc661138e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4a90612b34565b60405180910390fd5b60005b8151811015610ee457600160066000848481518110610e7857610e77612c2b565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610edc90612c89565b915050610e56565b5050565b610ef061138e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7490612b34565b60405180910390fd5b6000610f88306108ba565b9050610f9381611bf2565b50565b610f9e61138e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461102b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102290612b34565b60405180910390fd5b61106030600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16670853a0d2313c0000611396565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306110a9306108ba565b6000806110b4610a5e565b426040518863ffffffff1660e01b81526004016110d696959493929190612d16565b60606040518083038185885af11580156110f4573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906111199190612d8c565b5050506001600f60166101000a81548160ff0219169083151502179055506001600f60176101000a81548160ff021916908315150217905550661550f7dca700006010819055506001600f60146101000a81548160ff021916908315150217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161121a929190612ddf565b6020604051808303816000875af1158015611239573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125d9190612e1d565b50565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6112ef61138e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461137c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137390612b34565b60405180910390fd5b81600c8190555080600b819055505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611405576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113fc90612ebc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611474576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146b90612f4e565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516115529190612755565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036115ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c590612fe0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361163d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163490613072565b60405180910390fd5b6000811161164a57600080fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156116a157600080fd5b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156117455750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611aa4576000600981905550600c54600a81905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156118065750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561185c5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156118745750600f60179054906101000a900460ff165b156118a9576000611884836108ba565b905060105461189c8284611e6b90919063ffffffff16565b11156118a757600080fd5b505b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156119545750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156119aa5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156119c1576000600981905550600b54600a819055505b60006119cc306108ba565b9050600f60159054906101000a900460ff16158015611a395750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611a515750600f60169054906101000a900460ff165b15611aa2576000600382611a6591906130c1565b90508082611a7391906130f2565b9150611a7e81611ec9565b611a8782611bf2565b60004790506000811115611a9f57611a9e47611b18565b5b50505b505b611aaf838383611f19565b505050565b6000838311158290611afc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af39190612606565b60405180910390fd5b5060008385611b0b91906130f2565b9050809150509392505050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611b80573d6000803e3d6000fd5b5050565b6000600754821115611bcb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bc290613198565b60405180910390fd5b6000611bd5611f29565b9050611bea8184611f5490919063ffffffff16565b915050919050565b6001600f60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611c2a57611c296128dc565b5b604051908082528060200260200182016040528015611c585781602001602082028036833780820191505090505b5090503081600081518110611c7057611c6f612c2b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d3b9190612bd5565b81600181518110611d4f57611d4e612c2b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611db630600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611396565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611e1a959493929190613276565b600060405180830381600087803b158015611e3457600080fd5b505af1158015611e48573d6000803e3d6000fd5b50505050506000600f60156101000a81548160ff02191690831515021790555050565b6000808284611e7a91906132d0565b905083811015611ebf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb690613372565b60405180910390fd5b8091505092915050565b6001600f60156101000a81548160ff0219169083151502179055506000811115611efb57611efa3061dead8361155f565b5b6000600f60156101000a81548160ff02191690831515021790555050565b611f24838383611f9e565b505050565b6000806000611f36612169565b91509150611f4d8183611f5490919063ffffffff16565b9250505090565b6000611f9683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506121c8565b905092915050565b600080600080600080611fb08761222b565b95509550955095509550955061200e86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461229390919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120a385600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e6b90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120ef816122dd565b6120f9848361239a565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516121569190612755565b60405180910390a3505050505050505050565b600080600060075490506000670853a0d2313c0000905061219d670853a0d2313c0000600754611f5490919063ffffffff16565b8210156121bb57600754670853a0d2313c00009350935050506121c4565b81819350935050505b9091565b6000808311829061220f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122069190612606565b60405180910390fd5b506000838561221e91906130c1565b9050809150509392505050565b60008060008060008060008060006122488a600954600a546123d4565b9250925092506000612258611f29565b9050600080600061226b8e87878761246a565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b60006122d583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611ab4565b905092915050565b60006122e7611f29565b905060006122fe82846124f390919063ffffffff16565b905061235281600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e6b90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6123af8260075461229390919063ffffffff16565b6007819055506123ca81600854611e6b90919063ffffffff16565b6008819055505050565b60008060008061240060646123f2888a6124f390919063ffffffff16565b611f5490919063ffffffff16565b9050600061242a606461241c888b6124f390919063ffffffff16565b611f5490919063ffffffff16565b9050600061245382612445858c61229390919063ffffffff16565b61229390919063ffffffff16565b905080838395509550955050505093509350939050565b60008060008061248385896124f390919063ffffffff16565b9050600061249a86896124f390919063ffffffff16565b905060006124b187896124f390919063ffffffff16565b905060006124da826124cc858761229390919063ffffffff16565b61229390919063ffffffff16565b9050838184965096509650505050509450945094915050565b60008083036125055760009050612567565b600082846125139190613392565b905082848261252291906130c1565b14612562576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125599061345e565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156125a757808201518184015260208101905061258c565b838111156125b6576000848401525b50505050565b6000601f19601f8301169050919050565b60006125d88261256d565b6125e28185612578565b93506125f2818560208601612589565b6125fb816125bc565b840191505092915050565b6000602082019050818103600083015261262081846125cd565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006126678261263c565b9050919050565b6126778161265c565b811461268257600080fd5b50565b6000813590506126948161266e565b92915050565b6000819050919050565b6126ad8161269a565b81146126b857600080fd5b50565b6000813590506126ca816126a4565b92915050565b600080604083850312156126e7576126e6612632565b5b60006126f585828601612685565b9250506020612706858286016126bb565b9150509250929050565b60008115159050919050565b61272581612710565b82525050565b6000602082019050612740600083018461271c565b92915050565b61274f8161269a565b82525050565b600060208201905061276a6000830184612746565b92915050565b60006020828403121561278657612785612632565b5b6000612794848285016126bb565b91505092915050565b6000806000606084860312156127b6576127b5612632565b5b60006127c486828701612685565b93505060206127d586828701612685565b92505060406127e6868287016126bb565b9150509250925092565b60006020828403121561280657612805612632565b5b600061281484828501612685565b91505092915050565b600060ff82169050919050565b6128338161281d565b82525050565b600060208201905061284e600083018461282a565b92915050565b61285d81612710565b811461286857600080fd5b50565b60008135905061287a81612854565b92915050565b60006020828403121561289657612895612632565b5b60006128a48482850161286b565b91505092915050565b6128b68161265c565b82525050565b60006020820190506128d160008301846128ad565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612914826125bc565b810181811067ffffffffffffffff82111715612933576129326128dc565b5b80604052505050565b6000612946612628565b9050612952828261290b565b919050565b600067ffffffffffffffff821115612972576129716128dc565b5b602082029050602081019050919050565b600080fd5b600061299b61299684612957565b61293c565b905080838252602082019050602084028301858111156129be576129bd612983565b5b835b818110156129e757806129d38882612685565b8452602084019350506020810190506129c0565b5050509392505050565b600082601f830112612a0657612a056128d7565b5b8135612a16848260208601612988565b91505092915050565b600060208284031215612a3557612a34612632565b5b600082013567ffffffffffffffff811115612a5357612a52612637565b5b612a5f848285016129f1565b91505092915050565b60008060408385031215612a7f57612a7e612632565b5b6000612a8d85828601612685565b9250506020612a9e85828601612685565b9150509250929050565b60008060408385031215612abf57612abe612632565b5b6000612acd858286016126bb565b9250506020612ade858286016126bb565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612b1e602083612578565b9150612b2982612ae8565b602082019050919050565b60006020820190508181036000830152612b4d81612b11565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612b8a601783612578565b9150612b9582612b54565b602082019050919050565b60006020820190508181036000830152612bb981612b7d565b9050919050565b600081519050612bcf8161266e565b92915050565b600060208284031215612beb57612bea612632565b5b6000612bf984828501612bc0565b91505092915050565b6000604082019050612c1760008301856128ad565b612c2460208301846128ad565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612c948261269a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612cc657612cc5612c5a565b5b600182019050919050565b6000819050919050565b6000819050919050565b6000612d00612cfb612cf684612cd1565b612cdb565b61269a565b9050919050565b612d1081612ce5565b82525050565b600060c082019050612d2b60008301896128ad565b612d386020830188612746565b612d456040830187612d07565b612d526060830186612d07565b612d5f60808301856128ad565b612d6c60a0830184612746565b979650505050505050565b600081519050612d86816126a4565b92915050565b600080600060608486031215612da557612da4612632565b5b6000612db386828701612d77565b9350506020612dc486828701612d77565b9250506040612dd586828701612d77565b9150509250925092565b6000604082019050612df460008301856128ad565b612e016020830184612746565b9392505050565b600081519050612e1781612854565b92915050565b600060208284031215612e3357612e32612632565b5b6000612e4184828501612e08565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612ea6602483612578565b9150612eb182612e4a565b604082019050919050565b60006020820190508181036000830152612ed581612e99565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612f38602283612578565b9150612f4382612edc565b604082019050919050565b60006020820190508181036000830152612f6781612f2b565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612fca602583612578565b9150612fd582612f6e565b604082019050919050565b60006020820190508181036000830152612ff981612fbd565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061305c602383612578565b915061306782613000565b604082019050919050565b6000602082019050818103600083015261308b8161304f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006130cc8261269a565b91506130d78361269a565b9250826130e7576130e6613092565b5b828204905092915050565b60006130fd8261269a565b91506131088361269a565b92508282101561311b5761311a612c5a565b5b828203905092915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000613182602a83612578565b915061318d82613126565b604082019050919050565b600060208201905081810360008301526131b181613175565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6131ed8161265c565b82525050565b60006131ff83836131e4565b60208301905092915050565b6000602082019050919050565b6000613223826131b8565b61322d81856131c3565b9350613238836131d4565b8060005b8381101561326957815161325088826131f3565b975061325b8361320b565b92505060018101905061323c565b5085935050505092915050565b600060a08201905061328b6000830188612746565b6132986020830187612d07565b81810360408301526132aa8186613218565b90506132b960608301856128ad565b6132c66080830184612746565b9695505050505050565b60006132db8261269a565b91506132e68361269a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561331b5761331a612c5a565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061335c601b83612578565b915061336782613326565b602082019050919050565b6000602082019050818103600083015261338b8161334f565b9050919050565b600061339d8261269a565b91506133a88361269a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156133e1576133e0612c5a565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613448602183612578565b9150613453826133ec565b604082019050919050565b600060208201905081810360008301526134778161343b565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220665d08bf693c2f83d358a28b2839378ff3e984f985293269804c56ed5cce0f6264736f6c634300080d0033

Deployed Bytecode Sourcemap

3557:10702:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5284:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6136:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5561:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9061:171;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6305:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10908:88;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5470:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6626:95;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12244:153;;;;;;;;;;;;;:::i;:::-;;5664:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2636:148;;;;;;;;;;;;;:::i;:::-;;2422:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5375:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9846:389;;;;;;;;;;;;;:::i;:::-;;5810:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10732:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12078:154;;;;;;;;;;;;;:::i;:::-;;10247:471;;;;;;;;;;;;;:::i;:::-;;5985:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13840:146;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5284:83;5321:13;5354:5;;;;;;;;;;;;;;;;;5347:12;;5284:83;:::o;6136:161::-;6211:4;6228:39;6237:12;:10;:12::i;:::-;6251:7;6260:6;6228:8;:39::i;:::-;6285:4;6278:11;;6136:161;;;;:::o;5561:95::-;5614:7;4009:17;5634:14;;5561:95;:::o;9061:171::-;2559:12;:10;:12::i;:::-;2549:22;;:6;;;;;;;;;;:22;;;2541:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9157:13:::1;9143:11;:27;9139:86;;;9202:11;9187:12;:26;;;;9139:86;9061:171:::0;:::o;6305:313::-;6403:4;6420:36;6430:6;6438:9;6449:6;6420:9;:36::i;:::-;6467:121;6476:6;6484:12;:10;:12::i;:::-;6498:89;6536:6;6498:89;;;;;;;;;;;;;;;;;:11;:19;6510:6;6498:19;;;;;;;;;;;;;;;:33;6518:12;:10;:12::i;:::-;6498:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6467:8;:121::i;:::-;6606:4;6599:11;;6305:313;;;;;:::o;10908:88::-;2559:12;:10;:12::i;:::-;2549:22;;:6;;;;;;;;;;:22;;;2541:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10983:5:::1;10968:4;:12;10973:6;10968:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;10908:88:::0;:::o;5470:83::-;5511:5;4447:1;5529:16;;5470:83;:::o;6626:95::-;2559:12;:10;:12::i;:::-;2549:22;;:6;;;;;;;;;;:22;;;2541:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6708:5:::1;6694:11;;:19;;;;;;;;;;;;;;;;;;6626:95:::0;:::o;12244:153::-;2559:12;:10;:12::i;:::-;2549:22;;:6;;;;;;;;;;:22;;;2541:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12296:26:::1;12325:21;12296:50;;12357:32;12370:18;12357:12;:32::i;:::-;12285:112;12244:153::o:0;5664:138::-;5730:7;5757:37;5777:7;:16;5785:7;5777:16;;;;;;;;;;;;;;;;5757:19;:37::i;:::-;5750:44;;5664:138;;;:::o;2636:148::-;2559:12;:10;:12::i;:::-;2549:22;;:6;;;;;;;;;;:22;;;2541:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2743:1:::1;2706:40;;2727:6;::::0;::::1;;;;;;;;2706:40;;;;;;;;;;;;2774:1;2757:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2636:148::o:0;2422:79::-;2460:7;2487:6;;;;;;;;;;;2480:13;;2422:79;:::o;5375:87::-;5414:13;5447:7;;;;;;;;;;;;;;;;;5440:14;;5375:87;:::o;9846:389::-;2559:12;:10;:12::i;:::-;2549:22;;:6;;;;;;;;;;:22;;;2541:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9908:11:::1;;;;;;;;;;;9907:12;9899:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;9957:35;10014:42;9957:100;;10086:16;10068:15;;:34;;;;;;;;;;;;;;;;;;10147:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10129:56;;;10194:4;10201:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10129:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10113:13;;:112;;;;;;;;;;;;;;;;;;9888:347;9846:389::o:0;5810:167::-;5888:4;5905:42;5915:12;:10;:12::i;:::-;5929:9;5940:6;5905:9;:42::i;:::-;5965:4;5958:11;;5810:167;;;;:::o;10732:164::-;2559:12;:10;:12::i;:::-;2549:22;;:6;;;;;;;;;;:22;;;2541:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10806:6:::1;10801:88;10822:5;:12;10818:1;:16;10801:88;;;10873:4;10856;:14;10861:5;10867:1;10861:8;;;;;;;;:::i;:::-;;;;;;;;10856:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;10836:3;;;;;:::i;:::-;;;;10801:88;;;;10732:164:::0;:::o;12078:154::-;2559:12;:10;:12::i;:::-;2549:22;;:6;;;;;;;;;;:22;;;2541:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12130:23:::1;12156:24;12174:4;12156:9;:24::i;:::-;12130:50;;12191:33;12208:15;12191:16;:33::i;:::-;12119:113;12078:154::o:0;10247:471::-;2559:12;:10;:12::i;:::-;2549:22;;:6;;;;;;;;;;:22;;;2541:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10302:58:::1;10319:4;10334:15;;;;;;;;;;;4009:17;10302:8;:58::i;:::-;10371:15;;;;;;;;;;;:31;;;10410:21;10441:4;10447:24;10465:4;10447:9;:24::i;:::-;10472:1;10474::::0;10476:7:::1;:5;:7::i;:::-;10484:15;10371:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;10525:4;10511:11;;:18;;;;;;;;;;;;;;;;;;10554:4;10540:11;;:18;;;;;;;;;;;;;;;;;;10584:15;10569:12;:30;;;;10624:4;10610:11;;:18;;;;;;;;;;;;;;;;;;10646:13;;;;;;;;;;;10639:29;;;10677:15;;;;;;;;;;;10695:14;10639:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10247:471::o:0;5985:143::-;6066:7;6093:11;:18;6105:5;6093:18;;;;;;;;;;;;;;;:27;6112:7;6093:27;;;;;;;;;;;;;;;;6086:34;;5985:143;;;;:::o;13840:146::-;2559:12;:10;:12::i;:::-;2549:22;;:6;;;;;;;;;;:22;;;2541:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13937:6:::1;13925:9;:18;;;;13971:7;13958:10;:20;;;;13840:146:::0;;:::o;140:98::-;193:7;220:10;213:17;;140:98;:::o;6991:335::-;7101:1;7084:19;;:5;:19;;;7076:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7182:1;7163:21;;:7;:21;;;7155:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7264:6;7234:11;:18;7246:5;7234:18;;;;;;;;;;;;;;;:27;7253:7;7234:27;;;;;;;;;;;;;;;:36;;;;7302:7;7286:32;;7295:5;7286:32;;;7311:6;7286:32;;;;;;:::i;:::-;;;;;;;;6991:335;;;:::o;7334:1539::-;7438:1;7422:18;;:4;:18;;;7414:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7515:1;7501:16;;:2;:16;;;7493:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7585:1;7576:6;:10;7568:19;;;;;;7607:4;:10;7612:4;7607:10;;;;;;;;;;;;;;;;;;;;;;;;;7606:11;7598:20;;;;;;7636:18;:24;7655:4;7636:24;;;;;;;;;;;;;;;;;;;;;;;;;7635:25;:66;;;;;7679:18;:22;7698:2;7679:22;;;;;;;;;;;;;;;;;;;;;;;;;7678:23;7635:66;7631:1190;;;7731:1;7719:9;:13;;;;7759:9;;7747;:21;;;;7795:13;;;;;;;;;;;7787:21;;:4;:21;;;:55;;;;;7826:15;;;;;;;;;;;7812:30;;:2;:30;;;;7787:55;:83;;;;;7848:18;:22;7867:2;7848:22;;;;;;;;;;;;;;;;;;;;;;;;;7846:24;7787:83;:98;;;;;7874:11;;;;;;;;;;;7787:98;7783:251;;;7906:18;7927:22;7945:2;7927:9;:22::i;:::-;7906:43;;8005:12;;7976:25;7987:13;7976:6;:10;;:25;;;;:::i;:::-;:41;;7968:50;;;;;;7887:147;7783:251;8086:13;;;;;;;;;;;8080:19;;:2;:19;;;:55;;;;;8119:15;;;;;;;;;;;8103:32;;:4;:32;;;;8080:55;:85;;;;;8141:18;:24;8160:4;8141:24;;;;;;;;;;;;;;;;;;;;;;;;;8139:26;8080:85;8076:180;;;8198:1;8186:9;:13;;;;8230:10;;8218:9;:22;;;;8076:180;8270:28;8301:24;8319:4;8301:9;:24::i;:::-;8270:55;;8345:6;;;;;;;;;;;8344:7;:32;;;;;8363:13;;;;;;;;;;;8355:21;;:4;:21;;;;8344:32;:47;;;;;8380:11;;;;;;;;;;;8344:47;8340:470;;;8412:15;8451:1;8430:20;:22;;;;:::i;:::-;8412:40;;8495:10;8471:34;;;;;:::i;:::-;;;8524:21;8534:10;8524:9;:21::i;:::-;8564:38;8581:20;8564:16;:38::i;:::-;8621:26;8650:21;8621:50;;8714:1;8693:18;:22;8690:105;;;8740:35;8753:21;8740:12;:35::i;:::-;8690:105;8393:417;;8340:470;7704:1117;7631:1190;8835:30;8850:4;8855:2;8858:6;8835:14;:30::i;:::-;7334:1539;;;:::o;1277:190::-;1363:7;1396:1;1391;:6;;1399:12;1383:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1423:9;1439:1;1435;:5;;;;:::i;:::-;1423:17;;1458:1;1451:8;;;1277:190;;;;;:::o;9745:93::-;9802:11;;;;;;;;;;;:20;;:28;9823:6;9802:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9745:93;:::o;6729:254::-;6796:7;6835;;6824;:18;;6816:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;6900:19;6923:10;:8;:10::i;:::-;6900:33;;6951:24;6963:11;6951:7;:11;;:24;;;;:::i;:::-;6944:31;;;6729:254;;;:::o;9246:483::-;4825:4;4816:6;;:13;;;;;;;;;;;;;;;;;;9324:21:::1;9362:1;9348:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9324:40;;9393:4;9375;9380:1;9375:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9419:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9409:4;9414:1;9409:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;9452:62;9469:4;9484:15;;;;;;;;;;;9502:11;9452:8;:62::i;:::-;9525:15;;;;;;;;;;;:66;;;9606:11;9632:1;9648:4;9675;9695:15;9525:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9313:416;4861:5:::0;4852:6;;:14;;;;;;;;;;;;;;;;;;9246:483;:::o;946:179::-;1004:7;1024:9;1040:1;1036;:5;;;;:::i;:::-;1024:17;;1065:1;1060;:6;;1052:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1116:1;1109:8;;;946:179;;;;:::o;8881:172::-;4825:4;4816:6;;:13;;;;;;;;;;;;;;;;;;8963:1:::1;8950:10;:14;8947:97;;;8980:52;8998:4;9013:6;9021:10;8980:9;:52::i;:::-;8947:97;4861:5:::0;4852:6;;:14;;;;;;;;;;;;;;;;;;8881:172;:::o;11012:146::-;11106:44;11124:6;11132:9;11143:6;11106:17;:44::i;:::-;11012:146;;;:::o;13663:163::-;13704:7;13725:15;13742;13761:19;:17;:19::i;:::-;13724:56;;;;13798:20;13810:7;13798;:11;;:20;;;;:::i;:::-;13791:27;;;;13663:163;:::o;1729:132::-;1787:7;1814:39;1818:1;1821;1814:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1807:46;;1729:132;;;;:::o;11166:488::-;11265:15;11282:23;11307:12;11321:23;11346:12;11360:13;11377:19;11388:7;11377:10;:19::i;:::-;11264:132;;;;;;;;;;;;11425:28;11445:7;11425;:15;11433:6;11425:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;11407:7;:15;11415:6;11407:15;;;;;;;;;;;;;;;:46;;;;11485:39;11508:15;11485:7;:18;11493:9;11485:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;11464:7;:18;11472:9;11464:18;;;;;;;;;;;;;;;:60;;;;11536:16;11546:5;11536:9;:16::i;:::-;11563:23;11575:4;11581;11563:11;:23::i;:::-;11619:9;11602:44;;11611:6;11602:44;;;11630:15;11602:44;;;;;;:::i;:::-;;;;;;;;11253:401;;;;;;11166:488;;;:::o;13994:262::-;14044:7;14053;14073:15;14091:7;;14073:25;;14109:15;4009:17;14109:25;;14165:20;4009:17;14165:7;;:11;;:20;;;;:::i;:::-;14155:7;:30;14151:61;;;14195:7;;4009:17;14187:25;;;;;;;;14151:61;14231:7;14240;14223:25;;;;;;13994:262;;;:::o;1869:189::-;1955:7;1987:1;1983;:5;1990:12;1975:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2014:9;2030:1;2026;:5;;;;:::i;:::-;2014:17;;2049:1;2042:8;;;1869:189;;;;;:::o;12411:471::-;12470:7;12479;12488;12497;12506;12515;12536:23;12561:12;12575:13;12592:42;12604:7;12613:9;;12624;;12592:11;:42::i;:::-;12535:99;;;;;;12645:19;12668:10;:8;:10::i;:::-;12645:33;;12690:15;12707:23;12732:12;12748:46;12760:7;12769:4;12775:5;12782:11;12748;:46::i;:::-;12689:105;;;;;;12813:7;12822:15;12839:4;12845:15;12862:4;12868:5;12805:69;;;;;;;;;;;;;;;;;;;12411:471;;;;;;;:::o;1133:136::-;1191:7;1218:43;1222:1;1225;1218:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1211:50;;1133:136;;;;:::o;11662:212::-;11715:19;11738:10;:8;:10::i;:::-;11715:33;;11759:13;11775:22;11785:11;11775:5;:9;;:22;;;;:::i;:::-;11759:38;;11833:33;11860:5;11833:7;:22;11849:4;11833:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;11808:7;:22;11824:4;11808:22;;;;;;;;;;;;;;;:58;;;;11704:170;;11662:212;:::o;11882:147::-;11960:17;11972:4;11960:7;;:11;;:17;;;;:::i;:::-;11950:7;:27;;;;12001:20;12016:4;12001:10;;:14;;:20;;;;:::i;:::-;11988:10;:33;;;;11882:147;;:::o;12890:351::-;12983:7;12992;13001;13021:12;13036:28;13060:3;13036:19;13048:6;13036:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;13021:43;;13075:13;13091:29;13116:3;13091:20;13103:7;13091;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;13075:45;;13131:23;13157:28;13179:5;13157:17;13169:4;13157:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;13131:54;;13204:15;13221:4;13227:5;13196:37;;;;;;;;;12890:351;;;;;;;:::o;13249:409::-;13359:7;13368;13377;13397:15;13415:24;13427:11;13415:7;:11;;:24;;;;:::i;:::-;13397:42;;13450:12;13465:21;13474:11;13465:4;:8;;:21;;;;:::i;:::-;13450:36;;13497:13;13513:22;13523:11;13513:5;:9;;:22;;;;:::i;:::-;13497:38;;13546:23;13572:28;13594:5;13572:17;13584:4;13572:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;13546:54;;13619:7;13628:15;13645:4;13611:39;;;;;;;;;;13249:409;;;;;;;;:::o;1475:246::-;1533:7;1562:1;1557;:6;1553:47;;1587:1;1580:8;;;;1553:47;1610:9;1626:1;1622;:5;;;;:::i;:::-;1610:17;;1655:1;1650;1646;:5;;;;:::i;:::-;:10;1638:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1712:1;1705:8;;;1475:246;;;;;:::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:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1397:75::-;1430:6;1463:2;1457:9;1447:19;;1397:75;:::o;1478:117::-;1587:1;1584;1577:12;1601:117;1710:1;1707;1700:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:118::-;3581:24;3599:5;3581:24;:::i;:::-;3576:3;3569:37;3494:118;;:::o;3618:222::-;3711:4;3749:2;3738:9;3734:18;3726:26;;3762:71;3830:1;3819:9;3815:17;3806:6;3762:71;:::i;:::-;3618:222;;;;:::o;3846:329::-;3905:6;3954:2;3942:9;3933:7;3929:23;3925:32;3922:119;;;3960:79;;:::i;:::-;3922:119;4080:1;4105:53;4150:7;4141:6;4130:9;4126:22;4105:53;:::i;:::-;4095:63;;4051:117;3846:329;;;;:::o;4181:619::-;4258:6;4266;4274;4323:2;4311:9;4302:7;4298:23;4294:32;4291:119;;;4329:79;;:::i;:::-;4291:119;4449:1;4474:53;4519:7;4510:6;4499:9;4495:22;4474:53;:::i;:::-;4464:63;;4420:117;4576:2;4602:53;4647:7;4638:6;4627:9;4623:22;4602:53;:::i;:::-;4592:63;;4547:118;4704:2;4730:53;4775:7;4766:6;4755:9;4751:22;4730:53;:::i;:::-;4720:63;;4675:118;4181:619;;;;;:::o;4806:329::-;4865:6;4914:2;4902:9;4893:7;4889:23;4885:32;4882:119;;;4920:79;;:::i;:::-;4882:119;5040:1;5065:53;5110:7;5101:6;5090:9;5086:22;5065:53;:::i;:::-;5055:63;;5011:117;4806:329;;;;:::o;5141:86::-;5176:7;5216:4;5209:5;5205:16;5194:27;;5141:86;;;:::o;5233:112::-;5316:22;5332:5;5316:22;:::i;:::-;5311:3;5304:35;5233:112;;:::o;5351:214::-;5440:4;5478:2;5467:9;5463:18;5455:26;;5491:67;5555:1;5544:9;5540:17;5531:6;5491:67;:::i;:::-;5351:214;;;;:::o;5571:116::-;5641:21;5656:5;5641:21;:::i;:::-;5634:5;5631:32;5621:60;;5677:1;5674;5667:12;5621:60;5571:116;:::o;5693:133::-;5736:5;5774:6;5761:20;5752:29;;5790:30;5814:5;5790:30;:::i;:::-;5693:133;;;;:::o;5832:323::-;5888:6;5937:2;5925:9;5916:7;5912:23;5908:32;5905:119;;;5943:79;;:::i;:::-;5905:119;6063:1;6088:50;6130:7;6121:6;6110:9;6106:22;6088:50;:::i;:::-;6078:60;;6034:114;5832:323;;;;:::o;6161:118::-;6248:24;6266:5;6248:24;:::i;:::-;6243:3;6236:37;6161:118;;:::o;6285:222::-;6378:4;6416:2;6405:9;6401:18;6393:26;;6429:71;6497:1;6486:9;6482:17;6473:6;6429:71;:::i;:::-;6285:222;;;;:::o;6513:117::-;6622:1;6619;6612:12;6636:180;6684:77;6681:1;6674:88;6781:4;6778:1;6771:15;6805:4;6802:1;6795:15;6822:281;6905:27;6927:4;6905:27;:::i;:::-;6897:6;6893:40;7035:6;7023:10;7020:22;6999:18;6987:10;6984:34;6981:62;6978:88;;;7046:18;;:::i;:::-;6978:88;7086:10;7082:2;7075:22;6865:238;6822:281;;:::o;7109:129::-;7143:6;7170:20;;:::i;:::-;7160:30;;7199:33;7227:4;7219:6;7199:33;:::i;:::-;7109:129;;;:::o;7244:311::-;7321:4;7411:18;7403:6;7400:30;7397:56;;;7433:18;;:::i;:::-;7397:56;7483:4;7475:6;7471:17;7463:25;;7543:4;7537;7533:15;7525:23;;7244:311;;;:::o;7561:117::-;7670:1;7667;7660:12;7701:710;7797:5;7822:81;7838:64;7895:6;7838:64;:::i;:::-;7822:81;:::i;:::-;7813:90;;7923:5;7952:6;7945:5;7938:21;7986:4;7979:5;7975:16;7968:23;;8039:4;8031:6;8027:17;8019:6;8015:30;8068:3;8060:6;8057:15;8054:122;;;8087:79;;:::i;:::-;8054:122;8202:6;8185:220;8219:6;8214:3;8211:15;8185:220;;;8294:3;8323:37;8356:3;8344:10;8323:37;:::i;:::-;8318:3;8311:50;8390:4;8385:3;8381:14;8374:21;;8261:144;8245:4;8240:3;8236:14;8229:21;;8185:220;;;8189:21;7803:608;;7701:710;;;;;:::o;8434:370::-;8505:5;8554:3;8547:4;8539:6;8535:17;8531:27;8521:122;;8562:79;;:::i;:::-;8521:122;8679:6;8666:20;8704:94;8794:3;8786:6;8779:4;8771:6;8767:17;8704:94;:::i;:::-;8695:103;;8511:293;8434:370;;;;:::o;8810:539::-;8894:6;8943:2;8931:9;8922:7;8918:23;8914:32;8911:119;;;8949:79;;:::i;:::-;8911:119;9097:1;9086:9;9082:17;9069:31;9127:18;9119:6;9116:30;9113:117;;;9149:79;;:::i;:::-;9113:117;9254:78;9324:7;9315:6;9304:9;9300:22;9254:78;:::i;:::-;9244:88;;9040:302;8810:539;;;;:::o;9355:474::-;9423:6;9431;9480:2;9468:9;9459:7;9455:23;9451:32;9448:119;;;9486:79;;:::i;:::-;9448:119;9606:1;9631:53;9676:7;9667:6;9656:9;9652:22;9631:53;:::i;:::-;9621:63;;9577:117;9733:2;9759:53;9804:7;9795:6;9784:9;9780:22;9759:53;:::i;:::-;9749:63;;9704:118;9355:474;;;;;:::o;9835:::-;9903:6;9911;9960:2;9948:9;9939:7;9935:23;9931:32;9928:119;;;9966:79;;:::i;:::-;9928:119;10086:1;10111:53;10156:7;10147:6;10136:9;10132:22;10111:53;:::i;:::-;10101:63;;10057:117;10213:2;10239:53;10284:7;10275:6;10264:9;10260:22;10239:53;:::i;:::-;10229:63;;10184:118;9835:474;;;;;:::o;10315:182::-;10455:34;10451:1;10443:6;10439:14;10432:58;10315:182;:::o;10503:366::-;10645:3;10666:67;10730:2;10725:3;10666:67;:::i;:::-;10659:74;;10742:93;10831:3;10742:93;:::i;:::-;10860:2;10855:3;10851:12;10844:19;;10503:366;;;:::o;10875:419::-;11041:4;11079:2;11068:9;11064:18;11056:26;;11128:9;11122:4;11118:20;11114:1;11103:9;11099:17;11092:47;11156:131;11282:4;11156:131;:::i;:::-;11148:139;;10875:419;;;:::o;11300:173::-;11440:25;11436:1;11428:6;11424:14;11417:49;11300:173;:::o;11479:366::-;11621:3;11642:67;11706:2;11701:3;11642:67;:::i;:::-;11635:74;;11718:93;11807:3;11718:93;:::i;:::-;11836:2;11831:3;11827:12;11820:19;;11479:366;;;:::o;11851:419::-;12017:4;12055:2;12044:9;12040:18;12032:26;;12104:9;12098:4;12094:20;12090:1;12079:9;12075:17;12068:47;12132:131;12258:4;12132:131;:::i;:::-;12124:139;;11851:419;;;:::o;12276:143::-;12333:5;12364:6;12358:13;12349:22;;12380:33;12407:5;12380:33;:::i;:::-;12276:143;;;;:::o;12425:351::-;12495:6;12544:2;12532:9;12523:7;12519:23;12515:32;12512:119;;;12550:79;;:::i;:::-;12512:119;12670:1;12695:64;12751:7;12742:6;12731:9;12727:22;12695:64;:::i;:::-;12685:74;;12641:128;12425:351;;;;:::o;12782:332::-;12903:4;12941:2;12930:9;12926:18;12918:26;;12954:71;13022:1;13011:9;13007:17;12998:6;12954:71;:::i;:::-;13035:72;13103:2;13092:9;13088:18;13079:6;13035:72;:::i;:::-;12782:332;;;;;:::o;13120:180::-;13168:77;13165:1;13158:88;13265:4;13262:1;13255:15;13289:4;13286:1;13279:15;13306:180;13354:77;13351:1;13344:88;13451:4;13448:1;13441:15;13475:4;13472:1;13465:15;13492:233;13531:3;13554:24;13572:5;13554:24;:::i;:::-;13545:33;;13600:66;13593:5;13590:77;13587:103;;13670:18;;:::i;:::-;13587:103;13717:1;13710:5;13706:13;13699:20;;13492:233;;;:::o;13731:85::-;13776:7;13805:5;13794:16;;13731:85;;;:::o;13822:60::-;13850:3;13871:5;13864:12;;13822:60;;;:::o;13888:158::-;13946:9;13979:61;13997:42;14006:32;14032:5;14006:32;:::i;:::-;13997:42;:::i;:::-;13979:61;:::i;:::-;13966:74;;13888:158;;;:::o;14052:147::-;14147:45;14186:5;14147:45;:::i;:::-;14142:3;14135:58;14052:147;;:::o;14205:807::-;14454:4;14492:3;14481:9;14477:19;14469:27;;14506:71;14574:1;14563:9;14559:17;14550:6;14506:71;:::i;:::-;14587:72;14655:2;14644:9;14640:18;14631:6;14587:72;:::i;:::-;14669:80;14745:2;14734:9;14730:18;14721:6;14669:80;:::i;:::-;14759;14835:2;14824:9;14820:18;14811:6;14759:80;:::i;:::-;14849:73;14917:3;14906:9;14902:19;14893:6;14849:73;:::i;:::-;14932;15000:3;14989:9;14985:19;14976:6;14932:73;:::i;:::-;14205:807;;;;;;;;;:::o;15018:143::-;15075:5;15106:6;15100:13;15091:22;;15122:33;15149:5;15122:33;:::i;:::-;15018:143;;;;:::o;15167:663::-;15255:6;15263;15271;15320:2;15308:9;15299:7;15295:23;15291:32;15288:119;;;15326:79;;:::i;:::-;15288:119;15446:1;15471:64;15527:7;15518:6;15507:9;15503:22;15471:64;:::i;:::-;15461:74;;15417:128;15584:2;15610:64;15666:7;15657:6;15646:9;15642:22;15610:64;:::i;:::-;15600:74;;15555:129;15723:2;15749:64;15805:7;15796:6;15785:9;15781:22;15749:64;:::i;:::-;15739:74;;15694:129;15167:663;;;;;:::o;15836:332::-;15957:4;15995:2;15984:9;15980:18;15972:26;;16008:71;16076:1;16065:9;16061:17;16052:6;16008:71;:::i;:::-;16089:72;16157:2;16146:9;16142:18;16133:6;16089:72;:::i;:::-;15836:332;;;;;:::o;16174:137::-;16228:5;16259:6;16253:13;16244:22;;16275:30;16299:5;16275:30;:::i;:::-;16174:137;;;;:::o;16317:345::-;16384:6;16433:2;16421:9;16412:7;16408:23;16404:32;16401:119;;;16439:79;;:::i;:::-;16401:119;16559:1;16584:61;16637:7;16628:6;16617:9;16613:22;16584:61;:::i;:::-;16574:71;;16530:125;16317:345;;;;:::o;16668:223::-;16808:34;16804:1;16796:6;16792:14;16785:58;16877:6;16872:2;16864:6;16860:15;16853:31;16668:223;:::o;16897:366::-;17039:3;17060:67;17124:2;17119:3;17060:67;:::i;:::-;17053:74;;17136:93;17225:3;17136:93;:::i;:::-;17254:2;17249:3;17245:12;17238:19;;16897:366;;;:::o;17269:419::-;17435:4;17473:2;17462:9;17458:18;17450:26;;17522:9;17516:4;17512:20;17508:1;17497:9;17493:17;17486:47;17550:131;17676:4;17550:131;:::i;:::-;17542:139;;17269:419;;;:::o;17694:221::-;17834:34;17830:1;17822:6;17818:14;17811:58;17903:4;17898:2;17890:6;17886:15;17879:29;17694:221;:::o;17921:366::-;18063:3;18084:67;18148:2;18143:3;18084:67;:::i;:::-;18077:74;;18160:93;18249:3;18160:93;:::i;:::-;18278:2;18273:3;18269:12;18262:19;;17921:366;;;:::o;18293:419::-;18459:4;18497:2;18486:9;18482:18;18474:26;;18546:9;18540:4;18536:20;18532:1;18521:9;18517:17;18510:47;18574:131;18700:4;18574:131;:::i;:::-;18566:139;;18293:419;;;:::o;18718:224::-;18858:34;18854:1;18846:6;18842:14;18835:58;18927:7;18922:2;18914:6;18910:15;18903:32;18718:224;:::o;18948:366::-;19090:3;19111:67;19175:2;19170:3;19111:67;:::i;:::-;19104:74;;19187:93;19276:3;19187:93;:::i;:::-;19305:2;19300:3;19296:12;19289:19;;18948:366;;;:::o;19320:419::-;19486:4;19524:2;19513:9;19509:18;19501:26;;19573:9;19567:4;19563:20;19559:1;19548:9;19544:17;19537:47;19601:131;19727:4;19601:131;:::i;:::-;19593:139;;19320:419;;;:::o;19745:222::-;19885:34;19881:1;19873:6;19869:14;19862:58;19954:5;19949:2;19941:6;19937:15;19930:30;19745:222;:::o;19973:366::-;20115:3;20136:67;20200:2;20195:3;20136:67;:::i;:::-;20129:74;;20212:93;20301:3;20212:93;:::i;:::-;20330:2;20325:3;20321:12;20314:19;;19973:366;;;:::o;20345:419::-;20511:4;20549:2;20538:9;20534:18;20526:26;;20598:9;20592:4;20588:20;20584:1;20573:9;20569:17;20562:47;20626:131;20752:4;20626:131;:::i;:::-;20618:139;;20345:419;;;:::o;20770:180::-;20818:77;20815:1;20808:88;20915:4;20912:1;20905:15;20939:4;20936:1;20929:15;20956:185;20996:1;21013:20;21031:1;21013:20;:::i;:::-;21008:25;;21047:20;21065:1;21047:20;:::i;:::-;21042:25;;21086:1;21076:35;;21091:18;;:::i;:::-;21076:35;21133:1;21130;21126:9;21121:14;;20956:185;;;;:::o;21147:191::-;21187:4;21207:20;21225:1;21207:20;:::i;:::-;21202:25;;21241:20;21259:1;21241:20;:::i;:::-;21236:25;;21280:1;21277;21274:8;21271:34;;;21285:18;;:::i;:::-;21271:34;21330:1;21327;21323:9;21315:17;;21147:191;;;;:::o;21344:229::-;21484:34;21480:1;21472:6;21468:14;21461:58;21553:12;21548:2;21540:6;21536:15;21529:37;21344:229;:::o;21579:366::-;21721:3;21742:67;21806:2;21801:3;21742:67;:::i;:::-;21735:74;;21818:93;21907:3;21818:93;:::i;:::-;21936:2;21931:3;21927:12;21920:19;;21579:366;;;:::o;21951:419::-;22117:4;22155:2;22144:9;22140:18;22132:26;;22204:9;22198:4;22194:20;22190:1;22179:9;22175:17;22168:47;22232:131;22358:4;22232:131;:::i;:::-;22224:139;;21951:419;;;:::o;22376:114::-;22443:6;22477:5;22471:12;22461:22;;22376:114;;;:::o;22496:184::-;22595:11;22629:6;22624:3;22617:19;22669:4;22664:3;22660:14;22645:29;;22496:184;;;;:::o;22686:132::-;22753:4;22776:3;22768:11;;22806:4;22801:3;22797:14;22789:22;;22686:132;;;:::o;22824:108::-;22901:24;22919:5;22901:24;:::i;:::-;22896:3;22889:37;22824:108;;:::o;22938:179::-;23007:10;23028:46;23070:3;23062:6;23028:46;:::i;:::-;23106:4;23101:3;23097:14;23083:28;;22938:179;;;;:::o;23123:113::-;23193:4;23225;23220:3;23216:14;23208:22;;23123:113;;;:::o;23272:732::-;23391:3;23420:54;23468:5;23420:54;:::i;:::-;23490:86;23569:6;23564:3;23490:86;:::i;:::-;23483:93;;23600:56;23650:5;23600:56;:::i;:::-;23679:7;23710:1;23695:284;23720:6;23717:1;23714:13;23695:284;;;23796:6;23790:13;23823:63;23882:3;23867:13;23823:63;:::i;:::-;23816:70;;23909:60;23962:6;23909:60;:::i;:::-;23899:70;;23755:224;23742:1;23739;23735:9;23730:14;;23695:284;;;23699:14;23995:3;23988:10;;23396:608;;;23272:732;;;;:::o;24010:831::-;24273:4;24311:3;24300:9;24296:19;24288:27;;24325:71;24393:1;24382:9;24378:17;24369:6;24325:71;:::i;:::-;24406:80;24482:2;24471:9;24467:18;24458:6;24406:80;:::i;:::-;24533:9;24527:4;24523:20;24518:2;24507:9;24503:18;24496:48;24561:108;24664:4;24655:6;24561:108;:::i;:::-;24553:116;;24679:72;24747:2;24736:9;24732:18;24723:6;24679:72;:::i;:::-;24761:73;24829:3;24818:9;24814:19;24805:6;24761:73;:::i;:::-;24010:831;;;;;;;;:::o;24847:305::-;24887:3;24906:20;24924:1;24906:20;:::i;:::-;24901:25;;24940:20;24958:1;24940:20;:::i;:::-;24935:25;;25094:1;25026:66;25022:74;25019:1;25016:81;25013:107;;;25100:18;;:::i;:::-;25013:107;25144:1;25141;25137:9;25130:16;;24847:305;;;;:::o;25158:177::-;25298:29;25294:1;25286:6;25282:14;25275:53;25158:177;:::o;25341:366::-;25483:3;25504:67;25568:2;25563:3;25504:67;:::i;:::-;25497:74;;25580:93;25669:3;25580:93;:::i;:::-;25698:2;25693:3;25689:12;25682:19;;25341:366;;;:::o;25713:419::-;25879:4;25917:2;25906:9;25902:18;25894:26;;25966:9;25960:4;25956:20;25952:1;25941:9;25937:17;25930:47;25994:131;26120:4;25994:131;:::i;:::-;25986:139;;25713:419;;;:::o;26138:348::-;26178:7;26201:20;26219:1;26201:20;:::i;:::-;26196:25;;26235:20;26253:1;26235:20;:::i;:::-;26230:25;;26423:1;26355:66;26351:74;26348:1;26345:81;26340:1;26333:9;26326:17;26322:105;26319:131;;;26430:18;;:::i;:::-;26319:131;26478:1;26475;26471:9;26460:20;;26138:348;;;;:::o;26492:220::-;26632:34;26628:1;26620:6;26616:14;26609:58;26701:3;26696:2;26688:6;26684:15;26677:28;26492:220;:::o;26718:366::-;26860:3;26881:67;26945:2;26940:3;26881:67;:::i;:::-;26874:74;;26957:93;27046:3;26957:93;:::i;:::-;27075:2;27070:3;27066:12;27059:19;;26718:366;;;:::o;27090:419::-;27256:4;27294:2;27283:9;27279:18;27271:26;;27343:9;27337:4;27333:20;27329:1;27318:9;27314:17;27307:47;27371:131;27497:4;27371:131;:::i;:::-;27363:139;;27090:419;;;:::o

Swarm Source

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