tx · B5qicd3hAzDL88bq2rJkjWx3HXhofN7UTk51WNqUDk6P 3Mzbx34Ex5rRbn39vUHx9kiwh3nneF8S5we: -0.02000000 Waves 2022.02.24 20:16 [1938021] smart account 3Mzbx34Ex5rRbn39vUHx9kiwh3nneF8S5we > SELF 0.00000000 Waves
{ "type": 13, "id": "B5qicd3hAzDL88bq2rJkjWx3HXhofN7UTk51WNqUDk6P", "fee": 2000000, "feeAssetId": null, "timestamp": 1645723124532, "version": 1, "sender": "3Mzbx34Ex5rRbn39vUHx9kiwh3nneF8S5we", "senderPublicKey": "BxuvXsg8sFXf7MNECYrdsEgrMMMkWVKKhbcFdoormLWF", "proofs": [ "4z1XzqbfoUpdeUL8TVVit4HciTjwoqi2SwBZBCYrvrcTyQgE1pCx7Ec9F1MhsebitAew3RQhfL7Q3h5eXapfvC1r", "AyKqNQRDUn5qtRFY4vJLRUdpmzVZLFSKYthGreJ7KjEFfX45mx6Kwq9eDqPKFSBtWkQZUvt1rFEGpHxSnJcUX5c", "X1SEsNM2mACNsgXhZzHbGW8PKfk6c8FPyP7YgZk1BbyUgb8EiReKkuZ448dxw8nVkRogiTfvBL9rLmqBJ1mDsab" ], "script": "base64:AAIFAAAAAAAAABkIAhIGCgQIAQgIEgASABIFCgMIAQgSABIAAAAAcgEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABAAAAA2tleQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAAANrZXkAAAAAAAAAAAABAAAADmdldFN0cmluZ0J5S2V5AAAAAQAAAANrZXkJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQdAAAAAgUAAAAEdGhpcwUAAAADa2V5AgAAAAABAAAADGdldEJvb2xCeUtleQAAAAEAAAADa2V5CQEAAAALdmFsdWVPckVsc2UAAAACCQAEGwAAAAIFAAAABHRoaXMFAAAAA2tleQcBAAAAGGdldE51bWJlckJ5QWRkcmVzc0FuZEtleQAAAAIAAAAHYWRkcmVzcwAAAANrZXkJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQUAAAAHYWRkcmVzcwUAAAADa2V5AAAAAAAAAAAAAQAAABhnZXRTdHJpbmdCeUFkZHJlc3NBbmRLZXkAAAACAAAAB2FkZHJlc3MAAAADa2V5CQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEFAAAAB2FkZHJlc3MFAAAAA2tleQIAAAAAAQAAABZnZXRCb29sQnlBZGRyZXNzQW5kS2V5AAAAAgAAAAdhZGRyZXNzAAAAA2tleQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBsAAAACCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABBQAAAAdhZGRyZXNzBQAAAANrZXkHAQAAAAlhc0FueUxpc3QAAAABAAAAA3ZhbAQAAAAHJG1hdGNoMAUAAAADdmFsAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAlMaXN0W0FueV0EAAAACnZhbEFueUx5c3QFAAAAByRtYXRjaDAFAAAACnZhbEFueUx5c3QJAAACAAAAAQIAAAAbZmFpbCB0byBjYXN0IGludG8gTGlzdFtBbnldAQAAAAhhc1N0cmluZwAAAAEAAAADdmFsBAAAAAckbWF0Y2gwBQAAAAN2YWwDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAAGdmFsU3RyBQAAAAckbWF0Y2gwBQAAAAZ2YWxTdHIJAAACAAAAAQIAAAAYZmFpbCB0byBjYXN0IGludG8gU3RyaW5nAQAAAAVhc0ludAAAAAEAAAADdmFsBAAAAAckbWF0Y2gwBQAAAAN2YWwDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAAGdmFsSW50BQAAAAckbWF0Y2gwBQAAAAZ2YWxJbnQJAAACAAAAAQIAAAAVZmFpbCB0byBjYXN0IGludG8gSW50AAAAABBwdWJLZXlBZG1pbnNMaXN0CQAETAAAAAICAAAALEdYeG1aYUNpZ1BnSnNUNmQxY0xyOG5VWEE2NW5HWDhWN0Z1QXp6clk4d1FFCQAETAAAAAICAAAALDN4dW14NGhyUHBlZW9vNzlITEdiWkNnZno5NUwzOVpGZHh4d1dlU1VDMlB1CQAETAAAAAICAAAALEQ0Q3F0SzVmQnNuelJvMzNaTWhyTTduaUxzZURIMnVSb0s2d2VCcTJKUTNBCQAETAAAAAICAAAALDVXUlhGU2p3Y1RiTmZLY0pzOFpxWG1TU1dZc1NWSlV0TXZNcVpqNWhINE5jBQAAAANuaWwAAAAAA1NFUAIAAAACX18AAAAAB1dBVkVMRVQAAAAAAAX14QAAAAAABVBBVUxJAAAAAAAAD0JAAAAAAAhQUklDRUxFVAAAAAAAAA9CQAAAAAAOREVGQVVMVFNXQVBGRUUAAAAAAAAATiAAAAAAD1RXRU5UWUZPVVJIT1VSUwAAAAAAAAAFoAAAAAAMSWR4TmV0QW1vdW50AAAAAAAAAAAAAAAAAAxJZHhGZWVBbW91bnQAAAAAAAAAAAEAAAAADklkeEdyb3NzQW1vdW50AAAAAAAAAAACAAAAABJOZXV0cmlub0Fzc2V0SWRLZXkCAAAAEW5ldXRyaW5vX2Fzc2V0X2lkAAAAAA5Cb25kQXNzZXRJZEtleQIAAAANYm9uZF9hc3NldF9pZAAAAAASQXVjdGlvbkNvbnRyYWN0S2V5AgAAABBhdWN0aW9uX2NvbnRyYWN0AAAAABZMaXF1aWRhdGlvbkNvbnRyYWN0S2V5AgAAABRsaXF1aWRhdGlvbl9jb250cmFjdAAAAAAOUlBEQ29udHJhY3RLZXkCAAAADHJwZF9jb250cmFjdAAAAAARQ29udG9sQ29udHJhY3RLZXkCAAAAEGNvbnRyb2xfY29udHJhY3QAAAAAD1Jlc3RDb250cmFjdEtleQIAAAANcmVzdF9jb250cmFjdAAAAAAPTWF0aENvbnRyYWN0S2V5AgAAAA1tYXRoX2NvbnRyYWN0AAAAABtCYWxhbmNlV2F2ZXNMb2NrSW50ZXJ2YWxLZXkCAAAAG2JhbGFuY2Vfd2F2ZXNfbG9ja19pbnRlcnZhbAAAAAAeQmFsYW5jZU5ldXRyaW5vTG9ja0ludGVydmFsS2V5AgAAAB5iYWxhbmNlX25ldXRyaW5vX2xvY2tfaW50ZXJ2YWwAAAAAFU1pbldhdmVzU3dhcEFtb3VudEtleQIAAAAVbWluX3dhdmVzX3N3YXBfYW1vdW50AAAAABhNaW5OZXV0cmlub1N3YXBBbW91bnRLZXkCAAAAGG1pbl9uZXV0cmlub19zd2FwX2Ftb3VudAAAAAAbTm9kZU9yYWNsZVByb3ZpZGVyUHViS2V5S2V5AgAAABRub2RlX29yYWNsZV9wcm92aWRlcgAAAAAVTmV1dHJpbm9PdXRGZWVQYXJ0S2V5AgAAABhuZXV0cmlub091dF9zd2FwX2ZlZVBhcnQAAAAAEldhdmVzT3V0RmVlUGFydEtleQIAAAAVd2F2ZXNPdXRfc3dhcF9mZWVQYXJ0AAAAABVGZWVzTWFuYWdlckFkZHJlc3NLZXkCAAAAFGZlZXNfbWFuYWdlcl9hZGRyZXNzAQAAABlrZXlRdWlja1N3YXBMaW1pdER1cmF0aW9uAAAAAAIAAAAaJXNfX3F1aWNrU3dhcExpbWl0RHVyYXRpb24AAAAACFByaWNlS2V5AgAAAAVwcmljZQAAAAANUHJpY2VJbmRleEtleQIAAAALcHJpY2VfaW5kZXgAAAAADElzQmxvY2tlZEtleQIAAAAKaXNfYmxvY2tlZAEAAAASZ2V0UHJpY2VIaXN0b3J5S2V5AAAAAQAAAAVibG9jawkAASwAAAACCQABLAAAAAIFAAAACFByaWNlS2V5AgAAAAFfCQABpAAAAAEFAAAABWJsb2NrAQAAABhnZXRIZWlnaHRQcmljZUJ5SW5kZXhLZXkAAAABAAAABWluZGV4CQABLAAAAAIJAAEsAAAAAgUAAAANUHJpY2VJbmRleEtleQIAAAABXwkAAaQAAAABBQAAAAVpbmRleAEAAAAVZ2V0U3Rha2luZ05vZGVCeUluZGV4AAAAAQAAAANpZHgJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEJAAS5AAAAAgkABEwAAAACAgAAAAYlcyVkJXMJAARMAAAAAgIAAAAFbGVhc2UJAARMAAAAAgkAAaQAAAABBQAAAANpZHgJAARMAAAAAgIAAAALbm9kZUFkZHJlc3MFAAAAA25pbAUAAAADU0VQAQAAABxnZXRTdGFraW5nTm9kZUFkZHJlc3NCeUluZGV4AAAAAQAAAANpZHgJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEJAQAAABVnZXRTdGFraW5nTm9kZUJ5SW5kZXgAAAABBQAAAANpZHgBAAAAH2dldFJlc2VydmVkQW1vdW50Rm9yU3BvbnNvcnNoaXAAAAAACQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAS5AAAAAgkABEwAAAACAgAAAAQlcyVzCQAETAAAAAICAAAABWxlYXNlCQAETAAAAAICAAAAF3Nwb25zb3JzaGlwV2F2ZXNSZXNlcnZlBQAAAANuaWwFAAAAA1NFUAkAAGgAAAACAAAAAAAAAAPoBQAAAAdXQVZFTEVUAQAAABhnZXRCYWxhbmNlVW5sb2NrQmxvY2tLZXkAAAABAAAABW93bmVyCQABLAAAAAICAAAAFWJhbGFuY2VfdW5sb2NrX2Jsb2NrXwUAAAAFb3duZXIBAAAADWdldExlYXNlSWRLZXkAAAABAAAACW5vZGVJbmRleAkABLkAAAACCQAETAAAAAICAAAABiVzJWQlcwkABEwAAAACAgAAAAVsZWFzZQkABEwAAAACCQABpAAAAAEFAAAACW5vZGVJbmRleAkABEwAAAACAgAAAAJpZAUAAAADbmlsBQAAAANTRVABAAAAEWdldExlYXNlQW1vdW50S2V5AAAAAQAAAAlub2RlSW5kZXgJAAS5AAAAAgkABEwAAAACAgAAAAYlcyVkJXMJAARMAAAAAgIAAAAFbGVhc2UJAARMAAAAAgkAAaQAAAABBQAAAAlub2RlSW5kZXgJAARMAAAAAgIAAAAGYW1vdW50BQAAAANuaWwFAAAAA1NFUAEAAAAQbWluU3dhcEFtb3VudEtFWQAAAAEAAAAIc3dhcFR5cGUJAAEsAAAAAgkAASwAAAACAgAAAARtaW5fBQAAAAhzd2FwVHlwZQIAAAAMX3N3YXBfYW1vdW50AQAAAA50b3RhbExvY2tlZEtFWQAAAAEAAAAIc3dhcFR5cGUJAAEsAAAAAgIAAAANYmFsYW5jZV9sb2NrXwUAAAAIc3dhcFR5cGUBAAAAFHRvdGFsTG9ja2VkQnlVc2VyS0VZAAAAAgAAAAhzd2FwVHlwZQAAAAVvd25lcgkABLkAAAACCQAETAAAAAICAAAADGJhbGFuY2VfbG9jawkABEwAAAACBQAAAAhzd2FwVHlwZQkABEwAAAACBQAAAAVvd25lcgUAAAADbmlsAgAAAAFfAQAAABZiYWxhbmNlTG9ja0ludGVydmFsS0VZAAAAAQAAAAhzd2FwVHlwZQkAASwAAAACCQABLAAAAAICAAAACGJhbGFuY2VfBQAAAAhzd2FwVHlwZQIAAAAOX2xvY2tfaW50ZXJ2YWwBAAAAGW1pbkJhbGFuY2VMb2NrSW50ZXJ2YWxLRVkAAAABAAAACHN3YXBUeXBlCQABLAAAAAIJAAEsAAAAAgIAAAAIYmFsYW5jZV8FAAAACHN3YXBUeXBlAgAAABZfbG9ja19pbnRlcnZhbF9taW5pbXVtAQAAABpub2RlQmFsYW5jZUxvY2tJbnRlcnZhbEtFWQAAAAACAAAAGmJhbGFuY2Vfbm9kZV9sb2NrX2ludGVydmFsAQAAAA1vdXRGZWVQYXJ0S0VZAAAAAQAAAAhzd2FwVHlwZQkAASwAAAACBQAAAAhzd2FwVHlwZQIAAAAQT3V0X3N3YXBfZmVlUGFydAEAAAARbWluU3dhcEFtb3VudFJFQUQAAAABAAAACHN3YXBUeXBlCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAQAAABBtaW5Td2FwQW1vdW50S0VZAAAAAQUAAAAIc3dhcFR5cGUAAAAAAAAAAAABAAAAD3RvdGFsTG9ja2VkUkVBRAAAAAEAAAAIc3dhcFR5cGUJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkBAAAADnRvdGFsTG9ja2VkS0VZAAAAAQUAAAAIc3dhcFR5cGUAAAAAAAAAAAABAAAAFXRvdGFsTG9ja2VkQnlVc2VyUkVBRAAAAAIAAAAIc3dhcFR5cGUAAAAFb3duZXIJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkBAAAAFHRvdGFsTG9ja2VkQnlVc2VyS0VZAAAAAgUAAAAIc3dhcFR5cGUFAAAABW93bmVyAAAAAAAAAAAAAQAAABdiYWxhbmNlTG9ja0ludGVydmFsUkVBRAAAAAEAAAAIc3dhcFR5cGUJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkBAAAAFmJhbGFuY2VMb2NrSW50ZXJ2YWxLRVkAAAABBQAAAAhzd2FwVHlwZQAAAAAAAAAFoAEAAAAabWluQmFsYW5jZUxvY2tJbnRlcnZhbFJFQUQAAAABAAAACHN3YXBUeXBlCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAQAAABltaW5CYWxhbmNlTG9ja0ludGVydmFsS0VZAAAAAQUAAAAIc3dhcFR5cGUAAAAAAAAAADwBAAAAG25vZGVCYWxhbmNlTG9ja0ludGVydmFsUkVBRAAAAAAJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkBAAAAGm5vZGVCYWxhbmNlTG9ja0ludGVydmFsS0VZAAAAAAAAAAAAAAAAAQEAAAAda2V5UXVpY2tTd2FwVXNlclNwZW50SW5QZXJpb2QAAAABAAAAC3VzZXJBZGRyZXNzCQAEuQAAAAIJAARMAAAAAgIAAAAEJXMlcwkABEwAAAACAgAAABpxdWlja1N3YXBVc2VyU3BlbnRJblBlcmlvZAkABEwAAAACBQAAAAt1c2VyQWRkcmVzcwUAAAADbmlsBQAAAANTRVABAAAAGmtleVVzZXJMYXN0UXVpY2tTd2FwSGVpZ2h0AAAAAQAAAAt1c2VyQWRkcmVzcwkABLkAAAACCQAETAAAAAICAAAABCVzJXMJAARMAAAAAgIAAAAXdXNlckxhc3RRdWlja1N3YXBIZWlnaHQJAARMAAAAAgUAAAALdXNlckFkZHJlc3MFAAAAA25pbAUAAAADU0VQAQAAABVmZWVNYW5hZ2VyQWRkcmVzc1JFQUQAAAAACQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQmAAAAAQkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEHQAAAAIFAAAABHRoaXMFAAAAFUZlZXNNYW5hZ2VyQWRkcmVzc0tleQkAASwAAAACBQAAABVGZWVzTWFuYWdlckFkZHJlc3NLZXkCAAAAESBpcyBub3Qgc3BlY2lmaWVkCQABLAAAAAIFAAAAFUZlZXNNYW5hZ2VyQWRkcmVzc0tleQIAAAAXIGludmFsaWQgYWRkcmVzcyBmb3JtYXQBAAAAFmNvbnZlcnROZXV0cmlub1RvV2F2ZXMAAAACAAAABmFtb3VudAAAAAVwcmljZQkAAGsAAAADCQAAawAAAAMFAAAABmFtb3VudAUAAAAIUFJJQ0VMRVQFAAAABXByaWNlBQAAAAdXQVZFTEVUBQAAAAVQQVVMSQEAAAAWY29udmVydFdhdmVzVG9OZXV0cmlubwAAAAIAAAAGYW1vdW50AAAABXByaWNlCQAAawAAAAMJAABrAAAAAwUAAAAGYW1vdW50BQAAAAVwcmljZQUAAAAIUFJJQ0VMRVQFAAAABVBBVUxJBQAAAAdXQVZFTEVUAQAAABJjb252ZXJ0V2F2ZXNUb0JvbmQAAAACAAAABmFtb3VudAAAAAVwcmljZQkBAAAAFmNvbnZlcnRXYXZlc1RvTmV1dHJpbm8AAAACBQAAAAZhbW91bnQFAAAABXByaWNlAQAAABZjb252ZXJ0SnNvbkFycmF5VG9MaXN0AAAAAQAAAAlqc29uQXJyYXkJAAS1AAAAAgUAAAAJanNvbkFycmF5AgAAAAEsAQAAABFtaW5Td2FwQW1vdW50RkFJTAAAAAIAAAAIc3dhcFR5cGUAAAANbWluU3dhcEFtb3VudAkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAABhUaGUgc3BlY2lmaWVkIGFtb3VudCBpbiAFAAAACHN3YXBUeXBlAgAAACsgc3dhcCBpcyBsZXNzIHRoYW4gdGhlIHJlcXVpcmVkIG1pbmltdW0gb2YgCQABpAAAAAEFAAAADW1pblN3YXBBbW91bnQBAAAAFWVtZXJnZW5jeVNodXRkb3duRkFJTAAAAAAJAAACAAAAAQIAAABaY29udHJhY3QgaXMgYmxvY2tlZCBieSBFTUVSR0VOQ1kgU0hVVERPV04gYWN0aW9ucyB1bnRpbGwgcmVhY3RpdmF0aW9uIGJ5IGVtZXJnZW5jeSBvcmFjbGVzAQAAAA5wcmljZUluZGV4RkFJTAAAAAUAAAAFaW5kZXgAAAAKcHJpY2VJbmRleAAAAAtpbmRleEhlaWdodAAAAAx1bmxvY2tIZWlnaHQAAAAPcHJldkluZGV4SGVpZ2h0CQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAI2ludmFsaWQgcHJpY2UgaGlzdG9yeSBpbmRleDogaW5kZXg9CQABpAAAAAEFAAAABWluZGV4AgAAAAwgcHJpY2VJbmRleD0JAAGkAAAAAQUAAAAKcHJpY2VJbmRleAIAAAANIGluZGV4SGVpZ2h0PQkAAaQAAAABBQAAAAtpbmRleEhlaWdodAIAAAAOIHVubG9ja0hlaWdodD0JAAGkAAAAAQUAAAAMdW5sb2NrSGVpZ2h0AgAAABEgcHJldkluZGV4SGVpZ2h0PQkAAaQAAAABBQAAAA9wcmV2SW5kZXhIZWlnaHQAAAAAE2xpcXVpZGF0aW9uQ29udHJhY3QJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEFAAAAFkxpcXVpZGF0aW9uQ29udHJhY3RLZXkAAAAAD25ldXRyaW5vQXNzZXRJZAkAAlkAAAABCQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABBQAAABJOZXV0cmlub0Fzc2V0SWRLZXkAAAAAD2F1Y3Rpb25Db250cmFjdAkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQUAAAASQXVjdGlvbkNvbnRyYWN0S2V5AAAAAAtycGRDb250cmFjdAkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQUAAAAOUlBEQ29udHJhY3RLZXkAAAAAD2NvbnRyb2xDb250cmFjdAkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQUAAAARQ29udG9sQ29udHJhY3RLZXkAAAAADHJlc3RDb250cmFjdAkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQUAAAAPUmVzdENvbnRyYWN0S2V5AAAAABNtYXRoQ29udHJhY3RBZGRyZXNzCQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABBQAAAA9NYXRoQ29udHJhY3RLZXkAAAAACnByaWNlSW5kZXgJAQAAABhnZXROdW1iZXJCeUFkZHJlc3NBbmRLZXkAAAACBQAAAA9jb250cm9sQ29udHJhY3QFAAAADVByaWNlSW5kZXhLZXkAAAAACWlzQmxvY2tlZAkBAAAAFmdldEJvb2xCeUFkZHJlc3NBbmRLZXkAAAACBQAAAA9jb250cm9sQ29udHJhY3QFAAAADElzQmxvY2tlZEtleQAAAAAYbm9kZU9yYWNsZVByb3ZpZGVyUHViS2V5CQACWQAAAAEJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEFAAAAG05vZGVPcmFjbGVQcm92aWRlclB1YktleUtleQAAAAALYm9uZEFzc2V0SWQJAAJZAAAAAQIAAAAsQkdoUFlxdVhTSzZVWWpuUExFbjk0Z0ZoZXRwNEp2Zjd0b2VrRVk0eDFWREgAAAAAFWRlcHJlY2F0ZWRCb25kQXNzZXRJZAkAAlkAAAABAgAAACw5NzVha1pCZm5NajUxM1U3TVphSEt6UXJtc0V4NWFFM3dkV0tUckhCaGJqRgAAAAAQbmV1dHJpbm9Db250cmFjdAUAAAAEdGhpcwAAAAAMbWF0aENvbnRyYWN0CQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABBQAAABNtYXRoQ29udHJhY3RBZGRyZXNzAAAAAAxjdXJyZW50UHJpY2UJAQAAABhnZXROdW1iZXJCeUFkZHJlc3NBbmRLZXkAAAACBQAAAA9jb250cm9sQ29udHJhY3QFAAAACFByaWNlS2V5AQAAABtjaGVja0lzVmFsaWRNaW5TcG9uc29yZWRGZWUAAAABAAAAAnR4BAAAAA5NSU5UUkFOU0ZFUkZFRQAAAAAAAAGGoAQAAAAWU3BvbnNvcmVkRmVlVXBwZXJCb3VuZAAAAAAAAAAD6AQAAAAPcmVhbE5ldXRyaW5vRmVlCQEAAAAWY29udmVydFdhdmVzVG9OZXV0cmlubwAAAAIFAAAADk1JTlRSQU5TRkVSRkVFBQAAAAxjdXJyZW50UHJpY2UEAAAADm1pbk5ldXRyaW5vRmVlCQAAaAAAAAIFAAAAD3JlYWxOZXV0cmlub0ZlZQAAAAAAAAAAAgQAAAAObWF4TmV1dHJpbm9GZWUJAABrAAAAAwUAAAAPcmVhbE5ldXRyaW5vRmVlBQAAABZTcG9uc29yZWRGZWVVcHBlckJvdW5kAAAAAAAAAABkBAAAAAhpbnB1dEZlZQkBAAAABXZhbHVlAAAAAQgFAAAAAnR4AAAAFG1pblNwb25zb3JlZEFzc2V0RmVlAwMJAABnAAAAAgUAAAAIaW5wdXRGZWUFAAAADm1pbk5ldXRyaW5vRmVlCQAAZwAAAAIFAAAADm1heE5ldXRyaW5vRmVlBQAAAAhpbnB1dEZlZQcJAAAAAAAAAggFAAAAAnR4AAAAB2Fzc2V0SWQFAAAAD25ldXRyaW5vQXNzZXRJZAcBAAAAD2dldFByaWNlSGlzdG9yeQAAAAEAAAAFYmxvY2sJAQAAABhnZXROdW1iZXJCeUFkZHJlc3NBbmRLZXkAAAACBQAAAA9jb250cm9sQ29udHJhY3QJAQAAABJnZXRQcmljZUhpc3RvcnlLZXkAAAABBQAAAAVibG9jawEAAAAVZ2V0SGVpZ2h0UHJpY2VCeUluZGV4AAAAAQAAAAVpbmRleAkBAAAAGGdldE51bWJlckJ5QWRkcmVzc0FuZEtleQAAAAIFAAAAD2NvbnRyb2xDb250cmFjdAkBAAAAGGdldEhlaWdodFByaWNlQnlJbmRleEtleQAAAAEFAAAABWluZGV4AAAAAAxzSWR4U3dhcFR5cGUAAAAAAAAAAAEAAAAACnNJZHhTdGF0dXMAAAAAAAAAAAIAAAAADHNJZHhJbkFtb3VudAAAAAAAAAAAAwAAAAAJc0lkeFByaWNlAAAAAAAAAAAEAAAAABBzSWR4T3V0TmV0QW1vdW50AAAAAAAAAAAFAAAAABBzSWR4T3V0RmVlQW1vdW50AAAAAAAAAAAGAAAAAA9zSWR4U3RhcnRIZWlnaHQAAAAAAAAAAAcAAAAAEnNJZHhTdGFydFRpbWVzdGFtcAAAAAAAAAAACAAAAAANc0lkeEVuZEhlaWdodAAAAAAAAAAACQAAAAAQc0lkeEVuZFRpbWVzdGFtcAAAAAAAAAAACgAAAAAUc0lkeFNlbGZVbmxvY2tIZWlnaHQAAAAAAAAAAAsAAAAAFHNJZHhSYW5kVW5sb2NrSGVpZ2h0AAAAAAAAAAAMAAAAAAlzSWR4SW5kZXgAAAAAAAAAAA0AAAAAEHNJZHhXaXRoZHJhd1R4SWQAAAAAAAAAAA4AAAAAC3NJZHhNaW5SYW5kAAAAAAAAAAAPAAAAAAtzSWR4TWF4UmFuZAAAAAAAAAAAEAEAAAAHc3dhcEtFWQAAAAIAAAALdXNlckFkZHJlc3MAAAAEdHhJZAkABLkAAAACCQAETAAAAAICAAAABCVzJXMJAARMAAAAAgUAAAALdXNlckFkZHJlc3MJAARMAAAAAgUAAAAEdHhJZAUAAAADbmlsBQAAAANTRVABAAAAC3N0clN3YXBEQVRBAAAAEAAAAAhzd2FwVHlwZQAAAAZzdGF0dXMAAAAIaW5BbW91bnQAAAAFcHJpY2UAAAAMb3V0TmV0QW1vdW50AAAADG91dEZlZUFtb3VudAAAAAtzdGFydEhlaWdodAAAAA5zdGFydFRpbWVzdGFtcAAAAAllbmRIZWlnaHQAAAAMZW5kVGltZXN0YW1wAAAAEHNlbGZVbmxvY2tIZWlnaHQAAAAQcmFuZFVubG9ja0hlaWdodAAAAAVpbmRleAAAAAx3aXRoZHJhd1R4SWQAAAAHcmFuZE1pbgAAAAdyYW5kTWF4CQAEuQAAAAIJAARMAAAAAgIAAAAcJXMlcyVkJWQlZCVkJWQlZCVkJWQlZCVkJWQlcwkABEwAAAACBQAAAAhzd2FwVHlwZQkABEwAAAACBQAAAAZzdGF0dXMJAARMAAAAAgUAAAAIaW5BbW91bnQJAARMAAAAAgUAAAAFcHJpY2UJAARMAAAAAgUAAAAMb3V0TmV0QW1vdW50CQAETAAAAAIFAAAADG91dEZlZUFtb3VudAkABEwAAAACBQAAAAtzdGFydEhlaWdodAkABEwAAAACBQAAAA5zdGFydFRpbWVzdGFtcAkABEwAAAACBQAAAAllbmRIZWlnaHQJAARMAAAAAgUAAAAMZW5kVGltZXN0YW1wCQAETAAAAAIFAAAAEHNlbGZVbmxvY2tIZWlnaHQJAARMAAAAAgUAAAAQcmFuZFVubG9ja0hlaWdodAkABEwAAAACBQAAAAVpbmRleAkABEwAAAACBQAAAAx3aXRoZHJhd1R4SWQJAARMAAAAAgUAAAAHcmFuZE1pbgkABEwAAAACBQAAAAdyYW5kTWF4BQAAAANuaWwFAAAAA1NFUAEAAAAPcGVuZGluZ1N3YXBEQVRBAAAAAwAAAAhzd2FwVHlwZQAAAA1pbkFzc2V0QW1vdW50AAAAEHNlbGZVbmxvY2tIZWlnaHQJAQAAAAtzdHJTd2FwREFUQQAAABAFAAAACHN3YXBUeXBlAgAAAAdQRU5ESU5HCQABpAAAAAEFAAAADWluQXNzZXRBbW91bnQCAAAAATACAAAAATACAAAAATAJAAGkAAAAAQUAAAAGaGVpZ2h0CQABpAAAAAEIBQAAAAlsYXN0QmxvY2sAAAAJdGltZXN0YW1wAgAAAAEwAgAAAAEwCQABpAAAAAEFAAAAEHNlbGZVbmxvY2tIZWlnaHQCAAAAATACAAAAATACAAAABE5VTEwCAAAAATACAAAAATABAAAADmZpbmlzaFN3YXBEQVRBAAAABwAAAAlkYXRhQXJyYXkAAAAFcHJpY2UAAAAMb3V0TmV0QW1vdW50AAAADG91dEZlZUFtb3VudAAAABByYW5kVW5sb2NrSGVpZ2h0AAAABWluZGV4AAAADHdpdGhkcmF3VHhJZAkBAAAAC3N0clN3YXBEQVRBAAAAEAkAAZEAAAACBQAAAAlkYXRhQXJyYXkFAAAADHNJZHhTd2FwVHlwZQIAAAAIRklOSVNIRUQJAAGRAAAAAgUAAAAJZGF0YUFycmF5BQAAAAxzSWR4SW5BbW91bnQJAAGkAAAAAQUAAAAFcHJpY2UJAAGkAAAAAQUAAAAMb3V0TmV0QW1vdW50CQABpAAAAAEFAAAADG91dEZlZUFtb3VudAkAAZEAAAACBQAAAAlkYXRhQXJyYXkFAAAAD3NJZHhTdGFydEhlaWdodAkAAZEAAAACBQAAAAlkYXRhQXJyYXkFAAAAEnNJZHhTdGFydFRpbWVzdGFtcAkAAaQAAAABBQAAAAZoZWlnaHQJAAGkAAAAAQgFAAAACWxhc3RCbG9jawAAAAl0aW1lc3RhbXAJAAGRAAAAAgUAAAAJZGF0YUFycmF5BQAAABRzSWR4U2VsZlVubG9ja0hlaWdodAkAAaQAAAABBQAAABByYW5kVW5sb2NrSGVpZ2h0CQABpAAAAAEFAAAABWluZGV4BQAAAAx3aXRoZHJhd1R4SWQJAAGRAAAAAgUAAAAJZGF0YUFycmF5BQAAAAtzSWR4TWluUmFuZAkAAZEAAAACBQAAAAlkYXRhQXJyYXkFAAAAC3NJZHhNYXhSYW5kAQAAABJzd2Fw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AA5uZXdMZWFzZUFtb3VudAkABE4AAAACBQAAAA51bmxlYXNlT3JFbXB0eQkABEwAAAACBQAAAAVsZWFzZQkABEwAAAACCQEAAAALQmluYXJ5RW50cnkAAAACBQAAAApsZWFzZUlkS2V5CQAEOQAAAAEFAAAABWxlYXNlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAARZ2V0TGVhc2VBbW91bnRLZXkAAAABBQAAAAlub2RlSW5kZXgFAAAADm5ld0xlYXNlQW1vdW50BQAAAANuaWwFAAAAA25pbAEAAAAOY29tbW9uV2l0aGRyYXcAAAAEAAAAB2FjY291bnQAAAAFaW5kZXgAAAAIc3dhcFR4SWQAAAABaQQAAAALdXNlckFkZHJlc3MJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEFAAAAB2FjY291bnQEAAAAEWZlZU1hbmFnZXJBZGRyZXNzCQEAAAAVZmVlTWFuYWdlckFkZHJlc3NSRUFEAAAAAAQAAAAJZGF0YUFycmF5CQEAAAASc3dhcERhdGFGYWlsT3JSRUFEAAAAAgUAAAAHYWNjb3VudAUAAAAIc3dhcFR4SWQEAAAAEHNlbGZVbmxvY2tIZWlnaHQJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAAlkYXRhQXJyYXkFAAAAFHNJZHhTZWxmVW5sb2NrSGVpZ2h0BAAAAAhzd2FwVHlwZQkAAZEAAAACBQAAAAlkYXRhQXJyYXkFAAAADHNJZHhTd2FwVHlwZQQAAAAIaW5BbW91bnQJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAAlkYXRhQXJyYXkFAAAADHNJZHhJbkFtb3VudAQAAAAKc3dhcFN0YXR1cwkAAZEAAAACBQAAAAlkYXRhQXJyYXkFAAAACnNJZHhTdGF0dXMEAAAAC3N0YXJ0SGVpZ2h0CQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAJZGF0YUFycmF5BQAAAA9zSWR4U3RhcnRIZWlnaHQEAAAACm91dEZlZVBhcnQJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkBAAAADW91dEZlZVBhcnRLRVkAAAABBQAAAAhzd2FwVHlwZQUAAAAOREVGQVVMVFNXQVBGRUUEAAAAC3RvdGFsTG9ja2VkCQEAAAAPdG90YWxMb2NrZWRSRUFEAAAAAQUAAAAIc3dhcFR5cGUEAAAAEXRvdGFsTG9ja2VkQnlVc2VyCQEAAAAVdG90YWxMb2NrZWRCeVVzZXJSRUFEAAAAAgUAAAAIc3dhcFR5cGUFAAAAB2FjY291bnQEAAAADHVubG9ja0hlaWdodAkAAGQAAAACBQAAAAtzdGFydEhlaWdodAMJAAAAAAAAAgUAAAAIc3dhcFR5cGUCAAAABXdhdmVzCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzBQAAABtCYWxhbmNlV2F2ZXNMb2NrSW50ZXJ2YWxLZXkJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMFAAAAHkJhbGFuY2VOZXV0cmlub0xvY2tJbnRlcnZhbEtleQQAAAALaW5kZXhIZWlnaHQJAQAAABVnZXRIZWlnaHRQcmljZUJ5SW5kZXgAAAABBQAAAAVpbmRleAQAAAAPcHJldkluZGV4SGVpZ2h0CQEAAAAVZ2V0SGVpZ2h0UHJpY2VCeUluZGV4AAAAAQkAAGUAAAACBQAAAAVpbmRleAAAAAAAAAAAAQQAAAAMcHJpY2VCeUluZGV4CQEAAAAPZ2V0UHJpY2VIaXN0b3J5AAAAAQUAAAALaW5kZXhIZWlnaHQEAAAAE291dEFtb3VudEdyb3NzVHVwbGUDCQAAAAAAAAIFAAAACHN3YXBUeXBlAgAAAAV3YXZlcwkABRQAAAACCQEAAAAWY29udmVydFdhdmVzVG9OZXV0cmlubwAAAAIFAAAACGluQW1vdW50BQAAAAxwcmljZUJ5SW5kZXgFAAAAD25ldXRyaW5vQXNzZXRJZAMJAAAAAAAAAgUAAAAIc3dhcFR5cGUCAAAACG5ldXRyaW5vCQAFFAAAAAIJAQAAABZjb252ZXJ0TmV1dHJpbm9Ub1dhdmVzAAAAAgUAAAAIaW5BbW91bnQFAAAADHByaWNlQnlJbmRleAUAAAAEdW5pdAkAAAIAAAABCQABLAAAAAICAAAAFlVuc3VwcG9ydGVkIHN3YXAgdHlwZSAFAAAACHN3YXBUeXBlBAAAAAxwYXlvdXRzQXJyYXkJAQAAAAlhcHBseUZlZXMAAAACCAUAAAATb3V0QW1vdW50R3Jvc3NUdXBsZQAAAAJfMQUAAAAKb3V0RmVlUGFydAQAAAAMb3V0TmV0QW1vdW50CQABkQAAAAIFAAAADHBheW91dHNBcnJheQUAAAAMSWR4TmV0QW1vdW50BAAAAAxvdXRGZWVBbW91bnQJAAGRAAAAAgUAAAAMcGF5b3V0c0FycmF5BQAAAAxJZHhGZWVBbW91bnQDBQAAAAlpc0Jsb2NrZWQJAQAAABVlbWVyZ2VuY3lTaHV0ZG93bkZBSUwAAAAAAwkBAAAAAiE9AAAAAgUAAAAKc3dhcFN0YXR1cwIAAAAHUEVORElORwkAAAIAAAABAgAAAB9zd2FwIGhhcyBiZWVuIGFscmVhZHkgcHJvY2Vzc2VkAwkAAGYAAAACBQAAAAx1bmxvY2tIZWlnaHQFAAAABmhlaWdodAkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAARcGxlYXNlIHdhaXQgZm9yOiAJAAGkAAAAAQUAAAAMdW5sb2NrSGVpZ2h0AgAAAB8gYmxvY2sgaGVpZ2h0IHRvIHdpdGhkcmF3IGZ1bmRzAwMDCQAAZgAAAAIFAAAABWluZGV4BQAAAApwcmljZUluZGV4BgkAAGYAAAACBQAAAAx1bmxvY2tIZWlnaHQFAAAAC2luZGV4SGVpZ2h0BgMJAQAAAAIhPQAAAAIFAAAAD3ByZXZJbmRleEhlaWdodAAAAAAAAAAAAAkAAGcAAAACBQAAAA9wcmV2SW5kZXhIZWlnaHQFAAAADHVubG9ja0hlaWdodAcJAQAAAA5wcmljZUluZGV4RkFJTAAAAAUFAAAABWluZGV4BQAAAApwcmljZUluZGV4BQAAAAtpbmRleEhlaWdodAUAAAAMdW5sb2NrSGVpZ2h0BQAAAA9wcmV2SW5kZXhIZWlnaHQDCQAAZwAAAAIAAAAAAAAAAAAJAAGRAAAAAgUAAAAMcGF5b3V0c0FycmF5BQAAAA5JZHhHcm9zc0Ftb3VudAkAAAIAAAABAgAAABNiYWxhbmNlIGVxdWFscyB6ZXJvAwMJAABmAAAAAgAAAAAAAAAAAAUAAAAKb3V0RmVlUGFydAYJAABnAAAAAgUAAAAKb3V0RmVlUGFydAUAAAAFUEFVTEkJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAeaW52YWxpZCBvdXRGZWVQYXJ0IGNvbmZpZyBmb3IgBQAAAAhzd2FwVHlwZQIAAAASIHN3YXA6IG91dEZlZVBhcnQ9CQABpAAAAAEFAAAACm91dEZlZVBhcnQEAAAACWxlYXNlUGFydAMDCQAAAAAAAAIFAAAACHN3YXBUeXBlAgAAAAhuZXV0cmlubwkAAGYAAAACCAUAAAATb3V0QW1vdW50R3Jvc3NUdXBsZQAAAAJfMQAAAAAAAAAAAAcJAQAAABZwcmVwYXJlVW5sZWFzZUFuZExlYXNlAAAAAQgFAAAAE291dEFtb3VudEdyb3NzVHVwbGUAAAACXzEFAAAAA25pbAkABRQAAAACCQAETgAAAAIFAAAACWxlYXNlUGFydAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAFHRvdGFsTG9ja2VkQnlVc2VyS0VZAAAAAgUAAAAIc3dhcFR5cGUFAAAAB2FjY291bnQJAABlAAAAAgUAAAARdG90YWxMb2NrZWRCeVVzZXIFAAAACGluQW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAOdG90YWxMb2NrZWRLRVkAAAABBQAAAAhzd2FwVHlwZQkAAGUAAAACBQAAAAt0b3RhbExvY2tlZAUAAAAIaW5BbW91bnQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAALdXNlckFkZHJlc3MFAAAADG91dE5ldEFtb3VudAgFAAAAE291dEFtb3VudEdyb3NzVHVwbGUAAAACXzIJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAARZmVlTWFuYWdlckFkZHJlc3MFAAAADG91dEZlZUFtb3VudAgFAAAAE291dEFtb3VudEdyb3NzVHVwbGUAAAACXzIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAB3N3YXBLRVkAAAACBQAAAAdhY2NvdW50BQAAAAhzd2FwVHhJZAkBAAAADmZpbmlzaFN3YXBEQVRBAAAABwUAAAAJZGF0YUFycmF5BQAAAAxwcmljZUJ5SW5kZXgFAAAADG91dE5ldEFtb3VudAUAAAAMb3V0RmVlQW1vdW50BQAAAAx1bmxvY2tIZWlnaHQFAAAABWluZGV4CQACWAAAAAEIBQAAAAFpAAAADXRyYW5zYWN0aW9uSWQFAAAAA25pbAUAAAAEdW5pdAAAAAYAAAABaQEAAAAKY29tbW9uU3dhcAAAAAQAAAAIc3dhcFR5cGUAAAAJcG10QW1vdW50AAAADnVzZXJBZGRyZXNzU3RyAAAABnR4SWQ1OAQAAAAVY2hlY2tUaGlzT3JpZ2luQ2FsbGVyAwkBAAAAAiE9AAAAAggFAAAAAWkAAAAGY2FsbGVyBQAAAAR0aGlzCQAAAgAAAAECAAAAIFBlcm1pc3Npb24gZGVuaWVkLiBXcm9uZyBjYWxsZXIuBgMJAAAAAAAAAgUAAAAVY2hlY2tUaGlzT3JpZ2luQ2FsbGVyBQAAABVjaGVja1RoaXNPcmlnaW5DYWxsZXIEAAAAC2NoZWNrQ2FsbGVyAwkBAAAAAiE9AAAAAggFAAAAAWkAAAAMb3JpZ2luQ2FsbGVyCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABBQAAAA51c2VyQWRkcmVzc1N0cgkAAAIAAAABAgAAACdQZXJtaXNzaW9uIGRlbmllZC4gV3Jvbmcgb3JpZ2luIGNhbGxlci4GAwkAAAAAAAACBQAAAAtjaGVja0NhbGxlcgUAAAALY2hlY2tDYWxsZXIEAAAADW1pblN3YXBBbW91bnQJAQAAABFtaW5Td2FwQW1vdW50UkVBRAAAAAEFAAAACHN3YXBUeXBlBAAAAAt0b3RhbExvY2tlZAkBAAAAD3RvdGFsTG9ja2VkUkVBRAAAAAEFAAAACHN3YXBUeXBlBAAAABF0b3RhbExvY2tlZEJ5VXNlcgkBAAAAFXRvdGFsTG9ja2VkQnlVc2VyUkVBRAAAAAIFAAAACHN3YXBUeXBlBQAAAA51c2VyQWRkcmVzc1N0cgQAAAALbm9kZUFkZHJlc3MJAQAAABVnZXRTdGFraW5nTm9kZUJ5SW5kZXgAAAABAAAAAAAAAAAABAAAABZiYWxhbmNlTG9ja01heEludGVydmFsAwkAAAAAAAACBQAAAAtub2RlQWRkcmVzcwUAAAAOdXNlckFkZHJlc3NTdHIJAQAAABtub2RlQmFsYW5jZUxvY2tJbnRlcnZhbFJFQUQAAAAAAwkAAAAAAAACBQAAAAhzd2FwVHlwZQIAAAAFd2F2ZXMJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMFAAAAG0JhbGFuY2VXYXZlc0xvY2tJbnRlcnZhbEtleQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwUAAAAeQmFsYW5jZU5ldXRyaW5vTG9ja0ludGVydmFsS2V5BAAAABBzZWxmVW5sb2NrSGVpZ2h0CQAAZAAAAAIFAAAABmhlaWdodAUAAAAWYmFsYW5jZUxvY2tNYXhJbnRlcnZhbAQAAAALYW1vdW50Q2hlY2sDCQAAZgAAAAIFAAAADW1pblN3YXBBbW91bnQFAAAACXBtdEFtb3VudAkBAAAAEW1pblN3YXBBbW91bnRGQUlMAAAAAgUAAAAIc3dhcFR5cGUFAAAADW1pblN3YXBBbW91bnQGAwkAAAAAAAACBQAAAAthbW91bnRDaGVjawUAAAALYW1vdW50Q2hlY2sEAAAADmxhc3RTd2FwSGVpZ2h0CQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAaa2V5VXNlckxhc3RRdWlja1N3YXBIZWlnaHQAAAABBQAAAA51c2VyQWRkcmVzc1N0cgMJAABmAAAAAgUAAAAPVFdFTlRZRk9VUkhPVVJTCQAAZQAAAAIFAAAABmhlaWdodAUAAAAObGFzdFN3YXBIZWlnaHQJAAACAAAAAQkAASwAAAACAgAAAEJZb3UgaGF2ZSBleGNlZWRlZCBzd2FwIGxpbWl0IGZvciAyNGghIE5leHQgYWxsb3dlZCBzd2FwIGhlaWdodCBpcyAJAAGkAAAAAQkAAGQAAAACBQAAAA5sYXN0U3dhcEhlaWdodAUAAAAPVFdFTlRZRk9VUkhPVVJTBAAAABJ1c2VyU3dhcExpbWl0c0luZm8JAQAAAAlhc0FueUxpc3QAAAABCQAD/AAAAAQFAAAADG1hdGhDb250cmFjdAIAAAAWY2FsY1VzZXJTd2FwTGltaXRzTUFUSAkABEwAAAACBQAAAA51c2VyQWRkcmVzc1N0cgUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAAEnVzZXJTd2FwTGltaXRzSW5mbwUAAAASdXNlclN3YXBMaW1pdHNJbmZvBAAAABNxdWlja1N3YXBMaW1pdFRvdGFsCQEAAAAFYXNJbnQAAAABCQABkQAAAAIFAAAAEnVzZXJTd2FwTGltaXRzSW5mbwAAAAAAAAAAAQQAAAAMcHJpY2VCeUluZGV4CQEAAAAPZ2V0UHJpY2VIaXN0b3J5AAAAAQkBAAAAFWdldEhlaWdodFByaWNlQnlJbmRleAAAAAEFAAAACnByaWNlSW5kZXgEAAAADnN3YXBVc2RuVm9sdW1lAwkAAAAAAAACBQAAAAhzd2FwVHlwZQIAAAAIbmV1dHJpbm8FAAAACXBtdEFtb3VudAkBAAAAFmNvbnZlcnRXYXZlc1RvTmV1dHJpbm8AAAACBQAAAAlwbXRBbW91bnQFAAAADHByaWNlQnlJbmRleAMJAABmAAAAAgUAAAAOc3dhcFVzZG5Wb2x1bWUFAAAAE3F1aWNrU3dhcExpbWl0VG90YWwJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAuWW91IGhhdmUgZXhjZWVkZWQgeW91ciBzd2FwIGxpbWl0ISBSZXF1ZXN0ZWQ6IAkAAaQAAAABBQAAAA5zd2FwVXNkblZvbHVtZQIAAAANLCBhdmFpbGFibGU6IAkAAaQAAAABBQAAABNxdWlja1N3YXBMaW1pdFRvdGFsAwUAAAAJaXNCbG9ja2VkCQEAAAAVZW1lcmdlbmN5U2h1dGRvd25GQUlMAAAAAAQAAAAJbGVhc2VQYXJ0AwkAAAAAAAACBQAAAAhzd2FwVHlwZQIAAAAFd2F2ZXMJAQAAABZwcmVwYXJlVW5sZWFzZUFuZExlYXNlAAAAAQAAAAAAAAAAAAUAAAADbmlsCQAFFAAAAAIJAAROAAAAAgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAHWtleVF1aWNrU3dhcFVzZXJTcGVudEluUGVyaW9kAAAAAQUAAAAOdXNlckFkZHJlc3NTdHIFAAAADnN3YXBVc2RuVm9sdW1lCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAaa2V5VXNlckxhc3RRdWlja1N3YXBIZWlnaHQAAAABBQAAAA51c2VyQWRkcmVzc1N0cgUAAAAGaGVpZ2h0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAUdG90YWxMb2NrZWRCeVVzZXJLRVkAAAACBQAAAAhzd2FwVHlwZQUAAAAOdXNlckFkZHJlc3NTdHIJAABkAAAAAgUAAAARdG90YWxMb2NrZWRCeVVzZXIFAAAACXBtdEFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAGGdldEJhbGFuY2VVbmxvY2tCbG9ja0tleQAAAAEFAAAADnVzZXJBZGRyZXNzU3RyBQAAABBzZWxmVW5sb2NrSGVpZ2h0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAOdG90YWxMb2NrZWRLRVkAAAABBQAAAAhzd2FwVHlwZQkAAGQAAAACBQAAAAt0b3RhbExvY2tlZAUAAAAJcG10QW1vdW50CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAAdzd2FwS0VZAAAAAgUAAAAOdXNlckFkZHJlc3NTdHIFAAAABnR4SWQ1OAkBAAAAD3BlbmRpbmdTd2FwREFUQQAAAAMFAAAACHN3YXBUeXBlBQAAAAlwbXRBbW91bnQFAAAAEHNlbGZVbmxvY2tIZWlnaHQFAAAAA25pbAUAAAAJbGVhc2VQYXJ0BQAAAAR1bml0CQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAFpAQAAABNzd2FwV2F2ZXNUb05ldXRyaW5vAAAAAAQAAAADcG10CQEAAAAFdmFsdWUAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAwkBAAAACWlzRGVmaW5lZAAAAAEIBQAAAANwbXQAAAAHYXNzZXRJZAkAAAIAAAABAgAAAClPbmx5IFdhdmVzIHRva2VuIGlzIGFsbG93ZWQgZm9yIHN3YXBwaW5nLgQAAAALdXNlckFkZHJlc3MJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAAZ0eElkNTgJAAJYAAAAAQgFAAAAAWkAAAANdHJhbnNhY3Rpb25JZAQAAAANY29tbW9uU3dhcEludgkAA/wAAAAEBQAAAAR0aGlzAgAAAApjb21tb25Td2FwCQAETAAAAAICAAAABXdhdmVzCQAETAAAAAIIBQAAAANwbXQAAAAGYW1vdW50CQAETAAAAAIFAAAAC3VzZXJBZGRyZXNzCQAETAAAAAIFAAAABnR4SWQ1OAUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAADWNvbW1vblN3YXBJbnYFAAAADWNvbW1vblN3YXBJbnYFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABaQEAAAATc3dhcE5ldXRyaW5vVG9XYXZlcwAAAAAEAAAAA3BtdAkBAAAABXZhbHVlAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAMJAQAAAAIhPQAAAAIIBQAAAANwbXQAAAAHYXNzZXRJZAUAAAAPbmV1dHJpbm9Bc3NldElkCQAAAgAAAAECAAAAOk9ubHkgYXBwcm9wcmlhdGUgTmV1dHJpbm8gdG9rZW5zIGFyZSBhbGxvd2VkIGZvciBzd2FwcGluZy4EAAAAC3VzZXJBZGRyZXNzCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAAGdHhJZDU4CQACWAAAAAEIBQAAAAFpAAAADXRyYW5zYWN0aW9uSWQEAAAADWNvbW1vblN3YXBJbnYJAAP8AAAABAUAAAAEdGhpcwIAAAAKY29tbW9uU3dhcAkABEwAAAACAgAAAAhuZXV0cmlubwkABEwAAAACCAUAAAADcG10AAAABmFtb3VudAkABEwAAAACBQAAAAt1c2VyQWRkcmVzcwkABEwAAAACBQAAAAZ0eElkNTgFAAAAA25pbAUAAAADbmlsAwkAAAAAAAACBQAAAA1jb21tb25Td2FwSW52BQAAAA1jb21tb25Td2FwSW52BQAAAANuaWwJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAWkBAAAACHdpdGhkcmF3AAAAAwAAAAdhY2NvdW50AAAABWluZGV4AAAACHN3YXBUeElkCQEAAAAOY29tbW9uV2l0aGRyYXcAAAAEBQAAAAdhY2NvdW50BQAAAAVpbmRleAUAAAAIc3dhcFR4SWQFAAAAAWkAAAABaQEAAAARdHJhbnNmZXJUb0F1Y3Rpb24AAAAABAAAAA9uZXV0cmlub01ldHJpY3MJAQAAAAlhc0FueUxpc3QAAAABCQAD/AAAAAQFAAAADG1hdGhDb250cmFjdAIAAAAWY2FsY05ldXRpbm9NZXRyaWNzTUFUSAUAAAADbmlsBQAAAANuaWwEAAAAB3Jlc2VydmUJAQAAAAVhc0ludAAAAAEJAAGRAAAAAgUAAAAPbmV1dHJpbm9NZXRyaWNzAAAAAAAAAAAEBAAAAA5uZXV0cmlub1N1cHBseQkBAAAABWFzSW50AAAAAQkAAZEAAAACBQAAAA9uZXV0cmlub01ldHJpY3MAAAAAAAAAAAYEAAAAB3N1cnBsdXMJAQAAAAVhc0ludAAAAAEJAAGRAAAAAgUAAAAPbmV1dHJpbm9NZXRyaWNzAAAAAAAAAAAHBAAAAApuc2J0U3VwcGx5CQEAAAAFYXNJbnQAAAABCQABkQAAAAIFAAAAD25ldXRyaW5vTWV0cmljcwAAAAAAAAAACgQAAAAPYXVjdGlvbk5CQW1vdW50CQAAZQAAAAIFAAAADm5ldXRyaW5vU3VwcGx5CQAD8AAAAAIJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEFAAAAD2F1Y3Rpb25Db250cmFjdAUAAAALYm9uZEFzc2V0SWQEAAAAFnN1cnBsdXNXaXRoTGlxdWlkYXRpb24JAABlAAAAAgUAAAAHc3VycGx1cwkAA/AAAAACCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABBQAAABNsaXF1aWRhdGlvbkNvbnRyYWN0BQAAAA9uZXV0cmlub0Fzc2V0SWQDBQAAAAlpc0Jsb2NrZWQJAAACAAAAAQIAAABaY29udHJhY3QgaXMgYmxvY2tlZCBieSBFTUVSR0VOQ1kgU0hVVERPV04gYWN0aW9ucyB1bnRpbGwgcmVhY3RpdmF0aW9uIGJ5IGVtZXJnZW5jeSBvcmFjbGVzAwkAAGYAAAACBQAAAA9hdWN0aW9uTkJBbW91bnQJAABoAAAAAgAAAAAAAAAAAQUAAAAFUEFVTEkJAARMAAAAAgkB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", "chainId": 84, "height": 1938021, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: BRTJwTHcVKR7RPDQ6xsKZmT8aWmzE93r5CA68kTTysan Next: 5azMKK46MVN7PrP2FFqW5k2HnVNBRC5nzdAnCbcvSwjN Full:
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | func a (b) = valueOrElse(getInteger(this, b), 0) | |
5 | 5 | ||
6 | 6 | ||
7 | 7 | func c (b) = valueOrElse(getString(this, b), "") | |
8 | 8 | ||
9 | 9 | ||
10 | 10 | func d (b) = valueOrElse(getBoolean(this, b), false) | |
11 | 11 | ||
12 | 12 | ||
13 | 13 | func e (f,b) = valueOrElse(getInteger(addressFromStringValue(f), b), 0) | |
14 | 14 | ||
15 | 15 | ||
16 | 16 | func g (f,b) = valueOrElse(getString(addressFromStringValue(f), b), "") | |
17 | 17 | ||
18 | 18 | ||
19 | 19 | func h (f,b) = valueOrElse(getBoolean(addressFromStringValue(f), b), false) | |
20 | 20 | ||
21 | 21 | ||
22 | 22 | func i (j) = { | |
23 | 23 | let k = j | |
24 | 24 | if ($isInstanceOf(k, "List[Any]")) | |
25 | 25 | then { | |
26 | 26 | let l = k | |
27 | 27 | l | |
28 | 28 | } | |
29 | 29 | else throw("fail to cast into List[Any]") | |
30 | 30 | } | |
31 | 31 | ||
32 | 32 | ||
33 | 33 | func m (j) = { | |
34 | 34 | let k = j | |
35 | 35 | if ($isInstanceOf(k, "String")) | |
36 | 36 | then { | |
37 | 37 | let n = k | |
38 | 38 | n | |
39 | 39 | } | |
40 | 40 | else throw("fail to cast into String") | |
41 | 41 | } | |
42 | 42 | ||
43 | 43 | ||
44 | 44 | func o (j) = { | |
45 | 45 | let k = j | |
46 | 46 | if ($isInstanceOf(k, "Int")) | |
47 | 47 | then { | |
48 | 48 | let p = k | |
49 | 49 | p | |
50 | 50 | } | |
51 | 51 | else throw("fail to cast into Int") | |
52 | 52 | } | |
53 | 53 | ||
54 | 54 | ||
55 | 55 | let q = ["GXxmZaCigPgJsT6d1cLr8nUXA65nGX8V7FuAzzrY8wQE", "3xumx4hrPpeeoo79HLGbZCgfz95L39ZFdxxwWeSUC2Pu", "D4CqtK5fBsnzRo33ZMhrM7niLseDH2uRoK6weBq2JQ3A", "5WRXFSjwcTbNfKcJs8ZqXmSSWYsSVJUtMvMqZj5hH4Nc"] | |
56 | 56 | ||
57 | 57 | let r = "__" | |
58 | 58 | ||
59 | 59 | let s = 100000000 | |
60 | 60 | ||
61 | 61 | let t = 1000000 | |
62 | 62 | ||
63 | 63 | let u = 1000000 | |
64 | 64 | ||
65 | 65 | let v = 20000 | |
66 | 66 | ||
67 | 67 | let w = 1440 | |
68 | 68 | ||
69 | 69 | let x = 0 | |
70 | 70 | ||
71 | 71 | let y = 1 | |
72 | 72 | ||
73 | 73 | let z = 2 | |
74 | 74 | ||
75 | 75 | let A = "neutrino_asset_id" | |
76 | 76 | ||
77 | 77 | let B = "bond_asset_id" | |
78 | 78 | ||
79 | 79 | let C = "auction_contract" | |
80 | 80 | ||
81 | 81 | let D = "liquidation_contract" | |
82 | 82 | ||
83 | 83 | let E = "rpd_contract" | |
84 | 84 | ||
85 | 85 | let F = "control_contract" | |
86 | 86 | ||
87 | 87 | let G = "rest_contract" | |
88 | 88 | ||
89 | 89 | let H = "math_contract" | |
90 | 90 | ||
91 | 91 | let I = "balance_waves_lock_interval" | |
92 | 92 | ||
93 | 93 | let J = "balance_neutrino_lock_interval" | |
94 | 94 | ||
95 | 95 | let K = "min_waves_swap_amount" | |
96 | 96 | ||
97 | 97 | let L = "min_neutrino_swap_amount" | |
98 | 98 | ||
99 | 99 | let M = "node_oracle_provider" | |
100 | 100 | ||
101 | 101 | let N = "neutrinoOut_swap_feePart" | |
102 | 102 | ||
103 | 103 | let O = "wavesOut_swap_feePart" | |
104 | 104 | ||
105 | 105 | let P = "fees_manager_address" | |
106 | 106 | ||
107 | 107 | func Q () = "%s__quickSwapLimitDuration" | |
108 | 108 | ||
109 | 109 | ||
110 | 110 | let R = "price" | |
111 | 111 | ||
112 | 112 | let S = "price_index" | |
113 | 113 | ||
114 | 114 | let T = "is_blocked" | |
115 | 115 | ||
116 | 116 | func U (V) = ((R + "_") + toString(V)) | |
117 | 117 | ||
118 | 118 | ||
119 | 119 | func W (X) = ((S + "_") + toString(X)) | |
120 | 120 | ||
121 | 121 | ||
122 | 122 | func Y (Z) = c(makeString(["%s%d%s", "lease", toString(Z), "nodeAddress"], r)) | |
123 | 123 | ||
124 | 124 | ||
125 | 125 | func aa (Z) = addressFromStringValue(Y(Z)) | |
126 | 126 | ||
127 | 127 | ||
128 | 128 | func ab () = valueOrElse(getInteger(this, makeString(["%s%s", "lease", "sponsorshipWavesReserve"], r)), (1000 * s)) | |
129 | 129 | ||
130 | 130 | ||
131 | 131 | func ac (ad) = ("balance_unlock_block_" + ad) | |
132 | 132 | ||
133 | 133 | ||
134 | 134 | func ae (af) = makeString(["%s%d%s", "lease", toString(af), "id"], r) | |
135 | 135 | ||
136 | 136 | ||
137 | 137 | func ag (af) = makeString(["%s%d%s", "lease", toString(af), "amount"], r) | |
138 | 138 | ||
139 | 139 | ||
140 | 140 | func ah (ai) = (("min_" + ai) + "_swap_amount") | |
141 | 141 | ||
142 | 142 | ||
143 | 143 | func aj (ai) = ("balance_lock_" + ai) | |
144 | 144 | ||
145 | 145 | ||
146 | 146 | func ak (ai,ad) = makeString(["balance_lock", ai, ad], "_") | |
147 | 147 | ||
148 | 148 | ||
149 | 149 | func al (ai) = (("balance_" + ai) + "_lock_interval") | |
150 | 150 | ||
151 | 151 | ||
152 | 152 | func am (ai) = (("balance_" + ai) + "_lock_interval_minimum") | |
153 | 153 | ||
154 | 154 | ||
155 | 155 | func an () = "balance_node_lock_interval" | |
156 | 156 | ||
157 | 157 | ||
158 | 158 | func ao (ai) = (ai + "Out_swap_feePart") | |
159 | 159 | ||
160 | 160 | ||
161 | 161 | func ap (ai) = valueOrElse(getInteger(this, ah(ai)), 0) | |
162 | 162 | ||
163 | 163 | ||
164 | 164 | func aq (ai) = valueOrElse(getInteger(this, aj(ai)), 0) | |
165 | 165 | ||
166 | 166 | ||
167 | 167 | func ar (ai,ad) = valueOrElse(getInteger(this, ak(ai, ad)), 0) | |
168 | 168 | ||
169 | 169 | ||
170 | 170 | func as (ai) = valueOrElse(getInteger(this, al(ai)), 1440) | |
171 | 171 | ||
172 | 172 | ||
173 | 173 | func at (ai) = valueOrElse(getInteger(this, am(ai)), 60) | |
174 | 174 | ||
175 | 175 | ||
176 | 176 | func au () = valueOrElse(getInteger(this, an()), 1) | |
177 | 177 | ||
178 | 178 | ||
179 | 179 | func av (aw) = makeString(["%s%s", "quickSwapUserSpentInPeriod", aw], r) | |
180 | 180 | ||
181 | 181 | ||
182 | 182 | func ax (aw) = makeString(["%s%s", "userLastQuickSwapHeight", aw], r) | |
183 | 183 | ||
184 | 184 | ||
185 | 185 | func ay () = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(this, P), (P + " is not specified"))), (P + " invalid address format")) | |
186 | 186 | ||
187 | 187 | ||
188 | 188 | func az (aA,aB) = fraction(fraction(aA, u, aB), s, t) | |
189 | 189 | ||
190 | 190 | ||
191 | 191 | func aC (aA,aB) = fraction(fraction(aA, aB, u), t, s) | |
192 | 192 | ||
193 | 193 | ||
194 | 194 | func aD (aA,aB) = aC(aA, aB) | |
195 | 195 | ||
196 | 196 | ||
197 | 197 | func aE (aF) = split(aF, ",") | |
198 | 198 | ||
199 | 199 | ||
200 | 200 | func aG (ai,aH) = throw(((("The specified amount in " + ai) + " swap is less than the required minimum of ") + toString(aH))) | |
201 | 201 | ||
202 | 202 | ||
203 | 203 | func aI () = throw("contract is blocked by EMERGENCY SHUTDOWN actions untill reactivation by emergency oracles") | |
204 | 204 | ||
205 | 205 | ||
206 | 206 | func aJ (X,aK,aL,aM,aN) = throw(((((((((("invalid price history index: index=" + toString(X)) + " priceIndex=") + toString(aK)) + " indexHeight=") + toString(aL)) + " unlockHeight=") + toString(aM)) + " prevIndexHeight=") + toString(aN))) | |
207 | 207 | ||
208 | 208 | ||
209 | 209 | let aO = c(D) | |
210 | 210 | ||
211 | 211 | let aP = fromBase58String(c(A)) | |
212 | 212 | ||
213 | 213 | let aQ = c(C) | |
214 | 214 | ||
215 | 215 | let aR = c(E) | |
216 | 216 | ||
217 | 217 | let aS = c(F) | |
218 | 218 | ||
219 | 219 | let aT = c(G) | |
220 | 220 | ||
221 | 221 | let aU = c(H) | |
222 | 222 | ||
223 | 223 | let aK = e(aS, S) | |
224 | 224 | ||
225 | 225 | let aV = h(aS, T) | |
226 | 226 | ||
227 | 227 | let aW = fromBase58String(c(M)) | |
228 | 228 | ||
229 | 229 | let aX = fromBase58String("BGhPYquXSK6UYjnPLEn94gFhetp4Jvf7toekEY4x1VDH") | |
230 | 230 | ||
231 | 231 | let aY = fromBase58String("975akZBfnMj513U7MZaHKzQrmsEx5aE3wdWKTrHBhbjF") | |
232 | 232 | ||
233 | 233 | let aZ = this | |
234 | 234 | ||
235 | 235 | let ba = addressFromStringValue(aU) | |
236 | 236 | ||
237 | 237 | let bb = e(aS, R) | |
238 | 238 | ||
239 | 239 | func bc (bd) = { | |
240 | 240 | let be = 100000 | |
241 | 241 | let bf = 1000 | |
242 | 242 | let bg = aC(be, bb) | |
243 | 243 | let bh = (bg * 2) | |
244 | 244 | let bi = fraction(bg, bf, 100) | |
245 | 245 | let bj = value(bd.minSponsoredAssetFee) | |
246 | 246 | if (if ((bj >= bh)) | |
247 | 247 | then (bi >= bj) | |
248 | 248 | else false) | |
249 | 249 | then (bd.assetId == aP) | |
250 | 250 | else false | |
251 | 251 | } | |
252 | 252 | ||
253 | 253 | ||
254 | 254 | func bk (V) = e(aS, U(V)) | |
255 | 255 | ||
256 | 256 | ||
257 | 257 | func bl (X) = e(aS, W(X)) | |
258 | 258 | ||
259 | 259 | ||
260 | 260 | let bm = 1 | |
261 | 261 | ||
262 | 262 | let bn = 2 | |
263 | 263 | ||
264 | 264 | let bo = 3 | |
265 | 265 | ||
266 | 266 | let bp = 4 | |
267 | 267 | ||
268 | 268 | let bq = 5 | |
269 | 269 | ||
270 | 270 | let br = 6 | |
271 | 271 | ||
272 | 272 | let bs = 7 | |
273 | 273 | ||
274 | 274 | let bt = 8 | |
275 | 275 | ||
276 | 276 | let bu = 9 | |
277 | 277 | ||
278 | 278 | let bv = 10 | |
279 | 279 | ||
280 | 280 | let bw = 11 | |
281 | 281 | ||
282 | 282 | let bx = 12 | |
283 | 283 | ||
284 | 284 | let by = 13 | |
285 | 285 | ||
286 | 286 | let bz = 14 | |
287 | 287 | ||
288 | 288 | let bA = 15 | |
289 | 289 | ||
290 | 290 | let bB = 16 | |
291 | 291 | ||
292 | 292 | func bC (aw,bD) = makeString(["%s%s", aw, bD], r) | |
293 | 293 | ||
294 | 294 | ||
295 | 295 | func bE (ai,bF,bG,aB,bH,bI,bJ,bK,bL,bM,bN,bO,X,bP,bQ,bR) = makeString(["%s%s%d%d%d%d%d%d%d%d%d%d%d%s", ai, bF, bG, aB, bH, bI, bJ, bK, bL, bM, bN, bO, X, bP, bQ, bR], r) | |
296 | 296 | ||
297 | 297 | ||
298 | 298 | func bS (ai,bT,bN) = bE(ai, "PENDING", toString(bT), "0", "0", "0", toString(height), toString(lastBlock.timestamp), "0", "0", toString(bN), "0", "0", "NULL", "0", "0") | |
299 | 299 | ||
300 | 300 | ||
301 | 301 | func bU (bV,aB,bH,bI,bO,X,bP) = bE(bV[bm], "FINISHED", bV[bo], toString(aB), toString(bH), toString(bI), bV[bs], bV[bt], toString(height), toString(lastBlock.timestamp), bV[bw], toString(bO), toString(X), bP, bV[bA], bV[bB]) | |
302 | 302 | ||
303 | 303 | ||
304 | 304 | func bW (aw,bX) = { | |
305 | 305 | let bY = bC(aw, bX) | |
306 | 306 | split(valueOrErrorMessage(getString(this, bY), ("no swap data for " + bY)), r) | |
307 | 307 | } | |
308 | 308 | ||
309 | 309 | ||
310 | 310 | func bZ (ca,cb) = { | |
311 | 311 | let cc = fraction(ca, cb, t) | |
312 | 312 | [(ca - cc), cc, ca] | |
313 | 313 | } | |
314 | 314 | ||
315 | 315 | ||
316 | 316 | func cd (ce) = if ((0 > ce)) | |
317 | 317 | then -(ce) | |
318 | 318 | else ce | |
319 | 319 | ||
320 | 320 | ||
321 | 321 | func cf (cg) = { | |
322 | 322 | let ch = ((wavesBalance(aZ).available - cg) - ab()) | |
323 | 323 | let ci = a(ag(0)) | |
324 | 324 | let cj = a(ag(1)) | |
325 | 325 | let ck = (ch + ci) | |
326 | 326 | let cl = (ch + cj) | |
327 | 327 | if (if ((ck > 0)) | |
328 | 328 | then true | |
329 | 329 | else (cl > 0)) | |
330 | 330 | then { | |
331 | 331 | let cm = cd((ck - cj)) | |
332 | 332 | let cn = cd((cl - ci)) | |
333 | 333 | if ((cn >= cm)) | |
334 | 334 | then $Tuple2(0, ck) | |
335 | 335 | else $Tuple2(1, cl) | |
336 | 336 | } | |
337 | 337 | else $Tuple2(-1, 0) | |
338 | 338 | } | |
339 | 339 | ||
340 | 340 | ||
341 | 341 | func co (cg) = { | |
342 | 342 | let cp = cf(cg) | |
343 | 343 | let af = cp._1 | |
344 | 344 | let cq = cp._2 | |
345 | 345 | if ((cq > 0)) | |
346 | 346 | then { | |
347 | 347 | let cr = ae(af) | |
348 | 348 | let cs = getBinary(this, cr) | |
349 | 349 | let ct = if (isDefined(cs)) | |
350 | 350 | then [LeaseCancel(value(cs))] | |
351 | 351 | else nil | |
352 | 352 | let cu = ag(af) | |
353 | 353 | let cv = Lease(aa(af), cq) | |
354 | 354 | (ct ++ [cv, BinaryEntry(cr, calculateLeaseId(cv)), IntegerEntry(ag(af), cq)]) | |
355 | 355 | } | |
356 | 356 | else nil | |
357 | 357 | } | |
358 | 358 | ||
359 | 359 | ||
360 | 360 | func cw (cx,X,bX,cy) = { | |
361 | 361 | let aw = addressFromStringValue(cx) | |
362 | 362 | let cz = ay() | |
363 | 363 | let bV = bW(cx, bX) | |
364 | 364 | let bN = parseIntValue(bV[bw]) | |
365 | 365 | let ai = bV[bm] | |
366 | 366 | let bG = parseIntValue(bV[bo]) | |
367 | 367 | let cA = bV[bn] | |
368 | 368 | let bJ = parseIntValue(bV[bs]) | |
369 | 369 | let cB = valueOrElse(getInteger(this, ao(ai)), v) | |
370 | 370 | let cC = aq(ai) | |
371 | 371 | let cD = ar(ai, cx) | |
372 | 372 | let aM = (bJ + (if ((ai == "waves")) | |
373 | 373 | then getIntegerValue(this, I) | |
374 | 374 | else getIntegerValue(this, J))) | |
375 | 375 | let aL = bl(X) | |
376 | 376 | let aN = bl((X - 1)) | |
377 | 377 | let cE = bk(aL) | |
378 | 378 | let cF = if ((ai == "waves")) | |
379 | 379 | then $Tuple2(aC(bG, cE), aP) | |
380 | 380 | else if ((ai == "neutrino")) | |
381 | 381 | then $Tuple2(az(bG, cE), unit) | |
382 | 382 | else throw(("Unsupported swap type " + ai)) | |
383 | 383 | let cG = bZ(cF._1, cB) | |
384 | 384 | let bH = cG[x] | |
385 | 385 | let bI = cG[y] | |
386 | 386 | if (aV) | |
387 | 387 | then aI() | |
388 | 388 | else if ((cA != "PENDING")) | |
389 | 389 | then throw("swap has been already processed") | |
390 | 390 | else if ((aM > height)) | |
391 | 391 | then throw((("please wait for: " + toString(aM)) + " block height to withdraw funds")) | |
392 | 392 | else if (if (if ((X > aK)) | |
393 | 393 | then true | |
394 | 394 | else (aM > aL)) | |
395 | 395 | then true | |
396 | 396 | else if ((aN != 0)) | |
397 | 397 | then (aN >= aM) | |
398 | 398 | else false) | |
399 | 399 | then aJ(X, aK, aL, aM, aN) | |
400 | 400 | else if ((0 >= cG[z])) | |
401 | 401 | then throw("balance equals zero") | |
402 | 402 | else if (if ((0 > cB)) | |
403 | 403 | then true | |
404 | 404 | else (cB >= t)) | |
405 | 405 | then throw(((("invalid outFeePart config for " + ai) + " swap: outFeePart=") + toString(cB))) | |
406 | 406 | else { | |
407 | 407 | let cH = if (if ((ai == "neutrino")) | |
408 | 408 | then (cF._1 > 0) | |
409 | 409 | else false) | |
410 | 410 | then co(cF._1) | |
411 | 411 | else nil | |
412 | 412 | $Tuple2((cH ++ [IntegerEntry(ak(ai, cx), (cD - bG)), IntegerEntry(aj(ai), (cC - bG)), ScriptTransfer(aw, bH, cF._2), ScriptTransfer(cz, bI, cF._2), StringEntry(bC(cx, bX), bU(bV, cE, bH, bI, aM, X, toBase58String(cy.transactionId)))]), unit) | |
413 | 413 | } | |
414 | 414 | } | |
415 | 415 | ||
416 | 416 | ||
417 | 417 | @Callable(cy) | |
418 | 418 | func commonSwap (ai,cI,cJ,cK) = { | |
419 | 419 | let cL = if ((cy.caller != this)) | |
420 | 420 | then throw("Permission denied. Wrong caller.") | |
421 | 421 | else true | |
422 | 422 | if ((cL == cL)) | |
423 | 423 | then { | |
424 | 424 | let cM = if ((cy.originCaller != addressFromStringValue(cJ))) | |
425 | 425 | then throw("Permission denied. Wrong origin caller.") | |
426 | 426 | else true | |
427 | 427 | if ((cM == cM)) | |
428 | 428 | then { | |
429 | 429 | let aH = ap(ai) | |
430 | 430 | let cC = aq(ai) | |
431 | 431 | let cD = ar(ai, cJ) | |
432 | 432 | let cN = Y(0) | |
433 | 433 | let cO = if ((cN == cJ)) | |
434 | 434 | then au() | |
435 | 435 | else if ((ai == "waves")) | |
436 | 436 | then getIntegerValue(this, I) | |
437 | 437 | else getIntegerValue(this, J) | |
438 | 438 | let bN = (height + cO) | |
439 | 439 | let cP = if ((aH > cI)) | |
440 | 440 | then aG(ai, aH) | |
441 | 441 | else true | |
442 | 442 | if ((cP == cP)) | |
443 | 443 | then { | |
444 | 444 | let cQ = a(ax(cJ)) | |
445 | 445 | if ((w > (height - cQ))) | |
446 | 446 | then throw(("You have exceeded swap limit for 24h! Next allowed swap height is " + toString((cQ + w)))) | |
447 | 447 | else { | |
448 | 448 | let cR = i(invoke(ba, "calcUserSwapLimitsMATH", [cJ], nil)) | |
449 | 449 | if ((cR == cR)) | |
450 | 450 | then { | |
451 | 451 | let cS = o(cR[1]) | |
452 | 452 | let cE = bk(bl(aK)) | |
453 | 453 | let cT = if ((ai == "neutrino")) | |
454 | 454 | then cI | |
455 | 455 | else aC(cI, cE) | |
456 | 456 | if ((cT > cS)) | |
457 | 457 | then throw(((("You have exceeded your swap limit! Requested: " + toString(cT)) + ", available: ") + toString(cS))) | |
458 | 458 | else if (aV) | |
459 | 459 | then aI() | |
460 | 460 | else { | |
461 | 461 | let cH = if ((ai == "waves")) | |
462 | 462 | then co(0) | |
463 | 463 | else nil | |
464 | 464 | $Tuple2(([IntegerEntry(av(cJ), cT), IntegerEntry(ax(cJ), height), IntegerEntry(ak(ai, cJ), (cD + cI)), IntegerEntry(ac(cJ), bN), IntegerEntry(aj(ai), (cC + cI)), StringEntry(bC(cJ, cK), bS(ai, cI, bN))] ++ cH), unit) | |
465 | 465 | } | |
466 | 466 | } | |
467 | 467 | else throw("Strict value is not equal to itself.") | |
468 | 468 | } | |
469 | 469 | } | |
470 | 470 | else throw("Strict value is not equal to itself.") | |
471 | 471 | } | |
472 | 472 | else throw("Strict value is not equal to itself.") | |
473 | 473 | } | |
474 | 474 | else throw("Strict value is not equal to itself.") | |
475 | 475 | } | |
476 | 476 | ||
477 | 477 | ||
478 | 478 | ||
479 | 479 | @Callable(cy) | |
480 | 480 | func swapWavesToNeutrino () = { | |
481 | 481 | let cU = value(cy.payments[0]) | |
482 | 482 | if (isDefined(cU.assetId)) | |
483 | 483 | then throw("Only Waves token is allowed for swapping.") | |
484 | 484 | else { | |
485 | 485 | let aw = toString(cy.caller) | |
486 | 486 | let cK = toBase58String(cy.transactionId) | |
487 | 487 | let cV = invoke(this, "commonSwap", ["waves", cU.amount, aw, cK], nil) | |
488 | 488 | if ((cV == cV)) | |
489 | 489 | then nil | |
490 | 490 | else throw("Strict value is not equal to itself.") | |
491 | 491 | } | |
492 | 492 | } | |
493 | 493 | ||
494 | 494 | ||
495 | 495 | ||
496 | 496 | @Callable(cy) | |
497 | 497 | func swapNeutrinoToWaves () = { | |
498 | 498 | let cU = value(cy.payments[0]) | |
499 | 499 | if ((cU.assetId != aP)) | |
500 | 500 | then throw("Only appropriate Neutrino tokens are allowed for swapping.") | |
501 | 501 | else { | |
502 | 502 | let aw = toString(cy.caller) | |
503 | 503 | let cK = toBase58String(cy.transactionId) | |
504 | 504 | let cV = invoke(this, "commonSwap", ["neutrino", cU.amount, aw, cK], nil) | |
505 | 505 | if ((cV == cV)) | |
506 | 506 | then nil | |
507 | 507 | else throw("Strict value is not equal to itself.") | |
508 | 508 | } | |
509 | 509 | } | |
510 | 510 | ||
511 | 511 | ||
512 | 512 | ||
513 | 513 | @Callable(cy) | |
514 | 514 | func withdraw (cx,X,bX) = cw(cx, X, bX, cy) | |
515 | 515 | ||
516 | 516 | ||
517 | 517 | ||
518 | 518 | @Callable(cy) | |
519 | 519 | func transferToAuction () = { | |
520 | 520 | let cW = i(invoke(ba, "calcNeutinoMetricsMATH", nil, nil)) | |
521 | 521 | let cX = o(cW[4]) | |
522 | 522 | let cY = o(cW[6]) | |
523 | 523 | let cZ = o(cW[7]) | |
524 | 524 | let da = o(cW[10]) | |
525 | 525 | let db = (cY - assetBalance(addressFromStringValue(aQ), aX)) | |
526 | 526 | let dc = (cZ - assetBalance(addressFromStringValue(aO), aP)) | |
527 | 527 | if (aV) | |
528 | 528 | then throw("contract is blocked by EMERGENCY SHUTDOWN actions untill reactivation by emergency oracles") | |
529 | 529 | else if ((db > (1 * t))) | |
530 | 530 | then [ScriptTransfer(addressFromStringValue(aQ), db, aX)] | |
531 | 531 | else if ((dc >= (1 * t))) | |
532 | 532 | then [ScriptTransfer(addressFromStringValue(aO), dc, aP)] | |
533 | 533 | else throw(((((((("bond were generated or do not need it. Deficit:" + toString(db)) + "|") + toString(0)) + ". Surplus:") + toString(dc)) + "|") + toString(cZ))) | |
534 | 534 | } | |
535 | 535 | ||
536 | 536 | ||
537 | 537 | ||
538 | 538 | @Callable(cy) | |
539 | 539 | func acceptWaves () = if ((cy.caller != addressFromStringValue(aQ))) | |
540 | 540 | then throw("Currently only auction contract is allowed to call") | |
541 | 541 | else $Tuple2(co(0), "success") | |
542 | 542 | ||
543 | 543 | ||
544 | 544 | @Verifier(bd) | |
545 | 545 | func dd () = { | |
546 | 546 | let de = toBase58String(bd.id) | |
547 | 547 | let df = ((((if (sigVerify(bd.bodyBytes, bd.proofs[0], fromBase58String(q[0]))) | |
548 | 548 | then 1 | |
549 | 549 | else 0) + (if (sigVerify(bd.bodyBytes, bd.proofs[1], fromBase58String(q[1]))) | |
550 | 550 | then 1 | |
551 | 551 | else 0)) + (if (sigVerify(bd.bodyBytes, bd.proofs[2], fromBase58String(q[2]))) | |
552 | 552 | then 1 | |
553 | 553 | else 0)) + (if (sigVerify(bd.bodyBytes, bd.proofs[3], fromBase58String(q[3]))) | |
554 | 554 | then 2 | |
555 | 555 | else 0)) | |
556 | 556 | let k = bd | |
557 | 557 | if ($isInstanceOf(k, "SponsorFeeTransaction")) | |
558 | 558 | then { | |
559 | 559 | let dg = k | |
560 | 560 | if (bc(dg)) | |
561 | 561 | then (df >= 3) | |
562 | 562 | else false | |
563 | 563 | } | |
564 | 564 | else (df >= 3) | |
565 | 565 | } | |
566 | 566 |
github/deemru/w8io/3ef1775 84.66 ms ◑