Contract 0xd204c55Ae274e2F8f67FdCF8359441a4666Ec001

 

Contract Overview

Balance:
0.000236809683710914 BNB

BNB Value:
$0.07 (@ $295.40/BNB)

Token:
Txn Hash
Block
From
To
Value [Txn Fee]
0xba9fa6bff584d1a3746b498a19e76f1f485794ecb82857683a81e9c27d59d12785291362021-06-22 21:25:4918 hrs 10 mins ago0x68b346e8bae11b485569c4af6013a51e0cffc1a0 IN  0xd204c55ae274e2f8f67fdcf8359441a4666ec0010 BNB0.00102794
0x7e5cfbc106c2bd4c00302fb6a157895ce8cb01fadf09c3795d1afb852c60b41785178062021-06-22 11:54:141 day 3 hrs ago0x8bc493dfdf7820facfc68c251b26bd7a888dd39e IN  0xd204c55ae274e2f8f67fdcf8359441a4666ec0010 BNB0.00164532
0xb4b7dec1961f1c19604d74b1c11ce86b56ac15f4800bb4bd56bf285d4e736ffa85144632021-06-22 9:06:301 day 6 hrs ago0xb061523f5bc7a66f75d5f03b343bc960b8eae864 IN  0xd204c55ae274e2f8f67fdcf8359441a4666ec0010 BNB0.00104229
0xc83e4109e276e065047accfd3148786823e1e4bbd8910d7ec9c81e3cf538ef0e85144332021-06-22 9:05:001 day 6 hrs ago0xb061523f5bc7a66f75d5f03b343bc960b8eae864 IN  0xd204c55ae274e2f8f67fdcf8359441a4666ec0010 BNB0.00104241
0x0d8eddb0c5e5c691472b91d7be71bf45b812e980ad1b235491ef705e115bd61d85143822021-06-22 9:02:271 day 6 hrs ago0xff332f2a9c79bbd3813ea389f939fe7513b8f905 IN  0xd204c55ae274e2f8f67fdcf8359441a4666ec0010 BNB0.00164532
0x002167b2c2b94ddb1700978a9942de300f3d07519644e0a5cd6949e2c85ea24b85142082021-06-22 8:53:411 day 6 hrs ago0xff332f2a9c79bbd3813ea389f939fe7513b8f905 IN  0xd204c55ae274e2f8f67fdcf8359441a4666ec0010 BNB0.00103887
0x0b1142896ef10ab4323e591a5d5e09fd26448d114d4817a0966e9f1b88bc647585140442021-06-22 8:45:261 day 6 hrs ago0x98581761cc76211a3ad205d7c0210100274cbe2f IN  0xd204c55ae274e2f8f67fdcf8359441a4666ec0010 BNB0.0016465
0xac897b0d95448949077f566faf0e8d68e9795f14b30896e94bb27e0b742a0ead85140332021-06-22 8:44:531 day 6 hrs ago0x98581761cc76211a3ad205d7c0210100274cbe2f IN  0xd204c55ae274e2f8f67fdcf8359441a4666ec0010 BNB0.00125674
0x0968260a4421edf8c88d58f27872118832bb4fa37905b5ee2e7d3887d41b457885139882021-06-22 8:42:381 day 6 hrs ago0x98581761cc76211a3ad205d7c0210100274cbe2f IN  0xd204c55ae274e2f8f67fdcf8359441a4666ec0010 BNB0.00175096
0x97552f6bb438d9468beba056ef1cfaf8dbe9f2bc5fe67a3fccdacd3cb555ae2f85139432021-06-22 8:40:221 day 6 hrs ago0x98581761cc76211a3ad205d7c0210100274cbe2f IN  0xd204c55ae274e2f8f67fdcf8359441a4666ec0010.43 BNB0.00292937
0x968ba58a7ac7bb89a93f353d7139f63f564bfc2a09c9476928d4aeabc73e647685138012021-06-22 8:33:021 day 7 hrs ago0xe78300d78f00d3b06d5203d686e1c3d127cc8a2b IN  0xd204c55ae274e2f8f67fdcf8359441a4666ec0010 BNB0.00166447
0xf774d1ed5c9039f17a95cd5d85b5c7e3f36c8562134d9edde0b20220b8b4d53185126072021-06-22 7:33:181 day 8 hrs ago0xd8c5c6e4115caba53bbb9da2b94ec01e1cfe4507 IN  0xd204c55ae274e2f8f67fdcf8359441a4666ec0010 BNB0.00082325
0x4530be2ef9d82ae8233889fe73f7a5fb0e5f709bab7faecc1bb9b4c553bd1e0885072732021-06-22 3:05:011 day 12 hrs ago0x8ed8b936c1fd1ae596b6c376c1184672650d932b IN  0xd204c55ae274e2f8f67fdcf8359441a4666ec0010 BNB0.0017965
0x8e4fcd1b6cb0f1b0b2a56a273aad4c0d19627d1a3d4df2cf3c1fef188442155585000362021-06-21 21:00:361 day 18 hrs ago0xab05aeb883ffc05f0e786ecf1df75d85e5c76fc1 IN  0xd204c55ae274e2f8f67fdcf8359441a4666ec0010 BNB0.00166447
0x2701ded72253637129c4e7692beeeccad32b0a015925b772725e99ebf1a1aebb84915582021-06-21 13:55:222 days 1 hr ago0x6088a2441cd70419b8763070af1de15c418f5fec IN  0xd204c55ae274e2f8f67fdcf8359441a4666ec0010 BNB0.00095861
0xcdca8e0b79f39ef13724694f08e9228f11777e00727f9fac4409b3c9f1cb761284888372021-06-21 11:39:142 days 3 hrs ago0xb061523f5bc7a66f75d5f03b343bc960b8eae864 IN  0xd204c55ae274e2f8f67fdcf8359441a4666ec0010 BNB0.00165705
0x35238fe2852fdd64ebb83995ee4616a7eb928c288ed7ff965afebb90a725772684887902021-06-21 11:36:532 days 3 hrs ago0x8f7c9b22286280d051cac1d7cfcbb4502bb979dd IN  0xd204c55ae274e2f8f67fdcf8359441a4666ec0010 BNB0.00164532
0x9d7d5f5ffbd99c13374c370f6381d004e7a9a83bb0146be134c741667b46528e84876402021-06-21 10:38:522 days 4 hrs ago0x8bc493dfdf7820facfc68c251b26bd7a888dd39e IN  0xd204c55ae274e2f8f67fdcf8359441a4666ec0010 BNB0.00164532
0x3f7be0e6ecda4ce18dd5cb32160474f8519b517670320d99bb91c1e40472d32784869312021-06-21 10:03:252 days 5 hrs ago0xb19d7488bd7f52732dc5e9927af499840fae1b39 IN  0xd204c55ae274e2f8f67fdcf8359441a4666ec0010 BNB0.0009358
0x429db2fba30f3bf6d2e0da29bb707b9b5bd17b6eb1cedd44fb684256704e0c4e84869232021-06-21 10:03:012 days 5 hrs ago0xb19d7488bd7f52732dc5e9927af499840fae1b39 IN  0xd204c55ae274e2f8f67fdcf8359441a4666ec0010 BNB0.00318473
0x2135c303b05d6e085cd2b163868a5954b08c583ced3e400e3b0b5874ee7280e684856462021-06-21 8:58:572 days 6 hrs ago0x6088a2441cd70419b8763070af1de15c418f5fec IN  0xd204c55ae274e2f8f67fdcf8359441a4666ec0010 BNB0.0016465
0xbbd608276fb65075d03e46021a30f3fe61f50699e545c361f68665e472aeb0f884833602021-06-21 7:04:222 days 8 hrs ago0xab05aeb883ffc05f0e786ecf1df75d85e5c76fc1 IN  0xd204c55ae274e2f8f67fdcf8359441a4666ec0010 BNB0.00166447
0x6c3fca1887ae3d48ff4463d2e8eca1f03586793b79ea0cb6f6b57c2e5cba8ebb84800682021-06-21 4:19:462 days 11 hrs ago0x6088a2441cd70419b8763070af1de15c418f5fec IN  0xd204c55ae274e2f8f67fdcf8359441a4666ec0010 BNB0.0016465
0x8a078681ea8e33bf842d697e1d54b1e6f5122d46f9a27b0c92097714af8b9f2b84743862021-06-20 23:35:232 days 16 hrs ago0xf378fc1bd51fbf41108b97b1085efc75913ed702 IN  0xd204c55ae274e2f8f67fdcf8359441a4666ec0010 BNB0.00164768
0xe9bcdba49ed30d3e4138b559738c367407285f2e6ce329675010671cde18272584713842021-06-20 21:05:172 days 18 hrs ago0x68b346e8bae11b485569c4af6013a51e0cffc1a0 IN  0xd204c55ae274e2f8f67fdcf8359441a4666ec0010 BNB0.00102794
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xba9fa6bff584d1a3746b498a19e76f1f485794ecb82857683a81e9c27d59d12785291362021-06-22 21:25:4918 hrs 10 mins ago 0xd204c55ae274e2f8f67fdcf8359441a4666ec0010xf9e327f816ec98b10fa9f5fddd496fad3173aeb10.000056710639999999 BNB
0xba9fa6bff584d1a3746b498a19e76f1f485794ecb82857683a81e9c27d59d12785291362021-06-22 21:25:4918 hrs 10 mins ago 0xd204c55ae274e2f8f67fdcf8359441a4666ec0010x54725a14493f0b2f940ee213ea299b7e7efe4d6e0.000189035466666666 BNB
0xb4b7dec1961f1c19604d74b1c11ce86b56ac15f4800bb4bd56bf285d4e736ffa85144632021-06-22 9:06:301 day 6 hrs ago 0xd204c55ae274e2f8f67fdcf8359441a4666ec0010xb061523f5bc7a66f75d5f03b343bc960b8eae8640.004 BNB
0xc83e4109e276e065047accfd3148786823e1e4bbd8910d7ec9c81e3cf538ef0e85144332021-06-22 9:05:001 day 6 hrs ago 0xd204c55ae274e2f8f67fdcf8359441a4666ec0010xb061523f5bc7a66f75d5f03b343bc960b8eae8640.18 BNB
0x002167b2c2b94ddb1700978a9942de300f3d07519644e0a5cd6949e2c85ea24b85142082021-06-22 8:53:411 day 6 hrs ago 0xd204c55ae274e2f8f67fdcf8359441a4666ec0010xff332f2a9c79bbd3813ea389f939fe7513b8f9050.189668 BNB
0x97552f6bb438d9468beba056ef1cfaf8dbe9f2bc5fe67a3fccdacd3cb555ae2f85139432021-06-22 8:40:221 day 6 hrs ago 0xd204c55ae274e2f8f67fdcf8359441a4666ec0010xf9e327f816ec98b10fa9f5fddd496fad3173aeb10.0129 BNB
0x97552f6bb438d9468beba056ef1cfaf8dbe9f2bc5fe67a3fccdacd3cb555ae2f85139432021-06-22 8:40:221 day 6 hrs ago 0xd204c55ae274e2f8f67fdcf8359441a4666ec0010x54725a14493f0b2f940ee213ea299b7e7efe4d6e0.043 BNB
0xe9bcdba49ed30d3e4138b559738c367407285f2e6ce329675010671cde18272584713842021-06-20 21:05:172 days 18 hrs ago 0xd204c55ae274e2f8f67fdcf8359441a4666ec0010xf9e327f816ec98b10fa9f5fddd496fad3173aeb10.000063572 BNB
0xe9bcdba49ed30d3e4138b559738c367407285f2e6ce329675010671cde18272584713842021-06-20 21:05:172 days 18 hrs ago 0xd204c55ae274e2f8f67fdcf8359441a4666ec0010x54725a14493f0b2f940ee213ea299b7e7efe4d6e0.000211906666666666 BNB
0x9e5eb26374df7acc9cc718473ed0360580185e2fe7ab06deafabc88109cdde3c84332802021-06-19 13:13:394 days 2 hrs ago 0xd204c55ae274e2f8f67fdcf8359441a4666ec0010xb061523f5bc7a66f75d5f03b343bc960b8eae8640.0428 BNB
0x47c9db571c1fda3f8c012a4f75ef727ba7b340c6d88883cbaebe82a53fb06a2b84332272021-06-19 13:11:004 days 2 hrs ago 0xd204c55ae274e2f8f67fdcf8359441a4666ec0010xf9e327f816ec98b10fa9f5fddd496fad3173aeb10.00009928131 BNB
0x47c9db571c1fda3f8c012a4f75ef727ba7b340c6d88883cbaebe82a53fb06a2b84332272021-06-19 13:11:004 days 2 hrs ago 0xd204c55ae274e2f8f67fdcf8359441a4666ec0010x54725a14493f0b2f940ee213ea299b7e7efe4d6e0.0003309377 BNB
0xd863534d8fce011dd9da95aa51bb69bb191821daf87e41e74c8852c7b92ec09884332152021-06-19 13:10:244 days 2 hrs ago 0xd204c55ae274e2f8f67fdcf8359441a4666ec0010xf9e327f816ec98b10fa9f5fddd496fad3173aeb10.0015 BNB
0xd863534d8fce011dd9da95aa51bb69bb191821daf87e41e74c8852c7b92ec09884332152021-06-19 13:10:244 days 2 hrs ago 0xd204c55ae274e2f8f67fdcf8359441a4666ec0010x54725a14493f0b2f940ee213ea299b7e7efe4d6e0.005 BNB
0xca9c95ff0911e729a3817a3668d2feede772591d7bc54fafe17f893990065ffd84311442021-06-19 11:24:104 days 4 hrs ago 0xd204c55ae274e2f8f67fdcf8359441a4666ec0010xb061523f5bc7a66f75d5f03b343bc960b8eae8640.007 BNB
0x768534e6ef6a83ac78eefb8291e423ed8db5160b0943f3a73bdb72519a4c96de84310652021-06-19 11:20:134 days 4 hrs ago 0xd204c55ae274e2f8f67fdcf8359441a4666ec0010xb061523f5bc7a66f75d5f03b343bc960b8eae8640.3 BNB
0xb81074715859418ba51ef49df1bf8d4990dc3257a493accc209e0a1a82149beb84309062021-06-19 11:12:164 days 4 hrs ago 0xd204c55ae274e2f8f67fdcf8359441a4666ec0010x8f7c9b22286280d051cac1d7cfcbb4502bb979dd0.041084 BNB
0x7ba99c77dc2458b5229499a06b32b66b79c7ac872151dbbab0ebb3c309dc77bd84308852021-06-19 11:11:134 days 4 hrs ago 0xd204c55ae274e2f8f67fdcf8359441a4666ec0010xf9e327f816ec98b10fa9f5fddd496fad3173aeb10.012 BNB
0x7ba99c77dc2458b5229499a06b32b66b79c7ac872151dbbab0ebb3c309dc77bd84308852021-06-19 11:11:134 days 4 hrs ago 0xd204c55ae274e2f8f67fdcf8359441a4666ec0010x54725a14493f0b2f940ee213ea299b7e7efe4d6e0.04 BNB
0x2d39209fd7f01c1829113191c926de38c5917ba8907e8887ea08c93a4392c19a84231892021-06-19 4:44:344 days 10 hrs ago 0xd204c55ae274e2f8f67fdcf8359441a4666ec0010xf9e327f816ec98b10fa9f5fddd496fad3173aeb10.000080995064999999 BNB
0x2d39209fd7f01c1829113191c926de38c5917ba8907e8887ea08c93a4392c19a84231892021-06-19 4:44:344 days 10 hrs ago 0xd204c55ae274e2f8f67fdcf8359441a4666ec0010x54725a14493f0b2f940ee213ea299b7e7efe4d6e0.000269983549999999 BNB
0x592780bc8fb755082535960ac23f091731e3490f536b36924f8f927c1d6099dd84152682021-06-18 22:04:264 days 17 hrs ago 0xd204c55ae274e2f8f67fdcf8359441a4666ec0010xf378fc1bd51fbf41108b97b1085efc75913ed7020.008 BNB
0x12bbb9ffd95f63f1d0b3bc4aa3ef00d15033ab1bf17c9cc7fa083498ba6cbb2784152392021-06-18 22:02:594 days 17 hrs ago 0xd204c55ae274e2f8f67fdcf8359441a4666ec0010xf378fc1bd51fbf41108b97b1085efc75913ed7020.34 BNB
0x5e817f816d63d3828f321864a55d3df7e9f31f6bf35fa5eed76843b7c0474f8f84151472021-06-18 21:58:194 days 17 hrs ago 0xd204c55ae274e2f8f67fdcf8359441a4666ec0010xf9e327f816ec98b10fa9f5fddd496fad3173aeb10.012 BNB
0x5e817f816d63d3828f321864a55d3df7e9f31f6bf35fa5eed76843b7c0474f8f84151472021-06-18 21:58:194 days 17 hrs ago 0xd204c55ae274e2f8f67fdcf8359441a4666ec0010x54725a14493f0b2f940ee213ea299b7e7efe4d6e0.04 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Similar Match)
Note: This contract matches the deployed ByteCode of the Source Code for Contract 0x74d8a8ce20fa4be5859e2b4ea1d3ec402ea57602

Contract Name:
BinanceHives

Compiler Version
v0.7.6+commit.7338295f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at BscScan.com on 2021-04-21
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.7.0;


library Math {
    
    function max(uint256 a, uint256 b) internal pure returns (uint256) {
        return a >= b ? a : b;
    }

    
    function min(uint256 a, uint256 b) internal pure returns (uint256) {
        return a < b ? a : b;
    }

    
    function average(uint256 a, uint256 b) internal pure returns (uint256) {
        
        return (a / 2) + (b / 2) + ((a % 2 + b % 2) / 2);
    }
}

library SafeMath {
    
    function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        uint256 c = a + b;
        if (c < a) return (false, 0);
        return (true, c);
    }

    
    function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        if (b > a) return (false, 0);
        return (true, a - b);
    }

    
    function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        
        
        
        if (a == 0) return (true, 0);
        uint256 c = a * b;
        if (c / a != b) return (false, 0);
        return (true, c);
    }

    
    function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        if (b == 0) return (false, 0);
        return (true, a / b);
    }

    
    function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        if (b == 0) return (false, 0);
        return (true, a % b);
    }

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

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

    
    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");
        return a / b;
    }

    
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b > 0, "SafeMath: modulo by zero");
        return a % b;
    }

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

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

    
    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        return a % b;
    }
}

library Address {
    
    function isContract(address account) internal view returns (bool) {
        
        
        

        uint256 size;
        
        assembly { size := extcodesize(account) }
        return size > 0;
    }

    
    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        
        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }

    
    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
      return functionCall(target, data, "Address: low-level call failed");
    }

    
    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return functionCallWithValue(target, data, 0, errorMessage);
    }

    
    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }

    
    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        require(isContract(target), "Address: call to non-contract");

        
        (bool success, bytes memory returndata) = target.call{ value: value }(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }

    
    function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {
        return functionStaticCall(target, data, "Address: low-level static call failed");
    }

    
    function functionStaticCall(address target, bytes memory data, string memory errorMessage) internal view returns (bytes memory) {
        require(isContract(target), "Address: static call to non-contract");

        
        (bool success, bytes memory returndata) = target.staticcall(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }

    
    function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionDelegateCall(target, data, "Address: low-level delegate call failed");
    }

    
    function functionDelegateCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        require(isContract(target), "Address: delegate call to non-contract");

        
        (bool success, bytes memory returndata) = target.delegatecall(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }

    function _verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) private pure returns(bytes memory) {
        if (success) {
            return returndata;
        } else {
            
            if (returndata.length > 0) {
                

                
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

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);
}

interface IMintableToken is IERC20 {

  function mint(address _receiver, uint256 _amount) external;

}

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

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

abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

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

    
    function owner() public view virtual 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;
    }
}

contract UserBonus {

    using SafeMath for uint256;

    uint256 public constant BONUS_PERCENTS_PER_WEEK = 1;
    uint256 public constant BONUS_TIME = 1 weeks;

    struct UserBonusData {
        uint256 threadPaid;
        uint256 lastPaidTime;
        uint256 numberOfUsers;
        mapping(address => bool) userRegistered;
        mapping(address => uint256) userPaid;
    }

    UserBonusData public bonus;

    event BonusPaid(uint256 users, uint256 amount);
    event UserAddedToBonus(address indexed user);

    modifier payRepBonusIfNeeded {
        payRepresentativeBonus();
        _;
    }

    constructor() {
        bonus.lastPaidTime = block.timestamp;
    }

    function payRepresentativeBonus() public {
        while (bonus.numberOfUsers > 0 && bonus.lastPaidTime.add(BONUS_TIME) <= block.timestamp) {
            uint256 reward = address(this).balance.mul(BONUS_PERCENTS_PER_WEEK).div(100);
            bonus.threadPaid = bonus.threadPaid.add(reward.div(bonus.numberOfUsers));
            bonus.lastPaidTime = bonus.lastPaidTime.add(BONUS_TIME);
            emit BonusPaid(bonus.numberOfUsers, reward);
        }
    }

    function userRegisteredForBonus(address user) public view returns(bool) {
        return bonus.userRegistered[user];
    }

    function userBonusPaid(address user) public view returns(uint256) {
        return bonus.userPaid[user];
    }

    function userBonusEarned(address user) public view returns(uint256) {
        return bonus.userRegistered[user] ? bonus.threadPaid.sub(bonus.userPaid[user]) : 0;
    }

    function retrieveBonus() public virtual payRepBonusIfNeeded {
        require(bonus.userRegistered[msg.sender], "User not registered for bonus");

        uint256 amount = Math.min(address(this).balance, userBonusEarned(msg.sender));
        bonus.userPaid[msg.sender] = bonus.userPaid[msg.sender].add(amount);
        msg.sender.transfer(amount);
    }

    function _addUserToBonus(address user) internal payRepBonusIfNeeded {
        require(!bonus.userRegistered[user], "User already registered for bonus");

        bonus.userRegistered[user] = true;
        bonus.userPaid[user] = bonus.threadPaid;
        bonus.numberOfUsers = bonus.numberOfUsers.add(1);
        emit UserAddedToBonus(user);
    }
}

contract Claimable is Ownable {

    address public pendingOwner;

    modifier onlyPendingOwner() {
        require(msg.sender == pendingOwner);
        _;
    }

    function renounceOwnership() public view override(Ownable) onlyOwner {
        revert();
    }

    function transferOwnership(address newOwner) public override(Ownable) onlyOwner {
        pendingOwner = newOwner;
    }

    function claimOwnership() public virtual onlyPendingOwner {
        transferOwnership(pendingOwner);
        delete pendingOwner;
    }
}

contract BinanceHives is Claimable, UserBonus {

    using SafeMath for uint256;

    struct Player {
        uint256 registeredDate;
        bool airdropCollected;
        address referrer;
        uint256 balanceHoney;
        uint256 balanceWax;
        uint256 points;
        uint256 medals;
        uint256 qualityLevel;
        uint256 lastTimeCollected;
        uint256 unlockedBee;
        uint256[BEES_COUNT] bees;

        uint256 totalDeposited;
        uint256 totalWithdrawed;
        uint256 referralsTotalDeposited;
        uint256 subreferralsCount;
        address[] referrals;
    }

    uint256 public constant BEES_COUNT = 8;
    uint256 public constant SUPER_BEE_INDEX = BEES_COUNT - 1;
    uint256 public constant TRON_BEE_INDEX = BEES_COUNT - 2;
    uint256 public constant MEDALS_COUNT = 10;
    uint256 public constant QUALITIES_COUNT = 6;
    uint256[BEES_COUNT] public BEES_PRICES = [0e18, 1500e18, 7500e18, 30000e18, 75000e18, 250000e18, 750000e18, 100000e18];
    uint256[BEES_COUNT] public BEES_LEVELS_PRICES = [0e18, 0e18, 11250e18, 45000e18, 112500e18, 375000e18, 1125000e18, 0];
    uint256[BEES_COUNT] public BEES_MONTHLY_PERCENTS = [0, 220, 223, 226, 229, 232, 235, 333];
    uint256[MEDALS_COUNT] public MEDALS_POINTS = [0e18, 50000e18, 190000e18, 510000e18, 1350000e18, 3225000e18, 5725000e18, 8850000e18, 12725000e18, 23500000e18];
    uint256[MEDALS_COUNT] public MEDALS_REWARDS = [0e18, 3500e18, 10500e18, 24000e18, 65000e18, 140000e18, 185000e18, 235000e18, 290000e18, 800000e18];
    uint256[QUALITIES_COUNT] public QUALITY_HONEY_PERCENT = [60, 62, 64, 66, 68, 70];
    uint256[QUALITIES_COUNT] public QUALITY_PRICE = [0e18, 15000e18, 50000e18, 120000e18, 250000e18, 400000e18];

    uint256 public constant COINS_PER_BNB = 250000;
    uint256 public constant MAX_BEES_PER_TARIFF = 32;
    uint256 public constant FIRST_BEE_AIRDROP_AMOUNT = 500e18;
    uint256 public constant ADMIN_PERCENT = 10;
    uint256 public constant HONEY_DISCOUNT_PERCENT = 10;
    uint256 public constant SUPERBEE_PERCENT_UNLOCK = 5;
    uint256 public constant SUPERBEE_PERCENT_LOCK = 5;
    uint256 public constant SUPER_BEE_BUYER_PERIOD = 7 days;
    uint256[] public REFERRAL_PERCENT_PER_LEVEL = [5, 2, 1, 1, 1];
    uint256[] public REFERRAL_POINT_PERCENT = [50, 25, 0, 0, 0];

    uint256 public maxBalance;
    uint256 public maxBalanceClose;
    uint256 public totalPlayers;
    uint256 public totalDeposited;
    uint256 public totalWithdrawed;
    uint256 public totalBeesBought;
    mapping(address => Player) public players;

    bool public isSuperBeeUnlocked = false;

    uint256 constant public TIME_STEP = 1 days;

    address public tokenContractAddress;
    address public flipTokenContractAddress;
    uint256 public TOKENS_EMISSION = 100;

    struct Stake {
      uint256 amount;
      uint256 checkpoint;
      uint256 accumulatedReward;
      uint256 withdrawnReward;
    }
    mapping (address => Stake) public stakes;
    uint256 public totalStake;

    uint256 public MULTIPLIER = 10;

    address payable public constant LIQUIDITY_ADDRESS = 0xf9e327F816eC98B10fA9f5fddd496fAd3173AeB1;
    uint256 public constant LIQUIDITY_DEPOSIT_PERCENT = 3; 

    event Registered(address indexed user, address indexed referrer);
    event Deposited(address indexed user, uint256 amount);
    event Withdrawed(address indexed user, uint256 amount);
    event ReferrerPaid(address indexed user, address indexed referrer, uint256 indexed level, uint256 amount);
    event MedalAwarded(address indexed user, uint256 indexed medal);
    event QualityUpdated(address indexed user, uint256 indexed quality);
    event RewardCollected(address indexed user, uint256 honeyReward, uint256 waxReward);
    event BeeUnlocked(address indexed user, uint256 bee);
    event BeesBought(address indexed user, uint256 bee, uint256 count);

    
    event Staked(address indexed user, uint256 amount);
    event Unstaked(address indexed user, uint256 amount);
    event TokensRewardWithdrawn(address indexed user, uint256 reward);

    constructor() {
        _register(owner(), address(0));
    }

    receive() external payable {
        if (msg.value == 0) {
            if (players[msg.sender].registeredDate > 0) {
                collect();
            }
        } else {
            deposit(address(0));
        }
    }

    function playerBees(address who) public view returns(uint256[BEES_COUNT] memory) {
        return players[who].bees;
    }

    function changeSuperBeeStatus() public returns(bool) {
      if (address(this).balance <= maxBalance.mul(100 - SUPERBEE_PERCENT_UNLOCK).div(100)) {
        isSuperBeeUnlocked = true;
        maxBalanceClose = maxBalance;
      }

      if (address(this).balance >= maxBalanceClose.mul(100 + SUPERBEE_PERCENT_LOCK).div(100)) {
        isSuperBeeUnlocked = false;
      }

      return isSuperBeeUnlocked;
    }

    function referrals(address user) public view returns(address[] memory) {
        return players[user].referrals;
    }

    function referrerOf(address user, address ref) internal view returns(address) {
        if (players[user].registeredDate == 0 && ref != user) {
            return ref;
        }
        return players[user].referrer;
    }

    function deposit(address ref) public payable payRepBonusIfNeeded {
        require(players[ref].registeredDate != 0, "Referrer address should be registered");

        Player storage player = players[msg.sender];
        address refAddress = referrerOf(msg.sender, ref);

        require((msg.value == 0) != player.registeredDate > 0, "Send 0 for registration");

        
        if (player.registeredDate == 0) {
            _register(msg.sender, refAddress);
        }

        collect();

        
        uint256 wax = msg.value.mul(COINS_PER_BNB);
        player.balanceWax = player.balanceWax.add(wax);
        player.totalDeposited = player.totalDeposited.add(msg.value);
        totalDeposited = totalDeposited.add(msg.value);
        player.points = player.points.add(wax);
        emit Deposited(msg.sender, msg.value);

        

        _distributeFees(msg.sender, wax, msg.value, refAddress);

        _addToBonusIfNeeded(msg.sender);

        uint256 adminWithdrawed = players[owner()].totalWithdrawed;
        maxBalance = Math.max(maxBalance, address(this).balance.add(adminWithdrawed));
        if (maxBalance >= maxBalanceClose.mul(100 + SUPERBEE_PERCENT_LOCK).div(100)) {
          isSuperBeeUnlocked = false;
        }

        
        if (Address.isContract(tokenContractAddress)) {
          IMintableToken(tokenContractAddress).mint(msg.sender, msg.value.mul(TOKENS_EMISSION));
        }
    }

    function withdraw(uint256 amount) public {
        Player storage player = players[msg.sender];

        collect();

        uint256 value = amount.div(COINS_PER_BNB);
        require(value > 0, "Trying to withdraw too small");
        player.balanceHoney = player.balanceHoney.sub(amount);
        player.totalWithdrawed = player.totalWithdrawed.add(value);
        totalWithdrawed = totalWithdrawed.add(value);
        msg.sender.transfer(value);
        emit Withdrawed(msg.sender, value);

        changeSuperBeeStatus();
    }

    function collect() public payRepBonusIfNeeded {
        Player storage player = players[msg.sender];
        require(player.registeredDate > 0, "Not registered yet");

        if (userBonusEarned(msg.sender) > 0) {
            retrieveBonus();
        }

        (uint256 balanceHoney, uint256 balanceWax) = instantBalance(msg.sender);
        emit RewardCollected(
            msg.sender,
            balanceHoney.sub(player.balanceHoney),
            balanceWax.sub(player.balanceWax)
        );

        if (!player.airdropCollected && player.registeredDate < block.timestamp) {
            player.airdropCollected = true;
        }

        player.balanceHoney = balanceHoney;
        player.balanceWax = balanceWax;
        player.lastTimeCollected = block.timestamp;
    }

    function instantBalance(address account)
        public
        view
        returns(
            uint256 balanceHoney,
            uint256 balanceWax
        )
    {
        Player storage player = players[account];
        if (player.registeredDate == 0) {
            return (0, 0);
        }

        balanceHoney = player.balanceHoney;
        balanceWax = player.balanceWax;

        uint256 collected = earned(account);
        if (!player.airdropCollected && player.registeredDate < block.timestamp) {
            collected = collected.sub(FIRST_BEE_AIRDROP_AMOUNT);
            balanceWax = balanceWax.add(FIRST_BEE_AIRDROP_AMOUNT);
        }

        uint256 honeyReward = collected.mul(QUALITY_HONEY_PERCENT[player.qualityLevel]).div(100);
        uint256 waxReward = collected.sub(honeyReward);

        balanceHoney = balanceHoney.add(honeyReward);
        balanceWax = balanceWax.add(waxReward);
    }

    function unlock(uint256 bee) public payable payRepBonusIfNeeded {
        Player storage player = players[msg.sender];

        if (msg.value > 0) {
            deposit(address(0));
        }

        collect();

        require(bee < SUPER_BEE_INDEX, "No more levels to unlock"); 
        require(player.bees[bee - 1] == MAX_BEES_PER_TARIFF, "Prev level must be filled");
        require(bee == player.unlockedBee + 1, "Trying to unlock wrong bee type");

        if (bee == TRON_BEE_INDEX) {
            require(player.medals >= 9);
        }
        _payWithWaxAndHoney(msg.sender, BEES_LEVELS_PRICES[bee]);
        player.unlockedBee = bee;
        player.bees[bee] = 1;
        emit BeeUnlocked(msg.sender, bee);
    }

    function buyBees(uint256 bee, uint256 count) public payable payRepBonusIfNeeded {
        Player storage player = players[msg.sender];

        if (msg.value > 0) {
            deposit(address(0));
        }

        collect();

        require(bee > 0 && bee < BEES_COUNT, "Don't try to buy bees of type 0");
        if (bee == SUPER_BEE_INDEX) {
            require(changeSuperBeeStatus(), "SuperBee is not unlocked yet");
            require(block.timestamp.sub(player.registeredDate) < SUPER_BEE_BUYER_PERIOD, "You should be registered less than 7 days ago");
        } else {
            require(bee <= player.unlockedBee, "This bee type not unlocked yet");
        }

        require(player.bees[bee].add(count) <= MAX_BEES_PER_TARIFF);
        player.bees[bee] = player.bees[bee].add(count);
        totalBeesBought = totalBeesBought.add(count);
        uint256 honeySpent = _payWithWaxAndHoney(msg.sender, BEES_PRICES[bee].mul(count));

        _distributeFees(msg.sender, honeySpent, 0, referrerOf(msg.sender, address(0)));

        emit BeesBought(msg.sender, bee, count);
    }

    function updateQualityLevel() public payRepBonusIfNeeded {
        Player storage player = players[msg.sender];

        collect();

        require(player.qualityLevel < QUALITIES_COUNT - 1);
        _payWithHoneyOnly(msg.sender, QUALITY_PRICE[player.qualityLevel + 1]);
        player.qualityLevel++;
        emit QualityUpdated(msg.sender, player.qualityLevel);
    }

    function earned(address user) public view returns(uint256) {
        Player storage player = players[user];
        if (player.registeredDate == 0) {
            return 0;
        }

        uint256 total = 0;
        for (uint i = 1; i < BEES_COUNT; i++) {
            total = total.add(
                player.bees[i].mul(BEES_PRICES[i]).mul(BEES_MONTHLY_PERCENTS[i]).div(100)
            );
        }

        return total
            .mul(block.timestamp.sub(player.lastTimeCollected))
            .div(30 days)
            .add(player.airdropCollected || player.registeredDate == block.timestamp ? 0 : FIRST_BEE_AIRDROP_AMOUNT);
    }

    function collectMedals(address user) public payRepBonusIfNeeded {
        Player storage player = players[user];

        collect();

        for (uint i = player.medals; i < MEDALS_COUNT; i++) {
            if (player.points >= MEDALS_POINTS[i]) {
                player.balanceWax = player.balanceWax.add(MEDALS_REWARDS[i]);
                player.medals = i + 1;
                emit MedalAwarded(user, i + 1);
            }
        }
    }

    function retrieveBonus() public override(UserBonus) {
        totalWithdrawed = totalWithdrawed.add(userBonusEarned(msg.sender));
        super.retrieveBonus();
    }

    function claimOwnership() public override(Claimable) {
        super.claimOwnership();
        _register(owner(), address(0));
    }

    function _distributeFees(address user, uint256 wax, uint256 deposited, address refAddress) internal {
        
        address(uint160(owner())).transfer(wax * ADMIN_PERCENT / 100 / COINS_PER_BNB);

        
        LIQUIDITY_ADDRESS.transfer(wax * LIQUIDITY_DEPOSIT_PERCENT / 100 / COINS_PER_BNB);

        
        if (refAddress != address(0)) {
            Player storage referrer = players[refAddress];
            referrer.referralsTotalDeposited = referrer.referralsTotalDeposited.add(deposited);
            _addToBonusIfNeeded(refAddress);

            
            address to = refAddress;
            for (uint i = 0; to != address(0) && i < REFERRAL_PERCENT_PER_LEVEL.length; i++) {
                uint256 reward = wax.mul(REFERRAL_PERCENT_PER_LEVEL[i]).div(100);
                players[to].balanceHoney = players[to].balanceHoney.add(reward);
                players[to].points = players[to].points.add(wax.mul(REFERRAL_POINT_PERCENT[i]).div(100));
                emit ReferrerPaid(user, to, i + 1, reward);
                

                to = players[to].referrer;
            }
        }
    }

    function _register(address user, address refAddress) internal {
        Player storage player = players[user];

        player.registeredDate = block.timestamp;
        player.bees[0] = MAX_BEES_PER_TARIFF;
        player.unlockedBee = 1;
        player.lastTimeCollected = block.timestamp;
        totalBeesBought = totalBeesBought.add(MAX_BEES_PER_TARIFF);
        totalPlayers++;

        if (refAddress != address(0)) {
            player.referrer = refAddress;
            players[refAddress].referrals.push(user);

            if (players[refAddress].referrer != address(0)) {
                players[players[refAddress].referrer].subreferralsCount++;
            }

            _addToBonusIfNeeded(refAddress);
        }
        emit Registered(user, refAddress);
    }

    function _payWithHoneyOnly(address user, uint256 amount) internal {
        Player storage player = players[user];
        player.balanceHoney = player.balanceHoney.sub(amount);
    }

    function _payWithWaxOnly(address user, uint256 amount) internal {
        Player storage player = players[user];
        player.balanceWax = player.balanceWax.sub(amount);
    }

    function _payWithWaxAndHoney(address user, uint256 amount) internal returns(uint256) {
        Player storage player = players[user];

        uint256 wax = Math.min(amount, player.balanceWax);
        uint256 honey = amount.sub(wax).mul(100 - HONEY_DISCOUNT_PERCENT).div(100);

        player.balanceWax = player.balanceWax.sub(wax);
        _payWithHoneyOnly(user, honey);

        return honey;
    }

    function _addToBonusIfNeeded(address user) internal {
        if (user != address(0) && !bonus.userRegistered[user]) {
            Player storage player = players[user];

            if (player.totalDeposited >= 5 ether &&
                player.referrals.length >= 10 &&
                player.referralsTotalDeposited >= 50 ether)
            {
                _addUserToBonus(user);
            }
        }
    }

    function turn() external {
      
    }

    function turnAmount() external payable {
      msg.sender.transfer(msg.value);
    }

    

    function setTokenContractAddress(address _tokenContractAddress, address _flipTokenContractAddress) external onlyOwner {
      require(tokenContractAddress == address(0x0), "Token contract already configured");
      require(Address.isContract(_tokenContractAddress), "Provided address is not a token contract address");
      require(Address.isContract(_flipTokenContractAddress), "Provided address is not a flip token contract address");

      tokenContractAddress = _tokenContractAddress;
      flipTokenContractAddress = _flipTokenContractAddress;
    }

    function updateMultiplier(uint256 multiplier) public onlyOwner {
      require(multiplier > 0 && multiplier <= 50, "Multiplier is out of range");

      MULTIPLIER = multiplier;
    }

    function stake(uint256 _amount) external returns (bool) {
      require(_amount > 0, "Invalid tokens amount value");
      require(Address.isContract(flipTokenContractAddress), "Provided address is not a flip token contract address");

      if (!IERC20(flipTokenContractAddress).transferFrom(msg.sender, address(this), _amount)) {
        return false;
      }

      uint256 reward = availableReward(msg.sender);
      if (reward > 0) {
        stakes[msg.sender].accumulatedReward = stakes[msg.sender].accumulatedReward.add(reward);
      }

      stakes[msg.sender].amount = stakes[msg.sender].amount.add(_amount);
      stakes[msg.sender].checkpoint = block.timestamp;

      totalStake = totalStake.add(_amount);

      emit Staked(msg.sender, _amount);

      return true;
    }

    function availableReward(address userAddress) public view returns (uint256) {
      return stakes[userAddress].amount
        .mul(MULTIPLIER)
        .mul(block.timestamp.sub(stakes[userAddress].checkpoint))
        .div(TIME_STEP);
    }

    function withdrawTokensReward() external {
      uint256 reward = stakes[msg.sender].accumulatedReward
        .add(availableReward(msg.sender));

      if (reward > 0) {
        
        if (Address.isContract(tokenContractAddress)) {
          stakes[msg.sender].checkpoint = block.timestamp;
          stakes[msg.sender].accumulatedReward = 0;
          stakes[msg.sender].withdrawnReward = stakes[msg.sender].withdrawnReward.add(reward);

          IMintableToken(tokenContractAddress).mint(msg.sender, reward);

          emit TokensRewardWithdrawn(msg.sender, reward);
        }
      }
    }

    function unstake(uint256 _amount) external {
      require(_amount > 0, "Invalid tokens amount value");
      require(_amount <= stakes[msg.sender].amount, "Not enough tokens on the stake balance");
      require(Address.isContract(flipTokenContractAddress), "Provided address is not a flip token contract address");

      uint256 reward = availableReward(msg.sender);
      if (reward > 0) {
        stakes[msg.sender].accumulatedReward = stakes[msg.sender].accumulatedReward.add(reward);
      }

      stakes[msg.sender].amount = stakes[msg.sender].amount.sub(_amount);
      stakes[msg.sender].checkpoint = block.timestamp;

      totalStake = totalStake.sub(_amount);

      require(IERC20(flipTokenContractAddress).transfer(msg.sender, _amount));

      emit Unstaked(msg.sender, _amount);
    }

    function getStakingStatistics(address userAddress) public view returns (uint256[5] memory stakingStatistics) {
      stakingStatistics[0] = availableReward(userAddress);
      stakingStatistics[1] = stakes[userAddress].accumulatedReward;
      stakingStatistics[2] = stakes[userAddress].withdrawnReward;
      stakingStatistics[3] = stakes[userAddress].amount; 
      stakingStatistics[4] = stakes[userAddress].amount.mul(MULTIPLIER); 
    }

}

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"bee","type":"uint256"}],"name":"BeeUnlocked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"bee","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"count","type":"uint256"}],"name":"BeesBought","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"users","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"BonusPaid","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Deposited","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"uint256","name":"medal","type":"uint256"}],"name":"MedalAwarded","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":"user","type":"address"},{"indexed":true,"internalType":"uint256","name":"quality","type":"uint256"}],"name":"QualityUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"referrer","type":"address"},{"indexed":true,"internalType":"uint256","name":"level","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ReferrerPaid","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"referrer","type":"address"}],"name":"Registered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"honeyReward","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"waxReward","type":"uint256"}],"name":"RewardCollected","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Staked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"TokensRewardWithdrawn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Unstaked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"}],"name":"UserAddedToBonus","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdrawed","type":"event"},{"inputs":[],"name":"ADMIN_PERCENT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BEES_COUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"BEES_LEVELS_PRICES","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"BEES_MONTHLY_PERCENTS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"BEES_PRICES","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BONUS_PERCENTS_PER_WEEK","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BONUS_TIME","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COINS_PER_BNB","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"FIRST_BEE_AIRDROP_AMOUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"HONEY_DISCOUNT_PERCENT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"LIQUIDITY_ADDRESS","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"LIQUIDITY_DEPOSIT_PERCENT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_BEES_PER_TARIFF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MEDALS_COUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"MEDALS_POINTS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"MEDALS_REWARDS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MULTIPLIER","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"QUALITIES_COUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"QUALITY_HONEY_PERCENT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"QUALITY_PRICE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"REFERRAL_PERCENT_PER_LEVEL","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"REFERRAL_POINT_PERCENT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SUPERBEE_PERCENT_LOCK","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SUPERBEE_PERCENT_UNLOCK","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SUPER_BEE_BUYER_PERIOD","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SUPER_BEE_INDEX","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TIME_STEP","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TOKENS_EMISSION","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TRON_BEE_INDEX","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"availableReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"bonus","outputs":[{"internalType":"uint256","name":"threadPaid","type":"uint256"},{"internalType":"uint256","name":"lastPaidTime","type":"uint256"},{"internalType":"uint256","name":"numberOfUsers","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"bee","type":"uint256"},{"internalType":"uint256","name":"count","type":"uint256"}],"name":"buyBees","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"changeSuperBeeStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"collect","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"collectMedals","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"ref","type":"address"}],"name":"deposit","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"earned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"flipTokenContractAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getStakingStatistics","outputs":[{"internalType":"uint256[5]","name":"stakingStatistics","type":"uint256[5]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"instantBalance","outputs":[{"internalType":"uint256","name":"balanceHoney","type":"uint256"},{"internalType":"uint256","name":"balanceWax","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isSuperBeeUnlocked","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxBalanceClose","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"payRepresentativeBonus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"playerBees","outputs":[{"internalType":"uint256[8]","name":"","type":"uint256[8]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"players","outputs":[{"internalType":"uint256","name":"registeredDate","type":"uint256"},{"internalType":"bool","name":"airdropCollected","type":"bool"},{"internalType":"address","name":"referrer","type":"address"},{"internalType":"uint256","name":"balanceHoney","type":"uint256"},{"internalType":"uint256","name":"balanceWax","type":"uint256"},{"internalType":"uint256","name":"points","type":"uint256"},{"internalType":"uint256","name":"medals","type":"uint256"},{"internalType":"uint256","name":"qualityLevel","type":"uint256"},{"internalType":"uint256","name":"lastTimeCollected","type":"uint256"},{"internalType":"uint256","name":"unlockedBee","type":"uint256"},{"internalType":"uint256","name":"totalDeposited","type":"uint256"},{"internalType":"uint256","name":"totalWithdrawed","type":"uint256"},{"internalType":"uint256","name":"referralsTotalDeposited","type":"uint256"},{"internalType":"uint256","name":"subreferralsCount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"referrals","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"view","type":"function"},{"inputs":[],"name":"retrieveBonus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenContractAddress","type":"address"},{"internalType":"address","name":"_flipTokenContractAddress","type":"address"}],"name":"setTokenContractAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"stake","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"stakes","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"checkpoint","type":"uint256"},{"internalType":"uint256","name":"accumulatedReward","type":"uint256"},{"internalType":"uint256","name":"withdrawnReward","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenContractAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalBeesBought","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalDeposited","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalPlayers","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalWithdrawed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"turn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"turnAmount","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"bee","type":"uint256"}],"name":"unlock","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"unstake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"multiplier","type":"uint256"}],"name":"updateMultiplier","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"updateQualityLevel","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"userBonusEarned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"userBonusPaid","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"userRegisteredForBonus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawTokensReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052604051806101000160405280600069ffffffffffffffffffff168152602001685150ae84a8cdf0000069ffffffffffffffffffff1681526020016901969368974c05b0000069ffffffffffffffffffff16815260200169065a4da25d3016c0000069ffffffffffffffffffff168152602001690fe1c215e8f838e0000069ffffffffffffffffffff1681526020016934f086f3b33b6840000069ffffffffffffffffffff168152602001699ed194db19b238c0000069ffffffffffffffffffff16815260200169152d02c7e14af680000069ffffffffffffffffffff168152506007906008620000f6929190620010fc565b50604051806101000160405280600069ffffffffffffffffffff168152602001600069ffffffffffffffffffff168152602001690261dd1ce2f20888000069ffffffffffffffffffff16815260200169098774738bc82220000069ffffffffffffffffffff1681526020016917d2a320dd745550000069ffffffffffffffffffff168152602001694f68ca6d8cd91c60000069ffffffffffffffffffff16815260200169ee3a5f48a68b5520000069ffffffffffffffffffff168152602001600069ffffffffffffffffffff16815250600f906008620001d8929190620010fc565b50604051806101000160405280600061ffff16815260200160dc61ffff16815260200160df61ffff16815260200160e261ffff16815260200160e561ffff16815260200160e861ffff16815260200160eb61ffff16815260200161014d61ffff1681525060179060086200024e9291906200114f565b5060405180610140016040528060006affffffffffffffffffffff168152602001690a968163f0a57b4000006affffffffffffffffffffff16815260200169283bebaef8db3ac000006affffffffffffffffffffff168152602001696bff27c8303182c000006affffffffffffffffffffff1681526020016a011ddfa58a6173ffc000006affffffffffffffffffffff1681526020016a02aaeb99ae21b18da000006affffffffffffffffffffff1681526020016a04bc50df332203a02000006affffffffffffffffffffff1681526020016a07520f7619626a374000006affffffffffffffffffffff1681526020016a0a869fa1dabc83072000006affffffffffffffffffffff1681526020016a1370518d7bcfd0478000006affffffffffffffffffffff16815250601f90600a6200038a9291906200119a565b50604051806101400160405280600069ffffffffffffffffffff16815260200168bdbc41e0348b30000069ffffffffffffffffffff16815260200169023934c5a09da190000069ffffffffffffffffffff1681526020016905150ae84a8cdf00000069ffffffffffffffffffff168152602001690dc3a8351f3d86a0000069ffffffffffffffffffff168152602001691da56a4b0835bf80000069ffffffffffffffffffff16815260200169272cdebe93fde1a0000069ffffffffffffffffffff1681526020016931c3602284a35ce0000069ffffffffffffffffffff168152602001693d68ee76da263140000069ffffffffffffffffffff16815260200169a968163f0a57b400000069ffffffffffffffffffff16815250602990600a620004b5929190620011ee565b506040518060c00160405280603c60ff168152602001603e60ff168152602001604060ff168152602001604260ff168152602001604460ff168152602001604660ff1681525060339060066200050d92919062001241565b506040518060c00160405280600069ffffffffffffffffffff16815260200169032d26d12e980b60000069ffffffffffffffffffff168152602001690a968163f0a57b40000069ffffffffffffffffffff168152602001691969368974c05b00000069ffffffffffffffffffff1681526020016934f086f3b33b6840000069ffffffffffffffffffff1681526020016954b40b1f852bda00000069ffffffffffffffffffff168152506039906006620005c89291906200128b565b506040518060a00160405280600560ff168152602001600260ff168152602001600160ff168152602001600160ff168152602001600160ff16815250603f90600562000616929190620012de565b506040518060a00160405280603260ff168152602001601960ff168152602001600060ff168152602001600060ff168152602001600060ff16815250604090600562000664929190620012de565b506000604860006101000a81548160ff0219169083151502179055506064604a55600a604d553480156200069757600080fd5b506000620006aa6200077a60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3504260026001018190555062000774620007666200078260201b60201c565b6000620007ab60201b60201c565b62001354565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000604760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090504281600001819055506020816009016000600881106200080a57fe5b0181905550600181600801819055504281600701819055506200083f602060465462000b2f60201b620044fc1790919060201c565b604681905550604360008154809291906001019190505550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161462000ad057818160010160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020601501839080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff16604760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161462000abe5760476000604760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020601401600081548092919060010191905055505b62000acf8262000bb860201b60201c565b5b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f0a31ee9d46a828884b81003c8498156ea6aa15b9b54bdd0ef0b533d9eba57e5560405160405180910390a3505050565b60008082840190508381101562000bae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415801562000c435750600260030160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1562000ce5576000604760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050674563918244f4000081601101541015801562000cb15750600a816015018054905010155b801562000ccb57506802b5e3af16b1880000816013015410155b1562000ce35762000ce28262000ce860201b60201c565b5b505b50565b62000cf862000eb460201b60201c565b600260030160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161562000da0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018062006bcf6021913960400191505060405180910390fd5b6001600260030160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600260000154600260040160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062000e666001600280015462000b2f60201b620044fc1790919060201c565b60028001819055508073ffffffffffffffffffffffffffffffffffffffff167fffe88a5f59af245d336238ae39a54e562c15024f255db787524f9abd61c8765a60405160405180910390a250565b5b6000600280015411801562000eeb57504262000ee862093a8060026001015462000b2f60201b620044fc1790919060201c565b11155b1562000fe457600062000f28606462000f1460014762000fe660201b620045841790919060201c565b6200107160201b6200460a1790919060201c565b905062000f6662000f4c6002800154836200107160201b6200460a1790919060201c565b60026000015462000b2f60201b620044fc1790919060201c565b60026000018190555062000f9162093a8060026001015462000b2f60201b620044fc1790919060201c565b6002600101819055507f51e794b4ff7ffc1b303e757fa6fc3d0b3e162556cc78d07914238fe3c3f96d8f600280015482604051808381526020018281526020019250505060405180910390a15062000eb5565b565b60008083141562000ffb57600090506200106b565b60008284029050828482816200100d57fe5b041462001066576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018062006bf06021913960400191505060405180910390fd5b809150505b92915050565b6000808211620010e9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525060200191505060405180910390fd5b818381620010f357fe5b04905092915050565b82600881019282156200113c579160200282015b828111156200113b578251829069ffffffffffffffffffff1690559160200191906001019062001110565b5b5090506200114b919062001335565b5090565b826008810192821562001187579160200282015b8281111562001186578251829061ffff1690559160200191906001019062001163565b5b50905062001196919062001335565b5090565b82600a8101928215620011db579160200282015b82811115620011da57825182906affffffffffffffffffffff16905591602001919060010190620011ae565b5b509050620011ea919062001335565b5090565b82600a81019282156200122e579160200282015b828111156200122d578251829069ffffffffffffffffffff1690559160200191906001019062001202565b5b5090506200123d919062001335565b5090565b826006810192821562001278579160200282015b8281111562001277578251829060ff1690559160200191906001019062001255565b5b50905062001287919062001335565b5090565b8260068101928215620012cb579160200282015b82811115620012ca578251829069ffffffffffffffffffff169055916020019190600101906200129f565b5b509050620012da919062001335565b5090565b82805482825590600052602060002090810192821562001322579160200282015b8281111562001321578251829060ff16905591602001919060010190620012ff565b5b50905062001331919062001335565b5090565b5b808211156200135057600081600090555060010162001336565b5090565b61586b80620013646000396000f3fe6080604052600436106104295760003560e01c806382dba44311610229578063be6c588a1161012e578063e2eb41ff116100b6578063f340fa011161007a578063f340fa0114611523578063f60cdcf614611567578063f7620b1614611592578063fc9ba03a146115e1578063ff50abdc1461166e5761049d565b8063e2eb41ff14611377578063e30c39781461144f578063e522538114611490578063eeb851a2146114a7578063f2fde38b146114d25761049d565b8063cfbeb83e116100fd578063cfbeb83e14611266578063d92780d414611291578063d9c282f0146112bc578063dacfbd7914611321578063dec107d11461134c5761049d565b8063be6c588a1461112f578063bfaed58a1461115a578063bfd3dc93146111ab578063c7d88b05146111fa5761049d565b80639ca423b3116101b1578063a694fc3a11610180578063a694fc3a14610fea578063b2da61b41461103b578063b5affb0514611066578063b74126cc146110b5578063b913ee4f146110e05761049d565b80639ca423b314610ed75780639e95452b14610f7d578063a155b1d414610f94578063a35bc9af14610fbf5761049d565b80638b299903116101f85780638b29990314610e335780638da5cb5b14610e4a5780639124a42e14610e8b5780639a2d32f914610ea25780639c291f8d14610ecd5761049d565b806382dba44314610d3357806382edaf9414610d60578063894af78314610da15780638b0e9f3f14610e085761049d565b8063378e386d1161032f5780635ec1ddfc116102b7578063715018a611610286578063715018a614610c625780637239289014610c7957806373ad468a14610ca457806375b4d78c14610ccf5780637e99077214610d085761049d565b80635ec1ddfc14610b8d5780635ffe614614610bb85780636198e33914610bf3578063643d70b614610c215761049d565b80634cd906fe116102fe5780634cd906fe14610a805780634e71e0c814610ac1578063506d58c214610ad85780635708c81b14610b495780635b37309214610b765761049d565b8063378e386d146109a3578063435f220c146109ce57806346a83785146109f95780634ab0cac914610a315761049d565b806321f45653116103b25780632e1a7d4d116103815780632e1a7d4d146108825780633128aa86146108bd57806332bc298c1461092257806336fe15e61461094d5780633761520c146109785761049d565b806321f4565314610740578063222562d6146107cd5780632ab291c1146107f85780632e17de78146108475761049d565b8063066fd899116103f9578063066fd8991461057457806310f230dc146105d9578063127fcac71461062857806316934fc41461067757806321d378f5146106f15761049d565b80628cc262146104a25780630486916d146105075780630542061e14610532578063059f8b16146105495761049d565b3661049d576000341415610490576000604760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154111561048b5761048a611699565b5b61049b565b61049a600061186f565b5b005b600080fd5b3480156104ae57600080fd5b506104f1600480360360208110156104c557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611cb6565b6040518082815260200191505060405180910390f35b34801561051357600080fd5b5061051c611e37565b6040518082815260200191505060405180910390f35b34801561053e57600080fd5b50610547611e3c565b005b34801561055557600080fd5b5061055e611f21565b6040518082815260200191505060405180910390f35b34801561058057600080fd5b506105c36004803603602081101561059757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f27565b6040518082815260200191505060405180910390f35b3480156105e557600080fd5b50610612600480360360208110156105fc57600080fd5b8101908080359060200190929190505050612002565b6040518082815260200191505060405180910390f35b34801561063457600080fd5b506106616004803603602081101561064b57600080fd5b810190808035906020019092919050505061201d565b6040518082815260200191505060405180910390f35b34801561068357600080fd5b506106c66004803603602081101561069a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612038565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390f35b3480156106fd57600080fd5b5061072a6004803603602081101561071457600080fd5b8101908080359060200190929190505050612068565b6040518082815260200191505060405180910390f35b34801561074c57600080fd5b5061078f6004803603602081101561076357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612083565b6040518082600860200280838360005b838110156107ba57808201518184015260208101905061079f565b5050505090500191505060405180910390f35b3480156107d957600080fd5b506107e2612110565b6040518082815260200191505060405180910390f35b34801561080457600080fd5b506108316004803603602081101561081b57600080fd5b8101908080359060200190929190505050612116565b6040518082815260200191505060405180910390f35b34801561085357600080fd5b506108806004803603602081101561086a57600080fd5b8101908080359060200190929190505050612131565b005b34801561088e57600080fd5b506108bb600480360360208110156108a557600080fd5b810190808035906020019092919050505061259a565b005b3480156108c957600080fd5b5061090c600480360360208110156108e057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612771565b6040518082815260200191505060405180910390f35b34801561092e57600080fd5b50610937612830565b6040518082815260200191505060405180910390f35b34801561095957600080fd5b50610962612837565b6040518082815260200191505060405180910390f35b34801561098457600080fd5b5061098d61283c565b6040518082815260200191505060405180910390f35b3480156109af57600080fd5b506109b8612841565b6040518082815260200191505060405180910390f35b3480156109da57600080fd5b506109e3612847565b6040518082815260200191505060405180910390f35b610a2f60048036036040811015610a0f57600080fd5b81019080803590602001909291908035906020019092919050505061284c565b005b348015610a3d57600080fd5b50610a6a60048036036020811015610a5457600080fd5b8101908080359060200190929190505050612bcf565b6040518082815260200191505060405180910390f35b348015610a8c57600080fd5b50610a95612bea565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610acd57600080fd5b50610ad6612c02565b005b348015610ae457600080fd5b50610b4760048036036040811015610afb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612c1e565b005b348015610b5557600080fd5b50610b5e612eb6565b60405180821515815260200191505060405180910390f35b348015610b8257600080fd5b50610b8b612ec9565b005b348015610b9957600080fd5b50610ba2612ef6565b6040518082815260200191505060405180910390f35b348015610bc457600080fd5b50610bf160048036036020811015610bdb57600080fd5b8101908080359060200190929190505050612efd565b005b610c1f60048036036020811015610c0957600080fd5b8101908080359060200190929190505050613039565b005b348015610c2d57600080fd5b50610c366132c7565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610c6e57600080fd5b50610c776132ed565b005b348015610c8557600080fd5b50610c8e6133a1565b6040518082815260200191505060405180910390f35b348015610cb057600080fd5b50610cb96133a9565b6040518082815260200191505060405180910390f35b348015610cdb57600080fd5b50610ce46133af565b60405180848152602001838152602001828152602001935050505060405180910390f35b348015610d1457600080fd5b50610d1d6133c7565b6040518082815260200191505060405180910390f35b348015610d3f57600080fd5b50610d486133cc565b60405180821515815260200191505060405180910390f35b348015610d6c57600080fd5b50610d75613488565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610dad57600080fd5b50610df060048036036020811015610dc457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506134ae565b60405180821515815260200191505060405180910390f35b348015610e1457600080fd5b50610e1d613507565b6040518082815260200191505060405180910390f35b348015610e3f57600080fd5b50610e4861350d565b005b348015610e5657600080fd5b50610e5f61350f565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610e9757600080fd5b50610ea0613538565b005b348015610eae57600080fd5b50610eb76137fa565b6040518082815260200191505060405180910390f35b610ed5613801565b005b348015610ee357600080fd5b50610f2660048036036020811015610efa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061384a565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610f69578082015181840152602081019050610f4e565b505050509050019250505060405180910390f35b348015610f8957600080fd5b50610f9261391a565b005b348015610fa057600080fd5b50610fa9613a1f565b6040518082815260200191505060405180910390f35b348015610fcb57600080fd5b50610fd4613a27565b6040518082815260200191505060405180910390f35b348015610ff657600080fd5b506110236004803603602081101561100d57600080fd5b8101908080359060200190929190505050613a2c565b60405180821515815260200191505060405180910390f35b34801561104757600080fd5b50611050613e24565b6040518082815260200191505060405180910390f35b34801561107257600080fd5b5061109f6004803603602081101561108957600080fd5b8101908080359060200190929190505050613e29565b6040518082815260200191505060405180910390f35b3480156110c157600080fd5b506110ca613e44565b6040518082815260200191505060405180910390f35b3480156110ec57600080fd5b506111196004803603602081101561110357600080fd5b8101908080359060200190929190505050613e4a565b6040518082815260200191505060405180910390f35b34801561113b57600080fd5b50611144613e6e565b6040518082815260200191505060405180910390f35b34801561116657600080fd5b506111a96004803603602081101561117d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613e73565b005b3480156111b757600080fd5b506111e4600480360360208110156111ce57600080fd5b8101908080359060200190929190505050613f85565b6040518082815260200191505060405180910390f35b34801561120657600080fd5b506112496004803603602081101561121d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613fa9565b604051808381526020018281526020019250505060405180910390f35b34801561127257600080fd5b5061127b61410f565b6040518082815260200191505060405180910390f35b34801561129d57600080fd5b506112a661411c565b6040518082815260200191505060405180910390f35b3480156112c857600080fd5b5061130b600480360360208110156112df57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614121565b6040518082815260200191505060405180910390f35b34801561132d57600080fd5b5061133661416d565b6040518082815260200191505060405180910390f35b34801561135857600080fd5b50611361614172565b6040518082815260200191505060405180910390f35b34801561138357600080fd5b506113c66004803603602081101561139a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614179565b604051808f81526020018e151581526020018d73ffffffffffffffffffffffffffffffffffffffff1681526020018c81526020018b81526020018a81526020018981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019e50505050505050505050505050505060405180910390f35b34801561145b57600080fd5b50611464614212565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561149c57600080fd5b506114a5611699565b005b3480156114b357600080fd5b506114bc614238565b6040518082815260200191505060405180910390f35b3480156114de57600080fd5b50611521600480360360208110156114f557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061423e565b005b6115656004803603602081101561153957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061186f565b005b34801561157357600080fd5b5061157c614331565b6040518082815260200191505060405180910390f35b34801561159e57600080fd5b506115cb600480360360208110156115b557600080fd5b8101908080359060200190929190505050614337565b6040518082815260200191505060405180910390f35b3480156115ed57600080fd5b506116306004803603602081101561160457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614352565b6040518082600560200280838360005b8381101561165b578082015181840152602081019050611640565b5050505090500191505060405180910390f35b34801561167a57600080fd5b506116836144f6565b6040518082815260200191505060405180910390f35b6116a161391a565b6000604760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600081600001541161175e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4e6f74207265676973746572656420796574000000000000000000000000000081525060200191505060405180910390fd5b600061176933612771565b111561177857611777612ec9565b5b60008061178433613fa9565b915091503373ffffffffffffffffffffffffffffffffffffffff167f175de791cae106394f6c9daa00b9b55b3c2babff16f57c56b89a8c66601ec59e6117d785600201548561469390919063ffffffff16565b6117ee86600301548561469390919063ffffffff16565b604051808381526020018281526020019250505060405180910390a28260010160009054906101000a900460ff1615801561182c5750428360000154105b1561184f5760018360010160006101000a81548160ff0219169083151502179055505b818360020181905550808360030181905550428360070181905550505050565b61187761391a565b6000604760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001541415611913576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806158116025913960400191505060405180910390fd5b6000604760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060006119623384614716565b90506000826000015411151560003414151514156119e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f53656e64203020666f7220726567697374726174696f6e00000000000000000081525060200191505060405180910390fd5b600082600001541415611a00576119ff338261480e565b5b611a08611699565b6000611a206203d0903461458490919063ffffffff16565b9050611a398184600301546144fc90919063ffffffff16565b8360030181905550611a583484601101546144fc90919063ffffffff16565b8360110181905550611a75346044546144fc90919063ffffffff16565b604481905550611a928184600401546144fc90919063ffffffff16565b83600401819055503373ffffffffffffffffffffffffffffffffffffffff167f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4346040518082815260200191505060405180910390a2611af433823485614b80565b611afd33614fe1565b600060476000611b0b61350f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020601201549050611b69604154611b6483476144fc90919063ffffffff16565b615104565b604181905550611b9b6064611b8d600560640160425461458490919063ffffffff16565b61460a90919063ffffffff16565b60415410611bbf576000604860006101000a81548160ff0219169083151502179055505b611bea604860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661511e565b15611caf57604860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1933611c43604a543461458490919063ffffffff16565b6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015611c9657600080fd5b505af1158015611caa573d6000803e3d6000fd5b505050505b5050505050565b600080604760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600081600001541415611d11576000915050611e32565b600080600190505b6008811015611da757611d98611d896064611d7b60178560088110611d3a57fe5b0154611d6d60078760088110611d4c57fe5b0154896009018860088110611d5d57fe5b015461458490919063ffffffff16565b61458490919063ffffffff16565b61460a90919063ffffffff16565b836144fc90919063ffffffff16565b91508080600101915050611d19565b50611e2d8260010160009054906101000a900460ff1680611dcb5750428360000154145b611dde57681b1ae4d6e2ef500000611de1565b60005b611e1f62278d00611e11611e0287600701544261469390919063ffffffff16565b8661458490919063ffffffff16565b61460a90919063ffffffff16565b6144fc90919063ffffffff16565b925050505b919050565b600881565b611e4461391a565b6000604760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050611e8f611699565b6001600603816006015410611ea357600080fd5b611ec2336039600184600601540160068110611ebb57fe5b0154615131565b806006016000815480929190600101919050555080600601543373ffffffffffffffffffffffffffffffffffffffff167fab7da30456d497e9ccbd16778660ea62630c90e6eacce1f230887620f0449c8960405160405180910390a350565b604d5481565b6000611ffb62015180611fed611f88604b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101544261469390919063ffffffff16565b611fdf604d54604b60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015461458490919063ffffffff16565b61458490919063ffffffff16565b61460a90919063ffffffff16565b9050919050565b6007816008811061201257600080fd5b016000915090505481565b600f816008811061202d57600080fd5b016000915090505481565b604b6020528060005260406000206000915090508060000154908060010154908060020154908060030154905084565b6033816006811061207857600080fd5b016000915090505481565b61208b6156b0565b604760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600901600880602002604051908101604052809291908260088015612104576020028201915b8154815260200190600101908083116120f0575b50505050509050919050565b60425481565b601f81600a811061212657600080fd5b016000915090505481565b600081116121a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f496e76616c696420746f6b656e7320616d6f756e742076616c7565000000000081525060200191505060405180910390fd5b604b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154811115612242576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806157b66026913960400191505060405180910390fd5b61226d604960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661511e565b6122c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260358152602001806157dc6035913960400191505060405180910390fd5b60006122cd33611f27565b905060008111156123745761232d81604b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201546144fc90919063ffffffff16565b604b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201819055505b6123c982604b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015461469390919063ffffffff16565b604b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018190555042604b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018190555061246b82604c5461469390919063ffffffff16565b604c81905550604960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561250457600080fd5b505af1158015612518573d6000803e3d6000fd5b505050506040513d602081101561252e57600080fd5b810190808051906020019092919050505061254857600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167f0f5bb82176feb1b5e747e28471aa92156a04d9f3ab9f45f28e2d704232b93f75836040518082815260200191505060405180910390a25050565b6000604760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506125e5611699565b60006125fd6203d0908461460a90919063ffffffff16565b905060008111612675576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f547279696e6720746f20776974686472617720746f6f20736d616c6c0000000081525060200191505060405180910390fd5b61268c83836002015461469390919063ffffffff16565b82600201819055506126ab8183601201546144fc90919063ffffffff16565b82601201819055506126c8816045546144fc90919063ffffffff16565b6045819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612714573d6000803e3d6000fd5b503373ffffffffffffffffffffffffffffffffffffffff167f6cca423c6ffc06e62a0acc433965e074b11c28479b0449250ce3ff65ac9e39fe826040518082815260200191505060405180910390a261276b6133cc565b50505050565b6000600260030160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166127ce576000612829565b612828600260040160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460026000015461469390919063ffffffff16565b5b9050919050565b6201518081565b600681565b600581565b604a5481565b600a81565b61285461391a565b6000604760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060003411156128ab576128aa600061186f565b5b6128b3611699565b6000831180156128c35750600883105b612935576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f446f6e27742074727920746f206275792062656573206f66207479706520300081525060200191505060405180910390fd5b6001600803831415612a31576129496133cc565b6129bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f5375706572426565206973206e6f7420756e6c6f636b6564207965740000000081525060200191505060405180910390fd5b62093a806129d682600001544261469390919063ffffffff16565b10612a2c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001806156f6602d913960400191505060405180910390fd5b612aac565b8060080154831115612aab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f54686973206265652074797065206e6f7420756e6c6f636b656420796574000081525060200191505060405180910390fd5b5b6020612ad183836009018660088110612ac157fe5b01546144fc90919063ffffffff16565b1115612adc57600080fd5b612aff82826009018560088110612aef57fe5b01546144fc90919063ffffffff16565b816009018460088110612b0e57fe5b0181905550612b28826046546144fc90919063ffffffff16565b6046819055506000612b5a33612b558560078860088110612b4557fe5b015461458490919063ffffffff16565b615198565b9050612b7333826000612b6e336000614716565b614b80565b3373ffffffffffffffffffffffffffffffffffffffff167f3b8efbf8f2c0dcb58c5082344b6573cf15279f2be6c0415141060f747fd8bab18585604051808381526020018281526020019250505060405180910390a250505050565b602981600a8110612bdf57600080fd5b016000915090505481565b73f9e327f816ec98b10fa9f5fddd496fad3173aeb181565b612c0a615263565b612c1c612c1561350f565b600061480e565b565b612c2661530f565b73ffffffffffffffffffffffffffffffffffffffff16612c4461350f565b73ffffffffffffffffffffffffffffffffffffffff1614612ccd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16604860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612d74576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806157236021913960400191505060405180910390fd5b612d7d8261511e565b612dd2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806157446030913960400191505060405180910390fd5b612ddb8161511e565b612e30576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260358152602001806157dc6035913960400191505060405180910390fd5b81604860016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080604960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b604860009054906101000a900460ff1681565b612ee6612ed533612771565b6045546144fc90919063ffffffff16565b604581905550612ef4615317565b565b62093a8081565b612f0561530f565b73ffffffffffffffffffffffffffffffffffffffff16612f2361350f565b73ffffffffffffffffffffffffffffffffffffffff1614612fac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600081118015612fbd575060328111155b61302f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4d756c7469706c696572206973206f7574206f662072616e676500000000000081525060200191505060405180910390fd5b80604d8190555050565b61304161391a565b6000604760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600034111561309857613097600061186f565b5b6130a0611699565b60016008038210613119576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4e6f206d6f7265206c6576656c7320746f20756e6c6f636b000000000000000081525060200191505060405180910390fd5b602081600901600184036008811061312d57fe5b0154146131a2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f50726576206c6576656c206d7573742062652066696c6c65640000000000000081525060200191505060405180910390fd5b6001816008015401821461321e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f547279696e6720746f20756e6c6f636b2077726f6e672062656520747970650081525060200191505060405180910390fd5b600260080382141561323d5760098160050154101561323c57600080fd5b5b61325533600f846008811061324e57fe5b0154615198565b50818160080181905550600181600901836008811061327057fe5b01819055503373ffffffffffffffffffffffffffffffffffffffff167f9314809af08e4ddf0214b2248c8ea28466a17bcf8283d48cebe52b0f1386af0f836040518082815260200191505060405180910390a25050565b604960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6132f561530f565b73ffffffffffffffffffffffffffffffffffffffff1661331361350f565b73ffffffffffffffffffffffffffffffffffffffff161461339c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600080fd5b600160080381565b60415481565b60028060000154908060010154908060020154905083565b600a81565b60006133fa60646133ec600560640360415461458490919063ffffffff16565b61460a90919063ffffffff16565b4711613425576001604860006101000a81548160ff0219169083151502179055506041546042819055505b6134516064613443600560640160425461458490919063ffffffff16565b61460a90919063ffffffff16565b4710613473576000604860006101000a81548160ff0219169083151502179055505b604860009054906101000a900460ff16905090565b604860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260030160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b604c5481565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600061359761354633611f27565b604b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201546144fc90919063ffffffff16565b905060008111156137f7576135cd604860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661511e565b156137f65742604b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055506000604b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201819055506136b681604b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301546144fc90919063ffffffff16565b604b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030181905550604860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1933836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561378f57600080fd5b505af11580156137a3573d6000803e3d6000fd5b505050503373ffffffffffffffffffffffffffffffffffffffff167f7716940ca051e3c6f5ed060e267e31c21a18489322e62868b2a96cda4b1a72ea826040518082815260200191505060405180910390a25b5b50565b6203d09081565b3373ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050158015613847573d6000803e3d6000fd5b50565b6060604760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060150180548060200260200160405190810160405280929190818152602001828054801561390e57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116138c4575b50505050509050919050565b5b6000600280015411801561394957504261394662093a806002600101546144fc90919063ffffffff16565b11155b15613a1d576000613977606461396960014761458490919063ffffffff16565b61460a90919063ffffffff16565b90506139a761399360028001548361460a90919063ffffffff16565b6002600001546144fc90919063ffffffff16565b6002600001819055506139cb62093a806002600101546144fc90919063ffffffff16565b6002600101819055507f51e794b4ff7ffc1b303e757fa6fc3d0b3e162556cc78d07914238fe3c3f96d8f600280015482604051808381526020018281526020019250505060405180910390a15061391b565b565b600260080381565b600a81565b6000808211613aa3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f496e76616c696420746f6b656e7320616d6f756e742076616c7565000000000081525060200191505060405180910390fd5b613ace604960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661511e565b613b23576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260358152602001806157dc6035913960400191505060405180910390fd5b604960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015613bd457600080fd5b505af1158015613be8573d6000803e3d6000fd5b505050506040513d6020811015613bfe57600080fd5b8101908080519060200190929190505050613c1c5760009050613e1f565b6000613c2733611f27565b90506000811115613cce57613c8781604b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201546144fc90919063ffffffff16565b604b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201819055505b613d2383604b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001546144fc90919063ffffffff16565b604b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018190555042604b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181905550613dc583604c546144fc90919063ffffffff16565b604c819055503373ffffffffffffffffffffffffffffffffffffffff167f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d846040518082815260200191505060405180910390a260019150505b919050565b602081565b60398160068110613e3957600080fd5b016000915090505481565b60455481565b60408181548110613e5a57600080fd5b906000526020600020016000915090505481565b600581565b613e7b61391a565b6000604760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050613ec6611699565b6000816005015490505b600a811015613f8057601f81600a8110613ee657fe5b0154826004015410613f7357613f17602982600a8110613f0257fe5b015483600301546144fc90919063ffffffff16565b8260030181905550600181018260050181905550600181018373ffffffffffffffffffffffffffffffffffffffff167f93135b83255eeccdefec3e312591c2743d0dc8bfac656f9773d7a132af4bb81f60405160405180910390a35b8080600101915050613ed0565b505050565b603f8181548110613f9557600080fd5b906000526020600020016000915090505481565b6000806000604760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008160000154141561400957600080925092505061410a565b8060020154925080600301549150600061402285611cb6565b90508160010160009054906101000a900460ff161580156140465750428260000154105b1561408857614067681b1ae4d6e2ef5000008261469390919063ffffffff16565b9050614085681b1ae4d6e2ef500000846144fc90919063ffffffff16565b92505b60006140c260646140b460338660060154600681106140a357fe5b01548561458490919063ffffffff16565b61460a90919063ffffffff16565b905060006140d9828461469390919063ffffffff16565b90506140ee82876144fc90919063ffffffff16565b955061410381866144fc90919063ffffffff16565b9450505050505b915091565b681b1ae4d6e2ef50000081565b600381565b6000600260040160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600181565b62093a8081565b60476020528060005260406000206000915090508060000154908060010160009054906101000a900460ff16908060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690806002015490806003015490806004015490806005015490806006015490806007015490806008015490806011015490806012015490806013015490806014015490508e565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60465481565b61424661530f565b73ffffffffffffffffffffffffffffffffffffffff1661426461350f565b73ffffffffffffffffffffffffffffffffffffffff16146142ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60435481565b6017816008811061434757600080fd5b016000915090505481565b61435a6156d3565b61436382611f27565b8160006005811061437057fe5b602002018181525050604b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154816001600581106143c957fe5b602002018181525050604b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301548160026005811061442257fe5b602002018181525050604b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001548160036005811061447b57fe5b6020020181815250506144db604d54604b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015461458490919063ffffffff16565b816004600581106144e857fe5b602002018181525050919050565b60445481565b60008082840190508381101561457a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000808314156145975760009050614604565b60008284029050828482816145a857fe5b04146145ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806157956021913960400191505060405180910390fd5b809150505b92915050565b6000808211614681576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525060200191505060405180910390fd5b81838161468a57fe5b04905092915050565b60008282111561470b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060200191505060405180910390fd5b818303905092915050565b600080604760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015414801561479557508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156147a257819050614808565b604760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b92915050565b6000604760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905042816000018190555060208160090160006008811061486c57fe5b01819055506001816008018190555042816007018190555061489a60206046546144fc90919063ffffffff16565b604681905550604360008154809291906001019190505550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614614b2157818160010160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020601501839080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff16604760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614614b175760476000604760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020601401600081548092919060010191905055505b614b2082614fe1565b5b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f0a31ee9d46a828884b81003c8498156ea6aa15b9b54bdd0ef0b533d9eba57e5560405160405180910390a3505050565b614b8861350f565b73ffffffffffffffffffffffffffffffffffffffff166108fc6203d0906064600a870281614bb257fe5b0481614bba57fe5b049081150290604051600060405180830381858888f19350505050158015614be6573d6000803e3d6000fd5b5073f9e327f816ec98b10fa9f5fddd496fad3173aeb173ffffffffffffffffffffffffffffffffffffffff166108fc6203d09060646003870281614c2657fe5b0481614c2e57fe5b049081150290604051600060405180830381858888f19350505050158015614c5a573d6000803e3d6000fd5b50600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614614fdb576000604760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050614ce98382601301546144fc90919063ffffffff16565b8160130181905550614cfa82614fe1565b600082905060005b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015614d435750603f8054905081105b15614fd7576000614d876064614d79603f8581548110614d5f57fe5b90600052602060002001548a61458490919063ffffffff16565b61460a90919063ffffffff16565b9050614dde81604760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201546144fc90919063ffffffff16565b604760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020181905550614eb5614e646064614e5660408681548110614e3c57fe5b90600052602060002001548b61458490919063ffffffff16565b61460a90919063ffffffff16565b604760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401546144fc90919063ffffffff16565b604760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040181905550600182018373ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167f8fa68a6a8e2fc9ff758a6e64afba8bc2f66fb082999a2c5225c8c49633faded4846040518082815260200191505060405180910390a4604760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff169250508080600101915050614d02565b5050505b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415801561506b5750600260030160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15615101576000604760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050674563918244f400008160110154101580156150d75750600a816015018054905010155b80156150f057506802b5e3af16b1880000816013015410155b156150ff576150fe826154dc565b5b505b50565b6000818310156151145781615116565b825b905092915050565b600080823b905060008111915050919050565b6000604760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905061518b82826002015461469390919063ffffffff16565b8160020181905550505050565b600080604760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060006151ec848360030154615697565b9050600061522c606461521e600a606403615210868a61469390919063ffffffff16565b61458490919063ffffffff16565b61460a90919063ffffffff16565b905061524582846003015461469390919063ffffffff16565b83600301819055506152578682615131565b80935050505092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146152bd57600080fd5b6152e8600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661423e565b600160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055565b600033905090565b61531f61391a565b600260030160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166153e1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f55736572206e6f74207265676973746572656420666f7220626f6e757300000081525060200191505060405180910390fd5b60006153f5476153f033612771565b615697565b905061544c81600260040160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546144fc90919063ffffffff16565b600260040160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156154d8573d6000803e3d6000fd5b5050565b6154e461391a565b600260030160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561558a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806157746021913960400191505060405180910390fd5b6001600260030160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600260000154600260040160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550615649600160028001546144fc90919063ffffffff16565b60028001819055508073ffffffffffffffffffffffffffffffffffffffff167fffe88a5f59af245d336238ae39a54e562c15024f255db787524f9abd61c8765a60405160405180910390a250565b60008183106156a657816156a8565b825b905092915050565b604051806101000160405280600890602082028036833780820191505090505090565b6040518060a0016040528060059060208202803683378082019150509050509056fe596f752073686f756c642062652072656769737465726564206c657373207468616e203720646179732061676f546f6b656e20636f6e747261637420616c726561647920636f6e6669677572656450726f76696465642061646472657373206973206e6f74206120746f6b656e20636f6e747261637420616464726573735573657220616c7265616479207265676973746572656420666f7220626f6e7573536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774e6f7420656e6f75676820746f6b656e73206f6e20746865207374616b652062616c616e636550726f76696465642061646472657373206973206e6f74206120666c697020746f6b656e20636f6e74726163742061646472657373526566657272657220616464726573732073686f756c642062652072656769737465726564a2646970667358221220a116a19b255da1b6cdcaa68ec131384525f62049dd8b547f45e300db6301133464736f6c634300070600335573657220616c7265616479207265676973746572656420666f7220626f6e7573536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77

Deployed ByteCode Sourcemap

11454:19933:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15724:1;15711:9;:14;15707:186;;;15783:1;15746:7;:19;15754:10;15746:19;;;;;;;;;;;;;;;:34;;;:38;15742:88;;;15805:9;:7;:9::i;:::-;15742:88;15707:186;;;15862:19;15878:1;15862:7;:19::i;:::-;15707:186;11454:19933;;;;;22866:656;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12085:38;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;22479:379;;;;;;;;;;;;;:::i;:::-;;14527:30;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;29233:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12353:118;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12478:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;14446:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13015:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15908:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13841:30;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12698:157;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;30107:820;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;18296:545;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9994:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;14119:42;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12303:43;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13555:49;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;14258:36;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12255:41;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;21358:1113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12862:146;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;14566:94;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;24170:135;;;;;;;;;;;;;:::i;:::-;;27652:564;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;14072:38;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;23993:169;;;;;;;;;;;;;:::i;:::-;;8679:44;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;28224:187;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;20607:743;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;14212:39;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;11075:96;;;;;;;;;;;;;:::i;:::-;;12130:56;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13809:25;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8958:26;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13390:42;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16040:420;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;14170:35;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;9742:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;14493:25;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;27501:41;;;;;;;;;;;;;:::i;:::-;;7910:87;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;29485:614;;;;;;;;;;;;;:::i;:::-;;13218:46;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;27550:86;;;:::i;:::-;;16468:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9268:466;;;;;;;;;;;;;:::i;:::-;;12193:55;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13439:51;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;28419:806;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;13271:48;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13102:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13948:30;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13741:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13497:51;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;23530:455;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13673:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;19657:942;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;13326:57;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;14667:53;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9874:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8621:51;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13611:55;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;14022:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10937:27;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;18849:800;;;;;;;;;;;;;:::i;:::-;;13985:30;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11179:122;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;16831:1457;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13878:27;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12602:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;30935:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13912:29;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;18849:800;9139:24;:22;:24::i;:::-;18906:21:::1;18930:7;:19;18938:10;18930:19;;;;;;;;;;;;;;;18906:43;;18992:1;18968:6;:21;;;:25;18960:56;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;19063:1;19033:27;19049:10;19033:15;:27::i;:::-;:31;19029:79;;;19081:15;:13;:15::i;:::-;19029:79;19121:20;19143:18:::0;19165:26:::1;19180:10;19165:14;:26::i;:::-;19120:71;;;;19237:10;19207:151;;;19262:37;19279:6;:19;;;19262:12;:16;;:37;;;;:::i;:::-;19314:33;19329:6;:17;;;19314:10;:14;;:33;;;;:::i;:::-;19207:151;;;;;;;;;;;;;;;;;;;;;;;;19376:6;:23;;;;;;;;;;;;19375:24;:67;;;;;19427:15;19403:6;:21;;;:39;19375:67;19371:130;;;19485:4;19459:6;:23;;;:30;;;;;;;;;;;;;;;;;;19371:130;19535:12;19513:6;:19;;:34;;;;19578:10;19558:6;:17;;:30;;;;19626:15;19599:6;:24;;:42;;;;9174:1;;;18849:800::o:0;16831:1457::-;9139:24;:22;:24::i;:::-;16946:1:::1;16915:7;:12;16923:3;16915:12;;;;;;;;;;;;;;;:27;;;:32;;16907:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17002:21;17026:7;:19;17034:10;17026:19;;;;;;;;;;;;;;;17002:43;;17056:18;17077:27;17088:10;17100:3;17077:10;:27::i;:::-;17056:48;;17169:1;17145:6;:21;;;:25;17125:45;;17139:1;17126:9;:14;17125:45;;;;17117:81;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;17250:1;17225:6;:21;;;:26;17221:92;;;17268:33;17278:10;17290;17268:9;:33::i;:::-;17221:92;17325:9;:7;:9::i;:::-;17357:11;17371:28;13258:6;17371:9;:13;;:28;;;;:::i;:::-;17357:42;;17430:26;17452:3;17430:6;:17;;;:21;;:26;;;;:::i;:::-;17410:6;:17;;:46;;;;17491:36;17517:9;17491:6;:21;;;:25;;:36;;;;:::i;:::-;17467:6;:21;;:60;;;;17555:29;17574:9;17555:14;;:18;;:29;;;;:::i;:::-;17538:14;:46;;;;17611:22;17629:3;17611:6;:13;;;:17;;:22;;;;:::i;:::-;17595:6;:13;;:38;;;;17659:10;17649:32;;;17671:9;17649:32;;;;;;;;;;;;;;;;;;17706:55;17722:10;17734:3;17739:9;17750:10;17706:15;:55::i;:::-;17774:31;17794:10;17774:19;:31::i;:::-;17818:23;17844:7;:16;17852:7;:5;:7::i;:::-;17844:16;;;;;;;;;;;;;;;:32;;;17818:58;;17900:64;17909:10;;17921:42;17947:15;17921:21;:25;;:42;;;;:::i;:::-;17900:8;:64::i;:::-;17887:10;:77;;;;17993:57;18046:3;17993:48;13603:1;18013:3;:27;17993:15;;:19;;:48;;;;:::i;:::-;:52;;:57;;;;:::i;:::-;17979:10;;:71;17975:128;;18086:5;18065:18;;:26;;;;;;;;;;;;;;;;;;17975:128;18129:40;18148:20;;;;;;;;;;;18129:18;:40::i;:::-;18125:156;;;18199:20;;;;;;;;;;;18184:41;;;18226:10;18238:30;18252:15;;18238:9;:13;;:30;;;;:::i;:::-;18184:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;18125:156;9174:1;;;;16831:1457:::0;:::o;22866:656::-;22916:7;22936:21;22960:7;:13;22968:4;22960:13;;;;;;;;;;;;;;;22936:37;;23013:1;22988:6;:21;;;:26;22984:67;;;23038:1;23031:8;;;;;22984:67;23063:13;23096:6;23105:1;23096:10;;23091:189;12122:1;23108;:14;23091:189;;;23152:116;23180:73;23249:3;23180:64;23219:21;23241:1;23219:24;;;;;;;;;23180:34;23199:11;23211:1;23199:14;;;;;;;;;23180:6;:11;;23192:1;23180:14;;;;;;;;;:18;;:34;;;;:::i;:::-;:38;;:64;;;;:::i;:::-;:68;;:73;;;;:::i;:::-;23152:5;:9;;:116;;;;:::i;:::-;23144:124;;23124:3;;;;;;;23091:189;;;;23299:215;23415:6;:23;;;;;;;;;;;;:67;;;;23467:15;23442:6;:21;;;:40;23415:67;:98;;13377:6;23415:98;;;23485:1;23415:98;23299:97;23388:7;23299:70;23323:45;23343:6;:24;;;23323:15;:19;;:45;;;;:::i;:::-;23299:5;:23;;:70;;;;:::i;:::-;:88;;:97;;;;:::i;:::-;:115;;:215;;;;:::i;:::-;23292:222;;;;22866:656;;;;:::o;12085:38::-;12122:1;12085:38;:::o;22479:379::-;9139:24;:22;:24::i;:::-;22547:21:::1;22571:7;:19;22579:10;22571:19;;;;;;;;;;;;;;;22547:43;;22603:9;:7;:9::i;:::-;22673:1;12345;22655:19;22633:6;:19;;;:41;22625:50;;;::::0;::::1;;22686:69;22704:10;22716:13;22752:1;22730:6;:19;;;:23;22716:38;;;;;;;;;22686:17;:69::i;:::-;22766:6;:19;;;:21;;;;;;;;;;;;;22830:6;:19;;;22818:10;22803:47;;;;;;;;;;;;9174:1;22479:379::o:0;14527:30::-;;;;:::o;29233:244::-;29300:7;29325:144;14155:6;29325:119;29392:51;29412:6;:19;29419:11;29412:19;;;;;;;;;;;;;;;:30;;;29392:15;:19;;:51;;;;:::i;:::-;29325:52;29366:10;;29325:6;:19;29332:11;29325:19;;;;;;;;;;;;;;;:26;;;:40;;:52;;;;:::i;:::-;:66;;:119;;;;:::i;:::-;:133;;:144;;;;:::i;:::-;29318:151;;29233:244;;;:::o;12353:118::-;;;;;;;;;;;;;;;;;;;;:::o;12478:117::-;;;;;;;;;;;;;;;;;;;;:::o;14446:40::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;13015:80::-;;;;;;;;;;;;;;;;;;;;:::o;15908:124::-;15961:26;;:::i;:::-;16007:7;:12;16015:3;16007:12;;;;;;;;;;;;;;;:17;;16000:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15908:124;;;:::o;13841:30::-;;;;:::o;12698:157::-;;;;;;;;;;;;;;;;;;;;:::o;30107:820::-;30177:1;30167:7;:11;30159:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30238:6;:18;30245:10;30238:18;;;;;;;;;;;;;;;:25;;;30227:7;:36;;30219:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30323:44;30342:24;;;;;;;;;;;30323:18;:44::i;:::-;30315:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30436:14;30453:27;30469:10;30453:15;:27::i;:::-;30436:44;;30502:1;30493:6;:10;30489:124;;;30555:48;30596:6;30555;:18;30562:10;30555:18;;;;;;;;;;;;;;;:36;;;:40;;:48;;;;:::i;:::-;30516:6;:18;30523:10;30516:18;;;;;;;;;;;;;;;:36;;:87;;;;30489:124;30651:38;30681:7;30651:6;:18;30658:10;30651:18;;;;;;;;;;;;;;;:25;;;:29;;:38;;;;:::i;:::-;30623:6;:18;30630:10;30623:18;;;;;;;;;;;;;;;:25;;:66;;;;30730:15;30698:6;:18;30705:10;30698:18;;;;;;;;;;;;;;;:29;;:47;;;;30769:23;30784:7;30769:10;;:14;;:23;;;;:::i;:::-;30756:10;:36;;;;30818:24;;;;;;;;;;;30811:41;;;30853:10;30865:7;30811:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30803:71;;;;;;30899:10;30890:29;;;30911:7;30890:29;;;;;;;;;;;;;;;;;;30107:820;;:::o;18296:545::-;18348:21;18372:7;:19;18380:10;18372:19;;;;;;;;;;;;;;;18348:43;;18404:9;:7;:9::i;:::-;18426:13;18442:25;13258:6;18442;:10;;:25;;;;:::i;:::-;18426:41;;18494:1;18486:5;:9;18478:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18561:31;18585:6;18561;:19;;;:23;;:31;;;;:::i;:::-;18539:6;:19;;:53;;;;18628:33;18655:5;18628:6;:22;;;:26;;:33;;;;:::i;:::-;18603:6;:22;;:58;;;;18690:26;18710:5;18690:15;;:19;;:26;;;;:::i;:::-;18672:15;:44;;;;18727:10;:19;;:26;18747:5;18727:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18780:10;18769:29;;;18792:5;18769:29;;;;;;;;;;;;;;;;;;18811:22;:20;:22::i;:::-;;18296:545;;;:::o;9994:169::-;10053:7;10080:5;:20;;:26;10101:4;10080:26;;;;;;;;;;;;;;;;;;;;;;;;;:75;;10154:1;10080:75;;;10109:42;10130:5;:14;;:20;10145:4;10130:20;;;;;;;;;;;;;;;;10109:5;:16;;;:20;;:42;;;;:::i;:::-;10080:75;10073:82;;9994:169;;;:::o;14119:42::-;14155:6;14119:42;:::o;12303:43::-;12345:1;12303:43;:::o;13555:49::-;13603:1;13555:49;:::o;14258:36::-;;;;:::o;12255:41::-;12294:2;12255:41;:::o;21358:1113::-;9139:24;:22;:24::i;:::-;21449:21:::1;21473:7;:19;21481:10;21473:19;;;;;;;;;;;;;;;21449:43;;21521:1;21509:9;:13;21505:65;;;21539:19;21555:1;21539:7;:19::i;:::-;21505:65;21582:9;:7;:9::i;:::-;21618:1;21612:3;:7;:27;;;;;12122:1;21623:3;:16;21612:27;21604:71;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;12185:1;12122;12172:14;21690:3;:22;21686:359;;;21737:22;:20;:22::i;:::-;21729:63;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;13660:6;21815:42;21835:6;:21;;;21815:15;:19;;:42;;;;:::i;:::-;:67;21807:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21686:359;;;21980:6;:18;;;21973:3;:25;;21965:68;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;21686:359;13317:2;22065:27;22086:5;22065:6;:11;;22077:3;22065:16;;;;;;;;;:20;;:27;;;;:::i;:::-;:50;;22057:59;;;::::0;::::1;;22146:27;22167:5;22146:6;:11;;22158:3;22146:16;;;;;;;;;:20;;:27;;;;:::i;:::-;22127:6;:11;;22139:3;22127:16;;;;;;;;:46;;;;22202:26;22222:5;22202:15;;:19;;:26;;;;:::i;:::-;22184:15;:44;;;;22239:18;22260:60;22280:10;22292:27;22313:5;22292:11;22304:3;22292:16;;;;;;;;;:20;;:27;;;;:::i;:::-;22260:19;:60::i;:::-;22239:81;;22333:78;22349:10;22361;22373:1;22376:34;22387:10;22407:1;22376:10;:34::i;:::-;22333:15;:78::i;:::-;22440:10;22429:34;;;22452:3;22457:5;22429:34;;;;;;;;;;;;;;;;;;;;;;;;9174:1;;21358:1113:::0;;:::o;12862:146::-;;;;;;;;;;;;;;;;;;;;:::o;14566:94::-;14618:42;14566:94;:::o;24170:135::-;24234:22;:20;:22::i;:::-;24267:30;24277:7;:5;:7::i;:::-;24294:1;24267:9;:30::i;:::-;24170:135::o;27652:564::-;8062:12;:10;:12::i;:::-;8051:23;;:7;:5;:7::i;:::-;:23;;;8043:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27819:3:::1;27787:36;;:20;;;;;;;;;;;:36;;;27779:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27878:41;27897:21;27878:18;:41::i;:::-;27870:102;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27989:45;28008:25;27989:18;:45::i;:::-;27981:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28126:21;28103:20;;:44;;;;;;;;;;;;;;;;;;28183:25;28156:24;;:52;;;;;;;;;;;;;;;;;;27652:564:::0;;:::o;14072:38::-;;;;;;;;;;;;;:::o;23993:169::-;24074:48;24094:27;24110:10;24094:15;:27::i;:::-;24074:15;;:19;;:48;;;;:::i;:::-;24056:15;:66;;;;24133:21;:19;:21::i;:::-;23993:169::o;8679:44::-;8716:7;8679:44;:::o;28224:187::-;8062:12;:10;:12::i;:::-;8051:23;;:7;:5;:7::i;:::-;:23;;;8043:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28317:1:::1;28304:10;:14;:34;;;;;28336:2;28322:10;:16;;28304:34;28296:73;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;28393:10;28380;:23;;;;28224:187:::0;:::o;20607:743::-;9139:24;:22;:24::i;:::-;20682:21:::1;20706:7;:19;20714:10;20706:19;;;;;;;;;;;;;;;20682:43;;20754:1;20742:9;:13;20738:65;;;20772:19;20788:1;20772:7;:19::i;:::-;20738:65;20815:9;:7;:9::i;:::-;12185:1;12122;12172:14;20845:3;:21;20837:58;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;13317:2;20915:6;:11;;20933:1;20927:3;:7;20915:20;;;;;;;;;:43;20907:81;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;21035:1;21014:6;:18;;;:22;21007:3;:29;20999:73;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;12247:1;12122;12234:14;21089:3;:21;21085:81;;;21152:1;21135:6;:13;;;:18;;21127:27;;;::::0;::::1;;21085:81;21176:56;21196:10;21208:18;21227:3;21208:23;;;;;;;;;21176:19;:56::i;:::-;;21264:3;21243:6;:18;;:24;;;;21297:1;21278:6;:11;;21290:3;21278:16;;;;;;;;:20;;;;21326:10;21314:28;;;21338:3;21314:28;;;;;;;;;;;;;;;;;;9174:1;20607:743:::0;:::o;14212:39::-;;;;;;;;;;;;;:::o;11075:96::-;8062:12;:10;:12::i;:::-;8051:23;;:7;:5;:7::i;:::-;:23;;;8043:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11155:8:::1;::::0;::::1;12130:56:::0;12185:1;12122;12172:14;12130:56;:::o;13809:25::-;;;;:::o;8958:26::-;;;;;;;;;;;;;;;;;;;:::o;13390:42::-;13430:2;13390:42;:::o;16040:420::-;16087:4;16131:54;16181:3;16131:45;13547:1;16146:3;:29;16131:10;;:14;;:45;;;;:::i;:::-;:49;;:54;;;;:::i;:::-;16106:21;:79;16102:170;;16219:4;16198:18;;:25;;;;;;;;;;;;;;;;;;16252:10;;16234:15;:28;;;;16102:170;16311:57;16364:3;16311:48;13603:1;16331:3;:27;16311:15;;:19;;:48;;;;:::i;:::-;:52;;:57;;;;:::i;:::-;16286:21;:82;16282:135;;16402:5;16381:18;;:26;;;;;;;;;;;;;;;;;;16282:135;16434:18;;;;;;;;;;;16427:25;;16040:420;:::o;14170:35::-;;;;;;;;;;;;;:::o;9742:124::-;9808:4;9832:5;:20;;:26;9853:4;9832:26;;;;;;;;;;;;;;;;;;;;;;;;;9825:33;;9742:124;;;:::o;14493:25::-;;;;:::o;27501:41::-;:::o;7910:87::-;7956:7;7983:6;;;;;;;;;;;7976:13;;7910:87;:::o;29485:614::-;29535:14;29552:79;29603:27;29619:10;29603:15;:27::i;:::-;29552:6;:18;29559:10;29552:18;;;;;;;;;;;;;;;:36;;;:50;;:79;;;;:::i;:::-;29535:96;;29655:1;29646:6;:10;29642:450;;;29683:40;29702:20;;;;;;;;;;;29683:18;:40::i;:::-;29679:404;;;29770:15;29738:6;:18;29745:10;29738:18;;;;;;;;;;;;;;;:29;;:47;;;;29837:1;29798:6;:18;29805:10;29798:18;;;;;;;;;;;;;;;:36;;:40;;;;29888:46;29927:6;29888;:18;29895:10;29888:18;;;;;;;;;;;;;;;:34;;;:38;;:46;;;;:::i;:::-;29851:6;:18;29858:10;29851:18;;;;;;;;;;;;;;;:34;;:83;;;;29964:20;;;;;;;;;;;29949:41;;;29991:10;30003:6;29949:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30052:10;30030:41;;;30064:6;30030:41;;;;;;;;;;;;;;;;;;29679:404;29642:450;29485:614;:::o;13218:46::-;13258:6;13218:46;:::o;27550:86::-;27598:10;:19;;:30;27618:9;27598:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27550:86::o;16468:120::-;16521:16;16557:7;:13;16565:4;16557:13;;;;;;;;;;;;;;;:23;;16550:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16468:120;;;:::o;9268:466::-;9320:407;9349:1;9327:5;:19;;;:23;:80;;;;;9392:15;9354:34;8716:7;9354:5;:18;;;:22;;:34;;;;:::i;:::-;:53;;9327:80;9320:407;;;9424:14;9441:59;9496:3;9441:50;8671:1;9441:21;:25;;:50;;;;:::i;:::-;:54;;:59;;;;:::i;:::-;9424:76;;9534:53;9555:31;9566:5;:19;;;9555:6;:10;;:31;;;;:::i;:::-;9534:5;:16;;;:20;;:53;;;;:::i;:::-;9515:5;:16;;:72;;;;9623:34;8716:7;9623:5;:18;;;:22;;:34;;;;:::i;:::-;9602:5;:18;;:55;;;;9677:38;9687:5;:19;;;9708:6;9677:38;;;;;;;;;;;;;;;;;;;;;;;;9320:407;;;;9268:466::o;12193:55::-;12247:1;12122;12234:14;12193:55;:::o;13439:51::-;13488:2;13439:51;:::o;28419:806::-;28469:4;28502:1;28492:7;:11;28484:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28552:44;28571:24;;;;;;;;;;;28552:18;:44::i;:::-;28544:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28677:24;;;;;;;;;;;28670:45;;;28716:10;28736:4;28743:7;28670:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28665:121;;28771:5;28764:12;;;;28665:121;28796:14;28813:27;28829:10;28813:15;:27::i;:::-;28796:44;;28862:1;28853:6;:10;28849:124;;;28915:48;28956:6;28915;:18;28922:10;28915:18;;;;;;;;;;;;;;;:36;;;:40;;:48;;;;:::i;:::-;28876:6;:18;28883:10;28876:18;;;;;;;;;;;;;;;:36;;:87;;;;28849:124;29011:38;29041:7;29011:6;:18;29018:10;29011:18;;;;;;;;;;;;;;;:25;;;:29;;:38;;;;:::i;:::-;28983:6;:18;28990:10;28983:18;;;;;;;;;;;;;;;:25;;:66;;;;29090:15;29058:6;:18;29065:10;29058:18;;;;;;;;;;;;;;;:29;;:47;;;;29129:23;29144:7;29129:10;;:14;;:23;;;;:::i;:::-;29116:10;:36;;;;29175:10;29168:27;;;29187:7;29168:27;;;;;;;;;;;;;;;;;;29213:4;29206:11;;;28419:806;;;;:::o;13271:48::-;13317:2;13271:48;:::o;13102:107::-;;;;;;;;;;;;;;;;;;;;:::o;13948:30::-;;;;:::o;13741:59::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;13497:51::-;13547:1;13497:51;:::o;23530:455::-;9139:24;:22;:24::i;:::-;23605:21:::1;23629:7;:13;23637:4;23629:13;;;;;;;;;;;;;;;23605:37;;23655:9;:7;:9::i;:::-;23682:6;23691;:13;;;23682:22;;23677:301;12294:2;23706:1;:16;23677:301;;;23765:13;23779:1;23765:16;;;;;;;;;23748:6;:13;;;:33;23744:223;;23822:40;23844:14;23859:1;23844:17;;;;;;;;;23822:6;:17;;;:21;;:40;;;;:::i;:::-;23802:6;:17;;:60;;;;23901:1;23897;:5;23881:6;:13;;:21;;;;23949:1;23945;:5;23939:4;23926:25;;;;;;;;;;;;23744:223;23724:3;;;;;;;23677:301;;;;9174:1;23530:455:::0;:::o;13673:61::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;19657:942::-;19759:20;19794:18;19840:21;19864:7;:16;19872:7;19864:16;;;;;;;;;;;;;;;19840:40;;19920:1;19895:6;:21;;;:26;19891:72;;;19946:1;19949;19938:13;;;;;;;19891:72;19990:6;:19;;;19975:34;;20033:6;:17;;;20020:30;;20063:17;20083:15;20090:7;20083:6;:15::i;:::-;20063:35;;20114:6;:23;;;;;;;;;;;;20113:24;:67;;;;;20165:15;20141:6;:21;;;:39;20113:67;20109:219;;;20209:39;13377:6;20209:9;:13;;:39;;;;:::i;:::-;20197:51;;20276:40;13377:6;20276:10;:14;;:40;;;;:::i;:::-;20263:53;;20109:219;20340:19;20362:66;20424:3;20362:57;20376:21;20398:6;:19;;;20376:42;;;;;;;;;20362:9;:13;;:57;;;;:::i;:::-;:61;;:66;;;;:::i;:::-;20340:88;;20439:17;20459:26;20473:11;20459:9;:13;;:26;;;;:::i;:::-;20439:46;;20513:29;20530:11;20513:12;:16;;:29;;;;:::i;:::-;20498:44;;20566:25;20581:9;20566:10;:14;;:25;;;;:::i;:::-;20553:38;;19657:942;;;;;;;;:::o;13326:57::-;13377:6;13326:57;:::o;14667:53::-;14719:1;14667:53;:::o;9874:112::-;9931:7;9958:5;:14;;:20;9973:4;9958:20;;;;;;;;;;;;;;;;9951:27;;9874:112;;;:::o;8621:51::-;8671:1;8621:51;:::o;13611:55::-;13660:6;13611:55;:::o;14022:41::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;10937:27::-;;;;;;;;;;;;;:::o;13985:30::-;;;;:::o;11179:122::-;8062:12;:10;:12::i;:::-;8051:23;;:7;:5;:7::i;:::-;:23;;;8043:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11285:8:::1;11270:12;;:23;;;;;;;;;;;;;;;;;;11179:122:::0;:::o;13878:27::-;;;;:::o;12602:89::-;;;;;;;;;;;;;;;;;;;;:::o;30935:447::-;31007:35;;:::i;:::-;31076:28;31092:11;31076:15;:28::i;:::-;31053:17;31071:1;31053:20;;;;;;;;;;:51;;;;;31136:6;:19;31143:11;31136:19;;;;;;;;;;;;;;;:37;;;31113:17;31131:1;31113:20;;;;;;;;;;:60;;;;;31205:6;:19;31212:11;31205:19;;;;;;;;;;;;;;;:35;;;31182:17;31200:1;31182:20;;;;;;;;;;:58;;;;;31272:6;:19;31279:11;31272:19;;;;;;;;;;;;;;;:26;;;31249:17;31267:1;31249:20;;;;;;;;;;:49;;;;;31331:42;31362:10;;31331:6;:19;31338:11;31331:19;;;;;;;;;;;;;;;:26;;;:30;;:42;;;;:::i;:::-;31308:17;31326:1;31308:20;;;;;;;;;;:65;;;;;30935:447;;;:::o;13912:29::-;;;;:::o;1480:179::-;1538:7;1558:9;1574:1;1570;:5;1558:17;;1599:1;1594;:6;;1586:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1650:1;1643:8;;;1480:179;;;;:::o;1845:220::-;1903:7;1932:1;1927;:6;1923:20;;;1942:1;1935:8;;;;1923:20;1954:9;1970:1;1966;:5;1954:17;;1999:1;1994;1990;:5;;;;;;:10;1982:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2056:1;2049:8;;;1845:220;;;;;:::o;2079:153::-;2137:7;2169:1;2165;:5;2157:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2223:1;2219;:5;;;;;;2212:12;;2079:153;;;;:::o;1673:158::-;1731:7;1764:1;1759;:6;;1751:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1822:1;1818;:5;1811:12;;1673:158;;;;:::o;16596:227::-;16665:7;16721:1;16689:7;:13;16697:4;16689:13;;;;;;;;;;;;;;;:28;;;:33;:48;;;;;16733:4;16726:11;;:3;:11;;;;16689:48;16685:91;;;16761:3;16754:10;;;;16685:91;16793:7;:13;16801:4;16793:13;;;;;;;;;;;;;;;:22;;;;;;;;;;;;16786:29;;16596:227;;;;;:::o;25460:797::-;25533:21;25557:7;:13;25565:4;25557:13;;;;;;;;;;;;;;;25533:37;;25607:15;25583:6;:21;;:39;;;;13317:2;25633:6;:11;;25645:1;25633:14;;;;;;;;:36;;;;25701:1;25680:6;:18;;:22;;;;25740:15;25713:6;:24;;:42;;;;25784:40;13317:2;25784:15;;:19;;:40;;;;:::i;:::-;25766:15;:58;;;;25835:12;;:14;;;;;;;;;;;;;25888:1;25866:24;;:10;:24;;;25862:344;;25925:10;25907:6;:15;;;:28;;;;;;;;;;;;;;;;;;25950:7;:19;25958:10;25950:19;;;;;;;;;;;;;;;:29;;25985:4;25950:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26051:1;26011:42;;:7;:19;26019:10;26011:19;;;;;;;;;;;;;;;:28;;;;;;;;;;;;:42;;;26007:140;;26074:7;:37;26082:7;:19;26090:10;26082:19;;;;;;;;;;;;;;;:28;;;;;;;;;;;;26074:37;;;;;;;;;;;;;;;:55;;;:57;;;;;;;;;;;;;26007:140;26163:31;26183:10;26163:19;:31::i;:::-;25862:344;26238:10;26221:28;;26232:4;26221:28;;;;;;;;;;;;25460:797;;;:::o;24313:1139::-;24450:7;:5;:7::i;:::-;24434:34;;:77;13258:6;24491:3;13430:2;24469:3;:19;:25;;;;;;:41;;;;;;24434:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14618:42;24534:26;;:81;13258:6;24595:3;14719:1;24561:3;:31;:37;;;;;;:53;;;;;;24534:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24664:1;24642:24;;:10;:24;;;24638:807;;24683:23;24709:7;:19;24717:10;24709:19;;;;;;;;;;;;;;;24683:45;;24778:47;24815:9;24778:8;:32;;;:36;;:47;;;;:::i;:::-;24743:8;:32;;:82;;;;24840:31;24860:10;24840:19;:31::i;:::-;24902:10;24915;24902:23;;24945:6;24940:494;24971:1;24957:16;;:2;:16;;;;:57;;;;;24981:26;:33;;;;24977:1;:37;24957:57;24940:494;;;25040:14;25057:47;25100:3;25057:38;25065:26;25092:1;25065:29;;;;;;;;;;;;;;;;25057:3;:7;;:38;;;;:::i;:::-;:42;;:47;;;;:::i;:::-;25040:64;;25150:36;25179:6;25150:7;:11;25158:2;25150:11;;;;;;;;;;;;;;;:24;;;:28;;:36;;;;:::i;:::-;25123:7;:11;25131:2;25123:11;;;;;;;;;;;;;;;:24;;:63;;;;25226:67;25249:43;25288:3;25249:34;25257:22;25280:1;25257:25;;;;;;;;;;;;;;;;25249:3;:7;;:34;;;;:::i;:::-;:38;;:43;;;;:::i;:::-;25226:7;:11;25234:2;25226:11;;;;;;;;;;;;;;;:18;;;:22;;:67;;;;:::i;:::-;25205:7;:11;25213:2;25205:11;;;;;;;;;;;;;;;:18;;:88;;;;25344:1;25340;:5;25336:2;25317:37;;25330:4;25317:37;;;25347:6;25317:37;;;;;;;;;;;;;;;;;;25398:7;:11;25406:2;25398:11;;;;;;;;;;;;;;;:20;;;;;;;;;;;;25393:25;;24940:494;25016:3;;;;;;;24940:494;;;;24638:807;;;24313:1139;;;;:::o;27068:425::-;27151:1;27135:18;;:4;:18;;;;:49;;;;;27158:5;:20;;:26;27179:4;27158:26;;;;;;;;;;;;;;;;;;;;;;;;;27157:27;27135:49;27131:355;;;27201:21;27225:7;:13;27233:4;27225:13;;;;;;;;;;;;;;;27201:37;;27284:7;27259:6;:21;;;:32;;:82;;;;;27339:2;27312:6;:16;;:23;;;;:29;;27259:82;:145;;;;;27396:8;27362:6;:30;;;:42;;27259:145;27255:220;;;27438:21;27454:4;27438:15;:21::i;:::-;27255:220;27131:355;;27068:425;:::o;90:107::-;148:7;180:1;175;:6;;:14;;188:1;175:14;;;184:1;175:14;168:21;;90:107;;;;:::o;2971:216::-;3031:4;3080:12;3144:7;3132:20;3124:28;;3178:1;3171:4;:8;3164:15;;;2971:216;;;:::o;26265:186::-;26342:21;26366:7;:13;26374:4;26366:13;;;;;;;;;;;;;;;26342:37;;26412:31;26436:6;26412;:19;;;:23;;:31;;;;:::i;:::-;26390:6;:19;;:53;;;;26265:186;;;:::o;26647:413::-;26723:7;26743:21;26767:7;:13;26775:4;26767:13;;;;;;;;;;;;;;;26743:37;;26793:11;26807:35;26816:6;26824;:17;;;26807:8;:35::i;:::-;26793:49;;26853:13;26869:58;26923:3;26869:49;13488:2;26889:3;:28;26869:15;26880:3;26869:6;:10;;:15;;;;:::i;:::-;:19;;:49;;;;:::i;:::-;:53;;:58;;;;:::i;:::-;26853:74;;26960:26;26982:3;26960:6;:17;;;:21;;:26;;;;:::i;:::-;26940:6;:17;;:46;;;;26997:30;27015:4;27021:5;26997:17;:30::i;:::-;27047:5;27040:12;;;;;26647:413;;;;:::o;11309:138::-;11034:12;;;;;;;;;;;11020:26;;:10;:26;;;11012:35;;;;;;11378:31:::1;11396:12;;;;;;;;;;;11378:17;:31::i;:::-;11427:12;;11420:19;;;;;;;;;;;11309:138::o:0;7324:106::-;7377:15;7412:10;7405:17;;7324:106;:::o;10171:359::-;9139:24;:22;:24::i;:::-;10250:5:::1;:20;;:32;10271:10;10250:32;;;;;;;;;;;;;;;;;;;;;;;;;10242:74;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;10329:14;10346:60;10355:21;10378:27;10394:10;10378:15;:27::i;:::-;10346:8;:60::i;:::-;10329:77;;10446:38;10477:6;10446:5;:14;;:26;10461:10;10446:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;10417:5;:14;;:26;10432:10;10417:26;;;;;;;;;;;;;;;:67;;;;10495:10;:19;;:27;10515:6;10495:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;9174:1;10171:359::o:0;10538:353::-;9139:24;:22;:24::i;:::-;10626:5:::1;:20;;:26;10647:4;10626:26;;;;;;;;;;;;;;;;;;;;;;;;;10625:27;10617:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10732:4;10703:5;:20;;:26;10724:4;10703:26;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;10770:5;:16;;;10747:5;:14;;:20;10762:4;10747:20;;;;;;;;;;;;;;;:39;;;;10819:26;10843:1;10819:5;:19:::0;::::1;;:23;;:26;;;;:::i;:::-;10797:5;:19:::0;::::1;:48;;;;10878:4;10861:22;;;;;;;;;;;;10538:353:::0;:::o;211:106::-;269:7;300:1;296;:5;:13;;308:1;296:13;;;304:1;296:13;289:20;;211:106;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o

Swarm Source

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