0 txs
1 call
constructor
constructor(address _admin, address _wallet, uint256 _amount, string _name, string _symbol)
functions
allowance
viewfunction allowance(address owner, address spender) view returns (uint256)
balanceOf
viewfunction balanceOf(address account) view returns (uint256)
decimals
viewfunction decimals() view returns (uint8)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
DOMAIN_SEPARATOR
viewfunction DOMAIN_SEPARATOR() view returns (bytes32)
eip712Domain
viewfunction eip712Domain() view returns (bytes1 fields, string name, string version, uint256 chainId, address verifyingContract, bytes32 salt, uint256[] extensions)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
getRoleMember
viewfunction getRoleMember(bytes32 role, uint256 index) view returns (address)
getRoleMemberCount
viewfunction getRoleMemberCount(bytes32 role) view returns (uint256)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
name
viewfunction name() view returns (string)
nonces
viewfunction nonces(address owner) view returns (uint256)
paused
viewfunction paused() view returns (bool)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
symbol
viewfunction symbol() view returns (string)
totalSupply
viewfunction totalSupply() view returns (uint256)
approve
nonpayablefunction approve(address spender, uint256 amount) returns (bool)
burn
nonpayablefunction burn(uint256 amount)
burnFrom
nonpayablefunction burnFrom(address account, uint256 amount)
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)
pause
nonpayablefunction pause()
permit
nonpayablefunction permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
transfer
nonpayablefunction transfer(address to, uint256 amount) returns (bool)
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 amount) returns (bool)
unpause
nonpayablefunction unpause()
events
Approval
event Approval(address indexed owner, address indexed spender, uint256 value)
EIP712DomainChanged
event EIP712DomainChanged()
Paused
event Paused(address account)
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)
Unpaused
event Unpaused(address account)
errors
InvalidShortString
error InvalidShortString()
StringTooLong
error StringTooLong(string str)
creation bytecode
0x6101606040523480156200001257600080fd5b50604051620051ec380380620051ec833981810160405281019062000038919062000ad5565b81806040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152508484816003908162000083919062000ddc565b50806004908162000095919062000ddc565b505050620000b3600583620002ca60201b62000e611790919060201c565b6101208181525050620000d6600682620002ca60201b62000e611790919060201c565b6101408181525050818051906020012060e08181525050808051906020012061010081815250504660a08181525050620001156200032760201b60201c565b608081815250503073ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff16815250505050506000600960006101000a81548160ff021916908315150217905550600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603620001e0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001d79062000f24565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160362000252576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002499062000f24565b60405180910390fd5b6000830362000298576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200028f9062000f96565b60405180910390fd5b620002aa84846200038460201b60201c565b620002bf6000801b86620004f160201b60201c565b50505050506200130c565b6000602083511015620002f057620002e8836200053960201b60201c565b905062000321565b826200030783620005a660201b62000ea51760201c565b600001908162000318919062000ddc565b5060ff60001b90505b92915050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60e0516101005146306040516020016200036995949392919062000ff5565b60405160208183030381529060405280519060200120905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620003f6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003ed90620010a2565b60405180910390fd5b6200040a60008383620005b060201b60201c565b80600260008282546200041e9190620010f3565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620004d1919062001150565b60405180910390a3620004ed60008383620005cd60201b60201c565b5050565b620005088282620005d260201b62000eaf1760201c565b6200053481600b6000858152602001908152602001600020620006c460201b62000f901790919060201c565b505050565b600080829050601f815111156200058957826040517f305a27a9000000000000000000000000000000000000000000000000000000008152600401620005809190620011ae565b60405180910390fd5b805181620005979062001204565b60001c1760001b915050919050565b6000819050919050565b620005c8838383620006fc60201b62000fc01760201c565b505050565b505050565b620005e482826200076c60201b60201c565b620006c0576001600a600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000665620007d760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6000620006f4836000018373ffffffffffffffffffffffffffffffffffffffff1660001b620007df60201b60201c565b905092915050565b620007148383836200085960201b620010181760201c565b620007246200085e60201b60201c565b1562000767576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200075e90620012ea565b60405180910390fd5b505050565b6000600a600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600033905090565b6000620007f383836200087560201b60201c565b6200084e57826000018290806001815401808255809150506001900390600052602060002001600090919091909150558260000180549050836001016000848152602001908152602001600020819055506001905062000853565b600090505b92915050565b505050565b6000600960009054906101000a900460ff16905090565b600080836001016000848152602001908152602001600020541415905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620008d982620008ac565b9050919050565b620008eb81620008cc565b8114620008f757600080fd5b50565b6000815190506200090b81620008e0565b92915050565b6000819050919050565b620009268162000911565b81146200093257600080fd5b50565b60008151905062000946816200091b565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620009a18262000956565b810181811067ffffffffffffffff82111715620009c357620009c262000967565b5b80604052505050565b6000620009d862000898565b9050620009e6828262000996565b919050565b600067ffffffffffffffff82111562000a095762000a0862000967565b5b62000a148262000956565b9050602081019050919050565b60005b8381101562000a4157808201518184015260208101905062000a24565b8381111562000a51576000848401525b50505050565b600062000a6e62000a6884620009eb565b620009cc565b90508281526020810184848401111562000a8d5762000a8c62000951565b5b62000a9a84828562000a21565b509392505050565b600082601f83011262000aba5762000ab96200094c565b5b815162000acc84826020860162000a57565b91505092915050565b600080600080600060a0868803121562000af45762000af3620008a2565b5b600062000b0488828901620008fa565b955050602062000b1788828901620008fa565b945050604062000b2a8882890162000935565b935050606086015167ffffffffffffffff81111562000b4e5762000b4d620008a7565b5b62000b5c8882890162000aa2565b925050608086015167ffffffffffffffff81111562000b805762000b7f620008a7565b5b62000b8e8882890162000aa2565b9150509295509295909350565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000bee57607f821691505b60208210810362000c045762000c0362000ba6565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000c6e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000c2f565b62000c7a868362000c2f565b95508019841693508086168417925050509392505050565b6000819050919050565b600062000cbd62000cb762000cb18462000911565b62000c92565b62000911565b9050919050565b6000819050919050565b62000cd98362000c9c565b62000cf162000ce88262000cc4565b84845462000c3c565b825550505050565b600090565b62000d0862000cf9565b62000d1581848462000cce565b505050565b5b8181101562000d3d5762000d3160008262000cfe565b60018101905062000d1b565b5050565b601f82111562000d8c5762000d568162000c0a565b62000d618462000c1f565b8101602085101562000d71578190505b62000d8962000d808562000c1f565b83018262000d1a565b50505b505050565b600082821c905092915050565b600062000db16000198460080262000d91565b1980831691505092915050565b600062000dcc838362000d9e565b9150826002028217905092915050565b62000de78262000b9b565b67ffffffffffffffff81111562000e035762000e0262000967565b5b62000e0f825462000bd5565b62000e1c82828562000d41565b600060209050601f83116001811462000e54576000841562000e3f578287015190505b62000e4b858262000dbe565b86555062000ebb565b601f19841662000e648662000c0a565b60005b8281101562000e8e5784890151825560018201915060208501945060208101905062000e67565b8683101562000eae578489015162000eaa601f89168262000d9e565b8355505b6001600288020188555050505b505050505050565b600082825260208201905092915050565b7f496e74657263616c6c61723a207a65726f206164647265737300000000000000600082015250565b600062000f0c60198362000ec3565b915062000f198262000ed4565b602082019050919050565b6000602082019050818103600083015262000f3f8162000efd565b9050919050565b7f496e74657263616c6c61723a207a65726f20616d6f756e740000000000000000600082015250565b600062000f7e60188362000ec3565b915062000f8b8262000f46565b602082019050919050565b6000602082019050818103600083015262000fb18162000f6f565b9050919050565b6000819050919050565b62000fcd8162000fb8565b82525050565b62000fde8162000911565b82525050565b62000fef81620008cc565b82525050565b600060a0820190506200100c600083018862000fc2565b6200101b602083018762000fc2565b6200102a604083018662000fc2565b62001039606083018562000fd3565b62001048608083018462000fe4565b9695505050505050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b60006200108a601f8362000ec3565b9150620010978262001052565b602082019050919050565b60006020820190508181036000830152620010bd816200107b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620011008262000911565b91506200110d8362000911565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620011455762001144620010c4565b5b828201905092915050565b600060208201905062001167600083018462000fd3565b92915050565b60006200117a8262000b9b565b62001186818562000ec3565b93506200119881856020860162000a21565b620011a38162000956565b840191505092915050565b60006020820190508181036000830152620011ca81846200116d565b905092915050565b600081519050919050565b6000819050602082019050919050565b6000620011fb825162000fb8565b80915050919050565b60006200121182620011d2565b826200121d84620011dd565b90506200122a81620011ed565b925060208210156200126d57620012687fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8360200360080262000c2f565b831692505b5050919050565b7f45524332305061757361626c653a20746f6b656e207472616e7366657220776860008201527f696c652070617573656400000000000000000000000000000000000000000000602082015250565b6000620012d2602a8362000ec3565b9150620012df8262001274565b604082019050919050565b600060208201905081810360008301526200130581620012c3565b9050919050565b60805160a05160c05160e051610100516101205161014051613e856200136760003960006109cb0152600061099701526000611ce201526000611cc1015260006115b60152600061160c015260006116350152613e856000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c806370a082311161010457806395d89b41116100a2578063ca15c87311610071578063ca15c8731461055e578063d505accf1461058e578063d547741f146105aa578063dd62ed3e146105c6576101cf565b806395d89b41146104c2578063a217fddf146104e0578063a457c2d7146104fe578063a9059cbb1461052e576101cf565b80638456cb59116100de5780638456cb591461043457806384b0196e1461043e5780639010d07c1461046257806391d1485414610492576101cf565b806370a08231146103b857806379cc6790146103e85780637ecebe0014610404576101cf565b8063313ce56711610171578063395093511161014b57806339509351146103445780633f4ba83a1461037457806342966c681461037e5780635c975abb1461039a576101cf565b8063313ce567146102ec5780633644e5151461030a57806336568abe14610328576101cf565b806318160ddd116101ad57806318160ddd1461025257806323b872dd14610270578063248a9ca3146102a05780632f2ff15d146102d0576101cf565b806301ffc9a7146101d457806306fdde0314610204578063095ea7b314610222575b600080fd5b6101ee60048036038101906101e99190612673565b6105f6565b6040516101fb91906126bb565b60405180910390f35b61020c610670565b604051610219919061276f565b60405180910390f35b61023c60048036038101906102379190612825565b610702565b60405161024991906126bb565b60405180910390f35b61025a610725565b6040516102679190612874565b60405180910390f35b61028a6004803603810190610285919061288f565b61072f565b60405161029791906126bb565b60405180910390f35b6102ba60048036038101906102b59190612918565b61075e565b6040516102c79190612954565b60405180910390f35b6102ea60048036038101906102e5919061296f565b61077e565b005b6102f461079f565b60405161030191906129cb565b60405180910390f35b6103126107a8565b60405161031f9190612954565b60405180910390f35b610342600480360381019061033d919061296f565b6107b7565b005b61035e60048036038101906103599190612825565b61083a565b60405161036b91906126bb565b60405180910390f35b61037c610871565b005b610398600480360381019061039391906129e6565b610889565b005b6103a261089d565b6040516103af91906126bb565b60405180910390f35b6103d260048036038101906103cd9190612a13565b6108b4565b6040516103df9190612874565b60405180910390f35b61040260048036038101906103fd9190612825565b6108fc565b005b61041e60048036038101906104199190612a13565b61091c565b60405161042b9190612874565b60405180910390f35b61043c61096c565b005b610446610984565b6040516104599796959493929190612b48565b60405180910390f35b61047c60048036038101906104779190612bcc565b610a86565b6040516104899190612c0c565b60405180910390f35b6104ac60048036038101906104a7919061296f565b610ab5565b6040516104b991906126bb565b60405180910390f35b6104ca610b20565b6040516104d7919061276f565b60405180910390f35b6104e8610bb2565b6040516104f59190612954565b60405180910390f35b61051860048036038101906105139190612825565b610bb9565b60405161052591906126bb565b60405180910390f35b61054860048036038101906105439190612825565b610c30565b60405161055591906126bb565b60405180910390f35b61057860048036038101906105739190612918565b610c53565b6040516105859190612874565b60405180910390f35b6105a860048036038101906105a39190612c53565b610c77565b005b6105c460048036038101906105bf919061296f565b610db9565b005b6105e060048036038101906105db9190612cf5565b610dda565b6040516105ed9190612874565b60405180910390f35b60007f5a05180f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061066957506106688261101d565b5b9050919050565b60606003805461067f90612d64565b80601f01602080910402602001604051908101604052809291908181526020018280546106ab90612d64565b80156106f85780601f106106cd576101008083540402835291602001916106f8565b820191906000526020600020905b8154815290600101906020018083116106db57829003601f168201915b5050505050905090565b60008061070d611097565b905061071a81858561109f565b600191505092915050565b6000600254905090565b60008061073a611097565b9050610747858285611268565b6107528585856112f4565b60019150509392505050565b6000600a6000838152602001908152602001600020600101549050919050565b6107878261075e565b6107908161156a565b61079a838361157e565b505050565b60006012905090565b60006107b26115b2565b905090565b6107bf611097565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461082c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082390612e07565b60405180910390fd5b6108368282611669565b5050565b600080610845611097565b90506108668185856108578589610dda565b6108619190612e56565b61109f565b600191505092915050565b6000801b61087e8161156a565b61088661169d565b50565b61089a610894611097565b82611700565b50565b6000600960009054906101000a900460ff16905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61090e82610908611097565b83611268565b6109188282611700565b5050565b6000610965600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206118cd565b9050919050565b6000801b6109798161156a565b6109816118db565b50565b6000606080600080600060606109c460057f000000000000000000000000000000000000000000000000000000000000000061193e90919063ffffffff16565b6109f860067f000000000000000000000000000000000000000000000000000000000000000061193e90919063ffffffff16565b46306000801b600067ffffffffffffffff811115610a1957610a18612eac565b5b604051908082528060200260200182016040528015610a475781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b6000610aad82600b60008681526020019081526020016000206119ee90919063ffffffff16565b905092915050565b6000600a600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b606060048054610b2f90612d64565b80601f0160208091040260200160405190810160405280929190818152602001828054610b5b90612d64565b8015610ba85780601f10610b7d57610100808354040283529160200191610ba8565b820191906000526020600020905b815481529060010190602001808311610b8b57829003601f168201915b5050505050905090565b6000801b81565b600080610bc4611097565b90506000610bd28286610dda565b905083811015610c17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0e90612f4d565b60405180910390fd5b610c24828686840361109f565b60019250505092915050565b600080610c3b611097565b9050610c488185856112f4565b600191505092915050565b6000610c70600b6000848152602001908152602001600020611a08565b9050919050565b83421115610cba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb190612fb9565b60405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610ce98c611a1d565b89604051602001610cff96959493929190612fd9565b6040516020818303038152906040528051906020012090506000610d2282611a7b565b90506000610d3282878787611a95565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610da2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9990613086565b60405180910390fd5b610dad8a8a8a61109f565b50505050505050505050565b610dc28261075e565b610dcb8161156a565b610dd58383611669565b505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000602083511015610e7d57610e7683611ac0565b9050610e9f565b82610e8783610ea5565b6000019081610e969190613252565b5060ff60001b90505b92915050565b6000819050919050565b610eb98282610ab5565b610f8c576001600a600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550610f31611097565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6000610fb8836000018373ffffffffffffffffffffffffffffffffffffffff1660001b611b28565b905092915050565b610fcb838383611018565b610fd361089d565b15611013576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100a90613396565b60405180910390fd5b505050565b505050565b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611090575061108f82611b98565b5b9050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361110e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110590613428565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361117d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611174906134ba565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161125b9190612874565b60405180910390a3505050565b60006112748484610dda565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146112ee57818110156112e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d790613526565b60405180910390fd5b6112ed848484840361109f565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611363576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135a906135b8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c99061364a565b60405180910390fd5b6113dd838383611c02565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611463576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145a906136dc565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516115519190612874565b60405180910390a3611564848484611c12565b50505050565b61157b81611576611097565b611c17565b50565b6115888282610eaf565b6115ad81600b6000858152602001908152602001600020610f9090919063ffffffff16565b505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614801561162e57507f000000000000000000000000000000000000000000000000000000000000000046145b1561165b577f00000000000000000000000000000000000000000000000000000000000000009050611666565b611663611c9c565b90505b90565b6116738282611d32565b61169881600b6000858152602001908152602001600020611e1490919063ffffffff16565b505050565b6116a5611e44565b6000600960006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6116e9611097565b6040516116f69190612c0c565b60405180910390a1565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361176f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117669061376e565b60405180910390fd5b61177b82600083611c02565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611801576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117f890613800565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516118b49190612874565b60405180910390a36118c883600084611c12565b505050565b600081600001549050919050565b6118e3611e8d565b6001600960006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611927611097565b6040516119349190612c0c565b60405180910390a1565b606060ff60001b831461195b5761195483611ed7565b90506119e8565b81805461196790612d64565b80601f016020809104026020016040519081016040528092919081815260200182805461199390612d64565b80156119e05780601f106119b5576101008083540402835291602001916119e0565b820191906000526020600020905b8154815290600101906020018083116119c357829003601f168201915b505050505090505b92915050565b60006119fd8360000183611f4b565b60001c905092915050565b6000611a1682600001611f76565b9050919050565b600080600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050611a6a816118cd565b9150611a7581611f87565b50919050565b6000611a8e611a886115b2565b83611f9d565b9050919050565b6000806000611aa687878787611fde565b91509150611ab3816120c0565b8192505050949350505050565b600080829050601f81511115611b0d57826040517f305a27a9000000000000000000000000000000000000000000000000000000008152600401611b04919061276f565b60405180910390fd5b805181611b1990613850565b60001c1760001b915050919050565b6000611b348383612226565b611b8d578260000182908060018154018082558091505060019003906000526020600020016000909190919091505582600001805490508360010160008481526020019081526020016000208190555060019050611b92565b600090505b92915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b611c0d838383610fc0565b505050565b505050565b611c218282610ab5565b611c9857611c2e81612249565b611c3c8360001c6020612276565b604051602001611c4d92919061398b565b6040516020818303038152906040526040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c8f919061276f565b60405180910390fd5b5050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000004630604051602001611d179594939291906139c5565b60405160208183030381529060405280519060200120905090565b611d3c8282610ab5565b15611e10576000600a600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611db5611097565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b6000611e3c836000018373ffffffffffffffffffffffffffffffffffffffff1660001b6124b2565b905092915050565b611e4c61089d565b611e8b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e8290613a64565b60405180910390fd5b565b611e9561089d565b15611ed5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ecc90613ad0565b60405180910390fd5b565b60606000611ee4836125c6565b90506000602067ffffffffffffffff811115611f0357611f02612eac565b5b6040519080825280601f01601f191660200182016040528015611f355781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b6000826000018281548110611f6357611f62613af0565b5b9060005260206000200154905092915050565b600081600001805490509050919050565b6001816000016000828254019250508190555050565b60006040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c11156120195760006003915091506120b7565b60006001878787876040516000815260200160405260405161203e9493929190613b1f565b6020604051602081039080840390855afa158015612060573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036120ae576000600192509250506120b7565b80600092509250505b94509492505050565b600060048111156120d4576120d3613b64565b5b8160048111156120e7576120e6613b64565b5b0315612223576001600481111561210157612100613b64565b5b81600481111561211457612113613b64565b5b03612154576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214b90613bdf565b60405180910390fd5b6002600481111561216857612167613b64565b5b81600481111561217b5761217a613b64565b5b036121bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121b290613c4b565b60405180910390fd5b600360048111156121cf576121ce613b64565b5b8160048111156121e2576121e1613b64565b5b03612222576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161221990613cdd565b60405180910390fd5b5b50565b600080836001016000848152602001908152602001600020541415905092915050565b606061226f8273ffffffffffffffffffffffffffffffffffffffff16601460ff16612276565b9050919050565b6060600060028360026122899190613cfd565b6122939190612e56565b67ffffffffffffffff8111156122ac576122ab612eac565b5b6040519080825280601f01601f1916602001820160405280156122de5781602001600182028036833780820191505090505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061231657612315613af0565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061237a57612379613af0565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600060018460026123ba9190613cfd565b6123c49190612e56565b90505b6001811115612464577f3031323334353637383961626364656600000000000000000000000000000000600f86166010811061240657612405613af0565b5b1a60f81b82828151811061241d5761241c613af0565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c94508061245d90613d57565b90506123c7565b50600084146124a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161249f90613dcc565b60405180910390fd5b8091505092915050565b600080836001016000848152602001908152602001600020549050600081146125ba5760006001826124e49190613dec565b90506000600186600001805490506124fc9190613dec565b905081811461256b57600086600001828154811061251d5761251c613af0565b5b906000526020600020015490508087600001848154811061254157612540613af0565b5b90600052602060002001819055508387600101600083815260200190815260200160002081905550505b8560000180548061257f5761257e613e20565b5b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506125c0565b60009150505b92915050565b60008060ff8360001c169050601f81111561260d576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6126508161261b565b811461265b57600080fd5b50565b60008135905061266d81612647565b92915050565b60006020828403121561268957612688612616565b5b60006126978482850161265e565b91505092915050565b60008115159050919050565b6126b5816126a0565b82525050565b60006020820190506126d060008301846126ac565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156127105780820151818401526020810190506126f5565b8381111561271f576000848401525b50505050565b6000601f19601f8301169050919050565b6000612741826126d6565b61274b81856126e1565b935061275b8185602086016126f2565b61276481612725565b840191505092915050565b600060208201905081810360008301526127898184612736565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006127bc82612791565b9050919050565b6127cc816127b1565b81146127d757600080fd5b50565b6000813590506127e9816127c3565b92915050565b6000819050919050565b612802816127ef565b811461280d57600080fd5b50565b60008135905061281f816127f9565b92915050565b6000806040838503121561283c5761283b612616565b5b600061284a858286016127da565b925050602061285b85828601612810565b9150509250929050565b61286e816127ef565b82525050565b60006020820190506128896000830184612865565b92915050565b6000806000606084860312156128a8576128a7612616565b5b60006128b6868287016127da565b93505060206128c7868287016127da565b92505060406128d886828701612810565b9150509250925092565b6000819050919050565b6128f5816128e2565b811461290057600080fd5b50565b600081359050612912816128ec565b92915050565b60006020828403121561292e5761292d612616565b5b600061293c84828501612903565b91505092915050565b61294e816128e2565b82525050565b60006020820190506129696000830184612945565b92915050565b6000806040838503121561298657612985612616565b5b600061299485828601612903565b92505060206129a5858286016127da565b9150509250929050565b600060ff82169050919050565b6129c5816129af565b82525050565b60006020820190506129e060008301846129bc565b92915050565b6000602082840312156129fc576129fb612616565b5b6000612a0a84828501612810565b91505092915050565b600060208284031215612a2957612a28612616565b5b6000612a37848285016127da565b91505092915050565b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b612a7581612a40565b82525050565b612a84816127b1565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612abf816127ef565b82525050565b6000612ad18383612ab6565b60208301905092915050565b6000602082019050919050565b6000612af582612a8a565b612aff8185612a95565b9350612b0a83612aa6565b8060005b83811015612b3b578151612b228882612ac5565b9750612b2d83612add565b925050600181019050612b0e565b5085935050505092915050565b600060e082019050612b5d600083018a612a6c565b8181036020830152612b6f8189612736565b90508181036040830152612b838188612736565b9050612b926060830187612865565b612b9f6080830186612a7b565b612bac60a0830185612945565b81810360c0830152612bbe8184612aea565b905098975050505050505050565b60008060408385031215612be357612be2612616565b5b6000612bf185828601612903565b9250506020612c0285828601612810565b9150509250929050565b6000602082019050612c216000830184612a7b565b92915050565b612c30816129af565b8114612c3b57600080fd5b50565b600081359050612c4d81612c27565b92915050565b600080600080600080600060e0888a031215612c7257612c71612616565b5b6000612c808a828b016127da565b9750506020612c918a828b016127da565b9650506040612ca28a828b01612810565b9550506060612cb38a828b01612810565b9450506080612cc48a828b01612c3e565b93505060a0612cd58a828b01612903565b92505060c0612ce68a828b01612903565b91505092959891949750929550565b60008060408385031215612d0c57612d0b612616565b5b6000612d1a858286016127da565b9250506020612d2b858286016127da565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612d7c57607f821691505b602082108103612d8f57612d8e612d35565b5b50919050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b6000612df1602f836126e1565b9150612dfc82612d95565b604082019050919050565b60006020820190508181036000830152612e2081612de4565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612e61826127ef565b9150612e6c836127ef565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612ea157612ea0612e27565b5b828201905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000612f376025836126e1565b9150612f4282612edb565b604082019050919050565b60006020820190508181036000830152612f6681612f2a565b9050919050565b7f45524332305065726d69743a206578706972656420646561646c696e65000000600082015250565b6000612fa3601d836126e1565b9150612fae82612f6d565b602082019050919050565b60006020820190508181036000830152612fd281612f96565b9050919050565b600060c082019050612fee6000830189612945565b612ffb6020830188612a7b565b6130086040830187612a7b565b6130156060830186612865565b6130226080830185612865565b61302f60a0830184612865565b979650505050505050565b7f45524332305065726d69743a20696e76616c6964207369676e61747572650000600082015250565b6000613070601e836126e1565b915061307b8261303a565b602082019050919050565b6000602082019050818103600083015261309f81613063565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026131087fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826130cb565b61311286836130cb565b95508019841693508086168417925050509392505050565b6000819050919050565b600061314f61314a613145846127ef565b61312a565b6127ef565b9050919050565b6000819050919050565b61316983613134565b61317d61317582613156565b8484546130d8565b825550505050565b600090565b613192613185565b61319d818484613160565b505050565b5b818110156131c1576131b660008261318a565b6001810190506131a3565b5050565b601f821115613206576131d7816130a6565b6131e0846130bb565b810160208510156131ef578190505b6132036131fb856130bb565b8301826131a2565b50505b505050565b600082821c905092915050565b60006132296000198460080261320b565b1980831691505092915050565b60006132428383613218565b9150826002028217905092915050565b61325b826126d6565b67ffffffffffffffff81111561327457613273612eac565b5b61327e8254612d64565b6132898282856131c5565b600060209050601f8311600181146132bc57600084156132aa578287015190505b6132b48582613236565b86555061331c565b601f1984166132ca866130a6565b60005b828110156132f2578489015182556001820191506020850194506020810190506132cd565b8683101561330f578489015161330b601f891682613218565b8355505b6001600288020188555050505b505050505050565b7f45524332305061757361626c653a20746f6b656e207472616e7366657220776860008201527f696c652070617573656400000000000000000000000000000000000000000000602082015250565b6000613380602a836126e1565b915061338b82613324565b604082019050919050565b600060208201905081810360008301526133af81613373565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006134126024836126e1565b915061341d826133b6565b604082019050919050565b6000602082019050818103600083015261344181613405565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006134a46022836126e1565b91506134af82613448565b604082019050919050565b600060208201905081810360008301526134d381613497565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000613510601d836126e1565b915061351b826134da565b602082019050919050565b6000602082019050818103600083015261353f81613503565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006135a26025836126e1565b91506135ad82613546565b604082019050919050565b600060208201905081810360008301526135d181613595565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006136346023836126e1565b915061363f826135d8565b604082019050919050565b6000602082019050818103600083015261366381613627565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006136c66026836126e1565b91506136d18261366a565b604082019050919050565b600060208201905081810360008301526136f5816136b9565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006137586021836126e1565b9150613763826136fc565b604082019050919050565b600060208201905081810360008301526137878161374b565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b60006137ea6022836126e1565b91506137f58261378e565b604082019050919050565b60006020820190508181036000830152613819816137dd565b9050919050565b600081519050919050565b6000819050602082019050919050565b600061384782516128e2565b80915050919050565b600061385b82613820565b826138658461382b565b90506138708161383b565b925060208210156138b0576138ab7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff836020036008026130cb565b831692505b5050919050565b600081905092915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b60006138f86017836138b7565b9150613903826138c2565b601782019050919050565b6000613919826126d6565b61392381856138b7565b93506139338185602086016126f2565b80840191505092915050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b60006139756011836138b7565b91506139808261393f565b601182019050919050565b6000613996826138eb565b91506139a2828561390e565b91506139ad82613968565b91506139b9828461390e565b91508190509392505050565b600060a0820190506139da6000830188612945565b6139e76020830187612945565b6139f46040830186612945565b613a016060830185612865565b613a0e6080830184612a7b565b9695505050505050565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b6000613a4e6014836126e1565b9150613a5982613a18565b602082019050919050565b60006020820190508181036000830152613a7d81613a41565b9050919050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b6000613aba6010836126e1565b9150613ac582613a84565b602082019050919050565b60006020820190508181036000830152613ae981613aad565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000608082019050613b346000830187612945565b613b4160208301866129bc565b613b4e6040830185612945565b613b5b6060830184612945565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b6000613bc96018836126e1565b9150613bd482613b93565b602082019050919050565b60006020820190508181036000830152613bf881613bbc565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b6000613c35601f836126e1565b9150613c4082613bff565b602082019050919050565b60006020820190508181036000830152613c6481613c28565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b6000613cc76022836126e1565b9150613cd282613c6b565b604082019050919050565b60006020820190508181036000830152613cf681613cba565b9050919050565b6000613d08826127ef565b9150613d13836127ef565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613d4c57613d4b612e27565b5b828202905092915050565b6000613d62826127ef565b915060008203613d7557613d74612e27565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b6000613db66020836126e1565b9150613dc182613d80565b602082019050919050565b60006020820190508181036000830152613de581613da9565b9050919050565b6000613df7826127ef565b9150613e02836127ef565b925082821015613e1557613e14612e27565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea26469706673582212201d2b91bbaf2ee09a782ee83d8d39b55ff1b1ea1b1e0c9007013626822251222864736f6c634300080f0033000000000000000000000000ebe6a1b85da0cb63189c57625b712e1f10cbfecc000000000000000000000000ebe6a1b85da0cb63189c57625b712e1f10cbfecc00000000000000000000000000000000000000000000152d02c7e14af680000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000c43656c6c617220546f6b656e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000643454c4c41520000000000000000000000000000000000000000000000000000