Loading
[ { "inputs": [ { "internalType": "string", "name": "_name", "type": "string" }, { "internalType": "string", "name": "_symbol", "type": "string" }, { "internalType": "uint8", "name": "_decimals", "type": "uint8" } ], "stateMutability": "payable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "wallet", "type": "address" } ], "name": "BlacklistAlreadyUpdated", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "available", "type": "uint256" }, { "internalType": "uint256", "name": "required", "type": "uint256" } ], "name": "InsufficientAllowance", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "available", "type": "uint256" }, { "internalType": "uint256", "name": "required", "type": "uint256" } ], "name": "InsufficientBalance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "wallet", "type": "address" } ], "name": "ParticipantBlacklisted", "type": "error" }, { "inputs": [], "name": "TransferAmountIsZero", "type": "error" }, { "inputs": [], "name": "ZeroAddressNotAllowed", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" } ], "name": "Blacklisted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" } ], "name": "ExcludedFromLockPeriod", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" } ], "name": "IncludedInTimeLock", "type": "event" }, { "anonymous": false, "inputs": [], "name": "OwnershipRenounced", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "oldRouter", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newRouter", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newPair", "type": "address" } ], "name": "RouterUpdated", "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": "account", "type": "address" } ], "name": "Unblacklisted", "type": "event" }, { "inputs": [], "name": "GetAllAllowedAddresses", "outputs": [ { "components": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "stillAllowed", "type": "bool" } ], "internalType": "struct Allowable.Allowed[]", "name": "allowanceDetails", "type": "tuple[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_wallet", "type": "address" } ], "name": "GetAllowedID", "outputs": [ { "internalType": "uint256", "name": "allowedID", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_wallet", "type": "address" } ], "name": "IsAllowed", "outputs": [ { "internalType": "bool", "name": "addressAllowed", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_contractAddress", "type": "address" }, { "internalType": "bool", "name": "_allowOrNot", "type": "bool" } ], "name": "SetupAllowedContract", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "_contractAddresses", "type": "address[]" }, { "internalType": "bool", "name": "_allowOrNot", "type": "bool" } ], "name": "SetupAllowedContracts", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address payable", "name": "recipient", "type": "address" } ], "name": "TransferAllBNBToAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address payable", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "TransferBNBToAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_token", "type": "address" }, { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_maxAmount", "type": "uint256" } ], "name": "TransferForeignAmount", "outputs": [ { "internalType": "bool", "name": "_sent", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_token", "type": "address" }, { "internalType": "address", "name": "_to", "type": "address" } ], "name": "TransferForeignTokens", "outputs": [ { "internalType": "bool", "name": "_sent", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "_blacklisted", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "_lockAmounts", "outputs": [ { "internalType": "uint256", "name": "amountStored", "type": "uint256" }, { "internalType": "uint256", "name": "lockedUntil", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "_numLocks", "outputs": [ { "internalType": "uint256", "name": "vaultCount", "type": "uint256" }, { "internalType": "uint256", "name": "firstVault", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_address", "type": "address" } ], "name": "blacklistAddress", "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": "_address", "type": "address" } ], "name": "excludeFromLockPeriod", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "excludedFromLockPeriod", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "holdPeriod", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_address", "type": "address" } ], "name": "includeInTimeLock", "outputs": [], "stateMutability": "nonpayable", "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": "who", "type": "address" } ], "name": "isOwner", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_address", "type": "address" } ], "name": "nextUnlock", "outputs": [ { "internalType": "uint256", "name": "unlockBlock", "type": "uint256" }, { "internalType": "uint256", "name": "blocksRemaining", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "remounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_newRouterAddress", "type": "address" } ], "name": "setCurrentRouter", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_address", "type": "address" } ], "name": "tokensAvailable", "outputs": [ { "internalType": "uint256", "name": "amountAvailable", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_address", "type": "address" } ], "name": "tokensLocked", "outputs": [ { "internalType": "uint256", "name": "lockedAmount", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "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": [ { "internalType": "address", "name": "_address", "type": "address" } ], "name": "unblacklistAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "uniswapPair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "uniswapPairs", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "uniswapRouter", "outputs": [ { "internalType": "contract IUniswapV2Router02", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" } ]
60a0604052604051620022713803806200227183398101604081905262000026916200021b565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600c6200007584826200032f565b50600d6200008483826200032f565b50600e805460ff191660ff83161790556c0166a90c494b679a68980000006080819052600080546001600160a01b03908116825260056020908152604080842085905583549051948552909116927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3600080546001600160a01b03908116825260076020526040808320805460ff19166001179055825490519116917fc93bc17a700271bf59796cbfa01b47b8b95654209793470e3cdbadf87465a84391a2505050620003fb565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200017e57600080fd5b81516001600160401b03808211156200019b576200019b62000156565b604051601f8301601f19908116603f01168101908282118183101715620001c657620001c662000156565b81604052838152602092508683858801011115620001e357600080fd5b600091505b83821015620002075785820183015181830184015290820190620001e8565b600093810190920192909252949350505050565b6000806000606084860312156200023157600080fd5b83516001600160401b03808211156200024957600080fd5b62000257878388016200016c565b945060208601519150808211156200026e57600080fd5b506200027d868287016200016c565b925050604084015160ff811681146200029557600080fd5b809150509250925092565b600181811c90821680620002b557607f821691505b602082108103620002d657634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200032a57600081815260208120601f850160051c81016020861015620003055750805b601f850160051c820191505b81811015620003265782815560010162000311565b5050505b505050565b81516001600160401b038111156200034b576200034b62000156565b62000363816200035c8454620002a0565b84620002dc565b602080601f8311600181146200039b5760008415620003825750858301515b600019600386901b1c1916600185901b17855562000326565b600085815260208120601f198616915b82811015620003cc57888601518255948401946001909101908401620003ab565b5085821015620003eb5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b608051611e5a6200041760003960006102e50152611e5a6000f3fe608060405234801561001057600080fd5b50600436106102535760003560e01c80637a6d69b411610146578063c3da3407116100c3578063f2822acb11610087578063f2822acb1461060d578063f2e3a86b14610620578063f2fde38b14610633578063f3290d7514610646578063f5967a2f14610659578063fdf3dd9c1461066357600080fd5b8063c3da340714610559578063c816841b14610580578063c902ee3614610598578063ccbe3962146105ab578063dd62ed3e146105d457600080fd5b8063a457c2d71161010a578063a457c2d7146104d1578063a463e8ec146104e4578063a9059cbb146104ec578063a9230431146104ff578063b6fcb4fe1461052757600080fd5b80637a6d69b41461046d5780638b5dc8a5146104905780638d03f4b8146104a35780638da5cb5b146104b657806395d89b41146104c957600080fd5b80633078381c116101d4578063557ed1ba11610198578063557ed1ba146103dd57806367e00e88146103e357806368c96eb11461040657806370a0823114610419578063735de9f71461044257600080fd5b80633078381c14610362578063313ce5671461038557806339509351146103a45780633febd31e146103b757806345e34949146103ca57600080fd5b806318160ddd1161021b57806318160ddd146102e0578063227b453f1461030757806323b872dd1461031a5780632a84dc641461032d5780632f54bf6e1461034057600080fd5b806301a598a614610258578063064369721461027e57806306fdde0314610293578063095ea7b3146102a857806315424ce6146102cb575b600080fd5b61026b610266366004611ae2565b610676565b6040519081526020015b60405180910390f35b61028661072a565b6040516102759190611b06565b61029b61085d565b6040516102759190611b60565b6102bb6102b6366004611bae565b6108eb565b6040519015158152602001610275565b6102de6102d9366004611ae2565b610902565b005b61026b7f000000000000000000000000000000000000000000000000000000000000000081565b6102de610315366004611ae2565b61094d565b6102bb610328366004611bda565b61099e565b6102de61033b366004611c29565b610a67565b6102bb61034e366004611ae2565b6000546001600160a01b0390811691161490565b6102bb610370366004611ae2565b60076020526000908152604090205460ff1681565b600e546103929060ff1681565b60405160ff9091168152602001610275565b6102bb6103b2366004611bae565b610afc565b6102bb6103c5366004611c62565b610b33565b6102de6103d8366004611ae2565b610bbd565b4261026b565b6102bb6103f1366004611ae2565b60096020526000908152604090205460ff1681565b6102de610414366004611ae2565b610c52565b61026b610427366004611ae2565b6001600160a01b031660009081526005602052604090205490565b600f54610455906001600160a01b031681565b6040516001600160a01b039091168152602001610275565b6102bb61047b366004611ae2565b60086020526000908152604090205460ff1681565b6102bb61049e366004611ae2565b610f5c565b6102de6104b1366004611c90565b610f93565b600054610455906001600160a01b031681565b61029b611075565b6102bb6104df366004611bae565b611082565b6102de61112b565b6102bb6104fa366004611bae565b6111f1565b61051261050d366004611ae2565b6111fe565b60408051928352602083019190915201610275565b610512610535366004611bae565b600b6020908152600092835260408084209091529082529020805460019091015482565b610512610567366004611ae2565b600a602052600090815260409020805460019091015482565b600e546104559061010090046001600160a01b031681565b61026b6105a6366004611ae2565b611259565b61026b6105b9366004611ae2565b6001600160a01b031660009081526004602052604090205490565b61026b6105e2366004611c62565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b6102bb61061b366004611bda565b61129d565b6102de61062e366004611bae565b6113ac565b6102de610641366004611ae2565b61142e565b6102de610654366004611ae2565b61153c565b61026b62093a8081565b6102de610671366004611ae2565b6115d5565b6001600160a01b0381166000908152600a602052604081206001015442905b6001600160a01b0384166000908152600a60205260409020548111610723576001600160a01b0384166000908152600b60209081526040808320848452909152902060010154821015610713576001600160a01b0384166000908152600b602090815260408083208484529091529020546107109084611d2c565b92505b61071c81611d3f565b9050610695565b5050919050565b6060610734611629565b60015467ffffffffffffffff81111561074f5761074f611d58565b60405190808252806020026020018201604052801561079457816020015b604080518082019091526000808252602082015281526020019060019003908161076d5790505b5060018054919250600091905b8181116108575760008181526002602052604090205484516001600160a01b03909116908590859081106107d7576107d7611d6e565b6020908102919091018101516001600160a01b039283169052600083815260028252604080822054909316815260039091522054845160ff9091169085908590811061082557610825611d6e565b6020908102919091018101519115159101528261084181611d3f565b935050808061084f90611d3f565b9150506107a1565b50505090565b600c805461086a90611d84565b80601f016020809104026020016040519081016040528092919081815260200182805461089690611d84565b80156108e35780601f106108b8576101008083540402835291602001916108e3565b820191906000526020600020905b8154815290600101906020018083116108c657829003601f168201915b505050505081565b60006108f83384846116b1565b5060015b92915050565b61090a611629565b478015610949576040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610947573d6000803e3d6000fd5b505b5050565b610955611629565b6001600160a01b038116600081815260076020526040808220805460ff19169055517fe8bc6ca8488704bf9b677c388e3cc5cfd561aec258a678115c00e2db1cb04bfa9190a250565b6001600160a01b0383166000908152600660209081526040808320338452909152812054821115610a17576001600160a01b03841660009081526006602090815260408083203384529091529081902054905163054365bb60e31b81526004810191909152602481018390526044015b60405180910390fd5b610a2284848461174d565b6001600160a01b038416600090815260066020908152604080832033808552925290912054610a5d918691610a58908690611dbe565b6116b1565b5060019392505050565b610a6f611629565b6001600160a01b0382166000908152600360209081526040808320805460ff1916851515179055600490915281205490036109495760018054906000610ab483611d3f565b909155505060018054600090815260026020908152604080832080546001600160a01b0388166001600160a01b03199091168117909155935493835260049091529020555050565b3360008181526006602090815260408083206001600160a01b038716845290915281205490916108f8918590610a58908690611d2c565b6000610b3d611629565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa158015610b84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ba89190611dd1565b9050610bb584848361129d565b949350505050565b610bc5611629565b6001600160a01b03811660009081526008602052604090205460ff16610c095760405163b1833b6d60e01b81526001600160a01b0382166004820152602401610a0e565b6001600160a01b038116600081815260086020526040808220805460ff19169055517f7534c63860313c46c473e4e98328f37017e9674e2162faf1a3ad7a96236c3b7b9190a250565b610c5a611629565b6001600160a01b038116610c81576040516342bcdf7f60e11b815260040160405180910390fd5b60008190506000816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cc6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cea9190611dea565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d5b9190611dea565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610da8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dcc9190611dea565b90506001600160a01b038116610e195760405162461bcd60e51b815260206004820152601260248201527113995dc81c185a5c881b9bdd08199bdd5b9960721b6044820152606401610a0e565b600f546040516001600160a01b0380841692858216929116907feb7c1e97c05570337fe795ab9d5755a8f731c9c52e756b720275940fa283327690600090a4600f80546001600160a01b0319166001600160a01b03848116919091178255600e8054610100600160a81b031916610100858416908102919091179091556000908152600960209081526040808320805460ff19908116600190811790925586548616855260079093528184208054909316179091559254925192909116917fc93bc17a700271bf59796cbfa01b47b8b95654209793470e3cdbadf87465a8439190a2600e80546001600160a01b03610100918290048116600090815260076020526040808220805460ff19166001179055935493519290930416917fc93bc17a700271bf59796cbfa01b47b8b95654209793470e3cdbadf87465a84391a2505050565b600080546001600160a01b03808416911614806108fc5750506001600160a01b031660009081526003602052604090205460ff1690565b610f9b611629565b8160005b8181101561106e576000858583818110610fbb57610fbb611d6e565b9050602002016020810190610fd09190611ae2565b6001600160a01b0381166000908152600360209081526040808320805460ff191689151517905560049091528120549192500361105b576001805490600061101783611d3f565b909155505060018054600090815260026020908152604080832080546001600160a01b0319166001600160a01b038716908117909155935493835260049091529020555b508061106681611d3f565b915050610f9f565b5050505050565b600d805461086a90611d84565b3360009081526006602090815260408083206001600160a01b038616845290915281205482116110f5573360009081526006602090815260408083206001600160a01b03871684529091529081902054905163054365bb60e31b8152600481019190915260248101839052604401610a0e565b3360008181526006602090815260408083206001600160a01b03881684529091529020546108f891908590610a58908690611dbe565b6111343361034e565b6111805760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a0e565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b03191681556040517fd1f66c3d2bc1993a86be5e3d33709d98f0442381befcedd29f578b9b2506b1ce9190a1565b60006108f833848461174d565b6001600160a01b0381166000908152600a60209081526040808320600190810154600b845282852081865290935290832001549190428381101561124d576112468185611dbe565b9250611252565b600092505b5050915091565b6001600160a01b03811660009081526005602090815260408083205460079092529091205460ff166112985761128e82610676565b6108fc9082611dbe565b919050565b60006112a7611629565b6040516370a0823160e01b81523060048201526000906001600160a01b038616906370a0823190602401602060405180830381865afa1580156112ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113129190611dd1565b90508281111561131f5750815b801561139f5760405163a9059cbb60e01b81526001600160a01b0385811660048301526024820183905286169063a9059cbb906044016020604051808303816000875af1158015611374573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113989190611e07565b91506113a4565b600091505b509392505050565b6113b4611629565b804710156113f25760405162461bcd60e51b815260206004820152600b60248201526a42616c616e6365204c6f7760a81b6044820152606401610a0e565b8015610949576040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610947573d6000803e3d6000fd5b6114373361034e565b6114835760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a0e565b6000546001600160a01b03908116908216036114f15760405162461bcd60e51b815260206004820152602760248201527f4f776e61626c653a206e6577206f776e657220697320616c7265616479207468604482015266329037bbb732b960c91b6064820152608401610a0e565b600080546001600160a01b0319166001600160a01b0383169081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b611544611629565b6001600160a01b03811660009081526008602052604090205460ff16156115895760405163b1833b6d60e01b81526001600160a01b0382166004820152602401610a0e565b6001600160a01b038116600081815260086020526040808220805460ff19166001179055517fffa4e6181777692565cf28528fc88fd1516ea86b56da075235fa575af6a4b8559190a250565b6115dd611629565b6001600160a01b038116600081815260076020526040808220805460ff19166001179055517fc93bc17a700271bf59796cbfa01b47b8b95654209793470e3cdbadf87465a8439190a250565b6116323361034e565b8061164c57503360009081526003602052604090205460ff165b6116af5760405162461bcd60e51b815260206004820152602e60248201527f63616c6c6572206973206e6f7420616e20616c6c6f77656420636f6e7472616360448201526d3a1037b9103a34329037bbb732b960911b6064820152608401610a0e565b565b6001600160a01b03831615806116ce57506001600160a01b038216155b156116ec576040516342bcdf7f60e11b815260040160405180910390fd5b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316158061176a57506001600160a01b038216155b15611788576040516342bcdf7f60e11b815260040160405180910390fd5b6001600160a01b03831660009081526008602052604090205460ff16156117cd5760405163086eef6d60e01b81526001600160a01b0384166004820152602401610a0e565b6001600160a01b03821660009081526008602052604090205460ff16156118125760405163086eef6d60e01b81526001600160a01b0383166004820152602401610a0e565b6001600160a01b03831660009081526005602090815260408083205460079092529091205460ff1661185d5761184784611a25565b61185084610676565b61185a9082611dbe565b90505b808211156118885760405163cf47918160e01b81526004810182905260248101839052604401610a0e565b816000036118a95760405163c4c8a67760e01b815260040160405180910390fd5b6001600160a01b03831660009081526007602052604090205460ff16611976576001600160a01b0383166000908152600a602052604081208054600192906118f2908490611d2c565b90915550506001600160a01b0383166000908152600a60205260409020546001819003611938576001600160a01b0384166000908152600a602052604090206001908101555b61194562093a8042611d2c565b6001600160a01b0385166000908152600b602090815260408083209483529390529190912060018101919091558290555b6001600160a01b0384166000908152600560205260408120805484929061199e908490611dbe565b90915550506001600160a01b038316600090815260056020526040812080548492906119cb908490611d2c565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611a1791815260200190565b60405180910390a350505050565b6001600160a01b0381166000908152600a602052604090206001015442905b6001600160a01b0383166000908152600a60205260409020548111801590611a9257506001600160a01b0383166000908152600b602090815260408083208484529091529020600101548210155b15611aa757611aa081611d3f565b9050611a44565b6001600160a01b039092166000908152600a602052604090206001019190915550565b6001600160a01b0381168114611adf57600080fd5b50565b600060208284031215611af457600080fd5b8135611aff81611aca565b9392505050565b602080825282518282018190526000919060409081850190868401855b82811015611b5357815180516001600160a01b031685528601511515868501529284019290850190600101611b23565b5091979650505050505050565b600060208083528351808285015260005b81811015611b8d57858101830151858201604001528201611b71565b506000604082860101526040601f19601f8301168501019250505092915050565b60008060408385031215611bc157600080fd5b8235611bcc81611aca565b946020939093013593505050565b600080600060608486031215611bef57600080fd5b8335611bfa81611aca565b92506020840135611c0a81611aca565b929592945050506040919091013590565b8015158114611adf57600080fd5b60008060408385031215611c3c57600080fd5b8235611c4781611aca565b91506020830135611c5781611c1b565b809150509250929050565b60008060408385031215611c7557600080fd5b8235611c8081611aca565b91506020830135611c5781611aca565b600080600060408486031215611ca557600080fd5b833567ffffffffffffffff80821115611cbd57600080fd5b818601915086601f830112611cd157600080fd5b813581811115611ce057600080fd5b8760208260051b8501011115611cf557600080fd5b60209283019550935050840135611d0b81611c1b565b809150509250925092565b634e487b7160e01b600052601160045260246000fd5b808201808211156108fc576108fc611d16565b600060018201611d5157611d51611d16565b5060010190565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600181811c90821680611d9857607f821691505b602082108103611db857634e487b7160e01b600052602260045260246000fd5b50919050565b818103818111156108fc576108fc611d16565b600060208284031215611de357600080fd5b5051919050565b600060208284031215611dfc57600080fd5b8151611aff81611aca565b600060208284031215611e1957600080fd5b8151611aff81611c1b56fea2646970667358221220da019d7926de4269bb778c5ebf6ef140f1205785f5008638d0895009f2a5d89e64736f6c63430008110033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000054f696e6b3700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054f494e4b37000000000000000000000000000000000000000000000000000000