tx · 4S8qFDjZEchpBSraXhJMGSco5Na4UncbQPr8F2RX12kW

3Mrnje6z2xa3xuXyU2Lk6ynKy8tsRnnt4Bv:  -0.01400000 Waves

2021.08.29 15:58 [1679681] smart account 3Mrnje6z2xa3xuXyU2Lk6ynKy8tsRnnt4Bv > SELF 0.00000000 Waves

{ "type": 13, "id": "4S8qFDjZEchpBSraXhJMGSco5Na4UncbQPr8F2RX12kW", "fee": 1400000, "feeAssetId": null, "timestamp": 1630241956824, "version": 2, "chainId": 84, "sender": "3Mrnje6z2xa3xuXyU2Lk6ynKy8tsRnnt4Bv", "senderPublicKey": "28sGn7FYnmxceAmnGYiDiKuMK1QyXiqX8zQXfKDnrc8t", "proofs": [ "3a3JjAGcofgoW1pb6hBkK7AKiDRefKvTDywY6UxW5zFqtfAq366ntdAiMLF9tE2bFrmocPv3neu8tpRqLTeiWcBa" ], "script": "base64:AAIEAAAAAAAAADcIAhIAEgASBAoCCAESAwoBCBIDCgEIEgMKAQgSAwoBCBIDCgEIEgMKAQgSAwoBCBIGCgQICAgIAAAABgAAAAALVVNEVEFzc2V0SUQBAAAAIAhlhLcP8IpqGvPiaOguCJAkw9MnWAPNLPYuXgvf2hWkAAAAAA1CYWxsZXRBc3NldElEAQAAACAtb1sBuZ3lSm8ahGink+4TF5YYAu/xRHYwe1h195OooAAAAAAXQ29sbGVjdEJhbGxldEZlZUFkZHJlc3MJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEBAAAAIOOt17LUijbWojwDE5tgFkw1Y8cwIr3jselcewpp7rwjAAAAABVJc3N1ZUJhbGxldEZlZUFkZHJlc3MJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEBAAAAIOOt17LUijbWojwDE5tgFkw1Y8cwIr3jselcewpp7rwjAAAAABlDb2xsZWN0VVNEVFN3YXBGZWVBZGRyZXNzCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABAQAAACDjrdey1Io21qI8AxObYBZMNWPHMCK947HpXHsKae68IwAAAAAaQ29sbGVjdEFzc2V0U3dhcEZlZUFkZHJlc3MJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEBAAAAIOOt17LUijbWojwDE5tgFkw1Y8cwIr3jselcewpp7rwjAAAACwAAAAFpAQAAAAtJc3N1ZUJhbGxldAAAAAAEAAAAA3BtdAkBAAAABXZhbHVlAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAQAAAAKY3VycmVudEtleQkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAA5QcmljZVBlckJhbGxldAkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwIAAAAJQkFMTEVUL1ROBAAAAA9OZXdCYWxsZXRUb1VzZXIJAABrAAAAAwAAAAAAAAGGoAgFAAAAA3BtdAAAAAZhbW91bnQFAAAADlByaWNlUGVyQmFsbGV0BAAAABRQcmV2aW91c0lzc3VlZEJhbGxldAkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwIAAAAUVG90YWxfSXNzdWVkX0JhbGxldDoEAAAAEVRvdGFsSXNzdWVkQmFsbGV0CQAAZAAAAAIFAAAAFFByZXZpb3VzSXNzdWVkQmFsbGV0BQAAAA9OZXdCYWxsZXRUb1VzZXIEAAAAGlByZXZpb3VzQmFsbGV0UmVzZXJ2ZVZhbHVlCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzAgAAABtUb3RhbF9CYWxsZXRfUmVzZXJ2ZV9Jbl9UTjoEAAAAEkJhbGxldFJlc2VydmVWYWx1ZQkAAGQAAAACBQAAABpQcmV2aW91c0JhbGxldFJlc2VydmVWYWx1ZQgFAAAAA3BtdAAAAAZhbW91bnQEAAAAGVByZXZpb3VzQmFsbGV0QmFja3VwUHJpY2UJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAAGkJhbGxldF9CYWNrdXBfVmFsdWVfSW5fVE46BAAAABFCYWxsZXRCYWNrdXBQcmljZQkAAGsAAAADAAAAAAAAAYagBQAAABJCYWxsZXRSZXNlcnZlVmFsdWUFAAAAEVRvdGFsSXNzdWVkQmFsbGV0BAAAAA1GZWVQZXJjZW50YWdlAAAAAAAAAAABBAAAABtCYWxhbmNlVG9rZW5zUmV0dXJuZWRUb1VzZXIJAABlAAAAAgAAAAAAAAAAZAUAAAANRmVlUGVyY2VudGFnZQMJAQAAAAlpc0RlZmluZWQAAAABCAUAAAADcG10AAAAB2Fzc2V0SWQJAAACAAAAAQIAAAArSW5jb3JyZWN0IGFzc2V0IGF0dGFjaGVkLCBwbGVhc2UgYXR0YWNoIFROLgMJAABmAAAAAgAAAAAAAExLQAgFAAAAA3BtdAAAAAZhbW91bnQJAAACAAAAAQIAAAA0UGxlYXNlIEF0dGFjaCBtaW5pbXVtIDAuMDUgVE4gVG8gSXNzdWUgQmFsbGV0IEFzc2V0LgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAUVG90YWxfSXNzdWVkX0JhbGxldDoFAAAAEVRvdGFsSXNzdWVkQmFsbGV0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABtUb3RhbF9CYWxsZXRfUmVzZXJ2ZV9Jbl9UTjoFAAAAEkJhbGxldFJlc2VydmVWYWx1ZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAaQmFsbGV0X0JhY2t1cF9WYWx1ZV9Jbl9UTjoFAAAAEUJhbGxldEJhY2t1cFByaWNlCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAICAAAAB21lc3NhZ2UCAAAAKDxoMT5CYWxsZXQgSXNzdWVkIFN1Y2Nlc3NmdWxseSE8L2gxPjxicj4JAARMAAAAAgkBAAAAB1JlaXNzdWUAAAADBQAAAA1CYWxsZXRBc3NldElEBQAAAA9OZXdCYWxsZXRUb1VzZXIGCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgkAAGkAAAACCQAAaAAAAAIFAAAAD05ld0JhbGxldFRvVXNlcgUAAAAbQmFsYW5jZVRva2Vuc1JldHVybmVkVG9Vc2VyAAAAAAAAAABkBQAAAA1CYWxsZXRBc3NldElECQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAAFUlzc3VlQmFsbGV0RmVlQWRkcmVzcwkAAGkAAAACCQAAaAAAAAIFAAAAD05ld0JhbGxldFRvVXNlcgUAAAANRmVlUGVyY2VudGFnZQAAAAAAAAAAZAUAAAANQmFsbGV0QXNzZXRJRAUAAAADbmlsAAAAAWkBAAAACUxpcXVpZGF0ZQAAAAAEAAAACmN1cnJlbnRLZXkJAAJYAAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5BAAAAANwbXQJAQAAAAV2YWx1ZQAAAAEJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAEAAAAFFByZXZpb3VzSXNzdWVkQmFsbGV0CQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzAgAAABRUb3RhbF9Jc3N1ZWRfQmFsbGV0OgQAAAARVG90YWxJc3N1ZWRCYWxsZXQJAABlAAAAAgUAAAAUUHJldmlvdXNJc3N1ZWRCYWxsZXQIBQAAAANwbXQAAAAGYW1vdW50BAAAABpQcmV2aW91c0JhbGxldFJlc2VydmVWYWx1ZQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwIAAAAbVG90YWxfQmFsbGV0X1Jlc2VydmVfSW5fVE46BAAAABlQcmV2aW91c0JhbGxldEJhY2t1cFByaWNlCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzAgAAABpCYWxsZXRfQmFja3VwX1ZhbHVlX0luX1ROOgQAAAASY2FsY3VsYXRlYnVybnZhbHVlCQAAawAAAAMFAAAAGVByZXZpb3VzQmFsbGV0QmFja3VwUHJpY2UIBQAAAANwbXQAAAAGYW1vdW50AAAAAAAAAYagBAAAABJCYWxsZXRSZXNlcnZlVmFsdWUJAABlAAAAAgUAAAAaUHJldmlvdXNCYWxsZXRSZXNlcnZlVmFsdWUFAAAAEmNhbGN1bGF0ZWJ1cm52YWx1ZQQAAAARQmFsbGV0QmFja3VwUHJpY2UJAABrAAAAAwAAAAAAAAGGoAUAAAASQmFsbGV0UmVzZXJ2ZVZhbHVlBQAAABFUb3RhbElzc3VlZEJhbGxldAMJAQAAAAIhPQAAAAIIBQAAAANwbXQAAAAHYXNzZXRJZAUAAAANQmFsbGV0QXNzZXRJRAkAAAIAAAABAgAAAEpLaW5kbHkgRGVwb3NpdCBPbmx5IDQ0TXE4S3FVaE05NHQ5M01pQnEzUzIyaWl1R2N6TXhwS21zZTVkQnkydzV5IChCYWxsZXQpLgMJAABmAAAAAgAAAAAAAAGGoAgFAAAAA3BtdAAAAAZhbW91bnQJAAACAAAAAQIAAAAwQXR0YWNoIEFtb3VudCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAwLjAwMSBCYWxsZXQuCQAETAAAAAIJAQAAAARCdXJuAAAAAgUAAAANQmFsbGV0QXNzZXRJRAgFAAAAA3BtdAAAAAZhbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAFFRvdGFsX0lzc3VlZF9CYWxsZXQ6BQAAABFUb3RhbElzc3VlZEJhbGxldAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAbVG90YWxfQmFsbGV0X1Jlc2VydmVfSW5fVE46BQAAABJCYWxsZXRSZXNlcnZlVmFsdWUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAGkJhbGxldF9CYWNrdXBfVmFsdWVf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MC4xIFROIFRva2VuIGlzIHJlcXVpcmVkIGFzIEF0dGFjaGVkIHBheW1lbnQuBAAAAA1jYWxsZXJhZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAADmNoZWNrZW5kaGVpZ2h0CQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAICAAAAClZvdGluZ19FSF8FAAAADEVudGVyQXNzZXRJRAQAAAAZY2hlY2twYWlyaXNhdmFpbGFibGVvcm5vdAkABB0AAAACBQAAAAR0aGlzCQABLAAAAAICAAAACFBhaXJfVVZfBQAAAAxFbnRlckFzc2V0SUQEAAAAFmNoZWNrdXNlcnZvdGluZ2JhbGFuY2UJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAtWb3Rlc19SY3ZkXwUAAAANY2FsbGVyYWRkcmVzcwIAAAABXwUAAAAMRW50ZXJBc3NldElECQABLAAAAAIFAAAADWNhbGxlcmFkZHJlc3MCAAAAJyBBZGRyZXNzIG5ldmVyIHZvdGVkIGFuZCBleGlzdCBpbiBsaXN0LgQAAAAdcGVuZGluZ2Jsb2Nrc2ZvcnByb2plY3RleHBpcmUJAABlAAAAAgUAAAAOY2hlY2tlbmRoZWlnaHQFAAAABmhlaWdodAMJAQAAAAIhPQAAAAIFAAAAGWNoZWNrcGFpcmlzYXZhaWxhYmxlb3Jub3QFAAAADEVudGVyQXNzZXRJRAkAAAIAAAABAgAAACVQYWlyIGlzIG5vdCBhdmFpbGFibGUgaW4gVm90aW5nIExpc3QuAwkAAGYAAAACBQAAAA5jaGVja2VuZGhlaWdodAUAAAAGaGVpZ2h0CQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAAEFWb3RpbmcgQWxyZWFkeSBSdW5uaW5nLiBZb3UgY2FuIHdpdGhkcmF3IHlvdXIgQmFsbGV0IFRva2VuIGFmdGVyIAkAAaQAAAABBQAAAB1wZW5kaW5nYmxvY2tzZm9ycHJvamVjdGV4cGlyZQIAAAAHIGJsb2NrcwMJAABnAAAAAgAAAAAAAAAAAAUAAAAWY2hlY2t1c2Vydm90aW5nYmFsYW5jZQkAAAIAAAABAgAAAD5Zb3UgZG9uJ3QgaGF2ZSBhbnkgZHVlcyBvZiBiYWxsZXQgYmFsYW5jZSBpbiB0aGlzIFZvdGluZyBQYWlyLgMJAQAAAAlpc0RlZmluZWQAAAABCAUAAAADcG10AAAAB2Fzc2V0SWQJAAACAAAAAQIAAABRRG9uJ3QgYXR0YWNoIGFueSBvdGhlciBhc3NldC4gUGxlYXNlIGF0dGFjaCAwLjEgVE4gYXMgYSBmZWUgdG8gcmVsZWFzZSB5b3VyIHRva2VuAwkBAAAAAiE9AAAAAggFAAAAA3BtdAAAAAZhbW91bnQAAAAAAACYloAJAAACAAAAAQIAAAA0UGxlYXNlIGF0dGFjaCAwLjEgVE4gYXMgYSBmZWUgdG8gcmVsZWFzZSB5b3VyIHRva2VuLgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAALVm90ZXNfUmN2ZF8FAAAADWNhbGxlcmFkZHJlc3MCAAAAAV8FAAAADEVudGVyQXNzZXRJRAAAAAAAAAAAAAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAAFmNoZWNrdXNlcnZvdGluZ2JhbGFuY2UFAAAADUJhbGxldEFzc2V0SUQFAAAAA25pbAAAAAFpAQAAAAxJc3N1ZUxQVG9rZW4AAAABAAAADEVudGVyQXNzZXRJRAQAAAALYWRtaW5yaWdodHMJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABB0AAAACBQAAAAR0aGlzAgAAAA9MUF9BZG1pbl9SaWdodHMCAAAAUExQIEFkbWluIFJpZ2h0cyBhcmUgTm90IEluY2x1ZGVkIGludG8gU21hcnQgQ29udHJhY3QuIERlcGxveSBBZG1pbiBSaWdodHMgRmlyc3QuBAAAAA1jYWxsZXJhZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAGWNoZWNrcGFpcmlzYXZhaWxhYmxlb3Jub3QJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABB0AAAACBQAAAAR0aGlzCQABLAAAAAIC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LAAAAAIJAAEsAAAAAgIAAAALQmFsYW5jZV9vZl8JAAJYAAAAAQUAAAALVVNEVEFzc2V0SUQCAAAAAV8FAAAADEVudGVyQXNzZXRJRAQAAAAQbmV3YmFsYW5jZW9mVVNEVAkAAGsAAAADBQAAABBDaGVja1VTRFRCYWxhbmNlBQAAABFDaGVja0Fzc2V0QmFsYW5jZQkAAGQAAAACBQAAABFDaGVja0Fzc2V0QmFsYW5jZQgFAAAAA3BtdAAAAAZhbW91bnQEAAAAFHF1YW50aXR5b2ZwcmljZWFzc2V0CQAAZQAAAAIFAAAAEENoZWNrVVNEVEJhbGFuY2UFAAAAEG5ld2JhbGFuY2VvZlVTRFQEAAAAE0N1cnJlbnRWb3RpbmdTdGF0dXMCAAAAAUYEAAAAB1N3YXBGZWUAAAAAAAAAAAEEAAAAEFN3YXBGZWV0b3JlY2VpdmUJAABpAAAAAgkAAGgAAAACBQAAABRxdWFudGl0eW9mcHJpY2Vhc3NldAUAAAAHU3dhcEZlZQAAAAAAAAAAZAQAAAAUdXNlcmJhbGFuY2V0b3JlY2VpdmUJAABlAAAAAgUAAAAUcXVhbnRpdHlvZnByaWNlYXNzZXQFAAAAEFN3YXBGZWV0b3JlY2VpdmUEAAAAGVN1bXVwb2ZBc3NldFRvVVNEVFN3YXBGZWUEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAABlUb3RhbF9Td2FwX0ZlZV9Db2xsZWN0ZWRfCQACWAAAAAEFAAAAC1VTRFRBc3NldElEAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAHE5ld1N1bXVwb2ZBc3NldFRvVVNEVFN3YXBGZWUJAABkAAAAAgUAAAAZU3VtdXBvZkFzc2V0VG9VU0RUU3dhcEZlZQUAAAAQU3dhcEZlZXRvcmVjZWl2ZQQAAAARU3VtdXBBc3NldEJhbGFuY2UEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAALQmFsYW5jZV9vZl8JAAJYAAAAAQUAAAALVVNEVEFzc2V0SUQCAAAAAV8FAAAADEVudGVyQXNzZXRJRAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAABZOZXdTdW11cG9mQXNzZXRCYWxhbmNlCQAAZAAAAAIFAAAAEUNoZWNrQXNzZXRCYWxhbmNlCAUAAAADcG10AAAABmFtb3VudAQAAAAQU3VtdXBVU0RUQmFsYW5jZQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAtCYWxhbmNlX29mXwUAAAAMRW50ZXJBc3NldElEAgAAAAFfCQACWAAAAAEFAAAAC1VTRFRBc3NldElEAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAFU5ld1N1bXVwb2ZVU0RUQmFsYW5jZQkAAGUAAAACBQAAABBDaGVja1VTRFRCYWxhbmNlBQAAABRxdWFudGl0eW9mcHJpY2Vhc3NldAQAAAAPU3VtdXBvZlN3YXBUeG5zBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMCAAAAE1RvdGFsX29mX1N3YXBzX1R4bnMDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAASTmV3U3VtdXBvZlN3YXBUeG5zCQAAZAAAAAIFAAAAD1N1bXVwb2ZTd2FwVHhucwAAAAAAAAAAAQMJAAAAAAAAAgUAAAAMRW50ZXJBc3NldElECQACWAAAAAEFAAAAC1VTRFRBc3NldElECQAAAgAAAAECAAAAiElucHV0IGNhbiBOZXZlciBiZSBhIFVTRFQgQXNzZXRJRC4gRW50ZXIgV2hpdGVsaXN0ZWQgQXNzZXRJRCBpbiBpbnB1dCBhbmQgQXR0YWNoIFdoaXRlbGlzdGVkIEFzc2V0IGFzIGFuIGF0dGFjaG1lbnQgVG9rZW4gaW4gcGF5bWVudFsxXS4DCQEAAAACIT0AAAACBQAAABljaGVja3BhaXJpc2F2YWlsYWJsZW9ybm90BQAAAAxFbnRlckFzc2V0SUQJAAACAAAAAQIAAAArUGFpciBpcyBub3QgYXZhaWxhYmxlIGluIFdoaXRlbGlzdGVkIEFzc2V0LgMJAAAAAAAAAgUAAAAMVm90aW5nU3RhdHVzBQAAABNDdXJyZW50Vm90aW5nU3RhdHVzCQAAAgAAAAEJAAEsAAAAAgUAAAAMRW50ZXJBc3NldElEAgAAACAgaXMgbm90IEEgV2hpdGVsaXN0ZWQgVG9rZW4gWWV0LgMJAAAAAAAAAggFAAAAA3BtdAAAAAdhc3NldElkBQAAAAtVU0RUQXNzZXRJRAkAAAIAAAABAgAAAFNZb3UgY2FuJ3QgQXR0YWNoIFVTRFQgYXMgYW4gQXR0YWNoZWQgUGF5bWVudC4gT25seSBXaGl0ZWxpc3RlZCBUb2tlbnMgYXJlIGFjY2VwdGVkLgMJAQAAAAIhPQAAAAIIBQAAAANwbXQAAAAHYXNzZXRJZAkAAlkAAAABBQAAAAxFbnRlckFzc2V0SUQJAAACAAAAAQkAASwAAAACAgAAADBJbmNvcnJlY3QgYXNzZXQgYXR0YWNoZWQsIHBsZWFzZSBhdHRhY2ggb3Igc2VuZCAFAAAADEVudGVyQXNzZXRJRAMJAAAAAAAAAgUAAAAQQ2hlY2tVU0RUQmFsYW5jZQAAAAAAAAAAAAkAAAIAAAABAgAAAGVTd2FwIFBhaXIgTmVlZCB0byBBZGQgTGlxdWlkaXR5IGZpcnN0IGludG8gUG9vbC4gT25seSBBZnRlciB0aGF0IFBhaXIgd2lsbCBiZSBhY3RpdmF0ZWQgZm9yIFN3YXBwaW5nLgMJAAAAAAAAAgUAAAARQ2hlY2tBc3NldEJhbGFuY2UAAAAAAAAAAAAJAAACAAAAAQIAAABlU3dhcCBQYWlyIE5lZWQgdG8gQWRkIExpcXVpZGl0eSBmaXJzdCBpbnRvIFBvb2wuIE9ubHkgQWZ0ZXIgdGhhdCBQYWlyIHdpbGwgYmUgYWN0aXZhdGVkIGZvciBTd2FwcGluZy4DCQAAZgAAAAIAAAAAAAAPQkAFAAAAFHF1YW50aXR5b2ZwcmljZWFzc2V0CQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAADRZb3VyIEF0dGFjaGVkIEFzc2V0IEFtb3VudCBpcyB2ZXJ5IGxvdy4gQXR0YWNoIE1vcmUgBQAAAAxFbnRlckFzc2V0SUQCAAAAOCBUb2tlbnMgdG8gQ2xhaW0gdGhlIG1pbmltdW0gQW1vdW50IG9mIDEgZG9sbGFyIGF0bGVhc3QuAwkAAGYAAAACBQAAABRxdWFudGl0eW9mcHJpY2Vhc3NldAUAAAAQQ2hlY2tVU0RUQmFsYW5jZQkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAdUG9vbCBPbmx5IGhhcyBhIExpcXVpZGl0eSBvZiAJAAGkAAAAAQkAAGkAAAACBQAAABBDaGVja1VTRFRCYWxhbmNlCQAAbAAAAAYAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAlVQAgAAAB8gVVNEVC4gQWRkIExpcXVpZGl0eSBpbnRvIFBvb2wuCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAGVRvdGFsX1N3YXBfRmVlX0NvbGxlY3RlZF8JAAJYAAAAAQUAAAALVVNEVEFzc2V0SUQFAAAAHE5ld1N1bXVwb2ZBc3NldFRvVVNEVFN3YXBGZWUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAE1RvdGFsX29mX1N3YXBzX1R4bnMFAAAAEk5ld1N1bXVwb2ZTd2FwVHhucwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAALQmFsYW5jZV9vZl8JAAJYAAAAAQUAAAALVVNEVEFzc2V0SUQCAAAAAV8FAAAADEVudGVyQXNzZXRJRAUAAAAWTmV3U3VtdXBvZkFzc2V0QmFsYW5jZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAALQmFsYW5jZV9vZl8FAAAADEVudGVyQXNzZXRJRAIAAAABXwkAAlgAAAABBQAAAAtVU0RUQXNzZXRJRAUAAAAVTmV3U3VtdXBvZlVTRFRCYWxhbmNlCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAUdXNlcmJhbGFuY2V0b3JlY2VpdmUFAAAAC1VTRFRBc3NldElECQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAAGUNvbGxlY3RVU0RUU3dhcEZlZUFkZHJlc3MFAAAAEFN3YXBGZWV0b3JlY2VpdmUFAAAAC1VTRFRBc3NldElEBQAAAANuaWwAAAABaQEAAAAYU3dhcFVTRFRUb0Fzc2V0UGFpckVudHJ5AAAAAQAAAAxFbnRlckFzc2V0SUQEAAAADWNhbGxlcmFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAADcG10AwkAAAAAAAACCQABkAAAAAEIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAACQAAAgAAAAECAAAANk9ubHkgVVNEVCBUb2tlbiBpcyByZXF1aXJlZCBhcyBhbiBBdHRhY2hlZCBwYXltZW50WzFdLgQAAAAQQ2hlY2tVU0RUQmFsYW5jZQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAALQmFsYW5jZV9vZl8FAAAADEVudGVyQXNzZXRJRAIAAAABXwkAAlgAAAABBQAAAAtVU0RUQXNzZXRJRAQAAAARQ2hlY2tBc3NldEJhbGFuY2UJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAC0JhbGFuY2Vfb2ZfCQACWAAAAAEFAAAAC1VTRFRBc3NldElEAgAAAAFfBQAAAAxFbnRlckFzc2V0SUQEAAAAEW5ld2JhbGFuY2VvZkFzc2V0CQAAawAAAAMFAAAAEENoZWNrVVNEVEJhbGFuY2UFAAAAEUNoZWNrQXNzZXRCYWxhbmNlCQAAZAAAAAIFAAAAEENoZWNrVVNEVEJhbGFuY2UIBQAAAANwbXQAAAAGYW1vdW50BAAAABRxdWFudGl0eW9mcHJpY2Vhc3NldAkAAGUAAAACBQAAABFDaGVja0Fzc2V0QmFsYW5jZQUAAAARbmV3YmFsYW5jZW9mQXNzZXQEAAAAGWNoZWNrcGFpcmlzYXZhaWxhYmxlb3Jub3QJAAQdAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAAAhQYWlyX1VWXwUAAAAMRW50ZXJBc3NldElEBAAAAAxWb3RpbmdTdGF0dXMJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAAOVm90aW5nX1N0YXR1c18FAAAADEVudGVyQXNzZXRJRAQAAAATQ3VycmVudFZvdGluZ1N0YXR1cwIAAAABRgQAAAAHU3dhcEZlZQAAAAAAAAAAAQQAAAAQU3dhcEZlZXRvcmVjZWl2ZQkAAGkAAAACCQAAaAAAAAIFAAAAFHF1YW50aXR5b2ZwcmljZWFzc2V0BQAAAAdTd2FwRmVlAAAAAAAAAABkBAAAABR1c2VyYmFsYW5jZXRvcmVjZWl2ZQkAAGUAAAACBQAAABRxdWFudGl0eW9mcHJpY2Vhc3NldAUAAAAQU3dhcEZlZXRvcmVjZWl2ZQQAAAAPU3VtdXBvZlN3YXBUeG5zBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMCAAAAE1RvdGFsX29mX1N3YXBzX1R4bnMDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAASTmV3U3VtdXBvZlN3YXBUeG5zCQAAZAAAAAIFAAAAD1N1bXVwb2ZTd2FwVHhucwAAAAAAAAAAAQQAAAAZU3VtdXBvZlVTRFRUb0Fzc2V0U3dhcEZlZQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzCQABLAAAAAICAAAAGVRvdGFsX1N3YXBfRmVlX0NvbGxlY3RlZF8FAAAADEVudGVyQXNzZXRJRAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAABxOZXdTdW11cG9mVVNEVFRvQXNzZXRTd2FwRmVlCQAAZAAAAAIFAAAAGVN1bXVwb2ZVU0RUVG9Bc3NldFN3YXBGZWUFAAAAEFN3YXBGZWV0b3JlY2VpdmUEAAAAEVN1bXVwQXNzZXRCYWxhbmNlBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAC0JhbGFuY2Vfb2ZfCQACWAAAAAEFAAAAC1VTRFRBc3NldElEAgAAAAFfBQAAAAxFbnRlckFzc2V0SUQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAWTmV3U3VtdXBvZkFzc2V0QmFsYW5jZQkAAGUAAAACBQAAABFDaGVja0Fzc2V0QmFsYW5jZQUAAAAUcXVhbnRpdHlvZnByaWNlYXNzZXQEAAAAEFN1bXVwVVNEVEJhbGFuY2UEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAALQmFsYW5jZV9vZl8FAAAADEVudGVyQXNzZXRJRAIAAAABXwkAAlgAAAABBQAAAAtVU0RUQXNzZXRJRAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAABVOZXdTdW11cG9mVVNEVEJhbGFuY2UJAABkAAAAAgUAAAAQQ2hlY2tVU0RUQmFsYW5jZQgFAAAAA3BtdAAAAAZhbW91bnQDCQEAAAACIT0AAAACBQAAABljaGVja3BhaXJpc2F2YWlsYWJsZW9ybm90BQAAAAxFbnRlckFzc2V0SUQJAAACAAAAAQIAAAArUGFpciBpcyBub3QgYXZhaWxhYmxlIGluIFdoaXRlbGlzdGVkIEFzc2V0LgMJAAAAAAAAAgUAAAAMVm90aW5nU3RhdHVzBQAAABNDdXJyZW50Vm90aW5nU3RhdHVzCQAAAgAAAAEJAAEsAAAAAgUAAAAMRW50ZXJBc3NldElEAgAAACAgaXMgbm90IEEgV2hpdGVsaXN0ZWQgVG9rZW4gWWV0LgMJAAAAAAAAAgUAAAAMRW50ZXJBc3NldElECQACWAAAAAEFAAAAC1VTRFRBc3NldElECQAAAgAAAAECAAAAe0lucHV0IGNhbiBOZXZlciBiZSBhIFVTRFQgQXNzZXRJRC4gRW50ZXIgV2hpdGVsaXN0ZWQgQXNzZXRJRCBpbiBpbnB1dCBhbmQgQXR0YWNoIFVTRFQgYXMgYW4gYXR0YWNobWVudCBUb2tlbiBpbiBwYXltZW50WzFdLgMJAQAAAAIhPQAAAAIIBQAAAANwbXQAAAAHYXNzZXRJZAUAAAALVVNEVEFzc2V0SUQJAAACAAAAAQIAAAB+WW91IGNhbiBBdHRhY2ggVVNEVCBhcyBhbiBBdHRhY2hlZCBQYXltZW50WzFdIHRvIFN3YXAgVVNEVCBUbyBSZXF1aXJlZCBUb2tlbi4gQW55IG90aGVyIGFzc2V0IGVsc2UgdGhhbiBVU0RUIHdpbGwgYmUgcmVqZWN0ZWQuAwkAAGYAAAACAAAAAAAAD0JACAUAAAADcG10AAAABmFtb3VudAkAAAIAAAABAgAAAFlZb3VyIEF0dGFjaGVkIFVTRFQgQW1vdW50IGlzIHZlcnkgbG93LiBBdHRhY2ggQXRsZWFzdCAxIFVTRFQgdG8gQ2xhaW0gdGhlIG1pbmltdW0gVG9rZW5zLgMJAAAAAAAAAgUAAAAQQ2hlY2tVU0RUQmFsYW5jZQAAAAAAAAAAAAkAAAIAAAABAgAAAGVTd2FwIFBhaXIgTmVlZCB0byBBZGQgTGlxdWlkaXR5IGZpcnN0IGludG8gUG9vbC4gT25seSBBZnRlciB0aGF0IFBhaXIgd2lsbCBiZSBhY3RpdmF0ZWQgZm9yIFN3YXBwaW5nLgMJAAAAAAAAAgUAAAARQ2hlY2tBc3NldEJhbGFuY2UAAAAAAAAAAAAJAAACAAAAAQIAAABlU3dhcCBQYWlyIE5lZWQgdG8gQWRkIExpcXVpZGl0eSBmaXJzdCBpbnRvIFBvb2wuIE9ubHkgQWZ0ZXIgdGhhdCBQYWlyIHdpbGwgYmUgYWN0aXZhdGVkIGZvciBTd2FwcGluZy4DCQAAZgAAAAIFAAAAFHF1YW50aXR5b2ZwcmljZWFzc2V0BQAAABFDaGVja0Fzc2V0QmFsYW5jZQkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAdUG9vbCBPbmx5IGhhcyBhIExpcXVpZGl0eSBvZiAJAAGkAAAAAQUAAAARQ2hlY2tBc3NldEJhbGFuY2UCAAAAISBUb2tlbnMuIEFkZCBMaXF1aWRpdHkgaW50byBQb29sLgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAABlUb3RhbF9Td2FwX0ZlZV9Db2xsZWN0ZWRfBQAAAAxFbnRlckFzc2V0SUQFAAAAHE5ld1N1bXVwb2ZVU0RUVG9Bc3NldFN3YXBGZWUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAE1RvdGFsX29mX1N3YXBzX1R4bnMFAAAAEk5ld1N1bXVwb2ZTd2FwVHhucwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAALQmFsYW5jZV9vZl8JAAJYAAAAAQUAAAALVVNEVEFzc2V0SUQCAAAAAV8FAAAADEVudGVyQXNzZXRJRAUAAAAWTmV3U3VtdXBvZkFzc2V0QmFsYW5jZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAALQmFsYW5jZV9vZl8FAAAADEVudGVyQXNzZXRJRAIAAAABXwkAAlgAAAABBQAAAAtVU0RUQXNzZXRJRAUAAAAVTmV3U3VtdXBvZlVTRFRCYWxhbmNlCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAUdXNlcmJhbGFuY2V0b3JlY2VpdmUJAAJZAAAAAQUAAAAMRW50ZXJBc3NldElECQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAAGkNvbGxlY3RBc3NldFN3YXBGZWVBZGRyZXNzBQAAABBTd2FwRmVldG9yZWNlaXZlCQACWQAAAAEFAAAADEVudGVyQXNzZXRJRAUAAAADbmlsAAAAAWkBAAAADEFkZExpcXVpZGl0eQAAAAEAAAAMRW50ZXJBc3NldElEBAAAAA1jYWxsZXJhZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAABHBtdDEJAQAAAAV2YWx1ZQAAAAEJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAEAAAABHBtdDIJAQAAAAV2YWx1ZQAAAAEJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAEEAAAAGWNoZWNrcGFpcmlzYXZhaWxhYmxlb3Jub3QJAAQdAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAAAhQYWlyX1VWXwUAAAAMRW50ZXJBc3NldElEBAAAAAxWb3RpbmdTdGF0dXMJAQAAABFAZXh0ck5h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cwUAAAATQ3VycmVudFZvdGluZ1N0YXR1cwkAAAIAAAABCQABLAAAAAIFAAAADEVudGVyQXNzZXRJRAIAAAAgIGlzIG5vdCBBIFdoaXRlbGlzdGVkIFRva2VuIFlldC4DCQAAAAAAAAIFAAAADEVudGVyQXNzZXRJRAkAAlgAAAABBQAAAAtVU0RUQXNzZXRJRAkAAAIAAAABAgAAAJRJbnB1dCBjYW4gTmV2ZXIgYmUgYSBVU0RUIEFzc2V0SUQuIEVudGVyIFdoaXRlbGlzdGVkIEFzc2V0SUQgaW4gaW5wdXQgYXMgd2VsbCBhcyBpbiBwYXltZW50WzFdIGFuZCBBdHRhY2ggVVNEVCBhcyBhbiBhdHRhY2htZW50IFRva2VuIGluIHBheW1lbnRbMl0uAwkBAAAAAiE9AAAAAgkAAZAAAAABCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAgkAAAIAAAABAgAAAItUd28gYXR0YWNoZWQgYXNzZXRzIGV4cGVjdGVkIGFzIHBheW1lbnQgaW4gNTAlLTUwJS4gS2luZGx5IEF0dGFjaCBwYXltZW50MSA9IFVTRFQgVG9rZW4gYW5kIHBheW1lbnQyID0gVG9rZW4geW91IHdhbnQgdG8gYWRkIGZvciBMaXF1aWRpdHkuAwkBAAAAAiE9AAAAAggFAAAABHBtdDEAAAAHYXNzZXRJZAUAAAALVVNEVEFzc2V0SUQJAAACAAAAAQIAAABUSW5jb3JyZWN0IGFzc2V0IGF0dGFjaGVkIGZvciBMaXF1aWRpdHkgaW4gcGF5bWVudFsxXSwgcGxlYXNlIGF0dGFjaCBVU0RUIFRva2VuIG9ubHkuAwkAAGYAAAACAAAAAAAAmJaACAUAAAAEcG10MQAAAAZhbW91bnQJAAACAAAAAQIAAAAscGxlYXNlIGF0dGFjaCBhdGxlYXN0IDEwIFVTRFQgaW4gcGF5bWVudFsxXS4DCQAAAAAAAAIIBQAAAARwbXQyAAAAB2Fzc2V0SWQFAAAAC1VTRFRBc3NldElECQAAAgAAAAECAAAAj1lvdSBBdHRhY2hlZCBVU0RUIGFzc2V0IGZvciBMaXF1aWRpdHkgaW4gYm90aCBwYXltZW50cywgS2luZGx5IEF0dGFjaCBwYXltZW50MSA9IFVTRFQgVG9rZW4gYW5kIHBheW1lbnQyID0gVG9rZW4geW91IHdhbnQgdG8gYWRkIGZvciBMaXF1aWRpdHkuAwkBAAAAAiE9AAAAAggFAAAABHBtdDIAAAAHYXNzZXRJZAkAAlkAAAABBQAAAAxFbnRlckFzc2V0SUQJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAADUFzc2V0IFN0cmluZyAFAAAADEVudGVyQXNzZXRJRAIAAABOIGlzIG5vdCBtYXRjaGluZyB3aXRoIGF0dGFjaGVkIHBheW1lbnRbMl0uIFN0cmluZyBhbmQgcGF5bWVudFsyXSBtdXN0IGJlIHNhbWUuAwkBAAAAAiE9AAAAAggFAAAABHBtdDIAAAAGYW1vdW50BQAAABZxdWFudGl0eW9mRW50ZXJBc3NldElECQAAAgAAAAEJAAEsAAAAAgIAAABYQXR0YWNoZWQgcGF5bWVudFsyXSBxdWFudGl0eSBpcyBub3QgbWF0Y2hpbmcgYXMgcGVyIGF0dGFjaGVkIHBheW1lbnRbMV0gVVNEVC5JdCBtdXN0IGJlIAkAAaQAAAABBQAAABZxdWFudGl0eW9mRW50ZXJBc3NldElECQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAtCYWxhbmNlX29mXwUAAAAMRW50ZXJBc3NldElEAgAAAAFfCQACWAAAAAEFAAAAC1VTRFRBc3NldElEBQAAABROZXdVU0RUSG9sZGluZ0luUGFpcgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAALQmFsYW5jZV9vZl8JAAJYAAAAAQUAAAALVVNEVEFzc2V0SUQCAAAAAV8FAAAADEVudGVyQXNzZXRJRAUAAAAVTmV3QXNzZXRIb2xkaW5nSW5QYWlyCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAACVRvdGFsX0xQXwUAAAAMRW50ZXJBc3NldElEBQAAABBOZXdMUFRva2VuSXNzdWVkCQAETAAAAAIJAQAAAAdSZWlzc3VlAAAAAwUAAAAOUmVpc3N1ZWFzc2V0SWQFAAAAEnF1YW50aXR5b2ZMUFRva2VuMQYFAAAAA25pbAAAAAFpAQAAAA9SZW1vdmVQYWlyRW50cnkAAAABAAAADEVudGVyQXNzZXRJRAQAAAALYWRtaW5yaWdodHMJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMCAAAAFVBvbGFyaXR5X0FkbWluX1JpZ2h0cwQAAAAOY2hlY2tlbmRoZWlnaHQJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAAKVm90aW5nX0VIXwUAAAAMRW50ZXJBc3NldElEBAAAABljaGVja3BhaXJpc2F2YWlsYWJsZW9ybm90CQAEHQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAAIUGFpcl9VVl8FAAAADEVudGVyQXNzZXRJRAQAAAAMVm90aW5nU3RhdHVzCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzCQABLAAAAAICAAAADlZvdGluZ19TdGF0dXNfBQAAAAxFbnRlckFzc2V0SUQEAAAAD05ld1ZvdGluZ1N0YXR1cwIAAAABUAQAAAANY2FsbGVyYWRkcmVzcwkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAA1jdXJyZW50aGVpZ2h0BQAAAAZoZWlnaHQEAAAAHXBlbmRpbmdibG9ja3Nmb3Jwcm9qZWN0ZXhwaXJlCQAAZQAAAAIFAAAADmNoZWNrZW5kaGVpZ2h0BQAAAAZoZWlnaHQDCQEAAAACIT0AAAACBQAAABljaGVja3BhaXJpc2F2YWlsYWJsZW9ybm90BQAAAAxFbnRlckFzc2V0SUQJAAACAAAAAQIAAAAlUGFpciBpcyBub3QgYXZhaWxhYmxlIGluIFZvdGluZyBMaXN0LgMJAQAAAAIhPQAAAAIFAAAAC2FkbWlucmlnaHRzBQAAAA1jYWxsZXJhZGRyZXNzCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAACJJIGtub3cgWW91IGFyZSBub3QgQW4gQWRtaW4uIE9ubHkgBQAAAAthZG1pbnJpZ2h0cwIAAAAfIGhhcyByaWdodHMgdG8gcmVtb3ZlIHRoZSBwYWlyLgMJAABmAAAAAgUAAAAOY2hlY2tlbmRoZWlnaHQFAAAABmhlaWdodAkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAA2Vm90aW5nIEFscmVhZHkgUnVubmluZy4gWW91IGNhbiByZW1vdmUgdGhlIHBhaXIgYWZ0ZXIgCQABpAAAAAEFAAAAHXBlbmRpbmdibG9ja3Nmb3Jwcm9qZWN0ZXhwaXJlAgAAAAcgQmxvY2tzAwkAAAAAAAACBQAAAAxWb3RpbmdTdGF0dXMFAAAAD05ld1ZvdGluZ1N0YXR1cwkAAAIAAAABCQABLAAAAAIFAAAADEVudGVyQXNzZXRJRAIAAAAsIGlzIG5vdyBXaGl0ZWxpc3RlZC4gU28geW91IGNhbid0IHJlbW92ZSBpdC4JAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkAASwAAAACAgAAAAhQYWlyX1VWXwUAAAAMRW50ZXJBc3NldElECQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAAEsAAAAAgIAAAAKVm90aW5nX1NIXwUAAAAMRW50ZXJBc3NldElECQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAAEsAAAAAgIAAAAKVm90aW5nX0VIXwUAAAAMRW50ZXJBc3NldElECQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAAEsAAAAAgIAAAAOVm90aW5nX1BlcmlvZF8FAAAADEVudGVyQXNzZXRJRAkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQABLAAAAAICAAAAClZvdGVzX1JlcV8FAAAADEVudGVyQXNzZXRJRAkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQABLAAAAAICAAAADExpc3RpbmdfRmVlXwUAAAAMRW50ZXJBc3NldElECQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAAEsAAAAAgIAAAAOVm90aW5nX1N0YXR1c18FAAAADEVudGVyQXNzZXRJRAkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQABLAAAAAICAAAAC1ZvdGVzX1JjdmRfBQAAAAxFbnRlckFzc2V0SUQFAAAAA25pbAAAAAFpAQAAAAtSZW1vdmVFbnRyeQAAAAQAAAADS2V5AAAABEtleTEAAAAES2V5MgAAAARLZXkzCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEFAAAAA0tleQkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABBQAAAARLZXkxCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEFAAAABEtleTIJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQUAAAAES2V5MwUAAAADbmlsAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAQAAAAHJG1hdGNoMAUAAAACdHgJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V5Znl8gA==", "height": 1679681, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Ckq8giKdg8dyf2fnHXZhuAGNByWvAv7XfudWSojPQ5yu Next: GiA7DCqWt2iPkAUejuEt7Ky7aqd9rxp852yoRnfsxoyG Diff:
OldNewDifferences
362362 let af = getIntegerValue(this, ((("Balance_of_" + toBase58String(a)) + "_") + u))
363363 let az = fraction(ae, 1, af)
364364 let aA = fraction(1, w.amount, az)
365- let aB = if ((af == 0))
366- then (ae == 0)
367- else false
368- let aC = x.amount
369- let aD = fraction(x.amount, 1, getIntegerValue(this, ("Total_LP_" + u)))
370- let aE = {
365+ let aB = fraction(x.amount, 1, getIntegerValue(this, ("Total_LP_" + u)))
366+ let aC = {
371367 let Q = getInteger(this, ((("Balance_of_" + u) + "_") + toBase58String(a)))
372368 if ($isInstanceOf(Q, "Int"))
373369 then {
376372 }
377373 else 0
378374 }
379- let aF = (aE + w.amount)
380- let aG = {
375+ let aD = (aC + w.amount)
376+ let aE = {
381377 let Q = getInteger(this, ((("Balance_of_" + toBase58String(a)) + "_") + u))
382378 if ($isInstanceOf(Q, "Int"))
383379 then {
386382 }
387383 else 0
388384 }
389- let aH = (aG + x.amount)
390- let aI = {
385+ let aF = (aE + x.amount)
386+ let aG = {
391387 let Q = getIntegerValue(this, ("Total_LP_" + u))
392388 if ($isInstanceOf(Q, "Int"))
393389 then {
396392 }
397393 else 0
398394 }
399- let aJ = (aI + aC)
395+ let aH = (aG + aB)
400396 if ((L != u))
401397 then throw("Pair is not available in Whitelisted Asset.")
402398 else if ((O == ai))
415411 then throw((("Asset String " + u) + " is not matching with attached payment[2]. String and payment[2] must be same."))
416412 else if ((x.amount != aA))
417413 then throw(("Attached payment[2] quantity is not matching as per attached payment[1] USDT.It must be " + toString(aA)))
418- else if ((aB == true))
419- then [IntegerEntry(("Total_LP_" + u), aC)]
420- else [IntegerEntry(((("Balance_of_" + u) + "_") + toBase58String(a)), aF), IntegerEntry(((("Balance_of_" + toBase58String(a)) + "_") + u), aH), IntegerEntry(("Total_LP_" + u), aJ), Reissue(ax, aD, true)]
414+ else [IntegerEntry(((("Balance_of_" + u) + "_") + toBase58String(a)), aD), IntegerEntry(((("Balance_of_" + toBase58String(a)) + "_") + u), aF), IntegerEntry(("Total_LP_" + u), aH), Reissue(ax, aB, true)]
421415 }
422416
423417
430424 let O = getStringValue(this, ("Voting_Status_" + u))
431425 let J = "P"
432426 let I = toBase58String(g.caller.bytes)
433- let aK = height
427+ let aI = height
434428 let Z = (K - height)
435429 if ((L != u))
436430 then throw("Pair is not available in Voting List.")
446440
447441
448442 @Callable(g)
449-func RemoveEntry (aL,aM,aN,aO) = [DeleteEntry(aL), DeleteEntry(aM), DeleteEntry(aN), DeleteEntry(aO)]
443+func RemoveEntry (aJ,aK,aL,aM) = [DeleteEntry(aJ), DeleteEntry(aK), DeleteEntry(aL), DeleteEntry(aM)]
450444
451445
452-@Verifier(aP)
453-func aQ () = {
454- let Q = aP
455- sigVerify(aP.bodyBytes, aP.proofs[0], aP.senderPublicKey)
446+@Verifier(aN)
447+func aO () = {
448+ let Q = aN
449+ sigVerify(aN.bodyBytes, aN.proofs[0], aN.senderPublicKey)
456450 }
457451
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = base58'Zn3cLHW7aAVPm5aACcTjvg7e7iEy2cKDtbowok5qa9H'
55
66 let b = base58'44Mq8KqUhM94t93MiBq3S22iiuGczMxpKmse5dBy2w5y'
77
88 let c = addressFromPublicKey(base58'GKmJ6BchUgQfwKp4mp5eX8Y9xLioYRm6e1gDfFgdAcCr')
99
1010 let d = addressFromPublicKey(base58'GKmJ6BchUgQfwKp4mp5eX8Y9xLioYRm6e1gDfFgdAcCr')
1111
1212 let e = addressFromPublicKey(base58'GKmJ6BchUgQfwKp4mp5eX8Y9xLioYRm6e1gDfFgdAcCr')
1313
1414 let f = addressFromPublicKey(base58'GKmJ6BchUgQfwKp4mp5eX8Y9xLioYRm6e1gDfFgdAcCr')
1515
1616 @Callable(g)
1717 func IssueBallet () = {
1818 let h = value(g.payments[0])
1919 let i = toBase58String(g.caller.bytes)
2020 let j = getIntegerValue(this, "BALLET/TN")
2121 let k = fraction(100000, h.amount, j)
2222 let l = getIntegerValue(this, "Total_Issued_Ballet:")
2323 let m = (l + k)
2424 let n = getIntegerValue(this, "Total_Ballet_Reserve_In_TN:")
2525 let o = (n + h.amount)
2626 let p = getIntegerValue(this, "Ballet_Backup_Value_In_TN:")
2727 let q = fraction(100000, o, m)
2828 let r = 1
2929 let s = (100 - r)
3030 if (isDefined(h.assetId))
3131 then throw("Incorrect asset attached, please attach TN.")
3232 else if ((5000000 > h.amount))
3333 then throw("Please Attach minimum 0.05 TN To Issue Ballet Asset.")
3434 else [IntegerEntry("Total_Issued_Ballet:", m), IntegerEntry("Total_Ballet_Reserve_In_TN:", o), IntegerEntry("Ballet_Backup_Value_In_TN:", q), StringEntry("message", "<h1>Ballet Issued Successfully!</h1><br>"), Reissue(b, k, true), ScriptTransfer(g.caller, ((k * s) / 100), b), ScriptTransfer(d, ((k * r) / 100), b)]
3535 }
3636
3737
3838
3939 @Callable(g)
4040 func Liquidate () = {
4141 let i = toBase58String(g.callerPublicKey)
4242 let h = value(g.payments[0])
4343 let l = getIntegerValue(this, "Total_Issued_Ballet:")
4444 let m = (l - h.amount)
4545 let n = getIntegerValue(this, "Total_Ballet_Reserve_In_TN:")
4646 let p = getIntegerValue(this, "Ballet_Backup_Value_In_TN:")
4747 let t = fraction(p, h.amount, 100000)
4848 let o = (n - t)
4949 let q = fraction(100000, o, m)
5050 if ((h.assetId != b))
5151 then throw("Kindly Deposit Only 44Mq8KqUhM94t93MiBq3S22iiuGczMxpKmse5dBy2w5y (Ballet).")
5252 else if ((100000 > h.amount))
5353 then throw("Attach Amount must be greater than 0.001 Ballet.")
5454 else [Burn(b, h.amount), IntegerEntry("Total_Issued_Ballet:", m), IntegerEntry("Total_Ballet_Reserve_In_TN:", o), IntegerEntry("Ballet_Backup_Value_In_TN:", q), StringEntry("message", "<h1>Ballet Liquidated Successfully!</h1><br>"), ScriptTransfer(g.caller, t, unit)]
5555 }
5656
5757
5858
5959 @Callable(g)
6060 func RegisterPairForVoting (u,v) = {
6161 let w = value(g.payments[0])
6262 let x = value(g.payments[1])
6363 let y = 90
6464 let i = toBase58String(g.caller.bytes)
6565 let z = !(isDefined(x.assetId))
6666 let A = 1440
6767 let B = (A * v)
6868 let C = (B - 43199)
6969 let D = ((100000 + ((11574 * C) / 10000)) * 100000000)
7070 let E = (height + B)
7171 let F = getString(this, ("Pair_UV_" + u))
7272 let G = "F"
7373 let H = fromBase58String(u)
7474 if ((43 > size(u)))
7575 then throw("Wrong AssetID is Entered for Voting. Please Enter a Valid AssetID. Probably you entered an AssetID less than 43 Chars.")
7676 else if ((29 >= v))
7777 then throw("Enter no. of days in between 30 to 90.")
7878 else if ((v > y))
7979 then throw("You Entered days greater than 90 please Enter no. of days in between 1 to 90.")
8080 else if ((F == u))
8181 then throw("Pair Already Exist in Voting List.")
8282 else if ((size(g.payments) != 2))
8383 then throw("Two attached assets expected as payment. Kindly Attach payment1 = Ballet Token & payment2 = Token you want to List for Voting.")
8484 else if ((w.assetId != b))
8585 then throw("Incorrect asset attached for Voting in payment[1], please attach 1000 Ballet Token only.")
8686 else if ((w.amount != 10000000))
8787 then throw((((("You attached only " + toString(fraction(w.amount, 1, 100000000))) + ".") + toString(fraction(w.amount, 1, 10000000))) + " Ballet for Voting in payment[1], please attach 1000 Ballet Token only."))
8888 else if ((x.assetId != H))
8989 then throw("Input String and Attached AssetID in payment2 is not matching.")
9090 else if ((z == true))
9191 then throw("You Attached TN Asset ID for Voting, please attach the Token You want to list in payment[2].")
9292 else if ((x.assetId == b))
9393 then throw("You Attached Ballet asset for Voting in both payments, please attach the Token You want to list in payment[2].")
9494 else [StringEntry(("Pair_UV_" + u), u), StringEntry(("Voting_Status_" + u), G), IntegerEntry(("Voting_SH_" + u), height), IntegerEntry(("Voting_EH_" + u), E), IntegerEntry(("Voting_Period_" + u), B), IntegerEntry(("Listing_Fee_" + u), w.amount), IntegerEntry(("Votes_Req_" + u), D), IntegerEntry(("Votes_Rcvd_" + u), 0), ScriptTransfer(c, w.amount, b)]
9595 }
9696
9797
9898
9999 @Callable(g)
100100 func DoVoting (u) = {
101101 let h = if ((size(g.payments) == 1))
102102 then g.payments[0]
103103 else throw("Ballet Token is required as Attached payment")
104104 let I = toBase58String(g.caller.bytes)
105105 let J = "P"
106106 let K = getIntegerValue(this, ("Voting_EH_" + u))
107107 let L = getString(this, ("Pair_UV_" + u))
108108 let M = getIntegerValue(this, ("Votes_Req_" + u))
109109 let N = getIntegerValue(this, ("Votes_Rcvd_" + u))
110110 let O = getStringValue(this, ("Voting_Status_" + u))
111111 let P = {
112112 let Q = getInteger(this, ("Votes_Rcvd_" + u))
113113 if ($isInstanceOf(Q, "Int"))
114114 then {
115115 let R = Q
116116 R
117117 }
118118 else 0
119119 }
120120 let S = (P + h.amount)
121121 let T = {
122122 let Q = getInteger(this, ((("Votes_Rcvd_" + I) + "_") + u))
123123 if ($isInstanceOf(Q, "Int"))
124124 then {
125125 let U = Q
126126 U
127127 }
128128 else 0
129129 }
130130 let V = (T + h.amount)
131131 let W = (N >= M)
132132 let X = valueOrErrorMessage(assetInfo(fromBase58String(u)), (("Asset " + u) + " doesn't exist"))
133133 if ((L != u))
134134 then throw("Pair is not available in Voting List.")
135135 else if ((height > K))
136136 then throw((("Voting timeline for " + u) + " is expired."))
137137 else if ((h.assetId != b))
138138 then throw((("Kindly Attach Only " + toBase58String(b)) + " Token."))
139139 else if ((O == J))
140140 then throw((("Voting for " + u) + " pair is completed and it’s available in whitelist."))
141141 else if (W)
142142 then [StringEntry(("Voting_Status_" + u), J), IntegerEntry(((("Balance_of_" + u) + "_") + toBase58String(a)), 0), IntegerEntry(((("Balance_of_" + toBase58String(a)) + "_") + u), 0), IntegerEntry(("Total_of_pair_Txns_" + u), 0), IntegerEntry("Total_of_Swaps_Txns", 0), IntegerEntry(("Total_Swap_Fee_Collected_" + toBase58String(a)), 0), IntegerEntry(("Total_Swap_Fee_Collected_" + u), 0)]
143143 else [IntegerEntry(("Votes_Rcvd_" + u), S), IntegerEntry(((("Votes_Rcvd_" + I) + "_") + u), V)]
144144 }
145145
146146
147147
148148 @Callable(g)
149149 func WithdrawVotedTokens (u) = {
150150 let h = if ((size(g.payments) == 1))
151151 then g.payments[0]
152152 else throw("0.1 TN Token is required as Attached payment.")
153153 let I = toBase58String(g.caller.bytes)
154154 let K = getIntegerValue(this, ("Voting_EH_" + u))
155155 let L = getString(this, ("Pair_UV_" + u))
156156 let Y = valueOrErrorMessage(getInteger(this, ((("Votes_Rcvd_" + I) + "_") + u)), (I + " Address never voted and exist in list."))
157157 let Z = (K - height)
158158 if ((L != u))
159159 then throw("Pair is not available in Voting List.")
160160 else if ((K > height))
161161 then throw((("Voting Already Running. You can withdraw your Ballet Token after " + toString(Z)) + " blocks"))
162162 else if ((0 >= Y))
163163 then throw("You don't have any dues of ballet balance in this Voting Pair.")
164164 else if (isDefined(h.assetId))
165165 then throw("Don't attach any other asset. Please attach 0.1 TN as a fee to release your token")
166166 else if ((h.amount != 10000000))
167167 then throw("Please attach 0.1 TN as a fee to release your token.")
168168 else [IntegerEntry(((("Votes_Rcvd_" + I) + "_") + u), 0), ScriptTransfer(g.caller, Y, b)]
169169 }
170170
171171
172172
173173 @Callable(g)
174174 func IssueLPToken (u) = {
175175 let aa = valueOrErrorMessage(getString(this, "LP_Admin_Rights"), "LP Admin Rights are Not Included into Smart Contract. Deploy Admin Rights First.")
176176 let I = toBase58String(g.caller.bytes)
177177 let L = valueOrErrorMessage(getString(this, ("Pair_UV_" + u)), "Asset not Found in Whitelisted Token")
178178 let X = valueOrErrorMessage(assetInfo(fromBase58String(u)), (("Asset " + u) + " doesn't exist"))
179179 let ab = X.name
180180 let J = "P"
181181 let O = valueOrErrorMessage(getString(this, ("Voting_Status_" + u)), ("Voting Status is Missing for " + u))
182182 let ac = Issue(("LP_" + take(ab, 6)), ((("LP_" + take(ab, 6)) + " is a Liquidity Provider Token Issued Against ") + u), 1, 0, true)
183183 let ad = calculateAssetId(ac)
184184 if ((aa != I))
185185 then throw((("Your are not allowded to Issue LP Token. Only " + aa) + " can issue the LP Token."))
186186 else if ((L != u))
187187 then throw("Pair is not available in Voting List.")
188188 else if ((O != J))
189189 then throw("LP Token must be a Whitelisted Token.")
190190 else [ac, StringEntry(("LP_" + u), toBase58String(ad))]
191191 }
192192
193193
194194
195195 @Callable(g)
196196 func SwapAssetToUSDTPairEntry (u) = {
197197 let I = toBase58String(g.caller.bytes)
198198 let h = if ((size(g.payments) == 1))
199199 then g.payments[0]
200200 else throw("Whitelisted Token is required as Attached payment[1].")
201201 let L = getString(this, ("Pair_UV_" + u))
202202 let O = getStringValue(this, ("Voting_Status_" + u))
203203 let ae = getIntegerValue(this, ((("Balance_of_" + u) + "_") + toBase58String(a)))
204204 let af = getIntegerValue(this, ((("Balance_of_" + toBase58String(a)) + "_") + u))
205205 let ag = fraction(ae, af, (af + h.amount))
206206 let ah = (ae - ag)
207207 let ai = "F"
208208 let aj = 1
209209 let ak = ((ah * aj) / 100)
210210 let al = (ah - ak)
211211 let am = {
212212 let Q = getInteger(this, ("Total_Swap_Fee_Collected_" + toBase58String(a)))
213213 if ($isInstanceOf(Q, "Int"))
214214 then {
215215 let R = Q
216216 R
217217 }
218218 else 0
219219 }
220220 let an = (am + ak)
221221 let ao = {
222222 let Q = getInteger(this, ((("Balance_of_" + toBase58String(a)) + "_") + u))
223223 if ($isInstanceOf(Q, "Int"))
224224 then {
225225 let R = Q
226226 R
227227 }
228228 else 0
229229 }
230230 let ap = (af + h.amount)
231231 let aq = {
232232 let Q = getInteger(this, ((("Balance_of_" + u) + "_") + toBase58String(a)))
233233 if ($isInstanceOf(Q, "Int"))
234234 then {
235235 let R = Q
236236 R
237237 }
238238 else 0
239239 }
240240 let ar = (ae - ah)
241241 let as = {
242242 let Q = getInteger(this, "Total_of_Swaps_Txns")
243243 if ($isInstanceOf(Q, "Int"))
244244 then {
245245 let R = Q
246246 R
247247 }
248248 else 0
249249 }
250250 let at = (as + 1)
251251 if ((u == toBase58String(a)))
252252 then throw("Input can Never be a USDT AssetID. Enter Whitelisted AssetID in input and Attach Whitelisted Asset as an attachment Token in payment[1].")
253253 else if ((L != u))
254254 then throw("Pair is not available in Whitelisted Asset.")
255255 else if ((O == ai))
256256 then throw((u + " is not A Whitelisted Token Yet."))
257257 else if ((h.assetId == a))
258258 then throw("You can't Attach USDT as an Attached Payment. Only Whitelisted Tokens are accepted.")
259259 else if ((h.assetId != fromBase58String(u)))
260260 then throw(("Incorrect asset attached, please attach or send " + u))
261261 else if ((ae == 0))
262262 then throw("Swap Pair Need to Add Liquidity first into Pool. Only After that Pair will be activated for Swapping.")
263263 else if ((af == 0))
264264 then throw("Swap Pair Need to Add Liquidity first into Pool. Only After that Pair will be activated for Swapping.")
265265 else if ((1000000 > ah))
266266 then throw((("Your Attached Asset Amount is very low. Attach More " + u) + " Tokens to Claim the minimum Amount of 1 dollar atleast."))
267267 else if ((ah > ae))
268268 then throw((("Pool Only has a Liquidity of " + toString((ae / pow(10, 0, 6, 0, 0, UP)))) + " USDT. Add Liquidity into Pool."))
269269 else [IntegerEntry(("Total_Swap_Fee_Collected_" + toBase58String(a)), an), IntegerEntry("Total_of_Swaps_Txns", at), IntegerEntry(((("Balance_of_" + toBase58String(a)) + "_") + u), ap), IntegerEntry(((("Balance_of_" + u) + "_") + toBase58String(a)), ar), ScriptTransfer(g.caller, al, a), ScriptTransfer(e, ak, a)]
270270 }
271271
272272
273273
274274 @Callable(g)
275275 func SwapUSDTToAssetPairEntry (u) = {
276276 let I = toBase58String(g.caller.bytes)
277277 let h = if ((size(g.payments) == 1))
278278 then g.payments[0]
279279 else throw("Only USDT Token is required as an Attached payment[1].")
280280 let ae = getIntegerValue(this, ((("Balance_of_" + u) + "_") + toBase58String(a)))
281281 let af = getIntegerValue(this, ((("Balance_of_" + toBase58String(a)) + "_") + u))
282282 let au = fraction(ae, af, (ae + h.amount))
283283 let ah = (af - au)
284284 let L = getString(this, ("Pair_UV_" + u))
285285 let O = getStringValue(this, ("Voting_Status_" + u))
286286 let ai = "F"
287287 let aj = 1
288288 let ak = ((ah * aj) / 100)
289289 let al = (ah - ak)
290290 let as = {
291291 let Q = getInteger(this, "Total_of_Swaps_Txns")
292292 if ($isInstanceOf(Q, "Int"))
293293 then {
294294 let R = Q
295295 R
296296 }
297297 else 0
298298 }
299299 let at = (as + 1)
300300 let av = {
301301 let Q = getInteger(this, ("Total_Swap_Fee_Collected_" + u))
302302 if ($isInstanceOf(Q, "Int"))
303303 then {
304304 let R = Q
305305 R
306306 }
307307 else 0
308308 }
309309 let aw = (av + ak)
310310 let ao = {
311311 let Q = getInteger(this, ((("Balance_of_" + toBase58String(a)) + "_") + u))
312312 if ($isInstanceOf(Q, "Int"))
313313 then {
314314 let R = Q
315315 R
316316 }
317317 else 0
318318 }
319319 let ap = (af - ah)
320320 let aq = {
321321 let Q = getInteger(this, ((("Balance_of_" + u) + "_") + toBase58String(a)))
322322 if ($isInstanceOf(Q, "Int"))
323323 then {
324324 let R = Q
325325 R
326326 }
327327 else 0
328328 }
329329 let ar = (ae + h.amount)
330330 if ((L != u))
331331 then throw("Pair is not available in Whitelisted Asset.")
332332 else if ((O == ai))
333333 then throw((u + " is not A Whitelisted Token Yet."))
334334 else if ((u == toBase58String(a)))
335335 then throw("Input can Never be a USDT AssetID. Enter Whitelisted AssetID in input and Attach USDT as an attachment Token in payment[1].")
336336 else if ((h.assetId != a))
337337 then throw("You can Attach USDT as an Attached Payment[1] to Swap USDT To Required Token. Any other asset else than USDT will be rejected.")
338338 else if ((1000000 > h.amount))
339339 then throw("Your Attached USDT Amount is very low. Attach Atleast 1 USDT to Claim the minimum Tokens.")
340340 else if ((ae == 0))
341341 then throw("Swap Pair Need to Add Liquidity first into Pool. Only After that Pair will be activated for Swapping.")
342342 else if ((af == 0))
343343 then throw("Swap Pair Need to Add Liquidity first into Pool. Only After that Pair will be activated for Swapping.")
344344 else if ((ah > af))
345345 then throw((("Pool Only has a Liquidity of " + toString(af)) + " Tokens. Add Liquidity into Pool."))
346346 else [IntegerEntry(("Total_Swap_Fee_Collected_" + u), aw), IntegerEntry("Total_of_Swaps_Txns", at), IntegerEntry(((("Balance_of_" + toBase58String(a)) + "_") + u), ap), IntegerEntry(((("Balance_of_" + u) + "_") + toBase58String(a)), ar), ScriptTransfer(g.caller, al, fromBase58String(u)), ScriptTransfer(f, ak, fromBase58String(u))]
347347 }
348348
349349
350350
351351 @Callable(g)
352352 func AddLiquidity (u) = {
353353 let I = toBase58String(g.caller.bytes)
354354 let w = value(g.payments[0])
355355 let x = value(g.payments[1])
356356 let L = getString(this, ("Pair_UV_" + u))
357357 let O = getStringValue(this, ("Voting_Status_" + u))
358358 let ax = fromBase58String(valueOrErrorMessage(getString(this, ("LP_" + u)), "LP Token is Missing or May be not Generated."))
359359 let ai = "F"
360360 let ay = 100000
361361 let ae = getIntegerValue(this, ((("Balance_of_" + u) + "_") + toBase58String(a)))
362362 let af = getIntegerValue(this, ((("Balance_of_" + toBase58String(a)) + "_") + u))
363363 let az = fraction(ae, 1, af)
364364 let aA = fraction(1, w.amount, az)
365- let aB = if ((af == 0))
366- then (ae == 0)
367- else false
368- let aC = x.amount
369- let aD = fraction(x.amount, 1, getIntegerValue(this, ("Total_LP_" + u)))
370- let aE = {
365+ let aB = fraction(x.amount, 1, getIntegerValue(this, ("Total_LP_" + u)))
366+ let aC = {
371367 let Q = getInteger(this, ((("Balance_of_" + u) + "_") + toBase58String(a)))
372368 if ($isInstanceOf(Q, "Int"))
373369 then {
374370 let R = Q
375371 R
376372 }
377373 else 0
378374 }
379- let aF = (aE + w.amount)
380- let aG = {
375+ let aD = (aC + w.amount)
376+ let aE = {
381377 let Q = getInteger(this, ((("Balance_of_" + toBase58String(a)) + "_") + u))
382378 if ($isInstanceOf(Q, "Int"))
383379 then {
384380 let R = Q
385381 R
386382 }
387383 else 0
388384 }
389- let aH = (aG + x.amount)
390- let aI = {
385+ let aF = (aE + x.amount)
386+ let aG = {
391387 let Q = getIntegerValue(this, ("Total_LP_" + u))
392388 if ($isInstanceOf(Q, "Int"))
393389 then {
394390 let R = Q
395391 R
396392 }
397393 else 0
398394 }
399- let aJ = (aI + aC)
395+ let aH = (aG + aB)
400396 if ((L != u))
401397 then throw("Pair is not available in Whitelisted Asset.")
402398 else if ((O == ai))
403399 then throw((u + " is not A Whitelisted Token Yet."))
404400 else if ((u == toBase58String(a)))
405401 then throw("Input can Never be a USDT AssetID. Enter Whitelisted AssetID in input as well as in payment[1] and Attach USDT as an attachment Token in payment[2].")
406402 else if ((size(g.payments) != 2))
407403 then throw("Two attached assets expected as payment in 50%-50%. Kindly Attach payment1 = USDT Token and payment2 = Token you want to add for Liquidity.")
408404 else if ((w.assetId != a))
409405 then throw("Incorrect asset attached for Liquidity in payment[1], please attach USDT Token only.")
410406 else if ((10000000 > w.amount))
411407 then throw("please attach atleast 10 USDT in payment[1].")
412408 else if ((x.assetId == a))
413409 then throw("You Attached USDT asset for Liquidity in both payments, Kindly Attach payment1 = USDT Token and payment2 = Token you want to add for Liquidity.")
414410 else if ((x.assetId != fromBase58String(u)))
415411 then throw((("Asset String " + u) + " is not matching with attached payment[2]. String and payment[2] must be same."))
416412 else if ((x.amount != aA))
417413 then throw(("Attached payment[2] quantity is not matching as per attached payment[1] USDT.It must be " + toString(aA)))
418- else if ((aB == true))
419- then [IntegerEntry(("Total_LP_" + u), aC)]
420- else [IntegerEntry(((("Balance_of_" + u) + "_") + toBase58String(a)), aF), IntegerEntry(((("Balance_of_" + toBase58String(a)) + "_") + u), aH), IntegerEntry(("Total_LP_" + u), aJ), Reissue(ax, aD, true)]
414+ else [IntegerEntry(((("Balance_of_" + u) + "_") + toBase58String(a)), aD), IntegerEntry(((("Balance_of_" + toBase58String(a)) + "_") + u), aF), IntegerEntry(("Total_LP_" + u), aH), Reissue(ax, aB, true)]
421415 }
422416
423417
424418
425419 @Callable(g)
426420 func RemovePairEntry (u) = {
427421 let aa = getStringValue(this, "Polarity_Admin_Rights")
428422 let K = getIntegerValue(this, ("Voting_EH_" + u))
429423 let L = getString(this, ("Pair_UV_" + u))
430424 let O = getStringValue(this, ("Voting_Status_" + u))
431425 let J = "P"
432426 let I = toBase58String(g.caller.bytes)
433- let aK = height
427+ let aI = height
434428 let Z = (K - height)
435429 if ((L != u))
436430 then throw("Pair is not available in Voting List.")
437431 else if ((aa != I))
438432 then throw((("I know You are not An Admin. Only " + aa) + " has rights to remove the pair."))
439433 else if ((K > height))
440434 then throw((("Voting Already Running. You can remove the pair after " + toString(Z)) + " Blocks"))
441435 else if ((O == J))
442436 then throw((u + " is now Whitelisted. So you can't remove it."))
443437 else [DeleteEntry(("Pair_UV_" + u)), DeleteEntry(("Voting_SH_" + u)), DeleteEntry(("Voting_EH_" + u)), DeleteEntry(("Voting_Period_" + u)), DeleteEntry(("Votes_Req_" + u)), DeleteEntry(("Listing_Fee_" + u)), DeleteEntry(("Voting_Status_" + u)), DeleteEntry(("Votes_Rcvd_" + u))]
444438 }
445439
446440
447441
448442 @Callable(g)
449-func RemoveEntry (aL,aM,aN,aO) = [DeleteEntry(aL), DeleteEntry(aM), DeleteEntry(aN), DeleteEntry(aO)]
443+func RemoveEntry (aJ,aK,aL,aM) = [DeleteEntry(aJ), DeleteEntry(aK), DeleteEntry(aL), DeleteEntry(aM)]
450444
451445
452-@Verifier(aP)
453-func aQ () = {
454- let Q = aP
455- sigVerify(aP.bodyBytes, aP.proofs[0], aP.senderPublicKey)
446+@Verifier(aN)
447+func aO () = {
448+ let Q = aN
449+ sigVerify(aN.bodyBytes, aN.proofs[0], aN.senderPublicKey)
456450 }
457451

github/deemru/w8io/169f3d6 
62.81 ms