Feature Tip: Add private address tag to any address under My Name Tag !
More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 788 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Claim | 21016728 | 78 days ago | IN | 0 ETH | 0.00132557 | ||||
Claim | 20980440 | 84 days ago | IN | 0 ETH | 0.00219911 | ||||
Claim | 20978691 | 84 days ago | IN | 0 ETH | 0.00307417 | ||||
Claim | 20819612 | 106 days ago | IN | 0 ETH | 0.00292626 | ||||
Claim | 20720935 | 120 days ago | IN | 0 ETH | 0.00102581 | ||||
Claim | 20715601 | 120 days ago | IN | 0 ETH | 0.00094045 | ||||
Claim | 20601985 | 136 days ago | IN | 0 ETH | 0.00014026 | ||||
Claim | 20589633 | 138 days ago | IN | 0 ETH | 0.00018179 | ||||
Claim | 20547854 | 144 days ago | IN | 0 ETH | 0.00017894 | ||||
Claim | 20469059 | 155 days ago | IN | 0 ETH | 0.00036904 | ||||
Claim | 20364462 | 170 days ago | IN | 0 ETH | 0.0010382 | ||||
Claim | 20350137 | 172 days ago | IN | 0 ETH | 0.0003911 | ||||
Claim | 20324640 | 175 days ago | IN | 0 ETH | 0.0010814 | ||||
Claim | 20311279 | 177 days ago | IN | 0 ETH | 0.00065772 | ||||
Claim | 20297974 | 179 days ago | IN | 0 ETH | 0.00022376 | ||||
Claim | 20263454 | 184 days ago | IN | 0 ETH | 0.00058592 | ||||
Claim | 20255259 | 185 days ago | IN | 0 ETH | 0.00059706 | ||||
Claim | 20231203 | 188 days ago | IN | 0 ETH | 0.00030677 | ||||
Claim | 20229098 | 188 days ago | IN | 0 ETH | 0.00059491 | ||||
Claim | 20224845 | 189 days ago | IN | 0 ETH | 0.00061528 | ||||
Claim | 20224743 | 189 days ago | IN | 0 ETH | 0.00084106 | ||||
Claim | 20224560 | 189 days ago | IN | 0 ETH | 0.00066582 | ||||
Claim | 20171196 | 196 days ago | IN | 0 ETH | 0.00078389 | ||||
Claim | 20160320 | 198 days ago | IN | 0 ETH | 0.00109212 | ||||
Claim | 20156892 | 198 days ago | IN | 0 ETH | 0.00043279 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
WCAClaimableTokensAggregator
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-06-19 */ // File: @openzeppelin/contracts/token/ERC20/IERC20.sol // OpenZeppelin Contracts (last updated v4.6.0) (token/ERC20/IERC20.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `to`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address to, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `from` to `to` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom( address from, address to, uint256 amount ) external returns (bool); } // File: @openzeppelin/contracts/utils/Context.sol // OpenZeppelin Contracts v4.4.1 (utils/Context.sol) pragma solidity ^0.8.0; /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } // File: @openzeppelin/contracts/access/Ownable.sol // OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol) pragma solidity ^0.8.0; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _transferOwnership(_msgSender()); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } // File: contracts/WCAClaimableTokensAggregator.sol //SPDX-License-Identifier: MIT pragma solidity ^0.8.17; contract WCAClaimableTokensAggregator is Ownable { IERC20 public Token; IWCARestake public Restake; IWCAWhitelist public Whitelist; IWCAICO public ICO; IWCAMundialStaking public MundialStaking; IWCAMundialRewards public MundialRewards; IWCADAOLocking public WCADAOLocking; string public constant version = "0.5"; uint256 public startDate = 1687255200; // 20-06-2023 10:00:00 UTC uint256 public emissionRate = 763889; // 0.66% per day uint256 public emissionRateScale = 1e11; mapping(address => uint256) public userToClaimedTokens; constructor( address _Token, address _Restake, address _Whitelist, address _ICO, address _MundialStaking, address _MundialRewards, address _WCADAOLocking ) { Token = IERC20(_Token); Restake = IWCARestake(_Restake); Whitelist = IWCAWhitelist(_Whitelist); ICO = IWCAICO(_ICO); MundialStaking = IWCAMundialStaking(_MundialStaking); MundialRewards = IWCAMundialRewards(_MundialRewards); WCADAOLocking = IWCADAOLocking(_WCADAOLocking); } function setAddresses( address _Token, address _Restake, address _Whitelist, address _ICO, address _MundialStaking, address _MundialRewards, address _WCADAOLocking ) external onlyOwner { Token = IERC20(_Token); Restake = IWCARestake(_Restake); Whitelist = IWCAWhitelist(_Whitelist); ICO = IWCAICO(_ICO); MundialStaking = IWCAMundialStaking(_MundialStaking); MundialRewards = IWCAMundialRewards(_MundialRewards); WCADAOLocking = IWCADAOLocking(_WCADAOLocking); } function setStartDate(uint256 _startDate) external onlyOwner { startDate = _startDate; } function setEmissionRate(uint256 _emissionRate) external onlyOwner { emissionRate = _emissionRate; } function setEmissionRateScale(uint256 _emissionRateScale) external onlyOwner { emissionRateScale = _emissionRateScale; } function balanceOf(address _address) external view returns (uint256) { return Token.balanceOf(_address) + Restake.getTotalClaimable(_address) + Whitelist.getTotalClaimable(_address) + ICO.getTotalClaimable(_address) + getMundialStakingAvailableRewards(_address) + MundialRewards.getAvailableTokens(_address) + WCADAOLocking.getLockedTokensFromWallet(_address) - userToClaimedTokens[_address]; } function stakedBalanceOf(address _address) external view returns (uint256) { return Restake.getTotalClaimable(_address) + Whitelist.getTotalClaimable(_address) + ICO.getTotalClaimable(_address) + getMundialStakingAvailableRewards(_address) + MundialRewards.getAvailableTokens(_address) + WCADAOLocking.getLockedTokensFromWallet(_address) - userToClaimedTokens[_address]; } function leftToClaimBalanceOf(address _address) external view returns (uint256) { uint256 count = Restake.getTotalClaimable(_address) + Whitelist.getTotalClaimable(_address) + ICO.getTotalClaimable(_address) + getMundialStakingAvailableRewards(_address) + MundialRewards.getAvailableTokens(_address) - WCADAOLocking.getLockedTokensFromStaking(_address) - userToClaimedTokens[_address]; return count; } function claimableBalanceOf(address _address) public view returns (uint256) { if (block.timestamp < startDate) { return 0; } uint256 restake = Restake.getTotalClaimable(_address); uint256 whitelist = Whitelist.getTotalClaimable(_address); uint256 ico = ICO.getTotalClaimable(_address); uint256 mundialStaking = getMundialStakingAvailableRewards(_address); uint256 mundialRewards = MundialRewards.getAvailableTokens(_address); uint256 lockedFromStaking = WCADAOLocking.getLockedTokensFromStaking(_address); uint256 total = restake + whitelist + ico + mundialStaking + mundialRewards; if(total == 0 || total < lockedFromStaking) { return 0; } total -= lockedFromStaking; uint256 claimable = (emissionRate * total * (block.timestamp - startDate)) / (emissionRateScale * 100); if(claimable > total) { claimable = total; } if(claimable < userToClaimedTokens[_address]) { return 0; } return claimable - userToClaimedTokens[_address]; } function subdividedBalanceOf(address _address) external view returns ( uint256 tokensOnWallet, uint256 restake, uint256 whitelist, uint256 ico, uint256 mundialStaking, uint256 promoRewards, uint256 lockedFromStaking, uint256 lockedFromWallet, uint256 alreadyClaimed ) { tokensOnWallet = Token.balanceOf(_address); restake = Restake.getTotalClaimable(_address); whitelist = Whitelist.getTotalClaimable(_address); ico = ICO.getTotalClaimable(_address); mundialStaking = getMundialStakingAvailableRewards(_address); promoRewards = MundialRewards.getAvailableTokens(_address); lockedFromStaking = WCADAOLocking.getLockedTokensFromStaking(_address); lockedFromWallet = WCADAOLocking.getLockedTokensFromWallet(_address); alreadyClaimed = userToClaimedTokens[_address]; if ((lockedFromStaking + alreadyClaimed) > 0) { uint256 count = lockedFromStaking + alreadyClaimed; if (restake > 0) { if (restake >= count) { restake -= count; return (tokensOnWallet, restake, whitelist, ico, mundialStaking, promoRewards, lockedFromStaking, lockedFromWallet, alreadyClaimed); } else { count -= restake; restake = 0; } } if (whitelist > 0) { if (whitelist >= count) { whitelist -= count; return (tokensOnWallet, restake, whitelist, ico, mundialStaking, promoRewards, lockedFromStaking, lockedFromWallet, alreadyClaimed); } else { count -= whitelist; whitelist = 0; } } if (ico > 0) { if (ico >= count) { ico -= count; return (tokensOnWallet, restake, whitelist, ico, mundialStaking, promoRewards, lockedFromStaking, lockedFromWallet, alreadyClaimed); } else { count -= ico; ico = 0; } } if (mundialStaking > 0) { if (mundialStaking >= count) { mundialStaking -= count; return (tokensOnWallet, restake, whitelist, ico, mundialStaking, promoRewards, lockedFromStaking, lockedFromWallet, alreadyClaimed); } else { count -= mundialStaking; mundialStaking = 0; } } if (promoRewards > 0) { if (promoRewards >= count) { promoRewards -= count; return (tokensOnWallet, restake, whitelist, ico, mundialStaking, promoRewards, lockedFromStaking, lockedFromWallet, alreadyClaimed); } else { count -= promoRewards; promoRewards = 0; } } return (tokensOnWallet, restake, whitelist, ico, mundialStaking, promoRewards, lockedFromStaking, lockedFromWallet, alreadyClaimed); } } function getMundialStakingAvailableRewards(address staker) public view returns (uint256) { uint256 tokenRewards = 0; for (uint256 i = MundialStaking.getStakedCount(staker); i > 0; i--) { uint256 tokenId = MundialStaking.getStakedTokens(staker)[i - 1]; tokenRewards += MundialStaking.getRewardsByTokenId(tokenId); } if (tokenRewards == 0 && MundialStaking.stakerRewards(staker) == 0) { return 0; } uint256 availableRewards = MundialStaking.stakerRewards(staker) + tokenRewards - MundialStaking.stakerRewardsClaimed(staker); return availableRewards; } function claim() external { require(block.timestamp >= startDate, "Not started yet"); uint256 claimable = claimableBalanceOf(msg.sender); require(claimable > 0, "Nothing to claim"); userToClaimedTokens[msg.sender] += claimable; Token.transfer(msg.sender, claimable); } function withdraw(uint256 amount) external onlyOwner { if (amount == 0) { amount = Token.balanceOf(address(this)); } Token.transfer(owner(), amount); } } interface IWCARestake { function getTotalClaimable(address _address) external view returns (uint256); } interface IWCAWhitelist { function getTotalClaimable(address _address) external view returns (uint256); } interface IWCAICO { function getTotalClaimable(address _address) external view returns (uint256); } interface IWCAMundialStaking { function getRewardsByTokenId(uint256 _tokenId) external view returns (uint256); function getStakedCount(address staker) external view returns (uint256); function getStakedTokens(address staker) external view returns (uint256[] memory); function stakerRewards(address staker) external view returns (uint256); function stakerRewardsClaimed(address staker) external view returns (uint256); } interface IWCAMundialRewards { function getAvailableTokens(address _address) external view returns (uint256); } interface IWCADAOLocking { function getLockedTokensFromStaking(address _address) external view returns (uint256); function getLockedTokensFromWallet(address _address) external view returns (uint256); }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_Token","type":"address"},{"internalType":"address","name":"_Restake","type":"address"},{"internalType":"address","name":"_Whitelist","type":"address"},{"internalType":"address","name":"_ICO","type":"address"},{"internalType":"address","name":"_MundialStaking","type":"address"},{"internalType":"address","name":"_MundialRewards","type":"address"},{"internalType":"address","name":"_WCADAOLocking","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[],"name":"ICO","outputs":[{"internalType":"contract IWCAICO","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MundialRewards","outputs":[{"internalType":"contract IWCAMundialRewards","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MundialStaking","outputs":[{"internalType":"contract IWCAMundialStaking","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Restake","outputs":[{"internalType":"contract IWCARestake","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Token","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"WCADAOLocking","outputs":[{"internalType":"contract IWCADAOLocking","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Whitelist","outputs":[{"internalType":"contract IWCAWhitelist","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"claimableBalanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"emissionRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"emissionRateScale","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"staker","type":"address"}],"name":"getMundialStakingAvailableRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"leftToClaimBalanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_Token","type":"address"},{"internalType":"address","name":"_Restake","type":"address"},{"internalType":"address","name":"_Whitelist","type":"address"},{"internalType":"address","name":"_ICO","type":"address"},{"internalType":"address","name":"_MundialStaking","type":"address"},{"internalType":"address","name":"_MundialRewards","type":"address"},{"internalType":"address","name":"_WCADAOLocking","type":"address"}],"name":"setAddresses","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_emissionRate","type":"uint256"}],"name":"setEmissionRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_emissionRateScale","type":"uint256"}],"name":"setEmissionRateScale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_startDate","type":"uint256"}],"name":"setStartDate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"stakedBalanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"startDate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"subdividedBalanceOf","outputs":[{"internalType":"uint256","name":"tokensOnWallet","type":"uint256"},{"internalType":"uint256","name":"restake","type":"uint256"},{"internalType":"uint256","name":"whitelist","type":"uint256"},{"internalType":"uint256","name":"ico","type":"uint256"},{"internalType":"uint256","name":"mundialStaking","type":"uint256"},{"internalType":"uint256","name":"promoRewards","type":"uint256"},{"internalType":"uint256","name":"lockedFromStaking","type":"uint256"},{"internalType":"uint256","name":"lockedFromWallet","type":"uint256"},{"internalType":"uint256","name":"alreadyClaimed","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userToClaimedTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405263649178a0600855620ba7f160095564174876e800600a553480156200002957600080fd5b50604051620037523803806200375283398181016040528101906200004f919062000379565b6200006f620000636200024360201b60201c565b6200024b60201b60201c565b86600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555085600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555084600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050505050506200042c565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620003418262000314565b9050919050565b620003538162000334565b81146200035f57600080fd5b50565b600081519050620003738162000348565b92915050565b600080600080600080600060e0888a0312156200039b576200039a6200030f565b5b6000620003ab8a828b0162000362565b9750506020620003be8a828b0162000362565b9650506040620003d18a828b0162000362565b9550506060620003e48a828b0162000362565b9450506080620003f78a828b0162000362565b93505060a06200040a8a828b0162000362565b92505060c06200041d8a828b0162000362565b91505092959891949750929550565b613316806200043c6000396000f3fe608060405234801561001057600080fd5b50600436106101a95760003560e01c806382d95df5116100f9578063b441687911610097578063cea6bee911610071578063cea6bee914610492578063d78addab146104c2578063eaa8ba7f146104f2578063f2fde38b1461050e576101a9565b8063b441687914610420578063c24126761461043c578063c4b0002a1461045a576101a9565b80639a9e70a8116100d35780639a9e70a8146103985780639c3ee244146103b65780639ebf6d92146103e6578063a1bdb15e14610404576101a9565b806382d95df5146103405780638da5cb5b1461035c57806396afc4501461037a576101a9565b8063344a28f711610166578063537d27ea11610140578063537d27ea146102ca57806354fd4d50146102e857806370a0823114610306578063715018a614610336576101a9565b8063344a28f71461028457806338cc5d6e146102a25780634e71d92d146102c0576101a9565b8063060d41df146101ae5780630b97bc86146101cc57806316765391146101ea5780631e9463211461021a578063273ba6bb1461024a5780632e1a7d4d14610268575b600080fd5b6101b661052a565b6040516101c39190612818565b60405180910390f35b6101d4610530565b6040516101e19190612818565b60405180910390f35b61020460048036038101906101ff91906128a5565b610536565b6040516102119190612818565b60405180910390f35b610234600480360381019061022f91906128a5565b6108d0565b6040516102419190612818565b60405180910390f35b610252610c6f565b60405161025f9190612931565b60405180910390f35b610282600480360381019061027d9190612978565b610c95565b005b61028c610def565b60405161029991906129c6565b60405180910390f35b6102aa610e15565b6040516102b79190612a02565b60405180910390f35b6102c8610e3b565b005b6102d2610fca565b6040516102df9190612a3e565b60405180910390f35b6102f0610ff0565b6040516102fd9190612ae9565b60405180910390f35b610320600480360381019061031b91906128a5565b611029565b60405161032d9190612818565b60405180910390f35b61033e611469565b005b61035a60048036038101906103559190612978565b61147d565b005b61036461148f565b6040516103719190612b1a565b60405180910390f35b6103826114b8565b60405161038f9190612818565b60405180910390f35b6103a06114be565b6040516103ad9190612b56565b60405180910390f35b6103d060048036038101906103cb91906128a5565b6114e4565b6040516103dd9190612818565b60405180910390f35b6103ee61198a565b6040516103fb9190612b92565b60405180910390f35b61041e60048036038101906104199190612978565b6119b0565b005b61043a60048036038101906104359190612978565b6119c2565b005b6104446119d4565b6040516104519190612bce565b60405180910390f35b610474600480360381019061046f91906128a5565b6119fa565b60405161048999989796959493929190612be9565b60405180910390f35b6104ac60048036038101906104a791906128a5565b611ff2565b6040516104b99190612818565b60405180910390f35b6104dc60048036038101906104d791906128a5565b612442565b6040516104e99190612818565b60405180910390f35b61050c60048036038101906105079190612c76565b61245a565b005b610528600480360381019061052391906128a5565b612632565b005b600a5481565b60085481565b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636f2ba1aa846040518263ffffffff1660e01b81526004016105d39190612b1a565b602060405180830381865afa1580156105f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106149190612d2d565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166380f22ae1856040518263ffffffff1660e01b815260040161066f9190612b1a565b602060405180830381865afa15801561068c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b09190612d2d565b6106b985611ff2565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663267e8ab6876040518263ffffffff1660e01b81526004016107149190612b1a565b602060405180830381865afa158015610731573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107559190612d2d565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663267e8ab6886040518263ffffffff1660e01b81526004016107b09190612b1a565b602060405180830381865afa1580156107cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f19190612d2d565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663267e8ab6896040518263ffffffff1660e01b815260040161084c9190612b1a565b602060405180830381865afa158015610869573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088d9190612d2d565b6108979190612d89565b6108a19190612d89565b6108ab9190612d89565b6108b59190612d89565b6108bf9190612d89565b6108c99190612dbd565b9050919050565b600080600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ae5a35b8856040518263ffffffff1660e01b815260040161096e9190612b1a565b602060405180830381865afa15801561098b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109af9190612d2d565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166380f22ae1866040518263ffffffff1660e01b8152600401610a0a9190612b1a565b602060405180830381865afa158015610a27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4b9190612d2d565b610a5486611ff2565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663267e8ab6886040518263ffffffff1660e01b8152600401610aaf9190612b1a565b602060405180830381865afa158015610acc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af09190612d2d565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663267e8ab6896040518263ffffffff1660e01b8152600401610b4b9190612b1a565b602060405180830381865afa158015610b68573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b8c9190612d2d565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663267e8ab68a6040518263ffffffff1660e01b8152600401610be79190612b1a565b602060405180830381865afa158015610c04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c289190612d2d565b610c329190612d89565b610c3c9190612d89565b610c469190612d89565b610c509190612d89565b610c5a9190612dbd565b610c649190612dbd565b905080915050919050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610c9d6126b5565b60008103610d4457600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610d009190612b1a565b602060405180830381865afa158015610d1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d419190612d2d565b90505b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb610d8a61148f565b836040518363ffffffff1660e01b8152600401610da8929190612df1565b6020604051808303816000875af1158015610dc7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610deb9190612e52565b5050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600854421015610e80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7790612ecb565b60405180910390fd5b6000610e8b336114e4565b905060008111610ed0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec790612f37565b60405180910390fd5b80600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610f1f9190612d89565b92505081905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401610f83929190612df1565b6020604051808303816000875af1158015610fa2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc69190612e52565b5050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040518060400160405280600381526020017f302e35000000000000000000000000000000000000000000000000000000000081525081565b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636f2ba1aa846040518263ffffffff1660e01b81526004016110c69190612b1a565b602060405180830381865afa1580156110e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111079190612d2d565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166380f22ae1856040518263ffffffff1660e01b81526004016111629190612b1a565b602060405180830381865afa15801561117f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111a39190612d2d565b6111ac85611ff2565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663267e8ab6876040518263ffffffff1660e01b81526004016112079190612b1a565b602060405180830381865afa158015611224573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112489190612d2d565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663267e8ab6886040518263ffffffff1660e01b81526004016112a39190612b1a565b602060405180830381865afa1580156112c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e49190612d2d565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663267e8ab6896040518263ffffffff1660e01b815260040161133f9190612b1a565b602060405180830381865afa15801561135c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113809190612d2d565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a082318a6040518263ffffffff1660e01b81526004016113db9190612b1a565b602060405180830381865afa1580156113f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061141c9190612d2d565b6114269190612d89565b6114309190612d89565b61143a9190612d89565b6114449190612d89565b61144e9190612d89565b6114589190612d89565b6114629190612dbd565b9050919050565b6114716126b5565b61147b6000612733565b565b6114856126b5565b8060088190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60095481565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006008544210156114f95760009050611985565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663267e8ab6846040518263ffffffff1660e01b81526004016115569190612b1a565b602060405180830381865afa158015611573573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115979190612d2d565b90506000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663267e8ab6856040518263ffffffff1660e01b81526004016115f69190612b1a565b602060405180830381865afa158015611613573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116379190612d2d565b90506000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663267e8ab6866040518263ffffffff1660e01b81526004016116969190612b1a565b602060405180830381865afa1580156116b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116d79190612d2d565b905060006116e486611ff2565b90506000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166380f22ae1886040518263ffffffff1660e01b81526004016117439190612b1a565b602060405180830381865afa158015611760573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117849190612d2d565b90506000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ae5a35b8896040518263ffffffff1660e01b81526004016117e39190612b1a565b602060405180830381865afa158015611800573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118249190612d2d565b90506000828486888a6118379190612d89565b6118419190612d89565b61184b9190612d89565b6118559190612d89565b9050600081148061186557508181105b1561187a576000975050505050505050611985565b81816118869190612dbd565b905060006064600a546118999190612f57565b600854426118a79190612dbd565b836009546118b59190612f57565b6118bf9190612f57565b6118c99190612fc8565b9050818111156118d7578190505b600b60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481101561192f57600098505050505050505050611985565b600b60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548161197a9190612dbd565b985050505050505050505b919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6119b86126b5565b8060098190555050565b6119ca6126b5565b80600a8190555050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000806000806000806000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a082318b6040518263ffffffff1660e01b8152600401611a639190612b1a565b602060405180830381865afa158015611a80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aa49190612d2d565b9850600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663267e8ab68b6040518263ffffffff1660e01b8152600401611b019190612b1a565b602060405180830381865afa158015611b1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b429190612d2d565b9750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663267e8ab68b6040518263ffffffff1660e01b8152600401611b9f9190612b1a565b602060405180830381865afa158015611bbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611be09190612d2d565b9650600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663267e8ab68b6040518263ffffffff1660e01b8152600401611c3d9190612b1a565b602060405180830381865afa158015611c5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c7e9190612d2d565b9550611c898a611ff2565b9450600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166380f22ae18b6040518263ffffffff1660e01b8152600401611ce69190612b1a565b602060405180830381865afa158015611d03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d279190612d2d565b9350600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ae5a35b88b6040518263ffffffff1660e01b8152600401611d849190612b1a565b602060405180830381865afa158015611da1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dc59190612d2d565b9250600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636f2ba1aa8b6040518263ffffffff1660e01b8152600401611e229190612b1a565b602060405180830381865afa158015611e3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e639190612d2d565b9150600b60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008184611eb59190612d89565b1115611fe45760008184611ec99190612d89565b90506000891115611f0257808910611eef578089611ee79190612dbd565b985050611fe5565b8881611efb9190612dbd565b9050600098505b6000881115611f3957808810611f26578088611f1e9190612dbd565b975050611fe5565b8781611f329190612dbd565b9050600097505b6000871115611f7057808710611f5d578087611f559190612dbd565b965050611fe5565b8681611f699190612dbd565b9050600096505b6000861115611fa757808610611f94578086611f8c9190612dbd565b955050611fe5565b8581611fa09190612dbd565b9050600095505b6000851115611fde57808510611fcb578085611fc39190612dbd565b945050611fe5565b8481611fd79190612dbd565b9050600094505b50611fe5565b5b9193959799909294969850565b600080600090506000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166383c13db2856040518263ffffffff1660e01b81526004016120569190612b1a565b602060405180830381865afa158015612073573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120979190612d2d565b90505b600081111561222b576000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166363c28db1866040518263ffffffff1660e01b81526004016121009190612b1a565b600060405180830381865afa15801561211d573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906121469190613141565b6001836121539190612dbd565b815181106121645761216361318a565b5b60200260200101519050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663515ec105826040518263ffffffff1660e01b81526004016121c99190612818565b602060405180830381865afa1580156121e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061220a9190612d2d565b836122159190612d89565b9250508080612223906131b9565b91505061209a565b506000811480156122d757506000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f0f0b228856040518263ffffffff1660e01b81526004016122949190612b1a565b602060405180830381865afa1580156122b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122d59190612d2d565b145b156122e657600091505061243d565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c4c0e04c856040518263ffffffff1660e01b81526004016123439190612b1a565b602060405180830381865afa158015612360573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123849190612d2d565b82600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f0f0b228876040518263ffffffff1660e01b81526004016123e09190612b1a565b602060405180830381865afa1580156123fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124219190612d2d565b61242b9190612d89565b6124359190612dbd565b905080925050505b919050565b600b6020528060005260406000206000915090505481565b6124626126b5565b86600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555085600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555084600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050505050565b61263a6126b5565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036126a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126a090613254565b60405180910390fd5b6126b281612733565b50565b6126bd6127f7565b73ffffffffffffffffffffffffffffffffffffffff166126db61148f565b73ffffffffffffffffffffffffffffffffffffffff1614612731576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612728906132c0565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b6000819050919050565b612812816127ff565b82525050565b600060208201905061282d6000830184612809565b92915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061287282612847565b9050919050565b61288281612867565b811461288d57600080fd5b50565b60008135905061289f81612879565b92915050565b6000602082840312156128bb576128ba61283d565b5b60006128c984828501612890565b91505092915050565b6000819050919050565b60006128f76128f26128ed84612847565b6128d2565b612847565b9050919050565b6000612909826128dc565b9050919050565b600061291b826128fe565b9050919050565b61292b81612910565b82525050565b60006020820190506129466000830184612922565b92915050565b612955816127ff565b811461296057600080fd5b50565b6000813590506129728161294c565b92915050565b60006020828403121561298e5761298d61283d565b5b600061299c84828501612963565b91505092915050565b60006129b0826128fe565b9050919050565b6129c0816129a5565b82525050565b60006020820190506129db60008301846129b7565b92915050565b60006129ec826128fe565b9050919050565b6129fc816129e1565b82525050565b6000602082019050612a1760008301846129f3565b92915050565b6000612a28826128fe565b9050919050565b612a3881612a1d565b82525050565b6000602082019050612a536000830184612a2f565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612a93578082015181840152602081019050612a78565b60008484015250505050565b6000601f19601f8301169050919050565b6000612abb82612a59565b612ac58185612a64565b9350612ad5818560208601612a75565b612ade81612a9f565b840191505092915050565b60006020820190508181036000830152612b038184612ab0565b905092915050565b612b1481612867565b82525050565b6000602082019050612b2f6000830184612b0b565b92915050565b6000612b40826128fe565b9050919050565b612b5081612b35565b82525050565b6000602082019050612b6b6000830184612b47565b92915050565b6000612b7c826128fe565b9050919050565b612b8c81612b71565b82525050565b6000602082019050612ba76000830184612b83565b92915050565b6000612bb8826128fe565b9050919050565b612bc881612bad565b82525050565b6000602082019050612be36000830184612bbf565b92915050565b600061012082019050612bff600083018c612809565b612c0c602083018b612809565b612c19604083018a612809565b612c266060830189612809565b612c336080830188612809565b612c4060a0830187612809565b612c4d60c0830186612809565b612c5a60e0830185612809565b612c68610100830184612809565b9a9950505050505050505050565b600080600080600080600060e0888a031215612c9557612c9461283d565b5b6000612ca38a828b01612890565b9750506020612cb48a828b01612890565b9650506040612cc58a828b01612890565b9550506060612cd68a828b01612890565b9450506080612ce78a828b01612890565b93505060a0612cf88a828b01612890565b92505060c0612d098a828b01612890565b91505092959891949750929550565b600081519050612d278161294c565b92915050565b600060208284031215612d4357612d4261283d565b5b6000612d5184828501612d18565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612d94826127ff565b9150612d9f836127ff565b9250828201905080821115612db757612db6612d5a565b5b92915050565b6000612dc8826127ff565b9150612dd3836127ff565b9250828203905081811115612deb57612dea612d5a565b5b92915050565b6000604082019050612e066000830185612b0b565b612e136020830184612809565b9392505050565b60008115159050919050565b612e2f81612e1a565b8114612e3a57600080fd5b50565b600081519050612e4c81612e26565b92915050565b600060208284031215612e6857612e6761283d565b5b6000612e7684828501612e3d565b91505092915050565b7f4e6f742073746172746564207965740000000000000000000000000000000000600082015250565b6000612eb5600f83612a64565b9150612ec082612e7f565b602082019050919050565b60006020820190508181036000830152612ee481612ea8565b9050919050565b7f4e6f7468696e6720746f20636c61696d00000000000000000000000000000000600082015250565b6000612f21601083612a64565b9150612f2c82612eeb565b602082019050919050565b60006020820190508181036000830152612f5081612f14565b9050919050565b6000612f62826127ff565b9150612f6d836127ff565b9250828202612f7b816127ff565b91508282048414831517612f9257612f91612d5a565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612fd3826127ff565b9150612fde836127ff565b925082612fee57612fed612f99565b5b828204905092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61303682612a9f565b810181811067ffffffffffffffff8211171561305557613054612ffe565b5b80604052505050565b6000613068612833565b9050613074828261302d565b919050565b600067ffffffffffffffff82111561309457613093612ffe565b5b602082029050602081019050919050565b600080fd5b60006130bd6130b884613079565b61305e565b905080838252602082019050602084028301858111156130e0576130df6130a5565b5b835b8181101561310957806130f58882612d18565b8452602084019350506020810190506130e2565b5050509392505050565b600082601f83011261312857613127612ff9565b5b81516131388482602086016130aa565b91505092915050565b6000602082840312156131575761315661283d565b5b600082015167ffffffffffffffff81111561317557613174612842565b5b61318184828501613113565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006131c4826127ff565b9150600082036131d7576131d6612d5a565b5b600182039050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061323e602683612a64565b9150613249826131e2565b604082019050919050565b6000602082019050818103600083015261326d81613231565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006132aa602083612a64565b91506132b582613274565b602082019050919050565b600060208201905081810360008301526132d98161329d565b905091905056fea26469706673582212207cf0c707b214ebef7980c15157f9d616658ea7f3c0f3b3950e774275c6e64dbe64736f6c63430008130033000000000000000000000000506b8f75bdef0edac36b0a6f9cf313485e4341b0000000000000000000000000506b8f75bdef0edac36b0a6f9cf313485e4341b0000000000000000000000000c5c9255676787a848d4b2a7ebb64462847e79b2900000000000000000000000098154ab124e93038bd8af8409b171815a4d8df7a0000000000000000000000009bf349f29a3ff54ca03c98891023b72140cd7bbe0000000000000000000000009f58a84257544d8f871d237e27daeba7776680eb0000000000000000000000000edf4574e5cff6afcd7e2d640dfc2ef8f6219a6d
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101a95760003560e01c806382d95df5116100f9578063b441687911610097578063cea6bee911610071578063cea6bee914610492578063d78addab146104c2578063eaa8ba7f146104f2578063f2fde38b1461050e576101a9565b8063b441687914610420578063c24126761461043c578063c4b0002a1461045a576101a9565b80639a9e70a8116100d35780639a9e70a8146103985780639c3ee244146103b65780639ebf6d92146103e6578063a1bdb15e14610404576101a9565b806382d95df5146103405780638da5cb5b1461035c57806396afc4501461037a576101a9565b8063344a28f711610166578063537d27ea11610140578063537d27ea146102ca57806354fd4d50146102e857806370a0823114610306578063715018a614610336576101a9565b8063344a28f71461028457806338cc5d6e146102a25780634e71d92d146102c0576101a9565b8063060d41df146101ae5780630b97bc86146101cc57806316765391146101ea5780631e9463211461021a578063273ba6bb1461024a5780632e1a7d4d14610268575b600080fd5b6101b661052a565b6040516101c39190612818565b60405180910390f35b6101d4610530565b6040516101e19190612818565b60405180910390f35b61020460048036038101906101ff91906128a5565b610536565b6040516102119190612818565b60405180910390f35b610234600480360381019061022f91906128a5565b6108d0565b6040516102419190612818565b60405180910390f35b610252610c6f565b60405161025f9190612931565b60405180910390f35b610282600480360381019061027d9190612978565b610c95565b005b61028c610def565b60405161029991906129c6565b60405180910390f35b6102aa610e15565b6040516102b79190612a02565b60405180910390f35b6102c8610e3b565b005b6102d2610fca565b6040516102df9190612a3e565b60405180910390f35b6102f0610ff0565b6040516102fd9190612ae9565b60405180910390f35b610320600480360381019061031b91906128a5565b611029565b60405161032d9190612818565b60405180910390f35b61033e611469565b005b61035a60048036038101906103559190612978565b61147d565b005b61036461148f565b6040516103719190612b1a565b60405180910390f35b6103826114b8565b60405161038f9190612818565b60405180910390f35b6103a06114be565b6040516103ad9190612b56565b60405180910390f35b6103d060048036038101906103cb91906128a5565b6114e4565b6040516103dd9190612818565b60405180910390f35b6103ee61198a565b6040516103fb9190612b92565b60405180910390f35b61041e60048036038101906104199190612978565b6119b0565b005b61043a60048036038101906104359190612978565b6119c2565b005b6104446119d4565b6040516104519190612bce565b60405180910390f35b610474600480360381019061046f91906128a5565b6119fa565b60405161048999989796959493929190612be9565b60405180910390f35b6104ac60048036038101906104a791906128a5565b611ff2565b6040516104b99190612818565b60405180910390f35b6104dc60048036038101906104d791906128a5565b612442565b6040516104e99190612818565b60405180910390f35b61050c60048036038101906105079190612c76565b61245a565b005b610528600480360381019061052391906128a5565b612632565b005b600a5481565b60085481565b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636f2ba1aa846040518263ffffffff1660e01b81526004016105d39190612b1a565b602060405180830381865afa1580156105f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106149190612d2d565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166380f22ae1856040518263ffffffff1660e01b815260040161066f9190612b1a565b602060405180830381865afa15801561068c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b09190612d2d565b6106b985611ff2565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663267e8ab6876040518263ffffffff1660e01b81526004016107149190612b1a565b602060405180830381865afa158015610731573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107559190612d2d565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663267e8ab6886040518263ffffffff1660e01b81526004016107b09190612b1a565b602060405180830381865afa1580156107cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f19190612d2d565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663267e8ab6896040518263ffffffff1660e01b815260040161084c9190612b1a565b602060405180830381865afa158015610869573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088d9190612d2d565b6108979190612d89565b6108a19190612d89565b6108ab9190612d89565b6108b59190612d89565b6108bf9190612d89565b6108c99190612dbd565b9050919050565b600080600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ae5a35b8856040518263ffffffff1660e01b815260040161096e9190612b1a565b602060405180830381865afa15801561098b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109af9190612d2d565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166380f22ae1866040518263ffffffff1660e01b8152600401610a0a9190612b1a565b602060405180830381865afa158015610a27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4b9190612d2d565b610a5486611ff2565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663267e8ab6886040518263ffffffff1660e01b8152600401610aaf9190612b1a565b602060405180830381865afa158015610acc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af09190612d2d565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663267e8ab6896040518263ffffffff1660e01b8152600401610b4b9190612b1a565b602060405180830381865afa158015610b68573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b8c9190612d2d565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663267e8ab68a6040518263ffffffff1660e01b8152600401610be79190612b1a565b602060405180830381865afa158015610c04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c289190612d2d565b610c329190612d89565b610c3c9190612d89565b610c469190612d89565b610c509190612d89565b610c5a9190612dbd565b610c649190612dbd565b905080915050919050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610c9d6126b5565b60008103610d4457600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610d009190612b1a565b602060405180830381865afa158015610d1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d419190612d2d565b90505b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb610d8a61148f565b836040518363ffffffff1660e01b8152600401610da8929190612df1565b6020604051808303816000875af1158015610dc7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610deb9190612e52565b5050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600854421015610e80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7790612ecb565b60405180910390fd5b6000610e8b336114e4565b905060008111610ed0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec790612f37565b60405180910390fd5b80600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610f1f9190612d89565b92505081905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401610f83929190612df1565b6020604051808303816000875af1158015610fa2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc69190612e52565b5050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040518060400160405280600381526020017f302e35000000000000000000000000000000000000000000000000000000000081525081565b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636f2ba1aa846040518263ffffffff1660e01b81526004016110c69190612b1a565b602060405180830381865afa1580156110e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111079190612d2d565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166380f22ae1856040518263ffffffff1660e01b81526004016111629190612b1a565b602060405180830381865afa15801561117f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111a39190612d2d565b6111ac85611ff2565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663267e8ab6876040518263ffffffff1660e01b81526004016112079190612b1a565b602060405180830381865afa158015611224573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112489190612d2d565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663267e8ab6886040518263ffffffff1660e01b81526004016112a39190612b1a565b602060405180830381865afa1580156112c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e49190612d2d565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663267e8ab6896040518263ffffffff1660e01b815260040161133f9190612b1a565b602060405180830381865afa15801561135c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113809190612d2d565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a082318a6040518263ffffffff1660e01b81526004016113db9190612b1a565b602060405180830381865afa1580156113f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061141c9190612d2d565b6114269190612d89565b6114309190612d89565b61143a9190612d89565b6114449190612d89565b61144e9190612d89565b6114589190612d89565b6114629190612dbd565b9050919050565b6114716126b5565b61147b6000612733565b565b6114856126b5565b8060088190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60095481565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006008544210156114f95760009050611985565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663267e8ab6846040518263ffffffff1660e01b81526004016115569190612b1a565b602060405180830381865afa158015611573573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115979190612d2d565b90506000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663267e8ab6856040518263ffffffff1660e01b81526004016115f69190612b1a565b602060405180830381865afa158015611613573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116379190612d2d565b90506000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663267e8ab6866040518263ffffffff1660e01b81526004016116969190612b1a565b602060405180830381865afa1580156116b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116d79190612d2d565b905060006116e486611ff2565b90506000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166380f22ae1886040518263ffffffff1660e01b81526004016117439190612b1a565b602060405180830381865afa158015611760573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117849190612d2d565b90506000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ae5a35b8896040518263ffffffff1660e01b81526004016117e39190612b1a565b602060405180830381865afa158015611800573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118249190612d2d565b90506000828486888a6118379190612d89565b6118419190612d89565b61184b9190612d89565b6118559190612d89565b9050600081148061186557508181105b1561187a576000975050505050505050611985565b81816118869190612dbd565b905060006064600a546118999190612f57565b600854426118a79190612dbd565b836009546118b59190612f57565b6118bf9190612f57565b6118c99190612fc8565b9050818111156118d7578190505b600b60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481101561192f57600098505050505050505050611985565b600b60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548161197a9190612dbd565b985050505050505050505b919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6119b86126b5565b8060098190555050565b6119ca6126b5565b80600a8190555050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000806000806000806000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a082318b6040518263ffffffff1660e01b8152600401611a639190612b1a565b602060405180830381865afa158015611a80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aa49190612d2d565b9850600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663267e8ab68b6040518263ffffffff1660e01b8152600401611b019190612b1a565b602060405180830381865afa158015611b1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b429190612d2d565b9750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663267e8ab68b6040518263ffffffff1660e01b8152600401611b9f9190612b1a565b602060405180830381865afa158015611bbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611be09190612d2d565b9650600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663267e8ab68b6040518263ffffffff1660e01b8152600401611c3d9190612b1a565b602060405180830381865afa158015611c5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c7e9190612d2d565b9550611c898a611ff2565b9450600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166380f22ae18b6040518263ffffffff1660e01b8152600401611ce69190612b1a565b602060405180830381865afa158015611d03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d279190612d2d565b9350600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ae5a35b88b6040518263ffffffff1660e01b8152600401611d849190612b1a565b602060405180830381865afa158015611da1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dc59190612d2d565b9250600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636f2ba1aa8b6040518263ffffffff1660e01b8152600401611e229190612b1a565b602060405180830381865afa158015611e3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e639190612d2d565b9150600b60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008184611eb59190612d89565b1115611fe45760008184611ec99190612d89565b90506000891115611f0257808910611eef578089611ee79190612dbd565b985050611fe5565b8881611efb9190612dbd565b9050600098505b6000881115611f3957808810611f26578088611f1e9190612dbd565b975050611fe5565b8781611f329190612dbd565b9050600097505b6000871115611f7057808710611f5d578087611f559190612dbd565b965050611fe5565b8681611f699190612dbd565b9050600096505b6000861115611fa757808610611f94578086611f8c9190612dbd565b955050611fe5565b8581611fa09190612dbd565b9050600095505b6000851115611fde57808510611fcb578085611fc39190612dbd565b945050611fe5565b8481611fd79190612dbd565b9050600094505b50611fe5565b5b9193959799909294969850565b600080600090506000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166383c13db2856040518263ffffffff1660e01b81526004016120569190612b1a565b602060405180830381865afa158015612073573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120979190612d2d565b90505b600081111561222b576000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166363c28db1866040518263ffffffff1660e01b81526004016121009190612b1a565b600060405180830381865afa15801561211d573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906121469190613141565b6001836121539190612dbd565b815181106121645761216361318a565b5b60200260200101519050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663515ec105826040518263ffffffff1660e01b81526004016121c99190612818565b602060405180830381865afa1580156121e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061220a9190612d2d565b836122159190612d89565b9250508080612223906131b9565b91505061209a565b506000811480156122d757506000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f0f0b228856040518263ffffffff1660e01b81526004016122949190612b1a565b602060405180830381865afa1580156122b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122d59190612d2d565b145b156122e657600091505061243d565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c4c0e04c856040518263ffffffff1660e01b81526004016123439190612b1a565b602060405180830381865afa158015612360573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123849190612d2d565b82600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f0f0b228876040518263ffffffff1660e01b81526004016123e09190612b1a565b602060405180830381865afa1580156123fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124219190612d2d565b61242b9190612d89565b6124359190612dbd565b905080925050505b919050565b600b6020528060005260406000206000915090505481565b6124626126b5565b86600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555085600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555084600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050505050565b61263a6126b5565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036126a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126a090613254565b60405180910390fd5b6126b281612733565b50565b6126bd6127f7565b73ffffffffffffffffffffffffffffffffffffffff166126db61148f565b73ffffffffffffffffffffffffffffffffffffffff1614612731576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612728906132c0565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b6000819050919050565b612812816127ff565b82525050565b600060208201905061282d6000830184612809565b92915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061287282612847565b9050919050565b61288281612867565b811461288d57600080fd5b50565b60008135905061289f81612879565b92915050565b6000602082840312156128bb576128ba61283d565b5b60006128c984828501612890565b91505092915050565b6000819050919050565b60006128f76128f26128ed84612847565b6128d2565b612847565b9050919050565b6000612909826128dc565b9050919050565b600061291b826128fe565b9050919050565b61292b81612910565b82525050565b60006020820190506129466000830184612922565b92915050565b612955816127ff565b811461296057600080fd5b50565b6000813590506129728161294c565b92915050565b60006020828403121561298e5761298d61283d565b5b600061299c84828501612963565b91505092915050565b60006129b0826128fe565b9050919050565b6129c0816129a5565b82525050565b60006020820190506129db60008301846129b7565b92915050565b60006129ec826128fe565b9050919050565b6129fc816129e1565b82525050565b6000602082019050612a1760008301846129f3565b92915050565b6000612a28826128fe565b9050919050565b612a3881612a1d565b82525050565b6000602082019050612a536000830184612a2f565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612a93578082015181840152602081019050612a78565b60008484015250505050565b6000601f19601f8301169050919050565b6000612abb82612a59565b612ac58185612a64565b9350612ad5818560208601612a75565b612ade81612a9f565b840191505092915050565b60006020820190508181036000830152612b038184612ab0565b905092915050565b612b1481612867565b82525050565b6000602082019050612b2f6000830184612b0b565b92915050565b6000612b40826128fe565b9050919050565b612b5081612b35565b82525050565b6000602082019050612b6b6000830184612b47565b92915050565b6000612b7c826128fe565b9050919050565b612b8c81612b71565b82525050565b6000602082019050612ba76000830184612b83565b92915050565b6000612bb8826128fe565b9050919050565b612bc881612bad565b82525050565b6000602082019050612be36000830184612bbf565b92915050565b600061012082019050612bff600083018c612809565b612c0c602083018b612809565b612c19604083018a612809565b612c266060830189612809565b612c336080830188612809565b612c4060a0830187612809565b612c4d60c0830186612809565b612c5a60e0830185612809565b612c68610100830184612809565b9a9950505050505050505050565b600080600080600080600060e0888a031215612c9557612c9461283d565b5b6000612ca38a828b01612890565b9750506020612cb48a828b01612890565b9650506040612cc58a828b01612890565b9550506060612cd68a828b01612890565b9450506080612ce78a828b01612890565b93505060a0612cf88a828b01612890565b92505060c0612d098a828b01612890565b91505092959891949750929550565b600081519050612d278161294c565b92915050565b600060208284031215612d4357612d4261283d565b5b6000612d5184828501612d18565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612d94826127ff565b9150612d9f836127ff565b9250828201905080821115612db757612db6612d5a565b5b92915050565b6000612dc8826127ff565b9150612dd3836127ff565b9250828203905081811115612deb57612dea612d5a565b5b92915050565b6000604082019050612e066000830185612b0b565b612e136020830184612809565b9392505050565b60008115159050919050565b612e2f81612e1a565b8114612e3a57600080fd5b50565b600081519050612e4c81612e26565b92915050565b600060208284031215612e6857612e6761283d565b5b6000612e7684828501612e3d565b91505092915050565b7f4e6f742073746172746564207965740000000000000000000000000000000000600082015250565b6000612eb5600f83612a64565b9150612ec082612e7f565b602082019050919050565b60006020820190508181036000830152612ee481612ea8565b9050919050565b7f4e6f7468696e6720746f20636c61696d00000000000000000000000000000000600082015250565b6000612f21601083612a64565b9150612f2c82612eeb565b602082019050919050565b60006020820190508181036000830152612f5081612f14565b9050919050565b6000612f62826127ff565b9150612f6d836127ff565b9250828202612f7b816127ff565b91508282048414831517612f9257612f91612d5a565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612fd3826127ff565b9150612fde836127ff565b925082612fee57612fed612f99565b5b828204905092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61303682612a9f565b810181811067ffffffffffffffff8211171561305557613054612ffe565b5b80604052505050565b6000613068612833565b9050613074828261302d565b919050565b600067ffffffffffffffff82111561309457613093612ffe565b5b602082029050602081019050919050565b600080fd5b60006130bd6130b884613079565b61305e565b905080838252602082019050602084028301858111156130e0576130df6130a5565b5b835b8181101561310957806130f58882612d18565b8452602084019350506020810190506130e2565b5050509392505050565b600082601f83011261312857613127612ff9565b5b81516131388482602086016130aa565b91505092915050565b6000602082840312156131575761315661283d565b5b600082015167ffffffffffffffff81111561317557613174612842565b5b61318184828501613113565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006131c4826127ff565b9150600082036131d7576131d6612d5a565b5b600182039050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061323e602683612a64565b9150613249826131e2565b604082019050919050565b6000602082019050818103600083015261326d81613231565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006132aa602083612a64565b91506132b582613274565b602082019050919050565b600060208201905081810360008301526132d98161329d565b905091905056fea26469706673582212207cf0c707b214ebef7980c15157f9d616658ea7f3c0f3b3950e774275c6e64dbe64736f6c63430008130033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000506b8f75bdef0edac36b0a6f9cf313485e4341b0000000000000000000000000506b8f75bdef0edac36b0a6f9cf313485e4341b0000000000000000000000000c5c9255676787a848d4b2a7ebb64462847e79b2900000000000000000000000098154ab124e93038bd8af8409b171815a4d8df7a0000000000000000000000009bf349f29a3ff54ca03c98891023b72140cd7bbe0000000000000000000000009f58a84257544d8f871d237e27daeba7776680eb0000000000000000000000000edf4574e5cff6afcd7e2d640dfc2ef8f6219a6d
-----Decoded View---------------
Arg [0] : _Token (address): 0x506B8f75BDeF0Edac36B0A6f9CF313485E4341b0
Arg [1] : _Restake (address): 0x506B8f75BDeF0Edac36B0A6f9CF313485E4341b0
Arg [2] : _Whitelist (address): 0xc5C9255676787a848d4B2a7EbB64462847e79b29
Arg [3] : _ICO (address): 0x98154Ab124E93038bd8Af8409b171815A4d8Df7a
Arg [4] : _MundialStaking (address): 0x9BF349F29a3ff54cA03c98891023B72140cD7bbE
Arg [5] : _MundialRewards (address): 0x9f58a84257544d8F871D237e27daEBA7776680eb
Arg [6] : _WCADAOLocking (address): 0x0EdF4574E5Cff6aFcD7E2d640DfC2ef8f6219a6D
-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 000000000000000000000000506b8f75bdef0edac36b0a6f9cf313485e4341b0
Arg [1] : 000000000000000000000000506b8f75bdef0edac36b0a6f9cf313485e4341b0
Arg [2] : 000000000000000000000000c5c9255676787a848d4b2a7ebb64462847e79b29
Arg [3] : 00000000000000000000000098154ab124e93038bd8af8409b171815a4d8df7a
Arg [4] : 0000000000000000000000009bf349f29a3ff54ca03c98891023b72140cd7bbe
Arg [5] : 0000000000000000000000009f58a84257544d8f871d237e27daeba7776680eb
Arg [6] : 0000000000000000000000000edf4574e5cff6afcd7e2d640dfc2ef8f6219a6d
Deployed Bytecode Sourcemap
6591:7732:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7051:39;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6926:37;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8891:377;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9273:409;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6731:18;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14154:166;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6797:40;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6753;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13864:285;;;:::i;:::-;;6667:26;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6882:38;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8487:399;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5655:103;;;:::i;:::-;;8149:93;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5007:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6994:36;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6841:35;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9687:1009;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6697:30;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8247:105;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8357:125;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6644:19;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10701:2569;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;13275:584;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7094:54;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7637:507;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5913:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7051:39;;;;:::o;6926:37::-;;;;:::o;8891:377::-;8957:7;9234:19;:29;9254:8;9234:29;;;;;;;;;;;;;;;;9182:13;;;;;;;;;;;:39;;;9222:8;9182:49;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9136:14;;;;;;;;;;;:33;;;9170:8;9136:43;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9090;9124:8;9090:33;:43::i;:::-;9056:3;;;;;;;;;;;:21;;;9078:8;9056:31;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9016:9;;;;;;;;;;;:27;;;9044:8;9016:37;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8978:7;;;;;;;;;;;:25;;;9004:8;8978:35;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:75;;;;:::i;:::-;:109;;;;:::i;:::-;:155;;;;:::i;:::-;:201;;;;:::i;:::-;:253;;;;:::i;:::-;:285;;;;:::i;:::-;8971:292;;8891:377;;;:::o;9273:409::-;9344:7;9358:13;9631:19;:29;9651:8;9631:29;;;;;;;;;;;;;;;;9578:13;;;;;;;;;;;:40;;;9619:8;9578:50;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9532:14;;;;;;;;;;;:33;;;9566:8;9532:43;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9486;9520:8;9486:33;:43::i;:::-;9452:3;;;;;;;;;;;:21;;;9474:8;9452:31;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9412:9;;;;;;;;;;;:27;;;9440:8;9412:37;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9374:7;;;;;;;;;;;:25;;;9400:8;9374:35;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:75;;;;:::i;:::-;:109;;;;:::i;:::-;:155;;;;:::i;:::-;:201;;;;:::i;:::-;:254;;;;:::i;:::-;:286;;;;:::i;:::-;9358:302;;9672:5;9665:12;;;9273:409;;;:::o;6731:18::-;;;;;;;;;;;;;:::o;14154:166::-;4893:13;:11;:13::i;:::-;14226:1:::1;14216:6;:11:::0;14212:68:::1;;14244:5;;;;;;;;;;;:15;;;14268:4;14244:30;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14235:39;;14212:68;14284:5;;;;;;;;;;;:14;;;14299:7;:5;:7::i;:::-;14308:6;14284:31;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;14154:166:::0;:::o;6797:40::-;;;;;;;;;;;;;:::o;6753:::-;;;;;;;;;;;;;:::o;13864:285::-;13922:9;;13903:15;:28;;13895:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;13956:17;13976:30;13995:10;13976:18;:30::i;:::-;13956:50;;14031:1;14019:9;:13;14011:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;14093:9;14058:19;:31;14078:10;14058:31;;;;;;;;;;;;;;;;:44;;;;;;;:::i;:::-;;;;;;;;14107:5;;;;;;;;;;;:14;;;14122:10;14134:9;14107:37;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13890:259;13864:285::o;6667:26::-;;;;;;;;;;;;;:::o;6882:38::-;;;;;;;;;;;;;;;;;;;:::o;8487:399::-;8547:7;8852:19;:29;8872:8;8852:29;;;;;;;;;;;;;;;;8800:13;;;;;;;;;;;:39;;;8840:8;8800:49;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8754:14;;;;;;;;;;;:33;;;8788:8;8754:43;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8708;8742:8;8708:33;:43::i;:::-;8674:3;;;;;;;;;;;:21;;;8696:8;8674:31;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8634:9;;;;;;;;;;;:27;;;8662:8;8634:37;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8596:7;;;;;;;;;;;:25;;;8622:8;8596:35;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8568:5;;;;;;;;;;;:15;;;8584:8;8568:25;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:63;;;;:::i;:::-;:103;;;;:::i;:::-;:137;;;;:::i;:::-;:183;;;;:::i;:::-;:229;;;;:::i;:::-;:281;;;;:::i;:::-;:313;;;;:::i;:::-;8561:320;;8487:399;;;:::o;5655:103::-;4893:13;:11;:13::i;:::-;5720:30:::1;5747:1;5720:18;:30::i;:::-;5655:103::o:0;8149:93::-;4893:13;:11;:13::i;:::-;8227:10:::1;8215:9;:22;;;;8149:93:::0;:::o;5007:87::-;5053:7;5080:6;;;;;;;;;;;5073:13;;5007:87;:::o;6994:36::-;;;;:::o;6841:35::-;;;;;;;;;;;;;:::o;9687:1009::-;9754:7;9790:9;;9772:15;:27;9768:53;;;9814:1;9807:8;;;;9768:53;9827:15;9845:7;;;;;;;;;;;:25;;;9871:8;9845:35;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9827:53;;9885:17;9905:9;;;;;;;;;;;:27;;;9933:8;9905:37;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9885:57;;9947:11;9961:3;;;;;;;;;;;:21;;;9983:8;9961:31;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9947:45;;9997:22;10022:43;10056:8;10022:33;:43::i;:::-;9997:68;;10070:22;10095:14;;;;;;;;;;;:33;;;10129:8;10095:43;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10070:68;;10143:25;10171:13;;;;;;;;;;;:40;;;10212:8;10171:50;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10143:78;;10230:13;10291:14;10274;10268:3;10256:9;10246:7;:19;;;;:::i;:::-;:25;;;;:::i;:::-;:42;;;;:::i;:::-;:59;;;;:::i;:::-;10230:75;;10322:1;10313:5;:10;:39;;;;10335:17;10327:5;:25;10313:39;10310:64;;;10367:1;10360:8;;;;;;;;;;;10310:64;10387:17;10378:26;;;;;:::i;:::-;;;10411:17;10509:3;10489:17;;:23;;;;:::i;:::-;10474:9;;10456:15;:27;;;;:::i;:::-;10447:5;10432:12;;:20;;;;:::i;:::-;:52;;;;:::i;:::-;10431:82;;;;:::i;:::-;10411:102;;10533:5;10521:9;:17;10518:51;;;10558:5;10546:17;;10518:51;10588:19;:29;10608:8;10588:29;;;;;;;;;;;;;;;;10576:9;:41;10573:66;;;10632:1;10625:8;;;;;;;;;;;;10573:66;10662:19;:29;10682:8;10662:29;;;;;;;;;;;;;;;;10650:9;:41;;;;:::i;:::-;10643:48;;;;;;;;;;9687:1009;;;;:::o;6697:30::-;;;;;;;;;;;;;:::o;8247:105::-;4893:13;:11;:13::i;:::-;8334::::1;8319:12;:28;;;;8247:105:::0;:::o;8357:125::-;4893:13;:11;:13::i;:::-;8459:18:::1;8439:17;:38;;;;8357:125:::0;:::o;6644:19::-;;;;;;;;;;;;;:::o;10701:2569::-;10785:22;10813:15;10834:17;10857:11;10874:22;10902:20;10928:25;10959:24;10989:22;11041:5;;;;;;;;;;;:15;;;11057:8;11041:25;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11024:42;;11081:7;;;;;;;;;;;:25;;;11107:8;11081:35;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11071:45;;11133:9;;;;;;;;;;;:27;;;11161:8;11133:37;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11121:49;;11181:3;;;;;;;;;;;:21;;;11203:8;11181:31;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11175:37;;11234:43;11268:8;11234:33;:43::i;:::-;11217:60;;11297:14;;;;;;;;;;;:33;;;11331:8;11297:43;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11282:58;;11365:13;;;;;;;;;;;:40;;;11406:8;11365:50;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11345:70;;11439:13;;;;;;;;;;;:39;;;11479:8;11439:49;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11420:68;;11510:19;:29;11530:8;11510:29;;;;;;;;;;;;;;;;11493:46;;11589:1;11571:14;11551:17;:34;;;;:::i;:::-;11550:40;11546:1720;;;11598:13;11634:14;11614:17;:34;;;;:::i;:::-;11598:50;;11668:1;11658:7;:11;11654:280;;;11693:5;11682:7;:16;11678:250;;11719:5;11708:16;;;;;:::i;:::-;;;11732:131;;;11678:250;11894:7;11885:16;;;;;:::i;:::-;;;11919:1;11909:11;;11654:280;11955:1;11943:9;:13;11939:290;;;11982:5;11969:9;:18;11965:258;;12010:5;11997:18;;;;;:::i;:::-;;;12023:131;;;11965:258;12185:9;12176:18;;;;;:::i;:::-;;;12214:1;12202:13;;11939:290;12244:1;12238:3;:7;12234:260;;;12265:5;12258:3;:12;12254:234;;12287:5;12280:12;;;;;:::i;:::-;;;12300:131;;;12254:234;12462:3;12453:12;;;;;:::i;:::-;;;12479:1;12473:7;;12234:260;12520:1;12503:14;:18;12499:315;;;12552:5;12534:14;:23;12530:278;;12585:5;12567:23;;;;;:::i;:::-;;;12598:131;;;12530:278;12760:14;12751:23;;;;;:::i;:::-;;;12799:1;12782:18;;12499:315;12838:1;12823:12;:16;12819:305;;;12868:5;12852:12;:21;12848:270;;12899:5;12883:21;;;;;:::i;:::-;;;12912:131;;;12848:270;13074:12;13065:21;;;;;:::i;:::-;;;13109:1;13094:16;;12819:305;13129:131;;;11546:1720;10701:2569;;;;;;;;;;;;:::o;13275:584::-;13355:7;13369:20;13392:1;13369:24;;13403:9;13415:14;;;;;;;;;;;:29;;;13445:6;13415:37;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13403:49;;13398:208;13458:1;13454;:5;13398:208;;;13472:15;13490:14;;;;;;;;;;;:30;;;13521:6;13490:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13533:1;13529;:5;;;;:::i;:::-;13490:45;;;;;;;;:::i;:::-;;;;;;;;13472:63;;13557:14;;;;;;;;;;;:34;;;13592:7;13557:43;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13541:59;;;;;:::i;:::-;;;13466:140;13461:3;;;;;:::i;:::-;;;;13398:208;;;;13630:1;13614:12;:17;:62;;;;;13675:1;13635:14;;;;;;;;;;;:28;;;13664:6;13635:36;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:41;13614:62;13610:88;;;13691:1;13684:8;;;;;13610:88;13702:24;13783:14;;;;;;;;;;;:35;;;13819:6;13783:43;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13768:12;13729:14;;;;;;;;;;;:28;;;13758:6;13729:36;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:51;;;;:::i;:::-;:97;;;;:::i;:::-;13702:124;;13838:16;13831:23;;;;13275:584;;;;:::o;7094:54::-;;;;;;;;;;;;;;;;;:::o;7637:507::-;4893:13;:11;:13::i;:::-;7865:6:::1;7850:5;;:22;;;;;;;;;;;;;;;;;;7899:8;7877:7;;:31;;;;;;;;;;;;;;;;;;7939:10;7913:9;;:37;;;;;;;;;;;;;;;;;;7969:4;7955:3;;:19;;;;;;;;;;;;;;;;;;8015:15;7979:14;;:52;;;;;;;;;;;;;;;;;;8072:15;8036:14;;:52;;;;;;;;;;;;;;;;;;8124:14;8093:13;;:46;;;;;;;;;;;;;;;;;;7637:507:::0;;;;;;;:::o;5913:201::-;4893:13;:11;:13::i;:::-;6022:1:::1;6002:22;;:8;:22;;::::0;5994:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;6078:28;6097:8;6078:18;:28::i;:::-;5913:201:::0;:::o;5172:132::-;5247:12;:10;:12::i;:::-;5236:23;;:7;:5;:7::i;:::-;:23;;;5228:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5172:132::o;6274:191::-;6348:16;6367:6;;;;;;;;;;;6348:25;;6393:8;6384:6;;:17;;;;;;;;;;;;;;;;;;6448:8;6417:40;;6438:8;6417:40;;;;;;;;;;;;6337:128;6274:191;:::o;3558:98::-;3611:7;3638:10;3631:17;;3558:98;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:75::-;475:6;508:2;502:9;492:19;;442:75;:::o;523:117::-;632:1;629;622:12;646:117;755:1;752;745:12;769:126;806:7;846:42;839:5;835:54;824:65;;769:126;;;:::o;901:96::-;938:7;967:24;985:5;967:24;:::i;:::-;956:35;;901:96;;;:::o;1003:122::-;1076:24;1094:5;1076:24;:::i;:::-;1069:5;1066:35;1056:63;;1115:1;1112;1105:12;1056:63;1003:122;:::o;1131:139::-;1177:5;1215:6;1202:20;1193:29;;1231:33;1258:5;1231:33;:::i;:::-;1131:139;;;;:::o;1276:329::-;1335:6;1384:2;1372:9;1363:7;1359:23;1355:32;1352:119;;;1390:79;;:::i;:::-;1352:119;1510:1;1535:53;1580:7;1571:6;1560:9;1556:22;1535:53;:::i;:::-;1525:63;;1481:117;1276:329;;;;:::o;1611:60::-;1639:3;1660:5;1653:12;;1611:60;;;:::o;1677:142::-;1727:9;1760:53;1778:34;1787:24;1805:5;1787:24;:::i;:::-;1778:34;:::i;:::-;1760:53;:::i;:::-;1747:66;;1677:142;;;:::o;1825:126::-;1875:9;1908:37;1939:5;1908:37;:::i;:::-;1895:50;;1825:126;;;:::o;1957:142::-;2023:9;2056:37;2087:5;2056:37;:::i;:::-;2043:50;;1957:142;;;:::o;2105:163::-;2208:53;2255:5;2208:53;:::i;:::-;2203:3;2196:66;2105:163;;:::o;2274:254::-;2383:4;2421:2;2410:9;2406:18;2398:26;;2434:87;2518:1;2507:9;2503:17;2494:6;2434:87;:::i;:::-;2274:254;;;;:::o;2534:122::-;2607:24;2625:5;2607:24;:::i;:::-;2600:5;2597:35;2587:63;;2646:1;2643;2636:12;2587:63;2534:122;:::o;2662:139::-;2708:5;2746:6;2733:20;2724:29;;2762:33;2789:5;2762:33;:::i;:::-;2662:139;;;;:::o;2807:329::-;2866:6;2915:2;2903:9;2894:7;2890:23;2886:32;2883:119;;;2921:79;;:::i;:::-;2883:119;3041:1;3066:53;3111:7;3102:6;3091:9;3087:22;3066:53;:::i;:::-;3056:63;;3012:117;2807:329;;;;:::o;3142:153::-;3219:9;3252:37;3283:5;3252:37;:::i;:::-;3239:50;;3142:153;;;:::o;3301:185::-;3415:64;3473:5;3415:64;:::i;:::-;3410:3;3403:77;3301:185;;:::o;3492:276::-;3612:4;3650:2;3639:9;3635:18;3627:26;;3663:98;3758:1;3747:9;3743:17;3734:6;3663:98;:::i;:::-;3492:276;;;;:::o;3774:153::-;3851:9;3884:37;3915:5;3884:37;:::i;:::-;3871:50;;3774:153;;;:::o;3933:185::-;4047:64;4105:5;4047:64;:::i;:::-;4042:3;4035:77;3933:185;;:::o;4124:276::-;4244:4;4282:2;4271:9;4267:18;4259:26;;4295:98;4390:1;4379:9;4375:17;4366:6;4295:98;:::i;:::-;4124:276;;;;:::o;4406:146::-;4476:9;4509:37;4540:5;4509:37;:::i;:::-;4496:50;;4406:146;;;:::o;4558:171::-;4665:57;4716:5;4665:57;:::i;:::-;4660:3;4653:70;4558:171;;:::o;4735:262::-;4848:4;4886:2;4875:9;4871:18;4863:26;;4899:91;4987:1;4976:9;4972:17;4963:6;4899:91;:::i;:::-;4735:262;;;;:::o;5003:99::-;5055:6;5089:5;5083:12;5073:22;;5003:99;;;:::o;5108:169::-;5192:11;5226:6;5221:3;5214:19;5266:4;5261:3;5257:14;5242:29;;5108:169;;;;:::o;5283:246::-;5364:1;5374:113;5388:6;5385:1;5382:13;5374:113;;;5473:1;5468:3;5464:11;5458:18;5454:1;5449:3;5445:11;5438:39;5410:2;5407:1;5403:10;5398:15;;5374:113;;;5521:1;5512:6;5507:3;5503:16;5496:27;5345:184;5283:246;;;:::o;5535:102::-;5576:6;5627:2;5623:7;5618:2;5611:5;5607:14;5603:28;5593:38;;5535:102;;;:::o;5643:377::-;5731:3;5759:39;5792:5;5759:39;:::i;:::-;5814:71;5878:6;5873:3;5814:71;:::i;:::-;5807:78;;5894:65;5952:6;5947:3;5940:4;5933:5;5929:16;5894:65;:::i;:::-;5984:29;6006:6;5984:29;:::i;:::-;5979:3;5975:39;5968:46;;5735:285;5643:377;;;;:::o;6026:313::-;6139:4;6177:2;6166:9;6162:18;6154:26;;6226:9;6220:4;6216:20;6212:1;6201:9;6197:17;6190:47;6254:78;6327:4;6318:6;6254:78;:::i;:::-;6246:86;;6026:313;;;;:::o;6345:118::-;6432:24;6450:5;6432:24;:::i;:::-;6427:3;6420:37;6345:118;;:::o;6469:222::-;6562:4;6600:2;6589:9;6585:18;6577:26;;6613:71;6681:1;6670:9;6666:17;6657:6;6613:71;:::i;:::-;6469:222;;;;:::o;6697:149::-;6770:9;6803:37;6834:5;6803:37;:::i;:::-;6790:50;;6697:149;;;:::o;6852:177::-;6962:60;7016:5;6962:60;:::i;:::-;6957:3;6950:73;6852:177;;:::o;7035:268::-;7151:4;7189:2;7178:9;7174:18;7166:26;;7202:94;7293:1;7282:9;7278:17;7269:6;7202:94;:::i;:::-;7035:268;;;;:::o;7309:148::-;7381:9;7414:37;7445:5;7414:37;:::i;:::-;7401:50;;7309:148;;;:::o;7463:175::-;7572:59;7625:5;7572:59;:::i;:::-;7567:3;7560:72;7463:175;;:::o;7644:266::-;7759:4;7797:2;7786:9;7782:18;7774:26;;7810:93;7900:1;7889:9;7885:17;7876:6;7810:93;:::i;:::-;7644:266;;;;:::o;7916:139::-;7979:9;8012:37;8043:5;8012:37;:::i;:::-;7999:50;;7916:139;;;:::o;8061:157::-;8161:50;8205:5;8161:50;:::i;:::-;8156:3;8149:63;8061:157;;:::o;8224:248::-;8330:4;8368:2;8357:9;8353:18;8345:26;;8381:84;8462:1;8451:9;8447:17;8438:6;8381:84;:::i;:::-;8224:248;;;;:::o;8478:1108::-;8795:4;8833:3;8822:9;8818:19;8810:27;;8847:71;8915:1;8904:9;8900:17;8891:6;8847:71;:::i;:::-;8928:72;8996:2;8985:9;8981:18;8972:6;8928:72;:::i;:::-;9010;9078:2;9067:9;9063:18;9054:6;9010:72;:::i;:::-;9092;9160:2;9149:9;9145:18;9136:6;9092:72;:::i;:::-;9174:73;9242:3;9231:9;9227:19;9218:6;9174:73;:::i;:::-;9257;9325:3;9314:9;9310:19;9301:6;9257:73;:::i;:::-;9340;9408:3;9397:9;9393:19;9384:6;9340:73;:::i;:::-;9423;9491:3;9480:9;9476:19;9467:6;9423:73;:::i;:::-;9506;9574:3;9563:9;9559:19;9550:6;9506:73;:::i;:::-;8478:1108;;;;;;;;;;;;:::o;9592:1203::-;9705:6;9713;9721;9729;9737;9745;9753;9802:3;9790:9;9781:7;9777:23;9773:33;9770:120;;;9809:79;;:::i;:::-;9770:120;9929:1;9954:53;9999:7;9990:6;9979:9;9975:22;9954:53;:::i;:::-;9944:63;;9900:117;10056:2;10082:53;10127:7;10118:6;10107:9;10103:22;10082:53;:::i;:::-;10072:63;;10027:118;10184:2;10210:53;10255:7;10246:6;10235:9;10231:22;10210:53;:::i;:::-;10200:63;;10155:118;10312:2;10338:53;10383:7;10374:6;10363:9;10359:22;10338:53;:::i;:::-;10328:63;;10283:118;10440:3;10467:53;10512:7;10503:6;10492:9;10488:22;10467:53;:::i;:::-;10457:63;;10411:119;10569:3;10596:53;10641:7;10632:6;10621:9;10617:22;10596:53;:::i;:::-;10586:63;;10540:119;10698:3;10725:53;10770:7;10761:6;10750:9;10746:22;10725:53;:::i;:::-;10715:63;;10669:119;9592:1203;;;;;;;;;;:::o;10801:143::-;10858:5;10889:6;10883:13;10874:22;;10905:33;10932:5;10905:33;:::i;:::-;10801:143;;;;:::o;10950:351::-;11020:6;11069:2;11057:9;11048:7;11044:23;11040:32;11037:119;;;11075:79;;:::i;:::-;11037:119;11195:1;11220:64;11276:7;11267:6;11256:9;11252:22;11220:64;:::i;:::-;11210:74;;11166:128;10950:351;;;;:::o;11307:180::-;11355:77;11352:1;11345:88;11452:4;11449:1;11442:15;11476:4;11473:1;11466:15;11493:191;11533:3;11552:20;11570:1;11552:20;:::i;:::-;11547:25;;11586:20;11604:1;11586:20;:::i;:::-;11581:25;;11629:1;11626;11622:9;11615:16;;11650:3;11647:1;11644:10;11641:36;;;11657:18;;:::i;:::-;11641:36;11493:191;;;;:::o;11690:194::-;11730:4;11750:20;11768:1;11750:20;:::i;:::-;11745:25;;11784:20;11802:1;11784:20;:::i;:::-;11779:25;;11828:1;11825;11821:9;11813:17;;11852:1;11846:4;11843:11;11840:37;;;11857:18;;:::i;:::-;11840:37;11690:194;;;;:::o;11890:332::-;12011:4;12049:2;12038:9;12034:18;12026:26;;12062:71;12130:1;12119:9;12115:17;12106:6;12062:71;:::i;:::-;12143:72;12211:2;12200:9;12196:18;12187:6;12143:72;:::i;:::-;11890:332;;;;;:::o;12228:90::-;12262:7;12305:5;12298:13;12291:21;12280:32;;12228:90;;;:::o;12324:116::-;12394:21;12409:5;12394:21;:::i;:::-;12387:5;12384:32;12374:60;;12430:1;12427;12420:12;12374:60;12324:116;:::o;12446:137::-;12500:5;12531:6;12525:13;12516:22;;12547:30;12571:5;12547:30;:::i;:::-;12446:137;;;;:::o;12589:345::-;12656:6;12705:2;12693:9;12684:7;12680:23;12676:32;12673:119;;;12711:79;;:::i;:::-;12673:119;12831:1;12856:61;12909:7;12900:6;12889:9;12885:22;12856:61;:::i;:::-;12846:71;;12802:125;12589:345;;;;:::o;12940:165::-;13080:17;13076:1;13068:6;13064:14;13057:41;12940:165;:::o;13111:366::-;13253:3;13274:67;13338:2;13333:3;13274:67;:::i;:::-;13267:74;;13350:93;13439:3;13350:93;:::i;:::-;13468:2;13463:3;13459:12;13452:19;;13111:366;;;:::o;13483:419::-;13649:4;13687:2;13676:9;13672:18;13664:26;;13736:9;13730:4;13726:20;13722:1;13711:9;13707:17;13700:47;13764:131;13890:4;13764:131;:::i;:::-;13756:139;;13483:419;;;:::o;13908:166::-;14048:18;14044:1;14036:6;14032:14;14025:42;13908:166;:::o;14080:366::-;14222:3;14243:67;14307:2;14302:3;14243:67;:::i;:::-;14236:74;;14319:93;14408:3;14319:93;:::i;:::-;14437:2;14432:3;14428:12;14421:19;;14080:366;;;:::o;14452:419::-;14618:4;14656:2;14645:9;14641:18;14633:26;;14705:9;14699:4;14695:20;14691:1;14680:9;14676:17;14669:47;14733:131;14859:4;14733:131;:::i;:::-;14725:139;;14452:419;;;:::o;14877:410::-;14917:7;14940:20;14958:1;14940:20;:::i;:::-;14935:25;;14974:20;14992:1;14974:20;:::i;:::-;14969:25;;15029:1;15026;15022:9;15051:30;15069:11;15051:30;:::i;:::-;15040:41;;15230:1;15221:7;15217:15;15214:1;15211:22;15191:1;15184:9;15164:83;15141:139;;15260:18;;:::i;:::-;15141:139;14925:362;14877:410;;;;:::o;15293:180::-;15341:77;15338:1;15331:88;15438:4;15435:1;15428:15;15462:4;15459:1;15452:15;15479:185;15519:1;15536:20;15554:1;15536:20;:::i;:::-;15531:25;;15570:20;15588:1;15570:20;:::i;:::-;15565:25;;15609:1;15599:35;;15614:18;;:::i;:::-;15599:35;15656:1;15653;15649:9;15644:14;;15479:185;;;;:::o;15670:117::-;15779:1;15776;15769:12;15793:180;15841:77;15838:1;15831:88;15938:4;15935:1;15928:15;15962:4;15959:1;15952:15;15979:281;16062:27;16084:4;16062:27;:::i;:::-;16054:6;16050:40;16192:6;16180:10;16177:22;16156:18;16144:10;16141:34;16138:62;16135:88;;;16203:18;;:::i;:::-;16135:88;16243:10;16239:2;16232:22;16022:238;15979:281;;:::o;16266:129::-;16300:6;16327:20;;:::i;:::-;16317:30;;16356:33;16384:4;16376:6;16356:33;:::i;:::-;16266:129;;;:::o;16401:311::-;16478:4;16568:18;16560:6;16557:30;16554:56;;;16590:18;;:::i;:::-;16554:56;16640:4;16632:6;16628:17;16620:25;;16700:4;16694;16690:15;16682:23;;16401:311;;;:::o;16718:117::-;16827:1;16824;16817:12;16858:732;16965:5;16990:81;17006:64;17063:6;17006:64;:::i;:::-;16990:81;:::i;:::-;16981:90;;17091:5;17120:6;17113:5;17106:21;17154:4;17147:5;17143:16;17136:23;;17207:4;17199:6;17195:17;17187:6;17183:30;17236:3;17228:6;17225:15;17222:122;;;17255:79;;:::i;:::-;17222:122;17370:6;17353:231;17387:6;17382:3;17379:15;17353:231;;;17462:3;17491:48;17535:3;17523:10;17491:48;:::i;:::-;17486:3;17479:61;17569:4;17564:3;17560:14;17553:21;;17429:155;17413:4;17408:3;17404:14;17397:21;;17353:231;;;17357:21;16971:619;;16858:732;;;;;:::o;17613:385::-;17695:5;17744:3;17737:4;17729:6;17725:17;17721:27;17711:122;;17752:79;;:::i;:::-;17711:122;17862:6;17856:13;17887:105;17988:3;17980:6;17973:4;17965:6;17961:17;17887:105;:::i;:::-;17878:114;;17701:297;17613:385;;;;:::o;18004:554::-;18099:6;18148:2;18136:9;18127:7;18123:23;18119:32;18116:119;;;18154:79;;:::i;:::-;18116:119;18295:1;18284:9;18280:17;18274:24;18325:18;18317:6;18314:30;18311:117;;;18347:79;;:::i;:::-;18311:117;18452:89;18533:7;18524:6;18513:9;18509:22;18452:89;:::i;:::-;18442:99;;18245:306;18004:554;;;;:::o;18564:180::-;18612:77;18609:1;18602:88;18709:4;18706:1;18699:15;18733:4;18730:1;18723:15;18750:171;18789:3;18812:24;18830:5;18812:24;:::i;:::-;18803:33;;18858:4;18851:5;18848:15;18845:41;;18866:18;;:::i;:::-;18845:41;18913:1;18906:5;18902:13;18895:20;;18750:171;;;:::o;18927:225::-;19067:34;19063:1;19055:6;19051:14;19044:58;19136:8;19131:2;19123:6;19119:15;19112:33;18927:225;:::o;19158:366::-;19300:3;19321:67;19385:2;19380:3;19321:67;:::i;:::-;19314:74;;19397:93;19486:3;19397:93;:::i;:::-;19515:2;19510:3;19506:12;19499:19;;19158:366;;;:::o;19530:419::-;19696:4;19734:2;19723:9;19719:18;19711:26;;19783:9;19777:4;19773:20;19769:1;19758:9;19754:17;19747:47;19811:131;19937:4;19811:131;:::i;:::-;19803:139;;19530:419;;;:::o;19955:182::-;20095:34;20091:1;20083:6;20079:14;20072:58;19955:182;:::o;20143:366::-;20285:3;20306:67;20370:2;20365:3;20306:67;:::i;:::-;20299:74;;20382:93;20471:3;20382:93;:::i;:::-;20500:2;20495:3;20491:12;20484:19;;20143:366;;;:::o;20515:419::-;20681:4;20719:2;20708:9;20704:18;20696:26;;20768:9;20762:4;20758:20;20754:1;20743:9;20739:17;20732:47;20796:131;20922:4;20796:131;:::i;:::-;20788:139;;20515:419;;;:::o
Swarm Source
ipfs://7cf0c707b214ebef7980c15157f9d616658ea7f3c0f3b3950e774275c6e64dbe
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.