Contract Overview
Balance:
0 ETH
ETH Value:
$0.00
My Name Tag:
Not Available
Txn Hash | Method |
Block
|
From
|
To
|
Value | [Txn Fee] | |||
---|---|---|---|---|---|---|---|---|---|
0x210943b8a2ed49da954efcbd33f9b11f835129cd11449ca35e348fd6223ffa89 | Initialize Owner... | 40283844 | 130 days 5 hrs ago | 0x24bd16b990f3a376712f4fce6c5fcb05a3db3745 | IN | 0x68453d1d6fcdb3690e072e0dd621981d43722fbd | 0 ETH | 0.00004081 | |
0x00c035b5109ad6e23309d63df3d920f7630e3bd54c63b28f303c69c78585dbf3 | 0x60c06040 | 40283491 | 130 days 5 hrs ago | 0x24bd16b990f3a376712f4fce6c5fcb05a3db3745 | IN | Contract Creation | 0 ETH | 0.00098789 |
[ Download CSV Export ]
Latest 22 internal transactions
[ Download CSV Export ]
Similar Match Source Code
Note: This contract matches the deployed ByteCode of the Source Code for Contract 0x7c3da197314eA6885F54FbF6Bee2A8e329fE88d1
Contract Name:
MarketManager
Compiler Version
v0.7.6+commit.7338295f
Contract Source Code (Solidity)
/** *Submitted for verification at Arbiscan on 2022-10-19 */ // Sources flattened with hardhat v2.9.6 https://hardhat.org // File contracts/interfaces/ERC20Interface.sol //SPDX-License-Identifier: UNLICENSED pragma solidity ^0.7.0; interface ERC20Interface { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the token decimals. */ function decimals() external view returns (uint8); /** * @dev Returns the token symbol. */ function symbol() external view returns (string memory); /** * @dev Returns the token name. */ function name() external view returns (string memory); /** * @dev Returns the bep token owner. */ function getOwner() external view returns (address); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address _owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); } // File contracts/interfaces/ICard.sol pragma solidity ^0.7.0; interface ICard { function getUserOkseBalance(address userAddr) external view returns (uint256); function getUserAssetAmount(address userAddr, address market) external view returns (uint256); function usersBalances(address userAddr, address market) external view returns (uint256); function priceOracle() external view returns (address); } // File contracts/interfaces/IConverter.sol pragma solidity ^0.7.0; interface IConverter { function convertUsdAmountToAssetAmount( uint256 usdAmount, address assetAddress ) external view returns (uint256); function convertAssetAmountToUsdAmount( uint256 assetAmount, address assetAddress ) external view returns (uint256); function getUsdAmount( address market, uint256 assetAmount, address priceOracle ) external view returns (uint256 usdAmount); function getAssetAmount( address market, uint256 usdAmount, address priceOracle ) external view returns (uint256 assetAmount); } // File contracts/MultiSigOwner.sol pragma solidity ^0.7.0; // 2/3 Multi Sig Owner contract MultiSigOwner { address[] public owners; mapping(uint256 => bool) public signatureId; bool private initialized; // events event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); event SignValidTimeChanged(uint256 newValue); modifier validSignOfOwner( bytes calldata signData, bytes calldata keys, string memory functionName ) { require(isOwner(msg.sender), "on"); address signer = getSigner(signData, keys); require( signer != msg.sender && isOwner(signer) && signer != address(0), "is" ); (bytes4 method, uint256 id, uint256 validTime, ) = abi.decode( signData, (bytes4, uint256, uint256, bytes) ); require( signatureId[id] == false && method == bytes4(keccak256(bytes(functionName))), "sru" ); require(validTime > block.timestamp, "ep"); signatureId[id] = true; _; } function isOwner(address addr) public view returns (bool) { bool _isOwner = false; for (uint256 i = 0; i < owners.length; i++) { if (owners[i] == addr) { _isOwner = true; } } return _isOwner; } constructor() {} function initializeOwners(address[3] memory _owners) public { require( !initialized && _owners[0] != address(0) && _owners[1] != address(0) && _owners[2] != address(0), "ai" ); owners = [_owners[0], _owners[1], _owners[2]]; initialized = true; } function getSigner(bytes calldata _data, bytes calldata keys) public view returns (address) { uint256 chainId; assembly { chainId := chainid() } (uint8 v, bytes32 r, bytes32 s) = abi.decode( keys, (uint8, bytes32, bytes32) ); return ecrecover( toEthSignedMessageHash( keccak256(abi.encodePacked(this, chainId, _data)) ), v, r, s ); } function encodePackedData(bytes calldata _data) public view returns (bytes32) { uint256 chainId; assembly { chainId := chainid() } return keccak256(abi.encodePacked(this, chainId, _data)); } function toEthSignedMessageHash(bytes32 hash) internal pure returns (bytes32) { return keccak256( abi.encodePacked("\x19Ethereum Signed Message:\n32", hash) ); } // Set functions // verified function transferOwnership(bytes calldata signData, bytes calldata keys) public validSignOfOwner(signData, keys, "transferOwnership") { (, , , bytes memory params) = abi.decode( signData, (bytes4, uint256, uint256, bytes) ); address newOwner = abi.decode(params, (address)); uint256 index; for (uint256 i = 0; i < owners.length; i++) { if (owners[i] == msg.sender) { index = i; } } address oldOwner = owners[index]; owners[index] = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } // File contracts/Manager.sol // Solidity files have to start with this pragma. // It will be used by the Solidity compiler to validate its version. pragma solidity ^0.7.0; contract Manager { address public immutable cardContract; constructor(address _cardContract) { cardContract = _cardContract; } /// modifier functions modifier onlyFromCardContract() { require(msg.sender == cardContract, "oc"); _; } } // File contracts/MarketManager.sol // Solidity files have to start with this pragma. // It will be used by the Solidity compiler to validate its version. pragma solidity ^0.7.0; pragma abicoder v2; contract MarketManager is MultiSigOwner, Manager { // default market , which is used when user didn't select any market for his main market address public defaultMarket; /// @notice A list of all assets address[] public allMarkets; // enable or disable for each market mapping(address => bool) public marketEnable; // store user's main asset used when user make payment. mapping(address => address) public userMainMarket; address public WETH; // // this is main currency for master wallet, master wallet will get always this token. normally we use USDC for this token. address public USDC; // // this is okse token address, which is used for setting of user's daily level and cashback. address public OKSE; // Set whether user can use okse as payment asset. normally it is false. bool public oksePaymentEnable; bool public emergencyStop; uint256 public slippage; address public immutable converter; modifier marketSupported(address market) { require(isMarketExist(market), "mns"); _; } // verified modifier marketEnabled(address market) { require(marketEnable[market], "mdnd"); _; } event MarketAdded(address market); event DefaultMarketChanged(address newMarket); event TokenAddressChanged(address okse, address usdc); event EmergencyStopChanged(bool emergencyStop); event OkseAsPaymentChanged(bool oksePaymentEnable); event MarketEnableChanged(address market, bool bEnable); event SlippageChanged(uint256 slippage); constructor( address _cardContract, address _WETH, address _usdcAddress, address _okseAddress, address _converter ) Manager(_cardContract) { WETH = _WETH; USDC = _usdcAddress; OKSE = _okseAddress; _addMarketInternal(WETH); _addMarketInternal(USDC); _addMarketInternal(OKSE); defaultMarket = WETH; converter = _converter; slippage = 1000; // 10% } //verified function _addMarketInternal(address assetAddr) internal { for (uint256 i = 0; i < allMarkets.length; i++) { require(allMarkets[i] != assetAddr, "maa"); } allMarkets.push(assetAddr); marketEnable[assetAddr] = true; emit MarketAdded(assetAddr); } ////////////////////////// Read functions ///////////////////////////////////////////////////////////// function isMarketExist(address market) public view returns (bool) { bool marketExist = false; for (uint256 i = 0; i < allMarkets.length; i++) { if (allMarkets[i] == market) { marketExist = true; } } return marketExist; } function getBlockTime() public view returns (uint256) { return block.timestamp; } function getAllMarkets() public view returns (address[] memory) { return allMarkets; } function getUserMainMarket(address userAddr) public view returns (address) { if (userMainMarket[userAddr] == address(0)) { return defaultMarket; // return default market } address market = userMainMarket[userAddr]; if (marketEnable[market] == false) { return defaultMarket; // return default market } return market; } function getBatchUserAssetAmount(address userAddr) public view returns ( address[] memory, uint256[] memory, uint256[] memory ) { uint256[] memory assets = new uint256[](allMarkets.length); uint256[] memory decimals = new uint256[](allMarkets.length); for (uint256 i = 0; i < allMarkets.length; i++) { assets[i] = ICard(cardContract).usersBalances( userAddr, allMarkets[i] ); ERC20Interface token = ERC20Interface(allMarkets[i]); uint256 tokenDecimal = uint256(token.decimals()); decimals[i] = tokenDecimal; } return (allMarkets, assets, decimals); } function getBatchUserBalanceInUsd(address userAddr) public view returns (address[] memory, uint256[] memory) { uint256[] memory assets = new uint256[](allMarkets.length); for (uint256 i = 0; i < allMarkets.length; i++) { assets[i] = IConverter(converter).getUsdAmount( allMarkets[i], ICard(cardContract).usersBalances(userAddr, allMarkets[i]), ICard(cardContract).priceOracle() ); } return (allMarkets, assets); } function getUserBalanceInUsd(address userAddr) public view returns (uint256) { address market = getUserMainMarket(userAddr); uint256 assetAmount = ICard(cardContract).usersBalances( userAddr, market ); uint256 usdAmount = IConverter(converter).getUsdAmount( market, assetAmount, ICard(cardContract).priceOracle() ); return usdAmount; } ///////////////// CallBack functions from card contract ////////////////////////////////////////////// function setUserMainMakret(address userAddr, address market) public onlyFromCardContract { if (getUserMainMarket(userAddr) == market) return; userMainMarket[userAddr] = market; } //////////////////// Owner functions //////////////////////////////////////////////////////////////// // verified function addMarket(bytes calldata signData, bytes calldata keys) public validSignOfOwner(signData, keys, "addMarket") { (, , , bytes memory params) = abi.decode( signData, (bytes4, uint256, uint256, bytes) ); address market = abi.decode(params, (address)); _addMarketInternal(market); } function setDefaultMarket(bytes calldata signData, bytes calldata keys) public validSignOfOwner(signData, keys, "setDefaultMarket") { (, , , bytes memory params) = abi.decode( signData, (bytes4, uint256, uint256, bytes) ); address market = abi.decode(params, (address)); require(isMarketExist(market), "me"); require(marketEnable[market], "mn"); defaultMarket = market; emit DefaultMarketChanged(market); } // verified function enableMarket(bytes calldata signData, bytes calldata keys) public validSignOfOwner(signData, keys, "enableMarket") { (, , , bytes memory params) = abi.decode( signData, (bytes4, uint256, uint256, bytes) ); (address market, bool bEnable) = abi.decode(params, (address, bool)); marketEnable[market] = bEnable; emit MarketEnableChanged(market, bEnable); } function setParams(bytes calldata signData, bytes calldata keys) external validSignOfOwner(signData, keys, "setParams") { (, , , bytes memory params) = abi.decode( signData, (bytes4, uint256, uint256, bytes) ); (address _newOkse, address _newUSDC) = abi.decode( params, (address, address) ); OKSE = _newOkse; USDC = _newUSDC; emit TokenAddressChanged(OKSE, USDC); } // verified function setOkseAsPayment(bytes calldata signData, bytes calldata keys) public validSignOfOwner(signData, keys, "setOkseAsPayment") { (, , , bytes memory params) = abi.decode( signData, (bytes4, uint256, uint256, bytes) ); bool bEnable = abi.decode(params, (bool)); oksePaymentEnable = bEnable; emit OkseAsPaymentChanged(oksePaymentEnable); } function setSlippage(bytes calldata signData, bytes calldata keys) public validSignOfOwner(signData, keys, "setSlippage") { (, , , bytes memory params) = abi.decode( signData, (bytes4, uint256, uint256, bytes) ); uint256 _value = abi.decode(params, (uint256)); slippage = _value; emit SlippageChanged(slippage); } function setEmergencyStop(bytes calldata signData, bytes calldata keys) public validSignOfOwner(signData, keys, "setEmergencyStop") { (, , , bytes memory params) = abi.decode( signData, (bytes4, uint256, uint256, bytes) ); bool _value = abi.decode(params, (bool)); emergencyStop = _value; emit EmergencyStopChanged(emergencyStop); } }
[{"inputs":[{"internalType":"address","name":"_cardContract","type":"address"},{"internalType":"address","name":"_WETH","type":"address"},{"internalType":"address","name":"_usdcAddress","type":"address"},{"internalType":"address","name":"_okseAddress","type":"address"},{"internalType":"address","name":"_converter","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newMarket","type":"address"}],"name":"DefaultMarketChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"emergencyStop","type":"bool"}],"name":"EmergencyStopChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"market","type":"address"}],"name":"MarketAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"market","type":"address"},{"indexed":false,"internalType":"bool","name":"bEnable","type":"bool"}],"name":"MarketEnableChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"oksePaymentEnable","type":"bool"}],"name":"OkseAsPaymentChanged","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":false,"internalType":"uint256","name":"newValue","type":"uint256"}],"name":"SignValidTimeChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"slippage","type":"uint256"}],"name":"SlippageChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"okse","type":"address"},{"indexed":false,"internalType":"address","name":"usdc","type":"address"}],"name":"TokenAddressChanged","type":"event"},{"inputs":[],"name":"OKSE","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"USDC","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"WETH","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"signData","type":"bytes"},{"internalType":"bytes","name":"keys","type":"bytes"}],"name":"addMarket","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"allMarkets","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"cardContract","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"converter","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"defaultMarket","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"emergencyStop","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"signData","type":"bytes"},{"internalType":"bytes","name":"keys","type":"bytes"}],"name":"enableMarket","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"encodePackedData","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getAllMarkets","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddr","type":"address"}],"name":"getBatchUserAssetAmount","outputs":[{"internalType":"address[]","name":"","type":"address[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddr","type":"address"}],"name":"getBatchUserBalanceInUsd","outputs":[{"internalType":"address[]","name":"","type":"address[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getBlockTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"_data","type":"bytes"},{"internalType":"bytes","name":"keys","type":"bytes"}],"name":"getSigner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddr","type":"address"}],"name":"getUserBalanceInUsd","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddr","type":"address"}],"name":"getUserMainMarket","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[3]","name":"_owners","type":"address[3]"}],"name":"initializeOwners","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"market","type":"address"}],"name":"isMarketExist","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"marketEnable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"oksePaymentEnable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"owners","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"signData","type":"bytes"},{"internalType":"bytes","name":"keys","type":"bytes"}],"name":"setDefaultMarket","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"signData","type":"bytes"},{"internalType":"bytes","name":"keys","type":"bytes"}],"name":"setEmergencyStop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"signData","type":"bytes"},{"internalType":"bytes","name":"keys","type":"bytes"}],"name":"setOkseAsPayment","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"signData","type":"bytes"},{"internalType":"bytes","name":"keys","type":"bytes"}],"name":"setParams","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"signData","type":"bytes"},{"internalType":"bytes","name":"keys","type":"bytes"}],"name":"setSlippage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"userAddr","type":"address"},{"internalType":"address","name":"market","type":"address"}],"name":"setUserMainMakret","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"signatureId","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"slippage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"signData","type":"bytes"},{"internalType":"bytes","name":"keys","type":"bytes"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userMainMarket","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
60c06040523480156200001157600080fd5b5060405162002bf138038062002bf1833981016040819052620000349162000235565b6001600160601b0319606086901b16608052600680546001600160a01b038681166001600160a01b0319928316179283905560078054878316908416179055600880548683169316929092179091556200008f911662000108565b600754620000a6906001600160a01b031662000108565b600854620000bd906001600160a01b031662000108565b60065460028054610100600160a81b0319166101006001600160a01b039093169290920291909117905560601b6001600160601b03191660a05250506103e860095550620002d59050565b60005b6003548110156200017657816001600160a01b0316600382815481106200012e57fe5b6000918252602090912001546001600160a01b031614156200016d5760405162461bcd60e51b81526004016200016490620002b8565b60405180910390fd5b6001016200010b565b506003805460018082019092557fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180546001600160a01b0319166001600160a01b03841690811790915560009081526004602052604090819020805460ff1916909217909155517fbc600b1f03d316c479b49930c28e328809316458d5b5dacbb7419df5f6f89647906200020d908390620002a4565b60405180910390a150565b80516001600160a01b03811681146200023057600080fd5b919050565b600080600080600060a086880312156200024d578081fd5b620002588662000218565b9450620002686020870162000218565b9350620002786040870162000218565b9250620002886060870162000218565b9150620002986080870162000218565b90509295509295909350565b6001600160a01b0391909116815260200190565b6020808252600390820152626d616160e81b604082015260600190565b60805160601c60a05160601c6128ca62000327600039806104e35280610c80528061188752508061053d52806106015280610bde5280610cb15280610fe2528061120c5280611f7052506128ca6000f3fe608060405234801561001057600080fd5b50600436106101c65760003560e01c806387ceff09116100fa578063b2b9f0ed1161009d578063b2b9f0ed1461039f578063bd38837b146103b2578063be2ec3bc146103ba578063c0379347146103cd578063c3d74bee146103e0578063c4f39e54146103f3578063d1f21f4f14610406578063dffda16314610419578063e8b624ad14610421576101c6565b806387ceff091461033157806389a30271146103395780638aa7ba67146103415780638f12224514610349578063a5820b4f1461035c578063a82f84891461036f578063ad5c464814610382578063b0772d0b1461038a576101c6565b8063495b2f2b1161016d578063495b2f2b1461028d57806350ced2fd146102a057806352d84d1e146102b357806363a599a4146102c657806368af81e6146102ce578063693bd2d0146102e15780636f9e4f0b146102e957806375e16b17146102fc5780637a3e39641461030f576101c6565b806301e7c75d146101cb578063025e7c27146101e9578063038dcffe146101fc57806326f0d4601461021c5780632f54bf6e1461023d57806339a40fe9146102505780633e032a3b14610265578063412f60ed1461027a575b600080fd5b6101d3610434565b6040516101e09190612633565b60405180910390f35b6101d36101f73660046124dd565b610448565b61020f61020a366004612206565b610472565b6040516101e0919061271a565b61022f61022a366004612206565b610487565b6040516101e09291906126b2565b61020f61024b366004612206565b610787565b61026361025e366004612475565b6107de565b005b61026d6109df565b6040516101e09190612725565b610263610288366004612475565b6109e5565b61026d61029b366004612206565b610bcc565b6102636102ae366004612475565b610db7565b6101d36102c13660046124dd565b610f85565b61020f610f95565b61026d6102dc366004612436565b610fa5565b6101d3610fe0565b6102636102f73660046122df565b611004565b6101d361030a366004612475565b6110bc565b61032261031d366004612206565b611165565b6040516101e0939291906126d7565b61026d611411565b6101d3611415565b61020f611424565b610263610357366004612475565b611434565b61026361036a366004612475565b611659565b6101d361037d366004612206565b6117e4565b6101d36117ff565b61039261180e565b6040516101e0919061269f565b61020f6103ad3660046124dd565b611870565b6101d3611885565b6101d36103c8366004612206565b6118a9565b61020f6103db366004612206565b611932565b6102636103ee366004612475565b611980565b610263610401366004612475565b611b29565b610263610414366004612475565b611cf7565b6101d3611f56565b61026361042f3660046122b2565b611f65565b60025461010090046001600160a01b031681565b6000818154811061045857600080fd5b6000918252602090912001546001600160a01b0316905081565b60046020526000908152604090205460ff1681565b60608060006003805490506001600160401b03811180156104a757600080fd5b506040519080825280602002602001820160405280156104d1578160200160208202803683370190505b50905060005b60035481101561071d577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663788e10b86003838154811061051d57fe5b9060005260206000200160009054906101000a90046001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663cefd071b896003878154811061057857fe5b6000918252602090912001546040516001600160e01b031960e085901b1681526105af92916001600160a01b031690600401612647565b60206040518083038186803b1580156105c757600080fd5b505afa1580156105db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ff91906124f5565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632630c12f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561065857600080fd5b505afa15801561066c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106909190612229565b6040518463ffffffff1660e01b81526004016106ae9392919061267c565b60206040518083038186803b1580156106c657600080fd5b505afa1580156106da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106fe91906124f5565b82828151811061070a57fe5b60209081029190910101526001016104d7565b506003818180548060200260200160405190810160405280929190818152602001828054801561077657602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610758575b505050505091509250925050915091565b600080805b6000548110156107d557836001600160a01b0316600082815481106107ad57fe5b6000918252602090912001546001600160a01b031614156107cd57600191505b60010161078c565b5090505b919050565b8383838360405180604001604052806009815260200168736574506172616d7360b81b81525061080d33610787565b6108325760405162461bcd60e51b815260040161082990612769565b60405180910390fd5b6000610840868686866110bc565b90506001600160a01b038116331480159061085f575061085f81610787565b801561087357506001600160a01b03811615155b61088f5760405162461bcd60e51b8152600401610829906127d9565b6000808061089f888a018a61237e565b50600082815260016020526040902054929550909350915060ff161580156108d95750845160208601206001600160e01b03198481169116145b6108f55760405162461bcd60e51b81526004016108299061282d565b4281116109145760405162461bcd60e51b8152600401610829906127a1565b60008281526001602081905260408220805460ff1916909117905561093b8d8f018f61237e565b9350505050600080828060200190518101906109579190612245565b600880546001600160a01b038085166001600160a01b0319928316179283905560078054828616931692909217918290556040519496509294507f5527f14e7199c63a0d6caffa1fd8eab9a6e595207bc2b23ae26a028acde7eefa936109c593928316929190911690612647565b60405180910390a150505050505050505050505050505050565b60095481565b838383836040518060400160405280601081526020016f1cd95d13dadcd9505cd4185e5b595b9d60821b815250610a1b33610787565b610a375760405162461bcd60e51b815260040161082990612769565b6000610a45868686866110bc565b90506001600160a01b0381163314801590610a645750610a6481610787565b8015610a7857506001600160a01b03811615155b610a945760405162461bcd60e51b8152600401610829906127d9565b60008080610aa4888a018a61237e565b50600082815260016020526040902054929550909350915060ff16158015610ade5750845160208601206001600160e01b03198481169116145b610afa5760405162461bcd60e51b81526004016108299061282d565b428111610b195760405162461bcd60e51b8152600401610829906127a1565b60008281526001602081905260408220805460ff19169091179055610b408d8f018f61237e565b9350505050600081806020019051810190610b5b9190612364565b6008805460ff60a01b1916600160a01b831515810291909117918290556040519293507f3cf9b8e7770ffe33dd661b325726560586f9b997767db9add34348c8311eb2fd92610bb39260ff929004919091169061271a565b60405180910390a1505050505050505050505050505050565b600080610bd8836118a9565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663cefd071b85846040518363ffffffff1660e01b8152600401610c2a929190612647565b60206040518083038186803b158015610c4257600080fd5b505afa158015610c56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c7a91906124f5565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663788e10b884847f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632630c12f6040518163ffffffff1660e01b815260040160206040518083038186803b158015610d0857600080fd5b505afa158015610d1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d409190612229565b6040518463ffffffff1660e01b8152600401610d5e9392919061267c565b60206040518083038186803b158015610d7657600080fd5b505afa158015610d8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dae91906124f5565b95945050505050565b838383836040518060400160405280601081526020016f0736574456d657267656e637953746f760841b815250610ded33610787565b610e095760405162461bcd60e51b815260040161082990612769565b6000610e17868686866110bc565b90506001600160a01b0381163314801590610e365750610e3681610787565b8015610e4a57506001600160a01b03811615155b610e665760405162461bcd60e51b8152600401610829906127d9565b60008080610e76888a018a61237e565b50600082815260016020526040902054929550909350915060ff16158015610eb05750845160208601206001600160e01b03198481169116145b610ecc5760405162461bcd60e51b81526004016108299061282d565b428111610eeb5760405162461bcd60e51b8152600401610829906127a1565b60008281526001602081905260408220805460ff19169091179055610f128d8f018f61237e565b9350505050600081806020019051810190610f2d9190612364565b6008805460ff60a81b1916600160a81b831515810291909117918290556040519293507f6c0090cbbfa9373c32ee731ed1968f0193a85509bf596f7f9b89705951c2399d92610bb39260ff929004919091169061271a565b6003818154811061045857600080fd5b600854600160a81b900460ff1681565b6040516000904690610fc19030908390879087906020016125cf565b6040516020818303038152906040528051906020012091505092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60025460ff16158015611020575080516001600160a01b031615155b8015611038575060208101516001600160a01b031615155b8015611050575060408101516001600160a01b031615155b61106c5760405162461bcd60e51b8152600401610829906127f5565b6040805160608101825282516001600160a01b0390811682526020808501518216908301528383015116918101919091526110ab906000906003612136565b50506002805460ff19166001179055565b6000468180806110ce86880188612529565b925092509250600161110b30868c8c6040516020016110f094939291906125cf565b60405160208183030381529060405280519060200120612007565b8484846040516000815260200160405260405161112b949392919061272e565b6020604051602081039080840390855afa15801561114d573d6000803e3d6000fd5b5050604051601f1901519a9950505050505050505050565b606080606060006003805490506001600160401b038111801561118757600080fd5b506040519080825280602002602001820160405280156111b1578160200160208202803683370190505b506003549091506000906001600160401b03811180156111d057600080fd5b506040519080825280602002602001820160405280156111fa578160200160208202803683370190505b50905060005b6003548110156113a1577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663cefd071b886003848154811061124757fe5b6000918252602090912001546040516001600160e01b031960e085901b16815261127e92916001600160a01b031690600401612647565b60206040518083038186803b15801561129657600080fd5b505afa1580156112aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ce91906124f5565b8382815181106112da57fe5b6020026020010181815250506000600382815481106112f557fe5b60009182526020808320909101546040805163313ce56760e01b815290516001600160a01b039092169450849263313ce56792600480840193829003018186803b15801561134257600080fd5b505afa158015611356573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061137a919061250d565b60ff1690508084848151811061138c57fe5b60209081029190910101525050600101611200565b5060038282828054806020026020016040519081016040528092919081815260200182805480156113fb57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116113dd575b5050505050925094509450945050509193909250565b4290565b6007546001600160a01b031681565b600854600160a01b900460ff1681565b838383836040518060400160405280601081526020016f1cd95d111959985d5b1d13585c9ad95d60821b81525061146a33610787565b6114865760405162461bcd60e51b815260040161082990612769565b6000611494868686866110bc565b90506001600160a01b03811633148015906114b357506114b381610787565b80156114c757506001600160a01b03811615155b6114e35760405162461bcd60e51b8152600401610829906127d9565b600080806114f3888a018a61237e565b50600082815260016020526040902054929550909350915060ff1615801561152d5750845160208601206001600160e01b03198481169116145b6115495760405162461bcd60e51b81526004016108299061282d565b4281116115685760405162461bcd60e51b8152600401610829906127a1565b60008281526001602081905260408220805460ff1916909117905561158f8d8f018f61237e565b93505050506000818060200190518101906115aa9190612229565b90506115b581611932565b6115d15760405162461bcd60e51b8152600401610829906127bd565b6001600160a01b03811660009081526004602052604090205460ff166116095760405162461bcd60e51b815260040161082990612785565b60028054610100600160a81b0319166101006001600160a01b038416021790556040517faad6c4dfd9c3ae6dc778c3c1f76f56fcac002db9c6adc5b8e4613008009e77b690610bb3908390612633565b838383836040518060400160405280600981526020016818591913585c9ad95d60ba1b81525061168833610787565b6116a45760405162461bcd60e51b815260040161082990612769565b60006116b2868686866110bc565b90506001600160a01b03811633148015906116d157506116d181610787565b80156116e557506001600160a01b03811615155b6117015760405162461bcd60e51b8152600401610829906127d9565b60008080611711888a018a61237e565b50600082815260016020526040902054929550909350915060ff1615801561174b5750845160208601206001600160e01b03198481169116145b6117675760405162461bcd60e51b81526004016108299061282d565b4281116117865760405162461bcd60e51b8152600401610829906127a1565b60008281526001602081905260408220805460ff191690911790556117ad8d8f018f61237e565b93505050506000818060200190518101906117c89190612229565b90506117d381612037565b505050505050505050505050505050565b6005602052600090815260409020546001600160a01b031681565b6006546001600160a01b031681565b6060600380548060200260200160405190810160405280929190818152602001828054801561186657602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611848575b5050505050905090565b60016020526000908152604090205460ff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001600160a01b038181166000908152600560205260408120549091166118e1575060025461010090046001600160a01b03166107d9565b6001600160a01b0380831660009081526005602090815260408083205490931680835260049091529190205460ff1661192c57505060025461010090046001600160a01b03166107d9565b92915050565b600080805b6003548110156107d557836001600160a01b03166003828154811061195857fe5b6000918252602090912001546001600160a01b0316141561197857600191505b600101611937565b838383836040518060400160405280600b81526020016a736574536c69707061676560a81b8152506119b133610787565b6119cd5760405162461bcd60e51b815260040161082990612769565b60006119db868686866110bc565b90506001600160a01b03811633148015906119fa57506119fa81610787565b8015611a0e57506001600160a01b03811615155b611a2a5760405162461bcd60e51b8152600401610829906127d9565b60008080611a3a888a018a61237e565b50600082815260016020526040902054929550909350915060ff16158015611a745750845160208601206001600160e01b03198481169116145b611a905760405162461bcd60e51b81526004016108299061282d565b428111611aaf5760405162461bcd60e51b8152600401610829906127a1565b60008281526001602081905260408220805460ff19169091179055611ad68d8f018f61237e565b9350505050600081806020019051810190611af191906124f5565b60098190556040519091507febfb7b9839a38a6c5d27e43aeb27cf7c47a40bde9262cabba968aecd6336ea1090610bb3908390612725565b838383836040518060400160405280600c81526020016b195b98589b1953585c9ad95d60a21b815250611b5b33610787565b611b775760405162461bcd60e51b815260040161082990612769565b6000611b85868686866110bc565b90506001600160a01b0381163314801590611ba45750611ba481610787565b8015611bb857506001600160a01b03811615155b611bd45760405162461bcd60e51b8152600401610829906127d9565b60008080611be4888a018a61237e565b50600082815260016020526040902054929550909350915060ff16158015611c1e5750845160208601206001600160e01b03198481169116145b611c3a5760405162461bcd60e51b81526004016108299061282d565b428111611c595760405162461bcd60e51b8152600401610829906127a1565b60008281526001602081905260408220805460ff19169091179055611c808d8f018f61237e565b935050505060008082806020019051810190611c9c919061227e565b6001600160a01b03821660009081526004602052604090819020805460ff19168315151790555191935091507f3befdc26f51caa2a17108df88efa7f021d67e693929a6ad49e439d881fe4aa5e906109c59084908490612661565b838383836040518060400160405280601181526020017007472616e736665724f776e65727368697607c1b815250611d2e33610787565b611d4a5760405162461bcd60e51b815260040161082990612769565b6000611d58868686866110bc565b90506001600160a01b0381163314801590611d775750611d7781610787565b8015611d8b57506001600160a01b03811615155b611da75760405162461bcd60e51b8152600401610829906127d9565b60008080611db7888a018a61237e565b50600082815260016020526040902054929550909350915060ff16158015611df15750845160208601206001600160e01b03198481169116145b611e0d5760405162461bcd60e51b81526004016108299061282d565b428111611e2c5760405162461bcd60e51b8152600401610829906127a1565b60008281526001602081905260408220805460ff19169091179055611e538d8f018f61237e565b9350505050600081806020019051810190611e6e9190612229565b90506000805b600054811015611ebc57336001600160a01b031660008281548110611e9557fe5b6000918252602090912001546001600160a01b03161415611eb4578091505b600101611e74565b506000808281548110611ecb57fe5b600091825260208220015481546001600160a01b03909116925084919084908110611ef257fe5b6000918252602082200180546001600160a01b0319166001600160a01b03938416179055604051858316928416917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050505050505050505050505050505050565b6008546001600160a01b031681565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611fad5760405162461bcd60e51b815260040161082990612811565b806001600160a01b0316611fc0836118a9565b6001600160a01b03161415611fd457612003565b6001600160a01b03828116600090815260056020526040902080546001600160a01b0319169183169190911790555b5050565b60008160405160200161201a9190612602565b604051602081830303815290604052805190602001209050919050565b60005b60035481101561209657816001600160a01b03166003828154811061205b57fe5b6000918252602090912001546001600160a01b0316141561208e5760405162461bcd60e51b81526004016108299061274c565b60010161203a565b506003805460018082019092557fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180546001600160a01b0319166001600160a01b03841690811790915560009081526004602052604090819020805460ff1916909217909155517fbc600b1f03d316c479b49930c28e328809316458d5b5dacbb7419df5f6f896479061212b908390612633565b60405180910390a150565b82805482825590600052602060002090810192821561218b579160200282015b8281111561218b57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190612156565b5061219792915061219b565b5090565b5b80821115612197576000815560010161219c565b805180151581146107d957600080fd5b60008083601f8401126121d1578182fd5b5081356001600160401b038111156121e7578182fd5b6020830191508360208285010111156121ff57600080fd5b9250929050565b600060208284031215612217578081fd5b81356122228161286d565b9392505050565b60006020828403121561223a578081fd5b81516122228161286d565b60008060408385031215612257578081fd5b82516122628161286d565b60208401519092506122738161286d565b809150509250929050565b60008060408385031215612290578182fd5b825161229b8161286d565b91506122a9602084016121b0565b90509250929050565b600080604083850312156122c4578182fd5b82356122cf8161286d565b915060208301356122738161286d565b6000606082840312156122f0578081fd5b82601f8301126122fe578081fd5b604051606081018181106001600160401b038211171561231a57fe5b60405280836060810186101561232e578384fd5b835b60038110156123595781356123448161286d565b83526020928301929190910190600101612330565b509195945050505050565b600060208284031215612375578081fd5b612222826121b0565b60008060008060808587031215612393578182fd5b84356001600160e01b0319811681146123aa578283fd5b935060208581013593506040860135925060608601356001600160401b03808211156123d4578384fd5b818801915088601f8301126123e7578384fd5b8135818111156123f357fe5b612405601f8201601f1916850161284a565b9150808252898482850101111561241a578485fd5b8084840185840137810190920192909252939692955090935050565b60008060208385031215612448578182fd5b82356001600160401b0381111561245d578283fd5b612469858286016121c0565b90969095509350505050565b6000806000806040858703121561248a578384fd5b84356001600160401b03808211156124a0578586fd5b6124ac888389016121c0565b909650945060208701359150808211156124c4578384fd5b506124d1878288016121c0565b95989497509550505050565b6000602082840312156124ee578081fd5b5035919050565b600060208284031215612506578081fd5b5051919050565b60006020828403121561251e578081fd5b815161222281612885565b60008060006060848603121561253d578081fd5b833561254881612885565b95602085013595506040909401359392505050565b6000815180845260208085019450808401835b838110156125955781516001600160a01b031687529582019590820190600101612570565b509495945050505050565b6000815180845260208085019450808401835b83811015612595578151875295820195908201906001016125b3565b60006bffffffffffffffffffffffff198660601b1682528460148301528284603484013791016034019081529392505050565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c810191909152603c0190565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b039290921682521515602082015260400190565b6001600160a01b0393841681526020810192909252909116604082015260600190565b600060208252612222602083018461255d565b6000604082526126c5604083018561255d565b8281036020840152610dae81856125a0565b6000606082526126ea606083018661255d565b82810360208401526126fc81866125a0565b9050828103604084015261271081856125a0565b9695505050505050565b901515815260200190565b90815260200190565b93845260ff9290921660208401526040830152606082015260800190565b6020808252600390820152626d616160e81b604082015260600190565b60208082526002908201526137b760f11b604082015260600190565b60208082526002908201526136b760f11b604082015260600190565b602080825260029082015261065760f41b604082015260600190565b6020808252600290820152616d6560f01b604082015260600190565b602080825260029082015261697360f01b604082015260600190565b602080825260029082015261616960f01b604082015260600190565b6020808252600290820152616f6360f01b604082015260600190565b60208082526003908201526273727560e81b604082015260600190565b6040518181016001600160401b038111828210171561286557fe5b604052919050565b6001600160a01b038116811461288257600080fd5b50565b60ff8116811461288257600080fdfea26469706673582212200de2596a2e8c798c78cfdcc1cf69a8c983a1b65a598dd9753849a8d87c6b3fcb64736f6c6343000706003300000000000000000000000015f7e90a0fcf6219ad80bb0bf2d62c49276cb76400000000000000000000000082af49447d8a07e3bd95bd0d56f35241523fbab1000000000000000000000000ff970a61a04b1ca14834a43f5de4533ebddb5cc80000000000000000000000004313dda7bc940f3f2b2dddacf568300165c878ca000000000000000000000000fa3e7d864cf426381af1a990fd2e19d56b03df33
Deployed ByteCode Sourcemap
8825:9039:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8975:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4521:23;;;;;;:::i;:::-;;:::i;9124:44::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;13092:565::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;5596:277::-;;;;;;:::i;:::-;;:::i;16028:508::-;;;;;;:::i;:::-;;:::i;:::-;;9750:23;;;:::i;:::-;;;;;;;:::i;16561:441::-;;;;;;:::i;:::-;;:::i;13665:491::-;;;;;;:::i;:::-;;:::i;17430:431::-;;;;;;:::i;:::-;;:::i;9048:27::-;;;;;;:::i;:::-;;:::i;9718:25::-;;;:::i;6879:276::-;;;;;;:::i;:::-;;:::i;8342:37::-;;;:::i;5905:363::-;;;;;;:::i;:::-;;:::i;6276:595::-;;;;;;:::i;:::-;;:::i;12303:781::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;11682:95::-;;;:::i;9451:19::-;;;:::i;9682:29::-;;;:::i;15012:523::-;;;;;;:::i;:::-;;:::i;14628:376::-;;;;;;:::i;:::-;;:::i;9236:49::-;;;;;;:::i;:::-;;:::i;9294:19::-;;;:::i;11785:100::-;;;:::i;:::-;;;;;;;:::i;4551:43::-;;;;;;:::i;:::-;;:::i;9780:34::-;;;:::i;11893:402::-;;;;;;:::i;:::-;;:::i;11370:304::-;;;;;;:::i;:::-;;:::i;17010:412::-;;;;;;:::i;:::-;;:::i;15560:460::-;;;;;;:::i;:::-;;:::i;7460:668::-;;;;;;:::i;:::-;;:::i;9578:19::-;;;:::i;14272:224::-;;;;;;:::i;:::-;;:::i;8975:28::-;;;;;;-1:-1:-1;;;;;8975:28:0;;:::o;4521:23::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4521:23:0;;-1:-1:-1;4521:23:0;:::o;9124:44::-;;;;;;;;;;;;;;;:::o;13092:565::-;13192:16;13210;13244:23;13284:10;:17;;;;-1:-1:-1;;;;;13270:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13270:32:0;;13244:58;;13320:9;13315:297;13339:10;:17;13335:21;;13315:297;;;13401:9;-1:-1:-1;;;;;13390:34:0;;13443:10;13454:1;13443:13;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13443:13:0;13481:12;-1:-1:-1;;;;;13475:33:0;;13509:8;13519:10;13530:1;13519:13;;;;;;;;;;;;;;;;;;13475:58;;-1:-1:-1;;;;;;13475:58:0;;;;;;;;;;-1:-1:-1;;;;;13519:13:0;;13475:58;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13558:12;-1:-1:-1;;;;;13552:31:0;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13390:210;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13378:6;13385:1;13378:9;;;;;;;;;;;;;;;;;:222;13358:3;;13315:297;;;;13630:10;13642:6;13622:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13622:27:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;13092:565;;;:::o;5596:277::-;5648:4;;;5697:143;5721:6;:13;5717:17;;5697:143;;;5773:4;-1:-1:-1;;;;;5760:17:0;:6;5767:1;5760:9;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5760:9:0;:17;5756:73;;;5809:4;5798:15;;5756:73;5736:3;;5697:143;;;-1:-1:-1;5857:8:0;-1:-1:-1;5596:277:0;;;;:::o;16028:508::-;16137:8;;16147:4;;4813:775;;;;;;;;;;;;;-1:-1:-1;;;4813:775:0;;;4966:19;4974:10;4966:7;:19::i;:::-;4958:34;;;;-1:-1:-1;;;4958:34:0;;;;;;;:::i;:::-;;;;;;;;;5003:14;5020:25;5030:8;;5040:4;;5020:9;:25::i;:::-;5003:42;-1:-1:-1;;;;;;5078:20:0;;5088:10;5078:20;;;;:39;;;5102:15;5110:6;5102:7;:15::i;:::-;5078:63;;;;-1:-1:-1;;;;;;5121:20:0;;;;5078:63;5056:115;;;;-1:-1:-1;;;5056:115:0;;;;;;;:::i;:::-;5183:13;;;5233:92;;;;5258:8;5233:92;:::i;:::-;-1:-1:-1;5358:15:0;;;;:11;:15;;;;;;5182:143;;-1:-1:-1;5182:143:0;;-1:-1:-1;5182:143:0;-1:-1:-1;5358:15:0;;:24;;;:93;;-1:-1:-1;5420:30:0;;;;;;-1:-1:-1;;;;;;5403:48:0;;;;;;5358:93;5336:146;;;;-1:-1:-1;;;5336:146:0;;;;;;;:::i;:::-;5513:15;5501:9;:27;5493:42;;;;-1:-1:-1;;;5493:42:0;;;;;;;:::i;:::-;5546:15;;;;5564:4;5546:15;;;;;;;:22;;-1:-1:-1;;5546:22:0;;;;;;16212:92:::1;::::0;;::::1;16237:8:::0;16212:92:::1;:::i;:::-;16182:122;;;;;16316:16;16334::::0;16379:6:::1;16354:75;;;;;;;;;;;;:::i;:::-;16440:4;:15:::0;;-1:-1:-1;;;;;16440:15:0;;::::1;-1:-1:-1::0;;;;;;16440:15:0;;::::1;;::::0;;;;16466:4:::1;:15:::0;;;;::::1;::::0;::::1;::::0;;;::::1;::::0;;;;16497:31:::1;::::0;16315:114;;-1:-1:-1;16315:114:0;;-1:-1:-1;16497:31:0::1;::::0;::::1;::::0;16517:4;;::::1;::::0;16523;;;::::1;::::0;16497:31:::1;:::i;:::-;;;;;;;;5579:1;;;16028:508:::0;;;;;;;;;;;;;:::o;9750:23::-;;;;:::o;16561:441::-;16675:8;;16685:4;;4813:775;;;;;;;;;;;;;-1:-1:-1;;;4813:775:0;;;4966:19;4974:10;4966:7;:19::i;:::-;4958:34;;;;-1:-1:-1;;;4958:34:0;;;;;;;:::i;:::-;5003:14;5020:25;5030:8;;5040:4;;5020:9;:25::i;:::-;5003:42;-1:-1:-1;;;;;;5078:20:0;;5088:10;5078:20;;;;:39;;;5102:15;5110:6;5102:7;:15::i;:::-;5078:63;;;;-1:-1:-1;;;;;;5121:20:0;;;;5078:63;5056:115;;;;-1:-1:-1;;;5056:115:0;;;;;;;:::i;:::-;5183:13;;;5233:92;;;;5258:8;5233:92;:::i;:::-;-1:-1:-1;5358:15:0;;;;:11;:15;;;;;;5182:143;;-1:-1:-1;5182:143:0;;-1:-1:-1;5182:143:0;-1:-1:-1;5358:15:0;;:24;;;:93;;-1:-1:-1;5420:30:0;;;;;;-1:-1:-1;;;;;;5403:48:0;;;;;;5358:93;5336:146;;;;-1:-1:-1;;;5336:146:0;;;;;;;:::i;:::-;5513:15;5501:9;:27;5493:42;;;;-1:-1:-1;;;5493:42:0;;;;;;;:::i;:::-;5546:15;;;;5564:4;5546:15;;;;;;;:22;;-1:-1:-1;;5546:22:0;;;;;;16757:92:::1;::::0;;::::1;16782:8:::0;16757:92:::1;:::i;:::-;16727:122;;;;;16860:12;16886:6;16875:26;;;;;;;;;;;;:::i;:::-;16912:17;:27:::0;;-1:-1:-1;;;;16912:27:0::1;-1:-1:-1::0;;;16912:27:0;::::1;;::::0;::::1;::::0;;;::::1;::::0;;;;16955:39:::1;::::0;16912:27;;-1:-1:-1;16955:39:0::1;::::0;::::1;::::0;16912:27:::1;16976:17:::0;;::::1;::::0;;;::::1;::::0;16955:39:::1;:::i;:::-;;;;;;;;5579:1;;16561:441:::0;;;;;;;;;;;;;:::o;13665:491::-;13760:7;13785:14;13802:27;13820:8;13802:17;:27::i;:::-;13785:44;;13840:19;13868:12;-1:-1:-1;;;;;13862:33:0;;13910:8;13933:6;13862:88;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13840:110;;13961:17;13992:9;-1:-1:-1;;;;;13981:34:0;;14030:6;14051:11;14083:12;-1:-1:-1;;;;;14077:31:0;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13981:140;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13961:160;13665:491;-1:-1:-1;;;;;13665:491:0:o;17430:431::-;17544:8;;17554:4;;4813:775;;;;;;;;;;;;;-1:-1:-1;;;4813:775:0;;;4966:19;4974:10;4966:7;:19::i;:::-;4958:34;;;;-1:-1:-1;;;4958:34:0;;;;;;;:::i;:::-;5003:14;5020:25;5030:8;;5040:4;;5020:9;:25::i;:::-;5003:42;-1:-1:-1;;;;;;5078:20:0;;5088:10;5078:20;;;;:39;;;5102:15;5110:6;5102:7;:15::i;:::-;5078:63;;;;-1:-1:-1;;;;;;5121:20:0;;;;5078:63;5056:115;;;;-1:-1:-1;;;5056:115:0;;;;;;;:::i;:::-;5183:13;;;5233:92;;;;5258:8;5233:92;:::i;:::-;-1:-1:-1;5358:15:0;;;;:11;:15;;;;;;5182:143;;-1:-1:-1;5182:143:0;;-1:-1:-1;5182:143:0;-1:-1:-1;5358:15:0;;:24;;;:93;;-1:-1:-1;5420:30:0;;;;;;-1:-1:-1;;;;;;5403:48:0;;;;;;5358:93;5336:146;;;;-1:-1:-1;;;5336:146:0;;;;;;;:::i;:::-;5513:15;5501:9;:27;5493:42;;;;-1:-1:-1;;;5493:42:0;;;;;;;:::i;:::-;5546:15;;;;5564:4;5546:15;;;;;;;:22;;-1:-1:-1;;5546:22:0;;;;;;17626:92:::1;::::0;;::::1;17651:8:::0;17626:92:::1;:::i;:::-;17596:122;;;;;17729:11;17754:6;17743:26;;;;;;;;;;;;:::i;:::-;17780:13;:22:::0;;-1:-1:-1;;;;17780:22:0::1;-1:-1:-1::0;;;17780:22:0;::::1;;::::0;::::1;::::0;;;::::1;::::0;;;;17818:35:::1;::::0;17780:22;;-1:-1:-1;17818:35:0::1;::::0;::::1;::::0;17780:22:::1;17839:13:::0;;::::1;::::0;;;::::1;::::0;17818:35:::1;:::i;9048:27::-:0;;;;;;;;;;;;9718:25;;;-1:-1:-1;;;9718:25:0;;;;;:::o;6879:276::-;7108:38;;6975:7;;7061:9;;7108:38;;7125:4;;7061:9;;7140:5;;;;7108:38;;;:::i;:::-;;;;;;;;;;;;;7098:49;;;;;;7091:56;;;6879:276;;;;:::o;8342:37::-;;;:::o;5905:363::-;5999:11;;;;5998:12;:57;;;;-1:-1:-1;6031:10:0;;-1:-1:-1;;;;;6031:24:0;;;5998:57;:102;;;;-1:-1:-1;6076:10:0;;;;-1:-1:-1;;;;;6076:24:0;;;5998:102;:147;;;;-1:-1:-1;6121:10:0;;;;-1:-1:-1;;;;;6121:24:0;;;5998:147;5976:199;;;;-1:-1:-1;;;5976:199:0;;;;;;;:::i;:::-;6186:45;;;;;;;;6196:10;;-1:-1:-1;;;;;6186:45:0;;;;;6196:10;6208;;;;6186:45;;;;;;6220:10;;;;6186:45;;;;;;;;;;-1:-1:-1;;6186:45:0;;:::i;:::-;-1:-1:-1;;6242:11:0;:18;;-1:-1:-1;;6242:18:0;6256:4;6242:18;;;5905:363::o;6276:595::-;6386:7;6472:9;6386:7;;;6536:80;;;;6561:4;6536:80;:::i;:::-;6502:114;;;;;;6647:216;6675:113;6747:4;6753:7;6762:5;;6730:38;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;6720:49;;;;;;6675:22;:113::i;:::-;6807:1;6827;6847;6647:216;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6647:216:0;;-1:-1:-1;;6647:216:0;;;6276:595;-1:-1:-1;;;;;;;;;;6276:595:0:o;12303:781::-;12416:16;12447;12478;12522:23;12562:10;:17;;;;-1:-1:-1;;;;;12548:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12548:32:0;-1:-1:-1;12633:10:0;:17;12522:58;;-1:-1:-1;12591:25:0;;-1:-1:-1;;;;;12619:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12619:32:0;;12591:60;;12669:9;12664:365;12688:10;:17;12684:21;;12664:365;;;12745:12;-1:-1:-1;;;;;12739:33:0;;12791:8;12818:10;12829:1;12818:13;;;;;;;;;;;;;;;;;;12739:107;;-1:-1:-1;;;;;;12739:107:0;;;;;;;;;;-1:-1:-1;;;;;12818:13:0;;12739:107;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12727:6;12734:1;12727:9;;;;;;;;;;;;;:119;;;;;12861:20;12899:10;12910:1;12899:13;;;;;;;;;;;;;;;;;;;;12959:16;;;-1:-1:-1;;;12959:16:0;;;;-1:-1:-1;;;;;12899:13:0;;;;-1:-1:-1;12899:13:0;;12959:14;;:16;;;;;;;;;;12899:13;12959:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12951:25;;12928:48;;13005:12;12991:8;13000:1;12991:11;;;;;;;;;;;;;;;;;:26;-1:-1:-1;;12707:3:0;;12664:365;;;;13047:10;13059:6;13067:8;13039:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13039:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12303:781;;;;;:::o;11682:95::-;11754:15;11682:95;:::o;9451:19::-;;;-1:-1:-1;;;;;9451:19:0;;:::o;9682:29::-;;;-1:-1:-1;;;9682:29:0;;;;;:::o;15012:523::-;15126:8;;15136:4;;4813:775;;;;;;;;;;;;;-1:-1:-1;;;4813:775:0;;;4966:19;4974:10;4966:7;:19::i;:::-;4958:34;;;;-1:-1:-1;;;4958:34:0;;;;;;;:::i;:::-;5003:14;5020:25;5030:8;;5040:4;;5020:9;:25::i;:::-;5003:42;-1:-1:-1;;;;;;5078:20:0;;5088:10;5078:20;;;;:39;;;5102:15;5110:6;5102:7;:15::i;:::-;5078:63;;;;-1:-1:-1;;;;;;5121:20:0;;;;5078:63;5056:115;;;;-1:-1:-1;;;5056:115:0;;;;;;;:::i;:::-;5183:13;;;5233:92;;;;5258:8;5233:92;:::i;:::-;-1:-1:-1;5358:15:0;;;;:11;:15;;;;;;5182:143;;-1:-1:-1;5182:143:0;;-1:-1:-1;5182:143:0;-1:-1:-1;5358:15:0;;:24;;;:93;;-1:-1:-1;5420:30:0;;;;;;-1:-1:-1;;;;;;5403:48:0;;;;;;5358:93;5336:146;;;;-1:-1:-1;;;5336:146:0;;;;;;;:::i;:::-;5513:15;5501:9;:27;5493:42;;;;-1:-1:-1;;;5493:42:0;;;;;;;:::i;:::-;5546:15;;;;5564:4;5546:15;;;;;;;:22;;-1:-1:-1;;5546:22:0;;;;;;15208:92:::1;::::0;;::::1;15233:8:::0;15208:92:::1;:::i;:::-;15178:122;;;;;15311:14;15339:6;15328:29;;;;;;;;;;;;:::i;:::-;15311:46;;15376:21;15390:6;15376:13;:21::i;:::-;15368:36;;;;-1:-1:-1::0;;;15368:36:0::1;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;15423:20:0;::::1;;::::0;;;:12:::1;:20;::::0;;;;;::::1;;15415:35;;;;-1:-1:-1::0;;;15415:35:0::1;;;;;;;:::i;:::-;15461:13;:22:::0;;-1:-1:-1;;;;;;15461:22:0::1;;-1:-1:-1::0;;;;;15461:22:0;::::1;;;::::0;;15499:28:::1;::::0;::::1;::::0;::::1;::::0;15461:22;;15499:28:::1;:::i;14628:376::-:0;14735:8;;14745:4;;4813:775;;;;;;;;;;;;;-1:-1:-1;;;4813:775:0;;;4966:19;4974:10;4966:7;:19::i;:::-;4958:34;;;;-1:-1:-1;;;4958:34:0;;;;;;;:::i;:::-;5003:14;5020:25;5030:8;;5040:4;;5020:9;:25::i;:::-;5003:42;-1:-1:-1;;;;;;5078:20:0;;5088:10;5078:20;;;;:39;;;5102:15;5110:6;5102:7;:15::i;:::-;5078:63;;;;-1:-1:-1;;;;;;5121:20:0;;;;5078:63;5056:115;;;;-1:-1:-1;;;5056:115:0;;;;;;;:::i;:::-;5183:13;;;5233:92;;;;5258:8;5233:92;:::i;:::-;-1:-1:-1;5358:15:0;;;;:11;:15;;;;;;5182:143;;-1:-1:-1;5182:143:0;;-1:-1:-1;5182:143:0;-1:-1:-1;5358:15:0;;:24;;;:93;;-1:-1:-1;5420:30:0;;;;;;-1:-1:-1;;;;;;5403:48:0;;;;;;5358:93;5336:146;;;;-1:-1:-1;;;5336:146:0;;;;;;;:::i;:::-;5513:15;5501:9;:27;5493:42;;;;-1:-1:-1;;;5493:42:0;;;;;;;:::i;:::-;5546:15;;;;5564:4;5546:15;;;;;;;:22;;-1:-1:-1;;5546:22:0;;;;;;14810:92:::1;::::0;;::::1;14835:8:::0;14810:92:::1;:::i;:::-;14780:122;;;;;14913:14;14941:6;14930:29;;;;;;;;;;;;:::i;:::-;14913:46;;14970:26;14989:6;14970:18;:26::i;:::-;5579:1;;14628:376:::0;;;;;;;;;;;;;:::o;9236:49::-;;;;;;;;;;;;-1:-1:-1;;;;;9236:49:0;;:::o;9294:19::-;;;-1:-1:-1;;;;;9294:19:0;;:::o;11785:100::-;11831:16;11867:10;11860:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11860:17:0;;;;;;;;;;;;;;;;;;;;;;;11785:100;:::o;4551:43::-;;;;;;;;;;;;;;;:::o;9780:34::-;;;:::o;11893:402::-;-1:-1:-1;;;;;11983:24:0;;;11959:7;11983:24;;;:14;:24;;;;;;11959:7;;11983:24;11979:116;;-1:-1:-1;12045:13:0;;;;;-1:-1:-1;;;;;12045:13:0;12038:20;;11979:116;-1:-1:-1;;;;;12122:24:0;;;12105:14;12122:24;;;:14;:24;;;;;;;;;;;;12161:20;;;:12;:20;;;;;;;;;12157:107;;-1:-1:-1;;12214:13:0;;;;;-1:-1:-1;;;;;12214:13:0;12207:20;;12157:107;12281:6;11893:402;-1:-1:-1;;11893:402:0:o;11370:304::-;11430:4;;;11482:156;11506:10;:17;11502:21;;11482:156;;;11566:6;-1:-1:-1;;;;;11549:23:0;:10;11560:1;11549:13;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11549:13:0;:23;11545:82;;;11607:4;11593:18;;11545:82;11525:3;;11482:156;;17010:412;17119:8;;17129:4;;4813:775;;;;;;;;;;;;;-1:-1:-1;;;4813:775:0;;;4966:19;4974:10;4966:7;:19::i;:::-;4958:34;;;;-1:-1:-1;;;4958:34:0;;;;;;;:::i;:::-;5003:14;5020:25;5030:8;;5040:4;;5020:9;:25::i;:::-;5003:42;-1:-1:-1;;;;;;5078:20:0;;5088:10;5078:20;;;;:39;;;5102:15;5110:6;5102:7;:15::i;:::-;5078:63;;;;-1:-1:-1;;;;;;5121:20:0;;;;5078:63;5056:115;;;;-1:-1:-1;;;5056:115:0;;;;;;;:::i;:::-;5183:13;;;5233:92;;;;5258:8;5233:92;:::i;:::-;-1:-1:-1;5358:15:0;;;;:11;:15;;;;;;5182:143;;-1:-1:-1;5182:143:0;;-1:-1:-1;5182:143:0;-1:-1:-1;5358:15:0;;:24;;;:93;;-1:-1:-1;5420:30:0;;;;;;-1:-1:-1;;;;;;5403:48:0;;;;;;5358:93;5336:146;;;;-1:-1:-1;;;5336:146:0;;;;;;;:::i;:::-;5513:15;5501:9;:27;5493:42;;;;-1:-1:-1;;;5493:42:0;;;;;;;:::i;:::-;5546:15;;;;5564:4;5546:15;;;;;;;:22;;-1:-1:-1;;5546:22:0;;;;;;17196:92:::1;::::0;;::::1;17221:8:::0;17196:92:::1;:::i;:::-;17166:122;;;;;17299:14;17327:6;17316:29;;;;;;;;;;;;:::i;:::-;17356:8;:17:::0;;;17389:25:::1;::::0;17299:46;;-1:-1:-1;17389:25:0::1;::::0;::::1;::::0;17299:46;;17389:25:::1;:::i;15560:460::-:0;15670:8;;15680:4;;4813:775;;;;;;;;;;;;;-1:-1:-1;;;4813:775:0;;;4966:19;4974:10;4966:7;:19::i;:::-;4958:34;;;;-1:-1:-1;;;4958:34:0;;;;;;;:::i;:::-;5003:14;5020:25;5030:8;;5040:4;;5020:9;:25::i;:::-;5003:42;-1:-1:-1;;;;;;5078:20:0;;5088:10;5078:20;;;;:39;;;5102:15;5110:6;5102:7;:15::i;:::-;5078:63;;;;-1:-1:-1;;;;;;5121:20:0;;;;5078:63;5056:115;;;;-1:-1:-1;;;5056:115:0;;;;;;;:::i;:::-;5183:13;;;5233:92;;;;5258:8;5233:92;:::i;:::-;-1:-1:-1;5358:15:0;;;;:11;:15;;;;;;5182:143;;-1:-1:-1;5182:143:0;;-1:-1:-1;5182:143:0;-1:-1:-1;5358:15:0;;:24;;;:93;;-1:-1:-1;5420:30:0;;;;;;-1:-1:-1;;;;;;5403:48:0;;;;;;5358:93;5336:146;;;;-1:-1:-1;;;5336:146:0;;;;;;;:::i;:::-;5513:15;5501:9;:27;5493:42;;;;-1:-1:-1;;;5493:42:0;;;;;;;:::i;:::-;5546:15;;;;5564:4;5546:15;;;;;;;:22;;-1:-1:-1;;5546:22:0;;;;;;15748:92:::1;::::0;;::::1;15773:8:::0;15748:92:::1;:::i;:::-;15718:122;;;;;15852:14;15868:12:::0;15895:6:::1;15884:35;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;15930:20:0;::::1;;::::0;;;:12:::1;:20;::::0;;;;;;:30;;-1:-1:-1;;15930:30:0::1;::::0;::::1;;;::::0;;15976:36;15930:20;;-1:-1:-1;15930:30:0;-1:-1:-1;15976:36:0::1;::::0;::::1;::::0;15930:20;;:30;;15976:36:::1;:::i;7460:668::-:0;7575:8;;7585:4;;4813:775;;;;;;;;;;;;;-1:-1:-1;;;4813:775:0;;;4966:19;4974:10;4966:7;:19::i;:::-;4958:34;;;;-1:-1:-1;;;4958:34:0;;;;;;;:::i;:::-;5003:14;5020:25;5030:8;;5040:4;;5020:9;:25::i;:::-;5003:42;-1:-1:-1;;;;;;5078:20:0;;5088:10;5078:20;;;;:39;;;5102:15;5110:6;5102:7;:15::i;:::-;5078:63;;;;-1:-1:-1;;;;;;5121:20:0;;;;5078:63;5056:115;;;;-1:-1:-1;;;5056:115:0;;;;;;;:::i;:::-;5183:13;;;5233:92;;;;5258:8;5233:92;:::i;:::-;-1:-1:-1;5358:15:0;;;;:11;:15;;;;;;5182:143;;-1:-1:-1;5182:143:0;;-1:-1:-1;5182:143:0;-1:-1:-1;5358:15:0;;:24;;;:93;;-1:-1:-1;5420:30:0;;;;;;-1:-1:-1;;;;;;5403:48:0;;;;;;5358:93;5336:146;;;;-1:-1:-1;;;5336:146:0;;;;;;;:::i;:::-;5513:15;5501:9;:27;5493:42;;;;-1:-1:-1;;;5493:42:0;;;;;;;:::i;:::-;5546:15;;;;5564:4;5546:15;;;;;;;:22;;-1:-1:-1;;5546:22:0;;;;;;7658:92:::1;::::0;;::::1;7683:8:::0;7658:92:::1;:::i;:::-;7628:122;;;;;7761:16;7791:6;7780:29;;;;;;;;;;;;:::i;:::-;7761:48:::0;-1:-1:-1;7820:13:0::1;::::0;7844:143:::1;7868:6;:13:::0;7864:17;::::1;7844:143;;;7920:10;-1:-1:-1::0;;;;;7907:23:0::1;:6;7914:1;7907:9;;;;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;7907:9:0::1;:23;7903:73;;;7959:1;7951:9;;7903:73;7883:3;;7844:143;;;;7997:16;8016:6:::0;8023:5:::1;8016:13;;;;;;;;;::::0;;;::::1;::::0;;::::1;::::0;8040;;-1:-1:-1;;;;;8016:13:0;;::::1;::::0;-1:-1:-1;8056:8:0;;8016:13;8047:5;;8040:13;::::1;;;;;;::::0;;;::::1;::::0;;::::1;:24:::0;;-1:-1:-1;;;;;;8040:24:0::1;-1:-1:-1::0;;;;;8040:24:0;;::::1;;::::0;;8080:40:::1;::::0;;;::::1;::::0;;::::1;::::0;::::1;::::0;::::1;5579:1;;;;7460:668:::0;;;;;;;;;;;;;:::o;9578:19::-;;;-1:-1:-1;;;;;9578:19:0;;:::o;14272:224::-;8557:10;-1:-1:-1;;;;;8571:12:0;8557:26;;8549:41;;;;-1:-1:-1;;;8549:41:0;;;;;;;:::i;:::-;14430:6:::1;-1:-1:-1::0;;;;;14399:37:0::1;:27;14417:8;14399:17;:27::i;:::-;-1:-1:-1::0;;;;;14399:37:0::1;;14395:50;;;14438:7;;14395:50;-1:-1:-1::0;;;;;14455:24:0;;::::1;;::::0;;;:14:::1;:24;::::0;;;;:33;;-1:-1:-1;;;;;;14455:33:0::1;::::0;;::::1;::::0;;;::::1;::::0;;8601:1:::1;14272:224:::0;;:::o;7163:250::-;7259:7;7385:4;7332:58;;;;;;;;:::i;:::-;;;;;;;;;;;;;7304:101;;;;;;7284:121;;7163:250;;;:::o;10946:307::-;11018:9;11013:117;11037:10;:17;11033:21;;11013:117;;;11101:9;-1:-1:-1;;;;;11084:26:0;:10;11095:1;11084:13;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11084:13:0;:26;;11076:42;;;;-1:-1:-1;;;11076:42:0;;;;;;;:::i;:::-;11056:3;;11013:117;;;-1:-1:-1;11140:10:0;:26;;;;;;;;;;;;;-1:-1:-1;;;;;;11140:26:0;-1:-1:-1;;;;;11140:26:0;;;;;;;;-1:-1:-1;11177:23:0;;;:12;11140:26;11177:23;;;;;;:30;;-1:-1:-1;;11177:30:0;;;;;;;11223:22;;;;;11140:26;;11223:22;:::i;:::-;;;;;;;;10946:307;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:166:1;92:13;;141;;134:21;124:32;;114:2;;170:1;167;160:12;185:377;;;302:3;295:4;287:6;283:17;279:27;269:2;;327:8;317;310:26;269:2;-1:-1:-1;357:20:1;;-1:-1:-1;;;;;389:30:1;;386:2;;;439:8;429;422:26;386:2;483:4;475:6;471:17;459:29;;535:3;528:4;519:6;511;507:19;503:30;500:39;497:2;;;552:1;549;542:12;497:2;259:303;;;;;:::o;567:259::-;;679:2;667:9;658:7;654:23;650:32;647:2;;;700:6;692;685:22;647:2;744:9;731:23;763:33;790:5;763:33;:::i;:::-;815:5;637:189;-1:-1:-1;;;637:189:1:o;831:263::-;;954:2;942:9;933:7;929:23;925:32;922:2;;;975:6;967;960:22;922:2;1012:9;1006:16;1031:33;1058:5;1031:33;:::i;1375:415::-;;;1531:2;1519:9;1510:7;1506:23;1502:32;1499:2;;;1552:6;1544;1537:22;1499:2;1589:9;1583:16;1608:33;1635:5;1608:33;:::i;:::-;1710:2;1695:18;;1689:25;1660:5;;-1:-1:-1;1723:35:1;1689:25;1723:35;:::i;:::-;1777:7;1767:17;;;1489:301;;;;;:::o;1795:352::-;;;1940:2;1928:9;1919:7;1915:23;1911:32;1908:2;;;1961:6;1953;1946:22;1908:2;1998:9;1992:16;2017:33;2044:5;2017:33;:::i;:::-;2069:5;-1:-1:-1;2093:48:1;2137:2;2122:18;;2093:48;:::i;:::-;2083:58;;1898:249;;;;;:::o;2152:402::-;;;2281:2;2269:9;2260:7;2256:23;2252:32;2249:2;;;2302:6;2294;2287:22;2249:2;2346:9;2333:23;2365:33;2392:5;2365:33;:::i;:::-;2417:5;-1:-1:-1;2474:2:1;2459:18;;2446:32;2487:35;2446:32;2487:35;:::i;2559:897::-;;2694:2;2682:9;2673:7;2669:23;2665:32;2662:2;;;2715:6;2707;2700:22;2662:2;2769:7;2762:4;2751:9;2747:20;2743:34;2733:2;;2796:6;2788;2781:22;2733:2;2834;2828:9;2876:2;2868:6;2864:15;2945:6;2933:10;2930:22;-1:-1:-1;;;;;2897:10:1;2894:34;2891:62;2888:2;;;2956:9;2888:2;2983;2976:22;3018:6;3044:9;3083:2;3068:18;;3065:31;-1:-1:-1;3062:2:1;;;3114:6;3106;3099:22;3062:2;3141:6;3156:269;3170:4;3167:1;3164:11;3156:269;;;3243:3;3230:17;3260:33;3287:5;3260:33;:::i;:::-;3306:18;;3347:4;3371:12;;;;3403;;;;;3190:1;3183:9;3156:269;;;-1:-1:-1;3444:6:1;;2652:804;-1:-1:-1;;;;;2652:804:1:o;3461:214::-;;3581:2;3569:9;3560:7;3556:23;3552:32;3549:2;;;3602:6;3594;3587:22;3549:2;3630:39;3659:9;3630:39;:::i;3680:1119::-;;;;;3851:3;3839:9;3830:7;3826:23;3822:33;3819:2;;;3873:6;3865;3858:22;3819:2;3904:23;;-1:-1:-1;;;;;;3956:32:1;;3946:43;;3936:2;;4008:6;4000;3993:22;3936:2;4036:5;-1:-1:-1;4060:2:1;4094:18;;;4081:32;;-1:-1:-1;4160:2:1;4145:18;;4132:32;;-1:-1:-1;4215:2:1;4200:18;;4187:32;-1:-1:-1;;;;;4268:14:1;;;4265:2;;;4300:6;4292;4285:22;4265:2;4343:6;4332:9;4328:22;4318:32;;4388:7;4381:4;4377:2;4373:13;4369:27;4359:2;;4415:6;4407;4400:22;4359:2;4456;4443:16;4478:2;4474;4471:10;4468:2;;;4484:9;4468:2;4517:52;4559:2;4540:13;;-1:-1:-1;;4536:27:1;4532:36;;4517:52;:::i;:::-;4504:65;;4592:2;4585:5;4578:17;4632:7;4627:2;4622;4618;4614:11;4610:20;4607:33;4604:2;;;4658:6;4650;4643:22;4604:2;4718;4713;4709;4705:11;4700:2;4693:5;4689:14;4676:45;4741:14;;4737:23;;;4730:39;;;;3809:990;;;;-1:-1:-1;3809:990:1;;-1:-1:-1;;3809:990:1:o;4804:431::-;;;4935:2;4923:9;4914:7;4910:23;4906:32;4903:2;;;4956:6;4948;4941:22;4903:2;5001:9;4988:23;-1:-1:-1;;;;;5026:6:1;5023:30;5020:2;;;5071:6;5063;5056:22;5020:2;5115:60;5167:7;5158:6;5147:9;5143:22;5115:60;:::i;:::-;5194:8;;5089:86;;-1:-1:-1;4893:342:1;-1:-1:-1;;;;4893:342:1:o;5240:751::-;;;;;5407:2;5395:9;5386:7;5382:23;5378:32;5375:2;;;5428:6;5420;5413:22;5375:2;5473:9;5460:23;-1:-1:-1;;;;;5543:2:1;5535:6;5532:14;5529:2;;;5564:6;5556;5549:22;5529:2;5608:60;5660:7;5651:6;5640:9;5636:22;5608:60;:::i;:::-;5687:8;;-1:-1:-1;5582:86:1;-1:-1:-1;5775:2:1;5760:18;;5747:32;;-1:-1:-1;5791:16:1;;;5788:2;;;5825:6;5817;5810:22;5788:2;;5869:62;5923:7;5912:8;5901:9;5897:24;5869:62;:::i;:::-;5365:626;;;;-1:-1:-1;5950:8:1;-1:-1:-1;;;;5365:626:1:o;5996:190::-;;6108:2;6096:9;6087:7;6083:23;6079:32;6076:2;;;6129:6;6121;6114:22;6076:2;-1:-1:-1;6157:23:1;;6066:120;-1:-1:-1;6066:120:1:o;6191:194::-;;6314:2;6302:9;6293:7;6289:23;6285:32;6282:2;;;6335:6;6327;6320:22;6282:2;-1:-1:-1;6363:16:1;;6272:113;-1:-1:-1;6272:113:1:o;6390:259::-;;6511:2;6499:9;6490:7;6486:23;6482:32;6479:2;;;6532:6;6524;6517:22;6479:2;6569:9;6563:16;6588:31;6613:5;6588:31;:::i;6654:391::-;;;;6798:2;6786:9;6777:7;6773:23;6769:32;6766:2;;;6819:6;6811;6804:22;6766:2;6863:9;6850:23;6882:31;6907:5;6882:31;:::i;:::-;6932:5;6984:2;6969:18;;6956:32;;-1:-1:-1;7035:2:1;7020:18;;;7007:32;;6756:289;-1:-1:-1;;;6756:289:1:o;7050:469::-;;7147:5;7141:12;7174:6;7169:3;7162:19;7200:4;7229:2;7224:3;7220:12;7213:19;;7266:2;7259:5;7255:14;7287:3;7299:195;7313:6;7310:1;7307:13;7299:195;;;7378:13;;-1:-1:-1;;;;;7374:39:1;7362:52;;7434:12;;;;7469:15;;;;7410:1;7328:9;7299:195;;;-1:-1:-1;7510:3:1;;7117:402;-1:-1:-1;;;;;7117:402:1:o;7524:443::-;;7621:5;7615:12;7648:6;7643:3;7636:19;7674:4;7703:2;7698:3;7694:12;7687:19;;7740:2;7733:5;7729:14;7761:3;7773:169;7787:6;7784:1;7781:13;7773:169;;;7848:13;;7836:26;;7882:12;;;;7917:15;;;;7809:1;7802:9;7773:169;;7972:480;;8243:26;8239:31;8230:6;8226:2;8222:15;8218:53;8213:3;8206:66;8302:6;8297:2;8292:3;8288:12;8281:28;8353:6;8345;8340:2;8335:3;8331:12;8318:42;8383:16;;8401:2;8379:25;8413:15;;;8379:25;8196:256;-1:-1:-1;;;8196:256:1:o;8457:380::-;8699:66;8687:79;;8791:2;8782:12;;8775:28;;;;8828:2;8819:12;;8677:160::o;8842:203::-;-1:-1:-1;;;;;9006:32:1;;;;8988:51;;8976:2;8961:18;;8943:102::o;9050:304::-;-1:-1:-1;;;;;9280:15:1;;;9262:34;;9332:15;;9327:2;9312:18;;9305:43;9212:2;9197:18;;9179:175::o;9359:284::-;-1:-1:-1;;;;;9545:32:1;;;;9527:51;;9621:14;9614:22;9609:2;9594:18;;9587:50;9515:2;9500:18;;9482:161::o;9648:375::-;-1:-1:-1;;;;;9906:15:1;;;9888:34;;9953:2;9938:18;;9931:34;;;;10001:15;;;9996:2;9981:18;;9974:43;9838:2;9823:18;;9805:218::o;10028:267::-;;10207:2;10196:9;10189:21;10227:62;10285:2;10274:9;10270:18;10262:6;10227:62;:::i;10300:477::-;;10557:2;10546:9;10539:21;10583:62;10641:2;10630:9;10626:18;10618:6;10583:62;:::i;:::-;10693:9;10685:6;10681:22;10676:2;10665:9;10661:18;10654:50;10721;10764:6;10756;10721:50;:::i;10782:687::-;;11117:2;11106:9;11099:21;11143:62;11201:2;11190:9;11186:18;11178:6;11143:62;:::i;:::-;11253:9;11245:6;11241:22;11236:2;11225:9;11221:18;11214:50;11287;11330:6;11322;11287:50;:::i;:::-;11273:64;;11385:9;11377:6;11373:22;11368:2;11357:9;11353:18;11346:50;11413;11456:6;11448;11413:50;:::i;:::-;11405:58;11089:380;-1:-1:-1;;;;;;11089:380:1:o;11474:187::-;11639:14;;11632:22;11614:41;;11602:2;11587:18;;11569:92::o;11666:177::-;11812:25;;;11800:2;11785:18;;11767:76::o;11848:398::-;12075:25;;;12148:4;12136:17;;;;12131:2;12116:18;;12109:45;12185:2;12170:18;;12163:34;12228:2;12213:18;;12206:34;12062:3;12047:19;;12029:217::o;12251:326::-;12453:2;12435:21;;;12492:1;12472:18;;;12465:29;-1:-1:-1;;;12525:2:1;12510:18;;12503:33;12568:2;12553:18;;12425:152::o;12582:325::-;12784:2;12766:21;;;12823:1;12803:18;;;12796:29;-1:-1:-1;;;12856:2:1;12841:18;;12834:32;12898:2;12883:18;;12756:151::o;12912:325::-;13114:2;13096:21;;;13153:1;13133:18;;;13126:29;-1:-1:-1;;;13186:2:1;13171:18;;13164:32;13228:2;13213:18;;13086:151::o;13242:325::-;13444:2;13426:21;;;13483:1;13463:18;;;13456:29;-1:-1:-1;;;13516:2:1;13501:18;;13494:32;13558:2;13543:18;;13416:151::o;13572:325::-;13774:2;13756:21;;;13813:1;13793:18;;;13786:29;-1:-1:-1;;;13846:2:1;13831:18;;13824:32;13888:2;13873:18;;13746:151::o;13902:325::-;14104:2;14086:21;;;14143:1;14123:18;;;14116:29;-1:-1:-1;;;14176:2:1;14161:18;;14154:32;14218:2;14203:18;;14076:151::o;14232:325::-;14434:2;14416:21;;;14473:1;14453:18;;;14446:29;-1:-1:-1;;;14506:2:1;14491:18;;14484:32;14548:2;14533:18;;14406:151::o;14562:325::-;14764:2;14746:21;;;14803:1;14783:18;;;14776:29;-1:-1:-1;;;14836:2:1;14821:18;;14814:32;14878:2;14863:18;;14736:151::o;14892:326::-;15094:2;15076:21;;;15133:1;15113:18;;;15106:29;-1:-1:-1;;;15166:2:1;15151:18;;15144:33;15209:2;15194:18;;15066:152::o;15405:242::-;15475:2;15469:9;15505:17;;;-1:-1:-1;;;;;15537:34:1;;15573:22;;;15534:62;15531:2;;;15599:9;15531:2;15626;15619:22;15449:198;;-1:-1:-1;15449:198:1:o;15652:133::-;-1:-1:-1;;;;;15729:31:1;;15719:42;;15709:2;;15775:1;15772;15765:12;15709:2;15699:86;:::o;15790:116::-;15876:4;15869:5;15865:16;15858:5;15855:27;15845:2;;15896:1;15893;15886:12
Metadata Hash
0de2596a2e8c798c78cfdcc1cf69a8c983a1b65a598dd9753849a8d87c6b3fcb
Age | Block | Fee Address | BC Fee Address | Voting Power | Jailed | Incoming |
---|
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.