tx · 7XmNGWSedVMiKWasUTuFxXBmm2E4sKdDYj7PZi4oodrj

3Mrnje6z2xa3xuXyU2Lk6ynKy8tsRnnt4Bv:  -0.01400000 Waves

2021.08.25 13:36 [1673737] smart account 3Mrnje6z2xa3xuXyU2Lk6ynKy8tsRnnt4Bv > SELF 0.00000000 Waves

{ "type": 13, "id": "7XmNGWSedVMiKWasUTuFxXBmm2E4sKdDYj7PZi4oodrj", "fee": 1400000, "feeAssetId": null, "timestamp": 1629887811826, "version": 2, "chainId": 84, "sender": "3Mrnje6z2xa3xuXyU2Lk6ynKy8tsRnnt4Bv", "senderPublicKey": "28sGn7FYnmxceAmnGYiDiKuMK1QyXiqX8zQXfKDnrc8t", "proofs": [ "3Vg2XNpidTm2M2qmCas6PaTp78FkXRY6ZkANmRcTFpVemjnAERuTfYjS9VXzLKABkNkdfxA6bZxNcnUdrjoDxrxK" ], "script": "base64:AAIEAAAAAAAAACsIAhIFCgMIAQESABIAEgMKAQgSAwoBCBIDCgEIEgMKAQgSAwoBCBIDCgEIAAAAAAAAAAkAAAABaQEAAAAVUmVnaXN0ZXJQYWlyRm9yVm90aW5nAAAAAwAAAAhBc3NldElEMQAAAARkYXlzAAAADExpc3RpbmdQcmljZQQAAAAEcG10MQkBAAAABXZhbHVlAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAQAAAAEcG10MgkBAAAABXZhbHVlAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAQQAAAAKRmVlQWRkcmVzcwEAAAAg463XstSKNtaiPAMTm2AWTDVjxzAiveOx6Vx7CmnuvCMEAAAAEW1heGltdW12b3RpbmdkYXlzAAAAAAAAAABaBAAAAA1CYWxsZXRBc3NldElEAQAAACAtb1sBuZ3lSm8ahGink+4TF5YYAu/xRHYwe1h195OooAQAAAALVVNEVEFzc2V0SUQBAAAAIO1uns5hlJz9zuYakh0t3uLmLZDCTZgfB7wEww+WnHxxBAAAAApjdXJyZW50S2V5CQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAAlROCQEAAAABIQAAAAEJAQAAAAlpc0RlZmluZWQAAAABCAUAAAAEcG10MgAAAAdhc3NldElkBAAAAAZvbmVkYXkAAAAAAAAABaAEAAAADk5vT2ZEYXlzQmxvY2tzCQAAaAAAAAIFAAAABm9uZWRheQUAAAAEZGF5cwQAAAADZ2FwCQAAZQAAAAIFAAAADk5vT2ZEYXlzQmxvY2tzAAAAAAAAAKi/BAAAAA12b3Rlc3JlcXVpcmVkCQAAaAAAAAIJAABkAAAAAgAAAAAAAAGGoAkAAGkAAAACCQAAaAAAAAIAAAAAAAAALTYFAAAAA2dhcAAAAAAAAAAnEAAAAAAABfXhAAQAAAAMdm90aW5nRXhwaXJlCQAAZAAAAAIFAAAABmhlaWdodAUAAAAOTm9PZkRheXNCbG9ja3MEAAAACWZldGNocGFpcgkABB0AAAACBQAAAAR0aGlzCQABLAAAAAICAAAAElBhaXJfVW5kZXJfVm90aW5nXwUAAAAIQXNzZXRJRDEEAAAADHZvdGluZ3N0YXR1cwIAAAAERmFpbAQAAAANYXNzZXRpbmZvcG10MgkAAlkAAAABBQAAAAhBc3NldElEMQQAAAAMcmV2ZXJzZXByaWNlCQAAawAAAAMAAAAAAAAAAAEAAAAA6NSlEAAFAAAADExpc3RpbmdQcmljZQMJAABmAAAAAgAAAAAAAAAAKwkAATEAAAABBQAAAAhBc3NldElEMQkAAAIAAAABAgAAAHlXcm9uZyBBc3NldElEMSBpcyBFbnRlcmVkIGZvciBWb3RpbmcuIFBsZWFzZSBFbnRlciBhIFZhbGlkIEFzc2V0SUQxLiBQcm9iYWJseSB5b3UgZW50ZXJlZCBhbiBBU1NFVElEMSBsZXNzIHRoYW4gNDMgQ2hhcnMuAwkAAGcAAAACAAAAAAAAAAAdBQAAAARkYXlzCQAAAgAAAAECAAAAJkVudGVyIG5vLiBvZiBkYXlzIGluIGJldHdlZW4gMzAgdG8gOTAuAwkAAGYAAAACBQAAAARkYXlzBQAAABFtYXhpbXVtdm90aW5nZGF5cwkAAAIAAAABAgAAAE1Zb3UgRW50ZXJlZCBkYXlzIGdyZWF0ZXIgdGhhbiA5MCBwbGVhc2UgRW50ZXIgbm8uIG9mIGRheXMgaW4gYmV0d2VlbiAxIHRvIDkwLgMJAAAAAAAAAgUAAAAJZmV0Y2hwYWlyBQAAAAhBc3NldElEMQkAAAIAAAABAgAAACJQYWlyIEFscmVhZHkgRXhpc3QgaW4gVm90aW5nIExpc3QuAwkBAAAAAiE9AAAAAgkAAZAAAAABCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAgkAAAIAAAABAgAAAIdUd28gYXR0YWNoZWQgYXNzZXRzIGV4cGVjdGVkIGFzIHBheW1lbnQuIEtpbmRseSBBdHRhY2ggcGF5bWVudDEgPSBCYWxsZXQgVG9rZW4gYW5kIHBheW1lbnQyID0gVG9rZW4geW91IHdhbnQgdG8gYWRkIHRvIExpc3QgZm9yIFZvdGluZy4DCQEAAAACIT0AAAACCAUAAAAEcG10MQAAAAdhc3NldElkBQAAAA1CYWxsZXRBc3NldElECQAAAgAAAAECAAAAWEluY29ycmVjdCBhc3NldCBhdHRhY2hlZCBmb3IgVm90aW5nIGluIHBheW1lbnRbMV0sIHBsZWFzZSBhdHRhY2ggMTAwMCBCYWxsZXQgVG9rZW4gb25seS4DCQAAZgAAAAIAAAAAAACYloAIBQAAAARwbXQxAAAABmFtb3VudAkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAEllvdSBhdHRhY2hlZCBvbmx5IAkAAaQAAAABCQAAawAAAAMIBQAAAARwbXQxAAAABmFtb3VudAAAAAAAAAAAAQAAAAAABfXhAAIAAAABLgkAAaQAAAABCQAAawAAAAMIBQAAAARwbXQxAAAABmFtb3VudAAAAAAAAAAAAQAAAAAAAJiWgAIAAABHIEJhbGxldCBmb3IgVm90aW5nIGluIHBheW1lbnRbMV0sIHBsZWFzZSBhdHRhY2ggMTAwMCBCYWxsZXQgVG9rZW4gb25seS4DCQEAAAACIT0AAAACCAUAAAAEcG10MgAAAAdhc3NldElkBQAAAA1hc3NldGluZm9wbXQyCQAAAgAAAAECAAAASEFzc2V0IFN0cmluZyBBdHRhY2hlZCBpbiBBU1NFVElEMSBpcyBub3QgbWF0Y2hpbmcgd2l0aCBQYXltZW50MiBBc3NldElELgMJAAAAAAAAAgUAAAACVE4GCQAAAgAAAAECAAAAXFlvdSBBdHRhY2hlZCBUTiBBc3NldCBJRCBmb3IgVm90aW5nLCBwbGVhc2UgYXR0YWNoIHRoZSBUb2tlbiBZb3Ugd2FudCB0byBsaXN0IGluIHBheW1lbnRbMl0uAwkAAAAAAAACCAUAAAAEcG10MgAAAAdhc3NldElkBQAAAA1CYWxsZXRBc3NldElECQAAAgAAAAECAAAAbllvdSBBdHRhY2hlZCBCYWxsZXQgYXNzZXQgZm9yIFZvdGluZyBpbiBib3RoIHBheW1lbnRzLCBwbGVhc2UgYXR0YWNoIHRoZSBUb2tlbiBZb3Ugd2FudCB0byBsaXN0IGluIHBheW1lbnRbMl0uAwkAAGcAAAACAAAAAAAAACcPBQAAAAxMaXN0aW5nUHJpY2UJAAACAAAAAQIAAABqTG93ZXIgbGlzdGluZyBQcmljZSBpcyBFbnRlcmVkIHBlciB0b2tlbiwgcGxlYXNlIGVudGVyIGFzIGEgdmFsaWQgcmFuZ2UgaW4gYmV0d2VlbiByYW5nZSBbMC4wMSAtIDFNXSBVU0RULgMJAABmAAAAAgUAAAAMTGlzdGluZ1ByaWNlAAAAAOjUpQ//CQAAAgAAAAECAAAAa0hpZ2hlciBsaXN0aW5nIFByaWNlIGlzIEVudGVyZWQgcGVyIHRva2VuLCBwbGVhc2UgZW50ZXIgYXMgYSB2YWxpZCByYW5nZSBpbiBiZXR3ZWVuIHJhbmdlIFswLjAxIC0gMU1dIFVTRFQuCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgIAAAASUGFpcl9VbmRlcl9Wb3RpbmdfBQAAAAhBc3NldElEMQUAAAAIQXNzZXRJRDEJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACAgAAAA5Wb3RpbmdfU3RhdHVzXwUAAAAIQXNzZXRJRDEFAAAADHZvdGluZ3N0YXR1cwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAABRWb3RpbmdfU3RhcnRfSGVpZ2h0XwUAAAAIQXNzZXRJRDEFAAAABmhlaWdodAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAABJWb3RpbmdfRW5kX0hlaWdodF8FAAAACEFzc2V0SUQxBQAAAAx2b3RpbmdFeHBpcmUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAAOVm90aW5nX1BlcmlvZF8FAAAACEFzc2V0SUQxBQAAAA5Ob09mRGF5c0Jsb2NrcwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAABNWb3RpbmdfTGlzdGluZ19GZWVfBQAAAAhBc3NldElEMQgFAAAABHBtdDEAAAAGYW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAD1ZvdGVzX1JlcXVpcmVkXwUAAAAIQXNzZXRJRDEFAAAADXZvdGVzcmVxdWlyZWQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAAPVm90ZXNfUmVjZWl2ZWRfBQAAAAhBc3NldElEMQAAAAAAAAAAAAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAJUHJpY2VfT2ZfBQAAAAhBc3NldElEMQIAAAABXwkAAlgAAAABBQAAAAtVU0RUQXNzZXRJRAUAAAAMTGlzdGluZ1ByaWNlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAEFJldmVyc2VQcmljZV9PZl8FAAAACEFzc2V0SUQxBQAAAAxyZXZlcnNlcHJpY2UJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQUAAAAKRmVlQWRkcmVzcwgFAAAABHBtdDEAAAAGYW1vdW50BQAAAA1CYWxsZXRBc3NldElEBQAAAANuaWwAAAABaQEAAAALSXNzdWVCYWxsZXQAAAAABAAAAANwbXQJAQAAAAV2YWx1ZQAAAAEJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAEAAAACmN1cnJlbnRLZXkJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAANQmFsbGV0QXNzZXRJRAEAAAAgLW9bAbmd5UpvGoRop5PuExeWGALv8UR2MHtYdfeTqKAEAAAADlByaWNlUGVyQmFsbGV0CQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzAgAAAAlCQUxMRVQvVE4EAAAAD05ld0JhbGxldFRvVXNlcgkAAGsAAAADAAAAAAAAAYagCAUAAAADcG10AAAABmFtb3VudAUAAAAOUHJpY2VQZXJCYWxsZXQEAAAAFFByZXZpb3VzSXNzdWVkQmFsbGV0CQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzAgAAABRUb3RhbF9Jc3N1ZWRfQmFsbGV0OgQAAAARVG90YWxJc3N1ZWRCYWxsZXQJAABkAAAAAgUAAAAUUHJldmlvdXNJc3N1ZWRCYWxsZXQFAAAAD05ld0JhbGxldFRvVXNlcgQAAAAaUHJldmlvdXNCYWxsZXRSZXNlcnZlVmFsdWUJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAAG1RvdGFsX0JhbGxldF9SZXNlcnZlX0luX1ROOgQAAAASQmFsbGV0UmVzZXJ2ZVZhbHVlCQAAZAAAAAIFAAAAGlByZXZpb3VzQmFsbGV0UmVzZXJ2ZVZhbHVlCAUAAAADcG10AAAABmFtb3VudAQAAAAZUHJldmlvdXNCYWxsZXRCYWNrdXBQcmljZQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwIAAAAaQmFsbGV0X0JhY2t1cF9WYWx1ZV9Jbl9UTjoEAAAAEUJhbGxldEJhY2t1cFByaWNlCQAAawAAAAMAAAAAAAABhqAFAAAAEkJhbGxldFJlc2VydmVWYWx1ZQUAAAARVG90YWxJc3N1ZWRCYWxsZXQEAAAACkZlZUFkZHJlc3MBAAAAIOOt17LUijbWojwDE5tgFkw1Y8cwIr3jselcewpp7rwjBAAAAA1GZWVQZXJjZW50YWdlAAAAAAAAAAABBAAAABtCYWxhbmNlVG9rZW5zUmV0dXJuZWRUb1VzZXIJAABlAAAAAgAAAAAAAAAAZAUAAAANRmVlUGVyY2VudGFnZQMJAQAAAAlpc0RlZmluZWQAAAABCAUAAAADcG10AAAAB2Fzc2V0SWQJAAACAAAAAQIAAAArSW5jb3JyZWN0IGFzc2V0IGF0dGFjaGVkLCBwbGVhc2UgYXR0YWNoIFROLgMJAABmAAAAAgAAAAAAAExLQAgFAAAAA3BtdAAAAAZhbW91bnQJAAACAAAAAQIAAAA0UGxlYXNlIEF0dGFjaCBtaW5pbXVtIDAuMDUgVE4gVG8gSXNzdWUgQmFsbGV0IEFzc2V0LgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAUVG90YWxfSXNzdWVkX0JhbGxldDoFAAAAEVRvdGFsSXNzdWVkQmFsbGV0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABtUb3RhbF9CYWxsZXRfUmVzZXJ2ZV9Jbl9UTjoFAAAAEkJhbGxldFJlc2VydmVWYWx1ZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAaQmFsbGV0X0JhY2t1cF9WYWx1ZV9Jbl9UTjoFAAAAEUJhbGxldEJhY2t1cFByaWNlCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAICAAAAB21lc3NhZ2UCAAAAKDxoMT5CYWxsZXQgSXNzdWVkIFN1Y2Nlc3NmdWxseSE8L2gxPjxicj4JAARMAAAAAgkBAAAAB1JlaXNzdWUAAAADBQAAAA1CYWxsZXRBc3NldElEBQAAAA9OZXdCYWxsZXRUb1VzZXIGCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgkAAGkAAAACCQAAaAAAAAIFAAAAD05ld0JhbGxldFRvVXNlcgUAAAAbQmFsYW5jZVRva2Vuc1JldHVybmVkVG9Vc2VyAAAAAAAAAABkBQAAAA1CYWxsZXRBc3NldElECQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEFAAAACkZlZUFkZHJlc3MJAABpAAAAAgkAAGgAAAACBQAAAA9OZXdCYWxsZXRUb1VzZXIFAAAADUZlZVBlcmNlbnRhZ2UAAAAAAAAAAGQFAAAADUJhbGxldEFzc2V0SUQFAAAAA25pbAAAAAFpAQAAAAlMaXF1aWRhdGUAAAAABAAAAApjdXJyZW50S2V5CQACWAAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQQAAAADcG10CQEAAAAFdmFsdWUAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAABAAAAA1CYWxsZXRBc3NldElEAQAAACAtb1sBuZ3lSm8ahGink+4TF5YYAu/xRHYwe1h195OooAQAAAAUUHJldmlvdXNJc3N1ZWRCYWxsZXQJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAAFFRvdGFsX0lzc3VlZF9CYWxsZXQ6BAAAABFUb3RhbElzc3VlZEJhbGxldAkAAGUAAAACBQAAABRQcmV2aW91c0lzc3VlZEJhbGxldAgFAAAAA3BtdAAAAAZhbW91bnQEAAAAGlByZXZpb3VzQmFsbGV0UmVzZXJ2ZVZhbHVlCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzAgAAABtUb3RhbF9CYWxsZXRfUmVzZXJ2ZV9Jbl9UTjoEAAAAGVByZXZpb3VzQmFsbGV0QmFja3VwUHJpY2UJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAAGkJhbGxldF9CYWNrdXBfVmFsdWVfSW5fVE46BAAAABJjYWxjdWxhdGVidXJudmFsdWUJAABrAAAAAwUAAAAZUHJldmlvdXNCYWxsZXRCYWNrdXBQcmljZQgFAAAAA3BtdAAAAAZhbW91bnQAAAAAAAABhqAEAAAAEkJhbGxldFJlc2VydmVWYWx1ZQkAAGUAAAACBQAAABpQcmV2aW91c0JhbGxldFJlc2VydmVWYWx1ZQUAAAASY2FsY3VsYXRlYnVybnZhbHVlBAAAABFCYWxsZXRCYWNrdXBQcmljZQkAAGsAAAADAAAAAAAAAYagBQAAABJCYWxsZXRSZXNlcnZlVmFsdWUFAAAAEVRvdGFsSXNzdWVkQmFsbGV0AwkBAAAAAiE9AAAAAggFAAAAA3BtdAAAAAdhc3NldElkBQAAAA1CYWxsZXRBc3NldElECQAAAgAAAAECAAAASktpbmRseSBEZXBvc2l0IE9ubHkgNDRNcThLcVVoTTk0dDkzTWlCcTNTMjJpaXVHY3pNeHBLbXNlNWRCeTJ3NXkgKEJhbGxldCkuAwkAAGYAAAACAAAAAAAAAYagCAUAAAADcG10AAAABmFtb3VudAkAAAIAAAABAgAAADBBdHRhY2ggQW1vdW50IG11c3QgYmUgZ3JlYXRlciB0aGFuIDAuMDAxIEJhbGxldC4JAARMAAAAAgkBAAAABEJ1cm4AAAACBQAAAA1CYWxsZXRBc3NldElECAUAAAADcG10AAAABmFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAUVG90YWxfSXNzdWVkX0JhbGxldDoFAAAAEVRvdGFsSXNzdWVkQmFsbGV0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABtUb3RhbF9CYWxsZXRfUmVzZXJ2ZV9Jbl9UTjoFAAAAEkJhbGxldFJlc2VydmVWYWx1ZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAaQmFsbGV0X0JhY2t1cF9WYWx1ZV9Jbl9UTjoFAAAAEUJhbGxldEJhY2t1cFByaWNlCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAICAAAAB21lc3NhZ2UCAAAALDxoMT5CYWxsZXQgTGlxdWlkYXRlZCBTdWNjZXNzZnVsbHkhPC9oMT48YnI+CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAASY2FsY3VsYXRlYnVybnZhbHVlBQAAAAR1bml0BQAAAANuaWwAAAABaQEAAAAIRG9Wb3RpbmcAAAABAAAADEVudGVyQXNzZXRJRAQAAAADcG10AwkAAAAAAAACCQABkAAAAAEIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAACQAAAgAAAAECAAAALEJhbGxldCBUb2tlbiBpcyByZXF1aXJlZCBhcyBBdHRhY2hlZCBwYXltZW50BAAAAA1jYWxsZXJhZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAADUJhbGxldEFzc2V0SUQBAAAAIC1vWwG5neVKbxqEaKeT7hMXlhgC7/FEdjB7WHX3k6igBAAAAA9OZXdWb3RpbmdTdGF0dXMCAAAABFBhc3MEAAAAC1VTRFRBc3NldElEAQAAACDtbp7OYZSc/c7mGpIdLd7i5i2Qwk2YHwe8BMMPlpx8cQQAAAAYY2hlY2twcm9qZWN0ZXhwaXJlaGVpZ2h0CQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAICAAAAElZvdGluZ19FbmRfSGVpZ2h0XwUAAAAMRW50ZXJBc3NldElEBAAAABljaGVja3BhaXJpc2F2YWlsYWJsZW9ybm90CQAEHQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAASUGFpcl9VbmRlcl9Wb3RpbmdfBQAAAAxFbnRlckFzc2V0SUQEAAAAEmNoZWNrdm90ZXNyZXF1aXJlZAkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAAA9Wb3Rlc19SZXF1aXJlZF8FAAAADEVudGVyQXNzZXRJRAQAAAASY2hlY2t2b3Rlc3JlY2VpdmVkCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAICAAAAD1ZvdGVzX1JlY2VpdmVkXwUAAAAMRW50ZXJBc3NldElEBAAAAAxWb3RpbmdTdGF0dXMJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAAOVm90aW5nX1N0YXR1c18FAAAADEVudGVyQXNzZXRJRAQAAAAMY3VycmVudHZvdGVzBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAAPVm90ZXNfUmVjZWl2ZWRfBQAAAAxFbnRlckFzc2V0SUQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAANbmV3dm90ZXNjb3VudAkAAGQAAAACBQAAAAxjdXJyZW50dm90ZXMIBQAAAANwbXQAAAAGYW1vdW50BAAAAA9pbmRpdmlkdWFsdm90ZXMEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAPVm90ZXNfUmVjZWl2ZWRfBQAAAA1jYWxsZXJhZGRyZXNzAgAAAAFfBQAAAAxFbnRlckFzc2V0SUQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYgUAAAAHJG1hdGNoMAUAAAABYgAAAAAAAAAAAAQAAAAUaW5kaXZpZHVhbHZvdGVzY291bnQJAABkAAAAAgUAAAAPaW5kaXZpZHVhbHZvdGVzCAUAAAADcG10AAAABmFtb3VudAQAAAAOY2hlY2t3aGl0ZWxpc3QJAABnAAAAAgUAAAASY2hlY2t2b3Rlc3JlY2VpdmVkBQAAABJjaGVja3ZvdGVzcmVxdWlyZWQEAAAABGluZm8JAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkAA+wAAAABCQACWQAAAAEFAAAADEVudGVyQXNzZXRJRAkAASwAAAACCQABLAAAAAICAAAABkFzc2V0IAUAAAAMRW50ZXJBc3NldElEAgAAAA4gZG9lc24ndCBleGlzdAQAAAAIZGVjaW1hbHMIBQAAAARpbmZvAAAACGRlY2ltYWxzAwkBAAAAAiE9AAAAAgUAAAAZY2hlY2twYWlyaXNhdmFpbGFibGVvcm5vdAUAAAAMRW50ZXJBc3NldElECQAAAgAAAAECAAAAJVBhaXIgaXMgbm90IGF2YWlsYWJsZSBpbiBWb3RpbmcgTGlzdC4DCQAAZgAAAAIFAAAABmhlaWdodAUAAAAYY2hlY2twcm9qZWN0ZXhwaXJlaGVpZ2h0CQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAABRWb3RpbmcgdGltZWxpbmUgZm9yIAUAAAAMRW50ZXJBc3NldElEAgAAAAwgaXMgZXhwaXJlZC4DCQEAAAACIT0AAAACCAUAAAADcG10AAAAB2Fzc2V0SWQFAAAADUJhbGxldEFzc2V0SUQJAAACAAAAAQIAAABJS2luZGx5IEF0dGFjaCBPbmx5IDQ0TXE4S3FVaE05NHQ5M01pQnEzUzIyaWl1R2N6TXhwS21zZTVkQnkydzV5IChCYWxsZXQpLgMJAAAAAAAAAgUAAAAMVm90aW5nU3RhdHVzBQAAAA9OZXdWb3RpbmdTdGF0dXMJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAC1ZvdGluZyBmb3IgBQAAAAxFbnRlckFzc2V0SUQCAAAANSBwYWlyIGlzIGNvbXBsZXRlZCBhbmQgaXTigJlzIGF2YWlsYWJsZSBpbiB3aGl0ZWxpc3QuAwUAAAAOY2hlY2t3aGl0ZWxpc3QJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACAgAAAA5Wb3RpbmdfU3RhdHVzXwUAAAAMRW50ZXJBc3NldElEBQAAAA9OZXdWb3RpbmdTdGF0dXMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAAMRGVjaW1hbHNfb2ZfBQAAAAxFbnRlckFzc2V0SUQFAAAACGRlY2ltYWxzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAA9PbGRfQmFsYW5jZV9vZl8FAAAADEVudGVyQXNzZXRJRAIAAAABXwkAAlgAAAABBQAAAAtVU0RUQXNzZXRJRAAAAAAAAAAAAAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAPTmV3X0JhbGFuY2Vfb2ZfBQAAAAxFbnRlckFzc2V0SUQCAAAAAV8JAAJYAAAAAQUAAAALVVNEVEFzc2V0SUQAAAAAAAAAAAAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAD09sZF9CYWxhbmNlX29mXwkAAlgAAAABBQAAAAtVU0RUQXNzZXRJRAIAAAABXwUAAAAMRW50ZXJBc3NldElEAAAAAAAAAAAACQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAA9OZXdfQmFsYW5jZV9vZl8JAAJYAAAAAQUAAAALVVNEVEFzc2V0SUQCAAAAAV8FAAAADEVudGVyQXNzZXRJRAAAAAAAAAAAAAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAATVG90YWxfb2ZfcGFpcl9UeG5zXwUAAAAMRW50ZXJBc3NldElEAgAAAAFfCQACWAAAAAEFAAAAC1VTRFRBc3NldElEAAAAAAAAAAAACQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABNUb3RhbF9vZl9Td2Fwc19UeG5zAAAAAAAAAAAACQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAGVRvdGFsX1N3YXBfRmVlX0NvbGxlY3RlZF8JAAJYAAAAAQUAAAALVVNEVEFzc2V0SUQAAAAAAAAAAAAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAAZVG90YWxfU3dhcF9GZWVfQ29sbGVjdGVkXwUAAAAMRW50ZXJBc3NldElEAAAAAAAAAAAABQAAAANuaWwJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAAPVm90ZXNfUmVjZWl2ZWRfBQAAAAxFbnRlckFzc2V0SUQFAAAADW5ld3ZvdGVzY291bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAD1ZvdGVzX1JlY2VpdmVkXwUAAAANY2FsbGVyYWRkcmVzcwIAAAABXwUAAAAMRW50ZXJBc3NldElEBQAAABRpbmRpdmlkdWFsdm90ZXNjb3VudAUAAAADbmlsAAAAAWkBAAAAE1dpdGhkcmF3Vm90ZWRUb2tlbnMAAAABAAAADEVudGVyQXNzZXRJRAQAAAADcG10CQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAABAAAAA1jYWxsZXJhZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAADUJhbGxldEFzc2V0SUQBAAAAIC1vWwG5neVKbxqEaKeT7hMXlhgC7/FEdjB7WHX3k6igBAAAABhjaGVja3Byb2plY3RleHBpcmVoZWlnaHQJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAASVm90aW5nX0VuZF9IZWlnaHRfBQAAAAxFbnRlckFzc2V0SUQEAAAAGWNoZWNrcGFpcmlzYXZhaWxhYmxlb3Jub3QJAAQdAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAABJQYWlyX1VuZGVyX1ZvdGluZ18FAAAADEVudGVyQXNzZXRJRAQAAAAWY2hlY2t1c2Vydm90aW5nYmFsYW5jZQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAPVm90ZXNfUmVjZWl2ZWRfBQAAAA1jYWxsZXJhZGRyZXNzAgAAAAFfBQAAAAxFbnRlckFzc2V0SUQEAAAAHXBlbmRpbmdibG9ja3Nmb3Jwcm9qZWN0ZXhwaXJlCQAAZQAAAAIFAAAAGGNoZWNrcHJvamVjdGV4cGlyZWhlaWdodAUAAAAGaGVpZ2h0AwkBAAAAAiE9AAAAAgUAAAAZY2hlY2twYWlyaXNhdmFpbGFibGVvcm5vdAUAAAAMRW50ZXJBc3NldElECQAAAgAAAAECAAAAJVBhaXIgaXMgbm90IGF2YWlsYWJsZSBpbiBWb3RpbmcgTGlzdC4DCQAAZgAAAAIFAAAAGGNoZWNrcHJvamVjdGV4cGlyZWhlaWdodAUAAAAGaGVpZ2h0CQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAAFRWb3RpbmcgQWxyZWFkeSBSdW5uaW5nLiBZb3UgY2FuIHdpdGhkcmF3IHlvdXIgQmFsbGV0IFRva2VuIG9ubHkgYWZ0ZXIgdGhlIGV4cGlyZSBvZiAJAAGkAAAAAQUAAAAdcGVuZGluZ2Jsb2Nrc2ZvcnByb2plY3RleHBpcmUCAAAAByBCbG9ja3MDCQAAZwAAAAIAAAAAAAAAAAAFAAAAFmNoZWNrdXNlcnZvdGluZ2JhbGFuY2UJAAACAAAAAQIAAAA+WW91IGRvbid0IGhhdmUgYW55IGR1ZXMgb2YgYmFsbGV0IGJhbGFuY2UgaW4gdGhpcyBWb3RpbmcgUGFpci4DCQEAAAAJaXNEZWZpbmVkAAAAAQgFAAAAA3BtdAAAAAdhc3NldElkCQAAAgAAAAECAAAAUURvbid0IGF0dGFjaCBhbnkgb3RoZXIgYXNzZXQuIFBsZWFzZSBhdHRhY2ggMC4xIFROIGFzIGEgZmVlIHRvIHJlbGVhc2UgeW91ciB0b2tlbgMJAQAAAAIhPQAAAAIIBQAAAANwbXQAAAAGYW1vdW50AAAAAAAAmJaACQAAAgAAAAECAAAANFBsZWFzZSBhdHRhY2ggMC4xIFROIGFzIGEgZmVlIHRvIHJlbGVhc2UgeW91ciB0b2tlbi4JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAD1ZvdGVzX1JlY2VpdmVkXwUAAAANY2FsbGVyYWRkcmVzcwIAAAABXwUAAAAMRW50ZXJBc3NldElEAAAAAAAAAAAACQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAWY2hlY2t1c2Vydm90aW5nYmFsYW5jZQUAAAANQmFsbGV0QXNzZXRJRAUAAAADbmlsAAAAAWkBAAAAGFN3YXBBc3NldFRvVVNEVFBhaXJFbnRyeQAAAAEAAAAMRW50ZXJBc3NldElEBAAAAA1jYWxsZXJhZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAA3BtdAMJAAAAAAAAAgkAAZAAAAABCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAkAAAIAAAABAgAAADpXaGl0ZWxpc3RlZCBTd2FwIFRva2VuIGlzIHJlcXVpcmVkIGFzIEF0dGFjaGVkIHBheW1lbnRbMV0uBAAAAAtVU0RUQXNzZXRJRAEAAAAg7W6ezmGUnP3O5hqSHS3e4uYtkMJNmB8HvATDD5acfHEEAAAAGWNoZWNrcGFpcmlzYXZhaWxhYmxlb3Jub3QJAAQdAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAABJQYWlyX1VuZGVyX1ZvdGluZ18FAAAADEVudGVyQXNzZXRJRAQAAAAMVm90aW5nU3RhdHVzCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzCQABLAAAAAICAAAADlZvdGluZ19TdGF0dXNfBQAAAAxFbnRlckFzc2V0SUQEAAAADkNoZWNrUGFpclByaWNlCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAlQcmljZV9PZl8FAAAADEVudGVyQXNzZXRJRAIAAAABXwkAAlgAAAABBQAAAAtVU0RUQXNzZXRJRAQAAAAaQ2hlY2tPbGRCYWxhbmNlQXNzZXR0b1VTRFQJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAD09sZF9CYWxhbmNlX29mXwUAAAAMRW50ZXJBc3NldElEAgAAAAFfCQACWAAAAAEFAAAAC1VTRFRBc3NldElEBAAAABpDaGVja09sZEJhbGFuY2VVU0RUdG9Bc3NldAkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAPT2xkX0JhbGFuY2Vfb2ZfCQACWAAAAAEFAAAAC1VTRFRBc3NldElEAgAAAAFfBQAAAAxFbnRlckFzc2V0SUQEAAAAEkNoZWNrQXNzZXREZWNpbWFscwkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAAAxEZWNpbWFsc19vZl8FAAAADEVudGVyQXNzZXRJRAQAAAATQ3VycmVudFZvdGluZ1N0YXR1cwIAAAAERmFpbAQAAAAHU3dhcEZlZQAAAAAAAAAAAQQAAAATYW1vdW50QXNzZXREZWNpbWFscwUAAAASQ2hlY2tBc3NldERlY2ltYWxzBAAAABJwcmljZUFzc2V0RGVjaW1hbHMAAAAAAAAAAAYEAAAAC2RlY2ltYWxzZ2FwCQAAZQAAAAIJAABlAAAAAgAAAAAAAAAABgUAAAATYW1vdW50QXNzZXREZWNpbWFscwAAAAAAAAAACAQAAAAUcXVhbnRpdHlvZnByaWNlYXNzZXQJAABpAAAAAgkAAGgAAAACCQAAaAAAAAIIBQAAAANwbXQAAAAGYW1vdW50BQAAAA5DaGVja1BhaXJQcmljZQkAAGwAAAAGAAAAAAAAAAAKAAAAAAAAAAAABQAAAAtkZWNpbWFsc2dhcAAAAAAAAAAAAAAAAAAAAAAAAAUAAAACVVAJAABsAAAABgAAAAAAAAAACgAAAAAAAAAAAAUAAAATYW1vdW50QXNzZXREZWNpbWFscwAAAAAAAAAAAAAAAAAAAAAAAAUAAAACVVAEAAAAFHVzZXJiYWxhbmNldG9yZWNlaXZlCQAAaQAAAAIJAABoAAAAAgUAAAAUcXVhbnRpdHlvZnByaWNlYXNzZXQAAAAAAAAAAGMAAAAAAAAAAGQEAAAAEFN3YXBGZWV0b3JlY2VpdmUJAABpAAAAAgkAAGgAAAACBQAAABRxdWFudGl0eW9mcHJpY2Vhc3NldAUAAAAHU3dhcEZlZQAAAAAAAAAAZAQAAAAOZ2V0VVNEVEJhbGFuY2UJAAPwAAAAAgUAAAAEdGhpcwUAAAALVVNEVEFzc2V0SUQEAAAADm5ld1VTRFRCYWxhbmNlCQAAZQAAAAIFAAAADmdldFVTRFRCYWxhbmNlBQAAABRxdWFudGl0eW9mcHJpY2Vhc3NldAQAAAAZU3VtdXBvZkFzc2V0VG9VU0RUU3dhcEZlZQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzCQABLAAAAAICAAAAGVRvdGFsX1N3YXBfRmVlX0NvbGxlY3RlZF8JAAJYAAAAAQUAAAALVVNEVEFzc2V0SUQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAcTmV3U3VtdXBvZkFzc2V0VG9VU0RUU3dhcEZlZQkAAGQAAAACBQAAABlTdW11cG9mQXNzZXRUb1VTRFRTd2FwRmVlBQAAABBTd2FwRmVldG9yZWNlaXZlBAAAAA9TdW11cG9mU3dhcFR4bnMEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwIAAAATVG90YWxfb2ZfU3dhcHNfVHhucwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAABJOZXdTdW11cG9mU3dhcFR4bnMJAABkAAAAAgUAAAAPU3VtdXBvZlN3YXBUeG5zAAAAAAAAAAABAwkBAAAAAiE9AAAAAgUAAAAZY2hlY2twYWlyaXNhdmFpbGFibGVvcm5vdAUAAAAMRW50ZXJBc3NldElECQAAAgAAAAECAAAAK1BhaXIgaXMgbm90IGF2YWlsYWJsZSBpbiBXaGl0ZWxpc3RlZCBBc3NldC4DCQAAAAAAAAIFAAAADFZvdGluZ1N0YXR1cwUAAAATQ3VycmVudFZvdGluZ1N0YXR1cwkAAAIAAAABCQABLAAAAAIFAAAADEVudGVyQXNzZXRJRAIAAAAgIGlzIG5vdCBBIFdoaXRlbGlzdGVkIFRva2VuIFlldC4DCQAAAAAAAAIIBQAAAANwbXQAAAAHYXNzZXRJZAUAAAALVVNEVEFzc2V0SUQJAAACAAAAAQIAAABTWW91IGNhbid0IEF0dGFjaCBVU0RUIGFzIGFuIEF0dGFjaGVkIFBheW1lbnQuIE9ubHkgV2hpdGVsaXN0ZWQgVG9rZW5zIGFyZSBhY2NlcHRlZC4DCQEAAAACIT0AAAACCAUAAAADcG10AAAAB2Fzc2V0SWQJAAJZAAAAAQUAAAAMRW50ZXJBc3NldElECQAAAgAAAAEJAAEsAAAAAgIAAAAwSW5jb3JyZWN0IGFzc2V0IGF0dGFjaGVkLCBwbGVhc2UgYXR0YWNoIG9yIHNlbmQgBQAAAAxFbnRlckFzc2V0SUQDCQAAZgAAAAIAAAAAAAAAJxAFAAAAFHF1YW50aXR5b2ZwcmljZWFzc2V0CQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAADRZb3VyIEF0dGFjaGVkIEFzc2V0IEFtb3VudCBpcyB2ZXJ5IGxvdy4gQXR0YWNoIE1vcmUgBQAAAAxFbnRlckFzc2V0SUQCAAAANiBUb2tlbnMgdG8gQ2xhaW0gdGhlIG1pbmltdW0gQW1vdW50IG9mIDEgY2VudCBhdGxlYXN0LgMJAAAAAAAAAgUAAAAaQ2hlY2tPbGRCYWxhbmNlQXNzZXR0b1VTRFQAAAAAAAAAAAAJAAACAAAAAQIAAABlU3dhcCBQYWlyIE5lZWQgdG8gQWRkIExpcXVpZGl0eSBmaXJzdCBpbnRvIFBvb2wuIE9ubHkgQWZ0ZXIgdGhhdCBQYWlyIHdpbGwgYmUgYWN0aXZhdGVkIGZvciBTd2FwcGluZy4DCQAAAAAAAAIFAAAAGkNoZWNrT2xkQmFsYW5jZVVTRFR0b0Fzc2V0AAAAAAAAAAAACQAAAgAAAAECAAAAZVN3YXAgUGFpciBOZWVkIHRvIEFkZCBMaXF1aWRpdHkgZmlyc3QgaW50byBQb29sLiBPbmx5IEFmdGVyIHRoYXQgUGFpciB3aWxsIGJlIGFjdGl2YXRlZCBmb3IgU3dhcHBpbmcuCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAlQcmljZV9PZl8FAAAADEVudGVyQXNzZXRJRAIAAAABXwkAAlgAAAABBQAAAAtVU0RUQXNzZXRJRAUAAAAOQ2hlY2tQYWlyUHJpY2UJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAAZVG90YWxfU3dhcF9GZWVfQ29sbGVjdGVkXwkAAlgAAAABBQAAAAtVU0RUQXNzZXRJRAUAAAAcTmV3U3VtdXBvZkFzc2V0VG9VU0RUU3dhcEZlZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAATVG90YWxfb2ZfU3dhcHNfVHhucwUAAAAPU3VtdXBvZlN3YXBUeG5zCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAUdXNlcmJhbGFuY2V0b3JlY2VpdmUFAAAAC1VTRFRBc3NldElECQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAQU3dhcEZlZXRvcmVjZWl2ZQUAAAALVVNEVEFzc2V0SUQFAAAAA25pbAAAAAFpAQAAABhTd2FwVVNEVFRvQXNzZXRQYWlyRW50cnkAAAABAAAADEVudGVyQXNzZXRJRAQAAAANY2FsbGVyYWRkcmVzcwkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAANwbXQDCQAAAAAAAAIJAAGQAAAAAQgFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAEJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAJAAACAAAAAQIAAAA2T25seSBVU0RUIFRva2VuIGlzIHJlcXVpcmVkIGFzIGFuIEF0dGFjaGVkIHBheW1lbnRbMV0uBAAAAAtVU0RUQXNzZXRJRAEAAAAg7W6ezmGUnP3O5hqSHS3e4uYtkMJNmB8HvATDD5acfHEEAAAAGWNoZWNrcGFpcmlzYXZhaWxhYmxlb3Jub3QJAAQdAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAABJQYWlyX1VuZGVyX1ZvdGluZ18FAAAADEVudGVyQXNzZXRJRAQAAAAMVm90aW5nU3RhdHVzCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzCQABLAAAAAICAAAADlZvdGluZ19TdGF0dXNfBQAAAAxFbnRlckFzc2V0SUQEAAAAFUNoZWNrUmV2ZXJzZVBhaXJQcmljZQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAABBSZXZlcnNlUHJpY2VfT2ZfBQAAAAxFbnRlckFzc2V0SUQEAAAAEkNoZWNrQXNzZXREZWNpbWFscwkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAAAxEZWNpbWFsc19vZl8FAAAADEVudGVyQXNzZXRJRAQAAAATQ3VycmVudFZvdGluZ1N0YXR1cwIAAAAERmFpbAQAAAAOUmV2ZXJzZVN3YXBGZWUAAAAAAAAAAAEEAAAAE2Ftb3VudEFzc2V0RGVjaW1hbHMFAAAAEkNoZWNrQXNzZXREZWNpbWFscwQAAAAScHJpY2VBc3NldERlY2ltYWxzAAAAAAAAAAAGBAAAAAtkZWNpbWFsc2dhcAkAAGUAAAACCQAAZQAA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AABkAAAAAgUAAAASQXNzZXRIb2xkaW5nSW5QYWlyCAUAAAAEcG10MgAAAAZhbW91bnQDCQEAAAACIT0AAAACBQAAABljaGVja3BhaXJpc2F2YWlsYWJsZW9ybm90BQAAAAxFbnRlckFzc2V0SUQJAAACAAAAAQIAAAArUGFpciBpcyBub3QgYXZhaWxhYmxlIGluIFdoaXRlbGlzdGVkIEFzc2V0LgMJAAAAAAAAAgUAAAAMVm90aW5nU3RhdHVzBQAAABNDdXJyZW50Vm90aW5nU3RhdHVzCQAAAgAAAAEJAAEsAAAAAgUAAAAMRW50ZXJBc3NldElEAgAAACAgaXMgbm90IEEgV2hpdGVsaXN0ZWQgVG9rZW4gWWV0LgMJAAAAAAAAAgUAAAAMRW50ZXJBc3NldElECQACWAAAAAEFAAAAC1VTRFRBc3NldElECQAAAgAAAAECAAAAlElucHV0IGNhbiBOZXZlciBiZSBhIFVTRFQgQXNzZXRJRC4gRW50ZXIgV2hpdGVsaXN0ZWQgQXNzZXRJRCBpbiBpbnB1dCBhcyB3ZWxsIGFzIGluIHBheW1lbnRbMV0gYW5kIEF0dGFjaCBVU0RUIGFzIGFuIGF0dGFjaG1lbnQgVG9rZW4gaW4gcGF5bWVudFsyXS4DCQEAAAACIT0AAAACCQABkAAAAAEIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAACCQAAAgAAAAECAAAAi1R3byBhdHRhY2hlZCBhc3NldHMgZXhwZWN0ZWQgYXMgcGF5bWVudCBpbiA1MCUtNTAlLiBLaW5kbHkgQXR0YWNoIHBheW1lbnQxID0gVVNEVCBUb2tlbiBhbmQgcGF5bWVudDIgPSBUb2tlbiB5b3Ugd2FudCB0byBhZGQgZm9yIExpcXVpZGl0eS4DCQEAAAACIT0AAAACCAUAAAAEcG10MQAAAAdhc3NldElkBQAAAAtVU0RUQXNzZXRJRAkAAAIAAAABAgAAAFRJbmNvcnJlY3QgYXNzZXQgYXR0YWNoZWQgZm9yIExpcXVpZGl0eSBpbiBwYXltZW50WzFdLCBwbGVhc2UgYXR0YWNoIFVTRFQgVG9rZW4gb25seS4DCQAAZgAAAAIAAAAAAACYloAIBQAAAARwbXQxAAAABmFtb3VudAkAAAIAAAABAgAAACxwbGVhc2UgYXR0YWNoIGF0bGVhc3QgMTAgVVNEVCBpbiBwYXltZW50WzFdLgMJAAAAAAAAAggFAAAABHBtdDIAAAAHYXNzZXRJZAUAAAALVVNEVEFzc2V0SUQJAAACAAAAAQIAAACPWW91IEF0dGFjaGVkIFVTRFQgYXNzZXQgZm9yIExpcXVpZGl0eSBpbiBib3RoIHBheW1lbnRzLCBLaW5kbHkgQXR0YWNoIHBheW1lbnQxID0gVVNEVCBUb2tlbiBhbmQgcGF5bWVudDIgPSBUb2tlbiB5b3Ugd2FudCB0byBhZGQgZm9yIExpcXVpZGl0eS4DCQEAAAACIT0AAAACCAUAAAAEcG10MgAAAAdhc3NldElkCQACWQAAAAEFAAAADEVudGVyQXNzZXRJRAkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAANQXNzZXQgU3RyaW5nIAUAAAAMRW50ZXJBc3NldElEAgAAAE4gaXMgbm90IG1hdGNoaW5nIHdpdGggYXR0YWNoZWQgcGF5bWVudFsyXS4gU3RyaW5nIGFuZCBwYXltZW50WzJdIG11c3QgYmUgc2FtZS4DCQEAAAACIT0AAAACCAUAAAAEcG10MgAAAAZhbW91bnQFAAAAFnF1YW50aXR5b2ZFbnRlckFzc2V0SUQJAAACAAAAAQkAASwAAAACAgAAAFhBdHRhY2hlZCBwYXltZW50WzJdIHF1YW50aXR5IGlzIG5vdCBtYXRjaGluZyBhcyBwZXIgYXR0YWNoZWQgcGF5bWVudFsxXSBVU0RULkl0IG11c3QgYmUgCQABpAAAAAEFAAAAFnF1YW50aXR5b2ZFbnRlckFzc2V0SUQDCQEAAAACIT0AAAACBQAAABVDaGVja1JldmVyc2VQYWlyUHJpY2UFAAAAHGNoZWNrcG9pbnRUb1ZlcmlmeUJvdGhQcmljZXMJAAACAAAAAQIAAAA/UHJpY2UgYW5kIFJldmVyc2UgUHJpY2UgYXJlIE1pc21hdGNoZWQgb3IgbWFuaXB1bGF0ZWQgbWFudWFsbHkuCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAACVByaWNlX09mXwUAAAAMRW50ZXJBc3NldElEBQAAAA5DaGVja1BhaXJQcmljZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAABBSZXZlcnNlUHJpY2VfT2ZfBQAAAAxFbnRlckFzc2V0SUQFAAAAFUNoZWNrUmV2ZXJzZVBhaXJQcmljZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAPT2xkX0JhbGFuY2Vfb2ZfBQAAAAxFbnRlckFzc2V0SUQCAAAAAV8JAAJYAAAAAQUAAAALVVNEVEFzc2V0SUQFAAAAFE5ld1VTRFRIb2xkaW5nSW5QYWlyCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAA9PbGRfQmFsYW5jZV9vZl8JAAJYAAAAAQUAAAALVVNEVEFzc2V0SUQCAAAAAV8FAAAADEVudGVyQXNzZXRJRAUAAAAVTmV3QXNzZXRIb2xkaW5nSW5QYWlyBQAAAANuaWwAAAABaQEAAAAPUmVtb3ZlUGFpckVudHJ5AAAAAQAAAAxFbnRlckFzc2V0SUQEAAAAC2FkbWlucmlnaHRzCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzAgAAABVQb2xhcml0eV9BZG1pbl9SaWdodHMEAAAAC1VTRFRBc3NldElEAQAAACDtbp7OYZSc/c7mGpIdLd7i5i2Qwk2YHwe8BMMPlpx8cQQAAAAYY2hlY2twcm9qZWN0ZXhwaXJlaGVpZ2h0CQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAICAAAAElZvdGluZ19FbmRfSGVpZ2h0XwUAAAAMRW50ZXJBc3NldElEBAAAABljaGVja3BhaXJpc2F2YWlsYWJsZW9ybm90CQAEHQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAASUGFpcl9VbmRlcl9Wb3RpbmdfBQAAAAxFbnRlckFzc2V0SUQEAAAADFZvdGluZ1N0YXR1cwkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAAA5Wb3RpbmdfU3RhdHVzXwUAAAAMRW50ZXJBc3NldElEBAAAAA9OZXdWb3RpbmdTdGF0dXMCAAAABFBhc3MEAAAADWNhbGxlcmFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAANY3VycmVudGhlaWdodAUAAAAGaGVpZ2h0BAAAAB1wZW5kaW5nYmxvY2tzZm9ycHJvamVjdGV4cGlyZQkAAGUAAAACBQAAABhjaGVja3Byb2plY3RleHBpcmVoZWlnaHQFAAAABmhlaWdodAMJAQAAAAIhPQAAAAIFAAAAGWNoZWNrcGFpcmlzYXZhaWxhYmxlb3Jub3QFAAAADEVudGVyQXNzZXRJRAkAAAIAAAABAgAAACVQYWlyIGlzIG5vdCBhdmFpbGFibGUgaW4gVm90aW5nIExpc3QuAwkBAAAAAiE9AAAAAgUAAAALYWRtaW5yaWdodHMFAAAADWNhbGxlcmFkZHJlc3MJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAIkkga25vdyBZb3UgYXJlIG5vdCBBbiBBZG1pbi4gT25seSAFAAAAC2FkbWlucmlnaHRzAgAAAB8gaGFzIHJpZ2h0cyB0byByZW1vdmUgdGhlIHBhaXIuAwkAAGYAAAACBQAAABhjaGVja3Byb2plY3RleHBpcmVoZWlnaHQFAAAABmhlaWdodAkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAA2Vm90aW5nIEFscmVhZHkgUnVubmluZy4gWW91IGNhbiByZW1vdmUgdGhlIHBhaXIgYWZ0ZXIgCQABpAAAAAEFAAAAHXBlbmRpbmdibG9ja3Nmb3Jwcm9qZWN0ZXhwaXJlAgAAAAcgQmxvY2tzAwkAAAAAAAACBQAAAAxWb3RpbmdTdGF0dXMFAAAAD05ld1ZvdGluZ1N0YXR1cwkAAAIAAAABCQABLAAAAAIFAAAADEVudGVyQXNzZXRJRAIAAAAsIGlzIG5vdyBXaGl0ZWxpc3RlZC4gU28geW91IGNhbid0IHJlbW92ZSBpdC4JAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkAASwAAAACAgAAABJQYWlyX1VuZGVyX1ZvdGluZ18FAAAADEVudGVyQXNzZXRJRAkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQABLAAAAAICAAAAFFZvdGluZ19TdGFydF9IZWlnaHRfBQAAAAxFbnRlckFzc2V0SUQJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkAASwAAAACAgAAABJWb3RpbmdfRW5kX0hlaWdodF8FAAAADEVudGVyQXNzZXRJRAkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQABLAAAAAICAAAADlZvdGluZ19QZXJpb2RfBQAAAAxFbnRlckFzc2V0SUQJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkAASwAAAACAgAAAA9Wb3Rlc19SZXF1aXJlZF8FAAAADEVudGVyQXNzZXRJRAkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQABLAAAAAICAAAAE1ZvdGluZ19MaXN0aW5nX0ZlZV8FAAAADEVudGVyQXNzZXRJRAkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQABLAAAAAICAAAADlZvdGluZ19TdGF0dXNfBQAAAAxFbnRlckFzc2V0SUQJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkAASwAAAACAgAAAA9Wb3Rlc19SZWNlaXZlZF8FAAAADEVudGVyQXNzZXRJRAkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAlQcmljZV9PZl8FAAAADEVudGVyQXNzZXRJRAIAAAABXwkAAlgAAAABBQAAAAtVU0RUQXNzZXRJRAUAAAADbmlsAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAQAAAAHJG1hdGNoMAUAAAACdHgJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V5NivAWw==", "height": 1673737, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 34kHycAj2PMoFey9NSrF7bjGEiReq6kUoxfyQY44J9hd Next: eRg2xuR2MkMyuepx8sAYcD55zUn3iH1pJ6LVTRTWGL6 Diff:
OldNewDifferences
206206 else 0
207207 }
208208 let aq = (ap + am)
209+ let ar = {
210+ let Q = getInteger(this, "Total_of_Swaps_Txns")
211+ if ($isInstanceOf(Q, "Int"))
212+ then {
213+ let R = Q
214+ R
215+ }
216+ else 0
217+ }
218+ let as = (ar + 1)
209219 if ((L != H))
210220 then throw("Pair is not available in Whitelisted Asset.")
211221 else if ((O == af))
220230 then throw("Swap Pair Need to Add Liquidity first into Pool. Only After that Pair will be activated for Swapping.")
221231 else if ((ad == 0))
222232 then throw("Swap Pair Need to Add Liquidity first into Pool. Only After that Pair will be activated for Swapping.")
223- else [IntegerEntry(((("Price_Of_" + H) + "_") + toBase58String(j)), ab), IntegerEntry(("Total_Swap_Fee_Collected_" + toBase58String(j)), aq), ScriptTransfer(a.caller, al, j), ScriptTransfer(a.caller, am, j)]
233+ else [IntegerEntry(((("Price_Of_" + H) + "_") + toBase58String(j)), ab), IntegerEntry(("Total_Swap_Fee_Collected_" + toBase58String(j)), aq), IntegerEntry("Total_of_Swaps_Txns", ar), ScriptTransfer(a.caller, al, j), ScriptTransfer(a.caller, am, j)]
224234 }
225235
226236
234244 let j = base58'GyqTYDea3DWBaAyQs5S5uH2223ucELYFazJpZLCfMznU'
235245 let L = getString(this, ("Pair_Under_Voting_" + H))
236246 let O = getStringValue(this, ("Voting_Status_" + H))
237- let ar = getIntegerValue(this, ("ReversePrice_Of_" + H))
247+ let at = getIntegerValue(this, ("ReversePrice_Of_" + H))
238248 let ae = getIntegerValue(this, ("Decimals_of_" + H))
239249 let af = "Fail"
240- let as = 1
250+ let au = 1
241251 let ah = ae
242252 let ai = 6
243253 let aj = ((6 - ah) - 8)
244- let ak = ((((v.amount * ar) / pow(10, 0, 12, 0, 0, UP)) / pow(10, 0, aj, 0, 0, UP)) * pow(10, 0, ah, 0, 0, UP))
245- let at = assetBalance(this, fromBase58String(H))
246- let au = (at - ak)
254+ let ak = ((((v.amount * at) / pow(10, 0, 12, 0, 0, UP)) / pow(10, 0, aj, 0, 0, UP)) * pow(10, 0, ah, 0, 0, UP))
255+ let av = assetBalance(this, fromBase58String(H))
256+ let aw = (av - ak)
247257 if ((L != H))
248258 then throw("Pair is not available in Whitelisted Asset.")
249259 else if ((O == af))
254264 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.")
255265 else if ((1000000 > v.amount))
256266 then throw("Your Attached USDT Amount is very low. Attach Atleast 1 USDT to Claim the minimum Tokens.")
257- else [IntegerEntry(("ReversePrice_Of_" + H), ar), IntegerEntry(("Total_Swap_Fee_Collected_" + H), 0), ScriptTransfer(a.caller, ((ak * 99) / 100), fromBase58String(H)), ScriptTransfer(a.caller, ((ak * as) / 100), fromBase58String(H))]
267+ else [IntegerEntry(("ReversePrice_Of_" + H), at), IntegerEntry(("Total_Swap_Fee_Collected_" + H), 0), ScriptTransfer(a.caller, ((ak * 99) / 100), fromBase58String(H)), ScriptTransfer(a.caller, ((ak * au) / 100), fromBase58String(H))]
258268 }
259269
260270
268278 let L = getString(this, ("Pair_Under_Voting_" + H))
269279 let O = getStringValue(this, ("Voting_Status_" + H))
270280 let ab = getIntegerValue(this, ((("Price_Of_" + H) + "_") + toBase58String(j)))
271- let ar = getIntegerValue(this, ("ReversePrice_Of_" + H))
281+ let at = getIntegerValue(this, ("ReversePrice_Of_" + H))
272282 let ae = getIntegerValue(this, ("Decimals_of_" + H))
273283 let af = "Fail"
274- let av = 100000
284+ let ax = 100000
275285 let ah = ae
276286 let aj = ((6 - ah) - 8)
277- let aw = ((((e.amount * ar) / pow(10, 0, 12, 0, 0, UP)) / pow(10, 0, aj, 0, 0, UP)) * pow(10, 0, ah, 0, 0, UP))
278- let ax = fraction(1, 1000000000000, ab)
279- let ay = {
287+ let ay = ((((e.amount * at) / pow(10, 0, 12, 0, 0, UP)) / pow(10, 0, aj, 0, 0, UP)) * pow(10, 0, ah, 0, 0, UP))
288+ let az = fraction(1, 1000000000000, ab)
289+ let aA = {
280290 let Q = getInteger(this, ((("Old_Balance_of_" + H) + "_") + toBase58String(j)))
281291 if ($isInstanceOf(Q, "Int"))
282292 then {
285295 }
286296 else 0
287297 }
288- let az = (ay + e.amount)
289- let aA = {
298+ let aB = (aA + e.amount)
299+ let aC = {
290300 let Q = getInteger(this, ((("Old_Balance_of_" + toBase58String(j)) + "_") + H))
291301 if ($isInstanceOf(Q, "Int"))
292302 then {
295305 }
296306 else 0
297307 }
298- let aB = (aA + f.amount)
308+ let aD = (aC + f.amount)
299309 if ((L != H))
300310 then throw("Pair is not available in Whitelisted Asset.")
301311 else if ((O == af))
312322 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.")
313323 else if ((f.assetId != fromBase58String(H)))
314324 then throw((("Asset String " + H) + " is not matching with attached payment[2]. String and payment[2] must be same."))
315- else if ((f.amount != aw))
316- then throw(("Attached payment[2] quantity is not matching as per attached payment[1] USDT.It must be " + toString(aw)))
317- else if ((ar != ax))
325+ else if ((f.amount != ay))
326+ then throw(("Attached payment[2] quantity is not matching as per attached payment[1] USDT.It must be " + toString(ay)))
327+ else if ((at != az))
318328 then throw("Price and Reverse Price are Mismatched or manipulated manually.")
319- else [IntegerEntry(("Price_Of_" + H), ab), IntegerEntry(("ReversePrice_Of_" + H), ar), IntegerEntry(((("Old_Balance_of_" + H) + "_") + toBase58String(j)), az), IntegerEntry(((("Old_Balance_of_" + toBase58String(j)) + "_") + H), aB)]
329+ else [IntegerEntry(("Price_Of_" + H), ab), IntegerEntry(("ReversePrice_Of_" + H), at), IntegerEntry(((("Old_Balance_of_" + H) + "_") + toBase58String(j)), aB), IntegerEntry(((("Old_Balance_of_" + toBase58String(j)) + "_") + H), aD)]
320330 }
321331
322332
323333
324334 @Callable(a)
325335 func RemovePairEntry (H) = {
326- let aC = getStringValue(this, "Polarity_Admin_Rights")
336+ let aE = getStringValue(this, "Polarity_Admin_Rights")
327337 let j = base58'GyqTYDea3DWBaAyQs5S5uH2223ucELYFazJpZLCfMznU'
328338 let K = getIntegerValue(this, ("Voting_End_Height_" + H))
329339 let L = getString(this, ("Pair_Under_Voting_" + H))
330340 let O = getStringValue(this, ("Voting_Status_" + H))
331341 let J = "Pass"
332342 let I = toBase58String(a.caller.bytes)
333- let aD = height
343+ let aF = height
334344 let aa = (K - height)
335345 if ((L != H))
336346 then throw("Pair is not available in Voting List.")
337- else if ((aC != I))
338- then throw((("I know You are not An Admin. Only " + aC) + " has rights to remove the pair."))
347+ else if ((aE != I))
348+ then throw((("I know You are not An Admin. Only " + aE) + " has rights to remove the pair."))
339349 else if ((K > height))
340350 then throw((("Voting Already Running. You can remove the pair after " + toString(aa)) + " Blocks"))
341351 else if ((O == J))
344354 }
345355
346356
347-@Verifier(aE)
348-func aF () = {
349- let Q = aE
350- sigVerify(aE.bodyBytes, aE.proofs[0], aE.senderPublicKey)
357+@Verifier(aG)
358+func aH () = {
359+ let Q = aG
360+ sigVerify(aG.bodyBytes, aG.proofs[0], aG.senderPublicKey)
351361 }
352362
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44
55
66 @Callable(a)
77 func RegisterPairForVoting (b,c,d) = {
88 let e = value(a.payments[0])
99 let f = value(a.payments[1])
1010 let g = base58'GKmJ6BchUgQfwKp4mp5eX8Y9xLioYRm6e1gDfFgdAcCr'
1111 let h = 90
1212 let i = base58'44Mq8KqUhM94t93MiBq3S22iiuGczMxpKmse5dBy2w5y'
1313 let j = base58'GyqTYDea3DWBaAyQs5S5uH2223ucELYFazJpZLCfMznU'
1414 let k = toBase58String(a.caller.bytes)
1515 let l = !(isDefined(f.assetId))
1616 let m = 1440
1717 let n = (m * c)
1818 let o = (n - 43199)
1919 let p = ((100000 + ((11574 * o) / 10000)) * 100000000)
2020 let q = (height + n)
2121 let r = getString(this, ("Pair_Under_Voting_" + b))
2222 let s = "Fail"
2323 let t = fromBase58String(b)
2424 let u = fraction(1, 1000000000000, d)
2525 if ((43 > size(b)))
2626 then throw("Wrong AssetID1 is Entered for Voting. Please Enter a Valid AssetID1. Probably you entered an ASSETID1 less than 43 Chars.")
2727 else if ((29 >= c))
2828 then throw("Enter no. of days in between 30 to 90.")
2929 else if ((c > h))
3030 then throw("You Entered days greater than 90 please Enter no. of days in between 1 to 90.")
3131 else if ((r == b))
3232 then throw("Pair Already Exist in Voting List.")
3333 else if ((size(a.payments) != 2))
3434 then throw("Two attached assets expected as payment. Kindly Attach payment1 = Ballet Token and payment2 = Token you want to add to List for Voting.")
3535 else if ((e.assetId != i))
3636 then throw("Incorrect asset attached for Voting in payment[1], please attach 1000 Ballet Token only.")
3737 else if ((10000000 > e.amount))
3838 then throw((((("You attached only " + toString(fraction(e.amount, 1, 100000000))) + ".") + toString(fraction(e.amount, 1, 10000000))) + " Ballet for Voting in payment[1], please attach 1000 Ballet Token only."))
3939 else if ((f.assetId != t))
4040 then throw("Asset String Attached in ASSETID1 is not matching with Payment2 AssetID.")
4141 else if ((l == true))
4242 then throw("You Attached TN Asset ID for Voting, please attach the Token You want to list in payment[2].")
4343 else if ((f.assetId == i))
4444 then throw("You Attached Ballet asset for Voting in both payments, please attach the Token You want to list in payment[2].")
4545 else if ((9999 >= d))
4646 then throw("Lower listing Price is Entered per token, please enter as a valid range in between range [0.01 - 1M] USDT.")
4747 else if ((d > 999999999999))
4848 then throw("Higher listing Price is Entered per token, please enter as a valid range in between range [0.01 - 1M] USDT.")
4949 else [StringEntry(("Pair_Under_Voting_" + b), b), StringEntry(("Voting_Status_" + b), s), IntegerEntry(("Voting_Start_Height_" + b), height), IntegerEntry(("Voting_End_Height_" + b), q), IntegerEntry(("Voting_Period_" + b), n), IntegerEntry(("Voting_Listing_Fee_" + b), e.amount), IntegerEntry(("Votes_Required_" + b), p), IntegerEntry(("Votes_Received_" + b), 0), IntegerEntry(((("Price_Of_" + b) + "_") + toBase58String(j)), d), IntegerEntry(("ReversePrice_Of_" + b), u), ScriptTransfer(addressFromPublicKey(g), e.amount, i)]
5050 }
5151
5252
5353
5454 @Callable(a)
5555 func IssueBallet () = {
5656 let v = value(a.payments[0])
5757 let k = toBase58String(a.caller.bytes)
5858 let i = base58'44Mq8KqUhM94t93MiBq3S22iiuGczMxpKmse5dBy2w5y'
5959 let w = getIntegerValue(this, "BALLET/TN")
6060 let x = fraction(100000, v.amount, w)
6161 let y = getIntegerValue(this, "Total_Issued_Ballet:")
6262 let z = (y + x)
6363 let A = getIntegerValue(this, "Total_Ballet_Reserve_In_TN:")
6464 let B = (A + v.amount)
6565 let C = getIntegerValue(this, "Ballet_Backup_Value_In_TN:")
6666 let D = fraction(100000, B, z)
6767 let g = base58'GKmJ6BchUgQfwKp4mp5eX8Y9xLioYRm6e1gDfFgdAcCr'
6868 let E = 1
6969 let F = (100 - E)
7070 if (isDefined(v.assetId))
7171 then throw("Incorrect asset attached, please attach TN.")
7272 else if ((5000000 > v.amount))
7373 then throw("Please Attach minimum 0.05 TN To Issue Ballet Asset.")
7474 else [IntegerEntry("Total_Issued_Ballet:", z), IntegerEntry("Total_Ballet_Reserve_In_TN:", B), IntegerEntry("Ballet_Backup_Value_In_TN:", D), StringEntry("message", "<h1>Ballet Issued Successfully!</h1><br>"), Reissue(i, x, true), ScriptTransfer(a.caller, ((x * F) / 100), i), ScriptTransfer(addressFromPublicKey(g), ((x * E) / 100), i)]
7575 }
7676
7777
7878
7979 @Callable(a)
8080 func Liquidate () = {
8181 let k = toBase58String(a.callerPublicKey)
8282 let v = value(a.payments[0])
8383 let i = base58'44Mq8KqUhM94t93MiBq3S22iiuGczMxpKmse5dBy2w5y'
8484 let y = getIntegerValue(this, "Total_Issued_Ballet:")
8585 let z = (y - v.amount)
8686 let A = getIntegerValue(this, "Total_Ballet_Reserve_In_TN:")
8787 let C = getIntegerValue(this, "Ballet_Backup_Value_In_TN:")
8888 let G = fraction(C, v.amount, 100000)
8989 let B = (A - G)
9090 let D = fraction(100000, B, z)
9191 if ((v.assetId != i))
9292 then throw("Kindly Deposit Only 44Mq8KqUhM94t93MiBq3S22iiuGczMxpKmse5dBy2w5y (Ballet).")
9393 else if ((100000 > v.amount))
9494 then throw("Attach Amount must be greater than 0.001 Ballet.")
9595 else [Burn(i, v.amount), IntegerEntry("Total_Issued_Ballet:", z), IntegerEntry("Total_Ballet_Reserve_In_TN:", B), IntegerEntry("Ballet_Backup_Value_In_TN:", D), StringEntry("message", "<h1>Ballet Liquidated Successfully!</h1><br>"), ScriptTransfer(a.caller, G, unit)]
9696 }
9797
9898
9999
100100 @Callable(a)
101101 func DoVoting (H) = {
102102 let v = if ((size(a.payments) == 1))
103103 then a.payments[0]
104104 else throw("Ballet Token is required as Attached payment")
105105 let I = toBase58String(a.caller.bytes)
106106 let i = base58'44Mq8KqUhM94t93MiBq3S22iiuGczMxpKmse5dBy2w5y'
107107 let J = "Pass"
108108 let j = base58'GyqTYDea3DWBaAyQs5S5uH2223ucELYFazJpZLCfMznU'
109109 let K = getIntegerValue(this, ("Voting_End_Height_" + H))
110110 let L = getString(this, ("Pair_Under_Voting_" + H))
111111 let M = getIntegerValue(this, ("Votes_Required_" + H))
112112 let N = getIntegerValue(this, ("Votes_Received_" + H))
113113 let O = getStringValue(this, ("Voting_Status_" + H))
114114 let P = {
115115 let Q = getInteger(this, ("Votes_Received_" + H))
116116 if ($isInstanceOf(Q, "Int"))
117117 then {
118118 let R = Q
119119 R
120120 }
121121 else 0
122122 }
123123 let S = (P + v.amount)
124124 let T = {
125125 let Q = getInteger(this, ((("Votes_Received_" + I) + "_") + H))
126126 if ($isInstanceOf(Q, "Int"))
127127 then {
128128 let U = Q
129129 U
130130 }
131131 else 0
132132 }
133133 let V = (T + v.amount)
134134 let W = (N >= M)
135135 let X = valueOrErrorMessage(assetInfo(fromBase58String(H)), (("Asset " + H) + " doesn't exist"))
136136 let Y = X.decimals
137137 if ((L != H))
138138 then throw("Pair is not available in Voting List.")
139139 else if ((height > K))
140140 then throw((("Voting timeline for " + H) + " is expired."))
141141 else if ((v.assetId != i))
142142 then throw("Kindly Attach Only 44Mq8KqUhM94t93MiBq3S22iiuGczMxpKmse5dBy2w5y (Ballet).")
143143 else if ((O == J))
144144 then throw((("Voting for " + H) + " pair is completed and it’s available in whitelist."))
145145 else if (W)
146146 then [StringEntry(("Voting_Status_" + H), J), IntegerEntry(("Decimals_of_" + H), Y), IntegerEntry(((("Old_Balance_of_" + H) + "_") + toBase58String(j)), 0), IntegerEntry(((("New_Balance_of_" + H) + "_") + toBase58String(j)), 0), IntegerEntry(((("Old_Balance_of_" + toBase58String(j)) + "_") + H), 0), IntegerEntry(((("New_Balance_of_" + toBase58String(j)) + "_") + H), 0), IntegerEntry(((("Total_of_pair_Txns_" + H) + "_") + toBase58String(j)), 0), IntegerEntry("Total_of_Swaps_Txns", 0), IntegerEntry(("Total_Swap_Fee_Collected_" + toBase58String(j)), 0), IntegerEntry(("Total_Swap_Fee_Collected_" + H), 0)]
147147 else [IntegerEntry(("Votes_Received_" + H), S), IntegerEntry(((("Votes_Received_" + I) + "_") + H), V)]
148148 }
149149
150150
151151
152152 @Callable(a)
153153 func WithdrawVotedTokens (H) = {
154154 let v = a.payments[0]
155155 let I = toBase58String(a.caller.bytes)
156156 let i = base58'44Mq8KqUhM94t93MiBq3S22iiuGczMxpKmse5dBy2w5y'
157157 let K = getIntegerValue(this, ("Voting_End_Height_" + H))
158158 let L = getString(this, ("Pair_Under_Voting_" + H))
159159 let Z = getIntegerValue(this, ((("Votes_Received_" + I) + "_") + H))
160160 let aa = (K - height)
161161 if ((L != H))
162162 then throw("Pair is not available in Voting List.")
163163 else if ((K > height))
164164 then throw((("Voting Already Running. You can withdraw your Ballet Token only after the expire of " + toString(aa)) + " Blocks"))
165165 else if ((0 >= Z))
166166 then throw("You don't have any dues of ballet balance in this Voting Pair.")
167167 else if (isDefined(v.assetId))
168168 then throw("Don't attach any other asset. Please attach 0.1 TN as a fee to release your token")
169169 else if ((v.amount != 10000000))
170170 then throw("Please attach 0.1 TN as a fee to release your token.")
171171 else [IntegerEntry(((("Votes_Received_" + I) + "_") + H), 0), ScriptTransfer(a.caller, Z, i)]
172172 }
173173
174174
175175
176176 @Callable(a)
177177 func SwapAssetToUSDTPairEntry (H) = {
178178 let I = toBase58String(a.caller.bytes)
179179 let v = if ((size(a.payments) == 1))
180180 then a.payments[0]
181181 else throw("Whitelisted Swap Token is required as Attached payment[1].")
182182 let j = base58'GyqTYDea3DWBaAyQs5S5uH2223ucELYFazJpZLCfMznU'
183183 let L = getString(this, ("Pair_Under_Voting_" + H))
184184 let O = getStringValue(this, ("Voting_Status_" + H))
185185 let ab = getIntegerValue(this, ((("Price_Of_" + H) + "_") + toBase58String(j)))
186186 let ac = getIntegerValue(this, ((("Old_Balance_of_" + H) + "_") + toBase58String(j)))
187187 let ad = getIntegerValue(this, ((("Old_Balance_of_" + toBase58String(j)) + "_") + H))
188188 let ae = getIntegerValue(this, ("Decimals_of_" + H))
189189 let af = "Fail"
190190 let ag = 1
191191 let ah = ae
192192 let ai = 6
193193 let aj = ((6 - ah) - 8)
194194 let ak = (((v.amount * ab) * pow(10, 0, aj, 0, 0, UP)) / pow(10, 0, ah, 0, 0, UP))
195195 let al = ((ak * 99) / 100)
196196 let am = ((ak * ag) / 100)
197197 let an = assetBalance(this, j)
198198 let ao = (an - ak)
199199 let ap = {
200200 let Q = getInteger(this, ("Total_Swap_Fee_Collected_" + toBase58String(j)))
201201 if ($isInstanceOf(Q, "Int"))
202202 then {
203203 let R = Q
204204 R
205205 }
206206 else 0
207207 }
208208 let aq = (ap + am)
209+ let ar = {
210+ let Q = getInteger(this, "Total_of_Swaps_Txns")
211+ if ($isInstanceOf(Q, "Int"))
212+ then {
213+ let R = Q
214+ R
215+ }
216+ else 0
217+ }
218+ let as = (ar + 1)
209219 if ((L != H))
210220 then throw("Pair is not available in Whitelisted Asset.")
211221 else if ((O == af))
212222 then throw((H + " is not A Whitelisted Token Yet."))
213223 else if ((v.assetId == j))
214224 then throw("You can't Attach USDT as an Attached Payment. Only Whitelisted Tokens are accepted.")
215225 else if ((v.assetId != fromBase58String(H)))
216226 then throw(("Incorrect asset attached, please attach or send " + H))
217227 else if ((10000 > ak))
218228 then throw((("Your Attached Asset Amount is very low. Attach More " + H) + " Tokens to Claim the minimum Amount of 1 cent atleast."))
219229 else if ((ac == 0))
220230 then throw("Swap Pair Need to Add Liquidity first into Pool. Only After that Pair will be activated for Swapping.")
221231 else if ((ad == 0))
222232 then throw("Swap Pair Need to Add Liquidity first into Pool. Only After that Pair will be activated for Swapping.")
223- else [IntegerEntry(((("Price_Of_" + H) + "_") + toBase58String(j)), ab), IntegerEntry(("Total_Swap_Fee_Collected_" + toBase58String(j)), aq), ScriptTransfer(a.caller, al, j), ScriptTransfer(a.caller, am, j)]
233+ else [IntegerEntry(((("Price_Of_" + H) + "_") + toBase58String(j)), ab), IntegerEntry(("Total_Swap_Fee_Collected_" + toBase58String(j)), aq), IntegerEntry("Total_of_Swaps_Txns", ar), ScriptTransfer(a.caller, al, j), ScriptTransfer(a.caller, am, j)]
224234 }
225235
226236
227237
228238 @Callable(a)
229239 func SwapUSDTToAssetPairEntry (H) = {
230240 let I = toBase58String(a.caller.bytes)
231241 let v = if ((size(a.payments) == 1))
232242 then a.payments[0]
233243 else throw("Only USDT Token is required as an Attached payment[1].")
234244 let j = base58'GyqTYDea3DWBaAyQs5S5uH2223ucELYFazJpZLCfMznU'
235245 let L = getString(this, ("Pair_Under_Voting_" + H))
236246 let O = getStringValue(this, ("Voting_Status_" + H))
237- let ar = getIntegerValue(this, ("ReversePrice_Of_" + H))
247+ let at = getIntegerValue(this, ("ReversePrice_Of_" + H))
238248 let ae = getIntegerValue(this, ("Decimals_of_" + H))
239249 let af = "Fail"
240- let as = 1
250+ let au = 1
241251 let ah = ae
242252 let ai = 6
243253 let aj = ((6 - ah) - 8)
244- let ak = ((((v.amount * ar) / pow(10, 0, 12, 0, 0, UP)) / pow(10, 0, aj, 0, 0, UP)) * pow(10, 0, ah, 0, 0, UP))
245- let at = assetBalance(this, fromBase58String(H))
246- let au = (at - ak)
254+ let ak = ((((v.amount * at) / pow(10, 0, 12, 0, 0, UP)) / pow(10, 0, aj, 0, 0, UP)) * pow(10, 0, ah, 0, 0, UP))
255+ let av = assetBalance(this, fromBase58String(H))
256+ let aw = (av - ak)
247257 if ((L != H))
248258 then throw("Pair is not available in Whitelisted Asset.")
249259 else if ((O == af))
250260 then throw((H + " is not A Whitelisted Token Yet."))
251261 else if ((H == toBase58String(j)))
252262 then throw("Input can Never be a USDT AssetID. Enter Whitelisted AssetID in input and Attach USDT as an attachment Token in payment[1].")
253263 else if ((v.assetId != j))
254264 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.")
255265 else if ((1000000 > v.amount))
256266 then throw("Your Attached USDT Amount is very low. Attach Atleast 1 USDT to Claim the minimum Tokens.")
257- else [IntegerEntry(("ReversePrice_Of_" + H), ar), IntegerEntry(("Total_Swap_Fee_Collected_" + H), 0), ScriptTransfer(a.caller, ((ak * 99) / 100), fromBase58String(H)), ScriptTransfer(a.caller, ((ak * as) / 100), fromBase58String(H))]
267+ else [IntegerEntry(("ReversePrice_Of_" + H), at), IntegerEntry(("Total_Swap_Fee_Collected_" + H), 0), ScriptTransfer(a.caller, ((ak * 99) / 100), fromBase58String(H)), ScriptTransfer(a.caller, ((ak * au) / 100), fromBase58String(H))]
258268 }
259269
260270
261271
262272 @Callable(a)
263273 func AddLiquidity (H) = {
264274 let I = toBase58String(a.caller.bytes)
265275 let e = value(a.payments[0])
266276 let f = value(a.payments[1])
267277 let j = base58'GyqTYDea3DWBaAyQs5S5uH2223ucELYFazJpZLCfMznU'
268278 let L = getString(this, ("Pair_Under_Voting_" + H))
269279 let O = getStringValue(this, ("Voting_Status_" + H))
270280 let ab = getIntegerValue(this, ((("Price_Of_" + H) + "_") + toBase58String(j)))
271- let ar = getIntegerValue(this, ("ReversePrice_Of_" + H))
281+ let at = getIntegerValue(this, ("ReversePrice_Of_" + H))
272282 let ae = getIntegerValue(this, ("Decimals_of_" + H))
273283 let af = "Fail"
274- let av = 100000
284+ let ax = 100000
275285 let ah = ae
276286 let aj = ((6 - ah) - 8)
277- let aw = ((((e.amount * ar) / pow(10, 0, 12, 0, 0, UP)) / pow(10, 0, aj, 0, 0, UP)) * pow(10, 0, ah, 0, 0, UP))
278- let ax = fraction(1, 1000000000000, ab)
279- let ay = {
287+ let ay = ((((e.amount * at) / pow(10, 0, 12, 0, 0, UP)) / pow(10, 0, aj, 0, 0, UP)) * pow(10, 0, ah, 0, 0, UP))
288+ let az = fraction(1, 1000000000000, ab)
289+ let aA = {
280290 let Q = getInteger(this, ((("Old_Balance_of_" + H) + "_") + toBase58String(j)))
281291 if ($isInstanceOf(Q, "Int"))
282292 then {
283293 let R = Q
284294 R
285295 }
286296 else 0
287297 }
288- let az = (ay + e.amount)
289- let aA = {
298+ let aB = (aA + e.amount)
299+ let aC = {
290300 let Q = getInteger(this, ((("Old_Balance_of_" + toBase58String(j)) + "_") + H))
291301 if ($isInstanceOf(Q, "Int"))
292302 then {
293303 let R = Q
294304 R
295305 }
296306 else 0
297307 }
298- let aB = (aA + f.amount)
308+ let aD = (aC + f.amount)
299309 if ((L != H))
300310 then throw("Pair is not available in Whitelisted Asset.")
301311 else if ((O == af))
302312 then throw((H + " is not A Whitelisted Token Yet."))
303313 else if ((H == toBase58String(j)))
304314 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].")
305315 else if ((size(a.payments) != 2))
306316 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.")
307317 else if ((e.assetId != j))
308318 then throw("Incorrect asset attached for Liquidity in payment[1], please attach USDT Token only.")
309319 else if ((10000000 > e.amount))
310320 then throw("please attach atleast 10 USDT in payment[1].")
311321 else if ((f.assetId == j))
312322 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.")
313323 else if ((f.assetId != fromBase58String(H)))
314324 then throw((("Asset String " + H) + " is not matching with attached payment[2]. String and payment[2] must be same."))
315- else if ((f.amount != aw))
316- then throw(("Attached payment[2] quantity is not matching as per attached payment[1] USDT.It must be " + toString(aw)))
317- else if ((ar != ax))
325+ else if ((f.amount != ay))
326+ then throw(("Attached payment[2] quantity is not matching as per attached payment[1] USDT.It must be " + toString(ay)))
327+ else if ((at != az))
318328 then throw("Price and Reverse Price are Mismatched or manipulated manually.")
319- else [IntegerEntry(("Price_Of_" + H), ab), IntegerEntry(("ReversePrice_Of_" + H), ar), IntegerEntry(((("Old_Balance_of_" + H) + "_") + toBase58String(j)), az), IntegerEntry(((("Old_Balance_of_" + toBase58String(j)) + "_") + H), aB)]
329+ else [IntegerEntry(("Price_Of_" + H), ab), IntegerEntry(("ReversePrice_Of_" + H), at), IntegerEntry(((("Old_Balance_of_" + H) + "_") + toBase58String(j)), aB), IntegerEntry(((("Old_Balance_of_" + toBase58String(j)) + "_") + H), aD)]
320330 }
321331
322332
323333
324334 @Callable(a)
325335 func RemovePairEntry (H) = {
326- let aC = getStringValue(this, "Polarity_Admin_Rights")
336+ let aE = getStringValue(this, "Polarity_Admin_Rights")
327337 let j = base58'GyqTYDea3DWBaAyQs5S5uH2223ucELYFazJpZLCfMznU'
328338 let K = getIntegerValue(this, ("Voting_End_Height_" + H))
329339 let L = getString(this, ("Pair_Under_Voting_" + H))
330340 let O = getStringValue(this, ("Voting_Status_" + H))
331341 let J = "Pass"
332342 let I = toBase58String(a.caller.bytes)
333- let aD = height
343+ let aF = height
334344 let aa = (K - height)
335345 if ((L != H))
336346 then throw("Pair is not available in Voting List.")
337- else if ((aC != I))
338- then throw((("I know You are not An Admin. Only " + aC) + " has rights to remove the pair."))
347+ else if ((aE != I))
348+ then throw((("I know You are not An Admin. Only " + aE) + " has rights to remove the pair."))
339349 else if ((K > height))
340350 then throw((("Voting Already Running. You can remove the pair after " + toString(aa)) + " Blocks"))
341351 else if ((O == J))
342352 then throw((H + " is now Whitelisted. So you can't remove it."))
343353 else [DeleteEntry(("Pair_Under_Voting_" + H)), DeleteEntry(("Voting_Start_Height_" + H)), DeleteEntry(("Voting_End_Height_" + H)), DeleteEntry(("Voting_Period_" + H)), DeleteEntry(("Votes_Required_" + H)), DeleteEntry(("Voting_Listing_Fee_" + H)), DeleteEntry(("Voting_Status_" + H)), DeleteEntry(("Votes_Received_" + H)), DeleteEntry(((("Price_Of_" + H) + "_") + toBase58String(j)))]
344354 }
345355
346356
347-@Verifier(aE)
348-func aF () = {
349- let Q = aE
350- sigVerify(aE.bodyBytes, aE.proofs[0], aE.senderPublicKey)
357+@Verifier(aG)
358+func aH () = {
359+ let Q = aG
360+ sigVerify(aG.bodyBytes, aG.proofs[0], aG.senderPublicKey)
351361 }
352362

github/deemru/w8io/169f3d6 
73.30 ms