tx · CM9uPGA7kmwVyNPD5jGv3Z9AKhWjaHJ5E8CArURnoURL

3Mp5kisFrqESzrXxAMEPk2k69zpeF41czEE:  -0.02700000 Waves

2022.09.26 12:27 [2245922] smart account 3Mp5kisFrqESzrXxAMEPk2k69zpeF41czEE > SELF 0.00000000 Waves

{ "type": 13, "id": "CM9uPGA7kmwVyNPD5jGv3Z9AKhWjaHJ5E8CArURnoURL", "fee": 2700000, "feeAssetId": null, "timestamp": 1664184508163, "version": 1, "sender": "3Mp5kisFrqESzrXxAMEPk2k69zpeF41czEE", "senderPublicKey": "G349Uq3FTox7dRNLeAfAQeoACvwZ9iEnVSaHcEYn6j8J", "proofs": [ "4mmnuyPx847gVCnZKNj6umSUJQjhU9wBf6hJCE5NLSRihWF2MUyjs4YNMFRRUr9U3H4eJqYSh2wpnSzRo6kYT6y9" ], "script": "base64:BgJmCAISBAoCCAESABIDCgEBEgASABIAEgMKAQgSAwoBCBIDCgEIEgUKAwEBARIFCgMBAQESABIDCgEIEgcKBQgICAgIEgMKAQgSCgoICAgICAgICAgSCgoICAgICAgICAgSAwoBCBIATwADU0VQAgJfXwAFU0NBTEUA6AcABU1VTFQ4AIDC1y8ACnplcm9CaWdJbnQJALYCAQAAABRwcm9jZXNzaW5nU3RhZ2VUb3RhbAAAABVwcm9jZXNzaW5nU3RhZ2VTaGFyZXMAAQEOZ2V0TnVtYmVyQnlLZXkBA2tleQkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzBQNrZXkAAAEPZ2V0TnVtYmVyT3JGYWlsAQNrZXkJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAmggCBQR0aGlzBQNrZXkJAKwCAgkArAICAg9tYW5kYXRvcnkgdGhpcy4FA2tleQIPIGlzIG5vdCBkZWZpbmVkAQ5nZXRTdHJpbmdCeUtleQEDa2V5CQELdmFsdWVPckVsc2UCCQCdCAIFBHRoaXMFA2tleQIAAQ9nZXRTdHJpbmdPckZhaWwBA2tleQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIFBHRoaXMFA2tleQkArAICCQCsAgICD21hbmRhdG9yeSB0aGlzLgUDa2V5Ag8gaXMgbm90IGRlZmluZWQBA2FicwEDdmFsAwkAZgIAAAUDdmFsCQEBLQEFA3ZhbAUDdmFsAQlhYnNCaWdJbnQBA3ZhbAMJAL8CAgUKemVyb0JpZ0ludAUDdmFsCQC+AgEFA3ZhbAUDdmFsAAtrZXlNYXhEZXB0aAIMJXNfX21heERlcHRoAA9tYXhEZXB0aERlZmF1bHQAHgAIbWF4RGVwdGgJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwULa2V5TWF4RGVwdGgFD21heERlcHRoRGVmYXVsdAERa2V5RmFjdG9yeUFkZHJlc3MAAhwlcyVzX19jb25maWdfX2ZhY3RvcnlBZGRyZXNzABFmYWN0b3J5QWRkcmVzc1N0cgkBD2dldFN0cmluZ09yRmFpbAEJARFrZXlGYWN0b3J5QWRkcmVzcwAAD2ZhY3RvcnlDb250cmFjdAkBEUBleHRyTmF0aXZlKDEwNjIpAQURZmFjdG9yeUFkZHJlc3NTdHIBEmtleUVtaXNzaW9uQWRkcmVzcwACHSVzJXNfX2NvbmZpZ19fZW1pc3Npb25BZGRyZXNzARNrZXlOdW1Ub1VzZXJNYXBwaW5nAQNudW0JALkJAgkAzAgCAgYlcyVzJXMJAMwIAgIHbWFwcGluZwkAzAgCAghudW0ydXNlcgkAzAgCCQCkAwEFA251bQUDbmlsBQNTRVAAFmtleVJlZmVycmFsUHJvZ3JhbU5hbWUJALkJAgkAzAgCAgQlcyVzCQDMCAICCHJlZmVycmFsCQDMCAICC3Byb2dyYW1OYW1lBQNuaWwFA1NFUAAacmVmZXJyYWxQcm9ncmFtTmFtZURlZmF1bHQCBnd4bG9jawATcmVmZXJyYWxQcm9ncmFtTmFtZQkBC3ZhbHVlT3JFbHNlAgkAnQgCBQR0aGlzBRZrZXlSZWZlcnJhbFByb2dyYW1OYW1lBRpyZWZlcnJhbFByb2dyYW1OYW1lRGVmYXVsdAAXa2V5UmVmZXJyYWxNaW5HV3hBbW91bnQJALkJAgkAzAgCAgQlcyVzCQDMCAICCHJlZmVycmFsCQDMCAICDG1pbkdXeEFtb3VudAUDbmlsBQNTRVAAG3JlZmVycmFsTWluR1d4QW1vdW50RGVmYXVsdAkAaAIA9AMFBU1VTFQ4ABRyZWZlcnJhbE1pbkdXeEFtb3VudAkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzBRdrZXlSZWZlcnJhbE1pbkdXeEFtb3VudAUbcmVmZXJyYWxNaW5HV3hBbW91bnREZWZhdWx0ABlrZXlSZWZlcnJlclJld2FyZFBlcm1pbGxlCQC5CQIJAMwIAgIEJXMlcwkAzAgCAghyZWZlcnJhbAkAzAgCAhZyZWZlcnJlclJld2FyZFBlcm1pbGxlBQNuaWwFA1NFUAAdcmVmZXJyZXJSZXdhcmRQZXJtaWxsZURlZmF1bHQAMgAWcmVmZXJyZXJSZXdhcmRQZXJtaWxsZQkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzBRlrZXlSZWZlcnJlclJld2FyZFBlcm1pbGxlBR1yZWZlcnJlclJld2FyZFBlcm1pbGxlRGVmYXVsdAAZa2V5UmVmZXJyYWxSZXdhcmRQZXJtaWxsZQkAuQkCCQDMCAICBCVzJXMJAMwIAgIIcmVmZXJyYWwJAMwIAgIWcmVmZXJyYWxSZXdhcmRQZXJtaWxsZQUDbmlsBQNTRVAAHXJlZmVycmFsUmV3YXJkUGVybWlsbGVEZWZhdWx0ADIAFnJlZmVycmFsUmV3YXJkUGVybWlsbGUJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwUZa2V5UmVmZXJyYWxSZXdhcmRQZXJtaWxsZQUdcmVmZXJyYWxSZXdhcmRQZXJtaWxsZURlZmF1bHQBC2tleVJlZmVycmVyAQ9yZWZlcnJhbEFkZHJlc3MJALkJAgkAzAgCAgYlcyVzJXMJAMwIAgIIcmVmZXJyZXIJAMwIAgUTcmVmZXJyYWxQcm9ncmFtTmFtZQkAzAgCBQ9yZWZlcnJhbEFkZHJlc3MFA25pbAUDU0VQARRrZXlVbmNsYWltZWRSZWZlcnJhbAILcHJvZ3JhbU5hbWUOY2xhaW1lckFkZHJlc3MJALkJAgkAzAgCAgglcyVzJXMlcwkAzAgCAhF1bmNsYWltZWRSZWZlcnJhbAkAzAgCBQtwcm9ncmFtTmFtZQkAzAgCBQ5jbGFpbWVyQWRkcmVzcwUDbmlsBQNTRVAAEmVtaXNzaW9uQWRkcmVzc1N0cgkBD2dldFN0cmluZ09yRmFpbAEJARJrZXlFbWlzc2lvbkFkZHJlc3MAABBlbWlzc2lvbkNvbnRyYWN0CQERQGV4dHJOYXRpdmUoMTA2MikBBRJlbWlzc2lvbkFkZHJlc3NTdHIADUlkeENmZ0Fzc2V0SWQAAQAWSWR4Q2ZnUGFjZW1ha2VyQWRkcmVzcwACABZJZHhDZmdCb29zdGluZ0NvbnRyYWN0AAMADklkeENmZ01heERlcHRoAAQBCWtleUNvbmZpZwACCiVzX19jb25maWcBFXJlYWRDb25maWdBcnJheU9yRmFpbAAJALUJAgkBD2dldFN0cmluZ09yRmFpbAEJAQlrZXlDb25maWcABQNTRVABDGZvcm1hdENvbmZpZwQMd3hBc3NldElkU3RyGm1hdGNoZXJQYWNlbWFrZXJBZGRyZXNzU3RyGmJvb3N0aW5nQ29udHJhY3RBZGRyZXNzU3RyCG1heERlcHRoCQC5CQIJAMwIAgIIJXMlcyVzJWQJAMwIAgUMd3hBc3NldElkU3RyCQDMCAIFGm1hdGNoZXJQYWNlbWFrZXJBZGRyZXNzU3RyCQDMCAIFGmJvb3N0aW5nQ29udHJhY3RBZGRyZXNzU3RyCQDMCAIJAKQDAQUIbWF4RGVwdGgFA25pbAUDU0VQARZib29zdGluZ0NvbnRyYWN0T3JGYWlsAAQIY2ZnQXJyYXkJARVyZWFkQ29uZmlnQXJyYXlPckZhaWwACQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKYIAQkAkQMCBQhjZmdBcnJheQUWSWR4Q2ZnQm9vc3RpbmdDb250cmFjdAIoYm9vc3RpbmcgY29udHJhY3QgYWRkcmVzcyBpcyBub3QgZGVmaW5lZAEfa2V5R3d4UmV3YXJkRW1pc3Npb25TdGFydEhlaWdodAACKCVzJXNfX2d3eFJld2FyZEVtaXNzaW9uUGFydF9fc3RhcnRIZWlnaHQBDWtleVVzZXJzQ291bnQAAg8lc19fbmV4dFVzZXJOdW0BFmtleVJhdGVQZXJCbG9ja0N1cnJlbnQAAhslcyVzX19yYXRlUGVyQmxvY2tfX2N1cnJlbnQBFGtleVBvb2xXZWlnaHRWaXJ0dWFsAAIgJXMlc19fcG9vbFdlaWdodF9fR1dYdmlydHVhbFBPT0wBFGtleU5leHRQcm9jZXNzZWRVc2VyAAIVJXNfX25leHRQcm9jZXNzZWRVc2VyAQ9rZXlMYXRlc3RQZXJpb2QAAhAlc19fbGF0ZXN0UGVyaW9kAQ1rZXlOZXh0UGVyaW9kAAIOJXNfX25leHRQZXJpb2QBEmtleVByb2Nlc3NpbmdTdGFnZQACEyVzX19wcm9jZXNzaW5nU3RhZ2UBFmtleU5leHRQcm9jZXNzZWRQZXJpb2QAAhclc19fbmV4dFByb2Nlc3NlZFBlcmlvZAEQa2V5VXNlclVuY2xhaW1lZAEJdXNlckluZGV4CQC5CQIJAMwIAgIEJXMlZAkAzAgCAg11c2VyVW5jbGFpbWVkCQDMCAIJAKQDAQUJdXNlckluZGV4BQNuaWwFA1NFUAEba2V5TmV4dFVubGFpbWVkUGVyaW9kT2ZVc2VyAQl1c2VySW5kZXgJALkJAgkAzAgCAhclcyVkX19uZXh0Q2xhaW1lZFBlcmlvZAkAzAgCCQCkAwEFCXVzZXJJbmRleAUDbmlsBQNTRVABHGtleUxhc3RQcm9jZXNzZWRQZXJpb2RPZlVzZXIBCXVzZXJJbmRleAkAuQkCCQDMCAICGSVzJWRfX2xhc3RQcm9jZXNzZWRQZXJpb2QJAMwIAgkApAMBBQl1c2VySW5kZXgFA25pbAUDU0VQARJrZXlIZWlnaHRGb3JQZXJpb2QBBnBlcmlvZAkAuQkCCQDMCAICGiVzJWRfX3N0YXJ0SGVpZ2h0Rm9yUGVyaW9kCQDMCAIJAKQDAQUGcGVyaW9kBQNuaWwFA1NFUAEda2V5QXV4RW1pc3Npb25SZXdhcmRGb3JQZXJpb2QBBnBlcmlvZAkAuQkCCQDMCAICFyVzJWRfX2F1eEVtaXNzaW9uUmV3YXJkCQDMCAIJAKQDAQUGcGVyaW9kBQNuaWwFA1NFUAEXa2V5VG90YWxBbW91bnRGb3JQZXJpb2QBBnBlcmlvZAkAuQkCCQDMCAICGiVzJWRfX3RvdGFsQW1vdW50Rm9yUGVyaW9kCQDMCAIJAKQDAQUGcGVyaW9kBQNuaWwFA1NFUAERa2V5TGFzdFBheW91dEluZm8AAhIlc19fbGFzdFBheW91dEluZm8BEFBlcmlvZFBheW91dEluZm8DBnBlcmlvZA1tYXRjaGVyUmV3YXJkDmVtaXNzaW9uUmV3YXJkCQC5CQIJAMwIAgIGJWQlZCVkCQDMCAIJAKQDAQUGcGVyaW9kCQDMCAIJAKQDAQUNbWF0Y2hlclJld2FyZAkAzAgCCQCkAwEFDmVtaXNzaW9uUmV3YXJkBQNuaWwFA1NFUAEUa2V5UGF5b3V0SGlzdG9yeUluZm8BBnBlcmlvZAkAuQkCCQDMCAICGCVzJXMlZF9fcGF5b3V0c19faGlzdG9yeQkAzAgCCQCkAwEFBnBlcmlvZAUDbmlsBQNTRVABF2tleVRvdGFsV2VpZ2h0Rm9yUGVyaW9kAQZwZXJpb2QJALkJAgkAzAgCAholcyVkX190b3RhbFdlaWdodEZvclBlcmlvZAkAzAgCCQCkAwEFBnBlcmlvZAUDbmlsBQNTRVABFmtleVVzZXJLVmFsdWVGb3JQZXJpb2QCBnBlcmlvZAl1c2VySW5kZXgJALkJAgkAzAgCAhclcyVkJXMlZF9fcGFyYW1CeVBlcmlvZAkAzAgCCQCkAwEFCXVzZXJJbmRleAkAzAgCAgFrCQDMCAIJAKQDAQUGcGVyaW9kBQNuaWwFA1NFUAEWa2V5VXNlckJWYWx1ZUZvclBlcmlvZAIGcGVyaW9kCXVzZXJJbmRleAkAuQkCCQDMCAICFyVzJWQlcyVkX19wYXJhbUJ5UGVyaW9kCQDMCAIJAKQDAQUJdXNlckluZGV4CQDMCAICAWIJAMwIAgkApAMBBQZwZXJpb2QFA25pbAUDU0VQARZrZXlVc2VyV2VpZ2h0Rm9yUGVyaW9kAgZwZXJpb2QJdXNlckluZGV4CQC5CQIJAMwIAgIXJXMlZCVzJWRfX3BhcmFtQnlQZXJpb2QJAMwIAgkApAMBBQl1c2VySW5kZXgJAMwIAgIGd2VpZ2h0CQDMCAIJAKQDAQUGcGVyaW9kBQNuaWwFA1NFUAEba2V5UmVmZXJyYWxzQ29udHJhY3RBZGRyZXNzAAkAuQkCCQDMCAICBCVzJXMJAMwIAgIGY29uZmlnCQDMCAICGHJlZmVycmFsc0NvbnRyYWN0QWRkcmVzcwUDbmlsBQNTRVAAHnJlZmVycmFsc0NvbnRyYWN0QWRkcmVzc09yRmFpbAkBEUBleHRyTmF0aXZlKDEwNjIpAQkBD2dldFN0cmluZ09yRmFpbAEJARtrZXlSZWZlcnJhbHNDb250cmFjdEFkZHJlc3MAAQxIaXN0b3J5RW50cnkEBHR5cGUEdXNlcgZhbW91bnQBaQQKaGlzdG9yeUtFWQkAuQkCCQDMCAICESVzJXMlcyVzX19oaXN0b3J5CQDMCAIFBHR5cGUJAMwIAgUEdXNlcgkAzAgCCQDYBAEIBQFpDXRyYW5zYWN0aW9uSWQFA25pbAUDU0VQBAtoaXN0b3J5REFUQQkAuQkCCQDMCAICDCVkJWQlZCVkJWQlZAkAzAgCCQCkAwEIBQlsYXN0QmxvY2sGaGVpZ2h0CQDMCAIJAKQDAQgFCWxhc3RCbG9jawl0aW1lc3RhbXAJAMwIAgkApAMBBQZhbW91bnQFA25pbAUDU0VQCQELU3RyaW5nRW50cnkCBQpoaXN0b3J5S0VZBQtoaXN0b3J5REFUQQETa2V5TWFuYWdlclB1YmxpY0tleQACFCVzX19tYW5hZ2VyUHVibGljS2V5ARprZXlQZW5kaW5nTWFuYWdlclB1YmxpY0tleQACGyVzX19wZW5kaW5nTWFuYWdlclB1YmxpY0tleQEWbWFuYWdlclB1YmxpY0tleU9yVW5pdAAEByRtYXRjaDAJAKIIAQkBE2tleU1hbmFnZXJQdWJsaWNLZXkAAwkAAQIFByRtYXRjaDACBlN0cmluZwQBcwUHJG1hdGNoMAkA2QQBBQFzAwkAAQIFByRtYXRjaDACBFVuaXQFBHVuaXQJAAIBAgtNYXRjaCBlcnJvcgEdcGVuZGluZ01hbmFnZXJQdWJsaWNLZXlPclVuaXQABAckbWF0Y2gwCQCiCAEJARprZXlQZW5kaW5nTWFuYWdlclB1YmxpY0tleQADCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFzBQckbWF0Y2gwCQDZBAEFAXMDCQABAgUHJG1hdGNoMAIEVW5pdAUEdW5pdAkAAgECC01hdGNoIGVycm9yAQttdXN0TWFuYWdlcgEBaQQCcGQJAAIBAhFQZXJtaXNzaW9uIGRlbmllZAQHJG1hdGNoMAkBFm1hbmFnZXJQdWJsaWNLZXlPclVuaXQAAwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEAnBrBQckbWF0Y2gwAwkAAAIIBQFpD2NhbGxlclB1YmxpY0tleQUCcGsGBQJwZAMJAAECBQckbWF0Y2gwAgRVbml0AwkAAAIIBQFpBmNhbGxlcgUEdGhpcwYFAnBkCQACAQILTWF0Y2ggZXJyb3IBDmNhbGNVc2VyV2VpZ2h0BBdib29zdGluZ0NvbnRyYWN0QWRkcmVzcw9oZWlnaHRGb3JQZXJpb2QGcGVyaW9kCXVzZXJJbmRleAQFa0xhc3QJARxrZXlMYXN0UHJvY2Vzc2VkUGVyaW9kT2ZVc2VyAQUJdXNlckluZGV4BARrS2V5CQEWa2V5VXNlcktWYWx1ZUZvclBlcmlvZAIFBnBlcmlvZAUJdXNlckluZGV4BARrUmF3CQCaCAIFF2Jvb3N0aW5nQ29udHJhY3RBZGRyZXNzBQRrS2V5BAtrVXNlcldlaWdodAkBFmtleVVzZXJXZWlnaHRGb3JQZXJpb2QCBQZwZXJpb2QFCXVzZXJJbmRleAMJAQlpc0RlZmluZWQBBQRrUmF3BAFrCQEFdmFsdWUBBQRrUmF3BAFiCQEFdmFsdWUBCQCaCAIFF2Jvb3N0aW5nQ29udHJhY3RBZGRyZXNzCQEWa2V5VXNlckJWYWx1ZUZvclBlcmlvZAIFBnBlcmlvZAUJdXNlckluZGV4BAF3CQBkAgkAaAIFAWsFD2hlaWdodEZvclBlcmlvZAUBYgMJAGYCBQF3AAAJAJQKAgkAaQIFAXcFBVNDQUxFCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQVrTGFzdAUGcGVyaW9kCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQtrVXNlcldlaWdodAUBdwUDbmlsCQCUCgIAAAUDbmlsBAFwCQCaCAIFBHRoaXMFBWtMYXN0AwMJAQlpc0RlZmluZWQBBQFwCQBnAgUGcGVyaW9kCQEFdmFsdWUBBQFwBwQCcHYJAQV2YWx1ZQEFAXAEAWsJAQV2YWx1ZQEJAJoIAgUXYm9vc3RpbmdDb250cmFjdEFkZHJlc3MJARZrZXlVc2VyS1ZhbHVlRm9yUGVyaW9kAgUCcHYFCXVzZXJJbmRleAQBYgkBBXZhbHVlAQkAmggCBRdib29zdGluZ0NvbnRyYWN0QWRkcmVzcwkBFmtleVVzZXJCVmFsdWVGb3JQZXJpb2QCBQJwdgUJdXNlckluZGV4BAF3CQBkAgkAaAIFAWsFD2hlaWdodEZvclBlcmlvZAUBYgMJAGYCBQF3AAAJAJQKAgkAaQIFAXcFBVNDQUxFCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQtrVXNlcldlaWdodAUBdwUDbmlsCQCUCgIAAAUDbmlsCQCUCgIAAAUDbmlsARZjYWxjVXNlcldlaWdodEZvckNsYWltBBdib29zdGluZ0NvbnRyYWN0QWRkcmVzcw9oZWlnaHRGb3JQZXJpb2QGcGVyaW9kCXVzZXJJbmRleAQLa1VzZXJXZWlnaHQJARZrZXlVc2VyV2VpZ2h0Rm9yUGVyaW9kAgUGcGVyaW9kBQl1c2VySW5kZXgEEHVzZXJXZWlnaHRPclVuaXQJAJ8IAQULa1VzZXJXZWlnaHQEByRtYXRjaDAFEHVzZXJXZWlnaHRPclVuaXQDCQABAgUHJG1hdGNoMAIEVW5pdAAAAwkAAQIFByRtYXRjaDACA0ludAQBdwUHJG1hdGNoMAkAaQIFAXcFBVNDQUxFCQACAQILTWF0Y2ggZXJyb3IBFWdldFVzZXJJbmRleEJ5QWRkcmVzcwIaYm9vc3RpbmdDb250cmFjdEFkZHJlc3NTdHILdXNlckFkZHJlc3MEA2tleQkAuQkCCQDMCAICBiVzJXMlcwkAzAgCAgdtYXBwaW5nCQDMCAICCHVzZXIybnVtCQDMCAIFC3VzZXJBZGRyZXNzBQNuaWwFA1NFUAkBDXBhcnNlSW50VmFsdWUBCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgkBB0FkZHJlc3MBCQDZBAEFGmJvb3N0aW5nQ29udHJhY3RBZGRyZXNzU3RyBQNrZXkJAKwCAgkArAICCQCsAgICDVVzZXIgYWRkcmVzcyAFC3VzZXJBZGRyZXNzAi0gaXMgbm90IGZvdW5kIGluIGJvb3N0aW5nIGNvbnRyYWN0IGRhdGEsIGtleT0FA2tleQEKbmV4dFBlcmlvZAAJAQ5nZXROdW1iZXJCeUtleQEJAQ1rZXlOZXh0UGVyaW9kAAERY29tbW9uQ2xhaW1SZXdhcmQBC3VzZXJBZGRyZXNzBAhjZmdBcnJheQkBFXJlYWRDb25maWdBcnJheU9yRmFpbAAEB3VzZXJJZHgJARVnZXRVc2VySW5kZXhCeUFkZHJlc3MCCQCRAwIFCGNmZ0FycmF5BRZJZHhDZmdCb29zdGluZ0NvbnRyYWN0BQt1c2VyQWRkcmVzcwQTdXNlclVuY2xhaW1lZE9wdGlvbgkAnwgBCQEQa2V5VXNlclVuY2xhaW1lZAEFB3VzZXJJZHgEByRtYXRjaDAFE3VzZXJVbmNsYWltZWRPcHRpb24DCQABAgUHJG1hdGNoMAIEVW5pdAkAlAoCAAAFA25pbAMJAAECBQckbWF0Y2gwAgNJbnQEAXUFByRtYXRjaDAJAJQKAgUBdQkAzAgCCQEMSW50ZWdlckVudHJ5AgkBEGtleVVzZXJVbmNsYWltZWQBBQd1c2VySWR4AAAFA25pbAkAAgECC01hdGNoIGVycm9yEwFpARZ1cGRhdGVSZWZlcnJhbEFjdGl2aXR5Agt1c2VyQWRkcmVzcw5nV3hBbW91bnRTdGFydAQIcmVmZXJyZXIJAJ0IAgUecmVmZXJyYWxzQ29udHJhY3RBZGRyZXNzT3JGYWlsCQELa2V5UmVmZXJyZXIBBQt1c2VyQWRkcmVzcwQRYWN0aXZlUmVmZXJyYWxJbnYDCQAAAgUIcmVmZXJyZXIFBHVuaXQFBHVuaXQJAPwHBAUecmVmZXJyYWxzQ29udHJhY3RBZGRyZXNzT3JGYWlsAhZ1cGRhdGVSZWZlcnJhbEFjdGl2aXR5CQDMCAIFE3JlZmVycmFsUHJvZ3JhbU5hbWUJAMwIAgULdXNlckFkZHJlc3MJAMwIAgkAZwIFDmdXeEFtb3VudFN0YXJ0BRRyZWZlcnJhbE1pbkdXeEFtb3VudAUDbmlsBQNuaWwDCQAAAgURYWN0aXZlUmVmZXJyYWxJbnYFEWFjdGl2ZVJlZmVycmFsSW52CQCUCgIFA25pbAUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQ5maW5hbGl6ZUhlbHBlcgAED3Byb2Nlc3NpbmdTdGFnZQkBC3ZhbHVlT3JFbHNlAgkAnwgBCQESa2V5UHJvY2Vzc2luZ1N0YWdlAAUUcHJvY2Vzc2luZ1N0YWdlVG90YWwEDWN1cnJlbnRQZXJpb2QJAQ5nZXROdW1iZXJCeUtleQEJARZrZXlOZXh0UHJvY2Vzc2VkUGVyaW9kAAQLY3VycmVudFVzZXIJAQ5nZXROdW1iZXJCeUtleQEJARRrZXlOZXh0UHJvY2Vzc2VkVXNlcgAEDGxhdGVzdFBlcmlvZAkBDmdldE51bWJlckJ5S2V5AQkBD2tleUxhdGVzdFBlcmlvZAAECnVzZXJzQ291bnQJAQt2YWx1ZU9yRWxzZQIJAJoIAgkBFmJvb3N0aW5nQ29udHJhY3RPckZhaWwACQENa2V5VXNlcnNDb3VudAAAAAQOdG90YWxXZWlnaHRLZXkJARdrZXlUb3RhbFdlaWdodEZvclBlcmlvZAEFDWN1cnJlbnRQZXJpb2QEC3RvdGFsV2VpZ2h0CQEOZ2V0TnVtYmVyQnlLZXkBCQEXa2V5VG90YWxXZWlnaHRGb3JQZXJpb2QBBQ1jdXJyZW50UGVyaW9kBA9oZWlnaHRGb3JQZXJpb2QJAQ5nZXROdW1iZXJCeUtleQEJARJrZXlIZWlnaHRGb3JQZXJpb2QBBQ1jdXJyZW50UGVyaW9kAwkAZgIFDWN1cnJlbnRQZXJpb2QFDGxhdGVzdFBlcmlvZAkAlAoCBQNuaWwHAwkAAAIFD3Byb2Nlc3NpbmdTdGFnZQUUcHJvY2Vzc2luZ1N0YWdlVG90YWwEDSR0MDEyMDg0MTIyMDAJAQ5jYWxjVXNlcldlaWdodAQJARZib29zdGluZ0NvbnRyYWN0T3JGYWlsAAUPaGVpZ2h0Rm9yUGVyaW9kBQ1jdXJyZW50UGVyaW9kBQtjdXJyZW50VXNlcgQKdXNlcldlaWdodAgFDSR0MDEyMDg0MTIyMDACXzEEC3VzZXJBY3Rpb25zCAUNJHQwMTIwODQxMjIwMAJfMgQOdG90YWxXZWlnaHROZXcJAGQCBQt0b3RhbFdlaWdodAUKdXNlcldlaWdodAQRcHJvY2Vzc2luZ0FjdGlvbnMDCQBmAgkAZQIFCnVzZXJzQ291bnQAAQULY3VycmVudFVzZXIJAMwIAgkBDEludGVnZXJFbnRyeQIJARRrZXlOZXh0UHJvY2Vzc2VkVXNlcgAJAGQCBQtjdXJyZW50VXNlcgABBQNuaWwJAMwIAgkBDEludGVnZXJFbnRyeQIJARJrZXlQcm9jZXNzaW5nU3RhZ2UABRVwcm9jZXNzaW5nU3RhZ2VTaGFyZXMJAMwIAgkBDEludGVnZXJFbnRyeQIJARRrZXlOZXh0UHJvY2Vzc2VkVXNlcgAAAAUDbmlsCQCUCgIJAM4IAgkAzggCCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQ50b3RhbFdlaWdodEtleQUOdG90YWxXZWlnaHROZXcFA25pbAURcHJvY2Vzc2luZ0FjdGlvbnMFC3VzZXJBY3Rpb25zBgMJAAACBQ9wcm9jZXNzaW5nU3RhZ2UFFXByb2Nlc3NpbmdTdGFnZVNoYXJlcwQKdXNlcldlaWdodAkBFmNhbGNVc2VyV2VpZ2h0Rm9yQ2xhaW0ECQEWYm9vc3RpbmdDb250cmFjdE9yRmFpbAAFD2hlaWdodEZvclBlcmlvZAUNY3VycmVudFBlcmlvZAULY3VycmVudFVzZXIEGnVzZXJBbW91bnRNYXRjaGVyRm9yUGVyaW9kCQBrAwkBDmdldE51bWJlckJ5S2V5AQkBF2tleVRvdGFsQW1vdW50Rm9yUGVyaW9kAQUNY3VycmVudFBlcmlvZAUKdXNlcldlaWdodAULdG90YWxXZWlnaHQEG3VzZXJBbW91bnRFbWlzc2lvbkZvclBlcmlvZAkAawMJAQ5nZXROdW1iZXJCeUtleQEJAR1rZXlBdXhFbWlzc2lvblJld2FyZEZvclBlcmlvZAEFDWN1cnJlbnRQZXJpb2QFCnVzZXJXZWlnaHQFC3RvdGFsV2VpZ2h0BA91c2VyVG90YWxBbW91bnQJAGQCBRt1c2VyQW1vdW50RW1pc3Npb25Gb3JQZXJpb2QFGnVzZXJBbW91bnRNYXRjaGVyRm9yUGVyaW9kBBN1c2VyVW5jbGFpbWVkT3B0aW9uCQCfCAEJARBrZXlVc2VyVW5jbGFpbWVkAQULY3VycmVudFVzZXIEC3VzZXJBZGRyZXNzCQERQGV4dHJOYXRpdmUoMTA1MykCCQEWYm9vc3RpbmdDb250cmFjdE9yRmFpbAAJARNrZXlOdW1Ub1VzZXJNYXBwaW5nAQULY3VycmVudFVzZXIECHJlZmVycmVyCQCdCAIFHnJlZmVycmFsc0NvbnRyYWN0QWRkcmVzc09yRmFpbAkBC2tleVJlZmVycmVyAQULdXNlckFkZHJlc3MEEWFjdGl2ZVJlZmVycmFsSW52AwkAAAIFCHJlZmVycmVyBQR1bml0BQR1bml0CQD8BwQFHnJlZmVycmFsc0NvbnRyYWN0QWRkcmVzc09yRmFpbAIWdXBkYXRlUmVmZXJyYWxBY3Rpdml0eQkAzAgCBRNyZWZlcnJhbFByb2dyYW1OYW1lCQDMCAIFC3VzZXJBZGRyZXNzCQDMCAIJAGcCBQp1c2VyV2VpZ2h0BRRyZWZlcnJhbE1pbkdXeEFtb3VudAUDbmlsBQNuaWwDCQAAAgURYWN0aXZlUmVmZXJyYWxJbnYFEWFjdGl2ZVJlZmVycmFsSW52BAtyZWZlcnJhbEludgMDCQAAAgUIcmVmZXJyZXIFBHVuaXQGCQBmAgUUcmVmZXJyYWxNaW5HV3hBbW91bnQFCnVzZXJXZWlnaHQFBHVuaXQEDnJlZmVycmVyUmV3YXJkCQBrAwUPdXNlclRvdGFsQW1vdW50BRZyZWZlcnJlclJld2FyZFBlcm1pbGxlBQVTQ0FMRQQOcmVmZXJyYWxSZXdhcmQJAGsDBQ91c2VyVG90YWxBbW91bnQFFnJlZmVycmFsUmV3YXJkUGVybWlsbGUFBVNDQUxFCQD8BwQFHnJlZmVycmFsc0NvbnRyYWN0QWRkcmVzc09yRmFpbAIMaW5jVW5jbGFpbWVkCQDMCAIFE3JlZmVycmFsUHJvZ3JhbU5hbWUJAMwIAgULdXNlckFkZHJlc3MJAMwIAgUOcmVmZXJyZXJSZXdhcmQJAMwIAgUOcmVmZXJyYWxSZXdhcmQFA25pbAUDbmlsAwkAAAIFC3JlZmVycmFsSW52BQtyZWZlcnJhbEludgQQdW5jbGFpbWVkQWN0aW9ucwkAzAgCCQEMSW50ZWdlckVudHJ5AgkBEGtleVVzZXJVbmNsYWltZWQBBQtjdXJyZW50VXNlcgkAZAIJAQt2YWx1ZU9yRWxzZQIFE3VzZXJVbmNsYWltZWRPcHRpb24AAAUPdXNlclRvdGFsQW1vdW50BQNuaWwEEXByb2Nlc3NpbmdBY3Rpb25zAwkAZgIJAGUCBQp1c2Vyc0NvdW50AAEFC2N1cnJlbnRVc2VyCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEUa2V5TmV4dFByb2Nlc3NlZFVzZXIACQBkAgULY3VycmVudFVzZXIAAQUDbmlsCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEWa2V5TmV4dFByb2Nlc3NlZFBlcmlvZAAJAGQCBQ1jdXJyZW50UGVyaW9kAAEJAMwIAgkBDEludGVnZXJFbnRyeQIJARRrZXlOZXh0UHJvY2Vzc2VkVXNlcgAAAAkAzAgCCQELRGVsZXRlRW50cnkBCQESa2V5UHJvY2Vzc2luZ1N0YWdlAAUDbmlsCQCUCgIJAM4IAgUQdW5jbGFpbWVkQWN0aW9ucwURcHJvY2Vzc2luZ0FjdGlvbnMGCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIYaW52YWxpZCBwcm9jZXNzaW5nIHN0YWdlAWkBD2ZpbmFsaXplV3JhcHBlcgEHY291bnRlcgQGcmVzdWx0CgABQAkA/AcEBQR0aGlzAg5maW5hbGl6ZUhlbHBlcgUDbmlsBQNuaWwDCQABAgUBQAIHQm9vbGVhbgUBQAkAAgEJAKwCAgkAAwEJAPwHBAUEdGhpcwIOZmluYWxpemVIZWxwZXIFA25pbAUDbmlsAhwgY291bGRuJ3QgYmUgY2FzdCB0byBCb29sZWFuAwkAAAIFBnJlc3VsdAUGcmVzdWx0AwkBASEBBQZyZXN1bHQDCQAAAgUHY291bnRlcgUIbWF4RGVwdGgJAAIBAhJOb3RoaW5nIHRvIHByb2Nlc3MJAJQKAgUDbmlsBQR1bml0AwkAZgIFB2NvdW50ZXIAAAkAlAoCBQNuaWwJAPwHBAUEdGhpcwIPZmluYWxpemVXcmFwcGVyCQDMCAIJAGUCBQdjb3VudGVyAAEFA25pbAUDbmlsCQCUCgIFA25pbAUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAR1wcm9jZXNzUGVuZGluZ1BlcmlvZHNBbmRVc2VycwAJAJQKAgUDbmlsCQD8BwQFBHRoaXMCD2ZpbmFsaXplV3JhcHBlcgkAzAgCBQhtYXhEZXB0aAUDbmlsBQNuaWwBaQEHZGVwb3NpdAAECGNmZ0FycmF5CQEVcmVhZENvbmZpZ0FycmF5T3JGYWlsAAMJAQIhPQIIBQFpBmNhbGxlcgkBB0FkZHJlc3MBCQDZBAEJAJEDAgUIY2ZnQXJyYXkFFklkeENmZ1BhY2VtYWtlckFkZHJlc3MJAAIBAhRXcm9uZyBjYWxsZXIgYWRkcmVzcwQHYXNzZXRJZAkBBXZhbHVlAQgJAQV2YWx1ZQEJAJEDAggFAWkIcGF5bWVudHMAAAdhc3NldElkAwkBAiE9AgUHYXNzZXRJZAkA2QQBCQCRAwIFCGNmZ0FycmF5BQ1JZHhDZmdBc3NldElkCQACAQITV3JvbmcgcGF5bWVudCBhc3NldAQGcGVyaW9kCQEKbmV4dFBlcmlvZAAEBmRlbHRhSAkAZQIFBmhlaWdodAkBD2dldE51bWJlck9yRmFpbAEJAR9rZXlHd3hSZXdhcmRFbWlzc2lvblN0YXJ0SGVpZ2h0AAQMZW1pc3Npb25SYXRlCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJoIAgUQZW1pc3Npb25Db250cmFjdAkBFmtleVJhdGVQZXJCbG9ja0N1cnJlbnQACQCsAgIJAKwCAgIcbWFuZGF0b3J5IGVtaXNzaW9uX2NvbnRyYWN0LgkBFmtleVJhdGVQZXJCbG9ja0N1cnJlbnQAAg8gaXMgbm90IGRlZmluZWQEBndlaWdodAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCaCAIFD2ZhY3RvcnlDb250cmFjdAkBFGtleVBvb2xXZWlnaHRWaXJ0dWFsAAkArAICCQCsAgICG21hbmRhdG9yeSBmYWN0b3J5X2NvbnRyYWN0LgkBFGtleVBvb2xXZWlnaHRWaXJ0dWFsAAIPIGlzIG5vdCBkZWZpbmVkBAlhdXhBbW91bnQJAGsDCQBoAgUGZGVsdGFIBQZ3ZWlnaHQFDGVtaXNzaW9uUmF0ZQUFTVVMVDgEAmVtCQD8BwQFEGVtaXNzaW9uQ29udHJhY3QCBGVtaXQJAMwIAgUJYXV4QW1vdW50BQNuaWwFA25pbAMJAAACBQJlbQUCZW0EC21hdGNoZXJQYXJ0CAkBBXZhbHVlAQkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAQKcGF5b3V0SW5mbwkBEFBlcmlvZFBheW91dEluZm8DBQZwZXJpb2QFC21hdGNoZXJQYXJ0BQlhdXhBbW91bnQJAMwIAgkBDEludGVnZXJFbnRyeQIJAQ9rZXlMYXRlc3RQZXJpb2QABQZwZXJpb2QJAMwIAgkBDEludGVnZXJFbnRyeQIJARJrZXlIZWlnaHRGb3JQZXJpb2QBBQZwZXJpb2QFBmhlaWdodAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBHWtleUF1eEVtaXNzaW9uUmV3YXJkRm9yUGVyaW9kAQUGcGVyaW9kBQlhdXhBbW91bnQJAMwIAgkBDEludGVnZXJFbnRyeQIJAR9rZXlHd3hSZXdhcmRFbWlzc2lvblN0YXJ0SGVpZ2h0AAUGaGVpZ2h0CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEXa2V5VG90YWxBbW91bnRGb3JQZXJpb2QBBQZwZXJpb2QFC21hdGNoZXJQYXJ0CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQENa2V5TmV4dFBlcmlvZAAJAGQCBQZwZXJpb2QAAQkAzAgCCQELU3RyaW5nRW50cnkCCQERa2V5TGFzdFBheW91dEluZm8ABQpwYXlvdXRJbmZvCQDMCAIJAQtTdHJpbmdFbnRyeQIJARRrZXlQYXlvdXRIaXN0b3J5SW5mbwEFBnBlcmlvZAUKcGF5b3V0SW5mbwUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBC2NsYWltUmV3YXJkAAQIY2ZnQXJyYXkJARVyZWFkQ29uZmlnQXJyYXlPckZhaWwABAdhZGRyZXNzCQClCAEIBQFpBmNhbGxlcgQNJHQwMTc1NDIxNzU5MgkBEWNvbW1vbkNsYWltUmV3YXJkAQUHYWRkcmVzcwQGYW1vdW50CAUNJHQwMTc1NDIxNzU5MgJfMQQHYWN0aW9ucwgFDSR0MDE3NTQyMTc1OTICXzIEC2NoZWNrQW1vdW50AwkAZgIFBmFtb3VudAAABgkAAgECEE5vdGhpbmcgdG8gY2xhaW0DCQAAAgULY2hlY2tBbW91bnQFC2NoZWNrQW1vdW50BBJhbW91bnRGcm9tRW1pc3Npb24AAAQPY2xhaW1lZFJlZmVycmFsCgABQAkA/AcEBR5yZWZlcnJhbHNDb250cmFjdEFkZHJlc3NPckZhaWwCBWNsYWltCQDMCAIFE3JlZmVycmFsUHJvZ3JhbU5hbWUFA25pbAUDbmlsAwkAAQIFAUACA0ludAUBQAkAAgEJAKwCAgkAAwEJAPwHBAUecmVmZXJyYWxzQ29udHJhY3RBZGRyZXNzT3JGYWlsAgVjbGFpbQkAzAgCBRNyZWZlcnJhbFByb2dyYW1OYW1lBQNuaWwFA25pbAIYIGNvdWxkbid0IGJlIGNhc3QgdG8gSW50BAt0b3RhbEFtb3VudAkAZAIFBmFtb3VudAUPY2xhaW1lZFJlZmVycmFsCQCUCgIJAM4IAgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIFC3RvdGFsQW1vdW50CQDZBAEJAJEDAgUIY2ZnQXJyYXkFDUlkeENmZ0Fzc2V0SWQJAMwIAgkBDEhpc3RvcnlFbnRyeQQCBWNsYWltBQdhZGRyZXNzBQZhbW91bnQFAWkFA25pbAUHYWN0aW9ucwkAzAgCBQt0b3RhbEFtb3VudAkAzAgCBRJhbW91bnRGcm9tRW1pc3Npb24FA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpARNjbGFpbVJld2FyZFJFQURPTkxZAQdhZGRyZXNzBA0kdDAxODE2NTE4MjE1CQERY29tbW9uQ2xhaW1SZXdhcmQBBQdhZGRyZXNzBAZhbW91bnQIBQ0kdDAxODE2NTE4MjE1Al8xBAdhY3Rpb25zCAUNJHQwMTgxNjUxODIxNQJfMgQRcmVmZXJyYWxVbmNsYWltZWQJAQt2YWx1ZU9yRWxzZQIJAJoIAgUecmVmZXJyYWxzQ29udHJhY3RBZGRyZXNzT3JGYWlsCQEUa2V5VW5jbGFpbWVkUmVmZXJyYWwCBRNyZWZlcnJhbFByb2dyYW1OYW1lBQdhZGRyZXNzAAAEC3RvdGFsQW1vdW50CQBkAgUGYW1vdW50BRFyZWZlcnJhbFVuY2xhaW1lZAkAlAoCBQNuaWwFC3RvdGFsQW1vdW50AWkBHWxhdGVzdEZpbmFsaXplZFBlcmlvZFJFQURPTkxZAQdhZGRyZXNzCQCUCgIFA25pbAkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQEPa2V5TGF0ZXN0UGVyaW9kAAD///////////8BAWkBIWxhdGVzdEZpbmFsaXplZFBlcmlvZEluZm9SRUFET05MWQEHYWRkcmVzcwkAlAoCBQNuaWwJAQ5nZXRTdHJpbmdCeUtleQEJARFrZXlMYXN0UGF5b3V0SW5mbwABaQEVY2FsY0d3eFBhcmFtc1JFQURPTkxZAw5nd3hBbW91bnRTdGFydA9sb2NrU3RhcnRIZWlnaHQSbG9ja0R1cmF0aW9uQmxvY2tzBA1sb2NrRW5kSGVpZ2h0CQBkAgUPbG9ja1N0YXJ0SGVpZ2h0BRJsb2NrRHVyYXRpb25CbG9ja3MEDHNjYWxlOFBhcmFtSwkBAS0BCQBrAwUOZ3d4QW1vdW50U3RhcnQFBVNDQUxFBRJsb2NrRHVyYXRpb25CbG9ja3MEDHNjYWxlOFBhcmFtQgkAaAIJAGsDBQ5nd3hBbW91bnRTdGFydAUFU0NBTEUFEmxvY2tEdXJhdGlvbkJsb2NrcwUNbG9ja0VuZEhlaWdodAkAlAoCBQNuaWwJAMwIAgUMc2NhbGU4UGFyYW1LCQDMCAIFDHNjYWxlOFBhcmFtQgkAzAgCCQEKbmV4dFBlcmlvZAAFA25pbAFpARpjYWxjR3d4QW1vdW50U3RhcnRSRUFET05MWQMMd3hMb2NrQW1vdW50DGxvY2tEdXJhdGlvbg9tYXhMb2NrRHVyYXRpb24EB2NvZWZmWDgJAGsDBQxsb2NrRHVyYXRpb24FBU1VTFQ4BQ9tYXhMb2NrRHVyYXRpb24EDmdXeEFtb3VudFN0YXJ0CQBrAwUMd3hMb2NrQW1vdW50BQdjb2VmZlg4BQVNVUxUOAkAlAoCBQNuaWwJAMwIAgUOZ1d4QW1vdW50U3RhcnQFA25pbAFpARVvbkVtaXNzaW9uRm9yR3d4U3RhcnQAAwkBAiE9AggFAWkGY2FsbGVyBQ9mYWN0b3J5Q29udHJhY3QJAAIBAhJwZXJtaXNzaW9ucyBkZW5pZWQJAMwIAgkBDEludGVnZXJFbnRyeQIJAR9rZXlHd3hSZXdhcmRFbWlzc2lvblN0YXJ0SGVpZ2h0AAUGaGVpZ2h0BQNuaWwBaQEjbGF0ZXN0UGVyaW9kRW1pc3Npb25SZXdhcmRzUkVBRE9OTFkBB2FkZHJlc3MEBnBlcmlvZAkBCm5leHRQZXJpb2QACQCUCgIFA25pbAkAzAgCCQEOZ2V0TnVtYmVyQnlLZXkBCQEda2V5QXV4RW1pc3Npb25SZXdhcmRGb3JQZXJpb2QBBQZwZXJpb2QFA25pbAFpAQVjYWxjRAULeDFCaWdJbnRTdHILeDJCaWdJbnRTdHIMYW1wQmlnSW50U3RyE2FQcmVjaXNpb25CaWdJbnRTdHIYdGFyZ2V0UHJlY2lzaW9uQmlnSW50U3RyBAZuQ29pbnMJALYCAQACBAphUHJlY2lzaW9uCQCnAwEFE2FQcmVjaXNpb25CaWdJbnRTdHIED3RhcmdldFByZWNpc2lvbgkApwMBBRh0YXJnZXRQcmVjaXNpb25CaWdJbnRTdHIEAngxCQCnAwEFC3gxQmlnSW50U3RyBAJ4MgkApwMBBQt4MkJpZ0ludFN0cgQDYW1wCQC5AgIJAKcDAQUMYW1wQmlnSW50U3RyBQphUHJlY2lzaW9uBAFzCQC3AgIFAngxBQJ4MgMJAAACBQFzBQp6ZXJvQmlnSW50CQCUCgIFA25pbAkApgMBBQp6ZXJvQmlnSW50BANhbm4JALkCAgUDYW1wBQZuQ29pbnMEA2FycgkAzAgCAAEJAMwIAgACCQDMCAIAAwkAzAgCAAQJAMwIAgAFCQDMCAIABgkAzAgCAAcFA25pbAoBBGNhbGMCA2FjYwNjdXIEDSR0MDIwODM4MjEwMjcFA2FjYwQBZAgFDSR0MDIwODM4MjEwMjcCXzEEBWRQcmV2CAUNJHQwMjA4MzgyMTAyNwJfMgQCZHAJALoCAgkAuQICCQC5AgIFAWQFAWQFAWQJALkCAgkAuQICCQC5AgIFAngxBQJ4MgUGbkNvaW5zBQZuQ29pbnMEBWROZXh0CQC6AgIJALkCAgkAtwICCQC6AgIJALkCAgUDYW5uBQFzBQphUHJlY2lzaW9uCQC5AgIFAmRwBQZuQ29pbnMFAWQJALcCAgkAugICCQC5AgIJALgCAgUDYW5uBQphUHJlY2lzaW9uBQFkBQphUHJlY2lzaW9uCQC5AgIJALcCAgUGbkNvaW5zCQC2AgEAAQUCZHAJAJQKAgUFZE5leHQFAWQEDSR0MDIxMjQwMjEyOTAKAAIkbAUDYXJyCgACJHMJAJADAQUCJGwKAAUkYWNjMAkAlAoCBQFzBQR1bml0CgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQRjYWxjAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhNMaXN0IHNpemUgZXhjZWVkcyA3CQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcEBWROZXh0CAUNJHQwMjEyNDAyMTI5MAJfMQQFZFByZXYIBQ0kdDAyMTI0MDIxMjkwAl8yBAVkRGlmZgkBCWFic0JpZ0ludAEJALgCAgUFZE5leHQJAQV2YWx1ZQEFBWRQcmV2AwkAwAICBQ90YXJnZXRQcmVjaXNpb24FBWREaWZmCQCUCgIFA25pbAkApgMBBQVkTmV4dAkAAgEJAKwCAgIdRCBjYWxjdWxhdGlvbiBlcnJvciwgZERpZmYgPSAJAKYDAQUFZERpZmYBaQEGbG9nZ2VyAQNzdHIJAJQKAgUDbmlsBQR1bml0AWkBDGNhbGNQdXRYT25seQgaYW1vdW50QXNzZXRBbW91bnRCaWdJbnRTdHIbYW1vdW50QXNzZXRCYWxhbmNlQmlnSW50U3RyGnByaWNlQXNzZXRCYWxhbmNlQmlnSW50U3RyCmRCaWdJbnRTdHIVYW1wbGlmaWNhdG9yQmlnSW50U3RyHmFtcGxpZmljYXRvclByZWNpc2lvbkJpZ0ludFN0chl0YXJnZXRYUHJlY2lzaW9uQmlnSW50U3RyGXRhcmdldERQcmVjaXNpb25CaWdJbnRTdHIEBm5Db2lucwkAtgIBAAIECmFQcmVjaXNpb24JAKcDAQUeYW1wbGlmaWNhdG9yUHJlY2lzaW9uQmlnSW50U3RyBA90YXJnZXRQcmVjaXNpb24JAKcDAQUZdGFyZ2V0WFByZWNpc2lvbkJpZ0ludFN0cgQBWAkApwMBBRthbW91bnRBc3NldEJhbGFuY2VCaWdJbnRTdHIEAVkJAKcDAQUacHJpY2VBc3NldEJhbGFuY2VCaWdJbnRTdHIEAWQDCQAAAgUKZEJpZ0ludFN0cgIACQCnAwEKAAFACQD8BwQFBHRoaXMCBWNhbGNECQDMCAIFG2Ftb3VudEFzc2V0QmFsYW5jZUJpZ0ludFN0cgkAzAgCBRpwcmljZUFzc2V0QmFsYW5jZUJpZ0ludFN0cgkAzAgCBRVhbXBsaWZpY2F0b3JCaWdJbnRTdHIJAMwIAgUeYW1wbGlmaWNhdG9yUHJlY2lzaW9uQmlnSW50U3RyCQDMCAIFGXRhcmdldERQcmVjaXNpb25CaWdJbnRTdHIFA25pbAUDbmlsAwkAAQIFAUACBlN0cmluZwUBQAkAAgEJAKwCAgkAAwEJAPwHBAUEdGhpcwIFY2FsY0QJAMwIAgUbYW1vdW50QXNzZXRCYWxhbmNlQmlnSW50U3RyCQDMCAIFGnByaWNlQXNzZXRCYWxhbmNlQmlnSW50U3RyCQDMCAIFFWFtcGxpZmljYXRvckJpZ0ludFN0cgkAzAgCBR5hbXBsaWZpY2F0b3JQcmVjaXNpb25CaWdJbnRTdHIJAMwIAgUZdGFyZ2V0RFByZWNpc2lvbkJpZ0ludFN0cgUDbmlsBQNuaWwCGyBjb3VsZG4ndCBiZSBjYXN0IHRvIFN0cmluZwkApwMBBQpkQmlnSW50U3RyBANhbXAJALkCAgkApwMBBRVhbXBsaWZpY2F0b3JCaWdJbnRTdHIFCmFQcmVjaXNpb24EAVMJAKcDAQUaYW1vdW50QXNzZXRBbW91bnRCaWdJbnRTdHIEA2FubgkAuQICBQNhbXAFBm5Db2lucwQDYXJyCQDMCAIAAQkAzAgCAAIJAMwIAgADCQDMCAIABAkAzAgCAAUJAMwIAgAGCQDMCAIABwkAzAgCAAgJAMwIAgAJCQDMCAIACgkAzAgCAAsJAMwIAgAMCQDMCAIADQkAzAgCAA4JAMwIAgAPCQDMCAIAEAkAzAgCABEJAMwIAgASCQDMCAIAEwkAzAgCABQFA25pbAoBBGNhbGMCA2FjYwNjdXIEDSR0MDIyOTcxMjMwMDAFA2FjYwQBeAgFDSR0MDIyOTcxMjMwMDACXzEEBXhQcmV2CAUNJHQwMjI5NzEyMzAwMAJfMgQHcmVzdWx0cwgFDSR0MDIyOTcxMjMwMDACXzMEBG5ld1gJALgCAgkAtwICBQFYBQFTBQF4BARuZXdZCQC4AgIFAVkJALoCAgkAuQICBQF4BQFZBQFYBAJkcAkAugICCQC5AgIJALkCAgUBZAUBZAUBZAkAuQICCQC5AgIJALkCAgUEbmV3WAUEbmV3WQUGbkNvaW5zBQZuQ29pbnMEBXhOZXh0CQC3AgIFAXgJALoCAgkAuAICCQC3AgIJALcCAgkAugICCQC5AgIJAL4CAQUBZAUDYW5uBQphUHJlY2lzaW9uBQFkCQC6AgIJALkCAgUDYW5uCQC3AgIFBG5ld1gFBG5ld1kFCmFQcmVjaXNpb24FAmRwCQC3AgIJALcCAgkAugICCQC5AgIJAL4CAQUDYW5uCQC4AgIJALYCAQD///////////8BCQC6AgIFAVkFAVgFCmFQcmVjaXNpb24JALoCAgUCZHAFBG5ld1gJALoCAgkAuQICBQFZBQJkcAkAuQICBQFYBQRuZXdZCQCVCgMFBXhOZXh0BQF4CQDNCAIFB3Jlc3VsdHMJAKYDAQUBeAQNJHQwMjMzMjgyMzQwMQoAAiRsBQNhcnIKAAIkcwkAkAMBBQIkbAoABSRhY2MwCQCVCgMFCnplcm9CaWdJbnQFBHVuaXQFA25pbAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEEY2FsYwIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIUTGlzdCBzaXplIGV4Y2VlZHMgMjAJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUBAV4TmV4dAgFDSR0MDIzMzI4MjM0MDECXzEEBXhQcmV2CAUNJHQwMjMzMjgyMzQwMQJfMgQHcmVzdWx0cwgFDSR0MDIzMzI4MjM0MDECXzMEBmxvZ0ludgkA/AcEBQR0aGlzAgZsb2dnZXIJAMwIAgkAuQkCBQdyZXN1bHRzAgEgBQNuaWwFA25pbAMJAAACBQZsb2dJbnYFBmxvZ0ludgQFeERpZmYJAQlhYnNCaWdJbnQBCQC4AgIFBXhOZXh0CQEFdmFsdWUBBQV4UHJldgMJAMACAgUPdGFyZ2V0UHJlY2lzaW9uBQV4RGlmZgkAlAoCBQNuaWwJAJUKAwkAoAMBBQV4TmV4dAkAoAMBCQC8AgMFBXhOZXh0BQFZBQFYBQdyZXN1bHRzCQACAQkArAICCQCsAgIJAKwCAgkArAICCQCsAgICHVggY2FsY3VsYXRpb24gZXJyb3IsIHhEaWZmID0gCQCmAwEFBXhEaWZmAgosIHhOZXh0ID0gCQCmAwEFBXhOZXh0AgosIHhQcmV2ID0gCQCmAwEJAQV2YWx1ZQEFBXhQcmV2CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBDGNhbGNTd2FwWFRvWQgaYW1vdW50QXNzZXRBbW91bnRCaWdJbnRTdHIbYW1vdW50QXNzZXRCYWxhbmNlQmlnSW50U3RyGnByaWNlQXNzZXRCYWxhbmNlQmlnSW50U3RyCmRCaWdJbnRTdHIVYW1wbGlmaWNhdG9yQmlnSW50U3RyHmFtcGxpZmljYXRvclByZWNpc2lvbkJpZ0ludFN0chl0YXJnZXRYUHJlY2lzaW9uQmlnSW50U3RyGXRhcmdldERQcmVjaXNpb25CaWdJbnRTdHIEBm5Db2lucwkAtgIBAAIECmFQcmVjaXNpb24JAKcDAQUeYW1wbGlmaWNhdG9yUHJlY2lzaW9uQmlnSW50U3RyBA90YXJnZXRQcmVjaXNpb24JAKcDAQUZdGFyZ2V0WFByZWNpc2lvbkJpZ0ludFN0cgQBWAkApwMBBRthbW91bnRBc3NldEJhbGFuY2VCaWdJbnRTdHIEAVkJAKcDAQUacHJpY2VBc3NldEJhbGFuY2VCaWdJbnRTdHIEAXgJAKcDAQUaYW1vdW50QXNzZXRBbW91bnRCaWdJbnRTdHIEAWQDCQAAAgUKZEJpZ0ludFN0cgIACQCnAwEKAAFACQD8BwQFBHRoaXMCBWNhbGNECQDMCAIFG2Ftb3VudEFzc2V0QmFsYW5jZUJpZ0ludFN0cgkAzAgCBRpwcmljZUFzc2V0QmFsYW5jZUJpZ0ludFN0cgkAzAgCBRVhbXBsaWZpY2F0b3JCaWdJbnRTdHIJAMwIAgUeYW1wbGlmaWNhdG9yUHJlY2lzaW9uQmlnSW50U3RyCQDMCAIFGXRhcmdldERQcmVjaXNpb25CaWdJbnRTdHIFA25pbAUDbmlsAwkAAQIFAUACBlN0cmluZwUBQAkAAgEJAKwCAgkAAwEJAPwHBAUEdGhpcwIFY2FsY0QJAMwIAgUbYW1vdW50QXNzZXRCYWxhbmNlQmlnSW50U3RyCQDMCAIFGnByaWNlQXNzZXRCYWxhbmNlQmlnSW50U3RyCQDMCAIFFWFtcGxpZmljYXRvckJpZ0ludFN0cgkAzAgCBR5hbXBsaWZpY2F0b3JQcmVjaXNpb25CaWdJbnRTdHIJAMwIAgUZdGFyZ2V0RFByZWNpc2lvbkJpZ0ludFN0cgUDbmlsBQNuaWwCGyBjb3VsZG4ndCBiZSBjYXN0IHRvIFN0cmluZwkApwMBBQpkQmlnSW50U3RyBANhbXAJALkCAgkApwMBBRVhbXBsaWZpY2F0b3JCaWdJbnRTdHIFCmFQcmVjaXNpb24EAVMJAKcDAQUaYW1vdW50QXNzZXRBbW91bnRCaWdJbnRTdHIEA2FubgkAuQICBQNhbXAFBm5Db2lucwQDYXJyCQDMCAIAAAkAzAgCAAEJAMwIAgACCQDMCAIAAwkAzAgCAAQJAMwIAgAFCQDMCAIABgkAzAgCAAcJAMwIAgAICQDMCAIACQUDbmlsCgEEY2FsYwIDYWNjA2N1cgQNJHQwMjUxNTQyNTE3NAUDYWNjBAF5CAUNJHQwMjUxNTQyNTE3NAJfMQQFeVByZXYIBQ0kdDAyNTE1NDI1MTc0Al8yBARuZXdYCQC3AgIFAVgFAXgEBG5ld1kJALgCAgUBWQUBeQQCZHAJALoCAgkAuQICCQC5AgIFAWQFAWQFAWQJALkCAgkAuQICCQC5AgIFBG5ld1gFBG5ld1kFBm5Db2lucwUGbkNvaW5zBAV5TmV4dAkAtwICBQF5CQC6AgIJALgCAgkAtwICCQC3AgIJALoCAgkAuQICCQC+AgEFAWQFA2FubgUKYVByZWNpc2lvbgUBZAkAugICCQC5AgIFA2FubgkAtwICBQRuZXdYBQRuZXdZBQphUHJlY2lzaW9uBQJkcAkAtwICCQC6AgIFA2FubgUKYVByZWNpc2lvbgkAugICBQJkcAUEbmV3WQkAlAoCBQV5TmV4dAUBeQQNJHQwMjU0MTYyNTQ3NgoAAiRsBQNhcnIKAAIkcwkAkAMBBQIkbAoABSRhY2MwCQCUCgIFCnplcm9CaWdJbnQFBHVuaXQKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBBGNhbGMCBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECFExpc3Qgc2l6ZSBleGNlZWRzIDEwCQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAAJAAoEBXlOZXh0CAUNJHQwMjU0MTYyNTQ3NgJfMQQFeVByZXYIBQ0kdDAyNTQxNjI1NDc2Al8yBAV4RGlmZgkBCWFic0JpZ0ludAEJALgCAgUFeU5leHQJAQV2YWx1ZQEFBXlQcmV2AwkAwAICBQ90YXJnZXRQcmVjaXNpb24FBXhEaWZmCQCUCgIFA25pbAkAoAMBBQV5TmV4dAkAAgEJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAh1ZIGNhbGN1bGF0aW9uIGVycm9yLCB5RGlmZiA9IAkApgMBBQV4RGlmZgIKLCB5TmV4dCA9IAkApgMBBQV5TmV4dAIKLCB5UHJldiA9IAkApgMBCQEFdmFsdWUBBQV5UHJldgFpAQpzZXRNYW5hZ2VyARdwZW5kaW5nTWFuYWdlclB1YmxpY0tleQQLY2hlY2tDYWxsZXIJAQttdXN0TWFuYWdlcgEFAWkDCQAAAgULY2hlY2tDYWxsZXIFC2NoZWNrQ2FsbGVyBBVjaGVja01hbmFnZXJQdWJsaWNLZXkJANkEAQUXcGVuZGluZ01hbmFnZXJQdWJsaWNLZXkDCQAAAgUVY2hlY2tNYW5hZ2VyUHVibGljS2V5BRVjaGVja01hbmFnZXJQdWJsaWNLZXkJAMwIAgkBC1N0cmluZ0VudHJ5AgkBGmtleVBlbmRpbmdNYW5hZ2VyUHVibGljS2V5AAUXcGVuZGluZ01hbmFnZXJQdWJsaWNLZXkFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQ5jb25maXJtTWFuYWdlcgAEAnBtCQEdcGVuZGluZ01hbmFnZXJQdWJsaWNLZXlPclVuaXQABAVoYXNQTQMJAQlpc0RlZmluZWQBBQJwbQYJAAIBAhJObyBwZW5kaW5nIG1hbmFnZXIDCQAAAgUFaGFzUE0FBWhhc1BNBAdjaGVja1BNAwkAAAIIBQFpD2NhbGxlclB1YmxpY0tleQkBBXZhbHVlAQUCcG0GCQACAQIbWW91IGFyZSBub3QgcGVuZGluZyBtYW5hZ2VyAwkAAAIFB2NoZWNrUE0FB2NoZWNrUE0JAMwIAgkBC1N0cmluZ0VudHJ5AgkBE2tleU1hbmFnZXJQdWJsaWNLZXkACQDYBAEJAQV2YWx1ZQEFAnBtCQDMCAIJAQtEZWxldGVFbnRyeQEJARprZXlQZW5kaW5nTWFuYWdlclB1YmxpY0tleQAFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgECdHgBBnZlcmlmeQAED3RhcmdldFB1YmxpY0tleQQHJG1hdGNoMAkBFm1hbmFnZXJQdWJsaWNLZXlPclVuaXQAAwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEAnBrBQckbWF0Y2gwBQJwawMJAAECBQckbWF0Y2gwAgRVbml0CAUCdHgPc2VuZGVyUHVibGljS2V5CQACAQILTWF0Y2ggZXJyb3IJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAFD3RhcmdldFB1YmxpY0tlebhasR0=", "chainId": 84, "height": 2245922, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: DQJ7FCrKy7Uqqut92iE3VhFHEy3YfJ7rYBhvpUnrzA6M Next: 6AEP9xPLnnYwDSKZV3Wt6qvre6js5fcHdV6RCqfoZYtq Diff:
OldNewDifferences
597597 let cz = (parseBigIntValue(cY) * cv)
598598 let de = parseBigIntValue(cU)
599599 let cA = (cz * cu)
600- let cB = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
600+ let cB = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
601601 func cC (cD,cE) = {
602602 let df = cD
603603 let dg = df._1
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "__"
55
66 let b = 1000
77
88 let c = 100000000
99
1010 let d = toBigInt(0)
1111
1212 let e = 0
1313
1414 let f = 1
1515
1616 func g (h) = valueOrElse(getInteger(this, h), 0)
1717
1818
1919 func i (h) = valueOrErrorMessage(getInteger(this, h), (("mandatory this." + h) + " is not defined"))
2020
2121
2222 func j (h) = valueOrElse(getString(this, h), "")
2323
2424
2525 func k (h) = valueOrErrorMessage(getString(this, h), (("mandatory this." + h) + " is not defined"))
2626
2727
2828 func l (m) = if ((0 > m))
2929 then -(m)
3030 else m
3131
3232
3333 func n (m) = if ((d > m))
3434 then -(m)
3535 else m
3636
3737
3838 let o = "%s__maxDepth"
3939
4040 let p = 30
4141
4242 let q = valueOrElse(getInteger(this, o), p)
4343
4444 func r () = "%s%s__config__factoryAddress"
4545
4646
4747 let s = k(r())
4848
4949 let t = addressFromStringValue(s)
5050
5151 func u () = "%s%s__config__emissionAddress"
5252
5353
5454 func v (w) = makeString(["%s%s%s", "mapping", "num2user", toString(w)], a)
5555
5656
5757 let x = makeString(["%s%s", "referral", "programName"], a)
5858
5959 let y = "wxlock"
6060
6161 let z = valueOrElse(getString(this, x), y)
6262
6363 let A = makeString(["%s%s", "referral", "minGWxAmount"], a)
6464
6565 let B = (500 * c)
6666
6767 let C = valueOrElse(getInteger(this, A), B)
6868
6969 let D = makeString(["%s%s", "referral", "referrerRewardPermille"], a)
7070
7171 let E = 50
7272
7373 let F = valueOrElse(getInteger(this, D), E)
7474
7575 let G = makeString(["%s%s", "referral", "referralRewardPermille"], a)
7676
7777 let H = 50
7878
7979 let I = valueOrElse(getInteger(this, G), H)
8080
8181 func J (K) = makeString(["%s%s%s", "referrer", z, K], a)
8282
8383
8484 func L (M,N) = makeString(["%s%s%s%s", "unclaimedReferral", M, N], a)
8585
8686
8787 let O = k(u())
8888
8989 let P = addressFromStringValue(O)
9090
9191 let Q = 1
9292
9393 let R = 2
9494
9595 let S = 3
9696
9797 let T = 4
9898
9999 func U () = "%s__config"
100100
101101
102102 func V () = split(k(U()), a)
103103
104104
105105 func W (X,Y,Z,q) = makeString(["%s%s%s%d", X, Y, Z, toString(q)], a)
106106
107107
108108 func aa () = {
109109 let ab = V()
110110 valueOrErrorMessage(addressFromString(ab[S]), "boosting contract address is not defined")
111111 }
112112
113113
114114 func ac () = "%s%s__gwxRewardEmissionPart__startHeight"
115115
116116
117117 func ad () = "%s__nextUserNum"
118118
119119
120120 func ae () = "%s%s__ratePerBlock__current"
121121
122122
123123 func af () = "%s%s__poolWeight__GWXvirtualPOOL"
124124
125125
126126 func ag () = "%s__nextProcessedUser"
127127
128128
129129 func ah () = "%s__latestPeriod"
130130
131131
132132 func ai () = "%s__nextPeriod"
133133
134134
135135 func aj () = "%s__processingStage"
136136
137137
138138 func ak () = "%s__nextProcessedPeriod"
139139
140140
141141 func al (am) = makeString(["%s%d", "userUnclaimed", toString(am)], a)
142142
143143
144144 func an (am) = makeString(["%s%d__nextClaimedPeriod", toString(am)], a)
145145
146146
147147 func ao (am) = makeString(["%s%d__lastProcessedPeriod", toString(am)], a)
148148
149149
150150 func ap (aq) = makeString(["%s%d__startHeightForPeriod", toString(aq)], a)
151151
152152
153153 func ar (aq) = makeString(["%s%d__auxEmissionReward", toString(aq)], a)
154154
155155
156156 func as (aq) = makeString(["%s%d__totalAmountForPeriod", toString(aq)], a)
157157
158158
159159 func at () = "%s__lastPayoutInfo"
160160
161161
162162 func au (aq,av,aw) = makeString(["%d%d%d", toString(aq), toString(av), toString(aw)], a)
163163
164164
165165 func ax (aq) = makeString(["%s%s%d__payouts__history", toString(aq)], a)
166166
167167
168168 func ay (aq) = makeString(["%s%d__totalWeightForPeriod", toString(aq)], a)
169169
170170
171171 func az (aq,am) = makeString(["%s%d%s%d__paramByPeriod", toString(am), "k", toString(aq)], a)
172172
173173
174174 func aA (aq,am) = makeString(["%s%d%s%d__paramByPeriod", toString(am), "b", toString(aq)], a)
175175
176176
177177 func aB (aq,am) = makeString(["%s%d%s%d__paramByPeriod", toString(am), "weight", toString(aq)], a)
178178
179179
180180 func aC () = makeString(["%s%s", "config", "referralsContractAddress"], a)
181181
182182
183183 let aD = addressFromStringValue(k(aC()))
184184
185185 func aE (aF,aG,aH,aI) = {
186186 let aJ = makeString(["%s%s%s%s__history", aF, aG, toBase58String(aI.transactionId)], a)
187187 let aK = makeString(["%d%d%d%d%d%d", toString(lastBlock.height), toString(lastBlock.timestamp), toString(aH)], a)
188188 StringEntry(aJ, aK)
189189 }
190190
191191
192192 func aL () = "%s__managerPublicKey"
193193
194194
195195 func aM () = "%s__pendingManagerPublicKey"
196196
197197
198198 func aN () = {
199199 let aO = getString(aL())
200200 if ($isInstanceOf(aO, "String"))
201201 then {
202202 let aP = aO
203203 fromBase58String(aP)
204204 }
205205 else if ($isInstanceOf(aO, "Unit"))
206206 then unit
207207 else throw("Match error")
208208 }
209209
210210
211211 func aQ () = {
212212 let aO = getString(aM())
213213 if ($isInstanceOf(aO, "String"))
214214 then {
215215 let aP = aO
216216 fromBase58String(aP)
217217 }
218218 else if ($isInstanceOf(aO, "Unit"))
219219 then unit
220220 else throw("Match error")
221221 }
222222
223223
224224 func aR (aI) = {
225225 let aS = throw("Permission denied")
226226 let aO = aN()
227227 if ($isInstanceOf(aO, "ByteVector"))
228228 then {
229229 let aT = aO
230230 if ((aI.callerPublicKey == aT))
231231 then true
232232 else aS
233233 }
234234 else if ($isInstanceOf(aO, "Unit"))
235235 then if ((aI.caller == this))
236236 then true
237237 else aS
238238 else throw("Match error")
239239 }
240240
241241
242242 func aU (aV,aW,aq,am) = {
243243 let aX = ao(am)
244244 let aY = az(aq, am)
245245 let aZ = getInteger(aV, aY)
246246 let ba = aB(aq, am)
247247 if (isDefined(aZ))
248248 then {
249249 let bb = value(aZ)
250250 let bc = value(getInteger(aV, aA(aq, am)))
251251 let bd = ((bb * aW) + bc)
252252 if ((bd > 0))
253253 then $Tuple2((bd / b), [IntegerEntry(aX, aq), IntegerEntry(ba, bd)])
254254 else $Tuple2(0, nil)
255255 }
256256 else {
257257 let be = getInteger(this, aX)
258258 if (if (isDefined(be))
259259 then (aq >= value(be))
260260 else false)
261261 then {
262262 let bf = value(be)
263263 let bb = value(getInteger(aV, az(bf, am)))
264264 let bc = value(getInteger(aV, aA(bf, am)))
265265 let bd = ((bb * aW) + bc)
266266 if ((bd > 0))
267267 then $Tuple2((bd / b), [IntegerEntry(ba, bd)])
268268 else $Tuple2(0, nil)
269269 }
270270 else $Tuple2(0, nil)
271271 }
272272 }
273273
274274
275275 func bg (aV,aW,aq,am) = {
276276 let ba = aB(aq, am)
277277 let bh = getInteger(ba)
278278 let aO = bh
279279 if ($isInstanceOf(aO, "Unit"))
280280 then 0
281281 else if ($isInstanceOf(aO, "Int"))
282282 then {
283283 let bd = aO
284284 (bd / b)
285285 }
286286 else throw("Match error")
287287 }
288288
289289
290290 func bi (Z,bj) = {
291291 let h = makeString(["%s%s%s", "mapping", "user2num", bj], a)
292292 parseIntValue(valueOrErrorMessage(getString(Address(fromBase58String(Z)), h), ((("User address " + bj) + " is not found in boosting contract data, key=") + h)))
293293 }
294294
295295
296296 func bk () = g(ai())
297297
298298
299299 func bl (bj) = {
300300 let ab = V()
301301 let bm = bi(ab[S], bj)
302302 let bn = getInteger(al(bm))
303303 let aO = bn
304304 if ($isInstanceOf(aO, "Unit"))
305305 then $Tuple2(0, nil)
306306 else if ($isInstanceOf(aO, "Int"))
307307 then {
308308 let bo = aO
309309 $Tuple2(bo, [IntegerEntry(al(bm), 0)])
310310 }
311311 else throw("Match error")
312312 }
313313
314314
315315 @Callable(aI)
316316 func updateReferralActivity (bj,bp) = {
317317 let bq = getString(aD, J(bj))
318318 let br = if ((bq == unit))
319319 then unit
320320 else invoke(aD, "updateReferralActivity", [z, bj, (bp >= C)], nil)
321321 if ((br == br))
322322 then $Tuple2(nil, unit)
323323 else throw("Strict value is not equal to itself.")
324324 }
325325
326326
327327
328328 @Callable(aI)
329329 func finalizeHelper () = {
330330 let bs = valueOrElse(getInteger(aj()), e)
331331 let bt = g(ak())
332332 let bu = g(ag())
333333 let bv = g(ah())
334334 let bw = valueOrElse(getInteger(aa(), ad()), 0)
335335 let bx = ay(bt)
336336 let by = g(ay(bt))
337337 let aW = g(ap(bt))
338338 if ((bt > bv))
339339 then $Tuple2(nil, false)
340340 else if ((bs == e))
341341 then {
342342 let bz = aU(aa(), aW, bt, bu)
343343 let bA = bz._1
344344 let bB = bz._2
345345 let bC = (by + bA)
346346 let bD = if (((bw - 1) > bu))
347347 then [IntegerEntry(ag(), (bu + 1))]
348348 else [IntegerEntry(aj(), f), IntegerEntry(ag(), 0)]
349349 $Tuple2((([IntegerEntry(bx, bC)] ++ bD) ++ bB), true)
350350 }
351351 else if ((bs == f))
352352 then {
353353 let bA = bg(aa(), aW, bt, bu)
354354 let bE = fraction(g(as(bt)), bA, by)
355355 let bF = fraction(g(ar(bt)), bA, by)
356356 let bG = (bF + bE)
357357 let bn = getInteger(al(bu))
358358 let bj = getStringValue(aa(), v(bu))
359359 let bq = getString(aD, J(bj))
360360 let br = if ((bq == unit))
361361 then unit
362362 else invoke(aD, "updateReferralActivity", [z, bj, (bA >= C)], nil)
363363 if ((br == br))
364364 then {
365365 let bH = if (if ((bq == unit))
366366 then true
367367 else (C > bA))
368368 then unit
369369 else {
370370 let bI = fraction(bG, F, b)
371371 let bJ = fraction(bG, I, b)
372372 invoke(aD, "incUnclaimed", [z, bj, bI, bJ], nil)
373373 }
374374 if ((bH == bH))
375375 then {
376376 let bK = [IntegerEntry(al(bu), (valueOrElse(bn, 0) + bG))]
377377 let bD = if (((bw - 1) > bu))
378378 then [IntegerEntry(ag(), (bu + 1))]
379379 else [IntegerEntry(ak(), (bt + 1)), IntegerEntry(ag(), 0), DeleteEntry(aj())]
380380 $Tuple2((bK ++ bD), true)
381381 }
382382 else throw("Strict value is not equal to itself.")
383383 }
384384 else throw("Strict value is not equal to itself.")
385385 }
386386 else throw("invalid processing stage")
387387 }
388388
389389
390390
391391 @Callable(aI)
392392 func finalizeWrapper (bL) = {
393393 let bM = {
394394 let bN = invoke(this, "finalizeHelper", nil, nil)
395395 if ($isInstanceOf(bN, "Boolean"))
396396 then bN
397397 else throw(($getType(invoke(this, "finalizeHelper", nil, nil)) + " couldn't be cast to Boolean"))
398398 }
399399 if ((bM == bM))
400400 then if (!(bM))
401401 then if ((bL == q))
402402 then throw("Nothing to process")
403403 else $Tuple2(nil, unit)
404404 else if ((bL > 0))
405405 then $Tuple2(nil, invoke(this, "finalizeWrapper", [(bL - 1)], nil))
406406 else $Tuple2(nil, unit)
407407 else throw("Strict value is not equal to itself.")
408408 }
409409
410410
411411
412412 @Callable(aI)
413413 func processPendingPeriodsAndUsers () = $Tuple2(nil, invoke(this, "finalizeWrapper", [q], nil))
414414
415415
416416
417417 @Callable(aI)
418418 func deposit () = {
419419 let ab = V()
420420 if ((aI.caller != Address(fromBase58String(ab[R]))))
421421 then throw("Wrong caller address")
422422 else {
423423 let bO = value(value(aI.payments[0]).assetId)
424424 if ((bO != fromBase58String(ab[Q])))
425425 then throw("Wrong payment asset")
426426 else {
427427 let aq = bk()
428428 let bP = (height - i(ac()))
429429 let bQ = valueOrErrorMessage(getInteger(P, ae()), (("mandatory emission_contract." + ae()) + " is not defined"))
430430 let bR = valueOrErrorMessage(getInteger(t, af()), (("mandatory factory_contract." + af()) + " is not defined"))
431431 let bS = fraction((bP * bR), bQ, c)
432432 let bT = invoke(P, "emit", [bS], nil)
433433 if ((bT == bT))
434434 then {
435435 let bU = value(aI.payments[0]).amount
436436 let bV = au(aq, bU, bS)
437437 [IntegerEntry(ah(), aq), IntegerEntry(ap(aq), height), IntegerEntry(ar(aq), bS), IntegerEntry(ac(), height), IntegerEntry(as(aq), bU), IntegerEntry(ai(), (aq + 1)), StringEntry(at(), bV), StringEntry(ax(aq), bV)]
438438 }
439439 else throw("Strict value is not equal to itself.")
440440 }
441441 }
442442 }
443443
444444
445445
446446 @Callable(aI)
447447 func claimReward () = {
448448 let ab = V()
449449 let bW = toString(aI.caller)
450450 let bX = bl(bW)
451451 let aH = bX._1
452452 let bY = bX._2
453453 let bZ = if ((aH > 0))
454454 then true
455455 else throw("Nothing to claim")
456456 if ((bZ == bZ))
457457 then {
458458 let ca = 0
459459 let cb = {
460460 let bN = invoke(aD, "claim", [z], nil)
461461 if ($isInstanceOf(bN, "Int"))
462462 then bN
463463 else throw(($getType(invoke(aD, "claim", [z], nil)) + " couldn't be cast to Int"))
464464 }
465465 let cc = (aH + cb)
466466 $Tuple2(([ScriptTransfer(aI.caller, cc, fromBase58String(ab[Q])), aE("claim", bW, aH, aI)] ++ bY), [cc, ca])
467467 }
468468 else throw("Strict value is not equal to itself.")
469469 }
470470
471471
472472
473473 @Callable(aI)
474474 func claimRewardREADONLY (bW) = {
475475 let cd = bl(bW)
476476 let aH = cd._1
477477 let bY = cd._2
478478 let ce = valueOrElse(getInteger(aD, L(z, bW)), 0)
479479 let cc = (aH + ce)
480480 $Tuple2(nil, cc)
481481 }
482482
483483
484484
485485 @Callable(aI)
486486 func latestFinalizedPeriodREADONLY (bW) = $Tuple2(nil, valueOrElse(getInteger(this, ah()), -1))
487487
488488
489489
490490 @Callable(aI)
491491 func latestFinalizedPeriodInfoREADONLY (bW) = $Tuple2(nil, j(at()))
492492
493493
494494
495495 @Callable(aI)
496496 func calcGwxParamsREADONLY (cf,cg,ch) = {
497497 let ci = (cg + ch)
498498 let cj = -(fraction(cf, b, ch))
499499 let ck = (fraction(cf, b, ch) * ci)
500500 $Tuple2(nil, [cj, ck, bk()])
501501 }
502502
503503
504504
505505 @Callable(aI)
506506 func calcGwxAmountStartREADONLY (cl,cm,cn) = {
507507 let co = fraction(cm, c, cn)
508508 let bp = fraction(cl, co, c)
509509 $Tuple2(nil, [bp])
510510 }
511511
512512
513513
514514 @Callable(aI)
515515 func onEmissionForGwxStart () = if ((aI.caller != t))
516516 then throw("permissions denied")
517517 else [IntegerEntry(ac(), height)]
518518
519519
520520
521521 @Callable(aI)
522522 func latestPeriodEmissionRewardsREADONLY (bW) = {
523523 let aq = bk()
524524 $Tuple2(nil, [g(ar(aq))])
525525 }
526526
527527
528528
529529 @Callable(aI)
530530 func calcD (cp,cq,cr,cs,ct) = {
531531 let cu = toBigInt(2)
532532 let cv = parseBigIntValue(cs)
533533 let cw = parseBigIntValue(ct)
534534 let cx = parseBigIntValue(cp)
535535 let cy = parseBigIntValue(cq)
536536 let cz = (parseBigIntValue(cr) * cv)
537537 let aP = (cx + cy)
538538 if ((aP == d))
539539 then $Tuple2(nil, toString(d))
540540 else {
541541 let cA = (cz * cu)
542542 let cB = [1, 2, 3, 4, 5, 6, 7]
543543 func cC (cD,cE) = {
544544 let cF = cD
545545 let cG = cF._1
546546 let cH = cF._2
547547 let cI = (((cG * cG) * cG) / (((cx * cy) * cu) * cu))
548548 let cJ = (((((cA * aP) / cv) + (cI * cu)) * cG) / ((((cA - cv) * cG) / cv) + ((cu + toBigInt(1)) * cI)))
549549 $Tuple2(cJ, cG)
550550 }
551551
552552 let cK = {
553553 let cL = cB
554554 let cM = size(cL)
555555 let cN = $Tuple2(aP, unit)
556556 func cO (cP,cQ) = if ((cQ >= cM))
557557 then cP
558558 else cC(cP, cL[cQ])
559559
560560 func cR (cP,cQ) = if ((cQ >= cM))
561561 then cP
562562 else throw("List size exceeds 7")
563563
564564 cR(cO(cO(cO(cO(cO(cO(cO(cN, 0), 1), 2), 3), 4), 5), 6), 7)
565565 }
566566 let cJ = cK._1
567567 let cH = cK._2
568568 let cS = n((cJ - value(cH)))
569569 if ((cw >= cS))
570570 then $Tuple2(nil, toString(cJ))
571571 else throw(("D calculation error, dDiff = " + toString(cS)))
572572 }
573573 }
574574
575575
576576
577577 @Callable(aI)
578578 func logger (cT) = $Tuple2(nil, unit)
579579
580580
581581
582582 @Callable(aI)
583583 func calcPutXOnly (cU,cV,cW,cX,cY,cZ,da,db) = {
584584 let cu = toBigInt(2)
585585 let cv = parseBigIntValue(cZ)
586586 let cw = parseBigIntValue(da)
587587 let dc = parseBigIntValue(cV)
588588 let dd = parseBigIntValue(cW)
589589 let cG = if ((cX == ""))
590590 then parseBigIntValue({
591591 let bN = invoke(this, "calcD", [cV, cW, cY, cZ, db], nil)
592592 if ($isInstanceOf(bN, "String"))
593593 then bN
594594 else throw(($getType(invoke(this, "calcD", [cV, cW, cY, cZ, db], nil)) + " couldn't be cast to String"))
595595 })
596596 else parseBigIntValue(cX)
597597 let cz = (parseBigIntValue(cY) * cv)
598598 let de = parseBigIntValue(cU)
599599 let cA = (cz * cu)
600- let cB = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
600+ let cB = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
601601 func cC (cD,cE) = {
602602 let df = cD
603603 let dg = df._1
604604 let dh = df._2
605605 let di = df._3
606606 let dj = ((dc + de) - dg)
607607 let dk = (dd - ((dg * dd) / dc))
608608 let cI = (((cG * cG) * cG) / (((dj * dk) * cu) * cu))
609609 let dl = (dg + ((((((-(cG) * cA) / cv) + cG) + ((cA * (dj + dk)) / cv)) - cI) / ((((-(cA) * (toBigInt(-1) - (dd / dc))) / cv) + (cI / dj)) + ((dd * cI) / (dc * dk)))))
610610 $Tuple3(dl, dg, (di :+ toString(dg)))
611611 }
612612
613613 let dm = {
614614 let cL = cB
615615 let cM = size(cL)
616616 let cN = $Tuple3(d, unit, nil)
617617 func cO (cP,cQ) = if ((cQ >= cM))
618618 then cP
619619 else cC(cP, cL[cQ])
620620
621621 func cR (cP,cQ) = if ((cQ >= cM))
622622 then cP
623623 else throw("List size exceeds 20")
624624
625625 cR(cO(cO(cO(cO(cO(cO(cO(cO(cO(cO(cO(cO(cO(cO(cO(cO(cO(cO(cO(cO(cN, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
626626 }
627627 let dl = dm._1
628628 let dh = dm._2
629629 let di = dm._3
630630 let dn = invoke(this, "logger", [makeString(di, " ")], nil)
631631 if ((dn == dn))
632632 then {
633633 let do = n((dl - value(dh)))
634634 if ((cw >= do))
635635 then $Tuple2(nil, $Tuple3(toInt(dl), toInt(fraction(dl, dd, dc)), di))
636636 else throw(((((("X calculation error, xDiff = " + toString(do)) + ", xNext = ") + toString(dl)) + ", xPrev = ") + toString(value(dh))))
637637 }
638638 else throw("Strict value is not equal to itself.")
639639 }
640640
641641
642642
643643 @Callable(aI)
644644 func calcSwapXToY (cU,cV,cW,cX,cY,cZ,da,db) = {
645645 let cu = toBigInt(2)
646646 let cv = parseBigIntValue(cZ)
647647 let cw = parseBigIntValue(da)
648648 let dc = parseBigIntValue(cV)
649649 let dd = parseBigIntValue(cW)
650650 let dg = parseBigIntValue(cU)
651651 let cG = if ((cX == ""))
652652 then parseBigIntValue({
653653 let bN = invoke(this, "calcD", [cV, cW, cY, cZ, db], nil)
654654 if ($isInstanceOf(bN, "String"))
655655 then bN
656656 else throw(($getType(invoke(this, "calcD", [cV, cW, cY, cZ, db], nil)) + " couldn't be cast to String"))
657657 })
658658 else parseBigIntValue(cX)
659659 let cz = (parseBigIntValue(cY) * cv)
660660 let de = parseBigIntValue(cU)
661661 let cA = (cz * cu)
662662 let cB = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
663663 func cC (cD,cE) = {
664664 let dp = cD
665665 let dq = dp._1
666666 let dr = dp._2
667667 let dj = (dc + dg)
668668 let dk = (dd - dq)
669669 let cI = (((cG * cG) * cG) / (((dj * dk) * cu) * cu))
670670 let ds = (dq + ((((((-(cG) * cA) / cv) + cG) + ((cA * (dj + dk)) / cv)) - cI) / ((cA / cv) + (cI / dk))))
671671 $Tuple2(ds, dq)
672672 }
673673
674674 let dt = {
675675 let cL = cB
676676 let cM = size(cL)
677677 let cN = $Tuple2(d, unit)
678678 func cO (cP,cQ) = if ((cQ >= cM))
679679 then cP
680680 else cC(cP, cL[cQ])
681681
682682 func cR (cP,cQ) = if ((cQ >= cM))
683683 then cP
684684 else throw("List size exceeds 10")
685685
686686 cR(cO(cO(cO(cO(cO(cO(cO(cO(cO(cO(cN, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
687687 }
688688 let ds = dt._1
689689 let dr = dt._2
690690 let do = n((ds - value(dr)))
691691 if ((cw >= do))
692692 then $Tuple2(nil, toInt(ds))
693693 else throw(((((("Y calculation error, yDiff = " + toString(do)) + ", yNext = ") + toString(ds)) + ", yPrev = ") + toString(value(dr))))
694694 }
695695
696696
697697
698698 @Callable(aI)
699699 func setManager (du) = {
700700 let dv = aR(aI)
701701 if ((dv == dv))
702702 then {
703703 let dw = fromBase58String(du)
704704 if ((dw == dw))
705705 then [StringEntry(aM(), du)]
706706 else throw("Strict value is not equal to itself.")
707707 }
708708 else throw("Strict value is not equal to itself.")
709709 }
710710
711711
712712
713713 @Callable(aI)
714714 func confirmManager () = {
715715 let dx = aQ()
716716 let dy = if (isDefined(dx))
717717 then true
718718 else throw("No pending manager")
719719 if ((dy == dy))
720720 then {
721721 let dz = if ((aI.callerPublicKey == value(dx)))
722722 then true
723723 else throw("You are not pending manager")
724724 if ((dz == dz))
725725 then [StringEntry(aL(), toBase58String(value(dx))), DeleteEntry(aM())]
726726 else throw("Strict value is not equal to itself.")
727727 }
728728 else throw("Strict value is not equal to itself.")
729729 }
730730
731731
732732 @Verifier(dA)
733733 func dB () = {
734734 let dC = {
735735 let aO = aN()
736736 if ($isInstanceOf(aO, "ByteVector"))
737737 then {
738738 let aT = aO
739739 aT
740740 }
741741 else if ($isInstanceOf(aO, "Unit"))
742742 then dA.senderPublicKey
743743 else throw("Match error")
744744 }
745745 sigVerify(dA.bodyBytes, dA.proofs[0], dC)
746746 }
747747

github/deemru/w8io/026f985 
77.05 ms