Contract 0x7518F35BE196Bdd61EF84D97545A7d12CC15C8d2 2

 

Contract Overview

Balance:
0 BNB

BNB Value:
$0.00

Token:
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x7278426a0dd73c31336836309eea78789f70562753ba6e5423154392ac7e1cf1Change Round Len...81788362021-06-10 15:17:24128 days 2 hrs ago0xcbde443999fd8d482390b1d5ff67ec691bbd278b IN  0x7518f35be196bdd61ef84d97545a7d12cc15c8d20 BNB0.00021019
0x8da03e42846b5101b88c4a4881833c1bdc54402ae6a958165bb856cd5c44cd3eInit81788352021-06-10 15:17:21128 days 2 hrs ago0xcbde443999fd8d482390b1d5ff67ec691bbd278b IN  0x7518f35be196bdd61ef84d97545a7d12cc15c8d20 BNB0.000436285
0xf828cfacd64ba20dcb2f43e3e4de60c82966070946da9a0ae8c7ee2f65beaf25Change Round Len...81786032021-06-10 15:05:26128 days 2 hrs ago0xcbde443999fd8d482390b1d5ff67ec691bbd278b IN  0x7518f35be196bdd61ef84d97545a7d12cc15c8d20 BNB0.00021019
0x4b32921d357f1d2d1c0b1fbdba147e0e25cdd6747fe234636e082ef2cd33589fInit81786032021-06-10 15:05:26128 days 2 hrs ago0xcbde443999fd8d482390b1d5ff67ec691bbd278b IN  0x7518f35be196bdd61ef84d97545a7d12cc15c8d20 BNB0.000436285
0xcdbf368b4322ee6679dbeae6a87c5916a75d816047c2f87d8c022c95d7e8ef3bChange Round Len...81785772021-06-10 15:04:08128 days 2 hrs ago0xcbde443999fd8d482390b1d5ff67ec691bbd278b IN  0x7518f35be196bdd61ef84d97545a7d12cc15c8d20 BNB0.00021019
0x48a21e5bc5f14e73a58aae73fcec5fd0af13bd86d0ebd3f39efc6266c3c878acInit81785772021-06-10 15:04:08128 days 2 hrs ago0xcbde443999fd8d482390b1d5ff67ec691bbd278b IN  0x7518f35be196bdd61ef84d97545a7d12cc15c8d20 BNB0.000436285
0x1267a8977c45a848bda765d77ed031ca28618c5446ded985b9d1a1265a5001a7Change Round Len...81785092021-06-10 15:00:44128 days 2 hrs ago0xcbde443999fd8d482390b1d5ff67ec691bbd278b IN  0x7518f35be196bdd61ef84d97545a7d12cc15c8d20 BNB0.00021013
0x0380412ede60d7d947cf03271e9a690b9fa7ad98402dfe39dd9009c112cdc3c9Init81785082021-06-10 15:00:41128 days 2 hrs ago0xcbde443999fd8d482390b1d5ff67ec691bbd278b IN  0x7518f35be196bdd61ef84d97545a7d12cc15c8d20 BNB0.000436225
0x3e9c8c2139d9e4eeec2ef5d67e2ec4d30a192aea871d1cb10b5331926b893041Change Round Len...81784742021-06-10 14:58:59128 days 2 hrs ago0xcbde443999fd8d482390b1d5ff67ec691bbd278b IN  0x7518f35be196bdd61ef84d97545a7d12cc15c8d20 BNB0.00021019
0x41a8650917decdb1b2f3e9b7919ea400f308899a79cde73d15bc27b0e4d3e14cInit81784732021-06-10 14:58:56128 days 2 hrs ago0xcbde443999fd8d482390b1d5ff67ec691bbd278b IN  0x7518f35be196bdd61ef84d97545a7d12cc15c8d20 BNB0.000436285
0xf47c0b2acb96146ab43202cf6d3e98a5cdc3c0c59211e26522b51862e61680ffChange Round Len...81784562021-06-10 14:58:05128 days 2 hrs ago0xcbde443999fd8d482390b1d5ff67ec691bbd278b IN  0x7518f35be196bdd61ef84d97545a7d12cc15c8d20 BNB0.00021019
0x40d0a918d096009fb310523d46361ca34be7d33a1c33ac02b10334db4d0fe3c7Init81784552021-06-10 14:58:02128 days 2 hrs ago0xcbde443999fd8d482390b1d5ff67ec691bbd278b IN  0x7518f35be196bdd61ef84d97545a7d12cc15c8d20 BNB0.000436285
0x15cb608de71a00fff881d8d8b9c1b8a2f4ca2e738abf9b788553e2e841458b50Change Round Len...81784382021-06-10 14:57:11128 days 2 hrs ago0xcbde443999fd8d482390b1d5ff67ec691bbd278b IN  0x7518f35be196bdd61ef84d97545a7d12cc15c8d20 BNB0.00021013
0x40fc400dba8dff65bf3a0ede24445eb173ea933fb2f10618a6d9a28f0f0ce8a8Init81784372021-06-10 14:57:08128 days 2 hrs ago0xcbde443999fd8d482390b1d5ff67ec691bbd278b IN  0x7518f35be196bdd61ef84d97545a7d12cc15c8d20 BNB0.000436225
0xbd4a49772e4b048f59d23336b4c49185439f95b1e83c856d3d72af855bb2ad8aChange Round Len...81784062021-06-10 14:55:35128 days 2 hrs ago0xcbde443999fd8d482390b1d5ff67ec691bbd278b IN  0x7518f35be196bdd61ef84d97545a7d12cc15c8d20 BNB0.00021019
0x7db1450055228d600ca179ce3b2fd8846e1960aa51c8b9b9c666d2fd095e3a4cInit81783962021-06-10 14:55:05128 days 2 hrs ago0xcbde443999fd8d482390b1d5ff67ec691bbd278b IN  0x7518f35be196bdd61ef84d97545a7d12cc15c8d20 BNB0.000436285
0x3e9e49c9dd12e2c868272cd5a0b69fe140cc14b57eb07cf7f644a17270f8f8d1Change Round Len...81783212021-06-10 14:51:20128 days 2 hrs ago0xcbde443999fd8d482390b1d5ff67ec691bbd278b IN  0x7518f35be196bdd61ef84d97545a7d12cc15c8d20 BNB0.00021019
0x36d8380162bd610c876fb05e8dc98c95d5afeb7ecb143b5e22f11a436e78cda2Init81783202021-06-10 14:51:17128 days 2 hrs ago0xcbde443999fd8d482390b1d5ff67ec691bbd278b IN  0x7518f35be196bdd61ef84d97545a7d12cc15c8d20 BNB0.000436285
0xfe63d8b119b70b419bf206d27ec1e537fb8bcbee88826991bba593f912cf35e6Change Round Len...81782992021-06-10 14:50:14128 days 2 hrs ago0xcbde443999fd8d482390b1d5ff67ec691bbd278b IN  0x7518f35be196bdd61ef84d97545a7d12cc15c8d20 BNB0.00021019
0x595004b3a353450352bf015044a2eac913901f4b9ba77903082779b4893a0377Init81782712021-06-10 14:48:50128 days 2 hrs ago0xcbde443999fd8d482390b1d5ff67ec691bbd278b IN  0x7518f35be196bdd61ef84d97545a7d12cc15c8d20 BNB0.000436285
0x920ee338cb7e3641c58c708c1675381a77a6c42252020f39cfb0138e5612dd0b0x6080604081773382021-06-10 14:02:11128 days 3 hrs ago0xcbde443999fd8d482390b1d5ff67ec691bbd278b IN  Contract Creation0 BNB0.016663655
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
FourCorners

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
Yes with 1000000 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at BscScan.com on 2021-06-10
*/

//SPDX-License-Identifier: MIT License
pragma solidity >=0.8.4;
/**
 * Created by thelambodan
 * Contributed by Big Bo
 * Contributed to by 301k
 */
 // 350K gas limit
 //Contracts published
 // 0xdD2375FD07Df26Cd577BBb5B48f9b6282da83bd9 >> v0
 // 0x84950717Fde2d44660fc3a9a59cB9ac42C805f44 >> v0.1 no fees
 // 0x2DD3368E580011f47721d6c0BB433A1283a336A1 >> v0.11 with bnb init fees
 // 0xD50e7e78a9842431Ad8391b1A6998cE056a6A08e >> v0.12 changed random number generation so block.timestamp is read for 1 & 10 minutes
 // 0x10aCEE112f19F31ecaDE91Db03e1FC60956a4a37 >> v0.14 updated random seed
 // 0x7Dfe898396b58B365C66351648113877026DB1A5 >> optimized and ready for testing + front end
 // 0x69aA7B3Fb93775f27BdD41c3DD0F10e74009EacD >> public variables and opimized 1,000,000
 // 0x7037511c408f6EaA8de587375644BD179E715600 >> struct mappings moved to public token address mappings
 // 0x3812467d70782fab7d2ee08f955688cf3d4a2eed >> permanent safu lock room after max rounds
 // 0x522ee4473556146bCf1C0c53983022F6DEEb3810 >> update init variable in room when init function called
 // 0x3bD60242038857940F5a8Cc11529237A66F64599 >> fix for withdrawals deleting stake before token call

contract FourCorners{
    struct Admin{
        bool approved;
        bool bigAdmin; //can change state of other admins to revoke, approve, and upgrade to bigAdmin
    }
    struct Stake{
        //stake stored in linked list for each user an mapped to the round index
        uint256 amount;
        uint8 team;
        uint24 next;
        uint24 prev;
    }
    struct Room{
        bool init;
        bool paused; //admins can stop the game after the current round ends
        bool locked; //game locks after max index uint24 reached
        uint256 roundLength; //seconds in the round can be set by admins
        uint256 roundEnd;   //end of current round
        uint256 fee;
        bool percentageFee; //allows fee to be a % in 0.1 increments. If false, fee is token amount
        address bank; //who receives fees
        uint24 currentRound;  //curret round index
        //uint256 linkBalance; //chainlink balance needed to query random loser from vrf
    }
    mapping(address=>mapping(uint24=>mapping(uint8=>uint256))) public pots; //pots for each round for each team in index 1,2,3,4
    mapping(address=>mapping(uint24=>uint8)) public losers; //losing team for each round
    mapping(address=>mapping(address=>Admin)) public admins; //admins for this token's game room
    mapping(address=>mapping(address=>uint24)) public stakeHeads; //heads of linked list of stake for each user
    mapping(address=>mapping(address=>mapping(uint24=>Stake))) public userStake;
    mapping(address=>Room) public rooms;
    //platform ownership
    address public bigBank=0xcbDe443999FD8D482390b1d5Ff67EC691Bbd278b;//token game room init payment destination
    uint256 public bigFees=500000000000000000;//platform fees
    mapping(address=>bool) public bigAdmins;
    //IBEP20 chainLink;
    /*constructor(){
      chainLink=IBEP20(0x404460C6A5EdE2D891e8297795264fDe62ADBB75);
    }*/
    constructor(){
      bigAdmins[msg.sender]=true;
      bigBank=msg.sender;
    }
    //admin functions
    function changeBigAdmins(address user, bool approved) external{
        //bigAdmins cannot be revoked by anyone but themselves
        require(approved||user==address(msg.sender),"unauthorized");
        bigAdmins[user]=approved;
    }
    function changeBigFees(uint256 fee) external{
        require(bigAdmins[msg.sender],"unauthorized");
        bigFees=fee;
    }
    function changeBigBank(address bank) external{
        require(bigAdmins[msg.sender],"unauthorized");
        bigBank=bank;
    }
    function init(address token)external payable{
        require(rooms[token].init==false,"already init");
        rooms[token].init=true;
        admins[token][msg.sender]=Admin(true,true);
        rooms[token].currentRound=1;
        rooms[token].bank=msg.sender;
        if(bigFees!=0 && bigAdmins[msg.sender]==false){
            require(msg.value>=bigFees,"insufficient bnb");
            payable(bigBank).transfer(bigFees);
            if(msg.value>bigFees){
                payable(msg.sender).transfer(msg.value-bigFees);
            }
        }
    }
    function changeAdmins(address token,address user, bool approved,bool bigAdmin) external{
        //only bigAdmins can modify other user admin status but anyone can reject their own admin status
        //user being modified is not another bigAdmin and msg.sender is big admin or revoking their admin status
        require((user==address(msg.sender)||admins[token][user].bigAdmin==false)&&(admins[token][msg.sender].bigAdmin==true || (user==address(msg.sender)&&approved==false&&bigAdmin==false)),"unauthorized");
        admins[token][user]=Admin(approved,bigAdmin);
    }
    function stopStart(address token) external{
        require(admins[token][msg.sender].approved==true,"unauthorized");
        rooms[token].paused=!rooms[token].paused;
    }
    function changeFee(address token,uint256 fee, bool percentageFee)external{
        require(admins[token][msg.sender].approved==true,"unauthorized");
        if(!percentageFee||fee<1001){
            rooms[token].fee=fee;
            rooms[token].percentageFee=percentageFee;
        }
    }
    function changeRoundLength(address token, uint256 length)external{
        rooms[token].roundLength=length;
    }
    function changeBank(address token, address bank)external{
        //only bigAdmin can change the bank address
        require(admins[token][msg.sender].bigAdmin==true,"unauthorized");
        rooms[token].bank=bank;
    }
    /*function fundRandom(address token, uint256 amount){
      require(rooms[token].init==true,"invalid game room");
      chainLink.transferFrom(msg.sender,amount);
      rooms[token].linkBalance+=amount;
    }*/
    function randomLoser(address token)external{
      require(losers[token][rooms[token].currentRound]==0,"already chosen");
      require(rooms[token].roundEnd<block.timestamp,"round deposits active"); // only choose loser after no more deposits can be made
      //random int within [1:4]
      bytes32 seed1=block.timestamp %10 < 7 ? keccak256(abi.encodePacked(msg.sender)) : bytes32(block.timestamp%2);
      bytes32 seed2=keccak256(abi.encodePacked(block.difficulty));
      bytes32 seed3=keccak256(abi.encodePacked((1+gasleft())*block.timestamp/3333));
      bytes32 seed4=keccak256(abi.encodePacked(blockhash((block.timestamp/11111)%250)));
      uint8 loser=1+uint8(uint256(keccak256(abi.encodePacked(seed1,seed2,seed3,seed4))))%4;
      losers[token][rooms[token].currentRound]=loser;
      //query random number from chainlink vrf
      //rooms[token].linkBalance-=200000000000000000;   //high cost with no payment channel chainlink vrf
      uint256 winnerStake;
      uint256 totalPot;
      for(uint8 i=1;i<5;i++){
          if(i!=loser){
              winnerStake+=pots[token][rooms[token].currentRound][i];
          }
          totalPot+=pots[token][rooms[token].currentRound][i];
      }
      if(rooms[token].currentRound+1<rooms[token].currentRound){
          //no overflow
          rooms[token].locked=true;
      }
      if(winnerStake==0){
        //the bank wins the pot if there are no winners
        //rooms[token].token.transfer(rooms[token].bank,totalPot);
       (bool b,) = token.call(abi.encodeWithSignature("transfer(address,uint256)",rooms[token].bank,totalPot));
       require(b);
      }
    }

    //user functions

    //buy in to current round
    function play(address token, uint256 amount, uint8 team)external{
        require(rooms[token].paused==false&&(rooms[token].locked==false),"token paused/locked");
        require(rooms[token].init==true,"not initialized");
        require(team<5&&team!=0,"invalid team");
        //require(team*(5-team)!=0,"invalid team");
        require(rooms[token].roundEnd>block.timestamp||losers[token][rooms[token].currentRound]!=0,"previous round incomplete");
        if(rooms[token].roundEnd<block.timestamp){
            rooms[token].currentRound++;
            rooms[token].roundEnd=block.timestamp+rooms[token].roundLength;
        }
        //if user hasn't played current round, add it to linked list
        if(userStake[msg.sender][token][rooms[token].currentRound].amount==0){
            //if stake for the round doesn't exists in userStake linked list then add node at head
            if(stakeHeads[msg.sender][token]!=0){
                //if head node exists, update its previous node to the new head
                userStake[msg.sender][token][stakeHeads[msg.sender][token]].prev=rooms[token].currentRound;
                userStake[msg.sender][token][rooms[token].currentRound].next=stakeHeads[msg.sender][token];
            }
            //make newly added node the new head
            stakeHeads[msg.sender][token]=rooms[token].currentRound;
        }
        else if (userStake[msg.sender][token][rooms[token].currentRound].team!=team&&userStake[msg.sender][token][rooms[token].currentRound].team!=0){
            //if changing teams
            pots[token][rooms[token].currentRound][userStake[msg.sender][token][rooms[token].currentRound].team]-=userStake[msg.sender][token][rooms[token].currentRound].amount;
            pots[token][rooms[token].currentRound][team]+=userStake[msg.sender][token][rooms[token].currentRound].amount;
        }
        uint256 realAmount;
        bool b;
        bytes memory data;
        bytes memory balance=abi.encodeWithSignature("balanceOf(address)",address(this));
        //check balance before and after to account for transfer tax
        if(rooms[token].percentageFee){
            //if fee is a % then transfer % to bank
            //rooms[token].token.transferFrom(address(msg.sender),rooms[token].bank,(amount*rooms[token].fee/1000));
            (b,data) = token.call(abi.encodeWithSignature("transferFrom(address,address,uint256)",address(msg.sender),rooms[token].bank,(amount*rooms[token].fee/1000)));
            require(b,"token transfer");
            (b,data) = token.call(balance);
            realAmount = this.bytesToUint(data);
            (b,data) = token.call(abi.encodeWithSignature("transferFrom(address,address,uint256)",address(msg.sender),address(this),amount-(amount*rooms[token].fee/1000)));
        }
        else{
            //else transfer discrete fee
            (b,data) = token.call(abi.encodeWithSignature("transferFrom(address,address,uint256)",address(msg.sender),rooms[token].bank,rooms[token].fee));
            require(b,"token transfer");
            (b,data) = token.call(balance);
            realAmount = this.bytesToUint(data);
            (b,data) = token.call(abi.encodeWithSignature("transferFrom(address,address,uint256)",address(msg.sender),address(this),amount-rooms[token].fee));
        }
        //determine real amount of stake based on difference betweeen contract token balance before and after transfer to pot
        require(b,"token transfer");
        (b,data) = token.call(balance);
        realAmount=this.bytesToUint(data)-realAmount;
        userStake[msg.sender][token][rooms[token].currentRound].amount+=realAmount;
        pots[token][rooms[token].currentRound][team] +=realAmount;
        userStake[msg.sender][token][rooms[token].currentRound].team=team;
    }
    //withdraw winnings
    function withdraw(address token, uint24 round)external{
        require(userStake[msg.sender][token][round].amount!=0,"no round stake");
        require(userStake[msg.sender][token][round].team!=losers[token][round],"lost round");
        require(losers[token][round]!=0,"round unfinished");
        //require(stakesHeads[msg.sender][token]==round||userStake[msg.sender][token][round].prev!=0, "invalid stake");
        if(userStake[msg.sender][token][round].next!=0){
            userStake[msg.sender][token][userStake[msg.sender][token][round].next].prev=userStake[msg.sender][token][round].prev;
        }
        if(userStake[msg.sender][token][round].prev!=0){
            userStake[msg.sender][token][userStake[msg.sender][token][round].prev].next=userStake[msg.sender][token][round].next;
        }
        if(stakeHeads[msg.sender][token]==round){
            stakeHeads[msg.sender][token]=userStake[msg.sender][token][round].next;
        }
        uint256 winnerStake;
        uint256 totalPot;
        for(uint8 i=1;i<5;i++){
            if(i!=losers[token][round]){
                winnerStake+=pots[token][round][i];
            }
            totalPot+=pots[token][round][i];
        }
        uint256 x = userStake[msg.sender][token][round].amount;
        delete userStake[msg.sender][token][round];
        pots[token][round][userStake[msg.sender][token][round].team]-=x;
        (bool b,) = token.call(abi.encodeWithSignature("transfer(address,uint256)",address(msg.sender),(totalPot*x)/winnerStake));
        require(b,"token transfer failed");
    }
    function bytesToUint(bytes memory b) public pure returns (uint256){
        uint256 number;
        for(uint i=0;i<b.length;i++){
            number = number + uint256(uint8(b[i]))*(2**(8*(b.length-(i+1))));
        }
        return number;
    }
    receive()external payable{
      //payable(address(msg.sender)).transfer(msg.value);
      payable(bigBank).transfer(msg.value);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"admins","outputs":[{"internalType":"bool","name":"approved","type":"bool"},{"internalType":"bool","name":"bigAdmin","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bigAdmins","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"bigBank","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"bigFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"b","type":"bytes"}],"name":"bytesToUint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"user","type":"address"},{"internalType":"bool","name":"approved","type":"bool"},{"internalType":"bool","name":"bigAdmin","type":"bool"}],"name":"changeAdmins","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"bank","type":"address"}],"name":"changeBank","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"changeBigAdmins","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"bank","type":"address"}],"name":"changeBigBank","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"fee","type":"uint256"}],"name":"changeBigFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"fee","type":"uint256"},{"internalType":"bool","name":"percentageFee","type":"bool"}],"name":"changeFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"length","type":"uint256"}],"name":"changeRoundLength","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"init","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint24","name":"","type":"uint24"}],"name":"losers","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint8","name":"team","type":"uint8"}],"name":"play","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint24","name":"","type":"uint24"},{"internalType":"uint8","name":"","type":"uint8"}],"name":"pots","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"randomLoser","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"rooms","outputs":[{"internalType":"bool","name":"init","type":"bool"},{"internalType":"bool","name":"paused","type":"bool"},{"internalType":"bool","name":"locked","type":"bool"},{"internalType":"uint256","name":"roundLength","type":"uint256"},{"internalType":"uint256","name":"roundEnd","type":"uint256"},{"internalType":"uint256","name":"fee","type":"uint256"},{"internalType":"bool","name":"percentageFee","type":"bool"},{"internalType":"address","name":"bank","type":"address"},{"internalType":"uint24","name":"currentRound","type":"uint24"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"stakeHeads","outputs":[{"internalType":"uint24","name":"","type":"uint24"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"stopStart","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint24","name":"","type":"uint24"}],"name":"userStake","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint8","name":"team","type":"uint8"},{"internalType":"uint24","name":"next","type":"uint24"},{"internalType":"uint24","name":"prev","type":"uint24"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint24","name":"round","type":"uint24"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600680546001600160a01b03191673cbde443999fd8d482390b1d5ff67ec691bbd278b1790556706f05b59d3b2000060075534801561004257600080fd5b50336000818152600860205260409020805460ff19166001179055600680546001600160a01b0319169091179055613a8b8061007f6000396000f3fe6080604052600436106101795760003560e01c80637fba453d116100cb578063b58e58c01161007f578063db71628d11610059578063db71628d146106a7578063f193a3f7146106c7578063f9ab6fa4146106e757600080fd5b8063b58e58c0146105ec578063b67cac171461062c578063be21739e1461064c57600080fd5b80638897b2fd116100b05780638897b2fd1461052a57806398e5e7071461054a578063a2d34222146105d657600080fd5b80637fba453d146104bd5780637fe3e0d4146104dd57600080fd5b806339d9ce031161012d57806358d562ed1161010757806358d562ed1461045d57806360a8f72b1461047d57806377f882e11461049d57600080fd5b806339d9ce03146103885780634c5517e5146103d95780635237fe871461042057600080fd5b80631d2478fe1161015e5780631d2478fe146102145780631f2482b51461023457806329e815211461028657600080fd5b806302d06d05146101cc57806319ab453c146101ff57600080fd5b366101c75760065460405173ffffffffffffffffffffffffffffffffffffffff909116903480156108fc02916000818181858888f193505050501580156101c4573d6000803e3d6000fd5b50005b600080fd5b3480156101d857600080fd5b506101ec6101e736600461358c565b610707565b6040519081526020015b60405180910390f35b61021261020d36600461338c565b6107b3565b005b34801561022057600080fd5b5061021261022f36600461355a565b610a95565b34801561024057600080fd5b506006546102619073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101f6565b34801561029257600080fd5b506103206102a136600461338c565b6005602052600090815260409020805460018201546002830154600384015460049094015460ff808516956101008087048316966201000090048316959493919282169190810473ffffffffffffffffffffffffffffffffffffffff16907501000000000000000000000000000000000000000000900462ffffff1689565b604080519915158a5297151560208a0152951515968801969096526060870193909352608086019190915260a0850152151560c084015273ffffffffffffffffffffffffffffffffffffffff90911660e083015262ffffff16610100820152610120016101f6565b34801561039457600080fd5b506103c56103a33660046133ad565b600360209081526000928352604080842090915290825290205462ffffff1681565b60405162ffffff90911681526020016101f6565b3480156103e557600080fd5b506102126103f43660046134ff565b73ffffffffffffffffffffffffffffffffffffffff909116600090815260056020526040902060010155565b34801561042c57600080fd5b506101ec61043b3660046134c6565b6000602081815293815260408082208552928152828120909352825290205481565b34801561046957600080fd5b5061021261047836600461349d565b611e13565b34801561048957600080fd5b50610212610498366004613528565b6125c7565b3480156104a957600080fd5b506102126104b8366004613474565b6126d8565b3480156104c957600080fd5b506102126104d836600461338c565b6127b5565b3480156104e957600080fd5b506105186104f836600461349d565b600160209081526000928352604080842090915290825290205460ff1681565b60405160ff90911681526020016101f6565b34801561053657600080fd5b50610212610545366004613654565b6128b0565b34801561055657600080fd5b506105a9610565366004613432565b60046020908152600093845260408085208252928452828420905282529020805460019091015460ff81169062ffffff610100820481169164010000000090041684565b6040805194855260ff909316602085015262ffffff918216928401929092521660608201526080016101f6565b3480156105e257600080fd5b506101ec60075481565b3480156105f857600080fd5b5061061c61060736600461338c565b60086020526000908152604090205460ff1681565b60405190151581526020016101f6565b34801561063857600080fd5b5061021261064736600461338c565b61292e565b34801561065857600080fd5b506106906106673660046133ad565b600260209081526000928352604080842090915290825290205460ff8082169161010090041682565b6040805192151583529015156020830152016101f6565b3480156106b357600080fd5b506102126106c23660046133df565b6129ee565b3480156106d357600080fd5b506102126106e23660046133ad565b612bd2565b3480156106f357600080fd5b5061021261070236600461338c565b612cd6565b60008060005b83518110156107ac57610721816001613718565b845161072d91906138cf565b610738906008613892565b6107439060026137ca565b84828151811061077c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b016020015161078e919060f81c613892565b6107989083613718565b9150806107a481613939565b91505061070d565b5092915050565b73ffffffffffffffffffffffffffffffffffffffff811660009081526005602052604090205460ff1615610848576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f616c726561647920696e6974000000000000000000000000000000000000000060448201526064015b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff81166000818152600560208181526040808420805460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00909116811782558251808401845281815280850191825287875260028552838720338089529086529387209051815492517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00009093169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16176101009215158302179055959094529190526004909101805475010000000000000000000000000000000000000000007fffffffffffffffff0000000000000000000000000000000000000000000000ff90911693909202929092171790556007541580159061099057503360009081526008602052604090205460ff16155b15610a9257600754341015610a01576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f696e73756666696369656e7420626e6200000000000000000000000000000000604482015260640161083f565b60065460075460405173ffffffffffffffffffffffffffffffffffffffff9092169181156108fc0291906000818181858888f19350505050158015610a4a573d6000803e3d6000fd5b50600754341115610a925760075433906108fc90610a6890346138cf565b6040518115909202916000818181858888f19350505050158015610a90573d6000803e3d6000fd5b505b50565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260056020526040902054610100900460ff16158015610afc575073ffffffffffffffffffffffffffffffffffffffff831660009081526005602052604090205462010000900460ff16155b610b62576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f746f6b656e207061757365642f6c6f636b656400000000000000000000000000604482015260640161083f565b73ffffffffffffffffffffffffffffffffffffffff831660009081526005602052604090205460ff161515600114610bf6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f6e6f7420696e697469616c697a65640000000000000000000000000000000000604482015260640161083f565b60058160ff16108015610c0b575060ff811615155b610c71576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f696e76616c6964207465616d0000000000000000000000000000000000000000604482015260640161083f565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260056020526040902060020154421080610d01575073ffffffffffffffffffffffffffffffffffffffff8316600090815260016020908152604080832060058352818420600401547501000000000000000000000000000000000000000000900462ffffff16845290915290205460ff1615155b610d67576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f70726576696f757320726f756e6420696e636f6d706c65746500000000000000604482015260640161083f565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260056020526040902060020154421115610e675773ffffffffffffffffffffffffffffffffffffffff8316600090815260056020526040902060040180547501000000000000000000000000000000000000000000900462ffffff16906015610deb83613916565b825462ffffff9182166101009390930a92830291909202199091161790555073ffffffffffffffffffffffffffffffffffffffff8316600090815260056020526040902060010154610e3d9042613718565b73ffffffffffffffffffffffffffffffffffffffff84166000908152600560205260409020600201555b33600090815260046020818152604080842073ffffffffffffffffffffffffffffffffffffffff88168552825280842060058352818520909301547501000000000000000000000000000000000000000000900462ffffff16845291905290205461108e5733600090815260036020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915290205462ffffff1615610fff5773ffffffffffffffffffffffffffffffffffffffff831660008181526005602090815260408083206004908101805433808752928552838620878752855283862092865260038552838620968652958452828520805462ffffff908116875292909452828520600190810180547fffffffffffffffffffffffffffffffffffffffffffffffffff000000ffffffff1675010000000000000000000000000000000000000000009889900485166401000000000217905593549054959095048116845292200180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000ff1661010093909216929092021790555b73ffffffffffffffffffffffffffffffffffffffff8316600081815260056020908152604080832060040154338452600383528184209484529390915290208054750100000000000000000000000000000000000000000090920462ffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000009092169190911790556112a9565b33600090815260046020818152604080842073ffffffffffffffffffffffffffffffffffffffff88168552825280842060058352818520909301547501000000000000000000000000000000000000000000900462ffffff16845291905290206001015460ff82811691161480159061116c575033600090815260046020818152604080842073ffffffffffffffffffffffffffffffffffffffff88168552825280842060058352818520909301547501000000000000000000000000000000000000000000900462ffffff16845291905290206001015460ff1615155b156112a95733600090815260046020818152604080842073ffffffffffffffffffffffffffffffffffffffff881680865290835281852060058452828620909401547501000000000000000000000000000000000000000000900462ffffff16808652938352818520805491865285845282862094865293835281852060019094015460ff16855292909152822080549192909161120b9084906138cf565b909155505033600090815260046020818152604080842073ffffffffffffffffffffffffffffffffffffffff881680865290835281852060058452828620909401547501000000000000000000000000000000000000000000900462ffffff168086529383528185205490855284835281852093855292825280842060ff8616855290915282208054919290916112a3908490613718565b90915550505b60405130602482015260009081906060908290604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152918152602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f70a082310000000000000000000000000000000000000000000000000000000017905273ffffffffffffffffffffffffffffffffffffffff8a1660009081526005909152206004015490915060ff16156117685773ffffffffffffffffffffffffffffffffffffffff808816600081815260056020526040902060048101546003909101549192339261010090920416906103e8906113b2908b613892565b6113bc9190613755565b60405173ffffffffffffffffffffffffffffffffffffffff93841660248201529290911660448301526064820152608401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd000000000000000000000000000000000000000000000000000000001790525161146e9190613684565b6000604051808303816000865af19150503d80600081146114ab576040519150601f19603f3d011682016040523d82523d6000602084013e6114b0565b606091505b5090935091508261151d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f746f6b656e207472616e73666572000000000000000000000000000000000000604482015260640161083f565b8673ffffffffffffffffffffffffffffffffffffffff16816040516115429190613684565b6000604051808303816000865af19150503d806000811461157f576040519150601f19603f3d011682016040523d82523d6000602084013e611584565b606091505b506040517f02d06d05000000000000000000000000000000000000000000000000000000008152919450925030906302d06d05906115c69085906004016136a0565b60206040518083038186803b1580156115de57600080fd5b505afa1580156115f2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611616919061366c565b73ffffffffffffffffffffffffffffffffffffffff881660008181526005602052604090206003015491955090339030906103e890611655908b613892565b61165f9190613755565b611669908a6138cf565b60405173ffffffffffffffffffffffffffffffffffffffff93841660248201529290911660448301526064820152608401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd000000000000000000000000000000000000000000000000000000001790525161171b9190613684565b6000604051808303816000865af19150503d8060008114611758576040519150601f19603f3d011682016040523d82523d6000602084013e61175d565b606091505b509093509150611b19565b73ffffffffffffffffffffffffffffffffffffffff87811660008181526005602052604090819020600481015460039091015491513360248201526101009091049093166044840152606483015290608401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd000000000000000000000000000000000000000000000000000000001790525161183b9190613684565b6000604051808303816000865af19150503d8060008114611878576040519150601f19603f3d011682016040523d82523d6000602084013e61187d565b606091505b509093509150826118ea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f746f6b656e207472616e73666572000000000000000000000000000000000000604482015260640161083f565b8673ffffffffffffffffffffffffffffffffffffffff168160405161190f9190613684565b6000604051808303816000865af19150503d806000811461194c576040519150601f19603f3d011682016040523d82523d6000602084013e611951565b606091505b506040517f02d06d05000000000000000000000000000000000000000000000000000000008152919450925030906302d06d05906119939085906004016136a0565b60206040518083038186803b1580156119ab57600080fd5b505afa1580156119bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119e3919061366c565b73ffffffffffffffffffffffffffffffffffffffff88166000818152600560205260409020600301549195509033903090611a1e908a6138cf565b60405173ffffffffffffffffffffffffffffffffffffffff93841660248201529290911660448301526064820152608401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd0000000000000000000000000000000000000000000000000000000017905251611ad09190613684565b6000604051808303816000865af19150503d8060008114611b0d576040519150601f19603f3d011682016040523d82523d6000602084013e611b12565b606091505b5090935091505b82611b80576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f746f6b656e207472616e73666572000000000000000000000000000000000000604482015260640161083f565b8673ffffffffffffffffffffffffffffffffffffffff1681604051611ba59190613684565b6000604051808303816000865af19150503d8060008114611be2576040519150601f19603f3d011682016040523d82523d6000602084013e611be7565b606091505b506040517f02d06d050000000000000000000000000000000000000000000000000000000081529194509250849030906302d06d0590611c2b9086906004016136a0565b60206040518083038186803b158015611c4357600080fd5b505afa158015611c57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c7b919061366c565b611c8591906138cf565b33600090815260046020818152604080842073ffffffffffffffffffffffffffffffffffffffff8d168552825280842060058352818520909301547501000000000000000000000000000000000000000000900462ffffff168452919052812080549296508692909190611cfa908490613718565b909155505073ffffffffffffffffffffffffffffffffffffffff871660009081526020818152604080832060058352818420600401547501000000000000000000000000000000000000000000900462ffffff168452825280832060ff8916845290915281208054869290611d70908490613718565b909155505033600090815260046020818152604080842073ffffffffffffffffffffffffffffffffffffffff9b909b168452998152898320600582528a8420909201547501000000000000000000000000000000000000000000900462ffffff168352529690962060010180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff95909516949094179093555050505050565b33600090815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff86168452825280832062ffffff85168452909152902054611eb7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f6e6f20726f756e64207374616b65000000000000000000000000000000000000604482015260640161083f565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260016020818152604080842062ffffff87168086529083528185205433865260048452828620968652958352818520908552909152909120015460ff90811691161415611f7c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6c6f737420726f756e6400000000000000000000000000000000000000000000604482015260640161083f565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260016020908152604080832062ffffff8516845290915290205460ff1661201b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f726f756e6420756e66696e697368656400000000000000000000000000000000604482015260640161083f565b33600090815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff86168452825280832062ffffff8086168552925290912060010154610100900416156120f45733600090815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff86168452825280832062ffffff858116855292528083206001908101546101008104841685529190932090920180547fffffffffffffffffffffffffffffffffffffffffffffffffff000000ffffffff16640100000000938490049092169092021790555b33600090815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff86168452825280832062ffffff8086168552925290912060010154640100000000900416156121d05733600090815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff86168452825280832062ffffff858116855292528083206001908101546401000000008104841685529190932090920180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000ff16610100938490049092169092021790555b33600090815260036020908152604080832073ffffffffffffffffffffffffffffffffffffffff8616845290915290205462ffffff8281169116141561229b5733600081815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff871680855290835281842062ffffff80881686529084528285206001015495855260038452828520918552925290912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000166101009093049091169190911790555b60008060015b60058160ff1610156123985773ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832062ffffff8816845290915290205460ff82811691161461233b5773ffffffffffffffffffffffffffffffffffffffff851660009081526020818152604080832062ffffff88168452825280832060ff851684529091529020546123389084613718565b92505b73ffffffffffffffffffffffffffffffffffffffff851660009081526020818152604080832062ffffff88168452825280832060ff851684529091529020546123849083613718565b91508061239081613972565b9150506122a1565b5033600090815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff881680855290835281842062ffffff88168086529084528285208054868255600190910180547fffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000169055918552848452828520908552835281842084805290925282208054919283926124349084906138cf565b909155506000905073ffffffffffffffffffffffffffffffffffffffff8616338561245f8587613892565b6124699190613755565b60405173ffffffffffffffffffffffffffffffffffffffff90921660248301526044820152606401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052516125129190613684565b6000604051808303816000865af19150503d806000811461254f576040519150601f19603f3d011682016040523d82523d6000602084013e612554565b606091505b50509050806125bf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f746f6b656e207472616e73666572206661696c65640000000000000000000000604482015260640161083f565b505050505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260026020908152604080832033845290915290205460ff161515600114612666576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f756e617574686f72697a65640000000000000000000000000000000000000000604482015260640161083f565b80158061267457506103e982105b156126d35773ffffffffffffffffffffffffffffffffffffffff831660009081526005602052604090206003810183905560040180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215151790555b505050565b80806126f9575073ffffffffffffffffffffffffffffffffffffffff821633145b61275f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f756e617574686f72697a65640000000000000000000000000000000000000000604482015260640161083f565b73ffffffffffffffffffffffffffffffffffffffff91909116600090815260086020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260026020908152604080832033845290915290205460ff161515600114612854576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f756e617574686f72697a65640000000000000000000000000000000000000000604482015260640161083f565b73ffffffffffffffffffffffffffffffffffffffff16600090815260056020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff81166101009182900460ff1615909102179055565b3360009081526008602052604090205460ff16612929576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f756e617574686f72697a65640000000000000000000000000000000000000000604482015260640161083f565b600755565b3360009081526008602052604090205460ff166129a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f756e617574686f72697a65640000000000000000000000000000000000000000604482015260640161083f565b600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b73ffffffffffffffffffffffffffffffffffffffff8316331480612a4a575073ffffffffffffffffffffffffffffffffffffffff848116600090815260026020908152604080832093871683529290522054610100900460ff16155b8015612ac3575073ffffffffffffffffffffffffffffffffffffffff8416600090815260026020908152604080832033845290915290205460ff61010090910416151560011480612ac3575073ffffffffffffffffffffffffffffffffffffffff831633148015612ab9575081155b8015612ac3575080155b612b29576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f756e617574686f72697a65640000000000000000000000000000000000000000604482015260640161083f565b6040805180820182529215158352901515602080840191825273ffffffffffffffffffffffffffffffffffffffff958616600090815260028252838120959096168652939093529092209151825491517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00009092169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff161761010091151591909102179055565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260026020908152604080832033845290915290205460ff610100909104161515600114612c77576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f756e617574686f72697a65640000000000000000000000000000000000000000604482015260640161083f565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152600560205260409020600401805492909116610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff909216919091179055565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260016020908152604080832060058352818420600401547501000000000000000000000000000000000000000000900462ffffff16845290915290205460ff1615612d99576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f616c72656164792063686f73656e000000000000000000000000000000000000604482015260640161083f565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600560205260409020600201544211612e2a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f726f756e64206465706f73697473206163746976650000000000000000000000604482015260640161083f565b60006007612e39600a42613992565b10612e4e57612e49600242613992565b612e96565b6040517fffffffffffffffffffffffffffffffffffffffff0000000000000000000000003360601b166020820152603401604051602081830303815290604052805190602001205b9050600044604051602001612ead91815260200190565b6040516020818303038152906040528051906020012090506000610d05425a612ed7906001613718565b612ee19190613892565b612eeb9190613755565b604051602001612efd91815260200190565b604051602081830303815290604052805190602001209050600060fa612b6742612f279190613755565b612f319190613992565b604080519140602083015201604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815282825280516020918201209083018790529082018590526060820184905260808201819052915060009060049060a0016040516020818303038152906040528051906020012060001c612fbb91906139a6565b612fc6906001613730565b73ffffffffffffffffffffffffffffffffffffffff8716600090815260016020818152604080842060058352818520600401547501000000000000000000000000000000000000000000900462ffffff168552909152822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff85161790559192509081905b60058160ff161015613158578360ff168160ff16146130d85773ffffffffffffffffffffffffffffffffffffffff891660009081526020818152604080832060058352818420600401547501000000000000000000000000000000000000000000900462ffffff168452825280832060ff851684529091529020546130d59084613718565b92505b73ffffffffffffffffffffffffffffffffffffffff891660009081526020818152604080832060058352818420600401547501000000000000000000000000000000000000000000900462ffffff168452825280832060ff851684529091529020546131449083613718565b91508061315081613972565b915050613050565b5073ffffffffffffffffffffffffffffffffffffffff88166000908152600560205260409020600401547501000000000000000000000000000000000000000000900462ffffff166131ab8160016136f1565b62ffffff1610156132075773ffffffffffffffffffffffffffffffffffffffff8816600090815260056020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff16620100001790555b816133255773ffffffffffffffffffffffffffffffffffffffff88811660008181526005602052604080822060040154905161010090910490931660248401526044830184905291606401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052516132d39190613684565b6000604051808303816000865af19150503d8060008114613310576040519150601f19603f3d011682016040523d82523d6000602084013e613315565b606091505b505090508061332357600080fd5b505b5050505050505050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461335357600080fd5b919050565b8035801515811461335357600080fd5b803562ffffff8116811461335357600080fd5b803560ff8116811461335357600080fd5b60006020828403121561339d578081fd5b6133a68261332f565b9392505050565b600080604083850312156133bf578081fd5b6133c88361332f565b91506133d66020840161332f565b90509250929050565b600080600080608085870312156133f4578182fd5b6133fd8561332f565b935061340b6020860161332f565b925061341960408601613358565b915061342760608601613358565b905092959194509250565b600080600060608486031215613446578283fd5b61344f8461332f565b925061345d6020850161332f565b915061346b60408501613368565b90509250925092565b60008060408385031215613486578182fd5b61348f8361332f565b91506133d660208401613358565b600080604083850312156134af578182fd5b6134b88361332f565b91506133d660208401613368565b6000806000606084860312156134da578283fd5b6134e38461332f565b92506134f160208501613368565b915061346b6040850161337b565b60008060408385031215613511578182fd5b61351a8361332f565b946020939093013593505050565b60008060006060848603121561353c578283fd5b6135458461332f565b92506020840135915061346b60408501613358565b60008060006060848603121561356e578283fd5b6135778461332f565b92506020840135915061346b6040850161337b565b60006020828403121561359d578081fd5b813567ffffffffffffffff808211156135b4578283fd5b818401915084601f8301126135c7578283fd5b8135818111156135d9576135d9613a26565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561361f5761361f613a26565b81604052828152876020848701011115613637578586fd5b826020860160208301379182016020019490945295945050505050565b600060208284031215613665578081fd5b5035919050565b60006020828403121561367d578081fd5b5051919050565b600082516136968184602087016138e6565b9190910192915050565b60208152600082518060208401526136bf8160408501602087016138e6565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b600062ffffff80831681851680830382111561370f5761370f6139c8565b01949350505050565b6000821982111561372b5761372b6139c8565b500190565b600060ff821660ff84168060ff0382111561374d5761374d6139c8565b019392505050565b600082613764576137646139f7565b500490565b600181815b808511156137c257817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048211156137a8576137a86139c8565b808516156137b557918102915b93841c939080029061376e565b509250929050565b60006133a683836000826137e05750600161388c565b816137ed5750600061388c565b8160018114613803576002811461380d57613829565b600191505061388c565b60ff84111561381e5761381e6139c8565b50506001821b61388c565b5060208310610133831016604e8410600b841016171561384c575081810a61388c565b6138568383613769565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115613888576138886139c8565b0290505b92915050565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156138ca576138ca6139c8565b500290565b6000828210156138e1576138e16139c8565b500390565b60005b838110156139015781810151838201526020016138e9565b83811115613910576000848401525b50505050565b600062ffffff8083168181141561392f5761392f6139c8565b6001019392505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561396b5761396b6139c8565b5060010190565b600060ff821660ff811415613989576139896139c8565b60010192915050565b6000826139a1576139a16139f7565b500690565b600060ff8316806139b9576139b96139f7565b8060ff84160691505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea26469706673582212201a92e9ffb89c79bed4cecde4e33dd7181e56239e56704a94ee1bf1c66f7151dd64736f6c63430008040033

Deployed ByteCode Sourcemap

1204:12369:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13534:7;;13526:36;;13534:7;;;;;13552:9;13526:36;;;;;13534:7;13526:36;13534:7;13526:36;13552:9;13534:7;13526:36;;;;;;;;;;;;;;;;;;;;;1204:12369;;;;;13175:252;;;;;;;;;;-1:-1:-1;13175:252:0;;;;;:::i;:::-;;:::i;:::-;;;14373:25:1;;;14361:2;14346:18;13175:252:0;;;;;;;;3765:569;;;;;;:::i;:::-;;:::i;:::-;;7701:3842;;;;;;;;;;-1:-1:-1;7701:3842:0;;;;;:::i;:::-;;:::i;2786:65::-;;;;;;;;;;-1:-1:-1;2786:65:0;;;;;;;;;;;6677:42:1;6665:55;;;6647:74;;6635:2;6620:18;2786:65:0;6602:125:1;2718:35:0;;;;;;;;;;-1:-1:-1;2718:35:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8272:14:1;;8265:22;8247:41;;8331:14;;8324:22;8319:2;8304:18;;8297:50;8390:14;;8383:22;8363:18;;;8356:50;;;;8437:2;8422:18;;8415:34;;;;8480:3;8465:19;;8458:35;;;;8524:3;8509:19;;8502:35;8581:14;8574:22;8568:3;8553:19;;8546:51;8646:42;8634:55;;;8628:3;8613:19;;8606:84;8739:8;8727:21;8721:3;8706:19;;8699:50;8234:3;8219:19;2718:35:0;8201:554:1;2523:60:0;;;;;;;;;;-1:-1:-1;2523:60:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14206:8:1;14194:21;;;14176:40;;14164:2;14149:18;2523:60:0;14131:91:1;5408:115:0;;;;;;;;;;-1:-1:-1;5408:115:0;;;;;:::i;:::-;5484:12;;;;;;;;:5;:12;;;;;:24;;:31;5408:115;2205:70;;;;;;;;;;-1:-1:-1;2205:70:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11574:1595;;;;;;;;;;-1:-1:-1;11574:1595:0;;;;;:::i;:::-;;:::i;5106:296::-;;;;;;;;;;-1:-1:-1;5106:296:0;;;;;:::i;:::-;;:::i;3246:239::-;;;;;;;;;;-1:-1:-1;3246:239:0;;;;;:::i;:::-;;:::i;4924:176::-;;;;;;;;;;-1:-1:-1;4924:176:0;;;;;:::i;:::-;;:::i;2335:54::-;;;;;;;;;;-1:-1:-1;2335:54:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15025:4:1;15013:17;;;14995:36;;14983:2;14968:18;2335:54:0;14950:87:1;3491:130:0;;;;;;;;;;-1:-1:-1;3491:130:0;;;;;:::i;:::-;;:::i;2636:75::-;;;;;;;;;;-1:-1:-1;2636:75:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14632:25:1;;;14705:4;14693:17;;;14688:2;14673:18;;14666:45;14730:8;14774:15;;;14754:18;;;14747:43;;;;14826:15;14821:2;14806:18;;14799:43;14619:3;14604:19;2636:75:0;14586:262:1;2900:41:0;;;;;;;;;;;;;;;;2963:39;;;;;;;;;;-1:-1:-1;2963:39:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7602:14:1;;7595:22;7577:41;;7565:2;7550:18;2963:39:0;7532:92:1;3627:132:0;;;;;;;;;;-1:-1:-1;3627:132:0;;;;;:::i;:::-;;:::i;2425:55::-;;;;;;;;;;-1:-1:-1;2425:55:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7816:14:1;;7809:22;7791:41;;7875:14;;7868:22;7863:2;7848:18;;7841:50;7764:18;2425:55:0;7746:151:1;4340:578:0;;;;;;;;;;-1:-1:-1;4340:578:0;;;;;:::i;:::-;;:::i;5529:225::-;;;;;;;;;;-1:-1:-1;5529:225:0;;;;;:::i;:::-;;:::i;5980:1658::-;;;;;;;;;;-1:-1:-1;5980:1658:0;;;;;:::i;:::-;;:::i;13175:252::-;13233:7;13252:14;13281:6;13277:119;13292:1;:8;13290:1;:10;13277:119;;;13377:3;:1;13379;13377:3;:::i;:::-;13367:1;:8;:14;;;;:::i;:::-;13364:18;;:1;:18;:::i;:::-;13360:23;;:1;:23;:::i;:::-;13352:1;13354;13352:4;;;;;;;;;;;;;;;;;;;;13338:46;;;13352:4;;13338:46;:::i;:::-;13329:55;;:6;:55;:::i;:::-;13320:64;-1:-1:-1;13301:3:0;;;;:::i;:::-;;;;13277:119;;;-1:-1:-1;13413:6:0;13175:252;-1:-1:-1;;13175:252:0:o;3765:569::-;3828:12;;;;;;;:5;:12;;;;;:17;;;:24;3820:48;;;;;;;11134:2:1;3820:48:0;;;11116:21:1;11173:2;11153:18;;;11146:30;11212:14;11192:18;;;11185:42;11244:18;;3820:48:0;;;;;;;;;3879:12;;;;;;;:5;:12;;;;;;;;:22;;3897:4;3879:22;;;;;;;;3938:16;;;;;;;;;;;;;;;;3912:13;;;:6;:13;;;;;3926:10;3912:25;;;;;;;;;:42;;;;;;;;;;;;;;;;3879:22;3912:42;;;;;;;;3965:12;;;;;;;:25;;;;:27;;;4003:28;;;;;;;;;;;;;;;4045:7;;:10;;;;:42;;-1:-1:-1;4069:10:0;4059:21;;;;:9;:21;;;;;;;;:28;4045:42;4042:285;;;4122:7;;4111:9;:18;;4103:46;;;;;;;10096:2:1;4103:46:0;;;10078:21:1;10135:2;10115:18;;;10108:30;10174:18;10154;;;10147:46;10210:18;;4103:46:0;10068:166:1;4103:46:0;4172:7;;4190;;4164:34;;4172:7;;;;;4164:34;;;;;4190:7;4172;4164:34;4172:7;4164:34;4190:7;4172;4164:34;;;;;;;;;;;;;;;;;;;;;4226:7;;4216:9;:17;4213:103;;;4292:7;;4261:10;;4253:47;;4282:17;;:9;:17;:::i;:::-;4253:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4213:103;3765:569;:::o;7701:3842::-;7784:12;;;;;;;:5;:12;;;;;:19;;;;;;:26;;;:56;;-1:-1:-1;7813:12:0;;;;;;;:5;:12;;;;;:19;;;;;;:26;7784:56;7776:87;;;;;;;13886:2:1;7776:87:0;;;13868:21:1;13925:2;13905:18;;;13898:30;13964:21;13944:18;;;13937:49;14003:18;;7776:87:0;13858:169:1;7776:87:0;7882:12;;;;;;;:5;:12;;;;;:17;;;:23;;:17;:23;7874:50;;;;;;;9752:2:1;7874:50:0;;;9734:21:1;9791:2;9771:18;;;9764:30;9830:17;9810:18;;;9803:45;9865:18;;7874:50:0;9724:165:1;7874:50:0;7948:1;7943:4;:6;;;:15;;;;-1:-1:-1;7951:7:0;;;;;7943:15;7935:39;;;;;;;12159:2:1;7935:39:0;;;12141:21:1;12198:2;12178:18;;;12171:30;12237:14;12217:18;;;12210:42;12269:18;;7935:39:0;12131:162:1;7935:39:0;8046:12;;;;;;;:5;:12;;;;;:21;;;8068:15;-1:-1:-1;8046:37:0;:82;;-1:-1:-1;8085:13:0;;;;;;;:6;:13;;;;;;;;8099:5;:12;;;;;:25;;;;;;;;8085:40;;;;;;;;;;:43;;8046:82;8038:119;;;;;;;13532:2:1;8038:119:0;;;13514:21:1;13571:2;13551:18;;;13544:30;13610:27;13590:18;;;13583:55;13655:18;;8038:119:0;13504:175:1;8038:119:0;8171:12;;;;;;;:5;:12;;;;;:21;;;8193:15;-1:-1:-1;8168:172:0;;;8224:12;;;;;;;:5;:12;;;;;:25;;:27;;;;;;;;:25;:27;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8304:12:0;;;-1:-1:-1;8304:12:0;;;:5;:12;;;;;-1:-1:-1;8304:24:0;;8288:40;;:15;:40;:::i;:::-;8266:12;;;;;;;:5;:12;;;;;:21;;:62;8168:172;8433:10;8423:21;;;;:9;:21;;;;;;;;;:28;;;;;;;;;8452:5;:12;;;;;:25;;;;;;;;;8423:55;;;;;;;:62;8420:1164;;8618:10;8607:22;;;;:10;:22;;;;;;;;;:29;;;;;;;;;;;;:32;8604:351;;8805:12;;;;;;;:5;:12;;;;;;;;:25;;;;;;8750:10;8740:21;;;;;;;;;:28;;;;;;;;8769:22;;;:10;:22;;;;;:29;;;;;;;;;;;8805:25;8769:29;;;8740:59;;;;;;;;;8769:29;8740:64;;;:90;;;;8805:25;;;;;;;8740:90;;;;;8910:29;;8878:25;;;;;;;;8849:55;;;;:60;:90;;;;8805:25;8910:29;;;;8849:90;;;;;;;8604:351;9049:12;;;;;;;:5;:12;;;;;;;;:25;;;9030:10;9019:22;;:10;:22;;;;;:29;;;;;;;;;:55;;9049:25;;;;;;9019:55;;;;;;;;;;8420:1164;;;9115:10;9105:21;;;;:9;:21;;;;;;;;;:28;;;;;;;;;9134:5;:12;;;;;:25;;;;;;;;;9105:55;;;;;;;:60;;;:66;;;;:60;;:66;;;;:131;;-1:-1:-1;9183:10:0;9173:21;;;;:9;:21;;;;;;;;;:28;;;;;;;;;9202:5;:12;;;;;:25;;;;;;;;;9173:55;;;;;;;:60;;;;;:63;;9105:131;9101:483;;;9397:10;9387:21;;;;:9;:21;;;;;;;;;:28;;;;;;;;;;;9416:5;:12;;;;;:25;;;;;;;;;9387:55;;;;;;;;;:62;;9285:11;;;;;;;;;:38;;;;;;;;;9324:60;;;;;;;9285:100;;;;;;;;:164;;9387:62;;9285:100;;:164;;9387:62;;9285:164;:::i;:::-;;;;-1:-1:-1;;9520:10:0;9510:21;;;;:9;:21;;;;;;;;;:28;;;;;;;;;;;9539:5;:12;;;;;:25;;;;;;;;;9510:55;;;;;;;;;:62;9464:11;;;;;;;;;:38;;;;;;;;;:44;;;;;;;;;;:108;;9510:62;;9464:44;;:108;;9510:62;;9464:108;:::i;:::-;;;;-1:-1:-1;;9101:483:0;9689:59;;9742:4;9689:59;;;6647:74:1;9594:18:0;;;;9640:17;;9594:18;;6620::1;;9689:59:0;;;;;;;;;;;;;;;;;;;;;;;;;9832:12;;;-1:-1:-1;9832:12:0;;;:5;:12;;;;:26;;;9689:59;;-1:-1:-1;9832:26:0;;9829:1217;;;10056:10;;;;10151:12;;;;:5;:12;;;;;:17;;;;10177:16;;;;;10056:10;;10139;;10151:17;;;;;;10194:4;;10170:23;;:6;:23;:::i;:::-;:28;;;;:::i;:::-;10067:133;;6944:42:1;7013:15;;;10067:133:0;;;6995:34:1;7065:15;;;;7045:18;;;7038:43;7097:18;;;7090:34;6907:18;;10067:133:0;;;;;;;;;;;;;;;;;;;;;;;;10056:145;;;10067:133;10056:145;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10045:156:0;;-1:-1:-1;10045:156:0;-1:-1:-1;10045:156:0;10216:27;;;;;;;10441:2:1;10216:27:0;;;10423:21:1;10480:2;10460:18;;;10453:30;10519:16;10499:18;;;10492:44;10553:18;;10216:27:0;10413:164:1;10216:27:0;10269:5;:10;;10280:7;10269:19;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10316:22:0;;;;;10258:30;;-1:-1:-1;10258:30:0;-1:-1:-1;10316:4:0;;:16;;:22;;10258:30;;10316:22;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10364:10;;;10488:12;;;;:5;:12;;;;;:16;;;10303:35;;-1:-1:-1;10364:10:0;10447;;10467:4;;10505;;10481:23;;:6;:23;:::i;:::-;:28;;;;:::i;:::-;10473:37;;:6;:37;:::i;:::-;10375:136;;6944:42:1;7013:15;;;10375:136:0;;;6995:34:1;7065:15;;;;7045:18;;;7038:43;7097:18;;;7090:34;6907:18;;10375:136:0;;;;;;;;;;;;;;;;;;;;;;;;10364:148;;;10375:136;10364:148;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10353:159:0;;-1:-1:-1;10353:159:0;-1:-1:-1;9829:1217:0;;;10606:10;;;;10701:12;;;;:5;:12;;;;;;;:17;;;;10719:16;;;;;10617:119;;10689:10;10617:119;;;6995:34:1;10701:17:0;;;;;;;7045:18:1;;;7038:43;7097:18;;;7090:34;10606:10:0;6907:18:1;;10617:119:0;;;;;;;;;;;;;;;;;;;;;;;;10606:131;;;10617:119;10606:131;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10595:142:0;;-1:-1:-1;10595:142:0;-1:-1:-1;10595:142:0;10752:27;;;;;;;10441:2:1;10752:27:0;;;10423:21:1;10480:2;10460:18;;;10453:30;10519:16;10499:18;;;10492:44;10553:18;;10752:27:0;10413:164:1;10752:27:0;10805:5;:10;;10816:7;10805:19;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10852:22:0;;;;;10794:30;;-1:-1:-1;10794:30:0;-1:-1:-1;10852:4:0;;:16;;:22;;10794:30;;10852:22;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10900:10;;;11016:12;;;;:5;:12;;;;;:16;;;10839:35;;-1:-1:-1;10900:10:0;10983;;11003:4;;11009:23;;:6;:23;:::i;:::-;10911:122;;6944:42:1;7013:15;;;10911:122:0;;;6995:34:1;7065:15;;;;7045:18;;;7038:43;7097:18;;;7090:34;6907:18;;10911:122:0;;;;;;;;;;;;;;;;;;;;;;;;10900:134;;;10911:122;10900:134;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10889:145:0;;-1:-1:-1;10889:145:0;-1:-1:-1;9829:1217:0;11191:1;11183:27;;;;;;;10441:2:1;11183:27:0;;;10423:21:1;10480:2;10460:18;;;10453:30;10519:16;10499:18;;;10492:44;10553:18;;11183:27:0;10413:164:1;11183:27:0;11232:5;:10;;11243:7;11232:19;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11273:22:0;;;;;11221:30;;-1:-1:-1;11221:30:0;-1:-1:-1;11296:10:0;;11273:4;;:16;;:22;;11221:30;;11273:22;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:33;;;;:::i;:::-;11327:10;11317:21;;;;:9;:21;;;;;;;;;:28;;;;;;;;;11346:5;:12;;;;;:25;;;;;;;;;11317:55;;;;;;;:74;;11262:44;;-1:-1:-1;11262:44:0;;11317:55;;:21;:74;;11262:44;;11317:74;:::i;:::-;;;;-1:-1:-1;;11402:11:0;;;:4;:11;;;;;;;;;;;11414:5;:12;;;;;:25;;;;;;;;11402:38;;;;;;;:44;;;;;;;;;;:57;;11449:10;;11402:4;:57;;11449:10;;11402:57;:::i;:::-;;;;-1:-1:-1;;11480:10:0;11470:21;;;;:9;:21;;;;;;;;;:28;;;;;;;;;;;;11499:5;:12;;;;;:25;;;;;;;;;11470:55;;;;;;;:60;;:65;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7701:3842:0:o;11574:1595::-;11657:10;11647:21;;;;:9;:21;;;;;;;;;:28;;;;;;;;;:35;;;;;;;;;;:42;11639:71;;;;;;;13189:2:1;11639:71:0;;;13171:21:1;13228:2;13208:18;;;13201:30;13267:16;13247:18;;;13240:44;13301:18;;11639:71:0;13161:164:1;11639:71:0;11771:13;;;;;;;:6;:13;;;;;;;;:20;;;;;;;;;;;;;11739:10;11729:21;;:9;:21;;;;;:28;;;;;;;;;:35;;;;;;;;;:40;;11771:20;11729:40;;;11771:20;;11729:62;;11721:84;;;;;;;12500:2:1;11721:84:0;;;12482:21:1;12539:2;12519:18;;;12512:30;12578:12;12558:18;;;12551:40;12608:18;;11721:84:0;12472:160:1;11721:84:0;11824:13;;;;;;;:6;:13;;;;;;;;:20;;;;;;;;;;;;;11816:51;;;;;;;9407:2:1;11816:51:0;;;9389:21:1;9446:2;9426:18;;;9419:30;9485:18;9465;;;9458:46;9521:18;;11816:51:0;9379:166:1;11816:51:0;12012:10;12002:21;;;;:9;:21;;;;;;;;;:28;;;;;;;;;:35;;;;;;;;;;;:40;;;;;;;:43;11999:190;;12147:10;12137:21;;;;:9;:21;;;;;;;;;:28;;;;;;;;;:35;;;;;;;;;;;:40;;;;;;12090;;;;12061:70;;;;;;:75;;;:116;;;;12137:40;;;;;;;;12061:116;;;;;;11999:190;12212:10;12202:21;;;;:9;:21;;;;;;;;;:28;;;;;;;;;:35;;;;;;;;;;;:40;;;;;;;:43;12199:190;;12347:10;12337:21;;;;:9;:21;;;;;;;;;:28;;;;;;;;;:35;;;;;;;;;;;:40;;;;;12290;;;;;12261:70;;;;;;:75;;;:116;;;;12337:40;;;;;;;;12261:116;;;;;;12199:190;12413:10;12402:22;;;;:10;:22;;;;;;;;;:29;;;;;;;;;;:36;;;;:29;;:36;12399:137;;;12494:10;12484:21;;;;:9;:21;;;;;;;;;:28;;;;;;;;;;;:35;;;;;;;;;;;;:40;;;12454:22;;;:10;:22;;;;;:29;;;;;;;;:70;;;;12484:40;;;;;;;12454:70;;;;;;12399:137;12546:19;;12615:1;12603:190;12619:1;12617;:3;;;12603:190;;;12646:13;;;;;;;:6;:13;;;;;;;;:20;;;;;;;;;;;;12643:23;;;12646:20;;12643:23;12640:96;;12699:11;;;:4;:11;;;;;;;;;;;:18;;;;;;;;;;:21;;;;;;;;;;;12686:34;;;;:::i;:::-;;;12640:96;12760:11;;;:4;:11;;;;;;;;;;;:18;;;;;;;;;;:21;;;;;;;;;;;12750:31;;;;:::i;:::-;;-1:-1:-1;12621:3:0;;;;:::i;:::-;;;;12603:190;;;-1:-1:-1;12825:10:0;12803:9;12815:21;;;:9;:21;;;;;;;;;:28;;;;;;;;;;;:35;;;;;;;;;;;;:42;;12868;;;-1:-1:-1;12868:42:0;;;;;;;;;12921:11;;;;;;;;;:18;;;;;;;;:60;;;;;;;;:63;;12815:42;;;;12921:63;;12815:42;;12921:63;:::i;:::-;;;;-1:-1:-1;12996:6:0;;-1:-1:-1;13007:10:0;;;13078;13103:11;13091:10;13100:1;13091:8;:10;:::i;:::-;13090:24;;;;:::i;:::-;13018:97;;7339:42:1;7327:55;;;13018:97:0;;;7309:74:1;7399:18;;;7392:34;7282:18;;13018:97:0;;;;;;;;;;;;;;;;;;;;;;;;13007:109;;;13018:97;13007:109;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12995:121;;;13135:1;13127:34;;;;;;;10784:2:1;13127:34:0;;;10766:21:1;10823:2;10803:18;;;10796:30;10862:23;10842:18;;;10835:51;10903:18;;13127:34:0;10756:171:1;13127:34:0;11574:1595;;;;;;:::o;5106:296::-;5198:13;;;;;;;:6;:13;;;;;;;;5212:10;5198:25;;;;;;;:34;;;:40;;:34;:40;5190:64;;;;;;;11818:2:1;5190:64:0;;;11800:21:1;11857:2;11837:18;;;11830:30;11896:14;11876:18;;;11869:42;11928:18;;5190:64:0;11790:162:1;5190:64:0;5269:13;5268:14;:24;;;;5288:4;5284:3;:8;5268:24;5265:130;;;5308:12;;;;;;;:5;:12;;;;;:16;;;:20;;;5343:26;;:40;;;;;;;;;;5265:130;5106:296;;;:::o;3246:239::-;3391:8;:35;;;-1:-1:-1;3401:25:0;;;3415:10;3401:25;3391:35;3383:59;;;;;;;11818:2:1;3383:59:0;;;11800:21:1;11857:2;11837:18;;;11830:30;11896:14;11876:18;;;11869:42;11928:18;;3383:59:0;11790:162:1;3383:59:0;3453:15;;;;;;;;;:9;:15;;;;;:24;;;;;;;;;;;;;3246:239::o;4924:176::-;4985:13;;;;;;;:6;:13;;;;;;;;4999:10;4985:25;;;;;;;:34;;;:40;;:34;:40;4977:64;;;;;;;11818:2:1;4977:64:0;;;11800:21:1;11857:2;11837:18;;;11830:30;11896:14;11876:18;;;11869:42;11928:18;;4977:64:0;11790:162:1;4977:64:0;5073:12;;;;;;:5;:12;;;;;:19;;5052:40;;;5073:19;;;;;;;5072:20;5052:40;;;;;;4924:176::o;3491:130::-;3564:10;3554:21;;;;:9;:21;;;;;;;;3546:45;;;;;;;11818:2:1;3546:45:0;;;11800:21:1;11857:2;11837:18;;;11830:30;11896:14;11876:18;;;11869:42;11928:18;;3546:45:0;11790:162:1;3546:45:0;3602:7;:11;3491:130::o;3627:132::-;3701:10;3691:21;;;;:9;:21;;;;;;;;3683:45;;;;;;;11818:2:1;3683:45:0;;;11800:21:1;11857:2;11837:18;;;11830:30;11896:14;11876:18;;;11869:42;11928:18;;3683:45:0;11790:162:1;3683:45:0;3739:7;:12;;;;;;;;;;;;;;;3627:132::o;4340:578::-;4667:25;;;4681:10;4667:25;;:62;;-1:-1:-1;4694:13:0;;;;;;;;:6;:13;;;;;;;;:19;;;;;;;;;:28;;;;;;:35;4667:62;4666:173;;;;-1:-1:-1;4733:13:0;;;;;;;:6;:13;;;;;;;;4747:10;4733:25;;;;;;;:34;;;;;;;:40;;:34;:40;;:105;;-1:-1:-1;4778:25:0;;;4792:10;4778:25;:42;;;;-1:-1:-1;4805:15:0;;4778:42;:59;;;;-1:-1:-1;4822:15:0;;4778:59;4658:197;;;;;;;11818:2:1;4658:197:0;;;11800:21:1;11857:2;11837:18;;;11830:30;11896:14;11876:18;;;11869:42;11928:18;;4658:197:0;11790:162:1;4658:197:0;4886:24;;;;;;;;;;;;;;;;;;;;;;;4866:13;;;;-1:-1:-1;4866:13:0;;;:6;:13;;;;;:19;;;;;;;;;;;;;:44;;;;;;;;;;;;;;;;;;;;;;;;;;;4340:578::o;5529:225::-;5657:13;;;;;;;:6;:13;;;;;;;;5671:10;5657:25;;;;;;;:34;;;;;;;:40;;:34;:40;5649:64;;;;;;;11818:2:1;5649:64:0;;;11800:21:1;11857:2;11837:18;;;11830:30;11896:14;11876:18;;;11869:42;11928:18;;5649:64:0;11790:162:1;5649:64:0;5724:12;;;;;;;;:5;:12;;;;;:17;;:22;;;;;;;;;;;;;;;;;;5529:225::o;5980:1658::-;6040:13;;;;;;;:6;:13;;;;;;;;6054:5;:12;;;;;:25;;;;;;;;6040:40;;;;;;;;;;:43;6032:69;;;;;;;11475:2:1;6032:69:0;;;11457:21:1;11514:2;11494:18;;;11487:30;11553:16;11533:18;;;11526:44;11587:18;;6032:69:0;11447:164:1;6032:69:0;6118:12;;;;;;;:5;:12;;;;;:21;;;6140:15;-1:-1:-1;6110:70:0;;;;;;;12839:2:1;6110:70:0;;;12821:21:1;12878:2;12858:18;;;12851:30;12917:23;12897:18;;;12890:51;12958:18;;6110:70:0;12811:171:1;6110:70:0;6278:13;6314:1;6292:19;6309:2;6292:15;:19;:::i;:::-;:23;:94;;6368:17;6384:1;6368:15;:17;:::i;:::-;6292:94;;;6328:28;;5358:66:1;6345:10:0;5345:2:1;5341:15;5337:88;6328:28:0;;;5325:101:1;5442:12;;6328:28:0;;;;;;;;;;;;6318:39;;;;;;6292:94;6278:108;;6395:13;6436:16;6419:34;;;;;;5594:19:1;;5638:2;5629:12;;5584:63;6419:34:0;;;;;;;;;;;;;6409:45;;;;;;6395:59;;6463:13;6534:4;6518:15;6507:9;6505:11;;:1;:11;:::i;:::-;6504:29;;;;:::i;:::-;:34;;;;:::i;:::-;6487:52;;;;;;5594:19:1;;5638:2;5629:12;;5584:63;6487:52:0;;;;;;;;;;;;;6477:63;;;;;;6463:77;;6549:13;6624:3;6617:5;6601:15;:21;;;;:::i;:::-;6600:27;;;;:::i;:::-;6573:56;;;6590:38;;6573:56;;;5594:19:1;5629:12;6573:56:0;;;;;;;;;;;;;6563:67;;6573:56;6563:67;;;;6677:41;;;5865:19:1;;;5900:12;;;5893:28;;;5937:12;;;5930:28;;;5974:12;;;5967:28;;;6563:67:0;-1:-1:-1;6639:11:0;;6722:1;;6011:13:1;;6677:41:0;;;;;;;;;;;;6667:52;;;;;;6659:61;;6653:70;;;;:::i;:::-;6651:72;;:1;:72;:::i;:::-;6732:13;;;;;;;:6;:13;;;;;;;;6746:5;:12;;;;;:25;;;;;;;;6732:40;;;;;;;:46;;;;;;;;;;;;-1:-1:-1;6732:13:0;;;6995:205;7011:1;7009;:3;;;6995:205;;;7036:5;7033:8;;:1;:8;;;7030:97;;7072:11;;;:4;:11;;;;;;;;;;;7084:5;:12;;;;;:25;;;;;;;;7072:38;;;;;;;:41;;;;;;;;;;;7059:54;;;;:::i;:::-;;;7030:97;7149:11;;;:4;:11;;;;;;;;;;;7161:5;:12;;;;;:25;;;;;;;;7149:38;;;;;;;:41;;;;;;;;;;;7139:51;;;;:::i;:::-;;-1:-1:-1;7013:3:0;;;;:::i;:::-;;;;6995:205;;;-1:-1:-1;7239:12:0;;;;;;;:5;:12;;;;;:25;;;;;;;;7211:27;7239:25;7237:1;7211:27;:::i;:::-;:53;;;7208:129;;;7303:12;;;;;;;:5;:12;;;;;:24;;;;;;;;7208:129;7348:14;7345:286;;7510:10;;;;7499:6;7573:12;;;:5;:12;;;;;;:17;;;7521:79;;7573:17;;;;;;;7521:79;;;7309:74:1;7399:18;;;7392:34;;;7499:6:0;7282:18:1;;7521:79:0;;;;;;;;;;;;;;;;;;;;;;;;7510:91;;;7521:79;7510:91;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7498:103;;;7619:1;7611:10;;;;;;7345:286;;5980:1658;;;;;;;;:::o;14:196:1:-;82:20;;142:42;131:54;;121:65;;111:2;;200:1;197;190:12;111:2;63:147;;;:::o;215:160::-;280:20;;336:13;;329:21;319:32;;309:2;;365:1;362;355:12;380:161;447:20;;507:8;496:20;;486:31;;476:2;;531:1;528;521:12;546:156;612:20;;672:4;661:16;;651:27;;641:2;;692:1;689;682:12;707:196;766:6;819:2;807:9;798:7;794:23;790:32;787:2;;;840:6;832;825:22;787:2;868:29;887:9;868:29;:::i;:::-;858:39;777:126;-1:-1:-1;;;777:126:1:o;908:270::-;976:6;984;1037:2;1025:9;1016:7;1012:23;1008:32;1005:2;;;1058:6;1050;1043:22;1005:2;1086:29;1105:9;1086:29;:::i;:::-;1076:39;;1134:38;1168:2;1157:9;1153:18;1134:38;:::i;:::-;1124:48;;995:183;;;;;:::o;1183:407::-;1263:6;1271;1279;1287;1340:3;1328:9;1319:7;1315:23;1311:33;1308:2;;;1362:6;1354;1347:22;1308:2;1390:29;1409:9;1390:29;:::i;:::-;1380:39;;1438:38;1472:2;1461:9;1457:18;1438:38;:::i;:::-;1428:48;;1495:35;1526:2;1515:9;1511:18;1495:35;:::i;:::-;1485:45;;1549:35;1580:2;1569:9;1565:18;1549:35;:::i;:::-;1539:45;;1298:292;;;;;;;:::o;1595:342::-;1671:6;1679;1687;1740:2;1728:9;1719:7;1715:23;1711:32;1708:2;;;1761:6;1753;1746:22;1708:2;1789:29;1808:9;1789:29;:::i;:::-;1779:39;;1837:38;1871:2;1860:9;1856:18;1837:38;:::i;:::-;1827:48;;1894:37;1927:2;1916:9;1912:18;1894:37;:::i;:::-;1884:47;;1698:239;;;;;:::o;1942:264::-;2007:6;2015;2068:2;2056:9;2047:7;2043:23;2039:32;2036:2;;;2089:6;2081;2074:22;2036:2;2117:29;2136:9;2117:29;:::i;:::-;2107:39;;2165:35;2196:2;2185:9;2181:18;2165:35;:::i;2211:268::-;2278:6;2286;2339:2;2327:9;2318:7;2314:23;2310:32;2307:2;;;2360:6;2352;2345:22;2307:2;2388:29;2407:9;2388:29;:::i;:::-;2378:39;;2436:37;2469:2;2458:9;2454:18;2436:37;:::i;2484:338::-;2558:6;2566;2574;2627:2;2615:9;2606:7;2602:23;2598:32;2595:2;;;2648:6;2640;2633:22;2595:2;2676:29;2695:9;2676:29;:::i;:::-;2666:39;;2724:37;2757:2;2746:9;2742:18;2724:37;:::i;:::-;2714:47;;2780:36;2812:2;2801:9;2797:18;2780:36;:::i;2827:264::-;2895:6;2903;2956:2;2944:9;2935:7;2931:23;2927:32;2924:2;;;2977:6;2969;2962:22;2924:2;3005:29;3024:9;3005:29;:::i;:::-;2995:39;3081:2;3066:18;;;;3053:32;;-1:-1:-1;;;2914:177:1:o;3096:332::-;3170:6;3178;3186;3239:2;3227:9;3218:7;3214:23;3210:32;3207:2;;;3260:6;3252;3245:22;3207:2;3288:29;3307:9;3288:29;:::i;:::-;3278:39;;3364:2;3353:9;3349:18;3336:32;3326:42;;3387:35;3418:2;3407:9;3403:18;3387:35;:::i;3433:334::-;3508:6;3516;3524;3577:2;3565:9;3556:7;3552:23;3548:32;3545:2;;;3598:6;3590;3583:22;3545:2;3626:29;3645:9;3626:29;:::i;:::-;3616:39;;3702:2;3691:9;3687:18;3674:32;3664:42;;3725:36;3757:2;3746:9;3742:18;3725:36;:::i;3772:1025::-;3840:6;3893:2;3881:9;3872:7;3868:23;3864:32;3861:2;;;3914:6;3906;3899:22;3861:2;3959:9;3946:23;3988:18;4029:2;4021:6;4018:14;4015:2;;;4050:6;4042;4035:22;4015:2;4093:6;4082:9;4078:22;4068:32;;4138:7;4131:4;4127:2;4123:13;4119:27;4109:2;;4165:6;4157;4150:22;4109:2;4206;4193:16;4228:2;4224;4221:10;4218:2;;;4234:18;;:::i;:::-;4368:2;4362:9;4430:4;4422:13;;4273:66;4418:22;;;4442:2;4414:31;4410:40;4398:53;;;4466:18;;;4486:22;;;4463:46;4460:2;;;4512:18;;:::i;:::-;4552:10;4548:2;4541:22;4587:2;4579:6;4572:18;4627:7;4622:2;4617;4613;4609:11;4605:20;4602:33;4599:2;;;4653:6;4645;4638:22;4599:2;4714;4709;4705;4701:11;4696:2;4688:6;4684:15;4671:46;4737:15;;;4754:2;4733:24;4726:40;;;;4741:6;3851:946;-1:-1:-1;;;;;3851:946:1:o;4802:190::-;4861:6;4914:2;4902:9;4893:7;4889:23;4885:32;4882:2;;;4935:6;4927;4920:22;4882:2;-1:-1:-1;4963:23:1;;4872:120;-1:-1:-1;4872:120:1:o;4997:194::-;5067:6;5120:2;5108:9;5099:7;5095:23;5091:32;5088:2;;;5141:6;5133;5126:22;5088:2;-1:-1:-1;5169:16:1;;5078:113;-1:-1:-1;5078:113:1:o;6035:274::-;6164:3;6202:6;6196:13;6218:53;6264:6;6259:3;6252:4;6244:6;6240:17;6218:53;:::i;:::-;6287:16;;;;;6172:137;-1:-1:-1;;6172:137:1:o;8760:440::-;8907:2;8896:9;8889:21;8870:4;8939:6;8933:13;8982:6;8977:2;8966:9;8962:18;8955:34;8998:66;9057:6;9052:2;9041:9;9037:18;9032:2;9024:6;9020:15;8998:66;:::i;:::-;9116:2;9104:15;9121:66;9100:88;9085:104;;;;9191:2;9081:113;;8879:321;-1:-1:-1;;8879:321:1:o;15042:226::-;15081:3;15109:8;15144:2;15141:1;15137:10;15174:2;15171:1;15167:10;15205:3;15201:2;15197:12;15192:3;15189:21;15186:2;;;15213:18;;:::i;:::-;15249:13;;15089:179;-1:-1:-1;;;;15089:179:1:o;15273:128::-;15313:3;15344:1;15340:6;15337:1;15334:13;15331:2;;;15350:18;;:::i;:::-;-1:-1:-1;15386:9:1;;15321:80::o;15406:204::-;15444:3;15480:4;15477:1;15473:12;15512:4;15509:1;15505:12;15547:3;15541:4;15537:14;15532:3;15529:23;15526:2;;;15555:18;;:::i;:::-;15591:13;;15452:158;-1:-1:-1;;;15452:158:1:o;15615:120::-;15655:1;15681;15671:2;;15686:18;;:::i;:::-;-1:-1:-1;15720:9:1;;15661:74::o;15740:482::-;15829:1;15872:5;15829:1;15886:330;15907:7;15897:8;15894:21;15886:330;;;16026:4;15958:66;15954:77;15948:4;15945:87;15942:2;;;16035:18;;:::i;:::-;16085:7;16075:8;16071:22;16068:2;;;16105:16;;;;16068:2;16184:22;;;;16144:15;;;;15886:330;;;15890:3;15804:418;;;;;:::o;16227:131::-;16287:5;16316:36;16343:8;16337:4;16412:5;16442:8;16432:2;;-1:-1:-1;16483:1:1;16497:5;;16432:2;16531:4;16521:2;;-1:-1:-1;16568:1:1;16582:5;;16521:2;16613:4;16631:1;16626:59;;;;16699:1;16694:130;;;;16606:218;;16626:59;16656:1;16647:10;;16670:5;;;16694:130;16731:3;16721:8;16718:17;16715:2;;;16738:18;;:::i;:::-;-1:-1:-1;;16794:1:1;16780:16;;16809:5;;16606:218;;16908:2;16898:8;16895:16;16889:3;16883:4;16880:13;16876:36;16870:2;16860:8;16857:16;16852:2;16846:4;16843:12;16839:35;16836:77;16833:2;;;-1:-1:-1;16945:19:1;;;16977:5;;16833:2;17024:34;17049:8;17043:4;17024:34;:::i;:::-;17154:6;17086:66;17082:79;17073:7;17070:92;17067:2;;;17165:18;;:::i;:::-;17203:20;;-1:-1:-1;16422:807:1;;;;;:::o;17234:228::-;17274:7;17400:1;17332:66;17328:74;17325:1;17322:81;17317:1;17310:9;17303:17;17299:105;17296:2;;;17407:18;;:::i;:::-;-1:-1:-1;17447:9:1;;17286:176::o;17467:125::-;17507:4;17535:1;17532;17529:8;17526:2;;;17540:18;;:::i;:::-;-1:-1:-1;17577:9:1;;17516:76::o;17597:258::-;17669:1;17679:113;17693:6;17690:1;17687:13;17679:113;;;17769:11;;;17763:18;17750:11;;;17743:39;17715:2;17708:10;17679:113;;;17810:6;17807:1;17804:13;17801:2;;;17845:1;17836:6;17831:3;17827:16;17820:27;17801:2;;17650:205;;;:::o;17860:199::-;17898:3;17926:8;17969:2;17962:5;17958:14;17996:2;17987:7;17984:15;17981:2;;;18002:18;;:::i;:::-;18051:1;18038:15;;17906:153;-1:-1:-1;;;17906:153:1:o;18064:195::-;18103:3;18134:66;18127:5;18124:77;18121:2;;;18204:18;;:::i;:::-;-1:-1:-1;18251:1:1;18240:13;;18111:148::o;18264:175::-;18301:3;18345:4;18338:5;18334:16;18374:4;18365:7;18362:17;18359:2;;;18382:18;;:::i;:::-;18431:1;18418:15;;18309:130;-1:-1:-1;;18309:130:1:o;18444:112::-;18476:1;18502;18492:2;;18507:18;;:::i;:::-;-1:-1:-1;18541:9:1;;18482:74::o;18561:157::-;18591:1;18625:4;18622:1;18618:12;18649:3;18639:2;;18656:18;;:::i;:::-;18708:3;18701:4;18698:1;18694:12;18690:22;18685:27;;;18597:121;;;;:::o;18723:184::-;18775:77;18772:1;18765:88;18872:4;18869:1;18862:15;18896:4;18893:1;18886:15;18912:184;18964:77;18961:1;18954:88;19061:4;19058:1;19051:15;19085:4;19082:1;19075:15;19101:184;19153:77;19150:1;19143:88;19250:4;19247:1;19240:15;19274:4;19271:1;19264:15

Swarm Source

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