ERC-20
Overview
Max Total Supply
1,000,000,000,000,000 🫨
Holders
26
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
0.00006695401547715 🫨Value
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0xE7cac0E4...dDFc8151a The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
Token
Compiler Version
v0.8.22+commit.4fc1097e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-11-02 */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.19; interface Callable { function tokenCallback(address _from, uint256 _tokens, bytes calldata _data) external returns (bool); } interface Router { function WETH() external pure returns (address); function factory() external pure returns (address); function addLiquidityETH(address, uint256, uint256, uint256, address, uint256) external payable returns (uint256, uint256, uint256); function swapExactETHForTokens(uint256, address[] calldata, address, uint256) external payable returns (uint256[] memory); } interface Factory { function createPair(address, address) external returns (address); } interface Pair { function balanceOf(address) external view returns (uint256); function transfer(address, uint256) external returns (bool); } contract Token { uint256 constant private UINT_MAX = type(uint256).max; uint256 constant private MAX_NAME_LENGTH = 32; uint256 constant private MIN_SUPPLY = 1e16; // 0.01 tokens uint256 constant private MAX_SUPPLY = 1e33; // 1 quadrillion tokens uint256 constant private PERCENT_PRECISION = 1000; // 1 = 0.1% Router constant private ROUTER = Router(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); string public name; string public symbol; uint8 constant public decimals = 18; string constant public source = "Created with Bossman's Bakery (bakery.mullet.capital)!"; struct User { uint256 balance; mapping(address => uint256) allowance; } struct Info { bool locked; address pair; address creator; uint256 totalSupply; uint256 initialMarketCap; uint256 transferTax; uint256 creatorFee; mapping(address => User) users; } Info private info; event Transfer(address indexed from, address indexed to, uint256 tokens); event Approval(address indexed owner, address indexed spender, uint256 tokens); function lock() external { require(!info.locked); require(totalSupply() == 0); info.locked = true; } function initialize(address _creator, string memory _name, string memory _symbol, uint256 _totalSupply, uint256 _initialMarketCap, uint256 _transferTax, uint256 _creatorFee) external payable { require(!info.locked); require(totalSupply() == 0); require(bytes(_name).length > 0 && bytes(_name).length <= MAX_NAME_LENGTH); require(bytes(_symbol).length > 0 && bytes(_symbol).length <= MAX_NAME_LENGTH); require(_totalSupply >= MIN_SUPPLY && _totalSupply <= MAX_SUPPLY); require(_initialMarketCap > 0); require(_transferTax < PERCENT_PRECISION); require(_creatorFee < PERCENT_PRECISION); require(msg.value >= _initialMarketCap); info.creator = _creator; name = _name; symbol = _symbol; info.totalSupply = _totalSupply; info.users[address(this)].balance = _totalSupply; emit Transfer(address(0x0), address(this), _totalSupply); info.initialMarketCap = _initialMarketCap; info.creatorFee = _creatorFee; _createLP(); info.transferTax = _transferTax; } function collectTax() external { address _this = address(this); uint256 _tokens = balanceOf(_this); require(_tokens > 0); _transfer(_this, creator(), _tokens / 2); _transfer(_this, 0xe6c791FBd46dB3f4EdA5f7Bb76474F4FA530733E, _tokens / 3); _transfer(_this, 0xc28C9da0F8a500DFfC16Ff09a3DD1Cc4c530D346, _tokens / 6); } function transfer(address _to, uint256 _tokens) external returns (bool) { return _transfer(msg.sender, _to, _tokens); } function approve(address _spender, uint256 _tokens) external returns (bool) { return _approve(msg.sender, _spender, _tokens); } function transferFrom(address _from, address _to, uint256 _tokens) external returns (bool) { unchecked { uint256 _allowance = allowance(_from, msg.sender); require(_allowance >= _tokens); if (_allowance != UINT_MAX) { info.users[_from].allowance[msg.sender] -= _tokens; } return _transfer(_from, _to, _tokens); } } function transferAndCall(address _to, uint256 _tokens, bytes calldata _data) external returns (bool) { _transfer(msg.sender, _to, _tokens); uint32 _size; assembly { _size := extcodesize(_to) } if (_size > 0) { require(Callable(_to).tokenCallback(msg.sender, _tokens, _data)); } return true; } function creator() public view returns (address) { return info.creator; } function pair() public view returns (address) { return info.pair; } function totalSupply() public view returns (uint256) { return info.totalSupply; } function balanceOf(address _user) public view returns (uint256) { return info.users[_user].balance; } function allowance(address _user, address _spender) public view returns (uint256) { return info.users[_user].allowance[_spender]; } function initialMarketCap() external view returns (string memory) { return string(abi.encodePacked(_uint2str(info.initialMarketCap, 18, 5), " ETH")); } function transferTax() external view returns (string memory) { return string(abi.encodePacked(_uint2str(info.transferTax * 100, 3, 3), "%")); } function creatorFee() external view returns (string memory) { return string(abi.encodePacked(_uint2str(info.creatorFee * 100, 3, 3), "%")); } function _createLP() internal { address _this = address(this); address _weth = ROUTER.WETH(); _approve(_this, address(ROUTER), totalSupply()); info.pair = Factory(ROUTER.factory()).createPair(_weth, _this); ( , , uint256 _lpTokens) = ROUTER.addLiquidityETH{ value: info.initialMarketCap }(_this, totalSupply(), 0, 0, _this, block.timestamp); Pair _pair = Pair(pair()); if (info.creatorFee > 0) { _pair.transfer(creator(), _lpTokens * info.creatorFee / PERCENT_PRECISION); } _pair.transfer(address(0x0), _pair.balanceOf(_this)); if (msg.value > info.initialMarketCap) { address[] memory _path = new address[](2); _path[0] = _weth; _path[1] = _this; ROUTER.swapExactETHForTokens{ value: msg.value - info.initialMarketCap }(0, _path, creator(), block.timestamp); } } function _approve(address _owner, address _spender, uint256 _tokens) internal returns (bool) { info.users[_owner].allowance[_spender] = _tokens; emit Approval(_owner, _spender, _tokens); return true; } function _transfer(address _from, address _to, uint256 _tokens) internal returns (bool) { unchecked { require(_tokens > 0); require(balanceOf(_from) >= _tokens); address _this = address(this); if (info.transferTax == 0 || _from == _this || _to == _this || _from == creator()) { info.users[_from].balance -= _tokens; info.users[_to].balance += _tokens; emit Transfer(_from, _to, _tokens); } else { info.users[_from].balance -= _tokens; uint256 _tax = _tokens * info.transferTax / PERCENT_PRECISION; info.users[_this].balance += _tax; emit Transfer(_from, _this, _tax); info.users[_to].balance += _tokens - _tax; emit Transfer(_from, _to, _tokens - _tax); } return true; } } function _uint2str(uint256 _value, uint256 _scale, uint256 _maxDecimals) internal pure returns (string memory str) { uint256 _d = _scale > _maxDecimals ? _maxDecimals : _scale; uint256 _n = _value / 10**(_scale > _d ? _scale - _d : 0); if (_n == 0) { return "0"; } uint256 _digits = 1; uint256 _tmp = _n; while (_tmp > 9) { _tmp /= 10; _digits++; } _tmp = _digits > _d ? _digits : _d + 1; uint256 _offset = (_tmp > _d + 1 ? _tmp - _d - 1 > _d ? _d : _tmp - _d - 1 : 0); for (uint256 i = 0; i < _tmp - _offset; i++) { uint256 _dec = i < _tmp - _digits ? 0 : (_n / (10**(_tmp - i - 1))) % 10; bytes memory _char = new bytes(1); _char[0] = bytes1(uint8(_dec) + 48); str = string(abi.encodePacked(str, string(_char))); if (i < _tmp - _d - 1) { if ((i + 1) % 3 == (_tmp - _d) % 3) { str = string(abi.encodePacked(str, ",")); } } else { if ((_n / 10**_offset) % 10**(_tmp - _offset - i - 1) == 0) { break; } else if (i == _tmp - _d - 1) { str = string(abi.encodePacked(str, ".")); } } } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"Approval","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":"tokens","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"_user","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":"_tokens","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"collectTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"creator","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"creatorFee","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initialMarketCap","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_creator","type":"address"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"uint256","name":"_totalSupply","type":"uint256"},{"internalType":"uint256","name":"_initialMarketCap","type":"uint256"},{"internalType":"uint256","name":"_transferTax","type":"uint256"},{"internalType":"uint256","name":"_creatorFee","type":"uint256"}],"name":"initialize","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"lock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"source","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","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":"_to","type":"address"},{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_tokens","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"transferAndCall","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferTax","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
608060405234801561000f575f80fd5b50611b348061001d5f395ff3fe608060405260043610610110575f3560e01c806367e828bf1161009d578063a8aa1b3111610062578063a8aa1b31146102c9578063a9059cbb146102eb578063dd62ed3e1461030a578063e88958dc14610352578063f83d08ba14610366575f80fd5b806367e828bf146102465780636db17cfb1461025a57806370a082311461026d5780638124f7ac146102a157806395d89b41146102b5575f80fd5b806323b872dd116100e357806323b872dd146101b8578063313ce567146101d75780633b5f1935146101fd5780633d8705ab146102115780634000aea014610227575f80fd5b806302d05d3f1461011457806306fdde031461014a578063095ea7b31461016b57806318160ddd1461019a575b5f80fd5b34801561011f575f80fd5b506003546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b348015610155575f80fd5b5061015e61037a565b6040516101419190611255565b348015610176575f80fd5b5061018a61018536600461129e565b610405565b6040519015158152602001610141565b3480156101a5575f80fd5b506004545b604051908152602001610141565b3480156101c3575f80fd5b5061018a6101d23660046112c8565b61041a565b3480156101e2575f80fd5b506101eb601281565b60405160ff9091168152602001610141565b348015610208575f80fd5b5061015e610497565b34801561021c575f80fd5b506102256104cf565b005b348015610232575f80fd5b5061018a610241366004611306565b61055c565b348015610251575f80fd5b5061015e6105fd565b610225610268366004611439565b610619565b348015610278575f80fd5b506101aa6102873660046114cd565b6001600160a01b03165f9081526008602052604090205490565b3480156102ac575f80fd5b5061015e61074c565b3480156102c0575f80fd5b5061015e610779565b3480156102d4575f80fd5b5060025461010090046001600160a01b031661012d565b3480156102f6575f80fd5b5061018a61030536600461129e565b610786565b348015610315575f80fd5b506101aa6103243660046114e8565b6001600160a01b039182165f9081526008602090815260408083209390941682526001909201909152205490565b34801561035d575f80fd5b5061015e610792565b348015610371575f80fd5b506102256107a7565b5f80546103869061151f565b80601f01602080910402602001604051908101604052809291908181526020018280546103b29061151f565b80156103fd5780601f106103d4576101008083540402835291602001916103fd565b820191905f5260205f20905b8154815290600101906020018083116103e057829003601f168201915b505050505081565b5f6104113384846107d1565b90505b92915050565b6001600160a01b0383165f9081526008602090815260408083203384526001019091528120548281101561044c575f80fd5b5f198114610481576001600160a01b0385165f9081526008602090815260408083203384526001019091529020805484900390555b61048c85858561083c565b9150505b9392505050565b60606104ab600260030154601260056109dc565b6040516020016104bb9190611557565b604051602081830303815290604052905090565b305f81815260086020526040902054806104e7575f80fd5b61050d826104fd6003546001600160a01b031690565b6105086002856115a6565b61083c565b506105328273e6c791fbd46db3f4eda5f7bb76474f4fa530733e6105086003856115a6565b506105578273c28c9da0f8a500dffc16ff09a3dd1cc4c530d3466105086006856115a6565b505050565b5f61056833868661083c565b50843b63ffffffff8116156105f157604051636be32e7360e01b81526001600160a01b03871690636be32e73906105a99033908990899089906004016115b9565b6020604051808303815f875af11580156105c5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105e99190611600565b6105f1575f80fd5b50600195945050505050565b604051806060016040528060368152602001611ac96036913981565b60025460ff1615610628575f80fd5b60045415610634575f80fd5b5f865111801561064657506020865111155b61064e575f80fd5b5f855111801561066057506020855111155b610668575f80fd5b662386f26fc10000841015801561068d57506d314dc6448d9338c15b0a000000008411155b610695575f80fd5b5f83116106a0575f80fd5b6103e882106106ad575f80fd5b6103e881106106ba575f80fd5b823410156106c6575f80fd5b600380546001600160a01b0319166001600160a01b0389161790555f6106ec878261166a565b5060016106f9868261166a565b506004849055305f818152600860209081526040808320889055518781525f80516020611aa9833981519152910160405180910390a360058390556007819055610741610ce9565b506006555050505050565b60065460609061076990610761906064611726565b6003806109dc565b6040516020016104bb919061173d565b600180546103869061151f565b5f61041133848461083c565b60075460609061076990610761906064611726565b60025460ff16156107b6575f80fd5b600454156107c2575f80fd5b6002805460ff19166001179055565b6001600160a01b038381165f8181526008602090815260408083209487168084526001909501825280832086905551858152919392917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35060019392505050565b5f808211610848575f80fd5b81610867856001600160a01b03165f9081526008602052604090205490565b1015610871575f80fd5b600654309015806108935750806001600160a01b0316856001600160a01b0316145b806108af5750806001600160a01b0316846001600160a01b0316145b806108c757506003546001600160a01b038681169116145b15610927576001600160a01b038086165f81815260086020526040808220805488900390559287168082529083902080548701905591515f80516020611aa98339815191529061091a9087815260200190565b60405180910390a36109d1565b6001600160a01b038581165f818152600860209081526040808320805489900390556006549486168084529281902080546103e8968a02969096049586019055518481529192915f80516020611aa9833981519152910160405180910390a36001600160a01b038581165f818152600860209081526040918290208054868a03908101909155915191825291928916915f80516020611aa9833981519152910160405180910390a3505b506001949350505050565b60605f8284116109ec57836109ee565b825b90505f8185116109fe575f610a08565b610a088286611761565b610a1390600a611854565b610a1d90876115a6565b9050805f03610a4957604051806040016040528060018152602001600360fc1b81525092505050610490565b6001815b6009811115610a7557610a61600a826115a6565b905081610a6d8161185f565b925050610a4d565b838211610a8c57610a87846001611877565b610a8e565b815b90505f610a9c856001611877565b8211610aa8575f610ae1565b846001610ab58285611761565b610abf9190611761565b11610adf576001610ad08684611761565b610ada9190611761565b610ae1565b845b90505f5b610aef8284611761565b811015610cdc575f610b018585611761565b8210610b4357600a6001610b158487611761565b610b1f9190611761565b610b2a90600a611854565b610b3490886115a6565b610b3e919061188a565b610b45565b5f5b6040805160018082528183019092529192505f9190602082018180368337019050509050610b7482603061189d565b60f81b815f81518110610b8957610b896118b6565b60200101906001600160f81b03191690815f1a9053508881604051602001610bb29291906118ca565b60408051601f1981840301815291905298506001610bd08987611761565b610bda9190611761565b831015610c3b576003610bed8987611761565b610bf7919061188a565b6003610c04856001611877565b610c0e919061188a565b03610c365788604051602001610c2491906118f8565b60405160208183030381529060405298505b610cd2565b600183610c488688611761565b610c529190611761565b610c5c9190611761565b610c6790600a611854565b610c7285600a611854565b610c7c90896115a6565b610c86919061188a565b5f03610c93575050610cdc565b6001610c9f8987611761565b610ca99190611761565b8303610cd25788604051602001610cc0919061191c565b60405160208183030381529060405298505b5050600101610ae5565b5050505050509392505050565b5f3090505f737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d3e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d629190611940565b9050610d8b82737a250d5630b4cf539739df2c5dacb4c659f2488d610d8660045490565b6107d1565b50737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ddc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e009190611940565b6040516364e329cb60e11b81526001600160a01b0383811660048301528481166024830152919091169063c9c65396906044016020604051808303815f875af1158015610e4f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e739190611940565b600280546001600160a01b039290921661010002610100600160a81b03199092169190911790556005545f90737a250d5630b4cf539739df2c5dacb4c659f2488d9063f305d7199085610ec560045490565b6040516001600160e01b031960e086901b1681526001600160a01b03928316600482015260248101919091525f60448201819052606482015290871660848201524260a482015260c40160606040518083038185885af1158015610f2b573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610f50919061195b565b925050505f610f6d6002546001600160a01b036101009091041690565b6007549091501561102257806001600160a01b031663a9059cbb610f996003546001600160a01b031690565b6007546103e890610faa9087611726565b610fb491906115a6565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af1158015610ffc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110209190611600565b505b6040516370a0823160e01b81526001600160a01b03858116600483015282169063a9059cbb905f9083906370a0823190602401602060405180830381865afa158015611070573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110949190611986565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af11580156110dc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111009190611600565b5060055434111561122d576040805160028082526060820183525f9260208301908036833701905050905083815f8151811061113e5761113e6118b6565b60200260200101906001600160a01b031690816001600160a01b0316815250508481600181518110611172576111726118b6565b6001600160a01b0390921660209283029190910190910152600554737a250d5630b4cf539739df2c5dacb4c659f2488d90637ff36ab5906111b39034611761565b5f846111c76003546001600160a01b031690565b426040518663ffffffff1660e01b81526004016111e7949392919061199d565b5f6040518083038185885af1158015611202573d5f803e3d5ffd5b50505050506040513d5f823e601f3d908101601f1916820160405261122a9190810190611a07565b50505b50505050565b5f5b8381101561124d578181015183820152602001611235565b50505f910152565b602081525f8251806020840152611273816040850160208701611233565b601f01601f19169190910160400192915050565b6001600160a01b038116811461129b575f80fd5b50565b5f80604083850312156112af575f80fd5b82356112ba81611287565b946020939093013593505050565b5f805f606084860312156112da575f80fd5b83356112e581611287565b925060208401356112f581611287565b929592945050506040919091013590565b5f805f8060608587031215611319575f80fd5b843561132481611287565b935060208501359250604085013567ffffffffffffffff80821115611347575f80fd5b818701915087601f83011261135a575f80fd5b813581811115611368575f80fd5b886020828501011115611379575f80fd5b95989497505060200194505050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff811182821017156113c5576113c5611388565b604052919050565b5f82601f8301126113dc575f80fd5b813567ffffffffffffffff8111156113f6576113f6611388565b611409601f8201601f191660200161139c565b81815284602083860101111561141d575f80fd5b816020850160208301375f918101602001919091529392505050565b5f805f805f805f60e0888a03121561144f575f80fd5b873561145a81611287565b9650602088013567ffffffffffffffff80821115611476575f80fd5b6114828b838c016113cd565b975060408a0135915080821115611497575f80fd5b506114a48a828b016113cd565b979a96995096976060810135975060808101359660a0820135965060c090910135945092505050565b5f602082840312156114dd575f80fd5b813561049081611287565b5f80604083850312156114f9575f80fd5b823561150481611287565b9150602083013561151481611287565b809150509250929050565b600181811c9082168061153357607f821691505b60208210810361155157634e487b7160e01b5f52602260045260245ffd5b50919050565b5f8251611568818460208701611233565b630408aa8960e31b920191825250600401919050565b634e487b7160e01b5f52601260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f826115b4576115b461157e565b500490565b6001600160a01b0385168152602081018490526060604082018190528101829052818360808301375f818301608090810191909152601f909201601f191601019392505050565b5f60208284031215611610575f80fd5b81518015158114610490575f80fd5b601f82111561055757805f5260205f20601f840160051c810160208510156116445750805b601f840160051c820191505b81811015611663575f8155600101611650565b5050505050565b815167ffffffffffffffff81111561168457611684611388565b61169881611692845461151f565b8461161f565b602080601f8311600181146116cb575f84156116b45750858301515b5f19600386901b1c1916600185901b17855561122a565b5f85815260208120601f198616915b828110156116f9578886015182559484019460019091019084016116da565b508582101561171657878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b808202811582820484141761041457610414611592565b5f825161174e818460208701611233565b602560f81b920191825250600101919050565b8181038181111561041457610414611592565b600181815b808511156117ae57815f190482111561179457611794611592565b808516156117a157918102915b93841c9390800290611779565b509250929050565b5f826117c457506001610414565b816117d057505f610414565b81600181146117e657600281146117f05761180c565b6001915050610414565b60ff84111561180157611801611592565b50506001821b610414565b5060208310610133831016604e8410600b841016171561182f575081810a610414565b6118398383611774565b805f190482111561184c5761184c611592565b029392505050565b5f61041183836117b6565b5f6001820161187057611870611592565b5060010190565b8082018082111561041457610414611592565b5f826118985761189861157e565b500690565b60ff818116838216019081111561041457610414611592565b634e487b7160e01b5f52603260045260245ffd5b5f83516118db818460208801611233565b8351908301906118ef818360208801611233565b01949350505050565b5f8251611909818460208701611233565b600b60fa1b920191825250600101919050565b5f825161192d818460208701611233565b601760f91b920191825250600101919050565b5f60208284031215611950575f80fd5b815161049081611287565b5f805f6060848603121561196d575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611996575f80fd5b5051919050565b5f6080820186835260206080602085015281875180845260a0860191506020890193505f5b818110156119e75784516001600160a01b0316835293830193918301916001016119c2565b50506001600160a01b039690961660408501525050506060015292915050565b5f6020808385031215611a18575f80fd5b825167ffffffffffffffff80821115611a2f575f80fd5b818501915085601f830112611a42575f80fd5b815181811115611a5457611a54611388565b8060051b9150611a6584830161139c565b8181529183018401918481019088841115611a7e575f80fd5b938501935b83851015611a9c57845182529385019390850190611a83565b9897505050505050505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef43726561746564207769746820426f73736d616e27732042616b657279202862616b6572792e6d756c6c65742e6361706974616c2921a264697066735822122053055bcab1f59921766b17fc0a8838a48bda24472e9911cd8f4e9226928a687f64736f6c63430008160033
Deployed Bytecode
0x608060405260043610610110575f3560e01c806367e828bf1161009d578063a8aa1b3111610062578063a8aa1b31146102c9578063a9059cbb146102eb578063dd62ed3e1461030a578063e88958dc14610352578063f83d08ba14610366575f80fd5b806367e828bf146102465780636db17cfb1461025a57806370a082311461026d5780638124f7ac146102a157806395d89b41146102b5575f80fd5b806323b872dd116100e357806323b872dd146101b8578063313ce567146101d75780633b5f1935146101fd5780633d8705ab146102115780634000aea014610227575f80fd5b806302d05d3f1461011457806306fdde031461014a578063095ea7b31461016b57806318160ddd1461019a575b5f80fd5b34801561011f575f80fd5b506003546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b348015610155575f80fd5b5061015e61037a565b6040516101419190611255565b348015610176575f80fd5b5061018a61018536600461129e565b610405565b6040519015158152602001610141565b3480156101a5575f80fd5b506004545b604051908152602001610141565b3480156101c3575f80fd5b5061018a6101d23660046112c8565b61041a565b3480156101e2575f80fd5b506101eb601281565b60405160ff9091168152602001610141565b348015610208575f80fd5b5061015e610497565b34801561021c575f80fd5b506102256104cf565b005b348015610232575f80fd5b5061018a610241366004611306565b61055c565b348015610251575f80fd5b5061015e6105fd565b610225610268366004611439565b610619565b348015610278575f80fd5b506101aa6102873660046114cd565b6001600160a01b03165f9081526008602052604090205490565b3480156102ac575f80fd5b5061015e61074c565b3480156102c0575f80fd5b5061015e610779565b3480156102d4575f80fd5b5060025461010090046001600160a01b031661012d565b3480156102f6575f80fd5b5061018a61030536600461129e565b610786565b348015610315575f80fd5b506101aa6103243660046114e8565b6001600160a01b039182165f9081526008602090815260408083209390941682526001909201909152205490565b34801561035d575f80fd5b5061015e610792565b348015610371575f80fd5b506102256107a7565b5f80546103869061151f565b80601f01602080910402602001604051908101604052809291908181526020018280546103b29061151f565b80156103fd5780601f106103d4576101008083540402835291602001916103fd565b820191905f5260205f20905b8154815290600101906020018083116103e057829003601f168201915b505050505081565b5f6104113384846107d1565b90505b92915050565b6001600160a01b0383165f9081526008602090815260408083203384526001019091528120548281101561044c575f80fd5b5f198114610481576001600160a01b0385165f9081526008602090815260408083203384526001019091529020805484900390555b61048c85858561083c565b9150505b9392505050565b60606104ab600260030154601260056109dc565b6040516020016104bb9190611557565b604051602081830303815290604052905090565b305f81815260086020526040902054806104e7575f80fd5b61050d826104fd6003546001600160a01b031690565b6105086002856115a6565b61083c565b506105328273e6c791fbd46db3f4eda5f7bb76474f4fa530733e6105086003856115a6565b506105578273c28c9da0f8a500dffc16ff09a3dd1cc4c530d3466105086006856115a6565b505050565b5f61056833868661083c565b50843b63ffffffff8116156105f157604051636be32e7360e01b81526001600160a01b03871690636be32e73906105a99033908990899089906004016115b9565b6020604051808303815f875af11580156105c5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105e99190611600565b6105f1575f80fd5b50600195945050505050565b604051806060016040528060368152602001611ac96036913981565b60025460ff1615610628575f80fd5b60045415610634575f80fd5b5f865111801561064657506020865111155b61064e575f80fd5b5f855111801561066057506020855111155b610668575f80fd5b662386f26fc10000841015801561068d57506d314dc6448d9338c15b0a000000008411155b610695575f80fd5b5f83116106a0575f80fd5b6103e882106106ad575f80fd5b6103e881106106ba575f80fd5b823410156106c6575f80fd5b600380546001600160a01b0319166001600160a01b0389161790555f6106ec878261166a565b5060016106f9868261166a565b506004849055305f818152600860209081526040808320889055518781525f80516020611aa9833981519152910160405180910390a360058390556007819055610741610ce9565b506006555050505050565b60065460609061076990610761906064611726565b6003806109dc565b6040516020016104bb919061173d565b600180546103869061151f565b5f61041133848461083c565b60075460609061076990610761906064611726565b60025460ff16156107b6575f80fd5b600454156107c2575f80fd5b6002805460ff19166001179055565b6001600160a01b038381165f8181526008602090815260408083209487168084526001909501825280832086905551858152919392917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35060019392505050565b5f808211610848575f80fd5b81610867856001600160a01b03165f9081526008602052604090205490565b1015610871575f80fd5b600654309015806108935750806001600160a01b0316856001600160a01b0316145b806108af5750806001600160a01b0316846001600160a01b0316145b806108c757506003546001600160a01b038681169116145b15610927576001600160a01b038086165f81815260086020526040808220805488900390559287168082529083902080548701905591515f80516020611aa98339815191529061091a9087815260200190565b60405180910390a36109d1565b6001600160a01b038581165f818152600860209081526040808320805489900390556006549486168084529281902080546103e8968a02969096049586019055518481529192915f80516020611aa9833981519152910160405180910390a36001600160a01b038581165f818152600860209081526040918290208054868a03908101909155915191825291928916915f80516020611aa9833981519152910160405180910390a3505b506001949350505050565b60605f8284116109ec57836109ee565b825b90505f8185116109fe575f610a08565b610a088286611761565b610a1390600a611854565b610a1d90876115a6565b9050805f03610a4957604051806040016040528060018152602001600360fc1b81525092505050610490565b6001815b6009811115610a7557610a61600a826115a6565b905081610a6d8161185f565b925050610a4d565b838211610a8c57610a87846001611877565b610a8e565b815b90505f610a9c856001611877565b8211610aa8575f610ae1565b846001610ab58285611761565b610abf9190611761565b11610adf576001610ad08684611761565b610ada9190611761565b610ae1565b845b90505f5b610aef8284611761565b811015610cdc575f610b018585611761565b8210610b4357600a6001610b158487611761565b610b1f9190611761565b610b2a90600a611854565b610b3490886115a6565b610b3e919061188a565b610b45565b5f5b6040805160018082528183019092529192505f9190602082018180368337019050509050610b7482603061189d565b60f81b815f81518110610b8957610b896118b6565b60200101906001600160f81b03191690815f1a9053508881604051602001610bb29291906118ca565b60408051601f1981840301815291905298506001610bd08987611761565b610bda9190611761565b831015610c3b576003610bed8987611761565b610bf7919061188a565b6003610c04856001611877565b610c0e919061188a565b03610c365788604051602001610c2491906118f8565b60405160208183030381529060405298505b610cd2565b600183610c488688611761565b610c529190611761565b610c5c9190611761565b610c6790600a611854565b610c7285600a611854565b610c7c90896115a6565b610c86919061188a565b5f03610c93575050610cdc565b6001610c9f8987611761565b610ca99190611761565b8303610cd25788604051602001610cc0919061191c565b60405160208183030381529060405298505b5050600101610ae5565b5050505050509392505050565b5f3090505f737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d3e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d629190611940565b9050610d8b82737a250d5630b4cf539739df2c5dacb4c659f2488d610d8660045490565b6107d1565b50737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ddc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e009190611940565b6040516364e329cb60e11b81526001600160a01b0383811660048301528481166024830152919091169063c9c65396906044016020604051808303815f875af1158015610e4f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e739190611940565b600280546001600160a01b039290921661010002610100600160a81b03199092169190911790556005545f90737a250d5630b4cf539739df2c5dacb4c659f2488d9063f305d7199085610ec560045490565b6040516001600160e01b031960e086901b1681526001600160a01b03928316600482015260248101919091525f60448201819052606482015290871660848201524260a482015260c40160606040518083038185885af1158015610f2b573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610f50919061195b565b925050505f610f6d6002546001600160a01b036101009091041690565b6007549091501561102257806001600160a01b031663a9059cbb610f996003546001600160a01b031690565b6007546103e890610faa9087611726565b610fb491906115a6565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af1158015610ffc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110209190611600565b505b6040516370a0823160e01b81526001600160a01b03858116600483015282169063a9059cbb905f9083906370a0823190602401602060405180830381865afa158015611070573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110949190611986565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af11580156110dc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111009190611600565b5060055434111561122d576040805160028082526060820183525f9260208301908036833701905050905083815f8151811061113e5761113e6118b6565b60200260200101906001600160a01b031690816001600160a01b0316815250508481600181518110611172576111726118b6565b6001600160a01b0390921660209283029190910190910152600554737a250d5630b4cf539739df2c5dacb4c659f2488d90637ff36ab5906111b39034611761565b5f846111c76003546001600160a01b031690565b426040518663ffffffff1660e01b81526004016111e7949392919061199d565b5f6040518083038185885af1158015611202573d5f803e3d5ffd5b50505050506040513d5f823e601f3d908101601f1916820160405261122a9190810190611a07565b50505b50505050565b5f5b8381101561124d578181015183820152602001611235565b50505f910152565b602081525f8251806020840152611273816040850160208701611233565b601f01601f19169190910160400192915050565b6001600160a01b038116811461129b575f80fd5b50565b5f80604083850312156112af575f80fd5b82356112ba81611287565b946020939093013593505050565b5f805f606084860312156112da575f80fd5b83356112e581611287565b925060208401356112f581611287565b929592945050506040919091013590565b5f805f8060608587031215611319575f80fd5b843561132481611287565b935060208501359250604085013567ffffffffffffffff80821115611347575f80fd5b818701915087601f83011261135a575f80fd5b813581811115611368575f80fd5b886020828501011115611379575f80fd5b95989497505060200194505050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff811182821017156113c5576113c5611388565b604052919050565b5f82601f8301126113dc575f80fd5b813567ffffffffffffffff8111156113f6576113f6611388565b611409601f8201601f191660200161139c565b81815284602083860101111561141d575f80fd5b816020850160208301375f918101602001919091529392505050565b5f805f805f805f60e0888a03121561144f575f80fd5b873561145a81611287565b9650602088013567ffffffffffffffff80821115611476575f80fd5b6114828b838c016113cd565b975060408a0135915080821115611497575f80fd5b506114a48a828b016113cd565b979a96995096976060810135975060808101359660a0820135965060c090910135945092505050565b5f602082840312156114dd575f80fd5b813561049081611287565b5f80604083850312156114f9575f80fd5b823561150481611287565b9150602083013561151481611287565b809150509250929050565b600181811c9082168061153357607f821691505b60208210810361155157634e487b7160e01b5f52602260045260245ffd5b50919050565b5f8251611568818460208701611233565b630408aa8960e31b920191825250600401919050565b634e487b7160e01b5f52601260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f826115b4576115b461157e565b500490565b6001600160a01b0385168152602081018490526060604082018190528101829052818360808301375f818301608090810191909152601f909201601f191601019392505050565b5f60208284031215611610575f80fd5b81518015158114610490575f80fd5b601f82111561055757805f5260205f20601f840160051c810160208510156116445750805b601f840160051c820191505b81811015611663575f8155600101611650565b5050505050565b815167ffffffffffffffff81111561168457611684611388565b61169881611692845461151f565b8461161f565b602080601f8311600181146116cb575f84156116b45750858301515b5f19600386901b1c1916600185901b17855561122a565b5f85815260208120601f198616915b828110156116f9578886015182559484019460019091019084016116da565b508582101561171657878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b808202811582820484141761041457610414611592565b5f825161174e818460208701611233565b602560f81b920191825250600101919050565b8181038181111561041457610414611592565b600181815b808511156117ae57815f190482111561179457611794611592565b808516156117a157918102915b93841c9390800290611779565b509250929050565b5f826117c457506001610414565b816117d057505f610414565b81600181146117e657600281146117f05761180c565b6001915050610414565b60ff84111561180157611801611592565b50506001821b610414565b5060208310610133831016604e8410600b841016171561182f575081810a610414565b6118398383611774565b805f190482111561184c5761184c611592565b029392505050565b5f61041183836117b6565b5f6001820161187057611870611592565b5060010190565b8082018082111561041457610414611592565b5f826118985761189861157e565b500690565b60ff818116838216019081111561041457610414611592565b634e487b7160e01b5f52603260045260245ffd5b5f83516118db818460208801611233565b8351908301906118ef818360208801611233565b01949350505050565b5f8251611909818460208701611233565b600b60fa1b920191825250600101919050565b5f825161192d818460208701611233565b601760f91b920191825250600101919050565b5f60208284031215611950575f80fd5b815161049081611287565b5f805f6060848603121561196d575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611996575f80fd5b5051919050565b5f6080820186835260206080602085015281875180845260a0860191506020890193505f5b818110156119e75784516001600160a01b0316835293830193918301916001016119c2565b50506001600160a01b039690961660408501525050506060015292915050565b5f6020808385031215611a18575f80fd5b825167ffffffffffffffff80821115611a2f575f80fd5b818501915085601f830112611a42575f80fd5b815181811115611a5457611a54611388565b8060051b9150611a6584830161139c565b8181529183018401918481019088841115611a7e575f80fd5b938501935b83851015611a9c57845182529385019390850190611a83565b9897505050505050505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef43726561746564207769746820426f73736d616e27732042616b657279202862616b6572792e6d756c6c65742e6361706974616c2921a264697066735822122053055bcab1f59921766b17fc0a8838a48bda24472e9911cd8f4e9226928a687f64736f6c63430008160033
Deployed Bytecode Sourcemap
827:7369:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4317:78;;;;;;;;;;-1:-1:-1;4378:12:0;;-1:-1:-1;;;;;4378:12:0;4317:78;;;-1:-1:-1;;;;;178:32:1;;;160:51;;148:2;133:18;4317:78:0;;;;;;;;1239:18;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;3497:132::-;;;;;;;;;;-1:-1:-1;3497:132:0;;;;;:::i;:::-;;:::i;:::-;;;1499:14:1;;1492:22;1474:41;;1462:2;1447:18;3497:132:0;1334:187:1;4477:86:0;;;;;;;;;;-1:-1:-1;4542:16:0;;4477:86;;;1672:25:1;;;1660:2;1645:18;4477:86:0;1526:177:1;3634:347:0;;;;;;;;;;-1:-1:-1;3634:347:0;;;;;:::i;:::-;;:::i;1285:35::-;;;;;;;;;;;;1318:2;1285:35;;;;;2341:4:1;2329:17;;;2311:36;;2299:2;2284:18;1285:35:0;2169:184:1;4820:156:0;;;;;;;;;;;;;:::i;3028:335::-;;;;;;;;;;;;;:::i;:::-;;3986:323;;;;;;;;;;-1:-1:-1;3986:323:0;;;;;:::i;:::-;;:::i;1326:88::-;;;;;;;;;;;;;:::i;2019:1004::-;;;;;;:::i;:::-;;:::i;4568:106::-;;;;;;;;;;-1:-1:-1;4568:106:0;;;;;:::i;:::-;-1:-1:-1;;;;;4644:17:0;4623:7;4644:17;;;:10;:17;;;;;:25;;4568:106;4981:148;;;;;;;;;;;;;:::i;1261:20::-;;;;;;;;;;;;;:::i;4400:72::-;;;;;;;;;;-1:-1:-1;4458:4:0;:9;;;;-1:-1:-1;;;;;4458:9:0;4400:72;;3368:124;;;;;;;;;;-1:-1:-1;3368:124:0;;;;;:::i;:::-;;:::i;4679:136::-;;;;;;;;;;-1:-1:-1;4679:136:0;;;;;:::i;:::-;-1:-1:-1;;;;;4773:17:0;;;4752:7;4773:17;;;:10;:17;;;;;;;;:37;;;;;;:27;;;;:37;;;;;;4679:136;5134:146;;;;;;;;;;;;;:::i;1902:111::-;;;;;;;;;;;;;:::i;1239:18::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3497:132::-;3567:4;3585:39;3594:10;3606:8;3616:7;3585:8;:39::i;:::-;3578:46;;3497:132;;;;;:::o;3634:347::-;-1:-1:-1;;;;;4773:17:0;;3719:4;4773:17;;;:10;:17;;;;;;;;3784:10;4773:37;;:27;;:37;;;;;;3823:7;3809:10;:21;;3801:30;;;;;;-1:-1:-1;;3841:10:0;:22;3837:92;;-1:-1:-1;;;;;3872:17:0;;;;;;:10;:17;;;;;;;;3900:10;3872:39;;:27;;:39;;;;;:50;;;;;;;3837:92;3941:30;3951:5;3958:3;3963:7;3941:9;:30::i;:::-;3934:37;;;3634:347;;;;;;:::o;4820:156::-;4871:13;4922:39;4932:4;:21;;;4955:2;4959:1;4922:9;:39::i;:::-;4905:65;;;;;;;;:::i;:::-;;;;;;;;;;;;;4891:80;;4820:156;:::o;3028:335::-;3088:4;3064:13;4644:17;;;:10;:17;;;;;:25;3145:11;3137:20;;;;;;3162:40;3172:5;3179:9;4378:12;;-1:-1:-1;;;;;4378:12:0;;4317:78;3179:9;3190:11;3200:1;3190:7;:11;:::i;:::-;3162:9;:40::i;:::-;-1:-1:-1;3207:73:0;3217:5;3224:42;3268:11;3278:1;3268:7;:11;:::i;3207:73::-;-1:-1:-1;3285:73:0;3295:5;3302:42;3346:11;3356:1;3346:7;:11;:::i;3285:73::-;;3059:304;;3028:335::o;3986:323::-;4081:4;4092:35;4102:10;4114:3;4119:7;4092:9;:35::i;:::-;-1:-1:-1;4173:16:0;;4202:9;;;;4198:91;;4227:55;;-1:-1:-1;;;4227:55:0;;-1:-1:-1;;;;;4227:27:0;;;;;:55;;4255:10;;4267:7;;4276:5;;;;4227:55;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4219:64;;;;;;-1:-1:-1;4300:4:0;;3986:323;-1:-1:-1;;;;;3986:323:0:o;1326:88::-;;;;;;;;;;;;;;;;;;;:::o;2019:1004::-;2224:4;:11;;;2223:12;2215:21;;;;;;4542:16;;2249:18;2241:27;;;;;;2303:1;2287:5;2281:19;:23;:65;;;;;948:2;2314:5;2308:19;:38;;2281:65;2273:74;;;;;;2384:1;2366:7;2360:21;:25;:69;;;;;948:2;2395:7;2389:21;:40;;2360:69;2352:78;;;;;;992:4;2443:12;:26;;:56;;;;;1053:4;2473:12;:26;;2443:56;2435:65;;;;;;2533:1;2513:17;:21;2505:30;;;;;;1130:4;2548:12;:32;2540:41;;;;;;1130:4;2594:11;:31;2586:40;;;;;;2652:17;2639:9;:30;;2631:39;;;;;;2675:12;:23;;-1:-1:-1;;;;;;2675:23:0;-1:-1:-1;;;;;2675:23:0;;;;;-1:-1:-1;2703:12:0;2710:5;-1:-1:-1;2703:12:0;:::i;:::-;-1:-1:-1;2720:6:0;:16;2729:7;2720:6;:16;:::i;:::-;-1:-1:-1;2741:16:0;:31;;;2796:4;2777:25;;;;:10;:25;;;;;;;;:48;;;2835:51;1672:25:1;;;-1:-1:-1;;;;;;;;;;;2835:51:0;1645:18:1;2835:51:0;;;;;;;2891:21;:41;;;2937:15;:29;;;2971:11;:9;:11::i;:::-;-1:-1:-1;2987:16:0;:31;-1:-1:-1;;;;;2019:1004:0:o;4981:148::-;5088:16;;5027:13;;5078:39;;5088:22;;5107:3;5088:22;:::i;:::-;5112:1;5115;5078:9;:39::i;:::-;5061:62;;;;;;;;:::i;1261:20::-;;;;;;;:::i;3368:124::-;3434:4;3452:35;3462:10;3474:3;3479:7;3452:9;:35::i;5134:146::-;5240:15;;5179:13;;5230:38;;5240:21;;5258:3;5240:21;:::i;1902:111::-;1941:4;:11;;;1940:12;1932:21;;;;;;4542:16;;1966:18;1958:27;;;;;;1990:4;:18;;-1:-1:-1;;1990:18:0;2004:4;1990:18;;;1902:111::o;6112:212::-;-1:-1:-1;;;;;6210:18:0;;;6199:4;6210:18;;;:10;:18;;;;;;;;:38;;;;;;:28;;;;:38;;;;;:48;;;6268:35;1672:25:1;;;6199:4:0;;6210:38;:18;6268:35;;1645:18:1;6268:35:0;;;;;;;-1:-1:-1;6315:4:0;6112:212;;;;;:::o;6330:753::-;6412:4;6457:1;6447:7;:11;6439:20;;;;;;6493:7;6473:16;6483:5;-1:-1:-1;;;;;4644:17:0;4623:7;4644:17;;;:10;:17;;;;;:25;;4568:106;6473:16;:27;;6465:36;;;;;;6546:16;;6531:4;;6546:21;;:39;;;6580:5;-1:-1:-1;;;;;6571:14:0;:5;-1:-1:-1;;;;;6571:14:0;;6546:39;:55;;;;6596:5;-1:-1:-1;;;;;6589:12:0;:3;-1:-1:-1;;;;;6589:12:0;;6546:55;:77;;;-1:-1:-1;4378:12:0;;-1:-1:-1;;;;;6605:18:0;;;4378:12;;6605:18;6546:77;6542:515;;;-1:-1:-1;;;;;6632:17:0;;;;;;;:10;:17;;;;;;:36;;;;;;;6675:15;;;;;;;;;;:34;;;;;;6721:29;;-1:-1:-1;;;;;;;;;;;6721:29:0;;;6661:7;1672:25:1;;1660:2;1645:18;;1526:177;6721:29:0;;;;;;;;6542:515;;;-1:-1:-1;;;;;6770:17:0;;;;;;;:10;:17;;;;;;;;:36;;;;;;;:10;6838:16;6881:17;;;;;;;;;;:33;;1130:4;6828:26;;;:46;;;;6881:33;;;;;6926:28;1672:25:1;;;6881:17:0;;6770;-1:-1:-1;;;;;;;;;;;6926:28:0;1645:18:1;6926:28:0;;;;;;;-1:-1:-1;;;;;6961:15:0;;;;;;;:10;:15;;;;;;;;;:41;;6988:14;;;6961:41;;;;;;7014:36;;1672:25:1;;;6961:15:0;;7014:36;;;-1:-1:-1;;;;;;;;;;;7014:36:0;1645:18:1;7014:36:0;;;;;;;6763:294;6542:515;-1:-1:-1;7069:4:0;;6330:753;-1:-1:-1;;;;6330:753:0:o;7090:1103::-;7186:17;7210:10;7232:12;7223:6;:21;:45;;7262:6;7223:45;;;7247:12;7223:45;7210:58;;7273:10;7309:2;7300:6;:11;:29;;7328:1;7300:29;;;7314:11;7323:2;7314:6;:11;:::i;:::-;7295:35;;:2;:35;:::i;:::-;7286:44;;:6;:44;:::i;:::-;7273:57;;7339:2;7345:1;7339:7;7335:35;;7354:10;;;;;;;;;;;;;-1:-1:-1;;;7354:10:0;;;;;;;;;7335:35;7392:1;7413:2;7420:54;7434:1;7427:4;:8;7420:54;;;7443:10;7451:2;7443:10;;:::i;:::-;;-1:-1:-1;7459:9:0;;;;:::i;:::-;;;;7420:54;;;7495:2;7485:7;:12;:31;;7510:6;:2;7515:1;7510:6;:::i;:::-;7485:31;;;7500:7;7485:31;7478:38;-1:-1:-1;7521:15:0;7547:6;:2;7552:1;7547:6;:::i;:::-;7540:4;:13;:59;;7598:1;7540:59;;;7572:2;7568:1;7556:9;7572:2;7556:4;:9;:::i;:::-;:13;;;;:::i;:::-;:18;:39;;7594:1;7582:9;7589:2;7582:4;:9;:::i;:::-;:13;;;;:::i;:::-;7556:39;;;7577:2;7556:39;7521:79;;7610:9;7605:584;7629:14;7636:7;7629:4;:14;:::i;:::-;7625:1;:18;7605:584;;;7656:12;7675:14;7682:7;7675:4;:14;:::i;:::-;7671:1;:18;:57;;7726:2;7719:1;7708:8;7715:1;7708:4;:8;:::i;:::-;:12;;;;:::i;:::-;7703:18;;:2;:18;:::i;:::-;7697:25;;:2;:25;:::i;:::-;7696:32;;;;:::i;:::-;7671:57;;;7692:1;7671:57;7755:12;;;7765:1;7755:12;;;;;;;;;7656:72;;-1:-1:-1;7734:18:0;;7755:12;;;;;;;;;;;-1:-1:-1;;7734:33:0;-1:-1:-1;7791:16:0;7797:4;7805:2;7791:16;:::i;:::-;7784:24;;7773:5;7779:1;7773:8;;;;;;;;:::i;:::-;;;;:35;-1:-1:-1;;;;;7773:35:0;;;;;;;;;7844:3;7856:5;7827:36;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7827:36:0;;;;;;;;;;-1:-1:-1;7890:1:0;7878:9;7885:2;7878:4;:9;:::i;:::-;:13;;;;:::i;:::-;7874:1;:17;7870:314;;;7933:1;7920:9;7927:2;7920:4;:9;:::i;:::-;7919:15;;;;:::i;:::-;7914:1;7905:5;:1;7909;7905:5;:::i;:::-;7904:11;;;;:::i;:::-;:30;7900:92;;7974:3;7957:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;7944:40;;7900:92;7870:314;;;8062:1;8058;8041:14;8048:7;8041:4;:14;:::i;:::-;:18;;;;:::i;:::-;:22;;;;:::i;:::-;8036:28;;:2;:28;:::i;:::-;8021:11;8025:7;8021:2;:11;:::i;:::-;8016:16;;:2;:16;:::i;:::-;8015:49;;;;:::i;:::-;8068:1;8015:54;8011:167;;8079:5;;;;8011:167;8119:1;8107:9;8114:2;8107:4;:9;:::i;:::-;:13;;;;:::i;:::-;8102:1;:18;8098:80;;8160:3;8143:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;8130:40;;8098:80;-1:-1:-1;;7645:3:0;;7605:584;;;;7205:988;;;;;7090:1103;;;;;:::o;5288:818::-;5323:13;5347:4;5323:29;;5357:13;1190:42;-1:-1:-1;;;;;5373:11:0;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5357:29;;5391:47;5400:5;1190:42;5424:13;4542:16;;;4477:86;5424:13;5391:8;:47::i;:::-;;1190:42;-1:-1:-1;;;;;5463:14:0;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5455:50;;-1:-1:-1;;;5455:50:0;;-1:-1:-1;;;;;14663:15:1;;;5455:50:0;;;14645:34:1;14715:15;;;14695:18;;;14688:43;5455:36:0;;;;;;;14580:18:1;;5455:50:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5443:4;:62;;-1:-1:-1;;;;;5443:62:0;;;;;;-1:-1:-1;;;;;;5443:62:0;;;;;;;;;5568:21;;5443:9;;1190:42;;5537:22;;5592:5;5599:13;4542:16;;;4477:86;5599:13;5537:106;;-1:-1:-1;;;;;;5537:106:0;;;;;;;-1:-1:-1;;;;;15101:15:1;;;5537:106:0;;;15083:34:1;15133:18;;;15126:34;;;;5614:1:0;15176:18:1;;;15169:34;;;15219:18;;;15212:34;15283:15;;;15262:19;;;15255:44;5627:15:0;15315:19:1;;;15308:35;15017:19;;5537:106:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5510:133;;;;5648:10;5666:6;4458:4;:9;-1:-1:-1;;;;;4458:9:0;;;;;;4400:72;5666:6;5682:15;;5648:25;;-1:-1:-1;5682:19:0;5678:111;;5709:5;-1:-1:-1;;;;;5709:14:0;;5724:9;4378:12;;-1:-1:-1;;;;;4378:12:0;;4317:78;5724:9;5747:15;;1130:4;;5735:27;;:9;:27;:::i;:::-;:47;;;;:::i;:::-;5709:74;;-1:-1:-1;;;;;;5709:74:0;;;;;;;-1:-1:-1;;;;;15857:32:1;;;5709:74:0;;;15839:51:1;15906:18;;;15899:34;15812:18;;5709:74:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5678:111;5822:22;;-1:-1:-1;;;5822:22:0;;-1:-1:-1;;;;;178:32:1;;;5822:22:0;;;160:51:1;5793:14:0;;;;;5816:3;;5793:14;;5822:15;;133:18:1;;5822:22:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5793:52;;-1:-1:-1;;;;;;5793:52:0;;;;;;;-1:-1:-1;;;;;15857:32:1;;;5793:52:0;;;15839:51:1;15906:18;;;15899:34;15812:18;;5793:52:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;5866:21:0;;5854:9;:33;5850:252;;;5920:16;;;5934:1;5920:16;;;;;;;;5895:22;;5920:16;;;;;;;;;;-1:-1:-1;5920:16:0;5895:41;;5953:5;5942;5948:1;5942:8;;;;;;;;:::i;:::-;;;;;;:16;-1:-1:-1;;;;;5942:16:0;;;-1:-1:-1;;;;;5942:16:0;;;;;5975:5;5964;5970:1;5964:8;;;;;;;;:::i;:::-;-1:-1:-1;;;;;5964:16:0;;;:8;;;;;;;;;;;:16;6035:21;;1190:42;;5986:28;;6023:33;;:9;:33;:::i;:::-;6059:1;6062:5;6069:9;4378:12;;-1:-1:-1;;;;;4378:12:0;;4317:78;6069:9;6080:15;5986:110;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5986:110:0;;;;;;;;;;;;:::i;:::-;;5889:213;5850:252;5318:788;;;;5288:818::o;222:250:1:-;307:1;317:113;331:6;328:1;325:13;317:113;;;407:11;;;401:18;388:11;;;381:39;353:2;346:10;317:113;;;-1:-1:-1;;464:1:1;446:16;;439:27;222:250::o;477:396::-;626:2;615:9;608:21;589:4;658:6;652:13;701:6;696:2;685:9;681:18;674:34;717:79;789:6;784:2;773:9;769:18;764:2;756:6;752:15;717:79;:::i;:::-;857:2;836:15;-1:-1:-1;;832:29:1;817:45;;;;864:2;813:54;;477:396;-1:-1:-1;;477:396:1:o;878:131::-;-1:-1:-1;;;;;953:31:1;;943:42;;933:70;;999:1;996;989:12;933:70;878:131;:::o;1014:315::-;1082:6;1090;1143:2;1131:9;1122:7;1118:23;1114:32;1111:52;;;1159:1;1156;1149:12;1111:52;1198:9;1185:23;1217:31;1242:5;1217:31;:::i;:::-;1267:5;1319:2;1304:18;;;;1291:32;;-1:-1:-1;;;1014:315:1:o;1708:456::-;1785:6;1793;1801;1854:2;1842:9;1833:7;1829:23;1825:32;1822:52;;;1870:1;1867;1860:12;1822:52;1909:9;1896:23;1928:31;1953:5;1928:31;:::i;:::-;1978:5;-1:-1:-1;2035:2:1;2020:18;;2007:32;2048:33;2007:32;2048:33;:::i;:::-;1708:456;;2100:7;;-1:-1:-1;;;2154:2:1;2139:18;;;;2126:32;;1708:456::o;2358:794::-;2446:6;2454;2462;2470;2523:2;2511:9;2502:7;2498:23;2494:32;2491:52;;;2539:1;2536;2529:12;2491:52;2578:9;2565:23;2597:31;2622:5;2597:31;:::i;:::-;2647:5;-1:-1:-1;2699:2:1;2684:18;;2671:32;;-1:-1:-1;2754:2:1;2739:18;;2726:32;2777:18;2807:14;;;2804:34;;;2834:1;2831;2824:12;2804:34;2872:6;2861:9;2857:22;2847:32;;2917:7;2910:4;2906:2;2902:13;2898:27;2888:55;;2939:1;2936;2929:12;2888:55;2979:2;2966:16;3005:2;2997:6;2994:14;2991:34;;;3021:1;3018;3011:12;2991:34;3066:7;3061:2;3052:6;3048:2;3044:15;3040:24;3037:37;3034:57;;;3087:1;3084;3077:12;3034:57;2358:794;;;;-1:-1:-1;;3118:2:1;3110:11;;-1:-1:-1;;;2358:794:1:o;3157:127::-;3218:10;3213:3;3209:20;3206:1;3199:31;3249:4;3246:1;3239:15;3273:4;3270:1;3263:15;3289:275;3360:2;3354:9;3425:2;3406:13;;-1:-1:-1;;3402:27:1;3390:40;;3460:18;3445:34;;3481:22;;;3442:62;3439:88;;;3507:18;;:::i;:::-;3543:2;3536:22;3289:275;;-1:-1:-1;3289:275:1:o;3569:531::-;3612:5;3665:3;3658:4;3650:6;3646:17;3642:27;3632:55;;3683:1;3680;3673:12;3632:55;3719:6;3706:20;3745:18;3741:2;3738:26;3735:52;;;3767:18;;:::i;:::-;3811:55;3854:2;3835:13;;-1:-1:-1;;3831:27:1;3860:4;3827:38;3811:55;:::i;:::-;3891:2;3882:7;3875:19;3937:3;3930:4;3925:2;3917:6;3913:15;3909:26;3906:35;3903:55;;;3954:1;3951;3944:12;3903:55;4019:2;4012:4;4004:6;4000:17;3993:4;3984:7;3980:18;3967:55;4067:1;4042:16;;;4060:4;4038:27;4031:38;;;;4046:7;3569:531;-1:-1:-1;;;3569:531:1:o;4105:954::-;4238:6;4246;4254;4262;4270;4278;4286;4339:3;4327:9;4318:7;4314:23;4310:33;4307:53;;;4356:1;4353;4346:12;4307:53;4395:9;4382:23;4414:31;4439:5;4414:31;:::i;:::-;4464:5;-1:-1:-1;4520:2:1;4505:18;;4492:32;4543:18;4573:14;;;4570:34;;;4600:1;4597;4590:12;4570:34;4623:50;4665:7;4656:6;4645:9;4641:22;4623:50;:::i;:::-;4613:60;;4726:2;4715:9;4711:18;4698:32;4682:48;;4755:2;4745:8;4742:16;4739:36;;;4771:1;4768;4761:12;4739:36;;4794:52;4838:7;4827:8;4816:9;4812:24;4794:52;:::i;:::-;4105:954;;;;-1:-1:-1;4784:62:1;;4893:2;4878:18;;4865:32;;-1:-1:-1;4944:3:1;4929:19;;4916:33;;4996:3;4981:19;;4968:33;;-1:-1:-1;5048:3:1;5033:19;;;5020:33;;-1:-1:-1;4105:954:1;-1:-1:-1;;;4105:954:1:o;5064:247::-;5123:6;5176:2;5164:9;5155:7;5151:23;5147:32;5144:52;;;5192:1;5189;5182:12;5144:52;5231:9;5218:23;5250:31;5275:5;5250:31;:::i;5316:388::-;5384:6;5392;5445:2;5433:9;5424:7;5420:23;5416:32;5413:52;;;5461:1;5458;5451:12;5413:52;5500:9;5487:23;5519:31;5544:5;5519:31;:::i;:::-;5569:5;-1:-1:-1;5626:2:1;5611:18;;5598:32;5639:33;5598:32;5639:33;:::i;:::-;5691:7;5681:17;;;5316:388;;;;;:::o;5709:380::-;5788:1;5784:12;;;;5831;;;5852:61;;5906:4;5898:6;5894:17;5884:27;;5852:61;5959:2;5951:6;5948:14;5928:18;5925:38;5922:161;;6005:10;6000:3;5996:20;5993:1;5986:31;6040:4;6037:1;6030:15;6068:4;6065:1;6058:15;5922:161;;5709:380;;;:::o;6094:455::-;6326:3;6364:6;6358:13;6380:66;6439:6;6434:3;6427:4;6419:6;6415:17;6380:66;:::i;:::-;-1:-1:-1;;;6468:16:1;;6493:21;;;-1:-1:-1;6541:1:1;6530:13;;6094:455;-1:-1:-1;6094:455:1:o;6554:127::-;6615:10;6610:3;6606:20;6603:1;6596:31;6646:4;6643:1;6636:15;6670:4;6667:1;6660:15;6686:127;6747:10;6742:3;6738:20;6735:1;6728:31;6778:4;6775:1;6768:15;6802:4;6799:1;6792:15;6818:120;6858:1;6884;6874:35;;6889:18;;:::i;:::-;-1:-1:-1;6923:9:1;;6818:120::o;6943:559::-;-1:-1:-1;;;;;7156:32:1;;7138:51;;7220:2;7205:18;;7198:34;;;7268:2;7263;7248:18;;7241:30;;;7287:18;;7280:34;;;7307:6;7357;7351:3;7336:19;;7323:49;7422:1;7392:22;;;7416:3;7388:32;;;7381:43;;;;7485:2;7464:15;;;-1:-1:-1;;7460:29:1;7445:45;7441:55;;6943:559;-1:-1:-1;;;6943:559:1:o;7507:277::-;7574:6;7627:2;7615:9;7606:7;7602:23;7598:32;7595:52;;;7643:1;7640;7633:12;7595:52;7675:9;7669:16;7728:5;7721:13;7714:21;7707:5;7704:32;7694:60;;7750:1;7747;7740:12;7915:518;8017:2;8012:3;8009:11;8006:421;;;8053:5;8050:1;8043:16;8097:4;8094:1;8084:18;8167:2;8155:10;8151:19;8148:1;8144:27;8138:4;8134:38;8203:4;8191:10;8188:20;8185:47;;;-1:-1:-1;8226:4:1;8185:47;8281:2;8276:3;8272:12;8269:1;8265:20;8259:4;8255:31;8245:41;;8336:81;8354:2;8347:5;8344:13;8336:81;;;8413:1;8399:16;;8380:1;8369:13;8336:81;;;8340:3;;7915:518;;;:::o;8609:1345::-;8735:3;8729:10;8762:18;8754:6;8751:30;8748:56;;;8784:18;;:::i;:::-;8813:97;8903:6;8863:38;8895:4;8889:11;8863:38;:::i;:::-;8857:4;8813:97;:::i;:::-;8965:4;;9022:2;9011:14;;9039:1;9034:663;;;;9741:1;9758:6;9755:89;;;-1:-1:-1;9810:19:1;;;9804:26;9755:89;-1:-1:-1;;8566:1:1;8562:11;;;8558:24;8554:29;8544:40;8590:1;8586:11;;;8541:57;9857:81;;9004:944;;9034:663;7862:1;7855:14;;;7899:4;7886:18;;-1:-1:-1;;9070:20:1;;;9188:236;9202:7;9199:1;9196:14;9188:236;;;9291:19;;;9285:26;9270:42;;9383:27;;;;9351:1;9339:14;;;;9218:19;;9188:236;;;9192:3;9452:6;9443:7;9440:19;9437:201;;;9513:19;;;9507:26;-1:-1:-1;;9596:1:1;9592:14;;;9608:3;9588:24;9584:37;9580:42;9565:58;9550:74;;9437:201;-1:-1:-1;;;;;9684:1:1;9668:14;;;9664:22;9651:36;;-1:-1:-1;8609:1345:1:o;9959:168::-;10032:9;;;10063;;10080:15;;;10074:22;;10060:37;10050:71;;10101:18;;:::i;10132:452::-;10364:3;10402:6;10396:13;10418:66;10477:6;10472:3;10465:4;10457:6;10453:17;10418:66;:::i;:::-;-1:-1:-1;;;10506:16:1;;10531:18;;;-1:-1:-1;10576:1:1;10565:13;;10132:452;-1:-1:-1;10132:452:1:o;10589:128::-;10656:9;;;10677:11;;;10674:37;;;10691:18;;:::i;10722:416::-;10811:1;10848:5;10811:1;10862:270;10883:7;10873:8;10870:21;10862:270;;;10942:4;10938:1;10934:6;10930:17;10924:4;10921:27;10918:53;;;10951:18;;:::i;:::-;11001:7;10991:8;10987:22;10984:55;;;11021:16;;;;10984:55;11100:22;;;;11060:15;;;;10862:270;;;10866:3;10722:416;;;;;:::o;11143:806::-;11192:5;11222:8;11212:80;;-1:-1:-1;11263:1:1;11277:5;;11212:80;11311:4;11301:76;;-1:-1:-1;11348:1:1;11362:5;;11301:76;11393:4;11411:1;11406:59;;;;11479:1;11474:130;;;;11386:218;;11406:59;11436:1;11427:10;;11450:5;;;11474:130;11511:3;11501:8;11498:17;11495:43;;;11518:18;;:::i;:::-;-1:-1:-1;;11574:1:1;11560:16;;11589:5;;11386:218;;11688:2;11678:8;11675:16;11669:3;11663:4;11660:13;11656:36;11650:2;11640:8;11637:16;11632:2;11626:4;11623:12;11619:35;11616:77;11613:159;;;-1:-1:-1;11725:19:1;;;11757:5;;11613:159;11804:34;11829:8;11823:4;11804:34;:::i;:::-;11874:6;11870:1;11866:6;11862:19;11853:7;11850:32;11847:58;;;11885:18;;:::i;:::-;11923:20;;11143:806;-1:-1:-1;;;11143:806:1:o;11954:131::-;12014:5;12043:36;12070:8;12064:4;12043:36;:::i;12090:135::-;12129:3;12150:17;;;12147:43;;12170:18;;:::i;:::-;-1:-1:-1;12217:1:1;12206:13;;12090:135::o;12230:125::-;12295:9;;;12316:10;;;12313:36;;;12329:18;;:::i;12360:112::-;12392:1;12418;12408:35;;12423:18;;:::i;:::-;-1:-1:-1;12457:9:1;;12360:112::o;12477:148::-;12565:4;12544:12;;;12558;;;12540:31;;12583:13;;12580:39;;;12599:18;;:::i;12630:127::-;12691:10;12686:3;12682:20;12679:1;12672:31;12722:4;12719:1;12712:15;12746:4;12743:1;12736:15;12762:496;12941:3;12979:6;12973:13;12995:66;13054:6;13049:3;13042:4;13034:6;13030:17;12995:66;:::i;:::-;13124:13;;13083:16;;;;13146:70;13124:13;13083:16;13193:4;13181:17;;13146:70;:::i;:::-;13232:20;;12762:496;-1:-1:-1;;;;12762:496:1:o;13263:452::-;13495:3;13533:6;13527:13;13549:66;13608:6;13603:3;13596:4;13588:6;13584:17;13549:66;:::i;:::-;-1:-1:-1;;;13637:16:1;;13662:18;;;-1:-1:-1;13707:1:1;13696:13;;13263:452;-1:-1:-1;13263:452:1:o;13720:::-;13952:3;13990:6;13984:13;14006:66;14065:6;14060:3;14053:4;14045:6;14041:17;14006:66;:::i;:::-;-1:-1:-1;;;14094:16:1;;14119:18;;;-1:-1:-1;14164:1:1;14153:13;;13720:452;-1:-1:-1;13720:452:1:o;14177:251::-;14247:6;14300:2;14288:9;14279:7;14275:23;14271:32;14268:52;;;14316:1;14313;14306:12;14268:52;14348:9;14342:16;14367:31;14392:5;14367:31;:::i;15354:306::-;15442:6;15450;15458;15511:2;15499:9;15490:7;15486:23;15482:32;15479:52;;;15527:1;15524;15517:12;15479:52;15556:9;15550:16;15540:26;;15606:2;15595:9;15591:18;15585:25;15575:35;;15650:2;15639:9;15635:18;15629:25;15619:35;;15354:306;;;;;:::o;15944:184::-;16014:6;16067:2;16055:9;16046:7;16042:23;16038:32;16035:52;;;16083:1;16080;16073:12;16035:52;-1:-1:-1;16106:16:1;;15944:184;-1:-1:-1;15944:184:1:o;16133:908::-;16367:4;16415:3;16404:9;16400:19;16446:6;16435:9;16428:25;16472:2;16510:3;16505:2;16494:9;16490:18;16483:31;16534:6;16569;16563:13;16600:6;16592;16585:22;16638:3;16627:9;16623:19;16616:26;;16677:2;16669:6;16665:15;16651:29;;16698:1;16708:195;16722:6;16719:1;16716:13;16708:195;;;16787:13;;-1:-1:-1;;;;;16783:39:1;16771:52;;16878:15;;;;16843:12;;;;16819:1;16737:9;16708:195;;;-1:-1:-1;;;;;;;16959:32:1;;;;16954:2;16939:18;;16932:60;-1:-1:-1;;;17023:2:1;17008:18;17001:34;16920:3;16133:908;-1:-1:-1;;16133:908:1:o;17046:936::-;17141:6;17172:2;17215;17203:9;17194:7;17190:23;17186:32;17183:52;;;17231:1;17228;17221:12;17183:52;17264:9;17258:16;17293:18;17334:2;17326:6;17323:14;17320:34;;;17350:1;17347;17340:12;17320:34;17388:6;17377:9;17373:22;17363:32;;17433:7;17426:4;17422:2;17418:13;17414:27;17404:55;;17455:1;17452;17445:12;17404:55;17484:2;17478:9;17506:2;17502;17499:10;17496:36;;;17512:18;;:::i;:::-;17558:2;17555:1;17551:10;17541:20;;17581:28;17605:2;17601;17597:11;17581:28;:::i;:::-;17643:15;;;17713:11;;;17709:20;;;17674:12;;;;17741:19;;;17738:39;;;17773:1;17770;17763:12;17738:39;17797:11;;;;17817:135;17833:6;17828:3;17825:15;17817:135;;;17899:10;;17887:23;;17850:12;;;;17930;;;;17817:135;;;17971:5;17046:936;-1:-1:-1;;;;;;;;17046:936:1:o
Swarm Source
ipfs://53055bcab1f59921766b17fc0a8838a48bda24472e9911cd8f4e9226928a687f
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.