tx · CUD7ZtyMQcZtop2oFxKFyX9xpz9x8bxxjbcgvkvuubsH

3N5W8da2iiijVieA6qLGo7KzCJj8B19smWU:  -0.01400000 Waves

2021.06.13 00:49 [1567695] smart account 3N5W8da2iiijVieA6qLGo7KzCJj8B19smWU > SELF 0.00000000 Waves

{ "type": 13, "id": "CUD7ZtyMQcZtop2oFxKFyX9xpz9x8bxxjbcgvkvuubsH", "fee": 1400000, "feeAssetId": null, "timestamp": 1623534593333, "version": 2, "chainId": 84, "sender": "3N5W8da2iiijVieA6qLGo7KzCJj8B19smWU", "senderPublicKey": "AWADFmQjf2WbDSqb24S9YZpix3VEdiBdeiJ2J2sSfQ49", "proofs": [ "1eDpqpdqvDWd2263G5WCVJkxfgs7cjgaDwyHa9oTrMvhxo3YDg4A1zcRt2AycpbvG3TBUYCi9ZGiFTp3mBMYYi7" ], "script": "base64:AAIEAAAAAAAAAB0IAhIAEgASAwoBARIAEgASCAoGGBEYEQEBEgASAAAAAE0AAAAADGFkbWluUHViS2V5MQEAAAAgBM915WTQwQ9OZ7kfE2TEGg3qhCRCMX0zkF1AWAqdk0oAAAAADGFkbWluUHViS2V5MgEAAAAgBM915WTQwQ9OZ7kfE2TEGg3qhCRCMX0zkF1AWAqdk0oAAAAADGFkbWluUHViS2V5MwEAAAAgBM915WTQwQ9OZ7kfE2TEGg3qhCRCMX0zkF1AWAqdk0oAAAAAFGFkbWluUHViS2V5U3RhcnRTdG9wAQAAACAEz3XlZNDBD05nuR8TZMQaDeqEJEIxfTOQXUBYCp2TSgAAAAARYWRtaW5QdWJLZXlXYWxsZXQBAAAAID53WmVaVsn8KVcztbwNRS3KzKf4hZION3dY82IVUhQSAAAAAAlrZXlBY3RpdmUCAAAABmFjdGl2ZQAAAAAIa2V5Q2F1c2UCAAAADnNodXRkb3duX2NhdXNlAAAAAA9rZXlMYXN0SW50ZXJlc3QCAAAADWxhc3RfaW50ZXJlc3QAAAAAE2tleVVzZXJMYXN0SW50ZXJlc3QCAAAADl9sYXN0X2ludGVyZXN0AAAAABFrZXlVc2VyU1dPUExvY2tlZAIAAAAMX1NXT1BfYW1vdW50AAAAABRrZXlVc2VyR2V0QmFja0hlaWdodAIAAAAOX2dldEJhY2tIZWlnaHQAAAAAEmtleVRvdGFsU1dPUExvY2tlZAIAAAARdG90YWxfU1dPUF9hbW91bnQAAAAAEmtVc2VyVG90YWxWb3RlU1dPUAIAAAAVX3VzZXJfdG90YWxfU1dPUF92b3RlAAAAABdrZXlVc2VyVm90ZU9wdGlvbkFtb3VudAIAAAATX1NXT1Bfb3B0aW9uX2Ftb3VudAAAAAAYa2V5VG90YWxWb3RlT3B0aW9uQW1vdW50AgAAABh0b3RhbF9TV09QX29wdGlvbl9hbW91bnQAAAAAGGtleVVzZXJTV09QQ2xhaW1lZEFtb3VudAIAAAAUX1NXT1BfY2xhaW1lZF9hbW91bnQAAAAAHGtleVVzZXJTV09QTGFzdENsYWltZWRBbW91bnQCAAAAGV9TV09QX2xhc3RfY2xhaW1lZF9hbW91bnQAAAAAC2tleVZvdGVOYW1lAgAAAAl2b3RlX25hbWUAAAAADWtleU9wdGlvbk5hbWUCAAAADF9vcHRpb25fbmFtZQAAAAAUa2V5Vm90aW5nU3RhcnRIZWlnaHQCAAAADF9zdGFydEhlaWdodAAAAAAPa2V5Vm90ZUR1cmF0aW9uAgAAAA5fdm90ZV9kdXJhdGlvbgAAAAAca2V5UmV3YXJkUG9vbEZyYWN0aW9uQ3VycmVudAIAAAAdX2N1cnJlbnRfcG9vbF9mcmFjdGlvbl9yZXdhcmQAAAAAHWtleVJld2FyZFBvb2xGcmFjdGlvblByZXZpb3VzAgAAAB5fcHJldmlvdXNfcG9vbF9mcmFjdGlvbl9yZXdhcmQAAAAAFWtleUhlaWdodFBvb2xGcmFjdGlvbgIAAAAaX3Bvb2xfcmV3YXJkX3VwZGF0ZV9oZWlnaHQAAAAAHWtleVRvdGFsUmV3YXJkUGVyQmxvY2tDdXJyZW50AgAAAB50b3RhbF9yZXdhcmRfcGVyX2Jsb2NrX2N1cnJlbnQAAAAAHmtleVRvdGFsUmV3YXJkUGVyQmxvY2tQcmV2aW91cwIAAAAfdG90YWxfcmV3YXJkX3Blcl9ibG9ja19wcmV2aW91cwAAAAAVa2V5UmV3YXJkVXBkYXRlSGVpZ2h0AgAAABRyZXdhcmRfdXBkYXRlX2hlaWdodAAAAAAka2V5UmV3YXJkVXBkYXRlRmlyc3RQYWdpbmF0aW9uSGVpZ2h0AgAAACVyZXdhcmRfdXBkYXRlX2hlaWdodF9maXJzdF9wYWdpbmF0aW9uAAAAABVrZXlOb1ZvdGluZ0Zvck5ld1Bvb2wCAAAACF92b3RlX25vAAAAABZrZXlZZXNWb3RpbmdGb3JOZXdQb29sAgAAAAlfdm90ZV95ZXMAAAAAG2tleUFtb3VudE9mVm90aW5nRm9yTmV3UG9vbAIAAAARbWF4X2Ftb3VudF92b3RpbmcAAAAAG2tleVN0YXR1c09mVm90aW5nRm9yTmV3UG9vbAIAAAAHX3N0YXR1cwAAAAAfa2V5SGVpZ2h0T2ZQb29sVm90aW5nRm9yTmV3UG9vbAIAAAAOX2ZpbmlzaF9oZWlnaHQAAAAAD2FjdGl2ZVZvdGVGaXJzdAIAAAAUdm90aW5nX2FjdGl2ZV9jZWxsXzEAAAAAEGFjdGl2ZVZvdGVTZWNvbmQCAAAAFHZvdGluZ19hY3RpdmVfY2VsbF8yAAAAAA9hY3RpdmVWb3RlVGhpcmQCAAAAFHZvdGluZ19hY3RpdmVfY2VsbF8zAAAAAA5rZXlUZW1wUHJldlN1bQIAAAATc3VtX3Jld2FyZF9wcmV2aW91cwAAAAANa2V5VGVtcEN1clN1bQIAAAASc3VtX3Jld2FyZF9jdXJyZW50AAAAAAhpc0FjdGl2ZQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBsAAAACBQAAAAR0aGlzBQAAAAlrZXlBY3RpdmUGAAAAABJmYXJtaW5nU1dPUEFkZHJlc3MJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVQsS4J2Ro3vGTI9KakEzAv69iHSjreZL2YAAAAAEnZvdGluZ0xpdGVDb250cmFjdAkBAAAAB0FkZHJlc3MAAAABAQAAABoBVBo2ft9Xop0naVz+v/cm1Of7ocNoPiDKfwAAAAAQdm90aW5nRm9yTmV3UG9vbAkBAAAAB0FkZHJlc3MAAAABAQAAABoBVHYh4XkVy3N3fz+gY3RQqyMsWxkYg/NLggAAAAAJa2V5U1dPUGlkAgAAAAdTV09QX2lkAAAAAARTV09QCQACWQAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAAEmZhcm1pbmdTV09QQWRkcmVzcwUAAAAJa2V5U1dPUGlkAAAAAApzY2FsZVZhbHVlAAAAAAAF9eEAAAAAAA50b3RhbFZvdGVTaGFyZQAAAAACVAvkAAAAAAAMa1N0YXJ0SGVpZ2h0AgAAAAxzdGFydF9oZWlnaHQAAAAAC2tCYXNlUGVyaW9kAgAAAAtiYXNlX3BlcmlvZAAAAAANa1BlcmlvZExlbmd0aAIAAAANcGVyaW9kX2xlbmd0aAAAAAAPa1VzZXJUb3RhbFN0cnVjAgAAABFfdXNlcl90b3RhbF9zdHJ1YwAAAAAKYmFzZVBlcmlvZAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAAEnZvdGluZ0xpdGVDb250cmFjdAUAAAALa0Jhc2VQZXJpb2QCAAAAJEVtcHR5IGtCYXNlUGVyaW9kIGF0IHZvdGluZyBjb250cmFjdAAAAAALc3RhcnRIZWlnaHQJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAABJ2b3RpbmdMaXRlQ29udHJhY3QFAAAADGtTdGFydEhlaWdodAIAAAAlRW1wdHkga1N0YXJ0SGVpZ2h0IGF0IHZvdGluZyBjb250cmFjdAAAAAAMcGVyaW9kTGVuZ3RoCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAASdm90aW5nTGl0ZUNvbnRyYWN0BQAAAA1rUGVyaW9kTGVuZ3RoAgAAACZFbXB0eSBrUGVyaW9kTGVuZ3RoIGF0IHZvdGluZyBjb250cmFjdAAAAAAPZmlyc3RBY3RpdmVWb3RlCQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wFAAAAD2FjdGl2ZVZvdGVGaXJzdAIAAAAAAAAAABBzZWNvbmRBY3RpdmVWb3RlCQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wFAAAAEGFjdGl2ZVZvdGVTZWNvbmQCAAAAAAAAAAAPdGhpcmRBY3RpdmVWb3RlCQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wFAAAAD2FjdGl2ZVZvdGVUaGlyZAIAAAAAAAAAABBjdXJyVm90aW5nUGVyaW9kCQAAZAAAAAIFAAAACmJhc2VQZXJpb2QJAABpAAAAAgkAAGUAAAACBQAAAAZoZWlnaHQFAAAAC3N0YXJ0SGVpZ2h0BQAAAAxwZXJpb2RMZW5ndGgBAAAAB3N1c3BlbmQAAAABAAAABWNhdXNlCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACBQAAAAlrZXlBY3RpdmUHCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAACGtleUNhdXNlBQAAAAVjYXVzZQUAAAADbmlsAQAAABJ0aHJvd05vdEVub3VnaFNXT1AAAAAACQAAAgAAAAECAAAARk5vdCBlbm91Z2ggU1dPUDogdXNlclNXT1BMb2NrZWQgLSB1c2VyVG90YWxWb3RlQW1vdW50IDwgdm90ZVNXT1BBbW91bnQBAAAAE2dldExhc3RJbnRlcmVzdEluZm8AAAAABAAAAAxsYXN0SW50ZXJlc3QJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAAPa2V5TGFzdEludGVyZXN0AAAAAAAAAAAABQAAAAxsYXN0SW50ZXJlc3QBAAAAEWdldFVzZXJTV09QTG9ja2VkAAAAAQAAAAR1c2VyCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyBQAAABFrZXlVc2VyU1dPUExvY2tlZAAAAAAAAAAAAAEAAAAYZ2V0VXNlclNXT1BDbGFpbWVkQW1vdW50AAAAAQAAAAR1c2VyCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyBQAAABhrZXlVc2VyU1dPUENsYWltZWRBbW91bnQAAAAAAAAAAAABAAAAFmdldFVzZXJUb3RhbFZvdGVBbW91bnQAAAABAAAABHVzZXIJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAASdm90aW5nTGl0ZUNvbnRyYWN0CQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgUAAAASa1VzZXJUb3RhbFZvdGVTV09QAAAAAAAAAAAAAQAAABNnZXRVc2VySW50ZXJlc3RJbmZvAAAAAgAAAAR1c2VyAAAADGxhc3RJbnRlcmVzdAQAAAAOdXNlclNXT1BBbW91bnQJAQAAABFnZXRVc2VyU1dPUExvY2tlZAAAAAEFAAAABHVzZXIEAAAAEHVzZXJMYXN0SW50ZXJlc3QJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQAEJQAAAAEFAAAABHVzZXIFAAAAE2tleVVzZXJMYXN0SW50ZXJlc3QEAAAAFXVzZXJMYXN0SW50ZXJlc3RWYWx1ZQQAAAAHJG1hdGNoMAUAAAAQdXNlckxhc3RJbnRlcmVzdAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAABB1c2VyTGFzdEludGVyZXN0BQAAAAckbWF0Y2gwBQAAABB1c2VyTGFzdEludGVyZXN0BQAAAAxsYXN0SW50ZXJlc3QJAAUUAAAAAgUAAAAVdXNlckxhc3RJbnRlcmVzdFZhbHVlBQAAAA51c2VyU1dPUEFtb3VudAEAAAAgZ2V0VXNlclRvdGFsVm90ZUFtb3VudEZvck9uZVBvb2wAAAACAAAABHBvb2wAAAAEdXNlcgQAAAAGdm90aW5nCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wFAAAABHBvb2wA//////////8EAAAADmhlaWdodE9mVm90aW5nCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wJAAEsAAAAAgkAAaQAAAABBQAAAAZ2b3RpbmcFAAAAH2tleUhlaWdodE9mUG9vbFZvdGluZ0Zvck5ld1Bvb2wAAAAAAAAAAAAEAAAADnN0YXR1c09mVm90aW5nCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGwAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wJAAEsAAAAAgkAAaQAAAABBQAAAAZ2b3RpbmcFAAAAG2tleVN0YXR1c09mVm90aW5nRm9yTmV3UG9vbAYEAAAADWN1cnJlbnRIZWlnaHQFAAAABmhlaWdodAMJAABmAAAAAgAAAAAAAAAAAAUAAAAGdm90aW5nAAAAAAAAAAAAAwkBAAAAASEAAAABBQAAAA5zdGF0dXNPZlZvdGluZwAAAAAAAAAAAAMJAABmAAAAAgUAAAAOaGVpZ2h0T2ZWb3RpbmcFAAAADWN1cnJlbnRIZWlnaHQJAABkAAAAAgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAABB2b3RpbmdGb3JOZXdQb29sCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQAEJQAAAAEFAAAABHVzZXICAAAAAV8JAAGkAAAAAQUAAAAGdm90aW5nBQAAABZrZXlZZXNWb3RpbmdGb3JOZXdQb29sAAAAAAAAAAAACQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgIAAAABXwkAAaQAAAABBQAAAAZ2b3RpbmcFAAAAFWtleU5vVm90aW5nRm9yTmV3UG9vbAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAgZ2V0VXNlclRvdGFsVm90ZUZvck5ld1Bvb2xBbW91bnQAAAABAAAABHVzZXIEAAAADGxpc3RPZlZvdGluZwkABEwAAAACCQEAAAAgZ2V0VXNlclRvdGFsVm90ZUFtb3VudEZvck9uZVBvb2wAAAACBQAAAA9maXJzdEFjdGl2ZVZvdGUFAAAABHVzZXIJAARMAAAAAgkBAAAAIGdldFVzZXJUb3RhbFZvdGVBbW91bnRGb3JPbmVQb29sAAAAAgUAAAAQc2Vjb25kQWN0aXZlVm90ZQUAAAAEdXNlcgkABEwAAAACCQEAAAAgZ2V0VXNlclRvdGFsVm90ZUFtb3VudEZvck9uZVBvb2wAAAACBQAAAA90aGlyZEFjdGl2ZVZvdGUFAAAABHVzZXIFAAAAA25pbAkAAZYAAAABBQAAAAxsaXN0T2ZWb3RpbmcBAAAAEmdldFRvdGFsU1dPUExvY2tlZAAAAAAJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAASa2V5VG90YWxTV09QTG9ja2VkAAAAAAAAAAAAAQAAAA9nZXRVc2VyVm90ZUluZm8AAAABAAAABHVzZXIEAAAACyR0MDYwNzI2NjIzAwkBAAAACWlzRGVmaW5lZAAAAAEJAAQdAAAAAgUAAAASdm90aW5nTGl0ZUNvbnRyYWN0CQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgUAAAAPa1VzZXJUb3RhbFN0cnVjBAAAAARkYXRhCQAEtQAAAAIJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABB0AAAACBQAAABJ2b3RpbmdMaXRlQ29udHJhY3QJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyBQAAAA9rVXNlclRvdGFsU3RydWMCAAAAFUVtcHR5IGtVc2VyVG90YWxTdHJ1YwIAAAABXwkABRUAAAADCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAEZGF0YQAAAAAAAAAAAAkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAABGRhdGEAAAAAAAAAAAEJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAARkYXRhAAAAAAAAAAACBAAAAA51UG9vbFRvdGFsU1dPUAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAABJ2b3RpbmdMaXRlQ29udHJhY3QJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyBQAAABJrVXNlclRvdGFsVm90ZVNXT1AAAAAAAAAAAAAJAAUVAAAAAwUAAAAOdVBvb2xUb3RhbFNXT1AAAAAAAAAAAAAFAAAAEGN1cnJWb3RpbmdQZXJpb2QEAAAAEXVzZXJUb3RhbFZvdGVTV09QCAUAAAALJHQwNjA3MjY2MjMAAAACXzEEAAAAC3VzZXJVbnZvdGVkCAUAAAALJHQwNjA3MjY2MjMAAAACXzIEAAAAEXVzZXJVbnZvdGVkUGVyaW9kCAUAAAALJHQwNjA3MjY2MjMAAAACXzMEAAAAEXVzZXJVbnZvdGVkQWN0dWFsAwkAAAAAAAACBQAAABF1c2VyVW52b3RlZFBlcmlvZAUAAAAQY3VyclZvdGluZ1BlcmlvZAUAAAALdXNlclVudm90ZWQAAAAAAAAAAAAJAAUUAAAAAgUAAAARdXNlclRvdGFsVm90ZVNXT1AFAAAAEXVzZXJVbnZvdGVkQWN0dWFsAQAAABdnZXRVc2VyVm90ZU9wdGlvbkFtb3VudAAAAAEAAAAEdXNlcgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgUAAAAXa2V5VXNlclZvdGVPcHRpb25BbW91bnQAAAAAAAAAAAABAAAAFGdldFZvdGluZ1N0YXJ0SGVpZ2h0AAAAAQAAAAh2b3RlTmFtZQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAACHZvdGVOYW1lBQAAABRrZXlWb3RpbmdTdGFydEhlaWdodAAAAAAAAAAAAAEAAAATZ2V0UG9vbFVwZGF0ZUhlaWdodAAAAAEAAAAEcG9vbAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAARwb29sBQAAABVrZXlIZWlnaHRQb29sRnJhY3Rpb24AAAAAAAAAAAABAAAAEGdldEN1clBvb2xXZWlnaHQAAAABAAAABHBvb2wJAQAAAAt2YWx1ZU9y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T1BMb2NrZWQJAABlAAAAAgUAAAAMbGFzdEludGVyZXN0BQAAABB1c2VyTGFzdEludGVyZXN0BQAAAApzY2FsZVZhbHVlBAAAAA91c2VyTmV3SW50ZXJlc3QFAAAADGxhc3RJbnRlcmVzdAkABRQAAAACBQAAAA91c2VyTmV3SW50ZXJlc3QFAAAAC2NsYWltQW1vdW50AAAACAAAAAFpAQAAAAdhaXJEcm9wAAAAAAMJAQAAAAEhAAAAAQUAAAAIaXNBY3RpdmUJAAACAAAAAQIAAAAfREFwcCBpcyBpbmFjdGl2ZSBhdCB0aGlzIG1vbWVudAQAAAALJHQwOTA3ODkxNTMJAAUUAAAAAggJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAGYW1vdW50CAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAdhc3NldElkBAAAAAlwbXRBbW91bnQIBQAAAAskdDA5MDc4OTE1MwAAAAJfMQQAAAAKcG10QXNzZXRJZAgFAAAACyR0MDkwNzg5MTUzAAAAAl8yAwkBAAAAAiE9AAAAAgUAAAAKcG10QXNzZXRJZAUAAAAEU1dPUAkAAAIAAAABAgAAABRJbmNvcnJlY3QgcG10QXNzZXRJZAQAAAAPdG90YWxTV09QTG9ja2VkCQEAAAASZ2V0VG90YWxTV09QTG9ja2VkAAAAAAQAAAAMbGFzdEludGVyZXN0CQEAAAATZ2V0TGFzdEludGVyZXN0SW5mbwAAAAAEAAAAC2ludGVyZXN0TmV3CQAAZAAAAAIFAAAADGxhc3RJbnRlcmVzdAkAAGsAAAADBQAAAAlwbXRBbW91bnQFAAAACnNjYWxlVmFsdWUFAAAAD3RvdGFsU1dPUExvY2tlZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAPa2V5TGFzdEludGVyZXN0BQAAAAtpbnRlcmVzdE5ldwUAAAADbmlsAAAAAWkBAAAACGxvY2tTV09QAAAAAAMJAQAAAAEhAAAAAQUAAAAIaXNBY3RpdmUJAAACAAAAAQIAAAAfREFwcCBpcyBpbmFjdGl2ZSBhdCB0aGlzIG1vbWVudAQAAAALJHQwOTU5MTk2NjYJAAUUAAAAAggJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAGYW1vdW50CAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAdhc3NldElkBAAAAAlwbXRBbW91bnQIBQAAAAskdDA5NTkxOTY2NgAAAAJfMQQAAAAKcG10QXNzZXRJZAgFAAAACyR0MDk1OTE5NjY2AAAAAl8yAwkBAAAAAiE9AAAAAgUAAAAKcG10QXNzZXRJZAUAAAAEU1dPUAkAAAIAAAABAgAAABRJbmNvcnJlY3QgcG10QXNzZXRJZAQAAAAMbGFzdEludGVyZXN0CQEAAAATZ2V0TGFzdEludGVyZXN0SW5mbwAAAAAEAAAACyR0MDk3ODI5ODY0CQEAAAATZ2V0VXNlckludGVyZXN0SW5mbwAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAAMbGFzdEludGVyZXN0BAAAABB1c2VyTGFzdEludGVyZXN0CAUAAAALJHQwOTc4Mjk4NjQAAAACXzEEAAAADnVzZXJTV09QTG9ja2VkCAUAAAALJHQwOTc4Mjk4NjQAAAACXzIEAAAAC2NsYWltQW1vdW50CQAAawAAAAMFAAAADnVzZXJTV09QTG9ja2VkCQAAZQAAAAIFAAAADGxhc3RJbnRlcmVzdAUAAAAQdXNlckxhc3RJbnRlcmVzdAUAAAAKc2NhbGVWYWx1ZQQAAAARdXNlclNXT1BMb2NrZWROZXcJAABkAAAAAgkAAGQAAAACBQAAAA51c2VyU1dPUExvY2tlZAUAAAAJcG10QW1vdW50BQAAAAtjbGFpbUFtb3VudAQAAAAPdXNlck5ld0ludGVyZXN0BQAAAAxsYXN0SW50ZXJlc3QEAAAAD3RvdGFsU1dPUExvY2tlZAkBAAAAEmdldFRvdGFsU1dPUExvY2tlZAAAAAAEAAAAEnRvdGFsU1dPUExvY2tlZE5ldwkAAGQAAAACCQAAZAAAAAIFAAAAD3RvdGFsU1dPUExvY2tlZAUAAAAJcG10QW1vdW50BQAAAAtjbGFpbUFtb3VudAQAAAARdXNlckNsYWltZWRBbW91bnQJAQAAABhnZXRVc2VyU1dPUENsYWltZWRBbW91bnQAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAFHVzZXJDbGFpbWVkQW1vdW50TmV3CQAAZAAAAAIFAAAAEXVzZXJDbGFpbWVkQW1vdW50BQAAAAtjbGFpbUFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAATa2V5VXNlckxhc3RJbnRlcmVzdAUAAAAPdXNlck5ld0ludGVyZXN0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABFrZXlVc2VyU1dPUExvY2tlZAUAAAARdXNlclNXT1BMb2NrZWROZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEmtleVRvdGFsU1dPUExvY2tlZAUAAAASdG90YWxTV09QTG9ja2VkTmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABhrZXlVc2VyU1dPUENsYWltZWRBbW91bnQFAAAAFHVzZXJDbGFpbWVkQW1vdW50TmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABxrZXlVc2VyU1dPUExhc3RDbGFpbWVkQW1vdW50BQAAAAtjbGFpbUFtb3VudAUAAAADbmlsAAAAAWkBAAAADHdpdGhkcmF3U1dPUAAAAAEAAAAOd2l0aGRyYXdBbW91bnQDCQEAAAABIQAAAAEFAAAACGlzQWN0aXZlCQAAAgAAAAECAAAAH0RBcHAgaXMgaW5hY3RpdmUgYXQgdGhpcyBtb21lbnQDCQAAZwAAAAIAAAAAAAAAAAAFAAAADndpdGhkcmF3QW1vdW50CQAAAgAAAAECAAAAE3dpdGhkcmF3QW1vdW50IDw9IDAEAAAAD3RvdGFsU1dPUExvY2tlZAkBAAAAEmdldFRvdGFsU1dPUExvY2tlZAAAAAAEAAAADnVzZXJTV09QTG9ja2VkCQEAAAARZ2V0VXNlclNXT1BMb2NrZWQAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAADSR0MDExMDE0MTEwNjkJAQAAAAljbGFpbUNhbGMAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAD3VzZXJOZXdJbnRlcmVzdAgFAAAADSR0MDExMDE0MTEwNjkAAAACXzEEAAAAC2NsYWltQW1vdW50CAUAAAANJHQwMTEwMTQxMTA2OQAAAAJfMgQAAAANJHQwMTEwNzQxMTEzOQkBAAAAD2dldFVzZXJWb3RlSW5mbwAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAAOdXNlclZvdGVBbW91bnQIBQAAAA0kdDAxMTA3NDExMTM5AAAAAl8xBAAAABB1c2VyVW52b3RlQW1vdW50CAUAAAANJHQwMTEwNzQxMTEzOQAAAAJfMgQAAAAYdXNlclZvdGVBbW91bnRGb3JOZXdQb29sCQEAAAAgZ2V0VXNlclRvdGFsVm90ZUZvck5ld1Bvb2xBbW91bnQAAAABCAUAAAABaQAAAAZjYWxsZXIDAwMJAABmAAAAAgAAAAAAAAAAAAUAAAAQdXNlclVudm90ZUFtb3VudAYJAABmAAAAAgAAAAAAAAAAAAUAAAAOdXNlclZvdGVBbW91bnQGCQAAZgAAAAIAAAAAAAAAAAAFAAAAGHVzZXJWb3RlQW1vdW50Rm9yTmV3UG9vbAkAAAIAAAABAgAAAEp1c2VyVW52b3RlQW1vdW50IDwgMCB8fCB1c2VyVm90ZUFtb3VudCA8IDAgfHwgdXNlclZvdGVBbW91bnRGb3JOZXdQb29sIDwgMAQAAAASYXZhaWxhYmxlVG9VbnN0YWtlCQAAZQAAAAIFAAAADnVzZXJTV09QTG9ja2VkCQABlgAAAAEJAARMAAAAAgUAAAAYdXNlclZvdGVBbW91bnRGb3JOZXdQb29sCQAETAAAAAIJAABkAAAAAgUAAAAOdXNlclZvdGVBbW91bnQFAAAAEHVzZXJVbnZvdGVBbW91bnQFAAAAA25pbAMJAABmAAAAAgUAAAAOd2l0aGRyYXdBbW91bnQFAAAAEmF2YWlsYWJsZVRvVW5zdGFrZQkAAAIAAAABAgAAACN3aXRoZHJhd0Ftb3VudCA+IGF2YWlsYWJsZVRvVW5zdGFrZQQAAAASdG90YWxTV09QTG9ja2VkTmV3CQAAZQAAAAIJAABkAAAAAgUAAAAPdG90YWxTV09QTG9ja2VkBQAAAAtjbGFpbUFtb3VudAUAAAAOd2l0aGRyYXdBbW91bnQEAAAAEXVzZXJTV09QYW1vdW50TmV3CQAAZQAAAAIJAABkAAAAAgUAAAAOdXNlclNXT1BMb2NrZWQFAAAAC2NsYWltQW1vdW50BQAAAA53aXRoZHJhd0Ftb3VudAQAAAARdXNlckNsYWltZWRBbW91bnQJAQAAABhnZXRVc2VyU1dPUENsYWltZWRBbW91bnQAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAFHVzZXJDbGFpbWVkQW1vdW50TmV3CQAAZAAAAAIFAAAAEXVzZXJDbGFpbWVkQW1vdW50BQAAAAtjbGFpbUFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAATa2V5VXNlckxhc3RJbnRlcmVzdAUAAAAPdXNlck5ld0ludGVyZXN0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABFrZXlVc2VyU1dPUExvY2tlZAUAAAARdXNlclNXT1BhbW91bnROZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEmtleVRvdGFsU1dPUExvY2tlZAUAAAASdG90YWxTV09QTG9ja2VkTmV3CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAOd2l0aGRyYXdBbW91bnQFAAAABFNXT1AJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAGGtleVVzZXJTV09QQ2xhaW1lZEFtb3VudAUAAAAUdXNlckNsYWltZWRBbW91bnROZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAHGtleVVzZXJTV09QTGFzdENsYWltZWRBbW91bnQFAAAAC2NsYWltQW1vdW50BQAAAANuaWwAAAABaQEAAAAUY2xhaW1BbmRXaXRoZHJhd1NXT1AAAAAAAwkBAAAAASEAAAABBQAAAAhpc0FjdGl2ZQkAAAIAAAABAgAAAB9EQXBwIGlzIGluYWN0aXZlIGF0IHRoaXMgbW9tZW50BAAAAAxsYXN0SW50ZXJlc3QJAQAAABNnZXRMYXN0SW50ZXJlc3RJbmZvAAAAAAQAAAANJHQwMTI1MTQxMjU2OQkBAAAACWNsYWltQ2FsYwAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAAPdXNlck5ld0ludGVyZXN0CAUAAAANJHQwMTI1MTQxMjU2OQAAAAJfMQQAAAALY2xhaW1BbW91bnQIBQAAAA0kdDAxMjUxNDEyNTY5AAAAAl8yBAAAABF1c2VyQ2xhaW1lZEFtb3VudAkBAAAAGGdldFVzZXJTV09QQ2xhaW1lZEFtb3VudAAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAAUdXNlckNsYWltZWRBbW91bnROZXcJAABkAAAAAgUAAAARdXNlckNsYWltZWRBbW91bnQFAAAAC2NsYWltQW1vdW50AwkAAAAAAAACBQAAAAtjbGFpbUFtb3VudAAAAAAAAAAAAAkAAAIAAAABAgAAABlZb3UgaGF2ZSAwIGF2YWlsYWJsZSBTV09QCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABNrZXlVc2VyTGFzdEludGVyZXN0BQAAAA91c2VyTmV3SW50ZXJlc3QJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAGGtleVVzZXJTV09QQ2xhaW1lZEFtb3VudAUAAAAUdXNlckNsYWltZWRBbW91bnROZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAHGtleVVzZXJTV09QTGFzdENsYWltZWRBbW91bnQFAAAAC2NsYWltQW1vdW50CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAALY2xhaW1BbW91bnQFAAAABFNXT1AFAAAAA25pbAAAAAFpAQAAABFjbGFpbUFuZFN0YWtlU1dPUAAAAAADCQEAAAABIQAAAAEFAAAACGlzQWN0aXZlCQAAAgAAAAECAAAAH0RBcHAgaXMgaW5hY3RpdmUgYXQgdGhpcyBtb21lbnQEAAAAD3RvdGFsU1dPUExvY2tlZAkBAAAAEmdldFRvdGFsU1dPUExvY2tlZAAAAAAEAAAADnVzZXJTV09QTG9ja2VkCQEAAAARZ2V0VXNlclNXT1BMb2NrZWQAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAADGxhc3RJbnRlcmVzdAkBAAAAE2dldExhc3RJbnRlcmVzdEluZm8AAAAABAAAAA0kdDAxMzM0ODEzNDAzCQEAAAAJY2xhaW1DYWxjAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAA91c2VyTmV3SW50ZXJlc3QIBQAAAA0kdDAxMzM0ODEzNDAzAAAAAl8xBAAAAAtjbGFpbUFtb3VudAgFAAAADSR0MDEzMzQ4MTM0MDMAAAACXzIEAAAAEXVzZXJTV09QTG9ja2VkTmV3CQAAZAAAAAIFAAAADnVzZXJTV09QTG9ja2VkBQAAAAtjbGFpbUFtb3VudAQAAAASdG90YWxTV09QTG9ja2VkTmV3CQAAZAAAAAIFAAAAD3RvdGFsU1dPUExvY2tlZAUAAAALY2xhaW1BbW91bnQEAAAAEXVzZXJDbGFpbWVkQW1vdW50CQEAAAAYZ2V0VXNlclNXT1BDbGFpbWVkQW1vdW50AAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkAAGQAAAACBQAAABF1c2VyQ2xhaW1lZEFtb3VudAUAAAALY2xhaW1BbW91bnQDCQAAAAAAAAIFAAAAC2NsYWltQW1vdW50AAAAAAAAAAAACQAAAgAAAAECAAAAGVlvdSBoYXZlIDAgYXZhaWxhYmxlIFNXT1AJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAE2tleVVzZXJMYXN0SW50ZXJlc3QFAAAAD3VzZXJOZXdJbnRlcmVzdAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAASa2V5VG90YWxTV09QTG9ja2VkBQAAABJ0b3RhbFNXT1BMb2NrZWROZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAEWtleVVzZXJTV09QTG9ja2VkBQAAABF1c2VyU1dPUExvY2tlZE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAYa2V5VXNlclNXT1BDbGFpbWVkQW1vdW50BQAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAca2V5VXNlclNXT1BMYXN0Q2xhaW1lZEFtb3VudAUAAAALY2xhaW1BbW91bnQFAAAAA25pbAAAAAFpAQAAAA11cGRhdGVXZWlnaHRzAAAABgAAAA1wcmV2aW91c1Bvb2xzAAAAD3ByZXZpb3VzUmV3YXJkcwAAAAxjdXJyZW50UG9vbHMAAAAOY3VycmVudFJld2FyZHMAAAAScmV3YXJkVXBkYXRlSGVpZ2h0AAAACnBhZ2luYXRpb24DCQEAAAABIQAAAAEFAAAACGlzQWN0aXZlCQAAAgAAAAECAAAAH0RBcHAgaXMgaW5hY3RpdmUgYXQgdGhpcyBtb21lbnQEAAAAC2Ftb3VudFBvb2xzAAAAAAAAAAAKBAAAABd0b3RhbFJld2FyZFVwZGF0ZUhlaWdodAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwUAAAAVa2V5UmV3YXJkVXBkYXRlSGVpZ2h0AAAAAAAAAAAAAwkBAAAAASEAAAABCQEAAAAPY29udGFpbnNFbGVtZW50AAAAAgkABEwAAAACBQAAAAxhZG1pblB1YktleTEJAARMAAAAAgUAAAAMYWRtaW5QdWJLZXkyCQAETAAAAAIFAAAADGFkbWluUHViS2V5MwkABEwAAAACBQAAABRhZG1pblB1YktleVN0YXJ0U3RvcAkABEwAAAACBQAAABFhZG1pblB1YktleVdhbGxldAUAAAADbmlsCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkJAAACAAAAAQIAAAAhT25seSBhZG1pbiBjYW4gY2FsbCB0aGlzIGZ1bmN0aW9uAwMJAABmAAAAAgkAAZAAAAABBQAAAA1wcmV2aW91c1Bvb2xzBQAAAAthbW91bnRQb29scwYJAABmAAAAAgkAAZAAAAABBQAAAAxjdXJyZW50UG9vbHMFAAAAC2Ftb3VudFBvb2xzCQAAAgAAAAEJAAEsAAAAAgIAAAAWTWF4IGFtb3VudCBvZiBwb29sIGlzIAkAAaQAAAABBQAAAAthbW91bnRQb29scwMJAABnAAAAAgUAAAAXdG90YWxSZXdhcmRVcGRhdGVIZWlnaHQFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAENyZXdhcmRVcGRhdGVIZWlnaHQgPD0gdG90YWxSZXdhcmRVcGRhdGVIZWlnaHQ7IHJld2FyZFVwZGF0ZUhlaWdodDogCQABpAAAAAEFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAIAAAAbOyB0b3RhbFJld2FyZFVwZGF0ZUhlaWdodDogCQABpAAAAAEFAAAAF3RvdGFsUmV3YXJkVXBkYXRlSGVpZ2h0AwkAAGcAAAACBQAAAAZoZWlnaHQFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAkAAAIAAAABAgAAABxoZWlnaHQgPj0gcmV3YXJkVXBkYXRlSGVpZ2h0AwkAAGcAAAACAAAAAAAAAAAABQAAABJyZXdhcmRVcGRhdGVIZWlnaHQJAAACAAAAAQIAAAAYMCA+PSByZXdhcmRVcGRhdGVIZWlnaHQgCgEAAAADc3VtAAAAAgAAAAFhAAAAAWIJAABkAAAAAgUAAAABYQUAAAABYgoBAAAAGWNoYW5nZVByZXZpb3VzUmV3YXJkRW50cnkAAAACAAAAC2FjY3VtdWxhdGVkAAAABHBvb2wEAAAAFnBvb2xSZXdhcmRVcGRhdGVIZWlnaHQJAQAAABNnZXRQb29sVXBkYXRlSGVpZ2h0AAAAAQUAAAAEcG9vbAMJAQAAAAIhPQAAAAIFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAUAAAAWcG9vbFJld2FyZFVwZGF0ZUhlaWdodAMJAAAAAAAAAgUAAAAWcG9vbFJld2FyZFVwZGF0ZUhlaWdodAUAAAAXdG90YWxSZXdhcmRVcGRhdGVIZWlnaHQEAAAACnBvb2xSZXdhcmQJAQAAABBnZXRDdXJQb29sV2VpZ2h0AAAAAQUAAAAEcG9vbAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAAARwb29sBQAAAB1rZXlSZXdhcmRQb29sRnJhY3Rpb25QcmV2aW91cwUAAAAKcG9vbFJld2FyZAUAAAALYWNjdW11bGF0ZWQFAAAAA25pbAUAAAADbmlsCgEAAAAYY2hhbmdlQ3VycmVudFJld2FyZEVudHJ5AAAAAgAAAAthY2N1bXVsYXRlZAAAAARwb29sBAAAAAlwb29sSW5kZXgJAQAAAAV2YWx1ZQAAAAEJAARPAAAAAgUAAAAMY3VycmVudFBvb2xzBQAAAARwb29sBAAAAApwb29sUmV3YXJkCQABkQAAAAIFAAAADmN1cnJlbnRSZXdhcmRzBQAAAAlwb29sSW5kZXgDCQAAZgAAAAIAAAAAAAAAAAAFAAAACnBvb2xSZXdhcmQJAAACAAAAAQIAAAAOUG9vbFJld2FyZCA8IDAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAEcG9vbAUAAAAca2V5UmV3YXJkUG9vbEZyYWN0aW9uQ3VycmVudAUAAAAKcG9vbFJld2FyZAUAAAALYWNjdW11bGF0ZWQKAQAAABFjaGFuZ2VIZWlnaHRFbnRyeQAAAAIAAAALYWNjdW11bGF0ZWQAAAAEcG9vbAQAAAAKcG9vbEhlaWdodAUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAABHBvb2wFAAAAFWtleUhlaWdodFBvb2xGcmFjdGlvbgUAAAAKcG9vbEhlaWdodAUAAAALYWNjdW11bGF0ZWQKAQAAAAxnZXRTdW1SZXdhcmQAAAADAAAAC3ByZXZUZW1wU3VtAAAACmN1clRlbXBTdW0AAAAKcGFnaW5hdGlvbgMJAAAAAAAAAgUAAAAKcGFnaW5hdGlvbgAAAAAAAAAAAAMDCQAAZgAAAAIFAAAAC3ByZXZUZW1wU3VtBQAAAA50b3RhbFZvdGVTaGFyZQYJAABmAAAAAgUAAAAKY3VyVGVtcFN1bQUAAAAOdG90YWxWb3RlU2hhcmUJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAASnN1bVJld2FyZFByZXZpb3VzID4gdG90YWxWb3RlU2hhcmUgb3Igc3VtUmV3YXJkQ3VycmVudCA+IHRvdGFsVm90ZVNoYXJlIC0gCQABpAAAAAEFAAAACnBhZ2luYXRpb24CAAAAASAJAAGkAAAAAQUAAAALcHJldlRlbXBTdW0CAAAAASAJAAGkAAAAAQUAAAAKY3VyVGVtcFN1bQkABRUAAAADCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAA5rZXlUZW1wUHJldlN1bQUAAAALcHJldlRlbXBTdW0FAAAAA25pbAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAANa2V5VGVtcEN1clN1bQUAAAAKY3VyVGVtcFN1bQUAAAADbmlsCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAACRrZXlSZXdhcmRVcGRhdGVGaXJzdFBhZ2luYXRpb25IZWlnaHQFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAUAAAADbmlsAwkAAAAAAAACBQAAAApwYWdpbmF0aW9uAAAAAAAAAAABBAAAABJwcmV2VGVtcFN1bUZyb21LZXkJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAAOa2V5VGVtcFByZXZTdW0AAAAAAAAAAAAEAAAAEWN1clRlbXBTdW1Gcm9tS2V5CQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAADWtleVRlbXBDdXJTdW0AAAAAAAAAAAAEAAAAJnJld2FyZFVwZGF0ZUhlaWdodEZpcnN0UGFnaW5hdGlvbkVudHJ5CQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAAJGtleVJld2FyZFVwZGF0ZUZpcnN0UGFnaW5hdGlvbkhlaWdodAAAAAAAAAAAAAMDCQAAZgAAAAIJAABkAAAAAgUAAAALcHJldlRlbXBTdW0FAAAAEnByZXZUZW1wU3VtRnJvbUtleQUAAAAOdG90YWxWb3RlU2hhcmUGCQAAZgAAAAIJAABkAAAAAgUAAAAKY3VyVGVtcFN1bQUAAAARY3VyVGVtcFN1bUZyb21LZXkFAAAADnRvdGFsVm90ZVNoYXJlCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAEpzdW1SZXdhcmRQcmV2aW91cyA+IHRvdGFsVm90ZVNoYXJlIG9yIHN1bVJld2FyZEN1cnJlbnQgPiB0b3RhbFZvdGVTaGFyZSAtIAkAAaQAAAABBQAAAApwYWdpbmF0aW9uAgAAAAEgCQABpAAAAAEJAABkAAAAAgUAAAALcHJldlRlbXBTdW0FAAAAEnByZXZUZW1wU3VtRnJvbUtleQIAAAABIAkAAaQAAAABCQAAZAAAAAIFAAAACmN1clRlbXBTdW0FAAAAEWN1clRlbXBTdW1Gcm9tS2V5AwkBAAAAAiE9AAAAAgUAAAAmcmV3YXJkVXBkYXRlSGVpZ2h0Rmlyc3RQYWdpbmF0aW9uRW50cnkFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAkAAAIAAAABAgAAAERjdXJyZW50IHJld2FyZFVwZGF0ZUhlaWdodCAhPSByZXdhcmRVcGRhdGVIZWlnaHRGaXJzdFBhZ2luYXRpb25FbnRyeQkABRUAAAADCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAA5rZXlUZW1wUHJldlN1bQkAAGQAAAACBQAAAAtwcmV2VGVtcFN1bQUAAAAScHJldlRlbXBTdW1Gcm9tS2V5BQAAAANuaWwJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAADWtleVRlbXBDdXJTdW0JAABkAAAAAgUAAAAKY3VyVGVtcFN1bQUAAAARY3VyVGVtcFN1bUZyb21LZXkFAAAAA25pbAUAAAADbmlsAwkAAAAAAAACBQAAAApwYWdpbmF0aW9uAAAAAAAAAAACBAAAAAdwcmV2U3VtCQAAZAAAAAIJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAAOa2V5VGVtcFByZXZTdW0AAAAAAAAAAAAFAAAAC3ByZXZUZW1wU3VtBAAAAAZjdXJTdW0JAABkAAAAAgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAAA1rZXlUZW1wQ3VyU3VtAAAAAAAAAAAABQAAAApjdXJUZW1wU3VtBAAAACZyZXdhcmRVcGRhdGVIZWlnaHRGaXJzdFBhZ2luYXRpb25FbnRyeQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAACRrZXlSZXdhcmRVcGRhdGVGaXJzdFBhZ2luYXRpb25IZWlnaHQAAAAAAAAAAAADAwkBAAAAAiE9AAAAAgUAAAAHcHJldlN1bQUAAAAOdG90YWxWb3RlU2hhcmUGCQEAAAACIT0AAAACBQAAAAZjdXJTdW0FAAAADnRvdGFsVm90ZVNoYXJlCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAXnN1bVJld2FyZFByZXZpb3VzICE9IHRvdGFsVm90ZVNoYXJlIG9yIHN1bVJld2FyZEN1cnJlbnQgIT0gdG90YWxWb3RlU2hhcmU7IHN1bVJld2FyZFByZXZpb3VzOiAJAAGkAAAAAQUAAAAHcHJldlN1bQIAAAATOyBzdW1SZXdhcmRDdXJyZW50OgkAAaQAAAABBQAAAAZjdXJTdW0DCQEAAAACIT0AAAACBQAAACZyZXdhcmRVcGRhdGVIZWlnaHRGaXJzdFBhZ2luYXRpb25FbnRyeQUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0CQAAAgAAAAECAAAARGN1cnJlbnQgcmV3YXJkVXBkYXRlSGVpZ2h0ICE9IHJld2FyZFVwZGF0ZUhlaWdodEZpcnN0UGFnaW5hdGlvbkVudHJ5CQAFFQAAAAMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAADmtleVRlbXBQcmV2U3VtBQAAAAdwcmV2U3VtBQAAAANuaWwJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAADWtleVRlbXBDdXJTdW0FAAAABmN1clN1bQUAAAADbmlsBQAAAANuaWwJAAACAAAAAQIAAAAUSW5jb3JyZWN0IHBhZ2luYXRpb24EAAAAFXN1bVJld2FyZFByZXZpb3VzVGVtcAQAAAAPJGxpc3QxOTAwMTE5MDM0BQAAAA9wcmV2aW91c1Jld2FyZHME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cmV2aW91c1RlbXAFAAAAFHN1bVJld2FyZEN1cnJlbnRUZW1wBQAAAApwYWdpbmF0aW9uBAAAABFzdW1SZXdhcmRQcmV2aW91cwgFAAAADSR0MDE5MTA1MTkyNTgAAAACXzEEAAAAEHN1bVJld2FyZEN1cnJlbnQIBQAAAA0kdDAxOTEwNTE5MjU4AAAAAl8yBAAAACZyZXdhcmRVcGRhdGVIZWlnaHRGaXJzdFBhZ2luYXRpb25FbnRyeQgFAAAADSR0MDE5MTA1MTkyNTgAAAACXzMEAAAAF3Jld2FyZFVwZGF0ZUhlaWdodEVudHJ5AwkAAAAAAAACBQAAAApwYWdpbmF0aW9uAAAAAAAAAAACCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABVrZXlSZXdhcmRVcGRhdGVIZWlnaHQFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAUAAAADbmlsCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABVrZXlSZXdhcmRVcGRhdGVIZWlnaHQJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMFAAAAFWtleVJld2FyZFVwZGF0ZUhlaWdodAUAAAADbmlsAwkAAGYAAAACBQAAAAZoZWlnaHQFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAkAAAIAAAABAgAAABtyZXdhcmRVcGRhdGVIZWlnaHQgPCBoZWlnaHQEAAAAFnByZXZpb3VzUmV3YXJkRW50cnlOZXcEAAAADyRsaXN0MTk1ODcxOTY0MQUAAAANcHJldmlvdXNQb29scwQAAAAPJHNpemUxOTU4NzE5NjQxCQABkAAAAAEFAAAADyRsaXN0MTk1ODcxOTY0MQQAAAAPJGFjYzAxOTU4NzE5NjQxBQAAAANuaWwDCQAAAAAAAAIFAAAADyRzaXplMTk1ODcxOTY0MQAAAAAAAAAAAAUAAAAPJGFjYzAxOTU4NzE5NjQxBAAAAA8kYWNjMTE5NTg3MTk2NDEJAQAAABljaGFuZ2VQcmV2aW91c1Jld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzAxOTU4NzE5NjQxCQABkQAAAAIFAAAADyRsaXN0MTk1ODcxOTY0MQAAAAAAAAAAAAMJAAAAAAAAAgUAAAAPJHNpemUxOTU4NzE5NjQxAAAAAAAAAAABBQAAAA8kYWNjMTE5NTg3MTk2NDEEAAAADyRhY2MyMTk1ODcxOTY0MQkBAAAAGWNoYW5nZVByZXZpb3VzUmV3YXJkRW50cnkAAAACBQAAAA8kYWNjMTE5NTg3MTk2NDEJAAGRAAAAAgUAAAAPJGxpc3QxOTU4NzE5NjQxAAAAAAAAAAABAwkAAAAAAAACBQAAAA8kc2l6ZTE5NTg3MTk2NDEAAAAAAAAAAAIFAAAADyRhY2MyMTk1ODcxOTY0MQQAAAAPJGFjYzMxOTU4NzE5NjQxCQEAAAAZY2hhbmdlUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2MyMTk1ODcxOTY0MQkAAZEAAAACBQAAAA8kbGlzdDE5NTg3MTk2NDEAAAAAAAAAAAIDCQAAAAAAAAIFAAAADyRzaXplMTk1ODcxOTY0MQAAAAAAAAAAAwUAAAAPJGFjYzMxOTU4NzE5NjQxBAAAAA8kYWNjNDE5NTg3MTk2NDEJAQAAABljaGFuZ2VQcmV2aW91c1Jld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzMxOTU4NzE5NjQxCQABkQAAAAIFAAAADyRsaXN0MTk1ODcxOTY0MQAAAAAAAAAAAwMJAAAAAAAAAgUAAAAPJHNpemUxOTU4NzE5NjQxAAAAAAAAAAAEBQAAAA8kYWNjNDE5NTg3MTk2NDEEAAAADyRhY2M1MTk1ODcxOTY0MQkBAAAAGWNoYW5nZVByZXZpb3VzUmV3YXJkRW50cnkAAAACBQAAAA8kYWNjNDE5NTg3MTk2NDEJAAGRAAAAAgUAAAAPJGxpc3QxOTU4NzE5NjQxAAAAAAAAAAAEAwkAAAAAAAACBQAAAA8kc2l6ZTE5NTg3MTk2NDEAAAAAAAAAAAUFAAAADyRhY2M1MTk1ODcxOTY0MQQAAAAPJGFjYzYxOTU4NzE5NjQxCQEAAAAZY2hhbmdlUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2M1MTk1ODcxOTY0MQkAAZEAAAACBQAAAA8kbGlzdDE5NTg3MTk2NDEAAAAAAAAAAAUDCQAAAAAAAAIFAAAADyRzaXplMTk1ODcxOTY0MQAAAAAAAAAABgUAAAAPJGFjYzYxOTU4NzE5NjQxBAAAAA8kYWNjNzE5NTg3MTk2NDEJAQAAABljaGFuZ2VQcmV2aW91c1Jld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzYxOTU4NzE5NjQxCQABkQAAAAIFAAAADyRsaXN0MTk1ODcxOTY0MQAAAAAAAAAABgMJAAAAAAAAAgUAAAAPJHNpemUxOTU4NzE5NjQxAAAAAAAAAAAHBQAAAA8kYWNjNzE5NTg3MTk2NDEEAAAADyRhY2M4MTk1ODcxOTY0MQkBAAAAGWNoYW5nZVByZXZpb3VzUmV3YXJkRW50cnkAAAACBQAAAA8kYWNjNzE5NTg3MTk2NDEJAAGRAAAAAgUAAAAPJGxpc3QxOTU4NzE5NjQxAAAAAAAAAAAHAwkAAAAAAAACBQAAAA8kc2l6ZTE5NTg3MTk2NDEAAAAAAAAAAAgFAAAADyRhY2M4MTk1ODcxOTY0MQQAAAAPJGFjYzkxOTU4NzE5NjQxCQEAAAAZY2hhbmdlUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2M4MTk1ODcxOTY0MQkAAZEAAAACBQAAAA8kbGlzdDE5NTg3MTk2NDEAAAAAAAAAAAgDCQAAAAAAAAIFAAAADyRzaXplMTk1ODcxOTY0MQAAAAAAAAAACQUAAAAPJGFjYzkxOTU4NzE5NjQxBAAAABAkYWNjMTAxOTU4NzE5NjQxCQEAAAAZY2hhbmdlUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2M5MTk1ODcxOTY0MQkAAZEAAAACBQAAAA8kbGlzdDE5NTg3MTk2NDEAAAAAAAAAAAkDCQAAAAAAAAIFAAAADyRzaXplMTk1ODcxOTY0MQAAAAAAAAAACgUAAAAQJGFjYzEwMTk1ODcxOTY0MQQAAAAQJGFjYzExMTk1ODcxOTY0MQkBAAAAGWNoYW5nZVByZXZpb3VzUmV3YXJkRW50cnkAAAACBQAAABAkYWNjMTAxOTU4NzE5NjQxCQABkQAAAAIFAAAADyRsaXN0MTk1ODcxOTY0MQAAAAAAAAAACgkAAAIAAAABAgAAABNMaXN0IHNpemUgZXhjZWVkIDEwBAAAABVjdXJyZW50UmV3YXJkRW50cnlOZXcEAAAADyRsaXN0MTk2NzQxOTcyNgUAAAAMY3VycmVudFBvb2xzBAAAAA8kc2l6ZTE5Njc0MTk3MjYJAAGQAAAAAQUAAAAPJGxpc3QxOTY3NDE5NzI2BAAAAA8kYWNjMDE5Njc0MTk3MjYFAAAAA25pbAMJAAAAAAAAAgUAAAAPJHNpemUxOTY3NDE5NzI2AAAAAAAAAAAABQAAAA8kYWNjMDE5Njc0MTk3MjYEAAAADyRhY2MxMTk2NzQxOTcyNgkBAAAAGGNoYW5nZUN1cnJlbnRSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2MwMTk2NzQxOTcyNgkAAZEAAAACBQAAAA8kbGlzdDE5Njc0MTk3MjYAAAAAAAAAAAADCQAAAAAAAAIFAAAADyRzaXplMTk2NzQxOTcyNgAAAAAAAAAAAQUAAAAPJGFjYzExOTY3NDE5NzI2BAAAAA8kYWNjMjE5Njc0MTk3MjYJAQAAABhjaGFuZ2VDdXJyZW50UmV3YXJkRW50cnkAAAACBQAAAA8kYWNjMTE5Njc0MTk3MjYJAAGRAAAAAgUAAAAPJGxpc3QxOTY3NDE5NzI2AAAAAAAAAAABAwkAAAAAAAACBQAAAA8kc2l6ZTE5Njc0MTk3MjYAAAAAAAAAAAIFAAAADyRhY2MyMTk2NzQxOTcyNgQAAAAPJGFjYzMxOTY3NDE5NzI2CQEAAAAYY2hhbmdlQ3VycmVudFJld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzIxOTY3NDE5NzI2CQABkQAAAAIFAAAADyRsaXN0MTk2NzQxOTcyNgAAAAAAAAAAAgMJAAAAAAAAAgUAAAAPJHNpemUxOTY3NDE5NzI2AAAAAAAAAAADBQAAAA8kYWNjMzE5Njc0MTk3MjYEAAAADyRhY2M0MTk2NzQxOTcyNgkBAAAAGGNoYW5nZUN1cnJlbnRSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2MzMTk2NzQxOTcyNgkAAZEAAAACBQAAAA8kbGlzdDE5Njc0MTk3MjYAAAAAAAAAAAMDCQAAAAAAAAIFAAAADyRzaXplMTk2NzQxOTcyNgAAAAAAAAAABAUAAAAPJGFjYzQxOTY3NDE5NzI2BAAAAA8kYWNjNTE5Njc0MTk3MjYJAQAAABhjaGFuZ2VDdXJyZW50UmV3YXJkRW50cnkAAAACBQAAAA8kYWNjNDE5Njc0MTk3MjYJAAGRAAAAAgUAAAAPJGxpc3QxOTY3NDE5NzI2AAAAAAAAAAAEAwkAAAAAAAACBQAAAA8kc2l6ZTE5Njc0MTk3MjYAAAAAAAAAAAUFAAAADyRhY2M1MTk2NzQxOTcyNgQAAAAPJGFjYzYxOTY3NDE5NzI2CQEAAAAYY2hhbmdlQ3VycmVudFJld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzUxOTY3NDE5NzI2CQABkQAAAAIFAAAADyRsaXN0MTk2NzQxOTcyNgAAAAAAAAAABQMJAAAAAAAAAgUAAAAPJHNpemUxOTY3NDE5NzI2AAAAAAAAAAAGBQAAAA8kYWNjNjE5Njc0MTk3MjYEAAAADyRhY2M3MTk2NzQxOTcyNgkBAAAAGGNoYW5nZUN1cnJlbnRSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2M2MTk2NzQxOTcyNgkAAZEAAAACBQAAAA8kbGlzdDE5Njc0MTk3MjYAAAAAAAAAAAYDCQAAAAAAAAIFAAAADyRzaXplMTk2NzQxOTcyNgAAAAAAAAAABwUAAAAPJGFjYzcxOTY3NDE5NzI2BAAAAA8kYWNjODE5Njc0MTk3MjYJAQAAABhjaGFuZ2VDdXJyZW50UmV3YXJkRW50cnkAAAACBQAAAA8kYWNjNzE5Njc0MTk3MjYJAAGRAAAAAgUAAAAPJGxpc3QxOTY3NDE5NzI2AAAAAAAAAAAHAwkAAAAAAAACBQAAAA8kc2l6ZTE5Njc0MTk3MjYAAAAAAAAAAAgFAAAADyRhY2M4MTk2NzQxOTcyNgQAAAAPJGFjYzkxOTY3NDE5NzI2CQEAAAAYY2hhbmdlQ3VycmVudFJld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzgxOTY3NDE5NzI2CQABkQAAAAIFAAAADyRsaXN0MTk2NzQxOTcyNgAAAAAAAAAACAMJAAAAAAAAAgUAAAAPJHNpemUxOTY3NDE5NzI2AAAAAAAAAAAJBQAAAA8kYWNjOTE5Njc0MTk3MjYEAAAAECRhY2MxMDE5Njc0MTk3MjYJAQAAABhjaGFuZ2VDdXJyZW50UmV3YXJkRW50cnkAAAACBQAAAA8kYWNjOTE5Njc0MTk3MjYJAAGRAAAAAgUAAAAPJGxpc3QxOTY3NDE5NzI2AAAAAAAAAAAJAwkAAAAAAAACBQAAAA8kc2l6ZTE5Njc0MTk3MjYAAAAAAAAAAAoFAAAAECRhY2MxMDE5Njc0MTk3MjYEAAAAECRhY2MxMTE5Njc0MTk3MjYJAQAAABhjaGFuZ2VDdXJyZW50UmV3YXJkRW50cnkAAAACBQAAABAkYWNjMTAxOTY3NDE5NzI2CQABkQAAAAIFAAAADyRsaXN0MTk2NzQxOTcyNgAAAAAAAAAACgkAAAIAAAABAgAAABNMaXN0IHNpemUgZXhjZWVkIDEwBAAAABFoZWlnaHRFbnRyeU5ld0N1cgQAAAAPJGxpc3QxOTc1NTE5ODAwBQAAAAxjdXJyZW50UG9vbHMEAAAADyRzaXplMTk3NTUxOTgwMAkAAZAAAAABBQAAAA8kbGlzdDE5NzU1MTk4MDAEAAAADyRhY2MwMTk3NTUxOTgwMAUAAAADbmlsAwkAAAAAAAACBQAAAA8kc2l6ZTE5NzU1MTk4MDAAAAAAAAAAAAAFAAAADyRhY2MwMTk3NTUxOTgwMAQAAAAPJGFjYzExOTc1NTE5ODAwCQEAAAARY2hhbmdlSGVpZ2h0RW50cnkAAAACBQAAAA8kYWNjMDE5NzU1MTk4MDAJAAGRAAAAAgUAAAAPJGxpc3QxOTc1NTE5ODAwAAAAAAAAAAAAAwkAAAAAAAACBQAAAA8kc2l6ZTE5NzU1MTk4MDAAAAAAAAAAAAEFAAAADyRhY2MxMTk3NTUxOTgwMAQAAAAPJGFjYzIxOTc1NTE5ODAwCQEAAAARY2hhbmdlSGVpZ2h0RW50cnkAAAACBQAAAA8kYWNjMTE5NzU1MTk4MDAJAAGRAAAAAgUAAAAPJGxpc3QxOTc1NTE5ODAwAAAAAAAAAAABAwkAAAAAAAACBQAAAA8kc2l6ZTE5NzU1MTk4MDAAAAAAAAAAAAIFAAAADyRhY2MyMTk3NTUxOTgwMAQAAAAPJGFjYzMxOTc1NTE5ODAwCQEAAAARY2hhbmdlSGVpZ2h0RW50cnkAAAACBQAAAA8kYWNjMjE5NzU1MTk4MDAJAAGRAAAAAgUAAAAPJGxpc3QxOTc1NTE5ODAwAAAAAAAAAAACAwkAAAAAAAACBQAAAA8kc2l6ZTE5NzU1MTk4MDAAAAAAAAAAAAMFAAAADyRhY2MzMTk3NTUxOTgwMAQAAAAPJGFjYzQxOTc1NTE5ODAwCQEAAAARY2hhbmdlSGVpZ2h0RW50cnkAAAACBQAAAA8kYWNjMzE5NzU1MTk4MDAJAAGRAAAAAgUAAAAPJGxpc3QxOTc1NTE5ODAwAAAAAAAAAAADAwkAAAAAAAACBQAAAA8kc2l6ZTE5NzU1MTk4MDAAAAAAAAAAAAQFAAAADyRhY2M0MTk3NTUxOTgwMAQAAAAPJGFjYzUxOTc1NTE5ODAwCQEAAAARY2hhbmdlSGVpZ2h0RW50cnkAAAACBQAAAA8kYWNjNDE5NzU1MTk4MDAJAAGRAAAAAgUAAAAPJGxpc3QxOTc1NTE5ODAwAAAAAAAAAAAEAwkAAAAAAAACBQAAAA8kc2l6ZTE5NzU1MTk4MDAAAAAAAAAAAAUFAAAADyRhY2M1MTk3NTUxOTgwMAQAAAAPJGFjYzYxOTc1NTE5ODAwCQEAAAARY2hhbmdlSGVpZ2h0RW50cnkAAAACBQAAAA8kYWNjNTE5NzU1MTk4MDAJAAGRAAAAAgUAAAAPJGxpc3QxOTc1NTE5ODAwAAAAAAAAAAAFAwkAAAAAAAACBQAAAA8kc2l6ZTE5NzU1MTk4MDAAAAAAAAAAAAYFAAAADyRhY2M2MTk3NTUxOTgwMAQAAAAPJGFjYzcxOTc1NTE5ODAwCQEAAAARY2hhbmdlSGVpZ2h0RW50cnkAAAACBQAAAA8kYWNjNjE5NzU1MTk4MDAJAAGRAAAAAgUAAAAPJGxpc3QxOTc1NTE5ODAwAAAAAAAAAAAGAwkAAAAAAAACBQAAAA8kc2l6ZTE5NzU1MTk4MDAAAAAAAAAAAAcFAAAADyRhY2M3MTk3NTUxOTgwMAQAAAAPJGFjYzgxOTc1NTE5ODAwCQEAAAARY2hhbmdlSGVpZ2h0RW50cnkAAAACBQAAAA8kYWNjNzE5NzU1MTk4MDAJAAGRAAAAAgUAAAAPJGxpc3QxOTc1NTE5ODAwAAAAAAAAAAAHAwkAAAAAAAACBQAAAA8kc2l6ZTE5NzU1MTk4MDAAAAAAAAAAAAgFAAAADyRhY2M4MTk3NTUxOTgwMAQAAAAPJGFjYzkxOTc1NTE5ODAwCQEAAAARY2hhbmdlSGVpZ2h0RW50cnkAAAACBQAAAA8kYWNjODE5NzU1MTk4MDAJAAGRAAAAAgUAAAAPJGxpc3QxOTc1NTE5ODAwAAAAAAAAAAAIAwkAAAAAAAACBQAAAA8kc2l6ZTE5NzU1MTk4MDAAAAAAAAAAAAkFAAAADyRhY2M5MTk3NTUxOTgwMAQAAAAQJGFjYzEwMTk3NTUxOTgwMAkBAAAAEWNoYW5nZUhlaWdodEVudHJ5AAAAAgUAAAAPJGFjYzkxOTc1NTE5ODAwCQABkQAAAAIFAAAADyRsaXN0MTk3NTUxOTgwMAAAAAAAAAAACQMJAAAAAAAAAgUAAAAPJHNpemUxOTc1NTE5ODAwAAAAAAAAAAAKBQAAABAkYWNjMTAxOTc1NTE5ODAwBAAAABAkYWNjMTExOTc1NTE5ODAwCQEAAAARY2hhbmdlSGVpZ2h0RW50cnkAAAACBQAAABAkYWNjMTAxOTc1NTE5ODAwCQABkQAAAAIFAAAADyRsaXN0MTk3NTUxOTgwMAAAAAAAAAAACgkAAAIAAAABAgAAABNMaXN0IHNpemUgZXhjZWVkIDEwCQAETgAAAAIJAAROAAAAAgkABE4AAAACCQAETgAAAAIJAAROAAAAAgkABE4AAAACBQAAABZwcmV2aW91c1Jld2FyZEVudHJ5TmV3BQAAABVjdXJyZW50UmV3YXJkRW50cnlOZXcFAAAAEWhlaWdodEVudHJ5TmV3Q3VyBQAAABFzdW1SZXdhcmRQcmV2aW91cwUAAAAQc3VtUmV3YXJkQ3VycmVudAUAAAAXcmV3YXJkVXBkYXRlSGVpZ2h0RW50cnkFAAAAJnJld2FyZFVwZGF0ZUhlaWdodEZpcnN0UGFnaW5hdGlvbkVudHJ5AAAAAWkBAAAACHNodXRkb3duAAAAAAMJAQAAAAEhAAAAAQUAAAAIaXNBY3RpdmUJAAACAAAAAQkAASwAAAACAgAAACJEQXBwIGlzIGFscmVhZHkgc3VzcGVuZGVkLiBDYXVzZTogCQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAABHRoaXMFAAAACGtleUNhdXNlAgAAABp0aGUgY2F1c2Ugd2Fzbid0IHNwZWNpZmllZAMJAQAAAAEhAAAAAQkBAAAAD2NvbnRhaW5zRWxlbWVudAAAAAIJAARMAAAAAgUAAAAMYWRtaW5QdWJLZXkxCQAETAAAAAIFAAAADGFkbWluUHViS2V5MgkABEwAAAACBQAAAAxhZG1pblB1YktleTMJAARMAAAAAgUAAAAUYWRtaW5QdWJLZXlTdGFydFN0b3AFAAAAA25pbAgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5CQAAAgAAAAECAAAAIU9ubHkgYWRtaW4gY2FuIGNhbGwgdGhpcyBmdW5jdGlvbgkBAAAAB3N1c3BlbmQAAAABAgAAAA9QYXVzZWQgYnkgYWRtaW4AAAABaQEAAAAIYWN0aXZhdGUAAAAAAwUAAAAIaXNBY3RpdmUJAAACAAAAAQIAAAAWREFwcCBpcyBhbHJlYWR5IGFjdGl2ZQMJAQAAAAEhAAAAAQkBAAAAD2NvbnRhaW5zRWxlbWVudAAAAAIJAARMAAAAAgUAAAAMYWRtaW5QdWJLZXkxCQAETAAAAAIFAAAADGFkbWluUHViS2V5MgkABEwAAAACBQAAAAxhZG1pblB1YktleTMJAARMAAAAAgUAAAAUYWRtaW5QdWJLZXlTdGFydFN0b3AFAAAAA25pbAgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5CQAAAgAAAAECAAAAIU9ubHkgYWRtaW4gY2FuIGNhbGwgdGhpcyBmdW5jdGlvbgkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgUAAAAJa2V5QWN0aXZlBgkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABBQAAAAhrZXlDYXVzZQUAAAADbmlsAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXm010Ax", "height": 1567695, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: FkophGCedkHkkdGExfyuaWfFJGGFqwdmAVmaJR72mQm8 Next: HK3ujkAZ8fNsxiGqSmcbWhAwKL77oydLUGDvbLZpmbyD Diff:
OldNewDifferences
387387 else (size(currentPools) > amountPools))
388388 then throw(("Max amount of pool is " + toString(amountPools)))
389389 else if ((totalRewardUpdateHeight >= rewardUpdateHeight))
390- then throw("rewardUpdateHeight <= totalRewardUpdateHeight")
390+ then throw(((("rewardUpdateHeight <= totalRewardUpdateHeight; rewardUpdateHeight: " + toString(rewardUpdateHeight)) + "; totalRewardUpdateHeight: ") + toString(totalRewardUpdateHeight)))
391391 else if ((height >= rewardUpdateHeight))
392392 then throw("height >= rewardUpdateHeight")
393393 else if ((0 >= rewardUpdateHeight))
455455 else throw("Incorrect pagination")
456456
457457 let sumRewardPreviousTemp = {
458- let $list1887818911 = previousRewards
459- let $size1887818911 = size($list1887818911)
460- let $acc01887818911 = 0
461- if (($size1887818911 == 0))
462- then $acc01887818911
458+ let $list1900119034 = previousRewards
459+ let $size1900119034 = size($list1900119034)
460+ let $acc01900119034 = 0
461+ if (($size1900119034 == 0))
462+ then $acc01900119034
463463 else {
464- let $acc11887818911 = sum($acc01887818911, $list1887818911[0])
465- if (($size1887818911 == 1))
466- then $acc11887818911
464+ let $acc11900119034 = sum($acc01900119034, $list1900119034[0])
465+ if (($size1900119034 == 1))
466+ then $acc11900119034
467467 else {
468- let $acc21887818911 = sum($acc11887818911, $list1887818911[1])
469- if (($size1887818911 == 2))
470- then $acc21887818911
468+ let $acc21900119034 = sum($acc11900119034, $list1900119034[1])
469+ if (($size1900119034 == 2))
470+ then $acc21900119034
471471 else {
472- let $acc31887818911 = sum($acc21887818911, $list1887818911[2])
473- if (($size1887818911 == 3))
474- then $acc31887818911
472+ let $acc31900119034 = sum($acc21900119034, $list1900119034[2])
473+ if (($size1900119034 == 3))
474+ then $acc31900119034
475475 else {
476- let $acc41887818911 = sum($acc31887818911, $list1887818911[3])
477- if (($size1887818911 == 4))
478- then $acc41887818911
476+ let $acc41900119034 = sum($acc31900119034, $list1900119034[3])
477+ if (($size1900119034 == 4))
478+ then $acc41900119034
479479 else {
480- let $acc51887818911 = sum($acc41887818911, $list1887818911[4])
481- if (($size1887818911 == 5))
482- then $acc51887818911
480+ let $acc51900119034 = sum($acc41900119034, $list1900119034[4])
481+ if (($size1900119034 == 5))
482+ then $acc51900119034
483483 else {
484- let $acc61887818911 = sum($acc51887818911, $list1887818911[5])
485- if (($size1887818911 == 6))
486- then $acc61887818911
484+ let $acc61900119034 = sum($acc51900119034, $list1900119034[5])
485+ if (($size1900119034 == 6))
486+ then $acc61900119034
487487 else {
488- let $acc71887818911 = sum($acc61887818911, $list1887818911[6])
489- if (($size1887818911 == 7))
490- then $acc71887818911
488+ let $acc71900119034 = sum($acc61900119034, $list1900119034[6])
489+ if (($size1900119034 == 7))
490+ then $acc71900119034
491491 else {
492- let $acc81887818911 = sum($acc71887818911, $list1887818911[7])
493- if (($size1887818911 == 8))
494- then $acc81887818911
492+ let $acc81900119034 = sum($acc71900119034, $list1900119034[7])
493+ if (($size1900119034 == 8))
494+ then $acc81900119034
495495 else {
496- let $acc91887818911 = sum($acc81887818911, $list1887818911[8])
497- if (($size1887818911 == 9))
498- then $acc91887818911
496+ let $acc91900119034 = sum($acc81900119034, $list1900119034[8])
497+ if (($size1900119034 == 9))
498+ then $acc91900119034
499499 else {
500- let $acc101887818911 = sum($acc91887818911, $list1887818911[9])
501- if (($size1887818911 == 10))
502- then $acc101887818911
500+ let $acc101900119034 = sum($acc91900119034, $list1900119034[9])
501+ if (($size1900119034 == 10))
502+ then $acc101900119034
503503 else {
504- let $acc111887818911 = sum($acc101887818911, $list1887818911[10])
504+ let $acc111900119034 = sum($acc101900119034, $list1900119034[10])
505505 throw("List size exceed 10")
506506 }
507507 }
516516 }
517517 }
518518 let sumRewardCurrentTemp = {
519- let $list1894418976 = currentRewards
520- let $size1894418976 = size($list1894418976)
521- let $acc01894418976 = 0
522- if (($size1894418976 == 0))
523- then $acc01894418976
519+ let $list1906719099 = currentRewards
520+ let $size1906719099 = size($list1906719099)
521+ let $acc01906719099 = 0
522+ if (($size1906719099 == 0))
523+ then $acc01906719099
524524 else {
525- let $acc11894418976 = sum($acc01894418976, $list1894418976[0])
526- if (($size1894418976 == 1))
527- then $acc11894418976
525+ let $acc11906719099 = sum($acc01906719099, $list1906719099[0])
526+ if (($size1906719099 == 1))
527+ then $acc11906719099
528528 else {
529- let $acc21894418976 = sum($acc11894418976, $list1894418976[1])
530- if (($size1894418976 == 2))
531- then $acc21894418976
529+ let $acc21906719099 = sum($acc11906719099, $list1906719099[1])
530+ if (($size1906719099 == 2))
531+ then $acc21906719099
532532 else {
533- let $acc31894418976 = sum($acc21894418976, $list1894418976[2])
534- if (($size1894418976 == 3))
535- then $acc31894418976
533+ let $acc31906719099 = sum($acc21906719099, $list1906719099[2])
534+ if (($size1906719099 == 3))
535+ then $acc31906719099
536536 else {
537- let $acc41894418976 = sum($acc31894418976, $list1894418976[3])
538- if (($size1894418976 == 4))
539- then $acc41894418976
537+ let $acc41906719099 = sum($acc31906719099, $list1906719099[3])
538+ if (($size1906719099 == 4))
539+ then $acc41906719099
540540 else {
541- let $acc51894418976 = sum($acc41894418976, $list1894418976[4])
542- if (($size1894418976 == 5))
543- then $acc51894418976
541+ let $acc51906719099 = sum($acc41906719099, $list1906719099[4])
542+ if (($size1906719099 == 5))
543+ then $acc51906719099
544544 else {
545- let $acc61894418976 = sum($acc51894418976, $list1894418976[5])
546- if (($size1894418976 == 6))
547- then $acc61894418976
545+ let $acc61906719099 = sum($acc51906719099, $list1906719099[5])
546+ if (($size1906719099 == 6))
547+ then $acc61906719099
548548 else {
549- let $acc71894418976 = sum($acc61894418976, $list1894418976[6])
550- if (($size1894418976 == 7))
551- then $acc71894418976
549+ let $acc71906719099 = sum($acc61906719099, $list1906719099[6])
550+ if (($size1906719099 == 7))
551+ then $acc71906719099
552552 else {
553- let $acc81894418976 = sum($acc71894418976, $list1894418976[7])
554- if (($size1894418976 == 8))
555- then $acc81894418976
553+ let $acc81906719099 = sum($acc71906719099, $list1906719099[7])
554+ if (($size1906719099 == 8))
555+ then $acc81906719099
556556 else {
557- let $acc91894418976 = sum($acc81894418976, $list1894418976[8])
558- if (($size1894418976 == 9))
559- then $acc91894418976
557+ let $acc91906719099 = sum($acc81906719099, $list1906719099[8])
558+ if (($size1906719099 == 9))
559+ then $acc91906719099
560560 else {
561- let $acc101894418976 = sum($acc91894418976, $list1894418976[9])
562- if (($size1894418976 == 10))
563- then $acc101894418976
561+ let $acc101906719099 = sum($acc91906719099, $list1906719099[9])
562+ if (($size1906719099 == 10))
563+ then $acc101906719099
564564 else {
565- let $acc111894418976 = sum($acc101894418976, $list1894418976[10])
565+ let $acc111906719099 = sum($acc101906719099, $list1906719099[10])
566566 throw("List size exceed 10")
567567 }
568568 }
576576 }
577577 }
578578 }
579- let $t01898219135 = getSumReward(sumRewardPreviousTemp, sumRewardCurrentTemp, pagination)
580- let sumRewardPrevious = $t01898219135._1
581- let sumRewardCurrent = $t01898219135._2
582- let rewardUpdateHeightFirstPaginationEntry = $t01898219135._3
579+ let $t01910519258 = getSumReward(sumRewardPreviousTemp, sumRewardCurrentTemp, pagination)
580+ let sumRewardPrevious = $t01910519258._1
581+ let sumRewardCurrent = $t01910519258._2
582+ let rewardUpdateHeightFirstPaginationEntry = $t01910519258._3
583583 let rewardUpdateHeightEntry = if ((pagination == 2))
584584 then [IntegerEntry(keyRewardUpdateHeight, rewardUpdateHeight)]
585585 else [IntegerEntry(keyRewardUpdateHeight, getIntegerValue(this, keyRewardUpdateHeight))]
587587 then throw("rewardUpdateHeight < height")
588588 else {
589589 let previousRewardEntryNew = {
590- let $list1946419518 = previousPools
591- let $size1946419518 = size($list1946419518)
592- let $acc01946419518 = nil
593- if (($size1946419518 == 0))
594- then $acc01946419518
590+ let $list1958719641 = previousPools
591+ let $size1958719641 = size($list1958719641)
592+ let $acc01958719641 = nil
593+ if (($size1958719641 == 0))
594+ then $acc01958719641
595595 else {
596- let $acc11946419518 = changePreviousRewardEntry($acc01946419518, $list1946419518[0])
597- if (($size1946419518 == 1))
598- then $acc11946419518
596+ let $acc11958719641 = changePreviousRewardEntry($acc01958719641, $list1958719641[0])
597+ if (($size1958719641 == 1))
598+ then $acc11958719641
599599 else {
600- let $acc21946419518 = changePreviousRewardEntry($acc11946419518, $list1946419518[1])
601- if (($size1946419518 == 2))
602- then $acc21946419518
600+ let $acc21958719641 = changePreviousRewardEntry($acc11958719641, $list1958719641[1])
601+ if (($size1958719641 == 2))
602+ then $acc21958719641
603603 else {
604- let $acc31946419518 = changePreviousRewardEntry($acc21946419518, $list1946419518[2])
605- if (($size1946419518 == 3))
606- then $acc31946419518
604+ let $acc31958719641 = changePreviousRewardEntry($acc21958719641, $list1958719641[2])
605+ if (($size1958719641 == 3))
606+ then $acc31958719641
607607 else {
608- let $acc41946419518 = changePreviousRewardEntry($acc31946419518, $list1946419518[3])
609- if (($size1946419518 == 4))
610- then $acc41946419518
608+ let $acc41958719641 = changePreviousRewardEntry($acc31958719641, $list1958719641[3])
609+ if (($size1958719641 == 4))
610+ then $acc41958719641
611611 else {
612- let $acc51946419518 = changePreviousRewardEntry($acc41946419518, $list1946419518[4])
613- if (($size1946419518 == 5))
614- then $acc51946419518
612+ let $acc51958719641 = changePreviousRewardEntry($acc41958719641, $list1958719641[4])
613+ if (($size1958719641 == 5))
614+ then $acc51958719641
615615 else {
616- let $acc61946419518 = changePreviousRewardEntry($acc51946419518, $list1946419518[5])
617- if (($size1946419518 == 6))
618- then $acc61946419518
616+ let $acc61958719641 = changePreviousRewardEntry($acc51958719641, $list1958719641[5])
617+ if (($size1958719641 == 6))
618+ then $acc61958719641
619619 else {
620- let $acc71946419518 = changePreviousRewardEntry($acc61946419518, $list1946419518[6])
621- if (($size1946419518 == 7))
622- then $acc71946419518
620+ let $acc71958719641 = changePreviousRewardEntry($acc61958719641, $list1958719641[6])
621+ if (($size1958719641 == 7))
622+ then $acc71958719641
623623 else {
624- let $acc81946419518 = changePreviousRewardEntry($acc71946419518, $list1946419518[7])
625- if (($size1946419518 == 8))
626- then $acc81946419518
624+ let $acc81958719641 = changePreviousRewardEntry($acc71958719641, $list1958719641[7])
625+ if (($size1958719641 == 8))
626+ then $acc81958719641
627627 else {
628- let $acc91946419518 = changePreviousRewardEntry($acc81946419518, $list1946419518[8])
629- if (($size1946419518 == 9))
630- then $acc91946419518
628+ let $acc91958719641 = changePreviousRewardEntry($acc81958719641, $list1958719641[8])
629+ if (($size1958719641 == 9))
630+ then $acc91958719641
631631 else {
632- let $acc101946419518 = changePreviousRewardEntry($acc91946419518, $list1946419518[9])
633- if (($size1946419518 == 10))
634- then $acc101946419518
632+ let $acc101958719641 = changePreviousRewardEntry($acc91958719641, $list1958719641[9])
633+ if (($size1958719641 == 10))
634+ then $acc101958719641
635635 else {
636- let $acc111946419518 = changePreviousRewardEntry($acc101946419518, $list1946419518[10])
636+ let $acc111958719641 = changePreviousRewardEntry($acc101958719641, $list1958719641[10])
637637 throw("List size exceed 10")
638638 }
639639 }
648648 }
649649 }
650650 let currentRewardEntryNew = {
651- let $list1955119603 = currentPools
652- let $size1955119603 = size($list1955119603)
653- let $acc01955119603 = nil
654- if (($size1955119603 == 0))
655- then $acc01955119603
651+ let $list1967419726 = currentPools
652+ let $size1967419726 = size($list1967419726)
653+ let $acc01967419726 = nil
654+ if (($size1967419726 == 0))
655+ then $acc01967419726
656656 else {
657- let $acc11955119603 = changeCurrentRewardEntry($acc01955119603, $list1955119603[0])
658- if (($size1955119603 == 1))
659- then $acc11955119603
657+ let $acc11967419726 = changeCurrentRewardEntry($acc01967419726, $list1967419726[0])
658+ if (($size1967419726 == 1))
659+ then $acc11967419726
660660 else {
661- let $acc21955119603 = changeCurrentRewardEntry($acc11955119603, $list1955119603[1])
662- if (($size1955119603 == 2))
663- then $acc21955119603
661+ let $acc21967419726 = changeCurrentRewardEntry($acc11967419726, $list1967419726[1])
662+ if (($size1967419726 == 2))
663+ then $acc21967419726
664664 else {
665- let $acc31955119603 = changeCurrentRewardEntry($acc21955119603, $list1955119603[2])
666- if (($size1955119603 == 3))
667- then $acc31955119603
665+ let $acc31967419726 = changeCurrentRewardEntry($acc21967419726, $list1967419726[2])
666+ if (($size1967419726 == 3))
667+ then $acc31967419726
668668 else {
669- let $acc41955119603 = changeCurrentRewardEntry($acc31955119603, $list1955119603[3])
670- if (($size1955119603 == 4))
671- then $acc41955119603
669+ let $acc41967419726 = changeCurrentRewardEntry($acc31967419726, $list1967419726[3])
670+ if (($size1967419726 == 4))
671+ then $acc41967419726
672672 else {
673- let $acc51955119603 = changeCurrentRewardEntry($acc41955119603, $list1955119603[4])
674- if (($size1955119603 == 5))
675- then $acc51955119603
673+ let $acc51967419726 = changeCurrentRewardEntry($acc41967419726, $list1967419726[4])
674+ if (($size1967419726 == 5))
675+ then $acc51967419726
676676 else {
677- let $acc61955119603 = changeCurrentRewardEntry($acc51955119603, $list1955119603[5])
678- if (($size1955119603 == 6))
679- then $acc61955119603
677+ let $acc61967419726 = changeCurrentRewardEntry($acc51967419726, $list1967419726[5])
678+ if (($size1967419726 == 6))
679+ then $acc61967419726
680680 else {
681- let $acc71955119603 = changeCurrentRewardEntry($acc61955119603, $list1955119603[6])
682- if (($size1955119603 == 7))
683- then $acc71955119603
681+ let $acc71967419726 = changeCurrentRewardEntry($acc61967419726, $list1967419726[6])
682+ if (($size1967419726 == 7))
683+ then $acc71967419726
684684 else {
685- let $acc81955119603 = changeCurrentRewardEntry($acc71955119603, $list1955119603[7])
686- if (($size1955119603 == 8))
687- then $acc81955119603
685+ let $acc81967419726 = changeCurrentRewardEntry($acc71967419726, $list1967419726[7])
686+ if (($size1967419726 == 8))
687+ then $acc81967419726
688688 else {
689- let $acc91955119603 = changeCurrentRewardEntry($acc81955119603, $list1955119603[8])
690- if (($size1955119603 == 9))
691- then $acc91955119603
689+ let $acc91967419726 = changeCurrentRewardEntry($acc81967419726, $list1967419726[8])
690+ if (($size1967419726 == 9))
691+ then $acc91967419726
692692 else {
693- let $acc101955119603 = changeCurrentRewardEntry($acc91955119603, $list1955119603[9])
694- if (($size1955119603 == 10))
695- then $acc101955119603
693+ let $acc101967419726 = changeCurrentRewardEntry($acc91967419726, $list1967419726[9])
694+ if (($size1967419726 == 10))
695+ then $acc101967419726
696696 else {
697- let $acc111955119603 = changeCurrentRewardEntry($acc101955119603, $list1955119603[10])
697+ let $acc111967419726 = changeCurrentRewardEntry($acc101967419726, $list1967419726[10])
698698 throw("List size exceed 10")
699699 }
700700 }
709709 }
710710 }
711711 let heightEntryNewCur = {
712- let $list1963219677 = currentPools
713- let $size1963219677 = size($list1963219677)
714- let $acc01963219677 = nil
715- if (($size1963219677 == 0))
716- then $acc01963219677
712+ let $list1975519800 = currentPools
713+ let $size1975519800 = size($list1975519800)
714+ let $acc01975519800 = nil
715+ if (($size1975519800 == 0))
716+ then $acc01975519800
717717 else {
718- let $acc11963219677 = changeHeightEntry($acc01963219677, $list1963219677[0])
719- if (($size1963219677 == 1))
720- then $acc11963219677
718+ let $acc11975519800 = changeHeightEntry($acc01975519800, $list1975519800[0])
719+ if (($size1975519800 == 1))
720+ then $acc11975519800
721721 else {
722- let $acc21963219677 = changeHeightEntry($acc11963219677, $list1963219677[1])
723- if (($size1963219677 == 2))
724- then $acc21963219677
722+ let $acc21975519800 = changeHeightEntry($acc11975519800, $list1975519800[1])
723+ if (($size1975519800 == 2))
724+ then $acc21975519800
725725 else {
726- let $acc31963219677 = changeHeightEntry($acc21963219677, $list1963219677[2])
727- if (($size1963219677 == 3))
728- then $acc31963219677
726+ let $acc31975519800 = changeHeightEntry($acc21975519800, $list1975519800[2])
727+ if (($size1975519800 == 3))
728+ then $acc31975519800
729729 else {
730- let $acc41963219677 = changeHeightEntry($acc31963219677, $list1963219677[3])
731- if (($size1963219677 == 4))
732- then $acc41963219677
730+ let $acc41975519800 = changeHeightEntry($acc31975519800, $list1975519800[3])
731+ if (($size1975519800 == 4))
732+ then $acc41975519800
733733 else {
734- let $acc51963219677 = changeHeightEntry($acc41963219677, $list1963219677[4])
735- if (($size1963219677 == 5))
736- then $acc51963219677
734+ let $acc51975519800 = changeHeightEntry($acc41975519800, $list1975519800[4])
735+ if (($size1975519800 == 5))
736+ then $acc51975519800
737737 else {
738- let $acc61963219677 = changeHeightEntry($acc51963219677, $list1963219677[5])
739- if (($size1963219677 == 6))
740- then $acc61963219677
738+ let $acc61975519800 = changeHeightEntry($acc51975519800, $list1975519800[5])
739+ if (($size1975519800 == 6))
740+ then $acc61975519800
741741 else {
742- let $acc71963219677 = changeHeightEntry($acc61963219677, $list1963219677[6])
743- if (($size1963219677 == 7))
744- then $acc71963219677
742+ let $acc71975519800 = changeHeightEntry($acc61975519800, $list1975519800[6])
743+ if (($size1975519800 == 7))
744+ then $acc71975519800
745745 else {
746- let $acc81963219677 = changeHeightEntry($acc71963219677, $list1963219677[7])
747- if (($size1963219677 == 8))
748- then $acc81963219677
746+ let $acc81975519800 = changeHeightEntry($acc71975519800, $list1975519800[7])
747+ if (($size1975519800 == 8))
748+ then $acc81975519800
749749 else {
750- let $acc91963219677 = changeHeightEntry($acc81963219677, $list1963219677[8])
751- if (($size1963219677 == 9))
752- then $acc91963219677
750+ let $acc91975519800 = changeHeightEntry($acc81975519800, $list1975519800[8])
751+ if (($size1975519800 == 9))
752+ then $acc91975519800
753753 else {
754- let $acc101963219677 = changeHeightEntry($acc91963219677, $list1963219677[9])
755- if (($size1963219677 == 10))
756- then $acc101963219677
754+ let $acc101975519800 = changeHeightEntry($acc91975519800, $list1975519800[9])
755+ if (($size1975519800 == 10))
756+ then $acc101975519800
757757 else {
758- let $acc111963219677 = changeHeightEntry($acc101963219677, $list1963219677[10])
758+ let $acc111975519800 = changeHeightEntry($acc101975519800, $list1975519800[10])
759759 throw("List size exceed 10")
760760 }
761761 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let adminPubKey1 = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
55
66 let adminPubKey2 = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
77
88 let adminPubKey3 = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
99
1010 let adminPubKeyStartStop = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
1111
1212 let adminPubKeyWallet = base58'5CqqMkmtXXt35KRH9LdWA3ap6TffPvTT5SHQzYrVFbBw'
1313
1414 let keyActive = "active"
1515
1616 let keyCause = "shutdown_cause"
1717
1818 let keyLastInterest = "last_interest"
1919
2020 let keyUserLastInterest = "_last_interest"
2121
2222 let keyUserSWOPLocked = "_SWOP_amount"
2323
2424 let keyUserGetBackHeight = "_getBackHeight"
2525
2626 let keyTotalSWOPLocked = "total_SWOP_amount"
2727
2828 let kUserTotalVoteSWOP = "_user_total_SWOP_vote"
2929
3030 let keyUserVoteOptionAmount = "_SWOP_option_amount"
3131
3232 let keyTotalVoteOptionAmount = "total_SWOP_option_amount"
3333
3434 let keyUserSWOPClaimedAmount = "_SWOP_claimed_amount"
3535
3636 let keyUserSWOPLastClaimedAmount = "_SWOP_last_claimed_amount"
3737
3838 let keyVoteName = "vote_name"
3939
4040 let keyOptionName = "_option_name"
4141
4242 let keyVotingStartHeight = "_startHeight"
4343
4444 let keyVoteDuration = "_vote_duration"
4545
4646 let keyRewardPoolFractionCurrent = "_current_pool_fraction_reward"
4747
4848 let keyRewardPoolFractionPrevious = "_previous_pool_fraction_reward"
4949
5050 let keyHeightPoolFraction = "_pool_reward_update_height"
5151
5252 let keyTotalRewardPerBlockCurrent = "total_reward_per_block_current"
5353
5454 let keyTotalRewardPerBlockPrevious = "total_reward_per_block_previous"
5555
5656 let keyRewardUpdateHeight = "reward_update_height"
5757
5858 let keyRewardUpdateFirstPaginationHeight = "reward_update_height_first_pagination"
5959
6060 let keyNoVotingForNewPool = "_vote_no"
6161
6262 let keyYesVotingForNewPool = "_vote_yes"
6363
6464 let keyAmountOfVotingForNewPool = "max_amount_voting"
6565
6666 let keyStatusOfVotingForNewPool = "_status"
6767
6868 let keyHeightOfPoolVotingForNewPool = "_finish_height"
6969
7070 let activeVoteFirst = "voting_active_cell_1"
7171
7272 let activeVoteSecond = "voting_active_cell_2"
7373
7474 let activeVoteThird = "voting_active_cell_3"
7575
7676 let keyTempPrevSum = "sum_reward_previous"
7777
7878 let keyTempCurSum = "sum_reward_current"
7979
8080 let isActive = valueOrElse(getBoolean(this, keyActive), true)
8181
8282 let farmingSWOPAddress = Address(base58'3MsxHxruYWoddB4HRiPBYAWtMXMtCF1V9XT')
8383
8484 let votingLiteContract = Address(base58'3MrJgdL1GniipErHy44YF9idzLaUL2iX5DQ')
8585
8686 let votingForNewPool = Address(base58'3Mzgi6deFV8CyF2nqbWSBkqba5JaD42EXyb')
8787
8888 let keySWOPid = "SWOP_id"
8989
9090 let SWOP = fromBase58String(getStringValue(farmingSWOPAddress, keySWOPid))
9191
9292 let scaleValue = 100000000
9393
9494 let totalVoteShare = 10000000000
9595
9696 let kStartHeight = "start_height"
9797
9898 let kBasePeriod = "base_period"
9999
100100 let kPeriodLength = "period_length"
101101
102102 let kUserTotalStruc = "_user_total_struc"
103103
104104 let basePeriod = valueOrErrorMessage(getInteger(votingLiteContract, kBasePeriod), "Empty kBasePeriod at voting contract")
105105
106106 let startHeight = valueOrErrorMessage(getInteger(votingLiteContract, kStartHeight), "Empty kStartHeight at voting contract")
107107
108108 let periodLength = valueOrErrorMessage(getInteger(votingLiteContract, kPeriodLength), "Empty kPeriodLength at voting contract")
109109
110110 let firstActiveVote = valueOrElse(getString(votingForNewPool, activeVoteFirst), "")
111111
112112 let secondActiveVote = valueOrElse(getString(votingForNewPool, activeVoteSecond), "")
113113
114114 let thirdActiveVote = valueOrElse(getString(votingForNewPool, activeVoteThird), "")
115115
116116 let currVotingPeriod = (basePeriod + ((height - startHeight) / periodLength))
117117
118118 func suspend (cause) = [BooleanEntry(keyActive, false), StringEntry(keyCause, cause)]
119119
120120
121121 func throwNotEnoughSWOP () = throw("Not enough SWOP: userSWOPLocked - userTotalVoteAmount < voteSWOPAmount")
122122
123123
124124 func getLastInterestInfo () = {
125125 let lastInterest = valueOrElse(getInteger(this, keyLastInterest), 0)
126126 lastInterest
127127 }
128128
129129
130130 func getUserSWOPLocked (user) = valueOrElse(getInteger(this, (toString(user) + keyUserSWOPLocked)), 0)
131131
132132
133133 func getUserSWOPClaimedAmount (user) = valueOrElse(getInteger(this, (toString(user) + keyUserSWOPClaimedAmount)), 0)
134134
135135
136136 func getUserTotalVoteAmount (user) = valueOrElse(getInteger(votingLiteContract, (toString(user) + kUserTotalVoteSWOP)), 0)
137137
138138
139139 func getUserInterestInfo (user,lastInterest) = {
140140 let userSWOPAmount = getUserSWOPLocked(user)
141141 let userLastInterest = getInteger(this, (toString(user) + keyUserLastInterest))
142142 let userLastInterestValue = match userLastInterest {
143143 case userLastInterest: Int =>
144144 userLastInterest
145145 case _ =>
146146 lastInterest
147147 }
148148 $Tuple2(userLastInterestValue, userSWOPAmount)
149149 }
150150
151151
152152 func getUserTotalVoteAmountForOnePool (pool,user) = {
153153 let voting = valueOrElse(getInteger(votingForNewPool, pool), -1)
154154 let heightOfVoting = valueOrElse(getInteger(votingForNewPool, (toString(voting) + keyHeightOfPoolVotingForNewPool)), 0)
155155 let statusOfVoting = valueOrElse(getBoolean(votingForNewPool, (toString(voting) + keyStatusOfVotingForNewPool)), true)
156156 let currentHeight = height
157157 if ((0 > voting))
158158 then 0
159159 else if (!(statusOfVoting))
160160 then 0
161161 else if ((heightOfVoting > currentHeight))
162162 then (valueOrElse(getInteger(votingForNewPool, (((toString(user) + "_") + toString(voting)) + keyYesVotingForNewPool)), 0) + valueOrElse(getInteger(votingForNewPool, (((toString(user) + "_") + toString(voting)) + keyNoVotingForNewPool)), 0))
163163 else 0
164164 }
165165
166166
167167 func getUserTotalVoteForNewPoolAmount (user) = {
168168 let listOfVoting = [getUserTotalVoteAmountForOnePool(firstActiveVote, user), getUserTotalVoteAmountForOnePool(secondActiveVote, user), getUserTotalVoteAmountForOnePool(thirdActiveVote, user)]
169169 max(listOfVoting)
170170 }
171171
172172
173173 func getTotalSWOPLocked () = valueOrElse(getInteger(this, keyTotalSWOPLocked), 0)
174174
175175
176176 func getUserVoteInfo (user) = {
177177 let $t060726623 = if (isDefined(getString(votingLiteContract, (toString(user) + kUserTotalStruc))))
178178 then {
179179 let data = split(valueOrErrorMessage(getString(votingLiteContract, (toString(user) + kUserTotalStruc)), "Empty kUserTotalStruc"), "_")
180180 $Tuple3(parseIntValue(data[0]), parseIntValue(data[1]), parseIntValue(data[2]))
181181 }
182182 else {
183183 let uPoolTotalSWOP = valueOrElse(getInteger(votingLiteContract, (toString(user) + kUserTotalVoteSWOP)), 0)
184184 $Tuple3(uPoolTotalSWOP, 0, currVotingPeriod)
185185 }
186186 let userTotalVoteSWOP = $t060726623._1
187187 let userUnvoted = $t060726623._2
188188 let userUnvotedPeriod = $t060726623._3
189189 let userUnvotedActual = if ((userUnvotedPeriod == currVotingPeriod))
190190 then userUnvoted
191191 else 0
192192 $Tuple2(userTotalVoteSWOP, userUnvotedActual)
193193 }
194194
195195
196196 func getUserVoteOptionAmount (user) = valueOrElse(getInteger(this, (toString(user) + keyUserVoteOptionAmount)), 0)
197197
198198
199199 func getVotingStartHeight (voteName) = valueOrElse(getInteger(this, (voteName + keyVotingStartHeight)), 0)
200200
201201
202202 func getPoolUpdateHeight (pool) = valueOrElse(getIntegerValue(this, (pool + keyHeightPoolFraction)), 0)
203203
204204
205205 func getCurPoolWeight (pool) = valueOrElse(getIntegerValue(this, (pool + keyRewardPoolFractionCurrent)), 0)
206206
207207
208208 func getVoteOptionAmount (user,voteName,option) = {
209209 let userVoteOptionAmount = getInteger(this, (((voteName + option) + toString(user)) + keyUserVoteOptionAmount))
210210 let uvoa = match userVoteOptionAmount {
211211 case uvoa: Int =>
212212 uvoa
213213 case uvoa: Unit =>
214214 0
215215 case _ =>
216216 throw("Match error")
217217 }
218218 valueOrErrorMessage(uvoa, (((("No data on the key: " + voteName) + option) + toString(user)) + keyUserVoteOptionAmount))
219219 }
220220
221221
222222 func getVoteDuration (voteName) = valueOrErrorMessage(getInteger(this, (voteName + keyVoteDuration)), (("No data on the key: " + voteName) + keyVoteDuration))
223223
224224
225225 func getTotalVoteOptionAmount (voteName,option) = {
226226 let totalVoteOptionAmount = getInteger(this, ((voteName + option) + keyTotalVoteOptionAmount))
227227 let tvoa = match totalVoteOptionAmount {
228228 case tvoa: Int =>
229229 tvoa
230230 case tvoa: Unit =>
231231 0
232232 case _ =>
233233 throw("Match error")
234234 }
235235 tvoa
236236 }
237237
238238
239239 func getUserGetBackAmount (voteName,option,user,getBackSWOPHeight) = {
240240 let key = ((((((voteName + "_") + option) + "_") + toString(user)) + "_") + toString(getBackSWOPHeight))
241241 valueOrErrorMessage(getInteger(this, key), ("No data on the key: " + key))
242242 }
243243
244244
245245 func claimCalc (caller) = {
246246 let lastInterest = getLastInterestInfo()
247247 let $t087338813 = getUserInterestInfo(caller, lastInterest)
248248 let userLastInterest = $t087338813._1
249249 let userSWOPLocked = $t087338813._2
250250 let claimAmount = fraction(userSWOPLocked, (lastInterest - userLastInterest), scaleValue)
251251 let userNewInterest = lastInterest
252252 $Tuple2(userNewInterest, claimAmount)
253253 }
254254
255255
256256 @Callable(i)
257257 func airDrop () = if (!(isActive))
258258 then throw("DApp is inactive at this moment")
259259 else {
260260 let $t090789153 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
261261 let pmtAmount = $t090789153._1
262262 let pmtAssetId = $t090789153._2
263263 if ((pmtAssetId != SWOP))
264264 then throw("Incorrect pmtAssetId")
265265 else {
266266 let totalSWOPLocked = getTotalSWOPLocked()
267267 let lastInterest = getLastInterestInfo()
268268 let interestNew = (lastInterest + fraction(pmtAmount, scaleValue, totalSWOPLocked))
269269 [IntegerEntry(keyLastInterest, interestNew)]
270270 }
271271 }
272272
273273
274274
275275 @Callable(i)
276276 func lockSWOP () = if (!(isActive))
277277 then throw("DApp is inactive at this moment")
278278 else {
279279 let $t095919666 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
280280 let pmtAmount = $t095919666._1
281281 let pmtAssetId = $t095919666._2
282282 if ((pmtAssetId != SWOP))
283283 then throw("Incorrect pmtAssetId")
284284 else {
285285 let lastInterest = getLastInterestInfo()
286286 let $t097829864 = getUserInterestInfo(i.caller, lastInterest)
287287 let userLastInterest = $t097829864._1
288288 let userSWOPLocked = $t097829864._2
289289 let claimAmount = fraction(userSWOPLocked, (lastInterest - userLastInterest), scaleValue)
290290 let userSWOPLockedNew = ((userSWOPLocked + pmtAmount) + claimAmount)
291291 let userNewInterest = lastInterest
292292 let totalSWOPLocked = getTotalSWOPLocked()
293293 let totalSWOPLockedNew = ((totalSWOPLocked + pmtAmount) + claimAmount)
294294 let userClaimedAmount = getUserSWOPClaimedAmount(i.caller)
295295 let userClaimedAmountNew = (userClaimedAmount + claimAmount)
296296 [IntegerEntry((toString(i.caller) + keyUserLastInterest), userNewInterest), IntegerEntry((toString(i.caller) + keyUserSWOPLocked), userSWOPLockedNew), IntegerEntry(keyTotalSWOPLocked, totalSWOPLockedNew), IntegerEntry((toString(i.caller) + keyUserSWOPClaimedAmount), userClaimedAmountNew), IntegerEntry((toString(i.caller) + keyUserSWOPLastClaimedAmount), claimAmount)]
297297 }
298298 }
299299
300300
301301
302302 @Callable(i)
303303 func withdrawSWOP (withdrawAmount) = if (!(isActive))
304304 then throw("DApp is inactive at this moment")
305305 else if ((0 >= withdrawAmount))
306306 then throw("withdrawAmount <= 0")
307307 else {
308308 let totalSWOPLocked = getTotalSWOPLocked()
309309 let userSWOPLocked = getUserSWOPLocked(i.caller)
310310 let $t01101411069 = claimCalc(i.caller)
311311 let userNewInterest = $t01101411069._1
312312 let claimAmount = $t01101411069._2
313313 let $t01107411139 = getUserVoteInfo(i.caller)
314314 let userVoteAmount = $t01107411139._1
315315 let userUnvoteAmount = $t01107411139._2
316316 let userVoteAmountForNewPool = getUserTotalVoteForNewPoolAmount(i.caller)
317317 if (if (if ((0 > userUnvoteAmount))
318318 then true
319319 else (0 > userVoteAmount))
320320 then true
321321 else (0 > userVoteAmountForNewPool))
322322 then throw("userUnvoteAmount < 0 || userVoteAmount < 0 || userVoteAmountForNewPool < 0")
323323 else {
324324 let availableToUnstake = (userSWOPLocked - max([userVoteAmountForNewPool, (userVoteAmount + userUnvoteAmount)]))
325325 if ((withdrawAmount > availableToUnstake))
326326 then throw("withdrawAmount > availableToUnstake")
327327 else {
328328 let totalSWOPLockedNew = ((totalSWOPLocked + claimAmount) - withdrawAmount)
329329 let userSWOPamountNew = ((userSWOPLocked + claimAmount) - withdrawAmount)
330330 let userClaimedAmount = getUserSWOPClaimedAmount(i.caller)
331331 let userClaimedAmountNew = (userClaimedAmount + claimAmount)
332332 [IntegerEntry((toString(i.caller) + keyUserLastInterest), userNewInterest), IntegerEntry((toString(i.caller) + keyUserSWOPLocked), userSWOPamountNew), IntegerEntry(keyTotalSWOPLocked, totalSWOPLockedNew), ScriptTransfer(i.caller, withdrawAmount, SWOP), IntegerEntry((toString(i.caller) + keyUserSWOPClaimedAmount), userClaimedAmountNew), IntegerEntry((toString(i.caller) + keyUserSWOPLastClaimedAmount), claimAmount)]
333333 }
334334 }
335335 }
336336
337337
338338
339339 @Callable(i)
340340 func claimAndWithdrawSWOP () = if (!(isActive))
341341 then throw("DApp is inactive at this moment")
342342 else {
343343 let lastInterest = getLastInterestInfo()
344344 let $t01251412569 = claimCalc(i.caller)
345345 let userNewInterest = $t01251412569._1
346346 let claimAmount = $t01251412569._2
347347 let userClaimedAmount = getUserSWOPClaimedAmount(i.caller)
348348 let userClaimedAmountNew = (userClaimedAmount + claimAmount)
349349 if ((claimAmount == 0))
350350 then throw("You have 0 available SWOP")
351351 else [IntegerEntry((toString(i.caller) + keyUserLastInterest), userNewInterest), IntegerEntry((toString(i.caller) + keyUserSWOPClaimedAmount), userClaimedAmountNew), IntegerEntry((toString(i.caller) + keyUserSWOPLastClaimedAmount), claimAmount), ScriptTransfer(i.caller, claimAmount, SWOP)]
352352 }
353353
354354
355355
356356 @Callable(i)
357357 func claimAndStakeSWOP () = if (!(isActive))
358358 then throw("DApp is inactive at this moment")
359359 else {
360360 let totalSWOPLocked = getTotalSWOPLocked()
361361 let userSWOPLocked = getUserSWOPLocked(i.caller)
362362 let lastInterest = getLastInterestInfo()
363363 let $t01334813403 = claimCalc(i.caller)
364364 let userNewInterest = $t01334813403._1
365365 let claimAmount = $t01334813403._2
366366 let userSWOPLockedNew = (userSWOPLocked + claimAmount)
367367 let totalSWOPLockedNew = (totalSWOPLocked + claimAmount)
368368 let userClaimedAmount = getUserSWOPClaimedAmount(i.caller)
369369 let userClaimedAmountNew = (userClaimedAmount + claimAmount)
370370 if ((claimAmount == 0))
371371 then throw("You have 0 available SWOP")
372372 else [IntegerEntry((toString(i.caller) + keyUserLastInterest), userNewInterest), IntegerEntry(keyTotalSWOPLocked, totalSWOPLockedNew), IntegerEntry((toString(i.caller) + keyUserSWOPLocked), userSWOPLockedNew), IntegerEntry((toString(i.caller) + keyUserSWOPClaimedAmount), userClaimedAmountNew), IntegerEntry((toString(i.caller) + keyUserSWOPLastClaimedAmount), claimAmount)]
373373 }
374374
375375
376376
377377 @Callable(i)
378378 func updateWeights (previousPools,previousRewards,currentPools,currentRewards,rewardUpdateHeight,pagination) = if (!(isActive))
379379 then throw("DApp is inactive at this moment")
380380 else {
381381 let amountPools = 10
382382 let totalRewardUpdateHeight = valueOrElse(getIntegerValue(this, keyRewardUpdateHeight), 0)
383383 if (!(containsElement([adminPubKey1, adminPubKey2, adminPubKey3, adminPubKeyStartStop, adminPubKeyWallet], i.callerPublicKey)))
384384 then throw("Only admin can call this function")
385385 else if (if ((size(previousPools) > amountPools))
386386 then true
387387 else (size(currentPools) > amountPools))
388388 then throw(("Max amount of pool is " + toString(amountPools)))
389389 else if ((totalRewardUpdateHeight >= rewardUpdateHeight))
390- then throw("rewardUpdateHeight <= totalRewardUpdateHeight")
390+ then throw(((("rewardUpdateHeight <= totalRewardUpdateHeight; rewardUpdateHeight: " + toString(rewardUpdateHeight)) + "; totalRewardUpdateHeight: ") + toString(totalRewardUpdateHeight)))
391391 else if ((height >= rewardUpdateHeight))
392392 then throw("height >= rewardUpdateHeight")
393393 else if ((0 >= rewardUpdateHeight))
394394 then throw("0 >= rewardUpdateHeight ")
395395 else {
396396 func sum (a,b) = (a + b)
397397
398398 func changePreviousRewardEntry (accumulated,pool) = {
399399 let poolRewardUpdateHeight = getPoolUpdateHeight(pool)
400400 if ((rewardUpdateHeight != poolRewardUpdateHeight))
401401 then if ((poolRewardUpdateHeight == totalRewardUpdateHeight))
402402 then {
403403 let poolReward = getCurPoolWeight(pool)
404404 IntegerEntry((pool + keyRewardPoolFractionPrevious), poolReward) :: accumulated
405405 }
406406 else nil
407407 else nil
408408 }
409409
410410 func changeCurrentRewardEntry (accumulated,pool) = {
411411 let poolIndex = value(indexOf(currentPools, pool))
412412 let poolReward = currentRewards[poolIndex]
413413 if ((0 > poolReward))
414414 then throw("PoolReward < 0")
415415 else IntegerEntry((pool + keyRewardPoolFractionCurrent), poolReward) :: accumulated
416416 }
417417
418418 func changeHeightEntry (accumulated,pool) = {
419419 let poolHeight = rewardUpdateHeight
420420 IntegerEntry((pool + keyHeightPoolFraction), poolHeight) :: accumulated
421421 }
422422
423423 func getSumReward (prevTempSum,curTempSum,pagination) = if ((pagination == 0))
424424 then if (if ((prevTempSum > totalVoteShare))
425425 then true
426426 else (curTempSum > totalVoteShare))
427427 then throw(((((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare - " + toString(pagination)) + " ") + toString(prevTempSum)) + " ") + toString(curTempSum)))
428428 else $Tuple3([IntegerEntry(keyTempPrevSum, prevTempSum)], [IntegerEntry(keyTempCurSum, curTempSum)], [IntegerEntry(keyRewardUpdateFirstPaginationHeight, rewardUpdateHeight)])
429429 else if ((pagination == 1))
430430 then {
431431 let prevTempSumFromKey = valueOrElse(getInteger(this, keyTempPrevSum), 0)
432432 let curTempSumFromKey = valueOrElse(getInteger(this, keyTempCurSum), 0)
433433 let rewardUpdateHeightFirstPaginationEntry = valueOrElse(getInteger(this, keyRewardUpdateFirstPaginationHeight), 0)
434434 if (if (((prevTempSum + prevTempSumFromKey) > totalVoteShare))
435435 then true
436436 else ((curTempSum + curTempSumFromKey) > totalVoteShare))
437437 then throw(((((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare - " + toString(pagination)) + " ") + toString((prevTempSum + prevTempSumFromKey))) + " ") + toString((curTempSum + curTempSumFromKey))))
438438 else if ((rewardUpdateHeightFirstPaginationEntry != rewardUpdateHeight))
439439 then throw("current rewardUpdateHeight != rewardUpdateHeightFirstPaginationEntry")
440440 else $Tuple3([IntegerEntry(keyTempPrevSum, (prevTempSum + prevTempSumFromKey))], [IntegerEntry(keyTempCurSum, (curTempSum + curTempSumFromKey))], nil)
441441 }
442442 else if ((pagination == 2))
443443 then {
444444 let prevSum = (valueOrElse(getInteger(this, keyTempPrevSum), 0) + prevTempSum)
445445 let curSum = (valueOrElse(getInteger(this, keyTempCurSum), 0) + curTempSum)
446446 let rewardUpdateHeightFirstPaginationEntry = valueOrElse(getInteger(this, keyRewardUpdateFirstPaginationHeight), 0)
447447 if (if ((prevSum != totalVoteShare))
448448 then true
449449 else (curSum != totalVoteShare))
450450 then throw(((("sumRewardPrevious != totalVoteShare or sumRewardCurrent != totalVoteShare; sumRewardPrevious: " + toString(prevSum)) + "; sumRewardCurrent:") + toString(curSum)))
451451 else if ((rewardUpdateHeightFirstPaginationEntry != rewardUpdateHeight))
452452 then throw("current rewardUpdateHeight != rewardUpdateHeightFirstPaginationEntry")
453453 else $Tuple3([IntegerEntry(keyTempPrevSum, prevSum)], [IntegerEntry(keyTempCurSum, curSum)], nil)
454454 }
455455 else throw("Incorrect pagination")
456456
457457 let sumRewardPreviousTemp = {
458- let $list1887818911 = previousRewards
459- let $size1887818911 = size($list1887818911)
460- let $acc01887818911 = 0
461- if (($size1887818911 == 0))
462- then $acc01887818911
458+ let $list1900119034 = previousRewards
459+ let $size1900119034 = size($list1900119034)
460+ let $acc01900119034 = 0
461+ if (($size1900119034 == 0))
462+ then $acc01900119034
463463 else {
464- let $acc11887818911 = sum($acc01887818911, $list1887818911[0])
465- if (($size1887818911 == 1))
466- then $acc11887818911
464+ let $acc11900119034 = sum($acc01900119034, $list1900119034[0])
465+ if (($size1900119034 == 1))
466+ then $acc11900119034
467467 else {
468- let $acc21887818911 = sum($acc11887818911, $list1887818911[1])
469- if (($size1887818911 == 2))
470- then $acc21887818911
468+ let $acc21900119034 = sum($acc11900119034, $list1900119034[1])
469+ if (($size1900119034 == 2))
470+ then $acc21900119034
471471 else {
472- let $acc31887818911 = sum($acc21887818911, $list1887818911[2])
473- if (($size1887818911 == 3))
474- then $acc31887818911
472+ let $acc31900119034 = sum($acc21900119034, $list1900119034[2])
473+ if (($size1900119034 == 3))
474+ then $acc31900119034
475475 else {
476- let $acc41887818911 = sum($acc31887818911, $list1887818911[3])
477- if (($size1887818911 == 4))
478- then $acc41887818911
476+ let $acc41900119034 = sum($acc31900119034, $list1900119034[3])
477+ if (($size1900119034 == 4))
478+ then $acc41900119034
479479 else {
480- let $acc51887818911 = sum($acc41887818911, $list1887818911[4])
481- if (($size1887818911 == 5))
482- then $acc51887818911
480+ let $acc51900119034 = sum($acc41900119034, $list1900119034[4])
481+ if (($size1900119034 == 5))
482+ then $acc51900119034
483483 else {
484- let $acc61887818911 = sum($acc51887818911, $list1887818911[5])
485- if (($size1887818911 == 6))
486- then $acc61887818911
484+ let $acc61900119034 = sum($acc51900119034, $list1900119034[5])
485+ if (($size1900119034 == 6))
486+ then $acc61900119034
487487 else {
488- let $acc71887818911 = sum($acc61887818911, $list1887818911[6])
489- if (($size1887818911 == 7))
490- then $acc71887818911
488+ let $acc71900119034 = sum($acc61900119034, $list1900119034[6])
489+ if (($size1900119034 == 7))
490+ then $acc71900119034
491491 else {
492- let $acc81887818911 = sum($acc71887818911, $list1887818911[7])
493- if (($size1887818911 == 8))
494- then $acc81887818911
492+ let $acc81900119034 = sum($acc71900119034, $list1900119034[7])
493+ if (($size1900119034 == 8))
494+ then $acc81900119034
495495 else {
496- let $acc91887818911 = sum($acc81887818911, $list1887818911[8])
497- if (($size1887818911 == 9))
498- then $acc91887818911
496+ let $acc91900119034 = sum($acc81900119034, $list1900119034[8])
497+ if (($size1900119034 == 9))
498+ then $acc91900119034
499499 else {
500- let $acc101887818911 = sum($acc91887818911, $list1887818911[9])
501- if (($size1887818911 == 10))
502- then $acc101887818911
500+ let $acc101900119034 = sum($acc91900119034, $list1900119034[9])
501+ if (($size1900119034 == 10))
502+ then $acc101900119034
503503 else {
504- let $acc111887818911 = sum($acc101887818911, $list1887818911[10])
504+ let $acc111900119034 = sum($acc101900119034, $list1900119034[10])
505505 throw("List size exceed 10")
506506 }
507507 }
508508 }
509509 }
510510 }
511511 }
512512 }
513513 }
514514 }
515515 }
516516 }
517517 }
518518 let sumRewardCurrentTemp = {
519- let $list1894418976 = currentRewards
520- let $size1894418976 = size($list1894418976)
521- let $acc01894418976 = 0
522- if (($size1894418976 == 0))
523- then $acc01894418976
519+ let $list1906719099 = currentRewards
520+ let $size1906719099 = size($list1906719099)
521+ let $acc01906719099 = 0
522+ if (($size1906719099 == 0))
523+ then $acc01906719099
524524 else {
525- let $acc11894418976 = sum($acc01894418976, $list1894418976[0])
526- if (($size1894418976 == 1))
527- then $acc11894418976
525+ let $acc11906719099 = sum($acc01906719099, $list1906719099[0])
526+ if (($size1906719099 == 1))
527+ then $acc11906719099
528528 else {
529- let $acc21894418976 = sum($acc11894418976, $list1894418976[1])
530- if (($size1894418976 == 2))
531- then $acc21894418976
529+ let $acc21906719099 = sum($acc11906719099, $list1906719099[1])
530+ if (($size1906719099 == 2))
531+ then $acc21906719099
532532 else {
533- let $acc31894418976 = sum($acc21894418976, $list1894418976[2])
534- if (($size1894418976 == 3))
535- then $acc31894418976
533+ let $acc31906719099 = sum($acc21906719099, $list1906719099[2])
534+ if (($size1906719099 == 3))
535+ then $acc31906719099
536536 else {
537- let $acc41894418976 = sum($acc31894418976, $list1894418976[3])
538- if (($size1894418976 == 4))
539- then $acc41894418976
537+ let $acc41906719099 = sum($acc31906719099, $list1906719099[3])
538+ if (($size1906719099 == 4))
539+ then $acc41906719099
540540 else {
541- let $acc51894418976 = sum($acc41894418976, $list1894418976[4])
542- if (($size1894418976 == 5))
543- then $acc51894418976
541+ let $acc51906719099 = sum($acc41906719099, $list1906719099[4])
542+ if (($size1906719099 == 5))
543+ then $acc51906719099
544544 else {
545- let $acc61894418976 = sum($acc51894418976, $list1894418976[5])
546- if (($size1894418976 == 6))
547- then $acc61894418976
545+ let $acc61906719099 = sum($acc51906719099, $list1906719099[5])
546+ if (($size1906719099 == 6))
547+ then $acc61906719099
548548 else {
549- let $acc71894418976 = sum($acc61894418976, $list1894418976[6])
550- if (($size1894418976 == 7))
551- then $acc71894418976
549+ let $acc71906719099 = sum($acc61906719099, $list1906719099[6])
550+ if (($size1906719099 == 7))
551+ then $acc71906719099
552552 else {
553- let $acc81894418976 = sum($acc71894418976, $list1894418976[7])
554- if (($size1894418976 == 8))
555- then $acc81894418976
553+ let $acc81906719099 = sum($acc71906719099, $list1906719099[7])
554+ if (($size1906719099 == 8))
555+ then $acc81906719099
556556 else {
557- let $acc91894418976 = sum($acc81894418976, $list1894418976[8])
558- if (($size1894418976 == 9))
559- then $acc91894418976
557+ let $acc91906719099 = sum($acc81906719099, $list1906719099[8])
558+ if (($size1906719099 == 9))
559+ then $acc91906719099
560560 else {
561- let $acc101894418976 = sum($acc91894418976, $list1894418976[9])
562- if (($size1894418976 == 10))
563- then $acc101894418976
561+ let $acc101906719099 = sum($acc91906719099, $list1906719099[9])
562+ if (($size1906719099 == 10))
563+ then $acc101906719099
564564 else {
565- let $acc111894418976 = sum($acc101894418976, $list1894418976[10])
565+ let $acc111906719099 = sum($acc101906719099, $list1906719099[10])
566566 throw("List size exceed 10")
567567 }
568568 }
569569 }
570570 }
571571 }
572572 }
573573 }
574574 }
575575 }
576576 }
577577 }
578578 }
579- let $t01898219135 = getSumReward(sumRewardPreviousTemp, sumRewardCurrentTemp, pagination)
580- let sumRewardPrevious = $t01898219135._1
581- let sumRewardCurrent = $t01898219135._2
582- let rewardUpdateHeightFirstPaginationEntry = $t01898219135._3
579+ let $t01910519258 = getSumReward(sumRewardPreviousTemp, sumRewardCurrentTemp, pagination)
580+ let sumRewardPrevious = $t01910519258._1
581+ let sumRewardCurrent = $t01910519258._2
582+ let rewardUpdateHeightFirstPaginationEntry = $t01910519258._3
583583 let rewardUpdateHeightEntry = if ((pagination == 2))
584584 then [IntegerEntry(keyRewardUpdateHeight, rewardUpdateHeight)]
585585 else [IntegerEntry(keyRewardUpdateHeight, getIntegerValue(this, keyRewardUpdateHeight))]
586586 if ((height > rewardUpdateHeight))
587587 then throw("rewardUpdateHeight < height")
588588 else {
589589 let previousRewardEntryNew = {
590- let $list1946419518 = previousPools
591- let $size1946419518 = size($list1946419518)
592- let $acc01946419518 = nil
593- if (($size1946419518 == 0))
594- then $acc01946419518
590+ let $list1958719641 = previousPools
591+ let $size1958719641 = size($list1958719641)
592+ let $acc01958719641 = nil
593+ if (($size1958719641 == 0))
594+ then $acc01958719641
595595 else {
596- let $acc11946419518 = changePreviousRewardEntry($acc01946419518, $list1946419518[0])
597- if (($size1946419518 == 1))
598- then $acc11946419518
596+ let $acc11958719641 = changePreviousRewardEntry($acc01958719641, $list1958719641[0])
597+ if (($size1958719641 == 1))
598+ then $acc11958719641
599599 else {
600- let $acc21946419518 = changePreviousRewardEntry($acc11946419518, $list1946419518[1])
601- if (($size1946419518 == 2))
602- then $acc21946419518
600+ let $acc21958719641 = changePreviousRewardEntry($acc11958719641, $list1958719641[1])
601+ if (($size1958719641 == 2))
602+ then $acc21958719641
603603 else {
604- let $acc31946419518 = changePreviousRewardEntry($acc21946419518, $list1946419518[2])
605- if (($size1946419518 == 3))
606- then $acc31946419518
604+ let $acc31958719641 = changePreviousRewardEntry($acc21958719641, $list1958719641[2])
605+ if (($size1958719641 == 3))
606+ then $acc31958719641
607607 else {
608- let $acc41946419518 = changePreviousRewardEntry($acc31946419518, $list1946419518[3])
609- if (($size1946419518 == 4))
610- then $acc41946419518
608+ let $acc41958719641 = changePreviousRewardEntry($acc31958719641, $list1958719641[3])
609+ if (($size1958719641 == 4))
610+ then $acc41958719641
611611 else {
612- let $acc51946419518 = changePreviousRewardEntry($acc41946419518, $list1946419518[4])
613- if (($size1946419518 == 5))
614- then $acc51946419518
612+ let $acc51958719641 = changePreviousRewardEntry($acc41958719641, $list1958719641[4])
613+ if (($size1958719641 == 5))
614+ then $acc51958719641
615615 else {
616- let $acc61946419518 = changePreviousRewardEntry($acc51946419518, $list1946419518[5])
617- if (($size1946419518 == 6))
618- then $acc61946419518
616+ let $acc61958719641 = changePreviousRewardEntry($acc51958719641, $list1958719641[5])
617+ if (($size1958719641 == 6))
618+ then $acc61958719641
619619 else {
620- let $acc71946419518 = changePreviousRewardEntry($acc61946419518, $list1946419518[6])
621- if (($size1946419518 == 7))
622- then $acc71946419518
620+ let $acc71958719641 = changePreviousRewardEntry($acc61958719641, $list1958719641[6])
621+ if (($size1958719641 == 7))
622+ then $acc71958719641
623623 else {
624- let $acc81946419518 = changePreviousRewardEntry($acc71946419518, $list1946419518[7])
625- if (($size1946419518 == 8))
626- then $acc81946419518
624+ let $acc81958719641 = changePreviousRewardEntry($acc71958719641, $list1958719641[7])
625+ if (($size1958719641 == 8))
626+ then $acc81958719641
627627 else {
628- let $acc91946419518 = changePreviousRewardEntry($acc81946419518, $list1946419518[8])
629- if (($size1946419518 == 9))
630- then $acc91946419518
628+ let $acc91958719641 = changePreviousRewardEntry($acc81958719641, $list1958719641[8])
629+ if (($size1958719641 == 9))
630+ then $acc91958719641
631631 else {
632- let $acc101946419518 = changePreviousRewardEntry($acc91946419518, $list1946419518[9])
633- if (($size1946419518 == 10))
634- then $acc101946419518
632+ let $acc101958719641 = changePreviousRewardEntry($acc91958719641, $list1958719641[9])
633+ if (($size1958719641 == 10))
634+ then $acc101958719641
635635 else {
636- let $acc111946419518 = changePreviousRewardEntry($acc101946419518, $list1946419518[10])
636+ let $acc111958719641 = changePreviousRewardEntry($acc101958719641, $list1958719641[10])
637637 throw("List size exceed 10")
638638 }
639639 }
640640 }
641641 }
642642 }
643643 }
644644 }
645645 }
646646 }
647647 }
648648 }
649649 }
650650 let currentRewardEntryNew = {
651- let $list1955119603 = currentPools
652- let $size1955119603 = size($list1955119603)
653- let $acc01955119603 = nil
654- if (($size1955119603 == 0))
655- then $acc01955119603
651+ let $list1967419726 = currentPools
652+ let $size1967419726 = size($list1967419726)
653+ let $acc01967419726 = nil
654+ if (($size1967419726 == 0))
655+ then $acc01967419726
656656 else {
657- let $acc11955119603 = changeCurrentRewardEntry($acc01955119603, $list1955119603[0])
658- if (($size1955119603 == 1))
659- then $acc11955119603
657+ let $acc11967419726 = changeCurrentRewardEntry($acc01967419726, $list1967419726[0])
658+ if (($size1967419726 == 1))
659+ then $acc11967419726
660660 else {
661- let $acc21955119603 = changeCurrentRewardEntry($acc11955119603, $list1955119603[1])
662- if (($size1955119603 == 2))
663- then $acc21955119603
661+ let $acc21967419726 = changeCurrentRewardEntry($acc11967419726, $list1967419726[1])
662+ if (($size1967419726 == 2))
663+ then $acc21967419726
664664 else {
665- let $acc31955119603 = changeCurrentRewardEntry($acc21955119603, $list1955119603[2])
666- if (($size1955119603 == 3))
667- then $acc31955119603
665+ let $acc31967419726 = changeCurrentRewardEntry($acc21967419726, $list1967419726[2])
666+ if (($size1967419726 == 3))
667+ then $acc31967419726
668668 else {
669- let $acc41955119603 = changeCurrentRewardEntry($acc31955119603, $list1955119603[3])
670- if (($size1955119603 == 4))
671- then $acc41955119603
669+ let $acc41967419726 = changeCurrentRewardEntry($acc31967419726, $list1967419726[3])
670+ if (($size1967419726 == 4))
671+ then $acc41967419726
672672 else {
673- let $acc51955119603 = changeCurrentRewardEntry($acc41955119603, $list1955119603[4])
674- if (($size1955119603 == 5))
675- then $acc51955119603
673+ let $acc51967419726 = changeCurrentRewardEntry($acc41967419726, $list1967419726[4])
674+ if (($size1967419726 == 5))
675+ then $acc51967419726
676676 else {
677- let $acc61955119603 = changeCurrentRewardEntry($acc51955119603, $list1955119603[5])
678- if (($size1955119603 == 6))
679- then $acc61955119603
677+ let $acc61967419726 = changeCurrentRewardEntry($acc51967419726, $list1967419726[5])
678+ if (($size1967419726 == 6))
679+ then $acc61967419726
680680 else {
681- let $acc71955119603 = changeCurrentRewardEntry($acc61955119603, $list1955119603[6])
682- if (($size1955119603 == 7))
683- then $acc71955119603
681+ let $acc71967419726 = changeCurrentRewardEntry($acc61967419726, $list1967419726[6])
682+ if (($size1967419726 == 7))
683+ then $acc71967419726
684684 else {
685- let $acc81955119603 = changeCurrentRewardEntry($acc71955119603, $list1955119603[7])
686- if (($size1955119603 == 8))
687- then $acc81955119603
685+ let $acc81967419726 = changeCurrentRewardEntry($acc71967419726, $list1967419726[7])
686+ if (($size1967419726 == 8))
687+ then $acc81967419726
688688 else {
689- let $acc91955119603 = changeCurrentRewardEntry($acc81955119603, $list1955119603[8])
690- if (($size1955119603 == 9))
691- then $acc91955119603
689+ let $acc91967419726 = changeCurrentRewardEntry($acc81967419726, $list1967419726[8])
690+ if (($size1967419726 == 9))
691+ then $acc91967419726
692692 else {
693- let $acc101955119603 = changeCurrentRewardEntry($acc91955119603, $list1955119603[9])
694- if (($size1955119603 == 10))
695- then $acc101955119603
693+ let $acc101967419726 = changeCurrentRewardEntry($acc91967419726, $list1967419726[9])
694+ if (($size1967419726 == 10))
695+ then $acc101967419726
696696 else {
697- let $acc111955119603 = changeCurrentRewardEntry($acc101955119603, $list1955119603[10])
697+ let $acc111967419726 = changeCurrentRewardEntry($acc101967419726, $list1967419726[10])
698698 throw("List size exceed 10")
699699 }
700700 }
701701 }
702702 }
703703 }
704704 }
705705 }
706706 }
707707 }
708708 }
709709 }
710710 }
711711 let heightEntryNewCur = {
712- let $list1963219677 = currentPools
713- let $size1963219677 = size($list1963219677)
714- let $acc01963219677 = nil
715- if (($size1963219677 == 0))
716- then $acc01963219677
712+ let $list1975519800 = currentPools
713+ let $size1975519800 = size($list1975519800)
714+ let $acc01975519800 = nil
715+ if (($size1975519800 == 0))
716+ then $acc01975519800
717717 else {
718- let $acc11963219677 = changeHeightEntry($acc01963219677, $list1963219677[0])
719- if (($size1963219677 == 1))
720- then $acc11963219677
718+ let $acc11975519800 = changeHeightEntry($acc01975519800, $list1975519800[0])
719+ if (($size1975519800 == 1))
720+ then $acc11975519800
721721 else {
722- let $acc21963219677 = changeHeightEntry($acc11963219677, $list1963219677[1])
723- if (($size1963219677 == 2))
724- then $acc21963219677
722+ let $acc21975519800 = changeHeightEntry($acc11975519800, $list1975519800[1])
723+ if (($size1975519800 == 2))
724+ then $acc21975519800
725725 else {
726- let $acc31963219677 = changeHeightEntry($acc21963219677, $list1963219677[2])
727- if (($size1963219677 == 3))
728- then $acc31963219677
726+ let $acc31975519800 = changeHeightEntry($acc21975519800, $list1975519800[2])
727+ if (($size1975519800 == 3))
728+ then $acc31975519800
729729 else {
730- let $acc41963219677 = changeHeightEntry($acc31963219677, $list1963219677[3])
731- if (($size1963219677 == 4))
732- then $acc41963219677
730+ let $acc41975519800 = changeHeightEntry($acc31975519800, $list1975519800[3])
731+ if (($size1975519800 == 4))
732+ then $acc41975519800
733733 else {
734- let $acc51963219677 = changeHeightEntry($acc41963219677, $list1963219677[4])
735- if (($size1963219677 == 5))
736- then $acc51963219677
734+ let $acc51975519800 = changeHeightEntry($acc41975519800, $list1975519800[4])
735+ if (($size1975519800 == 5))
736+ then $acc51975519800
737737 else {
738- let $acc61963219677 = changeHeightEntry($acc51963219677, $list1963219677[5])
739- if (($size1963219677 == 6))
740- then $acc61963219677
738+ let $acc61975519800 = changeHeightEntry($acc51975519800, $list1975519800[5])
739+ if (($size1975519800 == 6))
740+ then $acc61975519800
741741 else {
742- let $acc71963219677 = changeHeightEntry($acc61963219677, $list1963219677[6])
743- if (($size1963219677 == 7))
744- then $acc71963219677
742+ let $acc71975519800 = changeHeightEntry($acc61975519800, $list1975519800[6])
743+ if (($size1975519800 == 7))
744+ then $acc71975519800
745745 else {
746- let $acc81963219677 = changeHeightEntry($acc71963219677, $list1963219677[7])
747- if (($size1963219677 == 8))
748- then $acc81963219677
746+ let $acc81975519800 = changeHeightEntry($acc71975519800, $list1975519800[7])
747+ if (($size1975519800 == 8))
748+ then $acc81975519800
749749 else {
750- let $acc91963219677 = changeHeightEntry($acc81963219677, $list1963219677[8])
751- if (($size1963219677 == 9))
752- then $acc91963219677
750+ let $acc91975519800 = changeHeightEntry($acc81975519800, $list1975519800[8])
751+ if (($size1975519800 == 9))
752+ then $acc91975519800
753753 else {
754- let $acc101963219677 = changeHeightEntry($acc91963219677, $list1963219677[9])
755- if (($size1963219677 == 10))
756- then $acc101963219677
754+ let $acc101975519800 = changeHeightEntry($acc91975519800, $list1975519800[9])
755+ if (($size1975519800 == 10))
756+ then $acc101975519800
757757 else {
758- let $acc111963219677 = changeHeightEntry($acc101963219677, $list1963219677[10])
758+ let $acc111975519800 = changeHeightEntry($acc101975519800, $list1975519800[10])
759759 throw("List size exceed 10")
760760 }
761761 }
762762 }
763763 }
764764 }
765765 }
766766 }
767767 }
768768 }
769769 }
770770 }
771771 }
772772 ((((((previousRewardEntryNew ++ currentRewardEntryNew) ++ heightEntryNewCur) ++ sumRewardPrevious) ++ sumRewardCurrent) ++ rewardUpdateHeightEntry) ++ rewardUpdateHeightFirstPaginationEntry)
773773 }
774774 }
775775 }
776776
777777
778778
779779 @Callable(i)
780780 func shutdown () = if (!(isActive))
781781 then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, keyCause), "the cause wasn't specified")))
782782 else if (!(containsElement([adminPubKey1, adminPubKey2, adminPubKey3, adminPubKeyStartStop], i.callerPublicKey)))
783783 then throw("Only admin can call this function")
784784 else suspend("Paused by admin")
785785
786786
787787
788788 @Callable(i)
789789 func activate () = if (isActive)
790790 then throw("DApp is already active")
791791 else if (!(containsElement([adminPubKey1, adminPubKey2, adminPubKey3, adminPubKeyStartStop], i.callerPublicKey)))
792792 then throw("Only admin can call this function")
793793 else [BooleanEntry(keyActive, true), DeleteEntry(keyCause)]
794794
795795
796796 @Verifier(tx)
797797 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
798798

github/deemru/w8io/169f3d6 
432.14 ms