0 txs
25 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
viewfunction decimals() view returns (uint8)
getPricePerShare
viewfunction getPricePerShare() view returns (uint256)
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)
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
0x60806040523480156200001157600080fd5b50620000226200002860201b60201c565b620001d2565b600060019054906101000a900460ff16156200007b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000729062000175565b60405180910390fd5b60ff801660008054906101000a900460ff1660ff1614620000ec5760ff6000806101000a81548160ff021916908360ff1602179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249860ff604051620000e39190620001b5565b60405180910390a15b565b600082825260208201905092915050565b7f496e697469616c697a61626c653a20636f6e747261637420697320696e69746960008201527f616c697a696e6700000000000000000000000000000000000000000000000000602082015250565b60006200015d602783620000ee565b91506200016a82620000ff565b604082019050919050565b6000602082019050818103600083015262000190816200014e565b9050919050565b600060ff82169050919050565b620001af8162000197565b82525050565b6000602082019050620001cc6000830184620001a4565b92915050565b61436880620001e26000396000f3fe608060405234801561001057600080fd5b50600436106102275760003560e01c80638456cb5911610130578063ba087652116100b8578063ce96cb771161007c578063ce96cb7714610704578063d905777e14610734578063dd62ed3e14610764578063ef8b30f714610794578063f2fde38b146107c457610227565b8063ba08765214610628578063c1d8994114610658578063c4d66de814610688578063c63d75b6146106a4578063c6e6f592146106d457610227565b806395d89b41116100ff57806395d89b411461054a578063a457c2d714610568578063a9059cbb14610598578063b3d7f6b9146105c8578063b460af94146105f857610227565b80638456cb59146104c25780638da5cb5b146104cc578063944e6c96146104ea57806394bf804d1461051a57610227565b806339509351116101b35780634cdad506116101825780634cdad5061461040a5780635c975abb1461043a5780636e553f651461045857806370a0823114610488578063715018a6146104b857610227565b806339509351146103825780633d68175c146103b25780633f4ba83a146103d0578063402d267d146103da57610227565b80630a28a477116101fa5780630a28a477146102c857806318160ddd146102f857806323b872dd14610316578063313ce5671461034657806338d52e0f1461036457610227565b806301e1d1141461022c57806306fdde031461024a57806307a2d13a14610268578063095ea7b314610298575b600080fd5b6102346107e0565b6040516102419190612bac565b60405180910390f35b610252610883565b60405161025f9190612c57565b60405180910390f35b610282600480360381019061027d9190612caa565b610915565b60405161028f9190612bac565b60405180910390f35b6102b260048036038101906102ad9190612d35565b610929565b6040516102bf9190612d90565b60405180910390f35b6102e260048036038101906102dd9190612caa565b610945565b6040516102ef9190612bac565b60405180910390f35b610300610959565b60405161030d9190612bac565b60405180910390f35b610330600480360381019061032b9190612dab565b610963565b60405161033d9190612d90565b60405180910390f35b61034e610981565b60405161035b9190612e1a565b60405180910390f35b61036c6109aa565b6040516103799190612e44565b60405180910390f35b61039c60048036038101906103979190612d35565b6109d4565b6040516103a99190612d90565b60405180910390f35b6103ba6109f0565b6040516103c79190612bac565b60405180910390f35b6103d8610af5565b005b6103f460048036038101906103ef9190612e5f565b610b07565b6040516104019190612bac565b60405180910390f35b610424600480360381019061041f9190612caa565b610b31565b6040516104319190612bac565b60405180910390f35b610442610b45565b60405161044f9190612d90565b60405180910390f35b610472600480360381019061046d9190612e8c565b610b5c565b60405161047f9190612bac565b60405180910390f35b6104a2600480360381019061049d9190612e5f565b610b78565b6040516104af9190612bac565b60405180910390f35b6104c0610bc1565b005b6104ca610bd5565b005b6104d4610be7565b6040516104e19190612e44565b60405180910390f35b61050460048036038101906104ff9190612e5f565b610c11565b6040516105119190612d90565b60405180910390f35b610534600480360381019061052f9190612e8c565b610c25565b6040516105419190612bac565b60405180910390f35b610552610c41565b60405161055f9190612c57565b60405180910390f35b610582600480360381019061057d9190612d35565b610cd3565b60405161058f9190612d90565b60405180910390f35b6105b260048036038101906105ad9190612d35565b610cef565b6040516105bf9190612d90565b60405180910390f35b6105e260048036038101906105dd9190612caa565b610d0b565b6040516105ef9190612bac565b60405180910390f35b610612600480360381019061060d9190612ecc565b610d1f565b60405161061f9190612bac565b60405180910390f35b610642600480360381019061063d9190612ecc565b610d3d565b60405161064f9190612bac565b60405180910390f35b610672600480360381019061066d9190612e5f565b610d5b565b60405161067f9190612bac565b60405180910390f35b6106a2600480360381019061069d9190612e5f565b610d75565b005b6106be60048036038101906106b99190612e5f565b610f7a565b6040516106cb9190612bac565b60405180910390f35b6106ee60048036038101906106e99190612caa565b610fa4565b6040516106fb9190612bac565b60405180910390f35b61071e60048036038101906107199190612e5f565b610fb8565b60405161072b9190612bac565b60405180910390f35b61074e60048036038101906107499190612e5f565b610fd4565b60405161075b9190612bac565b60405180910390f35b61077e60048036038101906107799190612f1f565b610fe6565b60405161078b9190612bac565b60405180910390f35b6107ae60048036038101906107a99190612caa565b61106d565b6040516107bb9190612bac565b60405180910390f35b6107de60048036038101906107d99190612e5f565b611081565b005b6000606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161083d9190612e44565b602060405180830381865afa15801561085a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087e9190612f74565b905090565b60606036805461089290612fd0565b80601f01602080910402602001604051908101604052809291908181526020018280546108be90612fd0565b801561090b5780601f106108e05761010080835404028352916020019161090b565b820191906000526020600020905b8154815290600101906020018083116108ee57829003601f168201915b5050505050905090565b6000610922826000611104565b9050919050565b60006109336111bd565b61093d8383611207565b905092915050565b600061095282600161122a565b9050919050565b6000603554905090565b600061096d6111bd565b6109788484846112e3565b90509392505050565b600061098b611312565b606560149054906101000a900460ff166109a59190613030565b905090565b6000606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006109de6111bd565b6109e88383611317565b905092915050565b60008060fb60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634b94f50e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a849190612f74565b905060008103610ac9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac0906130b1565b60405180910390fd5b610aef610ad4610981565b600a610ae09190613204565b670de0b6b3a76400008361134e565b91505090565b610afd61145f565b610b056114dd565b565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9050919050565b6000610b3e826000611104565b9050919050565b6000609760009054906101000a900460ff16905090565b6000610b666111bd565b610b708383611540565b905092915050565b6000603360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610bc961145f565b610bd360006115b7565b565b610bdd61145f565b610be561167d565b565b600060c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080610c1d83610b78565b119050919050565b6000610c2f6111bd565b610c3983836116e0565b905092915050565b606060378054610c5090612fd0565b80601f0160208091040260200160405190810160405280929190818152602001828054610c7c90612fd0565b8015610cc95780601f10610c9e57610100808354040283529160200191610cc9565b820191906000526020600020905b815481529060010190602001808311610cac57829003601f168201915b5050505050905090565b6000610cdd6111bd565b610ce78383611757565b905092915050565b6000610cf96111bd565b610d0383836117ce565b905092915050565b6000610d18826001611104565b9050919050565b6000610d296111bd565b610d348484846117f1565b90509392505050565b6000610d476111bd565b610d5284848461186a565b90509392505050565b6000610d6e610d6983610b78565b610915565b9050919050565b60008060019054906101000a900460ff16159050808015610da65750600160008054906101000a900460ff1660ff16105b80610dd35750610db5306118e3565b158015610dd25750600160008054906101000a900460ff1660ff16145b5b610e12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e09906132c1565b60405180910390fd5b60016000806101000a81548160ff021916908360ff1602179055508015610e4f576001600060016101000a81548160ff0219169083151502179055505b610ec36040518060400160405280601781526020017f476f6c64656e206261636b656420555320446f6c6c61720000000000000000008152506040518060400160405280600481526020017f5553414400000000000000000000000000000000000000000000000000000000815250611906565b610ecc82611963565b610ed46119be565b610edc611a17565b8160fb60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508015610f765760008060016101000a81548160ff0219169083151502179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024986001604051610f6d9190613326565b60405180910390a15b5050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9050919050565b6000610fb182600061122a565b9050919050565b6000610fcd610fc683610b78565b6000611104565b9050919050565b6000610fdf82610b78565b9050919050565b6000603460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600061107a82600061122a565b9050919050565b61108961145f565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036110f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ef906133b3565b60405180910390fd5b611101816115b7565b50565b60006111b5670de0b6b3a764000060fb60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634b94f50e6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561117f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111a39190612f74565b8486611a70909392919063ffffffff16565b905092915050565b6111c5610b45565b15611205576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111fc9061341f565b60405180910390fd5b565b600080611212611ae6565b905061121f818585611aee565b600191505092915050565b60006112db60fb60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634b94f50e6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561129c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112c09190612f74565b670de0b6b3a76400008486611a70909392919063ffffffff16565b905092915050565b6000806112ee611ae6565b90506112fb858285611cb7565b611306858585611d43565b60019150509392505050565b600090565b600080611322611ae6565b90506113438185856113348589610fe6565b61133e919061343f565b611aee565b600191505092915050565b60008060008019858709858702925082811083820303915050600081036113895783828161137f5761137e613473565b5b0492505050611458565b8084116113cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c2906134ee565b60405180910390fd5b60008486880990508281118203915080830392506000600186190186169050808604955080840493506001818260000304019050808302841793506000600287600302189050808702600203810290508087026002038102905080870260020381029050808702600203810290508087026002038102905080870260020381029050808502955050505050505b9392505050565b611467611ae6565b73ffffffffffffffffffffffffffffffffffffffff16611485610be7565b73ffffffffffffffffffffffffffffffffffffffff16146114db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d29061355a565b60405180910390fd5b565b6114e5611fbc565b6000609760006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa611529611ae6565b6040516115369190612e44565b60405180910390a1565b600061154b82610b07565b83111561158d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611584906135c6565b60405180910390fd5b60006115988461106d565b90506115ad6115a5611ae6565b848684612005565b8091505092915050565b600060c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160c960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6116856111bd565b6001609760006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586116c9611ae6565b6040516116d69190612e44565b60405180910390a1565b60006116eb82610f7a565b83111561172d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172490613632565b60405180910390fd5b600061173884610d0b565b905061174d611745611ae6565b848387612005565b8091505092915050565b600080611762611ae6565b905060006117708286610fe6565b9050838110156117b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ac906136c4565b60405180910390fd5b6117c28286868403611aee565b60019250505092915050565b6000806117d9611ae6565b90506117e6818585611d43565b600191505092915050565b60006117fc82610fb8565b84111561183e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183590613730565b60405180910390fd5b600061184985610945565b905061185f611856611ae6565b858588856120aa565b809150509392505050565b600061187582610fd4565b8411156118b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ae9061379c565b60405180910390fd5b60006118c285610b31565b90506118d86118cf611ae6565b858584896120aa565b809150509392505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600060019054906101000a900460ff16611955576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194c9061382e565b60405180910390fd5b61195f82826121a5565b5050565b600060019054906101000a900460ff166119b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119a99061382e565b60405180910390fd5b6119bb81612218565b50565b600060019054906101000a900460ff16611a0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a049061382e565b60405180910390fd5b611a156122e5565b565b600060019054906101000a900460ff16611a66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5d9061382e565b60405180910390fd5b611a6e612351565b565b600080611a7e86868661134e565b905060016002811115611a9457611a9361384e565b5b836002811115611aa757611aa661384e565b5b148015611ac5575060008480611ac057611abf613473565b5b868809115b15611ada57600181611ad7919061343f565b90505b80915050949350505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611b5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b54906138ef565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611bcc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bc390613981565b60405180910390fd5b80603460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611caa9190612bac565b60405180910390a3505050565b6000611cc38484610fe6565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611d3d5781811015611d2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d26906139ed565b60405180910390fd5b611d3c8484848403611aee565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611db2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611da990613a7f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611e21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1890613b11565b60405180910390fd5b611e2c8383836123b2565b6000603360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611eb3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eaa90613ba3565b60405180910390fd5b818103603360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081603360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611fa39190612bac565b60405180910390a3611fb68484846123b7565b50505050565b611fc4610b45565b612003576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ffa90613c0f565b60405180910390fd5b565b612033606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168530856123bc565b61203d8382612445565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d7848460405161209c929190613c2f565b60405180910390a350505050565b8273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16146120e9576120e8838683611cb7565b5b6120f3838261259c565b612120606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16858461276b565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167ffbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db8585604051612196929190613c2f565b60405180910390a45050505050565b600060019054906101000a900460ff166121f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121eb9061382e565b60405180910390fd5b81603690816122039190613e29565b5080603790816122139190613e29565b505050565b600060019054906101000a900460ff16612267576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161225e9061382e565b60405180910390fd5b600080612273836127f1565b9150915081612283576012612285565b805b606560146101000a81548160ff021916908360ff16021790555082606560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b600060019054906101000a900460ff16612334576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161232b9061382e565b60405180910390fd5b6000609760006101000a81548160ff021916908315150217905550565b600060019054906101000a900460ff166123a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123979061382e565b60405180910390fd5b6123b06123ab611ae6565b6115b7565b565b505050565b505050565b61243f846323b872dd60e01b8585856040516024016123dd93929190613efb565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050612921565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036124b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124ab90613f7e565b60405180910390fd5b6124c0600083836123b2565b80603560008282546124d2919061343f565b9250508190555080603360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516125849190612bac565b60405180910390a3612598600083836123b7565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361260b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161260290614010565b60405180910390fd5b612617826000836123b2565b6000603360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561269e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612695906140a2565b60405180910390fd5b818103603360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081603560008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516127529190612bac565b60405180910390a3612766836000846123b7565b505050565b6127ec8363a9059cbb60e01b848460405160240161278a9291906140c2565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050612921565b505050565b6000806000808473ffffffffffffffffffffffffffffffffffffffff1663313ce56760e01b604051602401604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516128869190614132565b600060405180830381855afa9150503d80600081146128c1576040519150601f19603f3d011682016040523d82523d6000602084013e6128c6565b606091505b50915091508180156128da57506020815110155b15612912576000818060200190518101906128f59190612f74565b905060ff80168111612910576001819450945050505061291c565b505b6000809350935050505b915091565b6000612983826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166129e99092919063ffffffff16565b90506000815114806129a55750808060200190518101906129a49190614175565b5b6129e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129db90614214565b60405180910390fd5b505050565b60606129f88484600085612a01565b90509392505050565b606082471015612a46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a3d906142a6565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051612a6f9190614132565b60006040518083038185875af1925050503d8060008114612aac576040519150601f19603f3d011682016040523d82523d6000602084013e612ab1565b606091505b5091509150612ac287838387612ace565b92505050949350505050565b60608315612b30576000835103612b2857612ae8856118e3565b612b27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b1e90614312565b60405180910390fd5b5b829050612b3b565b612b3a8383612b43565b5b949350505050565b600082511115612b565781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b8a9190612c57565b60405180910390fd5b6000819050919050565b612ba681612b93565b82525050565b6000602082019050612bc16000830184612b9d565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612c01578082015181840152602081019050612be6565b60008484015250505050565b6000601f19601f8301169050919050565b6000612c2982612bc7565b612c338185612bd2565b9350612c43818560208601612be3565b612c4c81612c0d565b840191505092915050565b60006020820190508181036000830152612c718184612c1e565b905092915050565b600080fd5b612c8781612b93565b8114612c9257600080fd5b50565b600081359050612ca481612c7e565b92915050565b600060208284031215612cc057612cbf612c79565b5b6000612cce84828501612c95565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612d0282612cd7565b9050919050565b612d1281612cf7565b8114612d1d57600080fd5b50565b600081359050612d2f81612d09565b92915050565b60008060408385031215612d4c57612d4b612c79565b5b6000612d5a85828601612d20565b9250506020612d6b85828601612c95565b9150509250929050565b60008115159050919050565b612d8a81612d75565b82525050565b6000602082019050612da56000830184612d81565b92915050565b600080600060608486031215612dc457612dc3612c79565b5b6000612dd286828701612d20565b9350506020612de386828701612d20565b9250506040612df486828701612c95565b9150509250925092565b600060ff82169050919050565b612e1481612dfe565b82525050565b6000602082019050612e2f6000830184612e0b565b92915050565b612e3e81612cf7565b82525050565b6000602082019050612e596000830184612e35565b92915050565b600060208284031215612e7557612e74612c79565b5b6000612e8384828501612d20565b91505092915050565b60008060408385031215612ea357612ea2612c79565b5b6000612eb185828601612c95565b9250506020612ec285828601612d20565b9150509250929050565b600080600060608486031215612ee557612ee4612c79565b5b6000612ef386828701612c95565b9350506020612f0486828701612d20565b9250506040612f1586828701612d20565b9150509250925092565b60008060408385031215612f3657612f35612c79565b5b6000612f4485828601612d20565b9250506020612f5585828601612d20565b9150509250929050565b600081519050612f6e81612c7e565b92915050565b600060208284031215612f8a57612f89612c79565b5b6000612f9884828501612f5f565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612fe857607f821691505b602082108103612ffb57612ffa612fa1565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061303b82612dfe565b915061304683612dfe565b9250828201905060ff81111561305f5761305e613001565b5b92915050565b7f496e76616c696420475841472070726963650000000000000000000000000000600082015250565b600061309b601283612bd2565b91506130a682613065565b602082019050919050565b600060208201905081810360008301526130ca8161308e565b9050919050565b60008160011c9050919050565b6000808291508390505b60018511156131285780860481111561310457613103613001565b5b60018516156131135780820291505b8081029050613121856130d1565b94506130e8565b94509492505050565b60008261314157600190506131fd565b8161314f57600090506131fd565b8160018114613165576002811461316f5761319e565b60019150506131fd565b60ff84111561318157613180613001565b5b8360020a91508482111561319857613197613001565b5b506131fd565b5060208310610133831016604e8410600b84101617156131d35782820a9050838111156131ce576131cd613001565b5b6131fd565b6131e084848460016130de565b925090508184048111156131f7576131f6613001565b5b81810290505b9392505050565b600061320f82612b93565b915061321a83612dfe565b92506132477fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613131565b905092915050565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b60006132ab602e83612bd2565b91506132b68261324f565b604082019050919050565b600060208201905081810360008301526132da8161329e565b9050919050565b6000819050919050565b6000819050919050565b600061331061330b613306846132e1565b6132eb565b612dfe565b9050919050565b613320816132f5565b82525050565b600060208201905061333b6000830184613317565b92915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061339d602683612bd2565b91506133a882613341565b604082019050919050565b600060208201905081810360008301526133cc81613390565b9050919050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b6000613409601083612bd2565b9150613414826133d3565b602082019050919050565b60006020820190508181036000830152613438816133fc565b9050919050565b600061344a82612b93565b915061345583612b93565b925082820190508082111561346d5761346c613001565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4d6174683a206d756c446976206f766572666c6f770000000000000000000000600082015250565b60006134d8601583612bd2565b91506134e3826134a2565b602082019050919050565b60006020820190508181036000830152613507816134cb565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613544602083612bd2565b915061354f8261350e565b602082019050919050565b6000602082019050818103600083015261357381613537565b9050919050565b7f455243343632363a206465706f736974206d6f7265207468616e206d61780000600082015250565b60006135b0601e83612bd2565b91506135bb8261357a565b602082019050919050565b600060208201905081810360008301526135df816135a3565b9050919050565b7f455243343632363a206d696e74206d6f7265207468616e206d61780000000000600082015250565b600061361c601b83612bd2565b9150613627826135e6565b602082019050919050565b6000602082019050818103600083015261364b8161360f565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006136ae602583612bd2565b91506136b982613652565b604082019050919050565b600060208201905081810360008301526136dd816136a1565b9050919050565b7f455243343632363a207769746864726177206d6f7265207468616e206d617800600082015250565b600061371a601f83612bd2565b9150613725826136e4565b602082019050919050565b600060208201905081810360008301526137498161370d565b9050919050565b7f455243343632363a2072656465656d206d6f7265207468616e206d6178000000600082015250565b6000613786601d83612bd2565b915061379182613750565b602082019050919050565b600060208201905081810360008301526137b581613779565b9050919050565b7f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960008201527f6e697469616c697a696e67000000000000000000000000000000000000000000602082015250565b6000613818602b83612bd2565b9150613823826137bc565b604082019050919050565b600060208201905081810360008301526138478161380b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006138d9602483612bd2565b91506138e48261387d565b604082019050919050565b60006020820190508181036000830152613908816138cc565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061396b602283612bd2565b91506139768261390f565b604082019050919050565b6000602082019050818103600083015261399a8161395e565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b60006139d7601d83612bd2565b91506139e2826139a1565b602082019050919050565b60006020820190508181036000830152613a06816139ca565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613a69602583612bd2565b9150613a7482613a0d565b604082019050919050565b60006020820190508181036000830152613a9881613a5c565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613afb602383612bd2565b9150613b0682613a9f565b604082019050919050565b60006020820190508181036000830152613b2a81613aee565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000613b8d602683612bd2565b9150613b9882613b31565b604082019050919050565b60006020820190508181036000830152613bbc81613b80565b9050919050565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b6000613bf9601483612bd2565b9150613c0482613bc3565b602082019050919050565b60006020820190508181036000830152613c2881613bec565b9050919050565b6000604082019050613c446000830185612b9d565b613c516020830184612b9d565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302613ce97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82613cac565b613cf38683613cac565b95508019841693508086168417925050509392505050565b6000613d26613d21613d1c84612b93565b6132eb565b612b93565b9050919050565b6000819050919050565b613d4083613d0b565b613d54613d4c82613d2d565b848454613cb9565b825550505050565b600090565b613d69613d5c565b613d74818484613d37565b505050565b5b81811015613d9857613d8d600082613d61565b600181019050613d7a565b5050565b601f821115613ddd57613dae81613c87565b613db784613c9c565b81016020851015613dc6578190505b613dda613dd285613c9c565b830182613d79565b50505b505050565b600082821c905092915050565b6000613e0060001984600802613de2565b1980831691505092915050565b6000613e198383613def565b9150826002028217905092915050565b613e3282612bc7565b67ffffffffffffffff811115613e4b57613e4a613c58565b5b613e558254612fd0565b613e60828285613d9c565b600060209050601f831160018114613e935760008415613e81578287015190505b613e8b8582613e0d565b865550613ef3565b601f198416613ea186613c87565b60005b82811015613ec957848901518255600182019150602085019450602081019050613ea4565b86831015613ee65784890151613ee2601f891682613def565b8355505b6001600288020188555050505b505050505050565b6000606082019050613f106000830186612e35565b613f1d6020830185612e35565b613f2a6040830184612b9d565b949350505050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000613f68601f83612bd2565b9150613f7382613f32565b602082019050919050565b60006020820190508181036000830152613f9781613f5b565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000613ffa602183612bd2565b915061400582613f9e565b604082019050919050565b6000602082019050818103600083015261402981613fed565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b600061408c602283612bd2565b915061409782614030565b604082019050919050565b600060208201905081810360008301526140bb8161407f565b9050919050565b60006040820190506140d76000830185612e35565b6140e46020830184612b9d565b9392505050565b600081519050919050565b600081905092915050565b600061410c826140eb565b61411681856140f6565b9350614126818560208601612be3565b80840191505092915050565b600061413e8284614101565b915081905092915050565b61415281612d75565b811461415d57600080fd5b50565b60008151905061416f81614149565b92915050565b60006020828403121561418b5761418a612c79565b5b600061419984828501614160565b91505092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b60006141fe602a83612bd2565b9150614209826141a2565b604082019050919050565b6000602082019050818103600083015261422d816141f1565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b6000614290602683612bd2565b915061429b82614234565b604082019050919050565b600060208201905081810360008301526142bf81614283565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b60006142fc601d83612bd2565b9150614307826142c6565b602082019050919050565b6000602082019050818103600083015261432b816142ef565b905091905056fea26469706673582212207d71b50e1a77b788c4976dd6c46f68090ed68a23cb93cc0450d632401e0d5a8264736f6c63430008140033