tx · EBkWvwwQdkNq78iCATwVkzhcvtS36DC1wxGaPXPTYLxQ

3NAfzeA3URU6oCV6HvtAiNwqGXsTs87ZpHh:  -0.02600000 Waves

2023.08.31 15:40 [2734869] smart account 3NAfzeA3URU6oCV6HvtAiNwqGXsTs87ZpHh > SELF 0.00000000 Waves

{ "type": 13, "id": "EBkWvwwQdkNq78iCATwVkzhcvtS36DC1wxGaPXPTYLxQ", "fee": 2600000, "feeAssetId": null, "timestamp": 1693485676352, "version": 2, "chainId": 84, "sender": "3NAfzeA3URU6oCV6HvtAiNwqGXsTs87ZpHh", "senderPublicKey": "HiTi1JT7GQRqLNxg4yZhD1mV42y1Mv2AYvRx92JQRbwX", "proofs": [ "4CSdgQZkkNVmmdEk8P6cy5D99Ssik9g46k45hrEvotrtTewjeqHkWydvcPtZZJDBnce1GWxPUi3vaBhMTGzvTsN2" ], "script": "base64:BgJgCAISBAoCAQQSBQoDCAEBEgUKAwgBARIDCgEIEgMKAQgSBAoCCAESBQoDCAEIEgUKAwgBCBIFCgMIAQgSBgoECAEICBIAEgMKAQESAwoBARIECgIBARIDCgEBEgQKAgEBeQAGRVVMRVI4ANaJz4EBAAVNVUxUNgDAhD0ABk1VTFRYNgkAtgIBAMCEPQAFTVVMVDgAgMLXLwAGTVVMVFg4CQC2AgEAgMLXLwAHTVVMVFgxMAkAtgIBAIDIr6AlAAZNVUxUMTIAgKCUpY0dAAdNVUxUWDE2CQC2AgEAgICE/qbe4REABk1VTFQxOAkAtgIBAICAkLu61q3wDQADU0VQAgJfXwAHTElTVFNFUAIBOgARREVGQVVMVFNXQVBGRUVOMlcAiCcAEURFRkFVTFRTV0FQRkVFVzJOAKCcAQALQlJQUk9URUNURUQAoI0GAAdXQVZFU0lECQDZBAECBVdBVkVTAAlEQVlNSUxMSVMAgLiZKQANREVGQVVMVFBFUklPRAkAaAIAoAsADgESa2V5TmV1dHJpbm9Bc3NldElkAAIRbmV1dHJpbm9fYXNzZXRfaWQBDmtleU5zYnRBc3NldElkAAINYm9uZF9hc3NldF9pZAEOa2V5U3VyZkFzc2V0SWQAAg1zdXJmX2Fzc2V0X2lkARNrZXlTd2FwQW1vdW50QVBhcmFtAAIYJXMlc19fY29uZmlnX19zd2FwQVBhcmFtARNrZXlTd2FwQW1vdW50QlBhcmFtAAIYJXMlc19fY29uZmlnX19zd2FwQlBhcmFtARdrZXlVc2RuU3dhcEFtb3VudEFQYXJhbQACHCVzJXNfX2NvbmZpZ19fdXNkblN3YXBBUGFyYW0BF2tleVVzZG5Td2FwQW1vdW50QlBhcmFtAAIcJXMlc19fY29uZmlnX191c2RuU3dhcEJQYXJhbQETa2V5TnNidExvY2tDb250cmFjdAACFCVzX19uc2J0TG9ja0NvbnRyYWN0AQ9rZXlNYXRoQ29udHJhY3QAAhAlc19fbWF0aENvbnRyYWN0AQ9iYXNrZXRBc3NldHNLZXkAAholcyVzX19jb21tb25fX2Jhc2tldEFzc2V0cwEKYmFza2V0REtleQACFSVzJXNfX2NvbW1vbl9fYmFza2V0RAEKYmFza2V0QktleQACFSVzJXNfX2NvbW1vbl9fYmFza2V0QgESYmFza2V0TG9nYkRlbHRhS2V5AAIdJXMlc19fY29tbW9uX19iYXNrZXRMb2diRGVsdGEBFmJhc2tldFdlaWdodEJ5QXNzZXRLZXkBB2Fzc2V0SWQJAKwCAgIfJXMlcyVzX19jb21tb25fX3dlaWdodEJ5QXNzZXRfXwUHYXNzZXRJZAEIa2V5UHJpY2UAAgVwcmljZQEPa2V5UHJpY2VCeUFzc2V0AQdhc3NldElkCQCsAgICHiVzJXMlc19fY29tbW9uX19wcmljZUJ5QXNzZXRfXwUHYXNzZXRJZAEWa2V5TG9ja1BhcmFtU3RhcnRCbG9jawELdXNlckFkZHJlc3MJALkJAgkAzAgCAgYlcyVzJXMJAMwIAgILcGFyYW1CeVVzZXIJAMwIAgULdXNlckFkZHJlc3MJAMwIAgIFc3RhcnQFA25pbAUDU0VQAQtrZXlIYWxmTGlmZQACDCVzX19oYWxmTGlmZQEQa2V5TWluTG9ja0Ftb3VudAACESVzX19taW5Mb2NrQW1vdW50ARNrZXlWcFBlcmlvZER1cmF0aW9uAAkAuQkCCQDMCAICBCVzJXMJAMwIAgICdnAJAMwIAgIOcGVyaW9kRHVyYXRpb24FA25pbAUDU0VQARVrZXlNaW5XYXZlc0Zvck5zYnRCdXkAAhJtaW5fd2F2ZXNfbnNidF9idXkBDmtleU1pbk5zYnRTZWxsAAINbWluX25zYnRfc2VsbAEXa2V5U3RhdHNEZXBvc2l0QW10QnlEYXkBCXRpbWVzdGFtcAkAuQkCCQDMCAICBiVzJXMlZAkAzAgCAgVzdGF0cwkAzAgCAg9kZXBvc2l0QW10QnlEYXkJAMwIAgkApAMBBQl0aW1lc3RhbXAFA25pbAUDU0VQARhrZXlTdXBwb3J0ZWRSZXdhcmRBc3NldHMAAhVzdXBwb3J0ZWRSZXdhcmRBc3NldHMBDHRvU3RhcnRPZkRheQEJdGltZXN0YW1wCQBoAgkAaQIFCXRpbWVzdGFtcAUJREFZTUlMTElTBQlEQVlNSUxMSVMBD2dldFN0cmluZ09yRmFpbAIHYWRkcmVzcwNrZXkJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCBQdhZGRyZXNzBQNrZXkJALkJAgkAzAgCAgptYW5kYXRvcnkgCQDMCAIJAKUIAQUHYWRkcmVzcwkAzAgCAgEuCQDMCAIFA2tleQkAzAgCAg8gaXMgbm90IGRlZmluZWQFA25pbAIAAQxnZXRJbnRPckZhaWwCB2FkZHJlc3MDa2V5CQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJoIAgUHYWRkcmVzcwUDa2V5CQC5CQIJAMwIAgIKbWFuZGF0b3J5IAkAzAgCCQClCAEFB2FkZHJlc3MJAMwIAgIBLgkAzAgCBQNrZXkJAMwIAgIPIGlzIG5vdCBkZWZpbmVkBQNuaWwCAAENZ2V0Qm9vbE9yRmFpbAIHYWRkcmVzcwNrZXkJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAmwgCBQdhZGRyZXNzBQNrZXkJALkJAgkAzAgCAgptYW5kYXRvcnkgCQDMCAIJAKUIAQUHYWRkcmVzcwkAzAgCAgEuCQDMCAIFA2tleQkAzAgCAg8gaXMgbm90IGRlZmluZWQFA25pbAIAAQxnZXRJbnRPckVsc2UDB2FkZHJlc3MDa2V5CmRlZmF1bHRWYWwJAQt2YWx1ZU9yRWxzZQIJAJoIAgUHYWRkcmVzcwUDa2V5BQpkZWZhdWx0VmFsAQxnZXRTdHJPckVsc2UDB2FkZHJlc3MDa2V5CmRlZmF1bHRWYWwJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUHYWRkcmVzcwUDa2V5BQpkZWZhdWx0VmFsARZjb252ZXJ0TmV1dHJpbm9Ub1dhdmVzAgZhbW91bnQFcHJpY2UJAGsDBQZhbW91bnQFBU1VTFQ4BQVwcmljZQERY29udmVydFRva2VuVG9Vc2QCBmFtb3VudAVwcmljZQkAawMFBmFtb3VudAUFcHJpY2UFBU1VTFQ4AQlhc0FueUxpc3QBA3ZhbAQHJG1hdGNoMAUDdmFsAwkAAQIFByRtYXRjaDACCUxpc3RbQW55XQQKdmFsQW55TGlzdAUHJG1hdGNoMAUKdmFsQW55TGlzdAkAAgECG2ZhaWwgdG8gY2FzdCBpbnRvIExpc3RbQW55XQEFYXNJbnQBA3ZhbAQHJG1hdGNoMAUDdmFsAwkAAQIFByRtYXRjaDACA0ludAQGdmFsSW50BQckbWF0Y2gwBQZ2YWxJbnQJAAIBAhVmYWlsIHRvIGNhc3QgaW50byBJbnQBCGFzU3RyaW5nAQN2YWwEByRtYXRjaDAFA3ZhbAMJAAECBQckbWF0Y2gwAgZTdHJpbmcEBnZhbFN0cgUHJG1hdGNoMAUGdmFsU3RyCQACAQIYZmFpbCB0byBjYXN0IGludG8gU3RyaW5nAQxhc1R1cGxlMkludHMBA3ZhbAQHJG1hdGNoMAUDdmFsAwkAAQIFByRtYXRjaDACCihJbnQsIEludCkEAXYFByRtYXRjaDAFAXYJAAIBAh1mYWlsIHRvIGNhc3QgaW50byBUdXBsZTIgaW50cwESYXNTd2FwUGFyYW1zU1RSVUNUAQN2YWwEByRtYXRjaDAFA3ZhbAMJAAECBQckbWF0Y2gwAiMoSW50LCBJbnQsIEludCwgSW50LCBJbnQsIEludCwgSW50KQQGc3RydWN0BQckbWF0Y2gwBQZzdHJ1Y3QJAAIBAiJmYWlsIHRvIGNhc3QgaW50byBTd2FwUGFyYW1zU1RSVUNUARZhc1dpdGhkcmF3UmVzdWx0U1RSVUNUAQN2YWwEByRtYXRjaDAFA3ZhbAMDCQABAgUHJG1hdGNoMAIxKEludCwgVW5pdCwgSW50LCBJbnQsIEludCwgSW50LCBJbnQsIEludCwgU3RyaW5nKQYJAAECBQckbWF0Y2gwAjcoSW50LCBCeXRlVmVjdG9yLCBJbnQsIEludCwgSW50LCBJbnQsIEludCwgSW50LCBTdHJpbmcpBAZzdHJ1Y3QFByRtYXRjaDAFBnN0cnVjdAkAAgECIGZhaWwgdG8gY2FzdCBpbnRvIFdpdGhkcmF3UmVzdWx0AQt0b1RpbWVzdGFtcAEFc3RhcnQDCQBmAgAABQVzdGFydAD///////////8BBAckbWF0Y2gwCQDtBwEFBXN0YXJ0AwkAAQIFByRtYXRjaDACCUJsb2NrSW5mbwQFYmxvY2sFByRtYXRjaDAIBQVibG9jawl0aW1lc3RhbXAA////////////AQEFdG9YMTgCB29yaWdWYWwNb3JpZ1NjYWxlTXVsdAkAvAIDCQC2AgEFB29yaWdWYWwFBk1VTFQxOAkAtgIBBQ1vcmlnU2NhbGVNdWx0AQdmcm9tWDE4AgN2YWwPcmVzdWx0U2NhbGVNdWx0CQCgAwEJALwCAwUDdmFsCQC2AgEFD3Jlc3VsdFNjYWxlTXVsdAUGTVVMVDE4AA9uTWV0cmljSWR4UHJpY2UAAAAbbk1ldHJpY0lkeFVzZG5Mb2NrZWRCYWxhbmNlAAEAHG5NZXRyaWNJZHhXYXZlc0xvY2tlZEJhbGFuY2UAAgARbk1ldHJpY0lkeFJlc2VydmUAAwAXbk1ldHJpY0lkeFJlc2VydmVJblVzZG4ABAAUbk1ldHJpY0lkeFVzZG5TdXBwbHkABQARbk1ldHJpY0lkeFN1cnBsdXMABgAYbk1ldHJpY0lkeFN1cnBsdXNQZXJjZW50AAcADG5NZXRyaWNJZHhCUgAIABRuTWV0cmljSWR4TnNidFN1cHBseQAJABduTWV0cmljSWR4TWF4TnNidFN1cHBseQAKABRuTWV0cmljSWR4U3VyZlN1cHBseQALABJuTWV0cmljVXNkblVzZHRQZWcADAAWbk1ldHJpY0N1cnJlbnRQcmljZUFkagANABFuTWV0cmljQmFza2V0SW5mbwAOABRuTWV0cmljV2VpZ2h0ZWRQcmljZQAPABduTWV0cmljVG90YWxSZXNlcnZlc1VzZAAQABlJZHhDb250cm9sQ2ZnTmV1dHJpbm9EYXBwAAEAGElkeENvbnRyb2xDZmdBdWN0aW9uRGFwcAACABRJZHhDb250cm9sQ2ZnUnBkRGFwcAADABVJZHhDb250cm9sQ2ZnTWF0aERhcHAABAAcSWR4Q29udHJvbENmZ0xpcXVpZGF0aW9uRGFwcAAFABVJZHhDb250cm9sQ2ZnUmVzdERhcHAABgAdSWR4Q29udHJvbENmZ05vZGVSZWdpc3RyeURhcHAABwAcSWR4Q29udHJvbENmZ05zYnRTdGFraW5nRGFwcAAIABlJZHhDb250cm9sQ2ZnTWVkaWF0b3JEYXBwAAkAHElkeENvbnRyb2xDZmdTdXJmU3Rha2luZ0RhcHAACgAgSWR4Q29udHJvbENmZ0duc2J0Q29udHJvbGxlckRhcHAACwAMYkZ1bmNJZHhTdXJmAAAADWJGdW5jSWR4V2F2ZXMAAQAMYkZ1bmNJZHhVc2RuAAIAFGJGdW5jSWR4UmVzZXJ2ZVN0YXJ0AAMAE2JGdW5jSWR4U3VwcGx5U3RhcnQABAAPYkZ1bmNJZHhCUlN0YXJ0AAUAEmJGdW5jSWR4UmVzZXJ2ZUVuZAAGABFiRnVuY0lkeFN1cHBseUVuZAAHAA1iRnVuY0lkeEJSRW5kAAgADGJGdW5jSWR4UmVzdAAJABJiRnVuY0lkeFdhdmVzUHJpY2UACgERa2V5Q29udHJvbEFkZHJlc3MAAhwlcyVzX19jb25maWdfX2NvbnRyb2xBZGRyZXNzAQ1rZXlDb250cm9sQ2ZnAAIRJXNfX2NvbnRyb2xDb25maWcBFHJlYWRDb250cm9sQ2ZnT3JGYWlsAQdjb250cm9sCQC8CQIJAQ9nZXRTdHJpbmdPckZhaWwCBQdjb250cm9sCQENa2V5Q29udHJvbENmZwAFA1NFUAEYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAgpjb250cm9sQ2ZnA2lkeAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCmCAEJAJEDAgUKY29udHJvbENmZwUDaWR4CQCsAgICLUNvbnRyb2wgY2ZnIGRvZXNuJ3QgY29udGFpbiBhZGRyZXNzIGF0IGluZGV4IAkApAMBBQNpZHgAD2NvbnRyb2xDb250cmFjdAkBEUBleHRyTmF0aXZlKDEwNjIpAQkBC3ZhbHVlT3JFbHNlAgkAnQgCBQR0aGlzCQERa2V5Q29udHJvbEFkZHJlc3MAAiMzTjROUzdkNEpvOWE2RjE0TGlGVUtLWVZkVWtrZjJlUDRaeAAKY29udHJvbENmZwkBFHJlYWRDb250cm9sQ2ZnT3JGYWlsAQUPY29udHJvbENvbnRyYWN0AAxtYXRoQ29udHJhY3QJARhnZXRDb250cmFjdEFkZHJlc3NPckZhaWwCBQpjb250cm9sQ2ZnBRVJZHhDb250cm9sQ2ZnTWF0aERhcHAAEG5ldXRyaW5vQ29udHJhY3QJARhnZXRDb250cmFjdEFkZHJlc3NPckZhaWwCBQpjb250cm9sQ2ZnBRlJZHhDb250cm9sQ2ZnTmV1dHJpbm9EYXBwAA9hdWN0aW9uQ29udHJhY3QJARhnZXRDb250cmFjdEFkZHJlc3NPckZhaWwCBQpjb250cm9sQ2ZnBRhJZHhDb250cm9sQ2ZnQXVjdGlvbkRhcHAAE2xpcXVpZGF0aW9uQ29udHJhY3QJARhnZXRDb250cmFjdEFkZHJlc3NPckZhaWwCBQpjb250cm9sQ2ZnBRxJZHhDb250cm9sQ2ZnTGlxdWlkYXRpb25EYXBwAAtycGRDb250cmFjdAkBGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIFCmNvbnRyb2xDZmcFFElkeENvbnRyb2xDZmdScGREYXBwABNuc2J0U3Rha2luZ0NvbnRyYWN0CQEYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAgUKY29udHJvbENmZwUcSWR4Q29udHJvbENmZ05zYnRTdGFraW5nRGFwcAATc3VyZlN0YWtpbmdDb250cmFjdAkBGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIFCmNvbnRyb2xDZmcFHElkeENvbnRyb2xDZmdTdXJmU3Rha2luZ0RhcHAAF2duc2J0Q29udHJvbGxlckNvbnRyYWN0CQEYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAgUKY29udHJvbENmZwUgSWR4Q29udHJvbENmZ0duc2J0Q29udHJvbGxlckRhcHAAFW5ldXRyaW5vQXNzZXRJZFN0cmluZwkBD2dldFN0cmluZ09yRmFpbAIFEG5ldXRyaW5vQ29udHJhY3QJARJrZXlOZXV0cmlub0Fzc2V0SWQAAA9uZXV0cmlub0Fzc2V0SWQJANkEAQUVbmV1dHJpbm9Bc3NldElkU3RyaW5nAA5uc2J0QXNzZXRJZFN0cgkBEUBleHRyTmF0aXZlKDEwNTMpAgUQbmV1dHJpbm9Db250cmFjdAkBDmtleU5zYnRBc3NldElkAAALbnNidEFzc2V0SWQJANkEAQUObnNidEFzc2V0SWRTdHIADnN1cmZBc3NldElkU3RyCQERQGV4dHJOYXRpdmUoMTA1MykCBQ9hdWN0aW9uQ29udHJhY3QJAQ5rZXlTdXJmQXNzZXRJZAAAC3N1cmZBc3NldElkCQDZBAEFDnN1cmZBc3NldElkU3RyARNyZWFkVXNkbkluY29tZUJ5RGF5AwpzdGFraW5nQWNjE3N0YXJ0T2ZEYXlUaW1lc3RhbXAIeHRuUHJpY2UEC2FtdEJ5RGF5S0VZCQEXa2V5U3RhdHNEZXBvc2l0QW10QnlEYXkBBRNzdGFydE9mRGF5VGltZXN0YW1wBAlpbmNvbWVTdHIJAQxnZXRTdHJPckVsc2UDBQpzdGFraW5nQWNjBQthbXRCeURheUtFWQJaJWQlZCVkJWQlZCVkJWQlZCVkJWQlZCVkJWQlZCVkJWQlZCVkX18wX18wX18wX18wX18wX18wX18wX18wX18wX18wX18wX18wX18wX18wX18wX18wX18wX18wBAtpbmNvbWVBcnJheQkAtQkCBQlpbmNvbWVTdHIFA1NFUAQPc3VwcG9ydGVkQXNzZXRzCQC1CQIJAQxnZXRTdHJPckVsc2UDBQxtYXRoQ29udHJhY3QJARhrZXlTdXBwb3J0ZWRSZXdhcmRBc3NldHMAAgACAV8KAQtpbmNvbWVBZGRlcgIDYWNjAWkEB2Fzc2V0SWQJAJEDAgUPc3VwcG9ydGVkQXNzZXRzBQFpBAZpbmNvbWUJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQtpbmNvbWVBcnJheQkAZAIFAWkAAQMJAAACBQdhc3NldElkBRVuZXV0cmlub0Fzc2V0SWRTdHJpbmcJAGQCBQNhY2MFBmluY29tZQQDcHI2CQEFdmFsdWUBCQCaCAIFD2NvbnRyb2xDb250cmFjdAkBD2tleVByaWNlQnlBc3NldAEFB2Fzc2V0SWQEDWFzc2V0SW5Vc2RBbXQJAGsDBQZpbmNvbWUFA3ByNgUFTVVMVDgJAGQCBQNhY2MJAGsDBQ1hc3NldEluVXNkQW10BQVNVUxUNgUIeHRuUHJpY2UKAAIkbAkAzAgCAAAJAMwIAgABCQDMCAIAAgUDbmlsCgACJHMJAJADAQUCJGwKAAUkYWNjMAAACgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQtpbmNvbWVBZGRlcgIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIUTGlzdCBzaXplIGV4Y2VlZHMgMTAJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgEXY2FsY1VzZG5JbmNvbWVGb3JQZXJpb2QCCnN0YWtpbmdBY2MEZGF5cwQPbmV1dHJpbm9NZXRyaWNzCQEJYXNBbnlMaXN0AQkA/AcEBQxtYXRoQ29udHJhY3QCGmNhbGNOZXV0aW5vTWV0cmljc1JFQURPTkxZBQNuaWwFA25pbAQOY3VyclN0YXJ0T2ZEYXkJAQx0b1N0YXJ0T2ZEYXkBCAUJbGFzdEJsb2NrCXRpbWVzdGFtcAQOc3RhcnRUaW1lc3RhbXAJAGUCBQ5jdXJyU3RhcnRPZkRheQkAaAIFCURBWU1JTExJUwkAZAIFBGRheXMAAQQMZW5kVGltZXN0YW1wCQBlAgUOY3VyclN0YXJ0T2ZEYXkFCURBWU1JTExJUwQIeHRuUHJpY2UJAQVhc0ludAEJAJEDAgUPbmV1dHJpbm9NZXRyaWNzBRRuTWV0cmljV2VpZ2h0ZWRQcmljZQQPc3RhcnRVc2RuQW10VE1QCQETcmVhZFVzZG5JbmNvbWVCeURheQMFCnN0YWtpbmdBY2MFDnN0YXJ0VGltZXN0YW1wBQh4dG5QcmljZQQKZW5kVXNkbkFtdAkBE3JlYWRVc2RuSW5jb21lQnlEYXkDBQpzdGFraW5nQWNjBQxlbmRUaW1lc3RhbXAFCHh0blByaWNlBAxzdGFydFVzZG5BbXQDCQAAAgUPc3RhcnRVc2RuQW10VE1QAAAFCmVuZFVzZG5BbXQFD3N0YXJ0VXNkbkFtdFRNUAkAZQIFCmVuZFVzZG5BbXQFDHN0YXJ0VXNkbkFtdAEHY2FsY0FwcgQKc3Rha2luZ0FjYwxwZXJpb2RJbkRheXMPaW5jb21lRm9yUGVyaW9kGXN0YWtpbmdBc3NldFByaWNlVG9Vc2RuWDYEC3RvdGFsU3Rha2VkCQEMZ2V0SW50T3JFbHNlAwUKc3Rha2luZ0FjYwIeJXMlc19fc3RhdHNfX2FjdGl2ZVRvdGFsTG9ja2VkAAEEEXRvdGFsU3Rha2VkSW5Vc2RuCQBrAwULdG90YWxTdGFrZWQFGXN0YWtpbmdBc3NldFByaWNlVG9Vc2RuWDYFBU1VTFQ2AwkAZgIAAAUPaW5jb21lRm9yUGVyaW9kAAAJAGsDCQBoAgUPaW5jb21lRm9yUGVyaW9kBQVNVUxUNgDtAgkAaAIFEXRvdGFsU3Rha2VkSW5Vc2RuBQxwZXJpb2RJbkRheXMBEHN3YXBJbmZvSW50ZXJuYWwEFXVzZXJBZGRyZXNzU3RyT3JFbXB0eQhhbW91bnRJbgxhc3NldElkU3RySW4UYXNzZXRJZFN0ck91dE9yRW1wdHkED25ldXRyaW5vTWV0cmljcwkBCWFzQW55TGlzdAEJAPwHBAUMbWF0aENvbnRyYWN0AhpjYWxjTmV1dGlub01ldHJpY3NSRUFET05MWQUDbmlsBQNuaWwEBXByaWNlCQEFYXNJbnQBCQCRAwIFD25ldXRyaW5vTWV0cmljcwUPbk1ldHJpY0lkeFByaWNlBA9zd2FwUGFyYW1zVHVwbGUJARJhc1N3YXBQYXJhbXNTVFJVQ1QBCQD8BwQFEG5ldXRyaW5vQ29udHJhY3QCG3N3YXBQYXJhbXNCeVVzZXJTWVNSRUFET05MWQkAzAgCBRV1c2VyQWRkcmVzc1N0ck9yRW1wdHkJAMwIAgAABQNuaWwFA25pbAQSbGltaXRNYXhUb2tlbkluVXNkCAUPc3dhcFBhcmFtc1R1cGxlAl8xBA5ibGNrczJMbXRSZXNldAgFD3N3YXBQYXJhbXNUdXBsZQJfMwQMbGltaXRNYXhVc2RuCAUPc3dhcFBhcmFtc1R1cGxlAl83BAdhc3NldElkCQDZBAEFDGFzc2V0SWRTdHJJbgQMYmFza2V0QXNzZXRzCQELdmFsdWVPckVsc2UCCQCdCAIFEG5ldXRyaW5vQ29udHJhY3QJAQ9iYXNrZXRBc3NldHNLZXkAAgVXQVZFUwQIc3dhcFR5cGUDCQEIY29udGFpbnMCBQxiYXNrZXRBc3NldHMFDGFzc2V0SWRTdHJJbgILb3V0TmV1dHJpbm8DCQAAAgUHYXNzZXRJZAUPbmV1dHJpbm9Bc3NldElkAghvdXRNdWx0aQkAAgEJAKwCAgITQ2FuJ3Qgc3dhcCBhc3NldElkPQUMYXNzZXRJZFN0ckluBA13aXRoZHJhd1R1cGxlCQEWYXNXaXRoZHJhd1Jlc3VsdFNUUlVDVAEJAPwHBAUQbmV1dHJpbm9Db250cmFjdAIdY2FsY1dpdGhkcmF3UmVzdWx0U1lTUkVBRE9OTFkJAMwIAgUIc3dhcFR5cGUJAMwIAgUIYW1vdW50SW4JAMwIAgUFcHJpY2UJAMwIAgUMYXNzZXRJZFN0ckluCQDMCAIFFGFzc2V0SWRTdHJPdXRPckVtcHR5BQNuaWwFA25pbAQPb3V0TmV1dHJpbm9JbmZvCQC5CQIJAMwIAgUVbmV1dHJpbm9Bc3NldElkU3RyaW5nCQDMCAIJAKQDAQgFDXdpdGhkcmF3VHVwbGUCXzgJAMwIAgkApAMBCAUNd2l0aGRyYXdUdXBsZQJfMQkAzAgCCQCkAwEIBQ13aXRoZHJhd1R1cGxlAl82CQDMCAICBzEwMDAwMDAFA25pbAUHTElTVFNFUAQOd2l0aGRyYXdCYXNrZXQDCQAAAgUIc3dhcFR5cGUCC291dE5ldXRyaW5vBQ9vdXROZXV0cmlub0luZm8IBQ13aXRoZHJhd1R1cGxlAl85CQCUCgIFA25pbAkAugkCCQDMCAICCCVkJWQlZCVzCQDMCAIJAKQDAQUOYmxja3MyTG10UmVzZXQJAMwIAgkApAMBBRJsaW1pdE1heFRva2VuSW5Vc2QJAMwIAgkApAMBBQxsaW1pdE1heFVzZG4JAMwIAgUOd2l0aGRyYXdCYXNrZXQFA25pbAUDU0VQEAFpARhyZXZlcnNlU3dhcExpbWl0UkVBRE9OTFkCA2xpbQppc091dE11bHRpBAJCUgkBBWFzSW50AQkAkQMCCQEJYXNBbnlMaXN0AQkA/AcEBQxtYXRoQ29udHJhY3QCGmNhbGNOZXV0aW5vTWV0cmljc1JFQURPTkxZBQNuaWwFA25pbAUMbk1ldHJpY0lkeEJSBAVnTnNidAMJAGcCAAAFA2xpbQAABAhhUGFyYW1YOAkAtgIBCQEMZ2V0SW50T3JGYWlsAgUMbWF0aENvbnRyYWN0AwUKaXNPdXRNdWx0aQkBF2tleVVzZG5Td2FwQW1vdW50QVBhcmFtAAkBE2tleVN3YXBBbW91bnRBUGFyYW0ABAliUGFyYW1YMTYJALYCAQkBDGdldEludE9yRmFpbAIFDG1hdGhDb250cmFjdAMFCmlzT3V0TXVsdGkJARdrZXlVc2RuU3dhcEFtb3VudEJQYXJhbQAJARNrZXlTd2FwQW1vdW50QlBhcmFtAAQJbGltRGl2QVg4AwUKaXNPdXRNdWx0aQkAvAIDCQC8AgMJALYCAQUDbGltBQdNVUxUWDEwBQhhUGFyYW1YOAUGTVVMVFg2CQC2AgEFAkJSCQC8AgMJALYCAQUDbGltBQdNVUxUWDEwBQhhUGFyYW1YOAQHcmV2QlgxNgkAvAIDBQdNVUxUWDE2BQdNVUxUWDE2BQliUGFyYW1YMTYJAKADAQkAdgYFCWxpbURpdkFYOAAIBQdyZXZCWDE2ABAABgUHQ0VJTElORwkAlAoCBQNuaWwFBWdOc2J0AWkBEWduc2J0SW5mb0lOVEVSTkFMAxV1c2VyQWRkcmVzc1N0ck9yRW1wdHkbYWRkaXRpb25hbE5zYnRUb1N0YWtlT3JaZXJvG2FkZGl0aW9uYWxTdXJmVG9TdGFrZU9yWmVybwQRdXNlckFkZHJlc3NPclRoaXMDCQECIT0CBRV1c2VyQWRkcmVzc1N0ck9yRW1wdHkCAAkBEUBleHRyTmF0aXZlKDEwNjIpAQUVdXNlckFkZHJlc3NTdHJPckVtcHR5BQR0aGlzBAxjdXJyZW50UHJpY2UJARFAZXh0ck5hdGl2ZSgxMDUwKQIFD2NvbnRyb2xDb250cmFjdAkBCGtleVByaWNlAAQRZ25zYnRGcm9tTnNidERpZmYFG2FkZGl0aW9uYWxOc2J0VG9TdGFrZU9yWmVybwQRZ25zYnRGcm9tU3VyZkRpZmYJAQVhc0ludAEJAPwHBAUTc3VyZlN0YWtpbmdDb250cmFjdAIYZ25zYnRGcm9tU3VyZlNZU1JFQURPTkxZCQDMCAIFG2FkZGl0aW9uYWxTdXJmVG9TdGFrZU9yWmVybwUDbmlsBQNuaWwECWdOc2J0RGlmZgkAZAIFEWduc2J0RnJvbU5zYnREaWZmBRFnbnNidEZyb21TdXJmRGlmZgQPc3dhcFBhcmFtc1R1cGxlCQESYXNTd2FwUGFyYW1zU1RSVUNUAQkA/AcEBRBuZXV0cmlub0NvbnRyYWN0Ahtzd2FwUGFyYW1zQnlVc2VyU1lTUkVBRE9OTFkJAMwIAgUVdXNlckFkZHJlc3NTdHJPckVtcHR5CQDMCAIAAAUDbmlsBQNuaWwEEGxpbWl0TWF4VG9rZW5Vc2QIBQ9zd2FwUGFyYW1zVHVwbGUCXzEEDmJsY2tzMkxtdFJlc2V0CAUPc3dhcFBhcmFtc1R1cGxlAl8zBAhnbnNidEFtdAgFD3N3YXBQYXJhbXNUdXBsZQJfNAQNZ25zYnRBbXRUb3RhbAgFD3N3YXBQYXJhbXNUdXBsZQJfNQQMbGltaXRNYXhVc2RuCAUPc3dhcFBhcmFtc1R1cGxlAl83BBJzd2FwUGFyYW1zVHVwbGVORVcJARJhc1N3YXBQYXJhbXNTVFJVQ1QBCQD8BwQFEG5ldXRyaW5vQ29udHJhY3QCG3N3YXBQYXJhbXNCeVVzZXJTWVNSRUFET05MWQkAzAgCBRV1c2VyQWRkcmVzc1N0ck9yRW1wdHkJAMwIAgUJZ05zYnREaWZmBQNuaWwFA25pbAQTbGltaXRNYXhUb2tlblVzZE5FVwgFEnN3YXBQYXJhbXNUdXBsZU5FVwJfMQQRYmxja3MyTG10UmVzZXRORVcIBRJzd2FwUGFyYW1zVHVwbGVORVcCXzMEC2duc2J0QW10TkVXCAUSc3dhcFBhcmFtc1R1cGxlTkVXAl80BBBnbnNidEFtdFRvdGFsTkVXCAUSc3dhcFBhcmFtc1R1cGxlTkVXAl81BA9saW1pdE1heFVzZG5ORVcIBRJzd2FwUGFyYW1zVHVwbGVORVcCXzcEC25zYnRCYWxhbmNlAwkBAiE9AgUVdXNlckFkZHJlc3NTdHJPckVtcHR5AgAJAPAHAgURdXNlckFkZHJlc3NPclRoaXMFC25zYnRBc3NldElkAAAEC3N1cmZCYWxhbmNlAwkBAiE9AgUVdXNlckFkZHJlc3NTdHJPckVtcHR5AgAJAPAHAgURdXNlckFkZHJlc3NPclRoaXMFC3N1cmZBc3NldElkAAAED25zYnRCYWxhbmNlRGlmZgMJAGcCBRthZGRpdGlvbmFsTnNidFRvU3Rha2VPclplcm8AAAUbYWRkaXRpb25hbE5zYnRUb1N0YWtlT3JaZXJvBBFuc2J0VW5zdGFraW5nRGF0YQkBCWFzQW55TGlzdAEJAPwHBAUTbnNidFN0YWtpbmdDb250cmFjdAIYbnNidFVuc3Rha2luZ1NZU1JFQURPTkxZCQDMCAIFFXVzZXJBZGRyZXNzU3RyT3JFbXB0eQkAzAgCCQBoAgD///////////8BBRthZGRpdGlvbmFsTnNidFRvU3Rha2VPclplcm8FA25pbAUDbmlsBBFuc2J0UmVjZWl2ZUFtb3VudAkBBWFzSW50AQkAkQMCBRFuc2J0VW5zdGFraW5nRGF0YQACBAZyZXN1bHQJAQEtAQURbnNidFJlY2VpdmVBbW91bnQFBnJlc3VsdAQObnNidEJhbGFuY2VOZXcJAGUCBQtuc2J0QmFsYW5jZQUPbnNidEJhbGFuY2VEaWZmBA5zdXJmQmFsYW5jZU5ldwkAZQIFC3N1cmZCYWxhbmNlBRthZGRpdGlvbmFsU3VyZlRvU3Rha2VPclplcm8ECWduc2J0RGF0YQkBCWFzQW55TGlzdAEJAPwHBAUXZ25zYnRDb250cm9sbGVyQ29udHJhY3QCFGduc2J0SW5mb1NZU1JFQURPTkxZCQDMCAIFFXVzZXJBZGRyZXNzU3RyT3JFbXB0eQkAzAgCBRthZGRpdGlvbmFsTnNidFRvU3Rha2VPclplcm8JAMwIAgUbYWRkaXRpb25hbFN1cmZUb1N0YWtlT3JaZXJvBQNuaWwFA25pbAQJZ25zYnRVc2VyCQEFYXNJbnQBCQCRAwIFCWduc2J0RGF0YQAABApnbnNidFRvdGFsCQEFYXNJbnQBCQCRAwIFCWduc2J0RGF0YQABBAhuc2J0RGF0YQkBCWFzQW55TGlzdAEJAJEDAgUJZ25zYnREYXRhAAIECHN1cmZEYXRhCQEJYXNBbnlMaXN0AQkAkQMCBQlnbnNidERhdGEAAwQUZ25zYnRTdXJmVG90YWxNYXR1cmUJAQVhc0ludAEJAJEDAgUJZ25zYnREYXRhAAYEEmduc2J0U3VyZlRvdGFsVGVlbgkBBWFzSW50AQkAkQMCBQlnbnNidERhdGEABwQRZ25zYnRTdXJmVG90YWxLaWQJAQVhc0ludAEJAJEDAgUJZ25zYnREYXRhAAgEE2duc2J0U3VyZlVzZXJNYXR1cmUJAQVhc0ludAEJAJEDAgUJZ25zYnREYXRhAAkEEWduc2J0U3VyZlVzZXJUZWVuCQEFYXNJbnQBCQCRAwIFCWduc2J0RGF0YQAKBBBnbnNidFN1cmZVc2VyS2lkCQEFYXNJbnQBCQCRAwIFCWduc2J0RGF0YQALBBNnbnNidEFtdEZyb21TdXJmTWF4CQBkAgkAZAIFE2duc2J0U3VyZlVzZXJNYXR1cmUFEWduc2J0U3VyZlVzZXJUZWVuBRBnbnNidFN1cmZVc2VyS2lkBBBnbnNidEFtdEZyb21Oc2J0CQEFYXNJbnQBCQCRAwIFCG5zYnREYXRhAAIEE2duc2J0QW10RnJvbU5zYnRORVcJAGQCBRBnbnNidEFtdEZyb21Oc2J0BRFnbnNidEZyb21Oc2J0RGlmZgQTZ25zYnRBbXRGcm9tU3VyZk5FVwkAZAIFE2duc2J0QW10RnJvbVN1cmZNYXgFEWduc2J0RnJvbVN1cmZEaWZmBBJnbnNidEZyb21Oc2J0VG90YWwJAQVhc0ludAEJAJEDAgUIbnNidERhdGEAAwQVZ25zYnRGcm9tTnNidFRvdGFsTkVXCQBkAgUSZ25zYnRGcm9tTnNidFRvdGFsBRFnbnNidEZyb21Oc2J0RGlmZgQVZ25zYnRGcm9tU3VyZlRvdGFsTkVXCQBkAgkAZAIJAGQCBRRnbnNidFN1cmZUb3RhbE1hdHVyZQUSZ25zYnRTdXJmVG90YWxUZWVuBRFnbnNidFN1cmZUb3RhbEtpZAURZ25zYnRGcm9tU3VyZkRpZmYEC3ZvdGluZ1Bvd2VyCQBkAgUQZ25zYnRBbXRGcm9tTnNidAUTZ25zYnRTdXJmVXNlck1hdHVyZQQOdm90aW5nUG93ZXJOZXcJAGQCBRNnbnNidEFtdEZyb21Oc2J0TkVXBRNnbnNidFN1cmZVc2VyTWF0dXJlBA52b3RpbmdQb3dlck1heAkAZAIFEGduc2J0QW10RnJvbU5zYnQFE2duc2J0QW10RnJvbVN1cmZNYXgEEXZvdGluZ1Bvd2VyTWF4TmV3CQBkAgkAZAIFE2duc2J0QW10RnJvbU5zYnRORVcFE2duc2J0QW10RnJvbVN1cmZNYXgFEWduc2J0RnJvbVN1cmZEaWZmBAJXMgkBDGdldEludE9yRWxzZQMFE3N1cmZTdGFraW5nQ29udHJhY3QJARNrZXlWcFBlcmlvZER1cmF0aW9uAAUNREVGQVVMVFBFUklPRAQGcGVyaW9kCQBpAgUGaGVpZ2h0BQJXMgQOdm90aW5nUG93ZXJFdGEDCQECIT0CBRBnbnNidFN1cmZVc2VyS2lkAAAJAGgCCQBkAgUGcGVyaW9kAAIFAlcyAwkBAiE9AgURZ25zYnRTdXJmVXNlclRlZW4AAAkAaAIJAGQCBQZwZXJpb2QAAQUCVzIFBmhlaWdodAQRdm90aW5nUG93ZXJFdGFOZXcDCQECIT0CBRFnbnNidEZyb21TdXJmRGlmZgAACQBoAgkAZAIFBnBlcmlvZAACBQJXMgUOdm90aW5nUG93ZXJFdGEJAJQKAgUDbmlsCQDMCAIAAAkAzAgCBQtuc2J0QmFsYW5jZQkAzAgCBQtzdXJmQmFsYW5jZQkAzAgCBQ5uc2J0QmFsYW5jZU5ldwkAzAgCBQ5zdXJmQmFsYW5jZU5ldwkAzAgCBRBnbnNidEFtdEZyb21Oc2J0CQDMCAIFE2duc2J0U3VyZlVzZXJNYXR1cmUJAMwIAgUTZ25zYnRBbXRGcm9tTnNidE5FVwkAzAgCBRNnbnNidEFtdEZyb21TdXJmTkVXCQDMCAIFEmduc2J0RnJvbU5zYnRUb3RhbAkAzAgCBRRnbnNidFN1cmZUb3RhbE1hdHVyZQkAzAgCBRVnbnNidEZyb21Oc2J0VG90YWxORVcJAMwIAgUVZ25zYnRGcm9tU3VyZlRvdGFsTkVXCQDMCAIFDGxpbWl0TWF4VXNkbgkAzAgCBRBsaW1pdE1heFRva2VuVXNkCQDMCAIFD2xpbWl0TWF4VXNkbk5FVwkAzAgCBRNsaW1pdE1heFRva2VuVXNkTkVXCQDMCAIFDmJsY2tzMkxtdFJlc2V0CQDMCAIFEWJsY2tzMkxtdFJlc2V0TkVXCQDMCAIFC3ZvdGluZ1Bvd2VyCQDMCAIFDnZvdGluZ1Bvd2VyTmV3CQDMCAIFDnZvdGluZ1Bvd2VyTWF4CQDMCAIFEXZvdGluZ1Bvd2VyTWF4TmV3CQDMCAIFDnZvdGluZ1Bvd2VyRXRhCQDMCAIFEXZvdGluZ1Bvd2VyRXRhTmV3BQNuaWwBaQERZ25zYnRJbmZvUkVBRE9OTFkDFXVzZXJBZGRyZXNzU3RyT3JFbXB0eRthZGRpdGlvbmFsTnNidFRvU3Rha2VPclplcm8bYWRkaXRpb25hbFN1cmZUb1N0YWtlT3JaZXJvBA1nbnNidEluZm9EQVRBCQEJYXNBbnlMaXN0AQkA/AcEBQR0aGlzAhFnbnNidEluZm9JTlRFUk5BTAkAzAgCBRV1c2VyQWRkcmVzc1N0ck9yRW1wdHkJAMwIAgUbYWRkaXRpb25hbE5zYnRUb1N0YWtlT3JaZXJvCQDMCAIFG2FkZGl0aW9uYWxTdXJmVG9TdGFrZU9yWmVybwUDbmlsBQNuaWwJAJQKAgUDbmlsCQC5CQIJAMwIAgIwJWQlZCVkJWQlZCVkJWQlZCVkJWQlZCVkJWQlZCVkJWQlZCVkJWQlZCVkJWQlZCVkCQDMCAIJAKQDAQkBBWFzSW50AQkAkQMCBQ1nbnNidEluZm9EQVRBAAEJAMwIAgkApAMBCQEFYXNJbnQBCQCRAwIFDWduc2J0SW5mb0RBVEEAAgkAzAgCCQCkAwEJAQVhc0ludAEJAJEDAgUNZ25zYnRJbmZvREFUQQADCQDMCAIJAKQDAQkBBWFzSW50AQkAkQMCBQ1nbnNidEluZm9EQVRBAAQJAMwIAgkApAMBCQEFYXNJbnQBCQCRAwIFDWduc2J0SW5mb0RBVEEABQkAzAgCCQCkAwEJAQVhc0ludAEJAJEDAgUNZ25zYnRJbmZvREFUQQAGCQDMCAIJAKQDAQkBBWFzSW50AQkAkQMCBQ1nbnNidEluZm9EQVRBAAcJAMwIAgkApAMBCQEFYXNJbnQBCQCRAwIFDWduc2J0SW5mb0RBVEEACAkAzAgCCQCkAwEJAQVhc0ludAEJAJEDAgUNZ25zYnRJbmZvREFUQQAJCQDMCAIJAKQDAQkBBWFzSW50AQkAkQMCBQ1nbnNidEluZm9EQVRBAAoJAMwIAgkApAMBCQEFYXNJbnQBCQCRAwIFDWduc2J0SW5mb0RBVEEACwkAzAgCCQCkAwEJAQVhc0ludAEJAJEDAgUNZ25zYnRJbmZvREFUQQAMCQDMCAIJAKQDAQkBBWFzSW50AQkAkQMCBQ1nbnNidEluZm9EQVRBAA0JAMwIAgkApAMBCQEFYXNJbnQBCQCRAwIFDWduc2J0SW5mb0RBVEEADgkAzAgCCQCkAwEJAQVhc0ludAEJAJEDAgUNZ25zYnRJbmZvREFUQQAPCQDMCAIJAKQDAQkBBWFzSW50AQkAkQMCBQ1nbnNidEluZm9EQVRBABAJAMwIAgkApAMBCQEFYXNJbnQBCQCRAwIFDWduc2J0SW5mb0RBVEEAEQkAzAgCCQCkAwEJAQVhc0ludAEJAJEDAgUNZ25zYnRJbmZvREFUQQASCQDMCAIJAKQDAQkBBWFzSW50AQkAkQMCBQ1nbnNidEluZm9EQVRBABMJAMwIAgkApAMBCQEFYXNJbnQBCQCRAwIFDWduc2J0SW5mb0RBVEEAFAkAzAgCCQCkAwEJAQVhc0ludAEJAJEDAgUNZ25zYnRJbmZvREFUQQAVCQDMCAIJAKQDAQkBBWFzSW50AQkAkQMCBQ1nbnNidEluZm9EQVRBABYJAMwIAgkApAMBCQEFYXNJbnQBCQCRAwIFDWduc2J0SW5mb0RBVEEAFwkAzAgCCQCkAwEJAQVhc0ludAEJAJEDAgUNZ25zYnRJbmZvREFUQQAYBQNuaWwFA1NFUAFpARZnbnNidEVmZmVjdGl2ZVJFQURPTkxZARV1c2VyQWRkcmVzc1N0ck9yRW1wdHkECWduc2J0RGF0YQkBCWFzQW55TGlzdAEJAPwHBAUXZ25zYnRDb250cm9sbGVyQ29udHJhY3QCFGduc2J0SW5mb1NZU1JFQURPTkxZCQDMCAIFFXVzZXJBZGRyZXNzU3RyT3JFbXB0eQkAzAgCAAAJAMwIAgAABQNuaWwFA25pbAQIbnNidERhdGEJAQlhc0FueUxpc3QBCQCRAwIFCWduc2J0RGF0YQACBAx1c2VyRnJvbU5zYnQJAQVhc0ludAEJAJEDAgUIbnNidERhdGEAAgQNdG90YWxGcm9tTnNidAkBBWFzSW50AQkAkQMCBQhuc2J0RGF0YQADBBJ1c2VyTWF0dXJlRnJvbVN1cmYJAQVhc0ludAEJAJEDAgUJZ25zYnREYXRhAAkEE3RvdGFsTWF0dXJlRnJvbVN1cmYJAQVhc0ludAEJAJEDAgUJZ25zYnREYXRhAAYJAJQKAgUDbmlsCQC5CQIJAMwIAgIEJWQlZAkAzAgCCQCkAwEJAGQCBQ10b3RhbEZyb21Oc2J0BRN0b3RhbE1hdHVyZUZyb21TdXJmCQDMCAIJAKQDAQkAZAIFDHVzZXJGcm9tTnNidAUSdXNlck1hdHVyZUZyb21TdXJmBQNuaWwFA1NFUAFpARJyZXdhcmRJbmZvUkVBRE9OTFkBFXVzZXJBZGRyZXNzU3RyT3JFbXB0eQQLcmV3YXJkc0RhdGEJAQlhc0FueUxpc3QBCQD8BwQFF2duc2J0Q29udHJvbGxlckNvbnRyYWN0AhdnbnNidFJld2FyZHNTWVNSRUFET05MWQkAzAgCBRV1c2VyQWRkcmVzc1N0ck9yRW1wdHkFA25pbAUDbmlsBAt1c2RuUmV3YXJkcwkBCGFzU3RyaW5nAQkA/AcEBQtycGRDb250cmFjdAIYdW5jbGFpbWVkUmV3YXJkc1JFQURPTkxZCQDMCAIFFXVzZXJBZGRyZXNzU3RyT3JFbXB0eQUDbmlsBQNuaWwJAJQKAgUDbmlsCQC6CQIJAMwIAgIGJXMlcyVzCQDMCAIJAQhhc1N0cmluZwEJAJEDAgULcmV3YXJkc0RhdGEAAAkAzAgCCQEIYXNTdHJpbmcBCQCRAwIFC3Jld2FyZHNEYXRhAAEJAMwIAgULdXNkblJld2FyZHMFA25pbAUDU0VQAWkBEW1lcmdlTnNidFJFQURPTkxZAhR1c2VyQWRkcmVzc01hbmRhdG9yeQluZXdBbW91bnQECG5zYnREYXRhCQEJYXNBbnlMaXN0AQkA/AcEBRNuc2J0U3Rha2luZ0NvbnRyYWN0AhZuc2J0U3Rha2luZ1NZU1JFQURPTkxZCQDMCAIFFHVzZXJBZGRyZXNzTWFuZGF0b3J5CQDMCAIFCW5ld0Ftb3VudAUDbmlsBQNuaWwEB2Ftb3VudDAJAQVhc0ludAEJAJEDAgUIbnNidERhdGEAAAQLc3RhcnRIZWlnaHQDCQBnAgAABQdhbW91bnQwAP///////////wEJAQVhc0ludAEJAJEDAgUIbnNidERhdGEAAgQOc3RhcnRUaW1lc3RhbXAJAQt0b1RpbWVzdGFtcAEFC3N0YXJ0SGVpZ2h0BA5zdGFydEhlaWdodE5ldwMJAGcCAAAFCW5ld0Ftb3VudAULc3RhcnRIZWlnaHQDCQBnAgAABQdhbW91bnQwBQZoZWlnaHQECGhhbGZMaWZlCQEMZ2V0SW50T3JGYWlsAgUTbnNidFN0YWtpbmdDb250cmFjdAkBC2tleUhhbGZMaWZlAAkBBWFzSW50AQkA/AcEBQxtYXRoQ29udHJhY3QCE21lcmdlU3Rha2VzUkVBRE9OTFkJAMwIAgUHYW1vdW50MAkAzAgCBQtzdGFydEhlaWdodAkAzAgCBQluZXdBbW91bnQJAMwIAgUGaGVpZ2h0CQDMCAIFCGhhbGZMaWZlBQNuaWwFA25pbAQRc3RhcnRUaW1lc3RhbXBOZXcJAQt0b1RpbWVzdGFtcAEFDnN0YXJ0SGVpZ2h0TmV3CQCUCgIFA25pbAkAuQkCCQDMCAICCCVkJWQlZCVkCQDMCAIJAKQDAQULc3RhcnRIZWlnaHQJAMwIAgkApAMBBQ5zdGFydFRpbWVzdGFtcAkAzAgCCQCkAwEFDnN0YXJ0SGVpZ2h0TmV3CQDMCAIJAKQDAQURc3RhcnRUaW1lc3RhbXBOZXcFA25pbAUDU0VQAWkBG3N3YXBMaW1pdENhbGN1bGF0b3JSRUFET05MWQMRdXNlckFkZHJlc3NTdHJPcHQLbGltaXRXYW50ZWQKYXNzZXRJZFN0cgQMZ05zYnRDdXJyZW50AwkAAAIFEXVzZXJBZGRyZXNzU3RyT3B0AgAAAAkBBWFzSW50AQgJARJhc1N3YXBQYXJhbXNTVFJVQ1QBCQD8BwQFEG5ldXRyaW5vQ29udHJhY3QCG3N3YXBQYXJhbXNCeVVzZXJTWVNSRUFET05MWQkAzAgCBRF1c2VyQWRkcmVzc1N0ck9wdAkAzAgCAAAFA25pbAUDbmlsAl80BAVwcmljZQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCaCAIFD2NvbnRyb2xDb250cmFjdAkBD2tleVByaWNlQnlBc3NldAEFCmFzc2V0SWRTdHIJAKwCAgITTm8gcHJpY2UgZm9yIGFzc2V0IAUKYXNzZXRJZFN0cgQKaXNPdXRNdWx0aQkAAAIFCmFzc2V0SWRTdHIFFW5ldXRyaW5vQXNzZXRJZFN0cmluZwQPbGltaXRXYW50ZWRVc2RuAwUKaXNPdXRNdWx0aQULbGltaXRXYW50ZWQJARFjb252ZXJ0VG9rZW5Ub1VzZAIFC2xpbWl0V2FudGVkBQVwcmljZQQLZ05zYnROZWVkZWQJAQVhc0ludAEJAPwHBAUEdGhpcwIYcmV2ZXJzZVN3YXBMaW1pdFJFQURPTkxZCQDMCAIFD2xpbWl0V2FudGVkVXNkbgkAzAgCBQppc091dE11bHRpBQNuaWwFA25pbAQKZ05zYnREZWx0YQkAZQIFC2dOc2J0TmVlZGVkBQxnTnNidEN1cnJlbnQJAJQKAgUDbmlsCQC5CQIJAMwIAgIEJXMlcwkAzAgCCQCkAwEFDGdOc2J0Q3VycmVudAkAzAgCCQCkAwEFCmdOc2J0RGVsdGEFA25pbAUDU0VQAWkBEHN3YXBJbmZvUkVBRE9OTFkDFXVzZXJBZGRyZXNzU3RyT3JFbXB0eQZhbW91bnQKYXNzZXRJZFN0cgQPbmV1dHJpbm9NZXRyaWNzCQEJYXNBbnlMaXN0AQkA/AcEBQxtYXRoQ29udHJhY3QCGmNhbGNOZXV0aW5vTWV0cmljc1JFQURPTkxZBQNuaWwFA25pbAQFcHJpY2UJAQVhc0ludAEJAJEDAgUPbmV1dHJpbm9NZXRyaWNzBQ9uTWV0cmljSWR4UHJpY2UED3N3YXBQYXJhbXNUdXBsZQkBEmFzU3dhcFBhcmFtc1NUUlVDVAEJAPwHBAUQbmV1dHJpbm9Db250cmFjdAIbc3dhcFBhcmFtc0J5VXNlclNZU1JFQURPTkxZCQDMCAIFFXVzZXJBZGRyZXNzU3RyT3JFbXB0eQkAzAgCAAAFA25pbAUDbmlsBBJsaW1pdE1heFRva2VuSW5Vc2QIBQ9zd2FwUGFyYW1zVHVwbGUCXzEEDmJsY2tzMkxtdFJlc2V0CAUPc3dhcFBhcmFtc1R1cGxlAl8zBAxsaW1pdE1heFVzZG4IBQ9zd2FwUGFyYW1zVHVwbGUCXzcEB2Fzc2V0SWQJANkEAQUKYXNzZXRJZFN0cgQMYmFza2V0QXNzZXRzCQELdmFsdWVPckVsc2UCCQCdCAIFEG5ldXRyaW5vQ29udHJhY3QJAQ9iYXNrZXRBc3NldHNLZXkAAgVXQVZFUwQIc3dhcFR5cGUDCQEIY29udGFpbnMCBQxiYXNrZXRBc3NldHMFCmFzc2V0SWRTdHICC291dE5ldXRyaW5vAwkAAAIFB2Fzc2V0SWQFD25ldXRyaW5vQXNzZXRJZAIIb3V0TXVsdGkJAAIBCQCsAgICE0Nhbid0IHN3YXAgYXNzZXRJZD0FCmFzc2V0SWRTdHIEDXdpdGhkcmF3VHVwbGUJARZhc1dpdGhkcmF3UmVzdWx0U1RSVUNUAQkA/AcEBRBuZXV0cmlub0NvbnRyYWN0Ah1jYWxjV2l0aGRyYXdSZXN1bHRTWVNSRUFET05MWQkAzAgCBQhzd2FwVHlwZQkAzAgCBQZhbW91bnQJAMwIAgUFcHJpY2UJAMwIAgUKYXNzZXRJZFN0cgkAzAgCAgAFA25pbAUDbmlsBAxvdXROZXRBbW91bnQIBQ13aXRoZHJhd1R1cGxlAl8xBApvdXRTdXJmQW10CAUNd2l0aGRyYXdUdXBsZQJfMwQPaW5BbXRUb1N1cmZQYXJ0CAUNd2l0aGRyYXdUdXBsZQJfNAQMb3V0RmVlQW1vdW50CAUNd2l0aGRyYXdUdXBsZQJfNgQLb3V0QW10R3Jvc3MIBQ13aXRoZHJhd1R1cGxlAl83BA13aXRoZHJhd1ByaWNlCAUNd2l0aGRyYXdUdXBsZQJfOAkAlAoCBQNuaWwJALkJAgkAzAgCAhAlZCVkJWQlZCVkJWQlZCVkCQDMCAIJAKQDAQUMb3V0TmV0QW1vdW50CQDMCAIJAKQDAQUKb3V0U3VyZkFtdAkAzAgCCQCkAwEFDG91dEZlZUFtb3VudAkAzAgCCQCkAwEFDXdpdGhkcmF3UHJpY2UJAMwIAgkApAMBBQ5ibGNrczJMbXRSZXNldAkAzAgCCQCkAwEFEmxpbWl0TWF4VG9rZW5JblVzZAkAzAgCCQCkAwEFDGxpbWl0TWF4VXNkbgkAzAgCCQCkAwEFD2luQW10VG9TdXJmUGFydAUDbmlsBQNTRVABaQESc3dhcEluZm9WMlJFQURPTkxZAxV1c2VyQWRkcmVzc1N0ck9yRW1wdHkGYW1vdW50CmFzc2V0SWRTdHIJARBzd2FwSW5mb0ludGVybmFsBAUVdXNlckFkZHJlc3NTdHJPckVtcHR5BQZhbW91bnQFCmFzc2V0SWRTdHICAAFpARJzd2FwSW5mb1YzUkVBRE9OTFkEFXVzZXJBZGRyZXNzU3RyT3JFbXB0eQhhbW91bnRJbgxhc3NldElkU3RySW4UYXNzZXRJZFN0ck91dE9yRW1wdHkJARBzd2FwSW5mb0ludGVybmFsBAUVdXNlckFkZHJlc3NTdHJPckVtcHR5BQhhbW91bnRJbgUMYXNzZXRJZFN0ckluBRRhc3NldElkU3RyT3V0T3JFbXB0eQFpARJiYXNrZXRJbmZvUkVBRE9OTFkABA9uZXV0cmlub01ldHJpY3MJAQlhc0FueUxpc3QBCQD8BwQFDG1hdGhDb250cmFjdAIaY2FsY05ldXRpbm9NZXRyaWNzUkVBRE9OTFkFA25pbAUDbmlsBApiYXNrZXRJbmZvCQEIYXNTdHJpbmcBCQCRAwIFD25ldXRyaW5vTWV0cmljcwURbk1ldHJpY0Jhc2tldEluZm8EBmJhc2tldAkAvAkCBQpiYXNrZXRJbmZvAgFfCgEGbW9kaWZ5AgNhY2MEaXRlbQQFcGFydHMJALUJAgUEaXRlbQUHTElTVFNFUAQHYXNzZXRJZAkAkQMCBQVwYXJ0cwAABAVkbG9nNgkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCaCAIFEG5ldXRyaW5vQ29udHJhY3QJARJiYXNrZXRMb2diRGVsdGFLZXkAAh5sb2coYiwgZGVsdGEpIGtleSBpcyB1bmRlZmluZWQEAkQ2CQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJoIAgUQbmV1dHJpbm9Db250cmFjdAkBCmJhc2tldERLZXkAAhJEIGtleSBpcyB1bmRlZmluZWQEAmI2CQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJoIAgUQbmV1dHJpbm9Db250cmFjdAkBCmJhc2tldEJLZXkAAhJiIGtleSBpcyB1bmRlZmluZWQEAnc2CQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJoIAgUQbmV1dHJpbm9Db250cmFjdAkBFmJhc2tldFdlaWdodEJ5QXNzZXRLZXkBBQdhc3NldElkCQCsAgIJAKwCAgIYVGFyZ2V0IHdlaWdodCBmb3IgYXNzZXQgBQdhc3NldElkAg0gaXMgdW5kZWZpbmVkBAJwNgkAZAIJAGUCBQVkbG9nNgUCdzYJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQVwYXJ0cwABBAFkCQBlAgUCRDYJAGwGBQJiNgAGBQJwNgAGAAYFBkhBTEZVUAkAzQgCBQNhY2MJALkJAgkAzQgCCQDNCAIFBXBhcnRzCQCkAwEFAnc2CQCkAwEFAWQFB0xJU1RTRVAEAWIKAAIkbAUGYmFza2V0CgACJHMJAJADAQUCJGwKAAUkYWNjMAUDbmlsCgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQZtb2RpZnkCBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECFExpc3Qgc2l6ZSBleGNlZWRzIDEwCQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAAJAAoJAJQKAgUDbmlsCQCsAgICBCVzX18JALoJAgUBYgIBXwFpARZ1c2RuU3Rha2luZ0FwclJFQURPTkxZAQRkYXlzBAd0bXBEYXlzAAEED25ldXRyaW5vTWV0cmljcwkBCWFzQW55TGlzdAEJAPwHBAUMbWF0aENvbnRyYWN0AhpjYWxjTmV1dGlub01ldHJpY3NSRUFET05MWQUDbmlsBQNuaWwEDGN1cnJlbnRQcmljZQkBBWFzSW50AQkAkQMCBQ9uZXV0cmlub01ldHJpY3MFD25NZXRyaWNJZHhQcmljZQQLd2F2ZXNJbmNvbWUJAGgCAAAFBU1VTFQ4BA9pbmNvbWVGb3JQZXJpb2QJAGsDBQt3YXZlc0luY29tZQUMY3VycmVudFByaWNlBQVNVUxUOAQDYXByCQEHY2FsY0FwcgQFC3JwZENvbnRyYWN0BQd0bXBEYXlzBQ9pbmNvbWVGb3JQZXJpb2QFBU1VTFQ2CQCUCgIFA25pbAkArAICAgQlZF9fCQCkAwEFA2FwcgFpARZzdXJmU3Rha2luZ0FwclJFQURPTkxZAQRkYXlzBAd0bXBEYXlzAAMED2luY29tZUZvclBlcmlvZAkBF2NhbGNVc2RuSW5jb21lRm9yUGVyaW9kAgUTc3VyZlN0YWtpbmdDb250cmFjdAUHdG1wRGF5cwQRc3VyZlByaWNlVG9Vc2RuWDYAgKMFBANhcHIJAQdjYWxjQXByBAUTc3VyZlN0YWtpbmdDb250cmFjdAUHdG1wRGF5cwUPaW5jb21lRm9yUGVyaW9kBRFzdXJmUHJpY2VUb1VzZG5YNgkAlAoCBQNuaWwJAKwCAgIEJWRfXwkApAMBBQNhcHIBaQEYc3VyZlN0YWtpbmdBcHJWMlJFQURPTkxZAgRkYXlzD3N1cmZVc2RuUHJpY2VYNgQHdG1wRGF5cwADBA9pbmNvbWVGb3JQZXJpb2QJARdjYWxjVXNkbkluY29tZUZvclBlcmlvZAIFE3N1cmZTdGFraW5nQ29udHJhY3QFB3RtcERheXMEA2FwcgkBB2NhbGNBcHIEBRNzdXJmU3Rha2luZ0NvbnRyYWN0BQd0bXBEYXlzBQ9pbmNvbWVGb3JQZXJpb2QFD3N1cmZVc2RuUHJpY2VYNgkAlAoCBQNuaWwJAKwCAgIEJWRfXwkApAMBBQNhcHIBaQEWbnNidFN0YWtpbmdBcHJSRUFET05MWQEEZGF5cwQHdG1wRGF5cwADBBFuc2J0UHJpY2VUb1VzZG5YNgCApOgDBA9pbmNvbWVGb3JQZXJpb2QJARdjYWxjVXNkbkluY29tZUZvclBlcmlvZAIFE25zYnRTdGFraW5nQ29udHJhY3QFB3RtcERheXMEA2FwcgkBB2NhbGNBcHIEBRNuc2J0U3Rha2luZ0NvbnRyYWN0BQd0bXBEYXlzBQ9pbmNvbWVGb3JQZXJpb2QFEW5zYnRQcmljZVRvVXNkblg2CQCUCgIFA25pbAkArAICAgQlZF9fCQCkAwEFA2FwcgFpARhuc2J0U3Rha2luZ0FwclYyUkVBRE9OTFkCBGRheXMPbnNidFVzZG5QcmljZVg2BAd0bXBEYXlzAAMED2luY29tZUZvclBlcmlvZAkBF2NhbGNVc2RuSW5jb21lRm9yUGVyaW9kAgUTbnNidFN0YWtpbmdDb250cmFjdAUHdG1wRGF5cwQDYXByCQEHY2FsY0FwcgQFE25zYnRTdGFraW5nQ29udHJhY3QFB3RtcERheXMFD2luY29tZUZvclBlcmlvZAUPbnNidFVzZG5QcmljZVg2CQCUCgIFA25pbAkArAICAgQlZF9fCQCkAwEFA2FwcgBn6/+2", "height": 2734869, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: FqCyvpppz29Jz1RRhDknrvmM7QhkV9XL3QrKsLd1D4bT Next: 39L7vRpEnkpyAA1xv8pGHHy7DTU1APVc1EKpBt43Et9c Diff:
OldNewDifferences
410410 else if ((F == bE))
411411 then "outMulti"
412412 else throw(("Can't swap assetId=" + cw))
413- let cE = ar(invoke(bw, "calcWithdrawResultSYSREADONLY", [cD, cv, ad, cw], nil))
413+ let cE = ar(invoke(bw, "calcWithdrawResultSYSREADONLY", [cD, cv, ad, cw, cx], nil))
414414 let cF = makeString([bD, toString(cE._8), toString(cE._1), toString(cE._6), "1000000"], k)
415415 let cG = if ((cD == "outNeutrino"))
416416 then cF
417- else if ((cx == ""))
418- then cE._9
419- else "WAVES:38000000:123456:42:500000"
417+ else cE._9
420418 $Tuple2(nil, makeString_2C(["%d%d%d%s", toString(cA), toString(cz), toString(cB), cG], j))
421419 }
422420
602600 else if ((F == bE))
603601 then "outMulti"
604602 else throw(("Can't swap assetId=" + ed))
605- let cE = ar(invoke(bw, "calcWithdrawResultSYSREADONLY", [cD, ac, ad, ed], nil))
603+ let cE = ar(invoke(bw, "calcWithdrawResultSYSREADONLY", [cD, ac, ad, ed, ""], nil))
606604 let ei = cE._1
607605 let ej = cE._3
608606 let ek = cE._4
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = 271828182
55
66 let b = 1000000
77
88 let c = toBigInt(1000000)
99
1010 let d = 100000000
1111
1212 let e = toBigInt(100000000)
1313
1414 let f = toBigInt(10000000000)
1515
1616 let g = 1000000000000
1717
1818 let h = toBigInt(10000000000000000)
1919
2020 let i = toBigInt(1000000000000000000)
2121
2222 let j = "__"
2323
2424 let k = ":"
2525
2626 let l = 5000
2727
2828 let m = 20000
2929
3030 let n = 100000
3131
3232 let o = fromBase58String("WAVES")
3333
3434 let p = 86400000
3535
3636 let q = (1440 * 14)
3737
3838 func r () = "neutrino_asset_id"
3939
4040
4141 func s () = "bond_asset_id"
4242
4343
4444 func t () = "surf_asset_id"
4545
4646
4747 func u () = "%s%s__config__swapAParam"
4848
4949
5050 func v () = "%s%s__config__swapBParam"
5151
5252
5353 func w () = "%s%s__config__usdnSwapAParam"
5454
5555
5656 func x () = "%s%s__config__usdnSwapBParam"
5757
5858
5959 func y () = "%s__nsbtLockContract"
6060
6161
6262 func z () = "%s__mathContract"
6363
6464
6565 func A () = "%s%s__common__basketAssets"
6666
6767
6868 func B () = "%s%s__common__basketD"
6969
7070
7171 func C () = "%s%s__common__basketB"
7272
7373
7474 func D () = "%s%s__common__basketLogbDelta"
7575
7676
7777 func E (F) = ("%s%s%s__common__weightByAsset__" + F)
7878
7979
8080 func G () = "price"
8181
8282
8383 func H (F) = ("%s%s%s__common__priceByAsset__" + F)
8484
8585
8686 func I (J) = makeString(["%s%s%s", "paramByUser", J, "start"], j)
8787
8888
8989 func K () = "%s__halfLife"
9090
9191
9292 func L () = "%s__minLockAmount"
9393
9494
9595 func M () = makeString(["%s%s", "vp", "periodDuration"], j)
9696
9797
9898 func N () = "min_waves_nsbt_buy"
9999
100100
101101 func O () = "min_nsbt_sell"
102102
103103
104104 func P (Q) = makeString(["%s%s%d", "stats", "depositAmtByDay", toString(Q)], j)
105105
106106
107107 func R () = "supportedRewardAssets"
108108
109109
110110 func S (Q) = ((Q / p) * p)
111111
112112
113113 func T (U,V) = valueOrErrorMessage(getString(U, V), makeString(["mandatory ", toString(U), ".", V, " is not defined"], ""))
114114
115115
116116 func W (U,V) = valueOrErrorMessage(getInteger(U, V), makeString(["mandatory ", toString(U), ".", V, " is not defined"], ""))
117117
118118
119119 func X (U,V) = valueOrErrorMessage(getBoolean(U, V), makeString(["mandatory ", toString(U), ".", V, " is not defined"], ""))
120120
121121
122122 func Y (U,V,Z) = valueOrElse(getInteger(U, V), Z)
123123
124124
125125 func aa (U,V,Z) = valueOrElse(getString(U, V), Z)
126126
127127
128128 func ab (ac,ad) = fraction(ac, d, ad)
129129
130130
131131 func ae (ac,ad) = fraction(ac, ad, d)
132132
133133
134134 func af (ag) = {
135135 let ah = ag
136136 if ($isInstanceOf(ah, "List[Any]"))
137137 then {
138138 let ai = ah
139139 ai
140140 }
141141 else throw("fail to cast into List[Any]")
142142 }
143143
144144
145145 func aj (ag) = {
146146 let ah = ag
147147 if ($isInstanceOf(ah, "Int"))
148148 then {
149149 let ak = ah
150150 ak
151151 }
152152 else throw("fail to cast into Int")
153153 }
154154
155155
156156 func al (ag) = {
157157 let ah = ag
158158 if ($isInstanceOf(ah, "String"))
159159 then {
160160 let am = ah
161161 am
162162 }
163163 else throw("fail to cast into String")
164164 }
165165
166166
167167 func an (ag) = {
168168 let ah = ag
169169 if ($isInstanceOf(ah, "(Int, Int)"))
170170 then {
171171 let ao = ah
172172 ao
173173 }
174174 else throw("fail to cast into Tuple2 ints")
175175 }
176176
177177
178178 func ap (ag) = {
179179 let ah = ag
180180 if ($isInstanceOf(ah, "(Int, Int, Int, Int, Int, Int, Int)"))
181181 then {
182182 let aq = ah
183183 aq
184184 }
185185 else throw("fail to cast into SwapParamsSTRUCT")
186186 }
187187
188188
189189 func ar (ag) = {
190190 let ah = ag
191191 if (if ($isInstanceOf(ah, "(Int, Unit, Int, Int, Int, Int, Int, Int, String)"))
192192 then true
193193 else $isInstanceOf(ah, "(Int, ByteVector, Int, Int, Int, Int, Int, Int, String)"))
194194 then {
195195 let aq = ah
196196 aq
197197 }
198198 else throw("fail to cast into WithdrawResult")
199199 }
200200
201201
202202 func as (at) = if ((0 > at))
203203 then -1
204204 else {
205205 let ah = blockInfoByHeight(at)
206206 if ($isInstanceOf(ah, "BlockInfo"))
207207 then {
208208 let au = ah
209209 au.timestamp
210210 }
211211 else -1
212212 }
213213
214214
215215 func av (aw,ax) = fraction(toBigInt(aw), i, toBigInt(ax))
216216
217217
218218 func ay (ag,az) = toInt(fraction(ag, toBigInt(az), i))
219219
220220
221221 let aA = 0
222222
223223 let aB = 1
224224
225225 let aC = 2
226226
227227 let aD = 3
228228
229229 let aE = 4
230230
231231 let aF = 5
232232
233233 let aG = 6
234234
235235 let aH = 7
236236
237237 let aI = 8
238238
239239 let aJ = 9
240240
241241 let aK = 10
242242
243243 let aL = 11
244244
245245 let aM = 12
246246
247247 let aN = 13
248248
249249 let aO = 14
250250
251251 let aP = 15
252252
253253 let aQ = 16
254254
255255 let aR = 1
256256
257257 let aS = 2
258258
259259 let aT = 3
260260
261261 let aU = 4
262262
263263 let aV = 5
264264
265265 let aW = 6
266266
267267 let aX = 7
268268
269269 let aY = 8
270270
271271 let aZ = 9
272272
273273 let ba = 10
274274
275275 let bb = 11
276276
277277 let bc = 0
278278
279279 let bd = 1
280280
281281 let be = 2
282282
283283 let bf = 3
284284
285285 let bg = 4
286286
287287 let bh = 5
288288
289289 let bi = 6
290290
291291 let bj = 7
292292
293293 let bk = 8
294294
295295 let bl = 9
296296
297297 let bm = 10
298298
299299 func bn () = "%s%s__config__controlAddress"
300300
301301
302302 func bo () = "%s__controlConfig"
303303
304304
305305 func bp (bq) = split_4C(T(bq, bo()), j)
306306
307307
308308 func br (bs,bt) = valueOrErrorMessage(addressFromString(bs[bt]), ("Control cfg doesn't contain address at index " + toString(bt)))
309309
310310
311311 let bu = addressFromStringValue(valueOrElse(getString(this, bn()), "3N4NS7d4Jo9a6F14LiFUKKYVdUkkf2eP4Zx"))
312312
313313 let bs = bp(bu)
314314
315315 let bv = br(bs, aU)
316316
317317 let bw = br(bs, aR)
318318
319319 let bx = br(bs, aS)
320320
321321 let by = br(bs, aV)
322322
323323 let bz = br(bs, aT)
324324
325325 let bA = br(bs, aY)
326326
327327 let bB = br(bs, ba)
328328
329329 let bC = br(bs, bb)
330330
331331 let bD = T(bw, r())
332332
333333 let bE = fromBase58String(bD)
334334
335335 let bF = getStringValue(bw, s())
336336
337337 let bG = fromBase58String(bF)
338338
339339 let bH = getStringValue(bx, t())
340340
341341 let bI = fromBase58String(bH)
342342
343343 func bJ (bK,bL,bM) = {
344344 let bN = P(bL)
345345 let bO = aa(bK, bN, "%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d__0__0__0__0__0__0__0__0__0__0__0__0__0__0__0__0__0__0")
346346 let bP = split(bO, j)
347347 let bQ = split(aa(bv, R(), ""), "_")
348348 func bR (bS,bT) = {
349349 let F = bQ[bT]
350350 let bU = parseIntValue(bP[(bT + 1)])
351351 if ((F == bD))
352352 then (bS + bU)
353353 else {
354354 let bV = value(getInteger(bu, H(F)))
355355 let bW = fraction(bU, bV, d)
356356 (bS + fraction(bW, b, bM))
357357 }
358358 }
359359
360360 let bX = [0, 1, 2]
361361 let bY = size(bX)
362362 let bZ = 0
363363 func ca (cb,cc) = if ((cc >= bY))
364364 then cb
365365 else bR(cb, bX[cc])
366366
367367 func cd (cb,cc) = if ((cc >= bY))
368368 then cb
369369 else throw("List size exceeds 10")
370370
371371 cd(ca(ca(ca(ca(ca(ca(ca(ca(ca(ca(bZ, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
372372 }
373373
374374
375375 func ce (bK,cf) = {
376376 let cg = af(invoke(bv, "calcNeutinoMetricsREADONLY", nil, nil))
377377 let ch = S(lastBlock.timestamp)
378378 let ci = (ch - (p * (cf + 1)))
379379 let cj = (ch - p)
380380 let bM = aj(cg[aP])
381381 let ck = bJ(bK, ci, bM)
382382 let cl = bJ(bK, cj, bM)
383383 let cm = if ((ck == 0))
384384 then cl
385385 else ck
386386 (cl - cm)
387387 }
388388
389389
390390 func cn (bK,co,cp,cq) = {
391391 let cr = Y(bK, "%s%s__stats__activeTotalLocked", 1)
392392 let cs = fraction(cr, cq, b)
393393 if ((0 > cp))
394394 then 0
395395 else fraction((cp * b), 365, (cs * co))
396396 }
397397
398398
399399 func ct (cu,cv,cw,cx) = {
400400 let cg = af(invoke(bv, "calcNeutinoMetricsREADONLY", nil, nil))
401401 let ad = aj(cg[aA])
402402 let cy = ap(invoke(bw, "swapParamsByUserSYSREADONLY", [cu, 0], nil))
403403 let cz = cy._1
404404 let cA = cy._3
405405 let cB = cy._7
406406 let F = fromBase58String(cw)
407407 let cC = valueOrElse(getString(bw, A()), "WAVES")
408408 let cD = if (contains(cC, cw))
409409 then "outNeutrino"
410410 else if ((F == bE))
411411 then "outMulti"
412412 else throw(("Can't swap assetId=" + cw))
413- let cE = ar(invoke(bw, "calcWithdrawResultSYSREADONLY", [cD, cv, ad, cw], nil))
413+ let cE = ar(invoke(bw, "calcWithdrawResultSYSREADONLY", [cD, cv, ad, cw, cx], nil))
414414 let cF = makeString([bD, toString(cE._8), toString(cE._1), toString(cE._6), "1000000"], k)
415415 let cG = if ((cD == "outNeutrino"))
416416 then cF
417- else if ((cx == ""))
418- then cE._9
419- else "WAVES:38000000:123456:42:500000"
417+ else cE._9
420418 $Tuple2(nil, makeString_2C(["%d%d%d%s", toString(cA), toString(cz), toString(cB), cG], j))
421419 }
422420
423421
424422 @Callable(bT)
425423 func reverseSwapLimitREADONLY (cH,cI) = {
426424 let cJ = aj(af(invoke(bv, "calcNeutinoMetricsREADONLY", nil, nil))[aI])
427425 let cK = if ((0 >= cH))
428426 then 0
429427 else {
430428 let cL = toBigInt(W(bv, if (cI)
431429 then w()
432430 else u()))
433431 let cM = toBigInt(W(bv, if (cI)
434432 then x()
435433 else v()))
436434 let cN = if (cI)
437435 then fraction(fraction(toBigInt(cH), f, cL), c, toBigInt(cJ))
438436 else fraction(toBigInt(cH), f, cL)
439437 let cO = fraction(h, h, cM)
440438 toInt(pow(cN, 8, cO, 16, 6, CEILING))
441439 }
442440 $Tuple2(nil, cK)
443441 }
444442
445443
446444
447445 @Callable(bT)
448446 func gnsbtInfoINTERNAL (cu,cP,cQ) = {
449447 let cR = if ((cu != ""))
450448 then addressFromStringValue(cu)
451449 else this
452450 let cS = getIntegerValue(bu, G())
453451 let cT = cP
454452 let cU = aj(invoke(bB, "gnsbtFromSurfSYSREADONLY", [cQ], nil))
455453 let cV = (cT + cU)
456454 let cy = ap(invoke(bw, "swapParamsByUserSYSREADONLY", [cu, 0], nil))
457455 let cW = cy._1
458456 let cA = cy._3
459457 let cX = cy._4
460458 let cY = cy._5
461459 let cB = cy._7
462460 let cZ = ap(invoke(bw, "swapParamsByUserSYSREADONLY", [cu, cV], nil))
463461 let da = cZ._1
464462 let db = cZ._3
465463 let dc = cZ._4
466464 let dd = cZ._5
467465 let de = cZ._7
468466 let df = if ((cu != ""))
469467 then assetBalance(cR, bG)
470468 else 0
471469 let dg = if ((cu != ""))
472470 then assetBalance(cR, bI)
473471 else 0
474472 let dh = if ((cP >= 0))
475473 then cP
476474 else {
477475 let di = af(invoke(bA, "nsbtUnstakingSYSREADONLY", [cu, (-1 * cP)], nil))
478476 let dj = aj(di[2])
479477 let dk = -(dj)
480478 dk
481479 }
482480 let dl = (df - dh)
483481 let dm = (dg - cQ)
484482 let dn = af(invoke(bC, "gnsbtInfoSYSREADONLY", [cu, cP, cQ], nil))
485483 let do = aj(dn[0])
486484 let dp = aj(dn[1])
487485 let dq = af(dn[2])
488486 let dr = af(dn[3])
489487 let ds = aj(dn[6])
490488 let dt = aj(dn[7])
491489 let du = aj(dn[8])
492490 let dv = aj(dn[9])
493491 let dw = aj(dn[10])
494492 let dx = aj(dn[11])
495493 let dy = ((dv + dw) + dx)
496494 let dz = aj(dq[2])
497495 let dA = (dz + cT)
498496 let dB = (dy + cU)
499497 let dC = aj(dq[3])
500498 let dD = (dC + cT)
501499 let dE = (((ds + dt) + du) + cU)
502500 let dF = (dz + dv)
503501 let dG = (dA + dv)
504502 let dH = (dz + dy)
505503 let dI = ((dA + dy) + cU)
506504 let dJ = Y(bB, M(), q)
507505 let dK = (height / dJ)
508506 let dL = if ((dx != 0))
509507 then ((dK + 2) * dJ)
510508 else if ((dw != 0))
511509 then ((dK + 1) * dJ)
512510 else height
513511 let dM = if ((cU != 0))
514512 then ((dK + 2) * dJ)
515513 else dL
516514 $Tuple2(nil, [0, df, dg, dl, dm, dz, dv, dA, dB, dC, ds, dD, dE, cB, cW, de, da, cA, db, dF, dG, dH, dI, dL, dM])
517515 }
518516
519517
520518
521519 @Callable(bT)
522520 func gnsbtInfoREADONLY (cu,cP,cQ) = {
523521 let dN = af(invoke(this, "gnsbtInfoINTERNAL", [cu, cP, cQ], nil))
524522 $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d", toString(aj(dN[1])), toString(aj(dN[2])), toString(aj(dN[3])), toString(aj(dN[4])), toString(aj(dN[5])), toString(aj(dN[6])), toString(aj(dN[7])), toString(aj(dN[8])), toString(aj(dN[9])), toString(aj(dN[10])), toString(aj(dN[11])), toString(aj(dN[12])), toString(aj(dN[13])), toString(aj(dN[14])), toString(aj(dN[15])), toString(aj(dN[16])), toString(aj(dN[17])), toString(aj(dN[18])), toString(aj(dN[19])), toString(aj(dN[20])), toString(aj(dN[21])), toString(aj(dN[22])), toString(aj(dN[23])), toString(aj(dN[24]))], j))
525523 }
526524
527525
528526
529527 @Callable(bT)
530528 func gnsbtEffectiveREADONLY (cu) = {
531529 let dn = af(invoke(bC, "gnsbtInfoSYSREADONLY", [cu, 0, 0], nil))
532530 let dq = af(dn[2])
533531 let dO = aj(dq[2])
534532 let dP = aj(dq[3])
535533 let dQ = aj(dn[9])
536534 let dR = aj(dn[6])
537535 $Tuple2(nil, makeString(["%d%d", toString((dP + dR)), toString((dO + dQ))], j))
538536 }
539537
540538
541539
542540 @Callable(bT)
543541 func rewardInfoREADONLY (cu) = {
544542 let dS = af(invoke(bC, "gnsbtRewardsSYSREADONLY", [cu], nil))
545543 let dT = al(invoke(bz, "unclaimedRewardsREADONLY", [cu], nil))
546544 $Tuple2(nil, makeString_2C(["%s%s%s", al(dS[0]), al(dS[1]), dT], j))
547545 }
548546
549547
550548
551549 @Callable(bT)
552550 func mergeNsbtREADONLY (dU,dV) = {
553551 let dq = af(invoke(bA, "nsbtStakingSYSREADONLY", [dU, dV], nil))
554552 let dW = aj(dq[0])
555553 let dX = if ((0 >= dW))
556554 then -1
557555 else aj(dq[2])
558556 let ci = as(dX)
559557 let dY = if ((0 >= dV))
560558 then dX
561559 else if ((0 >= dW))
562560 then height
563561 else {
564562 let dZ = W(bA, K())
565563 aj(invoke(bv, "mergeStakesREADONLY", [dW, dX, dV, height, dZ], nil))
566564 }
567565 let ea = as(dY)
568566 $Tuple2(nil, makeString(["%d%d%d%d", toString(dX), toString(ci), toString(dY), toString(ea)], j))
569567 }
570568
571569
572570
573571 @Callable(bT)
574572 func swapLimitCalculatorREADONLY (eb,ec,ed) = {
575573 let ee = if ((eb == ""))
576574 then 0
577575 else aj(ap(invoke(bw, "swapParamsByUserSYSREADONLY", [eb, 0], nil))._4)
578576 let ad = valueOrErrorMessage(getInteger(bu, H(ed)), ("No price for asset " + ed))
579577 let cI = (ed == bD)
580578 let ef = if (cI)
581579 then ec
582580 else ae(ec, ad)
583581 let eg = aj(invoke(this, "reverseSwapLimitREADONLY", [ef, cI], nil))
584582 let eh = (eg - ee)
585583 $Tuple2(nil, makeString(["%s%s", toString(ee), toString(eh)], j))
586584 }
587585
588586
589587
590588 @Callable(bT)
591589 func swapInfoREADONLY (cu,ac,ed) = {
592590 let cg = af(invoke(bv, "calcNeutinoMetricsREADONLY", nil, nil))
593591 let ad = aj(cg[aA])
594592 let cy = ap(invoke(bw, "swapParamsByUserSYSREADONLY", [cu, 0], nil))
595593 let cz = cy._1
596594 let cA = cy._3
597595 let cB = cy._7
598596 let F = fromBase58String(ed)
599597 let cC = valueOrElse(getString(bw, A()), "WAVES")
600598 let cD = if (contains(cC, ed))
601599 then "outNeutrino"
602600 else if ((F == bE))
603601 then "outMulti"
604602 else throw(("Can't swap assetId=" + ed))
605- let cE = ar(invoke(bw, "calcWithdrawResultSYSREADONLY", [cD, ac, ad, ed], nil))
603+ let cE = ar(invoke(bw, "calcWithdrawResultSYSREADONLY", [cD, ac, ad, ed, ""], nil))
606604 let ei = cE._1
607605 let ej = cE._3
608606 let ek = cE._4
609607 let el = cE._6
610608 let em = cE._7
611609 let en = cE._8
612610 $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d", toString(ei), toString(ej), toString(el), toString(en), toString(cA), toString(cz), toString(cB), toString(ek)], j))
613611 }
614612
615613
616614
617615 @Callable(bT)
618616 func swapInfoV2READONLY (cu,ac,ed) = ct(cu, ac, ed, "")
619617
620618
621619
622620 @Callable(bT)
623621 func swapInfoV3READONLY (cu,cv,cw,cx) = ct(cu, cv, cw, cx)
624622
625623
626624
627625 @Callable(bT)
628626 func basketInfoREADONLY () = {
629627 let cg = af(invoke(bv, "calcNeutinoMetricsREADONLY", nil, nil))
630628 let eo = al(cg[aO])
631629 let ep = split_4C(eo, "_")
632630 func eq (bS,er) = {
633631 let es = split(er, k)
634632 let F = es[0]
635633 let et = valueOrErrorMessage(getInteger(bw, D()), "log(b, delta) key is undefined")
636634 let eu = valueOrErrorMessage(getInteger(bw, B()), "D key is undefined")
637635 let ev = valueOrErrorMessage(getInteger(bw, C()), "b key is undefined")
638636 let ew = valueOrErrorMessage(getInteger(bw, E(F)), (("Target weight for asset " + F) + " is undefined"))
639637 let ex = ((et - ew) + parseIntValue(es[1]))
640638 let ey = (eu - pow(ev, 6, ex, 6, 6, HALFUP))
641639 (bS :+ makeString(((es :+ toString(ew)) :+ toString(ey)), k))
642640 }
643641
644642 let ez = {
645643 let bX = ep
646644 let bY = size(bX)
647645 let bZ = nil
648646 func ca (cb,cc) = if ((cc >= bY))
649647 then cb
650648 else eq(cb, bX[cc])
651649
652650 func cd (cb,cc) = if ((cc >= bY))
653651 then cb
654652 else throw("List size exceeds 10")
655653
656654 cd(ca(ca(ca(ca(ca(ca(ca(ca(ca(ca(bZ, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
657655 }
658656 $Tuple2(nil, ("%s__" + makeString_2C(ez, "_")))
659657 }
660658
661659
662660
663661 @Callable(bT)
664662 func usdnStakingAprREADONLY (cf) = {
665663 let eA = 1
666664 let cg = af(invoke(bv, "calcNeutinoMetricsREADONLY", nil, nil))
667665 let cS = aj(cg[aA])
668666 let eB = (0 * d)
669667 let cp = fraction(eB, cS, d)
670668 let eC = cn(bz, eA, cp, b)
671669 $Tuple2(nil, ("%d__" + toString(eC)))
672670 }
673671
674672
675673
676674 @Callable(bT)
677675 func surfStakingAprREADONLY (cf) = {
678676 let eA = 3
679677 let cp = ce(bB, eA)
680678 let eD = 86400
681679 let eC = cn(bB, eA, cp, eD)
682680 $Tuple2(nil, ("%d__" + toString(eC)))
683681 }
684682
685683
686684
687685 @Callable(bT)
688686 func surfStakingAprV2READONLY (cf,eE) = {
689687 let eA = 3
690688 let cp = ce(bB, eA)
691689 let eC = cn(bB, eA, cp, eE)
692690 $Tuple2(nil, ("%d__" + toString(eC)))
693691 }
694692
695693
696694
697695 @Callable(bT)
698696 func nsbtStakingAprREADONLY (cf) = {
699697 let eA = 3
700698 let eF = 8000000
701699 let cp = ce(bA, eA)
702700 let eC = cn(bA, eA, cp, eF)
703701 $Tuple2(nil, ("%d__" + toString(eC)))
704702 }
705703
706704
707705
708706 @Callable(bT)
709707 func nsbtStakingAprV2READONLY (cf,eG) = {
710708 let eA = 3
711709 let cp = ce(bA, eA)
712710 let eC = cn(bA, eA, cp, eG)
713711 $Tuple2(nil, ("%d__" + toString(eC)))
714712 }
715713
716714

github/deemru/w8io/873ac7e 
74.25 ms