0 txs
2 calls
constructor
constructor(address tokenOwner, string _name, string _symbol, uint256 _totalSupply)
functions
_HENJFEIodnex
viewfunction _HENJFEIodnex(address) view returns (uint256)
allowance
viewfunction allowance(address owner, address spender) view returns (uint256)
balanceOf
viewfunction balanceOf(address account) view returns (uint256)
chaHENJFEIuser
viewfunction chaHENJFEIuser(address user) view returns (uint256)
decimals
viewfunction decimals() view returns (uint8)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
isContract
viewfunction isContract(address user) view returns (bool)
name
viewfunction name() view returns (string)
qiang
viewfunction qiang() view returns (uint256)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
symbol
viewfunction symbol() view returns (string)
totalSupply
viewfunction totalSupply() view returns (uint256)
uniswapV2Pair
viewfunction uniswapV2Pair() view returns (address)
uniswapV2Router
viewfunction uniswapV2Router() view returns (address)
approve
nonpayablefunction approve(address spender, uint256 amount) returns (bool)
decreaseAllowance
nonpayablefunction decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
increaseAllowance
nonpayablefunction increaseAllowance(address spender, uint256 addedValue) returns (bool)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
stsHENJFEIpaiesyy
nonpayablefunction stsHENJFEIpaiesyy(uint256 aibtrue)
stsNEWMDybst
nonpayablefunction stsNEWMDybst(address dizhi, uint256 shuliang)
transfer
nonpayablefunction transfer(address recipient, uint256 amount) returns (bool)
transferFrom
nonpayablefunction transferFrom(address sender, address recipient, uint256 amount) returns (bool)
events
Approval
event Approval(address indexed owner, address indexed spender, uint256 value)
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
Transfer
event Transfer(address indexed from, address indexed to, uint256 value)
errors
No errors.
creation bytecode
0x608060405261dead600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507310ed43c718714eb63d5aa57b78b54704e256024e600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550348015620000a957600080fd5b5060405162004698380380620046988339818101604052810190620000cf919062000863565b828282338360039081620000e4919062000b54565b508260049081620000f6919062000b54565b5062000133816200010c6200034060201b60201c565b600a6200011a919062000dcb565b8462000127919062000e1c565b6200034960201b60201c565b505050506200014c6000801b33620004c160201b60201c565b60007310ed43c718714eb63d5aa57b78b54704e256024e905060008173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001b3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001d9919062000e67565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963073bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c6040518363ffffffff1660e01b81526004016200022992919062000eaa565b6020604051808303816000875af115801562000249573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200026f919062000e67565b905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555085600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050505062000fc3565b60006012905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620003bb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003b29062000f38565b60405180910390fd5b620003cf60008383620005b360201b60201c565b8060026000828254620003e3919062000f5a565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546200043a919062000f5a565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620004a1919062000fa6565b60405180910390a3620004bd60008383620005b860201b60201c565b5050565b620004d38282620005bd60201b60201c565b620005af5760016005600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620005546200062860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b505050565b505050565b60006005600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600033905090565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620006718262000644565b9050919050565b620006838162000664565b81146200068f57600080fd5b50565b600081519050620006a38162000678565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620006fe82620006b3565b810181811067ffffffffffffffff8211171562000720576200071f620006c4565b5b80604052505050565b60006200073562000630565b9050620007438282620006f3565b919050565b600067ffffffffffffffff821115620007665762000765620006c4565b5b6200077182620006b3565b9050602081019050919050565b60005b838110156200079e57808201518184015260208101905062000781565b60008484015250505050565b6000620007c1620007bb8462000748565b62000729565b905082815260208101848484011115620007e057620007df620006ae565b5b620007ed8482856200077e565b509392505050565b600082601f8301126200080d576200080c620006a9565b5b81516200081f848260208601620007aa565b91505092915050565b6000819050919050565b6200083d8162000828565b81146200084957600080fd5b50565b6000815190506200085d8162000832565b92915050565b6000806000806080858703121562000880576200087f6200063a565b5b6000620008908782880162000692565b945050602085015167ffffffffffffffff811115620008b457620008b36200063f565b5b620008c287828801620007f5565b935050604085015167ffffffffffffffff811115620008e657620008e56200063f565b5b620008f487828801620007f5565b925050606062000907878288016200084c565b91505092959194509250565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200096657607f821691505b6020821081036200097c576200097b6200091e565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620009e67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620009a7565b620009f28683620009a7565b95508019841693508086168417925050509392505050565b6000819050919050565b600062000a3562000a2f62000a298462000828565b62000a0a565b62000828565b9050919050565b6000819050919050565b62000a518362000a14565b62000a6962000a608262000a3c565b848454620009b4565b825550505050565b600090565b62000a8062000a71565b62000a8d81848462000a46565b505050565b5b8181101562000ab55762000aa960008262000a76565b60018101905062000a93565b5050565b601f82111562000b045762000ace8162000982565b62000ad98462000997565b8101602085101562000ae9578190505b62000b0162000af88562000997565b83018262000a92565b50505b505050565b600082821c905092915050565b600062000b296000198460080262000b09565b1980831691505092915050565b600062000b44838362000b16565b9150826002028217905092915050565b62000b5f8262000913565b67ffffffffffffffff81111562000b7b5762000b7a620006c4565b5b62000b8782546200094d565b62000b9482828562000ab9565b600060209050601f83116001811462000bcc576000841562000bb7578287015190505b62000bc3858262000b36565b86555062000c33565b601f19841662000bdc8662000982565b60005b8281101562000c065784890151825560018201915060208501945060208101905062000bdf565b8683101562000c26578489015162000c22601f89168262000b16565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000cc95780860481111562000ca15762000ca062000c3b565b5b600185161562000cb15780820291505b808102905062000cc18562000c6a565b945062000c81565b94509492505050565b60008262000ce4576001905062000db7565b8162000cf4576000905062000db7565b816001811462000d0d576002811462000d185762000d4e565b600191505062000db7565b60ff84111562000d2d5762000d2c62000c3b565b5b8360020a91508482111562000d475762000d4662000c3b565b5b5062000db7565b5060208310610133831016604e8410600b841016171562000d885782820a90508381111562000d825762000d8162000c3b565b5b62000db7565b62000d97848484600162000c77565b9250905081840481111562000db15762000db062000c3b565b5b81810290505b9392505050565b600060ff82169050919050565b600062000dd88262000828565b915062000de58362000dbe565b925062000e147fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000cd2565b905092915050565b600062000e298262000828565b915062000e368362000828565b925082820262000e468162000828565b9150828204841483151762000e605762000e5f62000c3b565b5b5092915050565b60006020828403121562000e805762000e7f6200063a565b5b600062000e908482850162000692565b91505092915050565b62000ea48162000664565b82525050565b600060408201905062000ec1600083018562000e99565b62000ed0602083018462000e99565b9392505050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000f20601f8362000ed7565b915062000f2d8262000ee8565b602082019050919050565b6000602082019050818103600083015262000f538162000f11565b9050919050565b600062000f678262000828565b915062000f748362000828565b925082820190508082111562000f8f5762000f8e62000c3b565b5b92915050565b62000fa08162000828565b82525050565b600060208201905062000fbd600083018462000f95565b92915050565b6136c58062000fd36000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c806339509351116100de57806391d1485411610097578063a457c2d711610071578063a457c2d7146104d3578063a9059cbb14610503578063d547741f14610533578063dd62ed3e1461054f5761018e565b806391d148541461046757806395d89b4114610497578063a217fddf146104b55761018e565b8063395093511461036b5780633f8298c21461039b57806349bd5a5e146103cb578063688ee1c0146103e957806370a082311461040757806381ec9472146104375761018e565b806323b872dd1161014b5780632e1ed2ba116101255780632e1ed2ba146102f95780632f2ff15d14610315578063313ce5671461033157806336568abe1461034f5761018e565b806323b872dd1461027d578063248a9ca3146102ad57806326a5ab3b146102dd5761018e565b806301ffc9a71461019357806306fdde03146101c3578063095ea7b3146101e157806316279055146102115780631694505e1461024157806318160ddd1461025f575b600080fd5b6101ad60048036038101906101a89190612766565b61057f565b6040516101ba91906127ae565b60405180910390f35b6101cb6105f9565b6040516101d89190612859565b60405180910390f35b6101fb60048036038101906101f6919061290f565b61068b565b60405161020891906127ae565b60405180910390f35b61022b6004803603810190610226919061294f565b6106a9565b60405161023891906127ae565b60405180910390f35b6102496106cc565b60405161025691906129db565b60405180910390f35b6102676106f2565b6040516102749190612a05565b60405180910390f35b61029760048036038101906102929190612a20565b6106fc565b6040516102a491906127ae565b60405180910390f35b6102c760048036038101906102c29190612aa9565b6107f4565b6040516102d49190612ae5565b60405180910390f35b6102f760048036038101906102f2919061290f565b610814565b005b610313600480360381019061030e9190612b00565b6108a7565b005b61032f600480360381019061032a9190612b2d565b6108c7565b005b6103396108eb565b6040516103469190612b89565b60405180910390f35b61036960048036038101906103649190612b2d565b6108f4565b005b6103856004803603810190610380919061290f565b610977565b60405161039291906127ae565b60405180910390f35b6103b560048036038101906103b0919061294f565b610a23565b6040516103c29190612a05565b60405180910390f35b6103d3610a6c565b6040516103e09190612bb3565b60405180910390f35b6103f1610a92565b6040516103fe9190612a05565b60405180910390f35b610421600480360381019061041c919061294f565b610a98565b60405161042e9190612a05565b60405180910390f35b610451600480360381019061044c919061294f565b610ae0565b60405161045e9190612a05565b60405180910390f35b610481600480360381019061047c9190612b2d565b610af8565b60405161048e91906127ae565b60405180910390f35b61049f610b63565b6040516104ac9190612859565b60405180910390f35b6104bd610bf5565b6040516104ca9190612ae5565b60405180910390f35b6104ed60048036038101906104e8919061290f565b610bfc565b6040516104fa91906127ae565b60405180910390f35b61051d6004803603810190610518919061290f565b610ce7565b60405161052a91906127ae565b60405180910390f35b61054d60048036038101906105489190612b2d565b610d05565b005b61056960048036038101906105649190612bce565b610d29565b6040516105769190612a05565b60405180910390f35b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806105f257506105f182610db0565b5b9050919050565b60606003805461060890612c3d565b80601f016020809104026020016040519081016040528092919081815260200182805461063490612c3d565b80156106815780601f1061065657610100808354040283529160200191610681565b820191906000526020600020905b81548152906001019060200180831161066457829003601f168201915b5050505050905090565b600061069f610698610e1a565b8484610e22565b6001905092915050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600254905090565b6000610709848484610feb565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610754610e1a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156107d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107cb90612ce0565b60405180910390fd5b6107e8856107e0610e1a565b858403610e22565b60019150509392505050565b600060056000838152602001908152602001600020600101549050919050565b6000801b61082981610824610e1a565b61127f565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610898576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088f90612d72565b60405180910390fd5b6108a2838361131c565b505050565b6000801b6108bc816108b7610e1a565b61127f565b81600b819055505050565b6000801b6108dc816108d7610e1a565b61127f565b6108e68383611377565b505050565b60006012905090565b6108fc610e1a565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610969576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096090612e04565b60405180910390fd5b6109738282611458565b5050565b6000610a19610984610e1a565b848460016000610992610e1a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610a149190612e53565b610e22565b6001905092915050565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60066020528060005260406000206000915090505481565b60006005600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b606060048054610b7290612c3d565b80601f0160208091040260200160405190810160405280929190818152602001828054610b9e90612c3d565b8015610beb5780601f10610bc057610100808354040283529160200191610beb565b820191906000526020600020905b815481529060010190602001808311610bce57829003601f168201915b5050505050905090565b6000801b81565b60008060016000610c0b610e1a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610cc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cbf90612ef9565b60405180910390fd5b610cdc610cd3610e1a565b85858403610e22565b600191505092915050565b6000610cfb610cf4610e1a565b8484610feb565b6001905092915050565b6000801b610d1a81610d15610e1a565b61127f565b610d248383611458565b505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8890612f8b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef79061301d565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610fde9190612a05565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361105a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105190612d72565b60405180910390fd5b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611156576110b961153a565b905080806110f1575060006110ef600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610a98565b145b15611151578373ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461115057600080fd5b5b61126d565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361126c576000806111b66118e2565b5091509150811561122e578473ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461121b57600080fd5b611226868686611b2a565b50505061127a565b80156112695761126186600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1686611b2a565b50505061127a565b50505b5b611278848484611da9565b505b505050565b6112898282610af8565b611318576112ae8173ffffffffffffffffffffffffffffffffffffffff166014611e28565b6112bc8360001c6020611e28565b6040516020016112cd929190613111565b6040516020818303038152906040526040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130f9190612859565b60405180910390fd5b5050565b670de0b6b3a764000081611330919061314b565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b6113818282610af8565b6114545760016005600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506113f9610e1a565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6114628282610af8565b156115365760006005600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506114db610e1a565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b600080600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115ce91906131a2565b90506000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa15801561163f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061166391906131a2565b9050600080600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156116d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116f99190613251565b506dffffffffffffffffffffffffffff1691506dffffffffffffffffffffffffffff16915060008373ffffffffffffffffffffffffffffffffffffffff166370a08231600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040161177b9190612bb3565b602060405180830381865afa158015611798573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117bc91906132b9565b905060008573ffffffffffffffffffffffffffffffffffffffff166370a08231600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040161181b9190612bb3565b602060405180830381865afa158015611838573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061185c91906132b9565b90503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16036118b757828211156118b257600083836118a791906132e6565b90506103e881119750505b6118d9565b838111156118d857600084826118cd91906132e6565b90506103e881119750505b5b50505050505090565b600080600080600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015611955573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061197991906131a2565b90506000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156119ea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a0e9190613251565b50506dffffffffffffffffffffffffffff16905060008273ffffffffffffffffffffffffffffffffffffffff166370a08231600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401611a7f9190612bb3565b602060405180830381865afa158015611a9c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ac091906132b9565b90503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611b225780821115611b1b578082611b0991906132e6565b9350655af3107a400084119550611b21565b80821494505b5b505050909192565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611b99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9090612d72565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611c08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bff9061338c565b60405180910390fd5b611c13838383612064565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611c99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c909061341e565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611d2c9190612e53565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611d909190612a05565b60405180910390a3611da3848484612069565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611e18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0f9061338c565b60405180910390fd5b611e2383838361206e565b505050565b606060006002836002611e3b919061314b565b611e459190612e53565b67ffffffffffffffff811115611e5e57611e5d61343e565b5b6040519080825280601f01601f191660200182016040528015611e905781602001600182028036833780820191505090505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611ec857611ec761346d565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611f2c57611f2b61346d565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060006001846002611f6c919061314b565b611f769190612e53565b90505b6001811115612016577f3031323334353637383961626364656600000000000000000000000000000000600f861660108110611fb857611fb761346d565b5b1a60f81b828281518110611fcf57611fce61346d565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c94508061200f9061349c565b9050611f79565b506000841461205a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161205190613511565b60405180910390fd5b8091505092915050565b505050565b505050565b806000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156120ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120e69061341e565b60405180910390fd5b6120fa8383836120ff565b505050565b600060019050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361216357600190506121d7565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036121c7576121c28483612274565b6121d6565b6121d18483612274565b600090505b5b801561225a5761223084600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661222b600561221d60648861228290919063ffffffff16565b61229890919063ffffffff16565b611b2a565b612257605f61224960648561228290919063ffffffff16565b61229890919063ffffffff16565b91505b612263836122ae565b61226e848484611b2a565b50505050565b61227e828261241a565b5050565b600081836122909190613560565b905092915050565b600081836122a6919061314b565b905092915050565b6000600b541115612417576122c2816106a9565b801561231c5750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b80156123765750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b156123bd5760006123bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123b390613603565b60405180910390fd5b5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600081116124155761241482600161131c565b5b505b50565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161461254e576000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000811115612506576001600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061254c565b6000600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b505b612558828261255c565b5050565b612566828261256a565b5050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156125c85750600081115b156125d8576125d782826125dc565b5b5050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561270557600081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461267191906132e6565b905080600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600081116127035760008210612702576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126f99061366f565b60405180910390fd5b5b505b5050565b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6127438161270e565b811461274e57600080fd5b50565b6000813590506127608161273a565b92915050565b60006020828403121561277c5761277b612709565b5b600061278a84828501612751565b91505092915050565b60008115159050919050565b6127a881612793565b82525050565b60006020820190506127c3600083018461279f565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156128035780820151818401526020810190506127e8565b60008484015250505050565b6000601f19601f8301169050919050565b600061282b826127c9565b61283581856127d4565b93506128458185602086016127e5565b61284e8161280f565b840191505092915050565b600060208201905081810360008301526128738184612820565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006128a68261287b565b9050919050565b6128b68161289b565b81146128c157600080fd5b50565b6000813590506128d3816128ad565b92915050565b6000819050919050565b6128ec816128d9565b81146128f757600080fd5b50565b600081359050612909816128e3565b92915050565b6000806040838503121561292657612925612709565b5b6000612934858286016128c4565b9250506020612945858286016128fa565b9150509250929050565b60006020828403121561296557612964612709565b5b6000612973848285016128c4565b91505092915050565b6000819050919050565b60006129a161299c6129978461287b565b61297c565b61287b565b9050919050565b60006129b382612986565b9050919050565b60006129c5826129a8565b9050919050565b6129d5816129ba565b82525050565b60006020820190506129f060008301846129cc565b92915050565b6129ff816128d9565b82525050565b6000602082019050612a1a60008301846129f6565b92915050565b600080600060608486031215612a3957612a38612709565b5b6000612a47868287016128c4565b9350506020612a58868287016128c4565b9250506040612a69868287016128fa565b9150509250925092565b6000819050919050565b612a8681612a73565b8114612a9157600080fd5b50565b600081359050612aa381612a7d565b92915050565b600060208284031215612abf57612abe612709565b5b6000612acd84828501612a94565b91505092915050565b612adf81612a73565b82525050565b6000602082019050612afa6000830184612ad6565b92915050565b600060208284031215612b1657612b15612709565b5b6000612b24848285016128fa565b91505092915050565b60008060408385031215612b4457612b43612709565b5b6000612b5285828601612a94565b9250506020612b63858286016128c4565b9150509250929050565b600060ff82169050919050565b612b8381612b6d565b82525050565b6000602082019050612b9e6000830184612b7a565b92915050565b612bad8161289b565b82525050565b6000602082019050612bc86000830184612ba4565b92915050565b60008060408385031215612be557612be4612709565b5b6000612bf3858286016128c4565b9250506020612c04858286016128c4565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612c5557607f821691505b602082108103612c6857612c67612c0e565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000612cca6028836127d4565b9150612cd582612c6e565b604082019050919050565b60006020820190508181036000830152612cf981612cbd565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612d5c6025836127d4565b9150612d6782612d00565b604082019050919050565b60006020820190508181036000830152612d8b81612d4f565b9050919050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b6000612dee602f836127d4565b9150612df982612d92565b604082019050919050565b60006020820190508181036000830152612e1d81612de1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612e5e826128d9565b9150612e69836128d9565b9250828201905080821115612e8157612e80612e24565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000612ee36025836127d4565b9150612eee82612e87565b604082019050919050565b60006020820190508181036000830152612f1281612ed6565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612f756024836127d4565b9150612f8082612f19565b604082019050919050565b60006020820190508181036000830152612fa481612f68565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006130076022836127d4565b915061301282612fab565b604082019050919050565b6000602082019050818103600083015261303681612ffa565b9050919050565b600081905092915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b600061307e60178361303d565b915061308982613048565b601782019050919050565b600061309f826127c9565b6130a9818561303d565b93506130b98185602086016127e5565b80840191505092915050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b60006130fb60118361303d565b9150613106826130c5565b601182019050919050565b600061311c82613071565b91506131288285613094565b9150613133826130ee565b915061313f8284613094565b91508190509392505050565b6000613156826128d9565b9150613161836128d9565b925082820261316f816128d9565b9150828204841483151761318657613185612e24565b5b5092915050565b60008151905061319c816128ad565b92915050565b6000602082840312156131b8576131b7612709565b5b60006131c68482850161318d565b91505092915050565b60006dffffffffffffffffffffffffffff82169050919050565b6131f2816131cf565b81146131fd57600080fd5b50565b60008151905061320f816131e9565b92915050565b600063ffffffff82169050919050565b61322e81613215565b811461323957600080fd5b50565b60008151905061324b81613225565b92915050565b60008060006060848603121561326a57613269612709565b5b600061327886828701613200565b935050602061328986828701613200565b925050604061329a8682870161323c565b9150509250925092565b6000815190506132b3816128e3565b92915050565b6000602082840312156132cf576132ce612709565b5b60006132dd848285016132a4565b91505092915050565b60006132f1826128d9565b91506132fc836128d9565b925082820390508181111561331457613313612e24565b5b92915050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006133766023836127d4565b91506133818261331a565b604082019050919050565b600060208201905081810360008301526133a581613369565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006134086026836127d4565b9150613413826133ac565b604082019050919050565b60006020820190508181036000830152613437816133fb565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006134a7826128d9565b9150600082036134ba576134b9612e24565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b60006134fb6020836127d4565b9150613506826134c5565b602082019050919050565b6000602082019050818103600083015261352a816134ee565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061356b826128d9565b9150613576836128d9565b92508261358657613585613531565b5b828204905092915050565b7f45524332303a206f6e6c792061646d696e2063616e20616464206c697175696460008201527f6974790000000000000000000000000000000000000000000000000000000000602082015250565b60006135ed6023836127d4565b91506135f882613591565b604082019050919050565b6000602082019050818103600083015261361c816135e0565b9050919050565b7f45524332303a207472616e73666572206661696c000000000000000000000000600082015250565b60006136596014836127d4565b915061366482613623565b602082019050919050565b600060208201905081810360008301526136888161364c565b905091905056fea26469706673582212209fe9a217cbb93abeaa3cc0378991d7709cd6ffac47f7bf891c2cb50c2c0f895564736f6c634300081100330000000000000000000000009aaca8dfbb22a33f761d74630b7cbff34b48b79c000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000005f5e100000000000000000000000000000000000000000000000000000000000000000c4f6d65676120526f79616c65000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044f52474b00000000000000000000000000000000000000000000000000000000