tx · FsMwn7j7hKG8RYngfkw1ytMpHno4E3TrQRyWHAGniveX

3MsMP2pb2p8MDd6Rxb7XEXqqwEhE8ATfyai:  -0.02900000 Waves

2023.08.17 16:13 [2714639] smart account 3MsMP2pb2p8MDd6Rxb7XEXqqwEhE8ATfyai > SELF 0.00000000 Waves

{ "type": 13, "id": "FsMwn7j7hKG8RYngfkw1ytMpHno4E3TrQRyWHAGniveX", "fee": 2900000, "feeAssetId": null, "timestamp": 1692278042649, "version": 2, "chainId": 84, "sender": "3MsMP2pb2p8MDd6Rxb7XEXqqwEhE8ATfyai", "senderPublicKey": "2JEaBjtjvMoNGKZmL9QxYefa1VkMJM3vMW8rNvTs9R2H", "proofs": [ "5Lr7Ur7DMupr2Uwmz36FoDDuWWAZsdeYsmRpkVcdYqg2V4gXaY6pUAryn1UCdVPzBBpvGsbr3LpBi4hpUMweMoyx" ], "script": "base64:BgLlLggCEgASBAoCCAgSBAoCCAgSAwoBCBIKCggICAgICAgIARIDCgEIEgYKBAgICAgSBAoCCBgSAwoBCBIECgIIGBIDCgEYEgoKCAgICAgIAQgIEgQKAggBEgMKAQESAwoBARIECgIIARIGCgQICAgIEgQKAggIEgQKAggIEgQKAggIEgMKAQgSAwoBCBIDCgEIEgMKAQgSAwoBCBIDCgEIEgQKAggIEgMKAQgSAwoBCBIDCgEIEgQKAggIEgMKAQgSAwoBCBIDCgEIEgMKAQgiBlNDQUxFOCIFTVVMVDgiBk1VTFQxMiIHU0NBTEUxOCIGTVVMVDE4Ig5QT09MV0VJR0hUTVVMVCIOR1dYdmlydHVhbFBPT0wiDGxhYmVsUG9vbHNMcCINZGVmYXVsdFNwcmVhZCILd2F2ZXNTdHJpbmciEGNvbnRyYWN0RmlsZW5hbWUiEWRlY2ltYWxzTXVsdFByaWNlIgNTRVAiBUVNUFRZIgpQb29sQWN0aXZlIg9Qb29sUHV0RGlzYWJsZWQiE1Bvb2xNYXRjaGVyRGlzYWJsZWQiDFBvb2xTaHV0ZG93biISaWR4SW50ZXJuYWxBc3NldElkIg9pZHhSZXN1dEFjdGlvbnMiIGlkeElmQXNzZXRJZENhbGN1bGF0aW9uUGVyZm9ybWVkIg5pZHhQb29sQWRkcmVzcyINaWR4UG9vbFN0YXR1cyIQaWR4UG9vbExQQXNzZXRJZCINaWR4QW10QXNzZXRJZCIPaWR4UHJpY2VBc3NldElkIg5pZHhBbXRBc3NldERjbSIQaWR4UHJpY2VBc3NldERjbSIOaWR4SUFtdEFzc2V0SWQiEGlkeElQcmljZUFzc2V0SWQiDWlkeExQQXNzZXREY20iC2lkeFBvb2xUeXBlIhNwb29sTGFiZWxXeEVtaXNzaW9uIg92YWxpZFBvb2xMYWJlbHMiB3dyYXBFcnIiA21zZyIIdGhyb3dFcnIiFmtleUFsbG93ZWRMcFNjcmlwdEhhc2giHGtleUFsbG93ZWRMcFN0YWJsZVNjcmlwdEhhc2giDHN3YXBDb250cmFjdCIQa2V5RmFjdG9yeUNvbmZpZyIPa2V5THBUb2tlbnNMaXN0IhFrZXlQb29sU2NyaXB0SGFzaCINa2V5TWF0Y2hlclB1YiIYa2V5TGVnYWN5RmFjdG9yeUNvbnRyYWN0Ig5rZXlMZWdhY3lQb29scyITa2V5TWFuYWdlclB1YmxpY0tleSIWa2V5TWFuYWdlclZhdWx0QWRkcmVzcyIPa2V5QWRtaW5QdWJLZXlzIhZrZXlBc3NldHNTdG9yZUNvbnRyYWN0IhlrZXlWb3RpbmdFbWlzc2lvbkNvbnRyYWN0IhRrZXlVc2VyUG9vbHNDb250cmFjdCIOa2V5UHJpY2VBc3NldHMiEGtleVByaWNlRGVjaW1hbHMiE2tleUFsbFBvb2xzU2h1dGRvd24iFmtleU5leHRJbnRlcm5hbEFzc2V0SWQiD2tleVBvb2xUb1dlaWdodCILcG9vbEFkZHJlc3MiFmtleVBvb2xUb1dlaWdodEhpc3RvcnkiA251bSIfa2V5TWFwcGluZ3NJbnRlcm5hbDJiYXNlQXNzZXRJZCIRaW50ZXJuYWxCYXNlQXNzZXQiH2tleU1hcHBpbmdzQmFzZUFzc2V0MmludGVybmFsSWQiDGJhc2VBc3NldFN0ciINa2V5UG9vbENvbmZpZyITYW1vdW50QXNzZXRJbnRlcm5hbCIScHJpY2VBc3NldEludGVybmFsIiFrZXlQb29sT25lVG9rZW5PcGVyYXRpb25zRGlzYWJsZWQiDmFzc2V0c0ludGVybmFsIgskdDAzODc4Mzk0MCIla2V5QWxsUG9vbHNPbmVUb2tlbk9wZXJhdGlvbnNEaXNhYmxlZCITa2V5UG9vbFN3YXBEaXNhYmxlZCILJHQwNDIzMjQyOTQiF2tleUFsbFBvb2xzU3dhcERpc2FibGVkIh1rZXlNYXBwaW5nTHBBc3NldFRvUG9vbEFzc2V0cyIKbHBBc3NldFN0ciIda2V5TWFwcGluZ1Bvb2xBc3NldHNUb0xwYXNzZXQiGGludGVybmFsQW1vdW50QXNzZXRJZFN0ciIXaW50ZXJuYWxQcmljZUFzc2V0SWRTdHIiDWtleVBvb2xTcHJlYWQiKWtleU1hcHBpbmdQb29sQ29udHJhY3RBZGRyZXNzVG9Qb29sQXNzZXRzIhNwb29sQ29udHJhY3RBZGRyZXNzIilrZXlNYXBwaW5nUG9vbEFzc2V0c1RvUG9vbENvbnRyYWN0QWRkcmVzcyIfa2V5TWFwcGluZ1Bvb2xDb250cmFjdFRvTFBBc3NldCIqa2V5TWFwcGluZ1Bvb2xMUEFzc2V0VG9Qb29sQ29udHJhY3RBZGRyZXNzIg1rZXlXeEVtaXNzaW9uIg1hbW91bnRBc3NldElkIgxwcmljZUFzc2V0SWQiCGtleUluRmVlIg9rZXlJbkZlZURlZmF1bHQiCmtleVN3YXBGZWUiCWtleU91dEZlZSIQa2V5T3V0RmVlRGVmYXVsdCIWa2V5U2tpcE9yZGVyVmFsaWRhdGlvbiIRa2V5Q2hhbmdlQW1wRGVsYXkiEWtleUNoYW5nZUFtcERlbHRhIhJrZXlDaGFuZ2VBbXBUYXJnZXQiFWtleVNXYXZlc1Byb3h5QWRkcmVzcyIQa2V5U1dhdmVzQXNzZXRJZCIXa2V5U3Rha2luZ1Byb2ZpdEFkZHJlc3MiDmtleUxlYXNlZFJhdGlvIgdhc3NldElkIhVrZXlMZWFzZWRSYXRpb0RlZmF1bHQiF2tleUxlYXNlZFJhdGlvVG9sZXJhbmNlIg1rZXlNaW5CYWxhbmNlIhRrZXlNaW5CYWxhbmNlRGVmYXVsdCIPZ2V0U3RyaW5nT3JGYWlsIgNrZXkiEGdldEJvb2xlYW5PckZhaWwiDGdldEludE9yRmFpbCIMcGFyc2VBc3NldElkIgVpbnB1dCIcZ2V0TWFuYWdlclZhdWx0QWRkcmVzc09yVGhpcyIHJG1hdGNoMCIBcyIYSWR4RmFjdG9yeUNmZ1N0YWtpbmdEYXBwIhlJZHhGYWN0b3J5Q2ZnQm9vc3RpbmdEYXBwIhRJZHhGYWN0b3J5Q2ZnSWRvRGFwcCIVSWR4RmFjdG9yeUNmZ1RlYW1EYXBwIhlJZHhGYWN0b3J5Q2ZnRW1pc3Npb25EYXBwIhVJZHhGYWN0b3J5Q2ZnUmVzdERhcHAiGUlkeEZhY3RvcnlDZmdTbGlwcGFnZURhcHAiFElkeEZhY3RvcnlDZmdEYW9EYXBwIhpJZHhGYWN0b3J5Q2ZnTWFya2V0aW5nRGFwcCIaSWR4RmFjdG9yeUNmZ0d3eFJld2FyZERhcHAiFklkeEZhY3RvcnlDZmdCaXJkc0RhcHAiGGdldEJvb3N0aW5nQWRkcmVzc09yRmFpbCIKZmFjdG9yeUNmZyIYZ2V0RW1pc3Npb25BZGRyZXNzT3JGYWlsIhdnZXRTdGFraW5nQWRkcmVzc09yRmFpbCIZZ2V0R3d4UmV3YXJkQWRkcmVzc09yRmFpbCIOZ2V0UHJpY2VBc3NldHMiFm1hbmFnZXJQdWJsaWNLZXlPclVuaXQiE21hbmFnZXJWYXVsdEFkZHJlc3MiFXBlcm1pc3Npb25EZW5pZWRFcnJvciIJdGVzdEVycm9yIghtdXN0VGhpcyIBaSILbXVzdE1hbmFnZXIiAnBrIhBkYXRhRmFjdG9yeUNmZ1YzIg5zdGFraW5nQWRkcmVzcyIPYm9vc3RpbmdBZGRyZXNzIgtpZG9Db250cmFjdCIMdGVhbUNvbnRyYWN0IhBlbWlzc2lvbkNvbnRyYWN0IgxyZXN0Q29udHJhY3QiEHNsaXBwYWdlQ29udHJhY3QiC2Rhb0NvbnRyYWN0IhFtYXJrZXRpbmdDb250cmFjdCISZ3d4UmV3YXJkc0NvbnRyYWN0Ig1iaXJkc0NvbnRyYWN0Ig5kYXRhRmFjdG9yeUNmZyILZGF0YVBvb2xDZmciCnBvb2xTdGF0dXMiCWxwQXNzZXRJZCIOYW1vdW50QXNzZXRTdHIiDXByaWNlQXNzZXRTdHIiE2Ftb3VudEFzc2V0RGVjaW1hbHMiEnByaWNlQXNzZXREZWNpbWFscyIVYW1vdW50QXNzZXRJbnRlcm5hbElkIhRwcmljZUFzc2V0SW50ZXJuYWxJZCIPbHBBc3NldERlY2ltYWxzIghwb29sVHlwZSIVZGF0YU1hcHBpbmdQb29sQXNzZXRzIhZpbnRlcm5hbEFtb3VudEFzc2V0U3RyIhVpbnRlcm5hbFByaWNlQXNzZXRTdHIiDWdldFBvb2xDb25maWciCnBvb2xBc3NldHMiGmdldEludGVybmFsQXNzZXRJZE9yQ3JlYXRlIgphc3NldElkU3RyIgtpbmNyZW1lbnRvciIPaW50ZXJuYWxBc3NldElkIhhjdXJyZW50SW5kZXhPZkludGVybmFsSWQiBnJlc3VsdCISbmV3SW50ZXJuYWxBc3NldElkIgltdXN0QWRtaW4iCGFkbWluUEtzIglpc01hbmFnZXIiFmludE9yRGVmYXVsdE9yRmFsbGJhY2siCmtleURlZmF1bHQiDXZhbHVlRmFsbGJhY2siEnBvb2xFeGlzdHNJbnRlcm5hbCIEYW1BcyIEcHJBcyIDY2ZnIgpjZmdSZXZlcnNlIgZleGlzdHMiHGdldEFzc2V0c0RhdGFGcm9tUG9vbEFkZHJlc3MiDmdldFBvb2xDcmVhdG9yIg0kdDAxNTU4MjE1NzE5IhF1c2VyUG9vbHNDb250cmFjdCILcG9vbENyZWF0b3IiEWdldEFkZHJlc3NCYWxhbmNlIg1hZGRyZXNzU3RyaW5nIg1hc3NldElkU3RyaW5nIgdhZGRyZXNzIgtpc1Bvb2xFbXB0eSINJHQwMTYyOTQxNjQzMSINJHQwMTY3NDYxNzA1MCIBciIHJG1hdGNoMSICcmQiCmlzTGVhc2FibGUiC2xlYXNlZFJhdGlvIgptaW5CYWxhbmNlIgFiIgJiZCINJHQwMTczMTYxNzU0MCIMcHJveHlBZGRyZXNzIgxwcm94eUFzc2V0SWQiDHByb3h5UmF0ZU11bCIUc3Rha2luZ1Byb2ZpdEFkZHJlc3MiBmFzc2V0MSIGYXNzZXQyIglhc3NldE51bTEiCWFzc2V0TnVtMiICZWUiA3JlcyICbHAiD3N0YWtpbmdDb250cmFjdCIQYm9vc3RpbmdDb250cmFjdCIQc2xwaXBhZ2VDb250cmFjdCINcHJpY2VEZWNpbWFscyILY2hlY2tDYWxsZXIiEG1hdGhjaGVyUHViNThTdHIiCm1hdGhjZXJQdWIiFWxlZ2FjeUZhY3RvcnlDb250cmFjdCILbGVnYWN5UG9vbHMiE2Fzc2V0c1N0b3JlQ29udHJhY3QiFnZvdGluZ0VtaXNzaW9uQ29udHJhY3QiC3ByaWNlQXNzZXRzIgVjaGVrcyIMYWRtaW5QdWJLZXlzIgtscEFzc2V0TmFtZSIMbHBBc3NldERlc2NyIgpwb29sV2VpZ2h0IgRsb2dvIhdpbnRlcm5hbEFtb3VudEFzc2V0RGF0YSIVaW50ZXJuYWxBbW91bnRBc3NldElkIhZpbnRlcm5hbFByaWNlQXNzZXREYXRhIhRpbnRlcm5hbFByaWNlQXNzZXRJZCIVcG9vbEFjY291bnRTY3JpcHRIYXNoIhxldGhhbG9uUG9vbEFjY291bnRTY3JpcHRIYXNoIgpwb29sRXhpc3RzIg9wb29sQ29uZmlnVmFsdWUiFGFtb3VudEFzc2V0c0RlY2ltYWxzIhNwcmljZUFzc2V0c0RlY2ltYWxzIhJscEFzc2V0SXNzdWVBY3Rpb24iDGxwQXNzZXRJZFN0ciIYcG9vbEFjdGl2YXRlSW52b2tlUmVzdWx0IhhjcmVhdGVPclVwZGF0ZUxwQXNzZXRJbnYiEmFkZFBvb2xzTHBMYWJlbEludiIKc2V0TG9nb0ludiIQYWRkQXNzZXRzTGlua0ludiIbaW5jcmVhc2VBc3NldFBvb2xzTnVtYmVySW52IgluZXdTdGF0dXMiCnBvb2xDb25maWciCmxwQXNzZXREY20iDGFtb3VudFRvRW1pdCIGY2FsbGVyIgxvcmlnaW5DYWxsZXIiEGxwQXNzZXRSZXF1ZXN0ZWQiB2xwQXNzZXQiDGFtb3VudFRvQnVybiIHcGF5bWVudCINcGF5bWVudEFtb3VudCIPaW5BbW91bnRBc3NldElkIhpscEFzc2V0UmVxdWVzdGVkRm9yQnVybmluZyIFc2hhcmUiDXBvb2xXZWlnaHRLZXkiDGd3eFdlaWdodEtleSIJZ3d4V2VpZ2h0Ig1wb29sV2VpZ2h0TmV3IhFvbk1vZGlmeVdlaWdodEludiIVZ3d4VmlydHVhbFBvb2xBY3Rpb25zIhRwb29sV2VpZ2h0SGlzdG9yeUtleSIXcG9vbFdlaWdodEhpc3RvcnlPclVuaXQiGHBvb2xXZWlnaHRIaXN0b3J5QWN0aW9ucyIOYnRjUG9vbEFkZHJlc3MiDmV0aFBvb2xBZGRyZXNzIhFldGhCdGNQb29sQWRkcmVzcyITdXNkY1VzZHRQb29sQWRkcmVzcyIPZXRoQnRjV2VpZ2h0TmV3IhF1c2RjVXNkdFdlaWdodE5ldyIPd2VpZ2h0RGVjcmVtZW50IgtzdGFraW5nRGFwcCINZ3d4UmV3YXJkRGFwcCIMYnRjV2VpZ2h0S0VZIgxldGhXZWlnaHRLRVkiD2V0aEJ0Y1dlaWdodEtFWSIRdXNkY1VzZHRXZWlnaHRLRVkiCWJ0Y1dlaWdodCIJZXRoV2VpZ2h0IgxidGNXZWlnaHROZXciDGV0aFdlaWdodE5ldyIPYnRjTHBBc3NldElkU3RyIg9ldGhMcEFzc2V0SWRTdHIiEmV0aEJ0Y0xwQXNzZXRJZFN0ciIUdXNkY1VzZHRMcEFzc2V0SWRTdHIiEW9uTW9kaWZ5V2VpZ2h0QnRjIhFvbk1vZGlmeVdlaWdodEV0aCIUb25Nb2RpZnlXZWlnaHRFdGhCdGMiFm9uTW9kaWZ5V2VpZ2h0VXNkY1VzZHQiCWhhdmVMYWJlbCIUY2hlY2tQcmljZUFzc2V0c1NpemUiAmNiIgNhY2MiCnByaWNlQXNzZXQiB2FjdGlvbnMiAiRsIgIkcyIFJGFjYzAiBSRmMF8xIgIkYSICJGkiBSRmMF8yIh5wb29sT25lVG9rZW5PcGVyYXRpb25zRGlzYWJsZWQiImFsbFBvb2xzT25lVG9rZW5PcGVyYXRpb25zRGlzYWJsZWQiEHBvb2xTd2FwRGlzYWJsZWQiFGFsbFBvb2xzU3dhcERpc2FibGVkIgNmZWUiDnBvb2xBZGRyZXNzU3RyIglmZWVPcHRpb24iBXBhcnRzIgdwb29sRmVlIgtwcm90b2NvbEZlZSIQYW1vdW50QXNzZXRJZFN0ciIPcHJpY2VBc3NldElkU3RyIhthbW91bnRBc3NldEludGVybmFsSWRPcHRpb24iGnByaWNlQXNzZXRJbnRlcm5hbElkT3B0aW9uIhlwb29sQ29udHJhY3RBZGRyZXNzT3B0aW9uIg9scEFzc2V0SWRPcHRpb24iCHBvb2xJbmZvIgVkZWxheSIFZGVsdGEiBnRhcmdldCIGd2VpZ2h0IgtjaGVja1dlaWdodCILY2hlY2tTdGF0dXMiDSR0MDQwMzk1NDA1MzIiD3VzZXJQb29sc0ludm9rZSIUdm90aW5nRW1pc3Npb25JbnZva2UiEWFzc2V0c1N0b3JlSW52b2tlIgJ0eCIGdmVyaWZ5Ig90YXJnZXRQdWJsaWNLZXmAAQABYQAIAAFiAIDC1y8AAWMAgKCUpY0dAAFkABIAAWUJALYCAQCAgJC7utat8A0AAWYFAWIAAWcCDkdXWHZpcnR1YWxQT09MAAFoAghQT09MU19MUAABaQCAiXoAAWoCBVdBVkVTAAFrAg9mYWN0b3J5X3YyLnJpZGUAAWwJAGgCCQBoAgBkAOgHAOgHAAFtAgJfXwABbgIAAAFvAAEAAXAAAgABcQADAAFyAAQAAXMAAQABdAACAAF1AAMAAXYAAQABdwACAAF4AAMAAXkABAABegAFAAFBAAYAAUIABwABQwAIAAFEAAkAAUUACgABRgALAAFHAgtXWF9FTUlTU0lPTgABSAkAzAgCBQFHBQNuaWwBAUkBAUoJALkJAgkAzAgCBQFrCQDMCAICAjogCQDMCAIFAUoFA25pbAIAAQFLAQFKCQACAQkBAUkBBQFKAQFMAAIXJXNfX2FsbG93ZWRMcFNjcmlwdEhhc2gBAU0AAh0lc19fYWxsb3dlZExwU3RhYmxlU2NyaXB0SGFzaAEBTgACECVzX19zd2FwQ29udHJhY3QBAU8AAhElc19fZmFjdG9yeUNvbmZpZwEBUAACECVzX19scFRva2Vuc0xpc3QBAVEAAhYlcyVzX19wb29sX19zY3JpcHRIYXNoAQFSAAIYJXMlc19fbWF0Y2hlcl9fcHVibGljS2V5AQFTAAIZJXNfX2xlZ2FjeUZhY3RvcnlDb250cmFjdAEBVAACDyVzX19sZWdhY3lQb29scwEBVQACFCVzX19tYW5hZ2VyUHVibGljS2V5AQFWAAIXJXNfX21hbmFnZXJWYXVsdEFkZHJlc3MBAVcAAhAlc19fYWRtaW5QdWJLZXlzAQFYAAIXJXNfX2Fzc2V0c1N0b3JlQ29udHJhY3QBAVkAAholc19fdm90aW5nRW1pc3Npb25Db250cmFjdAEBWgACFSVzX191c2VyUG9vbHNDb250cmFjdAECYWEACQC5CQIJAMwIAgICJXMJAMwIAgILcHJpY2VBc3NldHMFA25pbAUBbQECYWIAAhElc19fcHJpY2VEZWNpbWFscwECYWMAAgwlc19fc2h1dGRvd24BAmFkAAIXJXNfX25leHRJbnRlcm5hbEFzc2V0SWQBAmFlAQJhZgkArAICAhIlcyVzX19wb29sV2VpZ2h0X18FAmFmAQJhZwICYWYCYWgJAKwCAgkArAICCQCsAgICEiVzJXNfX3Bvb2xXZWlnaHRfXwUCYWYCAl9fCQCkAwEFAmFoAQJhaQECYWoJAKwCAgIoJXMlcyVkX19tYXBwaW5nc19faW50ZXJuYWwyYmFzZUFzc2V0SWRfXwkApAMBBQJhagECYWsBAmFsCQCsAgICKCVzJXMlc19fbWFwcGluZ3NfX2Jhc2VBc3NldDJpbnRlcm5hbElkX18FAmFsAQJhbQICYW4CYW8JAKwCAgkArAICCQCsAgIJAKwCAgIIJWQlZCVzX18FAmFuAgJfXwUCYW8CCF9fY29uZmlnAQJhcAECYXEEAmFyBQJhcQQCYW4IBQJhcgJfMQQCYW8IBQJhcgJfMgkAuQkCCQDMCAICBiVkJWQlcwkAzAgCCQCkAwEFAmFuCQDMCAIJAKQDAQUCYW8JAMwIAgIab25lVG9rZW5PcGVyYXRpb25zRGlzYWJsZWQFA25pbAUBbQECYXMACQC5CQIJAMwIAgICJXMJAMwIAgIab25lVG9rZW5PcGVyYXRpb25zRGlzYWJsZWQFA25pbAUBbQECYXQBAmFxBAJhdQUCYXEEAmFuCAUCYXUCXzEEAmFvCAUCYXUCXzIJALkJAgkAzAgCAgYlZCVkJXMJAMwIAgkApAMBBQJhbgkAzAgCCQCkAwEFAmFvCQDMCAICDHN3YXBEaXNhYmxlZAUDbmlsBQFtAQJhdgAJALkJAgkAzAgCAgIlcwkAzAgCAgxzd2FwRGlzYWJsZWQFA25pbAUBbQECYXcBAmF4CQCsAgIJAKwCAgIIJXMlcyVzX18FAmF4AhhfX21hcHBpbmdzX19scEFzc2V0MlBvb2wBAmF5AgJhegJhQQkArAICCQCsAgIJAKwCAgkArAICAgolZCVkJXMlc19fBQJhegICX18FAmFBAh5fX21hcHBpbmdzX19Qb29sQXNzZXRzMkxwQXNzZXQBAmFCAQJhZgkArAICAg4lcyVzX19zcHJlYWRfXwUCYWYBAmFDAQJhRAkArAICCQCsAgICCCVzJXMlc19fBQJhRAIjX19tYXBwaW5nc19fcG9vbENvbnRyYWN0MlBvb2xBc3NldHMBAmFFAgJhegJhQQkArAICCQCsAgIJAKwCAgkArAICAgolZCVkJXMlc19fCQCkAwEFAmF6AgJfXwkApAMBBQJhQQIjX19tYXBwaW5nc19fcG9vbEFzc2V0czJQb29sQ29udHJhY3QBAmFGAQJhRAkArAICCQCsAgICCCVzJXMlc19fBQJhRAIgX19tYXBwaW5nc19fcG9vbENvbnRyYWN0MkxwQXNzZXQBAmFHAQJheAkArAICCQCsAgICCCVzJXMlc19fBQJheAIgX19tYXBwaW5nc19fbHBBc3NldDJQb29sQ29udHJhY3QBAmFIAgJhSQJhSgkArAICCQCsAgIJAKwCAgIUJXMlcyVzX193eEVtaXNzaW9uX18FAmFJAgJfXwUCYUoBAmFLAQJhZgkArAICAg0lcyVzX19pbkZlZV9fBQJhZgECYUwAAhAlc19faW5GZWVEZWZhdWx0AQJhTQECYWYJAKwCAgIPJXMlc19fc3dhcEZlZV9fBQJhZgECYU4BAmFmCQCsAgICDiVzJXNfX291dEZlZV9fBQJhZgECYU8AAhElc19fb3V0RmVlRGVmYXVsdAECYVABAmFmCQCsAgICGyVzJXNfX3NraXBPcmRlclZhbGlkYXRpb25fXwUCYWYBAmFRAQJhZgkArAICAhYlcyVzX19jaGFuZ2VBbXBEZWxheV9fBQJhZgECYVIBAmFmCQCsAgICFiVzJXNfX2NoYW5nZUFtcERlbHRhX18FAmFmAQJhUwECYWYJAKwCAgIXJXMlc19fY2hhbmdlQW1wVGFyZ2V0X18FAmFmAQJhVAACFiVzX19zV2F2ZXNQcm94eUFkZHJlc3MBAmFVAAIRJXNfX3NXYXZlc0Fzc2V0SWQBAmFWAAIYJXNfX3N0YWtpbmdQcm9maXRBZGRyZXNzAQJhVwICYWYCYVgJALkJAgkAzAgCAgYlcyVzJXMJAMwIAgILbGVhc2VkUmF0aW8JAMwIAgUCYWYJAMwIAgUCYVgFA25pbAUBbQECYVkBAmFYCQC5CQIJAMwIAgIEJXMlcwkAzAgCAhJsZWFzZWRSYXRpb0RlZmF1bHQJAMwIAgUCYVgFA25pbAUBbQECYVoCAmFmAmFYCQC5CQIJAMwIAgIGJXMlcyVzCQDMCAICFGxlYXNlZFJhdGlvVG9sZXJhbmNlCQDMCAIFAmFmCQDMCAIFAmFYBQNuaWwFAW0BAmJhAgJhZgJhWAkAuQkCCQDMCAICBiVzJXMlcwkAzAgCAgptaW5CYWxhbmNlCQDMCAIFAmFmCQDMCAIFAmFYBQNuaWwFAW0BAmJiAQJhWAkAuQkCCQDMCAICBCVzJXMJAMwIAgIRbWluQmFsYW5jZURlZmF1bHQJAMwIAgUCYVgFA25pbAUBbQECYmMBAmJkCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgUEdGhpcwUCYmQJAKwCAgIVTm8gZGF0YSBmb3IgdGhpcy5rZXk9BQJiZAECYmUBAmJkCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJsIAgUEdGhpcwUCYmQJAKwCAgIVTm8gZGF0YSBmb3IgdGhpcy5rZXk9BQJiZAECYmYBAmJkCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJoIAgUEdGhpcwUCYmQJAKwCAgIVTm8gZGF0YSBmb3IgdGhpcy5rZXk9BQJiZAECYmcBAmJoAwkAAAIFAmJoBQFqBQR1bml0CQDZBAEFAmJoAQJiaQAEAmJqCQCiCAEJAQFWAAMJAAECBQJiagIGU3RyaW5nBAJiawUCYmoJARFAZXh0ck5hdGl2ZSgxMDYyKQEFAmJrBQR0aGlzAAJibAABAAJibQACAAJibgADAAJibwAEAAJicAAFAAJicQAGAAJicgAHAAJicwAIAAJidAAJAAJidQAKAAJidgALAQJidwECYngJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAJEDAgUCYngFAmJtAQJieQECYngJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAJEDAgUCYngFAmJwAQJiegECYngJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAJEDAgUCYngFAmJsAQJiQQECYngJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAJEDAgUCYngFAmJ1AQJiQgAEAmJqCQCiCAEJAQJhYQADCQABAgUCYmoCBlN0cmluZwQCYmsFAmJqAwkAAAIJALECAQUCYmsAAAUDbmlsCQC8CQIFAmJrBQFtBQNuaWwBAmJDAAQCYkQJAQJiaQAEAmJqCQCdCAIFAmJECQEBVQADCQABAgUCYmoCBlN0cmluZwQCYmsFAmJqCQDZBAEFAmJrAwkAAQIFAmJqAgRVbml0BQR1bml0CQACAQILTWF0Y2ggZXJyb3IAAmJFCQEBSwECEVBlcm1pc3Npb24gZGVuaWVkAAJiRgkBAUsBAg9UZXN0IGVycm9yIGhlcmUBAmJHAQJiSAMJAAACCAUCYkgGY2FsbGVyBQR0aGlzBgUCYkUBAmJJAQJiSAQCYmoJAQJiQwADCQABAgUCYmoCCkJ5dGVWZWN0b3IEAmJKBQJiagMJAAACCAUCYkgPY2FsbGVyUHVibGljS2V5BQJiSgYFAmJFAwkAAQIFAmJqAgRVbml0CQECYkcBBQJiSAkAAgECC01hdGNoIGVycm9yAQJiSwsCYkwCYk0CYk4CYk8CYlACYlECYlICYlMCYlQCYlUCYlYJALkJAgkAzAgCAhYlcyVzJXMlcyVzJXMlcyVzJXMlcyVzCQDMCAIFAmJMCQDMCAIFAmJNCQDMCAIFAmJOCQDMCAIFAmJPCQDMCAIFAmJQCQDMCAIFAmJRCQDMCAIFAmJSCQDMCAIFAmJTCQDMCAIFAmJUCQDMCAIFAmJVCQDMCAIFAmJWBQNuaWwFAW0BAmJXBwJiTAJiTQJiTgJiTwJiUAJiUQJiUgkAuQkCCQDMCAICDCVzJXMlcyVzJXMlcwkAzAgCBQJiTAkAzAgCBQJiTQkAzAgCBQJiTgkAzAgCBQJiTwkAzAgCBQJiUAkAzAgCBQJiUQkAzAgCBQJiUgUDbmlsBQFtAQJiWAsCYWYCYlkCYloCY2ECY2ICY2MCY2QCY2UCY2YCY2cCY2gJALkJAgkAzAgCAhYlcyVkJXMlcyVzJWQlZCVkJWQlZCVzCQDMCAIFAmFmCQDMCAIFAmJZCQDMCAIFAmJaCQDMCAIFAmNhCQDMCAIFAmNiCQDMCAIJAKQDAQUCY2MJAMwIAgkApAMBBQJjZAkAzAgCCQCkAwEFAmNlCQDMCAIJAKQDAQUCY2YJAMwIAgkApAMBBQJjZwkAzAgCBQJjaAUDbmlsBQFtAQJjaQICY2oCY2sJALkJAgkAzAgCAgQlZCVkCQDMCAIJAKQDAQUCY2oJAMwIAgkApAMBBQJjawUDbmlsBQFtAQJjbAECYWYEAmNtCQC1CQIJAQJiYwEJAQJhQwEFAmFmBQFtBAJhbgkAkQMCBQJjbQABBAJhbwkAkQMCBQJjbQACCQC1CQIJAQJiYwEJAQJhbQIFAmFuBQJhbwUBbQECY24CAmNvAmNwBAJjcQkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQECYWsBBQJjbwAABAJjcgkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQECYWQAAAAEAmNzAwkAAAIFAmNxAAAEAmN0CQBkAgUCY3IFAmNwCQCVCgMFAmN0CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQECYWQABQJjdAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAmFrAQUCY28FAmN0CQDMCAIJAQtTdHJpbmdFbnRyeQIJAQJhaQEFAmN0BQJjbwUDbmlsBgkAlQoDBQJjcQUDbmlsBwUCY3MBAmN1AQJiSAQCY3YJALUJAgkBC3ZhbHVlT3JFbHNlAgkAoggBCQEBVwAFAW4FAW0DCQEPY29udGFpbnNFbGVtZW50AgUCY3YJANgEAQgFAmJID2NhbGxlclB1YmxpY0tleQYEAmN3CQECYkkBBQJiSAMJAAACBQJjdwUCY3cGCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAQJjeAMCYmQCY3kCY3oJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwUCYmQJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwUCY3kFAmN6AQJjQQICYUkCYUoEAmFuCQCfCAEJAQJhawEFAmFJBAJhbwkAnwgBCQECYWsBBQJhSgMDCQAAAgUCYW4FBHVuaXQGCQAAAgUCYW8FBHVuaXQHBAJjQgkApAMBCQEFdmFsdWUBBQJhbgQCY0MJAKQDAQkBBXZhbHVlAQUCYW8EAmNECQCiCAEJAQJhbQIFAmNCBQJjQwQCY0UJAKIIAQkBAmFtAgUCY0MFAmNCBAJjRgMJAQIhPQIFAmNEBQR1bml0BgkBAiE9AgUCY0UFBHVuaXQFAmNGAQJjRwECYUQEAmNtBAJiagkAoggBCQECYUMBBQJhRAMJAAECBQJiagIGU3RyaW5nBAJiawUCYmoJALUJAgUCYmsFAW0JAQFLAQkAuQkCCQDMCAIFAmFECQDMCAICEXBvb2wgaXMgbm90IGZvdW5kBQNuaWwCASAEAmFuCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUCY20AAQQCYW8JAQ1wYXJzZUludFZhbHVlAQkAkQMCBQJjbQACBAJhSQkBEUBleHRyTmF0aXZlKDEwNTgpAQkBAmFpAQUCYW4EAmFKCQERQGV4dHJOYXRpdmUoMTA1OCkBCQECYWkBBQJhbwQCYloJARFAZXh0ck5hdGl2ZSgxMDU4KQEJAQJhRgEFAmFECQCXCgUFAmFJBQJhSgUCYloFAmFuBQJhbwECY0gBAmFEBAJjSQkBAmNHAQUCYUQEAmFJCAUCY0kCXzEEAmFKCAUCY0kCXzIEAmJaCAUCY0kCXzMEAmFuCAUCY0kCXzQEAmFvCAUCY0kCXzUEAmNKCQERQGV4dHJOYXRpdmUoMTA2MikBCQERQGV4dHJOYXRpdmUoMTA1OCkBCQEBWgAEAmNLCQD8BwQFAmNKAhZnZXRQb29sQ3JlYXRvclJFQURPTkxZCQDMCAIFAmFJCQDMCAIFAmFKBQNuaWwFA25pbAUCY0sBAmNMAgJjTQJjTgQCY08JARFAZXh0ck5hdGl2ZSgxMDYyKQEFAmNNAwkAAAIFAmNOAgVXQVZFUwgJAO8HAQUCY08HcmVndWxhcgQCYVgJANkEAQUCY04JAPAHAgUCY08FAmFYAQJjUAECYUQEAmNRCQECY0cBBQJhRAQCYUkIBQJjUQJfMQQCYUoIBQJjUQJfMgQCYloIBQJjUQJfMwQCYW4IBQJjUQJfNAQCYW8IBQJjUQJfNQMJAAACCQECY0wCBQJhRAUCYUkAAAkAAAIJAQJjTAIFAmFEBQJhSgAAByMCYkgBF2dldFN3YXBDb250cmFjdFJFQURPTkxZAAkAlAoCBQNuaWwJAQJiYwEJAQFOAAJiSAEaZ2V0UG9vbExlYXNlQ29uZmlnUkVBRE9OTFkCAmFmAmFYBAJjUgQCYmoJAJoIAgUEdGhpcwkBAmFXAgUCYWYFAmFYAwkAAQIFAmJqAgNJbnQEAmNTBQJiagkAlAoCBgkAlwMBCQDMCAIAZAkAzAgCCQCWAwEJAMwIAgAACQDMCAIFAmNTBQNuaWwFA25pbAQCY1QJAJoIAgUEdGhpcwkBAmFZAQUCYVgDCQABAgUCY1QCA0ludAQCY1UFAmNUCQCUCgIGCQCXAwEJAMwIAgBkCQDMCAIJAJYDAQkAzAgCAAAJAMwIAgUCY1UFA25pbAUDbmlsCQCUCgIHAAAEAmNWCAUCY1ICXzEEAmNXCAUCY1ICXzIEAmNYBAJiagkAmggCBQR0aGlzCQECYmECBQJhZgUCYVgDCQABAgUCYmoCA0ludAQCY1kFAmJqCQCWAwEJAMwIAgAACQDMCAIFAmNZBQNuaWwEAmNUCQCaCAIFBHRoaXMJAQJiYgEFAmFYAwkAAQIFAmNUAgNJbnQEAmNaBQJjVAkAlgMBCQDMCAIAAAkAzAgCBQJjWgUDbmlsAAAEAmRhAwkAAAIFAmFYAgVXQVZFUwkAlQoDCQELdmFsdWVPckVsc2UCCQCdCAIFBHRoaXMJAQJhVAACAAkAnQgCBQR0aGlzCQELdmFsdWVPckVsc2UCCQECYVUAAgAFAWMJAJUKAwIAAgAAAAQCZGIIBQJkYQJfMQQCZGMIBQJkYQJfMgQCZGQIBQJkYQJfMwQCZGUJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUEdGhpcwkBAmFWAAIACQCUCgIFA25pbAkAmQoHBQJjVgUCY1cFAmNYBQJkYgUCZGMFAmRkBQJkZQJiSAEgZ2V0THBBc3NldEZyb21Qb29sQXNzZXRzUkVBRE9OTFkCAmRmAmRnAwMJAAACBQJkZgIsOExRVzhmN1A1ZDVQWk03R3RaRUJnYXFSUEdTelMzRGZQdWlYclVSSjRBSlMJAAACBQJkZwIFV0FWRVMHCQCUCgIFA25pbAUEdW5pdAQCZGgJAQV2YWx1ZQEJAJoIAgUEdGhpcwkBAmFrAQUCZGYEAmRpCQEFdmFsdWUBCQCaCAIFBHRoaXMJAQJhawEFAmRnBAJkagkAnQgCBQR0aGlzCQECYXkCCQCkAwEFAmRoCQCkAwEFAmRpBAJkawMJAAACBQJkagUEdW5pdAUEdW5pdAkAsAICCQEFdmFsdWUBBQJkagAECQCUCgIFA25pbAUCZGsCYkgBIWdldFBvb2xBZGRyZXNzRnJvbUxwQXNzZXRSRUFET05MWQECZGwJAJQKAgUDbmlsCQELdmFsdWVPckVsc2UCCQCdCAIFBHRoaXMJAQJhRwEFAmRsAgACYkgBC2NvbnN0cnVjdG9yCAJkbQJkbgJiTgJiTwJiUAJiUQJkbwJkcAQCZHEJAQJiSQEFAmJIAwkAAAIFAmRxBQJkcQkAzAgCCQELU3RyaW5nRW50cnkCCQEBTwAJAQJiVwcFAmRtBQJkbgUCYk4FAmJPBQJiUAUCYlEFAmRvCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQECYWIABQJkcAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJIAQ1jb25zdHJ1Y3RvclYyAQJkcgQCZHEJAQJiSQEFAmJIAwkAAAIFAmRxBQJkcQQCZHMJAKcIAQkA2QQBBQJkcgMJAAACBQJkcwUCZHMJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAVIABQJkcgUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJIAQ1jb25zdHJ1Y3RvclYzBAJiUwJiVAJiVQJiVgQCZHEJAQJiSQEFAmJIAwkAAAIFAmRxBQJkcQQCYngJALUJAgkBAmJjAQkBAU8ABQFtCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQFPAAkBAmJLCwkAkQMCBQJieAABCQCRAwIFAmJ4AAIJAJEDAgUCYngAAwkAkQMCBQJieAAECQCRAwIFAmJ4AAUJAJEDAgUCYngABgkAkQMCBQJieAAHBQJiUwUCYlQFAmJVBQJiVgUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJIAQ1jb25zdHJ1Y3RvclY0AgJkdAJkdQQCZHEJAQJiSQEFAmJIAwkAAAIFAmRxBQJkcQkAzAgCCQELU3RyaW5nRW50cnkCCQEBUwAFAmR0CQDMCAIJAQtTdHJpbmdFbnRyeQIJAQFUAAkAuQkCBQJkdQUBbQUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJIAQ1jb25zdHJ1Y3RvclY1AQJkdgQCZHEJAQJiSQEFAmJIAwkAAAIFAmRxBQJkcQkAzAgCCQELU3RyaW5nRW50cnkCCQEBWAAFAmR2BQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYkgBDWNvbnN0cnVjdG9yVjYCAmR3AmR4BAJkeQkAzAgCCQECYkkBBQJiSAkAzAgCAwkBAiE9AgkApggBBQJkdwUEdW5pdAYCKGludmFsaWQgdm90aW5nIGVtaXNzaW9uIGNvbnRyYWN0IGFkZHJlc3MFA25pbAMJAAACBQJkeQUCZHkJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAVkABQJkdwkAzAgCCQELU3RyaW5nRW50cnkCCQECYWEACQC5CQIFAmR4BQFtBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYkgBCXNldEFkbWlucwECZHoEAmRxCQECYkkBBQJiSAMJAAACBQJkcQUCZHEJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAVcACQC5CQIFAmR6BQFtBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYkgBD2FjdGl2YXRlTmV3UG9vbAgCYWYCY2ECY2ICZEECZEICZEMCY2gCZEQEAmRxCQECY3UBBQJiSAMJAAACBQJkcQUCZHEDCQEJaXNEZWZpbmVkAQkAoggBCQECYUMBBQJhZgkBAUsBCQCsAgIJAKwCAgINUG9vbCBhZGRyZXNzIAUCYWYCFCBhbHJlYWR5IHJlZ2lzdGVyZWQuBAJkRQkBAmNuAgUCY2EAAQQCZEYIBQJkRQJfMQQCZEcJAQJjbgIFAmNiAwgFAmRFAl8zAAIAAQQCZEgIBQJkRwJfMQQCZEkJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkA8QcBCQERQGV4dHJOYXRpdmUoMTA2MikBBQJhZgkArAICAilObyBzY3JpcHQgaGFzIGJlZW4gZm91bmQgb24gcG9vbCBhY2NvdW50IAUCYWYEAmRKCQERQGV4dHJOYXRpdmUoMTA1NykBCQEBUQAEAmRLCQECY0ECBQJjYQUCY2IDBQJkSwkBAUsBCQCsAgIJAKwCAgkArAICCQCsAgICBVBvb2wgBQJjYQIBLwUCY2ICHCBoYXMgYWxyZWFkeSBiZWVuIGFjdGl2YXRlZC4EAmRMCQEFdmFsdWUBCQCdCAIFBHRoaXMJAQJhbQIJAKQDAQUCZEYJAKQDAQUCZEgEAmRNAwkAAAIFAmNhAgVXQVZFUwUBbAkAbAYACgAACAkBBXZhbHVlAQkA7AcBCQDZBAEFAmNhCGRlY2ltYWxzAAAAAAUERE9XTgQCZE4DCQAAAgUCY2ICBVdBVkVTBQFsCQBsBgAKAAAICQEFdmFsdWUBCQDsBwEJANkEAQUCY2IIZGVjaW1hbHMAAAAABQRET1dOBAJkTwkAwggFBQJkQQUCZEIAAQAIBgQCYloJALgIAQUCZE8EAmRQCQDYBAEFAmJaBAJkUQkA/AcECQERQGV4dHJOYXRpdmUoMTA2MikBBQJhZgIIYWN0aXZhdGUJAMwIAgUCY2EJAMwIAgUCY2IFA25pbAUDbmlsAwkAAAIFAmRRBQJkUQMJAQIhPQIFAmRRAgdzdWNjZXNzCQEBSwECI1Bvb2wgaW5pdGlhbGlzYXRpb24gZXJyb3IgaGFwcGVuZWQuBAJkdgkBEUBleHRyTmF0aXZlKDEwNjIpAQkBAmJjAQkBAVgABAJkUgkA/AcEBQJkdgIOY3JlYXRlT3JVcGRhdGUJAMwIAgUCZFAJAMwIAgUCZEEJAMwIAgcFA25pbAUDbmlsAwkAAAIFAmRSBQJkUgQCZFMJAPwHBAUCZHYCCGFkZExhYmVsCQDMCAIFAmRQCQDMCAIFAWgFA25pbAUDbmlsAwkAAAIFAmRTBQJkUwQCZFQJAPwHBAUCZHYCB3NldExvZ28JAMwIAgUCZFAJAMwIAgUCZEQFA25pbAUDbmlsAwkAAAIFAmRUBQJkVAQCZFUJAPwHBAUCZHYCDWFkZEFzc2V0c0xpbmsJAMwIAgUCY2EJAMwIAgUCY2IJAMwIAgUCZFAFA25pbAUDbmlsAwkAAAIFAmRVBQJkVQQCZFYJAPwHBAUCZHYCGGluY3JlYXNlQXNzZXRQb29sc051bWJlcgkAzAgCBQJjYQUDbmlsBQNuaWwDCQAAAgUCZFYFAmRWCQCUCgIJAM4IAgkAzggCCAUCZEUCXzIIBQJkRwJfMgkAzAgCBQJkTwkAzAgCCQEEQnVybgIFAmJaAAEJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAmFtAgkApAMBBQJkRgkApAMBBQJkSAkBAmJYCwUCYWYJAKQDAQUBbwUCZFAFAmNhBQJjYgUCZE0FAmROBQJkRgUCZEgFAWwFAmNoCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQJhdwEFAmRQCQECY2kCBQJkRgUCZEgJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAmF5AgkApAMBBQJkRgkApAMBBQJkSAkArAICAgQlc19fBQJkUAkAzAgCCQELU3RyaW5nRW50cnkCCQECYUMBBQJhZgkBAmNpAgUCZEYFAmRICQDMCAIJAQtTdHJpbmdFbnRyeQIJAQJhRQIFAmRGBQJkSAUCYWYJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAmFHAQUCZFAFAmFmCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQJhRgEFAmFmBQJkUAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAmFlAQUCYWYFAmRDCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQECYUIBBQJhZgUBaQUDbmlsBQJkUAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJiSAEKbWFuYWdlUG9vbAICYWYCZFcEAmRxCQECYkkBBQJiSAMJAAACBQJkcQUCZHEEAmRYCQECY2wBBQJhZgQCYlkJAJEDAgUCZFgFAXcEAmRQCQCRAwIFAmRYBQF4BAJjYQkAkQMCBQJkWAUBeQQCY2IJAJEDAgUCZFgFAXoEAmRNCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUCZFgFAUEEAmROCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUCZFgFAUIEAmRGCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUCZFgFAUMEAmRICQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUCZFgFAUQEAmRZCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUCZFgFAUUEAmNoCQCRAwIFAmRYBQFGCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQJhbQIJAKQDAQUCZEYJAKQDAQUCZEgJAQJiWAsFAmFmCQCkAwEFAmRXBQJkUAUCY2EFAmNiBQJkTQUCZE4FAmRGBQJkSAUCZFkFAmNoBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYkgBBGVtaXQBAmRaBAJlYQgFAmJIBmNhbGxlcgQCZWIIBQJiSAxvcmlnaW5DYWxsZXIEAmVjCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKIIAQkBAmFGAQkApQgBBQJlYQIdSW52YWxpZCBMUCBhZGRyZXNzIGNhbGxlZCBtZS4EAmVkCQDZBAEFAmVjBAJkdQkAtQkCCQELdmFsdWVPckVsc2UCCQCiCAEJAQFUAAUBbgUBbQQCZHQJARFAZXh0ck5hdGl2ZSgxMDYyKQEJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAoggBCQEBUwACKExlZ2FjeSBmYWN0b3J5IGNvbnRyYWN0IGRvZXMgbm90IGV4aXN0cy4DCQBnAgAABQJkWgUDbmlsAwkBD2NvbnRhaW5zRWxlbWVudAIFAmR1CQClCAEFAmVhCQCUCgIFA25pbAUCZHQJAJQKAgkAzAgCCQEHUmVpc3N1ZQMFAmVkBQJkWgYJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAmJIBmNhbGxlcgUCZFoFAmVkBQNuaWwCB3N1Y2Nlc3MCYkgBBGJ1cm4BAmVlBAJlYQgFAmJIBmNhbGxlcgQCZWIIBQJiSAxvcmlnaW5DYWxsZXIEAmVmCQEFdmFsdWUBCQCRAwIIBQJiSAhwYXltZW50cwAABAJlZwkBBXZhbHVlAQgFAmVmBmFtb3VudAQCZWgJANgEAQkBBXZhbHVlAQgFAmVmB2Fzc2V0SWQEAmVpCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKIIAQkBAmFGAQkApQgBBQJlYQIdSW52YWxpZCBMUCBhZGRyZXNzIGNhbGxlZCBtZS4DCQECIT0CBQJlaAUCZWkJAQFLAQIVSW52YWxpZCBhc3NldCBwYXNzZWQuAwkBAiE9AgUCZWUFAmVnCQEBSwECFkludmFsaWQgYW1vdW50IHBhc3NlZC4EAmVkCQDZBAEFAmVpCQCUCgIJAMwIAgkBBEJ1cm4CBQJlZAUCZWUFA25pbAIHc3VjY2VzcwJiSAEMbW9kaWZ5V2VpZ2h0AgJiWgJlagQCZHEDCQAAAgkA2AQBCAgFAmJIBmNhbGxlcgVieXRlcwkBC3ZhbHVlT3JFbHNlAgkAnQgCBQR0aGlzCQEBWQACAAYJAQJiSQEFAmJIAwkAAAIFAmRxBQJkcQQCYUQJAQJiYwEJAQJhRwEFAmJaBAJlawkBAmFlAQUCYUQEAmVsCQECYWUBBQFnBAJlbQkBC3ZhbHVlT3JFbHNlAgkAnwgBBQJlbAAABAJkQwkBC3ZhbHVlT3JFbHNlAgkAnwgBBQJlawAABAJlbgUCZWoEAmJ4CQC1CQIJAQJiYwEJAQFPAAUBbQQCZG0JAQJiegEFAmJ4BAJlbwkA/AcEBQJkbQIOb25Nb2RpZnlXZWlnaHQJAMwIAgUCYloJAMwIAgUCYUQFA25pbAUDbmlsAwkAAAIFAmVvBQJlbwQCZXADCQAAAgUCZW0AAAUDbmlsCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQJlbAAABQNuaWwEAmVxCQECYWcCBQJhRAAABAJlcgkAnwgBBQJlcQQCZXMDCQAAAgUCZXIFBHVuaXQFA25pbAkAzAgCCQELRGVsZXRlRW50cnkBBQJlcQUDbmlsCQDOCAIJAM4IAgkAzAgCCQEMSW50ZWdlckVudHJ5AgUCZWsFAmVuBQNuaWwFAmVwBQJlcwkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJiSAENbW9kaWZ5V2VpZ2h0cwQCZXQCZXUCZXYCZXcEAmRxCQECYkkBBQJiSAMJAAACBQJkcQUCZHEEAmV4CQBpAgkAaAIABQUBZgBkBAJleQkAaQIJAGgCAAUFAWYAZAQCZXoJAGkCCQBoAgAFBQFmAGQEAmJ4CQC1CQIJAQJiYwEJAQFPAAUBbQQCZUEJAQJiegEFAmJ4BAJlQgkBAmJBAQUCYngEAmVDCQECYWUBBQJldAQCZUQJAQJhZQEFAmV1BAJlRQkBAmFlAQUCZXYEAmVGCQECYWUBBQJldwQCZUcJAQJiZgEFAmVDBAJlSAkBAmJmAQUCZUQEAmVJCQBlAgUCZUcFAmV6BAJlSgkAZQIFAmVIBQJlegMJAGcCAAAFAmVJCQEBSwEJAKwCAgIWaW52YWxpZCBidGNXZWlnaHROZXc6IAkApAMBBQJlSQMJAGcCAAAFAmVKCQEBSwEJAKwCAgIWaW52YWxpZCBldGhXZWlnaHROZXc6IAkApAMBBQJlSgQCZUsJAQJiYwEJAQJhRgEFAmV0BAJlTAkBAmJjAQkBAmFGAQUCZXUEAmVNCQECYmMBCQECYUYBBQJldgQCZU4JAQJiYwEJAQJhRgEFAmV3BAJlTwkA/AcEBQJlQQIOb25Nb2RpZnlXZWlnaHQJAMwIAgUCZUsJAMwIAgUCZXQFA25pbAUDbmlsAwkAAAIFAmVPBQJlTwQCZVAJAPwHBAUCZUECDm9uTW9kaWZ5V2VpZ2h0CQDMCAIFAmVMCQDMCAIFAmV1BQNuaWwFA25pbAMJAAACBQJlUAUCZVAEAmVRCQD8BwQFAmVBAg5vbk1vZGlmeVdlaWdodAkAzAgCBQJlTQkAzAgCBQJldgUDbmlsBQNuaWwDCQAAAgUCZVEFAmVRBAJlUgkA/AcEBQJlQQIOb25Nb2RpZnlXZWlnaHQJAMwIAgUCZU4JAMwIAgUCZXcFA25pbAUDbmlsAwkAAAIFAmVSBQJlUgkAzAgCCQEMSW50ZWdlckVudHJ5AgUCZUMFAmVJCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQJlRAUCZUoJAMwIAgkBDEludGVnZXJFbnRyeQIFAmVFBQJleAkAzAgCCQEMSW50ZWdlckVudHJ5AgUCZUYFAmV5CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQECYWcCBQJldAAABQJlRwkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAmFnAgUCZXUAAAUCZUgJAMwIAgkBDEludGVnZXJFbnRyeQIJAQJhZwIFAmV2AAAFAmV4CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQECYWcCBQJldwAABQJleQUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJIARhjaGVja1d4RW1pc3Npb25Qb29sTGFiZWwCAmFJAmFKBAJlUwQCYmoJAKAIAQkBAmFIAgUCYUkFAmFKAwkAAQIFAmJqAgdCb29sZWFuBAJjWQUCYmoFAmNZBwkAlAoCBQNuaWwFAmVTAmJIARZzZXRXeEVtaXNzaW9uUG9vbExhYmVsAgJhSQJhSgQCZHEJAQJjdQEFAmJIAwkAAAIFAmRxBQJkcQkAlAoCCQDMCAIJAQxCb29sZWFuRW50cnkCCQECYUgCBQJhSQUCYUoGBQNuaWwFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYkgBGWRlbGV0ZVd4RW1pc3Npb25Qb29sTGFiZWwCAmFJAmFKBAJkcQMJAAACCAUCYkgGY2FsbGVyBQR0aGlzBgkBAmN1AQUCYkgDCQAAAgUCZHEFAmRxCQCUCgIJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAmFIAgUCYUkFAmFKBQNuaWwFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYkgBEm9uVmVyaWZpY2F0aW9uTG9zcwECYVgEAmRxAwkAAAIJANgEAQgIBQJiSAZjYWxsZXIFYnl0ZXMJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUEdGhpcwkBAVgAAgAGCQECYkkBBQJiSAMJAAACBQJkcQUCZHEEAmR4CQECYkIABAJlVAMJAGYCCQCQAwEFAmR4AAAGCQEBSwECFGludmFsaWQgcHJpY2UgYXNzZXRzAwkAAAIFAmVUBQJlVAoBAmVVAgJlVgJlVwQCY1MJAPwHBAUEdGhpcwIZZGVsZXRlV3hFbWlzc2lvblBvb2xMYWJlbAkAzAgCBQJhWAkAzAgCBQJlVwUDbmlsBQNuaWwDCQAAAgUCY1MFAmNTBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuBAJlWAoAAmVZBQJkeAoAAmVaCQCQAwEFAmVZCgACZmEFBHVuaXQKAQJmYgICZmMCZmQDCQBnAgUCZmQFAmVaBQJmYwkBAmVVAgUCZmMJAJEDAgUCZVkFAmZkCgECZmUCAmZjAmZkAwkAZwIFAmZkBQJlWgUCZmMJAAIBAhRMaXN0IHNpemUgZXhjZWVkcyAxMwkBAmZlAgkBAmZiAgkBAmZiAgkBAmZiAgkBAmZiAgkBAmZiAgkBAmZiAgkBAmZiAgkBAmZiAgkBAmZiAgkBAmZiAgkBAmZiAgkBAmZiAgkBAmZiAgUCZmEAAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAwkAAAIFAmVYBQJlWAkAlAoCBQNuaWwFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYkgBKGlzUG9vbE9uZVRva2VuT3BlcmF0aW9uc0Rpc2FibGVkUkVBRE9OTFkBAmFmBAJkWAkBAmNsAQUCYWYEAmFxCQCUCgIJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQJkWAUBQwkBDXBhcnNlSW50VmFsdWUBCQCRAwIFAmRYBQFEBAJmZgkBC3ZhbHVlT3JFbHNlAgkAoAgBCQECYXABBQJhcQcEAmZnCQELdmFsdWVPckVsc2UCCQCgCAEJAQJhcwAHCQCUCgIFA25pbAMFAmZnBgUCZmYCYkgBGmlzUG9vbFN3YXBEaXNhYmxlZFJFQURPTkxZAQJhZgQCZFgJAQJjbAEFAmFmBAJhcQkAlAoCCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUCZFgFAUMJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQJkWAUBRAQCZmgJAQt2YWx1ZU9yRWxzZQIJAKAIAQkBAmF0AQUCYXEHBAJmaQkBC3ZhbHVlT3JFbHNlAgkAoAgBCQECYXYABwkAlAoCBQNuaWwDBQJmaQYFAmZoAmJIARBnZXRJbkZlZVJFQURPTkxZAQJhZgQCZmoJAQJjeAMJAQJhSwEFAmFmCQECYUwAAAAJAJQKAgUDbmlsBQJmagJiSAERZ2V0T3V0RmVlUkVBRE9OTFkBAmFmBAJmagkBAmN4AwkBAmFOAQUCYWYJAQJhTwAJAGsDAAoFAWIAkE4JAJQKAgUDbmlsBQJmagJiSAESZ2V0U3dhcEZlZVJFQURPTkxZAQJmawQCZmwEAmJqCQCdCAIFBHRoaXMJAQJhTQEFAmZrAwkAAQIFAmJqAgZTdHJpbmcEAmJrBQJiagQCZm0JALUJAgUCYmsFAW0EAmZuCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUCZm0AAQQCZm8JAQ1wYXJzZUludFZhbHVlAQkAkQMCBQJmbQACCQCUCgIFAmZuBQJmbwMJAAECBQJiagIEVW5pdAUEdW5pdAkAAgECC01hdGNoIGVycm9yCQCUCgIFA25pbAUCZmwCYkgBEHBvb2xJbmZvUkVBRE9OTFkCAmZwAmZxBAJmcgkAmggCBQR0aGlzCQECYWsBBQJmcAQCZnMJAJoIAgUEdGhpcwkBAmFrAQUCZnEEAmZ0CQCdCAIFBHRoaXMJAQJhRQIJAQV2YWx1ZQEFAmZyCQEFdmFsdWUBBQJmcwQCZnUJAJ0IAgUEdGhpcwkBAmFGAQkBBXZhbHVlAQUCZnQEAmRLAwMJAQlpc0RlZmluZWQBBQJmcgkBCWlzRGVmaW5lZAEFAmZzBwkBCWlzRGVmaW5lZAEFAmZ0BwQCZnYDBQJkSwkAlAoCCQERQGV4dHJOYXRpdmUoMTA2MikBCQEFdmFsdWUBBQJmdAkBAmJnAQkBBXZhbHVlAQUCZnUFBHVuaXQJAJQKAgUDbmlsBQJmdgJiSAEVZ2V0UG9vbFN0YXR1c1JFQURPTkxZAQJhZgQCY20JALUJAgkBAmJjAQkBAmFDAQUCYWYFAW0EAmFuCQCRAwIFAmNtAAEEAmFvCQCRAwIFAmNtAAIEAmNECQC1CQIJAQJiYwEJAQJhbQIFAmFuBQJhbwUBbQkAlAoCBQNuaWwJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQJjRAUBdwJiSAEVZ2V0UG9vbENvbmZpZ1JFQURPTkxZAQJhZgQCY20JALUJAgkBAmJjAQkBAmFDAQUCYWYFAW0EAmFuCQCRAwIFAmNtAAEEAmFvCQCRAwIFAmNtAAIEAmNECQC1CQIJAQJiYwEJAQJhbQIFAmFuBQJhbwUBbQkAlAoCBQNuaWwFAmNEAmJIASBnZXRQb29sQ29uZmlnQnlMcEFzc2V0SWRSRUFET05MWQECZFAEAmNtCQC1CQIJAQJiYwEJAQJhdwEFAmRQBQFtBAJhbgkAkQMCBQJjbQABBAJhbwkAkQMCBQJjbQACBAJjRAkAtQkCCQECYmMBCQECYW0CBQJhbgUCYW8FAW0JAJQKAgUDbmlsBQJjRAJiSAEScG9vbEV4aXN0c1JFQURPTkxZAgJhSQJhSgkAlAoCBQNuaWwJAQJjQQIFAmFJBQJhSgJiSAEbc2tpcE9yZGVyVmFsaWRhdGlvblJFQURPTkxZAQJhZgkAlAoCBQNuaWwJAQt2YWx1ZU9yRWxzZQIJAKAIAQkBAmFQAQUCYWYHAmJIARpnZXRDaGFuZ2VBbXBDb25maWdSRUFET05MWQECYWYEAmZ3CQERQGV4dHJOYXRpdmUoMTA1NSkBCQECYVEBBQJhZgQCZngJARFAZXh0ck5hdGl2ZSgxMDU1KQEJAQJhUgEFAmFmBAJmeQkBEUBleHRyTmF0aXZlKDEwNTUpAQkBAmFTAQUCYWYJAJQKAgUDbmlsCQDMCAIFAmZ3CQDMCAIFAmZ4CQDMCAIFAmZ5BQNuaWwCYkgBFWdldFBvb2xXZWlnaHRSRUFET05MWQECYloEAmFmCQECYmMBCQECYUcBBQJiWgQCZnoJAQt2YWx1ZU9yRWxzZQIJAJ8IAQkBAmFlAQUCYWYAAAkAlAoCBQNuaWwFAmZ6AmJIAQpkZWxldGVQb29sAQJhRAQCZFgJAQJjbAEFAmFEBAJkcQMJAAACCQClCAEIBQJiSAZjYWxsZXIJAQJjSAEFAmFEAwkBAmNQAQUCYUQGCQEBSwECEVBvb2wgaXMgbm90IGVtcHR5CQECYkkBBQJiSAMJAAACBQJkcQUCZHEEAmZBAwkAAAIJAQt2YWx1ZU9yRWxzZQIJAJ8IAQkBAmFlAQUCYUQAAAAABgkBAUsBAhdQb29sIHdlaWdodCBpcyBub3QgWmVybwMJAAACBQJmQQUCZkEEAmZCAwkAAAIJAJEDAgUCZFgFAXcJAKQDAQUBcgYJAQFLAQIZUG9vbCBtdXN0IGJlIFNIVVRET1dOICg0KQMJAAACBQJmQgUCZkIEAmZDCQECY0cBBQJhRAQCYUkIBQJmQwJfMQQCYUoIBQJmQwJfMgQCYloIBQJmQwJfMwQCYW4IBQJmQwJfNAQCYW8IBQJmQwJfNQQCY0oJARFAZXh0ck5hdGl2ZSgxMDYyKQEJARFAZXh0ck5hdGl2ZSgxMDU4KQEJAQFaAAQCZkQJAPwHBAUCY0oCCmRlbGV0ZVBvb2wJAMwIAgUCYUkJAMwIAgUCYUoFA25pbAUDbmlsAwkAAAIFAmZEBQJmRAQCZHcJARFAZXh0ck5hdGl2ZSgxMDYyKQEJARFAZXh0ck5hdGl2ZSgxMDU4KQEJAQFZAAQCZkUJAPwHBAUCZHcCCmRlbGV0ZVBvb2wJAMwIAgUCYUkJAMwIAgUCYUoFA25pbAUDbmlsAwkAAAIFAmZFBQJmRQQCZHYJARFAZXh0ck5hdGl2ZSgxMDYyKQEJARFAZXh0ck5hdGl2ZSgxMDU4KQEJAQFYAAQCZkYJAPwHBAUCZHYCCmRlbGV0ZVBvb2wJAMwIAgUCYUkJAMwIAgUCYUoFA25pbAUDbmlsAwkAAAIFAmZGBQJmRgkAzAgCCQELRGVsZXRlRW50cnkBCQECYUYBBQJhRAkAzAgCCQELRGVsZXRlRW50cnkBCQECYUMBBQJhRAkAzAgCCQELRGVsZXRlRW50cnkBCQECYXkCCQCkAwEFAmFuCQCkAwEFAmFvCQDMCAIJAQtEZWxldGVFbnRyeQEJAQJhRQIFAmFuBQJhbwkAzAgCCQELRGVsZXRlRW50cnkBCQECYW0CCQCkAwEFAmFuCQCkAwEFAmFvCQDMCAIJAQtEZWxldGVFbnRyeQEJAQJhdwEFAmJaCQDMCAIJAQtEZWxldGVFbnRyeQEJAQJhRwEFAmJaCQDMCAIJAQtEZWxldGVFbnRyeQEJAQJhSAIFAmFJBQJhSgkAzAgCCQELRGVsZXRlRW50cnkBCQECYWUBBQJhRAkAzAgCCQELRGVsZXRlRW50cnkBCQECYUIBBQJhRAkAzAgCCQELRGVsZXRlRW50cnkBCQECYUsBBQJhRAkAzAgCCQELRGVsZXRlRW50cnkBCQECYU4BBQJhRAkAzAgCCQELRGVsZXRlRW50cnkBCQECYVABBQJhRAkAzAgCCQELRGVsZXRlRW50cnkBCQECYVEBBQJhRAkAzAgCCQELRGVsZXRlRW50cnkBCQECYVIBBQJhRAkAzAgCCQELRGVsZXRlRW50cnkBCQECYVMBBQJhRAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAQJmRwECZkgABAJmSQQCYmoJAQJiQwADCQABAgUCYmoCCkJ5dGVWZWN0b3IEAmJKBQJiagUCYkoDCQABAgUCYmoCBFVuaXQIBQJmRw9zZW5kZXJQdWJsaWNLZXkJAAIBAgtNYXRjaCBlcnJvcgkA9AMDCAUCZkcJYm9keUJ5dGVzCQCRAwIIBQJmRwZwcm9vZnMAAAUCZknyrmEI", "height": 2714639, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 5t4tRB83cdfbUHn6pyHJJYCdmjTAZMaGxGXjxNYaGvWM Next: 3nGt3bwf2dGC4w3HPz7dXsP7DfbdMFtFn5ezxYzVhr4h Diff:
OldNewDifferences
158158 func as () = makeString(["%s", "oneTokenOperationsDisabled"], m)
159159
160160
161-func at (au) = (("%s%s%s__" + au) + "__mappings__lpAsset2Pool")
161+func at (aq) = {
162+ let au = aq
163+ let an = au._1
164+ let ao = au._2
165+ makeString(["%d%d%s", toString(an), toString(ao), "swapDisabled"], m)
166+ }
162167
163168
164-func av (aw,ax) = (((("%d%d%s%s__" + aw) + "__") + ax) + "__mappings__PoolAssets2LpAsset")
169+func av () = makeString(["%s", "swapDisabled"], m)
165170
166171
167-func ay (af) = ("%s%s__spread__" + af)
172+func aw (ax) = (("%s%s%s__" + ax) + "__mappings__lpAsset2Pool")
168173
169174
170-func az (aA) = (("%s%s%s__" + aA) + "__mappings__poolContract2PoolAssets")
175+func ay (az,aA) = (((("%d%d%s%s__" + az) + "__") + aA) + "__mappings__PoolAssets2LpAsset")
171176
172177
173-func aB (aw,ax) = (((("%d%d%s%s__" + toString(aw)) + "__") + toString(ax)) + "__mappings__poolAssets2PoolContract")
178+func aB (af) = ("%s%s__spread__" + af)
174179
175180
176-func aC (aA) = (("%s%s%s__" + aA) + "__mappings__poolContract2LpAsset")
181+func aC (aD) = (("%s%s%s__" + aD) + "__mappings__poolContract2PoolAssets")
177182
178183
179-func aD (au) = (("%s%s%s__" + au) + "__mappings__lpAsset2PoolContract")
184+func aE (az,aA) = (((("%d%d%s%s__" + toString(az)) + "__") + toString(aA)) + "__mappings__poolAssets2PoolContract")
180185
181186
182-func aE (aF,aG) = ((("%s%s%s__wxEmission__" + aF) + "__") + aG)
187+func aF (aD) = (("%s%s%s__" + aD) + "__mappings__poolContract2LpAsset")
183188
184189
185-func aH (af) = ("%s%s__inFee__" + af)
190+func aG (ax) = (("%s%s%s__" + ax) + "__mappings__lpAsset2PoolContract")
186191
187192
188-func aI () = "%s__inFeeDefault"
193+func aH (aI,aJ) = ((("%s%s%s__wxEmission__" + aI) + "__") + aJ)
189194
190195
191-func aJ (af) = ("%s%s__swapFee__" + af)
196+func aK (af) = ("%s%s__inFee__" + af)
192197
193198
194-func aK (af) = ("%s%s__outFee__" + af)
199+func aL () = "%s__inFeeDefault"
195200
196201
197-func aL () = "%s__outFeeDefault"
202+func aM (af) = ("%s%s__swapFee__" + af)
198203
199204
200-func aM (af) = ("%s%s__skipOrderValidation__" + af)
205+func aN (af) = ("%s%s__outFee__" + af)
201206
202207
203-func aN (af) = ("%s%s__changeAmpDelay__" + af)
208+func aO () = "%s__outFeeDefault"
204209
205210
206-func aO (af) = ("%s%s__changeAmpDelta__" + af)
211+func aP (af) = ("%s%s__skipOrderValidation__" + af)
207212
208213
209-func aP (af) = ("%s%s__changeAmpTarget__" + af)
214+func aQ (af) = ("%s%s__changeAmpDelay__" + af)
210215
211216
212-func aQ () = "%s__sWavesProxyAddress"
217+func aR (af) = ("%s%s__changeAmpDelta__" + af)
213218
214219
215-func aR () = "%s__sWavesAssetId"
220+func aS (af) = ("%s%s__changeAmpTarget__" + af)
216221
217222
218-func aS () = "%s__stakingProfitAddress"
223+func aT () = "%s__sWavesProxyAddress"
219224
220225
221-func aT (af,aU) = makeString(["%s%s%s", "leasedRatio", af, aU], m)
226+func aU () = "%s__sWavesAssetId"
222227
223228
224-func aV (aU) = makeString(["%s%s", "leasedRatioDefault", aU], m)
229+func aV () = "%s__stakingProfitAddress"
225230
226231
227-func aW (af,aU) = makeString(["%s%s%s", "leasedRatioTolerance", af, aU], m)
232+func aW (af,aX) = makeString(["%s%s%s", "leasedRatio", af, aX], m)
228233
229234
230-func aX (af,aU) = makeString(["%s%s%s", "minBalance", af, aU], m)
235+func aY (aX) = makeString(["%s%s", "leasedRatioDefault", aX], m)
231236
232237
233-func aY (aU) = makeString(["%s%s", "minBalanceDefault", aU], m)
238+func aZ (af,aX) = makeString(["%s%s%s", "leasedRatioTolerance", af, aX], m)
234239
235240
236-func aZ (ba) = valueOrErrorMessage(getString(this, ba), ("No data for this.key=" + ba))
241+func ba (af,aX) = makeString(["%s%s%s", "minBalance", af, aX], m)
237242
238243
239-func bb (ba) = valueOrErrorMessage(getBoolean(this, ba), ("No data for this.key=" + ba))
244+func bb (aX) = makeString(["%s%s", "minBalanceDefault", aX], m)
240245
241246
242-func bc (ba) = valueOrErrorMessage(getInteger(this, ba), ("No data for this.key=" + ba))
247+func bc (bd) = valueOrErrorMessage(getString(this, bd), ("No data for this.key=" + bd))
243248
244249
245-func bd (be) = if ((be == j))
246- then unit
247- else fromBase58String(be)
250+func be (bd) = valueOrErrorMessage(getBoolean(this, bd), ("No data for this.key=" + bd))
248251
249252
250-func bf () = {
251- let bg = getString(V())
252- if ($isInstanceOf(bg, "String"))
253+func bf (bd) = valueOrErrorMessage(getInteger(this, bd), ("No data for this.key=" + bd))
254+
255+
256+func bg (bh) = if ((bh == j))
257+ then unit
258+ else fromBase58String(bh)
259+
260+
261+func bi () = {
262+ let bj = getString(V())
263+ if ($isInstanceOf(bj, "String"))
253264 then {
254- let bh = bg
255- addressFromStringValue(bh)
265+ let bk = bj
266+ addressFromStringValue(bk)
256267 }
257268 else this
258269 }
259270
260271
261-let bi = 1
272+let bl = 1
262273
263-let bj = 2
274+let bm = 2
264275
265-let bk = 3
276+let bn = 3
266277
267-let bl = 4
278+let bo = 4
268279
269-let bm = 5
280+let bp = 5
270281
271-let bn = 6
282+let bq = 6
272283
273-let bo = 7
284+let br = 7
274285
275-let bp = 8
286+let bs = 8
276287
277-let bq = 9
288+let bt = 9
278289
279-let br = 10
290+let bu = 10
280291
281-let bs = 11
292+let bv = 11
282293
283-func bt (bu) = addressFromStringValue(bu[bj])
294+func bw (bx) = addressFromStringValue(bx[bm])
284295
285296
286-func bv (bu) = addressFromStringValue(bu[bm])
297+func by (bx) = addressFromStringValue(bx[bp])
287298
288299
289-func bw (bu) = addressFromStringValue(bu[bi])
300+func bz (bx) = addressFromStringValue(bx[bl])
290301
291302
292-func bx (bu) = addressFromStringValue(bu[br])
303+func bA (bx) = addressFromStringValue(bx[bu])
293304
294305
295-func by () = {
296- let bg = getString(aa())
297- if ($isInstanceOf(bg, "String"))
306+func bB () = {
307+ let bj = getString(aa())
308+ if ($isInstanceOf(bj, "String"))
298309 then {
299- let bh = bg
300- if ((size(bh) == 0))
310+ let bk = bj
311+ if ((size(bk) == 0))
301312 then nil
302- else split_4C(bh, m)
313+ else split_4C(bk, m)
303314 }
304315 else nil
305316 }
306317
307318
308-func bz () = {
309- let bA = bf()
310- let bg = getString(bA, U())
311- if ($isInstanceOf(bg, "String"))
319+func bC () = {
320+ let bD = bi()
321+ let bj = getString(bD, U())
322+ if ($isInstanceOf(bj, "String"))
312323 then {
313- let bh = bg
314- fromBase58String(bh)
324+ let bk = bj
325+ fromBase58String(bk)
315326 }
316- else if ($isInstanceOf(bg, "Unit"))
327+ else if ($isInstanceOf(bj, "Unit"))
317328 then unit
318329 else throw("Match error")
319330 }
320331
321332
322-let bB = K("Permission denied")
333+let bE = K("Permission denied")
323334
324-let bC = K("Test error here")
335+let bF = K("Test error here")
325336
326-func bD (bE) = if ((bE.caller == this))
337+func bG (bH) = if ((bH.caller == this))
327338 then true
328- else bB
339+ else bE
329340
330341
331-func bF (bE) = {
332- let bg = bz()
333- if ($isInstanceOf(bg, "ByteVector"))
342+func bI (bH) = {
343+ let bj = bC()
344+ if ($isInstanceOf(bj, "ByteVector"))
334345 then {
335- let bG = bg
336- if ((bE.callerPublicKey == bG))
346+ let bJ = bj
347+ if ((bH.callerPublicKey == bJ))
337348 then true
338- else bB
349+ else bE
339350 }
340- else if ($isInstanceOf(bg, "Unit"))
341- then bD(bE)
351+ else if ($isInstanceOf(bj, "Unit"))
352+ then bG(bH)
342353 else throw("Match error")
343354 }
344355
345356
346-func bH (bI,bJ,bK,bL,bM,bN,bO,bP,bQ,bR,bS) = makeString(["%s%s%s%s%s%s%s%s%s%s%s", bI, bJ, bK, bL, bM, bN, bO, bP, bQ, bR, bS], m)
357+func bK (bL,bM,bN,bO,bP,bQ,bR,bS,bT,bU,bV) = makeString(["%s%s%s%s%s%s%s%s%s%s%s", bL, bM, bN, bO, bP, bQ, bR, bS, bT, bU, bV], m)
347358
348359
349-func bT (bI,bJ,bK,bL,bM,bN,bO) = makeString(["%s%s%s%s%s%s", bI, bJ, bK, bL, bM, bN, bO], m)
360+func bW (bL,bM,bN,bO,bP,bQ,bR) = makeString(["%s%s%s%s%s%s", bL, bM, bN, bO, bP, bQ, bR], m)
350361
351362
352-func bU (af,bV,bW,bX,bY,bZ,ca,cb,cc,cd,ce) = makeString(["%s%d%s%s%s%d%d%d%d%d%s", af, bV, bW, bX, bY, toString(bZ), toString(ca), toString(cb), toString(cc), toString(cd), ce], m)
363+func bX (af,bY,bZ,ca,cb,cc,cd,ce,cf,cg,ch) = makeString(["%s%d%s%s%s%d%d%d%d%d%s", af, bY, bZ, ca, cb, toString(cc), toString(cd), toString(ce), toString(cf), toString(cg), ch], m)
353364
354365
355-func cf (cg,ch) = makeString(["%d%d", toString(cg), toString(ch)], m)
366+func ci (cj,ck) = makeString(["%d%d", toString(cj), toString(ck)], m)
356367
357368
358-func ci (af) = {
359- let cj = split(aZ(az(af)), m)
360- let an = cj[1]
361- let ao = cj[2]
362- split(aZ(am(an, ao)), m)
369+func cl (af) = {
370+ let cm = split(bc(aC(af)), m)
371+ let an = cm[1]
372+ let ao = cm[2]
373+ split(bc(am(an, ao)), m)
363374 }
364375
365376
366-func ck (cl,cm) = {
367- let cn = valueOrElse(getInteger(this, ak(cl)), 0)
368- let co = valueOrElse(getInteger(this, ad()), 0)
369- let cp = if ((cn == 0))
377+func cn (co,cp) = {
378+ let cq = valueOrElse(getInteger(this, ak(co)), 0)
379+ let cr = valueOrElse(getInteger(this, ad()), 0)
380+ let cs = if ((cq == 0))
370381 then {
371- let cq = (co + cm)
372- $Tuple3(cq, [IntegerEntry(ad(), cq), IntegerEntry(ak(cl), cq), StringEntry(ai(cq), cl)], true)
382+ let ct = (cr + cp)
383+ $Tuple3(ct, [IntegerEntry(ad(), ct), IntegerEntry(ak(co), ct), StringEntry(ai(ct), co)], true)
373384 }
374- else $Tuple3(cn, nil, false)
375- cp
385+ else $Tuple3(cq, nil, false)
386+ cs
376387 }
377388
378389
379-func cr (bE) = {
380- let cs = split(valueOrElse(getString(W()), n), m)
381- if (containsElement(cs, toBase58String(bE.callerPublicKey)))
390+func cu (bH) = {
391+ let cv = split(valueOrElse(getString(W()), n), m)
392+ if (containsElement(cv, toBase58String(bH.callerPublicKey)))
382393 then true
383394 else {
384- let ct = bF(bE)
385- if ((ct == ct))
395+ let cw = bI(bH)
396+ if ((cw == cw))
386397 then true
387398 else throw("Strict value is not equal to itself.")
388399 }
389400 }
390401
391402
392-func cu (ba,cv,cw) = valueOrElse(getInteger(this, ba), valueOrElse(getInteger(this, cv), cw))
403+func cx (bd,cy,cz) = valueOrElse(getInteger(this, bd), valueOrElse(getInteger(this, cy), cz))
393404
394405
395-func cx (aF,aG) = {
396- let an = getInteger(ak(aF))
397- let ao = getInteger(ak(aG))
406+func cA (aI,aJ) = {
407+ let an = getInteger(ak(aI))
408+ let ao = getInteger(ak(aJ))
398409 if (if ((an == unit))
399410 then true
400411 else (ao == unit))
401412 then false
402413 else {
403- let cy = toString(value(an))
404- let cz = toString(value(ao))
405- let cA = getString(am(cy, cz))
406- let cB = getString(am(cz, cy))
407- let cC = if ((cA != unit))
414+ let cB = toString(value(an))
415+ let cC = toString(value(ao))
416+ let cD = getString(am(cB, cC))
417+ let cE = getString(am(cC, cB))
418+ let cF = if ((cD != unit))
408419 then true
409- else (cB != unit)
410- cC
420+ else (cE != unit)
421+ cF
411422 }
412423 }
413424
414425
415-func cD (aA) = {
416- let cj = {
417- let bg = getString(az(aA))
418- if ($isInstanceOf(bg, "String"))
426+func cG (aD) = {
427+ let cm = {
428+ let bj = getString(aC(aD))
429+ if ($isInstanceOf(bj, "String"))
419430 then {
420- let bh = bg
421- split(bh, m)
431+ let bk = bj
432+ split(bk, m)
422433 }
423- else K(makeString([aA, "pool is not found"], " "))
434+ else K(makeString([aD, "pool is not found"], " "))
424435 }
425- let an = parseIntValue(cj[1])
426- let ao = parseIntValue(cj[2])
427- let aF = getStringValue(ai(an))
428- let aG = getStringValue(ai(ao))
429- let bW = getStringValue(aC(aA))
430- $Tuple5(aF, aG, bW, an, ao)
436+ let an = parseIntValue(cm[1])
437+ let ao = parseIntValue(cm[2])
438+ let aI = getStringValue(ai(an))
439+ let aJ = getStringValue(ai(ao))
440+ let bZ = getStringValue(aF(aD))
441+ $Tuple5(aI, aJ, bZ, an, ao)
431442 }
432443
433444
434-func cE (aA) = {
435- let cF = cD(aA)
436- let aF = cF._1
437- let aG = cF._2
438- let bW = cF._3
439- let an = cF._4
440- let ao = cF._5
441- let cG = addressFromStringValue(getStringValue(Z()))
442- let cH = invoke(cG, "getPoolCreatorREADONLY", [aF, aG], nil)
443- cH
445+func cH (aD) = {
446+ let cI = cG(aD)
447+ let aI = cI._1
448+ let aJ = cI._2
449+ let bZ = cI._3
450+ let an = cI._4
451+ let ao = cI._5
452+ let cJ = addressFromStringValue(getStringValue(Z()))
453+ let cK = invoke(cJ, "getPoolCreatorREADONLY", [aI, aJ], nil)
454+ cK
444455 }
445456
446457
447-func cI (cJ,cK) = {
448- let cL = addressFromStringValue(cJ)
449- if ((cK == "WAVES"))
450- then wavesBalance(cL).regular
458+func cL (cM,cN) = {
459+ let cO = addressFromStringValue(cM)
460+ if ((cN == "WAVES"))
461+ then wavesBalance(cO).regular
451462 else {
452- let aU = fromBase58String(cK)
453- assetBalance(cL, aU)
463+ let aX = fromBase58String(cN)
464+ assetBalance(cO, aX)
454465 }
455466 }
456467
457468
458-func cM (aA) = {
459- let cN = cD(aA)
460- let aF = cN._1
461- let aG = cN._2
462- let bW = cN._3
463- let an = cN._4
464- let ao = cN._5
465- if ((cI(aA, aF) == 0))
466- then (cI(aA, aG) == 0)
469+func cP (aD) = {
470+ let cQ = cG(aD)
471+ let aI = cQ._1
472+ let aJ = cQ._2
473+ let bZ = cQ._3
474+ let an = cQ._4
475+ let ao = cQ._5
476+ if ((cL(aD, aI) == 0))
477+ then (cL(aD, aJ) == 0)
467478 else false
468479 }
469480
470481
471-@Callable(bE)
472-func getSwapContractREADONLY () = $Tuple2(nil, aZ(N()))
482+@Callable(bH)
483+func getSwapContractREADONLY () = $Tuple2(nil, bc(N()))
473484
474485
475486
476-@Callable(bE)
477-func getPoolLeaseConfigREADONLY (af,aU) = {
478- let cO = {
479- let bg = getInteger(this, aT(af, aU))
480- if ($isInstanceOf(bg, "Int"))
487+@Callable(bH)
488+func getPoolLeaseConfigREADONLY (af,aX) = {
489+ let cR = {
490+ let bj = getInteger(this, aW(af, aX))
491+ if ($isInstanceOf(bj, "Int"))
481492 then {
482- let cP = bg
483- $Tuple2(true, min([100, max([0, cP])]))
493+ let cS = bj
494+ $Tuple2(true, min([100, max([0, cS])]))
484495 }
485496 else {
486- let cQ = getInteger(this, aV(aU))
487- if ($isInstanceOf(cQ, "Int"))
497+ let cT = getInteger(this, aY(aX))
498+ if ($isInstanceOf(cT, "Int"))
488499 then {
489- let cR = cQ
490- $Tuple2(true, min([100, max([0, cR])]))
500+ let cU = cT
501+ $Tuple2(true, min([100, max([0, cU])]))
491502 }
492503 else $Tuple2(false, 0)
493504 }
494505 }
495- let cS = cO._1
496- let cT = cO._2
497- let cU = {
498- let bg = getInteger(this, aX(af, aU))
499- if ($isInstanceOf(bg, "Int"))
506+ let cV = cR._1
507+ let cW = cR._2
508+ let cX = {
509+ let bj = getInteger(this, ba(af, aX))
510+ if ($isInstanceOf(bj, "Int"))
500511 then {
501- let cV = bg
502- max([0, cV])
512+ let cY = bj
513+ max([0, cY])
503514 }
504515 else {
505- let cQ = getInteger(this, aY(aU))
506- if ($isInstanceOf(cQ, "Int"))
516+ let cT = getInteger(this, bb(aX))
517+ if ($isInstanceOf(cT, "Int"))
507518 then {
508- let cW = cQ
509- max([0, cW])
519+ let cZ = cT
520+ max([0, cZ])
510521 }
511522 else 0
512523 }
513524 }
514- let cX = if ((aU == "WAVES"))
515- then $Tuple3(valueOrElse(getString(this, aQ()), ""), getString(this, valueOrElse(aR(), "")), c)
525+ let da = if ((aX == "WAVES"))
526+ then $Tuple3(valueOrElse(getString(this, aT()), ""), getString(this, valueOrElse(aU(), "")), c)
516527 else $Tuple3("", "", 0)
517- let cY = cX._1
518- let cZ = cX._2
519- let da = cX._3
520- let db = valueOrElse(getString(this, aS()), "")
521- $Tuple2(nil, $Tuple7(cS, cT, cU, cY, cZ, da, db))
528+ let db = da._1
529+ let dc = da._2
530+ let dd = da._3
531+ let de = valueOrElse(getString(this, aV()), "")
532+ $Tuple2(nil, $Tuple7(cV, cW, cX, db, dc, dd, de))
522533 }
523534
524535
525536
526-@Callable(bE)
527-func getLpAssetFromPoolAssetsREADONLY (dc,dd) = if (if ((dc == "8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS"))
528- then (dd == "WAVES")
537+@Callable(bH)
538+func getLpAssetFromPoolAssetsREADONLY (df,dg) = if (if ((df == "8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS"))
539+ then (dg == "WAVES")
529540 else false)
530541 then $Tuple2(nil, unit)
531542 else {
532- let de = value(getInteger(this, ak(dc)))
533- let df = value(getInteger(this, ak(dd)))
534- let dg = getString(this, av(toString(de), toString(df)))
535- let dh = if ((dg == unit))
543+ let dh = value(getInteger(this, ak(df)))
544+ let di = value(getInteger(this, ak(dg)))
545+ let dj = getString(this, ay(toString(dh), toString(di)))
546+ let dk = if ((dj == unit))
536547 then unit
537- else drop(value(dg), 4)
538- $Tuple2(nil, dh)
548+ else drop(value(dj), 4)
549+ $Tuple2(nil, dk)
539550 }
540551
541552
542553
543-@Callable(bE)
544-func getPoolAddressFromLpAssetREADONLY (di) = $Tuple2(nil, valueOrElse(getString(this, aD(di)), ""))
554+@Callable(bH)
555+func getPoolAddressFromLpAssetREADONLY (dl) = $Tuple2(nil, valueOrElse(getString(this, aG(dl)), ""))
545556
546557
547558
548-@Callable(bE)
549-func constructor (dj,dk,bK,bL,bM,bN,dl,dm) = {
550- let dn = bF(bE)
551- if ((dn == dn))
552- then [StringEntry(O(), bT(dj, dk, bK, bL, bM, bN, dl)), IntegerEntry(ab(), dm)]
559+@Callable(bH)
560+func constructor (dm,dn,bN,bO,bP,bQ,do,dp) = {
561+ let dq = bI(bH)
562+ if ((dq == dq))
563+ then [StringEntry(O(), bW(dm, dn, bN, bO, bP, bQ, do)), IntegerEntry(ab(), dp)]
553564 else throw("Strict value is not equal to itself.")
554565 }
555566
556567
557568
558-@Callable(bE)
559-func constructorV2 (do) = {
560- let dn = bF(bE)
561- if ((dn == dn))
569+@Callable(bH)
570+func constructorV2 (dr) = {
571+ let dq = bI(bH)
572+ if ((dq == dq))
562573 then {
563- let dp = addressFromPublicKey(fromBase58String(do))
564- if ((dp == dp))
565- then [StringEntry(R(), do)]
574+ let ds = addressFromPublicKey(fromBase58String(dr))
575+ if ((ds == ds))
576+ then [StringEntry(R(), dr)]
566577 else throw("Strict value is not equal to itself.")
567578 }
568579 else throw("Strict value is not equal to itself.")
570581
571582
572583
573-@Callable(bE)
574-func constructorV3 (bP,bQ,bR,bS) = {
575- let dn = bF(bE)
576- if ((dn == dn))
584+@Callable(bH)
585+func constructorV3 (bS,bT,bU,bV) = {
586+ let dq = bI(bH)
587+ if ((dq == dq))
577588 then {
578- let bu = split(aZ(O()), m)
579-[StringEntry(O(), bH(bu[1], bu[2], bu[3], bu[4], bu[5], bu[6], bu[7], bP, bQ, bR, bS))]
589+ let bx = split(bc(O()), m)
590+[StringEntry(O(), bK(bx[1], bx[2], bx[3], bx[4], bx[5], bx[6], bx[7], bS, bT, bU, bV))]
580591 }
581592 else throw("Strict value is not equal to itself.")
582593 }
583594
584595
585596
586-@Callable(bE)
587-func constructorV4 (dq,dr) = {
588- let dn = bF(bE)
589- if ((dn == dn))
590- then [StringEntry(S(), dq), StringEntry(T(), makeString(dr, m))]
597+@Callable(bH)
598+func constructorV4 (dt,du) = {
599+ let dq = bI(bH)
600+ if ((dq == dq))
601+ then [StringEntry(S(), dt), StringEntry(T(), makeString(du, m))]
591602 else throw("Strict value is not equal to itself.")
592603 }
593604
594605
595606
596-@Callable(bE)
597-func constructorV5 (ds) = {
598- let dn = bF(bE)
599- if ((dn == dn))
600- then [StringEntry(X(), ds)]
607+@Callable(bH)
608+func constructorV5 (dv) = {
609+ let dq = bI(bH)
610+ if ((dq == dq))
611+ then [StringEntry(X(), dv)]
601612 else throw("Strict value is not equal to itself.")
602613 }
603614
604615
605616
606-@Callable(bE)
607-func constructorV6 (dt,du) = {
608- let dv = [bF(bE), if ((addressFromString(dt) != unit))
617+@Callable(bH)
618+func constructorV6 (dw,dx) = {
619+ let dy = [bI(bH), if ((addressFromString(dw) != unit))
609620 then true
610621 else "invalid voting emission contract address"]
611- if ((dv == dv))
612- then [StringEntry(Y(), dt), StringEntry(aa(), makeString(du, m))]
622+ if ((dy == dy))
623+ then [StringEntry(Y(), dw), StringEntry(aa(), makeString(dx, m))]
613624 else throw("Strict value is not equal to itself.")
614625 }
615626
616627
617628
618-@Callable(bE)
619-func setAdmins (dw) = {
620- let dn = bF(bE)
621- if ((dn == dn))
622- then [StringEntry(W(), makeString(dw, m))]
629+@Callable(bH)
630+func setAdmins (dz) = {
631+ let dq = bI(bH)
632+ if ((dq == dq))
633+ then [StringEntry(W(), makeString(dz, m))]
623634 else throw("Strict value is not equal to itself.")
624635 }
625636
626637
627638
628-@Callable(bE)
629-func activateNewPool (af,bX,bY,dx,dy,dz,ce,dA) = {
630- let dn = cr(bE)
631- if ((dn == dn))
632- then if (isDefined(getString(az(af))))
639+@Callable(bH)
640+func activateNewPool (af,ca,cb,dA,dB,dC,ch,dD) = {
641+ let dq = cu(bH)
642+ if ((dq == dq))
643+ then if (isDefined(getString(aC(af))))
633644 then K((("Pool address " + af) + " already registered."))
634645 else {
635- let dB = ck(bX, 1)
636- let dC = dB._1
637- let dD = ck(bY, if (dB._3)
646+ let dE = cn(ca, 1)
647+ let dF = dE._1
648+ let dG = cn(cb, if (dE._3)
638649 then 2
639650 else 1)
640- let dE = dD._1
641- let dF = valueOrErrorMessage(scriptHash(addressFromStringValue(af)), ("No script has been found on pool account " + af))
642- let dG = getBinaryValue(Q())
643- let dH = cx(bX, bY)
644- if (dH)
645- then K((((("Pool " + bX) + "/") + bY) + " has already been activated."))
651+ let dH = dG._1
652+ let dI = valueOrErrorMessage(scriptHash(addressFromStringValue(af)), ("No script has been found on pool account " + af))
653+ let dJ = getBinaryValue(Q())
654+ let dK = cA(ca, cb)
655+ if (dK)
656+ then K((((("Pool " + ca) + "/") + cb) + " has already been activated."))
646657 else {
647- let dI = value(getString(this, am(toString(dC), toString(dE))))
648- let dJ = if ((bX == "WAVES"))
658+ let dL = value(getString(this, am(toString(dF), toString(dH))))
659+ let dM = if ((ca == "WAVES"))
649660 then l
650- else pow(10, 0, value(assetInfo(fromBase58String(bX))).decimals, 0, 0, DOWN)
651- let dK = if ((bY == "WAVES"))
661+ else pow(10, 0, value(assetInfo(fromBase58String(ca))).decimals, 0, 0, DOWN)
662+ let dN = if ((cb == "WAVES"))
652663 then l
653- else pow(10, 0, value(assetInfo(fromBase58String(bY))).decimals, 0, 0, DOWN)
654- let dL = Issue(dx, dy, 1, 8, true)
655- let bW = calculateAssetId(dL)
656- let dM = toBase58String(bW)
657- let dN = invoke(addressFromStringValue(af), "activate", [bX, bY], nil)
658- if ((dN == dN))
659- then if ((dN != "success"))
664+ else pow(10, 0, value(assetInfo(fromBase58String(cb))).decimals, 0, 0, DOWN)
665+ let dO = Issue(dA, dB, 1, 8, true)
666+ let bZ = calculateAssetId(dO)
667+ let dP = toBase58String(bZ)
668+ let dQ = invoke(addressFromStringValue(af), "activate", [ca, cb], nil)
669+ if ((dQ == dQ))
670+ then if ((dQ != "success"))
660671 then K("Pool initialisation error happened.")
661672 else {
662- let ds = addressFromStringValue(aZ(X()))
663- let dO = invoke(ds, "createOrUpdate", [dM, dx, false], nil)
664- if ((dO == dO))
673+ let dv = addressFromStringValue(bc(X()))
674+ let dR = invoke(dv, "createOrUpdate", [dP, dA, false], nil)
675+ if ((dR == dR))
665676 then {
666- let dP = invoke(ds, "addLabel", [dM, h], nil)
667- if ((dP == dP))
677+ let dS = invoke(dv, "addLabel", [dP, h], nil)
678+ if ((dS == dS))
668679 then {
669- let dQ = invoke(ds, "setLogo", [dM, dA], nil)
670- if ((dQ == dQ))
680+ let dT = invoke(dv, "setLogo", [dP, dD], nil)
681+ if ((dT == dT))
671682 then {
672- let dR = invoke(ds, "addAssetsLink", [bX, bY, dM], nil)
673- if ((dR == dR))
683+ let dU = invoke(dv, "addAssetsLink", [ca, cb, dP], nil)
684+ if ((dU == dU))
674685 then {
675- let dS = invoke(ds, "increaseAssetPoolsNumber", [bX], nil)
676- if ((dS == dS))
677- then $Tuple2(((dB._2 ++ dD._2) ++ [dL, Burn(bW, 1), StringEntry(am(toString(dC), toString(dE)), bU(af, toString(o), dM, bX, bY, dJ, dK, dC, dE, l, ce)), StringEntry(at(dM), cf(dC, dE)), StringEntry(av(toString(dC), toString(dE)), ("%s__" + dM)), StringEntry(az(af), cf(dC, dE)), StringEntry(aB(dC, dE), af), StringEntry(aD(dM), af), StringEntry(aC(af), dM), IntegerEntry(ae(af), dz), IntegerEntry(ay(af), i)]), dM)
686+ let dV = invoke(dv, "increaseAssetPoolsNumber", [ca], nil)
687+ if ((dV == dV))
688+ then $Tuple2(((dE._2 ++ dG._2) ++ [dO, Burn(bZ, 1), StringEntry(am(toString(dF), toString(dH)), bX(af, toString(o), dP, ca, cb, dM, dN, dF, dH, l, ch)), StringEntry(aw(dP), ci(dF, dH)), StringEntry(ay(toString(dF), toString(dH)), ("%s__" + dP)), StringEntry(aC(af), ci(dF, dH)), StringEntry(aE(dF, dH), af), StringEntry(aG(dP), af), StringEntry(aF(af), dP), IntegerEntry(ae(af), dC), IntegerEntry(aB(af), i)]), dP)
678689 else throw("Strict value is not equal to itself.")
679690 }
680691 else throw("Strict value is not equal to itself.")
693704
694705
695706
696-@Callable(bE)
697-func managePool (af,dT) = {
698- let dn = bF(bE)
699- if ((dn == dn))
707+@Callable(bH)
708+func managePool (af,dW) = {
709+ let dq = bI(bH)
710+ if ((dq == dq))
700711 then {
701- let dU = ci(af)
702- let bV = dU[w]
703- let dM = dU[x]
704- let bX = dU[y]
705- let bY = dU[z]
706- let dJ = parseIntValue(dU[A])
707- let dK = parseIntValue(dU[B])
708- let dC = parseIntValue(dU[C])
709- let dE = parseIntValue(dU[D])
710- let dV = parseIntValue(dU[E])
711- let ce = dU[F]
712-[StringEntry(am(toString(dC), toString(dE)), bU(af, toString(dT), dM, bX, bY, dJ, dK, dC, dE, dV, ce))]
712+ let dX = cl(af)
713+ let bY = dX[w]
714+ let dP = dX[x]
715+ let ca = dX[y]
716+ let cb = dX[z]
717+ let dM = parseIntValue(dX[A])
718+ let dN = parseIntValue(dX[B])
719+ let dF = parseIntValue(dX[C])
720+ let dH = parseIntValue(dX[D])
721+ let dY = parseIntValue(dX[E])
722+ let ch = dX[F]
723+[StringEntry(am(toString(dF), toString(dH)), bX(af, toString(dW), dP, ca, cb, dM, dN, dF, dH, dY, ch))]
713724 }
714725 else throw("Strict value is not equal to itself.")
715726 }
716727
717728
718729
719-@Callable(bE)
720-func emit (dW) = {
721- let dX = bE.caller
722- let dY = bE.originCaller
723- let dZ = valueOrErrorMessage(getString(aC(toString(dX))), "Invalid LP address called me.")
724- let ea = fromBase58String(dZ)
725- let dr = split(valueOrElse(getString(T()), n), m)
726- let dq = addressFromStringValue(valueOrErrorMessage(getString(S()), "Legacy factory contract does not exists."))
727- if ((0 >= dW))
730+@Callable(bH)
731+func emit (dZ) = {
732+ let ea = bH.caller
733+ let eb = bH.originCaller
734+ let ec = valueOrErrorMessage(getString(aF(toString(ea))), "Invalid LP address called me.")
735+ let ed = fromBase58String(ec)
736+ let du = split(valueOrElse(getString(T()), n), m)
737+ let dt = addressFromStringValue(valueOrErrorMessage(getString(S()), "Legacy factory contract does not exists."))
738+ if ((0 >= dZ))
728739 then nil
729- else if (containsElement(dr, toString(dX)))
730- then $Tuple2(nil, dq)
731- else $Tuple2([Reissue(ea, dW, true), ScriptTransfer(bE.caller, dW, ea)], "success")
740+ else if (containsElement(du, toString(ea)))
741+ then $Tuple2(nil, dt)
742+ else $Tuple2([Reissue(ed, dZ, true), ScriptTransfer(bH.caller, dZ, ed)], "success")
732743 }
733744
734745
735746
736-@Callable(bE)
737-func burn (eb) = {
738- let dX = bE.caller
739- let dY = bE.originCaller
740- let ec = value(bE.payments[0])
741- let ed = value(ec.amount)
742- let ee = toBase58String(value(ec.assetId))
743- let ef = valueOrErrorMessage(getString(aC(toString(dX))), "Invalid LP address called me.")
744- if ((ee != ef))
747+@Callable(bH)
748+func burn (ee) = {
749+ let ea = bH.caller
750+ let eb = bH.originCaller
751+ let ef = value(bH.payments[0])
752+ let eg = value(ef.amount)
753+ let eh = toBase58String(value(ef.assetId))
754+ let ei = valueOrErrorMessage(getString(aF(toString(ea))), "Invalid LP address called me.")
755+ if ((eh != ei))
745756 then K("Invalid asset passed.")
746- else if ((eb != ed))
757+ else if ((ee != eg))
747758 then K("Invalid amount passed.")
748759 else {
749- let ea = fromBase58String(ef)
750- $Tuple2([Burn(ea, eb)], "success")
760+ let ed = fromBase58String(ei)
761+ $Tuple2([Burn(ed, ee)], "success")
751762 }
752763 }
753764
754765
755766
756-@Callable(bE)
757-func modifyWeight (bW,eg) = {
758- let dn = if ((toBase58String(bE.caller.bytes) == valueOrElse(getString(this, Y()), "")))
767+@Callable(bH)
768+func modifyWeight (bZ,ej) = {
769+ let dq = if ((toBase58String(bH.caller.bytes) == valueOrElse(getString(this, Y()), "")))
759770 then true
760- else bF(bE)
761- if ((dn == dn))
771+ else bI(bH)
772+ if ((dq == dq))
762773 then {
763- let aA = aZ(aD(bW))
764- let eh = ae(aA)
765- let ei = ae(g)
766- let ej = valueOrElse(getInteger(ei), 0)
767- let dz = valueOrElse(getInteger(eh), 0)
768- let ek = eg
769- let bu = split(aZ(O()), m)
770- let dj = bw(bu)
771- let el = invoke(dj, "onModifyWeight", [bW, aA], nil)
772- if ((el == el))
774+ let aD = bc(aG(bZ))
775+ let ek = ae(aD)
776+ let el = ae(g)
777+ let em = valueOrElse(getInteger(el), 0)
778+ let dC = valueOrElse(getInteger(ek), 0)
779+ let en = ej
780+ let bx = split(bc(O()), m)
781+ let dm = bz(bx)
782+ let eo = invoke(dm, "onModifyWeight", [bZ, aD], nil)
783+ if ((eo == eo))
773784 then {
774- let em = if ((ej == 0))
785+ let ep = if ((em == 0))
775786 then nil
776- else [IntegerEntry(ei, 0)]
777- let en = ag(aA, 0)
778- let eo = getInteger(en)
779- let ep = if ((eo == unit))
787+ else [IntegerEntry(el, 0)]
788+ let eq = ag(aD, 0)
789+ let er = getInteger(eq)
790+ let es = if ((er == unit))
780791 then nil
781- else [DeleteEntry(en)]
782- (([IntegerEntry(eh, ek)] ++ em) ++ ep)
792+ else [DeleteEntry(eq)]
793+ (([IntegerEntry(ek, en)] ++ ep) ++ es)
783794 }
784795 else throw("Strict value is not equal to itself.")
785796 }
788799
789800
790801
791-@Callable(bE)
792-func modifyWeights (eq,er,es,et) = {
793- let dn = bF(bE)
794- if ((dn == dn))
802+@Callable(bH)
803+func modifyWeights (et,eu,ev,ew) = {
804+ let dq = bI(bH)
805+ if ((dq == dq))
795806 then {
796- let eu = ((5 * f) / 100)
797- let ev = ((5 * f) / 100)
798- let ew = ((5 * f) / 100)
799- let bu = split(aZ(O()), m)
800- let ex = bw(bu)
801- let ey = bx(bu)
802- let ez = ae(eq)
803- let eA = ae(er)
804- let eB = ae(es)
807+ let ex = ((5 * f) / 100)
808+ let ey = ((5 * f) / 100)
809+ let ez = ((5 * f) / 100)
810+ let bx = split(bc(O()), m)
811+ let eA = bz(bx)
812+ let eB = bA(bx)
805813 let eC = ae(et)
806- let eD = bc(ez)
807- let eE = bc(eA)
808- let eF = (eD - ew)
809- let eG = (eE - ew)
810- if ((0 >= eF))
811- then K(("invalid btcWeightNew: " + toString(eF)))
812- else if ((0 >= eG))
813- then K(("invalid ethWeightNew: " + toString(eG)))
814+ let eD = ae(eu)
815+ let eE = ae(ev)
816+ let eF = ae(ew)
817+ let eG = bf(eC)
818+ let eH = bf(eD)
819+ let eI = (eG - ez)
820+ let eJ = (eH - ez)
821+ if ((0 >= eI))
822+ then K(("invalid btcWeightNew: " + toString(eI)))
823+ else if ((0 >= eJ))
824+ then K(("invalid ethWeightNew: " + toString(eJ)))
814825 else {
815- let eH = aZ(aC(eq))
816- let eI = aZ(aC(er))
817- let eJ = aZ(aC(es))
818- let eK = aZ(aC(et))
819- let eL = invoke(ex, "onModifyWeight", [eH, eq], nil)
820- if ((eL == eL))
826+ let eK = bc(aF(et))
827+ let eL = bc(aF(eu))
828+ let eM = bc(aF(ev))
829+ let eN = bc(aF(ew))
830+ let eO = invoke(eA, "onModifyWeight", [eK, et], nil)
831+ if ((eO == eO))
821832 then {
822- let eM = invoke(ex, "onModifyWeight", [eI, er], nil)
823- if ((eM == eM))
833+ let eP = invoke(eA, "onModifyWeight", [eL, eu], nil)
834+ if ((eP == eP))
824835 then {
825- let eN = invoke(ex, "onModifyWeight", [eJ, es], nil)
826- if ((eN == eN))
836+ let eQ = invoke(eA, "onModifyWeight", [eM, ev], nil)
837+ if ((eQ == eQ))
827838 then {
828- let eO = invoke(ex, "onModifyWeight", [eK, et], nil)
829- if ((eO == eO))
830- then [IntegerEntry(ez, eF), IntegerEntry(eA, eG), IntegerEntry(eB, eu), IntegerEntry(eC, ev), IntegerEntry(ag(eq, 0), eD), IntegerEntry(ag(er, 0), eE), IntegerEntry(ag(es, 0), eu), IntegerEntry(ag(et, 0), ev)]
839+ let eR = invoke(eA, "onModifyWeight", [eN, ew], nil)
840+ if ((eR == eR))
841+ then [IntegerEntry(eC, eI), IntegerEntry(eD, eJ), IntegerEntry(eE, ex), IntegerEntry(eF, ey), IntegerEntry(ag(et, 0), eG), IntegerEntry(ag(eu, 0), eH), IntegerEntry(ag(ev, 0), ex), IntegerEntry(ag(ew, 0), ey)]
831842 else throw("Strict value is not equal to itself.")
832843 }
833844 else throw("Strict value is not equal to itself.")
842853
843854
844855
845-@Callable(bE)
846-func checkWxEmissionPoolLabel (aF,aG) = {
847- let eP = {
848- let bg = getBoolean(aE(aF, aG))
849- if ($isInstanceOf(bg, "Boolean"))
856+@Callable(bH)
857+func checkWxEmissionPoolLabel (aI,aJ) = {
858+ let eS = {
859+ let bj = getBoolean(aH(aI, aJ))
860+ if ($isInstanceOf(bj, "Boolean"))
850861 then {
851- let cV = bg
852- cV
862+ let cY = bj
863+ cY
853864 }
854865 else false
855866 }
856- $Tuple2(nil, eP)
867+ $Tuple2(nil, eS)
857868 }
858869
859870
860871
861-@Callable(bE)
862-func setWxEmissionPoolLabel (aF,aG) = {
863- let dn = cr(bE)
864- if ((dn == dn))
865- then $Tuple2([BooleanEntry(aE(aF, aG), true)], unit)
872+@Callable(bH)
873+func setWxEmissionPoolLabel (aI,aJ) = {
874+ let dq = cu(bH)
875+ if ((dq == dq))
876+ then $Tuple2([BooleanEntry(aH(aI, aJ), true)], unit)
866877 else throw("Strict value is not equal to itself.")
867878 }
868879
869880
870881
871-@Callable(bE)
872-func deleteWxEmissionPoolLabel (aF,aG) = {
873- let dn = if ((bE.caller == this))
882+@Callable(bH)
883+func deleteWxEmissionPoolLabel (aI,aJ) = {
884+ let dq = if ((bH.caller == this))
874885 then true
875- else cr(bE)
876- if ((dn == dn))
877- then $Tuple2([DeleteEntry(aE(aF, aG))], unit)
886+ else cu(bH)
887+ if ((dq == dq))
888+ then $Tuple2([DeleteEntry(aH(aI, aJ))], unit)
878889 else throw("Strict value is not equal to itself.")
879890 }
880891
881892
882893
883-@Callable(bE)
884-func onVerificationLoss (aU) = {
885- let dn = if ((toBase58String(bE.caller.bytes) == valueOrElse(getString(this, X()), "")))
894+@Callable(bH)
895+func onVerificationLoss (aX) = {
896+ let dq = if ((toBase58String(bH.caller.bytes) == valueOrElse(getString(this, X()), "")))
886897 then true
887- else bF(bE)
888- if ((dn == dn))
898+ else bI(bH)
899+ if ((dq == dq))
889900 then {
890- let du = by()
891- let eQ = if ((size(du) > 0))
901+ let dx = bB()
902+ let eT = if ((size(dx) > 0))
892903 then true
893904 else K("invalid price assets")
894- if ((eQ == eQ))
905+ if ((eT == eT))
895906 then {
896- func eR (eS,eT) = {
897- let cP = invoke(this, "deleteWxEmissionPoolLabel", [aU, eT], nil)
898- if ((cP == cP))
907+ func eU (eV,eW) = {
908+ let cS = invoke(this, "deleteWxEmissionPoolLabel", [aX, eW], nil)
909+ if ((cS == cS))
899910 then unit
900911 else throw("Strict value is not equal to itself.")
901912 }
902913
903- let eU = {
904- let eV = du
905- let eW = size(eV)
906- let eX = unit
907- func eY (eZ,fa) = if ((fa >= eW))
908- then eZ
909- else eR(eZ, eV[fa])
914+ let eX = {
915+ let eY = dx
916+ let eZ = size(eY)
917+ let fa = unit
918+ func fb (fc,fd) = if ((fd >= eZ))
919+ then fc
920+ else eU(fc, eY[fd])
910921
911- func fb (eZ,fa) = if ((fa >= eW))
912- then eZ
922+ func fe (fc,fd) = if ((fd >= eZ))
923+ then fc
913924 else throw("List size exceeds 13")
914925
915- fb(eY(eY(eY(eY(eY(eY(eY(eY(eY(eY(eY(eY(eY(eX, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13)
926+ fe(fb(fb(fb(fb(fb(fb(fb(fb(fb(fb(fb(fb(fb(fa, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13)
916927 }
917- if ((eU == eU))
928+ if ((eX == eX))
918929 then $Tuple2(nil, unit)
919930 else throw("Strict value is not equal to itself.")
920931 }
925936
926937
927938
928-@Callable(bE)
939+@Callable(bH)
929940 func isPoolOneTokenOperationsDisabledREADONLY (af) = {
930- let dU = ci(af)
931- let aq = $Tuple2(parseIntValue(dU[C]), parseIntValue(dU[D]))
932- let fc = valueOrElse(getBoolean(ap(aq)), false)
933- let fd = valueOrElse(getBoolean(as()), false)
934- $Tuple2(nil, if (fd)
941+ let dX = cl(af)
942+ let aq = $Tuple2(parseIntValue(dX[C]), parseIntValue(dX[D]))
943+ let ff = valueOrElse(getBoolean(ap(aq)), false)
944+ let fg = valueOrElse(getBoolean(as()), false)
945+ $Tuple2(nil, if (fg)
935946 then true
936- else fc)
947+ else ff)
937948 }
938949
939950
940951
941-@Callable(bE)
942-func getInFeeREADONLY (af) = {
943- let fe = cu(aH(af), aI(), 0)
944- $Tuple2(nil, fe)
952+@Callable(bH)
953+func isPoolSwapDisabledREADONLY (af) = {
954+ let dX = cl(af)
955+ let aq = $Tuple2(parseIntValue(dX[C]), parseIntValue(dX[D]))
956+ let fh = valueOrElse(getBoolean(at(aq)), false)
957+ let fi = valueOrElse(getBoolean(av()), false)
958+ $Tuple2(nil, if (fi)
959+ then true
960+ else fh)
945961 }
946962
947963
948964
949-@Callable(bE)
950-func getOutFeeREADONLY (af) = {
951- let fe = cu(aK(af), aL(), fraction(10, b, 10000))
952- $Tuple2(nil, fe)
965+@Callable(bH)
966+func getInFeeREADONLY (af) = {
967+ let fj = cx(aK(af), aL(), 0)
968+ $Tuple2(nil, fj)
953969 }
954970
955971
956972
957-@Callable(bE)
958-func getSwapFeeREADONLY (ff) = {
959- let fg = {
960- let bg = getString(this, aJ(ff))
961- if ($isInstanceOf(bg, "String"))
962- then {
963- let bh = bg
964- let fh = split(bh, m)
965- let fi = parseIntValue(fh[1])
966- let fj = parseIntValue(fh[2])
967- $Tuple2(fi, fj)
968- }
969- else if ($isInstanceOf(bg, "Unit"))
970- then unit
971- else throw("Match error")
972- }
973- $Tuple2(nil, fg)
973+@Callable(bH)
974+func getOutFeeREADONLY (af) = {
975+ let fj = cx(aN(af), aO(), fraction(10, b, 10000))
976+ $Tuple2(nil, fj)
974977 }
975978
976979
977980
978-@Callable(bE)
979-func poolInfoREADONLY (fk,fl) = {
980- let fm = getInteger(this, ak(fk))
981- let fn = getInteger(this, ak(fl))
982- let fo = getString(this, aB(value(fm), value(fn)))
983- let fp = getString(this, aC(value(fo)))
984- let dH = if (if (isDefined(fm))
985- then isDefined(fn)
986- else false)
987- then isDefined(fo)
988- else false
989- let fq = if (dH)
990- then $Tuple2(addressFromStringValue(value(fo)), bd(value(fp)))
991- else unit
992- $Tuple2(nil, fq)
981+@Callable(bH)
982+func getSwapFeeREADONLY (fk) = {
983+ let fl = {
984+ let bj = getString(this, aM(fk))
985+ if ($isInstanceOf(bj, "String"))
986+ then {
987+ let bk = bj
988+ let fm = split(bk, m)
989+ let fn = parseIntValue(fm[1])
990+ let fo = parseIntValue(fm[2])
991+ $Tuple2(fn, fo)
992+ }
993+ else if ($isInstanceOf(bj, "Unit"))
994+ then unit
995+ else throw("Match error")
996+ }
997+ $Tuple2(nil, fl)
993998 }
994999
9951000
9961001
997-@Callable(bE)
998-func getPoolStatusREADONLY (af) = {
999- let cj = split(aZ(az(af)), m)
1000- let an = cj[1]
1001- let ao = cj[2]
1002- let cA = split(aZ(am(an, ao)), m)
1003- $Tuple2(nil, parseIntValue(cA[w]))
1002+@Callable(bH)
1003+func poolInfoREADONLY (fp,fq) = {
1004+ let fr = getInteger(this, ak(fp))
1005+ let fs = getInteger(this, ak(fq))
1006+ let ft = getString(this, aE(value(fr), value(fs)))
1007+ let fu = getString(this, aF(value(ft)))
1008+ let dK = if (if (isDefined(fr))
1009+ then isDefined(fs)
1010+ else false)
1011+ then isDefined(ft)
1012+ else false
1013+ let fv = if (dK)
1014+ then $Tuple2(addressFromStringValue(value(ft)), bg(value(fu)))
1015+ else unit
1016+ $Tuple2(nil, fv)
10041017 }
10051018
10061019
10071020
1008-@Callable(bE)
1009-func getPoolConfigREADONLY (af) = {
1010- let cj = split(aZ(az(af)), m)
1011- let an = cj[1]
1012- let ao = cj[2]
1013- let cA = split(aZ(am(an, ao)), m)
1014- $Tuple2(nil, cA)
1021+@Callable(bH)
1022+func getPoolStatusREADONLY (af) = {
1023+ let cm = split(bc(aC(af)), m)
1024+ let an = cm[1]
1025+ let ao = cm[2]
1026+ let cD = split(bc(am(an, ao)), m)
1027+ $Tuple2(nil, parseIntValue(cD[w]))
10151028 }
10161029
10171030
10181031
1019-@Callable(bE)
1020-func getPoolConfigByLpAssetIdREADONLY (dM) = {
1021- let cj = split(aZ(at(dM)), m)
1022- let an = cj[1]
1023- let ao = cj[2]
1024- let cA = split(aZ(am(an, ao)), m)
1025- $Tuple2(nil, cA)
1032+@Callable(bH)
1033+func getPoolConfigREADONLY (af) = {
1034+ let cm = split(bc(aC(af)), m)
1035+ let an = cm[1]
1036+ let ao = cm[2]
1037+ let cD = split(bc(am(an, ao)), m)
1038+ $Tuple2(nil, cD)
10261039 }
10271040
10281041
10291042
1030-@Callable(bE)
1031-func poolExistsREADONLY (aF,aG) = $Tuple2(nil, cx(aF, aG))
1032-
1033-
1034-
1035-@Callable(bE)
1036-func skipOrderValidationREADONLY (af) = $Tuple2(nil, valueOrElse(getBoolean(aM(af)), false))
1037-
1038-
1039-
1040-@Callable(bE)
1041-func getChangeAmpConfigREADONLY (af) = {
1042- let fr = getIntegerValue(aN(af))
1043- let fs = getIntegerValue(aO(af))
1044- let ft = getIntegerValue(aP(af))
1045- $Tuple2(nil, [fr, fs, ft])
1043+@Callable(bH)
1044+func getPoolConfigByLpAssetIdREADONLY (dP) = {
1045+ let cm = split(bc(aw(dP)), m)
1046+ let an = cm[1]
1047+ let ao = cm[2]
1048+ let cD = split(bc(am(an, ao)), m)
1049+ $Tuple2(nil, cD)
10461050 }
10471051
10481052
10491053
1050-@Callable(bE)
1051-func getPoolWeightREADONLY (bW) = {
1052- let af = aZ(aD(bW))
1053- let fu = valueOrElse(getInteger(ae(af)), 0)
1054- $Tuple2(nil, fu)
1054+@Callable(bH)
1055+func poolExistsREADONLY (aI,aJ) = $Tuple2(nil, cA(aI, aJ))
1056+
1057+
1058+
1059+@Callable(bH)
1060+func skipOrderValidationREADONLY (af) = $Tuple2(nil, valueOrElse(getBoolean(aP(af)), false))
1061+
1062+
1063+
1064+@Callable(bH)
1065+func getChangeAmpConfigREADONLY (af) = {
1066+ let fw = getIntegerValue(aQ(af))
1067+ let fx = getIntegerValue(aR(af))
1068+ let fy = getIntegerValue(aS(af))
1069+ $Tuple2(nil, [fw, fx, fy])
10551070 }
10561071
10571072
10581073
1059-@Callable(bE)
1060-func deletePool (aA) = {
1061- let dU = ci(aA)
1062- let dn = if ((toString(bE.caller) == cE(aA)))
1063- then if (cM(aA))
1074+@Callable(bH)
1075+func getPoolWeightREADONLY (bZ) = {
1076+ let af = bc(aG(bZ))
1077+ let fz = valueOrElse(getInteger(ae(af)), 0)
1078+ $Tuple2(nil, fz)
1079+ }
1080+
1081+
1082+
1083+@Callable(bH)
1084+func deletePool (aD) = {
1085+ let dX = cl(aD)
1086+ let dq = if ((toString(bH.caller) == cH(aD)))
1087+ then if (cP(aD))
10641088 then true
10651089 else K("Pool is not empty")
1066- else bF(bE)
1067- if ((dn == dn))
1090+ else bI(bH)
1091+ if ((dq == dq))
10681092 then {
1069- let fv = if ((valueOrElse(getInteger(ae(aA)), 0) == 0))
1093+ let fA = if ((valueOrElse(getInteger(ae(aD)), 0) == 0))
10701094 then true
10711095 else K("Pool weight is not Zero")
1072- if ((fv == fv))
1096+ if ((fA == fA))
10731097 then {
1074- let fw = if ((dU[w] == toString(r)))
1098+ let fB = if ((dX[w] == toString(r)))
10751099 then true
10761100 else K("Pool must be SHUTDOWN (4)")
1077- if ((fw == fw))
1101+ if ((fB == fB))
10781102 then {
1079- let fx = cD(aA)
1080- let aF = fx._1
1081- let aG = fx._2
1082- let bW = fx._3
1083- let an = fx._4
1084- let ao = fx._5
1085- let cG = addressFromStringValue(getStringValue(Z()))
1086- let fy = invoke(cG, "deletePool", [aF, aG], nil)
1087- if ((fy == fy))
1103+ let fC = cG(aD)
1104+ let aI = fC._1
1105+ let aJ = fC._2
1106+ let bZ = fC._3
1107+ let an = fC._4
1108+ let ao = fC._5
1109+ let cJ = addressFromStringValue(getStringValue(Z()))
1110+ let fD = invoke(cJ, "deletePool", [aI, aJ], nil)
1111+ if ((fD == fD))
10881112 then {
1089- let dt = addressFromStringValue(getStringValue(Y()))
1090- let fz = invoke(dt, "deletePool", [aF, aG], nil)
1091- if ((fz == fz))
1113+ let dw = addressFromStringValue(getStringValue(Y()))
1114+ let fE = invoke(dw, "deletePool", [aI, aJ], nil)
1115+ if ((fE == fE))
10921116 then {
1093- let ds = addressFromStringValue(getStringValue(X()))
1094- let fA = invoke(ds, "deletePool", [aF, aG], nil)
1095- if ((fA == fA))
1096- then [DeleteEntry(aC(aA)), DeleteEntry(az(aA)), DeleteEntry(av(toString(an), toString(ao))), DeleteEntry(aB(an, ao)), DeleteEntry(am(toString(an), toString(ao))), DeleteEntry(at(bW)), DeleteEntry(aD(bW)), DeleteEntry(aE(aF, aG)), DeleteEntry(ae(aA)), DeleteEntry(ay(aA)), DeleteEntry(aH(aA)), DeleteEntry(aK(aA)), DeleteEntry(aM(aA)), DeleteEntry(aN(aA)), DeleteEntry(aO(aA)), DeleteEntry(aP(aA))]
1117+ let dv = addressFromStringValue(getStringValue(X()))
1118+ let fF = invoke(dv, "deletePool", [aI, aJ], nil)
1119+ if ((fF == fF))
1120+ then [DeleteEntry(aF(aD)), DeleteEntry(aC(aD)), DeleteEntry(ay(toString(an), toString(ao))), DeleteEntry(aE(an, ao)), DeleteEntry(am(toString(an), toString(ao))), DeleteEntry(aw(bZ)), DeleteEntry(aG(bZ)), DeleteEntry(aH(aI, aJ)), DeleteEntry(ae(aD)), DeleteEntry(aB(aD)), DeleteEntry(aK(aD)), DeleteEntry(aN(aD)), DeleteEntry(aP(aD)), DeleteEntry(aQ(aD)), DeleteEntry(aR(aD)), DeleteEntry(aS(aD))]
10971121 else throw("Strict value is not equal to itself.")
10981122 }
10991123 else throw("Strict value is not equal to itself.")
11081132 }
11091133
11101134
1111-@Verifier(fB)
1112-func fC () = {
1113- let fD = {
1114- let bg = bz()
1115- if ($isInstanceOf(bg, "ByteVector"))
1135+@Verifier(fG)
1136+func fH () = {
1137+ let fI = {
1138+ let bj = bC()
1139+ if ($isInstanceOf(bj, "ByteVector"))
11161140 then {
1117- let bG = bg
1118- bG
1141+ let bJ = bj
1142+ bJ
11191143 }
1120- else if ($isInstanceOf(bg, "Unit"))
1121- then fB.senderPublicKey
1144+ else if ($isInstanceOf(bj, "Unit"))
1145+ then fG.senderPublicKey
11221146 else throw("Match error")
11231147 }
1124- sigVerify(fB.bodyBytes, fB.proofs[0], fD)
1148+ sigVerify(fG.bodyBytes, fG.proofs[0], fI)
11251149 }
11261150
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 = "factory_v2.ride"
2525
2626 let l = ((100 * 1000) * 1000)
2727
2828 let m = "__"
2929
3030 let n = ""
3131
3232 let o = 1
3333
3434 let p = 2
3535
3636 let q = 3
3737
3838 let r = 4
3939
4040 let s = 1
4141
4242 let t = 2
4343
4444 let u = 3
4545
4646 let v = 1
4747
4848 let w = 2
4949
5050 let x = 3
5151
5252 let y = 4
5353
5454 let z = 5
5555
5656 let A = 6
5757
5858 let B = 7
5959
6060 let C = 8
6161
6262 let D = 9
6363
6464 let E = 10
6565
6666 let F = 11
6767
6868 let G = "WX_EMISSION"
6969
7070 let H = [G]
7171
7272 func I (J) = makeString([k, ": ", J], "")
7373
7474
7575 func K (J) = throw(I(J))
7676
7777
7878 func L () = "%s__allowedLpScriptHash"
7979
8080
8181 func M () = "%s__allowedLpStableScriptHash"
8282
8383
8484 func N () = "%s__swapContract"
8585
8686
8787 func O () = "%s__factoryConfig"
8888
8989
9090 func P () = "%s__lpTokensList"
9191
9292
9393 func Q () = "%s%s__pool__scriptHash"
9494
9595
9696 func R () = "%s%s__matcher__publicKey"
9797
9898
9999 func S () = "%s__legacyFactoryContract"
100100
101101
102102 func T () = "%s__legacyPools"
103103
104104
105105 func U () = "%s__managerPublicKey"
106106
107107
108108 func V () = "%s__managerVaultAddress"
109109
110110
111111 func W () = "%s__adminPubKeys"
112112
113113
114114 func X () = "%s__assetsStoreContract"
115115
116116
117117 func Y () = "%s__votingEmissionContract"
118118
119119
120120 func Z () = "%s__userPoolsContract"
121121
122122
123123 func aa () = makeString(["%s", "priceAssets"], m)
124124
125125
126126 func ab () = "%s__priceDecimals"
127127
128128
129129 func ac () = "%s__shutdown"
130130
131131
132132 func ad () = "%s__nextInternalAssetId"
133133
134134
135135 func ae (af) = ("%s%s__poolWeight__" + af)
136136
137137
138138 func ag (af,ah) = ((("%s%s__poolWeight__" + af) + "__") + toString(ah))
139139
140140
141141 func ai (aj) = ("%s%s%d__mappings__internal2baseAssetId__" + toString(aj))
142142
143143
144144 func ak (al) = ("%s%s%s__mappings__baseAsset2internalId__" + al)
145145
146146
147147 func am (an,ao) = (((("%d%d%s__" + an) + "__") + ao) + "__config")
148148
149149
150150 func ap (aq) = {
151151 let ar = aq
152152 let an = ar._1
153153 let ao = ar._2
154154 makeString(["%d%d%s", toString(an), toString(ao), "oneTokenOperationsDisabled"], m)
155155 }
156156
157157
158158 func as () = makeString(["%s", "oneTokenOperationsDisabled"], m)
159159
160160
161-func at (au) = (("%s%s%s__" + au) + "__mappings__lpAsset2Pool")
161+func at (aq) = {
162+ let au = aq
163+ let an = au._1
164+ let ao = au._2
165+ makeString(["%d%d%s", toString(an), toString(ao), "swapDisabled"], m)
166+ }
162167
163168
164-func av (aw,ax) = (((("%d%d%s%s__" + aw) + "__") + ax) + "__mappings__PoolAssets2LpAsset")
169+func av () = makeString(["%s", "swapDisabled"], m)
165170
166171
167-func ay (af) = ("%s%s__spread__" + af)
172+func aw (ax) = (("%s%s%s__" + ax) + "__mappings__lpAsset2Pool")
168173
169174
170-func az (aA) = (("%s%s%s__" + aA) + "__mappings__poolContract2PoolAssets")
175+func ay (az,aA) = (((("%d%d%s%s__" + az) + "__") + aA) + "__mappings__PoolAssets2LpAsset")
171176
172177
173-func aB (aw,ax) = (((("%d%d%s%s__" + toString(aw)) + "__") + toString(ax)) + "__mappings__poolAssets2PoolContract")
178+func aB (af) = ("%s%s__spread__" + af)
174179
175180
176-func aC (aA) = (("%s%s%s__" + aA) + "__mappings__poolContract2LpAsset")
181+func aC (aD) = (("%s%s%s__" + aD) + "__mappings__poolContract2PoolAssets")
177182
178183
179-func aD (au) = (("%s%s%s__" + au) + "__mappings__lpAsset2PoolContract")
184+func aE (az,aA) = (((("%d%d%s%s__" + toString(az)) + "__") + toString(aA)) + "__mappings__poolAssets2PoolContract")
180185
181186
182-func aE (aF,aG) = ((("%s%s%s__wxEmission__" + aF) + "__") + aG)
187+func aF (aD) = (("%s%s%s__" + aD) + "__mappings__poolContract2LpAsset")
183188
184189
185-func aH (af) = ("%s%s__inFee__" + af)
190+func aG (ax) = (("%s%s%s__" + ax) + "__mappings__lpAsset2PoolContract")
186191
187192
188-func aI () = "%s__inFeeDefault"
193+func aH (aI,aJ) = ((("%s%s%s__wxEmission__" + aI) + "__") + aJ)
189194
190195
191-func aJ (af) = ("%s%s__swapFee__" + af)
196+func aK (af) = ("%s%s__inFee__" + af)
192197
193198
194-func aK (af) = ("%s%s__outFee__" + af)
199+func aL () = "%s__inFeeDefault"
195200
196201
197-func aL () = "%s__outFeeDefault"
202+func aM (af) = ("%s%s__swapFee__" + af)
198203
199204
200-func aM (af) = ("%s%s__skipOrderValidation__" + af)
205+func aN (af) = ("%s%s__outFee__" + af)
201206
202207
203-func aN (af) = ("%s%s__changeAmpDelay__" + af)
208+func aO () = "%s__outFeeDefault"
204209
205210
206-func aO (af) = ("%s%s__changeAmpDelta__" + af)
211+func aP (af) = ("%s%s__skipOrderValidation__" + af)
207212
208213
209-func aP (af) = ("%s%s__changeAmpTarget__" + af)
214+func aQ (af) = ("%s%s__changeAmpDelay__" + af)
210215
211216
212-func aQ () = "%s__sWavesProxyAddress"
217+func aR (af) = ("%s%s__changeAmpDelta__" + af)
213218
214219
215-func aR () = "%s__sWavesAssetId"
220+func aS (af) = ("%s%s__changeAmpTarget__" + af)
216221
217222
218-func aS () = "%s__stakingProfitAddress"
223+func aT () = "%s__sWavesProxyAddress"
219224
220225
221-func aT (af,aU) = makeString(["%s%s%s", "leasedRatio", af, aU], m)
226+func aU () = "%s__sWavesAssetId"
222227
223228
224-func aV (aU) = makeString(["%s%s", "leasedRatioDefault", aU], m)
229+func aV () = "%s__stakingProfitAddress"
225230
226231
227-func aW (af,aU) = makeString(["%s%s%s", "leasedRatioTolerance", af, aU], m)
232+func aW (af,aX) = makeString(["%s%s%s", "leasedRatio", af, aX], m)
228233
229234
230-func aX (af,aU) = makeString(["%s%s%s", "minBalance", af, aU], m)
235+func aY (aX) = makeString(["%s%s", "leasedRatioDefault", aX], m)
231236
232237
233-func aY (aU) = makeString(["%s%s", "minBalanceDefault", aU], m)
238+func aZ (af,aX) = makeString(["%s%s%s", "leasedRatioTolerance", af, aX], m)
234239
235240
236-func aZ (ba) = valueOrErrorMessage(getString(this, ba), ("No data for this.key=" + ba))
241+func ba (af,aX) = makeString(["%s%s%s", "minBalance", af, aX], m)
237242
238243
239-func bb (ba) = valueOrErrorMessage(getBoolean(this, ba), ("No data for this.key=" + ba))
244+func bb (aX) = makeString(["%s%s", "minBalanceDefault", aX], m)
240245
241246
242-func bc (ba) = valueOrErrorMessage(getInteger(this, ba), ("No data for this.key=" + ba))
247+func bc (bd) = valueOrErrorMessage(getString(this, bd), ("No data for this.key=" + bd))
243248
244249
245-func bd (be) = if ((be == j))
246- then unit
247- else fromBase58String(be)
250+func be (bd) = valueOrErrorMessage(getBoolean(this, bd), ("No data for this.key=" + bd))
248251
249252
250-func bf () = {
251- let bg = getString(V())
252- if ($isInstanceOf(bg, "String"))
253+func bf (bd) = valueOrErrorMessage(getInteger(this, bd), ("No data for this.key=" + bd))
254+
255+
256+func bg (bh) = if ((bh == j))
257+ then unit
258+ else fromBase58String(bh)
259+
260+
261+func bi () = {
262+ let bj = getString(V())
263+ if ($isInstanceOf(bj, "String"))
253264 then {
254- let bh = bg
255- addressFromStringValue(bh)
265+ let bk = bj
266+ addressFromStringValue(bk)
256267 }
257268 else this
258269 }
259270
260271
261-let bi = 1
272+let bl = 1
262273
263-let bj = 2
274+let bm = 2
264275
265-let bk = 3
276+let bn = 3
266277
267-let bl = 4
278+let bo = 4
268279
269-let bm = 5
280+let bp = 5
270281
271-let bn = 6
282+let bq = 6
272283
273-let bo = 7
284+let br = 7
274285
275-let bp = 8
286+let bs = 8
276287
277-let bq = 9
288+let bt = 9
278289
279-let br = 10
290+let bu = 10
280291
281-let bs = 11
292+let bv = 11
282293
283-func bt (bu) = addressFromStringValue(bu[bj])
294+func bw (bx) = addressFromStringValue(bx[bm])
284295
285296
286-func bv (bu) = addressFromStringValue(bu[bm])
297+func by (bx) = addressFromStringValue(bx[bp])
287298
288299
289-func bw (bu) = addressFromStringValue(bu[bi])
300+func bz (bx) = addressFromStringValue(bx[bl])
290301
291302
292-func bx (bu) = addressFromStringValue(bu[br])
303+func bA (bx) = addressFromStringValue(bx[bu])
293304
294305
295-func by () = {
296- let bg = getString(aa())
297- if ($isInstanceOf(bg, "String"))
306+func bB () = {
307+ let bj = getString(aa())
308+ if ($isInstanceOf(bj, "String"))
298309 then {
299- let bh = bg
300- if ((size(bh) == 0))
310+ let bk = bj
311+ if ((size(bk) == 0))
301312 then nil
302- else split_4C(bh, m)
313+ else split_4C(bk, m)
303314 }
304315 else nil
305316 }
306317
307318
308-func bz () = {
309- let bA = bf()
310- let bg = getString(bA, U())
311- if ($isInstanceOf(bg, "String"))
319+func bC () = {
320+ let bD = bi()
321+ let bj = getString(bD, U())
322+ if ($isInstanceOf(bj, "String"))
312323 then {
313- let bh = bg
314- fromBase58String(bh)
324+ let bk = bj
325+ fromBase58String(bk)
315326 }
316- else if ($isInstanceOf(bg, "Unit"))
327+ else if ($isInstanceOf(bj, "Unit"))
317328 then unit
318329 else throw("Match error")
319330 }
320331
321332
322-let bB = K("Permission denied")
333+let bE = K("Permission denied")
323334
324-let bC = K("Test error here")
335+let bF = K("Test error here")
325336
326-func bD (bE) = if ((bE.caller == this))
337+func bG (bH) = if ((bH.caller == this))
327338 then true
328- else bB
339+ else bE
329340
330341
331-func bF (bE) = {
332- let bg = bz()
333- if ($isInstanceOf(bg, "ByteVector"))
342+func bI (bH) = {
343+ let bj = bC()
344+ if ($isInstanceOf(bj, "ByteVector"))
334345 then {
335- let bG = bg
336- if ((bE.callerPublicKey == bG))
346+ let bJ = bj
347+ if ((bH.callerPublicKey == bJ))
337348 then true
338- else bB
349+ else bE
339350 }
340- else if ($isInstanceOf(bg, "Unit"))
341- then bD(bE)
351+ else if ($isInstanceOf(bj, "Unit"))
352+ then bG(bH)
342353 else throw("Match error")
343354 }
344355
345356
346-func bH (bI,bJ,bK,bL,bM,bN,bO,bP,bQ,bR,bS) = makeString(["%s%s%s%s%s%s%s%s%s%s%s", bI, bJ, bK, bL, bM, bN, bO, bP, bQ, bR, bS], m)
357+func bK (bL,bM,bN,bO,bP,bQ,bR,bS,bT,bU,bV) = makeString(["%s%s%s%s%s%s%s%s%s%s%s", bL, bM, bN, bO, bP, bQ, bR, bS, bT, bU, bV], m)
347358
348359
349-func bT (bI,bJ,bK,bL,bM,bN,bO) = makeString(["%s%s%s%s%s%s", bI, bJ, bK, bL, bM, bN, bO], m)
360+func bW (bL,bM,bN,bO,bP,bQ,bR) = makeString(["%s%s%s%s%s%s", bL, bM, bN, bO, bP, bQ, bR], m)
350361
351362
352-func bU (af,bV,bW,bX,bY,bZ,ca,cb,cc,cd,ce) = makeString(["%s%d%s%s%s%d%d%d%d%d%s", af, bV, bW, bX, bY, toString(bZ), toString(ca), toString(cb), toString(cc), toString(cd), ce], m)
363+func bX (af,bY,bZ,ca,cb,cc,cd,ce,cf,cg,ch) = makeString(["%s%d%s%s%s%d%d%d%d%d%s", af, bY, bZ, ca, cb, toString(cc), toString(cd), toString(ce), toString(cf), toString(cg), ch], m)
353364
354365
355-func cf (cg,ch) = makeString(["%d%d", toString(cg), toString(ch)], m)
366+func ci (cj,ck) = makeString(["%d%d", toString(cj), toString(ck)], m)
356367
357368
358-func ci (af) = {
359- let cj = split(aZ(az(af)), m)
360- let an = cj[1]
361- let ao = cj[2]
362- split(aZ(am(an, ao)), m)
369+func cl (af) = {
370+ let cm = split(bc(aC(af)), m)
371+ let an = cm[1]
372+ let ao = cm[2]
373+ split(bc(am(an, ao)), m)
363374 }
364375
365376
366-func ck (cl,cm) = {
367- let cn = valueOrElse(getInteger(this, ak(cl)), 0)
368- let co = valueOrElse(getInteger(this, ad()), 0)
369- let cp = if ((cn == 0))
377+func cn (co,cp) = {
378+ let cq = valueOrElse(getInteger(this, ak(co)), 0)
379+ let cr = valueOrElse(getInteger(this, ad()), 0)
380+ let cs = if ((cq == 0))
370381 then {
371- let cq = (co + cm)
372- $Tuple3(cq, [IntegerEntry(ad(), cq), IntegerEntry(ak(cl), cq), StringEntry(ai(cq), cl)], true)
382+ let ct = (cr + cp)
383+ $Tuple3(ct, [IntegerEntry(ad(), ct), IntegerEntry(ak(co), ct), StringEntry(ai(ct), co)], true)
373384 }
374- else $Tuple3(cn, nil, false)
375- cp
385+ else $Tuple3(cq, nil, false)
386+ cs
376387 }
377388
378389
379-func cr (bE) = {
380- let cs = split(valueOrElse(getString(W()), n), m)
381- if (containsElement(cs, toBase58String(bE.callerPublicKey)))
390+func cu (bH) = {
391+ let cv = split(valueOrElse(getString(W()), n), m)
392+ if (containsElement(cv, toBase58String(bH.callerPublicKey)))
382393 then true
383394 else {
384- let ct = bF(bE)
385- if ((ct == ct))
395+ let cw = bI(bH)
396+ if ((cw == cw))
386397 then true
387398 else throw("Strict value is not equal to itself.")
388399 }
389400 }
390401
391402
392-func cu (ba,cv,cw) = valueOrElse(getInteger(this, ba), valueOrElse(getInteger(this, cv), cw))
403+func cx (bd,cy,cz) = valueOrElse(getInteger(this, bd), valueOrElse(getInteger(this, cy), cz))
393404
394405
395-func cx (aF,aG) = {
396- let an = getInteger(ak(aF))
397- let ao = getInteger(ak(aG))
406+func cA (aI,aJ) = {
407+ let an = getInteger(ak(aI))
408+ let ao = getInteger(ak(aJ))
398409 if (if ((an == unit))
399410 then true
400411 else (ao == unit))
401412 then false
402413 else {
403- let cy = toString(value(an))
404- let cz = toString(value(ao))
405- let cA = getString(am(cy, cz))
406- let cB = getString(am(cz, cy))
407- let cC = if ((cA != unit))
414+ let cB = toString(value(an))
415+ let cC = toString(value(ao))
416+ let cD = getString(am(cB, cC))
417+ let cE = getString(am(cC, cB))
418+ let cF = if ((cD != unit))
408419 then true
409- else (cB != unit)
410- cC
420+ else (cE != unit)
421+ cF
411422 }
412423 }
413424
414425
415-func cD (aA) = {
416- let cj = {
417- let bg = getString(az(aA))
418- if ($isInstanceOf(bg, "String"))
426+func cG (aD) = {
427+ let cm = {
428+ let bj = getString(aC(aD))
429+ if ($isInstanceOf(bj, "String"))
419430 then {
420- let bh = bg
421- split(bh, m)
431+ let bk = bj
432+ split(bk, m)
422433 }
423- else K(makeString([aA, "pool is not found"], " "))
434+ else K(makeString([aD, "pool is not found"], " "))
424435 }
425- let an = parseIntValue(cj[1])
426- let ao = parseIntValue(cj[2])
427- let aF = getStringValue(ai(an))
428- let aG = getStringValue(ai(ao))
429- let bW = getStringValue(aC(aA))
430- $Tuple5(aF, aG, bW, an, ao)
436+ let an = parseIntValue(cm[1])
437+ let ao = parseIntValue(cm[2])
438+ let aI = getStringValue(ai(an))
439+ let aJ = getStringValue(ai(ao))
440+ let bZ = getStringValue(aF(aD))
441+ $Tuple5(aI, aJ, bZ, an, ao)
431442 }
432443
433444
434-func cE (aA) = {
435- let cF = cD(aA)
436- let aF = cF._1
437- let aG = cF._2
438- let bW = cF._3
439- let an = cF._4
440- let ao = cF._5
441- let cG = addressFromStringValue(getStringValue(Z()))
442- let cH = invoke(cG, "getPoolCreatorREADONLY", [aF, aG], nil)
443- cH
445+func cH (aD) = {
446+ let cI = cG(aD)
447+ let aI = cI._1
448+ let aJ = cI._2
449+ let bZ = cI._3
450+ let an = cI._4
451+ let ao = cI._5
452+ let cJ = addressFromStringValue(getStringValue(Z()))
453+ let cK = invoke(cJ, "getPoolCreatorREADONLY", [aI, aJ], nil)
454+ cK
444455 }
445456
446457
447-func cI (cJ,cK) = {
448- let cL = addressFromStringValue(cJ)
449- if ((cK == "WAVES"))
450- then wavesBalance(cL).regular
458+func cL (cM,cN) = {
459+ let cO = addressFromStringValue(cM)
460+ if ((cN == "WAVES"))
461+ then wavesBalance(cO).regular
451462 else {
452- let aU = fromBase58String(cK)
453- assetBalance(cL, aU)
463+ let aX = fromBase58String(cN)
464+ assetBalance(cO, aX)
454465 }
455466 }
456467
457468
458-func cM (aA) = {
459- let cN = cD(aA)
460- let aF = cN._1
461- let aG = cN._2
462- let bW = cN._3
463- let an = cN._4
464- let ao = cN._5
465- if ((cI(aA, aF) == 0))
466- then (cI(aA, aG) == 0)
469+func cP (aD) = {
470+ let cQ = cG(aD)
471+ let aI = cQ._1
472+ let aJ = cQ._2
473+ let bZ = cQ._3
474+ let an = cQ._4
475+ let ao = cQ._5
476+ if ((cL(aD, aI) == 0))
477+ then (cL(aD, aJ) == 0)
467478 else false
468479 }
469480
470481
471-@Callable(bE)
472-func getSwapContractREADONLY () = $Tuple2(nil, aZ(N()))
482+@Callable(bH)
483+func getSwapContractREADONLY () = $Tuple2(nil, bc(N()))
473484
474485
475486
476-@Callable(bE)
477-func getPoolLeaseConfigREADONLY (af,aU) = {
478- let cO = {
479- let bg = getInteger(this, aT(af, aU))
480- if ($isInstanceOf(bg, "Int"))
487+@Callable(bH)
488+func getPoolLeaseConfigREADONLY (af,aX) = {
489+ let cR = {
490+ let bj = getInteger(this, aW(af, aX))
491+ if ($isInstanceOf(bj, "Int"))
481492 then {
482- let cP = bg
483- $Tuple2(true, min([100, max([0, cP])]))
493+ let cS = bj
494+ $Tuple2(true, min([100, max([0, cS])]))
484495 }
485496 else {
486- let cQ = getInteger(this, aV(aU))
487- if ($isInstanceOf(cQ, "Int"))
497+ let cT = getInteger(this, aY(aX))
498+ if ($isInstanceOf(cT, "Int"))
488499 then {
489- let cR = cQ
490- $Tuple2(true, min([100, max([0, cR])]))
500+ let cU = cT
501+ $Tuple2(true, min([100, max([0, cU])]))
491502 }
492503 else $Tuple2(false, 0)
493504 }
494505 }
495- let cS = cO._1
496- let cT = cO._2
497- let cU = {
498- let bg = getInteger(this, aX(af, aU))
499- if ($isInstanceOf(bg, "Int"))
506+ let cV = cR._1
507+ let cW = cR._2
508+ let cX = {
509+ let bj = getInteger(this, ba(af, aX))
510+ if ($isInstanceOf(bj, "Int"))
500511 then {
501- let cV = bg
502- max([0, cV])
512+ let cY = bj
513+ max([0, cY])
503514 }
504515 else {
505- let cQ = getInteger(this, aY(aU))
506- if ($isInstanceOf(cQ, "Int"))
516+ let cT = getInteger(this, bb(aX))
517+ if ($isInstanceOf(cT, "Int"))
507518 then {
508- let cW = cQ
509- max([0, cW])
519+ let cZ = cT
520+ max([0, cZ])
510521 }
511522 else 0
512523 }
513524 }
514- let cX = if ((aU == "WAVES"))
515- then $Tuple3(valueOrElse(getString(this, aQ()), ""), getString(this, valueOrElse(aR(), "")), c)
525+ let da = if ((aX == "WAVES"))
526+ then $Tuple3(valueOrElse(getString(this, aT()), ""), getString(this, valueOrElse(aU(), "")), c)
516527 else $Tuple3("", "", 0)
517- let cY = cX._1
518- let cZ = cX._2
519- let da = cX._3
520- let db = valueOrElse(getString(this, aS()), "")
521- $Tuple2(nil, $Tuple7(cS, cT, cU, cY, cZ, da, db))
528+ let db = da._1
529+ let dc = da._2
530+ let dd = da._3
531+ let de = valueOrElse(getString(this, aV()), "")
532+ $Tuple2(nil, $Tuple7(cV, cW, cX, db, dc, dd, de))
522533 }
523534
524535
525536
526-@Callable(bE)
527-func getLpAssetFromPoolAssetsREADONLY (dc,dd) = if (if ((dc == "8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS"))
528- then (dd == "WAVES")
537+@Callable(bH)
538+func getLpAssetFromPoolAssetsREADONLY (df,dg) = if (if ((df == "8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS"))
539+ then (dg == "WAVES")
529540 else false)
530541 then $Tuple2(nil, unit)
531542 else {
532- let de = value(getInteger(this, ak(dc)))
533- let df = value(getInteger(this, ak(dd)))
534- let dg = getString(this, av(toString(de), toString(df)))
535- let dh = if ((dg == unit))
543+ let dh = value(getInteger(this, ak(df)))
544+ let di = value(getInteger(this, ak(dg)))
545+ let dj = getString(this, ay(toString(dh), toString(di)))
546+ let dk = if ((dj == unit))
536547 then unit
537- else drop(value(dg), 4)
538- $Tuple2(nil, dh)
548+ else drop(value(dj), 4)
549+ $Tuple2(nil, dk)
539550 }
540551
541552
542553
543-@Callable(bE)
544-func getPoolAddressFromLpAssetREADONLY (di) = $Tuple2(nil, valueOrElse(getString(this, aD(di)), ""))
554+@Callable(bH)
555+func getPoolAddressFromLpAssetREADONLY (dl) = $Tuple2(nil, valueOrElse(getString(this, aG(dl)), ""))
545556
546557
547558
548-@Callable(bE)
549-func constructor (dj,dk,bK,bL,bM,bN,dl,dm) = {
550- let dn = bF(bE)
551- if ((dn == dn))
552- then [StringEntry(O(), bT(dj, dk, bK, bL, bM, bN, dl)), IntegerEntry(ab(), dm)]
559+@Callable(bH)
560+func constructor (dm,dn,bN,bO,bP,bQ,do,dp) = {
561+ let dq = bI(bH)
562+ if ((dq == dq))
563+ then [StringEntry(O(), bW(dm, dn, bN, bO, bP, bQ, do)), IntegerEntry(ab(), dp)]
553564 else throw("Strict value is not equal to itself.")
554565 }
555566
556567
557568
558-@Callable(bE)
559-func constructorV2 (do) = {
560- let dn = bF(bE)
561- if ((dn == dn))
569+@Callable(bH)
570+func constructorV2 (dr) = {
571+ let dq = bI(bH)
572+ if ((dq == dq))
562573 then {
563- let dp = addressFromPublicKey(fromBase58String(do))
564- if ((dp == dp))
565- then [StringEntry(R(), do)]
574+ let ds = addressFromPublicKey(fromBase58String(dr))
575+ if ((ds == ds))
576+ then [StringEntry(R(), dr)]
566577 else throw("Strict value is not equal to itself.")
567578 }
568579 else throw("Strict value is not equal to itself.")
569580 }
570581
571582
572583
573-@Callable(bE)
574-func constructorV3 (bP,bQ,bR,bS) = {
575- let dn = bF(bE)
576- if ((dn == dn))
584+@Callable(bH)
585+func constructorV3 (bS,bT,bU,bV) = {
586+ let dq = bI(bH)
587+ if ((dq == dq))
577588 then {
578- let bu = split(aZ(O()), m)
579-[StringEntry(O(), bH(bu[1], bu[2], bu[3], bu[4], bu[5], bu[6], bu[7], bP, bQ, bR, bS))]
589+ let bx = split(bc(O()), m)
590+[StringEntry(O(), bK(bx[1], bx[2], bx[3], bx[4], bx[5], bx[6], bx[7], bS, bT, bU, bV))]
580591 }
581592 else throw("Strict value is not equal to itself.")
582593 }
583594
584595
585596
586-@Callable(bE)
587-func constructorV4 (dq,dr) = {
588- let dn = bF(bE)
589- if ((dn == dn))
590- then [StringEntry(S(), dq), StringEntry(T(), makeString(dr, m))]
597+@Callable(bH)
598+func constructorV4 (dt,du) = {
599+ let dq = bI(bH)
600+ if ((dq == dq))
601+ then [StringEntry(S(), dt), StringEntry(T(), makeString(du, m))]
591602 else throw("Strict value is not equal to itself.")
592603 }
593604
594605
595606
596-@Callable(bE)
597-func constructorV5 (ds) = {
598- let dn = bF(bE)
599- if ((dn == dn))
600- then [StringEntry(X(), ds)]
607+@Callable(bH)
608+func constructorV5 (dv) = {
609+ let dq = bI(bH)
610+ if ((dq == dq))
611+ then [StringEntry(X(), dv)]
601612 else throw("Strict value is not equal to itself.")
602613 }
603614
604615
605616
606-@Callable(bE)
607-func constructorV6 (dt,du) = {
608- let dv = [bF(bE), if ((addressFromString(dt) != unit))
617+@Callable(bH)
618+func constructorV6 (dw,dx) = {
619+ let dy = [bI(bH), if ((addressFromString(dw) != unit))
609620 then true
610621 else "invalid voting emission contract address"]
611- if ((dv == dv))
612- then [StringEntry(Y(), dt), StringEntry(aa(), makeString(du, m))]
622+ if ((dy == dy))
623+ then [StringEntry(Y(), dw), StringEntry(aa(), makeString(dx, m))]
613624 else throw("Strict value is not equal to itself.")
614625 }
615626
616627
617628
618-@Callable(bE)
619-func setAdmins (dw) = {
620- let dn = bF(bE)
621- if ((dn == dn))
622- then [StringEntry(W(), makeString(dw, m))]
629+@Callable(bH)
630+func setAdmins (dz) = {
631+ let dq = bI(bH)
632+ if ((dq == dq))
633+ then [StringEntry(W(), makeString(dz, m))]
623634 else throw("Strict value is not equal to itself.")
624635 }
625636
626637
627638
628-@Callable(bE)
629-func activateNewPool (af,bX,bY,dx,dy,dz,ce,dA) = {
630- let dn = cr(bE)
631- if ((dn == dn))
632- then if (isDefined(getString(az(af))))
639+@Callable(bH)
640+func activateNewPool (af,ca,cb,dA,dB,dC,ch,dD) = {
641+ let dq = cu(bH)
642+ if ((dq == dq))
643+ then if (isDefined(getString(aC(af))))
633644 then K((("Pool address " + af) + " already registered."))
634645 else {
635- let dB = ck(bX, 1)
636- let dC = dB._1
637- let dD = ck(bY, if (dB._3)
646+ let dE = cn(ca, 1)
647+ let dF = dE._1
648+ let dG = cn(cb, if (dE._3)
638649 then 2
639650 else 1)
640- let dE = dD._1
641- let dF = valueOrErrorMessage(scriptHash(addressFromStringValue(af)), ("No script has been found on pool account " + af))
642- let dG = getBinaryValue(Q())
643- let dH = cx(bX, bY)
644- if (dH)
645- then K((((("Pool " + bX) + "/") + bY) + " has already been activated."))
651+ let dH = dG._1
652+ let dI = valueOrErrorMessage(scriptHash(addressFromStringValue(af)), ("No script has been found on pool account " + af))
653+ let dJ = getBinaryValue(Q())
654+ let dK = cA(ca, cb)
655+ if (dK)
656+ then K((((("Pool " + ca) + "/") + cb) + " has already been activated."))
646657 else {
647- let dI = value(getString(this, am(toString(dC), toString(dE))))
648- let dJ = if ((bX == "WAVES"))
658+ let dL = value(getString(this, am(toString(dF), toString(dH))))
659+ let dM = if ((ca == "WAVES"))
649660 then l
650- else pow(10, 0, value(assetInfo(fromBase58String(bX))).decimals, 0, 0, DOWN)
651- let dK = if ((bY == "WAVES"))
661+ else pow(10, 0, value(assetInfo(fromBase58String(ca))).decimals, 0, 0, DOWN)
662+ let dN = if ((cb == "WAVES"))
652663 then l
653- else pow(10, 0, value(assetInfo(fromBase58String(bY))).decimals, 0, 0, DOWN)
654- let dL = Issue(dx, dy, 1, 8, true)
655- let bW = calculateAssetId(dL)
656- let dM = toBase58String(bW)
657- let dN = invoke(addressFromStringValue(af), "activate", [bX, bY], nil)
658- if ((dN == dN))
659- then if ((dN != "success"))
664+ else pow(10, 0, value(assetInfo(fromBase58String(cb))).decimals, 0, 0, DOWN)
665+ let dO = Issue(dA, dB, 1, 8, true)
666+ let bZ = calculateAssetId(dO)
667+ let dP = toBase58String(bZ)
668+ let dQ = invoke(addressFromStringValue(af), "activate", [ca, cb], nil)
669+ if ((dQ == dQ))
670+ then if ((dQ != "success"))
660671 then K("Pool initialisation error happened.")
661672 else {
662- let ds = addressFromStringValue(aZ(X()))
663- let dO = invoke(ds, "createOrUpdate", [dM, dx, false], nil)
664- if ((dO == dO))
673+ let dv = addressFromStringValue(bc(X()))
674+ let dR = invoke(dv, "createOrUpdate", [dP, dA, false], nil)
675+ if ((dR == dR))
665676 then {
666- let dP = invoke(ds, "addLabel", [dM, h], nil)
667- if ((dP == dP))
677+ let dS = invoke(dv, "addLabel", [dP, h], nil)
678+ if ((dS == dS))
668679 then {
669- let dQ = invoke(ds, "setLogo", [dM, dA], nil)
670- if ((dQ == dQ))
680+ let dT = invoke(dv, "setLogo", [dP, dD], nil)
681+ if ((dT == dT))
671682 then {
672- let dR = invoke(ds, "addAssetsLink", [bX, bY, dM], nil)
673- if ((dR == dR))
683+ let dU = invoke(dv, "addAssetsLink", [ca, cb, dP], nil)
684+ if ((dU == dU))
674685 then {
675- let dS = invoke(ds, "increaseAssetPoolsNumber", [bX], nil)
676- if ((dS == dS))
677- then $Tuple2(((dB._2 ++ dD._2) ++ [dL, Burn(bW, 1), StringEntry(am(toString(dC), toString(dE)), bU(af, toString(o), dM, bX, bY, dJ, dK, dC, dE, l, ce)), StringEntry(at(dM), cf(dC, dE)), StringEntry(av(toString(dC), toString(dE)), ("%s__" + dM)), StringEntry(az(af), cf(dC, dE)), StringEntry(aB(dC, dE), af), StringEntry(aD(dM), af), StringEntry(aC(af), dM), IntegerEntry(ae(af), dz), IntegerEntry(ay(af), i)]), dM)
686+ let dV = invoke(dv, "increaseAssetPoolsNumber", [ca], nil)
687+ if ((dV == dV))
688+ then $Tuple2(((dE._2 ++ dG._2) ++ [dO, Burn(bZ, 1), StringEntry(am(toString(dF), toString(dH)), bX(af, toString(o), dP, ca, cb, dM, dN, dF, dH, l, ch)), StringEntry(aw(dP), ci(dF, dH)), StringEntry(ay(toString(dF), toString(dH)), ("%s__" + dP)), StringEntry(aC(af), ci(dF, dH)), StringEntry(aE(dF, dH), af), StringEntry(aG(dP), af), StringEntry(aF(af), dP), IntegerEntry(ae(af), dC), IntegerEntry(aB(af), i)]), dP)
678689 else throw("Strict value is not equal to itself.")
679690 }
680691 else throw("Strict value is not equal to itself.")
681692 }
682693 else throw("Strict value is not equal to itself.")
683694 }
684695 else throw("Strict value is not equal to itself.")
685696 }
686697 else throw("Strict value is not equal to itself.")
687698 }
688699 else throw("Strict value is not equal to itself.")
689700 }
690701 }
691702 else throw("Strict value is not equal to itself.")
692703 }
693704
694705
695706
696-@Callable(bE)
697-func managePool (af,dT) = {
698- let dn = bF(bE)
699- if ((dn == dn))
707+@Callable(bH)
708+func managePool (af,dW) = {
709+ let dq = bI(bH)
710+ if ((dq == dq))
700711 then {
701- let dU = ci(af)
702- let bV = dU[w]
703- let dM = dU[x]
704- let bX = dU[y]
705- let bY = dU[z]
706- let dJ = parseIntValue(dU[A])
707- let dK = parseIntValue(dU[B])
708- let dC = parseIntValue(dU[C])
709- let dE = parseIntValue(dU[D])
710- let dV = parseIntValue(dU[E])
711- let ce = dU[F]
712-[StringEntry(am(toString(dC), toString(dE)), bU(af, toString(dT), dM, bX, bY, dJ, dK, dC, dE, dV, ce))]
712+ let dX = cl(af)
713+ let bY = dX[w]
714+ let dP = dX[x]
715+ let ca = dX[y]
716+ let cb = dX[z]
717+ let dM = parseIntValue(dX[A])
718+ let dN = parseIntValue(dX[B])
719+ let dF = parseIntValue(dX[C])
720+ let dH = parseIntValue(dX[D])
721+ let dY = parseIntValue(dX[E])
722+ let ch = dX[F]
723+[StringEntry(am(toString(dF), toString(dH)), bX(af, toString(dW), dP, ca, cb, dM, dN, dF, dH, dY, ch))]
713724 }
714725 else throw("Strict value is not equal to itself.")
715726 }
716727
717728
718729
719-@Callable(bE)
720-func emit (dW) = {
721- let dX = bE.caller
722- let dY = bE.originCaller
723- let dZ = valueOrErrorMessage(getString(aC(toString(dX))), "Invalid LP address called me.")
724- let ea = fromBase58String(dZ)
725- let dr = split(valueOrElse(getString(T()), n), m)
726- let dq = addressFromStringValue(valueOrErrorMessage(getString(S()), "Legacy factory contract does not exists."))
727- if ((0 >= dW))
730+@Callable(bH)
731+func emit (dZ) = {
732+ let ea = bH.caller
733+ let eb = bH.originCaller
734+ let ec = valueOrErrorMessage(getString(aF(toString(ea))), "Invalid LP address called me.")
735+ let ed = fromBase58String(ec)
736+ let du = split(valueOrElse(getString(T()), n), m)
737+ let dt = addressFromStringValue(valueOrErrorMessage(getString(S()), "Legacy factory contract does not exists."))
738+ if ((0 >= dZ))
728739 then nil
729- else if (containsElement(dr, toString(dX)))
730- then $Tuple2(nil, dq)
731- else $Tuple2([Reissue(ea, dW, true), ScriptTransfer(bE.caller, dW, ea)], "success")
740+ else if (containsElement(du, toString(ea)))
741+ then $Tuple2(nil, dt)
742+ else $Tuple2([Reissue(ed, dZ, true), ScriptTransfer(bH.caller, dZ, ed)], "success")
732743 }
733744
734745
735746
736-@Callable(bE)
737-func burn (eb) = {
738- let dX = bE.caller
739- let dY = bE.originCaller
740- let ec = value(bE.payments[0])
741- let ed = value(ec.amount)
742- let ee = toBase58String(value(ec.assetId))
743- let ef = valueOrErrorMessage(getString(aC(toString(dX))), "Invalid LP address called me.")
744- if ((ee != ef))
747+@Callable(bH)
748+func burn (ee) = {
749+ let ea = bH.caller
750+ let eb = bH.originCaller
751+ let ef = value(bH.payments[0])
752+ let eg = value(ef.amount)
753+ let eh = toBase58String(value(ef.assetId))
754+ let ei = valueOrErrorMessage(getString(aF(toString(ea))), "Invalid LP address called me.")
755+ if ((eh != ei))
745756 then K("Invalid asset passed.")
746- else if ((eb != ed))
757+ else if ((ee != eg))
747758 then K("Invalid amount passed.")
748759 else {
749- let ea = fromBase58String(ef)
750- $Tuple2([Burn(ea, eb)], "success")
760+ let ed = fromBase58String(ei)
761+ $Tuple2([Burn(ed, ee)], "success")
751762 }
752763 }
753764
754765
755766
756-@Callable(bE)
757-func modifyWeight (bW,eg) = {
758- let dn = if ((toBase58String(bE.caller.bytes) == valueOrElse(getString(this, Y()), "")))
767+@Callable(bH)
768+func modifyWeight (bZ,ej) = {
769+ let dq = if ((toBase58String(bH.caller.bytes) == valueOrElse(getString(this, Y()), "")))
759770 then true
760- else bF(bE)
761- if ((dn == dn))
771+ else bI(bH)
772+ if ((dq == dq))
762773 then {
763- let aA = aZ(aD(bW))
764- let eh = ae(aA)
765- let ei = ae(g)
766- let ej = valueOrElse(getInteger(ei), 0)
767- let dz = valueOrElse(getInteger(eh), 0)
768- let ek = eg
769- let bu = split(aZ(O()), m)
770- let dj = bw(bu)
771- let el = invoke(dj, "onModifyWeight", [bW, aA], nil)
772- if ((el == el))
774+ let aD = bc(aG(bZ))
775+ let ek = ae(aD)
776+ let el = ae(g)
777+ let em = valueOrElse(getInteger(el), 0)
778+ let dC = valueOrElse(getInteger(ek), 0)
779+ let en = ej
780+ let bx = split(bc(O()), m)
781+ let dm = bz(bx)
782+ let eo = invoke(dm, "onModifyWeight", [bZ, aD], nil)
783+ if ((eo == eo))
773784 then {
774- let em = if ((ej == 0))
785+ let ep = if ((em == 0))
775786 then nil
776- else [IntegerEntry(ei, 0)]
777- let en = ag(aA, 0)
778- let eo = getInteger(en)
779- let ep = if ((eo == unit))
787+ else [IntegerEntry(el, 0)]
788+ let eq = ag(aD, 0)
789+ let er = getInteger(eq)
790+ let es = if ((er == unit))
780791 then nil
781- else [DeleteEntry(en)]
782- (([IntegerEntry(eh, ek)] ++ em) ++ ep)
792+ else [DeleteEntry(eq)]
793+ (([IntegerEntry(ek, en)] ++ ep) ++ es)
783794 }
784795 else throw("Strict value is not equal to itself.")
785796 }
786797 else throw("Strict value is not equal to itself.")
787798 }
788799
789800
790801
791-@Callable(bE)
792-func modifyWeights (eq,er,es,et) = {
793- let dn = bF(bE)
794- if ((dn == dn))
802+@Callable(bH)
803+func modifyWeights (et,eu,ev,ew) = {
804+ let dq = bI(bH)
805+ if ((dq == dq))
795806 then {
796- let eu = ((5 * f) / 100)
797- let ev = ((5 * f) / 100)
798- let ew = ((5 * f) / 100)
799- let bu = split(aZ(O()), m)
800- let ex = bw(bu)
801- let ey = bx(bu)
802- let ez = ae(eq)
803- let eA = ae(er)
804- let eB = ae(es)
807+ let ex = ((5 * f) / 100)
808+ let ey = ((5 * f) / 100)
809+ let ez = ((5 * f) / 100)
810+ let bx = split(bc(O()), m)
811+ let eA = bz(bx)
812+ let eB = bA(bx)
805813 let eC = ae(et)
806- let eD = bc(ez)
807- let eE = bc(eA)
808- let eF = (eD - ew)
809- let eG = (eE - ew)
810- if ((0 >= eF))
811- then K(("invalid btcWeightNew: " + toString(eF)))
812- else if ((0 >= eG))
813- then K(("invalid ethWeightNew: " + toString(eG)))
814+ let eD = ae(eu)
815+ let eE = ae(ev)
816+ let eF = ae(ew)
817+ let eG = bf(eC)
818+ let eH = bf(eD)
819+ let eI = (eG - ez)
820+ let eJ = (eH - ez)
821+ if ((0 >= eI))
822+ then K(("invalid btcWeightNew: " + toString(eI)))
823+ else if ((0 >= eJ))
824+ then K(("invalid ethWeightNew: " + toString(eJ)))
814825 else {
815- let eH = aZ(aC(eq))
816- let eI = aZ(aC(er))
817- let eJ = aZ(aC(es))
818- let eK = aZ(aC(et))
819- let eL = invoke(ex, "onModifyWeight", [eH, eq], nil)
820- if ((eL == eL))
826+ let eK = bc(aF(et))
827+ let eL = bc(aF(eu))
828+ let eM = bc(aF(ev))
829+ let eN = bc(aF(ew))
830+ let eO = invoke(eA, "onModifyWeight", [eK, et], nil)
831+ if ((eO == eO))
821832 then {
822- let eM = invoke(ex, "onModifyWeight", [eI, er], nil)
823- if ((eM == eM))
833+ let eP = invoke(eA, "onModifyWeight", [eL, eu], nil)
834+ if ((eP == eP))
824835 then {
825- let eN = invoke(ex, "onModifyWeight", [eJ, es], nil)
826- if ((eN == eN))
836+ let eQ = invoke(eA, "onModifyWeight", [eM, ev], nil)
837+ if ((eQ == eQ))
827838 then {
828- let eO = invoke(ex, "onModifyWeight", [eK, et], nil)
829- if ((eO == eO))
830- then [IntegerEntry(ez, eF), IntegerEntry(eA, eG), IntegerEntry(eB, eu), IntegerEntry(eC, ev), IntegerEntry(ag(eq, 0), eD), IntegerEntry(ag(er, 0), eE), IntegerEntry(ag(es, 0), eu), IntegerEntry(ag(et, 0), ev)]
839+ let eR = invoke(eA, "onModifyWeight", [eN, ew], nil)
840+ if ((eR == eR))
841+ then [IntegerEntry(eC, eI), IntegerEntry(eD, eJ), IntegerEntry(eE, ex), IntegerEntry(eF, ey), IntegerEntry(ag(et, 0), eG), IntegerEntry(ag(eu, 0), eH), IntegerEntry(ag(ev, 0), ex), IntegerEntry(ag(ew, 0), ey)]
831842 else throw("Strict value is not equal to itself.")
832843 }
833844 else throw("Strict value is not equal to itself.")
834845 }
835846 else throw("Strict value is not equal to itself.")
836847 }
837848 else throw("Strict value is not equal to itself.")
838849 }
839850 }
840851 else throw("Strict value is not equal to itself.")
841852 }
842853
843854
844855
845-@Callable(bE)
846-func checkWxEmissionPoolLabel (aF,aG) = {
847- let eP = {
848- let bg = getBoolean(aE(aF, aG))
849- if ($isInstanceOf(bg, "Boolean"))
856+@Callable(bH)
857+func checkWxEmissionPoolLabel (aI,aJ) = {
858+ let eS = {
859+ let bj = getBoolean(aH(aI, aJ))
860+ if ($isInstanceOf(bj, "Boolean"))
850861 then {
851- let cV = bg
852- cV
862+ let cY = bj
863+ cY
853864 }
854865 else false
855866 }
856- $Tuple2(nil, eP)
867+ $Tuple2(nil, eS)
857868 }
858869
859870
860871
861-@Callable(bE)
862-func setWxEmissionPoolLabel (aF,aG) = {
863- let dn = cr(bE)
864- if ((dn == dn))
865- then $Tuple2([BooleanEntry(aE(aF, aG), true)], unit)
872+@Callable(bH)
873+func setWxEmissionPoolLabel (aI,aJ) = {
874+ let dq = cu(bH)
875+ if ((dq == dq))
876+ then $Tuple2([BooleanEntry(aH(aI, aJ), true)], unit)
866877 else throw("Strict value is not equal to itself.")
867878 }
868879
869880
870881
871-@Callable(bE)
872-func deleteWxEmissionPoolLabel (aF,aG) = {
873- let dn = if ((bE.caller == this))
882+@Callable(bH)
883+func deleteWxEmissionPoolLabel (aI,aJ) = {
884+ let dq = if ((bH.caller == this))
874885 then true
875- else cr(bE)
876- if ((dn == dn))
877- then $Tuple2([DeleteEntry(aE(aF, aG))], unit)
886+ else cu(bH)
887+ if ((dq == dq))
888+ then $Tuple2([DeleteEntry(aH(aI, aJ))], unit)
878889 else throw("Strict value is not equal to itself.")
879890 }
880891
881892
882893
883-@Callable(bE)
884-func onVerificationLoss (aU) = {
885- let dn = if ((toBase58String(bE.caller.bytes) == valueOrElse(getString(this, X()), "")))
894+@Callable(bH)
895+func onVerificationLoss (aX) = {
896+ let dq = if ((toBase58String(bH.caller.bytes) == valueOrElse(getString(this, X()), "")))
886897 then true
887- else bF(bE)
888- if ((dn == dn))
898+ else bI(bH)
899+ if ((dq == dq))
889900 then {
890- let du = by()
891- let eQ = if ((size(du) > 0))
901+ let dx = bB()
902+ let eT = if ((size(dx) > 0))
892903 then true
893904 else K("invalid price assets")
894- if ((eQ == eQ))
905+ if ((eT == eT))
895906 then {
896- func eR (eS,eT) = {
897- let cP = invoke(this, "deleteWxEmissionPoolLabel", [aU, eT], nil)
898- if ((cP == cP))
907+ func eU (eV,eW) = {
908+ let cS = invoke(this, "deleteWxEmissionPoolLabel", [aX, eW], nil)
909+ if ((cS == cS))
899910 then unit
900911 else throw("Strict value is not equal to itself.")
901912 }
902913
903- let eU = {
904- let eV = du
905- let eW = size(eV)
906- let eX = unit
907- func eY (eZ,fa) = if ((fa >= eW))
908- then eZ
909- else eR(eZ, eV[fa])
914+ let eX = {
915+ let eY = dx
916+ let eZ = size(eY)
917+ let fa = unit
918+ func fb (fc,fd) = if ((fd >= eZ))
919+ then fc
920+ else eU(fc, eY[fd])
910921
911- func fb (eZ,fa) = if ((fa >= eW))
912- then eZ
922+ func fe (fc,fd) = if ((fd >= eZ))
923+ then fc
913924 else throw("List size exceeds 13")
914925
915- fb(eY(eY(eY(eY(eY(eY(eY(eY(eY(eY(eY(eY(eY(eX, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13)
926+ fe(fb(fb(fb(fb(fb(fb(fb(fb(fb(fb(fb(fb(fb(fa, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13)
916927 }
917- if ((eU == eU))
928+ if ((eX == eX))
918929 then $Tuple2(nil, unit)
919930 else throw("Strict value is not equal to itself.")
920931 }
921932 else throw("Strict value is not equal to itself.")
922933 }
923934 else throw("Strict value is not equal to itself.")
924935 }
925936
926937
927938
928-@Callable(bE)
939+@Callable(bH)
929940 func isPoolOneTokenOperationsDisabledREADONLY (af) = {
930- let dU = ci(af)
931- let aq = $Tuple2(parseIntValue(dU[C]), parseIntValue(dU[D]))
932- let fc = valueOrElse(getBoolean(ap(aq)), false)
933- let fd = valueOrElse(getBoolean(as()), false)
934- $Tuple2(nil, if (fd)
941+ let dX = cl(af)
942+ let aq = $Tuple2(parseIntValue(dX[C]), parseIntValue(dX[D]))
943+ let ff = valueOrElse(getBoolean(ap(aq)), false)
944+ let fg = valueOrElse(getBoolean(as()), false)
945+ $Tuple2(nil, if (fg)
935946 then true
936- else fc)
947+ else ff)
937948 }
938949
939950
940951
941-@Callable(bE)
942-func getInFeeREADONLY (af) = {
943- let fe = cu(aH(af), aI(), 0)
944- $Tuple2(nil, fe)
952+@Callable(bH)
953+func isPoolSwapDisabledREADONLY (af) = {
954+ let dX = cl(af)
955+ let aq = $Tuple2(parseIntValue(dX[C]), parseIntValue(dX[D]))
956+ let fh = valueOrElse(getBoolean(at(aq)), false)
957+ let fi = valueOrElse(getBoolean(av()), false)
958+ $Tuple2(nil, if (fi)
959+ then true
960+ else fh)
945961 }
946962
947963
948964
949-@Callable(bE)
950-func getOutFeeREADONLY (af) = {
951- let fe = cu(aK(af), aL(), fraction(10, b, 10000))
952- $Tuple2(nil, fe)
965+@Callable(bH)
966+func getInFeeREADONLY (af) = {
967+ let fj = cx(aK(af), aL(), 0)
968+ $Tuple2(nil, fj)
953969 }
954970
955971
956972
957-@Callable(bE)
958-func getSwapFeeREADONLY (ff) = {
959- let fg = {
960- let bg = getString(this, aJ(ff))
961- if ($isInstanceOf(bg, "String"))
962- then {
963- let bh = bg
964- let fh = split(bh, m)
965- let fi = parseIntValue(fh[1])
966- let fj = parseIntValue(fh[2])
967- $Tuple2(fi, fj)
968- }
969- else if ($isInstanceOf(bg, "Unit"))
970- then unit
971- else throw("Match error")
972- }
973- $Tuple2(nil, fg)
973+@Callable(bH)
974+func getOutFeeREADONLY (af) = {
975+ let fj = cx(aN(af), aO(), fraction(10, b, 10000))
976+ $Tuple2(nil, fj)
974977 }
975978
976979
977980
978-@Callable(bE)
979-func poolInfoREADONLY (fk,fl) = {
980- let fm = getInteger(this, ak(fk))
981- let fn = getInteger(this, ak(fl))
982- let fo = getString(this, aB(value(fm), value(fn)))
983- let fp = getString(this, aC(value(fo)))
984- let dH = if (if (isDefined(fm))
985- then isDefined(fn)
986- else false)
987- then isDefined(fo)
988- else false
989- let fq = if (dH)
990- then $Tuple2(addressFromStringValue(value(fo)), bd(value(fp)))
991- else unit
992- $Tuple2(nil, fq)
981+@Callable(bH)
982+func getSwapFeeREADONLY (fk) = {
983+ let fl = {
984+ let bj = getString(this, aM(fk))
985+ if ($isInstanceOf(bj, "String"))
986+ then {
987+ let bk = bj
988+ let fm = split(bk, m)
989+ let fn = parseIntValue(fm[1])
990+ let fo = parseIntValue(fm[2])
991+ $Tuple2(fn, fo)
992+ }
993+ else if ($isInstanceOf(bj, "Unit"))
994+ then unit
995+ else throw("Match error")
996+ }
997+ $Tuple2(nil, fl)
993998 }
994999
9951000
9961001
997-@Callable(bE)
998-func getPoolStatusREADONLY (af) = {
999- let cj = split(aZ(az(af)), m)
1000- let an = cj[1]
1001- let ao = cj[2]
1002- let cA = split(aZ(am(an, ao)), m)
1003- $Tuple2(nil, parseIntValue(cA[w]))
1002+@Callable(bH)
1003+func poolInfoREADONLY (fp,fq) = {
1004+ let fr = getInteger(this, ak(fp))
1005+ let fs = getInteger(this, ak(fq))
1006+ let ft = getString(this, aE(value(fr), value(fs)))
1007+ let fu = getString(this, aF(value(ft)))
1008+ let dK = if (if (isDefined(fr))
1009+ then isDefined(fs)
1010+ else false)
1011+ then isDefined(ft)
1012+ else false
1013+ let fv = if (dK)
1014+ then $Tuple2(addressFromStringValue(value(ft)), bg(value(fu)))
1015+ else unit
1016+ $Tuple2(nil, fv)
10041017 }
10051018
10061019
10071020
1008-@Callable(bE)
1009-func getPoolConfigREADONLY (af) = {
1010- let cj = split(aZ(az(af)), m)
1011- let an = cj[1]
1012- let ao = cj[2]
1013- let cA = split(aZ(am(an, ao)), m)
1014- $Tuple2(nil, cA)
1021+@Callable(bH)
1022+func getPoolStatusREADONLY (af) = {
1023+ let cm = split(bc(aC(af)), m)
1024+ let an = cm[1]
1025+ let ao = cm[2]
1026+ let cD = split(bc(am(an, ao)), m)
1027+ $Tuple2(nil, parseIntValue(cD[w]))
10151028 }
10161029
10171030
10181031
1019-@Callable(bE)
1020-func getPoolConfigByLpAssetIdREADONLY (dM) = {
1021- let cj = split(aZ(at(dM)), m)
1022- let an = cj[1]
1023- let ao = cj[2]
1024- let cA = split(aZ(am(an, ao)), m)
1025- $Tuple2(nil, cA)
1032+@Callable(bH)
1033+func getPoolConfigREADONLY (af) = {
1034+ let cm = split(bc(aC(af)), m)
1035+ let an = cm[1]
1036+ let ao = cm[2]
1037+ let cD = split(bc(am(an, ao)), m)
1038+ $Tuple2(nil, cD)
10261039 }
10271040
10281041
10291042
1030-@Callable(bE)
1031-func poolExistsREADONLY (aF,aG) = $Tuple2(nil, cx(aF, aG))
1032-
1033-
1034-
1035-@Callable(bE)
1036-func skipOrderValidationREADONLY (af) = $Tuple2(nil, valueOrElse(getBoolean(aM(af)), false))
1037-
1038-
1039-
1040-@Callable(bE)
1041-func getChangeAmpConfigREADONLY (af) = {
1042- let fr = getIntegerValue(aN(af))
1043- let fs = getIntegerValue(aO(af))
1044- let ft = getIntegerValue(aP(af))
1045- $Tuple2(nil, [fr, fs, ft])
1043+@Callable(bH)
1044+func getPoolConfigByLpAssetIdREADONLY (dP) = {
1045+ let cm = split(bc(aw(dP)), m)
1046+ let an = cm[1]
1047+ let ao = cm[2]
1048+ let cD = split(bc(am(an, ao)), m)
1049+ $Tuple2(nil, cD)
10461050 }
10471051
10481052
10491053
1050-@Callable(bE)
1051-func getPoolWeightREADONLY (bW) = {
1052- let af = aZ(aD(bW))
1053- let fu = valueOrElse(getInteger(ae(af)), 0)
1054- $Tuple2(nil, fu)
1054+@Callable(bH)
1055+func poolExistsREADONLY (aI,aJ) = $Tuple2(nil, cA(aI, aJ))
1056+
1057+
1058+
1059+@Callable(bH)
1060+func skipOrderValidationREADONLY (af) = $Tuple2(nil, valueOrElse(getBoolean(aP(af)), false))
1061+
1062+
1063+
1064+@Callable(bH)
1065+func getChangeAmpConfigREADONLY (af) = {
1066+ let fw = getIntegerValue(aQ(af))
1067+ let fx = getIntegerValue(aR(af))
1068+ let fy = getIntegerValue(aS(af))
1069+ $Tuple2(nil, [fw, fx, fy])
10551070 }
10561071
10571072
10581073
1059-@Callable(bE)
1060-func deletePool (aA) = {
1061- let dU = ci(aA)
1062- let dn = if ((toString(bE.caller) == cE(aA)))
1063- then if (cM(aA))
1074+@Callable(bH)
1075+func getPoolWeightREADONLY (bZ) = {
1076+ let af = bc(aG(bZ))
1077+ let fz = valueOrElse(getInteger(ae(af)), 0)
1078+ $Tuple2(nil, fz)
1079+ }
1080+
1081+
1082+
1083+@Callable(bH)
1084+func deletePool (aD) = {
1085+ let dX = cl(aD)
1086+ let dq = if ((toString(bH.caller) == cH(aD)))
1087+ then if (cP(aD))
10641088 then true
10651089 else K("Pool is not empty")
1066- else bF(bE)
1067- if ((dn == dn))
1090+ else bI(bH)
1091+ if ((dq == dq))
10681092 then {
1069- let fv = if ((valueOrElse(getInteger(ae(aA)), 0) == 0))
1093+ let fA = if ((valueOrElse(getInteger(ae(aD)), 0) == 0))
10701094 then true
10711095 else K("Pool weight is not Zero")
1072- if ((fv == fv))
1096+ if ((fA == fA))
10731097 then {
1074- let fw = if ((dU[w] == toString(r)))
1098+ let fB = if ((dX[w] == toString(r)))
10751099 then true
10761100 else K("Pool must be SHUTDOWN (4)")
1077- if ((fw == fw))
1101+ if ((fB == fB))
10781102 then {
1079- let fx = cD(aA)
1080- let aF = fx._1
1081- let aG = fx._2
1082- let bW = fx._3
1083- let an = fx._4
1084- let ao = fx._5
1085- let cG = addressFromStringValue(getStringValue(Z()))
1086- let fy = invoke(cG, "deletePool", [aF, aG], nil)
1087- if ((fy == fy))
1103+ let fC = cG(aD)
1104+ let aI = fC._1
1105+ let aJ = fC._2
1106+ let bZ = fC._3
1107+ let an = fC._4
1108+ let ao = fC._5
1109+ let cJ = addressFromStringValue(getStringValue(Z()))
1110+ let fD = invoke(cJ, "deletePool", [aI, aJ], nil)
1111+ if ((fD == fD))
10881112 then {
1089- let dt = addressFromStringValue(getStringValue(Y()))
1090- let fz = invoke(dt, "deletePool", [aF, aG], nil)
1091- if ((fz == fz))
1113+ let dw = addressFromStringValue(getStringValue(Y()))
1114+ let fE = invoke(dw, "deletePool", [aI, aJ], nil)
1115+ if ((fE == fE))
10921116 then {
1093- let ds = addressFromStringValue(getStringValue(X()))
1094- let fA = invoke(ds, "deletePool", [aF, aG], nil)
1095- if ((fA == fA))
1096- then [DeleteEntry(aC(aA)), DeleteEntry(az(aA)), DeleteEntry(av(toString(an), toString(ao))), DeleteEntry(aB(an, ao)), DeleteEntry(am(toString(an), toString(ao))), DeleteEntry(at(bW)), DeleteEntry(aD(bW)), DeleteEntry(aE(aF, aG)), DeleteEntry(ae(aA)), DeleteEntry(ay(aA)), DeleteEntry(aH(aA)), DeleteEntry(aK(aA)), DeleteEntry(aM(aA)), DeleteEntry(aN(aA)), DeleteEntry(aO(aA)), DeleteEntry(aP(aA))]
1117+ let dv = addressFromStringValue(getStringValue(X()))
1118+ let fF = invoke(dv, "deletePool", [aI, aJ], nil)
1119+ if ((fF == fF))
1120+ then [DeleteEntry(aF(aD)), DeleteEntry(aC(aD)), DeleteEntry(ay(toString(an), toString(ao))), DeleteEntry(aE(an, ao)), DeleteEntry(am(toString(an), toString(ao))), DeleteEntry(aw(bZ)), DeleteEntry(aG(bZ)), DeleteEntry(aH(aI, aJ)), DeleteEntry(ae(aD)), DeleteEntry(aB(aD)), DeleteEntry(aK(aD)), DeleteEntry(aN(aD)), DeleteEntry(aP(aD)), DeleteEntry(aQ(aD)), DeleteEntry(aR(aD)), DeleteEntry(aS(aD))]
10971121 else throw("Strict value is not equal to itself.")
10981122 }
10991123 else throw("Strict value is not equal to itself.")
11001124 }
11011125 else throw("Strict value is not equal to itself.")
11021126 }
11031127 else throw("Strict value is not equal to itself.")
11041128 }
11051129 else throw("Strict value is not equal to itself.")
11061130 }
11071131 else throw("Strict value is not equal to itself.")
11081132 }
11091133
11101134
1111-@Verifier(fB)
1112-func fC () = {
1113- let fD = {
1114- let bg = bz()
1115- if ($isInstanceOf(bg, "ByteVector"))
1135+@Verifier(fG)
1136+func fH () = {
1137+ let fI = {
1138+ let bj = bC()
1139+ if ($isInstanceOf(bj, "ByteVector"))
11161140 then {
1117- let bG = bg
1118- bG
1141+ let bJ = bj
1142+ bJ
11191143 }
1120- else if ($isInstanceOf(bg, "Unit"))
1121- then fB.senderPublicKey
1144+ else if ($isInstanceOf(bj, "Unit"))
1145+ then fG.senderPublicKey
11221146 else throw("Match error")
11231147 }
1124- sigVerify(fB.bodyBytes, fB.proofs[0], fD)
1148+ sigVerify(fG.bodyBytes, fG.proofs[0], fI)
11251149 }
11261150

github/deemru/w8io/026f985 
363.72 ms