Contract 0xf997d7ce19c4c9c49d7f0342bb905492d03ed113 1

 
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x5258ea2af9fbbbb20937f77eb43d26c365a7459b5992aa4fa8c192e8ba4cc555Summon146578782022-01-24 23:18:2931 secs ago0xf8096a55483720ccb1295b7c6218e8a29ce75dd5 IN  0xf997d7ce19c4c9c49d7f0342bb905492d03ed1130 BNB0.001638025
0x35f2d5e35dcbc88160884092f4a4f7e0839107565be8df56cca4a944c214b206Summon146578722022-01-24 23:18:1149 secs ago0x8dfd57a80639b815ad03612a16c2c3d75e78ab85 IN  0xf997d7ce19c4c9c49d7f0342bb905492d03ed1130 BNB0.001638085
0x06c822e1bf8f21ae17deeba87220496d38c6b9b177a00bf936a15a8a1e2d8823Summon146578522022-01-24 23:17:111 min ago0x15e6ed1a61b3629453a2529941b6889cb3e9f8cd IN  0xf997d7ce19c4c9c49d7f0342bb905492d03ed1130 BNB0.001638025
0x7e93b4ce39716a15128e1db69a2e63506f5a72509ea3f6861fd9b9cda2b5d97cSummon146578452022-01-24 23:16:502 mins ago0xa9ce51a5b71e788e52d96cbb6ba4ed041643b2c5 IN  0xf997d7ce19c4c9c49d7f0342bb905492d03ed1130 BNB0.001638025
0x4ee633cef6a7de6e694763217d9043b5c9a19c40195eeee106d9c02a30aba988Summon146578382022-01-24 23:16:292 mins ago0xfdac6612cb9ccfbc11e0ae134530569327f75fc3 IN  0xf997d7ce19c4c9c49d7f0342bb905492d03ed1130 BNB0.001638025
0xb33e1f9aeb23e76c06ecb81e21dee630f1816558048014e34ce6d4e3089a3517Summon146578312022-01-24 23:16:082 mins ago0x73827e3ae5dce0a08cf9d655438399569a0aa184 IN  0xf997d7ce19c4c9c49d7f0342bb905492d03ed1130 BNB0.001638085
0xfd64cec1342d368440a9fa332f6a2521dda41516d64f7fea2841d79713346237Summon146578252022-01-24 23:15:503 mins ago0xc1ffc31e9c8079038d6985489ee2def37e996b93 IN  0xf997d7ce19c4c9c49d7f0342bb905492d03ed1130 BNB0.001638085
0xef0109f085a5e0fb12334dc9c58645d8959c65c4e243d6055732886223daf492Summon146578212022-01-24 23:15:383 mins ago0x4641d906b7f921cc9aeca73607429ec01146406a IN  0xf997d7ce19c4c9c49d7f0342bb905492d03ed1130 BNB0.001637965
0x704898c34cb41fba894610862c9603aa56e03c3e6144ec1058c11c1292c7ea87Summon146578162022-01-24 23:15:233 mins ago0x0818fa793ac24681588174c9a6e4cf6c91b5ae2a IN  0xf997d7ce19c4c9c49d7f0342bb905492d03ed1130 BNB0.001638085
0x828d50c87af9b728e7027bfd05d9c8305de9ee1d56ff530ebf1f3ea521dfeec8Summon146577992022-01-24 23:14:324 mins ago0x34b63f8b3751cafad8d72c2e25baa2ebfc104c2a IN  0xf997d7ce19c4c9c49d7f0342bb905492d03ed1130 BNB0.001638085
0x8cf7dd2fdd326a0cfd07a25e8e68e572e3fd37e16a71eea93365cc91596f8ce7Summon146577942022-01-24 23:14:174 mins ago0xd0b69fe897a9fbee27628a0843ec10f067965471 IN  0xf997d7ce19c4c9c49d7f0342bb905492d03ed1130 BNB0.001638145
0x8d52c3417d3f2bb42af6f55361add93b2fbab7b7849a8b4557ac56202ff2bac3Summon146577922022-01-24 23:14:114 mins ago0x05ff201195391251e3bfe9fd86811e7691e4bdb7 IN  0xf997d7ce19c4c9c49d7f0342bb905492d03ed1130 BNB0.001637965
0xbff034f12794662e1c45e44590d25e4560bc1d4c10278791363fa62acd16c00cSummon146577822022-01-24 23:13:415 mins ago0x45a7f7a346b081b5dd36e6d42af920212466bb4c IN  0xf997d7ce19c4c9c49d7f0342bb905492d03ed1130 BNB0.001638085
0xfcb8eb6d924258b6b84b5455cc3c9e34505581600ba1493524cf12a350d5fc0fSummon146577712022-01-24 23:13:085 mins ago0xe5ae9531d7e22cd38af94abfcc8be8c890be828a IN  0xf997d7ce19c4c9c49d7f0342bb905492d03ed1130 BNB0.001638085
0x342bc867c2bccac8f00466cd949be372b14cc24a28e82a1a167294fbc63fb8f8Summon146577592022-01-24 23:12:326 mins ago0xb1f2cd38bfae1422e81c30f756c21a03752ca881 IN  0xf997d7ce19c4c9c49d7f0342bb905492d03ed1130 BNB0.001638025
0x4ed79940fe5ac237b5759ed7a4199b3010867c1796717785fd5dbeeb635f0ef1Summon146577522022-01-24 23:12:116 mins ago0x2eac7afd31c75ffd49d7a8f000be0ea65ce49ae6 IN  0xf997d7ce19c4c9c49d7f0342bb905492d03ed1130 BNB0.001638085
0x35a835d688b2cd767f61d1ad9a534f4b27cdad035828cd67e9705e5d81733cf8Summon146577482022-01-24 23:11:597 mins ago0x3e0a28b8d36aee33f9f96ec361964f47ce5347eb IN  0xf997d7ce19c4c9c49d7f0342bb905492d03ed1130 BNB0.001638085
0x80ea65e37e6318dea20bef321e7795415821d66ab70614201fd81334cec18243Summon146577412022-01-24 23:11:387 mins ago0x29b530f4b5a7a2707617267a98808fef39311925 IN  0xf997d7ce19c4c9c49d7f0342bb905492d03ed1130 BNB0.001638025
0xc7168c3e498c930e7554e200880e24ac0f9efdc558c97d4d56cd7d03cb08d190Summon146577382022-01-24 23:11:297 mins ago0x67fd0ba81980b173e9f0be8b9ee9deeac38562d5 IN  0xf997d7ce19c4c9c49d7f0342bb905492d03ed1130 BNB0.001638085
0xed7331f0ef1fc849a18c19af1d0d795d3c7c58976012ae22b2da2cbbadab44f1Summon146576752022-01-24 23:08:2010 mins ago0x3ca2e5a84496741b652599acbe62347c5edb1418 IN  0xf997d7ce19c4c9c49d7f0342bb905492d03ed1130 BNB0.001638085
0x6d9413a70113e854e26ca5cdb977081a4d08ecf2a893be0ee7554d999c48bf16Summon146576752022-01-24 23:08:2010 mins ago0xc1b3f809a01c4c9117b0810105ceb320d713ea4f IN  0xf997d7ce19c4c9c49d7f0342bb905492d03ed1130 BNB0.001638145
0x3fe8275a4d560e716df7be5a2630615fc3dcd586ec252a13c06d99b84b3f40c8Summon146576722022-01-24 23:08:1110 mins ago0xc19beafc3d36f90efef74d8500ef0135781b2e4b IN  0xf997d7ce19c4c9c49d7f0342bb905492d03ed1130 BNB0.001638145
0xbc1aa9a2dfd59672b09bef8138b6f434dd2336ca3c1eff84d047ddf449f44bfbSummon146576622022-01-24 23:07:4111 mins ago0x335f1ac72d65f1189d5873c3ddba717fb14db610 IN  0xf997d7ce19c4c9c49d7f0342bb905492d03ed1130 BNB0.001638085
0xe76eff0dd5dcd433719e2adf781a536c68853189d28240525d44ec236e40bd74Summon146576552022-01-24 23:07:2011 mins ago0xf0c55b7c5f508edf926ce9bd06e2330053a5444c IN  0xf997d7ce19c4c9c49d7f0342bb905492d03ed1130 BNB0.001638025
0x1ee5d1c73df83aea491e1d30756802e5e53be2c998aef0a65f45cee132823e3cSummon146576552022-01-24 23:07:2011 mins ago0xe242d2c6bf8ed7268bd4e231c260458b8f0bf560 IN  0xf997d7ce19c4c9c49d7f0342bb905492d03ed1130 BNB0.001638085
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Issue

Compiler Version
v0.8.0+commit.c7dfd78e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at BscScan.com on 2021-11-29
*/

pragma solidity ^0.8.0;
library Math {
    function max(uint256 a, uint256 b) internal pure returns (uint256) {
        return a >= b ? a : b;
    }
    function min(uint256 a, uint256 b) internal pure returns (uint256) {
        return a < b ? a : b;
    }
    function average(uint256 a, uint256 b) internal pure returns (uint256) {
        return (a / 2) + (b / 2) + ((a % 2 + b % 2) / 2);
    }
}
interface IBEP20 { 
	function totalSupply() external view returns (uint256);
	function balanceOf(address account) external view returns (uint256);
	function transfer(address recipient, uint256 amount) external returns (bool);
	function allowance(address owner, address spender) external view returns (uint256);
	function approve(address spender, uint256 amount) external returns (bool);
	function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool);
	function mint(address account, uint256 amount) external returns (bool);
	function burn(address account, uint256 amount) external returns (bool);
	function addOperator(address minter) external returns (bool);
	function removeOperator(address minter) external returns (bool);
	event Transfer(address indexed from, address indexed to, uint256 value);
	event Approval( address indexed owner, address indexed spender, uint256 value );
}
library SafeBEP20 {
    using SafeMath for uint256;
    using Address for address;
    function safeTransfer(IBEP20 token, address to, uint256 value) internal {
        callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value));
    }
    function safeTransferFrom(IBEP20 token, address from, address to, uint256 value) internal {
        callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value));
    }
    function safeApprove(IBEP20 token, address spender, uint256 value) internal {
        require((value == 0) || (token.allowance(address(this), spender) == 0),
            "SafeBEP20: approve from non-zero to non-zero allowance"
        );
        callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value));
    }
    function safeIncreaseAllowance(IBEP20 token, address spender, uint256 value) internal {
        uint256 newAllowance = token.allowance(address(this), spender).add(value);
        callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance));
    }
    function safeDecreaseAllowance(IBEP20 token, address spender, uint256 value) internal {
        // uint256 newAllowance = token.allowance(address(this), spender).sub(value, "SafeBEP20: decreased allowance below zero");
        uint256 newAllowance = token.allowance(address(this), spender).sub(value);
        callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance));
    }
    function callOptionalReturn(IBEP20 token, bytes memory data) private {
        require(address(token).isContract(), "SafeBEP20: call to non-contract");
        (bool success, bytes memory returndata) = address(token).call(data);
        require(success, "SafeBEP20: low-level call failed");
        if (returndata.length > 0) { 
            require(abi.decode(returndata, (bool)), "SafeBEP20: ERC20 operation did not succeed");
        }
    }
}
library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a, "SafeMath: subtraction overflow");
        uint256 c = a - b;
        return c;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0, "SafeMath: division by zero");
        uint256 c = a / b;
        return c;
    }
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b != 0, "SafeMath: modulo by zero");
        return a % b;
    }
}
library Address {
    function isContract(address account) internal view returns (bool) {
        uint256 size;
        assembly { size := extcodesize(account) }
        return size > 0;
    }
} 
interface IERC165 {
    function supportsInterface(bytes4 interfaceId) external view returns (bool);
}
interface IERC721 is IERC165 {
    event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);
    event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);
    event ApprovalForAll(address indexed owner, address indexed operator, bool approved);
    function balanceOf(address owner) external view returns (uint256 balance);
    function ownerOf(uint256 tokenId) external view returns (address owner);
    function safeTransferFrom( address from, address to, uint256 tokenId) external;
    function transferFrom( address from,address to,uint256 tokenId) external;
    function approve(address to, uint256 tokenId) external;
    function getApproved(uint256 tokenId) external view returns (address operator);
    function setApprovalForAll(address operator, bool _approved) external;
    function isApprovedForAll(address owner, address operator) external view returns (bool);
    function safeTransferFrom( address from, address to, uint256 tokenId, bytes calldata data ) external;

    struct HeroesInfo {uint256 heroesNumber; string name; string race; string class; string tier; string tierBasic;}
    function getHeroesNumber(uint256 _tokenId) external view returns (HeroesInfo memory);
    function safeMint(address _to, uint256 _tokenId) external;
    function burn(address _from, uint256 _tokenId) external;
    function addHeroesNumber(uint256 _tokenId, uint256 _heroesNumber, string memory name, string memory race, string memory class, string memory tier, string memory tierBasic) external;
    function editTier(uint256 tokenId, string memory _tier) external;
    function deleteHeroesNumber(uint256 tokenId) external;
}
abstract contract Context {
    function _msgSender() internal view virtual returns (address) { return msg.sender;}
    function _msgData() internal view virtual returns (bytes calldata) {
        this;
        return msg.data;
    }
}
abstract contract ERC165 is IERC165 {
    function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) { return interfaceId == type(IERC165).interfaceId; }
}
interface IAccessControl {
    function hasRole(bytes32 role, address account) external view returns (bool);
    function getRoleAdmin(bytes32 role) external view returns (bytes32);
    function grantRole(bytes32 role, address account) external;
    function revokeRole(bytes32 role, address account) external;
    function renounceRole(bytes32 role, address account) external;
}
abstract contract AccessControl is Context, IAccessControl, ERC165 {
    struct RoleData {
        mapping(address => bool) members;
        bytes32 adminRole;
    }
    mapping(bytes32 => RoleData) private _roles;
    bytes32 public constant DEFAULT_ADMIN_ROLE = 0x00;
    event RoleAdminChanged(
        bytes32 indexed role,
        bytes32 indexed previousAdminRole,
        bytes32 indexed newAdminRole
    );
    event RoleGranted(
        bytes32 indexed role,
        address indexed account,
        address indexed sender
    );
    event RoleRevoked(
        bytes32 indexed role,
        address indexed account,
        address indexed sender
    );
    function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool){
        return
            interfaceId == type(IAccessControl).interfaceId ||
            super.supportsInterface(interfaceId);
    }
    function hasRole(bytes32 role, address account) public view override returns (bool) { return _roles[role].members[account]; }
    function getRoleAdmin(bytes32 role) public view override returns (bytes32) { return _roles[role].adminRole; }
    function grantRole(bytes32 role, address account) public virtual override { 
        require( hasRole(getRoleAdmin(role), _msgSender()), "AccessControl: sender must be an admin to grant");
        _grantRole(role, account);
    }
    function revokeRole(bytes32 role, address account) public virtual override {
        require( hasRole(getRoleAdmin(role), _msgSender()), "AccessControl: sender must be an admin to revoke");
        _revokeRole(role, account);
    }
    function renounceRole(bytes32 role, address account) public virtual override
    {
        require( account == _msgSender(), "AccessControl: can only renounce roles for self" );
        _revokeRole(role, account);
    }
    function _setupRole(bytes32 role, address account) internal virtual { _grantRole(role, account); }
    function _setRoleAdmin(bytes32 role, bytes32 adminRole) internal virtual {
        emit RoleAdminChanged(role, getRoleAdmin(role), adminRole);
        _roles[role].adminRole = adminRole;
    }
    function _grantRole(bytes32 role, address account) private {
        if (!hasRole(role, account)) {
            _roles[role].members[account] = true;
            emit RoleGranted(role, account, _msgSender());
        }
    }
    function _revokeRole(bytes32 role, address account) private {
        if (hasRole(role, account)) {
            _roles[role].members[account] = false;
            emit RoleRevoked(role, account, _msgSender());
        }
    }
}
contract Issue is AccessControl {
    using SafeMath for uint;
    using SafeBEP20 for IBEP20; 
    IERC721 public heroesNFT;
    IBEP20 public heroesToken;
    bytes32 public constant CREATOR_ADMIN_SERVER = keccak256("CREATOR_ADMIN_SERVER");
    string stringNull = "";
    uint256 public feeSummon =  50000000000000000000;
    uint256 public feeSummons = 500000000000000000000;
    uint256 public feeShard = 0;
    uint256 public feeCard = 0;
    address payable receiveFee = payable(0x06eD3d7ef90551333b7185412337c9DF6F17C795);
    constructor( address minter, address _heroesNft, address _heroesToken ) {
        _setupRole(DEFAULT_ADMIN_ROLE, _msgSender());
        _setupRole(CREATOR_ADMIN_SERVER, minter);
		heroesNFT = IERC721(_heroesNft); // Token Hero Assets
        heroesToken = IBEP20(_heroesToken); // Token Heroes
	}

    event summonhero(
        address Owner,
        uint256 tokenId,
        string nameHeroes,
        string race,
        string tier,
        string typeIssue
    );
    event openpackage(
        address Owner,
        uint256 tokenId,
        string nameHeroes,
        string race,
        string tier
    );
   
    struct Heroes {
        string name;
        string race;
        string class;
        string tier;
    }
    event RequestHero(
        uint256 tokenId,
        address Owner,
        string typeIssue
    );
    mapping(uint256 => Heroes) public heroes; //  tokenId=> Heroes Information 
    mapping( uint256 => uint256 ) public amountLimitBreak;
    mapping(uint256 => bool) public heroOpenPack;
    mapping(uint256 => bool) public chestId;
    mapping(uint256 => bool) public summonId;
    function changeReceiveFee(address _receive) public {
        require(hasRole(DEFAULT_ADMIN_ROLE, address(msg.sender)), "Caller is not a owner");
        require(_receive != address(0));
        receiveFee = payable(_receive);
    }
    function addHeroOpenPack(uint256[] memory hero) public {
        require(hasRole(DEFAULT_ADMIN_ROLE, address(msg.sender)), "Caller is not a owner");
        for(uint256 i =0; i < hero.length; i++){
            heroOpenPack[hero[i]] = true;
        }
    }
    function getHeroes(uint256 _id) public view returns (Heroes  memory) {
        return heroes[_id];
    }
    function addHeroes(uint256[] memory id, string[] memory name, string[] memory race, string[] memory class, string[] memory tier) public {
        require(hasRole(DEFAULT_ADMIN_ROLE, address(msg.sender)), "Caller is not a owner");
        require(id.length == name.length && id.length == race.length && id.length == class.length && id.length == tier.length, 'Input not true');
        for(uint256 i = 0; i < name.length ; i ++) {
            heroes[id[i]] = Heroes(name[i], race[i], class[i], tier[i]);
        }
    }
    function editHeroes(uint256 _id, string memory name, string memory race, string memory class, string memory tier) public {
        require(hasRole(DEFAULT_ADMIN_ROLE, address(msg.sender)), "Caller is not a owner");
        heroes[_id].name = name;
        heroes[_id].race = race;
        heroes[_id].class = class;
        heroes[_id].tier = tier;
    }  
    function changeFeeShard(uint256 _fee) public {
        require(hasRole(DEFAULT_ADMIN_ROLE, address(msg.sender)), "Caller is not a owner");
        require(_fee > 0, 'need fee > 0');
        feeShard = _fee;
    }
    function changeFeeCard(uint256 _fee) public {
        require(hasRole(DEFAULT_ADMIN_ROLE, address(msg.sender)), "Caller is not a owner");
        require(_fee > 0, 'need fee > 0');
        feeCard = _fee;
    }
    function changeFee(uint256 _fee) public {
        require(hasRole(DEFAULT_ADMIN_ROLE, address(msg.sender)), "Caller is not a owner");
        require(_fee > 0, 'need fee > 0');
        feeSummon = _fee;
    }
    function changeFees(uint256 _fee) public {
        require(hasRole(DEFAULT_ADMIN_ROLE, address(msg.sender)), "Caller is not a owner");
        require(_fee > 0, 'need fee > 0');
        feeSummons = _fee;
    }
    function requestShard(uint256 _tokenId) public{
        heroesToken.safeTransferFrom(address(msg.sender), address(receiveFee), feeShard);
        emit RequestHero(
            _tokenId,
            msg.sender,
            'Shard'
        );
    } 
    function requestCard(uint256 _tokenId) public{
        heroesToken.safeTransferFrom(address(msg.sender), address(receiveFee), feeCard);
        emit RequestHero(
            _tokenId,
            msg.sender,
            'Card'
        );
    }
    function requestSummon(uint256 _tokenId) public{
        heroesToken.safeTransferFrom(address(msg.sender), address(receiveFee), feeSummon);
        emit RequestHero(
            _tokenId,
            msg.sender,
            'Summon'
        );
    }
    function requestSummons(uint256[] memory _tokenId) public {
        heroesToken.safeTransferFrom(address(msg.sender), address(receiveFee), feeSummons);
        for(uint256 i = 0; i < _tokenId.length; i++){
            emit RequestHero(
            _tokenId[i],
            msg.sender,
            'Summon'
        );
        }
    }
    function openPackage(address[] memory _owner, uint256[] memory _tokenId, uint256[] memory _numberHero, uint256 packid) public {
        require(hasRole(CREATOR_ADMIN_SERVER, address(msg.sender)), "Caller is not a admin");
        require(_owner.length == _numberHero.length && _tokenId.length == _numberHero.length, 'Input not true');
        require(!chestId[packid], "ChestId has been used");
        for(uint256 i = 0; i < _tokenId.length; i++){
            require(heroOpenPack[_numberHero[i]], "Number Hero is not allowed to issue");
            heroesNFT.safeMint(address(_owner[i]), _tokenId[i]);
            heroesNFT.addHeroesNumber(_tokenId[i], _numberHero[i], heroes[_numberHero[i]].name, heroes[_numberHero[i]].race, heroes[_numberHero[i]].class, heroes[_numberHero[i]].tier, heroes[_numberHero[i]].tier);
            emit openpackage(
                _owner[i], 
                _tokenId[i],
                heroes[_numberHero[i]].name,
                heroes[_numberHero[i]].race,
                heroes[_numberHero[i]].tier
            );
        }
        chestId[packid] = true;
    }
    function summon(address[] memory _owner, uint256[] memory _tokenId, uint256[] memory _numberHero, string[] memory _type, uint256 _summonId) public {
        require(hasRole(CREATOR_ADMIN_SERVER, address(msg.sender)), "Caller is not a admin");
        require( _owner.length == _numberHero.length && _tokenId.length == _numberHero.length && _tokenId.length == _type.length, 'Input not true');
        require(!summonId[_summonId], "ChestId has been used");    
        for(uint256 i = 0; i < _tokenId.length; i++){
            require(keccak256(bytes(heroes[_numberHero[i]].name)) != keccak256(bytes(stringNull)), "Heroes not found");
            heroesNFT.safeMint(address(_owner[i]), _tokenId[i]);
            heroesNFT.addHeroesNumber(_tokenId[i], _numberHero[i], heroes[_numberHero[i]].name, heroes[_numberHero[i]].race, heroes[_numberHero[i]].class, heroes[_numberHero[i]].tier, heroes[_numberHero[i]].tier);
            emit summonhero(
                _owner[i],
                _tokenId[i],
                heroes[_numberHero[i]].name,
                heroes[_numberHero[i]].race,
                heroes[_numberHero[i]].tier,
                _type[i]
            );
        }
        summonId[_summonId] = true;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"minter","type":"address"},{"internalType":"address","name":"_heroesNft","type":"address"},{"internalType":"address","name":"_heroesToken","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":false,"internalType":"address","name":"Owner","type":"address"},{"indexed":false,"internalType":"string","name":"typeIssue","type":"string"}],"name":"RequestHero","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"Owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":false,"internalType":"string","name":"nameHeroes","type":"string"},{"indexed":false,"internalType":"string","name":"race","type":"string"},{"indexed":false,"internalType":"string","name":"tier","type":"string"}],"name":"openpackage","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"Owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":false,"internalType":"string","name":"nameHeroes","type":"string"},{"indexed":false,"internalType":"string","name":"race","type":"string"},{"indexed":false,"internalType":"string","name":"tier","type":"string"},{"indexed":false,"internalType":"string","name":"typeIssue","type":"string"}],"name":"summonhero","type":"event"},{"inputs":[],"name":"CREATOR_ADMIN_SERVER","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"hero","type":"uint256[]"}],"name":"addHeroOpenPack","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"id","type":"uint256[]"},{"internalType":"string[]","name":"name","type":"string[]"},{"internalType":"string[]","name":"race","type":"string[]"},{"internalType":"string[]","name":"class","type":"string[]"},{"internalType":"string[]","name":"tier","type":"string[]"}],"name":"addHeroes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"amountLimitBreak","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_fee","type":"uint256"}],"name":"changeFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_fee","type":"uint256"}],"name":"changeFeeCard","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_fee","type":"uint256"}],"name":"changeFeeShard","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_fee","type":"uint256"}],"name":"changeFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_receive","type":"address"}],"name":"changeReceiveFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"chestId","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_id","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"race","type":"string"},{"internalType":"string","name":"class","type":"string"},{"internalType":"string","name":"tier","type":"string"}],"name":"editHeroes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeCard","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeShard","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeSummon","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeSummons","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_id","type":"uint256"}],"name":"getHeroes","outputs":[{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"race","type":"string"},{"internalType":"string","name":"class","type":"string"},{"internalType":"string","name":"tier","type":"string"}],"internalType":"struct Issue.Heroes","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"heroOpenPack","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"heroes","outputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"race","type":"string"},{"internalType":"string","name":"class","type":"string"},{"internalType":"string","name":"tier","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"heroesNFT","outputs":[{"internalType":"contract IERC721","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"heroesToken","outputs":[{"internalType":"contract IBEP20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_owner","type":"address[]"},{"internalType":"uint256[]","name":"_tokenId","type":"uint256[]"},{"internalType":"uint256[]","name":"_numberHero","type":"uint256[]"},{"internalType":"uint256","name":"packid","type":"uint256"}],"name":"openPackage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"requestCard","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"requestShard","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"requestSummon","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_tokenId","type":"uint256[]"}],"name":"requestSummons","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_owner","type":"address[]"},{"internalType":"uint256[]","name":"_tokenId","type":"uint256[]"},{"internalType":"uint256[]","name":"_numberHero","type":"uint256[]"},{"internalType":"string[]","name":"_type","type":"string[]"},{"internalType":"uint256","name":"_summonId","type":"uint256"}],"name":"summon","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"summonId","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}]

608060405260405180602001604052806000815250600390805190602001906200002b92919062000332565b506802b5e3af16b1880000600455681b1ae4d6e2ef500000600555600060065560006007557306ed3d7ef90551333b7185412337c9df6f17c795600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550348015620000b257600080fd5b5060405162004b2438038062004b248339818101604052810190620000d89190620003f9565b620000fc6000801b620000f0620001b960201b60201c565b620001c160201b60201c565b6200012e7f20c3b784c1251fbb97fe6db3cfa63383dd3aa172d2b3a79bcdb8ea8c7a384afc84620001c160201b60201c565b81600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505062000502565b600033905090565b620001d38282620001d760201b60201c565b5050565b620001e98282620002c860201b60201c565b620002c457600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000269620001b960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b828054620003409062000483565b90600052602060002090601f016020900481019282620003645760008555620003b0565b82601f106200037f57805160ff1916838001178555620003b0565b82800160010185558215620003b0579182015b82811115620003af57825182559160200191906001019062000392565b5b509050620003bf9190620003c3565b5090565b5b80821115620003de576000816000905550600101620003c4565b5090565b600081519050620003f381620004e8565b92915050565b6000806000606084860312156200040f57600080fd5b60006200041f86828701620003e2565b93505060206200043286828701620003e2565b92505060406200044586828701620003e2565b9150509250925092565b60006200045c8262000463565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600060028204905060018216806200049c57607f821691505b60208210811415620004b357620004b2620004b9565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b620004f3816200044f565b8114620004ff57600080fd5b50565b61461280620005126000396000f3fe608060405234801561001057600080fd5b50600436106102065760003560e01c80637c72f35a1161011a578063a8bd0f1d116100ad578063c57d09f31161007c578063c57d09f3146105fc578063d286544714610618578063d547741f14610634578063e10731a714610650578063ef56e52c1461066c57610206565b8063a8bd0f1d14610573578063a8d4a03b14610591578063c1ecd1d9146105c4578063c52ff455146105e057610206565b80639ea3a458116100e95780639ea3a458146104eb578063a217fddf14610509578063a327413214610527578063a7ab4e241461055757610206565b80637c72f35a1461045157806391d148541461046f578063958025331461049f57806399664a5a146104cf57610206565b806336568abe1161019d5780635606a2201161016c5780635606a220146103af5780636815f125146103cd5780636a1db1bf146103fd5780636cda375b146104195780637a96c8451461043557610206565b806336568abe1461032b5780634a3a82701461034757806351fad607146103635780635409c7601461037f57610206565b80632d58af1d116101d95780632d58af1d146102a35780632f1d7bda146102c15780632f2ff15d146102f1578063339e9c241461030d57610206565b806301ffc9a71461020b57806313aefe481461023b578063174478c014610257578063248a9ca314610273575b600080fd5b61022560048036038101906102209190613438565b61068a565b6040516102329190613e06565b60405180910390f35b61025560048036038101906102509190613461565b610704565b005b610271600480360381019061026c91906132bb565b6107b3565b005b61028d600480360381019061028891906133d3565b610a7c565b60405161029a9190613e21565b60405180910390f35b6102ab610a9b565b6040516102b89190613e3c565b60405180910390f35b6102db60048036038101906102d69190613461565b610ac1565b6040516102e89190613e06565b60405180910390f35b61030b600480360381019061030691906133fc565b610ae1565b005b610315610b47565b6040516103229190613e21565b60405180910390f35b610345600480360381019061034091906133fc565b610b6b565b005b610361600480360381019061035c9190613461565b610bee565b005b61037d6004803603810190610378919061348a565b610c9d565b005b61039960048036038101906103949190613461565b610d9c565b6040516103a69190614095565b60405180910390f35b6103b7610db4565b6040516103c49190614095565b60405180910390f35b6103e760048036038101906103e29190613461565b610dba565b6040516103f49190613e06565b60405180910390f35b61041760048036038101906104129190613461565b610dda565b005b610433600480360381019061042e9190613461565b610e73565b005b61044f600480360381019061044a91906130f8565b610f0c565b005b61045961171b565b6040516104669190614095565b60405180910390f35b610489600480360381019061048491906133fc565b611721565b6040516104969190613e06565b60405180910390f35b6104b960048036038101906104b49190613461565b61178b565b6040516104c69190613e06565b60405180910390f35b6104e960048036038101906104e49190613461565b6117ab565b005b6104f3611844565b6040516105009190614095565b60405180910390f35b61051161184a565b60405161051e9190613e21565b60405180910390f35b610541600480360381019061053c9190613461565b611851565b60405161054e9190614073565b60405180910390f35b610571600480360381019061056c919061327a565b611ac6565b005b61057b611ba1565b6040516105889190613e57565b60405180910390f35b6105ab60048036038101906105a69190613461565b611bc7565b6040516105bb9493929190613e72565b60405180910390f35b6105de60048036038101906105d991906131cf565b611e17565b005b6105fa60048036038101906105f59190613461565b6125b3565b005b6106166004803603810190610611919061327a565b61264c565b005b610632600480360381019061062d91906130cf565b61275b565b005b61064e600480360381019061064991906133fc565b612825565b005b61066a60048036038101906106659190613461565b61288b565b005b61067461293a565b6040516106819190614095565b60405180910390f35b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806106fd57506106fc82612940565b5b9050919050565b61077733600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600454600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166129aa909392919063ffffffff16565b7fc035cb9b92a9b04194d9bc60f5874f020982834205e23e67f20942ca980a17ed81336040516107a89291906140b0565b60405180910390a150565b6107c06000801b33611721565b6107ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f690614033565b60405180910390fd5b83518551148015610811575082518551145b801561081e575081518551145b801561082b575080518551145b61086a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086190613f13565b60405180910390fd5b60005b8451811015610a745760405180608001604052808683815181106108ba577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101518152602001858381518110610900577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101518152602001848381518110610946577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151815260200183838151811061098c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151815250600960008884815181106109d4577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015181526020019081526020016000206000820151816000019080519060200190610a06929190612d80565b506020820151816001019080519060200190610a23929190612d80565b506040820151816002019080519060200190610a40929190612d80565b506060820151816003019080519060200190610a5d929190612d80565b509050508080610a6c90614482565b91505061086d565b505050505050565b6000806000838152602001908152602001600020600101549050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b6020528060005260406000206000915054906101000a900460ff1681565b610afa610aed83610a7c565b610af5612a33565b611721565b610b39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3090613ef3565b60405180910390fd5b610b438282612a3b565b5050565b7f20c3b784c1251fbb97fe6db3cfa63383dd3aa172d2b3a79bcdb8ea8c7a384afc81565b610b73612a33565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610be0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd790614053565b60405180910390fd5b610bea8282612b1b565b5050565b610c6133600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600754600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166129aa909392919063ffffffff16565b7fc035cb9b92a9b04194d9bc60f5874f020982834205e23e67f20942ca980a17ed8133604051610c92929190614128565b60405180910390a150565b610caa6000801b33611721565b610ce9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce090614033565b60405180910390fd5b83600960008781526020019081526020016000206000019080519060200190610d13929190612d80565b5082600960008781526020019081526020016000206001019080519060200190610d3e929190612d80565b5081600960008781526020019081526020016000206002019080519060200190610d69929190612d80565b5080600960008781526020019081526020016000206003019080519060200190610d94929190612d80565b505050505050565b600a6020528060005260406000206000915090505481565b60045481565b600c6020528060005260406000206000915054906101000a900460ff1681565b610de76000801b33611721565b610e26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1d90614033565b60405180910390fd5b60008111610e69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6090613fb3565b60405180910390fd5b8060048190555050565b610e806000801b33611721565b610ebf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb690614033565b60405180910390fd5b60008111610f02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef990613fb3565b60405180910390fd5b8060058190555050565b610f367f20c3b784c1251fbb97fe6db3cfa63383dd3aa172d2b3a79bcdb8ea8c7a384afc33611721565b610f75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6c90613ed3565b60405180910390fd5b82518551148015610f87575082518451145b8015610f94575081518451145b610fd3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fca90613f13565b60405180910390fd5b600d600082815260200190815260200160002060009054906101000a900460ff1615611034576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102b90613f53565b60405180910390fd5b60005b84518110156116e757600360405161104f9190613caa565b604051809103902060096000868481518110611094577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015181526020019081526020016000206000016040516110ba9190613caa565b60405180910390201415611103576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fa90613f93565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a144819487838151811061117a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101518784815181106111bb577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101516040518363ffffffff1660e01b81526004016111e0929190613cf8565b600060405180830381600087803b1580156111fa57600080fd5b505af115801561120e573d6000803e3d6000fd5b50505050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d6f5b04f868381518110611289577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101518684815181106112ca577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101516009600089878151811061130f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101518152602001908152602001600020600001600960008a8881518110611365577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101518152602001908152602001600020600101600960008b89815181106113bb577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101518152602001908152602001600020600201600960008c8a81518110611411577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101518152602001908152602001600020600301600960008d8b81518110611467577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015181526020019081526020016000206003016040518863ffffffff1660e01b81526004016114a29796959493929190614164565b600060405180830381600087803b1580156114bc57600080fd5b505af11580156114d0573d6000803e3d6000fd5b505050507f658c45ca4d607dc8ab71f6cc74179867d02df8db1998275b8065c3e34948128886828151811061152e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015186838151811061156f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151600960008886815181106115b4577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015181526020019081526020016000206000016009600089878151811061160a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101518152602001908152602001600020600101600960008a8881518110611660577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015181526020019081526020016000206003018887815181106116b2577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101516040516116cc96959493929190613d89565b60405180910390a180806116df90614482565b915050611037565b506001600d600083815260200190815260200160002060006101000a81548160ff0219169083151502179055505050505050565b60065481565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600d6020528060005260406000206000915054906101000a900460ff1681565b6117b86000801b33611721565b6117f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ee90614033565b60405180910390fd5b6000811161183a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183190613fb3565b60405180910390fd5b8060068190555050565b60075481565b6000801b81565b611859612e06565b6009600083815260200190815260200160002060405180608001604052908160008201805461188790614450565b80601f01602080910402602001604051908101604052809291908181526020018280546118b390614450565b80156119005780601f106118d557610100808354040283529160200191611900565b820191906000526020600020905b8154815290600101906020018083116118e357829003601f168201915b5050505050815260200160018201805461191990614450565b80601f016020809104026020016040519081016040528092919081815260200182805461194590614450565b80156119925780601f1061196757610100808354040283529160200191611992565b820191906000526020600020905b81548152906001019060200180831161197557829003601f168201915b505050505081526020016002820180546119ab90614450565b80601f01602080910402602001604051908101604052809291908181526020018280546119d790614450565b8015611a245780601f106119f957610100808354040283529160200191611a24565b820191906000526020600020905b815481529060010190602001808311611a0757829003601f168201915b50505050508152602001600382018054611a3d90614450565b80601f0160208091040260200160405190810160405280929190818152602001828054611a6990614450565b8015611ab65780601f10611a8b57610100808354040283529160200191611ab6565b820191906000526020600020905b815481529060010190602001808311611a9957829003601f168201915b5050505050815250509050919050565b611ad36000801b33611721565b611b12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b0990614033565b60405180910390fd5b60005b8151811015611b9d576001600b6000848481518110611b5d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611b9590614482565b915050611b15565b5050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6009602052806000526040600020600091509050806000018054611bea90614450565b80601f0160208091040260200160405190810160405280929190818152602001828054611c1690614450565b8015611c635780601f10611c3857610100808354040283529160200191611c63565b820191906000526020600020905b815481529060010190602001808311611c4657829003601f168201915b505050505090806001018054611c7890614450565b80601f0160208091040260200160405190810160405280929190818152602001828054611ca490614450565b8015611cf15780601f10611cc657610100808354040283529160200191611cf1565b820191906000526020600020905b815481529060010190602001808311611cd457829003601f168201915b505050505090806002018054611d0690614450565b80601f0160208091040260200160405190810160405280929190818152602001828054611d3290614450565b8015611d7f5780601f10611d5457610100808354040283529160200191611d7f565b820191906000526020600020905b815481529060010190602001808311611d6257829003601f168201915b505050505090806003018054611d9490614450565b80601f0160208091040260200160405190810160405280929190818152602001828054611dc090614450565b8015611e0d5780601f10611de257610100808354040283529160200191611e0d565b820191906000526020600020905b815481529060010190602001808311611df057829003601f168201915b5050505050905084565b611e417f20c3b784c1251fbb97fe6db3cfa63383dd3aa172d2b3a79bcdb8ea8c7a384afc33611721565b611e80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7790613ed3565b60405180910390fd5b81518451148015611e92575081518351145b611ed1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ec890613f13565b60405180910390fd5b600c600082815260200190815260200160002060009054906101000a900460ff1615611f32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f2990613f53565b60405180910390fd5b60005b835181101561258057600b6000848381518110611f7b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151815260200190815260200160002060009054906101000a900460ff16611fde576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fd590613fd3565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a1448194868381518110612055577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151868481518110612096577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101516040518363ffffffff1660e01b81526004016120bb929190613cf8565b600060405180830381600087803b1580156120d557600080fd5b505af11580156120e9573d6000803e3d6000fd5b50505050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d6f5b04f858381518110612164577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101518584815181106121a5577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151600960008887815181106121ea577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151815260200190815260200160002060000160096000898881518110612240577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101518152602001908152602001600020600101600960008a8981518110612296577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101518152602001908152602001600020600201600960008b8a815181106122ec577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101518152602001908152602001600020600301600960008c8b81518110612342577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015181526020019081526020016000206003016040518863ffffffff1660e01b815260040161237d9796959493929190614164565b600060405180830381600087803b15801561239757600080fd5b505af11580156123ab573d6000803e3d6000fd5b505050507fc24fa075ea4f1f50b46d09b4d8d76e0ba2dbbed5c0052c60924f7cba1cc80a40858281518110612409577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015185838151811061244a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101516009600087868151811061248f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101518152602001908152602001600020600001600960008887815181106124e5577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015181526020019081526020016000206001016009600089888151811061253b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101518152602001908152602001600020600301604051612565959493929190613d21565b60405180910390a1808061257890614482565b915050611f35565b506001600c600083815260200190815260200160002060006101000a81548160ff02191690831515021790555050505050565b6125c06000801b33611721565b6125ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125f690614033565b60405180910390fd5b60008111612642576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161263990613fb3565b60405180910390fd5b8060078190555050565b6126bf33600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600554600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166129aa909392919063ffffffff16565b60005b8151811015612757577fc035cb9b92a9b04194d9bc60f5874f020982834205e23e67f20942ca980a17ed828281518110612725577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101513360405161273c9291906140b0565b60405180910390a1808061274f90614482565b9150506126c2565b5050565b6127686000801b33611721565b6127a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161279e90614033565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156127e157600080fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61283e61283183610a7c565b612839612a33565b611721565b61287d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161287490613f33565b60405180910390fd5b6128878282612b1b565b5050565b6128fe33600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600654600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166129aa909392919063ffffffff16565b7fc035cb9b92a9b04194d9bc60f5874f020982834205e23e67f20942ca980a17ed813360405161292f9291906140ec565b60405180910390a150565b60055481565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b612a2d846323b872dd60e01b8585856040516024016129cb93929190613cc1565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050612bfc565b50505050565b600033905090565b612a458282611721565b612b1757600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550612abc612a33565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b612b258282611721565b15612bf857600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550612b9d612a33565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b612c1b8273ffffffffffffffffffffffffffffffffffffffff16612d6d565b612c5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c5190614013565b60405180910390fd5b6000808373ffffffffffffffffffffffffffffffffffffffff1683604051612c829190613c93565b6000604051808303816000865af19150503d8060008114612cbf576040519150601f19603f3d011682016040523d82523d6000602084013e612cc4565b606091505b509150915081612d09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d0090613ff3565b60405180910390fd5b600081511115612d675780806020019051810190612d2791906133aa565b612d66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d5d90613f73565b60405180910390fd5b5b50505050565b600080823b905060008111915050919050565b828054612d8c90614450565b90600052602060002090601f016020900481019282612dae5760008555612df5565b82601f10612dc757805160ff1916838001178555612df5565b82800160010185558215612df5579182015b82811115612df4578251825591602001919060010190612dd9565b5b509050612e029190612e2e565b5090565b6040518060800160405280606081526020016060815260200160608152602001606081525090565b5b80821115612e47576000816000905550600101612e2f565b5090565b6000612e5e612e5984614227565b6141f6565b90508083825260208201905082856020860282011115612e7d57600080fd5b60005b85811015612ead5781612e938882612fbe565b845260208401935060208301925050600181019050612e80565b5050509392505050565b6000612eca612ec584614253565b6141f6565b9050808382526020820190508260005b85811015612f0a5781358501612ef08882613090565b845260208401935060208301925050600181019050612eda565b5050509392505050565b6000612f27612f228461427f565b6141f6565b90508083825260208201905082856020860282011115612f4657600080fd5b60005b85811015612f765781612f5c88826130ba565b845260208401935060208301925050600181019050612f49565b5050509392505050565b6000612f93612f8e846142ab565b6141f6565b905082815260208101848484011115612fab57600080fd5b612fb684828561440e565b509392505050565b600081359050612fcd81614569565b92915050565b600082601f830112612fe457600080fd5b8135612ff4848260208601612e4b565b91505092915050565b600082601f83011261300e57600080fd5b813561301e848260208601612eb7565b91505092915050565b600082601f83011261303857600080fd5b8135613048848260208601612f14565b91505092915050565b60008151905061306081614580565b92915050565b60008135905061307581614597565b92915050565b60008135905061308a816145ae565b92915050565b600082601f8301126130a157600080fd5b81356130b1848260208601612f80565b91505092915050565b6000813590506130c9816145c5565b92915050565b6000602082840312156130e157600080fd5b60006130ef84828501612fbe565b91505092915050565b600080600080600060a0868803121561311057600080fd5b600086013567ffffffffffffffff81111561312a57600080fd5b61313688828901612fd3565b955050602086013567ffffffffffffffff81111561315357600080fd5b61315f88828901613027565b945050604086013567ffffffffffffffff81111561317c57600080fd5b61318888828901613027565b935050606086013567ffffffffffffffff8111156131a557600080fd5b6131b188828901612ffd565b92505060806131c2888289016130ba565b9150509295509295909350565b600080600080608085870312156131e557600080fd5b600085013567ffffffffffffffff8111156131ff57600080fd5b61320b87828801612fd3565b945050602085013567ffffffffffffffff81111561322857600080fd5b61323487828801613027565b935050604085013567ffffffffffffffff81111561325157600080fd5b61325d87828801613027565b925050606061326e878288016130ba565b91505092959194509250565b60006020828403121561328c57600080fd5b600082013567ffffffffffffffff8111156132a657600080fd5b6132b284828501613027565b91505092915050565b600080600080600060a086880312156132d357600080fd5b600086013567ffffffffffffffff8111156132ed57600080fd5b6132f988828901613027565b955050602086013567ffffffffffffffff81111561331657600080fd5b61332288828901612ffd565b945050604086013567ffffffffffffffff81111561333f57600080fd5b61334b88828901612ffd565b935050606086013567ffffffffffffffff81111561336857600080fd5b61337488828901612ffd565b925050608086013567ffffffffffffffff81111561339157600080fd5b61339d88828901612ffd565b9150509295509295909350565b6000602082840312156133bc57600080fd5b60006133ca84828501613051565b91505092915050565b6000602082840312156133e557600080fd5b60006133f384828501613066565b91505092915050565b6000806040838503121561340f57600080fd5b600061341d85828601613066565b925050602061342e85828601612fbe565b9150509250929050565b60006020828403121561344a57600080fd5b60006134588482850161307b565b91505092915050565b60006020828403121561347357600080fd5b6000613481848285016130ba565b91505092915050565b600080600080600060a086880312156134a257600080fd5b60006134b0888289016130ba565b955050602086013567ffffffffffffffff8111156134cd57600080fd5b6134d988828901613090565b945050604086013567ffffffffffffffff8111156134f657600080fd5b61350288828901613090565b935050606086013567ffffffffffffffff81111561351f57600080fd5b61352b88828901613090565b925050608086013567ffffffffffffffff81111561354857600080fd5b61355488828901613090565b9150509295509295909350565b61356a81614348565b82525050565b6135798161435a565b82525050565b61358881614366565b82525050565b600061359982614305565b6135a3818561431b565b93506135b381856020860161441d565b80840191505092915050565b600081546135cc81614450565b6135d6818661431b565b945060018216600081146135f1576001811461360257613635565b60ff19831686528186019350613635565b61360b856142db565b60005b8381101561362d5781548189015260018201915060208101905061360e565b838801955050505b50505092915050565b613647816143c6565b82525050565b613656816143ea565b82525050565b600061366782614310565b6136718185614326565b935061368181856020860161441d565b61368a81614558565b840191505092915050565b60006136a082614310565b6136aa8185614337565b93506136ba81856020860161441d565b6136c381614558565b840191505092915050565b600081546136db81614450565b6136e58186614337565b94506001821660008114613700576001811461371257613745565b60ff1983168652602086019350613745565b61371b856142f0565b60005b8381101561373d5781548189015260018201915060208101905061371e565b808801955050505b50505092915050565b600061375b601583614337565b91507f43616c6c6572206973206e6f7420612061646d696e00000000000000000000006000830152602082019050919050565b600061379b602f83614337565b91507f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60008301527f2061646d696e20746f206772616e7400000000000000000000000000000000006020830152604082019050919050565b6000613801600e83614337565b91507f496e707574206e6f7420747275650000000000000000000000000000000000006000830152602082019050919050565b6000613841600683614337565b91507f53756d6d6f6e00000000000000000000000000000000000000000000000000006000830152602082019050919050565b6000613881600583614337565b91507f53686172640000000000000000000000000000000000000000000000000000006000830152602082019050919050565b60006138c1603083614337565b91507f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60008301527f2061646d696e20746f207265766f6b65000000000000000000000000000000006020830152604082019050919050565b6000613927601583614337565b91507f4368657374496420686173206265656e207573656400000000000000000000006000830152602082019050919050565b6000613967602a83614337565b91507f5361666542455032303a204552433230206f7065726174696f6e20646964206e60008301527f6f742073756363656564000000000000000000000000000000000000000000006020830152604082019050919050565b60006139cd600483614337565b91507f43617264000000000000000000000000000000000000000000000000000000006000830152602082019050919050565b6000613a0d601083614337565b91507f4865726f6573206e6f7420666f756e64000000000000000000000000000000006000830152602082019050919050565b6000613a4d600c83614337565b91507f6e65656420666565203e203000000000000000000000000000000000000000006000830152602082019050919050565b6000613a8d602383614337565b91507f4e756d626572204865726f206973206e6f7420616c6c6f77656420746f20697360008301527f73756500000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000613af3602083614337565b91507f5361666542455032303a206c6f772d6c6576656c2063616c6c206661696c65646000830152602082019050919050565b6000613b33601f83614337565b91507f5361666542455032303a2063616c6c20746f206e6f6e2d636f6e7472616374006000830152602082019050919050565b6000613b73601583614337565b91507f43616c6c6572206973206e6f742061206f776e657200000000000000000000006000830152602082019050919050565b6000613bb3602f83614337565b91507f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008301527f20726f6c657320666f722073656c6600000000000000000000000000000000006020830152604082019050919050565b60006080830160008301518482036000860152613c29828261365c565b91505060208301518482036020860152613c43828261365c565b91505060408301518482036040860152613c5d828261365c565b91505060608301518482036060860152613c77828261365c565b9150508091505092915050565b613c8d816143bc565b82525050565b6000613c9f828461358e565b915081905092915050565b6000613cb682846135bf565b915081905092915050565b6000606082019050613cd66000830186613561565b613ce36020830185613561565b613cf06040830184613c84565b949350505050565b6000604082019050613d0d6000830185613561565b613d1a6020830184613c84565b9392505050565b600060a082019050613d366000830188613561565b613d436020830187613c84565b8181036040830152613d5581866136ce565b90508181036060830152613d6981856136ce565b90508181036080830152613d7d81846136ce565b90509695505050505050565b600060c082019050613d9e6000830189613561565b613dab6020830188613c84565b8181036040830152613dbd81876136ce565b90508181036060830152613dd181866136ce565b90508181036080830152613de581856136ce565b905081810360a0830152613df98184613695565b9050979650505050505050565b6000602082019050613e1b6000830184613570565b92915050565b6000602082019050613e36600083018461357f565b92915050565b6000602082019050613e51600083018461363e565b92915050565b6000602082019050613e6c600083018461364d565b92915050565b60006080820190508181036000830152613e8c8187613695565b90508181036020830152613ea08186613695565b90508181036040830152613eb48185613695565b90508181036060830152613ec88184613695565b905095945050505050565b60006020820190508181036000830152613eec8161374e565b9050919050565b60006020820190508181036000830152613f0c8161378e565b9050919050565b60006020820190508181036000830152613f2c816137f4565b9050919050565b60006020820190508181036000830152613f4c816138b4565b9050919050565b60006020820190508181036000830152613f6c8161391a565b9050919050565b60006020820190508181036000830152613f8c8161395a565b9050919050565b60006020820190508181036000830152613fac81613a00565b9050919050565b60006020820190508181036000830152613fcc81613a40565b9050919050565b60006020820190508181036000830152613fec81613a80565b9050919050565b6000602082019050818103600083015261400c81613ae6565b9050919050565b6000602082019050818103600083015261402c81613b26565b9050919050565b6000602082019050818103600083015261404c81613b66565b9050919050565b6000602082019050818103600083015261406c81613ba6565b9050919050565b6000602082019050818103600083015261408d8184613c0c565b905092915050565b60006020820190506140aa6000830184613c84565b92915050565b60006060820190506140c56000830185613c84565b6140d26020830184613561565b81810360408301526140e381613834565b90509392505050565b60006060820190506141016000830185613c84565b61410e6020830184613561565b818103604083015261411f81613874565b90509392505050565b600060608201905061413d6000830185613c84565b61414a6020830184613561565b818103604083015261415b816139c0565b90509392505050565b600060e082019050614179600083018a613c84565b6141866020830189613c84565b818103604083015261419881886136ce565b905081810360608301526141ac81876136ce565b905081810360808301526141c081866136ce565b905081810360a08301526141d481856136ce565b905081810360c08301526141e881846136ce565b905098975050505050505050565b6000604051905081810181811067ffffffffffffffff8211171561421d5761421c614529565b5b8060405250919050565b600067ffffffffffffffff82111561424257614241614529565b5b602082029050602081019050919050565b600067ffffffffffffffff82111561426e5761426d614529565b5b602082029050602081019050919050565b600067ffffffffffffffff82111561429a57614299614529565b5b602082029050602081019050919050565b600067ffffffffffffffff8211156142c6576142c5614529565b5b601f19601f8301169050602081019050919050565b60008190508160005260206000209050919050565b60008190508160005260206000209050919050565b600081519050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b60006143538261439c565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006143d1826143d8565b9050919050565b60006143e38261439c565b9050919050565b60006143f5826143fc565b9050919050565b60006144078261439c565b9050919050565b82818337600083830152505050565b60005b8381101561443b578082015181840152602081019050614420565b8381111561444a576000848401525b50505050565b6000600282049050600182168061446857607f821691505b6020821081141561447c5761447b6144fa565b5b50919050565b600061448d826143bc565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156144c0576144bf6144cb565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b61457281614348565b811461457d57600080fd5b50565b6145898161435a565b811461459457600080fd5b50565b6145a081614366565b81146145ab57600080fd5b50565b6145b781614370565b81146145c257600080fd5b50565b6145ce816143bc565b81146145d957600080fd5b5056fea2646970667358221220bacdc09f505315d32bc45a6213f75369109702e512fabc609c57db2eec640b6f64736f6c63430008000033000000000000000000000000d998ea274c1edcce9ee97182a112735441f21dbe0000000000000000000000004cd0ce1d5e10afbcaa565a0fe2a810ef0eb9b7e200000000000000000000000020d39a5130f799b95b55a930e5b7ebc589ea9ed8

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

000000000000000000000000d998ea274c1edcce9ee97182a112735441f21dbe0000000000000000000000004cd0ce1d5e10afbcaa565a0fe2a810ef0eb9b7e200000000000000000000000020d39a5130f799b95b55a930e5b7ebc589ea9ed8

-----Decoded View---------------
Arg [0] : minter (address): 0xd998ea274c1edcce9ee97182a112735441f21dbe
Arg [1] : _heroesNft (address): 0x4cd0ce1d5e10afbcaa565a0fe2a810ef0eb9b7e2
Arg [2] : _heroesToken (address): 0x20d39a5130f799b95b55a930e5b7ebc589ea9ed8

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000d998ea274c1edcce9ee97182a112735441f21dbe
Arg [1] : 0000000000000000000000004cd0ce1d5e10afbcaa565a0fe2a810ef0eb9b7e2
Arg [2] : 00000000000000000000000020d39a5130f799b95b55a930e5b7ebc589ea9ed8


Deployed ByteCode Sourcemap

9899:7593:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7936:229;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14514:256;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12221:523;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8302:109;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10033:25;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11458:44;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8417:232;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10065:80;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8895:223;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14258:250;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12750:360;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11398:53;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10181:48;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11509:39;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13560:212;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13778:214;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16247:1242;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10292:27;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8171:125;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11555:40;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13118:216;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10326:26;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7472:49;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12109:106;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11843:260;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10002:24;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11317:40;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;15123:1118;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13340:214;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14776:341;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11602:235;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8655:234;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13998:253;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10236:49;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7936:229;8021:4;8072:32;8057:47;;;:11;:47;;;;:100;;;;8121:36;8145:11;8121:23;:36::i;:::-;8057:100;8037:120;;7936:229;;;:::o;14514:256::-;14572:81;14609:10;14630;;;;;;;;;;;14643:9;;14572:11;;;;;;;;;;;:28;;;;:81;;;;;;:::i;:::-;14669:93;14695:8;14718:10;14669:93;;;;;;;:::i;:::-;;;;;;;;14514:256;:::o;12221:523::-;12376:48;7517:4;12384:18;;12412:10;12376:7;:48::i;:::-;12368:82;;;;;;;;;;;;:::i;:::-;;;;;;;;;12482:4;:11;12469:2;:9;:24;:52;;;;;12510:4;:11;12497:2;:9;:24;12469:52;:81;;;;;12538:5;:12;12525:2;:9;:25;12469:81;:109;;;;;12567:4;:11;12554:2;:9;:24;12469:109;12461:136;;;;;;;;;;;;:::i;:::-;;;;;;;;;12612:9;12608:129;12631:4;:11;12627:1;:15;12608:129;;;12682:43;;;;;;;;12689:4;12694:1;12689:7;;;;;;;;;;;;;;;;;;;;;;12682:43;;;;12698:4;12703:1;12698:7;;;;;;;;;;;;;;;;;;;;;;12682:43;;;;12707:5;12713:1;12707:8;;;;;;;;;;;;;;;;;;;;;;12682:43;;;;12717:4;12722:1;12717:7;;;;;;;;;;;;;;;;;;;;;;12682:43;;;12666:6;:13;12673:2;12676:1;12673:5;;;;;;;;;;;;;;;;;;;;;;12666:13;;;;;;;;;;;:59;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;12645:4;;;;;:::i;:::-;;;;12608:129;;;;12221:523;;;;;:::o;8302:109::-;8368:7;8386:6;:12;8393:4;8386:12;;;;;;;;;;;:22;;;8379:29;;8302:109;;;:::o;10033:25::-;;;;;;;;;;;;;:::o;11458:44::-;;;;;;;;;;;;;;;;;;;;;;:::o;8417:232::-;8512:41;8520:18;8533:4;8520:12;:18::i;:::-;8540:12;:10;:12::i;:::-;8512:7;:41::i;:::-;8503:102;;;;;;;;;;;;:::i;:::-;;;;;;;;;8616:25;8627:4;8633:7;8616:10;:25::i;:::-;8417:232;;:::o;10065:80::-;10112:33;10065:80;:::o;8895:223::-;9008:12;:10;:12::i;:::-;8997:23;;:7;:23;;;8988:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;9084:26;9096:4;9102:7;9084:11;:26::i;:::-;8895:223;;:::o;14258:250::-;14314:79;14351:10;14372;;;;;;;;;;;14385:7;;14314:11;;;;;;;;;;;:28;;;;:79;;;;;;:::i;:::-;14409:91;14435:8;14458:10;14409:91;;;;;;;:::i;:::-;;;;;;;;14258:250;:::o;12750:360::-;12890:48;7517:4;12898:18;;12926:10;12890:7;:48::i;:::-;12882:82;;;;;;;;;;;;:::i;:::-;;;;;;;;;12994:4;12975:6;:11;12982:3;12975:11;;;;;;;;;;;:16;;:23;;;;;;;;;;;;:::i;:::-;;13028:4;13009:6;:11;13016:3;13009:11;;;;;;;;;;;:16;;:23;;;;;;;;;;;;:::i;:::-;;13063:5;13043:6;:11;13050:3;13043:11;;;;;;;;;;;:17;;:25;;;;;;;;;;;;:::i;:::-;;13098:4;13079:6;:11;13086:3;13079:11;;;;;;;;;;;:16;;:23;;;;;;;;;;;;:::i;:::-;;12750:360;;;;;:::o;11398:53::-;;;;;;;;;;;;;;;;;:::o;10181:48::-;;;;:::o;11509:39::-;;;;;;;;;;;;;;;;;;;;;;:::o;13560:212::-;13619:48;7517:4;13627:18;;13655:10;13619:7;:48::i;:::-;13611:82;;;;;;;;;;;;:::i;:::-;;;;;;;;;13719:1;13712:4;:8;13704:33;;;;;;;;;;;;:::i;:::-;;;;;;;;;13760:4;13748:9;:16;;;;13560:212;:::o;13778:214::-;13838:48;7517:4;13846:18;;13874:10;13838:7;:48::i;:::-;13830:82;;;;;;;;;;;;:::i;:::-;;;;;;;;;13938:1;13931:4;:8;13923:33;;;;;;;;;;;;:::i;:::-;;;;;;;;;13980:4;13967:10;:17;;;;13778:214;:::o;16247:1242::-;16413:50;10112:33;16451:10;16413:7;:50::i;:::-;16405:84;;;;;;;;;;;;:::i;:::-;;;;;;;;;16526:11;:18;16509:6;:13;:35;:76;;;;;16567:11;:18;16548:8;:15;:37;16509:76;:111;;;;;16608:5;:12;16589:8;:15;:31;16509:111;16500:139;;;;;;;;;;;;:::i;:::-;;;;;;;;;16659:8;:19;16668:9;16659:19;;;;;;;;;;;;;;;;;;;;;16658:20;16650:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;16723:9;16719:726;16742:8;:15;16738:1;:19;16719:726;;;16851:10;16835:28;;;;;;:::i;:::-;;;;;;;;16802:6;:22;16809:11;16821:1;16809:14;;;;;;;;;;;;;;;;;;;;;;16802:22;;;;;;;;;;;:27;;16786:45;;;;;;:::i;:::-;;;;;;;;:77;;16778:106;;;;;;;;;;;;:::i;:::-;;;;;;;;;16899:9;;;;;;;;;;;:18;;;16926:6;16933:1;16926:9;;;;;;;;;;;;;;;;;;;;;;16938:8;16947:1;16938:11;;;;;;;;;;;;;;;;;;;;;;16899:51;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16965:9;;;;;;;;;;;:25;;;16991:8;17000:1;16991:11;;;;;;;;;;;;;;;;;;;;;;17004;17016:1;17004:14;;;;;;;;;;;;;;;;;;;;;;17020:6;:22;17027:11;17039:1;17027:14;;;;;;;;;;;;;;;;;;;;;;17020:22;;;;;;;;;;;:27;;17049:6;:22;17056:11;17068:1;17056:14;;;;;;;;;;;;;;;;;;;;;;17049:22;;;;;;;;;;;:27;;17078:6;:22;17085:11;17097:1;17085:14;;;;;;;;;;;;;;;;;;;;;;17078:22;;;;;;;;;;;:28;;17108:6;:22;17115:11;17127:1;17115:14;;;;;;;;;;;;;;;;;;;;;;17108:22;;;;;;;;;;;:27;;17137:6;:22;17144:11;17156:1;17144:14;;;;;;;;;;;;;;;;;;;;;;17137:22;;;;;;;;;;;:27;;16965:200;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17185:248;17214:6;17221:1;17214:9;;;;;;;;;;;;;;;;;;;;;;17242:8;17251:1;17242:11;;;;;;;;;;;;;;;;;;;;;;17272:6;:22;17279:11;17291:1;17279:14;;;;;;;;;;;;;;;;;;;;;;17272:22;;;;;;;;;;;:27;;17318:6;:22;17325:11;17337:1;17325:14;;;;;;;;;;;;;;;;;;;;;;17318:22;;;;;;;;;;;:27;;17364:6;:22;17371:11;17383:1;17371:14;;;;;;;;;;;;;;;;;;;;;;17364:22;;;;;;;;;;;:27;;17410:5;17416:1;17410:8;;;;;;;;;;;;;;;;;;;;;;17185:248;;;;;;;;;;;:::i;:::-;;;;;;;;16759:3;;;;;:::i;:::-;;;;16719:726;;;;17477:4;17455:8;:19;17464:9;17455:19;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;16247:1242;;;;;:::o;10292:27::-;;;;:::o;8171:125::-;8249:4;8264:6;:12;8271:4;8264:12;;;;;;;;;;;:20;;:29;8285:7;8264:29;;;;;;;;;;;;;;;;;;;;;;;;;8257:36;;8171:125;;;;:::o;11555:40::-;;;;;;;;;;;;;;;;;;;;;;:::o;13118:216::-;13182:48;7517:4;13190:18;;13218:10;13182:7;:48::i;:::-;13174:82;;;;;;;;;;;;:::i;:::-;;;;;;;;;13282:1;13275:4;:8;13267:33;;;;;;;;;;;;:::i;:::-;;;;;;;;;13322:4;13311:8;:15;;;;13118:216;:::o;10326:26::-;;;;:::o;7472:49::-;7517:4;7472:49;;;:::o;12109:106::-;12162:14;;:::i;:::-;12196:6;:11;12203:3;12196:11;;;;;;;;;;;12189:18;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12109:106;;;:::o;11843:260::-;11917:48;7517:4;11925:18;;11953:10;11917:7;:48::i;:::-;11909:82;;;;;;;;;;;;:::i;:::-;;;;;;;;;12006:9;12002:94;12024:4;:11;12020:1;:15;12002:94;;;12080:4;12056:12;:21;12069:4;12074:1;12069:7;;;;;;;;;;;;;;;;;;;;;;12056:21;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;12037:3;;;;;:::i;:::-;;;;12002:94;;;;11843:260;:::o;10002:24::-;;;;;;;;;;;;;:::o;11317:40::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;15123:1118::-;15268:50;10112:33;15306:10;15268:7;:50::i;:::-;15260:84;;;;;;;;;;;;:::i;:::-;;;;;;;;;15380:11;:18;15363:6;:13;:35;:76;;;;;15421:11;:18;15402:8;:15;:37;15363:76;15355:103;;;;;;;;;;;;:::i;:::-;;;;;;;;;15478:7;:15;15486:6;15478:15;;;;;;;;;;;;;;;;;;;;;15477:16;15469:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;15534:9;15530:671;15553:8;:15;15549:1;:19;15530:671;;;15597:12;:28;15610:11;15622:1;15610:14;;;;;;;;;;;;;;;;;;;;;;15597:28;;;;;;;;;;;;;;;;;;;;;15589:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;15680:9;;;;;;;;;;;:18;;;15707:6;15714:1;15707:9;;;;;;;;;;;;;;;;;;;;;;15719:8;15728:1;15719:11;;;;;;;;;;;;;;;;;;;;;;15680:51;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15746:9;;;;;;;;;;;:25;;;15772:8;15781:1;15772:11;;;;;;;;;;;;;;;;;;;;;;15785;15797:1;15785:14;;;;;;;;;;;;;;;;;;;;;;15801:6;:22;15808:11;15820:1;15808:14;;;;;;;;;;;;;;;;;;;;;;15801:22;;;;;;;;;;;:27;;15830:6;:22;15837:11;15849:1;15837:14;;;;;;;;;;;;;;;;;;;;;;15830:22;;;;;;;;;;;:27;;15859:6;:22;15866:11;15878:1;15866:14;;;;;;;;;;;;;;;;;;;;;;15859:22;;;;;;;;;;;:28;;15889:6;:22;15896:11;15908:1;15896:14;;;;;;;;;;;;;;;;;;;;;;15889:22;;;;;;;;;;;:27;;15918:6;:22;15925:11;15937:1;15925:14;;;;;;;;;;;;;;;;;;;;;;15918:22;;;;;;;;;;;:27;;15746:200;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15966:223;15996:6;16003:1;15996:9;;;;;;;;;;;;;;;;;;;;;;16025:8;16034:1;16025:11;;;;;;;;;;;;;;;;;;;;;;16055:6;:22;16062:11;16074:1;16062:14;;;;;;;;;;;;;;;;;;;;;;16055:22;;;;;;;;;;;:27;;16101:6;:22;16108:11;16120:1;16108:14;;;;;;;;;;;;;;;;;;;;;;16101:22;;;;;;;;;;;:27;;16147:6;:22;16154:11;16166:1;16154:14;;;;;;;;;;;;;;;;;;;;;;16147:22;;;;;;;;;;;:27;;15966:223;;;;;;;;;;:::i;:::-;;;;;;;;15570:3;;;;;:::i;:::-;;;;15530:671;;;;16229:4;16211:7;:15;16219:6;16211:15;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;15123:1118;;;;:::o;13340:214::-;13403:48;7517:4;13411:18;;13439:10;13403:7;:48::i;:::-;13395:82;;;;;;;;;;;;:::i;:::-;;;;;;;;;13503:1;13496:4;:8;13488:33;;;;;;;;;;;;:::i;:::-;;;;;;;;;13542:4;13532:7;:14;;;;13340:214;:::o;14776:341::-;14845:82;14882:10;14903;;;;;;;;;;;14916;;14845:11;;;;;;;;;;;:28;;;;:82;;;;;;:::i;:::-;14942:9;14938:172;14961:8;:15;14957:1;:19;14938:172;;;15002:96;15028:8;15037:1;15028:11;;;;;;;;;;;;;;;;;;;;;;15054:10;15002:96;;;;;;;:::i;:::-;;;;;;;;14978:3;;;;;:::i;:::-;;;;14938:172;;;;14776:341;:::o;11602:235::-;11672:48;7517:4;11680:18;;11708:10;11672:7;:48::i;:::-;11664:82;;;;;;;;;;;;:::i;:::-;;;;;;;;;11785:1;11765:22;;:8;:22;;;;11757:31;;;;;;11820:8;11799:10;;:30;;;;;;;;;;;;;;;;;;11602:235;:::o;8655:234::-;8750:41;8758:18;8771:4;8758:12;:18::i;:::-;8778:12;:10;:12::i;:::-;8750:7;:41::i;:::-;8741:103;;;;;;;;;;;;:::i;:::-;;;;;;;;;8855:26;8867:4;8873:7;8855:11;:26::i;:::-;8655:234;;:::o;13998:253::-;14055:80;14092:10;14113;;;;;;;;;;;14126:8;;14055:11;;;;;;;;;;;:28;;;;:80;;;;;;:::i;:::-;14151:92;14177:8;14200:10;14151:92;;;;;;;:::i;:::-;;;;;;;;13998:253;:::o;10236:49::-;;;;:::o;6712:143::-;6797:4;6827:25;6812:40;;;:11;:40;;;;6805:47;;6712:143;;;:::o;1620:204::-;1721:95;1740:5;1770:27;;;1799:4;1805:2;1809:5;1747:68;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1721:18;:95::i;:::-;1620:204;;;;:::o;6459:83::-;6512:7;6530:10;6523:17;;6459:83;:::o;9429:229::-;9504:22;9512:4;9518:7;9504;:22::i;:::-;9499:152;;9575:4;9543:6;:12;9550:4;9543:12;;;;;;;;;;;:20;;:29;9564:7;9543:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;9626:12;:10;:12::i;:::-;9599:40;;9617:7;9599:40;;9611:4;9599:40;;;;;;;;;;9499:152;9429:229;;:::o;9664:230::-;9739:22;9747:4;9753:7;9739;:22::i;:::-;9735:152;;;9810:5;9778:6;:12;9785:4;9778:12;;;;;;;;;;;:20;;:29;9799:7;9778:29;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;9862:12;:10;:12::i;:::-;9835:40;;9853:7;9835:40;;9847:4;9835:40;;;;;;;;;;9735:152;9664:230;;:::o;2897:450::-;2985:27;2993:5;2985:25;;;:27::i;:::-;2977:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;3060:12;3074:23;3109:5;3101:19;;3121:4;3101:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3059:67;;;;3145:7;3137:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;3224:1;3204:10;:17;:21;3200:140;;;3262:10;3251:30;;;;;;;;;;;;:::i;:::-;3243:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;3200:140;2897:450;;;;:::o;4431:174::-;4491:4;4508:12;4562:7;4550:20;4542:28;;4596:1;4589:4;:8;4582:15;;;4431:174;;;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;24:622:1:-;;145:80;160:64;217:6;160:64;:::i;:::-;145:80;:::i;:::-;136:89;;245:5;273:6;266:5;259:21;299:4;292:5;288:16;281:23;;324:6;374:3;366:4;358:6;354:17;349:3;345:27;342:36;339:2;;;391:1;388;381:12;339:2;419:1;404:236;429:6;426:1;423:13;404:236;;;496:3;524:37;557:3;545:10;524:37;:::i;:::-;519:3;512:50;591:4;586:3;582:14;575:21;;625:4;620:3;616:14;609:21;;464:176;451:1;448;444:9;439:14;;404:236;;;408:14;126:520;;;;;;;:::o;668:615::-;;799:90;814:74;881:6;814:74;:::i;:::-;799:90;:::i;:::-;790:99;;909:5;937:6;930:5;923:21;963:4;956:5;952:16;945:23;;988:6;1019:1;1004:273;1029:6;1026:1;1023:13;1004:273;;;1121:3;1108:17;1100:6;1096:30;1151:47;1194:3;1182:10;1151:47;:::i;:::-;1146:3;1139:60;1228:4;1223:3;1219:14;1212:21;;1262:4;1257:3;1253:14;1246:21;;1064:213;1051:1;1048;1044:9;1039:14;;1004:273;;;1008:14;780:503;;;;;;;:::o;1306:622::-;;1427:80;1442:64;1499:6;1442:64;:::i;:::-;1427:80;:::i;:::-;1418:89;;1527:5;1555:6;1548:5;1541:21;1581:4;1574:5;1570:16;1563:23;;1606:6;1656:3;1648:4;1640:6;1636:17;1631:3;1627:27;1624:36;1621:2;;;1673:1;1670;1663:12;1621:2;1701:1;1686:236;1711:6;1708:1;1705:13;1686:236;;;1778:3;1806:37;1839:3;1827:10;1806:37;:::i;:::-;1801:3;1794:50;1873:4;1868:3;1864:14;1857:21;;1907:4;1902:3;1898:14;1891:21;;1746:176;1733:1;1730;1726:9;1721:14;;1686:236;;;1690:14;1408:520;;;;;;;:::o;1934:344::-;;2037:65;2052:49;2094:6;2052:49;:::i;:::-;2037:65;:::i;:::-;2028:74;;2125:6;2118:5;2111:21;2163:4;2156:5;2152:16;2201:3;2192:6;2187:3;2183:16;2180:25;2177:2;;;2218:1;2215;2208:12;2177:2;2231:41;2265:6;2260:3;2255;2231:41;:::i;:::-;2018:260;;;;;;:::o;2284:139::-;;2368:6;2355:20;2346:29;;2384:33;2411:5;2384:33;:::i;:::-;2336:87;;;;:::o;2446:303::-;;2566:3;2559:4;2551:6;2547:17;2543:27;2533:2;;2584:1;2581;2574:12;2533:2;2624:6;2611:20;2649:94;2739:3;2731:6;2724:4;2716:6;2712:17;2649:94;:::i;:::-;2640:103;;2523:226;;;;;:::o;2771:323::-;;2901:3;2894:4;2886:6;2882:17;2878:27;2868:2;;2919:1;2916;2909:12;2868:2;2959:6;2946:20;2984:104;3084:3;3076:6;3069:4;3061:6;3057:17;2984:104;:::i;:::-;2975:113;;2858:236;;;;;:::o;3117:303::-;;3237:3;3230:4;3222:6;3218:17;3214:27;3204:2;;3255:1;3252;3245:12;3204:2;3295:6;3282:20;3320:94;3410:3;3402:6;3395:4;3387:6;3383:17;3320:94;:::i;:::-;3311:103;;3194:226;;;;;:::o;3426:137::-;;3511:6;3505:13;3496:22;;3527:30;3551:5;3527:30;:::i;:::-;3486:77;;;;:::o;3569:139::-;;3653:6;3640:20;3631:29;;3669:33;3696:5;3669:33;:::i;:::-;3621:87;;;;:::o;3714:137::-;;3797:6;3784:20;3775:29;;3813:32;3839:5;3813:32;:::i;:::-;3765:86;;;;:::o;3871:273::-;;3976:3;3969:4;3961:6;3957:17;3953:27;3943:2;;3994:1;3991;3984:12;3943:2;4034:6;4021:20;4059:79;4134:3;4126:6;4119:4;4111:6;4107:17;4059:79;:::i;:::-;4050:88;;3933:211;;;;;:::o;4150:139::-;;4234:6;4221:20;4212:29;;4250:33;4277:5;4250:33;:::i;:::-;4202:87;;;;:::o;4295:262::-;;4403:2;4391:9;4382:7;4378:23;4374:32;4371:2;;;4419:1;4416;4409:12;4371:2;4462:1;4487:53;4532:7;4523:6;4512:9;4508:22;4487:53;:::i;:::-;4477:63;;4433:117;4361:196;;;;:::o;4563:1436::-;;;;;;4849:3;4837:9;4828:7;4824:23;4820:33;4817:2;;;4866:1;4863;4856:12;4817:2;4937:1;4926:9;4922:17;4909:31;4967:18;4959:6;4956:30;4953:2;;;4999:1;4996;4989:12;4953:2;5027:78;5097:7;5088:6;5077:9;5073:22;5027:78;:::i;:::-;5017:88;;4880:235;5182:2;5171:9;5167:18;5154:32;5213:18;5205:6;5202:30;5199:2;;;5245:1;5242;5235:12;5199:2;5273:78;5343:7;5334:6;5323:9;5319:22;5273:78;:::i;:::-;5263:88;;5125:236;5428:2;5417:9;5413:18;5400:32;5459:18;5451:6;5448:30;5445:2;;;5491:1;5488;5481:12;5445:2;5519:78;5589:7;5580:6;5569:9;5565:22;5519:78;:::i;:::-;5509:88;;5371:236;5674:2;5663:9;5659:18;5646:32;5705:18;5697:6;5694:30;5691:2;;;5737:1;5734;5727:12;5691:2;5765:88;5845:7;5836:6;5825:9;5821:22;5765:88;:::i;:::-;5755:98;;5617:246;5902:3;5929:53;5974:7;5965:6;5954:9;5950:22;5929:53;:::i;:::-;5919:63;;5873:119;4807:1192;;;;;;;;:::o;6005:1127::-;;;;;6239:3;6227:9;6218:7;6214:23;6210:33;6207:2;;;6256:1;6253;6246:12;6207:2;6327:1;6316:9;6312:17;6299:31;6357:18;6349:6;6346:30;6343:2;;;6389:1;6386;6379:12;6343:2;6417:78;6487:7;6478:6;6467:9;6463:22;6417:78;:::i;:::-;6407:88;;6270:235;6572:2;6561:9;6557:18;6544:32;6603:18;6595:6;6592:30;6589:2;;;6635:1;6632;6625:12;6589:2;6663:78;6733:7;6724:6;6713:9;6709:22;6663:78;:::i;:::-;6653:88;;6515:236;6818:2;6807:9;6803:18;6790:32;6849:18;6841:6;6838:30;6835:2;;;6881:1;6878;6871:12;6835:2;6909:78;6979:7;6970:6;6959:9;6955:22;6909:78;:::i;:::-;6899:88;;6761:236;7036:2;7062:53;7107:7;7098:6;7087:9;7083:22;7062:53;:::i;:::-;7052:63;;7007:118;6197:935;;;;;;;:::o;7138:405::-;;7271:2;7259:9;7250:7;7246:23;7242:32;7239:2;;;7287:1;7284;7277:12;7239:2;7358:1;7347:9;7343:17;7330:31;7388:18;7380:6;7377:30;7374:2;;;7420:1;7417;7410:12;7374:2;7448:78;7518:7;7509:6;7498:9;7494:22;7448:78;:::i;:::-;7438:88;;7301:235;7229:314;;;;:::o;7549:1639::-;;;;;;7890:3;7878:9;7869:7;7865:23;7861:33;7858:2;;;7907:1;7904;7897:12;7858:2;7978:1;7967:9;7963:17;7950:31;8008:18;8000:6;7997:30;7994:2;;;8040:1;8037;8030:12;7994:2;8068:78;8138:7;8129:6;8118:9;8114:22;8068:78;:::i;:::-;8058:88;;7921:235;8223:2;8212:9;8208:18;8195:32;8254:18;8246:6;8243:30;8240:2;;;8286:1;8283;8276:12;8240:2;8314:88;8394:7;8385:6;8374:9;8370:22;8314:88;:::i;:::-;8304:98;;8166:246;8479:2;8468:9;8464:18;8451:32;8510:18;8502:6;8499:30;8496:2;;;8542:1;8539;8532:12;8496:2;8570:88;8650:7;8641:6;8630:9;8626:22;8570:88;:::i;:::-;8560:98;;8422:246;8735:2;8724:9;8720:18;8707:32;8766:18;8758:6;8755:30;8752:2;;;8798:1;8795;8788:12;8752:2;8826:88;8906:7;8897:6;8886:9;8882:22;8826:88;:::i;:::-;8816:98;;8678:246;8991:3;8980:9;8976:19;8963:33;9023:18;9015:6;9012:30;9009:2;;;9055:1;9052;9045:12;9009:2;9083:88;9163:7;9154:6;9143:9;9139:22;9083:88;:::i;:::-;9073:98;;8934:247;7848:1340;;;;;;;;:::o;9194:278::-;;9310:2;9298:9;9289:7;9285:23;9281:32;9278:2;;;9326:1;9323;9316:12;9278:2;9369:1;9394:61;9447:7;9438:6;9427:9;9423:22;9394:61;:::i;:::-;9384:71;;9340:125;9268:204;;;;:::o;9478:262::-;;9586:2;9574:9;9565:7;9561:23;9557:32;9554:2;;;9602:1;9599;9592:12;9554:2;9645:1;9670:53;9715:7;9706:6;9695:9;9691:22;9670:53;:::i;:::-;9660:63;;9616:117;9544:196;;;;:::o;9746:407::-;;;9871:2;9859:9;9850:7;9846:23;9842:32;9839:2;;;9887:1;9884;9877:12;9839:2;9930:1;9955:53;10000:7;9991:6;9980:9;9976:22;9955:53;:::i;:::-;9945:63;;9901:117;10057:2;10083:53;10128:7;10119:6;10108:9;10104:22;10083:53;:::i;:::-;10073:63;;10028:118;9829:324;;;;;:::o;10159:260::-;;10266:2;10254:9;10245:7;10241:23;10237:32;10234:2;;;10282:1;10279;10272:12;10234:2;10325:1;10350:52;10394:7;10385:6;10374:9;10370:22;10350:52;:::i;:::-;10340:62;;10296:116;10224:195;;;;:::o;10425:262::-;;10533:2;10521:9;10512:7;10508:23;10504:32;10501:2;;;10549:1;10546;10539:12;10501:2;10592:1;10617:53;10662:7;10653:6;10642:9;10638:22;10617:53;:::i;:::-;10607:63;;10563:117;10491:196;;;;:::o;10693:1296::-;;;;;;10909:3;10897:9;10888:7;10884:23;10880:33;10877:2;;;10926:1;10923;10916:12;10877:2;10969:1;10994:53;11039:7;11030:6;11019:9;11015:22;10994:53;:::i;:::-;10984:63;;10940:117;11124:2;11113:9;11109:18;11096:32;11155:18;11147:6;11144:30;11141:2;;;11187:1;11184;11177:12;11141:2;11215:63;11270:7;11261:6;11250:9;11246:22;11215:63;:::i;:::-;11205:73;;11067:221;11355:2;11344:9;11340:18;11327:32;11386:18;11378:6;11375:30;11372:2;;;11418:1;11415;11408:12;11372:2;11446:63;11501:7;11492:6;11481:9;11477:22;11446:63;:::i;:::-;11436:73;;11298:221;11586:2;11575:9;11571:18;11558:32;11617:18;11609:6;11606:30;11603:2;;;11649:1;11646;11639:12;11603:2;11677:63;11732:7;11723:6;11712:9;11708:22;11677:63;:::i;:::-;11667:73;;11529:221;11817:3;11806:9;11802:19;11789:33;11849:18;11841:6;11838:30;11835:2;;;11881:1;11878;11871:12;11835:2;11909:63;11964:7;11955:6;11944:9;11940:22;11909:63;:::i;:::-;11899:73;;11760:222;10867:1122;;;;;;;;:::o;11995:118::-;12082:24;12100:5;12082:24;:::i;:::-;12077:3;12070:37;12060:53;;:::o;12119:109::-;12200:21;12215:5;12200:21;:::i;:::-;12195:3;12188:34;12178:50;;:::o;12234:118::-;12321:24;12339:5;12321:24;:::i;:::-;12316:3;12309:37;12299:53;;:::o;12358:373::-;;12490:38;12522:5;12490:38;:::i;:::-;12544:88;12625:6;12620:3;12544:88;:::i;:::-;12537:95;;12641:52;12686:6;12681:3;12674:4;12667:5;12663:16;12641:52;:::i;:::-;12718:6;12713:3;12709:16;12702:23;;12466:265;;;;;:::o;12759:849::-;;12901:5;12895:12;12930:36;12956:9;12930:36;:::i;:::-;12982:88;13063:6;13058:3;12982:88;:::i;:::-;12975:95;;13101:1;13090:9;13086:17;13117:1;13112:137;;;;13263:1;13258:344;;;;13079:523;;13112:137;13196:4;13192:9;13181;13177:25;13172:3;13165:38;13232:6;13227:3;13223:16;13216:23;;13112:137;;13258:344;13325:41;13360:5;13325:41;:::i;:::-;13388:1;13402:154;13416:6;13413:1;13410:13;13402:154;;;13490:7;13484:14;13480:1;13475:3;13471:11;13464:35;13540:1;13531:7;13527:15;13516:26;;13438:4;13435:1;13431:12;13426:17;;13402:154;;;13585:6;13580:3;13576:16;13569:23;;13265:337;;13079:523;;12868:740;;;;;;:::o;13614:159::-;13715:51;13760:5;13715:51;:::i;:::-;13710:3;13703:64;13693:80;;:::o;13779:161::-;13881:52;13927:5;13881:52;:::i;:::-;13876:3;13869:65;13859:81;;:::o;13946:344::-;;14052:39;14085:5;14052:39;:::i;:::-;14107:61;14161:6;14156:3;14107:61;:::i;:::-;14100:68;;14177:52;14222:6;14217:3;14210:4;14203:5;14199:16;14177:52;:::i;:::-;14254:29;14276:6;14254:29;:::i;:::-;14249:3;14245:39;14238:46;;14028:262;;;;;:::o;14296:364::-;;14412:39;14445:5;14412:39;:::i;:::-;14467:71;14531:6;14526:3;14467:71;:::i;:::-;14460:78;;14547:52;14592:6;14587:3;14580:4;14573:5;14569:16;14547:52;:::i;:::-;14624:29;14646:6;14624:29;:::i;:::-;14619:3;14615:39;14608:46;;14388:272;;;;;:::o;14690:802::-;;14812:5;14806:12;14841:36;14867:9;14841:36;:::i;:::-;14893:71;14957:6;14952:3;14893:71;:::i;:::-;14886:78;;14995:1;14984:9;14980:17;15011:1;15006:135;;;;15155:1;15150:336;;;;14973:513;;15006:135;15090:4;15086:9;15075;15071:25;15066:3;15059:38;15126:4;15121:3;15117:14;15110:21;;15006:135;;15150:336;15217:38;15249:5;15217:38;:::i;:::-;15277:1;15291:154;15305:6;15302:1;15299:13;15291:154;;;15379:7;15373:14;15369:1;15364:3;15360:11;15353:35;15429:1;15420:7;15416:15;15405:26;;15327:4;15324:1;15320:12;15315:17;;15291:154;;;15474:1;15469:3;15465:11;15458:18;;15157:329;;14973:513;;14779:713;;;;;;:::o;15498:319::-;;15661:67;15725:2;15720:3;15661:67;:::i;:::-;15654:74;;15758:23;15754:1;15749:3;15745:11;15738:44;15808:2;15803:3;15799:12;15792:19;;15644:173;;;:::o;15823:379::-;;15986:67;16050:2;16045:3;15986:67;:::i;:::-;15979:74;;16083:34;16079:1;16074:3;16070:11;16063:55;16149:17;16144:2;16139:3;16135:12;16128:39;16193:2;16188:3;16184:12;16177:19;;15969:233;;;:::o;16208:312::-;;16371:67;16435:2;16430:3;16371:67;:::i;:::-;16364:74;;16468:16;16464:1;16459:3;16455:11;16448:37;16511:2;16506:3;16502:12;16495:19;;16354:166;;;:::o;16526:303::-;;16689:66;16753:1;16748:3;16689:66;:::i;:::-;16682:73;;16785:8;16781:1;16776:3;16772:11;16765:29;16820:2;16815:3;16811:12;16804:19;;16672:157;;;:::o;16835:302::-;;16998:66;17062:1;17057:3;16998:66;:::i;:::-;16991:73;;17094:7;17090:1;17085:3;17081:11;17074:28;17128:2;17123:3;17119:12;17112:19;;16981:156;;;:::o;17143:380::-;;17306:67;17370:2;17365:3;17306:67;:::i;:::-;17299:74;;17403:34;17399:1;17394:3;17390:11;17383:55;17469:18;17464:2;17459:3;17455:12;17448:40;17514:2;17509:3;17505:12;17498:19;;17289:234;;;:::o;17529:319::-;;17692:67;17756:2;17751:3;17692:67;:::i;:::-;17685:74;;17789:23;17785:1;17780:3;17776:11;17769:44;17839:2;17834:3;17830:12;17823:19;;17675:173;;;:::o;17854:374::-;;18017:67;18081:2;18076:3;18017:67;:::i;:::-;18010:74;;18114:34;18110:1;18105:3;18101:11;18094:55;18180:12;18175:2;18170:3;18166:12;18159:34;18219:2;18214:3;18210:12;18203:19;;18000:228;;;:::o;18234:301::-;;18397:66;18461:1;18456:3;18397:66;:::i;:::-;18390:73;;18493:6;18489:1;18484:3;18480:11;18473:27;18526:2;18521:3;18517:12;18510:19;;18380:155;;;:::o;18541:314::-;;18704:67;18768:2;18763:3;18704:67;:::i;:::-;18697:74;;18801:18;18797:1;18792:3;18788:11;18781:39;18846:2;18841:3;18837:12;18830:19;;18687:168;;;:::o;18861:310::-;;19024:67;19088:2;19083:3;19024:67;:::i;:::-;19017:74;;19121:14;19117:1;19112:3;19108:11;19101:35;19162:2;19157:3;19153:12;19146:19;;19007:164;;;:::o;19177:367::-;;19340:67;19404:2;19399:3;19340:67;:::i;:::-;19333:74;;19437:34;19433:1;19428:3;19424:11;19417:55;19503:5;19498:2;19493:3;19489:12;19482:27;19535:2;19530:3;19526:12;19519:19;;19323:221;;;:::o;19550:330::-;;19713:67;19777:2;19772:3;19713:67;:::i;:::-;19706:74;;19810:34;19806:1;19801:3;19797:11;19790:55;19871:2;19866:3;19862:12;19855:19;;19696:184;;;:::o;19886:329::-;;20049:67;20113:2;20108:3;20049:67;:::i;:::-;20042:74;;20146:33;20142:1;20137:3;20133:11;20126:54;20206:2;20201:3;20197:12;20190:19;;20032:183;;;:::o;20221:319::-;;20384:67;20448:2;20443:3;20384:67;:::i;:::-;20377:74;;20481:23;20477:1;20472:3;20468:11;20461:44;20531:2;20526:3;20522:12;20515:19;;20367:173;;;:::o;20546:379::-;;20709:67;20773:2;20768:3;20709:67;:::i;:::-;20702:74;;20806:34;20802:1;20797:3;20793:11;20786:55;20872:17;20867:2;20862:3;20858:12;20851:39;20916:2;20911:3;20907:12;20900:19;;20692:233;;;:::o;20981:1166::-;;21134:4;21129:3;21125:14;21221:4;21214:5;21210:16;21204:23;21274:3;21268:4;21264:14;21257:4;21252:3;21248:14;21241:38;21300:73;21368:4;21354:12;21300:73;:::i;:::-;21292:81;;21149:235;21466:4;21459:5;21455:16;21449:23;21519:3;21513:4;21509:14;21502:4;21497:3;21493:14;21486:38;21545:73;21613:4;21599:12;21545:73;:::i;:::-;21537:81;;21394:235;21712:4;21705:5;21701:16;21695:23;21765:3;21759:4;21755:14;21748:4;21743:3;21739:14;21732:38;21791:73;21859:4;21845:12;21791:73;:::i;:::-;21783:81;;21639:236;21957:4;21950:5;21946:16;21940:23;22010:3;22004:4;22000:14;21993:4;21988:3;21984:14;21977:38;22036:73;22104:4;22090:12;22036:73;:::i;:::-;22028:81;;21885:235;22137:4;22130:11;;21103:1044;;;;;:::o;22153:118::-;22240:24;22258:5;22240:24;:::i;:::-;22235:3;22228:37;22218:53;;:::o;22277:271::-;;22429:93;22518:3;22509:6;22429:93;:::i;:::-;22422:100;;22539:3;22532:10;;22411:137;;;;:::o;22554:273::-;;22707:94;22797:3;22788:6;22707:94;:::i;:::-;22700:101;;22818:3;22811:10;;22689:138;;;;:::o;22833:442::-;;23020:2;23009:9;23005:18;22997:26;;23033:71;23101:1;23090:9;23086:17;23077:6;23033:71;:::i;:::-;23114:72;23182:2;23171:9;23167:18;23158:6;23114:72;:::i;:::-;23196;23264:2;23253:9;23249:18;23240:6;23196:72;:::i;:::-;22987:288;;;;;;:::o;23281:332::-;;23440:2;23429:9;23425:18;23417:26;;23453:71;23521:1;23510:9;23506:17;23497:6;23453:71;:::i;:::-;23534:72;23602:2;23591:9;23587:18;23578:6;23534:72;:::i;:::-;23407:206;;;;;:::o;23619:919::-;;23913:3;23902:9;23898:19;23890:27;;23927:71;23995:1;23984:9;23980:17;23971:6;23927:71;:::i;:::-;24008:72;24076:2;24065:9;24061:18;24052:6;24008:72;:::i;:::-;24127:9;24121:4;24117:20;24112:2;24101:9;24097:18;24090:48;24155:75;24225:4;24216:6;24155:75;:::i;:::-;24147:83;;24277:9;24271:4;24267:20;24262:2;24251:9;24247:18;24240:48;24305:75;24375:4;24366:6;24305:75;:::i;:::-;24297:83;;24428:9;24422:4;24418:20;24412:3;24401:9;24397:19;24390:49;24456:75;24526:4;24517:6;24456:75;:::i;:::-;24448:83;;23880:658;;;;;;;;:::o;24544:1121::-;;24886:3;24875:9;24871:19;24863:27;;24900:71;24968:1;24957:9;24953:17;24944:6;24900:71;:::i;:::-;24981:72;25049:2;25038:9;25034:18;25025:6;24981:72;:::i;:::-;25100:9;25094:4;25090:20;25085:2;25074:9;25070:18;25063:48;25128:75;25198:4;25189:6;25128:75;:::i;:::-;25120:83;;25250:9;25244:4;25240:20;25235:2;25224:9;25220:18;25213:48;25278:75;25348:4;25339:6;25278:75;:::i;:::-;25270:83;;25401:9;25395:4;25391:20;25385:3;25374:9;25370:19;25363:49;25429:75;25499:4;25490:6;25429:75;:::i;:::-;25421:83;;25552:9;25546:4;25542:20;25536:3;25525:9;25521:19;25514:49;25580:78;25653:4;25644:6;25580:78;:::i;:::-;25572:86;;24853:812;;;;;;;;;:::o;25671:210::-;;25796:2;25785:9;25781:18;25773:26;;25809:65;25871:1;25860:9;25856:17;25847:6;25809:65;:::i;:::-;25763:118;;;;:::o;25887:222::-;;26018:2;26007:9;26003:18;25995:26;;26031:71;26099:1;26088:9;26084:17;26075:6;26031:71;:::i;:::-;25985:124;;;;:::o;26115:250::-;;26260:2;26249:9;26245:18;26237:26;;26273:85;26355:1;26344:9;26340:17;26331:6;26273:85;:::i;:::-;26227:138;;;;:::o;26371:252::-;;26517:2;26506:9;26502:18;26494:26;;26530:86;26613:1;26602:9;26598:17;26589:6;26530:86;:::i;:::-;26484:139;;;;:::o;26629:917::-;;26924:3;26913:9;26909:19;26901:27;;26974:9;26968:4;26964:20;26960:1;26949:9;26945:17;26938:47;27002:78;27075:4;27066:6;27002:78;:::i;:::-;26994:86;;27127:9;27121:4;27117:20;27112:2;27101:9;27097:18;27090:48;27155:78;27228:4;27219:6;27155:78;:::i;:::-;27147:86;;27280:9;27274:4;27270:20;27265:2;27254:9;27250:18;27243:48;27308:78;27381:4;27372:6;27308:78;:::i;:::-;27300:86;;27433:9;27427:4;27423:20;27418:2;27407:9;27403:18;27396:48;27461:78;27534:4;27525:6;27461:78;:::i;:::-;27453:86;;26891:655;;;;;;;:::o;27552:419::-;;27756:2;27745:9;27741:18;27733:26;;27805:9;27799:4;27795:20;27791:1;27780:9;27776:17;27769:47;27833:131;27959:4;27833:131;:::i;:::-;27825:139;;27723:248;;;:::o;27977:419::-;;28181:2;28170:9;28166:18;28158:26;;28230:9;28224:4;28220:20;28216:1;28205:9;28201:17;28194:47;28258:131;28384:4;28258:131;:::i;:::-;28250:139;;28148:248;;;:::o;28402:419::-;;28606:2;28595:9;28591:18;28583:26;;28655:9;28649:4;28645:20;28641:1;28630:9;28626:17;28619:47;28683:131;28809:4;28683:131;:::i;:::-;28675:139;;28573:248;;;:::o;28827:419::-;;29031:2;29020:9;29016:18;29008:26;;29080:9;29074:4;29070:20;29066:1;29055:9;29051:17;29044:47;29108:131;29234:4;29108:131;:::i;:::-;29100:139;;28998:248;;;:::o;29252:419::-;;29456:2;29445:9;29441:18;29433:26;;29505:9;29499:4;29495:20;29491:1;29480:9;29476:17;29469:47;29533:131;29659:4;29533:131;:::i;:::-;29525:139;;29423:248;;;:::o;29677:419::-;;29881:2;29870:9;29866:18;29858:26;;29930:9;29924:4;29920:20;29916:1;29905:9;29901:17;29894:47;29958:131;30084:4;29958:131;:::i;:::-;29950:139;;29848:248;;;:::o;30102:419::-;;30306:2;30295:9;30291:18;30283:26;;30355:9;30349:4;30345:20;30341:1;30330:9;30326:17;30319:47;30383:131;30509:4;30383:131;:::i;:::-;30375:139;;30273:248;;;:::o;30527:419::-;;30731:2;30720:9;30716:18;30708:26;;30780:9;30774:4;30770:20;30766:1;30755:9;30751:17;30744:47;30808:131;30934:4;30808:131;:::i;:::-;30800:139;;30698:248;;;:::o;30952:419::-;;31156:2;31145:9;31141:18;31133:26;;31205:9;31199:4;31195:20;31191:1;31180:9;31176:17;31169:47;31233:131;31359:4;31233:131;:::i;:::-;31225:139;;31123:248;;;:::o;31377:419::-;;31581:2;31570:9;31566:18;31558:26;;31630:9;31624:4;31620:20;31616:1;31605:9;31601:17;31594:47;31658:131;31784:4;31658:131;:::i;:::-;31650:139;;31548:248;;;:::o;31802:419::-;;32006:2;31995:9;31991:18;31983:26;;32055:9;32049:4;32045:20;32041:1;32030:9;32026:17;32019:47;32083:131;32209:4;32083:131;:::i;:::-;32075:139;;31973:248;;;:::o;32227:419::-;;32431:2;32420:9;32416:18;32408:26;;32480:9;32474:4;32470:20;32466:1;32455:9;32451:17;32444:47;32508:131;32634:4;32508:131;:::i;:::-;32500:139;;32398:248;;;:::o;32652:419::-;;32856:2;32845:9;32841:18;32833:26;;32905:9;32899:4;32895:20;32891:1;32880:9;32876:17;32869:47;32933:131;33059:4;32933:131;:::i;:::-;32925:139;;32823:248;;;:::o;33077:369::-;;33256:2;33245:9;33241:18;33233:26;;33305:9;33299:4;33295:20;33291:1;33280:9;33276:17;33269:47;33333:106;33434:4;33425:6;33333:106;:::i;:::-;33325:114;;33223:223;;;;:::o;33452:222::-;;33583:2;33572:9;33568:18;33560:26;;33596:71;33664:1;33653:9;33649:17;33640:6;33596:71;:::i;:::-;33550:124;;;;:::o;33680:639::-;;33940:2;33929:9;33925:18;33917:26;;33953:71;34021:1;34010:9;34006:17;33997:6;33953:71;:::i;:::-;34034:72;34102:2;34091:9;34087:18;34078:6;34034:72;:::i;:::-;34153:9;34147:4;34143:20;34138:2;34127:9;34123:18;34116:48;34181:131;34307:4;34181:131;:::i;:::-;34173:139;;33907:412;;;;;:::o;34325:639::-;;34585:2;34574:9;34570:18;34562:26;;34598:71;34666:1;34655:9;34651:17;34642:6;34598:71;:::i;:::-;34679:72;34747:2;34736:9;34732:18;34723:6;34679:72;:::i;:::-;34798:9;34792:4;34788:20;34783:2;34772:9;34768:18;34761:48;34826:131;34952:4;34826:131;:::i;:::-;34818:139;;34552:412;;;;;:::o;34970:639::-;;35230:2;35219:9;35215:18;35207:26;;35243:71;35311:1;35300:9;35296:17;35287:6;35243:71;:::i;:::-;35324:72;35392:2;35381:9;35377:18;35368:6;35324:72;:::i;:::-;35443:9;35437:4;35433:20;35428:2;35417:9;35413:18;35406:48;35471:131;35597:4;35471:131;:::i;:::-;35463:139;;35197:412;;;;;:::o;35615:1311::-;;35999:3;35988:9;35984:19;35976:27;;36013:71;36081:1;36070:9;36066:17;36057:6;36013:71;:::i;:::-;36094:72;36162:2;36151:9;36147:18;36138:6;36094:72;:::i;:::-;36213:9;36207:4;36203:20;36198:2;36187:9;36183:18;36176:48;36241:75;36311:4;36302:6;36241:75;:::i;:::-;36233:83;;36363:9;36357:4;36353:20;36348:2;36337:9;36333:18;36326:48;36391:75;36461:4;36452:6;36391:75;:::i;:::-;36383:83;;36514:9;36508:4;36504:20;36498:3;36487:9;36483:19;36476:49;36542:75;36612:4;36603:6;36542:75;:::i;:::-;36534:83;;36665:9;36659:4;36655:20;36649:3;36638:9;36634:19;36627:49;36693:75;36763:4;36754:6;36693:75;:::i;:::-;36685:83;;36816:9;36810:4;36806:20;36800:3;36789:9;36785:19;36778:49;36844:75;36914:4;36905:6;36844:75;:::i;:::-;36836:83;;35966:960;;;;;;;;;;:::o;36932:283::-;;36998:2;36992:9;36982:19;;37040:4;37032:6;37028:17;37147:6;37135:10;37132:22;37111:18;37099:10;37096:34;37093:62;37090:2;;;37158:18;;:::i;:::-;37090:2;37198:10;37194:2;37187:22;36972:243;;;;:::o;37221:311::-;;37388:18;37380:6;37377:30;37374:2;;;37410:18;;:::i;:::-;37374:2;37460:4;37452:6;37448:17;37440:25;;37520:4;37514;37510:15;37502:23;;37303:229;;;:::o;37538:321::-;;37715:18;37707:6;37704:30;37701:2;;;37737:18;;:::i;:::-;37701:2;37787:4;37779:6;37775:17;37767:25;;37847:4;37841;37837:15;37829:23;;37630:229;;;:::o;37865:311::-;;38032:18;38024:6;38021:30;38018:2;;;38054:18;;:::i;:::-;38018:2;38104:4;38096:6;38092:17;38084:25;;38164:4;38158;38154:15;38146:23;;37947:229;;;:::o;38182:332::-;;38334:18;38326:6;38323:30;38320:2;;;38356:18;;:::i;:::-;38320:2;38441:4;38437:9;38430:4;38422:6;38418:17;38414:33;38406:41;;38502:4;38496;38492:15;38484:23;;38249:265;;;:::o;38520:144::-;;38595:3;38587:11;;38618:3;38615:1;38608:14;38652:4;38649:1;38639:18;38631:26;;38577:87;;;:::o;38670:141::-;;38742:3;38734:11;;38765:3;38762:1;38755:14;38799:4;38796:1;38786:18;38778:26;;38724:87;;;:::o;38817:98::-;;38902:5;38896:12;38886:22;;38875:40;;;:::o;38921:99::-;;39007:5;39001:12;38991:22;;38980:40;;;:::o;39026:147::-;;39164:3;39149:18;;39139:34;;;;:::o;39179:159::-;;39287:6;39282:3;39275:19;39327:4;39322:3;39318:14;39303:29;;39265:73;;;;:::o;39344:169::-;;39462:6;39457:3;39450:19;39502:4;39497:3;39493:14;39478:29;;39440:73;;;;:::o;39519:96::-;;39585:24;39603:5;39585:24;:::i;:::-;39574:35;;39564:51;;;:::o;39621:90::-;;39698:5;39691:13;39684:21;39673:32;;39663:48;;;:::o;39717:77::-;;39783:5;39772:16;;39762:32;;;:::o;39800:149::-;;39876:66;39869:5;39865:78;39854:89;;39844:105;;;:::o;39955:126::-;;40032:42;40025:5;40021:54;40010:65;;40000:81;;;:::o;40087:77::-;;40153:5;40142:16;;40132:32;;;:::o;40170:154::-;;40267:51;40312:5;40267:51;:::i;:::-;40254:64;;40244:80;;;:::o;40330:127::-;;40427:24;40445:5;40427:24;:::i;:::-;40414:37;;40404:53;;;:::o;40463:156::-;;40561:52;40607:5;40561:52;:::i;:::-;40548:65;;40538:81;;;:::o;40625:128::-;;40723:24;40741:5;40723:24;:::i;:::-;40710:37;;40700:53;;;:::o;40759:154::-;40843:6;40838:3;40833;40820:30;40905:1;40896:6;40891:3;40887:16;40880:27;40810:103;;;:::o;40919:307::-;40987:1;40997:113;41011:6;41008:1;41005:13;40997:113;;;41096:1;41091:3;41087:11;41081:18;41077:1;41072:3;41068:11;41061:39;41033:2;41030:1;41026:10;41021:15;;40997:113;;;41128:6;41125:1;41122:13;41119:2;;;41208:1;41199:6;41194:3;41190:16;41183:27;41119:2;40968:258;;;;:::o;41232:320::-;;41313:1;41307:4;41303:12;41293:22;;41360:1;41354:4;41350:12;41381:18;41371:2;;41437:4;41429:6;41425:17;41415:27;;41371:2;41499;41491:6;41488:14;41468:18;41465:38;41462:2;;;41518:18;;:::i;:::-;41462:2;41283:269;;;;:::o;41558:233::-;;41620:24;41638:5;41620:24;:::i;:::-;41611:33;;41666:66;41659:5;41656:77;41653:2;;;41736:18;;:::i;:::-;41653:2;41783:1;41776:5;41772:13;41765:20;;41601:190;;;:::o;41797:180::-;41845:77;41842:1;41835:88;41942:4;41939:1;41932:15;41966:4;41963:1;41956:15;41983:180;42031:77;42028:1;42021:88;42128:4;42125:1;42118:15;42152:4;42149:1;42142:15;42169:180;42217:77;42214:1;42207:88;42314:4;42311:1;42304:15;42338:4;42335:1;42328:15;42355:102;;42447:2;42443:7;42438:2;42431:5;42427:14;42423:28;42413:38;;42403:54;;;:::o;42463:122::-;42536:24;42554:5;42536:24;:::i;:::-;42529:5;42526:35;42516:2;;42575:1;42572;42565:12;42516:2;42506:79;:::o;42591:116::-;42661:21;42676:5;42661:21;:::i;:::-;42654:5;42651:32;42641:2;;42697:1;42694;42687:12;42641:2;42631:76;:::o;42713:122::-;42786:24;42804:5;42786:24;:::i;:::-;42779:5;42776:35;42766:2;;42825:1;42822;42815:12;42766:2;42756:79;:::o;42841:120::-;42913:23;42930:5;42913:23;:::i;:::-;42906:5;42903:34;42893:2;;42951:1;42948;42941:12;42893:2;42883:78;:::o;42967:122::-;43040:24;43058:5;43040:24;:::i;:::-;43033:5;43030:35;43020:2;;43079:1;43076;43069:12;43020:2;43010:79;:::o

Swarm Source

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