tx · GwzisNzvovBpWiYkmGRb9B1f4s6y5Z4DscLeMXZTa3xj

3N2EM5HFgf6UMBnvcJX3Cegmozwdv1iDeq2:  -0.01500000 Waves

2019.10.25 14:52 [735616] smart account 3N2EM5HFgf6UMBnvcJX3Cegmozwdv1iDeq2 > SELF 0.00000000 Waves

{ "type": 13, "id": "GwzisNzvovBpWiYkmGRb9B1f4s6y5Z4DscLeMXZTa3xj", "fee": 1500000, "feeAssetId": null, "timestamp": 1572004378475, "version": 1, "sender": "3N2EM5HFgf6UMBnvcJX3Cegmozwdv1iDeq2", "senderPublicKey": "8y2Uc9uYf5gRD6Dzm1aC73zYe3LZvtVDUVAnAhNdN2mg", "proofs": [ "3XM5KbQ6xUXRQHUkXZDh7icKHGUJcUc62pZpSF11sM31j7HYV3zcNYZqEUrfVjQQXns7M51g1MtUpS3PnDu7k87W" ], "script": "base64:AAIDAAAAAAAAAD8IARIDCgEIEgMKAQgSBQoDAQEIEgQKAggBEgQKAggIEgQKAggBEgMKAQgSAwoBCBIECgIICBIDCgEIEgMKAQgAAAAxAAAAAANkYXkAAAAAAAAABaAAAAAABVdBVkVTBQAAAAR1bml0AAAAAAR3QlRDAQAAACBs+mr/xe2qjAt/tSqT0qIML4KC23R6BIxT+/0TH3Og/wAAAAAEd0VVUgEAAAAg7BZhBF97kSFBBjs38+fX1Pjz08YOqoCX85C/0PoVupkAAAAABHdVU0QBAAAAIN0cvQHwz3UFMHgHsqi2OJjRRd1cH7ozWuNAb/pmWXD9AAAAAAlhdWN0VG9rZW4BAAAAAQAAAAAACXN0YXRlT3BlbgIAAAAGT3BlbmVkAAAAAA5zdGF0ZVN1Z2dlc3RlZAIAAAAJU3VnZ2VzdGVkAAAAAAtzdGF0ZUNhbmNlbAIAAAAIQ2FuY2VsZWQAAAAAD3N0YXRlSW5Qcm9ncmVzcwIAAAAKSW5Qcm9ncmVzcwAAAAARc3RhdGVXYWl0NENvbmZpcm0CAAAAE1dhaXRGb3JDb25maXJtYXRpb24AAAAADXN0YXRlQ29tcGxldGUCAAAACUNvbXBsZXRlZAAAAAAMc3RhdGVEaXNwdXRlAgAAAAdEaXNwdXRlAAAAABRzdGF0ZURpc3B1dGVSZXNvbHZlZAIAAAAPRGlzcHV0ZVJlc29sdmVkAAAAAAZjbGllbnQCAAAAAkNMAAAAAApmcmVlbGFuY2VyAgAAAAJGTAAAAAALYW1iYXNzYWRvcjECAAAALEZuZUNKcU01QlAyZUF1eXRlTWl1RUVIWUFMckU0YXhoRWZjcEhWR2JkcjVzAAAAAAthbWJhc3NhZG9yMgIAAAAsNlFBTWRzc2IxR0pqcFFWUVFjbng4ZktVOFdodGNGOVpzUWhpZmRUaEFFSzgAAAAAC2FtYmFzc2Fkb3IzAgAAACwyaXR1d1c3RFNSc0xQM1ZjYm5wcjk4UVVRTUdGUldLbXlZUEZxc1VLUkRvUAAAAAALYW1iYXNzYWRvcjQCAAAALEFOc1BRb2NFRVN5TGIzeVFxazJwd0Nkb0s3UEpReExvWlZwWXZzbTNTeFVHAAAAAAthbWJhc3NhZG9yNQIAAAAsMTNWaXh3UWluMU16WkN5WTY5TlNXTVNCTkVWMjdSemMxNTlvN3VaWFI5VlMBAAAABmdldEludAAAAAEAAAADa2V5BAAAABB2YWx1ZUpvYnNPbkdvaW5nCQAEGgAAAAIFAAAABHRoaXMFAAAAA2tleQQAAAAHJG1hdGNoMAUAAAAQdmFsdWVKb2JzT25Hb2luZwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAAAQAAABJBc3NldElkVG9Bc3NldE5hbWUAAAABAAAACnBtdEFzc2V0SWQDCQEAAAABIQAAAAEJAQAAAAlpc0RlZmluZWQAAAABBQAAAApwbXRBc3NldElkAgAAAAVXQVZFUwMJAAAAAAAAAgUAAAAKcG10QXNzZXRJZAUAAAAEd0JUQwIAAAADQlRDAwkAAAAAAAACBQAAAApwbXRBc3NldElkBQAAAAR3RVVSAgAAAANFVVIDCQAAAAAAAAIFAAAACnBtdEFzc2V0SWQFAAAABHdVU0QCAAAAA1VTRAMJAAAAAAAAAgUAAAAKcG10QXNzZXRJZAUAAAAJYXVjdFRva2VuAgAAAARBVUNUCQAAAgAAAAECAAAAFEFzc2V0SWQgaXMgaW5jb3JyZWN0AQAAABJBc3NldE5hbWVUb0Fzc2V0SWQAAAABAAAAEGF1Y3Rpb25Bc3NldE5hbWUDCQAAAAAAAAIFAAAAEGF1Y3Rpb25Bc3NldE5hbWUCAAAABVdBVkVTBQAAAAVXQVZFUwMJAAAAAAAAAgUAAAAQYXVjdGlvbkFzc2V0TmFtZQIAAAADQlRDBQAAAAR3QlRDAwkAAAAAAAACBQAAABBhdWN0aW9uQXNzZXROYW1lAgAAAANFVVIFAAAABHdFVVIDCQAAAAAAAAIFAAAAEGF1Y3Rpb25Bc3NldE5hbWUCAAAAA1VTRAUAAAAEd1VTRAMJAAAAAAAAAgUAAAAQYXVjdGlvbkFzc2V0TmFtZQIAAAAEQVVDVAUAAAAJYXVjdFRva2VuCQAAAgAAAAECAAAAEkluY29ycmVjdCBBc3NldCBJZAEAAAAJdGltZUNoZWNrAAAAAwAAAAtjdXJyZW50VGltZQAAAAlzdGFydFRpbWUAAAAOZXhwaXJhdGlvblRpbWUJAABmAAAAAgkAAGUAAAACBQAAAAtjdXJyZW50VGltZQUAAAAJc3RhcnRUaW1lBQAAAA5leHBpcmF0aW9uVGltZQEAAAAOYmlkQW1vdW50Q2hlY2sAAAACAAAABmFtb3VudAAAAAxhdWN0aW9uUHJpY2UDCQAAZgAAAAIFAAAABmFtb3VudAUAAAAMYXVjdGlvblByaWNlCQAAAgAAAAECAAAAM0JpZCBhbW91bnQgbXVzdCBiZSBsb3dlciBvciBlcXVhbCB0aGFuIGF1Y3Rpb25QcmljZQUAAAAGYW1vdW50AQAAABZpbmNyZWFzZUZyZWV6ZWRCYWxhbmNlAAAAAgAAAAxwbXRBc3NldE5hbWUAAAAMYXVjdGlvblByaWNlBAAAAA9rZXlGcmVlemVkRnVuZHMJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAAxwbXRBc3NldE5hbWUCAAAACF9GcmVlemVkBAAAABVjdXJyZW50RnJlZXplZEJhbGFuY2UEAAAAByRtYXRjaDAFAAAAD2tleUZyZWV6ZWRGdW5kcwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAACQAAZAAAAAIFAAAAFWN1cnJlbnRGcmVlemVkQmFsYW5jZQUAAAAMYXVjdGlvblByaWNlAQAAABZkZWNyZWFzZUZyZWV6ZWRCYWxhbmNlAAAAAgAAAAxwbXRBc3NldE5hbWUAAAAMYXVjdGlvblByaWNlBAAAAA9rZXlGcmVlemVkRnVuZHMJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAAxwbXRBc3NldE5hbWUCAAAACF9GcmVlemVkBAAAABVjdXJyZW50RnJlZXplZEJhbGFuY2UEAAAAByRtYXRjaDAFAAAAD2tleUZyZWV6ZWRGdW5kcwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAAAFhCQAAZQAAAAIFAAAAFWN1cnJlbnRGcmVlemVkQmFsYW5jZQUAAAAMYXVjdGlvblByaWNlAwkAAGcAAAACBQAAAAFhAAAAAAAAAAAABQAAAAFhCQAAAgAAAAECAAAAJkZyZWV6ZWQgYW1vdW50IGNvdWxkbid0IGJlIGxlc3MgdGhhbiAwAQAAABBjbGllbnRSZWdpc3RlcmVkAAAAAQAAAAljYWxsZXJQdWIEAAAAFmZyZWVsYW5jZXJJc1JlZ2lzdGVyZWQJAAQdAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAAljYWxsZXJQdWICAAAAC19GcmVlbGFuY2VyBAAAAAckbWF0Y2gwBQAAABZmcmVlbGFuY2VySXNSZWdpc3RlcmVkAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAWEFAAAAByRtYXRjaDAFAAAACWNhbGxlclB1YgkAAAIAAAABAgAAACNPbmx5IHJlZ2lzdGVyZWQgdXNlcnMgY2FuIG1ha2UgYmV0cwEAAAAUZnJlZWxhbmNlclJlZ2lzdGVyZWQAAAABAAAACWNhbGxlclB1YgQAAAAWZnJlZWxhbmNlcklzUmVnaXN0ZXJlZAkABB0AAAACBQAAAAR0aGlzCQABLAAAAAIFAAAACWNhbGxlclB1YgIAAAALX0ZyZWVsYW5jZXIEAAAAByRtYXRjaDAFAAAAFmZyZWVsYW5jZXJJc1JlZ2lzdGVyZWQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABYQUAAAAHJG1hdGNoMAUAAAAJY2FsbGVyUHViCQAAAgAAAAECAAAAI09ubHkgcmVnaXN0ZXJlZCB1c2VycyBjYW4gbWFrZSBiZXRzAQAAABdjcmVhdGVBdWN0aW9uUHJpY2VDaGVjawAAAAEAAAAJcG10QW1vdW50AwkAAGYAAAACBQAAAAlwbXRBbW91bnQAAAAAAAAAAAAFAAAACXBtdEFtb3VudAkAAAIAAAABAgAAABxBbW91bnQgbXVzdCBiZSBoaWdoZXIgdGhlbiAwAQAAAA9nZXRBdWN0aW9uU3RhdGUAAAABAAAACWF1Y3Rpb25JZAQAAAAKdmFsdWVTdGF0ZQkABB0AAAACBQAAAAR0aGlzCQABLAAAAAIFAAAACWF1Y3Rpb25JZAIAAAAGX1N0YXRlBAAAAAckbWF0Y2gwBQAAAAp2YWx1ZVN0YXRlAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEJAAACAAAAAQIAAAAbQXVjdGlvbiBTdGF0ZSB3YXMgbm90IGZvdW5kAQAAABNnZXRBdWN0aW9uQ2xpZW50UHViAAAAAQAAAAlhdWN0aW9uSWQEAAAADnZhbHVlQ2xpZW50UHViCQAEHQAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAAJYXVjdGlvbklkAgAAAA5fQXVjdGlvbkNsaWVudAQAAAAHJG1hdGNoMAUAAAAOdmFsdWVDbGllbnRQdWIDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQkAAAIAAAABAgAAABxBdWN0aW9uIENsaWVudCB3YXMgbm90IGZvdW5kAQAAABNnZXRBdWN0aW9uU3RhcnRUaW1lAAAAAQAAAAlhdWN0aW9uSWQEAAAAEXZhbHVlQXVjdGlvblN0YXJ0CQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAAJYXVjdGlvbklkAgAAAA1fQXVjdGlvblN0YXJ0BAAAAAckbWF0Y2gwBQAAABF2YWx1ZUF1Y3Rpb25TdGFydAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhCQAAAgAAAAECAAAAIEF1Y3Rpb24gU3RhcnQgdGltZSB3YXMgbm90IGZvdW5kAQAAABZnZXRBdWN0aW9uRHVyYXRpb25UaW1lAAAAAQAAAAlhdWN0aW9uSWQEAAAAFHZhbHVlYXVjdGlvbkR1cmF0aW9uCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAAJYXVjdGlvbklkAgAAABBfQXVjdGlvbkR1cmF0aW9uBAAAAAckbWF0Y2gwBQAAABR2YWx1ZWF1Y3Rpb25EdXJhdGlvbgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhCQAAAgAAAAECAAAAI0F1Y3Rpb24gZHVyYXRpb24gdGltZSB3YXMgbm90IGZvdW5kAQAAABxnZXRBdWN0aW9uSm9iUGVyZm9ybWFuY2VUaW1lAAAAAQAAAAlhdWN0aW9uSWQEAAAAF3ZhbHVlQmxvY2tzRm9yRXhlY3V0aW9uCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAAJYXVjdGlvbklkAgAAAA9fSm9iUGVyZm9ybWFuY2UEAAAAByRtYXRjaDAFAAAAF3ZhbHVlQmxvY2tzRm9yRXhlY3V0aW9uAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEJAAACAAAAAQIAAAAqQXVjdGlvbiBqb2IgcGVyZm9ybWFuY2UgdGltZSB3YXMgbm90IGZvdW5kAQAAABNnZXRBdWN0aW9uQXNzZXROYW1lAAAAAQAAAAlhdWN0aW9uSWQEAAAADnZhbHVlQXNzZXROYW1lCQAEHQAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAAJYXVjdGlvbklkAgAAAApfQXNzZXROYW1lBAAAAAckbWF0Y2gwBQAAAA52YWx1ZUFzc2V0TmFtZQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhCQAAAgAAAAECAAAAIEF1Y3Rpb24gYXNzZXQgbmFtZSB3YXMgbm90IGZvdW5kAQAAAA9nZXRBdWN0aW9uUHJpY2UAAAABAAAACWF1Y3Rpb25JZAQAAAAKdmFsdWVQcmljZQkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAACWF1Y3Rpb25JZAIAAAAGX1ByaWNlBAAAAAckbWF0Y2gwBQAAAAp2YWx1ZVByaWNlAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEJAAACAAAAAQIAAAAbQXVjdGlvbiBwcmljZSB3YXMgbm90IGZvdW5kAQAAABdnZXRBdWN0aW9uRnJlZWxhbmNlclB1YgAAAAEAAAAJYXVjdGlvbklkBAAAAAt2YWx1ZUNsaWVudAkABB0AAAACBQAAAAR0aGlzCQABLAAAAAIFAAAACWF1Y3Rpb25JZAIAAAAQX0hpcmVkRnJlZWxhbmNlcgQAAAAHJG1hdGNoMAUAAAALdmFsdWVDbGllbnQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQkAAAIAAAABAgAAABxBdWN0aW9uIENsaWVudCB3YXMgbm90IGZvdW5kAQAAABZnZXRBdWN0aW9uTG93ZXN0QmlkZGVyAAAAAQAAAAlhdWN0aW9uSWQEAAAAEXZhbHVlTG93ZXN0QmlkZGVyCQAEHQAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAAJYXVjdGlvbklkAgAAABBfTG93ZXN0QmlkZGVyUHViBAAAAAckbWF0Y2gwBQAAABF2YWx1ZUxvd2VzdEJpZGRlcgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhCQAAAgAAAAECAAAAI0F1Y3Rpb24gbG93ZXN0IGJpZGRlciB3YXMgbm90IGZvdW5kAQAAAAZnZXRCaWQAAAACAAAACWF1Y3Rpb25JZAAAABNhdWN0aW9uTG93ZXN0QmlkZGVyBAAAABR2YWx1ZU5ld0F1Y3Rpb25QcmljZQkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgUAAAAJYXVjdGlvbklkAgAAAAVfQmlkXwUAAAATYXVjdGlvbkxvd2VzdEJpZGRlcgQAAAAHJG1hdGNoMAUAAAAUdmFsdWVOZXdBdWN0aW9uUHJpY2UDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQkAAAIAAAABAgAAACBBdWN0aW9uIGxvd2VzdCBiaWQgd2FzIG5vdCBmb3VuZAEAAAAVZGVmaW5lTmV3TG93ZXN0QmlkZGVyAAAABAAAAAlhdWN0aW9uSWQAAAAWY3VycmVudExvd2VzdEJpZGRlclB1YgAAAAliaWRBbW91bnQAAAANbmV3RnJlZWxhbmNlcgQAAAAVdmFsdWVDdXJyZW50TG93ZXN0QmlkCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkAASwAAAACBQAAAAlhdWN0aW9uSWQCAAAABV9CaWRfBQAAABZjdXJyZW50TG93ZXN0QmlkZGVyUHViBAAAABBjdXJyZW50TG93ZXN0QmlkBAAAAAckbWF0Y2gwBQAAABV2YWx1ZUN1cnJlbnRMb3dlc3RCaWQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQkAAAIAAAABAgAAACBBdWN0aW9uIGxvd2VzdCBiaWQgd2FzIG5vdCBmb3VuZAMJAABmAAAAAgUAAAAQY3VycmVudExvd2VzdEJpZAUAAAAJYmlkQW1vdW50BQAAAA1uZXdGcmVlbGFuY2VyBQAAABZjdXJyZW50TG93ZXN0QmlkZGVyUHViAQAAABZjaG9vc2VkRnJlZWxhbmNlckNoZWNrAAAAAgAAAAlhdWN0aW9uSWQAAAANZnJlZWxhbmNlclB1YgQAAAANbmV3RnJlZWxhbmNlcgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgUAAAAJYXVjdGlvbklkAgAAAAVfQmlkXwUAAAANZnJlZWxhbmNlclB1YgQAAAAHJG1hdGNoMAUAAAANbmV3RnJlZWxhbmNlcgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAA1mcmVlbGFuY2VyUHViCQAAAgAAAAECAAAAHkVycm9yOiBJbmNvcnJlY3QgZnJlZWxhbmNlclB1YgEAAAAVbmV3RXhlY3V0aW9uVGltZUNoZWNrAAAAAgAAAA1leGVjdXRpb25EYXlzAAAAGWF1Y3Rpb25CbG9ja3NGb3JFeGVjdXRpb24EAAAAHG5ld0F1Y3Rpb25CbG9ja3NGb3JFeGVjdXRpb24JAABoAAAAAgUAAAANZXhlY3V0aW9uRGF5cwUAAAADZGF5AwkAAGYAAAACBQAAABxuZXdBdWN0aW9uQmxvY2tzRm9yRXhlY3V0aW9uBQAAABlhdWN0aW9uQmxvY2tzRm9yRXhlY3V0aW9uBQAAABxuZXdBdWN0aW9uQmxvY2tzRm9yRXhlY3V0aW9uCQAAAgAAAAECAAAAOE5ldyBleGVjdXRpb24gdGltZSBtdXN0IG1vcmUgdGhhbiBjdXJyZW50IGV4ZWN1dGlvbiB0aW1lAQAAAAlnZXRSYXRpbmcAAAABAAAAEWF1Y3Rpb25GcmVlbGFuY2VyBAAAAAt2YWx1ZVJhdGluZwkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAAEWF1Y3Rpb25GcmVlbGFuY2VyAgAAAAdfUmF0aW5nBAAAAAckbWF0Y2gwBQAAAAt2YWx1ZVJhdGluZwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAAAQAAABJjYWxsZXJJc0FtYmFzc2Fkb3IAAAABAAAACWNhbGxlclB1YgMDAwMDCQAAAAAAAAIFAAAACWNhbGxlclB1YgUAAAALYW1iYXNzYWRvcjEGCQAAAAAAAAIFAAAACWNhbGxlclB1YgUAAAALYW1iYXNzYWRvcjIGCQAAAAAAAAIFAAAACWNhbGxlclB1YgUAAAALYW1iYXNzYWRvcjMGCQAAAAAAAAIFAAAACWNhbGxlclB1YgUAAAALYW1iYXNzYWRvcjQGCQAAAAAAAAIFAAAACWNhbGxlclB1YgUAAAALYW1iYXNzYWRvcjUFAAAACWNhbGxlclB1YgkAAAIAAAABAgAAAC1Pbmx5IGRlZmluZWQgYW1iYXNzYWRvcnMgY2FuIHZvdGUgaW4gZGlzcHV0ZXMBAAAAE2FtYmFzc2Fkb3JWb3RlQ2hlY2sAAAADAAAACWF1Y3Rpb25JZAAAAA1hbWJhc3NhZG9yUHViAAAABHZvdGUEAAAACGtleVZvdGVyCQABLAAAAAIJAAEsAAAAAgUAAAAJYXVjdGlvbklkAgAAAAxfRGlwdXRlVm90ZV8FAAAADWFtYmFzc2Fkb3JQdWIEAAAACnZhbHVlVm90ZXIJAAQdAAAAAgUAAAAEdGhpcwUAAAAIa2V5Vm90ZXIEAAAAD2FtYmFzc2Fkb3JWb3RlZAQAAAAHJG1hdGNoMAUAAAAKdmFsdWVWb3RlcgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFhBQAAAAckbWF0Y2gwBgcDBQAAAA9hbWJhc3NhZG9yVm90ZWQJAAACAAAAAQIAAAAZQW1iYXNzYWRvciB2b3RlZCBhbHJlYWR5IAMDCQAAAAAAAAIFAAAABHZvdGUFAAAABmNsaWVudAYJAAAAAAAAAgUAAAAEdm90ZQUAAAAKZnJlZWxhbmNlcgUAAAAEdm90ZQkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAABxWb3RlIGlzIGluY29ycmVjdC4gTXVzdCBiZTogBQAAAAZjbGllbnQCAAAABCBvciAFAAAACmZyZWVsYW5jZXIBAAAADmdldFZvdGVzTnVtYmVyAAAAAQAAAAlhdWN0aW9uSWQEAAAAEHZhbHVlVm90ZXNOdW1iZXIJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAAlhdWN0aW9uSWQCAAAADV9EaXNwdXRlVm90ZXMEAAAAByRtYXRjaDAFAAAAEHZhbHVlVm90ZXNOdW1iZXIDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQkAAAIAAAABAgAAABlWb3Rlc051bWJlciB3YXMgbm90IGZvdW5kAQAAABNkZWZpbmVEaXNwdXRlV2lubmVyAAAABAAAAAlhdWN0aW9uSWQAAAAHbmV3Vm90ZQAAAA1hdWN0aW9uQ2xpZW50AAAAEWF1Y3Rpb25GcmVlbGFuY2VyBAAAAA9hbWJhc3NhZG9yMVZvdGUJAAQdAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAIFAAAACWF1Y3Rpb25JZAIAAAAMX0RpcHV0ZVZvdGVfBQAAAAthbWJhc3NhZG9yMQQAAAAPYW1iYXNzYWRvcjJWb3RlCQAEHQAAAAIFAAAABHRoaXMJAAEsAAAAAgkAASwAAAACBQAAAAlhdWN0aW9uSWQCAAAADF9EaXB1dGVWb3RlXwUAAAALYW1iYXNzYWRvcjIEAAAAD2FtYmFzc2Fkb3IzVm90ZQkABB0AAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgUAAAAJYXVjdGlvbklkAgAAAAxfRGlwdXRlVm90ZV8FAAAAC2FtYmFzc2Fkb3IzBAAAAA9hbWJhc3NhZG9yNFZvdGUJAAQdAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAIFAAAACWF1Y3Rpb25JZAIAAAAMX0RpcHV0ZVZvdGVfBQAAAAthbWJhc3NhZG9yNAQAAAAPYW1iYXNzYWRvcjVWb3RlCQAEHQAAAAIFAAAABHRoaXMJAAEsAAAAAgkAASwAAAACBQAAAAlhdWN0aW9uSWQCAAAADF9EaXB1dGVWb3RlXwUAAAALYW1iYXNzYWRvcjUEAAAAAnYxAwkAAAAAAAACBQAAAA9hbWJhc3NhZG9yMVZvdGUFAAAABmNsaWVudAAAAAAAAAAAAQAAAAAAAAAAAAQAAAACdjIDCQAAAAAAAAIFAAAAD2FtYmFzc2Fkb3IyVm90ZQUAAAAGY2xpZW50AAAAAAAAAAABAAAAAAAAAAAABAAAAAJ2MwMJAAAAAAAAAgUAAAAPYW1iYXNzYWRvcjNWb3RlBQAAAAZjbGllbnQAAAAAAAAAAAEAAAAAAAAAAAAEAAAAAnY0AwkAAAAAAAACBQAAAA9hbWJhc3NhZG9yNFZvdGUFAAAABmNsaWVudAAAAAAAAAAAAQAAAAAAAAAAAAQAAAACdjUDCQAAAAAAAAIFAAAAD2FtYmFzc2Fkb3I1Vm90ZQUAAAAGY2xpZW50AAAAAAAAAAABAAAAAAAAAAAABAAAAAtjdXJyZW50Vm90ZQMJAAAAAAAAAgUAAAAHbmV3Vm90ZQUAAAAGY2xpZW50AAAAAAAAAAABAAAAAAAAAAAABAAAAA52b3Rlc0ZvckNsaWVudAkAAGQAAAACCQAAZAAAAAIJAABkAAAAAgkAAGQAAAACCQAAZAAAAAIFAAAAAnYxBQAAAAJ2MgUAAAACdjMFAAAAAnY0BQAAAAJ2NQUAAAALY3VycmVudFZvdGUDCQAAZgAAAAIFAAAADnZvdGVzRm9yQ2xpZW50AAAAAAAAAAACBQAAAA1hdWN0aW9uQ2xpZW50BQAAABFhdWN0aW9uRnJlZWxhbmNlcgAAAAsAAAABaQEAAAAQZnJlZWxhbmNlclNpZ25VcAAAAAEAAAAEaW5mbwQAAAANdXNlclB1YmxpY0tleQkAAlgAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAANdXNlclB1YmxpY0tleQIAAAALX0ZyZWVsYW5jZXIFAAAABGluZm8JAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAANdXNlclB1YmxpY0tleQIAAAAQX1BlbmRpbmdFYXJuaW5ncwAAAAAAAAAAAAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAA11c2VyUHVibGljS2V5AgAAAA1fUGFpZEVhcm5pbmdzAAAAAAAAAAAACQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAADXVzZXJQdWJsaWNLZXkCAAAADl9Ub3RhbEVhcm5pbmdzAAAAAAAAAAAACQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAADXVzZXJQdWJsaWNLZXkCAAAADF9Kb2JzUGVuZGluZwAAAAAAAAAAAAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAA11c2VyUHVibGljS2V5AgAAAA5fSm9ic0NvbXBsZXRlZAAAAAAAAAAAAAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAA11c2VyUHVibGljS2V5AgAAAApfSm9ic1RvdGFsAAAAAAAAAAAABQAAAANuaWwAAAABaQEAAAAMY2xpZW50U2lnblVwAAAAAQAAAARpbmZvBAAAAA11c2VyUHVibGljS2V5CQACWAAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAA11c2VyUHVibGljS2V5AgAAAAdfQ2xpZW50BQAAAARpbmZvCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAADXVzZXJQdWJsaWNLZXkCAAAADF9Kb2JzQ3JlYXRlZAAAAAAAAAAAAAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAA11c2VyUHVibGljS2V5AgAAAAxfSm9ic09uR29pbmcAAAAAAAAAAAAJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAANdXNlclB1YmxpY0tleQIAAAANX0pvYkluRGlzcHV0ZQAAAAAAAAAAAAUAAAADbmlsAAAAAWkBAAAADWNyZWF0ZUF1Y3Rpb24AAAADAAAAEGpvYkV4ZWN1dGlvbkRheXMAAAATYXVjdGlvbkR1cmF0aW9uRGF5cwAAAAthdWN0aW9uSW5mbwQAAAAJY2FsbGVyUHViCQACWAAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQQAAAAJYXVjdGlvbklkCQACWAAAAAEIBQAAAAFpAAAADXRyYW5zYWN0aW9uSWQEAAAADWF1Y3Rpb25DbGllbnQJAQAAABBjbGllbnRSZWdpc3RlcmVkAAAAAQUAAAAJY2FsbGVyUHViBAAAAANwbXQJAQAAAAdleHRyYWN0AAAAAQgFAAAAAWkAAAAHcGF5bWVudAQAAAAJcG10QW1vdW50CAUAAAADcG10AAAABmFtb3VudAQAAAAMYXVjdGlvblByaWNlCQEAAAAXY3JlYXRlQXVjdGlvblByaWNlQ2hlY2sAAAABBQAAAAlwbXRBbW91bnQEAAAADGF1Y3Rpb25TdGFydAUAAAAGaGVpZ2h0BAAAABVhdWN0aW9uRHVyYXRpb25CbG9ja3MJAABoAAAAAgUAAAATYXVjdGlvbkR1cmF0aW9uRGF5cwUAAAADZGF5BAAAABJibG9ja3NGb3JFeGVjdXRpb24JAABoAAAAAgUAAAAQam9iRXhlY3V0aW9uRGF5cwUAAAADZGF5BAAAAAxwbXRBc3NldE5hbWUJAQAAABJBc3NldElkVG9Bc3NldE5hbWUAAAABCAUAAAADcG10AAAAB2Fzc2V0SWQEAAAAC2pvYnNDcmVhdGVkCQEAAAAGZ2V0SW50AAAAAQkAASwAAAACBQAAAA1hdWN0aW9uQ2xpZW50AgAAAAxfSm9ic0NyZWF0ZWQEAAAAEW5ld0ZyZWV6ZWRCYWxhbmNlCQEAAAAWaW5jcmVhc2VGcmVlemVkQmFsYW5jZQAAAAIFAAAADHBtdEFzc2V0TmFtZQUAAAAMYXVjdGlvblByaWNlCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAACWF1Y3Rpb25JZAIAAAAGX1N0YXRlBQAAAAlzdGF0ZU9wZW4JAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAJYXVjdGlvbklkAgAAAAVfSW5mbwUAAAALYXVjdGlvbkluZm8JAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAJYXVjdGlvbklkAgAAAA5fQXVjdGlvbkNsaWVudAUAAAANYXVjdGlvbkNsaWVudAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAAlhdWN0aW9uSWQCAAAADV9BdWN0aW9uU3RhcnQFAAAADGF1Y3Rpb25TdGFydAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAAlhdWN0aW9uSWQCAAAAEF9BdWN0aW9uRHVyYXRpb24FAAAAFWF1Y3Rpb25EdXJhdGlvbkJsb2NrcwkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAAlhdWN0aW9uSWQCAAAAD19Kb2JQZXJmb3JtYW5jZQUAAAASYmxvY2tzRm9yRXhlY3V0aW9uCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAACWF1Y3Rpb25JZAIAAAAKX0Fzc2V0TmFtZQUAAAAMcG10QXNzZXROYW1lCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAACWF1Y3Rpb25JZAIAAAAGX1ByaWNlBQAAAAxhdWN0aW9uUHJpY2UJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAMcG10QXNzZXROYW1lAgAAAAhfRnJlZXplZAUAAAARbmV3RnJlZXplZEJhbGFuY2UJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAANYXVjdGlvbkNsaWVudAIAAAAMX0pvYnNDcmVhdGVkCQAAZAAAAAIFAAAAC2pvYnNDcmVhdGVkAAAAAAAAAAABBQAAAANuaWwAAAABaQEAAAAHbWFrZUJpZAAAAAIAAAAJYXVjdGlvbklkAAAABmFtb3VudAQAAAAJY2FsbGVyUHViCQACWAAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQQAAAAMYXVjdGlvblN0YXRlCQEAAAAPZ2V0QXVjdGlvblN0YXRlAAAAAQUAAAAJYXVjdGlvbklkBAAAAA1hdWN0aW9uQ2xpZW50CQEAAAATZ2V0QXVjdGlvbkNsaWVudFB1YgAAAAEFAAAACWF1Y3Rpb25JZAQAAAAMYXVjdGlvblN0YXJ0CQEAAAATZ2V0QXVjdGlvblN0YXJ0VGltZQAAAAEFAAAACWF1Y3Rpb25JZAQAAAAPYXVjdGlvbkR1cmF0aW9uCQEAAAAWZ2V0QXVjdGlvbkR1cmF0aW9uVGltZQAAAAEFAAAACWF1Y3Rpb25JZAQAAAAZYXVjdGlvbkJsb2Nrc0ZvckV4ZWN1dGlvbgkBAAAAHGdldEF1Y3Rpb25Kb2JQZXJmb3JtYW5jZVRpbWUAAAABBQAAAAlhdWN0aW9uSWQEAAAAEGF1Y3Rpb25Bc3NldE5hbWUJAQAAABNnZXRBdWN0aW9uQXNzZXROYW1lAAAAAQUAAAAJYXVjdGlvbklkBAAAAAxhdWN0aW9uUHJpY2UJAQAAAA9nZXRBdWN0aW9uUHJpY2UAAAABBQAAAAlhdWN0aW9uSWQEAAAAEGF1Y3Rpb25Bc3NldElkNTgJAQAAABJBc3NldE5hbWVUb0Fzc2V0SWQAAAABBQAAABBhdWN0aW9uQXNzZXROYW1lBAAAAA1uZXdGcmVlbGFuY2VyCQEAAAAUZnJlZWxhbmNlclJlZ2lzdGVyZWQAAAABBQAAAAljYWxsZXJQdWIEAAAADmRBcHBDb21taXNzaW9uCQAAaQAAAAIJAABoAAAAAgUAAAAMYXVjdGlvblByaWNlAAAAAAAAAAADAAAAAAAAAABkBAAAABFuZXdGcmVlemVkQmFsYW5jZQkBAAAAFmRlY3JlYXNlRnJlZXplZEJhbGFuY2UAAAACBQAAABBhdWN0aW9uQXNzZXROYW1lBQAAAAxhdWN0aW9uUHJpY2UEAAAACWJpZEFtb3VudAkBAAAADmJpZEFtb3VudENoZWNrAAAAAgUAAAAGYW1vdW50BQAAAAxhdWN0aW9uUHJpY2UEAAAAEWF1Y3Rpb25UaW1laXNPdmVyCQEAAAAJdGltZUNoZWNrAAAAAwUAAAAGaGVpZ2h0BQAAAAxhdWN0aW9uU3RhcnQFAAAAD2F1Y3Rpb25EdXJhdGlvbgMFAAAAEWF1Y3Rpb25UaW1laXNPdmVyAwkAAAAAAAACBQAAAAxhdWN0aW9uU3RhdGUFAAAACXN0YXRlT3BlbgkBAAAADFNjcmlwdFJlc3VsdAAAAAIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAJYXVjdGlvbklkAgAAAAZfU3RhdGUFAAAAC3N0YXRlQ2FuY2VsCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAAEGF1Y3Rpb25Bc3NldE5hbWUCAAAACF9GcmVlemVkBQAAABFuZXdGcmVlemVkQmFsYW5jZQUAAAADbmlsCQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEJAAJZAAAAAQUAAAANYXVjdGlvbkNsaWVudAkAAGUAAAACBQAAAAxhdWN0aW9uUHJpY2UFAAAADmRBcHBDb21taXNzaW9uBQAAABBhdWN0aW9uQXNzZXRJZDU4BQAAAANuaWwDCQAAAAAAAAIFAAAADGF1Y3Rpb25TdGF0ZQUAAAAOc3RhdGVTdWdnZXN0ZWQEAAAAE2F1Y3Rpb25Mb3dlc3RCaWRkZXIJAQAAABZnZXRBdWN0aW9uTG93ZXN0QmlkZGVyAAAAAQUAAAAJYXVjdGlvbklkBAAAABBhdWN0aW9uTG93ZXN0QmlkCQEAAAAGZ2V0QmlkAAAAAgUAAAAJYXVjdGlvbklkBQAAABNhdWN0aW9uTG93ZXN0QmlkZGVyBAAAABBhbW91bnREaWZmZXJlbmNlCQAAZQAAAAIJAABlAAAAAgUAAAAMYXVjdGlvblByaWNlBQAAABBhdWN0aW9uTG93ZXN0QmlkBQAAAA5kQXBwQ29tbWlzc2lvbgkBAAAADFNjcmlwdFJlc3VsdAAAAAIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAJYXVjdGlvbklkAgAAAAZfU3RhdGUFAAAAD3N0YXRlSW5Qcm9ncmVzcwkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAAlhdWN0aW9uSWQCAAAAEF9IaXJlZEZyZWVsYW5jZXIFAAAAE2F1Y3Rpb25Mb3dlc3RCaWRkZXIJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAJYXVjdGlvbklkAgAAAAZfUHJpY2UFAAAAEGF1Y3Rpb25Mb3dlc3RCaWQFAAAAA25pbAkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABCQACWQAAAAEFAAAADWF1Y3Rpb25DbGllbnQFAAAAEGFtb3VudERpZmZlcmVuY2UFAAAAEGF1Y3Rpb25Bc3NldElkNTgFAAAAA25pbAkAAAIAAAABAgAAABdJbmNvcnJlY3QgYXVjdGlvbiBzdGF0ZQMJAAAAAAAAAgUAAAAMYXVjdGlvblN0YXRlBQAAAAlzdGF0ZU9wZW4JAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAlhdWN0aW9uSWQCAAAABV9CaWRfBQAAAA1uZXdGcmVlbGFuY2VyBQAAAAliaWRBbW91bnQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAJYXVjdGlvbklkAgAAAAZfU3RhdGUFAAAADnN0YXRlU3VnZ2VzdGVkCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAACWF1Y3Rpb25JZAIAAAAQX0xvd2VzdEJpZGRlclB1YgUAAAAJY2FsbGVyUHViBQAAAANuaWwDCQAAAAAAAAIFAAAADGF1Y3Rpb25TdGF0ZQUAAAAOc3RhdGVTdWdnZXN0ZWQEAAAAFmN1cnJlbnRMb3dlc3RCaWRkZXJQdWIJAQAAABZnZXRBdWN0aW9uTG93ZXN0QmlkZGVyAAAAAQUAAAAJYXVjdGlvbklkBAAAABJuZXdMb3dlc3RCaWRkZXJQdWIJAQAAABVkZWZpbmVOZXdMb3dlc3RCaWRkZXIAAAAEBQAAAAlhdWN0aW9uSWQFAAAAFmN1cnJlbnRMb3dlc3RCaWRkZXJQdWIFAAAACWJpZEFtb3VudAUAAAANbmV3RnJlZWxhbmNlcgkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAAlhdWN0aW9uSWQCAAAAEF9Mb3dlc3RCaWRkZXJQdWIFAAAAEm5ld0xvd2VzdEJpZGRlclB1YgkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIFAAAACWF1Y3Rpb25JZAIAAAAFX0JpZF8FAAAADW5ld0ZyZWVsYW5jZXIFAAAACWJpZEFtb3VudAUAAAADbmlsCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAABxJbmNvcnJlY3Qgam9iSWQgc3RhdGUuIE5vdzogBQAAAAxhdWN0aW9uU3RhdGUCAAAACywgbXVzdCBiZTogBQAAAAlzdGF0ZU9wZW4CAAAABCBvciAFAAAADnN0YXRlU3VnZ2VzdGVkAAAAAWkBAAAAEGNob29zZUZyZWVsYW5jZXIAAAACAAAACWF1Y3Rpb25JZAAAAA1mcmVlbGFuY2VyUHViBAAAAAljYWxsZXJQdWIJAAJYAAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5BAAAAAxhdWN0aW9uU3RhdGUJAQAAAA9nZXRBdWN0aW9uU3RhdGUAAAABBQAAAAlhdWN0aW9uSWQEAAAADWF1Y3Rpb25DbGllbnQJAQAAABNnZXRBdWN0aW9uQ2xpZW50UHViAAAAAQUAAAAJYXVjdGlvbklkBAAAAAxhdWN0aW9uU3RhcnQJAQAAABNnZXRBdWN0aW9uU3RhcnRUaW1lAAAAAQUAAAAJYXVjdGlvbklkBAAAAA9hdWN0aW9uRHVyYXRpb24JAQAAABZnZXRBdWN0aW9uRHVyYXRpb25UaW1lAAAAAQUAAAAJYXVjdGlvbklkBAAAABBhdWN0aW9uQXNzZXROYW1lCQEAAAATZ2V0QXVjdGlvbkFzc2V0TmFtZQAAAAEFAAAACWF1Y3Rpb25JZAQAAAAMYXVjdGlvblByaWNlCQEAAAAPZ2V0QXVjdGlvblByaWNlAAAAAQUAAAAJYXVjdGlvbklkBAAAABBhdWN0aW9uQXNzZXRJZDU4CQEAAAASQXNzZXROYW1lVG9Bc3NldElkAAAAAQUAAAAQYXVjdGlvbkFzc2V0TmFtZQQAAAANbmV3RnJlZWxhbmNlcgkBAAAAFmNob29zZWRGcmVlbGFuY2VyQ2hlY2sAAAACBQAAAAlhdWN0aW9uSWQFAAAADWZyZWVsYW5jZXJQdWIEAAAAE2ZyZWVsYW5jZXJCaWRBbW91bnQJAQAAAAZnZXRCaWQAAAACBQAAAAlhdWN0aW9uSWQFAAAADW5ld0ZyZWVsYW5jZXIEAAAAEWF1Y3Rpb25UaW1laXNPdmVyCQEAAAAJdGltZUNoZWNrAAAAAwUAAAAGaGVpZ2h0BQAAAAxhdWN0aW9uU3RhcnQFAAAAD2F1Y3Rpb25EdXJhdGlvbgQAAAALam9ic09uR29pbmcJAQAAAAZnZXRJbnQAAAABCQABLAAAAAIFAAAADWF1Y3Rpb25DbGllbnQCAAAADF9Kb2JzT25Hb2luZwQAAAAZZnJlZWxhbmNlclBlbmRpbmdFYXJuaW5ncwkBAAAABmdldEludAAAAAEJAAEsAAAAAgUAAAANZnJlZWxhbmNlclB1YgIAAAAQX1BlbmRpbmdFYXJuaW5ncwQAAAAXZnJlZWxhbmNlclRvdGFsRWFybmluZ3MJAQAAAAZnZXRJbnQAAAABCQABLAAAAAIFAAAADWZyZWVsYW5jZXJQdWICAAAADl9Ub3RhbEVhcm5pbmdzAwkAAAAAAAACBQAAAAljYWxsZXJQdWIFAAAADWF1Y3Rpb25DbGllbnQDBQAAABFhdWN0aW9uVGltZWlzT3ZlcgMJAAAAAAAAAgUAAAAMYXVjdGlvblN0YXRlBQAAAAlzdGF0ZU9wZW4EAAAAEW5ld0ZyZWV6ZWRCYWxhbmNlCQEAAAAWZGVjcmVhc2VGcmVlemVkQmFsYW5jZQAAAAIFAAAAEGF1Y3Rpb25Bc3NldE5hbWUFAAAADGF1Y3Rpb25QcmljZQQAAAAOZEFwcENvbW1pc3Npb24JAABpAAAAAgkAAGgAAAACBQAAAAxhdWN0aW9uUHJpY2UAAAAAAAAAAAMAAAAAAAAAAGQJAQAAAAxTY3JpcHRSZXN1bHQAAAACCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAACWF1Y3Rpb25JZAIAAAAGX1N0YXRlBQAAAAtzdGF0ZUNhbmNlbAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAABBhdWN0aW9uQXNzZXROYW1lAgAAAAhfRnJlZXplZAUAAAARbmV3RnJlZXplZEJhbGFuY2UFAAAAA25pbAkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABCQACWQAAAAEFAAAADWF1Y3Rpb25DbGllbnQJAABlAAAAAgUAAAAMYXVjdGlvblByaWNlBQAAAA5kQXBwQ29tbWlzc2lvbgUAAAAQYXVjdGlvbkFzc2V0SWQ1OAUAAAADbmlsAwkAAAAAAAACBQAAAAxhdWN0aW9uU3RhdGUFAAAADnN0YXRlU3VnZ2VzdGVkBAAAABNhdWN0aW9uTG93ZXN0QmlkZGVyCQEAAAAWZ2V0QXVjdGlvbkxvd2VzdEJpZGRlcgAAAAEFAAAACWF1Y3Rpb25JZAQAAAAQYXVjdGlvbkxvd2VzdEJpZAkBAAAABmdldEJpZAAAAAIFAAAACWF1Y3Rpb25JZAUAAAATYXVjdGlvbkxvd2VzdEJpZGRlcgQAAAAQYW1vdW50RGlmZmVyZW5jZQkAAGUAAAACBQAAAAxhdWN0aW9uUHJpY2UFAAAAEGF1Y3Rpb25Mb3dlc3RCaWQEAAAAEW5ld0ZyZWV6ZWRCYWxhbmNlCQEAAAAWZGVjcmVhc2VGcmVlemVkQmFsYW5jZQAAAAIFAAAAEGF1Y3Rpb25Bc3NldE5hbWUFAAAAEGFtb3VudERpZmZlcmVuY2UJAQAAAAxTY3JpcHRSZXN1bHQAAAACCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAACWF1Y3Rpb25JZAIAAAAGX1N0YXRlBQAAAA9zdGF0ZUluUHJvZ3Jlc3MJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAJYXVjdGlvbklkAgAAABBfSGlyZWRGcmVlbGFuY2VyBQAAABNhdWN0aW9uTG93ZXN0QmlkZGVyCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAACWF1Y3Rpb25JZAIAAAAGX1ByaWNlBQAAABBhdWN0aW9uTG93ZXN0QmlkCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAAEGF1Y3Rpb25Bc3NldE5hbWUCAAAACF9GcmVlemVkBQAAABFuZXdGcmVlemVkQmFsYW5jZQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAA1hdWN0aW9uQ2xpZW50AgAAAAxfSm9ic09uR29pbmcJAABkAAAAAgUAAAALam9ic09uR29pbmcAAAAAAAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAANZnJlZWxhbmNlclB1YgIAAAAQX1BlbmRpbmdFYXJuaW5ncwkAAGQAAAACBQAAABlmcmVlbGFuY2VyUGVuZGluZ0Vhcm5pbmdzBQAAABBhdWN0aW9uTG93ZXN0QmlkCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAADWZyZWVsYW5jZXJQdWICAAAADl9Ub3RhbEVhcm5pbmdzCQAAZAAAAAIFAAAAF2ZyZWVsYW5jZXJUb3RhbEVhcm5pbmdzBQAAABBhdWN0aW9uTG93ZXN0QmlkBQAAAANuaWwJAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQkAAlkAAAABBQAAAA1hdWN0aW9uQ2xpZW50BQAAABBhbW91bnREaWZmZXJlbmNlBQAAABBhdWN0aW9uQXNzZXRJZDU4BQAAAANuaWwJAAACAAAAAQIAAAAXSW5jb3JyZWN0IGF1Y3Rpb24gc3RhdGUDAwkAAAAAAAACBQAAAAxhdWN0aW9uU3RhdGUFAAAACXN0YXRlT3BlbgYJAAAAAAAAAgUAAAAMYXVjdGlvblN0YXRlBQAAAA5zdGF0ZVN1Z2dlc3RlZAQAAAAQYW1vdW50RGlmZmVyZW5jZQkAAGUAAAACBQAAAAxhdWN0aW9uUHJpY2UFAAAAE2ZyZWVsYW5jZXJCaWRBbW91bnQEAAAAEW5ld0ZyZWV6ZWRCYWxhbmNlCQEAAAAWZGVjcmVhc2VGcmVlemVkQmFsYW5jZQAAAAIFAAAAEGF1Y3Rpb25Bc3NldE5hbWUFAAAAEGFtb3VudERpZmZlcmVuY2UJAQAAAAxTY3JpcHRSZXN1bHQAAAACCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAACWF1Y3Rpb25JZAIAAAAGX1N0YXRlBQAAAA9zdGF0ZUluUHJvZ3Jlc3MJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAJYXVjdGlvbklkAgAAABBfSGlyZWRGcmVlbGFuY2VyBQAAAA1uZXdGcmVlbGFuY2VyCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAACWF1Y3Rpb25JZAIAAAAGX1ByaWNlBQAAABNmcmVlbGFuY2VyQmlkQW1vdW50CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAAEGF1Y3Rpb25Bc3NldE5hbWUCAAAACF9GcmVlemVkBQAAABFuZXdGcmVlemVkQmFsYW5jZQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAA1hdWN0aW9uQ2xpZW50AgAAAAxfSm9ic09uR29pbmcJAABkAAAAAgUAAAALam9ic09uR29pbmcAAAAAAAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAANZnJlZWxhbmNlclB1YgIAAAAQX1BlbmRpbmdFYXJuaW5ncwkAAGQAAAACBQAAABlmcmVlbGFuY2VyUGVuZGluZ0Vhcm5pbmdzBQAAABNmcmVlbGFuY2VyQmlkQW1vdW50CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAADWZyZWVsYW5jZXJQdWICAAAADl9Ub3RhbEVhcm5pbmdzCQAAZAAAAAIFAAAAF2ZyZWVsYW5jZXJUb3RhbEVhcm5pbmdzBQAAABNmcmVlbGFuY2VyQmlkQW1vdW50BQAAAANuaWwJAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQkAAlkAAAABBQAAAA1hdWN0aW9uQ2xpZW50CQAAZAAAAAIFAAAAEGFtb3VudERpZmZlcmVuY2UAAAAAAAAAAAEFAAAAEGF1Y3Rpb25Bc3NldElkNTgFAAAAA25pbAkAAAIAAAABAgAAABdJbmNvcnJlY3QgYXVjdGlvbiBzdGF0ZQkAAAIAAAABAgAAAC1Pbmx5IGF1Y3Rpb24gY3VzdG9tZXIgY2FuIGNob29zZSBhIGZyZWVsYW5jZXIAAAABaQEAAAAVaW5jcmVhc2VFeGVjdXRpb25UaW1lAAAAAgAAAAlhdWN0aW9uSWQAAAANZXhlY3V0aW9uRGF5cwQAAAAGY2FsbGVyCQACWAAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQQAAAAMYXVjdGlvblN0YXRlCQEAAAAPZ2V0QXVjdGlvblN0YXRlAAAAAQUAAAAJYXVjdGlvbklkBAAAAA1hdWN0aW9uQ2xpZW50CQEAAAATZ2V0QXVjdGlvbkNsaWVudFB1YgAAAAEFAAAACWF1Y3Rpb25JZAQAAAAZYXVjdGlvbkJsb2Nrc0ZvckV4ZWN1dGlvbgkBAAAAHGdldEF1Y3Rpb25Kb2JQZXJmb3JtYW5jZVRpbWUAAAABBQAAAAlhdWN0aW9uSWQEAAAAF25ld0F1Y3Rpb25FeGVjdXRpb25UaW1lCQEAAAAVbmV3RXhlY3V0aW9uVGltZUNoZWNrAAAAAgUAAAANZXhlY3V0aW9uRGF5cwUAAAAZYXVjdGlvbkJsb2Nrc0ZvckV4ZWN1dGlvbgMJAAAAAAAAAgUAAAAGY2FsbGVyBQAAAA1hdWN0aW9uQ2xpZW50AwMDCQAAAAAAAAIFAAAADGF1Y3Rpb25TdGF0ZQUAAAAJc3RhdGVPcGVuBgkAAAAAAAACBQAAAAxhdWN0aW9uU3RhdGUFAAAADnN0YXRlU3VnZ2VzdGVkBgkAAAAAAAACBQAAAAxhdWN0aW9uU3RhdGUFAAAAD3N0YXRlSW5Qcm9ncmVzcwkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAAlhdWN0aW9uSWQCAAAAD19Kb2JQZXJmb3JtYW5jZQUAAAAXbmV3QXVjdGlvbkV4ZWN1dGlvblRpbWUFAAAAA25pbAkAAAIAAAABAgAAAA9JbmNvcnJlY3Qgc3RhdGUJAAACAAAAAQIAAAAnT25seSBDbGllbnQgY2FuIGluY3JlYXNlIGV4ZWN1dGlvbiB0aW1lAAAAAWkBAAAADWNhbmNlbEF1Y3Rpb24AAAABAAAACWF1Y3Rpb25JZAQAAAAJY2FsbGVyUHViCQACWAAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQQAAAAMYXVjdGlvblN0YXRlCQEAAAAPZ2V0QXVjdGlvblN0YXRlAAAAAQUAAAAJYXVjdGlvbklkBAAAAA1hdWN0aW9uQ2xpZW50CQEAAAATZ2V0QXVjdGlvbkNsaWVudFB1YgAAAAEFAAAACWF1Y3Rpb25JZAQAAAAQYXVjdGlvbkFzc2V0TmFtZQkBAAAAE2dldEF1Y3Rpb25Bc3NldE5hbWUAAAABBQAAAAlhdWN0aW9uSWQEAAAADGF1Y3Rpb25QcmljZQkBAAAAD2dldEF1Y3Rpb25QcmljZQAAAAEFAAAACWF1Y3Rpb25JZAQAAAAQYXVjdGlvbkFzc2V0SWQ1OAkBAAAAEkFzc2V0TmFtZVRvQXNzZXRJZAAAAAEFAAAAEGF1Y3Rpb25Bc3NldE5hbWUEAAAADmRBcHBDb21taXNzaW9uCQAAaQAAAAIJAABoAAAAAgUAAAAMYXVjdGlvblByaWNlAAAAAAAAAAADAAAAAAAAAABkBAAAABFhbW91bnRXaXRob3V0Q29tbQkAAGUAAAACBQAAAAxhdWN0aW9uUHJpY2UFAAAADmRBcHBDb21taXNzaW9uBAAAABFuZXdGcmVlemVkQmFsYW5jZQkBAAAAFmRlY3JlYXNlRnJlZXplZEJhbGFuY2UAAAACBQAAABBhdWN0aW9uQXNzZXROYW1lBQAAAAxhdWN0aW9uUHJpY2UDCQAAAAAAAAIFAAAACWNhbGxlclB1YgUAAAANYXVjdGlvbkNsaWVudAMJAAAAAAAAAgUAAAAMYXVjdGlvblN0YXRlBQAAAAlzdGF0ZU9wZW4JAQAAAAxTY3JpcHRSZXN1bHQAAAACCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAACWF1Y3Rpb25JZAIAAAAGX1N0YXRlBQAAAAtzdGF0ZUNhbmNlbAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAABBhdWN0aW9uQXNzZXROYW1lAgAAAAhfRnJlZXplZAUAAAARbmV3RnJlZXplZEJhbGFuY2UFAAAAA25pbAkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABCQACWQAAAAEFAAAADWF1Y3Rpb25DbGllbnQFAAAAEWFtb3VudFdpdGhvdXRDb21tBQAAABBhdWN0aW9uQXNzZXRJZDU4BQAAAANuaWwJAAACAAAAAQIAAAAuQXVjdGlvbiBjYW4gYmUgY2FuY2VsZWQgb25seSBieSBhdWN0aW9uIG93bmVyLgkAAAIAAAABAgAAAB5Pbmx5IENsaWVudCBjYW4gY2FuY2VsIGF1Y3Rpb24AAAABaQEAAAALb3BlbkRpc3B1dGUAAAABAAAACWF1Y3Rpb25JZAQAAAAGY2FsbGVyCQACWAAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQQAAAAMYXVjdGlvblN0YXRlCQEAAAAPZ2V0QXVjdGlvblN0YXRlAAAAAQUAAAAJYXVjdGlvbklkBAAAAA1hdWN0aW9uQ2xpZW50CQEAAAATZ2V0QXVjdGlvbkNsaWVudFB1YgAAAAEFAAAACWF1Y3Rpb25JZAQAAAARYXVjdGlvbkZyZWVsYW5jZXIJAQAAABdnZXRBdWN0aW9uRnJlZWxhbmNlclB1YgAAAAEFAAAACWF1Y3Rpb25JZAQAAAATY2xpZW50Sm9ic0luRGlzcHV0ZQkBAAAABmdldEludAAAAAEJAAEsAAAAAgUAAAANYXVjdGlvbkNsaWVudAIAAAAOX0pvYnNJbkRpc3B1dGUDAwkAAAAAAAACBQAAAAxhdWN0aW9uU3RhdGUFAAAAD3N0YXRlSW5Qcm9ncmVzcwYJAAAAAAAAAgUAAAAMYXVjdGlvblN0YXRlBQAAABFzdGF0ZVdhaXQ0Q29uZmlybQMDCQAAAAAAAAIFAAAABmNhbGxlcgUAAAANYXVjdGlvbkNsaWVudAYJAAAAAAAAAgUAAAAGY2FsbGVyBQAAABFhdWN0aW9uRnJlZWxhbmNlcgkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAAlhdWN0aW9uSWQCAAAABl9TdGF0ZQUAAAAMc3RhdGVEaXNwdXRlCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAACWF1Y3Rpb25JZAIAAAANX0Rpc3B1dGVWb3RlcwAAAAAAAAAAAAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAA1hdWN0aW9uQ2xpZW50AgAAAA5fSm9ic0luRGlzcHV0ZQkAAGQAAAACBQAAABNjbGllbnRKb2JzSW5EaXNwdXRlAAAAAAAAAAABBQAAAANuaWwJAAACAAAAAQIAAAArT25seSBDbGllbnQgYW5kIEZyZWVsYW5jZXIgY2FuIG9wZW4gZGlzcHV0ZQkAAAIAAAABAgAAACtJbmNvcnJlY3QgYXVjdGlvbiBzdGF0ZSBmb3IgZGlzcHV0ZSBvcGVuaW5nAAAAAWkBAAAAC3ZvdGVEaXNwdXRlAAAAAgAAAAlhdWN0aW9uSWQAAAAEdm90ZQQAAAAJY2FsbGVyUHViCQACWAAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQQAAAAMYXVjdGlvblN0YXRlCQEAAAAPZ2V0QXVjdGlvblN0YXRlAAAAAQUAAAAJYXVjdGlvbklkBAAAAA1hdWN0aW9uQ2xpZW50CQEAAAATZ2V0QXVjdGlvbkNsaWVudFB1YgAAAAEFAAAACWF1Y3Rpb25JZAQAAAAQYXVjdGlvbkFzc2V0TmFtZQkBAAAAE2dldEF1Y3Rpb25Bc3NldE5hbWUAAAABBQAAAAlhdWN0aW9uSWQEAAAADGF1Y3Rpb25QcmljZQkBAAAAD2dldEF1Y3Rpb25QcmljZQAAAAEFAAAACWF1Y3Rpb25JZAQAAAARYXVjdGlvbkZyZWVsYW5jZXIJAQAAABdnZXRBdWN0aW9uRnJlZWxhbmNlclB1YgAAAAEFAAAACWF1Y3Rpb25JZAQAAAAKY29tbWlzc2lvbgkAAGkAAAACCQAAaAAAAAIFAAAADGF1Y3Rpb25QcmljZQAAAAAAAAAAAwAAAAAAAAAAZAQAAAAQYXVjdGlvbkFzc2V0SWQ1OAkBAAAAEkFzc2V0TmFtZVRvQXNzZXRJZAAAAAEFAAAAEGF1Y3Rpb25Bc3NldE5hbWUEAAAADWFtYmFzc2Fkb3JQdWIJAQAAABJjYWxsZXJJc0FtYmFzc2Fkb3IAAAABBQAAAAljYWxsZXJQdWIEAAAADmFtYmFzc2Fkb3JWb3RlCQEAAAATYW1iYXNzYWRvclZvdGVDaGVjawAAAAMFAAAACWF1Y3Rpb25JZAUAAAANYW1iYXNzYWRvclB1YgUAAAAEdm90ZQQAAAALdm90ZXNOdW1iZXIJAQAAAA5nZXRWb3Rlc051bWJlcgAAAAEFAAAACWF1Y3Rpb25JZAQAAAATY2xpZW50Sm9ic0luRGlzcHV0ZQkBAAAABmdldEludAAAAAEJAAEsAAAAAgUAAAANYXVjdGlvbkNsaWVudAIAAAAOX0pvYnNJbkRpc3B1dGUEAAAAGWZyZWVsYW5jZXJQZW5kaW5nRWFybmluZ3MJAQAAAAZnZXRJbnQAAAABCQABLAAAAAIFAAAAEWF1Y3Rpb25GcmVlbGFuY2VyAgAAABBfUGVuZGluZ0Vhcm5pbmdzBAAAABdmcmVlbGFuY2VyVG90YWxFYXJuaW5ncwkBAAAABmdldEludAAAAAEJAAEsAAAAAgUAAAARYXVjdGlvbkZyZWVsYW5jZXICAAAADl9Ub3RhbEVhcm5pbmdzAwkAAAAAAAACBQAAAAxhdWN0aW9uU3RhdGUFAAAADHN0YXRlRGlzcHV0ZQMJAAAAAAAAAgUAAAALdm90ZXNOdW1iZXIAAAAAAAAAAAQEAAAAEGRpc3B1dGVXaW5uZXJQdWIJAQAAABNkZWZpbmVEaXNwdXRlV2lubmVyAAAABAUAAAAJYXVjdGlvbklkBQAAAA5hbWJhc3NhZG9yVm90ZQUAAAANYXVjdGlvbkNsaWVudAUAAAARYXVjdGlvbkZyZWVsYW5jZXIEAAAAEW5ld0ZyZWV6ZWRCYWxhbmNlCQEAAAAWZGVjcmVhc2VGcmVlemVkQmFsYW5jZQAAAAIFAAAAEGF1Y3Rpb25Bc3NldE5hbWUFAAAADGF1Y3Rpb25QcmljZQMJAAAAAAAAAgUAAAAQZGlzcHV0ZVdpbm5lclB1YgUAAAANYXVjdGlvbkNsaWVudAQAAAAScGF5bWVudFdpdGhvdXRDb21tCQAAZQAAAAIFAAAADGF1Y3Rpb25QcmljZQUAAAAKY29tbWlzc2lvbgkBAAAADFNjcmlwdFJlc3VsdAAAAAIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAJYXVjdGlvbklkAgAAAA1fRGlzcHV0ZVZvdGVzCQAAZAAAAAIFAAAAC3ZvdGVzTnVtYmVyAAAAAAAAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAACWF1Y3Rpb25JZAIAAAAGX1N0YXRlBQAAABRzdGF0ZURpc3B1dGVSZXNvbHZlZAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIFAAAACWF1Y3Rpb25JZAIAAAAMX0RpcHV0ZVZvdGVfBQAAAA1hbWJhc3NhZG9yUHViBQAAAA5hbWJhc3NhZG9yVm90ZQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAABBhdWN0aW9uQXNzZXROYW1lAgAAAAhfRnJlZXplZAUAAAARbmV3RnJlZXplZEJhbGFuY2UJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAANYXVjdGlvbkNsaWVudAIAAAAOX0pvYnNJbkRpc3B1dGUJAABlAAAAAgUAAAATY2xpZW50Sm9ic0luRGlzcHV0ZQAAAAAAAAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAABFhdWN0aW9uRnJlZWxhbmNlcgIAAAAQX1BlbmRpbmdFYXJuaW5ncwkAAGUAAAACBQAAABlmcmVlbGFuY2VyUGVuZGluZ0Vhcm5pbmdzBQAAAAxhdWN0aW9uUHJpY2UJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAARYXVjdGlvbkZyZWVsYW5jZXICAAAADl9Ub3RhbEVhcm5pbmdzCQAAZQAAAAIFAAAAF2ZyZWVsYW5jZXJUb3RhbEVhcm5pbmdzBQAAAAxhdWN0aW9uUHJpY2UFAAAAA25pbAkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABCQACWQAAAAEFAAAAEGRpc3B1dGVXaW5uZXJQdWIFAAAAEnBheW1lbnRXaXRob3V0Q29tbQUAAAAQYXVjdGlvbkFzc2V0SWQ1OAUAAAADbmlsBAAAABJwYXltZW50V2l0aG91dENvbW0JAABlAAAAAgUAAAAMYXVjdGlvblByaWNlCQAAaAAAAAIFAAAACmNvbW1pc3Npb24AAAAAAAAAAAIJAQAAAAxTY3JpcHRSZXN1bHQAAAACCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAACWF1Y3Rpb25JZAIAAAANX0Rpc3B1dGVWb3RlcwkAAGQAAAACBQAAAAt2b3Rlc051bWJlcgAAAAAAAAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAAlhdWN0aW9uSWQCAAAABl9TdGF0ZQUAAAAUc3RhdGVEaXNwdXRlUmVzb2x2ZWQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAlhdWN0aW9uSWQCAAAADF9EaXB1dGVWb3RlXwUAAAANYW1iYXNzYWRvclB1YgUAAAAOYW1iYXNzYWRvclZvdGUJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAQYXVjdGlvbkFzc2V0TmFtZQIAAAAIX0ZyZWV6ZWQFAAAAEW5ld0ZyZWV6ZWRCYWxhbmNlCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAADWF1Y3Rpb25DbGllbnQCAAAADl9Kb2JzSW5EaXNwdXRlCQAAZQAAAAIFAAAAE2NsaWVudEpvYnNJbkRpc3B1dGUAAAAAAAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAARYXVjdGlvbkZyZWVsYW5jZXICAAAAEF9QZW5kaW5nRWFybmluZ3MJAABlAAAAAgUAAAAZZnJlZWxhbmNlclBlbmRpbmdFYXJuaW5ncwUAAAAMYXVjdGlvblByaWNlBQAAAANuaWwJAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQkAAlkAAAABBQAAABBkaXNwdXRlV2lubmVyUHViBQAAABJwYXltZW50V2l0aG91dENvbW0FAAAAEGF1Y3Rpb25Bc3NldElkNTgFAAAAA25pbAkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAAlhdWN0aW9uSWQCAAAADV9EaXNwdXRlVm90ZXMJAABkAAAAAgUAAAALdm90ZXNOdW1iZXIAAAAAAAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAlhdWN0aW9uSWQCAAAADF9EaXB1dGVWb3RlXwUAAAANYW1iYXNzYWRvclB1YgUAAAAOYW1iYXNzYWRvclZvdGUFAAAAA25pbAkAAAIAAAABCQABLAAAAAICAAAAGkluY29ycmVjdCBzdGF0ZS4gTXVzdCBiZTogBQAAAAxzdGF0ZURpc3B1dGUAAAABaQEAAAAMd29ya0hhbmRPdmVyAAAAAQAAAAlhdWN0aW9uSWQEAAAACWNhbGxlclB1YgkAAlgAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkEAAAADGF1Y3Rpb25TdGF0ZQkBAAAAD2dldEF1Y3Rpb25TdGF0ZQAAAAEFAAAACWF1Y3Rpb25JZAQAAAANYXVjdGlvbkNsaWVudAkBAAAAE2dldEF1Y3Rpb25DbGllbnRQdWIAAAABBQAAAAlhdWN0aW9uSWQEAAAADGF1Y3Rpb25TdGFydAkBAAAAE2dldEF1Y3Rpb25TdGFydFRpbWUAAAABBQAAAAlhdWN0aW9uSWQEAAAAD2F1Y3Rpb25EdXJhdGlvbgkBAAAAFmdldEF1Y3Rpb25EdXJhdGlvblRpbWUAAAABBQAAAAlhdWN0aW9uSWQEAAAAGWF1Y3Rpb25CbG9ja3NGb3JFeGVjdXRpb24JAQAAABxnZXRBdWN0aW9uSm9iUGVyZm9ybWFuY2VUaW1lAAAAAQUAAAAJYXVjdGlvbklkBAAAABFhdWN0aW9uRnJlZWxhbmNlcgkBAAAAF2dldEF1Y3Rpb25GcmVlbGFuY2VyUHViAAAAAQUAAAAJYXVjdGlvbklkBAAAAAp0aW1lSXNPdmVyCQAAZgAAAAIJAABlAAAAAgUAAAAGaGVpZ2h0BQAAAAxhdWN0aW9uU3RhcnQFAAAAGWF1Y3Rpb25CbG9ja3NGb3JFeGVjdXRpb24EAAAAE2NsaWVudEpvYnNJbkRpc3B1dGUJAQAAAAZnZXRJbnQAAAABCQABLAAAAAIFAAAADWF1Y3Rpb25DbGllbnQCAAAADl9Kb2JzSW5EaXNwdXRlAwkAAAAAAAACBQAAAAljYWxsZXJQdWIFAAAAEWF1Y3Rpb25GcmVlbGFuY2VyAwkAAAAAAAACBQAAAAxhdWN0aW9uU3RhdGUFAAAAD3N0YXRlSW5Qcm9ncmVzcwMFAAAACnRpbWVJc092ZXIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAJYXVjdGlvbklkAgAAAAZfU3RhdGUFAAAADHN0YXRlRGlzcHV0ZQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAAlhdWN0aW9uSWQCAAAADV9EaXNwdXRlVm90ZXMCAAAAATAJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAANYXVjdGlvbkNsaWVudAIAAAANX0pvYkluRGlzcHV0ZQkAAGQAAAACBQAAABNjbGllbnRKb2JzSW5EaXNwdXRlAAAAAAAAAAABBQAAAANuaWwJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAJYXVjdGlvbklkAgAAAAZfU3RhdGUFAAAAEXN0YXRlV2FpdDRDb25maXJtBQAAAANuaWwJAAACAAAAAQIAAAAaQXVjdGlvbiBzdGF0ZSBpcyBpbmNvcnJlY3QJAAACAAAAAQIAAAA0T25seSBhIGZyZWVsYW5jZXIgY2FuIGluZGljYXRlIHRoYXQgdGhlIHdvcmsgaXMgZG9uZQAAAAFpAQAAAAphY2NlcHRXb3JrAAAAAQAAAAlhdWN0aW9uSWQEAAAACWNhbGxlclB1YgkAAlgAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkEAAAADGF1Y3Rpb25TdGF0ZQkBAAAAD2dldEF1Y3Rpb25TdGF0ZQAAAAEFAAAACWF1Y3Rpb25JZAQAAAANYXVjdGlvbkNsaWVudAkBAAAAE2dldEF1Y3Rpb25DbGllbnRQdWIAAAABBQAAAAlhdWN0aW9uSWQEAAAADGF1Y3Rpb25TdGFydAkBAAAAE2dldEF1Y3Rpb25TdGFydFRpbWUAAAABBQAAAAlhdWN0aW9uSWQEAAAAD2F1Y3Rpb25EdXJhdGlvbgkBAAAAFmdldEF1Y3Rpb25EdXJhdGlvblRpbWUAAAABBQAAAAlhdWN0aW9uSWQEAAAAEGF1Y3Rpb25Bc3NldE5hbWUJAQAAABNnZXRBdWN0aW9uQXNzZXROYW1lAAAAAQUAAAAJYXVjdGlvbklkBAAAAAxhdWN0aW9uUHJpY2UJAQAAAA9nZXRBdWN0aW9uUHJpY2UAAAABBQAAAAlhdWN0aW9uSWQEAAAAEWF1Y3Rpb25GcmVlbGFuY2VyCQEAAAAXZ2V0QXVjdGlvbkZyZWVsYW5jZXJQdWIAAAABBQAAAAlhdWN0aW9uSWQEAAAAC2pvYnNPbkdvaW5nCQEAAAAGZ2V0SW50AAAAAQkAASwAAAACBQAAAA1hdWN0aW9uQ2xpZW50AgAAAAxfSm9ic09uR29pbmcEAAAAGWZyZWVsYW5jZXJQZW5kaW5nRWFybmluZ3MJAQAAAAZnZXRJbnQAAAABCQABLAAAAAIFAAAAEWF1Y3Rpb25GcmVlbGFuY2VyAgAAABBfUGVuZGluZ0Vhcm5pbmdzBAAAABZmcmVlbGFuY2VyUGFpZEVhcm5pbmdzCQEAAAAGZ2V0SW50AAAAAQkAASwAAAACBQAAABFhdWN0aW9uRnJlZWxhbmNlcgIAAAANX1BhaWRFYXJuaW5ncwQAAAAOZEFwcENvbW1pc3Npb24JAABpAAAAAgkAAGgAAAACBQAAAAxhdWN0aW9uUHJpY2UAAAAAAAAAAAMAAAAAAAAAAGQEAAAAEWFtb3VudFdpdGhvdXRDb21tCQAAZQAAAAIFAAAADGF1Y3Rpb25QcmljZQkAAGgAAAACBQAAAA5kQXBwQ29tbWlzc2lvbgAAAAAAAAAAAgQAAAAQYXVjdGlvbkFzc2V0SWQ1OAkBAAAAEkFzc2V0TmFtZVRvQXNzZXRJZAAAAAEFAAAAEGF1Y3Rpb25Bc3NldE5hbWUEAAAAEW5ld0ZyZWV6ZWRCYWxhbmNlCQEAAAAWZGVjcmVhc2VGcmVlemVkQmFsYW5jZQAAAAIFAAAAEGF1Y3Rpb25Bc3NldE5hbWUFAAAADGF1Y3Rpb25QcmljZQQAAAAQZnJlZWxhbmNlclJhdGluZwkBAAAACWdldFJhdGluZwAAAAEFAAAAEWF1Y3Rpb25GcmVlbGFuY2VyAwkAAAAAAAACBQAAAAljYWxsZXJQdWIFAAAADWF1Y3Rpb25DbGllbnQDCQAAAAAAAAIFAAAADGF1Y3Rpb25TdGF0ZQUAAAARc3RhdGVXYWl0NENvbmZpcm0JAQAAAAxTY3JpcHRSZXN1bHQAAAACCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAACWF1Y3Rpb25JZAIAAAAGX1N0YXRlBQAAAA1zdGF0ZUNvbXBsZXRlCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAAEWF1Y3Rpb25GcmVlbGFuY2VyAgAAAAdfUmF0aW5nCQAAZAAAAAIFAAAAEGZyZWVsYW5jZXJSYXRpbmcAAAAAAAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAQYXVjdGlvbkFzc2V0TmFtZQIAAAAIX0ZyZWV6ZWQFAAAAEW5ld0ZyZWV6ZWRCYWxhbmNlCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAADWF1Y3Rpb25DbGllbnQCAAAADF9Kb2JzT25Hb2luZwkAAGUAAAACBQAAAAtqb2JzT25Hb2luZwAAAAAAAAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAABFhdWN0aW9uRnJlZWxhbmNlcgIAAAAQX1BlbmRpbmdFYXJuaW5ncwkAAGUAAAACBQAAABlmcmVlbGFuY2VyUGVuZGluZ0Vhcm5pbmdzBQAAAAxhdWN0aW9uUHJpY2UJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAARYXVjdGlvbkZyZWVsYW5jZXICAAAADV9QYWlkRWFybmluZ3MJAABkAAAAAgUAAAAWZnJlZWxhbmNlclBhaWRFYXJuaW5ncwUAAAAMYXVjdGlvblByaWNlBQAAAANuaWwJAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQkAAlkAAAABBQAAABFhdWN0aW9uRnJlZWxhbmNlcgUAAAARYW1vdW50V2l0aG91dENvbW0FAAAAEGF1Y3Rpb25Bc3NldElkNTgFAAAAA25pbAkAAAIAAAABCQABLAAAAAICAAAAGkluY29ycmVjdCBzdGF0ZS4gTXVzdCBiZTogBQAAABFzdGF0ZVdhaXQ0Q29uZmlybQkAAAIAAAABAgAAACtPbmx5IGF1Y3Rpb24gY3VzdG9tZXIgY2FuIHVzZSB0aGlzIGZ1bmN0aW9uAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAMJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V5BAAAAAckbWF0Y2gwBQAAAAJ0eAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAATVHJhbnNmZXJUcmFuc2FjdGlvbgQAAAADdHR4BQAAAAckbWF0Y2gwBAAAAAlhc3NldE5hbWUJAQAAABJBc3NldElkVG9Bc3NldE5hbWUAAAABCAUAAAADdHR4AAAAB2Fzc2V0SWQEAAAAFHZhbHVlUmVzZXJ2ZWRCYWxhbmNlCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAAJYXNzZXROYW1lAgAAAAlfUmVzZXJ2ZWQEAAAAD3Jlc2VydmVkQmFsYW5jZQQAAAAHJG1hdGNoMQUAAAAUdmFsdWVSZXNlcnZlZEJhbGFuY2UDCQAAAQAAAAIFAAAAByRtYXRjaDECAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMQUAAAABYQAAAAAAAAAAAAQAAAAQYXZhaWxhYmxlQmFsYW5jZQkAAGUAAAACCQAD6wAAAAIFAAAABHRoaXMIBQAAAAN0dHgAAAAHYXNzZXRJZAUAAAAPcmVzZXJ2ZWRCYWxhbmNlCQAAZwAAAAIFAAAAEGF2YWlsYWJsZUJhbGFuY2UIBQAAAAN0dHgAAAAGYW1vdW50AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABRTZXRTY3JpcHRUcmFuc2FjdGlvbgQAAAADc3R4BQAAAAckbWF0Y2gwBgcHvUufLg==", "chainId": 84, "height": 735616, "spentComplexity": 0 } View: original | compacted Prev: 2WqmjJ82SYj4UuVv2SVpWHxdqBRpZJYnLdF3We2WaWpB Next: 3ekyQ6357xiFkeVApnMBCFWbwgAZZDsSkEKtAD3EohZG Diff:
OldNewDifferences
2929
3030 let n = "DisputeResolved"
3131
32-let o = "Web Design & Development"
32+let o = "CL"
3333
34-let p = "Waves RIDE & Smart Contract"
34+let p = "FL"
3535
36-let q = "Mobile App"
36+let q = "FneCJqM5BP2eAuyteMiuEEHYALrE4axhEfcpHVGbdr5s"
3737
38-let r = "Graphics & Design"
38+let r = "6QAMdssb1GJjpQVQQcnx8fKU8WhtcF9ZsQhifdThAEK8"
3939
40-let s = "Writing & Translation"
40+let s = "2ituwW7DSRsLP3Vcbnpr98QUQMGFRWKmyYPFqsUKRDoP"
4141
42-let t = "Video & Animation"
42+let t = "ANsPQocEESyLb3yQqk2pwCdoK7PJQxLoZVpYvsm3SxUG"
4343
44-let u = "CL"
44+let u = "13VixwQin1MzZCyY69NSWMSBNEV27Rzc159o7uZXR9VS"
4545
46-let v = "FL"
47-
48-let w = "FneCJqM5BP2eAuyteMiuEEHYALrE4axhEfcpHVGbdr5s"
49-
50-let x = "6QAMdssb1GJjpQVQQcnx8fKU8WhtcF9ZsQhifdThAEK8"
51-
52-let y = "2ituwW7DSRsLP3Vcbnpr98QUQMGFRWKmyYPFqsUKRDoP"
53-
54-let z = "ANsPQocEESyLb3yQqk2pwCdoK7PJQxLoZVpYvsm3SxUG"
55-
56-let A = "13VixwQin1MzZCyY69NSWMSBNEV27Rzc159o7uZXR9VS"
57-
58-func B (C) = {
59- let D = getInteger(this, C)
60- let E = D
61- if ($isInstanceOf(E, "Int"))
46+func v (w) = {
47+ let x = getInteger(this, w)
48+ let y = x
49+ if ($isInstanceOf(y, "Int"))
6250 then {
63- let F = E
64- F
51+ let z = y
52+ z
6553 }
6654 else 0
6755 }
6856
6957
70-func G (H) = if (if (if (if (if (if ((H == o))
71- then true
72- else (H == p))
73- then true
74- else (H == q))
75- then true
76- else (H == r))
77- then true
78- else (H == s))
79- then true
80- else (H == t))
81- then H
82- else throw("Category is invalid")
83-
84-
85-func I (J) = if (!(isDefined(J)))
58+func A (B) = if (!(isDefined(B)))
8659 then "WAVES"
87- else if ((J == c))
60+ else if ((B == c))
8861 then "BTC"
89- else if ((J == d))
62+ else if ((B == d))
9063 then "EUR"
91- else if ((J == e))
64+ else if ((B == e))
9265 then "USD"
93- else if ((J == f))
66+ else if ((B == f))
9467 then "AUCT"
9568 else throw("AssetId is incorrect")
9669
9770
98-func K (L) = if ((L == "WAVES"))
71+func C (D) = if ((D == "WAVES"))
9972 then b
100- else if ((L == "BTC"))
73+ else if ((D == "BTC"))
10174 then c
102- else if ((L == "EUR"))
75+ else if ((D == "EUR"))
10376 then d
104- else if ((L == "USD"))
77+ else if ((D == "USD"))
10578 then e
106- else if ((L == "AUCT"))
79+ else if ((D == "AUCT"))
10780 then f
10881 else throw("Incorrect Asset Id")
10982
11083
111-func M (N,O,P) = ((N - O) > P)
84+func E (F,G,H) = ((F - G) > H)
11285
11386
114-func Q (R,S) = if ((R > S))
87+func I (J,K) = if ((J > K))
11588 then throw("Bid amount must be lower or equal than auctionPrice")
116- else R
89+ else J
11790
11891
119-func T (U,S) = {
120- let V = getInteger(this, (U + "_Freezed"))
121- let W = {
122- let E = V
123- if ($isInstanceOf(E, "Int"))
92+func L (M,K) = {
93+ let N = getInteger(this, (M + "_Freezed"))
94+ let O = {
95+ let y = N
96+ if ($isInstanceOf(y, "Int"))
12497 then {
125- let F = E
126- F
98+ let z = y
99+ z
127100 }
128101 else 0
129102 }
130- (W + S)
103+ (O + K)
131104 }
132105
133106
134-func X (U,S) = {
135- let V = getInteger(this, (U + "_Freezed"))
136- let W = {
137- let E = V
138- if ($isInstanceOf(E, "Int"))
107+func P (M,K) = {
108+ let N = getInteger(this, (M + "_Freezed"))
109+ let O = {
110+ let y = N
111+ if ($isInstanceOf(y, "Int"))
139112 then {
140- let F = E
141- F
113+ let z = y
114+ z
142115 }
143116 else 0
144117 }
145- let F = (W - S)
146- if ((F >= 0))
147- then F
118+ let z = (O - K)
119+ if ((z >= 0))
120+ then z
148121 else throw("Freezed amount couldn't be less than 0")
149122 }
150123
151124
152-func Y (Z) = {
153- let aa = getString(this, (Z + "_Freelancer"))
154- let E = aa
155- if ($isInstanceOf(E, "String"))
125+func Q (R) = {
126+ let S = getString(this, (R + "_Freelancer"))
127+ let y = S
128+ if ($isInstanceOf(y, "String"))
156129 then {
157- let F = E
158- Z
130+ let z = y
131+ R
159132 }
160133 else throw("Only registered users can make bets")
161134 }
162135
163136
164-func ab (Z) = {
165- let aa = getString(this, (Z + "_Freelancer"))
166- let E = aa
167- if ($isInstanceOf(E, "String"))
137+func T (R) = {
138+ let S = getString(this, (R + "_Freelancer"))
139+ let y = S
140+ if ($isInstanceOf(y, "String"))
168141 then {
169- let F = E
170- Z
142+ let z = y
143+ R
171144 }
172145 else throw("Only registered users can make bets")
173146 }
174147
175148
176-func ac (ad) = if ((ad > 0))
177- then ad
149+func U (V) = if ((V > 0))
150+ then V
178151 else throw("Amount must be higher then 0")
179152
180153
181-func ae (af) = {
182- let ag = getString(this, (af + "_State"))
183- let E = ag
184- if ($isInstanceOf(E, "String"))
154+func W (X) = {
155+ let Y = getString(this, (X + "_State"))
156+ let y = Y
157+ if ($isInstanceOf(y, "String"))
185158 then {
186- let F = E
187- F
159+ let z = y
160+ z
188161 }
189162 else throw("Auction State was not found")
190163 }
191164
192165
193-func ah (af) = {
194- let ai = getString(this, (af + "_AuctionClient"))
195- let E = ai
196- if ($isInstanceOf(E, "String"))
166+func Z (X) = {
167+ let aa = getString(this, (X + "_AuctionClient"))
168+ let y = aa
169+ if ($isInstanceOf(y, "String"))
197170 then {
198- let F = E
199- F
171+ let z = y
172+ z
200173 }
201174 else throw("Auction Client was not found")
202175 }
203176
204177
205-func aj (af) = {
206- let ak = getInteger(this, (af + "_AuctionStart"))
207- let E = ak
208- if ($isInstanceOf(E, "Int"))
178+func ab (X) = {
179+ let ac = getInteger(this, (X + "_AuctionStart"))
180+ let y = ac
181+ if ($isInstanceOf(y, "Int"))
209182 then {
210- let F = E
211- F
183+ let z = y
184+ z
212185 }
213186 else throw("Auction Start time was not found")
214187 }
215188
216189
217-func al (af) = {
218- let am = getInteger(this, (af + "_AuctionDuration"))
219- let E = am
220- if ($isInstanceOf(E, "Int"))
190+func ad (X) = {
191+ let ae = getInteger(this, (X + "_AuctionDuration"))
192+ let y = ae
193+ if ($isInstanceOf(y, "Int"))
221194 then {
222- let F = E
223- F
195+ let z = y
196+ z
224197 }
225198 else throw("Auction duration time was not found")
226199 }
227200
228201
229-func an (af) = {
230- let ao = getInteger(this, (af + "_JobPerformance"))
231- let E = ao
232- if ($isInstanceOf(E, "Int"))
202+func af (X) = {
203+ let ag = getInteger(this, (X + "_JobPerformance"))
204+ let y = ag
205+ if ($isInstanceOf(y, "Int"))
233206 then {
234- let F = E
235- F
207+ let z = y
208+ z
236209 }
237210 else throw("Auction job performance time was not found")
238211 }
239212
240213
241-func ap (af) = {
242- let aq = getString(this, (af + "_AssetName"))
243- let E = aq
244- if ($isInstanceOf(E, "String"))
214+func ah (X) = {
215+ let ai = getString(this, (X + "_AssetName"))
216+ let y = ai
217+ if ($isInstanceOf(y, "String"))
245218 then {
246- let F = E
247- F
219+ let z = y
220+ z
248221 }
249222 else throw("Auction asset name was not found")
250223 }
251224
252225
253-func ar (af) = {
254- let as = getInteger(this, (af + "_Price"))
255- let E = as
256- if ($isInstanceOf(E, "Int"))
226+func aj (X) = {
227+ let ak = getInteger(this, (X + "_Price"))
228+ let y = ak
229+ if ($isInstanceOf(y, "Int"))
257230 then {
258- let F = E
259- F
231+ let z = y
232+ z
260233 }
261234 else throw("Auction price was not found")
262235 }
263236
264237
265-func at (af) = {
266- let au = getString(this, (af + "_HiredFreelancer"))
267- let E = au
268- if ($isInstanceOf(E, "String"))
238+func al (X) = {
239+ let am = getString(this, (X + "_HiredFreelancer"))
240+ let y = am
241+ if ($isInstanceOf(y, "String"))
269242 then {
270- let F = E
271- F
243+ let z = y
244+ z
272245 }
273246 else throw("Auction Client was not found")
274247 }
275248
276249
277-func av (af) = {
278- let aw = getString(this, (af + "_LowestBidderPub"))
279- let E = aw
280- if ($isInstanceOf(E, "String"))
250+func an (X) = {
251+ let ao = getString(this, (X + "_LowestBidderPub"))
252+ let y = ao
253+ if ($isInstanceOf(y, "String"))
281254 then {
282- let F = E
283- F
255+ let z = y
256+ z
284257 }
285258 else throw("Auction lowest bidder was not found")
286259 }
287260
288261
289-func ax (af,ay) = {
290- let az = getInteger(this, ((af + "_Bid_") + ay))
291- let E = az
292- if ($isInstanceOf(E, "Int"))
262+func ap (X,aq) = {
263+ let ar = getInteger(this, ((X + "_Bid_") + aq))
264+ let y = ar
265+ if ($isInstanceOf(y, "Int"))
293266 then {
294- let F = E
295- F
267+ let z = y
268+ z
296269 }
297270 else throw("Auction lowest bid was not found")
298271 }
299272
300273
301-func aA (af,aB,aC,aD) = {
302- let aE = getInteger(this, ((af + "_Bid_") + aB))
303- let aF = {
304- let E = aE
305- if ($isInstanceOf(E, "Int"))
274+func as (X,at,au,av) = {
275+ let aw = getInteger(this, ((X + "_Bid_") + at))
276+ let ax = {
277+ let y = aw
278+ if ($isInstanceOf(y, "Int"))
306279 then {
307- let F = E
308- F
280+ let z = y
281+ z
309282 }
310283 else throw("Auction lowest bid was not found")
311284 }
312- if ((aF > aC))
313- then aD
314- else aB
285+ if ((ax > au))
286+ then av
287+ else at
315288 }
316289
317290
318-func aG (af,aH) = {
319- let aD = getInteger(this, ((af + "_Bid_") + aH))
320- let E = aD
321- if ($isInstanceOf(E, "Int"))
291+func ay (X,az) = {
292+ let av = getInteger(this, ((X + "_Bid_") + az))
293+ let y = av
294+ if ($isInstanceOf(y, "Int"))
322295 then {
323- let F = E
324- aH
296+ let z = y
297+ az
325298 }
326299 else throw("Error: Incorrect freelancerPub")
327300 }
328301
329302
330-func aI (aJ,aK) = {
331- let aL = (aJ * a)
332- if ((aL > aK))
333- then aL
303+func aA (aB,aC) = {
304+ let aD = (aB * a)
305+ if ((aD > aC))
306+ then aD
334307 else throw("New execution time must more than current execution time")
335308 }
336309
337310
338-func aM (aN) = {
339- let aO = getInteger(this, (aN + "_Rating"))
340- let E = aO
341- if ($isInstanceOf(E, "Int"))
311+func aE (aF) = {
312+ let aG = getInteger(this, (aF + "_Rating"))
313+ let y = aG
314+ if ($isInstanceOf(y, "Int"))
342315 then {
343- let F = E
344- F
316+ let z = y
317+ z
345318 }
346319 else 0
347320 }
348321
349322
350-func aP (Z) = if (if (if (if (if ((Z == w))
323+func aH (R) = if (if (if (if (if ((R == q))
351324 then true
352- else (Z == x))
325+ else (R == r))
353326 then true
354- else (Z == y))
327+ else (R == s))
355328 then true
356- else (Z == z))
329+ else (R == t))
357330 then true
358- else (Z == A))
359- then Z
331+ else (R == u))
332+ then R
360333 else throw("Only defined ambassadors can vote in disputes")
361334
362335
363-func aQ (af,aR,aS) = {
364- let aT = ((af + "_DiputeVote_") + aR)
365- let aU = getString(this, aT)
366- let aV = {
367- let E = aU
368- if ($isInstanceOf(E, "String"))
336+func aI (X,aJ,aK) = {
337+ let aL = ((X + "_DiputeVote_") + aJ)
338+ let aM = getString(this, aL)
339+ let aN = {
340+ let y = aM
341+ if ($isInstanceOf(y, "String"))
369342 then {
370- let F = E
343+ let z = y
371344 true
372345 }
373346 else false
374347 }
375- if (aV)
348+ if (aN)
376349 then throw("Ambassador voted already ")
377- else if (if ((aS == u))
350+ else if (if ((aK == o))
378351 then true
379- else (aS == v))
380- then aS
381- else throw(((("Vote is incorrect. Must be: " + u) + " or ") + v))
352+ else (aK == p))
353+ then aK
354+ else throw(((("Vote is incorrect. Must be: " + o) + " or ") + p))
382355 }
383356
384357
385-func aW (af) = {
386- let aX = getInteger(this, (af + "_DisputeVotes"))
387- let E = aX
388- if ($isInstanceOf(E, "Int"))
358+func aO (X) = {
359+ let aP = getInteger(this, (X + "_DisputeVotes"))
360+ let y = aP
361+ if ($isInstanceOf(y, "Int"))
389362 then {
390- let F = E
391- F
363+ let z = y
364+ z
392365 }
393366 else throw("VotesNumber was not found")
394367 }
395368
396369
397-func aY (af,aZ,ba,aN) = {
398- let bb = getString(this, ((af + "_DiputeVote_") + w))
399- let bc = getString(this, ((af + "_DiputeVote_") + x))
400- let bd = getString(this, ((af + "_DiputeVote_") + y))
401- let be = getString(this, ((af + "_DiputeVote_") + z))
402- let bf = getString(this, ((af + "_DiputeVote_") + A))
403- let bg = if ((bb == u))
370+func aQ (X,aR,aS,aF) = {
371+ let aT = getString(this, ((X + "_DiputeVote_") + q))
372+ let aU = getString(this, ((X + "_DiputeVote_") + r))
373+ let aV = getString(this, ((X + "_DiputeVote_") + s))
374+ let aW = getString(this, ((X + "_DiputeVote_") + t))
375+ let aX = getString(this, ((X + "_DiputeVote_") + u))
376+ let aY = if ((aT == o))
404377 then 1
405378 else 0
406- let bh = if ((bc == u))
379+ let aZ = if ((aU == o))
407380 then 1
408381 else 0
409- let bi = if ((bd == u))
382+ let ba = if ((aV == o))
410383 then 1
411384 else 0
412- let bj = if ((be == u))
385+ let bb = if ((aW == o))
413386 then 1
414387 else 0
415- let bk = if ((bf == u))
388+ let bc = if ((aX == o))
416389 then 1
417390 else 0
418- let bl = if ((aZ == u))
391+ let bd = if ((aR == o))
419392 then 1
420393 else 0
421- let bm = (((((bg + bh) + bi) + bj) + bk) + bl)
422- if ((bm > 2))
423- then ba
424- else aN
394+ let be = (((((aY + aZ) + ba) + bb) + bc) + bd)
395+ if ((be > 2))
396+ then aS
397+ else aF
425398 }
426399
427400
428-@Callable(bn)
429-func freelancerSignUp (bo) = {
430- let bp = toBase58String(bn.callerPublicKey)
431- let bq = getString(this, (bp + "_Freelancer"))
432- if (isDefined(bq))
433- then throw("User already registered")
434- else WriteSet([DataEntry((bp + "_Freelancer"), bo), DataEntry((bp + "_PendingEarnings"), 0), DataEntry((bp + "_PaidEarnings"), 0), DataEntry((bp + "_TotalEarnings"), 0), DataEntry((bp + "_JobsPending"), 0), DataEntry((bp + "_JobsCompleted"), 0), DataEntry((bp + "_JobsTotal"), 0)])
401+@Callable(bf)
402+func freelancerSignUp (bg) = {
403+ let bh = toBase58String(bf.callerPublicKey)
404+ WriteSet([DataEntry((bh + "_Freelancer"), bg), DataEntry((bh + "_PendingEarnings"), 0), DataEntry((bh + "_PaidEarnings"), 0), DataEntry((bh + "_TotalEarnings"), 0), DataEntry((bh + "_JobsPending"), 0), DataEntry((bh + "_JobsCompleted"), 0), DataEntry((bh + "_JobsTotal"), 0)])
435405 }
436406
437407
438408
439-@Callable(bn)
440-func clientSignUp (bo) = {
441- let bp = toBase58String(bn.callerPublicKey)
442- let bq = getString(this, (bp + "_Client"))
443- if (isDefined(bq))
444- then throw("User already registered")
445- else WriteSet([DataEntry((bp + "_Client"), bo), DataEntry((bp + "_JobsCreated"), 0), DataEntry((bp + "_JobsOnGoing"), 0), DataEntry((bp + "_JobInDispute"), 0)])
409+@Callable(bf)
410+func clientSignUp (bg) = {
411+ let bh = toBase58String(bf.callerPublicKey)
412+ WriteSet([DataEntry((bh + "_Client"), bg), DataEntry((bh + "_JobsCreated"), 0), DataEntry((bh + "_JobsOnGoing"), 0), DataEntry((bh + "_JobInDispute"), 0)])
446413 }
447414
448415
449416
450-@Callable(bn)
451-func createAuction (br,bs,bt,H) = {
452- let Z = toBase58String(bn.callerPublicKey)
453- let af = toBase58String(bn.transactionId)
454- let ba = Y(Z)
455- let bu = extract(bn.payment)
456- let ad = bu.amount
457- let S = ac(ad)
458- let bv = height
459- let bw = (bs * a)
460- let bx = (br * a)
461- let U = I(bu.assetId)
462- let by = B((ba + "_JobsCreated"))
463- let bz = G(H)
464- let bA = T(U, S)
465- WriteSet([DataEntry((af + "_State"), g), DataEntry((af + "_Info"), bt), DataEntry((af + "_AuctionClient"), ba), DataEntry((af + "_AuctionStart"), bv), DataEntry((af + "_AuctionDuration"), bw), DataEntry((af + "_JobPerformance"), bx), DataEntry((af + "_AssetName"), U), DataEntry((af + "_Price"), S), DataEntry((af + "_Category"), bz), DataEntry((U + "_Freezed"), bA), DataEntry((ba + "_JobsCreated"), (by + 1))])
417+@Callable(bf)
418+func createAuction (bi,bj,bk) = {
419+ let R = toBase58String(bf.callerPublicKey)
420+ let X = toBase58String(bf.transactionId)
421+ let aS = Q(R)
422+ let bl = extract(bf.payment)
423+ let V = bl.amount
424+ let K = U(V)
425+ let bm = height
426+ let bn = (bj * a)
427+ let bo = (bi * a)
428+ let M = A(bl.assetId)
429+ let bp = v((aS + "_JobsCreated"))
430+ let bq = L(M, K)
431+ WriteSet([DataEntry((X + "_State"), g), DataEntry((X + "_Info"), bk), DataEntry((X + "_AuctionClient"), aS), DataEntry((X + "_AuctionStart"), bm), DataEntry((X + "_AuctionDuration"), bn), DataEntry((X + "_JobPerformance"), bo), DataEntry((X + "_AssetName"), M), DataEntry((X + "_Price"), K), DataEntry((M + "_Freezed"), bq), DataEntry((aS + "_JobsCreated"), (bp + 1))])
466432 }
467433
468434
469435
470-@Callable(bn)
471-func makeBid (af,R) = {
472- let Z = toBase58String(bn.callerPublicKey)
473- let bB = ae(af)
474- let ba = ah(af)
475- let bv = aj(af)
476- let bC = al(af)
477- let aK = an(af)
478- let L = ap(af)
479- let S = ar(af)
480- let bD = K(L)
481- let aD = ab(Z)
482- let bE = ((S * 3) / 100)
483- let bA = X(L, S)
484- let aC = Q(R, S)
485- let bF = M(height, bv, bC)
486- if (bF)
487- then if ((bB == g))
488- then ScriptResult(WriteSet([DataEntry((af + "_State"), i), DataEntry((L + "_Freezed"), bA)]), TransferSet([ScriptTransfer(addressFromPublicKey(fromBase58String(ba)), (S - bE), bD)]))
489- else if ((bB == h))
436+@Callable(bf)
437+func makeBid (X,J) = {
438+ let R = toBase58String(bf.callerPublicKey)
439+ let br = W(X)
440+ let aS = Z(X)
441+ let bm = ab(X)
442+ let bs = ad(X)
443+ let aC = af(X)
444+ let D = ah(X)
445+ let K = aj(X)
446+ let bt = C(D)
447+ let av = T(R)
448+ let bu = ((K * 3) / 100)
449+ let bq = P(D, K)
450+ let au = I(J, K)
451+ let bv = E(height, bm, bs)
452+ if (bv)
453+ then if ((br == g))
454+ then ScriptResult(WriteSet([DataEntry((X + "_State"), i), DataEntry((D + "_Freezed"), bq)]), TransferSet([ScriptTransfer(addressFromPublicKey(fromBase58String(aS)), (K - bu), bt)]))
455+ else if ((br == h))
490456 then {
491- let ay = av(af)
492- let bG = ax(af, ay)
493- let bH = ((S - bG) - bE)
494- ScriptResult(WriteSet([DataEntry((af + "_State"), j), DataEntry((af + "_HiredFreelancer"), ay), DataEntry((af + "_Price"), bG)]), TransferSet([ScriptTransfer(addressFromPublicKey(fromBase58String(ba)), bH, bD)]))
457+ let aq = an(X)
458+ let bw = ap(X, aq)
459+ let bx = ((K - bw) - bu)
460+ ScriptResult(WriteSet([DataEntry((X + "_State"), j), DataEntry((X + "_HiredFreelancer"), aq), DataEntry((X + "_Price"), bw)]), TransferSet([ScriptTransfer(addressFromPublicKey(fromBase58String(aS)), bx, bt)]))
495461 }
496462 else throw("Incorrect auction state")
497- else if ((bB == g))
498- then WriteSet([DataEntry(((af + "_Bid_") + aD), aC), DataEntry((af + "_State"), h), DataEntry((af + "_LowestBidderPub"), Z)])
499- else if ((bB == h))
463+ else if ((br == g))
464+ then WriteSet([DataEntry(((X + "_Bid_") + av), au), DataEntry((X + "_State"), h), DataEntry((X + "_LowestBidderPub"), R)])
465+ else if ((br == h))
500466 then {
501- let aB = av(af)
502- let bI = aA(af, aB, aC, aD)
503- WriteSet([DataEntry((af + "_LowestBidderPub"), bI), DataEntry(((af + "_Bid_") + aD), aC)])
467+ let at = an(X)
468+ let by = as(X, at, au, av)
469+ WriteSet([DataEntry((X + "_LowestBidderPub"), by), DataEntry(((X + "_Bid_") + av), au)])
504470 }
505- else throw(((((("Incorrect jobId state. Now: " + bB) + ", must be: ") + g) + " or ") + h))
471+ else throw(((((("Incorrect jobId state. Now: " + br) + ", must be: ") + g) + " or ") + h))
506472 }
507473
508474
509475
510-@Callable(bn)
511-func chooseFreelancer (af,aH) = {
512- let Z = toBase58String(bn.callerPublicKey)
513- let bB = ae(af)
514- let ba = ah(af)
515- let bv = aj(af)
516- let bC = al(af)
517- let L = ap(af)
518- let S = ar(af)
519- let bD = K(L)
520- let aD = aG(af, aH)
521- let bJ = ax(af, aD)
522- let bF = M(height, bv, bC)
523- let bK = B((ba + "_JobsOnGoing"))
524- let bL = B((aH + "_PendingEarnings"))
525- let bM = B((aH + "_TotalEarnings"))
526- if ((Z == ba))
527- then if (bF)
528- then if ((bB == g))
476+@Callable(bf)
477+func chooseFreelancer (X,az) = {
478+ let R = toBase58String(bf.callerPublicKey)
479+ let br = W(X)
480+ let aS = Z(X)
481+ let bm = ab(X)
482+ let bs = ad(X)
483+ let D = ah(X)
484+ let K = aj(X)
485+ let bt = C(D)
486+ let av = ay(X, az)
487+ let bz = ap(X, av)
488+ let bv = E(height, bm, bs)
489+ let bA = v((aS + "_JobsOnGoing"))
490+ let bB = v((az + "_PendingEarnings"))
491+ let bC = v((az + "_TotalEarnings"))
492+ if ((R == aS))
493+ then if (bv)
494+ then if ((br == g))
529495 then {
530- let bA = X(L, S)
531- let bE = ((S * 3) / 100)
532- ScriptResult(WriteSet([DataEntry((af + "_State"), i), DataEntry((L + "_Freezed"), bA)]), TransferSet([ScriptTransfer(addressFromPublicKey(fromBase58String(ba)), (S - bE), bD)]))
496+ let bq = P(D, K)
497+ let bu = ((K * 3) / 100)
498+ ScriptResult(WriteSet([DataEntry((X + "_State"), i), DataEntry((D + "_Freezed"), bq)]), TransferSet([ScriptTransfer(addressFromPublicKey(fromBase58String(aS)), (K - bu), bt)]))
533499 }
534- else if ((bB == h))
500+ else if ((br == h))
535501 then {
536- let ay = av(af)
537- let bG = ax(af, ay)
538- let bH = (S - bG)
539- let bA = X(L, bH)
540- ScriptResult(WriteSet([DataEntry((af + "_State"), j), DataEntry((af + "_HiredFreelancer"), ay), DataEntry((af + "_Price"), bG), DataEntry((L + "_Freezed"), bA), DataEntry((ba + "_JobsOnGoing"), (bK + 1)), DataEntry((aH + "_PendingEarnings"), (bL + bG)), DataEntry((aH + "_TotalEarnings"), (bM + bG))]), TransferSet([ScriptTransfer(addressFromPublicKey(fromBase58String(ba)), bH, bD)]))
502+ let aq = an(X)
503+ let bw = ap(X, aq)
504+ let bx = (K - bw)
505+ let bq = P(D, bx)
506+ ScriptResult(WriteSet([DataEntry((X + "_State"), j), DataEntry((X + "_HiredFreelancer"), aq), DataEntry((X + "_Price"), bw), DataEntry((D + "_Freezed"), bq), DataEntry((aS + "_JobsOnGoing"), (bA + 1)), DataEntry((az + "_PendingEarnings"), (bB + bw)), DataEntry((az + "_TotalEarnings"), (bC + bw))]), TransferSet([ScriptTransfer(addressFromPublicKey(fromBase58String(aS)), bx, bt)]))
541507 }
542508 else throw("Incorrect auction state")
543- else if (if ((bB == g))
509+ else if (if ((br == g))
544510 then true
545- else (bB == h))
511+ else (br == h))
546512 then {
547- let bH = (S - bJ)
548- let bA = X(L, bH)
549- ScriptResult(WriteSet([DataEntry((af + "_State"), j), DataEntry((af + "_HiredFreelancer"), aD), DataEntry((af + "_Price"), bJ), DataEntry((L + "_Freezed"), bA), DataEntry((ba + "_JobsOnGoing"), (bK + 1)), DataEntry((aH + "_PendingEarnings"), (bL + bJ)), DataEntry((aH + "_TotalEarnings"), (bM + bJ))]), TransferSet([ScriptTransfer(addressFromPublicKey(fromBase58String(ba)), (bH + 1), bD)]))
513+ let bx = (K - bz)
514+ let bq = P(D, bx)
515+ ScriptResult(WriteSet([DataEntry((X + "_State"), j), DataEntry((X + "_HiredFreelancer"), av), DataEntry((X + "_Price"), bz), DataEntry((D + "_Freezed"), bq), DataEntry((aS + "_JobsOnGoing"), (bA + 1)), DataEntry((az + "_PendingEarnings"), (bB + bz)), DataEntry((az + "_TotalEarnings"), (bC + bz))]), TransferSet([ScriptTransfer(addressFromPublicKey(fromBase58String(aS)), (bx + 1), bt)]))
550516 }
551517 else throw("Incorrect auction state")
552518 else throw("Only auction customer can choose a freelancer")
554520
555521
556522
557-@Callable(bn)
558-func increaseExecutionTime (af,aJ) = {
559- let bN = toBase58String(bn.callerPublicKey)
560- let bB = ae(af)
561- let ba = ah(af)
562- let aK = an(af)
563- let bO = aI(aJ, aK)
564- if ((bN == ba))
565- then if (if (if ((bB == g))
523+@Callable(bf)
524+func increaseExecutionTime (X,aB) = {
525+ let bD = toBase58String(bf.callerPublicKey)
526+ let br = W(X)
527+ let aS = Z(X)
528+ let aC = af(X)
529+ let bE = aA(aB, aC)
530+ if ((bD == aS))
531+ then if (if (if ((br == g))
566532 then true
567- else (bB == h))
533+ else (br == h))
568534 then true
569- else (bB == j))
570- then WriteSet([DataEntry((af + "_JobPerformance"), bO)])
535+ else (br == j))
536+ then WriteSet([DataEntry((X + "_JobPerformance"), bE)])
571537 else throw("Incorrect state")
572538 else throw("Only Client can increase execution time")
573539 }
574540
575541
576542
577-@Callable(bn)
578-func cancelAuction (af) = {
579- let Z = toBase58String(bn.callerPublicKey)
580- let bB = ae(af)
581- let ba = ah(af)
582- let L = ap(af)
583- let S = ar(af)
584- let bD = K(L)
585- let bE = ((S * 3) / 100)
586- let bP = (S - bE)
587- let bA = X(L, S)
588- if ((Z == ba))
589- then if ((bB == g))
590- then ScriptResult(WriteSet([DataEntry((af + "_State"), i), DataEntry((L + "_Freezed"), bA)]), TransferSet([ScriptTransfer(addressFromPublicKey(fromBase58String(ba)), bP, bD)]))
543+@Callable(bf)
544+func cancelAuction (X) = {
545+ let R = toBase58String(bf.callerPublicKey)
546+ let br = W(X)
547+ let aS = Z(X)
548+ let D = ah(X)
549+ let K = aj(X)
550+ let bt = C(D)
551+ let bu = ((K * 3) / 100)
552+ let bF = (K - bu)
553+ let bq = P(D, K)
554+ if ((R == aS))
555+ then if ((br == g))
556+ then ScriptResult(WriteSet([DataEntry((X + "_State"), i), DataEntry((D + "_Freezed"), bq)]), TransferSet([ScriptTransfer(addressFromPublicKey(fromBase58String(aS)), bF, bt)]))
591557 else throw("Auction can be canceled only by auction owner.")
592558 else throw("Only Client can cancel auction")
593559 }
594560
595561
596562
597-@Callable(bn)
598-func openDispute (af) = {
599- let bN = toBase58String(bn.callerPublicKey)
600- let bB = ae(af)
601- let ba = ah(af)
602- let aN = at(af)
603- let bQ = B((ba + "_JobsInDispute"))
604- if (if ((bB == j))
563+@Callable(bf)
564+func openDispute (X) = {
565+ let bD = toBase58String(bf.callerPublicKey)
566+ let br = W(X)
567+ let aS = Z(X)
568+ let aF = al(X)
569+ let bG = v((aS + "_JobsInDispute"))
570+ if (if ((br == j))
605571 then true
606- else (bB == k))
607- then if (if ((bN == ba))
572+ else (br == k))
573+ then if (if ((bD == aS))
608574 then true
609- else (bN == aN))
610- then WriteSet([DataEntry((af + "_State"), m), DataEntry((af + "_DisputeVotes"), 0), DataEntry((ba + "_JobsInDispute"), (bQ + 1))])
575+ else (bD == aF))
576+ then WriteSet([DataEntry((X + "_State"), m), DataEntry((X + "_DisputeVotes"), 0), DataEntry((aS + "_JobsInDispute"), (bG + 1))])
611577 else throw("Only Client and Freelancer can open dispute")
612578 else throw("Incorrect auction state for dispute opening")
613579 }
614580
615581
616582
617-@Callable(bn)
618-func voteDispute (af,aS) = {
619- let Z = toBase58String(bn.callerPublicKey)
620- let bB = ae(af)
621- let ba = ah(af)
622- let L = ap(af)
623- let S = ar(af)
624- let aN = at(af)
625- let bR = ((S * 3) / 100)
626- let bD = K(L)
627- let aR = aP(Z)
628- let bS = aQ(af, aR, aS)
629- let bT = aW(af)
630- let bQ = B((ba + "_JobsInDispute"))
631- let bL = B((aN + "_PendingEarnings"))
632- let bM = B((aN + "_TotalEarnings"))
633- if ((bB == m))
634- then if ((bT == 4))
583+@Callable(bf)
584+func voteDispute (X,aK) = {
585+ let R = toBase58String(bf.callerPublicKey)
586+ let br = W(X)
587+ let aS = Z(X)
588+ let D = ah(X)
589+ let K = aj(X)
590+ let aF = al(X)
591+ let bH = ((K * 3) / 100)
592+ let bt = C(D)
593+ let aJ = aH(R)
594+ let bI = aI(X, aJ, aK)
595+ let bJ = aO(X)
596+ let bG = v((aS + "_JobsInDispute"))
597+ let bB = v((aF + "_PendingEarnings"))
598+ let bC = v((aF + "_TotalEarnings"))
599+ if ((br == m))
600+ then if ((bJ == 4))
635601 then {
636- let bU = aY(af, bS, ba, aN)
637- let bA = X(L, S)
638- if ((bU == ba))
602+ let bK = aQ(X, bI, aS, aF)
603+ let bq = P(D, K)
604+ if ((bK == aS))
639605 then {
640- let bV = (S - bR)
641- ScriptResult(WriteSet([DataEntry((af + "_DisputeVotes"), (bT + 1)), DataEntry((af + "_State"), n), DataEntry(((af + "_DiputeVote_") + aR), bS), DataEntry((L + "_Freezed"), bA), DataEntry((ba + "_JobsInDispute"), (bQ - 1)), DataEntry((aN + "_PendingEarnings"), (bL - S)), DataEntry((aN + "_TotalEarnings"), (bM - S))]), TransferSet([ScriptTransfer(addressFromPublicKey(fromBase58String(bU)), bV, bD)]))
606+ let bL = (K - bH)
607+ ScriptResult(WriteSet([DataEntry((X + "_DisputeVotes"), (bJ + 1)), DataEntry((X + "_State"), n), DataEntry(((X + "_DiputeVote_") + aJ), bI), DataEntry((D + "_Freezed"), bq), DataEntry((aS + "_JobsInDispute"), (bG - 1)), DataEntry((aF + "_PendingEarnings"), (bB - K)), DataEntry((aF + "_TotalEarnings"), (bC - K))]), TransferSet([ScriptTransfer(addressFromPublicKey(fromBase58String(bK)), bL, bt)]))
642608 }
643609 else {
644- let bV = (S - (bR * 2))
645- ScriptResult(WriteSet([DataEntry((af + "_DisputeVotes"), (bT + 1)), DataEntry((af + "_State"), n), DataEntry(((af + "_DiputeVote_") + aR), bS), DataEntry((L + "_Freezed"), bA), DataEntry((ba + "_JobsInDispute"), (bQ - 1)), DataEntry((aN + "_PendingEarnings"), (bL - S))]), TransferSet([ScriptTransfer(addressFromPublicKey(fromBase58String(bU)), bV, bD)]))
610+ let bL = (K - (bH * 2))
611+ ScriptResult(WriteSet([DataEntry((X + "_DisputeVotes"), (bJ + 1)), DataEntry((X + "_State"), n), DataEntry(((X + "_DiputeVote_") + aJ), bI), DataEntry((D + "_Freezed"), bq), DataEntry((aS + "_JobsInDispute"), (bG - 1)), DataEntry((aF + "_PendingEarnings"), (bB - K))]), TransferSet([ScriptTransfer(addressFromPublicKey(fromBase58String(bK)), bL, bt)]))
646612 }
647613 }
648- else WriteSet([DataEntry((af + "_DisputeVotes"), (bT + 1)), DataEntry(((af + "_DiputeVote_") + aR), bS)])
614+ else WriteSet([DataEntry((X + "_DisputeVotes"), (bJ + 1)), DataEntry(((X + "_DiputeVote_") + aJ), bI)])
649615 else throw(("Incorrect state. Must be: " + m))
650616 }
651617
652618
653619
654-@Callable(bn)
655-func workHandOver (af) = {
656- let Z = toBase58String(bn.callerPublicKey)
657- let bB = ae(af)
658- let ba = ah(af)
659- let bv = aj(af)
660- let bC = al(af)
661- let aK = an(af)
662- let aN = at(af)
663- let bW = ((height - bv) > aK)
664- let bQ = B((ba + "_JobsInDispute"))
665- if ((Z == aN))
666- then if ((bB == j))
667- then if (bW)
668- then WriteSet([DataEntry((af + "_State"), m), DataEntry((af + "_DisputeVotes"), "0"), DataEntry((ba + "_JobInDispute"), (bQ + 1))])
669- else WriteSet([DataEntry((af + "_State"), k)])
620+@Callable(bf)
621+func workHandOver (X) = {
622+ let R = toBase58String(bf.callerPublicKey)
623+ let br = W(X)
624+ let aS = Z(X)
625+ let bm = ab(X)
626+ let bs = ad(X)
627+ let aC = af(X)
628+ let aF = al(X)
629+ let bM = ((height - bm) > aC)
630+ let bG = v((aS + "_JobsInDispute"))
631+ if ((R == aF))
632+ then if ((br == j))
633+ then if (bM)
634+ then WriteSet([DataEntry((X + "_State"), m), DataEntry((X + "_DisputeVotes"), "0"), DataEntry((aS + "_JobInDispute"), (bG + 1))])
635+ else WriteSet([DataEntry((X + "_State"), k)])
670636 else throw("Auction state is incorrect")
671637 else throw("Only a freelancer can indicate that the work is done")
672638 }
673639
674640
675641
676-@Callable(bn)
677-func acceptWork (af) = {
678- let Z = toBase58String(bn.callerPublicKey)
679- let bB = ae(af)
680- let ba = ah(af)
681- let bv = aj(af)
682- let bC = al(af)
683- let L = ap(af)
684- let S = ar(af)
685- let aN = at(af)
686- let bK = B((ba + "_JobsOnGoing"))
687- let bL = B((aN + "_PendingEarnings"))
688- let bX = B((aN + "_PaidEarnings"))
689- let bE = ((S * 3) / 100)
690- let bP = (S - (bE * 2))
691- let bD = K(L)
692- let bA = X(L, S)
693- let bY = aM(aN)
694- if ((Z == ba))
695- then if ((bB == k))
696- then ScriptResult(WriteSet([DataEntry((af + "_State"), l), DataEntry((aN + "_Rating"), (bY + 1)), DataEntry((L + "_Freezed"), bA), DataEntry((ba + "_JobsOnGoing"), (bK - 1)), DataEntry((aN + "_PendingEarnings"), (bL - S)), DataEntry((aN + "_PaidEarnings"), (bX + S))]), TransferSet([ScriptTransfer(addressFromPublicKey(fromBase58String(aN)), bP, bD)]))
642+@Callable(bf)
643+func acceptWork (X) = {
644+ let R = toBase58String(bf.callerPublicKey)
645+ let br = W(X)
646+ let aS = Z(X)
647+ let bm = ab(X)
648+ let bs = ad(X)
649+ let D = ah(X)
650+ let K = aj(X)
651+ let aF = al(X)
652+ let bA = v((aS + "_JobsOnGoing"))
653+ let bB = v((aF + "_PendingEarnings"))
654+ let bN = v((aF + "_PaidEarnings"))
655+ let bu = ((K * 3) / 100)
656+ let bF = (K - (bu * 2))
657+ let bt = C(D)
658+ let bq = P(D, K)
659+ let bO = aE(aF)
660+ if ((R == aS))
661+ then if ((br == k))
662+ then ScriptResult(WriteSet([DataEntry((X + "_State"), l), DataEntry((aF + "_Rating"), (bO + 1)), DataEntry((D + "_Freezed"), bq), DataEntry((aS + "_JobsOnGoing"), (bA - 1)), DataEntry((aF + "_PendingEarnings"), (bB - K)), DataEntry((aF + "_PaidEarnings"), (bN + K))]), TransferSet([ScriptTransfer(addressFromPublicKey(fromBase58String(aF)), bF, bt)]))
697663 else throw(("Incorrect state. Must be: " + k))
698664 else throw("Only auction customer can use this function")
699665 }
700666
701667
702-@Verifier(bZ)
703-func ca () = if (sigVerify(bZ.bodyBytes, bZ.proofs[0], bZ.senderPublicKey))
668+@Verifier(bP)
669+func bQ () = if (sigVerify(bP.bodyBytes, bP.proofs[0], bP.senderPublicKey))
704670 then {
705- let E = bZ
706- if ($isInstanceOf(E, "TransferTransaction"))
671+ let y = bP
672+ if ($isInstanceOf(y, "TransferTransaction"))
707673 then {
708- let cb = E
709- let cc = I(cb.assetId)
710- let cd = getInteger(this, (cc + "_Reserved"))
711- let ce = {
712- let cf = cd
713- if ($isInstanceOf(cf, "Int"))
674+ let bR = y
675+ let bS = A(bR.assetId)
676+ let bT = getInteger(this, (bS + "_Reserved"))
677+ let bU = {
678+ let bV = bT
679+ if ($isInstanceOf(bV, "Int"))
714680 then {
715- let F = cf
716- F
681+ let z = bV
682+ z
717683 }
718684 else 0
719685 }
720- let cg = (assetBalance(this, cb.assetId) - ce)
721- (cg >= cb.amount)
686+ let bW = (assetBalance(this, bR.assetId) - bU)
687+ (bW >= bR.amount)
722688 }
723- else if ($isInstanceOf(E, "SetScriptTransaction"))
689+ else if ($isInstanceOf(y, "SetScriptTransaction"))
724690 then {
725- let ch = E
691+ let bX = y
726692 true
727693 }
728694 else false
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = 1440
55
66 let b = unit
77
88 let c = base58'8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS'
99
1010 let d = base58'Gtb1WRznfchDnTh37ezoDTJ4wcoKaRsKqKjJjy7nm2zU'
1111
1212 let e = base58'Ft8X1v1LTa1ABafufpaCWyVj8KkaxUWE6xBhW6sNFJck'
1313
1414 let f = base58'1'
1515
1616 let g = "Opened"
1717
1818 let h = "Suggested"
1919
2020 let i = "Canceled"
2121
2222 let j = "InProgress"
2323
2424 let k = "WaitForConfirmation"
2525
2626 let l = "Completed"
2727
2828 let m = "Dispute"
2929
3030 let n = "DisputeResolved"
3131
32-let o = "Web Design & Development"
32+let o = "CL"
3333
34-let p = "Waves RIDE & Smart Contract"
34+let p = "FL"
3535
36-let q = "Mobile App"
36+let q = "FneCJqM5BP2eAuyteMiuEEHYALrE4axhEfcpHVGbdr5s"
3737
38-let r = "Graphics & Design"
38+let r = "6QAMdssb1GJjpQVQQcnx8fKU8WhtcF9ZsQhifdThAEK8"
3939
40-let s = "Writing & Translation"
40+let s = "2ituwW7DSRsLP3Vcbnpr98QUQMGFRWKmyYPFqsUKRDoP"
4141
42-let t = "Video & Animation"
42+let t = "ANsPQocEESyLb3yQqk2pwCdoK7PJQxLoZVpYvsm3SxUG"
4343
44-let u = "CL"
44+let u = "13VixwQin1MzZCyY69NSWMSBNEV27Rzc159o7uZXR9VS"
4545
46-let v = "FL"
47-
48-let w = "FneCJqM5BP2eAuyteMiuEEHYALrE4axhEfcpHVGbdr5s"
49-
50-let x = "6QAMdssb1GJjpQVQQcnx8fKU8WhtcF9ZsQhifdThAEK8"
51-
52-let y = "2ituwW7DSRsLP3Vcbnpr98QUQMGFRWKmyYPFqsUKRDoP"
53-
54-let z = "ANsPQocEESyLb3yQqk2pwCdoK7PJQxLoZVpYvsm3SxUG"
55-
56-let A = "13VixwQin1MzZCyY69NSWMSBNEV27Rzc159o7uZXR9VS"
57-
58-func B (C) = {
59- let D = getInteger(this, C)
60- let E = D
61- if ($isInstanceOf(E, "Int"))
46+func v (w) = {
47+ let x = getInteger(this, w)
48+ let y = x
49+ if ($isInstanceOf(y, "Int"))
6250 then {
63- let F = E
64- F
51+ let z = y
52+ z
6553 }
6654 else 0
6755 }
6856
6957
70-func G (H) = if (if (if (if (if (if ((H == o))
71- then true
72- else (H == p))
73- then true
74- else (H == q))
75- then true
76- else (H == r))
77- then true
78- else (H == s))
79- then true
80- else (H == t))
81- then H
82- else throw("Category is invalid")
83-
84-
85-func I (J) = if (!(isDefined(J)))
58+func A (B) = if (!(isDefined(B)))
8659 then "WAVES"
87- else if ((J == c))
60+ else if ((B == c))
8861 then "BTC"
89- else if ((J == d))
62+ else if ((B == d))
9063 then "EUR"
91- else if ((J == e))
64+ else if ((B == e))
9265 then "USD"
93- else if ((J == f))
66+ else if ((B == f))
9467 then "AUCT"
9568 else throw("AssetId is incorrect")
9669
9770
98-func K (L) = if ((L == "WAVES"))
71+func C (D) = if ((D == "WAVES"))
9972 then b
100- else if ((L == "BTC"))
73+ else if ((D == "BTC"))
10174 then c
102- else if ((L == "EUR"))
75+ else if ((D == "EUR"))
10376 then d
104- else if ((L == "USD"))
77+ else if ((D == "USD"))
10578 then e
106- else if ((L == "AUCT"))
79+ else if ((D == "AUCT"))
10780 then f
10881 else throw("Incorrect Asset Id")
10982
11083
111-func M (N,O,P) = ((N - O) > P)
84+func E (F,G,H) = ((F - G) > H)
11285
11386
114-func Q (R,S) = if ((R > S))
87+func I (J,K) = if ((J > K))
11588 then throw("Bid amount must be lower or equal than auctionPrice")
116- else R
89+ else J
11790
11891
119-func T (U,S) = {
120- let V = getInteger(this, (U + "_Freezed"))
121- let W = {
122- let E = V
123- if ($isInstanceOf(E, "Int"))
92+func L (M,K) = {
93+ let N = getInteger(this, (M + "_Freezed"))
94+ let O = {
95+ let y = N
96+ if ($isInstanceOf(y, "Int"))
12497 then {
125- let F = E
126- F
98+ let z = y
99+ z
127100 }
128101 else 0
129102 }
130- (W + S)
103+ (O + K)
131104 }
132105
133106
134-func X (U,S) = {
135- let V = getInteger(this, (U + "_Freezed"))
136- let W = {
137- let E = V
138- if ($isInstanceOf(E, "Int"))
107+func P (M,K) = {
108+ let N = getInteger(this, (M + "_Freezed"))
109+ let O = {
110+ let y = N
111+ if ($isInstanceOf(y, "Int"))
139112 then {
140- let F = E
141- F
113+ let z = y
114+ z
142115 }
143116 else 0
144117 }
145- let F = (W - S)
146- if ((F >= 0))
147- then F
118+ let z = (O - K)
119+ if ((z >= 0))
120+ then z
148121 else throw("Freezed amount couldn't be less than 0")
149122 }
150123
151124
152-func Y (Z) = {
153- let aa = getString(this, (Z + "_Freelancer"))
154- let E = aa
155- if ($isInstanceOf(E, "String"))
125+func Q (R) = {
126+ let S = getString(this, (R + "_Freelancer"))
127+ let y = S
128+ if ($isInstanceOf(y, "String"))
156129 then {
157- let F = E
158- Z
130+ let z = y
131+ R
159132 }
160133 else throw("Only registered users can make bets")
161134 }
162135
163136
164-func ab (Z) = {
165- let aa = getString(this, (Z + "_Freelancer"))
166- let E = aa
167- if ($isInstanceOf(E, "String"))
137+func T (R) = {
138+ let S = getString(this, (R + "_Freelancer"))
139+ let y = S
140+ if ($isInstanceOf(y, "String"))
168141 then {
169- let F = E
170- Z
142+ let z = y
143+ R
171144 }
172145 else throw("Only registered users can make bets")
173146 }
174147
175148
176-func ac (ad) = if ((ad > 0))
177- then ad
149+func U (V) = if ((V > 0))
150+ then V
178151 else throw("Amount must be higher then 0")
179152
180153
181-func ae (af) = {
182- let ag = getString(this, (af + "_State"))
183- let E = ag
184- if ($isInstanceOf(E, "String"))
154+func W (X) = {
155+ let Y = getString(this, (X + "_State"))
156+ let y = Y
157+ if ($isInstanceOf(y, "String"))
185158 then {
186- let F = E
187- F
159+ let z = y
160+ z
188161 }
189162 else throw("Auction State was not found")
190163 }
191164
192165
193-func ah (af) = {
194- let ai = getString(this, (af + "_AuctionClient"))
195- let E = ai
196- if ($isInstanceOf(E, "String"))
166+func Z (X) = {
167+ let aa = getString(this, (X + "_AuctionClient"))
168+ let y = aa
169+ if ($isInstanceOf(y, "String"))
197170 then {
198- let F = E
199- F
171+ let z = y
172+ z
200173 }
201174 else throw("Auction Client was not found")
202175 }
203176
204177
205-func aj (af) = {
206- let ak = getInteger(this, (af + "_AuctionStart"))
207- let E = ak
208- if ($isInstanceOf(E, "Int"))
178+func ab (X) = {
179+ let ac = getInteger(this, (X + "_AuctionStart"))
180+ let y = ac
181+ if ($isInstanceOf(y, "Int"))
209182 then {
210- let F = E
211- F
183+ let z = y
184+ z
212185 }
213186 else throw("Auction Start time was not found")
214187 }
215188
216189
217-func al (af) = {
218- let am = getInteger(this, (af + "_AuctionDuration"))
219- let E = am
220- if ($isInstanceOf(E, "Int"))
190+func ad (X) = {
191+ let ae = getInteger(this, (X + "_AuctionDuration"))
192+ let y = ae
193+ if ($isInstanceOf(y, "Int"))
221194 then {
222- let F = E
223- F
195+ let z = y
196+ z
224197 }
225198 else throw("Auction duration time was not found")
226199 }
227200
228201
229-func an (af) = {
230- let ao = getInteger(this, (af + "_JobPerformance"))
231- let E = ao
232- if ($isInstanceOf(E, "Int"))
202+func af (X) = {
203+ let ag = getInteger(this, (X + "_JobPerformance"))
204+ let y = ag
205+ if ($isInstanceOf(y, "Int"))
233206 then {
234- let F = E
235- F
207+ let z = y
208+ z
236209 }
237210 else throw("Auction job performance time was not found")
238211 }
239212
240213
241-func ap (af) = {
242- let aq = getString(this, (af + "_AssetName"))
243- let E = aq
244- if ($isInstanceOf(E, "String"))
214+func ah (X) = {
215+ let ai = getString(this, (X + "_AssetName"))
216+ let y = ai
217+ if ($isInstanceOf(y, "String"))
245218 then {
246- let F = E
247- F
219+ let z = y
220+ z
248221 }
249222 else throw("Auction asset name was not found")
250223 }
251224
252225
253-func ar (af) = {
254- let as = getInteger(this, (af + "_Price"))
255- let E = as
256- if ($isInstanceOf(E, "Int"))
226+func aj (X) = {
227+ let ak = getInteger(this, (X + "_Price"))
228+ let y = ak
229+ if ($isInstanceOf(y, "Int"))
257230 then {
258- let F = E
259- F
231+ let z = y
232+ z
260233 }
261234 else throw("Auction price was not found")
262235 }
263236
264237
265-func at (af) = {
266- let au = getString(this, (af + "_HiredFreelancer"))
267- let E = au
268- if ($isInstanceOf(E, "String"))
238+func al (X) = {
239+ let am = getString(this, (X + "_HiredFreelancer"))
240+ let y = am
241+ if ($isInstanceOf(y, "String"))
269242 then {
270- let F = E
271- F
243+ let z = y
244+ z
272245 }
273246 else throw("Auction Client was not found")
274247 }
275248
276249
277-func av (af) = {
278- let aw = getString(this, (af + "_LowestBidderPub"))
279- let E = aw
280- if ($isInstanceOf(E, "String"))
250+func an (X) = {
251+ let ao = getString(this, (X + "_LowestBidderPub"))
252+ let y = ao
253+ if ($isInstanceOf(y, "String"))
281254 then {
282- let F = E
283- F
255+ let z = y
256+ z
284257 }
285258 else throw("Auction lowest bidder was not found")
286259 }
287260
288261
289-func ax (af,ay) = {
290- let az = getInteger(this, ((af + "_Bid_") + ay))
291- let E = az
292- if ($isInstanceOf(E, "Int"))
262+func ap (X,aq) = {
263+ let ar = getInteger(this, ((X + "_Bid_") + aq))
264+ let y = ar
265+ if ($isInstanceOf(y, "Int"))
293266 then {
294- let F = E
295- F
267+ let z = y
268+ z
296269 }
297270 else throw("Auction lowest bid was not found")
298271 }
299272
300273
301-func aA (af,aB,aC,aD) = {
302- let aE = getInteger(this, ((af + "_Bid_") + aB))
303- let aF = {
304- let E = aE
305- if ($isInstanceOf(E, "Int"))
274+func as (X,at,au,av) = {
275+ let aw = getInteger(this, ((X + "_Bid_") + at))
276+ let ax = {
277+ let y = aw
278+ if ($isInstanceOf(y, "Int"))
306279 then {
307- let F = E
308- F
280+ let z = y
281+ z
309282 }
310283 else throw("Auction lowest bid was not found")
311284 }
312- if ((aF > aC))
313- then aD
314- else aB
285+ if ((ax > au))
286+ then av
287+ else at
315288 }
316289
317290
318-func aG (af,aH) = {
319- let aD = getInteger(this, ((af + "_Bid_") + aH))
320- let E = aD
321- if ($isInstanceOf(E, "Int"))
291+func ay (X,az) = {
292+ let av = getInteger(this, ((X + "_Bid_") + az))
293+ let y = av
294+ if ($isInstanceOf(y, "Int"))
322295 then {
323- let F = E
324- aH
296+ let z = y
297+ az
325298 }
326299 else throw("Error: Incorrect freelancerPub")
327300 }
328301
329302
330-func aI (aJ,aK) = {
331- let aL = (aJ * a)
332- if ((aL > aK))
333- then aL
303+func aA (aB,aC) = {
304+ let aD = (aB * a)
305+ if ((aD > aC))
306+ then aD
334307 else throw("New execution time must more than current execution time")
335308 }
336309
337310
338-func aM (aN) = {
339- let aO = getInteger(this, (aN + "_Rating"))
340- let E = aO
341- if ($isInstanceOf(E, "Int"))
311+func aE (aF) = {
312+ let aG = getInteger(this, (aF + "_Rating"))
313+ let y = aG
314+ if ($isInstanceOf(y, "Int"))
342315 then {
343- let F = E
344- F
316+ let z = y
317+ z
345318 }
346319 else 0
347320 }
348321
349322
350-func aP (Z) = if (if (if (if (if ((Z == w))
323+func aH (R) = if (if (if (if (if ((R == q))
351324 then true
352- else (Z == x))
325+ else (R == r))
353326 then true
354- else (Z == y))
327+ else (R == s))
355328 then true
356- else (Z == z))
329+ else (R == t))
357330 then true
358- else (Z == A))
359- then Z
331+ else (R == u))
332+ then R
360333 else throw("Only defined ambassadors can vote in disputes")
361334
362335
363-func aQ (af,aR,aS) = {
364- let aT = ((af + "_DiputeVote_") + aR)
365- let aU = getString(this, aT)
366- let aV = {
367- let E = aU
368- if ($isInstanceOf(E, "String"))
336+func aI (X,aJ,aK) = {
337+ let aL = ((X + "_DiputeVote_") + aJ)
338+ let aM = getString(this, aL)
339+ let aN = {
340+ let y = aM
341+ if ($isInstanceOf(y, "String"))
369342 then {
370- let F = E
343+ let z = y
371344 true
372345 }
373346 else false
374347 }
375- if (aV)
348+ if (aN)
376349 then throw("Ambassador voted already ")
377- else if (if ((aS == u))
350+ else if (if ((aK == o))
378351 then true
379- else (aS == v))
380- then aS
381- else throw(((("Vote is incorrect. Must be: " + u) + " or ") + v))
352+ else (aK == p))
353+ then aK
354+ else throw(((("Vote is incorrect. Must be: " + o) + " or ") + p))
382355 }
383356
384357
385-func aW (af) = {
386- let aX = getInteger(this, (af + "_DisputeVotes"))
387- let E = aX
388- if ($isInstanceOf(E, "Int"))
358+func aO (X) = {
359+ let aP = getInteger(this, (X + "_DisputeVotes"))
360+ let y = aP
361+ if ($isInstanceOf(y, "Int"))
389362 then {
390- let F = E
391- F
363+ let z = y
364+ z
392365 }
393366 else throw("VotesNumber was not found")
394367 }
395368
396369
397-func aY (af,aZ,ba,aN) = {
398- let bb = getString(this, ((af + "_DiputeVote_") + w))
399- let bc = getString(this, ((af + "_DiputeVote_") + x))
400- let bd = getString(this, ((af + "_DiputeVote_") + y))
401- let be = getString(this, ((af + "_DiputeVote_") + z))
402- let bf = getString(this, ((af + "_DiputeVote_") + A))
403- let bg = if ((bb == u))
370+func aQ (X,aR,aS,aF) = {
371+ let aT = getString(this, ((X + "_DiputeVote_") + q))
372+ let aU = getString(this, ((X + "_DiputeVote_") + r))
373+ let aV = getString(this, ((X + "_DiputeVote_") + s))
374+ let aW = getString(this, ((X + "_DiputeVote_") + t))
375+ let aX = getString(this, ((X + "_DiputeVote_") + u))
376+ let aY = if ((aT == o))
404377 then 1
405378 else 0
406- let bh = if ((bc == u))
379+ let aZ = if ((aU == o))
407380 then 1
408381 else 0
409- let bi = if ((bd == u))
382+ let ba = if ((aV == o))
410383 then 1
411384 else 0
412- let bj = if ((be == u))
385+ let bb = if ((aW == o))
413386 then 1
414387 else 0
415- let bk = if ((bf == u))
388+ let bc = if ((aX == o))
416389 then 1
417390 else 0
418- let bl = if ((aZ == u))
391+ let bd = if ((aR == o))
419392 then 1
420393 else 0
421- let bm = (((((bg + bh) + bi) + bj) + bk) + bl)
422- if ((bm > 2))
423- then ba
424- else aN
394+ let be = (((((aY + aZ) + ba) + bb) + bc) + bd)
395+ if ((be > 2))
396+ then aS
397+ else aF
425398 }
426399
427400
428-@Callable(bn)
429-func freelancerSignUp (bo) = {
430- let bp = toBase58String(bn.callerPublicKey)
431- let bq = getString(this, (bp + "_Freelancer"))
432- if (isDefined(bq))
433- then throw("User already registered")
434- else WriteSet([DataEntry((bp + "_Freelancer"), bo), DataEntry((bp + "_PendingEarnings"), 0), DataEntry((bp + "_PaidEarnings"), 0), DataEntry((bp + "_TotalEarnings"), 0), DataEntry((bp + "_JobsPending"), 0), DataEntry((bp + "_JobsCompleted"), 0), DataEntry((bp + "_JobsTotal"), 0)])
401+@Callable(bf)
402+func freelancerSignUp (bg) = {
403+ let bh = toBase58String(bf.callerPublicKey)
404+ WriteSet([DataEntry((bh + "_Freelancer"), bg), DataEntry((bh + "_PendingEarnings"), 0), DataEntry((bh + "_PaidEarnings"), 0), DataEntry((bh + "_TotalEarnings"), 0), DataEntry((bh + "_JobsPending"), 0), DataEntry((bh + "_JobsCompleted"), 0), DataEntry((bh + "_JobsTotal"), 0)])
435405 }
436406
437407
438408
439-@Callable(bn)
440-func clientSignUp (bo) = {
441- let bp = toBase58String(bn.callerPublicKey)
442- let bq = getString(this, (bp + "_Client"))
443- if (isDefined(bq))
444- then throw("User already registered")
445- else WriteSet([DataEntry((bp + "_Client"), bo), DataEntry((bp + "_JobsCreated"), 0), DataEntry((bp + "_JobsOnGoing"), 0), DataEntry((bp + "_JobInDispute"), 0)])
409+@Callable(bf)
410+func clientSignUp (bg) = {
411+ let bh = toBase58String(bf.callerPublicKey)
412+ WriteSet([DataEntry((bh + "_Client"), bg), DataEntry((bh + "_JobsCreated"), 0), DataEntry((bh + "_JobsOnGoing"), 0), DataEntry((bh + "_JobInDispute"), 0)])
446413 }
447414
448415
449416
450-@Callable(bn)
451-func createAuction (br,bs,bt,H) = {
452- let Z = toBase58String(bn.callerPublicKey)
453- let af = toBase58String(bn.transactionId)
454- let ba = Y(Z)
455- let bu = extract(bn.payment)
456- let ad = bu.amount
457- let S = ac(ad)
458- let bv = height
459- let bw = (bs * a)
460- let bx = (br * a)
461- let U = I(bu.assetId)
462- let by = B((ba + "_JobsCreated"))
463- let bz = G(H)
464- let bA = T(U, S)
465- WriteSet([DataEntry((af + "_State"), g), DataEntry((af + "_Info"), bt), DataEntry((af + "_AuctionClient"), ba), DataEntry((af + "_AuctionStart"), bv), DataEntry((af + "_AuctionDuration"), bw), DataEntry((af + "_JobPerformance"), bx), DataEntry((af + "_AssetName"), U), DataEntry((af + "_Price"), S), DataEntry((af + "_Category"), bz), DataEntry((U + "_Freezed"), bA), DataEntry((ba + "_JobsCreated"), (by + 1))])
417+@Callable(bf)
418+func createAuction (bi,bj,bk) = {
419+ let R = toBase58String(bf.callerPublicKey)
420+ let X = toBase58String(bf.transactionId)
421+ let aS = Q(R)
422+ let bl = extract(bf.payment)
423+ let V = bl.amount
424+ let K = U(V)
425+ let bm = height
426+ let bn = (bj * a)
427+ let bo = (bi * a)
428+ let M = A(bl.assetId)
429+ let bp = v((aS + "_JobsCreated"))
430+ let bq = L(M, K)
431+ WriteSet([DataEntry((X + "_State"), g), DataEntry((X + "_Info"), bk), DataEntry((X + "_AuctionClient"), aS), DataEntry((X + "_AuctionStart"), bm), DataEntry((X + "_AuctionDuration"), bn), DataEntry((X + "_JobPerformance"), bo), DataEntry((X + "_AssetName"), M), DataEntry((X + "_Price"), K), DataEntry((M + "_Freezed"), bq), DataEntry((aS + "_JobsCreated"), (bp + 1))])
466432 }
467433
468434
469435
470-@Callable(bn)
471-func makeBid (af,R) = {
472- let Z = toBase58String(bn.callerPublicKey)
473- let bB = ae(af)
474- let ba = ah(af)
475- let bv = aj(af)
476- let bC = al(af)
477- let aK = an(af)
478- let L = ap(af)
479- let S = ar(af)
480- let bD = K(L)
481- let aD = ab(Z)
482- let bE = ((S * 3) / 100)
483- let bA = X(L, S)
484- let aC = Q(R, S)
485- let bF = M(height, bv, bC)
486- if (bF)
487- then if ((bB == g))
488- then ScriptResult(WriteSet([DataEntry((af + "_State"), i), DataEntry((L + "_Freezed"), bA)]), TransferSet([ScriptTransfer(addressFromPublicKey(fromBase58String(ba)), (S - bE), bD)]))
489- else if ((bB == h))
436+@Callable(bf)
437+func makeBid (X,J) = {
438+ let R = toBase58String(bf.callerPublicKey)
439+ let br = W(X)
440+ let aS = Z(X)
441+ let bm = ab(X)
442+ let bs = ad(X)
443+ let aC = af(X)
444+ let D = ah(X)
445+ let K = aj(X)
446+ let bt = C(D)
447+ let av = T(R)
448+ let bu = ((K * 3) / 100)
449+ let bq = P(D, K)
450+ let au = I(J, K)
451+ let bv = E(height, bm, bs)
452+ if (bv)
453+ then if ((br == g))
454+ then ScriptResult(WriteSet([DataEntry((X + "_State"), i), DataEntry((D + "_Freezed"), bq)]), TransferSet([ScriptTransfer(addressFromPublicKey(fromBase58String(aS)), (K - bu), bt)]))
455+ else if ((br == h))
490456 then {
491- let ay = av(af)
492- let bG = ax(af, ay)
493- let bH = ((S - bG) - bE)
494- ScriptResult(WriteSet([DataEntry((af + "_State"), j), DataEntry((af + "_HiredFreelancer"), ay), DataEntry((af + "_Price"), bG)]), TransferSet([ScriptTransfer(addressFromPublicKey(fromBase58String(ba)), bH, bD)]))
457+ let aq = an(X)
458+ let bw = ap(X, aq)
459+ let bx = ((K - bw) - bu)
460+ ScriptResult(WriteSet([DataEntry((X + "_State"), j), DataEntry((X + "_HiredFreelancer"), aq), DataEntry((X + "_Price"), bw)]), TransferSet([ScriptTransfer(addressFromPublicKey(fromBase58String(aS)), bx, bt)]))
495461 }
496462 else throw("Incorrect auction state")
497- else if ((bB == g))
498- then WriteSet([DataEntry(((af + "_Bid_") + aD), aC), DataEntry((af + "_State"), h), DataEntry((af + "_LowestBidderPub"), Z)])
499- else if ((bB == h))
463+ else if ((br == g))
464+ then WriteSet([DataEntry(((X + "_Bid_") + av), au), DataEntry((X + "_State"), h), DataEntry((X + "_LowestBidderPub"), R)])
465+ else if ((br == h))
500466 then {
501- let aB = av(af)
502- let bI = aA(af, aB, aC, aD)
503- WriteSet([DataEntry((af + "_LowestBidderPub"), bI), DataEntry(((af + "_Bid_") + aD), aC)])
467+ let at = an(X)
468+ let by = as(X, at, au, av)
469+ WriteSet([DataEntry((X + "_LowestBidderPub"), by), DataEntry(((X + "_Bid_") + av), au)])
504470 }
505- else throw(((((("Incorrect jobId state. Now: " + bB) + ", must be: ") + g) + " or ") + h))
471+ else throw(((((("Incorrect jobId state. Now: " + br) + ", must be: ") + g) + " or ") + h))
506472 }
507473
508474
509475
510-@Callable(bn)
511-func chooseFreelancer (af,aH) = {
512- let Z = toBase58String(bn.callerPublicKey)
513- let bB = ae(af)
514- let ba = ah(af)
515- let bv = aj(af)
516- let bC = al(af)
517- let L = ap(af)
518- let S = ar(af)
519- let bD = K(L)
520- let aD = aG(af, aH)
521- let bJ = ax(af, aD)
522- let bF = M(height, bv, bC)
523- let bK = B((ba + "_JobsOnGoing"))
524- let bL = B((aH + "_PendingEarnings"))
525- let bM = B((aH + "_TotalEarnings"))
526- if ((Z == ba))
527- then if (bF)
528- then if ((bB == g))
476+@Callable(bf)
477+func chooseFreelancer (X,az) = {
478+ let R = toBase58String(bf.callerPublicKey)
479+ let br = W(X)
480+ let aS = Z(X)
481+ let bm = ab(X)
482+ let bs = ad(X)
483+ let D = ah(X)
484+ let K = aj(X)
485+ let bt = C(D)
486+ let av = ay(X, az)
487+ let bz = ap(X, av)
488+ let bv = E(height, bm, bs)
489+ let bA = v((aS + "_JobsOnGoing"))
490+ let bB = v((az + "_PendingEarnings"))
491+ let bC = v((az + "_TotalEarnings"))
492+ if ((R == aS))
493+ then if (bv)
494+ then if ((br == g))
529495 then {
530- let bA = X(L, S)
531- let bE = ((S * 3) / 100)
532- ScriptResult(WriteSet([DataEntry((af + "_State"), i), DataEntry((L + "_Freezed"), bA)]), TransferSet([ScriptTransfer(addressFromPublicKey(fromBase58String(ba)), (S - bE), bD)]))
496+ let bq = P(D, K)
497+ let bu = ((K * 3) / 100)
498+ ScriptResult(WriteSet([DataEntry((X + "_State"), i), DataEntry((D + "_Freezed"), bq)]), TransferSet([ScriptTransfer(addressFromPublicKey(fromBase58String(aS)), (K - bu), bt)]))
533499 }
534- else if ((bB == h))
500+ else if ((br == h))
535501 then {
536- let ay = av(af)
537- let bG = ax(af, ay)
538- let bH = (S - bG)
539- let bA = X(L, bH)
540- ScriptResult(WriteSet([DataEntry((af + "_State"), j), DataEntry((af + "_HiredFreelancer"), ay), DataEntry((af + "_Price"), bG), DataEntry((L + "_Freezed"), bA), DataEntry((ba + "_JobsOnGoing"), (bK + 1)), DataEntry((aH + "_PendingEarnings"), (bL + bG)), DataEntry((aH + "_TotalEarnings"), (bM + bG))]), TransferSet([ScriptTransfer(addressFromPublicKey(fromBase58String(ba)), bH, bD)]))
502+ let aq = an(X)
503+ let bw = ap(X, aq)
504+ let bx = (K - bw)
505+ let bq = P(D, bx)
506+ ScriptResult(WriteSet([DataEntry((X + "_State"), j), DataEntry((X + "_HiredFreelancer"), aq), DataEntry((X + "_Price"), bw), DataEntry((D + "_Freezed"), bq), DataEntry((aS + "_JobsOnGoing"), (bA + 1)), DataEntry((az + "_PendingEarnings"), (bB + bw)), DataEntry((az + "_TotalEarnings"), (bC + bw))]), TransferSet([ScriptTransfer(addressFromPublicKey(fromBase58String(aS)), bx, bt)]))
541507 }
542508 else throw("Incorrect auction state")
543- else if (if ((bB == g))
509+ else if (if ((br == g))
544510 then true
545- else (bB == h))
511+ else (br == h))
546512 then {
547- let bH = (S - bJ)
548- let bA = X(L, bH)
549- ScriptResult(WriteSet([DataEntry((af + "_State"), j), DataEntry((af + "_HiredFreelancer"), aD), DataEntry((af + "_Price"), bJ), DataEntry((L + "_Freezed"), bA), DataEntry((ba + "_JobsOnGoing"), (bK + 1)), DataEntry((aH + "_PendingEarnings"), (bL + bJ)), DataEntry((aH + "_TotalEarnings"), (bM + bJ))]), TransferSet([ScriptTransfer(addressFromPublicKey(fromBase58String(ba)), (bH + 1), bD)]))
513+ let bx = (K - bz)
514+ let bq = P(D, bx)
515+ ScriptResult(WriteSet([DataEntry((X + "_State"), j), DataEntry((X + "_HiredFreelancer"), av), DataEntry((X + "_Price"), bz), DataEntry((D + "_Freezed"), bq), DataEntry((aS + "_JobsOnGoing"), (bA + 1)), DataEntry((az + "_PendingEarnings"), (bB + bz)), DataEntry((az + "_TotalEarnings"), (bC + bz))]), TransferSet([ScriptTransfer(addressFromPublicKey(fromBase58String(aS)), (bx + 1), bt)]))
550516 }
551517 else throw("Incorrect auction state")
552518 else throw("Only auction customer can choose a freelancer")
553519 }
554520
555521
556522
557-@Callable(bn)
558-func increaseExecutionTime (af,aJ) = {
559- let bN = toBase58String(bn.callerPublicKey)
560- let bB = ae(af)
561- let ba = ah(af)
562- let aK = an(af)
563- let bO = aI(aJ, aK)
564- if ((bN == ba))
565- then if (if (if ((bB == g))
523+@Callable(bf)
524+func increaseExecutionTime (X,aB) = {
525+ let bD = toBase58String(bf.callerPublicKey)
526+ let br = W(X)
527+ let aS = Z(X)
528+ let aC = af(X)
529+ let bE = aA(aB, aC)
530+ if ((bD == aS))
531+ then if (if (if ((br == g))
566532 then true
567- else (bB == h))
533+ else (br == h))
568534 then true
569- else (bB == j))
570- then WriteSet([DataEntry((af + "_JobPerformance"), bO)])
535+ else (br == j))
536+ then WriteSet([DataEntry((X + "_JobPerformance"), bE)])
571537 else throw("Incorrect state")
572538 else throw("Only Client can increase execution time")
573539 }
574540
575541
576542
577-@Callable(bn)
578-func cancelAuction (af) = {
579- let Z = toBase58String(bn.callerPublicKey)
580- let bB = ae(af)
581- let ba = ah(af)
582- let L = ap(af)
583- let S = ar(af)
584- let bD = K(L)
585- let bE = ((S * 3) / 100)
586- let bP = (S - bE)
587- let bA = X(L, S)
588- if ((Z == ba))
589- then if ((bB == g))
590- then ScriptResult(WriteSet([DataEntry((af + "_State"), i), DataEntry((L + "_Freezed"), bA)]), TransferSet([ScriptTransfer(addressFromPublicKey(fromBase58String(ba)), bP, bD)]))
543+@Callable(bf)
544+func cancelAuction (X) = {
545+ let R = toBase58String(bf.callerPublicKey)
546+ let br = W(X)
547+ let aS = Z(X)
548+ let D = ah(X)
549+ let K = aj(X)
550+ let bt = C(D)
551+ let bu = ((K * 3) / 100)
552+ let bF = (K - bu)
553+ let bq = P(D, K)
554+ if ((R == aS))
555+ then if ((br == g))
556+ then ScriptResult(WriteSet([DataEntry((X + "_State"), i), DataEntry((D + "_Freezed"), bq)]), TransferSet([ScriptTransfer(addressFromPublicKey(fromBase58String(aS)), bF, bt)]))
591557 else throw("Auction can be canceled only by auction owner.")
592558 else throw("Only Client can cancel auction")
593559 }
594560
595561
596562
597-@Callable(bn)
598-func openDispute (af) = {
599- let bN = toBase58String(bn.callerPublicKey)
600- let bB = ae(af)
601- let ba = ah(af)
602- let aN = at(af)
603- let bQ = B((ba + "_JobsInDispute"))
604- if (if ((bB == j))
563+@Callable(bf)
564+func openDispute (X) = {
565+ let bD = toBase58String(bf.callerPublicKey)
566+ let br = W(X)
567+ let aS = Z(X)
568+ let aF = al(X)
569+ let bG = v((aS + "_JobsInDispute"))
570+ if (if ((br == j))
605571 then true
606- else (bB == k))
607- then if (if ((bN == ba))
572+ else (br == k))
573+ then if (if ((bD == aS))
608574 then true
609- else (bN == aN))
610- then WriteSet([DataEntry((af + "_State"), m), DataEntry((af + "_DisputeVotes"), 0), DataEntry((ba + "_JobsInDispute"), (bQ + 1))])
575+ else (bD == aF))
576+ then WriteSet([DataEntry((X + "_State"), m), DataEntry((X + "_DisputeVotes"), 0), DataEntry((aS + "_JobsInDispute"), (bG + 1))])
611577 else throw("Only Client and Freelancer can open dispute")
612578 else throw("Incorrect auction state for dispute opening")
613579 }
614580
615581
616582
617-@Callable(bn)
618-func voteDispute (af,aS) = {
619- let Z = toBase58String(bn.callerPublicKey)
620- let bB = ae(af)
621- let ba = ah(af)
622- let L = ap(af)
623- let S = ar(af)
624- let aN = at(af)
625- let bR = ((S * 3) / 100)
626- let bD = K(L)
627- let aR = aP(Z)
628- let bS = aQ(af, aR, aS)
629- let bT = aW(af)
630- let bQ = B((ba + "_JobsInDispute"))
631- let bL = B((aN + "_PendingEarnings"))
632- let bM = B((aN + "_TotalEarnings"))
633- if ((bB == m))
634- then if ((bT == 4))
583+@Callable(bf)
584+func voteDispute (X,aK) = {
585+ let R = toBase58String(bf.callerPublicKey)
586+ let br = W(X)
587+ let aS = Z(X)
588+ let D = ah(X)
589+ let K = aj(X)
590+ let aF = al(X)
591+ let bH = ((K * 3) / 100)
592+ let bt = C(D)
593+ let aJ = aH(R)
594+ let bI = aI(X, aJ, aK)
595+ let bJ = aO(X)
596+ let bG = v((aS + "_JobsInDispute"))
597+ let bB = v((aF + "_PendingEarnings"))
598+ let bC = v((aF + "_TotalEarnings"))
599+ if ((br == m))
600+ then if ((bJ == 4))
635601 then {
636- let bU = aY(af, bS, ba, aN)
637- let bA = X(L, S)
638- if ((bU == ba))
602+ let bK = aQ(X, bI, aS, aF)
603+ let bq = P(D, K)
604+ if ((bK == aS))
639605 then {
640- let bV = (S - bR)
641- ScriptResult(WriteSet([DataEntry((af + "_DisputeVotes"), (bT + 1)), DataEntry((af + "_State"), n), DataEntry(((af + "_DiputeVote_") + aR), bS), DataEntry((L + "_Freezed"), bA), DataEntry((ba + "_JobsInDispute"), (bQ - 1)), DataEntry((aN + "_PendingEarnings"), (bL - S)), DataEntry((aN + "_TotalEarnings"), (bM - S))]), TransferSet([ScriptTransfer(addressFromPublicKey(fromBase58String(bU)), bV, bD)]))
606+ let bL = (K - bH)
607+ ScriptResult(WriteSet([DataEntry((X + "_DisputeVotes"), (bJ + 1)), DataEntry((X + "_State"), n), DataEntry(((X + "_DiputeVote_") + aJ), bI), DataEntry((D + "_Freezed"), bq), DataEntry((aS + "_JobsInDispute"), (bG - 1)), DataEntry((aF + "_PendingEarnings"), (bB - K)), DataEntry((aF + "_TotalEarnings"), (bC - K))]), TransferSet([ScriptTransfer(addressFromPublicKey(fromBase58String(bK)), bL, bt)]))
642608 }
643609 else {
644- let bV = (S - (bR * 2))
645- ScriptResult(WriteSet([DataEntry((af + "_DisputeVotes"), (bT + 1)), DataEntry((af + "_State"), n), DataEntry(((af + "_DiputeVote_") + aR), bS), DataEntry((L + "_Freezed"), bA), DataEntry((ba + "_JobsInDispute"), (bQ - 1)), DataEntry((aN + "_PendingEarnings"), (bL - S))]), TransferSet([ScriptTransfer(addressFromPublicKey(fromBase58String(bU)), bV, bD)]))
610+ let bL = (K - (bH * 2))
611+ ScriptResult(WriteSet([DataEntry((X + "_DisputeVotes"), (bJ + 1)), DataEntry((X + "_State"), n), DataEntry(((X + "_DiputeVote_") + aJ), bI), DataEntry((D + "_Freezed"), bq), DataEntry((aS + "_JobsInDispute"), (bG - 1)), DataEntry((aF + "_PendingEarnings"), (bB - K))]), TransferSet([ScriptTransfer(addressFromPublicKey(fromBase58String(bK)), bL, bt)]))
646612 }
647613 }
648- else WriteSet([DataEntry((af + "_DisputeVotes"), (bT + 1)), DataEntry(((af + "_DiputeVote_") + aR), bS)])
614+ else WriteSet([DataEntry((X + "_DisputeVotes"), (bJ + 1)), DataEntry(((X + "_DiputeVote_") + aJ), bI)])
649615 else throw(("Incorrect state. Must be: " + m))
650616 }
651617
652618
653619
654-@Callable(bn)
655-func workHandOver (af) = {
656- let Z = toBase58String(bn.callerPublicKey)
657- let bB = ae(af)
658- let ba = ah(af)
659- let bv = aj(af)
660- let bC = al(af)
661- let aK = an(af)
662- let aN = at(af)
663- let bW = ((height - bv) > aK)
664- let bQ = B((ba + "_JobsInDispute"))
665- if ((Z == aN))
666- then if ((bB == j))
667- then if (bW)
668- then WriteSet([DataEntry((af + "_State"), m), DataEntry((af + "_DisputeVotes"), "0"), DataEntry((ba + "_JobInDispute"), (bQ + 1))])
669- else WriteSet([DataEntry((af + "_State"), k)])
620+@Callable(bf)
621+func workHandOver (X) = {
622+ let R = toBase58String(bf.callerPublicKey)
623+ let br = W(X)
624+ let aS = Z(X)
625+ let bm = ab(X)
626+ let bs = ad(X)
627+ let aC = af(X)
628+ let aF = al(X)
629+ let bM = ((height - bm) > aC)
630+ let bG = v((aS + "_JobsInDispute"))
631+ if ((R == aF))
632+ then if ((br == j))
633+ then if (bM)
634+ then WriteSet([DataEntry((X + "_State"), m), DataEntry((X + "_DisputeVotes"), "0"), DataEntry((aS + "_JobInDispute"), (bG + 1))])
635+ else WriteSet([DataEntry((X + "_State"), k)])
670636 else throw("Auction state is incorrect")
671637 else throw("Only a freelancer can indicate that the work is done")
672638 }
673639
674640
675641
676-@Callable(bn)
677-func acceptWork (af) = {
678- let Z = toBase58String(bn.callerPublicKey)
679- let bB = ae(af)
680- let ba = ah(af)
681- let bv = aj(af)
682- let bC = al(af)
683- let L = ap(af)
684- let S = ar(af)
685- let aN = at(af)
686- let bK = B((ba + "_JobsOnGoing"))
687- let bL = B((aN + "_PendingEarnings"))
688- let bX = B((aN + "_PaidEarnings"))
689- let bE = ((S * 3) / 100)
690- let bP = (S - (bE * 2))
691- let bD = K(L)
692- let bA = X(L, S)
693- let bY = aM(aN)
694- if ((Z == ba))
695- then if ((bB == k))
696- then ScriptResult(WriteSet([DataEntry((af + "_State"), l), DataEntry((aN + "_Rating"), (bY + 1)), DataEntry((L + "_Freezed"), bA), DataEntry((ba + "_JobsOnGoing"), (bK - 1)), DataEntry((aN + "_PendingEarnings"), (bL - S)), DataEntry((aN + "_PaidEarnings"), (bX + S))]), TransferSet([ScriptTransfer(addressFromPublicKey(fromBase58String(aN)), bP, bD)]))
642+@Callable(bf)
643+func acceptWork (X) = {
644+ let R = toBase58String(bf.callerPublicKey)
645+ let br = W(X)
646+ let aS = Z(X)
647+ let bm = ab(X)
648+ let bs = ad(X)
649+ let D = ah(X)
650+ let K = aj(X)
651+ let aF = al(X)
652+ let bA = v((aS + "_JobsOnGoing"))
653+ let bB = v((aF + "_PendingEarnings"))
654+ let bN = v((aF + "_PaidEarnings"))
655+ let bu = ((K * 3) / 100)
656+ let bF = (K - (bu * 2))
657+ let bt = C(D)
658+ let bq = P(D, K)
659+ let bO = aE(aF)
660+ if ((R == aS))
661+ then if ((br == k))
662+ then ScriptResult(WriteSet([DataEntry((X + "_State"), l), DataEntry((aF + "_Rating"), (bO + 1)), DataEntry((D + "_Freezed"), bq), DataEntry((aS + "_JobsOnGoing"), (bA - 1)), DataEntry((aF + "_PendingEarnings"), (bB - K)), DataEntry((aF + "_PaidEarnings"), (bN + K))]), TransferSet([ScriptTransfer(addressFromPublicKey(fromBase58String(aF)), bF, bt)]))
697663 else throw(("Incorrect state. Must be: " + k))
698664 else throw("Only auction customer can use this function")
699665 }
700666
701667
702-@Verifier(bZ)
703-func ca () = if (sigVerify(bZ.bodyBytes, bZ.proofs[0], bZ.senderPublicKey))
668+@Verifier(bP)
669+func bQ () = if (sigVerify(bP.bodyBytes, bP.proofs[0], bP.senderPublicKey))
704670 then {
705- let E = bZ
706- if ($isInstanceOf(E, "TransferTransaction"))
671+ let y = bP
672+ if ($isInstanceOf(y, "TransferTransaction"))
707673 then {
708- let cb = E
709- let cc = I(cb.assetId)
710- let cd = getInteger(this, (cc + "_Reserved"))
711- let ce = {
712- let cf = cd
713- if ($isInstanceOf(cf, "Int"))
674+ let bR = y
675+ let bS = A(bR.assetId)
676+ let bT = getInteger(this, (bS + "_Reserved"))
677+ let bU = {
678+ let bV = bT
679+ if ($isInstanceOf(bV, "Int"))
714680 then {
715- let F = cf
716- F
681+ let z = bV
682+ z
717683 }
718684 else 0
719685 }
720- let cg = (assetBalance(this, cb.assetId) - ce)
721- (cg >= cb.amount)
686+ let bW = (assetBalance(this, bR.assetId) - bU)
687+ (bW >= bR.amount)
722688 }
723- else if ($isInstanceOf(E, "SetScriptTransaction"))
689+ else if ($isInstanceOf(y, "SetScriptTransaction"))
724690 then {
725- let ch = E
691+ let bX = y
726692 true
727693 }
728694 else false
729695 }
730696 else false
731697

github/deemru/w8io/873ac7e 
256.21 ms