BNB Price: $696.85 (-1.84%)
Gas: 1 GWei
 

Overview

Max Total Supply

799,198.575393BMNY

Holders

284 (0.00%)

Market

Price

$0.0103 @ 0.000015 BNB

Onchain Market Cap

$8,195.20

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 8 Decimals)

Filtered by Token Holder
BscScan: Donate
Balance
2 BMNY

Value
$0.02 ( ~2.8700625038845E-05 BNB) [0.0003%]
0x71c7656ec7ab88b098defb751b7401b5f6d8976f
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

B-money aims to inform and create a social memory by bringing up key people and events in the history of blockchain. Turning the important milestones into Memento CryptoCurrencies as a tribute to those that serve the cryptocurrency community.


Update? Click here to update the token ICO / general information

Contract Source Code Verified (Exact Match)

Contract Name:
BMONEY

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license, Audited

Contract Source Code (Solidity)Audit Report

/**
 *Submitted for verification at BscScan.com on 2021-06-28
*/

// SPDX-License-Identifier: MIT
// powered by Shah BHUDHAI

pragma solidity ^0.8.4;


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


interface IBEP20Metadata is IBEP20 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
    function softcapDeadline() external view returns (uint256);
    function softCapTokens() external view returns (uint256);
    function hardCapTokens() external view returns (uint256);
}


abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        this;
        return msg.data;
    }
}


contract BMONEY is Context, IBEP20, IBEP20Metadata {

    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => uint256) private _deposits;

    address payable _owner;
    uint256 private _totalSupply;
    uint256 private _softCapTokens;
    uint256 private _hardCapTokens;
    uint256 private _totalSold;

    bool internal marketing = false;
    bool internal developers =false;
    bool internal seed_investors = false;
    bool internal wei_dai =false;
    bool internal founder = false;
    bool internal DexPool = false;
    bool internal Salefinished = false;

    string private _name;
    uint256 private _softcapDeadline;
    uint256 private _burningTime;
    string private _symbol;
    uint256 startOfSalesPeriod;

    constructor (address payable owner_) {
        _name = "B-MONEY";
        _symbol = "BMNY";
        _totalSupply = 808400e8;
        _softCapTokens = 118220e8;
        _hardCapTokens = 788190e8;
        _owner =  owner_;
        startOfSalesPeriod =1624863600;
        _softcapDeadline = startOfSalesPeriod + 7889229;
        _burningTime = startOfSalesPeriod+ 34186659;
    }


    function name() public view virtual override returns (string memory) {
        return _name;
    }

    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

    function decimals() public view virtual override returns (uint8) {
        return 8;
    }

    function softcapDeadline() public view virtual override returns (uint256) {
        return _softcapDeadline;
    }

    function softCapTokens() public view virtual override returns (uint256) {
        return _softCapTokens;
    }

    function hardCapTokens() public view virtual override returns (uint256) {
        return _hardCapTokens;
    }

    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address account) public view virtual override returns (uint256) {
        return _balances[account];
    }

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

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);
        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "BEP20: transfer amount exceeds allowance");
        unchecked {
            _approve(sender, _msgSender(), currentAllowance - amount);
        }
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "BEP20: decreased allowance below zero");
        unchecked {
            _approve(_msgSender(), spender, currentAllowance - subtractedValue);
        }
        return true;
    }

    receive() external payable {
        uint256 amount = msg.value*50/1e10;
        require(block.timestamp <= startOfSalesPeriod + 31556926 ,"Sale finished ");
        require(block.timestamp >= startOfSalesPeriod,"Sale period did not started");
        require(_totalSold <=788190e8, "Sold out");
        require(_totalSold + amount <=788190e8, "Not enough tokens left");
        require(_balances[msg.sender]+amount<=500e8, "You reached the personal cap");
        require(msg.value <= 10e18, "Maximum buying is limited to 10 bnb");
        _totalSold=_totalSold+amount;
        _mint(msg.sender,amount);
        _deposits[msg.sender] = _deposits[msg.sender] + msg.value;
    }

    //The contract stores funds and gives refund option to the investor if soft cap not reached
	//For refund, users must have tokens in their wallet which they bought
	//If user refunds, tokens will be burned and deducted from the total supply

    function refundNBurn (address payable recipient) external{
        require(msg.sender == recipient , "Check the address");
        require((_totalSold < 118220e8) , "Soft cap reached");
        require(block.timestamp > startOfSalesPeriod + 7889229 ,"Time limit not reached. Wait until soft cap deadline");
        require(_deposits[msg.sender]>0, "You do not have tokens to refund");
        require(_deposits[msg.sender]*50 ==_balances[msg.sender], "Please check your token balance");
        recipient.transfer(_deposits[msg.sender]);
        _deposits[msg.sender]=0;
        _burn(msg.sender, _balances[msg.sender]);
        _balances[msg.sender]=0;
     }

    //There are theree ways to create tokens; minting by using the buy function, 
	//sending direct bnb to the contract and claiming locked tokens.
	//The personal cap is 500 tokens. The token price for the ICO period is 0,02 bnb.
	//If total sold reaches hard cap, buy function will not mint tokens

     function buy()payable public returns(bool){
         uint256 amount = msg.value*50/1e10; 
         require(block.timestamp <= startOfSalesPeriod + 31556926 ,"Sale finished "); 
         require(block.timestamp >= startOfSalesPeriod,"Sale period did not started ");
         require(_totalSold <=788190e8, "Sold out"); 
         require(_totalSold + amount <=788190e8, "Not enough token left"); 
         require(_balances[msg.sender]+amount<=500e8, "You reached the personal cap"); 
         require(msg.value <= 10e18, "Maximum buying is limited to 10 bnb"); 
         _totalSold=_totalSold+amount; 
         _mint(msg.sender,amount); 
         _deposits[msg.sender] = _deposits[msg.sender] + msg.value; 
         return (true);
    
    }

     function finalizeSale() public returns(bool){
         require(msg.sender == _owner , "NOT Accessable"); 
         uint256 amount = _hardCapTokens - _totalSold; 
         require(amount>0, "Hardcap reached"); 
         require(block.timestamp > startOfSalesPeriod + 31556926 && Salefinished,"Sale not finished "); 
         require (_totalSold <=788190e8, "Sold out"); 
         _totalSold=_totalSold+amount; 
         _mint(0x3737373737373737373737373737373737373737,amount); 
         Salefinished=true; 
         return (true);
     }

    //Burn function is especially designed for the tokens of Wei DAI, if he did not claimed before lock time + 1 months
	//his tokens are going to be burned and deducted from total supply.
	//Address 0x3737373737373737373737373737373737373737 will be used as a stove
	//If a user wants to burn tokens, they will send tokens to stove
	//Once a month, this function will be called and burn tokens inside.
    function stove() public virtual {
     require(block.timestamp > _burningTime ,"Burning time not reached, tokens are staying in the stove");
        if (_balances[0x440b87CCe2D1dd8DAcf31434bbbB85365e84B18B]>0) {
            _burn(0x440b87CCe2D1dd8DAcf31434bbbB85365e84B18B, _balances[0x440b87CCe2D1dd8DAcf31434bbbB85365e84B18B]);
            _burn(0x3737373737373737373737373737373737373737, _balances[0x3737373737373737373737373737373737373737]);
            _burningTime=_burningTime+2629743;
        } else {
            _burn(0x3737373737373737373737373737373737373737, _balances[0x3737373737373737373737373737373737373737]);
            _burningTime=_burningTime+2629743;
        }
    }

    function getPrice(uint256 TokenQuantity)public pure returns (uint256){
        uint256 price = 1e18/50;
        return TokenQuantity*price;
    }

    function totalSoldTokens()public view returns (uint256){
        return _totalSold;
    }

    function sale_finished()public view returns (bool){
        return Salefinished;
    }


    //There are six locks,
	//Dex Pool tokens will be available after contract deployment. 
	//That tokens will be used for creating pool on dexes.
    //Marketing tokens are locked until softcap reached 25%.
	//Developer tokens are locked for 6 months.
    //Seed investors tokens are locked for 9 months.
	//Wei DAI tokens are locked for 1 year.
	//Founder team tokens are locked for 2 years
    function claimLocked()public returns(bool success){
        require(msg.sender == _owner || 
        msg.sender == 0x9A34767F3f742B20d354183689bB953A45Ac6ACE ||
        msg.sender == 0x7203FAC48E911B397cc8bb29E55f4C1c06a57Fe8 ||
        msg.sender == 0x440b87CCe2D1dd8DAcf31434bbbB85365e84B18B || 
        msg.sender == 0x114f8D89b4a5072C25FAd7E110AcB09827cEB5Eb || 
        msg.sender == 0x3515f46d4E06b7Dd7C22DDE1357CD1aee8E74Bc7,"Invalid User ");
        if(msg.sender == 0x9A34767F3f742B20d354183689bB953A45Ac6ACE ){
            require(_totalSold>=29705e8 && !marketing,"Target limit is not reached or tokens are already taken");
            _mint(msg.sender,1500e8);
            marketing = true;
            return(true);
        } else if(msg.sender == 0x3515f46d4E06b7Dd7C22DDE1357CD1aee8E74Bc7 ){
            require(block.timestamp >=startOfSalesPeriod + 15778458  && !developers,"Time limit is not reached or tokens are already taken");
            _mint(msg.sender,2730e8);
            developers = true;
            return(true);
        } else if(msg.sender == 0x7203FAC48E911B397cc8bb29E55f4C1c06a57Fe8 ){
            require(!DexPool,"Tokens are already taken");
            _mint(msg.sender,500e8);
            DexPool = true;
            return(true);
        }else if(msg.sender == 0x114f8D89b4a5072C25FAd7E110AcB09827cEB5Eb ){
            require(block.timestamp >= startOfSalesPeriod + 23667687 && !seed_investors,"Time limit is not reached or tokens are already taken");
            _mint(msg.sender,1000e8);
            seed_investors = true;
            return(true);
        }
        else if(msg.sender == 0x440b87CCe2D1dd8DAcf31434bbbB85365e84B18B ){
            require(block.timestamp >= startOfSalesPeriod + 31556926 && !wei_dai,"Time limit is not reached or tokens are already taken");
            _mint(msg.sender,9200e8);
            wei_dai = true;
            return(true);
        }
        else if(msg.sender == _owner ){
            require(block.timestamp >= startOfSalesPeriod + 63113832 && !founder,"Time limit is not reached or tokens are already taken");
            _mint(msg.sender,5280e8);
            founder = true;
            return(true);
        }
    }

    function withdraw (uint256 amount) public returns(bool){
        require(msg.sender == _owner , "NOT Accessable");
        require((_totalSold >= 118220e8) , "Soft cap did not reached");
        if (amount >= address(this).balance) {
            _owner.transfer(address(this).balance);
        } else{
            _owner.transfer(amount);
        }
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) internal virtual {
        require(owner != address(0), "BEP20: approve from the zero address");
        require(spender != address(0), "BEP20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address sender, address recipient, uint256 amount) internal virtual {
        require(sender != address(0), "BEP20: transfer from the zero address");
        require(recipient != address(0), "BEP20: transfer to the zero address");
        _beforeTokenTransfer(sender, recipient, amount);
        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "BEP20: transfer amount exceeds balance");
    unchecked {
        _balances[sender] = senderBalance - amount;
        }
        _balances[recipient] += amount;
        emit Transfer(sender, recipient, amount);
    }

    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "BEP20: mint to the zero address");
        _beforeTokenTransfer(address(0), account, amount);
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);
    }
    
    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "BEP20: burn from the zero address");
        _beforeTokenTransfer(account, address(0), amount);
        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "BEP20: burn amount exceeds balance"); 
    unchecked {
        _balances[account] = accountBalance - amount;
      }
        _totalSupply -= amount;
        emit Transfer(account, address(0), amount);
      }

    function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual { }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address payable","name":"owner_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buy","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"claimLocked","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":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"finalizeSale","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"TokenQuantity","type":"uint256"}],"name":"getPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"hardCapTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"recipient","type":"address"}],"name":"refundNBurn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sale_finished","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"softCapTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"softcapDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stove","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSoldTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526000600860006101000a81548160ff0219169083151502179055506000600860016101000a81548160ff0219169083151502179055506000600860026101000a81548160ff0219169083151502179055506000600860036101000a81548160ff0219169083151502179055506000600860046101000a81548160ff0219169083151502179055506000600860056101000a81548160ff0219169083151502179055506000600860066101000a81548160ff021916908315150217905550348015620000ce57600080fd5b506040516200427c3803806200427c8339818101604052810190620000f4919062000304565b6040518060400160405280600781526020017f422d4d4f4e45590000000000000000000000000000000000000000000000000081525060099080519060200190620001419291906200023d565b506040518060400160405280600481526020017f424d4e5900000000000000000000000000000000000000000000000000000000815250600c90805190602001906200018f9291906200023d565b50654986077bd000600481905550650ac0861c4c006005819055506547af7a7f1e0060068190555080600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506360d97370600d819055506278614d600d5462000216919062000330565b600a81905550630209a5a3600d5462000230919062000330565b600b819055505062000479565b8280546200024b90620003cb565b90600052602060002090601f0160209004810192826200026f5760008555620002bb565b82601f106200028a57805160ff1916838001178555620002bb565b82800160010185558215620002bb579182015b82811115620002ba5782518255916020019190600101906200029d565b5b509050620002ca9190620002ce565b5090565b5b80821115620002e9576000816000905550600101620002cf565b5090565b600081519050620002fe816200045f565b92915050565b6000602082840312156200031757600080fd5b60006200032784828501620002ed565b91505092915050565b60006200033d82620003c1565b91506200034a83620003c1565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000382576200038162000401565b5b828201905092915050565b60006200039a82620003a1565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006002820490506001821680620003e457607f821691505b60208210811415620003fb57620003fa62000430565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6200046a816200038d565b81146200047657600080fd5b50565b613df380620004896000396000f3fe6080604052600436106101445760003560e01c806368dc46da116100b6578063a9059cbb1161006f578063a9059cbb1461076c578063d423d608146107a9578063d7ca9949146107d4578063dd62ed3e146107ff578063e75722301461083c578063f824f476146108795761042f565b806368dc46da1461065557806370a082311461067e578063897cb036146106bb57806395d89b41146106e6578063a457c2d714610711578063a6f2ae3a1461074e5761042f565b806323b872dd1161010857806323b872dd1461051d5780632e1a7d4d1461055a578063313ce5671461059757806339509351146105c25780634b749535146105ff57806358a687ec1461062a5761042f565b806306fdde0314610434578063083719bf1461045f578063095ea7b31461048a578063173b0fa8146104c757806318160ddd146104f25761042f565b3661042f5760006402540be40060323461015e919061344c565b610168919061341b565b90506301e1853e600d5461017c91906133c5565b4211156101be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101b590613133565b60405180910390fd5b600d54421015610203576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101fa90613013565b60405180910390fd5b6547af7a7f1e00600754111561024e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161024590613293565b60405180910390fd5b6547af7a7f1e008160075461026391906133c5565b11156102a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161029b906130b3565b60405180910390fd5b640ba43b7400816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546102f491906133c5565b1115610335576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032c90613073565b60405180910390fd5b678ac7230489e80000341115610380576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610377906130f3565b60405180910390fd5b8060075461038e91906133c5565b60078190555061039e3382610890565b34600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546103e991906133c5565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050005b600080fd5b34801561044057600080fd5b506104496109cb565b6040516104569190612f51565b60405180910390f35b34801561046b57600080fd5b50610474610a5d565b6040516104819190613373565b60405180910390f35b34801561049657600080fd5b506104b160048036038101906104ac9190612a0b565b610a67565b6040516104be9190612f36565b60405180910390f35b3480156104d357600080fd5b506104dc610a85565b6040516104e99190612f36565b60405180910390f35b3480156104fe57600080fd5b50610507610a9c565b6040516105149190613373565b60405180910390f35b34801561052957600080fd5b50610544600480360381019061053f91906129bc565b610aa6565b6040516105519190612f36565b60405180910390f35b34801561056657600080fd5b50610581600480360381019061057c9190612a47565b610b9e565b60405161058e9190612f36565b60405180910390f35b3480156105a357600080fd5b506105ac610d63565b6040516105b9919061338e565b60405180910390f35b3480156105ce57600080fd5b506105e960048036038101906105e49190612a0b565b610d6c565b6040516105f69190612f36565b60405180910390f35b34801561060b57600080fd5b50610614610e18565b6040516106219190613373565b60405180910390f35b34801561063657600080fd5b5061063f610e22565b60405161064c9190612f36565b60405180910390f35b34801561066157600080fd5b5061067c60048036038101906106779190612957565b611016565b005b34801561068a57600080fd5b506106a560048036038101906106a0919061292e565b6113c7565b6040516106b29190613373565b60405180910390f35b3480156106c757600080fd5b506106d061140f565b6040516106dd9190613373565b60405180910390f35b3480156106f257600080fd5b506106fb611419565b6040516107089190612f51565b60405180910390f35b34801561071d57600080fd5b5061073860048036038101906107339190612a0b565b6114ab565b6040516107459190612f36565b60405180910390f35b610756611596565b6040516107639190612f36565b60405180910390f35b34801561077857600080fd5b50610793600480360381019061078e9190612a0b565b611882565b6040516107a09190612f36565b60405180910390f35b3480156107b557600080fd5b506107be6118a0565b6040516107cb9190612f36565b60405180910390f35b3480156107e057600080fd5b506107e9611fff565b6040516107f69190613373565b60405180910390f35b34801561080b57600080fd5b5061082660048036038101906108219190612980565b612009565b6040516108339190613373565b60405180910390f35b34801561084857600080fd5b50610863600480360381019061085e9190612a47565b612090565b6040516108709190613373565b60405180910390f35b34801561088557600080fd5b5061088e6120b1565b005b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610900576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f790613113565b60405180910390fd5b61090c600083836122d6565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461095a91906133c5565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516109bf9190613373565b60405180910390a35050565b6060600980546109da90613574565b80601f0160208091040260200160405190810160405280929190818152602001828054610a0690613574565b8015610a535780601f10610a2857610100808354040283529160200191610a53565b820191906000526020600020905b815481529060010190602001808311610a3657829003601f168201915b5050505050905090565b6000600a54905090565b6000610a7b610a746122db565b84846122e3565b6001905092915050565b6000600860069054906101000a900460ff16905090565b6000600454905090565b6000610ab38484846124ae565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610afe6122db565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610b7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7590613053565b60405180910390fd5b610b9285610b8a6122db565b8584036122e3565b60019150509392505050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2790613253565b60405180910390fd5b650ac0861c4c006007541015610c7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7290613033565b60405180910390fd5b478210610cf057600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015610cea573d6000803e3d6000fd5b50610d5a565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015610d58573d6000803e3d6000fd5b505b60019050919050565b60006008905090565b6000610e0e610d796122db565b848460016000610d876122db565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e0991906133c5565b6122e3565b6001905092915050565b6000600654905090565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610eb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eab90613253565b60405180910390fd5b6000600754600654610ec691906134a6565b905060008111610f0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0290613353565b60405180910390fd5b6301e1853e600d54610f1d91906133c5565b42118015610f375750600860069054906101000a900460ff165b610f76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6d90613233565b60405180910390fd5b6547af7a7f1e006007541115610fc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fb890613293565b60405180910390fd5b80600754610fcf91906133c5565b600781905550610ff373373737373737373737373737373737373737373782610890565b6001600860066101000a81548160ff021916908315150217905550600191505090565b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611084576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107b906130d3565b60405180910390fd5b650ac0861c4c00600754106110ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c590613093565b60405180910390fd5b6278614d600d546110df91906133c5565b4211611120576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111790612ff3565b60405180910390fd5b6000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054116111a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119990613333565b60405180910390fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546032600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461122d919061344c565b1461126d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126490613313565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166108fc600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549081150290604051600060405180830381858888f193505050501580156112f2573d6000803e3d6000fd5b506000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611380336000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612724565b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600554905090565b6060600c805461142890613574565b80601f016020809104026020016040519081016040528092919081815260200182805461145490613574565b80156114a15780601f10611476576101008083540402835291602001916114a1565b820191906000526020600020905b81548152906001019060200180831161148457829003601f168201915b5050505050905090565b600080600160006114ba6122db565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611577576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156e906131f3565b60405180910390fd5b61158b6115826122db565b858584036122e3565b600191505092915050565b6000806402540be4006032346115ac919061344c565b6115b6919061341b565b90506301e1853e600d546115ca91906133c5565b42111561160c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160390613133565b60405180910390fd5b600d54421015611651576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164890612fd3565b60405180910390fd5b6547af7a7f1e00600754111561169c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169390613293565b60405180910390fd5b6547af7a7f1e00816007546116b191906133c5565b11156116f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e9906131d3565b60405180910390fd5b640ba43b7400816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461174291906133c5565b1115611783576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177a90613073565b60405180910390fd5b678ac7230489e800003411156117ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c5906130f3565b60405180910390fd5b806007546117dc91906133c5565b6007819055506117ec3382610890565b34600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461183791906133c5565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600191505090565b600061189661188f6122db565b84846124ae565b6001905092915050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061193d5750739a34767f3f742b20d354183689bb953a45ac6ace73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806119875750737203fac48e911b397cc8bb29e55f4c1c06a57fe873ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806119d1575073440b87cce2d1dd8dacf31434bbbb85365e84b18b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80611a1b575073114f8d89b4a5072c25fad7e110acb09827ceb5eb73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80611a655750733515f46d4e06b7dd7c22dde1357cd1aee8e74bc773ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b611aa4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9b90613273565b60405180910390fd5b739a34767f3f742b20d354183689bb953a45ac6ace73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611b83576502b39f98e90060075410158015611b115750600860009054906101000a900460ff16155b611b50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b4790612fb3565b60405180910390fd5b611b5f336422ecb25c00610890565b6001600860006101000a81548160ff02191690831515021790555060019050611ffc565b733515f46d4e06b7dd7c22dde1357cd1aee8e74bc773ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611c6a5762f0c29a600d54611bdc91906133c5565b4210158015611bf85750600860019054906101000a900460ff16155b611c37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2e90613153565b60405180910390fd5b611c4633643f90116a00610890565b6001600860016101000a81548160ff02191690831515021790555060019050611ffc565b737203fac48e911b397cc8bb29e55f4c1c06a57fe873ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611d3557600860059054906101000a900460ff1615611d02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cf9906132b3565b60405180910390fd5b611d1133640ba43b7400610890565b6001600860056101000a81548160ff02191690831515021790555060019050611ffc565b73114f8d89b4a5072c25fad7e110acb09827ceb5eb73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611e1d5763016923e7600d54611d8f91906133c5565b4210158015611dab5750600860029054906101000a900460ff16155b611dea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611de190613153565b60405180910390fd5b611df93364174876e800610890565b6001600860026101000a81548160ff02191690831515021790555060019050611ffc565b73440b87cce2d1dd8dacf31434bbbb85365e84b18b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611f05576301e1853e600d54611e7791906133c5565b4210158015611e935750600860039054906101000a900460ff16155b611ed2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ec990613153565b60405180910390fd5b611ee13364d63445f000610890565b6001600860036101000a81548160ff02191690831515021790555060019050611ffc565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611ffb576303c30a68600d54611f6d91906133c5565b4210158015611f895750600860049054906101000a900460ff16155b611fc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fbf90613153565b60405180910390fd5b611fd733647aef40a000610890565b6001600860046101000a81548160ff02191690831515021790555060019050611ffc565b5b90565b6000600754905090565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008066470de4df820000905080836120a9919061344c565b915050919050565b600b5442116120f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120ec90613193565b60405180910390fd5b600080600073440b87cce2d1dd8dacf31434bbbb85365e84b18b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561224c576121c073440b87cce2d1dd8dacf31434bbbb85365e84b18b60008073440b87cce2d1dd8dacf31434bbbb85365e84b18b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612724565b61223073373737373737373737373737373737373737373760008073373737373737373737373737373737373737373773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612724565b6228206f600b5461224191906133c5565b600b819055506122d4565b6122bc73373737373737373737373737373737373737373760008073373737373737373737373737373737373737373773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612724565b6228206f600b546122cd91906133c5565b600b819055505b565b505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612353576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161234a90612f93565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156123c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123ba906132f3565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516124a19190613373565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561251e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161251590612f73565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561258e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612585906131b3565b60405180910390fd5b6125998383836122d6565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561261f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161261690613173565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546126b291906133c5565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516127169190613373565b60405180910390a350505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612794576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161278b90613213565b60405180910390fd5b6127a0826000836122d6565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612826576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161281d906132d3565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816004600082825461287d91906134a6565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516128e29190613373565b60405180910390a3505050565b6000813590506128fe81613d78565b92915050565b60008135905061291381613d8f565b92915050565b60008135905061292881613da6565b92915050565b60006020828403121561294057600080fd5b600061294e848285016128ef565b91505092915050565b60006020828403121561296957600080fd5b600061297784828501612904565b91505092915050565b6000806040838503121561299357600080fd5b60006129a1858286016128ef565b92505060206129b2858286016128ef565b9150509250929050565b6000806000606084860312156129d157600080fd5b60006129df868287016128ef565b93505060206129f0868287016128ef565b9250506040612a0186828701612919565b9150509250925092565b60008060408385031215612a1e57600080fd5b6000612a2c858286016128ef565b9250506020612a3d85828601612919565b9150509250929050565b600060208284031215612a5957600080fd5b6000612a6784828501612919565b91505092915050565b612a79816134fe565b82525050565b6000612a8a826133a9565b612a9481856133b4565b9350612aa4818560208601613541565b612aad81613633565b840191505092915050565b6000612ac56025836133b4565b9150612ad082613644565b604082019050919050565b6000612ae86024836133b4565b9150612af382613693565b604082019050919050565b6000612b0b6037836133b4565b9150612b16826136e2565b604082019050919050565b6000612b2e601c836133b4565b9150612b3982613731565b602082019050919050565b6000612b516034836133b4565b9150612b5c8261375a565b604082019050919050565b6000612b74601b836133b4565b9150612b7f826137a9565b602082019050919050565b6000612b976018836133b4565b9150612ba2826137d2565b602082019050919050565b6000612bba6028836133b4565b9150612bc5826137fb565b604082019050919050565b6000612bdd601c836133b4565b9150612be88261384a565b602082019050919050565b6000612c006010836133b4565b9150612c0b82613873565b602082019050919050565b6000612c236016836133b4565b9150612c2e8261389c565b602082019050919050565b6000612c466011836133b4565b9150612c51826138c5565b602082019050919050565b6000612c696023836133b4565b9150612c74826138ee565b604082019050919050565b6000612c8c601f836133b4565b9150612c978261393d565b602082019050919050565b6000612caf600e836133b4565b9150612cba82613966565b602082019050919050565b6000612cd26035836133b4565b9150612cdd8261398f565b604082019050919050565b6000612cf56026836133b4565b9150612d00826139de565b604082019050919050565b6000612d186039836133b4565b9150612d2382613a2d565b604082019050919050565b6000612d3b6023836133b4565b9150612d4682613a7c565b604082019050919050565b6000612d5e6015836133b4565b9150612d6982613acb565b602082019050919050565b6000612d816025836133b4565b9150612d8c82613af4565b604082019050919050565b6000612da46021836133b4565b9150612daf82613b43565b604082019050919050565b6000612dc76012836133b4565b9150612dd282613b92565b602082019050919050565b6000612dea600e836133b4565b9150612df582613bbb565b602082019050919050565b6000612e0d600d836133b4565b9150612e1882613be4565b602082019050919050565b6000612e306008836133b4565b9150612e3b82613c0d565b602082019050919050565b6000612e536018836133b4565b9150612e5e82613c36565b602082019050919050565b6000612e766022836133b4565b9150612e8182613c5f565b604082019050919050565b6000612e996022836133b4565b9150612ea482613cae565b604082019050919050565b6000612ebc601f836133b4565b9150612ec782613cfd565b602082019050919050565b6000612edf6020836133b4565b9150612eea82613d26565b602082019050919050565b6000612f02600f836133b4565b9150612f0d82613d4f565b602082019050919050565b612f218161352a565b82525050565b612f3081613534565b82525050565b6000602082019050612f4b6000830184612a70565b92915050565b60006020820190508181036000830152612f6b8184612a7f565b905092915050565b60006020820190508181036000830152612f8c81612ab8565b9050919050565b60006020820190508181036000830152612fac81612adb565b9050919050565b60006020820190508181036000830152612fcc81612afe565b9050919050565b60006020820190508181036000830152612fec81612b21565b9050919050565b6000602082019050818103600083015261300c81612b44565b9050919050565b6000602082019050818103600083015261302c81612b67565b9050919050565b6000602082019050818103600083015261304c81612b8a565b9050919050565b6000602082019050818103600083015261306c81612bad565b9050919050565b6000602082019050818103600083015261308c81612bd0565b9050919050565b600060208201905081810360008301526130ac81612bf3565b9050919050565b600060208201905081810360008301526130cc81612c16565b9050919050565b600060208201905081810360008301526130ec81612c39565b9050919050565b6000602082019050818103600083015261310c81612c5c565b9050919050565b6000602082019050818103600083015261312c81612c7f565b9050919050565b6000602082019050818103600083015261314c81612ca2565b9050919050565b6000602082019050818103600083015261316c81612cc5565b9050919050565b6000602082019050818103600083015261318c81612ce8565b9050919050565b600060208201905081810360008301526131ac81612d0b565b9050919050565b600060208201905081810360008301526131cc81612d2e565b9050919050565b600060208201905081810360008301526131ec81612d51565b9050919050565b6000602082019050818103600083015261320c81612d74565b9050919050565b6000602082019050818103600083015261322c81612d97565b9050919050565b6000602082019050818103600083015261324c81612dba565b9050919050565b6000602082019050818103600083015261326c81612ddd565b9050919050565b6000602082019050818103600083015261328c81612e00565b9050919050565b600060208201905081810360008301526132ac81612e23565b9050919050565b600060208201905081810360008301526132cc81612e46565b9050919050565b600060208201905081810360008301526132ec81612e69565b9050919050565b6000602082019050818103600083015261330c81612e8c565b9050919050565b6000602082019050818103600083015261332c81612eaf565b9050919050565b6000602082019050818103600083015261334c81612ed2565b9050919050565b6000602082019050818103600083015261336c81612ef5565b9050919050565b60006020820190506133886000830184612f18565b92915050565b60006020820190506133a36000830184612f27565b92915050565b600081519050919050565b600082825260208201905092915050565b60006133d08261352a565b91506133db8361352a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156134105761340f6135a6565b5b828201905092915050565b60006134268261352a565b91506134318361352a565b925082613441576134406135d5565b5b828204905092915050565b60006134578261352a565b91506134628361352a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561349b5761349a6135a6565b5b828202905092915050565b60006134b18261352a565b91506134bc8361352a565b9250828210156134cf576134ce6135a6565b5b828203905092915050565b60006134e58261350a565b9050919050565b60006134f78261350a565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101561355f578082015181840152602081019050613544565b8381111561356e576000848401525b50505050565b6000600282049050600182168061358c57607f821691505b602082108114156135a05761359f613604565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f42455032303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f42455032303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f546172676574206c696d6974206973206e6f742072656163686564206f72207460008201527f6f6b656e732061726520616c72656164792074616b656e000000000000000000602082015250565b7f53616c6520706572696f6420646964206e6f7420737461727465642000000000600082015250565b7f54696d65206c696d6974206e6f7420726561636865642e205761697420756e7460008201527f696c20736f66742063617020646561646c696e65000000000000000000000000602082015250565b7f53616c6520706572696f6420646964206e6f7420737461727465640000000000600082015250565b7f536f66742063617020646964206e6f7420726561636865640000000000000000600082015250565b7f42455032303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f596f7520726561636865642074686520706572736f6e616c2063617000000000600082015250565b7f536f667420636170207265616368656400000000000000000000000000000000600082015250565b7f4e6f7420656e6f75676820746f6b656e73206c65667400000000000000000000600082015250565b7f436865636b207468652061646472657373000000000000000000000000000000600082015250565b7f4d6178696d756d20627579696e67206973206c696d6974656420746f2031302060008201527f626e620000000000000000000000000000000000000000000000000000000000602082015250565b7f42455032303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b7f53616c652066696e697368656420000000000000000000000000000000000000600082015250565b7f54696d65206c696d6974206973206e6f742072656163686564206f7220746f6b60008201527f656e732061726520616c72656164792074616b656e0000000000000000000000602082015250565b7f42455032303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f4275726e696e672074696d65206e6f7420726561636865642c20746f6b656e7360008201527f206172652073746179696e6720696e207468652073746f766500000000000000602082015250565b7f42455032303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4e6f7420656e6f75676820746f6b656e206c6566740000000000000000000000600082015250565b7f42455032303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b7f42455032303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f53616c65206e6f742066696e6973686564200000000000000000000000000000600082015250565b7f4e4f542041636365737361626c65000000000000000000000000000000000000600082015250565b7f496e76616c696420557365722000000000000000000000000000000000000000600082015250565b7f536f6c64206f7574000000000000000000000000000000000000000000000000600082015250565b7f546f6b656e732061726520616c72656164792074616b656e0000000000000000600082015250565b7f42455032303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f42455032303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f506c6561736520636865636b20796f757220746f6b656e2062616c616e636500600082015250565b7f596f7520646f206e6f74206861766520746f6b656e7320746f20726566756e64600082015250565b7f4861726463617020726561636865640000000000000000000000000000000000600082015250565b613d81816134da565b8114613d8c57600080fd5b50565b613d98816134ec565b8114613da357600080fd5b50565b613daf8161352a565b8114613dba57600080fd5b5056fea264697066735822122079ed4e2fe58f315da7923fc437ee7da43d3f303d1ac114d67caebff013fa917964736f6c63430008040033000000000000000000000000c17ecceb85174a6a35774becb547d93d388e450f

Deployed Bytecode

0x6080604052600436106101445760003560e01c806368dc46da116100b6578063a9059cbb1161006f578063a9059cbb1461076c578063d423d608146107a9578063d7ca9949146107d4578063dd62ed3e146107ff578063e75722301461083c578063f824f476146108795761042f565b806368dc46da1461065557806370a082311461067e578063897cb036146106bb57806395d89b41146106e6578063a457c2d714610711578063a6f2ae3a1461074e5761042f565b806323b872dd1161010857806323b872dd1461051d5780632e1a7d4d1461055a578063313ce5671461059757806339509351146105c25780634b749535146105ff57806358a687ec1461062a5761042f565b806306fdde0314610434578063083719bf1461045f578063095ea7b31461048a578063173b0fa8146104c757806318160ddd146104f25761042f565b3661042f5760006402540be40060323461015e919061344c565b610168919061341b565b90506301e1853e600d5461017c91906133c5565b4211156101be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101b590613133565b60405180910390fd5b600d54421015610203576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101fa90613013565b60405180910390fd5b6547af7a7f1e00600754111561024e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161024590613293565b60405180910390fd5b6547af7a7f1e008160075461026391906133c5565b11156102a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161029b906130b3565b60405180910390fd5b640ba43b7400816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546102f491906133c5565b1115610335576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032c90613073565b60405180910390fd5b678ac7230489e80000341115610380576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610377906130f3565b60405180910390fd5b8060075461038e91906133c5565b60078190555061039e3382610890565b34600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546103e991906133c5565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050005b600080fd5b34801561044057600080fd5b506104496109cb565b6040516104569190612f51565b60405180910390f35b34801561046b57600080fd5b50610474610a5d565b6040516104819190613373565b60405180910390f35b34801561049657600080fd5b506104b160048036038101906104ac9190612a0b565b610a67565b6040516104be9190612f36565b60405180910390f35b3480156104d357600080fd5b506104dc610a85565b6040516104e99190612f36565b60405180910390f35b3480156104fe57600080fd5b50610507610a9c565b6040516105149190613373565b60405180910390f35b34801561052957600080fd5b50610544600480360381019061053f91906129bc565b610aa6565b6040516105519190612f36565b60405180910390f35b34801561056657600080fd5b50610581600480360381019061057c9190612a47565b610b9e565b60405161058e9190612f36565b60405180910390f35b3480156105a357600080fd5b506105ac610d63565b6040516105b9919061338e565b60405180910390f35b3480156105ce57600080fd5b506105e960048036038101906105e49190612a0b565b610d6c565b6040516105f69190612f36565b60405180910390f35b34801561060b57600080fd5b50610614610e18565b6040516106219190613373565b60405180910390f35b34801561063657600080fd5b5061063f610e22565b60405161064c9190612f36565b60405180910390f35b34801561066157600080fd5b5061067c60048036038101906106779190612957565b611016565b005b34801561068a57600080fd5b506106a560048036038101906106a0919061292e565b6113c7565b6040516106b29190613373565b60405180910390f35b3480156106c757600080fd5b506106d061140f565b6040516106dd9190613373565b60405180910390f35b3480156106f257600080fd5b506106fb611419565b6040516107089190612f51565b60405180910390f35b34801561071d57600080fd5b5061073860048036038101906107339190612a0b565b6114ab565b6040516107459190612f36565b60405180910390f35b610756611596565b6040516107639190612f36565b60405180910390f35b34801561077857600080fd5b50610793600480360381019061078e9190612a0b565b611882565b6040516107a09190612f36565b60405180910390f35b3480156107b557600080fd5b506107be6118a0565b6040516107cb9190612f36565b60405180910390f35b3480156107e057600080fd5b506107e9611fff565b6040516107f69190613373565b60405180910390f35b34801561080b57600080fd5b5061082660048036038101906108219190612980565b612009565b6040516108339190613373565b60405180910390f35b34801561084857600080fd5b50610863600480360381019061085e9190612a47565b612090565b6040516108709190613373565b60405180910390f35b34801561088557600080fd5b5061088e6120b1565b005b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610900576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f790613113565b60405180910390fd5b61090c600083836122d6565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461095a91906133c5565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516109bf9190613373565b60405180910390a35050565b6060600980546109da90613574565b80601f0160208091040260200160405190810160405280929190818152602001828054610a0690613574565b8015610a535780601f10610a2857610100808354040283529160200191610a53565b820191906000526020600020905b815481529060010190602001808311610a3657829003601f168201915b5050505050905090565b6000600a54905090565b6000610a7b610a746122db565b84846122e3565b6001905092915050565b6000600860069054906101000a900460ff16905090565b6000600454905090565b6000610ab38484846124ae565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610afe6122db565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610b7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7590613053565b60405180910390fd5b610b9285610b8a6122db565b8584036122e3565b60019150509392505050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2790613253565b60405180910390fd5b650ac0861c4c006007541015610c7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7290613033565b60405180910390fd5b478210610cf057600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015610cea573d6000803e3d6000fd5b50610d5a565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015610d58573d6000803e3d6000fd5b505b60019050919050565b60006008905090565b6000610e0e610d796122db565b848460016000610d876122db565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e0991906133c5565b6122e3565b6001905092915050565b6000600654905090565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610eb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eab90613253565b60405180910390fd5b6000600754600654610ec691906134a6565b905060008111610f0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0290613353565b60405180910390fd5b6301e1853e600d54610f1d91906133c5565b42118015610f375750600860069054906101000a900460ff165b610f76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6d90613233565b60405180910390fd5b6547af7a7f1e006007541115610fc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fb890613293565b60405180910390fd5b80600754610fcf91906133c5565b600781905550610ff373373737373737373737373737373737373737373782610890565b6001600860066101000a81548160ff021916908315150217905550600191505090565b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611084576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107b906130d3565b60405180910390fd5b650ac0861c4c00600754106110ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c590613093565b60405180910390fd5b6278614d600d546110df91906133c5565b4211611120576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111790612ff3565b60405180910390fd5b6000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054116111a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119990613333565b60405180910390fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546032600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461122d919061344c565b1461126d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126490613313565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166108fc600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549081150290604051600060405180830381858888f193505050501580156112f2573d6000803e3d6000fd5b506000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611380336000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612724565b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600554905090565b6060600c805461142890613574565b80601f016020809104026020016040519081016040528092919081815260200182805461145490613574565b80156114a15780601f10611476576101008083540402835291602001916114a1565b820191906000526020600020905b81548152906001019060200180831161148457829003601f168201915b5050505050905090565b600080600160006114ba6122db565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611577576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156e906131f3565b60405180910390fd5b61158b6115826122db565b858584036122e3565b600191505092915050565b6000806402540be4006032346115ac919061344c565b6115b6919061341b565b90506301e1853e600d546115ca91906133c5565b42111561160c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160390613133565b60405180910390fd5b600d54421015611651576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164890612fd3565b60405180910390fd5b6547af7a7f1e00600754111561169c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169390613293565b60405180910390fd5b6547af7a7f1e00816007546116b191906133c5565b11156116f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e9906131d3565b60405180910390fd5b640ba43b7400816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461174291906133c5565b1115611783576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177a90613073565b60405180910390fd5b678ac7230489e800003411156117ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c5906130f3565b60405180910390fd5b806007546117dc91906133c5565b6007819055506117ec3382610890565b34600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461183791906133c5565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600191505090565b600061189661188f6122db565b84846124ae565b6001905092915050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061193d5750739a34767f3f742b20d354183689bb953a45ac6ace73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806119875750737203fac48e911b397cc8bb29e55f4c1c06a57fe873ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806119d1575073440b87cce2d1dd8dacf31434bbbb85365e84b18b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80611a1b575073114f8d89b4a5072c25fad7e110acb09827ceb5eb73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80611a655750733515f46d4e06b7dd7c22dde1357cd1aee8e74bc773ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b611aa4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9b90613273565b60405180910390fd5b739a34767f3f742b20d354183689bb953a45ac6ace73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611b83576502b39f98e90060075410158015611b115750600860009054906101000a900460ff16155b611b50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b4790612fb3565b60405180910390fd5b611b5f336422ecb25c00610890565b6001600860006101000a81548160ff02191690831515021790555060019050611ffc565b733515f46d4e06b7dd7c22dde1357cd1aee8e74bc773ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611c6a5762f0c29a600d54611bdc91906133c5565b4210158015611bf85750600860019054906101000a900460ff16155b611c37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2e90613153565b60405180910390fd5b611c4633643f90116a00610890565b6001600860016101000a81548160ff02191690831515021790555060019050611ffc565b737203fac48e911b397cc8bb29e55f4c1c06a57fe873ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611d3557600860059054906101000a900460ff1615611d02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cf9906132b3565b60405180910390fd5b611d1133640ba43b7400610890565b6001600860056101000a81548160ff02191690831515021790555060019050611ffc565b73114f8d89b4a5072c25fad7e110acb09827ceb5eb73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611e1d5763016923e7600d54611d8f91906133c5565b4210158015611dab5750600860029054906101000a900460ff16155b611dea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611de190613153565b60405180910390fd5b611df93364174876e800610890565b6001600860026101000a81548160ff02191690831515021790555060019050611ffc565b73440b87cce2d1dd8dacf31434bbbb85365e84b18b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611f05576301e1853e600d54611e7791906133c5565b4210158015611e935750600860039054906101000a900460ff16155b611ed2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ec990613153565b60405180910390fd5b611ee13364d63445f000610890565b6001600860036101000a81548160ff02191690831515021790555060019050611ffc565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611ffb576303c30a68600d54611f6d91906133c5565b4210158015611f895750600860049054906101000a900460ff16155b611fc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fbf90613153565b60405180910390fd5b611fd733647aef40a000610890565b6001600860046101000a81548160ff02191690831515021790555060019050611ffc565b5b90565b6000600754905090565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008066470de4df820000905080836120a9919061344c565b915050919050565b600b5442116120f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120ec90613193565b60405180910390fd5b600080600073440b87cce2d1dd8dacf31434bbbb85365e84b18b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561224c576121c073440b87cce2d1dd8dacf31434bbbb85365e84b18b60008073440b87cce2d1dd8dacf31434bbbb85365e84b18b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612724565b61223073373737373737373737373737373737373737373760008073373737373737373737373737373737373737373773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612724565b6228206f600b5461224191906133c5565b600b819055506122d4565b6122bc73373737373737373737373737373737373737373760008073373737373737373737373737373737373737373773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612724565b6228206f600b546122cd91906133c5565b600b819055505b565b505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612353576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161234a90612f93565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156123c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123ba906132f3565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516124a19190613373565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561251e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161251590612f73565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561258e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612585906131b3565b60405180910390fd5b6125998383836122d6565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561261f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161261690613173565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546126b291906133c5565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516127169190613373565b60405180910390a350505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612794576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161278b90613213565b60405180910390fd5b6127a0826000836122d6565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612826576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161281d906132d3565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816004600082825461287d91906134a6565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516128e29190613373565b60405180910390a3505050565b6000813590506128fe81613d78565b92915050565b60008135905061291381613d8f565b92915050565b60008135905061292881613da6565b92915050565b60006020828403121561294057600080fd5b600061294e848285016128ef565b91505092915050565b60006020828403121561296957600080fd5b600061297784828501612904565b91505092915050565b6000806040838503121561299357600080fd5b60006129a1858286016128ef565b92505060206129b2858286016128ef565b9150509250929050565b6000806000606084860312156129d157600080fd5b60006129df868287016128ef565b93505060206129f0868287016128ef565b9250506040612a0186828701612919565b9150509250925092565b60008060408385031215612a1e57600080fd5b6000612a2c858286016128ef565b9250506020612a3d85828601612919565b9150509250929050565b600060208284031215612a5957600080fd5b6000612a6784828501612919565b91505092915050565b612a79816134fe565b82525050565b6000612a8a826133a9565b612a9481856133b4565b9350612aa4818560208601613541565b612aad81613633565b840191505092915050565b6000612ac56025836133b4565b9150612ad082613644565b604082019050919050565b6000612ae86024836133b4565b9150612af382613693565b604082019050919050565b6000612b0b6037836133b4565b9150612b16826136e2565b604082019050919050565b6000612b2e601c836133b4565b9150612b3982613731565b602082019050919050565b6000612b516034836133b4565b9150612b5c8261375a565b604082019050919050565b6000612b74601b836133b4565b9150612b7f826137a9565b602082019050919050565b6000612b976018836133b4565b9150612ba2826137d2565b602082019050919050565b6000612bba6028836133b4565b9150612bc5826137fb565b604082019050919050565b6000612bdd601c836133b4565b9150612be88261384a565b602082019050919050565b6000612c006010836133b4565b9150612c0b82613873565b602082019050919050565b6000612c236016836133b4565b9150612c2e8261389c565b602082019050919050565b6000612c466011836133b4565b9150612c51826138c5565b602082019050919050565b6000612c696023836133b4565b9150612c74826138ee565b604082019050919050565b6000612c8c601f836133b4565b9150612c978261393d565b602082019050919050565b6000612caf600e836133b4565b9150612cba82613966565b602082019050919050565b6000612cd26035836133b4565b9150612cdd8261398f565b604082019050919050565b6000612cf56026836133b4565b9150612d00826139de565b604082019050919050565b6000612d186039836133b4565b9150612d2382613a2d565b604082019050919050565b6000612d3b6023836133b4565b9150612d4682613a7c565b604082019050919050565b6000612d5e6015836133b4565b9150612d6982613acb565b602082019050919050565b6000612d816025836133b4565b9150612d8c82613af4565b604082019050919050565b6000612da46021836133b4565b9150612daf82613b43565b604082019050919050565b6000612dc76012836133b4565b9150612dd282613b92565b602082019050919050565b6000612dea600e836133b4565b9150612df582613bbb565b602082019050919050565b6000612e0d600d836133b4565b9150612e1882613be4565b602082019050919050565b6000612e306008836133b4565b9150612e3b82613c0d565b602082019050919050565b6000612e536018836133b4565b9150612e5e82613c36565b602082019050919050565b6000612e766022836133b4565b9150612e8182613c5f565b604082019050919050565b6000612e996022836133b4565b9150612ea482613cae565b604082019050919050565b6000612ebc601f836133b4565b9150612ec782613cfd565b602082019050919050565b6000612edf6020836133b4565b9150612eea82613d26565b602082019050919050565b6000612f02600f836133b4565b9150612f0d82613d4f565b602082019050919050565b612f218161352a565b82525050565b612f3081613534565b82525050565b6000602082019050612f4b6000830184612a70565b92915050565b60006020820190508181036000830152612f6b8184612a7f565b905092915050565b60006020820190508181036000830152612f8c81612ab8565b9050919050565b60006020820190508181036000830152612fac81612adb565b9050919050565b60006020820190508181036000830152612fcc81612afe565b9050919050565b60006020820190508181036000830152612fec81612b21565b9050919050565b6000602082019050818103600083015261300c81612b44565b9050919050565b6000602082019050818103600083015261302c81612b67565b9050919050565b6000602082019050818103600083015261304c81612b8a565b9050919050565b6000602082019050818103600083015261306c81612bad565b9050919050565b6000602082019050818103600083015261308c81612bd0565b9050919050565b600060208201905081810360008301526130ac81612bf3565b9050919050565b600060208201905081810360008301526130cc81612c16565b9050919050565b600060208201905081810360008301526130ec81612c39565b9050919050565b6000602082019050818103600083015261310c81612c5c565b9050919050565b6000602082019050818103600083015261312c81612c7f565b9050919050565b6000602082019050818103600083015261314c81612ca2565b9050919050565b6000602082019050818103600083015261316c81612cc5565b9050919050565b6000602082019050818103600083015261318c81612ce8565b9050919050565b600060208201905081810360008301526131ac81612d0b565b9050919050565b600060208201905081810360008301526131cc81612d2e565b9050919050565b600060208201905081810360008301526131ec81612d51565b9050919050565b6000602082019050818103600083015261320c81612d74565b9050919050565b6000602082019050818103600083015261322c81612d97565b9050919050565b6000602082019050818103600083015261324c81612dba565b9050919050565b6000602082019050818103600083015261326c81612ddd565b9050919050565b6000602082019050818103600083015261328c81612e00565b9050919050565b600060208201905081810360008301526132ac81612e23565b9050919050565b600060208201905081810360008301526132cc81612e46565b9050919050565b600060208201905081810360008301526132ec81612e69565b9050919050565b6000602082019050818103600083015261330c81612e8c565b9050919050565b6000602082019050818103600083015261332c81612eaf565b9050919050565b6000602082019050818103600083015261334c81612ed2565b9050919050565b6000602082019050818103600083015261336c81612ef5565b9050919050565b60006020820190506133886000830184612f18565b92915050565b60006020820190506133a36000830184612f27565b92915050565b600081519050919050565b600082825260208201905092915050565b60006133d08261352a565b91506133db8361352a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156134105761340f6135a6565b5b828201905092915050565b60006134268261352a565b91506134318361352a565b925082613441576134406135d5565b5b828204905092915050565b60006134578261352a565b91506134628361352a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561349b5761349a6135a6565b5b828202905092915050565b60006134b18261352a565b91506134bc8361352a565b9250828210156134cf576134ce6135a6565b5b828203905092915050565b60006134e58261350a565b9050919050565b60006134f78261350a565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101561355f578082015181840152602081019050613544565b8381111561356e576000848401525b50505050565b6000600282049050600182168061358c57607f821691505b602082108114156135a05761359f613604565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f42455032303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f42455032303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f546172676574206c696d6974206973206e6f742072656163686564206f72207460008201527f6f6b656e732061726520616c72656164792074616b656e000000000000000000602082015250565b7f53616c6520706572696f6420646964206e6f7420737461727465642000000000600082015250565b7f54696d65206c696d6974206e6f7420726561636865642e205761697420756e7460008201527f696c20736f66742063617020646561646c696e65000000000000000000000000602082015250565b7f53616c6520706572696f6420646964206e6f7420737461727465640000000000600082015250565b7f536f66742063617020646964206e6f7420726561636865640000000000000000600082015250565b7f42455032303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f596f7520726561636865642074686520706572736f6e616c2063617000000000600082015250565b7f536f667420636170207265616368656400000000000000000000000000000000600082015250565b7f4e6f7420656e6f75676820746f6b656e73206c65667400000000000000000000600082015250565b7f436865636b207468652061646472657373000000000000000000000000000000600082015250565b7f4d6178696d756d20627579696e67206973206c696d6974656420746f2031302060008201527f626e620000000000000000000000000000000000000000000000000000000000602082015250565b7f42455032303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b7f53616c652066696e697368656420000000000000000000000000000000000000600082015250565b7f54696d65206c696d6974206973206e6f742072656163686564206f7220746f6b60008201527f656e732061726520616c72656164792074616b656e0000000000000000000000602082015250565b7f42455032303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f4275726e696e672074696d65206e6f7420726561636865642c20746f6b656e7360008201527f206172652073746179696e6720696e207468652073746f766500000000000000602082015250565b7f42455032303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4e6f7420656e6f75676820746f6b656e206c6566740000000000000000000000600082015250565b7f42455032303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b7f42455032303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f53616c65206e6f742066696e6973686564200000000000000000000000000000600082015250565b7f4e4f542041636365737361626c65000000000000000000000000000000000000600082015250565b7f496e76616c696420557365722000000000000000000000000000000000000000600082015250565b7f536f6c64206f7574000000000000000000000000000000000000000000000000600082015250565b7f546f6b656e732061726520616c72656164792074616b656e0000000000000000600082015250565b7f42455032303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f42455032303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f506c6561736520636865636b20796f757220746f6b656e2062616c616e636500600082015250565b7f596f7520646f206e6f74206861766520746f6b656e7320746f20726566756e64600082015250565b7f4861726463617020726561636865640000000000000000000000000000000000600082015250565b613d81816134da565b8114613d8c57600080fd5b50565b613d98816134ec565b8114613da357600080fd5b50565b613daf8161352a565b8114613dba57600080fd5b5056fea264697066735822122079ed4e2fe58f315da7923fc437ee7da43d3f303d1ac114d67caebff013fa917964736f6c63430008040033

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

000000000000000000000000c17ecceb85174a6a35774becb547d93d388e450f

-----Decoded View---------------
Arg [0] : owner_ (address): 0xc17EcCeb85174A6A35774bECB547d93D388E450f

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000c17ecceb85174a6a35774becb547d93d388e450f


Deployed Bytecode Sourcemap

1449:13491:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5292:14;5322:4;5319:2;5309:9;:12;;;;:::i;:::-;:17;;;;:::i;:::-;5292:34;;5385:8;5364:18;;:29;;;;:::i;:::-;5345:15;:48;;5337:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;5450:18;;5431:15;:37;;5423:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;5531:8;5518:10;;:21;;5510:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;5593:8;5584:6;5571:10;;:19;;;;:::i;:::-;:30;;5563:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;5677:5;5669:6;5647:9;:21;5657:10;5647:21;;;;;;;;;;;;;;;;:28;;;;:::i;:::-;:35;;5639:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;5747:5;5734:9;:18;;5726:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;5825:6;5814:10;;:17;;;;:::i;:::-;5803:10;:28;;;;5842:24;5848:10;5859:6;5842:5;:24::i;:::-;5925:9;5901;:21;5911:10;5901:21;;;;;;;;;;;;;;;;:33;;;;:::i;:::-;5877:9;:21;5887:10;5877:21;;;;;;;;;;;;;;;:57;;;;5254:688;1449:13491;;;;;2696:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3016:116;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3973:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9875:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3380:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4150:454;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12629:384;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2916:92;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4612:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3260:112;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7947:547;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6200:670;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3496:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3140:112;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2804:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4835:411;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7185:753;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3631:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10375:2246;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9776:91;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3814:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9620:148;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8910:702;;;;;;;;;;;;;:::i;:::-;;14007:301;14110:1;14091:21;;:7;:21;;;;14083:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;14159:49;14188:1;14192:7;14201:6;14159:20;:49::i;:::-;14241:6;14219:9;:18;14229:7;14219:18;;;;;;;;;;;;;;;;:28;;;;;;;:::i;:::-;;;;;;;;14284:7;14263:37;;14280:1;14263:37;;;14293:6;14263:37;;;;;;:::i;:::-;;;;;;;;14007:301;;:::o;2696:100::-;2750:13;2783:5;2776:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2696:100;:::o;3016:116::-;3081:7;3108:16;;3101:23;;3016:116;:::o;3973:169::-;4056:4;4073:39;4082:12;:10;:12::i;:::-;4096:7;4105:6;4073:8;:39::i;:::-;4130:4;4123:11;;3973:169;;;;:::o;9875:88::-;9920:4;9943:12;;;;;;;;;;;9936:19;;9875:88;:::o;3380:108::-;3441:7;3468:12;;3461:19;;3380:108;:::o;4150:454::-;4256:4;4273:36;4283:6;4291:9;4302:6;4273:9;:36::i;:::-;4320:24;4347:11;:19;4359:6;4347:19;;;;;;;;;;;;;;;:33;4367:12;:10;:12::i;:::-;4347:33;;;;;;;;;;;;;;;;4320:60;;4419:6;4399:16;:26;;4391:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;4506:57;4515:6;4523:12;:10;:12::i;:::-;4556:6;4537:16;:25;4506:8;:57::i;:::-;4592:4;4585:11;;;4150:454;;;;;:::o;12629:384::-;12679:4;12717:6;;;;;;;;;;;12703:20;;:10;:20;;;12695:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;12777:8;12763:10;;:22;;12754:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;12841:21;12831:6;:31;12827:157;;12879:6;;;;;;;;;;;:15;;:38;12895:21;12879:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12827:157;;;12949:6;;;;;;;;;;;:15;;:23;12965:6;12949:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12827:157;13001:4;12994:11;;12629:384;;;:::o;2916:92::-;2974:5;2999:1;2992:8;;2916:92;:::o;4612:215::-;4700:4;4717:80;4726:12;:10;:12::i;:::-;4740:7;4786:10;4749:11;:25;4761:12;:10;:12::i;:::-;4749:25;;;;;;;;;;;;;;;:34;4775:7;4749:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;4717:8;:80::i;:::-;4815:4;4808:11;;4612:215;;;;:::o;3260:112::-;3323:7;3350:14;;3343:21;;3260:112;:::o;7947:547::-;7986:4;8025:6;;;;;;;;;;;8011:20;;:10;:20;;;8003:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;8064:14;8098:10;;8081:14;;:27;;;;:::i;:::-;8064:44;;8136:1;8129:6;:8;8121:36;;;;;;;;;;;;:::i;:::-;;;;;;;;;8217:8;8196:18;;:29;;;;:::i;:::-;8178:15;:47;:63;;;;;8229:12;;;;;;;;;;;8178:63;8170:93;;;;;;;;;;;;:::i;:::-;;;;;;;;;8298:8;8285:10;;:21;;8276:43;;;;;;;;;;;;:::i;:::-;;;;;;;;;8354:6;8343:10;;:17;;;;:::i;:::-;8332:10;:28;;;;8373:56;8379:42;8422:6;8373:5;:56::i;:::-;8455:4;8442:12;;:17;;;;;;;;;;;;;;;;;;8480:4;8472:13;;;7947:547;:::o;6200:670::-;6290:9;6276:23;;:10;:23;;;6268:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;6355:8;6342:10;;:21;6333:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;6444:7;6423:18;;:28;;;;:::i;:::-;6405:15;:46;6397:111;;;;;;;;;;;;:::i;:::-;;;;;;;;;6549:1;6527:9;:21;6537:10;6527:21;;;;;;;;;;;;;;;;:23;6519:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6633:9;:21;6643:10;6633:21;;;;;;;;;;;;;;;;6628:2;6606:9;:21;6616:10;6606:21;;;;;;;;;;;;;;;;:24;;;;:::i;:::-;:48;6598:92;;;;;;;;;;;;:::i;:::-;;;;;;;;;6701:9;:18;;:41;6720:9;:21;6730:10;6720:21;;;;;;;;;;;;;;;;6701:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6775:1;6753:9;:21;6763:10;6753:21;;;;;;;;;;;;;;;:23;;;;6787:40;6793:10;6805:9;:21;6815:10;6805:21;;;;;;;;;;;;;;;;6787:5;:40::i;:::-;6860:1;6838:9;:21;6848:10;6838:21;;;;;;;;;;;;;;;:23;;;;6200:670;:::o;3496:127::-;3570:7;3597:9;:18;3607:7;3597:18;;;;;;;;;;;;;;;;3590:25;;3496:127;;;:::o;3140:112::-;3203:7;3230:14;;3223:21;;3140:112;:::o;2804:104::-;2860:13;2893:7;2886:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2804:104;:::o;4835:411::-;4928:4;4945:24;4972:11;:25;4984:12;:10;:12::i;:::-;4972:25;;;;;;;;;;;;;;;:34;4998:7;4972:34;;;;;;;;;;;;;;;;4945:61;;5045:15;5025:16;:35;;5017:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;5138:67;5147:12;:10;:12::i;:::-;5161:7;5189:15;5170:16;:34;5138:8;:67::i;:::-;5234:4;5227:11;;;4835:411;;;;:::o;7185:753::-;7222:4;7239:14;7269:4;7266:2;7256:9;:12;;;;:::i;:::-;:17;;;;:::i;:::-;7239:34;;7334:8;7313:18;;:29;;;;:::i;:::-;7294:15;:48;;7286:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;7401:18;;7382:15;:37;;7374:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;7484:8;7471:10;;:21;;7463:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;7548:8;7539:6;7526:10;;:19;;;;:::i;:::-;:30;;7518:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7633:5;7625:6;7603:9;:21;7613:10;7603:21;;;;;;;;;;;;;;;;:28;;;;:::i;:::-;:35;;7595:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;7705:5;7692:9;:18;;7684:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;7785:6;7774:10;;:17;;;;:::i;:::-;7763:10;:28;;;;7804:24;7810:10;7821:6;7804:5;:24::i;:::-;7889:9;7865;:21;7875:10;7865:21;;;;;;;;;;;;;;;;:33;;;;:::i;:::-;7841:9;:21;7851:10;7841:21;;;;;;;;;;;;;;;:57;;;;7919:4;7911:13;;;7185:753;:::o;3631:175::-;3717:4;3734:42;3744:12;:10;:12::i;:::-;3758:9;3769:6;3734:9;:42::i;:::-;3794:4;3787:11;;3631:175;;;;:::o;10375:2246::-;10412:12;10458:6;;;;;;;;;;;10444:20;;:10;:20;;;:90;;;;10492:42;10478:56;;:10;:56;;;10444:90;:159;;;;10561:42;10547:56;;:10;:56;;;10444:159;:228;;;;10630:42;10616:56;;:10;:56;;;10444:228;:298;;;;10700:42;10686:56;;:10;:56;;;10444:298;:368;;;;10770:42;10756:56;;:10;:56;;;10444:368;10436:393;;;;;;;;;;;;:::i;:::-;;;;;;;;;10857:42;10843:56;;:10;:56;;;10840:1774;;;10936:7;10924:10;;:19;;:33;;;;;10948:9;;;;;;;;;;;10947:10;10924:33;10916:100;;;;;;;;;;;;:::i;:::-;;;;;;;;;11031:24;11037:10;11048:6;11031:5;:24::i;:::-;11082:4;11070:9;;:16;;;;;;;;;;;;;;;;;;11108:4;11101:12;;;;10840:1774;11148:42;11134:56;;:10;:56;;;11131:1483;;;11254:8;11233:18;;:29;;;;:::i;:::-;11215:15;:47;;:63;;;;;11268:10;;;;;;;;;;;11267:11;11215:63;11207:128;;;;;;;;;;;;:::i;:::-;;;;;;;;;11350:24;11356:10;11367:6;11350:5;:24::i;:::-;11402:4;11389:10;;:17;;;;;;;;;;;;;;;;;;11428:4;11421:12;;;;11131:1483;11468:42;11454:56;;:10;:56;;;11451:1163;;;11536:7;;;;;;;;;;;11535:8;11527:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;11586:23;11592:10;11603:5;11586;:23::i;:::-;11634:4;11624:7;;:14;;;;;;;;;;;;;;;;;;11660:4;11653:12;;;;11451:1163;11699:42;11685:56;;:10;:56;;;11682:932;;;11806:8;11785:18;;:29;;;;:::i;:::-;11766:15;:48;;:67;;;;;11819:14;;;;;;;;;;;11818:15;11766:67;11758:132;;;;;;;;;;;;:::i;:::-;;;;;;;;;11905:24;11911:10;11922:6;11905:5;:24::i;:::-;11961:4;11944:14;;:21;;;;;;;;;;;;;;;;;;11987:4;11980:12;;;;11682:932;12036:42;12022:56;;:10;:56;;;12019:595;;;12143:8;12122:18;;:29;;;;:::i;:::-;12103:15;:48;;:60;;;;;12156:7;;;;;;;;;;;12155:8;12103:60;12095:125;;;;;;;;;;;;:::i;:::-;;;;;;;;;12235:24;12241:10;12252:6;12235:5;:24::i;:::-;12284:4;12274:7;;:14;;;;;;;;;;;;;;;;;;12310:4;12303:12;;;;12019:595;12359:6;;;;;;;;;;;12345:20;;:10;:20;;;12342:272;;;12430:8;12409:18;;:29;;;;:::i;:::-;12390:15;:48;;:60;;;;;12443:7;;;;;;;;;;;12442:8;12390:60;12382:125;;;;;;;;;;;;:::i;:::-;;;;;;;;;12522:24;12528:10;12539:6;12522:5;:24::i;:::-;12571:4;12561:7;;:14;;;;;;;;;;;;;;;;;;12597:4;12590:12;;;;12342:272;10375:2246;;:::o;9776:91::-;9823:7;9849:10;;9842:17;;9776:91;:::o;3814:151::-;3903:7;3930:11;:18;3942:5;3930:18;;;;;;;;;;;;;;;:27;3949:7;3930:27;;;;;;;;;;;;;;;;3923:34;;3814:151;;;;:::o;9620:148::-;9681:7;9700:13;9716:7;9700:23;;9755:5;9741:13;:19;;;;:::i;:::-;9734:26;;;9620:148;;;:::o;8910:702::-;8976:12;;8958:15;:30;8950:100;;;;;;;;;;;;:::i;:::-;;;;;;;;;9119:1;9065:9;:53;9075:42;9065:53;;;;;;;;;;;;;;;;:55;9061:544;;;9137:104;9143:42;9187:9;:53;9197:42;9187:53;;;;;;;;;;;;;;;;9137:5;:104::i;:::-;9256;9262:42;9306:9;:53;9316:42;9306:53;;;;;;;;;;;;;;;;9256:5;:104::i;:::-;9401:7;9388:12;;:20;;;;:::i;:::-;9375:12;:33;;;;9061:544;;;9441:104;9447:42;9491:9;:53;9501:42;9491:53;;;;;;;;;;;;;;;;9441:5;:104::i;:::-;9586:7;9573:12;;:20;;;;:::i;:::-;9560:12;:33;;;;9061:544;8910:702::o;14845:92::-;;;;:::o;1218:98::-;1271:7;1298:10;1291:17;;1218:98;:::o;13021:344::-;13140:1;13123:19;;:5;:19;;;;13115:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13221:1;13202:21;;:7;:21;;;;13194:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13303:6;13273:11;:18;13285:5;13273:18;;;;;;;;;;;;;;;:27;13292:7;13273:27;;;;;;;;;;;;;;;:36;;;;13341:7;13325:32;;13334:5;13325:32;;;13350:6;13325:32;;;;;;:::i;:::-;;;;;;;;13021:344;;;:::o;13373:626::-;13497:1;13479:20;;:6;:20;;;;13471:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;13581:1;13560:23;;:9;:23;;;;13552:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;13634:47;13655:6;13663:9;13674:6;13634:20;:47::i;:::-;13692:21;13716:9;:17;13726:6;13716:17;;;;;;;;;;;;;;;;13692:41;;13769:6;13752:13;:23;;13744:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;13882:6;13866:13;:22;13846:9;:17;13856:6;13846:17;;;;;;;;;;;;;;;:42;;;;13934:6;13910:9;:20;13920:9;13910:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;13973:9;13956:35;;13965:6;13956:35;;;13984:6;13956:35;;;;;;:::i;:::-;;;;;;;;13373:626;;;;:::o;14320:517::-;14423:1;14404:21;;:7;:21;;;;14396:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14474:49;14495:7;14512:1;14516:6;14474:20;:49::i;:::-;14534:22;14559:9;:18;14569:7;14559:18;;;;;;;;;;;;;;;;14534:43;;14614:6;14596:14;:24;;14588:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;14726:6;14709:14;:23;14688:9;:18;14698:7;14688:18;;;;;;;;;;;;;;;:44;;;;14768:6;14752:12;;:22;;;;;;;:::i;:::-;;;;;;;;14816:1;14790:37;;14799:7;14790:37;;;14820:6;14790:37;;;;;;:::i;:::-;;;;;;;;14320:517;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:155::-;206:5;244:6;231:20;222:29;;260:41;295:5;260:41;:::i;:::-;212:95;;;;:::o;313:139::-;359:5;397:6;384:20;375:29;;413:33;440:5;413:33;:::i;:::-;365:87;;;;:::o;458:262::-;517:6;566:2;554:9;545:7;541:23;537:32;534:2;;;582:1;579;572:12;534:2;625:1;650:53;695:7;686:6;675:9;671:22;650:53;:::i;:::-;640:63;;596:117;524:196;;;;:::o;726:278::-;793:6;842:2;830:9;821:7;817:23;813:32;810:2;;;858:1;855;848:12;810:2;901:1;926:61;979:7;970:6;959:9;955:22;926:61;:::i;:::-;916:71;;872:125;800:204;;;;:::o;1010:407::-;1078:6;1086;1135:2;1123:9;1114:7;1110:23;1106:32;1103:2;;;1151:1;1148;1141:12;1103:2;1194:1;1219:53;1264:7;1255:6;1244:9;1240:22;1219:53;:::i;:::-;1209:63;;1165:117;1321:2;1347:53;1392:7;1383:6;1372:9;1368:22;1347:53;:::i;:::-;1337:63;;1292:118;1093:324;;;;;:::o;1423:552::-;1500:6;1508;1516;1565:2;1553:9;1544:7;1540:23;1536:32;1533:2;;;1581:1;1578;1571:12;1533:2;1624:1;1649:53;1694:7;1685:6;1674:9;1670:22;1649:53;:::i;:::-;1639:63;;1595:117;1751:2;1777:53;1822:7;1813:6;1802:9;1798:22;1777:53;:::i;:::-;1767:63;;1722:118;1879:2;1905:53;1950:7;1941:6;1930:9;1926:22;1905:53;:::i;:::-;1895:63;;1850:118;1523:452;;;;;:::o;1981:407::-;2049:6;2057;2106:2;2094:9;2085:7;2081:23;2077:32;2074:2;;;2122:1;2119;2112:12;2074:2;2165:1;2190:53;2235:7;2226:6;2215:9;2211:22;2190:53;:::i;:::-;2180:63;;2136:117;2292:2;2318:53;2363:7;2354:6;2343:9;2339:22;2318:53;:::i;:::-;2308:63;;2263:118;2064:324;;;;;:::o;2394:262::-;2453:6;2502:2;2490:9;2481:7;2477:23;2473:32;2470:2;;;2518:1;2515;2508:12;2470:2;2561:1;2586:53;2631:7;2622:6;2611:9;2607:22;2586:53;:::i;:::-;2576:63;;2532:117;2460:196;;;;:::o;2662:109::-;2743:21;2758:5;2743:21;:::i;:::-;2738:3;2731:34;2721:50;;:::o;2777:364::-;2865:3;2893:39;2926:5;2893:39;:::i;:::-;2948:71;3012:6;3007:3;2948:71;:::i;:::-;2941:78;;3028:52;3073:6;3068:3;3061:4;3054:5;3050:16;3028:52;:::i;:::-;3105:29;3127:6;3105:29;:::i;:::-;3100:3;3096:39;3089:46;;2869:272;;;;;:::o;3147:366::-;3289:3;3310:67;3374:2;3369:3;3310:67;:::i;:::-;3303:74;;3386:93;3475:3;3386:93;:::i;:::-;3504:2;3499:3;3495:12;3488:19;;3293:220;;;:::o;3519:366::-;3661:3;3682:67;3746:2;3741:3;3682:67;:::i;:::-;3675:74;;3758:93;3847:3;3758:93;:::i;:::-;3876:2;3871:3;3867:12;3860:19;;3665:220;;;:::o;3891:366::-;4033:3;4054:67;4118:2;4113:3;4054:67;:::i;:::-;4047:74;;4130:93;4219:3;4130:93;:::i;:::-;4248:2;4243:3;4239:12;4232:19;;4037:220;;;:::o;4263:366::-;4405:3;4426:67;4490:2;4485:3;4426:67;:::i;:::-;4419:74;;4502:93;4591:3;4502:93;:::i;:::-;4620:2;4615:3;4611:12;4604:19;;4409:220;;;:::o;4635:366::-;4777:3;4798:67;4862:2;4857:3;4798:67;:::i;:::-;4791:74;;4874:93;4963:3;4874:93;:::i;:::-;4992:2;4987:3;4983:12;4976:19;;4781:220;;;:::o;5007:366::-;5149:3;5170:67;5234:2;5229:3;5170:67;:::i;:::-;5163:74;;5246:93;5335:3;5246:93;:::i;:::-;5364:2;5359:3;5355:12;5348:19;;5153:220;;;:::o;5379:366::-;5521:3;5542:67;5606:2;5601:3;5542:67;:::i;:::-;5535:74;;5618:93;5707:3;5618:93;:::i;:::-;5736:2;5731:3;5727:12;5720:19;;5525:220;;;:::o;5751:366::-;5893:3;5914:67;5978:2;5973:3;5914:67;:::i;:::-;5907:74;;5990:93;6079:3;5990:93;:::i;:::-;6108:2;6103:3;6099:12;6092:19;;5897:220;;;:::o;6123:366::-;6265:3;6286:67;6350:2;6345:3;6286:67;:::i;:::-;6279:74;;6362:93;6451:3;6362:93;:::i;:::-;6480:2;6475:3;6471:12;6464:19;;6269:220;;;:::o;6495:366::-;6637:3;6658:67;6722:2;6717:3;6658:67;:::i;:::-;6651:74;;6734:93;6823:3;6734:93;:::i;:::-;6852:2;6847:3;6843:12;6836:19;;6641:220;;;:::o;6867:366::-;7009:3;7030:67;7094:2;7089:3;7030:67;:::i;:::-;7023:74;;7106:93;7195:3;7106:93;:::i;:::-;7224:2;7219:3;7215:12;7208:19;;7013:220;;;:::o;7239:366::-;7381:3;7402:67;7466:2;7461:3;7402:67;:::i;:::-;7395:74;;7478:93;7567:3;7478:93;:::i;:::-;7596:2;7591:3;7587:12;7580:19;;7385:220;;;:::o;7611:366::-;7753:3;7774:67;7838:2;7833:3;7774:67;:::i;:::-;7767:74;;7850:93;7939:3;7850:93;:::i;:::-;7968:2;7963:3;7959:12;7952:19;;7757:220;;;:::o;7983:366::-;8125:3;8146:67;8210:2;8205:3;8146:67;:::i;:::-;8139:74;;8222:93;8311:3;8222:93;:::i;:::-;8340:2;8335:3;8331:12;8324:19;;8129:220;;;:::o;8355:366::-;8497:3;8518:67;8582:2;8577:3;8518:67;:::i;:::-;8511:74;;8594:93;8683:3;8594:93;:::i;:::-;8712:2;8707:3;8703:12;8696:19;;8501:220;;;:::o;8727:366::-;8869:3;8890:67;8954:2;8949:3;8890:67;:::i;:::-;8883:74;;8966:93;9055:3;8966:93;:::i;:::-;9084:2;9079:3;9075:12;9068:19;;8873:220;;;:::o;9099:366::-;9241:3;9262:67;9326:2;9321:3;9262:67;:::i;:::-;9255:74;;9338:93;9427:3;9338:93;:::i;:::-;9456:2;9451:3;9447:12;9440:19;;9245:220;;;:::o;9471:366::-;9613:3;9634:67;9698:2;9693:3;9634:67;:::i;:::-;9627:74;;9710:93;9799:3;9710:93;:::i;:::-;9828:2;9823:3;9819:12;9812:19;;9617:220;;;:::o;9843:366::-;9985:3;10006:67;10070:2;10065:3;10006:67;:::i;:::-;9999:74;;10082:93;10171:3;10082:93;:::i;:::-;10200:2;10195:3;10191:12;10184:19;;9989:220;;;:::o;10215:366::-;10357:3;10378:67;10442:2;10437:3;10378:67;:::i;:::-;10371:74;;10454:93;10543:3;10454:93;:::i;:::-;10572:2;10567:3;10563:12;10556:19;;10361:220;;;:::o;10587:366::-;10729:3;10750:67;10814:2;10809:3;10750:67;:::i;:::-;10743:74;;10826:93;10915:3;10826:93;:::i;:::-;10944:2;10939:3;10935:12;10928:19;;10733:220;;;:::o;10959:366::-;11101:3;11122:67;11186:2;11181:3;11122:67;:::i;:::-;11115:74;;11198:93;11287:3;11198:93;:::i;:::-;11316:2;11311:3;11307:12;11300:19;;11105:220;;;:::o;11331:366::-;11473:3;11494:67;11558:2;11553:3;11494:67;:::i;:::-;11487:74;;11570:93;11659:3;11570:93;:::i;:::-;11688:2;11683:3;11679:12;11672:19;;11477:220;;;:::o;11703:366::-;11845:3;11866:67;11930:2;11925:3;11866:67;:::i;:::-;11859:74;;11942:93;12031:3;11942:93;:::i;:::-;12060:2;12055:3;12051:12;12044:19;;11849:220;;;:::o;12075:366::-;12217:3;12238:67;12302:2;12297:3;12238:67;:::i;:::-;12231:74;;12314:93;12403:3;12314:93;:::i;:::-;12432:2;12427:3;12423:12;12416:19;;12221:220;;;:::o;12447:365::-;12589:3;12610:66;12674:1;12669:3;12610:66;:::i;:::-;12603:73;;12685:93;12774:3;12685:93;:::i;:::-;12803:2;12798:3;12794:12;12787:19;;12593:219;;;:::o;12818:366::-;12960:3;12981:67;13045:2;13040:3;12981:67;:::i;:::-;12974:74;;13057:93;13146:3;13057:93;:::i;:::-;13175:2;13170:3;13166:12;13159:19;;12964:220;;;:::o;13190:366::-;13332:3;13353:67;13417:2;13412:3;13353:67;:::i;:::-;13346:74;;13429:93;13518:3;13429:93;:::i;:::-;13547:2;13542:3;13538:12;13531:19;;13336:220;;;:::o;13562:366::-;13704:3;13725:67;13789:2;13784:3;13725:67;:::i;:::-;13718:74;;13801:93;13890:3;13801:93;:::i;:::-;13919:2;13914:3;13910:12;13903:19;;13708:220;;;:::o;13934:366::-;14076:3;14097:67;14161:2;14156:3;14097:67;:::i;:::-;14090:74;;14173:93;14262:3;14173:93;:::i;:::-;14291:2;14286:3;14282:12;14275:19;;14080:220;;;:::o;14306:366::-;14448:3;14469:67;14533:2;14528:3;14469:67;:::i;:::-;14462:74;;14545:93;14634:3;14545:93;:::i;:::-;14663:2;14658:3;14654:12;14647:19;;14452:220;;;:::o;14678:366::-;14820:3;14841:67;14905:2;14900:3;14841:67;:::i;:::-;14834:74;;14917:93;15006:3;14917:93;:::i;:::-;15035:2;15030:3;15026:12;15019:19;;14824:220;;;:::o;15050:118::-;15137:24;15155:5;15137:24;:::i;:::-;15132:3;15125:37;15115:53;;:::o;15174:112::-;15257:22;15273:5;15257:22;:::i;:::-;15252:3;15245:35;15235:51;;:::o;15292:210::-;15379:4;15417:2;15406:9;15402:18;15394:26;;15430:65;15492:1;15481:9;15477:17;15468:6;15430:65;:::i;:::-;15384:118;;;;:::o;15508:313::-;15621:4;15659:2;15648:9;15644:18;15636:26;;15708:9;15702:4;15698:20;15694:1;15683:9;15679:17;15672:47;15736:78;15809:4;15800:6;15736:78;:::i;:::-;15728:86;;15626:195;;;;:::o;15827:419::-;15993:4;16031:2;16020:9;16016:18;16008:26;;16080:9;16074:4;16070:20;16066:1;16055:9;16051:17;16044:47;16108:131;16234:4;16108:131;:::i;:::-;16100:139;;15998:248;;;:::o;16252:419::-;16418:4;16456:2;16445:9;16441:18;16433:26;;16505:9;16499:4;16495:20;16491:1;16480:9;16476:17;16469:47;16533:131;16659:4;16533:131;:::i;:::-;16525:139;;16423:248;;;:::o;16677:419::-;16843:4;16881:2;16870:9;16866:18;16858:26;;16930:9;16924:4;16920:20;16916:1;16905:9;16901:17;16894:47;16958:131;17084:4;16958:131;:::i;:::-;16950:139;;16848:248;;;:::o;17102:419::-;17268:4;17306:2;17295:9;17291:18;17283:26;;17355:9;17349:4;17345:20;17341:1;17330:9;17326:17;17319:47;17383:131;17509:4;17383:131;:::i;:::-;17375:139;;17273:248;;;:::o;17527:419::-;17693:4;17731:2;17720:9;17716:18;17708:26;;17780:9;17774:4;17770:20;17766:1;17755:9;17751:17;17744:47;17808:131;17934:4;17808:131;:::i;:::-;17800:139;;17698:248;;;:::o;17952:419::-;18118:4;18156:2;18145:9;18141:18;18133:26;;18205:9;18199:4;18195:20;18191:1;18180:9;18176:17;18169:47;18233:131;18359:4;18233:131;:::i;:::-;18225:139;;18123:248;;;:::o;18377:419::-;18543:4;18581:2;18570:9;18566:18;18558:26;;18630:9;18624:4;18620:20;18616:1;18605:9;18601:17;18594:47;18658:131;18784:4;18658:131;:::i;:::-;18650:139;;18548:248;;;:::o;18802:419::-;18968:4;19006:2;18995:9;18991:18;18983:26;;19055:9;19049:4;19045:20;19041:1;19030:9;19026:17;19019:47;19083:131;19209:4;19083:131;:::i;:::-;19075:139;;18973:248;;;:::o;19227:419::-;19393:4;19431:2;19420:9;19416:18;19408:26;;19480:9;19474:4;19470:20;19466:1;19455:9;19451:17;19444:47;19508:131;19634:4;19508:131;:::i;:::-;19500:139;;19398:248;;;:::o;19652:419::-;19818:4;19856:2;19845:9;19841:18;19833:26;;19905:9;19899:4;19895:20;19891:1;19880:9;19876:17;19869:47;19933:131;20059:4;19933:131;:::i;:::-;19925:139;;19823:248;;;:::o;20077:419::-;20243:4;20281:2;20270:9;20266:18;20258:26;;20330:9;20324:4;20320:20;20316:1;20305:9;20301:17;20294:47;20358:131;20484:4;20358:131;:::i;:::-;20350:139;;20248:248;;;:::o;20502:419::-;20668:4;20706:2;20695:9;20691:18;20683:26;;20755:9;20749:4;20745:20;20741:1;20730:9;20726:17;20719:47;20783:131;20909:4;20783:131;:::i;:::-;20775:139;;20673:248;;;:::o;20927:419::-;21093:4;21131:2;21120:9;21116:18;21108:26;;21180:9;21174:4;21170:20;21166:1;21155:9;21151:17;21144:47;21208:131;21334:4;21208:131;:::i;:::-;21200:139;;21098:248;;;:::o;21352:419::-;21518:4;21556:2;21545:9;21541:18;21533:26;;21605:9;21599:4;21595:20;21591:1;21580:9;21576:17;21569:47;21633:131;21759:4;21633:131;:::i;:::-;21625:139;;21523:248;;;:::o;21777:419::-;21943:4;21981:2;21970:9;21966:18;21958:26;;22030:9;22024:4;22020:20;22016:1;22005:9;22001:17;21994:47;22058:131;22184:4;22058:131;:::i;:::-;22050:139;;21948:248;;;:::o;22202:419::-;22368:4;22406:2;22395:9;22391:18;22383:26;;22455:9;22449:4;22445:20;22441:1;22430:9;22426:17;22419:47;22483:131;22609:4;22483:131;:::i;:::-;22475:139;;22373:248;;;:::o;22627:419::-;22793:4;22831:2;22820:9;22816:18;22808:26;;22880:9;22874:4;22870:20;22866:1;22855:9;22851:17;22844:47;22908:131;23034:4;22908:131;:::i;:::-;22900:139;;22798:248;;;:::o;23052:419::-;23218:4;23256:2;23245:9;23241:18;23233:26;;23305:9;23299:4;23295:20;23291:1;23280:9;23276:17;23269:47;23333:131;23459:4;23333:131;:::i;:::-;23325:139;;23223:248;;;:::o;23477:419::-;23643:4;23681:2;23670:9;23666:18;23658:26;;23730:9;23724:4;23720:20;23716:1;23705:9;23701:17;23694:47;23758:131;23884:4;23758:131;:::i;:::-;23750:139;;23648:248;;;:::o;23902:419::-;24068:4;24106:2;24095:9;24091:18;24083:26;;24155:9;24149:4;24145:20;24141:1;24130:9;24126:17;24119:47;24183:131;24309:4;24183:131;:::i;:::-;24175:139;;24073:248;;;:::o;24327:419::-;24493:4;24531:2;24520:9;24516:18;24508:26;;24580:9;24574:4;24570:20;24566:1;24555:9;24551:17;24544:47;24608:131;24734:4;24608:131;:::i;:::-;24600:139;;24498:248;;;:::o;24752:419::-;24918:4;24956:2;24945:9;24941:18;24933:26;;25005:9;24999:4;24995:20;24991:1;24980:9;24976:17;24969:47;25033:131;25159:4;25033:131;:::i;:::-;25025:139;;24923:248;;;:::o;25177:419::-;25343:4;25381:2;25370:9;25366:18;25358:26;;25430:9;25424:4;25420:20;25416:1;25405:9;25401:17;25394:47;25458:131;25584:4;25458:131;:::i;:::-;25450:139;;25348:248;;;:::o;25602:419::-;25768:4;25806:2;25795:9;25791:18;25783:26;;25855:9;25849:4;25845:20;25841:1;25830:9;25826:17;25819:47;25883:131;26009:4;25883:131;:::i;:::-;25875:139;;25773:248;;;:::o;26027:419::-;26193:4;26231:2;26220:9;26216:18;26208:26;;26280:9;26274:4;26270:20;26266:1;26255:9;26251:17;26244:47;26308:131;26434:4;26308:131;:::i;:::-;26300:139;;26198:248;;;:::o;26452:419::-;26618:4;26656:2;26645:9;26641:18;26633:26;;26705:9;26699:4;26695:20;26691:1;26680:9;26676:17;26669:47;26733:131;26859:4;26733:131;:::i;:::-;26725:139;;26623:248;;;:::o;26877:419::-;27043:4;27081:2;27070:9;27066:18;27058:26;;27130:9;27124:4;27120:20;27116:1;27105:9;27101:17;27094:47;27158:131;27284:4;27158:131;:::i;:::-;27150:139;;27048:248;;;:::o;27302:419::-;27468:4;27506:2;27495:9;27491:18;27483:26;;27555:9;27549:4;27545:20;27541:1;27530:9;27526:17;27519:47;27583:131;27709:4;27583:131;:::i;:::-;27575:139;;27473:248;;;:::o;27727:419::-;27893:4;27931:2;27920:9;27916:18;27908:26;;27980:9;27974:4;27970:20;27966:1;27955:9;27951:17;27944:47;28008:131;28134:4;28008:131;:::i;:::-;28000:139;;27898:248;;;:::o;28152:419::-;28318:4;28356:2;28345:9;28341:18;28333:26;;28405:9;28399:4;28395:20;28391:1;28380:9;28376:17;28369:47;28433:131;28559:4;28433:131;:::i;:::-;28425:139;;28323:248;;;:::o;28577:419::-;28743:4;28781:2;28770:9;28766:18;28758:26;;28830:9;28824:4;28820:20;28816:1;28805:9;28801:17;28794:47;28858:131;28984:4;28858:131;:::i;:::-;28850:139;;28748:248;;;:::o;29002:419::-;29168:4;29206:2;29195:9;29191:18;29183:26;;29255:9;29249:4;29245:20;29241:1;29230:9;29226:17;29219:47;29283:131;29409:4;29283:131;:::i;:::-;29275:139;;29173:248;;;:::o;29427:222::-;29520:4;29558:2;29547:9;29543:18;29535:26;;29571:71;29639:1;29628:9;29624:17;29615:6;29571:71;:::i;:::-;29525:124;;;;:::o;29655:214::-;29744:4;29782:2;29771:9;29767:18;29759:26;;29795:67;29859:1;29848:9;29844:17;29835:6;29795:67;:::i;:::-;29749:120;;;;:::o;29875:99::-;29927:6;29961:5;29955:12;29945:22;;29934:40;;;:::o;29980:169::-;30064:11;30098:6;30093:3;30086:19;30138:4;30133:3;30129:14;30114:29;;30076:73;;;;:::o;30155:305::-;30195:3;30214:20;30232:1;30214:20;:::i;:::-;30209:25;;30248:20;30266:1;30248:20;:::i;:::-;30243:25;;30402:1;30334:66;30330:74;30327:1;30324:81;30321:2;;;30408:18;;:::i;:::-;30321:2;30452:1;30449;30445:9;30438:16;;30199:261;;;;:::o;30466:185::-;30506:1;30523:20;30541:1;30523:20;:::i;:::-;30518:25;;30557:20;30575:1;30557:20;:::i;:::-;30552:25;;30596:1;30586:2;;30601:18;;:::i;:::-;30586:2;30643:1;30640;30636:9;30631:14;;30508:143;;;;:::o;30657:348::-;30697:7;30720:20;30738:1;30720:20;:::i;:::-;30715:25;;30754:20;30772:1;30754:20;:::i;:::-;30749:25;;30942:1;30874:66;30870:74;30867:1;30864:81;30859:1;30852:9;30845:17;30841:105;30838:2;;;30949:18;;:::i;:::-;30838:2;30997:1;30994;30990:9;30979:20;;30705:300;;;;:::o;31011:191::-;31051:4;31071:20;31089:1;31071:20;:::i;:::-;31066:25;;31105:20;31123:1;31105:20;:::i;:::-;31100:25;;31144:1;31141;31138:8;31135:2;;;31149:18;;:::i;:::-;31135:2;31194:1;31191;31187:9;31179:17;;31056:146;;;;:::o;31208:96::-;31245:7;31274:24;31292:5;31274:24;:::i;:::-;31263:35;;31253:51;;;:::o;31310:104::-;31355:7;31384:24;31402:5;31384:24;:::i;:::-;31373:35;;31363:51;;;:::o;31420:90::-;31454:7;31497:5;31490:13;31483:21;31472:32;;31462:48;;;:::o;31516:126::-;31553:7;31593:42;31586:5;31582:54;31571:65;;31561:81;;;:::o;31648:77::-;31685:7;31714:5;31703:16;;31693:32;;;:::o;31731:86::-;31766:7;31806:4;31799:5;31795:16;31784:27;;31774:43;;;:::o;31823:307::-;31891:1;31901:113;31915:6;31912:1;31909:13;31901:113;;;32000:1;31995:3;31991:11;31985:18;31981:1;31976:3;31972:11;31965:39;31937:2;31934:1;31930:10;31925:15;;31901:113;;;32032:6;32029:1;32026:13;32023:2;;;32112:1;32103:6;32098:3;32094:16;32087:27;32023:2;31872:258;;;;:::o;32136:320::-;32180:6;32217:1;32211:4;32207:12;32197:22;;32264:1;32258:4;32254:12;32285:18;32275:2;;32341:4;32333:6;32329:17;32319:27;;32275:2;32403;32395:6;32392:14;32372:18;32369:38;32366:2;;;32422:18;;:::i;:::-;32366:2;32187:269;;;;:::o;32462:180::-;32510:77;32507:1;32500:88;32607:4;32604:1;32597:15;32631:4;32628:1;32621:15;32648:180;32696:77;32693:1;32686:88;32793:4;32790:1;32783:15;32817:4;32814:1;32807:15;32834:180;32882:77;32879:1;32872:88;32979:4;32976:1;32969:15;33003:4;33000:1;32993:15;33020:102;33061:6;33112:2;33108:7;33103:2;33096:5;33092:14;33088:28;33078:38;;33068:54;;;:::o;33128:224::-;33268:34;33264:1;33256:6;33252:14;33245:58;33337:7;33332:2;33324:6;33320:15;33313:32;33234:118;:::o;33358:223::-;33498:34;33494:1;33486:6;33482:14;33475:58;33567:6;33562:2;33554:6;33550:15;33543:31;33464:117;:::o;33587:242::-;33727:34;33723:1;33715:6;33711:14;33704:58;33796:25;33791:2;33783:6;33779:15;33772:50;33693:136;:::o;33835:178::-;33975:30;33971:1;33963:6;33959:14;33952:54;33941:72;:::o;34019:239::-;34159:34;34155:1;34147:6;34143:14;34136:58;34228:22;34223:2;34215:6;34211:15;34204:47;34125:133;:::o;34264:177::-;34404:29;34400:1;34392:6;34388:14;34381:53;34370:71;:::o;34447:174::-;34587:26;34583:1;34575:6;34571:14;34564:50;34553:68;:::o;34627:227::-;34767:34;34763:1;34755:6;34751:14;34744:58;34836:10;34831:2;34823:6;34819:15;34812:35;34733:121;:::o;34860:178::-;35000:30;34996:1;34988:6;34984:14;34977:54;34966:72;:::o;35044:166::-;35184:18;35180:1;35172:6;35168:14;35161:42;35150:60;:::o;35216:172::-;35356:24;35352:1;35344:6;35340:14;35333:48;35322:66;:::o;35394:167::-;35534:19;35530:1;35522:6;35518:14;35511:43;35500:61;:::o;35567:222::-;35707:34;35703:1;35695:6;35691:14;35684:58;35776:5;35771:2;35763:6;35759:15;35752:30;35673:116;:::o;35795:181::-;35935:33;35931:1;35923:6;35919:14;35912:57;35901:75;:::o;35982:164::-;36122:16;36118:1;36110:6;36106:14;36099:40;36088:58;:::o;36152:240::-;36292:34;36288:1;36280:6;36276:14;36269:58;36361:23;36356:2;36348:6;36344:15;36337:48;36258:134;:::o;36398:225::-;36538:34;36534:1;36526:6;36522:14;36515:58;36607:8;36602:2;36594:6;36590:15;36583:33;36504:119;:::o;36629:244::-;36769:34;36765:1;36757:6;36753:14;36746:58;36838:27;36833:2;36825:6;36821:15;36814:52;36735:138;:::o;36879:222::-;37019:34;37015:1;37007:6;37003:14;36996:58;37088:5;37083:2;37075:6;37071:15;37064:30;36985:116;:::o;37107:171::-;37247:23;37243:1;37235:6;37231:14;37224:47;37213:65;:::o;37284:224::-;37424:34;37420:1;37412:6;37408:14;37401:58;37493:7;37488:2;37480:6;37476:15;37469:32;37390:118;:::o;37514:220::-;37654:34;37650:1;37642:6;37638:14;37631:58;37723:3;37718:2;37710:6;37706:15;37699:28;37620:114;:::o;37740:168::-;37880:20;37876:1;37868:6;37864:14;37857:44;37846:62;:::o;37914:164::-;38054:16;38050:1;38042:6;38038:14;38031:40;38020:58;:::o;38084:163::-;38224:15;38220:1;38212:6;38208:14;38201:39;38190:57;:::o;38253:158::-;38393:10;38389:1;38381:6;38377:14;38370:34;38359:52;:::o;38417:174::-;38557:26;38553:1;38545:6;38541:14;38534:50;38523:68;:::o;38597:221::-;38737:34;38733:1;38725:6;38721:14;38714:58;38806:4;38801:2;38793:6;38789:15;38782:29;38703:115;:::o;38824:221::-;38964:34;38960:1;38952:6;38948:14;38941:58;39033:4;39028:2;39020:6;39016:15;39009:29;38930:115;:::o;39051:181::-;39191:33;39187:1;39179:6;39175:14;39168:57;39157:75;:::o;39238:182::-;39378:34;39374:1;39366:6;39362:14;39355:58;39344:76;:::o;39426:165::-;39566:17;39562:1;39554:6;39550:14;39543:41;39532:59;:::o;39597:122::-;39670:24;39688:5;39670:24;:::i;:::-;39663:5;39660:35;39650:2;;39709:1;39706;39699:12;39650:2;39640:79;:::o;39725:138::-;39806:32;39832:5;39806:32;:::i;:::-;39799:5;39796:43;39786:2;;39853:1;39850;39843:12;39786:2;39776:87;:::o;39869:122::-;39942:24;39960:5;39942:24;:::i;:::-;39935:5;39932:35;39922:2;;39981:1;39978;39971:12;39922:2;39912:79;:::o

Swarm Source

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