Contract Overview
Balance:
0 MATIC
MATIC Value:
$0.00
Txn Hash | Method |
Block
|
From
|
To
|
Value | [Txn Fee] | |||
---|---|---|---|---|---|---|---|---|---|
0xd6b8470e1a4f9a610489718e9517860acb575cdd4e78af2f8aa2f2d68d6ca590 | Change Owner | 29920234 | 7 days 13 hrs ago | 0xa2afecdec22fd6f4d2677f9239d7362ea61fdf12 | IN | 0x70fa9e1a1ad48fa7daa47a2b5b961174f759d4e1 | 0 MATIC | 0.000934295608 | |
0x2fcae4979062a97663cf245ce37d115d397fe3a5acaa59024d03434a53e5e9b4 | 0x60806040 | 29920067 | 7 days 13 hrs ago | 0xa2afecdec22fd6f4d2677f9239d7362ea61fdf12 | IN | Create: ExodusToken | 0 MATIC | 0.185649515383 |
[ Download CSV Export ]
Contract Name:
ExodusToken
Compiler Version
v0.8.6+commit.11564f7e
Contract Source Code (Solidity Multiple files format)
// SPDX-License-Identifier: MIT pragma solidity 0.8.6; import "./ERC20.sol"; import "./Owner.sol"; import "./Pausable.sol"; contract ExodusToken is ERC20, Owner, Pausable { mapping (address => bool) private _isExcludedFromFee; mapping (address => bool) private _blacklist; address[30] public _walletListToSubtract; // properties used to get fee uint256 private constant amountDivToGetFee = 10**4; uint256 private constant MulByDec = 10**18; uint256[] public minAditionalFee = [ 100000*MulByDec, 200000*MulByDec, 300000*MulByDec, 400000*MulByDec, 500000*MulByDec, 600000*MulByDec, 700000*MulByDec, 800000*MulByDec, 900000*MulByDec, 1000000*MulByDec, 1100000*MulByDec, 1200000*MulByDec, 1300000*MulByDec, 1500000*MulByDec, 1700000*MulByDec, 1900000*MulByDec, 2100000*MulByDec, 2300000*MulByDec, 2600000*MulByDec, 2900000*MulByDec, 3200000*MulByDec, 3500000*MulByDec ]; uint256[] public amountMulToGetAditionalFee = [50,100,300,500,700,900,1100,1300,1500,1700,2000,2300,2600,3200,3800,4300,4700,5100,5600,6000,6400,8500]; // tokenomics wallets address public constant reserve_wallet = 0xCAcd3d7CB6F798BBac53E882B2cBf5996d263F24; address public constant rewards_wallet = 0x264c84fBE8dAcdC4FD7559B204526AF1f61Ca5e7; address public constant ecosystem_wallet = 0xCd04Dac93f1172b7BA4218b84C81d68EBB32e8Cc; address public constant airdrop_wallet = 0xDF450B51b2f2FA1560EadA15E149d0064dF2327d; address public constant team1_wallet = 0x5Dbb556a3e832b8179B30c0E64C5668A6b3BdFD8; address public constant team2_wallet = 0xa4a01Cb9898CcF59e9780f22c828724f7794dC1F; address public constant team3_wallet = 0x7E8B53EE714Dd7B6D808cdf7a0043b7DC6680Eb1; address public constant team4_wallet = 0x69ac12d71D9A99B52339bDbFD0ECF2Af785De5aa; address public constant privateSale_wallet = 0x2511F8f04DAa128D2E7b9dD8C41d47734d37e50E; address public constant publicSale_wallet = 0xC4b1723f7EF8DaE035Af7e623b35C4F35C1F51f2; address public fees_wallet = 0xd2A9D580bBFb8dAE083e81599582283B2A16C644; // tokenomics supply uint public constant reserve_supply = 40000000 * MulByDec; uint public constant rewards_supply = 60000000 * MulByDec; uint public constant ecosystem_supply = 24000000 * MulByDec; uint public constant airdrop_supply = 2000000 * MulByDec; uint public constant team1_supply = 10000000 * MulByDec; uint public constant team2_supply = 10000000 * MulByDec; uint public constant team3_supply = 10000000 * MulByDec; uint public constant team4_supply = 10000000 * MulByDec; uint public constant privateSale_supply = 10000000 * MulByDec; uint public constant publicSale_supply = 24000000 * MulByDec; constructor() ERC20("Exodus", "EXS") { // set tokenomics balances _mint(reserve_wallet, reserve_supply); _mint(rewards_wallet, rewards_supply); _mint(ecosystem_wallet, ecosystem_supply); _mint(airdrop_wallet, airdrop_supply); _mint(team1_wallet, team1_supply); _mint(team2_wallet, team2_supply); _mint(team3_wallet, team3_supply); _mint(team4_wallet, team4_supply); _mint(privateSale_wallet, privateSale_supply); _mint(publicSale_wallet, publicSale_supply); _isExcludedFromFee[reserve_wallet] = true; _isExcludedFromFee[rewards_wallet] = true; _isExcludedFromFee[ecosystem_wallet] = true; _isExcludedFromFee[airdrop_wallet] = true; _isExcludedFromFee[team1_wallet] = true; _isExcludedFromFee[team2_wallet] = true; _isExcludedFromFee[team3_wallet] = true; _isExcludedFromFee[team4_wallet] = true; _isExcludedFromFee[privateSale_wallet] = true; _isExcludedFromFee[publicSale_wallet] = true; _isExcludedFromFee[fees_wallet] = true; _walletListToSubtract[0] = reserve_wallet; _walletListToSubtract[1] = rewards_wallet; _walletListToSubtract[2] = ecosystem_wallet; _walletListToSubtract[3] = airdrop_wallet; _walletListToSubtract[4] = team1_wallet; _walletListToSubtract[5] = team2_wallet; _walletListToSubtract[6] = team3_wallet; _walletListToSubtract[7] = team4_wallet; _walletListToSubtract[8] = privateSale_wallet; _walletListToSubtract[9] = publicSale_wallet; _walletListToSubtract[10] = fees_wallet; } function getTokensInCirculation() external view returns(uint256) { uint256 inCirculation = _totalSupply; for (uint256 i=0; i<_walletListToSubtract.length; i++) { if(_walletListToSubtract[i] != address(0)){ inCirculation-=balanceOf(_walletListToSubtract[i]); } } return inCirculation; } function setWalletListToSubtract(uint256 _index, address _newValue) external isOwner { _walletListToSubtract[_index] = _newValue; } function setMinAditionalFee(uint256 _index, uint256 _newValue) external isOwner { minAditionalFee[_index] = _newValue; } function setPercentagesToGetAditionalFee(uint256 _index, uint256 _newValue) external isOwner { amountMulToGetAditionalFee[_index] = _newValue; } function excludeFromFee(address[] memory accounts) external isOwner { for (uint256 i=0; i<accounts.length; i++) { _isExcludedFromFee[accounts[i]] = true; } } function includeInFee(address[] memory accounts) external isOwner { for (uint256 i=0; i<accounts.length; i++) { _isExcludedFromFee[accounts[i]] = false; } } function isExcludedFromFee(address account) external view returns(bool) { return _isExcludedFromFee[account]; } function excludeFromBlacklist(address[] memory accounts) external isOwner { for (uint256 i=0; i<accounts.length; i++) { _blacklist[accounts[i]] = false; } } function includeInBlacklist(address[] memory accounts) external isOwner { for (uint256 i=0; i<accounts.length; i++) { _blacklist[accounts[i]] = true; } } function isOnBlacklist(address account) external view returns(bool) { return _blacklist[account]; } function getAdditionalFee(uint256 _value) private view returns(uint256){ uint256 aditionalFee = 0; for (uint256 i=0; i<minAditionalFee.length; i++) { if(_value >= minAditionalFee[i]){ aditionalFee = (_value*amountMulToGetAditionalFee[i])/amountDivToGetFee; }else{ break; } } return aditionalFee; } function _transfer( address from, address to, uint256 amount ) internal override { require(amount > 0, "ERC20: transfer amount must be greater than 0"); _beforeTokenTransfer(from, to, amount); uint256 fromBalance = _balances[from]; require(fromBalance >= amount, "ERC20: transfer amount exceeds balance"); require(!_blacklist[from] && !_blacklist[to], "ERC20: from or to address are in blacklist"); //if any account belongs to _isExcludedFromFee account then remove the fee if(_isExcludedFromFee[from] || _isExcludedFromFee[to]){ _balances[to] += amount; emit Transfer(from, to, amount); }else{ uint256 aditionalFee = getAdditionalFee(amount); if(aditionalFee>0){ _balances[fees_wallet] += aditionalFee; emit Transfer(from, fees_wallet, aditionalFee); } _balances[to] += amount-aditionalFee; emit Transfer(from, to, amount-aditionalFee); } unchecked { _balances[from] = fromBalance-amount; } _afterTokenTransfer(from, to, amount); } // ******************************************************************** // ******************************************************************** // BURNEABLE FUNCTIONS /** * @dev Destroys `amount` tokens from the caller. * * See {ERC20-_burn}. */ function burn(uint256 amount) external { _burn(_msgSender(), amount); } /** * @dev Destroys `amount` tokens from `account`, deducting from the caller's * allowance. * * See {ERC20-_burn} and {ERC20-allowance}. * * Requirements: * * - the caller must have allowance for ``accounts``'s tokens of at least * `amount`. */ function burnFrom(address account, uint256 amount) external { _spendAllowance(account, _msgSender(), amount); _burn(account, amount); } // ******************************************************************** // ******************************************************************** // PAUSABLE FUNCTIONS /** * @dev See {ERC20-_beforeTokenTransfer}. * * Requirements: * * - the contract must not be paused. */ function _beforeTokenTransfer( address from, address to, uint256 amount ) internal virtual override { super._beforeTokenTransfer(from, to, amount); require(!paused(), "ERC20Pausable: token transfer while paused"); } function pauseTransactions() external isOwner{ _pause(); } function unpauseTransactions() external isOwner{ _unpause(); } }
// SPDX-License-Identifier: MIT // 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; } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.5.0) (token/ERC20/ERC20.sol) pragma solidity ^0.8.0; import "./IERC20.sol"; import "./IERC20Metadata.sol"; import "./Context.sol"; /** * @dev Implementation of the {IERC20} interface. * * This implementation is agnostic to the way tokens are created. This means * that a supply mechanism has to be added in a derived contract using {_mint}. * For a generic mechanism see {ERC20PresetMinterPauser}. * * TIP: For a detailed writeup see our guide * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How * to implement supply mechanisms]. * * We have followed general OpenZeppelin Contracts guidelines: functions revert * instead returning `false` on failure. This behavior is nonetheless * conventional and does not conflict with the expectations of ERC20 * applications. * * Additionally, an {Approval} event is emitted on calls to {transferFrom}. * This allows applications to reconstruct the allowance for all accounts just * by listening to said events. Other implementations of the EIP may not emit * these events, as it isn't required by the specification. * * Finally, the non-standard {decreaseAllowance} and {increaseAllowance} * functions have been added to mitigate the well-known issues around setting * allowances. See {IERC20-approve}. */ contract ERC20 is Context, IERC20, IERC20Metadata { mapping(address => uint256) internal _balances; // === change from private to internal mapping(address => mapping(address => uint256)) internal _allowances; // === change from private to internal uint256 internal _totalSupply; // === change from private to internal string private _name; string private _symbol; /** * @dev Sets the values for {name} and {symbol}. * * The default value of {decimals} is 18. To select a different value for * {decimals} you should overload it. * * All two of these values are immutable: they can only be set once during * construction. */ constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } /** * @dev Returns the name of the token. */ function name() public view virtual override returns (string memory) { return _name; } /** * @dev Returns the symbol of the token, usually a shorter version of the * name. */ function symbol() public view virtual override returns (string memory) { return _symbol; } /** * @dev Returns the number of decimals used to get its user representation. * For example, if `decimals` equals `2`, a balance of `505` tokens should * be displayed to a user as `5.05` (`505 / 10 ** 2`). * * Tokens usually opt for a value of 18, imitating the relationship between * Ether and Wei. This is the value {ERC20} uses, unless this function is * overridden; * * NOTE: This information is only used for _display_ purposes: it in * no way affects any of the arithmetic of the contract, including * {IERC20-balanceOf} and {IERC20-transfer}. */ function decimals() public view virtual override returns (uint8) { return 18; } /** * @dev See {IERC20-totalSupply}. */ function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } /** * @dev See {IERC20-balanceOf}. */ function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } /** * @dev See {IERC20-transfer}. * * Requirements: * * - `to` cannot be the zero address. * - the caller must have a balance of at least `amount`. */ function transfer(address to, uint256 amount) public virtual override returns (bool) { address owner = _msgSender(); _transfer(owner, to, amount); return true; } /** * @dev See {IERC20-allowance}. */ function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } /** * @dev See {IERC20-approve}. * * NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on * `transferFrom`. This is semantically equivalent to an infinite approval. * * Requirements: * * - `spender` cannot be the zero address. */ function approve(address spender, uint256 amount) public virtual override returns (bool) { address owner = _msgSender(); _approve(owner, spender, amount); return true; } /** * @dev See {IERC20-transferFrom}. * * Emits an {Approval} event indicating the updated allowance. This is not * required by the EIP. See the note at the beginning of {ERC20}. * * NOTE: Does not update the allowance if the current allowance * is the maximum `uint256`. * * Requirements: * * - `from` and `to` cannot be the zero address. * - `from` must have a balance of at least `amount`. * - the caller must have allowance for ``from``'s tokens of at least * `amount`. */ function transferFrom( address from, address to, uint256 amount ) public virtual override returns (bool) { address spender = _msgSender(); _spendAllowance(from, spender, amount); _transfer(from, to, amount); return true; } /** * @dev Atomically increases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {IERC20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. */ function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { address owner = _msgSender(); _approve(owner, spender, allowance(owner, spender) + addedValue); return true; } /** * @dev Atomically decreases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {IERC20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. * - `spender` must have allowance for the caller of at least * `subtractedValue`. */ function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { address owner = _msgSender(); uint256 currentAllowance = allowance(owner, spender); require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); unchecked { _approve(owner, spender, currentAllowance - subtractedValue); } return true; } /** * @dev Moves `amount` of tokens from `sender` to `recipient`. * * This internal function is equivalent to {transfer}, and can be used to * e.g. implement automatic token fees, slashing mechanisms, etc. * * Emits a {Transfer} event. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `from` must have a balance of at least `amount`. */ function _transfer( address from, address to, uint256 amount ) internal virtual { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(from, to, amount); uint256 fromBalance = _balances[from]; require(fromBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { _balances[from] = fromBalance - amount; } _balances[to] += amount; emit Transfer(from, to, amount); _afterTokenTransfer(from, to, amount); } /** @dev Creates `amount` tokens and assigns them to `account`, increasing * the total supply. * * Emits a {Transfer} event with `from` set to the zero address. * * Requirements: * * - `account` cannot be the zero address. */ function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _beforeTokenTransfer(address(0), account, amount); _totalSupply += amount; _balances[account] += amount; emit Transfer(address(0), account, amount); _afterTokenTransfer(address(0), account, amount); } /** * @dev Destroys `amount` tokens from `account`, reducing the * total supply. * * Emits a {Transfer} event with `to` set to the zero address. * * Requirements: * * - `account` cannot be the zero address. * - `account` must have at least `amount` tokens. */ function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); _beforeTokenTransfer(account, address(0), amount); uint256 accountBalance = _balances[account]; require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); unchecked { _balances[account] = accountBalance - amount; } _totalSupply -= amount; emit Transfer(account, address(0), amount); _afterTokenTransfer(account, address(0), amount); } /** * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens. * * This internal function is equivalent to `approve`, and can be used to * e.g. set automatic allowances for certain subsystems, etc. * * Emits an {Approval} event. * * Requirements: * * - `owner` cannot be the zero address. * - `spender` cannot be the zero address. */ function _approve( address owner, address spender, uint256 amount ) internal virtual { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } /** * @dev Updates `owner` s allowance for `spender` based on spent `amount`. * * Does not update the allowance amount in case of infinite allowance. * Revert if not enough allowance is available. * * Might emit an {Approval} event. */ function _spendAllowance( address owner, address spender, uint256 amount ) internal virtual { uint256 currentAllowance = allowance(owner, spender); if (currentAllowance != type(uint256).max) { require(currentAllowance >= amount, "ERC20: insufficient allowance"); unchecked { _approve(owner, spender, currentAllowance - amount); } } } /** * @dev Hook that is called before any transfer of tokens. This includes * minting and burning. * * Calling conditions: * * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens * will be transferred to `to`. * - when `from` is zero, `amount` tokens will be minted for `to`. * - when `to` is zero, `amount` of ``from``'s tokens will be burned. * - `from` and `to` are never both zero. * * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. */ function _beforeTokenTransfer( address from, address to, uint256 amount ) internal virtual {} /** * @dev Hook that is called after any transfer of tokens. This includes * minting and burning. * * Calling conditions: * * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens * has been transferred to `to`. * - when `from` is zero, `amount` tokens have been minted for `to`. * - when `to` is zero, `amount` of ``from``'s tokens have been burned. * - `from` and `to` are never both zero. * * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. */ function _afterTokenTransfer( address from, address to, uint256 amount ) internal virtual {} }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.5.0) (token/ERC20/IERC20.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @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); /** * @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); }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (token/ERC20/extensions/IERC20Metadata.sol) pragma solidity ^0.8.0; import "./IERC20.sol"; /** * @dev Interface for the optional metadata functions from the ERC20 standard. * * _Available since v4.1._ */ interface IERC20Metadata is IERC20 { /** * @dev Returns the name of the token. */ function name() external view returns (string memory); /** * @dev Returns the symbol of the token. */ function symbol() external view returns (string memory); /** * @dev Returns the decimals places of the token. */ function decimals() external view returns (uint8); }
// SPDX-License-Identifier: GPL-3.0 pragma solidity ^0.8.0; /** * @title Owner * @dev Set & change owner */ contract Owner { address private owner; // event for EVM logging event OwnerSet(address indexed oldOwner, address indexed newOwner); // modifier to check if caller is owner modifier isOwner() { // If the first argument of 'require' evaluates to 'false', execution terminates and all // changes to the state and to Ether balances are reverted. // This used to consume all gas in old EVM versions, but not anymore. // It is often a good idea to use 'require' to check if functions are called correctly. // As a second argument, you can also provide an explanation about what went wrong. require(msg.sender == owner, "Caller is not owner"); _; } /** * @dev Set contract deployer as owner */ constructor() { owner = msg.sender; // 'msg.sender' is sender of current call, contract deployer for a constructor emit OwnerSet(address(0), owner); } /** * @dev Change owner * @param newOwner address of new owner */ function changeOwner(address newOwner) external isOwner { // === require(newOwner != address(0), "ERC20: changeOwner newOwner the zero address"); // === emit OwnerSet(owner, newOwner); owner = newOwner; } /** * @dev Return owner address * @return address of owner */ function getOwner() external view returns (address) { return owner; } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (security/Pausable.sol) pragma solidity ^0.8.0; import "./Context.sol"; /** * @dev Contract module which allows children to implement an emergency stop * mechanism that can be triggered by an authorized account. * * This module is used through inheritance. It will make available the * modifiers `whenNotPaused` and `whenPaused`, which can be applied to * the functions of your contract. Note that they will not be pausable by * simply including this module, only once the modifiers are put in place. */ abstract contract Pausable is Context { /** * @dev Emitted when the pause is triggered by `account`. */ event Paused(address account); /** * @dev Emitted when the pause is lifted by `account`. */ event Unpaused(address account); bool private _paused; /** * @dev Initializes the contract in unpaused state. */ constructor() { _paused = false; } /** * @dev Modifier to make a function callable only when the contract is not paused. * * Requirements: * * - The contract must not be paused. */ modifier whenNotPaused() { _requireNotPaused(); _; } /** * @dev Modifier to make a function callable only when the contract is paused. * * Requirements: * * - The contract must be paused. */ modifier whenPaused() { _requirePaused(); _; } /** * @dev Returns true if the contract is paused, and false otherwise. */ function paused() public view virtual returns (bool) { return _paused; } /** * @dev Throws if the contract is paused. */ function _requireNotPaused() internal view virtual { require(!paused(), "Pausable: paused"); } /** * @dev Throws if the contract is not paused. */ function _requirePaused() internal view virtual { require(paused(), "Pausable: not paused"); } /** * @dev Triggers stopped state. * * Requirements: * * - The contract must not be paused. */ function _pause() internal virtual whenNotPaused { _paused = true; emit Paused(_msgSender()); } /** * @dev Returns to normal state. * * Requirements: * * - The contract must be paused. */ function _unpause() internal virtual whenPaused { _paused = false; emit Unpaused(_msgSender()); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"_walletListToSubtract","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"airdrop_supply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"airdrop_wallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"amountMulToGetAditionalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"changeOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"ecosystem_supply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ecosystem_wallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"}],"name":"excludeFromBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"fees_wallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTokensInCirculation","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"}],"name":"includeInBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"}],"name":"includeInFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOnBlacklist","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"minAditionalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pauseTransactions","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"privateSale_supply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"privateSale_wallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"publicSale_supply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"publicSale_wallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"reserve_supply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"reserve_wallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewards_supply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewards_wallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_index","type":"uint256"},{"internalType":"uint256","name":"_newValue","type":"uint256"}],"name":"setMinAditionalFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_index","type":"uint256"},{"internalType":"uint256","name":"_newValue","type":"uint256"}],"name":"setPercentagesToGetAditionalFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_index","type":"uint256"},{"internalType":"address","name":"_newValue","type":"address"}],"name":"setWalletListToSubtract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"team1_supply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"team1_wallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"team2_supply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"team2_wallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"team3_supply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"team3_wallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"team4_supply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"team4_wallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpauseTransactions","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
6080604052604051806102c00160405280670de0b6b3a7640000620186a06200002991906200161f565b8152602001670de0b6b3a764000062030d406200004791906200161f565b8152602001670de0b6b3a7640000620493e06200006591906200161f565b8152602001670de0b6b3a764000062061a806200008391906200161f565b8152602001670de0b6b3a76400006207a120620000a191906200161f565b8152602001670de0b6b3a7640000620927c0620000bf91906200161f565b8152602001670de0b6b3a7640000620aae60620000dd91906200161f565b8152602001670de0b6b3a7640000620c3500620000fb91906200161f565b8152602001670de0b6b3a7640000620dbba06200011991906200161f565b8152602001670de0b6b3a7640000620f42406200013791906200161f565b8152602001670de0b6b3a76400006210c8e06200015591906200161f565b8152602001670de0b6b3a764000062124f806200017391906200161f565b8152602001670de0b6b3a76400006213d6206200019191906200161f565b8152602001670de0b6b3a76400006216e360620001af91906200161f565b8152602001670de0b6b3a76400006219f0a0620001cd91906200161f565b8152602001670de0b6b3a7640000621cfde0620001eb91906200161f565b8152602001670de0b6b3a764000062200b206200020991906200161f565b8152602001670de0b6b3a7640000622318606200022791906200161f565b8152602001670de0b6b3a76400006227ac406200024591906200161f565b8152602001670de0b6b3a7640000622c40206200026391906200161f565b8152602001670de0b6b3a76400006230d4006200028191906200161f565b8152602001670de0b6b3a7640000623567e06200029f91906200161f565b8152506026906016620002b492919062001397565b50604051806102c00160405280603261ffff168152602001606461ffff16815260200161012c61ffff1681526020016101f461ffff1681526020016102bc61ffff16815260200161038461ffff16815260200161044c61ffff16815260200161051461ffff1681526020016105dc61ffff1681526020016106a461ffff1681526020016107d061ffff1681526020016108fc61ffff168152602001610a2861ffff168152602001610c8061ffff168152602001610ed861ffff1681526020016110cc61ffff16815260200161125c61ffff1681526020016113ec61ffff1681526020016115e061ffff16815260200161177061ffff16815260200161190061ffff16815260200161213461ffff168152506027906016620003d7929190620013e9565b5073d2a9d580bbfb8dae083e81599582283b2a16c644602860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156200043a57600080fd5b506040518060400160405280600681526020017f45786f64757300000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f45585300000000000000000000000000000000000000000000000000000000008152508160039080519060200190620004bf92919062001441565b508060049080519060200190620004d892919062001441565b50505033600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f342827c97908e5e2f71151c08502a66d44b6f758e3ac2f1de95f02eb95f0a73560405160405180910390a36000600560146101000a81548160ff021916908315150217905550620005f373cacd3d7cb6f798bbac53e882b2cbf5996d263f24670de0b6b3a76400006302625a00620005e791906200161f565b6200118d60201b60201c565b6200063273264c84fbe8dacdc4fd7559b204526af1f61ca5e7670de0b6b3a764000063039387006200062691906200161f565b6200118d60201b60201c565b6200067173cd04dac93f1172b7ba4218b84c81d68ebb32e8cc670de0b6b3a764000063016e36006200066591906200161f565b6200118d60201b60201c565b620006af73df450b51b2f2fa1560eada15e149d0064df2327d670de0b6b3a7640000621e8480620006a391906200161f565b6200118d60201b60201c565b620006ed735dbb556a3e832b8179b30c0e64c5668a6b3bdfd8670de0b6b3a764000062989680620006e191906200161f565b6200118d60201b60201c565b6200072b73a4a01cb9898ccf59e9780f22c828724f7794dc1f670de0b6b3a7640000629896806200071f91906200161f565b6200118d60201b60201c565b62000769737e8b53ee714dd7b6d808cdf7a0043b7dc6680eb1670de0b6b3a7640000629896806200075d91906200161f565b6200118d60201b60201c565b620007a77369ac12d71d9a99b52339bdbfd0ecf2af785de5aa670de0b6b3a7640000629896806200079b91906200161f565b6200118d60201b60201c565b620007e5732511f8f04daa128d2e7b9dd8c41d47734d37e50e670de0b6b3a764000062989680620007d991906200161f565b6200118d60201b60201c565b6200082473c4b1723f7ef8dae035af7e623b35c4f35c1f51f2670de0b6b3a764000063016e36006200081891906200161f565b6200118d60201b60201c565b60016006600073cacd3d7cb6f798bbac53e882b2cbf5996d263f2473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016006600073264c84fbe8dacdc4fd7559b204526af1f61ca5e773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016006600073cd04dac93f1172b7ba4218b84c81d68ebb32e8cc73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016006600073df450b51b2f2fa1560eada15e149d0064df2327d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000735dbb556a3e832b8179b30c0e64c5668a6b3bdfd873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016006600073a4a01cb9898ccf59e9780f22c828724f7794dc1f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000737e8b53ee714dd7b6d808cdf7a0043b7dc6680eb173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660007369ac12d71d9a99b52339bdbfd0ecf2af785de5aa73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000732511f8f04daa128d2e7b9dd8c41d47734d37e50e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016006600073c4b1723f7ef8dae035af7e623b35c4f35c1f51f273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000602860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555073cacd3d7cb6f798bbac53e882b2cbf5996d263f2460086000601e811062000d035762000d026200171e565b5b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073264c84fbe8dacdc4fd7559b204526af1f61ca5e760086001601e811062000d6f5762000d6e6200171e565b5b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073cd04dac93f1172b7ba4218b84c81d68ebb32e8cc60086002601e811062000ddb5762000dda6200171e565b5b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073df450b51b2f2fa1560eada15e149d0064df2327d60086003601e811062000e475762000e466200171e565b5b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550735dbb556a3e832b8179b30c0e64c5668a6b3bdfd860086004601e811062000eb35762000eb26200171e565b5b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073a4a01cb9898ccf59e9780f22c828724f7794dc1f60086005601e811062000f1f5762000f1e6200171e565b5b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550737e8b53ee714dd7b6d808cdf7a0043b7dc6680eb160086006601e811062000f8b5762000f8a6200171e565b5b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507369ac12d71d9a99b52339bdbfd0ecf2af785de5aa60086007601e811062000ff75762000ff66200171e565b5b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550732511f8f04daa128d2e7b9dd8c41d47734d37e50e600880601e81106200106257620010616200171e565b5b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073c4b1723f7ef8dae035af7e623b35c4f35c1f51f260086009601e8110620010ce57620010cd6200171e565b5b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166008600a601e81106200114857620011476200171e565b5b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620017c5565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562001200576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620011f79062001550565b60405180910390fd5b62001214600083836200130660201b60201c565b8060026000828254620012289190620015c2565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546200127f9190620015c2565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620012e6919062001594565b60405180910390a362001302600083836200137660201b60201c565b5050565b6200131e8383836200137b60201b62001b6d1760201c565b6200132e6200138060201b60201c565b1562001371576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620013689062001572565b60405180910390fd5b505050565b505050565b505050565b6000600560149054906101000a900460ff16905090565b828054828255906000526020600020908101928215620013d6579160200282015b82811115620013d5578251825591602001919060010190620013b8565b5b509050620013e59190620014d2565b5090565b8280548282559060005260206000209081019282156200142e579160200282015b828111156200142d578251829061ffff169055916020019190600101906200140a565b5b5090506200143d9190620014d2565b5090565b8280546200144f906200168a565b90600052602060002090601f016020900481019282620014735760008555620014bf565b82601f106200148e57805160ff1916838001178555620014bf565b82800160010185558215620014bf579182015b82811115620014be578251825591602001919060010190620014a1565b5b509050620014ce9190620014d2565b5090565b5b80821115620014ed576000816000905550600101620014d3565b5090565b600062001500601f83620015b1565b91506200150d826200174d565b602082019050919050565b600062001527602a83620015b1565b9150620015348262001776565b604082019050919050565b6200154a8162001680565b82525050565b600060208201905081810360008301526200156b81620014f1565b9050919050565b600060208201905081810360008301526200158d8162001518565b9050919050565b6000602082019050620015ab60008301846200153f565b92915050565b600082825260208201905092915050565b6000620015cf8262001680565b9150620015dc8362001680565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620016145762001613620016c0565b5b828201905092915050565b60006200162c8262001680565b9150620016398362001680565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620016755762001674620016c0565b5b828202905092915050565b6000819050919050565b60006002820490506001821680620016a357607f821691505b60208210811415620016ba57620016b9620016ef565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b7f45524332305061757361626c653a20746f6b656e207472616e7366657220776860008201527f696c652070617573656400000000000000000000000000000000000000000000602082015250565b6136a280620017d56000396000f3fe608060405234801561001057600080fd5b506004361061030c5760003560e01c806379cc67901161019d578063a9059cbb116100e9578063d52de599116100a2578063e4218b191161007c578063e4218b1914610951578063ea0557331461096d578063ee31a52514610977578063f8612448146109955761030c565b8063d52de599146108e5578063dd62ed3e14610903578063e2a3e859146109335761030c565b8063a9059cbb14610821578063b39a520a14610851578063b4f3ad7d1461086f578063bedfd08b1461088d578063caf1bb08146108ab578063cd4eaecc146108c95761030c565b80639156647d116101565780639d3146a5116101305780639d3146a5146107875780639eec06b1146107b7578063a457c2d7146107d5578063a6f9dae1146108055761030c565b80639156647d1461072d57806395d89b411461074b5780639772ea8d146107695761030c565b806379cc67901461067d5780637cc0ef88146106995780637f314c62146106b757806386b06d4e146106d55780638816a16f146106f3578063893d20e81461070f5761030c565b8063331a61081161025c5780635c975abb1161021557806368d2438c116101ef57806368d2438c146105f55780636e3660f31461061357806370a082311461063157806371b9189c146106615761030c565b80635c975abb1461059d578063627c23c1146105bb57806365b80883146105d95761030c565b8063331a6108146104b557806333a0e04c146104d357806339509351146104f157806342966c68146105215780635342acb41461053d578063567242691461056d5761030c565b80631e622050116102c957806328fddec9116102a357806328fddec9146104535780632f7e168a146104715780632fb3e0ed1461047b578063313ce567146104975761030c565b80631e622050146103d557806322f66ef61461040557806323b872dd146104235761030c565b8063024022f71461031157806302a8bb3c1461032d57806306fdde031461034b578063095ea7b3146103695780630f6645f01461039957806318160ddd146103b7575b600080fd5b61032b6004803603810190610326919061291b565b6109c5565b005b610335610aea565b6040516103429190612e88565b60405180910390f35b610353610bce565b6040516103609190612ca6565b60405180910390f35b610383600480360381019061037e91906128db565b610c60565b6040516103909190612c8b565b60405180910390f35b6103a1610c83565b6040516103ae9190612c70565b60405180910390f35b6103bf610c9b565b6040516103cc9190612e88565b60405180910390f35b6103ef60048036038101906103ea919061281b565b610ca5565b6040516103fc9190612c8b565b60405180910390f35b61040d610cfb565b60405161041a9190612e88565b60405180910390f35b61043d60048036038101906104389190612888565b610d16565b60405161044a9190612c8b565b60405180910390f35b61045b610d45565b6040516104689190612c70565b60405180910390f35b610479610d5d565b005b610495600480360381019061049091906129d1565b610df7565b005b61049f610eae565b6040516104ac9190612ea3565b60405180910390f35b6104bd610eb7565b6040516104ca9190612c70565b60405180910390f35b6104db610ecf565b6040516104e89190612c70565b60405180910390f35b61050b600480360381019061050691906128db565b610ee7565b6040516105189190612c8b565b60405180910390f35b61053b60048036038101906105369190612964565b610f1e565b005b6105576004803603810190610552919061281b565b610f32565b6040516105649190612c8b565b60405180910390f35b61058760048036038101906105829190612964565b610f88565b6040516105949190612e88565b60405180910390f35b6105a5610fac565b6040516105b29190612c8b565b60405180910390f35b6105c3610fc3565b6040516105d09190612e88565b60405180910390f35b6105f360048036038101906105ee919061291b565b610fdd565b005b6105fd611102565b60405161060a9190612e88565b60405180910390f35b61061b61111d565b6040516106289190612e88565b60405180910390f35b61064b6004803603810190610646919061281b565b611137565b6040516106589190612e88565b60405180910390f35b61067b6004803603810190610676919061291b565b61117f565b005b610697600480360381019061069291906128db565b6112a4565b005b6106a16112c4565b6040516106ae9190612e88565b60405180910390f35b6106bf6112de565b6040516106cc9190612c70565b60405180910390f35b6106dd6112f6565b6040516106ea9190612c70565b60405180910390f35b61070d600480360381019061070891906129d1565b61130e565b005b6107176113c5565b6040516107249190612c70565b60405180910390f35b6107356113ef565b6040516107429190612e88565b60405180910390f35b61075361140a565b6040516107609190612ca6565b60405180910390f35b61077161149c565b60405161077e9190612c70565b60405180910390f35b6107a1600480360381019061079c9190612964565b6114b4565b6040516107ae9190612e88565b60405180910390f35b6107bf6114d8565b6040516107cc9190612c70565b60405180910390f35b6107ef60048036038101906107ea91906128db565b6114f0565b6040516107fc9190612c8b565b60405180910390f35b61081f600480360381019061081a919061281b565b611567565b005b61083b600480360381019061083691906128db565b611727565b6040516108489190612c8b565b60405180910390f35b61085961174a565b6040516108669190612e88565b60405180910390f35b610877611764565b6040516108849190612e88565b60405180910390f35b61089561177e565b6040516108a29190612c70565b60405180910390f35b6108b36117a4565b6040516108c09190612c70565b60405180910390f35b6108e360048036038101906108de9190612991565b6117bc565b005b6108ed6118a4565b6040516108fa9190612e88565b60405180910390f35b61091d60048036038101906109189190612848565b6118be565b60405161092a9190612e88565b60405180910390f35b61093b611945565b6040516109489190612e88565b60405180910390f35b61096b6004803603810190610966919061291b565b611960565b005b610975611a85565b005b61097f611b1f565b60405161098c9190612c70565b60405180910390f35b6109af60048036038101906109aa9190612964565b611b37565b6040516109bc9190612c70565b60405180910390f35b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4c90612d48565b60405180910390fd5b60005b8151811015610ae657600060066000848481518110610a7a57610a79613201565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610ade9061312b565b915050610a58565b5050565b600080600254905060005b601e811015610bc657600073ffffffffffffffffffffffffffffffffffffffff16600882601e8110610b2a57610b29613201565b5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bb357610ba5600882601e8110610b7e57610b7d613201565b5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611137565b82610bb0919061300c565b91505b8080610bbe9061312b565b915050610af5565b508091505090565b606060038054610bdd906130c8565b80601f0160208091040260200160405190810160405280929190818152602001828054610c09906130c8565b8015610c565780601f10610c2b57610100808354040283529160200191610c56565b820191906000526020600020905b815481529060010190602001808311610c3957829003601f168201915b5050505050905090565b600080610c6b611b72565b9050610c78818585611b7a565b600191505092915050565b73c4b1723f7ef8dae035af7e623b35c4f35c1f51f281565b6000600254905090565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b670de0b6b3a76400006303938700610d139190612fb2565b81565b600080610d21611b72565b9050610d2e858285611d45565b610d39858585611dd1565b60019150509392505050565b7369ac12d71d9a99b52339bdbfd0ecf2af785de5aa81565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ded576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de490612d48565b60405180910390fd5b610df561232a565b565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7e90612d48565b60405180910390fd5b8060268381548110610e9c57610e9b613201565b5b90600052602060002001819055505050565b60006012905090565b73264c84fbe8dacdc4fd7559b204526af1f61ca5e781565b73cd04dac93f1172b7ba4218b84c81d68ebb32e8cc81565b600080610ef2611b72565b9050610f13818585610f0485896118be565b610f0e9190612f2b565b611b7a565b600191505092915050565b610f2f610f29611b72565b8261238d565b50565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60268181548110610f9857600080fd5b906000526020600020016000915090505481565b6000600560149054906101000a900460ff16905090565b670de0b6b3a764000062989680610fda9190612fb2565b81565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461106d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106490612d48565b60405180910390fd5b60005b81518110156110fe5760016007600084848151811061109257611091613201565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806110f69061312b565b915050611070565b5050565b670de0b6b3a76400006302625a0061111a9190612fb2565b81565b670de0b6b3a7640000629896806111349190612fb2565b81565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461120f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120690612d48565b60405180910390fd5b60005b81518110156112a05760016006600084848151811061123457611233613201565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806112989061312b565b915050611212565b5050565b6112b6826112b0611b72565b83611d45565b6112c0828261238d565b5050565b670de0b6b3a7640000629896806112db9190612fb2565b81565b732511f8f04daa128d2e7b9dd8c41d47734d37e50e81565b73df450b51b2f2fa1560eada15e149d0064df2327d81565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461139e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139590612d48565b60405180910390fd5b80602783815481106113b3576113b2613201565b5b90600052602060002001819055505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b670de0b6b3a764000063016e36006114079190612fb2565b81565b606060048054611419906130c8565b80601f0160208091040260200160405190810160405280929190818152602001828054611445906130c8565b80156114925780601f1061146757610100808354040283529160200191611492565b820191906000526020600020905b81548152906001019060200180831161147557829003601f168201915b5050505050905090565b735dbb556a3e832b8179b30c0e64c5668a6b3bdfd881565b602781815481106114c457600080fd5b906000526020600020016000915090505481565b73a4a01cb9898ccf59e9780f22c828724f7794dc1f81565b6000806114fb611b72565b9050600061150982866118be565b90508381101561154e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154590612e48565b60405180910390fd5b61155b8286868403611b7a565b60019250505092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146115f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ee90612d48565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611667576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165e90612dc8565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f342827c97908e5e2f71151c08502a66d44b6f758e3ac2f1de95f02eb95f0a73560405160405180910390a380600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080611732611b72565b905061173f818585611dd1565b600191505092915050565b670de0b6b3a7640000629896806117619190612fb2565b81565b670de0b6b3a76400006298968061177b9190612fb2565b81565b602860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b73cacd3d7cb6f798bbac53e882b2cbf5996d263f2481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461184c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184390612d48565b60405180910390fd5b80600883601e811061186157611860613201565b5b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b670de0b6b3a7640000621e84806118bb9190612fb2565b81565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b670de0b6b3a764000063016e360061195d9190612fb2565b81565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146119f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119e790612d48565b60405180910390fd5b60005b8151811015611a8157600060076000848481518110611a1557611a14613201565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611a799061312b565b9150506119f3565b5050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b0c90612d48565b60405180910390fd5b611b1d612564565b565b737e8b53ee714dd7b6d808cdf7a0043b7dc6680eb181565b600881601e8110611b4757600080fd5b016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611bea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be190612e08565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611c5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5190612d28565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611d389190612e88565b60405180910390a3505050565b6000611d5184846118be565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611dcb5781811015611dbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611db490612d68565b60405180910390fd5b611dca8484848403611b7a565b5b50505050565b60008111611e14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0b90612e28565b60405180910390fd5b611e1f8383836125c7565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611ea5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9c90612d88565b60405180910390fd5b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611f495750600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611f88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f7f90612ce8565b60405180910390fd5b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806120295750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156120ed57816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461207c9190612f2b565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516120e09190612e88565b60405180910390a36122d4565b60006120f88361261f565b905060008111156122025780600080602860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546121739190612f2b565b92505081905550602860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516121f99190612e88565b60405180910390a35b808361220e919061300c565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461225b9190612f2b565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83866122bd919061300c565b6040516122ca9190612e88565b60405180910390a3505b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506123248484846126bb565b50505050565b6123326126c0565b6000600560146101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa612376611b72565b6040516123839190612c70565b60405180910390a1565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156123fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123f490612de8565b60405180910390fd5b612409826000836125c7565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561248f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161248690612d08565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282546124e6919061300c565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161254b9190612e88565b60405180910390a361255f836000846126bb565b505050565b61256c612709565b6001600560146101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586125b0611b72565b6040516125bd9190612c70565b60405180910390a1565b6125d2838383611b6d565b6125da610fac565b1561261a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161261190612e68565b60405180910390fd5b505050565b6000806000905060005b6026805490508110156126b1576026818154811061264a57612649613201565b5b90600052602060002001548410612699576127106027828154811061267257612671613201565b5b9060005260206000200154856126889190612fb2565b6126929190612f81565b915061269e565b6126b1565b80806126a99061312b565b915050612629565b5080915050919050565b505050565b6126c8610fac565b612707576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126fe90612cc8565b60405180910390fd5b565b612711610fac565b15612751576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161274890612da8565b60405180910390fd5b565b600061276661276184612ee3565b612ebe565b9050808382526020820190508285602086028201111561278957612788613264565b5b60005b858110156127b9578161279f88826127c3565b84526020840193506020830192505060018101905061278c565b5050509392505050565b6000813590506127d28161363e565b92915050565b600082601f8301126127ed576127ec61325f565b5b81356127fd848260208601612753565b91505092915050565b60008135905061281581613655565b92915050565b6000602082840312156128315761283061326e565b5b600061283f848285016127c3565b91505092915050565b6000806040838503121561285f5761285e61326e565b5b600061286d858286016127c3565b925050602061287e858286016127c3565b9150509250929050565b6000806000606084860312156128a1576128a061326e565b5b60006128af868287016127c3565b93505060206128c0868287016127c3565b92505060406128d186828701612806565b9150509250925092565b600080604083850312156128f2576128f161326e565b5b6000612900858286016127c3565b925050602061291185828601612806565b9150509250929050565b6000602082840312156129315761293061326e565b5b600082013567ffffffffffffffff81111561294f5761294e613269565b5b61295b848285016127d8565b91505092915050565b60006020828403121561297a5761297961326e565b5b600061298884828501612806565b91505092915050565b600080604083850312156129a8576129a761326e565b5b60006129b685828601612806565b92505060206129c7858286016127c3565b9150509250929050565b600080604083850312156129e8576129e761326e565b5b60006129f685828601612806565b9250506020612a0785828601612806565b9150509250929050565b612a1a81613040565b82525050565b612a2981613052565b82525050565b6000612a3a82612f0f565b612a448185612f1a565b9350612a54818560208601613095565b612a5d81613273565b840191505092915050565b6000612a75601483612f1a565b9150612a8082613284565b602082019050919050565b6000612a98602a83612f1a565b9150612aa3826132ad565b604082019050919050565b6000612abb602283612f1a565b9150612ac6826132fc565b604082019050919050565b6000612ade602283612f1a565b9150612ae98261334b565b604082019050919050565b6000612b01601383612f1a565b9150612b0c8261339a565b602082019050919050565b6000612b24601d83612f1a565b9150612b2f826133c3565b602082019050919050565b6000612b47602683612f1a565b9150612b52826133ec565b604082019050919050565b6000612b6a601083612f1a565b9150612b758261343b565b602082019050919050565b6000612b8d602c83612f1a565b9150612b9882613464565b604082019050919050565b6000612bb0602183612f1a565b9150612bbb826134b3565b604082019050919050565b6000612bd3602483612f1a565b9150612bde82613502565b604082019050919050565b6000612bf6602d83612f1a565b9150612c0182613551565b604082019050919050565b6000612c19602583612f1a565b9150612c24826135a0565b604082019050919050565b6000612c3c602a83612f1a565b9150612c47826135ef565b604082019050919050565b612c5b8161307e565b82525050565b612c6a81613088565b82525050565b6000602082019050612c856000830184612a11565b92915050565b6000602082019050612ca06000830184612a20565b92915050565b60006020820190508181036000830152612cc08184612a2f565b905092915050565b60006020820190508181036000830152612ce181612a68565b9050919050565b60006020820190508181036000830152612d0181612a8b565b9050919050565b60006020820190508181036000830152612d2181612aae565b9050919050565b60006020820190508181036000830152612d4181612ad1565b9050919050565b60006020820190508181036000830152612d6181612af4565b9050919050565b60006020820190508181036000830152612d8181612b17565b9050919050565b60006020820190508181036000830152612da181612b3a565b9050919050565b60006020820190508181036000830152612dc181612b5d565b9050919050565b60006020820190508181036000830152612de181612b80565b9050919050565b60006020820190508181036000830152612e0181612ba3565b9050919050565b60006020820190508181036000830152612e2181612bc6565b9050919050565b60006020820190508181036000830152612e4181612be9565b9050919050565b60006020820190508181036000830152612e6181612c0c565b9050919050565b60006020820190508181036000830152612e8181612c2f565b9050919050565b6000602082019050612e9d6000830184612c52565b92915050565b6000602082019050612eb86000830184612c61565b92915050565b6000612ec8612ed9565b9050612ed482826130fa565b919050565b6000604051905090565b600067ffffffffffffffff821115612efe57612efd613230565b5b602082029050602081019050919050565b600081519050919050565b600082825260208201905092915050565b6000612f368261307e565b9150612f418361307e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612f7657612f75613174565b5b828201905092915050565b6000612f8c8261307e565b9150612f978361307e565b925082612fa757612fa66131a3565b5b828204905092915050565b6000612fbd8261307e565b9150612fc88361307e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561300157613000613174565b5b828202905092915050565b60006130178261307e565b91506130228361307e565b92508282101561303557613034613174565b5b828203905092915050565b600061304b8261305e565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156130b3578082015181840152602081019050613098565b838111156130c2576000848401525b50505050565b600060028204905060018216806130e057607f821691505b602082108114156130f4576130f36131d2565b5b50919050565b61310382613273565b810181811067ffffffffffffffff8211171561312257613121613230565b5b80604052505050565b60006131368261307e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561316957613168613174565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b7f45524332303a2066726f6d206f7220746f20616464726573732061726520696e60008201527f20626c61636b6c69737400000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f43616c6c6572206973206e6f74206f776e657200000000000000000000000000600082015250565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b7f45524332303a206368616e67654f776e6572206e65774f776e6572207468652060008201527f7a65726f20616464726573730000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e74206d757374206265206760008201527f726561746572207468616e203000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b7f45524332305061757361626c653a20746f6b656e207472616e7366657220776860008201527f696c652070617573656400000000000000000000000000000000000000000000602082015250565b61364781613040565b811461365257600080fd5b50565b61365e8161307e565b811461366957600080fd5b5056fea2646970667358221220cfc72e028c4a9396dfa86335d2e16744304bad98dd04af4778327d4d9a27b14564736f6c63430008060033
Deployed ByteCode Sourcemap
133:9715:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5716:192;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4682:369;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2316:100:1;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4667:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2121:86:2;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3436:108:1;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6441:113:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2386:57;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5448:295:1;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1939:81:2;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9767:76;;;:::i;:::-;;5210:134;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3278:93:1;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1403:83:2;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1493:85;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6152:238:1;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8510:85:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5914:125;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;493:627;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1656:86:6;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2703:55:2;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6246:189;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2322:57;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2641:55;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3607:127:1;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5516:194:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8914:158;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2579:55;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2027:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1585:83;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5350:158;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1542:83:5;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2895:60:2;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2535:104:1;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1675:81:2;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1127:150;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1763:81;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6893:436:1;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1212:236:5;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3940:193:1;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2827:61:2;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2765:55;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2216:71;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1313:83;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5057:145;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2516:56;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4196:151:1;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2450:59:2;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6047:193;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9689:72;;;:::i;:::-;;1851:81;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;301:40;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5716:192;819:5:5;;;;;;;;;;;805:19;;:10;:19;;;797:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;5798:9:2::1;5793:108;5813:8;:15;5811:1;:17;5793:108;;;5884:5;5850:18;:31;5869:8;5878:1;5869:11;;;;;;;;:::i;:::-;;;;;;;;5850:31;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;5830:3;;;;;:::i;:::-;;;;5793:108;;;;5716:192:::0;:::o;4682:369::-;4738:7;4758:21;4782:12;;4758:36;;4810:9;4805:208;4825:28;4823:1;:30;4805:208;;;4914:1;4878:38;;:21;4900:1;4878:24;;;;;;;:::i;:::-;;;;;;;;;;;;;:38;;;4875:127;;4951:35;4961:21;4983:1;4961:24;;;;;;;:::i;:::-;;;;;;;;;;;;;4951:9;:35::i;:::-;4936:50;;;;;:::i;:::-;;;4875:127;4855:3;;;;;:::i;:::-;;;;4805:208;;;;5030:13;5023:20;;;4682:369;:::o;2316:100:1:-;2370:13;2403:5;2396:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2316:100;:::o;4667:201::-;4750:4;4767:13;4783:12;:10;:12::i;:::-;4767:28;;4806:32;4815:5;4822:7;4831:6;4806:8;:32::i;:::-;4856:4;4849:11;;;4667:201;;;;:::o;2121:86:2:-;2165:42;2121:86;:::o;3436:108:1:-;3497:7;3524:12;;3517:19;;3436:108;:::o;6441:113:2:-;6503:4;6527:10;:19;6538:7;6527:19;;;;;;;;;;;;;;;;;;;;;;;;;6520:26;;6441:113;;;:::o;2386:57::-;478:6;2424:8;:19;;;;:::i;:::-;2386:57;:::o;5448:295:1:-;5579:4;5596:15;5614:12;:10;:12::i;:::-;5596:30;;5637:38;5653:4;5659:7;5668:6;5637:15;:38::i;:::-;5686:27;5696:4;5702:2;5706:6;5686:9;:27::i;:::-;5731:4;5724:11;;;5448:295;;;;;:::o;1939:81:2:-;1978:42;1939:81;:::o;9767:76::-;819:5:5;;;;;;;;;;;805:19;;:10;:19;;;797:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;9825:10:2::1;:8;:10::i;:::-;9767:76::o:0;5210:134::-;819:5:5;;;;;;;;;;;805:19;;:10;:19;;;797:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;5327:9:2::1;5301:15;5317:6;5301:23;;;;;;;;:::i;:::-;;;;;;;;;:35;;;;5210:134:::0;;:::o;3278:93:1:-;3336:5;3361:2;3354:9;;3278:93;:::o;1403:83:2:-;1444:42;1403:83;:::o;1493:85::-;1536:42;1493:85;:::o;6152:238:1:-;6240:4;6257:13;6273:12;:10;:12::i;:::-;6257:28;;6296:64;6305:5;6312:7;6349:10;6321:25;6331:5;6338:7;6321:9;:25::i;:::-;:38;;;;:::i;:::-;6296:8;:64::i;:::-;6378:4;6371:11;;;6152:238;;;;:::o;8510:85:2:-;8560:27;8566:12;:10;:12::i;:::-;8580:6;8560:5;:27::i;:::-;8510:85;:::o;5914:125::-;5980:4;6004:18;:27;6023:7;6004:27;;;;;;;;;;;;;;;;;;;;;;;;;5997:34;;5914:125;;;:::o;493:627::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1656:86:6:-;1703:4;1727:7;;;;;;;;;;;1720:14;;1656:86;:::o;2703:55:2:-;478:6;2739:8;:19;;;;:::i;:::-;2703:55;:::o;6246:189::-;819:5:5;;;;;;;;;;;805:19;;:10;:19;;;797:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;6334:9:2::1;6329:99;6349:8;:15;6347:1;:17;6329:99;;;6412:4;6386:10;:23;6397:8;6406:1;6397:11;;;;;;;;:::i;:::-;;;;;;;;6386:23;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;6366:3;;;;;:::i;:::-;;;;6329:99;;;;6246:189:::0;:::o;2322:57::-;478:6;2360:8;:19;;;;:::i;:::-;2322:57;:::o;2641:55::-;478:6;2677:8;:19;;;;:::i;:::-;2641:55;:::o;3607:127:1:-;3681:7;3708:9;:18;3718:7;3708:18;;;;;;;;;;;;;;;;3701:25;;3607:127;;;:::o;5516:194:2:-;819:5:5;;;;;;;;;;;805:19;;:10;:19;;;797:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;5600:9:2::1;5595:108;5615:8;:15;5613:1;:17;5595:108;;;5687:4;5653:18;:31;5672:8;5681:1;5672:11;;;;;;;;:::i;:::-;;;;;;;;5653:31;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;5632:3;;;;;:::i;:::-;;;;5595:108;;;;5516:194:::0;:::o;8914:158::-;8985:46;9001:7;9010:12;:10;:12::i;:::-;9024:6;8985:15;:46::i;:::-;9042:22;9048:7;9057:6;9042:5;:22::i;:::-;8914:158;;:::o;2579:55::-;478:6;2615:8;:19;;;;:::i;:::-;2579:55;:::o;2027:87::-;2072:42;2027:87;:::o;1585:83::-;1626:42;1585:83;:::o;5350:158::-;819:5:5;;;;;;;;;;;805:19;;:10;:19;;;797:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;5491:9:2::1;5454:26;5481:6;5454:34;;;;;;;;:::i;:::-;;;;;;;;;:46;;;;5350:158:::0;;:::o;1542:83:5:-;1585:7;1612:5;;;;;;;;;;;1605:12;;1542:83;:::o;2895:60:2:-;478:6;2936:8;:19;;;;:::i;:::-;2895:60;:::o;2535:104:1:-;2591:13;2624:7;2617:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2535:104;:::o;1675:81:2:-;1714:42;1675:81;:::o;1127:150::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1763:81::-;1802:42;1763:81;:::o;6893:436:1:-;6986:4;7003:13;7019:12;:10;:12::i;:::-;7003:28;;7042:24;7069:25;7079:5;7086:7;7069:9;:25::i;:::-;7042:52;;7133:15;7113:16;:35;;7105:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;7226:60;7235:5;7242:7;7270:15;7251:16;:34;7226:8;:60::i;:::-;7317:4;7310:11;;;;6893:436;;;;:::o;1212:236:5:-;819:5;;;;;;;;;;;805:19;;:10;:19;;;797:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;1314:1:::1;1294:22;;:8;:22;;;;1286:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;1404:8;1388:25;;1397:5;;;;;;;;;;;1388:25;;;;;;;;;;;;1432:8;1424:5;;:16;;;;;;;;;;;;;;;;;;1212:236:::0;:::o;3940:193:1:-;4019:4;4036:13;4052:12;:10;:12::i;:::-;4036:28;;4075;4085:5;4092:2;4096:6;4075:9;:28::i;:::-;4121:4;4114:11;;;3940:193;;;;:::o;2827:61:2:-;478:6;2869:8;:19;;;;:::i;:::-;2827:61;:::o;2765:55::-;478:6;2801:8;:19;;;;:::i;:::-;2765:55;:::o;2216:71::-;;;;;;;;;;;;;:::o;1313:83::-;1354:42;1313:83;:::o;5057:145::-;819:5:5;;;;;;;;;;;805:19;;:10;:19;;;797:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;5185:9:2::1;5153:21;5175:6;5153:29;;;;;;;:::i;:::-;;;;:41;;;;;;;;;;;;;;;;;;5057:145:::0;;:::o;2516:56::-;478:6;2554:7;:18;;;;:::i;:::-;2516:56;:::o;4196:151:1:-;4285:7;4312:11;:18;4324:5;4312:18;;;;;;;;;;;;;;;:27;4331:7;4312:27;;;;;;;;;;;;;;;;4305:34;;4196:151;;;;:::o;2450:59:2:-;478:6;2490:8;:19;;;;:::i;:::-;2450:59;:::o;6047:193::-;819:5:5;;;;;;;;;;;805:19;;:10;:19;;;797:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;6137:9:2::1;6132:101;6152:8;:15;6150:1;:17;6132:101;;;6216:5;6190:10;:23;6201:8;6210:1;6201:11;;;;;;;;:::i;:::-;;;;;;;;6190:23;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;6169:3;;;;;:::i;:::-;;;;6132:101;;;;6047:193:::0;:::o;9689:72::-;819:5:5;;;;;;;;;;;805:19;;:10;:19;;;797:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;9745:8:2::1;:6;:8::i;:::-;9689:72::o:0;1851:81::-;1890:42;1851:81;:::o;301:40::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;12251:125:1:-;;;;:::o;656:98:0:-;709:7;736:10;729:17;;656:98;:::o;10527:380:1:-;10680:1;10663:19;;:5;:19;;;;10655:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10761:1;10742:21;;:7;:21;;;;10734:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10845:6;10815:11;:18;10827:5;10815:18;;;;;;;;;;;;;;;:27;10834:7;10815:27;;;;;;;;;;;;;;;:36;;;;10883:7;10867:32;;10876:5;10867:32;;;10892:6;10867:32;;;;;;:::i;:::-;;;;;;;;10527:380;;;:::o;11198:453::-;11333:24;11360:25;11370:5;11377:7;11360:9;:25::i;:::-;11333:52;;11420:17;11400:16;:37;11396:248;;11482:6;11462:16;:26;;11454:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11566:51;11575:5;11582:7;11610:6;11591:16;:25;11566:8;:51::i;:::-;11396:248;11322:329;11198:453;;;:::o;6981:1227:2:-;7122:1;7113:6;:10;7105:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7184:38;7205:4;7211:2;7215:6;7184:20;:38::i;:::-;7233:19;7255:9;:15;7265:4;7255:15;;;;;;;;;;;;;;;;7233:37;;7304:6;7289:11;:21;;7281:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;7373:10;:16;7384:4;7373:16;;;;;;;;;;;;;;;;;;;;;;;;;7372:17;:36;;;;;7394:10;:14;7405:2;7394:14;;;;;;;;;;;;;;;;;;;;;;;;;7393:15;7372:36;7364:91;;;;;;;;;;;;:::i;:::-;;;;;;;;;7563:18;:24;7582:4;7563:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;7591:18;:22;7610:2;7591:22;;;;;;;;;;;;;;;;;;;;;;;;;7563:50;7560:508;;;7646:6;7629:9;:13;7639:2;7629:13;;;;;;;;;;;;;;;;:23;;;;;;;:::i;:::-;;;;;;;;7687:2;7672:26;;7681:4;7672:26;;;7691:6;7672:26;;;;;;:::i;:::-;;;;;;;;7560:508;;;7729:20;7752:24;7769:6;7752:16;:24::i;:::-;7729:47;;7807:1;7794:12;:14;7791:156;;;7854:12;7828:9;:22;7838:11;;;;;;;;;;;7828:22;;;;;;;;;;;;;;;;:38;;;;;;;:::i;:::-;;;;;;;;7905:11;;;;;;;;;;;7890:41;;7899:4;7890:41;;;7918:12;7890:41;;;;;;:::i;:::-;;;;;;;;7791:156;7985:12;7978:6;:19;;;;:::i;:::-;7961:9;:13;7971:2;7961:13;;;;;;;;;;;;;;;;:36;;;;;;;:::i;:::-;;;;;;;;8032:2;8017:39;;8026:4;8017:39;;;8043:12;8036:6;:19;;;;:::i;:::-;8017:39;;;;;;:::i;:::-;;;;;;;;7714:354;7560:508;8135:6;8123:11;:18;8105:9;:15;8115:4;8105:15;;;;;;;;;;;;;;;:36;;;;8163:37;8183:4;8189:2;8193:6;8163:19;:37::i;:::-;7094:1114;6981:1227;;;:::o;2511:120:6:-;1520:16;:14;:16::i;:::-;2580:5:::1;2570:7;;:15;;;;;;;;;;;;;;;;;;2601:22;2610:12;:10;:12::i;:::-;2601:22;;;;;;:::i;:::-;;;;;;;;2511:120::o:0;9498:591:1:-;9601:1;9582:21;;:7;:21;;;;9574:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9654:49;9675:7;9692:1;9696:6;9654:20;:49::i;:::-;9716:22;9741:9;:18;9751:7;9741:18;;;;;;;;;;;;;;;;9716:43;;9796:6;9778:14;:24;;9770:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;9915:6;9898:14;:23;9877:9;:18;9887:7;9877:18;;;;;;;;;;;;;;;:44;;;;9959:6;9943:12;;:22;;;;;;;:::i;:::-;;;;;;;;10009:1;9983:37;;9992:7;9983:37;;;10013:6;9983:37;;;;;;:::i;:::-;;;;;;;;10033:48;10053:7;10070:1;10074:6;10033:19;:48::i;:::-;9563:526;9498:591;;:::o;2252:118:6:-;1261:19;:17;:19::i;:::-;2322:4:::1;2312:7;;:14;;;;;;;;;;;;;;;;;;2342:20;2349:12;:10;:12::i;:::-;2342:20;;;;;;:::i;:::-;;;;;;;;2252:118::o:0;9409:272:2:-;9552:44;9579:4;9585:2;9589:6;9552:26;:44::i;:::-;9618:8;:6;:8::i;:::-;9617:9;9609:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9409:272;;;:::o;6562:411::-;6625:7;6644:20;6667:1;6644:24;;6684:9;6679:257;6699:15;:22;;;;6697:1;:24;6679:257;;;6756:15;6772:1;6756:18;;;;;;;;:::i;:::-;;;;;;;;;;6746:6;:28;6743:182;;428:5;6817:26;6844:1;6817:29;;;;;;;;:::i;:::-;;;;;;;;;;6810:6;:36;;;;:::i;:::-;6809:56;;;;:::i;:::-;6794:71;;6743:182;;;6904:5;;6743:182;6723:3;;;;;:::i;:::-;;;;6679:257;;;;6953:12;6946:19;;;6562:411;;;:::o;12980:124:1:-;;;;:::o;2000:108:6:-;2067:8;:6;:8::i;:::-;2059:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;2000:108::o;1815:::-;1886:8;:6;:8::i;:::-;1885:9;1877:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;1815:108::o;24:722:7:-;120:5;145:81;161:64;218:6;161:64;:::i;:::-;145:81;:::i;:::-;136:90;;246:5;275:6;268:5;261:21;309:4;302:5;298:16;291:23;;335:6;385:3;377:4;369:6;365:17;360:3;356:27;353:36;350:2;;;404:79;;:::i;:::-;350:2;517:1;502:238;527:6;524:1;521:13;502:238;;;595:3;624:37;657:3;645:10;624:37;:::i;:::-;619:3;612:50;691:4;686:3;682:14;675:21;;725:4;720:3;716:14;709:21;;562:178;549:1;546;542:9;537:14;;502:238;;;506:14;126:620;;;;;;;:::o;752:139::-;798:5;836:6;823:20;814:29;;852:33;879:5;852:33;:::i;:::-;804:87;;;;:::o;914:370::-;985:5;1034:3;1027:4;1019:6;1015:17;1011:27;1001:2;;1042:79;;:::i;:::-;1001:2;1159:6;1146:20;1184:94;1274:3;1266:6;1259:4;1251:6;1247:17;1184:94;:::i;:::-;1175:103;;991:293;;;;;:::o;1290:139::-;1336:5;1374:6;1361:20;1352:29;;1390:33;1417:5;1390:33;:::i;:::-;1342:87;;;;:::o;1435:329::-;1494:6;1543:2;1531:9;1522:7;1518:23;1514:32;1511:2;;;1549:79;;:::i;:::-;1511:2;1669:1;1694:53;1739:7;1730:6;1719:9;1715:22;1694:53;:::i;:::-;1684:63;;1640:117;1501:263;;;;:::o;1770:474::-;1838:6;1846;1895:2;1883:9;1874:7;1870:23;1866:32;1863:2;;;1901:79;;:::i;:::-;1863:2;2021:1;2046:53;2091:7;2082:6;2071:9;2067:22;2046:53;:::i;:::-;2036:63;;1992:117;2148:2;2174:53;2219:7;2210:6;2199:9;2195:22;2174:53;:::i;:::-;2164:63;;2119:118;1853:391;;;;;:::o;2250:619::-;2327:6;2335;2343;2392:2;2380:9;2371:7;2367:23;2363:32;2360:2;;;2398:79;;:::i;:::-;2360:2;2518:1;2543:53;2588:7;2579:6;2568:9;2564:22;2543:53;:::i;:::-;2533:63;;2489:117;2645:2;2671:53;2716:7;2707:6;2696:9;2692:22;2671:53;:::i;:::-;2661:63;;2616:118;2773:2;2799:53;2844:7;2835:6;2824:9;2820:22;2799:53;:::i;:::-;2789:63;;2744:118;2350:519;;;;;:::o;2875:474::-;2943:6;2951;3000:2;2988:9;2979:7;2975:23;2971:32;2968:2;;;3006:79;;:::i;:::-;2968:2;3126:1;3151:53;3196:7;3187:6;3176:9;3172:22;3151:53;:::i;:::-;3141:63;;3097:117;3253:2;3279:53;3324:7;3315:6;3304:9;3300:22;3279:53;:::i;:::-;3269:63;;3224:118;2958:391;;;;;:::o;3355:539::-;3439:6;3488:2;3476:9;3467:7;3463:23;3459:32;3456:2;;;3494:79;;:::i;:::-;3456:2;3642:1;3631:9;3627:17;3614:31;3672:18;3664:6;3661:30;3658:2;;;3694:79;;:::i;:::-;3658:2;3799:78;3869:7;3860:6;3849:9;3845:22;3799:78;:::i;:::-;3789:88;;3585:302;3446:448;;;;:::o;3900:329::-;3959:6;4008:2;3996:9;3987:7;3983:23;3979:32;3976:2;;;4014:79;;:::i;:::-;3976:2;4134:1;4159:53;4204:7;4195:6;4184:9;4180:22;4159:53;:::i;:::-;4149:63;;4105:117;3966:263;;;;:::o;4235:474::-;4303:6;4311;4360:2;4348:9;4339:7;4335:23;4331:32;4328:2;;;4366:79;;:::i;:::-;4328:2;4486:1;4511:53;4556:7;4547:6;4536:9;4532:22;4511:53;:::i;:::-;4501:63;;4457:117;4613:2;4639:53;4684:7;4675:6;4664:9;4660:22;4639:53;:::i;:::-;4629:63;;4584:118;4318:391;;;;;:::o;4715:474::-;4783:6;4791;4840:2;4828:9;4819:7;4815:23;4811:32;4808:2;;;4846:79;;:::i;:::-;4808:2;4966:1;4991:53;5036:7;5027:6;5016:9;5012:22;4991:53;:::i;:::-;4981:63;;4937:117;5093:2;5119:53;5164:7;5155:6;5144:9;5140:22;5119:53;:::i;:::-;5109:63;;5064:118;4798:391;;;;;:::o;5195:118::-;5282:24;5300:5;5282:24;:::i;:::-;5277:3;5270:37;5260:53;;:::o;5319:109::-;5400:21;5415:5;5400:21;:::i;:::-;5395:3;5388:34;5378:50;;:::o;5434:364::-;5522:3;5550:39;5583:5;5550:39;:::i;:::-;5605:71;5669:6;5664:3;5605:71;:::i;:::-;5598:78;;5685:52;5730:6;5725:3;5718:4;5711:5;5707:16;5685:52;:::i;:::-;5762:29;5784:6;5762:29;:::i;:::-;5757:3;5753:39;5746:46;;5526:272;;;;;:::o;5804:366::-;5946:3;5967:67;6031:2;6026:3;5967:67;:::i;:::-;5960:74;;6043:93;6132:3;6043:93;:::i;:::-;6161:2;6156:3;6152:12;6145:19;;5950:220;;;:::o;6176:366::-;6318:3;6339:67;6403:2;6398:3;6339:67;:::i;:::-;6332:74;;6415:93;6504:3;6415:93;:::i;:::-;6533:2;6528:3;6524:12;6517:19;;6322:220;;;:::o;6548:366::-;6690:3;6711:67;6775:2;6770:3;6711:67;:::i;:::-;6704:74;;6787:93;6876:3;6787:93;:::i;:::-;6905:2;6900:3;6896:12;6889:19;;6694:220;;;:::o;6920:366::-;7062:3;7083:67;7147:2;7142:3;7083:67;:::i;:::-;7076:74;;7159:93;7248:3;7159:93;:::i;:::-;7277:2;7272:3;7268:12;7261:19;;7066:220;;;:::o;7292:366::-;7434:3;7455:67;7519:2;7514:3;7455:67;:::i;:::-;7448:74;;7531:93;7620:3;7531:93;:::i;:::-;7649:2;7644:3;7640:12;7633:19;;7438:220;;;:::o;7664:366::-;7806:3;7827:67;7891:2;7886:3;7827:67;:::i;:::-;7820:74;;7903:93;7992:3;7903:93;:::i;:::-;8021:2;8016:3;8012:12;8005:19;;7810:220;;;:::o;8036:366::-;8178:3;8199:67;8263:2;8258:3;8199:67;:::i;:::-;8192:74;;8275:93;8364:3;8275:93;:::i;:::-;8393:2;8388:3;8384:12;8377:19;;8182:220;;;:::o;8408:366::-;8550:3;8571:67;8635:2;8630:3;8571:67;:::i;:::-;8564:74;;8647:93;8736:3;8647:93;:::i;:::-;8765:2;8760:3;8756:12;8749:19;;8554:220;;;:::o;8780:366::-;8922:3;8943:67;9007:2;9002:3;8943:67;:::i;:::-;8936:74;;9019:93;9108:3;9019:93;:::i;:::-;9137:2;9132:3;9128:12;9121:19;;8926:220;;;:::o;9152:366::-;9294:3;9315:67;9379:2;9374:3;9315:67;:::i;:::-;9308:74;;9391:93;9480:3;9391:93;:::i;:::-;9509:2;9504:3;9500:12;9493:19;;9298:220;;;:::o;9524:366::-;9666:3;9687:67;9751:2;9746:3;9687:67;:::i;:::-;9680:74;;9763:93;9852:3;9763:93;:::i;:::-;9881:2;9876:3;9872:12;9865:19;;9670:220;;;:::o;9896:366::-;10038:3;10059:67;10123:2;10118:3;10059:67;:::i;:::-;10052:74;;10135:93;10224:3;10135:93;:::i;:::-;10253:2;10248:3;10244:12;10237:19;;10042:220;;;:::o;10268:366::-;10410:3;10431:67;10495:2;10490:3;10431:67;:::i;:::-;10424:74;;10507:93;10596:3;10507:93;:::i;:::-;10625:2;10620:3;10616:12;10609:19;;10414:220;;;:::o;10640:366::-;10782:3;10803:67;10867:2;10862:3;10803:67;:::i;:::-;10796:74;;10879:93;10968:3;10879:93;:::i;:::-;10997:2;10992:3;10988:12;10981:19;;10786:220;;;:::o;11012:118::-;11099:24;11117:5;11099:24;:::i;:::-;11094:3;11087:37;11077:53;;:::o;11136:112::-;11219:22;11235:5;11219:22;:::i;:::-;11214:3;11207:35;11197:51;;:::o;11254:222::-;11347:4;11385:2;11374:9;11370:18;11362:26;;11398:71;11466:1;11455:9;11451:17;11442:6;11398:71;:::i;:::-;11352:124;;;;:::o;11482:210::-;11569:4;11607:2;11596:9;11592:18;11584:26;;11620:65;11682:1;11671:9;11667:17;11658:6;11620:65;:::i;:::-;11574:118;;;;:::o;11698:313::-;11811:4;11849:2;11838:9;11834:18;11826:26;;11898:9;11892:4;11888:20;11884:1;11873:9;11869:17;11862:47;11926:78;11999:4;11990:6;11926:78;:::i;:::-;11918:86;;11816:195;;;;:::o;12017:419::-;12183:4;12221:2;12210:9;12206:18;12198:26;;12270:9;12264:4;12260:20;12256:1;12245:9;12241:17;12234:47;12298:131;12424:4;12298:131;:::i;:::-;12290:139;;12188:248;;;:::o;12442:419::-;12608:4;12646:2;12635:9;12631:18;12623:26;;12695:9;12689:4;12685:20;12681:1;12670:9;12666:17;12659:47;12723:131;12849:4;12723:131;:::i;:::-;12715:139;;12613:248;;;:::o;12867:419::-;13033:4;13071:2;13060:9;13056:18;13048:26;;13120:9;13114:4;13110:20;13106:1;13095:9;13091:17;13084:47;13148:131;13274:4;13148:131;:::i;:::-;13140:139;;13038:248;;;:::o;13292:419::-;13458:4;13496:2;13485:9;13481:18;13473:26;;13545:9;13539:4;13535:20;13531:1;13520:9;13516:17;13509:47;13573:131;13699:4;13573:131;:::i;:::-;13565:139;;13463:248;;;:::o;13717:419::-;13883:4;13921:2;13910:9;13906:18;13898:26;;13970:9;13964:4;13960:20;13956:1;13945:9;13941:17;13934:47;13998:131;14124:4;13998:131;:::i;:::-;13990:139;;13888:248;;;:::o;14142:419::-;14308:4;14346:2;14335:9;14331:18;14323:26;;14395:9;14389:4;14385:20;14381:1;14370:9;14366:17;14359:47;14423:131;14549:4;14423:131;:::i;:::-;14415:139;;14313:248;;;:::o;14567:419::-;14733:4;14771:2;14760:9;14756:18;14748:26;;14820:9;14814:4;14810:20;14806:1;14795:9;14791:17;14784:47;14848:131;14974:4;14848:131;:::i;:::-;14840:139;;14738:248;;;:::o;14992:419::-;15158:4;15196:2;15185:9;15181:18;15173:26;;15245:9;15239:4;15235:20;15231:1;15220:9;15216:17;15209:47;15273:131;15399:4;15273:131;:::i;:::-;15265:139;;15163:248;;;:::o;15417:419::-;15583:4;15621:2;15610:9;15606:18;15598:26;;15670:9;15664:4;15660:20;15656:1;15645:9;15641:17;15634:47;15698:131;15824:4;15698:131;:::i;:::-;15690:139;;15588:248;;;:::o;15842:419::-;16008:4;16046:2;16035:9;16031:18;16023:26;;16095:9;16089:4;16085:20;16081:1;16070:9;16066:17;16059:47;16123:131;16249:4;16123:131;:::i;:::-;16115:139;;16013:248;;;:::o;16267:419::-;16433:4;16471:2;16460:9;16456:18;16448:26;;16520:9;16514:4;16510:20;16506:1;16495:9;16491:17;16484:47;16548:131;16674:4;16548:131;:::i;:::-;16540:139;;16438:248;;;:::o;16692:419::-;16858:4;16896:2;16885:9;16881:18;16873:26;;16945:9;16939:4;16935:20;16931:1;16920:9;16916:17;16909:47;16973:131;17099:4;16973:131;:::i;:::-;16965:139;;16863:248;;;:::o;17117:419::-;17283:4;17321:2;17310:9;17306:18;17298:26;;17370:9;17364:4;17360:20;17356:1;17345:9;17341:17;17334:47;17398:131;17524:4;17398:131;:::i;:::-;17390:139;;17288:248;;;:::o;17542:419::-;17708:4;17746:2;17735:9;17731:18;17723:26;;17795:9;17789:4;17785:20;17781:1;17770:9;17766:17;17759:47;17823:131;17949:4;17823:131;:::i;:::-;17815:139;;17713:248;;;:::o;17967:222::-;18060:4;18098:2;18087:9;18083:18;18075:26;;18111:71;18179:1;18168:9;18164:17;18155:6;18111:71;:::i;:::-;18065:124;;;;:::o;18195:214::-;18284:4;18322:2;18311:9;18307:18;18299:26;;18335:67;18399:1;18388:9;18384:17;18375:6;18335:67;:::i;:::-;18289:120;;;;:::o;18415:129::-;18449:6;18476:20;;:::i;:::-;18466:30;;18505:33;18533:4;18525:6;18505:33;:::i;:::-;18456:88;;;:::o;18550:75::-;18583:6;18616:2;18610:9;18600:19;;18590:35;:::o;18631:311::-;18708:4;18798:18;18790:6;18787:30;18784:2;;;18820:18;;:::i;:::-;18784:2;18870:4;18862:6;18858:17;18850:25;;18930:4;18924;18920:15;18912:23;;18713:229;;;:::o;18948:99::-;19000:6;19034:5;19028:12;19018:22;;19007:40;;;:::o;19053:169::-;19137:11;19171:6;19166:3;19159:19;19211:4;19206:3;19202:14;19187:29;;19149:73;;;;:::o;19228:305::-;19268:3;19287:20;19305:1;19287:20;:::i;:::-;19282:25;;19321:20;19339:1;19321:20;:::i;:::-;19316:25;;19475:1;19407:66;19403:74;19400:1;19397:81;19394:2;;;19481:18;;:::i;:::-;19394:2;19525:1;19522;19518:9;19511:16;;19272:261;;;;:::o;19539:185::-;19579:1;19596:20;19614:1;19596:20;:::i;:::-;19591:25;;19630:20;19648:1;19630:20;:::i;:::-;19625:25;;19669:1;19659:2;;19674:18;;:::i;:::-;19659:2;19716:1;19713;19709:9;19704:14;;19581:143;;;;:::o;19730:348::-;19770:7;19793:20;19811:1;19793:20;:::i;:::-;19788:25;;19827:20;19845:1;19827:20;:::i;:::-;19822:25;;20015:1;19947:66;19943:74;19940:1;19937:81;19932:1;19925:9;19918:17;19914:105;19911:2;;;20022:18;;:::i;:::-;19911:2;20070:1;20067;20063:9;20052:20;;19778:300;;;;:::o;20084:191::-;20124:4;20144:20;20162:1;20144:20;:::i;:::-;20139:25;;20178:20;20196:1;20178:20;:::i;:::-;20173:25;;20217:1;20214;20211:8;20208:2;;;20222:18;;:::i;:::-;20208:2;20267:1;20264;20260:9;20252:17;;20129:146;;;;:::o;20281:96::-;20318:7;20347:24;20365:5;20347:24;:::i;:::-;20336:35;;20326:51;;;:::o;20383:90::-;20417:7;20460:5;20453:13;20446:21;20435:32;;20425:48;;;:::o;20479:126::-;20516:7;20556:42;20549:5;20545:54;20534:65;;20524:81;;;:::o;20611:77::-;20648:7;20677:5;20666:16;;20656:32;;;:::o;20694:86::-;20729:7;20769:4;20762:5;20758:16;20747:27;;20737:43;;;:::o;20786:307::-;20854:1;20864:113;20878:6;20875:1;20872:13;20864:113;;;20963:1;20958:3;20954:11;20948:18;20944:1;20939:3;20935:11;20928:39;20900:2;20897:1;20893:10;20888:15;;20864:113;;;20995:6;20992:1;20989:13;20986:2;;;21075:1;21066:6;21061:3;21057:16;21050:27;20986:2;20835:258;;;;:::o;21099:320::-;21143:6;21180:1;21174:4;21170:12;21160:22;;21227:1;21221:4;21217:12;21248:18;21238:2;;21304:4;21296:6;21292:17;21282:27;;21238:2;21366;21358:6;21355:14;21335:18;21332:38;21329:2;;;21385:18;;:::i;:::-;21329:2;21150:269;;;;:::o;21425:281::-;21508:27;21530:4;21508:27;:::i;:::-;21500:6;21496:40;21638:6;21626:10;21623:22;21602:18;21590:10;21587:34;21584:62;21581:2;;;21649:18;;:::i;:::-;21581:2;21689:10;21685:2;21678:22;21468:238;;;:::o;21712:233::-;21751:3;21774:24;21792:5;21774:24;:::i;:::-;21765:33;;21820:66;21813:5;21810:77;21807:2;;;21890:18;;:::i;:::-;21807:2;21937:1;21930:5;21926:13;21919:20;;21755:190;;;:::o;21951:180::-;21999:77;21996:1;21989:88;22096:4;22093:1;22086:15;22120:4;22117:1;22110:15;22137:180;22185:77;22182:1;22175:88;22282:4;22279:1;22272:15;22306:4;22303:1;22296:15;22323:180;22371:77;22368:1;22361:88;22468:4;22465:1;22458:15;22492:4;22489:1;22482:15;22509:180;22557:77;22554:1;22547:88;22654:4;22651:1;22644:15;22678:4;22675:1;22668:15;22695:180;22743:77;22740:1;22733:88;22840:4;22837:1;22830:15;22864:4;22861:1;22854:15;22881:117;22990:1;22987;22980:12;23004:117;23113:1;23110;23103:12;23127:117;23236:1;23233;23226:12;23250:117;23359:1;23356;23349:12;23373:102;23414:6;23465:2;23461:7;23456:2;23449:5;23445:14;23441:28;23431:38;;23421:54;;;:::o;23481:170::-;23621:22;23617:1;23609:6;23605:14;23598:46;23587:64;:::o;23657:229::-;23797:34;23793:1;23785:6;23781:14;23774:58;23866:12;23861:2;23853:6;23849:15;23842:37;23763:123;:::o;23892:221::-;24032:34;24028:1;24020:6;24016:14;24009:58;24101:4;24096:2;24088:6;24084:15;24077:29;23998:115;:::o;24119:221::-;24259:34;24255:1;24247:6;24243:14;24236:58;24328:4;24323:2;24315:6;24311:15;24304:29;24225:115;:::o;24346:169::-;24486:21;24482:1;24474:6;24470:14;24463:45;24452:63;:::o;24521:179::-;24661:31;24657:1;24649:6;24645:14;24638:55;24627:73;:::o;24706:225::-;24846:34;24842:1;24834:6;24830:14;24823:58;24915:8;24910:2;24902:6;24898:15;24891:33;24812:119;:::o;24937:166::-;25077:18;25073:1;25065:6;25061:14;25054:42;25043:60;:::o;25109:231::-;25249:34;25245:1;25237:6;25233:14;25226:58;25318:14;25313:2;25305:6;25301:15;25294:39;25215:125;:::o;25346:220::-;25486:34;25482:1;25474:6;25470:14;25463:58;25555:3;25550:2;25542:6;25538:15;25531:28;25452:114;:::o;25572:223::-;25712:34;25708:1;25700:6;25696:14;25689:58;25781:6;25776:2;25768:6;25764:15;25757:31;25678:117;:::o;25801:232::-;25941:34;25937:1;25929:6;25925:14;25918:58;26010:15;26005:2;25997:6;25993:15;25986:40;25907:126;:::o;26039:224::-;26179:34;26175:1;26167:6;26163:14;26156:58;26248:7;26243:2;26235:6;26231:15;26224:32;26145:118;:::o;26269:229::-;26409:34;26405:1;26397:6;26393:14;26386:58;26478:12;26473:2;26465:6;26461:15;26454:37;26375:123;:::o;26504:122::-;26577:24;26595:5;26577:24;:::i;:::-;26570:5;26567:35;26557:2;;26616:1;26613;26606:12;26557:2;26547:79;:::o;26632:122::-;26705:24;26723:5;26705:24;:::i;:::-;26698:5;26695:35;26685:2;;26744:1;26741;26734:12;26685:2;26675:79;:::o
Swarm Source
ipfs://cfc72e028c4a9396dfa86335d2e16744304bad98dd04af4778327d4d9a27b145
Age | Block | Fee Address | BC Fee Address | Voting Power | Jailed | Incoming |
---|
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.