tx · CsvaN7nd1PhE4TZyprVtGKPsbQaM1mcC8tET4Yho4UmT

3NCGjbgqZVk7eaqrLMEnEnqRhozNm1KTG5z:  -0.01600000 Waves

2024.09.01 21:54 [3264881] smart account 3NCGjbgqZVk7eaqrLMEnEnqRhozNm1KTG5z > SELF 0.00000000 Waves

{ "type": 13, "id": "CsvaN7nd1PhE4TZyprVtGKPsbQaM1mcC8tET4Yho4UmT", "fee": 1600000, "feeAssetId": null, "timestamp": 1725216884141, "version": 2, "chainId": 84, "sender": "3NCGjbgqZVk7eaqrLMEnEnqRhozNm1KTG5z", "senderPublicKey": "5CoDbXxoqnvJpx9GrS6M4G5GYJXh9rcoiXJz7RYTPVkL", "proofs": [ "2EjF9b77pRXmZ8FP3GSELPmTyT67hdzahW6ACCjpy1ZrJFqN8tcvnZoFkC7AKy9gST8d9N6X322oEhvbiko9VZCq" ], "script": "base64:BgIcCAISBwoFCAgICAgSAwoBARIDCgEBEgASAwoBCFYAA1NFUAICX18ABU1VTFQ2AMCEPQAFTVVMVDgAgMLXLwAOTUlOU0hPUFBBWU1FTlQAoI0GAApEQVlfTUlMTElTAIC4mSkABWNoYWluCQDJAQIJAMoBAggFBHRoaXMFYnl0ZXMAAQABAAt1c2R0QXNzZXRJZAQHJG1hdGNoMAUFY2hhaW4DCQAAAgEBVwUHJG1hdGNoMAEghNp6sggDP07Ru8qO7ouTvMmC3Qtd+geWqNQj+agP/7kDCQAAAgEBVAUHJG1hdGNoMAEgVbHYn3KHgu/l41uNrAWrZd6aQ6EvFrsF8xq3h6XxxRgJAAIBAg1Vbmtub3duIGNoYWluABVkZWZhdWx0UmVzdEFkZHJlc3NTdHIEByRtYXRjaDAFBWNoYWluAwkAAAIBAVcFByRtYXRjaDACBTNQLi4uAwkAAAIBAVQFByRtYXRjaDACBTNNLi4uCQACAQINVW5rbm93biBjaGFpbgAOYXJiaXRyYWdlRGVsYXkEByRtYXRjaDAFBWNoYWluAwkAAAIBAVcFByRtYXRjaDAFCkRBWV9NSUxMSVMDCQAAAgEBVAUHJG1hdGNoMADg1AMJAAIBAg1Vbmtub3duIGNoYWluAQ9nZXRTdHJpbmdPckZhaWwCB2FkZHJlc3MDa2V5CQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgUHYWRkcmVzcwUDa2V5CQC5CQIJAMwIAgIKbWFuZGF0b3J5IAkAzAgCCQClCAEFB2FkZHJlc3MJAMwIAgIBLgkAzAgCBQNrZXkJAMwIAgIPIGlzIG5vdCBkZWZpbmVkBQNuaWwCAAAPSWR4Q2ZnQWNyZXNEYXBwAAEADUlkeENmZ1dsZ0RhcHAAAgAUSWR4Q2ZnUHV6emxlUG9vbERhcHAABAAUSWR4Q2ZnSW52ZXN0RnVuZERhcHAABQEKa2V5UmVzdENmZwACDiVzX19yZXN0Q29uZmlnAQ5rZXlSZXN0QWRkcmVzcwACDCVzX19yZXN0QWRkcgERcmVhZFJlc3RDZmdPckZhaWwBBHJlc3QJALwJAgkBD2dldFN0cmluZ09yRmFpbAIFBHJlc3QJAQprZXlSZXN0Q2ZnAAUDU0VQARhnZXRDb250cmFjdEFkZHJlc3NPckZhaWwCB3Jlc3RDZmcDaWR4CQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKYIAQkAkQMCBQdyZXN0Q2ZnBQNpZHgJAKwCAgIqUmVzdCBjZmcgZG9lc24ndCBjb250YWluIGFkZHJlc3MgYXQgaW5kZXggCQCkAwEFA2lkeAAMcmVzdENvbnRyYWN0CQERQGV4dHJOYXRpdmUoMTA2MikBCQELdmFsdWVPckVsc2UCCQCdCAIFBHRoaXMJAQ5rZXlSZXN0QWRkcmVzcwAFFWRlZmF1bHRSZXN0QWRkcmVzc1N0cgAHcmVzdENmZwkBEXJlYWRSZXN0Q2ZnT3JGYWlsAQUMcmVzdENvbnRyYWN0AA9zdGFraW5nQ29udHJhY3QJARhnZXRDb250cmFjdEFkZHJlc3NPckZhaWwCBQdyZXN0Q2ZnBQ9JZHhDZmdBY3Jlc0RhcHAAC3dsZ0NvbnRyYWN0CQEYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAgUHcmVzdENmZwUNSWR4Q2ZnV2xnRGFwcAAScHV6emxlUG9vbENvbnRyYWN0CQEYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAgUHcmVzdENmZwUUSWR4Q2ZnUHV6emxlUG9vbERhcHAAEmludmVzdEZ1bmRDb250cmFjdAkBGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIFB3Jlc3RDZmcFFElkeENmZ0ludmVzdEZ1bmREYXBwAA13bGdBc3NldElkS2V5Agt3bGdfYXNzZXRJZAAKd2xnQXNzZXRJZAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCcCAIFC3dsZ0NvbnRyYWN0BQ13bGdBc3NldElkS2V5AhhXTEdPTEQgaXMgbm90IGlzc3VlZCB5ZXQBBWFzSW50AQF2BAckbWF0Y2gwBQF2AwkAAQIFByRtYXRjaDACA0ludAQBbgUHJG1hdGNoMAUBbgkAAgECFWZhaWwgdG8gY2FzdCBpbnRvIEludAAMaWR4V2xnQW1vdW50AAAAC2lkeFdsZ1ByaWNlAAEAC2lkeFdsZ0Z1bmRzAAIAD2lkeFdsZ0lzc3VlVGltZQAGABVpZHhXbGdNYXJrZXRpbmdBbUxlZnQACQAZaWR4V2xnTWFya2V0aW5nQW1BdmFpbE5vdwAKABBpZHhXbGdUZWFtQW1MZWZ0AA0AFGlkeFdsZ1RlYW1BbUF2YWlsTm93AA4AD2lkeFdsZ0FjdEFtTGVmdAARABNpZHhXbGdBY3RBbUF2YWlsTm93ABIAEWlkeFdsZ0FtTGVmdFRvdGFsABUAFGlkeFdsZ1VzZXJBbUF2YWlsTm93ABgAFGlkeFdsZ1VzZXJUb3RhbEF2YWlsABoAEWlkeFdsZ0VmZlVzZXJUaW1lABsAEmlkeFdsZ0JhbmtBdmFpbE5vdwAcAQpmaXhlZFBvaW50AgN2YWwIZGVjaW1hbHMEBnRlblBvdwkAbAYACgAABQhkZWNpbWFscwAAAAAFBERPV04EB2xvd1BhcnQJAKQDAQkAagIFA3ZhbAUGdGVuUG93BAZ6ZXJvZXMJALACAgkApAMBBQZ0ZW5Qb3cJAGQCAAEJALECAQUHbG93UGFydAkArAICCQCsAgIJAKwCAgkApAMBCQBpAgUDdmFsBQZ0ZW5Qb3cCAS4FBnplcm9lcwUHbG93UGFydAACTTYAwIQ9AAJNOACAwtcvAAhNSUxMSU9ONgCAgOmDsd4WAA5NQVJLRVRJTkdTSEFSRQCgjQYACVRFQU1TSEFSRQDAmgwADUFDVElWSVRZU0hBUkUAoI0GAAtQTEFZRVJTSEFSRQCAtRgACllFQVJNSUxMSVMAgIbrx3UACEJBTktfRkVFANCGAwACY2gJAMkBAgkAygECCAUEdGhpcwVieXRlcwABAAEAE1VTRFRfVFZMX0NPUlJFQ1RJT04EByRtYXRjaDAFAmNoAwkAAAIBAVcFByRtYXRjaDAA8PWowAQDCQAAAgEBVAUHJG1hdGNoMAAACQACAQINVW5rbm93biBjaGFpbgAQbWFya2V0aW5nQWRkcktleQINbWFya2V0aW5nQWRkcgALdGVhbUFkZHJLZXkCCHRlYW1BZGRyABRsYXN0TWFya2V0aW5nVGltZUtleQIZbGFzdENsYWltZWRUaW1lX21hcmtldGluZwAWbWFya2V0aW5nQW1vdW50TGVmdEtleQITbWFya2V0aW5nQW1vdW50TGVmdAAPbGFzdFRlYW1UaW1lS2V5AhRsYXN0Q2xhaW1lZFRpbWVfdGVhbQARdGVhbUFtb3VudExlZnRLZXkCDnRlYW1BbW91bnRMZWZ0ABVsYXN0QWN0aXZpdGllc1RpbWVLZXkCGmxhc3RDbGFpbWVkVGltZV9hY3Rpdml0aWVzABBhY3RBbW91bnRMZWZ0S2V5AhRhY3Rpdml0aWVzQW1vdW50TGVmdAAUc3Rha2Vyc0Ftb3VudExlZnRLZXkCEXN0YWtlcnNBbW91bnRMZWZ0ARhrZXlMYXN0Q2xhaW1lZFRpbWVCeVVzZXIBBGFkZHIJAKwCAgIUbGFzdENsYWltZWRUaW1lVXNlcl8FBGFkZHIBFGtleUxhc3RBcmJUaW1lQnlVc2VyAQRhZGRyCQCsAgICEGxhc3RBcmJUaW1lVXNlcl8FBGFkZHIBFGRpc3RyaWJ1dGlvbkJ5UGVyaW9kAQZwZXJpb2QJAGsDBQhNSUxMSU9ONgkAaAIFC1BMQVlFUlNIQVJFCQBkAgUGcGVyaW9kAAEJAGgCAAYFAk02AA93bGdJc3N1ZVRpbWVLZXkCDXdsZ19pc3N1ZVRpbWUAEndsZ0lzc3VlZEFtb3VudEtleQIQd2xnX2lzc3VlZEFtb3VudAARemJJc3N1ZWRBbW91bnRLZXkCEnpiaWxsX2lzc3VlZEFtb3VudAEaa2V5QWNyZXNTdGFrZWRBbW91bnRCeVVzZXIBBGFkZHIJAKwCAgIYYWNyZXNTdGFrZWRBbW91bnRCeVVzZXJfBQRhZGRyABNhY3Jlc1N0YWtlZFRvdGFsS2V5AhZhY3Jlc1N0YWtlZEFtb3VudFRvdGFsAAhkYXBwUmVzdAAAAAtkYXBwU3Rha2luZwABAAdkYXBwV2xnAAIACmRhcHBQdXp6bGUAAwAOZGFwcEludmVzdEZ1bmQABAEIZ2V0TGFuZHMCEnVzZXJBZGRyU3RyT3JFbXB0eQ9zdGFraW5nQ29udHJhY3QECnRvdGFsQWNyZXMJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0BRNhY3Jlc1N0YWtlZFRvdGFsS2V5AAAECXVzZXJBY3JlcwkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJARprZXlBY3Jlc1N0YWtlZEFtb3VudEJ5VXNlcgEFEnVzZXJBZGRyU3RyT3JFbXB0eQAACQDMCAIFCnRvdGFsQWNyZXMJAMwIAgUJdXNlckFjcmVzBQNuaWwADWlkeFRvdGFsQWNyZXMAAAAMaWR4VXNlckFjcmVzAAEBC2dldFdsZ1N0YXRzBQt1c2VyQWRkck9wdAljb250cmFjdHMGdXNkdElkFXVzZHRCYWxhbmNlQ29ycmVjdGlvbg91c2VyUHJvcG9ydGlvbjYEDGlzc3VlZEFtb3VudAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCaCAIJAJEDAgUJY29udHJhY3RzBQdkYXBwV2xnBRJ3bGdJc3N1ZWRBbW91bnRLZXkCGFdMR09MRCBpcyBub3QgaXNzdWVkIHlldAQHcmVzdFVzZAkA8AcCCQCRAwIFCWNvbnRyYWN0cwUIZGFwcFJlc3QFBnVzZHRJZAQGd2xnVXNkCQBlAgkA8AcCCQCRAwIFCWNvbnRyYWN0cwUHZGFwcFdsZwUGdXNkdElkBRV1c2R0QmFsYW5jZUNvcnJlY3Rpb24ECXB1enpsZVVzZAkA8AcCCQCRAwIFCWNvbnRyYWN0cwUKZGFwcFB1enpsZQUGdXNkdElkBBFpbnZlc3RGbmRDb250cmFjdAkAkQMCBQljb250cmFjdHMFDmRhcHBJbnZlc3RGdW5kBA9pbnZlc3RGdW5kVG90YWwJAGQCCQDwBwIFEWludmVzdEZuZENvbnRyYWN0BQZ1c2R0SWQJAQt2YWx1ZU9yRWxzZQIJAJoIAgURaW52ZXN0Rm5kQ29udHJhY3QFEXpiSXNzdWVkQW1vdW50S2V5AAAEDXRvdGFsRnVuZHNVc2QJAGQCBQZ3bGdVc2QFD2ludmVzdEZ1bmRUb3RhbAQFd2xnSWQJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnAgCCQCRAwIFCWNvbnRyYWN0cwUHZGFwcFdsZwILd2xnX2Fzc2V0SWQCE05vdCBpbml0aWFsaXplZCB5ZXQEA25vdwgFCWxhc3RCbG9jawl0aW1lc3RhbXAECWlzc3VlVGltZQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCaCAIJAJEDAgUJY29udHJhY3RzBQdkYXBwV2xnBQ93bGdJc3N1ZVRpbWVLZXkCD05vdCBpbml0aWFsaXplZAQObWFya2V0aW5nVG90YWwJAGsDBQhNSUxMSU9ONgUOTUFSS0VUSU5HU0hBUkUFAk02BBNtYXJrZXRpbmdBbW91bnRMZWZ0CQELdmFsdWVPckVsc2UCCQCaCAIJAJEDAgUJY29udHJhY3RzBQdkYXBwV2xnBRZtYXJrZXRpbmdBbW91bnRMZWZ0S2V5BQ5tYXJrZXRpbmdUb3RhbAQRbGFzdE1hcmtldGluZ1RpbWUJAQt2YWx1ZU9yRWxzZQIJAJoIAgkAkQMCBQljb250cmFjdHMFB2RhcHBXbGcFFGxhc3RNYXJrZXRpbmdUaW1lS2V5BQlpc3N1ZVRpbWUEDW1hcmtldGluZ0FkZHIJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQV2YWx1ZQEJAJ0IAgkAkQMCBQljb250cmFjdHMFB2RhcHBXbGcFEG1hcmtldGluZ0FkZHJLZXkEDW1hcmtldGluZ1RlbXAJAJcDAQkAzAgCCQBrAwUObWFya2V0aW5nVG90YWwJAGUCBQNub3cFEWxhc3RNYXJrZXRpbmdUaW1lBQpZRUFSTUlMTElTCQDMCAIFE21hcmtldGluZ0Ftb3VudExlZnQFA25pbAQRYmFua0Zyb21NYXJrZXRpbmcJAGsDBQ1tYXJrZXRpbmdUZW1wBQhCQU5LX0ZFRQUCTTYEG21hcmtldGluZ0Ftb3VudEF2YWlsYWJsZU5vdwkAZQIFDW1hcmtldGluZ1RlbXAFEWJhbmtGcm9tTWFya2V0aW5nBA9tYXJrZXRpbmdXbGdvbGQJAPAHAgUNbWFya2V0aW5nQWRkcgUFd2xnSWQECmJhbmtXbGdvbGQJAPAHAgkAkQMCBQljb250cmFjdHMFC2RhcHBTdGFraW5nBQV3bGdJZAQJdGVhbVRvdGFsCQBrAwUITUlMTElPTjYFCVRFQU1TSEFSRQUCTTYEDnRlYW1BbW91bnRMZWZ0CQELdmFsdWVPckVsc2UCCQCaCAIJAJEDAgUJY29udHJhY3RzBQdkYXBwV2xnBRF0ZWFtQW1vdW50TGVmdEtleQUJdGVhbVRvdGFsBAxsYXN0VGVhbVRpbWUJAQt2YWx1ZU9yRWxzZQIJAJoIAgkAkQMCBQljb250cmFjdHMFB2RhcHBXbGcFD2xhc3RUZWFtVGltZUtleQUJaXNzdWVUaW1lBAh0ZWFtQWRkcgkBEUBleHRyTmF0aXZlKDEwNjIpAQkBBXZhbHVlAQkAnQgCCQCRAwIFCWNvbnRyYWN0cwUHZGFwcFdsZwULdGVhbUFkZHJLZXkEFnRlYW1BbW91bnRBdmFpbGFibGVOb3cJAJcDAQkAzAgCCQBrAwUJdGVhbVRvdGFsCQBlAgUDbm93BQxsYXN0VGVhbVRpbWUJAGgCAAMFCllFQVJNSUxMSVMJAMwIAgUOdGVhbUFtb3VudExlZnQFA25pbAQKdGVhbVdsZ29sZAkA8AcCBQh0ZWFtQWRkcgUFd2xnSWQECGFjdFRvdGFsCQBrAwUITUlMTElPTjYFDUFDVElWSVRZU0hBUkUFAk02BA1hY3RBbW91bnRMZWZ0CQELdmFsdWVPckVsc2UCCQCaCAIJAJEDAgUJY29udHJhY3RzBQdkYXBwV2xnBRBhY3RBbW91bnRMZWZ0S2V5BQhhY3RUb3RhbAQSbGFzdEFjdGl2aXRpZXNUaW1lCQELdmFsdWVPckVsc2UCCQCaCAIJAJEDAgUJY29udHJhY3RzBQdkYXBwV2xnBRVsYXN0QWN0aXZpdGllc1RpbWVLZXkFCWlzc3VlVGltZQQVYWN0QW1vdW50QXZhaWxhYmxlTm93CQCXAwEJAMwIAgkAawMFCGFjdFRvdGFsCQBlAgUDbm93BRJsYXN0QWN0aXZpdGllc1RpbWUJAGgCAAMFCllFQVJNSUxMSVMJAMwIAgUNYWN0QW1vdW50TGVmdAUDbmlsBAlhY3RXbGdvbGQJAPAHAgkAkQMCBQljb250cmFjdHMFCGRhcHBSZXN0BQV3bGdJZAQMbGFzdFVzZXJUaW1lCQELdmFsdWVPckVsc2UCCQCaCAIJAJEDAgUJY29udHJhY3RzBQdkYXBwV2xnCQEYa2V5TGFzdENsYWltZWRUaW1lQnlVc2VyAQULdXNlckFkZHJPcHQFCWlzc3VlVGltZQQObGFzdFVzZXJQZXJpb2QJAGkCCQBlAgUMbGFzdFVzZXJUaW1lBQlpc3N1ZVRpbWUFCllFQVJNSUxMSVMECm5vd0xpbWl0ZWQJAJcDAQkAzAgCBQNub3cJAMwIAgkAZAIFCWlzc3VlVGltZQkAaAIAAwUKWUVBUk1JTExJUwUDbmlsBAljdXJQZXJpb2QJAJcDAQkAzAgCCQBpAgkAZQIFA25vdwUJaXNzdWVUaW1lBQpZRUFSTUlMTElTCQDMCAIAAgUDbmlsBANlZmYJAQhnZXRMYW5kcwIFC3VzZXJBZGRyT3B0CQCRAwIFCWNvbnRyYWN0cwULZGFwcFN0YWtpbmcEFWN1clBlcmlvZERpc3RyaWJ1dGlvbgkBFGRpc3RyaWJ1dGlvbkJ5UGVyaW9kAQUJY3VyUGVyaW9kBAgkdDA3OTExOQMJAAACBQ5sYXN0VXNlclBlcmlvZAUJY3VyUGVyaW9kBAJhMAkAawMFFWN1clBlcmlvZERpc3RyaWJ1dGlvbgkAZQIFCm5vd0xpbWl0ZWQFDGxhc3RVc2VyVGltZQUKWUVBUk1JTExJUwQIdXNlclBhcnQJAGsDBQJhMAUPdXNlclByb3BvcnRpb242BQJNNgQHZWZmVGltZQkAZAIFDGxhc3RVc2VyVGltZQkAawMJAGUCBQpub3dMaW1pdGVkBQxsYXN0VXNlclRpbWUFD3VzZXJQcm9wb3J0aW9uNgUCTTYJAJUKAwUIdXNlclBhcnQFAmEwBQdlZmZUaW1lAwkAAAIFDmxhc3RVc2VyUGVyaW9kCQBlAgUJY3VyUGVyaW9kAAEEAmExCQBrAwkBFGRpc3RyaWJ1dGlvbkJ5UGVyaW9kAQkAZQIFCWN1clBlcmlvZAABCQBlAgkAZAIFCWlzc3VlVGltZQkAaAIFCllFQVJNSUxMSVMFCWN1clBlcmlvZAUMbGFzdFVzZXJUaW1lBQpZRUFSTUlMTElTBAJhMAkAawMFFWN1clBlcmlvZERpc3RyaWJ1dGlvbgkAZQIFCm5vd0xpbWl0ZWQJAGQCBQlpc3N1ZVRpbWUJAGgCBQpZRUFSTUlMTElTBQljdXJQZXJpb2QFCllFQVJNSUxMSVMEBWF2YWlsCQBkAgUCYTEFAmEwBAh1c2VyUGFydAkAawMFBWF2YWlsBQ91c2VyUHJvcG9ydGlvbjYFAk02BAdlZmZUaW1lAwkAZwIFAmExBQh1c2VyUGFydAkAZAIFDGxhc3RVc2VyVGltZQkAawMFCllFQVJNSUxMSVMFCHVzZXJQYXJ0CQEUZGlzdHJpYnV0aW9uQnlQZXJpb2QBCQBlAgUJY3VyUGVyaW9kAAEJAGQCCQBkAgUJaXNzdWVUaW1lCQBoAgUKWUVBUk1JTExJUwUJY3VyUGVyaW9kCQBrAwUKWUVBUk1JTExJUwkAZQIFCHVzZXJQYXJ0BQJhMQUVY3VyUGVyaW9kRGlzdHJpYnV0aW9uCQCVCgMFCHVzZXJQYXJ0BQVhdmFpbAUHZWZmVGltZQQCYTIJAGsDCQEUZGlzdHJpYnV0aW9uQnlQZXJpb2QBCQBlAgUJY3VyUGVyaW9kAAIJAGUCCQBkAgUJaXNzdWVUaW1lCQBoAgUKWUVBUk1JTExJUwkAZQIFCWN1clBlcmlvZAABBQxsYXN0VXNlclRpbWUFCllFQVJNSUxMSVMEAmExCQEUZGlzdHJpYnV0aW9uQnlQZXJpb2QBCQBlAgUJY3VyUGVyaW9kAAEEAmEwCQBrAwUVY3VyUGVyaW9kRGlzdHJpYnV0aW9uCQBlAgUKbm93TGltaXRlZAkAZAIFCWlzc3VlVGltZQkAaAIFCllFQVJNSUxMSVMFCWN1clBlcmlvZAUKWUVBUk1JTExJUwQFYXZhaWwJAGQCCQBkAgUCYTIFAmExBQJhMAQIdXNlclBhcnQJAGsDBQVhdmFpbAUPdXNlclByb3BvcnRpb242BQJNNgQHZWZmVGltZQMJAGcCBQJhMgUIdXNlclBhcnQJAGQCBQxsYXN0VXNlclRpbWUJAGsDBQpZRUFSTUlMTElTBQh1c2VyUGFydAkBFGRpc3RyaWJ1dGlvbkJ5UGVyaW9kAQkAZQIFCWN1clBlcmlvZAACAwkAZwIJAGQCBQJhMgUCYTEFCHVzZXJQYXJ0CQBkAgkAZAIFCWlzc3VlVGltZQkAaAIFCllFQVJNSUxMSVMJAGUCBQljdXJQZXJpb2QAAQkAawMFCllFQVJNSUxMSVMJAGUCBQh1c2VyUGFydAUCYTIJARRkaXN0cmlidXRpb25CeVBlcmlvZAEJAGUCBQljdXJQZXJpb2QAAQkAZAIJAGQCBQlpc3N1ZVRpbWUJAGgCBQpZRUFSTUlMTElTBQljdXJQZXJpb2QJAGsDBQpZRUFSTUlMTElTCQBlAgkAZQIFCHVzZXJQYXJ0BQJhMgUCYTEFFWN1clBlcmlvZERpc3RyaWJ1dGlvbgkAlQoDBQh1c2VyUGFydAUFYXZhaWwFB2VmZlRpbWUECnVzZXJBbW91bnQIBQgkdDA3OTExOQJfMQQNdXNlckF2YWlsYWJsZQgFCCR0MDc5MTE5Al8yBAtlZmZMYXN0VGltZQgFCCR0MDc5MTE5Al8zBA9hbW91bnRMZWZ0VG90YWwJAQt2YWx1ZU9yRWxzZQIJAJoIAgkAkQMCBQljb250cmFjdHMFB2RhcHBXbGcFFHN0YWtlcnNBbW91bnRMZWZ0S2V5AAAECHVzZXJUZW1wCQBrAwUKdXNlckFtb3VudAkAkQMCBQNlZmYFDGlkeFVzZXJBY3JlcwkAkQMCBQNlZmYFDWlkeFRvdGFsQWNyZXMEDGJhbmtGcm9tVXNlcgkAawMFCHVzZXJUZW1wBQhCQU5LX0ZFRQUCTTYECnJvYmJlZFVzZXIJAGUCBQh1c2VyVGVtcAUMYmFua0Zyb21Vc2VyBAx1bnJvYmJlZFVzZXIJAGsDBQ11c2VyQXZhaWxhYmxlCQCRAwIFA2VmZgUMaWR4VXNlckFjcmVzCQCRAwIFA2VmZgUNaWR4VG90YWxBY3JlcwkAzAgCBQxpc3N1ZWRBbW91bnQJAMwIAgkAawMJAGUCBQ10b3RhbEZ1bmRzVXNkBRNVU0RUX1RWTF9DT1JSRUNUSU9OBQJNOAUMaXNzdWVkQW1vdW50CQDMCAIFDXRvdGFsRnVuZHNVc2QJAMwIAgUHcmVzdFVzZAkAzAgCBQZ3bGdVc2QJAMwIAgUJcHV6emxlVXNkCQDMCAIFCWlzc3VlVGltZQkAzAgCBRFsYXN0TWFya2V0aW5nVGltZQkAzAgCBQ5tYXJrZXRpbmdUb3RhbAkAzAgCBRNtYXJrZXRpbmdBbW91bnRMZWZ0CQDMCAIFG21hcmtldGluZ0Ftb3VudEF2YWlsYWJsZU5vdwkAzAgCBQ9tYXJrZXRpbmdXbGdvbGQJAMwIAgUJdGVhbVRvdGFsCQDMCAIFDnRlYW1BbW91bnRMZWZ0CQDMCAIFFnRlYW1BbW91bnRBdmFpbGFibGVOb3cJAMwIAgUKdGVhbVdsZ29sZAkAzAgCBQhhY3RUb3RhbAkAzAgCBQ1hY3RBbW91bnRMZWZ0CQDMCAIFFWFjdEFtb3VudEF2YWlsYWJsZU5vdwkAzAgCBQlhY3RXbGdvbGQJAMwIAgUJY3VyUGVyaW9kCQDMCAIFD2Ftb3VudExlZnRUb3RhbAkAzAgCBRVjdXJQZXJpb2REaXN0cmlidXRpb24JAMwIAgUMbGFzdFVzZXJUaW1lCQDMCAIFCnJvYmJlZFVzZXIJAMwIAgUPaW52ZXN0RnVuZFRvdGFsCQDMCAIFDHVucm9iYmVkVXNlcgkAzAgCBQtlZmZMYXN0VGltZQkAzAgCCQBkAgURYmFua0Zyb21NYXJrZXRpbmcFDGJhbmtGcm9tVXNlcgkAzAgCBQpiYW5rV2xnb2xkBQNuaWwADXByb2ZpdEFkZHJLZXkCCnByb2ZpdEFkZHIAGXN0YWtlcnNBbW91bnRQYWlkVG90YWxLZXkCFnN0YWtlcnNBbW91bnRQYWlkVG90YWwBGGtleVN0YWtlcnNBbW91bnRQYWlkVXNlcgEEYWRkcgkArAICAhZzdGFrZXJzQW1vdW50UGFpZFVzZXJfBQRhZGRyAQZwcm9sb2cACQEFYXNJbnQBCQD9BwQFD3N0YWtpbmdDb250cmFjdAIKc2F2ZUxhc3RUeAUDbmlsBQNuaWwBD2dldFN3YXBMaW1pdFdsZwEEYWRkcgQIbGFzdFRpbWUJAQt2YWx1ZU9yRWxzZQIJAJ8IAQkBFGtleUxhc3RBcmJUaW1lQnlVc2VyAQUEYWRkcgAABANub3cIBQlsYXN0QmxvY2sJdGltZXN0YW1wAwkAZgIFDmFyYml0cmFnZURlbGF5CQBlAgUDbm93BQhsYXN0VGltZQkAAgEJAKwCAgkArAICAh9BcmJpdHJhZ2VzIGFyZSBwb3NzaWJsZSBvbmNlIGEgCQCkAwEJAGkCBQ5hcmJpdHJhZ2VEZWxheQDg1AMCA21pbgQLYWNyZXNBbW91bnQJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQEaa2V5QWNyZXNTdGFrZWRBbW91bnRCeVVzZXIBBQRhZGRyAAAFC2FjcmVzQW1vdW50AQ1jbGFpbUludGVybmFsAgRhZGRyC3Byb3BvcnRpb242BAZjYWxsZXIJARFAZXh0ck5hdGl2ZSgxMDYyKQEFBGFkZHIECGN1clN0YXRzCQELZ2V0V2xnU3RhdHMFBQRhZGRyCQDMCAIFDHJlc3RDb250cmFjdAkAzAgCBQ9zdGFraW5nQ29udHJhY3QJAMwIAgULd2xnQ29udHJhY3QJAMwIAgUScHV6emxlUG9vbENvbnRyYWN0CQDMCAIFEmludmVzdEZ1bmRDb250cmFjdAUDbmlsBQt1c2R0QXNzZXRJZAAABQtwcm9wb3J0aW9uNgQDbm93CAUJbGFzdEJsb2NrCXRpbWVzdGFtcAQJaXNzdWVUaW1lCQCRAwIFCGN1clN0YXRzBQ9pZHhXbGdJc3N1ZVRpbWUEE21hcmtldGluZ0Ftb3VudExlZnQJAJEDAgUIY3VyU3RhdHMFFWlkeFdsZ01hcmtldGluZ0FtTGVmdAQPbWFya2V0aW5nQW1vdW50CQCRAwIFCGN1clN0YXRzBRlpZHhXbGdNYXJrZXRpbmdBbUF2YWlsTm93BA50ZWFtQW1vdW50TGVmdAkAkQMCBQhjdXJTdGF0cwUQaWR4V2xnVGVhbUFtTGVmdAQKdGVhbUFtb3VudAkAkQMCBQhjdXJTdGF0cwUUaWR4V2xnVGVhbUFtQXZhaWxOb3cEDWFjdEFtb3VudExlZnQJAJEDAgUIY3VyU3RhdHMFD2lkeFdsZ0FjdEFtTGVmdAQJYWN0QW1vdW50CQCRAwIFCGN1clN0YXRzBRNpZHhXbGdBY3RBbUF2YWlsTm93BAp1c2VyQW1vdW50CQCRAwIFCGN1clN0YXRzBRRpZHhXbGdVc2VyQW1BdmFpbE5vdwQHdXNlcktleQkBGGtleVN0YWtlcnNBbW91bnRQYWlkVXNlcgEFBGFkZHIECXVzZXJUb3RhbAkAkQMCBQhjdXJTdGF0cwUUaWR4V2xnVXNlclRvdGFsQXZhaWwEC3VzZXJFZmZUaW1lCQCRAwIFCGN1clN0YXRzBRFpZHhXbGdFZmZVc2VyVGltZQQKYmFua0Ftb3VudAkAkQMCBQhjdXJTdGF0cwUSaWR4V2xnQmFua0F2YWlsTm93CQCUCgIJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBEUBleHRyTmF0aXZlKDEwNjIpAQkBBXZhbHVlAQkAoggBBRBtYXJrZXRpbmdBZGRyS2V5BQ9tYXJrZXRpbmdBbW91bnQFCndsZ0Fzc2V0SWQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBEUBleHRyTmF0aXZlKDEwNjIpAQkBBXZhbHVlAQkAoggBBQt0ZWFtQWRkcktleQUKdGVhbUFtb3VudAUKd2xnQXNzZXRJZAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQxyZXN0Q29udHJhY3QFCWFjdEFtb3VudAUKd2xnQXNzZXRJZAkAzAgCCQEMSW50ZWdlckVudHJ5AgUHdXNlcktleQkAZAIJAQt2YWx1ZU9yRWxzZQIJAJ8IAQUHdXNlcktleQAABQp1c2VyQW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCBRlzdGFrZXJzQW1vdW50UGFpZFRvdGFsS2V5CQBkAgkBC3ZhbHVlT3JFbHNlAgkAnwgBBRlzdGFrZXJzQW1vdW50UGFpZFRvdGFsS2V5AAAFCXVzZXJUb3RhbAkAzAgCCQEMSW50ZWdlckVudHJ5AgUUc3Rha2Vyc0Ftb3VudExlZnRLZXkJAGUCCQCRAwIFCGN1clN0YXRzBRFpZHhXbGdBbUxlZnRUb3RhbAUJdXNlclRvdGFsCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRZtYXJrZXRpbmdBbW91bnRMZWZ0S2V5CQBlAgUTbWFya2V0aW5nQW1vdW50TGVmdAUPbWFya2V0aW5nQW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCBRRsYXN0TWFya2V0aW5nVGltZUtleQUDbm93CQDMCAIJAQxJbnRlZ2VyRW50cnkCBRF0ZWFtQW1vdW50TGVmdEtleQkAZQIFDnRlYW1BbW91bnRMZWZ0BQp0ZWFtQW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCBQ9sYXN0VGVhbVRpbWVLZXkFA25vdwkAzAgCCQEMSW50ZWdlckVudHJ5AgUQYWN0QW1vdW50TGVmdEtleQkAZQIFDWFjdEFtb3VudExlZnQFCWFjdEFtb3VudAkAzAgCCQEMSW50ZWdlckVudHJ5AgUVbGFzdEFjdGl2aXRpZXNUaW1lS2V5BQNub3cJAMwIAgkBDEludGVnZXJFbnRyeQIJARhrZXlMYXN0Q2xhaW1lZFRpbWVCeVVzZXIBBQRhZGRyBQt1c2VyRWZmVGltZQUDbmlsCQCUCgIFCnVzZXJBbW91bnQFCmJhbmtBbW91bnQFAWkBDWNvbnN0cnVjdG9yVjEFCHJlc3RBZGRyDW1hcmtldGluZ0FkZHIIdGVhbUFkZHIKcHJvZml0QWRkcg5vbGRXbGdDb250cmFjdAMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECEVBlcm1pc3Npb24gZGVuaWVkBA5vbGRXbGdDb250QWRkcgkBEUBleHRyTmF0aXZlKDEwNjIpAQUOb2xkV2xnQ29udHJhY3QJAMwIAgkBDEludGVnZXJFbnRyeQIFD3dsZ0lzc3VlVGltZUtleQkBC3ZhbHVlT3JFbHNlAgkAmggCBQ5vbGRXbGdDb250QWRkcgUPd2xnSXNzdWVUaW1lS2V5AAAJAMwIAgkBDEludGVnZXJFbnRyeQIFEndsZ0lzc3VlZEFtb3VudEtleQkBC3ZhbHVlT3JFbHNlAgkAmggCBQ5vbGRXbGdDb250QWRkcgUSd2xnSXNzdWVkQW1vdW50S2V5AAAJAMwIAgkBDEludGVnZXJFbnRyeQIFGXN0YWtlcnNBbW91bnRQYWlkVG90YWxLZXkJAQt2YWx1ZU9yRWxzZQIJAJoIAgUOb2xkV2xnQ29udEFkZHIFGXN0YWtlcnNBbW91bnRQYWlkVG90YWxLZXkAAAkAzAgCCQEMSW50ZWdlckVudHJ5AgUUc3Rha2Vyc0Ftb3VudExlZnRLZXkJAQt2YWx1ZU9yRWxzZQIJAJoIAgUOb2xkV2xnQ29udEFkZHIFFHN0YWtlcnNBbW91bnRMZWZ0S2V5AAAJAMwIAgkBC0JpbmFyeUVudHJ5AgUNd2xnQXNzZXRJZEtleQkBEUBleHRyTmF0aXZlKDEwNTIpAgUOb2xkV2xnQ29udEFkZHIFDXdsZ0Fzc2V0SWRLZXkJAMwIAgkBC1N0cmluZ0VudHJ5AgkBDmtleVJlc3RBZGRyZXNzAAUIcmVzdEFkZHIJAMwIAgkBC1N0cmluZ0VudHJ5AgUQbWFya2V0aW5nQWRkcktleQUNbWFya2V0aW5nQWRkcgkAzAgCCQELU3RyaW5nRW50cnkCBQt0ZWFtQWRkcktleQUIdGVhbUFkZHIJAMwIAgkBC1N0cmluZ0VudHJ5AgUNcHJvZml0QWRkcktleQUKcHJvZml0QWRkcgUDbmlsAWkBBmJ1eVdsZwEJbWluQW1vdW50BAxwcm9sb2dSZXN1bHQJAQZwcm9sb2cAAwkAAAIFDHByb2xvZ1Jlc3VsdAUMcHJvbG9nUmVzdWx0AwkBAiE9AgkAkAMBCAUBaQhwYXltZW50cwABCQACAQIiZXhhY3RseSAxIHBheW1lbnQgbXVzdCBiZSBhdHRhY2hlZAQDcG10CQCRAwIIBQFpCHBheW1lbnRzAAAEB3VzZHRBbXQIBQNwbXQGYW1vdW50AwMJAQEhAQkBCWlzRGVmaW5lZAEIBQNwbXQHYXNzZXRJZAYJAQIhPQIJAQV2YWx1ZQEIBQNwbXQHYXNzZXRJZAULdXNkdEFzc2V0SWQJAAIBAhNVU0RUIHBheW1lbnRzIG9ubHkhBAZjYWxsZXIIBQFpBmNhbGxlcgQEYWRkcgkApQgBBQZjYWxsZXIDCQBmAgUOTUlOU0hPUFBBWU1FTlQFB3VzZHRBbXQJAAIBCQCsAgIJAKwCAgISWW91IGNhbiB0cmFkZSBtaW4gCQEKZml4ZWRQb2ludAIFDk1JTlNIT1BQQVlNRU5UAAYCBSBVU0RUBAhjdXJTdGF0cwkBC2dldFdsZ1N0YXRzBQIACQDMCAIFDHJlc3RDb250cmFjdAkAzAgCBQ9zdGFraW5nQ29udHJhY3QJAMwIAgULd2xnQ29udHJhY3QJAMwIAgUScHV6emxlUG9vbENvbnRyYWN0CQDMCAIFEmludmVzdEZ1bmRDb250cmFjdAUDbmlsBQt1c2R0QXNzZXRJZAUHdXNkdEFtdAUFTVVMVDYEDGN1cldsZ0Ftb3VudAkAkQMCBQhjdXJTdGF0cwUMaWR4V2xnQW1vdW50BAhmdW5kc1VzZAkAkQMCBQhjdXJTdGF0cwULaWR4V2xnRnVuZHMECHdsZ1ByaWNlCQBrAwUIZnVuZHNVc2QFBU1VTFQ4BQxjdXJXbGdBbW91bnQECGJ1eVByaWNlCQBrAwUId2xnUHJpY2UABgAFBAl3bGdBbW91bnQJAGsDBQd1c2R0QW10BQVNVUxUOAUIYnV5UHJpY2UEBm1heFdsZwkBD2dldFN3YXBMaW1pdFdsZwEFBGFkZHIDCQBmAgUJd2xnQW1vdW50BQZtYXhXbGcJAAIBCQCsAgIJAKwCAgIQWW91IGNhbiBnZXQgbWF4IAkBCmZpeGVkUG9pbnQCBQZtYXhXbGcACAIHIFdMR09MRAMJAGYCBQltaW5BbW91bnQFCXdsZ0Ftb3VudAkAAgECMFByaWNlIGNoYW5nZWQgZHVyaW5nIG9wZXJhdGlvbiwgcGxlYXNlIHRyeSBhZ2FpbgQMcHJvZml0QW1vdW50CQBpAgUHdXNkdEFtdAAGBApkZWx0YUZ1bmRzCQBlAgUHdXNkdEFtdAUMcHJvZml0QW1vdW50BAhyZWlzc3VlZAkAawMFDGN1cldsZ0Ftb3VudAUKZGVsdGFGdW5kcwUIZnVuZHNVc2QJAJQKAgkAzAgCCQEHUmVpc3N1ZQMFCndsZ0Fzc2V0SWQFCHJlaXNzdWVkBgkAzAgCCQEMSW50ZWdlckVudHJ5AgUSd2xnSXNzdWVkQW1vdW50S2V5CQBkAgUMY3VyV2xnQW1vdW50BQhyZWlzc3VlZAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBFGtleUxhc3RBcmJUaW1lQnlVc2VyAQUEYWRkcggFCWxhc3RCbG9jawl0aW1lc3RhbXAJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBEUBleHRyTmF0aXZlKDEwNjIpAQkBBXZhbHVlAQkAoggBBQ1wcm9maXRBZGRyS2V5BQxwcm9maXRBbW91bnQFC3VzZHRBc3NldElkCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFBmNhbGxlcgUJd2xnQW1vdW50BQp3bGdBc3NldElkBQNuaWwFDHByb2xvZ1Jlc3VsdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQdzZWxsV2xnAQltaW5BbW91bnQEDHByb2xvZ1Jlc3VsdAkBBnByb2xvZwADCQAAAgUMcHJvbG9nUmVzdWx0BQxwcm9sb2dSZXN1bHQDCQECIT0CCQCQAwEIBQFpCHBheW1lbnRzAAEJAAIBAiJleGFjdGx5IDEgcGF5bWVudCBtdXN0IGJlIGF0dGFjaGVkBANwbXQJAJEDAggFAWkIcGF5bWVudHMAAAQGd2xnQW10CAUDcG10BmFtb3VudAQGY2FsbGVyCAUBaQZjYWxsZXIEBGFkZHIJAKUIAQUGY2FsbGVyBAZtYXhXbGcJAQ9nZXRTd2FwTGltaXRXbGcBBQRhZGRyAwkAZgIFBndsZ0FtdAUGbWF4V2xnCQACAQkArAICCQCsAgICEllvdSBjYW4gc3BlbmQgbWF4IAkBCmZpeGVkUG9pbnQCBQZtYXhXbGcACAIHIFdMR09MRAMDCQEBIQEJAQlpc0RlZmluZWQBCAUDcG10B2Fzc2V0SWQGCQECIT0CCQEFdmFsdWUBCAUDcG10B2Fzc2V0SWQFCndsZ0Fzc2V0SWQJAAIBAhVXTEdPTEQgcGF5bWVudHMgb25seSEECGN1clN0YXRzCQELZ2V0V2xnU3RhdHMFAgAJAMwIAgUMcmVzdENvbnRyYWN0CQDMCAIFD3N0YWtpbmdDb250cmFjdAkAzAgCBQt3bGdDb250cmFjdAkAzAgCBRJwdXp6bGVQb29sQ29udHJhY3QJAMwIAgUSaW52ZXN0RnVuZENvbnRyYWN0BQNuaWwFC3VzZHRBc3NldElkAAAFBU1VTFQ2BAxjdXJXbGdBbW91bnQJAJEDAgUIY3VyU3RhdHMFDGlkeFdsZ0Ftb3VudAQJc2VsbFByaWNlCQBrAwkAkQMCBQhjdXJTdGF0cwULaWR4V2xnUHJpY2UABAAFBAd1c2R0QW10CQBrAwUGd2xnQW10BQlzZWxsUHJpY2UFBU1VTFQ4AwkAZgIFDk1JTlNIT1BQQVlNRU5UBQd1c2R0QW10CQACAQkArAICCQCsAgICEllvdSBjYW4gdHJhZGUgbWluIAkBCmZpeGVkUG9pbnQCBQ5NSU5TSE9QUEFZTUVOVAAGAgUgVVNEVAMJAGYCBQltaW5BbW91bnQFB3VzZHRBbXQJAAIBAjBQcmljZSBjaGFuZ2VkIGR1cmluZyBvcGVyYXRpb24sIHBsZWFzZSB0cnkgYWdhaW4EDHByb2ZpdEFtb3VudAkAaQIFB3VzZHRBbXQABAkAlAoCCQDMCAIJAQRCdXJuAgUKd2xnQXNzZXRJZAUGd2xnQW10CQDMCAIJAQxJbnRlZ2VyRW50cnkCBRJ3bGdJc3N1ZWRBbW91bnRLZXkJAGUCBQxjdXJXbGdBbW91bnQFBndsZ0FtdAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBFGtleUxhc3RBcmJUaW1lQnlVc2VyAQUEYWRkcggFCWxhc3RCbG9jawl0aW1lc3RhbXAJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBEUBleHRyTmF0aXZlKDEwNjIpAQkBBXZhbHVlAQkAoggBBQ1wcm9maXRBZGRyS2V5BQxwcm9maXRBbW91bnQFC3VzZHRBc3NldElkCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFBmNhbGxlcgUHdXNkdEFtdAULdXNkdEFzc2V0SWQFA25pbAUMcHJvbG9nUmVzdWx0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBBWNsYWltAAQMcHJvbG9nUmVzdWx0CQEGcHJvbG9nAAMJAAACBQxwcm9sb2dSZXN1bHQFDHByb2xvZ1Jlc3VsdAMJAQIhPQIJAJADAQgFAWkIcGF5bWVudHMAAAkAAgECFE5vIHBheW1lbnRzIHJlcXVpcmVkBAFyCQENY2xhaW1JbnRlcm5hbAIJAKUIAQgFAWkGY2FsbGVyBQVNVUxUNgQHYWN0aW9ucwgFAXICXzEJAJQKAgkAzQgCCQDNCAIFB2FjdGlvbnMJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcggIBQFyAl8yAl8xBQp3bGdBc3NldElkCQEOU2NyaXB0VHJhbnNmZXIDBQ9zdGFraW5nQ29udHJhY3QICAUBcgJfMgJfMgUKd2xnQXNzZXRJZAUMcHJvbG9nUmVzdWx0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBEm9uU3Rha2VVbnN0YWtlTGFuZAEEYWRkcgMJAQIhPQIIBQFpBmNhbGxlcgUPc3Rha2luZ0NvbnRyYWN0CQACAQIRUGVybWlzc2lvbiBkZW5pZWQEAXIJAQ1jbGFpbUludGVybmFsAgUEYWRkcgUFTVVMVDYEB2FjdGlvbnMIBQFyAl8xCQCUCgIJAM0IAgkAzQgCBQdhY3Rpb25zCQEOU2NyaXB0VHJhbnNmZXIDCQERQGV4dHJOYXRpdmUoMTA2MikBBQRhZGRyCAgFAXICXzICXzEFCndsZ0Fzc2V0SWQJAQ5TY3JpcHRUcmFuc2ZlcgMFD3N0YWtpbmdDb250cmFjdAgIBQFyAl8yAl8yBQp3bGdBc3NldElkCAUBcgJfMgDScJYw", "height": 3264881, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 5eTMVtCYSrwvhFganzLDzpJPPP6PpvjvD6D7VZEP15GY Next: Das6Z2hX4mhoW5udzZvdyptL8qapbqPTA7yn5JhgiikL Diff:
OldNewDifferences
339339
340340
341341 @Callable(cp)
342-func constructorV1 (cq,bl,bu,cr) = if ((cp.caller != this))
342+func constructorV1 (cq,bl,bu,cr,cs) = if ((cp.caller != this))
343343 then throw("Permission denied")
344- else if (isDefined(getBinary(D)))
345- then throw("Already initialized")
346- else {
347- let aY = af
348- let cs = Issue("WLGOLD", "WavesLands Gold investment token", aY, 8, true, unit, 0)
349- let ct = calculateAssetId(cs)
350-[cs, IntegerEntry(aC, lastBlock.timestamp), IntegerEntry(aD, aY), IntegerEntry(bY, 0), IntegerEntry(aw, fraction(af, aj, b)), BinaryEntry(D, ct), StringEntry(s(), cq), StringEntry(ao, bl), StringEntry(ap, bu), StringEntry(bX, cr)]
351- }
344+ else {
345+ let ct = addressFromStringValue(cs)
346+[IntegerEntry(aC, valueOrElse(getInteger(ct, aC), 0)), IntegerEntry(aD, valueOrElse(getInteger(ct, aD), 0)), IntegerEntry(bY, valueOrElse(getInteger(ct, bY), 0)), IntegerEntry(aw, valueOrElse(getInteger(ct, aw), 0)), BinaryEntry(D, getBinaryValue(ct, D)), StringEntry(s(), cq), StringEntry(ao, bl), StringEntry(ap, bu), StringEntry(bX, cr)]
347+ }
352348
353349
354350
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "__"
55
66 let b = 1000000
77
88 let c = 100000000
99
1010 let d = 100000
1111
1212 let e = 86400000
1313
1414 let f = take(drop(this.bytes, 1), 1)
1515
1616 let g = {
1717 let h = f
1818 if ((base58'2W' == h))
1919 then base58'9wc3LXNA4TEBsXyKtoLE9mrbDD7WMHXvXrCjZvabLAsi'
2020 else if ((base58'2T' == h))
2121 then base58'6mWwf9mZBjVgkC54idpyaZLQfAosD914wT8fGf2iiY63'
2222 else throw("Unknown chain")
2323 }
2424
2525 let i = {
2626 let h = f
2727 if ((base58'2W' == h))
2828 then "3P..."
2929 else if ((base58'2T' == h))
3030 then "3M..."
3131 else throw("Unknown chain")
3232 }
3333
3434 let j = {
3535 let h = f
3636 if ((base58'2W' == h))
3737 then e
3838 else if ((base58'2T' == h))
3939 then 60000
4040 else throw("Unknown chain")
4141 }
4242
4343 func k (l,m) = valueOrErrorMessage(getString(l, m), makeString(["mandatory ", toString(l), ".", m, " is not defined"], ""))
4444
4545
4646 let n = 1
4747
4848 let o = 2
4949
5050 let p = 4
5151
5252 let q = 5
5353
5454 func r () = "%s__restConfig"
5555
5656
5757 func s () = "%s__restAddr"
5858
5959
6060 func t (u) = split_4C(k(u, r()), a)
6161
6262
6363 func v (w,x) = valueOrErrorMessage(addressFromString(w[x]), ("Rest cfg doesn't contain address at index " + toString(x)))
6464
6565
6666 let y = addressFromStringValue(valueOrElse(getString(this, s()), i))
6767
6868 let w = t(y)
6969
7070 let z = v(w, n)
7171
7272 let A = v(w, o)
7373
7474 let B = v(w, p)
7575
7676 let C = v(w, q)
7777
7878 let D = "wlg_assetId"
7979
8080 let E = valueOrErrorMessage(getBinary(A, D), "WLGOLD is not issued yet")
8181
8282 func F (G) = {
8383 let h = G
8484 if ($isInstanceOf(h, "Int"))
8585 then {
8686 let H = h
8787 H
8888 }
8989 else throw("fail to cast into Int")
9090 }
9191
9292
9393 let I = 0
9494
9595 let J = 1
9696
9797 let K = 2
9898
9999 let L = 6
100100
101101 let M = 9
102102
103103 let N = 10
104104
105105 let O = 13
106106
107107 let P = 14
108108
109109 let Q = 17
110110
111111 let R = 18
112112
113113 let S = 21
114114
115115 let T = 24
116116
117117 let U = 26
118118
119119 let V = 27
120120
121121 let W = 28
122122
123123 func X (Y,Z) = {
124124 let aa = pow(10, 0, Z, 0, 0, DOWN)
125125 let ab = toString((Y % aa))
126126 let ac = drop(toString(aa), (1 + size(ab)))
127127 (((toString((Y / aa)) + ".") + ac) + ab)
128128 }
129129
130130
131131 let ad = 1000000
132132
133133 let ae = 100000000
134134
135135 let af = 100000000000000
136136
137137 let ag = 100000
138138
139139 let ah = 200000
140140
141141 let ai = 100000
142142
143143 let aj = 400000
144144
145145 let ak = 31557600000
146146
147147 let al = 50000
148148
149149 let am = take(drop(this.bytes, 1), 1)
150150
151151 let an = {
152152 let h = am
153153 if ((base58'2W' == h))
154154 then 1208630000
155155 else if ((base58'2T' == h))
156156 then 0
157157 else throw("Unknown chain")
158158 }
159159
160160 let ao = "marketingAddr"
161161
162162 let ap = "teamAddr"
163163
164164 let aq = "lastClaimedTime_marketing"
165165
166166 let ar = "marketingAmountLeft"
167167
168168 let as = "lastClaimedTime_team"
169169
170170 let at = "teamAmountLeft"
171171
172172 let au = "lastClaimedTime_activities"
173173
174174 let av = "activitiesAmountLeft"
175175
176176 let aw = "stakersAmountLeft"
177177
178178 func ax (ay) = ("lastClaimedTimeUser_" + ay)
179179
180180
181181 func az (ay) = ("lastArbTimeUser_" + ay)
182182
183183
184184 func aA (aB) = fraction(af, (aj * (aB + 1)), (6 * ad))
185185
186186
187187 let aC = "wlg_issueTime"
188188
189189 let aD = "wlg_issuedAmount"
190190
191191 let aE = "zbill_issuedAmount"
192192
193193 func aF (ay) = ("acresStakedAmountByUser_" + ay)
194194
195195
196196 let aG = "acresStakedAmountTotal"
197197
198198 let aH = 0
199199
200200 let aI = 1
201201
202202 let aJ = 2
203203
204204 let aK = 3
205205
206206 let aL = 4
207207
208208 func aM (aN,z) = {
209209 let aO = valueOrElse(getInteger(z, aG), 0)
210210 let aP = valueOrElse(getInteger(z, aF(aN)), 0)
211211 [aO, aP]
212212 }
213213
214214
215215 let aQ = 0
216216
217217 let aR = 1
218218
219219 func aS (aT,aU,aV,aW,aX) = {
220220 let aY = valueOrErrorMessage(getInteger(aU[aJ], aD), "WLGOLD is not issued yet")
221221 let aZ = assetBalance(aU[aH], aV)
222222 let ba = (assetBalance(aU[aJ], aV) - aW)
223223 let bb = assetBalance(aU[aK], aV)
224224 let bc = aU[aL]
225225 let bd = (assetBalance(bc, aV) + valueOrElse(getInteger(bc, aE), 0))
226226 let be = (ba + bd)
227227 let bf = valueOrErrorMessage(getBinary(aU[aJ], "wlg_assetId"), "Not initialized yet")
228228 let bg = lastBlock.timestamp
229229 let bh = valueOrErrorMessage(getInteger(aU[aJ], aC), "Not initialized")
230230 let bi = fraction(af, ag, ad)
231231 let bj = valueOrElse(getInteger(aU[aJ], ar), bi)
232232 let bk = valueOrElse(getInteger(aU[aJ], aq), bh)
233233 let bl = addressFromStringValue(value(getString(aU[aJ], ao)))
234234 let bm = min([fraction(bi, (bg - bk), ak), bj])
235235 let bn = fraction(bm, al, ad)
236236 let bo = (bm - bn)
237237 let bp = assetBalance(bl, bf)
238238 let bq = assetBalance(aU[aI], bf)
239239 let br = fraction(af, ah, ad)
240240 let bs = valueOrElse(getInteger(aU[aJ], at), br)
241241 let bt = valueOrElse(getInteger(aU[aJ], as), bh)
242242 let bu = addressFromStringValue(value(getString(aU[aJ], ap)))
243243 let bv = min([fraction(br, (bg - bt), (3 * ak)), bs])
244244 let bw = assetBalance(bu, bf)
245245 let bx = fraction(af, ai, ad)
246246 let by = valueOrElse(getInteger(aU[aJ], av), bx)
247247 let bz = valueOrElse(getInteger(aU[aJ], au), bh)
248248 let bA = min([fraction(bx, (bg - bz), (3 * ak)), by])
249249 let bB = assetBalance(aU[aH], bf)
250250 let bC = valueOrElse(getInteger(aU[aJ], ax(aT)), bh)
251251 let bD = ((bC - bh) / ak)
252252 let bE = min([bg, (bh + (3 * ak))])
253253 let bF = min([((bg - bh) / ak), 2])
254254 let bG = aM(aT, aU[aI])
255255 let bH = aA(bF)
256256 let bI = if ((bD == bF))
257257 then {
258258 let bJ = fraction(bH, (bE - bC), ak)
259259 let bK = fraction(bJ, aX, ad)
260260 let bL = (bC + fraction((bE - bC), aX, ad))
261261 $Tuple3(bK, bJ, bL)
262262 }
263263 else if ((bD == (bF - 1)))
264264 then {
265265 let bM = fraction(aA((bF - 1)), ((bh + (ak * bF)) - bC), ak)
266266 let bJ = fraction(bH, (bE - (bh + (ak * bF))), ak)
267267 let bN = (bM + bJ)
268268 let bK = fraction(bN, aX, ad)
269269 let bL = if ((bM >= bK))
270270 then (bC + fraction(ak, bK, aA((bF - 1))))
271271 else ((bh + (ak * bF)) + fraction(ak, (bK - bM), bH))
272272 $Tuple3(bK, bN, bL)
273273 }
274274 else {
275275 let bO = fraction(aA((bF - 2)), ((bh + (ak * (bF - 1))) - bC), ak)
276276 let bM = aA((bF - 1))
277277 let bJ = fraction(bH, (bE - (bh + (ak * bF))), ak)
278278 let bN = ((bO + bM) + bJ)
279279 let bK = fraction(bN, aX, ad)
280280 let bL = if ((bO >= bK))
281281 then (bC + fraction(ak, bK, aA((bF - 2))))
282282 else if (((bO + bM) >= bK))
283283 then ((bh + (ak * (bF - 1))) + fraction(ak, (bK - bO), aA((bF - 1))))
284284 else ((bh + (ak * bF)) + fraction(ak, ((bK - bO) - bM), bH))
285285 $Tuple3(bK, bN, bL)
286286 }
287287 let bP = bI._1
288288 let bQ = bI._2
289289 let bR = bI._3
290290 let bS = valueOrElse(getInteger(aU[aJ], aw), 0)
291291 let bT = fraction(bP, bG[aR], bG[aQ])
292292 let bU = fraction(bT, al, ad)
293293 let bV = (bT - bU)
294294 let bW = fraction(bQ, bG[aR], bG[aQ])
295295 [aY, fraction((be - an), ae, aY), be, aZ, ba, bb, bh, bk, bi, bj, bo, bp, br, bs, bv, bw, bx, by, bA, bB, bF, bS, bH, bC, bV, bd, bW, bR, (bn + bU), bq]
296296 }
297297
298298
299299 let bX = "profitAddr"
300300
301301 let bY = "stakersAmountPaidTotal"
302302
303303 func bZ (ay) = ("stakersAmountPaidUser_" + ay)
304304
305305
306306 func ca () = F(reentrantInvoke(z, "saveLastTx", nil, nil))
307307
308308
309309 func cb (ay) = {
310310 let cc = valueOrElse(getInteger(az(ay)), 0)
311311 let bg = lastBlock.timestamp
312312 if ((j > (bg - cc)))
313313 then throw((("Arbitrages are possible once a " + toString((j / 60000))) + "min"))
314314 else {
315315 let cd = valueOrElse(getInteger(z, aF(ay)), 0)
316316 cd
317317 }
318318 }
319319
320320
321321 func ce (ay,cf) = {
322322 let cg = addressFromStringValue(ay)
323323 let ch = aS(ay, [y, z, A, B, C], g, 0, cf)
324324 let bg = lastBlock.timestamp
325325 let bh = ch[L]
326326 let bj = ch[M]
327327 let ci = ch[N]
328328 let bs = ch[O]
329329 let cj = ch[P]
330330 let by = ch[Q]
331331 let ck = ch[R]
332332 let bP = ch[T]
333333 let cl = bZ(ay)
334334 let cm = ch[U]
335335 let cn = ch[V]
336336 let co = ch[W]
337337 $Tuple2([ScriptTransfer(addressFromStringValue(value(getString(ao))), ci, E), ScriptTransfer(addressFromStringValue(value(getString(ap))), cj, E), ScriptTransfer(y, ck, E), IntegerEntry(cl, (valueOrElse(getInteger(cl), 0) + bP)), IntegerEntry(bY, (valueOrElse(getInteger(bY), 0) + cm)), IntegerEntry(aw, (ch[S] - cm)), IntegerEntry(ar, (bj - ci)), IntegerEntry(aq, bg), IntegerEntry(at, (bs - cj)), IntegerEntry(as, bg), IntegerEntry(av, (by - ck)), IntegerEntry(au, bg), IntegerEntry(ax(ay), cn)], $Tuple2(bP, co))
338338 }
339339
340340
341341 @Callable(cp)
342-func constructorV1 (cq,bl,bu,cr) = if ((cp.caller != this))
342+func constructorV1 (cq,bl,bu,cr,cs) = if ((cp.caller != this))
343343 then throw("Permission denied")
344- else if (isDefined(getBinary(D)))
345- then throw("Already initialized")
346- else {
347- let aY = af
348- let cs = Issue("WLGOLD", "WavesLands Gold investment token", aY, 8, true, unit, 0)
349- let ct = calculateAssetId(cs)
350-[cs, IntegerEntry(aC, lastBlock.timestamp), IntegerEntry(aD, aY), IntegerEntry(bY, 0), IntegerEntry(aw, fraction(af, aj, b)), BinaryEntry(D, ct), StringEntry(s(), cq), StringEntry(ao, bl), StringEntry(ap, bu), StringEntry(bX, cr)]
351- }
344+ else {
345+ let ct = addressFromStringValue(cs)
346+[IntegerEntry(aC, valueOrElse(getInteger(ct, aC), 0)), IntegerEntry(aD, valueOrElse(getInteger(ct, aD), 0)), IntegerEntry(bY, valueOrElse(getInteger(ct, bY), 0)), IntegerEntry(aw, valueOrElse(getInteger(ct, aw), 0)), BinaryEntry(D, getBinaryValue(ct, D)), StringEntry(s(), cq), StringEntry(ao, bl), StringEntry(ap, bu), StringEntry(bX, cr)]
347+ }
352348
353349
354350
355351 @Callable(cp)
356352 func buyWlg (cu) = {
357353 let cv = ca()
358354 if ((cv == cv))
359355 then if ((size(cp.payments) != 1))
360356 then throw("exactly 1 payment must be attached")
361357 else {
362358 let cw = cp.payments[0]
363359 let cx = cw.amount
364360 if (if (!(isDefined(cw.assetId)))
365361 then true
366362 else (value(cw.assetId) != g))
367363 then throw("USDT payments only!")
368364 else {
369365 let cg = cp.caller
370366 let ay = toString(cg)
371367 if ((d > cx))
372368 then throw((("You can trade min " + X(d, 6)) + " USDT"))
373369 else {
374370 let ch = aS("", [y, z, A, B, C], g, cx, b)
375371 let cy = ch[I]
376372 let cz = ch[K]
377373 let cA = fraction(cz, c, cy)
378374 let cB = fraction(cA, 6, 5)
379375 let cC = fraction(cx, c, cB)
380376 let cD = cb(ay)
381377 if ((cC > cD))
382378 then throw((("You can get max " + X(cD, 8)) + " WLGOLD"))
383379 else if ((cu > cC))
384380 then throw("Price changed during operation, please try again")
385381 else {
386382 let cE = (cx / 6)
387383 let cF = (cx - cE)
388384 let cG = fraction(cy, cF, cz)
389385 $Tuple2([Reissue(E, cG, true), IntegerEntry(aD, (cy + cG)), IntegerEntry(az(ay), lastBlock.timestamp), ScriptTransfer(addressFromStringValue(value(getString(bX))), cE, g), ScriptTransfer(cg, cC, E)], cv)
390386 }
391387 }
392388 }
393389 }
394390 else throw("Strict value is not equal to itself.")
395391 }
396392
397393
398394
399395 @Callable(cp)
400396 func sellWlg (cu) = {
401397 let cv = ca()
402398 if ((cv == cv))
403399 then if ((size(cp.payments) != 1))
404400 then throw("exactly 1 payment must be attached")
405401 else {
406402 let cw = cp.payments[0]
407403 let cH = cw.amount
408404 let cg = cp.caller
409405 let ay = toString(cg)
410406 let cD = cb(ay)
411407 if ((cH > cD))
412408 then throw((("You can spend max " + X(cD, 8)) + " WLGOLD"))
413409 else if (if (!(isDefined(cw.assetId)))
414410 then true
415411 else (value(cw.assetId) != E))
416412 then throw("WLGOLD payments only!")
417413 else {
418414 let ch = aS("", [y, z, A, B, C], g, 0, b)
419415 let cy = ch[I]
420416 let cI = fraction(ch[J], 4, 5)
421417 let cx = fraction(cH, cI, c)
422418 if ((d > cx))
423419 then throw((("You can trade min " + X(d, 6)) + " USDT"))
424420 else if ((cu > cx))
425421 then throw("Price changed during operation, please try again")
426422 else {
427423 let cE = (cx / 4)
428424 $Tuple2([Burn(E, cH), IntegerEntry(aD, (cy - cH)), IntegerEntry(az(ay), lastBlock.timestamp), ScriptTransfer(addressFromStringValue(value(getString(bX))), cE, g), ScriptTransfer(cg, cx, g)], cv)
429425 }
430426 }
431427 }
432428 else throw("Strict value is not equal to itself.")
433429 }
434430
435431
436432
437433 @Callable(cp)
438434 func claim () = {
439435 let cv = ca()
440436 if ((cv == cv))
441437 then if ((size(cp.payments) != 0))
442438 then throw("No payments required")
443439 else {
444440 let cJ = ce(toString(cp.caller), b)
445441 let cK = cJ._1
446442 $Tuple2(((cK :+ ScriptTransfer(cp.caller, cJ._2._1, E)) :+ ScriptTransfer(z, cJ._2._2, E)), cv)
447443 }
448444 else throw("Strict value is not equal to itself.")
449445 }
450446
451447
452448
453449 @Callable(cp)
454450 func onStakeUnstakeLand (ay) = if ((cp.caller != z))
455451 then throw("Permission denied")
456452 else {
457453 let cJ = ce(ay, b)
458454 let cK = cJ._1
459455 $Tuple2(((cK :+ ScriptTransfer(addressFromStringValue(ay), cJ._2._1, E)) :+ ScriptTransfer(z, cJ._2._2, E)), cJ._2)
460456 }
461457
462458

github/deemru/w8io/3da68e3 
54.99 ms