ERC-20
Source Code
Overview
Max Total Supply
1,000,000,000 GODL
Holders
507
Transfers
-
0
Market
Onchain Market Cap
-
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
UI Multiplier changes (based on UIMultiplierUpdated event). Displayed token amounts are scaled by the active multiplier.
| Transaction Hash | Block | Multiplier | Status |
|---|
| # | Exchange | Pair | Price | 24H Volume | % Volume |
|---|
Contract Source Code (Solidity Multiple files format)
Contract Security Audit
No Contract Security Audit SubmittedSubmit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"newValue","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"oldValue","type":"uint256"}],"name":"GasForProcessingUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"newValue","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"oldValue","type":"uint256"}],"name":"LiquidationThresholdUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newLiquidityWallet","type":"address"},{"indexed":true,"internalType":"address","name":"oldLiquidityWallet","type":"address"}],"name":"LiquidityWalletUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"Liquified","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"iterations","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"claims","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"lastProcessedIndex","type":"uint256"},{"indexed":true,"internalType":"bool","name":"automatic","type":"bool"},{"indexed":false,"internalType":"uint256","name":"gas","type":"uint256"},{"indexed":true,"internalType":"address","name":"processor","type":"address"}],"name":"ProcessedDividendTracker","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"SentDividends","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetAutomatedMarketMakerPair","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"newValue","type":"bool"},{"indexed":false,"internalType":"bool","name":"oldValue","type":"bool"}],"name":"ToggledAntiBot","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"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAddress","type":"address"},{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"}],"name":"UpdatedAntiBot","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAddress","type":"address"},{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"}],"name":"UpdatedDividendTracker","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAddress","type":"address"},{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"}],"name":"UpdatedUniswapV2Router","type":"event"},{"inputs":[],"name":"ETH_REWARDS_FEE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"LIQUIDITY_FEE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_SELL_TRANSACTION_AMOUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TOTAL_FEES","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"activate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"allowTransferBeforeTradingIsEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"automatedMarketMakerPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"canTransferBeforeTradingIsEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claim","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":[{"internalType":"address","name":"account","type":"address"}],"name":"dividendTokenBalanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dividendTracker","outputs":[{"internalType":"contract GODLDividendTracker","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"gasForProcessing","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getAccountDividendsInfo","outputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"int256","name":"","type":"int256"},{"internalType":"int256","name":"","type":"int256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getAccountDividendsInfoAtIndex","outputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"int256","name":"","type":"int256"},{"internalType":"int256","name":"","type":"int256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getClaimWait","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getGasForTransfer","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getLastProcessedIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNumberOfDividendTokenHolders","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalDividendsDistributed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidateTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"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":[{"internalType":"uint256","name":"gas","type":"uint256"}],"name":"processDividendTracker","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"toggleAntiBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"updateAntiBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"claimWait","type":"uint256"}],"name":"updateClaimWait","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"updateDividendTracker","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newValue","type":"uint256"}],"name":"updateGasForProcessing","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"gasForTransfer","type":"uint256"}],"name":"updateGasForTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newValue","type":"uint256"}],"name":"updateLiquidationThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newLiquidityWallet","type":"address"}],"name":"updateLiquidityWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"updateUniswapV2Router","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"useAntiBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"withdrawableDividendOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
60a06040526006805460ff60a01b1916600160a01b179055620249f0600a5569152d02c7e14af6800000600b553480156200003957600080fd5b5060408051808201825260048082526311d3d11360e21b602080840182815285518087019096529285528401528151919291620000799160039162000975565b5080516200008f90600490602084019062000975565b5050506000620000a4620005a560201b60201c565b600580546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350620001006003600562000a52565b6008146200011e57634e487b7160e01b600052600160045260246000fd5b6040516200012c9062000a04565b604051809103906000f08015801562000149573d6000803e3d6000fd5b50600880546001600160a01b03199081166001600160a01b0393841617909155600554600980549190931691161790556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d91600091839163c45a0155916004808301926020929190829003018186803b158015620001ca57600080fd5b505afa158015620001df573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000205919062000a29565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200024e57600080fd5b505afa15801562000263573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000289919062000a29565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015620002d257600080fd5b505af1158015620002e7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200030d919062000a29565b6006805473cd5312d086f078d1554e8813c27cf6c9d1c3d9b36001600160a01b03199182168117909255600780549091166001600160a01b038616179055606082901b6001600160601b0319166080529091506200036d826001620005a9565b60085460405163031e79db60e41b81526001600160a01b0390911660048201819052906331e79db090602401600060405180830381600087803b158015620003b457600080fd5b505af1158015620003c9573d6000803e3d6000fd5b505060085460405163031e79db60e41b81523060048201526001600160a01b0390911692506331e79db09150602401600060405180830381600087803b1580156200041357600080fd5b505af115801562000428573d6000803e3d6000fd5b50506008546001600160a01b031691506331e79db09050620004526005546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200049457600080fd5b505af1158015620004a9573d6000803e3d6000fd5b505060085460405163031e79db60e41b81526001600160a01b03878116600483015290911692506331e79db09150602401600060405180830381600087803b158015620004f557600080fd5b505af11580156200050a573d6000803e3d6000fd5b50506009546200052692506001600160a01b0316905062000710565b620005313062000710565b6001600e60006200054a6005546001600160a01b031690565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790556200059c620005896005546001600160a01b031690565b6b033b2e3c9fd0803ce80000006200080f565b50505062000ab4565b3390565b6001600160a01b0382166000908152600f602052604090205460ff1615158115151415620006445760405162461bcd60e51b815260206004820152603e60248201527f474f444c3a204175746f6d61746564206d61726b6574206d616b65722070616960448201527f7220697320616c72656164792073657420746f20746861742076616c7565000060648201526084015b60405180910390fd5b6001600160a01b0382166000908152600f60205260409020805460ff19168215801591909117909155620006d45760085460405163031e79db60e41b81526001600160a01b038481166004830152909116906331e79db090602401600060405180830381600087803b158015620006ba57600080fd5b505af1158015620006cf573d6000803e3d6000fd5b505050505b604051811515906001600160a01b038416907fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab90600090a35050565b6005546001600160a01b031633146200076c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016200063b565b6001600160a01b0381166000908152600d602052604090205460ff1615620007eb5760405162461bcd60e51b815260206004820152602b60248201527f474f444c3a204163636f756e7420697320616c7265616479206578636c75646560448201526a642066726f6d206665657360a81b60648201526084016200063b565b6001600160a01b03166000908152600d60205260409020805460ff19166001179055565b6001600160a01b038216620008675760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016200063b565b62000883816002546200090b60201b62001e311790919060201c565b6002556001600160a01b03821660009081526020818152604090912054620008b691839062001e316200090b821b17901c565b6001600160a01b038316600081815260208181526040808320949094559251848152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6000806200091a838562000a52565b9050838110156200096e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016200063b565b9392505050565b828054620009839062000a77565b90600052602060002090601f016020900481019282620009a75760008555620009f2565b82601f10620009c257805160ff1916838001178555620009f2565b82800160010185558215620009f2579182015b82811115620009f2578251825591602001919060010190620009d5565b5062000a0092915062000a12565b5090565b6123568062003fcf83390190565b5b8082111562000a00576000815560010162000a13565b60006020828403121562000a3b578081fd5b81516001600160a01b03811681146200096e578182fd5b6000821982111562000a7257634e487b7160e01b81526011600452602481fd5b500190565b600181811c9082168062000a8c57607f821691505b6020821081141562000aae57634e487b7160e01b600052602260045260246000fd5b50919050565b60805160601c6134d962000af66000396000818161050101528181611632015281816120b5015281816120f001528181612154015261221e01526134d96000f3fe60806040526004361061031e5760003560e01c80638649847c116101ab578063ad56c13c116100f7578063e37ba8f911610095578063e98030c71161006f578063e98030c71461099e578063f27fd254146109be578063f2fde38b146109de578063fd5db2af146109fe57600080fd5b8063e37ba8f914610949578063e57f14e114610969578063e7841ec01461098957600080fd5b8063c816e4b6116100d1578063c816e4b6146108ad578063d3b5be1a146108c3578063d4698016146108e3578063dd62ed3e1461090357600080fd5b8063ad56c13c14610803578063af74ff5b14610868578063b62496f51461087d57600080fd5b80639a7a23d611610164578063a26579ad1161013e578063a26579ad1461078e578063a457c2d7146107a3578063a8b9d240146107c3578063a9059cbb146107e357600080fd5b80639a7a23d6146107385780639c1b8af5146107585780639d55d16f1461076e57600080fd5b80638649847c14610690578063871c128d146106b057806388bdd9be146106d05780638da5cb5b146106f057806392ca1e8d1461070e57806395d89b411461072357600080fd5b806345b08aa11161026a57806364b0f65311610223578063700bb191116101fd578063700bb191146105f557806370a0823114610615578063715018a61461064b5780637e0e155c1461066057600080fd5b806364b0f653146105a057806365b8dbc0146105b55780636843cd84146105d557600080fd5b806345b08aa1146104cf57806349bd5a5e146104ef5780634ada218b146105235780634e71d92d1461053d5780634fbee1931461055257806353ab431b1461058b57600080fd5b8063294222be116102d75780632d17f269116102b15780632d17f2691461046957806330bb4cff1461047e578063313ce5671461049357806339509351146104af57600080fd5b8063294222be146104135780632a8407b4146104345780632c1f52161461044957600080fd5b806306fdde031461032a578063095ea7b3146103555780630f15f4c0146103855780631694505e1461039c57806318160ddd146103d457806323b872dd146103f357600080fd5b3661032557005b600080fd5b34801561033657600080fd5b5061033f610a1c565b60405161034c9190613136565b60405180910390f35b34801561036157600080fd5b50610375610370366004613092565b610aae565b604051901515815260200161034c565b34801561039157600080fd5b5061039a610ac5565b005b3480156103a857600080fd5b506007546103bc906001600160a01b031681565b6040516001600160a01b03909116815260200161034c565b3480156103e057600080fd5b506002545b60405190815260200161034c565b3480156103ff57600080fd5b5061037561040e366004612fbc565b610b5a565b34801561041f57600080fd5b5060065461037590600160a01b900460ff1681565b34801561044057600080fd5b506103e5610bc3565b34801561045557600080fd5b506008546103bc906001600160a01b031681565b34801561047557600080fd5b506103e5600581565b34801561048a57600080fd5b506103e5610c45565b34801561049f57600080fd5b506040516012815260200161034c565b3480156104bb57600080fd5b506103756104ca366004613092565b610c8a565b3480156104db57600080fd5b5061039a6104ea366004612f4c565b610cc0565b3480156104fb57600080fd5b506103bc7f000000000000000000000000000000000000000000000000000000000000000081565b34801561052f57600080fd5b50600c546103759060ff1681565b34801561054957600080fd5b5061039a610d4b565b34801561055e57600080fd5b5061037561056d366004612f4c565b6001600160a01b03166000908152600d602052604090205460ff1690565b34801561059757600080fd5b506103e5600381565b3480156105ac57600080fd5b506103e5610dd2565b3480156105c157600080fd5b5061039a6105d0366004612f4c565b610e17565b3480156105e157600080fd5b506103e56105f0366004612f4c565b610f0e565b34801561060157600080fd5b5061039a6106103660046130d9565b610f8d565b34801561062157600080fd5b506103e5610630366004612f4c565b6001600160a01b031660009081526020819052604090205490565b34801561065757600080fd5b5061039a61106e565b34801561066c57600080fd5b5061037561067b366004612f4c565b600e6020526000908152604090205460ff1681565b34801561069c57600080fd5b5061039a6106ab366004612f4c565b6110e2565b3480156106bc57600080fd5b5061039a6106cb3660046130d9565b6111ce565b3480156106dc57600080fd5b5061039a6106eb366004612f4c565b61124d565b3480156106fc57600080fd5b506005546001600160a01b03166103bc565b34801561071a57600080fd5b506103e56115e8565b34801561072f57600080fd5b5061033f6115f7565b34801561074457600080fd5b5061039a610753366004612ffc565b611606565b34801561076457600080fd5b506103e5600a5481565b34801561077a57600080fd5b5061039a6107893660046130d9565b6116f6565b34801561079a57600080fd5b506103e5611782565b3480156107af57600080fd5b506103756107be366004613092565b6117c7565b3480156107cf57600080fd5b506103e56107de366004612f4c565b611816565b3480156107ef57600080fd5b506103756107fe366004613092565b611849565b34801561080f57600080fd5b5061082361081e366004612f4c565b611856565b604080516001600160a01b0390991689526020890197909752958701949094526060860192909252608085015260a084015260c083015260e08201526101000161034c565b34801561087457600080fd5b5061039a611900565b34801561088957600080fd5b50610375610898366004612f4c565b600f6020526000908152604090205460ff1681565b3480156108b957600080fd5b506103e5600b5481565b3480156108cf57600080fd5b5061039a6108de3660046130d9565b611991565b3480156108ef57600080fd5b506009546103bc906001600160a01b031681565b34801561090f57600080fd5b506103e561091e366004612f84565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561095557600080fd5b5061039a610964366004612f4c565b611a90565b34801561097557600080fd5b5061039a610984366004612f4c565b611b99565b34801561099557600080fd5b506103e5611c64565b3480156109aa57600080fd5b5061039a6109b93660046130d9565b611ca9565b3480156109ca57600080fd5b506108236109d93660046130d9565b611d04565b3480156109ea57600080fd5b5061039a6109f9366004612f4c565b611d46565b348015610a0a57600080fd5b506103e569d3c21bcecceda100000081565b606060038054610a2b906133bc565b80601f0160208091040260200160405190810160405280929190818152602001828054610a57906133bc565b8015610aa45780601f10610a7957610100808354040283529160200191610aa4565b820191906000526020600020905b815481529060010190602001808311610a8757829003601f168201915b5050505050905090565b6000610abb338484611e97565b5060015b92915050565b6005546001600160a01b03163314610af85760405162461bcd60e51b8152600401610aef9061321e565b60405180910390fd5b600c5460ff1615610b4b5760405162461bcd60e51b815260206004820181905260248201527f474f444c3a2054726164696e6720697320616c726561647920656e61626c65646044820152606401610aef565b600c805460ff19166001179055565b6000610b67848484611fbc565b610bb98433610bb485604051806060016040528060288152602001613457602891396001600160a01b038a166000908152600160209081526040808320338452909152902054919061280a565b611e97565b5060019392505050565b6008546040805163079cda8160e51b815290516000926001600160a01b03169163f39b5020916004808301926020929190829003018186803b158015610c0857600080fd5b505afa158015610c1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4091906130f1565b905090565b600854604080516342d359d760e11b815290516000926001600160a01b0316916385a6b3ae916004808301926020929190829003018186803b158015610c0857600080fd5b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610abb918590610bb49086611e31565b6005546001600160a01b03163314610cea5760405162461bcd60e51b8152600401610aef9061321e565b60065460405182916001600160a01b0390811691908316907f915747054d7e91058ebbf3d553f6ea46e33b1c71449946af836c6c30495c1d6d90600090a3600680546001600160a01b0319166001600160a01b039290921691909117905550565b60085460405163bc4c4b3760e01b8152336004820152600060248201526001600160a01b039091169063bc4c4b3790604401602060405180830381600087803b158015610d9757600080fd5b505af1158015610dab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dcf91906130bd565b50565b600854604080516304ddf6ef60e11b815290516000926001600160a01b0316916309bbedde916004808301926020929190829003018186803b158015610c0857600080fd5b6005546001600160a01b03163314610e415760405162461bcd60e51b8152600401610aef9061321e565b6007546001600160a01b0382811691161415610eb15760405162461bcd60e51b815260206004820152602960248201527f474f444c3a2054686520726f7574657220616c7265616479206861732074686160448201526874206164647265737360b81b6064820152608401610aef565b6007546040516001600160a01b03918216918316907fcd2acde3ae4de754da8074077404027fae40be67d89638ee1ceca2427883da7d90600090a3600780546001600160a01b0319166001600160a01b0392909216919091179055565b6008546040516370a0823160e01b81526001600160a01b03838116600483015260009216906370a08231906024015b60206040518083038186803b158015610f5557600080fd5b505afa158015610f69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610abf91906130f1565b6008546040516001624d3b8760e01b0319815260048101839052600091829182916001600160a01b03169063ffb2c47990602401606060405180830381600087803b158015610fdb57600080fd5b505af1158015610fef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110139190613109565b604080518481526020810184905290810182905260608101889052929550909350915032906000907fc864333d6121033635ab41b29ae52f10a22cf4438c3e4f1c4c68518feb2f8a989060800160405180910390a350505050565b6005546001600160a01b031633146110985760405162461bcd60e51b8152600401610aef9061321e565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b0316331461110c5760405162461bcd60e51b8152600401610aef9061321e565b6001600160a01b0381166000908152600e602052604090205460ff16156111aa5760405162461bcd60e51b815260206004820152604660248201527f474f444c3a204163636f756e7420697320616c726561647920616c6c6f77656460448201527f20746f207472616e73666572206265666f72652074726164696e6720697320656064820152651b98589b195960d21b608482015260a401610aef565b6001600160a01b03166000908152600e60205260409020805460ff19166001179055565b6005546001600160a01b031633146111f85760405162461bcd60e51b8152600401610aef9061321e565b600a5481141561121a5760405162461bcd60e51b8152600401610aef906131cc565b600a5460405182907f40d7e40e79af4e8e5a9b3c57030d8ea93f13d669c06d448c4d631d4ae7d23db790600090a3600a55565b6005546001600160a01b031633146112775760405162461bcd60e51b8152600401610aef9061321e565b6008546001600160a01b03828116911614156112f15760405162461bcd60e51b815260206004820152603360248201527f474f444c3a20546865206469766964656e6420747261636b657220616c7265616044820152726479206861732074686174206164647265737360681b6064820152608401610aef565b6000819050306001600160a01b0316816001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561133957600080fd5b505afa15801561134d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113719190612f68565b6001600160a01b0316146113fd5760405162461bcd60e51b815260206004820152604760248201527f474f444c3a20546865206e6577206469766964656e6420747261636b6572206d60448201527f757374206265206f776e65642062792074686520474f444c20746f6b656e20636064820152661bdb9d1c9858dd60ca1b608482015260a401610aef565b60405163031e79db60e41b81526001600160a01b03821660048201819052906331e79db090602401600060405180830381600087803b15801561143f57600080fd5b505af1158015611453573d6000803e3d6000fd5b505060405163031e79db60e41b81523060048201526001600160a01b03841692506331e79db09150602401600060405180830381600087803b15801561149857600080fd5b505af11580156114ac573d6000803e3d6000fd5b50505050806001600160a01b03166331e79db06114d16005546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801561151257600080fd5b505af1158015611526573d6000803e3d6000fd5b505060075460405163031e79db60e41b81526001600160a01b03918216600482015290841692506331e79db09150602401600060405180830381600087803b15801561157157600080fd5b505af1158015611585573d6000803e3d6000fd5b50506008546040516001600160a01b03918216935090851691507f1ae8fd4f008d9dd6f83c1182b3f30d87aed4ac15a15833ad625bbb740463e3c990600090a3600880546001600160a01b0319166001600160a01b039290921691909117905550565b6115f46003600561334e565b81565b606060048054610a2b906133bc565b6005546001600160a01b031633146116305760405162461bcd60e51b8152600401610aef9061321e565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614156116e85760405162461bcd60e51b815260206004820152604760248201527f474f444c3a2054686520556e697377617020706169722063616e6e6f7420626560448201527f2072656d6f7665642066726f6d206175746f6d617465644d61726b65744d616b6064820152666572506169727360c81b608482015260a401610aef565b6116f28282612844565b5050565b6005546001600160a01b031633146117205760405162461bcd60e51b8152600401610aef9061321e565b600854604051639d55d16f60e01b8152600481018390526001600160a01b0390911690639d55d16f906024015b600060405180830381600087803b15801561176757600080fd5b505af115801561177b573d6000803e3d6000fd5b5050505050565b60085460408051631bc9e27b60e21b815290516000926001600160a01b031691636f2789ec916004808301926020929190829003018186803b158015610c0857600080fd5b6000610abb3384610bb48560405180606001604052806025815260200161347f602591393360009081526001602090815260408083206001600160a01b038d168452909152902054919061280a565b6008546040516302a2e74960e61b81526001600160a01b038381166004830152600092169063a8b9d24090602401610f3d565b6000610abb338484611fbc565b60085460405163fbcbc0f160e01b81526001600160a01b038381166004830152600092839283928392839283928392839291169063fbcbc0f1906024015b6101006040518083038186803b1580156118ad57600080fd5b505afa1580156118c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118e59190613029565b97509750975097509750975097509750919395975091939597565b6005546001600160a01b0316331461192a5760405162461bcd60e51b8152600401610aef9061321e565b60065460408051600160a01b90920460ff161580835280156020840152917f81492e889bb01fbcb80dd006d7f1229e16f8f98757b8dbfcf6b55343d8b7c5c2910160405180910390a160068054911515600160a01b0260ff60a01b19909216919091179055565b6005546001600160a01b031633146119bb5760405162461bcd60e51b8152600401610aef9061321e565b692a5a058fc295ed000000811115611a3b5760405162461bcd60e51b815260206004820152603760248201527f474f444c3a206c6971756964617465546f6b656e734174416d6f756e74206d7560448201527f7374206265206c657373207468616e203230302c3030300000000000000000006064820152608401610aef565b600b54811415611a5d5760405162461bcd60e51b8152600401610aef906131cc565b600b5460405182907fcdadd717dc9ee3550a289071d1af75e229726888d51e3a31c9e3dfc693d4852b90600090a3600b55565b6005546001600160a01b03163314611aba5760405162461bcd60e51b8152600401610aef9061321e565b6009546001600160a01b0382811691161415611b335760405162461bcd60e51b815260206004820152603260248201527f474f444c3a20546865206c69717569646974792077616c6c657420697320616c60448201527172656164792074686973206164647265737360701b6064820152608401610aef565b611b3c81611b99565b6009546040516001600160a01b03918216918316907f6080503d1da552ae8eb4b7b8a20245d9fabed014180510e7d1a05ea08fdb0f3e90600090a3600980546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314611bc35760405162461bcd60e51b8152600401610aef9061321e565b6001600160a01b0381166000908152600d602052604090205460ff1615611c405760405162461bcd60e51b815260206004820152602b60248201527f474f444c3a204163636f756e7420697320616c7265616479206578636c75646560448201526a642066726f6d206665657360a81b6064820152608401610aef565b6001600160a01b03166000908152600d60205260409020805460ff19166001179055565b6008546040805163039e107b60e61b815290516000926001600160a01b03169163e7841ec0916004808301926020929190829003018186803b158015610c0857600080fd5b6005546001600160a01b03163314611cd35760405162461bcd60e51b8152600401610aef9061321e565b60085460405163e98030c760e01b8152600481018390526001600160a01b039091169063e98030c79060240161174d565b600854604051635183d6fd60e01b81526004810183905260009182918291829182918291829182916001600160a01b0390911690635183d6fd90602401611894565b6005546001600160a01b03163314611d705760405162461bcd60e51b8152600401610aef9061321e565b6001600160a01b038116611dd55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610aef565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b600080611e3e838561334e565b905083811015611e905760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610aef565b9392505050565b6001600160a01b038316611ef95760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610aef565b6001600160a01b038216611f5a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610aef565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316611fe25760405162461bcd60e51b8152600401610aef90613253565b6001600160a01b0382166120085760405162461bcd60e51b8152600401610aef90613189565b600c5460ff16806120a1576001600160a01b0384166000908152600e602052604090205460ff166120a15760405162461bcd60e51b815260206004820152603e60248201527f474f444c3a2054686973206163636f756e742063616e6e6f742073656e64207460448201527f6f6b656e7320756e74696c2074726164696e6720697320656e61626c656400006064820152608401610aef565b600654600160a01b900460ff16156122c6577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b0316148061212457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b0316145b801561212d5750805b156122c6576006546040516312bdf42360e01b81526001600160a01b0386811660048301527f000000000000000000000000000000000000000000000000000000000000000081166024830152326044830152909116906312bdf42390606401602060405180830381600087803b1580156121a757600080fd5b505af11580156121bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121df91906130bd565b156121fc5760405162461bcd60e51b8152600401610aef90613298565b6006546040516312bdf42360e01b81526001600160a01b0385811660048301527f000000000000000000000000000000000000000000000000000000000000000081166024830152326044830152909116906312bdf42390606401602060405180830381600087803b15801561227157600080fd5b505af1158015612285573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122a991906130bd565b156122c65760405162461bcd60e51b8152600401610aef90613298565b816122dd576122d7848460006129a2565b50505050565b600754600160a01b900460ff161580156122f45750805b801561231857506001600160a01b0383166000908152600f602052604090205460ff165b801561233257506007546001600160a01b03858116911614155b801561235757506001600160a01b0383166000908152600d602052604090205460ff16155b156123dc5769d3c21bcecceda10000008211156123dc5760405162461bcd60e51b815260206004820152603d60248201527f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560448201527f204d41585f53454c4c5f5452414e53414354494f4e5f414d4f554e542e0000006064820152608401610aef565b30600090815260208190526040902054600b548110158280156123fc5750805b80156124125750600754600160a01b900460ff16155b801561243757506001600160a01b0386166000908152600f602052604090205460ff16155b801561245157506009546001600160a01b03878116911614155b801561246b57506009546001600160a01b03868116911614155b156124d9576007805460ff60a01b1916600160a01b17905560006124a56124946003600561334e565b61249f856003612aab565b90612b2a565b90506124b081612b6c565b306000908152602081905260409020546124c981612bf3565b50506007805460ff60a01b191690555b60008380156124f25750600754600160a01b900460ff16155b6001600160a01b0388166000908152600d602052604090205490915060ff168061253457506001600160a01b0386166000908152600d602052604090205460ff165b1561253d575060005b801561257b576000612560606461249f6125596003600561334e565b8990612aab565b905061256c8682612c9b565b95506125798830836129a2565b505b6125868787876129a2565b6008546001600160a01b031663e30443bc886125b7816001600160a01b031660009081526020819052604090205490565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b1580156125fd57600080fd5b505af192505050801561260e575060015b506008546001600160a01b031663e30443bc87612640816001600160a01b031660009081526020819052604090205490565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801561268657600080fd5b505af1925050508015612697575060015b50600654600160a01b900460ff16156127185760065460405163155d0ed960e01b81526001600160a01b03898116600483015288811660248301523260448301529091169063155d0ed990606401600060405180830381600087803b1580156126ff57600080fd5b505af1158015612713573d6000803e3d6000fd5b505050505b600754600160a01b900460ff1661280157600a546008546040516001624d3b8760e01b03198152600481018390526001600160a01b039091169063ffb2c47990602401606060405180830381600087803b15801561277557600080fd5b505af19250505080156127a5575060408051601f3d908101601f191682019092526127a291810190613109565b60015b6127ae576127ff565b60408051848152602081018490529081018290526060810185905232906001907fc864333d6121033635ab41b29ae52f10a22cf4438c3e4f1c4c68518feb2f8a989060800160405180910390a35050505b505b50505050505050565b6000818484111561282e5760405162461bcd60e51b8152600401610aef9190613136565b50600061283b84866133a5565b95945050505050565b6001600160a01b0382166000908152600f602052604090205460ff16151581151514156128d95760405162461bcd60e51b815260206004820152603e60248201527f474f444c3a204175746f6d61746564206d61726b6574206d616b65722070616960448201527f7220697320616c72656164792073657420746f20746861742076616c756500006064820152608401610aef565b6001600160a01b0382166000908152600f60205260409020805460ff191682158015919091179091556129665760085460405163031e79db60e41b81526001600160a01b038481166004830152909116906331e79db090602401600060405180830381600087803b15801561294d57600080fd5b505af1158015612961573d6000803e3d6000fd5b505050505b604051811515906001600160a01b038416907fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab90600090a35050565b6001600160a01b0383166129c85760405162461bcd60e51b8152600401610aef90613253565b6001600160a01b0382166129ee5760405162461bcd60e51b8152600401610aef90613189565b612a2b81604051806060016040528060268152602001613431602691396001600160a01b038616600090815260208190526040902054919061280a565b6001600160a01b038085166000908152602081905260408082209390935590841681522054612a5a9082611e31565b6001600160a01b038381166000818152602081815260409182902094909455518481529092918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101611faf565b600082612aba57506000610abf565b6000612ac68385613386565b905082612ad38583613366565b14611e905760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610aef565b6000611e9083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612cdd565b6000612b79826002612b2a565b90506000612b878383612c9b565b905047612b9383612d0b565b6000612b9f4783612c9b565b9050612bab8382612e90565b60408051858152602081018390529081018490527ffb82c2300f807cc60e7abf909b045a028ef3b1807785a6b675eb0fa21e461fa19060600160405180910390a15050505050565b612bfc81612d0b565b60085460405147916000916001600160a01b039091169083908381818185875af1925050503d8060008114612c4d576040519150601f19603f3d011682016040523d82523d6000602084013e612c52565b606091505b505090508015612c965760408051848152602081018490527f5e8c953468549261e19b5df2c0776259d823043f64befbef757760c2800c07ca910160405180910390a15b505050565b6000611e9083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061280a565b60008183612cfe5760405162461bcd60e51b8152600401610aef9190613136565b50600061283b8486613366565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110612d4e57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152600754604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015612da257600080fd5b505afa158015612db6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dda9190612f68565b81600181518110612dfb57634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152600754612e219130911684611e97565b60075460405163791ac94760e01b81526001600160a01b039091169063791ac94790612e5a9085906000908690309042906004016132de565b600060405180830381600087803b158015612e7457600080fd5b505af1158015612e88573d6000803e3d6000fd5b505050505050565b600754612ea89030906001600160a01b031684611e97565b60075460095460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c4016060604051808303818588803b158015612f1357600080fd5b505af1158015612f27573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061177b9190613109565b600060208284031215612f5d578081fd5b8135611e908161340d565b600060208284031215612f79578081fd5b8151611e908161340d565b60008060408385031215612f96578081fd5b8235612fa18161340d565b91506020830135612fb18161340d565b809150509250929050565b600080600060608486031215612fd0578081fd5b8335612fdb8161340d565b92506020840135612feb8161340d565b929592945050506040919091013590565b6000806040838503121561300e578182fd5b82356130198161340d565b91506020830135612fb181613422565b600080600080600080600080610100898b031215613045578384fd5b88516130508161340d565b809850506020890151965060408901519550606089015194506080890151935060a0890151925060c0890151915060e089015190509295985092959890939650565b600080604083850312156130a4578182fd5b82356130af8161340d565b946020939093013593505050565b6000602082840312156130ce578081fd5b8151611e9081613422565b6000602082840312156130ea578081fd5b5035919050565b600060208284031215613102578081fd5b5051919050565b60008060006060848603121561311d578283fd5b8351925060208401519150604084015190509250925092565b6000602080835283518082850152825b8181101561316257858101830151858201604001528201613146565b818111156131735783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526032908201527f474f444c3a2043616e6e6f742075706461746520676173466f7250726f63657360408201527173696e6720746f2073616d652076616c756560701b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526026908201527f42656570204265657020426f6f702c20596f752772652061207069656365206f60408201526506620706f6f760d41b606082015260800190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b8181101561332d5784516001600160a01b031683529383019391830191600101613308565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115613361576133616133f7565b500190565b60008261338157634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156133a0576133a06133f7565b500290565b6000828210156133b7576133b76133f7565b500390565b600181811c908216806133d057607f821691505b602082108114156133f157634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b0381168114610dcf57600080fd5b8015158114610dcf57600080fdfe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220d86d93a55138d3756297da7ecd6bee88ba8c22db1a1c1c978daff6a685ba2b9964736f6c6343000804003360806040523480156200001157600080fd5b5060408051808201825260158082527f474f444c5f4469766964656e645f547261636b65720000000000000000000000602080840182815285518087019096529285528401528151919291839183916200006e91600391620000e0565b50805162000084906004906020840190620000e0565b5050610bb86008555050600a80546001600160a01b0319163390811790915560405190915081906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350610e10601255620001c3565b828054620000ee9062000186565b90600052602060002090601f0160209004810192826200011257600085556200015d565b82601f106200012d57805160ff19168380011785556200015d565b828001600101855582156200015d579182015b828111156200015d57825182559160200191906001019062000140565b506200016b9291506200016f565b5090565b5b808211156200016b576000815560010162000170565b600181811c908216806200019b57607f821691505b60208210811415620001bd57634e487b7160e01b600052602260045260246000fd5b50919050565b61218380620001d36000396000f3fe60806040526004361061021e5760003560e01c806385a6b3ae11610123578063bc4c4b37116100ab578063e98030c71161006f578063e98030c714610695578063f2fde38b146106b5578063f39b5020146106d5578063fbcbc0f1146106eb578063ffb2c4791461070b57600080fd5b8063bc4c4b37146105dc578063c38f9cad146105fc578063dd62ed3e1461061a578063e30443bc14610660578063e7841ec01461068057600080fd5b80639d55d16f116100f25780639d55d16f14610526578063a457c2d714610546578063a8b9d24014610566578063a9059cbb14610586578063aafd847a146105a657600080fd5b806385a6b3ae146104b35780638da5cb5b146104c957806391b89fba146104f157806395d89b411461051157600080fd5b8063313ce567116101a65780635183d6fd116101755780635183d6fd146103d85780636a4740021461043d5780636f2789ec1461045257806370a0823114610468578063715018a61461049e57600080fd5b8063313ce5671461034c57806331e79db01461036857806339509351146103885780634e7b827f146103a857600080fd5b806318160ddd116101ed57806318160ddd146102b4578063226cfa3d146102c957806323b872dd146102f657806327ce0147146103165780633009a6091461033657600080fd5b806303c833021461023257806306fdde031461023a578063095ea7b31461026557806309bbedde1461029557600080fd5b3661022d5761022b610746565b005b600080fd5b61022b610746565b34801561024657600080fd5b5061024f6107d9565b60405161025c9190611ee4565b60405180910390f35b34801561027157600080fd5b50610285610280366004611e1c565b61086b565b604051901515815260200161025c565b3480156102a157600080fd5b50600b545b60405190815260200161025c565b3480156102c057600080fd5b506002546102a6565b3480156102d557600080fd5b506102a66102e4366004611da8565b60116020526000908152604090205481565b34801561030257600080fd5b50610285610311366004611e74565b610882565b34801561032257600080fd5b506102a6610331366004611da8565b6108eb565b34801561034257600080fd5b506102a6600f5481565b34801561035857600080fd5b506040516012815260200161025c565b34801561037457600080fd5b5061022b610383366004611da8565b610947565b34801561039457600080fd5b506102856103a3366004611e1c565b610a77565b3480156103b457600080fd5b506102856103c3366004611da8565b60106020526000908152604090205460ff1681565b3480156103e457600080fd5b506103f86103f3366004611ecc565b610aad565b604080516001600160a01b0390991689526020890197909752958701949094526060860192909252608085015260a084015260c083015260e08201526101000161025c565b34801561044957600080fd5b5061022b610c1f565b34801561045e57600080fd5b506102a660125481565b34801561047457600080fd5b506102a6610483366004611da8565b6001600160a01b031660009081526020819052604090205490565b3480156104aa57600080fd5b5061022b610cc1565b3480156104bf57600080fd5b506102a660095481565b3480156104d557600080fd5b50600a546040516001600160a01b03909116815260200161025c565b3480156104fd57600080fd5b506102a661050c366004611da8565b610d35565b34801561051d57600080fd5b5061024f610d40565b34801561053257600080fd5b5061022b610541366004611ecc565b610d4f565b34801561055257600080fd5b50610285610561366004611e1c565b610e2e565b34801561057257600080fd5b506102a6610581366004611da8565b610e7d565b34801561059257600080fd5b506102856105a1366004611e1c565b610ea9565b3480156105b257600080fd5b506102a66105c1366004611da8565b6001600160a01b031660009081526007602052604090205490565b3480156105e857600080fd5b506102856105f7366004611de0565b610eb6565b34801561060857600080fd5b506102a669021e19e0c9bab240000081565b34801561062657600080fd5b506102a6610635366004611e47565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561066c57600080fd5b5061022b61067b366004611e1c565b610f64565b34801561068c57600080fd5b50600f546102a6565b3480156106a157600080fd5b5061022b6106b0366004611ecc565b6110da565b3480156106c157600080fd5b5061022b6106d0366004611da8565b611249565b3480156106e157600080fd5b506102a660085481565b3480156106f757600080fd5b506103f8610706366004611da8565b611334565b34801561071757600080fd5b5061072b610726366004611ecc565b6114ac565b6040805193845260208401929092529082015260600161025c565b600061075160025490565b1161075b57600080fd5b34156107d75761078e61076d60025490565b61077b34600160801b6115d5565b6107859190611fc5565b6005549061165b565b60055560405134815233907fa493a9229478c3fcd73f66d2cdeb7f94fd0f341da924d1054236d784541165119060200160405180910390a26009546107d3903461165b565b6009555b565b6060600380546107e89061205a565b80601f01602080910402602001604051908101604052809291908181526020018280546108149061205a565b80156108615780601f1061083657610100808354040283529160200191610861565b820191906000526020600020905b81548152906001019060200180831161084457829003601f168201915b5050505050905090565b60006108783384846116ba565b5060015b92915050565b600061088f8484846117de565b6108e184336108dc85604051806060016040528060288152602001612101602891396001600160a01b038a166000908152600160209081526040808320338452909152902054919061183a565b6116ba565b5060019392505050565b6001600160a01b03811660009081526006602090815260408083205491839052822054600554600160801b9261093d92610938926109329161092d91906115d5565b611874565b90611884565b6118c2565b61087c9190611fc5565b600a546001600160a01b0316331461097a5760405162461bcd60e51b815260040161097190611f37565b60405180910390fd5b6001600160a01b03811660009081526010602052604090205460ff16156109a057600080fd5b6001600160a01b0381166000908152601060205260408120805460ff191660011790556109ce9082906118d5565b60405163131836e760e21b8152600b60048201526001600160a01b038216602482015273af1da175cf30d036b53d1e94c3173a78a5a59e7f90634c60db9c9060440160006040518083038186803b158015610a2857600080fd5b505af4158015610a3c573d6000803e3d6000fd5b50506040516001600160a01b03841692507fbc358c1a6bbec2cf1d21c2fb5a564b55d7828e32fb5da64adf3c5479264650109150600090a250565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916108789185906108dc908661165b565b600080600080600080600080600b73af1da175cf30d036b53d1e94c3173a78a5a59e7f63deb3d89690916040518263ffffffff1660e01b8152600401610af591815260200190565b60206040518083038186803b158015610b0d57600080fd5b505af4158015610b21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b459190611eb4565b8910610b6a575060009650600019955085945086935083925082915081905080610c14565b6040516368d54f3f60e11b8152600b6004820152602481018a905260009073af1da175cf30d036b53d1e94c3173a78a5a59e7f9063d1aa9e7e9060440160206040518083038186803b158015610bbf57600080fd5b505af4158015610bd3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf79190611dc4565b9050610c0281611334565b98509850985098509850985098509850505b919395975091939597565b60405162461bcd60e51b815260206004820152606560248201527f474f444c5f4469766964656e645f547261636b65723a2077697468647261774460448201527f69766964656e642064697361626c65642e20557365207468652027636c61696d60648201527f272066756e6374696f6e206f6e20746865206d61696e20474f444c20636f6e746084820152643930b1ba1760d91b60a482015260c401610971565b600a546001600160a01b03163314610ceb5760405162461bcd60e51b815260040161097190611f37565b600a546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600a80546001600160a01b0319169055565b600061087c82610e7d565b6060600480546107e89061205a565b600a546001600160a01b03163314610d795760405162461bcd60e51b815260040161097190611f37565b600854811415610dfb5760405162461bcd60e51b815260206004820152604160248201527f474f444c5f4469766964656e645f547261636b65723a2043616e6e6f7420757060448201527f6461746520676173466f725472616e7366657220746f2073616d652076616c756064820152606560f81b608482015260a401610971565b60085460405182907f5e2963a3d7c88b344b101641f89a2f7da9734fc777ed11ad0097b2775a9e9d1790600090a3600855565b600061087833846108dc85604051806060016040528060258152602001612129602591393360009081526001602090815260408083206001600160a01b038d168452909152902054919061183a565b6001600160a01b03811660009081526007602052604081205461087c90610ea3846108eb565b90611934565b60006108783384846117de565b600a546000906001600160a01b03163314610ee35760405162461bcd60e51b815260040161097190611f37565b6000610eee84611976565b90508015610f5a576001600160a01b038416600081815260116020526040908190204290555184151591907fa2c38e2d2fb7e3e1912d937fd1ca11ed6d51864dee4cfa7a7bf02becd7acf09290610f489085815260200190565b60405180910390a3600191505061087c565b5060009392505050565b600a546001600160a01b03163314610f8e5760405162461bcd60e51b815260040161097190611f37565b6001600160a01b03821660009081526010602052604090205460ff1615610fb3575050565b69021e19e0c9bab2400000811061104c57610fce82826118d5565b604051632f0ad01760e21b8152600b60048201526001600160a01b03831660248201526044810182905273af1da175cf30d036b53d1e94c3173a78a5a59e7f9063bc2b405c9060640160006040518083038186803b15801561102f57600080fd5b505af4158015611043573d6000803e3d6000fd5b505050506110ca565b6110578260006118d5565b60405163131836e760e21b8152600b60048201526001600160a01b038316602482015273af1da175cf30d036b53d1e94c3173a78a5a59e7f90634c60db9c9060440160006040518083038186803b1580156110b157600080fd5b505af41580156110c5573d6000803e3d6000fd5b505050505b6110d5826001610eb6565b505050565b600a546001600160a01b031633146111045760405162461bcd60e51b815260040161097190611f37565b610e1081101580156111195750620151808111155b61119e5760405162461bcd60e51b815260206004820152604a60248201527f474f444c5f4469766964656e645f547261636b65723a20636c61696d5761697460448201527f206d757374206265207570646174656420746f206265747765656e203120616e6064820152696420323420686f75727360b01b608482015260a401610971565b6012548114156112165760405162461bcd60e51b815260206004820152603c60248201527f474f444c5f4469766964656e645f547261636b65723a2043616e6e6f7420757060448201527f6461746520636c61696d5761697420746f2073616d652076616c7565000000006064820152608401610971565b60125460405182907f474ea64804364a1e29a4487ddb63c3342a2dd826ccd8acf48825e680a0e6f20f90600090a3601255565b600a546001600160a01b031633146112735760405162461bcd60e51b815260040161097190611f37565b6001600160a01b0381166112d85760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610971565b600a546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600a80546001600160a01b0319166001600160a01b0392909216919091179055565b6040516317e142d160e01b8152600b60048201526001600160a01b0382166024820152819060009081908190819081908190819073af1da175cf30d036b53d1e94c3173a78a5a59e7f906317e142d19060440160206040518083038186803b15801561139f57600080fd5b505af41580156113b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d79190611eb4565b965060001995506000871261143957600f5487111561140557600f546113fe908890611ab9565b9550611439565b600f54600b546000911061141a576000611429565b600f54600b5461142991611934565b90506114358882611884565b9650505b61144288610e7d565b945061144d886108eb565b6001600160a01b038916600090815260116020526040902054909450925082611477576000611485565b60125461148590849061165b565b915042821161149557600061149f565b61149f8242611934565b9050919395975091939597565b600b5460009081908190806114cc575050600f54600092508291506115ce565b600f546000805a90506000805b89841080156114e757508582105b156115bd57846114f681612095565b600b549096508610905061150957600094505b6000600b600001868154811061152f57634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b0316808352601190915260409091205490915061156090611af6565b1561158357611570816001610eb6565b15611583578161157f81612095565b9250505b8261158d81612095565b93505060005a9050808511156115b4576115b16115aa8683611934565b879061165b565b95505b93506114d99050565b600f85905590975095509193505050505b9193909250565b6000826115e45750600061087c565b60006115f08385611fe5565b9050826115fd8583611fc5565b146116545760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610971565b9392505050565b6000806116688385611fad565b9050838110156116545760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610971565b6001600160a01b03831661171c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610971565b6001600160a01b03821661177d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610971565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60405162461bcd60e51b815260206004820152602b60248201527f474f444c5f4469766964656e645f547261636b65723a204e6f207472616e736660448201526a195c9cc8185b1b1bddd95960aa1b6064820152608401610971565b6000818484111561185e5760405162461bcd60e51b81526004016109719190611ee4565b50600061186b8486612043565b95945050505050565b6000818181121561087c57600080fd5b6000806118918385611f6c565b9050600083121580156118a45750838112155b806118b957506000831280156118b957508381125b61165457600080fd5b6000808212156118d157600080fd5b5090565b6001600160a01b038216600090815260208190526040902054808211156119145760006119028383611934565b905061190e8482611b1d565b50505050565b808210156110d55760006119288284611934565b905061190e8482611b81565b600061165483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061183a565b60008061198283610e7d565b90508015611ab0576001600160a01b0383166000908152600760205260409020546119ad908261165b565b6001600160a01b038416600081815260076020526040908190209290925590517fee503bee2bb6a87e57bc57db795f98137327401a0e7b7ce42e37926cc1a9ca4d906119fc9084815260200190565b60405180910390a26008546040516000916001600160a01b03861691849084818181858888f193505050503d8060008114611a53576040519150601f19603f3d011682016040523d82523d6000602084013e611a58565b606091505b5050905080611aa9576001600160a01b038416600090815260076020526040902054611a849083611934565b6001600160a01b03909416600090815260076020526040812094909455509192915050565b5092915050565b50600092915050565b600080611ac68385612004565b905060008312158015611ad95750838113155b806118b957506000831280156118b9575083811361165457600080fd5b600042821115611b0857506000919050565b601254611b154284611934565b101592915050565b611b278282611bc5565b611b61611b4261092d836005546115d590919063ffffffff16565b6001600160a01b03841660009081526006602052604090205490611ab9565b6001600160a01b0390921660009081526006602052604090209190915550565b611b8b8282611ca4565b611b61611ba661092d836005546115d590919063ffffffff16565b6001600160a01b03841660009081526006602052604090205490611884565b6001600160a01b038216611c1b5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610971565b600254611c28908261165b565b6002556001600160a01b038216600090815260208190526040902054611c4e908261165b565b6001600160a01b038316600081815260208181526040808320949094559251848152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91015b60405180910390a35050565b6001600160a01b038216611d045760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610971565b611d41816040518060600160405280602281526020016120df602291396001600160a01b038516600090815260208190526040902054919061183a565b6001600160a01b038316600090815260208190526040902055600254611d679082611934565b6002556040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001611c98565b600060208284031215611db9578081fd5b8135611654816120c6565b600060208284031215611dd5578081fd5b8151611654816120c6565b60008060408385031215611df2578081fd5b8235611dfd816120c6565b915060208301358015158114611e11578182fd5b809150509250929050565b60008060408385031215611e2e578182fd5b8235611e39816120c6565b946020939093013593505050565b60008060408385031215611e59578182fd5b8235611e64816120c6565b91506020830135611e11816120c6565b600080600060608486031215611e88578081fd5b8335611e93816120c6565b92506020840135611ea3816120c6565b929592945050506040919091013590565b600060208284031215611ec5578081fd5b5051919050565b600060208284031215611edd578081fd5b5035919050565b6000602080835283518082850152825b81811015611f1057858101830151858201604001528201611ef4565b81811115611f215783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600080821280156001600160ff1b0384900385131615611f8e57611f8e6120b0565b600160ff1b8390038412811615611fa757611fa76120b0565b50500190565b60008219821115611fc057611fc06120b0565b500190565b600082611fe057634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615611fff57611fff6120b0565b500290565b60008083128015600160ff1b850184121615612022576120226120b0565b6001600160ff1b038401831381161561203d5761203d6120b0565b50500390565b600082821015612055576120556120b0565b500390565b600181811c9082168061206e57607f821691505b6020821081141561208f57634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156120a9576120a96120b0565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b03811681146120db57600080fd5b5056fe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122025ce86633c7c2ece637005e849b3a7d090fd2106327e62d47b4e47a9c8586c4c64736f6c63430008040033
Deployed Bytecode
0x60806040526004361061031e5760003560e01c80638649847c116101ab578063ad56c13c116100f7578063e37ba8f911610095578063e98030c71161006f578063e98030c71461099e578063f27fd254146109be578063f2fde38b146109de578063fd5db2af146109fe57600080fd5b8063e37ba8f914610949578063e57f14e114610969578063e7841ec01461098957600080fd5b8063c816e4b6116100d1578063c816e4b6146108ad578063d3b5be1a146108c3578063d4698016146108e3578063dd62ed3e1461090357600080fd5b8063ad56c13c14610803578063af74ff5b14610868578063b62496f51461087d57600080fd5b80639a7a23d611610164578063a26579ad1161013e578063a26579ad1461078e578063a457c2d7146107a3578063a8b9d240146107c3578063a9059cbb146107e357600080fd5b80639a7a23d6146107385780639c1b8af5146107585780639d55d16f1461076e57600080fd5b80638649847c14610690578063871c128d146106b057806388bdd9be146106d05780638da5cb5b146106f057806392ca1e8d1461070e57806395d89b411461072357600080fd5b806345b08aa11161026a57806364b0f65311610223578063700bb191116101fd578063700bb191146105f557806370a0823114610615578063715018a61461064b5780637e0e155c1461066057600080fd5b806364b0f653146105a057806365b8dbc0146105b55780636843cd84146105d557600080fd5b806345b08aa1146104cf57806349bd5a5e146104ef5780634ada218b146105235780634e71d92d1461053d5780634fbee1931461055257806353ab431b1461058b57600080fd5b8063294222be116102d75780632d17f269116102b15780632d17f2691461046957806330bb4cff1461047e578063313ce5671461049357806339509351146104af57600080fd5b8063294222be146104135780632a8407b4146104345780632c1f52161461044957600080fd5b806306fdde031461032a578063095ea7b3146103555780630f15f4c0146103855780631694505e1461039c57806318160ddd146103d457806323b872dd146103f357600080fd5b3661032557005b600080fd5b34801561033657600080fd5b5061033f610a1c565b60405161034c9190613136565b60405180910390f35b34801561036157600080fd5b50610375610370366004613092565b610aae565b604051901515815260200161034c565b34801561039157600080fd5b5061039a610ac5565b005b3480156103a857600080fd5b506007546103bc906001600160a01b031681565b6040516001600160a01b03909116815260200161034c565b3480156103e057600080fd5b506002545b60405190815260200161034c565b3480156103ff57600080fd5b5061037561040e366004612fbc565b610b5a565b34801561041f57600080fd5b5060065461037590600160a01b900460ff1681565b34801561044057600080fd5b506103e5610bc3565b34801561045557600080fd5b506008546103bc906001600160a01b031681565b34801561047557600080fd5b506103e5600581565b34801561048a57600080fd5b506103e5610c45565b34801561049f57600080fd5b506040516012815260200161034c565b3480156104bb57600080fd5b506103756104ca366004613092565b610c8a565b3480156104db57600080fd5b5061039a6104ea366004612f4c565b610cc0565b3480156104fb57600080fd5b506103bc7f0000000000000000000000004aedd28e59cdb3043e269f1d51cbdddf23be56bb81565b34801561052f57600080fd5b50600c546103759060ff1681565b34801561054957600080fd5b5061039a610d4b565b34801561055e57600080fd5b5061037561056d366004612f4c565b6001600160a01b03166000908152600d602052604090205460ff1690565b34801561059757600080fd5b506103e5600381565b3480156105ac57600080fd5b506103e5610dd2565b3480156105c157600080fd5b5061039a6105d0366004612f4c565b610e17565b3480156105e157600080fd5b506103e56105f0366004612f4c565b610f0e565b34801561060157600080fd5b5061039a6106103660046130d9565b610f8d565b34801561062157600080fd5b506103e5610630366004612f4c565b6001600160a01b031660009081526020819052604090205490565b34801561065757600080fd5b5061039a61106e565b34801561066c57600080fd5b5061037561067b366004612f4c565b600e6020526000908152604090205460ff1681565b34801561069c57600080fd5b5061039a6106ab366004612f4c565b6110e2565b3480156106bc57600080fd5b5061039a6106cb3660046130d9565b6111ce565b3480156106dc57600080fd5b5061039a6106eb366004612f4c565b61124d565b3480156106fc57600080fd5b506005546001600160a01b03166103bc565b34801561071a57600080fd5b506103e56115e8565b34801561072f57600080fd5b5061033f6115f7565b34801561074457600080fd5b5061039a610753366004612ffc565b611606565b34801561076457600080fd5b506103e5600a5481565b34801561077a57600080fd5b5061039a6107893660046130d9565b6116f6565b34801561079a57600080fd5b506103e5611782565b3480156107af57600080fd5b506103756107be366004613092565b6117c7565b3480156107cf57600080fd5b506103e56107de366004612f4c565b611816565b3480156107ef57600080fd5b506103756107fe366004613092565b611849565b34801561080f57600080fd5b5061082361081e366004612f4c565b611856565b604080516001600160a01b0390991689526020890197909752958701949094526060860192909252608085015260a084015260c083015260e08201526101000161034c565b34801561087457600080fd5b5061039a611900565b34801561088957600080fd5b50610375610898366004612f4c565b600f6020526000908152604090205460ff1681565b3480156108b957600080fd5b506103e5600b5481565b3480156108cf57600080fd5b5061039a6108de3660046130d9565b611991565b3480156108ef57600080fd5b506009546103bc906001600160a01b031681565b34801561090f57600080fd5b506103e561091e366004612f84565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561095557600080fd5b5061039a610964366004612f4c565b611a90565b34801561097557600080fd5b5061039a610984366004612f4c565b611b99565b34801561099557600080fd5b506103e5611c64565b3480156109aa57600080fd5b5061039a6109b93660046130d9565b611ca9565b3480156109ca57600080fd5b506108236109d93660046130d9565b611d04565b3480156109ea57600080fd5b5061039a6109f9366004612f4c565b611d46565b348015610a0a57600080fd5b506103e569d3c21bcecceda100000081565b606060038054610a2b906133bc565b80601f0160208091040260200160405190810160405280929190818152602001828054610a57906133bc565b8015610aa45780601f10610a7957610100808354040283529160200191610aa4565b820191906000526020600020905b815481529060010190602001808311610a8757829003601f168201915b5050505050905090565b6000610abb338484611e97565b5060015b92915050565b6005546001600160a01b03163314610af85760405162461bcd60e51b8152600401610aef9061321e565b60405180910390fd5b600c5460ff1615610b4b5760405162461bcd60e51b815260206004820181905260248201527f474f444c3a2054726164696e6720697320616c726561647920656e61626c65646044820152606401610aef565b600c805460ff19166001179055565b6000610b67848484611fbc565b610bb98433610bb485604051806060016040528060288152602001613457602891396001600160a01b038a166000908152600160209081526040808320338452909152902054919061280a565b611e97565b5060019392505050565b6008546040805163079cda8160e51b815290516000926001600160a01b03169163f39b5020916004808301926020929190829003018186803b158015610c0857600080fd5b505afa158015610c1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4091906130f1565b905090565b600854604080516342d359d760e11b815290516000926001600160a01b0316916385a6b3ae916004808301926020929190829003018186803b158015610c0857600080fd5b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610abb918590610bb49086611e31565b6005546001600160a01b03163314610cea5760405162461bcd60e51b8152600401610aef9061321e565b60065460405182916001600160a01b0390811691908316907f915747054d7e91058ebbf3d553f6ea46e33b1c71449946af836c6c30495c1d6d90600090a3600680546001600160a01b0319166001600160a01b039290921691909117905550565b60085460405163bc4c4b3760e01b8152336004820152600060248201526001600160a01b039091169063bc4c4b3790604401602060405180830381600087803b158015610d9757600080fd5b505af1158015610dab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dcf91906130bd565b50565b600854604080516304ddf6ef60e11b815290516000926001600160a01b0316916309bbedde916004808301926020929190829003018186803b158015610c0857600080fd5b6005546001600160a01b03163314610e415760405162461bcd60e51b8152600401610aef9061321e565b6007546001600160a01b0382811691161415610eb15760405162461bcd60e51b815260206004820152602960248201527f474f444c3a2054686520726f7574657220616c7265616479206861732074686160448201526874206164647265737360b81b6064820152608401610aef565b6007546040516001600160a01b03918216918316907fcd2acde3ae4de754da8074077404027fae40be67d89638ee1ceca2427883da7d90600090a3600780546001600160a01b0319166001600160a01b0392909216919091179055565b6008546040516370a0823160e01b81526001600160a01b03838116600483015260009216906370a08231906024015b60206040518083038186803b158015610f5557600080fd5b505afa158015610f69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610abf91906130f1565b6008546040516001624d3b8760e01b0319815260048101839052600091829182916001600160a01b03169063ffb2c47990602401606060405180830381600087803b158015610fdb57600080fd5b505af1158015610fef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110139190613109565b604080518481526020810184905290810182905260608101889052929550909350915032906000907fc864333d6121033635ab41b29ae52f10a22cf4438c3e4f1c4c68518feb2f8a989060800160405180910390a350505050565b6005546001600160a01b031633146110985760405162461bcd60e51b8152600401610aef9061321e565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b0316331461110c5760405162461bcd60e51b8152600401610aef9061321e565b6001600160a01b0381166000908152600e602052604090205460ff16156111aa5760405162461bcd60e51b815260206004820152604660248201527f474f444c3a204163636f756e7420697320616c726561647920616c6c6f77656460448201527f20746f207472616e73666572206265666f72652074726164696e6720697320656064820152651b98589b195960d21b608482015260a401610aef565b6001600160a01b03166000908152600e60205260409020805460ff19166001179055565b6005546001600160a01b031633146111f85760405162461bcd60e51b8152600401610aef9061321e565b600a5481141561121a5760405162461bcd60e51b8152600401610aef906131cc565b600a5460405182907f40d7e40e79af4e8e5a9b3c57030d8ea93f13d669c06d448c4d631d4ae7d23db790600090a3600a55565b6005546001600160a01b031633146112775760405162461bcd60e51b8152600401610aef9061321e565b6008546001600160a01b03828116911614156112f15760405162461bcd60e51b815260206004820152603360248201527f474f444c3a20546865206469766964656e6420747261636b657220616c7265616044820152726479206861732074686174206164647265737360681b6064820152608401610aef565b6000819050306001600160a01b0316816001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561133957600080fd5b505afa15801561134d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113719190612f68565b6001600160a01b0316146113fd5760405162461bcd60e51b815260206004820152604760248201527f474f444c3a20546865206e6577206469766964656e6420747261636b6572206d60448201527f757374206265206f776e65642062792074686520474f444c20746f6b656e20636064820152661bdb9d1c9858dd60ca1b608482015260a401610aef565b60405163031e79db60e41b81526001600160a01b03821660048201819052906331e79db090602401600060405180830381600087803b15801561143f57600080fd5b505af1158015611453573d6000803e3d6000fd5b505060405163031e79db60e41b81523060048201526001600160a01b03841692506331e79db09150602401600060405180830381600087803b15801561149857600080fd5b505af11580156114ac573d6000803e3d6000fd5b50505050806001600160a01b03166331e79db06114d16005546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801561151257600080fd5b505af1158015611526573d6000803e3d6000fd5b505060075460405163031e79db60e41b81526001600160a01b03918216600482015290841692506331e79db09150602401600060405180830381600087803b15801561157157600080fd5b505af1158015611585573d6000803e3d6000fd5b50506008546040516001600160a01b03918216935090851691507f1ae8fd4f008d9dd6f83c1182b3f30d87aed4ac15a15833ad625bbb740463e3c990600090a3600880546001600160a01b0319166001600160a01b039290921691909117905550565b6115f46003600561334e565b81565b606060048054610a2b906133bc565b6005546001600160a01b031633146116305760405162461bcd60e51b8152600401610aef9061321e565b7f0000000000000000000000004aedd28e59cdb3043e269f1d51cbdddf23be56bb6001600160a01b0316826001600160a01b031614156116e85760405162461bcd60e51b815260206004820152604760248201527f474f444c3a2054686520556e697377617020706169722063616e6e6f7420626560448201527f2072656d6f7665642066726f6d206175746f6d617465644d61726b65744d616b6064820152666572506169727360c81b608482015260a401610aef565b6116f28282612844565b5050565b6005546001600160a01b031633146117205760405162461bcd60e51b8152600401610aef9061321e565b600854604051639d55d16f60e01b8152600481018390526001600160a01b0390911690639d55d16f906024015b600060405180830381600087803b15801561176757600080fd5b505af115801561177b573d6000803e3d6000fd5b5050505050565b60085460408051631bc9e27b60e21b815290516000926001600160a01b031691636f2789ec916004808301926020929190829003018186803b158015610c0857600080fd5b6000610abb3384610bb48560405180606001604052806025815260200161347f602591393360009081526001602090815260408083206001600160a01b038d168452909152902054919061280a565b6008546040516302a2e74960e61b81526001600160a01b038381166004830152600092169063a8b9d24090602401610f3d565b6000610abb338484611fbc565b60085460405163fbcbc0f160e01b81526001600160a01b038381166004830152600092839283928392839283928392839291169063fbcbc0f1906024015b6101006040518083038186803b1580156118ad57600080fd5b505afa1580156118c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118e59190613029565b97509750975097509750975097509750919395975091939597565b6005546001600160a01b0316331461192a5760405162461bcd60e51b8152600401610aef9061321e565b60065460408051600160a01b90920460ff161580835280156020840152917f81492e889bb01fbcb80dd006d7f1229e16f8f98757b8dbfcf6b55343d8b7c5c2910160405180910390a160068054911515600160a01b0260ff60a01b19909216919091179055565b6005546001600160a01b031633146119bb5760405162461bcd60e51b8152600401610aef9061321e565b692a5a058fc295ed000000811115611a3b5760405162461bcd60e51b815260206004820152603760248201527f474f444c3a206c6971756964617465546f6b656e734174416d6f756e74206d7560448201527f7374206265206c657373207468616e203230302c3030300000000000000000006064820152608401610aef565b600b54811415611a5d5760405162461bcd60e51b8152600401610aef906131cc565b600b5460405182907fcdadd717dc9ee3550a289071d1af75e229726888d51e3a31c9e3dfc693d4852b90600090a3600b55565b6005546001600160a01b03163314611aba5760405162461bcd60e51b8152600401610aef9061321e565b6009546001600160a01b0382811691161415611b335760405162461bcd60e51b815260206004820152603260248201527f474f444c3a20546865206c69717569646974792077616c6c657420697320616c60448201527172656164792074686973206164647265737360701b6064820152608401610aef565b611b3c81611b99565b6009546040516001600160a01b03918216918316907f6080503d1da552ae8eb4b7b8a20245d9fabed014180510e7d1a05ea08fdb0f3e90600090a3600980546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314611bc35760405162461bcd60e51b8152600401610aef9061321e565b6001600160a01b0381166000908152600d602052604090205460ff1615611c405760405162461bcd60e51b815260206004820152602b60248201527f474f444c3a204163636f756e7420697320616c7265616479206578636c75646560448201526a642066726f6d206665657360a81b6064820152608401610aef565b6001600160a01b03166000908152600d60205260409020805460ff19166001179055565b6008546040805163039e107b60e61b815290516000926001600160a01b03169163e7841ec0916004808301926020929190829003018186803b158015610c0857600080fd5b6005546001600160a01b03163314611cd35760405162461bcd60e51b8152600401610aef9061321e565b60085460405163e98030c760e01b8152600481018390526001600160a01b039091169063e98030c79060240161174d565b600854604051635183d6fd60e01b81526004810183905260009182918291829182918291829182916001600160a01b0390911690635183d6fd90602401611894565b6005546001600160a01b03163314611d705760405162461bcd60e51b8152600401610aef9061321e565b6001600160a01b038116611dd55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610aef565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b600080611e3e838561334e565b905083811015611e905760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610aef565b9392505050565b6001600160a01b038316611ef95760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610aef565b6001600160a01b038216611f5a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610aef565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316611fe25760405162461bcd60e51b8152600401610aef90613253565b6001600160a01b0382166120085760405162461bcd60e51b8152600401610aef90613189565b600c5460ff16806120a1576001600160a01b0384166000908152600e602052604090205460ff166120a15760405162461bcd60e51b815260206004820152603e60248201527f474f444c3a2054686973206163636f756e742063616e6e6f742073656e64207460448201527f6f6b656e7320756e74696c2074726164696e6720697320656e61626c656400006064820152608401610aef565b600654600160a01b900460ff16156122c6577f0000000000000000000000004aedd28e59cdb3043e269f1d51cbdddf23be56bb6001600160a01b0316846001600160a01b0316148061212457507f0000000000000000000000004aedd28e59cdb3043e269f1d51cbdddf23be56bb6001600160a01b0316836001600160a01b0316145b801561212d5750805b156122c6576006546040516312bdf42360e01b81526001600160a01b0386811660048301527f0000000000000000000000004aedd28e59cdb3043e269f1d51cbdddf23be56bb81166024830152326044830152909116906312bdf42390606401602060405180830381600087803b1580156121a757600080fd5b505af11580156121bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121df91906130bd565b156121fc5760405162461bcd60e51b8152600401610aef90613298565b6006546040516312bdf42360e01b81526001600160a01b0385811660048301527f0000000000000000000000004aedd28e59cdb3043e269f1d51cbdddf23be56bb81166024830152326044830152909116906312bdf42390606401602060405180830381600087803b15801561227157600080fd5b505af1158015612285573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122a991906130bd565b156122c65760405162461bcd60e51b8152600401610aef90613298565b816122dd576122d7848460006129a2565b50505050565b600754600160a01b900460ff161580156122f45750805b801561231857506001600160a01b0383166000908152600f602052604090205460ff165b801561233257506007546001600160a01b03858116911614155b801561235757506001600160a01b0383166000908152600d602052604090205460ff16155b156123dc5769d3c21bcecceda10000008211156123dc5760405162461bcd60e51b815260206004820152603d60248201527f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560448201527f204d41585f53454c4c5f5452414e53414354494f4e5f414d4f554e542e0000006064820152608401610aef565b30600090815260208190526040902054600b548110158280156123fc5750805b80156124125750600754600160a01b900460ff16155b801561243757506001600160a01b0386166000908152600f602052604090205460ff16155b801561245157506009546001600160a01b03878116911614155b801561246b57506009546001600160a01b03868116911614155b156124d9576007805460ff60a01b1916600160a01b17905560006124a56124946003600561334e565b61249f856003612aab565b90612b2a565b90506124b081612b6c565b306000908152602081905260409020546124c981612bf3565b50506007805460ff60a01b191690555b60008380156124f25750600754600160a01b900460ff16155b6001600160a01b0388166000908152600d602052604090205490915060ff168061253457506001600160a01b0386166000908152600d602052604090205460ff165b1561253d575060005b801561257b576000612560606461249f6125596003600561334e565b8990612aab565b905061256c8682612c9b565b95506125798830836129a2565b505b6125868787876129a2565b6008546001600160a01b031663e30443bc886125b7816001600160a01b031660009081526020819052604090205490565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b1580156125fd57600080fd5b505af192505050801561260e575060015b506008546001600160a01b031663e30443bc87612640816001600160a01b031660009081526020819052604090205490565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801561268657600080fd5b505af1925050508015612697575060015b50600654600160a01b900460ff16156127185760065460405163155d0ed960e01b81526001600160a01b03898116600483015288811660248301523260448301529091169063155d0ed990606401600060405180830381600087803b1580156126ff57600080fd5b505af1158015612713573d6000803e3d6000fd5b505050505b600754600160a01b900460ff1661280157600a546008546040516001624d3b8760e01b03198152600481018390526001600160a01b039091169063ffb2c47990602401606060405180830381600087803b15801561277557600080fd5b505af19250505080156127a5575060408051601f3d908101601f191682019092526127a291810190613109565b60015b6127ae576127ff565b60408051848152602081018490529081018290526060810185905232906001907fc864333d6121033635ab41b29ae52f10a22cf4438c3e4f1c4c68518feb2f8a989060800160405180910390a35050505b505b50505050505050565b6000818484111561282e5760405162461bcd60e51b8152600401610aef9190613136565b50600061283b84866133a5565b95945050505050565b6001600160a01b0382166000908152600f602052604090205460ff16151581151514156128d95760405162461bcd60e51b815260206004820152603e60248201527f474f444c3a204175746f6d61746564206d61726b6574206d616b65722070616960448201527f7220697320616c72656164792073657420746f20746861742076616c756500006064820152608401610aef565b6001600160a01b0382166000908152600f60205260409020805460ff191682158015919091179091556129665760085460405163031e79db60e41b81526001600160a01b038481166004830152909116906331e79db090602401600060405180830381600087803b15801561294d57600080fd5b505af1158015612961573d6000803e3d6000fd5b505050505b604051811515906001600160a01b038416907fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab90600090a35050565b6001600160a01b0383166129c85760405162461bcd60e51b8152600401610aef90613253565b6001600160a01b0382166129ee5760405162461bcd60e51b8152600401610aef90613189565b612a2b81604051806060016040528060268152602001613431602691396001600160a01b038616600090815260208190526040902054919061280a565b6001600160a01b038085166000908152602081905260408082209390935590841681522054612a5a9082611e31565b6001600160a01b038381166000818152602081815260409182902094909455518481529092918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101611faf565b600082612aba57506000610abf565b6000612ac68385613386565b905082612ad38583613366565b14611e905760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610aef565b6000611e9083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612cdd565b6000612b79826002612b2a565b90506000612b878383612c9b565b905047612b9383612d0b565b6000612b9f4783612c9b565b9050612bab8382612e90565b60408051858152602081018390529081018490527ffb82c2300f807cc60e7abf909b045a028ef3b1807785a6b675eb0fa21e461fa19060600160405180910390a15050505050565b612bfc81612d0b565b60085460405147916000916001600160a01b039091169083908381818185875af1925050503d8060008114612c4d576040519150601f19603f3d011682016040523d82523d6000602084013e612c52565b606091505b505090508015612c965760408051848152602081018490527f5e8c953468549261e19b5df2c0776259d823043f64befbef757760c2800c07ca910160405180910390a15b505050565b6000611e9083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061280a565b60008183612cfe5760405162461bcd60e51b8152600401610aef9190613136565b50600061283b8486613366565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110612d4e57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152600754604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015612da257600080fd5b505afa158015612db6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dda9190612f68565b81600181518110612dfb57634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152600754612e219130911684611e97565b60075460405163791ac94760e01b81526001600160a01b039091169063791ac94790612e5a9085906000908690309042906004016132de565b600060405180830381600087803b158015612e7457600080fd5b505af1158015612e88573d6000803e3d6000fd5b505050505050565b600754612ea89030906001600160a01b031684611e97565b60075460095460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c4016060604051808303818588803b158015612f1357600080fd5b505af1158015612f27573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061177b9190613109565b600060208284031215612f5d578081fd5b8135611e908161340d565b600060208284031215612f79578081fd5b8151611e908161340d565b60008060408385031215612f96578081fd5b8235612fa18161340d565b91506020830135612fb18161340d565b809150509250929050565b600080600060608486031215612fd0578081fd5b8335612fdb8161340d565b92506020840135612feb8161340d565b929592945050506040919091013590565b6000806040838503121561300e578182fd5b82356130198161340d565b91506020830135612fb181613422565b600080600080600080600080610100898b031215613045578384fd5b88516130508161340d565b809850506020890151965060408901519550606089015194506080890151935060a0890151925060c0890151915060e089015190509295985092959890939650565b600080604083850312156130a4578182fd5b82356130af8161340d565b946020939093013593505050565b6000602082840312156130ce578081fd5b8151611e9081613422565b6000602082840312156130ea578081fd5b5035919050565b600060208284031215613102578081fd5b5051919050565b60008060006060848603121561311d578283fd5b8351925060208401519150604084015190509250925092565b6000602080835283518082850152825b8181101561316257858101830151858201604001528201613146565b818111156131735783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526032908201527f474f444c3a2043616e6e6f742075706461746520676173466f7250726f63657360408201527173696e6720746f2073616d652076616c756560701b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526026908201527f42656570204265657020426f6f702c20596f752772652061207069656365206f60408201526506620706f6f760d41b606082015260800190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b8181101561332d5784516001600160a01b031683529383019391830191600101613308565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115613361576133616133f7565b500190565b60008261338157634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156133a0576133a06133f7565b500290565b6000828210156133b7576133b76133f7565b500390565b600181811c908216806133d057607f821691505b602082108114156133f157634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b0381168114610dcf57600080fd5b8015158114610dcf57600080fdfe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220d86d93a55138d3756297da7ecd6bee88ba8c22db1a1c1c978daff6a685ba2b9964736f6c63430008040033
Libraries Used
IterableMapping : 0xaf1da175cf30d036b53d1e94c3173a78a5a59e7f
Deployed Bytecode Sourcemap
269:16077:6:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2111:98:4;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4208:166;;;;;;;;;;-1:-1:-1;4208:166:4;;;;;:::i;:::-;;:::i;:::-;;;6704:14:18;;6697:22;6679:41;;6667:2;6652:18;4208:166:4;6634:92:18;1209:145:6;;;;;;;;;;;;;:::i;:::-;;408:41;;;;;;;;;;-1:-1:-1;408:41:6;;;;-1:-1:-1;;;;;408:41:6;;;;;;-1:-1:-1;;;;;4188:32:18;;;4170:51;;4158:2;4143:18;408:41:6;4125:102:18;3199:106:4;;;;;;;;;;-1:-1:-1;3286:12:4;;3199:106;;;17384:25:18;;;17372:2;17357:18;3199:106:4;17339:76:18;4841:347:4;;;;;;;;;;-1:-1:-1;4841:347:4;;;;;:::i;:::-;;:::i;372:29:6:-;;;;;;;;;;-1:-1:-1;372:29:6;;;;-1:-1:-1;;;372:29:6;;;;;;8238:116;;;;;;;;;;;;;:::i;531:42::-;;;;;;;;;;-1:-1:-1;531:42:6;;;;-1:-1:-1;;;;;531:42:6;;;696:43;;;;;;;;;;;;738:1;696:43;;8472:139;;;;;;;;;;;;;:::i;3048:91:4:-;;;;;;;;;;-1:-1:-1;3048:91:4;;3130:2;19523:36:18;;19511:2;19496:18;3048:91:4;19478:87:18;5583:215:4;;;;;;;;;;-1:-1:-1;5583:215:4;;;;;:::i;:::-;;:::i;10267:210:6:-;;;;;;;;;;-1:-1:-1;10267:210:6;;;;;:::i;:::-;;:::i;455:38::-;;;;;;;;;;;;;;;1176:26;;;;;;;;;;-1:-1:-1;1176:26:6;;;;;;;;9882:101;;;;;;;;;;;;;:::i;8617:123::-;;;;;;;;;;-1:-1:-1;8617:123:6;;;;;:::i;:::-;-1:-1:-1;;;;;8705:28:6;8682:4;8705:28;;;:19;:28;;;;;;;;;8617:123;745:41;;;;;;;;;;;;785:1;745:41;;10122:139;;;;;;;;;;;;;:::i;5316:310::-;;;;;;;;;;-1:-1:-1;5316:310:6;;;;;:::i;:::-;;:::i;8901:137::-;;;;;;;;;;-1:-1:-1;8901:137:6;;;;;:::i;:::-;;:::i;9608:268::-;;;;;;;;;;-1:-1:-1;9608:268:6;;;;;:::i;:::-;;:::i;3363:125:4:-;;;;;;;;;;-1:-1:-1;3363:125:4;;;;;:::i;:::-;-1:-1:-1;;;;;3463:18:4;3437:7;3463:18;;;;;;;;;;;;3363:125;1189:145:14;;;;;;;;;;;;;:::i;1536:66:6:-;;;;;;;;;;-1:-1:-1;1536:66:6;;;;;:::i;:::-;;;;;;;;;;;;;;;;6507:281;;;;;;;;;;-1:-1:-1;6507:281:6;;;;;:::i;:::-;;:::i;7158:374::-;;;;;;;;;;-1:-1:-1;7158:374:6;;;;;:::i;:::-;;:::i;4494:816::-;;;;;;;;;;-1:-1:-1;4494:816:6;;;;;:::i;:::-;;:::i;566:77:14:-;;;;;;;;;;-1:-1:-1;630:6:14;;-1:-1:-1;;;;;630:6:14;566:77;;792:68:6;;;;;;;;;;;;;:::i;2322:102:4:-;;;;;;;;;;;;;:::i;5844:254:6:-;;;;;;;;;;-1:-1:-1;5844:254:6;;;;;:::i;:::-;;:::i;936:40::-;;;;;;;;;;;;;;;;7962:142;;;;;;;;;;-1:-1:-1;7962:142:6;;;;;:::i;:::-;;:::i;8360:106::-;;;;;;;;;;;;;:::i;6285:266:4:-;;;;;;;;;;-1:-1:-1;6285:266:4;;;;;:::i;:::-;;:::i;8746:149:6:-;;;;;;;;;;-1:-1:-1;8746:149:6;;;;;:::i;:::-;;:::i;3691:172:4:-;;;;;;;;;;-1:-1:-1;3691:172:4;;;;;:::i;:::-;;:::i;9044:271:6:-;;;;;;;;;;-1:-1:-1;9044:271:6;;;;;:::i;:::-;;:::i;:::-;;;;-1:-1:-1;;;;;5578:32:18;;;5560:51;;5642:2;5627:18;;5620:34;;;;5670:18;;;5663:34;;;;5728:2;5713:18;;5706:34;;;;5771:3;5756:19;;5749:35;5598:3;5800:19;;5793:35;5859:3;5844:19;;5837:35;5903:3;5888:19;;5881:35;5547:3;5532:19;9044:271:6;5514:408:18;10483:170:6;;;;;;;;;;;;;:::i;1756:58::-;;;;;;;;;;-1:-1:-1;1756:58:6;;;;;:::i;:::-;;;;;;;;;;;;;;;;1064;;;;;;;;;;;;;;;;7538:418;;;;;;;;;;-1:-1:-1;7538:418:6;;;;;:::i;:::-;;:::i;580:30::-;;;;;;;;;;-1:-1:-1;580:30:6;;;;-1:-1:-1;;;;;580:30:6;;;3921:149:4;;;;;;;;;;-1:-1:-1;3921:149:4;;;;;:::i;:::-;-1:-1:-1;;;;;4036:18:4;;;4010:7;4036:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3921:149;6794:358:6;;;;;;;;;;-1:-1:-1;6794:358:6;;;;;:::i;:::-;;:::i;5632:206::-;;;;;;;;;;-1:-1:-1;5632:206:6;;;;;:::i;:::-;;:::i;9989:127::-;;;;;;;;;;;;;:::i;8110:122::-;;;;;;;;;;-1:-1:-1;8110:122:6;;;;;:::i;:::-;;:::i;9321:281::-;;;;;;;;;;-1:-1:-1;9321:281:6;;;;;:::i;:::-;;:::i;1483:240:14:-;;;;;;;;;;-1:-1:-1;1483:240:14;;;;;:::i;:::-;;:::i;617:72:6:-;;;;;;;;;;;;671:18;617:72;;2111:98:4;2165:13;2197:5;2190:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2111:98;:::o;4208:166::-;4291:4;4307:39;665:10:0;4330:7:4;4339:6;4307:8;:39::i;:::-;-1:-1:-1;4363:4:4;4208:166;;;;;:::o;1209:145:6:-;770:6:14;;-1:-1:-1;;;;;770:6:14;665:10:0;770:22:14;762:67;;;;-1:-1:-1;;;762:67:14;;;;;;;:::i;:::-;;;;;;;;;1265:14:6::1;::::0;::::1;;1264:15;1256:60;;;::::0;-1:-1:-1;;;1256:60:6;;8697:2:18;1256:60:6::1;::::0;::::1;8679:21:18::0;;;8716:18;;;8709:30;8775:34;8755:18;;;8748:62;8827:18;;1256:60:6::1;8669:182:18::0;1256:60:6::1;1326:14;:21:::0;;-1:-1:-1;;1326:21:6::1;1343:4;1326:21;::::0;;1209:145::o;4841:347:4:-;4977:4;4993:36;5003:6;5011:9;5022:6;4993:9;:36::i;:::-;5039:121;5048:6;665:10:0;5070:89:4;5108:6;5070:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5070:19:4;;;;;;:11;:19;;;;;;;;665:10:0;5070:33:4;;;;;;;;;;:37;:89::i;:::-;5039:8;:121::i;:::-;-1:-1:-1;5177:4:4;4841:347;;;;;:::o;8238:116:6:-;8315:15;;:32;;;-1:-1:-1;;;8315:32:6;;;;8289:7;;-1:-1:-1;;;;;8315:15:6;;:30;;:32;;;;;;;;;;;;;;:15;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8308:39;;8238:116;:::o;8472:139::-;8561:15;;:43;;;-1:-1:-1;;;8561:43:6;;;;8535:7;;-1:-1:-1;;;;;8561:15:6;;:41;;:43;;;;;;;;;;;;;;:15;:43;;;;;;;;;;5583:215:4;665:10:0;5671:4:4;5719:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;5719:34:4;;;;;;;;;;5671:4;;5687:83;;5710:7;;5719:50;;5758:10;5719:38;:50::i;10267:210:6:-;770:6:14;;-1:-1:-1;;;;;770:6:14;665:10:0;770:22:14;762:67;;;;-1:-1:-1;;;762:67:14;;;;;;;:::i;:::-;10433:7:6::1;::::0;10398:44:::1;::::0;10372:10;;-1:-1:-1;;;;;10433:7:6;;::::1;::::0;10398:44;;::::1;::::0;::::1;::::0;10339:19:::1;::::0;10398:44:::1;10452:7;:18:::0;;-1:-1:-1;;;;;;10452:18:6::1;-1:-1:-1::0;;;;;10452:18:6;;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;10267:210:6:o;9882:101::-;9918:15;;:58;;-1:-1:-1;;;9918:58:6;;9957:10;9918:58;;;4416:51:18;9918:15:6;4483:18:18;;;4476:50;-1:-1:-1;;;;;9918:15:6;;;;:30;;4389:18:18;;9918:58:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9882:101::o;10122:139::-;10213:15;;:41;;;-1:-1:-1;;;10213:41:6;;;;10187:7;;-1:-1:-1;;;;;10213:15:6;;:39;;:41;;;;;;;;;;;;;;:15;:41;;;;;;;;;;5316:310;770:6:14;;-1:-1:-1;;;;;770:6:14;665:10:0;770:22:14;762:67;;;;-1:-1:-1;;;762:67:14;;;;;;;:::i;:::-;5424:15:6::1;::::0;-1:-1:-1;;;;;5402:38:6;;::::1;5424:15:::0;::::1;5402:38;;5394:92;;;::::0;-1:-1:-1;;;5394:92:6;;14913:2:18;5394:92:6::1;::::0;::::1;14895:21:18::0;14952:2;14932:18;;;14925:30;14991:34;14971:18;;;14964:62;-1:-1:-1;;;15042:18:18;;;15035:39;15091:19;;5394:92:6::1;14885:231:18::0;5394:92:6::1;5544:15;::::0;5501:60:::1;::::0;-1:-1:-1;;;;;5544:15:6;;::::1;::::0;5501:60;::::1;::::0;::::1;::::0;5544:15:::1;::::0;5501:60:::1;5571:15;:48:::0;;-1:-1:-1;;;;;;5571:48:6::1;-1:-1:-1::0;;;;;5571:48:6;;;::::1;::::0;;;::::1;::::0;;5316:310::o;8901:137::-;8997:15;;:34;;-1:-1:-1;;;8997:34:6;;-1:-1:-1;;;;;4188:32:18;;;8997:34:6;;;4170:51:18;8971:7:6;;8997:15;;:25;;4143:18:18;;8997:34:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;9608:268::-;9739:15;;:28;;-1:-1:-1;;;;;;9739:28:6;;;;;17384:25:18;;;9673:18:6;;;;;;-1:-1:-1;;;;;9739:15:6;;:23;;17357:18:18;;9739:28:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9782:87;;;19216:25:18;;;19272:2;19257:18;;19250:34;;;19300:18;;;19293:34;;;19358:2;19343:18;;19336:34;;;9672:95:6;;-1:-1:-1;9672:95:6;;-1:-1:-1;9672:95:6;-1:-1:-1;9859:9:6;;9847:5;;9782:87;;19203:3:18;19188:19;9782:87:6;;;;;;;9608:268;;;;:::o;1189:145:14:-;770:6;;-1:-1:-1;;;;;770:6:14;665:10:0;770:22:14;762:67;;;;-1:-1:-1;;;762:67:14;;;;;;;:::i;:::-;1279:6:::1;::::0;1258:40:::1;::::0;1295:1:::1;::::0;-1:-1:-1;;;;;1279:6:14::1;::::0;1258:40:::1;::::0;1295:1;;1258:40:::1;1308:6;:19:::0;;-1:-1:-1;;;;;;1308:19:14::1;::::0;;1189:145::o;6507:281:6:-;770:6:14;;-1:-1:-1;;;;;770:6:14;665:10:0;770:22:14;762:67;;;;-1:-1:-1;;;762:67:14;;;;;;;:::i;:::-;-1:-1:-1;;;;;6605:42:6;::::1;;::::0;;;:33:::1;:42;::::0;;;;;::::1;;6604:43;6596:126;;;::::0;-1:-1:-1;;;6596:126:6;;15323:2:18;6596:126:6::1;::::0;::::1;15305:21:18::0;15362:2;15342:18;;;15335:30;15401:34;15381:18;;;15374:62;15472:34;15452:18;;;15445:62;-1:-1:-1;;;15523:19:18;;;15516:37;15570:19;;6596:126:6::1;15295:300:18::0;6596:126:6::1;-1:-1:-1::0;;;;;6732:42:6::1;;::::0;;;:33:::1;:42;::::0;;;;:49;;-1:-1:-1;;6732:49:6::1;6777:4;6732:49;::::0;;6507:281::o;7158:374::-;770:6:14;;-1:-1:-1;;;;;770:6:14;665:10:0;770:22:14;762:67;;;;-1:-1:-1;;;762:67:14;;;;;;;:::i;:::-;7351:16:6::1;;7339:8;:28;;7331:91;;;;-1:-1:-1::0;;;7331:91:6::1;;;;;;;:::i;:::-;7471:16;::::0;7437:51:::1;::::0;7461:8;;7437:51:::1;::::0;;;::::1;7498:16;:27:::0;7158:374::o;4494:816::-;770:6:14;;-1:-1:-1;;;;;770:6:14;665:10:0;770:22:14;762:67;;;;-1:-1:-1;;;762:67:14;;;;;;;:::i;:::-;4602:15:6::1;::::0;-1:-1:-1;;;;;4580:38:6;;::::1;4602:15:::0;::::1;4580:38;;4572:102;;;::::0;-1:-1:-1;;;4572:102:6;;16613:2:18;4572:102:6::1;::::0;::::1;16595:21:18::0;16652:2;16632:18;;;16625:30;16691:34;16671:18;;;16664:62;-1:-1:-1;;;16742:18:18;;;16735:49;16801:19;;4572:102:6::1;16585:241:18::0;4572:102:6::1;4685:38;4754:10;4685:81;;4823:4;-1:-1:-1::0;;;;;4785:43:6::1;:18;-1:-1:-1::0;;;;;4785:24:6::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;4785:43:6::1;;4777:127;;;::::0;-1:-1:-1;;;4777:127:6;;10287:2:18;4777:127:6::1;::::0;::::1;10269:21:18::0;10326:2;10306:18;;;10299:30;10365:34;10345:18;;;10338:62;10436:34;10416:18;;;10409:62;-1:-1:-1;;;10487:19:18;;;10480:38;10535:19;;4777:127:6::1;10259:301:18::0;4777:127:6::1;4915:68;::::0;-1:-1:-1;;;4915:68:6;;-1:-1:-1;;;;;4915:39:6;::::1;:68;::::0;::::1;4170:51:18::0;;;4915:39:6;::::1;::::0;4143:18:18;;4915:68:6::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4993:54:6::1;::::0;-1:-1:-1;;;4993:54:6;;5041:4:::1;4993:54;::::0;::::1;4170:51:18::0;-1:-1:-1;;;;;4993:39:6;::::1;::::0;-1:-1:-1;4993:39:6::1;::::0;-1:-1:-1;4143:18:18;;4993:54:6::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5057:18;-1:-1:-1::0;;;;;5057:39:6::1;;5097:7;630:6:14::0;;-1:-1:-1;;;;;630:6:14;;566:77;5097:7:6::1;5057:48;::::0;-1:-1:-1;;;;;;5057:48:6::1;::::0;;;;;;-1:-1:-1;;;;;4188:32:18;;;5057:48:6::1;::::0;::::1;4170:51:18::0;4143:18;;5057:48:6::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5163:15:6::1;::::0;5115:65:::1;::::0;-1:-1:-1;;;5115:65:6;;-1:-1:-1;;;;;5163:15:6;;::::1;5115:65;::::0;::::1;4170:51:18::0;5115:39:6;;::::1;::::0;-1:-1:-1;5115:39:6::1;::::0;-1:-1:-1;4143:18:18;;5115:65:6::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5239:15:6::1;::::0;5196:60:::1;::::0;-1:-1:-1;;;;;5239:15:6;;::::1;::::0;-1:-1:-1;5196:60:6;;::::1;::::0;-1:-1:-1;5196:60:6::1;::::0;5239:15:::1;::::0;5196:60:::1;5267:15;:36:::0;;-1:-1:-1;;;;;;5267:36:6::1;-1:-1:-1::0;;;;;5267:36:6;;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;4494:816:6:o;792:68::-;829:31;785:1;738;829:31;:::i;:::-;792:68;:::o;2322:102:4:-;2378:13;2410:7;2403:14;;;;;:::i;5844:254:6:-;770:6:14;;-1:-1:-1;;;;;770:6:14;665:10:0;770:22:14;762:67;;;;-1:-1:-1;;;762:67:14;;;;;;;:::i;:::-;5950:13:6::1;-1:-1:-1::0;;;;;5942:21:6::1;:4;-1:-1:-1::0;;;;;5942:21:6::1;;;5934:105;;;::::0;-1:-1:-1;;;5934:105:6;;11973:2:18;5934:105:6::1;::::0;::::1;11955:21:18::0;12012:2;11992:18;;;11985:30;12051:34;12031:18;;;12024:62;12122:34;12102:18;;;12095:62;-1:-1:-1;;;12173:19:18;;;12166:38;12221:19;;5934:105:6::1;11945:301:18::0;5934:105:6::1;6050:41;6079:4;6085:5;6050:28;:41::i;:::-;5844:254:::0;;:::o;7962:142::-;770:6:14;;-1:-1:-1;;;;;770:6:14;665:10:0;770:22:14;762:67;;;;-1:-1:-1;;;762:67:14;;;;;;;:::i;:::-;8045:15:6::1;::::0;:52:::1;::::0;-1:-1:-1;;;8045:52:6;;::::1;::::0;::::1;17384:25:18::0;;;-1:-1:-1;;;;;8045:15:6;;::::1;::::0;:36:::1;::::0;17357:18:18;;8045:52:6::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;7962:142:::0;:::o;8360:106::-;8432:15;;:27;;;-1:-1:-1;;;8432:27:6;;;;8406:7;;-1:-1:-1;;;;;8432:15:6;;:25;;:27;;;;;;;;;;;;;;:15;:27;;;;;;;;;;6285:266:4;6378:4;6394:129;665:10:0;6417:7:4;6426:96;6465:15;6426:96;;;;;;;;;;;;;;;;;665:10:0;6426:25:4;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;6426:34:4;;;;;;;;;;;;:38;:96::i;8746:149:6:-;8841:15;;:47;;-1:-1:-1;;;8841:47:6;;-1:-1:-1;;;;;4188:32:18;;;8841:47:6;;;4170:51:18;8815:7:6;;8841:15;;:38;;4143:18:18;;8841:47:6;4125:102:18;3691:172:4;3777:4;3793:42;665:10:0;3817:9:4;3828:6;3793:9;:42::i;9044:271:6:-;9273:15;;:35;;-1:-1:-1;;;9273:35:6;;-1:-1:-1;;;;;4188:32:18;;;9273:35:6;;;4170:51:18;9130:7:6;;;;;;;;;;;;;;;;9273:15;;;:26;;4143:18:18;;9273:35:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9266:42;;;;;;;;;;;;;;;;9044:271;;;;;;;;;:::o;10483:170::-;770:6:14;;-1:-1:-1;;;;;770:6:14;665:10:0;770:22:14;762:67;;;;-1:-1:-1;;;762:67:14;;;;;;;:::i;:::-;10554:10:6::1;::::0;10579:36:::1;::::0;;-1:-1:-1;;;10554:10:6;;::::1;;;10553:11;6893:41:18::0;;;6918:14;;6965:2;6950:18;;6943:50;10553:11:6;10579:36:::1;::::0;6866:18:18;10579:36:6::1;;;;;;;10625:10;:21:::0;;;::::1;;-1:-1:-1::0;;;10625:21:6::1;-1:-1:-1::0;;;;10625:21:6;;::::1;::::0;;;::::1;::::0;;10483:170::o;7538:418::-;770:6:14;;-1:-1:-1;;;;;770:6:14;665:10:0;770:22:14;762:67;;;;-1:-1:-1;;;762:67:14;;;;;;;:::i;:::-;7641:19:6::1;7629:8;:31;;7621:99;;;::::0;-1:-1:-1;;;7621:99:6;;14058:2:18;7621:99:6::1;::::0;::::1;14040:21:18::0;14097:2;14077:18;;;14070:30;14136:34;14116:18;;;14109:62;14207:25;14187:18;;;14180:53;14250:19;;7621:99:6::1;14030:245:18::0;7621:99:6::1;7750:23;;7738:8;:35;;7730:98;;;;-1:-1:-1::0;;;7730:98:6::1;;;;;;;:::i;:::-;7881:23;::::0;7843:62:::1;::::0;7871:8;;7843:62:::1;::::0;;;::::1;7915:23;:34:::0;7538:418::o;6794:358::-;770:6:14;;-1:-1:-1;;;;;770:6:14;665:10:0;770:22:14;762:67;;;;-1:-1:-1;;;762:67:14;;;;;;;:::i;:::-;6910:15:6::1;::::0;-1:-1:-1;;;;;6888:37:6;;::::1;6910:15:::0;::::1;6888:37;;6880:100;;;::::0;-1:-1:-1;;;6880:100:6;;9058:2:18;6880:100:6::1;::::0;::::1;9040:21:18::0;9097:2;9077:18;;;9070:30;9136:34;9116:18;;;9109:62;-1:-1:-1;;;9187:18:18;;;9180:48;9245:19;;6880:100:6::1;9030:240:18::0;6880:100:6::1;6990:35;7006:18;6990:15;:35::i;:::-;7083:15;::::0;7040:59:::1;::::0;-1:-1:-1;;;;;7083:15:6;;::::1;::::0;7040:59;::::1;::::0;::::1;::::0;7083:15:::1;::::0;7040:59:::1;7109:15;:36:::0;;-1:-1:-1;;;;;;7109:36:6::1;-1:-1:-1::0;;;;;7109:36:6;;;::::1;::::0;;;::::1;::::0;;6794:358::o;5632:206::-;770:6:14;;-1:-1:-1;;;;;770:6:14;665:10:0;770:22:14;762:67;;;;-1:-1:-1;;;762:67:14;;;;;;;:::i;:::-;-1:-1:-1;;;;;5710:28:6;::::1;;::::0;;;:19:::1;:28;::::0;;;;;::::1;;5709:29;5701:85;;;::::0;-1:-1:-1;;;5701:85:6;;12453:2:18;5701:85:6::1;::::0;::::1;12435:21:18::0;12492:2;12472:18;;;12465:30;12531:34;12511:18;;;12504:62;-1:-1:-1;;;12582:18:18;;;12575:41;12633:19;;5701:85:6::1;12425:233:18::0;5701:85:6::1;-1:-1:-1::0;;;;;5796:28:6::1;;::::0;;;:19:::1;:28;::::0;;;;:35;;-1:-1:-1;;5796:35:6::1;5827:4;5796:35;::::0;;5632:206::o;9989:127::-;10070:15;;:39;;;-1:-1:-1;;;10070:39:6;;;;10044:7;;-1:-1:-1;;;;;10070:15:6;;:37;;:39;;;;;;;;;;;;;;:15;:39;;;;;;;;;;8110:122;770:6:14;;-1:-1:-1;;;;;770:6:14;665:10:0;770:22:14;762:67;;;;-1:-1:-1;;;762:67:14;;;;;;;:::i;:::-;8183:15:6::1;::::0;:42:::1;::::0;-1:-1:-1;;;8183:42:6;;::::1;::::0;::::1;17384:25:18::0;;;-1:-1:-1;;;;;8183:15:6;;::::1;::::0;:31:::1;::::0;17357:18:18;;8183:42:6::1;17339:76:18::0;9321:281:6;9555:15;;:40;;-1:-1:-1;;;9555:40:6;;;;;17384:25:18;;;9412:7:6;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9555:15:6;;;;:33;;17357:18:18;;9555:40:6;17339:76:18;1483:240:14;770:6;;-1:-1:-1;;;;;770:6:14;665:10:0;770:22:14;762:67;;;;-1:-1:-1;;;762:67:14;;;;;;;:::i;:::-;-1:-1:-1;;;;;1571:22:14;::::1;1563:73;;;::::0;-1:-1:-1;;;1563:73:14;;9477:2:18;1563:73:14::1;::::0;::::1;9459:21:18::0;9516:2;9496:18;;;9489:30;9555:34;9535:18;;;9528:62;-1:-1:-1;;;9606:18:18;;;9599:36;9652:19;;1563:73:14::1;9449:228:18::0;1563:73:14::1;1672:6;::::0;1651:38:::1;::::0;-1:-1:-1;;;;;1651:38:14;;::::1;::::0;1672:6:::1;::::0;1651:38:::1;::::0;1672:6:::1;::::0;1651:38:::1;1699:6;:17:::0;;-1:-1:-1;;;;;;1699:17:14::1;-1:-1:-1::0;;;;;1699:17:14;;;::::1;::::0;;;::::1;::::0;;1483:240::o;310:176:15:-;368:7;;399:5;403:1;399;:5;:::i;:::-;387:17;;427:1;422;:6;;414:46;;;;-1:-1:-1;;;414:46:15;;10767:2:18;414:46:15;;;10749:21:18;10806:2;10786:18;;;10779:30;10845:29;10825:18;;;10818:57;10892:18;;414:46:15;10739:177:18;414:46:15;478:1;310:176;-1:-1:-1;;;310:176:15:o;9384:370:4:-;-1:-1:-1;;;;;9515:19:4;;9507:68;;;;-1:-1:-1;;;9507:68:4;;16208:2:18;9507:68:4;;;16190:21:18;16247:2;16227:18;;;16220:30;16286:34;16266:18;;;16259:62;-1:-1:-1;;;16337:18:18;;;16330:34;16381:19;;9507:68:4;16180:226:18;9507:68:4;-1:-1:-1;;;;;9593:21:4;;9585:68;;;;-1:-1:-1;;;9585:68:4;;9884:2:18;9585:68:4;;;9866:21:18;9923:2;9903:18;;;9896:30;9962:34;9942:18;;;9935:62;-1:-1:-1;;;10013:18:18;;;10006:32;10055:19;;9585:68:4;9856:224:18;9585:68:4;-1:-1:-1;;;;;9664:18:4;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9715:32;;17384:25:18;;;9715:32:4;;17357:18:18;9715:32:4;;;;;;;;9384:370;;;:::o;10659:3373:6:-;-1:-1:-1;;;;;10786:18:6;;10778:68;;;;-1:-1:-1;;;10778:68:6;;;;;;;:::i;:::-;-1:-1:-1;;;;;10864:16:6;;10856:64;;;;-1:-1:-1;;;10856:64:6;;;;;;;:::i;:::-;10955:14;;;;;11072:162;;-1:-1:-1;;;;;11117:39:6;;;;;;:33;:39;;;;;;;;11109:114;;;;-1:-1:-1;;;11109:114:6;;14482:2:18;11109:114:6;;;14464:21:18;14521:2;14501:18;;;14494:30;14560:34;14540:18;;;14533:62;14631:32;14611:18;;;14604:60;14681:19;;11109:114:6;14454:252:18;11109:114:6;11248:10;;-1:-1:-1;;;11248:10:6;;;;11244:368;;;11287:13;-1:-1:-1;;;;;11279:21:6;:4;-1:-1:-1;;;;;11279:21:6;;:44;;;;11310:13;-1:-1:-1;;;;;11304:19:6;:2;-1:-1:-1;;;;;11304:19:6;;11279:44;11278:66;;;;;11328:16;11278:66;11274:328;;;11373:7;;:51;;-1:-1:-1;;;11373:51:6;;-1:-1:-1;;;;;5090:15:18;;;11373:51:6;;;5072:34:18;11399:13:6;5142:15:18;;5122:18;;;5115:43;11414:9:6;5174:18:18;;;5167:43;11373:7:6;;;;:19;;5007:18:18;;11373:51:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11372:52;11364:104;;;;-1:-1:-1;;;11364:104:6;;;;;;;:::i;:::-;11495:7;;:49;;-1:-1:-1;;;11495:49:6;;-1:-1:-1;;;;;5090:15:18;;;11495:49:6;;;5072:34:18;11519:13:6;5142:15:18;;5122:18;;;5115:43;11534:9:6;5174:18:18;;;5167:43;11495:7:6;;;;:19;;5007:18:18;;11495:49:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11494:50;11486:101;;;;-1:-1:-1;;;11486:101:6;;;;;;;:::i;:::-;11626:11;11622:90;;11653:28;11669:4;11675:2;11679:1;11653:15;:28::i;:::-;11695:7;10659:3373;;;:::o;11622:90::-;11727:11;;-1:-1:-1;;;11727:11:6;;;;11726:12;:44;;;;;11754:16;11726:44;:89;;;;-1:-1:-1;;;;;;11786:29:6;;;;;;:25;:29;;;;;;;;11726:89;:204;;;;-1:-1:-1;11914:15:6;;-1:-1:-1;;;;;11898:32:6;;;11914:15;;11898:32;;11726:204;:308;;;;-1:-1:-1;;;;;;12011:23:6;;;;;;:19;:23;;;;;;;;12010:24;11726:308;11722:497;;;671:18;12105:6;:37;;12097:111;;;;-1:-1:-1;;;12097:111:6;;13628:2:18;12097:111:6;;;13610:21:18;13667:2;13647:18;;;13640:30;13706:34;13686:18;;;13679:62;13777:31;13757:18;;;13750:59;13826:19;;12097:111:6;13600:251:18;12097:111:6;12278:4;12229:28;3463:18:4;;;;;;;;;;;12334:23:6;;12310:47;;;12372:16;:39;;;;;12404:7;12372:39;:67;;;;-1:-1:-1;12428:11:6;;-1:-1:-1;;;12428:11:6;;;;12427:12;12372:67;:115;;;;-1:-1:-1;;;;;;12456:31:6;;;;;;:25;:31;;;;;;;;12455:32;12372:115;:154;;;;-1:-1:-1;12511:15:6;;-1:-1:-1;;;;;12503:23:6;;;12511:15;;12503:23;;12372:154;:191;;;;-1:-1:-1;12548:15:6;;-1:-1:-1;;;;;12542:21:6;;;12548:15;;12542:21;;12372:191;12368:520;;;12588:11;:18;;-1:-1:-1;;;;12588:18:6;-1:-1:-1;;;12588:18:6;;;;12642:55;829:31;785:1;738;829:31;:::i;:::-;12642:39;:20;785:1;12642:24;:39::i;:::-;:43;;:55::i;:::-;12621:76;;12711:26;12726:10;12711:14;:26::i;:::-;12791:4;12752:18;3463::4;;;;;;;;;;;12811:32:6;3463:18:4;12811:20:6;:32::i;:::-;-1:-1:-1;;12858:11:6;:19;;-1:-1:-1;;;;12858:19:6;;;12368:520;12898:12;12913:16;:32;;;;-1:-1:-1;12934:11:6;;-1:-1:-1;;;12934:11:6;;;;12933:12;12913:32;-1:-1:-1;;;;;13044:25:6;;;;;;:19;:25;;;;;;12898:47;;-1:-1:-1;13044:25:6;;;:52;;-1:-1:-1;;;;;;13073:23:6;;;;;;:19;:23;;;;;;;;13044:52;13040:98;;;-1:-1:-1;13122:5:6;13040:98;13152:7;13148:180;;;13175:12;13190:31;13217:3;13190:22;829:31;785:1;738;829:31;:::i;:::-;13190:6;;:10;:22::i;:31::-;13175:46;-1:-1:-1;13244:16:6;:6;13175:46;13244:10;:16::i;:::-;13235:25;;13275:42;13291:4;13305;13312;13275:15;:42::i;:::-;13148:180;;13338:33;13354:4;13360:2;13364:6;13338:15;:33::i;:::-;13386:15;;-1:-1:-1;;;;;13386:15:6;:26;13421:4;13428:15;13421:4;-1:-1:-1;;;;;3463:18:4;3437:7;3463:18;;;;;;;;;;;;3363:125;13428:15:6;13386:58;;-1:-1:-1;;;;;;13386:58:6;;;;;;;-1:-1:-1;;;;;4745:32:18;;;13386:58:6;;;4727:51:18;4794:18;;;4787:34;4700:18;;13386:58:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13382:74;13469:15;;-1:-1:-1;;;;;13469:15:6;:26;13504:2;13509:13;13504:2;-1:-1:-1;;;;;3463:18:4;3437:7;3463:18;;;;;;;;;;;;3363:125;13509:13:6;13469:54;;-1:-1:-1;;;;;;13469:54:6;;;;;;;-1:-1:-1;;;;;4745:32:18;;;13469:54:6;;;4727:51:18;4794:18;;;4787:34;4700:18;;13469:54:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13465:70;13549:10;;-1:-1:-1;;;13549:10:6;;;;13545:131;;;13623:7;;:42;;-1:-1:-1;;;13623:42:6;;-1:-1:-1;;;;;5090:15:18;;;13623:42:6;;;5072:34:18;5142:15;;;5122:18;;;5115:43;13655:9:6;5174:18:18;;;5167:43;13623:7:6;;;;:21;;5007:18:18;;13623:42:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13545:131;13691:11;;-1:-1:-1;;;13691:11:6;;;;13686:340;;13732:16;;13767:15;;:28;;-1:-1:-1;;;;;;13767:28:6;;;;;17384:25:18;;;-1:-1:-1;;;;;13767:15:6;;;;:23;;17357:18:18;;13767:28:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13767:28:6;;;;;;;;-1:-1:-1;;13767:28:6;;;;;;;;;;;;:::i;:::-;;;13763:253;;;;;13892:86;;;19216:25:18;;;19272:2;19257:18;;19250:34;;;19300:18;;;19293:34;;;19358:2;19343:18;;19336:34;;;13968:9:6;;13957:4;;13892:86;;19203:3:18;19188:19;13892:86:6;;;;;;;13796:197;;;13763:253;13686:340;;10659:3373;;;;;;;:::o;1182:187:15:-;1268:7;1303:12;1295:6;;;;1287:29;;;;-1:-1:-1;;;1287:29:15;;;;;;;;:::i;:::-;-1:-1:-1;1326:9:15;1338:5;1342:1;1338;:5;:::i;:::-;1326:17;1182:187;-1:-1:-1;;;;;1182:187:15:o;6104:397:6:-;-1:-1:-1;;;;;6194:31:6;;;;;;:25;:31;;;;;;;;:40;;;;;;;6186:115;;;;-1:-1:-1;;;6186:115:6;;11123:2:18;6186:115:6;;;11105:21:18;11162:2;11142:18;;;11135:30;11201:34;11181:18;;;11174:62;11272:32;11252:18;;;11245:60;11322:19;;6186:115:6;11095:252:18;6186:115:6;-1:-1:-1;;;;;6311:31:6;;;;;;:25;:31;;;;;:39;;-1:-1:-1;;6311:39:6;;;;;;;;;;;;6361:78;;6386:15;;:42;;-1:-1:-1;;;6386:42:6;;-1:-1:-1;;;;;4188:32:18;;;6386:42:6;;;4170:51:18;6386:15:6;;;;:36;;4143:18:18;;6386:42:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6361:78;6454:40;;;;;;-1:-1:-1;;;;;6454:40:6;;;;;;;;6104:397;;:::o;7025:560:4:-;-1:-1:-1;;;;;7160:20:4;;7152:70;;;;-1:-1:-1;;;7152:70:4;;;;;;;:::i;:::-;-1:-1:-1;;;;;7240:23:4;;7232:71;;;;-1:-1:-1;;;7232:71:4;;;;;;;:::i;:::-;7392;7414:6;7392:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7392:17:4;;:9;:17;;;;;;;;;;;;:71;:21;:71::i;:::-;-1:-1:-1;;;;;7372:17:4;;;:9;:17;;;;;;;;;;;:91;;;;7496:20;;;;;;;:32;;7521:6;7496:24;:32::i;:::-;-1:-1:-1;;;;;7473:20:4;;;:9;:20;;;;;;;;;;;;:55;;;;7543:35;17384:25:18;;;7473:20:4;;7543:35;;;;;;17357:18:18;7543:35:4;17339:76:18;1616:459:15;1674:7;1915:6;1911:45;;-1:-1:-1;1944:1:15;1937:8;;1911:45;1966:9;1978:5;1982:1;1978;:5;:::i;:::-;1966:17;-1:-1:-1;2010:1:15;2001:5;2005:1;1966:17;2001:5;:::i;:::-;:10;1993:56;;;;-1:-1:-1;;;1993:56:15;;12865:2:18;1993:56:15;;;12847:21:18;12904:2;12884:18;;;12877:30;12943:34;12923:18;;;12916:62;-1:-1:-1;;;12994:18:18;;;12987:31;13035:19;;1993:56:15;12837:223:18;2537:130:15;2595:7;2621:39;2625:1;2628;2621:39;;;;;;;;;;;;;;;;;:3;:39::i;14038:897:6:-;14146:12;14161:13;:6;14172:1;14161:10;:13::i;:::-;14146:28;-1:-1:-1;14184:17:6;14204:16;:6;14146:28;14204:10;:16::i;:::-;14184:36;-1:-1:-1;14517:21:6;14580:22;14597:4;14580:16;:22::i;:::-;14730:18;14751:41;:21;14777:14;14751:25;:41::i;:::-;14730:62;;14839:35;14852:9;14863:10;14839:12;:35::i;:::-;14890:38;;;18863:25:18;;;18919:2;18904:18;;18897:34;;;18947:18;;;18940:34;;;14890:38:6;;18851:2:18;18836:18;14890:38:6;;;;;;;14038:897;;;;;:::o;16034:310::-;16098:24;16115:6;16098:16;:24::i;:::-;16210:15;;16202:51;;16152:21;;16132:17;;-1:-1:-1;;;;;16210:15:6;;;;16152:21;;16132:17;16202:51;16132:17;16202:51;16152:21;16210:15;16202:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16184:69;;;16267:7;16263:75;;;16295:32;;;18582:25:18;;;18638:2;18623:18;;18616:34;;;16295:32:6;;18555:18:18;16295:32:6;;;;;;;16263:75;16034:310;;;:::o;757:134:15:-;815:7;841:43;845:1;848;841:43;;;;;;;;;;;;;;;;;:3;:43::i;3149:272::-;3235:7;3269:12;3262:5;3254:28;;;;-1:-1:-1;;;3254:28:15;;;;;;;;:::i;:::-;-1:-1:-1;3292:9:15;3304:5;3308:1;3304;:5;:::i;14941:573:6:-;15089:16;;;15103:1;15089:16;;;;;;;;15065:21;;15089:16;;;;;;;;;;-1:-1:-1;15089:16:6;15065:40;;15133:4;15115;15120:1;15115:7;;;;;;-1:-1:-1;;;15115:7:6;;;;;;;;;-1:-1:-1;;;;;15115:23:6;;;:7;;;;;;;;;;:23;;;;15158:15;;:22;;;-1:-1:-1;;;15158:22:6;;;;:15;;;;;:20;;:22;;;;;15115:7;;15158:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15148:4;15153:1;15148:7;;;;;;-1:-1:-1;;;15148:7:6;;;;;;;;;-1:-1:-1;;;;;15148:32:6;;;:7;;;;;;;;;:32;15223:15;;15191:62;;15208:4;;15223:15;15241:11;15191:8;:62::i;:::-;15289:15;;:218;;-1:-1:-1;;;15289:218:6;;-1:-1:-1;;;;;15289:15:6;;;;:66;;:218;;15369:11;;15289:15;;15437:4;;15463;;15482:15;;15289:218;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14941:573;;:::o;15520:508::-;15698:15;;15666:62;;15683:4;;-1:-1:-1;;;;;15698:15:6;15716:11;15666:8;:62::i;:::-;15768:15;;15967;;15768:253;;-1:-1:-1;;;15768:253:6;;15839:4;15768:253;;;6268:34:18;6318:18;;;6311:34;;;15768:15:6;6361:18:18;;;6354:34;;;6404:18;;;6397:34;-1:-1:-1;;;;;15967:15:6;;;6447:19:18;;;6440:44;15996:15:6;6500:19:18;;;6493:35;15768:15:6;;;:31;;15807:9;;6202:19:18;;15768:253:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;14:257:18:-;73:6;126:2;114:9;105:7;101:23;97:32;94:2;;;147:6;139;132:22;94:2;191:9;178:23;210:31;235:5;210:31;:::i;276:261::-;346:6;399:2;387:9;378:7;374:23;370:32;367:2;;;420:6;412;405:22;367:2;457:9;451:16;476:31;501:5;476:31;:::i;542:398::-;610:6;618;671:2;659:9;650:7;646:23;642:32;639:2;;;692:6;684;677:22;639:2;736:9;723:23;755:31;780:5;755:31;:::i;:::-;805:5;-1:-1:-1;862:2:18;847:18;;834:32;875:33;834:32;875:33;:::i;:::-;927:7;917:17;;;629:311;;;;;:::o;945:466::-;1022:6;1030;1038;1091:2;1079:9;1070:7;1066:23;1062:32;1059:2;;;1112:6;1104;1097:22;1059:2;1156:9;1143:23;1175:31;1200:5;1175:31;:::i;:::-;1225:5;-1:-1:-1;1282:2:18;1267:18;;1254:32;1295:33;1254:32;1295:33;:::i;:::-;1049:362;;1347:7;;-1:-1:-1;;;1401:2:18;1386:18;;;;1373:32;;1049:362::o;1416:392::-;1481:6;1489;1542:2;1530:9;1521:7;1517:23;1513:32;1510:2;;;1563:6;1555;1548:22;1510:2;1607:9;1594:23;1626:31;1651:5;1626:31;:::i;:::-;1676:5;-1:-1:-1;1733:2:18;1718:18;;1705:32;1746:30;1705:32;1746:30;:::i;1813:691::-;1944:6;1952;1960;1968;1976;1984;1992;2000;2053:3;2041:9;2032:7;2028:23;2024:33;2021:2;;;2075:6;2067;2060:22;2021:2;2112:9;2106:16;2131:31;2156:5;2131:31;:::i;:::-;2181:5;2171:15;;;2226:2;2215:9;2211:18;2205:25;2195:35;;2270:2;2259:9;2255:18;2249:25;2239:35;;2314:2;2303:9;2299:18;2293:25;2283:35;;2358:3;2347:9;2343:19;2337:26;2327:36;;2403:3;2392:9;2388:19;2382:26;2372:36;;2448:3;2437:9;2433:19;2427:26;2417:36;;2493:3;2482:9;2478:19;2472:26;2462:36;;2011:493;;;;;;;;;;;:::o;2509:325::-;2577:6;2585;2638:2;2626:9;2617:7;2613:23;2609:32;2606:2;;;2659:6;2651;2644:22;2606:2;2703:9;2690:23;2722:31;2747:5;2722:31;:::i;:::-;2772:5;2824:2;2809:18;;;;2796:32;;-1:-1:-1;;;2596:238:18:o;2839:255::-;2906:6;2959:2;2947:9;2938:7;2934:23;2930:32;2927:2;;;2980:6;2972;2965:22;2927:2;3017:9;3011:16;3036:28;3058:5;3036:28;:::i;3099:190::-;3158:6;3211:2;3199:9;3190:7;3186:23;3182:32;3179:2;;;3232:6;3224;3217:22;3179:2;-1:-1:-1;3260:23:18;;3169:120;-1:-1:-1;3169:120:18:o;3294:194::-;3364:6;3417:2;3405:9;3396:7;3392:23;3388:32;3385:2;;;3438:6;3430;3423:22;3385:2;-1:-1:-1;3466:16:18;;3375:113;-1:-1:-1;3375:113:18:o;3493:316::-;3581:6;3589;3597;3650:2;3638:9;3629:7;3625:23;3621:32;3618:2;;;3671:6;3663;3656:22;3618:2;3705:9;3699:16;3689:26;;3755:2;3744:9;3740:18;3734:25;3724:35;;3799:2;3788:9;3784:18;3778:25;3768:35;;3608:201;;;;;:::o;7483:603::-;7595:4;7624:2;7653;7642:9;7635:21;7685:6;7679:13;7728:6;7723:2;7712:9;7708:18;7701:34;7753:4;7766:140;7780:6;7777:1;7774:13;7766:140;;;7875:14;;;7871:23;;7865:30;7841:17;;;7860:2;7837:26;7830:66;7795:10;;7766:140;;;7924:6;7921:1;7918:13;7915:2;;;7994:4;7989:2;7980:6;7969:9;7965:22;7961:31;7954:45;7915:2;-1:-1:-1;8070:2:18;8049:15;-1:-1:-1;;8045:29:18;8030:45;;;;8077:2;8026:54;;7604:482;-1:-1:-1;;;7604:482:18:o;8091:399::-;8293:2;8275:21;;;8332:2;8312:18;;;8305:30;8371:34;8366:2;8351:18;;8344:62;-1:-1:-1;;;8437:2:18;8422:18;;8415:33;8480:3;8465:19;;8265:225::o;11352:414::-;11554:2;11536:21;;;11593:2;11573:18;;;11566:30;11632:34;11627:2;11612:18;;11605:62;-1:-1:-1;;;11698:2:18;11683:18;;11676:48;11756:3;11741:19;;11526:240::o;13065:356::-;13267:2;13249:21;;;13286:18;;;13279:30;13345:34;13340:2;13325:18;;13318:62;13412:2;13397:18;;13239:182::o;15600:401::-;15802:2;15784:21;;;15841:2;15821:18;;;15814:30;15880:34;15875:2;15860:18;;15853:62;-1:-1:-1;;;15946:2:18;15931:18;;15924:35;15991:3;15976:19;;15774:227::o;16831:402::-;17033:2;17015:21;;;17072:2;17052:18;;;17045:30;17111:34;17106:2;17091:18;;17084:62;-1:-1:-1;;;17177:2:18;17162:18;;17155:36;17223:3;17208:19;;17005:228::o;17420:983::-;17682:4;17730:3;17719:9;17715:19;17761:6;17750:9;17743:25;17787:2;17825:6;17820:2;17809:9;17805:18;17798:34;17868:3;17863:2;17852:9;17848:18;17841:31;17892:6;17927;17921:13;17958:6;17950;17943:22;17996:3;17985:9;17981:19;17974:26;;18035:2;18027:6;18023:15;18009:29;;18056:4;18069:195;18083:6;18080:1;18077:13;18069:195;;;18148:13;;-1:-1:-1;;;;;18144:39:18;18132:52;;18239:15;;;;18204:12;;;;18180:1;18098:9;18069:195;;;-1:-1:-1;;;;;;;18320:32:18;;;;18315:2;18300:18;;18293:60;-1:-1:-1;;;18384:3:18;18369:19;18362:35;18281:3;17691:712;-1:-1:-1;;;17691:712:18:o;19570:128::-;19610:3;19641:1;19637:6;19634:1;19631:13;19628:2;;;19647:18;;:::i;:::-;-1:-1:-1;19683:9:18;;19618:80::o;19703:217::-;19743:1;19769;19759:2;;-1:-1:-1;;;19794:31:18;;19848:4;19845:1;19838:15;19876:4;19801:1;19866:15;19759:2;-1:-1:-1;19905:9:18;;19749:171::o;19925:168::-;19965:7;20031:1;20027;20023:6;20019:14;20016:1;20013:21;20008:1;20001:9;19994:17;19990:45;19987:2;;;20038:18;;:::i;:::-;-1:-1:-1;20078:9:18;;19977:116::o;20098:125::-;20138:4;20166:1;20163;20160:8;20157:2;;;20171:18;;:::i;:::-;-1:-1:-1;20208:9:18;;20147:76::o;20228:380::-;20307:1;20303:12;;;;20350;;;20371:2;;20425:4;20417:6;20413:17;20403:27;;20371:2;20478;20470:6;20467:14;20447:18;20444:38;20441:2;;;20524:10;20519:3;20515:20;20512:1;20505:31;20559:4;20556:1;20549:15;20587:4;20584:1;20577:15;20441:2;;20283:325;;;:::o;20613:127::-;20674:10;20669:3;20665:20;20662:1;20655:31;20705:4;20702:1;20695:15;20729:4;20726:1;20719:15;20745:131;-1:-1:-1;;;;;20820:31:18;;20810:42;;20800:2;;20866:1;20863;20856:12;20881:118;20967:5;20960:13;20953:21;20946:5;20943:32;20933:2;;20989:1;20986;20979:12
Swarm Source
ipfs://25ce86633c7c2ece637005e849b3a7d090fd2106327e62d47b4e47a9c8586c4c
🤖 Code Reader
Generate instant answers for your smart contract questions using AI Models. Read more.
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.
Add Token to MetaMask (Web3)

