tx · E9Nqu11Y2z3a6HJEKLrkA9MkzmmhCRJhqC28SJWaphUz

3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy:  -0.03800000 Waves

2023.08.27 00:49 [2728198] smart account 3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy > SELF 0.00000000 Waves

{ "type": 13, "id": "E9Nqu11Y2z3a6HJEKLrkA9MkzmmhCRJhqC28SJWaphUz", "fee": 3800000, "feeAssetId": null, "timestamp": 1693086556349, "version": 2, "chainId": 84, "sender": "3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy", "senderPublicKey": "C3PaRKeL8AUKbwUqdniMQtThgcTh5DYHV1777Hkxy7rp", "proofs": [ "3QuSFXKzAc5CVkHEXmrooRro2z3epeg6CuKsYzAPCwpbjHUkWVYnQFnmXuddmJrH34DG8pVZuK9YQ4Rds1YufQSC" ], "script": "base64:BgJcCAISAwoBGBIDCgEIEgMKAQgSAwoBCBIDCgEIEgMKAQgSAwoBGBIDCgEIEgMKARgSAwoBGBIDCgEYEgMKARgSAwoBGBIDCgEIEgASAwoBCBIDCgEBEgASBAoCAQi7AQACTTYAwIQ9AAJNOACAwtcvAAhNSUxMSU9ONgCAgOmDsd4WAA5NQVJLRVRJTkdTSEFSRQCgjQYACVRFQU1TSEFSRQDAmgwADUFDVElWSVRZU0hBUkUAoI0GAAtQTEFZRVJTSEFSRQCAtRgACllFQVJNSUxMSVMAgIbrx3UAA0RBWQCAuJkpABBtYXJrZXRpbmdBZGRyS2V5Ag1tYXJrZXRpbmdBZGRyAAt0ZWFtQWRkcktleQIIdGVhbUFkZHIAFGxhc3RNYXJrZXRpbmdUaW1lS2V5AhlsYXN0Q2xhaW1lZFRpbWVfbWFya2V0aW5nABZtYXJrZXRpbmdBbW91bnRMZWZ0S2V5AhNtYXJrZXRpbmdBbW91bnRMZWZ0AA9sYXN0VGVhbVRpbWVLZXkCFGxhc3RDbGFpbWVkVGltZV90ZWFtABF0ZWFtQW1vdW50TGVmdEtleQIOdGVhbUFtb3VudExlZnQAFWxhc3RBY3Rpdml0aWVzVGltZUtleQIabGFzdENsYWltZWRUaW1lX2FjdGl2aXRpZXMAEGFjdEFtb3VudExlZnRLZXkCFGFjdGl2aXRpZXNBbW91bnRMZWZ0ABRzdGFrZXJzQW1vdW50TGVmdEtleQIRc3Rha2Vyc0Ftb3VudExlZnQBGGtleUxhc3RDbGFpbWVkVGltZUJ5VXNlcgEEYWRkcgkArAICAhRsYXN0Q2xhaW1lZFRpbWVVc2VyXwUEYWRkcgEUZGlzdHJpYnV0aW9uQnlQZXJpb2QBBnBlcmlvZAkAawMFCE1JTExJT042CQBoAgULUExBWUVSU0hBUkUJAGQCBQZwZXJpb2QAAQkAaAIABgUCTTYAD3dsZ0lzc3VlVGltZUtleQINd2xnX2lzc3VlVGltZQASd2xnSXNzdWVkQW1vdW50S2V5AhB3bGdfaXNzdWVkQW1vdW50ABF6Yklzc3VlZEFtb3VudEtleQISemJpbGxfaXNzdWVkQW1vdW50AAxpZHhXbGdBbW91bnQAAAALaWR4V2xnUHJpY2UAAQALaWR4V2xnRnVuZHMAAgANaWR4V2xnRWNvbm9teQADAA5pZHhXbGdBY3Rpdml0eQAEAA9pZHhXbGdBcmJpdHJhZ2UABQAKaWR4V2xnUG9vbAAGAA9pZHhXbGdJc3N1ZVRpbWUABwARaWR4V2xnTGFzdE1UQVRpbWUACAAUaWR4V2xnTWFya2V0aW5nVG90YWwACQAVaWR4V2xnTWFya2V0aW5nQW1MZWZ0AAoAGWlkeFdsZ01hcmtldGluZ0FtQXZhaWxOb3cACwAVaWR4V2xnTWFya2V0aW5nV2xnb2xkAAwAD2lkeFdsZ1RlYW1Ub3RhbAANABBpZHhXbGdUZWFtQW1MZWZ0AA4AFGlkeFdsZ1RlYW1BbUF2YWlsTm93AA8AEGlkeFdsZ1RlYW1XbGdvbGQAEAAOaWR4V2xnQWN0VG90YWwAEQAPaWR4V2xnQWN0QW1MZWZ0ABIAE2lkeFdsZ0FjdEFtQXZhaWxOb3cAEwAPaWR4V2xnQWN0V2xnb2xkABQAD2lkeFdsZ0N1clBlcmlvZAAVABFpZHhXbGdBbUxlZnRUb3RhbAAWABtpZHhXbGdDdXJQZXJpb2REaXN0cmlidXRpb24AFwASaWR4V2xnTGFzdFVzZXJUaW1lABgAFGlkeFdsZ1VzZXJBbUF2YWlsTm93ABkAFmlkeFdsZ1NMYW5kRGFpbHlBbW91bnQAGgAWaWR4V2xnSW52ZXN0RnVuZEFtb3VudAAbAAhkYXBwUmVzdAAAAAtkYXBwU3Rha2luZwABAAtkYXBwRWNvbm9teQACAAdkYXBwV2xnAAMACmRhcHBQdXp6bGUABAAOZGFwcEludmVzdEZ1bmQABQEJZ2V0UGllY2VzAhJ1c2VyQWRkclN0ck9yRW1wdHkPc3Rha2luZ0NvbnRyYWN0BAVwcm9wcwkAtQkCCQELdmFsdWVPckVsc2UCCQCdCAIFD3N0YWtpbmdDb250cmFjdAITcmVzVHlwZXNQcm9wb3J0aW9ucwILMF8wXzBfMF8wXzACAV8KAQVhZGRlcgIDYWNjBGl0ZW0JAGQCBQNhY2MJAQ1wYXJzZUludFZhbHVlAQUEaXRlbQQKdG90YWxQb3dlcgoAAiRsBQVwcm9wcwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAAAAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEFYWRkZXICBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECE0xpc3Qgc2l6ZSBleGNlZWRzIDYJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYECnVzZXJzUG93ZXIJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQCsAgICFHN0YWtlZFBpZWNlc0J5T3duZXJfBRJ1c2VyQWRkclN0ck9yRW1wdHkAAAkAzAgCBQp0b3RhbFBvd2VyCQDMCAIFCnVzZXJzUG93ZXIFA25pbAELZ2V0V2xnU3RhdHMFC3VzZXJBZGRyT3B0CWNvbnRyYWN0cwZ1c2R0SWQVdXNkdEJhbGFuY2VDb3JyZWN0aW9uD3VzZXJQcm9wb3J0aW9uNgQMaXNzdWVkQW1vdW50CQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJoIAgkAkQMCBQljb250cmFjdHMFB2RhcHBXbGcFEndsZ0lzc3VlZEFtb3VudEtleQIYV0xHT0xEIGlzIG5vdCBpc3N1ZWQgeWV0BAplY29ub215VXNkCQDwBwIJAJEDAgUJY29udHJhY3RzBQtkYXBwRWNvbm9teQUGdXNkdElkBAdyZXN0VXNkCQDwBwIJAJEDAgUJY29udHJhY3RzBQhkYXBwUmVzdAUGdXNkdElkBAZ3bGdVc2QJAGUCCQDwBwIJAJEDAgUJY29udHJhY3RzBQdkYXBwV2xnBQZ1c2R0SWQFFXVzZHRCYWxhbmNlQ29ycmVjdGlvbgQJcHV6emxlVXNkCQDwBwIJAJEDAgUJY29udHJhY3RzBQpkYXBwUHV6emxlBQZ1c2R0SWQEEmludmVzdEZ1bmRDb250cmFjdAkAkQMCBQljb250cmFjdHMFDmRhcHBJbnZlc3RGdW5kBA9pbnZlc3RGdW5kVG90YWwJAGQCCQDwBwIFEmludmVzdEZ1bmRDb250cmFjdAUGdXNkdElkCQELdmFsdWVPckVsc2UCCQCaCAIFEmludmVzdEZ1bmRDb250cmFjdAURemJJc3N1ZWRBbW91bnRLZXkAAAQNdG90YWxGdW5kc1VzZAkAZAIJAGQCBQplY29ub215VXNkBQZ3bGdVc2QFD2ludmVzdEZ1bmRUb3RhbAQFd2xnSWQJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnAgCCQCRAwIFCWNvbnRyYWN0cwUHZGFwcFdsZwILd2xnX2Fzc2V0SWQCE05vdCBpbml0aWFsaXplZCB5ZXQEA25vdwgFCWxhc3RCbG9jawl0aW1lc3RhbXAECWlzc3VlVGltZQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCaCAIJAJEDAgUJY29udHJhY3RzBQdkYXBwV2xnBQ93bGdJc3N1ZVRpbWVLZXkCD05vdCBpbml0aWFsaXplZAQObWFya2V0aW5nVG90YWwJAGsDBQhNSUxMSU9ONgUOTUFSS0VUSU5HU0hBUkUFAk02BBNtYXJrZXRpbmdBbW91bnRMZWZ0CQELdmFsdWVPckVsc2UCCQCaCAIJAJEDAgUJY29udHJhY3RzBQdkYXBwV2xnBRZtYXJrZXRpbmdBbW91bnRMZWZ0S2V5BQ5tYXJrZXRpbmdUb3RhbAQRbGFzdE1hcmtldGluZ1RpbWUJAQt2YWx1ZU9yRWxzZQIJAJoIAgkAkQMCBQljb250cmFjdHMFB2RhcHBXbGcFFGxhc3RNYXJrZXRpbmdUaW1lS2V5BQlpc3N1ZVRpbWUEDW1hcmtldGluZ0FkZHIJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQV2YWx1ZQEJAJ0IAgkAkQMCBQljb250cmFjdHMFB2RhcHBXbGcFEG1hcmtldGluZ0FkZHJLZXkEG21hcmtldGluZ0Ftb3VudEF2YWlsYWJsZU5vdwkAlwMBCQDMCAIJAGsDBQ5tYXJrZXRpbmdUb3RhbAkAZQIFA25vdwURbGFzdE1hcmtldGluZ1RpbWUFCllFQVJNSUxMSVMJAMwIAgUTbWFya2V0aW5nQW1vdW50TGVmdAUDbmlsBA9tYXJrZXRpbmdXbGdvbGQJAPAHAgUNbWFya2V0aW5nQWRkcgUFd2xnSWQECXRlYW1Ub3RhbAkAawMFCE1JTExJT042BQlURUFNU0hBUkUFAk02BA50ZWFtQW1vdW50TGVmdAkBC3ZhbHVlT3JFbHNlAgkAmggCCQCRAwIFCWNvbnRyYWN0cwUHZGFwcFdsZwURdGVhbUFtb3VudExlZnRLZXkFCXRlYW1Ub3RhbAQMbGFzdFRlYW1UaW1lCQELdmFsdWVPckVsc2UCCQCaCAIJAJEDAgUJY29udHJhY3RzBQdkYXBwV2xnBQ9sYXN0VGVhbVRpbWVLZXkFCWlzc3VlVGltZQQIdGVhbUFkZHIJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQV2YWx1ZQEJAJ0IAgkAkQMCBQljb250cmFjdHMFB2RhcHBXbGcFC3RlYW1BZGRyS2V5BBZ0ZWFtQW1vdW50QXZhaWxhYmxlTm93CQCXAwEJAMwIAgkAawMFCXRlYW1Ub3RhbAkAZQIFA25vdwUMbGFzdFRlYW1UaW1lCQBoAgADBQpZRUFSTUlMTElTCQDMCAIFDnRlYW1BbW91bnRMZWZ0BQNuaWwECnRlYW1XbGdvbGQJAPAHAgUIdGVhbUFkZHIFBXdsZ0lkBAhhY3RUb3RhbAkAawMFCE1JTExJT042BQ1BQ1RJVklUWVNIQVJFBQJNNgQNYWN0QW1vdW50TGVmdAkBC3ZhbHVlT3JFbHNlAgkAmggCCQCRAwIFCWNvbnRyYWN0cwUHZGFwcFdsZwUQYWN0QW1vdW50TGVmdEtleQUIYWN0VG90YWwEEmxhc3RBY3Rpdml0aWVzVGltZQkBC3ZhbHVlT3JFbHNlAgkAmggCCQCRAwIFCWNvbnRyYWN0cwUHZGFwcFdsZwUVbGFzdEFjdGl2aXRpZXNUaW1lS2V5BQlpc3N1ZVRpbWUEFWFjdEFtb3VudEF2YWlsYWJsZU5vdwkAlwMBCQDMCAIJAGsDBQhhY3RUb3RhbAkAZQIFA25vdwUSbGFzdEFjdGl2aXRpZXNUaW1lCQBoAgADBQpZRUFSTUlMTElTCQDMCAIFDWFjdEFtb3VudExlZnQFA25pbAQJYWN0V2xnb2xkCQDwBwIJAJEDAgUJY29udHJhY3RzBQhkYXBwUmVzdAUFd2xnSWQEDGxhc3RVc2VyVGltZQkBC3ZhbHVlT3JFbHNlAgkAmggCCQCRAwIFCWNvbnRyYWN0cwUHZGFwcFdsZwkBGGtleUxhc3RDbGFpbWVkVGltZUJ5VXNlcgEFC3VzZXJBZGRyT3B0BQlpc3N1ZVRpbWUEDmxhc3RVc2VyUGVyaW9kCQBpAgkAZQIFDGxhc3RVc2VyVGltZQUJaXNzdWVUaW1lBQpZRUFSTUlMTElTBApub3dMaW1pdGVkCQCXAwEJAMwIAgUDbm93CQDMCAIJAGQCBQlpc3N1ZVRpbWUJAGgCAAMFCllFQVJNSUxMSVMFA25pbAQJY3VyUGVyaW9kCQCXAwEJAMwIAgkAaQIJAGUCBQNub3cFCWlzc3VlVGltZQUKWUVBUk1JTExJUwkAzAgCAAIFA25pbAQDZWZmCQEJZ2V0UGllY2VzAgULdXNlckFkZHJPcHQJAJEDAgUJY29udHJhY3RzBQtkYXBwU3Rha2luZwQVY3VyUGVyaW9kRGlzdHJpYnV0aW9uCQEUZGlzdHJpYnV0aW9uQnlQZXJpb2QBBQljdXJQZXJpb2QECCR0MDc5MTQyAwkAAAIFDmxhc3RVc2VyUGVyaW9kBQljdXJQZXJpb2QEAmEwCQBrAwUVY3VyUGVyaW9kRGlzdHJpYnV0aW9uCQBlAgUKbm93TGltaXRlZAUMbGFzdFVzZXJUaW1lBQpZRUFSTUlMTElTBAh1c2VyUGFydAkAawMFAmEwBQ91c2VyUHJvcG9ydGlvbjYFAk02BAdlZmZUaW1lCQBkAgUMbGFzdFVzZXJUaW1lCQBrAwkAZQIFCm5vd0xpbWl0ZWQFDGxhc3RVc2VyVGltZQUPdXNlclByb3BvcnRpb242BQJNNgkAlQoDBQh1c2VyUGFydAUCYTAFB2VmZlRpbWUDCQAAAgUObGFzdFVzZXJQZXJpb2QJAGUCBQljdXJQZXJpb2QAAQQCYTEJAGsDCQEUZGlzdHJpYnV0aW9uQnlQZXJpb2QBCQBlAgUJY3VyUGVyaW9kAAEJAGUCCQBkAgUJaXNzdWVUaW1lCQBoAgUKWUVBUk1JTExJUwUJY3VyUGVyaW9kBQxsYXN0VXNlclRpbWUFCllFQVJNSUxMSVMEAmEwCQBrAwUVY3VyUGVyaW9kRGlzdHJpYnV0aW9uCQBlAgUKbm93TGltaXRlZAkAZAIFCWlzc3VlVGltZQkAaAIFCllFQVJNSUxMSVMFCWN1clBlcmlvZAUKWUVBUk1JTExJUwQFYXZhaWwJAGQCBQJhMQUCYTAECHVzZXJQYXJ0CQBrAwUFYXZhaWwFD3VzZXJQcm9wb3J0aW9uNgUCTTYEB2VmZlRpbWUDCQBnAgUCYTEFCHVzZXJQYXJ0CQBkAgUMbGFzdFVzZXJUaW1lCQBrAwUKWUVBUk1JTExJUwUIdXNlclBhcnQJARRkaXN0cmlidXRpb25CeVBlcmlvZAEJAGUCBQljdXJQZXJpb2QAAQkAZAIJAGQCBQlpc3N1ZVRpbWUJAGgCBQpZRUFSTUlMTElTBQljdXJQZXJpb2QJAGsDBQpZRUFSTUlMTElTCQBlAgUIdXNlclBhcnQFAmExBRVjdXJQZXJpb2REaXN0cmlidXRpb24JAJUKAwUIdXNlclBhcnQFBWF2YWlsBQdlZmZUaW1lBAJhMgkAawMJARRkaXN0cmlidXRpb25CeVBlcmlvZAEJAGUCBQljdXJQZXJpb2QAAgkAZQIJAGQCBQlpc3N1ZVRpbWUJAGgCBQpZRUFSTUlMTElTCQBlAgUJY3VyUGVyaW9kAAEFDGxhc3RVc2VyVGltZQUKWUVBUk1JTExJUwQCYTEJARRkaXN0cmlidXRpb25CeVBlcmlvZAEJAGUCBQljdXJQZXJpb2QAAQQCYTAJAGsDBRVjdXJQZXJpb2REaXN0cmlidXRpb24JAGUCBQpub3dMaW1pdGVkCQBkAgUJaXNzdWVUaW1lCQBoAgUKWUVBUk1JTExJUwUJY3VyUGVyaW9kBQpZRUFSTUlMTElTBAVhdmFpbAkAZAIJAGQCBQJhMgUCYTEFAmEwBAh1c2VyUGFydAkAawMFBWF2YWlsBQ91c2VyUHJvcG9ydGlvbjYFAk02BAdlZmZUaW1lAwkAZwIFAmEyBQh1c2VyUGFydAkAZAIFDGxhc3RVc2VyVGltZQkAawMFCllFQVJNSUxMSVMFCHVzZXJQYXJ0CQEUZGlzdHJpYnV0aW9uQnlQZXJpb2QBCQBlAgUJY3VyUGVyaW9kAAIDCQBnAgkAZAIFAmEyBQJhMQUIdXNlclBhcnQJAGQCCQBkAgUJaXNzdWVUaW1lCQBoAgUKWUVBUk1JTExJUwkAZQIFCWN1clBlcmlvZAABCQBrAwUKWUVBUk1JTExJUwkAZQIFCHVzZXJQYXJ0BQJhMgkBFGRpc3RyaWJ1dGlvbkJ5UGVyaW9kAQkAZQIFCWN1clBlcmlvZAABCQBkAgkAZAIFCWlzc3VlVGltZQkAaAIFCllFQVJNSUxMSVMFCWN1clBlcmlvZAkAawMFCllFQVJNSUxMSVMJAGUCCQBlAgUIdXNlclBhcnQFAmEyBQJhMQUVY3VyUGVyaW9kRGlzdHJpYnV0aW9uCQCVCgMFCHVzZXJQYXJ0BQVhdmFpbAUHZWZmVGltZQQKdXNlckFtb3VudAgFCCR0MDc5MTQyAl8xBA11c2VyQXZhaWxhYmxlCAUIJHQwNzkxNDICXzIEC2VmZkxhc3RUaW1lCAUIJHQwNzkxNDICXzMEEHNMYW5kRGFpbHlBbW91bnQJAGsDCQBrAwUVY3VyUGVyaW9kRGlzdHJpYnV0aW9uBQNEQVkFCllFQVJNSUxMSVMAGQkAkQMCBQNlZmYAAAQPYW1vdW50TGVmdFRvdGFsCQELdmFsdWVPckVsc2UCCQCaCAIJAJEDAgUJY29udHJhY3RzBQdkYXBwV2xnBRRzdGFrZXJzQW1vdW50TGVmdEtleQAACQDMCAIFDGlzc3VlZEFtb3VudAkAzAgCCQBrAwUNdG90YWxGdW5kc1VzZAUCTTgFDGlzc3VlZEFtb3VudAkAzAgCBQ10b3RhbEZ1bmRzVXNkCQDMCAIFCmVjb25vbXlVc2QJAMwIAgUHcmVzdFVzZAkAzAgCBQZ3bGdVc2QJAMwIAgUJcHV6emxlVXNkCQDMCAIFCWlzc3VlVGltZQkAzAgCBRFsYXN0TWFya2V0aW5nVGltZQkAzAgCBQ5tYXJrZXRpbmdUb3RhbAkAzAgCBRNtYXJrZXRpbmdBbW91bnRMZWZ0CQDMCAIFG21hcmtldGluZ0Ftb3VudEF2YWlsYWJsZU5vdwkAzAgCBQ9tYXJrZXRpbmdXbGdvbGQJAMwIAgUJdGVhbVRvdGFsCQDMCAIFDnRlYW1BbW91bnRMZWZ0CQDMCAIFFnRlYW1BbW91bnRBdmFpbGFibGVOb3cJAMwIAgUKdGVhbVdsZ29sZAkAzAgCBQhhY3RUb3RhbAkAzAgCBQ1hY3RBbW91bnRMZWZ0CQDMCAIFFWFjdEFtb3VudEF2YWlsYWJsZU5vdwkAzAgCBQlhY3RXbGdvbGQJAMwIAgUJY3VyUGVyaW9kCQDMCAIFD2Ftb3VudExlZnRUb3RhbAkAzAgCBRVjdXJQZXJpb2REaXN0cmlidXRpb24JAMwIAgUMbGFzdFVzZXJUaW1lCQDMCAIJAGsDBQp1c2VyQW1vdW50CQCRAwIFA2VmZgABCQCRAwIFA2VmZgAACQDMCAIFEHNMYW5kRGFpbHlBbW91bnQJAMwIAgUPaW52ZXN0RnVuZFRvdGFsCQDMCAIJAGsDBQ11c2VyQXZhaWxhYmxlCQCRAwIFA2VmZgABCQCRAwIFA2VmZgAACQDMCAIFC2VmZkxhc3RUaW1lBQNuaWwADnJvYmJlcnlDb3N0TWluAIDC1y8AFHJvYmJlcnlDb29sZG93bkNvZWZmAJADAQ1rZXlEdWNrSGVhbHRoAQtkdWNrQXNzZXRJZAkArAICAgtkdWNrSGVhbHRoXwULZHVja0Fzc2V0SWQBDGtleUR1Y2tDaGFycwELZHVja0Fzc2V0SWQJAKwCAgIKZHVja0NoYXJzXwULZHVja0Fzc2V0SWQBCWtleUR1Y2tYUAELZHVja0Fzc2V0SWQJAKwCAgIHZHVja1hQXwULZHVja0Fzc2V0SWQBDGtleUR1Y2tMZXZlbAELZHVja0Fzc2V0SWQJAKwCAgIKZHVja0xldmVsXwULZHVja0Fzc2V0SWQBEWtleUR1Y2tGcmVlUG9pbnRzAQtkdWNrQXNzZXRJZAkArAICAg9kdWNrRnJlZVBvaW50c18FC2R1Y2tBc3NldElkARBrZXlEdWNrRXF1aXBtZW50AQtkdWNrQXNzZXRJZAkArAICAg5kdWNrRXF1aXBtZW50XwULZHVja0Fzc2V0SWQBCWtleVVzZXJYUAEEYWRkcgkArAICAgd1c2VyWFBfBQRhZGRyAQxrZXlVc2VyTGV2ZWwBBGFkZHIJAKwCAgIKdXNlckxldmVsXwUEYWRkcgERa2V5VXNlckZyZWVQb2ludHMBBGFkZHIJAKwCAgIPdXNlckZyZWVQb2ludHNfBQRhZGRyAQxrZXlEdWNrQnVmZnMBC2R1Y2tBc3NldElkCQCsAgICCmR1Y2tCdWZmc18FC2R1Y2tBc3NldElkARhrZXlMYXN0Um9iYmVyeVRpbWVCeUR1Y2sBC2R1Y2tBc3NldElkCQCsAgICEGxhc3RSb2JiZXJ5VGltZV8FC2R1Y2tBc3NldElkARhrZXlMYXN0Um9iYmVyeUNvc3RCeUR1Y2sBC2R1Y2tBc3NldElkCQCsAgICEGxhc3RSb2JiZXJ5Q29zdF8FC2R1Y2tBc3NldElkAQltYXhIZWFsdGgBBWxldmVsCQBkAgBkBQVsZXZlbAAKQVJUUFJFU0FMRQIHUFJFU0FMRQAKQVJUT05CT0FSRAIHT05CT0FSRAAGTlVNUkVTAAYAD0RBSUxZUkVTQllQSUVDRQCA+NIBAAlEQVlNSUxMSVMAgLiZKQAMV0hNVUxUSVBMSUVSAIDIr6AlABBSRVNPVVJDRVBSSUNFTUlOANW1AgANRVNNQVhQQUNLQUdFUwADAAlFU0JVWUNPRUYABAAKRVNTRUxMQ09FRgAKAAlDT0VGRjJNQVQAgK3iBAAQcHJvZHVjdGlvbk1hdHJpeAkAzAgCAiU4XzhfOF8xN18xN180Ml8xMl8wXzMwXzAsMCwwLDAsMCwwLDBfCQDMCAICJThfOF84XzE3XzE3XzQyXzI0XzBfNjBfMCwwLDUsMiwwLDAsMF8JAMwIAgInOF84XzhfMTdfMTdfNDJfMzZfMF8xMjBfMCwwLDEwLDQsMCwwLDBfCQDMCAICKThfMTlfMTlfOF8yN18xOV8yNl8xXzIwXzAsMCwwLDAsMCwwLDBfMDAxCQDMCAICKThfMTlfMTlfOF8yN18xOV81Ml8xXzQwXzAsMCwwLDAsMCwwLDBfMDAxCQDMCAICKThfMTlfMTlfOF8yN18xOV83OF8xXzgwXzAsMCwwLDAsMCwwLDBfMDAxCQDMCAICJThfOF84XzhfOF82MF8xM18yXzJfMCwwLDAsMCwwLDAsMF8wMTEJAMwIAgIlOF84XzhfOF84XzYwXzI2XzJfNF8wLDAsMCwwLDAsMCwwXzAxMQkAzAgCAiU4XzhfOF84XzhfNjBfMzlfMl84XzAsMCwwLDAsMCwwLDBfMDExCQDMCAICKTMwXzMwXzNfMTdfMTdfM18zMF8zXzMwXzAsMCwwLDAsMCwwLDBfMTExCQDMCAICKTMwXzMwXzNfMTdfMTdfM182MF8zXzUwXzAsMCwwLDAsMCwwLDBfMTExCQDMCAICKTMwXzMwXzNfMTdfMTdfM185MF8zXzcwXzAsMCwwLDAsMCwwLDBfMTExCQDMCAICKzE4XzE4XzEwXzE4XzE4XzE4XzExXzRfMzBfMCwwLDAsMCwwLDAsMF8yMDEJAMwIAgIrMThfMThfMTBfMThfMThfMThfMjJfNF81MF8wLDAsMCwwLDAsMCwwXzIwMQkAzAgCAisxOF8xOF8xMF8xOF8xOF8xOF8zM180XzcwXzAsMCwwLDAsMCwwLDBfMjAxCQDMCAICKjRfMTNfMjJfNF8zNV8yMl8yM18wXzUwLDEsMF8wLDAsMCwwLDAsMCwwXwkAzAgCAio0XzEzXzIyXzRfMzVfMjJfNDZfMF81MCwxLDFfMCwyLDUsMCwwLDAsMF8JAMwIAgIrNF8xM18yMl80XzM1XzIyXzY5XzBfNTAsMiwxXzAsNSwxMCwwLDAsMCwwXwkAzAgCAio1XzI1XzQwXzVfMTBfMTVfMjBfMV8zMCwxLDFfMCwwLDAsMCwwLDAsMF8JAMwIAgIqNV8yNV80MF81XzEwXzE1XzQwXzFfMzAsMSwyXzIsMSwzLDAsMCwwLDBfCQDMCAICKjVfMjVfNDBfNV8xMF8xNV82MF8xXzMwLDEsM181LDIsOCwwLDAsMCwwXwUDbmlsAAlySWR4Q29lZmYABgAOUFJPRFVDVFBLR1NJWkUACgERa2V5TGFzdFR4SWRCeVVzZXIBBGFkZHIJAKwCAgIPbGFzdFR4SWRCeVVzZXJfBQRhZGRyARVrZXlMYW5kQXNzZXRJZFRvT3duZXIBB2Fzc2V0SWQJAKwCAgIJbmZ0T3duZXJfBQdhc3NldElkARprZXlMYW5kQXNzZXRJZFRvQ3VzdG9tTmFtZQEHYXNzZXRJZAkArAICAhhsYW5kQ3VzdG9tTmFtZUJ5QXNzZXRJZF8FB2Fzc2V0SWQBFmtleVN0YWtlZFRpbWVCeUFzc2V0SWQBB2Fzc2V0SWQJAKwCAgILc3Rha2VkVGltZV8FB2Fzc2V0SWQBIGtleUxhbmRBcnRTdGF0dXNCeVR5cGVBbmRBc3NldElkAgR0eXBlB2Fzc2V0SWQJALkJAgkAzAgCAg1sYW5kQXJ0U3RhdHVzCQDMCAIFBHR5cGUJAMwIAgUHYXNzZXRJZAUDbmlsAgFfARJrZXlXYXJlaG91c2VCeUxhbmQBC2xhbmRBc3NldElkCQCsAgICCndhcmVIb3VzZV8FC2xhbmRBc3NldElkARZrZXlJbmZyYUxldmVsQnlBc3NldElkAQdhc3NldElkCQCsAgICC2luZnJhTGV2ZWxfBQdhc3NldElkARdrZXlGb3J0aWZpY2F0aW9uc0J5TGFuZAELbGFuZEFzc2V0SWQJAKwCAgIPZm9ydGlmaWNhdGlvbnNfBQtsYW5kQXNzZXRJZAERa2V5TGFzdFJvYmJlZFRpbWUBC2xhbmRBc3NldElkCQCsAgICD2xhc3RSb2JiZWRUaW1lXwULbGFuZEFzc2V0SWQBGmtleUR1Y2tBc3NldElkVG9DdXN0b21OYW1lAQdhc3NldElkCQCsAgICGGR1Y2tDdXN0b21OYW1lQnlBc3NldElkXwUHYXNzZXRJZAEWa2V5QWRkcmVzc1RvQ3VzdG9tTmFtZQEEYWRkcgkArAICAhhhY2NvdW50Q3VzdG9tTmFtZUJ5QWRkcl8FBGFkZHIBD2tleUFkZHJlc3NSZWZCeQEEYWRkcgkArAICAglhY2NSZWZCeV8FBGFkZHIBHGtleU9uYm9hcmRBcnREdWNrQWN0aXZhdGVkQnkBBGFkZHIJAKwCAgIab25ib2FyZEFydEFjdGl2YXRlZER1Y2tCeV8FBGFkZHIBE2tleUFkZHJlc3NSZWZlcnJhbHMBBGFkZHIJAKwCAgINYWNjUmVmZXJyYWxzXwUEYWRkcgEQa2V5RHVja0lkVG9Pd25lcgEHYXNzZXRJZAkArAICAgpkdWNrT3duZXJfBQdhc3NldElkARRrZXlTdGFrZWREdWNrQnlPd25lcgEJb3duZXJBZGRyCQCsAgICEnN0YWtlZER1Y2tCeU93bmVyXwUJb3duZXJBZGRyAQ9rZXlEdWNrTG9jYXRpb24BC2R1Y2tBc3NldElkCQCsAgICDWR1Y2tMb2NhdGlvbl8FC2R1Y2tBc3NldElkAQprZXlCbG9ja2VkAAIQY29udHJhY3RzQmxvY2tlZAEOa2V5T3JkZXJCeUxhbmQBC2xhbmRBc3NldElkCQCsAgICCmxhbmRPcmRlcl8FC2xhbmRBc3NldElkAQ5rZXlFc1dhcmVob3VzZQACGmVtZXJnZW5jeVdhcmVob3VzZVByb2R1Y3RzAA1sYXN0VG91cklkS2V5Ag4lc19fbGFzdFRvdXJJZAEVa2V5VG91clN0YXRpY0RhdGFCeUlkAQN0SWQJAKwCAgIWJXMlZF9fdG91clN0YXRpY0RhdGFfXwkApAMBBQN0SWQBFmtleVRvdXJEeW5hbWljRGF0YUJ5SWQBA3RJZAkArAICAhclcyVkX190b3VyRHluYW1pY0RhdGFfXwkApAMBBQN0SWQBF2tleUFsbFJlZ2lzdHJhbnRzQnlUb3VyAQN0SWQJAKwCAgIWJXMlZF9fYWxsUmVnaXN0cmFudHNfXwkApAMBBQN0SWQACWlkeFN0YXRpYwAAAAppZHhEeW5hbWljAAEBC2dldFRvdXJEYXRhAgx0b3VyQ29udHJhY3QDdElkBAZzdGF0aWMJALUJAgkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIFDHRvdXJDb250cmFjdAkBFWtleVRvdXJTdGF0aWNEYXRhQnlJZAEFA3RJZAkArAICCQCsAgICGUVycm9yIHJlYWRpbmcgdG91cm5hbWVudCAJAKQDAQUDdElkAgUgZGF0YQICX18EB2R5bmFtaWMJALUJAgkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIFDHRvdXJDb250cmFjdAkBFmtleVRvdXJEeW5hbWljRGF0YUJ5SWQBBQN0SWQJAKwCAgkArAICAhlFcnJvciByZWFkaW5nIHRvdXJuYW1lbnQgCQCkAwEFA3RJZAIFIGRhdGECAl9fCQDMCAIFBnN0YXRpYwkAzAgCBQdkeW5hbWljBQNuaWwAE3RTdGF0aWNSZWdpc3RlckNvc3QAAgASdFN0YXRpY0F0dGVtcHRDb3N0AAMADHRTdGF0aWNTdGFydAAFAAp0U3RhdGljRW5kAAYADnREeW5hbWljU3RhdHVzAAEAD3REeW5hbWljV2luRHVjawACABF0RHluYW1pY1dpblJlc3VsdAADABV0RHluYW1pY1RvdGFsUmVnQ291bnQABAAVdER5bmFtaWNUb3RhbEF0dGVtcHRzAAUBHGtleUlzUmVnaXN0ZXJlZEJ5VG91ckFuZER1Y2sCA3RJZAtkdWNrQXNzZXRJZAkAuQkCCQDMCAICISVzJWQlc19faXNSZWdpc3RlcmVkQnlUb3VyQW5kRHVjawkAzAgCCQCkAwEFA3RJZAkAzAgCBQtkdWNrQXNzZXRJZAUDbmlsAgJfXwEba2V5TGFzdEF0dGVtcHRCeVRvdXJBbmREdWNrAgN0SWQLZHVja0Fzc2V0SWQJALkJAgkAzAgCAiAlcyVkJXNfX2xhc3RBdHRlbXB0QnlUb3VyQW5kRHVjawkAzAgCCQCkAwEFA3RJZAkAzAgCBQtkdWNrQXNzZXRJZAUDbmlsAgJfXwEaa2V5QmVzdFJlc3VsdEJ5VG91ckFuZER1Y2sCA3RJZAtkdWNrQXNzZXRJZAkAuQkCCQDMCAICHyVzJWQlc19fYmVzdFJlc3VsdEJ5VG91ckFuZER1Y2sJAMwIAgkApAMBBQN0SWQJAMwIAgULZHVja0Fzc2V0SWQFA25pbAICX18BEmdldFJlY2lwZU1hdGVyaWFscwEGcmVjaXBlCQBoAgkBDXBhcnNlSW50VmFsdWUBCQCRAwIFBnJlY2lwZQUJcklkeENvZWZmBQlDT0VGRjJNQVQABWNoYWluCQDJAQIJAMoBAggFBHRoaXMFYnl0ZXMAAQABAAt1c2R0QXNzZXRJZAQHJG1hdGNoMAUFY2hhaW4DCQAAAgEBVwUHJG1hdGNoMAEghNp6sggDP07Ru8qO7ouTvMmC3Qtd+geWqNQj+agP/7kDCQAAAgEBVAUHJG1hdGNoMAEgVbHYn3KHgu/l41uNrAWrZd6aQ6EvFrsF8xq3h6XxxRgJAAIBAg1Vbmtub3duIGNoYWluABVkZWZhdWx0UmVzdEFkZHJlc3NTdHIEByRtYXRjaDAFBWNoYWluAwkAAAIBAVcFByRtYXRjaDACIzNQUUN1dkZidmg0TGtQVW5yblUxejNqbmJBMXA5bTNXTmh2AwkAAAIBAVQFByRtYXRjaDACIzNNdW1rR0d6dENLQVhwV0RxeGtkZG9mcVhTVWJxUWt2U0p5CQACAQINVW5rbm93biBjaGFpbgARSW5mcmFVcGdyYWRlQ29zdFMEByRtYXRjaDAFBWNoYWluAwkAAAIBAVcFByRtYXRjaDAAgMivoCUDCQAAAgEBVAUHJG1hdGNoMACAwtcvCQACAQINVW5rbm93biBjaGFpbgAMbGFuZENvb2xkb3duBAckbWF0Y2gwBQVjaGFpbgMJAAACAQFXBQckbWF0Y2gwAICupgoDCQAAAgEBVAUHJG1hdGNoMADAzyQJAAIBAg1Vbmtub3duIGNoYWluAANTRVACAl9fAAVNVUxUNgDAhD0ABU1VTFQ4AIDC1y8ABVNTSVpFABkABU1TSVpFAGQABUxTSVpFAOEBAAZYTFNJWkUAkAMAB1hYTFNJWkUA8QQBD2dldFN0cmluZ09yRmFpbAIHYWRkcmVzcwNrZXkJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCBQdhZGRyZXNzBQNrZXkJALkJAgkAzAgCAgptYW5kYXRvcnkgCQDMCAIJAKUIAQUHYWRkcmVzcwkAzAgCAgEuCQDMCAIFA2tleQkAzAgCAg8gaXMgbm90IGRlZmluZWQFA25pbAIAABFJZHhDZmdTdGFraW5nRGFwcAABABFJZHhDZmdFY29ub215RGFwcAACAA1JZHhDZmdXbGdEYXBwAAQAFElkeENmZ1B1enpsZVBvb2xEYXBwAAUAFElkeENmZ0ludmVzdEZ1bmREYXBwAAYAFElkeENmZ1RvdXJuYW1lbnREYXBwAAcBCmtleVJlc3RDZmcAAg4lc19fcmVzdENvbmZpZwEOa2V5UmVzdEFkZHJlc3MAAgwlc19fcmVzdEFkZHIBEXJlYWRSZXN0Q2ZnT3JGYWlsAQRyZXN0CQC8CQIJAQ9nZXRTdHJpbmdPckZhaWwCBQRyZXN0CQEKa2V5UmVzdENmZwAFA1NFUAEYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAgdyZXN0Q2ZnA2lkeAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCmCAEJAJEDAgUHcmVzdENmZwUDaWR4CQCsAgICKlJlc3QgY2ZnIGRvZXNuJ3QgY29udGFpbiBhZGRyZXNzIGF0IGluZGV4IAkApAMBBQNpZHgADHJlc3RDb250cmFjdAkBEUBleHRyTmF0aXZlKDEwNjIpAQkBC3ZhbHVlT3JFbHNlAgkAnQgCBQR0aGlzCQEOa2V5UmVzdEFkZHJlc3MABRVkZWZhdWx0UmVzdEFkZHJlc3NTdHIAB3Jlc3RDZmcJARFyZWFkUmVzdENmZ09yRmFpbAEFDHJlc3RDb250cmFjdAAPc3Rha2luZ0NvbnRyYWN0CQEYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAgUHcmVzdENmZwURSWR4Q2ZnU3Rha2luZ0RhcHAAD2Vjb25vbXlDb250cmFjdAkBGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIFB3Jlc3RDZmcFEUlkeENmZ0Vjb25vbXlEYXBwAAt3bGdDb250cmFjdAkBGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIFB3Jlc3RDZmcFDUlkeENmZ1dsZ0RhcHAAEnB1enpsZVBvb2xDb250cmFjdAkBGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIFB3Jlc3RDZmcFFElkeENmZ1B1enpsZVBvb2xEYXBwABJpbnZlc3RGdW5kQ29udHJhY3QJARhnZXRDb250cmFjdEFkZHJlc3NPckZhaWwCBQdyZXN0Q2ZnBRRJZHhDZmdJbnZlc3RGdW5kRGFwcAASdG91cm5hbWVudENvbnRyYWN0CQEYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAgUHcmVzdENmZwUUSWR4Q2ZnVG91cm5hbWVudERhcHAACnJlY0xhbmROdW0AAAALcmVjTGFuZFNpemUAAQALcmVjVGVycmFpbnMAAgAMcmVjQ29udGluZW50AAMADXdsZ0Fzc2V0SWRLZXkCC3dsZ19hc3NldElkAAp3bGdBc3NldElkCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJwIAgULd2xnQ29udHJhY3QFDXdsZ0Fzc2V0SWRLZXkCE05vdCBpbml0aWFsaXplZCB5ZXQACklkeEVmZlVzZXIAAQERa2V5UmVzUHJvcG9ydGlvbnMAAhNyZXNUeXBlc1Byb3BvcnRpb25zARVrZXlTdGFrZWRMYW5kc0J5T3duZXIBCW93bmVyQWRkcgkArAICAhNzdGFrZWRMYW5kc0J5T3duZXJfBQlvd25lckFkZHIBFmtleVN0YWtlZFBpZWNlc0J5T3duZXIBCW93bmVyQWRkcgkArAICAhRzdGFrZWRQaWVjZXNCeU93bmVyXwUJb3duZXJBZGRyAQhhc1N0cmluZwEBdgQHJG1hdGNoMAUBdgMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXMFByRtYXRjaDAFAXMJAAIBAhhmYWlsIHRvIGNhc3QgaW50byBTdHJpbmcBBWFzSW50AQF2BAckbWF0Y2gwBQF2AwkAAQIFByRtYXRjaDACA0ludAQBbgUHJG1hdGNoMAUBbgkAAgECFWZhaWwgdG8gY2FzdCBpbnRvIEludAEJYXNCb29sZWFuAQF2BAckbWF0Y2gwBQF2AwkAAQIFByRtYXRjaDACB0Jvb2xlYW4EAXMFByRtYXRjaDAFAXMJAAIBAhlmYWlsIHRvIGNhc3QgaW50byBCb29sZWFuAQ9udW1QaWVjZXNCeVNpemUBCGxhbmRTaXplBAckbWF0Y2gwBQhsYW5kU2l6ZQMJAAACAgFTBQckbWF0Y2gwBQVTU0laRQMJAAACAgFNBQckbWF0Y2gwBQVNU0laRQMJAAACAgFMBQckbWF0Y2gwBQVMU0laRQMJAAACAgJYTAUHJG1hdGNoMAUGWExTSVpFAwkAAAICA1hYTAUHJG1hdGNoMAUHWFhMU0laRQkAAgECEVVua25vd24gbGFuZCBzaXplAQ5nZXRWb3RpbmdQb3dlcgESdXNlckFkZHJTdHJPckVtcHR5BAVwcm9wcwkAtQkCCQELdmFsdWVPckVsc2UCCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBEWtleVJlc1Byb3BvcnRpb25zAAILMF8wXzBfMF8wXzACAV8KAQVhZGRlcgIDYWNjBGl0ZW0JAGQCBQNhY2MJAQ1wYXJzZUludFZhbHVlAQUEaXRlbQQKdG90YWxQb3dlcgoAAiRsBQVwcm9wcwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAAAAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEFYWRkZXICBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECE0xpc3Qgc2l6ZSBleGNlZWRzIDYJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYECnVzZXJzUG93ZXIJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQEWa2V5U3Rha2VkUGllY2VzQnlPd25lcgEFEnVzZXJBZGRyU3RyT3JFbXB0eQAACQDMCAIFCnRvdGFsUG93ZXIJAMwIAgUKdXNlcnNQb3dlcgUDbmlsAA1VU0RUUFJJWkVQQVJUAKDCHgAKYWRtaW5zTGlzdAkAzAgCCQClCAEFBHRoaXMJAMwIAgQHJG1hdGNoMAUFY2hhaW4DCQAAAgEBVwUHJG1hdGNoMAIjM1A2NHFFVnp1R3pCSnVZZkRYWWlzRnRva0pDaFNSYTh1amEDCQAAAgEBVAUHJG1hdGNoMAIjM04zZ1NGclR3Z2lMQUZaSE11SnJFdHRodDFuUGhua3B2anMJAAIBAg1Vbmtub3duIGNoYWluBQNuaWwBEmFzTGlzdEludENvbXBhY3RlZAEDdmFsBAckbWF0Y2gwBQN2YWwDCQABAgUHJG1hdGNoMAIJTGlzdFtBbnldBAp2YWxBbnlMaXN0BQckbWF0Y2gwAwkBAiE9AgkAkAMBBQp2YWxBbnlMaXN0BQZOVU1SRVMJAAIBCQCsAgICDkFycmF5IHNpemUgaXMgCQCkAwEJAJADAQUKdmFsQW55TGlzdAoBBGNvbnYCA2FjYwRpdGVtBAckbWF0Y2gxBQRpdGVtAwkAAQIFByRtYXRjaDECA0ludAQCaXQFByRtYXRjaDEJAM0IAgUDYWNjCQCkAwEFAml0CQACAQIUTGlzdCB0eXBlIGlzIG5vdCBJbnQEAXIKAAIkbAUKdmFsQW55TGlzdAoAAiRzCQCQAwEFAiRsCgAFJGFjYzAFA25pbAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEEY29udgIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQITTGlzdCBzaXplIGV4Y2VlZHMgNgkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgkAuQkCBQFyAgFfCQACAQIWZmFpbCB0byBjYXN0IGludG8gTGlzdAENYXNTcGxpdFJlc3VsdAEDdmFsBAckbWF0Y2gwBQN2YWwDCQABAgUHJG1hdGNoMAIWKExpc3RbQW55XSwgTGlzdFtBbnldKQQCdDIFByRtYXRjaDAJAJQKAgkBEmFzTGlzdEludENvbXBhY3RlZAEIBQJ0MgJfMQkBEmFzTGlzdEludENvbXBhY3RlZAEIBQJ0MgJfMgkAAgECHmZhaWwgdG8gY2FzdCBpbnRvIChMaXN0LCBMaXN0KQEOd2FsbGV0SW50ZXJuYWwBDnVzZXJBZGRyZXNzT3B0BARhZGRyCQCmCAEFDnVzZXJBZGRyZXNzT3B0BAdiYWxhbmNlAwkBCWlzRGVmaW5lZAEFBGFkZHIJAO8HAQkBBXZhbHVlAQUEYWRkcgkBDkJhbGFuY2VEZXRhaWxzBAAAAAAAAAAABAt1c2R0QmFsYW5jZQMJAQlpc0RlZmluZWQBBQRhZGRyCQDwBwIJAQV2YWx1ZQEFBGFkZHIFC3VzZHRBc3NldElkAAAEDXdsZ29sZEJhbGFuY2UDCQEJaXNEZWZpbmVkAQUEYWRkcgkA8AcCCQEFdmFsdWUBBQRhZGRyBQp3bGdBc3NldElkAAAECmN1c3RvbU5hbWUJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEWa2V5QWRkcmVzc1RvQ3VzdG9tTmFtZQEFDnVzZXJBZGRyZXNzT3B0BQ51c2VyQWRkcmVzc09wdAQIcmVmQnlLZXkJAQ9rZXlBZGRyZXNzUmVmQnkBBQ51c2VyQWRkcmVzc09wdAQFcmVmQnkJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0BQhyZWZCeUtleQQEcmVmcwkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ9zdGFraW5nQ29udHJhY3QJARNrZXlBZGRyZXNzUmVmZXJyYWxzAQUOdXNlckFkZHJlc3NPcHQCAAQIbGFzdFR4SWQJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQERa2V5TGFzdFR4SWRCeVVzZXIBBQ51c2VyQWRkcmVzc09wdAIABAZwaWVjZXMJAJEDAgkBDmdldFZvdGluZ1Bvd2VyAQUOdXNlckFkZHJlc3NPcHQFCklkeEVmZlVzZXIEAnhwCQELdmFsdWVPckVsc2UCCQCaCAIFD3N0YWtpbmdDb250cmFjdAkBCWtleVVzZXJYUAEFDnVzZXJBZGRyZXNzT3B0AAAEA2x2bAkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJAQxrZXlVc2VyTGV2ZWwBBQ51c2VyQWRkcmVzc09wdAAABApmcmVlUG9pbnRzCQELdmFsdWVPckVsc2UCCQCaCAIFD3N0YWtpbmdDb250cmFjdAkBEWtleVVzZXJGcmVlUG9pbnRzAQUOdXNlckFkZHJlc3NPcHQAAAQHb25ib2FyZAMJAQlpc0RlZmluZWQBBQVyZWZCeQkArAICBQpBUlRPTkJPQVJEAwMJAQlpc0RlZmluZWQBBQRhZGRyCQEJaXNEZWZpbmVkAQkAnQgCBQ9zdGFraW5nQ29udHJhY3QJARxrZXlPbmJvYXJkQXJ0RHVja0FjdGl2YXRlZEJ5AQUOdXNlckFkZHJlc3NPcHQHAgI6MQICOjACAAkAzAgCCQCsAgICEiVzJXNfX2N1c3RvbU5hbWVfXwUKY3VzdG9tTmFtZQkAzAgCCQCsAgICEiVzJXNfX3JlZmVycmVkQnlfXwkBC3ZhbHVlT3JFbHNlAgUFcmVmQnkCAAkAzAgCCQCsAgICESVzJXNfX3JlZmVycmFsc19fBQRyZWZzCQDMCAIJAKwCAgIQJXMlc19fbGFzdFR4SWRfXwUIbGFzdFR4SWQJAMwIAgkArAICAhQlcyVkX193YXZlc0JhbGFuY2VfXwkApAMBCAUHYmFsYW5jZQlhdmFpbGFibGUJAMwIAgkArAICAhUlcyVkX193bGdvbGRCYWxhbmNlX18JAKQDAQUNd2xnb2xkQmFsYW5jZQkAzAgCCQCsAgICEyVzJWRfX3VzZHRCYWxhbmNlX18JAKQDAQULdXNkdEJhbGFuY2UJAMwIAgkArAICAhQlcyVkX19zdGFrZWRQaWVjZXNfXwkApAMBBQZwaWVjZXMJAMwIAgkArAICAhElcyVkX19jdXJyZW50WHBfXwkApAMBBQJ4cAkAzAgCCQCsAgICEiVzJWRfX2N1cnJlbnRMdmxfXwkApAMBBQNsdmwJAMwIAgkArAICAholcyVkX19wb2ludHNUb0Rpc3RyaWJ1dGVfXwkApAMBBQpmcmVlUG9pbnRzCQDMCAIJAKwCAgIXJXMlc19fd2FsbGV0QXJ0ZWZhY3RzX18FB29uYm9hcmQFA25pbAEMYXBwbHlCb251c2VzAgtsYW5kQXNzZXRJZAZwaWVjZXMECmluZnJhTGV2ZWwJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQEWa2V5SW5mcmFMZXZlbEJ5QXNzZXRJZAEFC2xhbmRBc3NldElkAAAECWFydFBpZWNlcwkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJASBrZXlMYW5kQXJ0U3RhdHVzQnlUeXBlQW5kQXNzZXRJZAIFCkFSVFBSRVNBTEUFC2xhbmRBc3NldElkAAAEBGFkZDYJAGkCBQppbmZyYUxldmVsAAYEBGFkZDcJAGkCBQppbmZyYUxldmVsAAcJAJUKAwUKaW5mcmFMZXZlbAUJYXJ0UGllY2VzCQBkAgkAZAIFD0RBSUxZUkVTQllQSUVDRQkAawMFD0RBSUxZUkVTQllQSUVDRQkAZAIJAGQCBQppbmZyYUxldmVsBQRhZGQ2CQBoAgACBQRhZGQ3AAUJAGsDBQ9EQUlMWVJFU0JZUElFQ0UFCWFydFBpZWNlcwkAaAIFBnBpZWNlcwAFARdnZXRXYXJlaG91c2VUb3RhbFZvbHVtZQEJdm9sUHJlZml4BAVwYXJ0cwkAtQkCBQl2b2xQcmVmaXgCAV8JAGgCCQBoAgUMV0hNVUxUSVBMSUVSCQBkAgkBDXBhcnNlSW50VmFsdWUBCQCRAwIFBXBhcnRzAAEAAQkBDXBhcnNlSW50VmFsdWUBCQCRAwIFBXBhcnRzAAABDGdldFdhcmVob3VzZQMFd2hLZXkJbGFuZEluZGV4CmluZnJhTGV2ZWwECXZvbFByZWZpeAkArAICCQCsAgIJAKQDAQUJbGFuZEluZGV4AgFfCQCkAwEFCmluZnJhTGV2ZWwEBHRvdFMJAKQDAQkBF2dldFdhcmVob3VzZVRvdGFsVm9sdW1lAQUJdm9sUHJlZml4BAV3aFN0cgkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ9zdGFraW5nQ29udHJhY3QFBXdoS2V5CQCsAgIJAKwCAgkArAICCQCsAgIFCXZvbFByZWZpeAIeOjBfMF8wXzBfMF8wOjBfMF8wXzBfMF8wOjowXzBfBQR0b3RTAgFfBQR0b3RTCQC1CQIFBXdoU3RyAgE6AQ1kdWNrSW5mb1R1cGxlAQtkdWNrQXNzZXRJZAQFbWF4SFAJAQltYXhIZWFsdGgBCQELdmFsdWVPckVsc2UCCQCaCAIFD3N0YWtpbmdDb250cmFjdAkBDGtleUR1Y2tMZXZlbAEFC2R1Y2tBc3NldElkAAAJAJcKBQkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJARZrZXlTdGFrZWRUaW1lQnlBc3NldElkAQULZHVja0Fzc2V0SWQA////////////AQgJAQV2YWx1ZQEJAOwHAQkA2QQBBQtkdWNrQXNzZXRJZARuYW1lCQELdmFsdWVPckVsc2UCCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBD2tleUR1Y2tMb2NhdGlvbgEFC2R1Y2tBc3NldElkAgAJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQENa2V5RHVja0hlYWx0aAEFC2R1Y2tBc3NldElkBQVtYXhIUAkBCGFzU3RyaW5nAQkA/AcEBQ9zdGFraW5nQ29udHJhY3QCE2dldEJhY2twYWNrUkVBRE9OTFkJAMwIAgULZHVja0Fzc2V0SWQFA25pbAUDbmlsAQ1kdWNrSW5mb0FycmF5AwtkdWNrQXNzZXRJZAVvd25lcgdkdWNrSW5mBApjdXN0b21OYW1lCQELdmFsdWVPckVsc2UCCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBGmtleUR1Y2tBc3NldElkVG9DdXN0b21OYW1lAQULZHVja0Fzc2V0SWQIBQdkdWNrSW5mAl8yBAVjaGFycwkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ9zdGFraW5nQ29udHJhY3QJAQxrZXlEdWNrQ2hhcnMBBQtkdWNrQXNzZXRJZAIJMF8wXzBfMF8wBAJ4cAkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJAQlrZXlEdWNrWFABBQtkdWNrQXNzZXRJZAAABANsdmwJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQEMa2V5RHVja0xldmVsAQULZHVja0Fzc2V0SWQAAAQKZnJlZVBvaW50cwkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJARFrZXlEdWNrRnJlZVBvaW50cwEFC2R1Y2tBc3NldElkAAAEBmVxdWlwbQkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ9zdGFraW5nQ29udHJhY3QJARBrZXlEdWNrRXF1aXBtZW50AQULZHVja0Fzc2V0SWQCCztfO187XztfO187BAVidWZmcwkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ9zdGFraW5nQ29udHJhY3QJAQxrZXlEdWNrQnVmZnMBBQtkdWNrQXNzZXRJZAIJMF8wXzBfMF8wBAtsYXN0Um9iQ29zdAkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJARhrZXlMYXN0Um9iYmVyeUNvc3RCeUR1Y2sBBQtkdWNrQXNzZXRJZAAABAtsYXN0Um9iVGltZQkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJARhrZXlMYXN0Um9iYmVyeVRpbWVCeUR1Y2sBBQtkdWNrQXNzZXRJZAAABANub3cIBQlsYXN0QmxvY2sJdGltZXN0YW1wBAdyb2JDb3N0CQCWAwEJAMwIAgUOcm9iYmVyeUNvc3RNaW4JAMwIAgkAZQIFC2xhc3RSb2JDb3N0CQBoAgUUcm9iYmVyeUNvb2xkb3duQ29lZmYJAGUCBQNub3cFC2xhc3RSb2JUaW1lBQNuaWwJAMwIAgkArAICAg8lcyVzX19hc3NldElkX18FC2R1Y2tBc3NldElkCQDMCAIJAKwCAgINJXMlc19fb3duZXJfXwUFb3duZXIJAMwIAgkArAICAhIlcyVzX19jdXN0b21OYW1lX18FCmN1c3RvbU5hbWUJAMwIAgkArAICAhIlcyVkX19zdGFrZWRUaW1lX18JAKQDAQgFB2R1Y2tJbmYCXzEJAMwIAgkArAICAgwlcyVzX19uYW1lX18IBQdkdWNrSW5mAl8yCQDMCAIJAKwCAgIQJXMlc19fbG9jYXRpb25fXwgFB2R1Y2tJbmYCXzMJAMwIAgkArAICAg4lcyVkX19oZWFsdGhfXwkApAMBCAUHZHVja0luZgJfNAkAzAgCCQCsAgICESVzJWRfX21heEhlYWx0aF9fCQCkAwEJAQltYXhIZWFsdGgBBQNsdmwJAMwIAgkArAICAhclcyVzX19jaGFyYWN0ZXJpc3RpY3NfXwUFY2hhcnMJAMwIAgkArAICAhElcyVkX19jdXJyZW50WHBfXwkApAMBBQJ4cAkAzAgCCQCsAgICEiVzJWRfX2N1cnJlbnRMdmxfXwkApAMBBQNsdmwJAMwIAgkArAICAholcyVkX19wb2ludHNUb0Rpc3RyaWJ1dGVfXwkApAMBBQpmcmVlUG9pbnRzCQDMCAIJAKwCAgIQJXMlc19fYmFja1BhY2tfXwgFB2R1Y2tJbmYCXzUJAMwIAgkArAICAhElcyVzX19lcXVpcG1lbnRfXwUGZXF1aXBtCQDMCAIJAKwCAgINJXMlc19fYnVmZnNfXwUFYnVmZnMJAMwIAgkArAICAhMlcyVkX19yb2JiZXJ5Q29zdF9fCQCkAwEFB3JvYkNvc3QJAMwIAgkArAICAhMlcyVkX19yb2JiZXJ5VGltZV9fCQCkAwEFC2xhc3RSb2JUaW1lBQNuaWwBDWxhbmRJbmZvQXJyYXkDC2xhbmRBc3NldElkBW93bmVyCnN0YWtlZFRpbWUDCQAAAgULbGFuZEFzc2V0SWQCAAkAAgECF2xhbmRBc3NldElkIGlzIHJlcXVpcmVkBAFhCQEFdmFsdWUBCQDsBwEJANkEAQULbGFuZEFzc2V0SWQEAWQJALUJAggFAWELZGVzY3JpcHRpb24CAV8EB2xhbmROdW0DCQBmAggFAWEIcXVhbnRpdHkAAAkAkQMCBQFkBQpyZWNMYW5kTnVtCQCsAgICAS0JAJEDAgUBZAUKcmVjTGFuZE51bQQGcGllY2VzCQEPbnVtUGllY2VzQnlTaXplAQkAkQMCBQFkBQtyZWNMYW5kU2l6ZQQMcHJvZHVjdGl2aXR5CQEMYXBwbHlCb251c2VzAgULbGFuZEFzc2V0SWQFBnBpZWNlcwQJZGVsdGFUaW1lCQBlAggFCWxhc3RCbG9jawl0aW1lc3RhbXAFCnN0YWtlZFRpbWUECGF2YWlsUmVzAwkAZgIFCnN0YWtlZFRpbWUAAAkAawMFCWRlbHRhVGltZQkAaAIIBQxwcm9kdWN0aXZpdHkCXzMFBnBpZWNlcwUJREFZTUlMTElTAAAEB25lZWRNYXQJAGsDBRFJbmZyYVVwZ3JhZGVDb3N0UwkAaAIFBnBpZWNlcwkAZAIIBQxwcm9kdWN0aXZpdHkCXzEAAQUFU1NJWkUEDmdsb2JhbEFuZExvY2FsAwkAZgIFCnN0YWtlZFRpbWUAAAkBDWFzU3BsaXRSZXN1bHQBCQD8BwQFD3N0YWtpbmdDb250cmFjdAIkc3BsaXRCeUdsb2JhbEFuZExvY2FsV2VpZ2h0c1JFQURPTkxZCQDMCAIFB25lZWRNYXQJAMwIAgUIYXZhaWxSZXMJAMwIAgkAkQMCBQFkBQtyZWNUZXJyYWlucwUDbmlsBQNuaWwJAJQKAgkBEmFzTGlzdEludENvbXBhY3RlZAEJAPwHBAUPc3Rha2luZ0NvbnRyYWN0AhxzcGxpdEJ5R2xvYmFsV2VpZ2h0c1JFQURPTkxZCQDMCAIFB25lZWRNYXQFA25pbAUDbmlsAgAECmN1c3RvbU5hbWUJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEaa2V5TGFuZEFzc2V0SWRUb0N1c3RvbU5hbWUBBQtsYW5kQXNzZXRJZAkArAICCQCsAgIJAJEDAgUBZAUMcmVjQ29udGluZW50AgEtCQCRAwIFAWQFCnJlY0xhbmROdW0EBGZvcnQJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEXa2V5Rm9ydGlmaWNhdGlvbnNCeUxhbmQBBQtsYW5kQXNzZXRJZAIMOjBfMTU6MF8xODowBApsYXN0Um9iYmVkCQELdmFsdWVPckVsc2UCCQCaCAIFD3N0YWtpbmdDb250cmFjdAkBEWtleUxhc3RSb2JiZWRUaW1lAQULbGFuZEFzc2V0SWQAAAkAzAgCCQCsAgICDyVzJXNfX2Fzc2V0SWRfXwULbGFuZEFzc2V0SWQJAMwIAgkArAICAg0lcyVzX19vd25lcl9fBQVvd25lcgkAzAgCCQCsAgICEiVzJXNfX2N1c3RvbU5hbWVfXwUKY3VzdG9tTmFtZQkAzAgCCQCsAgICEiVzJWRfX3N0YWtlZFRpbWVfXwkApAMBBQpzdGFrZWRUaW1lCQDMCAIJAKwCAgITJXMlc19fZGVzY3JpcHRpb25fXwkAuQkCCQDMCAIFB2xhbmROdW0JAMwIAgkAkQMCBQFkBQtyZWNMYW5kU2l6ZQkAzAgCCQCRAwIFAWQFC3JlY1RlcnJhaW5zCQDMCAIJAJEDAgUBZAUMcmVjQ29udGluZW50BQNuaWwCAV8JAMwIAgkArAICAhIlcyVkX19pbmZyYUxldmVsX18JAKQDAQgFDHByb2R1Y3Rpdml0eQJfMQkAzAgCCQCsAgICFiVzJXNfX2F2YWlsUmVzQnlUeXBlX18IBQ5nbG9iYWxBbmRMb2NhbAJfMgkAzAgCCQCsAgICFSVzJWRfX2F2YWlsUmVzVG90YWxfXwkApAMBBQhhdmFpbFJlcwkAzAgCCQCsAgICFCVzJXNfX25lZWRNYXRlcmlhbF9fCAUOZ2xvYmFsQW5kTG9jYWwCXzEJAMwIAgkArAICAh0lcyVzX19sYW5kQXJ0ZWZhY3RzX19QUkVTQUxFOgkApAMBCAUMcHJvZHVjdGl2aXR5Al8yCQDMCAIJAKwCAgIRJXMlc19fd2FyZWhvdXNlX18JALkJAgkBDGdldFdhcmVob3VzZQMJARJrZXlXYXJlaG91c2VCeUxhbmQBBQtsYW5kQXNzZXRJZAkAaQIFBnBpZWNlcwUFU1NJWkUIBQxwcm9kdWN0aXZpdHkCXzECAToJAMwIAgkArAICAhElcyVzX19sYW5kT3JkZXJfXwkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ9lY29ub215Q29udHJhY3QJAQ5rZXlPcmRlckJ5TGFuZAEFC2xhbmRBc3NldElkAjAwQDBfMEAwXzBAMF8wQDBfMEAwXzBAMDowQDBfMEAwXzBAMF8wQDBfMEAwXzBAMDoJAMwIAgkArAICAhYlcyVzX19mb3J0aWZpY2F0aW9uc19fBQRmb3J0CQDMCAIJAKwCAgIYJXMlZF9fY2FuQmVSb2JiZWRBZnRlcl9fCQCkAwEJAGQCBQpsYXN0Um9iYmVkBQxsYW5kQ29vbGRvd24FA25pbAESbGFuZE9yZGVySW5mb0FycmF5AgtsYW5kQXNzZXRJZAVvd25lcgMJAAACBQtsYW5kQXNzZXRJZAIACQACAQIXbGFuZEFzc2V0SWQgaXMgcmVxdWlyZWQEAWEJAQV2YWx1ZQEJAOwHAQkA2QQBBQtsYW5kQXNzZXRJZAQBZAkAtQkCCAUBYQtkZXNjcmlwdGlvbgIBXwQGcGllY2VzCQEPbnVtUGllY2VzQnlTaXplAQkAkQMCBQFkBQtyZWNMYW5kU2l6ZQQMcHJvZHVjdGl2aXR5CQEMYXBwbHlCb251c2VzAgULbGFuZEFzc2V0SWQFBnBpZWNlcwkAzAgCCQCsAgICDyVzJXNfX2Fzc2V0SWRfXwULbGFuZEFzc2V0SWQJAMwIAgkArAICAg0lcyVzX19vd25lcl9fBQVvd25lcgkAzAgCCQCsAgICESVzJXNfX3dhcmVob3VzZV9fCQC5CQIJAQxnZXRXYXJlaG91c2UDCQESa2V5V2FyZWhvdXNlQnlMYW5kAQULbGFuZEFzc2V0SWQJAGkCBQZwaWVjZXMFBVNTSVpFCAUMcHJvZHVjdGl2aXR5Al8xAgE6CQDMCAIJAKwCAgIRJXMlc19fbGFuZE9yZGVyX18JAQt2YWx1ZU9yRWxzZQIJAJ0IAgUPZWNvbm9teUNvbnRyYWN0CQEOa2V5T3JkZXJCeUxhbmQBBQtsYW5kQXNzZXRJZAIwMEAwXzBAMF8wQDBfMEAwXzBAMF8wQDA6MEAwXzBAMF8wQDBfMEAwXzBAMF8wQDA6BQNuaWwTAWkBDWNvbnN0cnVjdG9yVjEBCWNvbnRyYWN0cwMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECEnBlcm1pc3Npb25zIGRlbmllZAoBCmRlc2NyaXB0b3ICA2FjYwtpZ25vcmVkSXRlbQkArAICBQNhY2MCAiVzBAVkZXNjcgoAAiRsBQljb250cmFjdHMKAAIkcwkAkAMBBQIkbAoABSRhY2MwAgAKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBCmRlc2NyaXB0b3ICBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECFExpc3Qgc2l6ZSBleGNlZWRzIDEwCQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAAJAAoJAMwIAgkBC1N0cmluZ0VudHJ5AgkBCmtleVJlc3RDZmcACQC5CQIJAMwIAgUFZGVzY3IFCWNvbnRyYWN0cwUDU0VQCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQ5rZXlSZXN0QWRkcmVzcwAJAKUIAQUEdGhpcwUDbmlsAWkBEndhbGxldEluZm9SRUFET05MWQEOdXNlckFkZHJlc3NPcHQJAJQKAgUDbmlsCQEOd2FsbGV0SW50ZXJuYWwBBQ51c2VyQWRkcmVzc09wdAFpARdkdWNrQnlPd25lckluZm9SRUFET05MWQELdXNlckFkZHJlc3MECnN0YWtlZER1Y2sJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEUa2V5U3Rha2VkRHVja0J5T3duZXIBBQt1c2VyQWRkcmVzcwkAlAoCBQNuaWwDAwkBCWlzRGVmaW5lZAEJAKYIAQULdXNlckFkZHJlc3MJAQlpc0RlZmluZWQBBQpzdGFrZWREdWNrBwQLZHVja0Fzc2V0SWQJAQV2YWx1ZQEFCnN0YWtlZER1Y2sJAQ1kdWNrSW5mb0FycmF5AwULZHVja0Fzc2V0SWQFC3VzZXJBZGRyZXNzCQENZHVja0luZm9UdXBsZQEFC2R1Y2tBc3NldElkCQENZHVja0luZm9BcnJheQMCAAULdXNlckFkZHJlc3MJAJcKBQD///////////8BAgACAAD///////////8BAgABaQEZZHVja0J5QXNzZXRJZEluZm9SRUFET05MWQELZHVja0Fzc2V0SWQEBW93bmVyCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBEGtleUR1Y2tJZFRvT3duZXIBBQtkdWNrQXNzZXRJZAkAlAoCBQNuaWwJAQ1kdWNrSW5mb0FycmF5AwULZHVja0Fzc2V0SWQDCQEJaXNEZWZpbmVkAQUFb3duZXIJAQV2YWx1ZQEFBW93bmVyAgAJAQ1kdWNrSW5mb1R1cGxlAQULZHVja0Fzc2V0SWQBaQEZbGFuZEJ5QXNzZXRJZEluZm9SRUFET05MWQELbGFuZEFzc2V0SWQDCQAAAgULbGFuZEFzc2V0SWQCAAkAAgECF2xhbmRBc3NldElkIGlzIHJlcXVpcmVkBApzdGFrZWRUaW1lCQELdmFsdWVPckVsc2UCCQCaCAIFD3N0YWtpbmdDb250cmFjdAkBFmtleVN0YWtlZFRpbWVCeUFzc2V0SWQBBQtsYW5kQXNzZXRJZAD///////////8BBAVvd25lcgMJAGYCBQpzdGFrZWRUaW1lAAAJAQV2YWx1ZQEJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEVa2V5TGFuZEFzc2V0SWRUb093bmVyAQULbGFuZEFzc2V0SWQCAAkAlAoCBQNuaWwJAQ1sYW5kSW5mb0FycmF5AwULbGFuZEFzc2V0SWQFBW93bmVyBQpzdGFrZWRUaW1lAWkBHnN0YWtlZExhbmRzQnlPd25lckluZm9SRUFET05MWQEQbGFuZE93bmVyQWRkcmVzcwMJAAACBRBsYW5kT3duZXJBZGRyZXNzAgAJAAIBAhxsYW5kT3duZXJBZGRyZXNzIGlzIHJlcXVpcmVkBAhsYW5kc1N0cgkAnQgCBQ9zdGFraW5nQ29udHJhY3QJARVrZXlTdGFrZWRMYW5kc0J5T3duZXIBBRBsYW5kT3duZXJBZGRyZXNzBAVsYW5kcwMJAQlpc0RlZmluZWQBBQhsYW5kc1N0cgkAvQkCCQEFdmFsdWUBBQhsYW5kc1N0cgIBXwUDbmlsCgEHb25lTGFuZAIDYWNjC2xhbmRBc3NldElkAwkAAAIFC2xhbmRBc3NldElkAgAJAAIBAhdsYW5kQXNzZXRJZCBpcyByZXF1aXJlZAQKc3Rh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BQt1c2VyQWRkcmVzcwUDYW10BQt1c2R0QXNzZXRJZAUDbmlsBQNhbXQBaQEfZ2V0RW1lcmdlbmN5U2VydmljZURhdGFSRUFET05MWQAECGV4aXN0U3RyCQCdCAIFD2Vjb25vbXlDb250cmFjdAkBDmtleUVzV2FyZWhvdXNlAAQMZXhpc3RBbW91bnRzAwkBCWlzRGVmaW5lZAEFCGV4aXN0U3RyCQC8CQIJAQV2YWx1ZQEFCGV4aXN0U3RyAgFfBQNuaWwKAQpzaW5nbGVQcm9kAgNhY2MJcmVjaXBlU3RyBAFuCAUDYWNjAl8yBAZyZWNpcGUJALUJAgUJcmVjaXBlU3RyAgFfBAltYXhBbW91bnQDCQAAAgUBbgAACQBoAgUNRVNNQVhQQUNLQUdFUwUOUFJPRFVDVFBLR1NJWkUAAAQLZXhpc3RBbW91bnQDCQBmAgkAkAMBBQxleGlzdEFtb3VudHMFAW4JAQ1wYXJzZUludFZhbHVlAQkAkQMCBQxleGlzdEFtb3VudHMFAW4AAAQIdG90YWxNYXQJARJnZXRSZWNpcGVNYXRlcmlhbHMBBQZyZWNpcGUECGJ1eVByaWNlCQBrAwkAaAIFCHRvdGFsTWF0BQlFU0JVWUNPRUYFEFJFU09VUkNFUFJJQ0VNSU4JAGgCBQVNVUxUOAUOUFJPRFVDVFBLR1NJWkUECXNlbGxQcmljZQkAawMJAGgCBQh0b3RhbE1hdAUKRVNTRUxMQ09FRgUQUkVTT1VSQ0VQUklDRU1JTgkAaAIFBU1VTFQ4BQ5QUk9EVUNUUEtHU0laRQQBeQkAuQkCCQDMCAIJAKQDAQUJbWF4QW1vdW50CQDMCAIJAKQDAQULZXhpc3RBbW91bnQJAMwIAgkApAMBBQhidXlQcmljZQkAzAgCCQCkAwEFCXNlbGxQcmljZQUDbmlsAgFfCQCUCgIJAM0IAggFA2FjYwJfMQUBeQkAZAIFAW4AAQQBcwkAugkCCAoAAiRsBRBwcm9kdWN0aW9uTWF0cml4CgACJHMJAJADAQUCJGwKAAUkYWNjMAkAlAoCBQNuaWwAAAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEKc2luZ2xlUHJvZAIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIUTGlzdCBzaXplIGV4Y2VlZHMgNTAJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AHwAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyAl8xAgE6BAZyZXN1bHQJAKwCAgIcJXMlc19fZW1lcmdlbmN5U2VydmljZURhdGFfXwUBcwkAlAoCBQNuaWwFBnJlc3VsdAFpARB3bGdTdGF0c1JFQURPTkxZAQt1c2VyQWRkck9wdAQIY3VyU3RhdHMJAQtnZXRXbGdTdGF0cwUFC3VzZXJBZGRyT3B0CQDMCAIFDHJlc3RDb250cmFjdAkAzAgCBQ9zdGFraW5nQ29udHJhY3QJAMwIAgUPZWNvbm9teUNvbnRyYWN0CQDMCAIFC3dsZ0NvbnRyYWN0CQDMCAIFEnB1enpsZVBvb2xDb250cmFjdAkAzAgCBRJpbnZlc3RGdW5kQ29udHJhY3QFA25pbAULdXNkdEFzc2V0SWQAAAUFTVVMVDYJAJQKAgUDbmlsCQDMCAIJAKwCAgIRJXMlZF9fd2xnQW1vdW50X18JAKQDAQkAkQMCBQhjdXJTdGF0cwUMaWR4V2xnQW1vdW50CQDMCAIJAKwCAgIQJXMlZF9fd2xnUHJpY2VfXwkApAMBCQCRAwIFCGN1clN0YXRzBQtpZHhXbGdQcmljZQkAzAgCCQCsAgICESVzJWRfX3VzZHRGdW5kc19fCQCkAwEJAJEDAgUIY3VyU3RhdHMFC2lkeFdsZ0Z1bmRzCQDMCAIJAKwCAgITJXMlZF9fdXNkdEVjb25vbXlfXwkApAMBCQCRAwIFCGN1clN0YXRzBQ1pZHhXbGdFY29ub215CQDMCAIJAKwCAgIUJXMlZF9fdXNkdEFjdGl2aXR5X18JAKQDAQkAkQMCBQhjdXJTdGF0cwUOaWR4V2xnQWN0aXZpdHkJAMwIAgkArAICAhUlcyVkX191c2R0QXJiaXRyYWdlX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUPaWR4V2xnQXJiaXRyYWdlCQDMCAIJAKwCAgIQJXMlZF9fdXNkdFBvb2xfXwkApAMBCQCRAwIFCGN1clN0YXRzBQppZHhXbGdQb29sCQDMCAIJAKwCAgIUJXMlZF9fd2xnSXNzdWVUaW1lX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUPaWR4V2xnSXNzdWVUaW1lCQDMCAIJAKwCAgIjJXMlZF9fd2xnTGFzdE1hcmtldGluZ1RlYW1BY3RUaW1lX18JAKQDAQkAkQMCBQhjdXJTdGF0cwURaWR4V2xnTGFzdE1UQVRpbWUJAMwIAgkArAICAhklcyVkX193bGdNYXJrZXRpbmdUb3RhbF9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFFGlkeFdsZ01hcmtldGluZ1RvdGFsCQDMCAIJAKwCAgIaJXMlZF9fd2xnTWFya2V0aW5nQW1MZWZ0X18JAKQDAQkAkQMCBQhjdXJTdGF0cwUVaWR4V2xnTWFya2V0aW5nQW1MZWZ0CQDMCAIJAKwCAgIeJXMlZF9fd2xnTWFya2V0aW5nQW1BdmFpbE5vd19fCQCkAwEJAJEDAgUIY3VyU3RhdHMFGWlkeFdsZ01hcmtldGluZ0FtQXZhaWxOb3cJAMwIAgkArAICAholcyVkX193bGdNYXJrZXRpbmdXbGdvbGRfXwkApAMBCQCRAwIFCGN1clN0YXRzBRVpZHhXbGdNYXJrZXRpbmdXbGdvbGQJAMwIAgkArAICAhQlcyVkX193bGdUZWFtVG90YWxfXwkApAMBCQCRAwIFCGN1clN0YXRzBQ9pZHhXbGdUZWFtVG90YWwJAMwIAgkArAICAhUlcyVkX193bGdUZWFtQW1MZWZ0X18JAKQDAQkAkQMCBQhjdXJTdGF0cwUQaWR4V2xnVGVhbUFtTGVmdAkAzAgCCQCsAgICGSVzJWRfX3dsZ1RlYW1BbUF2YWlsTm93X18JAKQDAQkAkQMCBQhjdXJTdGF0cwUUaWR4V2xnVGVhbUFtQXZhaWxOb3cJAMwIAgkArAICAhUlcyVkX193bGdUZWFtV2xnb2xkX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUQaWR4V2xnVGVhbVdsZ29sZAkAzAgCCQCsAgICEyVzJWRfX3dsZ0FjdFRvdGFsX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUOaWR4V2xnQWN0VG90YWwJAMwIAgkArAICAhQlcyVkX193bGdBY3RBbUxlZnRfXwkApAMBCQCRAwIFCGN1clN0YXRzBQ9pZHhXbGdBY3RBbUxlZnQJAMwIAgkArAICAhglcyVkX193bGdBY3RBbUF2YWlsTm93X18JAKQDAQkAkQMCBQhjdXJTdGF0cwUTaWR4V2xnQWN0QW1BdmFpbE5vdwkAzAgCCQCsAgICFCVzJWRfX3dsZ0FjdFdsZ29sZF9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFD2lkeFdsZ0FjdFdsZ29sZAkAzAgCCQCsAgICFCVzJWRfX3dsZ0N1clBlcmlvZF9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFD2lkeFdsZ0N1clBlcmlvZAkAzAgCCQCsAgICFiVzJWRfX3dsZ0FtTGVmdFRvdGFsX18JAKQDAQkAkQMCBQhjdXJTdGF0cwURaWR4V2xnQW1MZWZ0VG90YWwJAMwIAgkArAICAiAlcyVkX193bGdDdXJQZXJpb2REaXN0cmlidXRpb25fXwkApAMBCQCRAwIFCGN1clN0YXRzBRtpZHhXbGdDdXJQZXJpb2REaXN0cmlidXRpb24JAMwIAgkArAICAhclcyVkX193bGdMYXN0VXNlclRpbWVfXwkApAMBCQCRAwIFCGN1clN0YXRzBRJpZHhXbGdMYXN0VXNlclRpbWUJAMwIAgkArAICAhklcyVkX193bGdVc2VyQW1BdmFpbE5vd19fCQCkAwEJAJEDAgUIY3VyU3RhdHMFFGlkeFdsZ1VzZXJBbUF2YWlsTm93CQDMCAIJAKwCAgIaJXMlZF9fd2xnR3Vlc3RTTGFuZERhaWx5X18JAKQDAQkAkQMCBQhjdXJTdGF0cwUWaWR4V2xnU0xhbmREYWlseUFtb3VudAkAzAgCCQCsAgICGiVzJWRfX3dsZ0ludmVzdEZ1bmRUb3RhbF9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFFmlkeFdsZ0ludmVzdEZ1bmRBbW91bnQFA25pbAFpARd0b3VybmFtZW50U3RhdHNSRUFET05MWQEMdG91cm5hbWVudElkBAV0RGF0YQkBC2dldFRvdXJEYXRhAgUSdG91cm5hbWVudENvbnRyYWN0BQx0b3VybmFtZW50SWQEBnN0YXRpYwkAkQMCBQV0RGF0YQUJaWR4U3RhdGljBAdkeW5hbWljCQCRAwIFBXREYXRhBQppZHhEeW5hbWljBAd3aW5EdWNrAwkAAAIJAJEDAgUHZHluYW1pYwUPdER5bmFtaWNXaW5EdWNrAgACASAJAJEDAgUHZHluYW1pYwUPdER5bmFtaWNXaW5EdWNrBAtyZWdpc3RyYW50cwkBC3ZhbHVlT3JFbHNlAgkAnQgCBRJ0b3VybmFtZW50Q29udHJhY3QJARdrZXlBbGxSZWdpc3RyYW50c0J5VG91cgEFDHRvdXJuYW1lbnRJZAIACQCUCgIFA25pbAkAzAgCCQCsAgICHCVzJXNfX3RvdXJuYW1lbnRTdGF0aWNEYXRhX18JALkJAgkAzAgCCQCRAwIFBnN0YXRpYwUTdFN0YXRpY1JlZ2lzdGVyQ29zdAkAzAgCCQCRAwIFBnN0YXRpYwUSdFN0YXRpY0F0dGVtcHRDb3N0CQDMCAIJAJEDAgUGc3RhdGljBQx0U3RhdGljU3RhcnQJAMwIAgkAkQMCBQZzdGF0aWMFCnRTdGF0aWNFbmQFA25pbAIBXwkAzAgCCQCsAgICHSVzJXNfX3RvdXJuYW1lbnREeW5hbWljRGF0YV9fCQC5CQIJAMwIAgkAkQMCBQdkeW5hbWljBQ50RHluYW1pY1N0YXR1cwkAzAgCBQd3aW5EdWNrCQDMCAIJAJEDAgUHZHluYW1pYwURdER5bmFtaWNXaW5SZXN1bHQJAMwIAgkAkQMCBQdkeW5hbWljBRV0RHluYW1pY1RvdGFsUmVnQ291bnQJAMwIAgkAkQMCBQdkeW5hbWljBRV0RHluYW1pY1RvdGFsQXR0ZW1wdHMFA25pbAIBXwkAzAgCCQCsAgICHSVzJXNfX3RvdXJuYW1lbnRSZWdpc3RyYW50c19fBQtyZWdpc3RyYW50cwUDbmlsAWkBG2xhc3RUb3VybmFtZW50U3RhdHNSRUFET05MWQAEDHRvdXJuYW1lbnRJZAkBC3ZhbHVlT3JFbHNlAgkAmggCBRJ0b3VybmFtZW50Q29udHJhY3QFDWxhc3RUb3VySWRLZXkAAAQGc3RhdGljCQC1CQIJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUSdG91cm5hbWVudENvbnRyYWN0CQEVa2V5VG91clN0YXRpY0RhdGFCeUlkAQUMdG91cm5hbWVudElkAhglcyVkJWQlZCVkJWRfX19fX19fX19fX18FA1NFUAQHZHluYW1pYwkAtQkCCQELdmFsdWVPckVsc2UCCQCdCAIFEnRvdXJuYW1lbnRDb250cmFjdAkBFmtleVRvdXJEeW5hbWljRGF0YUJ5SWQBBQx0b3VybmFtZW50SWQCFCVzJXMlZCVkJWRfX19fX19fX19fBQNTRVAEB3dpbkR1Y2sDCQAAAgkAkQMCBQdkeW5hbWljBQ90RHluYW1pY1dpbkR1Y2sCAAIBIAkAkQMCBQdkeW5hbWljBQ90RHluYW1pY1dpbkR1Y2sEC3JlZ2lzdHJhbnRzCQELdmFsdWVPckVsc2UCCQCdCAIFEnRvdXJuYW1lbnRDb250cmFjdAkBF2tleUFsbFJlZ2lzdHJhbnRzQnlUb3VyAQUMdG91cm5hbWVudElkAgAJAJQKAgUDbmlsCQDMCAIJAKwCAgIYJXMlc19fbGFzdFRvdXJuYW1lbnRJZF9fCQCkAwEFDHRvdXJuYW1lbnRJZAkAzAgCCQCsAgICHCVzJXNfX3RvdXJuYW1lbnRTdGF0aWNEYXRhX18JALkJAgkAzAgCCQCRAwIFBnN0YXRpYwUTdFN0YXRpY1JlZ2lzdGVyQ29zdAkAzAgCCQCRAwIFBnN0YXRpYwUSdFN0YXRpY0F0dGVtcHRDb3N0CQDMCAIJAJEDAgUGc3RhdGljBQx0U3RhdGljU3RhcnQJAMwIAgkAkQMCBQZzdGF0aWMFCnRTdGF0aWNFbmQFA25pbAIBXwkAzAgCCQCsAgICHSVzJXNfX3RvdXJuYW1lbnREeW5hbWljRGF0YV9fCQC5CQIJAMwIAgkAkQMCBQdkeW5hbWljBQ50RHluYW1pY1N0YXR1cwkAzAgCBQd3aW5EdWNrCQDMCAIJAJEDAgUHZHluYW1pYwURdER5bmFtaWNXaW5SZXN1bHQJAMwIAgkAkQMCBQdkeW5hbWljBRV0RHluYW1pY1RvdGFsUmVnQ291bnQJAMwIAgkAkQMCBQdkeW5hbWljBRV0RHluYW1pY1RvdGFsQXR0ZW1wdHMFA25pbAIBXwkAzAgCCQCsAgICHSVzJXNfX3RvdXJuYW1lbnRSZWdpc3RyYW50c19fBQtyZWdpc3RyYW50cwUDbmlsAWkBG3RvdXJuYW1lbnREdWNrU3RhdHNSRUFET05MWQIDdElkC2R1Y2tBc3NldElkBAlpc0R1Y2tSZWcJAQt2YWx1ZU9yRWxzZQIJAJsIAgUSdG91cm5hbWVudENvbnRyYWN0CQEca2V5SXNSZWdpc3RlcmVkQnlUb3VyQW5kRHVjawIFA3RJZAULZHVja0Fzc2V0SWQHBA9sYXN0RHVja0F0dGVtcHQJAQt2YWx1ZU9yRWxzZQIJAJoIAgUSdG91cm5hbWVudENvbnRyYWN0CQEba2V5TGFzdEF0dGVtcHRCeVRvdXJBbmREdWNrAgUDdElkBQtkdWNrQXNzZXRJZAAABA5iZXN0RHVja1Jlc3VsdAkBC3ZhbHVlT3JFbHNlAgkAmggCBRJ0b3VybmFtZW50Q29udHJhY3QJARprZXlCZXN0UmVzdWx0QnlUb3VyQW5kRHVjawIFA3RJZAULZHVja0Fzc2V0SWQAAAkAlAoCBQNuaWwJAMwIAgkArAICAhslcyVzX190b3VybmFtZW50RHVja1N0YXRzX18JALkJAgkAzAgCCQClAwEFCWlzRHVja1JlZwkAzAgCCQCkAwEFD2xhc3REdWNrQXR0ZW1wdAkAzAgCCQCkAwEFDmJlc3REdWNrUmVzdWx0BQNuaWwCAV8FA25pbABdWkLK", "height": 2728198, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 3sN5any3J8EURrqVnb3H9tHJ8d7tRVs6Udc6bANXSLn1 Next: GRxsjK2A7NP7UX79ohbKmXfxbKdikYpbqGMXEUuaW5wa Diff:
OldNewDifferences
215215 }
216216
217217
218-func bx (by) = ("duckHealth_" + by)
218+let bx = 100000000
219+
220+let by = 400
221+
222+func bz (bA) = ("duckHealth_" + bA)
219223
220224
221-func bz (by) = ("duckChars_" + by)
225+func bB (bA) = ("duckChars_" + bA)
222226
223227
224-func bA (by) = ("duckXP_" + by)
228+func bC (bA) = ("duckXP_" + bA)
225229
226230
227-func bB (by) = ("duckLevel_" + by)
231+func bD (bA) = ("duckLevel_" + bA)
228232
229233
230-func bC (by) = ("duckFreePoints_" + by)
234+func bE (bA) = ("duckFreePoints_" + bA)
231235
232236
233-func bD (by) = ("duckEquipment_" + by)
237+func bF (bA) = ("duckEquipment_" + bA)
234238
235239
236-func bE (t) = ("userXP_" + t)
240+func bG (t) = ("userXP_" + t)
237241
238242
239-func bF (t) = ("userLevel_" + t)
243+func bH (t) = ("userLevel_" + t)
240244
241245
242-func bG (t) = ("userFreePoints_" + t)
246+func bI (t) = ("userFreePoints_" + t)
243247
244248
245-func bH (by) = ("duckBuffs_" + by)
249+func bJ (bA) = ("duckBuffs_" + bA)
246250
247251
248-func bI (bJ) = (100 + bJ)
252+func bK (bA) = ("lastRobberyTime_" + bA)
249253
250254
251-let bK = "PRESALE"
255+func bL (bA) = ("lastRobberyCost_" + bA)
252256
253-let bL = "ONBOARD"
254257
255-let bM = 6
258+func bM (bN) = (100 + bN)
256259
257-let bN = 3456000
258260
259-let bO = 86400000
261+let bO = "PRESALE"
260262
261-let bP = 10000000000
263+let bP = "ONBOARD"
262264
263-let bQ = 39637
265+let bQ = 6
264266
265-let bR = 3
267+let bR = 3456000
266268
267-let bS = 4
269+let bS = 86400000
268270
269-let bT = 10
271+let bT = 10000000000
270272
271-let bU = 10000000
273+let bU = 39637
272274
273-let bV = ["8_8_8_17_17_42_12_0_30_0,0,0,0,0,0,0_", "8_8_8_17_17_42_24_0_60_0,0,5,2,0,0,0_", "8_8_8_17_17_42_36_0_120_0,0,10,4,0,0,0_", "8_19_19_8_27_19_26_1_20_0,0,0,0,0,0,0_001", "8_19_19_8_27_19_52_1_40_0,0,0,0,0,0,0_001", "8_19_19_8_27_19_78_1_80_0,0,0,0,0,0,0_001", "8_8_8_8_8_60_13_2_2_0,0,0,0,0,0,0_011", "8_8_8_8_8_60_26_2_4_0,0,0,0,0,0,0_011", "8_8_8_8_8_60_39_2_8_0,0,0,0,0,0,0_011", "30_30_3_17_17_3_30_3_30_0,0,0,0,0,0,0_111", "30_30_3_17_17_3_60_3_50_0,0,0,0,0,0,0_111", "30_30_3_17_17_3_90_3_70_0,0,0,0,0,0,0_111", "18_18_10_18_18_18_11_4_30_0,0,0,0,0,0,0_201", "18_18_10_18_18_18_22_4_50_0,0,0,0,0,0,0_201", "18_18_10_18_18_18_33_4_70_0,0,0,0,0,0,0_201", "4_13_22_4_35_22_23_0_50,1,0_0,0,0,0,0,0,0_", "4_13_22_4_35_22_46_0_50,1,1_0,2,5,0,0,0,0_", "4_13_22_4_35_22_69_0_50,2,1_0,5,10,0,0,0,0_", "5_25_40_5_10_15_20_1_30,1,1_0,0,0,0,0,0,0_", "5_25_40_5_10_15_40_1_30,1,2_2,1,3,0,0,0,0_", "5_25_40_5_10_15_60_1_30,1,3_5,2,8,0,0,0,0_"]
275+let bV = 3
274276
275-let bW = 6
277+let bW = 4
276278
277279 let bX = 10
278280
279-func bY (t) = ("lastTxIdByUser_" + t)
281+let bY = 10000000
282+
283+let bZ = ["8_8_8_17_17_42_12_0_30_0,0,0,0,0,0,0_", "8_8_8_17_17_42_24_0_60_0,0,5,2,0,0,0_", "8_8_8_17_17_42_36_0_120_0,0,10,4,0,0,0_", "8_19_19_8_27_19_26_1_20_0,0,0,0,0,0,0_001", "8_19_19_8_27_19_52_1_40_0,0,0,0,0,0,0_001", "8_19_19_8_27_19_78_1_80_0,0,0,0,0,0,0_001", "8_8_8_8_8_60_13_2_2_0,0,0,0,0,0,0_011", "8_8_8_8_8_60_26_2_4_0,0,0,0,0,0,0_011", "8_8_8_8_8_60_39_2_8_0,0,0,0,0,0,0_011", "30_30_3_17_17_3_30_3_30_0,0,0,0,0,0,0_111", "30_30_3_17_17_3_60_3_50_0,0,0,0,0,0,0_111", "30_30_3_17_17_3_90_3_70_0,0,0,0,0,0,0_111", "18_18_10_18_18_18_11_4_30_0,0,0,0,0,0,0_201", "18_18_10_18_18_18_22_4_50_0,0,0,0,0,0,0_201", "18_18_10_18_18_18_33_4_70_0,0,0,0,0,0,0_201", "4_13_22_4_35_22_23_0_50,1,0_0,0,0,0,0,0,0_", "4_13_22_4_35_22_46_0_50,1,1_0,2,5,0,0,0,0_", "4_13_22_4_35_22_69_0_50,2,1_0,5,10,0,0,0,0_", "5_25_40_5_10_15_20_1_30,1,1_0,0,0,0,0,0,0_", "5_25_40_5_10_15_40_1_30,1,2_2,1,3,0,0,0,0_", "5_25_40_5_10_15_60_1_30,1,3_5,2,8,0,0,0,0_"]
284+
285+let ca = 6
286+
287+let cb = 10
288+
289+func cc (t) = ("lastTxIdByUser_" + t)
280290
281291
282-func bZ (ca) = ("nftOwner_" + ca)
292+func cd (ce) = ("nftOwner_" + ce)
283293
284294
285-func cb (ca) = ("landCustomNameByAssetId_" + ca)
295+func cf (ce) = ("landCustomNameByAssetId_" + ce)
286296
287297
288-func cc (ca) = ("stakedTime_" + ca)
298+func cg (ce) = ("stakedTime_" + ce)
289299
290300
291-func cd (ce,ca) = makeString(["landArtStatus", ce, ca], "_")
301+func ch (ci,ce) = makeString(["landArtStatus", ci, ce], "_")
292302
293303
294-func cf (cg) = ("wareHouse_" + cg)
304+func cj (ck) = ("wareHouse_" + ck)
295305
296306
297-func ch (ca) = ("infraLevel_" + ca)
307+func cl (ce) = ("infraLevel_" + ce)
298308
299309
300-func ci (cg) = ("fortifications_" + cg)
310+func cm (ck) = ("fortifications_" + ck)
301311
302312
303-func cj (cg) = ("lastRobbedTime_" + cg)
313+func cn (ck) = ("lastRobbedTime_" + ck)
304314
305315
306-func ck (ca) = ("duckCustomNameByAssetId_" + ca)
316+func co (ce) = ("duckCustomNameByAssetId_" + ce)
307317
308318
309-func cl (t) = ("accountCustomNameByAddr_" + t)
319+func cp (t) = ("accountCustomNameByAddr_" + t)
310320
311321
312-func cm (t) = ("accRefBy_" + t)
322+func cq (t) = ("accRefBy_" + t)
313323
314324
315-func cn (t) = ("onboardArtActivatedDuckBy_" + t)
325+func cr (t) = ("onboardArtActivatedDuckBy_" + t)
316326
317327
318-func co (t) = ("accReferrals_" + t)
328+func cs (t) = ("accReferrals_" + t)
319329
320330
321-func cp (ca) = ("duckOwner_" + ca)
331+func ct (ce) = ("duckOwner_" + ce)
322332
323333
324-func cq (cr) = ("stakedDuckByOwner_" + cr)
334+func cu (cv) = ("stakedDuckByOwner_" + cv)
325335
326336
327-func cs (by) = ("duckLocation_" + by)
337+func cw (bA) = ("duckLocation_" + bA)
328338
329339
330-func ct () = "contractsBlocked"
340+func cx () = "contractsBlocked"
331341
332342
333-func cu (cg) = ("landOrder_" + cg)
343+func cy (ck) = ("landOrder_" + ck)
334344
335345
336-func cv () = "emergencyWarehouseProducts"
346+func cz () = "emergencyWarehouseProducts"
337347
338348
339-let cw = "%s__lastTourId"
349+let cA = "%s__lastTourId"
340350
341-func cx (cy) = ("%s%d__tourStaticData__" + toString(cy))
351+func cB (cC) = ("%s%d__tourStaticData__" + toString(cC))
342352
343353
344-func cz (cy) = ("%s%d__tourDynamicData__" + toString(cy))
354+func cD (cC) = ("%s%d__tourDynamicData__" + toString(cC))
345355
346356
347-func cA (cy) = ("%s%d__allRegistrants__" + toString(cy))
357+func cE (cC) = ("%s%d__allRegistrants__" + toString(cC))
348358
349359
350-let cB = 0
360+let cF = 0
351361
352-let cC = 1
362+let cG = 1
353363
354-func cD (cE,cy) = {
355- let cF = split(valueOrErrorMessage(getString(cE, cx(cy)), (("Error reading tournament " + toString(cy)) + " data")), "__")
356- let cG = split(valueOrErrorMessage(getString(cE, cz(cy)), (("Error reading tournament " + toString(cy)) + " data")), "__")
357-[cF, cG]
364+func cH (cI,cC) = {
365+ let cJ = split(valueOrErrorMessage(getString(cI, cB(cC)), (("Error reading tournament " + toString(cC)) + " data")), "__")
366+ let cK = split(valueOrErrorMessage(getString(cI, cD(cC)), (("Error reading tournament " + toString(cC)) + " data")), "__")
367+[cJ, cK]
358368 }
359369
360370
361-let cH = 2
371+let cL = 2
362372
363-let cI = 3
373+let cM = 3
364374
365-let cJ = 5
375+let cN = 5
366376
367-let cK = 6
377+let cO = 6
368378
369-let cL = 1
379+let cP = 1
370380
371-let cM = 2
381+let cQ = 2
372382
373-let cN = 3
383+let cR = 3
374384
375-let cO = 4
385+let cS = 4
376386
377-let cP = 5
387+let cT = 5
378388
379-func cQ (cy,by) = makeString(["%s%d%s__isRegisteredByTourAndDuck", toString(cy), by], "__")
389+func cU (cC,bA) = makeString(["%s%d%s__isRegisteredByTourAndDuck", toString(cC), bA], "__")
380390
381391
382-func cR (cy,by) = makeString(["%s%d%s__lastAttemptByTourAndDuck", toString(cy), by], "__")
392+func cV (cC,bA) = makeString(["%s%d%s__lastAttemptByTourAndDuck", toString(cC), bA], "__")
383393
384394
385-func cS (cy,by) = makeString(["%s%d%s__bestResultByTourAndDuck", toString(cy), by], "__")
395+func cW (cC,bA) = makeString(["%s%d%s__bestResultByTourAndDuck", toString(cC), bA], "__")
386396
387397
388-func cT (cU) = (parseIntValue(cU[bW]) * bU)
398+func cX (cY) = (parseIntValue(cY[ca]) * bY)
389399
390400
391-let cV = take(drop(this.bytes, 1), 1)
401+let cZ = take(drop(this.bytes, 1), 1)
392402
393-let cW = {
394- let cX = cV
395- if ((base58'2W' == cX))
403+let da = {
404+ let db = cZ
405+ if ((base58'2W' == db))
396406 then base58'9wc3LXNA4TEBsXyKtoLE9mrbDD7WMHXvXrCjZvabLAsi'
397- else if ((base58'2T' == cX))
407+ else if ((base58'2T' == db))
398408 then base58'6mWwf9mZBjVgkC54idpyaZLQfAosD914wT8fGf2iiY63'
399409 else throw("Unknown chain")
400410 }
401411
402-let cY = {
403- let cX = cV
404- if ((base58'2W' == cX))
412+let dc = {
413+ let db = cZ
414+ if ((base58'2W' == db))
405415 then "3PQCuvFbvh4LkPUnrnU1z3jnbA1p9m3WNhv"
406- else if ((base58'2T' == cX))
416+ else if ((base58'2T' == db))
407417 then "3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy"
408418 else throw("Unknown chain")
409419 }
410420
411-let cZ = {
412- let cX = cV
413- if ((base58'2W' == cX))
421+let dd = {
422+ let db = cZ
423+ if ((base58'2W' == db))
414424 then 10000000000
415- else if ((base58'2T' == cX))
425+ else if ((base58'2T' == db))
416426 then 100000000
417427 else throw("Unknown chain")
418428 }
419429
420-let da = {
421- let cX = cV
422- if ((base58'2W' == cX))
430+let de = {
431+ let db = cZ
432+ if ((base58'2W' == db))
423433 then 21600000
424- else if ((base58'2T' == cX))
434+ else if ((base58'2T' == db))
425435 then 600000
426436 else throw("Unknown chain")
427437 }
428438
429-let db = "__"
439+let df = "__"
430440
431-let dc = 1000000
441+let dg = 1000000
432442
433-let dd = 100000000
443+let dh = 100000000
434444
435-let de = 25
445+let di = 25
436446
437-let df = 100
447+let dj = 100
438448
439-let dg = 225
449+let dk = 225
440450
441-let dh = 400
451+let dl = 400
442452
443-let di = 625
453+let dm = 625
444454
445-func dj (dk,dl) = valueOrErrorMessage(getString(dk, dl), makeString(["mandatory ", toString(dk), ".", dl, " is not defined"], ""))
455+func dn (do,dp) = valueOrErrorMessage(getString(do, dp), makeString(["mandatory ", toString(do), ".", dp, " is not defined"], ""))
446456
447457
448-let dm = 1
458+let dq = 1
449459
450-let dn = 2
460+let dr = 2
451461
452-let do = 4
462+let ds = 4
453463
454-let dp = 5
464+let dt = 5
455465
456-let dq = 6
466+let du = 6
457467
458-let dr = 7
468+let dv = 7
459469
460-func ds () = "%s__restConfig"
470+func dw () = "%s__restConfig"
461471
462472
463-func dt () = "%s__restAddr"
473+func dx () = "%s__restAddr"
464474
465475
466-func du (dv) = split_4C(dj(dv, ds()), db)
476+func dy (dz) = split_4C(dn(dz, dw()), df)
467477
468478
469-func dw (dx,dy) = valueOrErrorMessage(addressFromString(dx[dy]), ("Rest cfg doesn't contain address at index " + toString(dy)))
479+func dA (dB,dC) = valueOrErrorMessage(addressFromString(dB[dC]), ("Rest cfg doesn't contain address at index " + toString(dC)))
470480
471481
472-let dz = addressFromStringValue(valueOrElse(getString(this, dt()), cY))
482+let dD = addressFromStringValue(valueOrElse(getString(this, dx()), dc))
473483
474-let dx = du(dz)
484+let dB = dy(dD)
475485
476-let aj = dw(dx, dm)
486+let aj = dA(dB, dq)
477487
478-let dA = dw(dx, dn)
488+let dE = dA(dB, dr)
479489
480-let dB = dw(dx, do)
490+let dF = dA(dB, ds)
481491
482-let dC = dw(dx, dp)
492+let dG = dA(dB, dt)
483493
484-let aI = dw(dx, dq)
494+let aI = dA(dB, du)
485495
486-let dD = dw(dx, dr)
496+let dH = dA(dB, dv)
487497
488-let dE = 0
498+let dI = 0
489499
490-let dF = 1
500+let dJ = 1
491501
492-let dG = 2
502+let dK = 2
493503
494-let dH = 3
504+let dL = 3
495505
496-let dI = "wlg_assetId"
506+let dM = "wlg_assetId"
497507
498-let dJ = valueOrErrorMessage(getBinary(dB, dI), "Not initialized yet")
508+let dN = valueOrErrorMessage(getBinary(dF, dM), "Not initialized yet")
499509
500-let dK = 1
510+let dO = 1
501511
502-func dL () = "resTypesProportions"
512+func dP () = "resTypesProportions"
503513
504514
505-func dM (cr) = ("stakedLandsByOwner_" + cr)
515+func dQ (cv) = ("stakedLandsByOwner_" + cv)
506516
507517
508-func dN (cr) = ("stakedPiecesByOwner_" + cr)
518+func dR (cv) = ("stakedPiecesByOwner_" + cv)
509519
510520
511-func dO (dP) = {
512- let cX = dP
513- if ($isInstanceOf(cX, "String"))
521+func dS (dT) = {
522+ let db = dT
523+ if ($isInstanceOf(db, "String"))
514524 then {
515- let dQ = cX
516- dQ
525+ let dU = db
526+ dU
517527 }
518528 else throw("fail to cast into String")
519529 }
520530
521531
522-func dR (dP) = {
523- let cX = dP
524- if ($isInstanceOf(cX, "Int"))
532+func dV (dT) = {
533+ let db = dT
534+ if ($isInstanceOf(db, "Int"))
525535 then {
526- let dS = cX
527- dS
536+ let dW = db
537+ dW
528538 }
529539 else throw("fail to cast into Int")
530540 }
531541
532542
533-func dT (dP) = {
534- let cX = dP
535- if ($isInstanceOf(cX, "Boolean"))
543+func dX (dT) = {
544+ let db = dT
545+ if ($isInstanceOf(db, "Boolean"))
536546 then {
537- let dQ = cX
538- dQ
547+ let dU = db
548+ dU
539549 }
540550 else throw("fail to cast into Boolean")
541551 }
542552
543553
544-func dU (dV) = {
545- let cX = dV
546- if (("S" == cX))
547- then de
548- else if (("M" == cX))
549- then df
550- else if (("L" == cX))
551- then dg
552- else if (("XL" == cX))
553- then dh
554- else if (("XXL" == cX))
555- then di
554+func dY (dZ) = {
555+ let db = dZ
556+ if (("S" == db))
557+ then di
558+ else if (("M" == db))
559+ then dj
560+ else if (("L" == db))
561+ then dk
562+ else if (("XL" == db))
563+ then dl
564+ else if (("XXL" == db))
565+ then dm
556566 else throw("Unknown land size")
557567 }
558568
559569
560-func dW (ai) = {
561- let ak = split(valueOrElse(getString(aj, dL()), "0_0_0_0_0_0"), "_")
570+func ea (ai) = {
571+ let ak = split(valueOrElse(getString(aj, dP()), "0_0_0_0_0_0"), "_")
562572 func al (am,an) = (am + parseIntValue(an))
563573
564574 let ao = {
575585
576586 av(as(as(as(as(as(as(ar, 0), 1), 2), 3), 4), 5), 6)
577587 }
578- let aw = valueOrElse(getInteger(aj, dN(ai)), 0)
588+ let aw = valueOrElse(getInteger(aj, dR(ai)), 0)
579589 [ao, aw]
580590 }
581591
582592
583-let dX = 500000
593+let eb = 500000
584594
585-let dY = [toString(this), {
586- let cX = cV
587- if ((base58'2W' == cX))
595+let ec = [toString(this), {
596+ let db = cZ
597+ if ((base58'2W' == db))
588598 then "3P64qEVzuGzBJuYfDXYisFtokJChSRa8uja"
589- else if ((base58'2T' == cX))
599+ else if ((base58'2T' == db))
590600 then "3N3gSFrTwgiLAFZHMuJrEttht1nPhnkpvjs"
591601 else throw("Unknown chain")
592602 }]
593603
594-func dZ (ea) = {
595- let cX = ea
596- if ($isInstanceOf(cX, "List[Any]"))
604+func ed (ee) = {
605+ let db = ee
606+ if ($isInstanceOf(db, "List[Any]"))
597607 then {
598- let eb = cX
599- if ((size(eb) != bM))
600- then throw(("Array size is " + toString(size(eb))))
608+ let ef = db
609+ if ((size(ef) != bQ))
610+ then throw(("Array size is " + toString(size(ef))))
601611 else {
602- func ec (am,an) = {
603- let ed = an
604- if ($isInstanceOf(ed, "Int"))
612+ func eg (am,an) = {
613+ let eh = an
614+ if ($isInstanceOf(eh, "Int"))
605615 then {
606- let ee = ed
607- (am :+ toString(ee))
616+ let ei = eh
617+ (am :+ toString(ei))
608618 }
609619 else throw("List type is not Int")
610620 }
611621
612- let ef = {
613- let ap = eb
622+ let ej = {
623+ let ap = ef
614624 let aq = size(ap)
615625 let ar = nil
616626 func as (at,au) = if ((au >= aq))
617627 then at
618- else ec(at, ap[au])
628+ else eg(at, ap[au])
619629
620630 func av (at,au) = if ((au >= aq))
621631 then at
623633
624634 av(as(as(as(as(as(as(ar, 0), 1), 2), 3), 4), 5), 6)
625635 }
626- makeString(ef, "_")
636+ makeString(ej, "_")
627637 }
628638 }
629639 else throw("fail to cast into List")
630640 }
631641
632642
633-func eg (ea) = {
634- let cX = ea
635- if ($isInstanceOf(cX, "(List[Any], List[Any])"))
643+func ek (ee) = {
644+ let db = ee
645+ if ($isInstanceOf(db, "(List[Any], List[Any])"))
636646 then {
637- let eh = cX
638- $Tuple2(dZ(eh._1), dZ(eh._2))
647+ let el = db
648+ $Tuple2(ed(el._1), ed(el._2))
639649 }
640650 else throw("fail to cast into (List, List)")
641651 }
642652
643653
644-func ei (ej) = {
645- let t = addressFromString(ej)
646- let ek = if (isDefined(t))
654+func em (en) = {
655+ let t = addressFromString(en)
656+ let eo = if (isDefined(t))
647657 then wavesBalance(value(t))
648658 else BalanceDetails(0, 0, 0, 0)
649- let el = if (isDefined(t))
650- then assetBalance(value(t), cW)
659+ let ep = if (isDefined(t))
660+ then assetBalance(value(t), da)
651661 else 0
652- let em = if (isDefined(t))
653- then assetBalance(value(t), dJ)
662+ let eq = if (isDefined(t))
663+ then assetBalance(value(t), dN)
654664 else 0
655- let en = valueOrElse(getString(aj, cl(ej)), ej)
656- let eo = cm(ej)
657- let ep = getString(aj, eo)
658- let eq = valueOrElse(getString(aj, co(ej)), "")
659- let er = valueOrElse(getString(aj, bY(ej)), "")
660- let es = dW(ej)[dK]
661- let et = valueOrElse(getInteger(aj, bE(ej)), 0)
662- let eu = valueOrElse(getInteger(aj, bF(ej)), 0)
663- let ev = valueOrElse(getInteger(aj, bG(ej)), 0)
664- let ew = if (isDefined(ep))
665- then (bL + (if (if (isDefined(t))
666- then isDefined(getString(aj, cn(ej)))
665+ let er = valueOrElse(getString(aj, cp(en)), en)
666+ let es = cq(en)
667+ let et = getString(aj, es)
668+ let eu = valueOrElse(getString(aj, cs(en)), "")
669+ let ev = valueOrElse(getString(aj, cc(en)), "")
670+ let ew = ea(en)[dO]
671+ let ex = valueOrElse(getInteger(aj, bG(en)), 0)
672+ let ey = valueOrElse(getInteger(aj, bH(en)), 0)
673+ let ez = valueOrElse(getInteger(aj, bI(en)), 0)
674+ let eA = if (isDefined(et))
675+ then (bP + (if (if (isDefined(t))
676+ then isDefined(getString(aj, cr(en)))
667677 else false)
668678 then ":1"
669679 else ":0"))
670680 else ""
671-[("%s%s__customName__" + en), ("%s%s__referredBy__" + valueOrElse(ep, "")), ("%s%s__referrals__" + eq), ("%s%s__lastTxId__" + er), ("%s%d__wavesBalance__" + toString(ek.available)), ("%s%d__wlgoldBalance__" + toString(em)), ("%s%d__usdtBalance__" + toString(el)), ("%s%d__stakedPieces__" + toString(es)), ("%s%d__currentXp__" + toString(et)), ("%s%d__currentLvl__" + toString(eu)), ("%s%d__pointsToDistribute__" + toString(ev)), ("%s%s__walletArtefacts__" + ew)]
681+[("%s%s__customName__" + er), ("%s%s__referredBy__" + valueOrElse(et, "")), ("%s%s__referrals__" + eu), ("%s%s__lastTxId__" + ev), ("%s%d__wavesBalance__" + toString(eo.available)), ("%s%d__wlgoldBalance__" + toString(eq)), ("%s%d__usdtBalance__" + toString(ep)), ("%s%d__stakedPieces__" + toString(ew)), ("%s%d__currentXp__" + toString(ex)), ("%s%d__currentLvl__" + toString(ey)), ("%s%d__pointsToDistribute__" + toString(ez)), ("%s%s__walletArtefacts__" + eA)]
672682 }
673683
674684
675-func ex (cg,es) = {
676- let ey = valueOrElse(getInteger(aj, ch(cg)), 0)
677- let ez = valueOrElse(getInteger(aj, cd(bK, cg)), 0)
678- let eA = (ey / 6)
679- let eB = (ey / 7)
680- $Tuple3(ey, ez, ((bN + fraction(bN, ((ey + eA) + (2 * eB)), 5)) + fraction(bN, ez, (es * 5))))
685+func eB (ck,ew) = {
686+ let eC = valueOrElse(getInteger(aj, cl(ck)), 0)
687+ let eD = valueOrElse(getInteger(aj, ch(bO, ck)), 0)
688+ let eE = (eC / 6)
689+ let eF = (eC / 7)
690+ $Tuple3(eC, eD, ((bR + fraction(bR, ((eC + eE) + (2 * eF)), 5)) + fraction(bR, eD, (ew * 5))))
681691 }
682692
683693
684-func eC (eD) = {
685- let eE = split(eD, "_")
686- ((bP * (parseIntValue(eE[1]) + 1)) * parseIntValue(eE[0]))
694+func eG (eH) = {
695+ let eI = split(eH, "_")
696+ ((bT * (parseIntValue(eI[1]) + 1)) * parseIntValue(eI[0]))
687697 }
688698
689699
690-func eF (eG,eH,ey) = {
691- let eD = ((toString(eH) + "_") + toString(ey))
692- let eI = toString(eC(eD))
693- let eJ = valueOrElse(getString(aj, eG), ((((eD + ":0_0_0_0_0_0:0_0_0_0_0_0::0_0_") + eI) + "_") + eI))
694- split(eJ, ":")
700+func eJ (eK,eL,eC) = {
701+ let eH = ((toString(eL) + "_") + toString(eC))
702+ let eM = toString(eG(eH))
703+ let eN = valueOrElse(getString(aj, eK), ((((eH + ":0_0_0_0_0_0:0_0_0_0_0_0::0_0_") + eM) + "_") + eM))
704+ split(eN, ":")
695705 }
696706
697707
698-func eK (by) = {
699- let eL = bI(valueOrElse(getInteger(aj, bB(by)), 0))
700- $Tuple5(valueOrElse(getInteger(aj, cc(by)), -1), value(assetInfo(fromBase58String(by))).name, valueOrElse(getString(aj, cs(by)), ""), valueOrElse(getInteger(aj, bx(by)), eL), dO(invoke(aj, "getBackpackREADONLY", [by], nil)))
708+func eO (bA) = {
709+ let eP = bM(valueOrElse(getInteger(aj, bD(bA)), 0))
710+ $Tuple5(valueOrElse(getInteger(aj, cg(bA)), -1), value(assetInfo(fromBase58String(bA))).name, valueOrElse(getString(aj, cw(bA)), ""), valueOrElse(getInteger(aj, bz(bA)), eP), dS(invoke(aj, "getBackpackREADONLY", [bA], nil)))
701711 }
702712
703713
704-func eM (by,eN,eO) = {
705- let en = valueOrElse(getString(aj, ck(by)), eO._2)
706- let eP = valueOrElse(getString(aj, bz(by)), "0_0_0_0_0")
707- let et = valueOrElse(getInteger(aj, bA(by)), 0)
708- let eu = valueOrElse(getInteger(aj, bB(by)), 0)
709- let ev = valueOrElse(getInteger(aj, bC(by)), 0)
710- let eQ = valueOrElse(getString(aj, bD(by)), ";_;_;_;_;_;")
711- let eR = valueOrElse(getString(aj, bH(by)), "0_0_0_0_0")
712-[("%s%s__assetId__" + by), ("%s%s__owner__" + eN), ("%s%s__customName__" + en), ("%s%d__stakedTime__" + toString(eO._1)), ("%s%s__name__" + eO._2), ("%s%s__location__" + eO._3), ("%s%d__health__" + toString(eO._4)), ("%s%d__maxHealth__" + toString(bI(eu))), ("%s%s__characteristics__" + eP), ("%s%d__currentXp__" + toString(et)), ("%s%d__currentLvl__" + toString(eu)), ("%s%d__pointsToDistribute__" + toString(ev)), ("%s%s__backPack__" + eO._5), ("%s%s__equipment__" + eQ), ("%s%s__buffs__" + eR)]
714+func eQ (bA,eR,eS) = {
715+ let er = valueOrElse(getString(aj, co(bA)), eS._2)
716+ let eT = valueOrElse(getString(aj, bB(bA)), "0_0_0_0_0")
717+ let ex = valueOrElse(getInteger(aj, bC(bA)), 0)
718+ let ey = valueOrElse(getInteger(aj, bD(bA)), 0)
719+ let ez = valueOrElse(getInteger(aj, bE(bA)), 0)
720+ let eU = valueOrElse(getString(aj, bF(bA)), ";_;_;_;_;_;")
721+ let eV = valueOrElse(getString(aj, bJ(bA)), "0_0_0_0_0")
722+ let eW = valueOrElse(getInteger(aj, bL(bA)), 0)
723+ let eX = valueOrElse(getInteger(aj, bK(bA)), 0)
724+ let aM = lastBlock.timestamp
725+ let eY = max([bx, (eW - (by * (aM - eX)))])
726+[("%s%s__assetId__" + bA), ("%s%s__owner__" + eR), ("%s%s__customName__" + er), ("%s%d__stakedTime__" + toString(eS._1)), ("%s%s__name__" + eS._2), ("%s%s__location__" + eS._3), ("%s%d__health__" + toString(eS._4)), ("%s%d__maxHealth__" + toString(bM(ey))), ("%s%s__characteristics__" + eT), ("%s%d__currentXp__" + toString(ex)), ("%s%d__currentLvl__" + toString(ey)), ("%s%d__pointsToDistribute__" + toString(ez)), ("%s%s__backPack__" + eS._5), ("%s%s__equipment__" + eU), ("%s%s__buffs__" + eV), ("%s%d__robberyCost__" + toString(eY)), ("%s%d__robberyTime__" + toString(eX))]
713727 }
714728
715729
716-func eS (cg,eN,eT) = if ((cg == ""))
730+func eZ (ck,eR,fa) = if ((ck == ""))
717731 then throw("landAssetId is required")
718732 else {
719- let eU = value(assetInfo(fromBase58String(cg)))
720- let eV = split(eU.description, "_")
721- let eW = if ((eU.quantity > 0))
722- then eV[dE]
723- else ("-" + eV[dE])
724- let es = dU(eV[dF])
725- let eX = ex(cg, es)
726- let eY = (lastBlock.timestamp - eT)
727- let eZ = if ((eT > 0))
728- then fraction(eY, (eX._3 * es), bO)
733+ let fb = value(assetInfo(fromBase58String(ck)))
734+ let fc = split(fb.description, "_")
735+ let fd = if ((fb.quantity > 0))
736+ then fc[dI]
737+ else ("-" + fc[dI])
738+ let ew = dY(fc[dJ])
739+ let fe = eB(ck, ew)
740+ let ff = (lastBlock.timestamp - fa)
741+ let fg = if ((fa > 0))
742+ then fraction(ff, (fe._3 * ew), bS)
729743 else 0
730- let fa = fraction(cZ, (es * (eX._1 + 1)), de)
731- let fb = if ((eT > 0))
732- then eg(invoke(aj, "splitByGlobalAndLocalWeightsREADONLY", [fa, eZ, eV[dG]], nil))
733- else $Tuple2(dZ(invoke(aj, "splitByGlobalWeightsREADONLY", [fa], nil)), "")
734- let en = valueOrElse(getString(aj, cb(cg)), ((eV[dH] + "-") + eV[dE]))
735- let fc = valueOrElse(getString(aj, ci(cg)), ":0_15:0_18:0")
736- let fd = valueOrElse(getInteger(aj, cj(cg)), 0)
737-[("%s%s__assetId__" + cg), ("%s%s__owner__" + eN), ("%s%s__customName__" + en), ("%s%d__stakedTime__" + toString(eT)), ("%s%s__description__" + makeString([eW, eV[dF], eV[dG], eV[dH]], "_")), ("%s%d__infraLevel__" + toString(eX._1)), ("%s%s__availResByType__" + fb._2), ("%s%d__availResTotal__" + toString(eZ)), ("%s%s__needMaterial__" + fb._1), ("%s%s__landArtefacts__PRESALE:" + toString(eX._2)), ("%s%s__warehouse__" + makeString(eF(cf(cg), (es / de), eX._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(dA, cu(cg)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:")), ("%s%s__fortifications__" + fc), ("%s%d__canBeRobbedAfter__" + toString((fd + da)))]
744+ let fh = fraction(dd, (ew * (fe._1 + 1)), di)
745+ let fi = if ((fa > 0))
746+ then ek(invoke(aj, "splitByGlobalAndLocalWeightsREADONLY", [fh, fg, fc[dK]], nil))
747+ else $Tuple2(ed(invoke(aj, "splitByGlobalWeightsREADONLY", [fh], nil)), "")
748+ let er = valueOrElse(getString(aj, cf(ck)), ((fc[dL] + "-") + fc[dI]))
749+ let fj = valueOrElse(getString(aj, cm(ck)), ":0_15:0_18:0")
750+ let fk = valueOrElse(getInteger(aj, cn(ck)), 0)
751+[("%s%s__assetId__" + ck), ("%s%s__owner__" + eR), ("%s%s__customName__" + er), ("%s%d__stakedTime__" + toString(fa)), ("%s%s__description__" + makeString([fd, fc[dJ], fc[dK], fc[dL]], "_")), ("%s%d__infraLevel__" + toString(fe._1)), ("%s%s__availResByType__" + fi._2), ("%s%d__availResTotal__" + toString(fg)), ("%s%s__needMaterial__" + fi._1), ("%s%s__landArtefacts__PRESALE:" + toString(fe._2)), ("%s%s__warehouse__" + makeString(eJ(cj(ck), (ew / di), fe._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(dE, cy(ck)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:")), ("%s%s__fortifications__" + fj), ("%s%d__canBeRobbedAfter__" + toString((fk + de)))]
738752 }
739753
740754
741-func fe (cg,eN) = if ((cg == ""))
755+func fl (ck,eR) = if ((ck == ""))
742756 then throw("landAssetId is required")
743757 else {
744- let eU = value(assetInfo(fromBase58String(cg)))
745- let eV = split(eU.description, "_")
746- let es = dU(eV[dF])
747- let eX = ex(cg, es)
748-[("%s%s__assetId__" + cg), ("%s%s__owner__" + eN), ("%s%s__warehouse__" + makeString(eF(cf(cg), (es / de), eX._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(dA, cu(cg)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
758+ let fb = value(assetInfo(fromBase58String(ck)))
759+ let fc = split(fb.description, "_")
760+ let ew = dY(fc[dJ])
761+ let fe = eB(ck, ew)
762+[("%s%s__assetId__" + ck), ("%s%s__owner__" + eR), ("%s%s__warehouse__" + makeString(eJ(cj(ck), (ew / di), fe._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(dE, cy(ck)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
749763 }
750764
751765
752-@Callable(ff)
753-func constructorV1 (az) = if ((ff.caller != this))
766+@Callable(fm)
767+func constructorV1 (az) = if ((fm.caller != this))
754768 then throw("permissions denied")
755769 else {
756- func fg (am,fh) = (am + "%s")
770+ func fn (am,fo) = (am + "%s")
757771
758- let fi = {
772+ let fp = {
759773 let ap = az
760774 let aq = size(ap)
761775 let ar = ""
762776 func as (at,au) = if ((au >= aq))
763777 then at
764- else fg(at, ap[au])
778+ else fn(at, ap[au])
765779
766780 func av (at,au) = if ((au >= aq))
767781 then at
769783
770784 av(as(as(as(as(as(as(as(as(as(as(ar, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
771785 }
772-[StringEntry(ds(), makeString(fi :: az, db)), StringEntry(dt(), toString(this))]
786+[StringEntry(dw(), makeString(fp :: az, df)), StringEntry(dx(), toString(this))]
773787 }
774788
775789
776790
777-@Callable(ff)
778-func walletInfoREADONLY (ej) = $Tuple2(nil, ei(ej))
791+@Callable(fm)
792+func walletInfoREADONLY (en) = $Tuple2(nil, em(en))
779793
780794
781795
782-@Callable(ff)
783-func duckByOwnerInfoREADONLY (fj) = {
784- let fk = getString(aj, cq(fj))
785- $Tuple2(nil, if (if (isDefined(addressFromString(fj)))
786- then isDefined(fk)
796+@Callable(fm)
797+func duckByOwnerInfoREADONLY (fq) = {
798+ let fr = getString(aj, cu(fq))
799+ $Tuple2(nil, if (if (isDefined(addressFromString(fq)))
800+ then isDefined(fr)
787801 else false)
788802 then {
789- let by = value(fk)
790- eM(by, fj, eK(by))
803+ let bA = value(fr)
804+ eQ(bA, fq, eO(bA))
791805 }
792- else eM("", fj, $Tuple5(-1, "", "", -1, "")))
806+ else eQ("", fq, $Tuple5(-1, "", "", -1, "")))
793807 }
794808
795809
796810
797-@Callable(ff)
798-func duckByAssetIdInfoREADONLY (by) = {
799- let eN = getString(aj, cp(by))
800- $Tuple2(nil, eM(by, if (isDefined(eN))
801- then value(eN)
802- else "", eK(by)))
811+@Callable(fm)
812+func duckByAssetIdInfoREADONLY (bA) = {
813+ let eR = getString(aj, ct(bA))
814+ $Tuple2(nil, eQ(bA, if (isDefined(eR))
815+ then value(eR)
816+ else "", eO(bA)))
803817 }
804818
805819
806820
807-@Callable(ff)
808-func landByAssetIdInfoREADONLY (cg) = if ((cg == ""))
821+@Callable(fm)
822+func landByAssetIdInfoREADONLY (ck) = if ((ck == ""))
809823 then throw("landAssetId is required")
810824 else {
811- let eT = valueOrElse(getInteger(aj, cc(cg)), -1)
812- let eN = if ((eT > 0))
813- then value(getString(aj, bZ(cg)))
825+ let fa = valueOrElse(getInteger(aj, cg(ck)), -1)
826+ let eR = if ((fa > 0))
827+ then value(getString(aj, cd(ck)))
814828 else ""
815- $Tuple2(nil, eS(cg, eN, eT))
829+ $Tuple2(nil, eZ(ck, eR, fa))
816830 }
817831
818832
819833
820-@Callable(ff)
821-func stakedLandsByOwnerInfoREADONLY (fl) = if ((fl == ""))
834+@Callable(fm)
835+func stakedLandsByOwnerInfoREADONLY (fs) = if ((fs == ""))
822836 then throw("landOwnerAddress is required")
823837 else {
824- let fm = getString(aj, dM(fl))
825- let fn = if (isDefined(fm))
826- then split_51C(value(fm), "_")
838+ let ft = getString(aj, dQ(fs))
839+ let fu = if (isDefined(ft))
840+ then split_51C(value(ft), "_")
827841 else nil
828- func fo (am,cg) = if ((cg == ""))
842+ func fv (am,ck) = if ((ck == ""))
829843 then throw("landAssetId is required")
830844 else {
831- let eT = valueOrElse(getInteger(aj, cc(cg)), -1)
832- (am :+ eS(cg, fl, eT))
845+ let fa = valueOrElse(getInteger(aj, cg(ck)), -1)
846+ (am :+ eZ(ck, fs, fa))
833847 }
834848
835- let ef = {
836- let ap = fn
849+ let ej = {
850+ let ap = fu
837851 let aq = size(ap)
838852 let ar = nil
839853 func as (at,au) = if ((au >= aq))
840854 then at
841- else fo(at, ap[au])
855+ else fv(at, ap[au])
842856
843857 func av (at,au) = if ((au >= aq))
844858 then at
846860
847861 av(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(ar, 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)
848862 }
849- $Tuple2(nil, ef)
863+ $Tuple2(nil, ej)
850864 }
851865
852866
853867
854-@Callable(ff)
855-func landsByIdsInfoREADONLY (fp) = {
856- func fo (am,cg) = if ((cg == ""))
868+@Callable(fm)
869+func landsByIdsInfoREADONLY (fw) = {
870+ func fv (am,ck) = if ((ck == ""))
857871 then throw("landAssetId is required")
858872 else {
859- let eT = valueOrElse(getInteger(aj, cc(cg)), -1)
860- let eN = if ((eT > 0))
861- then value(getString(aj, bZ(cg)))
873+ let fa = valueOrElse(getInteger(aj, cg(ck)), -1)
874+ let eR = if ((fa > 0))
875+ then value(getString(aj, cd(ck)))
862876 else ""
863- (am :+ eS(cg, eN, eT))
877+ (am :+ eZ(ck, eR, fa))
864878 }
865879
866- let ef = {
867- let ap = fp
880+ let ej = {
881+ let ap = fw
868882 let aq = size(ap)
869883 let ar = nil
870884 func as (at,au) = if ((au >= aq))
871885 then at
872- else fo(at, ap[au])
886+ else fv(at, ap[au])
873887
874888 func av (at,au) = if ((au >= aq))
875889 then at
877891
878892 av(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(ar, 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)
879893 }
880- $Tuple2(nil, ef)
894+ $Tuple2(nil, ej)
881895 }
882896
883897
884898
885-@Callable(ff)
886-func warehouseOrderByAssetIdInfoREADONLY (cg) = if ((cg == ""))
899+@Callable(fm)
900+func warehouseOrderByAssetIdInfoREADONLY (ck) = if ((ck == ""))
887901 then throw("landAssetId is required")
888902 else {
889- let eT = valueOrElse(getInteger(aj, cc(cg)), -1)
890- let eN = if ((eT > 0))
891- then value(getString(aj, bZ(cg)))
903+ let fa = valueOrElse(getInteger(aj, cg(ck)), -1)
904+ let eR = if ((fa > 0))
905+ then value(getString(aj, cd(ck)))
892906 else ""
893- $Tuple2(nil, fe(cg, eN))
907+ $Tuple2(nil, fl(ck, eR))
894908 }
895909
896910
897911
898-@Callable(ff)
899-func ordersByLandIdsInfoREADONLY (fp) = {
900- func fo (am,cg) = if ((cg == ""))
912+@Callable(fm)
913+func ordersByLandIdsInfoREADONLY (fw) = {
914+ func fv (am,ck) = if ((ck == ""))
901915 then throw("landAssetId is required")
902916 else {
903- let eT = valueOrElse(getInteger(aj, cc(cg)), -1)
904- let eN = if ((eT > 0))
905- then value(getString(aj, bZ(cg)))
917+ let fa = valueOrElse(getInteger(aj, cg(ck)), -1)
918+ let eR = if ((fa > 0))
919+ then value(getString(aj, cd(ck)))
906920 else ""
907- (am :+ fe(cg, eN))
921+ (am :+ fl(ck, eR))
908922 }
909923
910- let ef = {
911- let ap = fp
924+ let ej = {
925+ let ap = fw
912926 let aq = size(ap)
913927 let ar = nil
914928 func as (at,au) = if ((au >= aq))
915929 then at
916- else fo(at, ap[au])
930+ else fv(at, ap[au])
917931
918932 func av (at,au) = if ((au >= aq))
919933 then at
921935
922936 av(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(ar, 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)
923937 }
924- $Tuple2(nil, ef)
938+ $Tuple2(nil, ej)
925939 }
926940
927941
928942
929-@Callable(ff)
930-func cancelWarehouseOrders (fp) = if ((ff.caller != this))
943+@Callable(fm)
944+func cancelWarehouseOrders (fw) = if ((fm.caller != this))
931945 then throw("permission denied")
932946 else {
933- let fq = getBoolean(aj, ct())
934- if (if (!(isDefined(fq)))
947+ let fx = getBoolean(aj, cx())
948+ if (if (!(isDefined(fx)))
935949 then true
936- else (value(fq) == false))
950+ else (value(fx) == false))
937951 then throw("Contracts should be blocked before canceling orders")
938952 else {
939- func fo (eU,cg) = if ((cg == ""))
953+ func fv (fb,ck) = if ((ck == ""))
940954 then throw("landAssetId is required")
941955 else {
942- let fr = dT(invoke(dA, "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:", cg], nil))
943- if (if (eU)
956+ let fy = dX(invoke(dE, "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:", ck], nil))
957+ if (if (fb)
944958 then true
945- else fr)
946- then !(if (eU)
947- then fr
959+ else fy)
960+ then !(if (fb)
961+ then fy
948962 else false)
949963 else false
950964 }
951965
952- let ef = {
953- let ap = fp
966+ let ej = {
967+ let ap = fw
954968 let aq = size(ap)
955969 let ar = false
956970 func as (at,au) = if ((au >= aq))
957971 then at
958- else fo(at, ap[au])
972+ else fv(at, ap[au])
959973
960974 func av (at,au) = if ((au >= aq))
961975 then at
963977
964978 av(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(ar, 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)
965979 }
966- $Tuple2(nil, ef)
980+ $Tuple2(nil, ej)
967981 }
968982 }
969983
970984
971985
972-@Callable(ff)
973-func fixWarehouseFormats (fp) = if ((ff.caller != this))
986+@Callable(fm)
987+func fixWarehouseFormats (fw) = if ((fm.caller != this))
974988 then throw("permission denied")
975989 else {
976- func fo (am,cg) = if ((cg == ""))
990+ func fv (am,ck) = if ((ck == ""))
977991 then throw("landAssetId is required")
978- else (am + size(dO(invoke(aj, "fixWarehouseFormat", [cg], nil))))
992+ else (am + size(dS(invoke(aj, "fixWarehouseFormat", [ck], nil))))
979993
980- let ef = {
981- let ap = fp
994+ let ej = {
995+ let ap = fw
982996 let aq = size(ap)
983997 let ar = 0
984998 func as (at,au) = if ((au >= aq))
985999 then at
986- else fo(at, ap[au])
1000+ else fv(at, ap[au])
9871001
9881002 func av (at,au) = if ((au >= aq))
9891003 then at
9911005
9921006 av(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(ar, 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)
9931007 }
994- $Tuple2(nil, ef)
1008+ $Tuple2(nil, ej)
9951009 }
9961010
9971011
9981012
999-@Callable(ff)
1000-func fixStakedPieces (fs) = if ((ff.caller != this))
1013+@Callable(fm)
1014+func fixStakedPieces (fz) = if ((fm.caller != this))
10011015 then throw("permission denied")
10021016 else {
1003- func ft (am,t) = if ((t == ""))
1017+ func fA (am,t) = if ((t == ""))
10041018 then throw("address is required")
1005- else (am + dR(invoke(aj, "fixStakedPieces", [t], nil)))
1019+ else (am + dV(invoke(aj, "fixStakedPieces", [t], nil)))
10061020
1007- let ef = {
1008- let ap = fs
1021+ let ej = {
1022+ let ap = fz
10091023 let aq = size(ap)
10101024 let ar = 0
10111025 func as (at,au) = if ((au >= aq))
10121026 then at
1013- else ft(at, ap[au])
1027+ else fA(at, ap[au])
10141028
10151029 func av (at,au) = if ((au >= aq))
10161030 then at
10181032
10191033 av(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(ar, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16)
10201034 }
1021- $Tuple2(nil, ef)
1035+ $Tuple2(nil, ej)
10221036 }
10231037
10241038
10251039
1026-@Callable(ff)
1027-func fixStakedLands (fp) = {
1028- let fu = toString(ff.caller)
1029- if (!(containsElement(dY, fu)))
1040+@Callable(fm)
1041+func fixStakedLands (fw) = {
1042+ let fB = toString(fm.caller)
1043+ if (!(containsElement(ec, fB)))
10301044 then throw("Permission denied")
10311045 else {
1032- let ef = dR(invoke(aj, "fixContinentProportions", [fp], nil))
1033- $Tuple2(nil, ef)
1046+ let ej = dV(invoke(aj, "fixContinentProportions", [fw], nil))
1047+ $Tuple2(nil, ej)
10341048 }
10351049 }
10361050
10371051
10381052
1039-@Callable(ff)
1040-func sendUsdtPrize (fj) = if ((ff.caller != aj))
1053+@Callable(fm)
1054+func sendUsdtPrize (fq) = if ((fm.caller != aj))
10411055 then throw("permission denied")
10421056 else {
1043- let fv = fraction(assetBalance(this, cW), dX, dc)
1044- $Tuple2([ScriptTransfer(addressFromStringValue(fj), fv, cW)], fv)
1057+ let fC = fraction(assetBalance(this, da), eb, dg)
1058+ $Tuple2([ScriptTransfer(addressFromStringValue(fq), fC, da)], fC)
10451059 }
10461060
10471061
10481062
1049-@Callable(ff)
1063+@Callable(fm)
10501064 func getEmergencyServiceDataREADONLY () = {
1051- let fw = getString(dA, cv())
1052- let fx = if (isDefined(fw))
1053- then split_4C(value(fw), "_")
1065+ let fD = getString(dE, cz())
1066+ let fE = if (isDefined(fD))
1067+ then split_4C(value(fD), "_")
10541068 else nil
1055- func fy (am,fz) = {
1056- let dS = am._2
1057- let cU = split(fz, "_")
1058- let fA = if ((dS == 0))
1059- then (bR * bX)
1069+ func fF (am,fG) = {
1070+ let dW = am._2
1071+ let cY = split(fG, "_")
1072+ let fH = if ((dW == 0))
1073+ then (bV * cb)
10601074 else 0
1061- let fB = if ((size(fx) > dS))
1062- then parseIntValue(fx[dS])
1075+ let fI = if ((size(fE) > dW))
1076+ then parseIntValue(fE[dW])
10631077 else 0
1064- let fC = cT(cU)
1065- let fD = fraction((fC * bS), bQ, (dd * bX))
1066- let fE = fraction((fC * bT), bQ, (dd * bX))
1067- let fF = makeString([toString(fA), toString(fB), toString(fD), toString(fE)], "_")
1068- $Tuple2((am._1 :+ fF), (dS + 1))
1078+ let fJ = cX(cY)
1079+ let fK = fraction((fJ * bW), bU, (dh * cb))
1080+ let fL = fraction((fJ * bX), bU, (dh * cb))
1081+ let fM = makeString([toString(fH), toString(fI), toString(fK), toString(fL)], "_")
1082+ $Tuple2((am._1 :+ fM), (dW + 1))
10691083 }
10701084
1071- let dQ = makeString_2C(( let ap = bV
1085+ let dU = makeString_2C(( let ap = bZ
10721086 let aq = size(ap)
10731087 let ar = $Tuple2(nil, 0)
10741088 func as (at,au) = if ((au >= aq))
10751089 then at
1076- else fy(at, ap[au])
1090+ else fF(at, ap[au])
10771091
10781092 func av (at,au) = if ((au >= aq))
10791093 then at
10801094 else throw("List size exceeds 50")
10811095
10821096 av(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(ar, 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, ":")
1083- let fG = ("%s%s__emergencyServiceData__" + dQ)
1084- $Tuple2(nil, fG)
1097+ let fN = ("%s%s__emergencyServiceData__" + dU)
1098+ $Tuple2(nil, fN)
10851099 }
10861100
10871101
10881102
1089-@Callable(ff)
1103+@Callable(fm)
10901104 func wlgStatsREADONLY (ay) = {
1091- let fH = ax(ay, [dz, aj, dA, dB, dC, aI], cW, 0, dc)
1092- $Tuple2(nil, [("%s%d__wlgAmount__" + toString(fH[z])), ("%s%d__wlgPrice__" + toString(fH[A])), ("%s%d__usdtFunds__" + toString(fH[B])), ("%s%d__usdtEconomy__" + toString(fH[C])), ("%s%d__usdtActivity__" + toString(fH[D])), ("%s%d__usdtArbitrage__" + toString(fH[E])), ("%s%d__usdtPool__" + toString(fH[F])), ("%s%d__wlgIssueTime__" + toString(fH[G])), ("%s%d__wlgLastMarketingTeamActTime__" + toString(fH[H])), ("%s%d__wlgMarketingTotal__" + toString(fH[I])), ("%s%d__wlgMarketingAmLeft__" + toString(fH[J])), ("%s%d__wlgMarketingAmAvailNow__" + toString(fH[K])), ("%s%d__wlgMarketingWlgold__" + toString(fH[L])), ("%s%d__wlgTeamTotal__" + toString(fH[M])), ("%s%d__wlgTeamAmLeft__" + toString(fH[N])), ("%s%d__wlgTeamAmAvailNow__" + toString(fH[O])), ("%s%d__wlgTeamWlgold__" + toString(fH[P])), ("%s%d__wlgActTotal__" + toString(fH[Q])), ("%s%d__wlgActAmLeft__" + toString(fH[R])), ("%s%d__wlgActAmAvailNow__" + toString(fH[S])), ("%s%d__wlgActWlgold__" + toString(fH[T])), ("%s%d__wlgCurPeriod__" + toString(fH[U])), ("%s%d__wlgAmLeftTotal__" + toString(fH[V])), ("%s%d__wlgCurPeriodDistribution__" + toString(fH[W])), ("%s%d__wlgLastUserTime__" + toString(fH[X])), ("%s%d__wlgUserAmAvailNow__" + toString(fH[Y])), ("%s%d__wlgGuestSLandDaily__" + toString(fH[Z])), ("%s%d__wlgInvestFundTotal__" + toString(fH[aa]))])
1105+ let fO = ax(ay, [dD, aj, dE, dF, dG, aI], da, 0, dg)
1106+ $Tuple2(nil, [("%s%d__wlgAmount__" + toString(fO[z])), ("%s%d__wlgPrice__" + toString(fO[A])), ("%s%d__usdtFunds__" + toString(fO[B])), ("%s%d__usdtEconomy__" + toString(fO[C])), ("%s%d__usdtActivity__" + toString(fO[D])), ("%s%d__usdtArbitrage__" + toString(fO[E])), ("%s%d__usdtPool__" + toString(fO[F])), ("%s%d__wlgIssueTime__" + toString(fO[G])), ("%s%d__wlgLastMarketingTeamActTime__" + toString(fO[H])), ("%s%d__wlgMarketingTotal__" + toString(fO[I])), ("%s%d__wlgMarketingAmLeft__" + toString(fO[J])), ("%s%d__wlgMarketingAmAvailNow__" + toString(fO[K])), ("%s%d__wlgMarketingWlgold__" + toString(fO[L])), ("%s%d__wlgTeamTotal__" + toString(fO[M])), ("%s%d__wlgTeamAmLeft__" + toString(fO[N])), ("%s%d__wlgTeamAmAvailNow__" + toString(fO[O])), ("%s%d__wlgTeamWlgold__" + toString(fO[P])), ("%s%d__wlgActTotal__" + toString(fO[Q])), ("%s%d__wlgActAmLeft__" + toString(fO[R])), ("%s%d__wlgActAmAvailNow__" + toString(fO[S])), ("%s%d__wlgActWlgold__" + toString(fO[T])), ("%s%d__wlgCurPeriod__" + toString(fO[U])), ("%s%d__wlgAmLeftTotal__" + toString(fO[V])), ("%s%d__wlgCurPeriodDistribution__" + toString(fO[W])), ("%s%d__wlgLastUserTime__" + toString(fO[X])), ("%s%d__wlgUserAmAvailNow__" + toString(fO[Y])), ("%s%d__wlgGuestSLandDaily__" + toString(fO[Z])), ("%s%d__wlgInvestFundTotal__" + toString(fO[aa]))])
10931107 }
10941108
10951109
10961110
1097-@Callable(ff)
1098-func tournamentStatsREADONLY (fI) = {
1099- let fJ = cD(dD, fI)
1100- let cF = fJ[cB]
1101- let cG = fJ[cC]
1102- let fK = if ((cG[cM] == ""))
1111+@Callable(fm)
1112+func tournamentStatsREADONLY (fP) = {
1113+ let fQ = cH(dH, fP)
1114+ let cJ = fQ[cF]
1115+ let cK = fQ[cG]
1116+ let fR = if ((cK[cQ] == ""))
11031117 then " "
1104- else cG[cM]
1105- let fL = valueOrElse(getString(dD, cA(fI)), "")
1106- $Tuple2(nil, [("%s%s__tournamentStaticData__" + makeString([cF[cH], cF[cI], cF[cJ], cF[cK]], "_")), ("%s%s__tournamentDynamicData__" + makeString([cG[cL], fK, cG[cN], cG[cO], cG[cP]], "_")), ("%s%s__tournamentRegistrants__" + fL)])
1118+ else cK[cQ]
1119+ let fS = valueOrElse(getString(dH, cE(fP)), "")
1120+ $Tuple2(nil, [("%s%s__tournamentStaticData__" + makeString([cJ[cL], cJ[cM], cJ[cN], cJ[cO]], "_")), ("%s%s__tournamentDynamicData__" + makeString([cK[cP], fR, cK[cR], cK[cS], cK[cT]], "_")), ("%s%s__tournamentRegistrants__" + fS)])
11071121 }
11081122
11091123
11101124
1111-@Callable(ff)
1125+@Callable(fm)
11121126 func lastTournamentStatsREADONLY () = {
1113- let fI = valueOrElse(getInteger(dD, cw), 0)
1114- let cF = split(valueOrElse(getString(dD, cx(fI)), "%s%d%d%d%d%d____________"), db)
1115- let cG = split(valueOrElse(getString(dD, cz(fI)), "%s%s%d%d%d__________"), db)
1116- let fK = if ((cG[cM] == ""))
1127+ let fP = valueOrElse(getInteger(dH, cA), 0)
1128+ let cJ = split(valueOrElse(getString(dH, cB(fP)), "%s%d%d%d%d%d____________"), df)
1129+ let cK = split(valueOrElse(getString(dH, cD(fP)), "%s%s%d%d%d__________"), df)
1130+ let fR = if ((cK[cQ] == ""))
11171131 then " "
1118- else cG[cM]
1119- let fL = valueOrElse(getString(dD, cA(fI)), "")
1120- $Tuple2(nil, [("%s%s__lastTournamentId__" + toString(fI)), ("%s%s__tournamentStaticData__" + makeString([cF[cH], cF[cI], cF[cJ], cF[cK]], "_")), ("%s%s__tournamentDynamicData__" + makeString([cG[cL], fK, cG[cN], cG[cO], cG[cP]], "_")), ("%s%s__tournamentRegistrants__" + fL)])
1132+ else cK[cQ]
1133+ let fS = valueOrElse(getString(dH, cE(fP)), "")
1134+ $Tuple2(nil, [("%s%s__lastTournamentId__" + toString(fP)), ("%s%s__tournamentStaticData__" + makeString([cJ[cL], cJ[cM], cJ[cN], cJ[cO]], "_")), ("%s%s__tournamentDynamicData__" + makeString([cK[cP], fR, cK[cR], cK[cS], cK[cT]], "_")), ("%s%s__tournamentRegistrants__" + fS)])
11211135 }
11221136
11231137
11241138
1125-@Callable(ff)
1126-func tournamentDuckStatsREADONLY (cy,by) = {
1127- let fM = valueOrElse(getBoolean(dD, cQ(cy, by)), false)
1128- let fN = valueOrElse(getInteger(dD, cR(cy, by)), 0)
1129- let fO = valueOrElse(getInteger(dD, cS(cy, by)), 0)
1130- $Tuple2(nil, [("%s%s__tournamentDuckStats__" + makeString([toString(fM), toString(fN), toString(fO)], "_"))])
1139+@Callable(fm)
1140+func tournamentDuckStatsREADONLY (cC,bA) = {
1141+ let fT = valueOrElse(getBoolean(dH, cU(cC, bA)), false)
1142+ let fU = valueOrElse(getInteger(dH, cV(cC, bA)), 0)
1143+ let fV = valueOrElse(getInteger(dH, cW(cC, bA)), 0)
1144+ $Tuple2(nil, [("%s%s__tournamentDuckStats__" + makeString([toString(fT), toString(fU), toString(fV)], "_"))])
11311145 }
11321146
11331147
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = 1000000
55
66 let b = 100000000
77
88 let c = 100000000000000
99
1010 let d = 100000
1111
1212 let e = 200000
1313
1414 let f = 100000
1515
1616 let g = 400000
1717
1818 let h = 31557600000
1919
2020 let i = 86400000
2121
2222 let j = "marketingAddr"
2323
2424 let k = "teamAddr"
2525
2626 let l = "lastClaimedTime_marketing"
2727
2828 let m = "marketingAmountLeft"
2929
3030 let n = "lastClaimedTime_team"
3131
3232 let o = "teamAmountLeft"
3333
3434 let p = "lastClaimedTime_activities"
3535
3636 let q = "activitiesAmountLeft"
3737
3838 let r = "stakersAmountLeft"
3939
4040 func s (t) = ("lastClaimedTimeUser_" + t)
4141
4242
4343 func u (v) = fraction(c, (g * (v + 1)), (6 * a))
4444
4545
4646 let w = "wlg_issueTime"
4747
4848 let x = "wlg_issuedAmount"
4949
5050 let y = "zbill_issuedAmount"
5151
5252 let z = 0
5353
5454 let A = 1
5555
5656 let B = 2
5757
5858 let C = 3
5959
6060 let D = 4
6161
6262 let E = 5
6363
6464 let F = 6
6565
6666 let G = 7
6767
6868 let H = 8
6969
7070 let I = 9
7171
7272 let J = 10
7373
7474 let K = 11
7575
7676 let L = 12
7777
7878 let M = 13
7979
8080 let N = 14
8181
8282 let O = 15
8383
8484 let P = 16
8585
8686 let Q = 17
8787
8888 let R = 18
8989
9090 let S = 19
9191
9292 let T = 20
9393
9494 let U = 21
9595
9696 let V = 22
9797
9898 let W = 23
9999
100100 let X = 24
101101
102102 let Y = 25
103103
104104 let Z = 26
105105
106106 let aa = 27
107107
108108 let ab = 0
109109
110110 let ac = 1
111111
112112 let ad = 2
113113
114114 let ae = 3
115115
116116 let af = 4
117117
118118 let ag = 5
119119
120120 func ah (ai,aj) = {
121121 let ak = split(valueOrElse(getString(aj, "resTypesProportions"), "0_0_0_0_0_0"), "_")
122122 func al (am,an) = (am + parseIntValue(an))
123123
124124 let ao = {
125125 let ap = ak
126126 let aq = size(ap)
127127 let ar = 0
128128 func as (at,au) = if ((au >= aq))
129129 then at
130130 else al(at, ap[au])
131131
132132 func av (at,au) = if ((au >= aq))
133133 then at
134134 else throw("List size exceeds 6")
135135
136136 av(as(as(as(as(as(as(ar, 0), 1), 2), 3), 4), 5), 6)
137137 }
138138 let aw = valueOrElse(getInteger(aj, ("stakedPiecesByOwner_" + ai)), 0)
139139 [ao, aw]
140140 }
141141
142142
143143 func ax (ay,az,aA,aB,aC) = {
144144 let aD = valueOrErrorMessage(getInteger(az[ae], x), "WLGOLD is not issued yet")
145145 let aE = assetBalance(az[ad], aA)
146146 let aF = assetBalance(az[ab], aA)
147147 let aG = (assetBalance(az[ae], aA) - aB)
148148 let aH = assetBalance(az[af], aA)
149149 let aI = az[ag]
150150 let aJ = (assetBalance(aI, aA) + valueOrElse(getInteger(aI, y), 0))
151151 let aK = ((aE + aG) + aJ)
152152 let aL = valueOrErrorMessage(getBinary(az[ae], "wlg_assetId"), "Not initialized yet")
153153 let aM = lastBlock.timestamp
154154 let aN = valueOrErrorMessage(getInteger(az[ae], w), "Not initialized")
155155 let aO = fraction(c, d, a)
156156 let aP = valueOrElse(getInteger(az[ae], m), aO)
157157 let aQ = valueOrElse(getInteger(az[ae], l), aN)
158158 let aR = addressFromStringValue(value(getString(az[ae], j)))
159159 let aS = min([fraction(aO, (aM - aQ), h), aP])
160160 let aT = assetBalance(aR, aL)
161161 let aU = fraction(c, e, a)
162162 let aV = valueOrElse(getInteger(az[ae], o), aU)
163163 let aW = valueOrElse(getInteger(az[ae], n), aN)
164164 let aX = addressFromStringValue(value(getString(az[ae], k)))
165165 let aY = min([fraction(aU, (aM - aW), (3 * h)), aV])
166166 let aZ = assetBalance(aX, aL)
167167 let ba = fraction(c, f, a)
168168 let bb = valueOrElse(getInteger(az[ae], q), ba)
169169 let bc = valueOrElse(getInteger(az[ae], p), aN)
170170 let bd = min([fraction(ba, (aM - bc), (3 * h)), bb])
171171 let be = assetBalance(az[ab], aL)
172172 let bf = valueOrElse(getInteger(az[ae], s(ay)), aN)
173173 let bg = ((bf - aN) / h)
174174 let bh = min([aM, (aN + (3 * h))])
175175 let bi = min([((aM - aN) / h), 2])
176176 let bj = ah(ay, az[ac])
177177 let bk = u(bi)
178178 let bl = if ((bg == bi))
179179 then {
180180 let bm = fraction(bk, (bh - bf), h)
181181 let bn = fraction(bm, aC, a)
182182 let bo = (bf + fraction((bh - bf), aC, a))
183183 $Tuple3(bn, bm, bo)
184184 }
185185 else if ((bg == (bi - 1)))
186186 then {
187187 let bp = fraction(u((bi - 1)), ((aN + (h * bi)) - bf), h)
188188 let bm = fraction(bk, (bh - (aN + (h * bi))), h)
189189 let bq = (bp + bm)
190190 let bn = fraction(bq, aC, a)
191191 let bo = if ((bp >= bn))
192192 then (bf + fraction(h, bn, u((bi - 1))))
193193 else ((aN + (h * bi)) + fraction(h, (bn - bp), bk))
194194 $Tuple3(bn, bq, bo)
195195 }
196196 else {
197197 let br = fraction(u((bi - 2)), ((aN + (h * (bi - 1))) - bf), h)
198198 let bp = u((bi - 1))
199199 let bm = fraction(bk, (bh - (aN + (h * bi))), h)
200200 let bq = ((br + bp) + bm)
201201 let bn = fraction(bq, aC, a)
202202 let bo = if ((br >= bn))
203203 then (bf + fraction(h, bn, u((bi - 2))))
204204 else if (((br + bp) >= bn))
205205 then ((aN + (h * (bi - 1))) + fraction(h, (bn - br), u((bi - 1))))
206206 else ((aN + (h * bi)) + fraction(h, ((bn - br) - bp), bk))
207207 $Tuple3(bn, bq, bo)
208208 }
209209 let bs = bl._1
210210 let bt = bl._2
211211 let bu = bl._3
212212 let bv = fraction(fraction(bk, i, h), 25, bj[0])
213213 let bw = valueOrElse(getInteger(az[ae], r), 0)
214214 [aD, fraction(aK, b, aD), aK, aE, aF, aG, aH, aN, aQ, aO, aP, aS, aT, aU, aV, aY, aZ, ba, bb, bd, be, bi, bw, bk, bf, fraction(bs, bj[1], bj[0]), bv, aJ, fraction(bt, bj[1], bj[0]), bu]
215215 }
216216
217217
218-func bx (by) = ("duckHealth_" + by)
218+let bx = 100000000
219+
220+let by = 400
221+
222+func bz (bA) = ("duckHealth_" + bA)
219223
220224
221-func bz (by) = ("duckChars_" + by)
225+func bB (bA) = ("duckChars_" + bA)
222226
223227
224-func bA (by) = ("duckXP_" + by)
228+func bC (bA) = ("duckXP_" + bA)
225229
226230
227-func bB (by) = ("duckLevel_" + by)
231+func bD (bA) = ("duckLevel_" + bA)
228232
229233
230-func bC (by) = ("duckFreePoints_" + by)
234+func bE (bA) = ("duckFreePoints_" + bA)
231235
232236
233-func bD (by) = ("duckEquipment_" + by)
237+func bF (bA) = ("duckEquipment_" + bA)
234238
235239
236-func bE (t) = ("userXP_" + t)
240+func bG (t) = ("userXP_" + t)
237241
238242
239-func bF (t) = ("userLevel_" + t)
243+func bH (t) = ("userLevel_" + t)
240244
241245
242-func bG (t) = ("userFreePoints_" + t)
246+func bI (t) = ("userFreePoints_" + t)
243247
244248
245-func bH (by) = ("duckBuffs_" + by)
249+func bJ (bA) = ("duckBuffs_" + bA)
246250
247251
248-func bI (bJ) = (100 + bJ)
252+func bK (bA) = ("lastRobberyTime_" + bA)
249253
250254
251-let bK = "PRESALE"
255+func bL (bA) = ("lastRobberyCost_" + bA)
252256
253-let bL = "ONBOARD"
254257
255-let bM = 6
258+func bM (bN) = (100 + bN)
256259
257-let bN = 3456000
258260
259-let bO = 86400000
261+let bO = "PRESALE"
260262
261-let bP = 10000000000
263+let bP = "ONBOARD"
262264
263-let bQ = 39637
265+let bQ = 6
264266
265-let bR = 3
267+let bR = 3456000
266268
267-let bS = 4
269+let bS = 86400000
268270
269-let bT = 10
271+let bT = 10000000000
270272
271-let bU = 10000000
273+let bU = 39637
272274
273-let bV = ["8_8_8_17_17_42_12_0_30_0,0,0,0,0,0,0_", "8_8_8_17_17_42_24_0_60_0,0,5,2,0,0,0_", "8_8_8_17_17_42_36_0_120_0,0,10,4,0,0,0_", "8_19_19_8_27_19_26_1_20_0,0,0,0,0,0,0_001", "8_19_19_8_27_19_52_1_40_0,0,0,0,0,0,0_001", "8_19_19_8_27_19_78_1_80_0,0,0,0,0,0,0_001", "8_8_8_8_8_60_13_2_2_0,0,0,0,0,0,0_011", "8_8_8_8_8_60_26_2_4_0,0,0,0,0,0,0_011", "8_8_8_8_8_60_39_2_8_0,0,0,0,0,0,0_011", "30_30_3_17_17_3_30_3_30_0,0,0,0,0,0,0_111", "30_30_3_17_17_3_60_3_50_0,0,0,0,0,0,0_111", "30_30_3_17_17_3_90_3_70_0,0,0,0,0,0,0_111", "18_18_10_18_18_18_11_4_30_0,0,0,0,0,0,0_201", "18_18_10_18_18_18_22_4_50_0,0,0,0,0,0,0_201", "18_18_10_18_18_18_33_4_70_0,0,0,0,0,0,0_201", "4_13_22_4_35_22_23_0_50,1,0_0,0,0,0,0,0,0_", "4_13_22_4_35_22_46_0_50,1,1_0,2,5,0,0,0,0_", "4_13_22_4_35_22_69_0_50,2,1_0,5,10,0,0,0,0_", "5_25_40_5_10_15_20_1_30,1,1_0,0,0,0,0,0,0_", "5_25_40_5_10_15_40_1_30,1,2_2,1,3,0,0,0,0_", "5_25_40_5_10_15_60_1_30,1,3_5,2,8,0,0,0,0_"]
275+let bV = 3
274276
275-let bW = 6
277+let bW = 4
276278
277279 let bX = 10
278280
279-func bY (t) = ("lastTxIdByUser_" + t)
281+let bY = 10000000
282+
283+let bZ = ["8_8_8_17_17_42_12_0_30_0,0,0,0,0,0,0_", "8_8_8_17_17_42_24_0_60_0,0,5,2,0,0,0_", "8_8_8_17_17_42_36_0_120_0,0,10,4,0,0,0_", "8_19_19_8_27_19_26_1_20_0,0,0,0,0,0,0_001", "8_19_19_8_27_19_52_1_40_0,0,0,0,0,0,0_001", "8_19_19_8_27_19_78_1_80_0,0,0,0,0,0,0_001", "8_8_8_8_8_60_13_2_2_0,0,0,0,0,0,0_011", "8_8_8_8_8_60_26_2_4_0,0,0,0,0,0,0_011", "8_8_8_8_8_60_39_2_8_0,0,0,0,0,0,0_011", "30_30_3_17_17_3_30_3_30_0,0,0,0,0,0,0_111", "30_30_3_17_17_3_60_3_50_0,0,0,0,0,0,0_111", "30_30_3_17_17_3_90_3_70_0,0,0,0,0,0,0_111", "18_18_10_18_18_18_11_4_30_0,0,0,0,0,0,0_201", "18_18_10_18_18_18_22_4_50_0,0,0,0,0,0,0_201", "18_18_10_18_18_18_33_4_70_0,0,0,0,0,0,0_201", "4_13_22_4_35_22_23_0_50,1,0_0,0,0,0,0,0,0_", "4_13_22_4_35_22_46_0_50,1,1_0,2,5,0,0,0,0_", "4_13_22_4_35_22_69_0_50,2,1_0,5,10,0,0,0,0_", "5_25_40_5_10_15_20_1_30,1,1_0,0,0,0,0,0,0_", "5_25_40_5_10_15_40_1_30,1,2_2,1,3,0,0,0,0_", "5_25_40_5_10_15_60_1_30,1,3_5,2,8,0,0,0,0_"]
284+
285+let ca = 6
286+
287+let cb = 10
288+
289+func cc (t) = ("lastTxIdByUser_" + t)
280290
281291
282-func bZ (ca) = ("nftOwner_" + ca)
292+func cd (ce) = ("nftOwner_" + ce)
283293
284294
285-func cb (ca) = ("landCustomNameByAssetId_" + ca)
295+func cf (ce) = ("landCustomNameByAssetId_" + ce)
286296
287297
288-func cc (ca) = ("stakedTime_" + ca)
298+func cg (ce) = ("stakedTime_" + ce)
289299
290300
291-func cd (ce,ca) = makeString(["landArtStatus", ce, ca], "_")
301+func ch (ci,ce) = makeString(["landArtStatus", ci, ce], "_")
292302
293303
294-func cf (cg) = ("wareHouse_" + cg)
304+func cj (ck) = ("wareHouse_" + ck)
295305
296306
297-func ch (ca) = ("infraLevel_" + ca)
307+func cl (ce) = ("infraLevel_" + ce)
298308
299309
300-func ci (cg) = ("fortifications_" + cg)
310+func cm (ck) = ("fortifications_" + ck)
301311
302312
303-func cj (cg) = ("lastRobbedTime_" + cg)
313+func cn (ck) = ("lastRobbedTime_" + ck)
304314
305315
306-func ck (ca) = ("duckCustomNameByAssetId_" + ca)
316+func co (ce) = ("duckCustomNameByAssetId_" + ce)
307317
308318
309-func cl (t) = ("accountCustomNameByAddr_" + t)
319+func cp (t) = ("accountCustomNameByAddr_" + t)
310320
311321
312-func cm (t) = ("accRefBy_" + t)
322+func cq (t) = ("accRefBy_" + t)
313323
314324
315-func cn (t) = ("onboardArtActivatedDuckBy_" + t)
325+func cr (t) = ("onboardArtActivatedDuckBy_" + t)
316326
317327
318-func co (t) = ("accReferrals_" + t)
328+func cs (t) = ("accReferrals_" + t)
319329
320330
321-func cp (ca) = ("duckOwner_" + ca)
331+func ct (ce) = ("duckOwner_" + ce)
322332
323333
324-func cq (cr) = ("stakedDuckByOwner_" + cr)
334+func cu (cv) = ("stakedDuckByOwner_" + cv)
325335
326336
327-func cs (by) = ("duckLocation_" + by)
337+func cw (bA) = ("duckLocation_" + bA)
328338
329339
330-func ct () = "contractsBlocked"
340+func cx () = "contractsBlocked"
331341
332342
333-func cu (cg) = ("landOrder_" + cg)
343+func cy (ck) = ("landOrder_" + ck)
334344
335345
336-func cv () = "emergencyWarehouseProducts"
346+func cz () = "emergencyWarehouseProducts"
337347
338348
339-let cw = "%s__lastTourId"
349+let cA = "%s__lastTourId"
340350
341-func cx (cy) = ("%s%d__tourStaticData__" + toString(cy))
351+func cB (cC) = ("%s%d__tourStaticData__" + toString(cC))
342352
343353
344-func cz (cy) = ("%s%d__tourDynamicData__" + toString(cy))
354+func cD (cC) = ("%s%d__tourDynamicData__" + toString(cC))
345355
346356
347-func cA (cy) = ("%s%d__allRegistrants__" + toString(cy))
357+func cE (cC) = ("%s%d__allRegistrants__" + toString(cC))
348358
349359
350-let cB = 0
360+let cF = 0
351361
352-let cC = 1
362+let cG = 1
353363
354-func cD (cE,cy) = {
355- let cF = split(valueOrErrorMessage(getString(cE, cx(cy)), (("Error reading tournament " + toString(cy)) + " data")), "__")
356- let cG = split(valueOrErrorMessage(getString(cE, cz(cy)), (("Error reading tournament " + toString(cy)) + " data")), "__")
357-[cF, cG]
364+func cH (cI,cC) = {
365+ let cJ = split(valueOrErrorMessage(getString(cI, cB(cC)), (("Error reading tournament " + toString(cC)) + " data")), "__")
366+ let cK = split(valueOrErrorMessage(getString(cI, cD(cC)), (("Error reading tournament " + toString(cC)) + " data")), "__")
367+[cJ, cK]
358368 }
359369
360370
361-let cH = 2
371+let cL = 2
362372
363-let cI = 3
373+let cM = 3
364374
365-let cJ = 5
375+let cN = 5
366376
367-let cK = 6
377+let cO = 6
368378
369-let cL = 1
379+let cP = 1
370380
371-let cM = 2
381+let cQ = 2
372382
373-let cN = 3
383+let cR = 3
374384
375-let cO = 4
385+let cS = 4
376386
377-let cP = 5
387+let cT = 5
378388
379-func cQ (cy,by) = makeString(["%s%d%s__isRegisteredByTourAndDuck", toString(cy), by], "__")
389+func cU (cC,bA) = makeString(["%s%d%s__isRegisteredByTourAndDuck", toString(cC), bA], "__")
380390
381391
382-func cR (cy,by) = makeString(["%s%d%s__lastAttemptByTourAndDuck", toString(cy), by], "__")
392+func cV (cC,bA) = makeString(["%s%d%s__lastAttemptByTourAndDuck", toString(cC), bA], "__")
383393
384394
385-func cS (cy,by) = makeString(["%s%d%s__bestResultByTourAndDuck", toString(cy), by], "__")
395+func cW (cC,bA) = makeString(["%s%d%s__bestResultByTourAndDuck", toString(cC), bA], "__")
386396
387397
388-func cT (cU) = (parseIntValue(cU[bW]) * bU)
398+func cX (cY) = (parseIntValue(cY[ca]) * bY)
389399
390400
391-let cV = take(drop(this.bytes, 1), 1)
401+let cZ = take(drop(this.bytes, 1), 1)
392402
393-let cW = {
394- let cX = cV
395- if ((base58'2W' == cX))
403+let da = {
404+ let db = cZ
405+ if ((base58'2W' == db))
396406 then base58'9wc3LXNA4TEBsXyKtoLE9mrbDD7WMHXvXrCjZvabLAsi'
397- else if ((base58'2T' == cX))
407+ else if ((base58'2T' == db))
398408 then base58'6mWwf9mZBjVgkC54idpyaZLQfAosD914wT8fGf2iiY63'
399409 else throw("Unknown chain")
400410 }
401411
402-let cY = {
403- let cX = cV
404- if ((base58'2W' == cX))
412+let dc = {
413+ let db = cZ
414+ if ((base58'2W' == db))
405415 then "3PQCuvFbvh4LkPUnrnU1z3jnbA1p9m3WNhv"
406- else if ((base58'2T' == cX))
416+ else if ((base58'2T' == db))
407417 then "3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy"
408418 else throw("Unknown chain")
409419 }
410420
411-let cZ = {
412- let cX = cV
413- if ((base58'2W' == cX))
421+let dd = {
422+ let db = cZ
423+ if ((base58'2W' == db))
414424 then 10000000000
415- else if ((base58'2T' == cX))
425+ else if ((base58'2T' == db))
416426 then 100000000
417427 else throw("Unknown chain")
418428 }
419429
420-let da = {
421- let cX = cV
422- if ((base58'2W' == cX))
430+let de = {
431+ let db = cZ
432+ if ((base58'2W' == db))
423433 then 21600000
424- else if ((base58'2T' == cX))
434+ else if ((base58'2T' == db))
425435 then 600000
426436 else throw("Unknown chain")
427437 }
428438
429-let db = "__"
439+let df = "__"
430440
431-let dc = 1000000
441+let dg = 1000000
432442
433-let dd = 100000000
443+let dh = 100000000
434444
435-let de = 25
445+let di = 25
436446
437-let df = 100
447+let dj = 100
438448
439-let dg = 225
449+let dk = 225
440450
441-let dh = 400
451+let dl = 400
442452
443-let di = 625
453+let dm = 625
444454
445-func dj (dk,dl) = valueOrErrorMessage(getString(dk, dl), makeString(["mandatory ", toString(dk), ".", dl, " is not defined"], ""))
455+func dn (do,dp) = valueOrErrorMessage(getString(do, dp), makeString(["mandatory ", toString(do), ".", dp, " is not defined"], ""))
446456
447457
448-let dm = 1
458+let dq = 1
449459
450-let dn = 2
460+let dr = 2
451461
452-let do = 4
462+let ds = 4
453463
454-let dp = 5
464+let dt = 5
455465
456-let dq = 6
466+let du = 6
457467
458-let dr = 7
468+let dv = 7
459469
460-func ds () = "%s__restConfig"
470+func dw () = "%s__restConfig"
461471
462472
463-func dt () = "%s__restAddr"
473+func dx () = "%s__restAddr"
464474
465475
466-func du (dv) = split_4C(dj(dv, ds()), db)
476+func dy (dz) = split_4C(dn(dz, dw()), df)
467477
468478
469-func dw (dx,dy) = valueOrErrorMessage(addressFromString(dx[dy]), ("Rest cfg doesn't contain address at index " + toString(dy)))
479+func dA (dB,dC) = valueOrErrorMessage(addressFromString(dB[dC]), ("Rest cfg doesn't contain address at index " + toString(dC)))
470480
471481
472-let dz = addressFromStringValue(valueOrElse(getString(this, dt()), cY))
482+let dD = addressFromStringValue(valueOrElse(getString(this, dx()), dc))
473483
474-let dx = du(dz)
484+let dB = dy(dD)
475485
476-let aj = dw(dx, dm)
486+let aj = dA(dB, dq)
477487
478-let dA = dw(dx, dn)
488+let dE = dA(dB, dr)
479489
480-let dB = dw(dx, do)
490+let dF = dA(dB, ds)
481491
482-let dC = dw(dx, dp)
492+let dG = dA(dB, dt)
483493
484-let aI = dw(dx, dq)
494+let aI = dA(dB, du)
485495
486-let dD = dw(dx, dr)
496+let dH = dA(dB, dv)
487497
488-let dE = 0
498+let dI = 0
489499
490-let dF = 1
500+let dJ = 1
491501
492-let dG = 2
502+let dK = 2
493503
494-let dH = 3
504+let dL = 3
495505
496-let dI = "wlg_assetId"
506+let dM = "wlg_assetId"
497507
498-let dJ = valueOrErrorMessage(getBinary(dB, dI), "Not initialized yet")
508+let dN = valueOrErrorMessage(getBinary(dF, dM), "Not initialized yet")
499509
500-let dK = 1
510+let dO = 1
501511
502-func dL () = "resTypesProportions"
512+func dP () = "resTypesProportions"
503513
504514
505-func dM (cr) = ("stakedLandsByOwner_" + cr)
515+func dQ (cv) = ("stakedLandsByOwner_" + cv)
506516
507517
508-func dN (cr) = ("stakedPiecesByOwner_" + cr)
518+func dR (cv) = ("stakedPiecesByOwner_" + cv)
509519
510520
511-func dO (dP) = {
512- let cX = dP
513- if ($isInstanceOf(cX, "String"))
521+func dS (dT) = {
522+ let db = dT
523+ if ($isInstanceOf(db, "String"))
514524 then {
515- let dQ = cX
516- dQ
525+ let dU = db
526+ dU
517527 }
518528 else throw("fail to cast into String")
519529 }
520530
521531
522-func dR (dP) = {
523- let cX = dP
524- if ($isInstanceOf(cX, "Int"))
532+func dV (dT) = {
533+ let db = dT
534+ if ($isInstanceOf(db, "Int"))
525535 then {
526- let dS = cX
527- dS
536+ let dW = db
537+ dW
528538 }
529539 else throw("fail to cast into Int")
530540 }
531541
532542
533-func dT (dP) = {
534- let cX = dP
535- if ($isInstanceOf(cX, "Boolean"))
543+func dX (dT) = {
544+ let db = dT
545+ if ($isInstanceOf(db, "Boolean"))
536546 then {
537- let dQ = cX
538- dQ
547+ let dU = db
548+ dU
539549 }
540550 else throw("fail to cast into Boolean")
541551 }
542552
543553
544-func dU (dV) = {
545- let cX = dV
546- if (("S" == cX))
547- then de
548- else if (("M" == cX))
549- then df
550- else if (("L" == cX))
551- then dg
552- else if (("XL" == cX))
553- then dh
554- else if (("XXL" == cX))
555- then di
554+func dY (dZ) = {
555+ let db = dZ
556+ if (("S" == db))
557+ then di
558+ else if (("M" == db))
559+ then dj
560+ else if (("L" == db))
561+ then dk
562+ else if (("XL" == db))
563+ then dl
564+ else if (("XXL" == db))
565+ then dm
556566 else throw("Unknown land size")
557567 }
558568
559569
560-func dW (ai) = {
561- let ak = split(valueOrElse(getString(aj, dL()), "0_0_0_0_0_0"), "_")
570+func ea (ai) = {
571+ let ak = split(valueOrElse(getString(aj, dP()), "0_0_0_0_0_0"), "_")
562572 func al (am,an) = (am + parseIntValue(an))
563573
564574 let ao = {
565575 let ap = ak
566576 let aq = size(ap)
567577 let ar = 0
568578 func as (at,au) = if ((au >= aq))
569579 then at
570580 else al(at, ap[au])
571581
572582 func av (at,au) = if ((au >= aq))
573583 then at
574584 else throw("List size exceeds 6")
575585
576586 av(as(as(as(as(as(as(ar, 0), 1), 2), 3), 4), 5), 6)
577587 }
578- let aw = valueOrElse(getInteger(aj, dN(ai)), 0)
588+ let aw = valueOrElse(getInteger(aj, dR(ai)), 0)
579589 [ao, aw]
580590 }
581591
582592
583-let dX = 500000
593+let eb = 500000
584594
585-let dY = [toString(this), {
586- let cX = cV
587- if ((base58'2W' == cX))
595+let ec = [toString(this), {
596+ let db = cZ
597+ if ((base58'2W' == db))
588598 then "3P64qEVzuGzBJuYfDXYisFtokJChSRa8uja"
589- else if ((base58'2T' == cX))
599+ else if ((base58'2T' == db))
590600 then "3N3gSFrTwgiLAFZHMuJrEttht1nPhnkpvjs"
591601 else throw("Unknown chain")
592602 }]
593603
594-func dZ (ea) = {
595- let cX = ea
596- if ($isInstanceOf(cX, "List[Any]"))
604+func ed (ee) = {
605+ let db = ee
606+ if ($isInstanceOf(db, "List[Any]"))
597607 then {
598- let eb = cX
599- if ((size(eb) != bM))
600- then throw(("Array size is " + toString(size(eb))))
608+ let ef = db
609+ if ((size(ef) != bQ))
610+ then throw(("Array size is " + toString(size(ef))))
601611 else {
602- func ec (am,an) = {
603- let ed = an
604- if ($isInstanceOf(ed, "Int"))
612+ func eg (am,an) = {
613+ let eh = an
614+ if ($isInstanceOf(eh, "Int"))
605615 then {
606- let ee = ed
607- (am :+ toString(ee))
616+ let ei = eh
617+ (am :+ toString(ei))
608618 }
609619 else throw("List type is not Int")
610620 }
611621
612- let ef = {
613- let ap = eb
622+ let ej = {
623+ let ap = ef
614624 let aq = size(ap)
615625 let ar = nil
616626 func as (at,au) = if ((au >= aq))
617627 then at
618- else ec(at, ap[au])
628+ else eg(at, ap[au])
619629
620630 func av (at,au) = if ((au >= aq))
621631 then at
622632 else throw("List size exceeds 6")
623633
624634 av(as(as(as(as(as(as(ar, 0), 1), 2), 3), 4), 5), 6)
625635 }
626- makeString(ef, "_")
636+ makeString(ej, "_")
627637 }
628638 }
629639 else throw("fail to cast into List")
630640 }
631641
632642
633-func eg (ea) = {
634- let cX = ea
635- if ($isInstanceOf(cX, "(List[Any], List[Any])"))
643+func ek (ee) = {
644+ let db = ee
645+ if ($isInstanceOf(db, "(List[Any], List[Any])"))
636646 then {
637- let eh = cX
638- $Tuple2(dZ(eh._1), dZ(eh._2))
647+ let el = db
648+ $Tuple2(ed(el._1), ed(el._2))
639649 }
640650 else throw("fail to cast into (List, List)")
641651 }
642652
643653
644-func ei (ej) = {
645- let t = addressFromString(ej)
646- let ek = if (isDefined(t))
654+func em (en) = {
655+ let t = addressFromString(en)
656+ let eo = if (isDefined(t))
647657 then wavesBalance(value(t))
648658 else BalanceDetails(0, 0, 0, 0)
649- let el = if (isDefined(t))
650- then assetBalance(value(t), cW)
659+ let ep = if (isDefined(t))
660+ then assetBalance(value(t), da)
651661 else 0
652- let em = if (isDefined(t))
653- then assetBalance(value(t), dJ)
662+ let eq = if (isDefined(t))
663+ then assetBalance(value(t), dN)
654664 else 0
655- let en = valueOrElse(getString(aj, cl(ej)), ej)
656- let eo = cm(ej)
657- let ep = getString(aj, eo)
658- let eq = valueOrElse(getString(aj, co(ej)), "")
659- let er = valueOrElse(getString(aj, bY(ej)), "")
660- let es = dW(ej)[dK]
661- let et = valueOrElse(getInteger(aj, bE(ej)), 0)
662- let eu = valueOrElse(getInteger(aj, bF(ej)), 0)
663- let ev = valueOrElse(getInteger(aj, bG(ej)), 0)
664- let ew = if (isDefined(ep))
665- then (bL + (if (if (isDefined(t))
666- then isDefined(getString(aj, cn(ej)))
665+ let er = valueOrElse(getString(aj, cp(en)), en)
666+ let es = cq(en)
667+ let et = getString(aj, es)
668+ let eu = valueOrElse(getString(aj, cs(en)), "")
669+ let ev = valueOrElse(getString(aj, cc(en)), "")
670+ let ew = ea(en)[dO]
671+ let ex = valueOrElse(getInteger(aj, bG(en)), 0)
672+ let ey = valueOrElse(getInteger(aj, bH(en)), 0)
673+ let ez = valueOrElse(getInteger(aj, bI(en)), 0)
674+ let eA = if (isDefined(et))
675+ then (bP + (if (if (isDefined(t))
676+ then isDefined(getString(aj, cr(en)))
667677 else false)
668678 then ":1"
669679 else ":0"))
670680 else ""
671-[("%s%s__customName__" + en), ("%s%s__referredBy__" + valueOrElse(ep, "")), ("%s%s__referrals__" + eq), ("%s%s__lastTxId__" + er), ("%s%d__wavesBalance__" + toString(ek.available)), ("%s%d__wlgoldBalance__" + toString(em)), ("%s%d__usdtBalance__" + toString(el)), ("%s%d__stakedPieces__" + toString(es)), ("%s%d__currentXp__" + toString(et)), ("%s%d__currentLvl__" + toString(eu)), ("%s%d__pointsToDistribute__" + toString(ev)), ("%s%s__walletArtefacts__" + ew)]
681+[("%s%s__customName__" + er), ("%s%s__referredBy__" + valueOrElse(et, "")), ("%s%s__referrals__" + eu), ("%s%s__lastTxId__" + ev), ("%s%d__wavesBalance__" + toString(eo.available)), ("%s%d__wlgoldBalance__" + toString(eq)), ("%s%d__usdtBalance__" + toString(ep)), ("%s%d__stakedPieces__" + toString(ew)), ("%s%d__currentXp__" + toString(ex)), ("%s%d__currentLvl__" + toString(ey)), ("%s%d__pointsToDistribute__" + toString(ez)), ("%s%s__walletArtefacts__" + eA)]
672682 }
673683
674684
675-func ex (cg,es) = {
676- let ey = valueOrElse(getInteger(aj, ch(cg)), 0)
677- let ez = valueOrElse(getInteger(aj, cd(bK, cg)), 0)
678- let eA = (ey / 6)
679- let eB = (ey / 7)
680- $Tuple3(ey, ez, ((bN + fraction(bN, ((ey + eA) + (2 * eB)), 5)) + fraction(bN, ez, (es * 5))))
685+func eB (ck,ew) = {
686+ let eC = valueOrElse(getInteger(aj, cl(ck)), 0)
687+ let eD = valueOrElse(getInteger(aj, ch(bO, ck)), 0)
688+ let eE = (eC / 6)
689+ let eF = (eC / 7)
690+ $Tuple3(eC, eD, ((bR + fraction(bR, ((eC + eE) + (2 * eF)), 5)) + fraction(bR, eD, (ew * 5))))
681691 }
682692
683693
684-func eC (eD) = {
685- let eE = split(eD, "_")
686- ((bP * (parseIntValue(eE[1]) + 1)) * parseIntValue(eE[0]))
694+func eG (eH) = {
695+ let eI = split(eH, "_")
696+ ((bT * (parseIntValue(eI[1]) + 1)) * parseIntValue(eI[0]))
687697 }
688698
689699
690-func eF (eG,eH,ey) = {
691- let eD = ((toString(eH) + "_") + toString(ey))
692- let eI = toString(eC(eD))
693- let eJ = valueOrElse(getString(aj, eG), ((((eD + ":0_0_0_0_0_0:0_0_0_0_0_0::0_0_") + eI) + "_") + eI))
694- split(eJ, ":")
700+func eJ (eK,eL,eC) = {
701+ let eH = ((toString(eL) + "_") + toString(eC))
702+ let eM = toString(eG(eH))
703+ let eN = valueOrElse(getString(aj, eK), ((((eH + ":0_0_0_0_0_0:0_0_0_0_0_0::0_0_") + eM) + "_") + eM))
704+ split(eN, ":")
695705 }
696706
697707
698-func eK (by) = {
699- let eL = bI(valueOrElse(getInteger(aj, bB(by)), 0))
700- $Tuple5(valueOrElse(getInteger(aj, cc(by)), -1), value(assetInfo(fromBase58String(by))).name, valueOrElse(getString(aj, cs(by)), ""), valueOrElse(getInteger(aj, bx(by)), eL), dO(invoke(aj, "getBackpackREADONLY", [by], nil)))
708+func eO (bA) = {
709+ let eP = bM(valueOrElse(getInteger(aj, bD(bA)), 0))
710+ $Tuple5(valueOrElse(getInteger(aj, cg(bA)), -1), value(assetInfo(fromBase58String(bA))).name, valueOrElse(getString(aj, cw(bA)), ""), valueOrElse(getInteger(aj, bz(bA)), eP), dS(invoke(aj, "getBackpackREADONLY", [bA], nil)))
701711 }
702712
703713
704-func eM (by,eN,eO) = {
705- let en = valueOrElse(getString(aj, ck(by)), eO._2)
706- let eP = valueOrElse(getString(aj, bz(by)), "0_0_0_0_0")
707- let et = valueOrElse(getInteger(aj, bA(by)), 0)
708- let eu = valueOrElse(getInteger(aj, bB(by)), 0)
709- let ev = valueOrElse(getInteger(aj, bC(by)), 0)
710- let eQ = valueOrElse(getString(aj, bD(by)), ";_;_;_;_;_;")
711- let eR = valueOrElse(getString(aj, bH(by)), "0_0_0_0_0")
712-[("%s%s__assetId__" + by), ("%s%s__owner__" + eN), ("%s%s__customName__" + en), ("%s%d__stakedTime__" + toString(eO._1)), ("%s%s__name__" + eO._2), ("%s%s__location__" + eO._3), ("%s%d__health__" + toString(eO._4)), ("%s%d__maxHealth__" + toString(bI(eu))), ("%s%s__characteristics__" + eP), ("%s%d__currentXp__" + toString(et)), ("%s%d__currentLvl__" + toString(eu)), ("%s%d__pointsToDistribute__" + toString(ev)), ("%s%s__backPack__" + eO._5), ("%s%s__equipment__" + eQ), ("%s%s__buffs__" + eR)]
714+func eQ (bA,eR,eS) = {
715+ let er = valueOrElse(getString(aj, co(bA)), eS._2)
716+ let eT = valueOrElse(getString(aj, bB(bA)), "0_0_0_0_0")
717+ let ex = valueOrElse(getInteger(aj, bC(bA)), 0)
718+ let ey = valueOrElse(getInteger(aj, bD(bA)), 0)
719+ let ez = valueOrElse(getInteger(aj, bE(bA)), 0)
720+ let eU = valueOrElse(getString(aj, bF(bA)), ";_;_;_;_;_;")
721+ let eV = valueOrElse(getString(aj, bJ(bA)), "0_0_0_0_0")
722+ let eW = valueOrElse(getInteger(aj, bL(bA)), 0)
723+ let eX = valueOrElse(getInteger(aj, bK(bA)), 0)
724+ let aM = lastBlock.timestamp
725+ let eY = max([bx, (eW - (by * (aM - eX)))])
726+[("%s%s__assetId__" + bA), ("%s%s__owner__" + eR), ("%s%s__customName__" + er), ("%s%d__stakedTime__" + toString(eS._1)), ("%s%s__name__" + eS._2), ("%s%s__location__" + eS._3), ("%s%d__health__" + toString(eS._4)), ("%s%d__maxHealth__" + toString(bM(ey))), ("%s%s__characteristics__" + eT), ("%s%d__currentXp__" + toString(ex)), ("%s%d__currentLvl__" + toString(ey)), ("%s%d__pointsToDistribute__" + toString(ez)), ("%s%s__backPack__" + eS._5), ("%s%s__equipment__" + eU), ("%s%s__buffs__" + eV), ("%s%d__robberyCost__" + toString(eY)), ("%s%d__robberyTime__" + toString(eX))]
713727 }
714728
715729
716-func eS (cg,eN,eT) = if ((cg == ""))
730+func eZ (ck,eR,fa) = if ((ck == ""))
717731 then throw("landAssetId is required")
718732 else {
719- let eU = value(assetInfo(fromBase58String(cg)))
720- let eV = split(eU.description, "_")
721- let eW = if ((eU.quantity > 0))
722- then eV[dE]
723- else ("-" + eV[dE])
724- let es = dU(eV[dF])
725- let eX = ex(cg, es)
726- let eY = (lastBlock.timestamp - eT)
727- let eZ = if ((eT > 0))
728- then fraction(eY, (eX._3 * es), bO)
733+ let fb = value(assetInfo(fromBase58String(ck)))
734+ let fc = split(fb.description, "_")
735+ let fd = if ((fb.quantity > 0))
736+ then fc[dI]
737+ else ("-" + fc[dI])
738+ let ew = dY(fc[dJ])
739+ let fe = eB(ck, ew)
740+ let ff = (lastBlock.timestamp - fa)
741+ let fg = if ((fa > 0))
742+ then fraction(ff, (fe._3 * ew), bS)
729743 else 0
730- let fa = fraction(cZ, (es * (eX._1 + 1)), de)
731- let fb = if ((eT > 0))
732- then eg(invoke(aj, "splitByGlobalAndLocalWeightsREADONLY", [fa, eZ, eV[dG]], nil))
733- else $Tuple2(dZ(invoke(aj, "splitByGlobalWeightsREADONLY", [fa], nil)), "")
734- let en = valueOrElse(getString(aj, cb(cg)), ((eV[dH] + "-") + eV[dE]))
735- let fc = valueOrElse(getString(aj, ci(cg)), ":0_15:0_18:0")
736- let fd = valueOrElse(getInteger(aj, cj(cg)), 0)
737-[("%s%s__assetId__" + cg), ("%s%s__owner__" + eN), ("%s%s__customName__" + en), ("%s%d__stakedTime__" + toString(eT)), ("%s%s__description__" + makeString([eW, eV[dF], eV[dG], eV[dH]], "_")), ("%s%d__infraLevel__" + toString(eX._1)), ("%s%s__availResByType__" + fb._2), ("%s%d__availResTotal__" + toString(eZ)), ("%s%s__needMaterial__" + fb._1), ("%s%s__landArtefacts__PRESALE:" + toString(eX._2)), ("%s%s__warehouse__" + makeString(eF(cf(cg), (es / de), eX._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(dA, cu(cg)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:")), ("%s%s__fortifications__" + fc), ("%s%d__canBeRobbedAfter__" + toString((fd + da)))]
744+ let fh = fraction(dd, (ew * (fe._1 + 1)), di)
745+ let fi = if ((fa > 0))
746+ then ek(invoke(aj, "splitByGlobalAndLocalWeightsREADONLY", [fh, fg, fc[dK]], nil))
747+ else $Tuple2(ed(invoke(aj, "splitByGlobalWeightsREADONLY", [fh], nil)), "")
748+ let er = valueOrElse(getString(aj, cf(ck)), ((fc[dL] + "-") + fc[dI]))
749+ let fj = valueOrElse(getString(aj, cm(ck)), ":0_15:0_18:0")
750+ let fk = valueOrElse(getInteger(aj, cn(ck)), 0)
751+[("%s%s__assetId__" + ck), ("%s%s__owner__" + eR), ("%s%s__customName__" + er), ("%s%d__stakedTime__" + toString(fa)), ("%s%s__description__" + makeString([fd, fc[dJ], fc[dK], fc[dL]], "_")), ("%s%d__infraLevel__" + toString(fe._1)), ("%s%s__availResByType__" + fi._2), ("%s%d__availResTotal__" + toString(fg)), ("%s%s__needMaterial__" + fi._1), ("%s%s__landArtefacts__PRESALE:" + toString(fe._2)), ("%s%s__warehouse__" + makeString(eJ(cj(ck), (ew / di), fe._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(dE, cy(ck)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:")), ("%s%s__fortifications__" + fj), ("%s%d__canBeRobbedAfter__" + toString((fk + de)))]
738752 }
739753
740754
741-func fe (cg,eN) = if ((cg == ""))
755+func fl (ck,eR) = if ((ck == ""))
742756 then throw("landAssetId is required")
743757 else {
744- let eU = value(assetInfo(fromBase58String(cg)))
745- let eV = split(eU.description, "_")
746- let es = dU(eV[dF])
747- let eX = ex(cg, es)
748-[("%s%s__assetId__" + cg), ("%s%s__owner__" + eN), ("%s%s__warehouse__" + makeString(eF(cf(cg), (es / de), eX._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(dA, cu(cg)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
758+ let fb = value(assetInfo(fromBase58String(ck)))
759+ let fc = split(fb.description, "_")
760+ let ew = dY(fc[dJ])
761+ let fe = eB(ck, ew)
762+[("%s%s__assetId__" + ck), ("%s%s__owner__" + eR), ("%s%s__warehouse__" + makeString(eJ(cj(ck), (ew / di), fe._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(dE, cy(ck)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
749763 }
750764
751765
752-@Callable(ff)
753-func constructorV1 (az) = if ((ff.caller != this))
766+@Callable(fm)
767+func constructorV1 (az) = if ((fm.caller != this))
754768 then throw("permissions denied")
755769 else {
756- func fg (am,fh) = (am + "%s")
770+ func fn (am,fo) = (am + "%s")
757771
758- let fi = {
772+ let fp = {
759773 let ap = az
760774 let aq = size(ap)
761775 let ar = ""
762776 func as (at,au) = if ((au >= aq))
763777 then at
764- else fg(at, ap[au])
778+ else fn(at, ap[au])
765779
766780 func av (at,au) = if ((au >= aq))
767781 then at
768782 else throw("List size exceeds 10")
769783
770784 av(as(as(as(as(as(as(as(as(as(as(ar, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
771785 }
772-[StringEntry(ds(), makeString(fi :: az, db)), StringEntry(dt(), toString(this))]
786+[StringEntry(dw(), makeString(fp :: az, df)), StringEntry(dx(), toString(this))]
773787 }
774788
775789
776790
777-@Callable(ff)
778-func walletInfoREADONLY (ej) = $Tuple2(nil, ei(ej))
791+@Callable(fm)
792+func walletInfoREADONLY (en) = $Tuple2(nil, em(en))
779793
780794
781795
782-@Callable(ff)
783-func duckByOwnerInfoREADONLY (fj) = {
784- let fk = getString(aj, cq(fj))
785- $Tuple2(nil, if (if (isDefined(addressFromString(fj)))
786- then isDefined(fk)
796+@Callable(fm)
797+func duckByOwnerInfoREADONLY (fq) = {
798+ let fr = getString(aj, cu(fq))
799+ $Tuple2(nil, if (if (isDefined(addressFromString(fq)))
800+ then isDefined(fr)
787801 else false)
788802 then {
789- let by = value(fk)
790- eM(by, fj, eK(by))
803+ let bA = value(fr)
804+ eQ(bA, fq, eO(bA))
791805 }
792- else eM("", fj, $Tuple5(-1, "", "", -1, "")))
806+ else eQ("", fq, $Tuple5(-1, "", "", -1, "")))
793807 }
794808
795809
796810
797-@Callable(ff)
798-func duckByAssetIdInfoREADONLY (by) = {
799- let eN = getString(aj, cp(by))
800- $Tuple2(nil, eM(by, if (isDefined(eN))
801- then value(eN)
802- else "", eK(by)))
811+@Callable(fm)
812+func duckByAssetIdInfoREADONLY (bA) = {
813+ let eR = getString(aj, ct(bA))
814+ $Tuple2(nil, eQ(bA, if (isDefined(eR))
815+ then value(eR)
816+ else "", eO(bA)))
803817 }
804818
805819
806820
807-@Callable(ff)
808-func landByAssetIdInfoREADONLY (cg) = if ((cg == ""))
821+@Callable(fm)
822+func landByAssetIdInfoREADONLY (ck) = if ((ck == ""))
809823 then throw("landAssetId is required")
810824 else {
811- let eT = valueOrElse(getInteger(aj, cc(cg)), -1)
812- let eN = if ((eT > 0))
813- then value(getString(aj, bZ(cg)))
825+ let fa = valueOrElse(getInteger(aj, cg(ck)), -1)
826+ let eR = if ((fa > 0))
827+ then value(getString(aj, cd(ck)))
814828 else ""
815- $Tuple2(nil, eS(cg, eN, eT))
829+ $Tuple2(nil, eZ(ck, eR, fa))
816830 }
817831
818832
819833
820-@Callable(ff)
821-func stakedLandsByOwnerInfoREADONLY (fl) = if ((fl == ""))
834+@Callable(fm)
835+func stakedLandsByOwnerInfoREADONLY (fs) = if ((fs == ""))
822836 then throw("landOwnerAddress is required")
823837 else {
824- let fm = getString(aj, dM(fl))
825- let fn = if (isDefined(fm))
826- then split_51C(value(fm), "_")
838+ let ft = getString(aj, dQ(fs))
839+ let fu = if (isDefined(ft))
840+ then split_51C(value(ft), "_")
827841 else nil
828- func fo (am,cg) = if ((cg == ""))
842+ func fv (am,ck) = if ((ck == ""))
829843 then throw("landAssetId is required")
830844 else {
831- let eT = valueOrElse(getInteger(aj, cc(cg)), -1)
832- (am :+ eS(cg, fl, eT))
845+ let fa = valueOrElse(getInteger(aj, cg(ck)), -1)
846+ (am :+ eZ(ck, fs, fa))
833847 }
834848
835- let ef = {
836- let ap = fn
849+ let ej = {
850+ let ap = fu
837851 let aq = size(ap)
838852 let ar = nil
839853 func as (at,au) = if ((au >= aq))
840854 then at
841- else fo(at, ap[au])
855+ else fv(at, ap[au])
842856
843857 func av (at,au) = if ((au >= aq))
844858 then at
845859 else throw("List size exceeds 100")
846860
847861 av(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(ar, 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)
848862 }
849- $Tuple2(nil, ef)
863+ $Tuple2(nil, ej)
850864 }
851865
852866
853867
854-@Callable(ff)
855-func landsByIdsInfoREADONLY (fp) = {
856- func fo (am,cg) = if ((cg == ""))
868+@Callable(fm)
869+func landsByIdsInfoREADONLY (fw) = {
870+ func fv (am,ck) = if ((ck == ""))
857871 then throw("landAssetId is required")
858872 else {
859- let eT = valueOrElse(getInteger(aj, cc(cg)), -1)
860- let eN = if ((eT > 0))
861- then value(getString(aj, bZ(cg)))
873+ let fa = valueOrElse(getInteger(aj, cg(ck)), -1)
874+ let eR = if ((fa > 0))
875+ then value(getString(aj, cd(ck)))
862876 else ""
863- (am :+ eS(cg, eN, eT))
877+ (am :+ eZ(ck, eR, fa))
864878 }
865879
866- let ef = {
867- let ap = fp
880+ let ej = {
881+ let ap = fw
868882 let aq = size(ap)
869883 let ar = nil
870884 func as (at,au) = if ((au >= aq))
871885 then at
872- else fo(at, ap[au])
886+ else fv(at, ap[au])
873887
874888 func av (at,au) = if ((au >= aq))
875889 then at
876890 else throw("List size exceeds 100")
877891
878892 av(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(ar, 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)
879893 }
880- $Tuple2(nil, ef)
894+ $Tuple2(nil, ej)
881895 }
882896
883897
884898
885-@Callable(ff)
886-func warehouseOrderByAssetIdInfoREADONLY (cg) = if ((cg == ""))
899+@Callable(fm)
900+func warehouseOrderByAssetIdInfoREADONLY (ck) = if ((ck == ""))
887901 then throw("landAssetId is required")
888902 else {
889- let eT = valueOrElse(getInteger(aj, cc(cg)), -1)
890- let eN = if ((eT > 0))
891- then value(getString(aj, bZ(cg)))
903+ let fa = valueOrElse(getInteger(aj, cg(ck)), -1)
904+ let eR = if ((fa > 0))
905+ then value(getString(aj, cd(ck)))
892906 else ""
893- $Tuple2(nil, fe(cg, eN))
907+ $Tuple2(nil, fl(ck, eR))
894908 }
895909
896910
897911
898-@Callable(ff)
899-func ordersByLandIdsInfoREADONLY (fp) = {
900- func fo (am,cg) = if ((cg == ""))
912+@Callable(fm)
913+func ordersByLandIdsInfoREADONLY (fw) = {
914+ func fv (am,ck) = if ((ck == ""))
901915 then throw("landAssetId is required")
902916 else {
903- let eT = valueOrElse(getInteger(aj, cc(cg)), -1)
904- let eN = if ((eT > 0))
905- then value(getString(aj, bZ(cg)))
917+ let fa = valueOrElse(getInteger(aj, cg(ck)), -1)
918+ let eR = if ((fa > 0))
919+ then value(getString(aj, cd(ck)))
906920 else ""
907- (am :+ fe(cg, eN))
921+ (am :+ fl(ck, eR))
908922 }
909923
910- let ef = {
911- let ap = fp
924+ let ej = {
925+ let ap = fw
912926 let aq = size(ap)
913927 let ar = nil
914928 func as (at,au) = if ((au >= aq))
915929 then at
916- else fo(at, ap[au])
930+ else fv(at, ap[au])
917931
918932 func av (at,au) = if ((au >= aq))
919933 then at
920934 else throw("List size exceeds 40")
921935
922936 av(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(ar, 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)
923937 }
924- $Tuple2(nil, ef)
938+ $Tuple2(nil, ej)
925939 }
926940
927941
928942
929-@Callable(ff)
930-func cancelWarehouseOrders (fp) = if ((ff.caller != this))
943+@Callable(fm)
944+func cancelWarehouseOrders (fw) = if ((fm.caller != this))
931945 then throw("permission denied")
932946 else {
933- let fq = getBoolean(aj, ct())
934- if (if (!(isDefined(fq)))
947+ let fx = getBoolean(aj, cx())
948+ if (if (!(isDefined(fx)))
935949 then true
936- else (value(fq) == false))
950+ else (value(fx) == false))
937951 then throw("Contracts should be blocked before canceling orders")
938952 else {
939- func fo (eU,cg) = if ((cg == ""))
953+ func fv (fb,ck) = if ((ck == ""))
940954 then throw("landAssetId is required")
941955 else {
942- let fr = dT(invoke(dA, "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:", cg], nil))
943- if (if (eU)
956+ let fy = dX(invoke(dE, "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:", ck], nil))
957+ if (if (fb)
944958 then true
945- else fr)
946- then !(if (eU)
947- then fr
959+ else fy)
960+ then !(if (fb)
961+ then fy
948962 else false)
949963 else false
950964 }
951965
952- let ef = {
953- let ap = fp
966+ let ej = {
967+ let ap = fw
954968 let aq = size(ap)
955969 let ar = false
956970 func as (at,au) = if ((au >= aq))
957971 then at
958- else fo(at, ap[au])
972+ else fv(at, ap[au])
959973
960974 func av (at,au) = if ((au >= aq))
961975 then at
962976 else throw("List size exceeds 30")
963977
964978 av(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(ar, 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)
965979 }
966- $Tuple2(nil, ef)
980+ $Tuple2(nil, ej)
967981 }
968982 }
969983
970984
971985
972-@Callable(ff)
973-func fixWarehouseFormats (fp) = if ((ff.caller != this))
986+@Callable(fm)
987+func fixWarehouseFormats (fw) = if ((fm.caller != this))
974988 then throw("permission denied")
975989 else {
976- func fo (am,cg) = if ((cg == ""))
990+ func fv (am,ck) = if ((ck == ""))
977991 then throw("landAssetId is required")
978- else (am + size(dO(invoke(aj, "fixWarehouseFormat", [cg], nil))))
992+ else (am + size(dS(invoke(aj, "fixWarehouseFormat", [ck], nil))))
979993
980- let ef = {
981- let ap = fp
994+ let ej = {
995+ let ap = fw
982996 let aq = size(ap)
983997 let ar = 0
984998 func as (at,au) = if ((au >= aq))
985999 then at
986- else fo(at, ap[au])
1000+ else fv(at, ap[au])
9871001
9881002 func av (at,au) = if ((au >= aq))
9891003 then at
9901004 else throw("List size exceeds 25")
9911005
9921006 av(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(ar, 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)
9931007 }
994- $Tuple2(nil, ef)
1008+ $Tuple2(nil, ej)
9951009 }
9961010
9971011
9981012
999-@Callable(ff)
1000-func fixStakedPieces (fs) = if ((ff.caller != this))
1013+@Callable(fm)
1014+func fixStakedPieces (fz) = if ((fm.caller != this))
10011015 then throw("permission denied")
10021016 else {
1003- func ft (am,t) = if ((t == ""))
1017+ func fA (am,t) = if ((t == ""))
10041018 then throw("address is required")
1005- else (am + dR(invoke(aj, "fixStakedPieces", [t], nil)))
1019+ else (am + dV(invoke(aj, "fixStakedPieces", [t], nil)))
10061020
1007- let ef = {
1008- let ap = fs
1021+ let ej = {
1022+ let ap = fz
10091023 let aq = size(ap)
10101024 let ar = 0
10111025 func as (at,au) = if ((au >= aq))
10121026 then at
1013- else ft(at, ap[au])
1027+ else fA(at, ap[au])
10141028
10151029 func av (at,au) = if ((au >= aq))
10161030 then at
10171031 else throw("List size exceeds 16")
10181032
10191033 av(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(ar, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16)
10201034 }
1021- $Tuple2(nil, ef)
1035+ $Tuple2(nil, ej)
10221036 }
10231037
10241038
10251039
1026-@Callable(ff)
1027-func fixStakedLands (fp) = {
1028- let fu = toString(ff.caller)
1029- if (!(containsElement(dY, fu)))
1040+@Callable(fm)
1041+func fixStakedLands (fw) = {
1042+ let fB = toString(fm.caller)
1043+ if (!(containsElement(ec, fB)))
10301044 then throw("Permission denied")
10311045 else {
1032- let ef = dR(invoke(aj, "fixContinentProportions", [fp], nil))
1033- $Tuple2(nil, ef)
1046+ let ej = dV(invoke(aj, "fixContinentProportions", [fw], nil))
1047+ $Tuple2(nil, ej)
10341048 }
10351049 }
10361050
10371051
10381052
1039-@Callable(ff)
1040-func sendUsdtPrize (fj) = if ((ff.caller != aj))
1053+@Callable(fm)
1054+func sendUsdtPrize (fq) = if ((fm.caller != aj))
10411055 then throw("permission denied")
10421056 else {
1043- let fv = fraction(assetBalance(this, cW), dX, dc)
1044- $Tuple2([ScriptTransfer(addressFromStringValue(fj), fv, cW)], fv)
1057+ let fC = fraction(assetBalance(this, da), eb, dg)
1058+ $Tuple2([ScriptTransfer(addressFromStringValue(fq), fC, da)], fC)
10451059 }
10461060
10471061
10481062
1049-@Callable(ff)
1063+@Callable(fm)
10501064 func getEmergencyServiceDataREADONLY () = {
1051- let fw = getString(dA, cv())
1052- let fx = if (isDefined(fw))
1053- then split_4C(value(fw), "_")
1065+ let fD = getString(dE, cz())
1066+ let fE = if (isDefined(fD))
1067+ then split_4C(value(fD), "_")
10541068 else nil
1055- func fy (am,fz) = {
1056- let dS = am._2
1057- let cU = split(fz, "_")
1058- let fA = if ((dS == 0))
1059- then (bR * bX)
1069+ func fF (am,fG) = {
1070+ let dW = am._2
1071+ let cY = split(fG, "_")
1072+ let fH = if ((dW == 0))
1073+ then (bV * cb)
10601074 else 0
1061- let fB = if ((size(fx) > dS))
1062- then parseIntValue(fx[dS])
1075+ let fI = if ((size(fE) > dW))
1076+ then parseIntValue(fE[dW])
10631077 else 0
1064- let fC = cT(cU)
1065- let fD = fraction((fC * bS), bQ, (dd * bX))
1066- let fE = fraction((fC * bT), bQ, (dd * bX))
1067- let fF = makeString([toString(fA), toString(fB), toString(fD), toString(fE)], "_")
1068- $Tuple2((am._1 :+ fF), (dS + 1))
1078+ let fJ = cX(cY)
1079+ let fK = fraction((fJ * bW), bU, (dh * cb))
1080+ let fL = fraction((fJ * bX), bU, (dh * cb))
1081+ let fM = makeString([toString(fH), toString(fI), toString(fK), toString(fL)], "_")
1082+ $Tuple2((am._1 :+ fM), (dW + 1))
10691083 }
10701084
1071- let dQ = makeString_2C(( let ap = bV
1085+ let dU = makeString_2C(( let ap = bZ
10721086 let aq = size(ap)
10731087 let ar = $Tuple2(nil, 0)
10741088 func as (at,au) = if ((au >= aq))
10751089 then at
1076- else fy(at, ap[au])
1090+ else fF(at, ap[au])
10771091
10781092 func av (at,au) = if ((au >= aq))
10791093 then at
10801094 else throw("List size exceeds 50")
10811095
10821096 av(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(ar, 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, ":")
1083- let fG = ("%s%s__emergencyServiceData__" + dQ)
1084- $Tuple2(nil, fG)
1097+ let fN = ("%s%s__emergencyServiceData__" + dU)
1098+ $Tuple2(nil, fN)
10851099 }
10861100
10871101
10881102
1089-@Callable(ff)
1103+@Callable(fm)
10901104 func wlgStatsREADONLY (ay) = {
1091- let fH = ax(ay, [dz, aj, dA, dB, dC, aI], cW, 0, dc)
1092- $Tuple2(nil, [("%s%d__wlgAmount__" + toString(fH[z])), ("%s%d__wlgPrice__" + toString(fH[A])), ("%s%d__usdtFunds__" + toString(fH[B])), ("%s%d__usdtEconomy__" + toString(fH[C])), ("%s%d__usdtActivity__" + toString(fH[D])), ("%s%d__usdtArbitrage__" + toString(fH[E])), ("%s%d__usdtPool__" + toString(fH[F])), ("%s%d__wlgIssueTime__" + toString(fH[G])), ("%s%d__wlgLastMarketingTeamActTime__" + toString(fH[H])), ("%s%d__wlgMarketingTotal__" + toString(fH[I])), ("%s%d__wlgMarketingAmLeft__" + toString(fH[J])), ("%s%d__wlgMarketingAmAvailNow__" + toString(fH[K])), ("%s%d__wlgMarketingWlgold__" + toString(fH[L])), ("%s%d__wlgTeamTotal__" + toString(fH[M])), ("%s%d__wlgTeamAmLeft__" + toString(fH[N])), ("%s%d__wlgTeamAmAvailNow__" + toString(fH[O])), ("%s%d__wlgTeamWlgold__" + toString(fH[P])), ("%s%d__wlgActTotal__" + toString(fH[Q])), ("%s%d__wlgActAmLeft__" + toString(fH[R])), ("%s%d__wlgActAmAvailNow__" + toString(fH[S])), ("%s%d__wlgActWlgold__" + toString(fH[T])), ("%s%d__wlgCurPeriod__" + toString(fH[U])), ("%s%d__wlgAmLeftTotal__" + toString(fH[V])), ("%s%d__wlgCurPeriodDistribution__" + toString(fH[W])), ("%s%d__wlgLastUserTime__" + toString(fH[X])), ("%s%d__wlgUserAmAvailNow__" + toString(fH[Y])), ("%s%d__wlgGuestSLandDaily__" + toString(fH[Z])), ("%s%d__wlgInvestFundTotal__" + toString(fH[aa]))])
1105+ let fO = ax(ay, [dD, aj, dE, dF, dG, aI], da, 0, dg)
1106+ $Tuple2(nil, [("%s%d__wlgAmount__" + toString(fO[z])), ("%s%d__wlgPrice__" + toString(fO[A])), ("%s%d__usdtFunds__" + toString(fO[B])), ("%s%d__usdtEconomy__" + toString(fO[C])), ("%s%d__usdtActivity__" + toString(fO[D])), ("%s%d__usdtArbitrage__" + toString(fO[E])), ("%s%d__usdtPool__" + toString(fO[F])), ("%s%d__wlgIssueTime__" + toString(fO[G])), ("%s%d__wlgLastMarketingTeamActTime__" + toString(fO[H])), ("%s%d__wlgMarketingTotal__" + toString(fO[I])), ("%s%d__wlgMarketingAmLeft__" + toString(fO[J])), ("%s%d__wlgMarketingAmAvailNow__" + toString(fO[K])), ("%s%d__wlgMarketingWlgold__" + toString(fO[L])), ("%s%d__wlgTeamTotal__" + toString(fO[M])), ("%s%d__wlgTeamAmLeft__" + toString(fO[N])), ("%s%d__wlgTeamAmAvailNow__" + toString(fO[O])), ("%s%d__wlgTeamWlgold__" + toString(fO[P])), ("%s%d__wlgActTotal__" + toString(fO[Q])), ("%s%d__wlgActAmLeft__" + toString(fO[R])), ("%s%d__wlgActAmAvailNow__" + toString(fO[S])), ("%s%d__wlgActWlgold__" + toString(fO[T])), ("%s%d__wlgCurPeriod__" + toString(fO[U])), ("%s%d__wlgAmLeftTotal__" + toString(fO[V])), ("%s%d__wlgCurPeriodDistribution__" + toString(fO[W])), ("%s%d__wlgLastUserTime__" + toString(fO[X])), ("%s%d__wlgUserAmAvailNow__" + toString(fO[Y])), ("%s%d__wlgGuestSLandDaily__" + toString(fO[Z])), ("%s%d__wlgInvestFundTotal__" + toString(fO[aa]))])
10931107 }
10941108
10951109
10961110
1097-@Callable(ff)
1098-func tournamentStatsREADONLY (fI) = {
1099- let fJ = cD(dD, fI)
1100- let cF = fJ[cB]
1101- let cG = fJ[cC]
1102- let fK = if ((cG[cM] == ""))
1111+@Callable(fm)
1112+func tournamentStatsREADONLY (fP) = {
1113+ let fQ = cH(dH, fP)
1114+ let cJ = fQ[cF]
1115+ let cK = fQ[cG]
1116+ let fR = if ((cK[cQ] == ""))
11031117 then " "
1104- else cG[cM]
1105- let fL = valueOrElse(getString(dD, cA(fI)), "")
1106- $Tuple2(nil, [("%s%s__tournamentStaticData__" + makeString([cF[cH], cF[cI], cF[cJ], cF[cK]], "_")), ("%s%s__tournamentDynamicData__" + makeString([cG[cL], fK, cG[cN], cG[cO], cG[cP]], "_")), ("%s%s__tournamentRegistrants__" + fL)])
1118+ else cK[cQ]
1119+ let fS = valueOrElse(getString(dH, cE(fP)), "")
1120+ $Tuple2(nil, [("%s%s__tournamentStaticData__" + makeString([cJ[cL], cJ[cM], cJ[cN], cJ[cO]], "_")), ("%s%s__tournamentDynamicData__" + makeString([cK[cP], fR, cK[cR], cK[cS], cK[cT]], "_")), ("%s%s__tournamentRegistrants__" + fS)])
11071121 }
11081122
11091123
11101124
1111-@Callable(ff)
1125+@Callable(fm)
11121126 func lastTournamentStatsREADONLY () = {
1113- let fI = valueOrElse(getInteger(dD, cw), 0)
1114- let cF = split(valueOrElse(getString(dD, cx(fI)), "%s%d%d%d%d%d____________"), db)
1115- let cG = split(valueOrElse(getString(dD, cz(fI)), "%s%s%d%d%d__________"), db)
1116- let fK = if ((cG[cM] == ""))
1127+ let fP = valueOrElse(getInteger(dH, cA), 0)
1128+ let cJ = split(valueOrElse(getString(dH, cB(fP)), "%s%d%d%d%d%d____________"), df)
1129+ let cK = split(valueOrElse(getString(dH, cD(fP)), "%s%s%d%d%d__________"), df)
1130+ let fR = if ((cK[cQ] == ""))
11171131 then " "
1118- else cG[cM]
1119- let fL = valueOrElse(getString(dD, cA(fI)), "")
1120- $Tuple2(nil, [("%s%s__lastTournamentId__" + toString(fI)), ("%s%s__tournamentStaticData__" + makeString([cF[cH], cF[cI], cF[cJ], cF[cK]], "_")), ("%s%s__tournamentDynamicData__" + makeString([cG[cL], fK, cG[cN], cG[cO], cG[cP]], "_")), ("%s%s__tournamentRegistrants__" + fL)])
1132+ else cK[cQ]
1133+ let fS = valueOrElse(getString(dH, cE(fP)), "")
1134+ $Tuple2(nil, [("%s%s__lastTournamentId__" + toString(fP)), ("%s%s__tournamentStaticData__" + makeString([cJ[cL], cJ[cM], cJ[cN], cJ[cO]], "_")), ("%s%s__tournamentDynamicData__" + makeString([cK[cP], fR, cK[cR], cK[cS], cK[cT]], "_")), ("%s%s__tournamentRegistrants__" + fS)])
11211135 }
11221136
11231137
11241138
1125-@Callable(ff)
1126-func tournamentDuckStatsREADONLY (cy,by) = {
1127- let fM = valueOrElse(getBoolean(dD, cQ(cy, by)), false)
1128- let fN = valueOrElse(getInteger(dD, cR(cy, by)), 0)
1129- let fO = valueOrElse(getInteger(dD, cS(cy, by)), 0)
1130- $Tuple2(nil, [("%s%s__tournamentDuckStats__" + makeString([toString(fM), toString(fN), toString(fO)], "_"))])
1139+@Callable(fm)
1140+func tournamentDuckStatsREADONLY (cC,bA) = {
1141+ let fT = valueOrElse(getBoolean(dH, cU(cC, bA)), false)
1142+ let fU = valueOrElse(getInteger(dH, cV(cC, bA)), 0)
1143+ let fV = valueOrElse(getInteger(dH, cW(cC, bA)), 0)
1144+ $Tuple2(nil, [("%s%s__tournamentDuckStats__" + makeString([toString(fT), toString(fU), toString(fV)], "_"))])
11311145 }
11321146
11331147

github/deemru/w8io/169f3d6 
498.69 ms