tx · 7BaXTizJ1e2xLrPvfqbEuPsXwpibrbQZycte7U3Aobik

3MwB4DruW4zASGmUcka1mXAYyaw7fjmQpoo:  -0.01000000 Waves

2021.07.23 12:35 [1626115] smart account 3MwB4DruW4zASGmUcka1mXAYyaw7fjmQpoo > SELF 0.00000000 Waves

{ "type": 13, "id": "7BaXTizJ1e2xLrPvfqbEuPsXwpibrbQZycte7U3Aobik", "fee": 1000000, "feeAssetId": null, "timestamp": 1627032988649, "version": 2, "chainId": 84, "sender": "3MwB4DruW4zASGmUcka1mXAYyaw7fjmQpoo", "senderPublicKey": "mEckVFEgtDdVAbdGoJipwq49i1iWigTh7kx1ZvsC17U", "proofs": [ "A9b7P2de3gVxH9cNjH7JUiP5PSj2bFb1hEQ7QqXxGzrHvSRgCoRVn4xhCFt9oZ7GNeKQDuE8Ktz5FhsUQm8Y7Aa" ], "script": "base64:AAIFAAAAAAAAAKQIAhIFCgMIAQgSAwoBCBIAEgQKAggIEgUKAwgICBIFCgMIAQgSAwoBCBIAEgQKAggIEgUKAwgICBIFCgMIAQgSAwoBCBIAEgQKAggIEgUKAwgICBIFCgMIAQgSAwoBCBIAEgQKAggIEgUKAwgICBIFCgMIAQgSAwoBCBIAEgQKAggIEgUKAwgICBIFCgMIAQgSAwoBCBIAEgQKAggIEgUKAwgICAAAACEAAAAABE5PTkUCAAAABG5vbmUBAAAADmdldE51bWJlckJ5S2V5AAAAAQAAAANrZXkEAAAAA251bQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAUAAAADbnVtAQAAAAtnZXRTdHJCeUtleQAAAAEAAAADa2V5BAAAAANzdHIEAAAAByRtYXRjaDAJAAQdAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEFAAAABE5PTkUFAAAAA3N0cgEAAAAPZ2V0S2V5SXRlbVByaWNlAAAAAQAAAARpdGVtCQABLAAAAAIFAAAABGl0ZW0CAAAABl9wcmljZQEAAAARZ2V0VmFsdWVJdGVtUHJpY2UAAAABAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAAA9nZXRLZXlJdGVtUHJpY2UAAAABBQAAAARpdGVtAQAAABVnZXRLZXlVc2VySXRlbUNvdW50ZXIAAAACAAAABHVzZXIAAAAEaXRlbQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAEaXRlbQIAAAABXwUAAAAEdXNlcgIAAAAEX2NudAEAAAAXZ2V0VmFsdWVVc2VySXRlbUNvdW50ZXIAAAACAAAABHVzZXIAAAAEaXRlbQkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAFWdldEtleVVzZXJJdGVtQ291bnRlcgAAAAIFAAAABHVzZXIFAAAABGl0ZW0BAAAACmdldEtleUl0ZW0AAAACAAAACHN1cHBsaWVyAAAABXRpdGxlCQABLAAAAAICAAAABWl0ZW1fCQACWAAAAAEJAAH3AAAAAQkAAZsAAAABCQABLAAAAAIFAAAACHN1cHBsaWVyBQAAAAV0aXRsZQEAAAAOZ2V0S2V5SXRlbURhdGEAAAABAAAABGl0ZW0JAAEsAAAAAgUAAAAEaXRlbQIAAAAFX2RhdGEBAAAAEmdldEtleUl0ZW1TdXBwbGllcgAAAAEAAAAEaXRlbQkAASwAAAACBQAAAARpdGVtAgAAAAZfb3duZXIBAAAAFGdldFZhbHVlSXRlbVN1cHBsaWVyAAAAAQAAAARpdGVtCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAASZ2V0S2V5SXRlbVN1cHBsaWVyAAAAAQUAAAAEaXRlbQEAAAAVZ2V0S2V5QmFsYW5jZVN1cHBsaWVyAAAAAQAAAAdhY2NvdW50CQABLAAAAAIFAAAAB2FjY291bnQCAAAACF9iYWxhbmNlAQAAABdnZXRWYWx1ZUJhbGFuY2VTdXBwbGllcgAAAAEAAAAHYWNjb3VudAkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAFWdldEtleUJhbGFuY2VTdXBwbGllcgAAAAEFAAAAB2FjY291bnQAAAAABlZPVEVSUwAAAAAAAAAAAwAAAAAGUVVPUlVNAAAAAAAAAAACAAAAAAZWT1RJTkcCAAAABnZvdGluZwAAAAAGUkVWRUFMAgAAAAZyZXZlYWwAAAAACEZFQVRVUkVEAgAAAAhmZWF0dXJlZAAAAAAIREVMSVNURUQCAAAACGRlbGlzdGVkAQAAAAxnZXRLZXlDb21taXQAAAACAAAABGl0ZW0AAAAEdXNlcgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAEaXRlbQIAAAABXwUAAAAEdXNlcgIAAAAHX2NvbW1pdAEAAAAOZ2V0VmFsdWVDb21taXQAAAACAAAABGl0ZW0AAAAEdXNlcgkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAADGdldEtleUNvbW1pdAAAAAIFAAAABGl0ZW0FAAAABHVzZXIBAAAAEmdldEtleUNvbW1pdHNDb3VudAAAAAEAAAAEaXRlbQkAASwAAAACBQAAAARpdGVtAgAAAAdfY29tY250AQAAABRnZXRWYWx1ZUNvbW1pdHNDb3VudAAAAAEAAAAEaXRlbQkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAEmdldEtleUNvbW1pdHNDb3VudAAAAAEFAAAABGl0ZW0BAAAADGdldEtleVJldmVhbAAAAAIAAAAEaXRlbQAAAAR1c2VyCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAARpdGVtAgAAAAFfBQAAAAR1c2VyAgAAAAdfcmV2ZWFsAQAAAA5nZXRWYWx1ZVJldmVhbAAAAAIAAAAEaXRlbQAAAAR1c2VyCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAAMZ2V0S2V5UmV2ZWFsAAAAAgUAAAAEaXRlbQUAAAAEdXNlcgEAAAAQZ2V0S2V5SXRlbVN0YXR1cwAAAAEAAAAEaXRlbQkAASwAAAACBQAAAARpdGVtAgAAAAdfc3RhdHVzAQAAABJnZXRWYWx1ZUl0ZW1TdGF0dXMAAAABAAAABGl0ZW0JAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAABBnZXRLZXlJdGVtU3RhdHVzAAAAAQUAAAAEaXRlbQEAAAAPZ2V0S2V5Vm90ZUNvdW50AAAAAgAAAARpdGVtAAAABHZvdGUJAAEsAAAAAgkAASwAAAACBQAAAARpdGVtAgAAAAVfcmVzOgUAAAAEdm90ZQEAAAARZ2V0VmFsdWVWb3RlQ291bnQAAAACAAAABGl0ZW0AAAAEdm90ZQkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAD2dldEtleVZvdGVDb3VudAAAAAIFAAAABGl0ZW0FAAAABHZvdGUBAAAAE2dldEV4dEFkZHJlc3NPcmFjbGUAAAAACQEAAAAFdmFsdWUAAAABCQAEJgAAAAECAAAAIzNNc2JpeUZ5eThCM2FOM2tGOG50ZGE0NzRTUG40WU1Wa2lxAAAAAAtCTEFDS0xJU1RFRAIAAAAJYmxhY2tsaXN0AQAAABxnZXRFeHRLZXlJdGVtV2hpdGVMaXN0U3RhdHVzAAAAAQAAAAdhY2NvdW50CQABLAAAAAIFAAAAB2FjY291bnQCAAAAEF92ZXJpZmllcl9zdGF0dXMBAAAAHmdldEV4dFZhbHVlSXRlbVdoaXRlTGlzdFN0YXR1cwAAAAIAAAAGb3JhY2xlAAAAB2FjY291bnQEAAAAA3N0cgQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAZvcmFjbGUJAQAAABxnZXRFeHRLZXlJdGVtV2hpdGVMaXN0U3RhdHVzAAAAAQUAAAAHYWNjb3VudAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhBQAAAAROT05FBQAAAANzdHIAAAAeAAAAAWkBAAAAB2FkZEl0ZW0AAAADAAAABXRpdGxlAAAABXByaWNlAAAABGRhdGEEAAAAD3N1cHBsaWVyQWRkcmVzcwkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAARpdGVtCQEAAAAKZ2V0S2V5SXRlbQAAAAIFAAAAD3N1cHBsaWVyQWRkcmVzcwUAAAAFdGl0bGUEAAAAEXN1cHBsaWVyV2hpdGVMaXN0CQEAAAAeZ2V0RXh0VmFsdWVJdGVtV2hpdGVMaXN0U3RhdHVzAAAAAgkBAAAAE2dldEV4dEFkZHJlc3NPcmFjbGUAAAAABQAAAA9zdXBwbGllckFkZHJlc3MDCQAAZwAAAAIAAAAAAAAAAAAFAAAABXByaWNlCQAAAgAAAAECAAAALlB1cmNoYXNlIGFtb3VudCBjYW5ub3QgYmUgbGVzcyB0aGFuIGl0ZW0gcHJpY2UDCQEAAAACIT0AAAACCQEAAAAUZ2V0VmFsdWVJdGVtU3VwcGxpZXIAAAABBQAAAARpdGVtBQAAAAROT05FCQAAAgAAAAECAAAAFmFuIGl0ZW0gYWxyZWFkeSBleGlzdHMDCQAAAAAAAAIFAAAAEXN1cHBsaWVyV2hpdGVMaXN0BQAAAAtCTEFDS0xJU1RFRAkAAAIAAAABAgAAACdzdXBwbGllcidzIGFjY291bnQgaGFzIGJlZW4gYmxhY2tsaXN0ZWQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAEmdldEtleUl0ZW1TdXBwbGllcgAAAAEFAAAABGl0ZW0FAAAAD3N1cHBsaWVyQWRkcmVzcwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAD2dldEtleUl0ZW1QcmljZQAAAAEFAAAABGl0ZW0FAAAABXByaWNlCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAA5nZXRLZXlJdGVtRGF0YQAAAAEFAAAABGl0ZW0FAAAABGRhdGEJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAHGdldEV4dEtleUl0ZW1XaGl0ZUxpc3RTdGF0dXMAAAABBQAAAA9zdXBwbGllckFkZHJlc3MFAAAAEXN1cHBsaWVyV2hpdGVMaXN0BQAAAANuaWwAAAABaQEAAAAIcHVyY2hhc2UAAAABAAAABGl0ZW0EAAAAA3BtdAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAMJAQAAAAlpc0RlZmluZWQAAAABCAUAAAADcG10AAAAB2Fzc2V0SWQJAAACAAAAAQIAAAAWV0FWRVMgT05MWSBISEVVQVdIRVVBUwQAAAALdXNlckFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAFcHJpY2UJAQAAABFnZXRWYWx1ZUl0ZW1QcmljZQAAAAEFAAAABGl0ZW0EAAAAD3N1cHBsaWVyQWRkcmVzcwkBAAAAFGdldFZhbHVlSXRlbVN1cHBsaWVyAAAAAQUAAAAEaXRlbQMJAABmAAAAAgUAAAAFcHJpY2UIBQAAAANwbXQAAAAGYW1vdW50CQAAAgAAAAECAAAALlB1cmNoYXNlIGFtb3VudCBjYW5ub3QgYmUgbGVzcyB0aGFuIGl0ZW0gcHJpY2UDCQAAAAAAAAIFAAAAD3N1cHBsaWVyQWRkcmVzcwUAAAAETk9ORQkAAAIAAAABAgAAABdTdXBwbGllciBkb2VzIG5vdCBleGlzdAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAFWdldEtleVVzZXJJdGVtQ291bnRlcgAAAAIFAAAAC3VzZXJBZGRyZXNzBQAAAARpdGVtCQAAZAAAAAIJAQAAABdnZXRWYWx1ZVVzZXJJdGVtQ291bnRlcgAAAAIFAAAAC3VzZXJBZGRyZXNzBQAAAARpdGVtAAAAAAAAAAABCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAVZ2V0S2V5QmFsYW5jZVN1cHBsaWVyAAAAAQUAAAAPc3VwcGxpZXJBZGRyZXNzCQAAZAAAAAIJAQAAABdnZXRWYWx1ZUJhbGFuY2VT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cHJpY2UJAAACAAAAAQIAAAAuUHVyY2hhc2UgYW1vdW50IGNhbm5vdCBiZSBsZXNzIHRoYW4gaXRlbSBwcmljZQMJAQAAAAIhPQAAAAIJAQAAABRnZXRWYWx1ZUl0ZW1TdXBwbGllcgAAAAEFAAAABGl0ZW0FAAAABE5PTkUJAAACAAAAAQIAAAAWYW4gaXRlbSBhbHJlYWR5IGV4aXN0cwMJAAAAAAAAAgUAAAARc3VwcGxpZXJXaGl0ZUxpc3QFAAAAC0JMQUNLTElTVEVECQAAAgAAAAECAAAAJ3N1cHBsaWVyJ3MgYWNjb3VudCBoYXMgYmVlbiBibGFja2xpc3RlZAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAASZ2V0S2V5SXRlbVN1cHBsaWVyAAAAAQUAAAAEaXRlbQUAAAAPc3VwcGxpZXJBZGRyZXNzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAPZ2V0S2V5SXRlbVByaWNlAAAAAQUAAAAEaXRlbQUAAAAFcHJpY2UJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAADmdldEtleUl0ZW1EYXRhAAAAAQUAAAAEaXRlbQUAAAAEZGF0YQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAcZ2V0RXh0S2V5SXRlbVdoaXRlTGlzdFN0YXR1cwAAAAEFAAAAD3N1cHBsaWVyQWRkcmVzcwUAAAARc3VwcGxpZXJXaGl0ZUxpc3QFAAAAA25pbAAAAAFpAQAAAAlwdXJjaGFzZTIAAAABAAAABGl0ZW0EAAAAA3BtdAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAMJAQAAAAlpc0RlZmluZWQAAAABCAUAAAADcG10AAAAB2Fzc2V0SWQJAAACAAAAAQIAAAAWV0FWRVMgT05MWSBISEVVQVdIRVVBUwQAAAALdXNlckFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAFcHJpY2UJAQAAABFnZXRWYWx1ZUl0ZW1QcmljZQAAAAEFAAAABGl0ZW0EAAAAD3N1cHBsaWVyQWRkcmVzcwkBAAAAFGdldFZhbHVlSXRlbVN1cHBsaWVyAAAAAQUAAAAEaXRlbQMJAABmAAAAAgUAAAAFcHJpY2UIBQAAAANwbXQAAAAGYW1vdW50CQAAAgAAAAECAAAALlB1cmNoYXNlIGFtb3VudCBjYW5ub3QgYmUgbGVzcyB0aGFuIGl0ZW0gcHJpY2UDCQAAAAAAAAIFAAAAD3N1cHBsaWVyQWRkcmVzcwUAAAAETk9ORQkAAAIAAAABAgAAABdTdXBwbGllciBkb2VzIG5vdCBleGlzdAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAFWdldEtleVVzZXJJdGVtQ291bnRlcgAAAAIFAAAAC3VzZXJBZGRyZXNzBQAAAARpdGVtCQAAZAAAAAIJAQAAABdnZXRWYWx1ZVVzZXJJdGVtQ291bnRlcgAAAAIFAAAAC3VzZXJBZGRyZXNzBQAAAARpdGVtAAAAAAAAAAABCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAVZ2V0S2V5QmFsYW5jZVN1cHBsaWVyAAAAAQUAAAAPc3VwcGxpZXJBZGRyZXNzCQAAZAAAAAIJAQAAABdnZXRWYWx1ZUJhbGFuY2VTdXBwbGllcgAAAAEFAAAAD3N1cHBsaWVyQWRkcmVzcwgFAAAAA3BtdAAAAAZhbW91bnQFAAAAA25pbAAAAAFpAQAAAAl3aXRoZHJhdzIAAAAABAAAAA9zdXBwbGllckFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAHYmFsYW5jZQkBAAAAF2dldFZhbHVlQmFsYW5jZVN1cHBsaWVyAAAAAQUAAAAPc3VwcGxpZXJBZGRyZXNzAwkAAGcAAAACAAAAAAAAAAAABQAAAAdiYWxhbmNlCQAAAgAAAAECAAAAE2luc3VmaWNpZW50IGJhbGFuY2UJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABVnZXRLZXlCYWxhbmNlU3VwcGxpZXIAAAABBQAAAA9zdXBwbGllckFkZHJlc3MAAAAAAAAAAAAJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQUAAAAPc3VwcGxpZXJBZGRyZXNzBQAAAAdiYWxhbmNl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AAAABGl0ZW0FAAAABHZvdGUFAAAADG5ld1ZvdGVDb3VudAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAQZ2V0S2V5SXRlbVN0YXR1cwAAAAEFAAAABGl0ZW0DCQAAZwAAAAIFAAAADG5ld1ZvdGVDb3VudAUAAAAGUVVPUlVNBQAAAAR2b3RlBQAAAAZSRVZFQUwFAAAAA25pbAAAAAFpAQAAAAhhZGRJdGVtMwAAAAMAAAAFdGl0bGUAAAAFcHJpY2UAAAAEZGF0YQQAAAAPc3VwcGxpZXJBZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAABGl0ZW0JAQAAAApnZXRLZXlJdGVtAAAAAgUAAAAPc3VwcGxpZXJBZGRyZXNzBQAAAAV0aXRsZQQAAAARc3VwcGxpZXJXaGl0ZUxpc3QJAQAAAB5nZXRFeHRWYWx1ZUl0ZW1XaGl0ZUxpc3RTdGF0dXMAAAACCQEAAAATZ2V0RXh0QWRkcmVzc09yYWNsZQAAAAAFAAAAD3N1cHBsaWVyQWRkcmVzcwMJAABnAAAAAgAAAAAAAAAAAAUAAAAFcHJpY2UJAAACAAAAAQIAAAAuUHVyY2hhc2UgYW1vdW50IGNhbm5vdCBiZSBsZXNzIHRoYW4gaXRlbSBwcmljZQMJAQAAAAIhPQAAAAIJAQAAABRnZXRWYWx1ZUl0ZW1TdXBwbGllcgAAAAEFAAAABGl0ZW0FAAAABE5PTkUJAAACAAAAAQIAAAAWYW4gaXRlbSBhbHJlYWR5IGV4aXN0cwMJAAAAAAAAAgUAAAARc3VwcGxpZXJXaGl0ZUxpc3QFAAAAC0JMQUNLTElTVEVECQAAAgAAAAECAAAAJ3N1cHBsaWVyJ3MgYWNjb3VudCBoYXMgYmVlbiBibGFja2xpc3RlZAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAASZ2V0S2V5SXRlbVN1cHBsaWVyAAAAAQUAAAAEaXRlbQUAAAAPc3VwcGxpZXJBZGRyZXNzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAPZ2V0S2V5SXRlbVByaWNlAAAAAQUAAAAEaXRlbQUAAAAFcHJpY2UJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAADmdldEtleUl0ZW1EYXRhAAAAAQUAAAAEaXRlbQUAAAAEZGF0YQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAcZ2V0RXh0S2V5SXRlbVdoaXRlTGlzdFN0YXR1cwAAAAEFAAAAD3N1cHBsaWVyQWRkcmVzcwUAAAARc3VwcGxpZXJXaGl0ZUxpc3QFAAAAA25pbAAAAAFpAQAAAAlwdXJjaGFzZTMAAAABAAAABGl0ZW0EAAAAA3BtdAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAMJAQAAAAlpc0RlZmluZWQAAAABCAUAAAADcG10AAAAB2Fzc2V0SWQJAAACAAAAAQIAAAAWV0FWRVMgT05MWSBISEVVQVdIRVVBUwQAAAALdXNlckFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAFcHJpY2UJAQAAABFnZXRWYWx1ZUl0ZW1QcmljZQAAAAEFAAAABGl0ZW0EAAAAD3N1cHBsaWVyQWRkcmVzcwkBAAAAFGdldFZhbHVlSXRlbVN1cHBsaWVyAAAAAQUAAAAEaXRlbQMJAABmAAAAAgUAAAAFcHJpY2UIBQAAAANwbXQAAAAGYW1vdW50CQAAAgAAAAECAAAALlB1cmNoYXNlIGFtb3VudCBjYW5ub3QgYmUgbGVzcyB0aGFuIGl0ZW0gcHJpY2UDCQAAAAAAAAIFAAAAD3N1cHBsaWVyQWRkcmVzcwUAAAAETk9ORQkAAAIAAAABAgAAABdTdXBwbGllciBkb2VzIG5vdCBleGlzdAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAFWdldEtleVVzZXJJdGVtQ291bnRlcgAAAAIFAAAAC3VzZXJBZGRyZXNzBQAAAARpdGVtCQAAZAAAAAIJAQAAABdnZXRWYWx1ZVVzZXJJdGVtQ291bnRlcgAAAAIFAAAAC3VzZXJBZGRyZXNzBQAAAARpdGVtAAAAAAAAAAABCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAVZ2V0S2V5QmFsYW5jZVN1cHBsaWVyAAAAAQUAAAAPc3VwcGxpZXJBZGRyZXNzCQAAZAAAAAIJAQAAABdn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AAAAAgAAAAAAAAAAAAUAAAAFcHJpY2UJAAACAAAAAQIAAAAuUHVyY2hhc2UgYW1vdW50IGNhbm5vdCBiZSBsZXNzIHRoYW4gaXRlbSBwcmljZQMJAQAAAAIhPQAAAAIJAQAAABRnZXRWYWx1ZUl0ZW1TdXBwbGllcgAAAAEFAAAABGl0ZW0FAAAABE5PTkUJAAACAAAAAQIAAAAWYW4gaXRlbSBhbHJlYWR5IGV4aXN0cwMJAAAAAAAAAgUAAAARc3VwcGxpZXJXaGl0ZUxpc3QFAAAAC0JMQUNLTElTVEVECQAAAgAAAAECAAAAJ3N1cHBsaWVyJ3MgYWNjb3VudCBoYXMgYmVlbiBibGFja2xpc3RlZAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAASZ2V0S2V5SXRlbVN1cHBsaWVyAAAAAQUAAAAEaXRlbQUAAAAPc3VwcGxpZXJBZGRyZXNzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAPZ2V0S2V5SXRlbVByaWNlAAAAAQUAAAAEaXRlbQUAAAAFcHJpY2UJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAADmdldEtleUl0ZW1EYXRhAAAAAQUAAAAEaXRlbQUAAAAEZGF0YQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAcZ2V0RXh0S2V5SXRlbVdoaXRlTGlzdFN0YXR1cwAAAAEFAAAAD3N1cHBsaWVyQWRkcmVzcwUAAAARc3VwcGxpZXJXaGl0ZUxpc3QFAAAAA25pbAAAAAFpAQAAAAlwdXJjaGFzZTQAAAABAAAABGl0ZW0EAAAAA3BtdAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAMJAQAAAAlpc0RlZmluZWQAAAABCAUAAAADcG10AAAAB2Fzc2V0SWQJAAACAAAAAQIAAAAWV0FWRVMgT05MWSBISEVVQVdIRVVBUwQAAAALdXNlckFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAFcHJpY2UJAQAAABFnZXRWYWx1ZUl0ZW1QcmljZQAAAAEFAAAABGl0ZW0EAAAAD3N1cHBsaWVyQWRkcmVzcwkBAAAAFGdldFZhbHVlSXRlbVN1cHBsaWVyAAAAAQUAAAAEaXRlbQMJAABmAAAAAgUAAAAFcHJpY2UIBQAAAANwbXQAAAAGYW1vdW50CQAAAgAAAAECAAAALlB1cmNoYXNlIGFtb3VudCBjYW5ub3QgYmUgbGVzcyB0aGFuIGl0ZW0gcHJpY2UDCQAAAAAAAAIFAAAAD3N1cHBsaWVyQWRkcmVzcwUAAAAETk9ORQkAAAIAAAABAgAAABdTdXBwbGllciBkb2VzIG5vdCBleGlzdAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAFWdldEtleVVzZXJJdGVtQ291bnRlcgAAAAIFAAAAC3VzZXJBZGRyZXNzBQAAAARpdGVtCQAAZAAAAAIJAQAAABdnZXRWYWx1ZVVzZXJJdGVtQ291bnRlcgAAAAIFAAAAC3VzZXJBZGRyZXNzBQAAAARpdGVtAAAAAAAAAAABCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAVZ2V0S2V5QmFsYW5jZVN1cHBsaWVyAAAAAQUAAAAPc3VwcGxpZXJBZGRyZXNzCQAAZAAAAAIJAQAAABdnZXRWYWx1ZUJhbGFuY2VTdXBwbGllcgAAAAEFAAAAD3N1cHBsaWVyQWRkcmVzcwgFAAAAA3BtdAAAAAZhbW91bnQFAAAAA25pbAAAAAFpAQAAAAl3aXRoZHJhdzQAAAAABAAAAA9zdXBwbGllckFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAHYmFsYW5jZQkBAAAAF2dldFZhbHVlQmFsYW5jZVN1cHBsaWVyAAAAAQUAAAAPc3VwcGxpZXJBZGRyZXNzAwkAAGcAAAACAAAAAAAAAAAABQAAAAdiYWxhbmNlCQAAAgAAAAECAAAAE2luc3VmaWNpZW50IGJhbGFuY2UJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABVnZXRLZXlCYWxhbmNlU3VwcGxpZXIAAAABBQAAAA9zdXBwbGllckFkZHJlc3MAAAAAAAAAAAAJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQUAAAAPc3VwcGxpZXJB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dEtleVZvdGVDb3VudAAAAAIFAAAABGl0ZW0FAAAABHZvdGUFAAAADG5ld1ZvdGVDb3VudAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAQZ2V0S2V5SXRlbVN0YXR1cwAAAAEFAAAABGl0ZW0DCQAAZwAAAAIFAAAADG5ld1ZvdGVDb3VudAUAAAAGUVVPUlVNBQAAAAR2b3RlBQAAAAZSRVZFQUwFAAAAA25pbAAAAAFpAQAAAAhhZGRJdGVtNQAAAAMAAAAFdGl0bGUAAAAFcHJpY2UAAAAEZGF0YQQAAAAPc3VwcGxpZXJBZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAABGl0ZW0JAQAAAApnZXRLZXlJdGVtAAAAAgUAAAAPc3VwcGxpZXJBZGRyZXNzBQAAAAV0aXRsZQQAAAARc3VwcGxpZXJXaGl0ZUxpc3QJAQAAAB5nZXRFeHRWYWx1ZUl0ZW1XaGl0ZUxpc3RTdGF0dXMAAAACCQEAAAATZ2V0RXh0QWRkcmVzc09yYWNsZQAAAAAFAAAAD3N1cHBsaWVyQWRkcmVzcwMJAABnAAAAAgAAAAAAAAAAAAUAAAAFcHJpY2UJAAACAAAAAQIAAAAuUHVyY2hhc2UgYW1vdW50IGNhbm5vdCBiZSBsZXNzIHRoYW4gaXRlbSBwcmljZQMJAQAAAAIhPQAAAAIJAQAAABRnZXRWYWx1ZUl0ZW1TdXBwbGllcgAAAAEFAAAABGl0ZW0FAAAABE5PTkUJAAACAAAAAQIAAAAWYW4gaXRlbSBhbHJlYWR5IGV4aXN0cwMJAAAAAAAAAgUAAAARc3VwcGxpZXJXaGl0ZUxpc3QFAAAAC0JMQUNLTElTVEVECQAAAgAAAAECAAAAJ3N1cHBsaWVyJ3MgYWNjb3VudCBoYXMgYmVlbiBibGFja2xpc3RlZAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAASZ2V0S2V5SXRlbVN1cHBsaWVyAAAAAQUAAAAEaXRlbQUAAAAPc3VwcGxpZXJBZGRyZXNzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAPZ2V0S2V5SXRlbVByaWNlAAAAAQUAAAAEaXRlbQUAAAAFcHJpY2UJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAADmdldEtleUl0ZW1EYXRhAAAAAQUAAAAEaXRlbQUAAAAEZGF0YQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAcZ2V0RXh0S2V5SXRlbVdoaXRlTGlzdFN0YXR1cwAAAAEFAAAAD3N1cHBsaWVyQWRkcmVzcwUAAAARc3VwcGxpZXJXaGl0ZUxpc3QFAAAAA25pbAAAAAFpAQAAAAlwdXJjaGFzZTUAAAABAAAABGl0ZW0EAAAAA3BtdAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAMJAQAAAAlpc0RlZmluZWQAAAABCAUAAAADcG10AAAAB2Fzc2V0SWQJAAACAAAAAQIAAAAWV0FWRVMgT05MWSBISEVVQVdIRVVBUwQAAAALdXNlckFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAFcHJpY2UJAQAAABFnZXRWYWx1ZUl0ZW1QcmljZQAAAAEFAAAABGl0ZW0EAAAAD3N1cHBsaWVyQWRkcmVzcwkBAAAAFGdldFZhbHVlSXRlbVN1cHBsaWVyAAAAAQUAAAAEaXRlbQMJAABmAAAAAgUAAAAFcHJpY2UIBQAAAANwbXQAAAAGYW1vdW50CQAAAgAAAAECAAAALlB1cmNoYXNlIGFtb3VudCBjYW5ub3QgYmUgbGVzcyB0aGFuIGl0ZW0gcHJpY2UDCQAAAAAAAAIFAAAAD3N1cHBsaWVyQWRkcmVzcwUAAAAETk9ORQkAAAIAAAABAgAAABdTdXBwbGllciBkb2VzIG5vdCBleGlzdAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAFWdldEtleVVzZXJJdGVtQ291bnRlcgAAAAIFAAAAC3VzZXJBZGRyZXNzBQAAAARpdGVtCQAAZAAAAAIJAQAAABdnZXRWYWx1ZVVzZXJJdGVtQ291bnRlcgAAAAIFAAAAC3VzZXJBZGRyZXNzBQAAAARpdGVtAAAAAAAAAAABCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAVZ2V0S2V5QmFsYW5jZVN1cHBsaWVyAAAAAQUAAAAPc3VwcGxpZXJBZGRyZXNzCQAAZAAAAAIJAQAAABdnZXRWYWx1ZUJhbGFuY2VTdXBwbGllcgAAAAEFAAAAD3N1cHBsaWVyQWRkcmVzcwgFAAAAA3BtdAAAAAZhbW91bnQFAAAAA25pbAAAAAFpAQAAAAl3aXRoZHJhdzUAAAAABAAAAA9zdXBwbGllckFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAHYmFsYW5jZQkBAAAAF2dldFZhbHVlQmFsYW5jZVN1cHBsaWVyAAAAAQUAAAAPc3VwcGxpZXJBZGRyZXNzAwkAAGcAAAACAAAAAAAAAAAABQAAAAdiYWxhbmNlCQAAAgAAAAECAAAAE2luc3VmaWNpZW50IGJhbGFuY2UJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABVnZXRLZXlCYWxhbmNlU3VwcGxpZXIAAAABBQAAAA9zdXBwbGllckFkZHJlc3MAAAAAAAAAAAAJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQUAAAAPc3VwcGxpZXJBZGRyZXNzBQAAAAdiYWxhbmNlBQAAAAR1bml0BQAAAANuaWwAAAABaQEAAAALdm90ZUNvbW1pdDUAAAACAAAABGl0ZW0AAAAEaGFzaAQAAAAEdXNlcgkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAAdjb21taXRzCQEAAAAUZ2V0VmFsdWVDb21taXRzQ291bnQAAAABBQAAAARpdGVtBAAAAAZzdGF0dXMJAQAAABJnZXRWYWx1ZUl0ZW1TdGF0dXMAAAABBQAAAARpdGVtAwkAAGcAAAACBQAAAAdjb21taXRzBQAAAAZWT1RFUlMJAAACAAAAAQIAAAAZUmVhY2hlZCBtYXggbnVtIG9mIHZvdGVycwMJAQAAAAIhPQAAAAIJAQAAAA5nZXRWYWx1ZUNvbW1pdAAAAAIFAAAABGl0ZW0FAAAABHVzZXIFAAAABE5PTkUJAAACAAAAAQIAAAACYjEDCQAAAAAAAAIJAQAAABJnZXRLZXlJdGVtU3VwcGxpZXIAAAABBQAAAARpdGVtBQAAAAROT05FCQAAAgAAAAECAAAAAmIyAwMJAQAAAAIhPQAAAAIFAAAABnN0YXR1cwUAAAAETk9ORQkBAAAAAiE9AAAAAgUAAAAGc3RhdHVzBQAAAAZWT1RJTkcHCQAAAgAAAAECAAAAAmIzCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAAxnZXRLZXlDb21taXQAAAACBQAAAARpdGVtBQAAAAR1c2VyBQAAAARoYXNoCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAASZ2V0S2V5Q29tbWl0c0NvdW50AAAAAQUAAAAEaXRlbQkAAGQAAAACBQAAAAdjb21taXRzAAAAAAAAAAABCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABBnZXRLZXlJdGVtU3RhdHVzAAAAAQUAAAAEaXRlbQMJAAAAAAAAAgUAAAAHY29tbWl0cwUAAAAGVk9URVJTBQAAAAZSRVZFQUwFAAAABlZPVElORwUAAAADbmlsAAAAAWkBAAAAC3ZvdGVSZXZlYWw1AAAAAwAAAARpdGVtAAAABHZvdGUAAAAEc2FsdAQAAAAEdXNlcgkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAAZzdGF0dXMJAQAAABJnZXRWYWx1ZUl0ZW1TdGF0dXMAAAABBQAAAARpdGVtBAAAAAxuZXdWb3RlQ291bnQJAABkAAAAAgkBAAAAEWdldFZhbHVlVm90ZUNvdW50AAAAAgUAAAAEaXRlbQUAAAAEdm90ZQAAAAAAAAAAAQMJAQAAAAIhPQAAAAIJAAJYAAAAAQkAAfcAAAABCQABmwAAAAEJAAEsAAAAAgUAAAAEdm90ZQUAAAAEc2FsdAkBAAAADmdldFZhbHVlQ29tbWl0AAAAAgUAAAAEaXRlbQUAAAAEdXNlcgkAAAIAAAABAgAAABhSZXZlYWwgZGF0YSBpcyBub3QgdmFsaWQDCQAAZgAAAAIFAAAABlZPVEVSUwkBAAAAFGdldFZhbHVlQ29tbWl0c0NvdW50AAAAAQUAAAAEaXRlbQkAAAIAAAABAgAAACNtYXggbnVtIG9mIHZvdGVycyBoYXNudCByZWFjaGVkIHlldAMJAQAAAAIhPQAAAAIJAQAAAA5nZXRWYWx1ZVJldmVhbAAAAAIFAAAABGl0ZW0FAAAABHVzZXIFAAAABE5PTkUJAAACAAAAAQIAAAAddXNlciBoYXMgYWxyZWFkeSBwYXJ0aWNpcGF0ZWQDAwkBAAAAAiE9AAAAAgUAAAAGc3RhdHVzBQAAAAZWT1RJTkcJAQAAAAIhPQAAAAIFAAAABnN0YXR1cwUAAAAGUkVWRUFMBwkAAAIAAAABAgAAAAx3cm9uZyBzdGF0dXMDAwkBAAAAAiE9AAAAAgUAAAAEdm90ZQUAAAAIRkVBVFVSRUQJAQAAAAIhPQAAAAIFAAAABHZvdGUFAAAACERFTElTVEVEBwkAAAIAAAABAgAAAAp3cm9uZyB2b3RlAwMJAAAAAAAAAgUAAAAGc3RhdHVzBQAAAAhGRUFUVVJFRAYJAAAAAAAAAgUAAAAGc3RhdHVzBQAAAAhERUxJU1RFRAkAAAIAAAABAgAAABF2b3RlIGhhcyBmaW5pc2hlZAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAMZ2V0S2V5UmV2ZWFsAAAAAgUAAAAEaXRlbQUAAAAEdXNlcgUAAAAEdm90ZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAD2dldEtleVZvdGVDb3VudAAAAAIFAAAABGl0ZW0FAAAABHZvdGUFAAAADG5ld1ZvdGVDb3VudAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAQZ2V0S2V5SXRlbVN0YXR1cwAAAAEFAAAABGl0ZW0DCQAAZwAAAAIFAAAADG5ld1ZvdGVDb3VudAUAAAAGUVVPUlVNBQAAAAR2b3RlBQAAAAZSRVZFQUwFAAAAA25pbAAAAAFpAQAAAAhhZGRJdGVtNgAAAAMAAAAFdGl0bGUAAAAFcHJpY2UAAAAEZGF0YQQAAAAPc3VwcGxpZXJBZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAABGl0ZW0JAQAAAApnZXRLZXlJdGVtAAAAAgUAAAAPc3VwcGxpZXJBZGRyZXNzBQAAAAV0aXRsZQQAAAARc3VwcGxpZXJXaGl0ZUxpc3QJAQAAAB5nZXRFeHRWYWx1ZUl0ZW1XaGl0ZUxpc3RTdGF0dXMAAAACCQEAAAATZ2V0RXh0QWRkcmVzc09yYWNsZQAAAAAFAAAAD3N1cHBsaWVyQWRkcmVzcwMJAABnAAAAAgAAAAAAAAAAAAUAAAAFcHJpY2UJAAACAAAAAQIAAAAuUHVyY2hhc2UgYW1vdW50IGNhbm5vdCBiZSBsZXNzIHRoYW4gaXRlbSBwcmljZQMJAQAAAAIhPQAAAAIJAQAAABRnZXRWYWx1ZUl0ZW1TdXBwbGllcgAAAAEFAAAABGl0ZW0FAAAABE5PTkUJAAACAAAAAQIAAAAWYW4gaXRlbSBhbHJlYWR5IGV4aXN0cwMJAAAAAAAAAgUAAAARc3VwcGxpZXJXaGl0ZUxpc3QFAAAAC0JMQUNLTElTVEVECQAAAgAAAAECAAAAJ3N1cHBsaWVyJ3MgYWNjb3VudCBoYXMgYmVlbiBibGFja2xpc3RlZAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAASZ2V0S2V5SXRlbVN1cHBsaWVyAAAAAQUAAAAEaXRlbQUAAAAPc3VwcGxpZXJBZGRyZXNzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAPZ2V0S2V5SXRlbVByaWNlAAAAAQUAAAAEaXRlbQUAAAAFcHJpY2UJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAADmdldEtleUl0ZW1EYXRhAAAAAQUAAAAEaXRlbQUAAAAEZGF0YQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAcZ2V0RXh0S2V5SXRlbVdoaXRlTGlzdFN0YXR1cwAAAAEFAAAAD3N1cHBsaWVyQWRkcmVzcwUAAAARc3VwcGxpZXJXaGl0ZUxpc3QFAAAAA25pbAAAAAFpAQAAAAlwdXJjaGFzZTYAAAABAAAABGl0ZW0EAAAAA3BtdAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAMJAQAAAAlpc0RlZmluZWQAAAABCAUAAAADcG10AAAAB2Fzc2V0SWQJAAACAAAAAQIAAAAWV0FWRVMgT05MWSBISEVVQVdIRVVBUwQAAAALdXNlckFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAFcHJpY2UJAQAAABFnZXRWYWx1ZUl0ZW1QcmljZQAAAAEFAAAABGl0ZW0EAAAAD3N1cHBsaWVyQWRkcmVzcwkBAAAAFGdldFZhbHVlSXRlbVN1cHBsaWVyAAAAAQUAAAAEaXRlbQMJAABmAAAAAgUAAAAFcHJpY2UIBQAAAANwbXQAAAAGYW1vdW50CQAAAgAAAAECAAAALlB1cmNoYXNlIGFtb3VudCBjYW5ub3QgYmUgbGVzcyB0aGFuIGl0ZW0gcHJpY2UDCQAAAAAAAAIFAAAAD3N1cHBsaWVyQWRkcmVzcwUAAAAETk9ORQkAAAIAAAABAgAAABdTdXBwbGllciBkb2VzIG5vdCBleGlzdAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAFWdldEtleVVzZXJJdGVtQ291bnRlcgAAAAIFAAAAC3VzZXJBZGRyZXNzBQAAAARpdGVtCQAAZAAAAAIJAQAAABdnZXRWYWx1ZVVzZXJJdGVtQ291bnRlcgAAAAIFAAAAC3VzZXJBZGRyZXNzBQAAAARpdGVtAAAAAAAAAAABCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAVZ2V0S2V5QmFsYW5jZVN1cHBsaWVyAAAAAQUAAAAPc3VwcGxpZXJBZGRyZXNzCQAAZAAAAAIJAQAAABdnZXRWYWx1ZUJhbGFuY2VTdXBwbGllcgAAAAEFAAAAD3N1cHBsaWVyQWRkcmVzcwgFAAAAA3BtdAAAAAZhbW91bnQFAAAAA25pbAAAAAFpAQAAAAl3aXRoZHJhdzYAAAAABAAAAA9zdXBwbGllckFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAHYmFsYW5jZQkBAAAAF2dldFZhbHVlQmFsYW5jZVN1cHBsaWVyAAAAAQUAAAAPc3VwcGxpZXJBZGRyZXNzAwkAAGcAAAACAAAAAAAAAAAABQAAAAdiYWxhbmNlCQAAAgAAAAECAAAAE2luc3VmaWNpZW50IGJhbGFuY2UJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABVnZXRLZXlCYWxhbmNlU3VwcGxpZXIAAAABBQAAAA9zdXBwbGllckFkZHJlc3MAAAAAAAAAAAAJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAEUBleHRyTmF0aXZlKDEwNjIp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", "height": 1626115, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 93wfZT3chPFgqEWsRDhatojaVEHpRCvcg2f1uA3sh1j Next: none Diff:
OldNewDifferences
222222 }
223223
224224
225+
226+@Callable(T)
227+func addItem2 (q,U,V) = {
228+ let W = toBase58String(T.caller.bytes)
229+ let j = o(W, q)
230+ let X = R(O(), W)
231+ if ((0 >= U))
232+ then throw("Purchase amount cannot be less than item price")
233+ else if ((t(j) != a))
234+ then throw("an item already exists")
235+ else if ((X == P))
236+ then throw("supplier's account has been blacklisted")
237+ else [StringEntry(s(j), W), IntegerEntry(i(j), U), StringEntry(r(j), V), StringEntry(Q(W), X)]
238+ }
239+
240+
241+
242+@Callable(T)
243+func purchase2 (j) = {
244+ let Y = T.payments[0]
245+ if (isDefined(Y.assetId))
246+ then throw("WAVES ONLY HHEUAWHEUAS")
247+ else {
248+ let Z = toBase58String(T.caller.bytes)
249+ let U = k(j)
250+ let W = t(j)
251+ if ((U > Y.amount))
252+ then throw("Purchase amount cannot be less than item price")
253+ else if ((W == a))
254+ then throw("Supplier does not exist")
255+ else [IntegerEntry(l(Z, j), (n(Z, j) + 1)), IntegerEntry(u(W), (w(W) + Y.amount))]
256+ }
257+ }
258+
259+
260+
261+@Callable(T)
262+func withdraw2 () = {
263+ let W = toBase58String(T.caller.bytes)
264+ let aa = w(W)
265+ if ((0 >= aa))
266+ then throw("insuficient balance")
267+ else [IntegerEntry(u(W), 0), ScriptTransfer(addressFromStringValue(W), aa, unit)]
268+ }
269+
270+
271+
272+@Callable(T)
273+func voteCommit2 (j,ab) = {
274+ let m = toBase58String(T.caller.bytes)
275+ let ac = G(j)
276+ let ad = K(j)
277+ if ((ac >= x))
278+ then throw("Reached max num of voters")
279+ else if ((E(j, m) != a))
280+ then throw("b1")
281+ else if ((s(j) == a))
282+ then throw("b2")
283+ else if (if ((ad != a))
284+ then (ad != z)
285+ else false)
286+ then throw("b3")
287+ else [StringEntry(D(j, m), ab), IntegerEntry(F(j), (ac + 1)), StringEntry(J(j), if ((ac == x))
288+ then A
289+ else z)]
290+ }
291+
292+
293+
294+@Callable(T)
295+func voteReveal2 (j,M,ae) = {
296+ let m = toBase58String(T.caller.bytes)
297+ let ad = K(j)
298+ let af = (N(j, M) + 1)
299+ if ((toBase58String(sha256(toBytes((M + ae)))) != E(j, m)))
300+ then throw("Reveal data is not valid")
301+ else if ((x > G(j)))
302+ then throw("max num of voters hasnt reached yet")
303+ else if ((I(j, m) != a))
304+ then throw("user has already participated")
305+ else if (if ((ad != z))
306+ then (ad != A)
307+ else false)
308+ then throw("wrong status")
309+ else if (if ((M != B))
310+ then (M != C)
311+ else false)
312+ then throw("wrong vote")
313+ else if (if ((ad == B))
314+ then true
315+ else (ad == C))
316+ then throw("vote has finished")
317+ else [StringEntry(H(j, m), M), IntegerEntry(L(j, M), af), StringEntry(J(j), if ((af >= y))
318+ then M
319+ else A)]
320+ }
321+
322+
323+
324+@Callable(T)
325+func addItem3 (q,U,V) = {
326+ let W = toBase58String(T.caller.bytes)
327+ let j = o(W, q)
328+ let X = R(O(), W)
329+ if ((0 >= U))
330+ then throw("Purchase amount cannot be less than item price")
331+ else if ((t(j) != a))
332+ then throw("an item already exists")
333+ else if ((X == P))
334+ then throw("supplier's account has been blacklisted")
335+ else [StringEntry(s(j), W), IntegerEntry(i(j), U), StringEntry(r(j), V), StringEntry(Q(W), X)]
336+ }
337+
338+
339+
340+@Callable(T)
341+func purchase3 (j) = {
342+ let Y = T.payments[0]
343+ if (isDefined(Y.assetId))
344+ then throw("WAVES ONLY HHEUAWHEUAS")
345+ else {
346+ let Z = toBase58String(T.caller.bytes)
347+ let U = k(j)
348+ let W = t(j)
349+ if ((U > Y.amount))
350+ then throw("Purchase amount cannot be less than item price")
351+ else if ((W == a))
352+ then throw("Supplier does not exist")
353+ else [IntegerEntry(l(Z, j), (n(Z, j) + 1)), IntegerEntry(u(W), (w(W) + Y.amount))]
354+ }
355+ }
356+
357+
358+
359+@Callable(T)
360+func withdraw3 () = {
361+ let W = toBase58String(T.caller.bytes)
362+ let aa = w(W)
363+ if ((0 >= aa))
364+ then throw("insuficient balance")
365+ else [IntegerEntry(u(W), 0), ScriptTransfer(addressFromStringValue(W), aa, unit)]
366+ }
367+
368+
369+
370+@Callable(T)
371+func voteCommit3 (j,ab) = {
372+ let m = toBase58String(T.caller.bytes)
373+ let ac = G(j)
374+ let ad = K(j)
375+ if ((ac >= x))
376+ then throw("Reached max num of voters")
377+ else if ((E(j, m) != a))
378+ then throw("b1")
379+ else if ((s(j) == a))
380+ then throw("b2")
381+ else if (if ((ad != a))
382+ then (ad != z)
383+ else false)
384+ then throw("b3")
385+ else [StringEntry(D(j, m), ab), IntegerEntry(F(j), (ac + 1)), StringEntry(J(j), if ((ac == x))
386+ then A
387+ else z)]
388+ }
389+
390+
391+
392+@Callable(T)
393+func voteReveal3 (j,M,ae) = {
394+ let m = toBase58String(T.caller.bytes)
395+ let ad = K(j)
396+ let af = (N(j, M) + 1)
397+ if ((toBase58String(sha256(toBytes((M + ae)))) != E(j, m)))
398+ then throw("Reveal data is not valid")
399+ else if ((x > G(j)))
400+ then throw("max num of voters hasnt reached yet")
401+ else if ((I(j, m) != a))
402+ then throw("user has already participated")
403+ else if (if ((ad != z))
404+ then (ad != A)
405+ else false)
406+ then throw("wrong status")
407+ else if (if ((M != B))
408+ then (M != C)
409+ else false)
410+ then throw("wrong vote")
411+ else if (if ((ad == B))
412+ then true
413+ else (ad == C))
414+ then throw("vote has finished")
415+ else [StringEntry(H(j, m), M), IntegerEntry(L(j, M), af), StringEntry(J(j), if ((af >= y))
416+ then M
417+ else A)]
418+ }
419+
420+
421+
422+@Callable(T)
423+func addItem4 (q,U,V) = {
424+ let W = toBase58String(T.caller.bytes)
425+ let j = o(W, q)
426+ let X = R(O(), W)
427+ if ((0 >= U))
428+ then throw("Purchase amount cannot be less than item price")
429+ else if ((t(j) != a))
430+ then throw("an item already exists")
431+ else if ((X == P))
432+ then throw("supplier's account has been blacklisted")
433+ else [StringEntry(s(j), W), IntegerEntry(i(j), U), StringEntry(r(j), V), StringEntry(Q(W), X)]
434+ }
435+
436+
437+
438+@Callable(T)
439+func purchase4 (j) = {
440+ let Y = T.payments[0]
441+ if (isDefined(Y.assetId))
442+ then throw("WAVES ONLY HHEUAWHEUAS")
443+ else {
444+ let Z = toBase58String(T.caller.bytes)
445+ let U = k(j)
446+ let W = t(j)
447+ if ((U > Y.amount))
448+ then throw("Purchase amount cannot be less than item price")
449+ else if ((W == a))
450+ then throw("Supplier does not exist")
451+ else [IntegerEntry(l(Z, j), (n(Z, j) + 1)), IntegerEntry(u(W), (w(W) + Y.amount))]
452+ }
453+ }
454+
455+
456+
457+@Callable(T)
458+func withdraw4 () = {
459+ let W = toBase58String(T.caller.bytes)
460+ let aa = w(W)
461+ if ((0 >= aa))
462+ then throw("insuficient balance")
463+ else [IntegerEntry(u(W), 0), ScriptTransfer(addressFromStringValue(W), aa, unit)]
464+ }
465+
466+
467+
468+@Callable(T)
469+func voteCommit4 (j,ab) = {
470+ let m = toBase58String(T.caller.bytes)
471+ let ac = G(j)
472+ let ad = K(j)
473+ if ((ac >= x))
474+ then throw("Reached max num of voters")
475+ else if ((E(j, m) != a))
476+ then throw("b1")
477+ else if ((s(j) == a))
478+ then throw("b2")
479+ else if (if ((ad != a))
480+ then (ad != z)
481+ else false)
482+ then throw("b3")
483+ else [StringEntry(D(j, m), ab), IntegerEntry(F(j), (ac + 1)), StringEntry(J(j), if ((ac == x))
484+ then A
485+ else z)]
486+ }
487+
488+
489+
490+@Callable(T)
491+func voteReveal4 (j,M,ae) = {
492+ let m = toBase58String(T.caller.bytes)
493+ let ad = K(j)
494+ let af = (N(j, M) + 1)
495+ if ((toBase58String(sha256(toBytes((M + ae)))) != E(j, m)))
496+ then throw("Reveal data is not valid")
497+ else if ((x > G(j)))
498+ then throw("max num of voters hasnt reached yet")
499+ else if ((I(j, m) != a))
500+ then throw("user has already participated")
501+ else if (if ((ad != z))
502+ then (ad != A)
503+ else false)
504+ then throw("wrong status")
505+ else if (if ((M != B))
506+ then (M != C)
507+ else false)
508+ then throw("wrong vote")
509+ else if (if ((ad == B))
510+ then true
511+ else (ad == C))
512+ then throw("vote has finished")
513+ else [StringEntry(H(j, m), M), IntegerEntry(L(j, M), af), StringEntry(J(j), if ((af >= y))
514+ then M
515+ else A)]
516+ }
517+
518+
519+
520+@Callable(T)
521+func addItem5 (q,U,V) = {
522+ let W = toBase58String(T.caller.bytes)
523+ let j = o(W, q)
524+ let X = R(O(), W)
525+ if ((0 >= U))
526+ then throw("Purchase amount cannot be less than item price")
527+ else if ((t(j) != a))
528+ then throw("an item already exists")
529+ else if ((X == P))
530+ then throw("supplier's account has been blacklisted")
531+ else [StringEntry(s(j), W), IntegerEntry(i(j), U), StringEntry(r(j), V), StringEntry(Q(W), X)]
532+ }
533+
534+
535+
536+@Callable(T)
537+func purchase5 (j) = {
538+ let Y = T.payments[0]
539+ if (isDefined(Y.assetId))
540+ then throw("WAVES ONLY HHEUAWHEUAS")
541+ else {
542+ let Z = toBase58String(T.caller.bytes)
543+ let U = k(j)
544+ let W = t(j)
545+ if ((U > Y.amount))
546+ then throw("Purchase amount cannot be less than item price")
547+ else if ((W == a))
548+ then throw("Supplier does not exist")
549+ else [IntegerEntry(l(Z, j), (n(Z, j) + 1)), IntegerEntry(u(W), (w(W) + Y.amount))]
550+ }
551+ }
552+
553+
554+
555+@Callable(T)
556+func withdraw5 () = {
557+ let W = toBase58String(T.caller.bytes)
558+ let aa = w(W)
559+ if ((0 >= aa))
560+ then throw("insuficient balance")
561+ else [IntegerEntry(u(W), 0), ScriptTransfer(addressFromStringValue(W), aa, unit)]
562+ }
563+
564+
565+
566+@Callable(T)
567+func voteCommit5 (j,ab) = {
568+ let m = toBase58String(T.caller.bytes)
569+ let ac = G(j)
570+ let ad = K(j)
571+ if ((ac >= x))
572+ then throw("Reached max num of voters")
573+ else if ((E(j, m) != a))
574+ then throw("b1")
575+ else if ((s(j) == a))
576+ then throw("b2")
577+ else if (if ((ad != a))
578+ then (ad != z)
579+ else false)
580+ then throw("b3")
581+ else [StringEntry(D(j, m), ab), IntegerEntry(F(j), (ac + 1)), StringEntry(J(j), if ((ac == x))
582+ then A
583+ else z)]
584+ }
585+
586+
587+
588+@Callable(T)
589+func voteReveal5 (j,M,ae) = {
590+ let m = toBase58String(T.caller.bytes)
591+ let ad = K(j)
592+ let af = (N(j, M) + 1)
593+ if ((toBase58String(sha256(toBytes((M + ae)))) != E(j, m)))
594+ then throw("Reveal data is not valid")
595+ else if ((x > G(j)))
596+ then throw("max num of voters hasnt reached yet")
597+ else if ((I(j, m) != a))
598+ then throw("user has already participated")
599+ else if (if ((ad != z))
600+ then (ad != A)
601+ else false)
602+ then throw("wrong status")
603+ else if (if ((M != B))
604+ then (M != C)
605+ else false)
606+ then throw("wrong vote")
607+ else if (if ((ad == B))
608+ then true
609+ else (ad == C))
610+ then throw("vote has finished")
611+ else [StringEntry(H(j, m), M), IntegerEntry(L(j, M), af), StringEntry(J(j), if ((af >= y))
612+ then M
613+ else A)]
614+ }
615+
616+
617+
618+@Callable(T)
619+func addItem6 (q,U,V) = {
620+ let W = toBase58String(T.caller.bytes)
621+ let j = o(W, q)
622+ let X = R(O(), W)
623+ if ((0 >= U))
624+ then throw("Purchase amount cannot be less than item price")
625+ else if ((t(j) != a))
626+ then throw("an item already exists")
627+ else if ((X == P))
628+ then throw("supplier's account has been blacklisted")
629+ else [StringEntry(s(j), W), IntegerEntry(i(j), U), StringEntry(r(j), V), StringEntry(Q(W), X)]
630+ }
631+
632+
633+
634+@Callable(T)
635+func purchase6 (j) = {
636+ let Y = T.payments[0]
637+ if (isDefined(Y.assetId))
638+ then throw("WAVES ONLY HHEUAWHEUAS")
639+ else {
640+ let Z = toBase58String(T.caller.bytes)
641+ let U = k(j)
642+ let W = t(j)
643+ if ((U > Y.amount))
644+ then throw("Purchase amount cannot be less than item price")
645+ else if ((W == a))
646+ then throw("Supplier does not exist")
647+ else [IntegerEntry(l(Z, j), (n(Z, j) + 1)), IntegerEntry(u(W), (w(W) + Y.amount))]
648+ }
649+ }
650+
651+
652+
653+@Callable(T)
654+func withdraw6 () = {
655+ let W = toBase58String(T.caller.bytes)
656+ let aa = w(W)
657+ if ((0 >= aa))
658+ then throw("insuficient balance")
659+ else [IntegerEntry(u(W), 0), ScriptTransfer(addressFromStringValue(W), aa, unit)]
660+ }
661+
662+
663+
664+@Callable(T)
665+func voteCommit6 (j,ab) = {
666+ let m = toBase58String(T.caller.bytes)
667+ let ac = G(j)
668+ let ad = K(j)
669+ if ((ac >= x))
670+ then throw("Reached max num of voters")
671+ else if ((E(j, m) != a))
672+ then throw("b1")
673+ else if ((s(j) == a))
674+ then throw("b2")
675+ else if (if ((ad != a))
676+ then (ad != z)
677+ else false)
678+ then throw("b3")
679+ else [StringEntry(D(j, m), ab), IntegerEntry(F(j), (ac + 1)), StringEntry(J(j), if ((ac == x))
680+ then A
681+ else z)]
682+ }
683+
684+
685+
686+@Callable(T)
687+func voteReveal6 (j,M,ae) = {
688+ let m = toBase58String(T.caller.bytes)
689+ let ad = K(j)
690+ let af = (N(j, M) + 1)
691+ if ((toBase58String(sha256(toBytes((M + ae)))) != E(j, m)))
692+ then throw("Reveal data is not valid")
693+ else if ((x > G(j)))
694+ then throw("max num of voters hasnt reached yet")
695+ else if ((I(j, m) != a))
696+ then throw("user has already participated")
697+ else if (if ((ad != z))
698+ then (ad != A)
699+ else false)
700+ then throw("wrong status")
701+ else if (if ((M != B))
702+ then (M != C)
703+ else false)
704+ then throw("wrong vote")
705+ else if (if ((ad == B))
706+ then true
707+ else (ad == C))
708+ then throw("vote has finished")
709+ else [StringEntry(H(j, m), M), IntegerEntry(L(j, M), af), StringEntry(J(j), if ((af >= y))
710+ then M
711+ else A)]
712+ }
713+
714+
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "none"
55
66 func b (c) = {
77 let d = {
88 let e = getInteger(this, c)
99 if ($isInstanceOf(e, "Int"))
1010 then {
1111 let f = e
1212 f
1313 }
1414 else 0
1515 }
1616 d
1717 }
1818
1919
2020 func g (c) = {
2121 let h = {
2222 let e = getString(this, c)
2323 if ($isInstanceOf(e, "String"))
2424 then {
2525 let f = e
2626 f
2727 }
2828 else a
2929 }
3030 h
3131 }
3232
3333
3434 func i (j) = (j + "_price")
3535
3636
3737 func k (j) = b(i(j))
3838
3939
4040 func l (m,j) = (((j + "_") + m) + "_cnt")
4141
4242
4343 func n (m,j) = b(l(m, j))
4444
4545
4646 func o (p,q) = ("item_" + toBase58String(sha256(toBytes((p + q)))))
4747
4848
4949 func r (j) = (j + "_data")
5050
5151
5252 func s (j) = (j + "_owner")
5353
5454
5555 func t (j) = g(s(j))
5656
5757
5858 func u (v) = (v + "_balance")
5959
6060
6161 func w (v) = b(u(v))
6262
6363
6464 let x = 3
6565
6666 let y = 2
6767
6868 let z = "voting"
6969
7070 let A = "reveal"
7171
7272 let B = "featured"
7373
7474 let C = "delisted"
7575
7676 func D (j,m) = (((j + "_") + m) + "_commit")
7777
7878
7979 func E (j,m) = g(D(j, m))
8080
8181
8282 func F (j) = (j + "_comcnt")
8383
8484
8585 func G (j) = b(F(j))
8686
8787
8888 func H (j,m) = (((j + "_") + m) + "_reveal")
8989
9090
9191 func I (j,m) = g(H(j, m))
9292
9393
9494 func J (j) = (j + "_status")
9595
9696
9797 func K (j) = g(J(j))
9898
9999
100100 func L (j,M) = ((j + "_res:") + M)
101101
102102
103103 func N (j,M) = b(L(j, M))
104104
105105
106106 func O () = value(addressFromString("3MsbiyFyy8B3aN3kF8ntda474SPn4YMVkiq"))
107107
108108
109109 let P = "blacklist"
110110
111111 func Q (v) = (v + "_verifier_status")
112112
113113
114114 func R (S,v) = {
115115 let h = {
116116 let e = getString(S, Q(v))
117117 if ($isInstanceOf(e, "String"))
118118 then {
119119 let f = e
120120 f
121121 }
122122 else a
123123 }
124124 h
125125 }
126126
127127
128128 @Callable(T)
129129 func addItem (q,U,V) = {
130130 let W = toBase58String(T.caller.bytes)
131131 let j = o(W, q)
132132 let X = R(O(), W)
133133 if ((0 >= U))
134134 then throw("Purchase amount cannot be less than item price")
135135 else if ((t(j) != a))
136136 then throw("an item already exists")
137137 else if ((X == P))
138138 then throw("supplier's account has been blacklisted")
139139 else [StringEntry(s(j), W), IntegerEntry(i(j), U), StringEntry(r(j), V), StringEntry(Q(W), X)]
140140 }
141141
142142
143143
144144 @Callable(T)
145145 func purchase (j) = {
146146 let Y = T.payments[0]
147147 if (isDefined(Y.assetId))
148148 then throw("WAVES ONLY HHEUAWHEUAS")
149149 else {
150150 let Z = toBase58String(T.caller.bytes)
151151 let U = k(j)
152152 let W = t(j)
153153 if ((U > Y.amount))
154154 then throw("Purchase amount cannot be less than item price")
155155 else if ((W == a))
156156 then throw("Supplier does not exist")
157157 else [IntegerEntry(l(Z, j), (n(Z, j) + 1)), IntegerEntry(u(W), (w(W) + Y.amount))]
158158 }
159159 }
160160
161161
162162
163163 @Callable(T)
164164 func withdraw () = {
165165 let W = toBase58String(T.caller.bytes)
166166 let aa = w(W)
167167 if ((0 >= aa))
168168 then throw("insuficient balance")
169169 else [IntegerEntry(u(W), 0), ScriptTransfer(addressFromStringValue(W), aa, unit)]
170170 }
171171
172172
173173
174174 @Callable(T)
175175 func voteCommit (j,ab) = {
176176 let m = toBase58String(T.caller.bytes)
177177 let ac = G(j)
178178 let ad = K(j)
179179 if ((ac >= x))
180180 then throw("Reached max num of voters")
181181 else if ((E(j, m) != a))
182182 then throw("b1")
183183 else if ((s(j) == a))
184184 then throw("b2")
185185 else if (if ((ad != a))
186186 then (ad != z)
187187 else false)
188188 then throw("b3")
189189 else [StringEntry(D(j, m), ab), IntegerEntry(F(j), (ac + 1)), StringEntry(J(j), if ((ac == x))
190190 then A
191191 else z)]
192192 }
193193
194194
195195
196196 @Callable(T)
197197 func voteReveal (j,M,ae) = {
198198 let m = toBase58String(T.caller.bytes)
199199 let ad = K(j)
200200 let af = (N(j, M) + 1)
201201 if ((toBase58String(sha256(toBytes((M + ae)))) != E(j, m)))
202202 then throw("Reveal data is not valid")
203203 else if ((x > G(j)))
204204 then throw("max num of voters hasnt reached yet")
205205 else if ((I(j, m) != a))
206206 then throw("user has already participated")
207207 else if (if ((ad != z))
208208 then (ad != A)
209209 else false)
210210 then throw("wrong status")
211211 else if (if ((M != B))
212212 then (M != C)
213213 else false)
214214 then throw("wrong vote")
215215 else if (if ((ad == B))
216216 then true
217217 else (ad == C))
218218 then throw("vote has finished")
219219 else [StringEntry(H(j, m), M), IntegerEntry(L(j, M), af), StringEntry(J(j), if ((af >= y))
220220 then M
221221 else A)]
222222 }
223223
224224
225+
226+@Callable(T)
227+func addItem2 (q,U,V) = {
228+ let W = toBase58String(T.caller.bytes)
229+ let j = o(W, q)
230+ let X = R(O(), W)
231+ if ((0 >= U))
232+ then throw("Purchase amount cannot be less than item price")
233+ else if ((t(j) != a))
234+ then throw("an item already exists")
235+ else if ((X == P))
236+ then throw("supplier's account has been blacklisted")
237+ else [StringEntry(s(j), W), IntegerEntry(i(j), U), StringEntry(r(j), V), StringEntry(Q(W), X)]
238+ }
239+
240+
241+
242+@Callable(T)
243+func purchase2 (j) = {
244+ let Y = T.payments[0]
245+ if (isDefined(Y.assetId))
246+ then throw("WAVES ONLY HHEUAWHEUAS")
247+ else {
248+ let Z = toBase58String(T.caller.bytes)
249+ let U = k(j)
250+ let W = t(j)
251+ if ((U > Y.amount))
252+ then throw("Purchase amount cannot be less than item price")
253+ else if ((W == a))
254+ then throw("Supplier does not exist")
255+ else [IntegerEntry(l(Z, j), (n(Z, j) + 1)), IntegerEntry(u(W), (w(W) + Y.amount))]
256+ }
257+ }
258+
259+
260+
261+@Callable(T)
262+func withdraw2 () = {
263+ let W = toBase58String(T.caller.bytes)
264+ let aa = w(W)
265+ if ((0 >= aa))
266+ then throw("insuficient balance")
267+ else [IntegerEntry(u(W), 0), ScriptTransfer(addressFromStringValue(W), aa, unit)]
268+ }
269+
270+
271+
272+@Callable(T)
273+func voteCommit2 (j,ab) = {
274+ let m = toBase58String(T.caller.bytes)
275+ let ac = G(j)
276+ let ad = K(j)
277+ if ((ac >= x))
278+ then throw("Reached max num of voters")
279+ else if ((E(j, m) != a))
280+ then throw("b1")
281+ else if ((s(j) == a))
282+ then throw("b2")
283+ else if (if ((ad != a))
284+ then (ad != z)
285+ else false)
286+ then throw("b3")
287+ else [StringEntry(D(j, m), ab), IntegerEntry(F(j), (ac + 1)), StringEntry(J(j), if ((ac == x))
288+ then A
289+ else z)]
290+ }
291+
292+
293+
294+@Callable(T)
295+func voteReveal2 (j,M,ae) = {
296+ let m = toBase58String(T.caller.bytes)
297+ let ad = K(j)
298+ let af = (N(j, M) + 1)
299+ if ((toBase58String(sha256(toBytes((M + ae)))) != E(j, m)))
300+ then throw("Reveal data is not valid")
301+ else if ((x > G(j)))
302+ then throw("max num of voters hasnt reached yet")
303+ else if ((I(j, m) != a))
304+ then throw("user has already participated")
305+ else if (if ((ad != z))
306+ then (ad != A)
307+ else false)
308+ then throw("wrong status")
309+ else if (if ((M != B))
310+ then (M != C)
311+ else false)
312+ then throw("wrong vote")
313+ else if (if ((ad == B))
314+ then true
315+ else (ad == C))
316+ then throw("vote has finished")
317+ else [StringEntry(H(j, m), M), IntegerEntry(L(j, M), af), StringEntry(J(j), if ((af >= y))
318+ then M
319+ else A)]
320+ }
321+
322+
323+
324+@Callable(T)
325+func addItem3 (q,U,V) = {
326+ let W = toBase58String(T.caller.bytes)
327+ let j = o(W, q)
328+ let X = R(O(), W)
329+ if ((0 >= U))
330+ then throw("Purchase amount cannot be less than item price")
331+ else if ((t(j) != a))
332+ then throw("an item already exists")
333+ else if ((X == P))
334+ then throw("supplier's account has been blacklisted")
335+ else [StringEntry(s(j), W), IntegerEntry(i(j), U), StringEntry(r(j), V), StringEntry(Q(W), X)]
336+ }
337+
338+
339+
340+@Callable(T)
341+func purchase3 (j) = {
342+ let Y = T.payments[0]
343+ if (isDefined(Y.assetId))
344+ then throw("WAVES ONLY HHEUAWHEUAS")
345+ else {
346+ let Z = toBase58String(T.caller.bytes)
347+ let U = k(j)
348+ let W = t(j)
349+ if ((U > Y.amount))
350+ then throw("Purchase amount cannot be less than item price")
351+ else if ((W == a))
352+ then throw("Supplier does not exist")
353+ else [IntegerEntry(l(Z, j), (n(Z, j) + 1)), IntegerEntry(u(W), (w(W) + Y.amount))]
354+ }
355+ }
356+
357+
358+
359+@Callable(T)
360+func withdraw3 () = {
361+ let W = toBase58String(T.caller.bytes)
362+ let aa = w(W)
363+ if ((0 >= aa))
364+ then throw("insuficient balance")
365+ else [IntegerEntry(u(W), 0), ScriptTransfer(addressFromStringValue(W), aa, unit)]
366+ }
367+
368+
369+
370+@Callable(T)
371+func voteCommit3 (j,ab) = {
372+ let m = toBase58String(T.caller.bytes)
373+ let ac = G(j)
374+ let ad = K(j)
375+ if ((ac >= x))
376+ then throw("Reached max num of voters")
377+ else if ((E(j, m) != a))
378+ then throw("b1")
379+ else if ((s(j) == a))
380+ then throw("b2")
381+ else if (if ((ad != a))
382+ then (ad != z)
383+ else false)
384+ then throw("b3")
385+ else [StringEntry(D(j, m), ab), IntegerEntry(F(j), (ac + 1)), StringEntry(J(j), if ((ac == x))
386+ then A
387+ else z)]
388+ }
389+
390+
391+
392+@Callable(T)
393+func voteReveal3 (j,M,ae) = {
394+ let m = toBase58String(T.caller.bytes)
395+ let ad = K(j)
396+ let af = (N(j, M) + 1)
397+ if ((toBase58String(sha256(toBytes((M + ae)))) != E(j, m)))
398+ then throw("Reveal data is not valid")
399+ else if ((x > G(j)))
400+ then throw("max num of voters hasnt reached yet")
401+ else if ((I(j, m) != a))
402+ then throw("user has already participated")
403+ else if (if ((ad != z))
404+ then (ad != A)
405+ else false)
406+ then throw("wrong status")
407+ else if (if ((M != B))
408+ then (M != C)
409+ else false)
410+ then throw("wrong vote")
411+ else if (if ((ad == B))
412+ then true
413+ else (ad == C))
414+ then throw("vote has finished")
415+ else [StringEntry(H(j, m), M), IntegerEntry(L(j, M), af), StringEntry(J(j), if ((af >= y))
416+ then M
417+ else A)]
418+ }
419+
420+
421+
422+@Callable(T)
423+func addItem4 (q,U,V) = {
424+ let W = toBase58String(T.caller.bytes)
425+ let j = o(W, q)
426+ let X = R(O(), W)
427+ if ((0 >= U))
428+ then throw("Purchase amount cannot be less than item price")
429+ else if ((t(j) != a))
430+ then throw("an item already exists")
431+ else if ((X == P))
432+ then throw("supplier's account has been blacklisted")
433+ else [StringEntry(s(j), W), IntegerEntry(i(j), U), StringEntry(r(j), V), StringEntry(Q(W), X)]
434+ }
435+
436+
437+
438+@Callable(T)
439+func purchase4 (j) = {
440+ let Y = T.payments[0]
441+ if (isDefined(Y.assetId))
442+ then throw("WAVES ONLY HHEUAWHEUAS")
443+ else {
444+ let Z = toBase58String(T.caller.bytes)
445+ let U = k(j)
446+ let W = t(j)
447+ if ((U > Y.amount))
448+ then throw("Purchase amount cannot be less than item price")
449+ else if ((W == a))
450+ then throw("Supplier does not exist")
451+ else [IntegerEntry(l(Z, j), (n(Z, j) + 1)), IntegerEntry(u(W), (w(W) + Y.amount))]
452+ }
453+ }
454+
455+
456+
457+@Callable(T)
458+func withdraw4 () = {
459+ let W = toBase58String(T.caller.bytes)
460+ let aa = w(W)
461+ if ((0 >= aa))
462+ then throw("insuficient balance")
463+ else [IntegerEntry(u(W), 0), ScriptTransfer(addressFromStringValue(W), aa, unit)]
464+ }
465+
466+
467+
468+@Callable(T)
469+func voteCommit4 (j,ab) = {
470+ let m = toBase58String(T.caller.bytes)
471+ let ac = G(j)
472+ let ad = K(j)
473+ if ((ac >= x))
474+ then throw("Reached max num of voters")
475+ else if ((E(j, m) != a))
476+ then throw("b1")
477+ else if ((s(j) == a))
478+ then throw("b2")
479+ else if (if ((ad != a))
480+ then (ad != z)
481+ else false)
482+ then throw("b3")
483+ else [StringEntry(D(j, m), ab), IntegerEntry(F(j), (ac + 1)), StringEntry(J(j), if ((ac == x))
484+ then A
485+ else z)]
486+ }
487+
488+
489+
490+@Callable(T)
491+func voteReveal4 (j,M,ae) = {
492+ let m = toBase58String(T.caller.bytes)
493+ let ad = K(j)
494+ let af = (N(j, M) + 1)
495+ if ((toBase58String(sha256(toBytes((M + ae)))) != E(j, m)))
496+ then throw("Reveal data is not valid")
497+ else if ((x > G(j)))
498+ then throw("max num of voters hasnt reached yet")
499+ else if ((I(j, m) != a))
500+ then throw("user has already participated")
501+ else if (if ((ad != z))
502+ then (ad != A)
503+ else false)
504+ then throw("wrong status")
505+ else if (if ((M != B))
506+ then (M != C)
507+ else false)
508+ then throw("wrong vote")
509+ else if (if ((ad == B))
510+ then true
511+ else (ad == C))
512+ then throw("vote has finished")
513+ else [StringEntry(H(j, m), M), IntegerEntry(L(j, M), af), StringEntry(J(j), if ((af >= y))
514+ then M
515+ else A)]
516+ }
517+
518+
519+
520+@Callable(T)
521+func addItem5 (q,U,V) = {
522+ let W = toBase58String(T.caller.bytes)
523+ let j = o(W, q)
524+ let X = R(O(), W)
525+ if ((0 >= U))
526+ then throw("Purchase amount cannot be less than item price")
527+ else if ((t(j) != a))
528+ then throw("an item already exists")
529+ else if ((X == P))
530+ then throw("supplier's account has been blacklisted")
531+ else [StringEntry(s(j), W), IntegerEntry(i(j), U), StringEntry(r(j), V), StringEntry(Q(W), X)]
532+ }
533+
534+
535+
536+@Callable(T)
537+func purchase5 (j) = {
538+ let Y = T.payments[0]
539+ if (isDefined(Y.assetId))
540+ then throw("WAVES ONLY HHEUAWHEUAS")
541+ else {
542+ let Z = toBase58String(T.caller.bytes)
543+ let U = k(j)
544+ let W = t(j)
545+ if ((U > Y.amount))
546+ then throw("Purchase amount cannot be less than item price")
547+ else if ((W == a))
548+ then throw("Supplier does not exist")
549+ else [IntegerEntry(l(Z, j), (n(Z, j) + 1)), IntegerEntry(u(W), (w(W) + Y.amount))]
550+ }
551+ }
552+
553+
554+
555+@Callable(T)
556+func withdraw5 () = {
557+ let W = toBase58String(T.caller.bytes)
558+ let aa = w(W)
559+ if ((0 >= aa))
560+ then throw("insuficient balance")
561+ else [IntegerEntry(u(W), 0), ScriptTransfer(addressFromStringValue(W), aa, unit)]
562+ }
563+
564+
565+
566+@Callable(T)
567+func voteCommit5 (j,ab) = {
568+ let m = toBase58String(T.caller.bytes)
569+ let ac = G(j)
570+ let ad = K(j)
571+ if ((ac >= x))
572+ then throw("Reached max num of voters")
573+ else if ((E(j, m) != a))
574+ then throw("b1")
575+ else if ((s(j) == a))
576+ then throw("b2")
577+ else if (if ((ad != a))
578+ then (ad != z)
579+ else false)
580+ then throw("b3")
581+ else [StringEntry(D(j, m), ab), IntegerEntry(F(j), (ac + 1)), StringEntry(J(j), if ((ac == x))
582+ then A
583+ else z)]
584+ }
585+
586+
587+
588+@Callable(T)
589+func voteReveal5 (j,M,ae) = {
590+ let m = toBase58String(T.caller.bytes)
591+ let ad = K(j)
592+ let af = (N(j, M) + 1)
593+ if ((toBase58String(sha256(toBytes((M + ae)))) != E(j, m)))
594+ then throw("Reveal data is not valid")
595+ else if ((x > G(j)))
596+ then throw("max num of voters hasnt reached yet")
597+ else if ((I(j, m) != a))
598+ then throw("user has already participated")
599+ else if (if ((ad != z))
600+ then (ad != A)
601+ else false)
602+ then throw("wrong status")
603+ else if (if ((M != B))
604+ then (M != C)
605+ else false)
606+ then throw("wrong vote")
607+ else if (if ((ad == B))
608+ then true
609+ else (ad == C))
610+ then throw("vote has finished")
611+ else [StringEntry(H(j, m), M), IntegerEntry(L(j, M), af), StringEntry(J(j), if ((af >= y))
612+ then M
613+ else A)]
614+ }
615+
616+
617+
618+@Callable(T)
619+func addItem6 (q,U,V) = {
620+ let W = toBase58String(T.caller.bytes)
621+ let j = o(W, q)
622+ let X = R(O(), W)
623+ if ((0 >= U))
624+ then throw("Purchase amount cannot be less than item price")
625+ else if ((t(j) != a))
626+ then throw("an item already exists")
627+ else if ((X == P))
628+ then throw("supplier's account has been blacklisted")
629+ else [StringEntry(s(j), W), IntegerEntry(i(j), U), StringEntry(r(j), V), StringEntry(Q(W), X)]
630+ }
631+
632+
633+
634+@Callable(T)
635+func purchase6 (j) = {
636+ let Y = T.payments[0]
637+ if (isDefined(Y.assetId))
638+ then throw("WAVES ONLY HHEUAWHEUAS")
639+ else {
640+ let Z = toBase58String(T.caller.bytes)
641+ let U = k(j)
642+ let W = t(j)
643+ if ((U > Y.amount))
644+ then throw("Purchase amount cannot be less than item price")
645+ else if ((W == a))
646+ then throw("Supplier does not exist")
647+ else [IntegerEntry(l(Z, j), (n(Z, j) + 1)), IntegerEntry(u(W), (w(W) + Y.amount))]
648+ }
649+ }
650+
651+
652+
653+@Callable(T)
654+func withdraw6 () = {
655+ let W = toBase58String(T.caller.bytes)
656+ let aa = w(W)
657+ if ((0 >= aa))
658+ then throw("insuficient balance")
659+ else [IntegerEntry(u(W), 0), ScriptTransfer(addressFromStringValue(W), aa, unit)]
660+ }
661+
662+
663+
664+@Callable(T)
665+func voteCommit6 (j,ab) = {
666+ let m = toBase58String(T.caller.bytes)
667+ let ac = G(j)
668+ let ad = K(j)
669+ if ((ac >= x))
670+ then throw("Reached max num of voters")
671+ else if ((E(j, m) != a))
672+ then throw("b1")
673+ else if ((s(j) == a))
674+ then throw("b2")
675+ else if (if ((ad != a))
676+ then (ad != z)
677+ else false)
678+ then throw("b3")
679+ else [StringEntry(D(j, m), ab), IntegerEntry(F(j), (ac + 1)), StringEntry(J(j), if ((ac == x))
680+ then A
681+ else z)]
682+ }
683+
684+
685+
686+@Callable(T)
687+func voteReveal6 (j,M,ae) = {
688+ let m = toBase58String(T.caller.bytes)
689+ let ad = K(j)
690+ let af = (N(j, M) + 1)
691+ if ((toBase58String(sha256(toBytes((M + ae)))) != E(j, m)))
692+ then throw("Reveal data is not valid")
693+ else if ((x > G(j)))
694+ then throw("max num of voters hasnt reached yet")
695+ else if ((I(j, m) != a))
696+ then throw("user has already participated")
697+ else if (if ((ad != z))
698+ then (ad != A)
699+ else false)
700+ then throw("wrong status")
701+ else if (if ((M != B))
702+ then (M != C)
703+ else false)
704+ then throw("wrong vote")
705+ else if (if ((ad == B))
706+ then true
707+ else (ad == C))
708+ then throw("vote has finished")
709+ else [StringEntry(H(j, m), M), IntegerEntry(L(j, M), af), StringEntry(J(j), if ((af >= y))
710+ then M
711+ else A)]
712+ }
713+
714+

github/deemru/w8io/169f3d6 
73.05 ms