0 txs
0 calls
constructor
constructor()
functions
accruedRewards
viewfunction accruedRewards(address) view returns (uint256[] rewardAmounts)
allowance
viewfunction allowance(address owner, address spender) view returns (uint256)
assetInfo
viewfunction assetInfo() view returns (uint8 assetType, address assetAddress, uint8 assetDecimals)
balanceOf
viewfunction balanceOf(address account) view returns (uint256)
BTC
viewfunction BTC() view returns (address)
decimals
viewfunction decimals() view returns (uint8)
DOMAIN_SEPARATOR
viewfunction DOMAIN_SEPARATOR() view returns (bytes32)
eip712Domain
viewfunction eip712Domain() view returns (bytes1 fields, string name, string version, uint256 chainId, address verifyingContract, bytes32 salt, uint256[] extensions)
exchangeRate
viewfunction exchangeRate() view returns (uint256)
getRewardTokens
viewfunction getRewardTokens() view returns (address[] rewardTokens)
getTokensIn
viewfunction getTokensIn() view returns (address[])
getTokensOut
viewfunction getTokensOut() view returns (address[])
isValidTokenIn
viewfunction isValidTokenIn(address token) view returns (bool)
isValidTokenOut
viewfunction isValidTokenOut(address token) view returns (bool)
MAIN_POOL_ID
viewfunction MAIN_POOL_ID() view returns (bytes32)
name
viewfunction name() view returns (string)
NAV_ORACLE
viewfunction NAV_ORACLE() view returns (address)
nonces
viewfunction nonces(address owner) view returns (uint256)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
pendingOwner
viewfunction pendingOwner() view returns (address)
previewDeposit
viewfunction previewDeposit(address tokenIn, uint256 amountTokenToDeposit) view returns (uint256 amountSharesOut)
previewRedeem
viewfunction previewRedeem(address tokenOut, uint256 amountSharesToRedeem) view returns (uint256 amountTokenOut)
rewardIndexesStored
viewfunction rewardIndexesStored() view returns (uint256[] indexes)
SOLV_BNB_ROUTER_V2
viewfunction SOLV_BNB_ROUTER_V2() view returns (address)
SOLV_BTC_BNB
viewfunction SOLV_BTC_BNB() view returns (address)
SOLV_BTC
viewfunction SOLV_BTC() view returns (address)
SOLV_OPEN_FUND_MARKET
viewfunction SOLV_OPEN_FUND_MARKET() view returns (address)
solvRouterV2
viewfunction solvRouterV2() view returns (address)
symbol
viewfunction symbol() view returns (string)
totalSupply
viewfunction totalSupply() view returns (uint256)
yieldToken
viewfunction yieldToken() view returns (address)
approve
nonpayablefunction approve(address spender, uint256 amount) returns (bool)
claimOwnership
nonpayablefunction claimOwnership()
claimRewards
nonpayablefunction claimRewards(address) returns (uint256[] rewardAmounts)
deposit
payablefunction deposit(address receiver, address tokenIn, uint256 amountTokenToDeposit, uint256 minSharesOut) payable returns (uint256 amountSharesOut)
initialize
nonpayablefunction initialize()
pause
nonpayablefunction pause()
permit
nonpayablefunction permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s)
redeem
nonpayablefunction redeem(address receiver, uint256 amountSharesToRedeem, address tokenOut, uint256 minTokenOut, bool burnFromInternalBalance) returns (uint256 amountTokenOut)
rewardIndexesCurrent
nonpayablefunction rewardIndexesCurrent() returns (uint256[] indexes)
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, bool direct, bool renounce)
unpause
nonpayablefunction unpause()
events
Approval
event Approval(address indexed owner, address indexed spender, uint256 value)
ClaimRewards
event ClaimRewards(address indexed user, address[] rewardTokens, uint256[] rewardAmounts)
Deposit
event Deposit(address indexed caller, address indexed receiver, address indexed tokenIn, uint256 amountDeposited, uint256 amountSyOut)
EIP712DomainChanged
event EIP712DomainChanged()
Initialized
event Initialized(uint8 version)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Paused
event Paused(address account)
Redeem
event Redeem(address indexed caller, address indexed receiver, address indexed tokenOut, uint256 amountSyToRedeem, uint256 amountTokenOut)
SetNewExchangeRateOracle
event SetNewExchangeRateOracle(address oracle)
Transfer
event Transfer(address indexed from, address indexed to, uint256 value)
Unpaused
event Unpaused(address account)
errors
SYInsufficientSharesOut
error SYInsufficientSharesOut(uint256 actualSharesOut, uint256 requiredSharesOut)
SYInsufficientTokenOut
error SYInsufficientTokenOut(uint256 actualTokenOut, uint256 requiredTokenOut)
SYInvalidTokenIn
error SYInvalidTokenIn(address token)
SYInvalidTokenOut
error SYInvalidTokenOut(address token)
SYZeroDeposit
error SYZeroDeposit()
SYZeroRedeem
error SYZeroRedeem()
creation bytecode
0x61010060409080825234620001645763313ce56760e01b8152602090736c948a4c31d013515d871930fe3807276102f25d908281600481855afa9081156200024d575f916200020f575b5060805261013460ff19815416905560a05260015460ff8160a81c16620001bc5760ff808260a01c16036200017a575b506004817367035877f5c12202c387d1698274c2abf28f36788060c05284519283809263f355d41760e01b82525afa91821562000170575f9262000127575b505060e05251614ede908162000290823960805181612f0d015260a051818181610692015281816128040152818161287501528181612964015281816138bf015261416a015260c0518181816108ae0152818161146001526141eb015260e05181818161038801526109290152f35b90809250813d831162000168575b62000141818362000257565b810103126200016457516001600160a01b038116810362000164575f80620000b8565b5f80fd5b503d62000135565b83513d5f823e3d90fd5b60ff60a01b191660ff60a01b17600155815160ff81527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498908290a15f62000079565b50608491519062461bcd60e51b82526004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b6064820152fd5b90508281813d831162000245575b62000229818362000257565b8101031262000164575160ff8116810362000164575f62000049565b503d6200021d565b84513d5f823e3d90fd5b601f909101601f19168101906001600160401b038211908210176200027b57604052565b634e487b7160e01b5f52604160045260245ffdfe60808060405260048036101561001e575b5050361561001c575f80fd5b005b5f3560e01c91826306fdde03146138ed57508163071bc3c914613857578163078dfbe7146136d2578163095ea7b314613683578163128fced11461026f57816318160ddd1461362857816320e8c56514613245578163213cae631461318d57816323b872dd14612fc957816326b2a05614612f7d5781632792949d14612f31578163313ce56714612ed65781633644e51514612e965781633ba0b9a914612dc15781633f4ba83a14612cb25781634e71e0c814612baa5781635c975abb14612b695781636de4da5214612b1d57816370a0823114612aba578163769f8e5d1461289957816376d5de851461282b578163784367d6146127ae57816379a6fd57146127625781637ecebe00146126ff5781638129fc1c146114845781638235c357146114165781638456cb591461136657816384b0196e146112305781638da5cb5b146111e057816395d89b41146110c6578163a40bee501461100c578163a4293e8314610fb4578163a9059cbb14610ee4578163b8f82b2614610743578163c4f59f9b146106f3578163cbe52ae31461063f578163d11f0318146105f3578163d505accf146103ac57508063da88ecb41461026a578063dc54ee2f1461033e578063dd62ed3e146102c5578063e30c397814610274578063ef5cfb8c1461026f578063f8b2f9911461026a5763fa5a4f061461021b575f80610010565b346102665760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261026657602061025c610257613a5e565b613f2e565b6040519015158152f35b5f80fd5b613b35565b613ad7565b34610266575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261026657602073ffffffffffffffffffffffffffffffffffffffff60015416604051908152f35b346102665760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610266576102fc613a5e565b610304613a81565b9073ffffffffffffffffffffffffffffffffffffffff8091165f52600360205260405f2091165f52602052602060405f2054604051908152f35b34610266575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261026657602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346102665760e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610266576103e3613a5e565b6103eb613a81565b6044359160643560843560ff81168103610266578142116105955773ffffffffffffffffffffffffffffffffffffffff9081841692835f52609f60205260405f20908154916001830190556040519060208201927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98452866040840152858916606084015289608084015260a083015260c082015260c0815260e0810181811067ffffffffffffffff821117610569576040525190206104fb916104f3916104b16147b4565b90604051917f190100000000000000000000000000000000000000000000000000000000000083526002830152602282015260c43591604260a4359220614a22565b919091614aaa565b160361050b5761001c9350613fe0565b6064846020604051917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152fd5b60418a7f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b6064866020604051917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152fd5b34610266575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102665760206040517367035877f5c12202c387d1698274c2abf28f36788152f35b346102665760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261026657610676613a5e565b9073ffffffffffffffffffffffffffffffffffffffff809216917f00000000000000000000000000000000000000000000000000000000000000001682036106c45760206040516024358152f35b602491604051917f88a50561000000000000000000000000000000000000000000000000000000008352820152fd5b34610266575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102665761073f60405161073081613c28565b5f815260405191829182613a0d565b0390f35b346102665760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102665761077a613a5e565b60249161078682613f2e565b15610ea15782355f61019954905b60018101808211610a705782811015610e36576107b08261477f565b9190549073ffffffffffffffffffffffffffffffffffffffff600392818a1694841b1c168314610838575b5050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461080d57600101610794565b856011857f4e487b71000000000000000000000000000000000000000000000000000000005f52525ffd5b73ffffffffffffffffffffffffffffffffffffffff9293975061085a9061477f565b9054911b1c1692604051917f6534d8dc00000000000000000000000000000000000000000000000000000000835284868401528783015260208260448173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa918215610acd575f92610e02575b50604051907f36a9ac4000000000000000000000000000000000000000000000000000000000825282868301526102a080838a8173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa928315610acd575f93610b32575b505085602073ffffffffffffffffffffffffffffffffffffffff84515116604051928380927f3e7e86690000000000000000000000000000000000000000000000000000000082525afa8015610acd5760ff915f91610b03575b5016604d8111610ad85773ffffffffffffffffffffffffffffffffffffffff60c0604092600a0a940151169360448251809681937f95b4c4670000000000000000000000000000000000000000000000000000000083528b830152428d8301525afa928315610acd575f93610a9b575b50818102918183041490151715610a70578115610a45570491938680806107db565b866012867f4e487b71000000000000000000000000000000000000000000000000000000005f52525ffd5b866011867f4e487b71000000000000000000000000000000000000000000000000000000005f52525ffd5b610abe91935060403d604011610ac6575b610ab68183613c60565b810190613ee9565b509188610a23565b503d610aac565b6040513d5f823e3d90fd5b886011887f4e487b71000000000000000000000000000000000000000000000000000000005f52525ffd5b610b25915060203d602011610b2b575b610b1d8183613c60565b810190613f15565b8a6109b3565b503d610b13565b91925090813d8111610dfa575b610b498383613c60565b81838101031261026657604051918261014081011067ffffffffffffffff61014085011117610dcf5760808282810103126102665761014083016101c084011067ffffffffffffffff6101c085011117610dcf576101c08301604052610bae826149ec565b610140840152610bc0602083016149ec565b610160840152604082015161018084015260608201516101a08401526101408301835260607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808383810103011261026657604051610c1d81613bc3565b608083015161ffff81168103610266578152610c3b60a084016149ec565b6020820152610c4c60c08401614a0d565b6040820152602084015260607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2083838101030112610266577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec08260a092604051610cb581613bc3565b610cc160e084016149ec565b8152610cd061010084016149ec565b6020820152610ce261012084016149ec565b604082015260408701528101030112610266576040518060a081011067ffffffffffffffff60a083011117610dcf57908160a06102809301604052610140820151815261016082015160208201526101808201516040820152610d486101a08301614a0d565b6060820152610d5a6101c08301614a0d565b60808201526060840152610d716101e082016149ec565b6080840152610d8361020082016149ec565b60a0840152610d9561022082016149ec565b60c0840152610da76102408201614a0d565b60e0840152610db96102608201614974565b6101008401520151610120820152908880610959565b896041897f4e487b71000000000000000000000000000000000000000000000000000000005f52525ffd5b3d9250610b3f565b9091506020813d602011610e2e575b81610e1e60209383613c60565b81010312610266575190876108de565b3d9150610e11565b5050509173ffffffffffffffffffffffffffffffffffffffff736c948a4c31d013515d871930fe3807276102f25d911603610e7657602082604051908152f35b600191507f4e487b71000000000000000000000000000000000000000000000000000000005f52525ffd5b73ffffffffffffffffffffffffffffffffffffffff604051927faeabe7180000000000000000000000000000000000000000000000000000000084521690820152fd5b346102665760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610266577f0100000000000000000000000000000000000000000000000000000000000000610f3c613a5e565b610fa3835491610f5260028460f81c1415613e84565b7f02000000000000000000000000000000000000000000000000000000000000007effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff809416178555602435903361428d565b825416179055602060405160018152f35b34610266575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102665760206040517f02228958e4f53e94e09cc0afd49939bf93af0b991889fa5fe761672c0e9c30218152f35b34610266575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261026657604051907f313ce567000000000000000000000000000000000000000000000000000000008252602082737130d2a12b9bcbfae4f2634d864a1ee1ce3ead9c9281845afa918215610acd5760609260ff915f916110a7575b50604051925f84526020840152166040820152f35b6110c0915060203d602011610b2b57610b1d8183613c60565b84611092565b34610266575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610266576040516006545f8261110583613b72565b91828252602093600190856001821691825f146111a2575050600114611147575b5061113392500383613c60565b61073f6040519282849384528301906139b1565b84915060065f527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f905f915b85831061118a575050611133935082010185611126565b80548389018501528794508693909201918101611173565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168582015261113395151560051b85010192508791506111269050565b34610266575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261026657602073ffffffffffffffffffffffffffffffffffffffff5f5416604051908152f35b34610266575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261026657606b54158061135c575b156112fe576112d0611278613ca1565b61073f611283613d83565b6112de6040519161129383613c28565b5f83526040519586957f0f00000000000000000000000000000000000000000000000000000000000000875260e0602088015260e08701906139b1565b9085820360408701526139b1565b904660608501523060808501525f60a085015283820360c0850152613aa4565b6064906020604051917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601560248201527f4549503731323a20556e696e697469616c697a656400000000000000000000006044820152fd5b50606c5415611268565b34610266575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610266576113b673ffffffffffffffffffffffffffffffffffffffff5f54163314613e1f565b6113be614981565b61013460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008254161790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a1005b34610266575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261026657602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610266575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261026657600190815460ff91828260a81c1615918280936126f1575b80156126d9575b156126555782740100000000000000000000000000000000000000007fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff8316178655612613575b506040519061152682613c0c565b600e82526020937f535920536f6c764254432e424e420000000000000000000000000000000000008584015260405161155e81613c0c565b600e81527f53592d536f6c764254432e424e42000000000000000000000000000000000000868201526115a882885460a81c1661159a816146f4565b6115a3816146f4565b6146f4565b835167ffffffffffffffff948582116125e7576005926115c88454613b72565b92601f938a858211612594575b5050808a8582116001146124d5575f916124ca575b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff828d1b9260031b1c19161784555b805190878211612384578190611631600654613b72565b8b868211612480575b50508a908583116001146123bb575f926123b0575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff828c1b9260031b1c1916176006555b7f01000000000000000000000000000000000000000000000000000000000000007effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff865416178555604051906116d582613c0c565b8982527f310000000000000000000000000000000000000000000000000000000000000089830152611710858b5460a81c166115a3816146f4565b805190878211612384578190611727606d54613b72565b8b868211612330575b50508a9085831160011461226b575f92612260575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff828c1b9260031b1c191617606d555b8051928684116122345761178c606e54613b72565b8381116121df575b50508791831160011461211e576117f49392915f9183612113575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff828a1b9260031b1c191617606e555b5f606b555f606c55865460a81c166146f4565b337fffffffffffffffffffffffff00000000000000000000000000000000000000005f5416175f55604051907fdd62ed3e000000000000000000000000000000000000000000000000000000009081835230818401527367035877f5c12202c387d1698274c2abf28f36789260249284848301526044737130d2a12b9bcbfae4f2634d864a1ee1ce3ead9c95898483818a5afa938415610acd575f946120e4575b506b7fffffffffffffffffffffff809410611f61575b6040519383855230868601528187860152734aae823a6a0b376de6a78e74ecc5b079d38cbcf7948b818581895afa8015610acd5782915f91611f30575b5010611d4f575b60405193845230868501528187850152736c948a4c31d013515d871930fe3807276102f25d938b818581885afa908115610acd575f91611d22575b5010611b3a575b5050604051916080830183811088821117611b0f576040526003835288830195606036883761195f84613fa6565b5282518a1015611ae4576040830152815160021015611ab957606082015251938411611a8f57680100000000000000008411611a8f575050610199908154838355808410611a59575b50905f52845f5b838110611a1157505050506119c057005b817fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff7f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989354168155604051908152a1005b8573ffffffffffffffffffffffffffffffffffffffff845116930192817f960942b7bcefc06c4573016a89cb45882597f73bb18f9afb0df2c0e01c496e1b01550185906119af565b611a8990847f960942b7bcefc06c4573016a89cb45882597f73bb18f9afb0df2c0e01c496e1b9182019101613eff565b866119a8565b6041907f4e487b71000000000000000000000000000000000000000000000000000000005f52525ffd5b836032847f4e487b71000000000000000000000000000000000000000000000000000000005f52525ffd5b846032857f4e487b71000000000000000000000000000000000000000000000000000000005f52525ffd5b856041867f4e487b71000000000000000000000000000000000000000000000000000000005f52525ffd5b604051905f808c84017f095ea7b30000000000000000000000000000000000000000000000000000000094858252848b8201528287820152868152611b7e81613c44565b519082885af1611b8c61482a565b81611cea575b5015611c8e575f918291604051908d8201928352898201527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85820152848152611bdb81613c44565b519082865af1611be961482a565b81611c56575b5015611bfb5780611931565b837f5361666520417070726f76650000000000000000000000000000000000000000606492600c888d604051957f08c379a0000000000000000000000000000000000000000000000000000000008752860152840152820152fd5b809150518a8115918215611c6f575b505090508b611bef565b83809293500103126102665789611c869101614974565b808a8d611c65565b506064857f5361666520417070726f7665000000000000000000000000000000000000000084600c8a8f604051957f08c379a0000000000000000000000000000000000000000000000000000000008752860152840152820152fd5b809150518c8115918215611d03575b505090508d611b92565b8380929350010312610266578b611d1a9101614974565b808c8f611cf9565b90508b81813d8311611d48575b611d398183613c60565b8101031261026657518d61192a565b503d611d2f565b6040515f808d83017f095ea7b30000000000000000000000000000000000000000000000000000000093848252868c8201528288820152878152611d9281613c44565b5190828a5af1611da061482a565b81611ef8575b5015611e9c575f80918d604051908101918252858b8201527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff87820152868152611def81613c44565b519082895af1611dfd61482a565b81611e64575b506118ef57506064857f5361666520417070726f7665000000000000000000000000000000000000000084600c8a8f604051957f08c379a0000000000000000000000000000000000000000000000000000000008752860152840152820152fd5b809150518c8115918215611e7d575b505090508d611e03565b8380929350010312610266578b611e949101614974565b808c8f611e73565b6064877f5361666520417070726f76650000000000000000000000000000000000000000868f8c600c91604051957f08c379a0000000000000000000000000000000000000000000000000000000008752860152840152820152fd5b809150518d8115918215611f11575b505090508e611da6565b8380929350010312610266578c611f289101614974565b808d5f611f07565b8092508d8092503d8311611f5a575b611f498183613c60565b81010312610266578190518e6118e8565b503d611f3f565b6040515f808c83017f095ea7b30000000000000000000000000000000000000000000000000000000093848252858b8201528287820152868152611fa481613c44565b5190828c5af1611fb261482a565b816120ac575b5015611c8e575f80916040518d8101918252848a8201527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8682015285815261200081613c44565b5190828b5af161200e61482a565b81612074575b506118ab576064857f5361666520417070726f7665000000000000000000000000000000000000000084600c8a8f604051957f08c379a0000000000000000000000000000000000000000000000000000000008752860152840152820152fd5b809150518b811591821561208d575b505090508c612014565b8380929350010312610266578a6120a49101614974565b808b8e612083565b809150518c81159182156120c5575b505090508d611fb8565b8380929350010312610266578b6120dc9101614974565b808c8f6120bb565b9093508981813d831161210c575b6120fc8183613c60565b810103126102665751928b611895565b503d6120f2565b0151905089806117af565b929188917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0821690606e5f527f9930d9ff0dee0ef5ca2f7710ea66b8f84dd0f5f5351ecffe72b952cd9db7142a915f5b8b8282106121c957505095836117f49710612192575b505050811b01606e556117e1565b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c19169055898080612184565b8389015185558d9690940193928301920161216e565b61222491606e5f527f9930d9ff0dee0ef5ca2f7710ea66b8f84dd0f5f5351ecffe72b952cd9db7142a9085808801821c8301938d891061222b575b01901c0190613eff565b8980611794565b9350829361221a565b6041867f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b015190508b80611745565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08d941691606d5f527f5006b838207c6a9ae9b84d68f467dd4bb5c305fbfb6b04eab8faaabeec1e18d8928d5f905b82821061231057505084116122d9575b505050811b01606d55611777565b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c191690558b80806122cb565b91929395968291958786015181550195019301908e95949392918e6122bb565b61237491606d5f52877f5006b838207c6a9ae9b84d68f467dd4bb5c305fbfb6b04eab8faaabeec1e18d8918187018b1c830193871061237b575b01891c0190613eff565b8c8b611730565b9250819261236a565b6041877f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b015190508b8061164f565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08d94169160065f527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f928d5f905b8282106124605750508411612429575b505050811b01600655611681565b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c191690558b808061241b565b91929395968291958786015181550195019301908e95949392918e61240b565b6124c39160065f52877ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f918187018b1c830193871061237b5701891c0190613eff565b8c8b61163a565b90508301518c6115ea565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08d931690875f527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0918d5f905b828210612576575050831161253f575b5050811b01845561161a565b8501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c191690558c80612533565b91929495829194868a015181550194019201908e949392918e612523565b6125d791875f52867f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0918186018a1c83019386106125de575b01881c0190613eff565b8b8a6115d5565b925081926125cd565b6041857f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b7fffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffff16750101000000000000000000000000000000000000000017845584611518565b6084826020604051917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152fd5b50303b1580156114d1575084848260a01c16146114d1565b5084848260a01c16106114ca565b346102665760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102665773ffffffffffffffffffffffffffffffffffffffff61274b613a5e565b165f52609f602052602060405f2054604051908152f35b34610266575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610266576020604051739c491539aec346aafeb0bee9a1e9d9c02ab508898152f35b346102665760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102665760206127e7613a5e565b73ffffffffffffffffffffffffffffffffffffffff9060405191807f0000000000000000000000000000000000000000000000000000000000000000169116148152f35b34610266575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261026657602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346102665760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610266576128d0613a5e565b906024359160443573ffffffffffffffffffffffffffffffffffffffff91828216809203610266576084359260643584151585036102665785549461291b60028760f81c1415613e84565b7f02000000000000000000000000000000000000000000000000000000000000007effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8097161787557f0000000000000000000000000000000000000000000000000000000000000000908382168603612a8a578815612a6157846129af928a925f14612a57576129aa8330614511565b614887565b808710612a2157602087877f01000000000000000000000000000000000000000000000000000000000000008888888860405191878352878984015216907faee47cdf925cf525fdae94f9777ee5a06cac37e1c41220d0a8a89ed154f62d1c60403392a4825416179055604051908152f35b8560449188604051927fbfee4ca00000000000000000000000000000000000000000000000000000000084528301526024820152fd5b6129aa8333614511565b876040517fc3d83b07000000000000000000000000000000000000000000000000000000008152fd5b60248887604051917f88a50561000000000000000000000000000000000000000000000000000000008352820152fd5b346102665760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102665773ffffffffffffffffffffffffffffffffffffffff612b06613a5e565b165f526002602052602060405f2054604051908152f35b34610266575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610266576020604051734aae823a6a0b376de6a78e74ecc5b079d38cbcf78152f35b34610266575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261026657602060ff61013454166040519015158152f35b34610266575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102665760015473ffffffffffffffffffffffffffffffffffffffff9182821690813303612c545750805f549384167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a37fffffffffffffffffffffffff0000000000000000000000000000000000000000928316175f5516600155005b6064906020604051917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602060248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e65726044820152fd5b34610266575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261026657612d0273ffffffffffffffffffffffffffffffffffffffff5f54163314613e1f565b6101349081549060ff821615612d6357507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a1005b6064906020604051917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152fd5b34610266575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610266577f02228958e4f53e94e09cc0afd49939bf93af0b991889fa5fe761672c0e9c3021604051917f95b4c467000000000000000000000000000000000000000000000000000000008352820152426024820152604081604481739c491539aec346aafeb0bee9a1e9d9c02ab508895afa8015610acd576020915f91612e76575b50604051908152f35b612e8f915060403d604011610ac657610ab68183613c60565b5082612e6d565b34610266575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610266576020612ece6147b4565b604051908152f35b34610266575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261026657602060405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610266575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610266576020604051737130d2a12b9bcbfae4f2634d864a1ee1ce3ead9c8152f35b34610266575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610266576020604051736c948a4c31d013515d871930fe3807276102f25d8152f35b346102665760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261026657613000613a5e565b613008613a81565b6044359083549261301f60028560f81c1415613e84565b7f02000000000000000000000000000000000000000000000000000000000000007effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80951617855573ffffffffffffffffffffffffffffffffffffffff81165f52600360205260405f20335f5260205260405f20547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81036130e9575b5091610fa3917f0100000000000000000000000000000000000000000000000000000000000000949361428d565b83811061312f579183916131257f01000000000000000000000000000000000000000000000000000000000000009695610fa395033383613fe0565b91939450916130bb565b6064866020604051917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b34610266575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261026657604051806101999182548082526020809201935f527f960942b7bcefc06c4573016a89cb45882597f73bb18f9afb0df2c0e01c496e1b915f905b8282106132185761073f8561320c81890382613c60565b60405191829182613a0d565b835473ffffffffffffffffffffffffffffffffffffffff16865294850194600193840193909101906131f5565b60807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261026657613277613a5e565b61327f613a81565b90604435916064359284549261329b60028560f81c1415613e84565b7f02000000000000000000000000000000000000000000000000000000000000007effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8095161786556132eb83613f2e565b156135e25781156135b95773ffffffffffffffffffffffffffffffffffffffff908184169384155f1461354b578334036134ed578361332991614151565b958087106134b757501690811561345957613342614981565b8385116102665785548486168582160185811161342d57918593917fff00000000000000000000000000000000000000000000000000000000000000602099977f01000000000000000000000000000000000000000000000000000000000000009795169116178655815f526002885260405f206133c1888254614253565b9055815f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8a6040518b8152a360405190815286888201527f5fe47ed6d4225326d3303476197d782ded5a4e9c14f479dc9ec4992af4e85d5960403392a4825416179055604051908152f35b6011887f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b6064866020604051917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152fd5b8760449188604051927fbc71f2ba0000000000000000000000000000000000000000000000000000000084528301526024820152fd5b6064886020604051917f08c379a0000000000000000000000000000000000000000000000000000000008352820152600c60248201527f657468206d69736d6174636800000000000000000000000000000000000000006044820152fd5b6040517f23b872dd0000000000000000000000000000000000000000000000000000000060208201523360248201523060448201528460648201526064815260a0810181811067ffffffffffffffff82111761056957916135b486926133299460405288614c41565b614151565b856040517fa907f2f0000000000000000000000000000000000000000000000000000000008152fd5b6040517faeabe71800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841681880152602490fd5b34610266575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610266577effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6020915416604051908152f35b346102665760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610266576136c76136bd613a5e565b6024359033613fe0565b602060405160018152f35b346102665760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261026657613709613a5e565b90602435908115158203610266576044359182151583036102665773ffffffffffffffffffffffffffffffffffffffff93849161374a835f54163314613e1f565b1561382557169182159081159161381d575b50156137bf5750805f549283167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a37fffffffffffffffffffffffff0000000000000000000000000000000000000000809216175f55600154166001555f80f35b6064906020604051917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601560248201527f4f776e61626c653a207a65726f206164647265737300000000000000000000006044820152fd5b90508461375c565b92505050167fffffffffffffffffffffffff000000000000000000000000000000000000000060015416176001555f80f35b34610266575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102665761073f60405161389481613c0c565b60018152602036818301376138a881613fa6565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016905260405191829182613a0d565b34610266575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610266576005545f8261392983613b72565b91828252602093600190856001821691825f146111a2575050600114613956575061113392500383613c60565b84915060055f527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0905f915b858310613999575050611133935082010185611126565b80548389018501528794508693909201918101613982565b91908251928382525f5b8481106139f95750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f845f6020809697860101520116010190565b6020818301810151848301820152016139bb565b60209060206040818301928281528551809452019301915f5b828110613a34575050505090565b835173ffffffffffffffffffffffffffffffffffffffff1685529381019392810192600101613a26565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361026657565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361026657565b9081518082526020808093019301915f5b828110613ac3575050505090565b835185529381019392810192600101613ab5565b346102665760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261026657613b0e613a5e565b5061073f604051613b1e81613c28565b5f8152604051918291602083526020830190613aa4565b34610266575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102665761073f604051613b1e81613c28565b90600182811c92168015613bb9575b6020831014613b8c57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691613b81565b6060810190811067ffffffffffffffff821117613bdf57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040810190811067ffffffffffffffff821117613bdf57604052565b6020810190811067ffffffffffffffff821117613bdf57604052565b6080810190811067ffffffffffffffff821117613bdf57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117613bdf57604052565b604051905f82606d5491613cb483613b72565b80835292602090600190818116908115613d405750600114613ce1575b5050613cdf92500383613c60565b565b915092606d5f527f5006b838207c6a9ae9b84d68f467dd4bb5c305fbfb6b04eab8faaabeec1e18d8935f925b828410613d285750613cdf9450505081016020015f80613cd1565b85548885018301529485019487945092810192613d0d565b905060209350613cdf9592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201015f80613cd1565b604051905f82606e5491613d9683613b72565b80835292602090600190818116908115613d405750600114613dc0575050613cdf92500383613c60565b915092606e5f527f9930d9ff0dee0ef5ca2f7710ea66b8f84dd0f5f5351ecffe72b952cd9db7142a935f925b828410613e075750613cdf9450505081016020015f80613cd1565b85548885018301529485019487945092810192613dec565b15613e2657565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b15613e8b57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b9190826040910312610266576020825192015190565b818110613f0a575050565b5f8155600101613eff565b90816020910312610266575160ff811681036102665790565b73ffffffffffffffffffffffffffffffffffffffff16737130d2a12b9bcbfae4f2634d864a1ee1ce3ead9c8114908115613f88575b8115613f6d575090565b734aae823a6a0b376de6a78e74ecc5b079d38cbcf791501490565b736c948a4c31d013515d871930fe3807276102f25d81149150613f63565b805115613fb35760200190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff8091169182156140ce571691821561404a5760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591835f526003825260405f20855f5282528060405f2055604051908152a3565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff80807f00000000000000000000000000000000000000000000000000000000000000001692169082821461424d576020925f60a49260405196879586947f672262e500000000000000000000000000000000000000000000000000000000865260048601526024850152604484015281606484015267ffffffffffffffff60848401527f0000000000000000000000000000000000000000000000000000000000000000165af1908115610acd575f9161421e575090565b90506020813d602011614245575b8161423960209383613c60565b81010312610266575190565b3d915061422c565b50505090565b9190820180921161426057565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff80911691821561448d5716918215614409578282146143ab576142c3614981565b815f52600260205260405f205481811061432757817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f52600284520360405f2055845f5260405f2061431c828254614253565b9055604051908152a3565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f45524332303a207472616e7366657220746f2073656c660000000000000000006044820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff16801561467057614535614981565b805f52600260205260405f20548281106145ec578290825f5260026020520360405f20557effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9182811161026657600454928082168185160391818311614260575f947fff000000000000000000000000000000000000000000000000000000000000006020937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9516911617600455604051908152a3565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152fd5b156146fb57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152fd5b6101998054821015613fb3575f527f960942b7bcefc06c4573016a89cb45882597f73bb18f9afb0df2c0e01c496e1b01905f90565b6147bc614d67565b6147c4614db2565b6040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117613bdf5760405251902090565b3d15614882573d9067ffffffffffffffff8211613bdf576040519161487760207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160184613c60565b82523d5f602084013e565b606090565b821561496f5773ffffffffffffffffffffffffffffffffffffffff90811690816149235750505f80809381935af16148bd61482a565b50156148c557565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f6574682073656e64206661696c656400000000000000000000000000000000006044820152fd5b92613cdf93604051937fa9059cbb00000000000000000000000000000000000000000000000000000000602086015216602484015260448301526044825261496a82613c44565b614c41565b505050565b5190811515820361026657565b60ff610134541661498e57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152fd5b519073ffffffffffffffffffffffffffffffffffffffff8216820361026657565b519067ffffffffffffffff8216820361026657565b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411614a9f576020935f9360ff60809460405194855216868401526040830152606082015282805260015afa15610acd575f5173ffffffffffffffffffffffffffffffffffffffff811615614a9757905f90565b505f90600190565b505050505f90600390565b6005811015614c145780614abb5750565b60018103614b215760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b60028103614b875760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b600314614b9057565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b604051614cab9173ffffffffffffffffffffffffffffffffffffffff16614c6782613c0c565b5f806020958685527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656487860152868151910182855af1614ca561482a565b91614dd8565b8051828115918215614d48575b5050905015614cc45750565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b83809293500103126102665781614d5f9101614974565b80825f614cb8565b614d6f613ca1565b8051908115614d7f576020012090565b5050606b548015614d8d5790565b507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47090565b614dba613d83565b8051908115614dca576020012090565b5050606c548015614d8d5790565b91929015614e535750815115614dec575090565b3b15614df55790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b825190915015614e665750805190602001fd5b614ea4906040519182917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260248301906139b1565b0390fdfea26469706673582212200f8a75992c7e4a4b03e4dcb74bd06c239d87926ef912a4fd9070acce3352a97464736f6c63430008180033