tx · C5rgyD29q6DLn7ADrwUXuRumqRgxmvmxJ9rexbsCpR9s

3N7UuYar6264P58FBhVWKPQAh4Yua2hgngv:  -0.01800000 Waves

2024.11.25 21:08 [3387280] smart account 3N7UuYar6264P58FBhVWKPQAh4Yua2hgngv > SELF 0.00000000 Waves

{ "type": 13, "id": "C5rgyD29q6DLn7ADrwUXuRumqRgxmvmxJ9rexbsCpR9s", "fee": 1800000, "feeAssetId": null, "timestamp": 1732558140648, "version": 2, "chainId": 84, "sender": "3N7UuYar6264P58FBhVWKPQAh4Yua2hgngv", "senderPublicKey": "2fNSk5gmWbXBDTkSYSKd66xSgVvAYzrJnP9YSAFNvTwC", "proofs": [ "5y5pByq4M8SRvURUQywqWR2kYo86dgkdGknZb7EdPQND4UPLrqgV2dZtwCFB1foGMus6fozw6HPpQrpt5EwYjjH6" ], "script": "base64:BgIbCAISAwoBGBIDCgEIEgMKAQgSAwoBCBIDCgEIdQADU0VQAgJfXwAFY2hhaW4JAMkBAgkAygECCAUEdGhpcwVieXRlcwABAAEACkRBWV9CTE9DS1MEByRtYXRjaDAFBWNoYWluAwkAAAIBAVcFByRtYXRjaDAAoAsDCQAAAgEBVAUHJG1hdGNoMAA8CQACAQINVW5rbm93biBjaGFpbgALV0VFS19CTE9DS1MEByRtYXRjaDAFBWNoYWluAwkAAAIBAVcFByRtYXRjaDAA4E4DCQAAAgEBVAUHJG1hdGNoMAC0AQkAAgECDVVua25vd24gY2hhaW4AClZSRl9PRkZTRVQEByRtYXRjaDAFBWNoYWluAwkAAAIBAVcFByRtYXRjaDAAAAMJAAACAQFUBQckbWF0Y2gwAJD5RQkAAgECDVVua25vd24gY2hhaW4AC3VzZHRBc3NldElkBAckbWF0Y2gwBQVjaGFpbgMJAAACAQFXBQckbWF0Y2gwASCE2nqyCAM/TtG7yo7ui5O8yYLdC136B5ao1CP5qA//uQMJAAACAQFUBQckbWF0Y2gwASBVsdifcoeC7+XjW42sBatl3ppDoS8WuwXzGreHpfHFGAkAAgECDVVua25vd24gY2hhaW4AFmRlZmF1bHRSZXN0MkFkZHJlc3NTdHIEByRtYXRjaDAFBWNoYWluAwkAAAIBAVcFByRtYXRjaDACIzNQRndZdGE4YmlFejMxenBlRmU1REpLOHdFNXRyU3BRVkY4AwkAAAIBAVQFByRtYXRjaDACIzNON1V1WWFyNjI2NFA1OEZCaFZXS1BRQWg0WXVhMmhnbmd2CQACAQINVW5rbm93biBjaGFpbgAVb2xkU3Rha2luZ0NvbnRyYWN0U3RyBAckbWF0Y2gwBQVjaGFpbgMJAAACAQFXBQckbWF0Y2gwAiMzUExuY1h0UzFVODNENmNRYkZEM0g4ckJIUExnenhTRktaMQMJAAACAQFUBQckbWF0Y2gwAiMzTkRDeUJHNXE4NUp1YVJpaWdVZUV0YWlueWpDUVQzWHBabQkAAgECDVVua25vd24gY2hhaW4BD2dldFN0cmluZ09yRmFpbAIHYWRkcmVzcwNrZXkJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCBQdhZGRyZXNzBQNrZXkJALkJAgkAzAgCAgptYW5kYXRvcnkgCQDMCAIJAKUIAQUHYWRkcmVzcwkAzAgCAgEuCQDMCAIFA2tleQkAzAgCAg8gaXMgbm90IGRlZmluZWQFA25pbAIAABBJZHhDZmdBY3JlczJEYXBwAAEADUlkeENmZ1dsZ0RhcHAAAgAUSWR4Q2ZnUHV6emxlUG9vbERhcHAABAAUSWR4Q2ZnSW52ZXN0RnVuZERhcHAABQEKa2V5UmVzdENmZwACDiVzX19yZXN0Q29uZmlnAQ9rZXlSZXN0MkFkZHJlc3MAAg0lc19fcmVzdDJBZGRyARFyZWFkUmVzdENmZ09yRmFpbAEEcmVzdAkAvAkCCQEPZ2V0U3RyaW5nT3JGYWlsAgUEcmVzdAkBCmtleVJlc3RDZmcABQNTRVABGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIIcmVzdDJDZmcDaWR4CQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKYIAQkAkQMCBQhyZXN0MkNmZwUDaWR4CQCsAgICKlJlc3QgY2ZnIGRvZXNuJ3QgY29udGFpbiBhZGRyZXNzIGF0IGluZGV4IAkApAMBBQNpZHgADXJlc3QyQ29udHJhY3QJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUEdGhpcwkBD2tleVJlc3QyQWRkcmVzcwAFFmRlZmF1bHRSZXN0MkFkZHJlc3NTdHIACHJlc3QyQ2ZnCQERcmVhZFJlc3RDZmdPckZhaWwBBQ1yZXN0MkNvbnRyYWN0AA5hY3JlczJDb250cmFjdAkBGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIFCHJlc3QyQ2ZnBRBJZHhDZmdBY3JlczJEYXBwAAt3bGdDb250cmFjdAkBGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIFCHJlc3QyQ2ZnBQ1JZHhDZmdXbGdEYXBwABJwdXp6bGVQb29sQ29udHJhY3QJARhnZXRDb250cmFjdEFkZHJlc3NPckZhaWwCBQhyZXN0MkNmZwUUSWR4Q2ZnUHV6emxlUG9vbERhcHAAEmludmVzdEZ1bmRDb250cmFjdAkBGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIFCHJlc3QyQ2ZnBRRJZHhDZmdJbnZlc3RGdW5kRGFwcAATb2xkQWNyZXNDb250cmFjdEtleQIQb2xkQWNyZXNDb250cmFjdAEVa2V5TGFzdFdlZWtUeElkQnlVc2VyAQRhZGRyCQCsAgICE2xhc3RXZWVrVHhJZEJ5VXNlcl8FBGFkZHIBFGtleUN1cldlZWtUeElkQnlVc2VyAQRhZGRyCQCsAgICEmN1cldlZWtUeElkQnlVc2VyXwUEYWRkcgANd2xnQXNzZXRJZEtleQILd2xnX2Fzc2V0SWQACndsZ0Fzc2V0SWQJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnAgCBQt3bGdDb250cmFjdAUNd2xnQXNzZXRJZEtleQIYV0xHT0xEIGlzIG5vdCBpc3N1ZWQgeWV0AA9hY3Jlc0Fzc2V0SWRLZXkCDGFjcmVzQXNzZXRJZAAMYWNyZXNBc3NldElkCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJwIAgUOYWNyZXMyQ29udHJhY3QFD2FjcmVzQXNzZXRJZEtleQIXQUNSRVMgaXMgbm90IGlzc3VlZCB5ZXQBFGtleVN0YWtlZER1Y2tCeU93bmVyAQlvd25lckFkZHIJAKwCAgISc3Rha2VkRHVja0J5T3duZXJfBQlvd25lckFkZHIBFGtleVN0YWtlZE5GVHNCeU93bmVyAQlvd25lckFkZHIJAKwCAgISc3Rha2VkTkZUc0J5T3duZXJfBQlvd25lckFkZHIBFmtleUFkZHJlc3NUb0N1c3RvbU5hbWUBBGFkZHIJAKwCAgIYYWNjb3VudEN1c3RvbU5hbWVCeUFkZHJfBQRhZGRyAQ9rZXlBZGRyZXNzUmVmQnkBBGFkZHIJAKwCAgIJYWNjUmVmQnlfBQRhZGRyARNrZXlBZGRyZXNzUmVmZXJyYWxzAQRhZGRyCQCsAgICDWFjY1JlZmVycmFsc18FBGFkZHIBCmtleVVzZXJCZXQBBGFkZHIJAKwCAgIIdXNlckJldF8FBGFkZHIBEmtleVVzZXJXZWVrVGlja2V0cwIEYWRkcgR3ZWVrCQCsAgIJAKwCAgkArAICAhB1c2VyV2Vla1RpY2tldHNfBQRhZGRyAgFfCQCkAwEFBHdlZWsBE2tleVRvdGFsV2Vla1RpY2tldHMBBHdlZWsJAKwCAgIRdG90YWxXZWVrVGlja2V0c18JAKQDAQUEd2VlawEKd2lubmluZ0JldAEDZGF5BAFiCQBoAgUDZGF5BQpEQVlfQkxPQ0tTBAFoAwkAZgIFAWIFClZSRl9PRkZTRVQFAWIJAGQCBQFiBQpWUkZfT0ZGU0VUCQBqAgkAsQkBCQEFdmFsdWUBCAkBBXZhbHVlAQkA7QcBBQFoA3ZyZgAEAQxhc1R1cGxlNEludHMBA3ZhbAQHJG1hdGNoMAUDdmFsAwkAAQIFByRtYXRjaDACFChJbnQsIEludCwgSW50LCBJbnQpBAF0BQckbWF0Y2gwBQF0CQACAQImZmFpbCB0byBjYXN0IGludG8gKEludCwgSW50LCBJbnQsIEludCkBDGFzVHVwbGUzSW50cwEDdmFsBAckbWF0Y2gwBQN2YWwDCQABAgUHJG1hdGNoMAIPKEludCwgSW50LCBJbnQpBAF0BQckbWF0Y2gwBQF0CQACAQIhZmFpbCB0byBjYXN0IGludG8gKEludCwgSW50LCBJbnQpAQxhc1R1cGxlMkludHMBA3ZhbAQHJG1hdGNoMAUDdmFsAwkAAQIFByRtYXRjaDACCihJbnQsIEludCkEAXQFByRtYXRjaDAFAXQJAAIBAhxmYWlsIHRvIGNhc3QgaW50byAoSW50LCBJbnQpAANNNl8AwIQ9AANNOF8AgMLXLwAKVEVBTV9TSEFSRQDAmgwADkFDVElWSVRZX1NIQVJFAKCNBgAMUExBWUVSX1NIQVJFAIC1GAALWUVBUl9NSUxMSVMAgIbrx3UABkRBWV9NUwCAuJkpAAdJU1NVRTEwAICU69wDAA9QTEFZRVJTMTBfU0hBUkUAgOowABFNQVJLRVRJTkcxMF9TSEFSRQCgjQYADFRFQU0xMF9TSEFSRQCgjQYAEU5FV19TVEFLSU5HX1NUQVJUAIDzuMKxMgAKdGVhbUFkcktleQIIdGVhbUFkZHIADmxhc3RUZWFtVGltS2V5AhRsYXN0Q2xhaW1lZFRpbWVfdGVhbQAOdGVhbUFtdExlZnRLZXkCDnRlYW1BbW91bnRMZWZ0ABRsYXN0QWN0aXZpdGllc1RpbUtleQIabGFzdENsYWltZWRUaW1lX2FjdGl2aXRpZXMADWFjdEFtdExlZnRLZXkCFGFjdGl2aXRpZXNBbW91bnRMZWZ0ABFzdGFrZXJzQW10TGVmdEtleQIRc3Rha2Vyc0Ftb3VudExlZnQBFmtleUxhc3RDbGFpbVRpbWVCeVVzZXIBBGFkZHIJAKwCAgIUbGFzdENsYWltZWRUaW1lVXNlcl8FBGFkZHIBDWRpc3RyQnlQZXJpb2QCDGlzc3VlZEFtb3VudAZwZXJpb2QJAGsDBQxpc3N1ZWRBbW91bnQJAGgCBQxQTEFZRVJfU0hBUkUJAGQCBQZwZXJpb2QAAQkAaAIABgUDTTZfABF3bGdJc3N1ZTEwVGltZUtleQIPd2xnX2lzc3VlMTBUaW1lAA53bGdJc3N1ZVRpbUtleQINd2xnX2lzc3VlVGltZQAPd2xnSXNzdWVkQW10S2V5AhB3bGdfaXNzdWVkQW1vdW50AA56Yklzc3VlZEFtdEtleQISemJpbGxfaXNzdWVkQW1vdW50ARdrZXlBY3Jlc1N0YWtlZEFtdEJ5VXNlcgEEYWRkcgkArAICAhhhY3Jlc1N0YWtlZEFtb3VudEJ5VXNlcl8FBGFkZHIAEmFjcmVzU3Rha2RUb3RhbEtleQIWYWNyZXNTdGFrZWRBbW91bnRUb3RhbAAUdG90YWxGYXJtaW5nUG93ZXJLZXkCEXRvdGFsRmFybWluZ1Bvd2VyAAlkYXBwMlJlc3QAAAAMZGFwcDJTdGFraW5nAAEACGRhcHAyV2xnAAIAC2RhcHAyUHV6emxlAAMAD2RhcHAySW52ZXN0RnVuZAAEARBrZXlVc2VyRnVsbEJvbnVzAQRhZGRyCQCsAgICDnVzZXJGdWxsQm9udXNfBQRhZGRyAApsZXZlbEFjcmVzCQDMCAIAAAkAzAgCAAoJAMwIAgAUCQDMCAIAKAkAzAgCAFAJAMwIAgCWAQkAzAgCAPoBCQDMCAIAkAMJAMwIAgC8BQkAzAgCAOgHBQNuaWwBD2dldExldmVsQnlBY3JlcwEFYWNyZXMEA2FjcgkAaQIJAGQCBQVhY3JlcwD/wdcvBQNNOF8KAQdjaGVja2VyAgNhY2MEaXRlbQMJAGcCBQRpdGVtBQNhY3IFA2FjYwkAZAIFA2FjYwABCgACJGwFCmxldmVsQWNyZXMKAAIkcwkAkAMBBQIkbAoABSRhY2MwAAAKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBB2NoZWNrZXICBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECFExpc3Qgc2l6ZSBleGNlZWRzIDEwCQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAAJAAoBFmdldEZhcm1pbmdQb3dlckJ5QWNyZXMBBWFjcmVzCQBoAgkAaAIFBWFjcmVzABQJAGQCCQEPZ2V0TGV2ZWxCeUFjcmVzAQUFYWNyZXMABAEeZ2V0RmFybWluZ1Bvd2VyQnlBY3Jlc0FuZEJvbnVzAgVhY3JlcwZib251czYECm5vdEJvbnVzZWQJARZnZXRGYXJtaW5nUG93ZXJCeUFjcmVzAQUFYWNyZXMJAJQKAgkAawMFCm5vdEJvbnVzZWQJAGQCBQNNNl8FBmJvbnVzNgUDTTZfBQpub3RCb251c2VkARBnZXRGYXJtaW5nUG93ZXJzAhJ1c2VyQWRkclN0ck9yRW1wdHkOYWNyZXMyQ29udHJhY3QEB3RvdGFsRlAJAQt2YWx1ZU9yRWxzZQIJAJoIAgUOYWNyZXMyQ29udHJhY3QFFHRvdGFsRmFybWluZ1Bvd2VyS2V5AAAECXVzZXJBY3JlcwkBC3ZhbHVlT3JFbHNlAgkAmggCBQ5hY3JlczJDb250cmFjdAkBF2tleUFjcmVzU3Rha2VkQW10QnlVc2VyAQUSdXNlckFkZHJTdHJPckVtcHR5AAAECXVzZXJCb251cwkBC3ZhbHVlT3JFbHNlAgkAmggCBQ5hY3JlczJDb250cmFjdAkBEGtleVVzZXJGdWxsQm9udXMBBRJ1c2VyQWRkclN0ck9yRW1wdHkAAAQIJHQwNzkxMTkJAR5nZXRGYXJtaW5nUG93ZXJCeUFjcmVzQW5kQm9udXMCBQl1c2VyQWNyZXMFCXVzZXJCb251cwQNdXNlckZQYm9udXNlZAgFCCR0MDc5MTE5Al8xBBB1c2VyRlBub3RCb251c2VkCAUIJHQwNzkxMTkCXzIJAMwIAgUHdG90YWxGUAkAzAgCBQ11c2VyRlBib251c2VkCQDMCAIFEHVzZXJGUG5vdEJvbnVzZWQJAMwIAgUJdXNlckJvbnVzBQNuaWwACmlkeFRvdGFsRlAAAAAQaWR4VXNlckZQYm9udXNlZAABABNpZHhVc2VyRlBub3RCb251c2VkAAIAC2l4V2xnQW1vdW50AAAACGl4V2xnV2xnAAEACml4V2xnUHJpY2UAAgAKaXhXbGdGdW5kcwADAA1peFdsZ0FjdGl2aXR5AAQAC2l4V2xnQWNyZXMyAAUADml4V2xnQXJiaXRyYWdlAAYACWl4V2xnUG9vbAAHAA5peFdsZ0lzc3VlVGltZQAIABRpeFdsZ0xhc3RUZWFtQWN0VGltZQAJAA5peFdsZ1RlYW1Ub3RhbAAKAA9peFdsZ1RlYW1BbUxlZnQACwATaXhXbGdUZWFtQW1BdmFpbE5vdwAMAA9peFdsZ1RlYW1XbGdvbGQADQANaXhXbGdBY3RUb3RhbAAOAA5peFdsZ0FjdEFtTGVmdAAPABJpeFdsZ0FjdEFtQXZhaWxOb3cAEAAOaXhXbGdBY3RXbGdvbGQAEQAOaXhXbGdDdXJQZXJpb2QAEgAQaXhXbGdBbUxlZnRUb3RhbAATABppeFdsZ0N1clBlcmlvZERpc3RyaWJ1dGlvbgAUABFpeFdsZ0xhc3RVc2VyVGltZQAVABVpeFdsZ0ludmVzdEZ1bmRBbW91bnQAFgATaXhXbGdVc2VyQW1BdmFpbE5vdwAXABBpeFdsZ0VmZlVzZXJUaW1lABgAEml4V2xnSXNzdWUxMEFtb3VudAAZABtpeFdsZ01hcmtldGluZ0lzc3VlMTBBbW91bnQAGgAWaXhXbGdUZWFtSXNzdWUxMEFtb3VudAAbAA9peFdsZ1VzZXIxMHBhcnQAHAAQaXhXbGdJc3N1ZTEwVGltZQAdABZpeFdsZ1RvdGFsRmFybWluZ1Bvd2VyAB4AFWl4V2xnQWNyZXNTdGFrZWRUb3RhbAAfAQxnZXRXbGdTdGF0czIEC3VzZXJBZGRyT3B0CWNvbnRyYWN0cwZ1c2R0SWQVdXNkdEJhbGFuY2VDb3JyZWN0aW9uBAxpc3N1ZWRBbW91bnQJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAmggCCQCRAwIFCWNvbnRyYWN0cwUIZGFwcDJXbGcFD3dsZ0lzc3VlZEFtdEtleQIYV0xHT0xEIGlzIG5vdCBpc3N1ZWQgeWV0BAdyZXN0VXNkCQDwBwIJAJEDAgUJY29udHJhY3RzBQlkYXBwMlJlc3QFBnVzZHRJZAQGd2xnVXNkCQBlAgkA8AcCCQCRAwIFCWNvbnRyYWN0cwUIZGFwcDJXbGcFBnVzZHRJZAUVdXNkdEJhbGFuY2VDb3JyZWN0aW9uBAlwdXp6bGVVc2QJAPAHAgkAkQMCBQljb250cmFjdHMFC2RhcHAyUHV6emxlBQZ1c2R0SWQECWFjcmVzMlVzZAkA8AcCCQCRAwIFCWNvbnRyYWN0cwUMZGFwcDJTdGFraW5nBQZ1c2R0SWQEEWludmVzdEZuZENvbnRyYWN0CQCRAwIFCWNvbnRyYWN0cwUPZGFwcDJJbnZlc3RGdW5kBA9pbnZlc3RGdW5kVG90YWwJAGQCCQDwBwIFEWludmVzdEZuZENvbnRyYWN0BQZ1c2R0SWQJAQt2YWx1ZU9yRWxzZQIJAJoIAgURaW52ZXN0Rm5kQ29udHJhY3QFDnpiSXNzdWVkQW10S2V5AAAEDXRvdGFsRnVuZHNVc2QJAGQCCQBkAgUJYWNyZXMyVXNkBQZ3bGdVc2QFD2ludmVzdEZ1bmRUb3RhbAQFd2xnSWQJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnAgCCQCRAwIFCWNvbnRyYWN0cwUIZGFwcDJXbGcCC3dsZ19hc3NldElkAhNOb3QgaW5pdGlhbGl6ZWQgeWV0BANub3cIBQlsYXN0QmxvY2sJdGltZXN0YW1wBAlpc3N1ZVRpbWUJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAmggCCQCRAwIFCWNvbnRyYWN0cwUIZGFwcDJXbGcFDndsZ0lzc3VlVGltS2V5Ag9Ob3QgaW5pdGlhbGl6ZWQEBndsZ1dsZwkA8AcCCQCRAwIFCWNvbnRyYWN0cwUIZGFwcDJXbGcFBXdsZ0lkBAl0ZWFtVG90YWwJAGsDBQxpc3N1ZWRBbW91bnQFClRFQU1fU0hBUkUFA002XwQOdGVhbUFtb3VudExlZnQJAQt2YWx1ZU9yRWxzZQIJAJoIAgkAkQMCBQljb250cmFjdHMFCGRhcHAyV2xnBQ50ZWFtQW10TGVmdEtleQUJdGVhbVRvdGFsBAxsYXN0VGVhbVRpbWUJAQt2YWx1ZU9yRWxzZQIJAJoIAgkAkQMCBQljb250cmFjdHMFCGRhcHAyV2xnBQ5sYXN0VGVhbVRpbUtleQUJaXNzdWVUaW1lBAh0ZWFtQWRkcgkBEUBleHRyTmF0aXZlKDEwNjIpAQkBBXZhbHVlAQkAnQgCCQCRAwIFCWNvbnRyYWN0cwUIZGFwcDJXbGcFCnRlYW1BZHJLZXkEFnRlYW1BbW91bnRBdmFpbGFibGVOb3cJAJcDAQkAzAgCCQBrAwUJdGVhbVRvdGFsCQBlAgUDbm93BQxsYXN0VGVhbVRpbWUJAGgCAAMFC1lFQVJfTUlMTElTCQDMCAIFDnRlYW1BbW91bnRMZWZ0BQNuaWwECnRlYW1XbGdvbGQJAPAHAgUIdGVhbUFkZHIFBXdsZ0lkBAhhY3RUb3RhbAkAawMFDGlzc3VlZEFtb3VudAUOQUNUSVZJVFlfU0hBUkUFA002XwQNYWN0QW1vdW50TGVmdAkBC3ZhbHVlT3JFbHNlAgkAmggCCQCRAwIFCWNvbnRyYWN0cwUIZGFwcDJXbGcFDWFjdEFtdExlZnRLZXkFCGFjdFRvdGFsBBJsYXN0QWN0aXZpdGllc1RpbWUJAQt2YWx1ZU9yRWxzZQIJAJoIAgkAkQMCBQljb250cmFjdHMFCGRhcHAyV2xnBRRsYXN0QWN0aXZpdGllc1RpbUtleQUJaXNzdWVUaW1lBBVhY3RBbW91bnRBdmFpbGFibGVOb3cJAJcDAQkAzAgCCQBrAwUIYWN0VG90YWwJAGUCBQNub3cFEmxhc3RBY3Rpdml0aWVzVGltZQkAaAIAAwULWUVBUl9NSUxMSVMJAMwIAgUNYWN0QW1vdW50TGVmdAUDbmlsBAlhY3RXbGdvbGQJAPAHAgkAkQMCBQljb250cmFjdHMFCWRhcHAyUmVzdAUFd2xnSWQEDGxhc3RVc2VyVGltZQkBC3ZhbHVlT3JFbHNlAgkAmggCCQCRAwIFCWNvbnRyYWN0cwUIZGFwcDJXbGcJARZrZXlMYXN0Q2xhaW1UaW1lQnlVc2VyAQULdXNlckFkZHJPcHQFCWlzc3VlVGltZQQObGFzdFVzZXJQZXJpb2QJAGkCCQBlAgUMbGFzdFVzZXJUaW1lBQlpc3N1ZVRpbWUFC1lFQVJfTUlMTElTBApub3dMaW1pdGVkCQCXAwEJAMwIAgUDbm93CQDMCAIJAGQCBQlpc3N1ZVRpbWUJAGgCAAMFC1lFQVJfTUlMTElTBQNuaWwECWN1clBlcmlvZAkAlwMBCQDMCAIJAGkCCQBlAgUDbm93BQlpc3N1ZVRpbWUFC1lFQVJfTUlMTElTCQDMCAIAAgUDbmlsBANlZmYJARBnZXRGYXJtaW5nUG93ZXJzAgULdXNlckFkZHJPcHQJAJEDAgUJY29udHJhY3RzBQxkYXBwMlN0YWtpbmcEFWN1clBlcmlvZERpc3RyaWJ1dGlvbgkBDWRpc3RyQnlQZXJpb2QCBQxpc3N1ZWRBbW91bnQFCWN1clBlcmlvZAQNcHJldlBlcmlvZEVuZAkAZAIFCWlzc3VlVGltZQkAaAIFC1lFQVJfTUlMTElTBQljdXJQZXJpb2QEEXByZXZQcmV2UGVyaW9kRW5kCQBkAgUJaXNzdWVUaW1lCQBoAgULWUVBUl9NSUxMSVMJAGUCBQljdXJQZXJpb2QAAQQCYTAJAGsDBRVjdXJQZXJpb2REaXN0cmlidXRpb24JAGUCBQpub3dMaW1pdGVkBQxsYXN0VXNlclRpbWUFC1lFQVJfTUlMTElTBA11c2VyQXZhaWxhYmxlAwkAAAIFDmxhc3RVc2VyUGVyaW9kBQljdXJQZXJpb2QFAmEwAwkAAAIFDmxhc3RVc2VyUGVyaW9kCQBlAgUJY3VyUGVyaW9kAAEEAmExCQBrAwkBDWRpc3RyQnlQZXJpb2QCBQxpc3N1ZWRBbW91bnQJAGUCBQljdXJQZXJpb2QAAQkAZQIFDXByZXZQZXJpb2RFbmQFDGxhc3RVc2VyVGltZQULWUVBUl9NSUxMSVMJAGQCBQJhMQUCYTAEAmEyCQBrAwkBDWRpc3RyQnlQZXJpb2QCBQxpc3N1ZWRBbW91bnQJAGUCBQljdXJQZXJpb2QAAgkAZQIFEXByZXZQcmV2UGVyaW9kRW5kBQxsYXN0VXNlclRpbWUFC1lFQVJfTUlMTElTBAJhMQkBDWRpc3RyQnlQZXJpb2QCBQxpc3N1ZWRBbW91bnQJAGUCBQljdXJQZXJpb2QAAQkAZAIJAGQCBQJhMgUCYTEFAmEwBA9hbW91bnRMZWZ0VG90YWwJAQt2YWx1ZU9yRWxzZQIJAJoIAgkAkQMCBQljb250cmFjdHMFCGRhcHAyV2xnBRFzdGFrZXJzQW10TGVmdEtleQAABAp1c2VyQW1vdW50AwkBAiE9AgkAkQMCBQNlZmYFCmlkeFRvdGFsRlAAAAkAawMFDXVzZXJBdmFpbGFibGUJAJEDAgUDZWZmBRBpZHhVc2VyRlBib251c2VkCQCRAwIFA2VmZgUKaWR4VG90YWxGUAAABA9sYXN0SXNzdWUxMFRpbWUJAQt2YWx1ZU9yRWxzZQIJAJoIAgkAkQMCBQljb250cmFjdHMFCGRhcHAyV2xnBRF3bGdJc3N1ZTEwVGltZUtleQURTkVXX1NUQUtJTkdfU1RBUlQEDWlzc3VlMTBBbW91bnQJAGsDBQdJU1NVRTEwCQCWAwEJAMwIAgkAZQIFA25vdwUPbGFzdElzc3VlMTBUaW1lCQDMCAIAAAUDbmlsBQZEQVlfTVMEFm1hcmtldGluZ0lzc3VlMTBBbW91bnQJAGsDBQ1pc3N1ZTEwQW1vdW50BRFNQVJLRVRJTkcxMF9TSEFSRQUDTTZfBBF0ZWFtSXNzdWUxMEFtb3VudAkAawMFDWlzc3VlMTBBbW91bnQFDFRFQU0xMF9TSEFSRQUDTTZfBA51c2VyMTBJbnRlcnZhbAkAlgMBCQDMCAIJAGUCBQNub3cJAJYDAQkAzAgCBRFORVdfU1RBS0lOR19TVEFSVAkAzAgCBQxsYXN0VXNlclRpbWUFA25pbAkAzAgCAAAFA25pbAQKdXNlcjEwcGFydAMJAQIhPQIJAJEDAgUDZWZmBQppZHhUb3RhbEZQAAAJAGsDCQBrAwkAawMFB0lTU1VFMTAFDnVzZXIxMEludGVydmFsBQZEQVlfTVMJAJEDAgUDZWZmBRBpZHhVc2VyRlBib251c2VkCQCRAwIFA2VmZgUKaWR4VG90YWxGUAUPUExBWUVSUzEwX1NIQVJFBQNNNl8AAAQObmV3SXNzdWUxMFRpbWUJAJYDAQkAzAgCBRFORVdfU1RBS0lOR19TVEFSVAkAzAgCBQNub3cFA25pbAQQYWNyZXNTdGFrZWRUb3RhbAkBC3ZhbHVlT3JFbHNlAgkAmggCCQCRAwIFCWNvbnRyYWN0cwUMZGFwcDJTdGFraW5nBRJhY3Jlc1N0YWtkVG90YWxLZXkAAAkAzAgCBQxpc3N1ZWRBbW91bnQJAMwIAgUGd2xnV2xnCQDMCAIJAGsDBQ10b3RhbEZ1bmRzVXNkBQNNOF8FDGlzc3VlZEFtb3VudAkAzAgCBQ10b3RhbEZ1bmRzVXNkCQDMCAIFB3Jlc3RVc2QJAMwIAgUJYWNyZXMyVXNkCQDMCAIFBndsZ1VzZAkAzAgCBQlwdXp6bGVVc2QJAMwIAgUJaXNzdWVUaW1lCQDMCAIFDGxhc3RUZWFtVGltZQkAzAgCBQl0ZWFtVG90YWwJAMwIAgUOdGVhbUFtb3VudExlZnQJAMwIAgUWdGVhbUFtb3VudEF2YWlsYWJsZU5vdwkAzAgCBQp0ZWFtV2xnb2xkCQDMCAIFCGFjdFRvdGFsCQDMCAIFDWFjdEFtb3VudExlZnQJAMwIAgUVYWN0QW1vdW50QXZhaWxhYmxlTm93CQDMCAIFCWFjdFdsZ29sZAkAzAgCBQljdXJQZXJpb2QJAMwIAgUPYW1vdW50TGVmdFRvdGFsCQDMCAIFFWN1clBlcmlvZERpc3RyaWJ1dGlvbgkAzAgCBQxsYXN0VXNlclRpbWUJAMwIAgUPaW52ZXN0RnVuZFRvdGFsCQDMCAIFCnVzZXJBbW91bnQJAMwIAgUKbm93TGltaXRlZAkAzAgCBQ1pc3N1ZTEwQW1vdW50CQDMCAIFFm1hcmtldGluZ0lzc3VlMTBBbW91bnQJAMwIAgURdGVhbUlzc3VlMTBBbW91bnQJAMwIAgUKdXNlcjEwcGFydAkAzAgCBQ5uZXdJc3N1ZTEwVGltZQkAzAgCCQCRAwIFA2VmZgUKaWR4VG90YWxGUAkAzAgCBRBhY3Jlc1N0YWtlZFRvdGFsBQNuaWwBDndhbGxldEludGVybmFsAQ51c2VyQWRkcmVzc09wdAQEYWRkcgkApggBBQ51c2VyQWRkcmVzc09wdAQHYmFsYW5jZQMJAQlpc0RlZmluZWQBBQRhZGRyCQDvBwEJAQV2YWx1ZQEFBGFkZHIJAQ5CYWxhbmNlRGV0YWlscwQAAAAAAAAAAAQLdXNkdEJhbGFuY2UDCQEJaXNEZWZpbmVkAQUEYWRkcgkA8AcCCQEFdmFsdWUBBQRhZGRyBQt1c2R0QXNzZXRJZAAABA13bGdvbGRCYWxhbmNlAwkBCWlzRGVmaW5lZAEFBGFkZHIJAPAHAgkBBXZhbHVlAQUEYWRkcgUKd2xnQXNzZXRJZAAABApjdXN0b21OYW1lCQELdmFsdWVPckVsc2UCCQCdCAIFDmFjcmVzMkNvbnRyYWN0CQEWa2V5QWRkcmVzc1RvQ3VzdG9tTmFtZQEFDnVzZXJBZGRyZXNzT3B0BQ51c2VyQWRkcmVzc09wdAQIcmVmQnlLZXkJAQ9rZXlBZGRyZXNzUmVmQnkBBQ51c2VyQWRkcmVzc09wdAQFcmVmQnkJAJ0IAgUOYWNyZXMyQ29udHJhY3QFCHJlZkJ5S2V5BARyZWZzCQELdmFsdWVPckVsc2UCCQCdCAIFDmFjcmVzMkNvbnRyYWN0CQETa2V5QWRkcmVzc1JlZmVycmFscwEFDnVzZXJBZGRyZXNzT3B0AgAECGxhc3RUeElkCQELdmFsdWVPckVsc2UCCQCdCAIFDmFjcmVzMkNvbnRyYWN0CQEVa2V5TGFzdFdlZWtUeElkQnlVc2VyAQUOdXNlckFkZHJlc3NPcHQCAAQHY3VyVHhJZAkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ5hY3JlczJDb250cmFjdAkBFGtleUN1cldlZWtUeElkQnlVc2VyAQUOdXNlckFkZHJlc3NPcHQCAAQMYWNyZXNCYWxhbmNlAwkBCWlzRGVmaW5lZAEFBGFkZHIJAPAHAgkBBXZhbHVlAQUEYWRkcgUMYWNyZXNBc3NldElkAAAEC3N0YWtlZEFjcmVzCQELdmFsdWVPckVsc2UCCQCaCAIFDmFjcmVzMkNvbnRyYWN0CQEXa2V5QWNyZXNTdGFrZWRBbXRCeVVzZXIBBQ51c2VyQWRkcmVzc09wdAAABANsdmwJAQ9nZXRMZXZlbEJ5QWNyZXMBBQtzdGFrZWRBY3JlcwQCZnAJARBnZXRGYXJtaW5nUG93ZXJzAgUOdXNlckFkZHJlc3NPcHQFDmFjcmVzMkNvbnRyYWN0BA5hY3Jlc1RvTmV4dEx2bAMJAGcCBQNsdmwJAJADAQUKbGV2ZWxBY3JlcwAACQBlAgkAZAIJAGgCCQCRAwIFCmxldmVsQWNyZXMFA2x2bAUDTThfAAEFC3N0YWtlZEFjcmVzBARuZnRzCQELdmFsdWVPckVsc2UCCQCdCAIFDmFjcmVzMkNvbnRyYWN0CQEUa2V5U3Rha2VkTkZUc0J5T3duZXIBBQ51c2VyQWRkcmVzc09wdAIABAVib251cwkBC3ZhbHVlT3JFbHNlAgkAmggCBQ5hY3JlczJDb250cmFjdAkBEGtleVVzZXJGdWxsQm9udXMBBQ51c2VyQWRkcmVzc09wdAAACQDMCAIJAKwCAgISJXMlc19fY3VzdG9tTmFtZV9fBQpjdXN0b21OYW1lCQDMCAIJAKwCAgISJXMlc19fcmVmZXJyZWRCeV9fCQELdmFsdWVPckVsc2UCBQVyZWZCeQIACQDMCAIJAKwCAgIRJXMlc19fcmVmZXJyYWxzX18FBHJlZnMJAMwIAgkArAICAhQlcyVzX19sYXN0V2Vla1R4SWRfXwUIbGFzdFR4SWQJAMwIAgkArAICAhMlcyVzX19jdXJXZWVrVHhJZF9fBQhsYXN0VHhJZAkAzAgCCQCsAgICFCVzJWRfX3dhdmVzQmFsYW5jZV9fCQCkAwEIBQdiYWxhbmNlCWF2YWlsYWJsZQkAzAgCCQCsAgICEyVzJWRfX3VzZHRCYWxhbmNlX18JAKQDAQULdXNkdEJhbGFuY2UJAMwIAgkArAICAhUlcyVkX193bGdvbGRCYWxhbmNlX18JAKQDAQUNd2xnb2xkQmFsYW5jZQkAzAgCCQCsAgICFCVzJWRfX2FjcmVzQmFsYW5jZV9fCQCkAwEFDGFjcmVzQmFsYW5jZQkAzAgCCQCsAgICEyVzJWRfX3N0YWtlZEFjcmVzX18JAKQDAQULc3Rha2VkQWNyZXMJAMwIAgkArAICAhIlcyVkX19jdXJyZW50THZsX18JAKQDAQUDbHZsCQDMCAIJAKwCAgIWJXMlZF9fYWNyZXNUb05leHRMdmxfXwkApAMBBQ5hY3Jlc1RvTmV4dEx2bAkAzAgCCQCsAgICECVzJXNfX3VzZXJORlRzX18FBG5mdHMJAMwIAgkArAICAhElcyVkX191c2VyQm9udXNfXwkApAMBBQVib251cwkAzAgCCQCsAgICHCVzJWRfX3VzZXJCYXNlRmFybWluZ1Bvd2VyX18JAKQDAQkAkQMCBQJmcAUTaWR4VXNlckZQbm90Qm9udXNlZAkAzAgCCQCsAgICGCVzJWRfX3VzZXJGYXJtaW5nUG93ZXJfXwkApAMBCQCRAwIFAmZwBRBpZHhVc2VyRlBib251c2VkCQDMCAIJAKwCAgIZJXMlZF9fdG90YWxGYXJtaW5nUG93ZXJfXwkApAMBCQCRAwIFAmZwBQppZHhUb3RhbEZQBQNuaWwFAWkBDWNvbnN0cnVjdG9yVjEBCWNvbnRyYWN0cwMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECEnBlcm1pc3Npb25zIGRlbmllZAoBCmRlc2NyaXB0b3ICA2FjYwtpZ25vcmVkSXRlbQkArAICBQNhY2MCAiVzBAVkZXNjcgoAAiRsBQljb250cmFjdHMKAAIkcwkAkAMBBQIkbAoABSRhY2MwAgAKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBCmRlc2NyaXB0b3ICBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECFExpc3Qgc2l6ZSBleGNlZWRzIDEwCQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAAJAAoJAMwIAgkBC1N0cmluZ0VudHJ5AgkBCmtleVJlc3RDZmcACQC5CQIJAMwIAgUFZGVzY3IFCWNvbnRyYWN0cwUDU0VQCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQ9rZXlSZXN0MkFkZHJlc3MACQClCAEFBHRoaXMFA25pbAFpARJ3YWxsZXRJbmZvUkVBRE9OTFkBDnVzZXJBZGRyZXNzT3B0CQCUCgIFA25pbAkBDndhbGxldEludGVybmFsAQUOdXNlckFkZHJlc3NPcHQBaQEWY29udmVyc2lvbkluZm9SRUFET05MWQEOdXNlckFkZHJlc3NPcHQED29sZEFjcmVzQWRkcmVzcwkBEUBleHRyTmF0aXZlKDEwNjIpAQkBEUBleHRyTmF0aXZlKDEwNTMpAgUOYWNyZXMyQ29udHJhY3QFE29sZEFjcmVzQ29udHJhY3RLZXkECyR0MDUwMjQ1MTQ2CQEMYXNUdXBsZTJJbnRzAQkA/AcEBQ9vbGRBY3Jlc0FkZHJlc3MCF3Vuc3Rha2VBbGxBY3Jlc1JFQURPTkxZCQDMCAIFDnVzZXJBZGRyZXNzT3B0BQNuaWwFA25pbAQNdW5zdGFrZWRBY3JlcwgFCyR0MDUwMjQ1MTQ2Al8xBAxjbGFpbWVkQWNyZXMIBQskdDA1MDI0NTE0NgJfMgQLJHQwNTE0OTUyOTgJAQxhc1R1cGxlNEludHMBCQD8BwQFDmFjcmVzMkNvbnRyYWN0AhR1bnN0YWtlTGFuZHNSRUFET05MWQkAzAgCBQ51c2VyQWRkcmVzc09wdAUDbmlsBQNuaWwED2FjcmVzRnJvbVBpZWNlcwgFCyR0MDUxNDk1Mjk4Al8xBAxhY3Jlc0Zyb21SZXMIBQskdDA1MTQ5NTI5OAJfMgQMYWNyZXNGcm9tTWF0CAULJHQwNTE0OTUyOTgCXzMEDWFjcmVzRnJvbVByb2QIBQskdDA1MTQ5NTI5OAJfNAQRb2xkU3Rha2luZ0FkZHJlc3MJARFAZXh0ck5hdGl2ZSgxMDYyKQEFFW9sZFN0YWtpbmdDb250cmFjdFN0cgQLZHVja0Fzc2V0SWQJAQt2YWx1ZU9yRWxzZQIJAJ0IAgURb2xkU3Rha2luZ0FkZHJlc3MJARRrZXlTdGFrZWREdWNrQnlPd25lcgEFDnVzZXJBZGRyZXNzT3B0AgAECyR0MDU0NzY1Njk4AwkBAiE9AgULZHVja0Fzc2V0SWQCAAkBDGFzVHVwbGUzSW50cwEJAPwHBAURb2xkU3Rha2luZ0FkZHJlc3MCE3Vuc3Rha2VEdWNrUkVBRE9OTFkJAMwIAgULZHVja0Fzc2V0SWQJAMwIAgUOdXNlckFkZHJlc3NPcHQFA25pbAUDbmlsCQCVCgMAAAAAAAAEEGFjcmVzRnJvbUR1Y2tSZXMIBQskdDA1NDc2NTY5OAJfMQQQYWNyZXNGcm9tRHVja01hdAgFCyR0MDU0NzY1Njk4Al8yBBFhY3Jlc0Zyb21EdWNrUHJvZAgFCyR0MDU0NzY1Njk4Al8zCQCUCgIFA25pbAkAzAgCCQCsAgICFSVzJWRfX3Vuc3Rha2VkQWNyZXNfXwkApAMBBQ11bnN0YWtlZEFjcmVzCQDMCAIJAKwCAgIUJXMlZF9fY2xhaW1lZEFjcmVzX18JAKQDAQUMY2xhaW1lZEFjcmVzCQDMCAIJAKwCAgIXJXMlZF9fYWNyZXNGcm9tUGllY2VzX18JAKQDAQUPYWNyZXNGcm9tUGllY2VzCQDMCAIJAKwCAgIUJXMlZF9fYWNyZXNGcm9tUmVzX18JAKQDAQUMYWNyZXNGcm9tUmVzCQDMCAIJAKwCAgIUJXMlZF9fYWNyZXNGcm9tTWF0X18JAKQDAQUMYWNyZXNGcm9tTWF0CQDMCAIJAKwCAgIVJXMlZF9fYWNyZXNGcm9tUHJvZF9fCQCkAwEFDWFjcmVzRnJvbVByb2QJAMwIAgkArAICAhglcyVkX19hY3Jlc0Zyb21EdWNrUmVzX18JAKQDAQUQYWNyZXNGcm9tRHVja1JlcwkAzAgCCQCsAgICGCVzJWRfX2FjcmVzRnJvbUR1Y2tNYXRfXwkApAMBBRBhY3Jlc0Zyb21EdWNrTWF0CQDMCAIJAKwCAgIZJXMlZF9fYWNyZXNGcm9tRHVja1Byb2RfXwkApAMBBRFhY3Jlc0Zyb21EdWNrUHJvZAUDbmlsAWkBEHdsZ1N0YXRzUkVBRE9OTFkBC3VzZXJBZGRyT3B0BAhjdXJTdGF0cwkBDGdldFdsZ1N0YXRzMgQFC3VzZXJBZGRyT3B0CQDMCAIFDXJlc3QyQ29udHJhY3QJAMwIAgUOYWNyZXMyQ29udHJhY3QJAMwIAgULd2xnQ29udHJhY3QJAMwIAgUScHV6emxlUG9vbENvbnRyYWN0CQDMCAIFEmludmVzdEZ1bmRDb250cmFjdAUDbmlsBQt1c2R0QXNzZXRJZAAACQCUCgIFA25pbAkAzAgCCQCsAgICESVzJWRfX3dsZ0Ftb3VudF9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFC2l4V2xnQW1vdW50CQDMCAIJAKwCAgIOJXMlZF9fd2xnV2xnX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUIaXhXbGdXbGcJAMwIAgkArAICAhAlcyVkX193bGdQcmljZV9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFCml4V2xnUHJpY2UJAMwIAgkArAICAhElcyVkX191c2R0RnVuZHNfXwkApAMBCQCRAwIFCGN1clN0YXRzBQppeFdsZ0Z1bmRzCQDMCAIJAKwCAgIUJXMlZF9fdXNkdEFjdGl2aXR5X18JAKQDAQkAkQMCBQhjdXJTdGF0cwUNaXhXbGdBY3Rpdml0eQkAzAgCCQCsAgICEyVzJWRfX3VzZHRTdGFraW5nX18JAKQDAQkAkQMCBQhjdXJTdGF0cwULaXhXbGdBY3JlczIJAMwIAgkArAICAhUlcyVkX191c2R0QXJiaXRyYWdlX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUOaXhXbGdBcmJpdHJhZ2UJAMwIAgkArAICAhAlcyVkX191c2R0UG9vbF9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFCWl4V2xnUG9vbAkAzAgCCQCsAgICFCVzJWRfX3dsZ0lzc3VlVGltZV9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFDml4V2xnSXNzdWVUaW1lCQDMCAIJAKwCAgIaJXMlZF9fd2xnTGFzdFRlYW1BY3RUaW1lX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUUaXhXbGdMYXN0VGVhbUFjdFRpbWUJAMwIAgkArAICAhQlcyVkX193bGdUZWFtVG90YWxfXwkApAMBCQCRAwIFCGN1clN0YXRzBQ5peFdsZ1RlYW1Ub3RhbAkAzAgCCQCsAgICFSVzJWRfX3dsZ1RlYW1BbUxlZnRfXwkApAMBCQCRAwIFCGN1clN0YXRzBQ9peFdsZ1RlYW1BbUxlZnQJAMwIAgkArAICAhklcyVkX193bGdUZWFtQW1BdmFpbE5vd19fCQCkAwEJAJEDAgUIY3VyU3RhdHMFE2l4V2xnVGVhbUFtQXZhaWxOb3cJAMwIAgkArAICAhUlcyVkX193bGdUZWFtV2xnb2xkX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUPaXhXbGdUZWFtV2xnb2xkCQDMCAIJAKwCAgITJXMlZF9fd2xnQWN0VG90YWxfXwkApAMBCQCRAwIFCGN1clN0YXRzBQ1peFdsZ0FjdFRvdGFsCQDMCAIJAKwCAgIUJXMlZF9fd2xnQWN0QW1MZWZ0X18JAKQDAQkAkQMCBQhjdXJTdGF0cwUOaXhXbGdBY3RBbUxlZnQJAMwIAgkArAICAhglcyVkX193bGdBY3RBbUF2YWlsTm93X18JAKQDAQkAkQMCBQhjdXJTdGF0cwUSaXhXbGdBY3RBbUF2YWlsTm93CQDMCAIJAKwCAgIUJXMlZF9fd2xnQWN0V2xnb2xkX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUOaXhXbGdBY3RXbGdvbGQJAMwIAgkArAICAhQlcyVkX193bGdDdXJQZXJpb2RfXwkApAMBCQCRAwIFCGN1clN0YXRzBQ5peFdsZ0N1clBlcmlvZAkAzAgCCQCsAgICFiVzJWRfX3dsZ0FtTGVmdFRvdGFsX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUQaXhXbGdBbUxlZnRUb3RhbAkAzAgCCQCsAgICICVzJWRfX3dsZ0N1clBlcmlvZERpc3RyaWJ1dGlvbl9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFGml4V2xnQ3VyUGVyaW9kRGlzdHJpYnV0aW9uCQDMCAIJAKwCAgIXJXMlZF9fd2xnTGFzdFVzZXJUaW1lX18JAKQDAQkAkQMCBQhjdXJTdGF0cwURaXhXbGdMYXN0VXNlclRpbWUJAMwIAgkArAICAholcyVkX193bGdJbnZlc3RGdW5kVG90YWxfXwkApAMBCQCRAwIFCGN1clN0YXRzBRVpeFdsZ0ludmVzdEZ1bmRBbW91bnQJAMwIAgkArAICAhklcyVkX193bGdVc2VyQW1BdmFpbE5vd19fCQCkAwEJAJEDAgUIY3VyU3RhdHMFE2l4V2xnVXNlckFtQXZhaWxOb3cJAMwIAgkArAICAhYlcyVkX193bGdFZmZVc2VyVGltZV9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFEGl4V2xnRWZmVXNlclRpbWUJAMwIAgkArAICAholcyVkX193bGdJc3N1ZTEwQXZhaWxOb3dfXwkApAMBCQCRAwIFCGN1clN0YXRzBRJpeFdsZ0lzc3VlMTBBbW91bnQJAMwIAgkArAICAiMlcyVkX193bGdNYXJrZXRpbmdJc3N1ZTEwQXZhaWxOb3dfXwkApAMBCQCRAwIFCGN1clN0YXRzBRtpeFdsZ01hcmtldGluZ0lzc3VlMTBBbW91bnQJAMwIAgkArAICAh4lcyVkX193bGdUZWFtSXNzdWUxMEF2YWlsTm93X18JAKQDAQkAkQMCBQhjdXJTdGF0cwUWaXhXbGdUZWFtSXNzdWUxMEFtb3VudAkAzAgCCQCsAgICHiVzJWRfX3dsZ1VzZXJJc3N1ZTEwQXZhaWxOb3dfXwkApAMBCQCRAwIFCGN1clN0YXRzBQ9peFdsZ1VzZXIxMHBhcnQJAMwIAgkArAICAholcyVkX193bGdMYXN0SXNzdWUxMFRpbWVfXwkApAMBCQCRAwIFCGN1clN0YXRzBRBpeFdsZ0lzc3VlMTBUaW1lCQDMCAIJAKwCAgIcJXMlZF9fd2xnVG90YWxGYXJtaW5nUG93ZXJfXwkApAMBCQCRAwIFCGN1clN0YXRzBRZpeFdsZ1RvdGFsRmFybWluZ1Bvd2VyCQDMCAIJAKwCAgIbJXMlZF9fd2xnQWNyZXNTdGFrZWRUb3RhbF9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFFWl4V2xnQWNyZXNTdGFrZWRUb3RhbAUDbmlsAWkBFGxvdHRlcnlTdGF0c1JFQURPTkxZAQt1c2VyQWRkck9wdAQFdG9kYXkJAGkCBQZoZWlnaHQFCkRBWV9CTE9DS1MEBHdlZWsJAGkCBQZoZWlnaHQFC1dFRUtfQkxPQ0tTBAhsYXN0V2VlawkAZQIFBHdlZWsAAQQOY3VyV2Vla1RpY2tldHMJAQt2YWx1ZU9yRWxzZQIJAJoIAgULd2xnQ29udHJhY3QJARJrZXlVc2VyV2Vla1RpY2tldHMCBQt1c2VyQWRkck9wdAUEd2VlawAABA9sYXN0V2Vla1RpY2tldHMJAQt2YWx1ZU9yRWxzZQIJAJoIAgULd2xnQ29udHJhY3QJARJrZXlVc2VyV2Vla1RpY2tldHMCBQt1c2VyQWRkck9wdAUIbGFzdFdlZWsAAAQTY3VyV2Vla1RvdGFsVGlja2V0cwkBC3ZhbHVlT3JFbHNlAgkAmggCBQt3bGdDb250cmFjdAkBE2tleVRvdGFsV2Vla1RpY2tldHMBBQR3ZWVrAAAEFGxhc3RXZWVrVG90YWxUaWNrZXRzCQELdmFsdWVPckVsc2UCCQCaCAIFC3dsZ0NvbnRyYWN0CQETa2V5VG90YWxXZWVrVGlja2V0cwEFCGxhc3RXZWVrAAAECHVzZXJzQmV0CQELdmFsdWVPckVsc2UCCQCdCAIFC3dsZ0NvbnRyYWN0CQEKa2V5VXNlckJldAEFC3VzZXJBZGRyT3B0AgAJAJQKAgUDbmlsCQDMCAIJAKwCAgkArAICCQCsAgICFiVzJWQlZF9fdG90YWxUaWNrZXRzX18JAKQDAQUUbGFzdFdlZWtUb3RhbFRpY2tldHMFA1NFUAkApAMBBRNjdXJXZWVrVG90YWxUaWNrZXRzCQDMCAIJAKwCAgkArAICCQCsAgICFSVzJWQlZF9fdXNlclRpY2tldHNfXwkApAMBBQ9sYXN0V2Vla1RpY2tldHMFA1NFUAkApAMBBQ5jdXJXZWVrVGlja2V0cwkAzAgCCQCsAgICFiVzJWRfX2Jsb2NrY2hhaW5XZWVrX18JAKQDAQUEd2VlawkAzAgCCQCsAgICFSVzJWRfX2Jsb2NrY2hhaW5EYXlfXwkApAMBBQV0b2RheQkAzAgCCQCsAgICGCVzJWRfX2Jsb2NrY2hhaW5NaW51dGVfXwkApAMBCQBqAgUGaGVpZ2h0BQpEQVlfQkxPQ0tTCQDMCAIJAKwCAgIXJXMlZF9fd2lubmluZ0JldFRvZGF5X18JAKQDAQkBCndpbm5pbmdCZXQBBQV0b2RheQkAzAgCCQCsAgICECVzJXNfX3VzZXJzQmV0X18FCHVzZXJzQmV0BQNuaWwAgea0TQ==", "height": 3387280, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: UqrozsgTZ92X1uRfjLAZBpXUKAY1j7N66L2ndipXxop Next: 2mxtuXXuX1pRqThqTgdY1JsWbqU8E4f3LZkAmCyJYLZG Diff:
OldNewDifferences
449449 then 0
450450 else (((aM[df] * ae) + 1) - de)
451451 let di = valueOrElse(getString(y, M(cT)), "")
452-[("%s%s__customName__" + cX), ("%s%s__referredBy__" + valueOrElse(cZ, "")), ("%s%s__referrals__" + da), ("%s%s__lastWeekTxId__" + db), ("%s%s__curWeekTxId__" + db), ("%s%d__wavesBalance__" + toString(cU.available)), ("%s%d__usdtBalance__" + toString(cV)), ("%s%d__wlgoldBalance__" + toString(cW)), ("%s%d__acresBalance__" + toString(dd)), ("%s%d__stakedAcres__" + toString(de)), ("%s%d__currentLvl__" + toString(df)), ("%s%d__acresToNextLvl__" + toString(dh)), ("%s%s__userNFTs__" + di), ("%s%d__userBaseFarmingPower__" + toString(dg[bo])), ("%s%d__userFarmingPower__" + toString(dg[bn])), ("%s%d__totalFarmingPower__" + toString(dg[bm]))]
452+ let dj = valueOrElse(getInteger(y, aL(cT)), 0)
453+[("%s%s__customName__" + cX), ("%s%s__referredBy__" + valueOrElse(cZ, "")), ("%s%s__referrals__" + da), ("%s%s__lastWeekTxId__" + db), ("%s%s__curWeekTxId__" + db), ("%s%d__wavesBalance__" + toString(cU.available)), ("%s%d__usdtBalance__" + toString(cV)), ("%s%d__wlgoldBalance__" + toString(cW)), ("%s%d__acresBalance__" + toString(dd)), ("%s%d__stakedAcres__" + toString(de)), ("%s%d__currentLvl__" + toString(df)), ("%s%d__acresToNextLvl__" + toString(dh)), ("%s%s__userNFTs__" + di), ("%s%d__userBonus__" + toString(dj)), ("%s%d__userBaseFarmingPower__" + toString(dg[bo])), ("%s%d__userFarmingPower__" + toString(dg[bn])), ("%s%d__totalFarmingPower__" + toString(dg[bm]))]
453454 }
454455
455456
456-@Callable(dj)
457-func constructorV1 (bX) = if ((dj.caller != this))
457+@Callable(dk)
458+func constructorV1 (bX) = if ((dk.caller != this))
458459 then throw("permissions denied")
459460 else {
460- func dk (aR,dl) = (aR + "%s")
461+ func dl (aR,dm) = (aR + "%s")
461462
462- let dm = {
463+ let dn = {
463464 let aT = bX
464465 let aU = size(aT)
465466 let aV = ""
466467 func aW (aX,aY) = if ((aY >= aU))
467468 then aX
468- else dk(aX, aT[aY])
469+ else dl(aX, aT[aY])
469470
470471 func aZ (aX,aY) = if ((aY >= aU))
471472 then aX
473474
474475 aZ(aW(aW(aW(aW(aW(aW(aW(aW(aW(aW(aV, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
475476 }
476-[StringEntry(q(), makeString(dm :: bX, a)), StringEntry(r(), toString(this))]
477+[StringEntry(q(), makeString(dn :: bX, a)), StringEntry(r(), toString(this))]
477478 }
478479
479480
480481
481-@Callable(dj)
482+@Callable(dk)
482483 func walletInfoREADONLY (cT) = $Tuple2(nil, cS(cT))
483484
484485
485486
486-@Callable(dj)
487+@Callable(dk)
487488 func conversionInfoREADONLY (cT) = {
488- let dn = addressFromStringValue(getStringValue(y, C))
489- let do = ac(invoke(dn, "unstakeAllAcresREADONLY", [cT], nil))
490- let dp = do._1
491- let dq = do._2
492- let dr = Y(invoke(y, "unstakeLandsREADONLY", [cT], nil))
493- let ds = dr._1
494- let dt = dr._2
495- let du = dr._3
496- let dv = dr._4
497- let dw = addressFromStringValue(i)
498- let dx = valueOrElse(getString(dw, K(cT)), "")
499- let dy = if ((dx != ""))
500- then ab(invoke(dw, "unstakeDuckREADONLY", [dx, cT], nil))
489+ let do = addressFromStringValue(getStringValue(y, C))
490+ let dp = ac(invoke(do, "unstakeAllAcresREADONLY", [cT], nil))
491+ let dq = dp._1
492+ let dr = dp._2
493+ let ds = Y(invoke(y, "unstakeLandsREADONLY", [cT], nil))
494+ let dt = ds._1
495+ let du = ds._2
496+ let dv = ds._3
497+ let dw = ds._4
498+ let dx = addressFromStringValue(i)
499+ let dy = valueOrElse(getString(dx, K(cT)), "")
500+ let dz = if ((dy != ""))
501+ then ab(invoke(dx, "unstakeDuckREADONLY", [dy, cT], nil))
501502 else $Tuple3(0, 0, 0)
502- let dz = dy._1
503- let dA = dy._2
504- let dB = dy._3
505- $Tuple2(nil, [("%s%d__unstakedAcres__" + toString(dp)), ("%s%d__claimedAcres__" + toString(dq)), ("%s%d__acresFromPieces__" + toString(ds)), ("%s%d__acresFromRes__" + toString(dt)), ("%s%d__acresFromMat__" + toString(du)), ("%s%d__acresFromProd__" + toString(dv)), ("%s%d__acresFromDuckRes__" + toString(dz)), ("%s%d__acresFromDuckMat__" + toString(dA)), ("%s%d__acresFromDuckProd__" + toString(dB))])
503+ let dA = dz._1
504+ let dB = dz._2
505+ let dC = dz._3
506+ $Tuple2(nil, [("%s%d__unstakedAcres__" + toString(dq)), ("%s%d__claimedAcres__" + toString(dr)), ("%s%d__acresFromPieces__" + toString(dt)), ("%s%d__acresFromRes__" + toString(du)), ("%s%d__acresFromMat__" + toString(dv)), ("%s%d__acresFromProd__" + toString(dw)), ("%s%d__acresFromDuckRes__" + toString(dA)), ("%s%d__acresFromDuckMat__" + toString(dB)), ("%s%d__acresFromDuckProd__" + toString(dC))])
506507 }
507508
508509
509510
510-@Callable(dj)
511+@Callable(dk)
511512 func wlgStatsREADONLY (bW) = {
512- let dC = bV(bW, [x, y, z, A, B], g, 0)
513- $Tuple2(nil, [("%s%d__wlgAmount__" + toString(dC[bp])), ("%s%d__wlgWlg__" + toString(dC[bq])), ("%s%d__wlgPrice__" + toString(dC[br])), ("%s%d__usdtFunds__" + toString(dC[bs])), ("%s%d__usdtActivity__" + toString(dC[bt])), ("%s%d__usdtStaking__" + toString(dC[bu])), ("%s%d__usdtArbitrage__" + toString(dC[bv])), ("%s%d__usdtPool__" + toString(dC[bw])), ("%s%d__wlgIssueTime__" + toString(dC[bx])), ("%s%d__wlgLastTeamActTime__" + toString(dC[by])), ("%s%d__wlgTeamTotal__" + toString(dC[bz])), ("%s%d__wlgTeamAmLeft__" + toString(dC[bA])), ("%s%d__wlgTeamAmAvailNow__" + toString(dC[bB])), ("%s%d__wlgTeamWlgold__" + toString(dC[bC])), ("%s%d__wlgActTotal__" + toString(dC[bD])), ("%s%d__wlgActAmLeft__" + toString(dC[bE])), ("%s%d__wlgActAmAvailNow__" + toString(dC[bF])), ("%s%d__wlgActWlgold__" + toString(dC[bG])), ("%s%d__wlgCurPeriod__" + toString(dC[bH])), ("%s%d__wlgAmLeftTotal__" + toString(dC[bI])), ("%s%d__wlgCurPeriodDistribution__" + toString(dC[bJ])), ("%s%d__wlgLastUserTime__" + toString(dC[bK])), ("%s%d__wlgInvestFundTotal__" + toString(dC[bL])), ("%s%d__wlgUserAmAvailNow__" + toString(dC[bM])), ("%s%d__wlgEffUserTime__" + toString(dC[bN])), ("%s%d__wlgIssue10AvailNow__" + toString(dC[bO])), ("%s%d__wlgMarketingIssue10AvailNow__" + toString(dC[bP])), ("%s%d__wlgTeamIssue10AvailNow__" + toString(dC[bQ])), ("%s%d__wlgUserIssue10AvailNow__" + toString(dC[bR])), ("%s%d__wlgLastIssue10Time__" + toString(dC[bS])), ("%s%d__wlgTotalFarmingPower__" + toString(dC[bT])), ("%s%d__wlgAcresStakedTotal__" + toString(dC[bU]))])
513+ let dD = bV(bW, [x, y, z, A, B], g, 0)
514+ $Tuple2(nil, [("%s%d__wlgAmount__" + toString(dD[bp])), ("%s%d__wlgWlg__" + toString(dD[bq])), ("%s%d__wlgPrice__" + toString(dD[br])), ("%s%d__usdtFunds__" + toString(dD[bs])), ("%s%d__usdtActivity__" + toString(dD[bt])), ("%s%d__usdtStaking__" + toString(dD[bu])), ("%s%d__usdtArbitrage__" + toString(dD[bv])), ("%s%d__usdtPool__" + toString(dD[bw])), ("%s%d__wlgIssueTime__" + toString(dD[bx])), ("%s%d__wlgLastTeamActTime__" + toString(dD[by])), ("%s%d__wlgTeamTotal__" + toString(dD[bz])), ("%s%d__wlgTeamAmLeft__" + toString(dD[bA])), ("%s%d__wlgTeamAmAvailNow__" + toString(dD[bB])), ("%s%d__wlgTeamWlgold__" + toString(dD[bC])), ("%s%d__wlgActTotal__" + toString(dD[bD])), ("%s%d__wlgActAmLeft__" + toString(dD[bE])), ("%s%d__wlgActAmAvailNow__" + toString(dD[bF])), ("%s%d__wlgActWlgold__" + toString(dD[bG])), ("%s%d__wlgCurPeriod__" + toString(dD[bH])), ("%s%d__wlgAmLeftTotal__" + toString(dD[bI])), ("%s%d__wlgCurPeriodDistribution__" + toString(dD[bJ])), ("%s%d__wlgLastUserTime__" + toString(dD[bK])), ("%s%d__wlgInvestFundTotal__" + toString(dD[bL])), ("%s%d__wlgUserAmAvailNow__" + toString(dD[bM])), ("%s%d__wlgEffUserTime__" + toString(dD[bN])), ("%s%d__wlgIssue10AvailNow__" + toString(dD[bO])), ("%s%d__wlgMarketingIssue10AvailNow__" + toString(dD[bP])), ("%s%d__wlgTeamIssue10AvailNow__" + toString(dD[bQ])), ("%s%d__wlgUserIssue10AvailNow__" + toString(dD[bR])), ("%s%d__wlgLastIssue10Time__" + toString(dD[bS])), ("%s%d__wlgTotalFarmingPower__" + toString(dD[bT])), ("%s%d__wlgAcresStakedTotal__" + toString(dD[bU]))])
514515 }
515516
516517
517518
518-@Callable(dj)
519+@Callable(dk)
519520 func lotteryStatsREADONLY (bW) = {
520- let dD = (height / c)
521+ let dE = (height / c)
521522 let S = (height / e)
522- let dE = (S - 1)
523- let dF = valueOrElse(getInteger(z, R(bW, S)), 0)
524- let dG = valueOrElse(getInteger(z, R(bW, dE)), 0)
525- let dH = valueOrElse(getInteger(z, T(S)), 0)
526- let dI = valueOrElse(getInteger(z, T(dE)), 0)
527- let dJ = valueOrElse(getString(z, Q(bW)), "")
528- $Tuple2(nil, [((("%s%d%d__totalTickets__" + toString(dI)) + a) + toString(dH)), ((("%s%d%d__userTickets__" + toString(dG)) + a) + toString(dF)), ("%s%d__blockchainWeek__" + toString(S)), ("%s%d__blockchainDay__" + toString(dD)), ("%s%d__blockchainMinute__" + toString((height % c))), ("%s%d__winningBetToday__" + toString(U(dD))), ("%s%s__usersBet__" + dJ)])
523+ let dF = (S - 1)
524+ let dG = valueOrElse(getInteger(z, R(bW, S)), 0)
525+ let dH = valueOrElse(getInteger(z, R(bW, dF)), 0)
526+ let dI = valueOrElse(getInteger(z, T(S)), 0)
527+ let dJ = valueOrElse(getInteger(z, T(dF)), 0)
528+ let dK = valueOrElse(getString(z, Q(bW)), "")
529+ $Tuple2(nil, [((("%s%d%d__totalTickets__" + toString(dJ)) + a) + toString(dI)), ((("%s%d%d__userTickets__" + toString(dH)) + a) + toString(dG)), ("%s%d__blockchainWeek__" + toString(S)), ("%s%d__blockchainDay__" + toString(dE)), ("%s%d__blockchainMinute__" + toString((height % c))), ("%s%d__winningBetToday__" + toString(U(dE))), ("%s%s__usersBet__" + dK)])
529530 }
530531
531532
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "__"
55
66 let b = take(drop(this.bytes, 1), 1)
77
88 let c = {
99 let d = b
1010 if ((base58'2W' == d))
1111 then 1440
1212 else if ((base58'2T' == d))
1313 then 60
1414 else throw("Unknown chain")
1515 }
1616
1717 let e = {
1818 let d = b
1919 if ((base58'2W' == d))
2020 then 10080
2121 else if ((base58'2T' == d))
2222 then 180
2323 else throw("Unknown chain")
2424 }
2525
2626 let f = {
2727 let d = b
2828 if ((base58'2W' == d))
2929 then 0
3030 else if ((base58'2T' == d))
3131 then 1146000
3232 else throw("Unknown chain")
3333 }
3434
3535 let g = {
3636 let d = b
3737 if ((base58'2W' == d))
3838 then base58'9wc3LXNA4TEBsXyKtoLE9mrbDD7WMHXvXrCjZvabLAsi'
3939 else if ((base58'2T' == d))
4040 then base58'6mWwf9mZBjVgkC54idpyaZLQfAosD914wT8fGf2iiY63'
4141 else throw("Unknown chain")
4242 }
4343
4444 let h = {
4545 let d = b
4646 if ((base58'2W' == d))
4747 then "3PFwYta8biEz31zpeFe5DJK8wE5trSpQVF8"
4848 else if ((base58'2T' == d))
4949 then "3N7UuYar6264P58FBhVWKPQAh4Yua2hgngv"
5050 else throw("Unknown chain")
5151 }
5252
5353 let i = {
5454 let d = b
5555 if ((base58'2W' == d))
5656 then "3PLncXtS1U83D6cQbFD3H8rBHPLgzxSFKZ1"
5757 else if ((base58'2T' == d))
5858 then "3NDCyBG5q85JuaRiigUeEtainyjCQT3XpZm"
5959 else throw("Unknown chain")
6060 }
6161
6262 func j (k,l) = valueOrErrorMessage(getString(k, l), makeString(["mandatory ", toString(k), ".", l, " is not defined"], ""))
6363
6464
6565 let m = 1
6666
6767 let n = 2
6868
6969 let o = 4
7070
7171 let p = 5
7272
7373 func q () = "%s__restConfig"
7474
7575
7676 func r () = "%s__rest2Addr"
7777
7878
7979 func s (t) = split_4C(j(t, q()), a)
8080
8181
8282 func u (v,w) = valueOrErrorMessage(addressFromString(v[w]), ("Rest cfg doesn't contain address at index " + toString(w)))
8383
8484
8585 let x = addressFromStringValue(valueOrElse(getString(this, r()), h))
8686
8787 let v = s(x)
8888
8989 let y = u(v, m)
9090
9191 let z = u(v, n)
9292
9393 let A = u(v, o)
9494
9595 let B = u(v, p)
9696
9797 let C = "oldAcresContract"
9898
9999 func D (E) = ("lastWeekTxIdByUser_" + E)
100100
101101
102102 func F (E) = ("curWeekTxIdByUser_" + E)
103103
104104
105105 let G = "wlg_assetId"
106106
107107 let H = valueOrErrorMessage(getBinary(z, G), "WLGOLD is not issued yet")
108108
109109 let I = "acresAssetId"
110110
111111 let J = valueOrErrorMessage(getBinary(y, I), "ACRES is not issued yet")
112112
113113 func K (L) = ("stakedDuckByOwner_" + L)
114114
115115
116116 func M (L) = ("stakedNFTsByOwner_" + L)
117117
118118
119119 func N (E) = ("accountCustomNameByAddr_" + E)
120120
121121
122122 func O (E) = ("accRefBy_" + E)
123123
124124
125125 func P (E) = ("accReferrals_" + E)
126126
127127
128128 func Q (E) = ("userBet_" + E)
129129
130130
131131 func R (E,S) = ((("userWeekTickets_" + E) + "_") + toString(S))
132132
133133
134134 func T (S) = ("totalWeekTickets_" + toString(S))
135135
136136
137137 func U (V) = {
138138 let W = (V * c)
139139 let X = if ((W > f))
140140 then W
141141 else (W + f)
142142 (toInt(value(value(blockInfoByHeight(X)).vrf)) % 4)
143143 }
144144
145145
146146 func Y (Z) = {
147147 let d = Z
148148 if ($isInstanceOf(d, "(Int, Int, Int, Int)"))
149149 then {
150150 let aa = d
151151 aa
152152 }
153153 else throw("fail to cast into (Int, Int, Int, Int)")
154154 }
155155
156156
157157 func ab (Z) = {
158158 let d = Z
159159 if ($isInstanceOf(d, "(Int, Int, Int)"))
160160 then {
161161 let aa = d
162162 aa
163163 }
164164 else throw("fail to cast into (Int, Int, Int)")
165165 }
166166
167167
168168 func ac (Z) = {
169169 let d = Z
170170 if ($isInstanceOf(d, "(Int, Int)"))
171171 then {
172172 let aa = d
173173 aa
174174 }
175175 else throw("fail to cast into (Int, Int)")
176176 }
177177
178178
179179 let ad = 1000000
180180
181181 let ae = 100000000
182182
183183 let af = 200000
184184
185185 let ag = 100000
186186
187187 let ah = 400000
188188
189189 let ai = 31557600000
190190
191191 let aj = 86400000
192192
193193 let ak = 1000000000
194194
195195 let al = 800000
196196
197197 let am = 100000
198198
199199 let an = 100000
200200
201201 let ao = 1731279600000
202202
203203 let ap = "teamAddr"
204204
205205 let aq = "lastClaimedTime_team"
206206
207207 let ar = "teamAmountLeft"
208208
209209 let as = "lastClaimedTime_activities"
210210
211211 let at = "activitiesAmountLeft"
212212
213213 let au = "stakersAmountLeft"
214214
215215 func av (E) = ("lastClaimedTimeUser_" + E)
216216
217217
218218 func aw (ax,ay) = fraction(ax, (ah * (ay + 1)), (6 * ad))
219219
220220
221221 let az = "wlg_issue10Time"
222222
223223 let aA = "wlg_issueTime"
224224
225225 let aB = "wlg_issuedAmount"
226226
227227 let aC = "zbill_issuedAmount"
228228
229229 func aD (E) = ("acresStakedAmountByUser_" + E)
230230
231231
232232 let aE = "acresStakedAmountTotal"
233233
234234 let aF = "totalFarmingPower"
235235
236236 let aG = 0
237237
238238 let aH = 1
239239
240240 let aI = 2
241241
242242 let aJ = 3
243243
244244 let aK = 4
245245
246246 func aL (E) = ("userFullBonus_" + E)
247247
248248
249249 let aM = [0, 10, 20, 40, 80, 150, 250, 400, 700, 1000]
250250
251251 func aN (aO) = {
252252 let aP = ((aO + 99999999) / ae)
253253 func aQ (aR,aS) = if ((aS >= aP))
254254 then aR
255255 else (aR + 1)
256256
257257 let aT = aM
258258 let aU = size(aT)
259259 let aV = 0
260260 func aW (aX,aY) = if ((aY >= aU))
261261 then aX
262262 else aQ(aX, aT[aY])
263263
264264 func aZ (aX,aY) = if ((aY >= aU))
265265 then aX
266266 else throw("List size exceeds 10")
267267
268268 aZ(aW(aW(aW(aW(aW(aW(aW(aW(aW(aW(aV, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
269269 }
270270
271271
272272 func ba (aO) = ((aO * 20) * (aN(aO) + 4))
273273
274274
275275 func bb (aO,bc) = {
276276 let bd = ba(aO)
277277 $Tuple2(fraction(bd, (ad + bc), ad), bd)
278278 }
279279
280280
281281 func be (bf,y) = {
282282 let bg = valueOrElse(getInteger(y, aF), 0)
283283 let bh = valueOrElse(getInteger(y, aD(bf)), 0)
284284 let bi = valueOrElse(getInteger(y, aL(bf)), 0)
285285 let bj = bb(bh, bi)
286286 let bk = bj._1
287287 let bl = bj._2
288288 [bg, bk, bl, bi]
289289 }
290290
291291
292292 let bm = 0
293293
294294 let bn = 1
295295
296296 let bo = 2
297297
298298 let bp = 0
299299
300300 let bq = 1
301301
302302 let br = 2
303303
304304 let bs = 3
305305
306306 let bt = 4
307307
308308 let bu = 5
309309
310310 let bv = 6
311311
312312 let bw = 7
313313
314314 let bx = 8
315315
316316 let by = 9
317317
318318 let bz = 10
319319
320320 let bA = 11
321321
322322 let bB = 12
323323
324324 let bC = 13
325325
326326 let bD = 14
327327
328328 let bE = 15
329329
330330 let bF = 16
331331
332332 let bG = 17
333333
334334 let bH = 18
335335
336336 let bI = 19
337337
338338 let bJ = 20
339339
340340 let bK = 21
341341
342342 let bL = 22
343343
344344 let bM = 23
345345
346346 let bN = 24
347347
348348 let bO = 25
349349
350350 let bP = 26
351351
352352 let bQ = 27
353353
354354 let bR = 28
355355
356356 let bS = 29
357357
358358 let bT = 30
359359
360360 let bU = 31
361361
362362 func bV (bW,bX,bY,bZ) = {
363363 let ax = valueOrErrorMessage(getInteger(bX[aI], aB), "WLGOLD is not issued yet")
364364 let ca = assetBalance(bX[aG], bY)
365365 let cb = (assetBalance(bX[aI], bY) - bZ)
366366 let cc = assetBalance(bX[aJ], bY)
367367 let cd = assetBalance(bX[aH], bY)
368368 let ce = bX[aK]
369369 let cf = (assetBalance(ce, bY) + valueOrElse(getInteger(ce, aC), 0))
370370 let cg = ((cd + cb) + cf)
371371 let ch = valueOrErrorMessage(getBinary(bX[aI], "wlg_assetId"), "Not initialized yet")
372372 let ci = lastBlock.timestamp
373373 let cj = valueOrErrorMessage(getInteger(bX[aI], aA), "Not initialized")
374374 let ck = assetBalance(bX[aI], ch)
375375 let cl = fraction(ax, af, ad)
376376 let cm = valueOrElse(getInteger(bX[aI], ar), cl)
377377 let cn = valueOrElse(getInteger(bX[aI], aq), cj)
378378 let co = addressFromStringValue(value(getString(bX[aI], ap)))
379379 let cp = min([fraction(cl, (ci - cn), (3 * ai)), cm])
380380 let cq = assetBalance(co, ch)
381381 let cr = fraction(ax, ag, ad)
382382 let cs = valueOrElse(getInteger(bX[aI], at), cr)
383383 let ct = valueOrElse(getInteger(bX[aI], as), cj)
384384 let cu = min([fraction(cr, (ci - ct), (3 * ai)), cs])
385385 let cv = assetBalance(bX[aG], ch)
386386 let cw = valueOrElse(getInteger(bX[aI], av(bW)), cj)
387387 let cx = ((cw - cj) / ai)
388388 let cy = min([ci, (cj + (3 * ai))])
389389 let cz = min([((ci - cj) / ai), 2])
390390 let cA = be(bW, bX[aH])
391391 let cB = aw(ax, cz)
392392 let cC = (cj + (ai * cz))
393393 let cD = (cj + (ai * (cz - 1)))
394394 let cE = fraction(cB, (cy - cw), ai)
395395 let cF = if ((cx == cz))
396396 then cE
397397 else if ((cx == (cz - 1)))
398398 then {
399399 let cG = fraction(aw(ax, (cz - 1)), (cC - cw), ai)
400400 (cG + cE)
401401 }
402402 else {
403403 let cH = fraction(aw(ax, (cz - 2)), (cD - cw), ai)
404404 let cG = aw(ax, (cz - 1))
405405 ((cH + cG) + cE)
406406 }
407407 let cI = valueOrElse(getInteger(bX[aI], au), 0)
408408 let cJ = if ((cA[bm] != 0))
409409 then fraction(cF, cA[bn], cA[bm])
410410 else 0
411411 let cK = valueOrElse(getInteger(bX[aI], az), ao)
412412 let cL = fraction(ak, max([(ci - cK), 0]), aj)
413413 let cM = fraction(cL, am, ad)
414414 let cN = fraction(cL, an, ad)
415415 let cO = max([(ci - max([ao, cw])), 0])
416416 let cP = if ((cA[bm] != 0))
417417 then fraction(fraction(fraction(ak, cO, aj), cA[bn], cA[bm]), al, ad)
418418 else 0
419419 let cQ = max([ao, ci])
420420 let cR = valueOrElse(getInteger(bX[aH], aE), 0)
421421 [ax, ck, fraction(cg, ae, ax), cg, ca, cd, cb, cc, cj, cn, cl, cm, cp, cq, cr, cs, cu, cv, cz, cI, cB, cw, cf, cJ, cy, cL, cM, cN, cP, cQ, cA[bm], cR]
422422 }
423423
424424
425425 func cS (cT) = {
426426 let E = addressFromString(cT)
427427 let cU = if (isDefined(E))
428428 then wavesBalance(value(E))
429429 else BalanceDetails(0, 0, 0, 0)
430430 let cV = if (isDefined(E))
431431 then assetBalance(value(E), g)
432432 else 0
433433 let cW = if (isDefined(E))
434434 then assetBalance(value(E), H)
435435 else 0
436436 let cX = valueOrElse(getString(y, N(cT)), cT)
437437 let cY = O(cT)
438438 let cZ = getString(y, cY)
439439 let da = valueOrElse(getString(y, P(cT)), "")
440440 let db = valueOrElse(getString(y, D(cT)), "")
441441 let dc = valueOrElse(getString(y, F(cT)), "")
442442 let dd = if (isDefined(E))
443443 then assetBalance(value(E), J)
444444 else 0
445445 let de = valueOrElse(getInteger(y, aD(cT)), 0)
446446 let df = aN(de)
447447 let dg = be(cT, y)
448448 let dh = if ((df >= size(aM)))
449449 then 0
450450 else (((aM[df] * ae) + 1) - de)
451451 let di = valueOrElse(getString(y, M(cT)), "")
452-[("%s%s__customName__" + cX), ("%s%s__referredBy__" + valueOrElse(cZ, "")), ("%s%s__referrals__" + da), ("%s%s__lastWeekTxId__" + db), ("%s%s__curWeekTxId__" + db), ("%s%d__wavesBalance__" + toString(cU.available)), ("%s%d__usdtBalance__" + toString(cV)), ("%s%d__wlgoldBalance__" + toString(cW)), ("%s%d__acresBalance__" + toString(dd)), ("%s%d__stakedAcres__" + toString(de)), ("%s%d__currentLvl__" + toString(df)), ("%s%d__acresToNextLvl__" + toString(dh)), ("%s%s__userNFTs__" + di), ("%s%d__userBaseFarmingPower__" + toString(dg[bo])), ("%s%d__userFarmingPower__" + toString(dg[bn])), ("%s%d__totalFarmingPower__" + toString(dg[bm]))]
452+ let dj = valueOrElse(getInteger(y, aL(cT)), 0)
453+[("%s%s__customName__" + cX), ("%s%s__referredBy__" + valueOrElse(cZ, "")), ("%s%s__referrals__" + da), ("%s%s__lastWeekTxId__" + db), ("%s%s__curWeekTxId__" + db), ("%s%d__wavesBalance__" + toString(cU.available)), ("%s%d__usdtBalance__" + toString(cV)), ("%s%d__wlgoldBalance__" + toString(cW)), ("%s%d__acresBalance__" + toString(dd)), ("%s%d__stakedAcres__" + toString(de)), ("%s%d__currentLvl__" + toString(df)), ("%s%d__acresToNextLvl__" + toString(dh)), ("%s%s__userNFTs__" + di), ("%s%d__userBonus__" + toString(dj)), ("%s%d__userBaseFarmingPower__" + toString(dg[bo])), ("%s%d__userFarmingPower__" + toString(dg[bn])), ("%s%d__totalFarmingPower__" + toString(dg[bm]))]
453454 }
454455
455456
456-@Callable(dj)
457-func constructorV1 (bX) = if ((dj.caller != this))
457+@Callable(dk)
458+func constructorV1 (bX) = if ((dk.caller != this))
458459 then throw("permissions denied")
459460 else {
460- func dk (aR,dl) = (aR + "%s")
461+ func dl (aR,dm) = (aR + "%s")
461462
462- let dm = {
463+ let dn = {
463464 let aT = bX
464465 let aU = size(aT)
465466 let aV = ""
466467 func aW (aX,aY) = if ((aY >= aU))
467468 then aX
468- else dk(aX, aT[aY])
469+ else dl(aX, aT[aY])
469470
470471 func aZ (aX,aY) = if ((aY >= aU))
471472 then aX
472473 else throw("List size exceeds 10")
473474
474475 aZ(aW(aW(aW(aW(aW(aW(aW(aW(aW(aW(aV, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
475476 }
476-[StringEntry(q(), makeString(dm :: bX, a)), StringEntry(r(), toString(this))]
477+[StringEntry(q(), makeString(dn :: bX, a)), StringEntry(r(), toString(this))]
477478 }
478479
479480
480481
481-@Callable(dj)
482+@Callable(dk)
482483 func walletInfoREADONLY (cT) = $Tuple2(nil, cS(cT))
483484
484485
485486
486-@Callable(dj)
487+@Callable(dk)
487488 func conversionInfoREADONLY (cT) = {
488- let dn = addressFromStringValue(getStringValue(y, C))
489- let do = ac(invoke(dn, "unstakeAllAcresREADONLY", [cT], nil))
490- let dp = do._1
491- let dq = do._2
492- let dr = Y(invoke(y, "unstakeLandsREADONLY", [cT], nil))
493- let ds = dr._1
494- let dt = dr._2
495- let du = dr._3
496- let dv = dr._4
497- let dw = addressFromStringValue(i)
498- let dx = valueOrElse(getString(dw, K(cT)), "")
499- let dy = if ((dx != ""))
500- then ab(invoke(dw, "unstakeDuckREADONLY", [dx, cT], nil))
489+ let do = addressFromStringValue(getStringValue(y, C))
490+ let dp = ac(invoke(do, "unstakeAllAcresREADONLY", [cT], nil))
491+ let dq = dp._1
492+ let dr = dp._2
493+ let ds = Y(invoke(y, "unstakeLandsREADONLY", [cT], nil))
494+ let dt = ds._1
495+ let du = ds._2
496+ let dv = ds._3
497+ let dw = ds._4
498+ let dx = addressFromStringValue(i)
499+ let dy = valueOrElse(getString(dx, K(cT)), "")
500+ let dz = if ((dy != ""))
501+ then ab(invoke(dx, "unstakeDuckREADONLY", [dy, cT], nil))
501502 else $Tuple3(0, 0, 0)
502- let dz = dy._1
503- let dA = dy._2
504- let dB = dy._3
505- $Tuple2(nil, [("%s%d__unstakedAcres__" + toString(dp)), ("%s%d__claimedAcres__" + toString(dq)), ("%s%d__acresFromPieces__" + toString(ds)), ("%s%d__acresFromRes__" + toString(dt)), ("%s%d__acresFromMat__" + toString(du)), ("%s%d__acresFromProd__" + toString(dv)), ("%s%d__acresFromDuckRes__" + toString(dz)), ("%s%d__acresFromDuckMat__" + toString(dA)), ("%s%d__acresFromDuckProd__" + toString(dB))])
503+ let dA = dz._1
504+ let dB = dz._2
505+ let dC = dz._3
506+ $Tuple2(nil, [("%s%d__unstakedAcres__" + toString(dq)), ("%s%d__claimedAcres__" + toString(dr)), ("%s%d__acresFromPieces__" + toString(dt)), ("%s%d__acresFromRes__" + toString(du)), ("%s%d__acresFromMat__" + toString(dv)), ("%s%d__acresFromProd__" + toString(dw)), ("%s%d__acresFromDuckRes__" + toString(dA)), ("%s%d__acresFromDuckMat__" + toString(dB)), ("%s%d__acresFromDuckProd__" + toString(dC))])
506507 }
507508
508509
509510
510-@Callable(dj)
511+@Callable(dk)
511512 func wlgStatsREADONLY (bW) = {
512- let dC = bV(bW, [x, y, z, A, B], g, 0)
513- $Tuple2(nil, [("%s%d__wlgAmount__" + toString(dC[bp])), ("%s%d__wlgWlg__" + toString(dC[bq])), ("%s%d__wlgPrice__" + toString(dC[br])), ("%s%d__usdtFunds__" + toString(dC[bs])), ("%s%d__usdtActivity__" + toString(dC[bt])), ("%s%d__usdtStaking__" + toString(dC[bu])), ("%s%d__usdtArbitrage__" + toString(dC[bv])), ("%s%d__usdtPool__" + toString(dC[bw])), ("%s%d__wlgIssueTime__" + toString(dC[bx])), ("%s%d__wlgLastTeamActTime__" + toString(dC[by])), ("%s%d__wlgTeamTotal__" + toString(dC[bz])), ("%s%d__wlgTeamAmLeft__" + toString(dC[bA])), ("%s%d__wlgTeamAmAvailNow__" + toString(dC[bB])), ("%s%d__wlgTeamWlgold__" + toString(dC[bC])), ("%s%d__wlgActTotal__" + toString(dC[bD])), ("%s%d__wlgActAmLeft__" + toString(dC[bE])), ("%s%d__wlgActAmAvailNow__" + toString(dC[bF])), ("%s%d__wlgActWlgold__" + toString(dC[bG])), ("%s%d__wlgCurPeriod__" + toString(dC[bH])), ("%s%d__wlgAmLeftTotal__" + toString(dC[bI])), ("%s%d__wlgCurPeriodDistribution__" + toString(dC[bJ])), ("%s%d__wlgLastUserTime__" + toString(dC[bK])), ("%s%d__wlgInvestFundTotal__" + toString(dC[bL])), ("%s%d__wlgUserAmAvailNow__" + toString(dC[bM])), ("%s%d__wlgEffUserTime__" + toString(dC[bN])), ("%s%d__wlgIssue10AvailNow__" + toString(dC[bO])), ("%s%d__wlgMarketingIssue10AvailNow__" + toString(dC[bP])), ("%s%d__wlgTeamIssue10AvailNow__" + toString(dC[bQ])), ("%s%d__wlgUserIssue10AvailNow__" + toString(dC[bR])), ("%s%d__wlgLastIssue10Time__" + toString(dC[bS])), ("%s%d__wlgTotalFarmingPower__" + toString(dC[bT])), ("%s%d__wlgAcresStakedTotal__" + toString(dC[bU]))])
513+ let dD = bV(bW, [x, y, z, A, B], g, 0)
514+ $Tuple2(nil, [("%s%d__wlgAmount__" + toString(dD[bp])), ("%s%d__wlgWlg__" + toString(dD[bq])), ("%s%d__wlgPrice__" + toString(dD[br])), ("%s%d__usdtFunds__" + toString(dD[bs])), ("%s%d__usdtActivity__" + toString(dD[bt])), ("%s%d__usdtStaking__" + toString(dD[bu])), ("%s%d__usdtArbitrage__" + toString(dD[bv])), ("%s%d__usdtPool__" + toString(dD[bw])), ("%s%d__wlgIssueTime__" + toString(dD[bx])), ("%s%d__wlgLastTeamActTime__" + toString(dD[by])), ("%s%d__wlgTeamTotal__" + toString(dD[bz])), ("%s%d__wlgTeamAmLeft__" + toString(dD[bA])), ("%s%d__wlgTeamAmAvailNow__" + toString(dD[bB])), ("%s%d__wlgTeamWlgold__" + toString(dD[bC])), ("%s%d__wlgActTotal__" + toString(dD[bD])), ("%s%d__wlgActAmLeft__" + toString(dD[bE])), ("%s%d__wlgActAmAvailNow__" + toString(dD[bF])), ("%s%d__wlgActWlgold__" + toString(dD[bG])), ("%s%d__wlgCurPeriod__" + toString(dD[bH])), ("%s%d__wlgAmLeftTotal__" + toString(dD[bI])), ("%s%d__wlgCurPeriodDistribution__" + toString(dD[bJ])), ("%s%d__wlgLastUserTime__" + toString(dD[bK])), ("%s%d__wlgInvestFundTotal__" + toString(dD[bL])), ("%s%d__wlgUserAmAvailNow__" + toString(dD[bM])), ("%s%d__wlgEffUserTime__" + toString(dD[bN])), ("%s%d__wlgIssue10AvailNow__" + toString(dD[bO])), ("%s%d__wlgMarketingIssue10AvailNow__" + toString(dD[bP])), ("%s%d__wlgTeamIssue10AvailNow__" + toString(dD[bQ])), ("%s%d__wlgUserIssue10AvailNow__" + toString(dD[bR])), ("%s%d__wlgLastIssue10Time__" + toString(dD[bS])), ("%s%d__wlgTotalFarmingPower__" + toString(dD[bT])), ("%s%d__wlgAcresStakedTotal__" + toString(dD[bU]))])
514515 }
515516
516517
517518
518-@Callable(dj)
519+@Callable(dk)
519520 func lotteryStatsREADONLY (bW) = {
520- let dD = (height / c)
521+ let dE = (height / c)
521522 let S = (height / e)
522- let dE = (S - 1)
523- let dF = valueOrElse(getInteger(z, R(bW, S)), 0)
524- let dG = valueOrElse(getInteger(z, R(bW, dE)), 0)
525- let dH = valueOrElse(getInteger(z, T(S)), 0)
526- let dI = valueOrElse(getInteger(z, T(dE)), 0)
527- let dJ = valueOrElse(getString(z, Q(bW)), "")
528- $Tuple2(nil, [((("%s%d%d__totalTickets__" + toString(dI)) + a) + toString(dH)), ((("%s%d%d__userTickets__" + toString(dG)) + a) + toString(dF)), ("%s%d__blockchainWeek__" + toString(S)), ("%s%d__blockchainDay__" + toString(dD)), ("%s%d__blockchainMinute__" + toString((height % c))), ("%s%d__winningBetToday__" + toString(U(dD))), ("%s%s__usersBet__" + dJ)])
523+ let dF = (S - 1)
524+ let dG = valueOrElse(getInteger(z, R(bW, S)), 0)
525+ let dH = valueOrElse(getInteger(z, R(bW, dF)), 0)
526+ let dI = valueOrElse(getInteger(z, T(S)), 0)
527+ let dJ = valueOrElse(getInteger(z, T(dF)), 0)
528+ let dK = valueOrElse(getString(z, Q(bW)), "")
529+ $Tuple2(nil, [((("%s%d%d__totalTickets__" + toString(dJ)) + a) + toString(dI)), ((("%s%d%d__userTickets__" + toString(dH)) + a) + toString(dG)), ("%s%d__blockchainWeek__" + toString(S)), ("%s%d__blockchainDay__" + toString(dE)), ("%s%d__blockchainMinute__" + toString((height % c))), ("%s%d__winningBetToday__" + toString(U(dE))), ("%s%s__usersBet__" + dK)])
529530 }
530531
531532

github/deemru/w8io/026f985 
212.42 ms