UNPKG

@intuweb3/sdk

Version:

INTU SDK - Modern blockchain interaction toolkit

1 lines 75.6 kB
{"_format":"hh-sol-artifact-1","contractName":"Vault","sourceName":"contracts/Vault.sol","abi":[{"inputs":[],"name":"AddUserAddressNotSubmitted","type":"error"},{"inputs":[],"name":"AddressNotAllowed","type":"error"},{"inputs":[],"name":"AddressNotInVault","type":"error"},{"inputs":[],"name":"AlreadySignedMsg","type":"error"},{"inputs":[],"name":"AlreadyVoted","type":"error"},{"inputs":[],"name":"ContractAlreadyInitialized","type":"error"},{"inputs":[],"name":"ExecuteProposalReverted","type":"error"},{"inputs":[],"name":"FailedCall","type":"error"},{"inputs":[],"name":"InsufficientFee","type":"error"},{"inputs":[],"name":"InvalidAdminThreshold","type":"error"},{"inputs":[],"name":"InvalidRotateThreshold","type":"error"},{"inputs":[],"name":"InvalidTransactionThreshold","type":"error"},{"inputs":[],"name":"MsgNotFound","type":"error"},{"inputs":[],"name":"NotAuthorized","type":"error"},{"inputs":[],"name":"OnlyCreatorCanCancel","type":"error"},{"inputs":[],"name":"ProposalAlreadyExecuted","type":"error"},{"inputs":[],"name":"ProposalCancelled","type":"error"},{"inputs":[],"name":"ProposalExpired","type":"error"},{"inputs":[],"name":"ProposalInProcess","type":"error"},{"inputs":[],"name":"ProposalNotFound","type":"error"},{"inputs":[],"name":"RegisterStep1MissingCompletion","type":"error"},{"inputs":[],"name":"RegisterStep1NotComplete","type":"error"},{"inputs":[],"name":"RegisterStep2MissingCompletion","type":"error"},{"inputs":[],"name":"RegisterStep2NotComplete","type":"error"},{"inputs":[],"name":"RemoveUserAddressNotSubmitted","type":"error"},{"inputs":[],"name":"TooManyUsers","type":"error"},{"inputs":[],"name":"TransactionNotFound","type":"error"},{"inputs":[],"name":"TransferFailed","type":"error"},{"inputs":[],"name":"UserAdditionInProgress","type":"error"},{"inputs":[],"name":"UserAlreadyConfirmedTx","type":"error"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"bool","name":"isRegistered","type":"bool"}],"name":"UserAlreadyInVault","type":"error"},{"inputs":[],"name":"UserAlreadyRegistered","type":"error"},{"inputs":[],"name":"UserNotInVault","type":"error"},{"inputs":[],"name":"UserNotRegistered","type":"error"},{"inputs":[],"name":"UserRemovalInProgress","type":"error"},{"inputs":[],"name":"VaultAlreadyComplete","type":"error"},{"inputs":[],"name":"VaultNotComplete","type":"error"},{"inputs":[],"name":"VoteRequirementNotReached","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"messId","type":"uint256"},{"indexed":false,"internalType":"address","name":"signer","type":"address"},{"indexed":false,"internalType":"string","name":"signedMessage","type":"string"}],"name":"MessageSigned","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"messId","type":"uint256"},{"indexed":false,"internalType":"string","name":"message","type":"string"}],"name":"MessageToSignProposed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"enum VaultGovernance.PropositionType","name":"_type","type":"uint8"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"}],"name":"ProposalCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"txId","type":"uint256"},{"indexed":false,"internalType":"string","name":"transactionInfo","type":"string"},{"indexed":false,"internalType":"string","name":"notes","type":"string"}],"name":"TransactionProposed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"txId","type":"uint256"},{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"string","name":"signedTransaction","type":"string"}],"name":"TransactionUserConfirmed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address[]","name":"userToAdd","type":"address[]"}],"name":"VaultAddUserRequested","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"vaultAddress","type":"address"},{"indexed":true,"internalType":"address[]","name":"userToAdd","type":"address[]"}],"name":"VaultAddUserRequestedEventFromCore","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address[]","name":"users","type":"address[]"},{"indexed":false,"internalType":"address","name":"_masterPubKey","type":"address"}],"name":"VaultCompleted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"name","type":"string"}],"name":"VaultNewName","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"userToRemove","type":"address"}],"name":"VaultRemoveUserRequested","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"userToAdd","type":"address"},{"indexed":true,"internalType":"address","name":"userToRemove","type":"address"}],"name":"VaultRotateUserRequested","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"userToAdd","type":"address"}],"name":"VaultUserAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"}],"name":"VaultUserInitialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"string","name":"_parisEncKey","type":"string"},{"indexed":false,"internalType":"string","name":"_megaPublicKey","type":"string"},{"indexed":false,"internalType":"string","name":"_encSharedKey","type":"string"},{"indexed":false,"internalType":"string","name":"_dbKey","type":"string"}],"name":"VaultUserPreRegister","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"string","name":"_step1Dealings","type":"string"},{"indexed":false,"internalType":"string","name":"_openingKey","type":"string"},{"indexed":false,"internalType":"string","name":"_openingKappa","type":"string"},{"indexed":false,"internalType":"string","name":"_openingLambda","type":"string"},{"indexed":false,"internalType":"string","name":"_simpleDealingKey","type":"string"},{"indexed":false,"internalType":"string","name":"_simpleDealingKappa","type":"string"},{"indexed":false,"internalType":"string","name":"_transcriptKey","type":"string"},{"indexed":false,"internalType":"string","name":"_transcriptKappa","type":"string"},{"indexed":false,"internalType":"string","name":"_transcriptLambda","type":"string"},{"indexed":false,"internalType":"string","name":"_step3Crypto","type":"string"}],"name":"VaultUserRegisteredAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"userToRemove","type":"address"}],"name":"VaultUserRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"string","name":"_step1Dealings","type":"string"},{"indexed":false,"internalType":"string","name":"_simpleOpeningKeyResharedOnce","type":"string"},{"indexed":false,"internalType":"string","name":"_pedersenOpeningKappaReshare","type":"string"},{"indexed":false,"internalType":"string","name":"_pedersenOpeningLambdaReshare","type":"string"},{"indexed":false,"internalType":"string","name":"_simpleDealingKeyReshareTwice","type":"string"},{"indexed":false,"internalType":"string","name":"_simpleDealingKappaReshare","type":"string"},{"indexed":false,"internalType":"string","name":"_transcriptKeyResharedOnce","type":"string"},{"indexed":false,"internalType":"string","name":"_transcriptKappaReshare","type":"string"},{"indexed":false,"internalType":"string","name":"_transcriptLambdaReshare","type":"string"},{"indexed":false,"internalType":"string","name":"_step3Stuff","type":"string"}],"name":"VaultUserReshareRegisteredAll","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"PROPOSAL_IN_PROCESS","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PROPOSAL_VOTE_DURATION","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"VAULT_USER_COUNT_LIMIT","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"addUserDoneStep1","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"addUserDoneStep2","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"addUserDoneStep3","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"cancelProposal","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"cancelUserToAdd","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"userAddresses","type":"address[]"},{"internalType":"address","name":"masterPubKey","type":"address"}],"name":"completeVault","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"executeProposal","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"feeContractAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getProposalCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getUserToAdd","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getUserToRemove","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"txId","type":"uint256"},{"internalType":"address","name":"user","type":"address"}],"name":"hasUserConfirmedTransaction","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"proposedAddresses","type":"address[]"},{"internalType":"uint8","name":"rotateThreshold","type":"uint8"},{"internalType":"uint8","name":"transactionThreshold","type":"uint8"},{"internalType":"uint8","name":"adminThreshold","type":"uint8"},{"internalType":"bytes32","name":"encryptionMessage","type":"bytes32"},{"internalType":"string","name":"seed","type":"string"},{"internalType":"bytes32","name":"name","type":"bytes32"},{"internalType":"address","name":"feeContract","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"messageCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"messages","outputs":[{"internalType":"uint8","name":"votesNeeded","type":"uint8"},{"internalType":"uint8","name":"votesFor","type":"uint8"},{"internalType":"uint256","name":"id","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"name":"messagesSigned","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_parisEncKey","type":"string"},{"internalType":"string","name":"_megaPublicKey","type":"string"},{"internalType":"string","name":"_encSharedKey","type":"string"},{"internalType":"string","name":"_dbKey","type":"string"}],"name":"preRegister","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalInfos","outputs":[{"components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint8","name":"voteForNeeded","type":"uint8"},{"internalType":"uint8","name":"voteForCount","type":"uint8"},{"internalType":"bool","name":"executed","type":"bool"},{"internalType":"bool","name":"cancelled","type":"bool"},{"internalType":"bytes","name":"_calldata","type":"bytes"},{"internalType":"uint256","name":"endTime","type":"uint256"},{"internalType":"uint256","name":"feeValue","type":"uint256"},{"internalType":"address","name":"creator","type":"address"}],"internalType":"struct VaultGovernance.Proposal","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"address","name":"user","type":"address"}],"name":"proposalVoteUserInfos","outputs":[{"internalType":"enum VaultGovernance.VoteState","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"transactionInfo","type":"string"},{"internalType":"string","name":"notes","type":"string"}],"name":"proposeTransaction","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"string","name":"_step1Dealings","type":"string"},{"internalType":"string","name":"_simpleOpeningKeyResharedOnce","type":"string"},{"internalType":"string","name":"_pedersenOpeningKappaReshare","type":"string"},{"internalType":"string","name":"_pedersenOpeningLambdaReshare","type":"string"},{"internalType":"string","name":"_simpleDealingKeyReshareTwice","type":"string"},{"internalType":"string","name":"_simpleDealingKappaReshare","type":"string"},{"internalType":"string","name":"_transcriptKeyResharedOnce","type":"string"},{"internalType":"string","name":"_transcriptKappaReshare","type":"string"},{"internalType":"string","name":"_transcriptLambdaReshare","type":"string"},{"internalType":"string","name":"_step3Stuff","type":"string"}],"name":"registerAllReshareSteps","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"step1Dealings","type":"string"},{"internalType":"string","name":"openingKey","type":"string"},{"internalType":"string","name":"openingKappa","type":"string"},{"internalType":"string","name":"openingLambda","type":"string"},{"internalType":"string","name":"simpleDealingKey","type":"string"},{"internalType":"string","name":"simpleDealingKappa","type":"string"},{"internalType":"string","name":"transcriptKey","type":"string"},{"internalType":"string","name":"transcriptKappa","type":"string"},{"internalType":"string","name":"transcriptLambda","type":"string"},{"internalType":"string","name":"step3Crypto","type":"string"}],"name":"registerAllSteps","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"usersToAdd","type":"address[]"}],"name":"submitUserToAdd","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addUser","type":"address"},{"internalType":"address","name":"removeUser","type":"address"}],"name":"submitUsersToRotate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"totalAddUserStep1Done","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"totalAddUserStep2Done","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"totalAddUserStep3Done","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"txId","type":"uint256"}],"name":"transactionInfos","outputs":[{"components":[{"internalType":"uint8","name":"votesNeeded","type":"uint8"},{"internalType":"uint8","name":"votesFor","type":"uint8"},{"internalType":"uint256","name":"id","type":"uint256"}],"internalType":"struct VaultManager.Transaction","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"name":"transactionVotes","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"transactions","outputs":[{"internalType":"uint8","name":"votesNeeded","type":"uint8"},{"internalType":"uint8","name":"votesFor","type":"uint8"},{"internalType":"uint256","name":"id","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"txId","type":"uint256"},{"internalType":"string","name":"signedTransaction","type":"string"}],"name":"userConfirmTx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"userInfos","outputs":[{"internalType":"bool","name":"isPartOfVault","type":"bool"},{"internalType":"bool","name":"isRegistered","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"userToAdd","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"userToAddCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"userToRemove","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"usersMapping","outputs":[{"internalType":"address","name":"userAddress","type":"address"},{"internalType":"bool","name":"isRegistered","type":"bool"},{"internalType":"uint8","name":"index","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"vault","outputs":[{"internalType":"uint8","name":"registeredUsersCount","type":"uint8"},{"internalType":"uint8","name":"rotateThreshold","type":"uint8"},{"internalType":"uint8","name":"transactionThreshold","type":"uint8"},{"internalType":"uint8","name":"adminThreshold","type":"uint8"},{"internalType":"uint8","name":"usersCount","type":"uint8"},{"internalType":"uint256","name":"createdDate","type":"uint256"},{"internalType":"uint256","name":"createdBlock","type":"uint256"},{"internalType":"uint256","name":"transactionCount","type":"uint256"},{"internalType":"bool","name":"completed","type":"bool"},{"internalType":"bool","name":"resharingOccurred","type":"bool"},{"internalType":"bytes32","name":"encryptionMessage","type":"bytes32"},{"internalType":"string","name":"seed","type":"string"},{"internalType":"bytes32","name":"name","type":"bytes32"},{"internalType":"address","name":"masterPublicKey","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"vaultInfos","outputs":[{"components":[{"internalType":"uint8","name":"registeredUsersCount","type":"uint8"},{"internalType":"uint8","name":"rotateThreshold","type":"uint8"},{"internalType":"uint8","name":"transactionThreshold","type":"uint8"},{"internalType":"uint8","name":"adminThreshold","type":"uint8"},{"internalType":"uint8","name":"usersCount","type":"uint8"},{"internalType":"uint256","name":"createdDate","type":"uint256"},{"internalType":"uint256","name":"createdBlock","type":"uint256"},{"internalType":"uint256","name":"transactionCount","type":"uint256"},{"internalType":"bool","name":"completed","type":"bool"},{"internalType":"bool","name":"resharingOccurred","type":"bool"},{"internalType":"bytes32","name":"encryptionMessage","type":"bytes32"},{"internalType":"string","name":"seed","type":"string"},{"internalType":"bytes32","name":"name","type":"bytes32"},{"internalType":"address[]","name":"users","type":"address[]"},{"internalType":"address","name":"masterPublicKey","type":"address"}],"internalType":"struct VaultManager.Vault","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"voteAgainst","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"voteFor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}],"bytecode":"0x60808060405234601f5760ff19601054166010556134d390816100258239f35b600080fdfe6101606040526004361015610011575b005b60003560e01c8063049c94ef14612c0857806306b0840f14612a8c5780630962dfec14610a835780630b636ca9146128245780630d61b519146125485780630d80fefd146124f057806311369e2a146123ac57806311cb4b44146122155780631682499a146121f957806316a4db1f1461218e5780631a8747c714611c4d5780632b173ce614611c2a5780632ffbe67f14611bd55780633309445e14611b945780633b48c01a14611b685780633dbcc8d114611b4a57806343b0215f14611af657806348ab214a14611a9a5780634c62804314611a4b5780635c73dbd514611a1f57806362dbf6861461199f5780636388b712146118c55780636cd2fdde14611878578063750e443a146117da57806386a50535146116e95780638d5b4067146116cb5780638f0973aa1461169f5780639584dcd61461165257806397ca58e1146113cb5780639ace38c2146113735780639dda6e3d146113555780639e3b06cd146112e6578063ac71a6e014610ad1578063b1cf1a2514610a83578063b511328d14610897578063c43e06d414610849578063dba2df9d1461081f578063e03db98d146107d2578063e0a8f6f51461073d578063ef2872271461071f578063f12fd50a1461056f578063f5f5b14e146102d15763fbfa77cf0361000f57346102cc5760003660031901126102cc5760ff600054600154600254906102bb6003546004548660055491604051936102328561022b81612f8d565b0386612d70565b600754976001600160a01b0360095416976040519b8b818e9d168d528c6020838360081c169101528c6040838360101c169101528c6060838360181c1691015260201c1660808c015260a08b015260c08a015260e0890152818116151561010089015260081c1615156101208701526101408601526101c06101608601526101c0850190612e21565b916101808401526101a08301520390f35b600080fd5b346102cc5760203660031901126102cc5760043567ffffffffffffffff81116102cc57610302903690600401612eb7565b33600052600c60205260ff60406000205460a01c1615610545578051156105015760ff60005460201c16815181018091116104eb57600c106104a757601354158015610488575b1561044457601254906000915b81518310156103d9576001600160a01b03610371848461306d565b511680156103955760019161038861038d926130b3565b61302e565b920191610356565b606460405162461bcd60e51b815260206004820152601360248201527f41646472657373206e6f7420616c6c6f776564000000000000000000000000006044820152fd5b60125560405180918291602082519192019060005b818110610422575050500390207f9660983131fbf915244638033d8e5829977b8ba1fd10e039912c70adcbc9bcd8600080a2005b82516001600160a01b03168452859450602093840193909201916001016103ee565b606460405162461bcd60e51b815260206004820152601960248201527f55736572206164646974696f6e20696e2070726f6772657373000000000000006044820152fd5b506001600160a01b03610499612cb4565b90549060031b1c1615610349565b606460405162461bcd60e51b815260206004820152600e60248201527f546f6f206d616e792075736572730000000000000000000000000000000000006044820152fd5b634e487b7160e01b600052601160045260246000fd5b606460405162461bcd60e51b815260206004820152601760248201527f456d707479206172726179206e6f7420616c6c6f7765640000000000000000006044820152fd5b7f2163950f0000000000000000000000000000000000000000000000000000000060005260046000fd5b346102cc5760403660031901126102cc5760043560243567ffffffffffffffff81116102cc576105a3903690600401612dae565b9060ff60045416156106f55733600052600c60205260ff60406000205460a01c16156105455780600052600a602052604060002060018101549081156106cb5781600052600b60205260406000206001600160a01b03331660005260205260ff604060002054166106a15761066491600052600b60205260406000206001600160a01b0333166000526020526040600020600160ff1982541617905561064f60ff825460081c16613136565b61ff0082549160081b169061ff001916179055565b7f061ac674f17175dcb7234adea3b4b8315f0ad534ac3470a66e84919442fabfe7604051602081528061069c33956020830190612e21565b0390a3005b7fad2dc9390000000000000000000000000000000000000000000000000000000060005260046000fd5b7f31fb878f0000000000000000000000000000000000000000000000000000000060005260046000fd5b7f6bd838f90000000000000000000000000000000000000000000000000000000060005260046000fd5b346102cc5760003660031901126102cc576020601554604051908152f35b346102cc5760203660031901126102cc5760043580600052600e6020526107676040600020613147565b600052600e60205260406000206001600160a01b0360058201541633036107a857600101805463ff000000191663010000001790556010805460ff19169055005b7f6035cb580000000000000000000000000000000000000000000000000000000060005260046000fd5b346102cc5760403660031901126102cc576001600160a01b036107f3612e0b565b1660005260186020526040600020602435600052602052602060ff604060002054166040519015158152f35b346102cc5760003660031901126102cc5760206001600160a01b03601f5460081c16604051908152f35b346102cc5760403660031901126102cc57610862612df5565b600435600052601e6020526001600160a01b0360406000209116600052602052602060ff604060002054166040519015158152f35b346102cc5760203660031901126102cc5760006101006040516108b981612d53565b828152826020820152826040820152826060820152826080820152606060a08201528260c08201528260e08201520152600435600052600e602052602060406000206040519061090882612d53565b80548252600181015483830160ff82168152836040810160ff8460081c1681526060820160ff8560101c161515815260ff608084019560181c161515855260028601916040519260009080549061095e82612f53565b8087529160018116908115610a5f5750600114610a20575b50509160ff6001600160a01b03979261099586610a0697960386612d70565b60a087019485528189600560038d01549c60c08b019d8e5260e060048201549b019a8b52015416986101008d01998a526040518e819f9e829f835251910152511660408c0152511660608a0152511515608089015251151560a08801525161012060c0880152610140870190612e21565b935160e08601525161010085015251166101208301520390f35b60009081528b81209092505b818310610a485750508301890160ff6001600160a01b03610976565b80548387018d01528a9650918b0191600101610a2c565b60ff19168d8801525050151560051b84018a01905060ff6001600160a01b03610976565b346102cc5760403660031901126102cc57610a9c612df5565b600435600052600b6020526001600160a01b0360406000209116600052602052602060ff604060002054166040519015158152f35b346102cc576101403660031901126102cc5760043567ffffffffffffffff81116102cc57610b03903690600401612f25565b906101005260243567ffffffffffffffff81116102cc57610b28903690600401612f25565b6101205260443567ffffffffffffffff81116102cc57610b4c903690600401612f25565b6101405260643567ffffffffffffffff81116102cc57610b70903690600401612f25565b9060843567ffffffffffffffff81116102cc57610b91903690600401612f25565b9060a43567ffffffffffffffff81116102cc57610bb2903690600401612f25565b91909260c43567ffffffffffffffff81116102cc57610bd5903690600401612f25565b95909660e43567ffffffffffffffff81116102cc57610bf8903690600401612f25565b99909a6101043567ffffffffffffffff81116102cc57610c1c903690600401612f25565b60805260a0526101243567ffffffffffffffff81116102cc57610c43903690600401612f25565b9060e0529c6013546000805b828110610e85575014610d8b575b957ff9597ffff119c82e7615eafbdbb03625e702b1bb31fee8b6e0e84b85cf0047979c9995610d06610d2a96610d659e9b96610cf4610d4d9f9b97610cdd610d1898610d3b9f9a610cc69060405160c05261014060c0515261014060c051019061010051613115565b9060c0518203602060c05101526101205190613115565b9060c0518203604060c05101526101405190613115565b9160c0518303606060c0510152613115565b9160c0518303608060c0510152613115565b9160c051830360a060c0510152613115565b9160c051830360c080510152613115565b9160c051830360e060c0510152613115565b60c051810361010060c051015260805160a051613115565b9160c051830361012060c0510152610d84339360c0519260e051613115565b0360c051a2005b601254600052601b6020526040600020610da5815461302e565b905533600052601860205260406000206012546000526020526040600020600160ff198254161790556008546000805b828110610e0c57505b818110610dfb5750506004805461ff001916610100179055610c5d565b600190610e066130df565b01610dde565b6001600160a01b03610e1d82612ce7565b90549060031b1c16610e32575b600101610dd5565b90610e7d6001916103886001600160a01b03610e4d86612ce7565b90549060031b1c16610e5e83612ce7565b9091906001600160a01b038084549260031b9316831b921b1916179055565b919050610e2a565b6001600160a01b03610e9682612c35565b90549060031b1c16331415600014610eec57336000526018602052604060002060125460005260205260ff6040600020541615610ed8575b6001905b01610c4f565b90610ee460019161302e565b919050610ece565b6001600160a01b03610efd82612c35565b90549060031b1c16156112bc5760145460018114806112b0575b156111d25750906111af600191610f446001600160a01b03610f37612cb4565b90549060031b1c16613292565b610f646001600160a01b03610f57612cb4565b90549060031b1c166131dc565b6001600160a01b03610f74612cb4565b90549060031b1c167fa72a47c73f1c5d938f5221206ed4a4653b75be2f594e85f98f2722037530716b600080a27f834a9bce325817b8f45a37dccaf2c2eb5e870ffa6e90b70ac7947e65d192f44360206001600160a01b03610fd4612cb4565b90549060031b1c16604051908152a16013546111c2575b6001600160a01b03610ffb612c81565b90549060031b1c166110946001600160a01b0361102761102260ff60005460201c16613420565b612ce7565b90549060031b1c1682600052600c60205260ff60406000205460a81c169061105281610e5e84612ce7565b600052600c6020526040600020907fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff60ff60a81b83549260a81b169116179055565b6110c06110ab61102260ff60005460201c16613420565b6001600160a01b0382549160031b1b19169055565b600052600c602052600060408120556001600160a01b036110eb61102260ff60005460201c16613420565b90549060031b1c16156111b5575b60005460ff611109818316613433565b1664ff0000000061112560ff198416831760201c60ff16613433565b60201b169164ff000000ff191617176000557fa9b8d3e25ec5289b3604afd6003432f68b395b8b3ca9b18c3e0acad61fea4caf60206001600160a01b0361116a612c81565b90549060031b1c16604051908152a16111846110ab612c81565b336000526018602052604060002060125460005260205260406000208360ff1982541617905561302e565b91610ed2565b6111bd6130df565b6110f9565b6111cd6110ab612cb4565b610feb565b156111e0575b600190610ed2565b9061129c6001916111fb6001600160a01b03610f3786612c35565b61120f6001600160a01b03610f5786612c35565b6001600160a01b0361122085612c35565b90549060031b1c167fa72a47c73f1c5d938f5221206ed4a4653b75be2f594e85f98f2722037530716b600080a27f834a9bce325817b8f45a37dccaf2c2eb5e870ffa6e90b70ac7947e65d192f44360206001600160a01b0361128187612c35565b90549060031b1c16604051908152a16013546112a45761302e565b9190506111d8565b6103886110ab85612c35565b50600160135414610f17565b7f2b53784e0000000000000000000000000000000000000000000000000000000060005260046000fd5b346102cc5760003660031901126102cc5760135461130381613081565b9060005b818110611328576040516020808252819061132490820186612e62565b0390f35b806001600160a01b0361133c600193612c35565b90549060031b1c1661134e828661306d565b5201611307565b346102cc5760003660031901126102cc576020604051621275008152f35b346102cc5760203660031901126102cc57600435600052600a60205260406000206001815491015490611324604051928260ff80869560081c1691168460ff6040929594938160608401971683521660208201520152565b346102cc576101403660031901126102cc5760043567ffffffffffffffff81116102cc576113fd903690600401612dae565b60243567ffffffffffffffff81116102cc5761141d903690600401612dae565b60443567ffffffffffffffff81116102cc5761143d903690600401612dae565b9160643567ffffffffffffffff81116102cc5761145e903690600401612dae565b60843567ffffffffffffffff81116102cc5761147e903690600401612dae565b60a43567ffffffffffffffff81116102cc5761149e903690600401612dae565b60c43567ffffffffffffffff81116102cc576114be903690600401612dae565b9060e43567ffffffffffffffff81116102cc576114df903690600401612dae565b926101043567ffffffffffffffff81116102cc57611501903690600401612dae565b946101243567ffffffffffffffff81116102cc57611523903690600401612dae565b9833600052600c602052336001600160a01b0360406000205416036116285761154b336131dc565b6040519889986101408a526101408a0161156491612e21565b89810360208b015261157591612e21565b88810360408a015261158691612e21565b878103606089015261159791612e21565b86810360808801526115a891612e21565b85810360a08701526115b991612e21565b84810360c08601526115ca91612e21565b83810360e08501526115db91612e21565b8281036101008401526115ed91612e21565b92818403610120830152339361160291612e21565b037ff91c87a817fc1d1590af799b67025bd8ccdedea121b8aefd14c8fad6c2b8bae091a2005b7f0786b2fc0000000000000000000000000000000000000000000000000000000060005260046000fd5b346102cc5760403660031901126102cc576001600160a01b03611673612e0b565b1660005260176020526040600020602435600052602052602060ff604060002054166040519015158152f35b346102cc5760203660031901126102cc57600435600052601a6020526020604060002054604051908152f35b346102cc5760003660031901126102cc576020600d54604051908152f35b346102cc5760203660031901126102cc5760043580600052600e6020526117136040600020613147565b600052600e6020526040600020805480600052600f60205260406000206001600160a01b03331660005260205260ff6040600020541660038110156117c45761179a5761000f91600191600052600f60205260406000206001600160a01b03331660005260205260406000208260ff198254161790550161064f60ff825460081c16613136565b7f7c9a1cf90000000000000000000000000000000000000000000000000000000060005260046000fd5b634e487b7160e01b600052602160045260246000fd5b346102cc5760203660031901126102cc5760043580600052600e6020526118046040600020613147565b600052600e60205260406000205480600052600f60205260406000206001600160a01b03331660005260205260ff6040600020541660038110156117c45761179a57600052600f60205260406000206001600160a01b0333166000526020526040600020600260ff19825416179055600080f35b346102cc5760403660031901126102cc576001600160a01b03611899612e0b565b1660005260166020526040600020602435600052602052602060ff604060002054166040519015158152f35b346102cc5760403660031901126102cc576118de612e0b565b6118e6612df5565b60145415611950576001600160a01b03816119048293610e5e612c81565b601354156119425761191884610e5e612cb4565b1691167f32d211a2c97eabb019ff26cfc1821827619b9438de9c25b4a2bcafb11a4133e2600080a3005b61194b846130b3565b611918565b6014546801000000000000000081101561198957816119846001600160a01b0393610e5e8460018796016014556014612d02565b611904565b634e487b7160e01b600052604160045260246000fd5b346102cc5760203660031901126102cc576000604080516119bf81612d1a565b8281528260208201520152600435600052600a602052606060406000206040516119e881612d1a565b60ff8254604060018383169586865284602087019460081c1684520154930192835260405193845251166020830152516040820152f35b346102cc5760203660031901126102cc57600435600052601b6020526020604060002054604051908152f35b346102cc5760003660031901126102cc5733600052600c60205260ff60406000205460a01c16156105455760135460005b818110611a8557005b80611a946110ab600193612c35565b01611a7c565b346102cc5760203660031901126102cc576001600160a01b03611abb612e0b565b16600052600c602052606060406000205460ff604051916001600160a01b0381168352818160a01c161515602084015260a81c166040820152f35b346102cc5760203660031901126102cc5760406001600160a01b03611b19612e0b565b166000818152600c6020908152908390205483516001600160a01b038216909314835260a01c60ff16151590820152f35b346102cc5760003660031901126102cc576020601c54604051908152f35b346102cc5760203660031901126102cc5760043560005260196020526020604060002054604051908152f35b346102cc5760203660031901126102cc576004356014548110156102cc576001600160a01b03611bc5602092612c66565b90549060031b1c16604051908152f35b346102cc5760403660031901126102cc57611bee612df5565b600435600052600f6020526001600160a01b036040600020911660005260205260ff6040600020541660405160038210156117c4576020918152f35b346102cc5760003660031901126102cc57602060ff601054166040519015158152f35b346102cc576101003660031901126102cc5760043567ffffffffffffffff81116102cc57366023820112156102cc5780600401359067ffffffffffffffff82116102cc576024810190602436918460051b0101116102cc5760243560ff811681036102cc576044359060ff821682036102cc576064359160ff831683036102cc5760a43567ffffffffffffffff81116102cc57611cee903690600401612f25565b94909560e4356001600160a01b03811681036102cc57601f5460ff8116612164577fffffffffffffffffffffff00000000000000000000000000000000000000000074ffffffffffffffffffffffffffffffffffffffff0060019360081b1691161717601f55611d5d84613484565b1561212057611d6b83613484565b156120dc57611d7985613484565b1561209857600c81116120545760005b818110611ff4575050504260015562066eee46148015611fe9575b15611fdc57604051907fa3b1b31d00000000000000000000000000000000000000000000000000000000825260208260048160645afa8015611fd057600090611f9c575b61ff0092506002555b63ff00000062ff00006000549260101b169460181b169063ffffff001916179160081b16171760005560843560055560c43560075567ffffffffffffffff811161198957611e40600654612f53565b601f8111611efe575b506000601f8211600114611e85578192600092611e7a575b5050600019600383901b1c191660019190911b17600655005b013590508280611e61565b601f198216927ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f91805b858110611ee657508360019510611ecc575b505050811b01600655005b0135600019600384901b60f8161c19169055828080611ec1565b90926020600181928686013581550194019101611eaf565b601f820160051c7ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f019060208310611f74575b601f0160051c7ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f01905b818110611f685750611e49565b60008155600101611f5b565b7ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f9150611f31565b506020823d602011611fc8575b81611fb660209383612d70565b810103126102cc5761ff009151611de8565b3d9150611fa9565b6040513d6000823e3d90fd5b61ff009043600255611df1565b5061a4b14614611da4565b8061201261200d61200860019486886131b8565b6131c8565b613292565b6001600160a01b036120286120088386886131b8565b167fa72a47c73f1c5d938f5221206ed4a4653b75be2f594e85f98f2722037530716b600080a201611d89565b606460405162461bcd60e51b815260206004820152600c60248201527f546f6f4d616e79557365727300000000000000000000000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601560248201527f496e76616c696441646d696e5468726573686f6c6400000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601b60248201527f496e76616c69645472616e73616374696f6e5468726573686f6c6400000000006044820152fd5b606460405162461bcd60e51b815260206004820152601660248201527f496e76616c6964526f746174655468726573686f6c64000000000000000000006044820152fd5b7f7b878c0c0000000000000000000000000000000000000000000000000000000060005260046000fd5b346102cc5760003660031901126102cc576014546121ab81613081565b9060005b8181106121cc576040516020808252819061132490820186612e62565b806001600160a01b036121e0600193612c66565b90549060031b1c166121f2828661306d565b52016121af565b346102cc5760003660031901126102cc576020604051600c8152f35b346102cc5760803660031901126102cc5760043567ffffffffffffffff81116102cc57612246903690600401612dae565b60243567ffffffffffffffff81116102cc57612266903690600401612dae565b60443567ffffffffffffffff81116102cc57612286903690600401612dae565b9060643567ffffffffffffffff81116102cc576122a7903690600401612dae565b9233600052600c602052336001600160a01b0360406000205416036116285733600052601160205260ff60406000205416612368576123636123547f9ca69d159ac6f09919fccd4deaf4e8274828bbfc41d12cb28abb10aa82f93f9794612346612338953360005260116020526040600020600160ff19825416179055604051968796608088526080880190612e21565b908682036020880152612e21565b908482036040860152612e21565b82810360608401523395612e21565b0390a2005b606460405162461bcd60e51b815260206004820152601b60248201527f5573657220616c7265616479207072652d7265676973746572656400000000006044820152fd5b346102cc5760403660031901126102cc5760043567ffffffffffffffff81116102cc576123dd903690600401612eb7565b6123e5612df5565b9033600052600c60205260ff60406000205460a01c1615610545576004549160ff83166124c65781519260005b848110612491577f1900928e90fbed2f464fb88eacb797713388f7629840b9c8b73883a7e067ebcd612486856001600160a01b038660018760ff191617600455168073ffffffffffffffffffffffffffffffffffffffff196009541617600955604051928392604084526040840190612e62565b9060208301520390a1005b6001600160a01b036124a3828661306d565b5116600052600c60205260ff60406000205460a01c161561054557600101612412565b7f749bfb5c0000000000000000000000000000000000000000000000000000000060005260046000fd5b346102cc5760203660031901126102cc57600435600052601d60205260406000206001815491015490611324604051928260ff80869560081c1691168460ff6040929594938160608401971683521660208201520152565b60203660031901126102cc5760043580600052600e6020526004604060002061257081613147565b015434036127fa57600460206001600160a01b03601f5460081c16604051928380927fbf2d75fb0000000000000000000000000000000000000000000000000000000082525afa908115611fd0576000916127b0575b506000808080936001600160a01b033491165af16125e261303d565b501561278657600052600e60205260406000206001810190815460ff8160101c1661275c5760ff8160181c1661273257600382015442116127085760ff8082169160081c16106126de576002016040519060009080549061264282612f53565b91600181169081156126c65750600114612690575b846126746000808787038882305af161266e61303d565b90613443565b50805462ff00001916620100001790556010805460ff19169055005b90915060005260206000206000905b8282106126b25750508101600082612657565b60018160209254848701520191019061269f565b60ff1916855250508015150282019050600082612657565b7f7411a6330000000000000000000000000000000000000000000000000000000060005260046000fd5b7f28a723790000000000000000000000000000000000000000000000000000000060005260046000fd5b7f95b88db00000000000000000000000000000000000000000000000000000000060005260046000fd5b7f51618d530000000000000000000000000000000000000000000000000000000060005260046000fd5b7f90b8ec180000000000000000000000000000000000000000000000000000000060005260046000fd5b6020813d6020116127f2575b816127c960209383612d70565b810103126127ee5751906001600160a01b03821682036127eb575060006125c6565b80fd5b5080fd5b3d91506127bc565b7f025dbdd40000000000000000000000000000000000000000000000000000000060005260046000fd5b346102cc5760003660031901126102cc5760006101c060405161284681612d36565b8281528260208201528260408201528260608201528260808201528260a08201528260c08201528260e082015282610100820152826101208201528261014082015260606101608201528261018082015260606101a082015201526040516128ad81612d36565b6000549060ff82168152602081019060ff8360081c168252604081019260ff8160101c1684526060820160ff8260181c16815260ff608084019260201c16825260015460a0840190815260025460c0850190815260035460e086019081526004549061010087019060ff83161515825260ff61012089019360081c1615158352600554936101408901948552604051956129518761294a81612f8d565b0388612d70565b6101608a01968752600754986101808b01998a526040519889809a6020600854918281520190600860005260206000209060005b818110612a6a575050500361299a908b612d70565b6101a08c01998a526009546001600160a01b03169b6101c081019c8d526040519e8f9e8f92602084525160ff1660208401525160ff1660408301525160ff1690606001525160ff1660808d01525160ff1660a08c01525160c08b01525160e08a015251610100890152511515610120880152511515610140870152516101608601525161018085016101e090526102008501612a3591612e21565b91516101a085015251838203601f19016101c0850152612a559190612e62565b90516001600160a01b03166101e08301520390f35b82546001600160a01b031684528e945060209093019260019283019201612985565b60403660031901126102cc5760043567ffffffffffffffff81116102cc57612ab8903690600401612dae565b60243567ffffffffffffffff81116102cc57612ad8903690600401612dae565b9060ff60045416156106f55733600052600c60205260ff60406000205460a01c16156105455760005460ff808260101c169116908181029181830414901517156104eb5760648101908181116104eb576063019081116104eb5760649004916064830292808404606414901517156104eb577f8f6fdccccca5609cfaacb94aa045741b5ff8e3d058dd2292f6f26221ed5e0fb891612363612bfa92612b7e60035461302e565b958660035560ff606460405192612b9484612d1a565b0416815260016020820160008152612be260ff60408501928b84528b600052600a60205281604060002096511682198754161786555116849061ff0082549160081b169061ff001916179055565b51910155604051938493604085526040850190612e21565b908382036020850152612e21565b346102cc5760203660031901126102cc576004356013548110156102cc576001600160a01b03611bc56020925b601354811015612c5057601360005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b601454811015612c5057601460005260206000200190600090565b60145415612c5057601460009081527fce6d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec91565b60135415612c5057601360009081527f66de8ffda797e3de9c05e8fc57b3bf0ec28a930d40b0d285d93c06501cf6a09091565b600854811015612c5057600860005260206000200190600090565b8054821015612c505760005260206000200190600090565b6060810190811067ffffffffffffffff82111761198957604052565b6101e0810190811067ffffffffffffffff82111761198957604052565b610120810190811067ffffffffffffffff82111761198957604052565b90601f8019910116810190811067ffffffffffffffff82111761198957604052565b67ffffffffffffffff811161198957601f01601f191660200190565b81601f820112156102cc57803590612dc582612d92565b92612dd36040519485612d70565b828452602083830101116102cc57816000926020809301838601378301015290565b602435906001600160a01b03821682036102cc57565b600435906001600160a01b03821682036102cc57565b919082519283825260005b848110612e4d575050826000602080949584010152601f8019910116010190565b80602080928401015182828601015201612e2c565b906020808351928381520192019060005b818110612e805750505090565b82516001600160a01b0316845260209384019390920191600101612e73565b67ffffffffffffffff81116119895760051b60200190565b9080601f830112156102cc57813590612ecf82612e9f565b92612edd6040519485612d70565b82845260208085019360051b8201019182116102cc57602001915b818310612f055750505090565b82356001600160a01b03811681036102cc57815260209283019201612ef8565b9181601f840112156102cc5782359167ffffffffffffffff83116102cc57602083818601950101116102cc57565b90600182811c92168015612f83575b6020831014612f6d57565b634e487b7160e01b600052602260045260246000fd5b91607f1691612f62565b60065460009291612f9d82612f53565b80825291600181169081156130125750600114612fb8575050565b600660009081529293509091907ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f5b838310612ff8575060209250010190565b600181602092949394548385870101520191019190612fe7565b9050602093945060ff929192191683830152151560051b010190565b60001981146104eb5760010190565b3d15613068573d9061304e82612d92565b9161305c6040519384612d70565b82523d6000602084013e565b606090565b8051821015612c505760209160051b010190565b9061308b82612e9f565b6130986040519182612d70565b82815280926130a9601f1991612e9f565b0190602036910137565b601354906801000000000000000082101561198957610e5e8260016130dd94016013556013612d02565b565b60085480156130ff57600019016130fa6110ab826008612d02565b600855565b634e487b7160e01b600052603160045260246000fd5b908060209392818452848401376000828201840152601f01601f1916010190565b60ff1660ff81146104eb5760010190565b80541561318e57600181015460ff8160101c1661275c5760181c60ff16612732576003015442116127085733600052600c60205260ff60406000205460a01c161561054557565b7f635e87370000000000000000000000000000000000000000000000000000000060005260046000fd5b9190811015612c505760051b0190565b356001600160a01b03811681036102cc5790565b6001600160a01b031680600052600c60205260ff60406000205460a01c1661326857600052600c6020526040600020740100000000000000000000000000000000000000007fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff825416179055600054600160ff82160160ff81116104eb5760ff169060ff191617600055565b7f9e4a65f60000000000000000000000000000000000000000000000000000000060005260046000fd5b6001600160a01b03811680600052600c60205260ff60406000205460a01c166133d8578061338591600052600c60205260406000208173ffffffffffffffffffffffffffffffffffffffff1982541617905560ff8060005460201c16604051926132fb84612d1a565b808452600060208086018281526040808801958652938352600c90915291902093518454915192517fffffffffffffffffffff000000000000000000000000000000000000000000009092166001600160a01b03919091161791151560a01b74ff00000000000000000000000000000000000000001691909117911660a81b60ff60a81b16179055565b60005464ff0000000061339d60ff8360201c16613136565b60201b169064ff00000000191617600055600854906801000000000000000082101561198957610e5e8260016130dd94016008556008612d02565b80600052600c60205260ff60406000205460a01c16907f8b6b4e4d00000000000000000000000000000000000000000000000000000000600052600452151560245260446000fd5b60ff6000199116019060ff82116104eb57565b60ff1680156104eb576000190190565b9091906130dd575080511561345a57805190602001fd5b7fd6bda2750000000000000000000000000000000000000000000000000000000060005260046000fd5b60ff168015159081613494575090565b6064915011159056fea2646970667358221220c0b15b0029fc710eab5bce0e1792f77718374c26ce2b741cfbb208efe93c2b9864736f6c634300081c0033","deployedBytecode":"0x6101606040526004361015610011575b005b60003560e01c8063049c94ef14612c0857806306b0840f14612a8c5780630962dfec14610a835780630b636ca9146128245780630d61b519146125485780630d80fefd146124f057806311369e2a146123ac57806311cb4b44146122155780631682499a146121f957806316a4db1f1461218e5780631a8747c714611c4d5780632b173ce614611c2a5780632ffbe67f14611bd55780633309445e14611b945780633b48c01a14611b685780633dbcc8d114611b4a57806343b0215f14611af657806348ab214a14611a9a5780634c62804314611a4b5780635c73dbd514611a1f57806362dbf6861461199f5780636388b712146118c55780636cd2fdde14611878578063750e443a146117da57806386a50535146116e95780638d5b4067146116cb5780638f0973aa1461169f5780639584dcd61461165257806397ca58e1146113cb5780639ace38c2146113735780639dda6e3d146113555780639e3b06cd146112e6578063ac71a6e014610ad1578063b1cf1a2514610a83578063b511328d14610897578063c43e06d414610849578063dba2df9d1461081f578063e03db98d146107d2578063e0a8f6f51461073d578063ef2872271461071f578063f12fd50a1461056f578063f5f5b14e146102d15763fbfa77cf0361000f57346102cc5760003660031901126102cc5760ff600054600154600254906102bb6003546004548660055491604051936102328561022b81612f8d565b0386612d70565b600754976001600160a01b0360095416976040519b8b818e9d168d528c6020838360081c169101528c6040838360101c169101528c6060838360181c1691015260201c1660808c015260a08b015260c08a015260e0890152818116151561010089015260081c1615156101208701526101408601526101c06101608601526101c0850190612e21565b916101808401526101a08301520390f35b600080fd5b346102cc5760203660031901126102cc5760043567ffffffffffffffff81116102cc57610302903690600401612eb7565b336