tx · Ask62ZaThJG2MrccVRnR7n1ku45Lu4epyPNCBWBZVEZW

3Mrq917T9DgxmZHP2wBRURvA2jUseEGaMqW:  -0.02200000 Waves

2024.11.27 21:04 [3390164] smart account 3Mrq917T9DgxmZHP2wBRURvA2jUseEGaMqW > SELF 0.00000000 Waves

{ "type": 13, "id": "Ask62ZaThJG2MrccVRnR7n1ku45Lu4epyPNCBWBZVEZW", "fee": 2200000, "feeAssetId": null, "timestamp": 1732730645091, "version": 2, "chainId": 84, "sender": "3Mrq917T9DgxmZHP2wBRURvA2jUseEGaMqW", "senderPublicKey": "GCo4ZuX1Rm35x7nEMaxmHnkUeRoPqRk9knR7Ga55tMkD", "proofs": [ "3o9oTw13wW614XFhZKF7dpPjnHDhJQenZJ7esD4y3wzmeVrqCRq4sDvcTq17YQ4imUUstChpYVzw8SVR1iUFEKVa" ], "script": "base64:BgIcCAISAwoBCBIDCgEIEgMKAQgSAwoBCBIECgIICDIBCWlzVGVzdEVudgAEB3Rlc3RlbnYEByRtYXRjaDAJAJsIAgUEdGhpcwIHVEVTVEVOVgMJAAECBQckbWF0Y2gwAgdCb29sZWFuBAF4BQckbWF0Y2gwBQF4BwUHdGVzdGVudgEUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwCB2FkZHJlc3MDa2V5BAckbWF0Y2gwCQCdCAIFB2FkZHJlc3MFA2tleQMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAWEFByRtYXRjaDAFAWECAAENdHJ5R2V0SW50ZWdlcgEDa2V5BAckbWF0Y2gwCQCaCAIFBHRoaXMFA2tleQMJAAECBQckbWF0Y2gwAgNJbnQEAWIFByRtYXRjaDAFAWIAAAEMdHJ5R2V0U3RyaW5nAQNrZXkJARR0cnlHZXRTdHJpbmdFeHRlcm5hbAIFBHRoaXMFA2tleQEFYXNJbnQBBXZhbHVlBAckbWF0Y2gwBQV2YWx1ZQMJAAECBQckbWF0Y2gwAgNJbnQEA2ludAUHJG1hdGNoMAUDaW50AwkAAQIFByRtYXRjaDACBlN0cmluZwQGc3RyaW5nBQckbWF0Y2gwCQACAQkArAICAilSQUk6IHdyb25nIHR5cGUsIGV4cGVjdGVkOiBJbnQsIGJ1dCBnb3Q6IAUGc3RyaW5nCQACAQIeUkFJOiB3cm9uZyB0eXBlLCBleHBlY3RlZDogSW50AQlhc0Jvb2xlYW4BBXZhbHVlBAckbWF0Y2gwBQV2YWx1ZQMJAAECBQckbWF0Y2gwAgdCb29sZWFuBAdib29sZWFuBQckbWF0Y2gwBQdib29sZWFuCQACAQIiRkFCOiB3cm9uZyB0eXBlLCBleHBlY3RlZDogQm9vbGVhbgEIYXNTdHJpbmcBBXZhbHVlBAckbWF0Y2gwBQV2YWx1ZQMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXMFByRtYXRjaDAFAXMDCQABAgUHJG1hdGNoMAIDSW50BAFzBQckbWF0Y2gwCQACAQImd3JvbmcgdHlwZSwgZXhwZWN0ZWQ6IFN0cmluZywgZ290OiBJbnQDCQABAgUHJG1hdGNoMAIEVW5pdAQBcwUHJG1hdGNoMAkAAgECJ3dyb25nIHR5cGUsIGV4cGVjdGVkOiBTdHJpbmcsIGdvdDogVW5pdAkAAgECHHdyb25nIHR5cGUsIGV4cGVjdGVkOiBTdHJpbmcBF3N0YXRpY0tleV9vcmFjbGVBZGRyZXNzAAIUc3RhdGljX29yYWNsZUFkZHJlc3MBFHN0YXRpY0tleV9lZ2dBc3NldElkAAIRc3RhdGljX2VnZ0Fzc2V0SWQBFXN0YXRpY0tleV9idXJuQWRkcmVzcwACEnN0YXRpY19idXJuQWRkcmVzcwESc3RhdGljS2V5X2V4dHJhRmVlAAIPc3RhdGljX2V4dHJhRmVlARdzdGF0aWNLZXlfZmVlQWdncmVnYXRvcgACFHN0YXRpY19mZWVBZ2dyZWdhdG9yASBzdGF0aWNLZXlfdHVydGxlSW5jdWJhdG9yQWRkcmVzcwACHXN0YXRpY190dXJ0bGVJbmN1YmF0b3JBZGRyZXNzAR5zdGF0aWNLZXlfdHVydGxlQnJlZWRlckFkZHJlc3MAAhtzdGF0aWNfdHVydGxlQnJlZWRlckFkZHJlc3MBFnN0YXRpY0tleV9zcGljZUFzc2V0SWQAAhNzdGF0aWNfc3BpY2VBc3NldElkARxzdGF0aWNLZXlfcmVmQ29udHJhY3RBZGRyZXNzAAIZc3RhdGljX3JlZkNvbnRyYWN0QWRkcmVzcwEYc3RhdGljS2V5X2NvdXBvbnNBZGRyZXNzAAIVc3RhdGljX2NvdXBvbnNBZGRyZXNzAR5zdGF0aWNLZXlfdHVydGxlU3Rha2luZ0FkZHJlc3MAAhtzdGF0aWNfdHVydGxlU3Rha2luZ0FkZHJlc3MBHHN0YXRpY0tleV9kdWNrU3Rha2luZ0FkZHJlc3MAAhhzdGF0aWNfZmFybWluZ0FkZHJlc3NOZXcBHnN0YXRpY0tleV9kdWNrSW5jdWJhdG9yQWRkcmVzcwACF3N0YXRpY19pbmN1YmF0b3JBZGRyZXNzARZzdGF0aWNLZXlfaXRlbXNBZGRyZXNzAAITc3RhdGljX2l0ZW1zQWRkcmVzcwEhc3RhdGljS2V5X3R1cnRsZVNwaWNlUmViaXJ0aFByaWNlAAIec3RhdGljX3R1cnRsZVNwaWNlUmViaXJ0aFByaWNlASFzdGF0aWNLZXlfdHVydGxlV2F2ZXNSZWJpcnRoUHJpY2UAAh5zdGF0aWNfdHVydGxlV2F2ZXNSZWJpcnRoUHJpY2UBH3N0YXRpY0tleV90dXJ0bGVFZ2dSZWJpcnRoUHJpY2UAAhxzdGF0aWNfdHVydGxlRWdnUmViaXJ0aFByaWNlAQlnZXRPcmFjbGUACQEHQWRkcmVzcwEJANkEAQkBDHRyeUdldFN0cmluZwEJARdzdGF0aWNLZXlfb3JhY2xlQWRkcmVzcwABDWdldEVnZ0Fzc2V0SWQACQDZBAEJARR0cnlHZXRTdHJpbmdFeHRlcm5hbAIJAQlnZXRPcmFjbGUACQEUc3RhdGljS2V5X2VnZ0Fzc2V0SWQAAQ5nZXRCdXJuQWRkcmVzcwAJAQdBZGRyZXNzAQkA2QQBCQEUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwCCQEJZ2V0T3JhY2xlAAkBFXN0YXRpY0tleV9idXJuQWRkcmVzcwABEGdldEZlZUFnZ3JlZ2F0b3IACQEHQWRkcmVzcwEJANkEAQkBFHRyeUdldFN0cmluZ0V4dGVybmFsAgkBCWdldE9yYWNsZQAJARdzdGF0aWNLZXlfZmVlQWdncmVnYXRvcgABF2dldFR1cnRsZUJyZWVkZXJBZGRyZXNzAAkBB0FkZHJlc3MBCQDZBAEJARR0cnlHZXRTdHJpbmdFeHRlcm5hbAIJAQlnZXRPcmFjbGUACQEec3RhdGljS2V5X3R1cnRsZUJyZWVkZXJBZGRyZXNzAAEZZ2V0VHVydGxlSW5jdWJhdG9yQWRkcmVzcwAJAQdBZGRyZXNzAQkA2QQBCQEUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwCCQEJZ2V0T3JhY2xlAAkBIHN0YXRpY0tleV90dXJ0bGVJbmN1YmF0b3JBZGRyZXNzAAEPZ2V0U3BpY2VBc3NldElkAAkA2QQBCQEUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwCCQEJZ2V0T3JhY2xlAAkBFnN0YXRpY0tleV9zcGljZUFzc2V0SWQAARVnZXRSZWZDb250cmFjdEFkZHJlc3MACQEHQWRkcmVzcwEJANkEAQkBFHRyeUdldFN0cmluZ0V4dGVybmFsAgkBCWdldE9yYWNsZQAJARxzdGF0aWNLZXlfcmVmQ29udHJhY3RBZGRyZXNzAAERZ2V0Q291cG9uc0FkZHJlc3MACQEHQWRkcmVzcwEJANkEAQkBFHRyeUdldFN0cmluZ0V4dGVybmFsAgkBCWdldE9yYWNsZQAJARhzdGF0aWNLZXlfY291cG9uc0FkZHJlc3MAARdnZXRUdXJ0bGVTdGFraW5nQWRkcmVzcwAJAQdBZGRyZXNzAQkA2QQBCQEUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwCCQEJZ2V0T3JhY2xlAAkBHnN0YXRpY0tleV90dXJ0bGVTdGFraW5nQWRkcmVzcwABFWdldER1Y2tTdGFraW5nQWRkcmVzcwAJAQdBZGRyZXNzAQkA2QQBCQEUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwCCQEJZ2V0T3JhY2xlAAkBHHN0YXRpY0tleV9kdWNrU3Rha2luZ0FkZHJlc3MAARdnZXREdWNrSW5jdWJhdG9yQWRkcmVzcwAJAQdBZGRyZXNzAQkA2QQBCQEUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwCCQEJZ2V0T3JhY2xlAAkBHnN0YXRpY0tleV9kdWNrSW5jdWJhdG9yQWRkcmVzcwABD2dldEl0ZW1zQWRkcmVzcwAJAQdBZGRyZXNzAQkA2QQBCQEUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwCCQEJZ2V0T3JhY2xlAAkBFnN0YXRpY0tleV9pdGVtc0FkZHJlc3MAARV0cnlHZXRJbnRlZ2VyRXh0ZXJuYWwCB2FkZHJlc3MDa2V5BAckbWF0Y2gwCQCaCAIFB2FkZHJlc3MFA2tleQMJAAECBQckbWF0Y2gwAgNJbnQEAWIFByRtYXRjaDAFAWIJAAIBAhpUUjogVmFsdWUgbm90IGZvdW5kIGluIHNjIQEJY2hlY2tSZWFsAQdhc3NldElkAwMJAAACCAkBBXZhbHVlAQkA7AcBBQdhc3NldElkBmlzc3VlcgkBF2dldFR1cnRsZUJyZWVkZXJBZGRyZXNzAAYJAAACCAkBBXZhbHVlAQkA7AcBBQdhc3NldElkBmlzc3VlcgkBGWdldFR1cnRsZUluY3ViYXRvckFkZHJlc3MACAkBBXZhbHVlAQkA7AcBBQdhc3NldElkBmlzc3VlcgkAAgECDW5vdCB2YWxpZCBORlQAC3NwaWNlQW1vdW50CQEVdHJ5R2V0SW50ZWdlckV4dGVybmFsAgkBCWdldE9yYWNsZQAJASFzdGF0aWNLZXlfdHVydGxlU3BpY2VSZWJpcnRoUHJpY2UAAAllZ2dBbW91bnQJARV0cnlHZXRJbnRlZ2VyRXh0ZXJuYWwCCQEJZ2V0T3JhY2xlAAkBH3N0YXRpY0tleV90dXJ0bGVFZ2dSZWJpcnRoUHJpY2UAAAt3YXZlc0Ftb3VudAkBFXRyeUdldEludGVnZXJFeHRlcm5hbAIJAQlnZXRPcmFjbGUACQEhc3RhdGljS2V5X3R1cnRsZVdhdmVzUmViaXJ0aFByaWNlAAAQZGVsYXlGb3JIYXRjaGluZwACAQ9jaGVja1JlYWxUdXJ0bGUBB2Fzc2V0SWQDAwkAAAIICQEFdmFsdWUBCQDsBwEFB2Fzc2V0SWQGaXNzdWVyCQEXZ2V0VHVydGxlQnJlZWRlckFkZHJlc3MABgkAAAIICQEFdmFsdWUBCQDsBwEFB2Fzc2V0SWQGaXNzdWVyCQEZZ2V0VHVydGxlSW5jdWJhdG9yQWRkcmVzcwAGCQACAQINbm90IHZhbGlkIE5GVAEWY2hlY2tBZGRpdGlvbmFsUGF5bWVudAEHcGF5bWVudAMJAQlpc0RlZmluZWQBCAUHcGF5bWVudAdhc3NldElkCQACAQIZUkNBUDogUGxlYXNlIGF0dGFjaCB3YXZlcwQJZmVlQW1vdW50CQERQGV4dHJOYXRpdmUoMTA1MCkCCQEJZ2V0T3JhY2xlAAkBEnN0YXRpY0tleV9leHRyYUZlZQADCQECIT0CCAUHcGF5bWVudAZhbW91bnQFCWZlZUFtb3VudAkAAgEJAKwCAgkArAICAhxSQ0FQOiBQbGVhc2UgYXR0YWNoIGV4YWN0bHkgCQCkAwEFCWZlZUFtb3VudAITIGFtb3VudCBvZiB3YXZlbGV0cwkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEQZ2V0RmVlQWdncmVnYXRvcgAFCWZlZUFtb3VudAUEdW5pdAUDbmlsAQ9nZXRSYW5kb21OdW1iZXIEB29wdGlvbnMEdHhJZBRoYXRjaGluZ0ZpbmlzaEhlaWdodAZvZmZzZXQED3JhbmRvbVNlZWRCbG9jawkBBXZhbHVlAQkA7QcBCQBlAgUUaGF0Y2hpbmdGaW5pc2hIZWlnaHQAAQQKcmFuZG9tSGFzaAkA9wMBCQDLAQIFBHR4SWQJAQV2YWx1ZQEIBQ9yYW5kb21TZWVkQmxvY2sDdnJmCQBqAgkAsgkCBQpyYW5kb21IYXNoCQBoAgUGb2Zmc2V0AAgFB29wdGlvbnMBDXRyeUdldEJvb2xlYW4BA2tleQQHJG1hdGNoMAkAoAgBBQNrZXkDCQABAgUHJG1hdGNoMAIHQm9vbGVhbgQBYgUHJG1hdGNoMAUBYgcBDGdldFJhbmRvbVdpbgMCdHgMZmluaXNoSGVpZ2h0DWJsYWNrbGlzdENvZGUEDmphY2twb3RFbmFibGVkCQENdHJ5R2V0Qm9vbGVhbgECD0pBQ0tQT1RfRU5BQkxFRAQNamFja3BvdFJhbmRvbQkBD2dldFJhbmRvbU51bWJlcgQArAIFAnR4BQxmaW5pc2hIZWlnaHQAAQMDCQAAAgUNamFja3BvdFJhbmRvbQABBQ5qYWNrcG90RW5hYmxlZAcJAJQKAgUNamFja3BvdFJhbmRvbQIHamFja3BvdAQBbgkBD2dldFJhbmRvbU51bWJlcgQA6AcFAnR4BQxmaW5pc2hIZWlnaHQAAAQGcmVzdWx0AwMJAGYCACgFAW4JAQIhPQICFGl0ZW0hQVJULUZJUkVfU0hJRUxEBQ1ibGFja2xpc3RDb2RlBwIUaXRlbSFBUlQtRklSRV9TSElFTEQDAwkAZgIAUAUBbgkBAiE9AgISaXRlbSFBUlQtRklSRV9UQUlMBQ1ibGFja2xpc3RDb2RlBwISaXRlbSFBUlQtRklSRV9UQUlMAwMJAGYCAGQFAW4JAQIhPQICEWl0ZW0hQVJULUZSRUVHRU5FBQ1ibGFja2xpc3RDb2RlBwIRaXRlbSFBUlQtRlJFRUdFTkUDAwkAZgIAlgEFAW4JAQIhPQICB2JlYWNoX1IFDWJsYWNrbGlzdENvZGUHAgdiZWFjaF9SAwMJAGYCAMgBBQFuCQECIT0CAgdiZWFjaF9TBQ1ibGFja2xpc3RDb2RlBwIHYmVhY2hfUwMDCQBmAgD6AQUBbgkBAiE9AgIHYmVhY2hfRwUNYmxhY2tsaXN0Q29kZQcCB2JlYWNoX0cDAwkAZgIArAIFAW4JAQIhPQICB2JlYWNoX0QFDWJsYWNrbGlzdENvZGUHAgdiZWFjaF9EAwMJAGYCAPwCBQFuCQECIT0CAhNpdGVtIUFSVC1NVVRBUklVTS1HBQ1ibGFja2xpc3RDb2RlBwITaXRlbSFBUlQtTVVUQVJJVU0tRwMDCQBmAgCQAwUBbgkBAiE9AgIOaXRlbSFBUlQtRkVFRDUFDWJsYWNrbGlzdENvZGUHAg5pdGVtIUFSVC1GRUVENQMDCQBmAgDYBAUBbgkBAiE9AgIPaXRlbSFBUlQtRkVFRDEwBQ1ibGFja2xpc3RDb2RlBwIPaXRlbSFBUlQtRkVFRDEwAwMJAGYCAOwEBQFuCQECIT0CAg9pdGVtIUFSVC1GRUVEMTUFDWJsYWNrbGlzdENvZGUHAg9pdGVtIUFSVC1GRUVEMTUDAwkAZgIAgAUFAW4JAQIhPQICD2l0ZW0hQVJULUZFRUQyMAUNYmxhY2tsaXN0Q29kZQcCD2l0ZW0hQVJULUZFRUQyMAMDCQBmAgCUBQUBbgkBAiE9AgIPaXRlbSFBUlQtRkVFRDI1BQ1ibGFja2xpc3RDb2RlBwIPaXRlbSFBUlQtRkVFRDI1AwMJAGYCAKgFBQFuCQECIT0CAg9pdGVtIUFSVC1GRUVENTAFDWJsYWNrbGlzdENvZGUHAg9pdGVtIUFSVC1GRUVENTADAwkAZgIA+AUFAW4JAQIhPQICEGl0ZW0hQVJULUZFRUQxMDAFDWJsYWNrbGlzdENvZGUHAhBpdGVtIUFSVC1GRUVEMTAwAwMJAGYCAIwGBQFuCQECIT0CAgdwZXJjaF9HBQ1ibGFja2xpc3RDb2RlBwIHcGVyY2hfRwMDCQBmAgCgBgUBbgkBAiE9AgIHcGVyY2hfWQUNYmxhY2tsaXN0Q29kZQcCB3BlcmNoX1kDAwkAZgIAtAYFAW4JAQIhPQICB3BlcmNoX1IFDWJsYWNrbGlzdENvZGUHAgdwZXJjaF9SAwMJAGYCAMgGBQFuCQECIT0CAgdwZXJjaF9CBQ1ibGFja2xpc3RDb2RlBwIHcGVyY2hfQgMDCQBmAgDwBgUBbgkBAiE9AgITaXRlbSFBUlQtTVVUQVJJVU0tRAUNYmxhY2tsaXN0Q29kZQcCE2l0ZW0hQVJULU1VVEFSSVVNLUQDAwkAZgIArAcFAW4JAQIhPQICCWluY3ViYXRvcgUNYmxhY2tsaXN0Q29kZQcCCWluY3ViYXRvcgIOZHVja19pbmN1YmF0b3IJAJQKAgUBbgUGcmVzdWx0AQ9nZXRSYW5kb21SZXR1cm4CAnR4DGZpbmlzaEhlaWdodAQBbgkBD2dldFJhbmRvbU51bWJlcgQAAgUCdHgFDGZpbmlzaEhlaWdodAABAwkAAAIFAW4AAAYHARVmaW5pc2hSZWJpcnRoSW50ZXJuYWwGBmluaXRUeAdhZGRyZXNzEWFkZGl0aW9uYWxQYXltZW50BmRvdWJsZQ1ibGFja2xpc3RDb2RlBnJlc2N1ZQQLZmluaXNoQmxvY2sJAQ10cnlHZXRJbnRlZ2VyAQkArAICCQCsAgIJAKwCAgkArAICAghhZGRyZXNzXwUHYWRkcmVzcwIIX2luaXRUeF8FBmluaXRUeAIMX2ZpbmlzaEJsb2NrBAZzdGF0dXMJAQx0cnlHZXRTdHJpbmcBCQCsAgIJAKwCAgkArAICCQCsAgICCGFkZHJlc3NfBQdhZGRyZXNzAghfaW5pdFR4XwUGaW5pdFR4Agdfc3RhdHVzBAx2YWxpZFBheW1lbnQJARZjaGVja0FkZGl0aW9uYWxQYXltZW50AQURYWRkaXRpb25hbFBheW1lbnQDCQAAAgUMdmFsaWRQYXltZW50BQx2YWxpZFBheW1lbnQEDHJlY29yZEFjdGlvbgkA/AcECQERZ2V0Q291cG9uc0FkZHJlc3MAAgxyZWNvcmRBY3Rpb24JAMwIAgINUkVCSVJUSFRVUlRMRQUDbmlsBQNuaWwDCQAAAgUMcmVjb3JkQWN0aW9uBQxyZWNvcmRBY3Rpb24DCQECIT0CBQZzdGF0dXMCBG9wZW4JAAIBAh9yZWJpcnRoIGlzIGZpbmlzaGVkIG9yIG5vdCBvcGVuAwkAZgIFC2ZpbmlzaEJsb2NrBQZoZWlnaHQJAAIBAh55b3UgY2Fubm90IGZpbmlzaCByZWJpcnRoLCB5ZXQEBm91dHB1dAkBDGdldFJhbmRvbVdpbgMJANkEAQUGaW5pdFR4BQtmaW5pc2hCbG9jawUNYmxhY2tsaXN0Q29kZQQDd2luCAUGb3V0cHV0Al8yBAZyYW5kb20IBQZvdXRwdXQCXzEEBHR4SWQFBmluaXRUeAQGcmVzdWx0AwkBAiE9AgkAswkCBQN3aW4CBXBlcmNoBQR1bml0BAVjb2xvcgkAsgICBQN3aW4AAQQEY2FsbAMJAQEhAQUGZG91YmxlBAVmaXJzdAkA/AcECQEVZ2V0RHVja1N0YWtpbmdBZGRyZXNzAAIMYWRkRnJlZVBlcmNoCQDMCAIFB2FkZHJlc3MJAMwIAgUFY29sb3IJAMwIAgABBQNuaWwFA25pbAMJAAACBQVmaXJzdAUFZmlyc3QJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKwCAgkArAICAghhZGRyZXNzXwUHYWRkcmVzcwIIX2luaXRUeF8FBmluaXRUeAIHX3Jlc3VsdAkBCGFzU3RyaW5nAQUFZmlyc3QFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgQFZmlyc3QJAPwHBAkBFWdldER1Y2tTdGFraW5nQWRkcmVzcwACDGFkZEZyZWVQZXJjaAkAzAgCBQdhZGRyZXNzCQDMCAIFBWNvbG9yCQDMCAIAAgUDbmlsBQNuaWwDCQAAAgUFZmlyc3QFBWZpcnN0CQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQCsAgIJAKwCAgIIYWRkcmVzc18FB2FkZHJlc3MCCF9pbml0VHhfBQZpbml0VHgCB19yZXN1bHQJAQhhc1N0cmluZwEFBWZpcnN0CQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQCsAgIJAKwCAgIIYWRkcmVzc18FB2FkZHJlc3MCCF9pbml0VHhfBQZpbml0VHgCCF9yZXN1bHQxCQEIYXNTdHJpbmcBBQVmaXJzdAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkArAICCQCsAgICCGFkZHJlc3NfBQdhZGRyZXNzAghfaW5pdFR4XwUGaW5pdFR4AgVfd2luMQUDd2luBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4DCQAAAgUEY2FsbAUEY2FsbAUEY2FsbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgMJAQIhPQIJALMJAgUDd2luAgViZWFjaAUEdW5pdAQFY29sb3IJALICAgUDd2luAAEEBGNhbGwDCQEBIQEFBmRvdWJsZQQFZmlyc3QJAPwHBAkBF2dldFR1cnRsZVN0YWtpbmdBZGRyZXNzAAIMYWRkRnJlZUJlYWNoCQDMCAIFB2FkZHJlc3MJAMwIAgUFY29sb3IFA25pbAUDbmlsAwkAAAIFBWZpcnN0BQVmaXJzdAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkArAICCQCsAgICCGFkZHJlc3NfBQdhZGRyZXNzAghfaW5pdFR4XwUGaW5pdFR4AgdfcmVzdWx0CQEIYXNTdHJpbmcBBQVmaXJzdAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuBAVmaXJzdAkA/AcECQEXZ2V0VHVydGxlU3Rha2luZ0FkZHJlc3MAAgxhZGRGcmVlQmVhY2gJAMwIAgUHYWRkcmVzcwkAzAgCBQVjb2xvcgUDbmlsBQNuaWwDCQAAAgUFZmlyc3QFBWZpcnN0BAZzZWNvbmQJAPwHBAkBF2dldFR1cnRsZVN0YWtpbmdBZGRyZXNzAAIMYWRkRnJlZUJlYWNoCQDMCAIFB2FkZHJlc3MJAMwIAgUFY29sb3IFA25pbAUDbmlsAwkAAAIFBnNlY29uZAUGc2Vjb25kCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQCsAgIJAKwCAgIIYWRkcmVzc18FB2FkZHJlc3MCCF9pbml0VHhfBQZpbml0VHgCB19yZXN1bHQJAQhhc1N0cmluZwEFBWZpcnN0CQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQCsAgIJAKwCAgIIYWRkcmVzc18FB2FkZHJlc3MCCF9pbml0VHhfBQZpbml0VHgCCF9yZXN1bHQxCQEIYXNTdHJpbmcBBQZzZWNvbmQJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKwCAgkArAICAghhZGRyZXNzXwUHYWRkcmVzcwIIX2luaXRUeF8FBmluaXRUeAIFX3dpbjEFA3dpbgUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAwkAAAIFBGNhbGwFBGNhbGwFBGNhbGwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4DCQAAAgUDd2luAgdqYWNrcG90BARjYWxsCQD8BwQJARlnZXRUdXJ0bGVJbmN1YmF0b3JBZGRyZXNzAAIMaXNzdWVKYWNrcG90CQDMCAIFB2FkZHJlc3MJAMwIAgUEdHhJZAkAzAgCCQELdmFsdWVPckVsc2UCCQCiCAECDEpBQ0tQT1RfTkFNRQIIV1dXV1hNQVMFA25pbAUDbmlsAwkAAAIFBGNhbGwFBGNhbGwJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKwCAgkArAICAghhZGRyZXNzXwUHYWRkcmVzcwIIX2luaXRUeF8FBmluaXRUeAIHX3Jlc3VsdAkBCGFzU3RyaW5nAQUEY2FsbAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAwkAAAIFA3dpbgIJaW5jdWJhdG9yBARjYWxsAwkBASEBBQZkb3VibGUEBWZpcnN0CQD8BwQJARlnZXRUdXJ0bGVJbmN1YmF0b3JBZGRyZXNzAAIPaXNzdWVGcmVlVHVydGxlCQDMCAIFB2FkZHJlc3MJAMwIAgUEdHhJZAUDbmlsBQNuaWwDCQAAAgUFZmlyc3QFBWZpcnN0CQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQCsAgIJAKwCAgIIYWRkcmVzc18FB2FkZHJlc3MCCF9pbml0VHhfBQZpbml0VHgCB19yZXN1bHQJAQhhc1N0cmluZwEFBWZpcnN0BQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4EBWZpcnN0CQD8BwQJARlnZXRUdXJ0bGVJbmN1YmF0b3JBZGRyZXNzAAIPaXNzdWVGcmVlVHVydGxlCQDMCAIFB2FkZHJlc3MJAMwIAgUEdHhJZAUDbmlsBQNuaWwDCQAAAgUFZmlyc3QFBWZpcnN0BAZzZWNvbmQJAPwHBAkBF2dldER1Y2tJbmN1YmF0b3JBZGRyZXNzAAIZaXNzdWVGcmVlRHVja0RlZmluZWRHZW5lcwkAzAgCBQdhZGRyZXNzCQDMCAIFBHR4SWQJAMwIAgIIWlpaWlpaWloFA25pbAUDbmlsAwkAAAIFBnNlY29uZAUGc2Vjb25kCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQCsAgIJAKwCAgIIYWRkcmVzc18FB2FkZHJlc3MCCF9pbml0VHhfBQZpbml0VHgCB19yZXN1bHQJAQhhc1N0cmluZwEFBWZpcnN0CQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQCsAgIJAKwCAgIIYWRkcmVzc18FB2FkZHJlc3MCCF9pbml0VHhfBQZpbml0VHgCCF9yZXN1bHQxCQEIYXNTdHJpbmcBBQZzZWNvbmQJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKwCAgkArAICAghhZGRyZXNzXwUHYWRkcmVzcwIIX2luaXRUeF8FBmluaXRUeAIFX3dpbjECDmR1Y2tfaW5jdWJhdG9yBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4DCQAAAgUEY2FsbAUEY2FsbAUEY2FsbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgMJAAACBQN3aW4CDmR1Y2tfaW5jdWJhdG9yBARjYWxsAwkBASEBBQZkb3VibGUEBWZpcnN0CQD8BwQJARdnZXREdWNrSW5jdWJhdG9yQWRkcmVzcwACGWlzc3VlRnJlZUR1Y2tEZWZpbmVkR2VuZXMJAMwIAgUHYWRkcmVzcwkAzAgCBQR0eElkCQDMCAICCFpaWlpaWlpaBQNuaWwFA25pbAMJAAACBQVmaXJzdAUFZmlyc3QJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKwCAgkArAICAghhZGRyZXNzXwUHYWRkcmVzcwIIX2luaXRUeF8FBmluaXRUeAIHX3Jlc3VsdAkBCGFzU3RyaW5nAQUFZmlyc3QFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgQFZmlyc3QJAPwHBAkBF2dldER1Y2tJbmN1YmF0b3JBZGRyZXNzAAIZaXNzdWVGcmVlRHVja0RlZmluZWRHZW5lcwkAzAgCBQdhZGRyZXNzCQDMCAIFBHR4SWQJAMwIAgIIWlpaWlpaWloFA25pbAUDbmlsAwkAAAIFBWZpcnN0BQVmaXJzdAQGc2Vjb25kCQD8BwQJARlnZXRUdXJ0bGVJbmN1YmF0b3JBZGRyZXNzAAIPaXNzdWVGcmVlVHVydGxlCQDMCAIFB2FkZHJlc3MJAMwIAgUEdHhJZAUDbmlsBQNuaWwDCQAAAgUGc2Vjb25kBQZzZWNvbmQJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKwCAgkArAICAghhZGRyZXNzXwUHYWRkcmVzcwIIX2luaXRUeF8FBmluaXRUeAIHX3Jlc3VsdAkBCGFzU3RyaW5nAQUFZmlyc3QJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKwCAgkArAICAghhZGRyZXNzXwUHYWRkcmVzcwIIX2luaXRUeF8FBmluaXRUeAIIX3Jlc3VsdDEJAQhhc1N0cmluZwEFBnNlY29uZAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkArAICCQCsAgICCGFkZHJlc3NfBQdhZGRyZXNzAghfaW5pdFR4XwUGaW5pdFR4AgVfd2luMQIJaW5jdWJhdG9yBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4DCQAAAgUEY2FsbAUEY2FsbAUEY2FsbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgMJAQIhPQIJALMJAgUDd2luAgRpdGVtBQR1bml0BAhpdGVtTmFtZQkAkQMCCQC1CQIFA3dpbgIBIQABBARjYWxsAwkBASEBBQZkb3VibGUEBWZpcnN0CQD8BwQJAQ9nZXRJdGVtc0FkZHJlc3MAAhJpc3N1ZUFydGVmYWN0SW5kZXgJAMwIAgUIaXRlbU5hbWUJAMwIAgUHYWRkcmVzcwkAzAgCAAAFA25pbAUDbmlsAwkAAAIFBWZpcnN0BQVmaXJzdAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkArAICCQCsAgICCGFkZHJlc3NfBQdhZGRyZXNzAghfaW5pdFR4XwUGaW5pdFR4AgdfcmVzdWx0CQEIYXNTdHJpbmcBBQVmaXJzdAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuBAVmaXJzdAkA/AcECQEPZ2V0SXRlbXNBZGRyZXNzAAISaXNzdWVBcnRlZmFjdEluZGV4CQDMCAIFCGl0ZW1OYW1lCQDMCAIFB2FkZHJlc3MJAMwIAgAABQNuaWwFA25pbAMJAAACBQVmaXJzdAUFZmlyc3QEBnNlY29uZAkA/AcECQEPZ2V0SXRlbXNBZGRyZXNzAAISaXNzdWVBcnRlZmFjdEluZGV4CQDMCAIFCGl0ZW1OYW1lCQDMCAIFB2FkZHJlc3MJAMwIAgABBQNuaWwFA25pbAMJAAACBQZzZWNvbmQFBnNlY29uZAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkArAICCQCsAgICCGFkZHJlc3NfBQdhZGRyZXNzAghfaW5pdFR4XwUGaW5pdFR4AgdfcmVzdWx0CQEIYXNTdHJpbmcBBQVmaXJzdAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkArAICCQCsAgICCGFkZHJlc3NfBQdhZGRyZXNzAghfaW5pdFR4XwUGaW5pdFR4AghfcmVzdWx0MQkBCGFzU3RyaW5nAQUGc2Vjb25kCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQCsAgIJAKwCAgIIYWRkcmVzc18FB2FkZHJlc3MCCF9pbml0VHhfBQZpbml0VHgCBV93aW4xBQN3aW4FA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgMJAAACBQRjYWxsBQRjYWxsBQRjYWxsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIzUkZCOiBTb21lIGVycm9yIG9jY3VyZWQsIHBsZWFzZSBjb250YWN0IHRoZSBhZG1pbnMhBA5yZXR1cm5Ub1NlbmRlcgMFBnJlc2N1ZQkBD2dldFJhbmRvbVJldHVybgIJANkEAQUGaW5pdFR4BQtmaW5pc2hCbG9jawcEDXJldHVyblBheWxvYWQDBQ5yZXR1cm5Ub1NlbmRlcgQHYXNzZXRJZAkA2QQBCQERQGV4dHJOYXRpdmUoMTA1OCkBCQCsAgIJAKwCAgkArAICCQCsAgICCGFkZHJlc3NfBQdhZGRyZXNzAghfaW5pdFR4XwUGaW5pdFR4AghfYXNzZXRJZAQGaXNzdWVyCQEJY2hlY2tSZWFsAQUHYXNzZXRJZAQDZ2VuCQEIYXNTdHJpbmcBCQD8BwQJARdnZXRUdXJ0bGVCcmVlZGVyQWRkcmVzcwACDmdldEdlbkZyb21OYW1lCQDMCAIICQEFdmFsdWUBCQDsBwEFB2Fzc2V0SWQEbmFtZQUDbmlsBQNuaWwDCQAAAgUDZ2VuBQNnZW4EBGNhbGwJAPwHBAUGaXNzdWVyAg5pbmNyZWFzZVJhcml0eQkAzAgCCQDYBAEFB2Fzc2V0SWQJAMwIAgUDZ2VuBQNuaWwFA25pbAMJAAACBQRjYWxsBQRjYWxsCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJARFAZXh0ck5hdGl2ZSgxMDYyKQEFB2FkZHJlc3MAAQUHYXNzZXRJZAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuBQNuaWwJAM4IAgkAzggCBQZyZXN1bHQJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKwCAgkArAICAghhZGRyZXNzXwUHYWRkcmVzcwIIX2luaXRUeF8FBmluaXRUeAIEX3dpbgUDd2luCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQCsAgIJAKwCAgIIYWRkcmVzc18FB2FkZHJlc3MCCF9pbml0VHhfBQZpbml0VHgCB19zdGF0dXMCBmZpbmlzaAkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICCQCsAgIJAKwCAgkArAICAghhZGRyZXNzXwUHYWRkcmVzcwIIX2luaXRUeF8FBmluaXRUeAIHX3JhbmRvbQUGcmFuZG9tBQNuaWwFDHZhbGlkUGF5bWVudAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgUBaQEPY29uZmlndXJlT3JhY2xlAQZvcmFjbGUDCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAg9SQ1U6IGFkbWluIG9ubHkJAMwIAgkBC1N0cmluZ0VudHJ5AgIUc3RhdGljX29yYWNsZUFkZHJlc3MFBm9yYWNsZQUDbmlsAWkBC2luaXRSZWJpcnRoAQ5yZWZlcmVyQWRkcmVzcwQJcG10VHVydGxlCQCRAwIIBQFpCHBheW1lbnRzAAAECHBtdFdhdmVzCQCRAwIIBQFpCHBheW1lbnRzAAEECHBtdFNwaWNlCQCRAwIIBQFpCHBheW1lbnRzAAIEB2Fzc2V0SWQJAQV2YWx1ZQEIBQlwbXRUdXJ0bGUHYXNzZXRJZAQGaW5pdFR4CQDYBAEIBQFpDXRyYW5zYWN0aW9uSWQEB2FkZHJlc3MJAKUIAQgFAWkGY2FsbGVyAwkBAiE9AggFCXBtdFR1cnRsZQZhbW91bnQAAQkAAgECE05GVCBpcyBub3QgYXR0YWNoZWQDAwkBAiE9AggFCHBtdFdhdmVzBmFtb3VudAULd2F2ZXNBbW91bnQGCQECIT0CCAUIcG10V2F2ZXMHYXNzZXRJZAUEdW5pdAkAAgECJldhdmVzcGF5bWVudCBpcyBub3QgYXR0YWNoZWQgb3Igd3JvbmchAwMJAQIhPQIIBQhwbXRTcGljZQZhbW91bnQFC3NwaWNlQW1vdW50BgkBAiE9AggFCHBtdFNwaWNlB2Fzc2V0SWQJAQ9nZXRTcGljZUFzc2V0SWQACQACAQImU3BpY2VQYXltZW50IGlzIG5vdCBhdHRhY2hlZCBvciB3cm9uZyEEE2Ftb3VudFBhaWRCeUNvdXBvbnMJAQVhc0ludAEJAPwHBAkBEWdldENvdXBvbnNBZGRyZXNzAAIKdXNlQ291cG9ucwkAzAgCBQllZ2dBbW91bnQFA25pbAUDbmlsAwkAAAIFE2Ftb3VudFBhaWRCeUNvdXBvbnMFE2Ftb3VudFBhaWRCeUNvdXBvbnMECWxlZnRUb1BheQkAZQIFCWVnZ0Ftb3VudAUTYW1vdW50UGFpZEJ5Q291cG9ucwQFdG9wdXAJAPwHBAkBF2dldFR1cnRsZVN0YWtpbmdBZGRyZXNzAAILdG9wVXBSZXdhcmQFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgkBD2dldFNwaWNlQXNzZXRJZAAIBQhwbXRTcGljZQZhbW91bnQFA25pbAMJAAACBQV0b3B1cAUFdG9wdXAEB3BheW1lbnQDCQECIT0CBQlsZWZ0VG9QYXkAAAQGcG10RWdnCQCRAwIIBQFpCHBheW1lbnRzAAMECmZlZVBheW1lbnQJAQV2YWx1ZQEFBnBtdEVnZwMJAQIhPQIIBQpmZWVQYXltZW50B2Fzc2V0SWQJAQ1nZXRFZ2dBc3NldElkAAkAAgECJFlvdSBuZWVkIHRvIGF0dGFjaCBFR0cgdG9rZW5zIGFzIGZlZQMJAQIhPQIIBQpmZWVQYXltZW50BmFtb3VudAUJbGVmdFRvUGF5CQACAQkArAICAkBZb3UgbmVlZCB0byBhdHRhY2ggdGhlIGZvbGxvd2luZyBhbW91bnQgb2YgRUdHIHRva2VucyBhcyBmZWU6IDAuCQCkAwEFCWxlZnRUb1BheQQVcmVmZXJlclJld2FyZEZvclBlcmNoCQBrAwUJbGVmdFRvUGF5AAUAZAQHcmVmQ2FsbAkBCWFzQm9vbGVhbgEJAPwHBAkBFWdldFJlZkNvbnRyYWN0QWRkcmVzcwACCnJlZlBheW1lbnQJAMwIAgUOcmVmZXJlckFkZHJlc3MFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgkBDWdldEVnZ0Fzc2V0SWQABRVyZWZlcmVyUmV3YXJkRm9yUGVyY2gFA25pbAMJAAACBQdyZWZDYWxsBQdyZWZDYWxsBAZ0b0J1cm4DBQdyZWZDYWxsCQBlAgUJbGVmdFRvUGF5BRVyZWZlcmVyUmV3YXJkRm9yUGVyY2gFCWxlZnRUb1BheQQIYnVybkNhbGwJAPwHBAkBDmdldEJ1cm5BZGRyZXNzAAIUYnVybkF0dGFjaGVkUGF5bWVudHMFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgkBDWdldEVnZ0Fzc2V0SWQABQZ0b0J1cm4FA25pbAMJAAACBQhidXJuQ2FsbAUIYnVybkNhbGwFCWxlZnRUb1BheQkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAwkAAAIFB3BheW1lbnQFB3BheW1lbnQECnJlYWxUdXJ0bGUJAQ9jaGVja1JlYWxUdXJ0bGUBBQdhc3NldElkAwkAAAIFCnJlYWxUdXJ0bGUFCnJlYWxUdXJ0bGUJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkArAICCQCsAgIJAKwCAgIIYWRkcmVzc18FB2FkZHJlc3MCCF9pbml0VHhfBQZpbml0VHgCDF9maW5pc2hCbG9jawkAZAIFBmhlaWdodAUQZGVsYXlGb3JIYXRjaGluZwkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkArAICCQCsAgICCGFkZHJlc3NfBQdhZGRyZXNzAghfaW5pdFR4XwUGaW5pdFR4Agdfc3RhdHVzAgRvcGVuCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQCsAgIJAKwCAgIIYWRkcmVzc18FB2FkZHJlc3MCCF9pbml0VHhfBQZpbml0VHgCCF9hc3NldElkCQDYBAEFB2Fzc2V0SWQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBEGdldEZlZUFnZ3JlZ2F0b3IACAUIcG10V2F2ZXMGYW1vdW50BQR1bml0BQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQENZmluaXNoUmViaXJ0aAEGaW5pdFR4CQEVZmluaXNoUmViaXJ0aEludGVybmFsBgUGaW5pdFR4CQClCAEIBQFpBmNhbGxlcgkAkQMCCAUBaQhwYXltZW50cwAABwIABwFpARNmaW5pc2hSZWJpcnRoRG91YmxlAQZpbml0VHgDCQEBIQEDCQAAAgkAkAMBCAUBaQhwYXltZW50cwACCQAAAggJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQAAQcJAAIBAg9JbnZhbGlkIHBheW1lbnQEB2Fzc2V0SWQJAQV2YWx1ZQEICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAQLYm9vc3RlclR5cGUJAQhhc1N0cmluZwEJAPwHBAkBD2dldEl0ZW1zQWRkcmVzcwACFGNoZWNrQXJ0ZWZhY3REZXRhaWxzCQDMCAIJANgEAQUHYXNzZXRJZAUDbmlsBQNuaWwDCQAAAgULYm9vc3RlclR5cGUFC2Jvb3N0ZXJUeXBlAwkAAAIFC2Jvb3N0ZXJUeXBlAg5BUlQtR0lGVF9ET1VCTAkAzggCCQDMCAIJAQRCdXJuAgUHYXNzZXRJZAABBQNuaWwJARVmaW5pc2hSZWJpcnRoSW50ZXJuYWwGBQZpbml0VHgJAKUIAQgFAWkGY2FsbGVyCQCRAwIIBQFpCHBheW1lbnRzAAEGAgAHCQACAQItRXJyb3IhIFdyb25nIGl0ZW0gYXR0YWNoZWQgdG8gZG91YmxlIHJld2FyZHMhCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBEWZpbmlzaFJlYmlydGhJdGVtAgZpbml0VHgIaXRlbUNvZGUDAwkAAAIJAJADAQgFAWkIcGF5bWVudHMAAgkAAAIICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50AAEHBAdhc3NldElkCQEFdmFsdWUBCAkAkQMCCAUBaQhwYXltZW50cwAAB2Fzc2V0SWQEC2Jvb3N0ZXJUeXBlCQEIYXNTdHJpbmcBCQD8BwQJAQ9nZXRJdGVtc0FkZHJlc3MAAhRjaGVja0FydGVmYWN0RGV0YWlscwkAzAgCCQDYBAEFB2Fzc2V0SWQFA25pbAUDbmlsAwkAAAIFC2Jvb3N0ZXJUeXBlBQtib29zdGVyVHlwZQMJAAACBQtib29zdGVyVHlwZQILQVJULUhXRVJBU0UJAM4IAgkAzAgCCQEEQnVybgIFB2Fzc2V0SWQAAQUDbmlsCQEVZmluaXNoUmViaXJ0aEludGVybmFsBgUGaW5pdFR4CQClCAEIBQFpBmNhbGxlcgkAkQMCCAUBaQhwYXltZW50cwABBwUIaXRlbUNvZGUHAwkAAAIFC2Jvb3N0ZXJUeXBlAgxBUlQtSFdSRVNDVUUJAM4IAgkAzAgCCQEEQnVybgIFB2Fzc2V0SWQAAQUDbmlsCQEVZmluaXNoUmViaXJ0aEludGVybmFsBgUGaW5pdFR4CQClCAEIBQFpBmNhbGxlcgkAkQMCCAUBaQhwYXltZW50cwABBwIABgMJAAACBQtib29zdGVyVHlwZQIOQVJULUdJRlRfRE9VQkwJAM4IAgkAzAgCCQEEQnVybgIFB2Fzc2V0SWQAAQUDbmlsCQEVZmluaXNoUmViaXJ0aEludGVybmFsBgUGaW5pdFR4CQClCAEIBQFpBmNhbGxlcgkAkQMCCAUBaQhwYXltZW50cwABBgIABwkAAgECG0Vycm9yISBXcm9uZyBpdGVtIGF0dGFjaGVkIAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgMJAAACCQCQAwEIBQFpCHBheW1lbnRzAAEJARVmaW5pc2hSZWJpcnRoSW50ZXJuYWwGBQZpbml0VHgJAKUIAQgFAWkGY2FsbGVyCQCRAwIIBQFpCHBheW1lbnRzAAAHAgAHCQACAQIQSW52YWxpZCBwYXltZW50cwECdHgBBnZlcmlmeQADCQEJaXNUZXN0RW52AAkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAgFAnR4D3NlbmRlclB1YmxpY0tleQQJZmlyc3RVc2VyASBRHOT9Zv8SadLxWhSfO7Li9Dt/wctoJ6I0Xmw411fdbQQKc2Vjb25kVXNlcgEgXHIOS67xIU9m5hlF+mqise2xNilZXxnMzLDhTUGIan0ECXRoaXJkVXNlcgEgoK+R5S15Q2FhMhKtjrn6GFlRnS1TSTbD0KP3qGAZO04ED2ZpcnN0VXNlclNpZ25lZAMJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAFCWZpcnN0VXNlcgABAwkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAQUJZmlyc3RVc2VyAAEDCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwACBQlmaXJzdFVzZXIAAQAABBBzZWNvbmRVc2VyU2lnbmVkAwkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAUKc2Vjb25kVXNlcgABAwkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAQUKc2Vjb25kVXNlcgABAwkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAgUKc2Vjb25kVXNlcgABAAAED3RoaXJkVXNlclNpZ25lZAMJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAFCXRoaXJkVXNlcgABAwkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAQUJdGhpcmRVc2VyAAEDCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwACBQl0aGlyZFVzZXIAAQAABA9zaWduYXR1cmVzQ291bnQJAGQCCQBkAgUPZmlyc3RVc2VyU2lnbmVkBRBzZWNvbmRVc2VyU2lnbmVkBQ90aGlyZFVzZXJTaWduZWQEByRtYXRjaDAFAnR4CQBnAgUPc2lnbmF0dXJlc0NvdW50AAI0Wbgt", "height": 3390164, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 4qnvd5jc68qCzE3m3VbxDxJDGKqjQHAMhhnWi4P9KuXn Next: none Diff:
OldNewDifferences
189189 }
190190
191191
192-let Y = X(K(), H())
192+func Y (Z) = if (if ((value(assetInfo(Z)).issuer == O()))
193+ then true
194+ else (value(assetInfo(Z)).issuer == P()))
195+ then value(assetInfo(Z)).issuer
196+ else throw("not valid NFT")
193197
194-let Z = X(K(), J())
195198
196-let aa = X(K(), I())
199+let aa = X(K(), H())
197200
198-let ab = 2
201+let ab = X(K(), J())
199202
200-func ac (ad) = if (if ((value(assetInfo(ad)).issuer == O()))
203+let ac = X(K(), I())
204+
205+let ad = 2
206+
207+func ae (Z) = if (if ((value(assetInfo(Z)).issuer == O()))
201208 then true
202- else (value(assetInfo(ad)).issuer == P()))
209+ else (value(assetInfo(Z)).issuer == P()))
203210 then true
204211 else throw("not valid NFT")
205212
206213
207-func ae (af) = if (isDefined(af.assetId))
214+func af (ag) = if (isDefined(ag.assetId))
208215 then throw("RCAP: Please attach waves")
209216 else {
210- let ag = getIntegerValue(K(), w())
211- if ((af.amount != ag))
212- then throw((("RCAP: Please attach exactly " + toString(ag)) + " amount of wavelets"))
213- else [ScriptTransfer(N(), ag, unit)]
217+ let ah = getIntegerValue(K(), w())
218+ if ((ag.amount != ah))
219+ then throw((("RCAP: Please attach exactly " + toString(ah)) + " amount of wavelets"))
220+ else [ScriptTransfer(N(), ah, unit)]
214221 }
215222
216223
217-func ah (ai,aj,ak,al) = {
218- let am = value(blockInfoByHeight((ak - 1)))
219- let an = sha256((aj + value(am.vrf)))
220- (toInt(an, (al * 8)) % ai)
224+func ai (aj,ak,al,am) = {
225+ let an = value(blockInfoByHeight((al - 1)))
226+ let ao = sha256((ak + value(an.vrf)))
227+ (toInt(ao, (am * 8)) % aj)
221228 }
222229
223230
224-func ao (g) = {
231+func ap (g) = {
225232 let c = getBoolean(g)
226233 if ($isInstanceOf(c, "Boolean"))
227234 then {
232239 }
233240
234241
235-func ap (aq,ar) = {
236- let as = ao("JACKPOT_ENABLED")
237- let at = ah(300, aq, ar, 1)
238- if (if ((at == 1))
239- then as
242+func aq (ar,as,at) = {
243+ let au = ap("JACKPOT_ENABLED")
244+ let av = ai(300, ar, as, 1)
245+ if (if ((av == 1))
246+ then au
240247 else false)
241- then $Tuple2(at, "jackpot")
248+ then $Tuple2(av, "jackpot")
242249 else {
243- let au = ah(1000, aq, ar, 0)
244- let av = if ((40 > au))
250+ let aw = ai(1000, ar, as, 0)
251+ let ax = if (if ((40 > aw))
252+ then ("item!ART-FIRE_SHIELD" != at)
253+ else false)
245254 then "item!ART-FIRE_SHIELD"
246- else if ((80 > au))
255+ else if (if ((80 > aw))
256+ then ("item!ART-FIRE_TAIL" != at)
257+ else false)
247258 then "item!ART-FIRE_TAIL"
248- else if ((100 > au))
259+ else if (if ((100 > aw))
260+ then ("item!ART-FREEGENE" != at)
261+ else false)
249262 then "item!ART-FREEGENE"
250- else if ((150 > au))
263+ else if (if ((150 > aw))
264+ then ("beach_R" != at)
265+ else false)
251266 then "beach_R"
252- else if ((200 > au))
267+ else if (if ((200 > aw))
268+ then ("beach_S" != at)
269+ else false)
253270 then "beach_S"
254- else if ((250 > au))
271+ else if (if ((250 > aw))
272+ then ("beach_G" != at)
273+ else false)
255274 then "beach_G"
256- else if ((300 > au))
275+ else if (if ((300 > aw))
276+ then ("beach_D" != at)
277+ else false)
257278 then "beach_D"
258- else if ((380 > au))
279+ else if (if ((380 > aw))
280+ then ("item!ART-MUTARIUM-G" != at)
281+ else false)
259282 then "item!ART-MUTARIUM-G"
260- else if ((400 > au))
283+ else if (if ((400 > aw))
284+ then ("item!ART-FEED5" != at)
285+ else false)
261286 then "item!ART-FEED5"
262- else if ((600 > au))
287+ else if (if ((600 > aw))
288+ then ("item!ART-FEED10" != at)
289+ else false)
263290 then "item!ART-FEED10"
264- else if ((620 > au))
291+ else if (if ((620 > aw))
292+ then ("item!ART-FEED15" != at)
293+ else false)
265294 then "item!ART-FEED15"
266- else if ((640 > au))
295+ else if (if ((640 > aw))
296+ then ("item!ART-FEED20" != at)
297+ else false)
267298 then "item!ART-FEED20"
268- else if ((660 > au))
299+ else if (if ((660 > aw))
300+ then ("item!ART-FEED25" != at)
301+ else false)
269302 then "item!ART-FEED25"
270- else if ((680 > au))
303+ else if (if ((680 > aw))
304+ then ("item!ART-FEED50" != at)
305+ else false)
271306 then "item!ART-FEED50"
272- else if ((760 > au))
307+ else if (if ((760 > aw))
308+ then ("item!ART-FEED100" != at)
309+ else false)
273310 then "item!ART-FEED100"
274- else if ((780 > au))
311+ else if (if ((780 > aw))
312+ then ("perch_G" != at)
313+ else false)
275314 then "perch_G"
276- else if ((800 > au))
315+ else if (if ((800 > aw))
316+ then ("perch_Y" != at)
317+ else false)
277318 then "perch_Y"
278- else if ((820 > au))
319+ else if (if ((820 > aw))
320+ then ("perch_R" != at)
321+ else false)
279322 then "perch_R"
280- else if ((840 > au))
323+ else if (if ((840 > aw))
324+ then ("perch_B" != at)
325+ else false)
281326 then "perch_B"
282- else if ((880 > au))
327+ else if (if ((880 > aw))
328+ then ("item!ART-MUTARIUM-D" != at)
329+ else false)
283330 then "item!ART-MUTARIUM-D"
284- else if ((940 > au))
331+ else if (if ((940 > aw))
332+ then ("incubator" != at)
333+ else false)
285334 then "incubator"
286335 else "duck_incubator"
287- $Tuple2(au, av)
336+ $Tuple2(aw, ax)
288337 }
289338 }
290339
291340
292-func aw (ax,f,ay,az) = {
293- let aA = i((((("address_" + f) + "_initTx_") + ax) + "_finishBlock"))
294- let aB = k((((("address_" + f) + "_initTx_") + ax) + "_status"))
295- let aC = ae(ay)
296- if ((aC == aC))
341+func ay (ar,as) = {
342+ let aw = ai(2, ar, as, 1)
343+ if ((aw == 0))
344+ then true
345+ else false
346+ }
347+
348+
349+func az (aA,f,aB,aC,at,aD) = {
350+ let aE = i((((("address_" + f) + "_initTx_") + aA) + "_finishBlock"))
351+ let aF = k((((("address_" + f) + "_initTx_") + aA) + "_status"))
352+ let aG = af(aB)
353+ if ((aG == aG))
297354 then {
298- let aD = invoke(S(), "recordAction", ["REBIRTHTURTLE"], nil)
299- if ((aD == aD))
300- then if ((aB != "open"))
355+ let aH = invoke(S(), "recordAction", ["REBIRTHTURTLE"], nil)
356+ if ((aH == aH))
357+ then if ((aF != "open"))
301358 then throw("rebirth is finished or not open")
302- else if ((aA > height))
359+ else if ((aE > height))
303360 then throw("you cannot finish rebirth, yet")
304361 else {
305- let aE = ap(fromBase58String(ax), aA)
306- let aF = aE._2
307- let aG = aE._1
308- let aj = ax
309- let av = if ((indexOf(aF, "perch") != unit))
362+ let aI = aq(fromBase58String(aA), aE, at)
363+ let aJ = aI._2
364+ let aK = aI._1
365+ let ak = aA
366+ let ax = if ((indexOf(aJ, "perch") != unit))
310367 then {
311- let aH = takeRight(aF, 1)
312- let aI = if (!(az))
368+ let aL = takeRight(aJ, 1)
369+ let aM = if (!(aC))
313370 then {
314- let aJ = invoke(U(), "addFreePerch", [f, aH, 1], nil)
315- if ((aJ == aJ))
316- then [StringEntry((((("address_" + f) + "_initTx_") + ax) + "_result"), r(aJ))]
371+ let aN = invoke(U(), "addFreePerch", [f, aL, 1], nil)
372+ if ((aN == aN))
373+ then [StringEntry((((("address_" + f) + "_initTx_") + aA) + "_result"), r(aN))]
317374 else throw("Strict value is not equal to itself.")
318375 }
319376 else {
320- let aJ = invoke(U(), "addFreePerch", [f, aH, 2], nil)
321- if ((aJ == aJ))
322- then [StringEntry((((("address_" + f) + "_initTx_") + ax) + "_result"), r(aJ)), StringEntry((((("address_" + f) + "_initTx_") + ax) + "_result1"), r(aJ)), StringEntry((((("address_" + f) + "_initTx_") + ax) + "_win1"), aF)]
377+ let aN = invoke(U(), "addFreePerch", [f, aL, 2], nil)
378+ if ((aN == aN))
379+ then [StringEntry((((("address_" + f) + "_initTx_") + aA) + "_result"), r(aN)), StringEntry((((("address_" + f) + "_initTx_") + aA) + "_result1"), r(aN)), StringEntry((((("address_" + f) + "_initTx_") + aA) + "_win1"), aJ)]
323380 else throw("Strict value is not equal to itself.")
324381 }
325- if ((aI == aI))
326- then aI
382+ if ((aM == aM))
383+ then aM
327384 else throw("Strict value is not equal to itself.")
328385 }
329- else if ((indexOf(aF, "beach") != unit))
386+ else if ((indexOf(aJ, "beach") != unit))
330387 then {
331- let aH = takeRight(aF, 1)
332- let aI = if (!(az))
388+ let aL = takeRight(aJ, 1)
389+ let aM = if (!(aC))
333390 then {
334- let aJ = invoke(T(), "addFreeBeach", [f, aH], nil)
335- if ((aJ == aJ))
336- then [StringEntry((((("address_" + f) + "_initTx_") + ax) + "_result"), r(aJ))]
391+ let aN = invoke(T(), "addFreeBeach", [f, aL], nil)
392+ if ((aN == aN))
393+ then [StringEntry((((("address_" + f) + "_initTx_") + aA) + "_result"), r(aN))]
337394 else throw("Strict value is not equal to itself.")
338395 }
339396 else {
340- let aJ = invoke(T(), "addFreeBeach", [f, aH], nil)
341- if ((aJ == aJ))
397+ let aN = invoke(T(), "addFreeBeach", [f, aL], nil)
398+ if ((aN == aN))
342399 then {
343- let aK = invoke(T(), "addFreeBeach", [f, aH], nil)
344- if ((aK == aK))
345- then [StringEntry((((("address_" + f) + "_initTx_") + ax) + "_result"), r(aJ)), StringEntry((((("address_" + f) + "_initTx_") + ax) + "_result1"), r(aK)), StringEntry((((("address_" + f) + "_initTx_") + ax) + "_win1"), aF)]
400+ let aO = invoke(T(), "addFreeBeach", [f, aL], nil)
401+ if ((aO == aO))
402+ then [StringEntry((((("address_" + f) + "_initTx_") + aA) + "_result"), r(aN)), StringEntry((((("address_" + f) + "_initTx_") + aA) + "_result1"), r(aO)), StringEntry((((("address_" + f) + "_initTx_") + aA) + "_win1"), aJ)]
346403 else throw("Strict value is not equal to itself.")
347404 }
348405 else throw("Strict value is not equal to itself.")
349406 }
350- if ((aI == aI))
351- then aI
407+ if ((aM == aM))
408+ then aM
352409 else throw("Strict value is not equal to itself.")
353410 }
354- else if ((aF == "jackpot"))
411+ else if ((aJ == "jackpot"))
355412 then {
356- let aI = invoke(P(), "issueJackpot", [f, aj, valueOrElse(getString("JACKPOT_NAME"), "WWWWXMAS")], nil)
357- if ((aI == aI))
358- then [StringEntry((((("address_" + f) + "_initTx_") + ax) + "_result"), r(aI))]
413+ let aM = invoke(P(), "issueJackpot", [f, ak, valueOrElse(getString("JACKPOT_NAME"), "WWWWXMAS")], nil)
414+ if ((aM == aM))
415+ then [StringEntry((((("address_" + f) + "_initTx_") + aA) + "_result"), r(aM))]
359416 else throw("Strict value is not equal to itself.")
360417 }
361- else if ((aF == "incubator"))
418+ else if ((aJ == "incubator"))
362419 then {
363- let aI = if (!(az))
420+ let aM = if (!(aC))
364421 then {
365- let aJ = invoke(P(), "issueFreeTurtle", [f, aj], nil)
366- if ((aJ == aJ))
367- then [StringEntry((((("address_" + f) + "_initTx_") + ax) + "_result"), r(aJ))]
422+ let aN = invoke(P(), "issueFreeTurtle", [f, ak], nil)
423+ if ((aN == aN))
424+ then [StringEntry((((("address_" + f) + "_initTx_") + aA) + "_result"), r(aN))]
368425 else throw("Strict value is not equal to itself.")
369426 }
370427 else {
371- let aJ = invoke(P(), "issueFreeTurtle", [f, aj], nil)
372- if ((aJ == aJ))
428+ let aN = invoke(P(), "issueFreeTurtle", [f, ak], nil)
429+ if ((aN == aN))
373430 then {
374- let aK = invoke(V(), "issueFreeDuckDefinedGenes", [f, aj, "ZZZZZZZZ"], nil)
375- if ((aK == aK))
376- then [StringEntry((((("address_" + f) + "_initTx_") + ax) + "_result"), r(aJ)), StringEntry((((("address_" + f) + "_initTx_") + ax) + "_result1"), r(aK)), StringEntry((((("address_" + f) + "_initTx_") + ax) + "_win1"), "duck_incubator")]
431+ let aO = invoke(V(), "issueFreeDuckDefinedGenes", [f, ak, "ZZZZZZZZ"], nil)
432+ if ((aO == aO))
433+ then [StringEntry((((("address_" + f) + "_initTx_") + aA) + "_result"), r(aN)), StringEntry((((("address_" + f) + "_initTx_") + aA) + "_result1"), r(aO)), StringEntry((((("address_" + f) + "_initTx_") + aA) + "_win1"), "duck_incubator")]
377434 else throw("Strict value is not equal to itself.")
378435 }
379436 else throw("Strict value is not equal to itself.")
380437 }
381- if ((aI == aI))
382- then aI
438+ if ((aM == aM))
439+ then aM
383440 else throw("Strict value is not equal to itself.")
384441 }
385- else if ((aF == "duck_incubator"))
442+ else if ((aJ == "duck_incubator"))
386443 then {
387- let aI = if (!(az))
444+ let aM = if (!(aC))
388445 then {
389- let aJ = invoke(V(), "issueFreeDuckDefinedGenes", [f, aj, "ZZZZZZZZ"], nil)
390- if ((aJ == aJ))
391- then [StringEntry((((("address_" + f) + "_initTx_") + ax) + "_result"), r(aJ))]
446+ let aN = invoke(V(), "issueFreeDuckDefinedGenes", [f, ak, "ZZZZZZZZ"], nil)
447+ if ((aN == aN))
448+ then [StringEntry((((("address_" + f) + "_initTx_") + aA) + "_result"), r(aN))]
392449 else throw("Strict value is not equal to itself.")
393450 }
394451 else {
395- let aJ = invoke(V(), "issueFreeDuckDefinedGenes", [f, aj, "ZZZZZZZZ"], nil)
396- if ((aJ == aJ))
452+ let aN = invoke(V(), "issueFreeDuckDefinedGenes", [f, ak, "ZZZZZZZZ"], nil)
453+ if ((aN == aN))
397454 then {
398- let aK = invoke(P(), "issueFreeTurtle", [f, aj], nil)
399- if ((aK == aK))
400- then [StringEntry((((("address_" + f) + "_initTx_") + ax) + "_result"), r(aJ)), StringEntry((((("address_" + f) + "_initTx_") + ax) + "_result1"), r(aK)), StringEntry((((("address_" + f) + "_initTx_") + ax) + "_win1"), "incubator")]
455+ let aO = invoke(P(), "issueFreeTurtle", [f, ak], nil)
456+ if ((aO == aO))
457+ then [StringEntry((((("address_" + f) + "_initTx_") + aA) + "_result"), r(aN)), StringEntry((((("address_" + f) + "_initTx_") + aA) + "_result1"), r(aO)), StringEntry((((("address_" + f) + "_initTx_") + aA) + "_win1"), "incubator")]
401458 else throw("Strict value is not equal to itself.")
402459 }
403460 else throw("Strict value is not equal to itself.")
404461 }
405- if ((aI == aI))
406- then aI
462+ if ((aM == aM))
463+ then aM
407464 else throw("Strict value is not equal to itself.")
408465 }
409- else if ((indexOf(aF, "item") != unit))
466+ else if ((indexOf(aJ, "item") != unit))
410467 then {
411- let aL = split(aF, "!")[1]
412- let aI = if (!(az))
468+ let aP = split(aJ, "!")[1]
469+ let aM = if (!(aC))
413470 then {
414- let aJ = invoke(W(), "issueArtefactIndex", [aL, f, 0], nil)
415- if ((aJ == aJ))
416- then [StringEntry((((("address_" + f) + "_initTx_") + ax) + "_result"), r(aJ))]
471+ let aN = invoke(W(), "issueArtefactIndex", [aP, f, 0], nil)
472+ if ((aN == aN))
473+ then [StringEntry((((("address_" + f) + "_initTx_") + aA) + "_result"), r(aN))]
417474 else throw("Strict value is not equal to itself.")
418475 }
419476 else {
420- let aJ = invoke(W(), "issueArtefactIndex", [aL, f, 0], nil)
421- if ((aJ == aJ))
477+ let aN = invoke(W(), "issueArtefactIndex", [aP, f, 0], nil)
478+ if ((aN == aN))
422479 then {
423- let aK = invoke(W(), "issueArtefactIndex", [aL, f, 1], nil)
424- if ((aK == aK))
425- then [StringEntry((((("address_" + f) + "_initTx_") + ax) + "_result"), r(aJ)), StringEntry((((("address_" + f) + "_initTx_") + ax) + "_result1"), r(aK)), StringEntry((((("address_" + f) + "_initTx_") + ax) + "_win1"), aF)]
480+ let aO = invoke(W(), "issueArtefactIndex", [aP, f, 1], nil)
481+ if ((aO == aO))
482+ then [StringEntry((((("address_" + f) + "_initTx_") + aA) + "_result"), r(aN)), StringEntry((((("address_" + f) + "_initTx_") + aA) + "_result1"), r(aO)), StringEntry((((("address_" + f) + "_initTx_") + aA) + "_win1"), aJ)]
426483 else throw("Strict value is not equal to itself.")
427484 }
428485 else throw("Strict value is not equal to itself.")
429486 }
430- if ((aI == aI))
431- then aI
487+ if ((aM == aM))
488+ then aM
432489 else throw("Strict value is not equal to itself.")
433490 }
434491 else throw("RFB: Some error occured, please contact the admins!")
435- ((av ++ [StringEntry((((("address_" + f) + "_initTx_") + ax) + "_win"), aF), StringEntry((((("address_" + f) + "_initTx_") + ax) + "_status"), "finish"), IntegerEntry((((("address_" + f) + "_initTx_") + ax) + "_random"), aG)]) ++ aC)
492+ let aQ = if (aD)
493+ then ay(fromBase58String(aA), aE)
494+ else false
495+ let aR = if (aQ)
496+ then {
497+ let Z = fromBase58String(getStringValue((((("address_" + f) + "_initTx_") + aA) + "_assetId")))
498+ let aS = Y(Z)
499+ let aT = r(invoke(O(), "getGenFromName", [value(assetInfo(Z)).name], nil))
500+ if ((aT == aT))
501+ then {
502+ let aM = invoke(aS, "increaseRarity", [toBase58String(Z), aT], nil)
503+ if ((aM == aM))
504+ then [ScriptTransfer(addressFromStringValue(f), 1, Z)]
505+ else throw("Strict value is not equal to itself.")
506+ }
507+ else throw("Strict value is not equal to itself.")
508+ }
509+ else nil
510+ ((ax ++ [StringEntry((((("address_" + f) + "_initTx_") + aA) + "_win"), aJ), StringEntry((((("address_" + f) + "_initTx_") + aA) + "_status"), "finish"), IntegerEntry((((("address_" + f) + "_initTx_") + aA) + "_random"), aK)]) ++ aG)
436511 }
437512 else throw("Strict value is not equal to itself.")
438513 }
440515 }
441516
442517
443-@Callable(aM)
444-func configureOracle (aN) = if ((aM.caller != this))
518+@Callable(aU)
519+func configureOracle (aV) = if ((aU.caller != this))
445520 then throw("RCU: admin only")
446- else [StringEntry("static_oracleAddress", aN)]
521+ else [StringEntry("static_oracleAddress", aV)]
447522
448523
449524
450-@Callable(aM)
451-func initRebirth (aO) = {
452- let aP = aM.payments[0]
453- let aQ = aM.payments[1]
454- let aR = aM.payments[2]
455- let ad = value(aP.assetId)
456- let ax = toBase58String(aM.transactionId)
457- let f = toString(aM.caller)
458- if ((aP.amount != 1))
525+@Callable(aU)
526+func initRebirth (aW) = {
527+ let aX = aU.payments[0]
528+ let aY = aU.payments[1]
529+ let aZ = aU.payments[2]
530+ let Z = value(aX.assetId)
531+ let aA = toBase58String(aU.transactionId)
532+ let f = toString(aU.caller)
533+ if ((aX.amount != 1))
459534 then throw("NFT is not attached")
460- else if (if ((aQ.amount != aa))
535+ else if (if ((aY.amount != ac))
461536 then true
462- else (aQ.assetId != unit))
537+ else (aY.assetId != unit))
463538 then throw("Wavespayment is not attached or wrong!")
464- else if (if ((aR.amount != Y))
539+ else if (if ((aZ.amount != aa))
465540 then true
466- else (aR.assetId != Q()))
541+ else (aZ.assetId != Q()))
467542 then throw("SpicePayment is not attached or wrong!")
468543 else {
469- let aS = l(invoke(S(), "useCoupons", [Z], nil))
470- if ((aS == aS))
544+ let ba = l(invoke(S(), "useCoupons", [ab], nil))
545+ if ((ba == ba))
471546 then {
472- let aT = (Z - aS)
473- let aU = invoke(T(), "topUpReward", nil, [AttachedPayment(Q(), aR.amount)])
474- if ((aU == aU))
547+ let bb = (ab - ba)
548+ let bc = invoke(T(), "topUpReward", nil, [AttachedPayment(Q(), aZ.amount)])
549+ if ((bc == bc))
475550 then {
476- let af = if ((aT != 0))
551+ let ag = if ((bb != 0))
477552 then {
478- let aV = aM.payments[3]
479- let aW = value(aV)
480- if ((aW.assetId != L()))
553+ let bd = aU.payments[3]
554+ let be = value(bd)
555+ if ((be.assetId != L()))
481556 then throw("You need to attach EGG tokens as fee")
482- else if ((aW.amount != aT))
483- then throw(("You need to attach the following amount of EGG tokens as fee: 0." + toString(aT)))
557+ else if ((be.amount != bb))
558+ then throw(("You need to attach the following amount of EGG tokens as fee: 0." + toString(bb)))
484559 else {
485- let aX = fraction(aT, 5, 100)
486- let aY = p(invoke(R(), "refPayment", [aO], [AttachedPayment(L(), aX)]))
487- if ((aY == aY))
560+ let bf = fraction(bb, 5, 100)
561+ let bg = p(invoke(R(), "refPayment", [aW], [AttachedPayment(L(), bf)]))
562+ if ((bg == bg))
488563 then {
489- let aZ = if (aY)
490- then (aT - aX)
491- else aT
492- let ba = invoke(M(), "burnAttachedPayments", nil, [AttachedPayment(L(), aZ)])
493- if ((ba == ba))
494- then aT
564+ let bh = if (bg)
565+ then (bb - bf)
566+ else bb
567+ let bi = invoke(M(), "burnAttachedPayments", nil, [AttachedPayment(L(), bh)])
568+ if ((bi == bi))
569+ then bb
495570 else throw("Strict value is not equal to itself.")
496571 }
497572 else throw("Strict value is not equal to itself.")
498573 }
499574 }
500575 else 0
501- if ((af == af))
576+ if ((ag == ag))
502577 then {
503- let bb = ac(ad)
504- if ((bb == bb))
505- then [IntegerEntry((((("address_" + f) + "_initTx_") + ax) + "_finishBlock"), (height + ab)), StringEntry((((("address_" + f) + "_initTx_") + ax) + "_status"), "open"), StringEntry((((("address_" + f) + "_initTx_") + ax) + "_assetId"), toBase58String(ad)), ScriptTransfer(N(), aQ.amount, unit)]
578+ let bj = ae(Z)
579+ if ((bj == bj))
580+ then [IntegerEntry((((("address_" + f) + "_initTx_") + aA) + "_finishBlock"), (height + ad)), StringEntry((((("address_" + f) + "_initTx_") + aA) + "_status"), "open"), StringEntry((((("address_" + f) + "_initTx_") + aA) + "_assetId"), toBase58String(Z)), ScriptTransfer(N(), aY.amount, unit)]
506581 else throw("Strict value is not equal to itself.")
507582 }
508583 else throw("Strict value is not equal to itself.")
515590
516591
517592
518-@Callable(aM)
519-func finishRebirth (ax) = aw(ax, toString(aM.caller), aM.payments[0], false)
593+@Callable(aU)
594+func finishRebirth (aA) = az(aA, toString(aU.caller), aU.payments[0], false, "", false)
520595
521596
522597
523-@Callable(aM)
524-func finishRebirthDouble (ax) = if (!(if ((size(aM.payments) == 2))
525- then (aM.payments[0].amount == 1)
598+@Callable(aU)
599+func finishRebirthDouble (aA) = if (!(if ((size(aU.payments) == 2))
600+ then (aU.payments[0].amount == 1)
526601 else false))
527602 then throw("Invalid payment")
528603 else {
529- let ad = value(aM.payments[0].assetId)
530- let bc = r(invoke(W(), "checkArtefactDetails", [toBase58String(ad)], nil))
531- if ((bc == bc))
532- then if ((bc == "ART-GIFT_DOUBL"))
533- then ([Burn(ad, 1)] ++ aw(ax, toString(aM.caller), aM.payments[1], true))
604+ let Z = value(aU.payments[0].assetId)
605+ let bk = r(invoke(W(), "checkArtefactDetails", [toBase58String(Z)], nil))
606+ if ((bk == bk))
607+ then if ((bk == "ART-GIFT_DOUBL"))
608+ then ([Burn(Z, 1)] ++ az(aA, toString(aU.caller), aU.payments[1], true, "", false))
534609 else throw("Error! Wrong item attached to double rewards!")
535610 else throw("Strict value is not equal to itself.")
536611 }
537612
538613
539-@Verifier(aq)
540-func bd () = if (a())
541- then sigVerify(aq.bodyBytes, aq.proofs[0], aq.senderPublicKey)
614+
615+@Callable(aU)
616+func finishRebirthItem (aA,bl) = if (if ((size(aU.payments) == 2))
617+ then (aU.payments[0].amount == 1)
618+ else false)
619+ then {
620+ let Z = value(aU.payments[0].assetId)
621+ let bk = r(invoke(W(), "checkArtefactDetails", [toBase58String(Z)], nil))
622+ if ((bk == bk))
623+ then if ((bk == "ART-HWERASE"))
624+ then ([Burn(Z, 1)] ++ az(aA, toString(aU.caller), aU.payments[1], false, bl, false))
625+ else if ((bk == "ART-HWRESCUE"))
626+ then ([Burn(Z, 1)] ++ az(aA, toString(aU.caller), aU.payments[1], false, "", true))
627+ else if ((bk == "ART-GIFT_DOUBL"))
628+ then ([Burn(Z, 1)] ++ az(aA, toString(aU.caller), aU.payments[1], true, "", false))
629+ else throw("Error! Wrong item attached ")
630+ else throw("Strict value is not equal to itself.")
631+ }
632+ else if ((size(aU.payments) == 1))
633+ then az(aA, toString(aU.caller), aU.payments[0], false, "", false)
634+ else throw("Invalid payments")
635+
636+
637+@Verifier(ar)
638+func bm () = if (a())
639+ then sigVerify(ar.bodyBytes, ar.proofs[0], ar.senderPublicKey)
542640 else {
543- let be = base58'6TdaXEfhnjYquvPf3yV7MFxt2CbgFmaqsvGwkKfXtKi4'
544- let bf = base58'7DsP2WaMLocbHuUxux7pbXRjTrrZ1TFQPsi5QumS3gr8'
545- let bg = base58'BpFWP3p3JgYrrP45xfrKzeMcWMEXoinj4FVPPkUiA8D3'
546- let bh = if (sigVerify(aq.bodyBytes, aq.proofs[0], be))
641+ let bn = base58'6TdaXEfhnjYquvPf3yV7MFxt2CbgFmaqsvGwkKfXtKi4'
642+ let bo = base58'7DsP2WaMLocbHuUxux7pbXRjTrrZ1TFQPsi5QumS3gr8'
643+ let bp = base58'BpFWP3p3JgYrrP45xfrKzeMcWMEXoinj4FVPPkUiA8D3'
644+ let bq = if (sigVerify(ar.bodyBytes, ar.proofs[0], bn))
547645 then 1
548- else if (sigVerify(aq.bodyBytes, aq.proofs[1], be))
646+ else if (sigVerify(ar.bodyBytes, ar.proofs[1], bn))
549647 then 1
550- else if (sigVerify(aq.bodyBytes, aq.proofs[2], be))
648+ else if (sigVerify(ar.bodyBytes, ar.proofs[2], bn))
551649 then 1
552650 else 0
553- let bi = if (sigVerify(aq.bodyBytes, aq.proofs[0], bf))
651+ let br = if (sigVerify(ar.bodyBytes, ar.proofs[0], bo))
554652 then 1
555- else if (sigVerify(aq.bodyBytes, aq.proofs[1], bf))
653+ else if (sigVerify(ar.bodyBytes, ar.proofs[1], bo))
556654 then 1
557- else if (sigVerify(aq.bodyBytes, aq.proofs[2], bf))
655+ else if (sigVerify(ar.bodyBytes, ar.proofs[2], bo))
558656 then 1
559657 else 0
560- let bj = if (sigVerify(aq.bodyBytes, aq.proofs[0], bg))
658+ let bs = if (sigVerify(ar.bodyBytes, ar.proofs[0], bp))
561659 then 1
562- else if (sigVerify(aq.bodyBytes, aq.proofs[1], bg))
660+ else if (sigVerify(ar.bodyBytes, ar.proofs[1], bp))
563661 then 1
564- else if (sigVerify(aq.bodyBytes, aq.proofs[2], bg))
662+ else if (sigVerify(ar.bodyBytes, ar.proofs[2], bp))
565663 then 1
566664 else 0
567- let bk = ((bh + bi) + bj)
568- let c = aq
569- (bk >= 2)
665+ let bt = ((bq + br) + bs)
666+ let c = ar
667+ (bt >= 2)
570668 }
571669
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func a () = {
55 let b = {
66 let c = getBoolean(this, "TESTENV")
77 if ($isInstanceOf(c, "Boolean"))
88 then {
99 let d = c
1010 d
1111 }
1212 else false
1313 }
1414 b
1515 }
1616
1717
1818 func e (f,g) = {
1919 let c = getString(f, g)
2020 if ($isInstanceOf(c, "String"))
2121 then {
2222 let h = c
2323 h
2424 }
2525 else ""
2626 }
2727
2828
2929 func i (g) = {
3030 let c = getInteger(this, g)
3131 if ($isInstanceOf(c, "Int"))
3232 then {
3333 let j = c
3434 j
3535 }
3636 else 0
3737 }
3838
3939
4040 func k (g) = e(this, g)
4141
4242
4343 func l (m) = {
4444 let c = m
4545 if ($isInstanceOf(c, "Int"))
4646 then {
4747 let n = c
4848 n
4949 }
5050 else if ($isInstanceOf(c, "String"))
5151 then {
5252 let o = c
5353 throw(("RAI: wrong type, expected: Int, but got: " + o))
5454 }
5555 else throw("RAI: wrong type, expected: Int")
5656 }
5757
5858
5959 func p (m) = {
6060 let c = m
6161 if ($isInstanceOf(c, "Boolean"))
6262 then {
6363 let q = c
6464 q
6565 }
6666 else throw("FAB: wrong type, expected: Boolean")
6767 }
6868
6969
7070 func r (m) = {
7171 let c = m
7272 if ($isInstanceOf(c, "String"))
7373 then {
7474 let s = c
7575 s
7676 }
7777 else if ($isInstanceOf(c, "Int"))
7878 then {
7979 let s = c
8080 throw("wrong type, expected: String, got: Int")
8181 }
8282 else if ($isInstanceOf(c, "Unit"))
8383 then {
8484 let s = c
8585 throw("wrong type, expected: String, got: Unit")
8686 }
8787 else throw("wrong type, expected: String")
8888 }
8989
9090
9191 func t () = "static_oracleAddress"
9292
9393
9494 func u () = "static_eggAssetId"
9595
9696
9797 func v () = "static_burnAddress"
9898
9999
100100 func w () = "static_extraFee"
101101
102102
103103 func x () = "static_feeAggregator"
104104
105105
106106 func y () = "static_turtleIncubatorAddress"
107107
108108
109109 func z () = "static_turtleBreederAddress"
110110
111111
112112 func A () = "static_spiceAssetId"
113113
114114
115115 func B () = "static_refContractAddress"
116116
117117
118118 func C () = "static_couponsAddress"
119119
120120
121121 func D () = "static_turtleStakingAddress"
122122
123123
124124 func E () = "static_farmingAddressNew"
125125
126126
127127 func F () = "static_incubatorAddress"
128128
129129
130130 func G () = "static_itemsAddress"
131131
132132
133133 func H () = "static_turtleSpiceRebirthPrice"
134134
135135
136136 func I () = "static_turtleWavesRebirthPrice"
137137
138138
139139 func J () = "static_turtleEggRebirthPrice"
140140
141141
142142 func K () = Address(fromBase58String(k(t())))
143143
144144
145145 func L () = fromBase58String(e(K(), u()))
146146
147147
148148 func M () = Address(fromBase58String(e(K(), v())))
149149
150150
151151 func N () = Address(fromBase58String(e(K(), x())))
152152
153153
154154 func O () = Address(fromBase58String(e(K(), z())))
155155
156156
157157 func P () = Address(fromBase58String(e(K(), y())))
158158
159159
160160 func Q () = fromBase58String(e(K(), A()))
161161
162162
163163 func R () = Address(fromBase58String(e(K(), B())))
164164
165165
166166 func S () = Address(fromBase58String(e(K(), C())))
167167
168168
169169 func T () = Address(fromBase58String(e(K(), D())))
170170
171171
172172 func U () = Address(fromBase58String(e(K(), E())))
173173
174174
175175 func V () = Address(fromBase58String(e(K(), F())))
176176
177177
178178 func W () = Address(fromBase58String(e(K(), G())))
179179
180180
181181 func X (f,g) = {
182182 let c = getInteger(f, g)
183183 if ($isInstanceOf(c, "Int"))
184184 then {
185185 let j = c
186186 j
187187 }
188188 else throw("TR: Value not found in sc!")
189189 }
190190
191191
192-let Y = X(K(), H())
192+func Y (Z) = if (if ((value(assetInfo(Z)).issuer == O()))
193+ then true
194+ else (value(assetInfo(Z)).issuer == P()))
195+ then value(assetInfo(Z)).issuer
196+ else throw("not valid NFT")
193197
194-let Z = X(K(), J())
195198
196-let aa = X(K(), I())
199+let aa = X(K(), H())
197200
198-let ab = 2
201+let ab = X(K(), J())
199202
200-func ac (ad) = if (if ((value(assetInfo(ad)).issuer == O()))
203+let ac = X(K(), I())
204+
205+let ad = 2
206+
207+func ae (Z) = if (if ((value(assetInfo(Z)).issuer == O()))
201208 then true
202- else (value(assetInfo(ad)).issuer == P()))
209+ else (value(assetInfo(Z)).issuer == P()))
203210 then true
204211 else throw("not valid NFT")
205212
206213
207-func ae (af) = if (isDefined(af.assetId))
214+func af (ag) = if (isDefined(ag.assetId))
208215 then throw("RCAP: Please attach waves")
209216 else {
210- let ag = getIntegerValue(K(), w())
211- if ((af.amount != ag))
212- then throw((("RCAP: Please attach exactly " + toString(ag)) + " amount of wavelets"))
213- else [ScriptTransfer(N(), ag, unit)]
217+ let ah = getIntegerValue(K(), w())
218+ if ((ag.amount != ah))
219+ then throw((("RCAP: Please attach exactly " + toString(ah)) + " amount of wavelets"))
220+ else [ScriptTransfer(N(), ah, unit)]
214221 }
215222
216223
217-func ah (ai,aj,ak,al) = {
218- let am = value(blockInfoByHeight((ak - 1)))
219- let an = sha256((aj + value(am.vrf)))
220- (toInt(an, (al * 8)) % ai)
224+func ai (aj,ak,al,am) = {
225+ let an = value(blockInfoByHeight((al - 1)))
226+ let ao = sha256((ak + value(an.vrf)))
227+ (toInt(ao, (am * 8)) % aj)
221228 }
222229
223230
224-func ao (g) = {
231+func ap (g) = {
225232 let c = getBoolean(g)
226233 if ($isInstanceOf(c, "Boolean"))
227234 then {
228235 let j = c
229236 j
230237 }
231238 else false
232239 }
233240
234241
235-func ap (aq,ar) = {
236- let as = ao("JACKPOT_ENABLED")
237- let at = ah(300, aq, ar, 1)
238- if (if ((at == 1))
239- then as
242+func aq (ar,as,at) = {
243+ let au = ap("JACKPOT_ENABLED")
244+ let av = ai(300, ar, as, 1)
245+ if (if ((av == 1))
246+ then au
240247 else false)
241- then $Tuple2(at, "jackpot")
248+ then $Tuple2(av, "jackpot")
242249 else {
243- let au = ah(1000, aq, ar, 0)
244- let av = if ((40 > au))
250+ let aw = ai(1000, ar, as, 0)
251+ let ax = if (if ((40 > aw))
252+ then ("item!ART-FIRE_SHIELD" != at)
253+ else false)
245254 then "item!ART-FIRE_SHIELD"
246- else if ((80 > au))
255+ else if (if ((80 > aw))
256+ then ("item!ART-FIRE_TAIL" != at)
257+ else false)
247258 then "item!ART-FIRE_TAIL"
248- else if ((100 > au))
259+ else if (if ((100 > aw))
260+ then ("item!ART-FREEGENE" != at)
261+ else false)
249262 then "item!ART-FREEGENE"
250- else if ((150 > au))
263+ else if (if ((150 > aw))
264+ then ("beach_R" != at)
265+ else false)
251266 then "beach_R"
252- else if ((200 > au))
267+ else if (if ((200 > aw))
268+ then ("beach_S" != at)
269+ else false)
253270 then "beach_S"
254- else if ((250 > au))
271+ else if (if ((250 > aw))
272+ then ("beach_G" != at)
273+ else false)
255274 then "beach_G"
256- else if ((300 > au))
275+ else if (if ((300 > aw))
276+ then ("beach_D" != at)
277+ else false)
257278 then "beach_D"
258- else if ((380 > au))
279+ else if (if ((380 > aw))
280+ then ("item!ART-MUTARIUM-G" != at)
281+ else false)
259282 then "item!ART-MUTARIUM-G"
260- else if ((400 > au))
283+ else if (if ((400 > aw))
284+ then ("item!ART-FEED5" != at)
285+ else false)
261286 then "item!ART-FEED5"
262- else if ((600 > au))
287+ else if (if ((600 > aw))
288+ then ("item!ART-FEED10" != at)
289+ else false)
263290 then "item!ART-FEED10"
264- else if ((620 > au))
291+ else if (if ((620 > aw))
292+ then ("item!ART-FEED15" != at)
293+ else false)
265294 then "item!ART-FEED15"
266- else if ((640 > au))
295+ else if (if ((640 > aw))
296+ then ("item!ART-FEED20" != at)
297+ else false)
267298 then "item!ART-FEED20"
268- else if ((660 > au))
299+ else if (if ((660 > aw))
300+ then ("item!ART-FEED25" != at)
301+ else false)
269302 then "item!ART-FEED25"
270- else if ((680 > au))
303+ else if (if ((680 > aw))
304+ then ("item!ART-FEED50" != at)
305+ else false)
271306 then "item!ART-FEED50"
272- else if ((760 > au))
307+ else if (if ((760 > aw))
308+ then ("item!ART-FEED100" != at)
309+ else false)
273310 then "item!ART-FEED100"
274- else if ((780 > au))
311+ else if (if ((780 > aw))
312+ then ("perch_G" != at)
313+ else false)
275314 then "perch_G"
276- else if ((800 > au))
315+ else if (if ((800 > aw))
316+ then ("perch_Y" != at)
317+ else false)
277318 then "perch_Y"
278- else if ((820 > au))
319+ else if (if ((820 > aw))
320+ then ("perch_R" != at)
321+ else false)
279322 then "perch_R"
280- else if ((840 > au))
323+ else if (if ((840 > aw))
324+ then ("perch_B" != at)
325+ else false)
281326 then "perch_B"
282- else if ((880 > au))
327+ else if (if ((880 > aw))
328+ then ("item!ART-MUTARIUM-D" != at)
329+ else false)
283330 then "item!ART-MUTARIUM-D"
284- else if ((940 > au))
331+ else if (if ((940 > aw))
332+ then ("incubator" != at)
333+ else false)
285334 then "incubator"
286335 else "duck_incubator"
287- $Tuple2(au, av)
336+ $Tuple2(aw, ax)
288337 }
289338 }
290339
291340
292-func aw (ax,f,ay,az) = {
293- let aA = i((((("address_" + f) + "_initTx_") + ax) + "_finishBlock"))
294- let aB = k((((("address_" + f) + "_initTx_") + ax) + "_status"))
295- let aC = ae(ay)
296- if ((aC == aC))
341+func ay (ar,as) = {
342+ let aw = ai(2, ar, as, 1)
343+ if ((aw == 0))
344+ then true
345+ else false
346+ }
347+
348+
349+func az (aA,f,aB,aC,at,aD) = {
350+ let aE = i((((("address_" + f) + "_initTx_") + aA) + "_finishBlock"))
351+ let aF = k((((("address_" + f) + "_initTx_") + aA) + "_status"))
352+ let aG = af(aB)
353+ if ((aG == aG))
297354 then {
298- let aD = invoke(S(), "recordAction", ["REBIRTHTURTLE"], nil)
299- if ((aD == aD))
300- then if ((aB != "open"))
355+ let aH = invoke(S(), "recordAction", ["REBIRTHTURTLE"], nil)
356+ if ((aH == aH))
357+ then if ((aF != "open"))
301358 then throw("rebirth is finished or not open")
302- else if ((aA > height))
359+ else if ((aE > height))
303360 then throw("you cannot finish rebirth, yet")
304361 else {
305- let aE = ap(fromBase58String(ax), aA)
306- let aF = aE._2
307- let aG = aE._1
308- let aj = ax
309- let av = if ((indexOf(aF, "perch") != unit))
362+ let aI = aq(fromBase58String(aA), aE, at)
363+ let aJ = aI._2
364+ let aK = aI._1
365+ let ak = aA
366+ let ax = if ((indexOf(aJ, "perch") != unit))
310367 then {
311- let aH = takeRight(aF, 1)
312- let aI = if (!(az))
368+ let aL = takeRight(aJ, 1)
369+ let aM = if (!(aC))
313370 then {
314- let aJ = invoke(U(), "addFreePerch", [f, aH, 1], nil)
315- if ((aJ == aJ))
316- then [StringEntry((((("address_" + f) + "_initTx_") + ax) + "_result"), r(aJ))]
371+ let aN = invoke(U(), "addFreePerch", [f, aL, 1], nil)
372+ if ((aN == aN))
373+ then [StringEntry((((("address_" + f) + "_initTx_") + aA) + "_result"), r(aN))]
317374 else throw("Strict value is not equal to itself.")
318375 }
319376 else {
320- let aJ = invoke(U(), "addFreePerch", [f, aH, 2], nil)
321- if ((aJ == aJ))
322- then [StringEntry((((("address_" + f) + "_initTx_") + ax) + "_result"), r(aJ)), StringEntry((((("address_" + f) + "_initTx_") + ax) + "_result1"), r(aJ)), StringEntry((((("address_" + f) + "_initTx_") + ax) + "_win1"), aF)]
377+ let aN = invoke(U(), "addFreePerch", [f, aL, 2], nil)
378+ if ((aN == aN))
379+ then [StringEntry((((("address_" + f) + "_initTx_") + aA) + "_result"), r(aN)), StringEntry((((("address_" + f) + "_initTx_") + aA) + "_result1"), r(aN)), StringEntry((((("address_" + f) + "_initTx_") + aA) + "_win1"), aJ)]
323380 else throw("Strict value is not equal to itself.")
324381 }
325- if ((aI == aI))
326- then aI
382+ if ((aM == aM))
383+ then aM
327384 else throw("Strict value is not equal to itself.")
328385 }
329- else if ((indexOf(aF, "beach") != unit))
386+ else if ((indexOf(aJ, "beach") != unit))
330387 then {
331- let aH = takeRight(aF, 1)
332- let aI = if (!(az))
388+ let aL = takeRight(aJ, 1)
389+ let aM = if (!(aC))
333390 then {
334- let aJ = invoke(T(), "addFreeBeach", [f, aH], nil)
335- if ((aJ == aJ))
336- then [StringEntry((((("address_" + f) + "_initTx_") + ax) + "_result"), r(aJ))]
391+ let aN = invoke(T(), "addFreeBeach", [f, aL], nil)
392+ if ((aN == aN))
393+ then [StringEntry((((("address_" + f) + "_initTx_") + aA) + "_result"), r(aN))]
337394 else throw("Strict value is not equal to itself.")
338395 }
339396 else {
340- let aJ = invoke(T(), "addFreeBeach", [f, aH], nil)
341- if ((aJ == aJ))
397+ let aN = invoke(T(), "addFreeBeach", [f, aL], nil)
398+ if ((aN == aN))
342399 then {
343- let aK = invoke(T(), "addFreeBeach", [f, aH], nil)
344- if ((aK == aK))
345- then [StringEntry((((("address_" + f) + "_initTx_") + ax) + "_result"), r(aJ)), StringEntry((((("address_" + f) + "_initTx_") + ax) + "_result1"), r(aK)), StringEntry((((("address_" + f) + "_initTx_") + ax) + "_win1"), aF)]
400+ let aO = invoke(T(), "addFreeBeach", [f, aL], nil)
401+ if ((aO == aO))
402+ then [StringEntry((((("address_" + f) + "_initTx_") + aA) + "_result"), r(aN)), StringEntry((((("address_" + f) + "_initTx_") + aA) + "_result1"), r(aO)), StringEntry((((("address_" + f) + "_initTx_") + aA) + "_win1"), aJ)]
346403 else throw("Strict value is not equal to itself.")
347404 }
348405 else throw("Strict value is not equal to itself.")
349406 }
350- if ((aI == aI))
351- then aI
407+ if ((aM == aM))
408+ then aM
352409 else throw("Strict value is not equal to itself.")
353410 }
354- else if ((aF == "jackpot"))
411+ else if ((aJ == "jackpot"))
355412 then {
356- let aI = invoke(P(), "issueJackpot", [f, aj, valueOrElse(getString("JACKPOT_NAME"), "WWWWXMAS")], nil)
357- if ((aI == aI))
358- then [StringEntry((((("address_" + f) + "_initTx_") + ax) + "_result"), r(aI))]
413+ let aM = invoke(P(), "issueJackpot", [f, ak, valueOrElse(getString("JACKPOT_NAME"), "WWWWXMAS")], nil)
414+ if ((aM == aM))
415+ then [StringEntry((((("address_" + f) + "_initTx_") + aA) + "_result"), r(aM))]
359416 else throw("Strict value is not equal to itself.")
360417 }
361- else if ((aF == "incubator"))
418+ else if ((aJ == "incubator"))
362419 then {
363- let aI = if (!(az))
420+ let aM = if (!(aC))
364421 then {
365- let aJ = invoke(P(), "issueFreeTurtle", [f, aj], nil)
366- if ((aJ == aJ))
367- then [StringEntry((((("address_" + f) + "_initTx_") + ax) + "_result"), r(aJ))]
422+ let aN = invoke(P(), "issueFreeTurtle", [f, ak], nil)
423+ if ((aN == aN))
424+ then [StringEntry((((("address_" + f) + "_initTx_") + aA) + "_result"), r(aN))]
368425 else throw("Strict value is not equal to itself.")
369426 }
370427 else {
371- let aJ = invoke(P(), "issueFreeTurtle", [f, aj], nil)
372- if ((aJ == aJ))
428+ let aN = invoke(P(), "issueFreeTurtle", [f, ak], nil)
429+ if ((aN == aN))
373430 then {
374- let aK = invoke(V(), "issueFreeDuckDefinedGenes", [f, aj, "ZZZZZZZZ"], nil)
375- if ((aK == aK))
376- then [StringEntry((((("address_" + f) + "_initTx_") + ax) + "_result"), r(aJ)), StringEntry((((("address_" + f) + "_initTx_") + ax) + "_result1"), r(aK)), StringEntry((((("address_" + f) + "_initTx_") + ax) + "_win1"), "duck_incubator")]
431+ let aO = invoke(V(), "issueFreeDuckDefinedGenes", [f, ak, "ZZZZZZZZ"], nil)
432+ if ((aO == aO))
433+ then [StringEntry((((("address_" + f) + "_initTx_") + aA) + "_result"), r(aN)), StringEntry((((("address_" + f) + "_initTx_") + aA) + "_result1"), r(aO)), StringEntry((((("address_" + f) + "_initTx_") + aA) + "_win1"), "duck_incubator")]
377434 else throw("Strict value is not equal to itself.")
378435 }
379436 else throw("Strict value is not equal to itself.")
380437 }
381- if ((aI == aI))
382- then aI
438+ if ((aM == aM))
439+ then aM
383440 else throw("Strict value is not equal to itself.")
384441 }
385- else if ((aF == "duck_incubator"))
442+ else if ((aJ == "duck_incubator"))
386443 then {
387- let aI = if (!(az))
444+ let aM = if (!(aC))
388445 then {
389- let aJ = invoke(V(), "issueFreeDuckDefinedGenes", [f, aj, "ZZZZZZZZ"], nil)
390- if ((aJ == aJ))
391- then [StringEntry((((("address_" + f) + "_initTx_") + ax) + "_result"), r(aJ))]
446+ let aN = invoke(V(), "issueFreeDuckDefinedGenes", [f, ak, "ZZZZZZZZ"], nil)
447+ if ((aN == aN))
448+ then [StringEntry((((("address_" + f) + "_initTx_") + aA) + "_result"), r(aN))]
392449 else throw("Strict value is not equal to itself.")
393450 }
394451 else {
395- let aJ = invoke(V(), "issueFreeDuckDefinedGenes", [f, aj, "ZZZZZZZZ"], nil)
396- if ((aJ == aJ))
452+ let aN = invoke(V(), "issueFreeDuckDefinedGenes", [f, ak, "ZZZZZZZZ"], nil)
453+ if ((aN == aN))
397454 then {
398- let aK = invoke(P(), "issueFreeTurtle", [f, aj], nil)
399- if ((aK == aK))
400- then [StringEntry((((("address_" + f) + "_initTx_") + ax) + "_result"), r(aJ)), StringEntry((((("address_" + f) + "_initTx_") + ax) + "_result1"), r(aK)), StringEntry((((("address_" + f) + "_initTx_") + ax) + "_win1"), "incubator")]
455+ let aO = invoke(P(), "issueFreeTurtle", [f, ak], nil)
456+ if ((aO == aO))
457+ then [StringEntry((((("address_" + f) + "_initTx_") + aA) + "_result"), r(aN)), StringEntry((((("address_" + f) + "_initTx_") + aA) + "_result1"), r(aO)), StringEntry((((("address_" + f) + "_initTx_") + aA) + "_win1"), "incubator")]
401458 else throw("Strict value is not equal to itself.")
402459 }
403460 else throw("Strict value is not equal to itself.")
404461 }
405- if ((aI == aI))
406- then aI
462+ if ((aM == aM))
463+ then aM
407464 else throw("Strict value is not equal to itself.")
408465 }
409- else if ((indexOf(aF, "item") != unit))
466+ else if ((indexOf(aJ, "item") != unit))
410467 then {
411- let aL = split(aF, "!")[1]
412- let aI = if (!(az))
468+ let aP = split(aJ, "!")[1]
469+ let aM = if (!(aC))
413470 then {
414- let aJ = invoke(W(), "issueArtefactIndex", [aL, f, 0], nil)
415- if ((aJ == aJ))
416- then [StringEntry((((("address_" + f) + "_initTx_") + ax) + "_result"), r(aJ))]
471+ let aN = invoke(W(), "issueArtefactIndex", [aP, f, 0], nil)
472+ if ((aN == aN))
473+ then [StringEntry((((("address_" + f) + "_initTx_") + aA) + "_result"), r(aN))]
417474 else throw("Strict value is not equal to itself.")
418475 }
419476 else {
420- let aJ = invoke(W(), "issueArtefactIndex", [aL, f, 0], nil)
421- if ((aJ == aJ))
477+ let aN = invoke(W(), "issueArtefactIndex", [aP, f, 0], nil)
478+ if ((aN == aN))
422479 then {
423- let aK = invoke(W(), "issueArtefactIndex", [aL, f, 1], nil)
424- if ((aK == aK))
425- then [StringEntry((((("address_" + f) + "_initTx_") + ax) + "_result"), r(aJ)), StringEntry((((("address_" + f) + "_initTx_") + ax) + "_result1"), r(aK)), StringEntry((((("address_" + f) + "_initTx_") + ax) + "_win1"), aF)]
480+ let aO = invoke(W(), "issueArtefactIndex", [aP, f, 1], nil)
481+ if ((aO == aO))
482+ then [StringEntry((((("address_" + f) + "_initTx_") + aA) + "_result"), r(aN)), StringEntry((((("address_" + f) + "_initTx_") + aA) + "_result1"), r(aO)), StringEntry((((("address_" + f) + "_initTx_") + aA) + "_win1"), aJ)]
426483 else throw("Strict value is not equal to itself.")
427484 }
428485 else throw("Strict value is not equal to itself.")
429486 }
430- if ((aI == aI))
431- then aI
487+ if ((aM == aM))
488+ then aM
432489 else throw("Strict value is not equal to itself.")
433490 }
434491 else throw("RFB: Some error occured, please contact the admins!")
435- ((av ++ [StringEntry((((("address_" + f) + "_initTx_") + ax) + "_win"), aF), StringEntry((((("address_" + f) + "_initTx_") + ax) + "_status"), "finish"), IntegerEntry((((("address_" + f) + "_initTx_") + ax) + "_random"), aG)]) ++ aC)
492+ let aQ = if (aD)
493+ then ay(fromBase58String(aA), aE)
494+ else false
495+ let aR = if (aQ)
496+ then {
497+ let Z = fromBase58String(getStringValue((((("address_" + f) + "_initTx_") + aA) + "_assetId")))
498+ let aS = Y(Z)
499+ let aT = r(invoke(O(), "getGenFromName", [value(assetInfo(Z)).name], nil))
500+ if ((aT == aT))
501+ then {
502+ let aM = invoke(aS, "increaseRarity", [toBase58String(Z), aT], nil)
503+ if ((aM == aM))
504+ then [ScriptTransfer(addressFromStringValue(f), 1, Z)]
505+ else throw("Strict value is not equal to itself.")
506+ }
507+ else throw("Strict value is not equal to itself.")
508+ }
509+ else nil
510+ ((ax ++ [StringEntry((((("address_" + f) + "_initTx_") + aA) + "_win"), aJ), StringEntry((((("address_" + f) + "_initTx_") + aA) + "_status"), "finish"), IntegerEntry((((("address_" + f) + "_initTx_") + aA) + "_random"), aK)]) ++ aG)
436511 }
437512 else throw("Strict value is not equal to itself.")
438513 }
439514 else throw("Strict value is not equal to itself.")
440515 }
441516
442517
443-@Callable(aM)
444-func configureOracle (aN) = if ((aM.caller != this))
518+@Callable(aU)
519+func configureOracle (aV) = if ((aU.caller != this))
445520 then throw("RCU: admin only")
446- else [StringEntry("static_oracleAddress", aN)]
521+ else [StringEntry("static_oracleAddress", aV)]
447522
448523
449524
450-@Callable(aM)
451-func initRebirth (aO) = {
452- let aP = aM.payments[0]
453- let aQ = aM.payments[1]
454- let aR = aM.payments[2]
455- let ad = value(aP.assetId)
456- let ax = toBase58String(aM.transactionId)
457- let f = toString(aM.caller)
458- if ((aP.amount != 1))
525+@Callable(aU)
526+func initRebirth (aW) = {
527+ let aX = aU.payments[0]
528+ let aY = aU.payments[1]
529+ let aZ = aU.payments[2]
530+ let Z = value(aX.assetId)
531+ let aA = toBase58String(aU.transactionId)
532+ let f = toString(aU.caller)
533+ if ((aX.amount != 1))
459534 then throw("NFT is not attached")
460- else if (if ((aQ.amount != aa))
535+ else if (if ((aY.amount != ac))
461536 then true
462- else (aQ.assetId != unit))
537+ else (aY.assetId != unit))
463538 then throw("Wavespayment is not attached or wrong!")
464- else if (if ((aR.amount != Y))
539+ else if (if ((aZ.amount != aa))
465540 then true
466- else (aR.assetId != Q()))
541+ else (aZ.assetId != Q()))
467542 then throw("SpicePayment is not attached or wrong!")
468543 else {
469- let aS = l(invoke(S(), "useCoupons", [Z], nil))
470- if ((aS == aS))
544+ let ba = l(invoke(S(), "useCoupons", [ab], nil))
545+ if ((ba == ba))
471546 then {
472- let aT = (Z - aS)
473- let aU = invoke(T(), "topUpReward", nil, [AttachedPayment(Q(), aR.amount)])
474- if ((aU == aU))
547+ let bb = (ab - ba)
548+ let bc = invoke(T(), "topUpReward", nil, [AttachedPayment(Q(), aZ.amount)])
549+ if ((bc == bc))
475550 then {
476- let af = if ((aT != 0))
551+ let ag = if ((bb != 0))
477552 then {
478- let aV = aM.payments[3]
479- let aW = value(aV)
480- if ((aW.assetId != L()))
553+ let bd = aU.payments[3]
554+ let be = value(bd)
555+ if ((be.assetId != L()))
481556 then throw("You need to attach EGG tokens as fee")
482- else if ((aW.amount != aT))
483- then throw(("You need to attach the following amount of EGG tokens as fee: 0." + toString(aT)))
557+ else if ((be.amount != bb))
558+ then throw(("You need to attach the following amount of EGG tokens as fee: 0." + toString(bb)))
484559 else {
485- let aX = fraction(aT, 5, 100)
486- let aY = p(invoke(R(), "refPayment", [aO], [AttachedPayment(L(), aX)]))
487- if ((aY == aY))
560+ let bf = fraction(bb, 5, 100)
561+ let bg = p(invoke(R(), "refPayment", [aW], [AttachedPayment(L(), bf)]))
562+ if ((bg == bg))
488563 then {
489- let aZ = if (aY)
490- then (aT - aX)
491- else aT
492- let ba = invoke(M(), "burnAttachedPayments", nil, [AttachedPayment(L(), aZ)])
493- if ((ba == ba))
494- then aT
564+ let bh = if (bg)
565+ then (bb - bf)
566+ else bb
567+ let bi = invoke(M(), "burnAttachedPayments", nil, [AttachedPayment(L(), bh)])
568+ if ((bi == bi))
569+ then bb
495570 else throw("Strict value is not equal to itself.")
496571 }
497572 else throw("Strict value is not equal to itself.")
498573 }
499574 }
500575 else 0
501- if ((af == af))
576+ if ((ag == ag))
502577 then {
503- let bb = ac(ad)
504- if ((bb == bb))
505- then [IntegerEntry((((("address_" + f) + "_initTx_") + ax) + "_finishBlock"), (height + ab)), StringEntry((((("address_" + f) + "_initTx_") + ax) + "_status"), "open"), StringEntry((((("address_" + f) + "_initTx_") + ax) + "_assetId"), toBase58String(ad)), ScriptTransfer(N(), aQ.amount, unit)]
578+ let bj = ae(Z)
579+ if ((bj == bj))
580+ then [IntegerEntry((((("address_" + f) + "_initTx_") + aA) + "_finishBlock"), (height + ad)), StringEntry((((("address_" + f) + "_initTx_") + aA) + "_status"), "open"), StringEntry((((("address_" + f) + "_initTx_") + aA) + "_assetId"), toBase58String(Z)), ScriptTransfer(N(), aY.amount, unit)]
506581 else throw("Strict value is not equal to itself.")
507582 }
508583 else throw("Strict value is not equal to itself.")
509584 }
510585 else throw("Strict value is not equal to itself.")
511586 }
512587 else throw("Strict value is not equal to itself.")
513588 }
514589 }
515590
516591
517592
518-@Callable(aM)
519-func finishRebirth (ax) = aw(ax, toString(aM.caller), aM.payments[0], false)
593+@Callable(aU)
594+func finishRebirth (aA) = az(aA, toString(aU.caller), aU.payments[0], false, "", false)
520595
521596
522597
523-@Callable(aM)
524-func finishRebirthDouble (ax) = if (!(if ((size(aM.payments) == 2))
525- then (aM.payments[0].amount == 1)
598+@Callable(aU)
599+func finishRebirthDouble (aA) = if (!(if ((size(aU.payments) == 2))
600+ then (aU.payments[0].amount == 1)
526601 else false))
527602 then throw("Invalid payment")
528603 else {
529- let ad = value(aM.payments[0].assetId)
530- let bc = r(invoke(W(), "checkArtefactDetails", [toBase58String(ad)], nil))
531- if ((bc == bc))
532- then if ((bc == "ART-GIFT_DOUBL"))
533- then ([Burn(ad, 1)] ++ aw(ax, toString(aM.caller), aM.payments[1], true))
604+ let Z = value(aU.payments[0].assetId)
605+ let bk = r(invoke(W(), "checkArtefactDetails", [toBase58String(Z)], nil))
606+ if ((bk == bk))
607+ then if ((bk == "ART-GIFT_DOUBL"))
608+ then ([Burn(Z, 1)] ++ az(aA, toString(aU.caller), aU.payments[1], true, "", false))
534609 else throw("Error! Wrong item attached to double rewards!")
535610 else throw("Strict value is not equal to itself.")
536611 }
537612
538613
539-@Verifier(aq)
540-func bd () = if (a())
541- then sigVerify(aq.bodyBytes, aq.proofs[0], aq.senderPublicKey)
614+
615+@Callable(aU)
616+func finishRebirthItem (aA,bl) = if (if ((size(aU.payments) == 2))
617+ then (aU.payments[0].amount == 1)
618+ else false)
619+ then {
620+ let Z = value(aU.payments[0].assetId)
621+ let bk = r(invoke(W(), "checkArtefactDetails", [toBase58String(Z)], nil))
622+ if ((bk == bk))
623+ then if ((bk == "ART-HWERASE"))
624+ then ([Burn(Z, 1)] ++ az(aA, toString(aU.caller), aU.payments[1], false, bl, false))
625+ else if ((bk == "ART-HWRESCUE"))
626+ then ([Burn(Z, 1)] ++ az(aA, toString(aU.caller), aU.payments[1], false, "", true))
627+ else if ((bk == "ART-GIFT_DOUBL"))
628+ then ([Burn(Z, 1)] ++ az(aA, toString(aU.caller), aU.payments[1], true, "", false))
629+ else throw("Error! Wrong item attached ")
630+ else throw("Strict value is not equal to itself.")
631+ }
632+ else if ((size(aU.payments) == 1))
633+ then az(aA, toString(aU.caller), aU.payments[0], false, "", false)
634+ else throw("Invalid payments")
635+
636+
637+@Verifier(ar)
638+func bm () = if (a())
639+ then sigVerify(ar.bodyBytes, ar.proofs[0], ar.senderPublicKey)
542640 else {
543- let be = base58'6TdaXEfhnjYquvPf3yV7MFxt2CbgFmaqsvGwkKfXtKi4'
544- let bf = base58'7DsP2WaMLocbHuUxux7pbXRjTrrZ1TFQPsi5QumS3gr8'
545- let bg = base58'BpFWP3p3JgYrrP45xfrKzeMcWMEXoinj4FVPPkUiA8D3'
546- let bh = if (sigVerify(aq.bodyBytes, aq.proofs[0], be))
641+ let bn = base58'6TdaXEfhnjYquvPf3yV7MFxt2CbgFmaqsvGwkKfXtKi4'
642+ let bo = base58'7DsP2WaMLocbHuUxux7pbXRjTrrZ1TFQPsi5QumS3gr8'
643+ let bp = base58'BpFWP3p3JgYrrP45xfrKzeMcWMEXoinj4FVPPkUiA8D3'
644+ let bq = if (sigVerify(ar.bodyBytes, ar.proofs[0], bn))
547645 then 1
548- else if (sigVerify(aq.bodyBytes, aq.proofs[1], be))
646+ else if (sigVerify(ar.bodyBytes, ar.proofs[1], bn))
549647 then 1
550- else if (sigVerify(aq.bodyBytes, aq.proofs[2], be))
648+ else if (sigVerify(ar.bodyBytes, ar.proofs[2], bn))
551649 then 1
552650 else 0
553- let bi = if (sigVerify(aq.bodyBytes, aq.proofs[0], bf))
651+ let br = if (sigVerify(ar.bodyBytes, ar.proofs[0], bo))
554652 then 1
555- else if (sigVerify(aq.bodyBytes, aq.proofs[1], bf))
653+ else if (sigVerify(ar.bodyBytes, ar.proofs[1], bo))
556654 then 1
557- else if (sigVerify(aq.bodyBytes, aq.proofs[2], bf))
655+ else if (sigVerify(ar.bodyBytes, ar.proofs[2], bo))
558656 then 1
559657 else 0
560- let bj = if (sigVerify(aq.bodyBytes, aq.proofs[0], bg))
658+ let bs = if (sigVerify(ar.bodyBytes, ar.proofs[0], bp))
561659 then 1
562- else if (sigVerify(aq.bodyBytes, aq.proofs[1], bg))
660+ else if (sigVerify(ar.bodyBytes, ar.proofs[1], bp))
563661 then 1
564- else if (sigVerify(aq.bodyBytes, aq.proofs[2], bg))
662+ else if (sigVerify(ar.bodyBytes, ar.proofs[2], bp))
565663 then 1
566664 else 0
567- let bk = ((bh + bi) + bj)
568- let c = aq
569- (bk >= 2)
665+ let bt = ((bq + br) + bs)
666+ let c = ar
667+ (bt >= 2)
570668 }
571669

github/deemru/w8io/026f985 
211.48 ms