0 txs
3 calls
constructor
constructor()
functions
allowance
viewfunction allowance(address owner, address spender) view returns (uint256)
asset
viewfunction asset() view returns (address)
balanceOf
viewfunction balanceOf(address account) view returns (uint256)
balanceOfAsset
viewfunction balanceOfAsset(address account) view returns (uint256)
convertToAssets
viewfunction convertToAssets(uint256 shares) view returns (uint256)
convertToShares
viewfunction convertToShares(uint256 assets) view returns (uint256)
decimals
purefunction decimals() pure returns (uint8)
hasShares
viewfunction hasShares(address account) view returns (bool)
maxDeposit
viewfunction maxDeposit(address) view returns (uint256)
maxMint
viewfunction maxMint(address) view returns (uint256)
maxRedeem
viewfunction maxRedeem(address owner) view returns (uint256)
maxWithdraw
viewfunction maxWithdraw(address owner) view returns (uint256)
name
viewfunction name() view returns (string)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
previewDeposit
viewfunction previewDeposit(uint256 assets) view returns (uint256)
previewMint
viewfunction previewMint(uint256 shares) view returns (uint256)
previewRedeem
viewfunction previewRedeem(uint256 shares) view returns (uint256)
previewWithdraw
viewfunction previewWithdraw(uint256 assets) view returns (uint256)
symbol
viewfunction symbol() view returns (string)
totalAssets
viewfunction totalAssets() view returns (uint256)
totalSupply
viewfunction totalSupply() view returns (uint256)
approve
nonpayablefunction approve(address spender, uint256 amount) returns (bool)
decreaseAllowance
nonpayablefunction decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)
deposit
nonpayablefunction deposit(uint256 assets, address receiver) returns (uint256)
increaseAllowance
nonpayablefunction increaseAllowance(address spender, uint256 addedValue) returns (bool)
initialize
nonpayablefunction initialize(address asset_)
mint
nonpayablefunction mint(uint256 shares, address receiver) returns (uint256)
pause
nonpayablefunction pause()
redeem
nonpayablefunction redeem(uint256 shares, address receiver, address owner) returns (uint256)
renounceOwnership
nonpayablefunction renounceOwnership()
transfer
nonpayablefunction transfer(address to, uint256 amount) returns (bool)
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 amount) returns (bool)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unpause
nonpayablefunction unpause()
withdraw
nonpayablefunction withdraw(uint256 assets, address receiver, address owner) returns (uint256)
withdrawAllAssets
nonpayablefunction withdrawAllAssets(address to)
events
Approval
event Approval(address indexed owner, address indexed spender, uint256 value)
Deposit
event Deposit(address indexed sender, address indexed owner, uint256 assets, uint256 shares)
Initialized
event Initialized(uint8 version)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Paused
event Paused(address account)
Transfer
event Transfer(address indexed from, address indexed to, uint256 value)
Unpaused
event Unpaused(address account)
Withdraw
event Withdraw(address indexed sender, address indexed receiver, address indexed owner, uint256 assets, uint256 shares)
errors
No errors.
creation bytecode
0x60806040523480156200001157600080fd5b50620000226200002860201b60201c565b620001d2565b600060019054906101000a900460ff16156200007b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000729062000175565b60405180910390fd5b60ff801660008054906101000a900460ff1660ff1614620000ec5760ff6000806101000a81548160ff021916908360ff1602179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249860ff604051620000e39190620001b5565b60405180910390a15b565b600082825260208201905092915050565b7f496e697469616c697a61626c653a20636f6e747261637420697320696e69746960008201527f616c697a696e6700000000000000000000000000000000000000000000000000602082015250565b60006200015d602783620000ee565b91506200016a82620000ff565b604082019050919050565b6000602082019050818103600083015262000190816200014e565b9050919050565b600060ff82169050919050565b620001af8162000197565b82525050565b6000602082019050620001cc6000830184620001a4565b92915050565b6144aa80620001e26000396000f3fe608060405234801561001057600080fd5b50600436106102275760003560e01c80638456cb5911610130578063ba087652116100b8578063ce96cb771161007c578063ce96cb7714610702578063d905777e14610732578063dd62ed3e14610762578063ef8b30f714610792578063f2fde38b146107c257610227565b8063ba08765214610626578063c1d8994114610656578063c4d66de814610686578063c63d75b6146106a2578063c6e6f592146106d257610227565b806395d89b41116100ff57806395d89b4114610548578063a457c2d714610566578063a9059cbb14610596578063b3d7f6b9146105c6578063b460af94146105f657610227565b80638456cb59146104c05780638da5cb5b146104ca578063944e6c96146104e857806394bf804d1461051857610227565b806338d52e0f116101b35780634cdad506116101825780634cdad506146104085780635c975abb146104385780636e553f651461045657806370a0823114610486578063715018a6146104b657610227565b806338d52e0f14610380578063395093511461039e5780633f4ba83a146103ce578063402d267d146103d857610227565b80630a28a477116101fa5780630a28a477146102c857806310691775146102f857806318160ddd1461031457806323b872dd14610332578063313ce5671461036257610227565b806301e1d1141461022c57806306fdde031461024a57806307a2d13a14610268578063095ea7b314610298575b600080fd5b6102346107de565b6040516102419190612d5d565b60405180910390f35b610252610881565b60405161025f9190612e08565b60405180910390f35b610282600480360381019061027d9190612e5b565b610913565b60405161028f9190612d5d565b60405180910390f35b6102b260048036038101906102ad9190612ee6565b610927565b6040516102bf9190612f41565b60405180910390f35b6102e260048036038101906102dd9190612e5b565b610943565b6040516102ef9190612d5d565b60405180910390f35b610312600480360381019061030d9190612f5c565b610957565b005b61031c610b9a565b6040516103299190612d5d565b60405180910390f35b61034c60048036038101906103479190612f89565b610ba4565b6040516103599190612f41565b60405180910390f35b61036a610bc2565b6040516103779190612ff8565b60405180910390f35b610388610bcb565b6040516103959190613022565b60405180910390f35b6103b860048036038101906103b39190612ee6565b610bf5565b6040516103c59190612f41565b60405180910390f35b6103d6610c11565b005b6103f260048036038101906103ed9190612f5c565b610c23565b6040516103ff9190612d5d565b60405180910390f35b610422600480360381019061041d9190612e5b565b610c4d565b60405161042f9190612d5d565b60405180910390f35b610440610c61565b60405161044d9190612f41565b60405180910390f35b610470600480360381019061046b919061303d565b610c78565b60405161047d9190612d5d565b60405180910390f35b6104a0600480360381019061049b9190612f5c565b610c94565b6040516104ad9190612d5d565b60405180910390f35b6104be610cdd565b005b6104c8610cf1565b005b6104d2610d03565b6040516104df9190613022565b60405180910390f35b61050260048036038101906104fd9190612f5c565b610d2d565b60405161050f9190612f41565b60405180910390f35b610532600480360381019061052d919061303d565b610d41565b60405161053f9190612d5d565b60405180910390f35b610550610d5d565b60405161055d9190612e08565b60405180910390f35b610580600480360381019061057b9190612ee6565b610def565b60405161058d9190612f41565b60405180910390f35b6105b060048036038101906105ab9190612ee6565b610e0b565b6040516105bd9190612f41565b60405180910390f35b6105e060048036038101906105db9190612e5b565b610e27565b6040516105ed9190612d5d565b60405180910390f35b610610600480360381019061060b919061307d565b610e3b565b60405161061d9190612d5d565b60405180910390f35b610640600480360381019061063b919061307d565b610e59565b60405161064d9190612d5d565b60405180910390f35b610670600480360381019061066b9190612f5c565b610e77565b60405161067d9190612d5d565b60405180910390f35b6106a0600480360381019061069b9190612f5c565b610e91565b005b6106bc60048036038101906106b79190612f5c565b611096565b6040516106c99190612d5d565b60405180910390f35b6106ec60048036038101906106e79190612e5b565b6110c0565b6040516106f99190612d5d565b60405180910390f35b61071c60048036038101906107179190612f5c565b6110d4565b6040516107299190612d5d565b60405180910390f35b61074c60048036038101906107479190612f5c565b6110f0565b6040516107599190612d5d565b60405180910390f35b61077c600480360381019061077791906130d0565b611102565b6040516107899190612d5d565b60405180910390f35b6107ac60048036038101906107a79190612e5b565b611189565b6040516107b99190612d5d565b60405180910390f35b6107dc60048036038101906107d79190612f5c565b61119d565b005b6000606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161083b9190613022565b602060405180830381865afa158015610858573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087c9190613125565b905090565b60606036805461089090613181565b80601f01602080910402602001604051908101604052809291908181526020018280546108bc90613181565b80156109095780601f106108de57610100808354040283529160200191610909565b820191906000526020600020905b8154815290600101906020018083116108ec57829003601f168201915b5050505050905090565b6000610920826000611220565b9050919050565b6000610931611326565b61093b8383611370565b905092915050565b6000610950826001611393565b9050919050565b61095f611499565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036109ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c5906131fe565b60405180910390fd5b600060fb60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610a2b9190613022565b602060405180830381865afa158015610a48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6c9190613125565b905060008111610ab1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa89061326a565b60405180910390fd5b600060fb60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84846040518363ffffffff1660e01b8152600401610b1092919061328a565b6020604051808303816000875af1158015610b2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5391906132df565b905080610b95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8c90613358565b60405180910390fd5b505050565b6000603554905090565b6000610bae611326565b610bb9848484611517565b90509392505050565b60006006905090565b6000606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000610bff611326565b610c098383611546565b905092915050565b610c19611499565b610c2161157d565b565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9050919050565b6000610c5a826000611220565b9050919050565b6000609760009054906101000a900460ff16905090565b6000610c82611326565b610c8c83836115e0565b905092915050565b6000603360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610ce5611499565b610cef6000611657565b565b610cf9611499565b610d0161171d565b565b600060c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080610d3983610c94565b119050919050565b6000610d4b611326565b610d558383611780565b905092915050565b606060378054610d6c90613181565b80601f0160208091040260200160405190810160405280929190818152602001828054610d9890613181565b8015610de55780601f10610dba57610100808354040283529160200191610de5565b820191906000526020600020905b815481529060010190602001808311610dc857829003601f168201915b5050505050905090565b6000610df9611326565b610e0383836117f7565b905092915050565b6000610e15611326565b610e1f838361186e565b905092915050565b6000610e34826001611220565b9050919050565b6000610e45611326565b610e50848484611891565b90509392505050565b6000610e63611326565b610e6e84848461190a565b90509392505050565b6000610e8a610e8583610c94565b610913565b9050919050565b60008060019054906101000a900460ff16159050808015610ec25750600160008054906101000a900460ff1660ff16105b80610eef5750610ed130611983565b158015610eee5750600160008054906101000a900460ff1660ff16145b5b610f2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f25906133ea565b60405180910390fd5b60016000806101000a81548160ff021916908360ff1602179055508015610f6b576001600060016101000a81548160ff0219169083151502179055505b610fdf6040518060400160405280601781526020017f476f6c64656e206261636b656420555320446f6c6c61720000000000000000008152506040518060400160405280600481526020017f55534144000000000000000000000000000000000000000000000000000000008152506119a6565b610fe882611a03565b610ff0611a5e565b610ff8611ab7565b8160fb60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080156110925760008060016101000a81548160ff0219169083151502179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024986001604051611089919061344f565b60405180910390a15b5050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9050919050565b60006110cd826000611393565b9050919050565b60006110e96110e283610c94565b6000611220565b9050919050565b60006110fb82610c94565b9050919050565b6000603460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000611196826000611393565b9050919050565b6111a5611499565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611214576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120b906134dc565b60405180910390fd5b61121d81611657565b50565b60008060fb60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634b94f50e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611290573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b49190613125565b9050600081036112f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f090613548565b60405180910390fd5b61131d6c0c9f2c9cd04674edea40000000828587611b10909392919063ffffffff16565b91505092915050565b61132e610c61565b1561136e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611365906135b4565b60405180910390fd5b565b60008061137b611b86565b9050611388818585611b8e565b600191505092915050565b60008060fb60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634b94f50e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611403573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114279190613125565b90506000810361146c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146390613548565b60405180910390fd5b611490816c0c9f2c9cd04674edea400000008587611b10909392919063ffffffff16565b91505092915050565b6114a1611b86565b73ffffffffffffffffffffffffffffffffffffffff166114bf610d03565b73ffffffffffffffffffffffffffffffffffffffff1614611515576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150c90613620565b60405180910390fd5b565b600080611522611b86565b905061152f858285611d57565b61153a858585611de3565b60019150509392505050565b600080611551611b86565b90506115728185856115638589611102565b61156d919061366f565b611b8e565b600191505092915050565b61158561205c565b6000609760006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6115c9611b86565b6040516115d69190613022565b60405180910390a1565b60006115eb82610c23565b83111561162d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611624906136ef565b60405180910390fd5b600061163884611189565b905061164d611645611b86565b8486846120a5565b8091505092915050565b600060c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160c960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b611725611326565b6001609760006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611769611b86565b6040516117769190613022565b60405180910390a1565b600061178b82611096565b8311156117cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c49061375b565b60405180910390fd5b60006117d884610e27565b90506117ed6117e5611b86565b8483876120a5565b8091505092915050565b600080611802611b86565b905060006118108286611102565b905083811015611855576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184c906137ed565b60405180910390fd5b6118628286868403611b8e565b60019250505092915050565b600080611879611b86565b9050611886818585611de3565b600191505092915050565b600061189c826110d4565b8411156118de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d590613859565b60405180910390fd5b60006118e985610943565b90506118ff6118f6611b86565b8585888561214a565b809150509392505050565b6000611915826110f0565b841115611957576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194e906138c5565b60405180910390fd5b600061196285610c4d565b905061197861196f611b86565b8585848961214a565b809150509392505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600060019054906101000a900460ff166119f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ec90613957565b60405180910390fd5b6119ff8282612245565b5050565b600060019054906101000a900460ff16611a52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4990613957565b60405180910390fd5b611a5b816122b8565b50565b600060019054906101000a900460ff16611aad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa490613957565b60405180910390fd5b611ab5612385565b565b600060019054906101000a900460ff16611b06576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611afd90613957565b60405180910390fd5b611b0e6123f1565b565b600080611b1e868686612452565b905060016002811115611b3457611b33613977565b5b836002811115611b4757611b46613977565b5b148015611b65575060008480611b6057611b5f6139a6565b5b868809115b15611b7a57600181611b77919061366f565b90505b80915050949350505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611bfd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bf490613a47565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611c6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6390613ad9565b60405180910390fd5b80603460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611d4a9190612d5d565b60405180910390a3505050565b6000611d638484611102565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611ddd5781811015611dcf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dc690613b45565b60405180910390fd5b611ddc8484848403611b8e565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4990613bd7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611ec1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb890613c69565b60405180910390fd5b611ecc838383612563565b6000603360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611f53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f4a90613cfb565b60405180910390fd5b818103603360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081603360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516120439190612d5d565b60405180910390a3612056848484612568565b50505050565b612064610c61565b6120a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161209a90613d67565b60405180910390fd5b565b6120d3606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685308561256d565b6120dd83826125f6565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d7848460405161213c929190613d87565b60405180910390a350505050565b8273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161461218957612188838683611d57565b5b612193838261274d565b6121c0606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16858461291c565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167ffbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db8585604051612236929190613d87565b60405180910390a45050505050565b600060019054906101000a900460ff16612294576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161228b90613957565b60405180910390fd5b81603690816122a39190613f81565b5080603790816122b39190613f81565b505050565b600060019054906101000a900460ff16612307576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122fe90613957565b60405180910390fd5b600080612313836129a2565b9150915081612323576012612325565b805b606560146101000a81548160ff021916908360ff16021790555082606560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b600060019054906101000a900460ff166123d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123cb90613957565b60405180910390fd5b6000609760006101000a81548160ff021916908315150217905550565b600060019054906101000a900460ff16612440576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161243790613957565b60405180910390fd5b61245061244b611b86565b611657565b565b600080600080198587098587029250828110838203039150506000810361248d57838281612483576124826139a6565b5b049250505061255c565b8084116124cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124c69061409f565b60405180910390fd5b60008486880990508281118203915080830392506000600186190186169050808604955080840493506001818260000304019050808302841793506000600287600302189050808702600203810290508087026002038102905080870260020381029050808702600203810290508087026002038102905080870260020381029050808502955050505050505b9392505050565b505050565b505050565b6125f0846323b872dd60e01b85858560405160240161258e939291906140bf565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050612ad2565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612665576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161265c90614142565b60405180910390fd5b61267160008383612563565b8060356000828254612683919061366f565b9250508190555080603360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516127359190612d5d565b60405180910390a361274960008383612568565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036127bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127b3906141d4565b60405180910390fd5b6127c882600083612563565b6000603360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561284f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161284690614266565b60405180910390fd5b818103603360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081603560008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516129039190612d5d565b60405180910390a361291783600084612568565b505050565b61299d8363a9059cbb60e01b848460405160240161293b92919061328a565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050612ad2565b505050565b6000806000808473ffffffffffffffffffffffffffffffffffffffff1663313ce56760e01b604051602401604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051612a3791906142cd565b600060405180830381855afa9150503d8060008114612a72576040519150601f19603f3d011682016040523d82523d6000602084013e612a77565b606091505b5091509150818015612a8b57506020815110155b15612ac357600081806020019051810190612aa69190613125565b905060ff80168111612ac15760018194509450505050612acd565b505b6000809350935050505b915091565b6000612b34826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16612b9a9092919063ffffffff16565b9050600081511480612b56575080806020019051810190612b5591906132df565b5b612b95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b8c90614356565b60405180910390fd5b505050565b6060612ba98484600085612bb2565b90509392505050565b606082471015612bf7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bee906143e8565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051612c2091906142cd565b60006040518083038185875af1925050503d8060008114612c5d576040519150601f19603f3d011682016040523d82523d6000602084013e612c62565b606091505b5091509150612c7387838387612c7f565b92505050949350505050565b60608315612ce1576000835103612cd957612c9985611983565b612cd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ccf90614454565b60405180910390fd5b5b829050612cec565b612ceb8383612cf4565b5b949350505050565b600082511115612d075781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d3b9190612e08565b60405180910390fd5b6000819050919050565b612d5781612d44565b82525050565b6000602082019050612d726000830184612d4e565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612db2578082015181840152602081019050612d97565b60008484015250505050565b6000601f19601f8301169050919050565b6000612dda82612d78565b612de48185612d83565b9350612df4818560208601612d94565b612dfd81612dbe565b840191505092915050565b60006020820190508181036000830152612e228184612dcf565b905092915050565b600080fd5b612e3881612d44565b8114612e4357600080fd5b50565b600081359050612e5581612e2f565b92915050565b600060208284031215612e7157612e70612e2a565b5b6000612e7f84828501612e46565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612eb382612e88565b9050919050565b612ec381612ea8565b8114612ece57600080fd5b50565b600081359050612ee081612eba565b92915050565b60008060408385031215612efd57612efc612e2a565b5b6000612f0b85828601612ed1565b9250506020612f1c85828601612e46565b9150509250929050565b60008115159050919050565b612f3b81612f26565b82525050565b6000602082019050612f566000830184612f32565b92915050565b600060208284031215612f7257612f71612e2a565b5b6000612f8084828501612ed1565b91505092915050565b600080600060608486031215612fa257612fa1612e2a565b5b6000612fb086828701612ed1565b9350506020612fc186828701612ed1565b9250506040612fd286828701612e46565b9150509250925092565b600060ff82169050919050565b612ff281612fdc565b82525050565b600060208201905061300d6000830184612fe9565b92915050565b61301c81612ea8565b82525050565b60006020820190506130376000830184613013565b92915050565b6000806040838503121561305457613053612e2a565b5b600061306285828601612e46565b925050602061307385828601612ed1565b9150509250929050565b60008060006060848603121561309657613095612e2a565b5b60006130a486828701612e46565b93505060206130b586828701612ed1565b92505060406130c686828701612ed1565b9150509250925092565b600080604083850312156130e7576130e6612e2a565b5b60006130f585828601612ed1565b925050602061310685828601612ed1565b9150509250929050565b60008151905061311f81612e2f565b92915050565b60006020828403121561313b5761313a612e2a565b5b600061314984828501613110565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061319957607f821691505b6020821081036131ac576131ab613152565b5b50919050565b7f496e76616c696420726563697069656e74000000000000000000000000000000600082015250565b60006131e8601183612d83565b91506131f3826131b2565b602082019050919050565b60006020820190508181036000830152613217816131db565b9050919050565b7f4e6f2061737365747320746f2077697468647261770000000000000000000000600082015250565b6000613254601583612d83565b915061325f8261321e565b602082019050919050565b6000602082019050818103600083015261328381613247565b9050919050565b600060408201905061329f6000830185613013565b6132ac6020830184612d4e565b9392505050565b6132bc81612f26565b81146132c757600080fd5b50565b6000815190506132d9816132b3565b92915050565b6000602082840312156132f5576132f4612e2a565b5b6000613303848285016132ca565b91505092915050565b7f5472616e73666572206661696c65640000000000000000000000000000000000600082015250565b6000613342600f83612d83565b915061334d8261330c565b602082019050919050565b6000602082019050818103600083015261337181613335565b9050919050565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b60006133d4602e83612d83565b91506133df82613378565b604082019050919050565b60006020820190508181036000830152613403816133c7565b9050919050565b6000819050919050565b6000819050919050565b600061343961343461342f8461340a565b613414565b612fdc565b9050919050565b6134498161341e565b82525050565b60006020820190506134646000830184613440565b92915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006134c6602683612d83565b91506134d18261346a565b604082019050919050565b600060208201905081810360008301526134f5816134b9565b9050919050565b7f496e76616c696420617373657420707269636500000000000000000000000000600082015250565b6000613532601383612d83565b915061353d826134fc565b602082019050919050565b6000602082019050818103600083015261356181613525565b9050919050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b600061359e601083612d83565b91506135a982613568565b602082019050919050565b600060208201905081810360008301526135cd81613591565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061360a602083612d83565b9150613615826135d4565b602082019050919050565b60006020820190508181036000830152613639816135fd565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061367a82612d44565b915061368583612d44565b925082820190508082111561369d5761369c613640565b5b92915050565b7f455243343632363a206465706f736974206d6f7265207468616e206d61780000600082015250565b60006136d9601e83612d83565b91506136e4826136a3565b602082019050919050565b60006020820190508181036000830152613708816136cc565b9050919050565b7f455243343632363a206d696e74206d6f7265207468616e206d61780000000000600082015250565b6000613745601b83612d83565b91506137508261370f565b602082019050919050565b6000602082019050818103600083015261377481613738565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006137d7602583612d83565b91506137e28261377b565b604082019050919050565b60006020820190508181036000830152613806816137ca565b9050919050565b7f455243343632363a207769746864726177206d6f7265207468616e206d617800600082015250565b6000613843601f83612d83565b915061384e8261380d565b602082019050919050565b6000602082019050818103600083015261387281613836565b9050919050565b7f455243343632363a2072656465656d206d6f7265207468616e206d6178000000600082015250565b60006138af601d83612d83565b91506138ba82613879565b602082019050919050565b600060208201905081810360008301526138de816138a2565b9050919050565b7f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960008201527f6e697469616c697a696e67000000000000000000000000000000000000000000602082015250565b6000613941602b83612d83565b915061394c826138e5565b604082019050919050565b6000602082019050818103600083015261397081613934565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613a31602483612d83565b9150613a3c826139d5565b604082019050919050565b60006020820190508181036000830152613a6081613a24565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613ac3602283612d83565b9150613ace82613a67565b604082019050919050565b60006020820190508181036000830152613af281613ab6565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000613b2f601d83612d83565b9150613b3a82613af9565b602082019050919050565b60006020820190508181036000830152613b5e81613b22565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613bc1602583612d83565b9150613bcc82613b65565b604082019050919050565b60006020820190508181036000830152613bf081613bb4565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613c53602383612d83565b9150613c5e82613bf7565b604082019050919050565b60006020820190508181036000830152613c8281613c46565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000613ce5602683612d83565b9150613cf082613c89565b604082019050919050565b60006020820190508181036000830152613d1481613cd8565b9050919050565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b6000613d51601483612d83565b9150613d5c82613d1b565b602082019050919050565b60006020820190508181036000830152613d8081613d44565b9050919050565b6000604082019050613d9c6000830185612d4e565b613da96020830184612d4e565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302613e417fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82613e04565b613e4b8683613e04565b95508019841693508086168417925050509392505050565b6000613e7e613e79613e7484612d44565b613414565b612d44565b9050919050565b6000819050919050565b613e9883613e63565b613eac613ea482613e85565b848454613e11565b825550505050565b600090565b613ec1613eb4565b613ecc818484613e8f565b505050565b5b81811015613ef057613ee5600082613eb9565b600181019050613ed2565b5050565b601f821115613f3557613f0681613ddf565b613f0f84613df4565b81016020851015613f1e578190505b613f32613f2a85613df4565b830182613ed1565b50505b505050565b600082821c905092915050565b6000613f5860001984600802613f3a565b1980831691505092915050565b6000613f718383613f47565b9150826002028217905092915050565b613f8a82612d78565b67ffffffffffffffff811115613fa357613fa2613db0565b5b613fad8254613181565b613fb8828285613ef4565b600060209050601f831160018114613feb5760008415613fd9578287015190505b613fe38582613f65565b86555061404b565b601f198416613ff986613ddf565b60005b8281101561402157848901518255600182019150602085019450602081019050613ffc565b8683101561403e578489015161403a601f891682613f47565b8355505b6001600288020188555050505b505050505050565b7f4d6174683a206d756c446976206f766572666c6f770000000000000000000000600082015250565b6000614089601583612d83565b915061409482614053565b602082019050919050565b600060208201905081810360008301526140b88161407c565b9050919050565b60006060820190506140d46000830186613013565b6140e16020830185613013565b6140ee6040830184612d4e565b949350505050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600061412c601f83612d83565b9150614137826140f6565b602082019050919050565b6000602082019050818103600083015261415b8161411f565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006141be602183612d83565b91506141c982614162565b604082019050919050565b600060208201905081810360008301526141ed816141b1565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000614250602283612d83565b915061425b826141f4565b604082019050919050565b6000602082019050818103600083015261427f81614243565b9050919050565b600081519050919050565b600081905092915050565b60006142a782614286565b6142b18185614291565b93506142c1818560208601612d94565b80840191505092915050565b60006142d9828461429c565b915081905092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000614340602a83612d83565b915061434b826142e4565b604082019050919050565b6000602082019050818103600083015261436f81614333565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b60006143d2602683612d83565b91506143dd82614376565b604082019050919050565b60006020820190508181036000830152614401816143c5565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b600061443e601d83612d83565b915061444982614408565b602082019050919050565b6000602082019050818103600083015261446d81614431565b905091905056fea26469706673582212207f865d7fe8c4c2873cce3cefcb44a9cf12eb8a558a6acabd263ea880bcb2c1fb64736f6c63430008140033