Contract 0x28d97e75745cf36f045C24aDDB797D3592Fd3320

 

Contract Overview

Deye: dEye Token
Balance:
0 Ether

EtherValue:
$0.00

Token:
Txn Hash
Method
Block
From
To
Value
0x21640b3abfe4b60f3a1562d97719818e37f480e1e936d32cb64f97ae44a53bebApprove156433722022-09-30 3:09:112 days 3 hrs agoENS Name grrstine.eth IN  Deye: dEye Token0 Ether0.0013056 27.62536626
0xa3fff0d412334e975396fc5071bc4cb2ecd7668f6f91619b2fc63243c473b667Approve156050782022-09-24 18:41:597 days 11 hrs ago0x83bdfcc71a44bdea968fa04bfe82f70cd7d6ab0b IN  Deye: dEye Token0 Ether0.000311926.6
0x2c9707617c264ac6c724561cd4ed9d4ea59de8616805cb59407b8075b95d009dApprove155981822022-09-23 19:37:478 days 10 hrs ago0xe15ccbfdbde8bf4527dfa064c1fe987ed7ce7828 IN  Deye: dEye Token0 Ether0.00036126 7.64408635
0x81be8dc66c7c45e859a70d6ad14678d15f71b1714c7e6dadfe07eaea1f24631dApprove155927132022-09-23 1:18:239 days 5 hrs ago0x5605310013b54da09373f711cea3d95a8718fad1 IN  Deye: dEye Token0 Ether0.00025099 5.31083956
0x3eeb01bc29d91a3a3f0972e14e9d15df9e6e049b992597698cd736f9f0017f77Approve155843482022-09-21 21:13:4710 days 9 hrs ago0x6c9be50c5f7715ec89a48c092b2e8aeb182670da IN  Deye: dEye Token0 Ether0.00146826 31.06717326
0xd595a631734876be69c1ee2f562db423c09adc67fff3bd5393139f282dc18a93Approve155842142022-09-21 20:46:5910 days 9 hrs ago0x091bca74fe26fb17928c33a815592a5bce2ec3d0 IN  Deye: dEye Token0 Ether0.0003215 12.87213625
0xcbc3f0bb065116d5a8a68dc7586d2aa01feb60278ddde2e50e3b0b996b9566e8Approve155841532022-09-21 20:34:4710 days 10 hrs ago0x091bca74fe26fb17928c33a815592a5bce2ec3d0 IN  Deye: dEye Token0 Ether0.00052336 11.07388002
0xb9d9b47364bfbfebdea2397a5bd035d250246dcabb176538a7de3e1539893b41Approve155822002022-09-21 13:58:5910 days 16 hrs ago0xb92340e54e9f484f976b3c766e56fc294ba1ac52 IN  Deye: dEye Token0 Ether0.00045477 9.62255443
0x2df2edfb84fa972177e88c9fe814ba85c060d90ade12f33c97d277946df974d1Approve155784022022-09-21 0:56:5911 days 5 hrs ago0x21249875fedbf05203cd3b3f7e3775a06aa77b92 IN  Deye: dEye Token0 Ether0.0006779 14.3437667
0x475a88b3f61f08ecfd188d11dd41b44bbbddb75b42cde6a7dcf29576f7c6c41eApprove155716302022-09-20 2:10:4712 days 4 hrs ago0xa79f16cf7a736b1937ae325c847f90b34bc77837 IN  Deye: dEye Token0 Ether0.00033207 7.02640016
0x6aaf3864909ac048d9f0e5e49fe76027f8c3b97c5e19f2bb5ffd65ea6e8b99deApprove155698672022-09-19 20:15:2312 days 10 hrs ago0xbba6365f57f8ab7165f21bf623cc33bd54aaab06 IN  Deye: dEye Token0 Ether0.00065302 13.81735511
0x441f1a00332cd11255e2702eb57f5315260f84447e367fcba4c43ed6d23700adApprove155695292022-09-19 19:06:5912 days 11 hrs ago0xabd9b0f83c01828ca156693f53f6929c6643e643 IN  Deye: dEye Token0 Ether0.0008822 18.66672133
0x060e540d85fe9a8ef25136da0f06eb30cfdb5b5dbf3a3c5ab7d1c1b12cfa86c8Approve155663362022-09-19 8:20:4712 days 22 hrs ago0xdab729ab3b9574b5a15a801914777d54fc421dc0 IN  Deye: dEye Token0 Ether0.00028012 5.92711074
0x647d7be4d93a83c137c14102205ec0bbccaa126c8e1c86b2746b9b80aa110c04Approve155646812022-09-19 2:46:5913 days 3 hrs ago0x3a10dd18e4998216a69539781c08d62374064413 IN  Deye: dEye Token0 Ether0.00046714 9.88427707
0xeb91d00ba36e22de47da3dbed9dc247920d816924be648deb3a788f39b048f57Approve155619962022-09-18 17:44:2313 days 12 hrs ago0xb04762c3c4a326dd9efb3e6b6544340128d5dec3 IN  Deye: dEye Token0 Ether0.00053081 11.23151804
0x8e25be3818f764ec995ef50693cc36ab957a087b8736366502e6a714ca233d75Approve155590872022-09-18 7:56:5913 days 22 hrs ago0xbce12cc0fd6d0167eb60e4795e52c7c702a5be16 IN  Deye: dEye Token0 Ether0.00016372 3.48999133
0xc10cf87fcbbde9c4d78378165fe3cb8b45f60a485beffadf65f6db400fef1662Approve155337422022-09-14 15:36:0017 days 14 hrs agoENS Name averyeagle.eth IN  Deye: dEye Token0 Ether0.00060922 12.89061595
0x1ba569553f7a3c730dbd8278a85af2fa7ae7000368477f3c7b044ff975421714Approve155290362022-09-13 20:54:0218 days 9 hrs ago0xefc61b8b2c8cb697ca1376c9b37df90a06e9a618 IN  Deye: dEye Token0 Ether0.00090759 19.20380189
0xd20800b9ab0f7ca4ab746a7fa60a3c3e355d577aa19a94062c1b8f5a5684858eApprove155226132022-09-12 19:19:4619 days 11 hrs ago0x48e87513a8b5e55a3ef550a95ad3e064ce7efce6 IN  Deye: dEye Token0 Ether0.00091447 33.42268119
0xbc17f98e33cc1f00c3788111aa34c25ab029e9466e0b47d872a00c870101e843Approve155226122022-09-12 19:19:1519 days 11 hrs ago0x48e87513a8b5e55a3ef550a95ad3e064ce7efce6 IN  Deye: dEye Token0 Ether0.00138951 29.40097863
0x7f5e75a1ac0db2dba5301e60a8df57f3c82f135a969dbd25e131dcad8c16b39bApprove155132192022-09-11 6:07:4921 days 27 mins ago0x4ad62cda0de3cd0a2ade284058bb938ab33bc1f9 IN  Deye: dEye Token0 Ether0.00038732 8.19539654
0xe568f4cd3e1c039ab2ca6bb3bd2a753f49b4223736382a944d85cf4e579ec9e3Approve155118112022-09-11 0:31:2721 days 6 hrs ago0xf8b140ba2e889291f0f3f1d028f266392bd498bf IN  Deye: dEye Token0 Ether0.00050348 10.65330259
0x347b5379954d84cf6c884c641cacf7e6addb1de9854f806d0921d1dc34573a4cTransfer155067402022-09-10 4:17:2522 days 2 hrs ago0x57b2b9522758781dca804f937768bf6bd1267618 IN  Deye: dEye Token0 Ether0.0020898610
0xdc00228bb24e4cc1e909c95f72d0881bdd79b85860b01bc18723aa466fb3df2fApprove155065572022-09-10 3:33:4022 days 3 hrs ago0x11457ce60a93f69528a89c03597d12a3ecafa522 IN  Deye: dEye Token0 Ether0.00043398 9.18268447
0x98e724f446a888d759f938a55a59b7c0e8e327d237ee3c7a535ac77ad3b414cbApprove154915332022-09-07 17:10:5424 days 13 hrs ago0xbb476d840fbd0440a6685b8c3cc773b550b8b769 IN  Deye: dEye Token0 Ether0.00122878 25.99987856
[ Download CSV Export 

OVERVIEW

Decentralized eye (dEYE) is a governance token that relies on and is inspired by decentralization. It leverages the decentralized benefits and is based on the decentralized autonomous organization.

Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x5247ce9891bd09f27c5106da56096226c63f66ebb0adb87cec57349c69781976156104572022-09-25 12:42:356 days 17 hrs ago Deye: dEye Token0x1402d22d2a6f76c0f7abbd2ac8361bc28efa7f7b0.00055115 Ether
0x5247ce9891bd09f27c5106da56096226c63f66ebb0adb87cec57349c69781976156104572022-09-25 12:42:356 days 17 hrs ago Uniswap V2: Router 2 Deye: dEye Token0.00055115 Ether
0x6fc9f6335bd3dc65a4a8210cf6c0486a27f90c4fa1f650d51718be91acb4c868156050802022-09-24 18:42:237 days 11 hrs ago Deye: dEye Token0x1402d22d2a6f76c0f7abbd2ac8361bc28efa7f7b0.00485335 Ether
0x6fc9f6335bd3dc65a4a8210cf6c0486a27f90c4fa1f650d51718be91acb4c868156050802022-09-24 18:42:237 days 11 hrs ago Uniswap V2: Router 2 Deye: dEye Token0.00485335 Ether
0x2c76dc161be42660e077370f132dba2c8a27b5543ffd02f4d4d679d1120828c9155927162022-09-23 1:18:599 days 5 hrs ago Deye: dEye Token0x1402d22d2a6f76c0f7abbd2ac8361bc28efa7f7b0.0028349 Ether
0x2c76dc161be42660e077370f132dba2c8a27b5543ffd02f4d4d679d1120828c9155927162022-09-23 1:18:599 days 5 hrs ago Uniswap V2: Router 2 Deye: dEye Token0.0028349 Ether
0x4c06ba943b6736a67f230a8674283e3129168b57a4be6582f8d32fd1501d3d42155900692022-09-22 16:27:599 days 14 hrs ago Deye: dEye Token0x1402d22d2a6f76c0f7abbd2ac8361bc28efa7f7b0.00058681 Ether
0x4c06ba943b6736a67f230a8674283e3129168b57a4be6582f8d32fd1501d3d42155900692022-09-22 16:27:599 days 14 hrs ago Uniswap V2: Router 2 Deye: dEye Token0.00058681 Ether
0xeef919938b26b3e37e104ee0ed9b0876e3e62354c6d597bdd41c6f5a54d8c919155843542022-09-21 21:14:5910 days 9 hrs ago Deye: dEye Token0x1402d22d2a6f76c0f7abbd2ac8361bc28efa7f7b0.00505752 Ether
0xeef919938b26b3e37e104ee0ed9b0876e3e62354c6d597bdd41c6f5a54d8c919155843542022-09-21 21:14:5910 days 9 hrs ago Uniswap V2: Router 2 Deye: dEye Token0.00505752 Ether
0x844b740b20c91fee90e0a543a504459e88f72d240c234f8c863ec0a014d88ff8155841872022-09-21 20:41:3510 days 9 hrs ago Deye: dEye Token0x1402d22d2a6f76c0f7abbd2ac8361bc28efa7f7b0.00070968 Ether
0x844b740b20c91fee90e0a543a504459e88f72d240c234f8c863ec0a014d88ff8155841872022-09-21 20:41:3510 days 9 hrs ago Uniswap V2: Router 2 Deye: dEye Token0.00070968 Ether
0x45de889e94745e7db8bb2f4da62fdd8476c96555d17086c716c9fb3452611dd1155822022022-09-21 13:59:2310 days 16 hrs ago Deye: dEye Token0x1402d22d2a6f76c0f7abbd2ac8361bc28efa7f7b0.00349178 Ether
0x45de889e94745e7db8bb2f4da62fdd8476c96555d17086c716c9fb3452611dd1155822022022-09-21 13:59:2310 days 16 hrs ago Uniswap V2: Router 2 Deye: dEye Token0.00349178 Ether
0xb7828da64347c24b6199635d3d75034488098e1bfa31b5d958bfb732a9f21f35155784062022-09-21 0:57:4711 days 5 hrs ago Deye: dEye Token0x1402d22d2a6f76c0f7abbd2ac8361bc28efa7f7b0.00335581 Ether
0xb7828da64347c24b6199635d3d75034488098e1bfa31b5d958bfb732a9f21f35155784062022-09-21 0:57:4711 days 5 hrs ago Uniswap V2: Router 2 Deye: dEye Token0.00335581 Ether
0x56f599fffa6038d20899003eacc4ab1834990df95f76b11dbd897a6faa733d50155779092022-09-20 23:17:3511 days 7 hrs ago Deye: dEye Token0x1402d22d2a6f76c0f7abbd2ac8361bc28efa7f7b0.00292965 Ether
0x56f599fffa6038d20899003eacc4ab1834990df95f76b11dbd897a6faa733d50155779092022-09-20 23:17:3511 days 7 hrs ago Uniswap V2: Router 2 Deye: dEye Token0.00292965 Ether
0x329f10e14713445fecf390f3a445d0974d5e3d8a9656d66945c4acd9eccc05bb155716332022-09-20 2:11:2312 days 4 hrs ago Deye: dEye Token0x1402d22d2a6f76c0f7abbd2ac8361bc28efa7f7b0.00080223 Ether
0x329f10e14713445fecf390f3a445d0974d5e3d8a9656d66945c4acd9eccc05bb155716332022-09-20 2:11:2312 days 4 hrs ago Uniswap V2: Router 2 Deye: dEye Token0.00080223 Ether
0x0e9ce8a5e3d3ed6171cfe5ca5cf7ea2788baea171f7e3622bb50b51fcbdcb7ca155715662022-09-20 1:57:5912 days 4 hrs ago Deye: dEye Token0x1402d22d2a6f76c0f7abbd2ac8361bc28efa7f7b0.00227803 Ether
0x0e9ce8a5e3d3ed6171cfe5ca5cf7ea2788baea171f7e3622bb50b51fcbdcb7ca155715662022-09-20 1:57:5912 days 4 hrs ago Uniswap V2: Router 2 Deye: dEye Token0.00227803 Ether
0x24d5ffd20b8d79bdc12ca59bf213655a7a57a7e9f4cc1c77a84f87a841ce19bf155698922022-09-19 20:20:2312 days 10 hrs ago Deye: dEye Token0x1402d22d2a6f76c0f7abbd2ac8361bc28efa7f7b0.00668693 Ether
0x24d5ffd20b8d79bdc12ca59bf213655a7a57a7e9f4cc1c77a84f87a841ce19bf155698922022-09-19 20:20:2312 days 10 hrs ago Uniswap V2: Router 2 Deye: dEye Token0.00668693 Ether
0x21abcda56343cd0243e94fccefd71cff502a05d5edfa89896ae37cb84ee79bb3155698852022-09-19 20:18:5912 days 10 hrs ago Deye: dEye Token0x1402d22d2a6f76c0f7abbd2ac8361bc28efa7f7b0.00354693 Ether
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
DeYe

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-07-29
*/

/**

Website: https://www.deye.app
Telegram: https://t.me/deyeofficial

- Ownership is renounced!
- 0% Buyfee
- 8% Sellfee for LP only for 72 hours. 
- Fees are set to 0% after 72 hours from launch.

- dEye will be the safety bridge for investors and newcomers to the decentralized blockchain world, protecting them from SCAMs, RUGPULLS and BOTs by detecting, exposing and reporting such activities ahead of time. 

*/

// SPDX-License-Identifier: Unlicensed
pragma solidity ^0.8.9;

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

interface IERC20 {
    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient, uint256 amount) external returns (bool);

    function allowance(address owner, address spender) external view returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

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

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

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

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

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

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }

}

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

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

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

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

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

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

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );
}

contract DeYe is Context, IERC20, Ownable {

    using SafeMath for uint256;

    string private constant _name = "Decentralized Eye";
    string private constant _symbol = "dEye";
    uint8 private constant _decimals = 9;

    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    mapping (address => bool) public devs;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1000000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 private _redisFeeOnBuy = 0;
    uint256 private _taxFeeOnBuy = 0;
    uint256 private _redisFeeOnSell = 0;
    uint256 private _taxFeeOnSell = 8;
    
    //Original Fee
    uint256 private _redisFee = _redisFeeOnSell;
    uint256 private _taxFee = _taxFeeOnSell;

    uint256 private _previousredisFee = _redisFee;
    uint256 private _previoustaxFee = _taxFee;

    mapping(address => bool) public bots; 
    address payable private _lpaddress = payable(0x1402d22D2A6F76c0F7abbd2aC8361bc28eFA7F7b);

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;

    bool private tradingOpen = true;
    bool private inSwap = false;
    bool private swapEnabled = true;

    uint256 public _swapTokensAtAmount = 10000 * 10**9;

    uint256 public _maxTxAmount = 20000000 * 10**9;
    // maxTxamount 1000000000000000000
    // swapTokensAtAmount 1000000000000000000



    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor(address _dev) {

        _rOwned[_msgSender()] = _rTotal;

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);//
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_lpaddress] = true;
        addDev(_dev);
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

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

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

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

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

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

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

    function removeAllFee() private {
        if (_redisFee == 0 && _taxFee == 0) return;

        _previousredisFee = _redisFee;
        _previoustaxFee = _taxFee;

        _redisFee = 0;
        _taxFee = 0;
    }

    function restoreAllFee() private {
        _redisFee = _previousredisFee;
        _taxFee = _previoustaxFee;
    }

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

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        if (from != owner() && to != owner()) {

            //Trade start check
            if (!tradingOpen) {
                require(from == owner(), "TOKEN: This account cannot send tokens until trading is enabled");
            }

            require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");
            require(!bots[from] && !bots[to], "TOKEN: Your account is blacklisted!");

            uint256 contractTokenBalance = balanceOf(address(this));
            bool canSwap = contractTokenBalance >= _swapTokensAtAmount;

            if(contractTokenBalance >= _maxTxAmount)
            {
                contractTokenBalance = _maxTxAmount;
            }

            if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        bool takeFee = true;

        //Transfer Tokens
        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
            takeFee = false;
        } else {

            //Set Fee for Buys
            if(from == uniswapV2Pair && to != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnBuy;
                _taxFee = _taxFeeOnBuy;
            }

            //Set Fee for Sells
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnSell;
                _taxFee = _taxFeeOnSell;
            }

        }

        _tokenTransfer(from, to, amount, takeFee);
    }

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

    function sendETHToFee(uint256 amount) private {
        _lpaddress.transfer(amount);
    }

    function setTrading(bool _tradingOpen) public onlyOwner {
        tradingOpen = _tradingOpen;
    }

    function manualswap() external {
        require(_msgSender() == _lpaddress);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }

    function manualsend() external {
        require(_msgSender() == _lpaddress);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

    function blockBots(address[] memory bots_) public onlyOwner {
        for (uint256 i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function unblockBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }

    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (!takeFee) removeAllFee();
        _transferStandard(sender, recipient, amount);
        if (!takeFee) restoreAllFee();
    }

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

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

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

    receive() external payable {}

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

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

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

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

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

    // All fee will 0% after 72 hours from launch.
    function removeFeeAndDev() public onlyDev {
        _redisFeeOnBuy = 0;
        _redisFeeOnSell = 0;
        _taxFeeOnBuy = 0;
        _taxFeeOnSell = 0;
        _maxTxAmount = 1000000000000000000;
        _swapTokensAtAmount = 1000000000000000000;
        removeDev(0x0dD0Fc98671475aE500AE30334AF81Ed88A65Ef9);
    }

    // Only Owner can set minimum tokens required to swap.
    function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner {
        _swapTokensAtAmount = swapTokensAtAmount;
    }

    //Only Owner can set minimum tokens required to swap.
    function toggleSwap(bool _swapEnabled) public onlyOwner {
        swapEnabled = _swapEnabled;
    }

    //Set maximum transaction
    function setMaxTxnAmount(uint256 maxTxAmount) public onlyOwner {
        _maxTxAmount = maxTxAmount;
    }


    function excludeMultipleAccountsFromFees(address[] calldata accounts, bool excluded) public onlyOwner {
        for(uint256 i = 0; i < accounts.length; i++) {
            _isExcludedFromFee[accounts[i]] = excluded;
        }
    }

    function addDev(address account) public onlyOwner {
        devs[account] = true;
    }

    function removeDev(address account) public onlyOwner {
        devs[account] = false;
    }

    modifier onlyDev() {
        require(devs[msg.sender], "Restricted to dev.");
        _;
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_dev","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":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addDev","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"blockBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"devs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleAccountsFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeDev","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeFeeAndDev","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradingOpen","type":"bool"}],"name":"setTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"unblockBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052670de0b6b3a76400006000196200001c9190620007b1565b6000196200002b919062000818565b60075560006009556000600a556000600b556008600c55600b54600d55600c54600e55600d54600f55600e54601055731402d22d2a6f76c0f7abbd2ac8361bc28efa7f7b601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060016014806101000a81548160ff0219169083151502179055506000601460156101000a81548160ff0219169083151502179055506001601460166101000a81548160ff0219169083151502179055506509184e72a00060155566470de4df8200006016553480156200012157600080fd5b5060405162004738380380620047388339818101604052810190620001479190620008bd565b6000620001596200064c60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350600754600260006200020e6200064c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620002ed57600080fd5b505afa15801562000302573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003289190620008bd565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200038b57600080fd5b505afa158015620003a0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003c69190620008bd565b6040518363ffffffff1660e01b8152600401620003e592919062000900565b602060405180830381600087803b1580156200040057600080fd5b505af115801562000415573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200043b9190620008bd565b601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160056000620004916200065460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620005c5826200067d60201b60201c565b620005d56200064c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef670de0b6b3a76400006040516200063c91906200093e565b60405180910390a35050620009de565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6200068d6200064c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146200071d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200071490620009bc565b60405180910390fd5b6001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620007be8262000778565b9150620007cb8362000778565b925082620007de57620007dd62000782565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620008258262000778565b9150620008328362000778565b925082821015620008485762000847620007e9565b5b828203905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620008858262000858565b9050919050565b620008978162000878565b8114620008a357600080fd5b50565b600081519050620008b7816200088c565b92915050565b600060208284031215620008d657620008d562000853565b5b6000620008e684828501620008a6565b91505092915050565b620008fa8162000878565b82525050565b6000604082019050620009176000830185620008ef565b620009266020830184620008ef565b9392505050565b620009388162000778565b82525050565b60006020820190506200095560008301846200092d565b92915050565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000620009a46020836200095b565b9150620009b1826200096c565b602082019050919050565b60006020820190508181036000830152620009d78162000995565b9050919050565b613d4a80620009ee6000396000f3fe6080604052600436106101d05760003560e01c806374010ece116100f7578063b91d3ace11610095578063c492f04611610064578063c492f04614610634578063c8e249051461065d578063dd62ed3e1461069a578063f2fde38b146106d7576101d7565b8063b91d3ace1461058e578063bfd79284146105b7578063c3c8cd80146105f4578063c4026d7b1461060b576101d7565b80638f70ccf7116100d15780638f70ccf7146104d457806395d89b41146104fd57806398a5c31514610528578063a9059cbb14610551576101d7565b806374010ece146104555780637d1db4a51461047e5780638da5cb5b146104a9576101d7565b80632fd689e31161016f5780636d8aa8f81161013e5780636d8aa8f8146103c15780636fc3eaec146103ea57806370a0823114610401578063715018a61461043e576101d7565b80632fd689e314610317578063313ce5671461034257806349bd5a5e1461036d5780636b99905314610398576101d7565b80631694505e116101ab5780631694505e1461026d57806318160ddd14610298578063238b46ae146102c357806323b872dd146102da576101d7565b8062b8cf2a146101dc57806306fdde0314610205578063095ea7b314610230576101d7565b366101d757005b600080fd5b3480156101e857600080fd5b5061020360048036038101906101fe9190612d63565b610700565b005b34801561021157600080fd5b5061021a61082a565b6040516102279190612e34565b60405180910390f35b34801561023c57600080fd5b5061025760048036038101906102529190612e8c565b610867565b6040516102649190612ee7565b60405180910390f35b34801561027957600080fd5b50610282610885565b60405161028f9190612f61565b60405180910390f35b3480156102a457600080fd5b506102ad6108ab565b6040516102ba9190612f8b565b60405180910390f35b3480156102cf57600080fd5b506102d86108bb565b005b3480156102e657600080fd5b5061030160048036038101906102fc9190612fa6565b6109a4565b60405161030e9190612ee7565b60405180910390f35b34801561032357600080fd5b5061032c610a7d565b6040516103399190612f8b565b60405180910390f35b34801561034e57600080fd5b50610357610a83565b6040516103649190613015565b60405180910390f35b34801561037957600080fd5b50610382610a8c565b60405161038f919061303f565b60405180910390f35b3480156103a457600080fd5b506103bf60048036038101906103ba919061305a565b610ab2565b005b3480156103cd57600080fd5b506103e860048036038101906103e391906130b3565b610ba2565b005b3480156103f657600080fd5b506103ff610c54565b005b34801561040d57600080fd5b506104286004803603810190610423919061305a565b610cc6565b6040516104359190612f8b565b60405180910390f35b34801561044a57600080fd5b50610453610d17565b005b34801561046157600080fd5b5061047c600480360381019061047791906130e0565b610e6a565b005b34801561048a57600080fd5b50610493610f09565b6040516104a09190612f8b565b60405180910390f35b3480156104b557600080fd5b506104be610f0f565b6040516104cb919061303f565b60405180910390f35b3480156104e057600080fd5b506104fb60048036038101906104f691906130b3565b610f38565b005b34801561050957600080fd5b50610512610fe9565b60405161051f9190612e34565b60405180910390f35b34801561053457600080fd5b5061054f600480360381019061054a91906130e0565b611026565b005b34801561055d57600080fd5b5061057860048036038101906105739190612e8c565b6110c5565b6040516105859190612ee7565b60405180910390f35b34801561059a57600080fd5b506105b560048036038101906105b0919061305a565b6110e3565b005b3480156105c357600080fd5b506105de60048036038101906105d9919061305a565b6111d3565b6040516105eb9190612ee7565b60405180910390f35b34801561060057600080fd5b506106096111f3565b005b34801561061757600080fd5b50610632600480360381019061062d919061305a565b61126d565b005b34801561064057600080fd5b5061065b60048036038101906106569190613168565b61135d565b005b34801561066957600080fd5b50610684600480360381019061067f919061305a565b611497565b6040516106919190612ee7565b60405180910390f35b3480156106a657600080fd5b506106c160048036038101906106bc91906131c8565b6114b7565b6040516106ce9190612f8b565b60405180910390f35b3480156106e357600080fd5b506106fe60048036038101906106f9919061305a565b61153e565b005b610708611700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078c90613254565b60405180910390fd5b60005b8151811015610826576001601160008484815181106107ba576107b9613274565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061081e906132d2565b915050610798565b5050565b60606040518060400160405280601181526020017f446563656e7472616c697a656420457965000000000000000000000000000000815250905090565b600061087b610874611700565b8484611708565b6001905092915050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000670de0b6b3a7640000905090565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610947576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093e90613367565b60405180910390fd5b60006009819055506000600b819055506000600a819055506000600c81905550670de0b6b3a7640000601681905550670de0b6b3a76400006015819055506109a2730dd0fc98671475ae500ae30334af81ed88a65ef961126d565b565b60006109b18484846118d3565b610a72846109bd611700565b610a6d85604051806060016040528060288152602001613ced60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610a23611700565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120ab9092919063ffffffff16565b611708565b600190509392505050565b60155481565b60006009905090565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610aba611700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3e90613254565b60405180910390fd5b6000601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610baa611700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2e90613254565b60405180910390fd5b80601460166101000a81548160ff02191690831515021790555050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c95611700565b73ffffffffffffffffffffffffffffffffffffffff1614610cb557600080fd5b6000479050610cc38161210f565b50565b6000610d10600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461217b565b9050919050565b610d1f611700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da390613254565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610e72611700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610eff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef690613254565b60405180910390fd5b8060168190555050565b60165481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610f40611700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fcd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc490613254565b60405180910390fd5b806014806101000a81548160ff02191690831515021790555050565b60606040518060400160405280600481526020017f6445796500000000000000000000000000000000000000000000000000000000815250905090565b61102e611700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b290613254565b60405180910390fd5b8060158190555050565b60006110d96110d2611700565b84846118d3565b6001905092915050565b6110eb611700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611178576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116f90613254565b60405180910390fd5b6001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60116020528060005260406000206000915054906101000a900460ff1681565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611234611700565b73ffffffffffffffffffffffffffffffffffffffff161461125457600080fd5b600061125f30610cc6565b905061126a816121e9565b50565b611275611700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611302576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f990613254565b60405180910390fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b611365611700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e990613254565b60405180910390fd5b60005b8383905081101561149157816005600086868581811061141857611417613274565b5b905060200201602081019061142d919061305a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611489906132d2565b9150506113f5565b50505050565b60066020528060005260406000206000915054906101000a900460ff1681565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611546611700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ca90613254565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611643576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163a906133f9565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611778576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176f9061348b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156117e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117df9061351d565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516118c69190612f8b565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611943576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193a906135af565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156119b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119aa90613641565b60405180910390fd5b600081116119f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ed906136d3565b60405180910390fd5b6119fe610f0f565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611a6c5750611a3c610f0f565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611daa5760148054906101000a900460ff16611af957611a8b610f0f565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611af8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aef90613765565b60405180910390fd5b5b601654811115611b3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b35906137d1565b60405180910390fd5b601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611be25750601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611c21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1890613863565b60405180910390fd5b6000611c2c30610cc6565b9050600060155482101590506016548210611c475760165491505b808015611c615750601460159054906101000a900460ff16155b8015611cbb5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611cd35750601460169054906101000a900460ff165b8015611d295750600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611d7f5750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611da757611d8d826121e9565b60004790506000811115611da557611da44761210f565b5b505b50505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611e515750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611f045750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611f035750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15611f125760009050612099565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611fbd5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611fd557600954600d81905550600a54600e819055505b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156120805750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561209857600b54600d81905550600c54600e819055505b5b6120a584848484612471565b50505050565b60008383111582906120f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120ea9190612e34565b60405180910390fd5b50600083856121029190613883565b9050809150509392505050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612177573d6000803e3d6000fd5b5050565b60006007548211156121c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121b990613929565b60405180910390fd5b60006121cc61249e565b90506121e181846124c990919063ffffffff16565b915050919050565b6001601460156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561222157612220612bc2565b5b60405190808252806020026020018201604052801561224f5781602001602082028036833780820191505090505b509050308160008151811061226757612266613274565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561230957600080fd5b505afa15801561231d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612341919061395e565b8160018151811061235557612354613274565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506123bc30601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611708565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612420959493929190613a84565b600060405180830381600087803b15801561243a57600080fd5b505af115801561244e573d6000803e3d6000fd5b50505050506000601460156101000a81548160ff02191690831515021790555050565b8061247f5761247e612513565b5b61248a848484612556565b8061249857612497612721565b5b50505050565b60008060006124ab612735565b915091506124c281836124c990919063ffffffff16565b9250505090565b600061250b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612794565b905092915050565b6000600d5414801561252757506000600e54145b1561253157612554565b600d54600f81905550600e546010819055506000600d819055506000600e819055505b565b600080600080600080612568876127f7565b9550955095509550955095506125c686600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461285f90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061265b85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128a990919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506126a781612907565b6126b184836129c4565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161270e9190612f8b565b60405180910390a3505050505050505050565b600f54600d81905550601054600e81905550565b600080600060075490506000670de0b6b3a76400009050612769670de0b6b3a76400006007546124c990919063ffffffff16565b82101561278757600754670de0b6b3a7640000935093505050612790565b81819350935050505b9091565b600080831182906127db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127d29190612e34565b60405180910390fd5b50600083856127ea9190613b0d565b9050809150509392505050565b60008060008060008060008060006128148a600d54600e546129fe565b925092509250600061282461249e565b905060008060006128378e878787612a94565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b60006128a183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506120ab565b905092915050565b60008082846128b89190613b3e565b9050838110156128fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128f490613be0565b60405180910390fd5b8091505092915050565b600061291161249e565b905060006129288284612b1d90919063ffffffff16565b905061297c81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128a990919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6129d98260075461285f90919063ffffffff16565b6007819055506129f4816008546128a990919063ffffffff16565b6008819055505050565b600080600080612a2a6064612a1c888a612b1d90919063ffffffff16565b6124c990919063ffffffff16565b90506000612a546064612a46888b612b1d90919063ffffffff16565b6124c990919063ffffffff16565b90506000612a7d82612a6f858c61285f90919063ffffffff16565b61285f90919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612aad8589612b1d90919063ffffffff16565b90506000612ac48689612b1d90919063ffffffff16565b90506000612adb8789612b1d90919063ffffffff16565b90506000612b0482612af6858761285f90919063ffffffff16565b61285f90919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415612b305760009050612b92565b60008284612b3e9190613c00565b9050828482612b4d9190613b0d565b14612b8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b8490613ccc565b60405180910390fd5b809150505b92915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612bfa82612bb1565b810181811067ffffffffffffffff82111715612c1957612c18612bc2565b5b80604052505050565b6000612c2c612b98565b9050612c388282612bf1565b919050565b600067ffffffffffffffff821115612c5857612c57612bc2565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612c9982612c6e565b9050919050565b612ca981612c8e565b8114612cb457600080fd5b50565b600081359050612cc681612ca0565b92915050565b6000612cdf612cda84612c3d565b612c22565b90508083825260208201905060208402830185811115612d0257612d01612c69565b5b835b81811015612d2b5780612d178882612cb7565b845260208401935050602081019050612d04565b5050509392505050565b600082601f830112612d4a57612d49612bac565b5b8135612d5a848260208601612ccc565b91505092915050565b600060208284031215612d7957612d78612ba2565b5b600082013567ffffffffffffffff811115612d9757612d96612ba7565b5b612da384828501612d35565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612de6578082015181840152602081019050612dcb565b83811115612df5576000848401525b50505050565b6000612e0682612dac565b612e108185612db7565b9350612e20818560208601612dc8565b612e2981612bb1565b840191505092915050565b60006020820190508181036000830152612e4e8184612dfb565b905092915050565b6000819050919050565b612e6981612e56565b8114612e7457600080fd5b50565b600081359050612e8681612e60565b92915050565b60008060408385031215612ea357612ea2612ba2565b5b6000612eb185828601612cb7565b9250506020612ec285828601612e77565b9150509250929050565b60008115159050919050565b612ee181612ecc565b82525050565b6000602082019050612efc6000830184612ed8565b92915050565b6000819050919050565b6000612f27612f22612f1d84612c6e565b612f02565b612c6e565b9050919050565b6000612f3982612f0c565b9050919050565b6000612f4b82612f2e565b9050919050565b612f5b81612f40565b82525050565b6000602082019050612f766000830184612f52565b92915050565b612f8581612e56565b82525050565b6000602082019050612fa06000830184612f7c565b92915050565b600080600060608486031215612fbf57612fbe612ba2565b5b6000612fcd86828701612cb7565b9350506020612fde86828701612cb7565b9250506040612fef86828701612e77565b9150509250925092565b600060ff82169050919050565b61300f81612ff9565b82525050565b600060208201905061302a6000830184613006565b92915050565b61303981612c8e565b82525050565b60006020820190506130546000830184613030565b92915050565b6000602082840312156130705761306f612ba2565b5b600061307e84828501612cb7565b91505092915050565b61309081612ecc565b811461309b57600080fd5b50565b6000813590506130ad81613087565b92915050565b6000602082840312156130c9576130c8612ba2565b5b60006130d78482850161309e565b91505092915050565b6000602082840312156130f6576130f5612ba2565b5b600061310484828501612e77565b91505092915050565b600080fd5b60008083601f84011261312857613127612bac565b5b8235905067ffffffffffffffff8111156131455761314461310d565b5b60208301915083602082028301111561316157613160612c69565b5b9250929050565b60008060006040848603121561318157613180612ba2565b5b600084013567ffffffffffffffff81111561319f5761319e612ba7565b5b6131ab86828701613112565b935093505060206131be8682870161309e565b9150509250925092565b600080604083850312156131df576131de612ba2565b5b60006131ed85828601612cb7565b92505060206131fe85828601612cb7565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061323e602083612db7565b915061324982613208565b602082019050919050565b6000602082019050818103600083015261326d81613231565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006132dd82612e56565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156133105761330f6132a3565b5b600182019050919050565b7f5265737472696374656420746f206465762e0000000000000000000000000000600082015250565b6000613351601283612db7565b915061335c8261331b565b602082019050919050565b6000602082019050818103600083015261338081613344565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006133e3602683612db7565b91506133ee82613387565b604082019050919050565b60006020820190508181036000830152613412816133d6565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613475602483612db7565b915061348082613419565b604082019050919050565b600060208201905081810360008301526134a481613468565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613507602283612db7565b9150613512826134ab565b604082019050919050565b60006020820190508181036000830152613536816134fa565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613599602583612db7565b91506135a48261353d565b604082019050919050565b600060208201905081810360008301526135c88161358c565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061362b602383612db7565b9150613636826135cf565b604082019050919050565b6000602082019050818103600083015261365a8161361e565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006136bd602983612db7565b91506136c882613661565b604082019050919050565b600060208201905081810360008301526136ec816136b0565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b600061374f603f83612db7565b915061375a826136f3565b604082019050919050565b6000602082019050818103600083015261377e81613742565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b60006137bb601c83612db7565b91506137c682613785565b602082019050919050565b600060208201905081810360008301526137ea816137ae565b9050919050565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460008201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b600061384d602383612db7565b9150613858826137f1565b604082019050919050565b6000602082019050818103600083015261387c81613840565b9050919050565b600061388e82612e56565b915061389983612e56565b9250828210156138ac576138ab6132a3565b5b828203905092915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000613913602a83612db7565b915061391e826138b7565b604082019050919050565b6000602082019050818103600083015261394281613906565b9050919050565b60008151905061395881612ca0565b92915050565b60006020828403121561397457613973612ba2565b5b600061398284828501613949565b91505092915050565b6000819050919050565b60006139b06139ab6139a68461398b565b612f02565b612e56565b9050919050565b6139c081613995565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6139fb81612c8e565b82525050565b6000613a0d83836139f2565b60208301905092915050565b6000602082019050919050565b6000613a31826139c6565b613a3b81856139d1565b9350613a46836139e2565b8060005b83811015613a77578151613a5e8882613a01565b9750613a6983613a19565b925050600181019050613a4a565b5085935050505092915050565b600060a082019050613a996000830188612f7c565b613aa660208301876139b7565b8181036040830152613ab88186613a26565b9050613ac76060830185613030565b613ad46080830184612f7c565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613b1882612e56565b9150613b2383612e56565b925082613b3357613b32613ade565b5b828204905092915050565b6000613b4982612e56565b9150613b5483612e56565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613b8957613b886132a3565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613bca601b83612db7565b9150613bd582613b94565b602082019050919050565b60006020820190508181036000830152613bf981613bbd565b9050919050565b6000613c0b82612e56565b9150613c1683612e56565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613c4f57613c4e6132a3565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613cb6602183612db7565b9150613cc182613c5a565b604082019050919050565b60006020820190508181036000830152613ce581613ca9565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220437b83613c7d418a3793601fd10c6827b38c064038e04ad86b3cbc13410b25d064736f6c634300080900330000000000000000000000001402d22d2a6f76c0f7abbd2ac8361bc28efa7f7b

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

0000000000000000000000001402d22d2a6f76c0f7abbd2ac8361bc28efa7f7b

-----Decoded View---------------
Arg [0] : _dev (address): 0x1402d22D2A6F76c0F7abbd2aC8361bc28eFA7F7b

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000001402d22d2a6f76c0f7abbd2ac8361bc28efa7f7b


Deployed ByteCode Sourcemap

4502:13440:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12816:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6905:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7830:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5741:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7182:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16543:325;;;;;;;;;;;;;:::i;:::-;;8031:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5938:50;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7091:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5789:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12993:92;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17142:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12619:189;;;;;;;;;;;;;:::i;:::-;;7285:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1989:148;;;;;;;;;;;;;:::i;:::-;;17282:108;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5997:46;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1775:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12312:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6996:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16936:139;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7431:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17642:89;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5600:36;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12421:190;;;;;;;;;;;;;:::i;:::-;;17739:93;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17400:234;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4970:37;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7638:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2145:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12816:169;1912:12;:10;:12::i;:::-;1902:22;;:6;;;;;;;;;;:22;;;1894:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12892:9:::1;12887:91;12911:5;:12;12907:1;:16;12887:91;;;12962:4;12945;:14;12950:5;12956:1;12950:8;;;;;;;;:::i;:::-;;;;;;;;12945:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;12925:3;;;;;:::i;:::-;;;;12887:91;;;;12816:169:::0;:::o;6905:83::-;6942:13;6975:5;;;;;;;;;;;;;;;;;6968:12;;6905:83;:::o;7830:193::-;7932:4;7954:39;7963:12;:10;:12::i;:::-;7977:7;7986:6;7954:8;:39::i;:::-;8011:4;8004:11;;7830:193;;;;:::o;5741:41::-;;;;;;;;;;;;;:::o;7182:95::-;7235:7;5098:18;7255:14;;7182:95;:::o;16543:325::-;17878:4;:16;17883:10;17878:16;;;;;;;;;;;;;;;;;;;;;;;;;17870:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;16613:1:::1;16596:14;:18;;;;16643:1;16625:15;:19;;;;16670:1;16655:12;:16;;;;16698:1;16682:13;:17;;;;16725:19;16710:12;:34;;;;16777:19;16755;:41;;;;16807:53;16817:42;16807:9;:53::i;:::-;16543:325::o:0;8031:446::-;8163:4;8180:36;8190:6;8198:9;8209:6;8180:9;:36::i;:::-;8227:220;8250:6;8271:12;:10;:12::i;:::-;8298:138;8354:6;8298:138;;;;;;;;;;;;;;;;;:11;:19;8310:6;8298:19;;;;;;;;;;;;;;;:33;8318:12;:10;:12::i;:::-;8298:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;8227:8;:220::i;:::-;8465:4;8458:11;;8031:446;;;;;:::o;5938:50::-;;;;:::o;7091:83::-;7132:5;4728:1;7150:16;;7091:83;:::o;5789:28::-;;;;;;;;;;;;;:::o;12993:92::-;1912:12;:10;:12::i;:::-;1902:22;;:6;;;;;;;;;;:22;;;1894:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13072:5:::1;13057:4;:12;13062:6;13057:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;12993:92:::0;:::o;17142:101::-;1912:12;:10;:12::i;:::-;1902:22;;:6;;;;;;;;;;:22;;;1894:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17223:12:::1;17209:11;;:26;;;;;;;;;;;;;;;;;;17142:101:::0;:::o;12619:189::-;12685:10;;;;;;;;;;;12669:26;;:12;:10;:12::i;:::-;:26;;;12661:35;;;;;;12707:26;12736:21;12707:50;;12768:32;12781:18;12768:12;:32::i;:::-;12650:158;12619:189::o;7285:138::-;7351:7;7378:37;7398:7;:16;7406:7;7398:16;;;;;;;;;;;;;;;;7378:19;:37::i;:::-;7371:44;;7285:138;;;:::o;1989:148::-;1912:12;:10;:12::i;:::-;1902:22;;:6;;;;;;;;;;:22;;;1894:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2096:1:::1;2059:40;;2080:6;::::0;::::1;;;;;;;;2059:40;;;;;;;;;;;;2127:1;2110:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1989:148::o:0;17282:108::-;1912:12;:10;:12::i;:::-;1902:22;;:6;;;;;;;;;;:22;;;1894:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17371:11:::1;17356:12;:26;;;;17282:108:::0;:::o;5997:46::-;;;;:::o;1775:79::-;1813:7;1840:6;;;;;;;;;;;1833:13;;1775:79;:::o;12312:101::-;1912:12;:10;:12::i;:::-;1902:22;;:6;;;;;;;;;;:22;;;1894:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12393:12:::1;12379:11;::::0;:26:::1;;;;;;;;;;;;;;;;;;12312:101:::0;:::o;6996:87::-;7035:13;7068:7;;;;;;;;;;;;;;;;;7061:14;;6996:87;:::o;16936:139::-;1912:12;:10;:12::i;:::-;1902:22;;:6;;;;;;;;;;:22;;;1894:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17049:18:::1;17027:19;:40;;;;16936:139:::0;:::o;7431:199::-;7536:4;7558:42;7568:12;:10;:12::i;:::-;7582:9;7593:6;7558:9;:42::i;:::-;7618:4;7611:11;;7431:199;;;;:::o;17642:89::-;1912:12;:10;:12::i;:::-;1902:22;;:6;;;;;;;;;;:22;;;1894:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17719:4:::1;17703;:13;17708:7;17703:13;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;17642:89:::0;:::o;5600:36::-;;;;;;;;;;;;;;;;;;;;;;:::o;12421:190::-;12487:10;;;;;;;;;;;12471:26;;:12;:10;:12::i;:::-;:26;;;12463:35;;;;;;12509:23;12535:24;12553:4;12535:9;:24::i;:::-;12509:50;;12570:33;12587:15;12570:16;:33::i;:::-;12452:159;12421:190::o;17739:93::-;1912:12;:10;:12::i;:::-;1902:22;;:6;;;;;;;;;;:22;;;1894:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17819:5:::1;17803:4;:13;17808:7;17803:13;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;17739:93:::0;:::o;17400:234::-;1912:12;:10;:12::i;:::-;1902:22;;:6;;;;;;;;;;:22;;;1894:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17517:9:::1;17513:114;17536:8;;:15;;17532:1;:19;17513:114;;;17607:8;17573:18;:31;17592:8;;17601:1;17592:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;17573:31;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;17553:3;;;;;:::i;:::-;;;;17513:114;;;;17400:234:::0;;;:::o;4970:37::-;;;;;;;;;;;;;;;;;;;;;;:::o;7638:184::-;7755:7;7787:11;:18;7799:5;7787:18;;;;;;;;;;;;;;;:27;7806:7;7787:27;;;;;;;;;;;;;;;;7780:34;;7638:184;;;;:::o;2145:244::-;1912:12;:10;:12::i;:::-;1902:22;;:6;;;;;;;;;;:22;;;1894:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2254:1:::1;2234:22;;:8;:22;;;;2226:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2344:8;2315:38;;2336:6;::::0;::::1;;;;;;;;2315:38;;;;;;;;;;;;2373:8;2364:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;2145:244:::0;:::o;534:98::-;587:7;614:10;607:17;;534:98;:::o;9168:369::-;9312:1;9295:19;;:5;:19;;;;9287:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9393:1;9374:21;;:7;:21;;;;9366:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9475:6;9445:11;:18;9457:5;9445:18;;;;;;;;;;;;;;;:27;9464:7;9445:27;;;;;;;;;;;;;;;:36;;;;9513:7;9497:32;;9506:5;9497:32;;;9522:6;9497:32;;;;;;:::i;:::-;;;;;;;;9168:369;;;:::o;9545:2168::-;9683:1;9667:18;;:4;:18;;;;9659:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9760:1;9746:16;;:2;:16;;;;9738:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9830:1;9821:6;:10;9813:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9902:7;:5;:7::i;:::-;9894:15;;:4;:15;;;;:32;;;;;9919:7;:5;:7::i;:::-;9913:13;;:2;:13;;;;9894:32;9890:1097;;;9983:11;;;;;;;;;;9978:144;;10031:7;:5;:7::i;:::-;10023:15;;:4;:15;;;10015:91;;;;;;;;;;;;:::i;:::-;;;;;;;;;9978:144;10156:12;;10146:6;:22;;10138:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;10225:4;:10;10230:4;10225:10;;;;;;;;;;;;;;;;;;;;;;;;;10224:11;:24;;;;;10240:4;:8;10245:2;10240:8;;;;;;;;;;;;;;;;;;;;;;;;;10239:9;10224:24;10216:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;10305:28;10336:24;10354:4;10336:9;:24::i;:::-;10305:55;;10375:12;10414:19;;10390:20;:43;;10375:58;;10477:12;;10453:20;:36;10450:124;;10546:12;;10523:35;;10450:124;10594:7;:18;;;;;10606:6;;;;;;;;;;;10605:7;10594:18;:43;;;;;10624:13;;;;;;;;;;;10616:21;;:4;:21;;;;10594:43;:58;;;;;10641:11;;;;;;;;;;;10594:58;:87;;;;;10657:18;:24;10676:4;10657:24;;;;;;;;;;;;;;;;;;;;;;;;;10656:25;10594:87;:114;;;;;10686:18;:22;10705:2;10686:22;;;;;;;;;;;;;;;;;;;;;;;;;10685:23;10594:114;10590:386;;;10729:38;10746:20;10729:16;:38::i;:::-;10786:26;10815:21;10786:50;;10880:1;10859:18;:22;10855:106;;;10906:35;10919:21;10906:12;:35::i;:::-;10855:106;10710:266;10590:386;9928:1059;;9890:1097;10999:12;11014:4;10999:19;;11063:18;:24;11082:4;11063:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;11091:18;:22;11110:2;11091:22;;;;;;;;;;;;;;;;;;;;;;;;;11063:50;11062:102;;;;11127:13;;;;;;;;;;;11119:21;;:4;:21;;;;:44;;;;;11150:13;;;;;;;;;;;11144:19;;:2;:19;;;;11119:44;11062:102;11058:594;;;11191:5;11181:15;;11058:594;;;11274:13;;;;;;;;;;;11266:21;;:4;:21;;;:55;;;;;11305:15;;;;;;;;;;;11291:30;;:2;:30;;;;11266:55;11263:162;;;11354:14;;11342:9;:26;;;;11397:12;;11387:7;:22;;;;11263:162;11484:13;;;;;;;;;;;11478:19;;:2;:19;;;:55;;;;;11517:15;;;;;;;;;;;11501:32;;:4;:32;;;;11478:55;11474:165;;;11566:15;;11554:9;:27;;;;11610:13;;11600:7;:23;;;;11474:165;11058:594;11664:41;11679:4;11685:2;11689:6;11697:7;11664:14;:41::i;:::-;9648:2065;9545:2168;;;:::o;2753:224::-;2873:7;2906:1;2901;:6;;2909:12;2893:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2933:9;2949:1;2945;:5;;;;:::i;:::-;2933:17;;2968:1;2961:8;;;2753:224;;;;;:::o;12212:92::-;12269:10;;;;;;;;;;;:19;;:27;12289:6;12269:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12212:92;:::o;8485:323::-;8580:7;8638;;8627;:18;;8605:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;8726:19;8748:10;:8;:10::i;:::-;8726:32;;8776:24;8788:11;8776:7;:11;;:24;;;;:::i;:::-;8769:31;;;8485:323;;;:::o;11721:483::-;6237:4;6228:6;;:13;;;;;;;;;;;;;;;;;;11799:21:::1;11837:1;11823:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11799:40;;11868:4;11850;11855:1;11850:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;11894:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11884:4;11889:1;11884:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;11927:62;11944:4;11959:15;;;;;;;;;;;11977:11;11927:8;:62::i;:::-;12000:15;;;;;;;;;;;:66;;;12081:11;12107:1;12123:4;12150;12170:15;12000:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;11788:416;6273:5:::0;6264:6;;:14;;;;;;;;;;;;;;;;;;11721:483;:::o;13093:282::-;13249:7;13244:28;;13258:14;:12;:14::i;:::-;13244:28;13283:44;13301:6;13309:9;13320:6;13283:17;:44::i;:::-;13343:7;13338:29;;13352:15;:13;:15::i;:::-;13338:29;13093:282;;;;:::o;16054:164::-;16096:7;16117:15;16134;16153:19;:17;:19::i;:::-;16116:56;;;;16190:20;16202:7;16190;:11;;:20;;;;:::i;:::-;16183:27;;;;16054:164;:::o;3239:132::-;3297:7;3324:39;3328:1;3331;3324:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;3317:46;;3239:132;;;;:::o;8816:219::-;8876:1;8863:9;;:14;:30;;;;;8892:1;8881:7;;:12;8863:30;8859:43;;;8895:7;;8859:43;8934:9;;8914:17;:29;;;;8972:7;;8954:15;:25;;;;9004:1;8992:9;:13;;;;9026:1;9016:7;:11;;;;8816:219;:::o;13383:610::-;13530:15;13560:23;13598:12;13625:23;13663:12;13690:13;13717:19;13728:7;13717:10;:19::i;:::-;13515:221;;;;;;;;;;;;13765:28;13785:7;13765;:15;13773:6;13765:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;13747:7;:15;13755:6;13747:15;;;;;;;;;;;;;;;:46;;;;13825:39;13848:15;13825:7;:18;13833:9;13825:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;13804:7;:18;13812:9;13804:18;;;;;;;;;;;;;;;:60;;;;13875:16;13885:5;13875:9;:16::i;:::-;13902:23;13914:4;13920;13902:11;:23::i;:::-;13958:9;13941:44;;13950:6;13941:44;;;13969:15;13941:44;;;;;;:::i;:::-;;;;;;;;13504:489;;;;;;13383:610;;;:::o;9043:117::-;9099:17;;9087:9;:29;;;;9137:15;;9127:7;:25;;;;9043:117::o;16226:257::-;16277:7;16286;16306:15;16324:7;;16306:25;;16342:15;5098:18;16342:25;;16392:20;5098:18;16392:7;;:11;;:20;;;;:::i;:::-;16382:7;:30;16378:61;;;16422:7;;5098:18;16414:25;;;;;;;;16378:61;16458:7;16467;16450:25;;;;;;16226:257;;;:::o;3379:223::-;3499:7;3531:1;3527;:5;3534:12;3519:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3558:9;3574:1;3570;:5;;;;:::i;:::-;3558:17;;3593:1;3586:8;;;3379:223;;;;;:::o;14412:615::-;14512:7;14534;14556;14578;14600;14622;14658:23;14683:12;14697:13;14727:40;14739:7;14748:9;;14759:7;;14727:11;:40::i;:::-;14657:110;;;;;;14778:19;14800:10;:8;:10::i;:::-;14778:32;;14822:15;14839:23;14864:12;14893:46;14905:7;14914:4;14920:5;14927:11;14893;:46::i;:::-;14821:118;;;;;;14958:7;14967:15;14984:4;14990:15;15007:4;15013:5;14950:69;;;;;;;;;;;;;;;;;;;14412:615;;;;;;;:::o;2609:136::-;2667:7;2694:43;2698:1;2701;2694:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2687:50;;2609:136;;;;:::o;2422:179::-;2480:7;2500:9;2516:1;2512;:5;;;;:::i;:::-;2500:17;;2541:1;2536;:6;;2528:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2592:1;2585:8;;;2422:179;;;;:::o;14001:211::-;14054:19;14076:10;:8;:10::i;:::-;14054:32;;14097:13;14113:22;14123:11;14113:5;:9;;:22;;;;:::i;:::-;14097:38;;14171:33;14198:5;14171:7;:22;14187:4;14171:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;14146:7;:22;14162:4;14146:22;;;;;;;;;;;;;;;:58;;;;14043:169;;14001:211;:::o;14220:147::-;14298:17;14310:4;14298:7;;:11;;:17;;;;:::i;:::-;14288:7;:27;;;;14339:20;14354:4;14339:10;;:14;;:20;;;;:::i;:::-;14326:10;:33;;;;14220:147;;:::o;15035:469::-;15204:7;15226;15248;15283:12;15298:30;15324:3;15298:21;15310:8;15298:7;:11;;:21;;;;:::i;:::-;:25;;:30;;;;:::i;:::-;15283:45;;15339:13;15355:28;15379:3;15355:19;15367:6;15355:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;15339:44;;15394:23;15420:28;15442:5;15420:17;15432:4;15420:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;15394:54;;15467:15;15484:4;15490:5;15459:37;;;;;;;;;15035:469;;;;;;;:::o;15512:534::-;15706:7;15728;15750;15785:15;15803:24;15815:11;15803:7;:11;;:24;;;;:::i;:::-;15785:42;;15838:12;15853:21;15862:11;15853:4;:8;;:21;;;;:::i;:::-;15838:36;;15885:13;15901:22;15911:11;15901:5;:9;;:22;;;;:::i;:::-;15885:38;;15934:23;15960:28;15982:5;15960:17;15972:4;15960:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;15934:54;;16007:7;16016:15;16033:4;15999:39;;;;;;;;;;15512:534;;;;;;;;:::o;2985:246::-;3043:7;3072:1;3067;:6;3063:47;;;3097:1;3090:8;;;;3063:47;3120:9;3136:1;3132;:5;;;;:::i;:::-;3120:17;;3165:1;3160;3156;:5;;;;:::i;:::-;:10;3148:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;3222:1;3215:8;;;2985:246;;;;;:::o;7:75:1:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:102;498:6;549:2;545:7;540:2;533:5;529:14;525:28;515:38;;457:102;;;:::o;565:180::-;613:77;610:1;603:88;710:4;707:1;700:15;734:4;731:1;724:15;751:281;834:27;856:4;834:27;:::i;:::-;826:6;822:40;964:6;952:10;949:22;928:18;916:10;913:34;910:62;907:88;;;975:18;;:::i;:::-;907:88;1015:10;1011:2;1004:22;794:238;751:281;;:::o;1038:129::-;1072:6;1099:20;;:::i;:::-;1089:30;;1128:33;1156:4;1148:6;1128:33;:::i;:::-;1038:129;;;:::o;1173:311::-;1250:4;1340:18;1332:6;1329:30;1326:56;;;1362:18;;:::i;:::-;1326:56;1412:4;1404:6;1400:17;1392:25;;1472:4;1466;1462:15;1454:23;;1173:311;;;:::o;1490:117::-;1599:1;1596;1589:12;1613:126;1650:7;1690:42;1683:5;1679:54;1668:65;;1613:126;;;:::o;1745:96::-;1782:7;1811:24;1829:5;1811:24;:::i;:::-;1800:35;;1745:96;;;:::o;1847:122::-;1920:24;1938:5;1920:24;:::i;:::-;1913:5;1910:35;1900:63;;1959:1;1956;1949:12;1900:63;1847:122;:::o;1975:139::-;2021:5;2059:6;2046:20;2037:29;;2075:33;2102:5;2075:33;:::i;:::-;1975:139;;;;:::o;2137:710::-;2233:5;2258:81;2274:64;2331:6;2274:64;:::i;:::-;2258:81;:::i;:::-;2249:90;;2359:5;2388:6;2381:5;2374:21;2422:4;2415:5;2411:16;2404:23;;2475:4;2467:6;2463:17;2455:6;2451:30;2504:3;2496:6;2493:15;2490:122;;;2523:79;;:::i;:::-;2490:122;2638:6;2621:220;2655:6;2650:3;2647:15;2621:220;;;2730:3;2759:37;2792:3;2780:10;2759:37;:::i;:::-;2754:3;2747:50;2826:4;2821:3;2817:14;2810:21;;2697:144;2681:4;2676:3;2672:14;2665:21;;2621:220;;;2625:21;2239:608;;2137:710;;;;;:::o;2870:370::-;2941:5;2990:3;2983:4;2975:6;2971:17;2967:27;2957:122;;2998:79;;:::i;:::-;2957:122;3115:6;3102:20;3140:94;3230:3;3222:6;3215:4;3207:6;3203:17;3140:94;:::i;:::-;3131:103;;2947:293;2870:370;;;;:::o;3246:539::-;3330:6;3379:2;3367:9;3358:7;3354:23;3350:32;3347:119;;;3385:79;;:::i;:::-;3347:119;3533:1;3522:9;3518:17;3505:31;3563:18;3555:6;3552:30;3549:117;;;3585:79;;:::i;:::-;3549:117;3690:78;3760:7;3751:6;3740:9;3736:22;3690:78;:::i;:::-;3680:88;;3476:302;3246:539;;;;:::o;3791:99::-;3843:6;3877:5;3871:12;3861:22;;3791:99;;;:::o;3896:169::-;3980:11;4014:6;4009:3;4002:19;4054:4;4049:3;4045:14;4030:29;;3896:169;;;;:::o;4071:307::-;4139:1;4149:113;4163:6;4160:1;4157:13;4149:113;;;4248:1;4243:3;4239:11;4233:18;4229:1;4224:3;4220:11;4213:39;4185:2;4182:1;4178:10;4173:15;;4149:113;;;4280:6;4277:1;4274:13;4271:101;;;4360:1;4351:6;4346:3;4342:16;4335:27;4271:101;4120:258;4071:307;;;:::o;4384:364::-;4472:3;4500:39;4533:5;4500:39;:::i;:::-;4555:71;4619:6;4614:3;4555:71;:::i;:::-;4548:78;;4635:52;4680:6;4675:3;4668:4;4661:5;4657:16;4635:52;:::i;:::-;4712:29;4734:6;4712:29;:::i;:::-;4707:3;4703:39;4696:46;;4476:272;4384:364;;;;:::o;4754:313::-;4867:4;4905:2;4894:9;4890:18;4882:26;;4954:9;4948:4;4944:20;4940:1;4929:9;4925:17;4918:47;4982:78;5055:4;5046:6;4982:78;:::i;:::-;4974:86;;4754:313;;;;:::o;5073:77::-;5110:7;5139:5;5128:16;;5073:77;;;:::o;5156:122::-;5229:24;5247:5;5229:24;:::i;:::-;5222:5;5219:35;5209:63;;5268:1;5265;5258:12;5209:63;5156:122;:::o;5284:139::-;5330:5;5368:6;5355:20;5346:29;;5384:33;5411:5;5384:33;:::i;:::-;5284:139;;;;:::o;5429:474::-;5497:6;5505;5554:2;5542:9;5533:7;5529:23;5525:32;5522:119;;;5560:79;;:::i;:::-;5522:119;5680:1;5705:53;5750:7;5741:6;5730:9;5726:22;5705:53;:::i;:::-;5695:63;;5651:117;5807:2;5833:53;5878:7;5869:6;5858:9;5854:22;5833:53;:::i;:::-;5823:63;;5778:118;5429:474;;;;;:::o;5909:90::-;5943:7;5986:5;5979:13;5972:21;5961:32;;5909:90;;;:::o;6005:109::-;6086:21;6101:5;6086:21;:::i;:::-;6081:3;6074:34;6005:109;;:::o;6120:210::-;6207:4;6245:2;6234:9;6230:18;6222:26;;6258:65;6320:1;6309:9;6305:17;6296:6;6258:65;:::i;:::-;6120:210;;;;:::o;6336:60::-;6364:3;6385:5;6378:12;;6336:60;;;:::o;6402:142::-;6452:9;6485:53;6503:34;6512:24;6530:5;6512:24;:::i;:::-;6503:34;:::i;:::-;6485:53;:::i;:::-;6472:66;;6402:142;;;:::o;6550:126::-;6600:9;6633:37;6664:5;6633:37;:::i;:::-;6620:50;;6550:126;;;:::o;6682:152::-;6758:9;6791:37;6822:5;6791:37;:::i;:::-;6778:50;;6682:152;;;:::o;6840:183::-;6953:63;7010:5;6953:63;:::i;:::-;6948:3;6941:76;6840:183;;:::o;7029:274::-;7148:4;7186:2;7175:9;7171:18;7163:26;;7199:97;7293:1;7282:9;7278:17;7269:6;7199:97;:::i;:::-;7029:274;;;;:::o;7309:118::-;7396:24;7414:5;7396:24;:::i;:::-;7391:3;7384:37;7309:118;;:::o;7433:222::-;7526:4;7564:2;7553:9;7549:18;7541:26;;7577:71;7645:1;7634:9;7630:17;7621:6;7577:71;:::i;:::-;7433:222;;;;:::o;7661:619::-;7738:6;7746;7754;7803:2;7791:9;7782:7;7778:23;7774:32;7771:119;;;7809:79;;:::i;:::-;7771:119;7929:1;7954:53;7999:7;7990:6;7979:9;7975:22;7954:53;:::i;:::-;7944:63;;7900:117;8056:2;8082:53;8127:7;8118:6;8107:9;8103:22;8082:53;:::i;:::-;8072:63;;8027:118;8184:2;8210:53;8255:7;8246:6;8235:9;8231:22;8210:53;:::i;:::-;8200:63;;8155:118;7661:619;;;;;:::o;8286:86::-;8321:7;8361:4;8354:5;8350:16;8339:27;;8286:86;;;:::o;8378:112::-;8461:22;8477:5;8461:22;:::i;:::-;8456:3;8449:35;8378:112;;:::o;8496:214::-;8585:4;8623:2;8612:9;8608:18;8600:26;;8636:67;8700:1;8689:9;8685:17;8676:6;8636:67;:::i;:::-;8496:214;;;;:::o;8716:118::-;8803:24;8821:5;8803:24;:::i;:::-;8798:3;8791:37;8716:118;;:::o;8840:222::-;8933:4;8971:2;8960:9;8956:18;8948:26;;8984:71;9052:1;9041:9;9037:17;9028:6;8984:71;:::i;:::-;8840:222;;;;:::o;9068:329::-;9127:6;9176:2;9164:9;9155:7;9151:23;9147:32;9144:119;;;9182:79;;:::i;:::-;9144:119;9302:1;9327:53;9372:7;9363:6;9352:9;9348:22;9327:53;:::i;:::-;9317:63;;9273:117;9068:329;;;;:::o;9403:116::-;9473:21;9488:5;9473:21;:::i;:::-;9466:5;9463:32;9453:60;;9509:1;9506;9499:12;9453:60;9403:116;:::o;9525:133::-;9568:5;9606:6;9593:20;9584:29;;9622:30;9646:5;9622:30;:::i;:::-;9525:133;;;;:::o;9664:323::-;9720:6;9769:2;9757:9;9748:7;9744:23;9740:32;9737:119;;;9775:79;;:::i;:::-;9737:119;9895:1;9920:50;9962:7;9953:6;9942:9;9938:22;9920:50;:::i;:::-;9910:60;;9866:114;9664:323;;;;:::o;9993:329::-;10052:6;10101:2;10089:9;10080:7;10076:23;10072:32;10069:119;;;10107:79;;:::i;:::-;10069:119;10227:1;10252:53;10297:7;10288:6;10277:9;10273:22;10252:53;:::i;:::-;10242:63;;10198:117;9993:329;;;;:::o;10328:117::-;10437:1;10434;10427:12;10468:568;10541:8;10551:6;10601:3;10594:4;10586:6;10582:17;10578:27;10568:122;;10609:79;;:::i;:::-;10568:122;10722:6;10709:20;10699:30;;10752:18;10744:6;10741:30;10738:117;;;10774:79;;:::i;:::-;10738:117;10888:4;10880:6;10876:17;10864:29;;10942:3;10934:4;10926:6;10922:17;10912:8;10908:32;10905:41;10902:128;;;10949:79;;:::i;:::-;10902:128;10468:568;;;;;:::o;11042:698::-;11134:6;11142;11150;11199:2;11187:9;11178:7;11174:23;11170:32;11167:119;;;11205:79;;:::i;:::-;11167:119;11353:1;11342:9;11338:17;11325:31;11383:18;11375:6;11372:30;11369:117;;;11405:79;;:::i;:::-;11369:117;11518:80;11590:7;11581:6;11570:9;11566:22;11518:80;:::i;:::-;11500:98;;;;11296:312;11647:2;11673:50;11715:7;11706:6;11695:9;11691:22;11673:50;:::i;:::-;11663:60;;11618:115;11042:698;;;;;:::o;11746:474::-;11814:6;11822;11871:2;11859:9;11850:7;11846:23;11842:32;11839:119;;;11877:79;;:::i;:::-;11839:119;11997:1;12022:53;12067:7;12058:6;12047:9;12043:22;12022:53;:::i;:::-;12012:63;;11968:117;12124:2;12150:53;12195:7;12186:6;12175:9;12171:22;12150:53;:::i;:::-;12140:63;;12095:118;11746:474;;;;;:::o;12226:182::-;12366:34;12362:1;12354:6;12350:14;12343:58;12226:182;:::o;12414:366::-;12556:3;12577:67;12641:2;12636:3;12577:67;:::i;:::-;12570:74;;12653:93;12742:3;12653:93;:::i;:::-;12771:2;12766:3;12762:12;12755:19;;12414:366;;;:::o;12786:419::-;12952:4;12990:2;12979:9;12975:18;12967:26;;13039:9;13033:4;13029:20;13025:1;13014:9;13010:17;13003:47;13067:131;13193:4;13067:131;:::i;:::-;13059:139;;12786:419;;;:::o;13211:180::-;13259:77;13256:1;13249:88;13356:4;13353:1;13346:15;13380:4;13377:1;13370:15;13397:180;13445:77;13442:1;13435:88;13542:4;13539:1;13532:15;13566:4;13563:1;13556:15;13583:233;13622:3;13645:24;13663:5;13645:24;:::i;:::-;13636:33;;13691:66;13684:5;13681:77;13678:103;;;13761:18;;:::i;:::-;13678:103;13808:1;13801:5;13797:13;13790:20;;13583:233;;;:::o;13822:168::-;13962:20;13958:1;13950:6;13946:14;13939:44;13822:168;:::o;13996:366::-;14138:3;14159:67;14223:2;14218:3;14159:67;:::i;:::-;14152:74;;14235:93;14324:3;14235:93;:::i;:::-;14353:2;14348:3;14344:12;14337:19;;13996:366;;;:::o;14368:419::-;14534:4;14572:2;14561:9;14557:18;14549:26;;14621:9;14615:4;14611:20;14607:1;14596:9;14592:17;14585:47;14649:131;14775:4;14649:131;:::i;:::-;14641:139;;14368:419;;;:::o;14793:225::-;14933:34;14929:1;14921:6;14917:14;14910:58;15002:8;14997:2;14989:6;14985:15;14978:33;14793:225;:::o;15024:366::-;15166:3;15187:67;15251:2;15246:3;15187:67;:::i;:::-;15180:74;;15263:93;15352:3;15263:93;:::i;:::-;15381:2;15376:3;15372:12;15365:19;;15024:366;;;:::o;15396:419::-;15562:4;15600:2;15589:9;15585:18;15577:26;;15649:9;15643:4;15639:20;15635:1;15624:9;15620:17;15613:47;15677:131;15803:4;15677:131;:::i;:::-;15669:139;;15396:419;;;:::o;15821:223::-;15961:34;15957:1;15949:6;15945:14;15938:58;16030:6;16025:2;16017:6;16013:15;16006:31;15821:223;:::o;16050:366::-;16192:3;16213:67;16277:2;16272:3;16213:67;:::i;:::-;16206:74;;16289:93;16378:3;16289:93;:::i;:::-;16407:2;16402:3;16398:12;16391:19;;16050:366;;;:::o;16422:419::-;16588:4;16626:2;16615:9;16611:18;16603:26;;16675:9;16669:4;16665:20;16661:1;16650:9;16646:17;16639:47;16703:131;16829:4;16703:131;:::i;:::-;16695:139;;16422:419;;;:::o;16847:221::-;16987:34;16983:1;16975:6;16971:14;16964:58;17056:4;17051:2;17043:6;17039:15;17032:29;16847:221;:::o;17074:366::-;17216:3;17237:67;17301:2;17296:3;17237:67;:::i;:::-;17230:74;;17313:93;17402:3;17313:93;:::i;:::-;17431:2;17426:3;17422:12;17415:19;;17074:366;;;:::o;17446:419::-;17612:4;17650:2;17639:9;17635:18;17627:26;;17699:9;17693:4;17689:20;17685:1;17674:9;17670:17;17663:47;17727:131;17853:4;17727:131;:::i;:::-;17719:139;;17446:419;;;:::o;17871:224::-;18011:34;18007:1;17999:6;17995:14;17988:58;18080:7;18075:2;18067:6;18063:15;18056:32;17871:224;:::o;18101:366::-;18243:3;18264:67;18328:2;18323:3;18264:67;:::i;:::-;18257:74;;18340:93;18429:3;18340:93;:::i;:::-;18458:2;18453:3;18449:12;18442:19;;18101:366;;;:::o;18473:419::-;18639:4;18677:2;18666:9;18662:18;18654:26;;18726:9;18720:4;18716:20;18712:1;18701:9;18697:17;18690:47;18754:131;18880:4;18754:131;:::i;:::-;18746:139;;18473:419;;;:::o;18898:222::-;19038:34;19034:1;19026:6;19022:14;19015:58;19107:5;19102:2;19094:6;19090:15;19083:30;18898:222;:::o;19126:366::-;19268:3;19289:67;19353:2;19348:3;19289:67;:::i;:::-;19282:74;;19365:93;19454:3;19365:93;:::i;:::-;19483:2;19478:3;19474:12;19467:19;;19126:366;;;:::o;19498:419::-;19664:4;19702:2;19691:9;19687:18;19679:26;;19751:9;19745:4;19741:20;19737:1;19726:9;19722:17;19715:47;19779:131;19905:4;19779:131;:::i;:::-;19771:139;;19498:419;;;:::o;19923:228::-;20063:34;20059:1;20051:6;20047:14;20040:58;20132:11;20127:2;20119:6;20115:15;20108:36;19923:228;:::o;20157:366::-;20299:3;20320:67;20384:2;20379:3;20320:67;:::i;:::-;20313:74;;20396:93;20485:3;20396:93;:::i;:::-;20514:2;20509:3;20505:12;20498:19;;20157:366;;;:::o;20529:419::-;20695:4;20733:2;20722:9;20718:18;20710:26;;20782:9;20776:4;20772:20;20768:1;20757:9;20753:17;20746:47;20810:131;20936:4;20810:131;:::i;:::-;20802:139;;20529:419;;;:::o;20954:250::-;21094:34;21090:1;21082:6;21078:14;21071:58;21163:33;21158:2;21150:6;21146:15;21139:58;20954:250;:::o;21210:366::-;21352:3;21373:67;21437:2;21432:3;21373:67;:::i;:::-;21366:74;;21449:93;21538:3;21449:93;:::i;:::-;21567:2;21562:3;21558:12;21551:19;;21210:366;;;:::o;21582:419::-;21748:4;21786:2;21775:9;21771:18;21763:26;;21835:9;21829:4;21825:20;21821:1;21810:9;21806:17;21799:47;21863:131;21989:4;21863:131;:::i;:::-;21855:139;;21582:419;;;:::o;22007:178::-;22147:30;22143:1;22135:6;22131:14;22124:54;22007:178;:::o;22191:366::-;22333:3;22354:67;22418:2;22413:3;22354:67;:::i;:::-;22347:74;;22430:93;22519:3;22430:93;:::i;:::-;22548:2;22543:3;22539:12;22532:19;;22191:366;;;:::o;22563:419::-;22729:4;22767:2;22756:9;22752:18;22744:26;;22816:9;22810:4;22806:20;22802:1;22791:9;22787:17;22780:47;22844:131;22970:4;22844:131;:::i;:::-;22836:139;;22563:419;;;:::o;22988:222::-;23128:34;23124:1;23116:6;23112:14;23105:58;23197:5;23192:2;23184:6;23180:15;23173:30;22988:222;:::o;23216:366::-;23358:3;23379:67;23443:2;23438:3;23379:67;:::i;:::-;23372:74;;23455:93;23544:3;23455:93;:::i;:::-;23573:2;23568:3;23564:12;23557:19;;23216:366;;;:::o;23588:419::-;23754:4;23792:2;23781:9;23777:18;23769:26;;23841:9;23835:4;23831:20;23827:1;23816:9;23812:17;23805:47;23869:131;23995:4;23869:131;:::i;:::-;23861:139;;23588:419;;;:::o;24013:191::-;24053:4;24073:20;24091:1;24073:20;:::i;:::-;24068:25;;24107:20;24125:1;24107:20;:::i;:::-;24102:25;;24146:1;24143;24140:8;24137:34;;;24151:18;;:::i;:::-;24137:34;24196:1;24193;24189:9;24181:17;;24013:191;;;;:::o;24210:229::-;24350:34;24346:1;24338:6;24334:14;24327:58;24419:12;24414:2;24406:6;24402:15;24395:37;24210:229;:::o;24445:366::-;24587:3;24608:67;24672:2;24667:3;24608:67;:::i;:::-;24601:74;;24684:93;24773:3;24684:93;:::i;:::-;24802:2;24797:3;24793:12;24786:19;;24445:366;;;:::o;24817:419::-;24983:4;25021:2;25010:9;25006:18;24998:26;;25070:9;25064:4;25060:20;25056:1;25045:9;25041:17;25034:47;25098:131;25224:4;25098:131;:::i;:::-;25090:139;;24817:419;;;:::o;25242:143::-;25299:5;25330:6;25324:13;25315:22;;25346:33;25373:5;25346:33;:::i;:::-;25242:143;;;;:::o;25391:351::-;25461:6;25510:2;25498:9;25489:7;25485:23;25481:32;25478:119;;;25516:79;;:::i;:::-;25478:119;25636:1;25661:64;25717:7;25708:6;25697:9;25693:22;25661:64;:::i;:::-;25651:74;;25607:128;25391:351;;;;:::o;25748:85::-;25793:7;25822:5;25811:16;;25748:85;;;:::o;25839:158::-;25897:9;25930:61;25948:42;25957:32;25983:5;25957:32;:::i;:::-;25948:42;:::i;:::-;25930:61;:::i;:::-;25917:74;;25839:158;;;:::o;26003:147::-;26098:45;26137:5;26098:45;:::i;:::-;26093:3;26086:58;26003:147;;:::o;26156:114::-;26223:6;26257:5;26251:12;26241:22;;26156:114;;;:::o;26276:184::-;26375:11;26409:6;26404:3;26397:19;26449:4;26444:3;26440:14;26425:29;;26276:184;;;;:::o;26466:132::-;26533:4;26556:3;26548:11;;26586:4;26581:3;26577:14;26569:22;;26466:132;;;:::o;26604:108::-;26681:24;26699:5;26681:24;:::i;:::-;26676:3;26669:37;26604:108;;:::o;26718:179::-;26787:10;26808:46;26850:3;26842:6;26808:46;:::i;:::-;26886:4;26881:3;26877:14;26863:28;;26718:179;;;;:::o;26903:113::-;26973:4;27005;27000:3;26996:14;26988:22;;26903:113;;;:::o;27052:732::-;27171:3;27200:54;27248:5;27200:54;:::i;:::-;27270:86;27349:6;27344:3;27270:86;:::i;:::-;27263:93;;27380:56;27430:5;27380:56;:::i;:::-;27459:7;27490:1;27475:284;27500:6;27497:1;27494:13;27475:284;;;27576:6;27570:13;27603:63;27662:3;27647:13;27603:63;:::i;:::-;27596:70;;27689:60;27742:6;27689:60;:::i;:::-;27679:70;;27535:224;27522:1;27519;27515:9;27510:14;;27475:284;;;27479:14;27775:3;27768:10;;27176:608;;;27052:732;;;;:::o;27790:831::-;28053:4;28091:3;28080:9;28076:19;28068:27;;28105:71;28173:1;28162:9;28158:17;28149:6;28105:71;:::i;:::-;28186:80;28262:2;28251:9;28247:18;28238:6;28186:80;:::i;:::-;28313:9;28307:4;28303:20;28298:2;28287:9;28283:18;28276:48;28341:108;28444:4;28435:6;28341:108;:::i;:::-;28333:116;;28459:72;28527:2;28516:9;28512:18;28503:6;28459:72;:::i;:::-;28541:73;28609:3;28598:9;28594:19;28585:6;28541:73;:::i;:::-;27790:831;;;;;;;;:::o;28627:180::-;28675:77;28672:1;28665:88;28772:4;28769:1;28762:15;28796:4;28793:1;28786:15;28813:185;28853:1;28870:20;28888:1;28870:20;:::i;:::-;28865:25;;28904:20;28922:1;28904:20;:::i;:::-;28899:25;;28943:1;28933:35;;28948:18;;:::i;:::-;28933:35;28990:1;28987;28983:9;28978:14;;28813:185;;;;:::o;29004:305::-;29044:3;29063:20;29081:1;29063:20;:::i;:::-;29058:25;;29097:20;29115:1;29097:20;:::i;:::-;29092:25;;29251:1;29183:66;29179:74;29176:1;29173:81;29170:107;;;29257:18;;:::i;:::-;29170:107;29301:1;29298;29294:9;29287:16;;29004:305;;;;:::o;29315:177::-;29455:29;29451:1;29443:6;29439:14;29432:53;29315:177;:::o;29498:366::-;29640:3;29661:67;29725:2;29720:3;29661:67;:::i;:::-;29654:74;;29737:93;29826:3;29737:93;:::i;:::-;29855:2;29850:3;29846:12;29839:19;;29498:366;;;:::o;29870:419::-;30036:4;30074:2;30063:9;30059:18;30051:26;;30123:9;30117:4;30113:20;30109:1;30098:9;30094:17;30087:47;30151:131;30277:4;30151:131;:::i;:::-;30143:139;;29870:419;;;:::o;30295:348::-;30335:7;30358:20;30376:1;30358:20;:::i;:::-;30353:25;;30392:20;30410:1;30392:20;:::i;:::-;30387:25;;30580:1;30512:66;30508:74;30505:1;30502:81;30497:1;30490:9;30483:17;30479:105;30476:131;;;30587:18;;:::i;:::-;30476:131;30635:1;30632;30628:9;30617:20;;30295:348;;;;:::o;30649:220::-;30789:34;30785:1;30777:6;30773:14;30766:58;30858:3;30853:2;30845:6;30841:15;30834:28;30649:220;:::o;30875:366::-;31017:3;31038:67;31102:2;31097:3;31038:67;:::i;:::-;31031:74;;31114:93;31203:3;31114:93;:::i;:::-;31232:2;31227:3;31223:12;31216:19;;30875:366;;;:::o;31247:419::-;31413:4;31451:2;31440:9;31436:18;31428:26;;31500:9;31494:4;31490:20;31486:1;31475:9;31471:17;31464:47;31528:131;31654:4;31528:131;:::i;:::-;31520:139;;31247:419;;;:::o

Swarm Source

ipfs://437b83613c7d418a3793601fd10c6827b38c064038e04ad86b3cbc13410b25d0
Block Transaction Difficulty Gas Used Reward
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.