tx · FmT2wSWn8aj9bwTgkj77a3EHiau38BP7QtWjFFrMJCtQ

3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy:  -0.02400000 Waves

2023.07.02 15:18 [2648274] smart account 3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy > SELF 0.00000000 Waves

{ "type": 13, "id": "FmT2wSWn8aj9bwTgkj77a3EHiau38BP7QtWjFFrMJCtQ", "fee": 2400000, "feeAssetId": null, "timestamp": 1688300358241, "version": 2, "chainId": 84, "sender": "3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy", "senderPublicKey": "C3PaRKeL8AUKbwUqdniMQtThgcTh5DYHV1777Hkxy7rp", "proofs": [ "66mGyhcnx8UKRoi6X5JoRYfEgYvZN7d7PmKyDazFqeAoQxHY3zScmHjLVKJkuWLfaxsMYi9WincvEAFNsm5nAC6T" ], "script": "base64:BgJHCAISAwoBGBIDCgEIEgMKAQgSAwoBCBIDCgEIEgMKAQgSAwoBGBIDCgEIEgMKARgSAwoBGBIDCgEYEgMKARgSAwoBCBIAEgBbAApBUlRQUkVTQUxFAgdQUkVTQUxFAAZOVU1SRVMABgAPREFJTFlSRVNCWVBJRUNFAID40gEACURBWU1JTExJUwCAuJkpAAxXSE1VTFRJUExJRVIAgMivoCUAEFJFU09VUkNFUFJJQ0VNSU4A1bUCAA1FU01BWFBBQ0tBR0VTAAMACUVTQlVZQ09FRgAEAApFU1NFTExDT0VGAAoAEHByb2R1Y3Rpb25NYXRyaXgJAMwIAgISMV8xXzFfMl8yXzVfMV8xMF8wCQDMCAICEzJfMl8yXzRfNF8xMF8xXzEwXzAJAMwIAgITM18zXzNfNl82XzE1XzFfMTBfMAkAzAgCAhMyXzVfNV8yXzdfNV8yXzEwMF8xCQDMCAICFzRfMTBfMTBfNF8xNF8xMF8yXzEwMF8xCQDMCAICFzZfMTVfMTVfNl8yMV8xNV8yXzEwMF8xCQDMCAICEjFfMV8xXzFfMV84XzFfMTBfMgkAzAgCAhMyXzJfMl8yXzJfMTZfMV8xMF8yCQDMCAICEzNfM18zXzNfM18yNF8xXzEwXzIJAMwIAgITOV85XzFfNV81XzFfNV8xMDBfMwkAzAgCAhcxOF8xOF8yXzEwXzEwXzJfNV8xMDBfMwkAzAgCAhcyN18yN18zXzE1XzE1XzNfNV8xMDBfMwkAzAgCAhIyXzJfMV8yXzJfMl8xXzEwXzQJAMwIAgISNF80XzJfNF80XzRfMV8xMF80CQDMCAICEjZfNl8zXzZfNl82XzFfMTBfNAUDbmlsABFyZWNpcGVJZHhQYWNrc2l6ZQAHARFrZXlMYXN0VHhJZEJ5VXNlcgEEYWRkcgkArAICAg9sYXN0VHhJZEJ5VXNlcl8FBGFkZHIBFWtleUxhbmRBc3NldElkVG9Pd25lcgEHYXNzZXRJZAkArAICAgluZnRPd25lcl8FB2Fzc2V0SWQBGmtleUxhbmRBc3NldElkVG9DdXN0b21OYW1lAQdhc3NldElkCQCsAgICGGxhbmRDdXN0b21OYW1lQnlBc3NldElkXwUHYXNzZXRJZAEWa2V5U3Rha2VkVGltZUJ5QXNzZXRJZAEHYXNzZXRJZAkArAICAgtzdGFrZWRUaW1lXwUHYXNzZXRJZAEWa2V5SW5mcmFMZXZlbEJ5QXNzZXRJZAEHYXNzZXRJZAkArAICAgtpbmZyYUxldmVsXwUHYXNzZXRJZAEga2V5TGFuZEFydFN0YXR1c0J5VHlwZUFuZEFzc2V0SWQCBHR5cGUHYXNzZXRJZAkAuQkCCQDMCAICDWxhbmRBcnRTdGF0dXMJAMwIAgUEdHlwZQkAzAgCBQdhc3NldElkBQNuaWwCAV8BEmtleVdhcmVob3VzZUJ5TGFuZAELbGFuZEFzc2V0SWQJAKwCAgIKd2FyZUhvdXNlXwULbGFuZEFzc2V0SWQBGmtleUR1Y2tBc3NldElkVG9DdXN0b21OYW1lAQdhc3NldElkCQCsAgICGGR1Y2tDdXN0b21OYW1lQnlBc3NldElkXwUHYXNzZXRJZAEWa2V5QWRkcmVzc1RvQ3VzdG9tTmFtZQEEYWRkcgkArAICAhhhY2NvdW50Q3VzdG9tTmFtZUJ5QWRkcl8FBGFkZHIBD2tleUFkZHJlc3NSZWZCeQEEYWRkcgkArAICAglhY2NSZWZCeV8FBGFkZHIBE2tleUFkZHJlc3NSZWZlcnJhbHMBBGFkZHIJAKwCAgINYWNjUmVmZXJyYWxzXwUEYWRkcgEQa2V5RHVja0lkVG9Pd25lcgEHYXNzZXRJZAkArAICAgpkdWNrT3duZXJfBQdhc3NldElkARRrZXlTdGFrZWREdWNrQnlPd25lcgEJb3duZXJBZGRyCQCsAgICEnN0YWtlZER1Y2tCeU93bmVyXwUJb3duZXJBZGRyAQ9rZXlEdWNrTG9jYXRpb24BC2R1Y2tBc3NldElkCQCsAgICDWR1Y2tMb2NhdGlvbl8FC2R1Y2tBc3NldElkAQ1rZXlEdWNrSGVhbHRoAQtkdWNrQXNzZXRJZAkArAICAgtkdWNrSGVhbHRoXwULZHVja0Fzc2V0SWQBCmtleUJsb2NrZWQAAhBjb250cmFjdHNCbG9ja2VkAQ5rZXlPcmRlckJ5TGFuZAELbGFuZEFzc2V0SWQJAKwCAgIKbGFuZE9yZGVyXwULbGFuZEFzc2V0SWQBDmtleUVzV2FyZWhvdXNlAAIaZW1lcmdlbmN5V2FyZWhvdXNlUHJvZHVjdHMACklkeEVmZlVzZXIAAQESZ2V0UmVjaXBlTWF0ZXJpYWxzAQZyZWNpcGUKAQZhZGRNYXQCAmFjAWoJAGQCBQJhYwkBDXBhcnNlSW50VmFsdWUBCQCRAwIFBnJlY2lwZQUBagoAAiRsCQDMCAIAAAkAzAgCAAEJAMwIAgACCQDMCAIAAwkAzAgCAAQJAMwIAgAFBQNuaWwKAAIkcwkAkAMBBQIkbAoABSRhY2MwAAAKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBBmFkZE1hdAIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQITTGlzdCBzaXplIGV4Y2VlZHMgNgkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgAFY2hhaW4JAMkBAgkAygECCAUEdGhpcwVieXRlcwABAAEAC3VzZHRBc3NldElkBAckbWF0Y2gwBQVjaGFpbgMJAAACAQFXBQckbWF0Y2gwASCE2nqyCAM/TtG7yo7ui5O8yYLdC136B5ao1CP5qA//uQMJAAACAQFUBQckbWF0Y2gwASBVsdifcoeC7+XjW42sBatl3ppDoS8WuwXzGreHpfHFGAkAAgECDVVua25vd24gY2hhaW4AFWRlZmF1bHRSZXN0QWRkcmVzc1N0cgQHJG1hdGNoMAUFY2hhaW4DCQAAAgEBVwUHJG1hdGNoMAIjM1BRQ3V2RmJ2aDRMa1BVbnJuVTF6M2puYkExcDltM1dOaHYDCQAAAgEBVAUHJG1hdGNoMAIjM011bWtHR3p0Q0tBWHBXRHF4a2Rkb2ZxWFNVYnFRa3ZTSnkJAAIBAg1Vbmtub3duIGNoYWluABFJbmZyYVVwZ3JhZGVDb3N0UwQHJG1hdGNoMAUFY2hhaW4DCQAAAgEBVwUHJG1hdGNoMACAyK+gJQMJAAACAQFUBQckbWF0Y2gwAIDC1y8JAAIBAg1Vbmtub3duIGNoYWluAANTRVACAl9fAAVNVUxUNgDAhD0ABU1VTFQ4AIDC1y8ABVNTSVpFABkABU1TSVpFAGQABUxTSVpFAOEBAAZYTFNJWkUAkAMAB1hYTFNJWkUA8QQBD2dldFN0cmluZ09yRmFpbAIHYWRkcmVzcwNrZXkJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCBQdhZGRyZXNzBQNrZXkJALkJAgkAzAgCAgptYW5kYXRvcnkgCQDMCAIJAKUIAQUHYWRkcmVzcwkAzAgCAgEuCQDMCAIFA2tleQkAzAgCAg8gaXMgbm90IGRlZmluZWQFA25pbAIAABFJZHhDZmdTdGFraW5nRGFwcAABABFJZHhDZmdFY29ub215RGFwcAACAA1JZHhDZmdXbGdEYXBwAAQAFElkeENmZ1B1enpsZVBvb2xEYXBwAAUBCmtleVJlc3RDZmcAAg4lc19fcmVzdENvbmZpZwEOa2V5UmVzdEFkZHJlc3MAAgwlc19fcmVzdEFkZHIBEXJlYWRSZXN0Q2ZnT3JGYWlsAQRyZXN0CQC8CQIJAQ9nZXRTdHJpbmdPckZhaWwCBQRyZXN0CQEKa2V5UmVzdENmZwAFA1NFUAEYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAgdyZXN0Q2ZnA2lkeAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCmCAEJAJEDAgUHcmVzdENmZwUDaWR4CQCsAgICKlJlc3QgY2ZnIGRvZXNuJ3QgY29udGFpbiBhZGRyZXNzIGF0IGluZGV4IAkApAMBBQNpZHgADHJlc3RDb250cmFjdAkBEUBleHRyTmF0aXZlKDEwNjIpAQkBC3ZhbHVlT3JFbHNlAgkAnQgCBQR0aGlzCQEOa2V5UmVzdEFkZHJlc3MABRVkZWZhdWx0UmVzdEFkZHJlc3NTdHIAB3Jlc3RDZmcJARFyZWFkUmVzdENmZ09yRmFpbAEFDHJlc3RDb250cmFjdAAPc3Rha2luZ0NvbnRyYWN0CQEYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAgUHcmVzdENmZwURSWR4Q2ZnU3Rha2luZ0RhcHAAD2Vjb25vbXlDb250cmFjdAkBGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIFB3Jlc3RDZmcFEUlkeENmZ0Vjb25vbXlEYXBwAAt3bGdDb250cmFjdAkBGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIFB3Jlc3RDZmcFDUlkeENmZ1dsZ0RhcHAAEnB1enpsZVBvb2xDb250cmFjdAkBGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIFB3Jlc3RDZmcFFElkeENmZ1B1enpsZVBvb2xEYXBwAApyZWNMYW5kTnVtAAAAC3JlY0xhbmRTaXplAAEAC3JlY1RlcnJhaW5zAAIADHJlY0NvbnRpbmVudAADARFrZXlSZXNQcm9wb3J0aW9ucwACE3Jlc1R5cGVzUHJvcG9ydGlvbnMBFWtleVN0YWtlZExhbmRzQnlPd25lcgEJb3duZXJBZGRyCQCsAgICE3N0YWtlZExhbmRzQnlPd25lcl8FCW93bmVyQWRkcgASd2xnSXNzdWVkQW1vdW50S2V5AhB3bGdfaXNzdWVkQW1vdW50AA13bGdBc3NldElkS2V5Agt3bGdfYXNzZXRJZAAKd2xnQXNzZXRJZAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCcCAIFC3dsZ0NvbnRyYWN0BQ13bGdBc3NldElkS2V5AhNOb3QgaW5pdGlhbGl6ZWQgeWV0AAxpZHhXbGdBbW91bnQAAAALaWR4V2xnUHJpY2UAAQALaWR4V2xnRnVuZHMAAgANaWR4V2xnRWNvbm9teQADAA5pZHhXbGdBY3Rpdml0eQAEAA9pZHhXbGdBcmJpdHJhZ2UABQAKaWR4V2xnUG9vbAAGAQhhc1N0cmluZwEBdgQHJG1hdGNoMAUBdgMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXMFByRtYXRjaDAFAXMJAAIBAhhmYWlsIHRvIGNhc3QgaW50byBTdHJpbmcBBWFzSW50AQF2BAckbWF0Y2gwBQF2AwkAAQIFByRtYXRjaDACA0ludAQBbgUHJG1hdGNoMAUBbgkAAgECFWZhaWwgdG8gY2FzdCBpbnRvIEludAEJYXNCb29sZWFuAQF2BAckbWF0Y2gwBQF2AwkAAQIFByRtYXRjaDACB0Jvb2xlYW4EAXMFByRtYXRjaDAFAXMJAAIBAhlmYWlsIHRvIGNhc3QgaW50byBCb29sZWFuAQ9udW1QaWVjZXNCeVNpemUBCGxhbmRTaXplBAckbWF0Y2gwBQhsYW5kU2l6ZQMJAAACAgFTBQckbWF0Y2gwBQVTU0laRQMJAAACAgFNBQckbWF0Y2gwBQVNU0laRQMJAAACAgFMBQckbWF0Y2gwBQVMU0laRQMJAAACAgJYTAUHJG1hdGNoMAUGWExTSVpFAwkAAAICA1hYTAUHJG1hdGNoMAUHWFhMU0laRQkAAgECEVVua25vd24gbGFuZCBzaXplAQ5nZXRWb3RpbmdQb3dlcgESdXNlckFkZHJTdHJPckVtcHR5BAVwcm9wcwkAtQkCCQELdmFsdWVPckVsc2UCCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBEWtleVJlc1Byb3BvcnRpb25zAAILMF8wXzBfMF8wXzACAV8KAQVhZGRlcgIDYWNjBGl0ZW0JAGQCBQNhY2MJAQ1wYXJzZUludFZhbHVlAQUEaXRlbQQKdG90YWxQb3dlcgoAAiRsBQVwcm9wcwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAAAAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEFYWRkZXICBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECE0xpc3Qgc2l6ZSBleGNlZWRzIDYJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYECnVzZXJzUG93ZXIDCQAAAgUSdXNlckFkZHJTdHJPckVtcHR5AgAAAAQIbGFuZHNTdHIJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEVa2V5U3Rha2VkTGFuZHNCeU93bmVyAQUSdXNlckFkZHJTdHJPckVtcHR5BAVsYW5kcwMJAQlpc0RlZmluZWQBBQhsYW5kc1N0cgkAvQkCCQEFdmFsdWUBBQhsYW5kc1N0cgIBXwUDbmlsCgEHb25lTGFuZAIDYWNjC2xhbmRBc3NldElkBAVhc3NldAkBBXZhbHVlAQkA7AcBCQDZBAEFC2xhbmRBc3NldElkBAhsYW5kU2l6ZQkAkQMCCQC1CQIIBQVhc3NldAtkZXNjcmlwdGlvbgIBXwULcmVjTGFuZFNpemUJAGQCBQNhY2MJAQ9udW1QaWVjZXNCeVNpemUBBQhsYW5kU2l6ZQoAAiRsBQVsYW5kcwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAAAAoBBSRmMV8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEHb25lTGFuZAIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMV8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIVTGlzdCBzaXplIGV4Y2VlZHMgMTAwCQEFJGYxXzICCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYx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AwkBCWlzRGVmaW5lZAEFBGFkZHIJAPAHAgkBBXZhbHVlAQUEYWRkcgUKd2xnQXNzZXRJZAAABApjdXN0b21OYW1lCQELdmFsdWVPckVsc2UCCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBFmtleUFkZHJlc3NUb0N1c3RvbU5hbWUBBQ51c2VyQWRkcmVzc09wdAUOdXNlckFkZHJlc3NPcHQEBXJlZkJ5CQELdmFsdWVPckVsc2UCCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBD2tleUFkZHJlc3NSZWZCeQEFDnVzZXJBZGRyZXNzT3B0AgAEBHJlZnMJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQETa2V5QWRkcmVzc1JlZmVycmFscwEFDnVzZXJBZGRyZXNzT3B0AgAECGxhc3RUeElkCQELdmFsdWVPckVsc2UCCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBEWtleUxhc3RUeElkQnlVc2VyAQUOdXNlckFkZHJlc3NPcHQCAAQGcGllY2VzCQCRAwIJAQ5nZXRWb3RpbmdQb3dlcgEFDnVzZXJBZGRyZXNzT3B0BQpJZHhFZmZVc2VyCQDMCAIJAKwCAgISJXMlc19fY3VzdG9tTmFtZV9fBQpjdXN0b21OYW1lCQDMCAIJAKwCAgISJXMlc19fcmVmZXJyZWRCeV9fBQVyZWZCeQkAzAgCCQCsAgICESVzJXNfX3JlZmVycmFsc19fBQRyZWZzCQDMCAIJAKwCAgIQJXMlc19fbGFzdFR4SWRfXwUIbGFzdFR4SWQJAMwIAgkArAICAhYlcyVzJWRfX3dhdmVzQmFsYW5jZV9fCQCkAwEIBQdiYWxhbmNlCWF2YWlsYWJsZQkAzAgCCQCsAgICFyVzJXMlZF9fd2xnb2xkQmFsYW5jZV9fCQCkAwEFDXdsZ29sZEJhbGFuY2UJAMwIAgkArAICAhUlcyVzJWRfX3VzZHRCYWxhbmNlX18JAKQDAQULdXNkdEJhbGFuY2UJAMwIAgkArAICAhYlcyVzJWRfX3N0YWtlZFBpZWNlc19fCQCkAwEFBnBpZWNlcwUDbmlsAQxhcHBseUJvbnVzZXMCC2xhbmRBc3NldElkBnBpZWNlcwQKaW5mcmFMZXZlbAkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJARZrZXlJbmZyYUxldmVsQnlBc3NldElkAQULbGFuZEFzc2V0SWQAAAQJYXJ0UGllY2VzCQELdmFsdWVPckVsc2UCCQCaCAIFD3N0YWtpbmdDb250cmFjdAkBIGtleUxhbmRBcnRTdGF0dXNCeVR5cGVBbmRBc3NldElkAgUKQVJUUFJFU0FMRQULbGFuZEFzc2V0SWQAAAQEYWRkNgkAaQIFCmluZnJhTGV2ZWwABgQEYWRkNwkAaQIFCmluZnJhTGV2ZWwABwkAlQoDBQppbmZyYUxldmVsBQlhcnRQaWVjZXMJAGQCCQBkAgUPREFJTFlSRVNCWVBJRUNFCQBrAwUPREFJTFlSRVNCWVBJRUNFCQBkAgkAZAIFCmluZnJhTGV2ZWwFBGFkZDYJAGgCAAIFBGFkZDcABQkAawMFD0RBSUxZUkVTQllQSUVDRQUJYXJ0UGllY2VzCQBoAgUGcGllY2VzAAUBF2dldFdhcmVob3VzZVRvdGFsVm9sdW1lAQl2b2xQcmVmaXgEBXBhcnRzCQC1CQIFCXZvbFByZWZpeAIBXwkAaAIJAGgCBQxXSE1VTFRJUExJRVIJAGQCCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUFcGFydHMAAQABCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUFcGFydHMAAAEMZ2V0V2FyZWhvdXNlAwV3aEtleQlsYW5kSW5kZXgKaW5mcmFMZXZlbAQJdm9sUHJlZml4CQCsAgIJAKwCAgkApAMBBQlsYW5kSW5kZXgCAV8JAKQDAQUKaW5mcmFMZXZlbAQEdG90UwkApAMBCQEXZ2V0V2FyZWhvdXNlVG90YWxWb2x1bWUBBQl2b2xQcmVmaXgEBXdoU3RyCQELdmFsdWVPckVsc2UCCQCdCAIFD3N0YWtpbmdDb250cmFjdAUFd2hLZXkJAKwCAgkArAICCQCsAgIJAKwCAgUJdm9sUHJlZml4Ah46MF8wXzBfMF8wXzA6MF8wXzBfMF8wXzA6OjBfMF8FBHRvdFMCAV8FBHRvdFMJALUJAgUFd2hTdHICAToBDWR1Y2tJbmZvVHVwbGUBC2R1Y2tBc3NldElkCQCXCgUJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQEWa2V5U3Rha2VkVGltZUJ5QXNzZXRJZAEFC2R1Y2tBc3NldElkAP///////////wEICQEFdmFsdWUBCQDsBwEJANkEAQULZHVja0Fzc2V0SWQEbmFtZQkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ9zdGFraW5nQ29udHJhY3QJAQ9rZXlEdWNrTG9jYXRpb24BBQtkdWNrQXNzZXRJZAIACQELdmFsdWVPckVsc2UCCQCaCAIFD3N0YWtpbmdDb250cmFjdAkBDWtleUR1Y2tIZWFsdGgBBQtkdWNrQXNzZXRJZAD///////////8BCQEIYXNTdHJpbmcBCQD8BwQFD3N0YWtpbmdDb250cmFjdAITZ2V0QmFja3BhY2tSRUFET05MWQkAzAgCBQtkdWNrQXNzZXRJZAUDbmlsBQNuaWwBDWR1Y2tJbmZvQXJyYXkDC2R1Y2tBc3NldElkBW93bmVyB2R1Y2tJbmYECmN1c3RvbU5hbWUJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEaa2V5RHVja0Fzc2V0SWRUb0N1c3RvbU5hbWUBBQtkdWNrQXNzZXRJZAgFB2R1Y2tJbmYCXzIJAMwIAgkArAICAg8lcyVzX19hc3NldElkX18FC2R1Y2tBc3NldElkCQDMCAIJAKwCAgINJXMlc19fb3duZXJfXwUFb3duZXIJAMwIAgkArAICAhIlcyVzX19jdXN0b21OYW1lX18FCmN1c3RvbU5hbWUJAMwIAgkArAICAhIlcyVkX19zdGFrZWRUaW1lX18JAKQDAQgFB2R1Y2tJbmYCXzEJAMwIAgkArAICAgwlcyVzX19uYW1lX18IBQdkdWNrSW5mAl8yCQDMCAIJAKwCAgIQJXMlc19fbG9jYXRpb25fXwgFB2R1Y2tJbmYCXzMJAMwIAgkArAICAg4lcyVkX19oZWFsdGhfXwkApAMBCAUHZHVja0luZgJfNAkAzAgCCQCsAgICECVzJXNfX2JhY2tQYWNrX18IBQdkdWNrSW5mAl81BQNuaWwBDWxhbmRJbmZvQXJyYXkDC2xhbmRBc3NldElkBW93bmVyCnN0YWtlZFRpbWUDCQAAAgULbGFuZEFzc2V0SWQCAAkAAgECF2xhbmRBc3NldElkIGlzIHJlcXVpcmVkBAFhCQEFdmFsdWUBCQDsBwEJANkEAQULbGFuZEFzc2V0SWQEAWQJALUJAggFAWELZGVzY3JpcHRpb24CAV8EB2xhbmROdW0DCQBmAggFAWEIcXVhbnRpdHkAAAkAkQMCBQFkBQpyZWNMYW5kTnVtCQCsAgICAS0JAJEDAgUBZAUKcmVjTGFuZE51bQQGcGllY2VzCQEPbnVtUGllY2VzQnlTaXplAQkAkQMCBQFkBQtyZWNMYW5kU2l6ZQQMcHJvZHVjdGl2aXR5CQEMYXBwbHlCb251c2VzAgULbGFuZEFzc2V0SWQFBnBpZWNlcwQJZGVsdGFUaW1lCQBlAggFCWxhc3RCbG9jawl0aW1lc3RhbXAFCnN0YWtlZFRpbWUECGF2YWlsUmVzAwkAZgIFCnN0YWtlZFRpbWUAAAkAawMFCWRlbHRhVGltZQkAaAIIBQxwcm9kdWN0aXZpdHkCXzMFBnBpZWNlcwUJREFZTUlMTElTAAAEB25lZWRNYXQJAGsDBRFJbmZyYVVwZ3JhZGVDb3N0UwkAaAIFBnBpZWNlcwkAZAIIBQxwcm9kdWN0aXZpdHkCXzEAAQUFU1NJWkUEDmdsb2JhbEFuZExvY2FsAwkAZgIFCnN0YWtlZFRpbWUAAAkBDWFzU3BsaXRSZXN1bHQBCQD8BwQFD3N0YWtpbmdDb250cmFjdAIkc3BsaXRCeUdsb2JhbEFuZExvY2FsV2VpZ2h0c1JFQURPTkxZCQDMCAIFB25lZWRNYXQJAMwIAgUIYXZhaWxSZXMJAMwIAgkAkQMCBQFkBQtyZWNUZXJyYWlucwUDbmlsBQNuaWwJAJQKAgkBEmFzTGlzdEludENvbXBhY3RlZAEJAPwHBAUPc3Rha2luZ0NvbnRyYWN0AhxzcGxpdEJ5R2xvYmFsV2VpZ2h0c1JFQURPTkxZCQDMCAIFB25lZWRNYXQFA25pbAUDbmlsAgAECmN1c3RvbU5hbWUJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEaa2V5TGFuZEFzc2V0SWRUb0N1c3RvbU5hbWUBBQtsYW5kQXNzZXRJZAkArAICCQCsAgIJAJEDAgUBZAUMcmVjQ29udGluZW50AgEtCQCRAwIFAWQFCnJlY0xhbmROdW0JAMwIAgkArAICAg8lcyVzX19hc3NldElkX18FC2xhbmRBc3NldElkCQDMCAIJAKwCAgINJXMlc19fb3duZXJfXwUFb3duZXIJAMwIAgkArAICAhIlcyVzX19jdXN0b21OYW1lX18FCmN1c3RvbU5hbWUJAMwIAgkArAICAhIlcyVkX19zdGFrZWRUaW1lX18JAKQDAQUKc3Rha2VkVGltZQkAzAgCCQCsAgICEyVzJXNfX2Rlc2NyaXB0aW9uX18JALkJAgkAzAgCBQdsYW5kTnVtCQDMCAIJAJEDAgUBZAULcmVjTGFuZFNpemUJAMwIAgkAkQMCBQFkBQtyZWNUZXJyYWlucwkAzAgCCQCRAwIFAWQFDHJlY0NvbnRpbmVudAUDbmlsAgFfCQDMCAIJAKwCAgISJXMlZF9faW5mcmFMZXZlbF9fCQCkAwEIBQxwcm9kdWN0aXZpdHkCXzEJAMwIAgkArAICAhYlcyVzX19hdmFpbFJlc0J5VHlwZV9fCAUOZ2xvYmFsQW5kTG9jYWwCXzIJAMwIAgkArAICAhUlcyVkX19hdmFpbFJlc1RvdGFsX18JAKQDAQUIYXZhaWxSZXMJAMwIAgkArAICAhQlcyVzX19uZWVkTWF0ZXJpYWxfXwgFDmdsb2JhbEFuZExvY2FsAl8xCQDMCAIJALkJAgkAzAgCAgQlcyVzCQDMCAICDWxhbmRBcnRlZmFjdHMJAMwIAgkArAICAghQUkVTQUxFOgkApAMBCAUMcHJvZHVjdGl2aXR5Al8yBQNuaWwFA1NFUAkAzAgCCQCsAgICESVzJXNfX3dhcmVob3VzZV9fCQC5CQIJAQxnZXRXYXJlaG91c2UDCQESa2V5V2FyZWhvdXNlQnlMYW5kAQULbGFuZEFzc2V0SWQJAGkCBQZwaWVjZXMFBVNTSVpFCAUMcHJvZHVjdGl2aXR5Al8xAgE6CQDMCAIJAKwCAgIRJXMlc19fbGFuZE9yZGVyX18JAQt2YWx1ZU9yRWxzZQIJAJ0IAgUPZWNvbm9teUNvbnRyYWN0CQEOa2V5T3JkZXJCeUxhbmQBBQtsYW5kQXNzZXRJZAIwMEAwXzBAMF8wQDBfMEAwXzBAMF8wQDA6MEAwXzBAMF8wQDBfMEAwXzBAMF8wQDA6BQNuaWwBEmxhbmRPcmRlckluZm9BcnJheQILbGFuZEFzc2V0SWQFb3duZXIDCQAAAgULbGFuZEFzc2V0SWQCAAkAAgECF2xhbmRBc3NldElkIGlzIHJlcXVpcmVkBAFhCQEFdmFsdWUBCQDsBwEJANkEAQULbGFuZEFzc2V0SWQEAWQJALUJAggFAWELZGVzY3JpcHRpb24CAV8EBnBpZWNlcwkBD251bVBpZWNlc0J5U2l6ZQEJAJEDAgUBZAULcmVjTGFuZFNpemUEDHByb2R1Y3Rpdml0eQkBDGFwcGx5Qm9udXNlcwIFC2xhbmRBc3NldElkBQZwaWVjZXMJAMwIAgkArAICAg8lcyVzX19hc3NldElkX18FC2xhbmRBc3NldElkCQDMCAIJAKwCAgINJXMlc19fb3duZXJfXwUFb3duZXIJAMwIAgkArAICAhElcyVzX193YXJlaG91c2VfXwkAuQkCCQEMZ2V0V2FyZWhvdXNlAwkBEmtleVdhcmVob3VzZUJ5TGFuZAEFC2xhbmRBc3NldElkCQBpAgUGcGllY2VzBQVTU0laRQgFDHByb2R1Y3Rpdml0eQJfMQIBOgkAzAgCCQCsAgICESVzJXNfX2xhbmRPcmRlcl9fCQELdmFsdWVPckVsc2UCCQCdCAIFD2Vjb25vbXlDb250cmFjdAkBDmtleU9yZGVyQnlMYW5kAQULbGFuZEFzc2V0SWQCMDBAMF8wQDBfMEAwXzBAMF8wQDBfMEAwOjBAMF8wQDBfMEAwXzBAMF8wQDBfMEAwOgUDbmlsDwFpAQ1jb25zdHJ1Y3RvclYxAQljb250cmFjdHMDCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAhJwZXJtaXNzaW9ucyBkZW5pZWQKAQpkZXNjcmlwdG9yAgNhY2MLaWdub3JlZEl0ZW0JAKwCAgUDYWNjAgIlcwQFZGVzY3IKAAIkbAUJY29udHJhY3RzCgACJHMJAJADAQUCJGwKAAUkYWNjMAIACgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQpkZXNjcmlwdG9yAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhRMaXN0IHNpemUgZXhjZWVkcyAxMAkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgAHAAgACQAKCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQprZXlSZXN0Q2ZnAAkAuQkCCQDMCAIFBWRlc2NyBQljb250cmFjdHMFA1NFUAkAzAgCCQELU3RyaW5nRW50cnkCCQEOa2V5UmVzdEFkZHJlc3MACQClCAEFBHRoaXMFA25pbAFpARJ3YWxsZXRJbmZvUkVBRE9OTFkBDnVzZXJBZGRyZXNzT3B0CQCUCgIFA25pbAkBDndhbGxldEludGVybmFsAQUOdXNlckFkZHJlc3NPcHQBaQEXZHVja0J5T3duZXJJbmZvUkVBRE9OTFkBC3VzZXJBZGRyZXNzBApzdGFrZWREdWNrCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBFGtleVN0YWtlZER1Y2tCeU93bmVyAQULdXNlckFkZHJlc3MJAJQKAgUDbmlsAwMJAQlpc0RlZmluZWQBCQCmCAEFC3VzZXJBZGRyZXNzCQEJaXNEZWZpbmVkAQUKc3Rha2VkRHVjawcEC2R1Y2tBc3NldElkCQEFdmFsdWUBBQpzdGFrZWREdWNrCQENZHVja0luZm9BcnJheQMFC2R1Y2tBc3NldElkBQt1c2VyQWRkcmVzcwkBDWR1Y2tJbmZvVHVwbGUBBQtkdWNrQXNzZXRJZAkBDWR1Y2tJbmZvQXJyYXkDAgAFC3VzZXJBZGRyZXNzCQCXCgUA////////////AQIAAgAA////////////AQIAAWkBGWR1Y2tCeUFzc2V0SWRJbmZvUkVBRE9OTFkBC2R1Y2tBc3NldElkBAVvd25lcgkAnQgCBQ9zdGFraW5nQ29udHJhY3QJARBrZXlEdWNrSWRUb093bmVyAQULZHVja0Fzc2V0SWQEB2R1Y2tJbmYJAQ1kdWNrSW5mb1R1cGxlAQULZHVja0Fzc2V0SWQJAJQKAgUDbmlsCQENZHVja0luZm9BcnJheQMFC2R1Y2tBc3NldElkAwkBCWlzRGVmaW5lZAEFBW93bmVyCQEFdmFsdWUBBQVvd25lcgIACQENZHVja0luZm9UdXBsZQEFC2R1Y2tBc3NldElkAWkBGWxhbmRCeUFzc2V0SWRJbmZvUkVBRE9OTFkBC2xhbmRBc3NldElkAwkAAAIFC2xhbmRBc3NldElkAgAJAAIBAhdsYW5kQXNzZXRJZCBpcyByZXF1aXJlZAQKc3Rha2VkVGltZQkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJARZrZXlTdGFrZWRUaW1lQnlBc3NldElkAQULbGFuZEFzc2V0SWQA////////////AQQFb3duZXIDCQBmAgUKc3Rha2VkVGltZQAACQEFdmFsdWUBCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBFWtleUxhbmRBc3NldElkVG9Pd25lcgEFC2xhbmRBc3NldElkAgAJAJQKAgUDbmlsCQENbGFuZEluZm9BcnJheQMFC2xhbmRBc3NldElkBQVvd25lcgUKc3Rha2VkVGltZQFpAR5zdGFrZWRMYW5kc0J5T3duZXJJbmZvUkVBRE9OTFkBEGxhbmRPd25lckFkZHJlc3MDCQAAAgUQbGFuZE93bmVyQWRkcmVzcwIACQACAQIcbGFuZE93bmVyQWRkcmVzcyBpcyByZXF1aXJlZAQIbGFuZHNTdHIJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEVa2V5U3Rha2VkTGFuZHNCeU93bmVyAQUQbGFuZE93bmVyQWRkcmVzcwQFbGFuZHMDCQEJaXNEZWZpbmVkAQUIbGFuZHNTdHIJAL0JAgkBBXZhbHVlAQUIbGFuZHNTdHICAV8FA25pbAoBB29uZUxhbmQCA2FjYwtsYW5kQXNzZXRJZAMJAAACBQtsYW5kQXNzZXRJZAIACQACAQIXbGFuZEFzc2V0SWQgaXMgcmVxdWlyZWQECnN0YWtlZFRpbWUJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQEWa2V5U3Rha2VkVGltZUJ5QXNzZXRJZAEFC2xhbmRBc3NldElkAP///////////wEJAM0IAgUDYWNjCQENbGFuZEluZm9BcnJheQMFC2xhbmRBc3NldElkBRBsYW5kT3duZXJBZGRyZXNzBQpzdGFrZWRUaW1lBAFyCgACJGwFBWxhbmRzCgACJHMJAJADAQUCJGwKAAUkYWNjMAUDbmlsCgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQdvbmVMYW5kAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhVMaXN0IHNpemUgZXhjZWVkcyAxMDAJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AHwAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQBiAGMAZAkAlAoCBQNuaWwFAXIBaQEWbGFuZHNCeUlkc0luZm9SRUFET05MWQEMbGFuZEFzc2V0SWRzCgEHb25lTGFuZAIDYWNjC2xhbmRBc3NldElkAwkAAAIFC2xhbmRBc3NldElkAgAJAAIBAhdsYW5kQXNzZXRJZCBpcyByZXF1aXJlZAQKc3Rha2VkVGltZQkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJARZrZXlTdGFrZWRUaW1lQnlBc3NldElkAQULbGFuZEFzc2V0SWQA////////////AQQFb3duZXIDCQBmAgUKc3Rha2VkVGltZQAACQEFdmFsdWUBCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBFWtleUxhbmRBc3NldElkVG9Pd25lcgEFC2xhbmRBc3NldElkAgAJAM0IAgUDYWNjCQENbGFuZEluZm9BcnJheQMFC2xhbmRBc3NldElkBQVvd25lcgUKc3Rha2VkVGltZQQBcgoAAiRsBQxsYW5kQXNzZXRJZHMKAAIkcwkAkAMBBQIkbAoABSRhY2MwBQNuaWwKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBB29uZUxhbmQCBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECFUxpc3Qgc2l6ZSBleGNlZWRzIDEwMAkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AHgAfACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAGIAYwBkCQCUCgIFA25pbAUBcgFpASN3YXJlaG91c2VPcmRlckJ5QXNzZXRJZEluZm9SRUFET05MWQELbGFuZEFzc2V0SWQDCQAAAgULbGFuZEFzc2V0SWQCAAkAAgECF2xhbmRBc3NldElkIGlzIHJlcXVpcmVkBApzdGFrZWRUaW1lCQELdmFsdWVPckVsc2UCCQCaCAIFD3N0YWtpbmdDb250cmFjdAkBFmtleVN0YWtlZFRpbWVCeUFzc2V0SWQBBQtsYW5kQXNzZXRJZAD///////////8BBAVvd25lcgMJAGYCBQpzdGFrZWRUaW1lAAAJAQV2YWx1ZQEJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEVa2V5TGFuZEFzc2V0SWRUb093bmVyAQULbGFuZEFzc2V0SWQCAAkAlAoCBQNuaWwJARJsYW5kT3JkZXJJbmZvQXJyYXkCBQtsYW5kQXNzZXRJZAUFb3duZXIBaQEbb3JkZXJzQnlMYW5kSWRzSW5mb1JFQURPTkxZAQxsYW5kQXNzZXRJZHMKAQdvbmVMYW5kAgNhY2MLbGFuZEFzc2V0SWQDCQAAAgULbGFuZEFzc2V0SWQCAAkAAgECF2xhbmRBc3NldElkIGlzIHJlcXVpcmVkBApzdGFrZWRUaW1lCQELdmFsdWVPckVsc2UCCQCaCAIFD3N0YWtpbmdDb250cmFjdAkBFmtleVN0YWtlZFRpbWVCeUFzc2V0SWQBBQtsYW5kQXNzZXRJZAD///////////8BBAVvd25lcgMJAGYCBQpzdGFrZWRUaW1lAAAJAQV2YWx1ZQEJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEVa2V5TGFuZEFzc2V0SWRUb093bmVyAQULbGFuZEFzc2V0SWQCAAkAzQgCBQNhY2MJARJsYW5kT3JkZXJJbmZvQXJyYXkCBQtsYW5kQXNzZXRJZAUFb3duZXIEAXIKAAIkbAUMbGFuZEFz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IHNpemUgZXhjZWVkcyAxNgkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQCQCUCgIFA25pbAUBcgFpAQ1zZW5kVXNkdFByaXplAQt1c2VyQWRkcmVzcwMJAQIhPQIIBQFpBmNhbGxlcgUPc3Rha2luZ0NvbnRyYWN0CQACAQIRcGVybWlzc2lvbiBkZW5pZWQEA2FtdAkAawMJAPAHAgUEdGhpcwULdXNkdEFzc2V0SWQFDVVTRFRQUklaRVBBUlQFBU1VTFQ2CQCUCgIJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBEUBleHRyTmF0aXZlKDEwNjIpAQULdXNlckFkZHJlc3MFA2FtdAULdXNkdEFzc2V0SWQFA25pbAUDYW10AWkBH2dldEVtZXJnZW5jeVNlcnZpY2VEYXRhUkVBRE9OTFkABAhleGlzdFN0cgkAnQgCBQ9lY29ub215Q29udHJhY3QJAQ5rZXlFc1dhcmVob3VzZQAEDGV4aXN0QW1vdW50cwMJAQlpc0RlZmluZWQBBQhleGlzdFN0cgkAtQkCCQEFdmFsdWUBBQhleGlzdFN0cgIBXwUDbmlsCgEKc2luZ2xlUHJvZAIDYWNjCXJlY2lwZVN0cgQBbggFA2FjYwJfMgQGcmVjaXBlCQC1CQIFCXJlY2lwZVN0cgIBXwQIcGFja1NpemUJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQZyZWNpcGUFEXJlY2lwZUlkeFBhY2tzaXplBAltYXhBbW91bnQDCQAAAgUBbgAACQBoAgUNRVNNQVhQQUNLQUdFUwUIcGFja1NpemUAAAQLZXhpc3RBbW91bnQDCQBmAgkAkAMBBQxleGlzdEFtb3VudHMFAW4JAQ1wYXJzZUludFZhbHVlAQkAkQMCBQxleGlzdEFtb3VudHMFAW4AAAQIdG90YWxNYXQJARJnZXRSZWNpcGVNYXRlcmlh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", "height": 2648274, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Ar3EMfVfQEG3Ysm9QdwkLQRyVmqLR5Az1cwoFuRNdZdy Next: 5f19ccKgFHpRX88XYmSYk8fZJ6toxEavskzbH2sHbKwb Diff:
OldNewDifferences
7777 func I () = "emergencyWarehouseProducts"
7878
7979
80-func J (K) = {
81- func L (M,N) = (M + parseIntValue(K[N]))
80+let J = 1
8281
83- let O = [0, 1, 2, 3, 4, 5]
84- let P = size(O)
85- let Q = 0
86- func R (S,T) = if ((T >= P))
87- then S
88- else L(S, O[T])
82+func K (L) = {
83+ func M (N,O) = (N + parseIntValue(L[O]))
8984
90- func U (S,T) = if ((T >= P))
91- then S
85+ let P = [0, 1, 2, 3, 4, 5]
86+ let Q = size(P)
87+ let R = 0
88+ func S (T,U) = if ((U >= Q))
89+ then T
90+ else M(T, P[U])
91+
92+ func V (T,U) = if ((U >= Q))
93+ then T
9294 else throw("List size exceeds 6")
9395
94- U(R(R(R(R(R(R(Q, 0), 1), 2), 3), 4), 5), 6)
96+ V(S(S(S(S(S(S(R, 0), 1), 2), 3), 4), 5), 6)
9597 }
9698
9799
98-let V = take(drop(this.bytes, 1), 1)
100+let W = take(drop(this.bytes, 1), 1)
99101
100-let W = {
101- let X = V
102- if ((base58'2W' == X))
102+let X = {
103+ let Y = W
104+ if ((base58'2W' == Y))
103105 then base58'9wc3LXNA4TEBsXyKtoLE9mrbDD7WMHXvXrCjZvabLAsi'
104- else if ((base58'2T' == X))
106+ else if ((base58'2T' == Y))
105107 then base58'6mWwf9mZBjVgkC54idpyaZLQfAosD914wT8fGf2iiY63'
106108 else throw("Unknown chain")
107109 }
108110
109-let Y = {
110- let X = V
111- if ((base58'2W' == X))
111+let Z = {
112+ let Y = W
113+ if ((base58'2W' == Y))
112114 then "3PQCuvFbvh4LkPUnrnU1z3jnbA1p9m3WNhv"
113- else if ((base58'2T' == X))
115+ else if ((base58'2T' == Y))
114116 then "3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy"
115117 else throw("Unknown chain")
116118 }
117119
118-let Z = {
119- let X = V
120- if ((base58'2W' == X))
120+let aa = {
121+ let Y = W
122+ if ((base58'2W' == Y))
121123 then 10000000000
122- else if ((base58'2T' == X))
124+ else if ((base58'2T' == Y))
123125 then 100000000
124126 else throw("Unknown chain")
125127 }
126128
127-let aa = "__"
129+let ab = "__"
128130
129-let ab = 1000000
131+let ac = 1000000
130132
131-let ac = 100000000
133+let ad = 100000000
132134
133-let ad = 25
135+let ae = 25
134136
135-let ae = 100
137+let af = 100
136138
137-let af = 225
139+let ag = 225
138140
139-let ag = 400
141+let ah = 400
140142
141-let ah = 625
143+let ai = 625
142144
143-func ai (aj,ak) = valueOrErrorMessage(getString(aj, ak), makeString(["mandatory ", toString(aj), ".", ak, " is not defined"], ""))
145+func aj (ak,al) = valueOrErrorMessage(getString(ak, al), makeString(["mandatory ", toString(ak), ".", al, " is not defined"], ""))
144146
145147
146-let al = 1
148+let am = 1
147149
148-let am = 2
150+let an = 2
149151
150-let an = 4
152+let ao = 4
151153
152-let ao = 5
154+let ap = 5
153155
154-func ap () = "%s__restConfig"
156+func aq () = "%s__restConfig"
155157
156158
157-func aq () = "%s__restAddr"
159+func ar () = "%s__restAddr"
158160
159161
160-func ar (as) = split_4C(ai(as, ap()), aa)
162+func as (at) = split_4C(aj(at, aq()), ab)
161163
162164
163-func at (au,av) = valueOrErrorMessage(addressFromString(au[av]), ("Rest cfg doesn't contain address at index " + toString(av)))
165+func au (av,aw) = valueOrErrorMessage(addressFromString(av[aw]), ("Rest cfg doesn't contain address at index " + toString(aw)))
164166
165167
166-let aw = addressFromStringValue(valueOrElse(getString(this, aq()), Y))
168+let ax = addressFromStringValue(valueOrElse(getString(this, ar()), Z))
167169
168-let au = ar(aw)
170+let av = as(ax)
169171
170-let ax = at(au, al)
172+let ay = au(av, am)
171173
172-let ay = at(au, am)
174+let az = au(av, an)
173175
174-let az = at(au, an)
176+let aA = au(av, ao)
175177
176-let aA = at(au, ao)
178+let aB = au(av, ap)
177179
178-let aB = 0
180+let aC = 0
179181
180-let aC = 1
182+let aD = 1
181183
182-let aD = 2
184+let aE = 2
183185
184-let aE = 3
186+let aF = 3
185187
186-func aF (C) = ("stakedLandsByOwner_" + C)
188+func aG () = "resTypesProportions"
187189
188190
189-let aG = "wlg_issuedAmount"
191+func aH (C) = ("stakedLandsByOwner_" + C)
190192
191-let aH = "wlg_assetId"
192193
193-let aI = valueOrErrorMessage(getBinary(az, aH), "Not initialized yet")
194+let aI = "wlg_issuedAmount"
194195
195-let aJ = 0
196+let aJ = "wlg_assetId"
196197
197-let aK = 1
198+let aK = valueOrErrorMessage(getBinary(aA, aJ), "Not initialized yet")
198199
199-let aL = 2
200+let aL = 0
200201
201-let aM = 3
202+let aM = 1
202203
203-let aN = 4
204+let aN = 2
204205
205-let aO = 5
206+let aO = 3
206207
207-let aP = 6
208+let aP = 4
208209
209-func aQ (aR) = {
210- let X = aR
211- if ($isInstanceOf(X, "String"))
210+let aQ = 5
211+
212+let aR = 6
213+
214+func aS (aT) = {
215+ let Y = aT
216+ if ($isInstanceOf(Y, "String"))
212217 then {
213- let aS = X
214- aS
218+ let aU = Y
219+ aU
215220 }
216221 else throw("fail to cast into String")
217222 }
218223
219224
220-func aT (aR) = {
221- let X = aR
222- if ($isInstanceOf(X, "Int"))
225+func aV (aT) = {
226+ let Y = aT
227+ if ($isInstanceOf(Y, "Int"))
223228 then {
224- let aU = X
225- aU
229+ let aW = Y
230+ aW
226231 }
227232 else throw("fail to cast into Int")
228233 }
229234
230235
231-func aV (aR) = {
232- let X = aR
233- if ($isInstanceOf(X, "Boolean"))
236+func aX (aT) = {
237+ let Y = aT
238+ if ($isInstanceOf(Y, "Boolean"))
234239 then {
235- let aS = X
236- aS
240+ let aU = Y
241+ aU
237242 }
238243 else throw("fail to cast into Boolean")
239244 }
240245
241246
242-func aW (aX) = {
243- let X = aX
244- if (("S" == X))
245- then ad
246- else if (("M" == X))
247- then ae
248- else if (("L" == X))
249- then af
250- else if (("XL" == X))
251- then ag
252- else if (("XXL" == X))
253- then ah
247+func aY (aZ) = {
248+ let Y = aZ
249+ if (("S" == Y))
250+ then ae
251+ else if (("M" == Y))
252+ then af
253+ else if (("L" == Y))
254+ then ag
255+ else if (("XL" == Y))
256+ then ah
257+ else if (("XXL" == Y))
258+ then ai
254259 else throw("Unknown land size")
255260 }
256261
257262
258-func aY () = {
259- let aZ = valueOrErrorMessage(getInteger(az, aG), "WLGOLD is not issued yet")
260- let ba = assetBalance(ay, W)
261- let bb = assetBalance(aw, W)
262- let bc = assetBalance(az, W)
263- let bd = assetBalance(aA, W)
264- let be = (((ba + bb) + bc) + bd)
265-[aZ, fraction(be, ac, aZ), be, ba, bb, bc, bd]
263+func ba (bb) = {
264+ let bc = split(valueOrElse(getString(ay, aG()), "0_0_0_0_0_0"), "_")
265+ func bd (be,bf) = (be + parseIntValue(bf))
266+
267+ let bg = {
268+ let P = bc
269+ let Q = size(P)
270+ let R = 0
271+ func S (T,U) = if ((U >= Q))
272+ then T
273+ else bd(T, P[U])
274+
275+ func V (T,U) = if ((U >= Q))
276+ then T
277+ else throw("List size exceeds 6")
278+
279+ V(S(S(S(S(S(S(R, 0), 1), 2), 3), 4), 5), 6)
280+ }
281+ let bh = if ((bb == ""))
282+ then 0
283+ else {
284+ let bi = getString(ay, aH(bb))
285+ let bj = if (isDefined(bi))
286+ then split_51C(value(bi), "_")
287+ else nil
288+ func bk (be,v) = {
289+ let bl = value(assetInfo(fromBase58String(v)))
290+ let aZ = split(bl.description, "_")[aD]
291+ (be + aY(aZ))
292+ }
293+
294+ let P = bj
295+ let Q = size(P)
296+ let R = 0
297+ func bm (T,U) = if ((U >= Q))
298+ then T
299+ else bk(T, P[U])
300+
301+ func bn (T,U) = if ((U >= Q))
302+ then T
303+ else throw("List size exceeds 100")
304+
305+ bn(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(R, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100)
306+ }
307+[bg, bh]
266308 }
267309
268310
269-let bf = 500000
311+func bo () = {
312+ let bp = valueOrErrorMessage(getInteger(aA, aI), "WLGOLD is not issued yet")
313+ let bq = assetBalance(az, X)
314+ let br = assetBalance(ax, X)
315+ let bs = assetBalance(aA, X)
316+ let bt = assetBalance(aB, X)
317+ let bu = (((bq + br) + bs) + bt)
318+[bp, fraction(bu, ad, bp), bu, bq, br, bs, bt]
319+ }
270320
271-func bg (bh) = {
272- let X = bh
273- if ($isInstanceOf(X, "List[Any]"))
321+
322+let bv = 500000
323+
324+func bw (bx) = {
325+ let Y = bx
326+ if ($isInstanceOf(Y, "List[Any]"))
274327 then {
275- let bi = X
276- if ((size(bi) != b))
277- then throw(("Array size is " + toString(size(bi))))
328+ let by = Y
329+ if ((size(by) != b))
330+ then throw(("Array size is " + toString(size(by))))
278331 else {
279- func bj (bk,bl) = {
280- let bm = bl
281- if ($isInstanceOf(bm, "Int"))
332+ func bz (be,bf) = {
333+ let bA = bf
334+ if ($isInstanceOf(bA, "Int"))
282335 then {
283- let bn = bm
284- (bk :+ toString(bn))
336+ let bB = bA
337+ (be :+ toString(bB))
285338 }
286339 else throw("List type is not Int")
287340 }
288341
289- let bo = {
290- let O = bi
291- let P = size(O)
292- let Q = nil
293- func R (S,T) = if ((T >= P))
294- then S
295- else bj(S, O[T])
342+ let bC = {
343+ let P = by
344+ let Q = size(P)
345+ let R = nil
346+ func S (T,U) = if ((U >= Q))
347+ then T
348+ else bz(T, P[U])
296349
297- func U (S,T) = if ((T >= P))
298- then S
350+ func V (T,U) = if ((U >= Q))
351+ then T
299352 else throw("List size exceeds 6")
300353
301- U(R(R(R(R(R(R(Q, 0), 1), 2), 3), 4), 5), 6)
354+ V(S(S(S(S(S(S(R, 0), 1), 2), 3), 4), 5), 6)
302355 }
303- makeString(bo, "_")
356+ makeString(bC, "_")
304357 }
305358 }
306359 else throw("fail to cast into List")
307360 }
308361
309362
310-func bp (bh) = {
311- let X = bh
312- if ($isInstanceOf(X, "(List[Any], List[Any])"))
363+func bD (bx) = {
364+ let Y = bx
365+ if ($isInstanceOf(Y, "(List[Any], List[Any])"))
313366 then {
314- let bq = X
315- $Tuple2(bg(bq._1), bg(bq._2))
367+ let bE = Y
368+ $Tuple2(bw(bE._1), bw(bE._2))
316369 }
317370 else throw("fail to cast into (List, List)")
318371 }
319372
320373
321-func br (bs) = {
322- let m = addressFromString(bs)
323- let bt = if (isDefined(m))
374+func bF (bG) = {
375+ let m = addressFromString(bG)
376+ let bH = if (isDefined(m))
324377 then wavesBalance(value(m))
325378 else BalanceDetails(0, 0, 0, 0)
326- let bu = if (isDefined(m))
327- then assetBalance(value(m), W)
379+ let bI = if (isDefined(m))
380+ then assetBalance(value(m), X)
328381 else 0
329- let bv = if (isDefined(m))
330- then assetBalance(value(m), aI)
382+ let bJ = if (isDefined(m))
383+ then assetBalance(value(m), aK)
331384 else 0
332- let bw = valueOrElse(getString(ax, x(bs)), bs)
333- let bx = valueOrElse(getString(ax, y(bs)), "")
334- let by = valueOrElse(getString(ax, z(bs)), "")
335- let bz = valueOrElse(getString(ax, l(bs)), "")
336-[("%s%s__customName__" + bw), ("%s%s__referredBy__" + bx), ("%s%s__referrals__" + by), ("%s%s__lastTxId__" + bz), ("%s%s%d__wavesBalance__" + toString(bt.available)), ("%s%s%d__wlgoldBalance__" + toString(bv)), ("%s%s%d__usdtBalance__" + toString(bu))]
385+ let bK = valueOrElse(getString(ay, x(bG)), bG)
386+ let bL = valueOrElse(getString(ay, y(bG)), "")
387+ let bM = valueOrElse(getString(ay, z(bG)), "")
388+ let bN = valueOrElse(getString(ay, l(bG)), "")
389+ let bO = ba(bG)[J]
390+[("%s%s__customName__" + bK), ("%s%s__referredBy__" + bL), ("%s%s__referrals__" + bM), ("%s%s__lastTxId__" + bN), ("%s%s%d__wavesBalance__" + toString(bH.available)), ("%s%s%d__wlgoldBalance__" + toString(bJ)), ("%s%s%d__usdtBalance__" + toString(bI)), ("%s%s%d__stakedPieces__" + toString(bO))]
337391 }
338392
339393
340-func bA (v,bB) = {
341- let bC = valueOrElse(getInteger(ax, r(v)), 0)
342- let bD = valueOrElse(getInteger(ax, s(a, v)), 0)
343- let bE = (bC / 6)
344- let bF = (bC / 7)
345- $Tuple3(bC, bD, ((c + fraction(c, ((bC + bE) + (2 * bF)), 5)) + fraction(c, bD, (bB * 5))))
394+func bP (v,bO) = {
395+ let bQ = valueOrElse(getInteger(ay, r(v)), 0)
396+ let bR = valueOrElse(getInteger(ay, s(a, v)), 0)
397+ let bS = (bQ / 6)
398+ let bT = (bQ / 7)
399+ $Tuple3(bQ, bR, ((c + fraction(c, ((bQ + bS) + (2 * bT)), 5)) + fraction(c, bR, (bO * 5))))
346400 }
347401
348402
349-func bG (bH) = {
350- let bI = split(bH, "_")
351- ((e * (parseIntValue(bI[1]) + 1)) * parseIntValue(bI[0]))
403+func bU (bV) = {
404+ let bW = split(bV, "_")
405+ ((e * (parseIntValue(bW[1]) + 1)) * parseIntValue(bW[0]))
352406 }
353407
354408
355-func bJ (bK,bL,bC) = {
356- let bH = ((toString(bL) + "_") + toString(bC))
357- let bM = toString(bG(bH))
358- let bN = valueOrElse(getString(ax, bK), ((((bH + ":0_0_0_0_0_0:0_0_0_0_0_0::0_0_") + bM) + "_") + bM))
359- split(bN, ":")
409+func bX (bY,bZ,bQ) = {
410+ let bV = ((toString(bZ) + "_") + toString(bQ))
411+ let ca = toString(bU(bV))
412+ let cb = valueOrElse(getString(ay, bY), ((((bV + ":0_0_0_0_0_0:0_0_0_0_0_0::0_0_") + ca) + "_") + ca))
413+ split(cb, ":")
360414 }
361415
362416
363-func bO (E) = $Tuple5(valueOrElse(getInteger(ax, q(E)), -1), value(assetInfo(fromBase58String(E))).name, valueOrElse(getString(ax, D(E)), ""), valueOrElse(getInteger(ax, F(E)), -1), aQ(invoke(ax, "getBackpackREADONLY", [E], nil)))
417+func cc (E) = $Tuple5(valueOrElse(getInteger(ay, q(E)), -1), value(assetInfo(fromBase58String(E))).name, valueOrElse(getString(ay, D(E)), ""), valueOrElse(getInteger(ay, F(E)), -1), aS(invoke(ay, "getBackpackREADONLY", [E], nil)))
364418
365419
366-func bP (E,bQ,bR) = {
367- let bw = valueOrElse(getString(ax, w(E)), bR._2)
368-[("%s%s__assetId__" + E), ("%s%s__owner__" + bQ), ("%s%s__customName__" + bw), ("%s%d__stakedTime__" + toString(bR._1)), ("%s%s__name__" + bR._2), ("%s%s__location__" + bR._3), ("%s%d__health__" + toString(bR._4)), ("%s%s__backPack__" + bR._5)]
420+func cd (E,ce,cf) = {
421+ let bK = valueOrElse(getString(ay, w(E)), cf._2)
422+[("%s%s__assetId__" + E), ("%s%s__owner__" + ce), ("%s%s__customName__" + bK), ("%s%d__stakedTime__" + toString(cf._1)), ("%s%s__name__" + cf._2), ("%s%s__location__" + cf._3), ("%s%d__health__" + toString(cf._4)), ("%s%s__backPack__" + cf._5)]
369423 }
370424
371425
372-func bS (v,bQ,bT) = if ((v == ""))
426+func cg (v,ce,ch) = if ((v == ""))
373427 then throw("landAssetId is required")
374428 else {
375- let bU = value(assetInfo(fromBase58String(v)))
376- let bV = split(bU.description, "_")
377- let bW = if ((bU.quantity > 0))
378- then bV[aB]
379- else ("-" + bV[aB])
380- let bB = aW(bV[aC])
381- let bX = bA(v, bB)
382- let bY = (lastBlock.timestamp - bT)
383- let bZ = if ((bT > 0))
384- then fraction(bY, (bX._3 * bB), d)
429+ let ci = value(assetInfo(fromBase58String(v)))
430+ let cj = split(ci.description, "_")
431+ let ck = if ((ci.quantity > 0))
432+ then cj[aC]
433+ else ("-" + cj[aC])
434+ let bO = aY(cj[aD])
435+ let cl = bP(v, bO)
436+ let cm = (lastBlock.timestamp - ch)
437+ let cn = if ((ch > 0))
438+ then fraction(cm, (cl._3 * bO), d)
385439 else 0
386- let ca = fraction(Z, (bB * (bX._1 + 1)), ad)
387- let cb = if ((bT > 0))
388- then bp(invoke(ax, "splitByGlobalAndLocalWeightsREADONLY", [ca, bZ, bV[aD]], nil))
389- else $Tuple2(bg(invoke(ax, "splitByGlobalWeightsREADONLY", [ca], nil)), "")
390- let bw = valueOrElse(getString(ax, p(v)), ((bV[aE] + "-") + bV[aB]))
391-[("%s%s__assetId__" + v), ("%s%s__owner__" + bQ), ("%s%s__customName__" + bw), ("%s%d__stakedTime__" + toString(bT)), ("%s%s__description__" + makeString([bW, bV[aC], bV[aD], bV[aE]], "_")), ("%s%d__infraLevel__" + toString(bX._1)), ("%s%s__availResByType__" + cb._2), ("%s%d__availResTotal__" + toString(bZ)), ("%s%s__needMaterial__" + cb._1), makeString(["%s%s", "landArtefacts", ("PRESALE:" + toString(bX._2))], aa), ("%s%s__warehouse__" + makeString(bJ(u(v), (bB / ad), bX._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(ay, H(v)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
440+ let co = fraction(aa, (bO * (cl._1 + 1)), ae)
441+ let cp = if ((ch > 0))
442+ then bD(invoke(ay, "splitByGlobalAndLocalWeightsREADONLY", [co, cn, cj[aE]], nil))
443+ else $Tuple2(bw(invoke(ay, "splitByGlobalWeightsREADONLY", [co], nil)), "")
444+ let bK = valueOrElse(getString(ay, p(v)), ((cj[aF] + "-") + cj[aC]))
445+[("%s%s__assetId__" + v), ("%s%s__owner__" + ce), ("%s%s__customName__" + bK), ("%s%d__stakedTime__" + toString(ch)), ("%s%s__description__" + makeString([ck, cj[aD], cj[aE], cj[aF]], "_")), ("%s%d__infraLevel__" + toString(cl._1)), ("%s%s__availResByType__" + cp._2), ("%s%d__availResTotal__" + toString(cn)), ("%s%s__needMaterial__" + cp._1), makeString(["%s%s", "landArtefacts", ("PRESALE:" + toString(cl._2))], ab), ("%s%s__warehouse__" + makeString(bX(u(v), (bO / ae), cl._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(az, H(v)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
392446 }
393447
394448
395-func cc (v,bQ) = if ((v == ""))
449+func cq (v,ce) = if ((v == ""))
396450 then throw("landAssetId is required")
397451 else {
398- let bU = value(assetInfo(fromBase58String(v)))
399- let bV = split(bU.description, "_")
400- let bB = aW(bV[aC])
401- let bX = bA(v, bB)
402-[("%s%s__assetId__" + v), ("%s%s__owner__" + bQ), ("%s%s__warehouse__" + makeString(bJ(u(v), (bB / ad), bX._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(ay, H(v)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
452+ let ci = value(assetInfo(fromBase58String(v)))
453+ let cj = split(ci.description, "_")
454+ let bO = aY(cj[aD])
455+ let cl = bP(v, bO)
456+[("%s%s__assetId__" + v), ("%s%s__owner__" + ce), ("%s%s__warehouse__" + makeString(bX(u(v), (bO / ae), cl._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(az, H(v)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
403457 }
404458
405459
406-@Callable(cd)
407-func constructorV1 (ce) = if ((cd.caller != this))
460+@Callable(cr)
461+func constructorV1 (cs) = if ((cr.caller != this))
408462 then throw("permissions denied")
409463 else {
410- func cf (bk,cg) = (bk + "%s")
464+ func ct (be,cu) = (be + "%s")
411465
412- let ch = {
413- let O = ce
414- let P = size(O)
415- let Q = ""
416- func R (S,T) = if ((T >= P))
417- then S
418- else cf(S, O[T])
466+ let cv = {
467+ let P = cs
468+ let Q = size(P)
469+ let R = ""
470+ func S (T,U) = if ((U >= Q))
471+ then T
472+ else ct(T, P[U])
419473
420- func U (S,T) = if ((T >= P))
421- then S
474+ func V (T,U) = if ((U >= Q))
475+ then T
422476 else throw("List size exceeds 10")
423477
424- U(R(R(R(R(R(R(R(R(R(R(Q, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
478+ V(S(S(S(S(S(S(S(S(S(S(R, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
425479 }
426-[StringEntry(ap(), makeString(ch :: ce, aa)), StringEntry(aq(), toString(this))]
480+[StringEntry(aq(), makeString(cv :: cs, ab)), StringEntry(ar(), toString(this))]
427481 }
428482
429483
430484
431-@Callable(cd)
432-func walletInfoREADONLY (bs) = $Tuple2(nil, br(bs))
485+@Callable(cr)
486+func walletInfoREADONLY (bG) = $Tuple2(nil, bF(bG))
433487
434488
435489
436-@Callable(cd)
437-func duckByOwnerInfoREADONLY (ci) = {
438- let cj = getString(ax, B(ci))
439- $Tuple2(nil, if (if (isDefined(addressFromString(ci)))
440- then isDefined(cj)
490+@Callable(cr)
491+func duckByOwnerInfoREADONLY (cw) = {
492+ let cx = getString(ay, B(cw))
493+ $Tuple2(nil, if (if (isDefined(addressFromString(cw)))
494+ then isDefined(cx)
441495 else false)
442496 then {
443- let E = value(cj)
444- bP(E, ci, bO(E))
497+ let E = value(cx)
498+ cd(E, cw, cc(E))
445499 }
446- else bP("", ci, $Tuple5(-1, "", "", -1, "")))
500+ else cd("", cw, $Tuple5(-1, "", "", -1, "")))
447501 }
448502
449503
450504
451-@Callable(cd)
505+@Callable(cr)
452506 func duckByAssetIdInfoREADONLY (E) = {
453- let bQ = getString(ax, A(E))
454- let bR = bO(E)
455- $Tuple2(nil, bP(E, if (isDefined(bQ))
456- then value(bQ)
457- else "", bO(E)))
507+ let ce = getString(ay, A(E))
508+ let cf = cc(E)
509+ $Tuple2(nil, cd(E, if (isDefined(ce))
510+ then value(ce)
511+ else "", cc(E)))
458512 }
459513
460514
461515
462-@Callable(cd)
516+@Callable(cr)
463517 func landByAssetIdInfoREADONLY (v) = if ((v == ""))
464518 then throw("landAssetId is required")
465519 else {
466- let bT = valueOrElse(getInteger(ax, q(v)), -1)
467- let bQ = if ((bT > 0))
468- then value(getString(ax, n(v)))
520+ let ch = valueOrElse(getInteger(ay, q(v)), -1)
521+ let ce = if ((ch > 0))
522+ then value(getString(ay, n(v)))
469523 else ""
470- $Tuple2(nil, bS(v, bQ, bT))
524+ $Tuple2(nil, cg(v, ce, ch))
471525 }
472526
473527
474528
475-@Callable(cd)
476-func stakedLandsByOwnerInfoREADONLY (ck) = if ((ck == ""))
529+@Callable(cr)
530+func stakedLandsByOwnerInfoREADONLY (cy) = if ((cy == ""))
477531 then throw("landOwnerAddress is required")
478532 else {
479- let cl = getString(ax, aF(ck))
480- let cm = if (isDefined(cl))
481- then split_51C(value(cl), "_")
533+ let bi = getString(ay, aH(cy))
534+ let bj = if (isDefined(bi))
535+ then split_51C(value(bi), "_")
482536 else nil
483- func cn (bk,v) = if ((v == ""))
537+ func bk (be,v) = if ((v == ""))
484538 then throw("landAssetId is required")
485539 else {
486- let bT = valueOrElse(getInteger(ax, q(v)), -1)
487- (bk :+ bS(v, ck, bT))
540+ let ch = valueOrElse(getInteger(ay, q(v)), -1)
541+ (be :+ cg(v, cy, ch))
488542 }
489543
490- let bo = {
491- let O = cm
492- let P = size(O)
493- let Q = nil
494- func R (S,T) = if ((T >= P))
495- then S
496- else cn(S, O[T])
544+ let bC = {
545+ let P = bj
546+ let Q = size(P)
547+ let R = nil
548+ func S (T,U) = if ((U >= Q))
549+ then T
550+ else bk(T, P[U])
497551
498- func U (S,T) = if ((T >= P))
499- then S
552+ func V (T,U) = if ((U >= Q))
553+ then T
500554 else throw("List size exceeds 100")
501555
502- U(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(Q, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100)
556+ V(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(R, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100)
503557 }
504- $Tuple2(nil, bo)
558+ $Tuple2(nil, bC)
505559 }
506560
507561
508562
509-@Callable(cd)
510-func landsByIdsInfoREADONLY (co) = {
511- func cn (bk,v) = if ((v == ""))
563+@Callable(cr)
564+func landsByIdsInfoREADONLY (cz) = {
565+ func bk (be,v) = if ((v == ""))
512566 then throw("landAssetId is required")
513567 else {
514- let bT = valueOrElse(getInteger(ax, q(v)), -1)
515- let bQ = if ((bT > 0))
516- then value(getString(ax, n(v)))
568+ let ch = valueOrElse(getInteger(ay, q(v)), -1)
569+ let ce = if ((ch > 0))
570+ then value(getString(ay, n(v)))
517571 else ""
518- (bk :+ bS(v, bQ, bT))
572+ (be :+ cg(v, ce, ch))
519573 }
520574
521- let bo = {
522- let O = co
523- let P = size(O)
524- let Q = nil
525- func R (S,T) = if ((T >= P))
526- then S
527- else cn(S, O[T])
575+ let bC = {
576+ let P = cz
577+ let Q = size(P)
578+ let R = nil
579+ func S (T,U) = if ((U >= Q))
580+ then T
581+ else bk(T, P[U])
528582
529- func U (S,T) = if ((T >= P))
530- then S
583+ func V (T,U) = if ((U >= Q))
584+ then T
531585 else throw("List size exceeds 100")
532586
533- U(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(Q, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100)
587+ V(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(R, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100)
534588 }
535- $Tuple2(nil, bo)
589+ $Tuple2(nil, bC)
536590 }
537591
538592
539593
540-@Callable(cd)
594+@Callable(cr)
541595 func warehouseOrderByAssetIdInfoREADONLY (v) = if ((v == ""))
542596 then throw("landAssetId is required")
543597 else {
544- let bT = valueOrElse(getInteger(ax, q(v)), -1)
545- let bQ = if ((bT > 0))
546- then value(getString(ax, n(v)))
598+ let ch = valueOrElse(getInteger(ay, q(v)), -1)
599+ let ce = if ((ch > 0))
600+ then value(getString(ay, n(v)))
547601 else ""
548- $Tuple2(nil, cc(v, bQ))
602+ $Tuple2(nil, cq(v, ce))
549603 }
550604
551605
552606
553-@Callable(cd)
554-func ordersByLandIdsInfoREADONLY (co) = {
555- func cn (bk,v) = if ((v == ""))
607+@Callable(cr)
608+func ordersByLandIdsInfoREADONLY (cz) = {
609+ func bk (be,v) = if ((v == ""))
556610 then throw("landAssetId is required")
557611 else {
558- let bT = valueOrElse(getInteger(ax, q(v)), -1)
559- let bQ = if ((bT > 0))
560- then value(getString(ax, n(v)))
612+ let ch = valueOrElse(getInteger(ay, q(v)), -1)
613+ let ce = if ((ch > 0))
614+ then value(getString(ay, n(v)))
561615 else ""
562- (bk :+ cc(v, bQ))
616+ (be :+ cq(v, ce))
563617 }
564618
565- let bo = {
566- let O = co
567- let P = size(O)
568- let Q = nil
569- func R (S,T) = if ((T >= P))
570- then S
571- else cn(S, O[T])
619+ let bC = {
620+ let P = cz
621+ let Q = size(P)
622+ let R = nil
623+ func S (T,U) = if ((U >= Q))
624+ then T
625+ else bk(T, P[U])
572626
573- func U (S,T) = if ((T >= P))
574- then S
627+ func V (T,U) = if ((U >= Q))
628+ then T
575629 else throw("List size exceeds 40")
576630
577- U(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(Q, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40)
631+ V(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(R, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40)
578632 }
579- $Tuple2(nil, bo)
633+ $Tuple2(nil, bC)
580634 }
581635
582636
583637
584-@Callable(cd)
585-func cancelWarehouseOrders (co) = if ((cd.caller != this))
638+@Callable(cr)
639+func cancelWarehouseOrders (cz) = if ((cr.caller != this))
586640 then throw("permission denied")
587641 else {
588- let cp = getBoolean(ax, G())
589- if (if (!(isDefined(cp)))
642+ let cA = getBoolean(ay, G())
643+ if (if (!(isDefined(cA)))
590644 then true
591- else (value(cp) == false))
645+ else (value(cA) == false))
592646 then throw("Contracts should be blocked before canceling orders")
593647 else {
594- func cn (bU,v) = if ((v == ""))
648+ func bk (ci,v) = if ((v == ""))
595649 then throw("landAssetId is required")
596650 else {
597- let cq = aV(invoke(ay, "setWarehouseOrder", ["0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:", v], nil))
598- if (if (bU)
651+ let cB = aX(invoke(az, "setWarehouseOrder", ["0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:", v], nil))
652+ if (if (ci)
599653 then true
600- else cq)
601- then !(if (bU)
602- then cq
654+ else cB)
655+ then !(if (ci)
656+ then cB
603657 else false)
604658 else false
605659 }
606660
607- let bo = {
608- let O = co
609- let P = size(O)
610- let Q = false
611- func R (S,T) = if ((T >= P))
612- then S
613- else cn(S, O[T])
661+ let bC = {
662+ let P = cz
663+ let Q = size(P)
664+ let R = false
665+ func S (T,U) = if ((U >= Q))
666+ then T
667+ else bk(T, P[U])
614668
615- func U (S,T) = if ((T >= P))
616- then S
669+ func V (T,U) = if ((U >= Q))
670+ then T
617671 else throw("List size exceeds 30")
618672
619- U(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(Q, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30)
673+ V(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(R, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30)
620674 }
621- $Tuple2(nil, bo)
675+ $Tuple2(nil, bC)
622676 }
623677 }
624678
625679
626680
627-@Callable(cd)
628-func fixWarehouseFormats (co) = if ((cd.caller != this))
681+@Callable(cr)
682+func fixWarehouseFormats (cz) = if ((cr.caller != this))
629683 then throw("permission denied")
630684 else {
631- func cn (bk,v) = if ((v == ""))
685+ func bk (be,v) = if ((v == ""))
632686 then throw("landAssetId is required")
633- else (bk + size(aQ(invoke(ax, "fixWarehouseFormat", [v], nil))))
687+ else (be + size(aS(invoke(ay, "fixWarehouseFormat", [v], nil))))
634688
635- let bo = {
636- let O = co
637- let P = size(O)
638- let Q = 0
639- func R (S,T) = if ((T >= P))
640- then S
641- else cn(S, O[T])
689+ let bC = {
690+ let P = cz
691+ let Q = size(P)
692+ let R = 0
693+ func S (T,U) = if ((U >= Q))
694+ then T
695+ else bk(T, P[U])
642696
643- func U (S,T) = if ((T >= P))
644- then S
697+ func V (T,U) = if ((U >= Q))
698+ then T
645699 else throw("List size exceeds 25")
646700
647- U(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(Q, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25)
701+ V(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(R, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25)
648702 }
649- $Tuple2(nil, bo)
703+ $Tuple2(nil, bC)
650704 }
651705
652706
653707
654-@Callable(cd)
655-func fixStakedPieces (cr) = if ((cd.caller != this))
708+@Callable(cr)
709+func fixStakedPieces (cC) = if ((cr.caller != this))
656710 then throw("permission denied")
657711 else {
658- func cs (bk,m) = if ((m == ""))
712+ func cD (be,m) = if ((m == ""))
659713 then throw("address is required")
660- else (bk + aT(invoke(ax, "fixStakedPieces", [m], nil)))
714+ else (be + aV(invoke(ay, "fixStakedPieces", [m], nil)))
661715
662- let bo = {
663- let O = cr
664- let P = size(O)
665- let Q = 0
666- func R (S,T) = if ((T >= P))
667- then S
668- else cs(S, O[T])
716+ let bC = {
717+ let P = cC
718+ let Q = size(P)
719+ let R = 0
720+ func S (T,U) = if ((U >= Q))
721+ then T
722+ else cD(T, P[U])
669723
670- func U (S,T) = if ((T >= P))
671- then S
724+ func V (T,U) = if ((U >= Q))
725+ then T
672726 else throw("List size exceeds 16")
673727
674- U(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(Q, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16)
728+ V(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(R, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16)
675729 }
676- $Tuple2(nil, bo)
730+ $Tuple2(nil, bC)
677731 }
678732
679733
680734
681-@Callable(cd)
682-func sendUsdtPrize (ci) = if ((cd.caller != ax))
735+@Callable(cr)
736+func sendUsdtPrize (cw) = if ((cr.caller != ay))
683737 then throw("permission denied")
684738 else {
685- let ct = fraction(assetBalance(this, W), bf, ab)
686- $Tuple2([ScriptTransfer(addressFromStringValue(ci), ct, W)], ct)
739+ let cE = fraction(assetBalance(this, X), bv, ac)
740+ $Tuple2([ScriptTransfer(addressFromStringValue(cw), cE, X)], cE)
687741 }
688742
689743
690744
691-@Callable(cd)
745+@Callable(cr)
692746 func getEmergencyServiceDataREADONLY () = {
693- let cu = getString(ay, I())
694- let cv = if (isDefined(cu))
695- then split(value(cu), "_")
747+ let cF = getString(az, I())
748+ let cG = if (isDefined(cF))
749+ then split(value(cF), "_")
696750 else nil
697- func cw (bk,cx) = {
698- let aU = bk._2
699- let K = split(cx, "_")
700- let cy = parseIntValue(K[k])
701- let cz = if ((aU == 0))
702- then (g * cy)
751+ func cH (be,cI) = {
752+ let aW = be._2
753+ let L = split(cI, "_")
754+ let cJ = parseIntValue(L[k])
755+ let cK = if ((aW == 0))
756+ then (g * cJ)
703757 else 0
704- let cA = if ((size(cv) > aU))
705- then parseIntValue(cv[aU])
758+ let cL = if ((size(cG) > aW))
759+ then parseIntValue(cG[aW])
706760 else 0
707- let cB = J(K)
708- let cC = fraction((cB * h), f, (10 * cy))
709- let cD = fraction((cB * i), f, (10 * cy))
710- let cE = makeString([toString(cz), toString(cA), toString(cC), toString(cD)], "_")
711- $Tuple2((bk._1 :+ cE), (aU + 1))
761+ let cM = K(L)
762+ let cN = fraction((cM * h), f, (10 * cJ))
763+ let cO = fraction((cM * i), f, (10 * cJ))
764+ let cP = makeString([toString(cK), toString(cL), toString(cN), toString(cO)], "_")
765+ $Tuple2((be._1 :+ cP), (aW + 1))
712766 }
713767
714- let aS = makeString_2C(( let O = j
715- let P = size(O)
716- let Q = $Tuple2(nil, 0)
717- func R (S,T) = if ((T >= P))
718- then S
719- else cw(S, O[T])
768+ let aU = makeString_2C(( let P = j
769+ let Q = size(P)
770+ let R = $Tuple2(nil, 0)
771+ func S (T,U) = if ((U >= Q))
772+ then T
773+ else cH(T, P[U])
720774
721- func U (S,T) = if ((T >= P))
722- then S
775+ func V (T,U) = if ((U >= Q))
776+ then T
723777 else throw("List size exceeds 50")
724778
725- U(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(Q, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50))._1, ":")
726- let cF = ("%s%s__emergencyServiceData__" + aS)
727- $Tuple2(nil, cF)
779+ V(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(R, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50))._1, ":")
780+ let cQ = ("%s%s__emergencyServiceData__" + aU)
781+ $Tuple2(nil, cQ)
728782 }
729783
730784
731785
732-@Callable(cd)
786+@Callable(cr)
733787 func wlgStatsREADONLY () = {
734- let cG = aY()
735- $Tuple2(nil, [("%s%s%d__wlgAmount__" + toString(cG[aJ])), ("%s%s%d__wlgPrice__" + toString(cG[aK])), ("%s%s%d__usdtFunds__" + toString(cG[aL])), ("%s%s%d__usdtEconomy__" + toString(cG[aM])), ("%s%s%d__usdtActivity__" + toString(cG[aN])), ("%s%s%d__usdtArbitrage__" + toString(cG[aO])), ("%s%s%d__usdtPool__" + toString(cG[aP]))])
788+ let cR = bo()
789+ $Tuple2(nil, [("%s%s%d__wlgAmount__" + toString(cR[aL])), ("%s%s%d__wlgPrice__" + toString(cR[aM])), ("%s%s%d__usdtFunds__" + toString(cR[aN])), ("%s%s%d__usdtEconomy__" + toString(cR[aO])), ("%s%s%d__usdtActivity__" + toString(cR[aP])), ("%s%s%d__usdtArbitrage__" + toString(cR[aQ])), ("%s%s%d__usdtPool__" + toString(cR[aR]))])
736790 }
737791
738792
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "PRESALE"
55
66 let b = 6
77
88 let c = 3456000
99
1010 let d = 86400000
1111
1212 let e = 10000000000
1313
1414 let f = 39637
1515
1616 let g = 3
1717
1818 let h = 4
1919
2020 let i = 10
2121
2222 let j = ["1_1_1_2_2_5_1_10_0", "2_2_2_4_4_10_1_10_0", "3_3_3_6_6_15_1_10_0", "2_5_5_2_7_5_2_100_1", "4_10_10_4_14_10_2_100_1", "6_15_15_6_21_15_2_100_1", "1_1_1_1_1_8_1_10_2", "2_2_2_2_2_16_1_10_2", "3_3_3_3_3_24_1_10_2", "9_9_1_5_5_1_5_100_3", "18_18_2_10_10_2_5_100_3", "27_27_3_15_15_3_5_100_3", "2_2_1_2_2_2_1_10_4", "4_4_2_4_4_4_1_10_4", "6_6_3_6_6_6_1_10_4"]
2323
2424 let k = 7
2525
2626 func l (m) = ("lastTxIdByUser_" + m)
2727
2828
2929 func n (o) = ("nftOwner_" + o)
3030
3131
3232 func p (o) = ("landCustomNameByAssetId_" + o)
3333
3434
3535 func q (o) = ("stakedTime_" + o)
3636
3737
3838 func r (o) = ("infraLevel_" + o)
3939
4040
4141 func s (t,o) = makeString(["landArtStatus", t, o], "_")
4242
4343
4444 func u (v) = ("wareHouse_" + v)
4545
4646
4747 func w (o) = ("duckCustomNameByAssetId_" + o)
4848
4949
5050 func x (m) = ("accountCustomNameByAddr_" + m)
5151
5252
5353 func y (m) = ("accRefBy_" + m)
5454
5555
5656 func z (m) = ("accReferrals_" + m)
5757
5858
5959 func A (o) = ("duckOwner_" + o)
6060
6161
6262 func B (C) = ("stakedDuckByOwner_" + C)
6363
6464
6565 func D (E) = ("duckLocation_" + E)
6666
6767
6868 func F (E) = ("duckHealth_" + E)
6969
7070
7171 func G () = "contractsBlocked"
7272
7373
7474 func H (v) = ("landOrder_" + v)
7575
7676
7777 func I () = "emergencyWarehouseProducts"
7878
7979
80-func J (K) = {
81- func L (M,N) = (M + parseIntValue(K[N]))
80+let J = 1
8281
83- let O = [0, 1, 2, 3, 4, 5]
84- let P = size(O)
85- let Q = 0
86- func R (S,T) = if ((T >= P))
87- then S
88- else L(S, O[T])
82+func K (L) = {
83+ func M (N,O) = (N + parseIntValue(L[O]))
8984
90- func U (S,T) = if ((T >= P))
91- then S
85+ let P = [0, 1, 2, 3, 4, 5]
86+ let Q = size(P)
87+ let R = 0
88+ func S (T,U) = if ((U >= Q))
89+ then T
90+ else M(T, P[U])
91+
92+ func V (T,U) = if ((U >= Q))
93+ then T
9294 else throw("List size exceeds 6")
9395
94- U(R(R(R(R(R(R(Q, 0), 1), 2), 3), 4), 5), 6)
96+ V(S(S(S(S(S(S(R, 0), 1), 2), 3), 4), 5), 6)
9597 }
9698
9799
98-let V = take(drop(this.bytes, 1), 1)
100+let W = take(drop(this.bytes, 1), 1)
99101
100-let W = {
101- let X = V
102- if ((base58'2W' == X))
102+let X = {
103+ let Y = W
104+ if ((base58'2W' == Y))
103105 then base58'9wc3LXNA4TEBsXyKtoLE9mrbDD7WMHXvXrCjZvabLAsi'
104- else if ((base58'2T' == X))
106+ else if ((base58'2T' == Y))
105107 then base58'6mWwf9mZBjVgkC54idpyaZLQfAosD914wT8fGf2iiY63'
106108 else throw("Unknown chain")
107109 }
108110
109-let Y = {
110- let X = V
111- if ((base58'2W' == X))
111+let Z = {
112+ let Y = W
113+ if ((base58'2W' == Y))
112114 then "3PQCuvFbvh4LkPUnrnU1z3jnbA1p9m3WNhv"
113- else if ((base58'2T' == X))
115+ else if ((base58'2T' == Y))
114116 then "3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy"
115117 else throw("Unknown chain")
116118 }
117119
118-let Z = {
119- let X = V
120- if ((base58'2W' == X))
120+let aa = {
121+ let Y = W
122+ if ((base58'2W' == Y))
121123 then 10000000000
122- else if ((base58'2T' == X))
124+ else if ((base58'2T' == Y))
123125 then 100000000
124126 else throw("Unknown chain")
125127 }
126128
127-let aa = "__"
129+let ab = "__"
128130
129-let ab = 1000000
131+let ac = 1000000
130132
131-let ac = 100000000
133+let ad = 100000000
132134
133-let ad = 25
135+let ae = 25
134136
135-let ae = 100
137+let af = 100
136138
137-let af = 225
139+let ag = 225
138140
139-let ag = 400
141+let ah = 400
140142
141-let ah = 625
143+let ai = 625
142144
143-func ai (aj,ak) = valueOrErrorMessage(getString(aj, ak), makeString(["mandatory ", toString(aj), ".", ak, " is not defined"], ""))
145+func aj (ak,al) = valueOrErrorMessage(getString(ak, al), makeString(["mandatory ", toString(ak), ".", al, " is not defined"], ""))
144146
145147
146-let al = 1
148+let am = 1
147149
148-let am = 2
150+let an = 2
149151
150-let an = 4
152+let ao = 4
151153
152-let ao = 5
154+let ap = 5
153155
154-func ap () = "%s__restConfig"
156+func aq () = "%s__restConfig"
155157
156158
157-func aq () = "%s__restAddr"
159+func ar () = "%s__restAddr"
158160
159161
160-func ar (as) = split_4C(ai(as, ap()), aa)
162+func as (at) = split_4C(aj(at, aq()), ab)
161163
162164
163-func at (au,av) = valueOrErrorMessage(addressFromString(au[av]), ("Rest cfg doesn't contain address at index " + toString(av)))
165+func au (av,aw) = valueOrErrorMessage(addressFromString(av[aw]), ("Rest cfg doesn't contain address at index " + toString(aw)))
164166
165167
166-let aw = addressFromStringValue(valueOrElse(getString(this, aq()), Y))
168+let ax = addressFromStringValue(valueOrElse(getString(this, ar()), Z))
167169
168-let au = ar(aw)
170+let av = as(ax)
169171
170-let ax = at(au, al)
172+let ay = au(av, am)
171173
172-let ay = at(au, am)
174+let az = au(av, an)
173175
174-let az = at(au, an)
176+let aA = au(av, ao)
175177
176-let aA = at(au, ao)
178+let aB = au(av, ap)
177179
178-let aB = 0
180+let aC = 0
179181
180-let aC = 1
182+let aD = 1
181183
182-let aD = 2
184+let aE = 2
183185
184-let aE = 3
186+let aF = 3
185187
186-func aF (C) = ("stakedLandsByOwner_" + C)
188+func aG () = "resTypesProportions"
187189
188190
189-let aG = "wlg_issuedAmount"
191+func aH (C) = ("stakedLandsByOwner_" + C)
190192
191-let aH = "wlg_assetId"
192193
193-let aI = valueOrErrorMessage(getBinary(az, aH), "Not initialized yet")
194+let aI = "wlg_issuedAmount"
194195
195-let aJ = 0
196+let aJ = "wlg_assetId"
196197
197-let aK = 1
198+let aK = valueOrErrorMessage(getBinary(aA, aJ), "Not initialized yet")
198199
199-let aL = 2
200+let aL = 0
200201
201-let aM = 3
202+let aM = 1
202203
203-let aN = 4
204+let aN = 2
204205
205-let aO = 5
206+let aO = 3
206207
207-let aP = 6
208+let aP = 4
208209
209-func aQ (aR) = {
210- let X = aR
211- if ($isInstanceOf(X, "String"))
210+let aQ = 5
211+
212+let aR = 6
213+
214+func aS (aT) = {
215+ let Y = aT
216+ if ($isInstanceOf(Y, "String"))
212217 then {
213- let aS = X
214- aS
218+ let aU = Y
219+ aU
215220 }
216221 else throw("fail to cast into String")
217222 }
218223
219224
220-func aT (aR) = {
221- let X = aR
222- if ($isInstanceOf(X, "Int"))
225+func aV (aT) = {
226+ let Y = aT
227+ if ($isInstanceOf(Y, "Int"))
223228 then {
224- let aU = X
225- aU
229+ let aW = Y
230+ aW
226231 }
227232 else throw("fail to cast into Int")
228233 }
229234
230235
231-func aV (aR) = {
232- let X = aR
233- if ($isInstanceOf(X, "Boolean"))
236+func aX (aT) = {
237+ let Y = aT
238+ if ($isInstanceOf(Y, "Boolean"))
234239 then {
235- let aS = X
236- aS
240+ let aU = Y
241+ aU
237242 }
238243 else throw("fail to cast into Boolean")
239244 }
240245
241246
242-func aW (aX) = {
243- let X = aX
244- if (("S" == X))
245- then ad
246- else if (("M" == X))
247- then ae
248- else if (("L" == X))
249- then af
250- else if (("XL" == X))
251- then ag
252- else if (("XXL" == X))
253- then ah
247+func aY (aZ) = {
248+ let Y = aZ
249+ if (("S" == Y))
250+ then ae
251+ else if (("M" == Y))
252+ then af
253+ else if (("L" == Y))
254+ then ag
255+ else if (("XL" == Y))
256+ then ah
257+ else if (("XXL" == Y))
258+ then ai
254259 else throw("Unknown land size")
255260 }
256261
257262
258-func aY () = {
259- let aZ = valueOrErrorMessage(getInteger(az, aG), "WLGOLD is not issued yet")
260- let ba = assetBalance(ay, W)
261- let bb = assetBalance(aw, W)
262- let bc = assetBalance(az, W)
263- let bd = assetBalance(aA, W)
264- let be = (((ba + bb) + bc) + bd)
265-[aZ, fraction(be, ac, aZ), be, ba, bb, bc, bd]
263+func ba (bb) = {
264+ let bc = split(valueOrElse(getString(ay, aG()), "0_0_0_0_0_0"), "_")
265+ func bd (be,bf) = (be + parseIntValue(bf))
266+
267+ let bg = {
268+ let P = bc
269+ let Q = size(P)
270+ let R = 0
271+ func S (T,U) = if ((U >= Q))
272+ then T
273+ else bd(T, P[U])
274+
275+ func V (T,U) = if ((U >= Q))
276+ then T
277+ else throw("List size exceeds 6")
278+
279+ V(S(S(S(S(S(S(R, 0), 1), 2), 3), 4), 5), 6)
280+ }
281+ let bh = if ((bb == ""))
282+ then 0
283+ else {
284+ let bi = getString(ay, aH(bb))
285+ let bj = if (isDefined(bi))
286+ then split_51C(value(bi), "_")
287+ else nil
288+ func bk (be,v) = {
289+ let bl = value(assetInfo(fromBase58String(v)))
290+ let aZ = split(bl.description, "_")[aD]
291+ (be + aY(aZ))
292+ }
293+
294+ let P = bj
295+ let Q = size(P)
296+ let R = 0
297+ func bm (T,U) = if ((U >= Q))
298+ then T
299+ else bk(T, P[U])
300+
301+ func bn (T,U) = if ((U >= Q))
302+ then T
303+ else throw("List size exceeds 100")
304+
305+ bn(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(R, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100)
306+ }
307+[bg, bh]
266308 }
267309
268310
269-let bf = 500000
311+func bo () = {
312+ let bp = valueOrErrorMessage(getInteger(aA, aI), "WLGOLD is not issued yet")
313+ let bq = assetBalance(az, X)
314+ let br = assetBalance(ax, X)
315+ let bs = assetBalance(aA, X)
316+ let bt = assetBalance(aB, X)
317+ let bu = (((bq + br) + bs) + bt)
318+[bp, fraction(bu, ad, bp), bu, bq, br, bs, bt]
319+ }
270320
271-func bg (bh) = {
272- let X = bh
273- if ($isInstanceOf(X, "List[Any]"))
321+
322+let bv = 500000
323+
324+func bw (bx) = {
325+ let Y = bx
326+ if ($isInstanceOf(Y, "List[Any]"))
274327 then {
275- let bi = X
276- if ((size(bi) != b))
277- then throw(("Array size is " + toString(size(bi))))
328+ let by = Y
329+ if ((size(by) != b))
330+ then throw(("Array size is " + toString(size(by))))
278331 else {
279- func bj (bk,bl) = {
280- let bm = bl
281- if ($isInstanceOf(bm, "Int"))
332+ func bz (be,bf) = {
333+ let bA = bf
334+ if ($isInstanceOf(bA, "Int"))
282335 then {
283- let bn = bm
284- (bk :+ toString(bn))
336+ let bB = bA
337+ (be :+ toString(bB))
285338 }
286339 else throw("List type is not Int")
287340 }
288341
289- let bo = {
290- let O = bi
291- let P = size(O)
292- let Q = nil
293- func R (S,T) = if ((T >= P))
294- then S
295- else bj(S, O[T])
342+ let bC = {
343+ let P = by
344+ let Q = size(P)
345+ let R = nil
346+ func S (T,U) = if ((U >= Q))
347+ then T
348+ else bz(T, P[U])
296349
297- func U (S,T) = if ((T >= P))
298- then S
350+ func V (T,U) = if ((U >= Q))
351+ then T
299352 else throw("List size exceeds 6")
300353
301- U(R(R(R(R(R(R(Q, 0), 1), 2), 3), 4), 5), 6)
354+ V(S(S(S(S(S(S(R, 0), 1), 2), 3), 4), 5), 6)
302355 }
303- makeString(bo, "_")
356+ makeString(bC, "_")
304357 }
305358 }
306359 else throw("fail to cast into List")
307360 }
308361
309362
310-func bp (bh) = {
311- let X = bh
312- if ($isInstanceOf(X, "(List[Any], List[Any])"))
363+func bD (bx) = {
364+ let Y = bx
365+ if ($isInstanceOf(Y, "(List[Any], List[Any])"))
313366 then {
314- let bq = X
315- $Tuple2(bg(bq._1), bg(bq._2))
367+ let bE = Y
368+ $Tuple2(bw(bE._1), bw(bE._2))
316369 }
317370 else throw("fail to cast into (List, List)")
318371 }
319372
320373
321-func br (bs) = {
322- let m = addressFromString(bs)
323- let bt = if (isDefined(m))
374+func bF (bG) = {
375+ let m = addressFromString(bG)
376+ let bH = if (isDefined(m))
324377 then wavesBalance(value(m))
325378 else BalanceDetails(0, 0, 0, 0)
326- let bu = if (isDefined(m))
327- then assetBalance(value(m), W)
379+ let bI = if (isDefined(m))
380+ then assetBalance(value(m), X)
328381 else 0
329- let bv = if (isDefined(m))
330- then assetBalance(value(m), aI)
382+ let bJ = if (isDefined(m))
383+ then assetBalance(value(m), aK)
331384 else 0
332- let bw = valueOrElse(getString(ax, x(bs)), bs)
333- let bx = valueOrElse(getString(ax, y(bs)), "")
334- let by = valueOrElse(getString(ax, z(bs)), "")
335- let bz = valueOrElse(getString(ax, l(bs)), "")
336-[("%s%s__customName__" + bw), ("%s%s__referredBy__" + bx), ("%s%s__referrals__" + by), ("%s%s__lastTxId__" + bz), ("%s%s%d__wavesBalance__" + toString(bt.available)), ("%s%s%d__wlgoldBalance__" + toString(bv)), ("%s%s%d__usdtBalance__" + toString(bu))]
385+ let bK = valueOrElse(getString(ay, x(bG)), bG)
386+ let bL = valueOrElse(getString(ay, y(bG)), "")
387+ let bM = valueOrElse(getString(ay, z(bG)), "")
388+ let bN = valueOrElse(getString(ay, l(bG)), "")
389+ let bO = ba(bG)[J]
390+[("%s%s__customName__" + bK), ("%s%s__referredBy__" + bL), ("%s%s__referrals__" + bM), ("%s%s__lastTxId__" + bN), ("%s%s%d__wavesBalance__" + toString(bH.available)), ("%s%s%d__wlgoldBalance__" + toString(bJ)), ("%s%s%d__usdtBalance__" + toString(bI)), ("%s%s%d__stakedPieces__" + toString(bO))]
337391 }
338392
339393
340-func bA (v,bB) = {
341- let bC = valueOrElse(getInteger(ax, r(v)), 0)
342- let bD = valueOrElse(getInteger(ax, s(a, v)), 0)
343- let bE = (bC / 6)
344- let bF = (bC / 7)
345- $Tuple3(bC, bD, ((c + fraction(c, ((bC + bE) + (2 * bF)), 5)) + fraction(c, bD, (bB * 5))))
394+func bP (v,bO) = {
395+ let bQ = valueOrElse(getInteger(ay, r(v)), 0)
396+ let bR = valueOrElse(getInteger(ay, s(a, v)), 0)
397+ let bS = (bQ / 6)
398+ let bT = (bQ / 7)
399+ $Tuple3(bQ, bR, ((c + fraction(c, ((bQ + bS) + (2 * bT)), 5)) + fraction(c, bR, (bO * 5))))
346400 }
347401
348402
349-func bG (bH) = {
350- let bI = split(bH, "_")
351- ((e * (parseIntValue(bI[1]) + 1)) * parseIntValue(bI[0]))
403+func bU (bV) = {
404+ let bW = split(bV, "_")
405+ ((e * (parseIntValue(bW[1]) + 1)) * parseIntValue(bW[0]))
352406 }
353407
354408
355-func bJ (bK,bL,bC) = {
356- let bH = ((toString(bL) + "_") + toString(bC))
357- let bM = toString(bG(bH))
358- let bN = valueOrElse(getString(ax, bK), ((((bH + ":0_0_0_0_0_0:0_0_0_0_0_0::0_0_") + bM) + "_") + bM))
359- split(bN, ":")
409+func bX (bY,bZ,bQ) = {
410+ let bV = ((toString(bZ) + "_") + toString(bQ))
411+ let ca = toString(bU(bV))
412+ let cb = valueOrElse(getString(ay, bY), ((((bV + ":0_0_0_0_0_0:0_0_0_0_0_0::0_0_") + ca) + "_") + ca))
413+ split(cb, ":")
360414 }
361415
362416
363-func bO (E) = $Tuple5(valueOrElse(getInteger(ax, q(E)), -1), value(assetInfo(fromBase58String(E))).name, valueOrElse(getString(ax, D(E)), ""), valueOrElse(getInteger(ax, F(E)), -1), aQ(invoke(ax, "getBackpackREADONLY", [E], nil)))
417+func cc (E) = $Tuple5(valueOrElse(getInteger(ay, q(E)), -1), value(assetInfo(fromBase58String(E))).name, valueOrElse(getString(ay, D(E)), ""), valueOrElse(getInteger(ay, F(E)), -1), aS(invoke(ay, "getBackpackREADONLY", [E], nil)))
364418
365419
366-func bP (E,bQ,bR) = {
367- let bw = valueOrElse(getString(ax, w(E)), bR._2)
368-[("%s%s__assetId__" + E), ("%s%s__owner__" + bQ), ("%s%s__customName__" + bw), ("%s%d__stakedTime__" + toString(bR._1)), ("%s%s__name__" + bR._2), ("%s%s__location__" + bR._3), ("%s%d__health__" + toString(bR._4)), ("%s%s__backPack__" + bR._5)]
420+func cd (E,ce,cf) = {
421+ let bK = valueOrElse(getString(ay, w(E)), cf._2)
422+[("%s%s__assetId__" + E), ("%s%s__owner__" + ce), ("%s%s__customName__" + bK), ("%s%d__stakedTime__" + toString(cf._1)), ("%s%s__name__" + cf._2), ("%s%s__location__" + cf._3), ("%s%d__health__" + toString(cf._4)), ("%s%s__backPack__" + cf._5)]
369423 }
370424
371425
372-func bS (v,bQ,bT) = if ((v == ""))
426+func cg (v,ce,ch) = if ((v == ""))
373427 then throw("landAssetId is required")
374428 else {
375- let bU = value(assetInfo(fromBase58String(v)))
376- let bV = split(bU.description, "_")
377- let bW = if ((bU.quantity > 0))
378- then bV[aB]
379- else ("-" + bV[aB])
380- let bB = aW(bV[aC])
381- let bX = bA(v, bB)
382- let bY = (lastBlock.timestamp - bT)
383- let bZ = if ((bT > 0))
384- then fraction(bY, (bX._3 * bB), d)
429+ let ci = value(assetInfo(fromBase58String(v)))
430+ let cj = split(ci.description, "_")
431+ let ck = if ((ci.quantity > 0))
432+ then cj[aC]
433+ else ("-" + cj[aC])
434+ let bO = aY(cj[aD])
435+ let cl = bP(v, bO)
436+ let cm = (lastBlock.timestamp - ch)
437+ let cn = if ((ch > 0))
438+ then fraction(cm, (cl._3 * bO), d)
385439 else 0
386- let ca = fraction(Z, (bB * (bX._1 + 1)), ad)
387- let cb = if ((bT > 0))
388- then bp(invoke(ax, "splitByGlobalAndLocalWeightsREADONLY", [ca, bZ, bV[aD]], nil))
389- else $Tuple2(bg(invoke(ax, "splitByGlobalWeightsREADONLY", [ca], nil)), "")
390- let bw = valueOrElse(getString(ax, p(v)), ((bV[aE] + "-") + bV[aB]))
391-[("%s%s__assetId__" + v), ("%s%s__owner__" + bQ), ("%s%s__customName__" + bw), ("%s%d__stakedTime__" + toString(bT)), ("%s%s__description__" + makeString([bW, bV[aC], bV[aD], bV[aE]], "_")), ("%s%d__infraLevel__" + toString(bX._1)), ("%s%s__availResByType__" + cb._2), ("%s%d__availResTotal__" + toString(bZ)), ("%s%s__needMaterial__" + cb._1), makeString(["%s%s", "landArtefacts", ("PRESALE:" + toString(bX._2))], aa), ("%s%s__warehouse__" + makeString(bJ(u(v), (bB / ad), bX._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(ay, H(v)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
440+ let co = fraction(aa, (bO * (cl._1 + 1)), ae)
441+ let cp = if ((ch > 0))
442+ then bD(invoke(ay, "splitByGlobalAndLocalWeightsREADONLY", [co, cn, cj[aE]], nil))
443+ else $Tuple2(bw(invoke(ay, "splitByGlobalWeightsREADONLY", [co], nil)), "")
444+ let bK = valueOrElse(getString(ay, p(v)), ((cj[aF] + "-") + cj[aC]))
445+[("%s%s__assetId__" + v), ("%s%s__owner__" + ce), ("%s%s__customName__" + bK), ("%s%d__stakedTime__" + toString(ch)), ("%s%s__description__" + makeString([ck, cj[aD], cj[aE], cj[aF]], "_")), ("%s%d__infraLevel__" + toString(cl._1)), ("%s%s__availResByType__" + cp._2), ("%s%d__availResTotal__" + toString(cn)), ("%s%s__needMaterial__" + cp._1), makeString(["%s%s", "landArtefacts", ("PRESALE:" + toString(cl._2))], ab), ("%s%s__warehouse__" + makeString(bX(u(v), (bO / ae), cl._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(az, H(v)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
392446 }
393447
394448
395-func cc (v,bQ) = if ((v == ""))
449+func cq (v,ce) = if ((v == ""))
396450 then throw("landAssetId is required")
397451 else {
398- let bU = value(assetInfo(fromBase58String(v)))
399- let bV = split(bU.description, "_")
400- let bB = aW(bV[aC])
401- let bX = bA(v, bB)
402-[("%s%s__assetId__" + v), ("%s%s__owner__" + bQ), ("%s%s__warehouse__" + makeString(bJ(u(v), (bB / ad), bX._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(ay, H(v)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
452+ let ci = value(assetInfo(fromBase58String(v)))
453+ let cj = split(ci.description, "_")
454+ let bO = aY(cj[aD])
455+ let cl = bP(v, bO)
456+[("%s%s__assetId__" + v), ("%s%s__owner__" + ce), ("%s%s__warehouse__" + makeString(bX(u(v), (bO / ae), cl._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(az, H(v)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
403457 }
404458
405459
406-@Callable(cd)
407-func constructorV1 (ce) = if ((cd.caller != this))
460+@Callable(cr)
461+func constructorV1 (cs) = if ((cr.caller != this))
408462 then throw("permissions denied")
409463 else {
410- func cf (bk,cg) = (bk + "%s")
464+ func ct (be,cu) = (be + "%s")
411465
412- let ch = {
413- let O = ce
414- let P = size(O)
415- let Q = ""
416- func R (S,T) = if ((T >= P))
417- then S
418- else cf(S, O[T])
466+ let cv = {
467+ let P = cs
468+ let Q = size(P)
469+ let R = ""
470+ func S (T,U) = if ((U >= Q))
471+ then T
472+ else ct(T, P[U])
419473
420- func U (S,T) = if ((T >= P))
421- then S
474+ func V (T,U) = if ((U >= Q))
475+ then T
422476 else throw("List size exceeds 10")
423477
424- U(R(R(R(R(R(R(R(R(R(R(Q, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
478+ V(S(S(S(S(S(S(S(S(S(S(R, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
425479 }
426-[StringEntry(ap(), makeString(ch :: ce, aa)), StringEntry(aq(), toString(this))]
480+[StringEntry(aq(), makeString(cv :: cs, ab)), StringEntry(ar(), toString(this))]
427481 }
428482
429483
430484
431-@Callable(cd)
432-func walletInfoREADONLY (bs) = $Tuple2(nil, br(bs))
485+@Callable(cr)
486+func walletInfoREADONLY (bG) = $Tuple2(nil, bF(bG))
433487
434488
435489
436-@Callable(cd)
437-func duckByOwnerInfoREADONLY (ci) = {
438- let cj = getString(ax, B(ci))
439- $Tuple2(nil, if (if (isDefined(addressFromString(ci)))
440- then isDefined(cj)
490+@Callable(cr)
491+func duckByOwnerInfoREADONLY (cw) = {
492+ let cx = getString(ay, B(cw))
493+ $Tuple2(nil, if (if (isDefined(addressFromString(cw)))
494+ then isDefined(cx)
441495 else false)
442496 then {
443- let E = value(cj)
444- bP(E, ci, bO(E))
497+ let E = value(cx)
498+ cd(E, cw, cc(E))
445499 }
446- else bP("", ci, $Tuple5(-1, "", "", -1, "")))
500+ else cd("", cw, $Tuple5(-1, "", "", -1, "")))
447501 }
448502
449503
450504
451-@Callable(cd)
505+@Callable(cr)
452506 func duckByAssetIdInfoREADONLY (E) = {
453- let bQ = getString(ax, A(E))
454- let bR = bO(E)
455- $Tuple2(nil, bP(E, if (isDefined(bQ))
456- then value(bQ)
457- else "", bO(E)))
507+ let ce = getString(ay, A(E))
508+ let cf = cc(E)
509+ $Tuple2(nil, cd(E, if (isDefined(ce))
510+ then value(ce)
511+ else "", cc(E)))
458512 }
459513
460514
461515
462-@Callable(cd)
516+@Callable(cr)
463517 func landByAssetIdInfoREADONLY (v) = if ((v == ""))
464518 then throw("landAssetId is required")
465519 else {
466- let bT = valueOrElse(getInteger(ax, q(v)), -1)
467- let bQ = if ((bT > 0))
468- then value(getString(ax, n(v)))
520+ let ch = valueOrElse(getInteger(ay, q(v)), -1)
521+ let ce = if ((ch > 0))
522+ then value(getString(ay, n(v)))
469523 else ""
470- $Tuple2(nil, bS(v, bQ, bT))
524+ $Tuple2(nil, cg(v, ce, ch))
471525 }
472526
473527
474528
475-@Callable(cd)
476-func stakedLandsByOwnerInfoREADONLY (ck) = if ((ck == ""))
529+@Callable(cr)
530+func stakedLandsByOwnerInfoREADONLY (cy) = if ((cy == ""))
477531 then throw("landOwnerAddress is required")
478532 else {
479- let cl = getString(ax, aF(ck))
480- let cm = if (isDefined(cl))
481- then split_51C(value(cl), "_")
533+ let bi = getString(ay, aH(cy))
534+ let bj = if (isDefined(bi))
535+ then split_51C(value(bi), "_")
482536 else nil
483- func cn (bk,v) = if ((v == ""))
537+ func bk (be,v) = if ((v == ""))
484538 then throw("landAssetId is required")
485539 else {
486- let bT = valueOrElse(getInteger(ax, q(v)), -1)
487- (bk :+ bS(v, ck, bT))
540+ let ch = valueOrElse(getInteger(ay, q(v)), -1)
541+ (be :+ cg(v, cy, ch))
488542 }
489543
490- let bo = {
491- let O = cm
492- let P = size(O)
493- let Q = nil
494- func R (S,T) = if ((T >= P))
495- then S
496- else cn(S, O[T])
544+ let bC = {
545+ let P = bj
546+ let Q = size(P)
547+ let R = nil
548+ func S (T,U) = if ((U >= Q))
549+ then T
550+ else bk(T, P[U])
497551
498- func U (S,T) = if ((T >= P))
499- then S
552+ func V (T,U) = if ((U >= Q))
553+ then T
500554 else throw("List size exceeds 100")
501555
502- U(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(Q, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100)
556+ V(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(R, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100)
503557 }
504- $Tuple2(nil, bo)
558+ $Tuple2(nil, bC)
505559 }
506560
507561
508562
509-@Callable(cd)
510-func landsByIdsInfoREADONLY (co) = {
511- func cn (bk,v) = if ((v == ""))
563+@Callable(cr)
564+func landsByIdsInfoREADONLY (cz) = {
565+ func bk (be,v) = if ((v == ""))
512566 then throw("landAssetId is required")
513567 else {
514- let bT = valueOrElse(getInteger(ax, q(v)), -1)
515- let bQ = if ((bT > 0))
516- then value(getString(ax, n(v)))
568+ let ch = valueOrElse(getInteger(ay, q(v)), -1)
569+ let ce = if ((ch > 0))
570+ then value(getString(ay, n(v)))
517571 else ""
518- (bk :+ bS(v, bQ, bT))
572+ (be :+ cg(v, ce, ch))
519573 }
520574
521- let bo = {
522- let O = co
523- let P = size(O)
524- let Q = nil
525- func R (S,T) = if ((T >= P))
526- then S
527- else cn(S, O[T])
575+ let bC = {
576+ let P = cz
577+ let Q = size(P)
578+ let R = nil
579+ func S (T,U) = if ((U >= Q))
580+ then T
581+ else bk(T, P[U])
528582
529- func U (S,T) = if ((T >= P))
530- then S
583+ func V (T,U) = if ((U >= Q))
584+ then T
531585 else throw("List size exceeds 100")
532586
533- U(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(Q, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100)
587+ V(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(R, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100)
534588 }
535- $Tuple2(nil, bo)
589+ $Tuple2(nil, bC)
536590 }
537591
538592
539593
540-@Callable(cd)
594+@Callable(cr)
541595 func warehouseOrderByAssetIdInfoREADONLY (v) = if ((v == ""))
542596 then throw("landAssetId is required")
543597 else {
544- let bT = valueOrElse(getInteger(ax, q(v)), -1)
545- let bQ = if ((bT > 0))
546- then value(getString(ax, n(v)))
598+ let ch = valueOrElse(getInteger(ay, q(v)), -1)
599+ let ce = if ((ch > 0))
600+ then value(getString(ay, n(v)))
547601 else ""
548- $Tuple2(nil, cc(v, bQ))
602+ $Tuple2(nil, cq(v, ce))
549603 }
550604
551605
552606
553-@Callable(cd)
554-func ordersByLandIdsInfoREADONLY (co) = {
555- func cn (bk,v) = if ((v == ""))
607+@Callable(cr)
608+func ordersByLandIdsInfoREADONLY (cz) = {
609+ func bk (be,v) = if ((v == ""))
556610 then throw("landAssetId is required")
557611 else {
558- let bT = valueOrElse(getInteger(ax, q(v)), -1)
559- let bQ = if ((bT > 0))
560- then value(getString(ax, n(v)))
612+ let ch = valueOrElse(getInteger(ay, q(v)), -1)
613+ let ce = if ((ch > 0))
614+ then value(getString(ay, n(v)))
561615 else ""
562- (bk :+ cc(v, bQ))
616+ (be :+ cq(v, ce))
563617 }
564618
565- let bo = {
566- let O = co
567- let P = size(O)
568- let Q = nil
569- func R (S,T) = if ((T >= P))
570- then S
571- else cn(S, O[T])
619+ let bC = {
620+ let P = cz
621+ let Q = size(P)
622+ let R = nil
623+ func S (T,U) = if ((U >= Q))
624+ then T
625+ else bk(T, P[U])
572626
573- func U (S,T) = if ((T >= P))
574- then S
627+ func V (T,U) = if ((U >= Q))
628+ then T
575629 else throw("List size exceeds 40")
576630
577- U(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(Q, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40)
631+ V(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(R, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40)
578632 }
579- $Tuple2(nil, bo)
633+ $Tuple2(nil, bC)
580634 }
581635
582636
583637
584-@Callable(cd)
585-func cancelWarehouseOrders (co) = if ((cd.caller != this))
638+@Callable(cr)
639+func cancelWarehouseOrders (cz) = if ((cr.caller != this))
586640 then throw("permission denied")
587641 else {
588- let cp = getBoolean(ax, G())
589- if (if (!(isDefined(cp)))
642+ let cA = getBoolean(ay, G())
643+ if (if (!(isDefined(cA)))
590644 then true
591- else (value(cp) == false))
645+ else (value(cA) == false))
592646 then throw("Contracts should be blocked before canceling orders")
593647 else {
594- func cn (bU,v) = if ((v == ""))
648+ func bk (ci,v) = if ((v == ""))
595649 then throw("landAssetId is required")
596650 else {
597- let cq = aV(invoke(ay, "setWarehouseOrder", ["0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:", v], nil))
598- if (if (bU)
651+ let cB = aX(invoke(az, "setWarehouseOrder", ["0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:", v], nil))
652+ if (if (ci)
599653 then true
600- else cq)
601- then !(if (bU)
602- then cq
654+ else cB)
655+ then !(if (ci)
656+ then cB
603657 else false)
604658 else false
605659 }
606660
607- let bo = {
608- let O = co
609- let P = size(O)
610- let Q = false
611- func R (S,T) = if ((T >= P))
612- then S
613- else cn(S, O[T])
661+ let bC = {
662+ let P = cz
663+ let Q = size(P)
664+ let R = false
665+ func S (T,U) = if ((U >= Q))
666+ then T
667+ else bk(T, P[U])
614668
615- func U (S,T) = if ((T >= P))
616- then S
669+ func V (T,U) = if ((U >= Q))
670+ then T
617671 else throw("List size exceeds 30")
618672
619- U(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(Q, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30)
673+ V(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(R, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30)
620674 }
621- $Tuple2(nil, bo)
675+ $Tuple2(nil, bC)
622676 }
623677 }
624678
625679
626680
627-@Callable(cd)
628-func fixWarehouseFormats (co) = if ((cd.caller != this))
681+@Callable(cr)
682+func fixWarehouseFormats (cz) = if ((cr.caller != this))
629683 then throw("permission denied")
630684 else {
631- func cn (bk,v) = if ((v == ""))
685+ func bk (be,v) = if ((v == ""))
632686 then throw("landAssetId is required")
633- else (bk + size(aQ(invoke(ax, "fixWarehouseFormat", [v], nil))))
687+ else (be + size(aS(invoke(ay, "fixWarehouseFormat", [v], nil))))
634688
635- let bo = {
636- let O = co
637- let P = size(O)
638- let Q = 0
639- func R (S,T) = if ((T >= P))
640- then S
641- else cn(S, O[T])
689+ let bC = {
690+ let P = cz
691+ let Q = size(P)
692+ let R = 0
693+ func S (T,U) = if ((U >= Q))
694+ then T
695+ else bk(T, P[U])
642696
643- func U (S,T) = if ((T >= P))
644- then S
697+ func V (T,U) = if ((U >= Q))
698+ then T
645699 else throw("List size exceeds 25")
646700
647- U(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(Q, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25)
701+ V(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(R, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25)
648702 }
649- $Tuple2(nil, bo)
703+ $Tuple2(nil, bC)
650704 }
651705
652706
653707
654-@Callable(cd)
655-func fixStakedPieces (cr) = if ((cd.caller != this))
708+@Callable(cr)
709+func fixStakedPieces (cC) = if ((cr.caller != this))
656710 then throw("permission denied")
657711 else {
658- func cs (bk,m) = if ((m == ""))
712+ func cD (be,m) = if ((m == ""))
659713 then throw("address is required")
660- else (bk + aT(invoke(ax, "fixStakedPieces", [m], nil)))
714+ else (be + aV(invoke(ay, "fixStakedPieces", [m], nil)))
661715
662- let bo = {
663- let O = cr
664- let P = size(O)
665- let Q = 0
666- func R (S,T) = if ((T >= P))
667- then S
668- else cs(S, O[T])
716+ let bC = {
717+ let P = cC
718+ let Q = size(P)
719+ let R = 0
720+ func S (T,U) = if ((U >= Q))
721+ then T
722+ else cD(T, P[U])
669723
670- func U (S,T) = if ((T >= P))
671- then S
724+ func V (T,U) = if ((U >= Q))
725+ then T
672726 else throw("List size exceeds 16")
673727
674- U(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(Q, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16)
728+ V(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(R, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16)
675729 }
676- $Tuple2(nil, bo)
730+ $Tuple2(nil, bC)
677731 }
678732
679733
680734
681-@Callable(cd)
682-func sendUsdtPrize (ci) = if ((cd.caller != ax))
735+@Callable(cr)
736+func sendUsdtPrize (cw) = if ((cr.caller != ay))
683737 then throw("permission denied")
684738 else {
685- let ct = fraction(assetBalance(this, W), bf, ab)
686- $Tuple2([ScriptTransfer(addressFromStringValue(ci), ct, W)], ct)
739+ let cE = fraction(assetBalance(this, X), bv, ac)
740+ $Tuple2([ScriptTransfer(addressFromStringValue(cw), cE, X)], cE)
687741 }
688742
689743
690744
691-@Callable(cd)
745+@Callable(cr)
692746 func getEmergencyServiceDataREADONLY () = {
693- let cu = getString(ay, I())
694- let cv = if (isDefined(cu))
695- then split(value(cu), "_")
747+ let cF = getString(az, I())
748+ let cG = if (isDefined(cF))
749+ then split(value(cF), "_")
696750 else nil
697- func cw (bk,cx) = {
698- let aU = bk._2
699- let K = split(cx, "_")
700- let cy = parseIntValue(K[k])
701- let cz = if ((aU == 0))
702- then (g * cy)
751+ func cH (be,cI) = {
752+ let aW = be._2
753+ let L = split(cI, "_")
754+ let cJ = parseIntValue(L[k])
755+ let cK = if ((aW == 0))
756+ then (g * cJ)
703757 else 0
704- let cA = if ((size(cv) > aU))
705- then parseIntValue(cv[aU])
758+ let cL = if ((size(cG) > aW))
759+ then parseIntValue(cG[aW])
706760 else 0
707- let cB = J(K)
708- let cC = fraction((cB * h), f, (10 * cy))
709- let cD = fraction((cB * i), f, (10 * cy))
710- let cE = makeString([toString(cz), toString(cA), toString(cC), toString(cD)], "_")
711- $Tuple2((bk._1 :+ cE), (aU + 1))
761+ let cM = K(L)
762+ let cN = fraction((cM * h), f, (10 * cJ))
763+ let cO = fraction((cM * i), f, (10 * cJ))
764+ let cP = makeString([toString(cK), toString(cL), toString(cN), toString(cO)], "_")
765+ $Tuple2((be._1 :+ cP), (aW + 1))
712766 }
713767
714- let aS = makeString_2C(( let O = j
715- let P = size(O)
716- let Q = $Tuple2(nil, 0)
717- func R (S,T) = if ((T >= P))
718- then S
719- else cw(S, O[T])
768+ let aU = makeString_2C(( let P = j
769+ let Q = size(P)
770+ let R = $Tuple2(nil, 0)
771+ func S (T,U) = if ((U >= Q))
772+ then T
773+ else cH(T, P[U])
720774
721- func U (S,T) = if ((T >= P))
722- then S
775+ func V (T,U) = if ((U >= Q))
776+ then T
723777 else throw("List size exceeds 50")
724778
725- U(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(R(Q, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50))._1, ":")
726- let cF = ("%s%s__emergencyServiceData__" + aS)
727- $Tuple2(nil, cF)
779+ V(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(R, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50))._1, ":")
780+ let cQ = ("%s%s__emergencyServiceData__" + aU)
781+ $Tuple2(nil, cQ)
728782 }
729783
730784
731785
732-@Callable(cd)
786+@Callable(cr)
733787 func wlgStatsREADONLY () = {
734- let cG = aY()
735- $Tuple2(nil, [("%s%s%d__wlgAmount__" + toString(cG[aJ])), ("%s%s%d__wlgPrice__" + toString(cG[aK])), ("%s%s%d__usdtFunds__" + toString(cG[aL])), ("%s%s%d__usdtEconomy__" + toString(cG[aM])), ("%s%s%d__usdtActivity__" + toString(cG[aN])), ("%s%s%d__usdtArbitrage__" + toString(cG[aO])), ("%s%s%d__usdtPool__" + toString(cG[aP]))])
788+ let cR = bo()
789+ $Tuple2(nil, [("%s%s%d__wlgAmount__" + toString(cR[aL])), ("%s%s%d__wlgPrice__" + toString(cR[aM])), ("%s%s%d__usdtFunds__" + toString(cR[aN])), ("%s%s%d__usdtEconomy__" + toString(cR[aO])), ("%s%s%d__usdtActivity__" + toString(cR[aP])), ("%s%s%d__usdtArbitrage__" + toString(cR[aQ])), ("%s%s%d__usdtPool__" + toString(cR[aR]))])
736790 }
737791
738792

github/deemru/w8io/873ac7e 
289.71 ms