0 txs
8 calls
constructor
constructor()
functions
balanceOf
viewfunction balanceOf(address owner) view returns (uint256)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
fromAddressToId
purefunction fromAddressToId(address profile) pure returns (uint256)
fromIdToAddress
purefunction fromIdToAddress(uint256 tokenId) pure returns (address)
get
viewfunction get(address profile) view returns (string)
getApproved
viewfunction getApproved(uint256 tokenId) view returns (address)
getFromUsername
viewfunction getFromUsername(bytes32 username) view returns (string)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
isApprovedForAll
viewfunction isApprovedForAll(address owner, address operator) view returns (bool)
name
viewfunction name() view returns (string)
owner
viewfunction owner() view returns (address)
ownerOf
viewfunction ownerOf(uint256 tokenId) view returns (address)
PROFILE_ADMIN_ROLE
viewfunction PROFILE_ADMIN_ROLE() view returns (bytes32)
profiles
viewfunction profiles(bytes32 username) view returns (address profile)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
symbol
viewfunction symbol() view returns (string)
tokenURI
viewfunction tokenURI(uint256 tokenId) view returns (string)
usernames
viewfunction usernames(address profile) view returns (bytes32 username)
approve
nonpayablefunction approve(address to, uint256 tokenId)
burn
nonpayablefunction burn(uint256 tokenId)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
initialize
nonpayablefunction initialize(address _owner)
renounceOwnership
nonpayablefunction renounceOwnership()
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 tokenId, bytes data)
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 tokenId)
set
nonpayablefunction set(address profile, bytes32 _username, string _uri) returns (uint256)
setApprovalForAll
nonpayablefunction setApprovalForAll(address operator, bool approved)
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 tokenId)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
upgradeTo
nonpayablefunction upgradeTo(address newImplementation)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
events
AdminChanged
event AdminChanged(address previousAdmin, address newAdmin)
Approval
event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
ApprovalForAll
event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
BatchMetadataUpdate
event BatchMetadataUpdate(uint256 _fromTokenId, uint256 _toTokenId)
BeaconUpgraded
event BeaconUpgraded(address indexed beacon)
Initialized
event Initialized(uint8 version)
MetadataUpdate
event MetadataUpdate(uint256 _tokenId)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
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 indexed tokenId)
Upgraded
event Upgraded(address indexed implementation)
errors
No errors.
creation bytecode
0x60a0604052306080523480156200001557600080fd5b506200002062000026565b620000e7565b600054610100900460ff1615620000935760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000e5576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6080516131ea6200011f600039600081816109a6015281816109e601528181610b6401528181610ba40152610c3301526131ea6000f3fe6080604052600436106102045760003560e01c8063715018a611610118578063b88d4fde116100a0578063c87b56dd1161006f578063c87b56dd1461060d578063d547741f1461062d578063e985e9c51461064d578063ee91877c14610696578063f2fde38b146106c457600080fd5b8063b88d4fde1461058d578063be83cdc9146105ad578063c2bc2efc146105cd578063c4d66de8146105ed57600080fd5b806395d89b41116100e757806395d89b411461050557806398cd54be1461051a5780639d91dd7d14610538578063a217fddf14610558578063a22cb4651461056d57600080fd5b8063715018a61461048b578063892195aa146104a05780638da5cb5b146104c757806391d14854146104e557600080fd5b80633659cfe61161019b57806352d1902d1161016a57806352d1902d146103cb57806352f33682146103e05780635971834a146104175780636352211e1461044b57806370a082311461046b57600080fd5b80633659cfe61461035857806342842e0e1461037857806342966c68146103985780634f1ef286146103b857600080fd5b806323b872dd116101d757806323b872dd146102ba578063248a9ca3146102da5780632f2ff15d1461031857806336568abe1461033857600080fd5b806301ffc9a71461020957806306fdde031461023e578063081812fc14610260578063095ea7b314610298575b600080fd5b34801561021557600080fd5b50610229610224366004612933565b6106e4565b60405190151581526020015b60405180910390f35b34801561024a57600080fd5b506102536106f5565b60405161023591906129a0565b34801561026c57600080fd5b5061028061027b3660046129b3565b610787565b6040516001600160a01b039091168152602001610235565b3480156102a457600080fd5b506102b86102b33660046129e8565b6107ae565b005b3480156102c657600080fd5b506102b86102d5366004612a12565b6108c8565b3480156102e657600080fd5b5061030a6102f53660046129b3565b600090815260fb602052604090206001015490565b604051908152602001610235565b34801561032457600080fd5b506102b8610333366004612a4e565b6108f9565b34801561034457600080fd5b506102b8610353366004612a4e565b61091e565b34801561036457600080fd5b506102b8610373366004612a7a565b61099c565b34801561038457600080fd5b506102b8610393366004612a12565b610a7b565b3480156103a457600080fd5b506102b86103b33660046129b3565b610a96565b6102b86103c6366004612b41565b610b5a565b3480156103d757600080fd5b5061030a610c26565b3480156103ec57600080fd5b506102806103fb3660046129b3565b610192602052600090815260409020546001600160a01b031681565b34801561042357600080fd5b5061030a7f224b562a599bb6f57441f98a50de513dff0de3d9b620f342c27a4e4a898ce8e281565b34801561045757600080fd5b506102806104663660046129b3565b610cd9565b34801561047757600080fd5b5061030a610486366004612a7a565b610d39565b34801561049757600080fd5b506102b8610dbf565b3480156104ac57600080fd5b5061030a6104bb366004612a7a565b6001600160a01b031690565b3480156104d357600080fd5b5060c9546001600160a01b0316610280565b3480156104f157600080fd5b50610229610500366004612a4e565b610dd3565b34801561051157600080fd5b50610253610dfe565b34801561052657600080fd5b506102806105353660046129b3565b90565b34801561054457600080fd5b5061030a610553366004612b8f565b610e0d565b34801561056457600080fd5b5061030a600081565b34801561057957600080fd5b506102b8610588366004612bfa565b61106d565b34801561059957600080fd5b506102b86105a8366004612c36565b611078565b3480156105b957600080fd5b506102536105c83660046129b3565b6110b0565b3480156105d957600080fd5b506102536105e8366004612a7a565b611134565b3480156105f957600080fd5b506102b8610608366004612a7a565b611150565b34801561061957600080fd5b506102536106283660046129b3565b6112ca565b34801561063957600080fd5b506102b8610648366004612a4e565b6113d2565b34801561065957600080fd5b50610229610668366004612c9e565b6001600160a01b039182166000908152606a6020908152604080832093909416825291909152205460ff1690565b3480156106a257600080fd5b5061030a6106b1366004612a7a565b6101916020526000908152604090205481565b3480156106d057600080fd5b506102b86106df366004612a7a565b6113f7565b60006106ef8261146d565b92915050565b60606065805461070490612cc8565b80601f016020809104026020016040519081016040528092919081815260200182805461073090612cc8565b801561077d5780601f106107525761010080835404028352916020019161077d565b820191906000526020600020905b81548152906001019060200180831161076057829003601f168201915b5050505050905090565b600061079282611492565b506000908152606960205260409020546001600160a01b031690565b60006107b982610cd9565b9050806001600160a01b0316836001600160a01b03160361082b5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b038216148061084757506108478133610668565b6108b95760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610822565b6108c383836114f1565b505050565b6108d2338261155f565b6108ee5760405162461bcd60e51b815260040161082290612d02565b6108c38383836115dd565b600082815260fb60205260409020600101546109148161174e565b6108c38383611758565b6001600160a01b038116331461098e5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610822565b61099882826117de565b5050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036109e45760405162461bcd60e51b815260040161082290612d4f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610a2d60008051602061316e833981519152546001600160a01b031690565b6001600160a01b031614610a535760405162461bcd60e51b815260040161082290612d9b565b610a5c81611845565b60408051600080825260208201909252610a789183919061184d565b50565b6108c383838360405180602001604052806000815250611078565b60c95481906001600160a01b0316331480610ab957506001600160a01b03811633145b80610ae95750610ae97f224b562a599bb6f57441f98a50de513dff0de3d9b620f342c27a4e4a898ce8e233610dd3565b610b515760405162461bcd60e51b815260206004820152603360248201527f4f6e6c7920746865206f776e6572206f662074686520746f6b656e206f7220706044820152723937b334b6329031b0b710313ab9371034ba1760691b6064820152608401610822565b610998826119b8565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610ba25760405162461bcd60e51b815260040161082290612d4f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610beb60008051602061316e833981519152546001600160a01b031690565b6001600160a01b031614610c115760405162461bcd60e51b815260040161082290612d9b565b610c1a82611845565b6109988282600161184d565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610cc65760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610822565b5060008051602061316e83398151915290565b6000818152606760205260408120546001600160a01b0316806106ef5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610822565b60006001600160a01b038216610da35760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610822565b506001600160a01b031660009081526068602052604090205490565b610dc7611a02565b610dd16000611a5c565b565b600091825260fb602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60606066805461070490612cc8565b600033610e2260c9546001600160a01b031690565b6001600160a01b03161480610e3f57506001600160a01b03841633145b80610e6f5750610e6f7f224b562a599bb6f57441f98a50de513dff0de3d9b620f342c27a4e4a898ce8e233610dd3565b610ed85760405162461bcd60e51b815260206004820152603460248201527f4f6e6c79207468652070726f66696c65206f776e6572206f7220636f6e74726160448201527331ba1037bbb732b91031b0b71039b2ba1034ba1760611b6064820152608401610822565b6001600160a01b0384166000908152610191602052604090205480158015610f3a5750600084815261019260205260409020546001600160a01b03161580610f3a5750600084815261019260205260409020546001600160a01b038681169116145b80610f6957508015801590610f695750600081815261019260205260409020546001600160a01b038681169116145b610fb55760405162461bcd60e51b815260206004820152601f60248201527f5468697320757365726e616d6520697320616c72656164792074616b656e2e006044820152606401610822565b6001600160a01b038516610fe0816000908152606760205260409020546001600160a01b0316151590565b610fee57610fee8682611aae565b848214610fff57610fff8686611c47565b836040516020016110109190612de7565b6040516020818303038152906040528051906020012061102f826112ca565b60405160200161103f9190612de7565b6040516020818303038152906040528051906020012014611064576110648185611cda565b95945050505050565b610998338383611d9e565b611082338361155f565b61109e5760405162461bcd60e51b815260040161082290612d02565b6110aa84848484611e6c565b50505050565b600081815261019260205260409020546060906001600160a01b0316806111195760405162461bcd60e51b815260206004820152601d60248201527f5468697320757365726e616d6520646f6573206e6f742065786973742e0000006044820152606401610822565b6001600160a01b03811661112c816112ca565b949350505050565b60606001600160a01b038216611149816112ca565b9392505050565b600054610100900460ff16158080156111705750600054600160ff909116105b8061118a5750303b15801561118a575060005460ff166001145b6111ed5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610822565b6000805460ff191660011790558015611210576000805461ff0019166101001790555b6112546040518060400160405280600781526020016650726f66696c6560c81b8152506040518060400160405280600381526020016228292360e91b815250611e9f565b61125c611ed0565b611264611eff565b61126c611eff565b611277600083611f26565b611280826113f7565b8015610998576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15050565b60606112d582611492565b600082815260976020526040812080546112ee90612cc8565b80601f016020809104026020016040519081016040528092919081815260200182805461131a90612cc8565b80156113675780601f1061133c57610100808354040283529160200191611367565b820191906000526020600020905b81548152906001019060200180831161134a57829003601f168201915b50505050509050600061138560408051602081019091526000815290565b90508051600003611397575092915050565b8151156113c95780826040516020016113b1929190612e03565b60405160208183030381529060405292505050919050565b61112c84611f30565b600082815260fb60205260409020600101546113ed8161174e565b6108c383836117de565b6113ff611a02565b6001600160a01b0381166114645760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610822565b610a7881611a5c565b60006001600160e01b03198216637965db0b60e01b14806106ef57506106ef82611fa3565b6000818152606760205260409020546001600160a01b0316610a785760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610822565b600081815260696020526040902080546001600160a01b0319166001600160a01b038416908117909155819061152682610cd9565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061156b83610cd9565b9050806001600160a01b0316846001600160a01b031614806115b257506001600160a01b038082166000908152606a602090815260408083209388168352929052205460ff165b8061112c5750836001600160a01b03166115cb84610787565b6001600160a01b031614949350505050565b826001600160a01b03166115f082610cd9565b6001600160a01b0316146116165760405162461bcd60e51b815260040161082290612e32565b6001600160a01b0382166116785760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610822565b6116858383836001611fc8565b826001600160a01b031661169882610cd9565b6001600160a01b0316146116be5760405162461bcd60e51b815260040161082290612e32565b600081815260696020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260688552838620805460001901905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b610a78813361207d565b6117628282610dd3565b61099857600082815260fb602090815260408083206001600160a01b03851684529091529020805460ff1916600117905561179a3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6117e88282610dd3565b1561099857600082815260fb602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b610a78611a02565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611880576108c3836120d6565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156118da575060408051601f3d908101601f191682019092526118d791810190612e77565b60015b61193d5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610822565b60008051602061316e83398151915281146119ac5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610822565b506108c3838383612172565b6119f9816001600160a01b031660008181526101916020818152604080842080548552610192835290842080546001600160a01b0319169055938352529055565b610a7881612197565b60c9546001600160a01b03163314610dd15760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610822565b60c980546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216611b045760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610822565b6000818152606760205260409020546001600160a01b031615611b695760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610822565b611b77600083836001611fc8565b6000818152606760205260409020546001600160a01b031615611bdc5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610822565b6001600160a01b038216600081815260686020908152604080832080546001019055848352606790915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6001600160a01b0382166000908152610191602052604090205415611c9c576001600160a01b038216600090815261019160209081526040808320548352610192909152902080546001600160a01b03191690555b60008181526101926020908152604080832080546001600160a01b039096166001600160a01b03199096168617905593825261019190529190912055565b6000828152606760205260409020546001600160a01b0316611d555760405162461bcd60e51b815260206004820152602e60248201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60448201526d32bc34b9ba32b73a103a37b5b2b760911b6064820152608401610822565b6000828152609760205260409020611d6d8282612ede565b506040518281527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7906020016112be565b816001600160a01b0316836001600160a01b031603611dff5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610822565b6001600160a01b038381166000818152606a6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611e778484846115dd565b611e83848484846121d7565b6110aa5760405162461bcd60e51b815260040161082290612f9e565b600054610100900460ff16611ec65760405162461bcd60e51b815260040161082290612ff0565b61099882826122d8565b600054610100900460ff16611ef75760405162461bcd60e51b815260040161082290612ff0565b610dd1612318565b600054610100900460ff16610dd15760405162461bcd60e51b815260040161082290612ff0565b6109988282611758565b6060611f3b82611492565b6000611f5260408051602081019091526000815290565b90506000815111611f725760405180602001604052806000815250611149565b80611f7c84612348565b604051602001611f8d929190612e03565b6040516020818303038152906040529392505050565b60006001600160e01b03198216632483248360e11b14806106ef57506106ef826123db565b6001600160a01b0384161580611fe557506001600160a01b038316155b6110aa5760405162461bcd60e51b815260206004820152605b60248201527f54686973206120536f756c626f756e6420746f6b656e2e2049742063616e6e6f60448201527f74206265207472616e736665727265642e2049742063616e206f6e6c7920626560648201527f206275726e65642062792074686520746f6b656e206f776e65722e0000000000608482015260a401610822565b6120878282610dd3565b610998576120948161242b565b61209f83602061243d565b6040516020016120b092919061303b565b60408051601f198184030181529082905262461bcd60e51b8252610822916004016129a0565b6001600160a01b0381163b6121435760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610822565b60008051602061316e83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61217b836125d9565b6000825111806121885750805b156108c3576110aa8383612619565b6121a08161263e565b600081815260976020526040902080546121b990612cc8565b159050610a78576000818152609760205260408120610a78916128cf565b60006001600160a01b0384163b156122cd57604051630a85bd0160e11b81526001600160a01b0385169063150b7a029061221b9033908990889088906004016130b0565b6020604051808303816000875af1925050508015612256575060408051601f3d908101601f19168201909252612253918101906130e3565b60015b6122b3573d808015612284576040519150601f19603f3d011682016040523d82523d6000602084013e612289565b606091505b5080516000036122ab5760405162461bcd60e51b815260040161082290612f9e565b805181602001fd5b6001600160e01b031916630a85bd0160e11b14905061112c565b506001949350505050565b600054610100900460ff166122ff5760405162461bcd60e51b815260040161082290612ff0565b606561230b8382612ede565b5060666108c38282612ede565b600054610100900460ff1661233f5760405162461bcd60e51b815260040161082290612ff0565b610dd133611a5c565b60606000612355836126e1565b600101905060008167ffffffffffffffff81111561237557612375612a95565b6040519080825280601f01601f19166020018201604052801561239f576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a85049450846123a957509392505050565b60006001600160e01b031982166380ac58cd60e01b148061240c57506001600160e01b03198216635b5e139f60e01b145b806106ef57506301ffc9a760e01b6001600160e01b03198316146106ef565b60606106ef6001600160a01b03831660145b6060600061244c836002613116565b61245790600261312d565b67ffffffffffffffff81111561246f5761246f612a95565b6040519080825280601f01601f191660200182016040528015612499576020820181803683370190505b509050600360fc1b816000815181106124b4576124b4613140565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106124e3576124e3613140565b60200101906001600160f81b031916908160001a9053506000612507846002613116565b61251290600161312d565b90505b600181111561258a576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061254657612546613140565b1a60f81b82828151811061255c5761255c613140565b60200101906001600160f81b031916908160001a90535060049490941c9361258381613156565b9050612515565b5083156111495760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610822565b6125e2816120d6565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060611149838360405180606001604052806027815260200161318e602791396127b9565b600061264982610cd9565b9050612659816000846001611fc8565b61266282610cd9565b600083815260696020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526068845282852080546000190190558785526067909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106127205772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef8100000000831061274c576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061276a57662386f26fc10000830492506010015b6305f5e1008310612782576305f5e100830492506008015b612710831061279657612710830492506004015b606483106127a8576064830492506002015b600a83106106ef5760010192915050565b6060600080856001600160a01b0316856040516127d69190612de7565b600060405180830381855af49150503d8060008114612811576040519150601f19603f3d011682016040523d82523d6000602084013e612816565b606091505b509150915061282786838387612831565b9695505050505050565b606083156128a0578251600003612899576001600160a01b0385163b6128995760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610822565b508161112c565b61112c83838151156128b55781518083602001fd5b8060405162461bcd60e51b815260040161082291906129a0565b5080546128db90612cc8565b6000825580601f106128eb575050565b601f016020900490600052602060002090810190610a7891905b808211156129195760008155600101612905565b5090565b6001600160e01b031981168114610a7857600080fd5b60006020828403121561294557600080fd5b81356111498161291d565b60005b8381101561296b578181015183820152602001612953565b50506000910152565b6000815180845261298c816020860160208601612950565b601f01601f19169290920160200192915050565b6020815260006111496020830184612974565b6000602082840312156129c557600080fd5b5035919050565b80356001600160a01b03811681146129e357600080fd5b919050565b600080604083850312156129fb57600080fd5b612a04836129cc565b946020939093013593505050565b600080600060608486031215612a2757600080fd5b612a30846129cc565b9250612a3e602085016129cc565b9150604084013590509250925092565b60008060408385031215612a6157600080fd5b82359150612a71602084016129cc565b90509250929050565b600060208284031215612a8c57600080fd5b611149826129cc565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff80841115612ac657612ac6612a95565b604051601f8501601f19908116603f01168101908282118183101715612aee57612aee612a95565b81604052809350858152868686011115612b0757600080fd5b858560208301376000602087830101525050509392505050565b600082601f830112612b3257600080fd5b61114983833560208501612aab565b60008060408385031215612b5457600080fd5b612b5d836129cc565b9150602083013567ffffffffffffffff811115612b7957600080fd5b612b8585828601612b21565b9150509250929050565b600080600060608486031215612ba457600080fd5b612bad846129cc565b925060208401359150604084013567ffffffffffffffff811115612bd057600080fd5b8401601f81018613612be157600080fd5b612bf086823560208401612aab565b9150509250925092565b60008060408385031215612c0d57600080fd5b612c16836129cc565b915060208301358015158114612c2b57600080fd5b809150509250929050565b60008060008060808587031215612c4c57600080fd5b612c55856129cc565b9350612c63602086016129cc565b925060408501359150606085013567ffffffffffffffff811115612c8657600080fd5b612c9287828801612b21565b91505092959194509250565b60008060408385031215612cb157600080fd5b612cba836129cc565b9150612a71602084016129cc565b600181811c90821680612cdc57607f821691505b602082108103612cfc57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b60008251612df9818460208701612950565b9190910192915050565b60008351612e15818460208801612950565b835190830190612e29818360208801612950565b01949350505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b600060208284031215612e8957600080fd5b5051919050565b601f8211156108c357600081815260208120601f850160051c81016020861015612eb75750805b601f850160051c820191505b81811015612ed657828155600101612ec3565b505050505050565b815167ffffffffffffffff811115612ef857612ef8612a95565b612f0c81612f068454612cc8565b84612e90565b602080601f831160018114612f415760008415612f295750858301515b600019600386901b1c1916600185901b178555612ed6565b600085815260208120601f198616915b82811015612f7057888601518255948401946001909101908401612f51565b5085821015612f8e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351613073816017850160208801612950565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516130a4816028840160208801612950565b01602801949350505050565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061282790830184612974565b6000602082840312156130f557600080fd5b81516111498161291d565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176106ef576106ef613100565b808201808211156106ef576106ef613100565b634e487b7160e01b600052603260045260246000fd5b60008161316557613165613100565b50600019019056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212206199155a8aaa0e5a95e2fc3af01aa2880faa40307de2d51b2f44da095a7af4bc64736f6c63430008140033