Contract 0xB5F5AF1087A8DA62A23b08C00C6ec9af21F397a1 9

Txn Hash Method
Block
From
To
Value [Txn Fee]
0x7affacfad20860a545a53d80eca96f3831165e23d25f95c2e565b6e501d715f6Increase_constit...385334992022-05-18 19:38:3719 hrs 17 mins ago0x5cdaecc1a78a3b08d186e3f02e9f05c1bb92a59b IN  Rarity: Attributes0 FTM0.012680611357
0xd99693ae4da0c546ba30b448bc7ea489088fda61ce307609ed6bc958ac654a6ePoint_buy384904872022-05-18 5:20:231 day 9 hrs ago0x6f6c93e7a8737b300ecceab2bda611b679ee34c9 IN  Rarity: Attributes0 FTM0.025132965556
0xe68f19883a074c27775bffd9a116abf0fb9c7a753b8ded6400e76008a22d881cPoint_buy384903812022-05-18 5:18:251 day 9 hrs ago0x6f6c93e7a8737b300ecceab2bda611b679ee34c9 IN  Rarity: Attributes0 FTM0.025379803191
0xe318f4abcfbccae12922738b5f95387778dc434235705ef0c7e8034c5424b1fcPoint_buy384793432022-05-18 1:26:291 day 13 hrs ago0x06355362cd8ab65f6349535d0aac83dd911c3d54 IN  Rarity: Attributes0 FTM0.031169314156
0xa00dd6734bade6bbcceb2d7d7b0336f880b7c5b7626ba5ea42c8297b65f1cacfPoint_buy384791432022-05-18 1:23:121 day 13 hrs ago0x06355362cd8ab65f6349535d0aac83dd911c3d54 IN  Rarity: Attributes0 FTM0.031169314156
0x7132bacf1f8f0a449840c1c0eca28c337158e04e02b88e32865ba1a0ed473b85Increase_intelli...384572272022-05-17 17:58:041 day 20 hrs ago0x5cdaecc1a78a3b08d186e3f02e9f05c1bb92a59b IN  Rarity: Attributes0 FTM0.038995028286
0x242f56814e7d535201245e1d4c2f8b99eeb59c5d9046fa834e601183883e62e6Point_buy384438612022-05-17 13:13:502 days 1 hr ago0x06e1adb77c4662ca719659542d24629788fb80ef IN  Rarity: Attributes0 FTM0.035365401621
0x43bac938ecee9a4205a8e6fd32a6eed51a85366c6956e1c4bcabdaa4624e4389Point_buy384435032022-05-17 13:06:372 days 1 hr ago0x6f6c93e7a8737b300ecceab2bda611b679ee34c9 IN  Rarity: Attributes0 FTM0.029214917053
0x5f1d55c013154ab7aa904ac6fc93578775336954bb9363232b166315615107cePoint_buy384365722022-05-17 10:56:422 days 3 hrs ago0x6f6c93e7a8737b300ecceab2bda611b679ee34c9 IN  Rarity: Attributes0 FTM0.019772713408
0x4eea830f8fcc091fa6089c1b9b4b2c8770c70f586c154d6fdca5d16f537b4db8Point_buy384364812022-05-17 10:55:132 days 4 hrs ago0x6f6c93e7a8737b300ecceab2bda611b679ee34c9 IN  Rarity: Attributes0 FTM0.020881949716
0xc39a4b0adef62a9f0f54a571572e3d0fd427829622377ded8f3e89d4a3396fcaPoint_buy384324172022-05-17 9:41:452 days 5 hrs ago0x06e1adb77c4662ca719659542d24629788fb80ef IN  Rarity: Attributes0 FTM0.03197054504
0x3a1b1074d1a3a6618286204722aeb72946bf80b620936f49f3f4125c414c7e6eIncrease_intelli...384103292022-05-17 2:40:132 days 12 hrs ago0x5cdaecc1a78a3b08d186e3f02e9f05c1bb92a59b IN  Rarity: Attributes0 FTM0.025752658685
0x1d57ffb91c723bb9a4b554462cb5b4879cb956baa4d47df9a0168fee740e5636Increase_intelli...384101082022-05-17 2:36:152 days 12 hrs ago0x5cdaecc1a78a3b08d186e3f02e9f05c1bb92a59b IN  Rarity: Attributes0 FTM0.026751576084
0x938817552cd184961c80a30690af972e6e65cdba044d6c1d858a8f529679ecbcPoint_buy383944362022-05-16 21:44:452 days 17 hrs ago0xa1fa6ddfe70031620165bd555a0d865e6dc49fce IN  Rarity: Attributes0 FTM0.037040157587
0x34028b620105bfae97e996c30e76c32d05ac18a7bbc7eb5a013da49508817a17Point_buy383293052022-05-16 0:35:493 days 14 hrs ago0x98c68f5e8582e445ccd087bf40798bdb0a08028a IN  Rarity: Attributes0 FTM0.072532890841
0x536593a200fa53a04b8e9342758549e1af448f6814b4e621f4afec1f13e9f8f7Point_buy383066202022-05-15 16:20:163 days 22 hrs ago0x7209dae86a1d038d661478d3baf5ad01de6ffc8d IN  Rarity: Attributes0 FTM0.039631588234
0x5c9b1782dcd2d65851d96bc0f0469e1796ed7bc614ee0d70b149c610d35d1fa0Point_buy382865242022-05-15 9:48:414 days 5 hrs ago0x7209dae86a1d038d661478d3baf5ad01de6ffc8d IN  Rarity: Attributes0 FTM0.019704462175
0xb24289c70b70783c4843d3d3a99652f6aefba21d83d8913ecb187168e63111dfPoint_buy382852872022-05-15 9:25:524 days 5 hrs ago0x7209dae86a1d038d661478d3baf5ad01de6ffc8d IN  Rarity: Attributes0 FTM0.023142908278
0xe91fdb13512a9f988d2ddf2ac3d53539d235f10c86c6223382ede169741d8be0Point_buy382844722022-05-15 9:11:254 days 5 hrs ago0x7209dae86a1d038d661478d3baf5ad01de6ffc8d IN  Rarity: Attributes0 FTM0.029437675944
0x83a259f2737dd77508665aef45fcbb95938824cca612e8a493731cf31ca54010Increase_intelli...382036322022-05-14 6:18:195 days 8 hrs ago0x5cdaecc1a78a3b08d186e3f02e9f05c1bb92a59b IN  Rarity: Attributes0 FTM0.046015138895
0xa45265ae8dce944d84691974d6874a697fe2b141e37741b25871d246feefbb79Point_buy381318992022-05-13 4:06:256 days 10 hrs ago0x2ca449f12615022a13ec55958f23b14144b299a9 IN  Rarity: Attributes0 FTM0.134595688526
0x4fbcedf8f8064979217c9075d2b19ce453fc0a9d3014600513aebf271beb0c2dPoint_buy381292352022-05-13 2:55:146 days 12 hrs ago0x180a9b317ead25e6421669cc83474f600df1e630 IN  Rarity: Attributes0 FTM0.12634050142
0x4aae76525dc28ec0562124184675d7b3887a377c05108f1e876f552a99186da3Increase_intelli...379688942022-05-10 10:27:509 days 4 hrs ago0x7c9eb06dfbb320d9eb6cff26c83b0573c5e38c52 IN  Rarity: Attributes0 FTM0.02488529437
0xbb9b6c09c85d117b30aa5960516876851eb3f3b22012dea81adc32735bd1d86bIncrease_constit...378363732022-05-08 13:17:4111 days 1 hr ago0x1f692434101f4e4a95e9a525177a7e7ec60dcba6 IN  Rarity: Attributes0 FTM0.018967979084
0x10ab18f76c44c7a5035fc58390ad40990f91128afe8ea9322d24831f9ae2c76aPoint_buy377408302022-05-07 6:50:4712 days 8 hrs ago0x914cf015807b6dc05faf98c0145ff5ff6fe6c1de IN  Rarity: Attributes0 FTM0.009090725
[ Download CSV Export 
Latest 5 internal transactions
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
rarity_attributes

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, GNU LGPLv3 license
/**
 *Submitted for verification at FtmScan.com on 2021-09-06
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.7;

interface rarity {
    function level(uint) external view returns (uint);
    function getApproved(uint) external view returns (address);
    function ownerOf(uint) external view returns (address);
}

contract rarity_attributes {
    
    uint constant POINT_BUY = 32;
    rarity constant rm = rarity(0xce761D788DF608BD21bdd59d6f4B54b2e27F25Bb);
    
    struct ability_score {
        uint32 strength;
        uint32 dexterity;
        uint32 constitution;
        uint32 intelligence;
        uint32 wisdom;
        uint32 charisma;
    }
    
    mapping(uint => ability_score) public ability_scores;
    mapping(uint => uint) public level_points_spent;
    mapping(uint => bool) public character_created;
    
    event Created(address indexed creator, uint summoner, uint32 strength, uint32 dexterity, uint32 constitution, uint32 intelligence, uint32 wisdom, uint32 charisma);
    event Leveled(address indexed leveler, uint summoner, uint32 strength, uint32 dexterity, uint32 constitution, uint32 intelligence, uint32 wisdom, uint32 charisma);
    
    function _isApprovedOrOwner(uint _summoner) internal view returns (bool) {
        return rm.getApproved(_summoner) == msg.sender || rm.ownerOf(_summoner) == msg.sender;
    }
    
    function point_buy(uint _summoner, uint32 _str, uint32 _dex, uint32 _const, uint32 _int, uint32 _wis, uint32 _cha) external {
        require(_isApprovedOrOwner(_summoner));
        require(!character_created[_summoner]);
        require(calculate_point_buy(_str, _dex, _const, _int, _wis, _cha) == POINT_BUY);
        character_created[_summoner] = true;
        
        ability_scores[_summoner] = ability_score(_str, _dex, _const, _int, _wis, _cha);
        emit Created(msg.sender, _summoner, _str, _dex, _const, _int, _wis, _cha);
    }
    
    function calculate_point_buy(uint _str, uint _dex, uint _const, uint _int, uint _wis, uint _cha) public pure returns (uint) {
        return calc(_str)+calc(_dex)+calc(_const)+calc(_int)+calc(_wis)+calc(_cha);
    }
    
    function calc(uint score) public pure returns (uint) {
        if (score <= 14) {
            return score - 8;
        } else {
            return ((score - 8)**2)/6;
        }
    }
    
    function _increase_base(uint _summoner) internal {
        require(_isApprovedOrOwner(_summoner));
        require(character_created[_summoner]);
        uint _points_spent = level_points_spent[_summoner];
        require(abilities_by_level(rm.level(_summoner)) - _points_spent > 0);
        level_points_spent[_summoner] = _points_spent+1;
    }
    
    function increase_strength(uint _summoner) external {
        _increase_base(_summoner);
        ability_score storage _attr = ability_scores[_summoner];
        _attr.strength = _attr.strength+1;
        emit Leveled(msg.sender, _summoner, _attr.strength, _attr.dexterity, _attr.constitution, _attr.intelligence, _attr.wisdom, _attr.charisma);
    }
    
    function increase_dexterity(uint _summoner) external {
        _increase_base(_summoner);
        ability_score storage _attr = ability_scores[_summoner];
        _attr.dexterity = _attr.dexterity+1;
        emit Leveled(msg.sender, _summoner, _attr.strength, _attr.dexterity, _attr.constitution, _attr.intelligence, _attr.wisdom, _attr.charisma);
    }
    
    function increase_constitution(uint _summoner) external {
        _increase_base(_summoner);
        ability_score storage _attr = ability_scores[_summoner];
        _attr.constitution = _attr.constitution+1;
        emit Leveled(msg.sender, _summoner, _attr.strength, _attr.dexterity, _attr.constitution, _attr.intelligence, _attr.wisdom, _attr.charisma);
    }
    
    function increase_intelligence(uint _summoner) external {
        _increase_base(_summoner);
        ability_score storage _attr = ability_scores[_summoner];
        _attr.intelligence = _attr.intelligence+1;
        emit Leveled(msg.sender, _summoner, _attr.strength, _attr.dexterity, _attr.constitution, _attr.intelligence, _attr.wisdom, _attr.charisma);
    }
    
    function increase_wisdom(uint _summoner) external {
        _increase_base(_summoner);
        ability_score storage _attr = ability_scores[_summoner];
        _attr.wisdom = _attr.wisdom+1;
        emit Leveled(msg.sender, _summoner, _attr.strength, _attr.dexterity, _attr.constitution, _attr.intelligence, _attr.wisdom, _attr.charisma);
    }
    
    function increase_charisma(uint _summoner) external {
        _increase_base(_summoner);
        ability_score storage _attr = ability_scores[_summoner];
        _attr.charisma = _attr.charisma+1;
        emit Leveled(msg.sender, _summoner, _attr.strength, _attr.dexterity, _attr.constitution, _attr.intelligence, _attr.wisdom, _attr.charisma);
    }
    
    
    function abilities_by_level(uint current_level) public pure returns (uint) {
        return current_level / 4;
    }
    
    
    function tokenURI(uint256 _summoner) public view returns (string memory) {
        string memory output;
        {
        string[7] memory parts;
        ability_score memory _attr = ability_scores[_summoner];
        parts[0] = '<svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMinYMin meet" viewBox="0 0 350 350"><style>.base { fill: white; font-family: serif; font-size: 14px; }</style><rect width="100%" height="100%" fill="black" /><text x="10" y="20" class="base">';

        parts[1] = string(abi.encodePacked("strength", " ", toString(_attr.strength), '</text><text x="10" y="40" class="base">'));

        parts[2] = string(abi.encodePacked("dexterity", " ", toString(_attr.dexterity), '</text><text x="10" y="60" class="base">'));

        parts[3] = string(abi.encodePacked("constitution", " ", toString(_attr.constitution), '</text><text x="10" y="60" class="base">'));

        parts[4] = string(abi.encodePacked("intelligence", " ", toString(_attr.intelligence),  '</text><text x="10" y="60" class="base">'));

        parts[5] = string(abi.encodePacked("wisdom", " ", toString(_attr.wisdom), '</text><text x="10" y="60" class="base">'));

        parts[6] = string(abi.encodePacked("charisma", " ", toString(_attr.charisma), '</text></svg>'));
        
        output = string(abi.encodePacked(parts[0], parts[1], parts[2], parts[3], parts[4], parts[5], parts[6]));
        }
        string memory json = Base64.encode(bytes(string(abi.encodePacked('{"name": "summoner #', toString(_summoner), '", "description": "Rarity is achieved via an active economy, summoners must level, gain feats, learn spells, to be able to craft gear. This allows for market driven rarity while allowing an ever growing economy. Feats, spells, and summoner gear is ommitted as part of further expansions.", "image": "data:image/svg+xml;base64,', Base64.encode(bytes(output)), '"}'))));
        output = string(abi.encodePacked('data:application/json;base64,', json));

        return output;
    }
    
    function toString(uint256 value) internal pure returns (string memory) {
    // Inspired by OraclizeAPI's implementation - MIT license
    // https://github.com/oraclize/ethereum-api/blob/b42146b063c7d6ee1358846c198246239e9360e8/oraclizeAPI_0.4.25.sol

        if (value == 0) {
            return "0";
        }
        uint256 temp = value;
        uint256 digits;
        while (temp != 0) {
            digits++;
            temp /= 10;
        }
        bytes memory buffer = new bytes(digits);
        while (value != 0) {
            digits -= 1;
            buffer[digits] = bytes1(uint8(48 + uint256(value % 10)));
            value /= 10;
        }
        return string(buffer);
    }
}

/// [MIT License]
/// @title Base64
/// @notice Provides a function for encoding some bytes in base64
/// @author Brecht Devos <[email protected]>
library Base64 {
    bytes internal constant TABLE = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";

    /// @notice Encodes some bytes to the base64 representation
    function encode(bytes memory data) internal pure returns (string memory) {
        uint256 len = data.length;
        if (len == 0) return "";

        // multiply by 4/3 rounded up
        uint256 encodedLen = 4 * ((len + 2) / 3);

        // Add some extra buffer at the end
        bytes memory result = new bytes(encodedLen + 32);

        bytes memory table = TABLE;

        assembly {
            let tablePtr := add(table, 1)
            let resultPtr := add(result, 32)

            for {
                let i := 0
            } lt(i, len) {

            } {
                i := add(i, 3)
                let input := and(mload(add(data, i)), 0xffffff)

                let out := mload(add(tablePtr, and(shr(18, input), 0x3F)))
                out := shl(8, out)
                out := add(out, and(mload(add(tablePtr, and(shr(12, input), 0x3F))), 0xFF))
                out := shl(8, out)
                out := add(out, and(mload(add(tablePtr, and(shr(6, input), 0x3F))), 0xFF))
                out := shl(8, out)
                out := add(out, and(mload(add(tablePtr, and(input, 0x3F))), 0xFF))
                out := shl(224, out)

                mstore(resultPtr, out)

                resultPtr := add(resultPtr, 4)
            }

            switch mod(len, 3)
            case 1 {
                mstore(sub(resultPtr, 2), shl(240, 0x3d3d))
            }
            case 2 {
                mstore(sub(resultPtr, 1), shl(248, 0x3d))
            }

            mstore(result, encodedLen)
        }

        return string(result);
    }
}

Contract Security Audit

Contract ABI

[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"creator","type":"address"},{"indexed":false,"internalType":"uint256","name":"summoner","type":"uint256"},{"indexed":false,"internalType":"uint32","name":"strength","type":"uint32"},{"indexed":false,"internalType":"uint32","name":"dexterity","type":"uint32"},{"indexed":false,"internalType":"uint32","name":"constitution","type":"uint32"},{"indexed":false,"internalType":"uint32","name":"intelligence","type":"uint32"},{"indexed":false,"internalType":"uint32","name":"wisdom","type":"uint32"},{"indexed":false,"internalType":"uint32","name":"charisma","type":"uint32"}],"name":"Created","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"leveler","type":"address"},{"indexed":false,"internalType":"uint256","name":"summoner","type":"uint256"},{"indexed":false,"internalType":"uint32","name":"strength","type":"uint32"},{"indexed":false,"internalType":"uint32","name":"dexterity","type":"uint32"},{"indexed":false,"internalType":"uint32","name":"constitution","type":"uint32"},{"indexed":false,"internalType":"uint32","name":"intelligence","type":"uint32"},{"indexed":false,"internalType":"uint32","name":"wisdom","type":"uint32"},{"indexed":false,"internalType":"uint32","name":"charisma","type":"uint32"}],"name":"Leveled","type":"event"},{"inputs":[{"internalType":"uint256","name":"current_level","type":"uint256"}],"name":"abilities_by_level","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"ability_scores","outputs":[{"internalType":"uint32","name":"strength","type":"uint32"},{"internalType":"uint32","name":"dexterity","type":"uint32"},{"internalType":"uint32","name":"constitution","type":"uint32"},{"internalType":"uint32","name":"intelligence","type":"uint32"},{"internalType":"uint32","name":"wisdom","type":"uint32"},{"internalType":"uint32","name":"charisma","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"score","type":"uint256"}],"name":"calc","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"_str","type":"uint256"},{"internalType":"uint256","name":"_dex","type":"uint256"},{"internalType":"uint256","name":"_const","type":"uint256"},{"internalType":"uint256","name":"_int","type":"uint256"},{"internalType":"uint256","name":"_wis","type":"uint256"},{"internalType":"uint256","name":"_cha","type":"uint256"}],"name":"calculate_point_buy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"character_created","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_summoner","type":"uint256"}],"name":"increase_charisma","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_summoner","type":"uint256"}],"name":"increase_constitution","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_summoner","type":"uint256"}],"name":"increase_dexterity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_summoner","type":"uint256"}],"name":"increase_intelligence","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_summoner","type":"uint256"}],"name":"increase_strength","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_summoner","type":"uint256"}],"name":"increase_wisdom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"level_points_spent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_summoner","type":"uint256"},{"internalType":"uint32","name":"_str","type":"uint32"},{"internalType":"uint32","name":"_dex","type":"uint32"},{"internalType":"uint32","name":"_const","type":"uint32"},{"internalType":"uint32","name":"_int","type":"uint32"},{"internalType":"uint32","name":"_wis","type":"uint32"},{"internalType":"uint32","name":"_cha","type":"uint32"}],"name":"point_buy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_summoner","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"}]

608060405234801561001057600080fd5b50611b42806100206000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063bf2bf8951161008c578063de99903911610066578063de99903914610261578063e0d92c4a14610274578063f895543214610287578063fe6676b3146102ba57600080fd5b8063bf2bf8951461021b578063c3c2407c1461022e578063c87b56dd1461024157600080fd5b806377d9e11c116100c857806377d9e11c1461013d578063849ada74146101d557806396cf4c4b146101f55780639ed24c8e1461020857600080fd5b806305934d9c146100ef57806338c9027a1461010457806351c232261461012a575b600080fd5b6101026100fd366004611160565b6102cd565b005b610117610112366004611160565b610385565b6040519081526020015b60405180910390f35b610117610138366004611160565b6103c8565b61019661014b366004611160565b60006020819052908152604090205463ffffffff80821691600160201b8104821691600160401b8204811691600160601b8104821691600160801b8204811691600160a01b90041686565b6040805163ffffffff978816815295871660208701529386169385019390935290841660608401528316608083015290911660a082015260c001610121565b6101176101e3366004611160565b60016020526000908152604090205481565b610102610203366004611160565b6103d5565b610117610216366004611192565b61047d565b610102610229366004611160565b6104f2565b61010261023c3660046111d5565b610598565b61025461024f366004611160565b6107d6565b6040516101219190611713565b61010261026f366004611160565b610a74565b610102610282366004611160565b610b09565b6102aa610295366004611160565b60026020526000908152604090205460ff1681565b6040519015158152602001610121565b6101026102c8366004611160565b610bb8565b6102d681610c5f565b600081815260208190526040902080546102fe90600160201b900463ffffffff166001611798565b815467ffffffff00000000198116600160201b63ffffffff93841681029182178086556040513395600080516020611aed83398151915295610379958a959183169083161793908104821692600160401b8204831692600160601b8304811692600160801b8104821692600160a01b90910490911690611746565b60405180910390a25050565b6000600e82116103a05761039a6008836118e1565b92915050565b600660026103af6008856118e1565b6103b99190611817565b61039a91906117c0565b919050565b600061039a6004836117c0565b6103de81610c5f565b6000818152602081905260409020805461040690600160601b900463ffffffff166001611798565b815463ffffffff60601b198116600160601b63ffffffff93841681029182178086556040513395600080516020611aed83398151915295610379958a959183169083161793600160201b8104831693600160401b8204841693928204831692600160801b8304811692600160a01b90041690611746565b600061048882610385565b61049184610385565b61049a86610385565b6104a388610385565b6104ac8a610385565b6104b58c610385565b6104bf9190611780565b6104c99190611780565b6104d39190611780565b6104dd9190611780565b6104e79190611780565b979650505050505050565b6104fb81610c5f565b6000818152602081905260409020805461052390600160a01b900463ffffffff166001611798565b815463ffffffff60a01b198116600160a01b63ffffffff93841681029182178086556040513395600080516020611aed83398151915295610379958a959183169083161793600160201b8104831693600160401b8204841693600160601b8304811693600160801b8404821693041690611746565b6105a187610d5c565b6105aa57600080fd5b60008781526002602052604090205460ff16156105c657600080fd5b60206105fa8763ffffffff168763ffffffff168763ffffffff168763ffffffff168763ffffffff168763ffffffff1661047d565b1461060457600080fd5b60016002600089815260200190815260200160002060006101000a81548160ff0219169083151502179055506040518060c001604052808763ffffffff1681526020018663ffffffff1681526020018563ffffffff1681526020018463ffffffff1681526020018363ffffffff1681526020018263ffffffff1681525060008089815260200190815260200160002060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a81548163ffffffff021916908363ffffffff16021790555060408201518160000160086101000a81548163ffffffff021916908363ffffffff160217905550606082015181600001600c6101000a81548163ffffffff021916908363ffffffff16021790555060808201518160000160106101000a81548163ffffffff021916908363ffffffff16021790555060a08201518160000160146101000a81548163ffffffff021916908363ffffffff160217905550905050336001600160a01b03167f471b798bfd4e4756e197917dd3ba2cbf782f09c2deef48cd5fa694cdba976328888888888888886040516107c59796959493929190611746565b60405180910390a250505050505050565b6060806107e16110f5565b60008481526020818152604091829020825160c081018452905463ffffffff8082168352600160201b8204811683850152600160401b8204811683860152600160601b820481166060840152600160801b820481166080840152600160a01b9091041660a08201528251610120810190935260fd8084529092916119b090830139825280516108759063ffffffff16610e89565b6040516020016108859190611441565b60408051808303601f190181529190526020808401919091528101516108b09063ffffffff16610e89565b6040516020016108c09190611405565b60408051601f19818403018152919052826002602002015260408101516108ec9063ffffffff16610e89565b6040516020016108fc919061138d565b60408051601f19818403018152919052826003602002015260608101516109289063ffffffff16610e89565b60405160200161093891906114b3565b60408051601f19818403018152919052826004602002015260808101516109649063ffffffff16610e89565b60405160200161097491906113cc565b60408051601f19818403018152919052826005602002015260a08101516109a09063ffffffff16610e89565b6040516020016109b0919061133c565b60408051808303601f1901815291815260c084018290528351602080860151868401516060880151608089015160a08a015196516109fa98969794969395929491939192016112aa565b604051602081830303815290604052925050506000610a49610a1b85610e89565b610a2484610f8f565b604051602001610a35929190611529565b604051602081830303815290604052610f8f565b905080604051602001610a5c91906114e4565b60408051601f19818403018152919052949350505050565b610a7d81610c5f565b60008181526020819052604090208054610a9e9063ffffffff166001611798565b815463ffffffff191663ffffffff9182169081178084556040513393600080516020611aed833981519152936103799388939192600160201b8204811692600160401b8304821692600160601b8104831692600160801b8204811692600160a01b9092041690611746565b610b1281610c5f565b60008181526020819052604090208054610b3a90600160401b900463ffffffff166001611798565b81546bffffffff0000000000000000198116600160401b63ffffffff93841681029182178086556040513395600080516020611aed83398151915295610379958a959183169083161793600160201b8104831693918104831692600160601b8204811692600160801b8304821692600160a01b900490911690611746565b610bc181610c5f565b60008181526020819052604090208054610be990600160801b900463ffffffff166001611798565b815463ffffffff60801b198116600160801b63ffffffff93841681029182178086556040513395600080516020611aed83398151915295610379958a959183169083161793600160201b8104831693600160401b8204841693600160601b83048116938304811692600160a01b90041690611746565b610c6881610d5c565b610c7157600080fd5b60008181526002602052604090205460ff16610c8c57600080fd5b6000818152600160205260408082205490516302e2c6f960e11b8152600481018490529091908290610d279073ce761d788df608bd21bdd59d6f4b54b2e27f25bb906305c58df29060240160206040518083038186803b158015610cef57600080fd5b505afa158015610d03573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101389190611179565b610d3191906118e1565b11610d3b57600080fd5b610d46816001611780565b6000928352600160205260409092209190915550565b60405163020604bf60e21b815260048101829052600090339073ce761d788df608bd21bdd59d6f4b54b2e27f25bb9063081812fc9060240160206040518083038186803b158015610dac57600080fd5b505afa158015610dc0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de49190611130565b6001600160a01b0316148061039a57506040516331a9108f60e11b815260048101839052339073ce761d788df608bd21bdd59d6f4b54b2e27f25bb90636352211e9060240160206040518083038186803b158015610e4157600080fd5b505afa158015610e55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e799190611130565b6001600160a01b03161492915050565b606081610ead5750506040805180820190915260018152600360fc1b602082015290565b8160005b8115610ed75780610ec181611928565b9150610ed09050600a836117c0565b9150610eb1565b60008167ffffffffffffffff811115610ef257610ef2611999565b6040519080825280601f01601f191660200182016040528015610f1c576020820181803683370190505b5090505b8415610f8757610f316001836118e1565b9150610f3e600a86611943565b610f49906030611780565b60f81b818381518110610f5e57610f5e611983565b60200101906001600160f81b031916908160001a905350610f80600a866117c0565b9450610f20565b949350505050565b805160609080610faf575050604080516020810190915260008152919050565b60006003610fbe836002611780565b610fc891906117c0565b610fd39060046118c2565b90506000610fe2826020611780565b67ffffffffffffffff811115610ffa57610ffa611999565b6040519080825280601f01601f191660200182016040528015611024576020820181803683370190505b5090506000604051806060016040528060408152602001611aad604091399050600181016020830160005b868110156110b0576003818a01810151603f601282901c8116860151600c83901c8216870151600684901c831688015192909316870151600891821b60ff94851601821b92841692909201901b91160160e01b83526004909201910161104f565b5060038606600181146110ca57600281146110db576110e7565b613d3d60f01b6001198301526110e7565b603d60f81b6000198301525b505050918152949350505050565b6040518060e001604052806007905b60608152602001906001900390816111045790505090565b803563ffffffff811681146103c357600080fd5b60006020828403121561114257600080fd5b81516001600160a01b038116811461115957600080fd5b9392505050565b60006020828403121561117257600080fd5b5035919050565b60006020828403121561118b57600080fd5b5051919050565b60008060008060008060c087890312156111ab57600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b600080600080600080600060e0888a0312156111f057600080fd5b873596506112006020890161111c565b955061120e6040890161111c565b945061121c6060890161111c565b935061122a6080890161111c565b925061123860a0890161111c565b915061124660c0890161111c565b905092959891949750929550565b600081516112668185602086016118f8565b9290920192915050565b7f3c2f746578743e3c7465787420783d2231302220793d2236302220636c6173738152671e913130b9b2911f60c11b602082015260280190565b6000885160206112bd8285838e016118f8565b8951918401916112d08184848e016118f8565b89519201916112e28184848d016118f8565b88519201916112f48184848c016118f8565b87519201916113068184848b016118f8565b86519201916113188184848a016118f8565b855192019161132a81848489016118f8565b919091019a9950505050505050505050565b676368617269736d6160c01b8152600160fd1b6008820152600082516113698160098501602087016118f8565b6c1e17ba32bc3a1f1e17b9bb339f60991b6009939091019283015250601601919050565b6b31b7b739ba34ba3aba34b7b760a11b8152600160fd1b600c820152600082516113be81600d8501602087016118f8565b610f87600d82850101611270565b65776973646f6d60d01b8152600160fd1b6006820152600082516113f78160078501602087016118f8565b610f87600782850101611270565b6864657874657269747960b81b8152600160fd1b60098201526000825161143381600a8501602087016118f8565b610f87600a82850101611270565b670e6e8e4cadccee8d60c31b8152600160fd1b60088201526000825161146e8160098501602087016118f8565b7f3c2f746578743e3c7465787420783d2231302220793d2234302220636c6173736009939091019283015250671e913130b9b2911f60c11b6029820152603101919050565b6b696e74656c6c6967656e636560a01b8152600160fd1b600c820152600082516113be81600d8501602087016118f8565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000081526000825161151c81601d8501602087016118f8565b91909101601d0192915050565b737b226e616d65223a202273756d6d6f6e6572202360601b815282516000906115598160148501602088016118f8565b7f222c20226465736372697074696f6e223a2022526172697479206973206163686014918401918201527f69657665642076696120616e206163746976652065636f6e6f6d792c2073756d60348201527f6d6f6e657273206d757374206c6576656c2c206761696e2066656174732c206c60548201527f6561726e207370656c6c732c20746f2062652061626c6520746f20637261667460748201527f20676561722e205468697320616c6c6f777320666f72206d61726b657420647260948201527f6976656e20726172697479207768696c6520616c6c6f77696e6720616e20657660b48201527f65722067726f77696e672065636f6e6f6d792e2046656174732c207370656c6c60d48201527f732c20616e642073756d6d6f6e65722067656172206973206f6d6d697474656460f48201527f2061732070617274206f66206675727468657220657870616e73696f6e732e226101148201527f2c2022696d616765223a2022646174613a696d6167652f7376672b786d6c3b6261013482015265185cd94d8d0b60d21b61015482015261170a6116fc61015a830186611254565b61227d60f01b815260020190565b95945050505050565b60208152600082518060208401526117328160408501602087016118f8565b601f01601f19169190910160400192915050565b96875263ffffffff95861660208801529385166040870152918416606086015283166080850152821660a08401521660c082015260e00190565b6000821982111561179357611793611957565b500190565b600063ffffffff8083168185168083038211156117b7576117b7611957565b01949350505050565b6000826117cf576117cf61196d565b500490565b600181815b8085111561180f5781600019048211156117f5576117f5611957565b8085161561180257918102915b93841c93908002906117d9565b509250929050565b600061115960ff8416836000826118305750600161039a565b8161183d5750600061039a565b8160018114611853576002811461185d57611879565b600191505061039a565b60ff84111561186e5761186e611957565b50506001821b61039a565b5060208310610133831016604e8410600b841016171561189c575081810a61039a565b6118a683836117d4565b80600019048211156118ba576118ba611957565b029392505050565b60008160001904831182151516156118dc576118dc611957565b500290565b6000828210156118f3576118f3611957565b500390565b60005b838110156119135781810151838201526020016118fb565b83811115611922576000848401525b50505050565b600060001982141561193c5761193c611957565b5060010190565b6000826119525761195261196d565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fdfe3c73766720786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323030302f73766722207072657365727665417370656374526174696f3d22784d696e594d696e206d656574222076696577426f783d223020302033353020333530223e3c7374796c653e2e62617365207b2066696c6c3a2077686974653b20666f6e742d66616d696c793a2073657269663b20666f6e742d73697a653a20313470783b207d3c2f7374796c653e3c726563742077696474683d223130302522206865696768743d2231303025222066696c6c3d22626c61636b22202f3e3c7465787420783d2231302220793d2232302220636c6173733d2262617365223e4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f207b63f0a8632134b76c8dd10b38a52179fc29b3fa01eb51e4662e4c720ec8d4a26469706673582212203528791a508493f9ea8325516c2add82400b3f6069ac9a9a8437cf65ea9e76d464736f6c63430008070033

Deployed ByteCode Sourcemap

267:7548:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3058:358;;;;;;:::i;:::-;;:::i;:::-;;2126:189;;;;;;:::i;:::-;;:::i;:::-;;;11150:25:1;;;11138:2;11123:18;2126:189:0;;;;;;;;4920:118;;;;;;:::i;:::-;;:::i;630:52::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;630:52:0;;;;;-1:-1:-1;;;630:52:0;;;;;-1:-1:-1;;;630:52:0;;;;;-1:-1:-1;;;630:52:0;;;;;-1:-1:-1;;;630:52:0;;;;;;;;;12154:10:1;12191:15;;;12173:34;;12243:15;;;12238:2;12223:18;;12216:43;12295:15;;;12275:18;;;12268:43;;;;12347:15;;;12342:2;12327:18;;12320:43;12400:15;;12394:3;12379:19;;12372:44;12453:15;;;12447:3;12432:19;;12425:44;12131:3;12116:19;630:52:0;11869:606:1;689:47:0;;;;;;:::i;:::-;;;;;;;;;;;;;;3807:367;;;;;;:::i;:::-;;:::i;1897:217::-;;;;;;:::i;:::-;;:::i;4547:355::-;;;;;;:::i;:::-;;:::i;1335:550::-;;;;;;:::i;:::-;;:::i;5056:2029::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;2691:355::-;;;;;;:::i;:::-;;:::i;3428:367::-;;;;;;:::i;:::-;;:::i;743:46::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10589:14:1;;10582:22;10564:41;;10552:2;10537:18;743:46:0;10424:187:1;4186:349:0;;;;;;:::i;:::-;;:::i;3058:358::-;3122:25;3137:9;3122:14;:25::i;:::-;3158:27;3188:25;;;;;;;;;;3242:15;;:17;;-1:-1:-1;;;3242:15:0;;;;3258:1;3242:17;:::i;:::-;3224:35;;-1:-1:-1;;3224:35:0;;-1:-1:-1;;;3224:35:0;;;;;;;;;;;;3275:133;;3283:10;;-1:-1:-1;;;;;;;;;;;3275:133:0;;;3295:9;;3306:14;;;;;;;;3322:15;;;;;;-1:-1:-1;;;3339:18:0;;;;;-1:-1:-1;;;3359:18:0;;;;;-1:-1:-1;;;3379:12:0;;;;;-1:-1:-1;;;3393:14:0;;;;;;;3275:133;:::i;:::-;;;;;;;;3111:305;3058:358;:::o;2126:189::-;2173:4;2203:2;2194:5;:11;2190:118;;2229:9;2237:1;2229:5;:9;:::i;:::-;2222:16;2126:189;-1:-1:-1;;2126:189:0:o;2190:118::-;2295:1;2292;2280:9;2288:1;2280:5;:9;:::i;:::-;2279:14;;;;:::i;:::-;2278:18;;;;:::i;2190:118::-;2126:189;;;:::o;4920:118::-;4989:4;5013:17;5029:1;5013:13;:17;:::i;3807:367::-;3874:25;3889:9;3874:14;:25::i;:::-;3910:27;3940:25;;;;;;;;;;3997:18;;:20;;-1:-1:-1;;;3997:18:0;;;;4016:1;3997:20;:::i;:::-;3976:41;;-1:-1:-1;;;;3976:41:0;;-1:-1:-1;;;3976:41:0;;;;;;;;;;;;4033:133;;4041:10;;-1:-1:-1;;;;;;;;;;;4033:133:0;;;4053:9;;4064:14;;;;;;;;-1:-1:-1;;;4080:15:0;;;;;-1:-1:-1;;;4097:18:0;;;;;4117;;;;;;-1:-1:-1;;;4137:12:0;;;;;-1:-1:-1;;;4151:14:0;;;;4033:133;:::i;1897:217::-;2015:4;2096:10;2101:4;2096;:10::i;:::-;2085;2090:4;2085;:10::i;:::-;2074;2079:4;2074;:10::i;:::-;2061:12;2066:6;2061:4;:12::i;:::-;2050:10;2055:4;2050;:10::i;:::-;2039;2044:4;2039;:10::i;:::-;:21;;;;:::i;:::-;:34;;;;:::i;:::-;:45;;;;:::i;:::-;:56;;;;:::i;:::-;:67;;;;:::i;:::-;2032:74;1897:217;-1:-1:-1;;;;;;;1897:217:0:o;4547:355::-;4610:25;4625:9;4610:14;:25::i;:::-;4646:27;4676:25;;;;;;;;;;4729:14;;:16;;-1:-1:-1;;;4729:14:0;;;;4744:1;4729:16;:::i;:::-;4712:33;;-1:-1:-1;;;;4712:33:0;;-1:-1:-1;;;4712:33:0;;;;;;;;;;;;4761:133;;4769:10;;-1:-1:-1;;;;;;;;;;;4761:133:0;;;4781:9;;4792:14;;;;;;;;-1:-1:-1;;;4808:15:0;;;;;-1:-1:-1;;;4825:18:0;;;;;-1:-1:-1;;;4845:18:0;;;;;-1:-1:-1;;;4865:12:0;;;;;4879:14;;;4761:133;:::i;1335:550::-;1478:29;1497:9;1478:18;:29::i;:::-;1470:38;;;;;;1528:28;;;;:17;:28;;;;;;;;1527:29;1519:38;;;;;;333:2;1576:57;1596:4;1576:57;;1602:4;1576:57;;1608:6;1576:57;;1616:4;1576:57;;1622:4;1576:57;;1628:4;1576:57;;:19;:57::i;:::-;:70;1568:79;;;;;;1689:4;1658:17;:28;1676:9;1658:28;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;1742:51;;;;;;;;1756:4;1742:51;;;;;;1762:4;1742:51;;;;;;1768:6;1742:51;;;;;;1776:4;1742:51;;;;;;1782:4;1742:51;;;;;;1788:4;1742:51;;;;;1714:14;:25;1729:9;1714:25;;;;;;;;;;;:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1817:10;-1:-1:-1;;;;;1809:68:0;;1829:9;1840:4;1846;1852:6;1860:4;1866;1872;1809:68;;;;;;;;;;;;:::i;:::-;;;;;;;;1335:550;;;;;;;:::o;5056:2029::-;5114:13;5140:20;5182:22;;:::i;:::-;5215:26;5244:25;;;;;;;;;;;;5215:54;;;;;;;;;;;;;;;-1:-1:-1;;;5215:54:0;;;;;;;;-1:-1:-1;;;5215:54:0;;;;;;;;-1:-1:-1;;;5215:54:0;;;;;;;;-1:-1:-1;;;5215:54:0;;;;;;;;-1:-1:-1;;;5215:54:0;;;;;;;;5280:266;;;;;;;;;;;;5215:54;;5280:266;;;;;;;;5620:14;;5611:24;;;;:8;:24::i;:::-;5577:103;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;5577:103:0;;;;;;5559:8;;;;:122;;;;5756:15;;;5747:25;;;;:8;:25::i;:::-;5712:105;;;;;;;;:::i;:::-;;;;-1:-1:-1;;5712:105:0;;;;;;;;;5694:5;5700:1;5694:8;;;:124;5896:18;;;;5887:28;;;;:8;:28::i;:::-;5849:111;;;;;;;;:::i;:::-;;;;-1:-1:-1;;5849:111:0;;;;;;;;;5831:5;5837:1;5831:8;;;:130;6039:18;;;;6030:28;;;;:8;:28::i;:::-;5992:112;;;;;;;;:::i;:::-;;;;-1:-1:-1;;5992:112:0;;;;;;;;;5974:5;5980:1;5974:8;;;:131;6177:12;;;;6168:22;;;;:8;:22::i;:::-;6136:99;;;;;;;;:::i;:::-;;;;-1:-1:-1;;6136:99:0;;;;;;;;;6118:5;6124:1;6118:8;;;:118;6310:14;;;;6301:24;;;;:8;:24::i;:::-;6267:76;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;6267:76:0;;;;;;6249:8;;;:95;;;6398:8;;6249;6408;;;;6418;;;;6428;;;;6438;;;;6448;;;;6381:86;;;;6398:8;;6408;;6418;;6428;;6438;;6448;;6381:86;;:::i;:::-;;;;;;;;;;;;;6365:103;;5171:1309;;6490:18;6511:457;6579:19;6588:9;6579:8;:19::i;:::-;6930:28;6950:6;6930:13;:28::i;:::-;6538:427;;;;;;;;;:::i;:::-;;;;;;;;;;;;;6511:13;:457::i;:::-;6490:478;;7045:4;6995:55;;;;;;;;:::i;:::-;;;;-1:-1:-1;;6995:55:0;;;;;;;;;;5056:2029;-1:-1:-1;;;;5056:2029:0:o;2691:355::-;2754:25;2769:9;2754:14;:25::i;:::-;2790:27;2820:25;;;;;;;;;;2873:14;;:16;;:14;;;:16;:::i;:::-;2856:33;;-1:-1:-1;;2856:33:0;;;;;;;;;;;2905:133;;2913:10;;-1:-1:-1;;;;;;;;;;;2905:133:0;;;2925:9;;2856:33;;-1:-1:-1;;;2952:15:0;;;;;-1:-1:-1;;;2969:18:0;;;;;-1:-1:-1;;;2989:18:0;;;;;-1:-1:-1;;;3009:12:0;;;;;-1:-1:-1;;;3023:14:0;;;;;2905:133;:::i;3428:367::-;3495:25;3510:9;3495:14;:25::i;:::-;3531:27;3561:25;;;;;;;;;;3618:18;;:20;;-1:-1:-1;;;3618:18:0;;;;3637:1;3618:20;:::i;:::-;3597:41;;-1:-1:-1;;3597:41:0;;-1:-1:-1;;;3597:41:0;;;;;;;;;;;;3654:133;;3662:10;;-1:-1:-1;;;;;;;;;;;3654:133:0;;;3674:9;;3685:14;;;;;;;;-1:-1:-1;;;3701:15:0;;;;;3718:18;;;;;;-1:-1:-1;;;3738:18:0;;;;;-1:-1:-1;;;3758:12:0;;;;;-1:-1:-1;;;3772:14:0;;;;;;3654:133;:::i;4186:349::-;4247:25;4262:9;4247:14;:25::i;:::-;4283:27;4313:25;;;;;;;;;;4364:12;;:14;;-1:-1:-1;;;4364:12:0;;;;4377:1;4364:14;:::i;:::-;4349:29;;-1:-1:-1;;;;4349:29:0;;-1:-1:-1;;;4349:29:0;;;;;;;;;;;;4394:133;;4402:10;;-1:-1:-1;;;;;;;;;;;4394:133:0;;;4414:9;;4425:14;;;;;;;;-1:-1:-1;;;4441:15:0;;;;;-1:-1:-1;;;4458:18:0;;;;;-1:-1:-1;;;4478:18:0;;;;;4498:12;;;;;-1:-1:-1;;;4512:14:0;;;;4394:133;:::i;2327:352::-;2395:29;2414:9;2395:18;:29::i;:::-;2387:38;;;;;;2444:28;;;;:17;:28;;;;;;;;2436:37;;;;;;2484:18;2505:29;;;:18;:29;;;;;;;2572:19;;-1:-1:-1;;;2572:19:0;;;;;11150:25:1;;;2505:29:0;;2484:18;2505:29;;2553:39;;370:42;;2572:8;;11123:18:1;;2572:19:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;2553:39::-;:55;;;;:::i;:::-;:59;2545:68;;;;;;2656:15;:13;2670:1;2656:15;:::i;:::-;2624:29;;;;:18;:29;;;;;;:47;;;;-1:-1:-1;2327:352:0:o;1146:177::-;1237:25;;-1:-1:-1;;;1237:25:0;;;;;11150::1;;;1213:4:0;;1266:10;;370:42;;1237:14;;11123:18:1;;1237:25:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1237:39:0;;:78;;;-1:-1:-1;1280:21:0;;-1:-1:-1;;;1280:21:0;;;;;11150:25:1;;;1305:10:0;;370:42;;1280:10;;11123:18:1;;1280:21:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1280:35:0;;1230:85;1146:177;-1:-1:-1;;1146:177:0:o;7097:715::-;7153:13;7366:10;7362:53;;-1:-1:-1;;7393:10:0;;;;;;;;;;;;-1:-1:-1;;;7393:10:0;;;;;7097:715::o;7362:53::-;7440:5;7425:12;7481:78;7488:9;;7481:78;;7514:8;;;;:::i;:::-;;-1:-1:-1;7537:10:0;;-1:-1:-1;7545:2:0;7537:10;;:::i;:::-;;;7481:78;;;7569:19;7601:6;7591:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7591:17:0;;7569:39;;7619:154;7626:10;;7619:154;;7653:11;7663:1;7653:11;;:::i;:::-;;-1:-1:-1;7722:10:0;7730:2;7722:5;:10;:::i;:::-;7709:24;;:2;:24;:::i;:::-;7696:39;;7679:6;7686;7679:14;;;;;;;;:::i;:::-;;;;:56;-1:-1:-1;;;;;7679:56:0;;;;;;;;-1:-1:-1;7750:11:0;7759:2;7750:11;;:::i;:::-;;;7619:154;;;7797:6;7097:715;-1:-1:-1;;;;7097:715:0:o;8166:1607::-;8264:11;;8224:13;;8290:8;8286:23;;-1:-1:-1;;8300:9:0;;;;;;;;;-1:-1:-1;8300:9:0;;;8166:1607;-1:-1:-1;8166:1607:0:o;8286:23::-;8361:18;8399:1;8388:7;:3;8394:1;8388:7;:::i;:::-;8387:13;;;;:::i;:::-;8382:19;;:1;:19;:::i;:::-;8361:40;-1:-1:-1;8459:19:0;8491:15;8361:40;8504:2;8491:15;:::i;:::-;8481:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8481:26:0;;8459:48;;8520:18;8541:5;;;;;;;;;;;;;;;;;8520:26;;8610:1;8603:5;8599:13;8655:2;8647:6;8643:15;8706:1;8674:777;8729:3;8726:1;8723:10;8674:777;;;8784:1;8827:12;;;;;8821:19;8922:4;8910:2;8906:14;;;;;8888:40;;8882:47;9031:2;9027:14;;;9023:25;;9009:40;;9003:47;9160:1;9156:13;;;9152:24;;9138:39;;9132:46;9280:16;;;;9266:31;;9260:38;8958:1;8954:11;;;9052:4;8999:58;;;8990:68;9083:11;;9128:57;;;9119:67;;;;9211:11;;9256:49;;9247:59;9335:3;9331:13;9364:22;;9434:1;9419:17;;;;8777:9;8674:777;;;8678:44;9483:1;9478:3;9474:11;9504:1;9499:84;;;;9602:1;9597:82;;;;9467:212;;9499:84;-1:-1:-1;;;;;9532:17:0;;9525:43;9499:84;;9597:82;-1:-1:-1;;;;;9630:17:0;;9623:41;9467:212;-1:-1:-1;;;9695:26:0;;;9702:6;8166:1607;-1:-1:-1;;;;8166:1607:0:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:163:1:-;81:20;;141:10;130:22;;120:33;;110:61;;167:1;164;157:12;182:290;252:6;305:2;293:9;284:7;280:23;276:32;273:52;;;321:1;318;311:12;273:52;347:16;;-1:-1:-1;;;;;392:31:1;;382:42;;372:70;;438:1;435;428:12;372:70;461:5;182:290;-1:-1:-1;;;182:290:1:o;477:180::-;536:6;589:2;577:9;568:7;564:23;560:32;557:52;;;605:1;602;595:12;557:52;-1:-1:-1;628:23:1;;477:180;-1:-1:-1;477:180:1:o;662:184::-;732:6;785:2;773:9;764:7;760:23;756:32;753:52;;;801:1;798;791:12;753:52;-1:-1:-1;824:16:1;;662:184;-1:-1:-1;662:184:1:o;851:523::-;955:6;963;971;979;987;995;1048:3;1036:9;1027:7;1023:23;1019:33;1016:53;;;1065:1;1062;1055:12;1016:53;-1:-1:-1;;1088:23:1;;;1158:2;1143:18;;1130:32;;-1:-1:-1;1209:2:1;1194:18;;1181:32;;1260:2;1245:18;;1232:32;;-1:-1:-1;1311:3:1;1296:19;;1283:33;;-1:-1:-1;1363:3:1;1348:19;1335:33;;-1:-1:-1;851:523:1;-1:-1:-1;851:523:1:o;1379:616::-;1486:6;1494;1502;1510;1518;1526;1534;1587:3;1575:9;1566:7;1562:23;1558:33;1555:53;;;1604:1;1601;1594:12;1555:53;1640:9;1627:23;1617:33;;1669:37;1702:2;1691:9;1687:18;1669:37;:::i;:::-;1659:47;;1725:37;1758:2;1747:9;1743:18;1725:37;:::i;:::-;1715:47;;1781:37;1814:2;1803:9;1799:18;1781:37;:::i;:::-;1771:47;;1837:38;1870:3;1859:9;1855:19;1837:38;:::i;:::-;1827:48;;1894:38;1927:3;1916:9;1912:19;1894:38;:::i;:::-;1884:48;;1951:38;1984:3;1973:9;1969:19;1951:38;:::i;:::-;1941:48;;1379:616;;;;;;;;;;:::o;2000:185::-;2042:3;2080:5;2074:12;2095:52;2140:6;2135:3;2128:4;2121:5;2117:16;2095:52;:::i;:::-;2163:16;;;;;2000:185;-1:-1:-1;;2000:185:1:o;2190:237::-;2267:66;2255:79;;-1:-1:-1;;;2359:2:1;2350:12;;2343:50;2418:2;2409:12;;2190:237::o;2562:1449::-;2981:3;3019:6;3013:13;3045:4;3058:51;3102:6;3097:3;3092:2;3084:6;3080:15;3058:51;:::i;:::-;3172:13;;3131:16;;;;3194:55;3172:13;3131:16;3216:15;;;3194:55;:::i;:::-;3316:13;;3271:20;;;3338:55;3316:13;3271:20;3360:15;;;3338:55;:::i;:::-;3460:13;;3415:20;;;3482:55;3460:13;3415:20;3504:15;;;3482:55;:::i;:::-;3604:13;;3559:20;;;3626:55;3604:13;3559:20;3648:15;;;3626:55;:::i;:::-;3748:13;;3703:20;;;3770:55;3748:13;3703:20;3792:15;;;3770:55;:::i;:::-;3892:13;;3847:20;;;3914:55;3892:13;3847:20;3936:15;;;3914:55;:::i;:::-;3985:20;;;;;2562:1449;-1:-1:-1;;;;;;;;;;2562:1449:1:o;4016:726::-;-1:-1:-1;;;4475:3:1;4468:23;-1:-1:-1;;;4516:1:1;4511:3;4507:11;4500:24;4450:3;4553:6;4547:13;4569:61;4623:6;4619:1;4614:3;4610:11;4603:4;4595:6;4591:17;4569:61;:::i;:::-;-1:-1:-1;;;4689:1:1;4649:16;;;;4681:10;;;4674:35;-1:-1:-1;4733:2:1;4725:11;;4016:726;-1:-1:-1;4016:726:1:o;4747:698::-;-1:-1:-1;;;5206:3:1;5199:27;-1:-1:-1;;;5251:2:1;5246:3;5242:12;5235:25;5181:3;5289:6;5283:13;5305:62;5360:6;5355:2;5350:3;5346:12;5339:4;5331:6;5327:17;5305:62;:::i;:::-;5383:56;5435:2;5426:6;5421:3;5417:16;5413:25;5383:56;:::i;5450:689::-;-1:-1:-1;;;5909:3:1;5902:21;-1:-1:-1;;;5948:1:1;5943:3;5939:11;5932:24;5884:3;5985:6;5979:13;6001:61;6055:6;6051:1;6046:3;6042:11;6035:4;6027:6;6023:17;6001:61;:::i;:::-;6078:55;6130:1;6121:6;6116:3;6112:16;6108:24;6078:55;:::i;6144:694::-;-1:-1:-1;;;6603:3:1;6596:24;-1:-1:-1;;;6645:1:1;6640:3;6636:11;6629:24;6578:3;6682:6;6676:13;6698:62;6753:6;6748:2;6743:3;6739:12;6732:4;6724:6;6720:17;6698:62;:::i;:::-;6776:56;6828:2;6819:6;6814:3;6810:16;6806:25;6776:56;:::i;6843:835::-;-1:-1:-1;;;7302:3:1;7295:23;-1:-1:-1;;;7343:1:1;7338:3;7334:11;7327:24;7277:3;7380:6;7374:13;7396:61;7450:6;7446:1;7441:3;7437:11;7430:4;7422:6;7418:17;7396:61;:::i;:::-;7520:66;7516:1;7476:16;;;;7508:10;;;7501:86;-1:-1:-1;;;;7611:2:1;7603:11;;7596:49;7669:2;7661:11;;6843:835;-1:-1:-1;6843:835:1:o;7683:698::-;-1:-1:-1;;;8142:3:1;8135:27;-1:-1:-1;;;8187:2:1;8182:3;8178:12;8171:25;8117:3;8225:6;8219:13;8241:62;8296:6;8291:2;8286:3;8282:12;8275:4;8267:6;8263:17;8241:62;:::i;8386:448::-;8648:31;8643:3;8636:44;8618:3;8709:6;8703:13;8725:62;8780:6;8775:2;8770:3;8766:12;8759:4;8751:6;8747:17;8725:62;:::i;:::-;8807:16;;;;8825:2;8803:25;;8386:448;-1:-1:-1;;8386:448:1:o;8839:1580::-;-1:-1:-1;;;9339:64:1;;9426:13;;9321:3;;9448:62;9426:13;9498:2;9489:12;;9482:4;9470:17;;9448:62;:::i;:::-;9574:66;9569:2;9529:16;;;9561:11;;;9554:87;9670:34;9665:2;9657:11;;9650:55;9734:34;9729:2;9721:11;;9714:55;9799:34;9793:3;9785:12;;9778:56;9864:34;9858:3;9850:12;;9843:56;9929:34;9923:3;9915:12;;9908:56;9994:34;9988:3;9980:12;;9973:56;10059:34;10053:3;10045:12;;10038:56;10124:66;10118:3;10110:12;;10103:88;10221:66;10215:3;10207:12;;10200:88;-1:-1:-1;;;10312:3:1;10304:12;;10297:30;10343:70;10373:39;10407:3;10399:12;;10391:6;10373:39;:::i;:::-;-1:-1:-1;;;2497:27:1;;2549:1;2540:11;;2432:125;10343:70;10336:77;8839:1580;-1:-1:-1;;;;;8839:1580:1:o;10616:383::-;10765:2;10754:9;10747:21;10728:4;10797:6;10791:13;10840:6;10835:2;10824:9;10820:18;10813:34;10856:66;10915:6;10910:2;10899:9;10895:18;10890:2;10882:6;10878:15;10856:66;:::i;:::-;10983:2;10962:15;-1:-1:-1;;10958:29:1;10943:45;;;;10990:2;10939:54;;10616:383;-1:-1:-1;;10616:383:1:o;11186:678::-;11489:25;;;11533:10;11579:15;;;11574:2;11559:18;;11552:43;11631:15;;;11626:2;11611:18;;11604:43;11683:15;;;11678:2;11663:18;;11656:43;11736:15;;11730:3;11715:19;;11708:44;11789:15;;11783:3;11768:19;;11761:44;11842:15;11836:3;11821:19;;11814:44;11476:3;11461:19;;11186:678::o;12480:128::-;12520:3;12551:1;12547:6;12544:1;12541:13;12538:39;;;12557:18;;:::i;:::-;-1:-1:-1;12593:9:1;;12480:128::o;12613:228::-;12652:3;12680:10;12717:2;12714:1;12710:10;12747:2;12744:1;12740:10;12778:3;12774:2;12770:12;12765:3;12762:21;12759:47;;;12786:18;;:::i;:::-;12822:13;;12613:228;-1:-1:-1;;;;12613:228:1:o;12846:120::-;12886:1;12912;12902:35;;12917:18;;:::i;:::-;-1:-1:-1;12951:9:1;;12846:120::o;12971:422::-;13060:1;13103:5;13060:1;13117:270;13138:7;13128:8;13125:21;13117:270;;;13197:4;13193:1;13189:6;13185:17;13179:4;13176:27;13173:53;;;13206:18;;:::i;:::-;13256:7;13246:8;13242:22;13239:55;;;13276:16;;;;13239:55;13355:22;;;;13315:15;;;;13117:270;;;13121:3;12971:422;;;;;:::o;13398:140::-;13456:5;13485:47;13526:4;13516:8;13512:19;13506:4;13592:5;13622:8;13612:80;;-1:-1:-1;13663:1:1;13677:5;;13612:80;13711:4;13701:76;;-1:-1:-1;13748:1:1;13762:5;;13701:76;13793:4;13811:1;13806:59;;;;13879:1;13874:130;;;;13786:218;;13806:59;13836:1;13827:10;;13850:5;;;13874:130;13911:3;13901:8;13898:17;13895:43;;;13918:18;;:::i;:::-;-1:-1:-1;;13974:1:1;13960:16;;13989:5;;13786:218;;14088:2;14078:8;14075:16;14069:3;14063:4;14060:13;14056:36;14050:2;14040:8;14037:16;14032:2;14026:4;14023:12;14019:35;14016:77;14013:159;;;-1:-1:-1;14125:19:1;;;14157:5;;14013:159;14204:34;14229:8;14223:4;14204:34;:::i;:::-;14274:6;14270:1;14266:6;14262:19;14253:7;14250:32;14247:58;;;14285:18;;:::i;:::-;14323:20;;13543:806;-1:-1:-1;;;13543:806:1:o;14354:168::-;14394:7;14460:1;14456;14452:6;14448:14;14445:1;14442:21;14437:1;14430:9;14423:17;14419:45;14416:71;;;14467:18;;:::i;:::-;-1:-1:-1;14507:9:1;;14354:168::o;14527:125::-;14567:4;14595:1;14592;14589:8;14586:34;;;14600:18;;:::i;:::-;-1:-1:-1;14637:9:1;;14527:125::o;14657:258::-;14729:1;14739:113;14753:6;14750:1;14747:13;14739:113;;;14829:11;;;14823:18;14810:11;;;14803:39;14775:2;14768:10;14739:113;;;14870:6;14867:1;14864:13;14861:48;;;14905:1;14896:6;14891:3;14887:16;14880:27;14861:48;;14657:258;;;:::o;14920:135::-;14959:3;-1:-1:-1;;14980:17:1;;14977:43;;;15000:18;;:::i;:::-;-1:-1:-1;15047:1:1;15036:13;;14920:135::o;15060:112::-;15092:1;15118;15108:35;;15123:18;;:::i;:::-;-1:-1:-1;15157:9:1;;15060:112::o;15177:127::-;15238:10;15233:3;15229:20;15226:1;15219:31;15269:4;15266:1;15259:15;15293:4;15290:1;15283:15;15309:127;15370:10;15365:3;15361:20;15358:1;15351:31;15401:4;15398:1;15391:15;15425:4;15422:1;15415:15;15441:127;15502:10;15497:3;15493:20;15490:1;15483:31;15533:4;15530:1;15523:15;15557:4;15554:1;15547:15;15573:127;15634:10;15629:3;15625:20;15622:1;15615:31;15665:4;15662:1;15655:15;15689:4;15686:1;15679:15

Swarm Source

ipfs://3528791a508493f9ea8325516c2add82400b3f6069ac9a9a8437cf65ea9e76d4
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Validator ID :
0 FTM

Amount Staked
0

Amount Delegated
0

Staking Total
0

Staking Start Epoch
0

Staking Start Time
0

Proof of Importance
0

Origination Score
0

Validation Score
0

Active
0

Online
0

Downtime
0 s
Address Amount claimed Rewards Created On Epoch Created On
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.