tx · C3xMzoA8UtdgmrdEYPJBLgC21JNBdtz62Z3MYAzrMypD

3Mrnje6z2xa3xuXyU2Lk6ynKy8tsRnnt4Bv:  -0.01400000 Waves

2022.01.14 09:41 [1878274] smart account 3Mrnje6z2xa3xuXyU2Lk6ynKy8tsRnnt4Bv > SELF 0.00000000 Waves

{ "type": 13, "id": "C3xMzoA8UtdgmrdEYPJBLgC21JNBdtz62Z3MYAzrMypD", "fee": 1400000, "feeAssetId": null, "timestamp": 1642142500633, "version": 2, "chainId": 84, "sender": "3Mrnje6z2xa3xuXyU2Lk6ynKy8tsRnnt4Bv", "senderPublicKey": "28sGn7FYnmxceAmnGYiDiKuMK1QyXiqX8zQXfKDnrc8t", "proofs": [ "81KA86MapdtKJr5wKh8btCuRW8dHnUqbXnPi1HBqNJtps6v72efT7AJksXBVK9aUgrmHDctSQnwdNWLiYmuRc4s" ], "script": "base64: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Vm90ZXNfUmN2ZF8FAAAADWNhbGxlcmFkZHJlc3MCAAAAAV8FAAAADEVudGVyQXNzZXRJRAUAAAAUaW5kaXZpZHVhbHZvdGVzY291bnQFAAAAA25pbAAAAAFpAQAAABNXaXRoZHJhd1ZvdGVkVG9rZW5zAAAAAQAAAAxFbnRlckFzc2V0SUQEAAAAA3BtdAMJAAAAAAAAAgkAAZAAAAABCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAkAAAIAAAABAgAAAC0wLjEgVE4gVG9rZW4gaXMgcmVxdWlyZWQgYXMgQXR0YWNoZWQgcGF5bWVudC4EAAAADWNhbGxlcmFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAOY2hlY2tlbmRoZWlnaHQJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAAKVm90aW5nX0VIXwUAAAAMRW50ZXJBc3NldElEBAAAABljaGVja3BhaXJpc2F2YWlsYWJsZW9ybm90CQAEHQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAAIUGFpcl9VVl8FAAAADEVudGVyQXNzZXRJRAQAAAAWY2hlY2t1c2Vydm90aW5nYmFsYW5jZQkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAC1ZvdGVzX1JjdmRfBQAAAA1jYWxsZXJhZGRyZXNzAgAAAAFfBQAAAAxFbnRlckFzc2V0SUQJAAEsAAAAAgUAAAANY2FsbGVyYWRkcmVzcwIAAAAlIEFkZHJlc3MgbmV2ZXIgdm90ZWQgJiBleGlzdCBpbiBsaXN0LgQAAAAdcGVuZGluZ2Jsb2Nrc2ZvcnByb2plY3RleHBpcmUJAABlAAAAAgUAAAAOY2hlY2tlbmRoZWlnaHQFAAAABmhlaWdodAMJAQAAAAIhPQAAAAIFAAAAGWNoZWNrcGFpcmlzYXZhaWxhYmxlb3Jub3QFAAAADEVudGVyQXNzZXRJRAkAAAIAAAABAgAAACVQYWlyIGlzIG5vdCBhdmFpbGFi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AAAFYnl0ZXMEAAAAA3BtdAMJAAAAAAAAAgkAAZAAAAABCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAkAAAIAAAABAgAAADVXaGl0ZWxpc3RlZCBUb2tlbiBpcyByZXF1aXJlZCBhcyBBdHRhY2hlZCBwYXltZW50WzFdLgQAAAAZY2hlY2twYWlyaXNhdmFpbGFibGVvcm5vdAkABB0AAAACBQAAAAR0aGlzCQABLAAAAAICAAAACFBhaXJfVVZfBQAAAAxFbnRlckFzc2V0SUQEAAAADFZvdGluZ1N0YXR1cwkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAAA5Wb3RpbmdfU3RhdHVzXwUAAAAMRW50ZXJBc3NldElEBAAAABBDaGVja1VTRFRCYWxhbmNlCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAtCYWxhbmNlX29mXwUAAAAMRW50ZXJBc3NldElEAgAAAAFfCQACWAAAAAEFAAAAC1VTRFRBc3NldElEBAAAABFDaGVja0Fzc2V0QmFsYW5jZQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAALQmFsYW5jZV9vZl8JAAJYAAAAAQUAAAALVVNEVEFzc2V0SUQCAAAAAV8FAAAADEVudGVyQXNzZXRJRAQAAAAQbmV3YmFsYW5jZW9mVVNEVAkAAGsAAAADBQAAABBDaGVja1VTRFRCYWxhbmNlBQAAABFDaGVja0Fzc2V0QmFsYW5jZQkAAGQAAAACBQAAABFDaGVja0Fzc2V0QmFsYW5jZQgFAAAAA3BtdAAAAAZhbW91bnQEAAAAFHF1YW50aXR5b2ZwcmljZWFzc2V0CQAAZQAAAAIFAAAAEENoZWNrVVNEVEJhbGFuY2UFAAAAEG5ld2JhbGFuY2VvZlVTRFQEAAAAE0N1cnJlbnRWb3RpbmdTdGF0dXMCAAAAAUYEAAAAB1N3YXBGZWUAAAAAAAAAAAMEAAAAEFN3YXBGZWV0b3JlY2VpdmUJAABpAAAAAgkAAGgAAAACBQAAABRxdWFudGl0eW9mcHJpY2Vhc3NldAUAAAAHU3dhcEZlZQAAAAAAAAAD6AQAAAAUdXNlcmJhbGFuY2V0b3JlY2VpdmUJAABlAAAAAgUAAAAUcXVhbnRpdHlvZnByaWNlYXNzZXQFAAAAEFN3YXBGZWV0b3JlY2VpdmUEAAAAGVN1bXVwb2ZBc3NldFRvVVNEVFN3YXBGZWUEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAZVG90YWxfU3dhcF9GZWVfQ29sbGVjdGVkXwUAAAAMRW50ZXJBc3NldElEAgAAAAFfCQACWAAAAAEFAAAAC1VTRFRBc3NldElEAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAHE5ld1N1bXVwb2ZBc3NldFRvVVNEVFN3YXBGZWUJAABkAAAAAgUAAAAZU3VtdXBvZkFzc2V0VG9VU0RUU3dhcEZlZQUAAAAQU3dhcEZlZXRvcmVjZWl2ZQQAAAARU3VtdXBBc3NldEJhbGFuY2UEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAALQmFsYW5jZV9vZl8JAAJYAAAAAQUAAAALVVNEVEFzc2V0SUQCAAAAAV8FAAAADEVudGVyQXNzZXRJRAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAABZOZXdTdW11cG9mQXNzZXRCYWxhbmNlCQAAZAAAAAIFAAAAEUNoZWNrQXNzZXRCYWxhbmNlCAUAAAADcG10AAAABmFtb3VudAQAAAAQU3VtdXBVU0RUQmFsYW5jZQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAtCYWxhbmNlX29mXwUAAAAMRW50ZXJBc3NldElEAgAAAAFfCQACWAAAAAEFAAAAC1VTRFRBc3NldElEAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAFU5ld1N1bXVwb2ZVU0RUQmFsYW5jZQkAAGUAAAACBQAAABBDaGVja1VTRFRCYWxhbmNlBQAAABRxdWFudGl0eW9mcHJpY2Vhc3NldAQAAAAEVE9QVAQAAAAHJG1hdGNoMAkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAABNUb3RhbF9vZl9QYWlyX1R4bnNfBQAAAAxFbnRlckFzc2V0SUQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAGTmV3VFBUCQAAZAAAAAIFAAAABFRPUFQAAAAAAAAAAAEDCQAAAAAAAAIFAAAADEVudGVyQXNzZXRJRAkAAlgAAAABBQAAAAtVU0RUQXNzZXRJRAkAAAIAAAABAgAAAIZJbnB1dCBjYW4gTmV2ZXIgYmUgYSBVU0RUIEFzc2V0SUQuIEVudGVyIFdoaXRlbGlzdGVkIEFzc2V0SUQgaW4gaW5wdXQgJiBBdHRhY2ggV2hpdGVsaXN0ZWQgQXNzZXQgYXMgYW4gYXR0YWNobWVudCBUb2tlbiBpbiBwYXltZW50WzFdLgMJAQAAAAIhPQAAAAIFAAAAGWNoZWNrcGFpcmlzYXZhaWxhYmxlb3Jub3QFAAAADEVudGVyQXNzZXRJRAkAAAIAAAABAgAAACtQYWlyIGlzIG5vdCBhdmFpbGFibGUgaW4gV2hpdGVsaXN0ZWQgQXNzZXQuAwkAAAAAAAACBQAAAAxWb3RpbmdTdGF0dXMFAAAAE0N1cnJlbnRWb3RpbmdTdGF0dXMJAAACAAAAAQkAASwAAAACBQAAAAxFbnRlckFzc2V0SUQCAAAAICBpcyBub3QgQSBXaGl0ZWxpc3RlZCBUb2tlbiBZZXQuAwkAAAAAAAACCAUAAAADcG10AAAAB2Fzc2V0SWQFAAAAC1VTRFRBc3NldElECQAAAgAAAAECAAAAU1lvdSBjYW4ndCBBdHRhY2ggVVNEVCBhcyBhbiBBdHRhY2hlZCBQYXltZW50LiBPbmx5IFdoaXRlbGlzdGVkIFRva2VucyBhcmUgYWNjZXB0ZWQuAwkBAAAAAiE9AAAAAggFAAAAA3BtdAAAAAdhc3NldElkCQACWQAAAAEFAAAADEVudGVyQXNzZXRJRAkAAAIAAAABCQABLAAAAAICAAAAMEluY29ycmVjdCBhc3NldCBhdHRhY2hlZCwgcGxlYXNlIGF0dGFjaCBvciBzZW5kIAUAAAAMRW50ZXJBc3NldElEAwkAAAAAAAACBQAAABBDaGVja1VTRFRCYWxhbmNlAAAAAAAAAAAACQAAAgAAAAECAAAAZVN3YXAgUGFpciBOZWVkIHRvIEFkZCBMaXF1aWRpdHkgZmlyc3QgaW50byBQb29sLiBPbmx5IEFmdGVyIHRoYXQgUGFpciB3aWxsIGJlIGFjdGl2YXRlZCBmb3IgU3dhcHBpbmcuAwkAAAAAAAACBQAAABFDaGVja0Fzc2V0QmFsYW5jZQAAAAAAAAAAAAkAAAIAAAABAgAAAGVTd2FwIFBhaXIgTmVlZCB0byBBZGQgTGlxdWlkaXR5IGZpcnN0IGludG8gUG9vbC4gT25seSBBZnRlciB0aGF0IFBhaXIgd2lsbCBiZSBhY3RpdmF0ZWQgZm9yIFN3YXBwaW5nLgMJAABmAAAAAgAAAAAAAJiWgAUAAAAUcXVhbnRpdHlvZnByaWNlYXNzZXQJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAANFlvdXIgQXR0YWNoZWQgQXNzZXQgQW1vdW50IGlzIHZlcnkgbG93LiBBdHRhY2ggTW9yZSAFAAAADEVudGVyQXNzZXRJRAIAAAA5IFRva2VucyB0byBDbGFpbSB0aGUgbWluaW11bSBBbW91bnQgb2YgMTAgZG9sbGFyIGF0bGVhc3QuAwkAAGYAAAACBQAAABRxdWFudGl0eW9mcHJpY2Vhc3NldAUAAAAQQ2hlY2tVU0RUQmFsYW5jZQkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAdUG9vbCBPbmx5IGhhcyBhIExpcXVpZGl0eSBvZiAJAAGkAAAAAQkAAGkAAAACBQAAABBDaGVja1VTRFRCYWxhbmNlCQAAbAAAAAYAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAlVQAgAAAB8gVVNEVC4gQWRkIExpcXVpZGl0eSBpbnRvIFBvb2wuCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAABlUb3RhbF9Td2FwX0ZlZV9Db2xsZWN0ZWRfBQAAAAxFbnRlckFzc2V0SUQCAAAAAV8JAAJYAAAAAQUAAAALVVNEVEFzc2V0SUQFAAAAHE5ld1N1bXVwb2ZBc3NldFRvVVNEVFN3YXBGZWUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAATVG90YWxfb2ZfUGFpcl9UeG5zXwUAAAAMRW50ZXJBc3NldElEBQAAAAZOZXdUUFQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAC0JhbGFuY2Vfb2ZfCQACWAAAAAEFAAAAC1VTRFRBc3NldElEAgAAAAFfBQAAAAxFbnRlckFzc2V0SUQFAAAAFk5ld1N1bXVwb2ZBc3NldEJhbGFuY2UJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAC0JhbGFuY2Vfb2ZfBQAAAAxFbnRlckFzc2V0SUQCAAAAAV8JAAJYAAAAAQUAAAALVVNEVEFzc2V0SUQFAAAAFU5ld1N1bXVwb2ZVU0RUQmFsYW5jZQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAAFHVzZXJiYWxhbmNldG9yZWNlaXZlBQAAAAtVU0RUQXNzZXRJRAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAABlDb2xsZWN0VVNEVFN3YXBGZWVBZGRyZXNzBQAAABBTd2FwRmVldG9yZWNlaXZlBQAAAAtVU0RUQXNzZXRJRAUAAAADbmlsAAAAAWkBAAAAGFN3YXBVU0RUVG9Bc3NldFBhaXJFbnRyeQAAAAEAAAAMRW50ZXJBc3NldElEBAAAAA1jYWxsZXJhZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAA3BtdAMJAAAAAAAAAgkAAZAAAAABCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAFT25seSAJAAJYAAAAAQUAAAALVVNEVEFzc2V0SUQCAAAAMiBVU0RUIFRva2VuIGlzIHJlcXVpcmVkIGFzIGFuIEF0dGFjaGVkIHBheW1lbnRbMV0uBAAAABBDaGVja1VTRFRCYWxhbmNlCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAtCYWxhbmNlX29mXwUAAAAMRW50ZXJBc3NldElEAgAAAAFfCQACWAAAAAEFAAAAC1VTRFRBc3NldElEBAAAABFDaGVja0Fzc2V0QmFsYW5jZQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAALQmFsYW5jZV9vZl8JAAJYAAAAAQUAAAALVVNEVEFzc2V0SUQCAAAAAV8FAAAADEVudGVyQXNzZXRJRAQAAAARbmV3YmFsYW5jZW9mQXNzZXQJAABrAAAAAwUAAAAQQ2hlY2tVU0RUQmFsYW5jZQUAAAARQ2hlY2tBc3NldEJhbGFuY2UJAABkAAAAAgUAAAAQQ2hlY2tVU0RUQmFsYW5jZQgFAAAAA3BtdAAAAAZhbW91bnQEAAAAFHF1YW50aXR5b2ZwcmljZWFzc2V0CQAAZQAAAAIFAAAAEUNoZWNrQXNzZXRCYWxhbmNlBQAAABFuZXdiYWxhbmNlb2ZBc3NldAQAAAAZY2hlY2twYWlyaXNhdmFpbGFibGVvcm5vdAkABB0AAAACBQAAAAR0aGlzCQABLAAAAAICAAAACFBhaXJfVVZfBQAAAAxFbnRlckFzc2V0SUQEAAAADFZvdGluZ1N0YXR1cwkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAAA5Wb3RpbmdfU3RhdHVzXwUAAAAMRW50ZXJBc3NldElEBAAAABNDdXJyZW50Vm90aW5nU3RhdHVzAgAAAAFGBAAAAAdTd2FwRmVlAAAAAAAAAAADBAAAABBTd2FwRmVldG9yZWNlaXZlCQAAaQAAAAIJAABoAAAAAgUAAAAUcXVhbnRpdHlvZnByaWNlYXNzZXQFAAAAB1N3YXBGZWUAAAAAAAAAA+gEAAAAFHVzZXJiYWxhbmNldG9yZWNlaXZlCQAAZQAAAAIFAAAAFHF1YW50aXR5b2ZwcmljZWFzc2V0BQAAABBTd2FwRmVldG9yZWNlaXZlBAAAABlTdW11cG9mVVNEVFRvQXNzZXRTd2FwRmVlBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAAZVG90YWxfU3dhcF9GZWVfQ29sbGVjdGVkXwUAAAAMRW50ZXJBc3NldElEAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAHE5ld1N1bXVwb2ZVU0RUVG9Bc3NldFN3YXBGZWUJAABkAAAAAgUAAAAZU3VtdXBvZlVTRFRUb0Fzc2V0U3dhcEZlZQUAAAAQU3dhcEZlZXRvcmVjZWl2ZQQAAAARU3VtdXBBc3NldEJhbGFuY2UEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAALQmFsYW5jZV9vZl8JAAJYAAAAAQUAAAALVVNEVEFzc2V0SUQCAAAAAV8FAAAADEVudGVyQXNzZXRJRAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAABZOZXdTdW11cG9mQXNzZXRCYWxhbmNlCQAAZQAAAAIFAAAAEUNoZWNrQXNzZXRCYWxhbmNlBQAAABRxdWFudGl0eW9mcHJpY2Vhc3NldAQAAAAQU3VtdXBVU0RUQmFsYW5jZQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAtCYWxhbmNlX29mXwUAAAAMRW50ZXJBc3NldElEAgAAAAFfCQACWAAAAAEFAAAAC1VTRFRBc3NldElEAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAFU5ld1N1bXVwb2ZVU0RUQmFsYW5jZQkAAGQAAAACBQAAABBDaGVja1VTRFRCYWxhbmNlCAUAAAADcG10AAAABmFtb3VudAQAAAAEVE9QVAQAAAAHJG1hdGNoMAkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAABNUb3RhbF9vZl9QYWlyX1R4bnNfBQAAAAxFbnRlckFzc2V0SUQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAGTmV3VFBUCQAAZAAAAAIFAAAABFRPUFQAAAAAAAAAAAEDCQEAAAACIT0AAAACBQAAABljaGVja3BhaXJpc2F2YWlsYWJsZW9ybm90BQAAAAxFbnRlckFzc2V0SUQJAAACAAAAAQIAAAArUGFpciBpcyBub3QgYXZhaWxhYmxlIGluIFdoaXRlbGlzdGVkIEFzc2V0LgMJAAAAAAAAAgUAAAAMVm90aW5nU3RhdHVzBQAAABNDdXJyZW50Vm90aW5nU3RhdHVzCQAAAgAAAAEJAAEsAAAAAgUAAAAMRW50ZXJBc3NldElEAgAAACAgaXMgbm90IEEgV2hpdGVsaXN0ZWQgVG9rZW4gWWV0LgMJAAAAAAAAAgUAAAAMRW50ZXJBc3NldElECQACWAAAAAEFAAAAC1VTRFRBc3NldElECQAAAgAAAAECAAAAeUlucHV0IGNhbiBOZXZlciBiZSBhIFVTRFQgQXNzZXRJRC4gRW50ZXIgV2hpdGVsaXN0ZWQgQXNzZXRJRCBpbiBpbnB1dCAmIEF0dGFjaCBVU0RUIGFzIGFuIGF0dGFjaG1lbnQgVG9rZW4gaW4gcGF5bWVudFsxXS4DCQEAAAACIT0AAAACCAUAAAADcG10AAAAB2Fzc2V0SWQFAAAAC1VTRFRBc3NldElECQAAAgAAAAECAAAAfllvdSBjYW4gQXR0YWNoIFVTRFQgYXMgYW4gQXR0YWNoZWQgUGF5bWVudFsxXSB0byBTd2FwIFVTRFQgVG8gUmVxdWlyZWQgVG9rZW4uIEFueSBvdGhlciBhc3NldCBlbHNlIHRoYW4gVVNEVCB3aWxsIGJlIHJlamVjdGVkLgMJAABmAAAAAgAAAAAAAJiWgAgFAAAAA3BtdAAAAAZhbW91bnQJAAACAAAAAQIAAABaWW91ciBBdHRhY2hlZCBVU0RUIEFtb3VudCBpcyB2ZXJ5IGxvdy4gQXR0YWNoIEF0bGVhc3QgMTAgVVNEVCB0byBDbGFpbSB0aGUgbWluaW11bSBUb2tlbnMuAwkAAAAAAAACBQAAABBDaGVja1VTRFRCYWxhbmNlAAAAAAAAAAAACQAAAgAAAAECAAAAZVN3YXAgUGFpciBOZWVkIHRvIEFkZCBMaXF1aWRpdHkgZmlyc3QgaW50byBQb29sLiBPbmx5IEFmdGVyIHRoYXQgUGFpciB3aWxsIGJlIGFjdGl2YXRlZCBmb3IgU3dhcHBpbmcuAwkAAAAAAAACBQAAABFDaGVja0Fzc2V0QmFsYW5jZQAAAAAAAAAAAAkAAAIAAAABAgAAAGVTd2FwIFBhaXIgTmVlZCB0byBBZGQgTGlxdWlkaXR5IGZpcnN0IGludG8gUG9vbC4gT25seSBBZnRlciB0aGF0IFBhaXIgd2lsbCBiZSBhY3RpdmF0ZWQgZm9yIFN3YXBwaW5nLgMJAABmAAAAAgUAAAAUcXVhbnRpdHlvZnByaWNlYXNzZXQFAAAAEUNoZWNrQXNzZXRCYWxhbmNlCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAAB1Qb29sIE9ubHkgaGFzIGEgTGlxdWlkaXR5IG9mIAkAAaQAAAABBQAAABFDaGVja0Fzc2V0QmFsYW5jZQIAAAAhIFRva2Vucy4gQWRkIExpcXVpZGl0eSBpbnRvIFBvb2wuCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAGVRvdGFsX1N3YXBfRmVlX0NvbGxlY3RlZF8FAAAADEVudGVyQXNzZXRJRAUAAAAcTmV3U3VtdXBvZlVTRFRUb0Fzc2V0U3dhcEZlZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAABNUb3RhbF9vZl9QYWlyX1R4bnNfBQAAAAxFbnRlckFzc2V0SUQFAAAABk5ld1RQVAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAALQmFsYW5jZV9vZl8JAAJYAAAAAQUAAAALVVNEVEFzc2V0SUQCAAAAAV8FAAAADEVudGVyQXNzZXRJRAUAAAAWTmV3U3VtdXBvZkFzc2V0QmFsYW5jZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAALQmFsYW5jZV9vZl8FAAAADEVudGVyQXNzZXRJRAIAAAABXwkAAlgAAAABBQAAAAtVU0RUQXNzZXRJRAUAAAAVTmV3U3VtdXBvZlVTRFRCYWxhbmNlCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAUdXNlcmJhbGFuY2V0b3JlY2VpdmUJAAJZAAAAAQUAAAAMRW50ZXJBc3NldElECQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAAGkNvbGxlY3RBc3NldFN3YXBGZWVBZGRyZXNzBQAAABBTd2FwRmVldG9yZWNlaXZlCQACWQAAAAEFAAAADEVudGVyQXNzZXRJRAUAAAADbmlsAAAAAWkBAAAADEFkZExpcXVpZGl0eQAAAAEAAAAMRW50ZXJBc3NldElEBAAAAA1jYWxsZXJhZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAABHBtdDEJAQAAAAV2YWx1ZQAAAAEJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAEAAAABHBtdDIJAQAAAAV2YWx1ZQAAAAEJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAEEAAAAGWNoZWNrcGFpcmlzYXZhaWxhYmxlb3Jub3QJAAQdAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAAAhQYWlyX1VWXwUAAAAMRW50ZXJBc3NldElEBAAAAAxWb3RpbmdTdGF0dXMJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAAOVm90aW5nX1N0YXR1c18FAAAADEVudGVyQXNzZXRJRAQAAAAOUmVpc3N1ZWFzc2V0SWQJAAJZAAAAAQkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEHQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAADTFBfBQAAAAxFbnRlckFzc2V0SUQC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AAAAAAAABAAAABVOZXdBc3NldEhvbGRpbmdJblBhaXIJAABkAAAAAgUAAAASQXNzZXRIb2xkaW5nSW5QYWlyCAUAAAAEcG10MQAAAAZhbW91bnQEAAAADUxQVG9rZW5Jc3N1ZWQEAAAAByRtYXRjaDAJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAAJVG90YWxfTFBfBQAAAAxFbnRlckFzc2V0SUQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAQTmV3TFBUb2tlbklzc3VlZAkAAGQAAAACBQAAAA1MUFRva2VuSXNzdWVkBQAAABJxdWFudGl0eW9mTFBUb2tlbjEDCQEAAAACIT0AAAACBQAAABljaGVja3BhaXJpc2F2YWlsYWJsZW9ybm90BQAAAAxFbnRlckFzc2V0SUQJAAACAAAAAQIAAAArUGFpciBpcyBub3QgYXZhaWxhYmxlIGluIFdoaXRlbGlzdGVkIEFzc2V0LgMJAAAAAAAAAgUAAAAMVm90aW5nU3RhdHVzBQAAABNDdXJyZW50Vm90aW5nU3RhdHVzCQAAAgAAAAEJAAEsAAAAAgUAAAAMRW50ZXJBc3NldElEAgAAACAgaXMgbm90IEEgV2hpdGVsaXN0ZWQgVG9rZW4gWWV0LgMJAAAAAAAAAgUAAAAMRW50ZXJBc3NldElECQACWAAAAAEFAAAAC1VTRFRBc3NldElECQAAAgAAAAECAAAAkklucHV0IGNhbiBOZXZlciBiZSBhIFVTRFQgQXNzZXRJRC4gRW50ZXIgV2hpdGVsaXN0ZWQgQXNzZXRJRCBpbiBpbnB1dCBhcyB3ZWxsIGFzIGluIHBheW1lbnRbMV0gJiBBdHRhY2ggVVNEVCBhcyBhbiBhdHRhY2htZW50IFRva2VuIGluIHBheW1lbnRbMl0uAwkBAAAAAiE9AAAAAgkAAZAAAAABCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAgkAAAIAAAABAgAAAJ5Ud28gYXR0YWNoZWQgYXNzZXRzIGV4cGVjdGVkIGFzIHBheW1lbnQgaW4gNTAlLTUwJS4gS2luZGx5IEF0dGFjaCBwYXltZW50MSA9IFRva2VuIHlvdSB3YW50IHRvIGFkZCBmb3IgTGlxdWlkaXR5ICYgcGF5bWVudDIgPSBFcXVpdmFsZW50IEFtb3VudCBvZiBVU0RUIFRva2VuLgMJAAAAAAAAAggFAAAABHBtdDEAAAAHYXNzZXRJZAUAAAALVVNEVEFzc2V0SUQJAAACAAAAAQIAAAB4WW91IEF0dGFjaGVkIFVTRFQgYXNzZXQgaW4gcGF5bWVudFsxXSwgcGxlYXNlIGF0dGFjaCBvbmx5IHdoaXRlbGlzdGVkIFRva2VuIGluIHBheW1lbnRbMV0gYWxvbmcgd2l0aCBVU0RUIGluIHBheW1lbnRbMl0uAwkBAAAAAiE9AAAAAggFAAAABHBtdDEAAAAHYXNzZXRJZAkAAlkAAAABBQAAAAxFbnRlckFzc2V0SUQJAAACAAAAAQIAAABrSW5jb3JyZWN0IGFzc2V0IGF0dGFjaGVkIGZvciBMaXF1aWRpdHkgaW4gcGF5bWVudFsxXSwgcGxlYXNlIGF0dGFjaCBTdHJpbmcgQXNzZXQgb3IgV2hpdGVsaXN0ZWQgVG9rZW4gb25seS4DCQEAAAACIT0AAAACCAUAAAAEcG10MQAAAAdhc3NldElkCQACWQAAAAEFAAAADEVudGVyQXNzZXRJRAkAAAIAAAABAgAAAGtJbmNvcnJlY3QgYXNzZXQgYXR0YWNoZWQgZm9yIExpcXVpZGl0eSBpbiBwYXltZW50WzFdLCBwbGVhc2UgYXR0YWNoIFN0cmluZyBBc3NldCBvciBXaGl0ZWxpc3RlZCBUb2tlbiBvbmx5LgMJAQAAAAIhPQAAAAIIBQAAAARwbXQyAAAAB2Fzc2V0SWQFAAAAC1VTRFRBc3NldElECQAAAgAAAAECAAAAaldyb25nIEFzc2V0IEF0dGFjaGVkIGluIHBheW1lbnRzWzJdLCBQbGVhc2UgYXR0YWNoIHBheW1lbnRbMV0gPSBMaXF1aWRpdHkgVG9rZW4gJiBwYXltZW50WzJdID0gVVNEVCBUb2tlbi4DCQAAZgAAAAIAAAAAAACYloAIBQAAAARwbXQyAAAABmFtb3VudAkAAAIAAAABAgAAAFVwbGVhc2UgYXR0YWNoIGF0bGVhc3QgMTAgVVNEVCBpbiBwYXltZW50WzJdICYgRXF1aXZhbGVudCB3b3J0aCBvZiBUb2tlbiBpbiBwYXltZW50WzFdAwkBAAAAAiE9AAAAAggFAAAABHBtdDIAAAAGYW1vdW50BQAAABZxdWFudGl0eW9mRW50ZXJBc3NldElECQAAAgAAAAEJAAEsAAAAAgIAAABbQXR0YWNoZWQgcGF5bWVudFsyXSBxdWFudGl0eSBpcyBub3QgbWF0Y2hpbmcgYXMgcGVyIGF0dGFjaGVkIHBheW1lbnRbMV0ucGF5bWVudFsyXSBtdXN0IGJlIAkAAaQAAAABBQAAABZxdWFudGl0eW9mRW50ZXJBc3NldElECQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAtCYWxhbmNlX29mXwUAAAAMRW50ZXJBc3NldElEAgAAAAFfCQACWAAAAAEFAAAAC1VTRFRBc3NldElEBQAAABROZXdVU0RUSG9sZGluZ0luUGFpcgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAALQmFsYW5jZV9vZl8JAAJYAAAAAQUAAAALVVNEVEFzc2V0SUQCAAAAAV8FAAAADEVudGVyQXNzZXRJRAUAAAAVTmV3QXNzZXRIb2xkaW5nSW5QYWlyCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAACVRvdGFsX0xQXwUAAAAMRW50ZXJBc3NldElEBQAAABBOZXdMUFRva2VuSXNzdWVkCQAETAAAAAIJAQAAAAdSZWlzc3VlAAAAAwUAAAAOUmVpc3N1ZWFzc2V0SWQFAAAAEnF1YW50aXR5b2ZMUFRva2VuMQYJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAABJxdWFudGl0eW9mTFBUb2tlbjEFAAAADlJlaXNzdWVhc3NldElkBQAAAANuaWwAAAABaQEAAAAPUmVtb3ZlTGlxdWlkaXR5AAAAAQAAAAxFbnRlckFzc2V0SUQEAAAADWNhbGxlcmFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAADcG10AwkAAAAAAAACCQABkAAAAAEIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAACQAAAgAAAAECAAAAOk5vIHBheW1lbnQgYXR0YWNoZWQsIFBsZWFzZSBBdHRhY2ggTFAgVG9rZW4gYXMgcGF5bWVudFsxXS4EAAAAGWNoZWNrcGFpcmlzYXZhaWxhYmxlb3Jub3QJAAQdAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAAAhQYWlyX1VWXwUAAAAMRW50ZXJBc3NldElEBAAAAAxWb3RpbmdTdGF0dXMJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAAOVm90aW5nX1N0YXR1c18FAAAADEVudGVyQXNzZXRJRAQAAAASUmVpc3N1ZWFibGVhc3NldElkCQACWQAAAAEJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABB0AAAACBQAAAAR0aGlzCQABLAAAAAICAAAAA0xQXwUAAAAMRW50ZXJBc3NldElEAgAAACVMUCBUb2tlbiBpcyBNaXNzaW5nIG9yIG5vdCBHZW5lcmF0ZWQuBAAAABNDdXJyZW50Vm90aW5nU3RhdHVzAgAAAAFGBAAAAAxkZWNpbWFsc2luZm8JAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkAA+wAAAABCQACWQAAAAEFAAAADEVudGVyQXNzZXRJRAkAASwAAAACCQABLAAAAAICAAAABkFzc2V0IAUAAAAMRW50ZXJBc3NldElEAgAAAA4gZG9lc24ndCBleGlzdAQAAAAIZGVjaW1hbHMIBQAAAAxkZWNpbWFsc2luZm8AAAAIZGVjaW1hbHMEAAAAEmJvdGhhc3NldHNkZWNpbWFscwkAAGQAAAACAAAAAAAAAAAGBQAAAAhkZWNpbWFscwQAAAANc2hhcmVkZWNpbWFscwkAAGkAAAACBQAAABJib3RoYXNzZXRzZGVjaW1hbHMAAAAAAAAAAAIEAAAAEkNoZWNrVG90YWxMUEFtb3VudAkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAAAlUb3RhbF9MUF8FAAAADEVudGVyQXNzZXRJRAQAAAAQVXNlckxQUGVyY2VudGFnZQkAAGsAAAADCQAAbAAAAAYAAAAAAAAAAAoAAAAAAAAAAAAFAAAADXNoYXJlZGVjaW1hbHMAAAAAAAAAAAAAAAAAAAAAAAYFAAAAAlVQAAAAAAAAAAABCQAAawAAAAMFAAAAEkNoZWNrVG90YWxMUEFtb3VudAUAAAANc2hhcmVkZWNpbWFscwgFAAAAA3BtdAAAAAZhbW91bnQEAAAAEENoZWNrVVNEVEJhbGFuY2UJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAC0JhbGFuY2Vfb2ZfBQAAAAxFbnRlckFzc2V0SUQCAAAAAV8JAAJYAAAAAQUAAAALVVNEVEFzc2V0SUQEAAAAEUNoZWNrQXNzZXRCYWxhbmNlCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAtCYWxhbmNlX29mXwkAAlgAAAABBQAAAAtVU0RUQXNzZXRJRAIAAAABXwUAAAAMRW50ZXJBc3NldElEBAAAAA9Vc2VyTFBXb3J0aFVTRFQJAABrAAAAAwUAAAAQQ2hlY2tVU0RUQmFsYW5jZQUAAAAQVXNlckxQUGVyY2VudGFnZQkAAGwAAAAGAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAABQAAAAJVUAQAAAARVVNEVEhvbGRpbmdJblBhaXIEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAALQmFsYW5jZV9vZl8FAAAADEVudGVyQXNzZXRJRAIAAAABXwkAAlgAAAABBQAAAAtVU0RUQXNzZXRJRAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAABROZXdVU0RUSG9sZGluZ0luUGFpcgkAAGUAAAACBQAAABFVU0RUSG9sZGluZ0luUGFpcgUAAAAPVXNlckxQV29ydGhVU0RUBAAAAA1MUFRva2VuSXNzdWVkBAAAAAckbWF0Y2gwCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAICAAAACVRvdGFsX0xQXwUAAAAMRW50ZXJBc3NldElEAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAEE5ld0xQVG9rZW5Jc3N1ZWQJAABlAAAAAgUAAAANTFBUb2tlbklzc3VlZAgFAAAAA3BtdAAAAAZhbW91bnQDCQEAAAACIT0AAAACBQAAABljaGVja3BhaXJpc2F2YWlsYWJsZW9ybm90BQAAAAxFbnRlckFzc2V0SUQJAAACAAAAAQIAAAAjUGFpciBpcyBub3QgYXZhaWxhYmxlIGluIFdoaXRlbGlzdC4DCQAAAAAAAAIFAAAADFZvdGluZ1N0YXR1cwUAAAATQ3VycmVudFZvdGluZ1N0YXR1cwkAAAIAAAABCQABLAAAAAIFAAAADEVudGVyQXNzZXRJRAIAAAAeIGlzIG5vdCBBIFdoaXRlbGlzdCBUb2tlbiBZZXQuAwkAAAAAAAACCQACWQAAAAEFAAAADEVudGVyQXNzZXRJRAUAAAALVVNEVEFzc2V0SUQJAAACAAAAAQIAAABrRG9uJ3QgY2hvb3NlIFVTRFQgQXNzZXRJRCBhcyBJbnB1dCwgT25seSBXaGl0ZWxpc3RlZCBBc3NldCBhcyBJbnB1dCBTdHJpbmcgJiBBdHRhY2ggTFAgVG9rZW5zIGFzIHBheW1lbnRbMV0DCQEAAAACIT0AAAACCAUAAAADcG10AAAAB2Fzc2V0SWQFAAAAElJlaXNzdWVhYmxlYXNzZXRJZAkAAAIAAAABAgAAAEdXcm9uZyBBc3NldCBpcyBhdHRhY2hlZCBpbiBwYXltZW50WzFdIG9yIExQIFRva2VuIE5vdCBGb3VuZCBvciBNaXNzaW5nLgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAWV2l0aGRyYXdfTFBfUGVyY2VudGFnZQUAAAAQVXNlckxQUGVyY2VudGFnZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAANVXNlcl9MUF9Xb3J0aAUAAAAPVXNlckxQV29ydGhVU0RUCQAETAAAAAIJAQAAAARCdXJuAAAAAgUAAAASUmVpc3N1ZWFibGVhc3NldElkCAUAAAADcG10AAAABmFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAAAlUb3RhbF9MUF8FAAAADEVudGVyQXNzZXRJRAUAAAAQTmV3TFBUb2tlbklzc3VlZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAALQmFsYW5jZV9vZl8FAAAADEVudGVyQXNzZXRJRAIAAAABXwkAAlgAAAABBQAAAAtVU0RUQXNzZXRJRAUAAAAUTmV3VVNEVEhvbGRpbmdJblBhaXIJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAAA9Vc2VyTFBXb3J0aFVTRFQFAAAAC1VTRFRBc3NldElEBQAAAANuaWwAAAABaQEAAAALUmVtb3ZlRW50cnkAAAAEAAAAA0tleQAAAARLZXkxAAAABEtleTIAAAAES2V5MwkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABBQAAAANLZXkJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQUAAAAES2V5MQkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABBQAAAARLZXkyCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEFAAAABEtleTMFAAAAA25pbAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAEAAAAByRtYXRjaDAFAAAAAnR4CQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAnR4AAAAD3NlbmRlclB1YmxpY0tleVRa0h0=", "height": 1878274, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 8DN9ZcUCnCxJjhnymiK5ivDXkhgQuxhobwkLXSDG4fjf Next: 2JdnjepvdZwUftUSRuY5bh6CTgr51Fyzjy6yN5Zv2GMF Diff:
OldNewDifferences
393393 let as = (6 + Q)
394394 let at = (as / 2)
395395 let aD = getIntegerValue(this, ("Total_LP_" + g))
396- let aE = fraction(pow(10, 0, Q, 0, 6, UP), 1, fraction(aD, at, v.amount))
396+ let aE = fraction(pow(10, 0, at, 0, 6, UP), 1, fraction(aD, at, v.amount))
397397 let U = getIntegerValue(this, ((("Balance_of_" + g) + "_") + toBase58String(a)))
398398 let V = getIntegerValue(this, ((("Balance_of_" + toBase58String(a)) + "_") + g))
399399 let aF = fraction(U, aE, pow(10, 0, 8, 0, 0, UP))
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'6Z73KxcX3sugpiStpSRXxKxTmWqCaLVwFeM6kwyiKVDR')
99
1010 let d = addressFromPublicKey(base58'6Z73KxcX3sugpiStpSRXxKxTmWqCaLVwFeM6kwyiKVDR')
1111
1212 let e = addressFromPublicKey(base58'6Z73KxcX3sugpiStpSRXxKxTmWqCaLVwFeM6kwyiKVDR')
1313
1414 @Callable(f)
1515 func RegisterPairForVoting (g,h) = {
1616 let i = value(f.payments[0])
1717 let j = value(f.payments[1])
1818 let k = 90
1919 let l = toBase58String(f.caller.bytes)
2020 let m = !(isDefined(j.assetId))
2121 let n = 1440
2222 let o = (n * h)
2323 let p = (o - 43199)
2424 let q = ((100000 + ((11574 * p) / 10000)) * 100000000)
2525 let r = (height + o)
2626 let s = getString(this, ("Pair_UV_" + g))
2727 let t = "F"
2828 let u = fromBase58String(g)
2929 if ((43 > size(g)))
3030 then throw("Wrong AssetID is Entered for Voting. Please Enter a Valid AssetID. Probably you entered an AssetID less than 43 Chars.")
3131 else if ((29 >= h))
3232 then throw("Enter no. of days in between 30 to 90.")
3333 else if ((h > k))
3434 then throw("You Entered days greater than 90 please Enter no. of days in between 1 to 90.")
3535 else if ((s == g))
3636 then throw("Pair Already Exist in Voting List.")
3737 else if ((size(f.payments) != 2))
3838 then throw("Two attached assets expected as payment. Kindly Attach payment1 = CODE Token & payment2 = Token you want to List for Voting.")
3939 else if ((i.assetId != b))
4040 then throw("Incorrect asset attached for Voting in payment[1], please attach 2000 CODE Token only.")
4141 else if ((i.amount != 200000000000))
4242 then throw((((("You attached only " + toString(fraction(i.amount, 1, 100000000))) + ".") + toString(fraction(i.amount, 1, 10000000))) + " CODE for Voting in payment[1], please attach 2000 CODE Token."))
4343 else if ((j.assetId != u))
4444 then throw("Input String & Attached AssetID in payment2 is not matching.")
4545 else if ((m == true))
4646 then throw("You Attached TN Asset ID for Voting, please attach fsTN instead of TN or Token You want to list in payment[2].")
4747 else [StringEntry(("Pair_UV_" + g), g), StringEntry(("Voting_Status_" + g), t), IntegerEntry(("Voting_SH_" + g), height), IntegerEntry(("Voting_EH_" + g), r), IntegerEntry(("Voting_Period_" + g), o), IntegerEntry(("Listing_Fee_" + g), i.amount), IntegerEntry(("Votes_Req_" + g), (q / 3)), IntegerEntry(("Votes_Rcvd_" + g), 0), ScriptTransfer(c, i.amount, b)]
4848 }
4949
5050
5151
5252 @Callable(f)
5353 func DoVoting (g) = {
5454 let v = if ((size(f.payments) == 1))
5555 then f.payments[0]
5656 else throw((toBase58String(b) + "CODE Token is required as Attached payment"))
5757 let w = toBase58String(f.caller.bytes)
5858 let x = "P"
5959 let y = getIntegerValue(this, ("Voting_EH_" + g))
6060 let z = getString(this, ("Pair_UV_" + g))
6161 let A = getIntegerValue(this, ("Votes_Req_" + g))
6262 let B = getIntegerValue(this, ("Votes_Rcvd_" + g))
6363 let C = getStringValue(this, ("Voting_Status_" + g))
6464 let D = {
6565 let E = getInteger(this, ("Votes_Rcvd_" + g))
6666 if ($isInstanceOf(E, "Int"))
6767 then {
6868 let F = E
6969 F
7070 }
7171 else 0
7272 }
7373 let G = (D + v.amount)
7474 let H = {
7575 let E = getInteger(this, ((("Votes_Rcvd_" + w) + "_") + g))
7676 if ($isInstanceOf(E, "Int"))
7777 then {
7878 let I = E
7979 I
8080 }
8181 else 0
8282 }
8383 let J = (H + v.amount)
8484 let K = (B >= A)
8585 let L = valueOrErrorMessage(assetInfo(fromBase58String(g)), (("Asset " + g) + " doesn't exist"))
8686 if ((z != g))
8787 then throw("Pair is not available in Voting List.")
8888 else if ((height > y))
8989 then throw((("Voting timeline for " + g) + " is expired."))
9090 else if ((v.assetId != b))
9191 then throw((("Kindly Attach Only " + toBase58String(b)) + " Token."))
9292 else if ((C == x))
9393 then throw((("Voting for " + g) + " pair is completed & it’s available in whitelist."))
9494 else if (K)
9595 then [StringEntry(("Voting_Status_" + g), x), IntegerEntry(((("Balance_of_" + g) + "_") + toBase58String(a)), 0), IntegerEntry(((("Balance_of_" + toBase58String(a)) + "_") + g), 0), IntegerEntry(("Total_of_Pair_Txns_" + g), 0), IntegerEntry(((("Total_Swap_Fee_Collected_" + g) + "_") + toBase58String(a)), 0), IntegerEntry(("Total_Swap_Fee_Collected_" + g), 0), IntegerEntry(((("Votes_Rcvd_" + w) + "_") + g), J)]
9696 else [IntegerEntry(("Votes_Rcvd_" + g), G), IntegerEntry(((("Votes_Rcvd_" + w) + "_") + g), J)]
9797 }
9898
9999
100100
101101 @Callable(f)
102102 func WithdrawVotedTokens (g) = {
103103 let v = if ((size(f.payments) == 1))
104104 then f.payments[0]
105105 else throw("0.1 TN Token is required as Attached payment.")
106106 let w = toBase58String(f.caller.bytes)
107107 let y = getIntegerValue(this, ("Voting_EH_" + g))
108108 let z = getString(this, ("Pair_UV_" + g))
109109 let M = valueOrErrorMessage(getInteger(this, ((("Votes_Rcvd_" + w) + "_") + g)), (w + " Address never voted & exist in list."))
110110 let N = (y - height)
111111 if ((z != g))
112112 then throw("Pair is not available in Voting List.")
113113 else if ((y > height))
114114 then throw((("Voting Already Running. You can withdraw your CODE Token after " + toString(N)) + " blocks"))
115115 else if ((0 >= M))
116116 then throw("You don't have any dues of CODE balance in this Voting Pair.")
117117 else if (isDefined(v.assetId))
118118 then throw("Don't attach any other asset. Please attach 0.1 TN as a fee to release your token")
119119 else if ((v.amount != 10000000))
120120 then throw("Please attach 0.1 TN as a fee to release your token.")
121121 else [IntegerEntry(((("Votes_Rcvd_" + w) + "_") + g), 0), ScriptTransfer(f.caller, M, b)]
122122 }
123123
124124
125125
126126 @Callable(f)
127127 func IssueLPToken (g) = {
128128 let O = valueOrErrorMessage(getString(this, "LP_Admin_Rights"), "LP Admin Rights are Not Included into Smart Contract. Deploy Admin Rights First.")
129129 let w = toBase58String(f.caller.bytes)
130130 let z = valueOrErrorMessage(getString(this, ("Pair_UV_" + g)), "Asset not Found in Whitelisted Token")
131131 let L = valueOrErrorMessage(assetInfo(fromBase58String(g)), (("Asset " + g) + " doesn't exist"))
132132 let P = L.name
133133 let Q = L.decimals
134134 let x = "P"
135135 let C = valueOrErrorMessage(getString(this, ("Voting_Status_" + g)), ("Voting Status is Missing for " + g))
136136 let R = (1 * pow(10, 0, fraction((Q + 6), 1, 2), 0, 0, UP))
137137 let S = Issue((("LP-" + take(P, 8)) + "-USDT"), (((("LP-" + P) + "-USDT") + " is a Liquidity Provider Token Issued Against ") + g), R, fraction((Q + 6), 1, 2), true)
138138 let T = calculateAssetId(S)
139139 if ((O != w))
140140 then throw((("Your are not allowded to Issue LP Token. Only " + O) + " can issue the LP Token."))
141141 else if ((z != g))
142142 then throw("Pair is not available in Voting List.")
143143 else if ((C != x))
144144 then throw("LP Token must be a Whitelisted Token.")
145145 else [S, StringEntry(("LP_" + g), toBase58String(T)), IntegerEntry(("Total_LP_" + g), R)]
146146 }
147147
148148
149149
150150 @Callable(f)
151151 func SwapAssetToUSDTPairEntry (g) = {
152152 let w = toBase58String(f.caller.bytes)
153153 let v = if ((size(f.payments) == 1))
154154 then f.payments[0]
155155 else throw("Whitelisted Token is required as Attached payment[1].")
156156 let z = getString(this, ("Pair_UV_" + g))
157157 let C = getStringValue(this, ("Voting_Status_" + g))
158158 let U = getIntegerValue(this, ((("Balance_of_" + g) + "_") + toBase58String(a)))
159159 let V = getIntegerValue(this, ((("Balance_of_" + toBase58String(a)) + "_") + g))
160160 let W = fraction(U, V, (V + v.amount))
161161 let X = (U - W)
162162 let Y = "F"
163163 let Z = 3
164164 let aa = ((X * Z) / 1000)
165165 let ab = (X - aa)
166166 let ac = {
167167 let E = getInteger(this, ((("Total_Swap_Fee_Collected_" + g) + "_") + toBase58String(a)))
168168 if ($isInstanceOf(E, "Int"))
169169 then {
170170 let F = E
171171 F
172172 }
173173 else 0
174174 }
175175 let ad = (ac + aa)
176176 let ae = {
177177 let E = getInteger(this, ((("Balance_of_" + toBase58String(a)) + "_") + g))
178178 if ($isInstanceOf(E, "Int"))
179179 then {
180180 let F = E
181181 F
182182 }
183183 else 0
184184 }
185185 let af = (V + v.amount)
186186 let ag = {
187187 let E = getInteger(this, ((("Balance_of_" + g) + "_") + toBase58String(a)))
188188 if ($isInstanceOf(E, "Int"))
189189 then {
190190 let F = E
191191 F
192192 }
193193 else 0
194194 }
195195 let ah = (U - X)
196196 let ai = {
197197 let E = getIntegerValue(this, ("Total_of_Pair_Txns_" + g))
198198 if ($isInstanceOf(E, "Int"))
199199 then {
200200 let F = E
201201 F
202202 }
203203 else 0
204204 }
205205 let aj = (ai + 1)
206206 if ((g == toBase58String(a)))
207207 then throw("Input can Never be a USDT AssetID. Enter Whitelisted AssetID in input & Attach Whitelisted Asset as an attachment Token in payment[1].")
208208 else if ((z != g))
209209 then throw("Pair is not available in Whitelisted Asset.")
210210 else if ((C == Y))
211211 then throw((g + " is not A Whitelisted Token Yet."))
212212 else if ((v.assetId == a))
213213 then throw("You can't Attach USDT as an Attached Payment. Only Whitelisted Tokens are accepted.")
214214 else if ((v.assetId != fromBase58String(g)))
215215 then throw(("Incorrect asset attached, please attach or send " + g))
216216 else if ((U == 0))
217217 then throw("Swap Pair Need to Add Liquidity first into Pool. Only After that Pair will be activated for Swapping.")
218218 else if ((V == 0))
219219 then throw("Swap Pair Need to Add Liquidity first into Pool. Only After that Pair will be activated for Swapping.")
220220 else if ((10000000 > X))
221221 then throw((("Your Attached Asset Amount is very low. Attach More " + g) + " Tokens to Claim the minimum Amount of 10 dollar atleast."))
222222 else if ((X > U))
223223 then throw((("Pool Only has a Liquidity of " + toString((U / pow(10, 0, 6, 0, 0, UP)))) + " USDT. Add Liquidity into Pool."))
224224 else [IntegerEntry(((("Total_Swap_Fee_Collected_" + g) + "_") + toBase58String(a)), ad), IntegerEntry(("Total_of_Pair_Txns_" + g), aj), IntegerEntry(((("Balance_of_" + toBase58String(a)) + "_") + g), af), IntegerEntry(((("Balance_of_" + g) + "_") + toBase58String(a)), ah), ScriptTransfer(f.caller, ab, a), ScriptTransfer(d, aa, a)]
225225 }
226226
227227
228228
229229 @Callable(f)
230230 func SwapUSDTToAssetPairEntry (g) = {
231231 let w = toBase58String(f.caller.bytes)
232232 let v = if ((size(f.payments) == 1))
233233 then f.payments[0]
234234 else throw((("Only " + toBase58String(a)) + " USDT Token is required as an Attached payment[1]."))
235235 let U = getIntegerValue(this, ((("Balance_of_" + g) + "_") + toBase58String(a)))
236236 let V = getIntegerValue(this, ((("Balance_of_" + toBase58String(a)) + "_") + g))
237237 let ak = fraction(U, V, (U + v.amount))
238238 let X = (V - ak)
239239 let z = getString(this, ("Pair_UV_" + g))
240240 let C = getStringValue(this, ("Voting_Status_" + g))
241241 let Y = "F"
242242 let Z = 3
243243 let aa = ((X * Z) / 1000)
244244 let ab = (X - aa)
245245 let al = {
246246 let E = getInteger(this, ("Total_Swap_Fee_Collected_" + g))
247247 if ($isInstanceOf(E, "Int"))
248248 then {
249249 let F = E
250250 F
251251 }
252252 else 0
253253 }
254254 let am = (al + aa)
255255 let ae = {
256256 let E = getInteger(this, ((("Balance_of_" + toBase58String(a)) + "_") + g))
257257 if ($isInstanceOf(E, "Int"))
258258 then {
259259 let F = E
260260 F
261261 }
262262 else 0
263263 }
264264 let af = (V - X)
265265 let ag = {
266266 let E = getInteger(this, ((("Balance_of_" + g) + "_") + toBase58String(a)))
267267 if ($isInstanceOf(E, "Int"))
268268 then {
269269 let F = E
270270 F
271271 }
272272 else 0
273273 }
274274 let ah = (U + v.amount)
275275 let ai = {
276276 let E = getIntegerValue(this, ("Total_of_Pair_Txns_" + g))
277277 if ($isInstanceOf(E, "Int"))
278278 then {
279279 let F = E
280280 F
281281 }
282282 else 0
283283 }
284284 let aj = (ai + 1)
285285 if ((z != g))
286286 then throw("Pair is not available in Whitelisted Asset.")
287287 else if ((C == Y))
288288 then throw((g + " is not A Whitelisted Token Yet."))
289289 else if ((g == toBase58String(a)))
290290 then throw("Input can Never be a USDT AssetID. Enter Whitelisted AssetID in input & Attach USDT as an attachment Token in payment[1].")
291291 else if ((v.assetId != a))
292292 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.")
293293 else if ((10000000 > v.amount))
294294 then throw("Your Attached USDT Amount is very low. Attach Atleast 10 USDT to Claim the minimum Tokens.")
295295 else if ((U == 0))
296296 then throw("Swap Pair Need to Add Liquidity first into Pool. Only After that Pair will be activated for Swapping.")
297297 else if ((V == 0))
298298 then throw("Swap Pair Need to Add Liquidity first into Pool. Only After that Pair will be activated for Swapping.")
299299 else if ((X > V))
300300 then throw((("Pool Only has a Liquidity of " + toString(V)) + " Tokens. Add Liquidity into Pool."))
301301 else [IntegerEntry(("Total_Swap_Fee_Collected_" + g), am), IntegerEntry(("Total_of_Pair_Txns_" + g), aj), IntegerEntry(((("Balance_of_" + toBase58String(a)) + "_") + g), af), IntegerEntry(((("Balance_of_" + g) + "_") + toBase58String(a)), ah), ScriptTransfer(f.caller, ab, fromBase58String(g)), ScriptTransfer(e, aa, fromBase58String(g))]
302302 }
303303
304304
305305
306306 @Callable(f)
307307 func AddLiquidity (g) = {
308308 let w = toBase58String(f.caller.bytes)
309309 let i = value(f.payments[0])
310310 let j = value(f.payments[1])
311311 let z = getString(this, ("Pair_UV_" + g))
312312 let C = getStringValue(this, ("Voting_Status_" + g))
313313 let an = fromBase58String(valueOrErrorMessage(getString(this, ("LP_" + g)), "LP Token is Missing or May be not Generated."))
314314 let Y = "F"
315315 let U = getIntegerValue(this, ((("Balance_of_" + g) + "_") + toBase58String(a)))
316316 let V = getIntegerValue(this, ((("Balance_of_" + toBase58String(a)) + "_") + g))
317317 let ao = valueOrErrorMessage(assetInfo(fromBase58String(g)), (("Asset " + g) + " doesn't exist"))
318318 let Q = ao.decimals
319319 let ap = U
320320 let aq = V
321321 let ar = pow((((ap * 1000000) / aq) * pow(10, 0, Q, 0, 0, UP)), 0, 1, 0, 0, UP)
322322 let as = (6 + Q)
323323 let at = (as / 2)
324324 let au = fraction(ar, i.amount, pow(10, 0, as, 0, 0, UP))
325325 let av = pow((fraction(i.amount, 1, pow(10, 0, Q, 0, 0, UP)) * fraction(j.amount, 1, pow(10, 0, 6, 0, 0, UP))), 0, 5, 1, at, DOWN)
326326 let aw = {
327327 let E = getInteger(this, ((("Balance_of_" + g) + "_") + toBase58String(a)))
328328 if ($isInstanceOf(E, "Int"))
329329 then {
330330 let F = E
331331 F
332332 }
333333 else 0
334334 }
335335 let ax = (aw + j.amount)
336336 let ay = {
337337 let E = getInteger(this, ((("Balance_of_" + toBase58String(a)) + "_") + g))
338338 if ($isInstanceOf(E, "Int"))
339339 then {
340340 let F = E
341341 F
342342 }
343343 else 0
344344 }
345345 let az = (ay + i.amount)
346346 let aA = {
347347 let E = getIntegerValue(this, ("Total_LP_" + g))
348348 if ($isInstanceOf(E, "Int"))
349349 then {
350350 let F = E
351351 F
352352 }
353353 else 0
354354 }
355355 let aB = (aA + av)
356356 if ((z != g))
357357 then throw("Pair is not available in Whitelisted Asset.")
358358 else if ((C == Y))
359359 then throw((g + " is not A Whitelisted Token Yet."))
360360 else if ((g == toBase58String(a)))
361361 then throw("Input can Never be a USDT AssetID. Enter Whitelisted AssetID in input as well as in payment[1] & Attach USDT as an attachment Token in payment[2].")
362362 else if ((size(f.payments) != 2))
363363 then throw("Two attached assets expected as payment in 50%-50%. Kindly Attach payment1 = Token you want to add for Liquidity & payment2 = Equivalent Amount of USDT Token.")
364364 else if ((i.assetId == a))
365365 then throw("You Attached USDT asset in payment[1], please attach only whitelisted Token in payment[1] along with USDT in payment[2].")
366366 else if ((i.assetId != fromBase58String(g)))
367367 then throw("Incorrect asset attached for Liquidity in payment[1], please attach String Asset or Whitelisted Token only.")
368368 else if ((i.assetId != fromBase58String(g)))
369369 then throw("Incorrect asset attached for Liquidity in payment[1], please attach String Asset or Whitelisted Token only.")
370370 else if ((j.assetId != a))
371371 then throw("Wrong Asset Attached in payments[2], Please attach payment[1] = Liquidity Token & payment[2] = USDT Token.")
372372 else if ((10000000 > j.amount))
373373 then throw("please attach atleast 10 USDT in payment[2] & Equivalent worth of Token in payment[1]")
374374 else if ((j.amount != au))
375375 then throw(("Attached payment[2] quantity is not matching as per attached payment[1].payment[2] must be " + toString(au)))
376376 else [IntegerEntry(((("Balance_of_" + g) + "_") + toBase58String(a)), ax), IntegerEntry(((("Balance_of_" + toBase58String(a)) + "_") + g), az), IntegerEntry(("Total_LP_" + g), aB), Reissue(an, av, true), ScriptTransfer(f.caller, av, an)]
377377 }
378378
379379
380380
381381 @Callable(f)
382382 func RemoveLiquidity (g) = {
383383 let w = toBase58String(f.caller.bytes)
384384 let v = if ((size(f.payments) == 1))
385385 then f.payments[0]
386386 else throw("No payment attached, Please Attach LP Token as payment[1].")
387387 let z = getString(this, ("Pair_UV_" + g))
388388 let C = getStringValue(this, ("Voting_Status_" + g))
389389 let aC = fromBase58String(valueOrErrorMessage(getString(this, ("LP_" + g)), "LP Token is Missing or not Generated."))
390390 let Y = "F"
391391 let ao = valueOrErrorMessage(assetInfo(fromBase58String(g)), (("Asset " + g) + " doesn't exist"))
392392 let Q = ao.decimals
393393 let as = (6 + Q)
394394 let at = (as / 2)
395395 let aD = getIntegerValue(this, ("Total_LP_" + g))
396- let aE = fraction(pow(10, 0, Q, 0, 6, UP), 1, fraction(aD, at, v.amount))
396+ let aE = fraction(pow(10, 0, at, 0, 6, UP), 1, fraction(aD, at, v.amount))
397397 let U = getIntegerValue(this, ((("Balance_of_" + g) + "_") + toBase58String(a)))
398398 let V = getIntegerValue(this, ((("Balance_of_" + toBase58String(a)) + "_") + g))
399399 let aF = fraction(U, aE, pow(10, 0, 8, 0, 0, UP))
400400 let aw = {
401401 let E = getInteger(this, ((("Balance_of_" + g) + "_") + toBase58String(a)))
402402 if ($isInstanceOf(E, "Int"))
403403 then {
404404 let F = E
405405 F
406406 }
407407 else 0
408408 }
409409 let ax = (aw - aF)
410410 let aA = {
411411 let E = getIntegerValue(this, ("Total_LP_" + g))
412412 if ($isInstanceOf(E, "Int"))
413413 then {
414414 let F = E
415415 F
416416 }
417417 else 0
418418 }
419419 let aB = (aA - v.amount)
420420 if ((z != g))
421421 then throw("Pair is not available in Whitelist.")
422422 else if ((C == Y))
423423 then throw((g + " is not A Whitelist Token Yet."))
424424 else if ((fromBase58String(g) == a))
425425 then throw("Don't choose USDT AssetID as Input, Only Whitelisted Asset as Input String & Attach LP Tokens as payment[1]")
426426 else if ((v.assetId != aC))
427427 then throw("Wrong Asset is attached in payment[1] or LP Token Not Found or Missing.")
428428 else [IntegerEntry("Withdraw_LP_Percentage", aE), IntegerEntry("User_LP_Worth", aF), Burn(aC, v.amount), IntegerEntry(("Total_LP_" + g), aB), IntegerEntry(((("Balance_of_" + g) + "_") + toBase58String(a)), ax), ScriptTransfer(f.caller, aF, a)]
429429 }
430430
431431
432432
433433 @Callable(f)
434434 func RemoveEntry (aG,aH,aI,aJ) = [DeleteEntry(aG), DeleteEntry(aH), DeleteEntry(aI), DeleteEntry(aJ)]
435435
436436
437437 @Verifier(aK)
438438 func aL () = {
439439 let E = aK
440440 sigVerify(aK.bodyBytes, aK.proofs[0], aK.senderPublicKey)
441441 }
442442

github/deemru/w8io/169f3d6 
59.56 ms