Loading
[ { "inputs": [ { "internalType": "string", "name": "name_", "type": "string" }, { "internalType": "string", "name": "symbol_", "type": "string" }, { "internalType": "address", "name": "access_", "type": "address" }, { "internalType": "address", "name": "kyc_", "type": "address" }, { "internalType": "address", "name": "burn_", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "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": "account_", "type": "address" }, { "internalType": "bool", "name": "status_", "type": "bool" } ], "name": "ban", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "bool", "name": "mintToken", "type": "bool" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account_", "type": "address" } ], "name": "getBanStatus", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "period_", "type": "uint256" } ], "name": "getInterestRate", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getNumPeriods", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getPeriodLengthDays", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "access_", "type": "address" } ], "name": "setAccessControl", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "burn_", "type": "address" } ], "name": "setBurn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "period_", "type": "uint256" }, { "internalType": "uint256", "name": "interestRateBps_", "type": "uint256" } ], "name": "setInterestRateBps", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "kyc_", "type": "address" } ], "name": "setKYC", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "numPeriods_", "type": "uint256" } ], "name": "setNumPeriods", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "periodLengthDays_", "type": "uint256" } ], "name": "setPeriodLengthDays", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" } ]
60806040523480156200001157600080fd5b5060405162002eca38038062002eca83398101604081905262000034916200017e565b84846003620000448382620002af565b506004620000538282620002af565b5050600580546001600160a01b039586166001600160a01b03199182161790915560068054948616948216949094179093555060078054919093169116179055506200037b9050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620000c457600080fd5b81516001600160401b0380821115620000e157620000e16200009c565b604051601f8301601f19908116603f011681019082821181831017156200010c576200010c6200009c565b816040528381526020925086838588010111156200012957600080fd5b600091505b838210156200014d57858201830151818301840152908201906200012e565b600093810190920192909252949350505050565b80516001600160a01b03811681146200017957600080fd5b919050565b600080600080600060a086880312156200019757600080fd5b85516001600160401b0380821115620001af57600080fd5b620001bd89838a01620000b2565b96506020880151915080821115620001d457600080fd5b50620001e388828901620000b2565b945050620001f46040870162000161565b9250620002046060870162000161565b9150620002146080870162000161565b90509295509295909350565b600181811c908216806200023557607f821691505b6020821081036200025657634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620002aa57600081815260208120601f850160051c81016020861015620002855750805b601f850160051c820191505b81811015620002a65782815560010162000291565b5050505b505050565b81516001600160401b03811115620002cb57620002cb6200009c565b620002e381620002dc845462000220565b846200025c565b602080601f8311600181146200031b5760008415620003025750858301515b600019600386901b1c1916600185901b178555620002a6565b600085815260208120601f198616915b828110156200034c578886015182559484019460019091019084016200032b565b50858210156200036b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b612b3f806200038b6000396000f3fe608060405234801561001057600080fd5b50600436106101985760003560e01c806370a08231116100e3578063a9059cbb1161008c578063dd62ed3e11610066578063dd62ed3e14610301578063ebfb2eea1461030f578063f1be7bf71461033b57600080fd5b8063a9059cbb146102c8578063aced73bd146102db578063adab1a1d146102ee57600080fd5b806395d89b41116100bd57806395d89b41146102b857806396478ad6146102c0578063a457c2d7146101bb57600080fd5b806370a082311461027f57806376fd4fdf14610292578063941092ea146102a557600080fd5b8063313ce567116101455780634567e7ec1161011f5780634567e7ec14610251578063483a83df146102595780634c68f4a21461026c57600080fd5b8063313ce5671461022f57806339509351146101bb57806340c10f191461023e57600080fd5b806318160ddd1161017657806318160ddd146101ff57806319129e5a1461020757806323b872dd1461021c57600080fd5b806306fdde031461019d578063095ea7b3146101bb5780630c196a74146101de575b600080fd5b6101a561034e565b6040516101b2919061276e565b60405180910390f35b6101ce6101c93660046127f6565b6103e0565b60405190151581526020016101b2565b6101f16101ec366004612820565b6103e9565b6040519081526020016101b2565b6002546101f1565b61021a610215366004612839565b610406565b005b6101ce61022a36600461285b565b6104f8565b604051601281526020016101b2565b61021a61024c3660046127f6565b6105e1565b6008546101f1565b61021a610267366004612839565b6106ad565b61021a61027a3660046128a5565b61079a565b6101f161028d366004612839565b610919565b61021a6102a03660046128dc565b610cc0565b61021a6102b3366004612820565b61131a565b6101a561142d565b6009546101f1565b6101ce6102d63660046127f6565b61143c565b61021a6102e9366004612839565b61144a565b61021a6102fc36600461291c565b611537565b6101f16101c936600461293e565b6101ce61031d366004612839565b6001600160a01b031660009081526017602052604090205460ff1690565b61021a610349366004612820565b61165f565b60606003805461035d90612971565b80601f016020809104026020016040519081016040528092919081815260200182805461038990612971565b80156103d65780601f106103ab576101008083540402835291602001916103d6565b820191906000526020600020905b8154815290600101906020018083116103b957829003601f168201915b5050505050905090565b60005b92915050565b6000600a82600c81106103fe576103fe6129ab565b015492915050565b6005546001600160a01b0316639e97b8f66003336040518363ffffffff1660e01b81526004016104379291906129c1565b602060405180830381865afa158015610454573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061047891906129fb565b6104c95760405162461bcd60e51b815260206004820152601e60248201527f5044453a20726571756972656420726f6c65206e6f74206772616e746564000060448201526064015b60405180910390fd5b6005805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b600554604051634f4bdc7b60e11b81526000916001600160a01b031690639e97b8f69061052c9060039033906004016129c1565b602060405180830381865afa158015610549573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061056d91906129fb565b806105805750336001600160a01b038516145b6105cc5760405162461bcd60e51b815260206004820152601e60248201527f5044453a20726571756972656420726f6c65206e6f74206772616e746564000060448201526064016104c0565b6105d7848484611722565b5060019392505050565b6005546001600160a01b0316639e97b8f66003336040518363ffffffff1660e01b81526004016106129291906129c1565b602060405180830381865afa15801561062f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065391906129fb565b61069f5760405162461bcd60e51b815260206004820152601e60248201527f5044453a20726571756972656420726f6c65206e6f74206772616e746564000060448201526064016104c0565b6106a98282611fac565b5050565b6005546001600160a01b0316639e97b8f66003336040518363ffffffff1660e01b81526004016106de9291906129c1565b602060405180830381865afa1580156106fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071f91906129fb565b61076b5760405162461bcd60e51b815260206004820152601e60248201527f5044453a20726571756972656420726f6c65206e6f74206772616e746564000060448201526064016104c0565b6006805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6005546001600160a01b0316639e97b8f66003336040518363ffffffff1660e01b81526004016107cb9291906129c1565b602060405180830381865afa1580156107e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080c91906129fb565b8061088457506005546001600160a01b0316639e97b8f66002336040518363ffffffff1660e01b81526004016108439291906129c1565b602060405180830381865afa158015610860573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088491906129fb565b6108d05760405162461bcd60e51b815260206004820152601e60248201527f5044453a20726571756972656420726f6c65206e6f74206772616e746564000060448201526064016104c0565b6001600160a01b0391909116600090815260176020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b600554604051634f4bdc7b60e11b81526000916001600160a01b031690639e97b8f69061094d9060039086906004016129c1565b602060405180830381865afa15801561096a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098e91906129fb565b80610a085750600554604051634f4bdc7b60e11b81526001600160a01b0390911690639e97b8f6906109c79060029086906004016129c1565b602060405180830381865afa1580156109e4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0891906129fb565b80610a7e57506006546040516370a0823160e01b81526001600160a01b038481166004830152909116906370a0823190602401602060405180830381865afa158015610a58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7c9190612a18565b155b15610aa1576001600160a01b0382166000908152602081905260409020546103e3565b6001600160a01b038216600090815260166020526040812054908080805b84811015610c92576001600160a01b0387166000908152601660205260409020805482908110610af157610af16129ab565b9060005260206000209060100201600001549250603c60166000896001600160a01b03166001600160a01b031681526020019081526020016000208281548110610b3d57610b3d6129ab565b9060005260206000209060100201600f015442610b5a9190612a47565b610b649190612a70565b9150610c7683601660008a6001600160a01b03166001600160a01b031681526020019081526020016000208381548110610ba057610ba06129ab565b906000526020600020906010020160010154601660008b6001600160a01b03166001600160a01b031681526020019081526020016000208481548110610be857610be86129ab565b906000526020600020906010020160020154601660008c6001600160a01b03166001600160a01b031681526020019081526020016000208581548110610c3057610c306129ab565b60009182526020909120604080516101808101918290529260100290910160030190600c9082845b815481526020019060010190808311610c58575050505050866121fc565b610c809085612a84565b9350610c8b81612a97565b9050610abf565b506001600160a01b038616600090815260208190526040902054610cb69084612a84565b9695505050505050565b6001600160a01b038316610d165760405162461bcd60e51b815260206004820152601f60248201527f5044453a206275726e2066726f6d20746865207a65726f20616464726573730060448201526064016104c0565b6005546001600160a01b0316639e97b8f66003336040518363ffffffff1660e01b8152600401610d479291906129c1565b602060405180830381865afa158015610d64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8891906129fb565b610dd45760405162461bcd60e51b815260206004820152601e60248201527f5044453a20726571756972656420726f6c65206e6f74206772616e746564000060448201526064016104c0565b8015610e5a576007546040517fa14481940000000000000000000000000000000000000000000000000000000081526001600160a01b038581166004830152602482018590529091169063a144819490604401600060405180830381600087803b158015610e4157600080fd5b505af1158015610e55573d6000803e3d6000fd5b505050505b600554604051634f4bdc7b60e11b81526001600160a01b0390911690639e97b8f690610e8d9060039087906004016129c1565b602060405180830381865afa158015610eaa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ece91906129fb565b80610f485750600554604051634f4bdc7b60e11b81526001600160a01b0390911690639e97b8f690610f079060029087906004016129c1565b602060405180830381865afa158015610f24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4891906129fb565b80610f6957506001600160a01b038316600090815260166020526040902054155b15610f7d57610f78838361230d565b505050565b816000610f8985610919565b9050838110156110015760405162461bcd60e51b815260206004820152602e60248201527f5044453a204275726e20616d6f756e7420657863656564732062616c616e636560448201527f207769746820696e74657265737400000000000000000000000000000000000060648201526084016104c0565b6001600160a01b0385166000908152601660205260408120549080825b80156112ff576001600160a01b0389166000908152601660205260409020611047600183612a47565b81548110611057576110576129ab565b600091825260208083206010909202909101546001600160a01b038c16835260169091526040909120909350603c90611091600184612a47565b815481106110a1576110a16129ab565b9060005260206000209060100201600f0154426110be9190612a47565b6110c89190612a70565b6001600160a01b038a1660009081526016602052604090209092506111929084906110f4600185612a47565b81548110611104576111046129ab565b6000918252602080832060016010909302018201546001600160a01b038f168452601690915260409092209061113a9086612a47565b8154811061114a5761114a6129ab565b60009182526020808320600260109093020191909101546001600160a01b038f16835260169091526040909120611182600187612a47565b81548110610c3057610c306129ab565b9250858311611215576111a58387612a47565b6001600160a01b038a166000908152601660205260409020805491975090806111d0576111d0612ab1565b6000828152602081206010600019909301928302018181556001810182905560028101829055906112046003830182612709565b600f820160009055505090556112ef565b6001600160a01b0389166000908152601660205260408120611238600184612a47565b81548110611248576112486129ab565b600091825260209091206010909102015461126785633b9aca00612ac7565b6112719190612a70565b90508061128288633b9aca00612ac7565b61128c9190612a70565b6001600160a01b038b1660009081526016602052604090206112af600185612a47565b815481106112bf576112bf6129ab565b906000526020600020906010020160000160008282546112df9190612a47565b90915550600099506112ff915050565b6112f881612ade565b905061101e565b50861561131057611310888661230d565b5050505050505050565b6005546001600160a01b0316639e97b8f66003336040518363ffffffff1660e01b815260040161134b9291906129c1565b602060405180830381865afa158015611368573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061138c91906129fb565b6113d85760405162461bcd60e51b815260206004820152601e60248201527f5044453a20726571756972656420726f6c65206e6f74206772616e746564000060448201526064016104c0565b600c81106114285760405162461bcd60e51b815260206004820181905260248201527f5044453a206d6178206e756d626572206f6620706572696f647320697320313260448201526064016104c0565b600955565b60606004805461035d90612971565b6000336105d7818585611722565b6005546001600160a01b0316639e97b8f66003336040518363ffffffff1660e01b815260040161147b9291906129c1565b602060405180830381865afa158015611498573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114bc91906129fb565b6115085760405162461bcd60e51b815260206004820152601e60248201527f5044453a20726571756972656420726f6c65206e6f74206772616e746564000060448201526064016104c0565b6007805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6005546001600160a01b0316639e97b8f66003336040518363ffffffff1660e01b81526004016115689291906129c1565b602060405180830381865afa158015611585573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a991906129fb565b6115f55760405162461bcd60e51b815260206004820152601e60248201527f5044453a20726571756972656420726f6c65206e6f74206772616e746564000060448201526064016104c0565b600c82106116455760405162461bcd60e51b815260206004820181905260248201527f5044453a206d6178206e756d626572206f6620706572696f647320697320313260448201526064016104c0565b80600a83600c8110611659576116596129ab565b01555050565b6005546001600160a01b0316639e97b8f66003336040518363ffffffff1660e01b81526004016116909291906129c1565b602060405180830381865afa1580156116ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116d191906129fb565b61171d5760405162461bcd60e51b815260206004820152601e60248201527f5044453a20726571756972656420726f6c65206e6f74206772616e746564000060448201526064016104c0565b600855565b6001600160a01b03831660009081526017602052604090205460ff16156117975760405162461bcd60e51b815260206004820152602360248201527f5044453a207472616e736665722066726f6d20612062616e6e6564206164647260448201526265737360e81b60648201526084016104c0565b6001600160a01b0383166117f95760405162461bcd60e51b815260206004820152602360248201527f5044453a207472616e736665722066726f6d20746865207a65726f206164647260448201526265737360e81b60648201526084016104c0565b6001600160a01b0382166118755760405162461bcd60e51b815260206004820152602160248201527f5044453a207472616e7366657220746f20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016104c0565b806000036118c55760405162461bcd60e51b815260206004820152601c60248201527f5044453a207472616e7366657220616d6f756e74206973207a65726f0000000060448201526064016104c0565b600554604051634f4bdc7b60e11b81526001600160a01b0390911690639e97b8f6906118f89060039087906004016129c1565b602060405180830381865afa158015611915573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061193991906129fb565b801561195e57506119538168056bc75e2d63100000612a84565b61195c84610919565b105b1561198d5761198d8361197085610919565b6119838468056bc75e2d63100000612a84565b61024c9190612a47565b600061199884610919565b905081811015611a105760405162461bcd60e51b815260206004820152603260248201527f5044453a205472616e7366657220616d6f756e7420657863656564732062616c60448201527f616e6365207769746820696e746572657374000000000000000000000000000060648201526084016104c0565b6001600160a01b0384166000908152601660205260408120549080825b8015611d4b576001600160a01b0388166000908152601660205260409020611a56600183612a47565b81548110611a6657611a666129ab565b600091825260208083206010909202909101546001600160a01b038b16835260169091526040909120909350603c90611aa0600184612a47565b81548110611ab057611ab06129ab565b9060005260206000209060100201600f015442611acd9190612a47565b611ad79190612a70565b6001600160a01b0389166000908152601660205260409020909250611b91908490611b03600185612a47565b81548110611b1357611b136129ab565b6000918252602080832060016010909302018201546001600160a01b038e1684526016909152604090922090611b499086612a47565b81548110611b5957611b596129ab565b60009182526020808320600260109093020191909101546001600160a01b038e16835260169091526040909120611182600187612a47565b9250858311611c1457611ba48387612a47565b6001600160a01b038916600090815260166020526040902080549197509080611bcf57611bcf612ab1565b600082815260208120601060001990930192830201818155600181018290556002810182905590611c036003830182612709565b600f82016000905550509055611d3b565b866001600160a01b0316886001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef88604051611c5991815260200190565b60405180910390a36001600160a01b0388166000908152601660205260408120611c84600184612a47565b81548110611c9457611c946129ab565b6000918252602090912060109091020154611cb385633b9aca00612ac7565b611cbd9190612a70565b905080611cce88633b9aca00612ac7565b611cd89190612a70565b6001600160a01b038a166000908152601660205260409020611cfb600185612a47565b81548110611d0b57611d0b6129ab565b90600052602060002090601002016000016000828254611d2b9190612a47565b9091555060009750611d4b915050565b611d4481612ade565b9050611a2d565b508415611d5d57611d5d878787612476565b6006546040516370a0823160e01b81526001600160a01b03888116600483015260009216906370a0823190602401602060405180830381865afa158015611da8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dcc9190612a18565b118015611e4a5750600554604051634f4bdc7b60e11b81526001600160a01b0390911690639e97b8f690611e07906002908a906004016129c1565b602060405180830381865afa158015611e24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e4891906129fb565b155b8015611ec75750600554604051634f4bdc7b60e11b81526001600160a01b0390911690639e97b8f690611e84906003908a906004016129c1565b602060405180830381865afa158015611ea1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ec591906129fb565b155b15611fa3576001600160a01b038616600090815260166020908152604091829020825160a081018452888152600854928101929092526009548284015282516101808101938490529092606083019190600a90600c9082845b815481526020019060010190808311611f205750505091835250504260209182015282546001818101855560009485529382902083516010909202019081559082015192810192909255604081015160028301556060810151909190611f8c906003830190600c61271b565b50608082015181600f01555050611fa3868661230d565b50505050505050565b611fb6828261264a565b6006546040516370a0823160e01b81526001600160a01b03848116600483015260009216906370a0823190602401602060405180830381865afa158015612001573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120259190612a18565b1180156120a35750600554604051634f4bdc7b60e11b81526001600160a01b0390911690639e97b8f6906120609060029086906004016129c1565b602060405180830381865afa15801561207d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120a191906129fb565b155b80156121205750600554604051634f4bdc7b60e11b81526001600160a01b0390911690639e97b8f6906120dd9060039086906004016129c1565b602060405180830381865afa1580156120fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061211e91906129fb565b155b156106a9576001600160a01b038216600090815260166020908152604091829020825160a081018452848152600854928101929092526009548284015282516101808101938490529092606083019190600a90600c9082845b81548152602001906001019080831161217957505050918352505042602091820152825460018181018555600094855293829020835160109092020190815590820151928101929092556040810151600283015560608101519091906121e5906003830190600c61271b565b50608082015181600f015550506106a9828261230d565b6000806122098684612a70565b905060006122178785612af5565b905060005b828110801561222a57508681105b156122955760005b88811015612284576127108783600c811061224f5761224f6129ab565b602002015161225e908c612ac7565b6122689190612a70565b612272908b612a84565b995061227d81612a97565b9050612232565b5061228e81612a97565b905061221c565b8681036122a757889350505050612304565b60005b828110156122fc576127108783600c81106122c7576122c76129ab565b60200201516122d6908c612ac7565b6122e09190612a70565b6122ea908b612a84565b99506122f581612a97565b90506122aa565b508893505050505b95945050505050565b6001600160a01b0382166123895760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016104c0565b6001600160a01b038216600090815260208190526040902054818110156124185760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f636500000000000000000000000000000000000000000000000000000000000060648201526084016104c0565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b6001600160a01b0383166124f25760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016104c0565b6001600160a01b0382166125545760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104c0565b6001600160a01b038316600090815260208190526040902054818110156125e35760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016104c0565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350505050565b6001600160a01b0382166126a05760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016104c0565b80600260008282546126b29190612a84565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b5061271890600c810190612759565b50565b82600c8101928215612749579160200282015b8281111561274957825182559160200191906001019061272e565b50612755929150612759565b5090565b5b80821115612755576000815560010161275a565b600060208083528351808285015260005b8181101561279b5785810183015185820160400152820161277f565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b80356001600160a01b03811681146127f157600080fd5b919050565b6000806040838503121561280957600080fd5b612812836127da565b946020939093013593505050565b60006020828403121561283257600080fd5b5035919050565b60006020828403121561284b57600080fd5b612854826127da565b9392505050565b60008060006060848603121561287057600080fd5b612879846127da565b9250612887602085016127da565b9150604084013590509250925092565b801515811461271857600080fd5b600080604083850312156128b857600080fd5b6128c1836127da565b915060208301356128d181612897565b809150509250929050565b6000806000606084860312156128f157600080fd5b6128fa846127da565b925060208401359150604084013561291181612897565b809150509250925092565b6000806040838503121561292f57600080fd5b50508035926020909101359150565b6000806040838503121561295157600080fd5b61295a836127da565b9150612968602084016127da565b90509250929050565b600181811c9082168061298557607f821691505b6020821081036129a557634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b60408101600484106129e357634e487b7160e01b600052602160045260246000fd5b9281526001600160a01b039190911660209091015290565b600060208284031215612a0d57600080fd5b815161285481612897565b600060208284031215612a2a57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156103e3576103e3612a31565b634e487b7160e01b600052601260045260246000fd5b600082612a7f57612a7f612a5a565b500490565b808201808211156103e3576103e3612a31565b60006000198203612aaa57612aaa612a31565b5060010190565b634e487b7160e01b600052603160045260246000fd5b80820281158282048414176103e3576103e3612a31565b600081612aed57612aed612a31565b506000190190565b600082612b0457612b04612a5a565b50069056fea264697066735822122045d104a4a0fad62400ea987f22cf3fa551adbacadc7dee528ebc145aa7766c3864736f6c6343000811003300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000029be77a15b5aef5c0ff16d13284b212d5aaf62eb0000000000000000000000002d7f941c2844d3b91c3bc0f43c1b37ffd71feb6500000000000000000000000011a80551af23b4793282312cb00817a55f0ee27c0000000000000000000000000000000000000000000000000000000000000001310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013100000000000000000000000000000000000000000000000000000000000000