tx · AV9cwwPTu77YCvGsy8F1tpDhsgUJqzGJ7YTdqUT21x2M

3N9Zi6AcWcGbM23jQJ4fnzFsoHoTsxYDznr:  -0.02300000 Waves

2023.12.29 10:31 [2907751] smart account 3N9Zi6AcWcGbM23jQJ4fnzFsoHoTsxYDznr > SELF 0.00000000 Waves

{ "type": 13, "id": "AV9cwwPTu77YCvGsy8F1tpDhsgUJqzGJ7YTdqUT21x2M", "fee": 2300000, "feeAssetId": null, "timestamp": 1703835131768, "version": 2, "chainId": 84, "sender": "3N9Zi6AcWcGbM23jQJ4fnzFsoHoTsxYDznr", "senderPublicKey": "GFbasS3jufhZkK4xR7tdTjjnP8K33KvJFEDHRtxXDkaJ", "proofs": [ "fs6Xyeu4oGtaS8183gAvZ8xfeeU8GNsuHchuQm3hcEixvDxFzTJpzaT11fRZh4C7y451w7Ed8GQnbRtjHVjDK7g" ], "script": "base64:BgKrFwgCEgQKAggBEgcKBQgICAgBEgQKAggIEgUKAwgIARIECgIICBIDCgEBEgMKAQESBAoCCAgSBAoCCAQSABIDCgEBEgASBAoCCAgSBAoCCAgSBAoCCAgSABIECgIICCIJc2VwYXJhdG9yIg5wb29sV2VpZ2h0TXVsdCIPbWF4RGVwdGhEZWZhdWx0IhZmaW5hbGl6YXRpb25TdGFnZVRvdGFsIhdmaW5hbGl6YXRpb25TdGFnZVNoYXJlcyIOa2V5RXBvY2hMZW5ndGgiEWtleUVwb2NoTGVuZ3RoTmV3IhVrZXlFcG9jaExlbmd0aEJ5RXBvY2giBWVwb2NoIg9rZXlDdXJyZW50RXBvY2giC2tleU1heERlcHRoIiJrZXlWb3RpbmdFbWlzc2lvbkNhbmRpZGF0ZUNvbnRyYWN0Ih1rZXlWb3RpbmdFbWlzc2lvblJhdGVDb250cmFjdCISa2V5RmFjdG9yeUNvbnRyYWN0IhNrZXlCb29zdGluZ0NvbnRyYWN0IhJrZXlTdGFraW5nQ29udHJhY3QiFGtleUZpbmFsaXphdGlvblN0YWdlIgtrZXlOZXh0UG9vbCILa2V5TmV4dFVzZXIiDmtleVN0YXJ0SGVpZ2h0IhFrZXlDdXJyZW50RXBvY2hVaSIQa2V5U3RhcnRIZWlnaHRVaSIda2V5RmluYWxpemF0aW9uU2hvdWxkQmVGb3JjZWQiFWtleVN0YXJ0SGVpZ2h0QnlFcG9jaCIMa2V5RmluYWxpemVkIglrZXlJbkxpc3QiBHBvb2wiCyR0MDE3ODgxODI4Ig1hbW91bnRBc3NldElkIgxwcmljZUFzc2V0SWQiB2tleVVzZWQiB2FkZHJlc3MiB2tleVZvdGUiCyR0MDIxMDIyMTQyIg9rZXlWb3RpbmdSZXN1bHQiCyR0MDIzMjQyMzY0IhVrZXlWb3RpbmdSZXN1bHRTdGFrZWQiDGxwQXNzZXRJZFN0ciIMa2V5UG9vbFNoYXJlIgskdDAyNjg1MjcyNSINa2V5VG90YWxWb3RlcyIPa2V5U3Rha2VkQnlVc2VyIg51c2VyQWRkcmVzc1N0ciIHd3JhcEVyciIDbXNnIgh0aHJvd0VyciIOZ2V0VmFsdWVPckZhaWwiA2tleSIEdHlwZSIFZXJyb3IiByRtYXRjaDAiA3N0ciIDaW50IgxnZXRTdHJPckZhaWwiAUAiDGdldEludE9yRmFpbCIMcG9vbFRvU3RyaW5nIgxzdHJpbmdUb1Bvb2wiBXBhcnRzIg9mYWN0b3J5Q29udHJhY3QiGklkeEZhY3RvcnlDZmdHd3hSZXdhcmREYXBwIg1rZXlGYWN0b3J5Q2ZnIhRyZWFkRmFjdG9yeUNmZ09yRmFpbCIHZmFjdG9yeSIZZ2V0R3d4UmV3YXJkQWRkcmVzc09yRmFpbCIKZmFjdG9yeUNmZyIWZ2V0THBBc3NldEJ5UG9vbEFzc2V0cyIfa2V5TWFwcGluZ3NCYXNlQXNzZXQyaW50ZXJuYWxJZCIMYmFzZUFzc2V0U3RyIilrZXlNYXBwaW5nUG9vbEFzc2V0c1RvUG9vbENvbnRyYWN0QWRkcmVzcyIYaW50ZXJuYWxBbW91bnRBc3NldElkU3RyIhdpbnRlcm5hbFByaWNlQXNzZXRJZFN0ciIfa2V5TWFwcGluZ1Bvb2xDb250cmFjdFRvTFBBc3NldCITcG9vbENvbnRyYWN0QWRkcmVzcyIVYW1vdW50QXNzZXRJbnRlcm5hbElkIhRwcmljZUFzc2V0SW50ZXJuYWxJZCIJbHBBc3NldElkIhhjaGVja1d4RW1pc3Npb25Qb29sTGFiZWwiCyR0MDU1NjU1NjA1IhBnd3hSZXdhcmREZXBvc2l0IhJnd3hSZXdhcmRzQ29udHJhY3QiDXBvb2xzTGlzdE5hbWUiEGdldFZvdGVzTGlzdE5hbWUiCyR0MDYwMjI2MDYyIgtrZXlMaXN0SGVhZCIIbGlzdE5hbWUiBG1ldGEiC2tleUxpc3RTaXplIgtrZXlMaXN0UHJldiICaWQiC2tleUxpc3ROZXh0Igxjb250YWluc05vZGUiCmhlYWRPclVuaXQiCnByZXZPclVuaXQiCm5leHRPclVuaXQiEWluc2VydE5vZGVBY3Rpb25zIghsaXN0U2l6ZSIJY2hlY2tOb2RlIhFkZWxldGVOb2RlQWN0aW9ucyIWa2V5TWFuYWdlclZhdWx0QWRkcmVzcyITa2V5TWFuYWdlclB1YmxpY0tleSIcZ2V0TWFuYWdlclZhdWx0QWRkcmVzc09yVGhpcyIBcyIWbWFuYWdlclB1YmxpY0tleU9yVW5pdCITbWFuYWdlclZhdWx0QWRkcmVzcyIJaXNNYW5hZ2VyIgFpIgJwayILbXVzdE1hbmFnZXIiCG11c3RUaGlzIgt1c2VyQWRkcmVzcyIMdGFyZ2V0SGVpZ2h0Ihdib29zdGluZ0NvbnRyYWN0QWRkcmVzcyIfdm90aW5nRW1pc3Npb25DYW5kaWRhdGVDb250cmFjdCIQYm9vc3RpbmdDb250cmFjdCIPc3Rha2luZ0NvbnRyYWN0IgtlcG9jaExlbmd0aCIGY2hlY2tzIg1pbkxpc3RBY3Rpb25zIhhjdXJyZW50RXBvY2hJc05vdERlZmluZWQiEnN0YXJ0SGVpZ2h0QWN0aW9ucyIGYW1vdW50IgtzdGFydEhlaWdodCIJZW5kSGVpZ2h0IhdmaW5hbGl6YXRpb25TdGFnZU9yVW5pdCIEdXNlZCIEdm90ZSIKcG9vbFJlc3VsdCIKdG90YWxWb3RlcyITZ3d4QW1vdW50QXRFbmRUb3RhbCIJYXZhaWxhYmxlIgduZXdWb3RlIgp3eEVtaXNzaW9uIg12b3Rlc0xpc3ROYW1lIhB2b3Rlc0xpc3RBY3Rpb25zIg5uZXdFcG9jaExlbmd0aCILbmV3TWF4RGVwdGgiB3Bvb2xTdHIiC2NoZWNrQ2FsbGVyIg1lcG9jaFByZXZpb3VzIhNzdGFydEhlaWdodFByZXZpb3VzIhNlcG9jaExlbmd0aFByZXZpb3VzIhFlbmRIZWlnaHRQcmV2aW91cyIQY2hlY2tUYXJnZXRFcG9jaCINJHQwMTgwNjUxODEwNSIbZ3d4QW1vdW50QXRFbmRUb3RhbFByZXZpb3VzIgx2b3RpbmdSZXN1bHQiDHZvdGVQcmV2aW91cyIadm90aW5nUmVzdWx0U3Rha2VkUHJldmlvdXMiDHN0YWtlZEJ5VXNlciIZdm90aW5nUmVzdWx0U3Rha2VkQWN0aW9ucyILYmFsYW5jZUlzT2siB2FjdGlvbnMiBWZvcmNlIgt0YXJnZXRFcG9jaCIMY3VycmVudEVwb2NoIg0kdDAyMDY0MTIwNjgxIgFyIhhkZWxldGVXeEVtaXNzaW9uTGFiZWxJbnYiBXNoYXJlIg9tb2RpZnlXZWlnaHRJbnYiEHBvb2xzTGlzdEFjdGlvbnMiDXByZXZpb3VzRXBvY2giCG5ld0Vwb2NoIhRuZXdFcG9jaExlbmd0aE9wdGlvbiIVbmV3RXBvY2hMZW5ndGhBY3Rpb25zIgpwb29sT3JVbml0Igp1c2VyT3JVbml0IgckbWF0Y2gxIgxwb29sc0hlYWRTdHIiDm5leHRVc2VyT3JVbml0IgR1c2VyIgRuZXh0Ig5wcm9jZXNzVm90ZUludiIObmV4dFBvb2xPclVuaXQiByRtYXRjaDIiCG5leHRVc2VyIhNnd3hSZXdhcmREZXBvc2l0SW52IgtuZXh0UG9vbFN0ciIHY291bnRlciIadm90aW5nRW1pc3Npb25SYXRlQ29udHJhY3QiBnJlc3VsdCIDaW52IghtYXhEZXB0aCIWZmluYWxpemF0aW9uSW5Qcm9ncmVzcyICdHgiBnZlcmlmeSIPdGFyZ2V0UHVibGljS2V5PwABYQICX18AAWIAgMLXLwABYwAKAAFkAAAAAWUAAQABZgkAuQkCCQDMCAICAiVzCQDMCAICC2Vwb2NoTGVuZ3RoBQNuaWwFAWEAAWcJALkJAgkAzAgCAgQlcyVzCQDMCAICEGVwb2NoTGVuZ3RoX19uZXcFA25pbAUBYQEBaAEBaQkAuQkCCQDMCAICBCVzJWQJAMwIAgILZXBvY2hMZW5ndGgJAMwIAgkApAMBBQFpBQNuaWwFAWEAAWoJALkJAgkAzAgCAgIlcwkAzAgCAgxjdXJyZW50RXBvY2gFA25pbAUBYQABawkAuQkCCQDMCAICAiVzCQDMCAICCG1heERlcHRoBQNuaWwFAWEAAWwJALkJAgkAzAgCAgIlcwkAzAgCAh92b3RpbmdFbWlzc2lvbkNhbmRpZGF0ZUNvbnRyYWN0BQNuaWwFAWEAAW0JALkJAgkAzAgCAgIlcwkAzAgCAhp2b3RpbmdFbWlzc2lvblJhdGVDb250cmFjdAUDbmlsBQFhAAFuCQC5CQIJAMwIAgICJXMJAMwIAgIPZmFjdG9yeUNvbnRyYWN0BQNuaWwFAWEAAW8JALkJAgkAzAgCAgIlcwkAzAgCAhBib29zdGluZ0NvbnRyYWN0BQNuaWwFAWEAAXAJALkJAgkAzAgCAgIlcwkAzAgCAg9zdGFraW5nQ29udHJhY3QFA25pbAUBYQABcQkAuQkCCQDMCAICAiVzCQDMCAICEWZpbmFsaXphdGlvblN0YWdlBQNuaWwFAWEAAXIJALkJAgkAzAgCAgIlcwkAzAgCAghuZXh0UG9vbAUDbmlsBQFhAAFzCQC5CQIJAMwIAgICJXMJAMwIAgIIbmV4dFVzZXIFA25pbAUBYQABdAkAuQkCCQDMCAICAiVzCQDMCAICC3N0YXJ0SGVpZ2h0BQNuaWwFAWEAAXUJALkJAgkAzAgCAgIlcwkAzAgCAg5jdXJyZW50RXBvY2hVaQUDbmlsBQFhAAF2CQC5CQIJAMwIAgICJXMJAMwIAgINc3RhcnRIZWlnaHRVaQUDbmlsBQFhAAF3CQC5CQIJAMwIAgICJXMJAMwIAgIFZm9yY2UFA25pbAUBYQEBeAEBaQkAuQkCCQDMCAICBCVzJWQJAMwIAgILc3RhcnRIZWlnaHQJAMwIAgkApAMBBQFpBQNuaWwFAWEBAXkBAWkJALkJAgkAzAgCAgQlcyVkCQDMCAICCWZpbmFsaXplZAkAzAgCCQCkAwEFAWkFA25pbAUBYQEBegEBQQQBQgUBQQQBQwgFAUICXzEEAUQIBQFCAl8yCQC5CQIJAMwIAgIGJXMlcyVzCQDMCAICBmluTGlzdAkAzAgCBQFDCQDMCAIFAUQFA25pbAUBYQEBRQIBRgFpCQC5CQIJAMwIAgIGJXMlcyVkCQDMCAICBHVzZWQJAMwIAgkApQgBBQFGCQDMCAIJAKQDAQUBaQUDbmlsBQFhAQFHAwFBAUYBaQQBSAUBQQQBQwgFAUgCXzEEAUQIBQFIAl8yCQC5CQIJAMwIAgIKJXMlcyVzJXMlZAkAzAgCAgR2b3RlCQDMCAIFAUMJAMwIAgUBRAkAzAgCCQClCAEFAUYJAMwIAgkApAMBBQFpBQNuaWwFAWEBAUkCAUEBaQQBSgUBQQQBQwgFAUoCXzEEAUQIBQFKAl8yCQC5CQIJAMwIAgIIJXMlcyVzJWQJAMwIAgIMdm90aW5nUmVzdWx0CQDMCAIFAUMJAMwIAgUBRAkAzAgCCQCkAwEFAWkFA25pbAUBYQEBSwIBTAFpCQC5CQIJAMwIAgIGJXMlcyVkCQDMCAICEnZvdGluZ1Jlc3VsdFN0YWtlZAkAzAgCBQFMCQDMCAIJAKQDAQUBaQUDbmlsBQFhAQFNAgFBAWkEAU4FAUEEAUMIBQFOAl8xBAFECAUBTgJfMgkAuQkCCQDMCAICCCVzJXMlcyVkCQDMCAICCXBvb2xTaGFyZQkAzAgCBQFDCQDMCAIFAUQJAMwIAgkApAMBBQFpBQNuaWwFAWEBAU8BAWkJALkJAgkAzAgCAgQlcyVkCQDMCAICCnRvdGFsVm90ZXMJAMwIAgkApAMBBQFpBQNuaWwFAWEBAVACAUwBUQkAuQkCCQDMCAICBiVzJXMlcwkAzAgCAgZzdGFrZWQJAMwIAgUBUQkAzAgCBQFMBQNuaWwFAWEBAVIBAVMJALkJAgkAzAgCAhV2b3RpbmdfZW1pc3Npb24ucmlkZToJAMwIAgUBUwUDbmlsAgEgAQFUAQFTCQACAQkBAVIBBQFTAQFVAwFGAVYBVwQBWAkBAVIBCQC5CQIJAMwIAgIKbWFuZGF0b3J5IAkAzAgCCQClCAEFAUYJAMwIAgIBLgkAzAgCBQFWCQDMCAICDyBpcyBub3QgZGVmaW5lZAUDbmlsAgAJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgQBWQUBVwMJAAECBQFZAgZTdHJpbmcEAVoFAVkJAJ0IAgUBRgUBVgMJAAECBQFZAgNJbnQEAmFhBQFZCQCaCAIFAUYFAVYJAQFUAQISaW52YWxpZCBlbnRyeSB0eXBlBQFYAQJhYgIBRgFWCgACYWMJAQFVAwUBRgUBVgIAAwkAAQIFAmFjAgZTdHJpbmcFAmFjCQACAQkArAICCQADAQUCYWMCGyBjb3VsZG4ndCBiZSBjYXN0IHRvIFN0cmluZwECYWQCAUYBVgoAAmFjCQEBVQMFAUYFAVYAAAMJAAECBQJhYwIDSW50BQJhYwkAAgEJAKwCAgkAAwEFAmFjAhggY291bGRuJ3QgYmUgY2FzdCB0byBJbnQBAmFlAQFBCQCsAgIJAKwCAggFAUECXzEFAWEIBQFBAl8yAQJhZgEBWgQCYWcJALUJAgUBWgUBYQMJAAACCQCQAwEFAmFnAAIJAJQKAgkAkQMCBQJhZwAACQCRAwIFAmFnAAEJAQFUAQITaW52YWxpZCBwb29sIHN0cmluZwACYWgJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQJhYgIFBHRoaXMFAW4AAmFpAAoBAmFqAAIRJXNfX2ZhY3RvcnlDb25maWcBAmFrAQJhbAkAtQkCCQECYWICBQJhbAkBAmFqAAUBYQECYW0BAmFuCQERQGV4dHJOYXRpdmUoMTA2MikBCQCRAwIFAmFuBQJhaQECYW8CAUMBRAoBAmFwAQJhcQkArAICAiglcyVzJXNfX21hcHBpbmdzX19iYXNlQXNzZXQyaW50ZXJuYWxJZF9fBQJhcQoBAmFyAgJhcwJhdAkArAICCQCsAgIJAKwCAgkArAICAgolZCVkJXMlc19fCQCkAwEFAmFzAgJfXwkApAMBBQJhdAIjX19tYXBwaW5nc19fcG9vbEFzc2V0czJQb29sQ29udHJhY3QKAQJhdQECYXYJAKwCAgkArAICAgglcyVzJXNfXwUCYXYCIF9fbWFwcGluZ3NfX3Bvb2xDb250cmFjdDJMcEFzc2V0BAJhdwkBAmFkAgUCYWgJAQJhcAEFAUMEAmF4CQECYWQCBQJhaAkBAmFwAQUBRAQCYXYJAQJhYgIFAmFoCQECYXICBQJhdwUCYXgEAmF5CQECYWICBQJhaAkBAmF1AQUCYXYFAmF5AQJhegEBQQQCYUEFAUEEAUMIBQJhQQJfMQQBRAgFAmFBAl8yCgACYWMJAPwHBAUCYWgCGGNoZWNrV3hFbWlzc2lvblBvb2xMYWJlbAkAzAgCBQFDCQDMCAIFAUQFA25pbAUDbmlsAwkAAQIFAmFjAgdCb29sZWFuBQJhYwkAAgEJAKwCAgkAAwEFAmFjAhwgY291bGRuJ3QgYmUgY2FzdCB0byBCb29sZWFuAQJhQgAEAmFuCQECYWsBBQJhaAQCYUMJAQJhbQEFAmFuCQD8BwQFAmFDAgdkZXBvc2l0BQNuaWwFA25pbAACYUQCBXBvb2xzAQJhRQEBQQQCYUYFAUEEAUMIBQJhRgJfMQQBRAgFAmFGAl8yCQC5CQIJAMwIAgIFdm90ZXMJAMwIAgUBQwkAzAgCBQFEBQNuaWwFAWEBAmFHAQJhSAQCYUkDCQAAAgUCYUgFAmFEAgQlcyVzAgglcyVzJXMlcwkAuQkCCQDMCAIFAmFJCQDMCAIFAmFICQDMCAICBGhlYWQFA25pbAUBYQECYUoBAmFIBAJhSQMJAAACBQJhSAUCYUQCBCVzJXMCCCVzJXMlcyVzCQC5CQIJAMwIAgUCYUkJAMwIAgUCYUgJAMwIAgIEc2l6ZQUDbmlsBQFhAQJhSwICYUgCYUwEAmFJAwkAAAIFAmFIBQJhRAIIJXMlcyVzJXMCCiVzJXMlcyVzJXMJALkJAgkAzAgCBQJhSQkAzAgCBQJhSAkAzAgCBQJhTAkAzAgCAgRwcmV2BQNuaWwFAWEBAmFNAgJhSAJhTAQCYUkDCQAAAgUCYUgFAmFEAgglcyVzJXMlcwIKJXMlcyVzJXMlcwkAuQkCCQDMCAIFAmFJCQDMCAIFAmFICQDMCAIFAmFMCQDMCAICBG5leHQFA25pbAUBYQECYU4CAmFIAmFMBAJhTwkAnQgCBQR0aGlzCQECYUcBBQJhSAQCYVAJAJ0IAgUEdGhpcwkBAmFLAgUCYUgFAmFMBAJhUQkAnQgCBQR0aGlzCQECYU0CBQJhSAUCYUwDAwkAAAIFAmFMCQELdmFsdWVPckVsc2UCBQJhTwIABgkBAiE9AgUCYVAFBHVuaXQGCQECIT0CBQJhUQUEdW5pdAECYVICAmFIAmFMBAJhTwkAnQgCBQR0aGlzCQECYUcBBQJhSAQCYVMJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBAmFKAQUCYUgAAAQCYVQDCQEBIQEJAQJhTgIFAmFIBQJhTAYJAQFUAQILTm9kZSBleGlzdHMDCQAAAgUCYVQFAmFUCQDOCAIJAM4IAgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAmFKAQUCYUgJAGQCBQJhUwABBQNuaWwDCQECIT0CBQJhTwUEdW5pdAkAzAgCCQELU3RyaW5nRW50cnkCCQECYU0CBQJhSAUCYUwJAQV2YWx1ZQEFAmFPCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQJhSwIFAmFICQEFdmFsdWUBBQJhTwUCYUwFA25pbAUDbmlsCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQJhRwEFAmFIBQJhTAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAQJhVQICYUgCYUwEAmFPCQCdCAIFBHRoaXMJAQJhRwEFAmFIBAJhUwkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQECYUoBBQJhSAAABAJhUAkAnQgCBQR0aGlzCQECYUsCBQJhSAUCYUwEAmFRCQCdCAIFBHRoaXMJAQJhTQIFAmFIBQJhTAkAzggCCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQECYUoBBQJhSAkAZQIFAmFTAAEFA25pbAMDCQECIT0CBQJhUAUEdW5pdAkBAiE9AgUCYVEFBHVuaXQHCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQJhTQIFAmFICQEFdmFsdWUBBQJhUAkBBXZhbHVlAQUCYVEJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAmFLAgUCYUgJAQV2YWx1ZQEFAmFRCQEFdmFsdWUBBQJhUAkAzAgCCQELRGVsZXRlRW50cnkBCQECYUsCBQJhSAUCYUwJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAmFNAgUCYUgFAmFMBQNuaWwDCQECIT0CBQJhUQUEdW5pdAkAzAgCCQELU3RyaW5nRW50cnkCCQECYUcBBQJhSAkBBXZhbHVlAQUCYVEJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAmFNAgUCYUgFAmFMCQDMCAIJAQtEZWxldGVFbnRyeQEJAQJhSwIFAmFICQEFdmFsdWUBBQJhUQUDbmlsAwkBAiE9AgUCYVAFBHVuaXQJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAmFLAgUCYUgFAmFMCQDMCAIJAQtEZWxldGVFbnRyeQEJAQJhTQIFAmFICQEFdmFsdWUBBQJhUAUDbmlsAwkAAAIFAmFMCQELdmFsdWVPckVsc2UCBQJhTwIACQDMCAIJAQtEZWxldGVFbnRyeQEJAQJhRwEFAmFIBQNuaWwJAQFUAQkArAICCQCsAgIJAKwCAgIOaW52YWxpZCBub2RlOiAFAmFIAgEuBQJhTAECYVYAAhclc19fbWFuYWdlclZhdWx0QWRkcmVzcwECYVcAAhQlc19fbWFuYWdlclB1YmxpY0tleQECYVgABAFZCQCiCAEJAQJhVgADCQABAgUBWQIGU3RyaW5nBAJhWQUBWQkBEUBleHRyTmF0aXZlKDEwNjIpAQUCYVkFBHRoaXMBAmFaAAQCYmEJAQJhWAAEAVkJAJ0IAgUCYmEJAQJhVwADCQABAgUBWQIGU3RyaW5nBAJhWQUBWQkA2QQBBQJhWQMJAAECBQFZAgRVbml0BQR1bml0CQACAQILTWF0Y2ggZXJyb3IBAmJiAQJiYwQBWQkBAmFaAAMJAAECBQFZAgpCeXRlVmVjdG9yBAJiZAUBWQkAAAIIBQJiYw9jYWxsZXJQdWJsaWNLZXkFAmJkAwkAAQIFAVkCBFVuaXQJAAACCAUCYmMGY2FsbGVyBQR0aGlzCQACAQILTWF0Y2ggZXJyb3IBAmJlAQJiYwMJAQJiYgEFAmJjBgkAAgECEXBlcm1pc3Npb24gZGVuaWVkAQJiZgECYmMDCQAAAggFAmJjBmNhbGxlcgUEdGhpcwYJAAIBAhFwZXJtaXNzaW9uIGRlbmllZBECYmMBGGdldFVzZXJHd3hBbW91bnRBdEhlaWdodAICYmcCYmgEAmJpCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKYIAQkBAmFiAgUEdGhpcwUBbwkBAVIBAiFpbnZhbGlkIGJvb3N0aW5nIGNvbnRyYWN0IGFkZHJlc3MJAJQKAgUDbmlsCgACYWMJAPwHBAUCYmkCIGdldFVzZXJHd3hBbW91bnRBdEhlaWdodFJFQURPTkxZCQDMCAIFAmJnCQDMCAIFAmJoBQNuaWwFA25pbAMJAAECBQJhYwIDSW50BQJhYwkAAgEJAKwCAgkAAwEFAmFjAhggY291bGRuJ3QgYmUgY2FzdCB0byBJbnQCYmMBC2NvbnN0cnVjdG9yBQJhaAJiagJiawJibAJibQQCYm4JAMwIAgkBAmJlAQUCYmMJAMwIAgMJAQIhPQIJAKYIAQUCYWgFBHVuaXQGAiBpbnZhbGlkIGZhY3RvcnkgY29udHJhY3QgYWRkcmVzcwkAzAgCAwkBAiE9AgkApggBBQJiagUEdW5pdAYCMmludmFsaWQgdm90aW5nIGVtaXNzaW9uIGNhbmRpZGF0ZSBjb250cmFjdCBhZGRyZXNzCQDMCAIDCQECIT0CCQCmCAEFAmJrBQR1bml0BgIhaW52YWxpZCBib29zdGluZyBjb250cmFjdCBhZGRyZXNzCQDMCAIDCQECIT0CCQCmCAEFAmJsBQR1bml0BgIgaW52YWxpZCBzdGFraW5nIGNvbnRyYWN0IGFkZHJlc3MJAMwIAgMJAGYCBQJibQAABgkBAVQBAhRpbnZhbGlkIGVwb2NoIGxlbmd0aAUDbmlsAwkAAAIFAmJuBQJibgkAlAoCCQDMCAIJAQtTdHJpbmdFbnRyeQIFAW4FAmFoCQDMCAIJAQtTdHJpbmdFbnRyeQIFAWwFAmJqCQDMCAIJAQtTdHJpbmdFbnRyeQIFAW8FAmJrCQDMCAIJAQtTdHJpbmdFbnRyeQIFAXAFAmJsCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQFmBQJibQUDbmlsBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJjAQZjcmVhdGUCAUMBRAQCYm4JAMwIAgMJAAACCQDYBAEICAUCYmMGY2FsbGVyBWJ5dGVzCQELdmFsdWVPckVsc2UCCQCdCAIFBHRoaXMFAWwCAAYJAQJiZQEFAmJjBQNuaWwDCQAAAgUCYm4FAmJuBAFBCQCUCgIFAUMFAUQEAmJvCQDOCAIJAMwIAgkBDEJvb2xlYW5FbnRyeQIJAQF6AQUBQQYFA25pbAkBAmFSAgUCYUQJAQJhZQEFAUEEAmJwCQAAAgkAmggCBQR0aGlzBQFqBQR1bml0BAJicQMFAmJwBAFpAAAJAMwIAgkBDEludGVnZXJFbnRyeQIFAWoFAWkJAMwIAgkBDEludGVnZXJFbnRyeQIJAQF4AQUBaQUGaGVpZ2h0CQDMCAIJAQxJbnRlZ2VyRW50cnkCBQF0BQZoZWlnaHQJAMwIAgkBDEludGVnZXJFbnRyeQIFAXUFAWkJAMwIAgkBDEludGVnZXJFbnRyeQIFAXYFBmhlaWdodAUDbmlsBQNuaWwJAJQKAgkAzggCBQJibwUCYnEFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYmMBBHZvdGUDAUMBRAJicgQBQQkAlAoCBQFDBQFEBAFpCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMFAWoAAAQCYnMJAQJhZAIFBHRoaXMJAQF4AQUBaQQCYm0JAQJhZAIFBHRoaXMFAWYEAmJ0CQBkAgUCYnMFAmJtBAJidQkAmggCBQR0aGlzBQFxBAJidgkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQEBRQIIBQJiYwZjYWxsZXIFAWkAAAQCYncJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBAUcDBQFBCAUCYmMGY2FsbGVyBQFpAAAEAmJ4CQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMJAQFJAgUBQQUBaQAABAJieQkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQEBTwEFAWkAAAQCYnoKAAJhYwkA/AcEBQR0aGlzAhhnZXRVc2VyR3d4QW1vdW50QXRIZWlnaHQJAMwIAgkA2AQBCAgFAmJjBmNhbGxlcgVieXRlcwkAzAgCBQJidAUDbmlsBQNuaWwDCQABAgUCYWMCA0ludAUCYWMJAAIBCQCsAgIJAAMBBQJhYwIYIGNvdWxkbid0IGJlIGNhc3QgdG8gSW50BAJiQQkAZQIFAmJ6BQJidgQCYkIJAGQCBQJidwUCYnIEAmJDCQECYXoBBQFBBAJibgkAzAgCAwkBAiE9AgkAoAgBCQEBegEFAUEFBHVuaXQGCQEBVAECDmludmFsaWQgYXNzZXRzCQDMCAIDCQBmAgUCYnQFBmhlaWdodAYJAQFUAQIOaW52YWxpZCBoZWlnaHQJAMwIAgMJAAACBQJidQUEdW5pdAYJAQFUAQIYZmluYWxpemF0aW9uIGluIHByb2dyZXNzCQDMCAIDCQBmAgUCYnoAAAYJAQFUAQITeW91IGRvIG5vdCBoYXZlIGdXWAkAzAgCAwMJAGYCBQJicgAACQBnAgUCYkEFAmJyBwYJAQFUAQIOaW52YWxpZCBhbW91bnQJAMwIAgMFAmJDBgkBAVQBAh1wb29sIGhhc24ndCBXWF9FTUlTU0lPTiBsYWJlbAUDbmlsAwkAAAIFAmJuBQJibgQCYkQJAQJhRQEFAUEEAVEJAKUIAQgFAmJjBmNhbGxlcgQCYkUDCQECYU4CBQJiRAUBUQUDbmlsCQECYVICBQJiRAUBUQkAlAoCCQDOCAIJAMwIAgkBDEludGVnZXJFbnRyeQIJAQFFAggFAmJjBmNhbGxlcgUBaQkAZAIFAmJ2BQJicgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAUcDBQFBCAUCYmMGY2FsbGVyBQFpBQJiQgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAUkCBQFBBQFpCQBkAgUCYngFAmJyCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEBTwEFAWkJAGQCBQJieQUCYnIFA25pbAUCYkUFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYmMBCmNhbmNlbFZvdGUCAUMBRAQBQQkAlAoCBQFDBQFEBAFpCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMFAWoAAAQCYnMJAQJhZAIFBHRoaXMJAQF4AQUBaQQCYm0JAQJhZAIFBHRoaXMFAWYEAmJ0CQBkAgUCYnMFAmJtBAJidQkAmggCBQR0aGlzBQFxBAJidgkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQEBRQIIBQJiYwZjYWxsZXIFAWkAAAQCYncJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBAUcDBQFBCAUCYmMGY2FsbGVyBQFpAAAEAmJ4CQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMJAQFJAgUBQQUBaQAABAJieQkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQEBTwEFAWkAAAQCYm4JAMwIAgMJAQIhPQIJAKAIAQkBAXoBBQFBBQR1bml0BgkBAVQBAg5pbnZhbGlkIGFzc2V0cwkAzAgCAwkAZgIFAmJ0BQZoZWlnaHQGCQEBVAECDmludmFsaWQgaGVpZ2h0CQDMCAIDCQAAAgUCYnUFBHVuaXQGCQEBVAECGGZpbmFsaXphdGlvbiBpbiBwcm9ncmVzcwkAzAgCAwkAZgIFAmJ3AAAGCQEBVAECB25vIHZvdGUFA25pbAMJAAACBQJibgUCYm4EAmJECQECYUUBBQFBBAFRCQClCAEIBQJiYwZjYWxsZXIJAJQKAgkAzggCCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEBRQIIBQJiYwZjYWxsZXIFAWkJAJYDAQkAzAgCCQBlAgUCYnYFAmJ3CQDMCAIAAAUDbmlsCQDMCAIJAQtEZWxldGVFbnRyeQEJAQFHAwUBQQgFAmJjBmNhbGxlcgUBaQkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAUkCBQFBBQFpCQBlAgUCYngFAmJ3CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEBTwEFAWkJAGUCBQJieQUCYncFA25pbAkBAmFVAgUCYkQFAVEFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYmMBDnNldEVwb2NoTGVuZ3RoAQJiRgQCYm4JAMwIAgkBAmJlAQUCYmMJAMwIAgMJAGYCBQJiRgAABgkBAVQBAhRpbnZhbGlkIGVwb2NoIGxlbmd0aAUDbmlsAwkAAAIFAmJuBQJibgkAlAoCCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQFnBQJiRgUDbmlsBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJjAQtzZXRNYXhEZXB0aAECYkcEAmJuCQDMCAIJAQJiZQEFAmJjCQDMCAIDCQBmAgUCYkcAAAYJAQFUAQIRaW52YWxpZCBtYXggZGVwdGgFA25pbAMJAAACBQJibgUCYm4JAJQKAgkAzAgCCQEMSW50ZWdlckVudHJ5AgUBawUCYkcFA25pbAUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJiYwETcHJvY2Vzc1ZvdGVJTlRFUk5BTAICYkgBUQQCYkkJAQJiZgEFAmJjAwkAAAIFAmJJBQJiSQQCYmcJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkApggBBQFRCQEBUgEJAKwCAgIqcHJvY2Vzc1ZvdGVJTlRFUk5BTDogaW52YWxpZCB1c2VyIGFkZHJlc3MgBQFRBAFpCQECYWQCBQR0aGlzBQFqBAJiSgkAZQIFAWkAAQQCYm0JAQJhZAIFBHRoaXMFAWYEAmJzCQECYWQCBQR0aGlzCQEBeAEFAWkEAmJ0CQBkAgUCYnMFAmJtBAJiSwkBAmFkAgUEdGhpcwkBAXgBBQJiSgQCYkwJAQJhZAIFBHRoaXMJAQFoAQUCYkoEAmJNCQBkAgUCYksFAmJMBAJiTgMJAGcCBQJiSgAABgkBAVQBAitwcm9jZXNzVm90ZUlOVEVSTkFMOiBpbnZhbGlkIHByZXZpb3VzIGVwb2NoAwkAAAIFAmJOBQJiTgQBQQkBAmFmAQUCYkgEAmJPBQFBBAFDCAUCYk8CXzEEAUQIBQJiTwJfMgQCYkMJAQJhegEFAUEEAmJ6CgACYWMJAPwHBAUEdGhpcwIYZ2V0VXNlckd3eEFtb3VudEF0SGVpZ2h0CQDMCAIFAVEJAMwIAgUCYnQFA25pbAUDbmlsAwkAAQIFAmFjAgNJbnQFAmFjCQACAQkArAICCQADAQUCYWMCGCBjb3VsZG4ndCBiZSBjYXN0IHRvIEludAQCYlAKAAJhYwkA/AcEBQR0aGlzAhhnZXRVc2VyR3d4QW1vdW50QXRIZWlnaHQJAMwIAgUBUQkAzAgCBQJiTQUDbmlsBQNuaWwDCQABAgUCYWMCA0ludAUCYWMJAAIBCQCsAgIJAAMBBQJhYwIYIGNvdWxkbid0IGJlIGNhc3QgdG8gSW50BAJieQkBC3ZhbHVlT3JFbHNlAgkAnwgBCQEBTwEFAWkAAAQCYlEJAQt2YWx1ZU9yRWxzZQIJAJ8IAQkBAUkCBQFBBQFpAAAEAmJSCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ8IAQkBAUcDBQFBBQJiZwUCYkoJAQFSAQkArAICCQCsAgIJAKwCAgkArAICAhRwcm9jZXNzVm90ZUlOVEVSTkFMIAUCYkgCASAFAVECEjogbm8gcHJldmlvdXMgdm90ZQQCYnYJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBAUUCBQJiZwUBaQAABAFMCQECYW8CBQFDBQFEBAJiUwkBC3ZhbHVlT3JFbHNlAgkAnwgBCQEBSwIFAUwFAmJKAAAEAmJsCQERQGV4dHJOYXRpdmUoMTA2MikBCQECYWICBQR0aGlzBQFwBAJiVAkBC3ZhbHVlT3JFbHNlAgkAmggCBQJibAkBAVACBQFMBQFRAAAEAmJVAwkAAAIFAmJUAAAFA25pbAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAUsCBQFMBQJiSgkAZAIFAmJTBQJiUgUDbmlsBAJheQkBAmFvAgUBQwUBRAQCYlYKAAJhYwkA/AcEBQJhaAIMY2hlY2tCYWxhbmNlCQDMCAIFAmF5BQNuaWwFA25pbAMJAAECBQJhYwIHQm9vbGVhbgUCYWMJAAIBCQCsAgIJAAMBBQJhYwIcIGNvdWxkbid0IGJlIGNhc3QgdG8gQm9vbGVhbgQCYkIDCQBmAgUCYlAAAAkAawMFAmJSBQJiegUCYlAAAAQCYlcDAwMJAGYCBQJiQgAABQJiQwcFAmJWBwkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAUcDBQFBBQJiZwUBaQUCYkIJAMwIAgkBDEludGVnZXJFbnRyeQIJAQFPAQUBaQkAZAIFAmJ5BQJiQgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAUkCBQFBBQFpCQBkAgUCYlEFAmJCCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEBRQIFAmJnBQFpCQBkAgUCYnYFAmJCBQNuaWwJAQJhVQIJAQJhRQEFAUEFAVEJAJQKAgkAzggCBQJiVwUCYlUFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYmMBE3Byb2Nlc3NQb29sSU5URVJOQUwCAmJIAmJYBAJiSQkBAmJmAQUCYmMDCQAAAgUCYkkFAmJJBAJiWQQCYloJAQJhZAIFBHRoaXMFAWoDBQJiWAUCYloJAGUCBQJiWgABBAJiTgMJAGcCBQJiWQAABgkBAVQBAilwcm9jZXNzUG9vbElOVEVSTkFMOiBpbnZhbGlkIHRhcmdldCBlcG9jaAMJAAACBQJiTgUCYk4EAUEJAQJhZgEFAmJIBAJjYQUBQQQBQwgFAmNhAl8xBAFECAUCY2ECXzIEAmJsCQERQGV4dHJOYXRpdmUoMTA2MikBCQECYWICBQR0aGlzBQFwBAJheQkBAmFvAgUBQwUBRAQCY2IKAAJhYwkA/AcEBQJibAISdXNlcnNMaXN0VHJhdmVyc2FsCQDMCAIFAmF5BQNuaWwFA25pbAMJAAECBQJhYwIHQm9vbGVhbgUCYWMJAAIBCQCsAgIJAAMBBQJhYwIcIGNvdWxkbid0IGJlIGNhc3QgdG8gQm9vbGVhbgMJAAACBQJjYgUCY2IDBQJjYgkAlAoCBQNuaWwGBAJiVgoAAmFjCQD8BwQFAmFoAgxjaGVja0JhbGFuY2UJAMwIAgUCYXkFA25pbAUDbmlsAwkAAQIFAmFjAgdCb29sZWFuBQJhYwkAAgEJAKwCAgkAAwEFAmFjAhwgY291bGRuJ3QgYmUgY2FzdCB0byBCb29sZWFuBAJjYwMFAmJWBQR1bml0CQD8BwQFAmFoAhlkZWxldGVXeEVtaXNzaW9uUG9vbExhYmVsCQDMCAIFAUMJAMwIAgUBRAUDbmlsBQNuaWwDCQAAAgUCY2MFAmNjBAJiQwkBAmF6AQUBQQQCYnkJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBAU8BBQJiWQAABAJiUQkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQEBSQIFAUEFAmJZAAAEAmNkAwMJAAACBQJieQAABgkBASEBBQJiQwAACQBrAwUCYlEFAWIFAmJ5BAJjZQkA/AcEBQJhaAIMbW9kaWZ5V2VpZ2h0CQDMCAIFAmF5CQDMCAIFAmNkBQNuaWwFA25pbAMJAAACBQJjZQUCY2UEAmNmAwMFAmJDBgUCYlgFA25pbAkAzggCCQDMCAIJAQtEZWxldGVFbnRyeQEJAQF6AQUBQQUDbmlsCQECYVUCBQJhRAUCYkgJAJQKAgkAzggCCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEBTQIFAUEFAmJZBQJjZAUDbmlsBQJjZgcJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYmMBDmZpbmFsaXplSGVscGVyAAQCYlgJAQt2YWx1ZU9yRWxzZQIJAKAIAQUBdwcEAWkJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwUBagAABAJjZwkAZQIFAWkAAQQCYnMJAQJhZAIFBHRoaXMJAQF4AQUBaQQCYm0JAQJhZAIFBHRoaXMFAWYEAmJ0CQBkAgUCYnMFAmJtBAJidQkAmggCBQR0aGlzBQFxAwMDCQBnAgUGaGVpZ2h0BQJidAkAAAIFAmJ1BQR1bml0BwkBASEBBQJiWAcEAmNoCQBkAgUBaQABBAJjaQkAmggCBQR0aGlzBQFnBAJjagQBWQUCY2kDCQABAgUBWQIDSW50BAJiRgUBWQkAzAgCCQEMSW50ZWdlckVudHJ5AgUBZgUCYkYJAMwIAgkBC0RlbGV0ZUVudHJ5AQUBZwUDbmlsAwkAAQIFAVkCBFVuaXQFA25pbAkAAgECC01hdGNoIGVycm9yCQCUCgIJAM4IAgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAXgBBQJjaAUGaGVpZ2h0CQDMCAIJAQxJbnRlZ2VyRW50cnkCBQF0BQZoZWlnaHQJAMwIAgkBDEludGVnZXJFbnRyeQIFAWoFAmNoCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQFxBQFkCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEBaAEFAWkFAmJtBQNuaWwFAmNqBgMDBQJiWAkAAAIFAmJ1BQR1bml0BwkAlAoCCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQFxBQFlBQNuaWwGAwkAAAIFAmJ1BQR1bml0CQCUCgIFA25pbAcDCQAAAgUCYnUFAWQEAmNrCQCiCAEFAXIEAmNsCQCiCAEFAXMEAVkFAmNrAwkAAQIFAVkCBFVuaXQEAmNtCQCiCAEJAQJhRwEFAmFEAwkAAQIFAmNtAgRVbml0CQCUCgIJAMwIAgkBDEludGVnZXJFbnRyeQIFAXEFAWUJAMwIAgkBC0RlbGV0ZUVudHJ5AQUBcgkAzAgCCQELRGVsZXRlRW50cnkBBQFzBQNuaWwGAwkAAQIFAmNtAgZTdHJpbmcEAmNuBQJjbQkAlAoCCQDMCAIJAQtTdHJpbmdFbnRyeQIFAXIFAmNuBQNuaWwGCQACAQILTWF0Y2ggZXJyb3IDCQABAgUBWQIGU3RyaW5nBAJiSAUBWQQBQQkBAmFmAQUCYkgEAmNvBAJjbQUCY2wDCQABAgUCY20CBFVuaXQJAKIIAQkBAmFHAQkBAmFFAQUBQQMJAAECBQJjbQIGU3RyaW5nBAJjcAUCY20EAmNxCQCiCAEJAQJhTQIJAQJhRQEFAUEFAmNwAwkAAAIFAmNxBQJjcQQCY3IJAPwHBAUEdGhpcwITcHJvY2Vzc1ZvdGVJTlRFUk5BTAkAzAgCBQJiSAkAzAgCBQJjcAUDbmlsBQNuaWwDCQAAAgUCY3IFAmNyBQJjcQkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECC01hdGNoIGVycm9yBAJjbQUCY28DCQABAgUCY20CBFVuaXQEAmNzCQCiCAEJAQJhTQIFAmFEBQJiSAQCY3QFAmNzAwkAAQIFAmN0AgRVbml0CQCUCgIJAMwIAgkBDEludGVnZXJFbnRyeQIFAXEFAWUJAMwIAgkBC0RlbGV0ZUVudHJ5AQUBcgkAzAgCCQELRGVsZXRlRW50cnkBBQFzBQNuaWwGAwkAAQIFAmN0AgZTdHJpbmcEAmFZBQJjdAkAlAoCCQDMCAIJAQtTdHJpbmdFbnRyeQIFAXIFAmFZCQDMCAIJAQtEZWxldGVFbnRyeQEFAXMFA25pbAYJAAIBAgtNYXRjaCBlcnJvcgMJAAECBQJjbQIGU3RyaW5nBAJjdQUCY20JAJQKAgkAzAgCCQELU3RyaW5nRW50cnkCBQFzBQJjdQUDbmlsBgkAAgECC01hdGNoIGVycm9yCQACAQILTWF0Y2ggZXJyb3IDCQAAAgUCYnUFAWUEAmNrCQCiCAEFAXIEAVkFAmNrAwkAAQIFAVkCBFVuaXQEAmNtCQCiCAEJAQJhRwEFAmFEAwkAAQIFAmNtAgRVbml0BAJiVwMFAmJYCQDMCAIJAQtEZWxldGVFbnRyeQEFAXEJAMwIAgkBC0RlbGV0ZUVudHJ5AQUBdwUDbmlsCQDMCAIJAQtEZWxldGVFbnRyeQEFAXEJAMwIAgkBDEJvb2xlYW5FbnRyeQIJAQF5AQUCY2cGCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQF1BQFpCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQF2BQJicwUDbmlsBAJjdgkBAmFCAAMJAAACBQJjdgUCY3YJAJQKAgUCYlcGCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAwkAAQIFAmNtAgZTdHJpbmcEAmN3BQJjbQkAlAoCCQDMCAIJAQtTdHJpbmdFbnRyeQIFAXIFAmN3BQNuaWwGCQACAQILTWF0Y2ggZXJyb3IDCQABAgUBWQIGU3RyaW5nBAJiSAUBWQQCY3MJAKIIAQkBAmFNAgUCYUQFAmJIAwkAAAIFAmNzBQJjcwQCY2IKAAJhYwkA/AcEBQR0aGlzAhNwcm9jZXNzUG9vbElOVEVSTkFMCQDMCAIFAmJICQDMCAIFAmJYBQNuaWwFA25pbAMJAAECBQJhYwIHQm9vbGVhbgUCYWMJAAIBCQCsAgIJAAMBBQJhYwIcIGNvdWxkbid0IGJlIGNhc3QgdG8gQm9vbGVhbgMJAAACBQJjYgUCY2IDBQJjYgkAlAoCBQNuaWwGBAJjbQUCY3MDCQABAgUCY20CBFVuaXQEAmJXAwUCYlgJAMwIAgkBC0RlbGV0ZUVudHJ5AQUBcQkAzAgCCQELRGVsZXRlRW50cnkBBQF3CQDMCAIJAQtEZWxldGVFbnRyeQEFAXIFA25pbAkAzAgCCQELRGVsZXRlRW50cnkBBQFxCQDMCAIJAQxCb29sZWFuRW50cnkCCQEBeQEFAmNnBgkAzAgCCQEMSW50ZWdlckVudHJ5AgUBdQUBaQkAzAgCCQEMSW50ZWdlckVudHJ5AgUBdgUCYnMJAMwIAgkBC0RlbGV0ZUVudHJ5AQUBcgUDbmlsBAJjdgkBAmFCAAMJAAACBQJjdgUCY3YJAJQKAgUCYlcGCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAwkAAQIFAmNtAgZTdHJpbmcEAmN3BQJjbQkAlAoCCQDMCAIJAQtTdHJpbmdFbnRyeQIFAXIFAmN3BQNuaWwGCQACAQILTWF0Y2ggZXJyb3IJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAgtNYXRjaCBlcnJvcgkBAVQBAhZmaW5hbGl6YXRpb24gaXMgYnJva2VuAmJjAQ9maW5hbGl6ZVdyYXBwZXIBAmN4BAJjeQkBEUBleHRyTmF0aXZlKDEwNjIpAQkBEUBleHRyTmF0aXZlKDEwNTMpAgUEdGhpcwUBbQQCY3oKAAJhYwkA/AcEBQR0aGlzAg5maW5hbGl6ZUhlbHBlcgUDbmlsBQNuaWwDCQABAgUCYWMCB0Jvb2xlYW4FAmFjCQACAQkArAICCQADAQUCYWMCHCBjb3VsZG4ndCBiZSBjYXN0IHRvIEJvb2xlYW4DCQAAAgUCY3oFAmN6AwkBASEBBQJjegMJAAACBQJjeAAACQEBVAECHkN1cnJlbnQgdm90aW5nIGlzIG5vdCBvdmVyIHlldAQCY0EJAPwHBAUCY3kCCGZpbmFsaXplBQNuaWwFA25pbAMJAAACBQJjQQUCY0EJAJQKAgUDbmlsBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuBAJjQgkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzBQFrBQFjAwkAZgIFAmNCBQJjeAQCY0EJAPwHBAUEdGhpcwIPZmluYWxpemVXcmFwcGVyCQDMCAIJAGQCBQJjeAABBQNuaWwFA25pbAMJAAACBQJjQQUCY0EJAJQKAgUDbmlsBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQCUCgIFA25pbAUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJiYwEIZmluYWxpemUABAJjQQkA/AcEBQR0aGlzAg9maW5hbGl6ZVdyYXBwZXIJAMwIAgAABQNuaWwFA25pbAMJAAACBQJjQQUCY0EJAJQKAgUDbmlsBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJjARRjb250YWluc05vZGVSRUFET05MWQICYUgCYUwJAJQKAgUDbmlsCQECYU4CBQJhSAUCYUwCYmMBCmluc2VydE5vZGUCAmFIAmFMBAJiSQkBAmJlAQUCYmMDCQAAAgUCYkkFAmJJCQCUCgIJAQJhUgIFAmFIBQJhTAUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJiYwEKZGVsZXRlTm9kZQICYUgCYUwEAmJJCQECYmUBBQJiYwMJAAACBQJiSQUCYkkJAJQKAgkBAmFVAgUCYUgFAmFMBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJjARhpc0ZpbmFsaXphdGlvbkluUHJvZ3Jlc3MABAJidQkAmggCBQR0aGlzBQFxBAJjQwkBAiE9AgUCYnUFBHVuaXQJAJQKAgUDbmlsBQJjQwJiYwEKZGVsZXRlUG9vbAIBQwFEBAJiSQMDCQAAAggFAmJjBmNhbGxlcgUCYWgGCQECYmUBBQJiYwYJAQFUAQIRUGVybWlzc2lvbiBkZW5pZWQDCQAAAgUCYkkFAmJJBAJhSAIFcG9vbHMEAUEJAJQKAgUBQwUBRAQCYUwJALkJAgkAzAgCBQFDCQDMCAIFAUQFA25pbAUBYQQCYlcDCQECYU4CBQJhSAUCYUwJAQJhVQIFAmFIBQJhTAUDbmlsCQDOCAIJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAXoBBQFBBQNuaWwFAmJXCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAQJjRAECY0UABAJjRgQBWQkBAmFaAAMJAAECBQFZAgpCeXRlVmVjdG9yBAJiZAUBWQUCYmQDCQABAgUBWQIEVW5pdAgFAmNED3NlbmRlclB1YmxpY0tleQkAAgECC01hdGNoIGVycm9yCQD0AwMIBQJjRAlib2R5Qnl0ZXMJAJEDAggFAmNEBnByb29mcwAABQJjRgYM0go=", "height": 2907751, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: yyaXcB1XHk2swAX1QzUfRGaA8d58qSffdFTNaxHFrW3 Next: 6FY627hQpwQbpuxPkTSiSRNDTg45vxDnJ46axyrwscfb Diff:
OldNewDifferences
602602 then if (cb)
603603 then $Tuple2(nil, true)
604604 else {
605- let bC = az(A)
606605 let bV = {
607606 let ac = invoke(ah, "checkBalance", [ay], nil)
608607 if ($isInstanceOf(ac, "Boolean"))
609608 then ac
610609 else throw(($getType(ac) + " couldn't be cast to Boolean"))
611610 }
612- let by = valueOrElse(getInteger(this, O(bY)), 0)
613- let bQ = valueOrElse(getInteger(this, I(A, bY)), 0)
614- let cc = if (if (if ((by == 0))
615- then true
616- else !(bC))
617- then true
618- else !(bV))
619- then 0
620- else fraction(bQ, b, by)
621- let cd = invoke(ah, "modifyWeight", [ay, cc], nil)
622- if ((cd == cd))
611+ let cc = if (bV)
612+ then unit
613+ else invoke(ah, "deleteWxEmissionPoolLabel", [C, D], nil)
614+ if ((cc == cc))
623615 then {
624- let ce = if (if (bC)
616+ let bC = az(A)
617+ let by = valueOrElse(getInteger(this, O(bY)), 0)
618+ let bQ = valueOrElse(getInteger(this, I(A, bY)), 0)
619+ let cd = if (if ((by == 0))
625620 then true
626- else bX)
627- then nil
628- else ([DeleteEntry(z(A))] ++ aU(aD, bH))
629- $Tuple2(([IntegerEntry(M(A, bY), cc)] ++ ce), false)
621+ else !(bC))
622+ then 0
623+ else fraction(bQ, b, by)
624+ let ce = invoke(ah, "modifyWeight", [ay, cd], nil)
625+ if ((ce == ce))
626+ then {
627+ let cf = if (if (bC)
628+ then true
629+ else bX)
630+ then nil
631+ else ([DeleteEntry(z(A))] ++ aU(aD, bH))
632+ $Tuple2(([IntegerEntry(M(A, bY), cd)] ++ cf), false)
633+ }
634+ else throw("Strict value is not equal to itself.")
630635 }
631636 else throw("Strict value is not equal to itself.")
632637 }
643648 func finalizeHelper () = {
644649 let bX = valueOrElse(getBoolean(w), false)
645650 let i = valueOrElse(getInteger(this, j), 0)
646- let cf = (i - 1)
651+ let cg = (i - 1)
647652 let bs = ad(this, x(i))
648653 let bm = ad(this, f)
649654 let bt = (bs + bm)
654659 then !(bX)
655660 else false)
656661 then {
657- let cg = (i + 1)
658- let ch = getInteger(this, g)
659- let ci = {
660- let Y = ch
662+ let ch = (i + 1)
663+ let ci = getInteger(this, g)
664+ let cj = {
665+ let Y = ci
661666 if ($isInstanceOf(Y, "Int"))
662667 then {
663668 let bF = Y
667672 then nil
668673 else throw("Match error")
669674 }
670- $Tuple2(([IntegerEntry(x(cg), height), IntegerEntry(t, height), IntegerEntry(j, cg), IntegerEntry(q, d), IntegerEntry(h(i), bm)] ++ ci), true)
675+ $Tuple2(([IntegerEntry(x(ch), height), IntegerEntry(t, height), IntegerEntry(j, ch), IntegerEntry(q, d), IntegerEntry(h(i), bm)] ++ cj), true)
671676 }
672677 else if (if (bX)
673678 then (bu == unit)
677682 then $Tuple2(nil, false)
678683 else if ((bu == d))
679684 then {
680- let cj = getString(r)
681- let ck = getString(s)
682- let Y = cj
685+ let ck = getString(r)
686+ let cl = getString(s)
687+ let Y = ck
683688 if ($isInstanceOf(Y, "Unit"))
684689 then {
685- let cl = getString(aG(aD))
686- if ($isInstanceOf(cl, "Unit"))
690+ let cm = getString(aG(aD))
691+ if ($isInstanceOf(cm, "Unit"))
687692 then $Tuple2([IntegerEntry(q, e), DeleteEntry(r), DeleteEntry(s)], true)
688- else if ($isInstanceOf(cl, "String"))
693+ else if ($isInstanceOf(cm, "String"))
689694 then {
690- let cm = cl
691- $Tuple2([StringEntry(r, cm)], true)
695+ let cn = cm
696+ $Tuple2([StringEntry(r, cn)], true)
692697 }
693698 else throw("Match error")
694699 }
696701 then {
697702 let bH = Y
698703 let A = af(bH)
699- let cn = {
700- let cl = ck
701- if ($isInstanceOf(cl, "Unit"))
704+ let co = {
705+ let cm = cl
706+ if ($isInstanceOf(cm, "Unit"))
702707 then getString(aG(aE(A)))
703- else if ($isInstanceOf(cl, "String"))
708+ else if ($isInstanceOf(cm, "String"))
704709 then {
705- let co = cl
706- let cp = getString(aM(aE(A), co))
707- if ((cp == cp))
710+ let cp = cm
711+ let cq = getString(aM(aE(A), cp))
712+ if ((cq == cq))
708713 then {
709- let cq = invoke(this, "processVoteINTERNAL", [bH, co], nil)
710- if ((cq == cq))
711- then cp
714+ let cr = invoke(this, "processVoteINTERNAL", [bH, cp], nil)
715+ if ((cr == cr))
716+ then cq
712717 else throw("Strict value is not equal to itself.")
713718 }
714719 else throw("Strict value is not equal to itself.")
715720 }
716721 else throw("Match error")
717722 }
718- let cl = cn
719- if ($isInstanceOf(cl, "Unit"))
723+ let cm = co
724+ if ($isInstanceOf(cm, "Unit"))
720725 then {
721- let cr = getString(aM(aD, bH))
722- let cs = cr
723- if ($isInstanceOf(cs, "Unit"))
726+ let cs = getString(aM(aD, bH))
727+ let ct = cs
728+ if ($isInstanceOf(ct, "Unit"))
724729 then $Tuple2([IntegerEntry(q, e), DeleteEntry(r), DeleteEntry(s)], true)
725- else if ($isInstanceOf(cs, "String"))
730+ else if ($isInstanceOf(ct, "String"))
726731 then {
727- let aY = cs
732+ let aY = ct
728733 $Tuple2([StringEntry(r, aY), DeleteEntry(s)], true)
729734 }
730735 else throw("Match error")
731736 }
732- else if ($isInstanceOf(cl, "String"))
737+ else if ($isInstanceOf(cm, "String"))
733738 then {
734- let ct = cl
735- $Tuple2([StringEntry(s, ct)], true)
739+ let cu = cm
740+ $Tuple2([StringEntry(s, cu)], true)
736741 }
737742 else throw("Match error")
738743 }
740745 }
741746 else if ((bu == e))
742747 then {
743- let cj = getString(r)
744- let Y = cj
748+ let ck = getString(r)
749+ let Y = ck
745750 if ($isInstanceOf(Y, "Unit"))
746751 then {
747- let cl = getString(aG(aD))
748- if ($isInstanceOf(cl, "Unit"))
752+ let cm = getString(aG(aD))
753+ if ($isInstanceOf(cm, "Unit"))
749754 then {
750755 let bW = if (bX)
751756 then [DeleteEntry(q), DeleteEntry(w)]
752- else [DeleteEntry(q), BooleanEntry(y(cf), true), IntegerEntry(u, i), IntegerEntry(v, bs)]
753- let cu = aB()
754- if ((cu == cu))
757+ else [DeleteEntry(q), BooleanEntry(y(cg), true), IntegerEntry(u, i), IntegerEntry(v, bs)]
758+ let cv = aB()
759+ if ((cv == cv))
755760 then $Tuple2(bW, true)
756761 else throw("Strict value is not equal to itself.")
757762 }
758- else if ($isInstanceOf(cl, "String"))
763+ else if ($isInstanceOf(cm, "String"))
759764 then {
760- let cv = cl
761- $Tuple2([StringEntry(r, cv)], true)
765+ let cw = cm
766+ $Tuple2([StringEntry(r, cw)], true)
762767 }
763768 else throw("Match error")
764769 }
765770 else if ($isInstanceOf(Y, "String"))
766771 then {
767772 let bH = Y
768- let cr = getString(aM(aD, bH))
769- if ((cr == cr))
773+ let cs = getString(aM(aD, bH))
774+ if ((cs == cs))
770775 then {
771776 let cb = {
772777 let ac = invoke(this, "processPoolINTERNAL", [bH, bX], nil)
778783 then if (cb)
779784 then $Tuple2(nil, true)
780785 else {
781- let cl = cr
782- if ($isInstanceOf(cl, "Unit"))
786+ let cm = cs
787+ if ($isInstanceOf(cm, "Unit"))
783788 then {
784789 let bW = if (bX)
785790 then [DeleteEntry(q), DeleteEntry(w), DeleteEntry(r)]
786- else [DeleteEntry(q), BooleanEntry(y(cf), true), IntegerEntry(u, i), IntegerEntry(v, bs), DeleteEntry(r)]
787- let cu = aB()
788- if ((cu == cu))
791+ else [DeleteEntry(q), BooleanEntry(y(cg), true), IntegerEntry(u, i), IntegerEntry(v, bs), DeleteEntry(r)]
792+ let cv = aB()
793+ if ((cv == cv))
789794 then $Tuple2(bW, true)
790795 else throw("Strict value is not equal to itself.")
791796 }
792- else if ($isInstanceOf(cl, "String"))
797+ else if ($isInstanceOf(cm, "String"))
793798 then {
794- let cv = cl
795- $Tuple2([StringEntry(r, cv)], true)
799+ let cw = cm
800+ $Tuple2([StringEntry(r, cw)], true)
796801 }
797802 else throw("Match error")
798803 }
808813
809814
810815 @Callable(bc)
811-func finalizeWrapper (cw) = {
812- let cx = addressFromStringValue(getStringValue(this, m))
813- let cy = {
816+func finalizeWrapper (cx) = {
817+ let cy = addressFromStringValue(getStringValue(this, m))
818+ let cz = {
814819 let ac = invoke(this, "finalizeHelper", nil, nil)
815820 if ($isInstanceOf(ac, "Boolean"))
816821 then ac
817822 else throw(($getType(ac) + " couldn't be cast to Boolean"))
818823 }
819- if ((cy == cy))
820- then if (!(cy))
821- then if ((cw == 0))
824+ if ((cz == cz))
825+ then if (!(cz))
826+ then if ((cx == 0))
822827 then T("Current voting is not over yet")
823828 else {
824- let cz = invoke(cx, "finalize", nil, nil)
825- if ((cz == cz))
829+ let cA = invoke(cy, "finalize", nil, nil)
830+ if ((cA == cA))
826831 then $Tuple2(nil, unit)
827832 else throw("Strict value is not equal to itself.")
828833 }
829834 else {
830- let cA = valueOrElse(getInteger(this, k), c)
831- if ((cA > cw))
835+ let cB = valueOrElse(getInteger(this, k), c)
836+ if ((cB > cx))
832837 then {
833- let cz = invoke(this, "finalizeWrapper", [(cw + 1)], nil)
834- if ((cz == cz))
838+ let cA = invoke(this, "finalizeWrapper", [(cx + 1)], nil)
839+ if ((cA == cA))
835840 then $Tuple2(nil, unit)
836841 else throw("Strict value is not equal to itself.")
837842 }
844849
845850 @Callable(bc)
846851 func finalize () = {
847- let cz = invoke(this, "finalizeWrapper", [0], nil)
848- if ((cz == cz))
852+ let cA = invoke(this, "finalizeWrapper", [0], nil)
853+ if ((cA == cA))
849854 then $Tuple2(nil, unit)
850855 else throw("Strict value is not equal to itself.")
851856 }
880885 @Callable(bc)
881886 func isFinalizationInProgress () = {
882887 let bu = getInteger(this, q)
883- let cB = (bu != unit)
884- $Tuple2(nil, cB)
888+ let cC = (bu != unit)
889+ $Tuple2(nil, cC)
885890 }
886891
887892
907912 }
908913
909914
910-@Verifier(cC)
911-func cD () = {
912- let cE = {
915+@Verifier(cD)
916+func cE () = {
917+ let cF = {
913918 let Y = aZ()
914919 if ($isInstanceOf(Y, "ByteVector"))
915920 then {
917922 bd
918923 }
919924 else if ($isInstanceOf(Y, "Unit"))
920- then cC.senderPublicKey
925+ then cD.senderPublicKey
921926 else throw("Match error")
922927 }
923- sigVerify(cC.bodyBytes, cC.proofs[0], cE)
928+ sigVerify(cD.bodyBytes, cD.proofs[0], cF)
924929 }
925930
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "__"
55
66 let b = 100000000
77
88 let c = 10
99
1010 let d = 0
1111
1212 let e = 1
1313
1414 let f = makeString(["%s", "epochLength"], a)
1515
1616 let g = makeString(["%s%s", "epochLength__new"], a)
1717
1818 func h (i) = makeString(["%s%d", "epochLength", toString(i)], a)
1919
2020
2121 let j = makeString(["%s", "currentEpoch"], a)
2222
2323 let k = makeString(["%s", "maxDepth"], a)
2424
2525 let l = makeString(["%s", "votingEmissionCandidateContract"], a)
2626
2727 let m = makeString(["%s", "votingEmissionRateContract"], a)
2828
2929 let n = makeString(["%s", "factoryContract"], a)
3030
3131 let o = makeString(["%s", "boostingContract"], a)
3232
3333 let p = makeString(["%s", "stakingContract"], a)
3434
3535 let q = makeString(["%s", "finalizationStage"], a)
3636
3737 let r = makeString(["%s", "nextPool"], a)
3838
3939 let s = makeString(["%s", "nextUser"], a)
4040
4141 let t = makeString(["%s", "startHeight"], a)
4242
4343 let u = makeString(["%s", "currentEpochUi"], a)
4444
4545 let v = makeString(["%s", "startHeightUi"], a)
4646
4747 let w = makeString(["%s", "force"], a)
4848
4949 func x (i) = makeString(["%s%d", "startHeight", toString(i)], a)
5050
5151
5252 func y (i) = makeString(["%s%d", "finalized", toString(i)], a)
5353
5454
5555 func z (A) = {
5656 let B = A
5757 let C = B._1
5858 let D = B._2
5959 makeString(["%s%s%s", "inList", C, D], a)
6060 }
6161
6262
6363 func E (F,i) = makeString(["%s%s%d", "used", toString(F), toString(i)], a)
6464
6565
6666 func G (A,F,i) = {
6767 let H = A
6868 let C = H._1
6969 let D = H._2
7070 makeString(["%s%s%s%s%d", "vote", C, D, toString(F), toString(i)], a)
7171 }
7272
7373
7474 func I (A,i) = {
7575 let J = A
7676 let C = J._1
7777 let D = J._2
7878 makeString(["%s%s%s%d", "votingResult", C, D, toString(i)], a)
7979 }
8080
8181
8282 func K (L,i) = makeString(["%s%s%d", "votingResultStaked", L, toString(i)], a)
8383
8484
8585 func M (A,i) = {
8686 let N = A
8787 let C = N._1
8888 let D = N._2
8989 makeString(["%s%s%s%d", "poolShare", C, D, toString(i)], a)
9090 }
9191
9292
9393 func O (i) = makeString(["%s%d", "totalVotes", toString(i)], a)
9494
9595
9696 func P (L,Q) = makeString(["%s%s%s", "staked", Q, L], a)
9797
9898
9999 func R (S) = makeString(["voting_emission.ride:", S], " ")
100100
101101
102102 func T (S) = throw(R(S))
103103
104104
105105 func U (F,V,W) = {
106106 let X = R(makeString(["mandatory ", toString(F), ".", V, " is not defined"], ""))
107107 valueOrErrorMessage({
108108 let Y = W
109109 if ($isInstanceOf(Y, "String"))
110110 then {
111111 let Z = Y
112112 getString(F, V)
113113 }
114114 else if ($isInstanceOf(Y, "Int"))
115115 then {
116116 let aa = Y
117117 getInteger(F, V)
118118 }
119119 else T("invalid entry type")
120120 }, X)
121121 }
122122
123123
124124 func ab (F,V) = {
125125 let ac = U(F, V, "")
126126 if ($isInstanceOf(ac, "String"))
127127 then ac
128128 else throw(($getType(ac) + " couldn't be cast to String"))
129129 }
130130
131131
132132 func ad (F,V) = {
133133 let ac = U(F, V, 0)
134134 if ($isInstanceOf(ac, "Int"))
135135 then ac
136136 else throw(($getType(ac) + " couldn't be cast to Int"))
137137 }
138138
139139
140140 func ae (A) = ((A._1 + a) + A._2)
141141
142142
143143 func af (Z) = {
144144 let ag = split(Z, a)
145145 if ((size(ag) == 2))
146146 then $Tuple2(ag[0], ag[1])
147147 else T("invalid pool string")
148148 }
149149
150150
151151 let ah = addressFromStringValue(ab(this, n))
152152
153153 let ai = 10
154154
155155 func aj () = "%s__factoryConfig"
156156
157157
158158 func ak (al) = split(ab(al, aj()), a)
159159
160160
161161 func am (an) = addressFromStringValue(an[ai])
162162
163163
164164 func ao (C,D) = {
165165 func ap (aq) = ("%s%s%s__mappings__baseAsset2internalId__" + aq)
166166
167167 func ar (as,at) = (((("%d%d%s%s__" + toString(as)) + "__") + toString(at)) + "__mappings__poolAssets2PoolContract")
168168
169169 func au (av) = (("%s%s%s__" + av) + "__mappings__poolContract2LpAsset")
170170
171171 let aw = ad(ah, ap(C))
172172 let ax = ad(ah, ap(D))
173173 let av = ab(ah, ar(aw, ax))
174174 let ay = ab(ah, au(av))
175175 ay
176176 }
177177
178178
179179 func az (A) = {
180180 let aA = A
181181 let C = aA._1
182182 let D = aA._2
183183 let ac = invoke(ah, "checkWxEmissionPoolLabel", [C, D], nil)
184184 if ($isInstanceOf(ac, "Boolean"))
185185 then ac
186186 else throw(($getType(ac) + " couldn't be cast to Boolean"))
187187 }
188188
189189
190190 func aB () = {
191191 let an = ak(ah)
192192 let aC = am(an)
193193 invoke(aC, "deposit", nil, nil)
194194 }
195195
196196
197197 let aD = "pools"
198198
199199 func aE (A) = {
200200 let aF = A
201201 let C = aF._1
202202 let D = aF._2
203203 makeString(["votes", C, D], a)
204204 }
205205
206206
207207 func aG (aH) = {
208208 let aI = if ((aH == aD))
209209 then "%s%s"
210210 else "%s%s%s%s"
211211 makeString([aI, aH, "head"], a)
212212 }
213213
214214
215215 func aJ (aH) = {
216216 let aI = if ((aH == aD))
217217 then "%s%s"
218218 else "%s%s%s%s"
219219 makeString([aI, aH, "size"], a)
220220 }
221221
222222
223223 func aK (aH,aL) = {
224224 let aI = if ((aH == aD))
225225 then "%s%s%s%s"
226226 else "%s%s%s%s%s"
227227 makeString([aI, aH, aL, "prev"], a)
228228 }
229229
230230
231231 func aM (aH,aL) = {
232232 let aI = if ((aH == aD))
233233 then "%s%s%s%s"
234234 else "%s%s%s%s%s"
235235 makeString([aI, aH, aL, "next"], a)
236236 }
237237
238238
239239 func aN (aH,aL) = {
240240 let aO = getString(this, aG(aH))
241241 let aP = getString(this, aK(aH, aL))
242242 let aQ = getString(this, aM(aH, aL))
243243 if (if ((aL == valueOrElse(aO, "")))
244244 then true
245245 else (aP != unit))
246246 then true
247247 else (aQ != unit)
248248 }
249249
250250
251251 func aR (aH,aL) = {
252252 let aO = getString(this, aG(aH))
253253 let aS = valueOrElse(getInteger(this, aJ(aH)), 0)
254254 let aT = if (!(aN(aH, aL)))
255255 then true
256256 else T("Node exists")
257257 if ((aT == aT))
258258 then (([IntegerEntry(aJ(aH), (aS + 1))] ++ (if ((aO != unit))
259259 then [StringEntry(aM(aH, aL), value(aO)), StringEntry(aK(aH, value(aO)), aL)]
260260 else nil)) ++ [StringEntry(aG(aH), aL)])
261261 else throw("Strict value is not equal to itself.")
262262 }
263263
264264
265265 func aU (aH,aL) = {
266266 let aO = getString(this, aG(aH))
267267 let aS = valueOrElse(getInteger(this, aJ(aH)), 0)
268268 let aP = getString(this, aK(aH, aL))
269269 let aQ = getString(this, aM(aH, aL))
270270 ([IntegerEntry(aJ(aH), (aS - 1))] ++ (if (if ((aP != unit))
271271 then (aQ != unit)
272272 else false)
273273 then [StringEntry(aM(aH, value(aP)), value(aQ)), StringEntry(aK(aH, value(aQ)), value(aP)), DeleteEntry(aK(aH, aL)), DeleteEntry(aM(aH, aL))]
274274 else if ((aQ != unit))
275275 then [StringEntry(aG(aH), value(aQ)), DeleteEntry(aM(aH, aL)), DeleteEntry(aK(aH, value(aQ)))]
276276 else if ((aP != unit))
277277 then [DeleteEntry(aK(aH, aL)), DeleteEntry(aM(aH, value(aP)))]
278278 else if ((aL == valueOrElse(aO, "")))
279279 then [DeleteEntry(aG(aH))]
280280 else T(((("invalid node: " + aH) + ".") + aL))))
281281 }
282282
283283
284284 func aV () = "%s__managerVaultAddress"
285285
286286
287287 func aW () = "%s__managerPublicKey"
288288
289289
290290 func aX () = {
291291 let Y = getString(aV())
292292 if ($isInstanceOf(Y, "String"))
293293 then {
294294 let aY = Y
295295 addressFromStringValue(aY)
296296 }
297297 else this
298298 }
299299
300300
301301 func aZ () = {
302302 let ba = aX()
303303 let Y = getString(ba, aW())
304304 if ($isInstanceOf(Y, "String"))
305305 then {
306306 let aY = Y
307307 fromBase58String(aY)
308308 }
309309 else if ($isInstanceOf(Y, "Unit"))
310310 then unit
311311 else throw("Match error")
312312 }
313313
314314
315315 func bb (bc) = {
316316 let Y = aZ()
317317 if ($isInstanceOf(Y, "ByteVector"))
318318 then {
319319 let bd = Y
320320 (bc.callerPublicKey == bd)
321321 }
322322 else if ($isInstanceOf(Y, "Unit"))
323323 then (bc.caller == this)
324324 else throw("Match error")
325325 }
326326
327327
328328 func be (bc) = if (bb(bc))
329329 then true
330330 else throw("permission denied")
331331
332332
333333 func bf (bc) = if ((bc.caller == this))
334334 then true
335335 else throw("permission denied")
336336
337337
338338 @Callable(bc)
339339 func getUserGwxAmountAtHeight (bg,bh) = {
340340 let bi = valueOrErrorMessage(addressFromString(ab(this, o)), R("invalid boosting contract address"))
341341 $Tuple2(nil, {
342342 let ac = invoke(bi, "getUserGwxAmountAtHeightREADONLY", [bg, bh], nil)
343343 if ($isInstanceOf(ac, "Int"))
344344 then ac
345345 else throw(($getType(ac) + " couldn't be cast to Int"))
346346 })
347347 }
348348
349349
350350
351351 @Callable(bc)
352352 func constructor (ah,bj,bk,bl,bm) = {
353353 let bn = [be(bc), if ((addressFromString(ah) != unit))
354354 then true
355355 else "invalid factory contract address", if ((addressFromString(bj) != unit))
356356 then true
357357 else "invalid voting emission candidate contract address", if ((addressFromString(bk) != unit))
358358 then true
359359 else "invalid boosting contract address", if ((addressFromString(bl) != unit))
360360 then true
361361 else "invalid staking contract address", if ((bm > 0))
362362 then true
363363 else T("invalid epoch length")]
364364 if ((bn == bn))
365365 then $Tuple2([StringEntry(n, ah), StringEntry(l, bj), StringEntry(o, bk), StringEntry(p, bl), IntegerEntry(f, bm)], unit)
366366 else throw("Strict value is not equal to itself.")
367367 }
368368
369369
370370
371371 @Callable(bc)
372372 func create (C,D) = {
373373 let bn = [if ((toBase58String(bc.caller.bytes) == valueOrElse(getString(this, l), "")))
374374 then true
375375 else be(bc)]
376376 if ((bn == bn))
377377 then {
378378 let A = $Tuple2(C, D)
379379 let bo = ([BooleanEntry(z(A), true)] ++ aR(aD, ae(A)))
380380 let bp = (getInteger(this, j) == unit)
381381 let bq = if (bp)
382382 then {
383383 let i = 0
384384 [IntegerEntry(j, i), IntegerEntry(x(i), height), IntegerEntry(t, height), IntegerEntry(u, i), IntegerEntry(v, height)]
385385 }
386386 else nil
387387 $Tuple2((bo ++ bq), unit)
388388 }
389389 else throw("Strict value is not equal to itself.")
390390 }
391391
392392
393393
394394 @Callable(bc)
395395 func vote (C,D,br) = {
396396 let A = $Tuple2(C, D)
397397 let i = valueOrElse(getInteger(this, j), 0)
398398 let bs = ad(this, x(i))
399399 let bm = ad(this, f)
400400 let bt = (bs + bm)
401401 let bu = getInteger(this, q)
402402 let bv = valueOrElse(getInteger(this, E(bc.caller, i)), 0)
403403 let bw = valueOrElse(getInteger(this, G(A, bc.caller, i)), 0)
404404 let bx = valueOrElse(getInteger(this, I(A, i)), 0)
405405 let by = valueOrElse(getInteger(this, O(i)), 0)
406406 let bz = {
407407 let ac = invoke(this, "getUserGwxAmountAtHeight", [toBase58String(bc.caller.bytes), bt], nil)
408408 if ($isInstanceOf(ac, "Int"))
409409 then ac
410410 else throw(($getType(ac) + " couldn't be cast to Int"))
411411 }
412412 let bA = (bz - bv)
413413 let bB = (bw + br)
414414 let bC = az(A)
415415 let bn = [if ((getBoolean(z(A)) != unit))
416416 then true
417417 else T("invalid assets"), if ((bt > height))
418418 then true
419419 else T("invalid height"), if ((bu == unit))
420420 then true
421421 else T("finalization in progress"), if ((bz > 0))
422422 then true
423423 else T("you do not have gWX"), if (if ((br > 0))
424424 then (bA >= br)
425425 else false)
426426 then true
427427 else T("invalid amount"), if (bC)
428428 then true
429429 else T("pool hasn't WX_EMISSION label")]
430430 if ((bn == bn))
431431 then {
432432 let bD = aE(A)
433433 let Q = toString(bc.caller)
434434 let bE = if (aN(bD, Q))
435435 then nil
436436 else aR(bD, Q)
437437 $Tuple2(([IntegerEntry(E(bc.caller, i), (bv + br)), IntegerEntry(G(A, bc.caller, i), bB), IntegerEntry(I(A, i), (bx + br)), IntegerEntry(O(i), (by + br))] ++ bE), unit)
438438 }
439439 else throw("Strict value is not equal to itself.")
440440 }
441441
442442
443443
444444 @Callable(bc)
445445 func cancelVote (C,D) = {
446446 let A = $Tuple2(C, D)
447447 let i = valueOrElse(getInteger(this, j), 0)
448448 let bs = ad(this, x(i))
449449 let bm = ad(this, f)
450450 let bt = (bs + bm)
451451 let bu = getInteger(this, q)
452452 let bv = valueOrElse(getInteger(this, E(bc.caller, i)), 0)
453453 let bw = valueOrElse(getInteger(this, G(A, bc.caller, i)), 0)
454454 let bx = valueOrElse(getInteger(this, I(A, i)), 0)
455455 let by = valueOrElse(getInteger(this, O(i)), 0)
456456 let bn = [if ((getBoolean(z(A)) != unit))
457457 then true
458458 else T("invalid assets"), if ((bt > height))
459459 then true
460460 else T("invalid height"), if ((bu == unit))
461461 then true
462462 else T("finalization in progress"), if ((bw > 0))
463463 then true
464464 else T("no vote")]
465465 if ((bn == bn))
466466 then {
467467 let bD = aE(A)
468468 let Q = toString(bc.caller)
469469 $Tuple2(([IntegerEntry(E(bc.caller, i), max([(bv - bw), 0])), DeleteEntry(G(A, bc.caller, i)), IntegerEntry(I(A, i), (bx - bw)), IntegerEntry(O(i), (by - bw))] ++ aU(bD, Q)), unit)
470470 }
471471 else throw("Strict value is not equal to itself.")
472472 }
473473
474474
475475
476476 @Callable(bc)
477477 func setEpochLength (bF) = {
478478 let bn = [be(bc), if ((bF > 0))
479479 then true
480480 else T("invalid epoch length")]
481481 if ((bn == bn))
482482 then $Tuple2([IntegerEntry(g, bF)], unit)
483483 else throw("Strict value is not equal to itself.")
484484 }
485485
486486
487487
488488 @Callable(bc)
489489 func setMaxDepth (bG) = {
490490 let bn = [be(bc), if ((bG > 0))
491491 then true
492492 else T("invalid max depth")]
493493 if ((bn == bn))
494494 then $Tuple2([IntegerEntry(k, bG)], unit)
495495 else throw("Strict value is not equal to itself.")
496496 }
497497
498498
499499
500500 @Callable(bc)
501501 func processVoteINTERNAL (bH,Q) = {
502502 let bI = bf(bc)
503503 if ((bI == bI))
504504 then {
505505 let bg = valueOrErrorMessage(addressFromString(Q), R(("processVoteINTERNAL: invalid user address " + Q)))
506506 let i = ad(this, j)
507507 let bJ = (i - 1)
508508 let bm = ad(this, f)
509509 let bs = ad(this, x(i))
510510 let bt = (bs + bm)
511511 let bK = ad(this, x(bJ))
512512 let bL = ad(this, h(bJ))
513513 let bM = (bK + bL)
514514 let bN = if ((bJ >= 0))
515515 then true
516516 else T("processVoteINTERNAL: invalid previous epoch")
517517 if ((bN == bN))
518518 then {
519519 let A = af(bH)
520520 let bO = A
521521 let C = bO._1
522522 let D = bO._2
523523 let bC = az(A)
524524 let bz = {
525525 let ac = invoke(this, "getUserGwxAmountAtHeight", [Q, bt], nil)
526526 if ($isInstanceOf(ac, "Int"))
527527 then ac
528528 else throw(($getType(ac) + " couldn't be cast to Int"))
529529 }
530530 let bP = {
531531 let ac = invoke(this, "getUserGwxAmountAtHeight", [Q, bM], nil)
532532 if ($isInstanceOf(ac, "Int"))
533533 then ac
534534 else throw(($getType(ac) + " couldn't be cast to Int"))
535535 }
536536 let by = valueOrElse(getInteger(O(i)), 0)
537537 let bQ = valueOrElse(getInteger(I(A, i)), 0)
538538 let bR = valueOrErrorMessage(getInteger(G(A, bg, bJ)), R((((("processVoteINTERNAL " + bH) + " ") + Q) + ": no previous vote")))
539539 let bv = valueOrElse(getInteger(this, E(bg, i)), 0)
540540 let L = ao(C, D)
541541 let bS = valueOrElse(getInteger(K(L, bJ)), 0)
542542 let bl = addressFromStringValue(ab(this, p))
543543 let bT = valueOrElse(getInteger(bl, P(L, Q)), 0)
544544 let bU = if ((bT == 0))
545545 then nil
546546 else [IntegerEntry(K(L, bJ), (bS + bR))]
547547 let ay = ao(C, D)
548548 let bV = {
549549 let ac = invoke(ah, "checkBalance", [ay], nil)
550550 if ($isInstanceOf(ac, "Boolean"))
551551 then ac
552552 else throw(($getType(ac) + " couldn't be cast to Boolean"))
553553 }
554554 let bB = if ((bP > 0))
555555 then fraction(bR, bz, bP)
556556 else 0
557557 let bW = if (if (if ((bB > 0))
558558 then bC
559559 else false)
560560 then bV
561561 else false)
562562 then [IntegerEntry(G(A, bg, i), bB), IntegerEntry(O(i), (by + bB)), IntegerEntry(I(A, i), (bQ + bB)), IntegerEntry(E(bg, i), (bv + bB))]
563563 else aU(aE(A), Q)
564564 $Tuple2((bW ++ bU), unit)
565565 }
566566 else throw("Strict value is not equal to itself.")
567567 }
568568 else throw("Strict value is not equal to itself.")
569569 }
570570
571571
572572
573573 @Callable(bc)
574574 func processPoolINTERNAL (bH,bX) = {
575575 let bI = bf(bc)
576576 if ((bI == bI))
577577 then {
578578 let bY = {
579579 let bZ = ad(this, j)
580580 if (bX)
581581 then bZ
582582 else (bZ - 1)
583583 }
584584 let bN = if ((bY >= 0))
585585 then true
586586 else T("processPoolINTERNAL: invalid target epoch")
587587 if ((bN == bN))
588588 then {
589589 let A = af(bH)
590590 let ca = A
591591 let C = ca._1
592592 let D = ca._2
593593 let bl = addressFromStringValue(ab(this, p))
594594 let ay = ao(C, D)
595595 let cb = {
596596 let ac = invoke(bl, "usersListTraversal", [ay], nil)
597597 if ($isInstanceOf(ac, "Boolean"))
598598 then ac
599599 else throw(($getType(ac) + " couldn't be cast to Boolean"))
600600 }
601601 if ((cb == cb))
602602 then if (cb)
603603 then $Tuple2(nil, true)
604604 else {
605- let bC = az(A)
606605 let bV = {
607606 let ac = invoke(ah, "checkBalance", [ay], nil)
608607 if ($isInstanceOf(ac, "Boolean"))
609608 then ac
610609 else throw(($getType(ac) + " couldn't be cast to Boolean"))
611610 }
612- let by = valueOrElse(getInteger(this, O(bY)), 0)
613- let bQ = valueOrElse(getInteger(this, I(A, bY)), 0)
614- let cc = if (if (if ((by == 0))
615- then true
616- else !(bC))
617- then true
618- else !(bV))
619- then 0
620- else fraction(bQ, b, by)
621- let cd = invoke(ah, "modifyWeight", [ay, cc], nil)
622- if ((cd == cd))
611+ let cc = if (bV)
612+ then unit
613+ else invoke(ah, "deleteWxEmissionPoolLabel", [C, D], nil)
614+ if ((cc == cc))
623615 then {
624- let ce = if (if (bC)
616+ let bC = az(A)
617+ let by = valueOrElse(getInteger(this, O(bY)), 0)
618+ let bQ = valueOrElse(getInteger(this, I(A, bY)), 0)
619+ let cd = if (if ((by == 0))
625620 then true
626- else bX)
627- then nil
628- else ([DeleteEntry(z(A))] ++ aU(aD, bH))
629- $Tuple2(([IntegerEntry(M(A, bY), cc)] ++ ce), false)
621+ else !(bC))
622+ then 0
623+ else fraction(bQ, b, by)
624+ let ce = invoke(ah, "modifyWeight", [ay, cd], nil)
625+ if ((ce == ce))
626+ then {
627+ let cf = if (if (bC)
628+ then true
629+ else bX)
630+ then nil
631+ else ([DeleteEntry(z(A))] ++ aU(aD, bH))
632+ $Tuple2(([IntegerEntry(M(A, bY), cd)] ++ cf), false)
633+ }
634+ else throw("Strict value is not equal to itself.")
630635 }
631636 else throw("Strict value is not equal to itself.")
632637 }
633638 else throw("Strict value is not equal to itself.")
634639 }
635640 else throw("Strict value is not equal to itself.")
636641 }
637642 else throw("Strict value is not equal to itself.")
638643 }
639644
640645
641646
642647 @Callable(bc)
643648 func finalizeHelper () = {
644649 let bX = valueOrElse(getBoolean(w), false)
645650 let i = valueOrElse(getInteger(this, j), 0)
646- let cf = (i - 1)
651+ let cg = (i - 1)
647652 let bs = ad(this, x(i))
648653 let bm = ad(this, f)
649654 let bt = (bs + bm)
650655 let bu = getInteger(this, q)
651656 if (if (if ((height >= bt))
652657 then (bu == unit)
653658 else false)
654659 then !(bX)
655660 else false)
656661 then {
657- let cg = (i + 1)
658- let ch = getInteger(this, g)
659- let ci = {
660- let Y = ch
662+ let ch = (i + 1)
663+ let ci = getInteger(this, g)
664+ let cj = {
665+ let Y = ci
661666 if ($isInstanceOf(Y, "Int"))
662667 then {
663668 let bF = Y
664669 [IntegerEntry(f, bF), DeleteEntry(g)]
665670 }
666671 else if ($isInstanceOf(Y, "Unit"))
667672 then nil
668673 else throw("Match error")
669674 }
670- $Tuple2(([IntegerEntry(x(cg), height), IntegerEntry(t, height), IntegerEntry(j, cg), IntegerEntry(q, d), IntegerEntry(h(i), bm)] ++ ci), true)
675+ $Tuple2(([IntegerEntry(x(ch), height), IntegerEntry(t, height), IntegerEntry(j, ch), IntegerEntry(q, d), IntegerEntry(h(i), bm)] ++ cj), true)
671676 }
672677 else if (if (bX)
673678 then (bu == unit)
674679 else false)
675680 then $Tuple2([IntegerEntry(q, e)], true)
676681 else if ((bu == unit))
677682 then $Tuple2(nil, false)
678683 else if ((bu == d))
679684 then {
680- let cj = getString(r)
681- let ck = getString(s)
682- let Y = cj
685+ let ck = getString(r)
686+ let cl = getString(s)
687+ let Y = ck
683688 if ($isInstanceOf(Y, "Unit"))
684689 then {
685- let cl = getString(aG(aD))
686- if ($isInstanceOf(cl, "Unit"))
690+ let cm = getString(aG(aD))
691+ if ($isInstanceOf(cm, "Unit"))
687692 then $Tuple2([IntegerEntry(q, e), DeleteEntry(r), DeleteEntry(s)], true)
688- else if ($isInstanceOf(cl, "String"))
693+ else if ($isInstanceOf(cm, "String"))
689694 then {
690- let cm = cl
691- $Tuple2([StringEntry(r, cm)], true)
695+ let cn = cm
696+ $Tuple2([StringEntry(r, cn)], true)
692697 }
693698 else throw("Match error")
694699 }
695700 else if ($isInstanceOf(Y, "String"))
696701 then {
697702 let bH = Y
698703 let A = af(bH)
699- let cn = {
700- let cl = ck
701- if ($isInstanceOf(cl, "Unit"))
704+ let co = {
705+ let cm = cl
706+ if ($isInstanceOf(cm, "Unit"))
702707 then getString(aG(aE(A)))
703- else if ($isInstanceOf(cl, "String"))
708+ else if ($isInstanceOf(cm, "String"))
704709 then {
705- let co = cl
706- let cp = getString(aM(aE(A), co))
707- if ((cp == cp))
710+ let cp = cm
711+ let cq = getString(aM(aE(A), cp))
712+ if ((cq == cq))
708713 then {
709- let cq = invoke(this, "processVoteINTERNAL", [bH, co], nil)
710- if ((cq == cq))
711- then cp
714+ let cr = invoke(this, "processVoteINTERNAL", [bH, cp], nil)
715+ if ((cr == cr))
716+ then cq
712717 else throw("Strict value is not equal to itself.")
713718 }
714719 else throw("Strict value is not equal to itself.")
715720 }
716721 else throw("Match error")
717722 }
718- let cl = cn
719- if ($isInstanceOf(cl, "Unit"))
723+ let cm = co
724+ if ($isInstanceOf(cm, "Unit"))
720725 then {
721- let cr = getString(aM(aD, bH))
722- let cs = cr
723- if ($isInstanceOf(cs, "Unit"))
726+ let cs = getString(aM(aD, bH))
727+ let ct = cs
728+ if ($isInstanceOf(ct, "Unit"))
724729 then $Tuple2([IntegerEntry(q, e), DeleteEntry(r), DeleteEntry(s)], true)
725- else if ($isInstanceOf(cs, "String"))
730+ else if ($isInstanceOf(ct, "String"))
726731 then {
727- let aY = cs
732+ let aY = ct
728733 $Tuple2([StringEntry(r, aY), DeleteEntry(s)], true)
729734 }
730735 else throw("Match error")
731736 }
732- else if ($isInstanceOf(cl, "String"))
737+ else if ($isInstanceOf(cm, "String"))
733738 then {
734- let ct = cl
735- $Tuple2([StringEntry(s, ct)], true)
739+ let cu = cm
740+ $Tuple2([StringEntry(s, cu)], true)
736741 }
737742 else throw("Match error")
738743 }
739744 else throw("Match error")
740745 }
741746 else if ((bu == e))
742747 then {
743- let cj = getString(r)
744- let Y = cj
748+ let ck = getString(r)
749+ let Y = ck
745750 if ($isInstanceOf(Y, "Unit"))
746751 then {
747- let cl = getString(aG(aD))
748- if ($isInstanceOf(cl, "Unit"))
752+ let cm = getString(aG(aD))
753+ if ($isInstanceOf(cm, "Unit"))
749754 then {
750755 let bW = if (bX)
751756 then [DeleteEntry(q), DeleteEntry(w)]
752- else [DeleteEntry(q), BooleanEntry(y(cf), true), IntegerEntry(u, i), IntegerEntry(v, bs)]
753- let cu = aB()
754- if ((cu == cu))
757+ else [DeleteEntry(q), BooleanEntry(y(cg), true), IntegerEntry(u, i), IntegerEntry(v, bs)]
758+ let cv = aB()
759+ if ((cv == cv))
755760 then $Tuple2(bW, true)
756761 else throw("Strict value is not equal to itself.")
757762 }
758- else if ($isInstanceOf(cl, "String"))
763+ else if ($isInstanceOf(cm, "String"))
759764 then {
760- let cv = cl
761- $Tuple2([StringEntry(r, cv)], true)
765+ let cw = cm
766+ $Tuple2([StringEntry(r, cw)], true)
762767 }
763768 else throw("Match error")
764769 }
765770 else if ($isInstanceOf(Y, "String"))
766771 then {
767772 let bH = Y
768- let cr = getString(aM(aD, bH))
769- if ((cr == cr))
773+ let cs = getString(aM(aD, bH))
774+ if ((cs == cs))
770775 then {
771776 let cb = {
772777 let ac = invoke(this, "processPoolINTERNAL", [bH, bX], nil)
773778 if ($isInstanceOf(ac, "Boolean"))
774779 then ac
775780 else throw(($getType(ac) + " couldn't be cast to Boolean"))
776781 }
777782 if ((cb == cb))
778783 then if (cb)
779784 then $Tuple2(nil, true)
780785 else {
781- let cl = cr
782- if ($isInstanceOf(cl, "Unit"))
786+ let cm = cs
787+ if ($isInstanceOf(cm, "Unit"))
783788 then {
784789 let bW = if (bX)
785790 then [DeleteEntry(q), DeleteEntry(w), DeleteEntry(r)]
786- else [DeleteEntry(q), BooleanEntry(y(cf), true), IntegerEntry(u, i), IntegerEntry(v, bs), DeleteEntry(r)]
787- let cu = aB()
788- if ((cu == cu))
791+ else [DeleteEntry(q), BooleanEntry(y(cg), true), IntegerEntry(u, i), IntegerEntry(v, bs), DeleteEntry(r)]
792+ let cv = aB()
793+ if ((cv == cv))
789794 then $Tuple2(bW, true)
790795 else throw("Strict value is not equal to itself.")
791796 }
792- else if ($isInstanceOf(cl, "String"))
797+ else if ($isInstanceOf(cm, "String"))
793798 then {
794- let cv = cl
795- $Tuple2([StringEntry(r, cv)], true)
799+ let cw = cm
800+ $Tuple2([StringEntry(r, cw)], true)
796801 }
797802 else throw("Match error")
798803 }
799804 else throw("Strict value is not equal to itself.")
800805 }
801806 else throw("Strict value is not equal to itself.")
802807 }
803808 else throw("Match error")
804809 }
805810 else T("finalization is broken")
806811 }
807812
808813
809814
810815 @Callable(bc)
811-func finalizeWrapper (cw) = {
812- let cx = addressFromStringValue(getStringValue(this, m))
813- let cy = {
816+func finalizeWrapper (cx) = {
817+ let cy = addressFromStringValue(getStringValue(this, m))
818+ let cz = {
814819 let ac = invoke(this, "finalizeHelper", nil, nil)
815820 if ($isInstanceOf(ac, "Boolean"))
816821 then ac
817822 else throw(($getType(ac) + " couldn't be cast to Boolean"))
818823 }
819- if ((cy == cy))
820- then if (!(cy))
821- then if ((cw == 0))
824+ if ((cz == cz))
825+ then if (!(cz))
826+ then if ((cx == 0))
822827 then T("Current voting is not over yet")
823828 else {
824- let cz = invoke(cx, "finalize", nil, nil)
825- if ((cz == cz))
829+ let cA = invoke(cy, "finalize", nil, nil)
830+ if ((cA == cA))
826831 then $Tuple2(nil, unit)
827832 else throw("Strict value is not equal to itself.")
828833 }
829834 else {
830- let cA = valueOrElse(getInteger(this, k), c)
831- if ((cA > cw))
835+ let cB = valueOrElse(getInteger(this, k), c)
836+ if ((cB > cx))
832837 then {
833- let cz = invoke(this, "finalizeWrapper", [(cw + 1)], nil)
834- if ((cz == cz))
838+ let cA = invoke(this, "finalizeWrapper", [(cx + 1)], nil)
839+ if ((cA == cA))
835840 then $Tuple2(nil, unit)
836841 else throw("Strict value is not equal to itself.")
837842 }
838843 else $Tuple2(nil, unit)
839844 }
840845 else throw("Strict value is not equal to itself.")
841846 }
842847
843848
844849
845850 @Callable(bc)
846851 func finalize () = {
847- let cz = invoke(this, "finalizeWrapper", [0], nil)
848- if ((cz == cz))
852+ let cA = invoke(this, "finalizeWrapper", [0], nil)
853+ if ((cA == cA))
849854 then $Tuple2(nil, unit)
850855 else throw("Strict value is not equal to itself.")
851856 }
852857
853858
854859
855860 @Callable(bc)
856861 func containsNodeREADONLY (aH,aL) = $Tuple2(nil, aN(aH, aL))
857862
858863
859864
860865 @Callable(bc)
861866 func insertNode (aH,aL) = {
862867 let bI = be(bc)
863868 if ((bI == bI))
864869 then $Tuple2(aR(aH, aL), unit)
865870 else throw("Strict value is not equal to itself.")
866871 }
867872
868873
869874
870875 @Callable(bc)
871876 func deleteNode (aH,aL) = {
872877 let bI = be(bc)
873878 if ((bI == bI))
874879 then $Tuple2(aU(aH, aL), unit)
875880 else throw("Strict value is not equal to itself.")
876881 }
877882
878883
879884
880885 @Callable(bc)
881886 func isFinalizationInProgress () = {
882887 let bu = getInteger(this, q)
883- let cB = (bu != unit)
884- $Tuple2(nil, cB)
888+ let cC = (bu != unit)
889+ $Tuple2(nil, cC)
885890 }
886891
887892
888893
889894 @Callable(bc)
890895 func deletePool (C,D) = {
891896 let bI = if (if ((bc.caller == ah))
892897 then true
893898 else be(bc))
894899 then true
895900 else T("Permission denied")
896901 if ((bI == bI))
897902 then {
898903 let aH = "pools"
899904 let A = $Tuple2(C, D)
900905 let aL = makeString([C, D], a)
901906 let bW = if (aN(aH, aL))
902907 then aU(aH, aL)
903908 else nil
904909 ([DeleteEntry(z(A))] ++ bW)
905910 }
906911 else throw("Strict value is not equal to itself.")
907912 }
908913
909914
910-@Verifier(cC)
911-func cD () = {
912- let cE = {
915+@Verifier(cD)
916+func cE () = {
917+ let cF = {
913918 let Y = aZ()
914919 if ($isInstanceOf(Y, "ByteVector"))
915920 then {
916921 let bd = Y
917922 bd
918923 }
919924 else if ($isInstanceOf(Y, "Unit"))
920- then cC.senderPublicKey
925+ then cD.senderPublicKey
921926 else throw("Match error")
922927 }
923- sigVerify(cC.bodyBytes, cC.proofs[0], cE)
928+ sigVerify(cD.bodyBytes, cD.proofs[0], cF)
924929 }
925930

github/deemru/w8io/169f3d6 
136.81 ms