0 txs
0 calls
constructor
constructor(address tokenContractAddress, address defaultAdmin, address _presaleAddress, address _paymentGatewayAddress, address _hyphaPresaleCoreContract, address _hyphaHelperContract)
functions
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
paused
viewfunction paused() view returns (bool)
PAYMENT_GATEWAY_ROLE
viewfunction PAYMENT_GATEWAY_ROLE() view returns (bytes32)
PRESALE_ROLE
viewfunction PRESALE_ROLE() view returns (bytes32)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
buyTokenWithCoin
nonpayablefunction buyTokenWithCoin(uint256 hyphaTokenAmount, address referrerAddress, address coinPair) returns (bool)
buyTokenWithNativeCoin
payablefunction buyTokenWithNativeCoin(uint256 hyphaTokenAmount, address referrerAddress, address coinPair) payable returns (bool)
claimStuckTokens
nonpayablefunction claimStuckTokens(address coin)
finalizeExternalTranaction
nonpayablefunction finalizeExternalTranaction(address buyer, address referrerAddress, uint256 hyphaTokenAmount, bytes32 orderid) returns (bool)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
pause
nonpayablefunction pause()
processExternalTranaction
nonpayablefunction processExternalTranaction(address buyer, address referrerAddress, uint256 hyphaTokenAmount) returns (bool)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address callerConfirmation)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
startExternalTranaction
nonpayablefunction startExternalTranaction(address buyer, uint256 hyphaTokenAmount, address referrerAddress, bytes32 orderid) returns (bool)
unpause
nonpayablefunction unpause()
updateClaimContractAddress
nonpayablefunction updateClaimContractAddress(address _hyphaClaimContractAddress)
updateHelperContractAddress
nonpayablefunction updateHelperContractAddress(address _hyphaHelperContractAddress)
updatePresaleCoreContract
nonpayablefunction updatePresaleCoreContract(address _hyphaPresaleCoreContractAddress)
updatePresaleWallet
nonpayablefunction updatePresaleWallet(address _presaleWallet)
events
BuyFinalized
event BuyFinalized(address indexed buyer, address indexed referrer, uint256 amount, bytes32 uid)
BuyInitiated
event BuyInitiated(address indexed buyer, address indexed referrer, uint256 amount, bytes32 uid)
FinalizedExternalTransaction
event FinalizedExternalTransaction(address indexed buyer, address indexed referrer, uint256 amount, bytes32 orderid)
InitiatedExternalTransaction
event InitiatedExternalTransaction(address indexed buyer, address indexed referrer, uint256 amount, bytes32 orderid)
Paused
event Paused(address account)
Received
event Received(address, uint256)
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)
Unpaused
event Unpaused(address account)
errors
AccessControlBadConfirmation
error AccessControlBadConfirmation()
AccessControlUnauthorizedAccount
error AccessControlUnauthorizedAccount(address account, bytes32 neededRole)
AddressEmptyCode
error AddressEmptyCode(address target)
AddressInsufficientBalance
error AddressInsufficientBalance(address account)
EnforcedPause
error EnforcedPause()
ExpectedPause
error ExpectedPause()
FailedInnerCall
error FailedInnerCall()
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
creation bytecode
0x608060405234801561000f575f80fd5b5060405161532c38038061532c8339818101604052810190610031919061038f565b5f60015f6101000a81548160ff02191690831515021790555060016002819055506100645f801b866101d260201b60201c565b506100957fc48556de71c0f73e8524a5d68cd20d7a4c9ca6279c843fc18720937bba83be1c846101d260201b60201c565b506100c67f6a4b509b5f306a69ec99e97ff6b166daad9c0a3dfce739a6d67ad1c57143a6b2856101d260201b60201c565b508560035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508360075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050505050610418565b5f6101e383836102c760201b60201c565b6102bd5760015f808581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555061025a61032a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a4600190506102c1565b5f90505b92915050565b5f805f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b5f33905090565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61035e82610335565b9050919050565b61036e81610354565b8114610378575f80fd5b50565b5f8151905061038981610365565b92915050565b5f805f805f8060c087890312156103a9576103a8610331565b5b5f6103b689828a0161037b565b96505060206103c789828a0161037b565b95505060406103d889828a0161037b565b94505060606103e989828a0161037b565b93505060806103fa89828a0161037b565b92505060a061040b89828a0161037b565b9150509295509295509295565b614f07806104255f395ff3fe608060405260043610610138575f3560e01c80638e17c017116100aa578063bc04e5c61161006e578063bc04e5c614610442578063c8f0710914610472578063d547741f1461049c578063e8c96d01146104c4578063f283439214610500578063f9d0831a1461053c57610178565b80638e17c0171461034e57806391d14854146103765780639326197a146103b257806399d9197f146103dc578063a217fddf1461041857610178565b806341a50f48116100fc57806341a50f481461025a57806356d3aa34146102825780635c975abb146102aa5780637e43db22146102d45780638456cb59146102fc5780638cc90faa1461031257610178565b806301ffc9a71461017c578063248a9ca3146101b85780632f2ff15d146101f457806336568abe1461021c5780633f4ba83a1461024457610178565b36610178577f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874333460405161016e929190613ea9565b60405180910390a1005b5f80fd5b348015610187575f80fd5b506101a2600480360381019061019d9190613f29565b610564565b6040516101af9190613f6e565b60405180910390f35b3480156101c3575f80fd5b506101de60048036038101906101d99190613fba565b6105dd565b6040516101eb9190613ff4565b60405180910390f35b3480156101ff575f80fd5b5061021a60048036038101906102159190614037565b6105f9565b005b348015610227575f80fd5b50610242600480360381019061023d9190614037565b61061b565b005b34801561024f575f80fd5b50610258610696565b005b348015610265575f80fd5b50610280600480360381019061027b9190614075565b6106b5565b005b34801561028d575f80fd5b506102a860048036038101906102a39190614075565b610705565b005b3480156102b5575f80fd5b506102be610755565b6040516102cb9190613f6e565b60405180910390f35b3480156102df575f80fd5b506102fa60048036038101906102f59190614075565b61076a565b005b348015610307575f80fd5b506103106107ba565b005b34801561031d575f80fd5b50610338600480360381019061033391906140ca565b6107d9565b6040516103459190613f6e565b60405180910390f35b348015610359575f80fd5b50610374600480360381019061036f9190614075565b611195565b005b348015610381575f80fd5b5061039c60048036038101906103979190614037565b6111e5565b6040516103a99190613f6e565b60405180910390f35b3480156103bd575f80fd5b506103c6611248565b6040516103d39190613ff4565b60405180910390f35b3480156103e7575f80fd5b5061040260048036038101906103fd919061411a565b61126c565b60405161040f9190613f6e565b60405180910390f35b348015610423575f80fd5b5061042c6113eb565b6040516104399190613ff4565b60405180910390f35b61045c6004803603810190610457919061417e565b6113f1565b6040516104699190613f6e565b60405180910390f35b34801561047d575f80fd5b50610486611f0b565b6040516104939190613ff4565b60405180910390f35b3480156104a7575f80fd5b506104c260048036038101906104bd9190614037565b611f2f565b005b3480156104cf575f80fd5b506104ea60048036038101906104e591906141ce565b611f51565b6040516104f79190613f6e565b60405180910390f35b34801561050b575f80fd5b506105266004803603810190610521919061417e565b6128df565b6040516105339190613f6e565b60405180910390f35b348015610547575f80fd5b50610562600480360381019061055d9190614075565b61342f565b005b5f7f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806105d657506105d582613649565b5b9050919050565b5f805f8381526020019081526020015f20600101549050919050565b610602826105dd565b61060b816136b2565b61061583836136c6565b50505050565b6106236137af565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610687576040517f6697b23200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61069182826137b6565b505050565b61069e61389f565b5f801b6106aa816136b2565b6106b26138df565b50565b5f801b6106c1816136b2565b8160045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b5f801b610711816136b2565b8160065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b5f60015f9054906101000a900460ff16905090565b5f801b610776816136b2565b8160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6107c2613940565b5f801b6107ce816136b2565b6107d6613981565b50565b5f6107e26139e2565b600860055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663eedbe31d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561084e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108729190614246565b106108b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a9906142cb565b60405180910390fd5b7fc48556de71c0f73e8524a5d68cd20d7a4c9ca6279c843fc18720937bba83be1c6108dc816136b2565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b5f7f6366040518163ffffffff1660e01b8152600401602060405180830381865afa158015610946573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061096a9190614246565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ecb499e06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109f89190614246565b11610a38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2f90614333565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603610aa6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9d9061439b565b60405180910390fd5b5f8311610ae8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610adf90614429565b60405180910390fd5b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663253613556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b52573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b769190614246565b610c30610b94670de0b6b3a764000086613a2690919063ffffffff16565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663de1ea8666040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bfe573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c229190614246565b613a6690919063ffffffff16565b1115610c71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c68906144b7565b60405180910390fd5b5f151560045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c50796a8876040518263ffffffff1660e01b8152600401610cce91906144d5565b602060405180830381865afa158015610ce9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d0d9190614518565b151514610d4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d469061458d565b60405180910390fd5b5f338585604051602001610d6593929190614610565b6040516020818303038152906040528051906020012090505f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633317bbcc6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610de8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e0c9190614246565b1115610efd5760055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633317bbcc6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e7c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ea09190614246565b610ebb670de0b6b3a764000086613a2690919063ffffffff16565b1115610efc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef390614696565b60405180910390fd5b5b5f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161461100b5760055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cf3b726a86886040518363ffffffff1660e01b8152600401610f8c9291906146b4565b602060405180830381865afa158015610fa7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fcb9190614518565b61100a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100190614725565b60405180910390fd5b5b5f86868660405160200161102193929190614743565b60405160208183030381529060405290505f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b3a5d295338989865f6040518663ffffffff1660e01b8152600401611095959493929190614836565b6020604051808303815f875af11580156110b1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110d59190614518565b905080611117576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110e906148d8565b60405180910390fd5b8673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8bd8598877f42767d4f34a1fb36bab785127f22155d10fae198b727ddfc2972488866040516111769291906148f6565b60405180910390a3600194505050505061118e613a8c565b9392505050565b5f801b6111a1816136b2565b8160075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b5f805f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b7f6a4b509b5f306a69ec99e97ff6b166daad9c0a3dfce739a6d67ad1c57143a6b281565b5f6112756139e2565b600860055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663eedbe31d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112e1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113059190614246565b10611345576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133c906142cb565b60405180910390fd5b7fc48556de71c0f73e8524a5d68cd20d7a4c9ca6279c843fc18720937bba83be1c61136f816136b2565b8373ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167f342f3f6da54a708baed2ea74a6b80d5d8d94f3d4e6694142dd76932c6317351a87866040516113ce9291906148f6565b60405180910390a360019150506113e3613a8c565b949350505050565b5f801b81565b5f6113fa613940565b6114026139e2565b600860055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663eedbe31d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561146e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114929190614246565b106114d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c9906142cb565b60405180910390fd5b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b5f7f6366040518163ffffffff1660e01b8152600401602060405180830381865afa15801561153c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115609190614246565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ecb499e06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115ca573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115ee9190614246565b1161162e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162590614333565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff160361169c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116939061439b565b60405180910390fd5b5f34116116de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d59061498d565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff160361174c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174390614a1b565b60405180910390fd5b5f151560045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c50796a8336040518263ffffffff1660e01b81526004016117a991906144d5565b602060405180830381865afa1580156117c4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117e89190614518565b15151461182a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118219061458d565b60405180910390fd5b5f33848660405160200161184093929190614610565b6040516020818303038152906040528051906020012090508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f342f3f6da54a708baed2ea74a6b80d5d8d94f3d4e6694142dd76932c6317351a87846040516118b79291906148f6565b60405180910390a35f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146119cd5760055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cf3b726a85336040518363ffffffff1660e01b815260040161194e9291906146b4565b602060405180830381865afa158015611969573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061198d9190614518565b6119cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c390614725565b60405180910390fd5b5b5f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663115ece4c85346040518363ffffffff1660e01b8152600401611a2a929190613ea9565b602060405180830381865afa158015611a45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a699190614246565b905060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663253613556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ad5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611af99190614246565b611bb3611b17670de0b6b3a764000089613a2690919063ffffffff16565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663de1ea8666040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b81573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ba59190614246565b613a6690919063ffffffff16565b1115611bf4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611beb90614aa9565b60405180910390fd5b5f611c0f662386f26fc1000088613a2690919063ffffffff16565b9050611c248183613a6690919063ffffffff16565b611c3f670de0b6b3a764000089613a2690919063ffffffff16565b108015611c775750611c5a8183613a9690919063ffffffff16565b611c75670de0b6b3a764000089613a2690919063ffffffff16565b115b611cb6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cad90614b11565b60405180910390fd5b5f60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1634604051611cfc90614b5c565b5f6040518083038185875af1925050503d805f8114611d36576040519150601f19603f3d011682016040523d82523d5f602084013e611d3b565b606091505b5050905080611d7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7690614be0565b60405180910390fd5b5f33888a604051602001611d9593929190614743565b60405160208183030381529060405290505f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b3a5d295338b8d865f6040518663ffffffff1660e01b8152600401611e09959493929190614836565b6020604051808303815f875af1158015611e25573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e499190614518565b905080611e8b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e82906148d8565b60405180910390fd5b8873ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8bd8598877f42767d4f34a1fb36bab785127f22155d10fae198b727ddfc297248c89604051611eea9291906148f6565b60405180910390a360019650505050505050611f04613a8c565b9392505050565b7fc48556de71c0f73e8524a5d68cd20d7a4c9ca6279c843fc18720937bba83be1c81565b611f38826105dd565b611f41816136b2565b611f4b83836137b6565b50505050565b5f611f5a6139e2565b600860055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663eedbe31d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fc6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fea9190614246565b1061202a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612021906142cb565b60405180910390fd5b7fc48556de71c0f73e8524a5d68cd20d7a4c9ca6279c843fc18720937bba83be1c612054816136b2565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b5f7f6366040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120be573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120e29190614246565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ecb499e06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561214c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121709190614246565b116121b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121a790614333565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff160361221e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122159061439b565b60405180910390fd5b5f8411612260576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161225790614429565b60405180910390fd5b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663253613556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156122ca573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122ee9190614246565b6123a861230c670de0b6b3a764000087613a2690919063ffffffff16565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663de1ea8666040518163ffffffff1660e01b8152600401602060405180830381865afa158015612376573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061239a9190614246565b613a6690919063ffffffff16565b11156123e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123e0906144b7565b60405180910390fd5b5f151560045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c50796a8886040518263ffffffff1660e01b815260040161244691906144d5565b602060405180830381865afa158015612461573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124859190614518565b1515146124c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124be9061458d565b60405180910390fd5b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633317bbcc6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612532573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125569190614246565b11156126475760055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633317bbcc6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125c6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125ea9190614246565b612605670de0b6b3a764000086613a2690919063ffffffff16565b1115612646576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161263d90614696565b60405180910390fd5b5b5f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16146127555760055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cf3b726a86886040518363ffffffff1660e01b81526004016126d69291906146b4565b602060405180830381865afa1580156126f1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127159190614518565b612754576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161274b90614725565b60405180910390fd5b5b5f86868660405160200161276b93929190614743565b60405160208183030381529060405290505f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b3a5d295338989865f6040518663ffffffff1660e01b81526004016127df959493929190614836565b6020604051808303815f875af11580156127fb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061281f9190614518565b905080612861576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612858906148d8565b60405180910390fd5b8673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8bd8598877f42767d4f34a1fb36bab785127f22155d10fae198b727ddfc2972488886040516128c09291906148f6565b60405180910390a3600193505050506128d7613a8c565b949350505050565b5f6128e8613940565b6128f06139e2565b600860055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663eedbe31d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561295c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129809190614246565b106129c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129b7906142cb565b60405180910390fd5b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b5f7f6366040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a2a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a4e9190614246565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ecb499e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ab8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612adc9190614246565b11612b1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b1390614333565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1603612b8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b819061439b565b60405180910390fd5b5f8411612bcc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bc390614429565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1603612c3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c3190614a1b565b60405180910390fd5b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663322b5bdc836040518263ffffffff1660e01b8152600401612c9491906144d5565b602060405180830381865afa158015612caf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612cd39190614518565b612d12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d0990614c48565b60405180910390fd5b5f151560045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c50796a8336040518263ffffffff1660e01b8152600401612d6f91906144d5565b602060405180830381865afa158015612d8a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612dae9190614518565b151514612df0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612de79061458d565b60405180910390fd5b5f338486604051602001612e0693929190614610565b6040516020818303038152906040528051906020012090508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f342f3f6da54a708baed2ea74a6b80d5d8d94f3d4e6694142dd76932c6317351a8784604051612e7d9291906148f6565b60405180910390a35f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614612f935760055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cf3b726a85336040518363ffffffff1660e01b8152600401612f149291906146b4565b602060405180830381865afa158015612f2f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f539190614518565b612f92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f8990614725565b60405180910390fd5b5b5f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318f52ff285886040518363ffffffff1660e01b8152600401612ff0929190613ea9565b602060405180830381865afa15801561300b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061302f9190614246565b905060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663253613556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561309b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130bf9190614246565b6131796130dd670de0b6b3a764000089613a2690919063ffffffff16565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663de1ea8666040518163ffffffff1660e01b8152600401602060405180830381865afa158015613147573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061316b9190614246565b613a6690919063ffffffff16565b11156131ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131b190614aa9565b60405180910390fd5b5f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663377591dc866040518263ffffffff1660e01b815260040161321591906144d5565b602060405180830381865afa158015613230573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906132549190614c7a565b90506132a43360075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848473ffffffffffffffffffffffffffffffffffffffff16613abc909392919063ffffffff16565b5f3387896040516020016132ba93929190614743565b60405160208183030381529060405290505f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b3a5d295338a8c865f6040518663ffffffff1660e01b815260040161332e959493929190614836565b6020604051808303815f875af115801561334a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061336e9190614518565b9050806133b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133a7906148d8565b60405180910390fd5b8773ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8bd8598877f42767d4f34a1fb36bab785127f22155d10fae198b727ddfc297248b8860405161340f9291906148f6565b60405180910390a3600195505050505050613428613a8c565b9392505050565b6134376139e2565b5f801b613443816136b2565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036134d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134c990614d15565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361356f5760075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015613569573d5f803e3d5ffd5b5061363d565b5f8290505f8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016135ad91906144d5565b602060405180830381865afa1580156135c8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906135ec9190614246565b905061363a60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828473ffffffffffffffffffffffffffffffffffffffff16613b3e9092919063ffffffff16565b50505b50613646613a8c565b50565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6136c3816136be6137af565b613bbd565b50565b5f6136d183836111e5565b6137a55760015f808581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506137426137af565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a4600190506137a9565b5f90505b92915050565b5f33905090565b5f6137c183836111e5565b15613895575f805f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506138326137af565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a460019050613899565b5f90505b92915050565b6138a7610755565b6138dd576040517f8dfc202b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b6138e761389f565b5f60015f6101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6139296137af565b60405161393691906144d5565b60405180910390a1565b613948610755565b1561397f576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b613989613940565b6001805f6101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586139cb6137af565b6040516139d891906144d5565b60405180910390a1565b6002805403613a1d576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028081905550565b5f808303613a36575f9050613a60565b5f8284613a439190614d60565b9050828482613a529190614dce565b14613a5b575f80fd5b809150505b92915050565b5f808284613a749190614dfe565b905083811015613a82575f80fd5b8091505092915050565b6001600281905550565b5f82821115613aa3575f80fd5b5f8284613ab09190614e31565b90508091505092915050565b613b38848573ffffffffffffffffffffffffffffffffffffffff166323b872dd868686604051602401613af193929190614743565b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050613c0e565b50505050565b613bb8838473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8585604051602401613b71929190613ea9565b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050613c0e565b505050565b613bc782826111e5565b613c0a5780826040517fe2517d3f000000000000000000000000000000000000000000000000000000008152600401613c01929190614e64565b60405180910390fd5b5050565b5f613c38828473ffffffffffffffffffffffffffffffffffffffff16613ca390919063ffffffff16565b90505f815114158015613c5c575080806020019051810190613c5a9190614518565b155b15613c9e57826040517f5274afe7000000000000000000000000000000000000000000000000000000008152600401613c9591906144d5565b60405180910390fd5b505050565b6060613cb083835f613cb8565b905092915050565b606081471015613cff57306040517fcd786059000000000000000000000000000000000000000000000000000000008152600401613cf691906144d5565b60405180910390fd5b5f808573ffffffffffffffffffffffffffffffffffffffff168486604051613d279190614ebb565b5f6040518083038185875af1925050503d805f8114613d61576040519150601f19603f3d011682016040523d82523d5f602084013e613d66565b606091505b5091509150613d76868383613d81565b925050509392505050565b606082613d9657613d9182613e0e565b613e06565b5f8251148015613dbc57505f8473ffffffffffffffffffffffffffffffffffffffff163b145b15613dfe57836040517f9996b315000000000000000000000000000000000000000000000000000000008152600401613df591906144d5565b60405180910390fd5b819050613e07565b5b9392505050565b5f81511115613e205780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f613e7b82613e52565b9050919050565b613e8b81613e71565b82525050565b5f819050919050565b613ea381613e91565b82525050565b5f604082019050613ebc5f830185613e82565b613ec96020830184613e9a565b9392505050565b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b613f0881613ed4565b8114613f12575f80fd5b50565b5f81359050613f2381613eff565b92915050565b5f60208284031215613f3e57613f3d613ed0565b5b5f613f4b84828501613f15565b91505092915050565b5f8115159050919050565b613f6881613f54565b82525050565b5f602082019050613f815f830184613f5f565b92915050565b5f819050919050565b613f9981613f87565b8114613fa3575f80fd5b50565b5f81359050613fb481613f90565b92915050565b5f60208284031215613fcf57613fce613ed0565b5b5f613fdc84828501613fa6565b91505092915050565b613fee81613f87565b82525050565b5f6020820190506140075f830184613fe5565b92915050565b61401681613e71565b8114614020575f80fd5b50565b5f813590506140318161400d565b92915050565b5f806040838503121561404d5761404c613ed0565b5b5f61405a85828601613fa6565b925050602061406b85828601614023565b9150509250929050565b5f6020828403121561408a57614089613ed0565b5b5f61409784828501614023565b91505092915050565b6140a981613e91565b81146140b3575f80fd5b50565b5f813590506140c4816140a0565b92915050565b5f805f606084860312156140e1576140e0613ed0565b5b5f6140ee86828701614023565b93505060206140ff86828701614023565b9250506040614110868287016140b6565b9150509250925092565b5f805f806080858703121561413257614131613ed0565b5b5f61413f87828801614023565b9450506020614150878288016140b6565b935050604061416187828801614023565b925050606061417287828801613fa6565b91505092959194509250565b5f805f6060848603121561419557614194613ed0565b5b5f6141a2868287016140b6565b93505060206141b386828701614023565b92505060406141c486828701614023565b9150509250925092565b5f805f80608085870312156141e6576141e5613ed0565b5b5f6141f387828801614023565b945050602061420487828801614023565b9350506040614215878288016140b6565b925050606061422687828801613fa6565b91505092959194509250565b5f81519050614240816140a0565b92915050565b5f6020828403121561425b5761425a613ed0565b5b5f61426884828501614232565b91505092915050565b5f82825260208201905092915050565b7f48595048413a2050726573616c652068617320656e64656400000000000000005f82015250565b5f6142b5601883614271565b91506142c082614281565b602082019050919050565b5f6020820190508181035f8301526142e2816142a9565b9050919050565b7f48595048413a20416c6c20546f6b656e7320536f6c646564204f7574000000005f82015250565b5f61431d601c83614271565b9150614328826142e9565b602082019050919050565b5f6020820190508181035f83015261434a81614311565b9050919050565b7f48595048413a2043616e277420757365204164647265737320300000000000005f82015250565b5f614385601a83614271565b915061439082614351565b602082019050919050565b5f6020820190508181035f8301526143b281614379565b9050919050565b7f48595048413a20546f6b656e207175616e74697479206d7573742062652067725f8201527f6561746572207468616e20300000000000000000000000000000000000000000602082015250565b5f614413602c83614271565b915061441e826143b9565b604082019050919050565b5f6020820190508181035f83015261444081614407565b9050919050565b7f48595048413a204e6f7420656e6f75676820746f6b656e204c65667420696e205f8201527f7468697320737461676500000000000000000000000000000000000000000000602082015250565b5f6144a1602a83614271565b91506144ac82614447565b604082019050919050565b5f6020820190508181035f8301526144ce81614495565b9050919050565b5f6020820190506144e85f830184613e82565b92915050565b6144f781613f54565b8114614501575f80fd5b50565b5f81519050614512816144ee565b92915050565b5f6020828403121561452d5761452c613ed0565b5b5f61453a84828501614504565b91505092915050565b7f48595048413a2057616c6c657420697320626c61636b6c6973746564000000005f82015250565b5f614577601c83614271565b915061458282614543565b602082019050919050565b5f6020820190508181035f8301526145a48161456b565b9050919050565b5f8160601b9050919050565b5f6145c1826145ab565b9050919050565b5f6145d2826145b7565b9050919050565b6145ea6145e582613e71565b6145c8565b82525050565b5f819050919050565b61460a61460582613e91565b6145f0565b82525050565b5f61461b82866145d9565b60148201915061462b82856145d9565b60148201915061463b82846145f9565b602082019150819050949350505050565b7f48595048413a20546f6b656e73206578656564206c696d6974000000000000005f82015250565b5f614680601983614271565b915061468b8261464c565b602082019050919050565b5f6020820190508181035f8301526146ad81614674565b9050919050565b5f6040820190506146c75f830185613e82565b6146d46020830184613e82565b9392505050565b7f48595048413a20696e76616c69642072656665727265720000000000000000005f82015250565b5f61470f601783614271565b915061471a826146db565b602082019050919050565b5f6020820190508181035f83015261473c81614703565b9050919050565b5f6060820190506147565f830186613e82565b6147636020830185613e82565b6147706040830184613e9a565b949350505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6147ba82614778565b6147c48185614782565b93506147d4818560208601614792565b6147dd816147a0565b840191505092915050565b5f819050919050565b5f60ff82169050919050565b5f819050919050565b5f61482061481b614816846147e8565b6147fd565b6147f1565b9050919050565b61483081614806565b82525050565b5f60a0820190506148495f830188613e82565b6148566020830187613e82565b6148636040830186613e9a565b818103606083015261487581856147b0565b90506148846080830184614827565b9695505050505050565b7f48595048413a204461746120757064617465206661696c6564000000000000005f82015250565b5f6148c2601983614271565b91506148cd8261488e565b602082019050919050565b5f6020820190508181035f8301526148ef816148b6565b9050919050565b5f6040820190506149095f830185613e9a565b6149166020830184613fe5565b9392505050565b7f48595048413a20455448207175616e74697479206d75737420626520677265615f8201527f746572207468616e203000000000000000000000000000000000000000000000602082015250565b5f614977602a83614271565b91506149828261491d565b604082019050919050565b5f6020820190508181035f8301526149a48161496b565b9050919050565b7f48595048413a20427579657220616e6420526566657265722063616e277420625f8201527f65207468652073616d6520616464726573730000000000000000000000000000602082015250565b5f614a05603283614271565b9150614a10826149ab565b604082019050919050565b5f6020820190508181035f830152614a32816149f9565b9050919050565b7f48595048413a204e6f7420656e6f75676820546f6b656e204c65667420696e205f8201527f7468697320737461676500000000000000000000000000000000000000000000602082015250565b5f614a93602a83614271565b9150614a9e82614a39565b604082019050919050565b5f6020820190508181035f830152614ac081614a87565b9050919050565b7f48595048413a20546f6b656e20646576696174696f6e20746f206869676874005f82015250565b5f614afb601f83614271565b9150614b0682614ac7565b602082019050919050565b5f6020820190508181035f830152614b2881614aef565b9050919050565b5f81905092915050565b50565b5f614b475f83614b2f565b9150614b5282614b39565b5f82019050919050565b5f614b6682614b3c565b9150819050919050565b7f48595048413a204661696c656420746f2073656e64206e617469766520636f695f8201527f6e00000000000000000000000000000000000000000000000000000000000000602082015250565b5f614bca602183614271565b9150614bd582614b70565b604082019050919050565b5f6020820190508181035f830152614bf781614bbe565b9050919050565b7f48595048413a20436f696e2070616972206e6f7420617661696c61626c6500005f82015250565b5f614c32601e83614271565b9150614c3d82614bfe565b602082019050919050565b5f6020820190508181035f830152614c5f81614c26565b9050919050565b5f81519050614c748161400d565b92915050565b5f60208284031215614c8f57614c8e613ed0565b5b5f614c9c84828501614c66565b91505092915050565b7f48595048413a204f776e65722063616e6e6f7420636c61696d206e61746976655f8201527f20746f6b656e7300000000000000000000000000000000000000000000000000602082015250565b5f614cff602783614271565b9150614d0a82614ca5565b604082019050919050565b5f6020820190508181035f830152614d2c81614cf3565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f614d6a82613e91565b9150614d7583613e91565b9250828202614d8381613e91565b91508282048414831517614d9a57614d99614d33565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f614dd882613e91565b9150614de383613e91565b925082614df357614df2614da1565b5b828204905092915050565b5f614e0882613e91565b9150614e1383613e91565b9250828201905080821115614e2b57614e2a614d33565b5b92915050565b5f614e3b82613e91565b9150614e4683613e91565b9250828203905081811115614e5e57614e5d614d33565b5b92915050565b5f604082019050614e775f830185613e82565b614e846020830184613fe5565b9392505050565b5f614e9582614778565b614e9f8185614b2f565b9350614eaf818560208601614792565b80840191505092915050565b5f614ec68284614e8b565b91508190509291505056fea2646970667358221220175bd36ce06b14972bd2cbb92d2ce128ac52f088b0be39bcd62bb3ee62f7625864736f6c634300081a00330000000000000000000000001d18168701347464b6f19977e282a703cc6ba127000000000000000000000000e35f88a6fce6ec2a1dc8e7ac146246d6944ae3140000000000000000000000002c23ce6340b5244050a87e31451561f7873d6d580000000000000000000000007e729da9703d763b59ab49c53eb83c7ea8fd49520000000000000000000000001d18168701347464b6f19977e282a703cc6ba127000000000000000000000000f31f657b5267becba80bbaef749a2b6bbf9c3ea5