0 txs
843 calls
constructor
constructor()
functions
assemblePrice
viewfunction assemblePrice() view returns (uint256)
balanceOf
viewfunction balanceOf(address owner) view returns (uint256)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
DEPLOYER_ROLE
viewfunction DEPLOYER_ROLE() view returns (bytes32)
disassemblePrice
viewfunction disassemblePrice() view returns (uint256)
encryptor
viewfunction encryptor() view returns (address)
generateUniqueMechKey
purefunction generateUniqueMechKey(uint256[] parts) pure returns (bytes32)
getApproved
viewfunction getApproved(uint256 tokenId) view returns (address)
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)
mechTokenData
viewfunction mechTokenData(bytes32) view returns (uint256)
name
viewfunction name() view returns (string)
OPERATOR_ROLE
viewfunction OPERATOR_ROLE() view returns (bytes32)
owner
viewfunction owner() view returns (address)
ownerOf
viewfunction ownerOf(uint256 tokenId) view returns (address)
partContract
viewfunction partContract() view returns (address)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
requiredPartCountPerMech
viewfunction requiredPartCountPerMech() view returns (uint256)
royaltyInfo
viewfunction royaltyInfo(uint256 tokenId, uint256 salePrice) view returns (address, uint256)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
symbol
viewfunction symbol() view returns (string)
tokenByIndex
viewfunction tokenByIndex(uint256 index) view returns (uint256)
tokenOfOwnerByIndex
viewfunction tokenOfOwnerByIndex(address owner, uint256 index) view returns (uint256)
tokenURI
viewfunction tokenURI(uint256 tokenId) view returns (string)
totalSupply
viewfunction totalSupply() view returns (uint256)
approve
nonpayablefunction approve(address operator, uint256 tokenId)
assemble
payablefunction assemble(uint256 blockNumberLimit, uint256[] parts, bytes signature) payable
deleteDefaultRoyalty
nonpayablefunction deleteDefaultRoyalty()
disassemble
payablefunction disassemble(uint256 blockNumberLimit, uint256[] parts, uint256 tokenId, bytes signature) payable
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
initialize
nonpayablefunction initialize(string name, string symbol, address adminAddress, address operatorAddress, address encryptorAddress, address partAddress, uint256 priceForAssemble, uint256 priceForDisassemble, address defaultRoyaltyReceiver, uint96 defaultFeeNumerator)
onERC721Received
nonpayablefunction onERC721Received(address operator, address from, uint256 tokenId, bytes data) returns (bytes4)
renounceOwnership
nonpayablefunction renounceOwnership()
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
resetTokenRoyalty
nonpayablefunction resetTokenRoyalty(uint256 tokenId)
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)
setApprovalForAll
nonpayablefunction setApprovalForAll(address operator, bool approved)
setBaseURI
nonpayablefunction setBaseURI(string uri)
setDefaultRoyalty
nonpayablefunction setDefaultRoyalty(address receiver, uint96 feeNumerator)
setEncryptor
nonpayablefunction setEncryptor(address encryptorAddress)
setRequiredPartCountPerMech
nonpayablefunction setRequiredPartCountPerMech(uint256 count)
setTokenRoyalty
nonpayablefunction setTokenRoyalty(uint256 tokenId, address receiver, uint96 feeNumerator)
setTokenURI
nonpayablefunction setTokenURI(uint256 tokenId, string _tokenURI)
setTokenURIs
nonpayablefunction setTokenURIs(uint256 tokenIdFrom, string[] tokenURIs)
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 tokenId)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updatePrice
nonpayablefunction updatePrice(uint256 priceForAssemble, uint256 priceForDisassemble)
upgradeTo
nonpayablefunction upgradeTo(address newImplementation)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
withdrawBalance
nonpayablefunction withdrawBalance(address recipient, uint256 amount)
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)
Assembled
event Assembled(address indexed owner, uint256 indexed tokenId, uint256[] parts)
BeaconUpgraded
event BeaconUpgraded(address indexed beacon)
Disassembled
event Disassembled(address indexed owner, uint256 indexed tokenId, uint256[] parts)
Initialized
event Initialized(uint8 version)
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
OperatorNotAllowed
error OperatorNotAllowed(address operator)
creation bytecode
0x60a0604052306080523480156200001557600080fd5b50600054610100900460ff1615808015620000375750600054600160ff909116105b8062000067575062000054306200014160201b620020051760201c565b15801562000067575060005460ff166001145b620000cf5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6000805460ff191660011790558015620000f3576000805461ff0019166101001790555b80156200013a576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5062000150565b6001600160a01b03163b151590565b6080516151a76200018860003960008181610f1701528181610f57015281816110ca0152818161110a015261122c01526151a76000f3fe60806040526004361061031a5760003560e01c80636352211e116101ab57806393011d6e116100f7578063c87b56dd11610095578063e985e9c51161006f578063e985e9c51461094d578063ecd0026114610996578063f2fde38b146109ca578063f5b541a6146109ea57600080fd5b8063c87b56dd146108f6578063d547741f14610916578063e8d9fa121461093657600080fd5b8063a22cb465116100d1578063a22cb46514610881578063a817917e146108a1578063aa1b103f146108c1578063b88d4fde146108d657600080fd5b806393011d6e1461083757806395d89b4114610857578063a217fddf1461086c57600080fd5b80638230702d11610164578063887787351161013e57806388778735146107c15780638a616bc0146107d85780638da5cb5b146107f857806391d148541461081757600080fd5b80638230702d1461077b57806382367b2d1461078e57806383e8b3f8146107ae57600080fd5b80636352211e146106cf5780636aceea69146106ef57806370a082311461070f578063715018a61461072f57806372fd0d49146107445780637350282e1461075b57600080fd5b80632f2ff15d1161026a57806342e2d4e3116102235780634f6ccce7116101fd5780634f6ccce71461065a57806352d1902d1461067a57806355f804b31461068f5780635944c753146106af57600080fd5b806342e2d4e314610606578063494816dd146106275780634f1ef2861461064757600080fd5b80632f2ff15d146105455780632f745c591461056557806336568abe146105855780633659cfe6146105a55780633fbb94fb146105c557806342842e0e146105e657600080fd5b8063150b7a02116102d75780631a6111cd116102b15780631a6111cd1461048857806323b872dd146104b6578063248a9ca3146104d65780632a55205a1461050657600080fd5b8063150b7a0214610410578063162094c41461044957806318160ddd1461046957600080fd5b806301ffc9a71461031f57806304634d8d1461035457806306fdde0314610376578063081812fc14610398578063095ea7b3146103d05780630cf20cc9146103f0575b600080fd5b34801561032b57600080fd5b5061033f61033a366004614144565b610a0c565b60405190151581526020015b60405180910390f35b34801561036057600080fd5b5061037461036f36600461419d565b610a38565b005b34801561038257600080fd5b5061038b610a78565b60405161034b9190614222565b3480156103a457600080fd5b506103b86103b3366004614235565b610b0a565b6040516001600160a01b03909116815260200161034b565b3480156103dc57600080fd5b506103746103eb36600461424e565b610b31565b3480156103fc57600080fd5b5061037461040b36600461424e565b610b45565b34801561041c57600080fd5b5061043061042b3660046142bb565b610c92565b6040516001600160e01b0319909116815260200161034b565b34801561045557600080fd5b506103746104643660046143e2565b610ca4565b34801561047557600080fd5b5060cb545b60405190815260200161034b565b34801561049457600080fd5b5061047a6104a3366004614235565b6101f96020526000908152604090205481565b3480156104c257600080fd5b506103746104d1366004614428565b610d01565b3480156104e257600080fd5b5061047a6104f1366004614235565b600090815260fb602052604090206001015490565b34801561051257600080fd5b50610526610521366004614469565b610d26565b604080516001600160a01b03909316835260208301919091520161034b565b34801561055157600080fd5b5061037461056036600461448b565b610dd4565b34801561057157600080fd5b5061047a61058036600461424e565b610df9565b34801561059157600080fd5b506103746105a036600461448b565b610e8f565b3480156105b157600080fd5b506103746105c03660046144bb565b610f0d565b3480156105d157600080fd5b506101f5546103b8906001600160a01b031681565b3480156105f257600080fd5b50610374610601366004614428565b610fec565b34801561061257600080fd5b506101fd546103b8906001600160a01b031681565b34801561063357600080fd5b506103746106423660046144bb565b611011565b6103746106553660046144d8565b6110c0565b34801561066657600080fd5b5061047a610675366004614235565b61118c565b34801561068657600080fd5b5061047a61121f565b34801561069b57600080fd5b506103746106aa366004614511565b6112d2565b3480156106bb57600080fd5b506103746106ca366004614545565b611314565b3480156106db57600080fd5b506103b86106ea366004614235565b611347565b3480156106fb57600080fd5b5061037461070a366004614235565b6113a7565b34801561071b57600080fd5b5061047a61072a3660046144bb565b611433565b34801561073b57600080fd5b506103746114b9565b34801561075057600080fd5b5061047a6101f65481565b34801561076757600080fd5b50610374610776366004614583565b6114cd565b6103746107893660046146a3565b6116bc565b34801561079a57600080fd5b506103746107a9366004614469565b61192c565b6103746107bc36600461470b565b611962565b3480156107cd57600080fd5b5061047a6101f75481565b3480156107e457600080fd5b506103746107f3366004614235565b611c34565b34801561080457600080fd5b5061012d546001600160a01b03166103b8565b34801561082357600080fd5b5061033f61083236600461448b565b611c6e565b34801561084357600080fd5b5061037461085236600461478d565b611c99565b34801561086357600080fd5b5061038b611d4d565b34801561087857600080fd5b5061047a600081565b34801561088d57600080fd5b5061037461089c3660046147e6565b611d5c565b3480156108ad57600080fd5b5061047a6108bc366004614814565b611d70565b3480156108cd57600080fd5b50610374611dfd565b3480156108e257600080fd5b506103746108f13660046148b9565b611e2f565b34801561090257600080fd5b5061038b610911366004614235565b611e55565b34801561092257600080fd5b5061037461093136600461448b565b611f6a565b34801561094257600080fd5b5061047a6101f85481565b34801561095957600080fd5b5061033f610968366004614924565b6001600160a01b039182166000908152609c6020908152604080832093909416825291909152205460ff1690565b3480156109a257600080fd5b5061047a7ffc425f2263d0df187444b70e47283d622c70181c5baebb1306a01edba1ce184c81565b3480156109d657600080fd5b506103746109e53660046144bb565b611f8f565b3480156109f657600080fd5b5061047a60008051602061512b83398151915281565b6000610a1782612014565b80610a325750630a85bd0160e11b6001600160e01b03198316145b92915050565b6000610a448133611c6e565b610a695760405162461bcd60e51b8152600401610a6090614952565b60405180910390fd5b610a738383612039565b505050565b606060978054610a8790614989565b80601f0160208091040260200160405190810160405280929190818152602001828054610ab390614989565b8015610b005780601f10610ad557610100808354040283529160200191610b00565b820191906000526020600020905b815481529060010190602001808311610ae357829003601f168201915b5050505050905090565b6000610b15826120f3565b506000908152609b60205260409020546001600160a01b031690565b81610b3b81612152565b610a73838361220b565b6000610b518133611c6e565b610b6d5760405162461bcd60e51b8152600401610a6090614952565b610b7561231b565b6001600160a01b038316610bcb5760405162461bcd60e51b815260206004820152601b60248201527f5a65726f20616464726573732063616e6e6f74206265207573656400000000006044820152606401610a60565b6000836001600160a01b03168360405160006040518083038185875af1925050503d8060008114610c18576040519150601f19603f3d011682016040523d82523d6000602084013e610c1d565b606091505b5050905080610c865760405162461bcd60e51b815260206004820152602f60248201527f556e61626c6520746f2077697468647261772c20726563697069656e74206d6160448201526e1e481a185d99481c995d995c9d1959608a1b6064820152608401610a60565b50610a7360016101c355565b630a85bd0160e11b5b95945050505050565b60008051602061512b833981519152610cbd8133611c6e565b610cd95760405162461bcd60e51b8152600401610a6090614952565b610ce2836120f3565b60008381526101fa60205260409020610cfb8382614a09565b50505050565b826001600160a01b0381163314610d1b57610d1b33612152565b610cfb84848461237e565b60008281526066602090815260408083208151808301909252546001600160a01b038116808352600160a01b9091046001600160601b0316928201929092528291610d9b5750604080518082019091526065546001600160a01b0381168252600160a01b90046001600160601b031660208201525b602081015160009061271090610dba906001600160601b031687614ade565b610dc49190614af5565b91519350909150505b9250929050565b600082815260fb6020526040902060010154610def816123af565b610a7383836123b9565b6000610e0483611433565b8210610e665760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b6064820152608401610a60565b506001600160a01b0391909116600090815260c960209081526040808320938352929052205490565b6001600160a01b0381163314610eff5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610a60565b610f09828261243f565b5050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610f555760405162461bcd60e51b8152600401610a6090614b17565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610f9e60008051602061510b833981519152546001600160a01b031690565b6001600160a01b031614610fc45760405162461bcd60e51b8152600401610a6090614b63565b610fcd816124a6565b60408051600080825260208201909252610fe9918391906124ed565b50565b826001600160a01b03811633146110065761100633612152565b610cfb848484612658565b60008051602061512b83398151915261102a8133611c6e565b6110465760405162461bcd60e51b8152600401610a6090614952565b6001600160a01b03821661109c5760405162461bcd60e51b815260206004820152601b60248201527f5a65726f20616464726573732063616e6e6f74206265207573656400000000006044820152606401610a60565b506101fd80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036111085760405162461bcd60e51b8152600401610a6090614b17565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661115160008051602061510b833981519152546001600160a01b031690565b6001600160a01b0316146111775760405162461bcd60e51b8152600401610a6090614b63565b611180826124a6565b610f09828260016124ed565b600061119760cb5490565b82106111fa5760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b6064820152608401610a60565b60cb828154811061120d5761120d614baf565b90600052602060002001549050919050565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146112bf5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610a60565b5060008051602061510b83398151915290565b60008051602061512b8339815191526112eb8133611c6e565b6113075760405162461bcd60e51b8152600401610a6090614952565b6101fb610a738382614a09565b60006113208133611c6e565b61133c5760405162461bcd60e51b8152600401610a6090614952565b610cfb848484612673565b6000818152609960205260408120546001600160a01b031680610a325760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610a60565b60008051602061512b8339815191526113c08133611c6e565b6113dc5760405162461bcd60e51b8152600401610a6090614952565b6000821161142c5760405162461bcd60e51b815260206004820152601960248201527f5061727420636f756e742063616e6e6f74206265207a65726f000000000000006044820152606401610a60565b506101f655565b60006001600160a01b03821661149d5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610a60565b506001600160a01b03166000908152609a602052604090205490565b6114c161273e565b6114cb6000612799565b565b600054610100900460ff16158080156114ed5750600054600160ff909116105b806115075750303b158015611507575060005460ff166001145b61156a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610a60565b6000805460ff19166001179055801561158d576000805461ff0019166101001790555b6115978b8b6127ec565b61159f61281d565b6115a7612844565b6115af61281d565b6115b7612873565b6115bf6128a2565b60006101fc55600a6101f6556101f78590556101f88490556101fd80546001600160a01b03808a166001600160a01b0319928316179092556101f580549289169290911691909117905561161289611f8f565b61161d60008a6128e8565b61163560008051602061512b833981519152896128e8565b61165f7ffc425f2263d0df187444b70e47283d622c70181c5baebb1306a01edba1ce184c336128e8565b6116698383612039565b80156116af576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050505050505050565b6116c461231b565b8443111561170e5760405162461bcd60e51b8152602060048201526017602482015276151c985b9cd858dd1a5bdb881a185cc8195e1c1a5c9959604a1b6044820152606401610a60565b61171c8533868686866128f2565b61175c5760405162461bcd60e51b8152602060048201526011602482015270496e76616c6964207369676e617475726560781b6044820152606401610a60565b6101f65483146117bd5760405162461bcd60e51b815260206004820152602660248201527f496e76616c6964206e756d626572206f6620706172747320666f7220617373656044820152656d626c696e6760d01b6064820152608401610a60565b6117c96101f7546129be565b60005b8381101561187c576101f5546001600160a01b03166342842e0e33308888868181106117fa576117fa614baf565b6040516001600160e01b031960e088901b1681526001600160a01b03958616600482015294909316602485015250602090910201356044820152606401600060405180830381600087803b15801561185157600080fd5b505af1158015611865573d6000803e3d6000fd5b50505050808061187490614bc5565b9150506117cc565b5060006118bb858580806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250611d7092505050565b905060006118c882612a40565b90506118d43382612af1565b80336001600160a01b03167f2e40a161030c052e49be0262715e0b365a1185c84321eea4eab628328c9036658888604051611910929190614c10565b60405180910390a3505061192560016101c355565b5050505050565b60006119388133611c6e565b6119545760405162461bcd60e51b8152600401610a6090614952565b506101f7919091556101f855565b61196a61231b565b3361197484611347565b6001600160a01b0316146119ca5760405162461bcd60e51b815260206004820152601a60248201527f53656e64657220646f6573206e6f74206f776e2061204d6563680000000000006044820152606401610a60565b85431115611a145760405162461bcd60e51b8152602060048201526017602482015276151c985b9cd858dd1a5bdb881a185cc8195e1c1a5c9959604a1b6044820152606401610a60565b611a218633858585612b0b565b611a615760405162461bcd60e51b8152602060048201526011602482015270496e76616c6964207369676e617475726560781b6044820152606401610a60565b6000611a9f868680806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250611d7092505050565b9050611aaa81612be5565b8414611b135760405162461bcd60e51b815260206004820152603260248201527f5061727420686173682076616c756520646f6573206e6f74206d6174636820776044820152711a5d1a081848135958da081d1bdad95b925960721b6064820152608401610a60565b611b1f6101f8546129be565b611b2884612c6f565b60005b85811015611bdb576101f5546001600160a01b03166342842e0e30338a8a86818110611b5957611b59614baf565b6040516001600160e01b031960e088901b1681526001600160a01b03958616600482015294909316602485015250602090910201356044820152606401600060405180830381600087803b158015611bb057600080fd5b505af1158015611bc4573d6000803e3d6000fd5b505050508080611bd390614bc5565b915050611b2b565b5083336001600160a01b03167fa5bde7b20e7577b401002315fe49044f22e8f4c165132773b761262a893b50358888604051611c18929190614c10565b60405180910390a350611c2c60016101c355565b505050505050565b6000611c408133611c6e565b611c5c5760405162461bcd60e51b8152600401610a6090614952565b50600090815260666020526040812055565b600091825260fb602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60008051602061512b833981519152611cb28133611c6e565b611cce5760405162461bcd60e51b8152600401610a6090614952565b818460005b82811015611d4457611ce4826120f3565b858582818110611cf657611cf6614baf565b9050602002810190611d089190614c24565b60008481526101fa6020526040902091611d23919083614c6a565b5081611d2e81614bc5565b9250508080611d3c90614bc5565b915050611cd3565b50505050505050565b606060988054610a8790614989565b81611d6681612152565b610a738383612c89565b600080825111611dc25760405162461bcd60e51b815260206004820152601a60248201527f5061727473206c6973742063616e6e6f7420626520656d7074790000000000006044820152606401610a60565b611dcb82612c94565b600082604051602001611dde9190614d29565b60408051601f1981840301815291905280516020909101209392505050565b6000611e098133611c6e565b611e255760405162461bcd60e51b8152600401610a6090614952565b610fe96000606555565b836001600160a01b0381163314611e4957611e4933612152565b61192585858585612dcb565b6060611e60826120f3565b60008281526101fa602052604081208054611e7a90614989565b80601f0160208091040260200160405190810160405280929190818152602001828054611ea690614989565b8015611ef35780601f10611ec857610100808354040283529160200191611ef3565b820191906000526020600020905b815481529060010190602001808311611ed657829003601f168201915b50505050509050600081511115611f0a5792915050565b60006101fb8054611f1a90614989565b905011611f365760405180602001604052806000815250611f63565b6101fb611f4284612dfd565b604051602001611f53929190614d5f565b6040516020818303038152906040525b9392505050565b600082815260fb6020526040902060010154611f85816123af565b610a73838361243f565b611f9761273e565b6001600160a01b038116611ffc5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a60565b610fe981612799565b6001600160a01b03163b151590565b60006001600160e01b03198216637965db0b60e01b1480610a325750610a3282612e8f565b6127106001600160601b03821611156120645760405162461bcd60e51b8152600401610a6090614de6565b6001600160a01b0382166120ba5760405162461bcd60e51b815260206004820152601960248201527f455243323938313a20696e76616c6964207265636569766572000000000000006044820152606401610a60565b604080518082019091526001600160a01b039092168083526001600160601b039091166020909201829052600160a01b90910217606555565b6000818152609960205260409020546001600160a01b0316610fe95760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610a60565b6daaeb6d7670e522a718067333cd4e3b15610fe957604051633185c44d60e21b81523060048201526001600160a01b03821660248201526daaeb6d7670e522a718067333cd4e9063c617113490604401602060405180830381865afa1580156121bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121e39190614e30565b610fe957604051633b79c77360e21b81526001600160a01b0382166004820152602401610a60565b600061221682611347565b9050806001600160a01b0316836001600160a01b0316036122835760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608401610a60565b336001600160a01b038216148061229f575061229f8133610968565b6123115760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610a60565b610a738383612e9a565b60026101c3540361236e5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610a60565b60026101c355565b60016101c355565b6123883382612f08565b6123a45760405162461bcd60e51b8152600401610a6090614e4d565b610a73838383612f87565b610fe981336130f8565b6123c38282611c6e565b610f0957600082815260fb602090815260408083206001600160a01b03851684529091529020805460ff191660011790556123fb3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6124498282611c6e565b15610f0957600082815260fb602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b7ffc425f2263d0df187444b70e47283d622c70181c5baebb1306a01edba1ce184c6124d18133611c6e565b610f095760405162461bcd60e51b8152600401610a6090614952565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561252057610a7383613151565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561257a575060408051601f3d908101601f1916820190925261257791810190614e9a565b60015b6125dd5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610a60565b60008051602061510b833981519152811461264c5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610a60565b50610a738383836131ed565b610a7383838360405180602001604052806000815250611e2f565b6127106001600160601b038216111561269e5760405162461bcd60e51b8152600401610a6090614de6565b6001600160a01b0382166126f45760405162461bcd60e51b815260206004820152601b60248201527f455243323938313a20496e76616c696420706172616d657465727300000000006044820152606401610a60565b6040805180820182526001600160a01b0393841681526001600160601b0392831660208083019182526000968752606690529190942093519051909116600160a01b029116179055565b61012d546001600160a01b031633146114cb5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a60565b61012d80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166128135760405162461bcd60e51b8152600401610a6090614eb3565b610f098282613212565b600054610100900460ff166114cb5760405162461bcd60e51b8152600401610a6090614eb3565b600054610100900460ff1661286b5760405162461bcd60e51b8152600401610a6090614eb3565b6114cb613252565b600054610100900460ff1661289a5760405162461bcd60e51b8152600401610a6090614eb3565b6114cb613282565b600054610100900460ff166128c95760405162461bcd60e51b8152600401610a6090614eb3565b6114cb733cc6cdda760b79bafa08df41ecfa224f810dceb660016132a9565b610f0982826123b9565b6000808787878760405160200161290c9493929190614efe565b6040516020818303038152906040528051906020012090506000806129678387878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061344892505050565b9092509050600081600481111561298057612980614f29565b14801561299b57506101fd546001600160a01b038381169116145b156129ac57600193505050506129b4565b600093505050505b9695505050505050565b80341015612a025760405162461bcd60e51b8152602060048201526011602482015270125b9cdd59999a58da595b9d08199d5b99607a1b6044820152606401610a60565b80341115610fe957336108fc612a188334614f3f565b6040518115909202916000818181858888f19350505050158015610f09573d6000803e3d6000fd5b60008181526101f96020526040812054819015612ac657612a6083612be5565b6000818152609960205260409020549091506001600160a01b031615612ac15760405162461bcd60e51b81526020600482015260166024820152754d65636820494420616c72656164792065786973747360501b6044820152606401610a60565b610a32565b506101fc54612ad5838261348a565b6101fc8054906000612ae683614bc5565b919050555092915050565b610f098282604051806020016040528060008152506134ac565b60408051602081018790526001600160a01b03861691810191909152606081018490526000908190608001604051602081830303815290604052805190602001209050600080612b918387878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061344892505050565b90925090506000816004811115612baa57612baa614f29565b148015612bc557506101fd546001600160a01b038381169116145b15612bd65760019350505050610c9b565b50600098975050505050505050565b60008181526101f96020526040812054612c535760405162461bcd60e51b815260206004820152602960248201527f476976656e205061727473206c69737420686173206e65766572206265656e20604482015268185cdcd95b589b195960ba1b6064820152608401610a60565b60008281526101f96020526040812054611f6390600190614f3f565b612c78816134df565b600090815260666020526040812055565b610f09338383613582565b805160005b612ca4600183614f3f565b811015610a73576000805b612cba600185614f3f565b811015612da75784612ccd826001614f52565b81518110612cdd57612cdd614baf565b6020026020010151858281518110612cf757612cf7614baf565b60200260200101511115612d95576000858281518110612d1957612d19614baf565b6020026020010151905085826001612d319190614f52565b81518110612d4157612d41614baf565b6020026020010151868381518110612d5b57612d5b614baf565b60209081029190910101528086612d73846001614f52565b81518110612d8357612d83614baf565b60200260200101818152505060019250505b80612d9f81614bc5565b915050612caf565b50801515600003612db85750505050565b5080612dc381614bc5565b915050612c99565b612dd53383612f08565b612df15760405162461bcd60e51b8152600401610a6090614e4d565b610cfb84848484613650565b60606000612e0a83613683565b60010190506000816001600160401b03811115612e2957612e2961432d565b6040519080825280601f01601f191660200182016040528015612e53576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084612e5d57509392505050565b6000610a328261375b565b6000818152609b6020526040902080546001600160a01b0319166001600160a01b0384169081179091558190612ecf82611347565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080612f1483611347565b9050806001600160a01b0316846001600160a01b03161480612f5b57506001600160a01b038082166000908152609c602090815260408083209388168352929052205460ff165b80612f7f5750836001600160a01b0316612f7484610b0a565b6001600160a01b0316145b949350505050565b826001600160a01b0316612f9a82611347565b6001600160a01b031614612fc05760405162461bcd60e51b8152600401610a6090614f65565b6001600160a01b0382166130225760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610a60565b61302f8383836001613780565b826001600160a01b031661304282611347565b6001600160a01b0316146130685760405162461bcd60e51b8152600401610a6090614f65565b6000818152609b6020908152604080832080546001600160a01b03199081169091556001600160a01b03878116808652609a8552838620805460001901905590871680865283862080546001019055868652609990945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6131028282611c6e565b610f095761310f816138ad565b61311a8360206138bf565b60405160200161312b929190614faa565b60408051601f198184030181529082905262461bcd60e51b8252610a6091600401614222565b6001600160a01b0381163b6131be5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610a60565b60008051602061510b83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6131f683613a5a565b6000825111806132035750805b15610a7357610cfb8383613a9a565b600054610100900460ff166132395760405162461bcd60e51b8152600401610a6090614eb3565b60976132458382614a09565b506098610a738282614a09565b600054610100900460ff166132795760405162461bcd60e51b8152600401610a6090614eb3565b6114cb33612799565b600054610100900460ff166123765760405162461bcd60e51b8152600401610a6090614eb3565b600054610100900460ff166132d05760405162461bcd60e51b8152600401610a6090614eb3565b6daaeb6d7670e522a718067333cd4e3b15610f095760405163c3c5a54760e01b81523060048201526daaeb6d7670e522a718067333cd4e9063c3c5a547906024016020604051808303816000875af1158015613330573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133549190614e30565b610f095780156133c857604051633e9f1edf60e11b81523060048201526001600160a01b03831660248201526daaeb6d7670e522a718067333cd4e90637d3e3dbe906044015b600060405180830381600087803b1580156133b457600080fd5b505af1158015611c2c573d6000803e3d6000fd5b6001600160a01b038216156134175760405163a0af290360e01b81523060048201526001600160a01b03831660248201526daaeb6d7670e522a718067333cd4e9063a0af29039060440161339a565b604051632210724360e11b81523060048201526daaeb6d7670e522a718067333cd4e90634420e4869060240161339a565b600080825160410361347e5760208301516040840151606085015160001a61347287828585613abf565b94509450505050610dcd565b50600090506002610dcd565b613495816001614f52565b60009283526101f960205260409092209190915550565b6134b68383613b83565b6134c36000848484613d1c565b610a735760405162461bcd60e51b8152600401610a609061501f565b60006134ea82611347565b90506134fa816000846001613780565b61350382611347565b6000838152609b6020908152604080832080546001600160a01b03199081169091556001600160a01b038516808552609a845282852080546000190190558785526099909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b816001600160a01b0316836001600160a01b0316036135e35760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610a60565b6001600160a01b038381166000818152609c6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b61365b848484612f87565b61366784848484613d1c565b610cfb5760405162461bcd60e51b8152600401610a609061501f565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106136c25772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef810000000083106136ee576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061370c57662386f26fc10000830492506010015b6305f5e1008310613724576305f5e100830492506008015b612710831061373857612710830492506004015b6064831061374a576064830492506002015b600a8310610a325760010192915050565b60006001600160e01b0319821663780e9d6360e01b1480610a325750610a3282613e1d565b60018111156137ef5760405162461bcd60e51b815260206004820152603560248201527f455243373231456e756d657261626c653a20636f6e7365637574697665207472604482015274185b9cd9995c9cc81b9bdd081cdd5c1c1bdc9d1959605a1b6064820152608401610a60565b816001600160a01b03851661384b576138468160cb8054600083815260cc60205260408120829055600182018355919091527fa7ce836d032b2bf62b7e2097a8e0a6d8aeb35405ad15271e96d3b0188a1d06fb0155565b61386e565b836001600160a01b0316856001600160a01b03161461386e5761386e8582613e5d565b6001600160a01b03841661388a5761388581613efa565b611925565b846001600160a01b0316846001600160a01b031614611925576119258482613fa9565b6060610a326001600160a01b03831660145b606060006138ce836002614ade565b6138d9906002614f52565b6001600160401b038111156138f0576138f061432d565b6040519080825280601f01601f19166020018201604052801561391a576020820181803683370190505b509050600360fc1b8160008151811061393557613935614baf565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061396457613964614baf565b60200101906001600160f81b031916908160001a9053506000613988846002614ade565b613993906001614f52565b90505b6001811115613a0b576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106139c7576139c7614baf565b1a60f81b8282815181106139dd576139dd614baf565b60200101906001600160f81b031916908160001a90535060049490941c93613a0481615071565b9050613996565b508315611f635760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610a60565b613a6381613151565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060611f63838360405180606001604052806027815260200161514b60279139613fed565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115613af65750600090506003613b7a565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015613b4a573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116613b7357600060019250925050613b7a565b9150600090505b94509492505050565b6001600160a01b038216613bd95760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610a60565b6000818152609960205260409020546001600160a01b031615613c3e5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610a60565b613c4c600083836001613780565b6000818152609960205260409020546001600160a01b031615613cb15760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610a60565b6001600160a01b0382166000818152609a6020908152604080832080546001019055848352609990915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60006001600160a01b0384163b15613e1257604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290613d60903390899088908890600401615088565b6020604051808303816000875af1925050508015613d9b575060408051601f3d908101601f19168201909252613d98918101906150bb565b60015b613df8573d808015613dc9576040519150601f19603f3d011682016040523d82523d6000602084013e613dce565b606091505b508051600003613df05760405162461bcd60e51b8152600401610a609061501f565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050612f7f565b506001949350505050565b60006001600160e01b031982166380ac58cd60e01b1480613e4e57506001600160e01b03198216635b5e139f60e01b145b80610a325750610a328261405b565b60006001613e6a84611433565b613e749190614f3f565b600083815260ca6020526040902054909150808214613ec7576001600160a01b038416600090815260c960209081526040808320858452825280832054848452818420819055835260ca90915290208190555b50600091825260ca602090815260408084208490556001600160a01b03909416835260c981528383209183525290812055565b60cb54600090613f0c90600190614f3f565b600083815260cc602052604081205460cb8054939450909284908110613f3457613f34614baf565b906000526020600020015490508060cb8381548110613f5557613f55614baf565b600091825260208083209091019290925582815260cc909152604080822084905585825281205560cb805480613f8d57613f8d6150d8565b6001900381819060005260206000200160009055905550505050565b6000613fb483611433565b6001600160a01b03909316600090815260c960209081526040808320868452825280832085905593825260ca9052919091209190915550565b6060600080856001600160a01b03168560405161400a91906150ee565b600060405180830381855af49150503d8060008114614045576040519150601f19603f3d011682016040523d82523d6000602084013e61404a565b606091505b50915091506129b486838387614090565b60006001600160e01b0319821663152a902d60e11b1480610a3257506301ffc9a760e01b6001600160e01b0319831614610a32565b606083156140ff5782516000036140f8576001600160a01b0385163b6140f85760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610a60565b5081612f7f565b612f7f83838151156141145781518083602001fd5b8060405162461bcd60e51b8152600401610a609190614222565b6001600160e01b031981168114610fe957600080fd5b60006020828403121561415657600080fd5b8135611f638161412e565b6001600160a01b0381168114610fe957600080fd5b803561418181614161565b919050565b80356001600160601b038116811461418157600080fd5b600080604083850312156141b057600080fd5b82356141bb81614161565b91506141c960208401614186565b90509250929050565b60005b838110156141ed5781810151838201526020016141d5565b50506000910152565b6000815180845261420e8160208601602086016141d2565b601f01601f19169290920160200192915050565b602081526000611f6360208301846141f6565b60006020828403121561424757600080fd5b5035919050565b6000806040838503121561426157600080fd5b823561426c81614161565b946020939093013593505050565b60008083601f84011261428c57600080fd5b5081356001600160401b038111156142a357600080fd5b602083019150836020828501011115610dcd57600080fd5b6000806000806000608086880312156142d357600080fd5b85356142de81614161565b945060208601356142ee81614161565b93506040860135925060608601356001600160401b0381111561431057600080fd5b61431c8882890161427a565b969995985093965092949392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561436b5761436b61432d565b604052919050565b600082601f83011261438457600080fd5b81356001600160401b0381111561439d5761439d61432d565b6143b0601f8201601f1916602001614343565b8181528460208386010111156143c557600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156143f557600080fd5b8235915060208301356001600160401b0381111561441257600080fd5b61441e85828601614373565b9150509250929050565b60008060006060848603121561443d57600080fd5b833561444881614161565b9250602084013561445881614161565b929592945050506040919091013590565b6000806040838503121561447c57600080fd5b50508035926020909101359150565b6000806040838503121561449e57600080fd5b8235915060208301356144b081614161565b809150509250929050565b6000602082840312156144cd57600080fd5b8135611f6381614161565b600080604083850312156144eb57600080fd5b82356144f681614161565b915060208301356001600160401b0381111561441257600080fd5b60006020828403121561452357600080fd5b81356001600160401b0381111561453957600080fd5b612f7f84828501614373565b60008060006060848603121561455a57600080fd5b83359250602084013561456c81614161565b915061457a60408501614186565b90509250925092565b6000806000806000806000806000806101408b8d0312156145a357600080fd5b8a356001600160401b03808211156145ba57600080fd5b6145c68e838f01614373565b9b5060208d01359150808211156145dc57600080fd5b506145e98d828e01614373565b9950506145f860408c01614176565b975061460660608c01614176565b965061461460808c01614176565b955061462260a08c01614176565b945060c08b0135935060e08b0135925061463f6101008c01614176565b915061464e6101208c01614186565b90509295989b9194979a5092959850565b60008083601f84011261467157600080fd5b5081356001600160401b0381111561468857600080fd5b6020830191508360208260051b8501011115610dcd57600080fd5b6000806000806000606086880312156146bb57600080fd5b8535945060208601356001600160401b03808211156146d957600080fd5b6146e589838a0161465f565b909650945060408801359150808211156146fe57600080fd5b5061431c8882890161427a565b6000806000806000806080878903121561472457600080fd5b8635955060208701356001600160401b038082111561474257600080fd5b61474e8a838b0161465f565b909750955060408901359450606089013591508082111561476e57600080fd5b5061477b89828a0161427a565b979a9699509497509295939492505050565b6000806000604084860312156147a257600080fd5b8335925060208401356001600160401b038111156147bf57600080fd5b6147cb8682870161465f565b9497909650939450505050565b8015158114610fe957600080fd5b600080604083850312156147f957600080fd5b823561480481614161565b915060208301356144b0816147d8565b6000602080838503121561482757600080fd5b82356001600160401b038082111561483e57600080fd5b818501915085601f83011261485257600080fd5b8135818111156148645761486461432d565b8060051b9150614875848301614343565b818152918301840191848101908884111561488f57600080fd5b938501935b838510156148ad57843582529385019390850190614894565b98975050505050505050565b600080600080608085870312156148cf57600080fd5b84356148da81614161565b935060208501356148ea81614161565b92506040850135915060608501356001600160401b0381111561490c57600080fd5b61491887828801614373565b91505092959194509250565b6000806040838503121561493757600080fd5b823561494281614161565b915060208301356144b081614161565b6020808252601f908201527f43616c6c657220646f6573206e6f742068617665207065726d697373696f6e00604082015260600190565b600181811c9082168061499d57607f821691505b6020821081036149bd57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610a7357600081815260208120601f850160051c810160208610156149ea5750805b601f850160051c820191505b81811015611c2c578281556001016149f6565b81516001600160401b03811115614a2257614a2261432d565b614a3681614a308454614989565b846149c3565b602080601f831160018114614a6b5760008415614a535750858301515b600019600386901b1c1916600185901b178555611c2c565b600085815260208120601f198616915b82811015614a9a57888601518255948401946001909101908401614a7b565b5085821015614ab85787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610a3257610a32614ac8565b600082614b1257634e487b7160e01b600052601260045260246000fd5b500490565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b600060018201614bd757614bd7614ac8565b5060010190565b81835260006001600160fb1b03831115614bf757600080fd5b8260051b80836020870137939093016020019392505050565b602081526000612f7f602083018486614bde565b6000808335601e19843603018112614c3b57600080fd5b8301803591506001600160401b03821115614c5557600080fd5b602001915036819003821315610dcd57600080fd5b6001600160401b03831115614c8157614c8161432d565b614c9583614c8f8354614989565b836149c3565b6000601f841160018114614cc95760008515614cb15750838201355b600019600387901b1c1916600186901b178355611925565b600083815260209020601f19861690835b82811015614cfa5786850135825560209485019460019092019101614cda565b5086821015614d175760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b815160009082906020808601845b83811015614d5357815185529382019390820190600101614d37565b50929695505050505050565b6000808454614d6d81614989565b60018281168015614d855760018114614d9a57614dc9565b60ff1984168752821515830287019450614dc9565b8860005260208060002060005b85811015614dc05781548a820152908401908201614da7565b50505082870194505b505050508351614ddd8183602088016141d2565b01949350505050565b6020808252602a908201527f455243323938313a20726f79616c7479206665652077696c6c206578636565646040820152692073616c65507269636560b01b606082015260800190565b600060208284031215614e4257600080fd5b8151611f63816147d8565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b600060208284031215614eac57600080fd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b8481526001600160a01b03841660208201526060604082018190526000906129b49083018486614bde565b634e487b7160e01b600052602160045260246000fd5b81810381811115610a3257610a32614ac8565b80820180821115610a3257610a32614ac8565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351614fe28160178501602088016141d2565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516150138160288401602088016141d2565b01602801949350505050565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60008161508057615080614ac8565b506000190190565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906129b4908301846141f6565b6000602082840312156150cd57600080fd5b8151611f638161412e565b634e487b7160e01b600052603160045260246000fd5b600082516151008184602087016141d2565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b929416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122052e5f8bdc808800f46be50fe44935c7fd47f3a0c6d6ad85cb3b3c8a54f0f7cf164736f6c63430008120033