ETH Price: $3,269.66 (-4.13%)
Gas: 9 Gwei

Token

DOOMER (DOO)
 

Overview

Max Total Supply

100,000,000 DOO

Holders

23

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
2.656971767087731727 DOO

Value
$0.00
0x98B5a355284B42903A7a6d31Fc130E5F2e7D7301
Loading...
Loading
Loading...
Loading
Loading...
Loading

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

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0x7dDa95F6...17B014e3B
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
ERC20Token

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-10-24
*/

// SPDX-License-Identifier: MIT
pragma solidity 0.8.17;


interface Manager {
    function uniswapRouterV2() external view returns(address);
    function tokenB() external view returns(address);
    function iUniswapV2Factory() external view returns(address);
    function owner() external view returns(address);
    function tokenA() external view returns(address);
    function lpToken() external view returns(address);
    function vault() external view returns(address);
    function stPool() external view returns(address);
    function exPool() external view returns(address);
    function pair() external view returns(address);
    function receiverA() external view returns(address);
    function receiverB() external view returns(address);
}
interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}
library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a, "SafeMath: subtraction overflow");
        uint256 c = a - b;
        return c;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b > 0, "SafeMath: division by zero");
        uint256 c = a / b;
        return c;
    }
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b != 0, "SafeMath: modulo by zero");
        return a % b;
    }
}

contract ERC20 is IERC20 {
    using SafeMath for uint256;

    mapping (address => uint256) private _balances;

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

    mapping (address => bool) private _blackList;

    mapping (address => bool) private _whiteList;

    uint256 private _totalSupply;

    uint256 private _initialValue = 1e18;

    uint256 private _inProportion = 10;

    uint256 private _outProportion = 10;

    address public manager;

    function totalSupply() public view returns (uint256) {
        return _totalSupply.mul(_initialValue).div(1e18);
    }

    function initialValue() public view returns (uint256) {
        return _initialValue;
    }

    function inProportion() public view returns (uint256){
        return _inProportion;
    }

    function outProportion() public view returns (uint256) {
        return _outProportion;
    }

    function getBlackList(address user) public view returns(bool) {
       return _blackList[user];
    }

    function getWhiteList(address user) public view returns(bool) {
        return _whiteList[user];
    }

    function balanceOf(address account) public view returns (uint256) {
        return _balances[account].mul(_initialValue).div(1e18);
    }

    function setInProportion(uint256 newInProportion) public onlyOwner returns (bool){
        assert(newInProportion < 100);
        _inProportion = newInProportion;
        return true;
    }

    function setManger(address _manager) public onlyOwner{
        manager = _manager;
    }

    function setOutProportion(uint256 newOutProportion) public onlyOwner returns(bool) {
        assert(newOutProportion < 100);
        _outProportion = newOutProportion;
        return true;
    }
   
    function rebase(uint256 coefficient) public onlyOwner returns (bool){
        require(coefficient <= 10000,"ERC20: rebase error");
        address stPool = Manager(manager).stPool();
        uint256 beforeRebase = balanceOf(stPool);
        _initialValue = _initialValue.mul(coefficient).div(10000);
        uint256 afterRebase = balanceOf(stPool);
        _mint(stPool, beforeRebase.sub(afterRebase));
        return true;
    }

    function setBlackList(address user) public onlyOwner {
        _blackList[user] = true;
    }

    function setWhiteList(address user) public onlyOwner{
        _whiteList[user] = true;
    }

    function cancelBlackList(address user) public onlyOwner {
        _blackList[user] = false;
    }

    function cancelWhiteList(address user) public onlyOwner{
        _whiteList[user] = false;
    }

    function transfer(address recipient, uint256 amount) public returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }

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

    function approve(address spender, uint256 value) public returns (bool) {
        _approve(msg.sender, spender, value);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, msg.sender, _allowances[sender][msg.sender].sub(amount));
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public returns (bool) {
        _approve(msg.sender, spender, _allowances[msg.sender][spender].add(addedValue));
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) {
        _approve(msg.sender, spender, _allowances[msg.sender][spender].sub(subtractedValue));
        return true;
    }

    function burn(uint256 value) public {
      _burn(msg.sender, value);
    }

    function _transfer(address sender, address recipient, uint256 amount) internal {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(!_blackList[sender],"ERC20: this is an illegal address");

        uint256 rebaseBeforeAmount = getBeforeRebase(amount);

        if(!_whiteList[sender] && !_whiteList[tx.origin]){
            uint256 proportion;
            address pair = Manager(manager).pair();
            if(sender == pair){
                proportion = _outProportion;
            }else if(recipient == pair){
                proportion = _inProportion;
            }
            if(proportion > 0){
                address exPool = Manager(manager).exPool();
                _balances[sender] = _balances[sender].sub(rebaseBeforeAmount);
                uint256 toAmount = rebaseBeforeAmount.mul(uint256(100).sub(proportion)).div(100);
                _balances[recipient] = _balances[recipient].add(toAmount);
                _balances[exPool] = _balances[exPool].add(rebaseBeforeAmount.sub(toAmount));
                toAmount = toAmount.mul(_initialValue).div(1e18);
                emit Transfer(sender, recipient, toAmount);
                emit Transfer(sender, exPool, amount.sub(toAmount));
                return;
            }
        }
        _balances[sender] = _balances[sender].sub(rebaseBeforeAmount);
        _balances[recipient] = _balances[recipient].add(rebaseBeforeAmount);
        emit Transfer(sender, recipient, amount);
    }

    function _mint(address account, uint256 amount) internal {
        require(account != address(0), "ERC20: mint to the zero address");
        uint256 rebaseBeforeAmount = getBeforeRebase(amount);

        _totalSupply = _totalSupply.add(rebaseBeforeAmount);
        _balances[account] = _balances[account].add(rebaseBeforeAmount);
        emit Transfer(address(0), account, amount);
    }

    function getBeforeRebase(uint256 amount) internal view returns (uint256) {
        return amount.mul(1e18).div(_initialValue);
    }

    function _burn(address account, uint256 value) internal {
        require(account != address(0), "ERC20: burn from the zero address");
        uint256 rebaseBeforeAmount = getBeforeRebase(value);
        _totalSupply = _totalSupply.sub(rebaseBeforeAmount);
        _balances[account] = _balances[account].sub(rebaseBeforeAmount);
        emit Transfer(account, address(0), value);
    }

    function _approve(address user, address spender, uint256 value) internal {
        require(user != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[user][spender] = value;
        emit Approval(user, spender, value);
    }

    function _burnFrom(address account, uint256 amount) internal {
        _burn(account, amount);
        _approve(account, msg.sender, _allowances[account][msg.sender].sub(amount));
    }

    modifier onlyOwner() {
        require(msg.sender == Manager(manager).owner(),"ERC20: address is not owner");
        _;
    }
}


contract ERC20Token is ERC20 {

    string public  name;
    string public symbol;
    uint8 public decimals;

    constructor(string memory tokenName, string memory tokenSymbol, uint8 tokenDecimals, uint256 amount,address _manager)   {
      name = tokenName;
      symbol = tokenSymbol;
      decimals = tokenDecimals;

      _mint(msg.sender, amount);
      manager = _manager;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"tokenName","type":"string"},{"internalType":"string","name":"tokenSymbol","type":"string"},{"internalType":"uint8","name":"tokenDecimals","type":"uint8"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"_manager","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":"user","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":"value","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":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"cancelBlackList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"cancelWhiteList","outputs":[],"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":[{"internalType":"address","name":"user","type":"address"}],"name":"getBlackList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getWhiteList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"inProportion","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":"initialValue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manager","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"outProportion","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"coefficient","type":"uint256"}],"name":"rebase","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"setBlackList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newInProportion","type":"uint256"}],"name":"setInProportion","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_manager","type":"address"}],"name":"setManger","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newOutProportion","type":"uint256"}],"name":"setOutProportion","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"setWhiteList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"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"}]

6080604052670de0b6b3a7640000600555600a600655600a6007553480156200002757600080fd5b5060405162003f4838038062003f4883398181016040528101906200004d91906200069a565b84600990816200005e9190620009a1565b5083600a9081620000709190620009a1565b5082600b60006101000a81548160ff021916908360ff1602179055506200009e3383620000ea60201b60201c565b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050505062000dd1565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200015c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001539062000ae9565b60405180910390fd5b60006200016f826200029a60201b60201c565b90506200018d81600454620002e060201b620016281790919060201c565b600481905550620001eb816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054620002e060201b620016281790919060201c565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516200028d919062000b1c565b60405180910390a3505050565b6000620002d9600554620002c5670de0b6b3a7640000856200034360201b620016861790919060201c565b620003c660201b620017001790919060201c565b9050919050565b6000808284620002f1919062000b68565b90508381101562000339576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003309062000bf3565b60405180910390fd5b8091505092915050565b6000808303620003575760009050620003c0565b6000828462000367919062000c15565b905082848262000378919062000c8f565b14620003bb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003b29062000d3d565b60405180910390fd5b809150505b92915050565b60008082116200040d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004049062000daf565b60405180910390fd5b600082846200041d919062000c8f565b90508091505092915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620004928262000447565b810181811067ffffffffffffffff82111715620004b457620004b362000458565b5b80604052505050565b6000620004c962000429565b9050620004d7828262000487565b919050565b600067ffffffffffffffff821115620004fa57620004f962000458565b5b620005058262000447565b9050602081019050919050565b60005b838110156200053257808201518184015260208101905062000515565b60008484015250505050565b6000620005556200054f84620004dc565b620004bd565b90508281526020810184848401111562000574576200057362000442565b5b6200058184828562000512565b509392505050565b600082601f830112620005a157620005a06200043d565b5b8151620005b38482602086016200053e565b91505092915050565b600060ff82169050919050565b620005d481620005bc565b8114620005e057600080fd5b50565b600081519050620005f481620005c9565b92915050565b6000819050919050565b6200060f81620005fa565b81146200061b57600080fd5b50565b6000815190506200062f8162000604565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620006628262000635565b9050919050565b620006748162000655565b81146200068057600080fd5b50565b600081519050620006948162000669565b92915050565b600080600080600060a08688031215620006b957620006b862000433565b5b600086015167ffffffffffffffff811115620006da57620006d962000438565b5b620006e88882890162000589565b955050602086015167ffffffffffffffff8111156200070c576200070b62000438565b5b6200071a8882890162000589565b94505060406200072d88828901620005e3565b935050606062000740888289016200061e565b9250506080620007538882890162000683565b9150509295509295909350565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620007b357607f821691505b602082108103620007c957620007c86200076b565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620008337fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620007f4565b6200083f8683620007f4565b95508019841693508086168417925050509392505050565b6000819050919050565b6000620008826200087c6200087684620005fa565b62000857565b620005fa565b9050919050565b6000819050919050565b6200089e8362000861565b620008b6620008ad8262000889565b84845462000801565b825550505050565b600090565b620008cd620008be565b620008da81848462000893565b505050565b5b818110156200090257620008f6600082620008c3565b600181019050620008e0565b5050565b601f82111562000951576200091b81620007cf565b6200092684620007e4565b8101602085101562000936578190505b6200094e6200094585620007e4565b830182620008df565b50505b505050565b600082821c905092915050565b6000620009766000198460080262000956565b1980831691505092915050565b600062000991838362000963565b9150826002028217905092915050565b620009ac8262000760565b67ffffffffffffffff811115620009c857620009c762000458565b5b620009d482546200079a565b620009e182828562000906565b600060209050601f83116001811462000a19576000841562000a04578287015190505b62000a10858262000983565b86555062000a80565b601f19841662000a2986620007cf565b60005b8281101562000a535784890151825560018201915060208501945060208101905062000a2c565b8683101562000a73578489015162000a6f601f89168262000963565b8355505b6001600288020188555050505b505050505050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000ad1601f8362000a88565b915062000ade8262000a99565b602082019050919050565b6000602082019050818103600083015262000b048162000ac2565b9050919050565b62000b1681620005fa565b82525050565b600060208201905062000b33600083018462000b0b565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000b7582620005fa565b915062000b8283620005fa565b925082820190508082111562000b9d5762000b9c62000b39565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600062000bdb601b8362000a88565b915062000be88262000ba3565b602082019050919050565b6000602082019050818103600083015262000c0e8162000bcc565b9050919050565b600062000c2282620005fa565b915062000c2f83620005fa565b925082820262000c3f81620005fa565b9150828204841483151762000c595762000c5862000b39565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000c9c82620005fa565b915062000ca983620005fa565b92508262000cbc5762000cbb62000c60565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600062000d2560218362000a88565b915062000d328262000cc7565b604082019050919050565b6000602082019050818103600083015262000d588162000d16565b9050919050565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000600082015250565b600062000d97601a8362000a88565b915062000da48262000d5f565b602082019050919050565b6000602082019050818103600083015262000dca8162000d88565b9050919050565b6131678062000de16000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c806370a08231116100de578063a457c2d711610097578063c3a285b311610071578063c3a285b3146104e5578063cc32a68e14610501578063d4404ee21461051d578063dd62ed3e1461053b5761018e565b8063a457c2d714610455578063a9059cbb14610485578063bc4f2d6d146104b55761018e565b806370a082311461036f578063727002411461039f5780637848a8f8146103bb57806379206f7d146103d757806395d89b41146104075780639dfe9d68146104255761018e565b8063313ce5671161014b5780633fbdc67d116101255780633fbdc67d146102e757806342966c6814610317578063481c6a751461033357806356377d16146103515761018e565b8063313ce5671461027d578063395093511461029b57806339e899ee146102cb5761018e565b806304df28891461019357806306fdde03146101b1578063095ea7b3146101cf57806318160ddd146101ff5780631953bfde1461021d57806323b872dd1461024d575b600080fd5b61019b61056b565b6040516101a89190612581565b60405180910390f35b6101b9610575565b6040516101c6919061262c565b60405180910390f35b6101e960048036038101906101e491906126dd565b610603565b6040516101f69190612738565b60405180910390f35b61020761061a565b6040516102149190612581565b60405180910390f35b61023760048036038101906102329190612753565b610652565b6040516102449190612738565b60405180910390f35b61026760048036038101906102629190612780565b610773565b6040516102749190612738565b60405180910390f35b610285610824565b60405161029291906127ef565b60405180910390f35b6102b560048036038101906102b091906126dd565b610837565b6040516102c29190612738565b60405180910390f35b6102e560048036038101906102e0919061280a565b6108dc565b005b61030160048036038101906102fc919061280a565b610a35565b60405161030e9190612738565b60405180910390f35b610331600480360381019061032c9190612753565b610a8b565b005b61033b610a98565b6040516103489190612846565b60405180910390f35b610359610abe565b6040516103669190612581565b60405180910390f35b6103896004803603810190610384919061280a565b610ac8565b6040516103969190612581565b60405180910390f35b6103b960048036038101906103b4919061280a565b610b3e565b005b6103d560048036038101906103d0919061280a565b610c97565b005b6103f160048036038101906103ec9190612753565b610dd9565b6040516103fe9190612738565b60405180910390f35b61040f610efa565b60405161041c919061262c565b60405180910390f35b61043f600480360381019061043a919061280a565b610f88565b60405161044c9190612738565b60405180910390f35b61046f600480360381019061046a91906126dd565b610fde565b60405161047c9190612738565b60405180910390f35b61049f600480360381019061049a91906126dd565b611083565b6040516104ac9190612738565b60405180910390f35b6104cf60048036038101906104ca9190612753565b61109a565b6040516104dc9190612738565b60405180910390f35b6104ff60048036038101906104fa919061280a565b6112e5565b005b61051b6004803603810190610516919061280a565b61143e565b005b610525611597565b6040516105329190612581565b60405180910390f35b61055560048036038101906105509190612861565b6115a1565b6040516105629190612581565b60405180910390f35b6000600654905090565b60098054610582906128d0565b80601f01602080910402602001604051908101604052809291908181526020018280546105ae906128d0565b80156105fb5780601f106105d0576101008083540402835291602001916105fb565b820191906000526020600020905b8154815290600101906020018083116105de57829003601f168201915b505050505081565b600061061033848461175e565b6001905092915050565b600061064d670de0b6b3a764000061063f60055460045461168690919063ffffffff16565b61170090919063ffffffff16565b905090565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e59190612916565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610752576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107499061298f565b60405180910390fd5b60648210610763576107626129af565b5b8160078190555060019050919050565b6000610780848484611927565b610819843361081485600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121a790919063ffffffff16565b61175e565b600190509392505050565b600b60009054906101000a900460ff1681565b60006108d233846108cd85600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461162890919063ffffffff16565b61175e565b6001905092915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610949573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096d9190612916565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d19061298f565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b610a953382612206565b50565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600554905090565b6000610b37670de0b6b3a7640000610b296005546000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461168690919063ffffffff16565b61170090919063ffffffff16565b9050919050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bcf9190612916565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c339061298f565b60405180910390fd5b6001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d289190612916565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8c9061298f565b60405180910390fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e6c9190612916565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ed9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed09061298f565b60405180910390fd5b60648210610eea57610ee96129af565b5b8160068190555060019050919050565b600a8054610f07906128d0565b80601f0160208091040260200160405190810160405280929190818152602001828054610f33906128d0565b8015610f805780601f10610f5557610100808354040283529160200191610f80565b820191906000526020600020905b815481529060010190602001808311610f6357829003601f168201915b505050505081565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000611079338461107485600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121a790919063ffffffff16565b61175e565b6001905092915050565b6000611090338484611927565b6001905092915050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611109573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061112d9190612916565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461119a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111919061298f565b60405180910390fd5b6127108211156111df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d690612a2a565b60405180910390fd5b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166331466a006040518163ffffffff1660e01b8152600401602060405180830381865afa15801561124e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112729190612916565b9050600061127f82610ac8565b90506112aa61271061129c8660055461168690919063ffffffff16565b61170090919063ffffffff16565b60058190555060006112bb83610ac8565b90506112d9836112d483856121a790919063ffffffff16565b61239b565b60019350505050919050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611352573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113769190612916565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146113e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113da9061298f565b60405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114cf9190612916565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461153c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115339061298f565b60405180910390fd5b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600754905090565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008082846116379190612a79565b90508381101561167c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167390612af9565b60405180910390fd5b8091505092915050565b600080830361169857600090506116fa565b600082846116a69190612b19565b90508284826116b59190612b8a565b146116f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ec90612c2d565b60405180910390fd5b809150505b92915050565b6000808211611744576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173b90612c99565b60405180910390fd5b600082846117529190612b8a565b90508091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036117cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c490612d2b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361183c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183390612dbd565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161191a9190612581565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611996576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161198d90612e4f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a05576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119fc90612ee1565b60405180910390fd5b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611a92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8990612f73565b60405180910390fd5b6000611a9d82612530565b9050600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611b435750600360003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561201557600080600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a8aa1b316040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bb8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bdc9190612916565b90508073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1603611c1b576007549150611c55565b8073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611c545760065491505b5b6000821115612012576000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d6bd485a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ccd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cf19190612916565b9050611d44846000808a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121a790919063ffffffff16565b6000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000611dc16064611db3611da48760646121a790919063ffffffff16565b8861168690919063ffffffff16565b61170090919063ffffffff16565b9050611e14816000808a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461162890919063ffffffff16565b6000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611eb9611e6c82876121a790919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461162890919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f2a670de0b6b3a7640000611f1c6005548461168690919063ffffffff16565b61170090919063ffffffff16565b90508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611f899190612581565b60405180910390a38173ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611ff3848a6121a790919063ffffffff16565b6040516120009190612581565b60405180910390a350505050506121a2565b50505b612066816000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121a790919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120f9816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461162890919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516121989190612581565b60405180910390a3505b505050565b6000828211156121ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121e390612fdf565b60405180910390fd5b600082846121fa9190612fff565b90508091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612275576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161226c906130a5565b60405180910390fd5b600061228082612530565b9050612297816004546121a790919063ffffffff16565b6004819055506122ee816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121a790919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161238e9190612581565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361240a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161240190613111565b60405180910390fd5b600061241582612530565b905061242c8160045461162890919063ffffffff16565b600481905550612483816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461162890919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516125239190612581565b60405180910390a3505050565b6000612561600554612553670de0b6b3a76400008561168690919063ffffffff16565b61170090919063ffffffff16565b9050919050565b6000819050919050565b61257b81612568565b82525050565b60006020820190506125966000830184612572565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156125d65780820151818401526020810190506125bb565b60008484015250505050565b6000601f19601f8301169050919050565b60006125fe8261259c565b61260881856125a7565b93506126188185602086016125b8565b612621816125e2565b840191505092915050565b6000602082019050818103600083015261264681846125f3565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061267e82612653565b9050919050565b61268e81612673565b811461269957600080fd5b50565b6000813590506126ab81612685565b92915050565b6126ba81612568565b81146126c557600080fd5b50565b6000813590506126d7816126b1565b92915050565b600080604083850312156126f4576126f361264e565b5b60006127028582860161269c565b9250506020612713858286016126c8565b9150509250929050565b60008115159050919050565b6127328161271d565b82525050565b600060208201905061274d6000830184612729565b92915050565b6000602082840312156127695761276861264e565b5b6000612777848285016126c8565b91505092915050565b6000806000606084860312156127995761279861264e565b5b60006127a78682870161269c565b93505060206127b88682870161269c565b92505060406127c9868287016126c8565b9150509250925092565b600060ff82169050919050565b6127e9816127d3565b82525050565b600060208201905061280460008301846127e0565b92915050565b6000602082840312156128205761281f61264e565b5b600061282e8482850161269c565b91505092915050565b61284081612673565b82525050565b600060208201905061285b6000830184612837565b92915050565b600080604083850312156128785761287761264e565b5b60006128868582860161269c565b92505060206128978582860161269c565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806128e857607f821691505b6020821081036128fb576128fa6128a1565b5b50919050565b60008151905061291081612685565b92915050565b60006020828403121561292c5761292b61264e565b5b600061293a84828501612901565b91505092915050565b7f45524332303a2061646472657373206973206e6f74206f776e65720000000000600082015250565b6000612979601b836125a7565b915061298482612943565b602082019050919050565b600060208201905081810360008301526129a88161296c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b7f45524332303a20726562617365206572726f7200000000000000000000000000600082015250565b6000612a146013836125a7565b9150612a1f826129de565b602082019050919050565b60006020820190508181036000830152612a4381612a07565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612a8482612568565b9150612a8f83612568565b9250828201905080821115612aa757612aa6612a4a565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612ae3601b836125a7565b9150612aee82612aad565b602082019050919050565b60006020820190508181036000830152612b1281612ad6565b9050919050565b6000612b2482612568565b9150612b2f83612568565b9250828202612b3d81612568565b91508282048414831517612b5457612b53612a4a565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612b9582612568565b9150612ba083612568565b925082612bb057612baf612b5b565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612c176021836125a7565b9150612c2282612bbb565b604082019050919050565b60006020820190508181036000830152612c4681612c0a565b9050919050565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000600082015250565b6000612c83601a836125a7565b9150612c8e82612c4d565b602082019050919050565b60006020820190508181036000830152612cb281612c76565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612d156024836125a7565b9150612d2082612cb9565b604082019050919050565b60006020820190508181036000830152612d4481612d08565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612da76022836125a7565b9150612db282612d4b565b604082019050919050565b60006020820190508181036000830152612dd681612d9a565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612e396025836125a7565b9150612e4482612ddd565b604082019050919050565b60006020820190508181036000830152612e6881612e2c565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612ecb6023836125a7565b9150612ed682612e6f565b604082019050919050565b60006020820190508181036000830152612efa81612ebe565b9050919050565b7f45524332303a207468697320697320616e20696c6c6567616c2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000612f5d6021836125a7565b9150612f6882612f01565b604082019050919050565b60006020820190508181036000830152612f8c81612f50565b9050919050565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000600082015250565b6000612fc9601e836125a7565b9150612fd482612f93565b602082019050919050565b60006020820190508181036000830152612ff881612fbc565b9050919050565b600061300a82612568565b915061301583612568565b925082820390508181111561302d5761302c612a4a565b5b92915050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b600061308f6021836125a7565b915061309a82613033565b604082019050919050565b600060208201905081810360008301526130be81613082565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b60006130fb601f836125a7565b9150613106826130c5565b602082019050919050565b6000602082019050818103600083015261312a816130ee565b905091905056fea26469706673582212200743d85755003ca96a18016346b48db51c78358096b13c111c1889eda14bdf2164736f6c6343000811003300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000052b7d2dcc80cd2e4000000000000000000000000000000d58c7e6c942e252a0ad31ea00f02d1bdf9bcc47d000000000000000000000000000000000000000000000000000000000000000e50524f5445435420444f4f4d45520000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003444f4f0000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061018e5760003560e01c806370a08231116100de578063a457c2d711610097578063c3a285b311610071578063c3a285b3146104e5578063cc32a68e14610501578063d4404ee21461051d578063dd62ed3e1461053b5761018e565b8063a457c2d714610455578063a9059cbb14610485578063bc4f2d6d146104b55761018e565b806370a082311461036f578063727002411461039f5780637848a8f8146103bb57806379206f7d146103d757806395d89b41146104075780639dfe9d68146104255761018e565b8063313ce5671161014b5780633fbdc67d116101255780633fbdc67d146102e757806342966c6814610317578063481c6a751461033357806356377d16146103515761018e565b8063313ce5671461027d578063395093511461029b57806339e899ee146102cb5761018e565b806304df28891461019357806306fdde03146101b1578063095ea7b3146101cf57806318160ddd146101ff5780631953bfde1461021d57806323b872dd1461024d575b600080fd5b61019b61056b565b6040516101a89190612581565b60405180910390f35b6101b9610575565b6040516101c6919061262c565b60405180910390f35b6101e960048036038101906101e491906126dd565b610603565b6040516101f69190612738565b60405180910390f35b61020761061a565b6040516102149190612581565b60405180910390f35b61023760048036038101906102329190612753565b610652565b6040516102449190612738565b60405180910390f35b61026760048036038101906102629190612780565b610773565b6040516102749190612738565b60405180910390f35b610285610824565b60405161029291906127ef565b60405180910390f35b6102b560048036038101906102b091906126dd565b610837565b6040516102c29190612738565b60405180910390f35b6102e560048036038101906102e0919061280a565b6108dc565b005b61030160048036038101906102fc919061280a565b610a35565b60405161030e9190612738565b60405180910390f35b610331600480360381019061032c9190612753565b610a8b565b005b61033b610a98565b6040516103489190612846565b60405180910390f35b610359610abe565b6040516103669190612581565b60405180910390f35b6103896004803603810190610384919061280a565b610ac8565b6040516103969190612581565b60405180910390f35b6103b960048036038101906103b4919061280a565b610b3e565b005b6103d560048036038101906103d0919061280a565b610c97565b005b6103f160048036038101906103ec9190612753565b610dd9565b6040516103fe9190612738565b60405180910390f35b61040f610efa565b60405161041c919061262c565b60405180910390f35b61043f600480360381019061043a919061280a565b610f88565b60405161044c9190612738565b60405180910390f35b61046f600480360381019061046a91906126dd565b610fde565b60405161047c9190612738565b60405180910390f35b61049f600480360381019061049a91906126dd565b611083565b6040516104ac9190612738565b60405180910390f35b6104cf60048036038101906104ca9190612753565b61109a565b6040516104dc9190612738565b60405180910390f35b6104ff60048036038101906104fa919061280a565b6112e5565b005b61051b6004803603810190610516919061280a565b61143e565b005b610525611597565b6040516105329190612581565b60405180910390f35b61055560048036038101906105509190612861565b6115a1565b6040516105629190612581565b60405180910390f35b6000600654905090565b60098054610582906128d0565b80601f01602080910402602001604051908101604052809291908181526020018280546105ae906128d0565b80156105fb5780601f106105d0576101008083540402835291602001916105fb565b820191906000526020600020905b8154815290600101906020018083116105de57829003601f168201915b505050505081565b600061061033848461175e565b6001905092915050565b600061064d670de0b6b3a764000061063f60055460045461168690919063ffffffff16565b61170090919063ffffffff16565b905090565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e59190612916565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610752576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107499061298f565b60405180910390fd5b60648210610763576107626129af565b5b8160078190555060019050919050565b6000610780848484611927565b610819843361081485600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121a790919063ffffffff16565b61175e565b600190509392505050565b600b60009054906101000a900460ff1681565b60006108d233846108cd85600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461162890919063ffffffff16565b61175e565b6001905092915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610949573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096d9190612916565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d19061298f565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b610a953382612206565b50565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600554905090565b6000610b37670de0b6b3a7640000610b296005546000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461168690919063ffffffff16565b61170090919063ffffffff16565b9050919050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bcf9190612916565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c339061298f565b60405180910390fd5b6001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d289190612916565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8c9061298f565b60405180910390fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e6c9190612916565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ed9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed09061298f565b60405180910390fd5b60648210610eea57610ee96129af565b5b8160068190555060019050919050565b600a8054610f07906128d0565b80601f0160208091040260200160405190810160405280929190818152602001828054610f33906128d0565b8015610f805780601f10610f5557610100808354040283529160200191610f80565b820191906000526020600020905b815481529060010190602001808311610f6357829003601f168201915b505050505081565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000611079338461107485600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121a790919063ffffffff16565b61175e565b6001905092915050565b6000611090338484611927565b6001905092915050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611109573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061112d9190612916565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461119a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111919061298f565b60405180910390fd5b6127108211156111df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d690612a2a565b60405180910390fd5b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166331466a006040518163ffffffff1660e01b8152600401602060405180830381865afa15801561124e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112729190612916565b9050600061127f82610ac8565b90506112aa61271061129c8660055461168690919063ffffffff16565b61170090919063ffffffff16565b60058190555060006112bb83610ac8565b90506112d9836112d483856121a790919063ffffffff16565b61239b565b60019350505050919050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611352573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113769190612916565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146113e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113da9061298f565b60405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114cf9190612916565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461153c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115339061298f565b60405180910390fd5b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600754905090565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008082846116379190612a79565b90508381101561167c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167390612af9565b60405180910390fd5b8091505092915050565b600080830361169857600090506116fa565b600082846116a69190612b19565b90508284826116b59190612b8a565b146116f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ec90612c2d565b60405180910390fd5b809150505b92915050565b6000808211611744576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173b90612c99565b60405180910390fd5b600082846117529190612b8a565b90508091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036117cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c490612d2b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361183c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183390612dbd565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161191a9190612581565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611996576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161198d90612e4f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a05576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119fc90612ee1565b60405180910390fd5b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611a92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8990612f73565b60405180910390fd5b6000611a9d82612530565b9050600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611b435750600360003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561201557600080600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a8aa1b316040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bb8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bdc9190612916565b90508073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1603611c1b576007549150611c55565b8073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611c545760065491505b5b6000821115612012576000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d6bd485a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ccd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cf19190612916565b9050611d44846000808a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121a790919063ffffffff16565b6000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000611dc16064611db3611da48760646121a790919063ffffffff16565b8861168690919063ffffffff16565b61170090919063ffffffff16565b9050611e14816000808a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461162890919063ffffffff16565b6000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611eb9611e6c82876121a790919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461162890919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f2a670de0b6b3a7640000611f1c6005548461168690919063ffffffff16565b61170090919063ffffffff16565b90508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611f899190612581565b60405180910390a38173ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611ff3848a6121a790919063ffffffff16565b6040516120009190612581565b60405180910390a350505050506121a2565b50505b612066816000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121a790919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120f9816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461162890919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516121989190612581565b60405180910390a3505b505050565b6000828211156121ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121e390612fdf565b60405180910390fd5b600082846121fa9190612fff565b90508091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612275576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161226c906130a5565b60405180910390fd5b600061228082612530565b9050612297816004546121a790919063ffffffff16565b6004819055506122ee816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121a790919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161238e9190612581565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361240a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161240190613111565b60405180910390fd5b600061241582612530565b905061242c8160045461162890919063ffffffff16565b600481905550612483816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461162890919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516125239190612581565b60405180910390a3505050565b6000612561600554612553670de0b6b3a76400008561168690919063ffffffff16565b61170090919063ffffffff16565b9050919050565b6000819050919050565b61257b81612568565b82525050565b60006020820190506125966000830184612572565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156125d65780820151818401526020810190506125bb565b60008484015250505050565b6000601f19601f8301169050919050565b60006125fe8261259c565b61260881856125a7565b93506126188185602086016125b8565b612621816125e2565b840191505092915050565b6000602082019050818103600083015261264681846125f3565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061267e82612653565b9050919050565b61268e81612673565b811461269957600080fd5b50565b6000813590506126ab81612685565b92915050565b6126ba81612568565b81146126c557600080fd5b50565b6000813590506126d7816126b1565b92915050565b600080604083850312156126f4576126f361264e565b5b60006127028582860161269c565b9250506020612713858286016126c8565b9150509250929050565b60008115159050919050565b6127328161271d565b82525050565b600060208201905061274d6000830184612729565b92915050565b6000602082840312156127695761276861264e565b5b6000612777848285016126c8565b91505092915050565b6000806000606084860312156127995761279861264e565b5b60006127a78682870161269c565b93505060206127b88682870161269c565b92505060406127c9868287016126c8565b9150509250925092565b600060ff82169050919050565b6127e9816127d3565b82525050565b600060208201905061280460008301846127e0565b92915050565b6000602082840312156128205761281f61264e565b5b600061282e8482850161269c565b91505092915050565b61284081612673565b82525050565b600060208201905061285b6000830184612837565b92915050565b600080604083850312156128785761287761264e565b5b60006128868582860161269c565b92505060206128978582860161269c565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806128e857607f821691505b6020821081036128fb576128fa6128a1565b5b50919050565b60008151905061291081612685565b92915050565b60006020828403121561292c5761292b61264e565b5b600061293a84828501612901565b91505092915050565b7f45524332303a2061646472657373206973206e6f74206f776e65720000000000600082015250565b6000612979601b836125a7565b915061298482612943565b602082019050919050565b600060208201905081810360008301526129a88161296c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b7f45524332303a20726562617365206572726f7200000000000000000000000000600082015250565b6000612a146013836125a7565b9150612a1f826129de565b602082019050919050565b60006020820190508181036000830152612a4381612a07565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612a8482612568565b9150612a8f83612568565b9250828201905080821115612aa757612aa6612a4a565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612ae3601b836125a7565b9150612aee82612aad565b602082019050919050565b60006020820190508181036000830152612b1281612ad6565b9050919050565b6000612b2482612568565b9150612b2f83612568565b9250828202612b3d81612568565b91508282048414831517612b5457612b53612a4a565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612b9582612568565b9150612ba083612568565b925082612bb057612baf612b5b565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612c176021836125a7565b9150612c2282612bbb565b604082019050919050565b60006020820190508181036000830152612c4681612c0a565b9050919050565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000600082015250565b6000612c83601a836125a7565b9150612c8e82612c4d565b602082019050919050565b60006020820190508181036000830152612cb281612c76565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612d156024836125a7565b9150612d2082612cb9565b604082019050919050565b60006020820190508181036000830152612d4481612d08565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612da76022836125a7565b9150612db282612d4b565b604082019050919050565b60006020820190508181036000830152612dd681612d9a565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612e396025836125a7565b9150612e4482612ddd565b604082019050919050565b60006020820190508181036000830152612e6881612e2c565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612ecb6023836125a7565b9150612ed682612e6f565b604082019050919050565b60006020820190508181036000830152612efa81612ebe565b9050919050565b7f45524332303a207468697320697320616e20696c6c6567616c2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000612f5d6021836125a7565b9150612f6882612f01565b604082019050919050565b60006020820190508181036000830152612f8c81612f50565b9050919050565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000600082015250565b6000612fc9601e836125a7565b9150612fd482612f93565b602082019050919050565b60006020820190508181036000830152612ff881612fbc565b9050919050565b600061300a82612568565b915061301583612568565b925082820390508181111561302d5761302c612a4a565b5b92915050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b600061308f6021836125a7565b915061309a82613033565b604082019050919050565b600060208201905081810360008301526130be81613082565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b60006130fb601f836125a7565b9150613106826130c5565b602082019050919050565b6000602082019050818103600083015261312a816130ee565b905091905056fea26469706673582212200743d85755003ca96a18016346b48db51c78358096b13c111c1889eda14bdf2164736f6c63430008110033

Deployed Bytecode Sourcemap

9599:402:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3170:92;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9637:19;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5418:148;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2941:120;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4042:198;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5574:256;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9690:21;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5838:206;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4799:94;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3373:103;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6276:77;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2910:22;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3069:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3596:139;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4696:95;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3944:90;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3743:193;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9663:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3484:104;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6052:216;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5114:156;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4251:437;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5008:98;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4901:99;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3270:95;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5278:132;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3170:92;3215:7;3241:13;;3234:20;;3170:92;:::o;9637:19::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5418:148::-;5483:4;5500:36;5509:10;5521:7;5530:5;5500:8;:36::i;:::-;5554:4;5547:11;;5418:148;;;;:::o;2941:120::-;2985:7;3012:41;3048:4;3012:31;3029:13;;3012:12;;:16;;:31;;;;:::i;:::-;:35;;:41;;;;:::i;:::-;3005:48;;2941:120;:::o;4042:198::-;4119:4;9523:7;;;;;;;;;;;9515:22;;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9501:38;;:10;:38;;;9493:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;4162:3:::1;4143:16;:22;4136:30;;;;:::i;:::-;;4194:16;4177:14;:33;;;;4228:4;4221:11;;4042:198:::0;;;:::o;5574:256::-;5663:4;5680:36;5690:6;5698:9;5709:6;5680:9;:36::i;:::-;5727:73;5736:6;5744:10;5756:43;5792:6;5756:11;:19;5768:6;5756:19;;;;;;;;;;;;;;;:31;5776:10;5756:31;;;;;;;;;;;;;;;;:35;;:43;;;;:::i;:::-;5727:8;:73::i;:::-;5818:4;5811:11;;5574:256;;;;;:::o;9690:21::-;;;;;;;;;;;;;:::o;5838:206::-;5918:4;5935:79;5944:10;5956:7;5965:48;6002:10;5965:11;:23;5977:10;5965:23;;;;;;;;;;;;;;;:32;5989:7;5965:32;;;;;;;;;;;;;;;;:36;;:48;;;;:::i;:::-;5935:8;:79::i;:::-;6032:4;6025:11;;5838:206;;;;:::o;4799:94::-;9523:7;;;;;;;;;;;9515:22;;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9501:38;;:10;:38;;;9493:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;4881:4:::1;4862:10;:16;4873:4;4862:16;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;4799:94:::0;:::o;3373:103::-;3429:4;3452:10;:16;3463:4;3452:16;;;;;;;;;;;;;;;;;;;;;;;;;3445:23;;3373:103;;;:::o;6276:77::-;6321:24;6327:10;6339:5;6321;:24::i;:::-;6276:77;:::o;2910:22::-;;;;;;;;;;;;;:::o;3069:93::-;3114:7;3141:13;;3134:20;;3069:93;:::o;3596:139::-;3653:7;3680:47;3722:4;3680:37;3703:13;;3680:9;:18;3690:7;3680:18;;;;;;;;;;;;;;;;:22;;:37;;;;:::i;:::-;:41;;:47;;;;:::i;:::-;3673:54;;3596:139;;;:::o;4696:95::-;9523:7;;;;;;;;;;;9515:22;;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9501:38;;:10;:38;;;9493:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;4779:4:::1;4760:10;:16;4771:4;4760:16;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;4696:95:::0;:::o;3944:90::-;9523:7;;;;;;;;;;;9515:22;;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9501:38;;:10;:38;;;9493:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;4018:8:::1;4008:7;;:18;;;;;;;;;;;;;;;;;;3944:90:::0;:::o;3743:193::-;3819:4;9523:7;;;;;;;;;;;9515:22;;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9501:38;;:10;:38;;;9493:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;3860:3:::1;3842:15;:21;3835:29;;;;:::i;:::-;;3891:15;3875:13;:31;;;;3924:4;3917:11;;3743:193:::0;;;:::o;9663:20::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3484:104::-;3540:4;3564:10;:16;3575:4;3564:16;;;;;;;;;;;;;;;;;;;;;;;;;3557:23;;3484:104;;;:::o;6052:216::-;6137:4;6154:84;6163:10;6175:7;6184:53;6221:15;6184:11;:23;6196:10;6184:23;;;;;;;;;;;;;;;:32;6208:7;6184:32;;;;;;;;;;;;;;;;:36;;:53;;;;:::i;:::-;6154:8;:84::i;:::-;6256:4;6249:11;;6052:216;;;;:::o;5114:156::-;5183:4;5200:40;5210:10;5222:9;5233:6;5200:9;:40::i;:::-;5258:4;5251:11;;5114:156;;;;:::o;4251:437::-;4314:4;9523:7;;;;;;;;;;;9515:22;;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9501:38;;:10;:38;;;9493:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;4353:5:::1;4338:11;:20;;4330:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;4392:14;4417:7;;;;;;;;;;;4409:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4392:42;;4445:20;4468:17;4478:6;4468:9;:17::i;:::-;4445:40;;4512:41;4547:5;4512:30;4530:11;4512:13;;:17;;:30;;;;:::i;:::-;:34;;:41;;;;:::i;:::-;4496:13;:57;;;;4564:19;4586:17;4596:6;4586:9;:17::i;:::-;4564:39;;4614:44;4620:6;4628:29;4645:11;4628:12;:16;;:29;;;;:::i;:::-;4614:5;:44::i;:::-;4676:4;4669:11;;;;;4251:437:::0;;;:::o;5008:98::-;9523:7;;;;;;;;;;;9515:22;;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9501:38;;:10;:38;;;9493:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;5093:5:::1;5074:10;:16;5085:4;5074:16;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;5008:98:::0;:::o;4901:99::-;9523:7;;;;;;;;;;;9515:22;;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9501:38;;:10;:38;;;9493:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;4987:5:::1;4968:10;:16;4979:4;4968:16;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;4901:99:::0;:::o;3270:95::-;3316:7;3343:14;;3336:21;;3270:95;:::o;5278:132::-;5349:7;5376:11;:17;5388:4;5376:17;;;;;;;;;;;;;;;:26;5394:7;5376:26;;;;;;;;;;;;;;;;5369:33;;5278:132;;;;:::o;1468:179::-;1526:7;1546:9;1562:1;1558;:5;;;;:::i;:::-;1546:17;;1587:1;1582;:6;;1574:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1638:1;1631:8;;;1468:179;;;;:::o;1841:246::-;1899:7;1928:1;1923;:6;1919:47;;1953:1;1946:8;;;;1919:47;1976:9;1992:1;1988;:5;;;;:::i;:::-;1976:17;;2021:1;2016;2012;:5;;;;:::i;:::-;:10;2004:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2078:1;2071:8;;;1841:246;;;;;:::o;2093:177::-;2151:7;2183:1;2179;:5;2171:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;2226:9;2242:1;2238;:5;;;;:::i;:::-;2226:17;;2261:1;2254:8;;;2093:177;;;;:::o;8926:331::-;9034:1;9018:18;;:4;:18;;;9010:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9115:1;9096:21;;:7;:21;;;9088:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9198:5;9169:11;:17;9181:4;9169:17;;;;;;;;;;;;;;;:26;9187:7;9169:26;;;;;;;;;;;;;;;:34;;;;9234:7;9219:30;;9228:4;9219:30;;;9243:5;9219:30;;;;;;:::i;:::-;;;;;;;;8926:331;;;:::o;6361:1612::-;6477:1;6459:20;;:6;:20;;;6451:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;6561:1;6540:23;;:9;:23;;;6532:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;6623:10;:18;6634:6;6623:18;;;;;;;;;;;;;;;;;;;;;;;;;6622:19;6614:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6691:26;6720:23;6736:6;6720:15;:23::i;:::-;6691:52;;6760:10;:18;6771:6;6760:18;;;;;;;;;;;;;;;;;;;;;;;;;6759:19;:45;;;;;6783:10;:21;6794:9;6783:21;;;;;;;;;;;;;;;;;;;;;;;;;6782:22;6759:45;6756:1009;;;6820:18;6853:12;6876:7;;;;;;;;;;;6868:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6853:38;;6919:4;6909:14;;:6;:14;;;6906:167;;6956:14;;6943:27;;6906:167;;;7007:4;6994:17;;:9;:17;;;6991:82;;7044:13;;7031:26;;6991:82;6906:167;7103:1;7090:10;:14;7087:667;;;7124:14;7149:7;;;;;;;;;;;7141:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7124:42;;7205:41;7227:18;7205:9;:17;7215:6;7205:17;;;;;;;;;;;;;;;;:21;;:41;;;;:::i;:::-;7185:9;:17;7195:6;7185:17;;;;;;;;;;;;;;;:61;;;;7265:16;7284:61;7341:3;7284:52;7307:28;7324:10;7315:3;7307:16;;:28;;;;:::i;:::-;7284:18;:22;;:52;;;;:::i;:::-;:56;;:61;;;;:::i;:::-;7265:80;;7387:34;7412:8;7387:9;:20;7397:9;7387:20;;;;;;;;;;;;;;;;:24;;:34;;;;:::i;:::-;7364:9;:20;7374:9;7364:20;;;;;;;;;;;;;;;:57;;;;7460:55;7482:32;7505:8;7482:18;:22;;:32;;;;:::i;:::-;7460:9;:17;7470:6;7460:17;;;;;;;;;;;;;;;;:21;;:55;;;;:::i;:::-;7440:9;:17;7450:6;7440:17;;;;;;;;;;;;;;;:75;;;;7545:37;7577:4;7545:27;7558:13;;7545:8;:12;;:27;;;;:::i;:::-;:31;;:37;;;;:::i;:::-;7534:48;;7623:9;7606:37;;7615:6;7606:37;;;7634:8;7606:37;;;;;;:::i;:::-;;;;;;;;7684:6;7667:46;;7676:6;7667:46;;;7692:20;7703:8;7692:6;:10;;:20;;;;:::i;:::-;7667:46;;;;;;:::i;:::-;;;;;;;;7732:7;;;;;;;7087:667;6805:960;;6756:1009;7795:41;7817:18;7795:9;:17;7805:6;7795:17;;;;;;;;;;;;;;;;:21;;:41;;;;:::i;:::-;7775:9;:17;7785:6;7775:17;;;;;;;;;;;;;;;:61;;;;7870:44;7895:18;7870:9;:20;7880:9;7870:20;;;;;;;;;;;;;;;;:24;;:44;;;;:::i;:::-;7847:9;:20;7857:9;7847:20;;;;;;;;;;;;;;;:67;;;;7947:9;7930:35;;7939:6;7930:35;;;7958:6;7930:35;;;;;;:::i;:::-;;;;;;;;6440:1533;6361:1612;;;;:::o;1653:182::-;1711:7;1744:1;1739;:6;;1731:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;1791:9;1807:1;1803;:5;;;;:::i;:::-;1791:17;;1826:1;1819:8;;;1653:182;;;;:::o;8526:392::-;8620:1;8601:21;;:7;:21;;;8593:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8671:26;8700:22;8716:5;8700:15;:22::i;:::-;8671:51;;8748:36;8765:18;8748:12;;:16;;:36;;;;:::i;:::-;8733:12;:51;;;;8816:42;8839:18;8816:9;:18;8826:7;8816:18;;;;;;;;;;;;;;;;:22;;:42;;;;:::i;:::-;8795:9;:18;8805:7;8795:18;;;;;;;;;;;;;;;:63;;;;8900:1;8874:36;;8883:7;8874:36;;;8904:5;8874:36;;;;;;:::i;:::-;;;;;;;;8582:336;8526:392;;:::o;7981:395::-;8076:1;8057:21;;:7;:21;;;8049:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;8125:26;8154:23;8170:6;8154:15;:23::i;:::-;8125:52;;8205:36;8222:18;8205:12;;:16;;:36;;;;:::i;:::-;8190:12;:51;;;;8273:42;8296:18;8273:9;:18;8283:7;8273:18;;;;;;;;;;;;;;;;:22;;:42;;;;:::i;:::-;8252:9;:18;8262:7;8252:18;;;;;;;;;;;;;;;:63;;;;8352:7;8331:37;;8348:1;8331:37;;;8361:6;8331:37;;;;;;:::i;:::-;;;;;;;;8038:338;7981:395;;:::o;8384:134::-;8448:7;8475:35;8496:13;;8475:16;8486:4;8475:6;:10;;:16;;;;:::i;:::-;:20;;:35;;;;:::i;:::-;8468:42;;8384:134;;;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:99::-;494:6;528:5;522:12;512:22;;442:99;;;:::o;547:169::-;631:11;665:6;660:3;653:19;705:4;700:3;696:14;681:29;;547:169;;;;:::o;722:246::-;803:1;813:113;827:6;824:1;821:13;813:113;;;912:1;907:3;903:11;897:18;893:1;888:3;884:11;877:39;849:2;846:1;842:10;837:15;;813:113;;;960:1;951:6;946:3;942:16;935:27;784:184;722:246;;;:::o;974:102::-;1015:6;1066:2;1062:7;1057:2;1050:5;1046:14;1042:28;1032:38;;974:102;;;:::o;1082:377::-;1170:3;1198:39;1231:5;1198:39;:::i;:::-;1253:71;1317:6;1312:3;1253:71;:::i;:::-;1246:78;;1333:65;1391:6;1386:3;1379:4;1372:5;1368:16;1333:65;:::i;:::-;1423:29;1445:6;1423:29;:::i;:::-;1418:3;1414:39;1407:46;;1174:285;1082:377;;;;:::o;1465:313::-;1578:4;1616:2;1605:9;1601:18;1593:26;;1665:9;1659:4;1655:20;1651:1;1640:9;1636:17;1629:47;1693:78;1766:4;1757:6;1693:78;:::i;:::-;1685:86;;1465:313;;;;:::o;1865:117::-;1974:1;1971;1964:12;2111:126;2148:7;2188:42;2181:5;2177:54;2166:65;;2111:126;;;:::o;2243:96::-;2280:7;2309:24;2327:5;2309:24;:::i;:::-;2298:35;;2243:96;;;:::o;2345:122::-;2418:24;2436:5;2418:24;:::i;:::-;2411:5;2408:35;2398:63;;2457:1;2454;2447:12;2398:63;2345:122;:::o;2473:139::-;2519:5;2557:6;2544:20;2535:29;;2573:33;2600:5;2573:33;:::i;:::-;2473:139;;;;:::o;2618:122::-;2691:24;2709:5;2691:24;:::i;:::-;2684:5;2681:35;2671:63;;2730:1;2727;2720:12;2671:63;2618:122;:::o;2746:139::-;2792:5;2830:6;2817:20;2808:29;;2846:33;2873:5;2846:33;:::i;:::-;2746:139;;;;:::o;2891:474::-;2959:6;2967;3016:2;3004:9;2995:7;2991:23;2987:32;2984:119;;;3022:79;;:::i;:::-;2984:119;3142:1;3167:53;3212:7;3203:6;3192:9;3188:22;3167:53;:::i;:::-;3157:63;;3113:117;3269:2;3295:53;3340:7;3331:6;3320:9;3316:22;3295:53;:::i;:::-;3285:63;;3240:118;2891:474;;;;;:::o;3371:90::-;3405:7;3448:5;3441:13;3434:21;3423:32;;3371:90;;;:::o;3467:109::-;3548:21;3563:5;3548:21;:::i;:::-;3543:3;3536:34;3467:109;;:::o;3582:210::-;3669:4;3707:2;3696:9;3692:18;3684:26;;3720:65;3782:1;3771:9;3767:17;3758:6;3720:65;:::i;:::-;3582:210;;;;:::o;3798:329::-;3857:6;3906:2;3894:9;3885:7;3881:23;3877:32;3874:119;;;3912:79;;:::i;:::-;3874:119;4032:1;4057:53;4102:7;4093:6;4082:9;4078:22;4057:53;:::i;:::-;4047:63;;4003:117;3798:329;;;;:::o;4133:619::-;4210:6;4218;4226;4275:2;4263:9;4254:7;4250:23;4246:32;4243:119;;;4281:79;;:::i;:::-;4243:119;4401:1;4426:53;4471:7;4462:6;4451:9;4447:22;4426:53;:::i;:::-;4416:63;;4372:117;4528:2;4554:53;4599:7;4590:6;4579:9;4575:22;4554:53;:::i;:::-;4544:63;;4499:118;4656:2;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4627:118;4133:619;;;;;:::o;4758:86::-;4793:7;4833:4;4826:5;4822:16;4811:27;;4758:86;;;:::o;4850:112::-;4933:22;4949:5;4933:22;:::i;:::-;4928:3;4921:35;4850:112;;:::o;4968:214::-;5057:4;5095:2;5084:9;5080:18;5072:26;;5108:67;5172:1;5161:9;5157:17;5148:6;5108:67;:::i;:::-;4968:214;;;;:::o;5188:329::-;5247:6;5296:2;5284:9;5275:7;5271:23;5267:32;5264:119;;;5302:79;;:::i;:::-;5264:119;5422:1;5447:53;5492:7;5483:6;5472:9;5468:22;5447:53;:::i;:::-;5437:63;;5393:117;5188:329;;;;:::o;5523:118::-;5610:24;5628:5;5610:24;:::i;:::-;5605:3;5598:37;5523:118;;:::o;5647:222::-;5740:4;5778:2;5767:9;5763:18;5755:26;;5791:71;5859:1;5848:9;5844:17;5835:6;5791:71;:::i;:::-;5647:222;;;;:::o;5875:474::-;5943:6;5951;6000:2;5988:9;5979:7;5975:23;5971:32;5968:119;;;6006:79;;:::i;:::-;5968:119;6126:1;6151:53;6196:7;6187:6;6176:9;6172:22;6151:53;:::i;:::-;6141:63;;6097:117;6253:2;6279:53;6324:7;6315:6;6304:9;6300:22;6279:53;:::i;:::-;6269:63;;6224:118;5875:474;;;;;:::o;6355:180::-;6403:77;6400:1;6393:88;6500:4;6497:1;6490:15;6524:4;6521:1;6514:15;6541:320;6585:6;6622:1;6616:4;6612:12;6602:22;;6669:1;6663:4;6659:12;6690:18;6680:81;;6746:4;6738:6;6734:17;6724:27;;6680:81;6808:2;6800:6;6797:14;6777:18;6774:38;6771:84;;6827:18;;:::i;:::-;6771:84;6592:269;6541:320;;;:::o;6867:143::-;6924:5;6955:6;6949:13;6940:22;;6971:33;6998:5;6971:33;:::i;:::-;6867:143;;;;:::o;7016:351::-;7086:6;7135:2;7123:9;7114:7;7110:23;7106:32;7103:119;;;7141:79;;:::i;:::-;7103:119;7261:1;7286:64;7342:7;7333:6;7322:9;7318:22;7286:64;:::i;:::-;7276:74;;7232:128;7016:351;;;;:::o;7373:177::-;7513:29;7509:1;7501:6;7497:14;7490:53;7373:177;:::o;7556:366::-;7698:3;7719:67;7783:2;7778:3;7719:67;:::i;:::-;7712:74;;7795:93;7884:3;7795:93;:::i;:::-;7913:2;7908:3;7904:12;7897:19;;7556:366;;;:::o;7928:419::-;8094:4;8132:2;8121:9;8117:18;8109:26;;8181:9;8175:4;8171:20;8167:1;8156:9;8152:17;8145:47;8209:131;8335:4;8209:131;:::i;:::-;8201:139;;7928:419;;;:::o;8353:180::-;8401:77;8398:1;8391:88;8498:4;8495:1;8488:15;8522:4;8519:1;8512:15;8539:169;8679:21;8675:1;8667:6;8663:14;8656:45;8539:169;:::o;8714:366::-;8856:3;8877:67;8941:2;8936:3;8877:67;:::i;:::-;8870:74;;8953:93;9042:3;8953:93;:::i;:::-;9071:2;9066:3;9062:12;9055:19;;8714:366;;;:::o;9086:419::-;9252:4;9290:2;9279:9;9275:18;9267:26;;9339:9;9333:4;9329:20;9325:1;9314:9;9310:17;9303:47;9367:131;9493:4;9367:131;:::i;:::-;9359:139;;9086:419;;;:::o;9511:180::-;9559:77;9556:1;9549:88;9656:4;9653:1;9646:15;9680:4;9677:1;9670:15;9697:191;9737:3;9756:20;9774:1;9756:20;:::i;:::-;9751:25;;9790:20;9808:1;9790:20;:::i;:::-;9785:25;;9833:1;9830;9826:9;9819:16;;9854:3;9851:1;9848:10;9845:36;;;9861:18;;:::i;:::-;9845:36;9697:191;;;;:::o;9894:177::-;10034:29;10030:1;10022:6;10018:14;10011:53;9894:177;:::o;10077:366::-;10219:3;10240:67;10304:2;10299:3;10240:67;:::i;:::-;10233:74;;10316:93;10405:3;10316:93;:::i;:::-;10434:2;10429:3;10425:12;10418:19;;10077:366;;;:::o;10449:419::-;10615:4;10653:2;10642:9;10638:18;10630:26;;10702:9;10696:4;10692:20;10688:1;10677:9;10673:17;10666:47;10730:131;10856:4;10730:131;:::i;:::-;10722:139;;10449:419;;;:::o;10874:410::-;10914:7;10937:20;10955:1;10937:20;:::i;:::-;10932:25;;10971:20;10989:1;10971:20;:::i;:::-;10966:25;;11026:1;11023;11019:9;11048:30;11066:11;11048:30;:::i;:::-;11037:41;;11227:1;11218:7;11214:15;11211:1;11208:22;11188:1;11181:9;11161:83;11138:139;;11257:18;;:::i;:::-;11138:139;10922:362;10874:410;;;;:::o;11290:180::-;11338:77;11335:1;11328:88;11435:4;11432:1;11425:15;11459:4;11456:1;11449:15;11476:185;11516:1;11533:20;11551:1;11533:20;:::i;:::-;11528:25;;11567:20;11585:1;11567:20;:::i;:::-;11562:25;;11606:1;11596:35;;11611:18;;:::i;:::-;11596:35;11653:1;11650;11646:9;11641:14;;11476:185;;;;:::o;11667:220::-;11807:34;11803:1;11795:6;11791:14;11784:58;11876:3;11871:2;11863:6;11859:15;11852:28;11667:220;:::o;11893:366::-;12035:3;12056:67;12120:2;12115:3;12056:67;:::i;:::-;12049:74;;12132:93;12221:3;12132:93;:::i;:::-;12250:2;12245:3;12241:12;12234:19;;11893:366;;;:::o;12265:419::-;12431:4;12469:2;12458:9;12454:18;12446:26;;12518:9;12512:4;12508:20;12504:1;12493:9;12489:17;12482:47;12546:131;12672:4;12546:131;:::i;:::-;12538:139;;12265:419;;;:::o;12690:176::-;12830:28;12826:1;12818:6;12814:14;12807:52;12690:176;:::o;12872:366::-;13014:3;13035:67;13099:2;13094:3;13035:67;:::i;:::-;13028:74;;13111:93;13200:3;13111:93;:::i;:::-;13229:2;13224:3;13220:12;13213:19;;12872:366;;;:::o;13244:419::-;13410:4;13448:2;13437:9;13433:18;13425:26;;13497:9;13491:4;13487:20;13483:1;13472:9;13468:17;13461:47;13525:131;13651:4;13525:131;:::i;:::-;13517:139;;13244:419;;;:::o;13669:223::-;13809:34;13805:1;13797:6;13793:14;13786:58;13878:6;13873:2;13865:6;13861:15;13854:31;13669:223;:::o;13898:366::-;14040:3;14061:67;14125:2;14120:3;14061:67;:::i;:::-;14054:74;;14137:93;14226:3;14137:93;:::i;:::-;14255:2;14250:3;14246:12;14239:19;;13898:366;;;:::o;14270:419::-;14436:4;14474:2;14463:9;14459:18;14451:26;;14523:9;14517:4;14513:20;14509:1;14498:9;14494:17;14487:47;14551:131;14677:4;14551:131;:::i;:::-;14543:139;;14270:419;;;:::o;14695:221::-;14835:34;14831:1;14823:6;14819:14;14812:58;14904:4;14899:2;14891:6;14887:15;14880:29;14695:221;:::o;14922:366::-;15064:3;15085:67;15149:2;15144:3;15085:67;:::i;:::-;15078:74;;15161:93;15250:3;15161:93;:::i;:::-;15279:2;15274:3;15270:12;15263:19;;14922:366;;;:::o;15294:419::-;15460:4;15498:2;15487:9;15483:18;15475:26;;15547:9;15541:4;15537:20;15533:1;15522:9;15518:17;15511:47;15575:131;15701:4;15575:131;:::i;:::-;15567:139;;15294:419;;;:::o;15719:224::-;15859:34;15855:1;15847:6;15843:14;15836:58;15928:7;15923:2;15915:6;15911:15;15904:32;15719:224;:::o;15949:366::-;16091:3;16112:67;16176:2;16171:3;16112:67;:::i;:::-;16105:74;;16188:93;16277:3;16188:93;:::i;:::-;16306:2;16301:3;16297:12;16290:19;;15949:366;;;:::o;16321:419::-;16487:4;16525:2;16514:9;16510:18;16502:26;;16574:9;16568:4;16564:20;16560:1;16549:9;16545:17;16538:47;16602:131;16728:4;16602:131;:::i;:::-;16594:139;;16321:419;;;:::o;16746:222::-;16886:34;16882:1;16874:6;16870:14;16863:58;16955:5;16950:2;16942:6;16938:15;16931:30;16746:222;:::o;16974:366::-;17116:3;17137:67;17201:2;17196:3;17137:67;:::i;:::-;17130:74;;17213:93;17302:3;17213:93;:::i;:::-;17331:2;17326:3;17322:12;17315:19;;16974:366;;;:::o;17346:419::-;17512:4;17550:2;17539:9;17535:18;17527:26;;17599:9;17593:4;17589:20;17585:1;17574:9;17570:17;17563:47;17627:131;17753:4;17627:131;:::i;:::-;17619:139;;17346:419;;;:::o;17771:220::-;17911:34;17907:1;17899:6;17895:14;17888:58;17980:3;17975:2;17967:6;17963:15;17956:28;17771:220;:::o;17997:366::-;18139:3;18160:67;18224:2;18219:3;18160:67;:::i;:::-;18153:74;;18236:93;18325:3;18236:93;:::i;:::-;18354:2;18349:3;18345:12;18338:19;;17997:366;;;:::o;18369:419::-;18535:4;18573:2;18562:9;18558:18;18550:26;;18622:9;18616:4;18612:20;18608:1;18597:9;18593:17;18586:47;18650:131;18776:4;18650:131;:::i;:::-;18642:139;;18369:419;;;:::o;18794:180::-;18934:32;18930:1;18922:6;18918:14;18911:56;18794:180;:::o;18980:366::-;19122:3;19143:67;19207:2;19202:3;19143:67;:::i;:::-;19136:74;;19219:93;19308:3;19219:93;:::i;:::-;19337:2;19332:3;19328:12;19321:19;;18980:366;;;:::o;19352:419::-;19518:4;19556:2;19545:9;19541:18;19533:26;;19605:9;19599:4;19595:20;19591:1;19580:9;19576:17;19569:47;19633:131;19759:4;19633:131;:::i;:::-;19625:139;;19352:419;;;:::o;19777:194::-;19817:4;19837:20;19855:1;19837:20;:::i;:::-;19832:25;;19871:20;19889:1;19871:20;:::i;:::-;19866:25;;19915:1;19912;19908:9;19900:17;;19939:1;19933:4;19930:11;19927:37;;;19944:18;;:::i;:::-;19927:37;19777:194;;;;:::o;19977:220::-;20117:34;20113:1;20105:6;20101:14;20094:58;20186:3;20181:2;20173:6;20169:15;20162:28;19977:220;:::o;20203:366::-;20345:3;20366:67;20430:2;20425:3;20366:67;:::i;:::-;20359:74;;20442:93;20531:3;20442:93;:::i;:::-;20560:2;20555:3;20551:12;20544:19;;20203:366;;;:::o;20575:419::-;20741:4;20779:2;20768:9;20764:18;20756:26;;20828:9;20822:4;20818:20;20814:1;20803:9;20799:17;20792:47;20856:131;20982:4;20856:131;:::i;:::-;20848:139;;20575:419;;;:::o;21000:181::-;21140:33;21136:1;21128:6;21124:14;21117:57;21000:181;:::o;21187:366::-;21329:3;21350:67;21414:2;21409:3;21350:67;:::i;:::-;21343:74;;21426:93;21515:3;21426:93;:::i;:::-;21544:2;21539:3;21535:12;21528:19;;21187:366;;;:::o;21559:419::-;21725:4;21763:2;21752:9;21748:18;21740:26;;21812:9;21806:4;21802:20;21798:1;21787:9;21783:17;21776:47;21840:131;21966:4;21840:131;:::i;:::-;21832:139;;21559:419;;;:::o

Swarm Source

ipfs://0743d85755003ca96a18016346b48db51c78358096b13c111c1889eda14bdf21
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

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