Contract 0xaF9c4c0248Fd208a346da82bBa67797090FeC757 2

 
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x1e35843db18c1a6088ae797dd9748f4a96cf9572572527e1ea8970cdf8cdfe17Stake Token285045372022-05-19 10:29:071 day 13 hrs ago0x35cdfcc93227d4893fe7a716d98b31df3b33bda1 IN  0xaf9c4c0248fd208a346da82bba67797090fec7570 MATIC0.002500512053 33.817208804
0x461f5bf5772f72ae2370ab810ff6b512abbac2a19e4d508467015b03b774f2bbUn Stake Token285044642022-05-19 10:26:291 day 13 hrs ago0x35cdfcc93227d4893fe7a716d98b31df3b33bda1 IN  0xaf9c4c0248fd208a346da82bba67797090fec7570 MATIC0.002325573419 42.648378292
0x83221b59f244c104acadec8b5788a934f29eb8e95c4ac90824dd92b5e354c185Claim Token_M285043902022-05-19 10:23:571 day 13 hrs ago0x35cdfcc93227d4893fe7a716d98b31df3b33bda1 IN  0xaf9c4c0248fd208a346da82bba67797090fec7570 MATIC0.003131783003 55.103070353
0x698529d652f3b7b04f893a2883d9cc10d3e494a389a8c343527ab1147e9c1a60Stake Token284567032022-05-18 5:21:402 days 18 hrs ago0xdba5373cc9a266a8555effd0da490a5ecd2160df IN  0xaf9c4c0248fd208a346da82bba67797090fec7570 MATIC0.002825513351 35.281870927
0x07cebf969b56debc4a42d4610870f26e918184214e0f372e28d2948d4dc42b76Claim Token_T284566742022-05-18 5:20:422 days 18 hrs ago0xdba5373cc9a266a8555effd0da490a5ecd2160df IN  0xaf9c4c0248fd208a346da82bba67797090fec7570 MATIC0.001591600479 32.341715028
0xf940a424e0c8036e1020f1cdf00e07a677e11252c63e2378f4c4fbec007786eeTransfer283623992022-05-15 21:08:315 days 2 hrs ago0xf1425bb26a4caaf4558febc5fca9cc7f06f69c86 IN  0xaf9c4c0248fd208a346da82bba67797090fec7570 MATIC0.00368077575
0x43b8b63c7f095f236cbad44f7040bf0aa36159c5b06774eab523136a43c433deUn Stake Token283442132022-05-15 10:26:105 days 13 hrs ago0x01ce5a154f23abfb469d2739562cb54c68d215d8 IN  0xaf9c4c0248fd208a346da82bba67797090fec7570 MATIC0.001451306498 36.259999973
0x6ac52e1c75e6ceff26de55181f5af578fcb738eb2991eb1f072944f9ee836122Un Stake Token283441952022-05-15 10:25:345 days 13 hrs ago0x01ce5a154f23abfb469d2739562cb54c68d215d8 IN  0xaf9c4c0248fd208a346da82bba67797090fec7570 MATIC0.001258505633 31.442988963
0x246767d729375ec19d80d3bb87ace44afe193808585332eb3a5013392d3ff3baStake Token282748442022-05-13 16:51:177 days 6 hrs ago0x2028ab1f1410c1bd5a4e85f2554cd5dac6f8e22e IN  0xaf9c4c0248fd208a346da82bba67797090fec7570 MATIC0.005982274874.7
0x58592c17c6a6167c1ec90b4f04bf3b968ac461574bcfb6d3a381664ea2f82d49Claim Token_T282748332022-05-13 16:50:557 days 6 hrs ago0x2028ab1f1410c1bd5a4e85f2554cd5dac6f8e22e IN  0xaf9c4c0248fd208a346da82bba67797090fec7570 MATIC0.003799166477.2
0x9b935507c8a1129334955063d1ee3042412d1180da0a685b33665ccacd9f57ffStake Token282551032022-05-13 5:08:597 days 18 hrs ago0xdba5373cc9a266a8555effd0da490a5ecd2160df IN  0xaf9c4c0248fd208a346da82bba67797090fec7570 MATIC0.00430867937 53.802000033
0x2a5d3b288e8cce57a97103cb8922b3d722905c1f063bfd3a5e7257c4576d26f6Claim Token_T282550872022-05-13 5:08:277 days 18 hrs ago0xdba5373cc9a266a8555effd0da490a5ecd2160df IN  0xaf9c4c0248fd208a346da82bba67797090fec7570 MATIC0.002207829428 44.863639528
0xa67e3ac07e8c2e2c5a2540c365b163f0deda4123fe5e149a55f9c8b154756334Claim Token_T282451822022-05-12 23:12:168 days 29 mins ago0x39e7bce39380a79721d780d20775f41cc6815f09 IN  0xaf9c4c0248fd208a346da82bba67797090fec7570 MATIC0.003413460
0xe61d39e5b9e2567225c33bb70913ebbebf42b22b6270fd0717ce1bdfa2fef673Sell Token281044382022-05-09 8:05:5011 days 15 hrs ago0x39e7bce39380a79721d780d20775f41cc6815f09 IN  0xaf9c4c0248fd208a346da82bba67797090fec7570 MATIC0.0043537860
0x09bfe9c9f488c2f7b67870c447ed25bccbcf65aaa8ab022f429c206d5528a73cStake Matic280874002022-05-08 21:49:1712 days 1 hr ago0x39e7bce39380a79721d780d20775f41cc6815f09 IN  0xaf9c4c0248fd208a346da82bba67797090fec7570.5 MATIC0.0041863230
0x8fc77baff1f9fdce2febaf633bc976d6ecf6b6aca4e6220fa528d8499510470bClaim Token_T280842082022-05-08 19:57:2412 days 3 hrs ago0x6a0ecf8f1af714103244135f58a0499a8019298d IN  0xaf9c4c0248fd208a346da82bba67797090fec7570 MATIC0.002267912716 39.864874612
0xc03c65ced97dfe1552c96650eacbc5a08fa8732a8f917207ee0943d4548f7802Stake Token280749772022-05-08 14:22:5812 days 9 hrs ago0xdba5373cc9a266a8555effd0da490a5ecd2160df IN  0xaf9c4c0248fd208a346da82bba67797090fec7570 MATIC0.003224343251 40.262015526
0x6ac80226e35b31bd61e4e6c82c5c52b5ec974ac1239a0c87dd1680b7de33dfbfClaim Token_T280742232022-05-08 13:57:0212 days 9 hrs ago0xdba5373cc9a266a8555effd0da490a5ecd2160df IN  0xaf9c4c0248fd208a346da82bba67797090fec7570 MATIC0.001838836813 37.365618419
0x47968d4158fa7952e9d37a7f1d4b3b1fcceb68c4675f06abb574731c991fe691Claim Token_M280643112022-05-08 7:52:0012 days 15 hrs ago0x39e7bce39380a79721d780d20775f41cc6815f09 IN  0xaf9c4c0248fd208a346da82bba67797090fec7570 MATIC0.003410160
0x2017d2b9b550a347734efeeeae0adb7e5b0d528695560cbb311b47c449547c1eClaim Token_T280643012022-05-08 7:51:4012 days 15 hrs ago0x39e7bce39380a79721d780d20775f41cc6815f09 IN  0xaf9c4c0248fd208a346da82bba67797090fec7570 MATIC0.003413460
0x5adb515119614b24c3b41c666fee7fe52d57b85b0e2cbec2936e50214def5544Claim Token_T280145862022-05-07 2:20:3713 days 21 hrs ago0x39e7bce39380a79721d780d20775f41cc6815f09 IN  0xaf9c4c0248fd208a346da82bba67797090fec7570 MATIC0.003413460
0x78bc6d12684dc17e47495b595b00d83d2a4e0dca897a163640a80a095621bcfdStake Token280035192022-05-06 19:51:2314 days 3 hrs ago0x2028ab1f1410c1bd5a4e85f2554cd5dac6f8e22e IN  0xaf9c4c0248fd208a346da82bba67797090fec7570 MATIC0.0032033640
0x80ec388dcfb6f2c541ffc5ab9aeac4a15b906657d612c81ca2ab6a9c49a9b350Claim Token_M280035092022-05-06 19:51:0314 days 3 hrs ago0x2028ab1f1410c1bd5a4e85f2554cd5dac6f8e22e IN  0xaf9c4c0248fd208a346da82bba67797090fec7570 MATIC0.001767568531.1
0x99b42c9e79e141f3f72dcfa536aa212426eed5a64835f862a7aec7fc7e81d2d9Claim Token_T280035002022-05-06 19:50:4514 days 3 hrs ago0x2028ab1f1410c1bd5a4e85f2554cd5dac6f8e22e IN  0xaf9c4c0248fd208a346da82bba67797090fec7570 MATIC0.00167320834
0x7a4aa9e734268cfce5aaf335118c78b9725a8732caa7e36640e54d39098f446aClaim Token_T279949812022-05-06 14:40:2114 days 9 hrs ago0x39e7bce39380a79721d780d20775f41cc6815f09 IN  0xaf9c4c0248fd208a346da82bba67797090fec7570 MATIC0.003413460
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xe61d39e5b9e2567225c33bb70913ebbebf42b22b6270fd0717ce1bdfa2fef673281044382022-05-09 8:05:5011 days 15 hrs ago 0xaf9c4c0248fd208a346da82bba67797090fec7570x39e7bce39380a79721d780d20775f41cc6815f091.16696895715461283 MATIC
0x09bfe9c9f488c2f7b67870c447ed25bccbcf65aaa8ab022f429c206d5528a73c280874002022-05-08 21:49:1712 days 1 hr ago 0xaf9c4c0248fd208a346da82bba67797090fec7570xeb8eb7487012eb95332b884ca50a854c0d50e18f0.02 MATIC
0x09bfe9c9f488c2f7b67870c447ed25bccbcf65aaa8ab022f429c206d5528a73c280874002022-05-08 21:49:1712 days 1 hr ago 0xaf9c4c0248fd208a346da82bba67797090fec7570xbb06ce3c6572fa926bac2afabdc78dc8addc9cea0.02 MATIC
0x09bfe9c9f488c2f7b67870c447ed25bccbcf65aaa8ab022f429c206d5528a73c280874002022-05-08 21:49:1712 days 1 hr ago 0xaf9c4c0248fd208a346da82bba67797090fec7570x415b6c507820b87e71b141f2bc08360bcdc0648b0.02 MATIC
0x73221c08a62d275ee0eed62328d9711277418195daf45260c7812620c5ba4fa3279508072022-05-05 11:26:0615 days 12 hrs ago 0xaf9c4c0248fd208a346da82bba67797090fec7570x39e7bce39380a79721d780d20775f41cc6815f090.797885274760531488 MATIC
0xc46d1541c0c5c87e73f80e19faef29f55e20159e15577162922d33569a4da577278695642022-05-03 9:33:5717 days 14 hrs ago 0xaf9c4c0248fd208a346da82bba67797090fec7570x39e7bce39380a79721d780d20775f41cc6815f090.700441637533164197 MATIC
0x51898fd01149bc8bb7a99b26b1e6eb2851e215f9865bfdcfe6c0b024f6d31f7b278097272022-05-01 21:08:3319 days 2 hrs ago 0xaf9c4c0248fd208a346da82bba67797090fec7570x39e7bce39380a79721d780d20775f41cc6815f090.979249370270339776 MATIC
0x6c972df85b35547a1a73bf53a6ae316072afeb74fdf91db098098a7797094de9277478782022-04-30 7:51:3920 days 15 hrs ago 0xaf9c4c0248fd208a346da82bba67797090fec7570x39e7bce39380a79721d780d20775f41cc6815f090.472485707624744292 MATIC
0x3ea398264ed917dea11d8f86a6a1ac5786efef80b6a1ba4f20976bacb9ba5315273889142022-04-21 4:57:0529 days 18 hrs ago 0xaf9c4c0248fd208a346da82bba67797090fec7570xcb94ed3223dfa1008b2397b0c2ced32774e0df1b2.57023168769452 MATIC
0x489a6cfda677afc29d0737195525a7ad05c84a95195bd1be6dcdc9cc7bf38d30273465432022-04-20 2:50:2930 days 20 hrs ago 0xaf9c4c0248fd208a346da82bba67797090fec7570x7376b4a8fbd5403269b26d6466f61b782ebb23f54.6146126698842256 MATIC
0xbbe06dc30c4347644ee40d81c6ba7901f97d139e1641f64851653f883b8b0a17273433702022-04-20 0:38:3030 days 23 hrs ago 0xaf9c4c0248fd208a346da82bba67797090fec7570x39e7bce39380a79721d780d20775f41cc6815f090.392871177613314928 MATIC
0x6f8c83bdcaaf3cb9a1067cc17191770f2639d4c507ec941ab3b418a340ff6a30273227392022-04-19 12:05:1831 days 11 hrs ago 0xaf9c4c0248fd208a346da82bba67797090fec7570xcb94ed3223dfa1008b2397b0c2ced32774e0df1b2.392981249095925755 MATIC
0xb05d47d3b873acac77b1b595d0999e5ebda16712159b9012fef408407ef8df24272815292022-04-18 10:50:5932 days 12 hrs ago 0xaf9c4c0248fd208a346da82bba67797090fec7570x39e7bce39380a79721d780d20775f41cc6815f090.000038865956450301 MATIC
0x253a338c3e814754fc5358ce143814086912764ef037d10980ba900cbe92182a272814922022-04-18 10:49:4532 days 12 hrs ago 0xaf9c4c0248fd208a346da82bba67797090fec7570x39e7bce39380a79721d780d20775f41cc6815f090.20959209105427956 MATIC
0x8c6baa83e66abf4a241db86bffa7e8f13b019c0d4ed61a12bdfa545a5aef511d272714012022-04-18 4:42:5432 days 18 hrs ago 0xaf9c4c0248fd208a346da82bba67797090fec7570xcb94ed3223dfa1008b2397b0c2ced32774e0df1b1.871661255101479991 MATIC
0x2746bb2479759dbea214b2d72668b2283fe00808bbe194f4d1fe12e25e4b17bc272678412022-04-18 2:31:2632 days 21 hrs ago 0xaf9c4c0248fd208a346da82bba67797090fec7570x39e7bce39380a79721d780d20775f41cc6815f090.37692462136940403 MATIC
0x8739ebe8d2152e2e087430540f1723bc98aa21e47790277e057f7a41c1012748272594172022-04-17 21:22:3433 days 2 hrs ago 0xaf9c4c0248fd208a346da82bba67797090fec7570x35cdfcc93227d4893fe7a716d98b31df3b33bda10.169028063972709345 MATIC
0x3a1494a9a2da434d9b0a6a2d33d3771e29f80dcde39a4b38ee78b9457f662845272359612022-04-17 7:19:2533 days 16 hrs ago 0xaf9c4c0248fd208a346da82bba67797090fec7570x39e7bce39380a79721d780d20775f41cc6815f091.719242089310421 MATIC
0xc491fd0702cffa50811a56f4adad618ca57d389d96cd99ff6e7ca8171dbff712272334962022-04-17 5:50:2733 days 17 hrs ago 0xaf9c4c0248fd208a346da82bba67797090fec7570xcb94ed3223dfa1008b2397b0c2ced32774e0df1b7.115532055846901059 MATIC
0xdd6775f5b64a37bc3f1a26be7c720f7c514a7c2757a6d0b605e7428d5fcab5a6272054402022-04-16 12:45:1234 days 10 hrs ago 0xaf9c4c0248fd208a346da82bba67797090fec7570x7376b4a8fbd5403269b26d6466f61b782ebb23f52.897545069482605934 MATIC
0x73adeebd8bca8b996ddfd855a2f2585147a782b194f07020165ec53574c8820c271538962022-04-15 4:42:4335 days 18 hrs ago 0xaf9c4c0248fd208a346da82bba67797090fec7570xcb94ed3223dfa1008b2397b0c2ced32774e0df1b8.621181608558832055 MATIC
0xc0aa0d2c1cec3b16a2ed18870433662dc8cc7a577e68d51424b94a134fdb3ba6270766922022-04-13 5:54:1037 days 17 hrs ago 0xaf9c4c0248fd208a346da82bba67797090fec7570x82df8bd077388f7738a544ed8d6fe059b0dbacf227.76780372709232 MATIC
0xf3be428765b3ddfd8a25ccae57b16056a1aa7814428146d57db1b89d9675709f270159242022-04-11 17:03:1039 days 6 hrs ago 0xaf9c4c0248fd208a346da82bba67797090fec7570x15ac6ec7c3e451f9d662bb217e19f75f3b3bf1860.157172111472154638 MATIC
0x682b2cee5564119abcc7a66eb824e1084e9f5ea2684acc096e178ab1b38a63fc270151512022-04-11 16:36:3639 days 7 hrs ago 0xaf9c4c0248fd208a346da82bba67797090fec7570x1ba5042e611ffd5590758cab546e33e91edd867e17.588271141401331183 MATIC
0xeecd85062dd16ff2abca8f5356a8de9be9d2d54e009bce90b769f866a4d2d884270149702022-04-11 16:30:2239 days 7 hrs ago 0xaf9c4c0248fd208a346da82bba67797090fec7570x1ba5042e611ffd5590758cab546e33e91edd867e0.000084469581169142 MATIC
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
PolySafe

Compiler Version
v0.5.8+commit.23d335f2

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, GNU GPLv3 license

Contract Source Code (Solidity)

/**
 *Submitted for verification at polygonscan.com on 2021-09-19
*/

pragma solidity 0.5.8;

library SafeMath {

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b > 0, "SafeMath: division by zero");
        uint256 c = a / b;

        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a, "SafeMath: subtraction overflow");
        uint256 c = a - b;

        return c;
    }

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

        return c;
    }
}

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

contract ERC20 is IERC20 {
    using SafeMath for uint256;

    mapping (address => uint256) private _balances;

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

    uint256 private _totalSupply;
    uint256 internal _limitSupply;

    string internal _name;
    string internal _symbol;
    uint8 internal _decimals;

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

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

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

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

    function limitSupply() public view returns (uint256) {
        return _limitSupply;
    }
    
    function availableSupply() public view returns (uint256) {
        return _limitSupply.sub(_totalSupply);
    }    

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

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

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

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

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

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

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

    function _transfer(address sender, address recipient, uint256 amount) internal {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _balances[sender] = _balances[sender].sub(amount);
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
    }

    function _mint(address account, uint256 amount) internal {
        require(account != address(0), "ERC20: mint to the zero address");
        require(availableSupply() >= amount, "Supply exceed");

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

    function _burn(address account, uint256 amount) internal {
        require(account != address(0), "ERC20: burn from the zero address");

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

    function _approve(address owner, address spender, uint256 amount) internal {
        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);
    }

}

contract ApproveAndCallFallBack {
    function receiveApproval(address from, uint256 amount, address token, bytes calldata extraData) external;
}

contract Token is ERC20 {
    mapping (address => bool) private _contracts;

    constructor() public {
        _name = "PolySafe";
        _symbol = "PS";
        _decimals = 18;
        _limitSupply = 1000000e18;
    }

    function approveAndCall(address spender, uint256 amount, bytes memory extraData) public returns (bool) {
        require(approve(spender, amount));

        ApproveAndCallFallBack(spender).receiveApproval(msg.sender, amount, address(this), extraData);

        return true;
    }

    function transfer(address to, uint256 value) public returns (bool) {

        if (_contracts[to]) {
            approveAndCall(to, value, new bytes(0));
        } else {
            super.transfer(to, value);
        }

        return true;
    }
}

contract PolySafe is Token {
    
    uint private startTime = 1632074400; //Sun, 19 Sep 2021 :00:00 UTC
    
    address payable private ADMIN;
    address payable private PRJ_1;
    address payable private ADV_1;
    address payable private ADV_2;
    
    uint public totalUsers; 
    uint public totalMaticStaked; 
    uint public totalTokenStaked;
    uint public sentAirdrop;
    
    uint public ownerManualAirdrop;
    uint public ownerManualAirdropCheckpoint = startTime;
    
    uint8[] private REF_BONUSES             = [20, 10, 10];
    uint private constant ADV_FEE           = 40;
    uint private constant LIMIT_AIRDROP     = 100000 ether;
    uint private constant MANUAL_AIRDROP    = 50000 ether;    
    uint private constant USER_AIRDROP      = 100 ether;
    uint private constant MATIC_DAILYPROFIT = 20;
    uint private constant TOKEN_DAILYPROFIT = 40;
    uint private constant PERCENT_DIVIDER   = 1000;
    uint private constant PRICE_DIVIDER     = 1 ether;
    uint private constant TIME_STEP         = 1 days;
    uint private constant TIME_TO_UNSTAKE   = 7 days;
    uint private constant NEXT_AIRDROP      = 7 days;
    uint private constant BON_AIRDROP       = 5;
    uint private constant SELL_LIMIT        = 40000 ether; 
    
    mapping(address => User) private users;
    mapping(uint => uint) private sold; 
    
    struct Stake {
        uint checkpoint;
        uint totalStaked; 
        uint lastStakeTime;
        uint unClaimedTokens;        
    }
    
    struct User {
        address referrer;
        uint lastAirdrop;
        uint countAirdrop;
        uint bonAirdrop;
        Stake sM;
        Stake sT;  
		uint256 bonus;
		uint256 totalBonus;
        uint totaReferralBonus;
        uint[3] levels;
    }
    
    event TokenOperation(address indexed account, string txType, uint tokenAmount, uint trxAmount);

    constructor(address payable _adv1, address payable _adv2, address payable _prj1) public {
        ADMIN = msg.sender;
        PRJ_1 = _prj1;
        ADV_1 = _adv1;
        ADV_2 = _adv2;
        _mint(msg.sender, MANUAL_AIRDROP);
    }
    
    modifier onlyOwner {
        require(msg.sender == ADMIN, "Only owner can call this function");
        _;
    } 
    
    function stakeMatic(address referrer) public payable {
        require(now >= startTime, "Stake not available yet");
        User storage user = users[msg.sender];
        
		uint fee = msg.value.mul(ADV_FEE).div(PERCENT_DIVIDER);
        PRJ_1.transfer(fee); 
        ADV_1.transfer(fee); 
        ADV_2.transfer(fee); 		
		
		if (user.referrer == address(0) && msg.sender != ADMIN) {
			if (users[referrer].sM.totalStaked == 0) {
				referrer = ADMIN;
			}
			user.referrer = referrer;
			address upline = user.referrer;
			for (uint256 i = 0; i < REF_BONUSES.length; i++) {
				if (upline != address(0)) {
					users[upline].levels[i] = users[upline].levels[i].add(1);
					if (i == 0) {
					    users[upline].bonAirdrop = users[upline].bonAirdrop.add(1);
					}
					upline = users[upline].referrer;
				} else break;
			}
		}

		if (user.referrer != address(0)) {
			address upline = user.referrer;
			for (uint256 i = 0; i < REF_BONUSES.length; i++) {
				if (upline == address(0)) {
				    upline = ADMIN;
				}
				uint256 amount = msg.value.mul(REF_BONUSES[i]).div(PERCENT_DIVIDER);
				users[upline].bonus = users[upline].bonus.add(amount);
				users[upline].totalBonus = users[upline].totalBonus.add(amount);
				upline = users[upline].referrer;
			}
		} 

        if (user.sM.totalStaked == 0) {
            user.sM.checkpoint = maxVal(now, startTime);
            totalUsers++;
        } else {
            updateStakeMatic_IP(msg.sender);
        }
      
        user.sM.lastStakeTime = now;
        user.sM.totalStaked = user.sM.totalStaked.add(msg.value);
        totalMaticStaked = totalMaticStaked.add(msg.value);
    }
    
    function stakeToken(uint tokenAmount) public {
        User storage user = users[msg.sender];
        require(now >= startTime, "Stake not available yet");
        require(tokenAmount <= balanceOf(msg.sender), "Insufficient Token Balance");

        if (user.sT.totalStaked == 0) {
            user.sT.checkpoint = now;
        } else {
            updateStakeToken_IP(msg.sender);
        }
        
        _transfer(msg.sender, address(this), tokenAmount);
        user.sT.lastStakeTime = now;
        user.sT.totalStaked = user.sT.totalStaked.add(tokenAmount);
        totalTokenStaked = totalTokenStaked.add(tokenAmount); 
    } 
    
    function unStakeToken() public {
        User storage user = users[msg.sender];
        require(now > user.sT.lastStakeTime.add(TIME_TO_UNSTAKE));
        updateStakeToken_IP(msg.sender);
        uint tokenAmount = user.sT.totalStaked;
        user.sT.totalStaked = 0;
        totalTokenStaked = totalTokenStaked.sub(tokenAmount); 
        _transfer(address(this), msg.sender, tokenAmount);
    }  
    
    function updateStakeMatic_IP(address _addr) private {
        User storage user = users[_addr];
        uint256 amount = getStakeMatic_IP(_addr);
        if(amount > 0) {
            user.sM.unClaimedTokens = user.sM.unClaimedTokens.add(amount);
            user.sM.checkpoint = now;
        }
    } 
    
    function getStakeMatic_IP(address _addr) view private returns(uint256 value) {
        User storage user = users[_addr];
        uint256 fr = user.sM.checkpoint;
        if (startTime > now) {
          fr = now; 
        }
        uint256 Tarif = MATIC_DAILYPROFIT;
        uint256 to = now;
        if(fr < to) {
            value = user.sM.totalStaked.mul(to - fr).mul(Tarif).div(TIME_STEP).div(PERCENT_DIVIDER);
        } else {
            value = 0;
        }
        return value;
    }  
    
    function updateStakeToken_IP(address _addr) private {
        User storage user = users[_addr];
        uint256 amount = getStakeToken_IP(_addr);
        if(amount > 0) {
            user.sT.unClaimedTokens = user.sT.unClaimedTokens.add(amount);
            user.sT.checkpoint = now;
        }
    } 
    
    function getStakeToken_IP(address _addr) view private returns(uint256 value) {
        User storage user = users[_addr];
        uint256 fr = user.sT.checkpoint;
        if (startTime > now) {
          fr = now; 
        }
        uint256 Tarif = TOKEN_DAILYPROFIT;
        uint256 to = now;
        if(fr < to) {
            value = user.sT.totalStaked.mul(to - fr).mul(Tarif).div(TIME_STEP).div(PERCENT_DIVIDER);
        } else {
            value = 0;
        }
        return value;
    }      
    
    function claimToken_M() public {
        User storage user = users[msg.sender];
       
        updateStakeMatic_IP(msg.sender);
        uint tokenAmount = user.sM.unClaimedTokens;  
        user.sM.unClaimedTokens = 0;                 
        
        _mint(msg.sender, tokenAmount);
        emit TokenOperation(msg.sender, "CLAIM", tokenAmount, 0);
    }    
    
    function claimToken_T() public {
        User storage user = users[msg.sender];
       
        updateStakeToken_IP(msg.sender);
        uint tokenAmount = user.sT.unClaimedTokens; 
        user.sT.unClaimedTokens = 0; 
        
        _mint(msg.sender, tokenAmount);
        emit TokenOperation(msg.sender, "CLAIM", tokenAmount, 0);
    }     
    
    function sellToken(uint tokenAmount) public {
        tokenAmount = minVal(tokenAmount, balanceOf(msg.sender));
        require(tokenAmount > 0, "Token amount can not be 0");
        
        require(sold[getCurrentDay()].add(tokenAmount) <= SELL_LIMIT, "Daily Sell Limit exceed");
        sold[getCurrentDay()] = sold[getCurrentDay()].add(tokenAmount);
        uint maticAmount = tokenToMatic(tokenAmount);
    
        require(getContractMaticBalance() > maticAmount, "Insufficient Contract Balance");
        _burn(msg.sender, tokenAmount);
        msg.sender.transfer(maticAmount);
        
        emit TokenOperation(msg.sender, "SELL", tokenAmount, maticAmount);
    }
    
    function getCurrentUserBonAirdrop(address _addr) public view returns (uint) {
        return users[_addr].bonAirdrop;
    }  
    
    function claimAirdrop() public {
        require(getAvailableAirdrop() >= USER_AIRDROP, "Airdrop limit exceed");
        require(users[msg.sender].sM.totalStaked >= getUserAirdropReqInv(msg.sender));
        require(now > users[msg.sender].lastAirdrop.add(NEXT_AIRDROP));
        require(users[msg.sender].bonAirdrop >= BON_AIRDROP);
        users[msg.sender].countAirdrop++;
        users[msg.sender].lastAirdrop = now;
        users[msg.sender].bonAirdrop = 0;
        _mint(msg.sender, USER_AIRDROP);
        sentAirdrop = sentAirdrop.add(USER_AIRDROP);
        emit TokenOperation(msg.sender, "AIRDROP", USER_AIRDROP, 0);
    }
    
    function claimAirdropM() public onlyOwner {
        uint amount = 10000 ether;
        ownerManualAirdrop = ownerManualAirdrop.add(amount);
        require(ownerManualAirdrop <= MANUAL_AIRDROP, "Airdrop limit exceed");
        require(now >= ownerManualAirdropCheckpoint.add(10 days), "Time limit error");
        ownerManualAirdropCheckpoint = now;
        _mint(msg.sender, amount);
        emit TokenOperation(msg.sender, "AIRDROP", amount, 0);
    }    
    
	function withdrawRef() public {
		User storage user = users[msg.sender];
		
		uint totalAmount = getUserReferralBonus(msg.sender);
		require(totalAmount > 0, "User has no dividends");
        user.bonus = 0;
		msg.sender.transfer(totalAmount);
	}	    

    function getUserUnclaimedTokens_M(address _addr) public view returns(uint value) {
        User storage user = users[_addr];
        return getStakeMatic_IP(_addr).add(user.sM.unClaimedTokens); 
    }
    
    function getUserUnclaimedTokens_T(address _addr) public view returns(uint value) {
        User storage user = users[_addr];
        return getStakeToken_IP(_addr).add(user.sT.unClaimedTokens); 
    }  
    
	function getAvailableAirdrop() public view returns (uint) {
		return minZero(LIMIT_AIRDROP, sentAirdrop);
	}   
	
    function getUserTimeToNextAirdrop(address _addr) public view returns (uint) {
        return minZero(users[_addr].lastAirdrop.add(NEXT_AIRDROP), now);
    } 
    
    function getUserBonAirdrop(address _addr) public view returns (uint) {
        return users[_addr].bonAirdrop;
    }

    function getUserAirdropReqInv(address _addr) public view returns (uint) {
        uint ca = users[_addr].countAirdrop.add(1); 
        return ca.mul(100 ether);
    }       
    
    function getUserCountAirdrop(address _addr) public view returns (uint) {
        return users[_addr].countAirdrop;
    }     
    
	function getContractMaticBalance() public view returns (uint) {
	    return address(this).balance;
	}  
	
	function getContractTokenBalance() public view returns (uint) {
		return balanceOf(address(this));
	}  
	
	function getAPY_M() public pure returns (uint) {
		return MATIC_DAILYPROFIT.mul(365).div(10);
	}
	
	function getAPY_T() public pure returns (uint) {
		return TOKEN_DAILYPROFIT.mul(365).div(10);
	}	
	
	function getUserMaticBalance(address _addr) public view returns (uint) {
		return address(_addr).balance;
	}	
	
	function getUserTokenBalance(address _addr) public view returns (uint) {
		return balanceOf(_addr);
	}
	
	function getUserMaticStaked(address _addr) public view returns (uint) {
		return users[_addr].sM.totalStaked;
	}	
	
	function getUserTokenStaked(address _addr) public view returns (uint) {
		return users[_addr].sT.totalStaked;
	}
	
	function getUserTimeToUnstake(address _addr) public view returns (uint) {
		return  minZero(users[_addr].sT.lastStakeTime.add(TIME_TO_UNSTAKE), now);
	}	
	
    function getTokenPrice() public view returns(uint) {
        uint d1 = getContractMaticBalance().mul(PRICE_DIVIDER);
        uint d2 = availableSupply().add(1);
        return d1.div(d2);
    } 

    function maticToToken(uint maticAmount) public view returns(uint) {
        return maticAmount.mul(PRICE_DIVIDER).div(getTokenPrice());
    }

    function tokenToMatic(uint tokenAmount) public view returns(uint) {
        return tokenAmount.mul(getTokenPrice()).div(PRICE_DIVIDER);
    } 	

	function getUserDownlineCount(address userAddress) public view returns(uint, uint, uint) {
		return (users[userAddress].levels[0], users[userAddress].levels[1], users[userAddress].levels[2]);
	}  
	
	function getUserReferralBonus(address userAddress) public view returns(uint) {
		return users[userAddress].bonus;
	}

	function getUserReferralTotalBonus(address userAddress) public view returns(uint) {
		return users[userAddress].totalBonus;
	}
	
	function getUserReferralWithdrawn(address userAddress) public view returns(uint256) {
		return users[userAddress].totalBonus.sub(users[userAddress].bonus);
	}	
    
	function getContractLaunchTime() public view returns(uint) {
		return minZero(startTime, block.timestamp);
	}
	
    function getCurrentDay() public view returns (uint) {
        return minZero(now, startTime).div(TIME_STEP);
    }	
    
    function getTokenSoldToday() public view returns (uint) {
        return sold[getCurrentDay()];
    }   
    
    function getTokenAvailableToSell() public view returns (uint) {
        return minZero(SELL_LIMIT, sold[getCurrentDay()]);
    }  
    
    function getTimeToNextDay() public view returns (uint) {
        uint t = minZero(now, startTime);
        uint g = getCurrentDay().mul(TIME_STEP);
        return g.add(TIME_STEP).sub(t);
    }     
    
    function minZero(uint a, uint b) private pure returns(uint) {
        if (a > b) {
           return a - b; 
        } else {
           return 0;    
        }    
    }   
    
    function maxVal(uint a, uint b) private pure returns(uint) {
        if (a > b) {
           return a; 
        } else {
           return b;    
        }    
    }
    
    function minVal(uint a, uint b) private pure returns(uint) {
        if (a > b) {
           return b; 
        } else {
           return a;    
        }    
    }    
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"getUserTimeToUnstake","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"userAddress","type":"address"}],"name":"getUserDownlineCount","outputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"amount","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"getUserMaticBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"tokenAmount","type":"uint256"}],"name":"sellToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"sender","type":"address"},{"name":"recipient","type":"address"},{"name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"limitSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalTokenStaked","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getContractTokenBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getAPY_T","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"getAPY_M","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"getCurrentUserBonAirdrop","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getCurrentDay","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"userAddress","type":"address"}],"name":"getUserReferralTotalBonus","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unStakeToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getTokenPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"claimAirdropM","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"getUserAirdropReqInv","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getTokenAvailableToSell","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"claimAirdrop","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"maticAmount","type":"uint256"}],"name":"maticToToken","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"getUserMaticStaked","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getTokenSoldToday","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"userAddress","type":"address"}],"name":"getUserReferralWithdrawn","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalMaticStaked","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getContractMaticBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"availableSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"referrer","type":"address"}],"name":"stakeMatic","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"getUserUnclaimedTokens_M","outputs":[{"name":"value","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ownerManualAirdropCheckpoint","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getTimeToNextDay","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"getUserTokenStaked","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"sentAirdrop","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalUsers","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"getUserCountAirdrop","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"tokenAmount","type":"uint256"}],"name":"tokenToMatic","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdrawRef","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"amount","type":"uint256"},{"name":"extraData","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"getUserBonAirdrop","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"getUserTimeToNextAirdrop","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"tokenAmount","type":"uint256"}],"name":"stakeToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getContractLaunchTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"claimToken_M","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"getUserUnclaimedTokens_T","outputs":[{"name":"value","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"claimToken_T","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"userAddress","type":"address"}],"name":"getUserReferralBonus","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"getUserTokenBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getAvailableAirdrop","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ownerManualAirdrop","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_adv1","type":"address"},{"name":"_adv2","type":"address"},{"name":"_prj1","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"},{"indexed":false,"name":"txType","type":"string"},{"indexed":false,"name":"tokenAmount","type":"uint256"},{"indexed":false,"name":"trxAmount","type":"uint256"}],"name":"TokenOperation","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"}]

6361477aa0600881905560125560e060405260146080908152600a60a081905260c052620000329060139060036200043f565b503480156200004057600080fd5b5060405160608062002fd3833981018060405260608110156200006257600080fd5b508051602080830151604093840151845180860190955260088086527f506f6c7953616665000000000000000000000000000000000000000000000000959093019485529293909291620000b991600491620004ec565b506040805180820190915260028082527f505300000000000000000000000000000000000000000000000000000000000060209092019182526200010091600591620004ec565b5060068054601260ff1990911617905569d3c21bcecceda100000060035560098054336001600160a01b03199182168117909255600a805482166001600160a01b0385811691909117909155600b80548316878316179055600c80549092169085161790556200018290690a968163f0a57b4000006200018b602090811b901c565b505050620005ab565b6001600160a01b0382166200020157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b80620002126200032560201b60201c565b10156200028057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f537570706c792065786365656400000000000000000000000000000000000000604482015290519081900360640190fd5b6200029c816002546200034b60201b620021151790919060201c565b6002556001600160a01b03821660009081526020818152604090912054620002cf918390620021156200034b821b17901c565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b600062000345600254600354620003c760201b620024c41790919060201c565b90505b90565b600082820183811015620003c057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6000828211156200043957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b82805482825590600052602060002090601f01602090048101928215620004da5791602002820160005b83821115620004a957835183826101000a81548160ff021916908360ff160217905550926020019260010160208160000104928301926001030262000469565b8015620004d85782816101000a81549060ff0219169055600101602081600001049283019260010302620004a9565b505b50620004e89291506200056d565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200052f57805160ff19168380011785556200055f565b828001600101855582156200055f579182015b828111156200055f57825182559160200191906001019062000542565b50620004e89291506200058e565b6200034891905b80821115620004e857805460ff1916815560010162000574565b6200034891905b80821115620004e8576000815560010162000595565b612a1880620005bb6000396000f3fe6080604052600436106103815760003560e01c80636f2721ac116101d1578063c6461a9811610102578063d1ba643c116100a0578063e85abe091161006f578063e85abe0914610c50578063f5aec88c14610c83578063fc1e6a1814610cb6578063fe17a5ea14610ccb57610381565b8063d1ba643c14610bb8578063d70c55ac14610bcd578063dd62ed3e14610c00578063e325314b14610c3b57610381565b8063cb1c4fc7116100dc578063cb1c4fc714610677578063cd7954ba14610b46578063cda6b84714610b79578063cfc85f7014610ba357610381565b8063c6461a9814610a3f578063ca7dd83514610a69578063cae9ca5114610a7e57610381565b80639cd974791161016f578063b468f06f11610149578063b468f06f146109af578063bd684f6e146109e2578063bff1f9e1146109f7578063c16df73314610a0c57610381565b80639cd9747914610928578063a457c2d71461093d578063a9059cbb1461097657610381565b80637f20016c116101ab5780637f20016c146108a55780638af83686146108cb57806395d89b41146108fe578063997d01081461091357610381565b80636f2721ac1461084857806370a082311461085d5780637ecc2b561461089057610381565b80633ace3389116102b65780634df92ec3116102545780636821acdb116102235780636821acdb146107b857806369ea9a57146107eb5780636bb18556146108005780636c70f4b01461083357610381565b80634df92ec314610731578063547efb5f146107645780635b88349d14610779578063651ab9661461078e57610381565b806348c372031161029057806348c37203146106bf5780634aa3f624146106f25780634b94f50e146107075780634d52ea7e1461071c57610381565b80633ace3389146106625780633d779ffa146106775780633e6968b6146106aa57610381565b806323b872dd11610323578063313ce567116102fd578063313ce567146105d4578063317d9453146105ff57806339509351146106145780633a7186641461064d57610381565b806323b872dd146105675780632ddcb21f146105aa5780632e559d79146105bf57610381565b8063095ea7b31161035f578063095ea7b3146104a65780630bf09fba146104f357806318160ddd146105265780632397e4d71461053b57610381565b806301a875cc1461038657806303a93c0c146103cb57806306fdde031461041c575b600080fd5b34801561039257600080fd5b506103b9600480360360208110156103a957600080fd5b50356001600160a01b0316610ce0565b60408051918252519081900360200190f35b3480156103d757600080fd5b506103fe600480360360208110156103ee57600080fd5b50356001600160a01b0316610d1f565b60408051938452602084019290925282820152519081900360600190f35b34801561042857600080fd5b50610431610d4a565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561046b578181015183820152602001610453565b50505050905090810190601f1680156104985780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156104b257600080fd5b506104df600480360360408110156104c957600080fd5b506001600160a01b038135169060200135610de0565b604080519115158252519081900360200190f35b3480156104ff57600080fd5b506103b96004803603602081101561051657600080fd5b50356001600160a01b0316610df6565b34801561053257600080fd5b506103b9610e03565b34801561054757600080fd5b506105656004803603602081101561055e57600080fd5b5035610e09565b005b34801561057357600080fd5b506104df6004803603606081101561058a57600080fd5b506001600160a01b03813581169160208101359091169060400135611021565b3480156105b657600080fd5b506103b9611078565b3480156105cb57600080fd5b506103b961107e565b3480156105e057600080fd5b506105e9611084565b6040805160ff9092168252519081900360200190f35b34801561060b57600080fd5b506103b961108d565b34801561062057600080fd5b506104df6004803603604081101561063757600080fd5b506001600160a01b03813516906020013561109d565b34801561065957600080fd5b506103b96110d9565b34801561066e57600080fd5b506103b96110ff565b34801561068357600080fd5b506103b96004803603602081101561069a57600080fd5b50356001600160a01b0316611119565b3480156106b657600080fd5b506103b9611137565b3480156106cb57600080fd5b506103b9600480360360208110156106e257600080fd5b50356001600160a01b031661114c565b3480156106fe57600080fd5b5061056561116a565b34801561071357600080fd5b506103b96111d5565b34801561072857600080fd5b5061056561122e565b34801561073d57600080fd5b506103b96004803603602081101561075457600080fd5b50356001600160a01b03166113c9565b34801561077057600080fd5b506103b961141a565b34801561078557600080fd5b5061056561144a565b34801561079a57600080fd5b506103b9600480360360208110156107b157600080fd5b50356115d8565b3480156107c457600080fd5b506103b9600480360360208110156107db57600080fd5b50356001600160a01b03166115fd565b3480156107f757600080fd5b506103b961161b565b34801561080c57600080fd5b506103b96004803603602081101561082357600080fd5b50356001600160a01b031661163d565b34801561083f57600080fd5b506103b961166f565b34801561085457600080fd5b506103b9611675565b34801561086957600080fd5b506103b96004803603602081101561088057600080fd5b50356001600160a01b031661167a565b34801561089c57600080fd5b506103b9611695565b610565600480360360208110156108bb57600080fd5b50356001600160a01b03166116ae565b3480156108d757600080fd5b506103b9600480360360208110156108ee57600080fd5b50356001600160a01b0316611adb565b34801561090a57600080fd5b50610431611b05565b34801561091f57600080fd5b506103b9611b66565b34801561093457600080fd5b506103b9611b6c565b34801561094957600080fd5b506104df6004803603604081101561096057600080fd5b506001600160a01b038135169060200135611bb3565b34801561098257600080fd5b506104df6004803603604081101561099957600080fd5b506001600160a01b038135169060200135611bef565b3480156109bb57600080fd5b506103b9600480360360208110156109d257600080fd5b50356001600160a01b0316611c46565b3480156109ee57600080fd5b506103b9611c64565b348015610a0357600080fd5b506103b9611c6a565b348015610a1857600080fd5b506103b960048036036020811015610a2f57600080fd5b50356001600160a01b0316611c70565b348015610a4b57600080fd5b506103b960048036036020811015610a6257600080fd5b5035611c8e565b348015610a7557600080fd5b50610565611cb4565b348015610a8a57600080fd5b506104df60048036036060811015610aa157600080fd5b6001600160a01b0382351691602081013591810190606081016040820135640100000000811115610ad157600080fd5b820183602082011115610ae357600080fd5b80359060200191846001830284011164010000000083111715610b0557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611d60945050505050565b348015610b5257600080fd5b506103b960048036036020811015610b6957600080fd5b50356001600160a01b0316611e63565b348015610b8557600080fd5b5061056560048036036020811015610b9c57600080fd5b5035611e96565b348015610baf57600080fd5b506103b9611fc1565b348015610bc457600080fd5b50610565611fcf565b348015610bd957600080fd5b506103b960048036036020811015610bf057600080fd5b50356001600160a01b031661204b565b348015610c0c57600080fd5b506103b960048036036040811015610c2357600080fd5b506001600160a01b0381358116916020013516612075565b348015610c4757600080fd5b506105656120a0565b348015610c5c57600080fd5b506103b960048036036020811015610c7357600080fd5b50356001600160a01b03166120ce565b348015610c8f57600080fd5b506103b960048036036020811015610ca657600080fd5b50356001600160a01b03166120ec565b348015610cc257600080fd5b506103b96120f7565b348015610cd757600080fd5b506103b961210f565b6001600160a01b0381166000908152601460205260408120600a0154610d1990610d139062093a8063ffffffff61211516565b42612172565b92915050565b6001600160a01b03166000908152601460205260409020600f81015460108201546011909201549092565b60048054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610dd65780601f10610dab57610100808354040283529160200191610dd6565b820191906000526020600020905b815481529060010190602001808311610db957829003601f168201915b5050505050905090565b6000610ded33848461218d565b50600192915050565b6001600160a01b03163190565b60025490565b610e1b81610e163361167a565b61227f565b905060008111610e755760408051600160e51b62461bcd02815260206004820152601960248201527f546f6b656e20616d6f756e742063616e206e6f74206265203000000000000000604482015290519081900360640190fd5b690878678326eac9000000610ead8260156000610e90611137565b81526020019081526020016000205461211590919063ffffffff16565b1115610f035760408051600160e51b62461bcd02815260206004820152601760248201527f4461696c792053656c6c204c696d697420657863656564000000000000000000604482015290519081900360640190fd5b610f138160156000610e90611137565b60156000610f1f611137565b8152602001908152602001600020819055506000610f3c82611c8e565b905080610f47611675565b11610f9c5760408051600160e51b62461bcd02815260206004820152601d60248201527f496e73756666696369656e7420436f6e74726163742042616c616e6365000000604482015290519081900360640190fd5b610fa63383612297565b604051339082156108fc029083906000818181858888f19350505050158015610fd3573d6000803e3d6000fd5b5060408051602081018490528082018390526060808252600490820152600160e21b6314d1531302608082015290513391600080516020612942833981519152919081900360a00190a25050565b600061102e84848461237c565b6001600160a01b03841660009081526001602090815260408083203380855292529091205461106e918691611069908663ffffffff6124c416565b61218d565b5060019392505050565b60035490565b600f5481565b60065460ff1690565b60006110983061167a565b905090565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610ded918590611069908663ffffffff61211516565b6000611098600a6110f3602861016d63ffffffff61252416565b9063ffffffff61258016565b6000611098600a6110f3601461016d63ffffffff61252416565b6001600160a01b031660009081526014602052604090206003015490565b6000611098620151806110f342600854612172565b6001600160a01b03166000908152601460205260409020600d015490565b336000908152601460205260409020600a8101546111919062093a8063ffffffff61211516565b421161119c57600080fd5b6111a5336125ed565b6009810180546000909155600f546111c3908263ffffffff6124c416565b600f556111d130338361237c565b5050565b6000806111f8670de0b6b3a76400006111ec611675565b9063ffffffff61252416565b905060006112156001611209611695565b9063ffffffff61211516565b9050611227828263ffffffff61258016565b9250505090565b6009546001600160a01b0316331461127a57604051600160e51b62461bcd0281526004018080602001828103825260218152602001806128ff6021913960400191505060405180910390fd5b60115469021e19e0c9bab240000090611299908263ffffffff61211516565b6011819055690a968163f0a57b40000010156112ff5760408051600160e51b62461bcd02815260206004820152601460248201527f41697264726f70206c696d697420657863656564000000000000000000000000604482015290519081900360640190fd5b60125461131590620d2f0063ffffffff61211516565b42101561136c5760408051600160e51b62461bcd02815260206004820152601060248201527f54696d65206c696d6974206572726f7200000000000000000000000000000000604482015290519081900360640190fd5b4260125561137a338261263c565b60408051602081018390526000818301526060808252600790820152600160cc1b66041495244524f502608082015290513391600080516020612942833981519152919081900360a00190a250565b6001600160a01b03811660009081526014602052604081206002015481906113f890600163ffffffff61211516565b90506114138168056bc75e2d6310000063ffffffff61252416565b9392505050565b6000611098690878678326eac900000060156000611436611137565b815260200190815260200160002054612172565b68056bc75e2d6310000061145c6120f7565b10156114b25760408051600160e51b62461bcd02815260206004820152601460248201527f41697264726f70206c696d697420657863656564000000000000000000000000604482015290519081900360640190fd5b6114bb336113c9565b3360009081526014602052604090206005015410156114d957600080fd5b336000908152601460205260409020600101546114ff9062093a8063ffffffff61211516565b421161150a57600080fd5b336000908152601460205260409020600301546005111561152a57600080fd5b33600081815260146020526040812060028101805460019081019091554290820155600301556115639068056bc75e2d6310000061263c565b60105461157f9068056bc75e2d6310000063ffffffff61211516565b6010556040805168056bc75e2d6310000060208201526000818301526060808252600790820152600160cc1b66041495244524f502608082015290513391600080516020612942833981519152919081900360a00190a2565b6000610d196115e56111d5565b6110f384670de0b6b3a764000063ffffffff61252416565b6001600160a01b031660009081526014602052604090206005015490565b600060156000611629611137565b815260200190815260200160002054905090565b6001600160a01b0381166000908152601460205260408120600c810154600d90910154610d199163ffffffff6124c416565b600e5481565b303190565b6001600160a01b031660009081526020819052604090205490565b60006110986002546003546124c490919063ffffffff16565b6008544210156117085760408051600160e51b62461bcd02815260206004820152601760248201527f5374616b65206e6f7420617661696c61626c6520796574000000000000000000604482015290519081900360640190fd5b3360009081526014602052604081209061172f6103e86110f334602863ffffffff61252416565b600a546040519192506001600160a01b03169082156108fc029083906000818181858888f1935050505015801561176a573d6000803e3d6000fd5b50600b546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156117a5573d6000803e3d6000fd5b50600c546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156117e0573d6000803e3d6000fd5b5081546001600160a01b031615801561180457506009546001600160a01b03163314155b15611958576001600160a01b038316600090815260146020526040902060050154611838576009546001600160a01b031692505b81546001600160a01b0319166001600160a01b03848116919091178084551660005b601354811015611955576001600160a01b03821615611948576001600160a01b03821660009081526014602052604090206118ae90600190600f0183600381106118a057fe5b01549063ffffffff61211516565b6001600160a01b0383166000908152601460205260409020600f0182600381106118d457fe5b015580611925576001600160a01b03821660009081526014602052604090206003015461190890600163ffffffff61211516565b6001600160a01b0383166000908152601460205260409020600301555b6001600160a01b039182166000908152601460205260409020549091169061194d565b611955565b60010161185a565b50505b81546001600160a01b031615611a6f5781546001600160a01b031660005b601354811015611a6c576001600160a01b03821661199d576009546001600160a01b031691505b60006119da6103e86110f3601385815481106119b557fe5b6000918252602091829020918104909101543491601f166101000a900460ff16612524565b6001600160a01b0384166000908152601460205260409020600c0154909150611a09908263ffffffff61211516565b6001600160a01b0384166000908152601460205260409020600c810191909155600d0154611a3d908263ffffffff61211516565b6001600160a01b039384166000908152601460205260409020600d810191909155549092169150600101611976565b50505b6005820154611a9757611a844260085461278e565b6004830155600d80546001019055611aa0565b611aa0336127a6565b4260068301556005820154611abb903463ffffffff61211516565b6005830155600e54611ad3903463ffffffff61211516565b600e55505050565b6001600160a01b0381166000908152601460205260408120600781015461141390611209856127f5565b60058054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610dd65780601f10610dab57610100808354040283529160200191610dd6565b60125481565b600080611b7b42600854612172565b90506000611b8e620151806111ec611137565b905061122782611ba7836201518063ffffffff61211516565b9063ffffffff6124c416565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610ded918590611069908663ffffffff6124c416565b6001600160a01b03821660009081526007602052604081205460ff1615611c3257604080516000815260208101909152611c2c9084908490611d60565b50610ded565b611c3c838361286c565b5050600192915050565b6001600160a01b031660009081526014602052604090206009015490565b60105481565b600d5481565b6001600160a01b031660009081526014602052604090206002015490565b6000610d19670de0b6b3a76400006110f3611ca76111d5565b859063ffffffff61252416565b33600081815260146020526040812091611ccd906120ce565b905060008111611d275760408051600160e51b62461bcd02815260206004820152601560248201527f5573657220686173206e6f206469766964656e64730000000000000000000000604482015290519081900360640190fd5b6000600c8301819055604051339183156108fc02918491818181858888f19350505050158015611d5b573d6000803e3d6000fd5b505050565b6000611d6c8484610de0565b611d7557600080fd5b604051600160e01b638f4ffcb102815233600482018181526024830186905230604484018190526080606485019081528651608486015286516001600160a01b038a1695638f4ffcb195948a94938a939192909160a490910190602085019080838360005b83811015611df2578181015183820152602001611dda565b50505050905090810190601f168015611e1f5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015611e4157600080fd5b505af1158015611e55573d6000803e3d6000fd5b506001979650505050505050565b6001600160a01b038116600090815260146020526040812060010154610d1990610d139062093a8063ffffffff61211516565b336000908152601460205260409020600854421015611eff5760408051600160e51b62461bcd02815260206004820152601760248201527f5374616b65206e6f7420617661696c61626c6520796574000000000000000000604482015290519081900360640190fd5b611f083361167a565b821115611f5f5760408051600160e51b62461bcd02815260206004820152601a60248201527f496e73756666696369656e7420546f6b656e2042616c616e6365000000000000604482015290519081900360640190fd5b6009810154611f7357426008820155611f7c565b611f7c336125ed565b611f8733308461237c565b42600a8201556009810154611fa2908363ffffffff61211516565b6009820155600f54611fba908363ffffffff61211516565b600f555050565b600061109860085442612172565b33600081815260146020526040902090611fe8906127a6565b6007810180546000909155611ffd338261263c565b60408051602081018390526000818301526060808252600590820152600160d81b64434c41494d02608082015290513391600080516020612942833981519152919081900360a00190a25050565b6001600160a01b0381166000908152601460205260408120600b8101546114139061120985612879565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b336000818152601460205260409020906120b9906125ed565b600b810180546000909155611ffd338261263c565b6001600160a01b03166000908152601460205260409020600c015490565b6000610d198261167a565b600061109869152d02c7e14af6800000601054612172565b60115481565b6000828201838110156114135760408051600160e51b62461bcd02815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000818311156121855750808203610d19565b506000610d19565b6001600160a01b0383166121d557604051600160e51b62461bcd0281526004018080602001828103825260248152602001806129c96024913960400191505060405180910390fd5b6001600160a01b03821661221d57604051600160e51b62461bcd0281526004018080602001828103825260228152602001806129206022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b600081831115612290575080610d19565b5081610d19565b6001600160a01b0382166122df57604051600160e51b62461bcd0281526004018080602001828103825260218152602001806129836021913960400191505060405180910390fd5b6001600160a01b038216600090815260208190526040902054612308908263ffffffff6124c416565b6001600160a01b038316600090815260208190526040902055600254612334908263ffffffff6124c416565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b6001600160a01b0383166123c457604051600160e51b62461bcd0281526004018080602001828103825260258152602001806129a46025913960400191505060405180910390fd5b6001600160a01b03821661240c57604051600160e51b62461bcd0281526004018080602001828103825260238152602001806128dc6023913960400191505060405180910390fd5b6001600160a01b038316600090815260208190526040902054612435908263ffffffff6124c416565b6001600160a01b03808516600090815260208190526040808220939093559084168152205461246a908263ffffffff61211516565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008282111561251e5760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60008261253357506000610d19565b8282028284828161254057fe5b041461141357604051600160e51b62461bcd0281526004018080602001828103825260218152602001806129626021913960400191505060405180910390fd5b60008082116125d95760408051600160e51b62461bcd02815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b60008284816125e457fe5b04949350505050565b6001600160a01b03811660009081526014602052604081209061260f83612879565b90508015611d5b57600b82015461262c908263ffffffff61211516565b600b830155426008830155505050565b6001600160a01b03821661269a5760408051600160e51b62461bcd02815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b806126a3611695565b10156126f95760408051600160e51b62461bcd02815260206004820152600d60248201527f537570706c792065786365656400000000000000000000000000000000000000604482015290519081900360640190fd5b60025461270c908263ffffffff61211516565b6002556001600160a01b038216600090815260208190526040902054612738908263ffffffff61211516565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b60008183111561279f575081610d19565b5080610d19565b6001600160a01b0381166000908152601460205260408120906127c8836127f5565b90508015611d5b5760078201546127e5908263ffffffff61211516565b6007830155426004830155505050565b6001600160a01b0381166000908152601460205260408120600481015460085442101561281f5750425b6014428083101561285e576128576103e86110f3620151806110f3866111ec8988038b6004016001015461252490919063ffffffff16565b9450612863565b600094505b50505050919050565b6000610ded33848461237c565b6001600160a01b038116600090815260146020526040812060088082015490544210156128a35750425b6028428083101561285e576128576103e86110f3620151806110f3866111ec8988038b6008016001015461252490919063ffffffff1656fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573734f6e6c79206f776e65722063616e2063616c6c20746869732066756e6374696f6e45524332303a20617070726f766520746f20746865207a65726f2061646472657373e5d010647fdec31d4cc123be78ffaefe38987ce65e775c1e729e35c9f0cf9eae536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a165627a7a72305820f5c8d02acb36ff152cbf8f4e0f7610a7bdf1f0a7d8f5e8aa3aee2220edf5f7fc0029000000000000000000000000bb06ce3c6572fa926bac2afabdc78dc8addc9cea000000000000000000000000eb8eb7487012eb95332b884ca50a854c0d50e18f000000000000000000000000415b6c507820b87e71b141f2bc08360bcdc0648b

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

000000000000000000000000bb06ce3c6572fa926bac2afabdc78dc8addc9cea000000000000000000000000eb8eb7487012eb95332b884ca50a854c0d50e18f000000000000000000000000415b6c507820b87e71b141f2bc08360bcdc0648b

-----Decoded View---------------
Arg [0] : _adv1 (address): 0xbb06ce3c6572fa926bac2afabdc78dc8addc9cea
Arg [1] : _adv2 (address): 0xeb8eb7487012eb95332b884ca50a854c0d50e18f
Arg [2] : _prj1 (address): 0x415b6c507820b87e71b141f2bc08360bcdc0648b

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000bb06ce3c6572fa926bac2afabdc78dc8addc9cea
Arg [1] : 000000000000000000000000eb8eb7487012eb95332b884ca50a854c0d50e18f
Arg [2] : 000000000000000000000000415b6c507820b87e71b141f2bc08360bcdc0648b


Deployed ByteCode Sourcemap

6343:14401:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18165:154;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18165:154:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18165:154:0;-1:-1:-1;;;;;18165:154:0;;:::i;:::-;;;;;;;;;;;;;;;;18836:196;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18836:196:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18836:196:0;-1:-1:-1;;;;;18836:196:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;2021:83;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2021:83:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2021:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3049:150;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3049:150:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3049:150:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;17697:110;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17697:110:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17697:110:0;-1:-1:-1;;;;;17697:110:0;;:::i;2298:91::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2298:91:0;;;:::i;13861:688::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13861:688:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13861:688:0;;:::i;:::-;;3207:256;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3207:256:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3207:256:0;;;;;;;;;;;;;;;;;:::i;2397:91::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2397:91:0;;;:::i;6677:28::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6677:28:0;;;:::i;2207:83::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2207:83:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17377:103;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17377:103:0;;;:::i;3471:206::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3471:206:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3471:206:0;;;;;;;;:::i;17592:98::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17592:98:0;;;:::i;17488:::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17488:98:0;;;:::i;14561:125::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14561:125:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14561:125:0;-1:-1:-1;;;;;14561:125:0;;:::i;19587:116::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19587:116:0;;;:::i;19163:128::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19163:128:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19163:128:0;-1:-1:-1;;;;;19163:128:0;;:::i;11011:404::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11011:404:0;;;:::i;18329:197::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18329:197:0;;;:::i;15354:461::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15354:461:0;;;:::i;16942:169::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16942:169:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16942:169:0;-1:-1:-1;;;;;16942:169:0;;:::i;19834:130::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19834:130:0;;;:::i;14700:642::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14700:642:0;;;:::i;18535:143::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18535:143:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18535:143:0;;:::i;17924:114::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17924:114:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17924:114:0;-1:-1:-1;;;;;17924:114:0;;:::i;19716:103::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19716:103:0;;;:::i;19297:160::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19297:160:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19297:160:0;-1:-1:-1;;;;;19297:160:0;;:::i;6641:28::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6641:28:0;;;:::i;17266:103::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17266:103:0;;;:::i;2625:110::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2625:110:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2625:110:0;-1:-1:-1;;;;;2625:110:0;;:::i;2500:113::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2500:113:0;;;:::i;8649:1689::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8649:1689:0;-1:-1:-1;;;;;8649:1689:0;;:::i;16094:203::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16094:203:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16094:203:0;-1:-1:-1;;;;;16094:203:0;;:::i;2112:87::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2112:87:0;;;:::i;6785:52::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6785:52:0;;;:::i;19978:197::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19978:197:0;;;:::i;3685:216::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3685:216:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3685:216:0;;;;;;;;:::i;6081:255::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6081:255:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;6081:255:0;;;;;;;;:::i;18045:114::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18045:114:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18045:114:0;-1:-1:-1;;;;;18045:114:0;;:::i;6712:23::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6712:23:0;;;:::i;6611:22::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6611:22:0;;;:::i;17130:122::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17130:122:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17130:122:0;-1:-1:-1;;;;;17130:122:0;;:::i;18686:143::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18686:143:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18686:143:0;;:::i;15828:253::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15828:253:0;;;:::i;5788:285::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5788:285:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;5788:285:0;;;;;;;;;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;5788:285:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5788:285:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;5788:285:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;5788:285:0;;-1:-1:-1;5788:285:0;;-1:-1:-1;;;;;5788:285:0:i;16645:158::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16645:158:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16645:158:0;-1:-1:-1;;;;;16645:158:0;;:::i;10350:648::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10350:648:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10350:648:0;;:::i;19467:111::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19467:111:0;;;:::i;13113:366::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13113:366:0;;;:::i;16309:203::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16309:203:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16309:203:0;-1:-1:-1;;;;;16309:203:0;;:::i;2907:134::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2907:134:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2907:134:0;;;;;;;;;;:::i;13495:349::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13495:349:0;;;:::i;19040:118::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19040:118:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19040:118:0;-1:-1:-1;;;;;19040:118:0;;:::i;17814:104::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17814:104:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17814:104:0;-1:-1:-1;;;;;17814:104:0;;:::i;16523:110::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16523:110:0;;;:::i;6748:30::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6748:30:0;;;:::i;18165:154::-;-1:-1:-1;;;;;18258:12:0;;18231:4;18258:12;;;:5;:12;;;;;:29;;;18250:64;;18258:50;;7453:6;18258:50;:33;:50;:::i;:::-;18310:3;18250:7;:64::i;:::-;18242:72;18165:154;-1:-1:-1;;18165:154:0:o;18836:196::-;-1:-1:-1;;;;;18938:18:0;18907:4;18938:18;;;:5;:18;;;;;:25;;;:28;18968;;;;18998;;;;;18938;;18836:196::o;2021:83::-;2091:5;2084:12;;;;;;;;-1:-1:-1;;2084:12:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2058:13;;2084:12;;2091:5;;2084:12;;2091:5;2084:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2021:83;:::o;3049:150::-;3115:4;3132:37;3141:10;3153:7;3162:6;3132:8;:37::i;:::-;-1:-1:-1;3187:4:0;3049:150;;;;:::o;17697:110::-;-1:-1:-1;;;;;17780:22:0;;;17697:110::o;2298:91::-;2369:12;;2298:91;:::o;13861:688::-;13930:42;13937:11;13950:21;13960:10;13950:9;:21::i;:::-;13930:6;:42::i;:::-;13916:56;;14005:1;13991:11;:15;13983:53;;;;;-1:-1:-1;;;;;13983:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;7613:11;14065:38;14091:11;14065:4;:21;14070:15;:13;:15::i;:::-;14065:21;;;;;;;;;;;;:25;;:38;;;;:::i;:::-;:52;;14057:88;;;;;-1:-1:-1;;;;;14057:88:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;14180:38;14206:11;14180:4;:21;14185:15;:13;:15::i;14180:38::-;14156:4;:21;14161:15;:13;:15::i;:::-;14156:21;;;;;;;;;;;:62;;;;14229:16;14248:25;14261:11;14248:12;:25::i;:::-;14229:44;;14326:11;14298:25;:23;:25::i;:::-;:39;14290:81;;;;;-1:-1:-1;;;;;14290:81:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;14382:30;14388:10;14400:11;14382:5;:30::i;:::-;14423:32;;:10;;:32;;;;;14443:11;;14423:32;;;;14443:11;14423:10;:32;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;14481:60:0;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14481:60:0;;;;;;14496:10;;-1:-1:-1;;;;;;;;;;;14481:60:0;;;;;;;;;13861:688;;:::o;3207:256::-;3296:4;3313:36;3323:6;3331:9;3342:6;3313:9;:36::i;:::-;-1:-1:-1;;;;;3389:19:0;;;;;;:11;:19;;;;;;;;3377:10;3389:31;;;;;;;;;3360:73;;3369:6;;3389:43;;3425:6;3389:43;:35;:43;:::i;:::-;3360:8;:73::i;:::-;-1:-1:-1;3451:4:0;3207:256;;;;;:::o;2397:91::-;2468:12;;2397:91;:::o;6677:28::-;;;;:::o;2207:83::-;2273:9;;;;2207:83;:::o;17377:103::-;17433:4;17451:24;17469:4;17451:9;:24::i;:::-;17444:31;;17377:103;:::o;3471:206::-;3577:10;3551:4;3598:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;3598:32:0;;;;;;;;;;3551:4;;3568:79;;3589:7;;3598:48;;3635:10;3598:48;:36;:48;:::i;17592:98::-;17633:4;17651:34;17682:2;17651:26;7238:2;17673:3;17651:26;:21;:26;:::i;:::-;:30;:34;:30;:34;:::i;17488:98::-;17529:4;17547:34;17578:2;17547:26;7187:2;17569:3;17547:26;:21;:26;:::i;14561:125::-;-1:-1:-1;;;;;14655:12:0;14631:4;14655:12;;;:5;:12;;;;;:23;;;;14561:125::o;19587:116::-;19633:4;19657:38;7398:6;19657:23;19665:3;19670:9;;19657:7;:23::i;19163:128::-;-1:-1:-1;;;;;19257:18:0;19239:4;19257:18;;;:5;:18;;;;;:29;;;;19163:128::o;11011:404::-;11079:10;11053:17;11073;;;:5;:17;;;;;11115:21;;;;:42;;7453:6;11115:42;:25;:42;:::i;:::-;11109:3;:48;11101:57;;;;;;11169:31;11189:10;11169:19;:31::i;:::-;11230:19;;;;;11211:16;11260:23;;;11313:16;;:33;;11230:19;11313:33;:20;:33;:::i;:::-;11294:16;:52;11358:49;11376:4;11383:10;11395:11;11358:9;:49::i;:::-;11011:404;;:::o;18329:197::-;18374:4;18391:7;18401:44;7342:7;18401:25;:23;:25::i;:::-;:29;:44;:29;:44;:::i;:::-;18391:54;;18456:7;18466:24;18488:1;18466:17;:15;:17::i;:::-;:21;:24;:21;:24;:::i;:::-;18456:34;-1:-1:-1;18508:10:0;:2;18456:34;18508:10;:6;:10;:::i;:::-;18501:17;;;;18329:197;:::o;15354:461::-;8573:5;;-1:-1:-1;;;;;8573:5:0;8559:10;:19;8551:65;;;;-1:-1:-1;;;;;8551:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15464:18;;15421:11;;15464:30;;15421:11;15464:30;:22;:30;:::i;:::-;15443:18;:51;;;7065:11;-1:-1:-1;15513:36:0;15505:69;;;;;-1:-1:-1;;;;;15505:69:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;15600:28;;:41;;15633:7;15600:41;:32;:41;:::i;:::-;15593:3;:48;;15585:77;;;;;-1:-1:-1;;;;;15585:77:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;15704:3;15673:28;:34;15718:25;15724:10;15736:6;15718:5;:25::i;:::-;15759:48;;;;;;;;;15805:1;15759:48;;;;;;;;;;;;;-1:-1:-1;;;;;15759:48:0;;;;;;15774:10;;-1:-1:-1;;;;;;;;;;;15759:48:0;;;;;;;;;8627:1;15354:461::o;16942:169::-;-1:-1:-1;;;;;17035:12:0;;17008:4;17035:12;;;:5;:12;;;;;:25;;;17008:4;;17035:32;;17065:1;17035:32;:29;:32;:::i;:::-;17025:42;-1:-1:-1;17086:17:0;17025:42;17093:9;17086:17;:6;:17;:::i;:::-;17079:24;16942:169;-1:-1:-1;;;16942:169:0:o;19834:130::-;19890:4;19914:42;7613:11;19934:4;:21;19939:15;:13;:15::i;:::-;19934:21;;;;;;;;;;;;19914:7;:42::i;14700:642::-;7129:9;14750:21;:19;:21::i;:::-;:37;;14742:70;;;;;-1:-1:-1;;;;;14742:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;14867:32;14888:10;14867:20;:32::i;:::-;14837:10;14831:17;;;;:5;:17;;;;;:32;;;:68;;14823:77;;;;;;14931:10;14925:17;;;;:5;:17;;;;;:29;;;:47;;7508:6;14925:47;:33;:47;:::i;:::-;14919:3;:53;14911:62;;;;;;14998:10;14992:17;;;;:5;:17;;;;;:28;;;7563:1;-1:-1:-1;14992:43:0;14984:52;;;;;;15053:10;15047:17;;;;:5;:17;;;;;:30;;;:32;;;;;;;;;15122:3;15090:29;;;:35;15136:28;;:32;15179:31;;7129:9;15179:5;:31::i;:::-;15235:11;;:29;;7129:9;15235:29;:15;:29;:::i;:::-;15221:11;:43;15280:54;;;7129:9;15280:54;;;;15332:1;15280:54;;;;;;;;;;;;;-1:-1:-1;;;;;15280:54:0;;;;;;15295:10;;-1:-1:-1;;;;;;;;;;;15280:54:0;;;;;;;;;14700:642::o;18535:143::-;18595:4;18619:51;18654:15;:13;:15::i;:::-;18619:30;:11;7342:7;18619:30;:15;:30;:::i;17924:114::-;-1:-1:-1;;;;;18006:12:0;17988:4;18006:12;;;:5;:12;;;;;:27;;;;17924:114::o;19716:103::-;19766:4;19790;:21;19795:15;:13;:15::i;:::-;19790:21;;;;;;;;;;;;19783:28;;19716:103;:::o;19297:160::-;-1:-1:-1;;;;;19427:18:0;;19372:7;19427:18;;;:5;:18;;;;;:24;;;;19393:29;;;;;:59;;;:33;:59;:::i;6641:28::-;;;;:::o;17266:103::-;17351:4;17343:21;17266:103;:::o;2625:110::-;-1:-1:-1;;;;;2709:18:0;2682:7;2709:18;;;;;;;;;;;;2625:110::o;2500:113::-;2548:7;2575:30;2592:12;;2575;;:16;;:30;;;;:::i;8649:1689::-;8728:9;;8721:3;:16;;8713:52;;;;;-1:-1:-1;;;;;8713:52:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;8802:10;8776:17;8796;;;:5;:17;;;;;;8839:43;7289:4;8839:22;:9;6953:2;8839:22;:13;:22;:::i;:43::-;8893:5;;:19;;8828:54;;-1:-1:-1;;;;;;8893:5:0;;:19;;;;;8828:54;;8893:5;:19;:5;:19;8828:54;8893:5;:19;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;8924:5:0;;:19;;-1:-1:-1;;;;;8924:5:0;;;;:19;;;;;8939:3;;8924:5;:19;:5;:19;8939:3;8924:5;:19;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;8955:5:0;;:19;;-1:-1:-1;;;;;8955:5:0;;;;:19;;;;;8970:3;;8955:5;:19;:5;:19;8970:3;8955:5;:19;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;8990:13:0;;-1:-1:-1;;;;;8990:13:0;:27;:50;;;;-1:-1:-1;9035:5:0;;-1:-1:-1;;;;;9035:5:0;9021:10;:19;;8990:50;8986:518;;;-1:-1:-1;;;;;9052:15:0;;;;;;:5;:15;;;;;:30;;;9048:71;;9107:5;;-1:-1:-1;;;;;9107:5:0;;-1:-1:-1;9048:71:0;9124:24;;-1:-1:-1;;;;;;9124:24:0;-1:-1:-1;;;;;9124:24:0;;;;;;;;;;9171:13;-1:-1:-1;9190:309:0;9214:11;:18;9210:22;;9190:309;;;-1:-1:-1;;;;;9250:20:0;;;9246:246;;-1:-1:-1;;;;;9306:13:0;;;;;;:5;:13;;;;;:30;;9334:1;;9306:20;;9327:1;9306:23;;;;;;;;;;:30;:27;:30;:::i;:::-;-1:-1:-1;;;;;9280:13:0;;;;;;:5;:13;;;;;:20;;9301:1;9280:23;;;;;;;;:56;9348:6;9344:91;;-1:-1:-1;;;;;9395:13:0;;;;;;:5;:13;;;;;:24;;;:31;;9424:1;9395:31;:28;:31;:::i;:::-;-1:-1:-1;;;;;9368:13:0;;;;;;:5;:13;;;;;:24;;:58;9344:91;-1:-1:-1;;;;;9451:13:0;;;;;;;:5;:13;;;;;:22;;;;;9246:246;;;9487:5;;9246:246;9234:3;;9190:309;;;;8986:518;;9514:13;;-1:-1:-1;;;;;9514:13:0;:27;9510:443;;9566:13;;-1:-1:-1;;;;;9566:13:0;9549:14;9585:363;9609:11;:18;9605:22;;9585:363;;;-1:-1:-1;;;;;9645:20:0;;9641:59;;9687:5;;-1:-1:-1;;;;;9687:5:0;;-1:-1:-1;9641:59:0;9706:14;9723:50;7289:4;9723:29;9737:11;9749:1;9737:14;;;;;;;;;;;;;;;;;;;;;;;;9723:9;;9737:14;;;;;;;;9723:13;:29::i;:50::-;-1:-1:-1;;;;;9802:13:0;;;;;;:5;:13;;;;;:19;;;9706:67;;-1:-1:-1;9802:31:0;;9706:67;9802:31;:23;:31;:::i;:::-;-1:-1:-1;;;;;9780:13:0;;;;;;:5;:13;;;;;:19;;;:53;;;;9867:24;;;:36;;9896:6;9867:36;:28;:36;:::i;:::-;-1:-1:-1;;;;;9840:13:0;;;;;;;:5;:13;;;;;:24;;;:63;;;;9919:22;;;;;-1:-1:-1;9919:22:0;9629:3;9585:363;;;;9510:443;;9970:19;;;;9966:191;;10032:22;10039:3;10044:9;;10032:6;:22::i;:::-;10011:7;;;:43;10069:10;:12;;;;;;9966:191;;;10114:31;10134:10;10114:19;:31::i;:::-;10199:3;10175:21;;;:27;10235:19;;;;:34;;10259:9;10235:34;:23;:34;:::i;:::-;10213:19;;;:56;10299:16;;:31;;10320:9;10299:31;:20;:31;:::i;:::-;10280:16;:50;-1:-1:-1;;;8649:1689:0:o;16094:203::-;-1:-1:-1;;;;;16206:12:0;;16163:10;16206:12;;;:5;:12;;;;;16264:23;;;;16236:52;;:23;16212:5;16236:16;:23::i;2112:87::-;2184:7;2177:14;;;;;;;;-1:-1:-1;;2177:14:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2151:13;;2177:14;;2184:7;;2177:14;;2184:7;2177:14;;;;;;;;;;;;;;;;;;;;;;;;6785:52;;;;:::o;19978:197::-;20027:4;20044:6;20053:23;20061:3;20066:9;;20053:7;:23::i;:::-;20044:32;;20087:6;20096:30;7398:6;20096:15;:13;:15::i;:30::-;20087:39;-1:-1:-1;20144:23:0;20165:1;20144:16;20087:39;7398:6;20144:16;:5;:16;:::i;:::-;:20;:23;:20;:23;:::i;3685:216::-;3796:10;3770:4;3817:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;3817:32:0;;;;;;;;;;3770:4;;3787:84;;3808:7;;3817:53;;3854:15;3817:53;:36;:53;:::i;6081:255::-;-1:-1:-1;;;;;6165:14:0;;6142:4;6165:14;;;:10;:14;;;;;;;;6161:144;;;6222:12;;;6232:1;6222:12;;;;;;;;6196:39;;6211:2;;6215:5;;6196:14;:39::i;:::-;;6161:144;;;6268:25;6283:2;6287:5;6268:14;:25::i;:::-;;-1:-1:-1;6324:4:0;6081:255;;;;:::o;18045:114::-;-1:-1:-1;;;;;18127:12:0;18109:4;18127:12;;;:5;:12;;;;;:27;;;;18045:114::o;6712:23::-;;;;:::o;6611:22::-;;;;:::o;17130:122::-;-1:-1:-1;;;;;17219:12:0;17195:4;17219:12;;;:5;:12;;;;;:25;;;;17130:122::o;18686:143::-;18746:4;18770:51;7342:7;18770:32;18786:15;:13;:15::i;:::-;18770:11;;:32;:15;:32;:::i;15828:253::-;15889:10;15863:17;15883;;;:5;:17;;;;;;15928:32;;:20;:32::i;:::-;15909:51;;15987:1;15973:11;:15;15965:49;;;;;-1:-1:-1;;;;;15965:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;16038:1;16025:10;;;:14;;;16044:32;;:10;;:32;;;;;16064:11;;16044:32;16038:1;16044:32;16064:11;16044:10;:32;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16044:32:0;15828:253;;:::o;5788:285::-;5885:4;5910:24;5918:7;5927:6;5910:7;:24::i;:::-;5902:33;;;;;;5948:93;;-1:-1:-1;;;;;5948:93:0;;5996:10;5948:93;;;;;;;;;;;;6024:4;5948:93;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5948:47:0;;;;;5996:10;6008:6;;6024:4;6031:9;;5948:93;;;;;;;;;;;;;;;;-1:-1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;5948:93:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5948:93:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;6061:4:0;;5788:285;-1:-1:-1;;;;;;;5788:285:0:o;16645:158::-;-1:-1:-1;;;;;16747:12:0;;16715:4;16747:12;;;:5;:12;;;;;:24;;;16739:56;;16747:42;;7508:6;16747:42;:28;:42;:::i;10350:648::-;10432:10;10406:17;10426;;;:5;:17;;;;;10469:9;;10462:3;:16;;10454:52;;;;;-1:-1:-1;;;;;10454:52:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;10540:21;10550:10;10540:9;:21::i;:::-;10525:11;:36;;10517:75;;;;;-1:-1:-1;;;;;10517:75:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;10609:19;;;;10605:145;;10671:3;10650:7;;;:24;10605:145;;;10707:31;10727:10;10707:19;:31::i;:::-;10770:49;10780:10;10800:4;10807:11;10770:9;:49::i;:::-;10854:3;10830:21;;;:27;10890:19;;;;:36;;10914:11;10890:36;:23;:36;:::i;:::-;10868:19;;;:58;10956:16;;:33;;10977:11;10956:33;:20;:33;:::i;:::-;10937:16;:52;-1:-1:-1;;10350:648:0:o;19467:111::-;19520:4;19538:35;19546:9;;19557:15;19538:7;:35::i;13113:366::-;13181:10;13155:17;13175;;;:5;:17;;;;;;13212:31;;:19;:31::i;:::-;13273:23;;;;;13254:16;13309:27;;;13374:30;13380:10;13273:23;13374:5;:30::i;:::-;13420:51;;;;;;;;;13469:1;13420:51;;;;;;;;;;;;;-1:-1:-1;;;;;13420:51:0;;;;;;13435:10;;-1:-1:-1;;;;;;;;;;;13420:51:0;;;;;;;;;13113:366;;:::o;16309:203::-;-1:-1:-1;;;;;16421:12:0;;16378:10;16421:12;;;:5;:12;;;;;16479:23;;;;16451:52;;:23;16427:5;16451:16;:23::i;2907:134::-;-1:-1:-1;;;;;3006:18:0;;;2979:7;3006:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;2907:134::o;13495:349::-;13563:10;13537:17;13557;;;:5;:17;;;;;;13594:31;;:19;:31::i;:::-;13655:23;;;;;13636:16;13690:27;;;13739:30;13745:10;13655:23;13739:5;:30::i;19040:118::-;-1:-1:-1;;;;;19129:18:0;19111:4;19129:18;;;:5;:18;;;;;:24;;;;19040:118::o;17814:104::-;17879:4;17897:16;17907:5;17897:9;:16::i;16523:110::-;16575:4;16593:35;7004:12;16616:11;;16593:7;:35::i;6748:30::-;;;;:::o;689:181::-;747:7;779:5;;;803:6;;;;795:46;;;;;-1:-1:-1;;;;;795:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;20192:176;20246:4;20271:1;20267;:5;20263:94;;;-1:-1:-1;20295:5:0;;;20288:12;;20263:94;-1:-1:-1;20340:1:0;20333:8;;5054:338;-1:-1:-1;;;;;5148:19:0;;5140:68;;;;-1:-1:-1;;;;;5140:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5227:21:0;;5219:68;;;;-1:-1:-1;;;;;5219:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5300:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;5352:32;;;;;;;;;;;;;;;;;5054:338;;;:::o;20566:171::-;20619:4;20644:1;20640;:5;20636:90;;;-1:-1:-1;20668:1:0;20661:8;;20636:90;-1:-1:-1;20709:1:0;20702:8;;4736:310;-1:-1:-1;;;;;4812:21:0;;4804:67;;;;-1:-1:-1;;;;;4804:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4905:18:0;;:9;:18;;;;;;;;;;;:30;;4928:6;4905:30;:22;:30;:::i;:::-;-1:-1:-1;;;;;4884:18:0;;:9;:18;;;;;;;;;;:51;4961:12;;:24;;4978:6;4961:24;:16;:24;:::i;:::-;4946:12;:39;5001:37;;;;;;;;5027:1;;-1:-1:-1;;;;;5001:37:0;;;;;;;;;;;;4736:310;;:::o;3909:429::-;-1:-1:-1;;;;;4007:20:0;;3999:70;;;;-1:-1:-1;;;;;3999:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4088:23:0;;4080:71;;;;-1:-1:-1;;;;;4080:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4184:17:0;;:9;:17;;;;;;;;;;;:29;;4206:6;4184:29;:21;:29;:::i;:::-;-1:-1:-1;;;;;4164:17:0;;;:9;:17;;;;;;;;;;;:49;;;;4247:20;;;;;;;:32;;4272:6;4247:32;:24;:32;:::i;:::-;-1:-1:-1;;;;;4224:20:0;;;:9;:20;;;;;;;;;;;;:55;;;;4295:35;;;;;;;4224:20;;4295:35;;;;;;;;;;;;;3909:429;;;:::o;497:184::-;555:7;588:1;583;:6;;575:49;;;;;-1:-1:-1;;;;;575:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;647:5:0;;;497:184::o;52:250::-;110:7;134:6;130:47;;-1:-1:-1;164:1:0;157:8;;130:47;201:5;;;205:1;201;:5;:1;225:5;;;;;:10;217:56;;;;-1:-1:-1;;;;;217:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;310:179;368:7;400:1;396;:5;388:44;;;;;-1:-1:-1;;;;;388:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;443:9;459:1;455;:5;;;;;;;310:179;-1:-1:-1;;;;310:179:0:o;12269:306::-;-1:-1:-1;;;;;12352:12:0;;12332:17;12352:12;;;:5;:12;;;;;;12392:23;12358:5;12392:16;:23::i;:::-;12375:40;-1:-1:-1;12429:10:0;;12426:142;;12482:23;;;;:35;;12510:6;12482:35;:27;:35;:::i;:::-;12456:23;;;:61;12553:3;12456:7;;;12532:24;12269:306;;;:::o;4346:382::-;-1:-1:-1;;;;;4422:21:0;;4414:65;;;;;-1:-1:-1;;;;;4414:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;4519:6;4498:17;:15;:17::i;:::-;:27;;4490:53;;;;;-1:-1:-1;;;;;4490:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;4571:12;;:24;;4588:6;4571:24;:16;:24;:::i;:::-;4556:12;:39;-1:-1:-1;;;;;4637:18:0;;:9;:18;;;;;;;;;;;:30;;4660:6;4637:30;:22;:30;:::i;:::-;-1:-1:-1;;;;;4616:18:0;;:9;:18;;;;;;;;;;;:51;;;;4683:37;;;;;;;4616:18;;:9;;4683:37;;;;;;;;;;4346:382;;:::o;20383:171::-;20436:4;20461:1;20457;:5;20453:90;;;-1:-1:-1;20485:1:0;20478:8;;20453:90;-1:-1:-1;20526:1:0;20519:8;;11429:306;-1:-1:-1;;;;;11512:12:0;;11492:17;11512:12;;;:5;:12;;;;;;11552:23;11518:5;11552:16;:23::i;:::-;11535:40;-1:-1:-1;11589:10:0;;11586:142;;11642:23;;;;:35;;11670:6;11642:35;:27;:35;:::i;:::-;11616:23;;;:61;11713:3;11616:7;;;11692:24;11429:306;;;:::o;11748:507::-;-1:-1:-1;;;;;11856:12:0;;11810:13;11856:12;;;:5;:12;;;;;11892:7;;;:18;11925:9;;11937:3;-1:-1:-1;11921:55:0;;;-1:-1:-1;11960:3:0;11921:55;7187:2;12043:3;12060:7;;;12057:168;;;12092:79;7289:4;12092:58;7398:6;12092:43;12129:5;12092:32;12121:2;12116;:7;12092:4;:7;;:19;;;:23;;:32;;;;:::i;:79::-;12084:87;;12057:168;;;12212:1;12204:9;;12057:168;-1:-1:-1;;;;11748:507:0;;;:::o;2743:156::-;2812:4;2829:40;2839:10;2851:9;2862:6;2829:9;:40::i;12588:507::-;-1:-1:-1;;;;;12696:12:0;;12650:13;12696:12;;;:5;:12;;;;;12732:7;;;;:18;12765:9;;12777:3;-1:-1:-1;12761:55:0;;;-1:-1:-1;12800:3:0;12761:55;7238:2;12883:3;12900:7;;;12897:168;;;12932:79;7289:4;12932:58;7398:6;12932:43;12969:5;12932:32;12961:2;12956;:7;12932:4;:7;;:19;;;:23;;:32;;;;:::i

Swarm Source

bzzr://f5c8d02acb36ff152cbf8f4e0f7610a7bdf1f0a7d8f5e8aa3aee2220edf5f7fc
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
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.