ERC-20
Overview
Max Total Supply
1,000,000,000,000 BUILD
Holders
205
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
Gr33n
Compiler Version
v0.8.16+commit.07a7930e
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
12345678910111213141516171819202122/***Submitted for verification at Etherscan.io on 2022-08-22*//**$BUILD was born out of frustration.Frustration from seeing shitcoins get hyped because a dev wrote something about the space needed a “reset” or how there’s a “resurgence” coming atthe top of the contract. Whoopty f**king doo!They’d promise buybacks but go to sleep on their communities and that really pisses me off.People invest their money when they are inspired and there’s nothing worse than watching a group of inspired investors lose hope so quickly.What is more frustrating than ever is these devs don’t have a creative bone in their bodies. Perhaps the truth is, they are just incapable of writingunique functions and just fork the latest shit to try and make a buck at the expense of degens.Well, frustration can breed change, and that’s exactly what $BUILD attempts to do.I’m writing in a function no one has ever seen before. A function that rewards investors who join forces to create buy walls and help send this tokento new heights every day.As devs know, loops aren’t possible in solidity, so I’ve created a counter instead that will count the number of consecutive buys and record thebuyer’s wallets who form a flow of consecutive buys - AKA a buy wall.How will it work?
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.11;library Counters {struct Counter {uint256 _value;}function current(Counter storage counter) internal view returns (uint256) {return counter._value;}function increment(Counter storage counter) internal {unchecked {counter._value += 1;}}function decrement(Counter storage counter) internal {uint256 value = counter._value;require(value > 0, "Counter: decrement overflow");unchecked {counter._value = value - 1;}}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.11;import "./Ownable.sol";import "./Counters.sol";contract BuyWallMapping is Ownable {using Counters for Counters.Counter;Counters.Counter private buyWallHoldersCount;mapping(address => bool) private buyWallHoldersMap;function includeToGreenWallMap(address account) external onlyOwner {if (buyWallHoldersMap[account] == false) {buyWallHoldersMap[account] = true;buyWallHoldersCount.increment();}}function excludeToGreenWallMap(address account) external onlyOwner {if (buyWallHoldersMap[account] == true) {buyWallHoldersMap[account] = false;buyWallHoldersCount.decrement();}}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.11;interface IUniswapV2Router02 {function swapExactTokensForETHSupportingFeeOnTransferTokens(uint256 amountIn,uint256 amountOutMin,address[] calldata path,address to,uint256 deadline) external;function swapExactETHForTokensSupportingFeeOnTransferTokens(uint256 amountOutMin,address[] calldata path,address to,uint256 deadline) external payable;function factory() external pure returns (address);function WETH() external pure returns (address);function addLiquidityETH(address token,uint256 amountTokenDesired,
12345678910// SPDX-License-Identifier: MITpragma solidity ^0.8.11;interface IUniswapV2Factory {function getPair(address tokenA, address tokenB) external view returns (address pair);function allPairs(uint) external view returns (address pair);function allPairsLength() external view returns (uint);function createPair(address tokenA, address tokenB) external returns (address pair);}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.11;interface IUniswapV2Pair {event Approval(address indexed owner, address indexed spender, uint value);event Transfer(address indexed from, address indexed to, uint value);function name() external pure returns (string memory);function symbol() external pure returns (string memory);function decimals() external pure returns (uint8);function totalSupply() external view returns (uint);function balanceOf(address owner) external view returns (uint);function allowance(address owner, address spender) external view returns (uint);function approve(address spender, uint value) external returns (bool);function transfer(address to, uint value) external returns (bool);function transferFrom(address from, address to, uint value) external returns (bool);function DOMAIN_SEPARATOR() external view returns (bytes32);function PERMIT_TYPEHASH() external pure returns (bytes32);function nonces(address owner) external view returns (uint);function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;event Mint(address indexed sender, uint amount0, uint amount1);event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.11;contract Ownable {address private _owner;address private _previousOwner;event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);constructor() {_owner = msg.sender;emit OwnershipTransferred(address(0), _owner);}function owner() public view returns (address) {return _owner;}modifier onlyOwner() {require(_owner == msg.sender, "Ownable: caller is not the owner");_;}function renounceOwnership() public virtual onlyOwner {emit OwnershipTransferred(_owner, address(0));_owner = address(0);}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.11;library SafeMath {function tryAdd(uint256 a, uint256 b)internalpurereturns (bool, uint256){unchecked {uint256 c = a + b;if (c < a) return (false, 0);return (true, c);}}function trySub(uint256 a, uint256 b)internalpurereturns (bool, uint256){unchecked {if (b > a) return (false, 0);return (true, a - b);}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.11;import "./DividendPayingToken.sol";import "./SafeMath.sol";import "./Ownable.sol";import "./Counters.sol";contract Gr33nDividendTracker is DividendPayingToken, Ownable {using SafeMath for uint256;using Counters for Counters.Counter;Counters.Counter private tokenHoldersCount;mapping(address => bool) private tokenHoldersMap;mapping(address => bool) public excludedFromDividends;mapping(address => bool) public brokeOutOfGreenWall;mapping(address => uint256) public lastDateClaimed;bool public greenWallEnded = false;uint256 public greenWallEndedTimestamp;event ExcludeFromDividends(address indexed account);event ClaimInactive(address indexed account, uint256 amount);
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.11;import "./ERC20.sol";import "./SafeMath.sol";import "./SignedSafeMath.sol";import "./SafeCast.sol";import "./DividendPayingTokenInterface.sol";import "./DividendPayingTokenOptionalInterface.sol";abstract contract DividendPayingToken isERC20,DividendPayingTokenInterface,DividendPayingTokenOptionalInterface{using SafeMath for uint256;using SignedSafeMath for int256;using SafeCast for uint256;using SafeCast for int256;uint256 internal constant magnitude = 2**128;uint256 internal magnifiedDividendPerShare;mapping(address => int256) internal magnifiedDividendCorrections;mapping(address => uint256) internal withdrawnDividends;
1234567891011121314151617181920// SPDX-License-Identifier: MITpragma solidity ^0.8.11;interface DividendPayingTokenOptionalInterface {function withdrawableDividendOf(address _owner)externalviewreturns (uint256);function withdrawnDividendOf(address _owner)externalviewreturns (uint256);function accumulativeDividendOf(address _owner)externalviewreturns (uint256);}
12345678910111213141516// SPDX-License-Identifier: MITpragma solidity ^0.8.11;interface DividendPayingTokenInterface {function dividendOf(address _owner) external view returns (uint256);function withdrawDividend() external;event DividendsDistributed(address indexed from, uint256 weiAmount);event DividendWithdrawn(address indexed to,uint256 weiAmount,address received);}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.11;library SafeCast {function toUint224(uint256 value) internal pure returns (uint224) {require(value <= type(uint224).max,"SafeCast: value doesn't fit in 224 bits");return uint224(value);}function toUint128(uint256 value) internal pure returns (uint128) {require(value <= type(uint128).max,"SafeCast: value doesn't fit in 128 bits");return uint128(value);}function toUint96(uint256 value) internal pure returns (uint96) {require(value <= type(uint96).max,"SafeCast: value doesn't fit in 96 bits");
123456789101112131415161718192021// SPDX-License-Identifier: MITpragma solidity ^0.8.11;library SignedSafeMath {function mul(int256 a, int256 b) internal pure returns (int256) {return a * b;}function div(int256 a, int256 b) internal pure returns (int256) {return a / b;}function sub(int256 a, int256 b) internal pure returns (int256) {return a - b;}function add(int256 a, int256 b) internal pure returns (int256) {return a + b;}}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.11;import "./IERC20.sol";import "./IERC20Metadata.sol";import "./Context.sol";import "./SafeMath.sol";contract ERC20 is Context, IERC20, IERC20Metadata {mapping(address => uint256) private _balances;mapping(address => mapping(address => uint256)) private _allowances;uint256 private _totalSupply;string private _name;string private _symbol;constructor(string memory name_, string memory symbol_) {_name = name_;_symbol = symbol_;}function name() public view virtual override returns (string memory) {return _name;
12345678910111213// SPDX-License-Identifier: MITpragma solidity ^0.8.11;abstract contract Context {function _msgSender() internal view virtual returns (address) {return msg.sender;}function _msgData() internal view virtual returns (bytes calldata) {return msg.data;}}
12345678910111213// SPDX-License-Identifier: MITpragma solidity ^0.8.11;import "./IERC20.sol";interface IERC20Metadata is IERC20 {function name() external view returns (string memory);function symbol() external view returns (string memory);function decimals() external view returns (uint8);}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.11;interface IERC20 {function totalSupply() external view returns (uint256);function balanceOf(address account) external view returns (uint256);function transfer(address to, uint256 amount) external returns (bool);function allowance(address owner, address spender)externalviewreturns (uint256);function approve(address spender, uint256 amount) external returns (bool);function transferFrom(address from,address to,uint256 amount) external returns (bool);event Transfer(address indexed from, address indexed to, uint256 value);event Approval(
123456789101112131415161718{"optimizer": {"enabled": true,"runs": 200},"outputSelection": {"*": {"*": ["evm.bytecode","evm.deployedBytecode","devdoc","userdoc","metadata","abi"]}}}
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_devWalletAddress","type":"address"},{"internalType":"address","name":"_teamWalletAddress","type":"address"},{"internalType":"address","name":"_buyBackWalletAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountTokens","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountEth","type":"uint256"}],"name":"AddLiquidity","type":"event"},{"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":false,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountTokens","type":"uint256"}],"name":"BuyFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"devEth","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"remarketingEth","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"rebuybackFees","type":"uint256"}],"name":"DistributeFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"ethAmount","type":"uint256"},{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"DividendClaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountTokens","type":"uint256"}],"name":"SellFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"SendBuyWallDividends","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"sentEth","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"receivedTokens","type":"uint256"}],"name":"SwapEthForTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"sentTokens","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"receivedEth","type":"uint256"}],"name":"SwapTokensForEth","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"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":[],"name":"availableContractTokenBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyWallMap","outputs":[{"internalType":"contract BuyWallMapping","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"greenWallDivAddress","type":"address"},{"internalType":"address","name":"_account","type":"address"}],"name":"checkGreenWallWinnings","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"greenWallDivAddress","type":"address"}],"name":"claim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"greenWallDivAddress","type":"address"},{"internalType":"address payable","name":"_unclaimedAccount","type":"address"},{"internalType":"address payable","name":"_account","type":"address"}],"name":"claimUnclaimed","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"dividendTracker","outputs":[{"internalType":"contract Gr33nDividendTracker","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getBuyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNumberOfBuyWallHolders","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getSellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"},{"internalType":"uint256","name":"_limit","type":"uint256"},{"internalType":"uint256","name":"_pageNumber","type":"uint256"}],"name":"getWinningHistory","outputs":[{"components":[{"internalType":"address","name":"divTrackerWin","type":"address"},{"internalType":"uint256","name":"timestamp","type":"uint256"}],"internalType":"struct Gr33n.GreenWallWins[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"getWinningHistoryCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"greenWallActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludeFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludeFromMaxWalletAmount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"isIncludeInGreenWall","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minBuyWallActivationCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minBuyWallIncludeAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingTokensForReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddr","type":"address"},{"internalType":"address","name":"_to","type":"address"}],"name":"recoverAccidentalERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_bots","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_isExludeFromFee","type":"bool"}],"name":"setExcludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_isExludeFromMaxWalletAmount","type":"bool"}],"name":"setExcludeFromMaxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMaxWallet","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_numTokenContractTokensToSwap","type":"uint256"},{"internalType":"uint256","name":"_minBuyWallActivationCount","type":"uint256"},{"internalType":"uint256","name":"_minBuyWallIncludeAmount","type":"uint256"}],"name":"setMinParams","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setSniperProtect","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_baseBuyTax","type":"uint256"},{"internalType":"uint256","name":"_buyRewards","type":"uint256"},{"internalType":"uint256","name":"_baseSellTax","type":"uint256"},{"internalType":"uint256","name":"_sellRewards","type":"uint256"},{"internalType":"uint256","name":"_autoLP","type":"uint256"},{"internalType":"uint256","name":"_devFee","type":"uint256"},{"internalType":"uint256","name":"_teamFee","type":"uint256"},{"internalType":"uint256","name":"_buybackFee","type":"uint256"}],"name":"setTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_devWalletAddress","type":"address"},{"internalType":"address","name":"_teamWalletAddress","type":"address"},{"internalType":"address","name":"_buyBackWalletAddress","type":"address"}],"name":"setWalletAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"state","type":"bool"}],"name":"startGreenWall","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalETHRewardsPaidOut","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"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"},{"inputs":[{"internalType":"bool","name":"pendingETH","type":"bool"}],"name":"withdrawStuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600780546001600160b81b031916737a250d5630b4cf539739df2c5dacb4c659f2488d1790556000600855600c600955603c601155600260128181556013919091556003601481905560155560196017819055601e60188190559055600f601a556200007290600a620007ff565b6200008290637735940062000817565b601b55620000936012600a620007ff565b620000a3906305f5e10062000817565b601c556012601d55348015620000b857600080fd5b5060405162008cf738038062008cf7833981016040819052620000db9162000856565b6040518060400160405280600581526020016423b91999b760d91b81525060405180604001604052806005815260200164109552531160da1b815250816003908162000128919062000944565b50600462000137828262000944565b5050600580546001600160a01b031916339081179091556040519091506000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3601f80546001600160a01b038086166001600160a01b031992831617909255602080548584169083161790556021805492841692909116919091179055612710620001d66c0c9f2c9cd04674edea40000000600162000817565b620001e2919062000a10565b601055604051620001f390620006ce565b604051809103906000f08015801562000210573d6000803e3d6000fd5b50601e80546001600160a01b0319166001600160a01b03929092169190911790556040516200023f90620006dc565b604051809103906000f0801580156200025c573d6000803e3d6000fd5b50602280546001600160a01b0319166001600160a01b0392909216918217905560405163031e79db60e41b8152600481018290526331e79db090602401600060405180830381600087803b158015620002b457600080fd5b505af1158015620002c9573d6000803e3d6000fd5b505060225460405163031e79db60e41b81523060048201526001600160a01b0390911692506331e79db09150602401600060405180830381600087803b1580156200031357600080fd5b505af115801562000328573d6000803e3d6000fd5b50506022546001600160a01b031691506331e79db09050620003526005546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200039457600080fd5b505af1158015620003a9573d6000803e3d6000fd5b505060225460075460405163031e79db60e41b81526001600160a01b039182166004820152911692506331e79db09150602401600060405180830381600087803b158015620003f757600080fd5b505af11580156200040c573d6000803e3d6000fd5b505050506001600c600062000426620005d260201b60201c565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055308152600c8452828120805486166001908117909155601f54831682528382208054871682179055935482168152828120805486168517905560215490911681529081208054909316821790925590600f90620004b96005546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055308152600f8452828120805486166001908117909155600754831682528382208054871682179055601f54831682528382208054871682179055935482168152828120805486168517905560215490911681529081208054909316821790925590600e906200055e6005546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff19958616179055308152600e909252902080549091166001179055620005c9620005b56005546001600160a01b031690565b6c0c9f2c9cd04674edea40000000620005e1565b50505062000a49565b6005546001600160a01b031690565b6001600160a01b0382166200063c5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b806002600082825462000650919062000a33565b90915550506001600160a01b038216600090815260208190526040812080548392906200067f90849062000a33565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b505050565b6105b78062006a1e83390190565b611d228062006fd583390190565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000741578160001904821115620007255762000725620006ea565b808516156200073357918102915b93841c939080029062000705565b509250929050565b6000826200075a57506001620007f9565b816200076957506000620007f9565b81600181146200078257600281146200078d57620007ad565b6001915050620007f9565b60ff841115620007a157620007a1620006ea565b50506001821b620007f9565b5060208310610133831016604e8410600b8410161715620007d2575081810a620007f9565b620007de838362000700565b8060001904821115620007f557620007f5620006ea565b0290505b92915050565b60006200081060ff84168362000749565b9392505050565b6000816000190483118215151615620008345762000834620006ea565b500290565b80516001600160a01b03811681146200085157600080fd5b919050565b6000806000606084860312156200086c57600080fd5b620008778462000839565b9250620008876020850162000839565b9150620008976040850162000839565b90509250925092565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620008cb57607f821691505b602082108103620008ec57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620006c957600081815260208120601f850160051c810160208610156200091b5750805b601f850160051c820191505b818110156200093c5782815560010162000927565b505050505050565b81516001600160401b03811115620009605762000960620008a0565b6200097881620009718454620008b6565b84620008f2565b602080601f831160018114620009b05760008415620009975750858301515b600019600386901b1c1916600185901b1785556200093c565b600085815260208120601f198616915b82811015620009e157888601518255948401946001909101908401620009c0565b508582101562000a005787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60008262000a2e57634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115620007f957620007f9620006ea565b615fc58062000a596000396000f3fe608060405260043610620002c35760003560e01c80638e5916b21162000177578063b0bc85de11620000d1578063e93481f61162000084578063e93481f6146200089f578063ea084eef14620008d9578063ed9d599114620008fe578063f1b38c791462000916578063f2fde38b146200092e578063f4293890146200095357600080fd5b8063b0bc85de14620007b4578063b515566a14620007cc578063ba762ddd14620007f1578063c9e8714c1462000809578063caf4f341146200083d578063dd62ed3e146200085557600080fd5b8063a9059cbb116200012a578063a9059cbb14620006e1578063a982b9c61462000706578063aa1a0d55146200071e578063aa4bde281462000743578063ab89a4ee146200075b578063af9549e0146200078f57600080fd5b80638e5916b2146200060457806393926396146200063857806395d89b41146200065a57806395f5c951146200067257806397c44ed91462000697578063a457c2d714620006bc57600080fd5b806334d4248a11620002295780636fa3d54c11620001dc5780636fa3d54c146200054557806370a08231146200056a578063715018a6146200058f5780637c4b492e14620005a75780637d5cc64514620005bf5780638da5cb5b14620005e457600080fd5b806334d4248a1462000481578063367baaef14620004a65780633950935114620004cb57806351bc3c8514620004f05780635d0044ca146200050857806362dcb243146200052d57600080fd5b80631e83409a11620002825780631e83409a14620003a157806323b872dd14620003c6578063252d723a14620003eb5780632c1f521614620004035780633007d4b4146200043e578063313ce567146200046357600080fd5b806306fdde0314620002d0578063095ea7b3146200030057806315da7b9d14620003365780631734a9c9146200035957806318160ddd146200038057600080fd5b36620002cb57005b600080fd5b348015620002dd57600080fd5b50620002e86200096b565b604051620002f7919062003598565b60405180910390f35b3480156200030d57600080fd5b50620003256200031f366004620035fe565b62000a05565b6040519015158152602001620002f7565b3480156200034357600080fd5b506007546200032590600160a81b900460ff1681565b3480156200036657600080fd5b506200037e620003783660046200362d565b62000a21565b005b3480156200038d57600080fd5b506002545b604051908152602001620002f7565b348015620003ae57600080fd5b506200037e620003c03660046200367f565b62000c51565b348015620003d357600080fd5b5062000325620003e53660046200369f565b62000c60565b348015620003f857600080fd5b506200039262000c88565b3480156200041057600080fd5b5060225462000425906001600160a01b031681565b6040516001600160a01b039091168152602001620002f7565b3480156200044b57600080fd5b506200037e6200045d366004620036e5565b62000ca8565b3480156200047057600080fd5b5060405160128152602001620002f7565b3480156200048e57600080fd5b506200037e620004a036600462003721565b62000d1e565b348015620004b357600080fd5b5062000325620004c53660046200367f565b62000e5d565b348015620004d857600080fd5b5062000325620004ea366004620035fe565b62000ecf565b348015620004fd57600080fd5b506200037e62000f12565b3480156200051557600080fd5b506200037e6200052736600462003741565b62000f6c565b3480156200053a57600080fd5b5062000392601d5481565b3480156200055257600080fd5b506200037e620005643660046200375b565b6200102e565b3480156200057757600080fd5b5062000392620005893660046200367f565b6200114e565b3480156200059c57600080fd5b506200037e62001169565b348015620005b457600080fd5b506200039260245481565b348015620005cc57600080fd5b5062000392620005de3660046200375b565b620011e0565b348015620005f157600080fd5b506005546001600160a01b031662000425565b3480156200061157600080fd5b5062000325620006233660046200367f565b600c6020526000908152604090205460ff1681565b3480156200064557600080fd5b50601e5462000425906001600160a01b031681565b3480156200066757600080fd5b50620002e862001258565b3480156200067f57600080fd5b506200037e6200069136600462003799565b62001269565b348015620006a457600080fd5b506200037e620006b63660046200362d565b620012d9565b348015620006c957600080fd5b5062000325620006db366004620035fe565b62001345565b348015620006ee57600080fd5b506200032562000700366004620035fe565b620013db565b3480156200071357600080fd5b5062000392601c5481565b3480156200072b57600080fd5b506200037e6200073d36600462003721565b620013eb565b3480156200075057600080fd5b506200039260105481565b3480156200076857600080fd5b50620007806200077a366004620037ef565b62001436565b604051620002f7919062003827565b3480156200079c57600080fd5b506200037e620007ae36600462003881565b6200163e565b348015620007c157600080fd5b506200039262001696565b348015620007d957600080fd5b506200037e620007eb366004620038b4565b620016bf565b348015620007fe57600080fd5b5062000392620017fd565b3480156200081657600080fd5b5062000325620008283660046200367f565b600f6020526000908152604090205460ff1681565b3480156200084a57600080fd5b506200037e62001811565b3480156200086257600080fd5b5062000392620008743660046200375b565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b348015620008ac57600080fd5b5062000392620008be3660046200367f565b6001600160a01b031660009081526029602052604090205490565b348015620008e657600080fd5b506200037e620008f836600462003881565b62001b50565b3480156200090b57600080fd5b506200039260265481565b3480156200092357600080fd5b506200039262001ba8565b3480156200093b57600080fd5b506200037e6200094d3660046200367f565b62001c19565b3480156200096057600080fd5b506200037e62001d09565b6060600380546200097c906200392e565b80601f0160208091040260200160405190810160405280929190818152602001828054620009aa906200392e565b8015620009fb5780601f10620009cf57610100808354040283529160200191620009fb565b820191906000526020600020905b815481529060010190602001808311620009dd57829003601f168201915b5050505050905090565b60003362000a1581858562001e1f565b60019150505b92915050565b336000908152600e602052604090205460ff1662000a5c5760405162461bcd60e51b815260040162000a53906200396a565b60405180910390fd5b602380546001600160a01b0319166001600160a01b038581169182179092556040516302a2e74960e61b8152918416600483015260009163a8b9d24090602401602060405180830381865afa15801562000aba573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000ae0919062003987565b90506000811162000b1a5760405162461bcd60e51b81526020600482015260036024820152621395d160ea1b604482015260640162000a53565b6023546040516352b5f81d60e01b81526001600160a01b038581166004830152848116602483015260009216906352b5f81d906044016020604051808303816000875af115801562000b70573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000b96919062003987565b9050801562000c4a576023546040516338c110ef60e21b81526001600160a01b038681166004830152600060248301529091169063e30443bc90604401600060405180830381600087803b15801562000bee57600080fd5b505af115801562000c03573d6000803e3d6000fd5b5050604080518481526001600160a01b03881660208201527fbbce8dfb9d001c8d2f18150456d967d46aa35b6703300e5067e226a088a773ff935001905060405180910390a15b5050505050565b62000c5d813362001f47565b50565b60003362000c7085828562002139565b62000c7d858585620021ca565b506001949350505050565b600062000ca36014546012546200237790919063ffffffff16565b905090565b336000908152600e602052604090205460ff1662000cda5760405162461bcd60e51b815260040162000a53906200396a565b62000ce86012600a62003ab4565b62000cf4908462003ac5565b601b55601d82905562000d0a6012600a62003ab4565b62000d16908262003ac5565b601c55505050565b336000908152600e602052604090205460ff1662000d505760405162461bcd60e51b815260040162000a53906200396a565b602554600090339062000d6590479062002385565b604051600081818185875af1925050503d806000811462000da3576040519150601f19603f3d011682016040523d82523d6000602084013e62000da8565b606091505b5090915050811562000e595760006025541162000dee5760405162461bcd60e51b81526020600482015260036024820152622722a960e91b604482015260640162000a53565b60255460405160009133918381818185875af1925050503d806000811462000e33576040519150601f19603f3d011682016040523d82523d6000602084013e62000e38565b606091505b5090915050801562000e575760255462000e53908062002385565b6025555b505b5050565b601e546040516370d569f960e01b81526001600160a01b03838116600483015260009216906370d569f990602401602060405180830381865afa15801562000ea9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000a1b919062003ae7565b3360008181526001602090815260408083206001600160a01b038716845290915281205490919062000a15908290869062000f0c90879062003b07565b62001e1f565b336000908152600e602052604090205460ff1662000f445760405162461bcd60e51b815260040162000a53906200396a565b600062000f5f60245462000f58306200114e565b9062002385565b905062000e598162002393565b6005546001600160a01b0316331462000f995760405162461bcd60e51b815260040162000a539062003b1d565b670de0b6b3a76400006103e862000faf60025490565b62000fbc90600162003ac5565b62000fc8919062003b68565b62000fd4919062003b68565b8110156200100e5760405162461bcd60e51b815260040162000a539060208082526004908201526304d574c560e41b604082015260600190565b6200101c6012600a62003ab4565b62001028908262003ac5565b60105550565b336000908152600e602052604090205460ff16620010605760405162461bcd60e51b815260040162000a53906200396a565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa158015620010a8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620010ce919062003987565b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018390529192509084169063a9059cbb906044016020604051808303816000875af115801562001122573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001148919062003ae7565b50505050565b6001600160a01b031660009081526020819052604090205490565b6005546001600160a01b03163314620011965760405162461bcd60e51b815260040162000a539062003b1d565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6040516302a2e74960e61b81526001600160a01b0382811660048301526000919084169063a8b9d24090602401602060405180830381865afa1580156200122b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001251919062003987565b9392505050565b6060600480546200097c906200392e565b6005546001600160a01b03163314620012965760405162461bcd60e51b815260040162000a539062003b1d565b600a8811158015620012a95750600a8611155b620012b357600080fd5b601297909755601495909555601393909355601591909155601755601855601955601a55565b6005546001600160a01b03163314620013065760405162461bcd60e51b815260040162000a539062003b1d565b601f80546001600160a01b039485166001600160a01b031991821617909155602080549385169382169390931790925560218054919093169116179055565b3360008181526001602090815260408083206001600160a01b038716845290915281205490919083811015620013cc5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840162000a53565b62000c7d828686840362001e1f565b60003362000a15818585620021ca565b6005546001600160a01b03163314620014185760405162461bcd60e51b815260040162000a539062003b1d565b60078054911515600160b01b0260ff60b01b19909216919091179055565b6060600083118015620014495750600082115b6200147c5760405162461bcd60e51b8152602060048201526002602482015261494160f01b604482015260640162000a53565b6001600160a01b03841660009081526029602052604081205490620014a2858562003ac5565b90506000620014b2868362003b7f565b9050828110620014eb5760405162461bcd60e51b815260206004820152600360248201526227a7a960e91b604482015260640162000a53565b8583831115620015075783925062001504878462003b95565b90505b60008167ffffffffffffffff81111562001525576200152562003bac565b6040519080825280602002602001820160405280156200156c57816020015b6040805180820190915260008082526020820152815260200190600190039081620015445790505b5090506000835b858110156200162f576001600160a01b038b166000908152602960205260408120805483908110620015a957620015a962003bc2565b600091825260208083209091015480835260288252604092839020835180850190945280546001600160a01b0316845260010154918301919091528551909250859085908110620015fe57620015fe62003bc2565b60209081029190910101526200161660018462003b07565b9250508080620016269062003bd8565b91505062001573565b50909998505050505050505050565b6005546001600160a01b031633146200166b5760405162461bcd60e51b815260040162000a539062003b1d565b6001600160a01b03919091166000908152600c60205260409020805460ff1916911515919091179055565b600062000ca3601654620016b86015546013546200237790919063ffffffff16565b9062002377565b6005546001600160a01b03163314620016ec5760405162461bcd60e51b815260040162000a539062003b1d565b60005b8181101562000e5757600a546001600160a01b031683838381811062001719576200171962003bc2565b90506020020160208101906200173091906200367f565b6001600160a01b0316141580156200178757506007546001600160a01b031683838381811062001764576200176462003bc2565b90506020020160208101906200177b91906200367f565b6001600160a01b031614155b15620017e8576001600d6000858585818110620017a857620017a862003bc2565b9050602002016020810190620017bf91906200367f565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790555b80620017f48162003bd8565b915050620016ef565b600062000ca360245462000f58306200114e565b6005546001600160a01b031633146200183e5760405162461bcd60e51b815260040162000a539062003b1d565b600754600160a01b900460ff1615620018835760405162461bcd60e51b815260040162000a5390602080825260049082015263544f503160e01b604082015260600190565b6007546040805163c45a015560e01b815290516000926001600160a01b03169163c45a01559160048083019260209291908290030181865afa158015620018ce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620018f4919062003bf4565b6001600160a01b031663c9c6539630600760009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001957573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200197d919062003bf4565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620019cb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620019f1919062003bf4565b600a80546001600160a01b0319166001600160a01b0392831690811782556000908152600f60209081526040808320805460ff199081166001908117909255855487168552600b90935292819020805490921690921790556022549154905163031e79db60e41b815290831660048201529116906331e79db090602401600060405180830381600087803b15801562001a8957600080fd5b505af115801562001a9e573d6000803e3d6000fd5b5050505062001ab862001ab1306200114e565b4762002559565b600a5460075460405163095ea7b360e01b81526001600160a01b039182166004820152600019602482015291169063095ea7b3906044016020604051808303816000875af115801562001b0f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001b35919062003ae7565b50506007805460ff60a01b1916600160a01b17905543600855565b6005546001600160a01b0316331462001b7d5760405162461bcd60e51b815260040162000a539062003b1d565b6001600160a01b03919091166000908152600f60205260409020805460ff1916911515919091179055565b601e546040805163042cf12560e01b815290516000926001600160a01b03169163042cf1259160048083019260209291908290030181865afa15801562001bf3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000ca3919062003987565b6005546001600160a01b0316331462001c465760405162461bcd60e51b815260040162000a539062003b1d565b6001600160a01b03811662001cad5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840162000a53565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b336000908152600e602052604090205460ff1662001d3b5760405162461bcd60e51b815260040162000a53906200396a565b600062001d54602554476200238590919063ffffffff16565b9050600062001d8b62001d7460175460646200238590919063ffffffff16565b60185462001d849085906200266d565b906200267b565b9050600062001dbb62001dab60175460646200238590919063ffffffff16565b60195462001d849086906200266d565b9050600062001deb62001ddb60175460646200238590919063ffffffff16565b601a5462001d849087906200266d565b9050600062001e028262000f588581898962002385565b905062001e10848262002377565b935062000c4a84848462002689565b6001600160a01b03831662001e835760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840162000a53565b6001600160a01b03821662001ee65760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840162000a53565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b602380546001600160a01b0319166001600160a01b038481169182179092556040516302a2e74960e61b8152918316600483015260009163a8b9d24090602401602060405180830381865afa15801562001fa5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001fcb919062003987565b905060008111620020055760405162461bcd60e51b81526020600482015260036024820152621395d160ea1b604482015260640162000a53565b6023546040516352b5f81d60e01b81526001600160a01b0384811660048301819052602483015260009216906352b5f81d906044016020604051808303816000875af11580156200205a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002080919062003987565b9050801562001148576023546040516338c110ef60e21b81526001600160a01b038581166004830152600060248301529091169063e30443bc90604401600060405180830381600087803b158015620020d857600080fd5b505af1158015620020ed573d6000803e3d6000fd5b5050604080518481526001600160a01b03871660208201527fbbce8dfb9d001c8d2f18150456d967d46aa35b6703300e5067e226a088a773ff935001905060405180910390a150505050565b6001600160a01b038381166000908152600160209081526040808320938616835292905220546000198114620011485781811015620021bb5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640162000a53565b62001148848484840362001e1f565b6001600160a01b0383166000908152600d602052604090205460ff161580156200220d57506001600160a01b0382166000908152600d602052604090205460ff16155b6200221757600080fd5b6007548190600160a01b900460ff1680156200226e57506001600160a01b0384166000908152600b602052604090205460ff16806200226e57506001600160a01b0383166000908152600b602052604090205460ff165b80156200229457506001600160a01b0384166000908152600c602052604090205460ff16155b8015620022ba57506001600160a01b0383166000908152600c602052604090205460ff16155b15620022d057620022cd8484846200279b565b90505b6001600160a01b0383166000908152600b602052604090205460ff161580156200231357506001600160a01b0383166000908152600f602052604090205460ff16155b156200236a576010548162002328856200114e565b62002334919062003b07565b11156200236a5760405162461bcd60e51b815260206004820152600360248201526215d09360ea1b604482015260640162000a53565b6200114884848362002f4f565b600062001251828462003b07565b600062001251828462003b7f565b6040805160028082526060820183526000924792849290916020830190803683370190505090503081600081518110620023d157620023d162003bc2565b6001600160a01b03928316602091820292909201810191909152600754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156200242b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002451919062003bf4565b8160018151811062002467576200246762003bc2565b6001600160a01b0392831660209182029290920101526007546200248f913091168662001e1f565b60075460405163791ac94760e01b81526001600160a01b039091169063791ac94790620024ca90879060009086903090429060040162003c14565b600060405180830381600087803b158015620024e557600080fd5b505af1158015620024fa573d6000803e3d6000fd5b5050505060006200251583476200238590919063ffffffff16565b60408051878152602081018390529192507f4a6c12eb4e479a4ea28c8acad8efde466ef9bf69cf473501dd76865234496273910160405180910390a1949350505050565b600754620025739030906001600160a01b03168462001e1f565b6007546001600160a01b031663f305d7198230856000806200259d6005546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801562002606573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906200262d919062003c87565b505060408051848152602081018490527fcb1652de9aeec38545fc281847b3dbfc89aab56dfa907b1ab68466f602c36fb492500160405180910390a15050565b600062001251828462003ac5565b600062001251828462003b68565b8215620026cd57601f546040516001600160a01b039091169084156108fc029085906000818181858888f19350505050158015620026cb573d6000803e3d6000fd5b505b811562002711576020546040516001600160a01b039091169083156108fc029084906000818181858888f193505050501580156200270f573d6000803e3d6000fd5b505b801562002755576021546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801562002753573d6000803e3d6000fd5b505b60408051848152602081018490529081018290527f125472b1b527506b5b8381590760f796fd9c88ba5886399d71abc083c6dafa209060600160405180910390a1505050565b6001600160a01b0383166000908152600b60205260408120548190819060ff1680620027df57506001600160a01b0385166000908152600b602052604090205460ff165b620028135760405162461bcd60e51b81526020600482015260036024820152624e4d4d60e81b604482015260640162000a53565b6001600160a01b0386166000908152600b602052604090205460ff161562002c4457600060095460085462002849919062003b07565b43116200285a57506011546200286e565b6014546012546200286b9162002377565b90505b62002880606462001d8487846200266d565b92506000620028a1606462001d84601454896200266d90919063ffffffff16565b602454909150620028b3908262002377565b602455620028c2868562002385565b9250620028d188308662002f4f565b601c54861062002b5757600754600160b01b900460ff161562002b5757600754600160a81b900460ff16620029065760006016555b601e546040516370d569f960e01b81526001600160a01b038981166004830152909116906370d569f990602401602060405180830381865afa15801562002951573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002977919062003ae7565b62002a6c57601e54604051630cd2d3a360e31b81526001600160a01b038981166004830152909116906366969d1890602401600060405180830381600087803b158015620029c457600080fd5b505af1158015620029d9573d6000803e3d6000fd5b5050602254604051630a6b8b1760e31b81526001600160a01b038b81166004830152909116925063535c58b89150602401602060405180830381865afa15801562002a28573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002a4e919062003ae7565b62002a6c5760225462002a6c9088906001600160a01b03166200313b565b6022546001600160a01b03166318c18adb8862002a8e86620016b8836200114e565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801562002ad557600080fd5b505af115801562002aea573d6000803e3d6000fd5b505060225460405163e64b4c1160e01b81526001600160a01b038b8116600483015260006024830152909116925063e64b4c119150604401600060405180830381600087803b15801562002b3d57600080fd5b505af115801562002b52573d6000803e3d6000fd5b505050505b601d54601e60009054906101000a90046001600160a01b03166001600160a01b031663042cf1256040518163ffffffff1660e01b8152600401602060405180830381865afa15801562002bae573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002bd4919062003987565b1062002bf3576007805460ff60a81b1916600160a81b17905560106016555b604080516001600160a01b038a1681523060208201529081018590527f6b0b46d0273ce53f1de696d2100b35dd3a405dcecbcbeede66215d858d5c401d9060600160405180910390a1505062002f46565b600060095460085462002c58919062003b07565b431162002c69575060115462002c99565b62002c89601654620016b86015546013546200237790919063ffffffff16565b9050601581111562002c99575060155b62002cab606462001d8487846200266d565b6016549093501562002d155760165460009062002cca9060046200267b565b9050600062002cf7606462001d8462002cef856015546200237790919063ffffffff16565b8a906200266d565b60245490915062002d09908262002377565b6024555062002d4b9050565b600062002d34606462001d84601554896200266d90919063ffffffff16565b60245490915062002d46908262002377565b602455505b62002d57858462002385565b915062002d6687308562002f4f565b601e546040516302b748bb60e01b81526001600160a01b038981166004830152909116906302b748bb90602401600060405180830381600087803b15801562002dae57600080fd5b505af115801562002dc3573d6000803e3d6000fd5b50506022546040516338c110ef60e21b81526001600160a01b038b8116600483015260006024830152909116925063e30443bc9150604401600060405180830381600087803b15801562002e1657600080fd5b505af115801562002e2b573d6000803e3d6000fd5b505060225460405163e64b4c1160e01b81526001600160a01b038b8116600483015260016024830152909116925063e64b4c119150604401600060405180830381600087803b15801562002e7e57600080fd5b505af115801562002e93573d6000803e3d6000fd5b50505050600062002eab60245462000f58306200114e565b9050601b548111801562002ec95750600754600160a81b900460ff16155b1562002eda5762002eda81620031a9565b600754600160a81b900460ff161562002efa5762002efa602454620032e1565b604080516001600160a01b038a1681523060208201529081018590527f4ab5e0df8ff1605133dbdd1b8e3f52edb9539abe64595f6f70b30d2fea7f204a9060600160405180910390a150505b95945050505050565b6001600160a01b03831662002fb55760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840162000a53565b6001600160a01b038216620030195760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840162000a53565b6200302683838362000e57565b6001600160a01b03831660009081526020819052604090205481811015620030a05760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840162000a53565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290620030d990849062003b07565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516200312691815260200190565b60405180910390a36200114884848462000e57565b6200314a602780546001019055565b60006200315660275490565b600081815260286020908152604080832080546001600160a01b0319166001600160a01b039788161781554260019182015596909516825260298152938120805495860181558152929092209092015550565b6000620031c8606462001d84601754856200266d90919063ffffffff16565b90506000620031d98260026200267b565b90506000620031e9848362002385565b90506000620031f88262002393565b9050600062003219606462001d84601754856200266d90919063ffffffff16565b905060006200323a606462001d84601854866200266d90919063ffffffff16565b905060006200325b606462001d84601954876200266d90919063ffffffff16565b905060006200327c606462001d84601a54886200266d90919063ffffffff16565b90506000620032958262000f58858188818c8c62002385565b9050620032a3848262002377565b9350620032b284848462002689565b600088118015620032c35750600085115b15620032d557620032d5888662002559565b50505050505050505050565b602254620032fa9030906001600160a01b03166200313b565b6000620033078262002393565b60245490915062003319908362002385565b6024556022546040516000916001600160a01b03169083908381818185875af1925050503d80600081146200336b576040519150601f19603f3d011682016040523d82523d6000602084013e62003370565b606091505b50509050801562003492576040518281527f16dd7bdaf5fc2655ed1863e0a3b3245ca7aa7e763a7c749af605df4100bb442b9060200160405180910390a1602260009054906101000a90046001600160a01b03166001600160a01b03166303c833026040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620033ff57600080fd5b505af115801562003414573d6000803e3d6000fd5b50505050602260009054906101000a90046001600160a01b03166001600160a01b0316639f73435d6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200346957600080fd5b505af11580156200347e573d6000803e3d6000fd5b505050506200348c620034c5565b620034ae565b602554620034a1908362002377565b602555620034ae620034c5565b602654620034bd908362002377565b602655505050565b6007805460ff60a81b19169055601e80546001600160a01b0319169055604051620034f0906200357c565b604051809103906000f0801580156200350d573d6000803e3d6000fd5b50601e80546001600160a01b0319166001600160a01b03929092169190911790556040516200353c906200358a565b604051809103906000f08015801562003559573d6000803e3d6000fd5b50602280546001600160a01b0319166001600160a01b0392909216919091179055565b6105b78062003cb783390190565b611d22806200426e83390190565b600060208083528351808285015260005b81811015620035c757858101830151858201604001528201620035a9565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811462000c5d57600080fd5b600080604083850312156200361257600080fd5b82356200361f81620035e8565b946020939093013593505050565b6000806000606084860312156200364357600080fd5b83356200365081620035e8565b925060208401356200366281620035e8565b915060408401356200367481620035e8565b809150509250925092565b6000602082840312156200369257600080fd5b81356200125181620035e8565b600080600060608486031215620036b557600080fd5b8335620036c281620035e8565b92506020840135620036d481620035e8565b929592945050506040919091013590565b600080600060608486031215620036fb57600080fd5b505081359360208301359350604090920135919050565b801515811462000c5d57600080fd5b6000602082840312156200373457600080fd5b8135620012518162003712565b6000602082840312156200375457600080fd5b5035919050565b600080604083850312156200376f57600080fd5b82356200377c81620035e8565b915060208301356200378e81620035e8565b809150509250929050565b600080600080600080600080610100898b031215620037b757600080fd5b505086359860208801359850604088013597606081013597506080810135965060a0810135955060c0810135945060e0013592509050565b6000806000606084860312156200380557600080fd5b83356200381281620035e8565b95602085013595506040909401359392505050565b602080825282518282018190526000919060409081850190868401855b828110156200387457815180516001600160a01b0316855286015186850152928401929085019060010162003844565b5091979650505050505050565b600080604083850312156200389557600080fd5b8235620038a281620035e8565b915060208301356200378e8162003712565b60008060208385031215620038c857600080fd5b823567ffffffffffffffff80821115620038e157600080fd5b818501915085601f830112620038f657600080fd5b8135818111156200390657600080fd5b8660208260051b85010111156200391c57600080fd5b60209290920196919550909350505050565b600181811c908216806200394357607f821691505b6020821081036200396457634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526003908201526255544360e81b604082015260600190565b6000602082840312156200399a57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620039f8578160001904821115620039dc57620039dc620039a1565b80851615620039ea57918102915b93841c9390800290620039bc565b509250929050565b60008262003a115750600162000a1b565b8162003a205750600062000a1b565b816001811462003a39576002811462003a445762003a64565b600191505062000a1b565b60ff84111562003a585762003a58620039a1565b50506001821b62000a1b565b5060208310610133831016604e8410600b841016171562003a89575081810a62000a1b565b62003a958383620039b7565b806000190482111562003aac5762003aac620039a1565b029392505050565b60006200125160ff84168362003a00565b600081600019048311821515161562003ae25762003ae2620039a1565b500290565b60006020828403121562003afa57600080fd5b8151620012518162003712565b8082018082111562000a1b5762000a1b620039a1565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601260045260246000fd5b60008262003b7a5762003b7a62003b52565b500490565b8181038181111562000a1b5762000a1b620039a1565b60008262003ba75762003ba762003b52565b500690565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b60006001820162003bed5762003bed620039a1565b5060010190565b60006020828403121562003c0757600080fd5b81516200125181620035e8565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101562003c665784516001600160a01b03168352938301939183019160010162003c3f565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121562003c9d57600080fd5b835192506020840151915060408401519050925092509256fe608060405234801561001057600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36105588061005f6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806370d569f91161005b57806370d569f9146100e3578063715018a61461011f5780638da5cb5b14610127578063f2fde38b1461014257600080fd5b806302b748bb1461008d578063042cf125146100a257806366969d18146100bd57806368cf72f0146100d0575b600080fd5b6100a061009b36600461048f565b610155565b005b6100aa6101da565b6040519081526020015b60405180910390f35b6100a06100cb36600461048f565b6101ea565b6100a06100de3660046104b1565b610269565b61010f6100f136600461048f565b6001600160a01b031660009081526003602052604090205460ff1690565b60405190151581526020016100b4565b6100a06102be565b6000546040516001600160a01b0390911681526020016100b4565b6100a061015036600461048f565b610332565b6000546001600160a01b031633146101885760405162461bcd60e51b815260040161017f906104ed565b60405180910390fd5b6001600160a01b03811660009081526003602052604090205460ff1615156001036101d7576001600160a01b0381166000908152600360205260409020805460ff191690556101d7600261041c565b50565b60006101e560025490565b905090565b6000546001600160a01b031633146102145760405162461bcd60e51b815260040161017f906104ed565b6001600160a01b03811660009081526003602052604081205460ff16151590036101d7576001600160a01b0381166000908152600360205260409020805460ff191660011790556101d7600280546001019055565b6000546001600160a01b031633146102935760405162461bcd60e51b815260040161017f906104ed565b6001600160a01b03919091166000908152600360205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146102e85760405162461bcd60e51b815260040161017f906104ed565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461035c5760405162461bcd60e51b815260040161017f906104ed565b6001600160a01b0381166103c15760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161017f565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b80548061046b5760405162461bcd60e51b815260206004820152601b60248201527f436f756e7465723a2064656372656d656e74206f766572666c6f770000000000604482015260640161017f565b600019019055565b80356001600160a01b038116811461048a57600080fd5b919050565b6000602082840312156104a157600080fd5b6104aa82610473565b9392505050565b600080604083850312156104c457600080fd5b6104cd83610473565b9150602083013580151581146104e257600080fd5b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260408201526060019056fea2646970667358221220ad1ac1045809f3246740743ae1d9695cd3905b1e65eb070aa4aae873e663ce2564736f6c6343000810003360806040526011805460ff191690553480156200001b57600080fd5b5060408051808201825260168082527f477233336e5f4469766964656e645f547261636b6572000000000000000000006020808401829052845180860190955291845290830152908181600362000073838262000174565b50600462000082828262000174565b5050600a80546001600160a01b03191633908117909155604051909350600092507f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091508290a362000240565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000fa57607f821691505b6020821081036200011b57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200016f57600081815260208120601f850160051c810160208610156200014a5750805b601f850160051c820191505b818110156200016b5782815560010162000156565b5050505b505050565b81516001600160401b03811115620001905762000190620000cf565b620001a881620001a18454620000e5565b8462000121565b602080601f831160018114620001e05760008415620001c75750858301515b600019600386901b1c1916600185901b1785556200016b565b600085815260208120601f198616915b828110156200021157888601518255948401946001909101908401620001f0565b5085821015620002305787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b611ad280620002506000396000f3fe60806040526004361061021e5760003560e01c8063737b621c11610123578063a8b9d240116100ab578063e30443bc1161006f578063e30443bc14610676578063e432b39514610696578063e64b4c11146106ac578063f2fde38b146106cc578063fbcbc0f1146106ec57600080fd5b8063a8b9d240146105a4578063a9059cbb146105c4578063aafd847a146105e4578063b9c7bbbc1461061a578063dd62ed3e1461063057600080fd5b806391b89fba116100f257806391b89fba1461050d57806395d89b411461052d5780639f73435d14610542578063a457c2d714610557578063a4dd89021461057757600080fd5b8063737b621c14610485578063778ccc821461049f57806385a6b3ae146104cf5780638da5cb5b146104e557600080fd5b806331e79db0116101a657806352b5f81d1161017557806352b5f81d146103e5578063535c58b8146104055780636a4740021461042557806370a082311461043a578063715018a61461047057600080fd5b806331e79db014610355578063369513561461037557806339509351146103955780634e7b827f146103b557600080fd5b806318160ddd116101ed57806318160ddd146102c457806318c18adb146102d957806323b872dd146102f957806327ce014714610319578063313ce5671461033957600080fd5b806303c833021461023c57806306fdde0314610246578063095ea7b31461027157806309bbedde146102a157600080fd5b36610237576008546102309034610721565b6008819055005b600080fd5b610244610736565b005b34801561025257600080fd5b5061025b610860565b60405161026891906117fe565b60405180910390f35b34801561027d57600080fd5b5061029161028c366004611864565b6108f2565b6040519015158152602001610268565b3480156102ad57600080fd5b506102b661090a565b604051908152602001610268565b3480156102d057600080fd5b506002546102b6565b3480156102e557600080fd5b506102446102f4366004611864565b61091a565b34801561030557600080fd5b50610291610314366004611890565b6109fb565b34801561032557600080fd5b506102b66103343660046118d1565b610a1f565b34801561034557600080fd5b5060405160128152602001610268565b34801561036157600080fd5b506102446103703660046118d1565b610a7b565b34801561038157600080fd5b506102916103903660046118d1565b610b59565b3480156103a157600080fd5b506102916103b0366004611864565b610ba5565b3480156103c157600080fd5b506102916103d03660046118d1565b600e6020526000908152604090205460ff1681565b3480156103f157600080fd5b506102b66104003660046118f5565b610be4565b34801561041157600080fd5b506102916104203660046118d1565b610c41565b34801561043157600080fd5b50610244610c8d565b34801561044657600080fd5b506102b66104553660046118d1565b6001600160a01b031660009081526020819052604090205490565b34801561047c57600080fd5b50610244610d31565b34801561049157600080fd5b506011546102919060ff1681565b3480156104ab57600080fd5b506102916104ba3660046118d1565b600f6020526000908152604090205460ff1681565b3480156104db57600080fd5b506102b660095481565b3480156104f157600080fd5b50600a546040516001600160a01b039091168152602001610268565b34801561051957600080fd5b506102b66105283660046118d1565b610da5565b34801561053957600080fd5b5061025b610db0565b34801561054e57600080fd5b50610244610dbf565b34801561056357600080fd5b50610291610572366004611864565b610dfc565b34801561058357600080fd5b506102b66105923660046118d1565b60106020526000908152604090205481565b3480156105b057600080fd5b506102b66105bf3660046118d1565b610e8e565b3480156105d057600080fd5b506102916105df366004611864565b610eba565b3480156105f057600080fd5b506102b66105ff3660046118d1565b6001600160a01b031660009081526007602052604090205490565b34801561062657600080fd5b506102b660085481565b34801561063c57600080fd5b506102b661064b3660046118f5565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561068257600080fd5b50610244610691366004611864565b610ec8565b3480156106a257600080fd5b506102b660125481565b3480156106b857600080fd5b506102446106c736600461192e565b610f75565b3480156106d857600080fd5b506102446106e73660046118d1565b610fca565b3480156106f857600080fd5b5061070c6107073660046118d1565b6110b5565b60408051928352602083019190915201610268565b600061072d8284611977565b90505b92915050565b600061074160025490565b1161074b57600080fd5b6000600854116107c85760405162461bcd60e51b815260206004820152603960248201527f546865726520617265206e6f206469766964656e64732063757272656e746c7960448201527f20617661696c61626c6520746f20646973747269627574652e0000000000000060648201526084015b60405180910390fd5b6008541561085e576108006107dc60025490565b6008546107ed90600160801b6110e2565b6107f7919061198a565b60055490610721565b60055560085460405190815233907fa493a9229478c3fcd73f66d2cdeb7f94fd0f341da924d1054236d784541165119060200160405180910390a260085460095461084a91610721565b60095560085461085a90806110ee565b6008555b565b60606003805461086f906119ac565b80601f016020809104026020016040519081016040528092919081815260200182805461089b906119ac565b80156108e85780601f106108bd576101008083540402835291602001916108e8565b820191906000526020600020905b8154815290600101906020018083116108cb57829003601f168201915b5050505050905090565b6000336109008185856110fa565b5060019392505050565b6000610915600c5490565b905090565b600a546001600160a01b031633146109445760405162461bcd60e51b81526004016107bf906119e6565b6001600160a01b0382166000908152600e60205260409020805460ff1916905561096e828261115c565b6001600160a01b0382166000908152600d602052604081205460ff16151590036109c3576001600160a01b0382166000908152600d60205260409020805460ff191660011790556109c3600c80546001019055565b6040516001600160a01b038316907fa878b31040b2e6d0a9a3d3361209db3908ba62014b0dca52adbaee451d128b2590600090a25050565b600033610a098582856111bb565b610a14858585611247565b506001949350505050565b6001600160a01b03811660009081526006602090815260408083205491839052822054600554600160801b92610a7192610a6c92610a6691610a6191906110e2565b6112a4565b90611312565b61131e565b610730919061198a565b600a546001600160a01b03163314610aa55760405162461bcd60e51b81526004016107bf906119e6565b6001600160a01b0381166000908152600e60205260408120805460ff19166001179055610ad390829061115c565b6001600160a01b0381166000908152600d602052604090205460ff161515600103610b22576001600160a01b0381166000908152600d60205260409020805460ff19169055610b22600c611370565b6040516001600160a01b038216907fa878b31040b2e6d0a9a3d3361209db3908ba62014b0dca52adbaee451d128b2590600090a250565b600a546000906001600160a01b03163314610b865760405162461bcd60e51b81526004016107bf906119e6565b506001600160a01b03166000908152600e602052604090205460ff1690565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091906109009082908690610bdf908790611977565b6110fa565b600a546000906001600160a01b03163314610c115760405162461bcd60e51b81526004016107bf906119e6565b6000610c1d84846113c7565b6001600160a01b038516600090815260106020526040902042905591505092915050565b600a546000906001600160a01b03163314610c6e5760405162461bcd60e51b81526004016107bf906119e6565b506001600160a01b03166000908152600f602052604090205460ff1690565b60405162461bcd60e51b815260206004820152606760248201527f477233336e5f4469766964656e645f547261636b65723a20776974686472617760448201527f4469766964656e642064697361626c65642e20557365207468652027636c616960648201527f6d272066756e6374696f6e206f6e20746865206d61696e20477233336e20636f608482015266373a3930b1ba1760c91b60a482015260c4016107bf565b600a546001600160a01b03163314610d5b5760405162461bcd60e51b81526004016107bf906119e6565b600a546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600a80546001600160a01b0319169055565b600061073082610e8e565b60606004805461086f906119ac565b600a546001600160a01b03163314610de95760405162461bcd60e51b81526004016107bf906119e6565b6011805460ff1916600117905542601255565b3360008181526001602090815260408083206001600160a01b038716845290915281205490919083811015610e815760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016107bf565b610a1482868684036110fa565b6001600160a01b03811660009081526007602052604081205461073090610eb484610a1f565b906110ee565b600033610900818585611247565b600a546001600160a01b03163314610ef25760405162461bcd60e51b81526004016107bf906119e6565b6001600160a01b0382166000908152600e602052604090205460ff16610f7157610f1c828261115c565b6001600160a01b0382166000908152600d602052604081205460ff1615159003610f71576001600160a01b0382166000908152600d60205260409020805460ff19166001179055610f71600c80546001019055565b5050565b600a546001600160a01b03163314610f9f5760405162461bcd60e51b81526004016107bf906119e6565b6001600160a01b03919091166000908152600f60205260409020805460ff1916911515919091179055565b600a546001600160a01b03163314610ff45760405162461bcd60e51b81526004016107bf906119e6565b6001600160a01b0381166110595760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107bf565b600a546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600a80546001600160a01b0319166001600160a01b0392909216919091179055565b6000806110c183610e8e565b6001600160a01b039093166000908152600760205260409020549293915050565b600061072d8284611a1b565b600061072d8284611a3a565b60405162461bcd60e51b815260206004820152602c60248201527f477233336e5f4469766964656e645f547261636b65723a204e6f20617070726f60448201526b1d985b1cc8185b1b1bddd95960a21b60648201526084016107bf565b505050565b6001600160a01b0382166000908152602081905260409020548082111561119b57600061118983836110ee565b9050611195848261151d565b50505050565b808210156111575760006111af82846110ee565b90506111958482611581565b6001600160a01b038381166000908152600160209081526040808320938616835292905220546000198114611195578181101561123a5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016107bf565b61119584848484036110fa565b60405162461bcd60e51b815260206004820152602c60248201527f477233336e5f4469766964656e645f547261636b65723a204e6f207472616e7360448201526b19995c9cc8185b1b1bddd95960a21b60648201526084016107bf565b60006001600160ff1b0382111561130e5760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b60648201526084016107bf565b5090565b600061072d8284611a4d565b60008082121561130e5760405162461bcd60e51b815260206004820181905260248201527f53616665436173743a2076616c7565206d75737420626520706f73697469766560448201526064016107bf565b8054806113bf5760405162461bcd60e51b815260206004820152601b60248201527f436f756e7465723a2064656372656d656e74206f766572666c6f77000000000060448201526064016107bf565b600019019055565b6000806113d384610e8e565b90508015611513576001600160a01b0384166000908152600760205260409020546113fe9082610721565b6001600160a01b038516600081815260076020526040908190209290925590517feb063efb53b3790d2bc15284b59af7544466c8787c2883321ee27095647911b69061145f90849087909182526001600160a01b0316602082015260400190565b60405180910390a26000836001600160a01b03168260405160006040518083038185875af1925050503d80600081146114b4576040519150601f19603f3d011682016040523d82523d6000602084013e6114b9565b606091505b505090508061150b576001600160a01b0385166000908152600760205260409020546114e590836110ee565b6001600160a01b0386166000908152600760205260408120919091559250610730915050565b509050610730565b5060009392505050565b61152782826115c5565b611561611542610a61836005546110e290919063ffffffff16565b6001600160a01b038416600090815260066020526040902054906116a4565b6001600160a01b0390921660009081526006602052604090209190915550565b61158b82826116b0565b6115616115a6610a61836005546110e290919063ffffffff16565b6001600160a01b03841660009081526006602052604090205490611312565b6001600160a01b03821661161b5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016107bf565b806002600082825461162d9190611977565b90915550506001600160a01b0382166000908152602081905260408120805483929061165a908490611977565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b600061072d8284611a75565b6001600160a01b0382166117105760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016107bf565b6001600160a01b038216600090815260208190526040902054818110156117845760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016107bf565b6001600160a01b03831660009081526020819052604081208383039055600280548492906117b3908490611a3a565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050565b600060208083528351808285015260005b8181101561182b5785810183015185820160400152820161180f565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461186157600080fd5b50565b6000806040838503121561187757600080fd5b82356118828161184c565b946020939093013593505050565b6000806000606084860312156118a557600080fd5b83356118b08161184c565b925060208401356118c08161184c565b929592945050506040919091013590565b6000602082840312156118e357600080fd5b81356118ee8161184c565b9392505050565b6000806040838503121561190857600080fd5b82356119138161184c565b915060208301356119238161184c565b809150509250929050565b6000806040838503121561194157600080fd5b823561194c8161184c565b91506020830135801515811461192357600080fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561073057610730611961565b6000826119a757634e487b7160e01b600052601260045260246000fd5b500490565b600181811c908216806119c057607f821691505b6020821081036119e057634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000816000190483118215151615611a3557611a35611961565b500290565b8181038181111561073057610730611961565b8082018281126000831280158216821582161715611a6d57611a6d611961565b505092915050565b8181036000831280158383131683831282161715611a9557611a95611961565b509291505056fea2646970667358221220fe1f0584dc2d755e9f6900dfbc3536ec3121942214310e0d9ec7eb947324d41664736f6c63430008100033a264697066735822122029cf0bad5c235e0bb8c228226fbf7c95a5104ef7be17edce685235ab3bf70b8964736f6c63430008100033608060405234801561001057600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36105588061005f6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806370d569f91161005b57806370d569f9146100e3578063715018a61461011f5780638da5cb5b14610127578063f2fde38b1461014257600080fd5b806302b748bb1461008d578063042cf125146100a257806366969d18146100bd57806368cf72f0146100d0575b600080fd5b6100a061009b36600461048f565b610155565b005b6100aa6101da565b6040519081526020015b60405180910390f35b6100a06100cb36600461048f565b6101ea565b6100a06100de3660046104b1565b610269565b61010f6100f136600461048f565b6001600160a01b031660009081526003602052604090205460ff1690565b60405190151581526020016100b4565b6100a06102be565b6000546040516001600160a01b0390911681526020016100b4565b6100a061015036600461048f565b610332565b6000546001600160a01b031633146101885760405162461bcd60e51b815260040161017f906104ed565b60405180910390fd5b6001600160a01b03811660009081526003602052604090205460ff1615156001036101d7576001600160a01b0381166000908152600360205260409020805460ff191690556101d7600261041c565b50565b60006101e560025490565b905090565b6000546001600160a01b031633146102145760405162461bcd60e51b815260040161017f906104ed565b6001600160a01b03811660009081526003602052604081205460ff16151590036101d7576001600160a01b0381166000908152600360205260409020805460ff191660011790556101d7600280546001019055565b6000546001600160a01b031633146102935760405162461bcd60e51b815260040161017f906104ed565b6001600160a01b03919091166000908152600360205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146102e85760405162461bcd60e51b815260040161017f906104ed565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461035c5760405162461bcd60e51b815260040161017f906104ed565b6001600160a01b0381166103c15760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161017f565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b80548061046b5760405162461bcd60e51b815260206004820152601b60248201527f436f756e7465723a2064656372656d656e74206f766572666c6f770000000000604482015260640161017f565b600019019055565b80356001600160a01b038116811461048a57600080fd5b919050565b6000602082840312156104a157600080fd5b6104aa82610473565b9392505050565b600080604083850312156104c457600080fd5b6104cd83610473565b9150602083013580151581146104e257600080fd5b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260408201526060019056fea2646970667358221220ad1ac1045809f3246740743ae1d9695cd3905b1e65eb070aa4aae873e663ce2564736f6c6343000810003360806040526011805460ff191690553480156200001b57600080fd5b5060408051808201825260168082527f477233336e5f4469766964656e645f547261636b6572000000000000000000006020808401829052845180860190955291845290830152908181600362000073838262000174565b50600462000082828262000174565b5050600a80546001600160a01b03191633908117909155604051909350600092507f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091508290a362000240565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000fa57607f821691505b6020821081036200011b57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200016f57600081815260208120601f850160051c810160208610156200014a5750805b601f850160051c820191505b818110156200016b5782815560010162000156565b5050505b505050565b81516001600160401b03811115620001905762000190620000cf565b620001a881620001a18454620000e5565b8462000121565b602080601f831160018114620001e05760008415620001c75750858301515b600019600386901b1c1916600185901b1785556200016b565b600085815260208120601f198616915b828110156200021157888601518255948401946001909101908401620001f0565b5085821015620002305787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b611ad280620002506000396000f3fe60806040526004361061021e5760003560e01c8063737b621c11610123578063a8b9d240116100ab578063e30443bc1161006f578063e30443bc14610676578063e432b39514610696578063e64b4c11146106ac578063f2fde38b146106cc578063fbcbc0f1146106ec57600080fd5b8063a8b9d240146105a4578063a9059cbb146105c4578063aafd847a146105e4578063b9c7bbbc1461061a578063dd62ed3e1461063057600080fd5b806391b89fba116100f257806391b89fba1461050d57806395d89b411461052d5780639f73435d14610542578063a457c2d714610557578063a4dd89021461057757600080fd5b8063737b621c14610485578063778ccc821461049f57806385a6b3ae146104cf5780638da5cb5b146104e557600080fd5b806331e79db0116101a657806352b5f81d1161017557806352b5f81d146103e5578063535c58b8146104055780636a4740021461042557806370a082311461043a578063715018a61461047057600080fd5b806331e79db014610355578063369513561461037557806339509351146103955780634e7b827f146103b557600080fd5b806318160ddd116101ed57806318160ddd146102c457806318c18adb146102d957806323b872dd146102f957806327ce014714610319578063313ce5671461033957600080fd5b806303c833021461023c57806306fdde0314610246578063095ea7b31461027157806309bbedde146102a157600080fd5b36610237576008546102309034610721565b6008819055005b600080fd5b610244610736565b005b34801561025257600080fd5b5061025b610860565b60405161026891906117fe565b60405180910390f35b34801561027d57600080fd5b5061029161028c366004611864565b6108f2565b6040519015158152602001610268565b3480156102ad57600080fd5b506102b661090a565b604051908152602001610268565b3480156102d057600080fd5b506002546102b6565b3480156102e557600080fd5b506102446102f4366004611864565b61091a565b34801561030557600080fd5b50610291610314366004611890565b6109fb565b34801561032557600080fd5b506102b66103343660046118d1565b610a1f565b34801561034557600080fd5b5060405160128152602001610268565b34801561036157600080fd5b506102446103703660046118d1565b610a7b565b34801561038157600080fd5b506102916103903660046118d1565b610b59565b3480156103a157600080fd5b506102916103b0366004611864565b610ba5565b3480156103c157600080fd5b506102916103d03660046118d1565b600e6020526000908152604090205460ff1681565b3480156103f157600080fd5b506102b66104003660046118f5565b610be4565b34801561041157600080fd5b506102916104203660046118d1565b610c41565b34801561043157600080fd5b50610244610c8d565b34801561044657600080fd5b506102b66104553660046118d1565b6001600160a01b031660009081526020819052604090205490565b34801561047c57600080fd5b50610244610d31565b34801561049157600080fd5b506011546102919060ff1681565b3480156104ab57600080fd5b506102916104ba3660046118d1565b600f6020526000908152604090205460ff1681565b3480156104db57600080fd5b506102b660095481565b3480156104f157600080fd5b50600a546040516001600160a01b039091168152602001610268565b34801561051957600080fd5b506102b66105283660046118d1565b610da5565b34801561053957600080fd5b5061025b610db0565b34801561054e57600080fd5b50610244610dbf565b34801561056357600080fd5b50610291610572366004611864565b610dfc565b34801561058357600080fd5b506102b66105923660046118d1565b60106020526000908152604090205481565b3480156105b057600080fd5b506102b66105bf3660046118d1565b610e8e565b3480156105d057600080fd5b506102916105df366004611864565b610eba565b3480156105f057600080fd5b506102b66105ff3660046118d1565b6001600160a01b031660009081526007602052604090205490565b34801561062657600080fd5b506102b660085481565b34801561063c57600080fd5b506102b661064b3660046118f5565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561068257600080fd5b50610244610691366004611864565b610ec8565b3480156106a257600080fd5b506102b660125481565b3480156106b857600080fd5b506102446106c736600461192e565b610f75565b3480156106d857600080fd5b506102446106e73660046118d1565b610fca565b3480156106f857600080fd5b5061070c6107073660046118d1565b6110b5565b60408051928352602083019190915201610268565b600061072d8284611977565b90505b92915050565b600061074160025490565b1161074b57600080fd5b6000600854116107c85760405162461bcd60e51b815260206004820152603960248201527f546865726520617265206e6f206469766964656e64732063757272656e746c7960448201527f20617661696c61626c6520746f20646973747269627574652e0000000000000060648201526084015b60405180910390fd5b6008541561085e576108006107dc60025490565b6008546107ed90600160801b6110e2565b6107f7919061198a565b60055490610721565b60055560085460405190815233907fa493a9229478c3fcd73f66d2cdeb7f94fd0f341da924d1054236d784541165119060200160405180910390a260085460095461084a91610721565b60095560085461085a90806110ee565b6008555b565b60606003805461086f906119ac565b80601f016020809104026020016040519081016040528092919081815260200182805461089b906119ac565b80156108e85780601f106108bd576101008083540402835291602001916108e8565b820191906000526020600020905b8154815290600101906020018083116108cb57829003601f168201915b5050505050905090565b6000336109008185856110fa565b5060019392505050565b6000610915600c5490565b905090565b600a546001600160a01b031633146109445760405162461bcd60e51b81526004016107bf906119e6565b6001600160a01b0382166000908152600e60205260409020805460ff1916905561096e828261115c565b6001600160a01b0382166000908152600d602052604081205460ff16151590036109c3576001600160a01b0382166000908152600d60205260409020805460ff191660011790556109c3600c80546001019055565b6040516001600160a01b038316907fa878b31040b2e6d0a9a3d3361209db3908ba62014b0dca52adbaee451d128b2590600090a25050565b600033610a098582856111bb565b610a14858585611247565b506001949350505050565b6001600160a01b03811660009081526006602090815260408083205491839052822054600554600160801b92610a7192610a6c92610a6691610a6191906110e2565b6112a4565b90611312565b61131e565b610730919061198a565b600a546001600160a01b03163314610aa55760405162461bcd60e51b81526004016107bf906119e6565b6001600160a01b0381166000908152600e60205260408120805460ff19166001179055610ad390829061115c565b6001600160a01b0381166000908152600d602052604090205460ff161515600103610b22576001600160a01b0381166000908152600d60205260409020805460ff19169055610b22600c611370565b6040516001600160a01b038216907fa878b31040b2e6d0a9a3d3361209db3908ba62014b0dca52adbaee451d128b2590600090a250565b600a546000906001600160a01b03163314610b865760405162461bcd60e51b81526004016107bf906119e6565b506001600160a01b03166000908152600e602052604090205460ff1690565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091906109009082908690610bdf908790611977565b6110fa565b600a546000906001600160a01b03163314610c115760405162461bcd60e51b81526004016107bf906119e6565b6000610c1d84846113c7565b6001600160a01b038516600090815260106020526040902042905591505092915050565b600a546000906001600160a01b03163314610c6e5760405162461bcd60e51b81526004016107bf906119e6565b506001600160a01b03166000908152600f602052604090205460ff1690565b60405162461bcd60e51b815260206004820152606760248201527f477233336e5f4469766964656e645f547261636b65723a20776974686472617760448201527f4469766964656e642064697361626c65642e20557365207468652027636c616960648201527f6d272066756e6374696f6e206f6e20746865206d61696e20477233336e20636f608482015266373a3930b1ba1760c91b60a482015260c4016107bf565b600a546001600160a01b03163314610d5b5760405162461bcd60e51b81526004016107bf906119e6565b600a546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600a80546001600160a01b0319169055565b600061073082610e8e565b60606004805461086f906119ac565b600a546001600160a01b03163314610de95760405162461bcd60e51b81526004016107bf906119e6565b6011805460ff1916600117905542601255565b3360008181526001602090815260408083206001600160a01b038716845290915281205490919083811015610e815760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016107bf565b610a1482868684036110fa565b6001600160a01b03811660009081526007602052604081205461073090610eb484610a1f565b906110ee565b600033610900818585611247565b600a546001600160a01b03163314610ef25760405162461bcd60e51b81526004016107bf906119e6565b6001600160a01b0382166000908152600e602052604090205460ff16610f7157610f1c828261115c565b6001600160a01b0382166000908152600d602052604081205460ff1615159003610f71576001600160a01b0382166000908152600d60205260409020805460ff19166001179055610f71600c80546001019055565b5050565b600a546001600160a01b03163314610f9f5760405162461bcd60e51b81526004016107bf906119e6565b6001600160a01b03919091166000908152600f60205260409020805460ff1916911515919091179055565b600a546001600160a01b03163314610ff45760405162461bcd60e51b81526004016107bf906119e6565b6001600160a01b0381166110595760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107bf565b600a546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600a80546001600160a01b0319166001600160a01b0392909216919091179055565b6000806110c183610e8e565b6001600160a01b039093166000908152600760205260409020549293915050565b600061072d8284611a1b565b600061072d8284611a3a565b60405162461bcd60e51b815260206004820152602c60248201527f477233336e5f4469766964656e645f547261636b65723a204e6f20617070726f60448201526b1d985b1cc8185b1b1bddd95960a21b60648201526084016107bf565b505050565b6001600160a01b0382166000908152602081905260409020548082111561119b57600061118983836110ee565b9050611195848261151d565b50505050565b808210156111575760006111af82846110ee565b90506111958482611581565b6001600160a01b038381166000908152600160209081526040808320938616835292905220546000198114611195578181101561123a5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016107bf565b61119584848484036110fa565b60405162461bcd60e51b815260206004820152602c60248201527f477233336e5f4469766964656e645f547261636b65723a204e6f207472616e7360448201526b19995c9cc8185b1b1bddd95960a21b60648201526084016107bf565b60006001600160ff1b0382111561130e5760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b60648201526084016107bf565b5090565b600061072d8284611a4d565b60008082121561130e5760405162461bcd60e51b815260206004820181905260248201527f53616665436173743a2076616c7565206d75737420626520706f73697469766560448201526064016107bf565b8054806113bf5760405162461bcd60e51b815260206004820152601b60248201527f436f756e7465723a2064656372656d656e74206f766572666c6f77000000000060448201526064016107bf565b600019019055565b6000806113d384610e8e565b90508015611513576001600160a01b0384166000908152600760205260409020546113fe9082610721565b6001600160a01b038516600081815260076020526040908190209290925590517feb063efb53b3790d2bc15284b59af7544466c8787c2883321ee27095647911b69061145f90849087909182526001600160a01b0316602082015260400190565b60405180910390a26000836001600160a01b03168260405160006040518083038185875af1925050503d80600081146114b4576040519150601f19603f3d011682016040523d82523d6000602084013e6114b9565b606091505b505090508061150b576001600160a01b0385166000908152600760205260409020546114e590836110ee565b6001600160a01b0386166000908152600760205260408120919091559250610730915050565b509050610730565b5060009392505050565b61152782826115c5565b611561611542610a61836005546110e290919063ffffffff16565b6001600160a01b038416600090815260066020526040902054906116a4565b6001600160a01b0390921660009081526006602052604090209190915550565b61158b82826116b0565b6115616115a6610a61836005546110e290919063ffffffff16565b6001600160a01b03841660009081526006602052604090205490611312565b6001600160a01b03821661161b5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016107bf565b806002600082825461162d9190611977565b90915550506001600160a01b0382166000908152602081905260408120805483929061165a908490611977565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b600061072d8284611a75565b6001600160a01b0382166117105760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016107bf565b6001600160a01b038216600090815260208190526040902054818110156117845760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016107bf565b6001600160a01b03831660009081526020819052604081208383039055600280548492906117b3908490611a3a565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050565b600060208083528351808285015260005b8181101561182b5785810183015185820160400152820161180f565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461186157600080fd5b50565b6000806040838503121561187757600080fd5b82356118828161184c565b946020939093013593505050565b6000806000606084860312156118a557600080fd5b83356118b08161184c565b925060208401356118c08161184c565b929592945050506040919091013590565b6000602082840312156118e357600080fd5b81356118ee8161184c565b9392505050565b6000806040838503121561190857600080fd5b82356119138161184c565b915060208301356119238161184c565b809150509250929050565b6000806040838503121561194157600080fd5b823561194c8161184c565b91506020830135801515811461192357600080fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561073057610730611961565b6000826119a757634e487b7160e01b600052601260045260246000fd5b500490565b600181811c908216806119c057607f821691505b6020821081036119e057634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000816000190483118215151615611a3557611a35611961565b500290565b8181038181111561073057610730611961565b8082018281126000831280158216821582161715611a6d57611a6d611961565b505092915050565b8181036000831280158383131683831282161715611a9557611a95611961565b509291505056fea2646970667358221220fe1f0584dc2d755e9f6900dfbc3536ec3121942214310e0d9ec7eb947324d41664736f6c634300081000330000000000000000000000001d0991e7438e8c02e2b38f110af452fe72c66ed50000000000000000000000001b39365411f37912ba8c6a8a3d375c08572c0af5000000000000000000000000f04b33667d0930b4edb8435cc264fe6687e839e3
Deployed Bytecode
0x608060405260043610620002c35760003560e01c80638e5916b21162000177578063b0bc85de11620000d1578063e93481f61162000084578063e93481f6146200089f578063ea084eef14620008d9578063ed9d599114620008fe578063f1b38c791462000916578063f2fde38b146200092e578063f4293890146200095357600080fd5b8063b0bc85de14620007b4578063b515566a14620007cc578063ba762ddd14620007f1578063c9e8714c1462000809578063caf4f341146200083d578063dd62ed3e146200085557600080fd5b8063a9059cbb116200012a578063a9059cbb14620006e1578063a982b9c61462000706578063aa1a0d55146200071e578063aa4bde281462000743578063ab89a4ee146200075b578063af9549e0146200078f57600080fd5b80638e5916b2146200060457806393926396146200063857806395d89b41146200065a57806395f5c951146200067257806397c44ed91462000697578063a457c2d714620006bc57600080fd5b806334d4248a11620002295780636fa3d54c11620001dc5780636fa3d54c146200054557806370a08231146200056a578063715018a6146200058f5780637c4b492e14620005a75780637d5cc64514620005bf5780638da5cb5b14620005e457600080fd5b806334d4248a1462000481578063367baaef14620004a65780633950935114620004cb57806351bc3c8514620004f05780635d0044ca146200050857806362dcb243146200052d57600080fd5b80631e83409a11620002825780631e83409a14620003a157806323b872dd14620003c6578063252d723a14620003eb5780632c1f521614620004035780633007d4b4146200043e578063313ce567146200046357600080fd5b806306fdde0314620002d0578063095ea7b3146200030057806315da7b9d14620003365780631734a9c9146200035957806318160ddd146200038057600080fd5b36620002cb57005b600080fd5b348015620002dd57600080fd5b50620002e86200096b565b604051620002f7919062003598565b60405180910390f35b3480156200030d57600080fd5b50620003256200031f366004620035fe565b62000a05565b6040519015158152602001620002f7565b3480156200034357600080fd5b506007546200032590600160a81b900460ff1681565b3480156200036657600080fd5b506200037e620003783660046200362d565b62000a21565b005b3480156200038d57600080fd5b506002545b604051908152602001620002f7565b348015620003ae57600080fd5b506200037e620003c03660046200367f565b62000c51565b348015620003d357600080fd5b5062000325620003e53660046200369f565b62000c60565b348015620003f857600080fd5b506200039262000c88565b3480156200041057600080fd5b5060225462000425906001600160a01b031681565b6040516001600160a01b039091168152602001620002f7565b3480156200044b57600080fd5b506200037e6200045d366004620036e5565b62000ca8565b3480156200047057600080fd5b5060405160128152602001620002f7565b3480156200048e57600080fd5b506200037e620004a036600462003721565b62000d1e565b348015620004b357600080fd5b5062000325620004c53660046200367f565b62000e5d565b348015620004d857600080fd5b5062000325620004ea366004620035fe565b62000ecf565b348015620004fd57600080fd5b506200037e62000f12565b3480156200051557600080fd5b506200037e6200052736600462003741565b62000f6c565b3480156200053a57600080fd5b5062000392601d5481565b3480156200055257600080fd5b506200037e620005643660046200375b565b6200102e565b3480156200057757600080fd5b5062000392620005893660046200367f565b6200114e565b3480156200059c57600080fd5b506200037e62001169565b348015620005b457600080fd5b506200039260245481565b348015620005cc57600080fd5b5062000392620005de3660046200375b565b620011e0565b348015620005f157600080fd5b506005546001600160a01b031662000425565b3480156200061157600080fd5b5062000325620006233660046200367f565b600c6020526000908152604090205460ff1681565b3480156200064557600080fd5b50601e5462000425906001600160a01b031681565b3480156200066757600080fd5b50620002e862001258565b3480156200067f57600080fd5b506200037e6200069136600462003799565b62001269565b348015620006a457600080fd5b506200037e620006b63660046200362d565b620012d9565b348015620006c957600080fd5b5062000325620006db366004620035fe565b62001345565b348015620006ee57600080fd5b506200032562000700366004620035fe565b620013db565b3480156200071357600080fd5b5062000392601c5481565b3480156200072b57600080fd5b506200037e6200073d36600462003721565b620013eb565b3480156200075057600080fd5b506200039260105481565b3480156200076857600080fd5b50620007806200077a366004620037ef565b62001436565b604051620002f7919062003827565b3480156200079c57600080fd5b506200037e620007ae36600462003881565b6200163e565b348015620007c157600080fd5b506200039262001696565b348015620007d957600080fd5b506200037e620007eb366004620038b4565b620016bf565b348015620007fe57600080fd5b5062000392620017fd565b3480156200081657600080fd5b5062000325620008283660046200367f565b600f6020526000908152604090205460ff1681565b3480156200084a57600080fd5b506200037e62001811565b3480156200086257600080fd5b5062000392620008743660046200375b565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b348015620008ac57600080fd5b5062000392620008be3660046200367f565b6001600160a01b031660009081526029602052604090205490565b348015620008e657600080fd5b506200037e620008f836600462003881565b62001b50565b3480156200090b57600080fd5b506200039260265481565b3480156200092357600080fd5b506200039262001ba8565b3480156200093b57600080fd5b506200037e6200094d3660046200367f565b62001c19565b3480156200096057600080fd5b506200037e62001d09565b6060600380546200097c906200392e565b80601f0160208091040260200160405190810160405280929190818152602001828054620009aa906200392e565b8015620009fb5780601f10620009cf57610100808354040283529160200191620009fb565b820191906000526020600020905b815481529060010190602001808311620009dd57829003601f168201915b5050505050905090565b60003362000a1581858562001e1f565b60019150505b92915050565b336000908152600e602052604090205460ff1662000a5c5760405162461bcd60e51b815260040162000a53906200396a565b60405180910390fd5b602380546001600160a01b0319166001600160a01b038581169182179092556040516302a2e74960e61b8152918416600483015260009163a8b9d24090602401602060405180830381865afa15801562000aba573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000ae0919062003987565b90506000811162000b1a5760405162461bcd60e51b81526020600482015260036024820152621395d160ea1b604482015260640162000a53565b6023546040516352b5f81d60e01b81526001600160a01b038581166004830152848116602483015260009216906352b5f81d906044016020604051808303816000875af115801562000b70573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000b96919062003987565b9050801562000c4a576023546040516338c110ef60e21b81526001600160a01b038681166004830152600060248301529091169063e30443bc90604401600060405180830381600087803b15801562000bee57600080fd5b505af115801562000c03573d6000803e3d6000fd5b5050604080518481526001600160a01b03881660208201527fbbce8dfb9d001c8d2f18150456d967d46aa35b6703300e5067e226a088a773ff935001905060405180910390a15b5050505050565b62000c5d813362001f47565b50565b60003362000c7085828562002139565b62000c7d858585620021ca565b506001949350505050565b600062000ca36014546012546200237790919063ffffffff16565b905090565b336000908152600e602052604090205460ff1662000cda5760405162461bcd60e51b815260040162000a53906200396a565b62000ce86012600a62003ab4565b62000cf4908462003ac5565b601b55601d82905562000d0a6012600a62003ab4565b62000d16908262003ac5565b601c55505050565b336000908152600e602052604090205460ff1662000d505760405162461bcd60e51b815260040162000a53906200396a565b602554600090339062000d6590479062002385565b604051600081818185875af1925050503d806000811462000da3576040519150601f19603f3d011682016040523d82523d6000602084013e62000da8565b606091505b5090915050811562000e595760006025541162000dee5760405162461bcd60e51b81526020600482015260036024820152622722a960e91b604482015260640162000a53565b60255460405160009133918381818185875af1925050503d806000811462000e33576040519150601f19603f3d011682016040523d82523d6000602084013e62000e38565b606091505b5090915050801562000e575760255462000e53908062002385565b6025555b505b5050565b601e546040516370d569f960e01b81526001600160a01b03838116600483015260009216906370d569f990602401602060405180830381865afa15801562000ea9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000a1b919062003ae7565b3360008181526001602090815260408083206001600160a01b038716845290915281205490919062000a15908290869062000f0c90879062003b07565b62001e1f565b336000908152600e602052604090205460ff1662000f445760405162461bcd60e51b815260040162000a53906200396a565b600062000f5f60245462000f58306200114e565b9062002385565b905062000e598162002393565b6005546001600160a01b0316331462000f995760405162461bcd60e51b815260040162000a539062003b1d565b670de0b6b3a76400006103e862000faf60025490565b62000fbc90600162003ac5565b62000fc8919062003b68565b62000fd4919062003b68565b8110156200100e5760405162461bcd60e51b815260040162000a539060208082526004908201526304d574c560e41b604082015260600190565b6200101c6012600a62003ab4565b62001028908262003ac5565b60105550565b336000908152600e602052604090205460ff16620010605760405162461bcd60e51b815260040162000a53906200396a565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa158015620010a8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620010ce919062003987565b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018390529192509084169063a9059cbb906044016020604051808303816000875af115801562001122573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001148919062003ae7565b50505050565b6001600160a01b031660009081526020819052604090205490565b6005546001600160a01b03163314620011965760405162461bcd60e51b815260040162000a539062003b1d565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6040516302a2e74960e61b81526001600160a01b0382811660048301526000919084169063a8b9d24090602401602060405180830381865afa1580156200122b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001251919062003987565b9392505050565b6060600480546200097c906200392e565b6005546001600160a01b03163314620012965760405162461bcd60e51b815260040162000a539062003b1d565b600a8811158015620012a95750600a8611155b620012b357600080fd5b601297909755601495909555601393909355601591909155601755601855601955601a55565b6005546001600160a01b03163314620013065760405162461bcd60e51b815260040162000a539062003b1d565b601f80546001600160a01b039485166001600160a01b031991821617909155602080549385169382169390931790925560218054919093169116179055565b3360008181526001602090815260408083206001600160a01b038716845290915281205490919083811015620013cc5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840162000a53565b62000c7d828686840362001e1f565b60003362000a15818585620021ca565b6005546001600160a01b03163314620014185760405162461bcd60e51b815260040162000a539062003b1d565b60078054911515600160b01b0260ff60b01b19909216919091179055565b6060600083118015620014495750600082115b6200147c5760405162461bcd60e51b8152602060048201526002602482015261494160f01b604482015260640162000a53565b6001600160a01b03841660009081526029602052604081205490620014a2858562003ac5565b90506000620014b2868362003b7f565b9050828110620014eb5760405162461bcd60e51b815260206004820152600360248201526227a7a960e91b604482015260640162000a53565b8583831115620015075783925062001504878462003b95565b90505b60008167ffffffffffffffff81111562001525576200152562003bac565b6040519080825280602002602001820160405280156200156c57816020015b6040805180820190915260008082526020820152815260200190600190039081620015445790505b5090506000835b858110156200162f576001600160a01b038b166000908152602960205260408120805483908110620015a957620015a962003bc2565b600091825260208083209091015480835260288252604092839020835180850190945280546001600160a01b0316845260010154918301919091528551909250859085908110620015fe57620015fe62003bc2565b60209081029190910101526200161660018462003b07565b9250508080620016269062003bd8565b91505062001573565b50909998505050505050505050565b6005546001600160a01b031633146200166b5760405162461bcd60e51b815260040162000a539062003b1d565b6001600160a01b03919091166000908152600c60205260409020805460ff1916911515919091179055565b600062000ca3601654620016b86015546013546200237790919063ffffffff16565b9062002377565b6005546001600160a01b03163314620016ec5760405162461bcd60e51b815260040162000a539062003b1d565b60005b8181101562000e5757600a546001600160a01b031683838381811062001719576200171962003bc2565b90506020020160208101906200173091906200367f565b6001600160a01b0316141580156200178757506007546001600160a01b031683838381811062001764576200176462003bc2565b90506020020160208101906200177b91906200367f565b6001600160a01b031614155b15620017e8576001600d6000858585818110620017a857620017a862003bc2565b9050602002016020810190620017bf91906200367f565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790555b80620017f48162003bd8565b915050620016ef565b600062000ca360245462000f58306200114e565b6005546001600160a01b031633146200183e5760405162461bcd60e51b815260040162000a539062003b1d565b600754600160a01b900460ff1615620018835760405162461bcd60e51b815260040162000a5390602080825260049082015263544f503160e01b604082015260600190565b6007546040805163c45a015560e01b815290516000926001600160a01b03169163c45a01559160048083019260209291908290030181865afa158015620018ce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620018f4919062003bf4565b6001600160a01b031663c9c6539630600760009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001957573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200197d919062003bf4565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620019cb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620019f1919062003bf4565b600a80546001600160a01b0319166001600160a01b0392831690811782556000908152600f60209081526040808320805460ff199081166001908117909255855487168552600b90935292819020805490921690921790556022549154905163031e79db60e41b815290831660048201529116906331e79db090602401600060405180830381600087803b15801562001a8957600080fd5b505af115801562001a9e573d6000803e3d6000fd5b5050505062001ab862001ab1306200114e565b4762002559565b600a5460075460405163095ea7b360e01b81526001600160a01b039182166004820152600019602482015291169063095ea7b3906044016020604051808303816000875af115801562001b0f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001b35919062003ae7565b50506007805460ff60a01b1916600160a01b17905543600855565b6005546001600160a01b0316331462001b7d5760405162461bcd60e51b815260040162000a539062003b1d565b6001600160a01b03919091166000908152600f60205260409020805460ff1916911515919091179055565b601e546040805163042cf12560e01b815290516000926001600160a01b03169163042cf1259160048083019260209291908290030181865afa15801562001bf3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000ca3919062003987565b6005546001600160a01b0316331462001c465760405162461bcd60e51b815260040162000a539062003b1d565b6001600160a01b03811662001cad5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840162000a53565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b336000908152600e602052604090205460ff1662001d3b5760405162461bcd60e51b815260040162000a53906200396a565b600062001d54602554476200238590919063ffffffff16565b9050600062001d8b62001d7460175460646200238590919063ffffffff16565b60185462001d849085906200266d565b906200267b565b9050600062001dbb62001dab60175460646200238590919063ffffffff16565b60195462001d849086906200266d565b9050600062001deb62001ddb60175460646200238590919063ffffffff16565b601a5462001d849087906200266d565b9050600062001e028262000f588581898962002385565b905062001e10848262002377565b935062000c4a84848462002689565b6001600160a01b03831662001e835760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840162000a53565b6001600160a01b03821662001ee65760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840162000a53565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b602380546001600160a01b0319166001600160a01b038481169182179092556040516302a2e74960e61b8152918316600483015260009163a8b9d24090602401602060405180830381865afa15801562001fa5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001fcb919062003987565b905060008111620020055760405162461bcd60e51b81526020600482015260036024820152621395d160ea1b604482015260640162000a53565b6023546040516352b5f81d60e01b81526001600160a01b0384811660048301819052602483015260009216906352b5f81d906044016020604051808303816000875af11580156200205a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002080919062003987565b9050801562001148576023546040516338c110ef60e21b81526001600160a01b038581166004830152600060248301529091169063e30443bc90604401600060405180830381600087803b158015620020d857600080fd5b505af1158015620020ed573d6000803e3d6000fd5b5050604080518481526001600160a01b03871660208201527fbbce8dfb9d001c8d2f18150456d967d46aa35b6703300e5067e226a088a773ff935001905060405180910390a150505050565b6001600160a01b038381166000908152600160209081526040808320938616835292905220546000198114620011485781811015620021bb5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640162000a53565b62001148848484840362001e1f565b6001600160a01b0383166000908152600d602052604090205460ff161580156200220d57506001600160a01b0382166000908152600d602052604090205460ff16155b6200221757600080fd5b6007548190600160a01b900460ff1680156200226e57506001600160a01b0384166000908152600b602052604090205460ff16806200226e57506001600160a01b0383166000908152600b602052604090205460ff165b80156200229457506001600160a01b0384166000908152600c602052604090205460ff16155b8015620022ba57506001600160a01b0383166000908152600c602052604090205460ff16155b15620022d057620022cd8484846200279b565b90505b6001600160a01b0383166000908152600b602052604090205460ff161580156200231357506001600160a01b0383166000908152600f602052604090205460ff16155b156200236a576010548162002328856200114e565b62002334919062003b07565b11156200236a5760405162461bcd60e51b815260206004820152600360248201526215d09360ea1b604482015260640162000a53565b6200114884848362002f4f565b600062001251828462003b07565b600062001251828462003b7f565b6040805160028082526060820183526000924792849290916020830190803683370190505090503081600081518110620023d157620023d162003bc2565b6001600160a01b03928316602091820292909201810191909152600754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156200242b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002451919062003bf4565b8160018151811062002467576200246762003bc2565b6001600160a01b0392831660209182029290920101526007546200248f913091168662001e1f565b60075460405163791ac94760e01b81526001600160a01b039091169063791ac94790620024ca90879060009086903090429060040162003c14565b600060405180830381600087803b158015620024e557600080fd5b505af1158015620024fa573d6000803e3d6000fd5b5050505060006200251583476200238590919063ffffffff16565b60408051878152602081018390529192507f4a6c12eb4e479a4ea28c8acad8efde466ef9bf69cf473501dd76865234496273910160405180910390a1949350505050565b600754620025739030906001600160a01b03168462001e1f565b6007546001600160a01b031663f305d7198230856000806200259d6005546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801562002606573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906200262d919062003c87565b505060408051848152602081018490527fcb1652de9aeec38545fc281847b3dbfc89aab56dfa907b1ab68466f602c36fb492500160405180910390a15050565b600062001251828462003ac5565b600062001251828462003b68565b8215620026cd57601f546040516001600160a01b039091169084156108fc029085906000818181858888f19350505050158015620026cb573d6000803e3d6000fd5b505b811562002711576020546040516001600160a01b039091169083156108fc029084906000818181858888f193505050501580156200270f573d6000803e3d6000fd5b505b801562002755576021546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801562002753573d6000803e3d6000fd5b505b60408051848152602081018490529081018290527f125472b1b527506b5b8381590760f796fd9c88ba5886399d71abc083c6dafa209060600160405180910390a1505050565b6001600160a01b0383166000908152600b60205260408120548190819060ff1680620027df57506001600160a01b0385166000908152600b602052604090205460ff165b620028135760405162461bcd60e51b81526020600482015260036024820152624e4d4d60e81b604482015260640162000a53565b6001600160a01b0386166000908152600b602052604090205460ff161562002c4457600060095460085462002849919062003b07565b43116200285a57506011546200286e565b6014546012546200286b9162002377565b90505b62002880606462001d8487846200266d565b92506000620028a1606462001d84601454896200266d90919063ffffffff16565b602454909150620028b3908262002377565b602455620028c2868562002385565b9250620028d188308662002f4f565b601c54861062002b5757600754600160b01b900460ff161562002b5757600754600160a81b900460ff16620029065760006016555b601e546040516370d569f960e01b81526001600160a01b038981166004830152909116906370d569f990602401602060405180830381865afa15801562002951573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002977919062003ae7565b62002a6c57601e54604051630cd2d3a360e31b81526001600160a01b038981166004830152909116906366969d1890602401600060405180830381600087803b158015620029c457600080fd5b505af1158015620029d9573d6000803e3d6000fd5b5050602254604051630a6b8b1760e31b81526001600160a01b038b81166004830152909116925063535c58b89150602401602060405180830381865afa15801562002a28573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002a4e919062003ae7565b62002a6c5760225462002a6c9088906001600160a01b03166200313b565b6022546001600160a01b03166318c18adb8862002a8e86620016b8836200114e565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801562002ad557600080fd5b505af115801562002aea573d6000803e3d6000fd5b505060225460405163e64b4c1160e01b81526001600160a01b038b8116600483015260006024830152909116925063e64b4c119150604401600060405180830381600087803b15801562002b3d57600080fd5b505af115801562002b52573d6000803e3d6000fd5b505050505b601d54601e60009054906101000a90046001600160a01b03166001600160a01b031663042cf1256040518163ffffffff1660e01b8152600401602060405180830381865afa15801562002bae573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002bd4919062003987565b1062002bf3576007805460ff60a81b1916600160a81b17905560106016555b604080516001600160a01b038a1681523060208201529081018590527f6b0b46d0273ce53f1de696d2100b35dd3a405dcecbcbeede66215d858d5c401d9060600160405180910390a1505062002f46565b600060095460085462002c58919062003b07565b431162002c69575060115462002c99565b62002c89601654620016b86015546013546200237790919063ffffffff16565b9050601581111562002c99575060155b62002cab606462001d8487846200266d565b6016549093501562002d155760165460009062002cca9060046200267b565b9050600062002cf7606462001d8462002cef856015546200237790919063ffffffff16565b8a906200266d565b60245490915062002d09908262002377565b6024555062002d4b9050565b600062002d34606462001d84601554896200266d90919063ffffffff16565b60245490915062002d46908262002377565b602455505b62002d57858462002385565b915062002d6687308562002f4f565b601e546040516302b748bb60e01b81526001600160a01b038981166004830152909116906302b748bb90602401600060405180830381600087803b15801562002dae57600080fd5b505af115801562002dc3573d6000803e3d6000fd5b50506022546040516338c110ef60e21b81526001600160a01b038b8116600483015260006024830152909116925063e30443bc9150604401600060405180830381600087803b15801562002e1657600080fd5b505af115801562002e2b573d6000803e3d6000fd5b505060225460405163e64b4c1160e01b81526001600160a01b038b8116600483015260016024830152909116925063e64b4c119150604401600060405180830381600087803b15801562002e7e57600080fd5b505af115801562002e93573d6000803e3d6000fd5b50505050600062002eab60245462000f58306200114e565b9050601b548111801562002ec95750600754600160a81b900460ff16155b1562002eda5762002eda81620031a9565b600754600160a81b900460ff161562002efa5762002efa602454620032e1565b604080516001600160a01b038a1681523060208201529081018590527f4ab5e0df8ff1605133dbdd1b8e3f52edb9539abe64595f6f70b30d2fea7f204a9060600160405180910390a150505b95945050505050565b6001600160a01b03831662002fb55760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840162000a53565b6001600160a01b038216620030195760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840162000a53565b6200302683838362000e57565b6001600160a01b03831660009081526020819052604090205481811015620030a05760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840162000a53565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290620030d990849062003b07565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516200312691815260200190565b60405180910390a36200114884848462000e57565b6200314a602780546001019055565b60006200315660275490565b600081815260286020908152604080832080546001600160a01b0319166001600160a01b039788161781554260019182015596909516825260298152938120805495860181558152929092209092015550565b6000620031c8606462001d84601754856200266d90919063ffffffff16565b90506000620031d98260026200267b565b90506000620031e9848362002385565b90506000620031f88262002393565b9050600062003219606462001d84601754856200266d90919063ffffffff16565b905060006200323a606462001d84601854866200266d90919063ffffffff16565b905060006200325b606462001d84601954876200266d90919063ffffffff16565b905060006200327c606462001d84601a54886200266d90919063ffffffff16565b90506000620032958262000f58858188818c8c62002385565b9050620032a3848262002377565b9350620032b284848462002689565b600088118015620032c35750600085115b15620032d557620032d5888662002559565b50505050505050505050565b602254620032fa9030906001600160a01b03166200313b565b6000620033078262002393565b60245490915062003319908362002385565b6024556022546040516000916001600160a01b03169083908381818185875af1925050503d80600081146200336b576040519150601f19603f3d011682016040523d82523d6000602084013e62003370565b606091505b50509050801562003492576040518281527f16dd7bdaf5fc2655ed1863e0a3b3245ca7aa7e763a7c749af605df4100bb442b9060200160405180910390a1602260009054906101000a90046001600160a01b03166001600160a01b03166303c833026040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620033ff57600080fd5b505af115801562003414573d6000803e3d6000fd5b50505050602260009054906101000a90046001600160a01b03166001600160a01b0316639f73435d6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200346957600080fd5b505af11580156200347e573d6000803e3d6000fd5b505050506200348c620034c5565b620034ae565b602554620034a1908362002377565b602555620034ae620034c5565b602654620034bd908362002377565b602655505050565b6007805460ff60a81b19169055601e80546001600160a01b0319169055604051620034f0906200357c565b604051809103906000f0801580156200350d573d6000803e3d6000fd5b50601e80546001600160a01b0319166001600160a01b03929092169190911790556040516200353c906200358a565b604051809103906000f08015801562003559573d6000803e3d6000fd5b50602280546001600160a01b0319166001600160a01b0392909216919091179055565b6105b78062003cb783390190565b611d22806200426e83390190565b600060208083528351808285015260005b81811015620035c757858101830151858201604001528201620035a9565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811462000c5d57600080fd5b600080604083850312156200361257600080fd5b82356200361f81620035e8565b946020939093013593505050565b6000806000606084860312156200364357600080fd5b83356200365081620035e8565b925060208401356200366281620035e8565b915060408401356200367481620035e8565b809150509250925092565b6000602082840312156200369257600080fd5b81356200125181620035e8565b600080600060608486031215620036b557600080fd5b8335620036c281620035e8565b92506020840135620036d481620035e8565b929592945050506040919091013590565b600080600060608486031215620036fb57600080fd5b505081359360208301359350604090920135919050565b801515811462000c5d57600080fd5b6000602082840312156200373457600080fd5b8135620012518162003712565b6000602082840312156200375457600080fd5b5035919050565b600080604083850312156200376f57600080fd5b82356200377c81620035e8565b915060208301356200378e81620035e8565b809150509250929050565b600080600080600080600080610100898b031215620037b757600080fd5b505086359860208801359850604088013597606081013597506080810135965060a0810135955060c0810135945060e0013592509050565b6000806000606084860312156200380557600080fd5b83356200381281620035e8565b95602085013595506040909401359392505050565b602080825282518282018190526000919060409081850190868401855b828110156200387457815180516001600160a01b0316855286015186850152928401929085019060010162003844565b5091979650505050505050565b600080604083850312156200389557600080fd5b8235620038a281620035e8565b915060208301356200378e8162003712565b60008060208385031215620038c857600080fd5b823567ffffffffffffffff80821115620038e157600080fd5b818501915085601f830112620038f657600080fd5b8135818111156200390657600080fd5b8660208260051b85010111156200391c57600080fd5b60209290920196919550909350505050565b600181811c908216806200394357607f821691505b6020821081036200396457634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526003908201526255544360e81b604082015260600190565b6000602082840312156200399a57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620039f8578160001904821115620039dc57620039dc620039a1565b80851615620039ea57918102915b93841c9390800290620039bc565b509250929050565b60008262003a115750600162000a1b565b8162003a205750600062000a1b565b816001811462003a39576002811462003a445762003a64565b600191505062000a1b565b60ff84111562003a585762003a58620039a1565b50506001821b62000a1b565b5060208310610133831016604e8410600b841016171562003a89575081810a62000a1b565b62003a958383620039b7565b806000190482111562003aac5762003aac620039a1565b029392505050565b60006200125160ff84168362003a00565b600081600019048311821515161562003ae25762003ae2620039a1565b500290565b60006020828403121562003afa57600080fd5b8151620012518162003712565b8082018082111562000a1b5762000a1b620039a1565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601260045260246000fd5b60008262003b7a5762003b7a62003b52565b500490565b8181038181111562000a1b5762000a1b620039a1565b60008262003ba75762003ba762003b52565b500690565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b60006001820162003bed5762003bed620039a1565b5060010190565b60006020828403121562003c0757600080fd5b81516200125181620035e8565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101562003c665784516001600160a01b03168352938301939183019160010162003c3f565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121562003c9d57600080fd5b835192506020840151915060408401519050925092509256fe608060405234801561001057600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36105588061005f6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806370d569f91161005b57806370d569f9146100e3578063715018a61461011f5780638da5cb5b14610127578063f2fde38b1461014257600080fd5b806302b748bb1461008d578063042cf125146100a257806366969d18146100bd57806368cf72f0146100d0575b600080fd5b6100a061009b36600461048f565b610155565b005b6100aa6101da565b6040519081526020015b60405180910390f35b6100a06100cb36600461048f565b6101ea565b6100a06100de3660046104b1565b610269565b61010f6100f136600461048f565b6001600160a01b031660009081526003602052604090205460ff1690565b60405190151581526020016100b4565b6100a06102be565b6000546040516001600160a01b0390911681526020016100b4565b6100a061015036600461048f565b610332565b6000546001600160a01b031633146101885760405162461bcd60e51b815260040161017f906104ed565b60405180910390fd5b6001600160a01b03811660009081526003602052604090205460ff1615156001036101d7576001600160a01b0381166000908152600360205260409020805460ff191690556101d7600261041c565b50565b60006101e560025490565b905090565b6000546001600160a01b031633146102145760405162461bcd60e51b815260040161017f906104ed565b6001600160a01b03811660009081526003602052604081205460ff16151590036101d7576001600160a01b0381166000908152600360205260409020805460ff191660011790556101d7600280546001019055565b6000546001600160a01b031633146102935760405162461bcd60e51b815260040161017f906104ed565b6001600160a01b03919091166000908152600360205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146102e85760405162461bcd60e51b815260040161017f906104ed565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461035c5760405162461bcd60e51b815260040161017f906104ed565b6001600160a01b0381166103c15760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161017f565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b80548061046b5760405162461bcd60e51b815260206004820152601b60248201527f436f756e7465723a2064656372656d656e74206f766572666c6f770000000000604482015260640161017f565b600019019055565b80356001600160a01b038116811461048a57600080fd5b919050565b6000602082840312156104a157600080fd5b6104aa82610473565b9392505050565b600080604083850312156104c457600080fd5b6104cd83610473565b9150602083013580151581146104e257600080fd5b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260408201526060019056fea2646970667358221220ad1ac1045809f3246740743ae1d9695cd3905b1e65eb070aa4aae873e663ce2564736f6c6343000810003360806040526011805460ff191690553480156200001b57600080fd5b5060408051808201825260168082527f477233336e5f4469766964656e645f547261636b6572000000000000000000006020808401829052845180860190955291845290830152908181600362000073838262000174565b50600462000082828262000174565b5050600a80546001600160a01b03191633908117909155604051909350600092507f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091508290a362000240565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000fa57607f821691505b6020821081036200011b57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200016f57600081815260208120601f850160051c810160208610156200014a5750805b601f850160051c820191505b818110156200016b5782815560010162000156565b5050505b505050565b81516001600160401b03811115620001905762000190620000cf565b620001a881620001a18454620000e5565b8462000121565b602080601f831160018114620001e05760008415620001c75750858301515b600019600386901b1c1916600185901b1785556200016b565b600085815260208120601f198616915b828110156200021157888601518255948401946001909101908401620001f0565b5085821015620002305787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b611ad280620002506000396000f3fe60806040526004361061021e5760003560e01c8063737b621c11610123578063a8b9d240116100ab578063e30443bc1161006f578063e30443bc14610676578063e432b39514610696578063e64b4c11146106ac578063f2fde38b146106cc578063fbcbc0f1146106ec57600080fd5b8063a8b9d240146105a4578063a9059cbb146105c4578063aafd847a146105e4578063b9c7bbbc1461061a578063dd62ed3e1461063057600080fd5b806391b89fba116100f257806391b89fba1461050d57806395d89b411461052d5780639f73435d14610542578063a457c2d714610557578063a4dd89021461057757600080fd5b8063737b621c14610485578063778ccc821461049f57806385a6b3ae146104cf5780638da5cb5b146104e557600080fd5b806331e79db0116101a657806352b5f81d1161017557806352b5f81d146103e5578063535c58b8146104055780636a4740021461042557806370a082311461043a578063715018a61461047057600080fd5b806331e79db014610355578063369513561461037557806339509351146103955780634e7b827f146103b557600080fd5b806318160ddd116101ed57806318160ddd146102c457806318c18adb146102d957806323b872dd146102f957806327ce014714610319578063313ce5671461033957600080fd5b806303c833021461023c57806306fdde0314610246578063095ea7b31461027157806309bbedde146102a157600080fd5b36610237576008546102309034610721565b6008819055005b600080fd5b610244610736565b005b34801561025257600080fd5b5061025b610860565b60405161026891906117fe565b60405180910390f35b34801561027d57600080fd5b5061029161028c366004611864565b6108f2565b6040519015158152602001610268565b3480156102ad57600080fd5b506102b661090a565b604051908152602001610268565b3480156102d057600080fd5b506002546102b6565b3480156102e557600080fd5b506102446102f4366004611864565b61091a565b34801561030557600080fd5b50610291610314366004611890565b6109fb565b34801561032557600080fd5b506102b66103343660046118d1565b610a1f565b34801561034557600080fd5b5060405160128152602001610268565b34801561036157600080fd5b506102446103703660046118d1565b610a7b565b34801561038157600080fd5b506102916103903660046118d1565b610b59565b3480156103a157600080fd5b506102916103b0366004611864565b610ba5565b3480156103c157600080fd5b506102916103d03660046118d1565b600e6020526000908152604090205460ff1681565b3480156103f157600080fd5b506102b66104003660046118f5565b610be4565b34801561041157600080fd5b506102916104203660046118d1565b610c41565b34801561043157600080fd5b50610244610c8d565b34801561044657600080fd5b506102b66104553660046118d1565b6001600160a01b031660009081526020819052604090205490565b34801561047c57600080fd5b50610244610d31565b34801561049157600080fd5b506011546102919060ff1681565b3480156104ab57600080fd5b506102916104ba3660046118d1565b600f6020526000908152604090205460ff1681565b3480156104db57600080fd5b506102b660095481565b3480156104f157600080fd5b50600a546040516001600160a01b039091168152602001610268565b34801561051957600080fd5b506102b66105283660046118d1565b610da5565b34801561053957600080fd5b5061025b610db0565b34801561054e57600080fd5b50610244610dbf565b34801561056357600080fd5b50610291610572366004611864565b610dfc565b34801561058357600080fd5b506102b66105923660046118d1565b60106020526000908152604090205481565b3480156105b057600080fd5b506102b66105bf3660046118d1565b610e8e565b3480156105d057600080fd5b506102916105df366004611864565b610eba565b3480156105f057600080fd5b506102b66105ff3660046118d1565b6001600160a01b031660009081526007602052604090205490565b34801561062657600080fd5b506102b660085481565b34801561063c57600080fd5b506102b661064b3660046118f5565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561068257600080fd5b50610244610691366004611864565b610ec8565b3480156106a257600080fd5b506102b660125481565b3480156106b857600080fd5b506102446106c736600461192e565b610f75565b3480156106d857600080fd5b506102446106e73660046118d1565b610fca565b3480156106f857600080fd5b5061070c6107073660046118d1565b6110b5565b60408051928352602083019190915201610268565b600061072d8284611977565b90505b92915050565b600061074160025490565b1161074b57600080fd5b6000600854116107c85760405162461bcd60e51b815260206004820152603960248201527f546865726520617265206e6f206469766964656e64732063757272656e746c7960448201527f20617661696c61626c6520746f20646973747269627574652e0000000000000060648201526084015b60405180910390fd5b6008541561085e576108006107dc60025490565b6008546107ed90600160801b6110e2565b6107f7919061198a565b60055490610721565b60055560085460405190815233907fa493a9229478c3fcd73f66d2cdeb7f94fd0f341da924d1054236d784541165119060200160405180910390a260085460095461084a91610721565b60095560085461085a90806110ee565b6008555b565b60606003805461086f906119ac565b80601f016020809104026020016040519081016040528092919081815260200182805461089b906119ac565b80156108e85780601f106108bd576101008083540402835291602001916108e8565b820191906000526020600020905b8154815290600101906020018083116108cb57829003601f168201915b5050505050905090565b6000336109008185856110fa565b5060019392505050565b6000610915600c5490565b905090565b600a546001600160a01b031633146109445760405162461bcd60e51b81526004016107bf906119e6565b6001600160a01b0382166000908152600e60205260409020805460ff1916905561096e828261115c565b6001600160a01b0382166000908152600d602052604081205460ff16151590036109c3576001600160a01b0382166000908152600d60205260409020805460ff191660011790556109c3600c80546001019055565b6040516001600160a01b038316907fa878b31040b2e6d0a9a3d3361209db3908ba62014b0dca52adbaee451d128b2590600090a25050565b600033610a098582856111bb565b610a14858585611247565b506001949350505050565b6001600160a01b03811660009081526006602090815260408083205491839052822054600554600160801b92610a7192610a6c92610a6691610a6191906110e2565b6112a4565b90611312565b61131e565b610730919061198a565b600a546001600160a01b03163314610aa55760405162461bcd60e51b81526004016107bf906119e6565b6001600160a01b0381166000908152600e60205260408120805460ff19166001179055610ad390829061115c565b6001600160a01b0381166000908152600d602052604090205460ff161515600103610b22576001600160a01b0381166000908152600d60205260409020805460ff19169055610b22600c611370565b6040516001600160a01b038216907fa878b31040b2e6d0a9a3d3361209db3908ba62014b0dca52adbaee451d128b2590600090a250565b600a546000906001600160a01b03163314610b865760405162461bcd60e51b81526004016107bf906119e6565b506001600160a01b03166000908152600e602052604090205460ff1690565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091906109009082908690610bdf908790611977565b6110fa565b600a546000906001600160a01b03163314610c115760405162461bcd60e51b81526004016107bf906119e6565b6000610c1d84846113c7565b6001600160a01b038516600090815260106020526040902042905591505092915050565b600a546000906001600160a01b03163314610c6e5760405162461bcd60e51b81526004016107bf906119e6565b506001600160a01b03166000908152600f602052604090205460ff1690565b60405162461bcd60e51b815260206004820152606760248201527f477233336e5f4469766964656e645f547261636b65723a20776974686472617760448201527f4469766964656e642064697361626c65642e20557365207468652027636c616960648201527f6d272066756e6374696f6e206f6e20746865206d61696e20477233336e20636f608482015266373a3930b1ba1760c91b60a482015260c4016107bf565b600a546001600160a01b03163314610d5b5760405162461bcd60e51b81526004016107bf906119e6565b600a546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600a80546001600160a01b0319169055565b600061073082610e8e565b60606004805461086f906119ac565b600a546001600160a01b03163314610de95760405162461bcd60e51b81526004016107bf906119e6565b6011805460ff1916600117905542601255565b3360008181526001602090815260408083206001600160a01b038716845290915281205490919083811015610e815760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016107bf565b610a1482868684036110fa565b6001600160a01b03811660009081526007602052604081205461073090610eb484610a1f565b906110ee565b600033610900818585611247565b600a546001600160a01b03163314610ef25760405162461bcd60e51b81526004016107bf906119e6565b6001600160a01b0382166000908152600e602052604090205460ff16610f7157610f1c828261115c565b6001600160a01b0382166000908152600d602052604081205460ff1615159003610f71576001600160a01b0382166000908152600d60205260409020805460ff19166001179055610f71600c80546001019055565b5050565b600a546001600160a01b03163314610f9f5760405162461bcd60e51b81526004016107bf906119e6565b6001600160a01b03919091166000908152600f60205260409020805460ff1916911515919091179055565b600a546001600160a01b03163314610ff45760405162461bcd60e51b81526004016107bf906119e6565b6001600160a01b0381166110595760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107bf565b600a546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600a80546001600160a01b0319166001600160a01b0392909216919091179055565b6000806110c183610e8e565b6001600160a01b039093166000908152600760205260409020549293915050565b600061072d8284611a1b565b600061072d8284611a3a565b60405162461bcd60e51b815260206004820152602c60248201527f477233336e5f4469766964656e645f547261636b65723a204e6f20617070726f60448201526b1d985b1cc8185b1b1bddd95960a21b60648201526084016107bf565b505050565b6001600160a01b0382166000908152602081905260409020548082111561119b57600061118983836110ee565b9050611195848261151d565b50505050565b808210156111575760006111af82846110ee565b90506111958482611581565b6001600160a01b038381166000908152600160209081526040808320938616835292905220546000198114611195578181101561123a5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016107bf565b61119584848484036110fa565b60405162461bcd60e51b815260206004820152602c60248201527f477233336e5f4469766964656e645f547261636b65723a204e6f207472616e7360448201526b19995c9cc8185b1b1bddd95960a21b60648201526084016107bf565b60006001600160ff1b0382111561130e5760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b60648201526084016107bf565b5090565b600061072d8284611a4d565b60008082121561130e5760405162461bcd60e51b815260206004820181905260248201527f53616665436173743a2076616c7565206d75737420626520706f73697469766560448201526064016107bf565b8054806113bf5760405162461bcd60e51b815260206004820152601b60248201527f436f756e7465723a2064656372656d656e74206f766572666c6f77000000000060448201526064016107bf565b600019019055565b6000806113d384610e8e565b90508015611513576001600160a01b0384166000908152600760205260409020546113fe9082610721565b6001600160a01b038516600081815260076020526040908190209290925590517feb063efb53b3790d2bc15284b59af7544466c8787c2883321ee27095647911b69061145f90849087909182526001600160a01b0316602082015260400190565b60405180910390a26000836001600160a01b03168260405160006040518083038185875af1925050503d80600081146114b4576040519150601f19603f3d011682016040523d82523d6000602084013e6114b9565b606091505b505090508061150b576001600160a01b0385166000908152600760205260409020546114e590836110ee565b6001600160a01b0386166000908152600760205260408120919091559250610730915050565b509050610730565b5060009392505050565b61152782826115c5565b611561611542610a61836005546110e290919063ffffffff16565b6001600160a01b038416600090815260066020526040902054906116a4565b6001600160a01b0390921660009081526006602052604090209190915550565b61158b82826116b0565b6115616115a6610a61836005546110e290919063ffffffff16565b6001600160a01b03841660009081526006602052604090205490611312565b6001600160a01b03821661161b5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016107bf565b806002600082825461162d9190611977565b90915550506001600160a01b0382166000908152602081905260408120805483929061165a908490611977565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b600061072d8284611a75565b6001600160a01b0382166117105760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016107bf565b6001600160a01b038216600090815260208190526040902054818110156117845760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016107bf565b6001600160a01b03831660009081526020819052604081208383039055600280548492906117b3908490611a3a565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050565b600060208083528351808285015260005b8181101561182b5785810183015185820160400152820161180f565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461186157600080fd5b50565b6000806040838503121561187757600080fd5b82356118828161184c565b946020939093013593505050565b6000806000606084860312156118a557600080fd5b83356118b08161184c565b925060208401356118c08161184c565b929592945050506040919091013590565b6000602082840312156118e357600080fd5b81356118ee8161184c565b9392505050565b6000806040838503121561190857600080fd5b82356119138161184c565b915060208301356119238161184c565b809150509250929050565b6000806040838503121561194157600080fd5b823561194c8161184c565b91506020830135801515811461192357600080fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561073057610730611961565b6000826119a757634e487b7160e01b600052601260045260246000fd5b500490565b600181811c908216806119c057607f821691505b6020821081036119e057634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000816000190483118215151615611a3557611a35611961565b500290565b8181038181111561073057610730611961565b8082018281126000831280158216821582161715611a6d57611a6d611961565b505092915050565b8181036000831280158383131683831282161715611a9557611a95611961565b509291505056fea2646970667358221220fe1f0584dc2d755e9f6900dfbc3536ec3121942214310e0d9ec7eb947324d41664736f6c63430008100033a264697066735822122029cf0bad5c235e0bb8c228226fbf7c95a5104ef7be17edce685235ab3bf70b8964736f6c63430008100033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000001d0991e7438e8c02e2b38f110af452fe72c66ed50000000000000000000000001b39365411f37912ba8c6a8a3d375c08572c0af5000000000000000000000000f04b33667d0930b4edb8435cc264fe6687e839e3
-----Decoded View---------------
Arg [0] : _devWalletAddress (address): 0x1d0991E7438e8C02E2b38f110Af452FE72c66eD5
Arg [1] : _teamWalletAddress (address): 0x1B39365411f37912BA8c6A8A3D375C08572C0AF5
Arg [2] : _buyBackWalletAddress (address): 0xf04b33667D0930b4edB8435CC264FE6687E839E3
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000001d0991e7438e8c02e2b38f110af452fe72c66ed5
Arg [1] : 0000000000000000000000001b39365411f37912ba8c6a8a3d375c08572c0af5
Arg [2] : 000000000000000000000000f04b33667d0930b4edb8435cc264fe6687e839e3
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.