Feature Tip: Add private address tag to any address under My Name Tag !
Latest 25 from a total of 3,474 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 21189086 | 9 days ago | IN | 0 ETH | 0.00064335 | ||||
Transfer | 21127441 | 17 days ago | IN | 0 ETH | 0.00194024 | ||||
Transfer | 20987998 | 37 days ago | IN | 0 ETH | 0.00066499 | ||||
Transfer | 20987998 | 37 days ago | IN | 0 ETH | 0.00066499 | ||||
Transfer | 20987998 | 37 days ago | IN | 0 ETH | 0.00066499 | ||||
Transfer | 20987988 | 37 days ago | IN | 0 ETH | 0.00068514 | ||||
Transfer | 20987988 | 37 days ago | IN | 0 ETH | 0.00068514 | ||||
Transfer | 20987988 | 37 days ago | IN | 0 ETH | 0.00068514 | ||||
Transfer | 20987988 | 37 days ago | IN | 0 ETH | 0.00068514 | ||||
Transfer | 20987988 | 37 days ago | IN | 0 ETH | 0.00068531 | ||||
Transfer | 20987951 | 37 days ago | IN | 0 ETH | 0.00063721 | ||||
Transfer | 20987951 | 37 days ago | IN | 0 ETH | 0.00063721 | ||||
Transfer | 20987951 | 37 days ago | IN | 0 ETH | 0.00063721 | ||||
Transfer | 20971302 | 39 days ago | IN | 0 ETH | 0.00196241 | ||||
Approve | 20914784 | 47 days ago | IN | 0 ETH | 0.00103004 | ||||
Approve | 20914776 | 47 days ago | IN | 0 ETH | 0.0011036 | ||||
Approve | 20889513 | 50 days ago | IN | 0 ETH | 0.00009758 | ||||
Approve | 20875498 | 52 days ago | IN | 0 ETH | 0.00014488 | ||||
Transfer | 20855004 | 55 days ago | IN | 0 ETH | 0.00040502 | ||||
Transfer | 20854994 | 55 days ago | IN | 0 ETH | 0.00040294 | ||||
Approve | 20852811 | 55 days ago | IN | 0 ETH | 0.00029273 | ||||
Transfer | 20841533 | 57 days ago | IN | 0 ETH | 0.00077438 | ||||
Approve | 20786309 | 65 days ago | IN | 0 ETH | 0.0010625 | ||||
Transfer | 20783629 | 65 days ago | IN | 0 ETH | 0.00123808 | ||||
Approve | 20773262 | 67 days ago | IN | 0 ETH | 0.00056872 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
20698873 | 77 days ago | 0.00665235 ETH | ||||
20698873 | 77 days ago | 0.00665235 ETH | ||||
20698873 | 77 days ago | 0.002851 ETH | ||||
20698873 | 77 days ago | 0.002851 ETH | ||||
20698873 | 77 days ago | 0.01900672 ETH | ||||
20530564 | 100 days ago | 0.00596823 ETH | ||||
20530564 | 100 days ago | 0.00596823 ETH | ||||
20530564 | 100 days ago | 0.00255781 ETH | ||||
20530564 | 100 days ago | 0.00255781 ETH | ||||
20530564 | 100 days ago | 0.01705209 ETH | ||||
20227322 | 143 days ago | 0.00631585 ETH | ||||
20227322 | 143 days ago | 0.00631585 ETH | ||||
20227322 | 143 days ago | 0.00270679 ETH | ||||
20227322 | 143 days ago | 0.00270679 ETH | ||||
20227322 | 143 days ago | 0.01804531 ETH | ||||
20082373 | 163 days ago | 0.0070188 ETH | ||||
20082373 | 163 days ago | 0.0070188 ETH | ||||
20082373 | 163 days ago | 0.00300806 ETH | ||||
20082373 | 163 days ago | 0.00300806 ETH | ||||
20082373 | 163 days ago | 0.02005373 ETH | ||||
20020196 | 172 days ago | 0.00843507 ETH | ||||
20020196 | 172 days ago | 0.00843507 ETH | ||||
20020196 | 172 days ago | 0.00361503 ETH | ||||
20020196 | 172 days ago | 0.00361503 ETH | ||||
20020196 | 172 days ago | 0.02410021 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
TEQ
Compiler Version
v0.8.24+commit.e11b9ed9
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-03-13 */ // SPDX-License-Identifier: MIT pragma solidity 0.8.24; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _transferOwnership(_msgSender()); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby disabling any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } contract TEQ is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) public _isExcludedFromFee; uint8 private constant _decimals = 18; uint256 private constant _tTotal = 10000000 * 10 ** _decimals; string private constant _name = unicode"Teq Network"; string private constant _symbol = unicode"TEQ"; uint256 public taxSwapThreshold = 10000 * 10 ** _decimals; uint256 public maxLimit = 200000 * 10 ** _decimals; uint256 public _buyFee = 5; //Buy tax uint256 public _sellFee = 5; // Sell tax uint256 public _transferFee = 0; //Transfer tax address payable public feeWallet1 = payable(0x389bcBEBb96999B3eE71421185feEFCe866cA716); address payable public feeWallet2 = payable(0xE12a8ad99cdAeA0F1452f2D0113e1a9E5836B82c); address payable public feeWallet3 = payable(0x23956303b45B2DD2B9F861E3667b70f4b8D4DaDc); address payable public feeWallet4 = payable(0x80dE7358C1848a37dB8717e12086B986E64fED43); uint256 private constant feePercent1 = 15; uint256 private constant feePercent2 = 15; uint256 private constant feePercent3 = 35; uint256 private constant feePercent4 = 35; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private inSwap = false; bool private swapEnabled = true; modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); // Create a uniswap pair for this new token uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router = _uniswapV2Router; _balances[_msgSender()] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[feeWallet1] = true; _isExcludedFromFee[feeWallet2] = true; _isExcludedFromFee[feeWallet3] = true; _isExcludedFromFee[feeWallet4] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); uint256 taxAmount = 0; if (!_isExcludedFromFee[from] && !_isExcludedFromFee[to]) { if (to != uniswapV2Pair) { require(balanceOf(to) + amount <= maxLimit, "Exceeds the maxLimit."); } if (_transferFee > 0) { if (to != uniswapV2Pair && from != uniswapV2Pair) { taxAmount = amount.mul(_transferFee).div(100); } } if (_buyFee > 0) { if (from == uniswapV2Pair && to != address(uniswapV2Router)) { taxAmount = amount.mul(_buyFee).div(100); } } if (_sellFee > 0) { if (to == uniswapV2Pair) { taxAmount = amount.mul(_sellFee).div(100); } } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > taxSwapThreshold) { swapTokensForEth(contractTokenBalance); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } if (taxAmount > 0) { _balances[address(this)] = _balances[address(this)].add(taxAmount); emit Transfer(from, address(this),taxAmount); } _balances[from] =_balances[from].sub(amount); _balances[to] = _balances[to].add(amount.sub(taxAmount)); emit Transfer(from, to, amount.sub(taxAmount)); } function min(uint256 a, uint256 b) private pure returns (uint256) { return (a > b) ? b : a; } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { if (tokenAmount == 0) { return; } address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function sendETHToFee(uint256 amount) private { uint256 amount1 = amount.mul(feePercent1).div(100); uint256 amount2 = amount.mul(feePercent2).div(100); uint256 amount3 = amount.mul(feePercent3).div(100); uint256 amount4 = amount.mul(feePercent4).div(100); (bool callSuccess1, ) = payable(feeWallet1).call{value: amount1}(""); require(callSuccess1, "Call failed"); (bool callSuccess2, ) = payable(feeWallet2).call{value: amount2}(""); require(callSuccess2, "Call failed"); (bool callSuccess3, ) = payable(feeWallet3).call{value: amount3}(""); require(callSuccess3, "Call failed"); (bool callSuccess4, ) = payable(feeWallet4).call{value: amount4}(""); require(callSuccess4, "Call failed"); } receive() external payable {} function manualSwap() external { require(_msgSender() == feeWallet1 || _msgSender() == feeWallet2 || _msgSender() == feeWallet3 || _msgSender() == feeWallet4); uint256 tokenBalance = balanceOf(address(this)); if (tokenBalance > 0) { swapTokensForEth(tokenBalance); } uint256 ethBalance = address(this).balance; if (ethBalance > 0) { sendETHToFee(ethBalance); } } function adjustTaxSwapThreshold(uint256 _taxSwapThreshold) public { require(_msgSender() == feeWallet1 || _msgSender() == feeWallet2 || _msgSender() == feeWallet3 || _msgSender() == feeWallet4); taxSwapThreshold = _taxSwapThreshold; } function adjustMaxLimit(uint256 _maxLimit) public onlyOwner { require(_maxLimit > totalSupply().div(200), "Limit too less"); maxLimit = _maxLimit; } function adjustBuyFee(uint256 _fee) public onlyOwner { _buyFee = _fee; } function adjustSellFee(uint256 _fee) public onlyOwner { _sellFee = _fee; } function adjustTransferFee(uint256 _fee) public onlyOwner { _transferFee = _fee; } function excludeFromFee(address wallet, bool bFlag) public onlyOwner { _isExcludedFromFee[wallet] = bFlag; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_transferFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_fee","type":"uint256"}],"name":"adjustBuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxLimit","type":"uint256"}],"name":"adjustMaxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_fee","type":"uint256"}],"name":"adjustSellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_taxSwapThreshold","type":"uint256"}],"name":"adjustTaxSwapThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_fee","type":"uint256"}],"name":"adjustTransferFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"},{"internalType":"bool","name":"bFlag","type":"bool"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeWallet1","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeWallet2","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeWallet3","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeWallet4","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526012600a62000014919062000a1c565b61271062000023919062000a6c565b6004556012600a62000036919062000a1c565b62030d4062000046919062000a6c565b600555600560065560056007555f60085573389bcbebb96999b3ee71421185feefce866ca71660095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073e12a8ad99cdaea0f1452f2d0113e1a9e5836b82c600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507323956303b45b2dd2b9f861e3667b70f4b8d4dadc600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507380de7358c1848a37db8717e12086b986e64fed43600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f600e60146101000a81548160ff0219169083151502179055506001600e60156101000a81548160ff021916908315150217905550348015620001e8575f80fd5b5062000209620001fd6200079b60201b60201c565b620007a260201b60201c565b5f737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200026b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000291919062000b1b565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002f7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200031d919062000b1b565b6040518363ffffffff1660e01b81526004016200033c92919062000b5c565b6020604051808303815f875af115801562000359573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200037f919062000b1b565b600e5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a6200040e919062000a1c565b629896806200041e919062000a6c565b60015f620004316200079b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f620004836200086360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506200070f6200079b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a6200076d919062000a1c565b629896806200077d919062000a6c565b6040516200078c919062000b98565b60405180910390a35062000bb3565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156200091457808604811115620008ec57620008eb6200088a565b5b6001851615620008fc5780820291505b80810290506200090c85620008b7565b9450620008cc565b94509492505050565b5f826200092e576001905062000a00565b816200093d575f905062000a00565b8160018114620009565760028114620009615762000997565b600191505062000a00565b60ff8411156200097657620009756200088a565b5b8360020a91508482111562000990576200098f6200088a565b5b5062000a00565b5060208310610133831016604e8410600b8410161715620009d15782820a905083811115620009cb57620009ca6200088a565b5b62000a00565b620009e08484846001620008c3565b92509050818404811115620009fa57620009f96200088a565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f62000a288262000a07565b915062000a358362000a10565b925062000a647fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200091d565b905092915050565b5f62000a788262000a07565b915062000a858362000a07565b925082820262000a958162000a07565b9150828204841483151762000aaf5762000aae6200088a565b5b5092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000ae58262000aba565b9050919050565b62000af78162000ad9565b811462000b02575f80fd5b50565b5f8151905062000b158162000aec565b92915050565b5f6020828403121562000b335762000b3262000ab6565b5b5f62000b428482850162000b05565b91505092915050565b62000b568162000ad9565b82525050565b5f60408201905062000b715f83018562000b4b565b62000b80602083018462000b4b565b9392505050565b62000b928162000a07565b82525050565b5f60208201905062000bad5f83018462000b87565b92915050565b6131888062000bc15f395ff3fe6080604052600436106101c5575f3560e01c80635e7b655c116100f657806395d89b4111610094578063df8408fe11610063578063df8408fe14610626578063df841f091461064e578063eab2964914610678578063f2fde38b146106a0576101cc565b806395d89b411461055a578063a9059cbb14610584578063db86db56146105c0578063dd62ed3e146105ea576101cc565b8063715018a6116100d0578063715018a6146104b4578063768dc710146104ca5780638da5cb5b14610506578063936e1d8314610530576101cc565b80635e7b655c146104265780636efc3fdc1461045057806370a0823114610478576101cc565b806334d7b6f61161016357806340b9a54b1161013d57806340b9a54b146103945780634f5add4f146103be57806351bc3c85146103e6578063590f897e146103fc576101cc565b806334d7b6f61461031a5780633de051c4146103425780633df9a8d21461036a576101cc565b80631a861d261161019f5780631a861d261461026057806323b872dd1461028a5780632c2da25c146102c6578063313ce567146102f0576101cc565b806306fdde03146101d0578063095ea7b3146101fa57806318160ddd14610236576101cc565b366101cc57005b5f80fd5b3480156101db575f80fd5b506101e46106c8565b6040516101f19190612340565b60405180910390f35b348015610205575f80fd5b50610220600480360381019061021b91906123f1565b610705565b60405161022d9190612449565b60405180910390f35b348015610241575f80fd5b5061024a610722565b6040516102579190612471565b60405180910390f35b34801561026b575f80fd5b50610274610744565b6040516102819190612471565b60405180910390f35b348015610295575f80fd5b506102b060048036038101906102ab919061248a565b61074a565b6040516102bd9190612449565b60405180910390f35b3480156102d1575f80fd5b506102da61081e565b6040516102e791906124fa565b60405180910390f35b3480156102fb575f80fd5b50610304610843565b604051610311919061252e565b60405180910390f35b348015610325575f80fd5b50610340600480360381019061033b9190612547565b61084b565b005b34801561034d575f80fd5b5061036860048036038101906103639190612547565b61085d565b005b348015610375575f80fd5b5061037e61086f565b60405161038b9190612471565b60405180910390f35b34801561039f575f80fd5b506103a8610875565b6040516103b59190612471565b60405180910390f35b3480156103c9575f80fd5b506103e460048036038101906103df9190612547565b61087b565b005b3480156103f1575f80fd5b506103fa61088d565b005b348015610407575f80fd5b50610410610a3e565b60405161041d9190612471565b60405180910390f35b348015610431575f80fd5b5061043a610a44565b6040516104479190612471565b60405180910390f35b34801561045b575f80fd5b5061047660048036038101906104719190612547565b610a4a565b005b348015610483575f80fd5b5061049e60048036038101906104999190612572565b610ab8565b6040516104ab9190612471565b60405180910390f35b3480156104bf575f80fd5b506104c8610afe565b005b3480156104d5575f80fd5b506104f060048036038101906104eb9190612572565b610b11565b6040516104fd9190612449565b60405180910390f35b348015610511575f80fd5b5061051a610b2e565b60405161052791906125ac565b60405180910390f35b34801561053b575f80fd5b50610544610b55565b60405161055191906124fa565b60405180910390f35b348015610565575f80fd5b5061056e610b7a565b60405161057b9190612340565b60405180910390f35b34801561058f575f80fd5b506105aa60048036038101906105a591906123f1565b610bb7565b6040516105b79190612449565b60405180910390f35b3480156105cb575f80fd5b506105d4610bd4565b6040516105e191906124fa565b60405180910390f35b3480156105f5575f80fd5b50610610600480360381019061060b91906125c5565b610bf9565b60405161061d9190612471565b60405180910390f35b348015610631575f80fd5b5061064c6004803603810190610647919061262d565b610c7b565b005b348015610659575f80fd5b50610662610cdb565b60405161066f91906124fa565b60405180910390f35b348015610683575f80fd5b5061069e60048036038101906106999190612547565b610d00565b005b3480156106ab575f80fd5b506106c660048036038101906106c19190612572565b610e83565b005b60606040518060400160405280600b81526020017f546571204e6574776f726b000000000000000000000000000000000000000000815250905090565b5f610718610711610f05565b8484610f0c565b6001905092915050565b5f6012600a61073191906127c7565b6298968061073f9190612811565b905090565b60055481565b5f6107568484846110cf565b61081384610762610f05565b61080e8560405180606001604052806028815260200161312b6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6107c5610f05565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546119039092919063ffffffff16565b610f0c565b600190509392505050565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f6012905090565b610853611965565b8060078190555050565b610865611965565b8060068190555050565b60085481565b60065481565b610883611965565b8060088190555050565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108cd610f05565b73ffffffffffffffffffffffffffffffffffffffff1614806109425750600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661092a610f05565b73ffffffffffffffffffffffffffffffffffffffff16145b806109a05750600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610988610f05565b73ffffffffffffffffffffffffffffffffffffffff16145b806109fe5750600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109e6610f05565b73ffffffffffffffffffffffffffffffffffffffff16145b610a06575f80fd5b5f610a1030610ab8565b90505f811115610a2457610a23816119e3565b5b5f4790505f811115610a3a57610a3981611c57565b5b5050565b60075481565b60045481565b610a52611965565b610a6d60c8610a5f610722565b61202e90919063ffffffff16565b8111610aae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa59061289c565b60405180910390fd5b8060058190555050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610b06611965565b610b0f5f612077565b565b6003602052805f5260405f205f915054906101000a900460ff1681565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606040518060400160405280600381526020017f5445510000000000000000000000000000000000000000000000000000000000815250905090565b5f610bca610bc3610f05565b84846110cf565b6001905092915050565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610c83611965565b8060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d40610f05565b73ffffffffffffffffffffffffffffffffffffffff161480610db55750600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d9d610f05565b73ffffffffffffffffffffffffffffffffffffffff16145b80610e135750600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610dfb610f05565b73ffffffffffffffffffffffffffffffffffffffff16145b80610e715750600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e59610f05565b73ffffffffffffffffffffffffffffffffffffffff16145b610e79575f80fd5b8060048190555050565b610e8b611965565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610ef9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef09061292a565b60405180910390fd5b610f0281612077565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f71906129b8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610fe8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fdf90612a46565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110c29190612471565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361113d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113490612ad4565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a290612b62565b60405180910390fd5b5f81116111ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e490612bf0565b60405180910390fd5b5f60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615801561128c575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561165357600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461133e57600554826112f285610ab8565b6112fc9190612c0e565b111561133d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133490612c8b565b60405180910390fd5b5b5f600854111561142357600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156113f25750600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156114225761141f60646114116008548561213890919063ffffffff16565b61202e90919063ffffffff16565b90505b5b5f600654111561150757600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156114d65750600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156115065761150360646114f56006548561213890919063ffffffff16565b61202e90919063ffffffff16565b90505b5b5f600754111561159157600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036115905761158d606461157f6007548561213890919063ffffffff16565b61202e90919063ffffffff16565b90505b5b5f61159b30610ab8565b9050600e60149054906101000a900460ff161580156116065750600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b801561161e5750600e60159054906101000a900460ff165b801561162b575060045481115b1561165157611639816119e3565b5f4790505f81111561164f5761164e47611c57565b5b505b505b5f811115611752576116ab8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121af90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516117499190612471565b60405180910390a35b6117a28260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461220c90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506118456117f9828461220c90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121af90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6118e8848661220c90919063ffffffff16565b6040516118f59190612471565b60405180910390a350505050565b5f83831115829061194a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119419190612340565b60405180910390fd5b505f83856119589190612ca9565b9050809150509392505050565b61196d610f05565b73ffffffffffffffffffffffffffffffffffffffff1661198b610b2e565b73ffffffffffffffffffffffffffffffffffffffff16146119e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d890612d26565b60405180910390fd5b565b6001600e60146101000a81548160ff0219169083151502179055505f810315611c3a575f600267ffffffffffffffff811115611a2257611a21612d44565b5b604051908082528060200260200182016040528015611a505781602001602082028036833780820191505090505b50905030815f81518110611a6757611a66612d71565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b0b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b2f9190612db2565b81600181518110611b4357611b42612d71565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611ba930600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f0c565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611c0b959493929190612ed6565b5f604051808303815f87803b158015611c22575f80fd5b505af1158015611c34573d5f803e3d5ffd5b50505050505b5f600e60146101000a81548160ff02191690831515021790555050565b5f611c7f6064611c71600f8561213890919063ffffffff16565b61202e90919063ffffffff16565b90505f611ca96064611c9b600f8661213890919063ffffffff16565b61202e90919063ffffffff16565b90505f611cd36064611cc560238761213890919063ffffffff16565b61202e90919063ffffffff16565b90505f611cfd6064611cef60238861213890919063ffffffff16565b61202e90919063ffffffff16565b90505f60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1685604051611d4590612f5b565b5f6040518083038185875af1925050503d805f8114611d7f576040519150601f19603f3d011682016040523d82523d5f602084013e611d84565b606091505b5050905080611dc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dbf90612fb9565b60405180910390fd5b5f600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1685604051611e0e90612f5b565b5f6040518083038185875af1925050503d805f8114611e48576040519150601f19603f3d011682016040523d82523d5f602084013e611e4d565b606091505b5050905080611e91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e8890612fb9565b60405180910390fd5b5f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1685604051611ed790612f5b565b5f6040518083038185875af1925050503d805f8114611f11576040519150601f19603f3d011682016040523d82523d5f602084013e611f16565b606091505b5050905080611f5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f5190612fb9565b60405180910390fd5b5f600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1685604051611fa090612f5b565b5f6040518083038185875af1925050503d805f8114611fda576040519150601f19603f3d011682016040523d82523d5f602084013e611fdf565b606091505b5050905080612023576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161201a90612fb9565b60405180910390fd5b505050505050505050565b5f61206f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612255565b905092915050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f808303612148575f90506121a9565b5f82846121559190612811565b90508284826121649190613004565b146121a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161219b906130a4565b60405180910390fd5b809150505b92915050565b5f8082846121bd9190612c0e565b905083811015612202576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121f99061310c565b60405180910390fd5b8091505092915050565b5f61224d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611903565b905092915050565b5f808311829061229b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122929190612340565b60405180910390fd5b505f83856122a99190613004565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156122ed5780820151818401526020810190506122d2565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612312826122b6565b61231c81856122c0565b935061232c8185602086016122d0565b612335816122f8565b840191505092915050565b5f6020820190508181035f8301526123588184612308565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61238d82612364565b9050919050565b61239d81612383565b81146123a7575f80fd5b50565b5f813590506123b881612394565b92915050565b5f819050919050565b6123d0816123be565b81146123da575f80fd5b50565b5f813590506123eb816123c7565b92915050565b5f806040838503121561240757612406612360565b5b5f612414858286016123aa565b9250506020612425858286016123dd565b9150509250929050565b5f8115159050919050565b6124438161242f565b82525050565b5f60208201905061245c5f83018461243a565b92915050565b61246b816123be565b82525050565b5f6020820190506124845f830184612462565b92915050565b5f805f606084860312156124a1576124a0612360565b5b5f6124ae868287016123aa565b93505060206124bf868287016123aa565b92505060406124d0868287016123dd565b9150509250925092565b5f6124e482612364565b9050919050565b6124f4816124da565b82525050565b5f60208201905061250d5f8301846124eb565b92915050565b5f60ff82169050919050565b61252881612513565b82525050565b5f6020820190506125415f83018461251f565b92915050565b5f6020828403121561255c5761255b612360565b5b5f612569848285016123dd565b91505092915050565b5f6020828403121561258757612586612360565b5b5f612594848285016123aa565b91505092915050565b6125a681612383565b82525050565b5f6020820190506125bf5f83018461259d565b92915050565b5f80604083850312156125db576125da612360565b5b5f6125e8858286016123aa565b92505060206125f9858286016123aa565b9150509250929050565b61260c8161242f565b8114612616575f80fd5b50565b5f8135905061262781612603565b92915050565b5f806040838503121561264357612642612360565b5b5f612650858286016123aa565b925050602061266185828601612619565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156126ed578086048111156126c9576126c861266b565b5b60018516156126d85780820291505b80810290506126e685612698565b94506126ad565b94509492505050565b5f8261270557600190506127c0565b81612712575f90506127c0565b8160018114612728576002811461273257612761565b60019150506127c0565b60ff8411156127445761274361266b565b5b8360020a91508482111561275b5761275a61266b565b5b506127c0565b5060208310610133831016604e8410600b84101617156127965782820a9050838111156127915761279061266b565b5b6127c0565b6127a384848460016126a4565b925090508184048111156127ba576127b961266b565b5b81810290505b9392505050565b5f6127d1826123be565b91506127dc83612513565b92506128097fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846126f6565b905092915050565b5f61281b826123be565b9150612826836123be565b9250828202612834816123be565b9150828204841483151761284b5761284a61266b565b5b5092915050565b7f4c696d697420746f6f206c6573730000000000000000000000000000000000005f82015250565b5f612886600e836122c0565b915061289182612852565b602082019050919050565b5f6020820190508181035f8301526128b38161287a565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6129146026836122c0565b915061291f826128ba565b604082019050919050565b5f6020820190508181035f83015261294181612908565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6129a26024836122c0565b91506129ad82612948565b604082019050919050565b5f6020820190508181035f8301526129cf81612996565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612a306022836122c0565b9150612a3b826129d6565b604082019050919050565b5f6020820190508181035f830152612a5d81612a24565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612abe6025836122c0565b9150612ac982612a64565b604082019050919050565b5f6020820190508181035f830152612aeb81612ab2565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612b4c6023836122c0565b9150612b5782612af2565b604082019050919050565b5f6020820190508181035f830152612b7981612b40565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612bda6029836122c0565b9150612be582612b80565b604082019050919050565b5f6020820190508181035f830152612c0781612bce565b9050919050565b5f612c18826123be565b9150612c23836123be565b9250828201905080821115612c3b57612c3a61266b565b5b92915050565b7f4578636565647320746865206d61784c696d69742e00000000000000000000005f82015250565b5f612c756015836122c0565b9150612c8082612c41565b602082019050919050565b5f6020820190508181035f830152612ca281612c69565b9050919050565b5f612cb3826123be565b9150612cbe836123be565b9250828203905081811115612cd657612cd561266b565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612d106020836122c0565b9150612d1b82612cdc565b602082019050919050565b5f6020820190508181035f830152612d3d81612d04565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050612dac81612394565b92915050565b5f60208284031215612dc757612dc6612360565b5b5f612dd484828501612d9e565b91505092915050565b5f819050919050565b5f819050919050565b5f612e09612e04612dff84612ddd565b612de6565b6123be565b9050919050565b612e1981612def565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612e5181612383565b82525050565b5f612e628383612e48565b60208301905092915050565b5f602082019050919050565b5f612e8482612e1f565b612e8e8185612e29565b9350612e9983612e39565b805f5b83811015612ec9578151612eb08882612e57565b9750612ebb83612e6e565b925050600181019050612e9c565b5085935050505092915050565b5f60a082019050612ee95f830188612462565b612ef66020830187612e10565b8181036040830152612f088186612e7a565b9050612f17606083018561259d565b612f246080830184612462565b9695505050505050565b5f81905092915050565b50565b5f612f465f83612f2e565b9150612f5182612f38565b5f82019050919050565b5f612f6582612f3b565b9150819050919050565b7f43616c6c206661696c65640000000000000000000000000000000000000000005f82015250565b5f612fa3600b836122c0565b9150612fae82612f6f565b602082019050919050565b5f6020820190508181035f830152612fd081612f97565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61300e826123be565b9150613019836123be565b92508261302957613028612fd7565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f61308e6021836122c0565b915061309982613034565b604082019050919050565b5f6020820190508181035f8301526130bb81613082565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6130f6601b836122c0565b9150613101826130c2565b602082019050919050565b5f6020820190508181035f830152613123816130ea565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220be3bd8017ff3c6ae306fc5e5c50f629c564dd8d9feec8719d87a9eba518a630264736f6c63430008180033
Deployed Bytecode
0x6080604052600436106101c5575f3560e01c80635e7b655c116100f657806395d89b4111610094578063df8408fe11610063578063df8408fe14610626578063df841f091461064e578063eab2964914610678578063f2fde38b146106a0576101cc565b806395d89b411461055a578063a9059cbb14610584578063db86db56146105c0578063dd62ed3e146105ea576101cc565b8063715018a6116100d0578063715018a6146104b4578063768dc710146104ca5780638da5cb5b14610506578063936e1d8314610530576101cc565b80635e7b655c146104265780636efc3fdc1461045057806370a0823114610478576101cc565b806334d7b6f61161016357806340b9a54b1161013d57806340b9a54b146103945780634f5add4f146103be57806351bc3c85146103e6578063590f897e146103fc576101cc565b806334d7b6f61461031a5780633de051c4146103425780633df9a8d21461036a576101cc565b80631a861d261161019f5780631a861d261461026057806323b872dd1461028a5780632c2da25c146102c6578063313ce567146102f0576101cc565b806306fdde03146101d0578063095ea7b3146101fa57806318160ddd14610236576101cc565b366101cc57005b5f80fd5b3480156101db575f80fd5b506101e46106c8565b6040516101f19190612340565b60405180910390f35b348015610205575f80fd5b50610220600480360381019061021b91906123f1565b610705565b60405161022d9190612449565b60405180910390f35b348015610241575f80fd5b5061024a610722565b6040516102579190612471565b60405180910390f35b34801561026b575f80fd5b50610274610744565b6040516102819190612471565b60405180910390f35b348015610295575f80fd5b506102b060048036038101906102ab919061248a565b61074a565b6040516102bd9190612449565b60405180910390f35b3480156102d1575f80fd5b506102da61081e565b6040516102e791906124fa565b60405180910390f35b3480156102fb575f80fd5b50610304610843565b604051610311919061252e565b60405180910390f35b348015610325575f80fd5b50610340600480360381019061033b9190612547565b61084b565b005b34801561034d575f80fd5b5061036860048036038101906103639190612547565b61085d565b005b348015610375575f80fd5b5061037e61086f565b60405161038b9190612471565b60405180910390f35b34801561039f575f80fd5b506103a8610875565b6040516103b59190612471565b60405180910390f35b3480156103c9575f80fd5b506103e460048036038101906103df9190612547565b61087b565b005b3480156103f1575f80fd5b506103fa61088d565b005b348015610407575f80fd5b50610410610a3e565b60405161041d9190612471565b60405180910390f35b348015610431575f80fd5b5061043a610a44565b6040516104479190612471565b60405180910390f35b34801561045b575f80fd5b5061047660048036038101906104719190612547565b610a4a565b005b348015610483575f80fd5b5061049e60048036038101906104999190612572565b610ab8565b6040516104ab9190612471565b60405180910390f35b3480156104bf575f80fd5b506104c8610afe565b005b3480156104d5575f80fd5b506104f060048036038101906104eb9190612572565b610b11565b6040516104fd9190612449565b60405180910390f35b348015610511575f80fd5b5061051a610b2e565b60405161052791906125ac565b60405180910390f35b34801561053b575f80fd5b50610544610b55565b60405161055191906124fa565b60405180910390f35b348015610565575f80fd5b5061056e610b7a565b60405161057b9190612340565b60405180910390f35b34801561058f575f80fd5b506105aa60048036038101906105a591906123f1565b610bb7565b6040516105b79190612449565b60405180910390f35b3480156105cb575f80fd5b506105d4610bd4565b6040516105e191906124fa565b60405180910390f35b3480156105f5575f80fd5b50610610600480360381019061060b91906125c5565b610bf9565b60405161061d9190612471565b60405180910390f35b348015610631575f80fd5b5061064c6004803603810190610647919061262d565b610c7b565b005b348015610659575f80fd5b50610662610cdb565b60405161066f91906124fa565b60405180910390f35b348015610683575f80fd5b5061069e60048036038101906106999190612547565b610d00565b005b3480156106ab575f80fd5b506106c660048036038101906106c19190612572565b610e83565b005b60606040518060400160405280600b81526020017f546571204e6574776f726b000000000000000000000000000000000000000000815250905090565b5f610718610711610f05565b8484610f0c565b6001905092915050565b5f6012600a61073191906127c7565b6298968061073f9190612811565b905090565b60055481565b5f6107568484846110cf565b61081384610762610f05565b61080e8560405180606001604052806028815260200161312b6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6107c5610f05565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546119039092919063ffffffff16565b610f0c565b600190509392505050565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f6012905090565b610853611965565b8060078190555050565b610865611965565b8060068190555050565b60085481565b60065481565b610883611965565b8060088190555050565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108cd610f05565b73ffffffffffffffffffffffffffffffffffffffff1614806109425750600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661092a610f05565b73ffffffffffffffffffffffffffffffffffffffff16145b806109a05750600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610988610f05565b73ffffffffffffffffffffffffffffffffffffffff16145b806109fe5750600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109e6610f05565b73ffffffffffffffffffffffffffffffffffffffff16145b610a06575f80fd5b5f610a1030610ab8565b90505f811115610a2457610a23816119e3565b5b5f4790505f811115610a3a57610a3981611c57565b5b5050565b60075481565b60045481565b610a52611965565b610a6d60c8610a5f610722565b61202e90919063ffffffff16565b8111610aae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa59061289c565b60405180910390fd5b8060058190555050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610b06611965565b610b0f5f612077565b565b6003602052805f5260405f205f915054906101000a900460ff1681565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606040518060400160405280600381526020017f5445510000000000000000000000000000000000000000000000000000000000815250905090565b5f610bca610bc3610f05565b84846110cf565b6001905092915050565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610c83611965565b8060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d40610f05565b73ffffffffffffffffffffffffffffffffffffffff161480610db55750600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d9d610f05565b73ffffffffffffffffffffffffffffffffffffffff16145b80610e135750600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610dfb610f05565b73ffffffffffffffffffffffffffffffffffffffff16145b80610e715750600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e59610f05565b73ffffffffffffffffffffffffffffffffffffffff16145b610e79575f80fd5b8060048190555050565b610e8b611965565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610ef9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef09061292a565b60405180910390fd5b610f0281612077565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f71906129b8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610fe8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fdf90612a46565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110c29190612471565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361113d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113490612ad4565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a290612b62565b60405180910390fd5b5f81116111ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e490612bf0565b60405180910390fd5b5f60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615801561128c575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561165357600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461133e57600554826112f285610ab8565b6112fc9190612c0e565b111561133d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133490612c8b565b60405180910390fd5b5b5f600854111561142357600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156113f25750600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156114225761141f60646114116008548561213890919063ffffffff16565b61202e90919063ffffffff16565b90505b5b5f600654111561150757600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156114d65750600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156115065761150360646114f56006548561213890919063ffffffff16565b61202e90919063ffffffff16565b90505b5b5f600754111561159157600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036115905761158d606461157f6007548561213890919063ffffffff16565b61202e90919063ffffffff16565b90505b5b5f61159b30610ab8565b9050600e60149054906101000a900460ff161580156116065750600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b801561161e5750600e60159054906101000a900460ff165b801561162b575060045481115b1561165157611639816119e3565b5f4790505f81111561164f5761164e47611c57565b5b505b505b5f811115611752576116ab8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121af90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516117499190612471565b60405180910390a35b6117a28260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461220c90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506118456117f9828461220c90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121af90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6118e8848661220c90919063ffffffff16565b6040516118f59190612471565b60405180910390a350505050565b5f83831115829061194a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119419190612340565b60405180910390fd5b505f83856119589190612ca9565b9050809150509392505050565b61196d610f05565b73ffffffffffffffffffffffffffffffffffffffff1661198b610b2e565b73ffffffffffffffffffffffffffffffffffffffff16146119e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d890612d26565b60405180910390fd5b565b6001600e60146101000a81548160ff0219169083151502179055505f810315611c3a575f600267ffffffffffffffff811115611a2257611a21612d44565b5b604051908082528060200260200182016040528015611a505781602001602082028036833780820191505090505b50905030815f81518110611a6757611a66612d71565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b0b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b2f9190612db2565b81600181518110611b4357611b42612d71565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611ba930600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f0c565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611c0b959493929190612ed6565b5f604051808303815f87803b158015611c22575f80fd5b505af1158015611c34573d5f803e3d5ffd5b50505050505b5f600e60146101000a81548160ff02191690831515021790555050565b5f611c7f6064611c71600f8561213890919063ffffffff16565b61202e90919063ffffffff16565b90505f611ca96064611c9b600f8661213890919063ffffffff16565b61202e90919063ffffffff16565b90505f611cd36064611cc560238761213890919063ffffffff16565b61202e90919063ffffffff16565b90505f611cfd6064611cef60238861213890919063ffffffff16565b61202e90919063ffffffff16565b90505f60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1685604051611d4590612f5b565b5f6040518083038185875af1925050503d805f8114611d7f576040519150601f19603f3d011682016040523d82523d5f602084013e611d84565b606091505b5050905080611dc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dbf90612fb9565b60405180910390fd5b5f600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1685604051611e0e90612f5b565b5f6040518083038185875af1925050503d805f8114611e48576040519150601f19603f3d011682016040523d82523d5f602084013e611e4d565b606091505b5050905080611e91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e8890612fb9565b60405180910390fd5b5f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1685604051611ed790612f5b565b5f6040518083038185875af1925050503d805f8114611f11576040519150601f19603f3d011682016040523d82523d5f602084013e611f16565b606091505b5050905080611f5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f5190612fb9565b60405180910390fd5b5f600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1685604051611fa090612f5b565b5f6040518083038185875af1925050503d805f8114611fda576040519150601f19603f3d011682016040523d82523d5f602084013e611fdf565b606091505b5050905080612023576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161201a90612fb9565b60405180910390fd5b505050505050505050565b5f61206f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612255565b905092915050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f808303612148575f90506121a9565b5f82846121559190612811565b90508284826121649190613004565b146121a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161219b906130a4565b60405180910390fd5b809150505b92915050565b5f8082846121bd9190612c0e565b905083811015612202576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121f99061310c565b60405180910390fd5b8091505092915050565b5f61224d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611903565b905092915050565b5f808311829061229b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122929190612340565b60405180910390fd5b505f83856122a99190613004565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156122ed5780820151818401526020810190506122d2565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612312826122b6565b61231c81856122c0565b935061232c8185602086016122d0565b612335816122f8565b840191505092915050565b5f6020820190508181035f8301526123588184612308565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61238d82612364565b9050919050565b61239d81612383565b81146123a7575f80fd5b50565b5f813590506123b881612394565b92915050565b5f819050919050565b6123d0816123be565b81146123da575f80fd5b50565b5f813590506123eb816123c7565b92915050565b5f806040838503121561240757612406612360565b5b5f612414858286016123aa565b9250506020612425858286016123dd565b9150509250929050565b5f8115159050919050565b6124438161242f565b82525050565b5f60208201905061245c5f83018461243a565b92915050565b61246b816123be565b82525050565b5f6020820190506124845f830184612462565b92915050565b5f805f606084860312156124a1576124a0612360565b5b5f6124ae868287016123aa565b93505060206124bf868287016123aa565b92505060406124d0868287016123dd565b9150509250925092565b5f6124e482612364565b9050919050565b6124f4816124da565b82525050565b5f60208201905061250d5f8301846124eb565b92915050565b5f60ff82169050919050565b61252881612513565b82525050565b5f6020820190506125415f83018461251f565b92915050565b5f6020828403121561255c5761255b612360565b5b5f612569848285016123dd565b91505092915050565b5f6020828403121561258757612586612360565b5b5f612594848285016123aa565b91505092915050565b6125a681612383565b82525050565b5f6020820190506125bf5f83018461259d565b92915050565b5f80604083850312156125db576125da612360565b5b5f6125e8858286016123aa565b92505060206125f9858286016123aa565b9150509250929050565b61260c8161242f565b8114612616575f80fd5b50565b5f8135905061262781612603565b92915050565b5f806040838503121561264357612642612360565b5b5f612650858286016123aa565b925050602061266185828601612619565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156126ed578086048111156126c9576126c861266b565b5b60018516156126d85780820291505b80810290506126e685612698565b94506126ad565b94509492505050565b5f8261270557600190506127c0565b81612712575f90506127c0565b8160018114612728576002811461273257612761565b60019150506127c0565b60ff8411156127445761274361266b565b5b8360020a91508482111561275b5761275a61266b565b5b506127c0565b5060208310610133831016604e8410600b84101617156127965782820a9050838111156127915761279061266b565b5b6127c0565b6127a384848460016126a4565b925090508184048111156127ba576127b961266b565b5b81810290505b9392505050565b5f6127d1826123be565b91506127dc83612513565b92506128097fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846126f6565b905092915050565b5f61281b826123be565b9150612826836123be565b9250828202612834816123be565b9150828204841483151761284b5761284a61266b565b5b5092915050565b7f4c696d697420746f6f206c6573730000000000000000000000000000000000005f82015250565b5f612886600e836122c0565b915061289182612852565b602082019050919050565b5f6020820190508181035f8301526128b38161287a565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6129146026836122c0565b915061291f826128ba565b604082019050919050565b5f6020820190508181035f83015261294181612908565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6129a26024836122c0565b91506129ad82612948565b604082019050919050565b5f6020820190508181035f8301526129cf81612996565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612a306022836122c0565b9150612a3b826129d6565b604082019050919050565b5f6020820190508181035f830152612a5d81612a24565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612abe6025836122c0565b9150612ac982612a64565b604082019050919050565b5f6020820190508181035f830152612aeb81612ab2565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612b4c6023836122c0565b9150612b5782612af2565b604082019050919050565b5f6020820190508181035f830152612b7981612b40565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612bda6029836122c0565b9150612be582612b80565b604082019050919050565b5f6020820190508181035f830152612c0781612bce565b9050919050565b5f612c18826123be565b9150612c23836123be565b9250828201905080821115612c3b57612c3a61266b565b5b92915050565b7f4578636565647320746865206d61784c696d69742e00000000000000000000005f82015250565b5f612c756015836122c0565b9150612c8082612c41565b602082019050919050565b5f6020820190508181035f830152612ca281612c69565b9050919050565b5f612cb3826123be565b9150612cbe836123be565b9250828203905081811115612cd657612cd561266b565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612d106020836122c0565b9150612d1b82612cdc565b602082019050919050565b5f6020820190508181035f830152612d3d81612d04565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050612dac81612394565b92915050565b5f60208284031215612dc757612dc6612360565b5b5f612dd484828501612d9e565b91505092915050565b5f819050919050565b5f819050919050565b5f612e09612e04612dff84612ddd565b612de6565b6123be565b9050919050565b612e1981612def565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612e5181612383565b82525050565b5f612e628383612e48565b60208301905092915050565b5f602082019050919050565b5f612e8482612e1f565b612e8e8185612e29565b9350612e9983612e39565b805f5b83811015612ec9578151612eb08882612e57565b9750612ebb83612e6e565b925050600181019050612e9c565b5085935050505092915050565b5f60a082019050612ee95f830188612462565b612ef66020830187612e10565b8181036040830152612f088186612e7a565b9050612f17606083018561259d565b612f246080830184612462565b9695505050505050565b5f81905092915050565b50565b5f612f465f83612f2e565b9150612f5182612f38565b5f82019050919050565b5f612f6582612f3b565b9150819050919050565b7f43616c6c206661696c65640000000000000000000000000000000000000000005f82015250565b5f612fa3600b836122c0565b9150612fae82612f6f565b602082019050919050565b5f6020820190508181035f830152612fd081612f97565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61300e826123be565b9150613019836123be565b92508261302957613028612fd7565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f61308e6021836122c0565b915061309982613034565b604082019050919050565b5f6020820190508181035f8301526130bb81613082565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6130f6601b836122c0565b9150613101826130c2565b602082019050919050565b5f6020820190508181035f830152613123816130ea565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220be3bd8017ff3c6ae306fc5e5c50f629c564dd8d9feec8719d87a9eba518a630264736f6c63430008180033
Deployed Bytecode Sourcemap
4812:8846:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7182:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8015:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7459:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5376:50;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8184:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5579:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7368:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13333:88;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13239:86;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5524:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5435:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13429:96;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12327:460;;;;;;;;;;;;;:::i;:::-;;5478:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5312:57;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13060:171;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7562:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3233:103;;;;;;;;;;;;;:::i;:::-;;5024:51;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2592:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5673;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7273;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7689:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5861:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7864:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13533:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5767:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12795:257;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3491:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7182:83;7219:13;7252:5;;;;;;;;;;;;;;;;;7245:12;;7182:83;:::o;8015:161::-;8090:4;8107:39;8116:12;:10;:12::i;:::-;8130:7;8139:6;8107:8;:39::i;:::-;8164:4;8157:11;;8015:161;;;;:::o;7459:95::-;7512:7;5119:2;5174;:15;;;;:::i;:::-;5163:8;:26;;;;:::i;:::-;7532:14;;7459:95;:::o;5376:50::-;;;;:::o;8184:313::-;8282:4;8299:36;8309:6;8317:9;8328:6;8299:9;:36::i;:::-;8346:121;8355:6;8363:12;:10;:12::i;:::-;8377:89;8415:6;8377:89;;;;;;;;;;;;;;;;;:11;:19;8389:6;8377:19;;;;;;;;;;;;;;;:33;8397:12;:10;:12::i;:::-;8377:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;8346:8;:121::i;:::-;8485:4;8478:11;;8184:313;;;;;:::o;5579:87::-;;;;;;;;;;;;;:::o;7368:83::-;7409:5;5119:2;7427:16;;7368:83;:::o;13333:88::-;2478:13;:11;:13::i;:::-;13409:4:::1;13398:8;:15;;;;13333:88:::0;:::o;13239:86::-;2478:13;:11;:13::i;:::-;13313:4:::1;13303:7;:14;;;;13239:86:::0;:::o;5524:31::-;;;;:::o;5435:26::-;;;;:::o;13429:96::-;2478:13;:11;:13::i;:::-;13513:4:::1;13498:12;:19;;;;13429:96:::0;:::o;12327:460::-;12393:10;;;;;;;;;;;12377:26;;:12;:10;:12::i;:::-;:26;;;:56;;;;12423:10;;;;;;;;;;;12407:26;;:12;:10;:12::i;:::-;:26;;;12377:56;:86;;;;12453:10;;;;;;;;;;;12437:26;;:12;:10;:12::i;:::-;:26;;;12377:86;:116;;;;12483:10;;;;;;;;;;;12467:26;;:12;:10;:12::i;:::-;:26;;;12377:116;12369:125;;;;;;12507:20;12530:24;12548:4;12530:9;:24::i;:::-;12507:47;;12584:1;12569:12;:16;12565:79;;;12602:30;12619:12;12602:16;:30::i;:::-;12565:79;12656:18;12677:21;12656:42;;12726:1;12713:10;:14;12709:71;;;12744:24;12757:10;12744:12;:24::i;:::-;12709:71;12358:429;;12327:460::o;5478:27::-;;;;:::o;5312:57::-;;;;:::o;13060:171::-;2478:13;:11;:13::i;:::-;13151:22:::1;13169:3;13151:13;:11;:13::i;:::-;:17;;:22;;;;:::i;:::-;13139:9;:34;13131:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;13214:9;13203:8;:20;;;;13060:171:::0;:::o;7562:119::-;7628:7;7655:9;:18;7665:7;7655:18;;;;;;;;;;;;;;;;7648:25;;7562:119;;;:::o;3233:103::-;2478:13;:11;:13::i;:::-;3298:30:::1;3325:1;3298:18;:30::i;:::-;3233:103::o:0;5024:51::-;;;;;;;;;;;;;;;;;;;;;;:::o;2592:87::-;2638:7;2665:6;;;;;;;;;;;2658:13;;2592:87;:::o;5673:::-;;;;;;;;;;;;;:::o;7273:::-;7312:13;7345:7;;;;;;;;;;;;;;;;;7338:14;;7273:87;:::o;7689:167::-;7767:4;7784:42;7794:12;:10;:12::i;:::-;7808:9;7819:6;7784:9;:42::i;:::-;7844:4;7837:11;;7689:167;;;;:::o;5861:87::-;;;;;;;;;;;;;:::o;7864:143::-;7945:7;7972:11;:18;7984:5;7972:18;;;;;;;;;;;;;;;:27;7991:7;7972:27;;;;;;;;;;;;;;;;7965:34;;7864:143;;;;:::o;13533:122::-;2478:13;:11;:13::i;:::-;13642:5:::1;13613:18;:26;13632:6;13613:26;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;13533:122:::0;;:::o;5767:87::-;;;;;;;;;;;;;:::o;12795:257::-;12896:10;;;;;;;;;;;12880:26;;:12;:10;:12::i;:::-;:26;;;:56;;;;12926:10;;;;;;;;;;;12910:26;;:12;:10;:12::i;:::-;:26;;;12880:56;:86;;;;12956:10;;;;;;;;;;;12940:26;;:12;:10;:12::i;:::-;:26;;;12880:86;:116;;;;12986:10;;;;;;;;;;;12970:26;;:12;:10;:12::i;:::-;:26;;;12880:116;12872:125;;;;;;13027:17;13008:16;:36;;;;12795:257;:::o;3491:201::-;2478:13;:11;:13::i;:::-;3600:1:::1;3580:22;;:8;:22;;::::0;3572:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3656:28;3675:8;3656:18;:28::i;:::-;3491:201:::0;:::o;95:98::-;148:7;175:10;168:17;;95:98;:::o;8505:335::-;8615:1;8598:19;;:5;:19;;;8590:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8696:1;8677:21;;:7;:21;;;8669:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8778:6;8748:11;:18;8760:5;8748:18;;;;;;;;;;;;;;;:27;8767:7;8748:27;;;;;;;;;;;;;;;:36;;;;8816:7;8800:32;;8809:5;8800:32;;;8825:6;8800:32;;;;;;:::i;:::-;;;;;;;;8505:335;;;:::o;8848:1973::-;8952:1;8936:18;;:4;:18;;;8928:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9029:1;9015:16;;:2;:16;;;9007:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9099:1;9090:6;:10;9082:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9159:17;9196:18;:24;9215:4;9196:24;;;;;;;;;;;;;;;;;;;;;;;;;9195:25;:52;;;;;9225:18;:22;9244:2;9225:22;;;;;;;;;;;;;;;;;;;;;;;;;9224:23;9195:52;9191:1257;;;9276:13;;;;;;;;;;;9270:19;;:2;:19;;;9266:127;;9343:8;;9333:6;9317:13;9327:2;9317:9;:13::i;:::-;:22;;;;:::i;:::-;:34;;9309:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9266:127;9428:1;9413:12;;:16;9409:194;;;9460:13;;;;;;;;;;;9454:19;;:2;:19;;;;:44;;;;;9485:13;;;;;;;;;;;9477:21;;:4;:21;;;;9454:44;9450:138;;;9535:33;9564:3;9535:24;9546:12;;9535:6;:10;;:24;;;;:::i;:::-;:28;;:33;;;;:::i;:::-;9523:45;;9450:138;9409:194;9633:1;9623:7;;:11;9619:195;;;9667:13;;;;;;;;;;;9659:21;;:4;:21;;;:55;;;;;9698:15;;;;;;;;;;;9684:30;;:2;:30;;;;9659:55;9655:144;;;9751:28;9775:3;9751:19;9762:7;;9751:6;:10;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;9739:40;;9655:144;9619:195;9845:1;9834:8;;:12;9830:161;;;9877:13;;;;;;;;;;;9871:19;;:2;:19;;;9867:109;;9927:29;9952:3;9927:20;9938:8;;9927:6;:10;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;9915:41;;9867:109;9830:161;10007:28;10038:24;10056:4;10038:9;:24::i;:::-;10007:55;;10082:6;;;;;;;;;;;10081:7;:30;;;;;10098:13;;;;;;;;;;;10092:19;;:2;:19;;;10081:30;:45;;;;;10115:11;;;;;;;;;;;10081:45;:88;;;;;10153:16;;10130:20;:39;10081:88;10077:360;;;10190:38;10207:20;10190:16;:38::i;:::-;10247:26;10276:21;10247:50;;10341:1;10320:18;:22;10316:106;;;10367:35;10380:21;10367:12;:35::i;:::-;10316:106;10171:266;10077:360;9249:1199;9191:1257;10476:1;10464:9;:13;10460:171;;;10521:39;10550:9;10521;:24;10539:4;10521:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;10494:9;:24;10512:4;10494:24;;;;;;;;;;;;;;;:66;;;;10603:4;10580:39;;10589:4;10580:39;;;10609:9;10580:39;;;;;;:::i;:::-;;;;;;;;10460:171;10660:27;10680:6;10660:9;:15;10670:4;10660:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;10643:9;:15;10653:4;10643:15;;;;;;;;;;;;;;;:44;;;;10714:40;10732:21;10743:9;10732:6;:10;;:21;;;;:::i;:::-;10714:9;:13;10724:2;10714:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;10698:9;:13;10708:2;10698:13;;;;;;;;;;;;;;;:56;;;;10787:2;10772:41;;10781:4;10772:41;;;10791:21;10802:9;10791:6;:10;;:21;;;;:::i;:::-;10772:41;;;;;;:::i;:::-;;;;;;;;8917:1904;8848:1973;;;:::o;1232:190::-;1318:7;1351:1;1346;:6;;1354:12;1338:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1378:9;1394:1;1390;:5;;;;:::i;:::-;1378:17;;1413:1;1406:8;;;1232:190;;;;;:::o;2757:132::-;2832:12;:10;:12::i;:::-;2821:23;;:7;:5;:7::i;:::-;:23;;;2813:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2757:132::o;10944:526::-;6351:4;6342:6;;:13;;;;;;;;;;;;;;;;;;11041:1:::1;11026:11;:16:::0;11022:33;11046:7:::1;11022:33;11065:21;11103:1;11089:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11065:40;;11134:4;11116;11121:1;11116:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;11160:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11150:4;11155:1;11150:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;11193:62;11210:4;11225:15;;;;;;;;;;;11243:11;11193:8;:62::i;:::-;11266:15;;;;;;;;;;;:66;;;11347:11;11373:1;11389:4;11416;11436:15;11266:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;11011:459;6366:1;6387:5:::0;6378:6;;:14;;;;;;;;;;;;;;;;;;10944:526;:::o;11478:804::-;11535:15;11553:32;11581:3;11553:23;5996:2;11553:6;:10;;:23;;;;:::i;:::-;:27;;:32;;;;:::i;:::-;11535:50;;11596:15;11614:32;11642:3;11614:23;6044:2;11614:6;:10;;:23;;;;:::i;:::-;:27;;:32;;;;:::i;:::-;11596:50;;11657:15;11675:32;11703:3;11675:23;6092:2;11675:6;:10;;:23;;;;:::i;:::-;:27;;:32;;;;:::i;:::-;11657:50;;11718:15;11736:32;11764:3;11736:23;6140:2;11736:6;:10;;:23;;;;:::i;:::-;:27;;:32;;;;:::i;:::-;11718:50;;11782:17;11813:10;;;;;;;;;;;11805:24;;11837:7;11805:44;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11781:68;;;11868:12;11860:36;;;;;;;;;;;;:::i;:::-;;;;;;;;;11908:17;11939:10;;;;;;;;;;;11931:24;;11963:7;11931:44;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11907:68;;;11994:12;11986:36;;;;;;;;;;;;:::i;:::-;;;;;;;;;12034:17;12065:10;;;;;;;;;;;12057:24;;12089:7;12057:44;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12033:68;;;12120:12;12112:36;;;;;;;;;;;;:::i;:::-;;;;;;;;;12160:17;12191:10;;;;;;;;;;;12183:24;;12215:7;12183:44;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12159:68;;;12246:12;12238:36;;;;;;;;;;;;:::i;:::-;;;;;;;;;11524:758;;;;;;;;11478:804;:::o;1684:132::-;1742:7;1769:39;1773:1;1776;1769:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1762:46;;1684:132;;;;:::o;3852:191::-;3926:16;3945:6;;;;;;;;;;;3926:25;;3971:8;3962:6;;:17;;;;;;;;;;;;;;;;;;4026:8;3995:40;;4016:8;3995:40;;;;;;;;;;;;3915:128;3852:191;:::o;1430:246::-;1488:7;1517:1;1512;:6;1508:47;;1542:1;1535:8;;;;1508:47;1565:9;1581:1;1577;:5;;;;:::i;:::-;1565:17;;1610:1;1605;1601;:5;;;;:::i;:::-;:10;1593:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1667:1;1660:8;;;1430:246;;;;;:::o;901:179::-;959:7;979:9;995:1;991;:5;;;;:::i;:::-;979:17;;1020:1;1015;:6;;1007:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1071:1;1064:8;;;901:179;;;;:::o;1088:136::-;1146:7;1173:43;1177:1;1180;1173:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1166:50;;1088:136;;;;:::o;1824:189::-;1910:7;1942:1;1938;:5;1945:12;1930:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1969:9;1985:1;1981;:5;;;;:::i;:::-;1969:17;;2004:1;1997:8;;;1824:189;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:104::-;4468:7;4497:24;4515:5;4497:24;:::i;:::-;4486:35;;4423:104;;;:::o;4533:142::-;4636:32;4662:5;4636:32;:::i;:::-;4631:3;4624:45;4533:142;;:::o;4681:254::-;4790:4;4828:2;4817:9;4813:18;4805:26;;4841:87;4925:1;4914:9;4910:17;4901:6;4841:87;:::i;:::-;4681:254;;;;:::o;4941:86::-;4976:7;5016:4;5009:5;5005:16;4994:27;;4941:86;;;:::o;5033:112::-;5116:22;5132:5;5116:22;:::i;:::-;5111:3;5104:35;5033:112;;:::o;5151:214::-;5240:4;5278:2;5267:9;5263:18;5255:26;;5291:67;5355:1;5344:9;5340:17;5331:6;5291:67;:::i;:::-;5151:214;;;;:::o;5371:329::-;5430:6;5479:2;5467:9;5458:7;5454:23;5450:32;5447:119;;;5485:79;;:::i;:::-;5447:119;5605:1;5630:53;5675:7;5666:6;5655:9;5651:22;5630:53;:::i;:::-;5620:63;;5576:117;5371:329;;;;:::o;5706:::-;5765:6;5814:2;5802:9;5793:7;5789:23;5785:32;5782:119;;;5820:79;;:::i;:::-;5782:119;5940:1;5965:53;6010:7;6001:6;5990:9;5986:22;5965:53;:::i;:::-;5955:63;;5911:117;5706:329;;;;:::o;6041:118::-;6128:24;6146:5;6128:24;:::i;:::-;6123:3;6116:37;6041:118;;:::o;6165:222::-;6258:4;6296:2;6285:9;6281:18;6273:26;;6309:71;6377:1;6366:9;6362:17;6353:6;6309:71;:::i;:::-;6165:222;;;;:::o;6393:474::-;6461:6;6469;6518:2;6506:9;6497:7;6493:23;6489:32;6486:119;;;6524:79;;:::i;:::-;6486:119;6644:1;6669:53;6714:7;6705:6;6694:9;6690:22;6669:53;:::i;:::-;6659:63;;6615:117;6771:2;6797:53;6842:7;6833:6;6822:9;6818:22;6797:53;:::i;:::-;6787:63;;6742:118;6393:474;;;;;:::o;6873:116::-;6943:21;6958:5;6943:21;:::i;:::-;6936:5;6933:32;6923:60;;6979:1;6976;6969:12;6923:60;6873:116;:::o;6995:133::-;7038:5;7076:6;7063:20;7054:29;;7092:30;7116:5;7092:30;:::i;:::-;6995:133;;;;:::o;7134:468::-;7199:6;7207;7256:2;7244:9;7235:7;7231:23;7227:32;7224:119;;;7262:79;;:::i;:::-;7224:119;7382:1;7407:53;7452:7;7443:6;7432:9;7428:22;7407:53;:::i;:::-;7397:63;;7353:117;7509:2;7535:50;7577:7;7568:6;7557:9;7553:22;7535:50;:::i;:::-;7525:60;;7480:115;7134:468;;;;;:::o;7608:180::-;7656:77;7653:1;7646:88;7753:4;7750:1;7743:15;7777:4;7774:1;7767:15;7794:102;7836:8;7883:5;7880:1;7876:13;7855:34;;7794:102;;;:::o;7902:848::-;7963:5;7970:4;7994:6;7985:15;;8018:5;8009:14;;8032:712;8053:1;8043:8;8040:15;8032:712;;;8148:4;8143:3;8139:14;8133:4;8130:24;8127:50;;;8157:18;;:::i;:::-;8127:50;8207:1;8197:8;8193:16;8190:451;;;8622:4;8615:5;8611:16;8602:25;;8190:451;8672:4;8666;8662:15;8654:23;;8702:32;8725:8;8702:32;:::i;:::-;8690:44;;8032:712;;;7902:848;;;;;;;:::o;8756:1073::-;8810:5;9001:8;8991:40;;9022:1;9013:10;;9024:5;;8991:40;9050:4;9040:36;;9067:1;9058:10;;9069:5;;9040:36;9136:4;9184:1;9179:27;;;;9220:1;9215:191;;;;9129:277;;9179:27;9197:1;9188:10;;9199:5;;;9215:191;9260:3;9250:8;9247:17;9244:43;;;9267:18;;:::i;:::-;9244:43;9316:8;9313:1;9309:16;9300:25;;9351:3;9344:5;9341:14;9338:40;;;9358:18;;:::i;:::-;9338:40;9391:5;;;9129:277;;9515:2;9505:8;9502:16;9496:3;9490:4;9487:13;9483:36;9465:2;9455:8;9452:16;9447:2;9441:4;9438:12;9434:35;9418:111;9415:246;;;9571:8;9565:4;9561:19;9552:28;;9606:3;9599:5;9596:14;9593:40;;;9613:18;;:::i;:::-;9593:40;9646:5;;9415:246;9686:42;9724:3;9714:8;9708:4;9705:1;9686:42;:::i;:::-;9671:57;;;;9760:4;9755:3;9751:14;9744:5;9741:25;9738:51;;;9769:18;;:::i;:::-;9738:51;9818:4;9811:5;9807:16;9798:25;;8756:1073;;;;;;:::o;9835:281::-;9893:5;9917:23;9935:4;9917:23;:::i;:::-;9909:31;;9961:25;9977:8;9961:25;:::i;:::-;9949:37;;10005:104;10042:66;10032:8;10026:4;10005:104;:::i;:::-;9996:113;;9835:281;;;;:::o;10122:410::-;10162:7;10185:20;10203:1;10185:20;:::i;:::-;10180:25;;10219:20;10237:1;10219:20;:::i;:::-;10214:25;;10274:1;10271;10267:9;10296:30;10314:11;10296:30;:::i;:::-;10285:41;;10475:1;10466:7;10462:15;10459:1;10456:22;10436:1;10429:9;10409:83;10386:139;;10505:18;;:::i;:::-;10386:139;10170:362;10122:410;;;;:::o;10538:164::-;10678:16;10674:1;10666:6;10662:14;10655:40;10538:164;:::o;10708:366::-;10850:3;10871:67;10935:2;10930:3;10871:67;:::i;:::-;10864:74;;10947:93;11036:3;10947:93;:::i;:::-;11065:2;11060:3;11056:12;11049:19;;10708:366;;;:::o;11080:419::-;11246:4;11284:2;11273:9;11269:18;11261:26;;11333:9;11327:4;11323:20;11319:1;11308:9;11304:17;11297:47;11361:131;11487:4;11361:131;:::i;:::-;11353:139;;11080:419;;;:::o;11505:225::-;11645:34;11641:1;11633:6;11629:14;11622:58;11714:8;11709:2;11701:6;11697:15;11690:33;11505:225;:::o;11736:366::-;11878:3;11899:67;11963:2;11958:3;11899:67;:::i;:::-;11892:74;;11975:93;12064:3;11975:93;:::i;:::-;12093:2;12088:3;12084:12;12077:19;;11736:366;;;:::o;12108:419::-;12274:4;12312:2;12301:9;12297:18;12289:26;;12361:9;12355:4;12351:20;12347:1;12336:9;12332:17;12325:47;12389:131;12515:4;12389:131;:::i;:::-;12381:139;;12108:419;;;:::o;12533:223::-;12673:34;12669:1;12661:6;12657:14;12650:58;12742:6;12737:2;12729:6;12725:15;12718:31;12533:223;:::o;12762:366::-;12904:3;12925:67;12989:2;12984:3;12925:67;:::i;:::-;12918:74;;13001:93;13090:3;13001:93;:::i;:::-;13119:2;13114:3;13110:12;13103:19;;12762:366;;;:::o;13134:419::-;13300:4;13338:2;13327:9;13323:18;13315:26;;13387:9;13381:4;13377:20;13373:1;13362:9;13358:17;13351:47;13415:131;13541:4;13415:131;:::i;:::-;13407:139;;13134:419;;;:::o;13559:221::-;13699:34;13695:1;13687:6;13683:14;13676:58;13768:4;13763:2;13755:6;13751:15;13744:29;13559:221;:::o;13786:366::-;13928:3;13949:67;14013:2;14008:3;13949:67;:::i;:::-;13942:74;;14025:93;14114:3;14025:93;:::i;:::-;14143:2;14138:3;14134:12;14127:19;;13786:366;;;:::o;14158:419::-;14324:4;14362:2;14351:9;14347:18;14339:26;;14411:9;14405:4;14401:20;14397:1;14386:9;14382:17;14375:47;14439:131;14565:4;14439:131;:::i;:::-;14431:139;;14158:419;;;:::o;14583:224::-;14723:34;14719:1;14711:6;14707:14;14700:58;14792:7;14787:2;14779:6;14775:15;14768:32;14583:224;:::o;14813:366::-;14955:3;14976:67;15040:2;15035:3;14976:67;:::i;:::-;14969:74;;15052:93;15141:3;15052:93;:::i;:::-;15170:2;15165:3;15161:12;15154:19;;14813:366;;;:::o;15185:419::-;15351:4;15389:2;15378:9;15374:18;15366:26;;15438:9;15432:4;15428:20;15424:1;15413:9;15409:17;15402:47;15466:131;15592:4;15466:131;:::i;:::-;15458:139;;15185:419;;;:::o;15610:222::-;15750:34;15746:1;15738:6;15734:14;15727:58;15819:5;15814:2;15806:6;15802:15;15795:30;15610:222;:::o;15838:366::-;15980:3;16001:67;16065:2;16060:3;16001:67;:::i;:::-;15994:74;;16077:93;16166:3;16077:93;:::i;:::-;16195:2;16190:3;16186:12;16179:19;;15838:366;;;:::o;16210:419::-;16376:4;16414:2;16403:9;16399:18;16391:26;;16463:9;16457:4;16453:20;16449:1;16438:9;16434:17;16427:47;16491:131;16617:4;16491:131;:::i;:::-;16483:139;;16210:419;;;:::o;16635:228::-;16775:34;16771:1;16763:6;16759:14;16752:58;16844:11;16839:2;16831:6;16827:15;16820:36;16635:228;:::o;16869:366::-;17011:3;17032:67;17096:2;17091:3;17032:67;:::i;:::-;17025:74;;17108:93;17197:3;17108:93;:::i;:::-;17226:2;17221:3;17217:12;17210:19;;16869:366;;;:::o;17241:419::-;17407:4;17445:2;17434:9;17430:18;17422:26;;17494:9;17488:4;17484:20;17480:1;17469:9;17465:17;17458:47;17522:131;17648:4;17522:131;:::i;:::-;17514:139;;17241:419;;;:::o;17666:191::-;17706:3;17725:20;17743:1;17725:20;:::i;:::-;17720:25;;17759:20;17777:1;17759:20;:::i;:::-;17754:25;;17802:1;17799;17795:9;17788:16;;17823:3;17820:1;17817:10;17814:36;;;17830:18;;:::i;:::-;17814:36;17666:191;;;;:::o;17863:171::-;18003:23;17999:1;17991:6;17987:14;17980:47;17863:171;:::o;18040:366::-;18182:3;18203:67;18267:2;18262:3;18203:67;:::i;:::-;18196:74;;18279:93;18368:3;18279:93;:::i;:::-;18397:2;18392:3;18388:12;18381:19;;18040:366;;;:::o;18412:419::-;18578:4;18616:2;18605:9;18601:18;18593:26;;18665:9;18659:4;18655:20;18651:1;18640:9;18636:17;18629:47;18693:131;18819:4;18693:131;:::i;:::-;18685:139;;18412:419;;;:::o;18837:194::-;18877:4;18897:20;18915:1;18897:20;:::i;:::-;18892:25;;18931:20;18949:1;18931:20;:::i;:::-;18926:25;;18975:1;18972;18968:9;18960:17;;18999:1;18993:4;18990:11;18987:37;;;19004:18;;:::i;:::-;18987:37;18837:194;;;;:::o;19037:182::-;19177:34;19173:1;19165:6;19161:14;19154:58;19037:182;:::o;19225:366::-;19367:3;19388:67;19452:2;19447:3;19388:67;:::i;:::-;19381:74;;19464:93;19553:3;19464:93;:::i;:::-;19582:2;19577:3;19573:12;19566:19;;19225:366;;;:::o;19597:419::-;19763:4;19801:2;19790:9;19786:18;19778:26;;19850:9;19844:4;19840:20;19836:1;19825:9;19821:17;19814:47;19878:131;20004:4;19878:131;:::i;:::-;19870:139;;19597:419;;;:::o;20022:180::-;20070:77;20067:1;20060:88;20167:4;20164:1;20157:15;20191:4;20188:1;20181:15;20208:180;20256:77;20253:1;20246:88;20353:4;20350:1;20343:15;20377:4;20374:1;20367:15;20394:143;20451:5;20482:6;20476:13;20467:22;;20498:33;20525:5;20498:33;:::i;:::-;20394:143;;;;:::o;20543:351::-;20613:6;20662:2;20650:9;20641:7;20637:23;20633:32;20630:119;;;20668:79;;:::i;:::-;20630:119;20788:1;20813:64;20869:7;20860:6;20849:9;20845:22;20813:64;:::i;:::-;20803:74;;20759:128;20543:351;;;;:::o;20900:85::-;20945:7;20974:5;20963:16;;20900:85;;;:::o;20991:60::-;21019:3;21040:5;21033:12;;20991:60;;;:::o;21057:158::-;21115:9;21148:61;21166:42;21175:32;21201:5;21175:32;:::i;:::-;21166:42;:::i;:::-;21148:61;:::i;:::-;21135:74;;21057:158;;;:::o;21221:147::-;21316:45;21355:5;21316:45;:::i;:::-;21311:3;21304:58;21221:147;;:::o;21374:114::-;21441:6;21475:5;21469:12;21459:22;;21374:114;;;:::o;21494:184::-;21593:11;21627:6;21622:3;21615:19;21667:4;21662:3;21658:14;21643:29;;21494:184;;;;:::o;21684:132::-;21751:4;21774:3;21766:11;;21804:4;21799:3;21795:14;21787:22;;21684:132;;;:::o;21822:108::-;21899:24;21917:5;21899:24;:::i;:::-;21894:3;21887:37;21822:108;;:::o;21936:179::-;22005:10;22026:46;22068:3;22060:6;22026:46;:::i;:::-;22104:4;22099:3;22095:14;22081:28;;21936:179;;;;:::o;22121:113::-;22191:4;22223;22218:3;22214:14;22206:22;;22121:113;;;:::o;22270:732::-;22389:3;22418:54;22466:5;22418:54;:::i;:::-;22488:86;22567:6;22562:3;22488:86;:::i;:::-;22481:93;;22598:56;22648:5;22598:56;:::i;:::-;22677:7;22708:1;22693:284;22718:6;22715:1;22712:13;22693:284;;;22794:6;22788:13;22821:63;22880:3;22865:13;22821:63;:::i;:::-;22814:70;;22907:60;22960:6;22907:60;:::i;:::-;22897:70;;22753:224;22740:1;22737;22733:9;22728:14;;22693:284;;;22697:14;22993:3;22986:10;;22394:608;;;22270:732;;;;:::o;23008:831::-;23271:4;23309:3;23298:9;23294:19;23286:27;;23323:71;23391:1;23380:9;23376:17;23367:6;23323:71;:::i;:::-;23404:80;23480:2;23469:9;23465:18;23456:6;23404:80;:::i;:::-;23531:9;23525:4;23521:20;23516:2;23505:9;23501:18;23494:48;23559:108;23662:4;23653:6;23559:108;:::i;:::-;23551:116;;23677:72;23745:2;23734:9;23730:18;23721:6;23677:72;:::i;:::-;23759:73;23827:3;23816:9;23812:19;23803:6;23759:73;:::i;:::-;23008:831;;;;;;;;:::o;23845:147::-;23946:11;23983:3;23968:18;;23845:147;;;;:::o;23998:114::-;;:::o;24118:398::-;24277:3;24298:83;24379:1;24374:3;24298:83;:::i;:::-;24291:90;;24390:93;24479:3;24390:93;:::i;:::-;24508:1;24503:3;24499:11;24492:18;;24118:398;;;:::o;24522:379::-;24706:3;24728:147;24871:3;24728:147;:::i;:::-;24721:154;;24892:3;24885:10;;24522:379;;;:::o;24907:161::-;25047:13;25043:1;25035:6;25031:14;25024:37;24907:161;:::o;25074:366::-;25216:3;25237:67;25301:2;25296:3;25237:67;:::i;:::-;25230:74;;25313:93;25402:3;25313:93;:::i;:::-;25431:2;25426:3;25422:12;25415:19;;25074:366;;;:::o;25446:419::-;25612:4;25650:2;25639:9;25635:18;25627:26;;25699:9;25693:4;25689:20;25685:1;25674:9;25670:17;25663:47;25727:131;25853:4;25727:131;:::i;:::-;25719:139;;25446:419;;;:::o;25871:180::-;25919:77;25916:1;25909:88;26016:4;26013:1;26006:15;26040:4;26037:1;26030:15;26057:185;26097:1;26114:20;26132:1;26114:20;:::i;:::-;26109:25;;26148:20;26166:1;26148:20;:::i;:::-;26143:25;;26187:1;26177:35;;26192:18;;:::i;:::-;26177:35;26234:1;26231;26227:9;26222:14;;26057:185;;;;:::o;26248:220::-;26388:34;26384:1;26376:6;26372:14;26365:58;26457:3;26452:2;26444:6;26440:15;26433:28;26248:220;:::o;26474:366::-;26616:3;26637:67;26701:2;26696:3;26637:67;:::i;:::-;26630:74;;26713:93;26802:3;26713:93;:::i;:::-;26831:2;26826:3;26822:12;26815:19;;26474:366;;;:::o;26846:419::-;27012:4;27050:2;27039:9;27035:18;27027:26;;27099:9;27093:4;27089:20;27085:1;27074:9;27070:17;27063:47;27127:131;27253:4;27127:131;:::i;:::-;27119:139;;26846:419;;;:::o;27271:177::-;27411:29;27407:1;27399:6;27395:14;27388:53;27271:177;:::o;27454:366::-;27596:3;27617:67;27681:2;27676:3;27617:67;:::i;:::-;27610:74;;27693:93;27782:3;27693:93;:::i;:::-;27811:2;27806:3;27802:12;27795:19;;27454:366;;;:::o;27826:419::-;27992:4;28030:2;28019:9;28015:18;28007:26;;28079:9;28073:4;28069:20;28065:1;28054:9;28050:17;28043:47;28107:131;28233:4;28107:131;:::i;:::-;28099:139;;27826:419;;;:::o
Swarm Source
ipfs://be3bd8017ff3c6ae306fc5e5c50f629c564dd8d9feec8719d87a9eba518a6302
Loading...
Loading
Loading...
Loading
OVERVIEW
Teq leverages the power of AI enhanced cloud computing to offer a scalable, flexible, and cost-effective platform for blockchain applications.Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.