tx · AbhHGnVfw86jGgHMTBksj8zM24hgdtKQhrumU4dwtpoz

3N5BTH4bjnXn7AAKoj4sswxytsPGmdXUuTx:  -0.03400000 Waves

2023.04.20 11:46 [2542651] smart account 3N5BTH4bjnXn7AAKoj4sswxytsPGmdXUuTx > SELF 0.00000000 Waves

{ "type": 13, "id": "AbhHGnVfw86jGgHMTBksj8zM24hgdtKQhrumU4dwtpoz", "fee": 3400000, "feeAssetId": null, "timestamp": 1681980472605, "version": 2, "chainId": 84, "sender": "3N5BTH4bjnXn7AAKoj4sswxytsPGmdXUuTx", "senderPublicKey": "DyeDJ3fgwVVux2WRkxpLU9BbVjTM96AyV58b7bRFzCBx", "proofs": [ "5t1NMkybLh59HSmBHupuhaW6ewt4g5FrJJMU1MJpuuZLp2s4w7jzERYqnnz27X3uuDJXPGsv7qnRL3A32nkdhpUq" ], "script": "base64:BgJfCAISDAoKCAgICAgBCAgICBIECgIICBIGCgQICAgIEgMKAQgSBwoFCAgIAQgSBwoFCAgICAISCAoGCAgICAgIEgMKAQgSBAoCCAgSAwoBCBIECgIICBIDCgEYEgMKARgMAAlzZXBhcmF0b3ICAV8ABGtCdXkCA2J1eQAGa1ByaWNlAgVwcmljZQAFa1NlbGwCBHNlbGwAEm1heEF1Y3Rpb25EdXJhdGlvbgAeAAV0ZWFtcwEghWOVo/OIjrDeDBeOCE6/mj+SuybbOuh2jhbcFCIqSH4ABVdBVkVTAQAABGtCaWQCA2JpZAAGcGF1c2VkBgAMc3RhdHVzRm9yTkZUCQCWCgQCBE9QRU4CBkNMT1NFRAIIUkVXQVJERUQCCENBTkNFTEVEAAtkQXBwQWRkcmVzcwEaAVRKuE9s3sLak+30julKNvjVT3+V1VVbXaABBWlzTmZ0AQdhc3NldElkBAckbWF0Y2gwCQDsBwEFB2Fzc2V0SWQDCQABAgUHJG1hdGNoMAIFQXNzZXQEBXRva2VuBQckbWF0Y2gwAwMJAAACCAUFdG9rZW4IZGVjaW1hbHMAAAkAAAIIBQV0b2tlbghxdWFudGl0eQABBwkAAAIIBQV0b2tlbgpyZWlzc3VhYmxlBwcHDQFpAQljcmVhdGVOZnQKCG5mdF9uYW1lCW5mdF9vd25lcg9uZnRfZEFwcEFkZHJlc3MIbmZ0X3R5cGUIbmZ0X3RhZ3MRbmZ0X3NlbGxpbmdfcHJpY2URcm95YWx0eVBlcmNlbnRhZ2UPbmZ0X2Rlc2NyaXB0aW9uCm5mdF9vblNlbGwIbmZ0X2RhdGEECG5ld1Rva2VuCQDCCAUFCG5mdF9uYW1lBQ9uZnRfZGVzY3JpcHRpb24AAQAABwQHaXNzdWVJZAkAuAgBBQhuZXdUb2tlbgQEdHhJZAgFAWkNdHJhbnNhY3Rpb25JZAkAzAgCBQhuZXdUb2tlbgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIAAQUHaXNzdWVJZAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkA2AQBBQdpc3N1ZUlkBQlzZXBhcmF0b3ICBU93bmVyCQClCAEIBQFpBmNhbGxlcgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkA2AQBBQdpc3N1ZUlkBQlzZXBhcmF0b3ICCG5mdF90eXBlBQhuZnRfdHlwZQkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkA2AQBBQdpc3N1ZUlkBQlzZXBhcmF0b3ICCG5mdF90YWdzBQhuZnRfdGFncwkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkA2AQBBQdpc3N1ZUlkBQlzZXBhcmF0b3ICD25mdF9kQXBwQWRkcmVzcwUPbmZ0X2RBcHBBZGRyZXNzCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQDYBAEFBHR4SWQFCXNlcGFyYXRvcgIRcm95YWx0eVBlcmNlbnRhZ2UFEXJveWFsdHlQZXJjZW50YWdlCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgkA2AQBBQdpc3N1ZUlkBQlzZXBhcmF0b3ICEW5mdF9zZWxsaW5nX3ByaWNlBRFuZnRfc2VsbGluZ19wcmljZQkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkA2AQBBQdpc3N1ZUlkBQlzZXBhcmF0b3ICCm5mdF9vblNlbGwFCm5mdF9vblNlbGwJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJANgEAQUHaXNzdWVJZAUJc2VwYXJhdG9yAghuZnRfZGF0YQUIbmZ0X2RhdGEJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJANgEAQUEdHhJZAUJc2VwYXJhdG9yAglpc3N1ZV9uZnQJANgEAQUHaXNzdWVJZAUDbmlsAWkBB3NlbGxORlQCBXByaWNlEHBheW1lbnRfY3VycmVuY3kEBHR4SWQIBQFpDXRyYW5zYWN0aW9uSWQEBnNlbGxlcggIBQFpBmNhbGxlcgVieXRlcwQLJHQwMjQ5OTI1ODQJAJQKAgkBBXZhbHVlAQgJAJEDAggFAWkIcGF5bWVudHMAAAdhc3NldElkCQEFdmFsdWUBCAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAQGdG9rZW4wCAULJHQwMjQ5OTI1ODQCXzEEB2Ftb3VudDAIBQskdDAyNDk5MjU4NAJfMgMJAQEhAQkBBWlzTmZ0AQUGdG9rZW4wCQACAQIQVG9rZW4gaXMgbm90IE5GVAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgUGa1ByaWNlBQlzZXBhcmF0b3IJANgEAQkBBXZhbHVlAQgJAJEDAggFAWkIcGF5bWVudHMAAAdhc3NldElkBQVwcmljZQkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkApQgBCAUBaQZjYWxsZXIFCXNlcGFyYXRvcgUFa1NlbGwJAKwCAgkArAICCQCsAgIJANgEAQUGdG9rZW4wBQlzZXBhcmF0b3IJAKQDAQUHYW1vdW50MAUQcGF5bWVudF9jdXJyZW5jeQUDbmlsAWkBBmJ1eU5GVAQFbmZ0SUQRY3VycmVudF9uZnRfb3duZXIHY3JlYXRvchFyb3lhbHR5UGVyY2VudGFnZQQHYXNzZXRJZAkA2QQBBQVuZnRJRAQQY2hlY2tPd25lcklzU2FtZQQHJG1hdGNoMAkAnQgCBQR0aGlzCQCsAgIJAKwCAgIEbmZ0XwURY3VycmVudF9uZnRfb3duZXICBl9vd25lcgMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAWEFByRtYXRjaDAFAWEHBAVwcmljZQkBEUBleHRyTmF0aXZlKDEwNTgpAQkArAICCQCsAgIJAKwCAgkArAICBQZrUHJpY2UFCXNlcGFyYXRvcgUFbmZ0SUQCAV8FEWN1cnJlbnRfbmZ0X293bmVyBAZhbW91bnQJAQV2YWx1ZQEICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50BAxzZWxsZXJBbW91bnQJAGUCBQZhbW91bnQJAGgCCQBpAgUGYW1vdW50AOgHABkEDHBsYXRmb3JtX2ZlZQkAZQIFBmFtb3VudAUMc2VsbGVyQW1vdW50BBJyb3lhbHR5UGVyY2VudGFnZTEFEXJveWFsdHlQZXJjZW50YWdlBA5yb3lhbGl0eUFtb3VudAkAaQIJAGgCBQZhbW91bnQJAQ1wYXJzZUludFZhbHVlAQUScm95YWx0eVBlcmNlbnRhZ2UxAGQECnNlbGxlckNvc3QJAGUCBQZhbW91bnQJAGQCBQ5yb3lhbGl0eUFtb3VudAUMcGxhdGZvcm1fZmVlAwkAAAIFEWN1cnJlbnRfbmZ0X293bmVyCQClCAEIBQFpBmNhbGxlcgkAAgECKWN1cnJlbnQgT3duZXIgb2YgTkZUIG5vdCBhYmxlIHRvIHB1cmNoYXNlAwMJAAACCAkAkQMCCAUBaQhwYXltZW50cwAAB2Fzc2V0SWQFBXRlYW1zCQECIT0CBQdjcmVhdG9yBRFjdXJyZW50X25mdF9vd25lcgcJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyAAEFB2Fzc2V0SWQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBCQDZBAEFEWN1cnJlbnRfbmZ0X293bmVyBQpzZWxsZXJDb3N0BQV0ZWFtcwkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQUHY3JlYXRvcgUOcm95YWxpdHlBbW91bnQFBXRlYW1zCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgIEbmZ0XwUFbmZ0SUQCDHBsYXRmb3JtX2ZlZQUMcGxhdGZvcm1fZmVlCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQClCAEIBQFpBmNhbGxlcgUJc2VwYXJhdG9yBQRrQnV5CQCsAgIJAKwCAgUFbmZ0SUQFCXNlcGFyYXRvcgkApAMBBQZhbW91bnQJAMwIAgkBC0RlbGV0ZUVudHJ5AQkArAICCQCsAgICBG5mdF8FEWN1cnJlbnRfbmZ0X293bmVyAgZfb3duZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgICBG5mdF8FEWN1cnJlbnRfbmZ0X293bmVyAgZfb3duZXIJAKUIAQgFAWkGY2FsbGVyCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICBQVuZnRJRAUJc2VwYXJhdG9yAgZfb3duZXIJAKUIAQgFAWkGY2FsbGVyBQNuaWwDAwkAAAIICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAUFdGVhbXMJAAACBQdjcmVhdG9yBRFjdXJyZW50X25mdF9vd25lcgcJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyAAEFB2Fzc2V0SWQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBCQDZBAEFEWN1cnJlbnRfbmZ0X293bmVyBQxzZWxsZXJBbW91bnQFBXRlYW1zCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICAgRuZnRfBQVuZnRJRAIMcGxhdGZvcm1fZmVlCQCkAwEFDHBsYXRmb3JtX2ZlZQkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkApQgBCAUBaQZjYWxsZXIFCXNlcGFyYXRvcgUEa0J1eQkArAICCQCsAgIFBW5mdElEBQlzZXBhcmF0b3IJAKQDAQUGYW1vdW50CQDMCAIJAQtEZWxldGVFbnRyeQEJAKwCAgkArAICAgRuZnRfBRFjdXJyZW50X25mdF9vd25lcgIGX293bmVyCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICAgRuZnRfBRFjdXJyZW50X25mdF9vd25lcgIGX293bmVyCQClCAEIBQFpBmNhbGxlcgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgUFbmZ0SUQFCXNlcGFyYXRvcgIGX293bmVyCQClCAEIBQFpBmNhbGxlcgUDbmlsAwMJAAACCAkAkQMCCAUBaQhwYXltZW50cwAAB2Fzc2V0SWQFBHVuaXQJAQIhPQIFB2NyZWF0b3IFEWN1cnJlbnRfbmZ0X293bmVyBwkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIAAQUHYXNzZXRJZAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQURY3VycmVudF9uZnRfb3duZXIFCnNlbGxlckNvc3QFBHVuaXQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBCQDZBAEFB2NyZWF0b3IFDnJveWFsaXR5QW1vdW50BQR1bml0CQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICAgRuZnRfBQVuZnRJRAIMcGxhdGZvcm1fZmVlCQCkAwEFDHBsYXRmb3JtX2ZlZQkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkApQgBCAUBaQZjYWxsZXIFCXNlcGFyYXRvcgUEa0J1eQkArAICCQCsAgIFBW5mdElEBQlzZXBhcmF0b3IJAKQDAQUGYW1vdW50CQDMCAIJAQtEZWxldGVFbnRyeQEJAKwCAgkArAICAgRuZnRfBRFjdXJyZW50X25mdF9vd25lcgIGX293bmVyCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICAgRuZnRfBRFjdXJyZW50X25mdF9vd25lcgIGX293bmVyCQClCAEIBQFpBmNhbGxlcgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgUFbmZ0SUQFCXNlcGFyYXRvcgIGX293bmVyCQClCAEIBQFpBmNhbGxlcgUDbmlsAwMJAAACCAkAkQMCCAUBaQhwYXltZW50cwAAB2Fzc2V0SWQFBHVuaXQJAAACBQdjcmVhdG9yBRFjdXJyZW50X25mdF9vd25lcgcJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyAAEFB2Fzc2V0SWQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBCQDZBAEFEWN1cnJlbnRfbmZ0X293bmVyBQxzZWxsZXJBbW91bnQFBHVuaXQJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgICBG5mdF8FBW5mdElEAgxwbGF0Zm9ybV9mZWUJAKQDAQUMcGxhdGZvcm1fZmVlCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQClCAEIBQFpBmNhbGxlcgUJc2VwYXJhdG9yBQRrQnV5CQCsAgIJAKwCAgUFbmZ0SUQFCXNlcGFyYXRvcgkApAMBBQZhbW91bnQJAMwIAgkBC0RlbGV0ZUVudHJ5AQkArAICCQCsAgICBG5mdF8FEWN1cnJlbnRfbmZ0X293bmVyAgZfb3duZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgICBG5mdF8FEWN1cnJlbnRfbmZ0X293bmVyAgZfb3duZXIJAKUIAQgFAWkGY2FsbGVyCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICBQVuZnRJRAUJc2VwYXJhdG9yAgZfb3duZXIJAKUIAQgFAWkGY2FsbGVyBQNuaWwFA25pbAFpAQpjYW5jZWxTZWxsAQVuZnRJZAQEdHhJZAkA2AQBCAUBaQ10cmFuc2FjdGlvbklkBAZzZWxsZXIICAUBaQZjYWxsZXIFYnl0ZXMJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIFBHR4SWQFBW5mdElkAgtfbmZ0X3N0YXR1cwIIQ0FOQ0VMRUQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBBQZzZWxsZXIAAQkA2QQBBQVuZnRJZAUDbmlsAWkBCmFkZEF1Y3Rpb24FBXN0YXJ0A2VuZApzdGFydFByaWNlCGR1cmF0aW9uEHBheW1lbnRfY3VycmVuY3kEBHR4SWQJANgEAQgFAWkNdHJhbnNhY3Rpb25JZAQFbmZ0SWQJAQV2YWx1ZQEICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAQFcHJpY2UJAQV2YWx1ZQEFCnN0YXJ0UHJpY2UECWVuZEhlaWdodAkAZAIIBQlsYXN0QmxvY2sGaGVpZ2h0BQhkdXJhdGlvbgQGY2FsbGVyCAgFAWkGY2FsbGVyBWJ5dGVzBBFjaGVja05mdEF1Y3Rpb25lZAQHJG1hdGNoMAkAnQgCBQR0aGlzCQCsAgIJAKwCAgkArAICCQDYBAEFBW5mdElkBQlzZXBhcmF0b3ICC25mdF9zdGF0dXNfCQDYBAEFBmNhbGxlcgMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAWEFByRtYXRjaDAGBwMJAAACBRFjaGVja05mdEF1Y3Rpb25lZAYJAAIBAhdBbHJlYWR5IGluIGF1Y3Rpb24gbGlzdAMJAGYCBQhkdXJhdGlvbgUSbWF4QXVjdGlvbkR1cmF0aW9uCQACAQkArAICAjdEdXJhdGlvbiBpcyB0b28gbG9uZy4gTXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMzAgCQCkAwEFEm1heEF1Y3Rpb25EdXJhdGlvbgMJAAACCAkAkQMCCAUBaQhwYXltZW50cwAAB2Fzc2V0SWQFBHVuaXQJAAIBAhBORlQgbm90IGF0dGFjaGVkAwkAAAIICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAUFdGVhbXMJAAIBAhBORlQgbm90IGF0dGFjaGVkCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICBQR0eElkAhZuZnRfc3RhcnRfYXVjdGlvbl9kYXRlCQDYBAEFBmNhbGxlcgUFc3RhcnQJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIFBHR4SWQCFG5mdF9lbmRfYXVjdGlvbl9kYXRlCQDYBAEFBmNhbGxlcgUDZW5kCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgUEdHhJZAIQX25mdF9zdGFydF9wcmljZQUKc3RhcnRQcmljZQkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFBHR4SWQCCl9uZnRfb3duZXIJAKUIAQgFAWkGY2FsbGVyCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgUEdHhJZAIPX25mdF9vbl9hdWN0aW9uCQDYBAEFBW5mdElkCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgUEdHhJZAIQX3ByZXZpb3VzX2JpZGRlcgIEbm9uZQkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFBHR4SWQCDF9oaWdoZXN0X2JpZAIBMAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFBHR4SWQCDl93aW5uZXJfb2ZfbmZ0AgEwCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgUEdHhJZAINX2JpZGRlcl9jb3VudAIBMAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFBHR4SWQCC19uZnRfc3RhdHVzAgRPUEVOBQNuaWwBaQEIcGxhY2VCaWQFCWF1Y3Rpb25JZAVuZnRJZAluZnRfb3duZXIJYmlkX3ByaWNlEGN1cnJlbnRfY3VycmVuY3kEBHR4SWQJANgEAQgFAWkNdHJhbnNhY3Rpb25JZAQGY2FsbGVyCAgFAWkGY2FsbGVyBWJ5dGVzBAdhc3NldElkCQDZBAEFBW5mdElkBAl0b2tlblR5cGUICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAQPY3VycmVudEJpZFByaWNlCAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAQVZ2V0TGFzdFdpbm5lckJpZFByaWNlCQERQGV4dHJOYXRpdmUoMTA1MykCBQR0aGlzCQCsAgIFCWF1Y3Rpb25JZAIMX2hpZ2hlc3RfYmlkBBhnZXRQcmV2aW91c0JpZGRlckFkZHJlc3MJAJ0IAgUEdGhpcwkArAICBQlhdWN0aW9uSWQCEF9wcmV2aW91c19iaWRkZXIED2N1cnJlbnRCaWRDb3VudAkBEUBleHRyTmF0aXZlKDEwNTMpAgUEdGhpcwkArAICBQlhdWN0aW9uSWQCDV9iaWRkZXJfY291bnQEFGdldExhc3RXaW5uZXJBZGRyZXNzCQERQGV4dHJOYXRpdmUoMTA1MykCBQR0aGlzCQCsAgIFCWF1Y3Rpb25JZAIOX3dpbm5lcl9vZl9uZnQEEWNoZWNrTmZ0QXVjdGlvbmVkCQERQGV4dHJOYXRpdmUoMTA1MykCBQR0aGlzCQCsAgIFCWF1Y3Rpb25JZAILX25mdF9zdGF0dXMDCQECIT0CBRFjaGVja05mdEF1Y3Rpb25lZAIET1BFTgkAAgECFE5vdCBvcGVuIGZvciBhdWN0aW9uAwkAZwIJAQ1wYXJzZUludFZhbHVlAQUVZ2V0TGFzdFdpbm5lckJpZFByaWNlBQ9jdXJyZW50QmlkUHJpY2UJAAIBAiVCaWQgaXMgbGVzcyB0aGVuIHN0YXJ0aW5nL2hpZ2hlc3QgQmlkAwkAAAIFFWdldExhc3RXaW5uZXJCaWRQcmljZQIBMAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFCWF1Y3Rpb25JZAIMX2hpZ2hlc3RfYmlkCQCkAwEFD2N1cnJlbnRCaWRQcmljZQkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFCWF1Y3Rpb25JZAIOX3dpbm5lcl9vZl9uZnQJANgEAQgIBQFpBmNhbGxlcgVieXRlcwkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFCWF1Y3Rpb25JZAINX2JpZGRlcl9jb3VudAkApAMBCQBkAgkBDXBhcnNlSW50VmFsdWUBBQ9jdXJyZW50QmlkQ291bnQAAQkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFCWF1Y3Rpb25JZAIHX25mdF9pZAkA2AQBBQdhc3NldElkCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgUJYXVjdGlvbklkAgpfbmZ0X293bmVyBQluZnRfb3duZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKwCAgUEdHhJZAIBXwUJYXVjdGlvbklkAgxfaGlnaGVzdF9iaWQJAKQDAQUPY3VycmVudEJpZFByaWNlCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQCsAgIFBHR4SWQCAV8FCWF1Y3Rpb25JZAIHX3dpbm5lcgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQCsAgIFBHR4SWQCAV8FCWF1Y3Rpb25JZAINX2JpZGRlcl9jb3VudAkApAMBCQBkAgkBDXBhcnNlSW50VmFsdWUBBQ9jdXJyZW50QmlkQ291bnQAAQkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkArAICBQR0eElkAgFfBQlhdWN0aW9uSWQCB19uZnRfaWQJANgEAQUHYXNzZXRJZAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkArAICBQR0eElkAgFfBQlhdWN0aW9uSWQCCl9uZnRfb3duZXIFCW5mdF9vd25lcgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFBHR4SWQCD19iaWRfZm9yX25mdF9ieQkA2AQBBQZjYWxsZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICBQR0eElkAhBfYmlkX3ByaWNlX3BsYWNlBQliaWRfcHJpY2UJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICBQR0eElkAiZfcHJldmlvdXNfYmlkX2Ftb3VudF9yZWZ1bmRfdG9fYWRkcmVzcwUUZ2V0TGFzdFdpbm5lckFkZHJlc3MJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICBQR0eElkAhtfcHJldm9pdXNfYmlkX2Ftb3VudF9yZWZ1bmQFFWdldExhc3RXaW5uZXJCaWRQcmljZQUDbmlsAwkBAiE9AgUVZ2V0TGFzdFdpbm5lckJpZFByaWNlAgEwCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQkA2QQBBRRnZXRMYXN0V2lubmVyQWRkcmVzcwkBDXBhcnNlSW50VmFsdWUBBRVnZXRMYXN0V2lubmVyQmlkUHJpY2UFCXRva2VuVHlwZQkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFBHR4SWQCJl9wcmV2aW91c19iaWRfYW1vdW50X3JlZnVuZF90b19hZGRyZXNzBRRnZXRMYXN0V2lubmVyQWRkcmVzcwkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFBHR4SWQCG19wcmV2b2l1c19iaWRfYW1vdW50X3JlZnVuZAUVZ2V0TGFzdFdpbm5lckJpZFByaWNlCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgUJYXVjdGlvbklkAg1fYmlkZGVyX2NvdW50CQCkAwEJAGQCCQENcGFyc2VJbnRWYWx1ZQEFD2N1cnJlbnRCaWRDb3VudAABCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgUJYXVjdGlvbklkAgxfaGlnaGVzdF9iaWQJAKQDAQUPY3VycmVudEJpZFByaWNlCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgUJYXVjdGlvbklkAg5fd2lubmVyX29mX25mdAkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgUJYXVjdGlvbklkAgdfbmZ0X2lkCQDYBAEFB2Fzc2V0SWQJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICBQlhdWN0aW9uSWQCCl9uZnRfb3duZXIFCW5mdF9vd25lcgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkArAICBQR0eElkAgFfBQlhdWN0aW9uSWQCDF9oaWdoZXN0X2JpZAkApAMBBQ9jdXJyZW50QmlkUHJpY2UJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKwCAgUEdHhJZAIBXwUJYXVjdGlvbklkAgdfd2lubmVyCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKwCAgUEdHhJZAIBXwUJYXVjdGlvbklkAg1fYmlkZGVyX2NvdW50CQCkAwEJAGQCCQENcGFyc2VJbnRWYWx1ZQEFD2N1cnJlbnRCaWRDb3VudAABCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQCsAgIFBHR4SWQCAV8FCWF1Y3Rpb25JZAIHX25mdF9pZAkA2AQBBQdhc3NldElkCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQCsAgIFBHR4SWQCAV8FCWF1Y3Rpb25JZAIKX25mdF9vd25lcgUJbmZ0X293bmVyCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgUEdHhJZAIPX2JpZF9mb3JfbmZ0X2J5CQDYBAEFBmNhbGxlcgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFBHR4SWQCEF9iaWRfcHJpY2VfcGxhY2UFCWJpZF9wcmljZQUDbmlsBQNuaWwBaQEOYWNjZXB0QmlkT2ZmZXIGCWF1Y3Rpb25JZAVuZnRJZBRiaWRfYW1vdW50X2Zyb21fdXNlcgdjcmVhdG9yEXJveWFsdHlQZXJjZW50YWdlEGN1cnJlbnRfY3VycmVuY3kEC2FzaW1pU3RyaW5nAiw5eWhKRGZXalBwdjZ0RmpXUkQxQUp5QlF3YXVzSmYyWmR4ekxuODZVa25ucQQEdHhJZAkA2AQBCAUBaQ10cmFuc2FjdGlvbklkBAphbW91bnRVbml0CQDZBAEFEGN1cnJlbnRfY3VycmVuY3kEBmNhbGxlcggIBQFpBmNhbGxlcgVieXRlcwQHYXNzZXRJZAkA2QQBBQVuZnRJZAQSZ2V0TmZ0V2lubmluZ1ByaWNlCQERQGV4dHJOYXRpdmUoMTA1MykCBQR0aGlzCQCsAgIFCWF1Y3Rpb25JZAIMX2hpZ2hlc3RfYmlkBBNnZXROZnRXaW5uaW5nYW1vdW50CQBoAgkAaQIJAQ1wYXJzZUludFZhbHVlAQUSZ2V0TmZ0V2lubmluZ1ByaWNlAOgHAM8HBAxwbGF0Zm9ybV9mZWUJAGgCCQBpAgkBDXBhcnNlSW50VmFsdWUBBRJnZXROZnRXaW5uaW5nUHJpY2UA6AcAGQQOcm95YWxpdHlBbW91bnQJAGgCCQBpAgkBDXBhcnNlSW50VmFsdWUBBRJnZXROZnRXaW5uaW5nUHJpY2UAZAkBDXBhcnNlSW50VmFsdWUBBRFyb3lhbHR5UGVyY2VudGFnZQQNYXVjdGlvbmVyQ29zdAkAZQIJAQ1wYXJzZUludFZhbHVlAQUSZ2V0TmZ0V2lubmluZ1ByaWNlCQBkAgUOcm95YWxpdHlBbW91bnQFDHBsYXRmb3JtX2ZlZQQQZ2V0QXVjdGlvbldpbm5lcgkBEUBleHRyTmF0aXZlKDEwNTMpAgUEdGhpcwkArAICBQlhdWN0aW9uSWQCDl93aW5uZXJfb2ZfbmZ0AwMJAAACBRBjdXJyZW50X2N1cnJlbmN5BQthc2ltaVN0cmluZwkAAAIJALAJAQUGY2FsbGVyBQdjcmVhdG9yBwkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEFBmNhbGxlcgUTZ2V0TmZ0V2lubmluZ2Ftb3VudAUKYW1vdW50VW5pdAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQUQZ2V0QXVjdGlvbldpbm5lcgABBQdhc3NldElkCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgUEdHhJZAIVX2Ftb3VudF9wYWlkX3RvX293bmVyBRJnZXROZnRXaW5uaW5nUHJpY2UJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICBQR0eElkAhBfbmZ0X3RyYW5zZmVyX3RvBRBnZXRBdWN0aW9uV2lubmVyCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgUEdHhJZAILX25mdF9zdGF0dXMCCFJFV0FSREVECQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgUJYXVjdGlvbklkAhVfYW1vdW50X3BhaWRfdG9fb3duZXIFEmdldE5mdFdpbm5pbmdQcmljZQkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFCWF1Y3Rpb25JZAIQX25mdF90cmFuc2Zlcl90bwUQZ2V0QXVjdGlvbldpbm5lcgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFCWF1Y3Rpb25JZAILX25mdF9zdGF0dXMCCFJFV0FSREVEBQNuaWwDAwkAAAIFEGN1cnJlbnRfY3VycmVuY3kFC2FzaW1pU3RyaW5nCQECIT0CCQCwCQEFBmNhbGxlcgUHY3JlYXRvcgcJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBBQZjYWxsZXIFE2dldE5mdFdpbm5pbmdhbW91bnQFCmFtb3VudFVuaXQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBCQDZBAEFEGdldEF1Y3Rpb25XaW5uZXIAAQUHYXNzZXRJZAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQUHY3JlYXRvcgUNYXVjdGlvbmVyQ29zdAUKYW1vdW50VW5pdAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFBHR4SWQCFV9hbW91bnRfcGFpZF90b19vd25lcgUSZ2V0TmZ0V2lubmluZ1ByaWNlCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgUEdHhJZAIQX25mdF90cmFuc2Zlcl90bwUQZ2V0QXVjdGlvbldpbm5lcgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFBHR4SWQCC19uZnRfc3RhdHVzAghSRVdBUkRFRAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFCWF1Y3Rpb25JZAIVX2Ftb3VudF9wYWlkX3RvX293bmVyBRJnZXROZnRXaW5uaW5nUHJpY2UJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICBQlhdWN0aW9uSWQCEF9uZnRfdHJhbnNmZXJfdG8FEGdldEF1Y3Rpb25XaW5uZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICBQlhdWN0aW9uSWQCC19uZnRfc3RhdHVzAghSRVdBUkRFRAUDbmlsAwMJAAACBRBjdXJyZW50X2N1cnJlbmN5AgVXQVZFUwkAAAIJALAJAQUGY2FsbGVyBQdjcmVhdG9yBwkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEFBmNhbGxlcgUTZ2V0TmZ0V2lubmluZ2Ftb3VudAUEdW5pdAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQUQZ2V0QXVjdGlvbldpbm5lcgABBQdhc3NldElkCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgUEdHhJZAIVX2Ftb3VudF9wYWlkX3RvX293bmVyBRJnZXROZnRXaW5uaW5nUHJpY2UJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICBQR0eElkAhBfbmZ0X3RyYW5zZmVyX3RvBRBnZXRBdWN0aW9uV2lubmVyCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgUEdHhJZAILX25mdF9zdGF0dXMCCFJFV0FSREVECQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgUJYXVjdGlvbklkAhVfYW1vdW50X3BhaWRfdG9fb3duZXIFEmdldE5mdFdpbm5pbmdQcmljZQkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFCWF1Y3Rpb25JZAIQX25mdF90cmFuc2Zlcl90bwUQZ2V0QXVjdGlvbldpbm5lcgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFCWF1Y3Rpb25JZAILX25mdF9zdGF0dXMCCFJFV0FSREVEBQNuaWwDAwkAAAIFEGN1cnJlbnRfY3VycmVuY3kCBVdBVkVTCQECIT0CCQCwCQEFBmNhbGxlcgUHY3JlYXRvcgcJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBBQZjYWxsZXIFE2dldE5mdFdpbm5pbmdhbW91bnQFBHVuaXQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBCQDZBAEFEGdldEF1Y3Rpb25XaW5uZXIAAQUHYXNzZXRJZAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQUHY3JlYXRvcgUNYXVjdGlvbmVyQ29zdAUEdW5pdAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFBHR4SWQCFV9hbW91bnRfcGFpZF90b19vd25lcgUSZ2V0TmZ0V2lubmluZ1ByaWNlCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgUEdHhJZAIQX25mdF90cmFuc2Zlcl90bwUQZ2V0QXVjdGlvbldpbm5lcgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFBHR4SWQCC19uZnRfc3RhdHVzAghSRVdBUkRFRAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFCWF1Y3Rpb25JZAIVX2Ftb3VudF9wYWlkX3RvX293bmVyBRJnZXROZnRXaW5uaW5nUHJpY2UJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICBQlhdWN0aW9uSWQCEF9uZnRfdHJhbnNmZXJfdG8FEGdldEF1Y3Rpb25XaW5uZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICBQlhdWN0aW9uSWQCC19uZnRfc3RhdHVzAghSRVdBUkRFRAUDbmlsBQNuaWwBaQENY2FuY2VsQXVjdGlvbgEJYXVjdGlvbklkBAR0eElkCQDYBAEIBQFpDXRyYW5zYWN0aW9uSWQEBmNhbGxlcggIBQFpBmNhbGxlcgVieXRlcwQNYXVjdGlvblN0YXR1cwkBEUBleHRyTmF0aXZlKDEwNTMpAgUEdGhpcwkArAICBQlhdWN0aW9uSWQCC19uZnRfc3RhdHVzBA1iaWRkaW5nV2lubmVyCQERQGV4dHJOYXRpdmUoMTA1MykCBQR0aGlzCQCsAgIFCWF1Y3Rpb25JZAIOX3dpbm5lcl9vZl9uZnQECG5mdE93bmVyCQERQGV4dHJOYXRpdmUoMTA1MykCBQR0aGlzCQCsAgIFCWF1Y3Rpb25JZAIKX25mdF9vd25lcgQFbmZ0SWQJARFAZXh0ck5hdGl2ZSgxMDUzKQIFBHRoaXMJAKwCAgUJYXVjdGlvbklkAg9fbmZ0X29uX2F1Y3Rpb24EDGJpZGRpbmdQcmljZQkBEUBleHRyTmF0aXZlKDEwNTMpAgUEdGhpcwkArAICBQlhdWN0aW9uSWQCDF9oaWdoZXN0X2JpZAMJAAACBQ1iaWRkaW5nV2lubmVyAgEwCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICBQR0eElkBQlhdWN0aW9uSWQCC19uZnRfc3RhdHVzAghDQU5DRUxFRAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQUIbmZ0T3duZXIAAQkA2QQBBQVuZnRJZAUDbmlsAwkBAiE9AgUNYmlkZGluZ1dpbm5lcgIBMAkAAgECQ3Nvb3J5IHlvdSBjYW4ndCBjYW5jZWwgaXQgYmVjYXVzZSBhbHJlYWR5IGF1Y3Rpb24gcGxhY2VkIGJ5IHNvbWVvbmUFA25pbAFpARJtYW51YWxGdW5kVHJhbnNmZXICDXJlY2VwaWVudEFkZHIHbWVzc2FnZQQGc2VuZGVyCAgFAWkGY2FsbGVyBWJ5dGVzBAdyZWNpdmVyCQDZBAEFDXJlY2VwaWVudEFkZHIEBmFtb3VudAgJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQEDHBsYXRmb3JtX2ZlZQkAaAIJAGkCBQZhbW91bnQA6AcAGQQRcmVjZXBpZW50X3BheW1lbnQJAGUCBQZhbW91bnQFDHBsYXRmb3JtX2ZlZQMJAAACCAkAkQMCCAUBaQhwYXltZW50cwAAB2Fzc2V0SWQFBHVuaXQJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkA2AQBBQZzZW5kZXICCV90cmFuc2ZlcgUGYW1vdW50CQDMCAIJAQtTdHJpbmdFbnRyeQICDHBsYXRmb3JtX2ZlZQkApAMBBQxwbGF0Zm9ybV9mZWUJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQDYBAEFBnNlbmRlcgIMX3RyYW5zZmVyX3RvBQ1yZWNlcGllbnRBZGRyCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQUHcmVjaXZlcgURcmVjZXBpZW50X3BheW1lbnQFBHVuaXQFA25pbAMJAAACCAkAkQMCCAUBaQhwYXltZW50cwAAB2Fzc2V0SWQFBXRlYW1zCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJANgEAQUGc2VuZGVyAglfdHJhbnNmZXIFBmFtb3VudAkAzAgCCQEMSW50ZWdlckVudHJ5AgIMcGxhdGZvcm1fZmVlBQxwbGF0Zm9ybV9mZWUJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQDYBAEFBnNlbmRlcgIMX3RyYW5zZmVyX3RvBQ1yZWNlcGllbnRBZGRyCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQUHcmVjaXZlcgURcmVjZXBpZW50X3BheW1lbnQFBXRlYW1zBQNuaWwFA25pbAFpAQduZnRiYWNrAQlhdWN0aW9uSWQEBmNhbGxlcggIBQFpBmNhbGxlcgVieXRlcwQFbmZ0SWQJARFAZXh0ck5hdGl2ZSgxMDUzKQIFBHRoaXMJAKwCAgUJYXVjdGlvbklkAg9fbmZ0X29uX2F1Y3Rpb24ECG5mdE93bmVyCQERQGV4dHJOYXRpdmUoMTA1MykCBQR0aGlzCQCsAgIFCWF1Y3Rpb25JZAIKX25mdF9vd25lcgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFCWF1Y3Rpb25JZAILX25mdF9zdGF0dXMCEUF1Y3Rpb25fdGltZSBvdmVyCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQkA2QQBBQhuZnRPd25lcgABCQDZBAEFBW5mdElkBQNuaWwBaQENd2l0aGRyYXdNb25leQIJYXVjdGlvbklkEGN1cnJlbnRfY3VycmVuY3kEBmNhbGxlcggIBQFpBmNhbGxlcgVieXRlcwQLYXNpbWlTdHJpbmcCLDl5aEpEZldqUHB2NnRGaldSRDFBSnlCUXdhdXNKZjJaZHh6TG44NlVrbm5xBAR0eElkCQDYBAEIBQFpDXRyYW5zYWN0aW9uSWQECmFtb3VudFVuaXQJANkEAQUQY3VycmVudF9jdXJyZW5jeQQIYmlkUHJpY2UJARFAZXh0ck5hdGl2ZSgxMDUzKQIFBHRoaXMJAKwCAgUJYXVjdGlvbklkAgxfaGlnaGVzdF9iaWQECGFzQmlkZGVyCQERQGV4dHJOYXRpdmUoMTA1MykCBQR0aGlzCQCsAgIFCWF1Y3Rpb25JZAIHX3dpbm5lcgQJYmlkRm9yTkZUCQERQGV4dHJOYXRpdmUoMTA1MykCBQR0aGlzCQCsAgIFCWF1Y3Rpb25JZAIHX25mdF9pZAMJAAACBRBjdXJyZW50X2N1cnJlbmN5BQthc2ltaVN0cmluZwkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFCWF1Y3Rpb25JZAIIX25mdF9iaWQCCFdJVEhEUkFXCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgUJYXVjdGlvbklkAgdfbmZ0X2lkBQliaWRGb3JORlQJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICBQlhdWN0aW9uSWQCHF9iaWRkaW5nX3ByaWNlX3JlZnVuZF9hbW91bnQFCGJpZFByaWNlCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgkBDXBhcnNlSW50VmFsdWUBBQhiaWRQcmljZQUKYW1vdW50VW5pdAUDbmlsAwkAAAIFEGN1cnJlbnRfY3VycmVuY3kCBVdBVkVTCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgUJYXVjdGlvbklkAghfbmZ0X2JpZAIIV0lUSERSQVcJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICBQlhdWN0aW9uSWQCB19uZnRfaWQFCWJpZEZvck5GVAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFCWF1Y3Rpb25JZAIcX2JpZGRpbmdfcHJpY2VfcmVmdW5kX2Ftb3VudAUIYmlkUHJpY2UJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyCQENcGFyc2VJbnRWYWx1ZQEFCGJpZFByaWNlBQR1bml0BQNuaWwFA25pbAFpARRidXlBbGxQcm9kdWN0c19hc2ltaQEHbmZ0SW5mbwQFYnV5ZXIIBQFpBmNhbGxlcgQMYnV5ZXJCYWxhbmNlCQDwBwIFBWJ1eWVyASCFY5Wj84iOsN4MF44ITr+aP5K7Jts66HaOFtwUIipIfgQEbmZUMQkAtQkCCQCRAwIFB25mdEluZm8AAAIBXwQEbmZUMgkAtQkCCQCRAwIFB25mdEluZm8AAQIBXwQEbmZUMwkAtQkCCQCRAwIFB25mdEluZm8AAgIBXwQEbmZUNAkAtQkCCQCRAwIFB25mdEluZm8AAwIBXwQEbmZUNQkAtQkCCQCRAwIFB25mdEluZm8ABAIBXwQGYW1vdW50CQEFdmFsdWUBCAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAQIcmVhbGNvc3QJAGUCBQZhbW91bnQJAGgCCQBpAgUGYW1vdW50AOgHABkEC3BsYXRmb3JtZmVlCQBlAgUGYW1vdW50BQhyZWFsY29zdAQOcm95YWxpdHlBbW91bnQJAGgCCQBpAgUGYW1vdW50AGQJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQRuZlQxAAMECGxhc3RDb3N0CQBlAgUGYW1vdW50CQBkAgUOcm95YWxpdHlBbW91bnQFC3BsYXRmb3JtZmVlBAdhbW91bnQxCQEFdmFsdWUBCAkAkQMCCAUBaQhwYXltZW50cwABBmFtb3VudAQJcmVhbGNvc3QxCQBlAgUHYW1vdW50MQkAaAIJAGkCBQdhbW91bnQxAOgHABkEDHBsYXRmb3JtZmVlMQkAZQIFB2Ftb3VudDEFCXJlYWxjb3N0MQQPcm95YWxpdHlBbW91bnQxCQBoAgkAaQIFB2Ftb3VudDEAZAkBDXBhcnNlSW50VmFsdWUBCQCRAwIFBG5mVDIAAwQJbGFzdENvc3QxCQBlAgUHYW1vdW50MQkAZAIFD3JveWFsaXR5QW1vdW50MQUMcGxhdGZvcm1mZWUxBAdhbW91bnQyCQEFdmFsdWUBCAkAkQMCCAUBaQhwYXltZW50cwACBmFtb3VudAQJcmVhbGNvc3QyCQBlAgUHYW1vdW50MgkAaAIJAGkCBQdhbW91bnQyAOgHABkEDHBsYXRmb3JtZmVlMgkAZQIFB2Ftb3VudDIFCXJlYWxjb3N0MgQPcm95YWxpdHlBbW91bnQyCQBoAgkAaQIFB2Ftb3VudDIAZAkBDXBhcnNlSW50VmFsdWUBCQCRAwIFBG5mVDMAAwQJbGFzdENvc3QyCQBlAgUHYW1vdW50MgkAZAIFD3JveWFsaXR5QW1vdW50MgUMcGxhdGZvcm1mZWUyBAdhbW91bnQzCQEFdmFsdWUBCAkAkQMCCAUBaQhwYXltZW50cwADBmFtb3VudAQJcmVhbGNvc3QzCQBlAgUHYW1vdW50MwkAaAIJAGkCBQdhbW91bnQzAOgHABkEDHBsYXRmb3JtZmVlMwkAZQIFB2Ftb3VudDMFCXJlYWxjb3N0MwQPcm95YWxpdHlBbW91bnQzCQBoAgkAaQIFB2Ftb3VudDMAZAkBDXBhcnNlSW50VmFsdWUBCQCRAwIFBG5mVDQAAwQJbGFzdENvc3QzCQBlAgUHYW1vdW50MwkAZAIFD3JveWFsaXR5QW1vdW50MwUMcGxhdGZvcm1mZWUzBAdhbW91bnQ0CQEFdmFsdWUBCAkAkQMCCAUBaQhwYXltZW50cwAEBmFtb3VudAQJcmVhbGNvc3Q0CQBlAgUHYW1vdW50NAkAaAIJAGkCBQdhbW91bnQ0AOgHABkEDHBsYXRmb3JtZmVlNAkAZQIFB2Ftb3VudDQFCXJlYWxjb3N0NAQPcm95YWxpdHlBbW91bnQ0CQBoAgkAaQIFB2Ftb3VudDQAZAkBDXBhcnNlSW50VmFsdWUBCQCRAwIFBG5mVDUAAwQJbGFzdENvc3Q0CQBlAgUHYW1vdW50NAkAZAIFD3JveWFsaXR5QW1vdW50NAUMcGxhdGZvcm1mZWU0AwkAZgIFBmFtb3VudAUMYnV5ZXJCYWxhbmNlCQACAQI6QnV5ZXIgZG9lcyBub3QgaGF2ZSBlbm91Z2ggZnVuZHMgdG8gY29tcGxldGUgdGhlIHB1cmNoYXNlLgMJAAACCQCQAwEFB25mdEluZm8AAQkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkArAICCQCsAgICD2ZpcnN0X25mdF9JbmZvPQIFbmZ0SWQJAJEDAgUEbmZUMQAAAgdjcmVhdG9yCQCRAwIFBG5mVDEABAkArAICAgVidXllcgkApQgBBQVidXllcgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgIPZmlyc3RfbmZ0X0luZm89Ag5zZWxsZXJfYWRkcmVzcwkAkQMCBQRuZlQxAAEJAKwCAgIFcHJpY2UJAJEDAgUEbmZUMQACCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFBWJ1eWVyAAEJANkEAQkAkQMCBQRuZlQxAAAJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBCQDZBAEJAJEDAgUEbmZUMQABBQhsYXN0Q29zdAEghWOVo/OIjrDeDBeOCE6/mj+SuybbOuh2jhbcFCIqSH4JAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBCQDZBAEJAJEDAgUEbmZUMQAEBQ5yb3lhbGl0eUFtb3VudAEghWOVo/OIjrDeDBeOCE6/mj+SuybbOuh2jhbcFCIqSH4FA25pbAMJAAACCQCQAwEFB25mdEluZm8AAgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAg9maXJzdF9uZnRfSW5mbz0CBW5mdElkCQCRAwIFBG5mVDEAAAIOc2VsbGVyX2FkZHJlc3MJAJEDAgUEbmZUMQABAgVwcmljZQkAkQMCBQRuZlQxAAIJAKwCAgIFYnV5ZXIJAKUIAQUFYnV5ZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgIQc2Vjb25kX25mdF9JbmZvPQIFbmZ0SWQJAJEDAgUEbmZUMgAAAg5zZWxsZXJfYWRkcmVzcwkAkQMCBQRuZlQyAAECBXByaWNlCQCRAwIFBG5mVDIAAgkArAICAgVidXllcgkApQgBBQVidXllcgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQVidXllcgABCQDZBAEJAJEDAgUEbmZUMQAACQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFBWJ1eWVyAAEJANkEAQkAkQMCBQRuZlQyAAAJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBCQDZBAEJAJEDAgUEbmZUMQABBQhsYXN0Q29zdAEghWOVo/OIjrDeDBeOCE6/mj+SuybbOuh2jhbcFCIqSH4JAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBCQDZBAEJAJEDAgUEbmZUMQAEBQ5yb3lhbGl0eUFtb3VudAEghWOVo/OIjrDeDBeOCE6/mj+SuybbOuh2jhbcFCIqSH4JAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBCQDZBAEJAJEDAgUEbmZUMgABBQlsYXN0Q29zdDEBIIVjlaPziI6w3gwXjghOv5o/krsm2zrodo4W3BQiKkh+CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQkA2QQBCQCRAwIFBG5mVDIABAUPcm95YWxpdHlBbW91bnQxASCFY5Wj84iOsN4MF44ITr+aP5K7Jts66HaOFtwUIipIfgUDbmlsAwkAAAIJAJADAQUHbmZ0SW5mbwADCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgICD2ZpcnN0X25mdF9JbmZvPQIFbmZ0SWQJAJEDAgUEbmZUMQAAAg5zZWxsZXJfYWRkcmVzcwkAkQMCBQRuZlQxAAECBXByaWNlCQCRAwIFBG5mVDEAAgkArAICAgVidXllcgkApQgBBQVidXllcgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAhBzZWNvbmRfbmZ0X0luZm89AgVuZnRJZAkAkQMCBQRuZlQyAAACDnNlbGxlcl9hZGRyZXNzCQCRAwIFBG5mVDIAAQIFcHJpY2UJAJEDAgUEbmZUMgACCQCsAgICBWJ1eWVyCQClCAEFBWJ1eWVyCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgICD3RoaXJkX25mdF9JbmZvPQIFbmZ0SWQJAJEDAgUEbmZUMwAAAg5zZWxsZXJfYWRkcmVzcwkAkQMCBQRuZlQzAAECBXByaWNlCQCRAwIFBG5mVDMAAgkArAICAgVidXllcgkApQgBBQVidXllcgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQVidXllcgABCQDZBAEJAJEDAgUEbmZUMQAACQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFBWJ1eWVyAAEJANkEAQkAkQMCBQRuZlQyAAAJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUFYnV5ZXIAAQkA2QQBCQCRAwIFBG5mVDMAAAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQkAkQMCBQRuZlQxAAEFCGxhc3RDb3N0ASCFY5Wj84iOsN4MF44ITr+aP5K7Jts66HaOFtwUIipIfgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQkAkQMCBQRuZlQxAAQFDnJv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BAIBXwQGYW1vdW50CQEFdmFsdWUBCAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAQIcmVhbGNvc3QJAGUCBQZhbW91bnQJAGgCCQBpAgUGYW1vdW50AOgHABkEC3BsYXRmb3JtZmVlCQBlAgUGYW1vdW50BQhyZWFsY29zdAQOcm95YWxpdHlBbW91bnQJAGgCCQBpAgUGYW1vdW50AGQJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQRuZlQxAAMECGxhc3RDb3N0CQBlAgUGYW1vdW50CQBkAgUOcm95YWxpdHlBbW91bnQFC3BsYXRmb3JtZmVlBAdhbW91bnQxCQEFdmFsdWUBCAkAkQMCCAUBaQhwYXltZW50cwABBmFtb3VudAQJcmVhbGNvc3QxCQBlAgUHYW1vdW50MQkAaAIJAGkCBQdhbW91bnQxAOgHABkEDHBsYXRmb3JtZmVlMQkAZQIFB2Ftb3VudDEFCXJlYWxjb3N0MQQPcm95YWxpdHlBbW91bnQxCQBoAgkAaQIFB2Ftb3VudDEAZAkBDXBhcnNlSW50VmFsdWUBCQCRAwIFBG5mVDIAAwQJbGFzdENvc3QxCQBlAgUHYW1vdW50MQkAZAIFD3JveWFsaXR5QW1vdW50MQUMcGxhdGZvcm1mZWUxBAdhbW91bnQyCQEFdmFsdWUBCAkAkQMCCAUBaQhwYXltZW50cwACBmFtb3VudAQJcmVhbGNvc3QyCQBlAgUHYW1vdW50MgkAaAIJAGkCBQdhbW91bnQyAOgHABkEDHBsYXRmb3JtZmVlMgkAZQIFB2Ftb3VudDIFCXJlYWxjb3N0MgQPcm95YWxpdHlBbW91bnQyCQBoAgkAaQIFB2Ftb3VudDIAZAkBDXBhcnNlSW50VmFsdWUBCQCRAwIFBG5mVDMAAwQJbGFzdENvc3QyCQBlAgUHYW1vdW50MgkAZAIFD3JveWFsaXR5QW1vdW50MgUMcGxhdGZvcm1mZWUyBAdhbW91bnQzCQEFdmFsdWUBCAkAkQMCCAUBaQhwYXltZW50cwADBmFtb3VudAQJcmVhbGNvc3QzCQBlAgUHYW1vdW50MwkAaAIJAGkCBQdhbW91bnQzAOgHABkEDHBsYXRmb3JtZmVlMwkAZQIFB2Ftb3VudDMFCXJlYWxjb3N0MwQPcm95YWxpdHlBbW91bnQzCQBoAgkAaQIFB2Ftb3VudDMAZAkBDXBhcnNlSW50VmFsdWUBCQCRAwIFBG5mVDQAAwQJbGFzdENvc3QzCQBlAgUHYW1vdW50MwkAZAIFD3JveWFsaXR5QW1vdW50MwUMcGxhdGZvcm1mZWUzBAdhbW91bnQ0CQEFdmFsdWUBCAkAkQMCCAUBaQhwYXltZW50cwAEBmFtb3VudAQJcmVhbGNvc3Q0CQBlAgUHYW1vdW50NAkAaAIJAGkCBQdhbW91bnQ0AOgHABkEDHBsYXRmb3JtZmVlNAkAZQIFB2Ftb3VudDQFCXJlYWxjb3N0NAQPcm95YWxpdHlBbW91bnQ0CQBoAgkAaQIFB2Ftb3VudDQAZAkBDXBhcnNlSW50VmFsdWUBCQCRAwIFBG5mVDUAAwQJbGFzdENvc3Q0CQBlAgUHYW1vdW50NAkAZAIFD3JveWFsaXR5QW1vdW50NAUMcGxhdGZvcm1mZWU0AwkAZgIFBmFtb3VudAUMYnV5ZXJCYWxhbmNlCQACAQI6QnV5ZXIgZG9lcyBub3QgaGF2ZSBlbm91Z2ggZnVuZHMgdG8gY29tcGxldGUgdGhlIHB1cmNoYXNlLgMJAAACCQCQAwEFB25mdEluZm8AAQkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAg9maXJzdF9uZnRfSW5mbz0CBW5mdElkCQCRAwIFBG5mVDEAAAIOc2VsbGVyX2FkZHJlc3MJAJEDAgUEbmZUMQABAgVwcmljZQkAkQMCBQRuZlQxAAIJAKwCAgIFYnV5ZXIJAKUIAQUFYnV5ZXIJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUFYnV5ZXIAAQkA2QQBCQCRAwIFBG5mVDEAAAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQkAkQMCBQRuZlQxAAEFCGxhc3RDb3N0BQR1bml0CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQkA2QQBCQCRAwIFBG5mVDEABAUOcm95YWxpdHlBbW91bnQFBHVuaXQFA25pbAMJAAACCQCQAwEFB25mdEluZm8AAgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAg9maXJzdF9uZnRfSW5mbz0CBW5mdElkCQCRAwIFBG5mVDEAAAIOc2VsbGVyX2FkZHJlc3MJAJEDAgUEbmZUMQABAgVwcmljZQkAkQMCBQRuZlQxAAIJAKwCAgIFYnV5ZXIJAKUIAQUFYnV5ZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgIQc2Vjb25kX25mdF9JbmZvPQIFbmZ0SWQJAJEDAgUEbmZUMgAAAg5zZWxsZXJfYWRkcmVzcwkAkQMCBQRuZlQyAAECBXByaWNlCQCRAwIFBG5mVDIAAgkArAICAgVidXllcgkApQgBBQVidXllcgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQVidXllcgABCQDZBAEJAJEDAgUEbmZUMQAACQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFBWJ1eWVyAAEJANkEAQkAkQMCBQRuZlQyAAAJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBCQDZBAEJAJEDAgUEbmZUMQABBQhsYXN0Q29zdAUEdW5pdAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQkAkQMCBQRuZlQxAAQFDnJveWFsaXR5QW1vdW50BQR1bml0CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQkA2QQBCQCRAwIFBG5mVDIAAQUJbGFzdENvc3QxBQR1bml0CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQkA2QQBCQCRAwIFBG5mVDIABAUPcm95YWxpdHlBbW91bnQxBQR1bml0BQNuaWwDCQAAAgkAkAMBBQduZnRJbmZvAAMJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgIPZmlyc3RfbmZ0X0luZm89AgVuZnRJZAkAkQMCBQRuZlQxAAACDnNlbGxlcl9hZGRyZXNzCQCRAwIFBG5mVDEAAQIFcHJpY2UJAJEDAgUEbmZUMQACCQCsAgICBWJ1eWVyCQClCAEFBWJ1eWVyCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgICEHNlY29uZF9uZnRfSW5mbz0CBW5mdElkCQCRAwIFBG5mVDIAAAIOc2VsbGVyX2FkZHJlc3MJAJEDAgUEbmZUMgABAgVwcmljZQkAkQMCBQRuZlQyAAIJAKwCAgIFYnV5ZXIJAKUIAQUFYnV5ZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgIPdGhpcmRfbmZ0X0luZm89AgVuZnRJZAkAkQMCBQRuZlQzAAACDnNlbGxlcl9hZGRyZXNzCQCRAwIFBG5mVDMAAQIFcHJpY2UJAJEDAgUEbmZUMwACCQCsAgICBWJ1eWVyCQClCAEFBWJ1eWVyCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFBWJ1eWVyAAEJANkEAQkAkQMCBQRuZlQxAAAJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUFYnV5ZXIAAQkA2QQBCQCRAwIFBG5mVDIAAAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQVidXllcgABCQDZBAEJAJEDAgUEbmZUMwAACQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQkA2QQBCQCRAwIFBG5mVDEAAQUIbGFzdENvc3QFBHVuaXQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBCQDZBAEJAJEDAgUEbmZUMQAEBQ5yb3lhbGl0eUFtb3VudAUEdW5pdAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQkAkQMCBQRuZlQyAAEFCWxhc3RDb3N0MQUEdW5pdAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQkAkQMCBQRuZlQyAAQFD3JveWFsaXR5QW1vdW50MQUEdW5pdAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQkAkQMCBQRuZlQzAAEFCWxhc3RDb3N0MgUEdW5pdAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQkAkQMCBQRuZlQzAAQFD3JveWFsaXR5QW1vdW50MgUEdW5pdAUDbmlsAwkAAAIJAJADAQUHbmZ0SW5mbwAECQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgICD2ZpcnN0X25mdF9JbmZvPQIFbmZ0SWQJAJEDAgUEbmZUMQAAAg5zZWxsZXJfYWRkcmVzcwkAkQMCBQRuZlQxAAECBXByaWNlCQCRAwIFBG5mVDEAAgkArAICAgVidXllcgkApQgBBQVidXllcgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAhBzZWNvbmRfbmZ0X0luZm89AgVuZnRJZAkAkQMCBQRuZlQyAAACDnNlbGxlcl9hZGRyZXNzCQCRAwIFBG5mVDIAAQIFcHJpY2UJAJEDAgUEbmZUMgACCQCsAgICBWJ1eWVyCQClCAEFBWJ1eWVyCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgICD3RoaXJkX25mdF9JbmZvPQIFbmZ0SWQJAJEDAgUEbmZUMwAAAg5zZWxsZXJfYWRkcmVzcwkAkQMCBQRuZlQzAAECBXByaWNlCQCRAwIFBG5mVDMAAgkArAICAgVidXllcgkApQgBBQVidXllcgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAhBmb3VydGhfbmZ0X0luZm89AgVuZnRJZAkAkQMCBQRuZlQ0AAACDnNlbGxlcl9hZGRyZXNzCQCRAwIFBG5mVDQAAQIFcHJpY2UJAJEDAgUEbmZUNAACCQCsAgICBWJ1eWVyCQClCAEFBWJ1eWVyCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFBWJ1eWVyAAEJANkEAQkAkQMCBQRuZlQxAAAJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUFYnV5ZXIAAQkA2QQBCQCRAwIFBG5mVDIAAAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQVidXllcgABCQDZBAEJAJEDAgUEbmZUMwAACQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFBWJ1eWVyAAEJANkEAQkAkQMCBQRuZlQ0AAAJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBCQDZBAEJAJEDAgUEbmZUMQABBQhsYXN0Q29zdAUEdW5pdAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQkAkQMCBQRuZlQxAAQFDnJveWFsaXR5QW1vdW50BQR1bml0CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQkA2QQBCQCRAwIFBG5mVDIAAQUJbGFzdENvc3QxBQR1bml0CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQkA2QQBCQCRAwIFBG5mVDIABAUPcm95YWxpdHlBbW91bnQxBQR1bml0CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQkA2QQBCQCRAwIFBG5mVDMAAQUJbGFzdENvc3QyBQR1bml0CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQkA2QQBCQCRAwIFBG5mVDMABAUPcm95YWxpdHlBbW91bnQyBQR1bml0CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQkA2QQBCQCRAwIFBG5mVDQAAQUJbGFzdENvc3QzBQR1bml0CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQkA2QQBCQCRAwIFBG5mVDQABAUPcm95YWxpdHlBbW91bnQzBQR1bml0BQNuaWwDCQAAAgkAkAMBBQduZnRJbmZvAAUJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgIPZmlyc3RfbmZ0X0luZm89AgVuZnRJZAkAkQMCBQRuZlQxAAACDnNlbGxlcl9hZGRyZXNzCQCRAwIFBG5mVDEAAQIFcHJpY2UJAJEDAgUEbmZUMQACCQCsAgICBWJ1eWVyCQClCAEFBWJ1eWVyCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgICEHNlY29uZF9uZnRfSW5mbz0CBW5mdElkCQCRAwIFBG5mVDIAAAIOc2VsbGVyX2FkZHJlc3MJAJEDAgUEbmZUMgABAgVwcmljZQkAkQMCBQRuZlQyAAIJAKwCAgIFYnV5ZXIJAKUIAQUFYnV5ZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgIPdGhpcmRfbmZ0X0luZm89AgVuZnRJZAkAkQMCBQRuZlQzAAACDnNlbGxlcl9hZGRyZXNzCQCRAwIFBG5mVDMAAQIFcHJpY2UJAJEDAgUEbmZUMwACCQCsAgICBWJ1eWVyCQClCAEFBWJ1eWVyCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgICEGZvdXJ0aF9uZnRfSW5mbz0CBW5mdElkCQCRAwIFBG5mVDQAAAIOc2VsbGVyX2FkZHJlc3MJAJEDAgUEbmZUNAABAgVwcmljZQkAkQMCBQRuZlQ0AAIJAKwCAgIFYnV5ZXIJAKUIAQUFYnV5ZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgIPZmlmdGhfbmZ0X0luZm89AgVuZnRJZAkAkQMCBQRuZlQ1AAACDnNlbGxlcl9hZGRyZXNzCQCRAwIFBG5mVDUAAQIFcHJpY2UJAJEDAgUEbmZUNQACCQCsAgICBWJ1eWVyCQClCAEFBWJ1eWVyCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFBWJ1eWVyAAEJANkEAQkAkQMCBQRuZlQxAAAJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUFYnV5ZXIAAQkA2QQBCQCRAwIFBG5mVDIAAAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQVidXllcgABCQDZBAEJAJEDAgUEbmZUMwAACQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFBWJ1eWVyAAEJANkEAQkAkQMCBQRuZlQ0AAAJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUFYnV5ZXIAAQkA2QQBCQCRAwIFBG5mVDUAAAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQkAkQMCBQRuZlQxAAEFCGxhc3RDb3N0BQR1bml0CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQkA2QQBCQCRAwIFBG5mVDEABAUOcm95YWxpdHlBbW91bnQFBHVuaXQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBCQDZBAEJAJEDAgUEbmZUMgABBQlsYXN0Q29zdDEFBHVuaXQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBCQDZBAEJAJEDAgUEbmZUMgAEBQ9yb3lhbGl0eUFtb3VudDEFBHVuaXQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBCQDZBAEJAJEDAgUEbmZUMwABBQlsYXN0Q29zdDIFBHVuaXQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBCQDZBAEJAJEDAgUEbmZUMwAEBQ9yb3lhbGl0eUFtb3VudDIFBHVuaXQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBCQDZBAEJAJEDAgUEbmZUNAABBQlsYXN0Q29zdDMFBHVuaXQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBCQDZBAEJAJEDAgUEbmZUNAAEBQ9yb3lhbGl0eUFtb3VudDMFBHVuaXQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBCQDZBAEJAJEDAgUEbmZUNQABBQlsYXN0Q29zdDQFBHVuaXQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBCQDZBAEJAJEDAgUEbmZUNQAEBQ9yb3lhbGl0eUFtb3VudDQFBHVuaXQFA25pbAMJAGYCCQCQAwEFB25mdEluZm8ABQkAAgECLXNvcnJ5ISBtYXhpbXVtIGxpbWl0IG9mIHlvdXIgIGNhcnQgaXMgNSBpdGVtcwUDbmlsABlYnJs=", "height": 2542651, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 6aRYaCANEe4ebaVynQmrrAdzgDLS4fZrMxTBYunGqq3A Next: ANLKwHZk63M5pHZknpuxNRfV1tJ9uENA3t9kio9xSahi Diff:
OldNewDifferences
7979 let P = (O - ((O / 1000) * 25))
8080 let Q = (O - P)
8181 let R = w
82- let S = ((O * R) / 100)
82+ let S = ((O * parseIntValue(R)) / 100)
8383 let T = (O - (S + Q))
8484 if ((K == toString(p.caller)))
8585 then throw("current Owner of NFT not able to purchase")
306306 else if ((size(aE) == 3))
307307 then [StringEntry((((((("first_nft_Info=" + "nftId") + aH[0]) + "seller_address") + aH[1]) + "price") + aH[2]), ("buyer" + toString(aF))), StringEntry((((((("second_nft_Info=" + "nftId") + aI[0]) + "seller_address") + aI[1]) + "price") + aI[2]), ("buyer" + toString(aF))), StringEntry((((((("third_nft_Info=" + "nftId") + aJ[0]) + "seller_address") + aJ[1]) + "price") + aJ[2]), ("buyer" + toString(aF))), ScriptTransfer(aF, 1, fromBase58String(aH[0])), ScriptTransfer(aF, 1, fromBase58String(aI[0])), ScriptTransfer(aF, 1, fromBase58String(aJ[0])), ScriptTransfer(Address(fromBase58String(aH[1])), aO, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aH[4])), S, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aI[1])), aT, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aI[4])), aS, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aJ[1])), aY, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aJ[4])), aX, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq')]
308308 else if ((size(aE) == 4))
309- then [StringEntry((((((("first_nft_Info=" + "nftId") + aH[0]) + "seller_address") + aH[1]) + "price") + aH[2]), ("buyer" + toString(aF))), StringEntry((((((("second_nft_Info=" + "nftId") + aI[0]) + "seller_address") + aI[1]) + "price") + aI[2]), ("buyer" + toString(aF))), StringEntry((((((("third_nft_Info=" + "nftId") + aJ[0]) + "seller_address") + aJ[1]) + "price") + aJ[2]), ("buyer" + toString(aF))), StringEntry((((((("fourth_nft_Info=" + "nftId") + aK[0]) + "seller_address") + aK[1]) + "price") + aK[2]), ("buyer" + toString(aF))), ScriptTransfer(aF, 1, fromBase58String(aH[0])), ScriptTransfer(aF, 1, fromBase58String(aI[0])), ScriptTransfer(aF, 1, fromBase58String(aJ[0])), ScriptTransfer(aF, 1, fromBase58String(aK[0])), ScriptTransfer(Address(fromBase58String(aH[1])), aM, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aH[4])), S, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aI[1])), aQ, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aI[4])), aS, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aJ[1])), aV, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aJ[4])), aX, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aK[1])), ba, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aK[4])), bc, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq')]
309+ then [StringEntry((((((("first_nft_Info=" + "nftId") + aH[0]) + "seller_address") + aH[1]) + "price") + aH[2]), ("buyer" + toString(aF))), StringEntry((((((("second_nft_Info=" + "nftId") + aI[0]) + "seller_address") + aI[1]) + "price") + aI[2]), ("buyer" + toString(aF))), StringEntry((((((("third_nft_Info=" + "nftId") + aJ[0]) + "seller_address") + aJ[1]) + "price") + aJ[2]), ("buyer" + toString(aF))), StringEntry((((((("fourth_nft_Info=" + "nftId") + aK[0]) + "seller_address") + aK[1]) + "price") + aK[2]), ("buyer" + toString(aF))), ScriptTransfer(aF, 1, fromBase58String(aH[0])), ScriptTransfer(aF, 1, fromBase58String(aI[0])), ScriptTransfer(aF, 1, fromBase58String(aJ[0])), ScriptTransfer(aF, 1, fromBase58String(aK[0])), ScriptTransfer(Address(fromBase58String(aH[1])), aO, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aH[4])), S, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aI[1])), aT, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aI[4])), aS, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aJ[1])), aY, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aJ[4])), aX, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aK[1])), bd, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aK[4])), bc, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq')]
310310 else if ((size(aE) == 5))
311- then [StringEntry((((((("first_nft_Info=" + "nftId") + aH[0]) + "seller_address") + aH[1]) + "price") + aH[2]), ("buyer" + toString(aF))), StringEntry((((((("second_nft_Info=" + "nftId") + aI[0]) + "seller_address") + aI[1]) + "price") + aI[2]), ("buyer" + toString(aF))), StringEntry((((((("third_nft_Info=" + "nftId") + aJ[0]) + "seller_address") + aJ[1]) + "price") + aJ[2]), ("buyer" + toString(aF))), StringEntry((((((("fourth_nft_Info=" + "nftId") + aK[0]) + "seller_address") + aK[1]) + "price") + aK[2]), ("buyer" + toString(aF))), StringEntry((((((("fifth_nft_Info=" + "nftId") + aL[0]) + "seller_address") + aL[1]) + "price") + aL[2]), ("buyer" + toString(aF))), ScriptTransfer(aF, 1, fromBase58String(aH[0])), ScriptTransfer(aF, 1, fromBase58String(aI[0])), ScriptTransfer(aF, 1, fromBase58String(aJ[0])), ScriptTransfer(aF, 1, fromBase58String(aK[0])), ScriptTransfer(aF, 1, fromBase58String(aL[0])), ScriptTransfer(Address(fromBase58String(aH[1])), aM, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aH[4])), S, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aI[1])), aQ, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aI[4])), aS, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aJ[1])), aV, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aJ[4])), aX, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aK[1])), ba, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aK[4])), bc, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aL[1])), bf, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aL[4])), bh, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq')]
311+ then [StringEntry((((((("first_nft_Info=" + "nftId") + aH[0]) + "seller_address") + aH[1]) + "price") + aH[2]), ("buyer" + toString(aF))), StringEntry((((((("second_nft_Info=" + "nftId") + aI[0]) + "seller_address") + aI[1]) + "price") + aI[2]), ("buyer" + toString(aF))), StringEntry((((((("third_nft_Info=" + "nftId") + aJ[0]) + "seller_address") + aJ[1]) + "price") + aJ[2]), ("buyer" + toString(aF))), StringEntry((((((("fourth_nft_Info=" + "nftId") + aK[0]) + "seller_address") + aK[1]) + "price") + aK[2]), ("buyer" + toString(aF))), StringEntry((((((("fifth_nft_Info=" + "nftId") + aL[0]) + "seller_address") + aL[1]) + "price") + aL[2]), ("buyer" + toString(aF))), ScriptTransfer(aF, 1, fromBase58String(aH[0])), ScriptTransfer(aF, 1, fromBase58String(aI[0])), ScriptTransfer(aF, 1, fromBase58String(aJ[0])), ScriptTransfer(aF, 1, fromBase58String(aK[0])), ScriptTransfer(aF, 1, fromBase58String(aL[0])), ScriptTransfer(Address(fromBase58String(aH[1])), aO, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aH[4])), S, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aI[1])), aT, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aI[4])), aS, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aJ[1])), aY, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aJ[4])), aX, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aK[1])), bd, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aK[4])), bc, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aL[1])), bi, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aL[4])), bh, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq')]
312+ else if ((size(aE) > 5))
313+ then throw("sorry! maximum limit of your cart is 5 items")
314+ else nil
315+ }
316+
317+
318+
319+@Callable(p)
320+func buyAllProducts_waves (aE) = {
321+ let aF = p.caller
322+ let aG = assetBalance(aF, g)
323+ let aH = split(aE[0], "_")
324+ let aI = split(aE[1], "_")
325+ let aJ = split(aE[2], "_")
326+ let aK = split(aE[3], "_")
327+ let aL = split(aE[4], "_")
328+ let O = value(p.payments[0].amount)
329+ let aM = (O - ((O / 1000) * 25))
330+ let aN = (O - aM)
331+ let S = ((O / 100) * parseIntValue(aH[3]))
332+ let aO = (O - (S + aN))
333+ let aP = value(p.payments[1].amount)
334+ let aQ = (aP - ((aP / 1000) * 25))
335+ let aR = (aP - aQ)
336+ let aS = ((aP / 100) * parseIntValue(aI[3]))
337+ let aT = (aP - (aS + aR))
338+ let aU = value(p.payments[2].amount)
339+ let aV = (aU - ((aU / 1000) * 25))
340+ let aW = (aU - aV)
341+ let aX = ((aU / 100) * parseIntValue(aJ[3]))
342+ let aY = (aU - (aX + aW))
343+ let aZ = value(p.payments[3].amount)
344+ let ba = (aZ - ((aZ / 1000) * 25))
345+ let bb = (aZ - ba)
346+ let bc = ((aZ / 100) * parseIntValue(aK[3]))
347+ let bd = (aZ - (bc + bb))
348+ let be = value(p.payments[4].amount)
349+ let bf = (be - ((be / 1000) * 25))
350+ let bg = (be - bf)
351+ let bh = ((be / 100) * parseIntValue(aL[3]))
352+ let bi = (be - (bh + bg))
353+ if ((O > aG))
354+ then throw("Buyer does not have enough funds to complete the purchase.")
355+ else if ((size(aE) == 1))
356+ then [StringEntry((((((("first_nft_Info=" + "nftId") + aH[0]) + "seller_address") + aH[1]) + "price") + aH[2]), ("buyer" + toString(aF))), ScriptTransfer(aF, 1, fromBase58String(aH[0])), ScriptTransfer(Address(fromBase58String(aH[1])), aO, unit), ScriptTransfer(Address(fromBase58String(aH[4])), S, unit)]
357+ else if ((size(aE) == 2))
358+ then [StringEntry((((((("first_nft_Info=" + "nftId") + aH[0]) + "seller_address") + aH[1]) + "price") + aH[2]), ("buyer" + toString(aF))), StringEntry((((((("second_nft_Info=" + "nftId") + aI[0]) + "seller_address") + aI[1]) + "price") + aI[2]), ("buyer" + toString(aF))), ScriptTransfer(aF, 1, fromBase58String(aH[0])), ScriptTransfer(aF, 1, fromBase58String(aI[0])), ScriptTransfer(Address(fromBase58String(aH[1])), aO, unit), ScriptTransfer(Address(fromBase58String(aH[4])), S, unit), ScriptTransfer(Address(fromBase58String(aI[1])), aT, unit), ScriptTransfer(Address(fromBase58String(aI[4])), aS, unit)]
359+ else if ((size(aE) == 3))
360+ then [StringEntry((((((("first_nft_Info=" + "nftId") + aH[0]) + "seller_address") + aH[1]) + "price") + aH[2]), ("buyer" + toString(aF))), StringEntry((((((("second_nft_Info=" + "nftId") + aI[0]) + "seller_address") + aI[1]) + "price") + aI[2]), ("buyer" + toString(aF))), StringEntry((((((("third_nft_Info=" + "nftId") + aJ[0]) + "seller_address") + aJ[1]) + "price") + aJ[2]), ("buyer" + toString(aF))), ScriptTransfer(aF, 1, fromBase58String(aH[0])), ScriptTransfer(aF, 1, fromBase58String(aI[0])), ScriptTransfer(aF, 1, fromBase58String(aJ[0])), ScriptTransfer(Address(fromBase58String(aH[1])), aO, unit), ScriptTransfer(Address(fromBase58String(aH[4])), S, unit), ScriptTransfer(Address(fromBase58String(aI[1])), aT, unit), ScriptTransfer(Address(fromBase58String(aI[4])), aS, unit), ScriptTransfer(Address(fromBase58String(aJ[1])), aY, unit), ScriptTransfer(Address(fromBase58String(aJ[4])), aX, unit)]
361+ else if ((size(aE) == 4))
362+ then [StringEntry((((((("first_nft_Info=" + "nftId") + aH[0]) + "seller_address") + aH[1]) + "price") + aH[2]), ("buyer" + toString(aF))), StringEntry((((((("second_nft_Info=" + "nftId") + aI[0]) + "seller_address") + aI[1]) + "price") + aI[2]), ("buyer" + toString(aF))), StringEntry((((((("third_nft_Info=" + "nftId") + aJ[0]) + "seller_address") + aJ[1]) + "price") + aJ[2]), ("buyer" + toString(aF))), StringEntry((((((("fourth_nft_Info=" + "nftId") + aK[0]) + "seller_address") + aK[1]) + "price") + aK[2]), ("buyer" + toString(aF))), ScriptTransfer(aF, 1, fromBase58String(aH[0])), ScriptTransfer(aF, 1, fromBase58String(aI[0])), ScriptTransfer(aF, 1, fromBase58String(aJ[0])), ScriptTransfer(aF, 1, fromBase58String(aK[0])), ScriptTransfer(Address(fromBase58String(aH[1])), aO, unit), ScriptTransfer(Address(fromBase58String(aH[4])), S, unit), ScriptTransfer(Address(fromBase58String(aI[1])), aT, unit), ScriptTransfer(Address(fromBase58String(aI[4])), aS, unit), ScriptTransfer(Address(fromBase58String(aJ[1])), aY, unit), ScriptTransfer(Address(fromBase58String(aJ[4])), aX, unit), ScriptTransfer(Address(fromBase58String(aK[1])), bd, unit), ScriptTransfer(Address(fromBase58String(aK[4])), bc, unit)]
363+ else if ((size(aE) == 5))
364+ then [StringEntry((((((("first_nft_Info=" + "nftId") + aH[0]) + "seller_address") + aH[1]) + "price") + aH[2]), ("buyer" + toString(aF))), StringEntry((((((("second_nft_Info=" + "nftId") + aI[0]) + "seller_address") + aI[1]) + "price") + aI[2]), ("buyer" + toString(aF))), StringEntry((((((("third_nft_Info=" + "nftId") + aJ[0]) + "seller_address") + aJ[1]) + "price") + aJ[2]), ("buyer" + toString(aF))), StringEntry((((((("fourth_nft_Info=" + "nftId") + aK[0]) + "seller_address") + aK[1]) + "price") + aK[2]), ("buyer" + toString(aF))), StringEntry((((((("fifth_nft_Info=" + "nftId") + aL[0]) + "seller_address") + aL[1]) + "price") + aL[2]), ("buyer" + toString(aF))), ScriptTransfer(aF, 1, fromBase58String(aH[0])), ScriptTransfer(aF, 1, fromBase58String(aI[0])), ScriptTransfer(aF, 1, fromBase58String(aJ[0])), ScriptTransfer(aF, 1, fromBase58String(aK[0])), ScriptTransfer(aF, 1, fromBase58String(aL[0])), ScriptTransfer(Address(fromBase58String(aH[1])), aO, unit), ScriptTransfer(Address(fromBase58String(aH[4])), S, unit), ScriptTransfer(Address(fromBase58String(aI[1])), aT, unit), ScriptTransfer(Address(fromBase58String(aI[4])), aS, unit), ScriptTransfer(Address(fromBase58String(aJ[1])), aY, unit), ScriptTransfer(Address(fromBase58String(aJ[4])), aX, unit), ScriptTransfer(Address(fromBase58String(aK[1])), bd, unit), ScriptTransfer(Address(fromBase58String(aK[4])), bc, unit), ScriptTransfer(Address(fromBase58String(aL[1])), bi, unit), ScriptTransfer(Address(fromBase58String(aL[4])), bh, unit)]
312365 else if ((size(aE) > 5))
313366 then throw("sorry! maximum limit of your cart is 5 items")
314367 else nil
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "_"
55
66 let b = "buy"
77
88 let c = "price"
99
1010 let d = "sell"
1111
1212 let e = 30
1313
1414 let f = base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'
1515
1616 let g = base58''
1717
1818 let h = "bid"
1919
2020 let i = true
2121
2222 let j = $Tuple4("OPEN", "CLOSED", "REWARDED", "CANCELED")
2323
2424 let k = base58'3MvjAaDYHpS4A5K4CV3kZMMEH9m9JdBSvbq'
2525
2626 func l (m) = {
2727 let n = assetInfo(m)
2828 if ($isInstanceOf(n, "Asset"))
2929 then {
3030 let o = n
3131 if (if ((o.decimals == 0))
3232 then (o.quantity == 1)
3333 else false)
3434 then (o.reissuable == false)
3535 else false
3636 }
3737 else false
3838 }
3939
4040
4141 @Callable(p)
4242 func createNft (q,r,s,t,u,v,w,x,y,z) = {
4343 let A = Issue(q, x, 1, 0, false)
4444 let B = calculateAssetId(A)
4545 let C = p.transactionId
4646 [A, ScriptTransfer(p.caller, 1, B), StringEntry(((toBase58String(B) + a) + "Owner"), toString(p.caller)), StringEntry(((toBase58String(B) + a) + "nft_type"), t), StringEntry(((toBase58String(B) + a) + "nft_tags"), u), StringEntry(((toBase58String(B) + a) + "nft_dAppAddress"), s), StringEntry(((toBase58String(C) + a) + "royaltyPercentage"), w), IntegerEntry(((toBase58String(B) + a) + "nft_selling_price"), v), StringEntry(((toBase58String(B) + a) + "nft_onSell"), y), StringEntry(((toBase58String(B) + a) + "nft_data"), z), StringEntry(((toBase58String(C) + a) + "issue_nft"), toBase58String(B))]
4747 }
4848
4949
5050
5151 @Callable(p)
5252 func sellNFT (D,E) = {
5353 let C = p.transactionId
5454 let F = p.caller.bytes
5555 let G = $Tuple2(value(p.payments[0].assetId), value(p.payments[0].amount))
5656 let H = G._1
5757 let I = G._2
5858 if (!(l(H)))
5959 then throw("Token is not NFT")
6060 else [StringEntry(((c + a) + toBase58String(value(p.payments[0].assetId))), D), StringEntry(((toString(p.caller) + a) + d), (((toBase58String(H) + a) + toString(I)) + E))]
6161 }
6262
6363
6464
6565 @Callable(p)
6666 func buyNFT (J,K,L,w) = {
6767 let m = fromBase58String(J)
6868 let M = {
6969 let n = getString(this, (("nft_" + K) + "_owner"))
7070 if ($isInstanceOf(n, "String"))
7171 then {
7272 let N = n
7373 N
7474 }
7575 else false
7676 }
7777 let D = getStringValue(((((c + a) + J) + "_") + K))
7878 let O = value(p.payments[0].amount)
7979 let P = (O - ((O / 1000) * 25))
8080 let Q = (O - P)
8181 let R = w
82- let S = ((O * R) / 100)
82+ let S = ((O * parseIntValue(R)) / 100)
8383 let T = (O - (S + Q))
8484 if ((K == toString(p.caller)))
8585 then throw("current Owner of NFT not able to purchase")
8686 else if (if ((p.payments[0].assetId == f))
8787 then (L != K)
8888 else false)
8989 then [ScriptTransfer(p.caller, 1, m), ScriptTransfer(Address(fromBase58String(K)), T, f), ScriptTransfer(Address(fromBase58String(L)), S, f), IntegerEntry((("nft_" + J) + "platform_fee"), Q), StringEntry(((toString(p.caller) + a) + b), ((J + a) + toString(O))), DeleteEntry((("nft_" + K) + "_owner")), StringEntry((("nft_" + K) + "_owner"), toString(p.caller)), StringEntry(((J + a) + "_owner"), toString(p.caller))]
9090 else if (if ((p.payments[0].assetId == f))
9191 then (L == K)
9292 else false)
9393 then [ScriptTransfer(p.caller, 1, m), ScriptTransfer(Address(fromBase58String(K)), P, f), StringEntry((("nft_" + J) + "platform_fee"), toString(Q)), StringEntry(((toString(p.caller) + a) + b), ((J + a) + toString(O))), DeleteEntry((("nft_" + K) + "_owner")), StringEntry((("nft_" + K) + "_owner"), toString(p.caller)), StringEntry(((J + a) + "_owner"), toString(p.caller))]
9494 else if (if ((p.payments[0].assetId == unit))
9595 then (L != K)
9696 else false)
9797 then [ScriptTransfer(p.caller, 1, m), ScriptTransfer(Address(fromBase58String(K)), T, unit), ScriptTransfer(Address(fromBase58String(L)), S, unit), StringEntry((("nft_" + J) + "platform_fee"), toString(Q)), StringEntry(((toString(p.caller) + a) + b), ((J + a) + toString(O))), DeleteEntry((("nft_" + K) + "_owner")), StringEntry((("nft_" + K) + "_owner"), toString(p.caller)), StringEntry(((J + a) + "_owner"), toString(p.caller))]
9898 else if (if ((p.payments[0].assetId == unit))
9999 then (L == K)
100100 else false)
101101 then [ScriptTransfer(p.caller, 1, m), ScriptTransfer(Address(fromBase58String(K)), P, unit), StringEntry((("nft_" + J) + "platform_fee"), toString(Q)), StringEntry(((toString(p.caller) + a) + b), ((J + a) + toString(O))), DeleteEntry((("nft_" + K) + "_owner")), StringEntry((("nft_" + K) + "_owner"), toString(p.caller)), StringEntry(((J + a) + "_owner"), toString(p.caller))]
102102 else nil
103103 }
104104
105105
106106
107107 @Callable(p)
108108 func cancelSell (U) = {
109109 let C = toBase58String(p.transactionId)
110110 let F = p.caller.bytes
111111 [StringEntry(((C + U) + "_nft_status"), "CANCELED"), ScriptTransfer(Address(F), 1, fromBase58String(U))]
112112 }
113113
114114
115115
116116 @Callable(p)
117117 func addAuction (V,W,X,Y,E) = {
118118 let C = toBase58String(p.transactionId)
119119 let U = value(p.payments[0].assetId)
120120 let D = value(X)
121121 let Z = (lastBlock.height + Y)
122122 let aa = p.caller.bytes
123123 let ab = {
124124 let n = getString(this, (((toBase58String(U) + a) + "nft_status_") + toBase58String(aa)))
125125 if ($isInstanceOf(n, "String"))
126126 then {
127127 let N = n
128128 true
129129 }
130130 else false
131131 }
132132 if ((ab == true))
133133 then throw("Already in auction list")
134134 else if ((Y > e))
135135 then throw(("Duration is too long. Must be less than or equal to 30 " + toString(e)))
136136 else if ((p.payments[0].assetId == unit))
137137 then throw("NFT not attached")
138138 else if ((p.payments[0].assetId == f))
139139 then throw("NFT not attached")
140140 else [StringEntry(((C + "nft_start_auction_date") + toBase58String(aa)), V), StringEntry(((C + "nft_end_auction_date") + toBase58String(aa)), W), StringEntry((C + "_nft_start_price"), X), StringEntry((C + "_nft_owner"), toString(p.caller)), StringEntry((C + "_nft_on_auction"), toBase58String(U)), StringEntry((C + "_previous_bidder"), "none"), StringEntry((C + "_highest_bid"), "0"), StringEntry((C + "_winner_of_nft"), "0"), StringEntry((C + "_bidder_count"), "0"), StringEntry((C + "_nft_status"), "OPEN")]
141141 }
142142
143143
144144
145145 @Callable(p)
146146 func placeBid (ac,U,r,ad,ae) = {
147147 let C = toBase58String(p.transactionId)
148148 let aa = p.caller.bytes
149149 let m = fromBase58String(U)
150150 let af = p.payments[0].assetId
151151 let ag = p.payments[0].amount
152152 let ah = getStringValue(this, (ac + "_highest_bid"))
153153 let ai = getString(this, (ac + "_previous_bidder"))
154154 let aj = getStringValue(this, (ac + "_bidder_count"))
155155 let ak = getStringValue(this, (ac + "_winner_of_nft"))
156156 let ab = getStringValue(this, (ac + "_nft_status"))
157157 if ((ab != "OPEN"))
158158 then throw("Not open for auction")
159159 else if ((parseIntValue(ah) >= ag))
160160 then throw("Bid is less then starting/highest Bid")
161161 else if ((ah == "0"))
162162 then [StringEntry((ac + "_highest_bid"), toString(ag)), StringEntry((ac + "_winner_of_nft"), toBase58String(p.caller.bytes)), StringEntry((ac + "_bidder_count"), toString((parseIntValue(aj) + 1))), StringEntry((ac + "_nft_id"), toBase58String(m)), StringEntry((ac + "_nft_owner"), r), StringEntry((((C + "_") + ac) + "_highest_bid"), toString(ag)), StringEntry((((C + "_") + ac) + "_winner"), toBase58String(p.caller.bytes)), StringEntry((((C + "_") + ac) + "_bidder_count"), toString((parseIntValue(aj) + 1))), StringEntry((((C + "_") + ac) + "_nft_id"), toBase58String(m)), StringEntry((((C + "_") + ac) + "_nft_owner"), r), StringEntry((C + "_bid_for_nft_by"), toBase58String(aa)), StringEntry((C + "_bid_price_place"), ad), StringEntry((C + "_previous_bid_amount_refund_to_address"), ak), StringEntry((C + "_prevoius_bid_amount_refund"), ah)]
163163 else if ((ah != "0"))
164164 then [ScriptTransfer(Address(fromBase58String(ak)), parseIntValue(ah), af), StringEntry((C + "_previous_bid_amount_refund_to_address"), ak), StringEntry((C + "_prevoius_bid_amount_refund"), ah), StringEntry((ac + "_bidder_count"), toString((parseIntValue(aj) + 1))), StringEntry((ac + "_highest_bid"), toString(ag)), StringEntry((ac + "_winner_of_nft"), toBase58String(p.caller.bytes)), StringEntry((ac + "_nft_id"), toBase58String(m)), StringEntry((ac + "_nft_owner"), r), StringEntry((((C + "_") + ac) + "_highest_bid"), toString(ag)), StringEntry((((C + "_") + ac) + "_winner"), toBase58String(p.caller.bytes)), StringEntry((((C + "_") + ac) + "_bidder_count"), toString((parseIntValue(aj) + 1))), StringEntry((((C + "_") + ac) + "_nft_id"), toBase58String(m)), StringEntry((((C + "_") + ac) + "_nft_owner"), r), StringEntry((C + "_bid_for_nft_by"), toBase58String(aa)), StringEntry((C + "_bid_price_place"), ad)]
165165 else nil
166166 }
167167
168168
169169
170170 @Callable(p)
171171 func acceptBidOffer (ac,U,al,L,w,ae) = {
172172 let am = "9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq"
173173 let C = toBase58String(p.transactionId)
174174 let an = fromBase58String(ae)
175175 let aa = p.caller.bytes
176176 let m = fromBase58String(U)
177177 let ao = getStringValue(this, (ac + "_highest_bid"))
178178 let ap = ((parseIntValue(ao) / 1000) * 975)
179179 let Q = ((parseIntValue(ao) / 1000) * 25)
180180 let S = ((parseIntValue(ao) / 100) * parseIntValue(w))
181181 let aq = (parseIntValue(ao) - (S + Q))
182182 let ar = getStringValue(this, (ac + "_winner_of_nft"))
183183 if (if ((ae == am))
184184 then (toUtf8String(aa) == L)
185185 else false)
186186 then [ScriptTransfer(Address(aa), ap, an), ScriptTransfer(Address(fromBase58String(ar)), 1, m), StringEntry((C + "_amount_paid_to_owner"), ao), StringEntry((C + "_nft_transfer_to"), ar), StringEntry((C + "_nft_status"), "REWARDED"), StringEntry((ac + "_amount_paid_to_owner"), ao), StringEntry((ac + "_nft_transfer_to"), ar), StringEntry((ac + "_nft_status"), "REWARDED")]
187187 else if (if ((ae == am))
188188 then (toUtf8String(aa) != L)
189189 else false)
190190 then [ScriptTransfer(Address(aa), ap, an), ScriptTransfer(Address(fromBase58String(ar)), 1, m), ScriptTransfer(Address(fromBase58String(L)), aq, an), StringEntry((C + "_amount_paid_to_owner"), ao), StringEntry((C + "_nft_transfer_to"), ar), StringEntry((C + "_nft_status"), "REWARDED"), StringEntry((ac + "_amount_paid_to_owner"), ao), StringEntry((ac + "_nft_transfer_to"), ar), StringEntry((ac + "_nft_status"), "REWARDED")]
191191 else if (if ((ae == "WAVES"))
192192 then (toUtf8String(aa) == L)
193193 else false)
194194 then [ScriptTransfer(Address(aa), ap, unit), ScriptTransfer(Address(fromBase58String(ar)), 1, m), StringEntry((C + "_amount_paid_to_owner"), ao), StringEntry((C + "_nft_transfer_to"), ar), StringEntry((C + "_nft_status"), "REWARDED"), StringEntry((ac + "_amount_paid_to_owner"), ao), StringEntry((ac + "_nft_transfer_to"), ar), StringEntry((ac + "_nft_status"), "REWARDED")]
195195 else if (if ((ae == "WAVES"))
196196 then (toUtf8String(aa) != L)
197197 else false)
198198 then [ScriptTransfer(Address(aa), ap, unit), ScriptTransfer(Address(fromBase58String(ar)), 1, m), ScriptTransfer(Address(fromBase58String(L)), aq, unit), StringEntry((C + "_amount_paid_to_owner"), ao), StringEntry((C + "_nft_transfer_to"), ar), StringEntry((C + "_nft_status"), "REWARDED"), StringEntry((ac + "_amount_paid_to_owner"), ao), StringEntry((ac + "_nft_transfer_to"), ar), StringEntry((ac + "_nft_status"), "REWARDED")]
199199 else nil
200200 }
201201
202202
203203
204204 @Callable(p)
205205 func cancelAuction (ac) = {
206206 let C = toBase58String(p.transactionId)
207207 let aa = p.caller.bytes
208208 let as = getStringValue(this, (ac + "_nft_status"))
209209 let at = getStringValue(this, (ac + "_winner_of_nft"))
210210 let au = getStringValue(this, (ac + "_nft_owner"))
211211 let U = getStringValue(this, (ac + "_nft_on_auction"))
212212 let av = getStringValue(this, (ac + "_highest_bid"))
213213 if ((at == "0"))
214214 then [StringEntry(((C + ac) + "_nft_status"), "CANCELED"), ScriptTransfer(Address(fromBase58String(au)), 1, fromBase58String(U))]
215215 else if ((at != "0"))
216216 then throw("soory you can't cancel it because already auction placed by someone")
217217 else nil
218218 }
219219
220220
221221
222222 @Callable(p)
223223 func manualFundTransfer (aw,ax) = {
224224 let ay = p.caller.bytes
225225 let az = fromBase58String(aw)
226226 let O = p.payments[0].amount
227227 let Q = ((O / 1000) * 25)
228228 let aA = (O - Q)
229229 if ((p.payments[0].assetId == unit))
230230 then [IntegerEntry((toBase58String(ay) + "_transfer"), O), StringEntry("platform_fee", toString(Q)), StringEntry((toBase58String(ay) + "_transfer_to"), aw), ScriptTransfer(Address(az), aA, unit)]
231231 else if ((p.payments[0].assetId == f))
232232 then [IntegerEntry((toBase58String(ay) + "_transfer"), O), IntegerEntry("platform_fee", Q), StringEntry((toBase58String(ay) + "_transfer_to"), aw), ScriptTransfer(Address(az), aA, f)]
233233 else nil
234234 }
235235
236236
237237
238238 @Callable(p)
239239 func nftback (ac) = {
240240 let aa = p.caller.bytes
241241 let U = getStringValue(this, (ac + "_nft_on_auction"))
242242 let au = getStringValue(this, (ac + "_nft_owner"))
243243 [StringEntry((ac + "_nft_status"), "Auction_time over"), ScriptTransfer(Address(fromBase58String(au)), 1, fromBase58String(U))]
244244 }
245245
246246
247247
248248 @Callable(p)
249249 func withdrawMoney (ac,ae) = {
250250 let aa = p.caller.bytes
251251 let am = "9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq"
252252 let C = toBase58String(p.transactionId)
253253 let an = fromBase58String(ae)
254254 let aB = getStringValue(this, (ac + "_highest_bid"))
255255 let aC = getStringValue(this, (ac + "_winner"))
256256 let aD = getStringValue(this, (ac + "_nft_id"))
257257 if ((ae == am))
258258 then [StringEntry((ac + "_nft_bid"), "WITHDRAW"), StringEntry((ac + "_nft_id"), aD), StringEntry((ac + "_bidding_price_refund_amount"), aB), ScriptTransfer(p.caller, parseIntValue(aB), an)]
259259 else if ((ae == "WAVES"))
260260 then [StringEntry((ac + "_nft_bid"), "WITHDRAW"), StringEntry((ac + "_nft_id"), aD), StringEntry((ac + "_bidding_price_refund_amount"), aB), ScriptTransfer(p.caller, parseIntValue(aB), unit)]
261261 else nil
262262 }
263263
264264
265265
266266 @Callable(p)
267267 func buyAllProducts_asimi (aE) = {
268268 let aF = p.caller
269269 let aG = assetBalance(aF, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq')
270270 let aH = split(aE[0], "_")
271271 let aI = split(aE[1], "_")
272272 let aJ = split(aE[2], "_")
273273 let aK = split(aE[3], "_")
274274 let aL = split(aE[4], "_")
275275 let O = value(p.payments[0].amount)
276276 let aM = (O - ((O / 1000) * 25))
277277 let aN = (O - aM)
278278 let S = ((O / 100) * parseIntValue(aH[3]))
279279 let aO = (O - (S + aN))
280280 let aP = value(p.payments[1].amount)
281281 let aQ = (aP - ((aP / 1000) * 25))
282282 let aR = (aP - aQ)
283283 let aS = ((aP / 100) * parseIntValue(aI[3]))
284284 let aT = (aP - (aS + aR))
285285 let aU = value(p.payments[2].amount)
286286 let aV = (aU - ((aU / 1000) * 25))
287287 let aW = (aU - aV)
288288 let aX = ((aU / 100) * parseIntValue(aJ[3]))
289289 let aY = (aU - (aX + aW))
290290 let aZ = value(p.payments[3].amount)
291291 let ba = (aZ - ((aZ / 1000) * 25))
292292 let bb = (aZ - ba)
293293 let bc = ((aZ / 100) * parseIntValue(aK[3]))
294294 let bd = (aZ - (bc + bb))
295295 let be = value(p.payments[4].amount)
296296 let bf = (be - ((be / 1000) * 25))
297297 let bg = (be - bf)
298298 let bh = ((be / 100) * parseIntValue(aL[3]))
299299 let bi = (be - (bh + bg))
300300 if ((O > aG))
301301 then throw("Buyer does not have enough funds to complete the purchase.")
302302 else if ((size(aE) == 1))
303303 then [StringEntry((((("first_nft_Info=" + "nftId") + aH[0]) + "creator") + aH[4]), ("buyer" + toString(aF))), StringEntry((("first_nft_Info=" + "seller_address") + aH[1]), ("price" + aH[2])), ScriptTransfer(aF, 1, fromBase58String(aH[0])), ScriptTransfer(Address(fromBase58String(aH[1])), aO, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aH[4])), S, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq')]
304304 else if ((size(aE) == 2))
305305 then [StringEntry((((((("first_nft_Info=" + "nftId") + aH[0]) + "seller_address") + aH[1]) + "price") + aH[2]), ("buyer" + toString(aF))), StringEntry((((((("second_nft_Info=" + "nftId") + aI[0]) + "seller_address") + aI[1]) + "price") + aI[2]), ("buyer" + toString(aF))), ScriptTransfer(aF, 1, fromBase58String(aH[0])), ScriptTransfer(aF, 1, fromBase58String(aI[0])), ScriptTransfer(Address(fromBase58String(aH[1])), aO, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aH[4])), S, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aI[1])), aT, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aI[4])), aS, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq')]
306306 else if ((size(aE) == 3))
307307 then [StringEntry((((((("first_nft_Info=" + "nftId") + aH[0]) + "seller_address") + aH[1]) + "price") + aH[2]), ("buyer" + toString(aF))), StringEntry((((((("second_nft_Info=" + "nftId") + aI[0]) + "seller_address") + aI[1]) + "price") + aI[2]), ("buyer" + toString(aF))), StringEntry((((((("third_nft_Info=" + "nftId") + aJ[0]) + "seller_address") + aJ[1]) + "price") + aJ[2]), ("buyer" + toString(aF))), ScriptTransfer(aF, 1, fromBase58String(aH[0])), ScriptTransfer(aF, 1, fromBase58String(aI[0])), ScriptTransfer(aF, 1, fromBase58String(aJ[0])), ScriptTransfer(Address(fromBase58String(aH[1])), aO, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aH[4])), S, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aI[1])), aT, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aI[4])), aS, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aJ[1])), aY, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aJ[4])), aX, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq')]
308308 else if ((size(aE) == 4))
309- then [StringEntry((((((("first_nft_Info=" + "nftId") + aH[0]) + "seller_address") + aH[1]) + "price") + aH[2]), ("buyer" + toString(aF))), StringEntry((((((("second_nft_Info=" + "nftId") + aI[0]) + "seller_address") + aI[1]) + "price") + aI[2]), ("buyer" + toString(aF))), StringEntry((((((("third_nft_Info=" + "nftId") + aJ[0]) + "seller_address") + aJ[1]) + "price") + aJ[2]), ("buyer" + toString(aF))), StringEntry((((((("fourth_nft_Info=" + "nftId") + aK[0]) + "seller_address") + aK[1]) + "price") + aK[2]), ("buyer" + toString(aF))), ScriptTransfer(aF, 1, fromBase58String(aH[0])), ScriptTransfer(aF, 1, fromBase58String(aI[0])), ScriptTransfer(aF, 1, fromBase58String(aJ[0])), ScriptTransfer(aF, 1, fromBase58String(aK[0])), ScriptTransfer(Address(fromBase58String(aH[1])), aM, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aH[4])), S, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aI[1])), aQ, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aI[4])), aS, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aJ[1])), aV, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aJ[4])), aX, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aK[1])), ba, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aK[4])), bc, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq')]
309+ then [StringEntry((((((("first_nft_Info=" + "nftId") + aH[0]) + "seller_address") + aH[1]) + "price") + aH[2]), ("buyer" + toString(aF))), StringEntry((((((("second_nft_Info=" + "nftId") + aI[0]) + "seller_address") + aI[1]) + "price") + aI[2]), ("buyer" + toString(aF))), StringEntry((((((("third_nft_Info=" + "nftId") + aJ[0]) + "seller_address") + aJ[1]) + "price") + aJ[2]), ("buyer" + toString(aF))), StringEntry((((((("fourth_nft_Info=" + "nftId") + aK[0]) + "seller_address") + aK[1]) + "price") + aK[2]), ("buyer" + toString(aF))), ScriptTransfer(aF, 1, fromBase58String(aH[0])), ScriptTransfer(aF, 1, fromBase58String(aI[0])), ScriptTransfer(aF, 1, fromBase58String(aJ[0])), ScriptTransfer(aF, 1, fromBase58String(aK[0])), ScriptTransfer(Address(fromBase58String(aH[1])), aO, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aH[4])), S, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aI[1])), aT, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aI[4])), aS, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aJ[1])), aY, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aJ[4])), aX, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aK[1])), bd, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aK[4])), bc, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq')]
310310 else if ((size(aE) == 5))
311- then [StringEntry((((((("first_nft_Info=" + "nftId") + aH[0]) + "seller_address") + aH[1]) + "price") + aH[2]), ("buyer" + toString(aF))), StringEntry((((((("second_nft_Info=" + "nftId") + aI[0]) + "seller_address") + aI[1]) + "price") + aI[2]), ("buyer" + toString(aF))), StringEntry((((((("third_nft_Info=" + "nftId") + aJ[0]) + "seller_address") + aJ[1]) + "price") + aJ[2]), ("buyer" + toString(aF))), StringEntry((((((("fourth_nft_Info=" + "nftId") + aK[0]) + "seller_address") + aK[1]) + "price") + aK[2]), ("buyer" + toString(aF))), StringEntry((((((("fifth_nft_Info=" + "nftId") + aL[0]) + "seller_address") + aL[1]) + "price") + aL[2]), ("buyer" + toString(aF))), ScriptTransfer(aF, 1, fromBase58String(aH[0])), ScriptTransfer(aF, 1, fromBase58String(aI[0])), ScriptTransfer(aF, 1, fromBase58String(aJ[0])), ScriptTransfer(aF, 1, fromBase58String(aK[0])), ScriptTransfer(aF, 1, fromBase58String(aL[0])), ScriptTransfer(Address(fromBase58String(aH[1])), aM, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aH[4])), S, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aI[1])), aQ, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aI[4])), aS, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aJ[1])), aV, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aJ[4])), aX, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aK[1])), ba, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aK[4])), bc, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aL[1])), bf, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aL[4])), bh, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq')]
311+ then [StringEntry((((((("first_nft_Info=" + "nftId") + aH[0]) + "seller_address") + aH[1]) + "price") + aH[2]), ("buyer" + toString(aF))), StringEntry((((((("second_nft_Info=" + "nftId") + aI[0]) + "seller_address") + aI[1]) + "price") + aI[2]), ("buyer" + toString(aF))), StringEntry((((((("third_nft_Info=" + "nftId") + aJ[0]) + "seller_address") + aJ[1]) + "price") + aJ[2]), ("buyer" + toString(aF))), StringEntry((((((("fourth_nft_Info=" + "nftId") + aK[0]) + "seller_address") + aK[1]) + "price") + aK[2]), ("buyer" + toString(aF))), StringEntry((((((("fifth_nft_Info=" + "nftId") + aL[0]) + "seller_address") + aL[1]) + "price") + aL[2]), ("buyer" + toString(aF))), ScriptTransfer(aF, 1, fromBase58String(aH[0])), ScriptTransfer(aF, 1, fromBase58String(aI[0])), ScriptTransfer(aF, 1, fromBase58String(aJ[0])), ScriptTransfer(aF, 1, fromBase58String(aK[0])), ScriptTransfer(aF, 1, fromBase58String(aL[0])), ScriptTransfer(Address(fromBase58String(aH[1])), aO, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aH[4])), S, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aI[1])), aT, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aI[4])), aS, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aJ[1])), aY, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aJ[4])), aX, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aK[1])), bd, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aK[4])), bc, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aL[1])), bi, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aL[4])), bh, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq')]
312+ else if ((size(aE) > 5))
313+ then throw("sorry! maximum limit of your cart is 5 items")
314+ else nil
315+ }
316+
317+
318+
319+@Callable(p)
320+func buyAllProducts_waves (aE) = {
321+ let aF = p.caller
322+ let aG = assetBalance(aF, g)
323+ let aH = split(aE[0], "_")
324+ let aI = split(aE[1], "_")
325+ let aJ = split(aE[2], "_")
326+ let aK = split(aE[3], "_")
327+ let aL = split(aE[4], "_")
328+ let O = value(p.payments[0].amount)
329+ let aM = (O - ((O / 1000) * 25))
330+ let aN = (O - aM)
331+ let S = ((O / 100) * parseIntValue(aH[3]))
332+ let aO = (O - (S + aN))
333+ let aP = value(p.payments[1].amount)
334+ let aQ = (aP - ((aP / 1000) * 25))
335+ let aR = (aP - aQ)
336+ let aS = ((aP / 100) * parseIntValue(aI[3]))
337+ let aT = (aP - (aS + aR))
338+ let aU = value(p.payments[2].amount)
339+ let aV = (aU - ((aU / 1000) * 25))
340+ let aW = (aU - aV)
341+ let aX = ((aU / 100) * parseIntValue(aJ[3]))
342+ let aY = (aU - (aX + aW))
343+ let aZ = value(p.payments[3].amount)
344+ let ba = (aZ - ((aZ / 1000) * 25))
345+ let bb = (aZ - ba)
346+ let bc = ((aZ / 100) * parseIntValue(aK[3]))
347+ let bd = (aZ - (bc + bb))
348+ let be = value(p.payments[4].amount)
349+ let bf = (be - ((be / 1000) * 25))
350+ let bg = (be - bf)
351+ let bh = ((be / 100) * parseIntValue(aL[3]))
352+ let bi = (be - (bh + bg))
353+ if ((O > aG))
354+ then throw("Buyer does not have enough funds to complete the purchase.")
355+ else if ((size(aE) == 1))
356+ then [StringEntry((((((("first_nft_Info=" + "nftId") + aH[0]) + "seller_address") + aH[1]) + "price") + aH[2]), ("buyer" + toString(aF))), ScriptTransfer(aF, 1, fromBase58String(aH[0])), ScriptTransfer(Address(fromBase58String(aH[1])), aO, unit), ScriptTransfer(Address(fromBase58String(aH[4])), S, unit)]
357+ else if ((size(aE) == 2))
358+ then [StringEntry((((((("first_nft_Info=" + "nftId") + aH[0]) + "seller_address") + aH[1]) + "price") + aH[2]), ("buyer" + toString(aF))), StringEntry((((((("second_nft_Info=" + "nftId") + aI[0]) + "seller_address") + aI[1]) + "price") + aI[2]), ("buyer" + toString(aF))), ScriptTransfer(aF, 1, fromBase58String(aH[0])), ScriptTransfer(aF, 1, fromBase58String(aI[0])), ScriptTransfer(Address(fromBase58String(aH[1])), aO, unit), ScriptTransfer(Address(fromBase58String(aH[4])), S, unit), ScriptTransfer(Address(fromBase58String(aI[1])), aT, unit), ScriptTransfer(Address(fromBase58String(aI[4])), aS, unit)]
359+ else if ((size(aE) == 3))
360+ then [StringEntry((((((("first_nft_Info=" + "nftId") + aH[0]) + "seller_address") + aH[1]) + "price") + aH[2]), ("buyer" + toString(aF))), StringEntry((((((("second_nft_Info=" + "nftId") + aI[0]) + "seller_address") + aI[1]) + "price") + aI[2]), ("buyer" + toString(aF))), StringEntry((((((("third_nft_Info=" + "nftId") + aJ[0]) + "seller_address") + aJ[1]) + "price") + aJ[2]), ("buyer" + toString(aF))), ScriptTransfer(aF, 1, fromBase58String(aH[0])), ScriptTransfer(aF, 1, fromBase58String(aI[0])), ScriptTransfer(aF, 1, fromBase58String(aJ[0])), ScriptTransfer(Address(fromBase58String(aH[1])), aO, unit), ScriptTransfer(Address(fromBase58String(aH[4])), S, unit), ScriptTransfer(Address(fromBase58String(aI[1])), aT, unit), ScriptTransfer(Address(fromBase58String(aI[4])), aS, unit), ScriptTransfer(Address(fromBase58String(aJ[1])), aY, unit), ScriptTransfer(Address(fromBase58String(aJ[4])), aX, unit)]
361+ else if ((size(aE) == 4))
362+ then [StringEntry((((((("first_nft_Info=" + "nftId") + aH[0]) + "seller_address") + aH[1]) + "price") + aH[2]), ("buyer" + toString(aF))), StringEntry((((((("second_nft_Info=" + "nftId") + aI[0]) + "seller_address") + aI[1]) + "price") + aI[2]), ("buyer" + toString(aF))), StringEntry((((((("third_nft_Info=" + "nftId") + aJ[0]) + "seller_address") + aJ[1]) + "price") + aJ[2]), ("buyer" + toString(aF))), StringEntry((((((("fourth_nft_Info=" + "nftId") + aK[0]) + "seller_address") + aK[1]) + "price") + aK[2]), ("buyer" + toString(aF))), ScriptTransfer(aF, 1, fromBase58String(aH[0])), ScriptTransfer(aF, 1, fromBase58String(aI[0])), ScriptTransfer(aF, 1, fromBase58String(aJ[0])), ScriptTransfer(aF, 1, fromBase58String(aK[0])), ScriptTransfer(Address(fromBase58String(aH[1])), aO, unit), ScriptTransfer(Address(fromBase58String(aH[4])), S, unit), ScriptTransfer(Address(fromBase58String(aI[1])), aT, unit), ScriptTransfer(Address(fromBase58String(aI[4])), aS, unit), ScriptTransfer(Address(fromBase58String(aJ[1])), aY, unit), ScriptTransfer(Address(fromBase58String(aJ[4])), aX, unit), ScriptTransfer(Address(fromBase58String(aK[1])), bd, unit), ScriptTransfer(Address(fromBase58String(aK[4])), bc, unit)]
363+ else if ((size(aE) == 5))
364+ then [StringEntry((((((("first_nft_Info=" + "nftId") + aH[0]) + "seller_address") + aH[1]) + "price") + aH[2]), ("buyer" + toString(aF))), StringEntry((((((("second_nft_Info=" + "nftId") + aI[0]) + "seller_address") + aI[1]) + "price") + aI[2]), ("buyer" + toString(aF))), StringEntry((((((("third_nft_Info=" + "nftId") + aJ[0]) + "seller_address") + aJ[1]) + "price") + aJ[2]), ("buyer" + toString(aF))), StringEntry((((((("fourth_nft_Info=" + "nftId") + aK[0]) + "seller_address") + aK[1]) + "price") + aK[2]), ("buyer" + toString(aF))), StringEntry((((((("fifth_nft_Info=" + "nftId") + aL[0]) + "seller_address") + aL[1]) + "price") + aL[2]), ("buyer" + toString(aF))), ScriptTransfer(aF, 1, fromBase58String(aH[0])), ScriptTransfer(aF, 1, fromBase58String(aI[0])), ScriptTransfer(aF, 1, fromBase58String(aJ[0])), ScriptTransfer(aF, 1, fromBase58String(aK[0])), ScriptTransfer(aF, 1, fromBase58String(aL[0])), ScriptTransfer(Address(fromBase58String(aH[1])), aO, unit), ScriptTransfer(Address(fromBase58String(aH[4])), S, unit), ScriptTransfer(Address(fromBase58String(aI[1])), aT, unit), ScriptTransfer(Address(fromBase58String(aI[4])), aS, unit), ScriptTransfer(Address(fromBase58String(aJ[1])), aY, unit), ScriptTransfer(Address(fromBase58String(aJ[4])), aX, unit), ScriptTransfer(Address(fromBase58String(aK[1])), bd, unit), ScriptTransfer(Address(fromBase58String(aK[4])), bc, unit), ScriptTransfer(Address(fromBase58String(aL[1])), bi, unit), ScriptTransfer(Address(fromBase58String(aL[4])), bh, unit)]
312365 else if ((size(aE) > 5))
313366 then throw("sorry! maximum limit of your cart is 5 items")
314367 else nil
315368 }
316369
317370

github/deemru/w8io/169f3d6 
101.26 ms