Feature Tip: Add private address tag to any address under My Name Tag !
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 184 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 21658953 | 7 days ago | IN | 0 ETH | 0.00170609 | ||||
Approve | 21605541 | 14 days ago | IN | 0 ETH | 0.00016946 | ||||
Approve | 21547891 | 22 days ago | IN | 0 ETH | 0.00029984 | ||||
Approve | 21428311 | 39 days ago | IN | 0 ETH | 0.00044782 | ||||
Approve | 21419370 | 40 days ago | IN | 0 ETH | 0.00054996 | ||||
Approve | 21394234 | 44 days ago | IN | 0 ETH | 0.00093717 | ||||
Approve | 21394230 | 44 days ago | IN | 0 ETH | 0.00073751 | ||||
Approve | 21378962 | 46 days ago | IN | 0 ETH | 0.0007196 | ||||
Approve | 21350950 | 50 days ago | IN | 0 ETH | 0.00060569 | ||||
Approve | 21350937 | 50 days ago | IN | 0 ETH | 0.00058722 | ||||
Approve | 21350918 | 50 days ago | IN | 0 ETH | 0.00059742 | ||||
Transfer | 21347260 | 50 days ago | IN | 0 ETH | 0.0009989 | ||||
Transfer | 21305171 | 56 days ago | IN | 0 ETH | 0.00026741 | ||||
Transfer | 21195661 | 71 days ago | IN | 0 ETH | 0.00442794 | ||||
Transfer | 21191643 | 72 days ago | IN | 0 ETH | 0.0006858 | ||||
Approve | 21184720 | 73 days ago | IN | 0 ETH | 0.00243043 | ||||
Approve | 21175299 | 74 days ago | IN | 0 ETH | 0.00136822 | ||||
Approve | 21154589 | 77 days ago | IN | 0 ETH | 0.00032344 | ||||
Approve | 21154445 | 77 days ago | IN | 0 ETH | 0.00052419 | ||||
Transfer | 21154154 | 77 days ago | IN | 0 ETH | 0.00048624 | ||||
Approve | 21154135 | 77 days ago | IN | 0 ETH | 0.00029142 | ||||
Approve | 21154130 | 77 days ago | IN | 0 ETH | 0.00047021 | ||||
Transfer | 21153740 | 77 days ago | IN | 0 ETH | 0.00065976 | ||||
Approve | 21143441 | 79 days ago | IN | 0 ETH | 0.00130031 | ||||
Transfer | 21143425 | 79 days ago | IN | 0 ETH | 0.00085821 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
IamJoeToken
Compiler Version
v0.8.18+commit.87f61d96
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-11-02 */ /** We are all Joes. Website: https://boonamai.com Twitter: https://twitter.com/Boonamai_web3 Telegram: https://t.me/boonamai Discord: https://discord.com/invite/Dw4aFdjsHg **/ // SPDX-License-Identifier: Unlicensed pragma solidity 0.8.18; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } 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 ); } contract Ownable is Context { address private _owner; address private _previousOwner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function transferOwnership(address newOwner) public onlyOwner { _transferOwnership(newOwner); } function _transferOwnership(address newOwner) internal { require( newOwner != address(0), "Ownable: new owner is the zero address" ); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); } contract IamJoeToken is Context, IERC20, Ownable { uint256 private constant _totalSupply = 1_000_000_000e18; uint256 private constant minSwap = 100_000e18; uint256 private constant oneMilly = 1_000_000e18; uint8 private constant _decimals = 18; IUniswapV2Router02 immutable uniswapV2Router; address immutable uniswapV2Pair; address immutable WETH; address payable immutable marketingWallet; uint256 public buyTax; uint256 public sellTax; uint8 private launch; uint8 private inSwapAndLiquify; uint256 private launchBlock; string private constant _name = "I am Joe"; string private constant _symbol = "JOE"; mapping(address => uint256) private _balance; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _ogJoes; constructor() { uniswapV2Router = IUniswapV2Router02( 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D ); WETH = uniswapV2Router.WETH(); buyTax = 0; sellTax = 10; uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair( address(this), WETH ); marketingWallet = payable(0xf7227f0A2fccB3f2981B08Ae6A7efAb9d182498E); _balance[msg.sender] = _totalSupply; _ogJoes[marketingWallet] = true; _ogJoes[msg.sender] = true; _ogJoes[address(this)] = true; _allowances[address(this)][address(uniswapV2Router)] = type(uint256) .max; _allowances[msg.sender][address(uniswapV2Router)] = type(uint256).max; _allowances[marketingWallet][address(uniswapV2Router)] = type(uint256) .max; emit Transfer(address(0), _msgSender(), _totalSupply); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view override returns (uint256) { return _balance[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public override returns (bool) { _transfer(sender, recipient, amount); _approve( sender, _msgSender(), _allowances[sender][_msgSender()] - amount ); return true; } function _approve( address owner, address spender, uint256 amount ) private { 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); } function openTrading() external onlyOwner { launch = 1; launchBlock = block.number; } function addJoe(address wallet) external onlyOwner { _ogJoes[wallet] = true; } function removeJoe(address wallet) external onlyOwner { _ogJoes[wallet] = false; } function addJoes(address[] calldata wallets) external onlyOwner { for(uint i = 0; i < wallets.length; i++) { _ogJoes[wallets[i]] = true; } } function changeTax(uint256 newBuyTax, uint256 newSellTax) external onlyOwner { buyTax = newBuyTax; sellTax = newSellTax; } function _transfer( address from, address to, uint256 amount ) private { require(from != address(0), "ERC20: transfer from the zero address"); require(amount > 1e9, "Min transfer amt"); uint256 _tax; if (_ogJoes[from] || _ogJoes[to]) { _tax = 0; } else { require( launch != 0, "Launch" ); if (inSwapAndLiquify == 1) { //No tax transfer _balance[from] -= amount; _balance[to] += amount; emit Transfer(from, to, amount); return; } if (from == uniswapV2Pair) { _tax = getTax(true); } else if (to == uniswapV2Pair) { uint256 tokensToSwap = _balance[address(this)]; if (tokensToSwap > minSwap && inSwapAndLiquify == 0) { if (tokensToSwap > oneMilly) { tokensToSwap = oneMilly; } inSwapAndLiquify = 1; address[] memory path = new address[](2); path[0] = address(this); path[1] = WETH; uniswapV2Router .swapExactTokensForETHSupportingFeeOnTransferTokens( tokensToSwap, 0, path, marketingWallet, block.timestamp ); inSwapAndLiquify = 0; } _tax = getTax(false); } else { _tax = 0; } } //Is there tax for sender|receiver? if (_tax != 0) { //Tax transfer uint256 taxTokens = (amount * _tax) / 100; uint256 transferAmount = amount - taxTokens; _balance[from] -= amount; _balance[to] += transferAmount; _balance[address(this)] += taxTokens; emit Transfer(from, address(this), taxTokens); emit Transfer(from, to, transferAmount); } else { //No tax transfer _balance[from] -= amount; _balance[to] += amount; emit Transfer(from, to, amount); } } receive() external payable {} function recoverJoes(address token) external onlyOwner { if (token == address(0)) payable(msg.sender).transfer(address(this).balance); else IERC20(token).transfer( msg.sender, IERC20(token).balanceOf(address(this)) ); } function getTax(bool isBuy) public view returns (uint256) { if(isBuy) { return launchBlock + 10 > block.number ? 90 : buyTax; } return launchBlock + 10 > block.number ? 90 : sellTax; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"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":"wallet","type":"address"}],"name":"addJoe","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"wallets","type":"address[]"}],"name":"addJoes","outputs":[],"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":"buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyTax","type":"uint256"},{"internalType":"uint256","name":"newSellTax","type":"uint256"}],"name":"changeTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"isBuy","type":"bool"}],"name":"getTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"recoverJoes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"removeJoe","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6101006040523480156200001257600080fd5b506000620000256200070360201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff168152505060805173ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000159573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200017f919062000775565b73ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff16815250506000600281905550600a60038190555060805173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000210573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000236919062000775565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060c0516040518363ffffffff1660e01b815260040162000274929190620007b8565b6020604051808303816000875af115801562000294573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002ba919062000775565b73ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff168152505073f7227f0a2fccb3f2981b08ae6a7efab9d182498e73ffffffffffffffffffffffffffffffffffffffff1660e08173ffffffffffffffffffffffffffffffffffffffff16815250506b033b2e3c9fd0803ce8000000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060016008600060e05173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600060805173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600060805173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6007600060e05173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600060805173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200068a6200070360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6b033b2e3c9fd0803ce8000000604051620006f5919062000800565b60405180910390a36200081d565b600033905090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200073d8262000710565b9050919050565b6200074f8162000730565b81146200075b57600080fd5b50565b6000815190506200076f8162000744565b92915050565b6000602082840312156200078e576200078d6200070b565b5b60006200079e848285016200075e565b91505092915050565b620007b28162000730565b82525050565b6000604082019050620007cf6000830185620007a7565b620007de6020830184620007a7565b9392505050565b6000819050919050565b620007fa81620007e5565b82525050565b6000602082019050620008176000830184620007ef565b92915050565b60805160a05160c05160e0516129236200085e60003960006117d20152600061172301526000818161151f01526115830152600061179201526129236000f3fe60806040526004361061012e5760003560e01c80638da5cb5b116100ab578063c650812b1161006f578063c650812b146103ff578063c9567bf914610428578063cc1776d31461043f578063dd62ed3e1461046a578063f2fde38b146104a7578063fd4378ec146104d057610135565b80638da5cb5b1461031a5780639036ed4d1461034557806395d89b411461036e578063a9059cbb14610399578063af612709146103d657610135565b80634f7041a5116100f25780634f7041a5146102355780636bfdd2481461026057806370a0823114610289578063715018a6146102c6578063762235f7146102dd57610135565b806306fdde031461013a578063095ea7b31461016557806318160ddd146101a257806323b872dd146101cd578063313ce5671461020a57610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f6104f9565b60405161015c9190611d57565b60405180910390f35b34801561017157600080fd5b5061018c60048036038101906101879190611e17565b610536565b6040516101999190611e72565b60405180910390f35b3480156101ae57600080fd5b506101b7610554565b6040516101c49190611e9c565b60405180910390f35b3480156101d957600080fd5b506101f460048036038101906101ef9190611eb7565b610568565b6040516102019190611e72565b60405180910390f35b34801561021657600080fd5b5061021f610620565b60405161022c9190611f26565b60405180910390f35b34801561024157600080fd5b5061024a610629565b6040516102579190611e9c565b60405180910390f35b34801561026c57600080fd5b5061028760048036038101906102829190611fa6565b61062f565b005b34801561029557600080fd5b506102b060048036038101906102ab9190611ff3565b610769565b6040516102bd9190611e9c565b60405180910390f35b3480156102d257600080fd5b506102db6107b2565b005b3480156102e957600080fd5b5061030460048036038101906102ff919061204c565b610905565b6040516103119190611e9c565b60405180910390f35b34801561032657600080fd5b5061032f61095c565b60405161033c9190612088565b60405180910390f35b34801561035157600080fd5b5061036c600480360381019061036791906120a3565b610985565b005b34801561037a57600080fd5b50610383610a2c565b6040516103909190611d57565b60405180910390f35b3480156103a557600080fd5b506103c060048036038101906103bb9190611e17565b610a69565b6040516103cd9190611e72565b60405180910390f35b3480156103e257600080fd5b506103fd60048036038101906103f89190611ff3565b610a87565b005b34801561040b57600080fd5b5061042660048036038101906104219190611ff3565b610c98565b005b34801561043457600080fd5b5061043d610d88565b005b34801561044b57600080fd5b50610454610e42565b6040516104619190611e9c565b60405180910390f35b34801561047657600080fd5b50610491600480360381019061048c91906120e3565b610e48565b60405161049e9190611e9c565b60405180910390f35b3480156104b357600080fd5b506104ce60048036038101906104c99190611ff3565b610ecf565b005b3480156104dc57600080fd5b506104f760048036038101906104f29190611ff3565b610f70565b005b60606040518060400160405280600881526020017f4920616d204a6f65000000000000000000000000000000000000000000000000815250905090565b600061054a610543611060565b8484611068565b6001905092915050565b60006b033b2e3c9fd0803ce8000000905090565b6000610575848484611231565b61061584610581611060565b84600760008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105cb611060565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106109190612152565b611068565b600190509392505050565b60006012905090565b60025481565b610637611060565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106bb906121d2565b60405180910390fd5b60005b82829050811015610764576001600860008585858181106106eb576106ea6121f2565b5b90506020020160208101906107009190611ff3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061075c90612221565b9150506106c7565b505050565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6107ba611060565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610847576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083e906121d2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600081156109345743600a60055461091d9190612269565b1161092a5760025461092d565b605a5b9050610957565b43600a6005546109449190612269565b1161095157600354610954565b605a5b90505b919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61098d611060565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a11906121d2565b60405180910390fd5b81600281905550806003819055505050565b60606040518060400160405280600381526020017f4a4f450000000000000000000000000000000000000000000000000000000000815250905090565b6000610a7d610a76611060565b8484611231565b6001905092915050565b610a8f611060565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b13906121d2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b9c573373ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015610b96573d6000803e3d6000fd5b50610c95565b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb338373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610bf29190612088565b602060405180830381865afa158015610c0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3391906122b2565b6040518363ffffffff1660e01b8152600401610c509291906122df565b6020604051808303816000875af1158015610c6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c93919061231d565b505b50565b610ca0611060565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d24906121d2565b60405180910390fd5b6001600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610d90611060565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e14906121d2565b60405180910390fd5b6001600460006101000a81548160ff021916908360ff16021790555043600581905550565b60035481565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610ed7611060565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5b906121d2565b60405180910390fd5b610f6d81611b9b565b50565b610f78611060565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611005576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ffc906121d2565b60405180910390fd5b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ce906123bc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611146576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113d9061244e565b60405180910390fd5b80600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112249190611e9c565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112a0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611297906124e0565b60405180910390fd5b633b9aca0081116112e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112dd9061254c565b60405180910390fd5b6000600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806113895750600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611397576000905061187b565b6000600460009054906101000a900460ff1660ff16036113ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e3906125b8565b60405180910390fd5b6001600460019054906101000a900460ff1660ff160361151d5781600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546114559190612152565b9250508190555081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546114ab9190612269565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161150f9190611e9c565b60405180910390a350611b96565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036115815761157a6001610905565b905061187a565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611874576000600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905069152d02c7e14af68000008111801561164357506000600460019054906101000a900460ff1660ff16145b156118625769d3c21bcecceda10000008111156116685769d3c21bcecceda100000090505b6001600460016101000a81548160ff021916908360ff1602179055506000600267ffffffffffffffff8111156116a1576116a06125d8565b5b6040519080825280602002602001820160405280156116cf5781602001602082028036833780820191505090505b50905030816000815181106116e7576116e66121f2565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000081600181518110611756576117556121f2565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac947836000847f0000000000000000000000000000000000000000000000000000000000000000426040518663ffffffff1660e01b815260040161181295949392919061275f565b600060405180830381600087803b15801561182c57600080fd5b505af1158015611840573d6000803e3d6000fd5b505050506000600460016101000a81548160ff021916908360ff160217905550505b61186c6000610905565b915050611879565b600090505b5b5b60008114611a825760006064828461189391906127b9565b61189d919061282a565b9050600081846118ad9190612152565b905083600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546118fe9190612152565b9250508190555080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546119549190612269565b9250508190555081600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546119aa9190612269565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611a0e9190611e9c565b60405180910390a38473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611a739190611e9c565b60405180910390a35050611b94565b81600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611ad19190612152565b9250508190555081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611b279190612269565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611b8b9190611e9c565b60405180910390a35b505b505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611c0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c01906128cd565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611d01578082015181840152602081019050611ce6565b60008484015250505050565b6000601f19601f8301169050919050565b6000611d2982611cc7565b611d338185611cd2565b9350611d43818560208601611ce3565b611d4c81611d0d565b840191505092915050565b60006020820190508181036000830152611d718184611d1e565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611dae82611d83565b9050919050565b611dbe81611da3565b8114611dc957600080fd5b50565b600081359050611ddb81611db5565b92915050565b6000819050919050565b611df481611de1565b8114611dff57600080fd5b50565b600081359050611e1181611deb565b92915050565b60008060408385031215611e2e57611e2d611d79565b5b6000611e3c85828601611dcc565b9250506020611e4d85828601611e02565b9150509250929050565b60008115159050919050565b611e6c81611e57565b82525050565b6000602082019050611e876000830184611e63565b92915050565b611e9681611de1565b82525050565b6000602082019050611eb16000830184611e8d565b92915050565b600080600060608486031215611ed057611ecf611d79565b5b6000611ede86828701611dcc565b9350506020611eef86828701611dcc565b9250506040611f0086828701611e02565b9150509250925092565b600060ff82169050919050565b611f2081611f0a565b82525050565b6000602082019050611f3b6000830184611f17565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112611f6657611f65611f41565b5b8235905067ffffffffffffffff811115611f8357611f82611f46565b5b602083019150836020820283011115611f9f57611f9e611f4b565b5b9250929050565b60008060208385031215611fbd57611fbc611d79565b5b600083013567ffffffffffffffff811115611fdb57611fda611d7e565b5b611fe785828601611f50565b92509250509250929050565b60006020828403121561200957612008611d79565b5b600061201784828501611dcc565b91505092915050565b61202981611e57565b811461203457600080fd5b50565b60008135905061204681612020565b92915050565b60006020828403121561206257612061611d79565b5b600061207084828501612037565b91505092915050565b61208281611da3565b82525050565b600060208201905061209d6000830184612079565b92915050565b600080604083850312156120ba576120b9611d79565b5b60006120c885828601611e02565b92505060206120d985828601611e02565b9150509250929050565b600080604083850312156120fa576120f9611d79565b5b600061210885828601611dcc565b925050602061211985828601611dcc565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061215d82611de1565b915061216883611de1565b92508282039050818111156121805761217f612123565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006121bc602083611cd2565b91506121c782612186565b602082019050919050565b600060208201905081810360008301526121eb816121af565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061222c82611de1565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361225e5761225d612123565b5b600182019050919050565b600061227482611de1565b915061227f83611de1565b925082820190508082111561229757612296612123565b5b92915050565b6000815190506122ac81611deb565b92915050565b6000602082840312156122c8576122c7611d79565b5b60006122d68482850161229d565b91505092915050565b60006040820190506122f46000830185612079565b6123016020830184611e8d565b9392505050565b60008151905061231781612020565b92915050565b60006020828403121561233357612332611d79565b5b600061234184828501612308565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006123a6602483611cd2565b91506123b18261234a565b604082019050919050565b600060208201905081810360008301526123d581612399565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612438602283611cd2565b9150612443826123dc565b604082019050919050565b600060208201905081810360008301526124678161242b565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006124ca602583611cd2565b91506124d58261246e565b604082019050919050565b600060208201905081810360008301526124f9816124bd565b9050919050565b7f4d696e207472616e7366657220616d7400000000000000000000000000000000600082015250565b6000612536601083611cd2565b915061254182612500565b602082019050919050565b6000602082019050818103600083015261256581612529565b9050919050565b7f4c61756e63680000000000000000000000000000000000000000000000000000600082015250565b60006125a2600683611cd2565b91506125ad8261256c565b602082019050919050565b600060208201905081810360008301526125d181612595565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000819050919050565b6000819050919050565b600061263661263161262c84612607565b612611565b611de1565b9050919050565b6126468161261b565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61268181611da3565b82525050565b60006126938383612678565b60208301905092915050565b6000602082019050919050565b60006126b78261264c565b6126c18185612657565b93506126cc83612668565b8060005b838110156126fd5781516126e48882612687565b97506126ef8361269f565b9250506001810190506126d0565b5085935050505092915050565b600061272561272061271b84611d83565b612611565b611d83565b9050919050565b60006127378261270a565b9050919050565b60006127498261272c565b9050919050565b6127598161273e565b82525050565b600060a0820190506127746000830188611e8d565b612781602083018761263d565b818103604083015261279381866126ac565b90506127a26060830185612750565b6127af6080830184611e8d565b9695505050505050565b60006127c482611de1565b91506127cf83611de1565b92508282026127dd81611de1565b915082820484148315176127f4576127f3612123565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061283582611de1565b915061284083611de1565b9250826128505761284f6127fb565b5b828204905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006128b7602683611cd2565b91506128c28261285b565b604082019050919050565b600060208201905081810360008301526128e6816128aa565b905091905056fea26469706673582212206953cdb1eb59ffb5d0eef73ee0d9e32b871d803c2f60081295adfaf74dc45e5e64736f6c63430008120033
Deployed Bytecode
0x60806040526004361061012e5760003560e01c80638da5cb5b116100ab578063c650812b1161006f578063c650812b146103ff578063c9567bf914610428578063cc1776d31461043f578063dd62ed3e1461046a578063f2fde38b146104a7578063fd4378ec146104d057610135565b80638da5cb5b1461031a5780639036ed4d1461034557806395d89b411461036e578063a9059cbb14610399578063af612709146103d657610135565b80634f7041a5116100f25780634f7041a5146102355780636bfdd2481461026057806370a0823114610289578063715018a6146102c6578063762235f7146102dd57610135565b806306fdde031461013a578063095ea7b31461016557806318160ddd146101a257806323b872dd146101cd578063313ce5671461020a57610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f6104f9565b60405161015c9190611d57565b60405180910390f35b34801561017157600080fd5b5061018c60048036038101906101879190611e17565b610536565b6040516101999190611e72565b60405180910390f35b3480156101ae57600080fd5b506101b7610554565b6040516101c49190611e9c565b60405180910390f35b3480156101d957600080fd5b506101f460048036038101906101ef9190611eb7565b610568565b6040516102019190611e72565b60405180910390f35b34801561021657600080fd5b5061021f610620565b60405161022c9190611f26565b60405180910390f35b34801561024157600080fd5b5061024a610629565b6040516102579190611e9c565b60405180910390f35b34801561026c57600080fd5b5061028760048036038101906102829190611fa6565b61062f565b005b34801561029557600080fd5b506102b060048036038101906102ab9190611ff3565b610769565b6040516102bd9190611e9c565b60405180910390f35b3480156102d257600080fd5b506102db6107b2565b005b3480156102e957600080fd5b5061030460048036038101906102ff919061204c565b610905565b6040516103119190611e9c565b60405180910390f35b34801561032657600080fd5b5061032f61095c565b60405161033c9190612088565b60405180910390f35b34801561035157600080fd5b5061036c600480360381019061036791906120a3565b610985565b005b34801561037a57600080fd5b50610383610a2c565b6040516103909190611d57565b60405180910390f35b3480156103a557600080fd5b506103c060048036038101906103bb9190611e17565b610a69565b6040516103cd9190611e72565b60405180910390f35b3480156103e257600080fd5b506103fd60048036038101906103f89190611ff3565b610a87565b005b34801561040b57600080fd5b5061042660048036038101906104219190611ff3565b610c98565b005b34801561043457600080fd5b5061043d610d88565b005b34801561044b57600080fd5b50610454610e42565b6040516104619190611e9c565b60405180910390f35b34801561047657600080fd5b50610491600480360381019061048c91906120e3565b610e48565b60405161049e9190611e9c565b60405180910390f35b3480156104b357600080fd5b506104ce60048036038101906104c99190611ff3565b610ecf565b005b3480156104dc57600080fd5b506104f760048036038101906104f29190611ff3565b610f70565b005b60606040518060400160405280600881526020017f4920616d204a6f65000000000000000000000000000000000000000000000000815250905090565b600061054a610543611060565b8484611068565b6001905092915050565b60006b033b2e3c9fd0803ce8000000905090565b6000610575848484611231565b61061584610581611060565b84600760008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105cb611060565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106109190612152565b611068565b600190509392505050565b60006012905090565b60025481565b610637611060565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106bb906121d2565b60405180910390fd5b60005b82829050811015610764576001600860008585858181106106eb576106ea6121f2565b5b90506020020160208101906107009190611ff3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061075c90612221565b9150506106c7565b505050565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6107ba611060565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610847576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083e906121d2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600081156109345743600a60055461091d9190612269565b1161092a5760025461092d565b605a5b9050610957565b43600a6005546109449190612269565b1161095157600354610954565b605a5b90505b919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61098d611060565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a11906121d2565b60405180910390fd5b81600281905550806003819055505050565b60606040518060400160405280600381526020017f4a4f450000000000000000000000000000000000000000000000000000000000815250905090565b6000610a7d610a76611060565b8484611231565b6001905092915050565b610a8f611060565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b13906121d2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b9c573373ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015610b96573d6000803e3d6000fd5b50610c95565b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb338373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610bf29190612088565b602060405180830381865afa158015610c0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3391906122b2565b6040518363ffffffff1660e01b8152600401610c509291906122df565b6020604051808303816000875af1158015610c6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c93919061231d565b505b50565b610ca0611060565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d24906121d2565b60405180910390fd5b6001600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610d90611060565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e14906121d2565b60405180910390fd5b6001600460006101000a81548160ff021916908360ff16021790555043600581905550565b60035481565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610ed7611060565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5b906121d2565b60405180910390fd5b610f6d81611b9b565b50565b610f78611060565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611005576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ffc906121d2565b60405180910390fd5b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ce906123bc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611146576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113d9061244e565b60405180910390fd5b80600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112249190611e9c565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112a0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611297906124e0565b60405180910390fd5b633b9aca0081116112e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112dd9061254c565b60405180910390fd5b6000600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806113895750600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611397576000905061187b565b6000600460009054906101000a900460ff1660ff16036113ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e3906125b8565b60405180910390fd5b6001600460019054906101000a900460ff1660ff160361151d5781600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546114559190612152565b9250508190555081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546114ab9190612269565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161150f9190611e9c565b60405180910390a350611b96565b7f000000000000000000000000cfe6b753a73600227fa33f1fe1eb602ca0dd663a73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036115815761157a6001610905565b905061187a565b7f000000000000000000000000cfe6b753a73600227fa33f1fe1eb602ca0dd663a73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611874576000600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905069152d02c7e14af68000008111801561164357506000600460019054906101000a900460ff1660ff16145b156118625769d3c21bcecceda10000008111156116685769d3c21bcecceda100000090505b6001600460016101000a81548160ff021916908360ff1602179055506000600267ffffffffffffffff8111156116a1576116a06125d8565b5b6040519080825280602002602001820160405280156116cf5781602001602082028036833780820191505090505b50905030816000815181106116e7576116e66121f2565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281600181518110611756576117556121f2565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac947836000847f000000000000000000000000f7227f0a2fccb3f2981b08ae6a7efab9d182498e426040518663ffffffff1660e01b815260040161181295949392919061275f565b600060405180830381600087803b15801561182c57600080fd5b505af1158015611840573d6000803e3d6000fd5b505050506000600460016101000a81548160ff021916908360ff160217905550505b61186c6000610905565b915050611879565b600090505b5b5b60008114611a825760006064828461189391906127b9565b61189d919061282a565b9050600081846118ad9190612152565b905083600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546118fe9190612152565b9250508190555080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546119549190612269565b9250508190555081600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546119aa9190612269565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611a0e9190611e9c565b60405180910390a38473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611a739190611e9c565b60405180910390a35050611b94565b81600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611ad19190612152565b9250508190555081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611b279190612269565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611b8b9190611e9c565b60405180910390a35b505b505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611c0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c01906128cd565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611d01578082015181840152602081019050611ce6565b60008484015250505050565b6000601f19601f8301169050919050565b6000611d2982611cc7565b611d338185611cd2565b9350611d43818560208601611ce3565b611d4c81611d0d565b840191505092915050565b60006020820190508181036000830152611d718184611d1e565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611dae82611d83565b9050919050565b611dbe81611da3565b8114611dc957600080fd5b50565b600081359050611ddb81611db5565b92915050565b6000819050919050565b611df481611de1565b8114611dff57600080fd5b50565b600081359050611e1181611deb565b92915050565b60008060408385031215611e2e57611e2d611d79565b5b6000611e3c85828601611dcc565b9250506020611e4d85828601611e02565b9150509250929050565b60008115159050919050565b611e6c81611e57565b82525050565b6000602082019050611e876000830184611e63565b92915050565b611e9681611de1565b82525050565b6000602082019050611eb16000830184611e8d565b92915050565b600080600060608486031215611ed057611ecf611d79565b5b6000611ede86828701611dcc565b9350506020611eef86828701611dcc565b9250506040611f0086828701611e02565b9150509250925092565b600060ff82169050919050565b611f2081611f0a565b82525050565b6000602082019050611f3b6000830184611f17565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112611f6657611f65611f41565b5b8235905067ffffffffffffffff811115611f8357611f82611f46565b5b602083019150836020820283011115611f9f57611f9e611f4b565b5b9250929050565b60008060208385031215611fbd57611fbc611d79565b5b600083013567ffffffffffffffff811115611fdb57611fda611d7e565b5b611fe785828601611f50565b92509250509250929050565b60006020828403121561200957612008611d79565b5b600061201784828501611dcc565b91505092915050565b61202981611e57565b811461203457600080fd5b50565b60008135905061204681612020565b92915050565b60006020828403121561206257612061611d79565b5b600061207084828501612037565b91505092915050565b61208281611da3565b82525050565b600060208201905061209d6000830184612079565b92915050565b600080604083850312156120ba576120b9611d79565b5b60006120c885828601611e02565b92505060206120d985828601611e02565b9150509250929050565b600080604083850312156120fa576120f9611d79565b5b600061210885828601611dcc565b925050602061211985828601611dcc565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061215d82611de1565b915061216883611de1565b92508282039050818111156121805761217f612123565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006121bc602083611cd2565b91506121c782612186565b602082019050919050565b600060208201905081810360008301526121eb816121af565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061222c82611de1565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361225e5761225d612123565b5b600182019050919050565b600061227482611de1565b915061227f83611de1565b925082820190508082111561229757612296612123565b5b92915050565b6000815190506122ac81611deb565b92915050565b6000602082840312156122c8576122c7611d79565b5b60006122d68482850161229d565b91505092915050565b60006040820190506122f46000830185612079565b6123016020830184611e8d565b9392505050565b60008151905061231781612020565b92915050565b60006020828403121561233357612332611d79565b5b600061234184828501612308565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006123a6602483611cd2565b91506123b18261234a565b604082019050919050565b600060208201905081810360008301526123d581612399565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612438602283611cd2565b9150612443826123dc565b604082019050919050565b600060208201905081810360008301526124678161242b565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006124ca602583611cd2565b91506124d58261246e565b604082019050919050565b600060208201905081810360008301526124f9816124bd565b9050919050565b7f4d696e207472616e7366657220616d7400000000000000000000000000000000600082015250565b6000612536601083611cd2565b915061254182612500565b602082019050919050565b6000602082019050818103600083015261256581612529565b9050919050565b7f4c61756e63680000000000000000000000000000000000000000000000000000600082015250565b60006125a2600683611cd2565b91506125ad8261256c565b602082019050919050565b600060208201905081810360008301526125d181612595565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000819050919050565b6000819050919050565b600061263661263161262c84612607565b612611565b611de1565b9050919050565b6126468161261b565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61268181611da3565b82525050565b60006126938383612678565b60208301905092915050565b6000602082019050919050565b60006126b78261264c565b6126c18185612657565b93506126cc83612668565b8060005b838110156126fd5781516126e48882612687565b97506126ef8361269f565b9250506001810190506126d0565b5085935050505092915050565b600061272561272061271b84611d83565b612611565b611d83565b9050919050565b60006127378261270a565b9050919050565b60006127498261272c565b9050919050565b6127598161273e565b82525050565b600060a0820190506127746000830188611e8d565b612781602083018761263d565b818103604083015261279381866126ac565b90506127a26060830185612750565b6127af6080830184611e8d565b9695505050505050565b60006127c482611de1565b91506127cf83611de1565b92508282026127dd81611de1565b915082820484148315176127f4576127f3612123565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061283582611de1565b915061284083611de1565b9250826128505761284f6127fb565b5b828204905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006128b7602683611cd2565b91506128c28261285b565b604082019050919050565b600060208201905081810360008301526128e6816128aa565b905091905056fea26469706673582212206953cdb1eb59ffb5d0eef73ee0d9e32b871d803c2f60081295adfaf74dc45e5e64736f6c63430008120033
Deployed Bytecode Sourcemap
2879:7389:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4711:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5621:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4988:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5822:350;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4897:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3319:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6877:176;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5096:118;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2206:148;;;;;;;;;;;;;:::i;:::-;;10034:231;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1601:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7061:145;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4802:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5222:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9711:315;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6673:92;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6557:108;;;;;;;;;;;;;:::i;:::-;;3347:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5429:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1815:109;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6773:96;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4711:83;4748:13;4781:5;;;;;;;;;;;;;;;;;4774:12;;4711:83;:::o;5621:193::-;5723:4;5745:39;5754:12;:10;:12::i;:::-;5768:7;5777:6;5745:8;:39::i;:::-;5802:4;5795:11;;5621:193;;;;:::o;4988:100::-;5041:7;2975:16;5061:19;;4988:100;:::o;5822:350::-;5954:4;5971:36;5981:6;5989:9;6000:6;5971:9;:36::i;:::-;6018:124;6041:6;6062:12;:10;:12::i;:::-;6125:6;6089:11;:19;6101:6;6089:19;;;;;;;;;;;;;;;:33;6109:12;:10;:12::i;:::-;6089:33;;;;;;;;;;;;;;;;:42;;;;:::i;:::-;6018:8;:124::i;:::-;6160:4;6153:11;;5822:350;;;;;:::o;4897:83::-;4938:5;3140:2;4956:16;;4897:83;:::o;3319:21::-;;;;:::o;6877:176::-;1738:12;:10;:12::i;:::-;1728:22;;:6;;;;;;;;;;:22;;;1720:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6956:6:::1;6952:94;6972:7;;:14;;6968:1;:18;6952:94;;;7030:4;7008:7;:19;7016:7;;7024:1;7016:10;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;7008:19;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;6988:3;;;;;:::i;:::-;;;;6952:94;;;;6877:176:::0;;:::o;5096:118::-;5162:7;5189:8;:17;5198:7;5189:17;;;;;;;;;;;;;;;;5182:24;;5096:118;;;:::o;2206:148::-;1738:12;:10;:12::i;:::-;1728:22;;:6;;;;;;;;;;:22;;;1720:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2313:1:::1;2276:40;;2297:6;::::0;::::1;;;;;;;;2276:40;;;;;;;;;;;;2344:1;2327:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2206:148::o:0;10034:231::-;10083:7;10106:5;10103:89;;;10154:12;10149:2;10135:11;;:16;;;;:::i;:::-;:31;:45;;10174:6;;10135:45;;;10169:2;10135:45;10128:52;;;;10103:89;10230:12;10225:2;10211:11;;:16;;;;:::i;:::-;:31;:46;;10250:7;;10211:46;;;10245:2;10211:46;10204:53;;10034:231;;;;:::o;1601:79::-;1639:7;1666:6;;;;;;;;;;;1659:13;;1601:79;:::o;7061:145::-;1738:12;:10;:12::i;:::-;1728:22;;:6;;;;;;;;;;:22;;;1720:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7158:9:::1;7149:6;:18;;;;7188:10;7178:7;:20;;;;7061:145:::0;;:::o;4802:87::-;4841:13;4874:7;;;;;;;;;;;;;;;;;4867:14;;4802:87;:::o;5222:199::-;5327:4;5349:42;5359:12;:10;:12::i;:::-;5373:9;5384:6;5349:9;:42::i;:::-;5409:4;5402:11;;5222:199;;;;:::o;9711:315::-;1738:12;:10;:12::i;:::-;1728:22;;:6;;;;;;;;;;:22;;;1720:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9798:1:::1;9781:19;;:5;:19;;::::0;9777:241:::1;;9823:10;9815:28;;:51;9844:21;9815:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;9777:241;;;9902:5;9895:22;;;9936:10;9972:5;9965:23;;;9997:4;9965:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9895:123;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9777:241;9711:315:::0;:::o;6673:92::-;1738:12;:10;:12::i;:::-;1728:22;;:6;;;;;;;;;;:22;;;1720:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6753:4:::1;6735:7;:15;6743:6;6735:15;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;6673:92:::0;:::o;6557:108::-;1738:12;:10;:12::i;:::-;1728:22;;:6;;;;;;;;;;:22;;;1720:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6619:1:::1;6610:6;;:10;;;;;;;;;;;;;;;;;;6645:12;6631:11;:26;;;;6557:108::o:0;3347:22::-;;;;:::o;5429:184::-;5546:7;5578:11;:18;5590:5;5578:18;;;;;;;;;;;;;;;:27;5597:7;5578:27;;;;;;;;;;;;;;;;5571:34;;5429:184;;;;:::o;1815:109::-;1738:12;:10;:12::i;:::-;1728:22;;:6;;;;;;;;;;:22;;;1720:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1888:28:::1;1907:8;1888:18;:28::i;:::-;1815:109:::0;:::o;6773:96::-;1738:12;:10;:12::i;:::-;1728:22;;:6;;;;;;;;;;:22;;;1720:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6856:5:::1;6838:7;:15;6846:6;6838:15;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;6773:96:::0;:::o;315:98::-;368:7;395:10;388:17;;315:98;:::o;6180:369::-;6324:1;6307:19;;:5;:19;;;6299:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6405:1;6386:21;;:7;:21;;;6378:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6487:6;6457:11;:18;6469:5;6457:18;;;;;;;;;;;;;;;:27;6476:7;6457:27;;;;;;;;;;;;;;;:36;;;;6525:7;6509:32;;6518:5;6509:32;;;6534:6;6509:32;;;;;;:::i;:::-;;;;;;;;6180:369;;;:::o;7214:2452::-;7352:1;7336:18;;:4;:18;;;7328:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7424:3;7415:6;:12;7407:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;7461:12;7488:7;:13;7496:4;7488:13;;;;;;;;;;;;;;;;;;;;;;;;;:28;;;;7505:7;:11;7513:2;7505:11;;;;;;;;;;;;;;;;;;;;;;;;;7488:28;7484:1525;;;7540:1;7533:8;;7484:1525;;;7610:1;7600:6;;;;;;;;;;;:11;;;7574:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;7694:1;7674:16;;;;;;;;;;;:21;;;7670:239;;7769:6;7751:8;:14;7760:4;7751:14;;;;;;;;;;;;;;;;:24;;;;;;;:::i;:::-;;;;;;;;7810:6;7794:8;:12;7803:2;7794:12;;;;;;;;;;;;;;;;:22;;;;;;;:::i;:::-;;;;;;;;7857:2;7842:26;;7851:4;7842:26;;;7861:6;7842:26;;;;;;:::i;:::-;;;;;;;;7887:7;;;7670:239;7937:13;7929:21;;:4;:21;;;7925:1073;;7978:12;7985:4;7978:6;:12::i;:::-;7971:19;;7925:1073;;;8022:13;8016:19;;:2;:19;;;8012:986;;8056:20;8079:8;:23;8096:4;8079:23;;;;;;;;;;;;;;;;8056:46;;3033:10;8125:12;:22;:47;;;;;8171:1;8151:16;;;;;;;;;;;:21;;;8125:47;8121:774;;;3086:12;8201;:23;8197:103;;;3086:12;8253:23;;8197:103;8341:1;8322:16;;:20;;;;;;;;;;;;;;;;;;8365:21;8403:1;8389:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8365:40;;8446:4;8428;8433:1;8428:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;8484:4;8474;8479:1;8474:7;;;;;;;;:::i;:::-;;;;;;;:14;;;;;;;;;;;8511:15;:92;;;8634:12;8677:1;8709:4;8744:15;8790;8511:321;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8874:1;8855:16;;:20;;;;;;;;;;;;;;;;;;8174:721;8121:774;8920:13;8927:5;8920:6;:13::i;:::-;8913:20;;8037:912;8012:986;;;8981:1;8974:8;;8012:986;7925:1073;7484:1525;9078:1;9070:4;:9;9066:593;;9124:17;9162:3;9154:4;9145:6;:13;;;;:::i;:::-;9144:21;;;;:::i;:::-;9124:41;;9180:22;9214:9;9205:6;:18;;;;:::i;:::-;9180:43;;9258:6;9240:8;:14;9249:4;9240:14;;;;;;;;;;;;;;;;:24;;;;;;;:::i;:::-;;;;;;;;9295:14;9279:8;:12;9288:2;9279:12;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;9351:9;9324:8;:23;9341:4;9324:23;;;;;;;;;;;;;;;;:36;;;;;;;:::i;:::-;;;;;;;;9403:4;9380:40;;9389:4;9380:40;;;9410:9;9380:40;;;;;;:::i;:::-;;;;;;;;9455:2;9440:34;;9449:4;9440:34;;;9459:14;9440:34;;;;;;:::i;:::-;;;;;;;;9081:405;;9066:593;;;9556:6;9538:8;:14;9547:4;9538:14;;;;;;;;;;;;;;;;:24;;;;;;;:::i;:::-;;;;;;;;9593:6;9577:8;:12;9586:2;9577:12;;;;;;;;;;;;;;;;:22;;;;;;;:::i;:::-;;;;;;;;9636:2;9621:26;;9630:4;9621:26;;;9640:6;9621:26;;;;;;:::i;:::-;;;;;;;;9066:593;7317:2349;7214:2452;;;;:::o;1932:266::-;2040:1;2020:22;;:8;:22;;;1998:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;2153:8;2124:38;;2145:6;;;;;;;;;;2124:38;;;;;;;;;;;;2182:8;2173:6;;:17;;;;;;;;;;;;;;;;;;1932:266;:::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:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::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:117::-;4962:1;4959;4952:12;4976:117;5085:1;5082;5075:12;5099:117;5208:1;5205;5198:12;5239:568;5312:8;5322:6;5372:3;5365:4;5357:6;5353:17;5349:27;5339:122;;5380:79;;:::i;:::-;5339:122;5493:6;5480:20;5470:30;;5523:18;5515:6;5512:30;5509:117;;;5545:79;;:::i;:::-;5509:117;5659:4;5651:6;5647:17;5635:29;;5713:3;5705:4;5697:6;5693:17;5683:8;5679:32;5676:41;5673:128;;;5720:79;;:::i;:::-;5673:128;5239:568;;;;;:::o;5813:559::-;5899:6;5907;5956:2;5944:9;5935:7;5931:23;5927:32;5924:119;;;5962:79;;:::i;:::-;5924:119;6110:1;6099:9;6095:17;6082:31;6140:18;6132:6;6129:30;6126:117;;;6162:79;;:::i;:::-;6126:117;6275:80;6347:7;6338:6;6327:9;6323:22;6275:80;:::i;:::-;6257:98;;;;6053:312;5813:559;;;;;:::o;6378:329::-;6437:6;6486:2;6474:9;6465:7;6461:23;6457:32;6454:119;;;6492:79;;:::i;:::-;6454:119;6612:1;6637:53;6682:7;6673:6;6662:9;6658:22;6637:53;:::i;:::-;6627:63;;6583:117;6378:329;;;;:::o;6713:116::-;6783:21;6798:5;6783:21;:::i;:::-;6776:5;6773:32;6763:60;;6819:1;6816;6809:12;6763:60;6713:116;:::o;6835:133::-;6878:5;6916:6;6903:20;6894:29;;6932:30;6956:5;6932:30;:::i;:::-;6835:133;;;;:::o;6974:323::-;7030:6;7079:2;7067:9;7058:7;7054:23;7050:32;7047:119;;;7085:79;;:::i;:::-;7047:119;7205:1;7230:50;7272:7;7263:6;7252:9;7248:22;7230:50;:::i;:::-;7220:60;;7176:114;6974:323;;;;:::o;7303:118::-;7390:24;7408:5;7390:24;:::i;:::-;7385:3;7378:37;7303:118;;:::o;7427:222::-;7520:4;7558:2;7547:9;7543:18;7535:26;;7571:71;7639:1;7628:9;7624:17;7615:6;7571:71;:::i;:::-;7427:222;;;;:::o;7655:474::-;7723:6;7731;7780:2;7768:9;7759:7;7755:23;7751:32;7748:119;;;7786:79;;:::i;:::-;7748:119;7906:1;7931:53;7976:7;7967:6;7956:9;7952:22;7931:53;:::i;:::-;7921:63;;7877:117;8033:2;8059:53;8104:7;8095:6;8084:9;8080:22;8059:53;:::i;:::-;8049:63;;8004:118;7655:474;;;;;:::o;8135:::-;8203:6;8211;8260:2;8248:9;8239:7;8235:23;8231:32;8228:119;;;8266:79;;:::i;:::-;8228:119;8386:1;8411:53;8456:7;8447:6;8436:9;8432:22;8411:53;:::i;:::-;8401:63;;8357:117;8513:2;8539:53;8584:7;8575:6;8564:9;8560:22;8539:53;:::i;:::-;8529:63;;8484:118;8135:474;;;;;:::o;8615:180::-;8663:77;8660:1;8653:88;8760:4;8757:1;8750:15;8784:4;8781:1;8774:15;8801:194;8841:4;8861:20;8879:1;8861:20;:::i;:::-;8856:25;;8895:20;8913:1;8895:20;:::i;:::-;8890:25;;8939:1;8936;8932:9;8924:17;;8963:1;8957:4;8954:11;8951:37;;;8968:18;;:::i;:::-;8951:37;8801:194;;;;:::o;9001:182::-;9141:34;9137:1;9129:6;9125:14;9118:58;9001:182;:::o;9189:366::-;9331:3;9352:67;9416:2;9411:3;9352:67;:::i;:::-;9345:74;;9428:93;9517:3;9428:93;:::i;:::-;9546:2;9541:3;9537:12;9530:19;;9189:366;;;:::o;9561:419::-;9727:4;9765:2;9754:9;9750:18;9742:26;;9814:9;9808:4;9804:20;9800:1;9789:9;9785:17;9778:47;9842:131;9968:4;9842:131;:::i;:::-;9834:139;;9561:419;;;:::o;9986:180::-;10034:77;10031:1;10024:88;10131:4;10128:1;10121:15;10155:4;10152:1;10145:15;10172:233;10211:3;10234:24;10252:5;10234:24;:::i;:::-;10225:33;;10280:66;10273:5;10270:77;10267:103;;10350:18;;:::i;:::-;10267:103;10397:1;10390:5;10386:13;10379:20;;10172:233;;;:::o;10411:191::-;10451:3;10470:20;10488:1;10470:20;:::i;:::-;10465:25;;10504:20;10522:1;10504:20;:::i;:::-;10499:25;;10547:1;10544;10540:9;10533:16;;10568:3;10565:1;10562:10;10559:36;;;10575:18;;:::i;:::-;10559:36;10411:191;;;;:::o;10608:143::-;10665:5;10696:6;10690:13;10681:22;;10712:33;10739:5;10712:33;:::i;:::-;10608:143;;;;:::o;10757:351::-;10827:6;10876:2;10864:9;10855:7;10851:23;10847:32;10844:119;;;10882:79;;:::i;:::-;10844:119;11002:1;11027:64;11083:7;11074:6;11063:9;11059:22;11027:64;:::i;:::-;11017:74;;10973:128;10757:351;;;;:::o;11114:332::-;11235:4;11273:2;11262:9;11258:18;11250:26;;11286:71;11354:1;11343:9;11339:17;11330:6;11286:71;:::i;:::-;11367:72;11435:2;11424:9;11420:18;11411:6;11367:72;:::i;:::-;11114:332;;;;;:::o;11452:137::-;11506:5;11537:6;11531:13;11522:22;;11553:30;11577:5;11553:30;:::i;:::-;11452:137;;;;:::o;11595:345::-;11662:6;11711:2;11699:9;11690:7;11686:23;11682:32;11679:119;;;11717:79;;:::i;:::-;11679:119;11837:1;11862:61;11915:7;11906:6;11895:9;11891:22;11862:61;:::i;:::-;11852:71;;11808:125;11595:345;;;;:::o;11946:223::-;12086:34;12082:1;12074:6;12070:14;12063:58;12155:6;12150:2;12142:6;12138:15;12131:31;11946:223;:::o;12175:366::-;12317:3;12338:67;12402:2;12397:3;12338:67;:::i;:::-;12331:74;;12414:93;12503:3;12414:93;:::i;:::-;12532:2;12527:3;12523:12;12516:19;;12175:366;;;:::o;12547:419::-;12713:4;12751:2;12740:9;12736:18;12728:26;;12800:9;12794:4;12790:20;12786:1;12775:9;12771:17;12764:47;12828:131;12954:4;12828:131;:::i;:::-;12820:139;;12547:419;;;:::o;12972:221::-;13112:34;13108:1;13100:6;13096:14;13089:58;13181:4;13176:2;13168:6;13164:15;13157:29;12972:221;:::o;13199:366::-;13341:3;13362:67;13426:2;13421:3;13362:67;:::i;:::-;13355:74;;13438:93;13527:3;13438:93;:::i;:::-;13556:2;13551:3;13547:12;13540:19;;13199:366;;;:::o;13571:419::-;13737:4;13775:2;13764:9;13760:18;13752:26;;13824:9;13818:4;13814:20;13810:1;13799:9;13795:17;13788:47;13852:131;13978:4;13852:131;:::i;:::-;13844:139;;13571:419;;;:::o;13996:224::-;14136:34;14132:1;14124:6;14120:14;14113:58;14205:7;14200:2;14192:6;14188:15;14181:32;13996:224;:::o;14226:366::-;14368:3;14389:67;14453:2;14448:3;14389:67;:::i;:::-;14382:74;;14465:93;14554:3;14465:93;:::i;:::-;14583:2;14578:3;14574:12;14567:19;;14226:366;;;:::o;14598:419::-;14764:4;14802:2;14791:9;14787:18;14779:26;;14851:9;14845:4;14841:20;14837:1;14826:9;14822:17;14815:47;14879:131;15005:4;14879:131;:::i;:::-;14871:139;;14598:419;;;:::o;15023:166::-;15163:18;15159:1;15151:6;15147:14;15140:42;15023:166;:::o;15195:366::-;15337:3;15358:67;15422:2;15417:3;15358:67;:::i;:::-;15351:74;;15434:93;15523:3;15434:93;:::i;:::-;15552:2;15547:3;15543:12;15536:19;;15195:366;;;:::o;15567:419::-;15733:4;15771:2;15760:9;15756:18;15748:26;;15820:9;15814:4;15810:20;15806:1;15795:9;15791:17;15784:47;15848:131;15974:4;15848:131;:::i;:::-;15840:139;;15567:419;;;:::o;15992:156::-;16132:8;16128:1;16120:6;16116:14;16109:32;15992:156;:::o;16154:365::-;16296:3;16317:66;16381:1;16376:3;16317:66;:::i;:::-;16310:73;;16392:93;16481:3;16392:93;:::i;:::-;16510:2;16505:3;16501:12;16494:19;;16154:365;;;:::o;16525:419::-;16691:4;16729:2;16718:9;16714:18;16706:26;;16778:9;16772:4;16768:20;16764:1;16753:9;16749:17;16742:47;16806:131;16932:4;16806:131;:::i;:::-;16798:139;;16525:419;;;:::o;16950:180::-;16998:77;16995:1;16988:88;17095:4;17092:1;17085:15;17119:4;17116:1;17109:15;17136:85;17181:7;17210:5;17199:16;;17136:85;;;:::o;17227:60::-;17255:3;17276:5;17269:12;;17227:60;;;:::o;17293:158::-;17351:9;17384:61;17402:42;17411:32;17437:5;17411:32;:::i;:::-;17402:42;:::i;:::-;17384:61;:::i;:::-;17371:74;;17293:158;;;:::o;17457:147::-;17552:45;17591:5;17552:45;:::i;:::-;17547:3;17540:58;17457:147;;:::o;17610:114::-;17677:6;17711:5;17705:12;17695:22;;17610:114;;;:::o;17730:184::-;17829:11;17863:6;17858:3;17851:19;17903:4;17898:3;17894:14;17879:29;;17730:184;;;;:::o;17920:132::-;17987:4;18010:3;18002:11;;18040:4;18035:3;18031:14;18023:22;;17920:132;;;:::o;18058:108::-;18135:24;18153:5;18135:24;:::i;:::-;18130:3;18123:37;18058:108;;:::o;18172:179::-;18241:10;18262:46;18304:3;18296:6;18262:46;:::i;:::-;18340:4;18335:3;18331:14;18317:28;;18172:179;;;;:::o;18357:113::-;18427:4;18459;18454:3;18450:14;18442:22;;18357:113;;;:::o;18506:732::-;18625:3;18654:54;18702:5;18654:54;:::i;:::-;18724:86;18803:6;18798:3;18724:86;:::i;:::-;18717:93;;18834:56;18884:5;18834:56;:::i;:::-;18913:7;18944:1;18929:284;18954:6;18951:1;18948:13;18929:284;;;19030:6;19024:13;19057:63;19116:3;19101:13;19057:63;:::i;:::-;19050:70;;19143:60;19196:6;19143:60;:::i;:::-;19133:70;;18989:224;18976:1;18973;18969:9;18964:14;;18929:284;;;18933:14;19229:3;19222:10;;18630:608;;;18506:732;;;;:::o;19244:142::-;19294:9;19327:53;19345:34;19354:24;19372:5;19354:24;:::i;:::-;19345:34;:::i;:::-;19327:53;:::i;:::-;19314:66;;19244:142;;;:::o;19392:126::-;19442:9;19475:37;19506:5;19475:37;:::i;:::-;19462:50;;19392:126;;;:::o;19524:134::-;19582:9;19615:37;19646:5;19615:37;:::i;:::-;19602:50;;19524:134;;;:::o;19664:147::-;19759:45;19798:5;19759:45;:::i;:::-;19754:3;19747:58;19664:147;;:::o;19817:847::-;20088:4;20126:3;20115:9;20111:19;20103:27;;20140:71;20208:1;20197:9;20193:17;20184:6;20140:71;:::i;:::-;20221:80;20297:2;20286:9;20282:18;20273:6;20221:80;:::i;:::-;20348:9;20342:4;20338:20;20333:2;20322:9;20318:18;20311:48;20376:108;20479:4;20470:6;20376:108;:::i;:::-;20368:116;;20494:80;20570:2;20559:9;20555:18;20546:6;20494:80;:::i;:::-;20584:73;20652:3;20641:9;20637:19;20628:6;20584:73;:::i;:::-;19817:847;;;;;;;;:::o;20670:410::-;20710:7;20733:20;20751:1;20733:20;:::i;:::-;20728:25;;20767:20;20785:1;20767:20;:::i;:::-;20762:25;;20822:1;20819;20815:9;20844:30;20862:11;20844:30;:::i;:::-;20833:41;;21023:1;21014:7;21010:15;21007:1;21004:22;20984:1;20977:9;20957:83;20934:139;;21053:18;;:::i;:::-;20934:139;20718:362;20670:410;;;;:::o;21086:180::-;21134:77;21131:1;21124:88;21231:4;21228:1;21221:15;21255:4;21252:1;21245:15;21272:185;21312:1;21329:20;21347:1;21329:20;:::i;:::-;21324:25;;21363:20;21381:1;21363:20;:::i;:::-;21358:25;;21402:1;21392:35;;21407:18;;:::i;:::-;21392:35;21449:1;21446;21442:9;21437:14;;21272:185;;;;:::o;21463:225::-;21603:34;21599:1;21591:6;21587:14;21580:58;21672:8;21667:2;21659:6;21655:15;21648:33;21463:225;:::o;21694:366::-;21836:3;21857:67;21921:2;21916:3;21857:67;:::i;:::-;21850:74;;21933:93;22022:3;21933:93;:::i;:::-;22051:2;22046:3;22042:12;22035:19;;21694:366;;;:::o;22066:419::-;22232:4;22270:2;22259:9;22255:18;22247:26;;22319:9;22313:4;22309:20;22305:1;22294:9;22290:17;22283:47;22347:131;22473:4;22347:131;:::i;:::-;22339:139;;22066:419;;;:::o
Swarm Source
ipfs://6953cdb1eb59ffb5d0eef73ee0d9e32b871d803c2f60081295adfaf74dc45e5e
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.