tx · 4AZezJTV9ZsKRAXtEB1C7cZRqsSfodsrDBLczBUP6zLf

3MsMP2pb2p8MDd6Rxb7XEXqqwEhE8ATfyai:  -0.02600000 Waves

2023.04.06 18:02 [2522857] smart account 3MsMP2pb2p8MDd6Rxb7XEXqqwEhE8ATfyai > SELF 0.00000000 Waves

{ "type": 13, "id": "4AZezJTV9ZsKRAXtEB1C7cZRqsSfodsrDBLczBUP6zLf", "fee": 2600000, "feeAssetId": null, "timestamp": 1680793436469, "version": 2, "chainId": 84, "sender": "3MsMP2pb2p8MDd6Rxb7XEXqqwEhE8ATfyai", "senderPublicKey": "2JEaBjtjvMoNGKZmL9QxYefa1VkMJM3vMW8rNvTs9R2H", "proofs": [ "44QzQQgruDgEiAMh1Y5g9xt9kKn93DhFGQBG2RHqLWDzJGoK7q52DmqQSsToUPK8FBjSv4nvjDe2HfVTYf1x6mRk" ], "script": "base64:BgK3KwgCEgASBAoCCAgSBAoCCAgSAwoBCBIKCggICAgICAgIARIDCgEIEgYKBAgICAgSBAoCCBgSAwoBCBIECgIIGBIDCgEIEgASAwoBGBIKCggICAgICAEICBIECgIIARIDCgEBEgMKAQESBAoCCAESBgoECAgICBIECgIICBIECgIICBIECgIICBIDCgEIEgMKAQgSAwoBCBIDCgEIEgQKAggIEgMKAQgSAwoBCBIDCgEIEgQKAggIEgMKAQgSAwoBCBIDCgEIIgZTQ0FMRTgiBU1VTFQ4IgZNVUxUMTIiB1NDQUxFMTgiBk1VTFQxOCIOUE9PTFdFSUdIVE1VTFQiDkdXWHZpcnR1YWxQT09MIgxsYWJlbFBvb2xzTHAiDWRlZmF1bHRTcHJlYWQiC3dhdmVzU3RyaW5nIhFkZWNpbWFsc011bHRQcmljZSIDU0VQIgVFTVBUWSIKUG9vbEFjdGl2ZSIPUG9vbFB1dERpc2FibGVkIhNQb29sTWF0Y2hlckRpc2FibGVkIgxQb29sU2h1dGRvd24iEmlkeEludGVybmFsQXNzZXRJZCIPaWR4UmVzdXRBY3Rpb25zIiBpZHhJZkFzc2V0SWRDYWxjdWxhdGlvblBlcmZvcm1lZCIOaWR4UG9vbEFkZHJlc3MiDWlkeFBvb2xTdGF0dXMiEGlkeFBvb2xMUEFzc2V0SWQiDWlkeEFtdEFzc2V0SWQiD2lkeFByaWNlQXNzZXRJZCIOaWR4QW10QXNzZXREY20iEGlkeFByaWNlQXNzZXREY20iDmlkeElBbXRBc3NldElkIhBpZHhJUHJpY2VBc3NldElkIg1pZHhMUEFzc2V0RGNtIgtpZHhQb29sVHlwZSITcG9vbExhYmVsV3hFbWlzc2lvbiIPdmFsaWRQb29sTGFiZWxzIhZrZXlBbGxvd2VkTHBTY3JpcHRIYXNoIhxrZXlBbGxvd2VkTHBTdGFibGVTY3JpcHRIYXNoIiFrZXlBbGxvd2VkTHBTdGFibGVBZGRvblNjcmlwdEhhc2giDHN3YXBDb250cmFjdCIQa2V5RmFjdG9yeUNvbmZpZyIPa2V5THBUb2tlbnNMaXN0IhFrZXlQb29sU2NyaXB0SGFzaCINa2V5TWF0Y2hlclB1YiIYa2V5TGVnYWN5RmFjdG9yeUNvbnRyYWN0Ig5rZXlMZWdhY3lQb29scyITa2V5TWFuYWdlclB1YmxpY0tleSIaa2V5UGVuZGluZ01hbmFnZXJQdWJsaWNLZXkiD2tleUFkbWluUHViS2V5cyIWa2V5QXNzZXRzU3RvcmVDb250cmFjdCIZa2V5Vm90aW5nRW1pc3Npb25Db250cmFjdCIOa2V5UHJpY2VBc3NldHMiEGtleVByaWNlRGVjaW1hbHMiE2tleUFsbFBvb2xzU2h1dGRvd24iFmtleU5leHRJbnRlcm5hbEFzc2V0SWQiD2tleVBvb2xUb1dlaWdodCILcG9vbEFkZHJlc3MiFmtleVBvb2xUb1dlaWdodEhpc3RvcnkiA251bSIfa2V5TWFwcGluZ3NJbnRlcm5hbDJiYXNlQXNzZXRJZCIRaW50ZXJuYWxCYXNlQXNzZXQiH2tleU1hcHBpbmdzQmFzZUFzc2V0MmludGVybmFsSWQiDGJhc2VBc3NldFN0ciINa2V5UG9vbENvbmZpZyITYW1vdW50QXNzZXRJbnRlcm5hbCIScHJpY2VBc3NldEludGVybmFsIiFrZXlQb29sT25lVG9rZW5PcGVyYXRpb25zRGlzYWJsZWQiDmFzc2V0c0ludGVybmFsIgskdDAzNzU0MzgxNiIla2V5QWxsUG9vbHNPbmVUb2tlbk9wZXJhdGlvbnNEaXNhYmxlZCIda2V5TWFwcGluZ0xwQXNzZXRUb1Bvb2xBc3NldHMiCmxwQXNzZXRTdHIiHWtleU1hcHBpbmdQb29sQXNzZXRzVG9McGFzc2V0IhhpbnRlcm5hbEFtb3VudEFzc2V0SWRTdHIiF2ludGVybmFsUHJpY2VBc3NldElkU3RyIg1rZXlQb29sU3ByZWFkIilrZXlNYXBwaW5nUG9vbENvbnRyYWN0QWRkcmVzc1RvUG9vbEFzc2V0cyITcG9vbENvbnRyYWN0QWRkcmVzcyIpa2V5TWFwcGluZ1Bvb2xBc3NldHNUb1Bvb2xDb250cmFjdEFkZHJlc3MiH2tleU1hcHBpbmdQb29sQ29udHJhY3RUb0xQQXNzZXQiKmtleU1hcHBpbmdQb29sTFBBc3NldFRvUG9vbENvbnRyYWN0QWRkcmVzcyINa2V5V3hFbWlzc2lvbiINYW1vdW50QXNzZXRJZCIMcHJpY2VBc3NldElkIghrZXlJbkZlZSIPa2V5SW5GZWVEZWZhdWx0IglrZXlPdXRGZWUiEGtleU91dEZlZURlZmF1bHQiFmtleVNraXBPcmRlclZhbGlkYXRpb24iEWtleUNoYW5nZUFtcERlbGF5IhFrZXlDaGFuZ2VBbXBEZWx0YSISa2V5Q2hhbmdlQW1wVGFyZ2V0IhVrZXlTV2F2ZXNQcm94eUFkZHJlc3MiEGtleVNXYXZlc0Fzc2V0SWQiF2tleVN0YWtpbmdQcm9maXRBZGRyZXNzIg5rZXlMZWFzZWRSYXRpbyIHYXNzZXRJZCIVa2V5TGVhc2VkUmF0aW9EZWZhdWx0IhdrZXlMZWFzZWRSYXRpb1RvbGVyYW5jZSINa2V5TWluQmFsYW5jZSIUa2V5TWluQmFsYW5jZURlZmF1bHQiD2dldFN0cmluZ09yRmFpbCIDa2V5IhBnZXRCb29sZWFuT3JGYWlsIgxnZXRJbnRPckZhaWwiDHBhcnNlQXNzZXRJZCIFaW5wdXQiGElkeEZhY3RvcnlDZmdTdGFraW5nRGFwcCIZSWR4RmFjdG9yeUNmZ0Jvb3N0aW5nRGFwcCIUSWR4RmFjdG9yeUNmZ0lkb0RhcHAiFUlkeEZhY3RvcnlDZmdUZWFtRGFwcCIZSWR4RmFjdG9yeUNmZ0VtaXNzaW9uRGFwcCIVSWR4RmFjdG9yeUNmZ1Jlc3REYXBwIhlJZHhGYWN0b3J5Q2ZnU2xpcHBhZ2VEYXBwIhRJZHhGYWN0b3J5Q2ZnRGFvRGFwcCIaSWR4RmFjdG9yeUNmZ01hcmtldGluZ0RhcHAiGklkeEZhY3RvcnlDZmdHd3hSZXdhcmREYXBwIhZJZHhGYWN0b3J5Q2ZnQmlyZHNEYXBwIhhnZXRCb29zdGluZ0FkZHJlc3NPckZhaWwiCmZhY3RvcnlDZmciGGdldEVtaXNzaW9uQWRkcmVzc09yRmFpbCIXZ2V0U3Rha2luZ0FkZHJlc3NPckZhaWwiGWdldEd3eFJld2FyZEFkZHJlc3NPckZhaWwiDmdldFByaWNlQXNzZXRzIgckbWF0Y2gwIgFzIhZtYW5hZ2VyUHVibGljS2V5T3JVbml0Ih1wZW5kaW5nTWFuYWdlclB1YmxpY0tleU9yVW5pdCIVcGVybWlzc2lvbkRlbmllZEVycm9yIgl0ZXN0RXJyb3IiCG11c3RUaGlzIgFpIgttdXN0TWFuYWdlciICcGsiEGRhdGFGYWN0b3J5Q2ZnVjMiDnN0YWtpbmdBZGRyZXNzIg9ib29zdGluZ0FkZHJlc3MiC2lkb0NvbnRyYWN0Igx0ZWFtQ29udHJhY3QiEGVtaXNzaW9uQ29udHJhY3QiDHJlc3RDb250cmFjdCIQc2xpcHBhZ2VDb250cmFjdCILZGFvQ29udHJhY3QiEW1hcmtldGluZ0NvbnRyYWN0IhJnd3hSZXdhcmRzQ29udHJhY3QiDWJpcmRzQ29udHJhY3QiDmRhdGFGYWN0b3J5Q2ZnIgtkYXRhUG9vbENmZyIKcG9vbFN0YXR1cyIJbHBBc3NldElkIg5hbW91bnRBc3NldFN0ciINcHJpY2VBc3NldFN0ciITYW1vdW50QXNzZXREZWNpbWFscyIScHJpY2VBc3NldERlY2ltYWxzIhVhbW91bnRBc3NldEludGVybmFsSWQiFHByaWNlQXNzZXRJbnRlcm5hbElkIg9scEFzc2V0RGVjaW1hbHMiCHBvb2xUeXBlIhVkYXRhTWFwcGluZ1Bvb2xBc3NldHMiFmludGVybmFsQW1vdW50QXNzZXRTdHIiFWludGVybmFsUHJpY2VBc3NldFN0ciINZ2V0UG9vbENvbmZpZyIKcG9vbEFzc2V0cyIaZ2V0SW50ZXJuYWxBc3NldElkT3JDcmVhdGUiCmFzc2V0SWRTdHIiC2luY3JlbWVudG9yIg9pbnRlcm5hbEFzc2V0SWQiGGN1cnJlbnRJbmRleE9mSW50ZXJuYWxJZCIGcmVzdWx0IhJuZXdJbnRlcm5hbEFzc2V0SWQiCW11c3RBZG1pbiIIYWRtaW5QS3MiCWlzTWFuYWdlciIWaW50T3JEZWZhdWx0T3JGYWxsYmFjayIKa2V5RGVmYXVsdCINdmFsdWVGYWxsYmFjayIScG9vbEV4aXN0c0ludGVybmFsIgRhbUFzIgRwckFzIgNjZmciCmNmZ1JldmVyc2UiBmV4aXN0cyINJHQwMTQzMDUxNDYwOSIBciIHJG1hdGNoMSICcmQiCmlzTGVhc2FibGUiC2xlYXNlZFJhdGlvIgptaW5CYWxhbmNlIgFiIgJiZCINJHQwMTQ4NzUxNTA5OSIMcHJveHlBZGRyZXNzIgxwcm94eUFzc2V0SWQiDHByb3h5UmF0ZU11bCIUc3Rha2luZ1Byb2ZpdEFkZHJlc3MiBmFzc2V0MSIGYXNzZXQyIglhc3NldE51bTEiCWFzc2V0TnVtMiICZWUiA3JlcyICbHAiD3N0YWtpbmdDb250cmFjdCIQYm9vc3RpbmdDb250cmFjdCIQc2xwaXBhZ2VDb250cmFjdCINcHJpY2VEZWNpbWFscyILY2hlY2tDYWxsZXIiEG1hdGhjaGVyUHViNThTdHIiCm1hdGhjZXJQdWIiFWxlZ2FjeUZhY3RvcnlDb250cmFjdCILbGVnYWN5UG9vbHMiE2Fzc2V0c1N0b3JlQ29udHJhY3QiFnZvdGluZ0VtaXNzaW9uQ29udHJhY3QiC3ByaWNlQXNzZXRzIgVjaGVrcyIXcGVuZGluZ01hbmFnZXJQdWJsaWNLZXkiFWNoZWNrTWFuYWdlclB1YmxpY0tleSICcG0iBWhhc1BNIgdjaGVja1BNIgxhZG1pblB1YktleXMiC2xwQXNzZXROYW1lIgxscEFzc2V0RGVzY3IiCnBvb2xXZWlnaHQiBGxvZ28iF2ludGVybmFsQW1vdW50QXNzZXREYXRhIhVpbnRlcm5hbEFtb3VudEFzc2V0SWQiFmludGVybmFsUHJpY2VBc3NldERhdGEiFGludGVybmFsUHJpY2VBc3NldElkIhVwb29sQWNjb3VudFNjcmlwdEhhc2giHGV0aGFsb25Qb29sQWNjb3VudFNjcmlwdEhhc2giCnBvb2xFeGlzdHMiD3Bvb2xDb25maWdWYWx1ZSIUYW1vdW50QXNzZXRzRGVjaW1hbHMiE3ByaWNlQXNzZXRzRGVjaW1hbHMiEmxwQXNzZXRJc3N1ZUFjdGlvbiIMbHBBc3NldElkU3RyIhhwb29sQWN0aXZhdGVJbnZva2VSZXN1bHQiGGNyZWF0ZU9yVXBkYXRlTHBBc3NldEludiISYWRkUG9vbHNMcExhYmVsSW52IgpzZXRMb2dvSW52IhBhZGRBc3NldHNMaW5rSW52IhtpbmNyZWFzZUFzc2V0UG9vbHNOdW1iZXJJbnYiCW5ld1N0YXR1cyIKcG9vbENvbmZpZyIKbHBBc3NldERjbSIMYW1vdW50VG9FbWl0IgZjYWxsZXIiDG9yaWdpbkNhbGxlciIQbHBBc3NldFJlcXVlc3RlZCIHbHBBc3NldCIMYW1vdW50VG9CdXJuIgdwYXltZW50Ig1wYXltZW50QW1vdW50Ig9pbkFtb3VudEFzc2V0SWQiGmxwQXNzZXRSZXF1ZXN0ZWRGb3JCdXJuaW5nIgVzaGFyZSINcG9vbFdlaWdodEtleSIMZ3d4V2VpZ2h0S2V5Iglnd3hXZWlnaHQiDXBvb2xXZWlnaHROZXciEW9uTW9kaWZ5V2VpZ2h0SW52IhVnd3hWaXJ0dWFsUG9vbEFjdGlvbnMiFHBvb2xXZWlnaHRIaXN0b3J5S2V5Ihdwb29sV2VpZ2h0SGlzdG9yeU9yVW5pdCIYcG9vbFdlaWdodEhpc3RvcnlBY3Rpb25zIg5idGNQb29sQWRkcmVzcyIOZXRoUG9vbEFkZHJlc3MiEWV0aEJ0Y1Bvb2xBZGRyZXNzIhN1c2RjVXNkdFBvb2xBZGRyZXNzIg9ldGhCdGNXZWlnaHROZXciEXVzZGNVc2R0V2VpZ2h0TmV3Ig93ZWlnaHREZWNyZW1lbnQiC3N0YWtpbmdEYXBwIg1nd3hSZXdhcmREYXBwIgxidGNXZWlnaHRLRVkiDGV0aFdlaWdodEtFWSIPZXRoQnRjV2VpZ2h0S0VZIhF1c2RjVXNkdFdlaWdodEtFWSIJYnRjV2VpZ2h0IglldGhXZWlnaHQiDGJ0Y1dlaWdodE5ldyIMZXRoV2VpZ2h0TmV3Ig9idGNMcEFzc2V0SWRTdHIiD2V0aExwQXNzZXRJZFN0ciISZXRoQnRjTHBBc3NldElkU3RyIhR1c2RjVXNkdExwQXNzZXRJZFN0ciIRb25Nb2RpZnlXZWlnaHRCdGMiEW9uTW9kaWZ5V2VpZ2h0RXRoIhRvbk1vZGlmeVdlaWdodEV0aEJ0YyIWb25Nb2RpZnlXZWlnaHRVc2RjVXNkdCIJaGF2ZUxhYmVsIhRjaGVja1ByaWNlQXNzZXRzU2l6ZSICY2IiA2FjYyIKcHJpY2VBc3NldCIHYWN0aW9ucyICJGwiAiRzIgUkYWNjMCIFJGYwXzEiAiRhIgIkaSIFJGYwXzIiHnBvb2xPbmVUb2tlbk9wZXJhdGlvbnNEaXNhYmxlZCIiYWxsUG9vbHNPbmVUb2tlbk9wZXJhdGlvbnNEaXNhYmxlZCIDZmVlIhBhbW91bnRBc3NldElkU3RyIg9wcmljZUFzc2V0SWRTdHIiG2Ftb3VudEFzc2V0SW50ZXJuYWxJZE9wdGlvbiIacHJpY2VBc3NldEludGVybmFsSWRPcHRpb24iGXBvb2xDb250cmFjdEFkZHJlc3NPcHRpb24iD2xwQXNzZXRJZE9wdGlvbiIIcG9vbEluZm8iBWRlbGF5IgVkZWx0YSIGdGFyZ2V0IgZ3ZWlnaHQiAnR4IgZ2ZXJpZnkiD3RhcmdldFB1YmxpY0tleXYAAWEACAABYgCAwtcvAAFjAICglKWNHQABZAASAAFlCQC2AgEAgICQu7rWrfANAAFmBQFiAAFnAg5HV1h2aXJ0dWFsUE9PTAABaAIIUE9PTFNfTFAAAWkAgIl6AAFqAgVXQVZFUwABawkAaAIJAGgCAGQA6AcA6AcAAWwCAl9fAAFtAgAAAW4AAQABbwACAAFwAAMAAXEABAABcgABAAFzAAIAAXQAAwABdQABAAF2AAIAAXcAAwABeAAEAAF5AAUAAXoABgABQQAHAAFCAAgAAUMACQABRAAKAAFFAAsAAUYCC1dYX0VNSVNTSU9OAAFHCQDMCAIFAUYFA25pbAEBSAACFyVzX19hbGxvd2VkTHBTY3JpcHRIYXNoAQFJAAIdJXNfX2FsbG93ZWRMcFN0YWJsZVNjcmlwdEhhc2gBAUoAAiIlc19fYWxsb3dlZExwU3RhYmxlQWRkb25TY3JpcHRIYXNoAQFLAAIQJXNfX3N3YXBDb250cmFjdAEBTAACESVzX19mYWN0b3J5Q29uZmlnAQFNAAIQJXNfX2xwVG9rZW5zTGlzdAEBTgACFiVzJXNfX3Bvb2xfX3NjcmlwdEhhc2gBAU8AAhglcyVzX19tYXRjaGVyX19wdWJsaWNLZXkBAVAAAhklc19fbGVnYWN5RmFjdG9yeUNvbnRyYWN0AQFRAAIPJXNfX2xlZ2FjeVBvb2xzAQFSAAIUJXNfX21hbmFnZXJQdWJsaWNLZXkBAVMAAhslc19fcGVuZGluZ01hbmFnZXJQdWJsaWNLZXkBAVQAAhAlc19fYWRtaW5QdWJLZXlzAQFVAAIXJXNfX2Fzc2V0c1N0b3JlQ29udHJhY3QBAVYAAholc19fdm90aW5nRW1pc3Npb25Db250cmFjdAEBVwAJALkJAgkAzAgCAgIlcwkAzAgCAgtwcmljZUFzc2V0cwUDbmlsBQFsAQFYAAIRJXNfX3ByaWNlRGVjaW1hbHMBAVkAAgwlc19fc2h1dGRvd24BAVoAAhclc19fbmV4dEludGVybmFsQXNzZXRJZAECYWEBAmFiCQCsAgICEiVzJXNfX3Bvb2xXZWlnaHRfXwUCYWIBAmFjAgJhYgJhZAkArAICCQCsAgIJAKwCAgISJXMlc19fcG9vbFdlaWdodF9fBQJhYgICX18JAKQDAQUCYWQBAmFlAQJhZgkArAICAiglcyVzJWRfX21hcHBpbmdzX19pbnRlcm5hbDJiYXNlQXNzZXRJZF9fCQCkAwEFAmFmAQJhZwECYWgJAKwCAgIoJXMlcyVzX19tYXBwaW5nc19fYmFzZUFzc2V0MmludGVybmFsSWRfXwUCYWgBAmFpAgJhagJhawkArAICCQCsAgIJAKwCAgkArAICAgglZCVkJXNfXwUCYWoCAl9fBQJhawIIX19jb25maWcBAmFsAQJhbQQCYW4FAmFtBAJhaggFAmFuAl8xBAJhawgFAmFuAl8yCQC5CQIJAMwIAgIGJWQlZCVzCQDMCAIJAKQDAQUCYWoJAMwIAgkApAMBBQJhawkAzAgCAhpvbmVUb2tlbk9wZXJhdGlvbnNEaXNhYmxlZAUDbmlsBQFsAQJhbwAJALkJAgkAzAgCAgIlcwkAzAgCAhpvbmVUb2tlbk9wZXJhdGlvbnNEaXNhYmxlZAUDbmlsBQFsAQJhcAECYXEJAKwCAgkArAICAgglcyVzJXNfXwUCYXECGF9fbWFwcGluZ3NfX2xwQXNzZXQyUG9vbAECYXICAmFzAmF0CQCsAgIJAKwCAgkArAICCQCsAgICCiVkJWQlcyVzX18FAmFzAgJfXwUCYXQCHl9fbWFwcGluZ3NfX1Bvb2xBc3NldHMyTHBBc3NldAECYXUBAmFiCQCsAgICDiVzJXNfX3NwcmVhZF9fBQJhYgECYXYBAmF3CQCsAgIJAKwCAgIIJXMlcyVzX18FAmF3AiNfX21hcHBpbmdzX19wb29sQ29udHJhY3QyUG9vbEFzc2V0cwECYXgCAmFzAmF0CQCsAgIJAKwCAgkArAICCQCsAgICCiVkJWQlcyVzX18JAKQDAQUCYXMCAl9fCQCkAwEFAmF0AiNfX21hcHBpbmdzX19wb29sQXNzZXRzMlBvb2xDb250cmFjdAECYXkBAmF3CQCsAgIJAKwCAgIIJXMlcyVzX18FAmF3AiBfX21hcHBpbmdzX19wb29sQ29udHJhY3QyTHBBc3NldAECYXoBAmFxCQCsAgIJAKwCAgIIJXMlcyVzX18FAmFxAiBfX21hcHBpbmdzX19scEFzc2V0MlBvb2xDb250cmFjdAECYUECAmFCAmFDCQCsAgIJAKwCAgkArAICAhQlcyVzJXNfX3d4RW1pc3Npb25fXwUCYUICAl9fBQJhQwECYUQBAmFiCQCsAgICDSVzJXNfX2luRmVlX18FAmFiAQJhRQACECVzX19pbkZlZURlZmF1bHQBAmFGAQJhYgkArAICAg4lcyVzX19vdXRGZWVfXwUCYWIBAmFHAAIRJXNfX291dEZlZURlZmF1bHQBAmFIAQJhYgkArAICAhslcyVzX19za2lwT3JkZXJWYWxpZGF0aW9uX18FAmFiAQJhSQECYWIJAKwCAgIWJXMlc19fY2hhbmdlQW1wRGVsYXlfXwUCYWIBAmFKAQJhYgkArAICAhYlcyVzX19jaGFuZ2VBbXBEZWx0YV9fBQJhYgECYUsBAmFiCQCsAgICFyVzJXNfX2NoYW5nZUFtcFRhcmdldF9fBQJhYgECYUwAAhYlc19fc1dhdmVzUHJveHlBZGRyZXNzAQJhTQACESVzX19zV2F2ZXNBc3NldElkAQJhTgACGCVzX19zdGFraW5nUHJvZml0QWRkcmVzcwECYU8CAmFiAmFQCQC5CQIJAMwIAgIGJXMlcyVzCQDMCAICC2xlYXNlZFJhdGlvCQDMCAIFAmFiCQDMCAIFAmFQBQNuaWwFAWwBAmFRAQJhUAkAuQkCCQDMCAICBCVzJXMJAMwIAgISbGVhc2VkUmF0aW9EZWZhdWx0CQDMCAIFAmFQBQNuaWwFAWwBAmFSAgJhYgJhUAkAuQkCCQDMCAICBiVzJXMlcwkAzAgCAhRsZWFzZWRSYXRpb1RvbGVyYW5jZQkAzAgCBQJhYgkAzAgCBQJhUAUDbmlsBQFsAQJhUwICYWICYVAJALkJAgkAzAgCAgYlcyVzJXMJAMwIAgIKbWluQmFsYW5jZQkAzAgCBQJhYgkAzAgCBQJhUAUDbmlsBQFsAQJhVAECYVAJALkJAgkAzAgCAgQlcyVzCQDMCAICEW1pbkJhbGFuY2VEZWZhdWx0CQDMCAIFAmFQBQNuaWwFAWwBAmFVAQJhVgkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIFBHRoaXMFAmFWCQCsAgICFU5vIGRhdGEgZm9yIHRoaXMua2V5PQUCYVYBAmFXAQJhVgkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCbCAIFBHRoaXMFAmFWCQCsAgICFU5vIGRhdGEgZm9yIHRoaXMua2V5PQUCYVYBAmFYAQJhVgkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCaCAIFBHRoaXMFAmFWCQCsAgICFU5vIGRhdGEgZm9yIHRoaXMua2V5PQUCYVYBAmFZAQJhWgMJAAACBQJhWgUBagUEdW5pdAkA2QQBBQJhWgACYmEAAQACYmIAAgACYmMAAwACYmQABAACYmUABQACYmYABgACYmcABwACYmgACAACYmkACQACYmoACgACYmsACwECYmwBAmJtCQERQGV4dHJOYXRpdmUoMTA2MikBCQCRAwIFAmJtBQJiYgECYm4BAmJtCQERQGV4dHJOYXRpdmUoMTA2MikBCQCRAwIFAmJtBQJiZQECYm8BAmJtCQERQGV4dHJOYXRpdmUoMTA2MikBCQCRAwIFAmJtBQJiYQECYnABAmJtCQERQGV4dHJOYXRpdmUoMTA2MikBCQCRAwIFAmJtBQJiagECYnEABAJicgkAoggBCQEBVwADCQABAgUCYnICBlN0cmluZwQCYnMFAmJyAwkAAAIJALECAQUCYnMAAAUDbmlsCQC1CQIFAmJzBQFsBQNuaWwBAmJ0AAQCYnIJAKIIAQkBAVIAAwkAAQIFAmJyAgZTdHJpbmcEAmJzBQJicgkA2QQBBQJicwMJAAECBQJicgIEVW5pdAUEdW5pdAkAAgECC01hdGNoIGVycm9yAQJidQAEAmJyCQCiCAEJAQFTAAMJAAECBQJicgIGU3RyaW5nBAJicwUCYnIJANkEAQUCYnMDCQABAgUCYnICBFVuaXQFBHVuaXQJAAIBAgtNYXRjaCBlcnJvcgACYnYJAAIBAhFQZXJtaXNzaW9uIGRlbmllZAACYncJAAIBAg9UZXN0IGVycm9yIGhlcmUBAmJ4AQJieQMJAAACCAUCYnkGY2FsbGVyBQR0aGlzBgUCYnYBAmJ6AQJieQQCYnIJAQJidAADCQABAgUCYnICCkJ5dGVWZWN0b3IEAmJBBQJicgMJAAACCAUCYnkPY2FsbGVyUHVibGljS2V5BQJiQQYFAmJ2AwkAAQIFAmJyAgRVbml0CQECYngBBQJieQkAAgECC01hdGNoIGVycm9yAQJiQgsCYkMCYkQCYkUCYkYCYkcCYkgCYkkCYkoCYksCYkwCYk0JALkJAgkAzAgCAhYlcyVzJXMlcyVzJXMlcyVzJXMlcyVzCQDMCAIFAmJDCQDMCAIFAmJECQDMCAIFAmJFCQDMCAIFAmJGCQDMCAIFAmJHCQDMCAIFAmJICQDMCAIFAmJJCQDMCAIFAmJKCQDMCAIFAmJLCQDMCAIFAmJMCQDMCAIFAmJNBQNuaWwFAWwBAmJOBwJiQwJiRAJiRQJiRgJiRwJiSAJiSQkAuQkCCQDMCAICDCVzJXMlcyVzJXMlcwkAzAgCBQJiQwkAzAgCBQJiRAkAzAgCBQJiRQkAzAgCBQJiRgkAzAgCBQJiRwkAzAgCBQJiSAkAzAgCBQJiSQUDbmlsBQFsAQJiTwsCYWICYlACYlECYlICYlMCYlQCYlUCYlYCYlcCYlgCYlkJALkJAgkAzAgCAhYlcyVkJXMlcyVzJWQlZCVkJWQlZCVzCQDMCAIFAmFiCQDMCAIFAmJQCQDMCAIFAmJRCQDMCAIFAmJSCQDMCAIFAmJTCQDMCAIJAKQDAQUCYlQJAMwIAgkApAMBBQJiVQkAzAgCCQCkAwEFAmJWCQDMCAIJAKQDAQUCYlcJAMwIAgkApAMBBQJiWAkAzAgCBQJiWQUDbmlsBQFsAQJiWgICY2ECY2IJALkJAgkAzAgCAgQlZCVkCQDMCAIJAKQDAQUCY2EJAMwIAgkApAMBBQJjYgUDbmlsBQFsAQJjYwECYWIEAmNkCQC1CQIJAQJhVQEJAQJhdgEFAmFiBQFsBAJhagkAkQMCBQJjZAABBAJhawkAkQMCBQJjZAACCQC1CQIJAQJhVQEJAQJhaQIFAmFqBQJhawUBbAECY2UCAmNmAmNnBAJjaAkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQECYWcBBQJjZgAABAJjaQkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQEBWgAAAAQCY2oDCQAAAgUCY2gAAAQCY2sJAGQCBQJjaQUCY2cJAJUKAwUCY2sJAMwIAgkBDEludGVnZXJFbnRyeQIJAQFaAAUCY2sJAMwIAgkBDEludGVnZXJFbnRyeQIJAQJhZwEFAmNmBQJjawkAzAgCCQELU3RyaW5nRW50cnkCCQECYWUBBQJjawUCY2YFA25pbAYJAJUKAwUCY2gFA25pbAcFAmNqAQJjbAECYnkEAmNtCQC1CQIJAQt2YWx1ZU9yRWxzZQIJAKIIAQkBAVQABQFtBQFsAwkBD2NvbnRhaW5zRWxlbWVudAIFAmNtCQDYBAEIBQJieQ9jYWxsZXJQdWJsaWNLZXkGBAJjbgkBAmJ6AQUCYnkDCQAAAgUCY24FAmNuBgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgECY28DAmFWAmNwAmNxCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMFAmFWCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMFAmNwBQJjcQECY3ICAmFCAmFDBAJhagkAnwgBCQECYWcBBQJhQgQCYWsJAJ8IAQkBAmFnAQUCYUMDAwkAAAIFAmFqBQR1bml0BgkAAAIFAmFrBQR1bml0BwQCY3MJAKQDAQkBBXZhbHVlAQUCYWoEAmN0CQCkAwEJAQV2YWx1ZQEFAmFrBAJjdQkAoggBCQECYWkCBQJjcwUCY3QEAmN2CQCiCAEJAQJhaQIFAmN0BQJjcwQCY3cDCQECIT0CBQJjdQUEdW5pdAYJAQIhPQIFAmN2BQR1bml0BQJjdyICYnkBF2dldFN3YXBDb250cmFjdFJFQURPTkxZAAkAlAoCBQNuaWwJAQJhVQEJAQFLAAJieQEaZ2V0UG9vbExlYXNlQ29uZmlnUkVBRE9OTFkCAmFiAmFQBAJjeAQCYnIJAJoIAgUEdGhpcwkBAmFPAgUCYWIFAmFQAwkAAQIFAmJyAgNJbnQEAmN5BQJicgkAlAoCBgkAlwMBCQDMCAIAZAkAzAgCCQCWAwEJAMwIAgAACQDMCAIFAmN5BQNuaWwFA25pbAQCY3oJAJoIAgUEdGhpcwkBAmFRAQUCYVADCQABAgUCY3oCA0ludAQCY0EFAmN6CQCUCgIGCQCXAwEJAMwIAgBkCQDMCAIJAJYDAQkAzAgCAAAJAMwIAgUCY0EFA25pbAUDbmlsCQCUCgIHAAAEAmNCCAUCY3gCXzEEAmNDCAUCY3gCXzIEAmNEBAJicgkAmggCBQR0aGlzCQECYVMCBQJhYgUCYVADCQABAgUCYnICA0ludAQCY0UFAmJyCQCWAwEJAMwIAgAACQDMCAIFAmNFBQNuaWwEAmN6CQCaCAIFBHRoaXMJAQJhVAEFAmFQAwkAAQIFAmN6AgNJbnQEAmNGBQJjegkAlgMBCQDMCAIAAAkAzAgCBQJjRgUDbmlsAAAEAmNHAwkAAAIFAmFQAgVXQVZFUwkAlQoDCQELdmFsdWVPckVsc2UCCQCdCAIFBHRoaXMJAQJhTAACAAkAnQgCBQR0aGlzCQELdmFsdWVPckVsc2UCCQECYU0AAgAFAWMJAJUKAwIAAgAAAAQCY0gIBQJjRwJfMQQCY0kIBQJjRwJfMgQCY0oIBQJjRwJfMwQCY0sJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUEdGhpcwkBAmFOAAIACQCUCgIFA25pbAkAmQoHBQJjQgUCY0MFAmNEBQJjSAUCY0kFAmNKBQJjSwJieQEgZ2V0THBBc3NldEZyb21Qb29sQXNzZXRzUkVBRE9OTFkCAmNMAmNNAwMJAAACBQJjTAIsOExRVzhmN1A1ZDVQWk03R3RaRUJnYXFSUEdTelMzRGZQdWlYclVSSjRBSlMJAAACBQJjTQIFV0FWRVMHCQCUCgIFA25pbAUEdW5pdAQCY04JAQV2YWx1ZQEJAJoIAgUEdGhpcwkBAmFnAQUCY0wEAmNPCQEFdmFsdWUBCQCaCAIFBHRoaXMJAQJhZwEFAmNNBAJjUAkAnQgCBQR0aGlzCQECYXICCQCkAwEFAmNOCQCkAwEFAmNPBAJjUQMJAAACBQJjUAUEdW5pdAUEdW5pdAkAsAICCQEFdmFsdWUBBQJjUAAECQCUCgIFA25pbAUCY1ECYnkBIWdldFBvb2xBZGRyZXNzRnJvbUxwQXNzZXRSRUFET05MWQECY1IJAJQKAgUDbmlsCQELdmFsdWVPckVsc2UCCQCdCAIFBHRoaXMJAQJhegEFAmNSAgACYnkBC2NvbnN0cnVjdG9yCAJjUwJjVAJiRQJiRgJiRwJiSAJjVQJjVgQCY1cJAQJiegEFAmJ5AwkAAAIFAmNXBQJjVwkAzAgCCQELU3RyaW5nRW50cnkCCQEBTAAJAQJiTgcFAmNTBQJjVAUCYkUFAmJGBQJiRwUCYkgFAmNVCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEBWAAFAmNWBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYnkBDWNvbnN0cnVjdG9yVjIBAmNYBAJjVwkBAmJ6AQUCYnkDCQAAAgUCY1cFAmNXBAJjWQkApwgBCQDZBAEFAmNYAwkAAAIFAmNZBQJjWQkAzAgCCQELU3RyaW5nRW50cnkCCQEBTwAFAmNYBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYnkBDWNvbnN0cnVjdG9yVjMEAmJKAmJLAmJMAmJNBAJjVwkBAmJ6AQUCYnkDCQAAAgUCY1cFAmNXBAJibQkAtQkCCQECYVUBCQEBTAAFAWwJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAUwACQECYkILCQCRAwIFAmJtAAEJAJEDAgUCYm0AAgkAkQMCBQJibQADCQCRAwIFAmJtAAQJAJEDAgUCYm0ABQkAkQMCBQJibQAGCQCRAwIFAmJtAAcFAmJKBQJiSwUCYkwFAmJNBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYnkBDWNvbnN0cnVjdG9yVjQCAmNaAmRhBAJjVwkBAmJ6AQUCYnkDCQAAAgUCY1cFAmNXCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQFQAAUCY1oJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAVEACQC5CQIFAmRhBQFsBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYnkBDWNvbnN0cnVjdG9yVjUBAmRiBAJjVwkBAmJ6AQUCYnkDCQAAAgUCY1cFAmNXCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQFVAAUCZGIFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJieQENY29uc3RydWN0b3JWNgICZGMCZGQEAmRlCQDMCAIJAQJiegEFAmJ5CQDMCAIDCQECIT0CCQCmCAEFAmRjBQR1bml0BgIoaW52YWxpZCB2b3RpbmcgZW1pc3Npb24gY29udHJhY3QgYWRkcmVzcwUDbmlsAwkAAAIFAmRlBQJkZQkAzAgCCQELU3RyaW5nRW50cnkCCQEBVgAFAmRjCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQFXAAkAuQkCBQJkZAUBbAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJ5AQpzZXRNYW5hZ2VyAQJkZgQCY1cJAQJiegEFAmJ5AwkAAAIFAmNXBQJjVwQCZGcJANkEAQUCZGYDCQAAAgUCZGcFAmRnCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQFTAAUCZGYFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJieQEOY29uZmlybU1hbmFnZXIABAJkaAkBAmJ1AAQCZGkDCQEJaXNEZWZpbmVkAQUCZGgGCQACAQISTm8gcGVuZGluZyBtYW5hZ2VyAwkAAAIFAmRpBQJkaQQCZGoDCQAAAggFAmJ5D2NhbGxlclB1YmxpY0tleQkBBXZhbHVlAQUCZGgGCQACAQIbWW91IGFyZSBub3QgcGVuZGluZyBtYW5hZ2VyAwkAAAIFAmRqBQJkagkAzAgCCQELU3RyaW5nRW50cnkCCQEBUgAJANgEAQkBBXZhbHVlAQUCZGgJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAVMABQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYnkBCXNldEFkbWlucwECZGsEAmNXCQECYnoBBQJieQMJAAACBQJjVwUCY1cJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAVQACQC5CQIFAmRrBQFsBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYnkBD2FjdGl2YXRlTmV3UG9vbAgCYWICYlICYlMCZGwCZG0CZG4CYlkCZG8EAmNXCQECY2wBBQJieQMJAAACBQJjVwUCY1cDCQEJaXNEZWZpbmVkAQkAoggBCQECYXYBBQJhYgkAAgEJAKwCAgkArAICAg1Qb29sIGFkZHJlc3MgBQJhYgIUIGFscmVhZHkgcmVnaXN0ZXJlZC4EAmRwCQECY2UCBQJiUgABBAJkcQgFAmRwAl8xBAJkcgkBAmNlAgUCYlMDCAUCZHACXzMAAgABBAJkcwgFAmRyAl8xBAJkdAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQDxBwEJARFAZXh0ck5hdGl2ZSgxMDYyKQEFAmFiCQCsAgICKU5vIHNjcmlwdCBoYXMgYmVlbiBmb3VuZCBvbiBwb29sIGFjY291bnQgBQJhYgQCZHUJARFAZXh0ck5hdGl2ZSgxMDU3KQEJAQFOAAQCZHYJAQJjcgIFAmJSBQJiUwMFAmR2CQACAQkArAICCQCsAgIJAKwCAgkArAICAgVQb29sIAUCYlICAS8FAmJTAhwgaGFzIGFscmVhZHkgYmVlbiBhY3RpdmF0ZWQuBAJkdwkBBXZhbHVlAQkAnQgCBQR0aGlzCQECYWkCCQCkAwEFAmRxCQCkAwEFAmRzBAJkeAMJAAACBQJiUgIFV0FWRVMFAWsJAGwGAAoAAAgJAQV2YWx1ZQEJAOwHAQkA2QQBBQJiUghkZWNpbWFscwAAAAAFBERPV04EAmR5AwkAAAIFAmJTAgVXQVZFUwUBawkAbAYACgAACAkBBXZhbHVlAQkA7AcBCQDZBAEFAmJTCGRlY2ltYWxzAAAAAAUERE9XTgQCZHoJAMIIBQUCZGwFAmRtAAEACAYEAmJRCQC4CAEFAmR6BAJkQQkA2AQBBQJiUQQCZEIJAPwHBAkBEUBleHRyTmF0aXZlKDEwNjIpAQUCYWICCGFjdGl2YXRlCQDMCAIFAmJSCQDMCAIFAmJTBQNuaWwFA25pbAMJAAACBQJkQgUCZEIDCQECIT0CBQJkQgIHc3VjY2VzcwkAAgECI1Bvb2wgaW5pdGlhbGlzYXRpb24gZXJyb3IgaGFwcGVuZWQuBAJkYgkBEUBleHRyTmF0aXZlKDEwNjIpAQkBAmFVAQkBAVUABAJkQwkA/AcEBQJkYgIOY3JlYXRlT3JVcGRhdGUJAMwIAgUCZEEJAMwIAgUCZGwJAMwIAgcFA25pbAUDbmlsAwkAAAIFAmRDBQJkQwQCZEQJAPwHBAUCZGICCGFkZExhYmVsCQDMCAIFAmRBCQDMCAIFAWgFA25pbAUDbmlsAwkAAAIFAmREBQJkRAQCZEUJAPwHBAUCZGICB3NldExvZ28JAMwIAgUCZEEJAMwIAgUCZG8FA25pbAUDbmlsAwkAAAIFAmRFBQJkRQQCZEYJAPwHBAUCZGICDWFkZEFzc2V0c0xpbmsJAMwIAgUCYlIJAMwIAgUCYlMJAMwIAgUCZEEFA25pbAUDbmlsAwkAAAIFAmRGBQJkRgQCZEcJAPwHBAUCZGICGGluY3JlYXNlQXNzZXRQb29sc051bWJlcgkAzAgCBQJiUgUDbmlsBQNuaWwDCQAAAgUCZEcFAmRHCQCUCgIJAM4IAgkAzggCCAUCZHACXzIIBQJkcgJfMgkAzAgCBQJkegkAzAgCCQEEQnVybgIFAmJRAAEJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAmFpAgkApAMBBQJkcQkApAMBBQJkcwkBAmJPCwUCYWIJAKQDAQUBbgUCZEEFAmJSBQJiUwUCZHgFAmR5BQJkcQUCZHMFAWsFAmJZCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQJhcAEFAmRBCQECYloCBQJkcQUCZHMJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAmFyAgkApAMBBQJkcQkApAMBBQJkcwkArAICAgQlc19fBQJkQQkAzAgCCQELU3RyaW5nRW50cnkCCQECYXYBBQJhYgkBAmJaAgUCZHEFAmRzCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQJheAIFAmRxBQJkcwUCYWIJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAmF6AQUCZEEFAmFiCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQJheQEFAmFiBQJkQQkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAmFhAQUCYWIFAmRuCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQECYXUBBQJhYgUBaQUDbmlsBQJkQQkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJieQEKbWFuYWdlUG9vbAICYWICZEgEAmNXCQECYnoBBQJieQMJAAACBQJjVwUCY1cEAmRJCQECY2MBBQJhYgQCYlAJAJEDAgUCZEkFAXYEAmRBCQCRAwIFAmRJBQF3BAJiUgkAkQMCBQJkSQUBeAQCYlMJAJEDAgUCZEkFAXkEAmR4CQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUCZEkFAXoEAmR5CQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUCZEkFAUEEAmRxCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUCZEkFAUIEAmRzCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUCZEkFAUMEAmRKCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUCZEkFAUQEAmJZCQCRAwIFAmRJBQFFCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQJhaQIJAKQDAQUCZHEJAKQDAQUCZHMJAQJiTwsFAmFiCQCkAwEFAmRIBQJkQQUCYlIFAmJTBQJkeAUCZHkFAmRxBQJkcwUCZEoFAmJZBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYnkBBGVtaXQBAmRLBAJkTAgFAmJ5BmNhbGxlcgQCZE0IBQJieQxvcmlnaW5DYWxsZXIEAmROCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKIIAQkBAmF5AQkApQgBBQJkTAIdSW52YWxpZCBMUCBhZGRyZXNzIGNhbGxlZCBtZS4EAmRPCQDZBAEFAmROBAJkYQkAtQkCCQELdmFsdWVPckVsc2UCCQCiCAEJAQFRAAUBbQUBbAQCY1oJARFAZXh0ck5hdGl2ZSgxMDYyKQEJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAoggBCQEBUAACKExlZ2FjeSBmYWN0b3J5IGNvbnRyYWN0IGRvZXMgbm90IGV4aXN0cy4DCQBnAgAABQJkSwUDbmlsAwkBD2NvbnRhaW5zRWxlbWVudAIFAmRhCQClCAEFAmRMCQCUCgIFA25pbAUCY1oJAJQKAgkAzAgCCQEHUmVpc3N1ZQMFAmRPBQJkSwYJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAmJ5BmNhbGxlcgUCZEsFAmRPBQNuaWwCB3N1Y2Nlc3MCYnkBBGJ1cm4BAmRQBAJkTAgFAmJ5BmNhbGxlcgQCZE0IBQJieQxvcmlnaW5DYWxsZXIEAmRRCQEFdmFsdWUBCQCRAwIIBQJieQhwYXltZW50cwAABAJkUgkBBXZhbHVlAQgFAmRRBmFtb3VudAQCZFMJANgEAQkBBXZhbHVlAQgFAmRRB2Fzc2V0SWQEAmRUCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKIIAQkBAmF5AQkApQgBBQJkTAIdSW52YWxpZCBMUCBhZGRyZXNzIGNhbGxlZCBtZS4DCQECIT0CBQJkUwUCZFQJAAIBAhVJbnZhbGlkIGFzc2V0IHBhc3NlZC4DCQECIT0CBQJkUAUCZFIJAAIBAhZJbnZhbGlkIGFtb3VudCBwYXNzZWQuBAJkTwkA2QQBBQJkVAkAlAoCCQDMCAIJAQRCdXJuAgUCZE8FAmRQBQNuaWwCB3N1Y2Nlc3MCYnkBDG1vZGlmeVdlaWdodAICYlECZFUEAmNXAwkAAAIJANgEAQgIBQJieQZjYWxsZXIFYnl0ZXMJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUEdGhpcwkBAVYAAgAGCQECYnoBBQJieQMJAAACBQJjVwUCY1cEAmF3CQECYVUBCQECYXoBBQJiUQQCZFYJAQJhYQEFAmF3BAJkVwkBAmFhAQUBZwQCZFgJAQt2YWx1ZU9yRWxzZQIJAJ8IAQUCZFcAAAQCZG4JAQt2YWx1ZU9yRWxzZQIJAJ8IAQUCZFYAAAQCZFkFAmRVBAJibQkAtQkCCQECYVUBCQEBTAAFAWwEAmNTCQECYm8BBQJibQQCZFoJAPwHBAUCY1MCDm9uTW9kaWZ5V2VpZ2h0CQDMCAIFAmJRCQDMCAIFAmF3BQNuaWwFA25pbAMJAAACBQJkWgUCZFoEAmVhAwkAAAIFAmRYAAAFA25pbAkAzAgCCQEMSW50ZWdlckVudHJ5AgUCZFcAAAUDbmlsBAJlYgkBAmFjAgUCYXcAAAQCZWMJAJ8IAQUCZWIEAmVkAwkAAAIFAmVjBQR1bml0BQNuaWwJAMwIAgkBC0RlbGV0ZUVudHJ5AQUCZWIFA25pbAkAzggCCQDOCAIJAMwIAgkBDEludGVnZXJFbnRyeQIFAmRWBQJkWQUDbmlsBQJlYQUCZWQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYnkBDW1vZGlmeVdlaWdodHMEAmVlAmVmAmVnAmVoBAJjVwkBAmJ6AQUCYnkDCQAAAgUCY1cFAmNXBAJlaQkAaQIJAGgCAAUFAWYAZAQCZWoJAGkCCQBoAgAFBQFmAGQEAmVrCQBpAgkAaAIABQUBZgBkBAJibQkAtQkCCQECYVUBCQEBTAAFAWwEAmVsCQECYm8BBQJibQQCZW0JAQJicAEFAmJtBAJlbgkBAmFhAQUCZWUEAmVvCQECYWEBBQJlZgQCZXAJAQJhYQEFAmVnBAJlcQkBAmFhAQUCZWgEAmVyCQECYVgBBQJlbgQCZXMJAQJhWAEFAmVvBAJldAkAZQIFAmVyBQJlawQCZXUJAGUCBQJlcwUCZWsDCQBnAgAABQJldAkAAgEJAKwCAgIWaW52YWxpZCBidGNXZWlnaHROZXc6IAkApAMBBQJldAMJAGcCAAAFAmV1CQACAQkArAICAhZpbnZhbGlkIGV0aFdlaWdodE5ldzogCQCkAwEFAmV1BAJldgkBAmFVAQkBAmF5AQUCZWUEAmV3CQECYVUBCQECYXkBBQJlZgQCZXgJAQJhVQEJAQJheQEFAmVnBAJleQkBAmFVAQkBAmF5AQUCZWgEAmV6CQD8BwQFAmVsAg5vbk1vZGlmeVdlaWdodAkAzAgCBQJldgkAzAgCBQJlZQUDbmlsBQNuaWwDCQAAAgUCZXoFAmV6BAJlQQkA/AcEBQJlbAIOb25Nb2RpZnlXZWlnaHQJAMwIAgUCZXcJAMwIAgUCZWYFA25pbAUDbmlsAwkAAAIFAmVBBQJlQQQCZUIJAPwHBAUCZWwCDm9uTW9kaWZ5V2VpZ2h0CQDMCAIFAmV4CQDMCAIFAmVnBQNuaWwFA25pbAMJAAACBQJlQgUCZUIEAmVDCQD8BwQFAmVsAg5vbk1vZGlmeVdlaWdodAkAzAgCBQJleQkAzAgCBQJlaAUDbmlsBQNuaWwDCQAAAgUCZUMF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RUFET05MWQECYWIEAmVTCQECY28DCQECYUQBBQJhYgkBAmFFAAAACQCUCgIFA25pbAUCZVMCYnkBEWdldE91dEZlZVJFQURPTkxZAQJhYgQCZVMJAQJjbwMJAQJhRgEFAmFiCQECYUcACQBrAwAKBQFiAJBOCQCUCgIFA25pbAUCZVMCYnkBEHBvb2xJbmZvUkVBRE9OTFkCAmVUAmVVBAJlVgkAmggCBQR0aGlzCQECYWcBBQJlVAQCZVcJAJoIAgUEdGhpcwkBAmFnAQUCZVUEAmVYCQCdCAIFBHRoaXMJAQJheAIJAQV2YWx1ZQEFAmVWCQEFdmFsdWUBBQJlVwQCZVkJAJ0IAgUEdGhpcwkBAmF5AQkBBXZhbHVlAQUCZVgEAmR2AwMJAQlpc0RlZmluZWQBBQJlVgkBCWlzRGVmaW5lZAEFAmVXBwkBCWlzRGVmaW5lZAEFAmVYBwQCZVoDBQJkdgkAlAoCCQERQGV4dHJOYXRpdmUoMTA2MikBCQEFdmFsdWUBBQJlWAkBAmFZAQkBBXZhbHVlAQUCZVkFBHVuaXQJAJQKAgUDbmlsBQJlWgJieQEVZ2V0UG9vbFN0YXR1c1JFQURPTkxZAQJhYgQCY2QJALUJAgkBAmFVAQkBAmF2AQUCYWIFAWwEAmFqCQCRAwIFAmNkAAEEAmFrCQCRAwIFAmNkAAIEAmN1CQC1CQIJAQJhVQEJAQJhaQIFAmFqBQJhawUBbAkAlAoCBQNuaWwJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQJjdQUBdgJieQEVZ2V0UG9vbENvbmZpZ1JFQURPTkxZAQJhYgQCY2QJALUJAgkBAmFVAQkBAmF2AQUCYWIFAWwEAmFqCQCRAwIFAmNkAAEEAmFrCQCRAwIFAmNkAAIEAmN1CQC1CQIJAQJhVQEJAQJhaQIFAmFqBQJhawUBbAkAlAoCBQNuaWwFAmN1AmJ5ASBnZXRQb29sQ29uZmlnQnlMcEFzc2V0SWRSRUFET05MWQECZEEEAmNkCQC1CQIJAQJhVQEJAQJhcAEFAmRBBQFsBAJhagkAkQMCBQJjZAABBAJhawkAkQMCBQJjZAACBAJjdQkAtQkCCQECYVUBCQECYWkCBQJhagUCYWsFAWwJAJQKAgUDbmlsBQJjdQJieQEScG9vbEV4aXN0c1JFQURPTkxZAgJhQgJhQwkAlAoCBQNuaWwJAQJjcgIFAmFCBQJhQwJieQEbc2tpcE9yZGVyVmFsaWRhdGlvblJFQURPTkxZAQJhYgkAlAoCBQNuaWwJAQt2YWx1ZU9yRWxzZQIJAKAIAQkBAmFIAQUCYWIHAmJ5ARpnZXRDaGFuZ2VBbXBDb25maWdSRUFET05MWQECYWIEAmZhCQERQGV4dHJOYXRpdmUoMTA1NSkBCQECYUkBBQJhYgQCZmIJARFAZXh0ck5hdGl2ZSgxMDU1KQEJAQJhSgEFAmFiBAJmYwkBEUBleHRyTmF0aXZlKDEwNTUpAQkBAmFLAQUCYWIJAJQKAgUDbmlsCQDMCAIFAmZhCQDMCAIFAmZiCQDMCAIFAmZjBQNuaWwCYnkBFWdldFBvb2xXZWlnaHRSRUFET05MWQECYlEEAmFiCQECYVUBCQECYXoBBQJiUQQCZmQJAQt2YWx1ZU9yRWxzZQIJAJ8IAQkBAmFhAQUCYWIAAAkAlAoCBQNuaWwFAmZkAQJmZQECZmYABAJmZwQCYnIJAQJidAADCQABAgUCYnICCkJ5dGVWZWN0b3IEAmJBBQJicgUCYkEDCQABAgUCYnICBFVuaXQIBQJmZQ9zZW5kZXJQdWJsaWNLZXkJAAIBAgtNYXRjaCBlcnJvcgkA9AMDCAUCZmUJYm9keUJ5dGVzCQCRAwIIBQJmZQZwcm9vZnMAAAUCZmesX5qk", "height": 2522857, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 8jDFViNr6ArUXefKy8oSEgqWYjkojSUYFhPuLD5cHtCy Next: AaxkrQ4SAMqRawyTuwASWjtmgFWG3TTxEajXN2iH3FVb Diff:
OldNewDifferences
994994 }
995995
996996
997-@Verifier(fd)
998-func fe () = {
999- let ff = {
997+
998+@Callable(by)
999+func getPoolWeightREADONLY (bQ) = {
1000+ let ab = aU(az(bQ))
1001+ let fd = valueOrElse(getInteger(aa(ab)), 0)
1002+ $Tuple2(nil, fd)
1003+ }
1004+
1005+
1006+@Verifier(fe)
1007+func ff () = {
1008+ let fg = {
10001009 let br = bt()
10011010 if ($isInstanceOf(br, "ByteVector"))
10021011 then {
10041013 bA
10051014 }
10061015 else if ($isInstanceOf(br, "Unit"))
1007- then fd.senderPublicKey
1016+ then fe.senderPublicKey
10081017 else throw("Match error")
10091018 }
1010- sigVerify(fd.bodyBytes, fd.proofs[0], ff)
1019+ sigVerify(fe.bodyBytes, fe.proofs[0], fg)
10111020 }
10121021
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = 8
55
66 let b = 100000000
77
88 let c = 1000000000000
99
1010 let d = 18
1111
1212 let e = toBigInt(1000000000000000000)
1313
1414 let f = b
1515
1616 let g = "GWXvirtualPOOL"
1717
1818 let h = "POOLS_LP"
1919
2020 let i = 2000000
2121
2222 let j = "WAVES"
2323
2424 let k = ((100 * 1000) * 1000)
2525
2626 let l = "__"
2727
2828 let m = ""
2929
3030 let n = 1
3131
3232 let o = 2
3333
3434 let p = 3
3535
3636 let q = 4
3737
3838 let r = 1
3939
4040 let s = 2
4141
4242 let t = 3
4343
4444 let u = 1
4545
4646 let v = 2
4747
4848 let w = 3
4949
5050 let x = 4
5151
5252 let y = 5
5353
5454 let z = 6
5555
5656 let A = 7
5757
5858 let B = 8
5959
6060 let C = 9
6161
6262 let D = 10
6363
6464 let E = 11
6565
6666 let F = "WX_EMISSION"
6767
6868 let G = [F]
6969
7070 func H () = "%s__allowedLpScriptHash"
7171
7272
7373 func I () = "%s__allowedLpStableScriptHash"
7474
7575
7676 func J () = "%s__allowedLpStableAddonScriptHash"
7777
7878
7979 func K () = "%s__swapContract"
8080
8181
8282 func L () = "%s__factoryConfig"
8383
8484
8585 func M () = "%s__lpTokensList"
8686
8787
8888 func N () = "%s%s__pool__scriptHash"
8989
9090
9191 func O () = "%s%s__matcher__publicKey"
9292
9393
9494 func P () = "%s__legacyFactoryContract"
9595
9696
9797 func Q () = "%s__legacyPools"
9898
9999
100100 func R () = "%s__managerPublicKey"
101101
102102
103103 func S () = "%s__pendingManagerPublicKey"
104104
105105
106106 func T () = "%s__adminPubKeys"
107107
108108
109109 func U () = "%s__assetsStoreContract"
110110
111111
112112 func V () = "%s__votingEmissionContract"
113113
114114
115115 func W () = makeString(["%s", "priceAssets"], l)
116116
117117
118118 func X () = "%s__priceDecimals"
119119
120120
121121 func Y () = "%s__shutdown"
122122
123123
124124 func Z () = "%s__nextInternalAssetId"
125125
126126
127127 func aa (ab) = ("%s%s__poolWeight__" + ab)
128128
129129
130130 func ac (ab,ad) = ((("%s%s__poolWeight__" + ab) + "__") + toString(ad))
131131
132132
133133 func ae (af) = ("%s%s%d__mappings__internal2baseAssetId__" + toString(af))
134134
135135
136136 func ag (ah) = ("%s%s%s__mappings__baseAsset2internalId__" + ah)
137137
138138
139139 func ai (aj,ak) = (((("%d%d%s__" + aj) + "__") + ak) + "__config")
140140
141141
142142 func al (am) = {
143143 let an = am
144144 let aj = an._1
145145 let ak = an._2
146146 makeString(["%d%d%s", toString(aj), toString(ak), "oneTokenOperationsDisabled"], l)
147147 }
148148
149149
150150 func ao () = makeString(["%s", "oneTokenOperationsDisabled"], l)
151151
152152
153153 func ap (aq) = (("%s%s%s__" + aq) + "__mappings__lpAsset2Pool")
154154
155155
156156 func ar (as,at) = (((("%d%d%s%s__" + as) + "__") + at) + "__mappings__PoolAssets2LpAsset")
157157
158158
159159 func au (ab) = ("%s%s__spread__" + ab)
160160
161161
162162 func av (aw) = (("%s%s%s__" + aw) + "__mappings__poolContract2PoolAssets")
163163
164164
165165 func ax (as,at) = (((("%d%d%s%s__" + toString(as)) + "__") + toString(at)) + "__mappings__poolAssets2PoolContract")
166166
167167
168168 func ay (aw) = (("%s%s%s__" + aw) + "__mappings__poolContract2LpAsset")
169169
170170
171171 func az (aq) = (("%s%s%s__" + aq) + "__mappings__lpAsset2PoolContract")
172172
173173
174174 func aA (aB,aC) = ((("%s%s%s__wxEmission__" + aB) + "__") + aC)
175175
176176
177177 func aD (ab) = ("%s%s__inFee__" + ab)
178178
179179
180180 func aE () = "%s__inFeeDefault"
181181
182182
183183 func aF (ab) = ("%s%s__outFee__" + ab)
184184
185185
186186 func aG () = "%s__outFeeDefault"
187187
188188
189189 func aH (ab) = ("%s%s__skipOrderValidation__" + ab)
190190
191191
192192 func aI (ab) = ("%s%s__changeAmpDelay__" + ab)
193193
194194
195195 func aJ (ab) = ("%s%s__changeAmpDelta__" + ab)
196196
197197
198198 func aK (ab) = ("%s%s__changeAmpTarget__" + ab)
199199
200200
201201 func aL () = "%s__sWavesProxyAddress"
202202
203203
204204 func aM () = "%s__sWavesAssetId"
205205
206206
207207 func aN () = "%s__stakingProfitAddress"
208208
209209
210210 func aO (ab,aP) = makeString(["%s%s%s", "leasedRatio", ab, aP], l)
211211
212212
213213 func aQ (aP) = makeString(["%s%s", "leasedRatioDefault", aP], l)
214214
215215
216216 func aR (ab,aP) = makeString(["%s%s%s", "leasedRatioTolerance", ab, aP], l)
217217
218218
219219 func aS (ab,aP) = makeString(["%s%s%s", "minBalance", ab, aP], l)
220220
221221
222222 func aT (aP) = makeString(["%s%s", "minBalanceDefault", aP], l)
223223
224224
225225 func aU (aV) = valueOrErrorMessage(getString(this, aV), ("No data for this.key=" + aV))
226226
227227
228228 func aW (aV) = valueOrErrorMessage(getBoolean(this, aV), ("No data for this.key=" + aV))
229229
230230
231231 func aX (aV) = valueOrErrorMessage(getInteger(this, aV), ("No data for this.key=" + aV))
232232
233233
234234 func aY (aZ) = if ((aZ == j))
235235 then unit
236236 else fromBase58String(aZ)
237237
238238
239239 let ba = 1
240240
241241 let bb = 2
242242
243243 let bc = 3
244244
245245 let bd = 4
246246
247247 let be = 5
248248
249249 let bf = 6
250250
251251 let bg = 7
252252
253253 let bh = 8
254254
255255 let bi = 9
256256
257257 let bj = 10
258258
259259 let bk = 11
260260
261261 func bl (bm) = addressFromStringValue(bm[bb])
262262
263263
264264 func bn (bm) = addressFromStringValue(bm[be])
265265
266266
267267 func bo (bm) = addressFromStringValue(bm[ba])
268268
269269
270270 func bp (bm) = addressFromStringValue(bm[bj])
271271
272272
273273 func bq () = {
274274 let br = getString(W())
275275 if ($isInstanceOf(br, "String"))
276276 then {
277277 let bs = br
278278 if ((size(bs) == 0))
279279 then nil
280280 else split(bs, l)
281281 }
282282 else nil
283283 }
284284
285285
286286 func bt () = {
287287 let br = getString(R())
288288 if ($isInstanceOf(br, "String"))
289289 then {
290290 let bs = br
291291 fromBase58String(bs)
292292 }
293293 else if ($isInstanceOf(br, "Unit"))
294294 then unit
295295 else throw("Match error")
296296 }
297297
298298
299299 func bu () = {
300300 let br = getString(S())
301301 if ($isInstanceOf(br, "String"))
302302 then {
303303 let bs = br
304304 fromBase58String(bs)
305305 }
306306 else if ($isInstanceOf(br, "Unit"))
307307 then unit
308308 else throw("Match error")
309309 }
310310
311311
312312 let bv = throw("Permission denied")
313313
314314 let bw = throw("Test error here")
315315
316316 func bx (by) = if ((by.caller == this))
317317 then true
318318 else bv
319319
320320
321321 func bz (by) = {
322322 let br = bt()
323323 if ($isInstanceOf(br, "ByteVector"))
324324 then {
325325 let bA = br
326326 if ((by.callerPublicKey == bA))
327327 then true
328328 else bv
329329 }
330330 else if ($isInstanceOf(br, "Unit"))
331331 then bx(by)
332332 else throw("Match error")
333333 }
334334
335335
336336 func bB (bC,bD,bE,bF,bG,bH,bI,bJ,bK,bL,bM) = makeString(["%s%s%s%s%s%s%s%s%s%s%s", bC, bD, bE, bF, bG, bH, bI, bJ, bK, bL, bM], l)
337337
338338
339339 func bN (bC,bD,bE,bF,bG,bH,bI) = makeString(["%s%s%s%s%s%s", bC, bD, bE, bF, bG, bH, bI], l)
340340
341341
342342 func bO (ab,bP,bQ,bR,bS,bT,bU,bV,bW,bX,bY) = makeString(["%s%d%s%s%s%d%d%d%d%d%s", ab, bP, bQ, bR, bS, toString(bT), toString(bU), toString(bV), toString(bW), toString(bX), bY], l)
343343
344344
345345 func bZ (ca,cb) = makeString(["%d%d", toString(ca), toString(cb)], l)
346346
347347
348348 func cc (ab) = {
349349 let cd = split(aU(av(ab)), l)
350350 let aj = cd[1]
351351 let ak = cd[2]
352352 split(aU(ai(aj, ak)), l)
353353 }
354354
355355
356356 func ce (cf,cg) = {
357357 let ch = valueOrElse(getInteger(this, ag(cf)), 0)
358358 let ci = valueOrElse(getInteger(this, Z()), 0)
359359 let cj = if ((ch == 0))
360360 then {
361361 let ck = (ci + cg)
362362 $Tuple3(ck, [IntegerEntry(Z(), ck), IntegerEntry(ag(cf), ck), StringEntry(ae(ck), cf)], true)
363363 }
364364 else $Tuple3(ch, nil, false)
365365 cj
366366 }
367367
368368
369369 func cl (by) = {
370370 let cm = split(valueOrElse(getString(T()), m), l)
371371 if (containsElement(cm, toBase58String(by.callerPublicKey)))
372372 then true
373373 else {
374374 let cn = bz(by)
375375 if ((cn == cn))
376376 then true
377377 else throw("Strict value is not equal to itself.")
378378 }
379379 }
380380
381381
382382 func co (aV,cp,cq) = valueOrElse(getInteger(this, aV), valueOrElse(getInteger(this, cp), cq))
383383
384384
385385 func cr (aB,aC) = {
386386 let aj = getInteger(ag(aB))
387387 let ak = getInteger(ag(aC))
388388 if (if ((aj == unit))
389389 then true
390390 else (ak == unit))
391391 then false
392392 else {
393393 let cs = toString(value(aj))
394394 let ct = toString(value(ak))
395395 let cu = getString(ai(cs, ct))
396396 let cv = getString(ai(ct, cs))
397397 let cw = if ((cu != unit))
398398 then true
399399 else (cv != unit)
400400 cw
401401 }
402402 }
403403
404404
405405 @Callable(by)
406406 func getSwapContractREADONLY () = $Tuple2(nil, aU(K()))
407407
408408
409409
410410 @Callable(by)
411411 func getPoolLeaseConfigREADONLY (ab,aP) = {
412412 let cx = {
413413 let br = getInteger(this, aO(ab, aP))
414414 if ($isInstanceOf(br, "Int"))
415415 then {
416416 let cy = br
417417 $Tuple2(true, min([100, max([0, cy])]))
418418 }
419419 else {
420420 let cz = getInteger(this, aQ(aP))
421421 if ($isInstanceOf(cz, "Int"))
422422 then {
423423 let cA = cz
424424 $Tuple2(true, min([100, max([0, cA])]))
425425 }
426426 else $Tuple2(false, 0)
427427 }
428428 }
429429 let cB = cx._1
430430 let cC = cx._2
431431 let cD = {
432432 let br = getInteger(this, aS(ab, aP))
433433 if ($isInstanceOf(br, "Int"))
434434 then {
435435 let cE = br
436436 max([0, cE])
437437 }
438438 else {
439439 let cz = getInteger(this, aT(aP))
440440 if ($isInstanceOf(cz, "Int"))
441441 then {
442442 let cF = cz
443443 max([0, cF])
444444 }
445445 else 0
446446 }
447447 }
448448 let cG = if ((aP == "WAVES"))
449449 then $Tuple3(valueOrElse(getString(this, aL()), ""), getString(this, valueOrElse(aM(), "")), c)
450450 else $Tuple3("", "", 0)
451451 let cH = cG._1
452452 let cI = cG._2
453453 let cJ = cG._3
454454 let cK = valueOrElse(getString(this, aN()), "")
455455 $Tuple2(nil, $Tuple7(cB, cC, cD, cH, cI, cJ, cK))
456456 }
457457
458458
459459
460460 @Callable(by)
461461 func getLpAssetFromPoolAssetsREADONLY (cL,cM) = if (if ((cL == "8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS"))
462462 then (cM == "WAVES")
463463 else false)
464464 then $Tuple2(nil, unit)
465465 else {
466466 let cN = value(getInteger(this, ag(cL)))
467467 let cO = value(getInteger(this, ag(cM)))
468468 let cP = getString(this, ar(toString(cN), toString(cO)))
469469 let cQ = if ((cP == unit))
470470 then unit
471471 else drop(value(cP), 4)
472472 $Tuple2(nil, cQ)
473473 }
474474
475475
476476
477477 @Callable(by)
478478 func getPoolAddressFromLpAssetREADONLY (cR) = $Tuple2(nil, valueOrElse(getString(this, az(cR)), ""))
479479
480480
481481
482482 @Callable(by)
483483 func constructor (cS,cT,bE,bF,bG,bH,cU,cV) = {
484484 let cW = bz(by)
485485 if ((cW == cW))
486486 then [StringEntry(L(), bN(cS, cT, bE, bF, bG, bH, cU)), IntegerEntry(X(), cV)]
487487 else throw("Strict value is not equal to itself.")
488488 }
489489
490490
491491
492492 @Callable(by)
493493 func constructorV2 (cX) = {
494494 let cW = bz(by)
495495 if ((cW == cW))
496496 then {
497497 let cY = addressFromPublicKey(fromBase58String(cX))
498498 if ((cY == cY))
499499 then [StringEntry(O(), cX)]
500500 else throw("Strict value is not equal to itself.")
501501 }
502502 else throw("Strict value is not equal to itself.")
503503 }
504504
505505
506506
507507 @Callable(by)
508508 func constructorV3 (bJ,bK,bL,bM) = {
509509 let cW = bz(by)
510510 if ((cW == cW))
511511 then {
512512 let bm = split(aU(L()), l)
513513 [StringEntry(L(), bB(bm[1], bm[2], bm[3], bm[4], bm[5], bm[6], bm[7], bJ, bK, bL, bM))]
514514 }
515515 else throw("Strict value is not equal to itself.")
516516 }
517517
518518
519519
520520 @Callable(by)
521521 func constructorV4 (cZ,da) = {
522522 let cW = bz(by)
523523 if ((cW == cW))
524524 then [StringEntry(P(), cZ), StringEntry(Q(), makeString(da, l))]
525525 else throw("Strict value is not equal to itself.")
526526 }
527527
528528
529529
530530 @Callable(by)
531531 func constructorV5 (db) = {
532532 let cW = bz(by)
533533 if ((cW == cW))
534534 then [StringEntry(U(), db)]
535535 else throw("Strict value is not equal to itself.")
536536 }
537537
538538
539539
540540 @Callable(by)
541541 func constructorV6 (dc,dd) = {
542542 let de = [bz(by), if ((addressFromString(dc) != unit))
543543 then true
544544 else "invalid voting emission contract address"]
545545 if ((de == de))
546546 then [StringEntry(V(), dc), StringEntry(W(), makeString(dd, l))]
547547 else throw("Strict value is not equal to itself.")
548548 }
549549
550550
551551
552552 @Callable(by)
553553 func setManager (df) = {
554554 let cW = bz(by)
555555 if ((cW == cW))
556556 then {
557557 let dg = fromBase58String(df)
558558 if ((dg == dg))
559559 then [StringEntry(S(), df)]
560560 else throw("Strict value is not equal to itself.")
561561 }
562562 else throw("Strict value is not equal to itself.")
563563 }
564564
565565
566566
567567 @Callable(by)
568568 func confirmManager () = {
569569 let dh = bu()
570570 let di = if (isDefined(dh))
571571 then true
572572 else throw("No pending manager")
573573 if ((di == di))
574574 then {
575575 let dj = if ((by.callerPublicKey == value(dh)))
576576 then true
577577 else throw("You are not pending manager")
578578 if ((dj == dj))
579579 then [StringEntry(R(), toBase58String(value(dh))), DeleteEntry(S())]
580580 else throw("Strict value is not equal to itself.")
581581 }
582582 else throw("Strict value is not equal to itself.")
583583 }
584584
585585
586586
587587 @Callable(by)
588588 func setAdmins (dk) = {
589589 let cW = bz(by)
590590 if ((cW == cW))
591591 then [StringEntry(T(), makeString(dk, l))]
592592 else throw("Strict value is not equal to itself.")
593593 }
594594
595595
596596
597597 @Callable(by)
598598 func activateNewPool (ab,bR,bS,dl,dm,dn,bY,do) = {
599599 let cW = cl(by)
600600 if ((cW == cW))
601601 then if (isDefined(getString(av(ab))))
602602 then throw((("Pool address " + ab) + " already registered."))
603603 else {
604604 let dp = ce(bR, 1)
605605 let dq = dp._1
606606 let dr = ce(bS, if (dp._3)
607607 then 2
608608 else 1)
609609 let ds = dr._1
610610 let dt = valueOrErrorMessage(scriptHash(addressFromStringValue(ab)), ("No script has been found on pool account " + ab))
611611 let du = getBinaryValue(N())
612612 let dv = cr(bR, bS)
613613 if (dv)
614614 then throw((((("Pool " + bR) + "/") + bS) + " has already been activated."))
615615 else {
616616 let dw = value(getString(this, ai(toString(dq), toString(ds))))
617617 let dx = if ((bR == "WAVES"))
618618 then k
619619 else pow(10, 0, value(assetInfo(fromBase58String(bR))).decimals, 0, 0, DOWN)
620620 let dy = if ((bS == "WAVES"))
621621 then k
622622 else pow(10, 0, value(assetInfo(fromBase58String(bS))).decimals, 0, 0, DOWN)
623623 let dz = Issue(dl, dm, 1, 8, true)
624624 let bQ = calculateAssetId(dz)
625625 let dA = toBase58String(bQ)
626626 let dB = invoke(addressFromStringValue(ab), "activate", [bR, bS], nil)
627627 if ((dB == dB))
628628 then if ((dB != "success"))
629629 then throw("Pool initialisation error happened.")
630630 else {
631631 let db = addressFromStringValue(aU(U()))
632632 let dC = invoke(db, "createOrUpdate", [dA, dl, false], nil)
633633 if ((dC == dC))
634634 then {
635635 let dD = invoke(db, "addLabel", [dA, h], nil)
636636 if ((dD == dD))
637637 then {
638638 let dE = invoke(db, "setLogo", [dA, do], nil)
639639 if ((dE == dE))
640640 then {
641641 let dF = invoke(db, "addAssetsLink", [bR, bS, dA], nil)
642642 if ((dF == dF))
643643 then {
644644 let dG = invoke(db, "increaseAssetPoolsNumber", [bR], nil)
645645 if ((dG == dG))
646646 then $Tuple2(((dp._2 ++ dr._2) ++ [dz, Burn(bQ, 1), StringEntry(ai(toString(dq), toString(ds)), bO(ab, toString(n), dA, bR, bS, dx, dy, dq, ds, k, bY)), StringEntry(ap(dA), bZ(dq, ds)), StringEntry(ar(toString(dq), toString(ds)), ("%s__" + dA)), StringEntry(av(ab), bZ(dq, ds)), StringEntry(ax(dq, ds), ab), StringEntry(az(dA), ab), StringEntry(ay(ab), dA), IntegerEntry(aa(ab), dn), IntegerEntry(au(ab), i)]), dA)
647647 else throw("Strict value is not equal to itself.")
648648 }
649649 else throw("Strict value is not equal to itself.")
650650 }
651651 else throw("Strict value is not equal to itself.")
652652 }
653653 else throw("Strict value is not equal to itself.")
654654 }
655655 else throw("Strict value is not equal to itself.")
656656 }
657657 else throw("Strict value is not equal to itself.")
658658 }
659659 }
660660 else throw("Strict value is not equal to itself.")
661661 }
662662
663663
664664
665665 @Callable(by)
666666 func managePool (ab,dH) = {
667667 let cW = bz(by)
668668 if ((cW == cW))
669669 then {
670670 let dI = cc(ab)
671671 let bP = dI[v]
672672 let dA = dI[w]
673673 let bR = dI[x]
674674 let bS = dI[y]
675675 let dx = parseIntValue(dI[z])
676676 let dy = parseIntValue(dI[A])
677677 let dq = parseIntValue(dI[B])
678678 let ds = parseIntValue(dI[C])
679679 let dJ = parseIntValue(dI[D])
680680 let bY = dI[E]
681681 [StringEntry(ai(toString(dq), toString(ds)), bO(ab, toString(dH), dA, bR, bS, dx, dy, dq, ds, dJ, bY))]
682682 }
683683 else throw("Strict value is not equal to itself.")
684684 }
685685
686686
687687
688688 @Callable(by)
689689 func emit (dK) = {
690690 let dL = by.caller
691691 let dM = by.originCaller
692692 let dN = valueOrErrorMessage(getString(ay(toString(dL))), "Invalid LP address called me.")
693693 let dO = fromBase58String(dN)
694694 let da = split(valueOrElse(getString(Q()), m), l)
695695 let cZ = addressFromStringValue(valueOrErrorMessage(getString(P()), "Legacy factory contract does not exists."))
696696 if ((0 >= dK))
697697 then nil
698698 else if (containsElement(da, toString(dL)))
699699 then $Tuple2(nil, cZ)
700700 else $Tuple2([Reissue(dO, dK, true), ScriptTransfer(by.caller, dK, dO)], "success")
701701 }
702702
703703
704704
705705 @Callable(by)
706706 func burn (dP) = {
707707 let dL = by.caller
708708 let dM = by.originCaller
709709 let dQ = value(by.payments[0])
710710 let dR = value(dQ.amount)
711711 let dS = toBase58String(value(dQ.assetId))
712712 let dT = valueOrErrorMessage(getString(ay(toString(dL))), "Invalid LP address called me.")
713713 if ((dS != dT))
714714 then throw("Invalid asset passed.")
715715 else if ((dP != dR))
716716 then throw("Invalid amount passed.")
717717 else {
718718 let dO = fromBase58String(dT)
719719 $Tuple2([Burn(dO, dP)], "success")
720720 }
721721 }
722722
723723
724724
725725 @Callable(by)
726726 func modifyWeight (bQ,dU) = {
727727 let cW = if ((toBase58String(by.caller.bytes) == valueOrElse(getString(this, V()), "")))
728728 then true
729729 else bz(by)
730730 if ((cW == cW))
731731 then {
732732 let aw = aU(az(bQ))
733733 let dV = aa(aw)
734734 let dW = aa(g)
735735 let dX = valueOrElse(getInteger(dW), 0)
736736 let dn = valueOrElse(getInteger(dV), 0)
737737 let dY = dU
738738 let bm = split(aU(L()), l)
739739 let cS = bo(bm)
740740 let dZ = invoke(cS, "onModifyWeight", [bQ, aw], nil)
741741 if ((dZ == dZ))
742742 then {
743743 let ea = if ((dX == 0))
744744 then nil
745745 else [IntegerEntry(dW, 0)]
746746 let eb = ac(aw, 0)
747747 let ec = getInteger(eb)
748748 let ed = if ((ec == unit))
749749 then nil
750750 else [DeleteEntry(eb)]
751751 (([IntegerEntry(dV, dY)] ++ ea) ++ ed)
752752 }
753753 else throw("Strict value is not equal to itself.")
754754 }
755755 else throw("Strict value is not equal to itself.")
756756 }
757757
758758
759759
760760 @Callable(by)
761761 func modifyWeights (ee,ef,eg,eh) = {
762762 let cW = bz(by)
763763 if ((cW == cW))
764764 then {
765765 let ei = ((5 * f) / 100)
766766 let ej = ((5 * f) / 100)
767767 let ek = ((5 * f) / 100)
768768 let bm = split(aU(L()), l)
769769 let el = bo(bm)
770770 let em = bp(bm)
771771 let en = aa(ee)
772772 let eo = aa(ef)
773773 let ep = aa(eg)
774774 let eq = aa(eh)
775775 let er = aX(en)
776776 let es = aX(eo)
777777 let et = (er - ek)
778778 let eu = (es - ek)
779779 if ((0 >= et))
780780 then throw(("invalid btcWeightNew: " + toString(et)))
781781 else if ((0 >= eu))
782782 then throw(("invalid ethWeightNew: " + toString(eu)))
783783 else {
784784 let ev = aU(ay(ee))
785785 let ew = aU(ay(ef))
786786 let ex = aU(ay(eg))
787787 let ey = aU(ay(eh))
788788 let ez = invoke(el, "onModifyWeight", [ev, ee], nil)
789789 if ((ez == ez))
790790 then {
791791 let eA = invoke(el, "onModifyWeight", [ew, ef], nil)
792792 if ((eA == eA))
793793 then {
794794 let eB = invoke(el, "onModifyWeight", [ex, eg], nil)
795795 if ((eB == eB))
796796 then {
797797 let eC = invoke(el, "onModifyWeight", [ey, eh], nil)
798798 if ((eC == eC))
799799 then [IntegerEntry(en, et), IntegerEntry(eo, eu), IntegerEntry(ep, ei), IntegerEntry(eq, ej), IntegerEntry(ac(ee, 0), er), IntegerEntry(ac(ef, 0), es), IntegerEntry(ac(eg, 0), ei), IntegerEntry(ac(eh, 0), ej)]
800800 else throw("Strict value is not equal to itself.")
801801 }
802802 else throw("Strict value is not equal to itself.")
803803 }
804804 else throw("Strict value is not equal to itself.")
805805 }
806806 else throw("Strict value is not equal to itself.")
807807 }
808808 }
809809 else throw("Strict value is not equal to itself.")
810810 }
811811
812812
813813
814814 @Callable(by)
815815 func checkWxEmissionPoolLabel (aB,aC) = {
816816 let eD = {
817817 let br = getBoolean(aA(aB, aC))
818818 if ($isInstanceOf(br, "Boolean"))
819819 then {
820820 let cE = br
821821 cE
822822 }
823823 else false
824824 }
825825 $Tuple2(nil, eD)
826826 }
827827
828828
829829
830830 @Callable(by)
831831 func setWxEmissionPoolLabel (aB,aC) = {
832832 let cW = cl(by)
833833 if ((cW == cW))
834834 then $Tuple2([BooleanEntry(aA(aB, aC), true)], unit)
835835 else throw("Strict value is not equal to itself.")
836836 }
837837
838838
839839
840840 @Callable(by)
841841 func deleteWxEmissionPoolLabel (aB,aC) = {
842842 let cW = if (bx(by))
843843 then true
844844 else cl(by)
845845 if ((cW == cW))
846846 then $Tuple2([DeleteEntry(aA(aB, aC))], unit)
847847 else throw("Strict value is not equal to itself.")
848848 }
849849
850850
851851
852852 @Callable(by)
853853 func onVerificationLoss (aP) = {
854854 let cW = if ((toBase58String(by.caller.bytes) == valueOrElse(getString(this, U()), "")))
855855 then true
856856 else bz(by)
857857 if ((cW == cW))
858858 then {
859859 let dd = bq()
860860 let eE = if ((size(dd) > 0))
861861 then true
862862 else throw("invalid price assets")
863863 if ((eE == eE))
864864 then {
865865 func eF (eG,eH) = {
866866 let cy = invoke(this, "deleteWxEmissionPoolLabel", [aP, eH], nil)
867867 if ((cy == cy))
868868 then unit
869869 else throw("Strict value is not equal to itself.")
870870 }
871871
872872 let eI = {
873873 let eJ = dd
874874 let eK = size(eJ)
875875 let eL = unit
876876 func eM (eN,eO) = if ((eO >= eK))
877877 then eN
878878 else eF(eN, eJ[eO])
879879
880880 func eP (eN,eO) = if ((eO >= eK))
881881 then eN
882882 else throw("List size exceeds 2")
883883
884884 eP(eM(eM(eL, 0), 1), 2)
885885 }
886886 if ((eI == eI))
887887 then $Tuple2(nil, unit)
888888 else throw("Strict value is not equal to itself.")
889889 }
890890 else throw("Strict value is not equal to itself.")
891891 }
892892 else throw("Strict value is not equal to itself.")
893893 }
894894
895895
896896
897897 @Callable(by)
898898 func isPoolOneTokenOperationsDisabledREADONLY (ab) = {
899899 let dI = cc(ab)
900900 let am = $Tuple2(parseIntValue(dI[B]), parseIntValue(dI[C]))
901901 let eQ = valueOrElse(getBoolean(al(am)), false)
902902 let eR = valueOrElse(getBoolean(ao()), false)
903903 $Tuple2(nil, if (eR)
904904 then true
905905 else eQ)
906906 }
907907
908908
909909
910910 @Callable(by)
911911 func getInFeeREADONLY (ab) = {
912912 let eS = co(aD(ab), aE(), 0)
913913 $Tuple2(nil, eS)
914914 }
915915
916916
917917
918918 @Callable(by)
919919 func getOutFeeREADONLY (ab) = {
920920 let eS = co(aF(ab), aG(), fraction(10, b, 10000))
921921 $Tuple2(nil, eS)
922922 }
923923
924924
925925
926926 @Callable(by)
927927 func poolInfoREADONLY (eT,eU) = {
928928 let eV = getInteger(this, ag(eT))
929929 let eW = getInteger(this, ag(eU))
930930 let eX = getString(this, ax(value(eV), value(eW)))
931931 let eY = getString(this, ay(value(eX)))
932932 let dv = if (if (isDefined(eV))
933933 then isDefined(eW)
934934 else false)
935935 then isDefined(eX)
936936 else false
937937 let eZ = if (dv)
938938 then $Tuple2(addressFromStringValue(value(eX)), aY(value(eY)))
939939 else unit
940940 $Tuple2(nil, eZ)
941941 }
942942
943943
944944
945945 @Callable(by)
946946 func getPoolStatusREADONLY (ab) = {
947947 let cd = split(aU(av(ab)), l)
948948 let aj = cd[1]
949949 let ak = cd[2]
950950 let cu = split(aU(ai(aj, ak)), l)
951951 $Tuple2(nil, parseIntValue(cu[v]))
952952 }
953953
954954
955955
956956 @Callable(by)
957957 func getPoolConfigREADONLY (ab) = {
958958 let cd = split(aU(av(ab)), l)
959959 let aj = cd[1]
960960 let ak = cd[2]
961961 let cu = split(aU(ai(aj, ak)), l)
962962 $Tuple2(nil, cu)
963963 }
964964
965965
966966
967967 @Callable(by)
968968 func getPoolConfigByLpAssetIdREADONLY (dA) = {
969969 let cd = split(aU(ap(dA)), l)
970970 let aj = cd[1]
971971 let ak = cd[2]
972972 let cu = split(aU(ai(aj, ak)), l)
973973 $Tuple2(nil, cu)
974974 }
975975
976976
977977
978978 @Callable(by)
979979 func poolExistsREADONLY (aB,aC) = $Tuple2(nil, cr(aB, aC))
980980
981981
982982
983983 @Callable(by)
984984 func skipOrderValidationREADONLY (ab) = $Tuple2(nil, valueOrElse(getBoolean(aH(ab)), false))
985985
986986
987987
988988 @Callable(by)
989989 func getChangeAmpConfigREADONLY (ab) = {
990990 let fa = getIntegerValue(aI(ab))
991991 let fb = getIntegerValue(aJ(ab))
992992 let fc = getIntegerValue(aK(ab))
993993 $Tuple2(nil, [fa, fb, fc])
994994 }
995995
996996
997-@Verifier(fd)
998-func fe () = {
999- let ff = {
997+
998+@Callable(by)
999+func getPoolWeightREADONLY (bQ) = {
1000+ let ab = aU(az(bQ))
1001+ let fd = valueOrElse(getInteger(aa(ab)), 0)
1002+ $Tuple2(nil, fd)
1003+ }
1004+
1005+
1006+@Verifier(fe)
1007+func ff () = {
1008+ let fg = {
10001009 let br = bt()
10011010 if ($isInstanceOf(br, "ByteVector"))
10021011 then {
10031012 let bA = br
10041013 bA
10051014 }
10061015 else if ($isInstanceOf(br, "Unit"))
1007- then fd.senderPublicKey
1016+ then fe.senderPublicKey
10081017 else throw("Match error")
10091018 }
1010- sigVerify(fd.bodyBytes, fd.proofs[0], ff)
1019+ sigVerify(fe.bodyBytes, fe.proofs[0], fg)
10111020 }
10121021

github/deemru/w8io/fabc49c 
89.30 ms