tx · Hr2KEJ7XcawRiWrsfsnDxKjocAURw7wixBjzGyXyfAsH

3NBPx1Fciu3JQNEGZ21jSnTdutLNGGBUSXh:  -0.01800000 Waves

2024.11.23 13:16 [3383979] smart account 3NBPx1Fciu3JQNEGZ21jSnTdutLNGGBUSXh > SELF 0.00000000 Waves

{ "type": 13, "id": "Hr2KEJ7XcawRiWrsfsnDxKjocAURw7wixBjzGyXyfAsH", "fee": 1800000, "feeAssetId": null, "timestamp": 1732357031390, "version": 2, "chainId": 84, "sender": "3NBPx1Fciu3JQNEGZ21jSnTdutLNGGBUSXh", "senderPublicKey": "3QtfC1XbLZXdeawMDeSERy9vvjUmj1XYd2GFmrvx7pWQ", "proofs": [ "4r43tUZEaEucGjk38pxe1qti7LcjxacnmxwcuMxtff7nLt85YNvwaPiKPP6P49JkcBrZe8B6VK9MLfxa9F9suyVG" ], "script": "base64:BgI9CAISABIECgIICBIDCgEEEgMKAQESABIAEgMKAQESABIECgIIARIAEgMKAQgSAwoBCBIECgIIARIECgIIAUIAA1NFUAICX18ABU1VTFQ2AMCEPQAFTVVMVDcAgK3iBAAFTVVMVDgAgMLXLwAKREFZX01JTExJUwCAuJkpABVVU0RUMkFDUkVTX01VTFRJUExJRVIACgATT05FX1BFUkNFTlRfRElWSVNPUgBkAAVjaGFpbgkAyQECCQDKAQIIBQR0aGlzBWJ5dGVzAAEAAQALdXNkdEFzc2V0SWQEByRtYXRjaDAFBWNoYWluAwkAAAIBAVcFByRtYXRjaDABIITaerIIAz9O0bvKju6Lk7zJgt0LXfoHlqjUI/moD/+5AwkAAAIBAVQFByRtYXRjaDABIFWx2J9yh4Lv5eNbjawFq2XemkOhLxa7BfMat4el8cUYCQACAQINVW5rbm93biBjaGFpbgAWZGVmYXVsdFJlc3QyQWRkcmVzc1N0cgQHJG1hdGNoMAUFY2hhaW4DCQAAAgEBVwUHJG1hdGNoMAIjM1BGd1l0YThiaUV6MzF6cGVGZTVESks4d0U1dHJTcFFWRjgDCQAAAgEBVAUHJG1hdGNoMAIjM043VXVZYXI2MjY0UDU4RkJoVldLUFFBaDRZdWEyaGduZ3YJAAIBAg1Vbmtub3duIGNoYWluAA5hcmJpdHJhZ2VEZWxheQQHJG1hdGNoMAUFY2hhaW4DCQAAAgEBVwUHJG1hdGNoMAUKREFZX01JTExJUwMJAAACAQFUBQckbWF0Y2gwAODUAwkAAgECDVVua25vd24gY2hhaW4AFW9sZFN0YWtpbmdDb250cmFjdFN0cgQHJG1hdGNoMAUFY2hhaW4DCQAAAgEBVwUHJG1hdGNoMAIjM1BMbmNYdFMxVTgzRDZjUWJGRDNIOHJCSFBMZ3p4U0ZLWjEDCQAAAgEBVAUHJG1hdGNoMAIjM05EQ3lCRzVxODVKdWFSaWlnVWVFdGFpbnlqQ1FUM1hwWm0JAAIBAg1Vbmtub3duIGNoYWluAQ9nZXRTdHJpbmdPckZhaWwCB2FkZHJlc3MDa2V5CQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgUHYWRkcmVzcwUDa2V5CQC5CQIJAMwIAgIKbWFuZGF0b3J5IAkAzAgCCQClCAEFB2FkZHJlc3MJAMwIAgIBLgkAzAgCBQNrZXkJAMwIAgIPIGlzIG5vdCBkZWZpbmVkBQNuaWwCAAAQSWR4Q2ZnQWNyZXMyRGFwcAABAA1JZHhDZmdXbGdEYXBwAAIAFElkeENmZ0ludmVzdEZ1bmREYXBwAAUBCmtleVJlc3RDZmcAAg4lc19fcmVzdENvbmZpZwEPa2V5UmVzdDJBZGRyZXNzAAINJXNfX3Jlc3QyQWRkcgERcmVhZFJlc3RDZmdPckZhaWwBBHJlc3QJALwJAgkBD2dldFN0cmluZ09yRmFpbAIFBHJlc3QJAQprZXlSZXN0Q2ZnAAUDU0VQARhnZXRDb250cmFjdEFkZHJlc3NPckZhaWwCCHJlc3QyQ2ZnA2lkeAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCmCAEJAJEDAgUIcmVzdDJDZmcFA2lkeAkArAICAipSZXN0IGNmZyBkb2Vzbid0IGNvbnRhaW4gYWRkcmVzcyBhdCBpbmRleCAJAKQDAQUDaWR4AA1yZXN0MkNvbnRyYWN0CQERQGV4dHJOYXRpdmUoMTA2MikBCQELdmFsdWVPckVsc2UCCQCdCAIFBHRoaXMJAQ9rZXlSZXN0MkFkZHJlc3MABRZkZWZhdWx0UmVzdDJBZGRyZXNzU3RyAAhyZXN0MkNmZwkBEXJlYWRSZXN0Q2ZnT3JGYWlsAQUNcmVzdDJDb250cmFjdAAOYWNyZXMyQ29udHJhY3QJARhnZXRDb250cmFjdEFkZHJlc3NPckZhaWwCBQhyZXN0MkNmZwUQSWR4Q2ZnQWNyZXMyRGFwcAALd2xnQ29udHJhY3QJARhnZXRDb250cmFjdEFkZHJlc3NPckZhaWwCBQhyZXN0MkNmZwUNSWR4Q2ZnV2xnRGFwcAASaW52ZXN0RnVuZENvbnRyYWN0CQEYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAgUIcmVzdDJDZmcFFElkeENmZ0ludmVzdEZ1bmREYXBwABNvbGRBY3Jlc0NvbnRyYWN0S2V5AhBvbGRBY3Jlc0NvbnRyYWN0AQprZXlCbG9ja2VkAAIQY29udHJhY3RzQmxvY2tlZAEVa2V5TGFzdFdlZWtUeElkQnlVc2VyAQRhZGRyCQCsAgICE2xhc3RXZWVrVHhJZEJ5VXNlcl8FBGFkZHIBFGtleUN1cldlZWtUeElkQnlVc2VyAQRhZGRyCQCsAgICEmN1cldlZWtUeElkQnlVc2VyXwUEYWRkcgAUYWNyZXNJc3N1ZWRBbW91bnRLZXkCEWFjcmVzSXNzdWVkQW1vdW50AA9hY3Jlc0Fzc2V0SWRLZXkCDGFjcmVzQXNzZXRJZAAMYWNyZXNBc3NldElkCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJwIAgUOYWNyZXMyQ29udHJhY3QFD2FjcmVzQXNzZXRJZEtleQIXQUNSRVMgaXMgbm90IGlzc3VlZCB5ZXQBGGtleUFjcmVzU3Rha2VkVGltZUJ5VXNlcgEEYWRkcgkArAICAhZhY3Jlc1N0YWtlZFRpbWVCeVVzZXJfBQRhZGRyARVrZXlTdGFrZWRMYW5kc0J5T3duZXIBCW93bmVyQWRkcgkArAICAhNzdGFrZWRMYW5kc0J5T3duZXJfBQlvd25lckFkZHIBFGtleVN0YWtlZER1Y2tCeU93bmVyAQlvd25lckFkZHIJAKwCAgISc3Rha2VkRHVja0J5T3duZXJfBQlvd25lckFkZHIBBWFzSW50AQF2BAckbWF0Y2gwBQF2AwkAAQIFByRtYXRjaDACA0ludAQBbgUHJG1hdGNoMAUBbgkAAgECFWZhaWwgdG8gY2FzdCBpbnRvIEludAEMYXNUdXBsZTVJbnRzAQN2YWwEByRtYXRjaDAFA3ZhbAMJAAECBQckbWF0Y2gwAhkoSW50LCBJbnQsIEludCwgSW50LCBJbnQpBAF0BQckbWF0Y2gwBQF0CQACAQIrZmFpbCB0byBjYXN0IGludG8gKEludCwgSW50LCBJbnQsIEludCwgSW50KQEMYXNUdXBsZTRJbnRzAQN2YWwEByRtYXRjaDAFA3ZhbAMJAAECBQckbWF0Y2gwAhQoSW50LCBJbnQsIEludCwgSW50KQQBdAUHJG1hdGNoMAUBdAkAAgECJmZhaWwgdG8gY2FzdCBpbnRvIChJbnQsIEludCwgSW50LCBJbnQpAQxhc1R1cGxlM0ludHMBA3ZhbAQHJG1hdGNoMAUDdmFsAwkAAQIFByRtYXRjaDACDyhJbnQsIEludCwgSW50KQQBdAUHJG1hdGNoMAUBdAkAAgECIWZhaWwgdG8gY2FzdCBpbnRvIChJbnQsIEludCwgSW50KQEMYXNUdXBsZTJJbnRzAQN2YWwEByRtYXRjaDAFA3ZhbAMJAAECBQckbWF0Y2gwAgooSW50LCBJbnQpBAF0BQckbWF0Y2gwBQF0CQACAQIcZmFpbCB0byBjYXN0IGludG8gKEludCwgSW50KQEKZml4ZWRQb2ludAIDdmFsCGRlY2ltYWxzBAZ0ZW5Qb3cJAGwGAAoAAAUIZGVjaW1hbHMAAAAABQRET1dOBAdsb3dQYXJ0CQCkAwEJAGoCBQN2YWwFBnRlblBvdwQGemVyb2VzCQCwAgIJAKQDAQUGdGVuUG93CQBkAgABCQCxAgEFB2xvd1BhcnQJAKwCAgkArAICCQCsAgIJAKQDAQkAaQIFA3ZhbAUGdGVuUG93AgEuBQZ6ZXJvZXMFB2xvd1BhcnQAA004XwCAwtcvAAtXRUVLX0JMT0NLUwDgTgAPd2xnSXNzdWVkQW10S2V5AhB3bGdfaXNzdWVkQW1vdW50AA56Yklzc3VlZEFtdEtleQISemJpbGxfaXNzdWVkQW1vdW50ARdrZXlBY3Jlc1N0YWtlZEFtdEJ5VXNlcgEEYWRkcgkArAICAhhhY3Jlc1N0YWtlZEFtb3VudEJ5VXNlcl8FBGFkZHIBFWtleUZhcm1pbmdQb3dlckJ5VXNlcgEEYWRkcgkArAICAhNmYXJtaW5nUG93ZXJCeVVzZXJfBQRhZGRyABJhY3Jlc1N0YWtkVG90YWxLZXkCFmFjcmVzU3Rha2VkQW1vdW50VG90YWwAFHRvdGFsRmFybWluZ1Bvd2VyS2V5AhF0b3RhbEZhcm1pbmdQb3dlcgAVSWR4RHR4M1BlcmNDb252ZXJzaW9uAAAACmxldmVsQWNyZXMJAMwIAgAACQDMCAIACgkAzAgCABQJAMwIAgAoCQDMCAIAUAkAzAgCAJYBCQDMCAIA+gEJAMwIAgCQAwkAzAgCALwFCQDMCAIA6AcFA25pbAEPZ2V0TGV2ZWxCeUFjcmVzAQVhY3JlcwQDYWNyCQBpAgkAZAIFBWFjcmVzAP/B1y8FA004XwoBB2NoZWNrZXICA2FjYwRpdGVtAwkAZwIFBGl0ZW0FA2FjcgUDYWNjCQBkAgUDYWNjAAEKAAIkbAUKbGV2ZWxBY3JlcwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAAAAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEHY2hlY2tlcgIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIUTGlzdCBzaXplIGV4Y2VlZHMgMTAJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgEWZ2V0RmFybWluZ1Bvd2VyQnlBY3JlcwEFYWNyZXMJAGgCCQBoAgUFYWNyZXMAFAkAZAIJAQ9nZXRMZXZlbEJ5QWNyZXMBBQVhY3JlcwAEABFrZXlOZnRUb3RhbElzc3VlZAIObmZ0VG90YWxJc3N1ZWQBFWtleU5mdE51bWJlckJ5QXNzZXRJZAEHYXNzZXRJZAkArAICAhNuZnROdW1iZXJCeUFzc2V0SWRfBQdhc3NldElkARlrZXlMYXN0V2xnVHJhZGVUaW1lQnlVc2VyAQRhZGRyCQCsAgICEGxhc3RBcmJUaW1lVXNlcl8FBGFkZHIAFGtleUxhc3RBY3Jlc1NlbGxUaW1lAhFsYXN0QWNyZXNTZWxsVGltZQAQa2V5TGFzdExpbWl0TGVmdAINbGFzdExpbWl0TGVmdAAPbmZ0RGVzY3JpcHRpb25zCQDMCAICd3sibmFtZSI6ICJHb2xkIHNob3ZlbCIsICJkZXNjcmlwdGlvbiI6ICJSZXdhcmQgZm9yIGVhcmx5IGJpcmRzIiwgInJhcmUiOiAiUHJvbW8iLCAiYm9udXMiOiAzLCAiYm9udXNUeXBlIjogIkZhcm1Qb3dlciJ9CQDMCAICcXsibmFtZSI6ICJQaWNrYXhlIiwgImRlc2NyaXB0aW9uIjogIkluY3JlYXNlcyBGYXJtUG93ZXIiLCAicmFyZSI6ICJDb21tb24iLCAiYm9udXMiOiAxLCAiYm9udXNUeXBlIjogIkZhcm1Qb3dlciJ9BQNuaWwACG5mdE5hbWVzCQDMCAICCVNIT1ZFTC1QMwkAzAgCAgpQSUNLQVhFLUMxBQNuaWwAC2NvbnRlbnRLZXlzCQDMCAICD2NvbnRlbnRTaG92ZWxQMwkAzAgCAhBjb250ZW50UGlja2F4ZUMxBQNuaWwBBnByb2xvZwEBaQMDCQECIT0CCAUBaQxvcmlnaW5DYWxsZXIFDXJlc3QyQ29udHJhY3QJAQt2YWx1ZU9yRWxzZQIJAKAIAQkBCmtleUJsb2NrZWQABwcJAAIBAh9Db250cmFjdHMgYXJlIHVuZGVyIG1haW50ZW5hbmNlBARhZGRyCQClCAEIBQFpDG9yaWdpbkNhbGxlcgQEd2VlawkAaQIFBmhlaWdodAULV0VFS19CTE9DS1MEEmxhc3RXZWVrVHhJZEJ5VXNlcgkAoggBCQEVa2V5TGFzdFdlZWtUeElkQnlVc2VyAQUEYWRkcgQEdHhJZAkA2AQBCAUBaQ10cmFuc2FjdGlvbklkBAN3dHgJAKwCAgkArAICCQCkAwEFBHdlZWsCAV8FBHR4SWQDCQEJaXNEZWZpbmVkAQUSbGFzdFdlZWtUeElkQnlVc2VyBApsYXN0V2Vla1R4CQC1CQIJAQV2YWx1ZQEFEmxhc3RXZWVrVHhJZEJ5VXNlcgIBXwMJAAACCQCRAwIFCmxhc3RXZWVrVHgAAAkApAMBBQR3ZWVrCQDMCAIJAQtTdHJpbmdFbnRyeQIJARVrZXlMYXN0V2Vla1R4SWRCeVVzZXIBBQRhZGRyBQN3dHgJAMwIAgkBC1N0cmluZ0VudHJ5AgkBFGtleUN1cldlZWtUeElkQnlVc2VyAQUEYWRkcgUDd3R4BQNuaWwDCQAAAgkAkQMCBQpsYXN0V2Vla1R4AAAJAKQDAQkAZQIFBHdlZWsAAQkAzAgCCQELU3RyaW5nRW50cnkCCQEUa2V5Q3VyV2Vla1R4SWRCeVVzZXIBBQRhZGRyBQN3dHgFA25pbAQRY3VyV2Vla1R4SWRCeVVzZXIJARFAZXh0ck5hdGl2ZSgxMDU4KQEJARVrZXlMYXN0V2Vla1R4SWRCeVVzZXIBBQRhZGRyBAljdXJXZWVrVHgJALUJAgURY3VyV2Vla1R4SWRCeVVzZXICAV8DCQAAAgkAkQMCBQljdXJXZWVrVHgAAAkApAMBBQR3ZWVrCQDMCAIJAQtTdHJpbmdFbnRyeQIJARRrZXlDdXJXZWVrVHhJZEJ5VXNlcgEFBGFkZHIFA3d0eAUDbmlsCQDMCAIJAQtTdHJpbmdFbnRyeQIJARVrZXlMYXN0V2Vla1R4SWRCeVVzZXIBBQRhZGRyBRFjdXJXZWVrVHhJZEJ5VXNlcgkAzAgCCQELU3RyaW5nRW50cnkCCQEUa2V5Q3VyV2Vla1R4SWRCeVVzZXIBBQRhZGRyBQN3dHgFA25pbAkAzAgCCQELU3RyaW5nRW50cnkCCQEVa2V5TGFzdFdlZWtUeElkQnlVc2VyAQUEYWRkcgUDd3R4CQDMCAIJAQtTdHJpbmdFbnRyeQIJARRrZXlDdXJXZWVrVHhJZEJ5VXNlcgEFBGFkZHIFA3d0eAUDbmlsARBpc3N1ZU5GVGludGVybmFsAghuZnRJbmRleARhZGRyAwkAZwIFCG5mdEluZGV4CQCQAwEFC2NvbnRlbnRLZXlzCQACAQIWbmZ0SW5kZXggb3V0IG9mIGJvdW5kcwQJbmZ0U2VyaWFsCQBkAgkBC3ZhbHVlT3JFbHNlAgkAnwgBBRFrZXlOZnRUb3RhbElzc3VlZAD///////////8BAAEEBWlzc3VlCQDCCAUJAJEDAgUIbmZ0TmFtZXMFCG5mdEluZGV4CQC6CQIJAMwIAgkAkQMCBQtjb250ZW50S2V5cwUIbmZ0SW5kZXgJAMwIAgkApAMBBQluZnRTZXJpYWwJAMwIAgkAkQMCBQ9uZnREZXNjcmlwdGlvbnMFCG5mdEluZGV4BQNuaWwFA1NFUAABAAAHBApuZnRBc3NldElkCQC4CAEFBWlzc3VlCQCUCgIJAMwIAgUFaXNzdWUJAMwIAgkBDEludGVnZXJFbnRyeQIFEWtleU5mdFRvdGFsSXNzdWVkBQluZnRTZXJpYWwJAMwIAgkBDEludGVnZXJFbnRyeQIJARVrZXlOZnROdW1iZXJCeUFzc2V0SWQBCQDYBAEFCm5mdEFzc2V0SWQFCW5mdFNlcmlhbAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQRhZGRyAAEFCm5mdEFzc2V0SWQFA25pbAUKbmZ0QXNzZXRJZAEZc3Rha2VVbnN0YWtlQWNyZXNJbnRlcm5hbAIDYW10B2FkZHJlc3MECXdsZ1Jlc3VsdAkA/AcEBQt3bGdDb250cmFjdAISb25TdGFrZVVuc3Rha2VMYW5kCQDMCAIFB2FkZHJlc3MFA25pbAUDbmlsAwkAAAIFCXdsZ1Jlc3VsdAUJd2xnUmVzdWx0BANub3cIBQlsYXN0QmxvY2sJdGltZXN0YW1wBAd0aW1lS2V5CQEYa2V5QWNyZXNTdGFrZWRUaW1lQnlVc2VyAQUHYWRkcmVzcwQJYW1vdW50S2V5CQEXa2V5QWNyZXNTdGFrZWRBbXRCeVVzZXIBBQdhZGRyZXNzBA5vbGRBY3Jlc0Ftb3VudAkBC3ZhbHVlT3JFbHNlAgkAnwgBBQlhbW91bnRLZXkAAAMDCQBmAgAABQNhbXQJAGYCAAAJAGQCBQ5vbGRBY3Jlc0Ftb3VudAUDYW10BwkAAgEJAKwCAgkArAICCQCsAgICDllvdSBoYXZlIG9ubHkgCQEKZml4ZWRQb2ludAIFDm9sZEFjcmVzQW1vdW50AAgCICBBQ1JFUyBzdGFrZWQsIHRyaWVkIHRvIHVuc3Rha2UgCQEKZml4ZWRQb2ludAIJAQEtAQUDYW10AAgEDm5ld0FjcmVzQW1vdW50CQBkAgUOb2xkQWNyZXNBbW91bnQFA2FtdAQIb2xkVG90YWwJAQt2YWx1ZU9yRWxzZQIJAJ8IAQUSYWNyZXNTdGFrZFRvdGFsS2V5AAAECXVzZXJGcEtleQkBFWtleUZhcm1pbmdQb3dlckJ5VXNlcgEFB2FkZHJlc3MEBW9sZEZwCQELdmFsdWVPckVsc2UCCQCfCAEFCXVzZXJGcEtleQAABAVuZXdGcAkBFmdldEZhcm1pbmdQb3dlckJ5QWNyZXMBBQ5uZXdBY3Jlc0Ftb3VudAQKb2xkVG90YWxGcAkBC3ZhbHVlT3JFbHNlAgkAnwgBBRR0b3RhbEZhcm1pbmdQb3dlcktleQAACQCUCgIJAMwIAgkBDEludGVnZXJFbnRyeQIFB3RpbWVLZXkIBQlsYXN0QmxvY2sJdGltZXN0YW1wCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQlhbW91bnRLZXkFDm5ld0FjcmVzQW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCBRJhY3Jlc1N0YWtkVG90YWxLZXkJAGQCBQhvbGRUb3RhbAUDYW10CQDMCAIJAQxJbnRlZ2VyRW50cnkCBQl1c2VyRnBLZXkFBW5ld0ZwCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRR0b3RhbEZhcm1pbmdQb3dlcktleQkAZAIJAGUCBQpvbGRUb3RhbEZwBQVvbGRGcAUFbmV3RnAFA25pbAUJd2xnUmVzdWx0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAQtnZXRXbGdQcmljZQEVdXNkdEJhbGFuY2VDb3JyZWN0aW9uBAxpc3N1ZWRBbW91bnQJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAmggCBQt3bGdDb250cmFjdAUPd2xnSXNzdWVkQW10S2V5AhhXTEdPTEQgaXMgbm90IGlzc3VlZCB5ZXQEBndsZ1VzZAkA8AcCBQt3bGdDb250cmFjdAULdXNkdEFzc2V0SWQECWFjcmVzMlVzZAkAZQIJAPAHAgUOYWNyZXMyQ29udHJhY3QFC3VzZHRBc3NldElkBRV1c2R0QmFsYW5jZUNvcnJlY3Rpb24ED2ludmVzdEZ1bmRUb3RhbAkAZAIJAPAHAgUSaW52ZXN0RnVuZENvbnRyYWN0BQt1c2R0QXNzZXRJZAkBC3ZhbHVlT3JFbHNlAgkAmggCBRJpbnZlc3RGdW5kQ29udHJhY3QFDnpiSXNzdWVkQW10S2V5AAAEDXRvdGFsRnVuZHNVc2QJAGQCCQBkAgUJYWNyZXMyVXNkBQZ3bGdVc2QFD2ludmVzdEZ1bmRUb3RhbAkAawMFDXRvdGFsRnVuZHNVc2QFBU1VTFQ4BQxpc3N1ZWRBbW91bnQBEWdldFN3YXBMaW1pdEFjcmVzAAQGd2xnVXNkCQDwBwIFC3dsZ0NvbnRyYWN0BQt1c2R0QXNzZXRJZAQJYWNyZXMyVXNkCQDwBwIFBHRoaXMFC3VzZHRBc3NldElkBA9pbnZlc3RGdW5kVG90YWwJAGQCCQDwBwIFEmludmVzdEZ1bmRDb250cmFjdAULdXNkdEFzc2V0SWQJAQt2YWx1ZU9yRWxzZQIJAJoIAgUSaW52ZXN0RnVuZENvbnRyYWN0BQ56Yklzc3VlZEFtdEtleQAABAxkZWZhdWx0TGltaXQJAGkCCQBkAgkAZAIFCWFjcmVzMlVzZAUGd2xnVXNkBQ9pbnZlc3RGdW5kVG90YWwFE09ORV9QRVJDRU5UX0RJVklTT1IEDWxhc3RMaW1pdExlZnQJAQt2YWx1ZU9yRWxzZQIJAJ8IAQUQa2V5TGFzdExpbWl0TGVmdAUMZGVmYXVsdExpbWl0BAhsYXN0VGltZQkBC3ZhbHVlT3JFbHNlAgkAnwgBBRRrZXlMYXN0QWNyZXNTZWxsVGltZQAABANub3cIBQlsYXN0QmxvY2sJdGltZXN0YW1wBAxjdXJyZW50TGltaXQJAGQCBQ1sYXN0TGltaXRMZWZ0CQBrAwUMZGVmYXVsdExpbWl0CQBlAgUDbm93BQhsYXN0VGltZQUKREFZX01JTExJUwQNbGltaXRMZWZ0VXNkdAkAlwMBCQDMCAIFDGN1cnJlbnRMaW1pdAkAzAgCBQxkZWZhdWx0TGltaXQFA25pbAkAlAoCCQEMSW50ZWdlckVudHJ5AgUUa2V5TGFzdEFjcmVzU2VsbFRpbWUFA25vdwUNbGltaXRMZWZ0VXNkdA4BaQEKc2F2ZUxhc3RUeAADCQEBIQEJAQ9jb250YWluc0VsZW1lbnQCCQDMCAIFC3dsZ0NvbnRyYWN0BQNuaWwIBQFpBmNhbGxlcgkAAgECDUFjY2VzcyBkZW5pZWQJAJQKAgkBBnByb2xvZwEFAWkAKgFpAQ1jb25zdHJ1Y3RvclYxAglyZXN0MkFkZHIOb2xkQWNyQ29udHJhY3QDCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAhFQZXJtaXNzaW9uIGRlbmllZAQOb2xkQWNyQ29udEFkZHIJARFAZXh0ck5hdGl2ZSgxMDYyKQEFDm9sZEFjckNvbnRyYWN0CQDMCAIJAQxJbnRlZ2VyRW50cnkCBRRhY3Jlc0lzc3VlZEFtb3VudEtleQkBEUBleHRyTmF0aXZlKDEwNTApAgUOb2xkQWNyQ29udEFkZHIFFGFjcmVzSXNzdWVkQW1vdW50S2V5CQDMCAIJAQtCaW5hcnlFbnRyeQIFD2FjcmVzQXNzZXRJZEtleQkBEUBleHRyTmF0aXZlKDEwNTIpAgUOb2xkQWNyQ29udEFkZHIFD2FjcmVzQXNzZXRJZEtleQkAzAgCCQELU3RyaW5nRW50cnkCCQEPa2V5UmVzdDJBZGRyZXNzAAUJcmVzdDJBZGRyCQDMCAIJAQtTdHJpbmdFbnRyeQIFE29sZEFjcmVzQ29udHJhY3RLZXkFDm9sZEFjckNvbnRyYWN0BQNuaWwBaQEKc2V0QmxvY2tlZAEJaXNCbG9ja2VkAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIRcGVybWlzc2lvbiBkZW5pZWQJAMwIAgkBDEJvb2xlYW5FbnRyeQIJAQprZXlCbG9ja2VkAAUJaXNCbG9ja2VkBQNuaWwBaQEMdW5zdGFrZUFjcmVzAQZhbW91bnQEDXByb2xvZ0FjdGlvbnMJAQZwcm9sb2cBBQFpAwkAZwIAAAUGYW1vdW50CQACAQIZQW1vdW50IHNob3VsZCBiZSBwb3NpdGl2ZQQHYWRkcmVzcwkApQgBCAUBaQZjYWxsZXIDCQECIT0CCQCQAwEIBQFpCHBheW1lbnRzAAAJAAIBAhRObyBwYXltZW50cyByZXF1aXJlZAQOYXJiUmVsZWFzZVRpbWUJAGQCCQELdmFsdWVPckVsc2UCCQCaCAIFC3dsZ0NvbnRyYWN0CQEZa2V5TGFzdFdsZ1RyYWRlVGltZUJ5VXNlcgEFB2FkZHJlc3MAAAUOYXJiaXRyYWdlRGVsYXkDCQBmAgUOYXJiUmVsZWFzZVRpbWUIBQlsYXN0QmxvY2sJdGltZXN0YW1wCQACAQkArAICAi1Zb3UgdHJhZGVkIHNvbWUgV0xHT0xELCBjYW5ub3QgdW5zdGFrZSB1bnRpbCAJAKQDAQUOYXJiUmVsZWFzZVRpbWUECyR0MDczNTE3NDI4CQEZc3Rha2VVbnN0YWtlQWNyZXNJbnRlcm5hbAIJAQEtAQUGYW1vdW50BQdhZGRyZXNzBAdhY3Rpb25zCAULJHQwNzM1MTc0MjgCXzEEEHdsZ0NsYWltZWRBbW91bnQIBQskdDA3MzUxNzQyOAJfMgkAlAoCCQDOCAIJAM0IAgUHYWN0aW9ucwkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBQZhbW91bnQFDGFjcmVzQXNzZXRJZAUNcHJvbG9nQWN0aW9ucwUQd2xnQ2xhaW1lZEFtb3VudAFpAQpzdGFrZUFjcmVzAAQNcHJvbG9nQWN0aW9ucwkBBnByb2xvZwEFAWkEB2FkZHJlc3MJAKUIAQgFAWkGY2FsbGVyAwkBAiE9AgkAkAMBCAUBaQhwYXltZW50cwABCQACAQIiZXhhY3RseSAxIHBheW1lbnQgbXVzdCBiZSBhdHRhY2hlZAQDcG10CQCRAwIIBQFpCHBheW1lbnRzAAAEA2FtdAgFA3BtdAZhbW91bnQDAwkBASEBCQEJaXNEZWZpbmVkAQgFA3BtdAdhc3NldElkBgkBAiE9AgkBBXZhbHVlAQgFA3BtdAdhc3NldElkBQxhY3Jlc0Fzc2V0SWQJAAIBAhRBQ1JFUyBwYXltZW50cyBvbmx5IQQLJHQwNzg3OTc5NTIJARlzdGFrZVVuc3Rha2VBY3Jlc0ludGVybmFsAgUDYW10BQdhZGRyZXNzBAdhY3Rpb25zCAULJHQwNzg3OTc5NTICXzEEEHdsZ0NsYWltZWRBbW91bnQIBQskdDA3ODc5Nzk1MgJfMgkAlAoCCQDOCAIFB2FjdGlvbnMFDXByb2xvZ0FjdGlvbnMFEHdsZ0NsYWltZWRBbW91bnQBaQEIYnV5QWNyZXMABA1wcm9sb2dBY3Rpb25zCQEGcHJvbG9nAQUBaQMJAQIhPQIJAJADAQgFAWkIcGF5bWVudHMAAQkAAgECImV4YWN0bHkgMSBwYXltZW50IG11c3QgYmUgYXR0YWNoZWQEA3BtdAkAkQMCCAUBaQhwYXltZW50cwAABAp1c2R0QW1vdW50CAUDcG10BmFtb3VudAMDCQEBIQEJAQlpc0RlZmluZWQBCAUDcG10B2Fzc2V0SWQGCQECIT0CCQEFdmFsdWUBCAUDcG10B2Fzc2V0SWQFC3VzZHRBc3NldElkCQACAQITVVNEVCBwYXltZW50cyBvbmx5IQMJAGYCBQVNVUxUNgUKdXNkdEFtb3VudAkAAgEJAKwCAgkArAICAhZNaW4gcGF5bWVudCBzaG91bGQgYmUgCQEKZml4ZWRQb2ludAIFBU1VTFQ2AAYCBSBVU0RUBAthY3Jlc0Ftb3VudAkAaAIFCnVzZHRBbW91bnQFFVVTRFQyQUNSRVNfTVVMVElQTElFUgQJd2xnQW1vdW50CQBrAwUKdXNkdEFtb3VudAUFTVVMVDgJAQtnZXRXbGdQcmljZQEFCnVzZHRBbW91bnQED29sZEFjcmVzQWRkcmVzcwkBEUBleHRyTmF0aXZlKDEwNjIpAQkBEUBleHRyTmF0aXZlKDEwNTgpAQUTb2xkQWNyZXNDb250cmFjdEtleQQDcmVxCQD8BwQFD29sZEFjcmVzQWRkcmVzcwIUcmVxdWVzdEFjcmVzQ2FsbGJhY2sJAMwIAgULYWNyZXNBbW91bnQFA25pbAUDbmlsAwkAAAIFA3JlcQUDcmVxBAl3bGdSZW1haW4JAQVhc0ludAEJAPwHBAULd2xnQ29udHJhY3QCCmJ1cm5XbGdvbGQJAMwIAgUJd2xnQW1vdW50BQNuaWwFA25pbAkAlAoCCQDOCAIJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBQthY3Jlc0Ftb3VudAUMYWNyZXNBc3NldElkBQNuaWwFDXByb2xvZ0FjdGlvbnMFCXdsZ1JlbWFpbgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpARBidXlBY3Jlc1JFQURPTkxZAQp1c2R0QW1vdW50BAthY3Jlc0Ftb3VudAkAaAIFCnVzZHRBbW91bnQFFVVTRFQyQUNSRVNfTVVMVElQTElFUgQJd2xnVG9CdXJuCQBrAwUKdXNkdEFtb3VudAUFTVVMVDgJAQtnZXRXbGdQcmljZQEFCnVzZHRBbW91bnQJAJQKAgUDbmlsCQDMCAIFC2FjcmVzQW1vdW50CQDMCAIFBU1VTFQ2CQDMCAIFC2FjcmVzQW1vdW50CQDMCAIFCXdsZ1RvQnVybgUDbmlsAWkBCXNlbGxBY3JlcwAEDXByb2xvZ0FjdGlvbnMJAQZwcm9sb2cBBQFpAwkBAiE9AgkAkAMBCAUBaQhwYXltZW50cwABCQACAQIiZXhhY3RseSAxIHBheW1lbnQgbXVzdCBiZSBhdHRhY2hlZAQDcG10CQCRAwIIBQFpCHBheW1lbnRzAAAEC2FjcmVzQW1vdW50CAUDcG10BmFtb3VudAMDCQEBIQEJAQlpc0RlZmluZWQBCAUDcG10B2Fzc2V0SWQGCQECIT0CCQEFdmFsdWUBCAUDcG10B2Fzc2V0SWQFDGFjcmVzQXNzZXRJZAkAAgECFEFDUkVTIHBheW1lbnRzIG9ubHkhAwkAZgIFBU1VTFQ3BQthY3Jlc0Ftb3VudAkAAgEJAKwCAgkArAICAhZNaW4gcGF5bWVudCBzaG91bGQgYmUgCQEKZml4ZWRQb2ludAIFBU1VTFQ3AAgCBiBBQ1JFUwQEYWRkcgkApQgBCAUBaQZjYWxsZXIECyR0MDk4MDk5ODU3CQERZ2V0U3dhcExpbWl0QWNyZXMABAtsaW1pdEFjdGlvbggFCyR0MDk4MDk5ODU3Al8xBAdtYXhVc2R0CAULJHQwOTgwOTk4NTcCXzIECG1heEFjcmVzCQBoAgUHbWF4VXNkdAUVVVNEVDJBQ1JFU19NVUxUSVBMSUVSAwkAZgIFC2FjcmVzQW1vdW50BQhtYXhBY3JlcwkAAgEJAKwCAgkArAICAhFZb3UgY2FuIHNlbGwgbWF4IAkBCmZpeGVkUG9pbnQCBQhtYXhBY3JlcwAIAgYgQUNSRVMECnVzZHRBbW91bnQJAGkCCQBpAgULYWNyZXNBbW91bnQFFVVTRFQyQUNSRVNfTVVMVElQTElFUgACCQCUCgIJAM4IAgkAzAgCBQtsaW1pdEFjdGlvbgkAzAgCCQEMSW50ZWdlckVudHJ5AgUQa2V5TGFzdExpbWl0TGVmdAkAZQIFB21heFVzZHQFCnVzZHRBbW91bnQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBQp1c2R0QW1vdW50BQt1c2R0QXNzZXRJZAUDbmlsBQ1wcm9sb2dBY3Rpb25zBQp1c2R0QW1vdW50AWkBEXNlbGxBY3Jlc1JFQURPTkxZAgdhZGRyZXNzC2FjcmVzQW1vdW50BA0kdDAxMDM1MzEwNDAxCQERZ2V0U3dhcExpbWl0QWNyZXMABAtsaW1pdEFjdGlvbggFDSR0MDEwMzUzMTA0MDECXzEEB21heFVzZHQIBQ0kdDAxMDM1MzEwNDAxAl8yBAp1c2R0QW1vdW50CQBpAgkAaQIFC2FjcmVzQW1vdW50BRVVU0RUMkFDUkVTX01VTFRJUExJRVIAAgkAlAoCBQNuaWwJAMwIAgUKdXNkdEFtb3VudAkAzAgCBQVNVUxUNwkAzAgCCQBoAgUHbWF4VXNkdAUVVVNEVDJBQ1JFU19NVUxUSVBMSUVSCQDMCAIAAAUDbmlsAWkBEGNvbnZlcnRPbGRTdGFrZXMAAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIUVGVtcG9yYXJpbHkgZGlzYWJsZWQEB2FkZHJlc3MJAKUIAQgFAWkGY2FsbGVyAwkBAiE9AgkAkAMBCAUBaQhwYXltZW50cwAACQACAQIUTm8gcGF5bWVudHMgcmVxdWlyZWQED29sZEFjcmVzQWRkcmVzcwkBEUBleHRyTmF0aXZlKDEwNjIpAQkBEUBleHRyTmF0aXZlKDEwNTgpAQUTb2xkQWNyZXNDb250cmFjdEtleQQGYW1vdW50CQELdmFsdWVPckVsc2UCCQCaCAIFD29sZEFjcmVzQWRkcmVzcwkBF2tleUFjcmVzU3Rha2VkQW10QnlVc2VyAQUHYWRkcmVzcwAABAlnb3RBY3JlczADCQBmAgUGYW1vdW50AAAJAQxhc1R1cGxlMkludHMBCQD8BwQFD29sZEFjcmVzQWRkcmVzcwIUdW5zdGFrZUFjcmVzQ2FsbGJhY2sJAMwIAgUGYW1vdW50CQDMCAIFB2FkZHJlc3MFA25pbAUDbmlsCQCUCgIAAAAABBFvbGRTdGFraW5nQWRkcmVzcwkBEUBleHRyTmF0aXZlKDEwNjIpAQUVb2xkU3Rha2luZ0NvbnRyYWN0U3RyBAhsYW5kc1N0cgkAnQgCBRFvbGRTdGFraW5nQWRkcmVzcwkBFWtleVN0YWtlZExhbmRzQnlPd25lcgEFB2FkZHJlc3MEC2xhbmRzUmVzdWx0AwkBCWlzRGVmaW5lZAEFCGxhbmRzU3RyBAVsYW5kcwkAvQkCCQEFdmFsdWUBBQhsYW5kc1N0cgIBXwoBB29uZUxhbmQCA2FjYwtsYW5kQXNzZXRJZAMJAAACBQtsYW5kQXNzZXRJZAIACQACAQIXbGFuZEFzc2V0SWQgaXMgcmVxdWlyZWQEAXIJAQxhc1R1cGxlNUludHMBCQD8BwQFEW9sZFN0YWtpbmdBZGRyZXNzAhN1bnN0YWtlTGFuZENhbGxiYWNrCQDMCAIFC2xhbmRBc3NldElkCQDMCAIFB2FkZHJlc3MFA25pbAUDbmlsCQCWCgQJAGQCCAUDYWNjAl8xCAUBcgJfMQkAZAIIBQNhY2MCXzIIBQFyAl8yCQBkAggFA2FjYwJfMwgFAXICXzMJAGQCCAUDYWNjAl80CAUBcgJfNAQCcnIKAAIkbAUFbGFuZHMKAAIkcwkAkAMBBQIkbAoABSRhY2MwCQCWCgQAAAAAAAAAAAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEHb25lTGFuZAIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIVTGlzdCBzaXplIGV4Y2VlZHMgMTAwCQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAeAB8AIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEAAQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEAYgBjAGQECGZpbmFsaXplCQD8BwQFEW9sZFN0YWtpbmdBZGRyZXNzAhx1bnN0YWtlTGFuZHNGaW5hbGl6ZUNhbGxiYWNrCQDMCAIFB2FkZHJlc3MFA25pbAUDbmlsAwkAAAIFCGZpbmFsaXplBQhmaW5hbGl6ZQQDcmVxCQD8BwQFD29sZEFjcmVzQWRkcmVzcwIUcmVxdWVzdEFjcmVzQ2FsbGJhY2sJAMwIAgkAZAIJAGQCCQBkAggFAnJyAl8xCAUCcnICXzIIBQJycgJfMwgFAnJyAl80BQNuaWwFA25pbAMJAAACBQNyZXEFA3JlcQQNJHQwMTIyNzMxMjM1MwkBEGlzc3VlTkZUaW50ZXJuYWwCBRVJZHhEdHgzUGVyY0NvbnZlcnNpb24IBQFpBmNhbGxlcgQKbmZ0QWN0aW9ucwgFDSR0MDEyMjczMTIzNTMCXzEECm5mdEFzc2V0SWQIBQ0kdDAxMjI3MzEyMzUzAl8yCQCXCgUIBQJycgJfMQgFAnJyAl8yCAUCcnICXzMIBQJycgJfNAUKbmZ0QWN0aW9ucwkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAlwoFAAAAAAAAAAAFA25pbAQLZHVja0Fzc2V0SWQJAQt2YWx1ZU9yRWxzZQIJAJ0IAgURb2xkU3Rha2luZ0FkZHJlc3MJARRrZXlTdGFrZWREdWNrQnlPd25lcgEFB2FkZHJlc3MCAAQKZHVja1Jlc3VsdAMJAQIhPQIFC2R1Y2tBc3NldElkAgAJAQxhc1R1cGxlM0ludHMBCQD8BwQFEW9sZFN0YWtpbmdBZGRyZXNzAhN1bnN0YWtlRHVja0NhbGxiYWNrCQDMCAIFC2R1Y2tBc3NldElkCQDMCAIFB2FkZHJlc3MFA25pbAUDbmlsCQCVCgMAAAAAAAAEAXgJARlzdGFrZVVuc3Rha2VBY3Jlc0ludGVybmFsAgkAZAIJAGQCCQBkAgkAZAIJAGQCCQBkAgkAZAIIBQlnb3RBY3JlczACXzEIBQtsYW5kc1Jlc3VsdAJfMQgFC2xhbmRzUmVzdWx0Al8yCAULbGFuZHNSZXN1bHQCXzMIBQtsYW5kc1Jlc3VsdAJfNAgFCmR1Y2tSZXN1bHQCXzEIBQpkdWNrUmVzdWx0Al8yCAUKZHVja1Jlc3VsdAJfMwUHYWRkcmVzcwkAlAoCCQDOCAIIBQtsYW5kc1Jlc3VsdAJfNQgFAXgCXzEIBQF4Al8yAWkBFHVuc3Rha2VMYW5kc1JFQURPTkxZAQdhZGRyZXNzBBFvbGRTdGFraW5nQWRkcmVzcwkBEUBleHRyTmF0aXZlKDEwNjIpAQUVb2xkU3Rha2luZ0NvbnRyYWN0U3RyBAhsYW5kc1N0cgkAnQgCBRFvbGRTdGFraW5nQWRkcmVzcwkBFWtleVN0YWtlZExhbmRzQnlPd25lcgEFB2FkZHJlc3MEC2xhbmRzUmVzdWx0AwkBCWlzRGVmaW5lZAEFCGxhbmRzU3RyBAVsYW5kcwkAvQkCCQEFdmFsdWUBBQhsYW5kc1N0cgIBXwoBB29uZUxhbmQCA2FjYwtsYW5kQXNzZXRJZAMJAAACBQtsYW5kQXNzZXRJZAIACQACAQIXbGFuZEFzc2V0SWQgaXMgcmVxdWlyZWQEAXIJAQxhc1R1cGxlNEludHMBCQD8BwQFEW9sZFN0YWtpbmdBZGRyZXNzAhN1bnN0YWtlTGFuZFJFQURPTkxZCQDMCAIFC2xhbmRBc3NldElkCQDMCAIFB2FkZHJlc3MFA25pbAUDbmlsCQCWCgQJAGQCCAUDYWNjAl8xCAUBcgJfMQkAZAIIBQNhY2MCXzIIBQFyAl8yCQBkAggFA2FjYwJfMwgFAXICXzMJAGQCCAUDYWNjAl80CAUBcgJfNAoAAiRsBQVsYW5kcwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAJAJYKBAAAAAAAAAAACgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQdvbmVMYW5kAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhVMaXN0IHNpemUgZXhjZWVkcyAxMDAJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AHwAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQBiAGMAZAkAlgoEAAAAAAAAAAAJAJQKAgUDbmlsBQtsYW5kc1Jlc3VsdAFpARJzdGFrZUFjcmVzQ2FsbGJhY2sBBGFkZHIDCQECIT0CCAUBaQZjYWxsZXIJARFAZXh0ck5hdGl2ZSgxMDYyKQEFFW9sZFN0YWtpbmdDb250cmFjdFN0cgkAAgECEVBlcm1pc3Npb24gZGVuaWVkCQEZc3Rha2VVbnN0YWtlQWNyZXNJbnRlcm5hbAIICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50BQRhZGRyAWkBGnNpbXVsYXRlU3Rha2VBY3Jlc1JFQURPTkxZAgdhZGRyZXNzC2FkZGVkQW1vdW50BAlhbW91bnRLZXkJARdrZXlBY3Jlc1N0YWtlZEFtdEJ5VXNlcgEFB2FkZHJlc3MEDm5ld0FjcmVzQW1vdW50CQBkAgkBC3ZhbHVlT3JFbHNlAgkAnwgBBQlhbW91bnRLZXkAAAULYWRkZWRBbW91bnQECG9sZFRvdGFsCQELdmFsdWVPckVsc2UCCQCfCAEFEmFjcmVzU3Rha2RUb3RhbEtleQAABAl1c2VyRnBLZXkJARVrZXlGYXJtaW5nUG93ZXJCeVVzZXIBBQdhZGRyZXNzBAVvbGRGcAkBC3ZhbHVlT3JFbHNlAgkAnwgBBQl1c2VyRnBLZXkAAAQFbmV3RnAJARZnZXRGYXJtaW5nUG93ZXJCeUFjcmVzAQUObmV3QWNyZXNBbW91bnQECm9sZFRvdGFsRnAJAQt2YWx1ZU9yRWxzZQIJAJ8IAQUUdG90YWxGYXJtaW5nUG93ZXJLZXkAAAQKbmV3VG90YWxGcAkAZAIJAGUCBQpvbGRUb3RhbEZwBQVvbGRGcAUFbmV3RnAJAJQKAgUDbmlsCQDMCAIFBW9sZEZwCQDMCAIFBW5ld0ZwCQDMCAIFCm9sZFRvdGFsRnAJAMwIAgUKbmV3VG90YWxGcAUDbmlsAWkBCGlzc3VlTkZUAgpmb3JBZGRyZXNzCG5mdEluZGV4AwkBAiE9AggFAWkGY2FsbGVyBQt3bGdDb250cmFjdAkAAgECEVBlcm1pc3Npb24gZGVuaWVkCQEQaXNzdWVORlRpbnRlcm5hbAIFCG5mdEluZGV4CQERQGV4dHJOYXRpdmUoMTA2MikBBQpmb3JBZGRyZXNzAP1wsH4=", "height": 3383979, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 3paaK7hWixdLRkKk2eiTRBE8vf6JMZ8AudVeszJV51mx Next: BhU1p7tfFZkMTyaoycRkLt7L5R6GnFDvKZ53kVoaXs8k Diff:
OldNewDifferences
231231
232232 let aH = "lastLimitLeft"
233233
234-let aI = {
235- let j = h
236- if ((base58'2W' == j))
237- then nil
238- else if ((base58'2T' == j))
239- then ["Cy1b1cu6E5Vx67Mo2wvWi2pvJzT28exsb81maoyYPmvu", "6GEyPU5H2giZahjKnUfZ4djSMacEhSWswVp23Xr8B7wy"]
240- else throw("Unknown chain")
241- }
234+let aI = ["{\"name\": \"Gold shovel\", \"description\": \"Reward for early birds\", \"rare\": \"Promo\", \"bonus\": 3, \"bonusType\": \"FarmPower\"}", "{\"name\": \"Pickaxe\", \"description\": \"Increases FarmPower\", \"rare\": \"Common\", \"bonus\": 1, \"bonusType\": \"FarmPower\"}"]
242235
243-let aJ = ["{\"name\": \"Gold shovel\", \"description\": \"Reward for early birds\", \"rare\": \"Promo\", \"bonus\": 3, \"bonusType\": \"FarmPower\"}", "{\"name\": \"Pickaxe\", \"description\": \"Increases FarmPower\", \"rare\": \"Common\", \"bonus\": 1, \"bonusType\": \"FarmPower\"}"]
236+let aJ = ["SHOVEL-P3", "PICKAXE-C1"]
244237
245-let aK = ["SHOVEL-P3", "PICKAXE-C1"]
238+let aK = ["contentShovelP3", "contentPickaxeC1"]
246239
247240 func aL (aM) = if (if ((aM.originCaller != A))
248241 then valueOrElse(getBoolean(F()), false)
273266 }
274267
275268
276-func aU (aV,H) = if ((aV >= size(aI)))
269+func aU (aV,H) = if ((aV >= size(aK)))
277270 then throw("nftIndex out of bounds")
278271 else {
279272 let aW = (valueOrElse(getInteger(aC), -1) + 1)
280- let aX = Issue(aK[aV], makeString_2C([aI[aV], toString(aW), aJ[aV]], a), 1, 0, false)
273+ let aX = Issue(aJ[aV], makeString_2C([aK[aV], toString(aW), aI[aV]], a), 1, 0, false)
281274 let aY = calculateAssetId(aX)
282275 $Tuple2([aX, IntegerEntry(aC, aW), IntegerEntry(aD(toBase58String(aY)), aW), ScriptTransfer(H, 1, aY)], aY)
283276 }
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 = 10000000
99
1010 let d = 100000000
1111
1212 let e = 86400000
1313
1414 let f = 10
1515
1616 let g = 100
1717
1818 let h = take(drop(this.bytes, 1), 1)
1919
2020 let i = {
2121 let j = h
2222 if ((base58'2W' == j))
2323 then base58'9wc3LXNA4TEBsXyKtoLE9mrbDD7WMHXvXrCjZvabLAsi'
2424 else if ((base58'2T' == j))
2525 then base58'6mWwf9mZBjVgkC54idpyaZLQfAosD914wT8fGf2iiY63'
2626 else throw("Unknown chain")
2727 }
2828
2929 let k = {
3030 let j = h
3131 if ((base58'2W' == j))
3232 then "3PFwYta8biEz31zpeFe5DJK8wE5trSpQVF8"
3333 else if ((base58'2T' == j))
3434 then "3N7UuYar6264P58FBhVWKPQAh4Yua2hgngv"
3535 else throw("Unknown chain")
3636 }
3737
3838 let l = {
3939 let j = h
4040 if ((base58'2W' == j))
4141 then e
4242 else if ((base58'2T' == j))
4343 then 60000
4444 else throw("Unknown chain")
4545 }
4646
4747 let m = {
4848 let j = h
4949 if ((base58'2W' == j))
5050 then "3PLncXtS1U83D6cQbFD3H8rBHPLgzxSFKZ1"
5151 else if ((base58'2T' == j))
5252 then "3NDCyBG5q85JuaRiigUeEtainyjCQT3XpZm"
5353 else throw("Unknown chain")
5454 }
5555
5656 func n (o,p) = valueOrErrorMessage(getString(o, p), makeString(["mandatory ", toString(o), ".", p, " is not defined"], ""))
5757
5858
5959 let q = 1
6060
6161 let r = 2
6262
6363 let s = 5
6464
6565 func t () = "%s__restConfig"
6666
6767
6868 func u () = "%s__rest2Addr"
6969
7070
7171 func v (w) = split_4C(n(w, t()), a)
7272
7373
7474 func x (y,z) = valueOrErrorMessage(addressFromString(y[z]), ("Rest cfg doesn't contain address at index " + toString(z)))
7575
7676
7777 let A = addressFromStringValue(valueOrElse(getString(this, u()), k))
7878
7979 let y = v(A)
8080
8181 let B = x(y, q)
8282
8383 let C = x(y, r)
8484
8585 let D = x(y, s)
8686
8787 let E = "oldAcresContract"
8888
8989 func F () = "contractsBlocked"
9090
9191
9292 func G (H) = ("lastWeekTxIdByUser_" + H)
9393
9494
9595 func I (H) = ("curWeekTxIdByUser_" + H)
9696
9797
9898 let J = "acresIssuedAmount"
9999
100100 let K = "acresAssetId"
101101
102102 let L = valueOrErrorMessage(getBinary(B, K), "ACRES is not issued yet")
103103
104104 func M (H) = ("acresStakedTimeByUser_" + H)
105105
106106
107107 func N (O) = ("stakedLandsByOwner_" + O)
108108
109109
110110 func P (O) = ("stakedDuckByOwner_" + O)
111111
112112
113113 func Q (R) = {
114114 let j = R
115115 if ($isInstanceOf(j, "Int"))
116116 then {
117117 let S = j
118118 S
119119 }
120120 else throw("fail to cast into Int")
121121 }
122122
123123
124124 func T (U) = {
125125 let j = U
126126 if ($isInstanceOf(j, "(Int, Int, Int, Int, Int)"))
127127 then {
128128 let V = j
129129 V
130130 }
131131 else throw("fail to cast into (Int, Int, Int, Int, Int)")
132132 }
133133
134134
135135 func W (U) = {
136136 let j = U
137137 if ($isInstanceOf(j, "(Int, Int, Int, Int)"))
138138 then {
139139 let V = j
140140 V
141141 }
142142 else throw("fail to cast into (Int, Int, Int, Int)")
143143 }
144144
145145
146146 func X (U) = {
147147 let j = U
148148 if ($isInstanceOf(j, "(Int, Int, Int)"))
149149 then {
150150 let V = j
151151 V
152152 }
153153 else throw("fail to cast into (Int, Int, Int)")
154154 }
155155
156156
157157 func Y (U) = {
158158 let j = U
159159 if ($isInstanceOf(j, "(Int, Int)"))
160160 then {
161161 let V = j
162162 V
163163 }
164164 else throw("fail to cast into (Int, Int)")
165165 }
166166
167167
168168 func Z (U,aa) = {
169169 let ab = pow(10, 0, aa, 0, 0, DOWN)
170170 let ac = toString((U % ab))
171171 let ad = drop(toString(ab), (1 + size(ac)))
172172 (((toString((U / ab)) + ".") + ad) + ac)
173173 }
174174
175175
176176 let ae = 100000000
177177
178178 let af = 10080
179179
180180 let ag = "wlg_issuedAmount"
181181
182182 let ah = "zbill_issuedAmount"
183183
184184 func ai (H) = ("acresStakedAmountByUser_" + H)
185185
186186
187187 func aj (H) = ("farmingPowerByUser_" + H)
188188
189189
190190 let ak = "acresStakedAmountTotal"
191191
192192 let al = "totalFarmingPower"
193193
194194 let am = 0
195195
196196 let an = [0, 10, 20, 40, 80, 150, 250, 400, 700, 1000]
197197
198198 func ao (ap) = {
199199 let aq = ((ap + 99999999) / ae)
200200 func ar (as,at) = if ((at >= aq))
201201 then as
202202 else (as + 1)
203203
204204 let au = an
205205 let av = size(au)
206206 let aw = 0
207207 func ax (ay,az) = if ((az >= av))
208208 then ay
209209 else ar(ay, au[az])
210210
211211 func aA (ay,az) = if ((az >= av))
212212 then ay
213213 else throw("List size exceeds 10")
214214
215215 aA(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(aw, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
216216 }
217217
218218
219219 func aB (ap) = ((ap * 20) * (ao(ap) + 4))
220220
221221
222222 let aC = "nftTotalIssued"
223223
224224 func aD (aE) = ("nftNumberByAssetId_" + aE)
225225
226226
227227 func aF (H) = ("lastArbTimeUser_" + H)
228228
229229
230230 let aG = "lastAcresSellTime"
231231
232232 let aH = "lastLimitLeft"
233233
234-let aI = {
235- let j = h
236- if ((base58'2W' == j))
237- then nil
238- else if ((base58'2T' == j))
239- then ["Cy1b1cu6E5Vx67Mo2wvWi2pvJzT28exsb81maoyYPmvu", "6GEyPU5H2giZahjKnUfZ4djSMacEhSWswVp23Xr8B7wy"]
240- else throw("Unknown chain")
241- }
234+let aI = ["{\"name\": \"Gold shovel\", \"description\": \"Reward for early birds\", \"rare\": \"Promo\", \"bonus\": 3, \"bonusType\": \"FarmPower\"}", "{\"name\": \"Pickaxe\", \"description\": \"Increases FarmPower\", \"rare\": \"Common\", \"bonus\": 1, \"bonusType\": \"FarmPower\"}"]
242235
243-let aJ = ["{\"name\": \"Gold shovel\", \"description\": \"Reward for early birds\", \"rare\": \"Promo\", \"bonus\": 3, \"bonusType\": \"FarmPower\"}", "{\"name\": \"Pickaxe\", \"description\": \"Increases FarmPower\", \"rare\": \"Common\", \"bonus\": 1, \"bonusType\": \"FarmPower\"}"]
236+let aJ = ["SHOVEL-P3", "PICKAXE-C1"]
244237
245-let aK = ["SHOVEL-P3", "PICKAXE-C1"]
238+let aK = ["contentShovelP3", "contentPickaxeC1"]
246239
247240 func aL (aM) = if (if ((aM.originCaller != A))
248241 then valueOrElse(getBoolean(F()), false)
249242 else false)
250243 then throw("Contracts are under maintenance")
251244 else {
252245 let H = toString(aM.originCaller)
253246 let aN = (height / af)
254247 let aO = getString(G(H))
255248 let aP = toBase58String(aM.transactionId)
256249 let aQ = ((toString(aN) + "_") + aP)
257250 if (isDefined(aO))
258251 then {
259252 let aR = split(value(aO), "_")
260253 if ((aR[0] == toString(aN)))
261254 then [StringEntry(G(H), aQ), StringEntry(I(H), aQ)]
262255 else if ((aR[0] == toString((aN - 1))))
263256 then [StringEntry(I(H), aQ)]
264257 else {
265258 let aS = getStringValue(G(H))
266259 let aT = split(aS, "_")
267260 if ((aT[0] == toString(aN)))
268261 then [StringEntry(I(H), aQ)]
269262 else [StringEntry(G(H), aS), StringEntry(I(H), aQ)]
270263 }
271264 }
272265 else [StringEntry(G(H), aQ), StringEntry(I(H), aQ)]
273266 }
274267
275268
276-func aU (aV,H) = if ((aV >= size(aI)))
269+func aU (aV,H) = if ((aV >= size(aK)))
277270 then throw("nftIndex out of bounds")
278271 else {
279272 let aW = (valueOrElse(getInteger(aC), -1) + 1)
280- let aX = Issue(aK[aV], makeString_2C([aI[aV], toString(aW), aJ[aV]], a), 1, 0, false)
273+ let aX = Issue(aJ[aV], makeString_2C([aK[aV], toString(aW), aI[aV]], a), 1, 0, false)
281274 let aY = calculateAssetId(aX)
282275 $Tuple2([aX, IntegerEntry(aC, aW), IntegerEntry(aD(toBase58String(aY)), aW), ScriptTransfer(H, 1, aY)], aY)
283276 }
284277
285278
286279 func aZ (ba,o) = {
287280 let bb = invoke(C, "onStakeUnstakeLand", [o], nil)
288281 if ((bb == bb))
289282 then {
290283 let bc = lastBlock.timestamp
291284 let bd = M(o)
292285 let be = ai(o)
293286 let bf = valueOrElse(getInteger(be), 0)
294287 if (if ((0 > ba))
295288 then (0 > (bf + ba))
296289 else false)
297290 then throw(((("You have only " + Z(bf, 8)) + " ACRES staked, tried to unstake ") + Z(-(ba), 8)))
298291 else {
299292 let bg = (bf + ba)
300293 let bh = valueOrElse(getInteger(ak), 0)
301294 let bi = aj(o)
302295 let bj = valueOrElse(getInteger(bi), 0)
303296 let bk = aB(bg)
304297 let bl = valueOrElse(getInteger(al), 0)
305298 $Tuple2([IntegerEntry(bd, lastBlock.timestamp), IntegerEntry(be, bg), IntegerEntry(ak, (bh + ba)), IntegerEntry(bi, bk), IntegerEntry(al, ((bl - bj) + bk))], bb)
306299 }
307300 }
308301 else throw("Strict value is not equal to itself.")
309302 }
310303
311304
312305 func bm (bn) = {
313306 let bo = valueOrErrorMessage(getInteger(C, ag), "WLGOLD is not issued yet")
314307 let bp = assetBalance(C, i)
315308 let bq = (assetBalance(B, i) - bn)
316309 let br = (assetBalance(D, i) + valueOrElse(getInteger(D, ah), 0))
317310 let bs = ((bq + bp) + br)
318311 fraction(bs, d, bo)
319312 }
320313
321314
322315 func bt () = {
323316 let bp = assetBalance(C, i)
324317 let bq = assetBalance(this, i)
325318 let br = (assetBalance(D, i) + valueOrElse(getInteger(D, ah), 0))
326319 let bu = (((bq + bp) + br) / g)
327320 let bv = valueOrElse(getInteger(aH), bu)
328321 let bw = valueOrElse(getInteger(aG), 0)
329322 let bc = lastBlock.timestamp
330323 let bx = (bv + fraction(bu, (bc - bw), e))
331324 let by = min([bx, bu])
332325 $Tuple2(IntegerEntry(aG, bc), by)
333326 }
334327
335328
336329 @Callable(aM)
337330 func saveLastTx () = if (!(containsElement([C], aM.caller)))
338331 then throw("Access denied")
339332 else $Tuple2(aL(aM), 42)
340333
341334
342335
343336 @Callable(aM)
344337 func constructorV1 (bz,bA) = if ((aM.caller != this))
345338 then throw("Permission denied")
346339 else {
347340 let bB = addressFromStringValue(bA)
348341 [IntegerEntry(J, getIntegerValue(bB, J)), BinaryEntry(K, getBinaryValue(bB, K)), StringEntry(u(), bz), StringEntry(E, bA)]
349342 }
350343
351344
352345
353346 @Callable(aM)
354347 func setBlocked (bC) = if ((aM.caller != this))
355348 then throw("permission denied")
356349 else [BooleanEntry(F(), bC)]
357350
358351
359352
360353 @Callable(aM)
361354 func unstakeAcres (bD) = {
362355 let bE = aL(aM)
363356 if ((0 >= bD))
364357 then throw("Amount should be positive")
365358 else {
366359 let o = toString(aM.caller)
367360 if ((size(aM.payments) != 0))
368361 then throw("No payments required")
369362 else {
370363 let bF = (valueOrElse(getInteger(C, aF(o)), 0) + l)
371364 if ((bF > lastBlock.timestamp))
372365 then throw(("You traded some WLGOLD, cannot unstake until " + toString(bF)))
373366 else {
374367 let bG = aZ(-(bD), o)
375368 let bH = bG._1
376369 let bI = bG._2
377370 $Tuple2(((bH :+ ScriptTransfer(aM.caller, bD, L)) ++ bE), bI)
378371 }
379372 }
380373 }
381374 }
382375
383376
384377
385378 @Callable(aM)
386379 func stakeAcres () = {
387380 let bE = aL(aM)
388381 let o = toString(aM.caller)
389382 if ((size(aM.payments) != 1))
390383 then throw("exactly 1 payment must be attached")
391384 else {
392385 let bJ = aM.payments[0]
393386 let ba = bJ.amount
394387 if (if (!(isDefined(bJ.assetId)))
395388 then true
396389 else (value(bJ.assetId) != L))
397390 then throw("ACRES payments only!")
398391 else {
399392 let bK = aZ(ba, o)
400393 let bH = bK._1
401394 let bI = bK._2
402395 $Tuple2((bH ++ bE), bI)
403396 }
404397 }
405398 }
406399
407400
408401
409402 @Callable(aM)
410403 func buyAcres () = {
411404 let bE = aL(aM)
412405 if ((size(aM.payments) != 1))
413406 then throw("exactly 1 payment must be attached")
414407 else {
415408 let bJ = aM.payments[0]
416409 let bL = bJ.amount
417410 if (if (!(isDefined(bJ.assetId)))
418411 then true
419412 else (value(bJ.assetId) != i))
420413 then throw("USDT payments only!")
421414 else if ((b > bL))
422415 then throw((("Min payment should be " + Z(b, 6)) + " USDT"))
423416 else {
424417 let bM = (bL * f)
425418 let bN = fraction(bL, d, bm(bL))
426419 let bO = addressFromStringValue(getStringValue(E))
427420 let bP = invoke(bO, "requestAcresCallback", [bM], nil)
428421 if ((bP == bP))
429422 then {
430423 let bQ = Q(invoke(C, "burnWlgold", [bN], nil))
431424 $Tuple2(([ScriptTransfer(aM.caller, bM, L)] ++ bE), bQ)
432425 }
433426 else throw("Strict value is not equal to itself.")
434427 }
435428 }
436429 }
437430
438431
439432
440433 @Callable(aM)
441434 func buyAcresREADONLY (bL) = {
442435 let bM = (bL * f)
443436 let bR = fraction(bL, d, bm(bL))
444437 $Tuple2(nil, [bM, b, bM, bR])
445438 }
446439
447440
448441
449442 @Callable(aM)
450443 func sellAcres () = {
451444 let bE = aL(aM)
452445 if ((size(aM.payments) != 1))
453446 then throw("exactly 1 payment must be attached")
454447 else {
455448 let bJ = aM.payments[0]
456449 let bM = bJ.amount
457450 if (if (!(isDefined(bJ.assetId)))
458451 then true
459452 else (value(bJ.assetId) != L))
460453 then throw("ACRES payments only!")
461454 else if ((c > bM))
462455 then throw((("Min payment should be " + Z(c, 8)) + " ACRES"))
463456 else {
464457 let H = toString(aM.caller)
465458 let bS = bt()
466459 let bT = bS._1
467460 let bU = bS._2
468461 let bV = (bU * f)
469462 if ((bM > bV))
470463 then throw((("You can sell max " + Z(bV, 8)) + " ACRES"))
471464 else {
472465 let bL = ((bM / f) / 2)
473466 $Tuple2(([bT, IntegerEntry(aH, (bU - bL)), ScriptTransfer(aM.caller, bL, i)] ++ bE), bL)
474467 }
475468 }
476469 }
477470 }
478471
479472
480473
481474 @Callable(aM)
482475 func sellAcresREADONLY (o,bM) = {
483476 let bW = bt()
484477 let bT = bW._1
485478 let bU = bW._2
486479 let bL = ((bM / f) / 2)
487480 $Tuple2(nil, [bL, c, (bU * f), 0])
488481 }
489482
490483
491484
492485 @Callable(aM)
493486 func convertOldStakes () = if ((aM.caller != this))
494487 then throw("Temporarily disabled")
495488 else {
496489 let o = toString(aM.caller)
497490 if ((size(aM.payments) != 0))
498491 then throw("No payments required")
499492 else {
500493 let bO = addressFromStringValue(getStringValue(E))
501494 let bD = valueOrElse(getInteger(bO, ai(o)), 0)
502495 let bX = if ((bD > 0))
503496 then Y(invoke(bO, "unstakeAcresCallback", [bD, o], nil))
504497 else $Tuple2(0, 0)
505498 let bY = addressFromStringValue(m)
506499 let bZ = getString(bY, N(o))
507500 let ca = if (isDefined(bZ))
508501 then {
509502 let cb = split_51C(value(bZ), "_")
510503 func cc (as,cd) = if ((cd == ""))
511504 then throw("landAssetId is required")
512505 else {
513506 let ce = T(invoke(bY, "unstakeLandCallback", [cd, o], nil))
514507 $Tuple4((as._1 + ce._1), (as._2 + ce._2), (as._3 + ce._3), (as._4 + ce._4))
515508 }
516509
517510 let cf = {
518511 let au = cb
519512 let av = size(au)
520513 let aw = $Tuple4(0, 0, 0, 0)
521514 func ax (ay,az) = if ((az >= av))
522515 then ay
523516 else cc(ay, au[az])
524517
525518 func aA (ay,az) = if ((az >= av))
526519 then ay
527520 else throw("List size exceeds 100")
528521
529522 aA(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(aw, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100)
530523 }
531524 let cg = invoke(bY, "unstakeLandsFinalizeCallback", [o], nil)
532525 if ((cg == cg))
533526 then {
534527 let bP = invoke(bO, "requestAcresCallback", [(((cf._1 + cf._2) + cf._3) + cf._4)], nil)
535528 if ((bP == bP))
536529 then {
537530 let ch = aU(am, aM.caller)
538531 let ci = ch._1
539532 let aY = ch._2
540533 $Tuple5(cf._1, cf._2, cf._3, cf._4, ci)
541534 }
542535 else throw("Strict value is not equal to itself.")
543536 }
544537 else throw("Strict value is not equal to itself.")
545538 }
546539 else $Tuple5(0, 0, 0, 0, nil)
547540 let cj = valueOrElse(getString(bY, P(o)), "")
548541 let ck = if ((cj != ""))
549542 then X(invoke(bY, "unstakeDuckCallback", [cj, o], nil))
550543 else $Tuple3(0, 0, 0)
551544 let cl = aZ((((((((bX._1 + ca._1) + ca._2) + ca._3) + ca._4) + ck._1) + ck._2) + ck._3), o)
552545 $Tuple2((ca._5 ++ cl._1), cl._2)
553546 }
554547 }
555548
556549
557550
558551 @Callable(aM)
559552 func unstakeLandsREADONLY (o) = {
560553 let bY = addressFromStringValue(m)
561554 let bZ = getString(bY, N(o))
562555 let ca = if (isDefined(bZ))
563556 then {
564557 let cb = split_51C(value(bZ), "_")
565558 func cc (as,cd) = if ((cd == ""))
566559 then throw("landAssetId is required")
567560 else {
568561 let ce = W(invoke(bY, "unstakeLandREADONLY", [cd, o], nil))
569562 $Tuple4((as._1 + ce._1), (as._2 + ce._2), (as._3 + ce._3), (as._4 + ce._4))
570563 }
571564
572565 let au = cb
573566 let av = size(au)
574567 let aw = $Tuple4(0, 0, 0, 0)
575568 func ax (ay,az) = if ((az >= av))
576569 then ay
577570 else cc(ay, au[az])
578571
579572 func aA (ay,az) = if ((az >= av))
580573 then ay
581574 else throw("List size exceeds 100")
582575
583576 aA(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(ax(aw, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100)
584577 }
585578 else $Tuple4(0, 0, 0, 0)
586579 $Tuple2(nil, ca)
587580 }
588581
589582
590583
591584 @Callable(aM)
592585 func stakeAcresCallback (H) = if ((aM.caller != addressFromStringValue(m)))
593586 then throw("Permission denied")
594587 else aZ(aM.payments[0].amount, H)
595588
596589
597590
598591 @Callable(aM)
599592 func simulateStakeAcresREADONLY (o,cm) = {
600593 let be = ai(o)
601594 let bg = (valueOrElse(getInteger(be), 0) + cm)
602595 let bh = valueOrElse(getInteger(ak), 0)
603596 let bi = aj(o)
604597 let bj = valueOrElse(getInteger(bi), 0)
605598 let bk = aB(bg)
606599 let bl = valueOrElse(getInteger(al), 0)
607600 let cn = ((bl - bj) + bk)
608601 $Tuple2(nil, [bj, bk, bl, cn])
609602 }
610603
611604
612605
613606 @Callable(aM)
614607 func issueNFT (co,aV) = if ((aM.caller != C))
615608 then throw("Permission denied")
616609 else aU(aV, addressFromStringValue(co))
617610
618611

github/deemru/w8io/169f3d6 
82.41 ms