tx · 2Fxhm21dBPXh3Qmm6HvUaTbH37gL8fqpZck1TSjFBtkd

3MvW9LsFHuZhRCrxPV9R687HK3XXPQ4fmP1:  -0.01800000 Waves

2022.11.05 01:27 [2302961] smart account 3MvW9LsFHuZhRCrxPV9R687HK3XXPQ4fmP1 > SELF 0.00000000 Waves

{ "type": 13, "id": "2Fxhm21dBPXh3Qmm6HvUaTbH37gL8fqpZck1TSjFBtkd", "fee": 1800000, "feeAssetId": null, "timestamp": 1667600862173, "version": 2, "chainId": 84, "sender": "3MvW9LsFHuZhRCrxPV9R687HK3XXPQ4fmP1", "senderPublicKey": "GvYU6L1m6XijzLeqB516qixq4gmFWeJJGhjFY87AJ2Jc", "proofs": [ "5beQ5PXgqQCWWNQzhTrD9VNmeoEDwAGqUjVkD3GDBr8xupWZUarSwNrmBMsvxLpgudDMXsy1tRrxEepjGAmrpziP" ], "script": "base64:BgJNCAISAwoBCBIAEgASBQoDCAEBEgMKAQgSAwoBCBIDCgEIEgcKBQgIAQEIEgMKAQgSBAoCCAgSBQoDCAgBEgMKAQgSAwoBCBIFCgMICAguAAV3YXZlcwCAwtcvAA50aWNrZXRQcmljZUludADAhD0AC3RpY2tldFByaWNlBQ50aWNrZXRQcmljZUludAAGaW52RmVlAKDCHgASd2l0aGRyYXdGZWVQZXJjZW50AAUAFmZlZUNvbGxlY3RvckFkZHJlc3NLZXkCE2ZlZUNvbGxlY3RvckFkZHJlc3MAGXRvdXJuYW1lbnRCdXlJbkZlZVBlcmNlbnQACgAOZGVwb3NpdEFzc2V0SWQCLDV1ZTFmaXVWNmo2VUJyNlhmMjhRbXM2eTVGcXpLdHF2YXh4aHd1N2hUUTU4AB9hbGxvd2VkU3BlY2lhbFRvdXJuYW1lbnRDcmVhdG9yAiMzTjZMNkVBZG4yd244WXJrUkVEOFV5aDc4elEzd2ppTW5CawENdHJ5R2V0SW50ZWdlcgEDa2V5BAckbWF0Y2gwCQCaCAIFBHRoaXMFA2tleQMJAAECBQckbWF0Y2gwAgNJbnQEAWIFByRtYXRjaDAFAWIAAAESZ2V0VGlja2V0c0NvdW50S2V5AQ1hZGRyZXNzU3RyaW5nCQCsAgIFDWFkZHJlc3NTdHJpbmcCDV90aWNrZXRzQ291bnQBImJ1eUluQW1vdW50Rm9yVG91cm5hbWVudEZvckFjY291bnQCDHRvdXJuYW1lbnRJZAdhY2NvdW50CQCsAgIJAKwCAgUMdG91cm5hbWVudElkAhdfYnV5SW5BbW91bnRGb3JBY2NvdW50XwUHYWNjb3VudAEjYnV5SW5Bc3NldElkRm9yVG91cm5hbWVudEZvckFjY291bnQCDHRvdXJuYW1lbnRJZAdhY2NvdW50CQCsAgIJAKwCAgUMdG91cm5hbWVudElkAhhfYnV5SW5Bc3NldElkRm9yQWNjb3VudF8FB2FjY291bnQBHXRpY2tldEZvclRvdXJuYW1lbnRGb3JBY2NvdW50Agx0b3VybmFtZW50SWQHYWNjb3VudAkArAICCQCsAgIFDHRvdXJuYW1lbnRJZAISX3RpY2tldEZvckFjY291bnRfBQdhY2NvdW50ASZ0b3VybmFtZW50VG90YWxCdXlJbkNvbGxlY3RlZEFtb3VudEtleQEMdG91cm5hbWVudElkCQCsAgIFDHRvdXJuYW1lbnRJZAIkX3RvdXJuYW1lbnRUb3RhbEJ1eUluQ29sbGVjdGVkQW1vdW50AS90b3VybmFtZW50VG90YWxCdXlJbkNvbGxlY3RlZEFtb3VudE1pbnVzRmVlc0tleQEMdG91cm5hbWVudElkCQCsAgIFDHRvdXJuYW1lbnRJZAItX3RvdXJuYW1lbnRUb3RhbEJ1eUluQ29sbGVjdGVkQW1vdW50TWludXNGZWVzARR0b3VybmFtZW50Q3JlYXRvcktleQEMdG91cm5hbWVudElkCQCsAgIFDHRvdXJuYW1lbnRJZAISX3RvdXJuYW1lbnRDcmVhdG9yARF0b3VybmFtZW50TmFtZUtleQEMdG91cm5hbWVudElkCQCsAgIFDHRvdXJuYW1lbnRJZAIPX3RvdXJuYW1lbnROYW1lARh0b3VybmFtZW50UHJpemVBbW91bnRLZXkBDHRvdXJuYW1lbnRJZAkArAICBQx0b3VybmFtZW50SWQCFl90b3VybmFtZW50UHJpemVBbW91bnQBHHRvdXJuYW1lbnRNYXhQbGF5ZXJzQ291bnRLZXkBDHRvdXJuYW1lbnRJZAkArAICBQx0b3VybmFtZW50SWQCGl90b3VybmFtZW50TWF4UGxheWVyc0NvdW50ARl0b3VybmFtZW50UGxheWVyc0NvdW50S2V5AQx0b3VybmFtZW50SWQJAKwCAgUMdG91cm5hbWVudElkAhdfdG91cm5hbWVudFBsYXllcnNDb3VudAEZdG91cm5hbWVudFByaXplQXNzZXRJZEtleQEMdG91cm5hbWVudElkCQCsAgIFDHRvdXJuYW1lbnRJZAIXX3RvdXJuYW1lbnRQcml6ZUFzc2V0SWQBG3RvdXJuYW1lbnRQcml6ZUFzc2V0TmFtZUtleQEMdG91cm5hbWVudElkCQCsAgIFDHRvdXJuYW1lbnRJZAIZX3RvdXJuYW1lbnRQcml6ZUFzc2V0TmFtZQEYdG91cm5hbWVudEJ1eUluQW1vdW50S2V5AQx0b3VybmFtZW50SWQJAKwCAgUMdG91cm5hbWVudElkAhZfdG91cm5hbWVudEJ1eUluQW1vdW50ARl0b3VybmFtZW50QnV5SW5Bc3NldElkS2V5AQx0b3VybmFtZW50SWQJAKwCAgUMdG91cm5hbWVudElkAhdfdG91cm5hbWVudEJ1eUluQXNzZXRJZAEbdG91cm5hbWVudEJ1eUluQXNzZXROYW1lS2V5AQx0b3VybmFtZW50SWQJAKwCAgUMdG91cm5hbWVudElkAhlfdG91cm5hbWVudEJ1eUluQXNzZXROYW1lAR90b3VybmFtZW50QnV5SW5Bc3NldERlY2ltYWxzS2V5AQx0b3VybmFtZW50SWQJAKwCAgUMdG91cm5hbWVudElkAh1fdG91cm5hbWVudEJ1eUluQXNzZXREZWNpbWFscwEfdG91cm5hbWVudFByaXplQXNzZXREZWNpbWFsc0tleQEMdG91cm5hbWVudElkCQCsAgIFDHRvdXJuYW1lbnRJZAIdX3RvdXJuYW1lbnRQcml6ZUFzc2V0RGVjaW1hbHMBE3RvdXJuYW1lbnRTdGF0dXNLZXkBDHRvdXJuYW1lbnRJZAkArAICBQx0b3VybmFtZW50SWQCEV90b3VybmFtZW50U3RhdHVzAR50b3VybmFtZW50QnV5SW5GZWVDb2xsZWN0ZWRLZXkBDHRvdXJuYW1lbnRJZAkArAICBQx0b3VybmFtZW50SWQCHF90b3VybmFtZW50QnV5SW5GZWVDb2xsZWN0ZWQBIHRvdXJuYW1lbnRTZXJ2aWNlRmVlQ29sbGVjdGVkS2V5AQx0b3VybmFtZW50SWQJAKwCAgUMdG91cm5hbWVudElkAh5fdG91cm5hbWVudFNlcnZpY2VGZWVDb2xsZWN0ZWQBIXRvdXJuYW1lbnRXaW5uaW5nVHJhbnNhY3Rpb25JZEtleQEMdG91cm5hbWVudElkCQCsAgIFDHRvdXJuYW1lbnRJZAIfX3RvdXJuYW1lbnRXaW5uaW5nVHJhbnNhY3Rpb25JZAENZ2FtZVdpbm5lcktleQEGZ2FtZUlkCQCsAgIFBmdhbWVJZAIHX3dpbm5lcgEYYWRkcmVzc0F2YWlsYWJsZUZ1bmRzS2V5AQdhZGRyZXNzCQCsAgIFB2FkZHJlc3MCD19hdmFpbGFibGVGdW5kcwEaYWRkcmVzc1RvdGFsTG9ja2VkRnVuZHNLZXkBB2FkZHJlc3MJAKwCAgUHYWRkcmVzcwIRX3RvdGFsTG9ja2VkRnVuZHMBIWFkZHJlc3NMb2NrZWRGdW5kc1RvdGFsSGlzdG9yeUtleQEHYWRkcmVzcwkArAICBQdhZGRyZXNzAhhfbG9ja2VkRnVuZHNUb3RhbEhpc3RvcnkBHGFkZHJlc3NMb2NrZWRGdW5kc0ZvckdhbWVLZXkCB2FkZHJlc3MGZ2FtZUlkCQCsAgIJAKwCAgUHYWRkcmVzcwINX2xvY2tlZEZ1bmRzXwUGZ2FtZUlkARphZGRyZXNzQXZhaWxhYmxlUmV3YXJkc0tleQEHYWRkcmVzcwkArAICBQdhZGRyZXNzAhFfYXZhaWxhYmxlUmV3YXJkcwEXdmlkZW9Qb2tlckJldEZvckFjY291bnQCBmdhbWVJZAdhY2NvdW50CQCsAgIJAKwCAgUGZ2FtZUlkAhJfdmlkZW9Qb2tlckJldEZvcl8FB2FjY291bnQBF3ZpZGVvUG9rZXJDYXJkc0RyYXduS2V5AQZnYW1lSWQJAKwCAgUGZ2FtZUlkAhVfdmlkZW9Qb2tlckNhcmRzRHJhd24BE3ZpZGVvUG9rZXJSZXN1bHRLZXkBBmdhbWVJZAkArAICBQZnYW1lSWQCEV92aWRlb1Bva2VyUmVzdWx0ARl2aWRlb1Bva2VyUmVzdWx0UHJvZml0S2V5AQZnYW1lSWQJAKwCAgUGZ2FtZUlkAhdfdmlkZW9Qb2tlclJlc3VsdFByb2ZpdAETdmlkZW9Qb2tlclN0YXR1c0tleQEGZ2FtZUlkCQCsAgIFBmdhbWVJZAIRX3ZpZGVvUG9rZXJTdGF0dXMBGnZpZGVvUG9rZXJQbGF5ZXJBZGRyZXNzS2V5AQZnYW1lSWQJAKwCAgUGZ2FtZUlkAhhfdmlkZW9Qb2tlclBsYXllckFkZHJlc3MBD2dldFRpY2tldHNDb3VudAENYWRkcmVzc1N0cmluZwkBDXRyeUdldEludGVnZXIBCQESZ2V0VGlja2V0c0NvdW50S2V5AQUNYWRkcmVzc1N0cmluZwENY29uc3VtZVRpY2tldAEKcGxheWVyQWRkcgQSY3VycmVudFRpY2tldENvdW50CQEPZ2V0VGlja2V0c0NvdW50AQUKcGxheWVyQWRkcgQVbmV3Q3VycmVudFRpY2tldENvdW50CQBlAgUSY3VycmVudFRpY2tldENvdW50AAEDCQBmAgAABRVuZXdDdXJyZW50VGlja2V0Q291bnQAAAUVbmV3Q3VycmVudFRpY2tldENvdW50DgFpARZzZXRGZWVDb2xsZWN0b3JBZGRyZXNzAQ1jb2xsZWN0b3JBZGRyAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIKQWRtaW4gT25seQkAzAgCCQELU3RyaW5nRW50cnkCBRZmZWVDb2xsZWN0b3JBZGRyZXNzS2V5BQ1jb2xsZWN0b3JBZGRyBQNuaWwBaQEMZGVwb3NpdEZ1bmRzAAQDcG10AwkAAAIJAJADAQgFAWkIcGF5bWVudHMAAQkAkQMCCAUBaQhwYXltZW50cwAACQACAQIhUGxlYXNlIGF0dGFjaCBleGFjdGx5IG9uZSBwYXltZW50AwkBAiE9AggFA3BtdAdhc3NldElkCQDZBAEFDmRlcG9zaXRBc3NldElkCQACAQIZWW91IGNhbiBvbmx5IGRlcG9zaXQgVVNETgQNY2FsbGVyQWRkclN0cgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzBBVjdXJyZW50QXZhaWxhYmxlRnVuZHMJAQ10cnlHZXRJbnRlZ2VyAQkBGGFkZHJlc3NBdmFpbGFibGVGdW5kc0tleQEFDWNhbGxlckFkZHJTdHIJAJQKAgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBGGFkZHJlc3NBdmFpbGFibGVGdW5kc0tleQEFDWNhbGxlckFkZHJTdHIJAGQCBRVjdXJyZW50QXZhaWxhYmxlRnVuZHMIBQNwbXQGYW1vdW50BQNuaWwAAQFpAQ13aXRoZHJhd0Z1bmRzAAQNY2FsbGVyQWRkclN0cgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzBBVjdXJyZW50QXZhaWxhYmxlRnVuZHMJAQ10cnlHZXRJbnRlZ2VyAQkBGGFkZHJlc3NBdmFpbGFibGVGdW5kc0tleQEFDWNhbGxlckFkZHJTdHIJAJQKAgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBGGFkZHJlc3NBdmFpbGFibGVGdW5kc0tleQEFDWNhbGxlckFkZHJTdHIAAAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQERQGV4dHJOYXRpdmUoMTA2MikBBQ1jYWxsZXJBZGRyU3RyBRVjdXJyZW50QXZhaWxhYmxlRnVuZHMJANkEAQUOZGVwb3NpdEFzc2V0SWQFA25pbAABAWkBDmZpbmlzaERpY2VHYW1lAw1wbGF5ZXJBZGRyZXNzA2JldBByZXN1bHRNdWx0aXBsaWVyAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIKQWRtaW4gT25seQQVY3VycmVudEF2YWlsYWJsZUZ1bmRzCQENdHJ5R2V0SW50ZWdlcgEJARhhZGRyZXNzQXZhaWxhYmxlRnVuZHNLZXkBBQ1wbGF5ZXJBZGRyZXNzBAhiZXRDaGVjawMJAGYCBQNiZXQFFWN1cnJlbnRBdmFpbGFibGVGdW5kcwkAAgECLE5vdCBlbm91Z2ggYXZhaWxhYmxlIGZ1bmRzIHRvIGNvdmVyIHRoZSBiZXQhBgMJAAACBQhiZXRDaGVjawUIYmV0Q2hlY2sJAJQKAgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBGGFkZHJlc3NBdmFpbGFibGVGdW5kc0tleQEFDXBsYXllckFkZHJlc3MJAGQCCQBlAgUVY3VycmVudEF2YWlsYWJsZUZ1bmRzBQNiZXQJAGsDBQNiZXQFEHJlc3VsdE11bHRpcGxpZXIAkE4JAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBEUBleHRyTmF0aXZlKDEwNjIpAQUNcGxheWVyQWRkcmVzcwUVY3VycmVudEF2YWlsYWJsZUZ1bmRzCQDZBAEFDmRlcG9zaXRBc3NldElkBQNuaWwAAQkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpARhjYW5jZWxTaWduVXBUb1RvdXJuYW1lbnQBDHRvdXJuYW1lbnRJZAQQdG91cm5hbWVudFN0YXR1cwkBEUBleHRyTmF0aXZlKDEwNTgpAQkBE3RvdXJuYW1lbnRTdGF0dXNLZXkBBQx0b3VybmFtZW50SWQDCQECIT0CBRB0b3VybmFtZW50U3RhdHVzAgxyZWdpc3RyYXRpb24JAAIBAihUb3VybmFtZW50IGlzIG5vdCBpbiByZWdpc3RyYXRpb24gcGhhc2UhBA1jYWxsZXJBZGRyU3RyCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMED3BhaWRCdXlJbkFtb3VudAkBEUBleHRyTmF0aXZlKDEwNTUpAQkBImJ1eUluQW1vdW50Rm9yVG91cm5hbWVudEZvckFjY291bnQCBQx0b3VybmFtZW50SWQFDWNhbGxlckFkZHJTdHIEEHBhaWRCdXlJbkFzc2V0SWQJARFAZXh0ck5hdGl2ZSgxMDU4KQEJASNidXlJbkFzc2V0SWRGb3JUb3VybmFtZW50Rm9yQWNjb3VudAIFDHRvdXJuYW1lbnRJZAUNY2FsbGVyQWRkclN0cgQdYWxyZWFkeVJlZ2lzdGVyZWRQbGF5ZXJzQ291bnQJAQ10cnlHZXRJbnRlZ2VyAQkBGXRvdXJuYW1lbnRQbGF5ZXJzQ291bnRLZXkBBQx0b3VybmFtZW50SWQEGXRvdGFsQnV5SW5Db2xsZWN0ZWRBbW91bnQJAGUCCQENdHJ5R2V0SW50ZWdlcgEJASZ0b3VybmFtZW50VG90YWxCdXlJbkNvbGxlY3RlZEFtb3VudEtleQEFDHRvdXJuYW1lbnRJZAUPcGFpZEJ1eUluQW1vdW50BAlmZWVzVGFrZW4JAGsDBRl0b3RhbEJ1eUluQ29sbGVjdGVkQW1vdW50BRl0b3VybmFtZW50QnV5SW5GZWVQZXJjZW50AGQJAJQKAgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQERQGV4dHJOYXRpdmUoMTA2MikBBQ1jYWxsZXJBZGRyU3RyBQ9wYWlkQnV5SW5BbW91bnQJANkEAQUQcGFpZEJ1eUluQXNzZXRJZAkAzAgCCQELRGVsZXRlRW50cnkBCQEddGlja2V0Rm9yVG91cm5hbWVudEZvckFjY291bnQCBQx0b3VybmFtZW50SWQFDWNhbGxlckFkZHJTdHIJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBImJ1eUluQW1vdW50Rm9yVG91cm5hbWVudEZvckFjY291bnQCBQx0b3VybmFtZW50SWQFDWNhbGxlckFkZHJTdHIJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBI2J1eUluQXNzZXRJZEZvclRvdXJuYW1lbnRGb3JBY2NvdW50AgUMdG91cm5hbWVudElkBQ1jYWxsZXJBZGRyU3RyCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEZdG91cm5hbWVudFBsYXllcnNDb3VudEtleQEFDHRvdXJuYW1lbnRJZAkAZQIFHWFscmVhZHlSZWdpc3RlcmVkUGxheWVyc0NvdW50AAEJAMwIAgkBDEludGVnZXJFbnRyeQIJASZ0b3VybmFtZW50VG90YWxCdXlJbkNvbGxlY3RlZEFtb3VudEtleQEFDHRvdXJuYW1lbnRJZAUZdG90YWxCdXlJbkNvbGxlY3RlZEFtb3VudAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBL3RvdXJuYW1lbnRUb3RhbEJ1eUluQ29sbGVjdGVkQW1vdW50TWludXNGZWVzS2V5AQUMdG91cm5hbWVudElkCQBlAgUZdG90YWxCdXlJbkNvbGxlY3RlZEFtb3VudAUJZmVlc1Rha2VuBQNuaWwAAQFpARJzaWduVXBUb1RvdXJuYW1lbnQBDHRvdXJuYW1lbnRJZAQPbWF4UGxheWVyc0NvdW50CQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzCQEcdG91cm5hbWVudE1heFBsYXllcnNDb3VudEtleQEFDHRvdXJuYW1lbnRJZAQdYWxyZWFkeVJlZ2lzdGVyZWRQbGF5ZXJzQ291bnQJAQ10cnlHZXRJbnRlZ2VyAQkBGXRvdXJuYW1lbnRQbGF5ZXJzQ291bnRLZXkBBQx0b3VybmFtZW50SWQEEHRvdXJuYW1lbnRTdGF0dXMJARFAZXh0ck5hdGl2ZSgxMDU4KQEJARN0b3VybmFtZW50U3RhdHVzS2V5AQUMdG91cm5hbWVudElkAwMJAQIhPQIFEHRvdXJuYW1lbnRTdGF0dXMCDHJlZ2lzdHJhdGlvbgkBAiE9AgUQdG91cm5hbWVudFN0YXR1cwIHc3RhcnRlZAcJAAIBAihUb3VybmFtZW50IGlzIG5vdCBpbiByZWdpc3RyYXRpb24gcGhhc2UhAwkAAAIFHWFscmVhZHlSZWdpc3RlcmVkUGxheWVyc0NvdW50BQ9tYXhQbGF5ZXJzQ291bnQJAAIBAjVUb3VybmFtZW50IGlzIGN1cnJlbnRseSBmdWxsLCBwbGVhc2UgdHJ5IGFnYWluIGxhdGVyIQQDcG10AwkAAAIJAJADAQgFAWkIcGF5bWVudHMAAQkAkQMCCAUBaQhwYXltZW50cwAACQACAQIhUGxlYXNlIGF0dGFjaCBleGFjdGx5IG9uZSBwYXltZW50BAxidXlJbkFzc2V0aWQEByRtYXRjaDAIBQNwbXQHYXNzZXRJZAMJAAECBQckbWF0Y2gwAgRVbml0BAFiBQckbWF0Y2gwAgADCQABAgUHJG1hdGNoMAIKQnl0ZVZlY3RvcgQBYgUHJG1hdGNoMAkA2AQBBQFiCQACAQILTWF0Y2ggZXJyb3IEE2J1eUluUmVxdWlyZWRBbW91bnQJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMJARh0b3VybmFtZW50QnV5SW5BbW91bnRLZXkBBQx0b3VybmFtZW50SWQEFGJ1eUluUmVxdWlyZWRBc3NldElkCQERQGV4dHJOYXRpdmUoMTA1MykCBQR0aGlzCQEZdG91cm5hbWVudEJ1eUluQXNzZXRJZEtleQEFDHRvdXJuYW1lbnRJZAMJAQIhPQIFE2J1eUluUmVxdWlyZWRBbW91bnQIBQNwbXQGYW1vdW50CQACAQkArAICAixBdHRhY2hlZCBwYXltZW50IGFtb3VudCBpcyBpbnZhbGlkLCBtdXN0IGJlIAkApAMBBRNidXlJblJlcXVpcmVkQW1vdW50AwkBAiE9AgUUYnV5SW5SZXF1aXJlZEFzc2V0SWQFDGJ1eUluQXNzZXRpZAkAAgEJAKwCAgIuQXR0YWNoZWQgcGF5bWVudCBhc3NldCBpZCBpcyBpbnZhbGlkLCBtdXN0IGJlIAUUYnV5SW5SZXF1aXJlZEFzc2V0SWQEDWNhbGxlckFkZHJTdHIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwQZdG90YWxCdXlJbkNvbGxlY3RlZEFtb3VudAkAZAIJAQ10cnlHZXRJbnRlZ2VyAQkBJnRvdXJuYW1lbnRUb3RhbEJ1eUluQ29sbGVjdGVkQW1vdW50S2V5AQUMdG91cm5hbWVudElkCAUDcG10BmFtb3VudAQJZmVlc1Rha2VuCQBrAwUZdG90YWxCdXlJbkNvbGxlY3RlZEFtb3VudAUZdG91cm5hbWVudEJ1eUluRmVlUGVyY2VudABkCQCUCgIJAMwIAgkBDEJvb2xlYW5FbnRyeQIJAR10aWNrZXRGb3JUb3VybmFtZW50Rm9yQWNjb3VudAIFDHRvdXJuYW1lbnRJZAUNY2FsbGVyQWRkclN0cgYJAMwIAgkBDEludGVnZXJFbnRyeQIJASJidXlJbkFtb3VudEZvclRvdXJuYW1lbnRGb3JBY2NvdW50AgUMdG91cm5hbWVudElkBQ1jYWxsZXJBZGRyU3RyCAUDcG10BmFtb3VudAkAzAgCCQELU3RyaW5nRW50cnkCCQEjYnV5SW5Bc3NldElkRm9yVG91cm5hbWVudEZvckFjY291bnQCBQx0b3VybmFtZW50SWQFDWNhbGxlckFkZHJTdHIFDGJ1eUluQXNzZXRpZAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBGXRvdXJuYW1lbnRQbGF5ZXJzQ291bnRLZXkBBQx0b3VybmFtZW50SWQJAGQCBR1hbHJlYWR5UmVnaXN0ZXJlZFBsYXllcnNDb3VudAABCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEmdG91cm5hbWVudFRvdGFsQnV5SW5Db2xsZWN0ZWRBbW91bnRLZXkBBQx0b3VybmFtZW50SWQFGXRvdGFsQnV5SW5Db2xsZWN0ZWRBbW91bnQJAMwIAgkBDEludGVnZXJFbnRyeQIJAS90b3VybmFtZW50VG90YWxCdXlJbkNvbGxlY3RlZEFtb3VudE1pbnVzRmVlc0tleQEFDHRvdXJuYW1lbnRJZAkAZQIFGXRvdGFsQnV5SW5Db2xsZWN0ZWRBbW91bnQFCWZlZXNUYWtlbgUDbmlsAAEBaQEQY2FuY2VsVG91cm5hbWVudAEMdG91cm5hbWVudElkBA1jYWxsZXJBZGRyU3RyCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMEEXRvdXJuYW1lbnRDcmVhdG9yCQERQGV4dHJOYXRpdmUoMTA1OCkBCQEUdG91cm5hbWVudENyZWF0b3JLZXkBBQx0b3VybmFtZW50SWQEDGNyZWF0b3JDaGVjawMJAAACBRF0b3VybmFtZW50Q3JlYXRvcgUNY2FsbGVyQWRkclN0cgYDCQAAAggFAWkGY2FsbGVyBQR0aGlzBgkAAgECJk9ubHkgdG91cm5hbWVudCBjcmVhdG9yIGNhbiBjYW5jZWwgaXQhAwkAAAIFDGNyZWF0b3JDaGVjawUMY3JlYXRvckNoZWNrBBB0b3VybmFtZW50U3RhdHVzCQERQGV4dHJOYXRpdmUoMTA1OCkBCQETdG91cm5hbWVudFN0YXR1c0tleQEFDHRvdXJuYW1lbnRJZAMDCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAQIhPQIFEHRvdXJuYW1lbnRTdGF0dXMCDHJlZ2lzdHJhdGlvbgcJAAIBAihUb3VybmFtZW50IGlzIG5vdCBpbiByZWdpc3RyYXRpb24gcGhhc2UhBB1hbHJlYWR5UmVnaXN0ZXJlZFBsYXllcnNDb3VudAkBDXRyeUdldEludGVnZXIBCQEZdG91cm5hbWVudFBsYXllcnNDb3VudEtleQEFDHRvdXJuYW1lbnRJZAMJAGYCBR1hbHJlYWR5UmVnaXN0ZXJlZFBsYXllcnNDb3VudAAACQACAQJFQ2Fubm90IGNhbmNlbCBhIHRvdXJuYW1lbnQgd2hlbiBwbGF5ZXJzIGFyZSBhbHJlYWR5IHJlZ2lzdGVyZWQgdG8gaXQhBBV0b3VybmFtZW50UHJpemVBbW91bnQJARFAZXh0ck5hdGl2ZSgxMDU1KQEJARh0b3VybmFtZW50UHJpemVBbW91bnRLZXkBBQx0b3VybmFtZW50SWQEFnRvdXJuYW1lbnRQcml6ZUFzc2V0SWQJARFAZXh0ck5hdGl2ZSgxMDU4KQEJARl0b3VybmFtZW50UHJpemVBc3NldElkS2V5AQUMdG91cm5hbWVudElkCQCUCgIJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBGHRvdXJuYW1lbnRQcml6ZUFtb3VudEtleQEFDHRvdXJuYW1lbnRJZAkAzAgCCQELRGVsZXRlRW50cnkBCQEZdG91cm5hbWVudFBsYXllcnNDb3VudEtleQEFDHRvdXJuYW1lbnRJZAkAzAgCCQELRGVsZXRlRW50cnkBCQEcdG91cm5hbWVudE1heFBsYXllcnNDb3VudEtleQEFDHRvdXJuYW1lbnRJZAkAzAgCCQELRGVsZXRlRW50cnkBCQEZdG91cm5hbWVudFByaXplQXNzZXRJZEtleQEFDHRvdXJuYW1lbnRJZAkAzAgCCQELRGVsZXRlRW50cnkBCQEbdG91cm5hbWVudFByaXplQXNzZXROYW1lS2V5AQUMdG91cm5hbWVudElkCQDMCAIJAQtEZWxldGVFbnRyeQEJAR90b3VybmFtZW50UHJpemVBc3NldERlY2ltYWxzS2V5AQUMdG91cm5hbWVudElkCQDMCAIJAQtEZWxldGVFbnRyeQEJARN0b3VybmFtZW50U3RhdHVzS2V5AQUMdG91cm5hbWVudElkCQDMCAIJAQtEZWxldGVFbnRyeQEJARh0b3VybmFtZW50QnV5SW5BbW91bnRLZXkBBQx0b3VybmFtZW50SWQJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBG3RvdXJuYW1lbnRCdXlJbkFzc2V0TmFtZUtleQEFDHRvdXJuYW1lbnRJZAkAzAgCCQELRGVsZXRlRW50cnkBCQEfdG91cm5hbWVudEJ1eUluQXNzZXREZWNpbWFsc0tleQEFDHRvdXJuYW1lbnRJZAkAzAgCCQELRGVsZXRlRW50cnkBCQEZdG91cm5hbWVudEJ1eUluQXNzZXRJZEtleQEFDHRvdXJuYW1lbnRJZAkAzAgCCQELRGVsZXRlRW50cnkBCQERdG91cm5hbWVudE5hbWVLZXkBBQx0b3VybmFtZW50SWQJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBFHRvdXJuYW1lbnRDcmVhdG9yS2V5AQUMdG91cm5hbWVudElkCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJARFAZXh0ck5hdGl2ZSgxMDYyKQEFEXRvdXJuYW1lbnRDcmVhdG9yBRV0b3VybmFtZW50UHJpemVBbW91bnQJANkEAQUWdG91cm5hbWVudFByaXplQXNzZXRJZAUDbmlsAAEJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEQY3JlYXRlVG91cm5hbWVudAUMdG91cm5hbWVudElkBG5hbWUMcGxheWVyc0NvdW50C2J1eUluQW1vdW50DGJ1eUluQXNzZXRJZAQDcG10AwkAAAIJAJADAQgFAWkIcGF5bWVudHMAAQkAkQMCCAUBaQhwYXltZW50cwAABA1jYWxsZXJBZGRyU3RyCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMDCQAAAgUNY2FsbGVyQWRkclN0cgUfYWxsb3dlZFNwZWNpYWxUb3VybmFtZW50Q3JlYXRvcgkBD0F0dGFjaGVkUGF5bWVudAIFBHVuaXQAAAkAAgECIVBsZWFzZSBhdHRhY2ggZXhhY3RseSBvbmUgcGF5bWVudAQRdG91cm5hbWVudENyZWF0b3IEByRtYXRjaDAJAKIIAQkBFHRvdXJuYW1lbnRDcmVhdG9yS2V5AQUMdG91cm5hbWVudElkAwkAAQIFByRtYXRjaDACBlN0cmluZwQHY3JlYXRvcgUHJG1hdGNoMAkAAgEJAKwCAgInVG91cm5hbWVudCBhbHJlYWR5IGV4aXN0cyB3aXRoIHRoaXMgaWQgBQx0b3VybmFtZW50SWQFBHVuaXQDCQAAAgURdG91cm5hbWVudENyZWF0b3IFEXRvdXJuYW1lbnRDcmVhdG9yBAxwcml6ZUFzc2V0SWQEByRtYXRjaDAIBQNwbXQHYXNzZXRJZAMJAAECBQckbWF0Y2gwAgRVbml0BAFiBQckbWF0Y2gwAgADCQABAgUHJG1hdGNoMAIKQnl0ZVZlY3RvcgQBYgUHJG1hdGNoMAkA2AQBBQFiCQACAQILTWF0Y2ggZXJyb3IEDGFzc2V0RGV0YWlscwQHJG1hdGNoMAgFA3BtdAdhc3NldElkAwkAAQIFByRtYXRjaDACBFVuaXQEAWIFByRtYXRjaDAJAMwIAgIFV2F2ZXMJAMwIAgAIBQNuaWwDCQABAgUHJG1hdGNoMAIKQnl0ZVZlY3RvcgQBYgUHJG1hdGNoMAQHJG1hdGNoMQkA7AcBBQFiAwkAAQIFByRtYXRjaDECBUFzc2V0BAVhc3NldAUHJG1hdGNoMQkAzAgCCAUFYXNzZXQEbmFtZQkAzAgCCAUFYXNzZXQIZGVjaW1hbHMFA25pbAkAAgECEENhbid0IGZpbmQgYXNzZXQJAAIBAgtNYXRjaCBlcnJvcgQKYnV5SW5Bc3NldAQHJG1hdGNoMAkA7AcBCQDZBAEFDGJ1eUluQXNzZXRJZAMJAAECBQckbWF0Y2gwAgVBc3NldAQFYXNzZXQFByRtYXRjaDAJAMwIAggFBWFzc2V0BG5hbWUJAMwIAggFBWFzc2V0CGRlY2ltYWxzBQNuaWwJAMwIAgIACQDMCAIAAAUDbmlsBA1jYWxsZXJBZGRyU3RyCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMJAJQKAgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBGHRvdXJuYW1lbnRQcml6ZUFtb3VudEtleQEFDHRvdXJuYW1lbnRJZAgFA3BtdAZhbW91bnQJAMwIAgkBDEludGVnZXJFbnRyeQIJARl0b3VybmFtZW50UGxheWVyc0NvdW50S2V5AQUMdG91cm5hbWVudElkAAAJAMwIAgkBDEludGVnZXJFbnRyeQIJARx0b3VybmFtZW50TWF4UGxheWVyc0NvdW50S2V5AQUMdG91cm5hbWVudElkBQxwbGF5ZXJzQ291bnQJAMwIAgkBC1N0cmluZ0VudHJ5AgkBGXRvdXJuYW1lbnRQcml6ZUFzc2V0SWRLZXkBBQx0b3VybmFtZW50SWQFDHByaXplQXNzZXRJZAkAzAgCCQELU3RyaW5nRW50cnkCCQEbdG91cm5hbWVudFByaXplQXNzZXROYW1lS2V5AQUMdG91cm5hbWVudElkCgABQAkAkQMCBQxhc3NldERldGFpbHMAAAMJAAECBQFAAgZTdHJpbmcFAUAJAAIBCQCsAgIJAAMBBQFAAhsgY291bGRuJ3QgYmUgY2FzdCB0byBTdHJpbmcJAMwIAgkBDEludGVnZXJFbnRyeQIJAR90b3VybmFtZW50UHJpemVBc3NldERlY2ltYWxzS2V5AQUMdG91cm5hbWVudElkCgABQAkAkQMCBQxhc3NldERldGFpbHMAAQMJAAECBQFAAgNJbnQFAUAJAAIBCQCsAgIJAAMBBQFAAhggY291bGRuJ3QgYmUgY2FzdCB0byBJbnQJAMwIAgkBC1N0cmluZ0VudHJ5AgkBE3RvdXJuYW1lbnRTdGF0dXNLZXkBBQx0b3VybmFtZW50SWQCDHJlZ2lzdHJhdGlvbgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBGHRvdXJuYW1lbnRCdXlJbkFtb3VudEtleQEFDHRvdXJuYW1lbnRJZAULYnV5SW5BbW91bnQJAMwIAgkBC1N0cmluZ0VudHJ5AgkBG3RvdXJuYW1lbnRCdXlJbkFzc2V0TmFtZUtleQEFDHRvdXJuYW1lbnRJZAoAAUAJAJEDAgUKYnV5SW5Bc3NldAAAAwkAAQIFAUACBlN0cmluZwUBQAkAAgEJAKwCAgkAAwEFAUACGyBjb3VsZG4ndCBiZSBjYXN0IHRvIFN0cmluZwkAzAgCCQEMSW50ZWdlckVudHJ5AgkBH3RvdXJuYW1lbnRCdXlJbkFzc2V0RGVjaW1hbHNLZXkBBQx0b3VybmFtZW50SWQKAAFACQCRAwIFCmJ1eUluQXNzZXQAAQMJAAECBQFAAgNJbnQFAUAJAAIBCQCsAgIJAAMBBQFAAhggY291bGRuJ3QgYmUgY2FzdCB0byBJbnQJAMwIAgkBC1N0cmluZ0VudHJ5AgkBGXRvdXJuYW1lbnRCdXlJbkFzc2V0SWRLZXkBBQx0b3VybmFtZW50SWQFDGJ1eUluQXNzZXRJZAkAzAgCCQELU3RyaW5nRW50cnkCCQERdG91cm5hbWVudE5hbWVLZXkBBQx0b3VybmFtZW50SWQFBG5hbWUJAMwIAgkBC1N0cmluZ0VudHJ5AgkBFHRvdXJuYW1lbnRDcmVhdG9yS2V5AQUMdG91cm5hbWVudElkBQ1jYWxsZXJBZGRyU3RyBQNuaWwAAQkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQ9zdGFydFRvdXJuYW1lbnQBDHRvdXJuYW1lbnRJZAMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECCkFkbWluIE9ubHkJAJQKAgkAzAgCCQELU3RyaW5nRW50cnkCCQETdG91cm5hbWVudFN0YXR1c0tleQEFDHRvdXJuYW1lbnRJZAIHc3RhcnRlZAUDbmlsAAEBaQEQZmluaXNoVG91cm5hbWVudAIMdG91cm5hbWVudElkHXdpbm5pbmdUcmFuc2ZlcnRUcmFuc2FjdGlvbklkAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIKQWRtaW4gT25seQQRdG91cm5hbWVudENyZWF0b3IJARFAZXh0ck5hdGl2ZSgxMDU4KQEJARR0b3VybmFtZW50Q3JlYXRvcktleQEFDHRvdXJuYW1lbnRJZAQadG91cm5hbWVudFRvdGFsQnV5SW5BbW91bnQJAQ10cnlHZXRJbnRlZ2VyAQkBJnRvdXJuYW1lbnRUb3RhbEJ1eUluQ29sbGVjdGVkQW1vdW50S2V5AQUMdG91cm5hbWVudElkBBV0b3VybmFtZW50QnV5SW5BbW91bnQJARFAZXh0ck5hdGl2ZSgxMDU1KQEJARh0b3VybmFtZW50QnV5SW5BbW91bnRLZXkBBQx0b3VybmFtZW50SWQEFnRvdXJuYW1lbnRCdXlJbkFzc2V0SWQEByRtYXRjaDAJAKIIAQkBGXRvdXJuYW1lbnRCdXlJbkFzc2V0SWRLZXkBBQx0b3VybmFtZW50SWQDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAJpZAUHJG1hdGNoMAMJAAACBQJpZAIABQR1bml0CQDZBAEFAmlkBQR1bml0BBJ0b3VybmFtZW50QnV5SW5GZWUJAGsDBRp0b3VybmFtZW50VG90YWxCdXlJbkFtb3VudAUZdG91cm5hbWVudEJ1eUluRmVlUGVyY2VudABkBBV0b3VybmFtZW50UHJpemVBbW91bnQJARFAZXh0ck5hdGl2ZSgxMDU1KQEJARh0b3VybmFtZW50UHJpemVBbW91bnRLZXkBBQx0b3VybmFtZW50SWQDCQBmAgUVdG91cm5hbWVudFByaXplQW1vdW50AAAJAJQKAgkAzAgCCQELU3RyaW5nRW50cnkCCQEhdG91cm5hbWVudFdpbm5pbmdUcmFuc2FjdGlvbklkS2V5AQUMdG91cm5hbWVudElkBR13aW5uaW5nVHJhbnNmZXJ0VHJhbnNhY3Rpb25JZAkAzAgCCQELU3RyaW5nRW50cnkCCQETdG91cm5hbWVudFN0YXR1c0tleQEFDHRvdXJuYW1lbnRJZAIIZmluaXNoZWQJAMwIAgkBDEludGVnZXJFbnRyeQIJAR50b3VybmFtZW50QnV5SW5GZWVDb2xsZWN0ZWRLZXkBBQx0b3VybmFtZW50SWQFEnRvdXJuYW1lbnRCdXlJbkZlZQkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQERQGV4dHJOYXRpdmUoMTA2MikBBRF0b3VybmFtZW50Q3JlYXRvcgkAZQIFGnRvdXJuYW1lbnRUb3RhbEJ1eUluQW1vdW50BRJ0b3VybmFtZW50QnV5SW5GZWUFFnRvdXJuYW1lbnRCdXlJbkFzc2V0SWQFA25pbAABBApzZXJ2aWNlRmVlCQBrAwUSdG91cm5hbWVudEJ1eUluRmVlABQAZAkAlAoCCQDMCAIJAQtTdHJpbmdFbnRyeQIJASF0b3VybmFtZW50V2lubmluZ1RyYW5zYWN0aW9uSWRLZXkBBQx0b3VybmFtZW50SWQFHXdpbm5pbmdUcmFuc2ZlcnRUcmFuc2FjdGlvbklkCQDMCAIJAQtTdHJpbmdFbnRyeQIJARN0b3VybmFtZW50U3RhdHVzS2V5AQUMdG91cm5hbWVudElkAghmaW5pc2hlZAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBHnRvdXJuYW1lbnRCdXlJbkZlZUNvbGxlY3RlZEtleQEFDHRvdXJuYW1lbnRJZAUSdG91cm5hbWVudEJ1eUluRmVlCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEgdG91cm5hbWVudFNlcnZpY2VGZWVDb2xsZWN0ZWRLZXkBBQx0b3VybmFtZW50SWQFCnNlcnZpY2VGZWUJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBEUBleHRyTmF0aXZlKDEwNjIpAQURdG91cm5hbWVudENyZWF0b3IJAGUCBRJ0b3VybmFtZW50QnV5SW5GZWUFCnNlcnZpY2VGZWUFFnRvdXJuYW1lbnRCdXlJbkFzc2V0SWQFA25pbAABAWkBDnBsYXllckV4aXRHYW1lAwZnYW1lSWQKcGxheWVyQWRkcg9leGl0U3RhY2tBbW91bnQDCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAgpBZG1pbiBPbmx5BBdjdXJyZW50VG90YWxMb2NrZWRGdW5kcwkBDXRyeUdldEludGVnZXIBCQEaYWRkcmVzc1RvdGFsTG9ja2VkRnVuZHNLZXkBBQpwbGF5ZXJBZGRyBCBjdXJyZW50R2FtZUxvY2tlZEFtb3VudEZvclBsYXllcgkBDXRyeUdldEludGVnZXIBCQEcYWRkcmVzc0xvY2tlZEZ1bmRzRm9yR2FtZUtleQIFCnBsYXllckFkZHIFBmdhbWVJZAkAlAoCCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEaYWRkcmVzc1RvdGFsTG9ja2VkRnVuZHNLZXkBBQpwbGF5ZXJBZGRyCQBlAgUXY3VycmVudFRvdGFsTG9ja2VkRnVuZHMFIGN1cnJlbnRHYW1lTG9ja2VkQW1vdW50Rm9yUGxheWVyCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEcYWRkcmVzc0xvY2tlZEZ1bmRzRm9yR2FtZUtleQIFCnBsYXllckFkZHIFBmdhbWVJZAAACQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJARFAZXh0ck5hdGl2ZSgxMDYyKQEFCnBsYXllckFkZHIFD2V4aXRTdGFja0Ftb3VudAkA2QQBBQ5kZXBvc2l0QXNzZXRJZAUDbmlsAAEBaQEQbG9ja0Z1bmRzRm9yR2FtZQEGZ2FtZUlkBANwbXQDCQAAAgkAkAMBCAUBaQhwYXltZW50cwABCQCRAwIIBQFpCHBheW1lbnRzAAAJAAIBAiFQbGVhc2UgYXR0YWNoIGV4YWN0bHkgb25lIHBheW1lbnQDCQECIT0CCAUDcG10B2Fzc2V0SWQJANkEAQUOZGVwb3NpdEFzc2V0SWQJAAIBAhlZb3UgY2FuIG9ubHkgZGVwb3NpdCBVU0ROBA1jYWxsZXJBZGRyU3RyCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMEF2N1cnJlbnRUb3RhbExvY2tlZEZ1bmRzCQENdHJ5R2V0SW50ZWdlcgEJARphZGRyZXNzVG90YWxMb2NrZWRGdW5kc0tleQEFDWNhbGxlckFkZHJTdHIEHmN1cnJlbnRMb2NrZWRGdW5kc1RvdGFsSGlzdG9yeQkBDXRyeUdldEludGVnZXIBCQEhYWRkcmVzc0xvY2tlZEZ1bmRzVG90YWxIaXN0b3J5S2V5AQUNY2FsbGVyQWRkclN0cgkAlAoCCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEaYWRkcmVzc1RvdGFsTG9ja2VkRnVuZHNLZXkBBQ1jYWxsZXJBZGRyU3RyCQBkAgUXY3VycmVudFRvdGFsTG9ja2VkRnVuZHMIBQNwbXQGYW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEhYWRkcmVzc0xvY2tlZEZ1bmRzVG90YWxIaXN0b3J5S2V5AQUNY2FsbGVyQWRkclN0cgkAZAIFHmN1cnJlbnRMb2NrZWRGdW5kc1RvdGFsSGlzdG9yeQgFA3BtdAZhbW91bnQJAMwIAgkBDEludGVnZXJFbnRyeQIJARxhZGRyZXNzTG9ja2VkRnVuZHNGb3JHYW1lS2V5AgUNY2FsbGVyQWRkclN0cgUGZ2FtZUlkCAUDcG10BmFtb3VudAUDbmlsAAEBaQETYmV0T25WaWRlb1Bva2VyR2FtZQEGZ2FtZUlkBANwbXQDCQAAAgkAkAMBCAUBaQhwYXltZW50cwABCQCRAwIIBQFpCHBheW1lbnRzAAAJAAIBAiFQbGVhc2UgYXR0YWNoIGV4YWN0bHkgb25lIHBheW1lbnQDCQECIT0CCAUDcG10B2Fzc2V0SWQJANkEAQUOZGVwb3NpdEFzc2V0SWQJAAIBAhlZb3UgY2FuIG9ubHkgZGVwb3NpdCBVU0ROBA1jYWxsZXJBZGRyU3RyCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMJAJQKAgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBF3ZpZGVvUG9rZXJCZXRGb3JBY2NvdW50AgUGZ2FtZUlkBQ1jYWxsZXJBZGRyU3RyCAUDcG10BmFtb3VudAkAzAgCCQELU3RyaW5nRW50cnkCCQEadmlkZW9Qb2tlclBsYXllckFkZHJlc3NLZXkBBQZnYW1lSWQFDWNhbGxlckFkZHJTdHIJAMwIAgkBC1N0cmluZ0VudHJ5AgkBE3ZpZGVvUG9rZXJTdGF0dXNLZXkBBQZnYW1lSWQCB2NyZWF0ZWQFA25pbAABAWkBFGZpbmlzaFZpZGVvUG9rZXJHYW1lAwZnYW1lSWQGcmVzdWx0CmNhcmRzRHJhd24DCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAgpBZG1pbiBPbmx5BApwbGF5ZXJBZGRyCQERQGV4dHJOYXRpdmUoMTA1OCkBCQEadmlkZW9Qb2tlclBsYXllckFkZHJlc3NLZXkBBQZnYW1lSWQECWJldEFtb3VudAkBEUBleHRyTmF0aXZlKDEwNTUpAQkBF3ZpZGVvUG9rZXJCZXRGb3JBY2NvdW50AgUGZ2FtZUlkBQpwbGF5ZXJBZGRyBBFjdXJyZW50R2FtZVN0YXR1cwkBEUBleHRyTmF0aXZlKDEwNTgpAQkBE3ZpZGVvUG9rZXJTdGF0dXNLZXkBBQZnYW1lSWQEC2NoZWNrU3RhdHVzAwkAAAIFEWN1cnJlbnRHYW1lU3RhdHVzAgdjcmVhdGVkBgkAAgECIkdhbWUgaXMgbm90IGluIHRoZSBjb3JyZWN0IHN0YXR1cyEDCQAAAgULY2hlY2tTdGF0dXMFC2NoZWNrU3RhdHVzBA1iZXRNdWx0aXBsaWVyAwkAAAIFBnJlc3VsdAIJUGFpciwgSidzAAEDCQAAAgUGcmVzdWx0AglQYWlyLCBRJ3MAAQMJAAACBQZyZXN1bHQCCVBhaXIsIEsncwABAwkAAAIFBnJlc3VsdAIJUGFpciwgQSdzAAEDCQAAAgUGcmVzdWx0AghUd28gUGFpcgACAwkAAAIFBnJlc3VsdAIPVGhyZWUgb2YgYSBLaW5kAAMDCQAAAgUGcmVzdWx0AghTdHJhaWdodAAEAwkAAAIFBnJlc3VsdAIFRmx1c2gABgMJAAACBQZyZXN1bHQCCkZ1bGwgSG91c2UACQMJAAACBQZyZXN1bHQCDkZvdXIgb2YgYSBLaW5kABkDCQAAAgUGcmVzdWx0Ag5TdHJhaWdodCBGbHVzaAAyAwkAAAIFBnJlc3VsdAILUm95YWwgRmx1c2gAoAYAAAMJAAACBQ1iZXRNdWx0aXBsaWVyBQ1iZXRNdWx0aXBsaWVyBAlhbW91bnRXb24JAGgCBQliZXRBbW91bnQFDWJldE11bHRpcGxpZXIJAJQKAgkAzAgCCQELU3RyaW5nRW50cnkCCQEXdmlkZW9Qb2tlckNhcmRzRHJhd25LZXkBBQZnYW1lSWQFCmNhcmRzRHJhd24JAMwIAgkBC1N0cmluZ0VudHJ5AgkBE3ZpZGVvUG9rZXJSZXN1bHRLZXkBBQZnYW1lSWQFBnJlc3VsdAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBGXZpZGVvUG9rZXJSZXN1bHRQcm9maXRLZXkBBQZnYW1lSWQFCWFtb3VudFdvbgkAzAgCCQELU3RyaW5nRW50cnkCCQETdmlkZW9Qb2tlclN0YXR1c0tleQEFBmdhbWVJZAIIZmluaXNoZWQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBEUBleHRyTmF0aXZlKDEwNjIpAQUKcGxheWVyQWRkcgUJYW1vdW50V29uCQDZBAEFDmRlcG9zaXRBc3NldElkBQNuaWwAAQkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgECdHgBBnZlcmlmeQAJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAIBQJ0eA9zZW5kZXJQdWJsaWNLZXkbzsJF", "height": 2302961, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 6 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let a = 100000000
5+
6+let b = 1000000
7+
8+let c = b
9+
10+let d = 500000
11+
12+let e = 5
13+
14+let f = "feeCollectorAddress"
15+
16+let g = 10
17+
18+let h = "5ue1fiuV6j6UBr6Xf28Qms6y5FqzKtqvaxxhwu7hTQ58"
19+
20+let i = "3N6L6EAdn2wn8YrkRED8Uyh78zQ3wjiMnBk"
21+
22+func j (k) = {
23+ let l = getInteger(this, k)
24+ if ($isInstanceOf(l, "Int"))
25+ then {
26+ let m = l
27+ m
28+ }
29+ else 0
30+ }
31+
32+
33+func n (o) = (o + "_ticketsCount")
34+
35+
36+func p (q,r) = ((q + "_buyInAmountForAccount_") + r)
37+
38+
39+func s (q,r) = ((q + "_buyInAssetIdForAccount_") + r)
40+
41+
42+func t (q,r) = ((q + "_ticketForAccount_") + r)
43+
44+
45+func u (q) = (q + "_tournamentTotalBuyInCollectedAmount")
46+
47+
48+func v (q) = (q + "_tournamentTotalBuyInCollectedAmountMinusFees")
49+
50+
51+func w (q) = (q + "_tournamentCreator")
52+
53+
54+func x (q) = (q + "_tournamentName")
55+
56+
57+func y (q) = (q + "_tournamentPrizeAmount")
58+
59+
60+func z (q) = (q + "_tournamentMaxPlayersCount")
61+
62+
63+func A (q) = (q + "_tournamentPlayersCount")
64+
65+
66+func B (q) = (q + "_tournamentPrizeAssetId")
67+
68+
69+func C (q) = (q + "_tournamentPrizeAssetName")
70+
71+
72+func D (q) = (q + "_tournamentBuyInAmount")
73+
74+
75+func E (q) = (q + "_tournamentBuyInAssetId")
76+
77+
78+func F (q) = (q + "_tournamentBuyInAssetName")
79+
80+
81+func G (q) = (q + "_tournamentBuyInAssetDecimals")
82+
83+
84+func H (q) = (q + "_tournamentPrizeAssetDecimals")
85+
86+
87+func I (q) = (q + "_tournamentStatus")
88+
89+
90+func J (q) = (q + "_tournamentBuyInFeeCollected")
91+
92+
93+func K (q) = (q + "_tournamentServiceFeeCollected")
94+
95+
96+func L (q) = (q + "_tournamentWinningTransactionId")
97+
98+
99+func M (N) = (N + "_winner")
100+
101+
102+func O (P) = (P + "_availableFunds")
103+
104+
105+func Q (P) = (P + "_totalLockedFunds")
106+
107+
108+func R (P) = (P + "_lockedFundsTotalHistory")
109+
110+
111+func S (P,N) = ((P + "_lockedFunds_") + N)
112+
113+
114+func T (P) = (P + "_availableRewards")
115+
116+
117+func U (N,r) = ((N + "_videoPokerBetFor_") + r)
118+
119+
120+func V (N) = (N + "_videoPokerCardsDrawn")
121+
122+
123+func W (N) = (N + "_videoPokerResult")
124+
125+
126+func X (N) = (N + "_videoPokerResultProfit")
127+
128+
129+func Y (N) = (N + "_videoPokerStatus")
130+
131+
132+func Z (N) = (N + "_videoPokerPlayerAddress")
133+
134+
135+func aa (o) = j(n(o))
136+
137+
138+func ab (ac) = {
139+ let ad = aa(ac)
140+ let ae = (ad - 1)
141+ if ((0 > ae))
142+ then 0
143+ else ae
144+ }
145+
146+
147+@Callable(af)
148+func setFeeCollectorAddress (ag) = if ((af.caller != this))
149+ then throw("Admin Only")
150+ else [StringEntry(f, ag)]
151+
152+
153+
154+@Callable(af)
155+func depositFunds () = {
156+ let ah = if ((size(af.payments) == 1))
157+ then af.payments[0]
158+ else throw("Please attach exactly one payment")
159+ if ((ah.assetId != fromBase58String(h)))
160+ then throw("You can only deposit USDN")
161+ else {
162+ let ai = toBase58String(af.caller.bytes)
163+ let aj = j(O(ai))
164+ $Tuple2([IntegerEntry(O(ai), (aj + ah.amount))], 1)
165+ }
166+ }
167+
168+
169+
170+@Callable(af)
171+func withdrawFunds () = {
172+ let ai = toBase58String(af.caller.bytes)
173+ let aj = j(O(ai))
174+ $Tuple2([IntegerEntry(O(ai), 0), ScriptTransfer(addressFromStringValue(ai), aj, fromBase58String(h))], 1)
175+ }
176+
177+
178+
179+@Callable(af)
180+func finishDiceGame (ak,al,am) = if ((af.caller != this))
181+ then throw("Admin Only")
182+ else {
183+ let aj = j(O(ak))
184+ let an = if ((al > aj))
185+ then throw("Not enough available funds to cover the bet!")
186+ else true
187+ if ((an == an))
188+ then $Tuple2([IntegerEntry(O(ak), ((aj - al) + fraction(al, am, 10000))), ScriptTransfer(addressFromStringValue(ak), aj, fromBase58String(h))], 1)
189+ else throw("Strict value is not equal to itself.")
190+ }
191+
192+
193+
194+@Callable(af)
195+func cancelSignUpToTournament (q) = {
196+ let ao = getStringValue(I(q))
197+ if ((ao != "registration"))
198+ then throw("Tournament is not in registration phase!")
199+ else {
200+ let ai = toBase58String(af.caller.bytes)
201+ let ap = getIntegerValue(p(q, ai))
202+ let aq = getStringValue(s(q, ai))
203+ let ar = j(A(q))
204+ let as = (j(u(q)) - ap)
205+ let at = fraction(as, g, 100)
206+ $Tuple2([ScriptTransfer(addressFromStringValue(ai), ap, fromBase58String(aq)), DeleteEntry(t(q, ai)), DeleteEntry(p(q, ai)), DeleteEntry(s(q, ai)), IntegerEntry(A(q), (ar - 1)), IntegerEntry(u(q), as), IntegerEntry(v(q), (as - at))], 1)
207+ }
208+ }
209+
210+
211+
212+@Callable(af)
213+func signUpToTournament (q) = {
214+ let au = getIntegerValue(this, z(q))
215+ let ar = j(A(q))
216+ let ao = getStringValue(I(q))
217+ if (if ((ao != "registration"))
218+ then (ao != "started")
219+ else false)
220+ then throw("Tournament is not in registration phase!")
221+ else if ((ar == au))
222+ then throw("Tournament is currently full, please try again later!")
223+ else {
224+ let ah = if ((size(af.payments) == 1))
225+ then af.payments[0]
226+ else throw("Please attach exactly one payment")
227+ let av = {
228+ let l = ah.assetId
229+ if ($isInstanceOf(l, "Unit"))
230+ then {
231+ let m = l
232+ ""
233+ }
234+ else if ($isInstanceOf(l, "ByteVector"))
235+ then {
236+ let m = l
237+ toBase58String(m)
238+ }
239+ else throw("Match error")
240+ }
241+ let aw = getIntegerValue(this, D(q))
242+ let ax = getStringValue(this, E(q))
243+ if ((aw != ah.amount))
244+ then throw(("Attached payment amount is invalid, must be " + toString(aw)))
245+ else if ((ax != av))
246+ then throw(("Attached payment asset id is invalid, must be " + ax))
247+ else {
248+ let ai = toBase58String(af.caller.bytes)
249+ let as = (j(u(q)) + ah.amount)
250+ let at = fraction(as, g, 100)
251+ $Tuple2([BooleanEntry(t(q, ai), true), IntegerEntry(p(q, ai), ah.amount), StringEntry(s(q, ai), av), IntegerEntry(A(q), (ar + 1)), IntegerEntry(u(q), as), IntegerEntry(v(q), (as - at))], 1)
252+ }
253+ }
254+ }
255+
256+
257+
258+@Callable(af)
259+func cancelTournament (q) = {
260+ let ai = toBase58String(af.caller.bytes)
261+ let ay = getStringValue(w(q))
262+ let az = if ((ay == ai))
263+ then true
264+ else if ((af.caller == this))
265+ then true
266+ else throw("Only tournament creator can cancel it!")
267+ if ((az == az))
268+ then {
269+ let ao = getStringValue(I(q))
270+ if (if ((af.caller != this))
271+ then (ao != "registration")
272+ else false)
273+ then throw("Tournament is not in registration phase!")
274+ else {
275+ let ar = j(A(q))
276+ if ((ar > 0))
277+ then throw("Cannot cancel a tournament when players are already registered to it!")
278+ else {
279+ let aA = getIntegerValue(y(q))
280+ let aB = getStringValue(B(q))
281+ $Tuple2([DeleteEntry(y(q)), DeleteEntry(A(q)), DeleteEntry(z(q)), DeleteEntry(B(q)), DeleteEntry(C(q)), DeleteEntry(H(q)), DeleteEntry(I(q)), DeleteEntry(D(q)), DeleteEntry(F(q)), DeleteEntry(G(q)), DeleteEntry(E(q)), DeleteEntry(x(q)), DeleteEntry(w(q)), ScriptTransfer(addressFromStringValue(ay), aA, fromBase58String(aB))], 1)
282+ }
283+ }
284+ }
285+ else throw("Strict value is not equal to itself.")
286+ }
287+
288+
289+
290+@Callable(af)
291+func createTournament (q,aC,aD,aE,aF) = {
292+ let ah = if ((size(af.payments) == 1))
293+ then af.payments[0]
294+ else {
295+ let ai = toBase58String(af.caller.bytes)
296+ if ((ai == i))
297+ then AttachedPayment(unit, 0)
298+ else throw("Please attach exactly one payment")
299+ }
300+ let ay = {
301+ let l = getString(w(q))
302+ if ($isInstanceOf(l, "String"))
303+ then {
304+ let aG = l
305+ throw(("Tournament already exists with this id " + q))
306+ }
307+ else unit
308+ }
309+ if ((ay == ay))
310+ then {
311+ let aH = {
312+ let l = ah.assetId
313+ if ($isInstanceOf(l, "Unit"))
314+ then {
315+ let m = l
316+ ""
317+ }
318+ else if ($isInstanceOf(l, "ByteVector"))
319+ then {
320+ let m = l
321+ toBase58String(m)
322+ }
323+ else throw("Match error")
324+ }
325+ let aI = {
326+ let l = ah.assetId
327+ if ($isInstanceOf(l, "Unit"))
328+ then {
329+ let m = l
330+["Waves", 8]
331+ }
332+ else if ($isInstanceOf(l, "ByteVector"))
333+ then {
334+ let m = l
335+ let aJ = assetInfo(m)
336+ if ($isInstanceOf(aJ, "Asset"))
337+ then {
338+ let aK = aJ
339+[aK.name, aK.decimals]
340+ }
341+ else throw("Can't find asset")
342+ }
343+ else throw("Match error")
344+ }
345+ let aL = {
346+ let l = assetInfo(fromBase58String(aF))
347+ if ($isInstanceOf(l, "Asset"))
348+ then {
349+ let aK = l
350+[aK.name, aK.decimals]
351+ }
352+ else ["", 0]
353+ }
354+ let ai = toBase58String(af.caller.bytes)
355+ $Tuple2([IntegerEntry(y(q), ah.amount), IntegerEntry(A(q), 0), IntegerEntry(z(q), aD), StringEntry(B(q), aH), StringEntry(C(q), {
356+ let aM = aI[0]
357+ if ($isInstanceOf(aM, "String"))
358+ then aM
359+ else throw(($getType(aM) + " couldn't be cast to String"))
360+ }), IntegerEntry(H(q), {
361+ let aM = aI[1]
362+ if ($isInstanceOf(aM, "Int"))
363+ then aM
364+ else throw(($getType(aM) + " couldn't be cast to Int"))
365+ }), StringEntry(I(q), "registration"), IntegerEntry(D(q), aE), StringEntry(F(q), {
366+ let aM = aL[0]
367+ if ($isInstanceOf(aM, "String"))
368+ then aM
369+ else throw(($getType(aM) + " couldn't be cast to String"))
370+ }), IntegerEntry(G(q), {
371+ let aM = aL[1]
372+ if ($isInstanceOf(aM, "Int"))
373+ then aM
374+ else throw(($getType(aM) + " couldn't be cast to Int"))
375+ }), StringEntry(E(q), aF), StringEntry(x(q), aC), StringEntry(w(q), ai)], 1)
376+ }
377+ else throw("Strict value is not equal to itself.")
378+ }
379+
380+
381+
382+@Callable(af)
383+func startTournament (q) = if ((af.caller != this))
384+ then throw("Admin Only")
385+ else $Tuple2([StringEntry(I(q), "started")], 1)
386+
387+
388+
389+@Callable(af)
390+func finishTournament (q,aN) = if ((af.caller != this))
391+ then throw("Admin Only")
392+ else {
393+ let ay = getStringValue(w(q))
394+ let aO = j(u(q))
395+ let aP = getIntegerValue(D(q))
396+ let aQ = {
397+ let l = getString(E(q))
398+ if ($isInstanceOf(l, "String"))
399+ then {
400+ let aR = l
401+ if ((aR == ""))
402+ then unit
403+ else fromBase58String(aR)
404+ }
405+ else unit
406+ }
407+ let aS = fraction(aO, g, 100)
408+ let aA = getIntegerValue(y(q))
409+ if ((aA > 0))
410+ then $Tuple2([StringEntry(L(q), aN), StringEntry(I(q), "finished"), IntegerEntry(J(q), aS), ScriptTransfer(addressFromStringValue(ay), (aO - aS), aQ)], 1)
411+ else {
412+ let aT = fraction(aS, 20, 100)
413+ $Tuple2([StringEntry(L(q), aN), StringEntry(I(q), "finished"), IntegerEntry(J(q), aS), IntegerEntry(K(q), aT), ScriptTransfer(addressFromStringValue(ay), (aS - aT), aQ)], 1)
414+ }
415+ }
416+
417+
418+
419+@Callable(af)
420+func playerExitGame (N,ac,aU) = if ((af.caller != this))
421+ then throw("Admin Only")
422+ else {
423+ let aV = j(Q(ac))
424+ let aW = j(S(ac, N))
425+ $Tuple2([IntegerEntry(Q(ac), (aV - aW)), IntegerEntry(S(ac, N), 0), ScriptTransfer(addressFromStringValue(ac), aU, fromBase58String(h))], 1)
426+ }
427+
428+
429+
430+@Callable(af)
431+func lockFundsForGame (N) = {
432+ let ah = if ((size(af.payments) == 1))
433+ then af.payments[0]
434+ else throw("Please attach exactly one payment")
435+ if ((ah.assetId != fromBase58String(h)))
436+ then throw("You can only deposit USDN")
437+ else {
438+ let ai = toBase58String(af.caller.bytes)
439+ let aV = j(Q(ai))
440+ let aX = j(R(ai))
441+ $Tuple2([IntegerEntry(Q(ai), (aV + ah.amount)), IntegerEntry(R(ai), (aX + ah.amount)), IntegerEntry(S(ai, N), ah.amount)], 1)
442+ }
443+ }
444+
445+
446+
447+@Callable(af)
448+func betOnVideoPokerGame (N) = {
449+ let ah = if ((size(af.payments) == 1))
450+ then af.payments[0]
451+ else throw("Please attach exactly one payment")
452+ if ((ah.assetId != fromBase58String(h)))
453+ then throw("You can only deposit USDN")
454+ else {
455+ let ai = toBase58String(af.caller.bytes)
456+ $Tuple2([IntegerEntry(U(N, ai), ah.amount), StringEntry(Z(N), ai), StringEntry(Y(N), "created")], 1)
457+ }
458+ }
459+
460+
461+
462+@Callable(af)
463+func finishVideoPokerGame (N,aY,aZ) = if ((af.caller != this))
464+ then throw("Admin Only")
465+ else {
466+ let ac = getStringValue(Z(N))
467+ let ba = getIntegerValue(U(N, ac))
468+ let bb = getStringValue(Y(N))
469+ let bc = if ((bb == "created"))
470+ then true
471+ else throw("Game is not in the correct status!")
472+ if ((bc == bc))
473+ then {
474+ let bd = if ((aY == "Pair, J's"))
475+ then 1
476+ else if ((aY == "Pair, Q's"))
477+ then 1
478+ else if ((aY == "Pair, K's"))
479+ then 1
480+ else if ((aY == "Pair, A's"))
481+ then 1
482+ else if ((aY == "Two Pair"))
483+ then 2
484+ else if ((aY == "Three of a Kind"))
485+ then 3
486+ else if ((aY == "Straight"))
487+ then 4
488+ else if ((aY == "Flush"))
489+ then 6
490+ else if ((aY == "Full House"))
491+ then 9
492+ else if ((aY == "Four of a Kind"))
493+ then 25
494+ else if ((aY == "Straight Flush"))
495+ then 50
496+ else if ((aY == "Royal Flush"))
497+ then 800
498+ else 0
499+ if ((bd == bd))
500+ then {
501+ let be = (ba * bd)
502+ $Tuple2([StringEntry(V(N), aZ), StringEntry(W(N), aY), IntegerEntry(X(N), be), StringEntry(Y(N), "finished"), ScriptTransfer(addressFromStringValue(ac), be, fromBase58String(h))], 1)
503+ }
504+ else throw("Strict value is not equal to itself.")
505+ }
506+ else throw("Strict value is not equal to itself.")
507+ }
508+
509+
510+@Verifier(bf)
511+func bg () = sigVerify(bf.bodyBytes, bf.proofs[0], bf.senderPublicKey)
512+

github/deemru/w8io/873ac7e 
31.49 ms