tx · 7FAyLuFsYmztX2YHkcqosbH9PoKQ4XrjpPk23E4Kid6e

3MsxHxruYWoddB4HRiPBYAWtMXMtCF1V9XT:  -0.01400000 Waves

2021.09.10 01:21 [1696107] smart account 3MsxHxruYWoddB4HRiPBYAWtMXMtCF1V9XT > SELF 0.00000000 Waves

{ "type": 13, "id": "7FAyLuFsYmztX2YHkcqosbH9PoKQ4XrjpPk23E4Kid6e", "fee": 1400000, "feeAssetId": null, "timestamp": 1631226051004, "version": 2, "chainId": 84, "sender": "3MsxHxruYWoddB4HRiPBYAWtMXMtCF1V9XT", "senderPublicKey": "3ijdmxaYrpDFsKVbQH2kvB7i6JzHj9bep9bGWiQPra2D", "proofs": [ "3hMbfsUuGYo7QuxL2FsQSkh2dYafBEMg23sjzvb8iw9MqbKdY2U67hEqzB3yfivHwRE85cW53s5M3SozzXg16ki9", "3SjjdEgVXr1nfdNj5ywjDyaKQPTxN2WQKFaiPC6Qq61JU7nEUdPF1mrFA2h86MV1CWvnfwn5B5YEeaQFYaHwnPN4" ], "script": "base64:AAIEAAAAAAAAACUIAhIDCgEIEgMKAQgSAwoBCBIDCgEIEgQKAggBEgMKAQgSABIAAAAAWwAAAAAMYWRtaW5QdWJLZXkxAQAAACDip4xAO4bNF+a0S4fb5aGDrK4qoew3Ll5lBRPytezvBAAAAAAMYWRtaW5QdWJLZXkyAQAAACDqOKy5AbWIPHKjnig9gdQaImURE43fjoONfP1X8ZsRWQAAAAAMYWRtaW5QdWJLZXkzAQAAACCnNJaCsKPJx10yYgF/O0UnTzPqvzbEAc8Qt3RwqifMbgAAAAAUa2V5U2hhcmVUb2tlbnNMb2NrZWQCAAAAGl90b3RhbF9zaGFyZV90b2tlbnNfbG9ja2VkAAAAAAtrU2hhcmVMaW1pdAIAAAAcc2hhcmVfbGltaXRfb25fZmlyc3RfaGFydmVzdAAAAAAJa2V5QWN0aXZlAgAAAAZhY3RpdmUAAAAACGtleUNhdXNlAgAAAA5zaHV0ZG93bl9jYXVzZQAAAAAca2V5UmV3YXJkUG9vbEZyYWN0aW9uQ3VycmVudAIAAAAdX2N1cnJlbnRfcG9vbF9mcmFjdGlvbl9yZXdhcmQAAAAAHWtleVJld2FyZFBvb2xGcmFjdGlvblByZXZpb3VzAgAAAB5fcHJldmlvdXNfcG9vbF9mcmFjdGlvbl9yZXdhcmQAAAAAFWtleUhlaWdodFBvb2xGcmFjdGlvbgIAAAAaX3Bvb2xfcmV3YXJkX3VwZGF0ZV9oZWlnaHQAAAAAHWtleVRvdGFsUmV3YXJkUGVyQmxvY2tDdXJyZW50AgAAAB50b3RhbF9yZXdhcmRfcGVyX2Jsb2NrX2N1cnJlbnQAAAAAHmtleVRvdGFsUmV3YXJkUGVyQmxvY2tQcmV2aW91cwIAAAAfdG90YWxfcmV3YXJkX3Blcl9ibG9ja19wcmV2aW91cwAAAAAVa2V5UmV3YXJkVXBkYXRlSGVpZ2h0AgAAABRyZXdhcmRfdXBkYXRlX2hlaWdodAAAAAAPa2V5TGFzdEludGVyZXN0AgAAAA5fbGFzdF9pbnRlcmVzdAAAAAAVa2V5TGFzdEludGVyZXN0SGVpZ2h0AgAAABVfbGFzdF9pbnRlcmVzdF9oZWlnaHQAAAAAGGtleVVzZXJTaGFyZVRva2Vuc0xvY2tlZAIAAAAUX3NoYXJlX3Rva2Vuc19sb2NrZWQAAAAAE2tleVVzZXJMYXN0SW50ZXJlc3QCAAAADl9sYXN0X2ludGVyZXN0AAAAAAlrZXlTV09QaWQCAAAAB1NXT1BfaWQAAAAAGGtleVVzZXJTV09QQ2xhaW1lZEFtb3VudAIAAAAUX1NXT1BfY2xhaW1lZF9hbW91bnQAAAAAHGtleVVzZXJTV09QTGFzdENsYWltZWRBbW91bnQCAAAAGV9TV09QX2xhc3RfY2xhaW1lZF9hbW91bnQAAAAAEGtleUF2YWlsYWJsZVNXT1ACAAAAD19hdmFpbGFibGVfU1dPUAAAAAAVa2V5RmFybWluZ1N0YXJ0SGVpZ2h0AgAAABRmYXJtaW5nX3N0YXJ0X2hlaWdodAAAAAAGa2V5QVBZAgAAAANhcHkAAAAAFmtQcmV2aW91c1RvdGFsVm90ZVNXT1ACAAAAGHByZXZpb3VzX3RvdGFsX3ZvdGVfU1dPUAAAAAATa2V5U3dvcFllYXJFbWlzc2lvbgIAAAASc3dvcF95ZWFyX2VtaXNzaW9uAAAAAA9rZXlCYWxhbmNlY3BtbUECAAAAD0FfYXNzZXRfYmFsYW5jZQAAAAAPa2V5QmFsYW5jZWNwbW1CAgAAAA9CX2Fzc2V0X2JhbGFuY2UAAAAAIWtIYXJ2ZXN0UG9vbEFjdGl2ZVZvdGVTdHJ1Y1ZvdGluZwIAAAAeX2hhcnZlc3RfcG9vbF9hY3RpdmVWb3RlX3N0cnVjAAAAACVrSGFydmVzdFVzZXJQb29sQWN0aXZlVm90ZVN0cnVjVm90aW5nAgAAACNfaGFydmVzdF91c2VyX3Bvb2xfYWN0aXZlVm90ZV9zdHJ1YwAAAAAZa2V5TGltaXRTaGFyZUZpcnN0SGFydmVzdAIAAAAcc2hhcmVfbGltaXRfb25fZmlyc3RfaGFydmVzdAAAAAALa2V5QXNzZXRJZEECAAAACkFfYXNzZXRfaWQAAAAAC2tleUFzc2V0SWRCAgAAAApCX2Fzc2V0X2lkAAAAABVrZXlGaXJzdEhhcnZlc3RIZWlnaHQCAAAAFGZpcnN0X2hhcnZlc3RfaGVpZ2h0AAAAABNrZXlmaXJzdEhhcnZlc3RDcG1tAgAAAA1maXJzdF9oYXJ2ZXN0AAAAAA5rZXlUZW1wUHJldlN1bQIAAAATc3VtX3Jld2FyZF9wcmV2aW91cwAAAAANa2V5VGVtcEN1clN1bQIAAAASc3VtX3Jld2FyZF9jdXJyZW50AAAAABFnb3Zlcm5hbmNlQWRkcmVzcwkBAAAAB0FkZHJlc3MAAAABAQAAABoBVKr6ad6B9BNShco/LjqIUbMZ6pgcWfINLQAAAAAGd2FsbGV0CQEAAAAHQWRkcmVzcwAAAAEBAAAAGgFU3z1Ll4lYWd4V4ORRC1bdPXpfvbV/hSGJAAAAAA12b3RpbmdBZGRyZXNzCQEAAAAHQWRkcmVzcwAAAAEBAAAAGgFUGjZ+31einSdpXP6/9ybU5/uhw2g+IMp/AAAAABxhZG1pbkluY3JlYXNlSW50ZXJlc3RBZGRyZXNzCQEAAAAHQWRkcmVzcwAAAAEBAAAAGgFU3z1Ll4lYWd4V4ORRC1bdPXpfvbV/hSGJAAAAAA5vbmVXZWVrSW5CbG9jawAAAAAAAAAnegAAAAAOdG90YWxWb3RlU2hhcmUAAAAAAlQL5AAAAAAAC3NjYWxlVmFsdWUxAAAAAAAAAAAKAAAAAAtzY2FsZVZhbHVlMwAAAAAAAAAD6AAAAAALc2NhbGVWYWx1ZTUAAAAAAAABhqAAAAAAC3NjYWxlVmFsdWU2AAAAAAAAD0JAAAAAAAtzY2FsZVZhbHVlOAAAAAAABfXhAAAAAAAMc2NhbGVWYWx1ZTExAAAAABdIdugAAQAAAAtzdHJBc3NldElkQQAAAAEAAAAEcG9vbAkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEcG9vbAUAAAALa2V5QXNzZXRJZEEBAAAAC3N0ckFzc2V0SWRCAAAAAQAAAARwb29sCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAARwb29sBQAAAAtrZXlBc3NldElkQgEAAAAIYXNzZXRJZEEAAAABAAAABHBvb2wDCQAAAAAAAAIJAQAAAAtzdHJBc3NldElkQQAAAAEFAAAABHBvb2wCAAAABVdBVkVTBQAAAAR1bml0CQACWQAAAAEJAQAAAAtzdHJBc3NldElkQQAAAAEFAAAABHBvb2wBAAAACGFzc2V0SWRCAAAAAQAAAARwb29sAwkAAAAAAAACCQEAAAALc3RyQXNzZXRJZEIAAAABBQAAAARwb29sAgAAAAVXQVZFUwUAAAAEdW5pdAkAAlkAAAABCQEAAAALc3RyQXNzZXRJZEIAAAABBQAAAARwb29sAAAAAAtrQmFzZVBlcmlvZAIAAAALYmFzZV9wZXJpb2QAAAAADWtQZXJpb2RMZW5ndGgCAAAADXBlcmlvZF9sZW5ndGgAAAAADGtTdGFydEhlaWdodAIAAAAMc3RhcnRfaGVpZ2h0AAAAABNrRmlyc3RIYXJ2ZXN0SGVpZ2h0AgAAABRmaXJzdF9oYXJ2ZXN0X2hlaWdodAAAAAAWa0R1cmF0aW9uRnVsbFZvdGVQb3dlcgIAAAAYZHVyYXRpb25fZnVsbF92b3RlX3Bvd2VyAAAAAA1rTWluVm90ZVBvd2VyAgAAAA5taW5fdm90ZV9wb3dlcgAAAAAKYmFzZVBlcmlvZAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAADXZvdGluZ0FkZHJlc3MFAAAAC2tCYXNlUGVyaW9kAgAAABFFbXB0eSBrQmFzZVBlcmlvZAAAAAALc3RhcnRIZWlnaHQJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAAA12b3RpbmdBZGRyZXNzBQAAAAxrU3RhcnRIZWlnaHQCAAAAEkVtcHR5IGtTdGFydEhlaWdodAAAAAAMcGVyaW9kTGVuZ3RoCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAANdm90aW5nQWRkcmVzcwUAAAANa1BlcmlvZExlbmd0aAIAAAATRW1wdHkga1BlcmlvZExlbmd0aAAAAAAVZHVyYXRpb25GdWxsVm90ZVBvd2VyCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAANdm90aW5nQWRkcmVzcwUAAAAWa0R1cmF0aW9uRnVsbFZvdGVQb3dlcgIAAAAcRW1wdHkga0R1cmF0aW9uRnVsbFZvdGVQb3dlcgAAAAAMbWluVm90ZVBvd2VyCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAANdm90aW5nQWRkcmVzcwUAAAANa01pblZvdGVQb3dlcgIAAAATRW1wdHkga01pblZvdGVQb3dlcgAAAAAIaXNBY3RpdmUJAQAAABFAZXh0ck5hdGl2ZSgxMDUxKQAAAAIFAAAABHRoaXMFAAAACWtleUFjdGl2ZQAAAAAKY3VyclBlcmlvZAkAAGQAAAACBQAAAApiYXNlUGVyaW9kCQAAaQAAAAIJAABlAAAAAgUAAAAGaGVpZ2h0BQAAAAtzdGFydEhlaWdodAUAAAAMcGVyaW9kTGVuZ3RoAQAAAA1nZXRMaW1pdFRva2VuAAAAAQAAAARwb29sCQEAAAALdmFsdWVPckVsc2UAAAACCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAARwb29sBQAAABlrZXlMaW1pdFNoYXJlRmlyc3RIYXJ2ZXN0AAAAAAAAAAAAAAAAAANBUFkJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMFAAAABmtleUFQWQAAAAAQU3dvcFllYXJFbWlzc2lvbgkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwUAAAATa2V5U3dvcFllYXJFbWlzc2lvbgEAAAAKYXNzZXROYW1lQQAAAAEAAAAEcG9vbAQAAAAHJG1hdGNoMAkBAAAACGFzc2V0SWRBAAAAAQUAAAAEcG9vbAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAKQnl0ZVZlY3RvcgQAAAACaWQFAAAAByRtYXRjaDAICQEAAAAFdmFsdWUAAAABCQAD7AAAAAEFAAAAAmlkAAAABG5hbWUDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABFVuaXQEAAAABXdhdmVzBQAAAAckbWF0Y2gwAgAAAAVXQVZFUwkAAAIAAAABAgAAAAtNYXRjaCBlcnJvcgEAAAAKYXNzZXROYW1lQgAAAAEAAAAEcG9vbAQAAAAHJG1hdGNoMAkBAAAACGFzc2V0SWRCAAAAAQUAAAAEcG9vbAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAKQnl0ZVZlY3RvcgQAAAACaWQFAAAAByRtYXRjaDAICQEAAAAFdmFsdWUAAAABCQAD7AAAAAEFAAAAAmlkAAAABG5hbWUDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABFVuaXQEAAAABXdhdmVzBQAAAAckbWF0Y2gwAgAAAAVXQVZFUwkAAAIAAAABAgAAAAtNYXRjaCBlcnJvcgAAAAAEU1dPUAkAAlkAAAABCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzBQAAAAlrZXlTV09QaWQBAAAADmlzRmlyc3RIYXJ2ZXN0AAAAAQAAAARwb29sCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGwAAAAIFAAAABHBvb2wFAAAAE2tleWZpcnN0SGFydmVzdENwbW0HAQAAABVnZXRIZWlnaHRGaXJzdEhhcnZlc3QAAAABAAAABHBvb2wJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEcG9vbAUAAAAVa2V5Rmlyc3RIYXJ2ZXN0SGVpZ2h0AAAAAAAAAAAAAQAAAAtnZXRCYWxhbmNlQQAAAAEAAAAEcG9vbAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAABHBvb2wFAAAAD2tleUJhbGFuY2VjcG1tQQkAASwAAAACAgAAABRObyBkYXRhIG9uIHRoZSBrZXk6IAUAAAAPa2V5QmFsYW5jZWNwbW1BAQAAAAtnZXRCYWxhbmNlQgAAAAEAAAAEcG9vbAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAABHBvb2wFAAAAD2tleUJhbGFuY2VjcG1tQgkAASwAAAACAgAAABRObyBkYXRhIG9uIHRoZSBrZXk6IAUAAAAPa2V5QmFsYW5jZWNwbW1CAQAAABJnZXRTaGFyZUxpbWl0VG9rZW4AAAABAAAABHBvb2wJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAAARwb29sBQAAAAtrU2hhcmVMaW1pdAkAASwAAAACAgAAABRObyBkYXRhIG9uIHRoZSBrZXk6IAUAAAALa1NoYXJlTGltaXQBAAAAGGdldFRvdGFsU2hhcmVUb2tlbkxvY2tlZAAAAAEAAAAEcG9vbAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAAEcG9vbAUAAAAUa2V5U2hhcmVUb2tlbnNMb2NrZWQJAAEsAAAAAgkAASwAAAACAgAAABRObyBkYXRhIG9uIHRoZSBrZXk6IAUAAAAEcG9vbAUAAAAUa2V5U2hhcmVUb2tlbnNMb2NrZWQBAAAAD2dldFNoYXJlQXNzZXRJZAAAAAEAAAAEcG9vbAkAAlkAAAABCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACCQEAAAAFdmFsdWUAAAABCQAEJgAAAAEFAAAABHBvb2wCAAAADnNoYXJlX2Fzc2V0X2lkAQAAAA5hY2NvdW50QmFsYW5jZQAAAAEAAAAHYXNzZXRJZAQAAAAHJG1hdGNoMAUAAAAHYXNzZXRJZAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAKQnl0ZVZlY3RvcgQAAAACaWQFAAAAByRtYXRjaDAJAAPwAAAAAgUAAAAEdGhpcwUAAAACaWQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABFVuaXQEAAAABXdhdmVzBQAAAAckbWF0Y2gwCAkAA+8AAAABBQAAAAR0aGlzAAAACWF2YWlsYWJsZQkAAAIAAAABAgAAAAtNYXRjaCBlcnJvcgEAAAAMZ2V0QXNzZXRJbmZvAAAAAQAAAAdhc3NldElkBAAAAAckbWF0Y2gwBQAAAAdhc3NldElkAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAApCeXRlVmVjdG9yBAAAAAJpZAUAAAAHJG1hdGNoMAQAAAAIc3RyaW5nSWQJAAJYAAAAAQUAAAACaWQEAAAABGluZm8JAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkAA+wAAAABBQAAAAJpZAkAASwAAAACCQABLAAAAAICAAAABkFzc2V0IAUAAAAIc3RyaW5nSWQCAAAADiBkb2Vzbid0IGV4aXN0CQAFFQAAAAMFAAAACHN0cmluZ0lkCAUAAAAEaW5mbwAAAARuYW1lCAUAAAAEaW5mbwAAAAhkZWNpbWFscwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAEVW5pdAQAAAAFd2F2ZXMFAAAAByRtYXRjaDAJAAUVAAAAAwIAAAAFV0FWRVMCAAAABVdBVkVTAAAAAAAAAAAICQAAAgAAAAECAAAAC01hdGNoIGVycm9yAQAAAA5jYWxjU2NhbGVWYWx1ZQAAAAIAAAAIYXNzZXRJZDEAAAAIYXNzZXRJZDIEAAAAEGFzc2V0SWQxRGVjaW1hbHMICQEAAAAFdmFsdWUAAAABCQAD7AAAAAEFAAAACGFzc2V0SWQxAAAACGRlY2ltYWxzBAAAABBhc3NldElkMkRlY2ltYWxzCAkBAAAABXZhbHVlAAAAAQkAA+wAAAABBQAAAAhhc3NldElkMgAAAAhkZWNpbWFscwQAAAALc2NhbGVEaWdpdHMJAABkAAAAAgkAAGUAAAACBQAAABBhc3NldElkMkRlY2ltYWxzBQAAABBhc3NldElkMURlY2ltYWxzAAAAAAAAAAAICQAAbAAAAAYAAAAAAAAAAAoAAAAAAAAAAAAFAAAAC3NjYWxlRGlnaXRzAAAAAAAAAAAAAAAAAAAAAAAABQAAAAhIQUxGRE9XTgEAAAARdXNlckF2YWlsYWJsZVNXT1AAAAACAAAABHBvb2wAAAAEdXNlcgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAARwb29sAgAAAAFfCQAEJQAAAAEFAAAABHVzZXIFAAAAEGtleUF2YWlsYWJsZVNXT1AAAAAAAAAAAAABAAAACnJld2FyZEluZm8AAAABAAAABHBvb2wEAAAAGnRvdGFsUmV3YXJkUGVyQmxvY2tDdXJyZW50CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAARZ292ZXJuYW5jZUFkZHJlc3MFAAAAHWtleVRvdGFsUmV3YXJkUGVyQmxvY2tDdXJyZW50CQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAABRObyBkYXRhIG9uIHRoZSBrZXk6IAUAAAAda2V5VG90YWxSZXdhcmRQZXJCbG9ja0N1cnJlbnQCAAAADCBhdCBhZGRyZXNzIAkABCUAAAABBQAAABFnb3Zlcm5hbmNlQWRkcmVzcwQAAAAbdG90YWxSZXdhcmRQZXJCbG9ja1ByZXZpb3VzCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAARZ292ZXJuYW5jZUFkZHJlc3MFAAAAHmtleVRvdGFsUmV3YXJkUGVyQmxvY2tQcmV2aW91cwkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAUTm8gZGF0YSBvbiB0aGUga2V5OiAFAAAAHmtleVRvdGFsUmV3YXJkUGVyQmxvY2tQcmV2aW91cwIAAAAMIGF0IGFkZHJlc3MgCQAEJQAAAAEFAAAAEWdvdmVybmFuY2VBZGRyZXNzBAAAABlyZXdhcmRQb29sRnJhY3Rpb25DdXJyZW50CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAARZ292ZXJuYW5jZUFkZHJlc3MJAAEsAAAAAgUAAAAEcG9vbAUAAAAca2V5UmV3YXJkUG9vbEZyYWN0aW9uQ3VycmVudAkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAABRObyBkYXRhIG9uIHRoZSBrZXk6IAUAAAAEcG9vbAUAAAAca2V5UmV3YXJkUG9vbEZyYWN0aW9uQ3VycmVudAIAAAAMIGF0IGFkZHJlc3MgCQAEJQAAAAEFAAAAEWdvdmVybmFuY2VBZGRyZXNzBAAAABJyZXdhcmRVcGRhdGVIZWlnaHQJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAABFnb3Zlcm5hbmNlQWRkcmVzcwUAAAAVa2V5UmV3YXJkVXBkYXRlSGVpZ2h0CQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAABRObyBkYXRhIG9uIHRoZSBrZXk6IAUAAAAVa2V5UmV3YXJkVXBkYXRlSGVpZ2h0AgAAAAwgYXQgYWRkcmVzcyAJAAQlAAAAAQUAAAARZ292ZXJuYW5jZUFkZHJlc3MEAAAAFnBvb2xSZXdhcmRVcGRhdGVIZWlnaHQJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAARZ292ZXJuYW5jZUFkZHJlc3MJAAEsAAAAAgUAAAAEcG9vbAUAAAAVa2V5SGVpZ2h0UG9vbEZyYWN0aW9uAAAAAAAAAAAABAAAABpyZXdhcmRQb29sRnJhY3Rpb25QcmV2aW91cwkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAAEWdvdmVybmFuY2VBZGRyZXNzCQABLAAAAAIFAAAABHBvb2wFAAAAHWtleVJld2FyZFBvb2xGcmFjdGlvblByZXZpb3VzCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAFE5vIGRhdGEgb24gdGhlIGtleTogBQAAAARwb29sBQAAAB1rZXlSZXdhcmRQb29sRnJhY3Rpb25QcmV2aW91cwIAAAAMIGF0IGFkZHJlc3MgCQAEJQAAAAEFAAAAEWdvdmVybmFuY2VBZGRyZXNzBAAAABFyZXdhcmRQb29sQ3VycmVudAkAAGsAAAADBQAAABp0b3RhbFJld2FyZFBlckJsb2NrQ3VycmVudAUAAAAZcmV3YXJkUG9vbEZyYWN0aW9uQ3VycmVudAUAAAAOdG90YWxWb3RlU2hhcmUEAAAAEnJld2FyZFBvb2xQcmV2aW91cwkAAGsAAAADBQAAABt0b3RhbFJld2FyZFBlckJsb2NrUHJldmlvdXMFAAAAGnJld2FyZFBvb2xGcmFjdGlvblByZXZpb3VzBQAAAA50b3RhbFZvdGVTaGFyZQMDCQAAZgAAAAIFAAAAEXJld2FyZFBvb2xDdXJyZW50BQAAABp0b3RhbFJld2FyZFBlckJsb2NrQ3VycmVudAYJAABmAAAAAgUAAAAScmV3YXJkUG9vbFByZXZpb3VzBQAAABt0b3RhbFJld2FyZFBlckJsb2NrUHJldmlvdXMJAAACAAAAAQIAAABicmV3YXJkUG9vbEN1cnJlbnQgPiB0b3RhbFJld2FyZFBlckJsb2NrQ3VycmVudCBvciByZXdhcmRQb29sUHJldmlvdXMgPiB0b3RhbFJld2FyZFBlckJsb2NrUHJldmlvdXMJAAUWAAAABAUAAAARcmV3YXJkUG9vbEN1cnJlbnQFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAUAAAAScmV3YXJkUG9vbFByZXZpb3VzBQAAABZwb29sUmV3YXJkVXBkYXRlSGVpZ2h0AQAAABNnZXRMYXN0SW50ZXJlc3RJbmZvAAAAAQAAAARwb29sBAAAAAxsYXN0SW50ZXJlc3QJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAABHBvb2wFAAAAD2tleUxhc3RJbnRlcmVzdAkAASwAAAACCQABLAAAAAICAAAAFE5vIGRhdGEgb24gdGhlIGtleTogBQAAAARwb29sBQAAAA9rZXlMYXN0SW50ZXJlc3QEAAAAEmxhc3RJbnRlcmVzdEhlaWdodAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAABHBvb2wFAAAAFWtleUxhc3RJbnRlcmVzdEhlaWdodAUAAAAGaGVpZ2h0CQAFFAAAAAIFAAAAEmxhc3RJbnRlcmVzdEhlaWdodAUAAAAMbGFzdEludGVyZXN0AQAAABNnZXRVc2VySW50ZXJlc3RJbmZvAAAAAgAAAARwb29sAAAAC3VzZXJBZGRyZXNzBAAAABB1c2VyTGFzdEludGVyZXN0CQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAABHBvb2wCAAAAAV8JAAQlAAAAAQUAAAALdXNlckFkZHJlc3MFAAAAE2tleVVzZXJMYXN0SW50ZXJlc3QEAAAACXVzZXJTaGFyZQkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAARwb29sAgAAAAFfCQAEJQAAAAEFAAAAC3VzZXJBZGRyZXNzBQAAABhrZXlVc2VyU2hhcmVUb2tlbnNMb2NrZWQEAAAADGxhc3RJbnRlcmVzdAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAAEcG9vbAUAAAAPa2V5TGFzdEludGVyZXN0CQABLAAAAAIJAAEsAAAAAgIAAAAUTm8gZGF0YSBvbiB0aGUga2V5OiAFAAAABHBvb2wFAAAAD2tleUxhc3RJbnRlcmVzdAQAAAAVdXNlckxhc3RJbnRlcmVzdFZhbHVlBAAAAAckbWF0Y2gwBQAAABB1c2VyTGFzdEludGVyZXN0AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAEHVzZXJMYXN0SW50ZXJlc3QFAAAAByRtYXRjaDAFAAAAEHVzZXJMYXN0SW50ZXJlc3QFAAAADGxhc3RJbnRlcmVzdAQAAAAVdXNlclNoYXJlVG9rZW5zQW1vdW50BAAAAAckbWF0Y2gwBQAAAAl1c2VyU2hhcmUDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAAJdXNlclNoYXJlBQAAAAckbWF0Y2gwBQAAAAl1c2VyU2hhcmUAAAAAAAAAAAAJAAUUAAAAAgUAAAAVdXNlckxhc3RJbnRlcmVzdFZhbHVlBQAAABV1c2VyU2hhcmVUb2tlbnNBbW91bnQBAAAADGNhbGNJbnRlcmVzdAAAAAoAAAASbGFzdEludGVyZXN0SGVpZ2h0AAAAEnJld2FyZFVwZGF0ZUhlaWdodAAAABZwb29sUmV3YXJkVXBkYXRlSGVpZ2h0AAAADGxhc3RJbnRlcmVzdAAAABVjdXJyZW50UmV3YXJkUGVyQmxvY2sAAAAQc2hhcmVUb2tlbkxvY2tlZAAAABZwcmV2aW91c1Jld2FyZFBlckJsb2NrAAAADHNoYXJlQXNzZXRJZAAAAApzY2FsZVZhbHVlAAAACXBtdEFtb3VudAMJAAAAAAAAAgUAAAAQc2hhcmVUb2tlbkxvY2tlZAAAAAAAAAAAAAAAAAAAAAAAAAMJAQAAAAIhPQAAAAIFAAAAFnBvb2xSZXdhcmRVcGRhdGVIZWlnaHQAAAAAAAAAAAADAwkAAGYAAAACBQAAABJyZXdhcmRVcGRhdGVIZWlnaHQFAAAABmhlaWdodAkAAAAAAAACBQAAABJyZXdhcmRVcGRhdGVIZWlnaHQFAAAAFnBvb2xSZXdhcmRVcGRhdGVIZWlnaHQHBAAAAAZyZXdhcmQJAABoAAAAAgUAAAAWcHJldmlvdXNSZXdhcmRQZXJCbG9jawkAAGUAAAACBQAAAAZoZWlnaHQFAAAAEmxhc3RJbnRlcmVzdEhlaWdodAkAAGQAAAACBQAAAAxsYXN0SW50ZXJlc3QJAABrAAAAAwUAAAAGcmV3YXJkBQAAAApzY2FsZVZhbHVlBQAAABBzaGFyZVRva2VuTG9ja2VkAwMJAABmAAAAAgUAAAAGaGVpZ2h0BQAAABJyZXdhcmRVcGRhdGVIZWlnaHQJAQAAAAIhPQAAAAIFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAUAAAAWcG9vbFJld2FyZFVwZGF0ZUhlaWdodAcEAAAABnJld2FyZAkAAGgAAAACBQAAABZwcmV2aW91c1Jld2FyZFBlckJsb2NrCQAAZQAAAAIFAAAABmhlaWdodAUAAAASbGFzdEludGVyZXN0SGVpZ2h0CQAAZAAAAAIFAAAADGxhc3RJbnRlcmVzdAkAAGsAAAADBQAAAAZyZXdhcmQFAAAACnNjYWxlVmFsdWUFAAAAEHNoYXJlVG9rZW5Mb2NrZWQDAwMJAABmAAAAAgUAAAAGaGVpZ2h0BQAAABJyZXdhcmRVcGRhdGVIZWlnaHQJAAAAAAAAAgUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0BQAAABZwb29sUmV3YXJkVXBkYXRlSGVpZ2h0BwkAAGYAAAACBQAAABJsYXN0SW50ZXJlc3RIZWlnaHQFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAcEAAAABnJld2FyZAkAAGgAAAACBQAAABVjdXJyZW50UmV3YXJkUGVyQmxvY2sJAABlAAAAAgUAAAAGaGVpZ2h0BQAAABJsYXN0SW50ZXJlc3RIZWlnaHQJAABkAAAAAgUAAAAMbGFzdEludGVyZXN0CQAAawAAAAMFAAAABnJld2FyZAUAAAAKc2NhbGVWYWx1ZQUAAAAQc2hhcmVUb2tlbkxvY2tlZAQAAAAqcmV3YXJkQWZ0ZXJMYXN0SW50ZXJlc3RCZWZvcmVSZWF3YXJkVXBkYXRlCQAAaAAAAAIFAAAAFnByZXZpb3VzUmV3YXJkUGVyQmxvY2sJAABlAAAAAgUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0BQAAABJsYXN0SW50ZXJlc3RIZWlnaHQEAAAAE2ludGVyZXN0QWZ0ZXJVcGRhdGUJAABkAAAAAgUAAAAMbGFzdEludGVyZXN0CQAAawAAAAMFAAAAKnJld2FyZEFmdGVyTGFzdEludGVyZXN0QmVmb3JlUmVhd2FyZFVwZGF0ZQUAAAAKc2NhbGVWYWx1ZQUAAAAQc2hhcmVUb2tlbkxvY2tlZAQAAAAGcmV3YXJkCQAAaAAAAAIFAAAAFWN1cnJlbnRSZXdhcmRQZXJCbG9jawkAAGUAAAACBQAAAAZoZWlnaHQFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAkAAGQAAAACBQAAABNpbnRlcmVzdEFmdGVyVXBkYXRlCQAAawAAAAMFAAAABnJld2FyZAUAAAAKc2NhbGVWYWx1ZQUAAAAQc2hhcmVUb2tlbkxvY2tlZAMJAABmAAAAAgUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0BQAAAAZoZWlnaHQEAAAABnJld2FyZAkAAGgAAAACBQAAABZwcmV2aW91c1Jld2FyZFBlckJsb2NrCQAAZQAAAAIFAAAABmhlaWdodAUAAAASbGFzdEludGVyZXN0SGVpZ2h0CQAAZAAAAAIFAAAADGxhc3RJbnRlcmVzdAkAAGsAAAADBQAAAAZyZXdhcmQFAAAACnNjYWxlVmFsdWUFAAAAEHNoYXJlVG9rZW5Mb2NrZWQDCQAAZgAAAAIFAAAAEmxhc3RJbnRlcmVzdEhlaWdodAUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0BAAAAAZyZXdhcmQJAABoAAAAAgUAAAAVY3VycmVudFJld2FyZFBlckJsb2NrCQAAZQAAAAIFAAAABmhlaWdodAUAAAASbGFzdEludGVyZXN0SGVpZ2h0CQAAZAAAAAIFAAAADGxhc3RJbnRlcmVzdAkAAGsAAAADBQAAAAZyZXdhcmQFAAAACnNjYWxlVmFsdWUFAAAAEHNoYXJlVG9rZW5Mb2NrZWQEAAAAKnJld2FyZEFmdGVyTGFzdEludGVyZXN0QmVmb3JlUmVhd2FyZFVwZGF0ZQkAAGgAAAACBQAAABZwcmV2aW91c1Jld2FyZFBlckJsb2NrCQAAZQAAAAIFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAUAAAASbGFzdEludGVyZXN0SGVpZ2h0BAAAABNpbnRlcmVzdEFmdGVyVXBkYXRlCQAAZAAAAAIFAAAADGxhc3RJbnRlcmVzdAkAAGsAAAADBQAAACpyZXdhcmRBZnRlckxhc3RJbnRlcmVzdEJlZm9yZVJlYXdhcmRVcGRhdGUFAAAACnNjYWxlVmFsdWUFAAAAEHNoYXJlVG9rZW5Mb2NrZWQEAAAABnJld2FyZAkAAGgAAAACBQAAABVjdXJyZW50UmV3YXJkUGVyQmxvY2sJAABlAAAAAgUAAAAGaGVpZ2h0BQAAABJyZXdhcmRVcGRhdGVIZWlnaHQJAABkAAAAAgUAAAATaW50ZXJlc3RBZnRlclVwZGF0ZQkAAGsAAAADBQAAAAZyZXdhcmQFAAAACnNjYWxlVmFsdWUFAAAAEHNoYXJlVG9rZW5Mb2NrZWQBAAAACWNsYWltQ2FsYwAAAAMAAAAEcG9vbAAAAAZjYWxsZXIAAAAJcG10QW1vdW50BAAAAAxzaGFyZUFzc2V0SWQJAQAAAA9nZXRTaGFyZUFzc2V0SWQAAAABBQAAAARwb29sBAAAAApzY2FsZVZhbHVlCQEAAAAOY2FsY1NjYWxlVmFsdWUAAAACBQAAAARTV09QBQAAAAxzaGFyZUFzc2V0SWQEAAAAEHNoYXJlVG9rZW5Mb2NrZWQJAQAAABhnZXRUb3RhbFNoYXJlVG9rZW5Mb2NrZWQAAAABBQAAAARwb29sBAAAAA0kdDAxMzE1MzEzMjE4CQEAAAATZ2V0TGFzdEludGVyZXN0SW5mbwAAAAEFAAAABHBvb2wEAAAAEmxhc3RJbnRlcmVzdEhlaWdodAgFAAAADSR0MDEzMTUzMTMyMTgAAAACXzEEAAAADGxhc3RJbnRlcmVzdAgFAAAADSR0MDEzMTUzMTMyMTgAAAACXzIEAAAADSR0MDEzMjIzMTMzMzUJAQAAAApyZXdhcmRJbmZvAAAAAQUAAAAEcG9vbAQAAAAVY3VycmVudFJld2FyZFBlckJsb2NrCAUAAAANJHQwMTMyMjMxMzMzNQAAAAJfMQQAAAAScmV3YXJkVXBkYXRlSGVpZ2h0CAUAAAANJHQwMTMyMjMxMzMzNQAAAAJfMgQAAAAWcHJldmlvdXNSZXdhcmRQZXJCbG9jawgFAAAADSR0MDEzMjIzMTMzMzUAAAACXzMEAAAAFnBvb2xSZXdhcmRVcGRhdGVIZWlnaHQIBQAAAA0kdDAxMzIyMzEzMzM1AAAAAl80BAAAAA0kdDAxMzM0MDEzNDE5CQEAAAATZ2V0VXNlckludGVyZXN0SW5mbwAAAAIFAAAABHBvb2wFAAAABmNhbGxlcgQAAAAQdXNlckxhc3RJbnRlcmVzdAgFAAAADSR0MDEzMzQwMTM0MTkAAAACXzEEAAAAFXVzZXJTaGFyZVRva2Vuc0Ftb3VudAgFAAAADSR0MDEzMzQwMTM0MTkAAAACXzIEAAAAD2N1cnJlbnRJbnRlcmVzdAkBAAAADGNhbGNJbnRlcmVzdAAAAAoFAAAAEmxhc3RJbnRlcmVzdEhlaWdodAUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0BQAAABZwb29sUmV3YXJkVXBkYXRlSGVpZ2h0BQAAAAxsYXN0SW50ZXJlc3QFAAAAFWN1cnJlbnRSZXdhcmRQZXJCbG9jawUAAAAQc2hhcmVUb2tlbkxvY2tlZAUAAAAWcHJldmlvdXNSZXdhcmRQZXJCbG9jawUAAAAMc2hhcmVBc3NldElkBQAAAApzY2FsZVZhbHVlBQAAAAlwbXRBbW91bnQEAAAAC2NsYWltQW1vdW50CQAAawAAAAMFAAAAFXVzZXJTaGFyZVRva2Vuc0Ftb3VudAkAAGUAAAACBQAAAA9jdXJyZW50SW50ZXJlc3QFAAAAEHVzZXJMYXN0SW50ZXJlc3QFAAAACnNjYWxlVmFsdWUEAAAAD3VzZXJOZXdJbnRlcmVzdAUAAAAPY3VycmVudEludGVyZXN0CQAFFgAAAAQFAAAAD3VzZXJOZXdJbnRlcmVzdAUAAAAPY3VycmVudEludGVyZXN0BQAAAAtjbGFpbUFtb3VudAUAAAAVdXNlclNoYXJlVG9rZW5zQW1vdW50AQAAABdjYWxjdWxhdGVQcm90b2NvbFJld2FyZAAAAAEAAAAEcG9vbAQAAAANJHQwMTM5MzcxNDAwMgkBAAAAE2dldExhc3RJbnRlcmVzdEluZm8AAAABBQAAAARwb29sBAAAABJsYXN0SW50ZXJlc3RIZWlnaHQIBQAAAA0kdDAxMzkzNzE0MDAyAAAAAl8xBAAAAAxsYXN0SW50ZXJlc3QIBQAAAA0kdDAxMzkzNzE0MDAyAAAAAl8yBAAAAA0kdDAxNDAwNzE0MTE4CQEAAAAKcmV3YXJkSW5mbwAAAAEFAAAABHBvb2wEAAAAFWN1cnJlbnRSZXdhcmRQZXJCbG9jawgFAAAADSR0MDE0MDA3MTQxMTgAAAACXzEEAAAAEnJld2FyZFVwZGF0ZUhlaWdodAgFAAAADSR0MDE0MDA3MTQxMTgAAAACXzIEAAAAFnByZXZpb3VzUmV3YXJkUGVyQmxvY2sIBQAAAA0kdDAxNDAwNzE0MTE4AAAAAl8zBAAAABZwb29sUmV3YXJkVXBkYXRlSGVpZ2h0CAUAAAANJHQwMTQwMDcxNDExOAAAAAJfNAQAAAAQc2hhcmVUb2tlbkxvY2tlZAkBAAAAGGdldFRvdGFsU2hhcmVUb2tlbkxvY2tlZAAAAAEFAAAABHBvb2wDAwkAAAAAAAACBQAAABBzaGFyZVRva2VuTG9ja2VkAAAAAAAAAAAACQAAAAAAAAIFAAAAFnBvb2xSZXdhcmRVcGRhdGVIZWlnaHQAAAAAAAAAAAAHAwkAAGYAAAACBQAAABJyZXdhcmRVcGRhdGVIZWlnaHQFAAAABmhlaWdodAQAAAAGcmV3YXJkCQAAaAAAAAIFAAAAFnByZXZpb3VzUmV3YXJkUGVyQmxvY2sJAABlAAAAAgUAAAAGaGVpZ2h0BQAAABJsYXN0SW50ZXJlc3RIZWlnaHQFAAAABnJld2FyZAMJAABmAAAAAgUAAAASbGFzdEludGVyZXN0SGVpZ2h0BQAAABJyZXdhcmRVcGRhdGVIZWlnaHQEAAAABnJld2FyZAkAAGgAAAACBQAAABVjdXJyZW50UmV3YXJkUGVyQmxvY2sJAABlAAAAAgUAAAAGaGVpZ2h0BQAAABJsYXN0SW50ZXJlc3RIZWlnaHQFAAAABnJld2FyZAQAAAAqcmV3YXJkQWZ0ZXJMYXN0SW50ZXJlc3RCZWZvcmVSZWF3YXJkVXBkYXRlCQAAaAAAAAIFAAAAFnByZXZpb3VzUmV3YXJkUGVyQmxvY2sJAABlAAAAAgUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0BQAAABJsYXN0SW50ZXJlc3RIZWlnaHQEAAAABnJld2FyZAkAAGgAAAACBQAAABVjdXJyZW50UmV3YXJkUGVyQmxvY2sJAABlAAAAAgUAAAAGaGVpZ2h0BQAAABJyZXdhcmRVcGRhdGVIZWlnaHQJAABkAAAAAgUAAAAGcmV3YXJkBQAAACpyZXdhcmRBZnRlckxhc3RJbnRlcmVzdEJlZm9yZVJlYXdhcmRVcGRhdGUDAwkAAAAAAAACBQAAABBzaGFyZVRva2VuTG9ja2VkAAAAAAAAAAAACQEAAAACIT0AAAACBQAAABZwb29sUmV3YXJkVXBkYXRlSGVpZ2h0AAAAAAAAAAAABwMDCQAAZgAAAAIFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAUAAAAGaGVpZ2h0CQAAAAAAAAIFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAUAAAAWcG9vbFJld2FyZFVwZGF0ZUhlaWdodAcEAAAABnJld2FyZAkAAGgAAAACBQAAABZwcmV2aW91c1Jld2FyZFBlckJsb2NrCQAAZQAAAAIFAAAABmhlaWdodAUAAAASbGFzdEludGVyZXN0SGVpZ2h0BQAAAAZyZXdhcmQDAwkAAGYAAAACBQAAAAZoZWlnaHQFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAkBAAAAAiE9AAAAAgUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0BQAAABZwb29sUmV3YXJkVXBkYXRlSGVpZ2h0BwQAAAAGcmV3YXJkCQAAaAAAAAIFAAAAFnByZXZpb3VzUmV3YXJkUGVyQmxvY2sJAABlAAAAAgUAAAAGaGVpZ2h0BQAAABJsYXN0SW50ZXJlc3RIZWlnaHQFAAAABnJld2FyZAMDAwkAAGYAAAACBQAAAAZoZWlnaHQFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAkAAAAAAAACBQAAABJyZXdhcmRVcGRhdGVIZWlnaHQFAAAAFnBvb2xSZXdhcmRVcGRhdGVIZWlnaHQHCQAAZgAAAAIFAAAAEmxhc3RJbnRlcmVzdEhlaWdodAUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0BwQAAAAGcmV3YXJkCQAAaAAAAAIFAAAAFWN1cnJlbnRSZXdhcmRQZXJCbG9jawkAAGUAAAACBQAAAAZoZWlnaHQFAAAAEmxhc3RJbnRlcmVzdEhlaWdodAUAAAAGcmV3YXJkBAAAACpyZXdhcmRBZnRlckxhc3RJbnRlcmVzdEJlZm9yZVJlYXdhcmRVcGRhdGUJAABoAAAAAgUAAAAWcHJldmlvdXNSZXdhcmRQZXJCbG9jawkAAGUAAAACBQAAABJyZXdhcmRVcGRhdGVIZWlnaHQFAAAAEmxhc3RJbnRlcmVzdEhlaWdodAQAAAAGcmV3YXJkCQAAaAAAAAIFAAAAFWN1cnJlbnRSZXdhcmRQZXJCbG9jawkAAGUAAAACBQAAAAZoZWlnaHQFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAkAAGQAAAACBQAAAAZyZXdhcmQFAAAAKnJld2FyZEFmdGVyTGFzdEludGVyZXN0QmVmb3JlUmVhd2FyZFVwZGF0ZQAAAAAAAAAAAAEAAAAWY2hlY2tQbXRBc3NldElkQ29ycmVjdAAAAAIAAAAEcG9vbAAAAApwbXRBc3NldElkBAAAABBwb29sU2hhcmVBc3NldElkCQACWQAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIJAQAAAAV2YWx1ZQAAAAEJAAQmAAAAAQUAAAAEcG9vbAIAAAAOc2hhcmVfYXNzZXRfaWQDCQAAAAAAAAIFAAAACnBtdEFzc2V0SWQFAAAAEHBvb2xTaGFyZUFzc2V0SWQGBwEAAAAYZ2V0VXNlclNXT1BDbGFpbWVkQW1vdW50AAAAAgAAAARwb29sAAAABHVzZXIJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAEcG9vbAIAAAABXwkABCUAAAABBQAAAAR1c2VyBQAAABhrZXlVc2VyU1dPUENsYWltZWRBbW91bnQAAAAAAAAAAAABAAAAB3N1c3BlbmQAAAABAAAABWNhdXNlCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACBQAAAAlrZXlBY3RpdmUHCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAACGtleUNhdXNlBQAAAAVjYXVzZQUAAAADbmlsAAAACAAAAAFpAQAAAARpbml0AAAAAQAAAAdlYXJseUxQAwkBAAAACWlzRGVmaW5lZAAAAAEJAAQdAAAAAgUAAAAEdGhpcwUAAAAJa2V5U1dPUGlkCQAAAgAAAAECAAAAGFNXT1AgYWxyZWFkeSBpbml0aWFsaXplZAQAAAAKaW5pdEFtb3VudAAAAFrzEHpAAAQAAAAJU1dPUGlzc3VlCQAEQgAAAAUCAAAABFNXT1ACAAAAE1NXT1AgcHJvdG9jb2wgdG9rZW4FAAAACmluaXRBbW91bnQAAAAAAAAAAAgGBAAAAAZTV09QaWQJAAQ4AAAAAQUAAAAJU1dPUGlzc3VlCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACBQAAAAlrZXlBY3RpdmUGCQAETAAAAAIJAARCAAAABQIAAAAEU1dPUAIAAAATU1dPUCBwcm90b2NvbCB0b2tlbgUAAAAKaW5pdEFtb3VudAAAAAAAAAAACAYJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAAJa2V5U1dPUGlkCQACWAAAAAEFAAAABlNXT1BpZAUAAAADbmlsAAAAAWkBAAAAFGluaXRQb29sU2hhcmVGYXJtaW5nAAAAAQAAAARwb29sAwkBAAAAAiE9AAAAAggFAAAAAWkAAAAGY2FsbGVyBQAAAAR0aGlzCQAAAgAAAAECAAAAK09ubHkgdGhlIERBcHAgaXRzZWxmIGNhbiBjYWxsIHRoaXMgZnVuY3Rpb24EAAAADSR0MDE3MTAwMTcyMDMJAQAAAApyZXdhcmRJbmZvAAAAAQUAAAAEcG9vbAQAAAANY3VycmVudFJld2FyZAgFAAAADSR0MDE3MTAwMTcyMDMAAAACXzEEAAAAEnJld2FyZFVwZGF0ZUhlaWdodAgFAAAADSR0MDE3MTAwMTcyMDMAAAACXzIEAAAAFnByZXZpb3VzUmV3YXJkUGVyQmxvY2sIBQAAAA0kdDAxNzEwMDE3MjAzAAAAAl8zBAAAABZwb29sUmV3YXJkVXBkYXRlSGVpZ2h0CAUAAAANJHQwMTcxMDAxNzIwMwAAAAJfNAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAAARwb29sBQAAABRrZXlTaGFyZVRva2Vuc0xvY2tlZAAAAAAAAAAAAAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAAARwb29sBQAAAA9rZXlMYXN0SW50ZXJlc3QAAAAAAAAAAAAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAEcG9vbAUAAAAVa2V5TGFzdEludGVyZXN0SGVpZ2h0BQAAAAZoZWlnaHQFAAAAA25pbAAAAAFpAQAAABJ1cGRhdGVQb29sSW50ZXJlc3QAAAABAAAABHBvb2wDCQEAAAACIT0AAAACCAUAAAABaQAAAAZjYWxsZXIFAAAABndhbGxldAkAAAIAAAABAgAAACxPbmx5IHRoZSBBZG1pbiBpdHNlbGYgY2FuIGNhbGwgdGhpcyBmdW5jdGlvbgMJAQAAAAEhAAAAAQUAAAAIaXNBY3RpdmUJAAACAAAAAQIAAAAfREFwcCBpcyBpbmFjdGl2ZSBhdCB0aGlzIG1vbWVudAQAAAANJHQwMTc2MTIxNzczMgkBAAAACWNsYWltQ2FsYwAAAAMFAAAABHBvb2wFAAAAHGFkbWluSW5jcmVhc2VJbnRlcmVzdEFkZHJlc3MAAAAAAAAAAAAEAAAAD3VzZXJOZXdJbnRlcmVzdAgFAAAADSR0MDE3NjEyMTc3MzIAAAACXzEEAAAAD2N1cnJlbnRJbnRlcmVzdAgFAAAADSR0MDE3NjEyMTc3MzIAAAACXzIEAAAAC2NsYWltQW1vdW50CAUAAAANJHQwMTc2MTIxNzczMgAAAAJfMwQAAAAVdXNlclNoYXJlVG9rZW5zQW1vdW50CAUAAAANJHQwMTc2MTIxNzczMgAAAAJfNAQAAAANJHQwMTc3MzcxNzg0MAkBAAAACnJld2FyZEluZm8AAAABBQAAAARwb29sBAAAAA1jdXJyZW50UmV3YXJkCAUAAAANJHQwMTc3MzcxNzg0MAAAAAJfMQQAAAAScmV3YXJkVXBkYXRlSGVpZ2h0CAUAAAANJHQwMTc3MzcxNzg0MAAAAAJfMgQAAAAWcHJldmlvdXNSZXdhcmRQZXJCbG9jawgFAAAADSR0MDE3NzM3MTc4NDAAAAACXzMEAAAAFnBvb2xSZXdhcmRVcGRhdGVIZWlnaHQIBQAAAA0kdDAxNzczNzE3ODQwAAAAAl80CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAABHBvb2wFAAAAD2tleUxhc3RJbnRlcmVzdAUAAAAPdXNlck5ld0ludGVyZXN0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAABHBvb2wFAAAAFWtleUxhc3RJbnRlcmVzdEhlaWdodAUAAAAGaGVpZ2h0BQAAAANuaWwAAAABaQEAAAAPbG9ja1NoYXJlVG9rZW5zAAAAAQAAAARwb29sBAAAAA0kdDAxODAzMjE4MTA3CQAFFAAAAAIICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAABmFtb3VudAgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAHYXNzZXRJZAQAAAAJcG10QW1vdW50CAUAAAANJHQwMTgwMzIxODEwNwAAAAJfMQQAAAAKcG10QXNzZXRJZAgFAAAADSR0MDE4MDMyMTgxMDcAAAACXzIEAAAADSR0MDE4MTEyMTgxODUJAQAAAAxnZXRBc3NldEluZm8AAAABBQAAAApwbXRBc3NldElkBAAAAA1wbXRTdHJBc3NldElkCAUAAAANJHQwMTgxMTIxODE4NQAAAAJfMQQAAAAMcG10QXNzZXROYW1lCAUAAAANJHQwMTgxMTIxODE4NQAAAAJfMgQAAAALcG10RGVjaW1hbHMIBQAAAA0kdDAxODExMjE4MTg1AAAAAl8zBAAAAA0kdDAxODE5MDE4Mjk4CQEAAAAJY2xhaW1DYWxjAAAAAwUAAAAEcG9vbAgFAAAAAWkAAAAGY2FsbGVyBQAAAAlwbXRBbW91bnQEAAAAD3VzZXJOZXdJbnRlcmVzdAgFAAAADSR0MDE4MTkwMTgyOTgAAAACXzEEAAAAD2N1cnJlbnRJbnRlcmVzdAgFAAAADSR0MDE4MTkwMTgyOTgAAAACXzIEAAAAC2NsYWltQW1vdW50CAUAAAANJHQwMTgxOTAxODI5OAAAAAJfMwQAAAAVdXNlclNoYXJlVG9rZW5zQW1vdW50CAUAAAANJHQwMTgxOTAxODI5OAAAAAJfNAQAAAASdXNlclNoYXJlQW1vdW50TmV3CQAAZAAAAAIFAAAAFXVzZXJTaGFyZVRva2Vuc0Ftb3VudAUAAAAJcG10QW1vdW50BAAAABFhdmFpbGFibGVGdW5kc05ldwkAAGQAAAACCQEAAAARdXNlckF2YWlsYWJsZVNXT1AAAAACBQAAAARwb29sCAUAAAABaQAAAAZjYWxsZXIFAAAAC2NsYWltQW1vdW50BAAAABB0b3RhbFNoYXJlQW1vdW50CQEAAAAYZ2V0VG90YWxTaGFyZVRva2VuTG9ja2VkAAAAAQUAAAAEcG9vbAQAAAATdG90YWxTaGFyZUFtb3VudE5ldwkAAGQAAAACBQAAABB0b3RhbFNoYXJlQW1vdW50BQAAAAlwbXRBbW91bnQEAAAAEXVzZXJDbGFpbWVkQW1vdW50CQEAAAAYZ2V0VXNlclNXT1BDbGFpbWVkQW1vdW50AAAAAgUAAAAEcG9vbAgFAAAAAWkAAAAGY2FsbGVyBAAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkAAGQAAAACBQAAABF1c2VyQ2xhaW1lZEFtb3VudAUAAAALY2xhaW1BbW91bnQEAAAACWJhc2VFbnRyeQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAEcG9vbAIAAAABXwkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAE2tleVVzZXJMYXN0SW50ZXJlc3QFAAAAD3VzZXJOZXdJbnRlcmVzdAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAEcG9vbAIAAAABXwkABCUAAAABCAUAAAABaQAAAAZj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RW50cnkJAAACAAAAAQkAASwAAAACAgAAABxZb3VyIG1heGltdW0gc2hhcmUgdG9rZW4gaXMgCQABpAAAAAEFAAAACnNoYXJlVG9rZW4JAAACAAAAAQIAAAAVWW91IGNhbid0IHNoYXJlIHRva2VuCQAAAgAAAAECAAAAIFlvdXIgYW1vdW50IG9mIHRva2VuIGxlc3MgdGhhbiAwBQAAAAliYXNlRW50cnkAAAABaQEAAAATd2l0aGRyYXdTaGFyZVRva2VucwAAAAIAAAAEcG9vbAAAABlzaGFyZVRva2Vuc1dpdGhkcmF3QW1vdW50BAAAAA1zaGFyZVRva2Vuc0lkCQACWQAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIJAQAAAAV2YWx1ZQAAAAEJAAQmAAAAAQUAAAAEcG9vbAIAAAAOc2hhcmVfYXNzZXRfaWQEAAAADSR0MDIyNzQ3MjI4NDcJAQAAAAljbGFpbUNhbGMAAAADBQAAAARwb29sCAUAAAABaQAAAAZjYWxsZXIAAAAAAAAAAAEEAAAAD3VzZXJOZXdJbnRlcmVzdAgFAAAADSR0MDIyNzQ3MjI4NDcAAAACXzEEAAAAD2N1cnJlbnRJbnRlcmVzdAgFAAAADSR0MDIyNzQ3MjI4NDcAAAACXzIEAAAAC2NsYWltQW1vdW50CAUAAAANJHQwMjI3NDcyMjg0NwAAAAJfMwQAAAAVdXNlclNoYXJlVG9rZW5zQW1vdW50CAUAAAANJHQwMjI3NDcyMjg0NwAAAAJfNAQAAAASdXNlclNoYXJlQW1vdW50TmV3CQAAZQAAAAIFAAAAFXVzZXJTaGFyZVRva2Vuc0Ftb3VudAUAAAAZc2hhcmVUb2tlbnNXaXRoZHJhd0Ftb3VudAQAAAARYXZhaWxhYmxlRnVuZHNOZXcJAABkAAAAAgkBAAAAEXVzZXJBdmFpbGFibGVTV09QAAAAAgUAAAAEcG9vbAgFAAAAAWkAAAAGY2FsbGVyBQAAAAtjbGFpbUFtb3VudAQAAAAQdG90YWxTaGFyZUFtb3VudAkBAAAAGGdldFRvdGFsU2hhcmVUb2tlbkxvY2tlZAAAAAEFAAAABHBvb2wEAAAAE3RvdGFsU2hhcmVBbW91bnROZXcJAABlAAAAAgUAAAAQdG90YWxTaGFyZUFtb3VudAUAAAAZc2hhcmVUb2tlbnNXaXRoZHJhd0Ftb3VudAQAAAARdXNlckNsYWltZWRBbW91bnQJAQAAABhnZXRVc2VyU1dPUENsYWltZWRBbW91bnQAAAACBQAAAARwb29sCAUAAAABaQAAAAZjYWxsZXIEAAAAFHVzZXJDbGFpbWVkQW1vdW50TmV3CQAAZAAAAAIFAAAAEXVzZXJDbGFpbWVkQW1vdW50BQAAAAtjbGFpbUFtb3VudAMJAABmAAAAAgUAAAAZc2hhcmVUb2tlbnNXaXRoZHJhd0Ftb3VudAUAAAAVdXNlclNoYXJlVG9rZW5zQW1vdW50CQAAAgAAAAECAAAALFdpdGhkcmF3IGFtb3VudCBtb3JlIHRoZW4gdXNlciBsb2NrZWQgYW1vdW50AwkBAAAAASEAAAABBQAAAAhpc0FjdGl2ZQkAAAIAAAABAgAAAB9EQXBwIGlzIGluYWN0aXZlIGF0IHRoaXMgbW9tZW50AwkAAGYAAAACBQAAABlzaGFyZVRva2Vuc1dpdGhkcmF3QW1vdW50BQAAABV1c2VyU2hhcmVUb2tlbnNBbW91bnQJAAACAAAAAQIAAAAsV2l0aGRyYXcgYW1vdW50IG1vcmUgdGhlbiB1c2VyIGxvY2tlZCBhbW91bnQDCQAAZgAAAAIJAABrAAAAAwAAAAAAAAAAYwkAAGUAAAACCQEAAAAOYWNjb3VudEJhbGFuY2UAAAABBQAAAA1zaGFyZVRva2Vuc0lkBQAAABlzaGFyZVRva2Vuc1dpdGhkcmF3QW1vdW50AAAAAAAAAABkBQAAABN0b3RhbFNoYXJlQW1vdW50TmV3CQAAAgAAAAECAAAAMkJhbGFuY2Ugb2Ygc2hhcmUtdG9rZW4gaXMgZ3JlYXRlciB0aGFuIHRvdGFsQW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAARwb29sAgAAAAFfCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAATa2V5VXNlckxhc3RJbnRlcmVzdAUAAAAPdXNlck5ld0ludGVyZXN0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAARwb29sAgAAAAFfCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAYa2V5VXNlclNoYXJlVG9rZW5zTG9ja2VkBQAAABJ1c2VyU2hhcmVBbW91bnROZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAEcG9vbAUAAAAPa2V5TGFzdEludGVyZXN0BQAAAA9jdXJyZW50SW50ZXJlc3QJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAEcG9vbAUAAAAVa2V5TGFzdEludGVyZXN0SGVpZ2h0BQAAAAZoZWlnaHQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAEcG9vbAUAAAAUa2V5U2hhcmVUb2tlbnNMb2NrZWQFAAAAE3RvdGFsU2hhcmVBbW91bnROZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAABHBvb2wCAAAAAV8JAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABBrZXlBdmFpbGFibGVTV09QBQAAABFhdmFpbGFibGVGdW5kc05ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAEcG9vbAIAAAABXwkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAGGtleVVzZXJTV09QQ2xhaW1lZEFtb3VudAUAAAAUdXNlckNsYWltZWRBbW91bnROZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAABHBvb2wCAAAAAV8JAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABxrZXlVc2VyU1dPUExhc3RDbGFpbWVkQW1vdW50BQAAAAtjbGFpbUFtb3VudAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAAGXNoYXJlVG9rZW5zV2l0aGRyYXdBbW91bnQFAAAADXNoYXJlVG9rZW5zSWQFAAAAA25pbAAAAAFpAQAAAAVjbGFpbQAAAAEAAAAEcG9vbAQAAAANc2hhcmVUb2tlbnNJZAkAAlkAAAABCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACCQEAAAAFdmFsdWUAAAABCQAEJgAAAAEFAAAABHBvb2wCAAAADnNoYXJlX2Fzc2V0X2lkBAAAABBzaGFyZVRva2VuTG9ja2VkCQEAAAAYZ2V0VG90YWxTaGFyZVRva2VuTG9ja2VkAAAAAQUAAAAEcG9vbAQAAAANJHQwMjQ4NTQyNDkxOQkBAAAAE2dldExhc3RJbnRlcmVzdEluZm8AAAABBQAAAARwb29sBAAAABJsYXN0SW50ZXJlc3RIZWlnaHQIBQAAAA0kdDAyNDg1NDI0OTE5AAAAAl8xBAAAAAxsYXN0SW50ZXJlc3QIBQAAAA0kdDAyNDg1NDI0OTE5AAAAAl8yBAAAAA0kdDAyNDkyNDI1MDM2CQEAAAAKcmV3YXJkSW5mbwAAAAEFAAAABHBvb2wEAAAAFWN1cnJlbnRSZXdhcmRQZXJCbG9jawgFAAAADSR0MDI0OTI0MjUwMzYAAAACXzEEAAAAEnJld2FyZFVwZGF0ZUhlaWdodAgFAAAADSR0MDI0OTI0MjUwMzYAAAACXzIEAAAAFnByZXZpb3VzUmV3YXJkUGVyQmxvY2sIBQAAAA0kdDAyNDkyNDI1MDM2AAAAAl8zBAAAABZwb29sUmV3YXJkVXBkYXRlSGVpZ2h0CAUAAAANJHQwMjQ5MjQyNTAzNgAAAAJfNAQAAAANJHQwMjUwNDEyNTE0MQkBAAAACWNsYWltQ2FsYwAAAAMFAAAABHBvb2wIBQAAAAFpAAAABmNhbGxlcgAAAAAAAAAAAQQAAAAPdXNlck5ld0ludGVyZXN0CAUAAAANJHQwMjUwNDEyNTE0MQAAAAJfMQQAAAAPY3VycmVudEludGVyZXN0CAUAAAANJHQwMjUwNDEyNTE0MQAAAAJfMgQAAAALY2xhaW1BbW91bnQIBQAAAA0kdDAyNTA0MTI1MTQxAAAAAl8zBAAAABV1c2VyU2hhcmVUb2tlbnNBbW91bnQIBQAAAA0kdDAyNTA0MTI1MTQxAAAAAl80BAAAAA1hdmFpbGFibGVGdW5kCQAAZAAAAAIJAQAAABF1c2VyQXZhaWxhYmxlU1dPUAAAAAIFAAAABHBvb2wIBQAAAAFpAAAA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", "height": 1696107, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 7oevs9tJzSVF8f3yh7xbMQVwWcWtHhDeRmXg54hghRC5 Next: C2GvkZtKw4oijeRBvDoRAZHxPho3PTG3mswyTnwVDTC1 Full:
OldNewDifferences
1-{-# STDLIB_VERSION 5 #-}
1+{-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let a = "_total_share_tokens_locked"
4+let a = base58'GFmKZ2naZFRoCvNbwKAQVGmLb1uBeWGDgFabdGBuZiuy'
55
6-let b = "share_limit_on_first_harvest"
6+let b = base58'GmJXRyhRA79g8yUGgKBAVdnFfQFDMjQG98b1MmLDh5kk'
77
8-let c = "active"
8+let c = base58'CFhbV6h41hVjbGHudGtS3fYUv7QAKRxFQzKNtx4B5PqP'
99
10-let d = "shutdown_cause"
10+let d = "_total_share_tokens_locked"
1111
12-let e = "_current_pool_fraction_reward"
12+let e = "share_limit_on_first_harvest"
1313
14-let f = "_previous_pool_fraction_reward"
14+let f = "active"
1515
16-let g = "_pool_reward_update_height"
16+let g = "shutdown_cause"
1717
18-let h = "total_reward_per_block_current"
18+let h = "_current_pool_fraction_reward"
1919
20-let i = "total_reward_per_block_previous"
20+let i = "_previous_pool_fraction_reward"
2121
22-let j = "reward_update_height"
22+let j = "_pool_reward_update_height"
2323
24-let k = "_last_interest"
24+let k = "total_reward_per_block_current"
2525
26-let l = "_last_interest_height"
26+let l = "total_reward_per_block_previous"
2727
28-let m = "_share_tokens_locked"
28+let m = "reward_update_height"
2929
3030 let n = "_last_interest"
3131
32-let o = "SWOP_id"
32+let o = "_last_interest_height"
3333
34-let p = "_SWOP_claimed_amount"
34+let p = "_share_tokens_locked"
3535
36-let q = "_SWOP_last_claimed_amount"
36+let q = "_last_interest"
3737
38-let r = "_available_SWOP"
38+let r = "SWOP_id"
3939
40-let s = "farming_start_height"
40+let s = "_SWOP_claimed_amount"
4141
42-let t = "apy"
42+let t = "_SWOP_last_claimed_amount"
4343
44-let u = "previous_total_vote_SWOP"
44+let u = "_available_SWOP"
4545
46-let v = "swop_year_emission"
46+let v = "farming_start_height"
4747
48-let w = "A_asset_balance"
48+let w = "apy"
4949
50-let x = "B_asset_balance"
50+let x = "previous_total_vote_SWOP"
5151
52-let y = "_harvest_pool_activeVote_struc"
52+let y = "swop_year_emission"
5353
54-let z = "_harvest_user_pool_activeVote_struc"
54+let z = "A_asset_balance"
5555
56-let A = "share_limit_on_first_harvest"
56+let A = "B_asset_balance"
5757
58-let B = "A_asset_id"
58+let B = "_harvest_pool_activeVote_struc"
5959
60-let C = "B_asset_id"
60+let C = "_harvest_user_pool_activeVote_struc"
6161
62-let D = "first_harvest_height"
62+let D = "share_limit_on_first_harvest"
6363
64-let E = "first_harvest"
64+let E = "A_asset_id"
6565
66-let F = "sum_reward_previous"
66+let F = "B_asset_id"
6767
68-let G = "sum_reward_current"
68+let G = "first_harvest_height"
6969
70-let H = Address(base58'3N5W8da2iiijVieA6qLGo7KzCJj8B19smWU')
70+let H = "first_harvest"
7171
72-let I = Address(base58'3NAGTtZz6WpupSN89NZD5rMZwwziZEg4Kx4')
72+let I = "sum_reward_previous"
7373
74-let J = Address(base58'3MrJgdL1GniipErHy44YF9idzLaUL2iX5DQ')
74+let J = "sum_reward_current"
7575
76-let K = Address(base58'3NAGTtZz6WpupSN89NZD5rMZwwziZEg4Kx4')
76+let K = Address(base58'3N5W8da2iiijVieA6qLGo7KzCJj8B19smWU')
7777
78-let L = 10106
78+let L = Address(base58'3NAGTtZz6WpupSN89NZD5rMZwwziZEg4Kx4')
7979
80-let M = 10000000000
80+let M = Address(base58'3MrJgdL1GniipErHy44YF9idzLaUL2iX5DQ')
8181
82-let N = 10
82+let N = Address(base58'3NAGTtZz6WpupSN89NZD5rMZwwziZEg4Kx4')
8383
84-let O = 1000
84+let O = 10106
8585
86-let P = 100000
86+let P = 10000000000
8787
88-let Q = 1000000
88+let Q = 10
8989
90-let R = 100000000
90+let R = 1000
9191
92-let S = 100000000000
92+let S = 100000
9393
94-let T = "admin_pub_1"
94+let T = 1000000
9595
96-let U = "admin_pub_2"
96+let U = 100000000
9797
98-let V = "admin_pub_3"
98+let V = 100000000000
9999
100-let W = Address(base58'3NBBWfzZtZtszaXbitTKnrB2xXwv26Bn7H9')
101-
102-func X (Y) = {
103- let Z = getString(W, Y)
104- if ($isInstanceOf(Z, "String"))
105- then {
106- let aa = Z
107- fromBase58String(aa)
108- }
109- else {
110- let ab = Z
111- throw("Admin public key is empty")
112- }
113- }
100+func W (X) = getStringValue(X, E)
114101
115102
116-let ac = X(T)
117-
118-let ad = X(U)
119-
120-let ae = X(V)
121-
122-func af (ag) = getStringValue(ag, B)
103+func Y (X) = getStringValue(X, F)
123104
124105
125-func ah (ag) = getStringValue(ag, C)
106+func Z (X) = if ((W(X) == "WAVES"))
107+ then unit
108+ else fromBase58String(W(X))
126109
127110
128-func ai (ag) = if ((af(ag) == "WAVES"))
111+func aa (X) = if ((Y(X) == "WAVES"))
129112 then unit
130- else fromBase58String(af(ag))
113+ else fromBase58String(Y(X))
131114
132115
133-func aj (ag) = if ((ah(ag) == "WAVES"))
134- then unit
135- else fromBase58String(ah(ag))
116+let ab = "base_period"
117+
118+let ac = "period_length"
119+
120+let ad = "start_height"
121+
122+let ae = "first_harvest_height"
123+
124+let af = "duration_full_vote_power"
125+
126+let ag = "min_vote_power"
127+
128+let ah = valueOrErrorMessage(getInteger(M, ab), "Empty kBasePeriod")
129+
130+let ai = valueOrErrorMessage(getInteger(M, ad), "Empty kStartHeight")
131+
132+let aj = valueOrErrorMessage(getInteger(M, ac), "Empty kPeriodLength")
133+
134+let ak = valueOrErrorMessage(getInteger(M, af), "Empty kDurationFullVotePower")
135+
136+let al = valueOrErrorMessage(getInteger(M, ag), "Empty kMinVotePower")
137+
138+let am = getBooleanValue(this, f)
139+
140+let an = (ah + ((height - ai) / aj))
141+
142+func ao (X) = valueOrElse(getIntegerValue(X, D), 0)
136143
137144
138-let ak = "base_period"
145+let ap = getIntegerValue(this, w)
139146
140-let al = "period_length"
147+let aq = getIntegerValue(this, y)
141148
142-let am = "start_height"
143-
144-let an = "first_harvest_height"
145-
146-let ao = "duration_full_vote_power"
147-
148-let ap = "min_vote_power"
149-
150-let aq = valueOrErrorMessage(getInteger(J, ak), "Empty kBasePeriod")
151-
152-let ar = valueOrErrorMessage(getInteger(J, am), "Empty kStartHeight")
153-
154-let as = valueOrErrorMessage(getInteger(J, al), "Empty kPeriodLength")
155-
156-let at = valueOrErrorMessage(getInteger(J, ao), "Empty kDurationFullVotePower")
157-
158-let au = valueOrErrorMessage(getInteger(J, ap), "Empty kMinVotePower")
159-
160-let av = getBooleanValue(this, c)
161-
162-let aw = (aq + ((height - ar) / as))
163-
164-func ax (ag) = valueOrElse(getIntegerValue(ag, A), 0)
165-
166-
167-let ay = getIntegerValue(this, t)
168-
169-let az = getIntegerValue(this, v)
170-
171-func aA (ag) = {
172- let Z = ai(ag)
173- if ($isInstanceOf(Z, "ByteVector"))
149+func ar (X) = {
150+ let as = Z(X)
151+ if ($isInstanceOf(as, "ByteVector"))
174152 then {
175- let aB = Z
176- value(assetInfo(aB)).name
153+ let at = as
154+ value(assetInfo(at)).name
177155 }
178- else if ($isInstanceOf(Z, "Unit"))
156+ else if ($isInstanceOf(as, "Unit"))
179157 then {
180- let aC = Z
158+ let au = as
181159 "WAVES"
182160 }
183161 else throw("Match error")
184162 }
185163
186164
187-func aD (ag) = {
188- let Z = aj(ag)
189- if ($isInstanceOf(Z, "ByteVector"))
165+func av (X) = {
166+ let as = aa(X)
167+ if ($isInstanceOf(as, "ByteVector"))
190168 then {
191- let aB = Z
192- value(assetInfo(aB)).name
169+ let at = as
170+ value(assetInfo(at)).name
193171 }
194- else if ($isInstanceOf(Z, "Unit"))
172+ else if ($isInstanceOf(as, "Unit"))
195173 then {
196- let aC = Z
174+ let au = as
197175 "WAVES"
198176 }
199177 else throw("Match error")
200178 }
201179
202180
203-let aE = fromBase58String(getStringValue(this, o))
181+let aw = fromBase58String(getStringValue(this, r))
204182
205-func aF (ag) = valueOrElse(getBoolean(ag, E), false)
183+func ax (X) = valueOrElse(getBoolean(X, H), false)
206184
207185
208-func aG (ag) = valueOrElse(getInteger(ag, D), 0)
186+func ay (X) = valueOrElse(getInteger(X, G), 0)
209187
210188
211-func aH (ag) = valueOrErrorMessage(getInteger(ag, w), ("No data on the key: " + w))
189+func az (X) = valueOrErrorMessage(getInteger(X, z), ("No data on the key: " + z))
212190
213191
214-func aI (ag) = valueOrErrorMessage(getInteger(ag, x), ("No data on the key: " + x))
192+func aA (X) = valueOrErrorMessage(getInteger(X, A), ("No data on the key: " + A))
215193
216194
217-func aJ (ag) = valueOrErrorMessage(getInteger(ag, b), ("No data on the key: " + b))
195+func aB (X) = valueOrErrorMessage(getInteger(X, e), ("No data on the key: " + e))
218196
219197
220-func aK (ag) = valueOrErrorMessage(getInteger(this, (ag + a)), (("No data on the key: " + ag) + a))
198+func aC (X) = valueOrErrorMessage(getInteger(this, (X + d)), (("No data on the key: " + X) + d))
221199
222200
223-func aL (ag) = fromBase58String(getStringValue(value(addressFromString(ag)), "share_asset_id"))
201+func aD (X) = fromBase58String(getStringValue(value(addressFromString(X)), "share_asset_id"))
224202
225203
226-func aM (aN) = {
227- let Z = aN
228- if ($isInstanceOf(Z, "ByteVector"))
204+func aE (aF) = {
205+ let as = aF
206+ if ($isInstanceOf(as, "ByteVector"))
229207 then {
230- let aB = Z
231- assetBalance(this, aB)
208+ let at = as
209+ assetBalance(this, at)
232210 }
233- else if ($isInstanceOf(Z, "Unit"))
211+ else if ($isInstanceOf(as, "Unit"))
234212 then {
235- let aC = Z
213+ let au = as
236214 wavesBalance(this).available
237215 }
238216 else throw("Match error")
239217 }
240218
241219
242-func aO (aN) = {
243- let Z = aN
244- if ($isInstanceOf(Z, "ByteVector"))
220+func aG (aF) = {
221+ let as = aF
222+ if ($isInstanceOf(as, "ByteVector"))
245223 then {
246- let aB = Z
247- let aP = toBase58String(aB)
248- let aQ = valueOrErrorMessage(assetInfo(aB), (("Asset " + aP) + " doesn't exist"))
249- $Tuple3(aP, aQ.name, aQ.decimals)
224+ let at = as
225+ let aH = toBase58String(at)
226+ let aI = valueOrErrorMessage(assetInfo(at), (("Asset " + aH) + " doesn't exist"))
227+ $Tuple3(aH, aI.name, aI.decimals)
250228 }
251- else if ($isInstanceOf(Z, "Unit"))
229+ else if ($isInstanceOf(as, "Unit"))
252230 then {
253- let aC = Z
231+ let au = as
254232 $Tuple3("WAVES", "WAVES", 8)
255233 }
256234 else throw("Match error")
257235 }
258236
259237
260-func aR (aS,aT) = {
261- let aU = value(assetInfo(aS)).decimals
262- let aV = value(assetInfo(aT)).decimals
263- let aW = ((aV - aU) + 8)
264- pow(10, 0, aW, 0, 0, FLOOR)
238+func aJ (aK,aL) = {
239+ let aM = value(assetInfo(aK)).decimals
240+ let aN = value(assetInfo(aL)).decimals
241+ let aO = ((aN - aM) + 8)
242+ pow(10, 0, aO, 0, 0, HALFDOWN)
265243 }
266244
267245
268-func aX (ag,aY) = valueOrElse(getInteger(this, (((ag + "_") + aY) + r)), 0)
246+func aP (X,aQ) = valueOrElse(getInteger(this, (((X + "_") + toString(aQ)) + u)), 0)
269247
270248
271-func aZ (ag) = {
272- let ba = valueOrErrorMessage(getInteger(H, h), ((("No data on the key: " + h) + " at address ") + toString(H)))
273- let bb = valueOrErrorMessage(getInteger(H, i), ((("No data on the key: " + i) + " at address ") + toString(H)))
274- let bc = valueOrErrorMessage(getInteger(H, (ag + e)), (((("No data on the key: " + ag) + e) + " at address ") + toString(H)))
275- let bd = valueOrErrorMessage(getInteger(H, j), ((("No data on the key: " + j) + " at address ") + toString(H)))
276- let be = valueOrElse(getInteger(H, (ag + g)), 0)
277- let bf = valueOrErrorMessage(getInteger(H, (ag + f)), (((("No data on the key: " + ag) + f) + " at address ") + toString(H)))
278- let bg = fraction(ba, bc, M)
279- let bh = fraction(bb, bf, M)
280- if (if ((bg > ba))
249+func aR (X) = {
250+ let aS = valueOrErrorMessage(getInteger(K, k), ((("No data on the key: " + k) + " at address ") + toString(K)))
251+ let aT = valueOrErrorMessage(getInteger(K, l), ((("No data on the key: " + l) + " at address ") + toString(K)))
252+ let aU = valueOrErrorMessage(getInteger(K, (X + h)), (((("No data on the key: " + X) + h) + " at address ") + toString(K)))
253+ let aV = valueOrErrorMessage(getInteger(K, m), ((("No data on the key: " + m) + " at address ") + toString(K)))
254+ let aW = valueOrElse(getInteger(K, (X + j)), 0)
255+ let aX = valueOrErrorMessage(getInteger(K, (X + i)), (((("No data on the key: " + X) + i) + " at address ") + toString(K)))
256+ let aY = fraction(aS, aU, P)
257+ let aZ = fraction(aT, aX, P)
258+ if (if ((aY > aS))
281259 then true
282- else (bh > bb))
260+ else (aZ > aT))
283261 then throw("rewardPoolCurrent > totalRewardPerBlockCurrent or rewardPoolPrevious > totalRewardPerBlockPrevious")
284- else $Tuple4(bg, bd, bh, be)
262+ else $Tuple4(aY, aV, aZ, aW)
285263 }
286264
287265
288-func bi (ag) = {
289- let bj = valueOrErrorMessage(getInteger(this, (ag + k)), (("No data on the key: " + ag) + k))
290- let bk = valueOrElse(getInteger(this, (ag + l)), height)
291- $Tuple2(bk, bj)
266+func ba (X) = {
267+ let bb = valueOrErrorMessage(getInteger(this, (X + n)), (("No data on the key: " + X) + n))
268+ let bc = valueOrElse(getInteger(this, (X + o)), height)
269+ $Tuple2(bc, bb)
292270 }
293271
294272
295-func bl (ag,bm) = {
296- let bn = getInteger(this, (((ag + "_") + bm) + n))
297- let bo = getInteger(this, (((ag + "_") + bm) + m))
298- let bj = valueOrErrorMessage(getInteger(this, (ag + k)), (("No data on the key: " + ag) + k))
299- let bp = {
300- let Z = bn
301- if ($isInstanceOf(Z, "Int"))
273+func bd (X,be) = {
274+ let bf = getInteger(this, (((X + "_") + toString(be)) + q))
275+ let bg = getInteger(this, (((X + "_") + toString(be)) + p))
276+ let bb = valueOrErrorMessage(getInteger(this, (X + n)), (("No data on the key: " + X) + n))
277+ let bh = {
278+ let as = bf
279+ if ($isInstanceOf(as, "Int"))
302280 then {
303- let bn = Z
304- bn
281+ let bf = as
282+ bf
305283 }
306- else bj
284+ else bb
307285 }
308- let bq = {
309- let Z = bo
310- if ($isInstanceOf(Z, "Int"))
286+ let bi = {
287+ let as = bg
288+ if ($isInstanceOf(as, "Int"))
311289 then {
312- let bo = Z
313- bo
290+ let bg = as
291+ bg
314292 }
315293 else 0
316294 }
317- $Tuple2(bp, bq)
295+ $Tuple2(bh, bi)
318296 }
319297
320298
321-func br (bk,bd,be,bj,bs,bt,bu,bv,bw) = if ((bt == 0))
299+func bj (bc,aV,aW,bb,bk,bl,bm,bn,bo,bp) = if ((bl == 0))
322300 then 0
323- else if ((be != 0))
324- then if (if ((bd > bw))
325- then (bd == be)
301+ else if ((aW != 0))
302+ then if (if ((aV > height))
303+ then (aV == aW)
326304 else false)
327305 then {
328- let bx = (bu * (bw - bk))
329- (bj + fraction(bx, bv, bt))
306+ let bq = (bm * (height - bc))
307+ (bb + fraction(bq, bo, bl))
330308 }
331- else if (if ((bw > bd))
332- then (bd != be)
309+ else if (if ((height > aV))
310+ then (aV != aW)
333311 else false)
334312 then {
335- let bx = (bu * (bw - bk))
336- (bj + fraction(bx, bv, bt))
313+ let bq = (bm * (height - bc))
314+ (bb + fraction(bq, bo, bl))
337315 }
338- else if (if (if ((bw > bd))
339- then (bd == be)
316+ else if (if (if ((height > aV))
317+ then (aV == aW)
340318 else false)
341- then (bk > bd)
319+ then (bc > aV)
342320 else false)
343321 then {
344- let bx = (bs * (bw - bk))
345- (bj + fraction(bx, bv, bt))
322+ let bq = (bk * (height - bc))
323+ (bb + fraction(bq, bo, bl))
346324 }
347325 else {
348- let by = (bu * (bd - bk))
349- let bz = (bj + fraction(by, bv, bt))
350- let bx = (bs * (bw - bd))
351- (bz + fraction(bx, bv, bt))
326+ let br = (bm * (aV - bc))
327+ let bs = (bb + fraction(br, bo, bl))
328+ let bq = (bk * (height - aV))
329+ (bs + fraction(bq, bo, bl))
352330 }
353- else if ((bd > bw))
331+ else if ((aV > height))
354332 then {
355- let bx = (bu * (bw - bk))
356- (bj + fraction(bx, bv, bt))
333+ let bq = (bm * (height - bc))
334+ (bb + fraction(bq, bo, bl))
357335 }
358- else if ((bk > bd))
336+ else if ((bc > aV))
359337 then {
360- let bx = (bs * (bw - bk))
361- (bj + fraction(bx, bv, bt))
338+ let bq = (bk * (height - bc))
339+ (bb + fraction(bq, bo, bl))
362340 }
363341 else {
364- let by = (bu * (bd - bk))
365- let bz = (bj + fraction(by, bv, bt))
366- let bx = (bs * (bw - bd))
367- (bz + fraction(bx, bv, bt))
342+ let br = (bm * (aV - bc))
343+ let bs = (bb + fraction(br, bo, bl))
344+ let bq = (bk * (height - aV))
345+ (bs + fraction(bq, bo, bl))
368346 }
369347
370348
371-func bA (ag,bm,bw) = {
372- let bB = aL(ag)
373- let bv = aR(aE, bB)
374- let bt = aK(ag)
375- let bC = bi(ag)
376- let bk = bC._1
377- let bj = bC._2
378- let bD = aZ(ag)
379- let bs = bD._1
380- let bd = bD._2
381- let bu = bD._3
382- let be = bD._4
383- let bE = bl(ag, bm)
384- let bn = bE._1
385- let bq = bE._2
386- let bF = br(bk, bd, be, bj, bs, bt, bu, bv, bw)
387- let bG = fraction(bq, (bF - bn), bv)
388- let bH = bF
389- $Tuple4(bH, bF, bG, bq)
349+func bt (X,bu,bp) = {
350+ let bn = aD(X)
351+ let bo = aJ(aw, bn)
352+ let bl = aC(X)
353+ let bv = ba(X)
354+ let bc = bv._1
355+ let bb = bv._2
356+ let bw = aR(X)
357+ let bk = bw._1
358+ let aV = bw._2
359+ let bm = bw._3
360+ let aW = bw._4
361+ let bx = bd(X, bu)
362+ let bf = bx._1
363+ let bi = bx._2
364+ let by = bj(bc, aV, aW, bb, bk, bl, bm, bn, bo, bp)
365+ let bz = fraction(bi, (by - bf), bo)
366+ let bA = by
367+ $Tuple4(bA, by, bz, bi)
390368 }
391369
392370
393-func bI (ag,bm,bw) = {
394- let bB = aL(ag)
395- let bv = aR(aE, bB)
396- let bt = aK(ag)
397- let bJ = bi(ag)
398- let bk = bJ._1
399- let bj = bJ._2
400- let bK = aZ(ag)
401- let bs = bK._1
402- let bd = bK._2
403- let bu = bK._3
404- let be = bK._4
405- let bL = bl(ag, bm)
406- let bn = bL._1
407- let bq = bL._2
408- let bF = br(bk, bd, be, bj, bs, bt, bu, bv, bw)
409- let bG = fraction(bq, (bF - bn), bv)
410- let bH = bF
411- $Tuple4(bH, bF, bG, bq)
412- }
413-
414-
415-func bM (ag) = {
416- let bN = bi(ag)
417- let bk = bN._1
418- let bj = bN._2
419- let bO = aZ(ag)
420- let bs = bO._1
421- let bd = bO._2
422- let bu = bO._3
423- let be = bO._4
424- let bt = aK(ag)
425- if (if ((bt == 0))
426- then (be == 0)
371+func bB (X) = {
372+ let bC = ba(X)
373+ let bc = bC._1
374+ let bb = bC._2
375+ let bD = aR(X)
376+ let bk = bD._1
377+ let aV = bD._2
378+ let bm = bD._3
379+ let aW = bD._4
380+ let bl = aC(X)
381+ if (if ((bl == 0))
382+ then (aW == 0)
427383 else false)
428- then if ((bd > height))
384+ then if ((aV > height))
429385 then {
430- let bx = (bu * (height - bk))
431- bx
386+ let bq = (bm * (height - bc))
387+ bq
432388 }
433- else if ((bk > bd))
389+ else if ((bc > aV))
434390 then {
435- let bx = (bs * (height - bk))
436- bx
391+ let bq = (bk * (height - bc))
392+ bq
437393 }
438394 else {
439- let by = (bu * (bd - bk))
440- let bx = (bs * (height - bd))
441- (bx + by)
395+ let br = (bm * (aV - bc))
396+ let bq = (bk * (height - aV))
397+ (bq + br)
442398 }
443- else if (if ((bt == 0))
444- then (be != 0)
399+ else if (if ((bl == 0))
400+ then (aW != 0)
445401 else false)
446- then if (if ((bd > height))
447- then (bd == be)
402+ then if (if ((aV > height))
403+ then (aV == aW)
448404 else false)
449405 then {
450- let bx = (bu * (height - bk))
451- bx
406+ let bq = (bm * (height - bc))
407+ bq
452408 }
453- else if (if ((height > bd))
454- then (bd != be)
409+ else if (if ((height > aV))
410+ then (aV != aW)
455411 else false)
456412 then {
457- let bx = (bu * (height - bk))
458- bx
413+ let bq = (bm * (height - bc))
414+ bq
459415 }
460- else if (if (if ((height > bd))
461- then (bd == be)
416+ else if (if (if ((height > aV))
417+ then (aV == aW)
462418 else false)
463- then (bk > bd)
419+ then (bc > aV)
464420 else false)
465421 then {
466- let bx = (bs * (height - bk))
467- bx
422+ let bq = (bk * (height - bc))
423+ bq
468424 }
469425 else {
470- let by = (bu * (bd - bk))
471- let bx = (bs * (height - bd))
472- (bx + by)
426+ let br = (bm * (aV - bc))
427+ let bq = (bk * (height - aV))
428+ (bq + br)
473429 }
474430 else 0
475431 }
476432
477433
478-func bP (ag,bQ) = {
479- let bR = fromBase58String(getStringValue(value(addressFromString(ag)), "share_asset_id"))
480- if ((bQ == bR))
434+func bE (X,bF) = {
435+ let bG = fromBase58String(getStringValue(value(addressFromString(X)), "share_asset_id"))
436+ if ((bF == bG))
481437 then true
482438 else false
483439 }
484440
485441
486-func bS (ag,aY) = valueOrElse(getInteger(this, (((ag + "_") + aY) + p)), 0)
442+func bH (X,aQ) = valueOrElse(getInteger(this, (((X + "_") + toString(aQ)) + s)), 0)
487443
488444
489-func bT (bU) = [BooleanEntry(c, false), StringEntry(d, bU)]
445+func bI (bJ) = [BooleanEntry(f, false), StringEntry(g, bJ)]
490446
491447
492-@Callable(bV)
493-func init (bW) = if (isDefined(getString(this, o)))
448+@Callable(bK)
449+func init (bL) = if (isDefined(getString(this, r)))
494450 then throw("SWOP already initialized")
495451 else {
496- let bX = 100000000000000
497- let bY = Issue("SWOP", "SWOP protocol token", bX, 8, true)
498- let bZ = calculateAssetId(bY)
499-[BooleanEntry(c, true), Issue("SWOP", "SWOP protocol token", bX, 8, true), StringEntry(o, toBase58String(bZ))]
452+ let bM = 100000000000000
453+ let bN = Issue("SWOP", "SWOP protocol token", bM, 8, true)
454+ let bO = calculateAssetId(bN)
455+[BooleanEntry(f, true), Issue("SWOP", "SWOP protocol token", bM, 8, true), StringEntry(r, toBase58String(bO))]
500456 }
501457
502458
503459
504-@Callable(bV)
505-func initPoolShareFarming (ag) = if ((bV.caller != this))
460+@Callable(bK)
461+func initPoolShareFarming (X) = if ((bK.caller != this))
506462 then throw("Only the DApp itself can call this function")
507463 else {
508- let ca = aZ(ag)
509- let cb = ca._1
510- let bd = ca._2
511- let bu = ca._3
512- let be = ca._4
513-[IntegerEntry((ag + a), 0), IntegerEntry((ag + k), 0), IntegerEntry((ag + l), height)]
464+ let bP = aR(X)
465+ let bQ = bP._1
466+ let aV = bP._2
467+ let bm = bP._3
468+ let aW = bP._4
469+[IntegerEntry((X + d), 0), IntegerEntry((X + n), 0), IntegerEntry((X + o), height)]
514470 }
515471
516472
517473
518-@Callable(bV)
519-func updatePoolInterest (ag) = if ((bV.caller != I))
474+@Callable(bK)
475+func updatePoolInterest (X) = if ((bK.caller != L))
520476 then throw("Only the Admin itself can call this function")
521- else if (!(av))
477+ else if (!(am))
522478 then throw("DApp is inactive at this moment")
523479 else {
524- let cc = bA(ag, toString(K), height)
525- let bH = cc._1
526- let bF = cc._2
527- let bG = cc._3
528- let bq = cc._4
529- let cd = aZ(ag)
530- let cb = cd._1
531- let bd = cd._2
532- let bu = cd._3
533- let be = cd._4
534-[IntegerEntry((ag + k), bH), IntegerEntry((ag + l), height)]
480+ let bR = bt(X, N, 0)
481+ let bA = bR._1
482+ let by = bR._2
483+ let bz = bR._3
484+ let bi = bR._4
485+ let bS = aR(X)
486+ let bQ = bS._1
487+ let aV = bS._2
488+ let bm = bS._3
489+ let aW = bS._4
490+[IntegerEntry((X + n), bA), IntegerEntry((X + o), height)]
535491 }
536492
537493
538494
539-@Callable(bV)
540-func lockShareTokens (ag) = {
541- let bm = toString(bV.caller)
542- let ce = $Tuple2(bV.payments[0].amount, bV.payments[0].assetId)
543- let cf = ce._1
544- let bQ = ce._2
545- let cg = aO(bQ)
546- let ch = cg._1
547- let ci = cg._2
548- let cj = cg._3
549- let ck = bA(ag, toString(bV.caller), height)
550- let bH = ck._1
551- let bF = ck._2
552- let bG = ck._3
553- let bq = ck._4
554- let cl = (bq + cf)
555- let cm = (aX(ag, toString(bV.caller)) + bG)
556- let cn = aK(ag)
557- let co = (cn + cf)
558- let cp = bS(ag, toString(bV.caller))
559- let cq = (cp + bG)
560- let cr = [IntegerEntry((((ag + "_") + bm) + n), bH), IntegerEntry((((ag + "_") + bm) + m), cl), IntegerEntry((ag + a), co), IntegerEntry((ag + k), bF), IntegerEntry((ag + l), height), IntegerEntry((((ag + "_") + bm) + p), cq), IntegerEntry((((ag + "_") + bm) + q), bG), IntegerEntry((((ag + "_") + bm) + r), cm)]
561- if ((0 >= cf))
495+@Callable(bK)
496+func lockShareTokens (X) = {
497+ let bT = $Tuple2(bK.payments[0].amount, bK.payments[0].assetId)
498+ let bp = bT._1
499+ let bF = bT._2
500+ let bU = aG(bF)
501+ let bV = bU._1
502+ let bW = bU._2
503+ let bX = bU._3
504+ let bY = bt(X, bK.caller, bp)
505+ let bA = bY._1
506+ let by = bY._2
507+ let bz = bY._3
508+ let bi = bY._4
509+ let bZ = (bi + bp)
510+ let ca = (aP(X, bK.caller) + bz)
511+ let cb = aC(X)
512+ let cc = (cb + bp)
513+ let cd = bH(X, bK.caller)
514+ let ce = (cd + bz)
515+ let cf = [IntegerEntry((((X + "_") + toString(bK.caller)) + q), bA), IntegerEntry((((X + "_") + toString(bK.caller)) + p), bZ), IntegerEntry((X + d), cc), IntegerEntry((X + n), by), IntegerEntry((X + o), height), IntegerEntry((((X + "_") + toString(bK.caller)) + s), ce), IntegerEntry((((X + "_") + toString(bK.caller)) + t), bz), IntegerEntry((((X + "_") + toString(bK.caller)) + u), ca)]
516+ if ((0 >= bp))
562517 then throw("You can't lock token")
563- else if (!(av))
518+ else if (!(am))
564519 then throw("DApp is inactive at this moment")
565- else if (!(bP(ag, bQ)))
520+ else if (!(bE(X, bF)))
566521 then throw("Incorrect pmtAssetId")
567- else if (if (aF(Address(fromBase58String(ag))))
568- then (aG(Address(fromBase58String(ag))) > height)
522+ else if (if (ax(Address(fromBase58String(X))))
523+ then (ay(Address(fromBase58String(X))) > height)
569524 else false)
570525 then {
571- let cs = ((((aG(Address(fromBase58String(ag))) - ar) + 1) / as) - 1)
572- let ct = split(getStringValue(J, (((bm + "_") + ag) + "_user_pool_struc")), "_")
573- let cu = split(getStringValue(J, (ag + "_pool_struc")), "_")
574- let cv = split(valueOrElse(getString(J, (((bm + "_") + ag) + z)), ""), "_")
575- let cw = split(valueOrElse(getString(J, (ag + y)), ""), "_")
576- let cx = bq
577- let cy = if ((toString(aw) == ct[2]))
578- then valueOrElse(parseInt(cv[0]), 0)
579- else valueOrElse(parseInt(ct[1]), 0)
580- let cz = if ((toString(aw) == cu[2]))
581- then valueOrElse(parseInt(cw[0]), 0)
582- else valueOrElse(parseInt(cu[1]), 0)
583- let cA = bM(ag)
584- if ((cy != 0))
526+ let cg = ((((ay(Address(fromBase58String(X))) - ai) + 1) / aj) - 1)
527+ let ch = split(getStringValue(M, (((toString(bK.caller) + "_") + X) + "_user_pool_struc")), "_")
528+ let ci = split(getStringValue(M, (X + "_pool_struc")), "_")
529+ let cj = split(valueOrElse(getString(M, (((toString(bK.caller) + "_") + X) + C)), ""), "_")
530+ let ck = split(valueOrElse(getString(M, (X + B)), ""), "_")
531+ let cl = bi
532+ let cm = if ((toString(an) == ch[2]))
533+ then valueOrElse(parseInt(cj[0]), 0)
534+ else valueOrElse(parseInt(ch[1]), 0)
535+ let cn = if ((toString(an) == ci[2]))
536+ then valueOrElse(parseInt(ck[0]), 0)
537+ else valueOrElse(parseInt(ci[1]), 0)
538+ let co = bB(X)
539+ if ((cm != 0))
585540 then {
586- let cB = aJ(addressFromStringValue(ag))
587- let cC = (fraction(cB, cy, cz) - cx)
588- if (if ((size(cv) > 1))
589- then (valueOrElse(parseInt(cv[1]), 0) >= cs)
541+ let cp = aB(addressFromStringValue(X))
542+ let cq = (fraction(cp, cm, cn) - cl)
543+ if (if ((size(cj) > 1))
544+ then (valueOrElse(parseInt(cj[1]), 0) >= cg)
590545 else false)
591546 then throw("You can't share token")
592- else if ((cf > cB))
593- then throw(("You can't share token more than " + toString(cB)))
594- else if ((cC > 0))
595- then if ((fraction(99, (aM(bQ) + cf), 100) > co))
547+ else if ((bp > cp))
548+ then throw(("You can't share token more than " + toString(cp)))
549+ else if ((cq > 0))
550+ then if ((fraction(99, (aE(bF) + bp), 100) > cc))
596551 then throw("Balance of share-token is greater than totalAmount")
597- else if ((cn == 0))
598- then (cr ++ [ScriptTransfer(I, cA, aE)])
599- else if ((cC >= cf))
600- then cr
601- else throw(("Your maximum share token is " + toString(cC)))
552+ else if ((cb == 0))
553+ then (cf ++ [Reissue(aw, co, true), ScriptTransfer(L, co, aw)])
554+ else if ((cq >= bp))
555+ then cf
556+ else throw(("Your maximum share token is " + toString(cq)))
602557 else throw("You can't share token")
603558 }
604559 else throw("Your amount of token less than 0")
605560 }
606- else cr
561+ else cf
607562 }
608563
609564
610565
611-@Callable(bV)
612-func withdrawShareTokens (ag,cD) = {
613- let cE = fromBase58String(getStringValue(value(addressFromString(ag)), "share_asset_id"))
614- let cF = bA(ag, toString(bV.caller), height)
615- let bH = cF._1
616- let bF = cF._2
617- let bG = cF._3
618- let bq = cF._4
619- let cl = (bq - cD)
620- let cm = (aX(ag, toString(bV.caller)) + bG)
621- let cn = aK(ag)
622- let co = (cn - cD)
623- let cp = bS(ag, toString(bV.caller))
624- let cq = (cp + bG)
625- if ((cD > bq))
566+@Callable(bK)
567+func withdrawShareTokens (X,cr) = {
568+ let cs = fromBase58String(getStringValue(value(addressFromString(X)), "share_asset_id"))
569+ let ct = bt(X, bK.caller, 1)
570+ let bA = ct._1
571+ let by = ct._2
572+ let bz = ct._3
573+ let bi = ct._4
574+ let bZ = (bi - cr)
575+ let ca = (aP(X, bK.caller) + bz)
576+ let cb = aC(X)
577+ let cc = (cb - cr)
578+ let cd = bH(X, bK.caller)
579+ let ce = (cd + bz)
580+ if ((cr > bi))
626581 then throw("Withdraw amount more then user locked amount")
627- else if (!(av))
582+ else if (!(am))
628583 then throw("DApp is inactive at this moment")
629- else if ((cD > bq))
584+ else if ((cr > bi))
630585 then throw("Withdraw amount more then user locked amount")
631- else if ((fraction(99, (aM(cE) - cD), 100) > co))
586+ else if ((fraction(99, (aE(cs) - cr), 100) > cc))
632587 then throw("Balance of share-token is greater than totalAmount")
633- else [IntegerEntry((((ag + "_") + toString(bV.caller)) + n), bH), IntegerEntry((((ag + "_") + toString(bV.caller)) + m), cl), IntegerEntry((ag + k), bF), IntegerEntry((ag + l), height), IntegerEntry((ag + a), co), IntegerEntry((((ag + "_") + toString(bV.caller)) + r), cm), IntegerEntry((((ag + "_") + toString(bV.caller)) + p), cq), IntegerEntry((((ag + "_") + toString(bV.caller)) + q), bG), ScriptTransfer(bV.caller, cD, cE)]
588+ else [IntegerEntry((((X + "_") + toString(bK.caller)) + q), bA), IntegerEntry((((X + "_") + toString(bK.caller)) + p), bZ), IntegerEntry((X + n), by), IntegerEntry((X + o), height), IntegerEntry((X + d), cc), IntegerEntry((((X + "_") + toString(bK.caller)) + u), ca), IntegerEntry((((X + "_") + toString(bK.caller)) + s), ce), IntegerEntry((((X + "_") + toString(bK.caller)) + t), bz), ScriptTransfer(bK.caller, cr, cs)]
634589 }
635590
636591
637592
638-@Callable(bV)
639-func egg0 (ag,cG) = {
640- func cH (cI,cJ) = {
641- let cK = invoke(this, "egg1", [ag, cJ], nil)
642- if ((cK == cK))
643- then (cI :+ BooleanEntry((cJ + "_migration"), true))
644- else throw("Strict value is not equal to itself.")
645- }
646-
647- let cL = cG
648- let cM = size(cL)
649- let cN = nil
650- if ((cM == 0))
651- then cN
652- else {
653- let cO = cH(cN, cL[0])
654- if ((cM == 1))
655- then cO
656- else {
657- let cP = cH(cO, cL[1])
658- if ((cM == 2))
659- then cP
660- else {
661- let cQ = cH(cP, cL[2])
662- if ((cM == 3))
663- then cQ
664- else {
665- let cR = cH(cQ, cL[3])
666- if ((cM == 4))
667- then cR
668- else {
669- let cS = cH(cR, cL[4])
670- if ((cM == 5))
671- then cS
672- else {
673- let cT = cH(cS, cL[5])
674- if ((cM == 6))
675- then cT
676- else {
677- let cU = cH(cT, cL[6])
678- if ((cM == 7))
679- then cU
680- else {
681- let cV = cH(cU, cL[7])
682- if ((cM == 8))
683- then cV
684- else {
685- let cW = cH(cV, cL[8])
686- if ((cM == 9))
687- then cW
688- else {
689- let cX = cH(cW, cL[9])
690- if ((cM == 10))
691- then cX
692- else {
693- let cY = cH(cX, cL[10])
694- if ((cM == 11))
695- then cY
696- else {
697- let cZ = cH(cY, cL[11])
698- if ((cM == 12))
699- then cZ
700- else {
701- let da = cH(cZ, cL[12])
702- throw("List size exceed 12")
703- }
704- }
705- }
706- }
707- }
708- }
709- }
710- }
711- }
712- }
713- }
714- }
715- }
593+@Callable(bK)
594+func claim (X) = {
595+ let cs = fromBase58String(getStringValue(value(addressFromString(X)), "share_asset_id"))
596+ let bl = aC(X)
597+ let cu = ba(X)
598+ let bc = cu._1
599+ let bb = cu._2
600+ let cv = aR(X)
601+ let bk = cv._1
602+ let aV = cv._2
603+ let bm = cv._3
604+ let aW = cv._4
605+ let cw = bt(X, bK.caller, 1)
606+ let bA = cw._1
607+ let by = cw._2
608+ let bz = cw._3
609+ let bi = cw._4
610+ let cx = (aP(X, bK.caller) + bz)
611+ let cd = bH(X, bK.caller)
612+ let ce = (cd + bz)
613+ if ((cx == 0))
614+ then throw("You have 0 available SWOP")
615+ else if (!(am))
616+ then throw("DApp is inactive at this moment")
617+ else if ((cx == 0))
618+ then throw("You have 0 available SWOP")
619+ else if ((fraction(99, aE(cs), 100) > bl))
620+ then throw("Balance of share-token is greater than totalAmount")
621+ else [IntegerEntry((((X + "_") + toString(bK.caller)) + q), bA), IntegerEntry((X + n), by), IntegerEntry((X + o), height), IntegerEntry((((X + "_") + toString(bK.caller)) + u), 0), Reissue(aw, cx, true), IntegerEntry((((X + "_") + toString(bK.caller)) + s), ce), IntegerEntry((((X + "_") + toString(bK.caller)) + t), bz), ScriptTransfer(bK.caller, cx, aw)]
716622 }
717623
718624
719625
720-@Callable(bV)
721-func egg1 (ag,cJ) = {
722- let db = 1694115
723- let dc = 1000
724- let dd = bA(ag, cJ, db)
725- let bH = dd._1
726- let bF = dd._2
727- let bG = dd._3
728- let bq = dd._4
729- let cm = (aX(ag, cJ) + bG)
730- let cp = bS(ag, cJ)
731- let cq = (cp + bG)
732- let de = (bq * dc)
733-[IntegerEntry((((ag + "_") + cJ) + n), 0), IntegerEntry((((ag + "_") + cJ) + m), de), IntegerEntry((((ag + "_") + cJ) + r), cm), IntegerEntry((((ag + "_") + toString(bV.caller)) + p), cq), IntegerEntry((((ag + "_") + toString(bV.caller)) + q), bG)]
734- }
626+@Callable(bK)
627+func shutdown () = if (!(am))
628+ then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, g), "the cause wasn't specified")))
629+ else if (!(containsElement([a, b, c], bK.callerPublicKey)))
630+ then throw("Only admin can call this function")
631+ else bI("Paused by admin")
735632
736633
737634
738-@Callable(bV)
739-func claim (ag) = {
740- let cE = fromBase58String(getStringValue(value(addressFromString(ag)), "share_asset_id"))
741- let bt = aK(ag)
742- let df = bi(ag)
743- let bk = df._1
744- let bj = df._2
745- let dg = aZ(ag)
746- let bs = dg._1
747- let bd = dg._2
748- let bu = dg._3
749- let be = dg._4
750- let dh = bA(ag, toString(bV.caller), height)
751- let bH = dh._1
752- let bF = dh._2
753- let bG = dh._3
754- let bq = dh._4
755- let di = (aX(ag, toString(bV.caller)) + bG)
756- let cp = bS(ag, toString(bV.caller))
757- let cq = (cp + bG)
758- if ((di == 0))
759- then throw("You have 0 available SWOP")
760- else if (!(av))
761- then throw("DApp is inactive at this moment")
762- else if ((di == 0))
763- then throw("You have 0 available SWOP")
764- else if ((fraction(99, aM(cE), 100) > bt))
765- then throw("Balance of share-token is greater than totalAmount")
766- else if ((di > 10000000000))
767- then throw(("you are trying to get more SWOP than you can:" + toString(bt)))
768- else [IntegerEntry((((ag + "_") + toString(bV.caller)) + n), bH), IntegerEntry((ag + k), bF), IntegerEntry((ag + l), height), IntegerEntry((((ag + "_") + toString(bV.caller)) + r), 0), IntegerEntry((((ag + "_") + toString(bV.caller)) + p), cq), IntegerEntry((((ag + "_") + toString(bV.caller)) + q), bG), ScriptTransfer(bV.caller, di, aE)]
769- }
635+@Callable(bK)
636+func activate () = if (am)
637+ then throw("DApp is already active")
638+ else if (!(containsElement([a, b, c], bK.callerPublicKey)))
639+ then throw("Only admin can call this function")
640+ else [BooleanEntry(f, true), DeleteEntry(g)]
770641
771642
772-
773-@Callable(bV)
774-func shutdown () = if (!(av))
775- then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, d), "the cause wasn't specified")))
776- else if (!(containsElement([ac, ad, ae], bV.callerPublicKey)))
777- then throw("Only admin can call this function")
778- else bT("Paused by admin")
779-
780-
781-
782-@Callable(bV)
783-func activate () = if (av)
784- then throw("DApp is already active")
785- else if (!(containsElement([ac, ad, ae], bV.callerPublicKey)))
786- then throw("Only admin can call this function")
787- else [BooleanEntry(c, true), DeleteEntry(d)]
788-
789-
790-@Verifier(dj)
791-func dk () = {
792- let Z = dj
793- let dl = if (sigVerify(dj.bodyBytes, dj.proofs[0], ac))
643+@Verifier(cy)
644+func cz () = {
645+ let as = cy
646+ let cA = if (sigVerify(cy.bodyBytes, cy.proofs[0], a))
794647 then 1
795648 else 0
796- let dm = if (sigVerify(dj.bodyBytes, dj.proofs[1], ad))
649+ let cB = if (sigVerify(cy.bodyBytes, cy.proofs[1], b))
797650 then 1
798651 else 0
799- let dn = if (sigVerify(dj.bodyBytes, dj.proofs[2], ae))
652+ let cC = if (sigVerify(cy.bodyBytes, cy.proofs[2], c))
800653 then 1
801654 else 0
802- (((dl + dm) + dn) >= 2)
655+ (((cA + cB) + cC) >= 2)
803656 }
804657

github/deemru/w8io/873ac7e 
255.79 ms