tx · GSPTD42ZfJuujPW4kMVGFUbmJF82gZzGM2p1WJ26e4mc

3N9Zi6AcWcGbM23jQJ4fnzFsoHoTsxYDznr:  -0.02700000 Waves

2024.04.17 09:53 [3066439] smart account 3N9Zi6AcWcGbM23jQJ4fnzFsoHoTsxYDznr > SELF 0.00000000 Waves

{ "type": 13, "id": "GSPTD42ZfJuujPW4kMVGFUbmJF82gZzGM2p1WJ26e4mc", "fee": 2700000, "feeAssetId": null, "timestamp": 1713336857481, "version": 2, "chainId": 84, "sender": "3N9Zi6AcWcGbM23jQJ4fnzFsoHoTsxYDznr", "senderPublicKey": "GFbasS3jufhZkK4xR7tdTjjnP8K33KvJFEDHRtxXDkaJ", "proofs": [ "4XddkDre4cFYKTDXkJCyhNhAPWU8dZ9vn3TJR6Y9ziKJKbksQnGZhEZHzGgzHsY6Np4vnnGyUKuSvbKnLtzYzgbZ" ], "script": "base64:BgK/GggCEgQKAggBEgcKBQgICAgBEgQKAggIEgUKAwgIARIECgIICBIDCgEBEgMKAQESAwoBCBIECgIICBIECgIIBBIAEgMKAQESABIECgIICBIECgIICBIECgIICBIAEgQKAggIEgQKAggIIglzZXBhcmF0b3IiDnBvb2xXZWlnaHRNdWx0Ig9tYXhEZXB0aERlZmF1bHQiGWZpbmFsaXphdGlvblN0YWdlQmFsYW5jZXMiFmZpbmFsaXphdGlvblN0YWdlVG90YWwiF2ZpbmFsaXphdGlvblN0YWdlU2hhcmVzIhRyZXN1bXB0aW9uRmVlRGVmYXVsdCIOa2V5RXBvY2hMZW5ndGgiEWtleUVwb2NoTGVuZ3RoTmV3IhVrZXlFcG9jaExlbmd0aEJ5RXBvY2giBWVwb2NoIg9rZXlDdXJyZW50RXBvY2giC2tleU1heERlcHRoIhBrZXlSZXN1bXB0aW9uRmVlIiJrZXlWb3RpbmdFbWlzc2lvbkNhbmRpZGF0ZUNvbnRyYWN0Ih1rZXlWb3RpbmdFbWlzc2lvblJhdGVDb250cmFjdCISa2V5RmFjdG9yeUNvbnRyYWN0IhNrZXlCb29zdGluZ0NvbnRyYWN0IhJrZXlTdGFraW5nQ29udHJhY3QiFmtleUFzc2V0c1N0b3JlQ29udHJhY3QiFGtleUZpbmFsaXphdGlvblN0YWdlIgtrZXlOZXh0UG9vbCILa2V5TmV4dFVzZXIiDmtleVN0YXJ0SGVpZ2h0IhFrZXlDdXJyZW50RXBvY2hVaSIQa2V5U3RhcnRIZWlnaHRVaSIda2V5RmluYWxpemF0aW9uU2hvdWxkQmVGb3JjZWQiFWtleVN0YXJ0SGVpZ2h0QnlFcG9jaCIMa2V5RmluYWxpemVkIglrZXlJbkxpc3QiBHBvb2wiCyR0MDIwMTMyMDUzIg1hbW91bnRBc3NldElkIgxwcmljZUFzc2V0SWQiF2tleUluc3VmZmljaWVudEJhbGFuY2VzIgskdDAyMjAyMjI0MiIHa2V5VXNlZCIHYWRkcmVzcyIHa2V5Vm90ZSILJHQwMjU1MDI1OTAiD2tleVZvdGluZ1Jlc3VsdCILJHQwMjc3MjI4MTIiFWtleVZvdGluZ1Jlc3VsdFN0YWtlZCIMbHBBc3NldElkU3RyIgxrZXlQb29sU2hhcmUiCyR0MDMxMzMzMTczIg1rZXlUb3RhbFZvdGVzIg9rZXlTdGFrZWRCeVVzZXIiDnVzZXJBZGRyZXNzU3RyIgd3cmFwRXJyIgNtc2ciCHRocm93RXJyIg5nZXRWYWx1ZU9yRmFpbCIDa2V5IgR0eXBlIgVlcnJvciIHJG1hdGNoMCIDc3RyIgNpbnQiDGdldFN0ck9yRmFpbCIBQCIMZ2V0SW50T3JGYWlsIgxwb29sVG9TdHJpbmciDHN0cmluZ1RvUG9vbCIFcGFydHMiD2ZhY3RvcnlDb250cmFjdCIaSWR4RmFjdG9yeUNmZ0d3eFJld2FyZERhcHAiDWtleUZhY3RvcnlDZmciFHJlYWRGYWN0b3J5Q2ZnT3JGYWlsIgdmYWN0b3J5IhlnZXRHd3hSZXdhcmRBZGRyZXNzT3JGYWlsIgpmYWN0b3J5Q2ZnIgtnZXRQb29sSW5mbyIOcG9vbEluZm9PcHRpb24iFmdldExwQXNzZXRCeVBvb2xBc3NldHMiH2tleU1hcHBpbmdzQmFzZUFzc2V0MmludGVybmFsSWQiDGJhc2VBc3NldFN0ciIpa2V5TWFwcGluZ1Bvb2xBc3NldHNUb1Bvb2xDb250cmFjdEFkZHJlc3MiGGludGVybmFsQW1vdW50QXNzZXRJZFN0ciIXaW50ZXJuYWxQcmljZUFzc2V0SWRTdHIiH2tleU1hcHBpbmdQb29sQ29udHJhY3RUb0xQQXNzZXQiE3Bvb2xDb250cmFjdEFkZHJlc3MiFWFtb3VudEFzc2V0SW50ZXJuYWxJZCIUcHJpY2VBc3NldEludGVybmFsSWQiCWxwQXNzZXRJZCIYY2hlY2tXeEVtaXNzaW9uUG9vbExhYmVsIgskdDA2Mjk5NjMzOSIQZ3d4UmV3YXJkRGVwb3NpdCISZ3d4UmV3YXJkc0NvbnRyYWN0Ig1wb29sc0xpc3ROYW1lIhBnZXRWb3Rlc0xpc3ROYW1lIgskdDA2NzU2Njc5NiILa2V5TGlzdEhlYWQiCGxpc3ROYW1lIgRtZXRhIgtrZXlMaXN0U2l6ZSILa2V5TGlzdFByZXYiAmlkIgtrZXlMaXN0TmV4dCIMY29udGFpbnNOb2RlIgpoZWFkT3JVbml0IgpwcmV2T3JVbml0IgpuZXh0T3JVbml0IhFpbnNlcnROb2RlQWN0aW9ucyIIbGlzdFNpemUiCWNoZWNrTm9kZSIRZGVsZXRlTm9kZUFjdGlvbnMiFmtleU1hbmFnZXJWYXVsdEFkZHJlc3MiE2tleU1hbmFnZXJQdWJsaWNLZXkiHGdldE1hbmFnZXJWYXVsdEFkZHJlc3NPclRoaXMiAXMiFm1hbmFnZXJQdWJsaWNLZXlPclVuaXQiE21hbmFnZXJWYXVsdEFkZHJlc3MiCWlzTWFuYWdlciIBaSICcGsiC211c3RNYW5hZ2VyIghtdXN0VGhpcyILdXNlckFkZHJlc3MiDHRhcmdldEhlaWdodCIXYm9vc3RpbmdDb250cmFjdEFkZHJlc3MiH3ZvdGluZ0VtaXNzaW9uQ2FuZGlkYXRlQ29udHJhY3QiEGJvb3N0aW5nQ29udHJhY3QiD3N0YWtpbmdDb250cmFjdCILZXBvY2hMZW5ndGgiBmNoZWNrcyINaW5MaXN0QWN0aW9ucyIYY3VycmVudEVwb2NoSXNOb3REZWZpbmVkIhJzdGFydEhlaWdodEFjdGlvbnMiBmFtb3VudCILc3RhcnRIZWlnaHQiCWVuZEhlaWdodCIXZmluYWxpemF0aW9uU3RhZ2VPclVuaXQiBHVzZWQiBHZvdGUiCnBvb2xSZXN1bHQiCnRvdGFsVm90ZXMiE2d3eEFtb3VudEF0RW5kVG90YWwiCWF2YWlsYWJsZSIHbmV3Vm90ZSIKd3hFbWlzc2lvbiINdm90ZXNMaXN0TmFtZSIQdm90ZXNMaXN0QWN0aW9ucyIObmV3RXBvY2hMZW5ndGgiC25ld01heERlcHRoIgdwb29sU3RyIgtjaGVja0NhbGxlciINZXBvY2hQcmV2aW91cyINJHQwMTcwMjAxNzA2MCISYmFsYW5jZUlzT2tDdXJyZW50IhNiYWxhbmNlSXNPa1ByZXZpb3VzIgdhY3Rpb25zIhNkZWxldGVXeEVtaXNzaW9uSW52Ig9tb2RpZnlXZWlnaHRJbnYiC3Bvb2xBZGRyZXNzIgluZXdTdGF0dXMiEHNldFBvb2xTdGF0dXNJbnYiC2xpc3RBY3Rpb25zIhNzdGFydEhlaWdodFByZXZpb3VzIhNlcG9jaExlbmd0aFByZXZpb3VzIhFlbmRIZWlnaHRQcmV2aW91cyIQY2hlY2tUYXJnZXRFcG9jaCINJHQwMTk0MTMxOTQ1MyIbZ3d4QW1vdW50QXRFbmRUb3RhbFByZXZpb3VzIgx2b3RpbmdSZXN1bHQiDHZvdGVQcmV2aW91cyIadm90aW5nUmVzdWx0U3Rha2VkUHJldmlvdXMiDHN0YWtlZEJ5VXNlciIZdm90aW5nUmVzdWx0U3Rha2VkQWN0aW9ucyIFZm9yY2UiC3RhcmdldEVwb2NoIgxjdXJyZW50RXBvY2giDSR0MDIxODE2MjE4NTYiAXIiE2Fzc2V0c1N0b3JlQ29udHJhY3QiBXNoYXJlIg1wcmV2aW91c0Vwb2NoIghuZXdFcG9jaCIUbmV3RXBvY2hMZW5ndGhPcHRpb24iFW5ld0Vwb2NoTGVuZ3RoQWN0aW9ucyIKcG9vbE9yVW5pdCIHJG1hdGNoMSILbmV4dFBvb2xTdHIiDm5leHRQb29sT3JVbml0Igp1c2VyT3JVbml0Igxwb29sc0hlYWRTdHIiDm5leHRVc2VyT3JVbml0IgR1c2VyIgRuZXh0Ig5wcm9jZXNzVm90ZUludiIHJG1hdGNoMiIIbmV4dFVzZXIiE2d3eFJld2FyZERlcG9zaXRJbnYiB2NvdW50ZXIiGnZvdGluZ0VtaXNzaW9uUmF0ZUNvbnRyYWN0IgZyZXN1bHQiA2ludiIIbWF4RGVwdGgiFmZpbmFsaXphdGlvbkluUHJvZ3Jlc3MiC2JhbGFuY2VJc09rIgdwYXltZW50Ig9rQm9vc3RpbmdDb25maWciDWlkeENmZ0Fzc2V0SWQiCXd4QXNzZXRJZCITYW1vdW50QXNzZXRWZXJpZmllZCIScHJpY2VBc3NldFZlcmlmaWVkIg1yZXN1bXB0aW9uRmVlIhBzZXRXeEVtaXNzaW9uSW52IgJ0eCIGdmVyaWZ5Ig90YXJnZXRQdWJsaWNLZXlFAAFhAgJfXwABYgCAwtcvAAFjAAoAAWQAAAABZQABAAFmAAIAAWcAgJDK0sYOAAFoCQC5CQIJAMwIAgICJXMJAMwIAgILZXBvY2hMZW5ndGgFA25pbAUBYQABaQkAuQkCCQDMCAICBCVzJXMJAMwIAgIQZXBvY2hMZW5ndGhfX25ldwUDbmlsBQFhAQFqAQFrCQC5CQIJAMwIAgIEJXMlZAkAzAgCAgtlcG9jaExlbmd0aAkAzAgCCQCkAwEFAWsFA25pbAUBYQABbAkAuQkCCQDMCAICAiVzCQDMCAICDGN1cnJlbnRFcG9jaAUDbmlsBQFhAAFtCQC5CQIJAMwIAgICJXMJAMwIAgIIbWF4RGVwdGgFA25pbAUBYQABbgkAuQkCCQDMCAICAiVzCQDMCAICDXJlc3VtcHRpb25GZWUFA25pbAUBYQABbwkAuQkCCQDMCAICAiVzCQDMCAICH3ZvdGluZ0VtaXNzaW9uQ2FuZGlkYXRlQ29udHJhY3QFA25pbAUBYQABcAkAuQkCCQDMCAICAiVzCQDMCAICGnZvdGluZ0VtaXNzaW9uUmF0ZUNvbnRyYWN0BQNuaWwFAWEAAXEJALkJAgkAzAgCAgIlcwkAzAgCAg9mYWN0b3J5Q29udHJhY3QFA25pbAUBYQABcgkAuQkCCQDMCAICAiVzCQDMCAICEGJvb3N0aW5nQ29udHJhY3QFA25pbAUBYQABcwkAuQkCCQDMCAICAiVzCQDMCAICD3N0YWtpbmdDb250cmFjdAUDbmlsBQFhAAF0CQC5CQIJAMwIAgICJXMJAMwIAgITYXNzZXRzU3RvcmVDb250cmFjdAUDbmlsBQFhAAF1CQC5CQIJAMwIAgICJXMJAMwIAgIRZmluYWxpemF0aW9uU3RhZ2UFA25pbAUBYQABdgkAuQkCCQDMCAICAiVzCQDMCAICCG5leHRQb29sBQNuaWwFAWEAAXcJALkJAgkAzAgCAgIlcwkAzAgCAghuZXh0VXNlcgUDbmlsBQFhAAF4CQC5CQIJAMwIAgICJXMJAMwIAgILc3RhcnRIZWlnaHQFA25pbAUBYQABeQkAuQkCCQDMCAICAiVzCQDMCAICDmN1cnJlbnRFcG9jaFVpBQNuaWwFAWEAAXoJALkJAgkAzAgCAgIlcwkAzAgCAg1zdGFydEhlaWdodFVpBQNuaWwFAWEAAUEJALkJAgkAzAgCAgIlcwkAzAgCAgVmb3JjZQUDbmlsBQFhAQFCAQFrCQC5CQIJAMwIAgIEJXMlZAkAzAgCAgtzdGFydEhlaWdodAkAzAgCCQCkAwEFAWsFA25pbAUBYQEBQwEBawkAuQkCCQDMCAICBCVzJWQJAMwIAgIJZmluYWxpemVkCQDMCAIJAKQDAQUBawUDbmlsBQFhAQFEAQFFBAFGBQFFBAFHCAUBRgJfMQQBSAgFAUYCXzIJALkJAgkAzAgCAgYlcyVzJXMJAMwIAgIGaW5MaXN0CQDMCAIFAUcJAMwIAgUBSAUDbmlsBQFhAQFJAgFFAWsEAUoFAUUEAUcIBQFKAl8xBAFICAUBSgJfMgkAuQkCCQDMCAICCCVzJXMlcyVkCQDMCAICFGluc3VmZmljaWVudEJhbGFuY2VzCQDMCAIFAUcJAMwIAgUBSAkAzAgCCQCkAwEFAWsFA25pbAUBYQEBSwIBTAFrCQC5CQIJAMwIAgIGJXMlcyVkCQDMCAICBHVzZWQJAMwIAgkApQgBBQFMCQDMCAIJAKQDAQUBawUDbmlsBQFhAQFNAwFFAUwBawQBTgUBRQQBRwgFAU4CXzEEAUgIBQFOAl8yCQC5CQIJAMwIAgIKJXMlcyVzJXMlZAkAzAgCAgR2b3RlCQDMCAIFAUcJAMwIAgUBSAkAzAgCCQClCAEFAUwJAMwIAgkApAMBBQFrBQNuaWwFAWEBAU8CAUUBawQBUAUBRQQBRwgFAVACXzEEAUgIBQFQAl8yCQC5CQIJAMwIAgIIJXMlcyVzJWQJAMwIAgIMdm90aW5nUmVzdWx0CQDMCAIFAUcJAMwIAgUBSAkAzAgCCQCkAwEFAWsFA25pbAUBYQEBUQIBUgFrCQC5CQIJAMwIAgIGJXMlcyVkCQDMCAICEnZvdGluZ1Jlc3VsdFN0YWtlZAkAzAgCBQFSCQDMCAIJAKQDAQUBawUDbmlsBQFhAQFTAgFFAWsEAVQFAUUEAUcIBQFUAl8xBAFICAUBVAJfMgkAuQkCCQDMCAICCCVzJXMlcyVkCQDMCAICCXBvb2xTaGFyZQkAzAgCBQFHCQDMCAIFAUgJAMwIAgkApAMBBQFrBQNuaWwFAWEBAVUBAWsJALkJAgkAzAgCAgQlcyVkCQDMCAICCnRvdGFsVm90ZXMJAMwIAgkApAMBBQFrBQNuaWwFAWEBAVYCAVIBVwkAuQkCCQDMCAICBiVzJXMlcwkAzAgCAgZzdGFrZWQJAMwIAgUBVwkAzAgCBQFSBQNuaWwFAWEBAVgBAVkJALkJAgkAzAgCAhV2b3RpbmdfZW1pc3Npb24ucmlkZToJAMwIAgUBWQUDbmlsAgEgAQFaAQFZCQACAQkBAVgBBQFZAQJhYQMBTAJhYgJhYwQCYWQJAQFYAQkAuQkCCQDMCAICCm1hbmRhdG9yeSAJAMwIAgkApQgBBQFMCQDMCAICAS4JAMwIAgUCYWIJAMwIAgIPIGlzIG5vdCBkZWZpbmVkBQNuaWwCAAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCBAJhZQUCYWMDCQABAgUCYWUCBlN0cmluZwQCYWYFAmFlCQCdCAIFAUwFAmFiAwkAAQIFAmFlAgNJbnQEAmFnBQJhZQkAmggCBQFMBQJhYgkBAVoBAhJpbnZhbGlkIGVudHJ5IHR5cGUFAmFkAQJhaAIBTAJhYgoAAmFpCQECYWEDBQFMBQJhYgIAAwkAAQIFAmFpAgZTdHJpbmcFAmFpCQACAQkArAICCQADAQUCYWkCGyBjb3VsZG4ndCBiZSBjYXN0IHRvIFN0cmluZwECYWoCAUwCYWIKAAJhaQkBAmFhAwUBTAUCYWIAAAMJAAECBQJhaQIDSW50BQJhaQkAAgEJAKwCAgkAAwEFAmFpAhggY291bGRuJ3QgYmUgY2FzdCB0byBJbnQBAmFrAQFFCQCsAgIJAKwCAggFAUUCXzEFAWEIBQFFAl8yAQJhbAECYWYEAmFtCQC1CQIFAmFmBQFhAwkAAAIJAJADAQUCYW0AAgkAlAoCCQCRAwIFAmFtAAAJAJEDAgUCYW0AAQkBAVoBAhNpbnZhbGlkIHBvb2wgc3RyaW5nAAJhbgkBEUBleHRyTmF0aXZlKDEwNjIpAQkBAmFoAgUEdGhpcwUBcQACYW8ACgECYXAAAhElc19fZmFjdG9yeUNvbmZpZwECYXEBAmFyCQC1CQIJAQJhaAIFAmFyCQECYXAABQFhAQJhcwECYXQJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAJEDAgUCYXQFAmFvAQJhdQIBRwFIBAJhdgoAAmFpCQD8BwQFAmFuAhBwb29sSW5mb1JFQURPTkxZCQDMCAIFAUcJAMwIAgUBSAUDbmlsBQNuaWwDCQABAgUCYWkCFShBZGRyZXNzLCBCeXRlVmVjdG9yKQUCYWkFBHVuaXQFAmF2AQJhdwIBRwFICgECYXgBAmF5CQCsAgICKCVzJXMlc19fbWFwcGluZ3NfX2Jhc2VBc3NldDJpbnRlcm5hbElkX18FAmF5CgECYXoCAmFBAmFCCQCsAgIJAKwCAgkArAICCQCsAgICCiVkJWQlcyVzX18JAKQDAQUCYUECAl9fCQCkAwEFAmFCAiNfX21hcHBpbmdzX19wb29sQXNzZXRzMlBvb2xDb250cmFjdAoBAmFDAQJhRAkArAICCQCsAgICCCVzJXMlc19fBQJhRAIgX19tYXBwaW5nc19fcG9vbENvbnRyYWN0MkxwQXNzZXQEAmFFCQECYWoCBQJhbgkBAmF4AQUBRwQCYUYJAQJhagIFAmFuCQECYXgBBQFIBAJhRAkBAmFoAgUCYW4JAQJhegIFAmFFBQJhRgQCYUcJAQJhaAIFAmFuCQECYUMBBQJhRAUCYUcBAmFIAQFFBAJhSQUBRQQBRwgFAmFJAl8xBAFICAUCYUkCXzIKAAJhaQkA/AcEBQJhbgIYY2hlY2tXeEVtaXNzaW9uUG9vbExhYmVsCQDMCAIFAUcJAMwIAgUBSAUDbmlsBQNuaWwDCQABAgUCYWkCB0Jvb2xlYW4FAmFpCQACAQkArAICCQADAQUCYWkCHCBjb3VsZG4ndCBiZSBjYXN0IHRvIEJvb2xlYW4BAmFKAAQCYXQJAQJhcQEFAmFuBAJhSwkBAmFzAQUCYXQJAPwHBAUCYUsCB2RlcG9zaXQFA25pbAUDbmlsAAJhTAIFcG9vbHMBAmFNAQFFBAJhTgUBRQQBRwgFAmFOAl8xBAFICAUCYU4CXzIJALkJAgkAzAgCAgV2b3RlcwkAzAgCBQFHCQDMCAIFAUgFA25pbAUBYQECYU8BAmFQBAJhUQMJAAACBQJhUAUCYUwCBCVzJXMCCCVzJXMlcyVzCQC5CQIJAMwIAgUCYVEJAMwIAgUCYVAJAMwIAgIEaGVhZAUDbmlsBQFhAQJhUgECYVAEAmFRAwkAAAIFAmFQBQJhTAIEJXMlcwIIJXMlcyVzJXMJALkJAgkAzAgCBQJhUQkAzAgCBQJhUAkAzAgCAgRzaXplBQNuaWwFAWEBAmFTAgJhUAJhVAQCYVEDCQAAAgUCYVAFAmFMAgglcyVzJXMlcwIKJXMlcyVzJXMlcwkAuQkCCQDMCAIFAmFRCQDMCAIFAmFQCQDMCAIFAmFUCQDMCAICBHByZXYFA25pbAUBYQECYVUCAmFQAmFUBAJhUQMJAAACBQJhUAUCYUwCCCVzJXMlcyVzAgolcyVzJXMlcyVzCQC5CQIJAMwIAgUCYVEJAMwIAgUCYVAJAMwIAgUCYVQJAMwIAgIEbmV4dAUDbmlsBQFhAQJhVgICYVACYVQEAmFXCQCdCAIFBHRoaXMJAQJhTwEFAmFQBAJhWAkAnQgCBQR0aGlzCQECYVMCBQJhUAUCYVQEAmFZCQCdCAIFBHRoaXMJAQJhVQIFAmFQBQJhVAMDCQAAAgUCYVQJAQt2YWx1ZU9yRWxzZQIFAmFXAgAGCQECIT0CBQJhWAUEdW5pdAYJAQIhPQIFAmFZBQR1bml0AQJhWgICYVACYVQEAmFXCQCdCAIFBHRoaXMJAQJhTwEFAmFQBAJiYQkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQECYVIBBQJhUAAABAJiYgMJAQEhAQkBAmFWAgUCYVAFAmFUBgkBAVoBAgtOb2RlIGV4aXN0cwMJAAACBQJiYgUCYmIJAM4IAgkAzggCCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQECYVIBBQJhUAkAZAIFAmJhAAEFA25pbAMJAQIhPQIFAmFXBQR1bml0CQDMCAIJAQtTdHJpbmdFbnRyeQIJAQJhVQIFAmFQBQJhVAkBBXZhbHVlAQUCYVcJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAmFTAgUCYVAJAQV2YWx1ZQEFAmFXBQJhVAUDbmlsBQNuaWwJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAmFPAQUCYVAFAmFUBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BAmJjAgJhUAJhVAQCYVcJAJ0IAgUEdGhpcwkBAmFPAQUCYVAEAmJhCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMJAQJhUgEFAmFQAAAEAmFYCQCdCAIFBHRoaXMJAQJhUwIFAmFQBQJhVAQCYVkJAJ0IAgUEdGhpcwkBAmFVAgUCYVAFAmFUCQDOCAIJAMwIAgkBDEludGVnZXJFbnRyeQIJAQJhUgEFAmFQCQBlAgUCYmEAAQUDbmlsAwMJAQIhPQIFAmFYBQR1bml0CQECIT0CBQJhWQUEdW5pdAcJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAmFVAgUCYVAJAQV2YWx1ZQEFAmFYCQEFdmFsdWUBBQJhWQkAzAgCCQELU3RyaW5nRW50cnkCCQECYVMCBQJhUAkBBXZhbHVlAQUCYVkJAQV2YWx1ZQEFAmFYCQDMCAIJAQtEZWxldGVFbnRyeQEJAQJhUwIFAmFQBQJhVAkAzAgCCQELRGVsZXRlRW50cnkBCQECYVUCBQJhUAUCYVQFA25pbAMJAQIhPQIFAmFZBQR1bml0CQDMCAIJAQtTdHJpbmdFbnRyeQIJAQJhTwEFAmFQCQEFdmFsdWUBBQJhWQkAzAgCCQELRGVsZXRlRW50cnkBCQECYVUCBQJhUAUCYVQJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAmFTAgUCYVAJAQV2YWx1ZQEFAmFZBQNuaWwDCQECIT0CBQJhWAUEdW5pdAkAzAgCCQELRGVsZXRlRW50cnkBCQECYVMCBQJhUAUCYVQJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAmFVAgUCYVAJAQV2YWx1ZQEFAmFYBQNuaWwDCQAAAgUCYVQJAQt2YWx1ZU9yRWxzZQIFAmFXAgAJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAmFPAQUCYVAFA25pbAkBAVoBCQCsAgIJAKwCAgkArAICAg5pbnZhbGlkIG5vZGU6IAUCYVACAS4FAmFUAQJiZAACFyVzX19tYW5hZ2VyVmF1bHRBZGRyZXNzAQJiZQACFCVzX19tYW5hZ2VyUHVibGljS2V5AQJiZgAEAmFlCQCiCAEJAQJiZAADCQABAgUCYWUCBlN0cmluZwQCYmcFAmFlCQERQGV4dHJOYXRpdmUoMTA2MikBBQJiZwUEdGhpcwECYmgABAJiaQkBAmJmAAQCYWUJAJ0IAgUCYmkJAQJiZQADCQABAgUCYWUCBlN0cmluZwQCYmcFAmFlCQDZBAEFAmJnAwkAAQIFAmFlAgRVbml0BQR1bml0CQACAQILTWF0Y2ggZXJyb3IBAmJqAQJiawQCYWUJAQJiaAADCQABAgUCYWUCCkJ5dGVWZWN0b3IEAmJsBQJhZQkAAAIIBQJiaw9jYWxsZXJQdWJsaWNLZXkFAmJsAwkAAQIFAmFlAgRVbml0CQAAAggFAmJrBmNhbGxlcgUEdGhpcwkAAgECC01hdGNoIGVycm9yAQJibQECYmsDCQECYmoBBQJiawYJAAIBAhFwZXJtaXNzaW9uIGRlbmllZAECYm4BAmJrAwkAAAIIBQJiawZjYWxsZXIFBHRoaXMGCQACAQIRcGVybWlzc2lvbiBkZW5pZWQTAmJrARhnZXRVc2VyR3d4QW1vdW50QXRIZWlnaHQCAmJvAmJwBAJicQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCmCAEJAQJhaAIFBHRoaXMFAXIJAQFYAQIhaW52YWxpZCBib29zdGluZyBjb250cmFjdCBhZGRyZXNzCQCUCgIFA25pbAoAAmFpCQD8BwQFAmJxAiBnZXRVc2VyR3d4QW1vdW50QXRIZWlnaHRSRUFET05MWQkAzAgCBQJibwkAzAgCBQJicAUDbmlsBQNuaWwDCQABAgUCYWkCA0ludAUCYWkJAAIBCQCsAgIJAAMBBQJhaQIYIGNvdWxkbid0IGJlIGNhc3QgdG8gSW50AmJrAQtjb25zdHJ1Y3RvcgUCYW4CYnICYnMCYnQCYnUEAmJ2CQDMCAIJAQJibQEFAmJrCQDMCAIDCQECIT0CCQCmCAEFAmFuBQR1bml0BgIgaW52YWxpZCBmYWN0b3J5IGNvbnRyYWN0IGFkZHJlc3MJAMwIAgMJAQIhPQIJAKYIAQUCYnIFBHVuaXQGAjJpbnZhbGlkIHZvdGluZyBlbWlzc2lvbiBjYW5kaWRhdGUgY29udHJhY3QgYWRkcmVzcwkAzAgCAwkBAiE9AgkApggBBQJicwUEdW5pdAYCIWludmFsaWQgYm9vc3RpbmcgY29udHJhY3QgYWRkcmVzcwkAzAgCAwkBAiE9AgkApggBBQJidAUEdW5pdAYCIGludmFsaWQgc3Rha2luZyBjb250cmFjdCBhZGRyZXNzCQDMCAIDCQBmAgUCYnUAAAYJAQFaAQIUaW52YWxpZCBlcG9jaCBsZW5ndGgFA25pbAMJAAACBQJidgUCYnYJAJQKAgkAzAgCCQELU3RyaW5nRW50cnkCBQFxBQJhbgkAzAgCCQELU3RyaW5nRW50cnkCBQFvBQJicgkAzAgCCQELU3RyaW5nRW50cnkCBQFyBQJicwkAzAgCCQELU3RyaW5nRW50cnkCBQFzBQJidAkAzAgCCQEMSW50ZWdlckVudHJ5AgUBaAUCYnUFA25pbAUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJiawEGY3JlYXRlAgFHAUgEAmJ2CQDMCAIDCQAAAgkA2AQBCAgFAmJrBmNhbGxlcgVieXRlcwkBC3ZhbHVlT3JFbHNlAgkAnQgCBQR0aGlzBQFvAgAGCQECYm0BBQJiawUDbmlsAwkAAAIFAmJ2BQJidgQBRQkAlAoCBQFHBQFIBAJidwkAzggCCQDMCAIJAQxCb29sZWFuRW50cnkCCQEBRAEFAUUGBQNuaWwJAQJhWgIFAmFMCQECYWsBBQFFBAJieAkAAAIJAJoIAgUEdGhpcwUBbAUEdW5pdAQCYnkDBQJieAQBawAACQDMCAIJAQxJbnRlZ2VyRW50cnkCBQFsBQFrCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEBQgEFAWsFBmhlaWdodAkAzAgCCQEMSW50ZWdlckVudHJ5AgUBeAUGaGVpZ2h0CQDMCAIJAQxJbnRlZ2VyRW50cnkCBQF5BQFrCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQF6BQZoZWlnaHQFA25pbAUDbmlsCQCUCgIJAM4IAgUCYncFAmJ5BQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJrAQR2b3RlAwFHAUgCYnoEAUUJAJQKAgUBRwUBSAQBawkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzBQFsAAAEAmJBCQECYWoCBQR0aGlzCQEBQgEFAWsEAmJ1CQECYWoCBQR0aGlzBQFoBAJiQgkAZAIFAmJBBQJidQQCYkMJAJoIAgUEdGhpcwUBdQQCYkQJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBAUsCCAUCYmsGY2FsbGVyBQFrAAAEAmJFCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMJAQFNAwUBRQgFAmJrBmNhbGxlcgUBawAABAJiRgkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQEBTwIFAUUFAWsAAAQCYkcJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBAVUBBQFrAAAEAmJICgACYWkJAPwHBAUEdGhpcwIYZ2V0VXNlckd3eEFtb3VudEF0SGVpZ2h0CQDMCAIJANgEAQgIBQJiawZjYWxsZXIFYnl0ZXMJAMwIAgUCYkIFA25pbAUDbmlsAwkAAQIFAmFpAgNJbnQFAmFpCQACAQkArAICCQADAQUCYWkCGCBjb3VsZG4ndCBiZSBjYXN0IHRvIEludAQCYkkJAGUCBQJiSAUCYkQEAmJKCQBkAgUCYkUFAmJ6BAJiSwkBAmFIAQUBRQQCYnYJAMwIAgMJAQIhPQIJAKAIAQkBAUQBBQFFBQR1bml0BgkBAVoBAg5pbnZhbGlkIGFzc2V0cwkAzAgCAwkAZgIFAmJCBQZoZWlnaHQGCQEBWgECDmludmFsaWQgaGVpZ2h0CQDMCAIDCQAAAgUCYkMFBHVuaXQGCQEBWgECGGZpbmFsaXphdGlvbiBpbiBwcm9ncmVzcwkAzAgCAwkAZgIFAmJIAAAGCQEBWgECE3lvdSBkbyBub3QgaGF2ZSBnV1gJAMwIAgMDCQBmAgUCYnoAAAkAZwIFAmJJBQJiegcGCQEBWgECDmludmFsaWQgYW1vdW50CQDMCAIDBQJiSwYJAQFaAQIdcG9vbCBoYXNuJ3QgV1hfRU1JU1NJT04gbGFiZWwFA25pbAMJAAACBQJidgUCYnYEAmJMCQECYU0BBQFFBAFXCQClCAEIBQJiawZjYWxsZXIEAmJNAwkBAmFWAgUCYkwFAVcFA25pbAkBAmFaAgUCYkwFAVcJAJQKAgkAzggCCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEBSwIIBQJiawZjYWxsZXIFAWsJAGQCBQJiRAUCYnoJAMwIAgkBDEludGVnZXJFbnRyeQIJAQFNAwUBRQgFAmJrBmNhbGxlcgUBawUCYkoJAMwIAgkBDEludGVnZXJFbnRyeQIJAQFPAgUBRQUBawkAZAIFAmJGBQJiegkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAVUBBQFrCQBkAgUCYkcFAmJ6BQNuaWwFAmJNBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJrAQpjYW5jZWxWb3RlAgFHAUgEAUUJAJQKAgUBRwUBSAQBawkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzBQFsAAAEAmJBCQECYWoCBQR0aGlzCQEBQgEFAWsEAmJ1CQECYWoCBQR0aGlzBQFoBAJiQgkAZAIFAmJBBQJidQQCYkMJAJoIAgUEdGhpcwUBdQQCYkQJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBAUsCCAUCYmsGY2FsbGVyBQFrAAAEAmJFCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMJAQFNAwUBRQgFAmJrBmNhbGxlcgUBawAABAJiRgkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQEBTwIFAUUFAWsAAAQCYkcJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBAVUBBQFrAAAEAmJ2CQDMCAIDCQECIT0CCQCgCAEJAQFEAQUBRQUEdW5pdAYJAQFaAQIOaW52YWxpZCBhc3NldHMJAMwIAgMJAGYCBQJiQgUGaGVpZ2h0BgkBAVoBAg5pbnZhbGlkIGhlaWdodAkAzAgCAwkAAAIFAmJDBQR1bml0BgkBAVoBAhhmaW5hbGl6YXRpb24gaW4gcHJvZ3Jlc3MJAMwIAgMJAGYCBQJiRQAABgkBAVoBAgdubyB2b3RlBQNuaWwDCQAAAgUCYnYFAmJ2BAJiTAkBAmFNAQUBRQQBVwkApQgBCAUCYmsGY2FsbGVyCQCUCgIJAM4IAgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAUsCCAUCYmsGY2FsbGVyBQFrCQCWAwEJAMwIAgkAZQIFAmJEBQJiRQkAzAgCAAAFA25pbAkAzAgCCQELRGVsZXRlRW50cnkBCQEBTQMFAUUIBQJiawZjYWxsZXIFAWsJAMwIAgkBDEludGVnZXJFbnRyeQIJAQFPAgUBRQUBawkAZQIFAmJGBQJiRQkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAVUBBQFrCQBlAgUCYkcFAmJFBQNuaWwJAQJiYwIFAmJMBQFXBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJrAQ5zZXRFcG9jaExlbmd0aAECYk4EAmJ2CQDMCAIJAQJibQEFAmJrCQDMCAIDCQBmAgUCYk4AAAYJAQFaAQIUaW52YWxpZCBlcG9jaCBsZW5ndGgFA25pbAMJAAACBQJidgUCYnYJAJQKAgkAzAgCCQEMSW50ZWdlckVudHJ5AgUBaQUCYk4FA25pbAUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJiawELc2V0TWF4RGVwdGgBAmJPBAJidgkAzAgCCQECYm0BBQJiawkAzAgCAwkAZgIFAmJPAAAGCQEBWgECEWludmFsaWQgbWF4IGRlcHRoBQNuaWwDCQAAAgUCYnYFAmJ2CQCUCgIJAMwIAgkBDEludGVnZXJFbnRyeQIFAW0FAmJPBQNuaWwFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYmsBGnByb2Nlc3NQb29sQmFsYW5jZUlOVEVSTkFMAQJiUAQCYlEJAQJibgEFAmJrAwkAAAIFAmJRBQJiUQQBawkBAmFqAgUEdGhpcwUBbAQCYlIJAGUCBQFrAAEEAUUJAQJhbAEFAmJQBAJiUwUBRQQBRwgFAmJTAl8xBAFICAUCYlMCXzIEAmFHCQECYXcCBQFHBQFIBAJiVAoAAmFpCQD8BwQFAmFuAgxjaGVja0JhbGFuY2UJAMwIAgUCYUcFA25pbAUDbmlsAwkAAQIFAmFpAgdCb29sZWFuBQJhaQkAAgEJAKwCAgkAAwEFAmFpAhwgY291bGRuJ3QgYmUgY2FzdCB0byBCb29sZWFuBAJiVQkBASEBCQELdmFsdWVPckVsc2UCCQCbCAIFBHRoaXMJAQFJAgUBRQkAZQIFAmJSAAEHBAJiVgMJAQEhAQUCYlQDCQEBIQEFAmJVBAJiVwkA/AcEBQJhbgIZZGVsZXRlV3hFbWlzc2lvblBvb2xMYWJlbAkAzAgCBQFHCQDMCAIFAUgFA25pbAUDbmlsAwkAAAIFAmJXBQJiVwQCYlgJAPwHBAUCYW4CDG1vZGlmeVdlaWdodAkAzAgCBQJhRwkAzAgCAAAFA25pbAUDbmlsAwkAAAIFAmJYBQJiWAQCYlkICQETdmFsdWVPckVycm9yTWVzc2FnZQIJAQJhdQIFAUcFAUgJAQFYAQIOaW52YWxpZCBhc3NldHMCXzEEAmJaAAMEAmNhCQD8BwQFAmFuAgptYW5hZ2VQb29sCQDMCAIJAKUIAQUCYlkJAMwIAgUCYloFA25pbAUDbmlsAwkAAAIFAmNhBQJjYQQCY2IJAM4IAgkAzAgCCQELRGVsZXRlRW50cnkBCQEBRAEFAUUFA25pbAkBAmJjAgUCYUwJAQJhawEFAUUJAM4IAgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAVMCBQFFBQJiUgAABQNuaWwFAmNiCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQDMCAIJAQxCb29sZWFuRW50cnkCCQEBSQIFAUUFAmJSBgUDbmlsBQNuaWwJAJQKAgUCYlYFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYmsBE3Byb2Nlc3NWb3RlSU5URVJOQUwCAmJQAVcEAmJRCQECYm4BBQJiawMJAAACBQJiUQUCYlEEAmJvCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKYIAQUBVwkBAVgBCQCsAgICKnByb2Nlc3NWb3RlSU5URVJOQUw6IGludmFsaWQgdXNlciBhZGRyZXNzIAUBVwQBawkBAmFqAgUEdGhpcwUBbAQCYlIJAGUCBQFrAAEEAmJ1CQECYWoCBQR0aGlzBQFoBAJiQQkBAmFqAgUEdGhpcwkBAUIBBQFrBAJiQgkAZAIFAmJBBQJidQQCY2MJAQJhagIFBHRoaXMJAQFCAQUCYlIEAmNkCQECYWoCBQR0aGlzCQEBagEFAmJSBAJjZQkAZAIFAmNjBQJjZAQCY2YDCQBnAgUCYlIAAAYJAQFaAQIrcHJvY2Vzc1ZvdGVJTlRFUk5BTDogaW52YWxpZCBwcmV2aW91cyBlcG9jaAMJAAACBQJjZgUCY2YEAUUJAQJhbAEFAmJQBAJjZwUBRQQBRwgFAmNnAl8xBAFICAUCY2cCXzIEAmJICgACYWkJAPwHBAUEdGhpcwIYZ2V0VXNlckd3eEFtb3VudEF0SGVpZ2h0CQDMCAIFAVcJAMwIAgUCYkIFA25pbAUDbmlsAwkAAQIFAmFpAgNJbnQFAmFpCQACAQkArAICCQADAQUCYWkCGCBjb3VsZG4ndCBiZSBjYXN0IHRvIEludAQCY2gKAAJhaQkA/AcEBQR0aGlzAhhnZXRVc2VyR3d4QW1vdW50QXRIZWlnaHQJAMwIAgUBVwkAzAgCBQJjZQUDbmlsBQNuaWwDCQABAgUCYWkCA0ludAUCYWkJAAIBCQCsAgIJAAMBBQJhaQIYIGNvdWxkbid0IGJlIGNhc3QgdG8gSW50BAJiRwkBC3ZhbHVlT3JFbHNlAgkAnwgBCQEBVQEFAWsAAAQCY2kJAQt2YWx1ZU9yRWxzZQIJAJ8IAQkBAU8CBQFFBQFrAAAEAmNqCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ8IAQkBAU0DBQFFBQJibwUCYlIJAQFYAQkArAICCQCsAgIJAKwCAgkArAICAhRwcm9jZXNzVm90ZUlOVEVSTkFMIAUCYlACASAFAVcCEjogbm8gcHJldmlvdXMgdm90ZQQCYkQJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBAUsCBQJibwUBawAABAFSCQECYXcCBQFHBQFIBAJjawkBC3ZhbHVlT3JFbHNlAgkAnwgBCQEBUQIFAVIFAmJSAAAEAmJ0CQERQGV4dHJOYXRpdmUoMTA2MikBCQECYWgCBQR0aGlzBQFzBAJjbAkBC3ZhbHVlT3JFbHNlAgkAmggCBQJidAkBAVYCBQFSBQFXAAAEAmNtAwkAAAIFAmNsAAAFA25pbAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAVECBQFSBQJiUgkAZAIFAmNrBQJjagUDbmlsBAJhRwkBAmF3AgUBRwUBSAQCYkoDCQBmAgUCY2gAAAkAawMFAmNqBQJiSAUCY2gAAAQCYlYDCQBmAgUCYkoAAAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAU0DBQFFBQJibwUBawUCYkoJAMwIAgkBDEludGVnZXJFbnRyeQIJAQFVAQUBawkAZAIFAmJHBQJiSgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAU8CBQFFBQFrCQBkAgUCY2kFAmJKCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEBSwIFAmJvBQFrCQBkAgUCYkQFAmJKBQNuaWwJAQJiYwIJAQJhTQEFAUUFAVcJAJQKAgkAzggCBQJiVgUCY20FBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYmsBE3Byb2Nlc3NQb29sSU5URVJOQUwCAmJQAmNuBAJiUQkBAmJuAQUCYmsDCQAAAgUCYlEFAmJRBAJjbwQCY3AJAQJhagIFBHRoaXMFAWwDBQJjbgUCY3AJAGUCBQJjcAABBAJjZgMJAGcCBQJjbwAABgkBAVoBAilwcm9jZXNzUG9vbElOVEVSTkFMOiBpbnZhbGlkIHRhcmdldCBlcG9jaAMJAAACBQJjZgUCY2YEAUUJAQJhbAEFAmJQBAJjcQUBRQQBRwgFAmNxAl8xBAFICAUCY3ECXzIEAmJ0CQERQGV4dHJOYXRpdmUoMTA2MikBCQECYWgCBQR0aGlzBQFzBAJhRwkBAmF3AgUBRwUBSAQCY3IKAAJhaQkA/AcEBQJidAISdXNlcnNMaXN0VHJhdmVyc2FsCQDMCAIFAmFHBQNuaWwFA25pbAMJAAECBQJhaQIHQm9vbGVhbgUCYWkJAAIBCQCsAgIJAAMBBQJhaQIcIGNvdWxkbid0IGJlIGNhc3QgdG8gQm9vbGVhbgMJAAACBQJjcgUCY3IDBQJjcgkAlAoCBQNuaWwGBAJjcwkBEUBleHRyTmF0aXZlKDEwNjIpAQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIFAmFuBQF0Ah1pbnZhbGlkIGFzc2V0cyBzdG9yZSBjb250cmFjdAQCYkcJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBAVUBBQJjbwAABAJjaQkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQEBTwIFAUUFAmNvAAAEAmN0AwkAAAIFAmJHAAAAAAkAawMFAmNpBQFiBQJiRwQCYlgJAPwHBAUCYW4CDG1vZGlmeVdlaWdodAkAzAgCBQJhRwkAzAgCBQJjdAUDbmlsBQNuaWwDCQAAAgUCYlgFAmJYCQCUCgIJAMwIAgkBDEludGVnZXJFbnRyeQIJAQFTAgUBRQUCY28FAmN0BQNuaWwHCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJrAQ5maW5hbGl6ZUhlbHBlcgAEAmNuCQELdmFsdWVPckVsc2UCCQCgCAEFAUEHBAFrCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMFAWwAAAQCY3UJAGUCBQFrAAEEAmJBCQECYWoCBQR0aGlzCQEBQgEFAWsEAmJ1CQECYWoCBQR0aGlzBQFoBAJiQgkAZAIFAmJBBQJidQQCYkMJAJoIAgUEdGhpcwUBdQMDAwkAZwIFBmhlaWdodAUCYkIJAAACBQJiQwUEdW5pdAcJAQEhAQUCY24HBAJjdgkAZAIFAWsAAQQCY3cJAJoIAgUEdGhpcwUBaQQCY3gEAmFlBQJjdwMJAAECBQJhZQIDSW50BAJiTgUCYWUJAMwIAgkBDEludGVnZXJFbnRyeQIFAWgFAmJOCQDMCAIJAQtEZWxldGVFbnRyeQEFAWkFA25pbAMJAAECBQJhZQIEVW5pdAUDbmlsCQACAQILTWF0Y2ggZXJyb3IJAJQKAgkAzggCCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEBQgEFAmN2BQZoZWlnaHQJAMwIAgkBDEludGVnZXJFbnRyeQIFAXgFBmhlaWdodAkAzAgCCQEMSW50ZWdlckVudHJ5AgUBbAUCY3YJAMwIAgkBDEludGVnZXJFbnRyeQIFAXUFAWQJAMwIAgkBDEludGVnZXJFbnRyeQIJAQFqAQUBawUCYnUFA25pbAUCY3gGAwMFAmNuCQAAAgUCYkMFBHVuaXQHCQCUCgIJAMwIAgkBDEludGVnZXJFbnRyeQIFAXUFAWYFA25pbAYDCQAAAgUCYkMFBHVuaXQJAJQKAgUDbmlsBwMJAAACBQJiQwUBZAQCY3kJAKIIAQUBdgQCYWUFAmN5AwkAAQIFAmFlAgRVbml0BAJjegkAoggBCQECYU8BBQJhTAMJAAECBQJjegIEVW5pdAkAlAoCCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQF1BQFlCQDMCAIJAQtEZWxldGVFbnRyeQEFAXYFA25pbAYDCQABAgUCY3oCBlN0cmluZwQCY0EFAmN6CQCUCgIJAMwIAgkBC1N0cmluZ0VudHJ5AgUBdgUCY0EFA25pbAYJAAIBAgtNYXRjaCBlcnJvcgMJAAECBQJhZQIGU3RyaW5nBAJiUAUCYWUEAmNCCQCiCAEJAQJhVQIFAmFMBQJiUAMJAAACBQJjQgUCY0IEAmNyCQD8BwQFBHRoaXMCGnByb2Nlc3NQb29sQmFsYW5jZUlOVEVSTkFMCQDMCAIFAmJQBQNuaWwFA25pbAMJAAACBQJjcgUCY3IEAmN6BQJjQgMJAAECBQJjegIEVW5pdAkAlAoCCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQF1BQFlCQDMCAIJAQtEZWxldGVFbnRyeQEFAXYFA25pbAYDCQABAgUCY3oCBlN0cmluZwQCY0EFAmN6CQCUCgIJAMwIAgkBC1N0cmluZ0VudHJ5AgUBdgUCY0EFA25pbAYJAAIBAgtNYXRjaCBlcnJvcgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECC01hdGNoIGVycm9yAwkAAAIFAmJDBQFlBAJjeQkAoggBBQF2BAJjQwkAoggBBQF3BAJhZQUCY3kDCQABAgUCYWUCBFVuaXQEAmN6CQCiCAEJAQJhTwEFAmFMAwkAAQIFAmN6AgRVbml0CQCUCgIJAMwIAgkBDEludGVnZXJFbnRyeQIFAXUFAWYJAMwIAgkBC0RlbGV0ZUVudHJ5AQUBdgkAzAgCCQELRGVsZXRlRW50cnkBBQF3BQNuaWwGAwkAAQIFAmN6AgZTdHJpbmcEAmNEBQJjegkAlAoCCQDMCAIJAQtTdHJpbmdFbnRyeQIFAXYFAmNEBQNuaWwGCQACAQILTWF0Y2ggZXJyb3IDCQABAgUCYWUCBlN0cmluZwQCYlAFAmFlBAFFCQECYWwBBQJiUAQCY0UEAmN6BQJjQwMJAAECBQJjegIEVW5pdAkAoggBCQECYU8BCQECYU0BBQFFAwkAAQIFAmN6AgZTdHJpbmcEAmNGBQJjegQCY0cJAKIIAQkBAmFVAgkBAmFNAQUBRQUCY0YDCQAAAgUCY0cFAmNHBAJjSAkA/AcEBQR0aGlzAhNwcm9jZXNzVm90ZUlOVEVSTkFMCQDMCAIFAmJQCQDMCAIFAmNGBQNuaWwFA25pbAMJAAACBQJjSAUCY0gFAmNHCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQILTWF0Y2ggZXJyb3IEAmN6BQJjRQMJAAECBQJjegIEVW5pdAQCY0IJAKIIAQkBAmFVAgUCYUwFAmJQBAJjSQUCY0IDCQABAgUCY0kCBFVuaXQJAJQKAgkAzAgCCQEMSW50ZWdlckVudHJ5AgUBdQUBZgkAzAgCCQELRGVsZXRlRW50cnkBBQF2CQDMCAIJAQtEZWxldGVFbnRyeQEFAXcFA25pbAYDCQABAgUCY0kCBlN0cmluZwQCYmcFAmNJCQCUCgIJAMwIAgkBC1N0cmluZ0VudHJ5AgUBdgUCYmcJAMwIAgkBC0RlbGV0ZUVudHJ5AQUBdwUDbmlsBgkAAgECC01hdGNoIGVycm9yAwkAAQIFAmN6AgZTdHJpbmcEAmNKBQJjegkAlAoCCQDMCAIJAQtTdHJpbmdFbnRyeQIFAXcFAmNKBQNuaWwGCQACAQILTWF0Y2ggZXJyb3IJAAIBAgtNYXRjaCBlcnJvcgMJAAACBQJiQwUBZgQCY3kJAKIIAQUBdgQCYWUFAmN5AwkAAQIFAmFlAgRVbml0BAJjegkAoggBCQECYU8BBQJhTAMJAAECBQJjegIEVW5pdAQCYlYDBQJjbgkAzAgCCQELRGVsZXRlRW50cnkBBQF1CQDMCAIJAQtEZWxldGVFbnRyeQEFAUEFA25pbAkAzAgCCQELRGVsZXRlRW50cnkBBQF1CQDMCAIJAQxCb29sZWFuRW50cnkCCQEBQwEFAmN1BgkAzAgCCQEMSW50ZWdlckVudHJ5AgUBeQUBawkAzAgCCQEMSW50ZWdlckVudHJ5AgUBegUCYkEFA25pbAQCY0sJAQJhSgADCQAAAgUCY0sFAmNLCQCUCgIFAmJWBgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgMJAAECBQJjegIGU3RyaW5nBAJjQQUCY3oJAJQKAgkAzAgCCQELU3RyaW5nRW50cnkCBQF2BQJjQQUDbmlsBgkAAgECC01hdGNoIGVycm9yAwkAAQIFAmFlAgZTdHJpbmcEAmJQBQJhZQQCY0IJAKIIAQkBAmFVAgUCYUwFAmJQAwkAAAIFAmNCBQJjQgQCY3IKAAJhaQkA/AcEBQR0aGlzAhNwcm9jZXNzUG9vbElOVEVSTkFMCQDMCAIFAmJQCQDMCAIFAmNuBQNuaWwFA25pbAMJAAECBQJhaQIHQm9vbGVhbgUCYWkJAAIBCQCsAgIJAAMBBQJhaQIcIGNvdWxkbid0IGJlIGNhc3QgdG8gQm9vbGVhbgMJAAACBQJjcgUCY3IDBQJjcgkAlAoCBQNuaWwGBAJjegUCY0IDCQABAgUCY3oCBFVuaXQEAmJWAwUCY24JAMwIAgkBC0RlbGV0ZUVudHJ5AQUBdQkAzAgCCQELRGVsZXRlRW50cnkBBQFBCQDMCAIJAQtEZWxldGVFbnRyeQEFAXYFA25pbAkAzAgCCQELRGVsZXRlRW50cnkBBQF1CQDMCAIJAQxCb29sZWFuRW50cnkCCQEBQwEFAmN1BgkAzAgCCQEMSW50ZWdlckVudHJ5AgUBeQUBawkAzAgCCQEMSW50ZWdlckVudHJ5AgUBegUCYkEJAMwIAgkBC0RlbGV0ZUVudHJ5AQUBdgUDbmlsBAJjSwkBAmFKAAMJAAACBQJjSwUCY0sJAJQKAgUCYlYGCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAwkAAQIFAmN6AgZTdHJpbmcEAmNBBQJjegkAlAoCCQDMCAIJAQtTdHJpbmdFbnRyeQIFAXYFAmNBBQNuaWwGCQACAQILTWF0Y2ggZXJyb3IJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAgtNYXRjaCBlcnJvcgkBAVoBAhZmaW5hbGl6YXRpb24gaXMgYnJva2VuAmJrAQ9maW5hbGl6ZVdyYXBwZXIBAmNMBAJjTQkBEUBleHRyTmF0aXZlKDEwNjIpAQkBEUBleHRyTmF0aXZlKDEwNTMpAgUEdGhpcwUBcAQCY04KAAJhaQkA/AcEBQR0aGlzAg5maW5hbGl6ZUhlbHBlcgUDbmlsBQNuaWwDCQABAgUCYWkCB0Jvb2xlYW4FAmFpCQACAQkArAICCQADAQUCYWkCHCBjb3VsZG4ndCBiZSBjYXN0IHRvIEJvb2xlYW4DCQAAAgUCY04FAmNOAwkBASEBBQJjTgMJAAACBQJjTAAACQEBWgECHkN1cnJlbnQgdm90aW5nIGlzIG5vdCBvdmVyIHlldAQCY08JAPwHBAUCY00CCGZpbmFsaXplBQNuaWwFA25pbAMJAAACBQJjTwUCY08JAJQKAgUDbmlsBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuBAJjUAkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzBQFtBQFjAwkAZgIFAmNQBQJjTAQCY08JAPwHBAUEdGhpcwIPZmluYWxpemVXcmFwcGVyCQDMCAIJAGQCBQJjTAABBQNuaWwFA25pbAMJAAACBQJjTwUCY08JAJQKAgUDbmlsBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQCUCgIFA25pbAUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJiawEIZmluYWxpemUABAJjTwkA/AcEBQR0aGlzAg9maW5hbGl6ZVdyYXBwZXIJAMwIAgAABQNuaWwFA25pbAMJAAACBQJjTwUCY08JAJQKAgUDbmlsBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJrARRjb250YWluc05vZGVSRUFET05MWQICYVACYVQJAJQKAgUDbmlsCQECYVYCBQJhUAUCYVQCYmsBCmluc2VydE5vZGUCAmFQAmFUBAJiUQkBAmJtAQUCYmsDCQAAAgUCYlEFAmJRCQCUCgIJAQJhWgIFAmFQBQJhVAUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJiawEKZGVsZXRlTm9kZQICYVACYVQEAmJRCQECYm0BBQJiawMJAAACBQJiUQUCYlEJAJQKAgkBAmJjAgUCYVAFAmFUBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJrARhpc0ZpbmFsaXphdGlvbkluUHJvZ3Jlc3MABAJiQwkAmggCBQR0aGlzBQF1BAJjUQkBAiE9AgUCYkMFBHVuaXQJAJQKAgUDbmlsBQJjUQJiawEKZGVsZXRlUG9vbAIBRwFIBAJiUQMDCQAAAggFAmJrBmNhbGxlcgUCYW4GCQECYm0BBQJiawYJAQFaAQIRUGVybWlzc2lvbiBkZW5pZWQDCQAAAgUCYlEFAmJRBAJhUAIFcG9vbHMEAUUJAJQKAgUBRwUBSAQCYVQJALkJAgkAzAgCBQFHCQDMCAIFAUgFA25pbAUBYQQCYlYDCQECYVYCBQJhUAUCYVQJAQJiYwIFAmFQBQJhVAUDbmlsCQDOCAIJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAUQBBQFFBQNuaWwFAmJWCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJrAQZyZXN1bWUCAUcBSAQCYUcJAQJhdwIFAUcFAUgEAmNSCgACYWkJAPwHBAUCYW4CDGNoZWNrQmFsYW5jZQkAzAgCBQJhRwUDbmlsBQNuaWwDCQABAgUCYWkCB0Jvb2xlYW4FAmFpCQACAQkArAICCQADAQUCYWkCHCBjb3VsZG4ndCBiZSBjYXN0IHRvIEJvb2xlYW4EAmNTCQCRAwIIBQJiawhwYXltZW50cwAABAJjcwkBEUBleHRyTmF0aXZlKDEwNjIpAQkBEUBleHRyTmF0aXZlKDEwNTMpAgUEdGhpcwUBdAQCY1QCCiVzX19jb25maWcEAmNVAAEEAmJzCQERQGV4dHJOYXRpdmUoMTA2MikBCQECYWgCBQR0aGlzBQFyBAJjVgkA2QQBCQCRAwIJALUJAgkBEUBleHRyTmF0aXZlKDEwNTMpAgUCYnMFAmNUBQFhBQJjVQQCY1cKAAJhaQkA/AcEBQJjcwISaXNWZXJpZmllZFJFQURPTkxZCQDMCAIFAUcFA25pbAUDbmlsAwkAAQIFAmFpAgdCb29sZWFuBQJhaQkAAgEJAKwCAgkAAwEFAmFpAhwgY291bGRuJ3QgYmUgY2FzdCB0byBCb29sZWFuBAJjWAoAAmFpCQD8BwQFAmNzAhJpc1ZlcmlmaWVkUkVBRE9OTFkJAMwIAgUBSAUDbmlsBQNuaWwDCQABAgUCYWkCB0Jvb2xlYW4FAmFpCQACAQkArAICCQADAQUCYWkCHCBjb3VsZG4ndCBiZSBjYXN0IHRvIEJvb2xlYW4EAmNZCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMFAW4FAWcEAmJ2CQDMCAIDBQJjUgYJAQFaAQIVaW5zdWZmaWNpZW50IGJhbGFuY2VzCQDMCAIDCQAAAgkAkAMBCAUCYmsIcGF5bWVudHMAAQYJAQFaAQIVMSBwYXltZW50IGlzIHJlcXVpcmVkCQDMCAIDCQAAAggFAmNTB2Fzc2V0SWQFAmNWBgkBAVoBAhhpbnZhbGlkIHBheW1lbnQgYXNzZXQgaWQJAMwIAgMJAAACCAUCY1MGYW1vdW50BQJjWQYJAQFaAQIWaW52YWxpZCBwYXltZW50IGFtb3VudAkAzAgCAwMFAmNXBQJjWAcGCQEBWgECHmJvdGggYXNzZXRzIHNob3VsZCBiZSB2ZXJpZmllZAUDbmlsAwkAAAIFAmJ2BQJidgQCY1oJAPwHBAUCYW4CFnNldFd4RW1pc3Npb25Qb29sTGFiZWwJAMwIAgUBRwkAzAgCBQFIBQNuaWwFA25pbAMJAAACBQJjWgUCY1oEAUUJAJQKAgUBRwUBSAQCYncJAM4IAgkAzAgCCQEMQm9vbGVhbkVudHJ5AgkBAUQBBQFFBgUDbmlsCQECYVoCBQJhTAkBAmFrAQUBRQkAlAoCBQJidwUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgECZGEBAmRiAAQCZGMEAmFlCQECYmgAAwkAAQIFAmFlAgpCeXRlVmVjdG9yBAJibAUCYWUFAmJsAwkAAQIFAmFlAgRVbml0CAUCZGEPc2VuZGVyUHVibGljS2V5CQACAQILTWF0Y2ggZXJyb3IJAPQDAwgFAmRhCWJvZHlCeXRlcwkAkQMCCAUCZGEGcHJvb2ZzAAAFAmRjF+lq2w==", "height": 3066439, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: GGrxUtyWStFqoWpfsizaH2df2wUuz1wdjQGdkBjksJVx Next: HMhuth8E4erWybLPu7ULFa7bpB7QgAw6YLn3amCMAga4 Diff:
OldNewDifferences
10421042 else Z("both assets should be verified")]
10431043 if ((bv == bv))
10441044 then {
1045- let E = $Tuple2(G, H)
1046- let bw = ([BooleanEntry(D(E), true)] ++ aZ(aL, ak(E)))
1047- $Tuple2(bw, unit)
1045+ let cZ = invoke(an, "setWxEmissionPoolLabel", [G, H], nil)
1046+ if ((cZ == cZ))
1047+ then {
1048+ let E = $Tuple2(G, H)
1049+ let bw = ([BooleanEntry(D(E), true)] ++ aZ(aL, ak(E)))
1050+ $Tuple2(bw, unit)
1051+ }
1052+ else throw("Strict value is not equal to itself.")
10481053 }
10491054 else throw("Strict value is not equal to itself.")
10501055 }
10511056
10521057
1053-@Verifier(cZ)
1054-func da () = {
1055- let db = {
1058+@Verifier(da)
1059+func db () = {
1060+ let dc = {
10561061 let ae = bh()
10571062 if ($isInstanceOf(ae, "ByteVector"))
10581063 then {
10601065 bl
10611066 }
10621067 else if ($isInstanceOf(ae, "Unit"))
1063- then cZ.senderPublicKey
1068+ then da.senderPublicKey
10641069 else throw("Match error")
10651070 }
1066- sigVerify(cZ.bodyBytes, cZ.proofs[0], db)
1071+ sigVerify(da.bodyBytes, da.proofs[0], dc)
10671072 }
10681073
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 = 2
1515
1616 let g = 500000000000
1717
1818 let h = makeString(["%s", "epochLength"], a)
1919
2020 let i = makeString(["%s%s", "epochLength__new"], a)
2121
2222 func j (k) = makeString(["%s%d", "epochLength", toString(k)], a)
2323
2424
2525 let l = makeString(["%s", "currentEpoch"], a)
2626
2727 let m = makeString(["%s", "maxDepth"], a)
2828
2929 let n = makeString(["%s", "resumptionFee"], a)
3030
3131 let o = makeString(["%s", "votingEmissionCandidateContract"], a)
3232
3333 let p = makeString(["%s", "votingEmissionRateContract"], a)
3434
3535 let q = makeString(["%s", "factoryContract"], a)
3636
3737 let r = makeString(["%s", "boostingContract"], a)
3838
3939 let s = makeString(["%s", "stakingContract"], a)
4040
4141 let t = makeString(["%s", "assetsStoreContract"], a)
4242
4343 let u = makeString(["%s", "finalizationStage"], a)
4444
4545 let v = makeString(["%s", "nextPool"], a)
4646
4747 let w = makeString(["%s", "nextUser"], a)
4848
4949 let x = makeString(["%s", "startHeight"], a)
5050
5151 let y = makeString(["%s", "currentEpochUi"], a)
5252
5353 let z = makeString(["%s", "startHeightUi"], a)
5454
5555 let A = makeString(["%s", "force"], a)
5656
5757 func B (k) = makeString(["%s%d", "startHeight", toString(k)], a)
5858
5959
6060 func C (k) = makeString(["%s%d", "finalized", toString(k)], a)
6161
6262
6363 func D (E) = {
6464 let F = E
6565 let G = F._1
6666 let H = F._2
6767 makeString(["%s%s%s", "inList", G, H], a)
6868 }
6969
7070
7171 func I (E,k) = {
7272 let J = E
7373 let G = J._1
7474 let H = J._2
7575 makeString(["%s%s%s%d", "insufficientBalances", G, H, toString(k)], a)
7676 }
7777
7878
7979 func K (L,k) = makeString(["%s%s%d", "used", toString(L), toString(k)], a)
8080
8181
8282 func M (E,L,k) = {
8383 let N = E
8484 let G = N._1
8585 let H = N._2
8686 makeString(["%s%s%s%s%d", "vote", G, H, toString(L), toString(k)], a)
8787 }
8888
8989
9090 func O (E,k) = {
9191 let P = E
9292 let G = P._1
9393 let H = P._2
9494 makeString(["%s%s%s%d", "votingResult", G, H, toString(k)], a)
9595 }
9696
9797
9898 func Q (R,k) = makeString(["%s%s%d", "votingResultStaked", R, toString(k)], a)
9999
100100
101101 func S (E,k) = {
102102 let T = E
103103 let G = T._1
104104 let H = T._2
105105 makeString(["%s%s%s%d", "poolShare", G, H, toString(k)], a)
106106 }
107107
108108
109109 func U (k) = makeString(["%s%d", "totalVotes", toString(k)], a)
110110
111111
112112 func V (R,W) = makeString(["%s%s%s", "staked", W, R], a)
113113
114114
115115 func X (Y) = makeString(["voting_emission.ride:", Y], " ")
116116
117117
118118 func Z (Y) = throw(X(Y))
119119
120120
121121 func aa (L,ab,ac) = {
122122 let ad = X(makeString(["mandatory ", toString(L), ".", ab, " is not defined"], ""))
123123 valueOrErrorMessage({
124124 let ae = ac
125125 if ($isInstanceOf(ae, "String"))
126126 then {
127127 let af = ae
128128 getString(L, ab)
129129 }
130130 else if ($isInstanceOf(ae, "Int"))
131131 then {
132132 let ag = ae
133133 getInteger(L, ab)
134134 }
135135 else Z("invalid entry type")
136136 }, ad)
137137 }
138138
139139
140140 func ah (L,ab) = {
141141 let ai = aa(L, ab, "")
142142 if ($isInstanceOf(ai, "String"))
143143 then ai
144144 else throw(($getType(ai) + " couldn't be cast to String"))
145145 }
146146
147147
148148 func aj (L,ab) = {
149149 let ai = aa(L, ab, 0)
150150 if ($isInstanceOf(ai, "Int"))
151151 then ai
152152 else throw(($getType(ai) + " couldn't be cast to Int"))
153153 }
154154
155155
156156 func ak (E) = ((E._1 + a) + E._2)
157157
158158
159159 func al (af) = {
160160 let am = split(af, a)
161161 if ((size(am) == 2))
162162 then $Tuple2(am[0], am[1])
163163 else Z("invalid pool string")
164164 }
165165
166166
167167 let an = addressFromStringValue(ah(this, q))
168168
169169 let ao = 10
170170
171171 func ap () = "%s__factoryConfig"
172172
173173
174174 func aq (ar) = split(ah(ar, ap()), a)
175175
176176
177177 func as (at) = addressFromStringValue(at[ao])
178178
179179
180180 func au (G,H) = {
181181 let av = {
182182 let ai = invoke(an, "poolInfoREADONLY", [G, H], nil)
183183 if ($isInstanceOf(ai, "(Address, ByteVector)"))
184184 then ai
185185 else unit
186186 }
187187 av
188188 }
189189
190190
191191 func aw (G,H) = {
192192 func ax (ay) = ("%s%s%s__mappings__baseAsset2internalId__" + ay)
193193
194194 func az (aA,aB) = (((("%d%d%s%s__" + toString(aA)) + "__") + toString(aB)) + "__mappings__poolAssets2PoolContract")
195195
196196 func aC (aD) = (("%s%s%s__" + aD) + "__mappings__poolContract2LpAsset")
197197
198198 let aE = aj(an, ax(G))
199199 let aF = aj(an, ax(H))
200200 let aD = ah(an, az(aE, aF))
201201 let aG = ah(an, aC(aD))
202202 aG
203203 }
204204
205205
206206 func aH (E) = {
207207 let aI = E
208208 let G = aI._1
209209 let H = aI._2
210210 let ai = invoke(an, "checkWxEmissionPoolLabel", [G, H], nil)
211211 if ($isInstanceOf(ai, "Boolean"))
212212 then ai
213213 else throw(($getType(ai) + " couldn't be cast to Boolean"))
214214 }
215215
216216
217217 func aJ () = {
218218 let at = aq(an)
219219 let aK = as(at)
220220 invoke(aK, "deposit", nil, nil)
221221 }
222222
223223
224224 let aL = "pools"
225225
226226 func aM (E) = {
227227 let aN = E
228228 let G = aN._1
229229 let H = aN._2
230230 makeString(["votes", G, H], a)
231231 }
232232
233233
234234 func aO (aP) = {
235235 let aQ = if ((aP == aL))
236236 then "%s%s"
237237 else "%s%s%s%s"
238238 makeString([aQ, aP, "head"], a)
239239 }
240240
241241
242242 func aR (aP) = {
243243 let aQ = if ((aP == aL))
244244 then "%s%s"
245245 else "%s%s%s%s"
246246 makeString([aQ, aP, "size"], a)
247247 }
248248
249249
250250 func aS (aP,aT) = {
251251 let aQ = if ((aP == aL))
252252 then "%s%s%s%s"
253253 else "%s%s%s%s%s"
254254 makeString([aQ, aP, aT, "prev"], a)
255255 }
256256
257257
258258 func aU (aP,aT) = {
259259 let aQ = if ((aP == aL))
260260 then "%s%s%s%s"
261261 else "%s%s%s%s%s"
262262 makeString([aQ, aP, aT, "next"], a)
263263 }
264264
265265
266266 func aV (aP,aT) = {
267267 let aW = getString(this, aO(aP))
268268 let aX = getString(this, aS(aP, aT))
269269 let aY = getString(this, aU(aP, aT))
270270 if (if ((aT == valueOrElse(aW, "")))
271271 then true
272272 else (aX != unit))
273273 then true
274274 else (aY != unit)
275275 }
276276
277277
278278 func aZ (aP,aT) = {
279279 let aW = getString(this, aO(aP))
280280 let ba = valueOrElse(getInteger(this, aR(aP)), 0)
281281 let bb = if (!(aV(aP, aT)))
282282 then true
283283 else Z("Node exists")
284284 if ((bb == bb))
285285 then (([IntegerEntry(aR(aP), (ba + 1))] ++ (if ((aW != unit))
286286 then [StringEntry(aU(aP, aT), value(aW)), StringEntry(aS(aP, value(aW)), aT)]
287287 else nil)) ++ [StringEntry(aO(aP), aT)])
288288 else throw("Strict value is not equal to itself.")
289289 }
290290
291291
292292 func bc (aP,aT) = {
293293 let aW = getString(this, aO(aP))
294294 let ba = valueOrElse(getInteger(this, aR(aP)), 0)
295295 let aX = getString(this, aS(aP, aT))
296296 let aY = getString(this, aU(aP, aT))
297297 ([IntegerEntry(aR(aP), (ba - 1))] ++ (if (if ((aX != unit))
298298 then (aY != unit)
299299 else false)
300300 then [StringEntry(aU(aP, value(aX)), value(aY)), StringEntry(aS(aP, value(aY)), value(aX)), DeleteEntry(aS(aP, aT)), DeleteEntry(aU(aP, aT))]
301301 else if ((aY != unit))
302302 then [StringEntry(aO(aP), value(aY)), DeleteEntry(aU(aP, aT)), DeleteEntry(aS(aP, value(aY)))]
303303 else if ((aX != unit))
304304 then [DeleteEntry(aS(aP, aT)), DeleteEntry(aU(aP, value(aX)))]
305305 else if ((aT == valueOrElse(aW, "")))
306306 then [DeleteEntry(aO(aP))]
307307 else Z(((("invalid node: " + aP) + ".") + aT))))
308308 }
309309
310310
311311 func bd () = "%s__managerVaultAddress"
312312
313313
314314 func be () = "%s__managerPublicKey"
315315
316316
317317 func bf () = {
318318 let ae = getString(bd())
319319 if ($isInstanceOf(ae, "String"))
320320 then {
321321 let bg = ae
322322 addressFromStringValue(bg)
323323 }
324324 else this
325325 }
326326
327327
328328 func bh () = {
329329 let bi = bf()
330330 let ae = getString(bi, be())
331331 if ($isInstanceOf(ae, "String"))
332332 then {
333333 let bg = ae
334334 fromBase58String(bg)
335335 }
336336 else if ($isInstanceOf(ae, "Unit"))
337337 then unit
338338 else throw("Match error")
339339 }
340340
341341
342342 func bj (bk) = {
343343 let ae = bh()
344344 if ($isInstanceOf(ae, "ByteVector"))
345345 then {
346346 let bl = ae
347347 (bk.callerPublicKey == bl)
348348 }
349349 else if ($isInstanceOf(ae, "Unit"))
350350 then (bk.caller == this)
351351 else throw("Match error")
352352 }
353353
354354
355355 func bm (bk) = if (bj(bk))
356356 then true
357357 else throw("permission denied")
358358
359359
360360 func bn (bk) = if ((bk.caller == this))
361361 then true
362362 else throw("permission denied")
363363
364364
365365 @Callable(bk)
366366 func getUserGwxAmountAtHeight (bo,bp) = {
367367 let bq = valueOrErrorMessage(addressFromString(ah(this, r)), X("invalid boosting contract address"))
368368 $Tuple2(nil, {
369369 let ai = invoke(bq, "getUserGwxAmountAtHeightREADONLY", [bo, bp], nil)
370370 if ($isInstanceOf(ai, "Int"))
371371 then ai
372372 else throw(($getType(ai) + " couldn't be cast to Int"))
373373 })
374374 }
375375
376376
377377
378378 @Callable(bk)
379379 func constructor (an,br,bs,bt,bu) = {
380380 let bv = [bm(bk), if ((addressFromString(an) != unit))
381381 then true
382382 else "invalid factory contract address", if ((addressFromString(br) != unit))
383383 then true
384384 else "invalid voting emission candidate contract address", if ((addressFromString(bs) != unit))
385385 then true
386386 else "invalid boosting contract address", if ((addressFromString(bt) != unit))
387387 then true
388388 else "invalid staking contract address", if ((bu > 0))
389389 then true
390390 else Z("invalid epoch length")]
391391 if ((bv == bv))
392392 then $Tuple2([StringEntry(q, an), StringEntry(o, br), StringEntry(r, bs), StringEntry(s, bt), IntegerEntry(h, bu)], unit)
393393 else throw("Strict value is not equal to itself.")
394394 }
395395
396396
397397
398398 @Callable(bk)
399399 func create (G,H) = {
400400 let bv = [if ((toBase58String(bk.caller.bytes) == valueOrElse(getString(this, o), "")))
401401 then true
402402 else bm(bk)]
403403 if ((bv == bv))
404404 then {
405405 let E = $Tuple2(G, H)
406406 let bw = ([BooleanEntry(D(E), true)] ++ aZ(aL, ak(E)))
407407 let bx = (getInteger(this, l) == unit)
408408 let by = if (bx)
409409 then {
410410 let k = 0
411411 [IntegerEntry(l, k), IntegerEntry(B(k), height), IntegerEntry(x, height), IntegerEntry(y, k), IntegerEntry(z, height)]
412412 }
413413 else nil
414414 $Tuple2((bw ++ by), unit)
415415 }
416416 else throw("Strict value is not equal to itself.")
417417 }
418418
419419
420420
421421 @Callable(bk)
422422 func vote (G,H,bz) = {
423423 let E = $Tuple2(G, H)
424424 let k = valueOrElse(getInteger(this, l), 0)
425425 let bA = aj(this, B(k))
426426 let bu = aj(this, h)
427427 let bB = (bA + bu)
428428 let bC = getInteger(this, u)
429429 let bD = valueOrElse(getInteger(this, K(bk.caller, k)), 0)
430430 let bE = valueOrElse(getInteger(this, M(E, bk.caller, k)), 0)
431431 let bF = valueOrElse(getInteger(this, O(E, k)), 0)
432432 let bG = valueOrElse(getInteger(this, U(k)), 0)
433433 let bH = {
434434 let ai = invoke(this, "getUserGwxAmountAtHeight", [toBase58String(bk.caller.bytes), bB], nil)
435435 if ($isInstanceOf(ai, "Int"))
436436 then ai
437437 else throw(($getType(ai) + " couldn't be cast to Int"))
438438 }
439439 let bI = (bH - bD)
440440 let bJ = (bE + bz)
441441 let bK = aH(E)
442442 let bv = [if ((getBoolean(D(E)) != unit))
443443 then true
444444 else Z("invalid assets"), if ((bB > height))
445445 then true
446446 else Z("invalid height"), if ((bC == unit))
447447 then true
448448 else Z("finalization in progress"), if ((bH > 0))
449449 then true
450450 else Z("you do not have gWX"), if (if ((bz > 0))
451451 then (bI >= bz)
452452 else false)
453453 then true
454454 else Z("invalid amount"), if (bK)
455455 then true
456456 else Z("pool hasn't WX_EMISSION label")]
457457 if ((bv == bv))
458458 then {
459459 let bL = aM(E)
460460 let W = toString(bk.caller)
461461 let bM = if (aV(bL, W))
462462 then nil
463463 else aZ(bL, W)
464464 $Tuple2(([IntegerEntry(K(bk.caller, k), (bD + bz)), IntegerEntry(M(E, bk.caller, k), bJ), IntegerEntry(O(E, k), (bF + bz)), IntegerEntry(U(k), (bG + bz))] ++ bM), unit)
465465 }
466466 else throw("Strict value is not equal to itself.")
467467 }
468468
469469
470470
471471 @Callable(bk)
472472 func cancelVote (G,H) = {
473473 let E = $Tuple2(G, H)
474474 let k = valueOrElse(getInteger(this, l), 0)
475475 let bA = aj(this, B(k))
476476 let bu = aj(this, h)
477477 let bB = (bA + bu)
478478 let bC = getInteger(this, u)
479479 let bD = valueOrElse(getInteger(this, K(bk.caller, k)), 0)
480480 let bE = valueOrElse(getInteger(this, M(E, bk.caller, k)), 0)
481481 let bF = valueOrElse(getInteger(this, O(E, k)), 0)
482482 let bG = valueOrElse(getInteger(this, U(k)), 0)
483483 let bv = [if ((getBoolean(D(E)) != unit))
484484 then true
485485 else Z("invalid assets"), if ((bB > height))
486486 then true
487487 else Z("invalid height"), if ((bC == unit))
488488 then true
489489 else Z("finalization in progress"), if ((bE > 0))
490490 then true
491491 else Z("no vote")]
492492 if ((bv == bv))
493493 then {
494494 let bL = aM(E)
495495 let W = toString(bk.caller)
496496 $Tuple2(([IntegerEntry(K(bk.caller, k), max([(bD - bE), 0])), DeleteEntry(M(E, bk.caller, k)), IntegerEntry(O(E, k), (bF - bE)), IntegerEntry(U(k), (bG - bE))] ++ bc(bL, W)), unit)
497497 }
498498 else throw("Strict value is not equal to itself.")
499499 }
500500
501501
502502
503503 @Callable(bk)
504504 func setEpochLength (bN) = {
505505 let bv = [bm(bk), if ((bN > 0))
506506 then true
507507 else Z("invalid epoch length")]
508508 if ((bv == bv))
509509 then $Tuple2([IntegerEntry(i, bN)], unit)
510510 else throw("Strict value is not equal to itself.")
511511 }
512512
513513
514514
515515 @Callable(bk)
516516 func setMaxDepth (bO) = {
517517 let bv = [bm(bk), if ((bO > 0))
518518 then true
519519 else Z("invalid max depth")]
520520 if ((bv == bv))
521521 then $Tuple2([IntegerEntry(m, bO)], unit)
522522 else throw("Strict value is not equal to itself.")
523523 }
524524
525525
526526
527527 @Callable(bk)
528528 func processPoolBalanceINTERNAL (bP) = {
529529 let bQ = bn(bk)
530530 if ((bQ == bQ))
531531 then {
532532 let k = aj(this, l)
533533 let bR = (k - 1)
534534 let E = al(bP)
535535 let bS = E
536536 let G = bS._1
537537 let H = bS._2
538538 let aG = aw(G, H)
539539 let bT = {
540540 let ai = invoke(an, "checkBalance", [aG], nil)
541541 if ($isInstanceOf(ai, "Boolean"))
542542 then ai
543543 else throw(($getType(ai) + " couldn't be cast to Boolean"))
544544 }
545545 let bU = !(valueOrElse(getBoolean(this, I(E, (bR - 1))), false))
546546 let bV = if (!(bT))
547547 then if (!(bU))
548548 then {
549549 let bW = invoke(an, "deleteWxEmissionPoolLabel", [G, H], nil)
550550 if ((bW == bW))
551551 then {
552552 let bX = invoke(an, "modifyWeight", [aG, 0], nil)
553553 if ((bX == bX))
554554 then {
555555 let bY = valueOrErrorMessage(au(G, H), X("invalid assets"))._1
556556 let bZ = 3
557557 let ca = invoke(an, "managePool", [toString(bY), bZ], nil)
558558 if ((ca == ca))
559559 then {
560560 let cb = ([DeleteEntry(D(E))] ++ bc(aL, ak(E)))
561561 ([IntegerEntry(S(E, bR), 0)] ++ cb)
562562 }
563563 else throw("Strict value is not equal to itself.")
564564 }
565565 else throw("Strict value is not equal to itself.")
566566 }
567567 else throw("Strict value is not equal to itself.")
568568 }
569569 else [BooleanEntry(I(E, bR), true)]
570570 else nil
571571 $Tuple2(bV, unit)
572572 }
573573 else throw("Strict value is not equal to itself.")
574574 }
575575
576576
577577
578578 @Callable(bk)
579579 func processVoteINTERNAL (bP,W) = {
580580 let bQ = bn(bk)
581581 if ((bQ == bQ))
582582 then {
583583 let bo = valueOrErrorMessage(addressFromString(W), X(("processVoteINTERNAL: invalid user address " + W)))
584584 let k = aj(this, l)
585585 let bR = (k - 1)
586586 let bu = aj(this, h)
587587 let bA = aj(this, B(k))
588588 let bB = (bA + bu)
589589 let cc = aj(this, B(bR))
590590 let cd = aj(this, j(bR))
591591 let ce = (cc + cd)
592592 let cf = if ((bR >= 0))
593593 then true
594594 else Z("processVoteINTERNAL: invalid previous epoch")
595595 if ((cf == cf))
596596 then {
597597 let E = al(bP)
598598 let cg = E
599599 let G = cg._1
600600 let H = cg._2
601601 let bH = {
602602 let ai = invoke(this, "getUserGwxAmountAtHeight", [W, bB], nil)
603603 if ($isInstanceOf(ai, "Int"))
604604 then ai
605605 else throw(($getType(ai) + " couldn't be cast to Int"))
606606 }
607607 let ch = {
608608 let ai = invoke(this, "getUserGwxAmountAtHeight", [W, ce], nil)
609609 if ($isInstanceOf(ai, "Int"))
610610 then ai
611611 else throw(($getType(ai) + " couldn't be cast to Int"))
612612 }
613613 let bG = valueOrElse(getInteger(U(k)), 0)
614614 let ci = valueOrElse(getInteger(O(E, k)), 0)
615615 let cj = valueOrErrorMessage(getInteger(M(E, bo, bR)), X((((("processVoteINTERNAL " + bP) + " ") + W) + ": no previous vote")))
616616 let bD = valueOrElse(getInteger(this, K(bo, k)), 0)
617617 let R = aw(G, H)
618618 let ck = valueOrElse(getInteger(Q(R, bR)), 0)
619619 let bt = addressFromStringValue(ah(this, s))
620620 let cl = valueOrElse(getInteger(bt, V(R, W)), 0)
621621 let cm = if ((cl == 0))
622622 then nil
623623 else [IntegerEntry(Q(R, bR), (ck + cj))]
624624 let aG = aw(G, H)
625625 let bJ = if ((ch > 0))
626626 then fraction(cj, bH, ch)
627627 else 0
628628 let bV = if ((bJ > 0))
629629 then [IntegerEntry(M(E, bo, k), bJ), IntegerEntry(U(k), (bG + bJ)), IntegerEntry(O(E, k), (ci + bJ)), IntegerEntry(K(bo, k), (bD + bJ))]
630630 else bc(aM(E), W)
631631 $Tuple2((bV ++ cm), unit)
632632 }
633633 else throw("Strict value is not equal to itself.")
634634 }
635635 else throw("Strict value is not equal to itself.")
636636 }
637637
638638
639639
640640 @Callable(bk)
641641 func processPoolINTERNAL (bP,cn) = {
642642 let bQ = bn(bk)
643643 if ((bQ == bQ))
644644 then {
645645 let co = {
646646 let cp = aj(this, l)
647647 if (cn)
648648 then cp
649649 else (cp - 1)
650650 }
651651 let cf = if ((co >= 0))
652652 then true
653653 else Z("processPoolINTERNAL: invalid target epoch")
654654 if ((cf == cf))
655655 then {
656656 let E = al(bP)
657657 let cq = E
658658 let G = cq._1
659659 let H = cq._2
660660 let bt = addressFromStringValue(ah(this, s))
661661 let aG = aw(G, H)
662662 let cr = {
663663 let ai = invoke(bt, "usersListTraversal", [aG], nil)
664664 if ($isInstanceOf(ai, "Boolean"))
665665 then ai
666666 else throw(($getType(ai) + " couldn't be cast to Boolean"))
667667 }
668668 if ((cr == cr))
669669 then if (cr)
670670 then $Tuple2(nil, true)
671671 else {
672672 let cs = addressFromStringValue(valueOrErrorMessage(getString(an, t), "invalid assets store contract"))
673673 let bG = valueOrElse(getInteger(this, U(co)), 0)
674674 let ci = valueOrElse(getInteger(this, O(E, co)), 0)
675675 let ct = if ((bG == 0))
676676 then 0
677677 else fraction(ci, b, bG)
678678 let bX = invoke(an, "modifyWeight", [aG, ct], nil)
679679 if ((bX == bX))
680680 then $Tuple2([IntegerEntry(S(E, co), ct)], false)
681681 else throw("Strict value is not equal to itself.")
682682 }
683683 else throw("Strict value is not equal to itself.")
684684 }
685685 else throw("Strict value is not equal to itself.")
686686 }
687687 else throw("Strict value is not equal to itself.")
688688 }
689689
690690
691691
692692 @Callable(bk)
693693 func finalizeHelper () = {
694694 let cn = valueOrElse(getBoolean(A), false)
695695 let k = valueOrElse(getInteger(this, l), 0)
696696 let cu = (k - 1)
697697 let bA = aj(this, B(k))
698698 let bu = aj(this, h)
699699 let bB = (bA + bu)
700700 let bC = getInteger(this, u)
701701 if (if (if ((height >= bB))
702702 then (bC == unit)
703703 else false)
704704 then !(cn)
705705 else false)
706706 then {
707707 let cv = (k + 1)
708708 let cw = getInteger(this, i)
709709 let cx = {
710710 let ae = cw
711711 if ($isInstanceOf(ae, "Int"))
712712 then {
713713 let bN = ae
714714 [IntegerEntry(h, bN), DeleteEntry(i)]
715715 }
716716 else if ($isInstanceOf(ae, "Unit"))
717717 then nil
718718 else throw("Match error")
719719 }
720720 $Tuple2(([IntegerEntry(B(cv), height), IntegerEntry(x, height), IntegerEntry(l, cv), IntegerEntry(u, d), IntegerEntry(j(k), bu)] ++ cx), true)
721721 }
722722 else if (if (cn)
723723 then (bC == unit)
724724 else false)
725725 then $Tuple2([IntegerEntry(u, f)], true)
726726 else if ((bC == unit))
727727 then $Tuple2(nil, false)
728728 else if ((bC == d))
729729 then {
730730 let cy = getString(v)
731731 let ae = cy
732732 if ($isInstanceOf(ae, "Unit"))
733733 then {
734734 let cz = getString(aO(aL))
735735 if ($isInstanceOf(cz, "Unit"))
736736 then $Tuple2([IntegerEntry(u, e), DeleteEntry(v)], true)
737737 else if ($isInstanceOf(cz, "String"))
738738 then {
739739 let cA = cz
740740 $Tuple2([StringEntry(v, cA)], true)
741741 }
742742 else throw("Match error")
743743 }
744744 else if ($isInstanceOf(ae, "String"))
745745 then {
746746 let bP = ae
747747 let cB = getString(aU(aL, bP))
748748 if ((cB == cB))
749749 then {
750750 let cr = invoke(this, "processPoolBalanceINTERNAL", [bP], nil)
751751 if ((cr == cr))
752752 then {
753753 let cz = cB
754754 if ($isInstanceOf(cz, "Unit"))
755755 then $Tuple2([IntegerEntry(u, e), DeleteEntry(v)], true)
756756 else if ($isInstanceOf(cz, "String"))
757757 then {
758758 let cA = cz
759759 $Tuple2([StringEntry(v, cA)], true)
760760 }
761761 else throw("Match error")
762762 }
763763 else throw("Strict value is not equal to itself.")
764764 }
765765 else throw("Strict value is not equal to itself.")
766766 }
767767 else throw("Match error")
768768 }
769769 else if ((bC == e))
770770 then {
771771 let cy = getString(v)
772772 let cC = getString(w)
773773 let ae = cy
774774 if ($isInstanceOf(ae, "Unit"))
775775 then {
776776 let cz = getString(aO(aL))
777777 if ($isInstanceOf(cz, "Unit"))
778778 then $Tuple2([IntegerEntry(u, f), DeleteEntry(v), DeleteEntry(w)], true)
779779 else if ($isInstanceOf(cz, "String"))
780780 then {
781781 let cD = cz
782782 $Tuple2([StringEntry(v, cD)], true)
783783 }
784784 else throw("Match error")
785785 }
786786 else if ($isInstanceOf(ae, "String"))
787787 then {
788788 let bP = ae
789789 let E = al(bP)
790790 let cE = {
791791 let cz = cC
792792 if ($isInstanceOf(cz, "Unit"))
793793 then getString(aO(aM(E)))
794794 else if ($isInstanceOf(cz, "String"))
795795 then {
796796 let cF = cz
797797 let cG = getString(aU(aM(E), cF))
798798 if ((cG == cG))
799799 then {
800800 let cH = invoke(this, "processVoteINTERNAL", [bP, cF], nil)
801801 if ((cH == cH))
802802 then cG
803803 else throw("Strict value is not equal to itself.")
804804 }
805805 else throw("Strict value is not equal to itself.")
806806 }
807807 else throw("Match error")
808808 }
809809 let cz = cE
810810 if ($isInstanceOf(cz, "Unit"))
811811 then {
812812 let cB = getString(aU(aL, bP))
813813 let cI = cB
814814 if ($isInstanceOf(cI, "Unit"))
815815 then $Tuple2([IntegerEntry(u, f), DeleteEntry(v), DeleteEntry(w)], true)
816816 else if ($isInstanceOf(cI, "String"))
817817 then {
818818 let bg = cI
819819 $Tuple2([StringEntry(v, bg), DeleteEntry(w)], true)
820820 }
821821 else throw("Match error")
822822 }
823823 else if ($isInstanceOf(cz, "String"))
824824 then {
825825 let cJ = cz
826826 $Tuple2([StringEntry(w, cJ)], true)
827827 }
828828 else throw("Match error")
829829 }
830830 else throw("Match error")
831831 }
832832 else if ((bC == f))
833833 then {
834834 let cy = getString(v)
835835 let ae = cy
836836 if ($isInstanceOf(ae, "Unit"))
837837 then {
838838 let cz = getString(aO(aL))
839839 if ($isInstanceOf(cz, "Unit"))
840840 then {
841841 let bV = if (cn)
842842 then [DeleteEntry(u), DeleteEntry(A)]
843843 else [DeleteEntry(u), BooleanEntry(C(cu), true), IntegerEntry(y, k), IntegerEntry(z, bA)]
844844 let cK = aJ()
845845 if ((cK == cK))
846846 then $Tuple2(bV, true)
847847 else throw("Strict value is not equal to itself.")
848848 }
849849 else if ($isInstanceOf(cz, "String"))
850850 then {
851851 let cA = cz
852852 $Tuple2([StringEntry(v, cA)], true)
853853 }
854854 else throw("Match error")
855855 }
856856 else if ($isInstanceOf(ae, "String"))
857857 then {
858858 let bP = ae
859859 let cB = getString(aU(aL, bP))
860860 if ((cB == cB))
861861 then {
862862 let cr = {
863863 let ai = invoke(this, "processPoolINTERNAL", [bP, cn], nil)
864864 if ($isInstanceOf(ai, "Boolean"))
865865 then ai
866866 else throw(($getType(ai) + " couldn't be cast to Boolean"))
867867 }
868868 if ((cr == cr))
869869 then if (cr)
870870 then $Tuple2(nil, true)
871871 else {
872872 let cz = cB
873873 if ($isInstanceOf(cz, "Unit"))
874874 then {
875875 let bV = if (cn)
876876 then [DeleteEntry(u), DeleteEntry(A), DeleteEntry(v)]
877877 else [DeleteEntry(u), BooleanEntry(C(cu), true), IntegerEntry(y, k), IntegerEntry(z, bA), DeleteEntry(v)]
878878 let cK = aJ()
879879 if ((cK == cK))
880880 then $Tuple2(bV, true)
881881 else throw("Strict value is not equal to itself.")
882882 }
883883 else if ($isInstanceOf(cz, "String"))
884884 then {
885885 let cA = cz
886886 $Tuple2([StringEntry(v, cA)], true)
887887 }
888888 else throw("Match error")
889889 }
890890 else throw("Strict value is not equal to itself.")
891891 }
892892 else throw("Strict value is not equal to itself.")
893893 }
894894 else throw("Match error")
895895 }
896896 else Z("finalization is broken")
897897 }
898898
899899
900900
901901 @Callable(bk)
902902 func finalizeWrapper (cL) = {
903903 let cM = addressFromStringValue(getStringValue(this, p))
904904 let cN = {
905905 let ai = invoke(this, "finalizeHelper", nil, nil)
906906 if ($isInstanceOf(ai, "Boolean"))
907907 then ai
908908 else throw(($getType(ai) + " couldn't be cast to Boolean"))
909909 }
910910 if ((cN == cN))
911911 then if (!(cN))
912912 then if ((cL == 0))
913913 then Z("Current voting is not over yet")
914914 else {
915915 let cO = invoke(cM, "finalize", nil, nil)
916916 if ((cO == cO))
917917 then $Tuple2(nil, unit)
918918 else throw("Strict value is not equal to itself.")
919919 }
920920 else {
921921 let cP = valueOrElse(getInteger(this, m), c)
922922 if ((cP > cL))
923923 then {
924924 let cO = invoke(this, "finalizeWrapper", [(cL + 1)], nil)
925925 if ((cO == cO))
926926 then $Tuple2(nil, unit)
927927 else throw("Strict value is not equal to itself.")
928928 }
929929 else $Tuple2(nil, unit)
930930 }
931931 else throw("Strict value is not equal to itself.")
932932 }
933933
934934
935935
936936 @Callable(bk)
937937 func finalize () = {
938938 let cO = invoke(this, "finalizeWrapper", [0], nil)
939939 if ((cO == cO))
940940 then $Tuple2(nil, unit)
941941 else throw("Strict value is not equal to itself.")
942942 }
943943
944944
945945
946946 @Callable(bk)
947947 func containsNodeREADONLY (aP,aT) = $Tuple2(nil, aV(aP, aT))
948948
949949
950950
951951 @Callable(bk)
952952 func insertNode (aP,aT) = {
953953 let bQ = bm(bk)
954954 if ((bQ == bQ))
955955 then $Tuple2(aZ(aP, aT), unit)
956956 else throw("Strict value is not equal to itself.")
957957 }
958958
959959
960960
961961 @Callable(bk)
962962 func deleteNode (aP,aT) = {
963963 let bQ = bm(bk)
964964 if ((bQ == bQ))
965965 then $Tuple2(bc(aP, aT), unit)
966966 else throw("Strict value is not equal to itself.")
967967 }
968968
969969
970970
971971 @Callable(bk)
972972 func isFinalizationInProgress () = {
973973 let bC = getInteger(this, u)
974974 let cQ = (bC != unit)
975975 $Tuple2(nil, cQ)
976976 }
977977
978978
979979
980980 @Callable(bk)
981981 func deletePool (G,H) = {
982982 let bQ = if (if ((bk.caller == an))
983983 then true
984984 else bm(bk))
985985 then true
986986 else Z("Permission denied")
987987 if ((bQ == bQ))
988988 then {
989989 let aP = "pools"
990990 let E = $Tuple2(G, H)
991991 let aT = makeString([G, H], a)
992992 let bV = if (aV(aP, aT))
993993 then bc(aP, aT)
994994 else nil
995995 ([DeleteEntry(D(E))] ++ bV)
996996 }
997997 else throw("Strict value is not equal to itself.")
998998 }
999999
10001000
10011001
10021002 @Callable(bk)
10031003 func resume (G,H) = {
10041004 let aG = aw(G, H)
10051005 let cR = {
10061006 let ai = invoke(an, "checkBalance", [aG], nil)
10071007 if ($isInstanceOf(ai, "Boolean"))
10081008 then ai
10091009 else throw(($getType(ai) + " couldn't be cast to Boolean"))
10101010 }
10111011 let cS = bk.payments[0]
10121012 let cs = addressFromStringValue(getStringValue(this, t))
10131013 let cT = "%s__config"
10141014 let cU = 1
10151015 let bs = addressFromStringValue(ah(this, r))
10161016 let cV = fromBase58String(split(getStringValue(bs, cT), a)[cU])
10171017 let cW = {
10181018 let ai = invoke(cs, "isVerifiedREADONLY", [G], nil)
10191019 if ($isInstanceOf(ai, "Boolean"))
10201020 then ai
10211021 else throw(($getType(ai) + " couldn't be cast to Boolean"))
10221022 }
10231023 let cX = {
10241024 let ai = invoke(cs, "isVerifiedREADONLY", [H], nil)
10251025 if ($isInstanceOf(ai, "Boolean"))
10261026 then ai
10271027 else throw(($getType(ai) + " couldn't be cast to Boolean"))
10281028 }
10291029 let cY = valueOrElse(getInteger(this, n), g)
10301030 let bv = [if (cR)
10311031 then true
10321032 else Z("insufficient balances"), if ((size(bk.payments) == 1))
10331033 then true
10341034 else Z("1 payment is required"), if ((cS.assetId == cV))
10351035 then true
10361036 else Z("invalid payment asset id"), if ((cS.amount == cY))
10371037 then true
10381038 else Z("invalid payment amount"), if (if (cW)
10391039 then cX
10401040 else false)
10411041 then true
10421042 else Z("both assets should be verified")]
10431043 if ((bv == bv))
10441044 then {
1045- let E = $Tuple2(G, H)
1046- let bw = ([BooleanEntry(D(E), true)] ++ aZ(aL, ak(E)))
1047- $Tuple2(bw, unit)
1045+ let cZ = invoke(an, "setWxEmissionPoolLabel", [G, H], nil)
1046+ if ((cZ == cZ))
1047+ then {
1048+ let E = $Tuple2(G, H)
1049+ let bw = ([BooleanEntry(D(E), true)] ++ aZ(aL, ak(E)))
1050+ $Tuple2(bw, unit)
1051+ }
1052+ else throw("Strict value is not equal to itself.")
10481053 }
10491054 else throw("Strict value is not equal to itself.")
10501055 }
10511056
10521057
1053-@Verifier(cZ)
1054-func da () = {
1055- let db = {
1058+@Verifier(da)
1059+func db () = {
1060+ let dc = {
10561061 let ae = bh()
10571062 if ($isInstanceOf(ae, "ByteVector"))
10581063 then {
10591064 let bl = ae
10601065 bl
10611066 }
10621067 else if ($isInstanceOf(ae, "Unit"))
1063- then cZ.senderPublicKey
1068+ then da.senderPublicKey
10641069 else throw("Match error")
10651070 }
1066- sigVerify(cZ.bodyBytes, cZ.proofs[0], db)
1071+ sigVerify(da.bodyBytes, da.proofs[0], dc)
10671072 }
10681073

github/deemru/w8io/6500d08 
161.11 ms