tx · 4jd3kkipT2v4gwoMhjbRW2oigL8Lem6SF2qBv6LaHR3f

3N4ynz2uyA7cErymQd46zgwVJEEfXYDRXtA:  -0.02500000 Waves

2023.08.14 15:48 [2710253] smart account 3N4ynz2uyA7cErymQd46zgwVJEEfXYDRXtA > SELF 0.00000000 Waves

{ "type": 13, "id": "4jd3kkipT2v4gwoMhjbRW2oigL8Lem6SF2qBv6LaHR3f", "fee": 2500000, "feeAssetId": null, "timestamp": 1692017312862, "version": 2, "chainId": 84, "sender": "3N4ynz2uyA7cErymQd46zgwVJEEfXYDRXtA", "senderPublicKey": "CiRX9ubobzbD36ZwTyuBFiPnPkmzMQ7GDsF3hMoVbcVR", "proofs": [ "58St9X6XR5drnLcembDHXZhfTBVxTu2aM28idsr2LatXmL5PEEjnAcvjdoDSvNRhUy4rkwQ4kDmcKP2ZmjFuxUKH" ], "script": "base64:AAIFAAAAAAAAABsIAhIICgYBAQEBAQQSAwoBARIDCgEBEgMKAQEAAAARAAAAAAtCTUxfVG9rZW5JRAEAAAAAAAAAACNwcmVzYWxlX3RpbWVzdGFtcF9jb250cm9sbGVyX3B1YmtleQEAAAAg463XstSKNtaiPAMTm2AWTDVjxzAiveOx6Vx7CmnuvCMAAAAAEmNvbnRyb2xsZXJfYWRkcmVzcwkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQUAAAAjcHJlc2FsZV90aW1lc3RhbXBfY29udHJvbGxlcl9wdWJrZXkAAAAADmV4cGlyZWR0c2Vycm9yAgAAADhTdGFydCBUaW1lc3RhbXAgY2FuJ3QgYmUgbGVzcyB0aGFuIGxhc3QgYmxvY2sgVGltZXN0YW1wLgAAAAAHdHNlcnJvcgIAAAA8RW5kIFRpbWVzdGFtcCBjYW4ndCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gU3RhcnQgVGltZXN0YW1wAAAAAApwcmljZWVycm9yAgAAACZUb2tlbiBQcmljZSBjYW4ndCBiZSBsZXNzIHRoYW4gb3IgWmVybwAAAAAIY2FwZXJyb3ICAAAAM1NvZnQgQ2FwIEFtb3VudCBjYW4ndCBiZSBtb3JlIHRoYW4gSGFyZCBDYXAgQW1vdW50LgAAAAAIb3JkZXJtc2cCAAAAMjxoMT5QcmVzYWxlIE9yZGVyIFN1Ym1pdHRlZCBTdWNjZXNzZnVsbHkhPC9oMT48YnI+AAAAABBwcmVzYWxlX2luaXRfbXNnAgAAADc8aDE+UHJlU2FsZSBQYXJhbWV0ZXJzIFN1Ym1pdHRlZCBTdWNjZXNzZnVsbHkhPC9oMT48YnI+AAAAAAlweW10ZXJyb3ICAAAAK0RBcHAgTmVlZCBXQVZFUyBUb2tlbiBhcyBBdHRhY2ggcGF5bWVudFsxXS4AAAAADm9yZGVycHltdGVycm9yAgAAAC1BdHRhY2hlZCBwYXltZW50WzFdIGlzIGxlc3MgdGhhbiB0b2tlbiBwcmljZSAAAAAADGxhdW5jaF9lcnJvcgIAAAAmRGFwcCB3aWxsIHN0YXJ0IFByZS1TYWxlIGF0IFRpbWVzdGFtcCAAAAAAC21pbmJhbGVycm9yAgAAAGZNaW5pbXVtIDAuMSBXQVZFUyByZXF1aXJlZCBvbiBZb3VyIEFkZHJlc3MsIFBsZWFzZSBob2xkIG1pbi4gMC4xIFdBVkVTIG9uIHlvdXIgQWRkcmVzcyB0byBwbGFjZSBvcmRlci4AAAAAD3ByZXNhbGVfZW5kX2VycgIAAAAgUHJlLVNhbGUgaXMgb3ZlciBmb3IgdGhpcyBSb3VuZC4AAAAAE3ByZXNhbGVfbm90X2VuZF9lcnICAAAAJFByZS1TYWxlIGlzIG5vdCBvdmVyIGZvciB0aGlzIFJvdW5kLgAAAAAKcmVmdW5kX2VycgIAAAB6U29mdGNhcCBvciBIYXJkIENhcCBhbHJlYWR5IFJlYWNoZWQgb3IgcHJvYmFibHkgUHJlU2FsZSB3YXMgU2V0IHdpdGggRmFsc2UgdG8gUmVmdW5kLCBzbyBubyBSZWZ1bmQgYWxsb3dlZCBmb3IgdGhpcyBSb3VuZC4AAAAAD3JlZnVuZF9pbml0X21zZwIAAAArPGgxPlJlZnVuZCBSZWNlaXZlZCBTdWNjZXNzZnVsbHkhLjwvaDE+PGJyPgAAAAQAAAABaQEAAAAUU2V0UHJlU2FsZVBhcmFtZXRlcnMAAAAGAAAAF1ByZXNhbGVfU3RhcnRfVGltZVN0YW1wAAAAFVByZXNhbGVfRW5kX1RpbWVTdGFtcAAAAAtUb2tlbl9QcmljZQAAAA9Tb2Z0X0NhcF9BbW91bnQAAAAPSGFyZF9DYXBfQW1vdW50AAAADEFsbG93X1JlZnVuZAQAAAAHU3RhcnRUUwUAAAAXUHJlc2FsZV9TdGFydF9UaW1lU3RhbXAEAAAABUVuZFRTBQAAABVQcmVzYWxlX0VuZF9UaW1lU3RhbXAEAAAAEnJlYWRfZnVuZGluZ19yb3VuZAQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzAgAAABVDdXJyZW50X0Z1bmRpbmdfUm91bmQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAANY3VycmVudF9yb3VuZAkAAGQAAAACBQAAABJyZWFkX2Z1bmRpbmdfcm91bmQAAAAAAAAAAAEDCQEAAAACIT0AAAACCAUAAAABaQAAAAZjYWxsZXIFAAAAEmNvbnRyb2xsZXJfYWRkcmVzcwkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAlVGhpcyBBZGRyZXNzIGlzIG5vdCBBdXRob3JpemVkLiBPbmx5IAkABCUAAAABBQAAABJjb250cm9sbGVyX2FkZHJlc3MCAAAAIiBpcyBBdXRob3JpemVkIEFkZHJlc3MgdG8gU2lnbiBpdC4DCQAAZgAAAAIIBQAAAAlsYXN0QmxvY2sAAAAJdGltZXN0YW1wBQAAABdQcmVzYWxlX1N0YXJ0X1RpbWVTdGFtcAkAAAIAAAABBQAAAA5leHBpcmVkdHNlcnJvcgMJAQAAAAIhPQAAAAIJAAExAAAAAQkAAaQAAAABBQAAABdQcmVzYWxlX1N0YXJ0X1RpbWVTdGFtcAAAAAAAAAAADQkAAAIAAAABAgAAAG9TdGFydCBUaW1lc3RhbXAgaXMgV3JvbmcuIFBsZWFzZSBFbnRlciBhIFZhbGlkIFRpbWVzdGFtcC4gUHJvYmFibHkgeW91IGVudGVyZWQgYW4gVGltZXN0YW1wIGxlc3MgdGhhbiAxMyBDaGFycy4DCQEAAAACIT0AAAACCQABMQAAAAEJAAGkAAAAAQUAAAAVUHJlc2FsZV9FbmRfVGltZVN0YW1wAAAAAAAAAAANCQAAAgAAAAECAAAAbUVuZCBUaW1lc3RhbXAgaXMgV3JvbmcuIFBsZWFzZSBFbnRlciBhIFZhbGlkIFRpbWVzdGFtcC4gUHJvYmFibHkgeW91IGVudGVyZWQgYW4gVGltZXN0YW1wIGxlc3MgdGhhbiAxMyBDaGFycy4DCQAAZgAAAAIAAAAAAAAAAAEFAAAAC1Rva2VuX1ByaWNlCQAAAgAAAAEFAAAACnByaWNlZXJyb3IDCQAAZwAAAAIFAAAAB1N0YXJ0VFMFAAAABUVuZFRTCQAAAgAAAAEFAAAAB3RzZXJyb3IDCQAAZgAAAAIFAAAAD1NvZnRfQ2FwX0Ftb3VudAUAAAAPSGFyZF9DYXBfQW1vdW50CQAAAgAAAAEFAAAACGNhcGVycm9yCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABVDdXJyZW50X0Z1bmRpbmdfUm91bmQFAAAADWN1cnJlbnRfcm91bmQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAAaQAAAABBQAAAA1jdXJyZW50X3JvdW5kAgAAABhfUHJlc2FsZV9TdGFydF9UaW1lU3RhbXAFAAAAB1N0YXJ0VFMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAAaQAAAABBQAAAA1jdXJyZW50X3JvdW5kAgAAABZfUHJlc2FsZV9FbmRfVGltZVN0YW1wBQAAAAVFbmRUUwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABpAAAAAEFAAAADWN1cnJlbnRfcm91bmQCAAAADF9Ub2tlbl9QcmljZQUAAAALVG9rZW5fUHJpY2UJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAAaQAAAABBQAAAA1jdXJyZW50X3JvdW5kAgAAABBfU29mdF9DYXBfQW1vdW50BQAAAA9Tb2Z0X0NhcF9BbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAAaQAAAABBQAAAA1jdXJyZW50X3JvdW5kAgAAABBfSGFyZF9DYXBfQW1vdW50BQAAAA9IYXJkX0NhcF9BbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAAaQAAAABBQAAAA1jdXJyZW50X3JvdW5kAgAAABFfSW5pdGlhdGVkX0hlaWdodAUAAAAGaGVpZ2h0CQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACCQABLAAAAAIJAAGkAAAAAQUAAAANY3VycmVudF9yb3VuZAIAAAANX0FsbG93X1JlZnVuZAUAAAAMQWxsb3dfUmVmdW5kCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAICAAAAB21lc3NhZ2UFAAAAEHByZXNhbGVfaW5pdF9tc2cFAAAAA25pbAAAAAFpAQAAABFQbGFjZVByZXNhbGVPcmRlcgAAAAEAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAQAAAAWcmVhZF9yb3VuZF90b2tlbl9wcmljZQkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAAAxfVG9rZW5fUHJpY2UCAAAALVRva2VuIFByaWNlIG5vdCBGb3VuZCBmb3IgdGhpcyBQcmVzYWxlIFJvdW5kLgQAAAATcmVhZF9yb3VuZF9zdGFydF90cwkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAABhfUHJlc2FsZV9TdGFydF9UaW1lU3RhbXACAAAAMVN0YXJ0IFRpbWVzdGFtcCBub3QgRm91bmQgZm9yIHRoaXMgUHJlc2FsZSBSb3VuZC4EAAAAEXJlYWRfcm91bmRfZW5kX3RzCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAFl9QcmVzYWxlX0VuZF9UaW1lU3RhbXACAAAAL0VuZCBUaW1lc3RhbXAgbm90IEZvdW5kIGZvciB0aGlzIFByZXNhbGUgUm91bmQuBAAAABRyZWFkX1NvZnRfQ2FwX0Ftb3VudAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAABBfU29mdF9DYXBfQW1vdW50AgAAADFTb2Z0IENhcCBBbW91bnQgbm90IEZvdW5kIGZvciB0aGlzIFByZXNhbGUgUm91bmQuBAAAABRyZWFkX0hhcmRfQ2FwX0Ftb3VudAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAABBfSGFyZF9DYXBfQW1vdW50AgAAADFIYXJkIENhcCBBbW91bnQgbm90IEZvdW5kIGZvciB0aGlzIFByZXNhbGUgUm91bmQuBAAAABFyZWFkX0FsbG93X1JlZnVuZAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGwAAAAIFAAAABHRoaXMJAAEsAAAAAgkAAaQA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AAAAE3JlYWRfcm91bmRfc3RhcnRfdHMDCQAAZgAAAAIIBQAAAAlsYXN0QmxvY2sAAAAJdGltZXN0YW1wBQAAABFyZWFkX3JvdW5kX2VuZF90cwkAAAIAAAABBQAAAA9wcmVzYWxlX2VuZF9lcnIDAwkAAGYAAAACBQAAABZwZW5kaW5nX3NvZnRjYXBfc3RhdHVzAAAAAAAAAAAACQAAZgAAAAIFAAAAFnBlbmRpbmdfaGFyZGNhcF9zdGF0dXMAAAAAAAAAAAAHCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAARX0Z1bmRzX0NvbGxlY3Rpb24FAAAAFnRvdGFsX2Z1bmRzX2NvbGxlY3Rpb24JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAAV8FAAAACmN1cnJlbnRLZXkFAAAAGnVzZXJfdG90YWxfZnVuZHNfZGVwb3NpdGVkCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAAZX3RvdGFsX2F1dG9fd2l0aGRyYXdfdHhucwUAAAAXcmVhZF9hdXRvX3dpdGhkcmF3X3R4bnMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAAAtfdG90YWxfdHhucwUAAAAKdG90YWxfdHhucwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAF19wZW5kaW5nX3NvZnRjYXBfc3RhdHVzBQAAABZwZW5kaW5nX3NvZnRjYXBfc3RhdHVzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAAXX3BlbmRpbmdfaGFyZGNhcF9zdGF0dXMFAAAAFnBlbmRpbmdfaGFyZGNhcF9zdGF0dXMJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAD19zb2Z0Y2FwX3N0YXR1cwIAAAACTm8JAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAD19oYXJkY2FwX3N0YXR1cwIAAAACTm8JAARMAAAAAgkBAAAADEJvb2xlYW5FbnRyeQAAAAIJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAAA1fQWxsb3dfUmVmdW5kBQAAABFyZWFkX0FsbG93X1JlZnVuZAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACAgAAAAdtZXNzYWdlBQAAAAhvcmRlcm1zZwUAAAADbmlsAwMDCQAAZwAAAAIAAAAAAAAAAAAFAAAAFnBlbmRpbmdfc29mdGNhcF9zdGF0dXMJAABmAAAAAgUAAAAWcGVuZGluZ19oYXJkY2FwX3N0YXR1cwAAAAAAAAAAAAcJAAAAAAAAAgUAAAAYdG90YWxfYXV0b193aXRoZHJhd190eG5zAAAAAAAAAAABBwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAEV9GdW5kc19Db2xsZWN0aW9uBQAAABZ0b3RhbF9mdW5kc19jb2xsZWN0aW9uCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAAAFfBQAAAApjdXJyZW50S2V5BQAAABp1c2VyX3RvdGFsX2Z1bmRzX2RlcG9zaXRlZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAGV90b3RhbF9hdXRvX3dpdGhkcmF3X3R4bnMFAAAAGHRvdGFsX2F1dG9fd2l0aGRyYXdfdHhucwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAC190b3RhbF90eG5zBQAAAAp0b3RhbF90eG5zCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAAXX3BlbmRpbmdfc29mdGNhcF9zdGF0dXMFAAAAFnBlbmRpbmdfc29mdGNhcF9zdGF0dXMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAABdfcGVuZGluZ19oYXJkY2FwX3N0YXR1cwUAAAAWcGVuZGluZ19oYXJkY2FwX3N0YXR1cwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAAPX3NvZnRjYXBfc3RhdHVzAgAAAANZZXMJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAD19oYXJkY2FwX3N0YXR1cwIAAAACTm8JAARMAAAAAgkBAAAADEJvb2xlYW5FbnRyeQAAAAIJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAAA1fQWxsb3dfUmVmdW5kBwkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAABJjb250cm9sbGVyX2FkZHJlc3MFAAAAFnRvdGFsX2Z1bmRzX2NvbGxlY3Rpb24FAAAABHVuaXQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgIAAAAHbWVzc2FnZQUAAAAIb3JkZXJtc2cFAAAAA25pbAMDAwkAAGcAAAACAAAAAAAAAAAABQAAABZwZW5kaW5nX3NvZnRjYXBfc3RhdHVzCQAAZgAAAAIFAAAAFnBlbmRpbmdfaGFyZGNhcF9zdGF0dXMAAAAAAAAAAAAHCQAAZgAAAAIFAAAAGHRvdGFsX2F1dG9fd2l0aGRyYXdfdHhucwAAAAAAAAAAAQcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAABFfRnVuZHNfQ29sbGVjdGlvbgUAAAAWdG90YWxfZnVuZHNfY29sbGVjdGlvbgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAABXwUAAAAKY3VycmVudEtleQUAAAAadXNlcl90b3RhbF9mdW5kc19kZXBvc2l0ZWQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAABlfdG90YWxfYXV0b193aXRoZHJhd190eG5zBQAAABh0b3RhbF9hdXRvX3dpdGhkcmF3X3R4bnMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAAAtfdG90YWxfdHhucwUAAAAKdG90YWxfdHhucwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAF19wZW5kaW5nX3NvZnRjYXBfc3RhdHVzBQAAABZwZW5kaW5nX3NvZnRjYXBfc3RhdHVzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAAXX3BlbmRpbmdfaGFyZGNhcF9zdGF0dXMFAAAAFnBlbmRpbmdfaGFyZGNhcF9zdGF0dXMJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAD19zb2Z0Y2FwX3N0YXR1cwIAAAADWWVzCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAAA9faGFyZGNhcF9zdGF0dXMCAAAAAk5vCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAANX0FsbG93X1JlZnVuZAcJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAASY29udHJvbGxlcl9hZGRyZXNzCAUAAAADcG10AAAABmFtb3VudAUAAAAEdW5pdAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACAgAAAAdtZXNzYWdlBQAAAAhvcmRlcm1zZwUAAAADbmlsAwMDCQAAZwAAAAIAAAAAAAAAAAAFAAAAFnBlbmRpbmdfc29mdGNhcF9zdGF0dXMJAABnAAAAAgAAAAAAAAAAAAUAAAAWcGVuZGluZ19oYXJkY2FwX3N0YXR1cwcJAAAAAAAAAgUAAAAYdG90YWxfYXV0b193aXRoZHJhd190eG5zAAAAAAAAAAABBwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAEV9GdW5kc19Db2xsZWN0aW9uBQAAABZ0b3RhbF9mdW5kc19jb2xsZWN0aW9uCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAAAFfBQAAAApjdXJyZW50S2V5BQAAABp1c2VyX3RvdGFsX2Z1bmRzX2RlcG9zaXRlZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAGV90b3RhbF9hdXRvX3dpdGhkcmF3X3R4bnMFAAAAGHRvdGFsX2F1dG9fd2l0aGRyYXdfdHhucwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAC190b3RhbF90eG5zBQAAAAp0b3RhbF90eG5zCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAAXX3BlbmRpbmdfc29mdGNhcF9zdGF0dXMFAAAAFnBlbmRpbmdfc29mdGNhcF9zdGF0dXMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAABdfcGVuZGluZ19oYXJkY2FwX3N0YXR1cwUAAAAWcGVuZGluZ19oYXJkY2FwX3N0YXR1cwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAAPX3NvZnRjYXBfc3RhdHVzAgAAAANZZXMJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAD19oYXJkY2FwX3N0YXR1cwIAAAADWWVzCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAANX0FsbG93X1JlZnVuZAcJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAASY29udHJvbGxlcl9hZGRyZXNzBQAAABZ0b3RhbF9mdW5kc19jb2xsZWN0aW9uBQAAAAR1bml0CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAICAAAAB21lc3NhZ2UFAAAACG9yZGVybXNnBQAAAANuaWwDAwMJAABnAAAAAgAAAAAAAAAAAAUAAAAWcGVuZGluZ19zb2Z0Y2FwX3N0YXR1cwkAAGcAAAACAAAAAAAAAAAABQAAABZwZW5kaW5nX2hhcmRjYXBfc3RhdHVzBwkAAGYAAAACBQAAABh0b3RhbF9hdXRvX3dpdGhkcmF3X3R4bnMAAAAAAAAAAAEHCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAARX0Z1bmRzX0NvbGxlY3Rpb24FAAAAFnRvdGFsX2Z1bmRzX2NvbGxlY3Rpb24JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAAV8FAAAACmN1cnJlbnRLZXkFAAAAGnVzZXJfdG90YWxfZnVuZHNfZGVwb3NpdGVkCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAAZX3RvdGFsX2F1dG9fd2l0aGRyYXdfdHhucwUAAAAYdG90YWxfYXV0b193aXRoZHJhd190eG5zCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAALX3RvdGFsX3R4bnMFAAAACnRvdGFsX3R4bnMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAABdfcGVuZGluZ19zb2Z0Y2FwX3N0YXR1cwUAAAAWcGVuZGluZ19zb2Z0Y2FwX3N0YXR1cwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAF19wZW5kaW5nX2hhcmRjYXBfc3RhdHVzBQAAABZwZW5kaW5nX2hhcmRjYXBfc3RhdHVzCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAAA9fc29mdGNhcF9zdGF0dXMCAAAAA1llcwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAAPX2hhcmRjYXBfc3RhdHVzAgAAAANZZXMJAARMAAAAAgkBAAAADEJvb2xlYW5FbnRyeQAAAAIJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAAA1fQWxsb3dfUmVmdW5kBwkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAABJjb250cm9sbGVyX2FkZHJlc3MIBQAAAANwbXQAAAAGYW1vdW50BQAAAAR1bml0CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAICAAAAB21lc3NhZ2UFAAAACG9yZGVybXNnBQAAAANuaWwJAAACAAAAAQIAAAAGRXJyb3IuAAAAAWkBAAAABlJlZnVuZAAAAAEAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAQAAAAFV0FWRVMFAAAABHVuaXQEAAAACmN1cnJlbnRLZXkJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAVcmVhZF9Jbml0aWF0ZWRfSGVpZ2h0CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAEV9Jbml0aWF0ZWRfSGVpZ2h0AgAAADJJbml0aWF0ZWQgSGVpZ2h0IG5vdCBGb3VuZCBmb3IgdGhpcyBQcmVzYWxlIFJvdW5kLgQAAAAWcmVhZF9yb3VuZF90b2tlbl9wcmljZQkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAAAxfVG9rZW5fUHJpY2UCAAAALVRva2VuIFByaWNlIG5vdCBGb3VuZCBmb3IgdGhpcyBQcmVzYWxlIFJvdW5kLgQAAAATcmVhZF9yb3VuZF9zdGFydF90cwkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAABhfUHJlc2FsZV9TdGFydF9UaW1lU3RhbXACAAAAMVN0YXJ0IFRpbWVzdGFtcCBub3QgRm91bmQgZm9yIHRoaXMgUHJlc2FsZSBSb3VuZC4EAAAAEXJlYWRfcm91bmRfZW5kX3RzCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAFl9QcmVzYWxlX0VuZF9UaW1lU3RhbXACAAAAL0VuZCBUaW1lc3RhbXAgbm90IEZvdW5kIGZvciB0aGlzIFByZXNhbGUgUm91bmQuBAAAABRyZWFkX1NvZnRfQ2FwX0Ftb3VudAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAABBfU29mdF9DYXBfQW1vdW50AgAAADFTb2Z0IENhcCBBbW91bnQgbm90IEZvdW5kIGZvciB0aGlzIFByZXNhbGUgUm91bmQuBAAAABRyZWFkX0hhcmRfQ2FwX0Ftb3VudAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAABBfSGFyZF9DYXBfQW1vdW50AgAAADFIYXJkIENhcCBBbW91bnQgbm90IEZvdW5kIGZvciB0aGlzIFByZXNhbGUgUm91bmQuBAAAABtyZWFkX3RvdGFsX2Z1bmRzX2NvbGxlY3Rpb24JAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAARX0Z1bmRzX0NvbGxlY3Rpb24CAAAAOFRvdGFsIEZ1bmRzIENvbGxlY3Rpb24gbm90IEZvdW5kIGZvciB0aGlzIFByZXNhbGUgUm91bmQuBAAAAB9yZWFkX3VzZXJfdG90YWxfZnVuZHNfZGVwb3NpdGVkCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAABXwUAAAAKY3VycmVudEtleQIAAAA7Tm8gRGVwb3NpdCB3YXMgbWFkZSBieSB0aGlzIEFkZHJlc3MgZm9yIHRoaXMgUHJlc2FsZSBSb3VuZC4EAAAAEXJlYWRfQWxsb3dfUmVmdW5kCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQbAAAAAgUAAAAEdGhpcwkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAADV9BbGxvd19SZWZ1bmQCAAAAOEFsbG93X1JlZnVuZCBoYXMgbm8gQm9vbGVuIEVudHJ5IGZvciB0aGlzIFByZXNhbGUgUm91bmQuBAAAABZwZW5kaW5nX3NvZnRjYXBfc3RhdHVzCQAAZQAAAAIFAAAAFHJlYWRfU29mdF9DYXBfQW1vdW50BQAAABtyZWFkX3RvdGFsX2Z1bmRzX2NvbGxlY3Rpb24EAAAAFnBlbmRpbmdfaGFyZGNhcF9zdGF0dXMJAABlAAAAAgUAAAAUcmVhZF9IYXJkX0NhcF9BbW91bnQFAAAAG3JlYWRfdG90YWxfZnVuZHNfY29sbGVjdGlvbgQAAAAMbWlsbGlzZWNvbmRzAAAAAAAAAAPoBAAAAAZtaW51dGUJAABoAAAAAgAAAAAAAAAAPAUAAAAMbWlsbGlzZWNvbmRzBAAAABVyb3VuZF90aW1lX2RpZmZlcmVuY2UJAABlAAAAAgUAAAARcmVhZF9yb3VuZF9lbmRfdHMFAAAAE3JlYWRfcm91bmRfc3RhcnRfdHMEAAAAFmFkZGl0aW9uYWxfc2FmZV9ibG9ja3MAAAAAAAAAAAoEAAAAEmJsb2Nrc3RpbWV0b21hdHVyZQkAAGQAAAACCQAAZAAAAAIFAAAAFXJlYWRfSW5pdGlhdGVkX0hlaWdodAkAAGsAAAADBQAAABVyb3VuZF90aW1lX2RpZmZlcmVuY2UAAAAAAAAAAAEFAAAABm1pbnV0ZQUAAAAWYWRkaXRpb25hbF9zYWZlX2Jsb2NrcwQAAAAPcGVuZGluZ19yZWZ1bmRzCQAAZQAAAAIFAAAAG3JlYWRfdG90YWxfZnVuZHNfY29sbGVjdGlvbgUAAAAfcmVhZF91c2VyX3RvdGFsX2Z1bmRzX2RlcG9zaXRlZAMJAABmAAAAAgUAAAASYmxvY2tzdGltZXRvbWF0dXJlCAUAAAAJbGFzdEJsb2NrAAAABmhlaWdodAkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAABNwcmVzYWxlX25vdF9lbmRfZXJyAgAAABQgUGxlYXNlIFdhaXQgVW50aWwgfgkAAaQAAAABBQAAABJibG9ja3N0aW1ldG9tYXR1cmUCAAAAEyBIZWlnaHQgaXMgcmVhY2hlZC4DCQAAAAAAAAIFAAAAEXJlYWRfQWxsb3dfUmVmdW5kBwkAAAIAAAABBQAAAApyZWZ1bmRfZXJyAwkAAAAAAAACBQAAAB9yZWFkX3VzZXJfdG90YWxfZnVuZHNfZGVwb3NpdGVkAAAAAAAAAAAACQAAAgAAAAECAAAAMFJlZnVuZCBoYXMgYmVlbiBBbHJlYWR5IENsYWltZWQgYnkgdGhpcyBBZGRyZXNzLgMDCQAAZgAAAAIFAAAAFnBlbmRpbmdfc29mdGNhcF9zdGF0dXMAAAAAAAAAAAAJAABmAAAAAgUAAAAWcGVuZGluZ19oYXJkY2FwX3N0YXR1cwAAAAAAAAAAAAcJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQUAAAAKY3VycmVudEtleQUAAAAfcmVhZF91c2VyX3RvdGFsX2Z1bmRzX2RlcG9zaXRlZAUAAAAFV0FWRVMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAAV8CAAAADlBlbmRpbmdfUmVmdW5kBQAAAA9wZW5kaW5nX3JlZnVuZHMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAAV8FAAAACmN1cnJlbnRLZXkAAAAAAAAAAAAJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgIAAAAHbWVzc2FnZQUAAAAPcmVmdW5kX2luaXRfbXNnBQAAAANuaWwDAwkAAGcAAAACAAAAAAAAAAAABQAAABZwZW5kaW5nX3NvZnRjYXBfc3RhdHVzCQAAZgAAAAIFAAAAFnBlbmRpbmdfaGFyZGNhcF9zdGF0dXMAAAAAAAAAAAAHCQAAAgAAAAECAAAAZ1NvZnRDYXAgQWxyZWFkeSBSZWFjaGVkIGZvciB0aGlzIFJvdW5kLiBQbGVhc2UgQ2xpY2sgb24gJ0NsYWltIFRva2VucycgRnVuY3Rpb24gdG8gUmVjZWl2ZSBZb3VyIFRva2Vucy4DAwkAAGcAAAACAAAAAAAAAAAABQAAABZwZW5kaW5nX3NvZnRjYXBfc3RhdHVzCQAAZwAAAAIAAAAAAAAAAAAFAAAAFnBlbmRpbmdfaGFyZGNhcF9zdGF0dXMHCQAAAgAAAAECAAAAXlNvZnRDYXAgYW5kIEhhcmQgQWxyZWFkeSBSZWFjaGVkIGZvciB0aGlzIFJvdW5kLiBQbGVhc2UgQ2xpY2sgb24gQ2xhaW0gdG8gUmVjZWl2ZSBZb3VyIFRva2Vucy4JAAACAAAAAQIAAAASV3JvbmcgRW50cnkgRm91bmQuAAAAAWkBAAAADENsYWltX1Rva2VucwAAAAEAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAQAAAAKY3VycmVudEtleQkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAAVzY2FsZQAAAAAABfXhAAQAAAAUcmVhZF9zb2Z0X2NhcF9zdGF0dXMJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABB0AAAACBQAAAAR0aGlzCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAAPX3NvZnRjYXBfc3RhdHVzAgAAADBTb2Z0Q2FwIFN0YXR1cyBub3QgRm91bmQgZm9yIHRoaXMgUHJlc2FsZSBSb3VuZC4EAAAAFHJlYWRfaGFyZF9jYXBfc3RhdHVzCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQdAAAAAgUAAAAEdGhpcwkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAD19oYXJkY2FwX3N0YXR1cwIAAAAwSGFyZENhcCBTdGF0dXMgbm90IEZvdW5kIGZvciB0aGlzIFByZXNhbGUgUm91bmQuBAAAABZyZWFkX3JvdW5kX3Rva2VuX3ByaWNlCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAADF9Ub2tlbl9QcmljZQIAAAAtVG9rZW4gUHJpY2Ugbm90IEZvdW5kIGZvciB0aGlzIFByZXNhbGUgUm91bmQuBAAAAB9yZWFkX3VzZXJfdG90YWxfZnVuZHNfZGVwb3NpdGVkCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAABXwUAAAAKY3VycmVudEtleQIAAAA7Tm8gRGVwb3NpdCB3YXMgbWFkZSBieSB0aGlzIEFkZHJlc3MgZm9yIHRoaXMgUHJlc2FsZSBSb3VuZC4EAAAAFmNhbGN1bGF0ZV90b3RhbF90b2tlbnMJAABrAAAAAwUAAAAfcmVhZF91c2VyX3RvdGFsX2Z1bmRzX2RlcG9zaXRlZAUAAAAFc2NhbGUFAAAAFnJlYWRfcm91bmRfdG9rZW5fcHJpY2UEAAAAGHVzZXJfdG9rZW5zX2NsYWltX2Ftb3VudAkAAGsAAAADBQAAAB9yZWFkX3VzZXJfdG90YWxfZnVuZHNfZGVwb3NpdGVkBQAAAAVzY2FsZQUAAAAWcmVhZF9yb3VuZF90b2tlbl9wcmljZQQAAAAZcmVhZF90b3RhbF90b2tlbnNfY2xhaW1lZAQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAAPX1Rva2Vuc19DbGFpbWVkAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAFHRvdGFsX3Rva2Vuc19jbGFpbWVkCQAAZAAAAAIFAAAAGXJlYWRfdG90YWxfdG9rZW5zX2NsYWltZWQFAAAAGHVzZXJfdG9rZW5zX2NsYWltX2Ftb3VudAQAAAAWcGVuZGluZ190b2tlbnNfY2xhaW1lZAkAAGUAAAACBQAAABZjYWxjdWxhdGVfdG90YWxfdG9rZW5zBQAAABh1c2VyX3Rva2Vuc19jbGFpbV9hbW91bnQDCQAAAAAAAAIFAAAAFHJlYWRfc29mdF9jYXBfc3RhdHVzAgAAAAJObwkAAAIAAAABAgAAAEZObyBUb2tlbnMgQ0xhaW0sYXMgU29mdENhcCBBbW91bnQgZGlkbid0IHJlYWNoIG51bWJlcnMgZm9yIHRoaXMgUm91bmQuAwMJAAAAAAAAAgUAAAAUcmVhZF9zb2Z0X2NhcF9zdGF0dXMCAAAAA1llcwYJAAAAAAAAAgUAAAAUcmVhZF9oYXJkX2NhcF9zdGF0dXMCAAAAA1llcwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAD19Ub2tlbnNfQ2xhaW1lZAUAAAAUdG90YWxfdG9rZW5zX2NsYWltZWQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAABdfUGVuZGluZ19Ub2tlbnNfQ2xhaW1lZAUAAAAWcGVuZGluZ190b2tlbnNfY2xhaW1lZAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABBQAAAApjdXJyZW50S2V5BQAAABh1c2VyX3Rva2Vuc19jbGFpbV9hbW91bnQFAAAAC0JNTF9Ub2tlbklEBQAAAANuaWwJAAACAAAAAQIAAAASV3JvbmcgRW50cnkgRm91bmQuAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXm37KrV", "height": 2710253, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 9HPJLbSu5MFyiZH7h1Ypu9Xo1vbHMhk11UKKvkzXZWVz Next: J2Wp4UMQzSmPTuoCbDDJNXpNWNdFRVJxcy67cG8GUkqx Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let a = base58'GKmJ6BchUgQfwKp4mp5eX8Y9xLioYRm6e1gDfFgdAcCr'
4+let a = base58''
55
6-let b = addressFromPublicKey(a)
6+let b = base58'GKmJ6BchUgQfwKp4mp5eX8Y9xLioYRm6e1gDfFgdAcCr'
77
8-let c = "Start Timestamp can't be less than last block Timestamp."
8+let c = addressFromPublicKey(b)
99
10-let d = "End Timestamp can't be less than or equal to Start Timestamp"
10+let d = "Start Timestamp can't be less than last block Timestamp."
1111
12-let e = "Token Price can't be less than or Zero"
12+let e = "End Timestamp can't be less than or equal to Start Timestamp"
1313
14-let f = "Soft Cap Amount can't be more than Hard Cap Amount."
14+let f = "Token Price can't be less than or Zero"
1515
16-let g = "<h1>Presale Order Submitted Successfully!</h1><br>"
16+let g = "Soft Cap Amount can't be more than Hard Cap Amount."
1717
18-let h = "<h1>PreSale Parameters Submitted Successfully!</h1><br>"
18+let h = "<h1>Presale Order Submitted Successfully!</h1><br>"
1919
20-let i = "DApp Need WAVES Token as Attach payment[1]."
20+let i = "<h1>PreSale Parameters Submitted Successfully!</h1><br>"
2121
22-let j = "Attached payment[1] is less than token price "
22+let j = "DApp Need WAVES Token as Attach payment[1]."
2323
24-let k = "Dapp will start Pre-Sale at Timestamp "
24+let k = "Attached payment[1] is less than token price "
2525
26-let l = "Minimum 0.1 WAVES required on Your Address, Please hold min. 0.1 WAVES on your Address to place order."
26+let l = "Dapp will start Pre-Sale at Timestamp "
2727
28-let m = "Pre-Sale is over for this Round."
28+let m = "Minimum 0.1 WAVES required on Your Address, Please hold min. 0.1 WAVES on your Address to place order."
2929
30-let n = "Pre-Sale is not over for this Round."
30+let n = "Pre-Sale is over for this Round."
3131
32-let o = "Softcap or Hard Cap already Reached or probably PreSale was Set with False to Refund, so no Refund allowed for this Round."
32+let o = "Pre-Sale is not over for this Round."
3333
34-let p = "<h1>Refund Received Successfully!.</h1><br>"
34+let p = "Softcap or Hard Cap already Reached or probably PreSale was Set with False to Refund, so no Refund allowed for this Round."
3535
36-@Callable(q)
37-func SetPreSaleParameters (r,s,t,u,v,w) = {
38- let x = r
36+let q = "<h1>Refund Received Successfully!.</h1><br>"
37+
38+@Callable(r)
39+func SetPreSaleParameters (s,t,u,v,w,x) = {
3940 let y = s
40- let z = {
41- let A = getInteger(this, "Current_Funding_Round")
42- if ($isInstanceOf(A, "Int"))
41+ let z = t
42+ let A = {
43+ let B = getInteger(this, "Current_Funding_Round")
44+ if ($isInstanceOf(B, "Int"))
4345 then {
44- let B = A
45- B
46+ let C = B
47+ C
4648 }
4749 else 0
4850 }
49- let C = (z + 1)
50- if ((q.caller != b))
51- then throw((("This Address is not Authorized. Only " + toString(b)) + " is Authorized Address to Sign it."))
52- else if ((lastBlock.timestamp > r))
53- then throw(c)
54- else if ((size(toString(r)) != 13))
51+ let D = (A + 1)
52+ if ((r.caller != c))
53+ then throw((("This Address is not Authorized. Only " + toString(c)) + " is Authorized Address to Sign it."))
54+ else if ((lastBlock.timestamp > s))
55+ then throw(d)
56+ else if ((size(toString(s)) != 13))
5557 then throw("Start Timestamp is Wrong. Please Enter a Valid Timestamp. Probably you entered an Timestamp less than 13 Chars.")
56- else if ((size(toString(s)) != 13))
58+ else if ((size(toString(t)) != 13))
5759 then throw("End Timestamp is Wrong. Please Enter a Valid Timestamp. Probably you entered an Timestamp less than 13 Chars.")
58- else if ((1 > t))
59- then throw(e)
60- else if ((x >= y))
61- then throw(d)
62- else if ((u > v))
63- then throw(f)
64- else [IntegerEntry("Current_Funding_Round", C), IntegerEntry((toString(C) + "_Presale_Start_TimeStamp"), x), IntegerEntry((toString(C) + "_Presale_End_TimeStamp"), y), IntegerEntry((toString(C) + "_Token_Price"), t), IntegerEntry((toString(C) + "_Soft_Cap_Amount"), u), IntegerEntry((toString(C) + "_Hard_Cap_Amount"), v), IntegerEntry((toString(C) + "_Initiated_Height"), height), BooleanEntry((toString(C) + "_Allow_Refund"), w), StringEntry("message", h)]
60+ else if ((1 > u))
61+ then throw(f)
62+ else if ((y >= z))
63+ then throw(e)
64+ else if ((v > w))
65+ then throw(g)
66+ else [IntegerEntry("Current_Funding_Round", D), IntegerEntry((toString(D) + "_Presale_Start_TimeStamp"), y), IntegerEntry((toString(D) + "_Presale_End_TimeStamp"), z), IntegerEntry((toString(D) + "_Token_Price"), u), IntegerEntry((toString(D) + "_Soft_Cap_Amount"), v), IntegerEntry((toString(D) + "_Hard_Cap_Amount"), w), IntegerEntry((toString(D) + "_Initiated_Height"), height), BooleanEntry((toString(D) + "_Allow_Refund"), x), StringEntry("message", i)]
6567 }
6668
6769
6870
69-@Callable(q)
70-func PlacePresaleOrder (D) = {
71- let E = valueOrErrorMessage(getInteger(this, (toString(D) + "_Token_Price")), "Token Price not Found for this Presale Round.")
72- let F = valueOrErrorMessage(getInteger(this, (toString(D) + "_Presale_Start_TimeStamp")), "Start Timestamp not Found for this Presale Round.")
73- let G = valueOrErrorMessage(getInteger(this, (toString(D) + "_Presale_End_TimeStamp")), "End Timestamp not Found for this Presale Round.")
74- let H = valueOrErrorMessage(getInteger(this, (toString(D) + "_Soft_Cap_Amount")), "Soft Cap Amount not Found for this Presale Round.")
75- let I = valueOrErrorMessage(getInteger(this, (toString(D) + "_Hard_Cap_Amount")), "Hard Cap Amount not Found for this Presale Round.")
76- let J = valueOrErrorMessage(getBoolean(this, (toString(D) + "_Allow_Refund")), "Refund is not set for this Presale Round.")
77- let K = unit
78- let L = toBase58String(q.caller.bytes)
79- let M = if ((size(q.payments) == 1))
80- then q.payments[0]
81- else throw(i)
82- let N = {
83- let A = getInteger(this, (toString(D) + "_Funds_Collection"))
84- if ($isInstanceOf(A, "Int"))
71+@Callable(r)
72+func PlacePresaleOrder (E) = {
73+ let F = valueOrErrorMessage(getInteger(this, (toString(E) + "_Token_Price")), "Token Price not Found for this Presale Round.")
74+ let G = valueOrErrorMessage(getInteger(this, (toString(E) + "_Presale_Start_TimeStamp")), "Start Timestamp not Found for this Presale Round.")
75+ let H = valueOrErrorMessage(getInteger(this, (toString(E) + "_Presale_End_TimeStamp")), "End Timestamp not Found for this Presale Round.")
76+ let I = valueOrErrorMessage(getInteger(this, (toString(E) + "_Soft_Cap_Amount")), "Soft Cap Amount not Found for this Presale Round.")
77+ let J = valueOrErrorMessage(getInteger(this, (toString(E) + "_Hard_Cap_Amount")), "Hard Cap Amount not Found for this Presale Round.")
78+ let K = valueOrErrorMessage(getBoolean(this, (toString(E) + "_Allow_Refund")), "Refund is not set for this Presale Round.")
79+ let L = unit
80+ let M = toBase58String(r.caller.bytes)
81+ let N = if ((size(r.payments) == 1))
82+ then r.payments[0]
83+ else throw(j)
84+ let O = {
85+ let B = getInteger(this, (toString(E) + "_Funds_Collection"))
86+ if ($isInstanceOf(B, "Int"))
8587 then {
86- let B = A
87- B
88+ let C = B
89+ C
8890 }
8991 else 0
9092 }
91- let O = (N + M.amount)
92- let P = {
93- let A = getInteger(this, (toString(D) + "_total_auto_withdraw_txns"))
94- if ($isInstanceOf(A, "Int"))
93+ let P = (O + N.amount)
94+ let Q = {
95+ let B = getInteger(this, (toString(E) + "_total_auto_withdraw_txns"))
96+ if ($isInstanceOf(B, "Int"))
9597 then {
96- let B = A
97- B
98+ let C = B
99+ C
98100 }
99101 else 0
100102 }
101- let Q = (P + 1)
102- let R = {
103- let A = getInteger(this, (toString(D) + "_total_txns"))
104- if ($isInstanceOf(A, "Int"))
103+ let R = (Q + 1)
104+ let S = {
105+ let B = getInteger(this, (toString(E) + "_total_txns"))
106+ if ($isInstanceOf(B, "Int"))
105107 then {
106- let B = A
107- B
108+ let C = B
109+ C
108110 }
109111 else 0
110112 }
111- let S = (R + 1)
112- let T = {
113- let A = getInteger(this, ((toString(D) + "_") + L))
114- if ($isInstanceOf(A, "Int"))
113+ let T = (S + 1)
114+ let U = {
115+ let B = getInteger(this, ((toString(E) + "_") + M))
116+ if ($isInstanceOf(B, "Int"))
115117 then {
116- let B = A
117- B
118+ let C = B
119+ C
118120 }
119121 else 0
120122 }
121- let U = (T + M.amount)
122- let V = (H - O)
123- let W = (I - O)
124- if (isDefined(M.assetId))
125- then throw(i)
126- else if ((E > M.amount))
127- then throw((((j + "[") + toString(E)) + "/10^8.]"))
128- else if ((F > lastBlock.timestamp))
129- then throw((k + toString(F)))
130- else if ((lastBlock.timestamp > G))
131- then throw(m)
132- else if (if ((V > 0))
133- then (W > 0)
123+ let V = (U + N.amount)
124+ let W = (I - P)
125+ let X = (J - P)
126+ if (isDefined(N.assetId))
127+ then throw(j)
128+ else if ((F > N.amount))
129+ then throw((((k + "[") + toString(F)) + "/10^8.]"))
130+ else if ((G > lastBlock.timestamp))
131+ then throw((l + toString(G)))
132+ else if ((lastBlock.timestamp > H))
133+ then throw(n)
134+ else if (if ((W > 0))
135+ then (X > 0)
134136 else false)
135- then [IntegerEntry((toString(D) + "_Funds_Collection"), O), IntegerEntry(((toString(D) + "_") + L), U), IntegerEntry((toString(D) + "_total_auto_withdraw_txns"), P), IntegerEntry((toString(D) + "_total_txns"), S), IntegerEntry((toString(D) + "_pending_softcap_status"), V), IntegerEntry((toString(D) + "_pending_hardcap_status"), W), StringEntry((toString(D) + "_softcap_status"), "No"), StringEntry((toString(D) + "_hardcap_status"), "No"), BooleanEntry((toString(D) + "_Allow_Refund"), J), StringEntry("message", g)]
136- else if (if (if ((0 >= V))
137- then (W > 0)
137+ then [IntegerEntry((toString(E) + "_Funds_Collection"), P), IntegerEntry(((toString(E) + "_") + M), V), IntegerEntry((toString(E) + "_total_auto_withdraw_txns"), Q), IntegerEntry((toString(E) + "_total_txns"), T), IntegerEntry((toString(E) + "_pending_softcap_status"), W), IntegerEntry((toString(E) + "_pending_hardcap_status"), X), StringEntry((toString(E) + "_softcap_status"), "No"), StringEntry((toString(E) + "_hardcap_status"), "No"), BooleanEntry((toString(E) + "_Allow_Refund"), K), StringEntry("message", h)]
138+ else if (if (if ((0 >= W))
139+ then (X > 0)
138140 else false)
139- then (Q == 1)
141+ then (R == 1)
140142 else false)
141- then [IntegerEntry((toString(D) + "_Funds_Collection"), O), IntegerEntry(((toString(D) + "_") + L), U), IntegerEntry((toString(D) + "_total_auto_withdraw_txns"), Q), IntegerEntry((toString(D) + "_total_txns"), S), IntegerEntry((toString(D) + "_pending_softcap_status"), V), IntegerEntry((toString(D) + "_pending_hardcap_status"), W), StringEntry((toString(D) + "_softcap_status"), "Yes"), StringEntry((toString(D) + "_hardcap_status"), "No"), BooleanEntry((toString(D) + "_Allow_Refund"), false), ScriptTransfer(b, O, unit), StringEntry("message", g)]
142- else if (if (if ((0 >= V))
143- then (W > 0)
143+ then [IntegerEntry((toString(E) + "_Funds_Collection"), P), IntegerEntry(((toString(E) + "_") + M), V), IntegerEntry((toString(E) + "_total_auto_withdraw_txns"), R), IntegerEntry((toString(E) + "_total_txns"), T), IntegerEntry((toString(E) + "_pending_softcap_status"), W), IntegerEntry((toString(E) + "_pending_hardcap_status"), X), StringEntry((toString(E) + "_softcap_status"), "Yes"), StringEntry((toString(E) + "_hardcap_status"), "No"), BooleanEntry((toString(E) + "_Allow_Refund"), false), ScriptTransfer(c, P, unit), StringEntry("message", h)]
144+ else if (if (if ((0 >= W))
145+ then (X > 0)
144146 else false)
145- then (Q > 1)
147+ then (R > 1)
146148 else false)
147- then [IntegerEntry((toString(D) + "_Funds_Collection"), O), IntegerEntry(((toString(D) + "_") + L), U), IntegerEntry((toString(D) + "_total_auto_withdraw_txns"), Q), IntegerEntry((toString(D) + "_total_txns"), S), IntegerEntry((toString(D) + "_pending_softcap_status"), V), IntegerEntry((toString(D) + "_pending_hardcap_status"), W), StringEntry((toString(D) + "_softcap_status"), "Yes"), StringEntry((toString(D) + "_hardcap_status"), "No"), BooleanEntry((toString(D) + "_Allow_Refund"), false), ScriptTransfer(b, M.amount, unit), StringEntry("message", g)]
148- else if (if (if ((0 >= V))
149- then (0 >= W)
149+ then [IntegerEntry((toString(E) + "_Funds_Collection"), P), IntegerEntry(((toString(E) + "_") + M), V), IntegerEntry((toString(E) + "_total_auto_withdraw_txns"), R), IntegerEntry((toString(E) + "_total_txns"), T), IntegerEntry((toString(E) + "_pending_softcap_status"), W), IntegerEntry((toString(E) + "_pending_hardcap_status"), X), StringEntry((toString(E) + "_softcap_status"), "Yes"), StringEntry((toString(E) + "_hardcap_status"), "No"), BooleanEntry((toString(E) + "_Allow_Refund"), false), ScriptTransfer(c, N.amount, unit), StringEntry("message", h)]
150+ else if (if (if ((0 >= W))
151+ then (0 >= X)
150152 else false)
151- then (Q == 1)
153+ then (R == 1)
152154 else false)
153- then [IntegerEntry((toString(D) + "_Funds_Collection"), O), IntegerEntry(((toString(D) + "_") + L), U), IntegerEntry((toString(D) + "_total_auto_withdraw_txns"), Q), IntegerEntry((toString(D) + "_total_txns"), S), IntegerEntry((toString(D) + "_pending_softcap_status"), V), IntegerEntry((toString(D) + "_pending_hardcap_status"), W), StringEntry((toString(D) + "_softcap_status"), "Yes"), StringEntry((toString(D) + "_hardcap_status"), "Yes"), BooleanEntry((toString(D) + "_Allow_Refund"), false), ScriptTransfer(b, O, unit), StringEntry("message", g)]
154- else if (if (if ((0 >= V))
155- then (0 >= W)
155+ then [IntegerEntry((toString(E) + "_Funds_Collection"), P), IntegerEntry(((toString(E) + "_") + M), V), IntegerEntry((toString(E) + "_total_auto_withdraw_txns"), R), IntegerEntry((toString(E) + "_total_txns"), T), IntegerEntry((toString(E) + "_pending_softcap_status"), W), IntegerEntry((toString(E) + "_pending_hardcap_status"), X), StringEntry((toString(E) + "_softcap_status"), "Yes"), StringEntry((toString(E) + "_hardcap_status"), "Yes"), BooleanEntry((toString(E) + "_Allow_Refund"), false), ScriptTransfer(c, P, unit), StringEntry("message", h)]
156+ else if (if (if ((0 >= W))
157+ then (0 >= X)
156158 else false)
157- then (Q > 1)
159+ then (R > 1)
158160 else false)
159- then [IntegerEntry((toString(D) + "_Funds_Collection"), O), IntegerEntry(((toString(D) + "_") + L), U), IntegerEntry((toString(D) + "_total_auto_withdraw_txns"), Q), IntegerEntry((toString(D) + "_total_txns"), S), IntegerEntry((toString(D) + "_pending_softcap_status"), V), IntegerEntry((toString(D) + "_pending_hardcap_status"), W), StringEntry((toString(D) + "_softcap_status"), "Yes"), StringEntry((toString(D) + "_hardcap_status"), "Yes"), BooleanEntry((toString(D) + "_Allow_Refund"), false), ScriptTransfer(b, M.amount, unit), StringEntry("message", g)]
161+ then [IntegerEntry((toString(E) + "_Funds_Collection"), P), IntegerEntry(((toString(E) + "_") + M), V), IntegerEntry((toString(E) + "_total_auto_withdraw_txns"), R), IntegerEntry((toString(E) + "_total_txns"), T), IntegerEntry((toString(E) + "_pending_softcap_status"), W), IntegerEntry((toString(E) + "_pending_hardcap_status"), X), StringEntry((toString(E) + "_softcap_status"), "Yes"), StringEntry((toString(E) + "_hardcap_status"), "Yes"), BooleanEntry((toString(E) + "_Allow_Refund"), false), ScriptTransfer(c, N.amount, unit), StringEntry("message", h)]
160162 else throw("Error.")
161163 }
162164
163165
164166
165-@Callable(q)
166-func Refund (D) = {
167- let K = unit
168- let L = toBase58String(q.caller.bytes)
169- let X = valueOrErrorMessage(getInteger(this, (toString(D) + "_Initiated_Height")), "Initiated Height not Found for this Presale Round.")
170- let E = valueOrErrorMessage(getInteger(this, (toString(D) + "_Token_Price")), "Token Price not Found for this Presale Round.")
171- let F = valueOrErrorMessage(getInteger(this, (toString(D) + "_Presale_Start_TimeStamp")), "Start Timestamp not Found for this Presale Round.")
172- let G = valueOrErrorMessage(getInteger(this, (toString(D) + "_Presale_End_TimeStamp")), "End Timestamp not Found for this Presale Round.")
173- let H = valueOrErrorMessage(getInteger(this, (toString(D) + "_Soft_Cap_Amount")), "Soft Cap Amount not Found for this Presale Round.")
174- let I = valueOrErrorMessage(getInteger(this, (toString(D) + "_Hard_Cap_Amount")), "Hard Cap Amount not Found for this Presale Round.")
175- let Y = valueOrErrorMessage(getInteger(this, (toString(D) + "_Funds_Collection")), "Total Funds Collection not Found for this Presale Round.")
176- let T = valueOrErrorMessage(getInteger(this, ((toString(D) + "_") + L)), "No Deposit was made by this Address for this Presale Round.")
177- let J = valueOrErrorMessage(getBoolean(this, (toString(D) + "_Allow_Refund")), "Allow_Refund has no Boolen Entry for this Presale Round.")
178- let V = (H - Y)
179- let W = (I - Y)
180- let Z = 1000
181- let aa = (60 * Z)
182- let ab = (G - F)
183- let ac = 10
184- let ad = ((X + fraction(ab, 1, aa)) + ac)
185- let ae = (Y - T)
186- if ((ad > lastBlock.height))
187- then throw((((n + " Please Wait Until ~") + toString(ad)) + " Height is reached."))
188- else if ((J == false))
189- then throw(o)
190- else if ((T == 0))
167+@Callable(r)
168+func Refund (E) = {
169+ let L = unit
170+ let M = toBase58String(r.caller.bytes)
171+ let Y = valueOrErrorMessage(getInteger(this, (toString(E) + "_Initiated_Height")), "Initiated Height not Found for this Presale Round.")
172+ let F = valueOrErrorMessage(getInteger(this, (toString(E) + "_Token_Price")), "Token Price not Found for this Presale Round.")
173+ let G = valueOrErrorMessage(getInteger(this, (toString(E) + "_Presale_Start_TimeStamp")), "Start Timestamp not Found for this Presale Round.")
174+ let H = valueOrErrorMessage(getInteger(this, (toString(E) + "_Presale_End_TimeStamp")), "End Timestamp not Found for this Presale Round.")
175+ let I = valueOrErrorMessage(getInteger(this, (toString(E) + "_Soft_Cap_Amount")), "Soft Cap Amount not Found for this Presale Round.")
176+ let J = valueOrErrorMessage(getInteger(this, (toString(E) + "_Hard_Cap_Amount")), "Hard Cap Amount not Found for this Presale Round.")
177+ let Z = valueOrErrorMessage(getInteger(this, (toString(E) + "_Funds_Collection")), "Total Funds Collection not Found for this Presale Round.")
178+ let U = valueOrErrorMessage(getInteger(this, ((toString(E) + "_") + M)), "No Deposit was made by this Address for this Presale Round.")
179+ let K = valueOrErrorMessage(getBoolean(this, (toString(E) + "_Allow_Refund")), "Allow_Refund has no Boolen Entry for this Presale Round.")
180+ let W = (I - Z)
181+ let X = (J - Z)
182+ let aa = 1000
183+ let ab = (60 * aa)
184+ let ac = (H - G)
185+ let ad = 10
186+ let ae = ((Y + fraction(ac, 1, ab)) + ad)
187+ let af = (Z - U)
188+ if ((ae > lastBlock.height))
189+ then throw((((o + " Please Wait Until ~") + toString(ae)) + " Height is reached."))
190+ else if ((K == false))
191+ then throw(p)
192+ else if ((U == 0))
191193 then throw("Refund has been Already Claimed by this Address.")
192- else if (if ((V > 0))
193- then (W > 0)
194+ else if (if ((W > 0))
195+ then (X > 0)
194196 else false)
195- then [ScriptTransfer(addressFromStringValue(L), T, K), IntegerEntry(((toString(D) + "_") + "Pending_Refund"), ae), IntegerEntry(((toString(D) + "_") + L), 0), StringEntry("message", p)]
196- else if (if ((0 >= V))
197- then (W > 0)
197+ then [ScriptTransfer(addressFromStringValue(M), U, L), IntegerEntry(((toString(E) + "_") + "Pending_Refund"), af), IntegerEntry(((toString(E) + "_") + M), 0), StringEntry("message", q)]
198+ else if (if ((0 >= W))
199+ then (X > 0)
198200 else false)
199- then throw("SoftCap Already Reached for this Round. Please Click on Claim to Receive Your Tokens.")
200- else if (if ((0 >= V))
201- then (0 >= W)
201+ then throw("SoftCap Already Reached for this Round. Please Click on 'Claim Tokens' Function to Receive Your Tokens.")
202+ else if (if ((0 >= W))
203+ then (0 >= X)
202204 else false)
203205 then throw("SoftCap and Hard Already Reached for this Round. Please Click on Claim to Receive Your Tokens.")
204206 else throw("Wrong Entry Found.")
205207 }
206208
207209
208-@Verifier(af)
209-func ag () = sigVerify(af.bodyBytes, af.proofs[0], af.senderPublicKey)
210+
211+@Callable(r)
212+func Claim_Tokens (E) = {
213+ let M = toBase58String(r.caller.bytes)
214+ let ag = 100000000
215+ let ah = valueOrErrorMessage(getString(this, (toString(E) + "_softcap_status")), "SoftCap Status not Found for this Presale Round.")
216+ let ai = valueOrErrorMessage(getString(this, (toString(E) + "_hardcap_status")), "HardCap Status not Found for this Presale Round.")
217+ let F = valueOrErrorMessage(getInteger(this, (toString(E) + "_Token_Price")), "Token Price not Found for this Presale Round.")
218+ let U = valueOrErrorMessage(getInteger(this, ((toString(E) + "_") + M)), "No Deposit was made by this Address for this Presale Round.")
219+ let aj = fraction(U, ag, F)
220+ let ak = fraction(U, ag, F)
221+ let al = {
222+ let B = getInteger(this, (toString(E) + "_Tokens_Claimed"))
223+ if ($isInstanceOf(B, "Int"))
224+ then {
225+ let C = B
226+ C
227+ }
228+ else 0
229+ }
230+ let am = (al + ak)
231+ let an = (aj - ak)
232+ if ((ah == "No"))
233+ then throw("No Tokens CLaim,as SoftCap Amount didn't reach numbers for this Round.")
234+ else if (if ((ah == "Yes"))
235+ then true
236+ else (ai == "Yes"))
237+ then [IntegerEntry((toString(E) + "_Tokens_Claimed"), am), IntegerEntry((toString(E) + "_Pending_Tokens_Claimed"), an), ScriptTransfer(addressFromStringValue(M), ak, a)]
238+ else throw("Wrong Entry Found.")
239+ }
240+
241+
242+@Verifier(ao)
243+func ap () = sigVerify(ao.bodyBytes, ao.proofs[0], ao.senderPublicKey)
210244

github/deemru/w8io/169f3d6 
188.45 ms