tx · D9cjd63FWQLDogszsMaRrYC1c14PdYWRW1mZeNUjfwT3

3MrRa3KaEgRyyjQdMLuU78m5GkJLvP5DZLj:  -0.05100000 Waves

2022.07.14 03:52 [2138711] smart account 3MrRa3KaEgRyyjQdMLuU78m5GkJLvP5DZLj > SELF 0.00000000 Waves

{ "type": 13, "id": "D9cjd63FWQLDogszsMaRrYC1c14PdYWRW1mZeNUjfwT3", "fee": 5100000, "feeAssetId": null, "timestamp": 1657759940659, "version": 2, "chainId": 84, "sender": "3MrRa3KaEgRyyjQdMLuU78m5GkJLvP5DZLj", "senderPublicKey": "AJNTN7EtP9dsAmPzcKRp9bRMvzZL4uwkmVxQuFuar3Qr", "proofs": [ "4eDTiNYW5dfL9HrQYUuYF5k4SNes51UxwGfeiennjVwvGmH3aaKGpoQiyRN44uwaCsGwkJKzA3yRgf4LoguGZuzb" ], "script": "base64:AAIFAAAAAAAAAEkIAhIAEgASCQoHAQEBAQEBARIOCgwBAQEBAQEBCAgIAQESBQoDAQEBEgUKAwEBARIAEgMKAQESABIDCgEIEgASAwoBCBIDCgEIAAAAdgAAAAAJa19vcmFfa2V5AgAAAAlrX29yYV9rZXkAAAAAD2tfb3JhX2Jsb2NrX2tleQIAAAAPa19vcmFfYmxvY2tfa2V5AAAAAAVrX29yYQIAAAAFa19vcmEAAAAACWtfYmFsYW5jZQIAAAAJa19iYWxhbmNlAAAAAA5rX3Bvc2l0aW9uU2l6ZQIAAAAOa19wb3NpdGlvblNpemUAAAAAEGtfcG9zaXRpb25NYXJnaW4CAAAAEGtfcG9zaXRpb25NYXJnaW4AAAAAFmtfcG9zaXRpb25PcGVuTm90aW9uYWwCAAAAFmtfcG9zaXRpb25PcGVuTm90aW9uYWwAAAAALmtfcG9zaXRpb25MYXN0VXBkYXRlZEN1bXVsYXRpdmVQcmVtaXVtRnJhY3Rpb24CAAAAEmtfcG9zaXRpb25GcmFjdGlvbgAAAAANa19pbml0aWFsaXplZAIAAAANa19pbml0aWFsaXplZAAAAAAIa19wYXVzZWQCAAAACGtfcGF1c2VkAAAAAAVrX2ZlZQIAAAAFa19mZWUAAAAAD2tfZnVuZGluZ1BlcmlvZAIAAAAPa19mdW5kaW5nUGVyaW9kAAAAABFrX2luaXRNYXJnaW5SYXRpbwIAAAARa19pbml0TWFyZ2luUmF0aW8AAAAAGGtfbWFpbnRlbmFuY2VNYXJnaW5SYXRpbwIAAAAFa19tbXIAAAAAFWtfbGlxdWlkYXRpb25GZWVSYXRpbwIAAAAVa19saXF1aWRhdGlvbkZlZVJhdGlvAAAAAA1rX3NwcmVhZExpbWl0AgAAAA1rX3NwcmVhZExpbWl0AAAAABBrX21heFByaWNlSW1wYWN0AgAAABBrX21heFByaWNlSW1wYWN0AAAAAA1rX2xhc3REYXRhU3RyAgAAAA1rX2xhc3REYXRhU3RyAAAAAA5rX2xhc3RNaW51dGVJZAIAAAAOa19sYXN0TWludXRlSWQAAAAAHWtfdHdhcERhdGFMYXN0Q3VtdWxhdGl2ZVByaWNlAgAAAB1rX3R3YXBEYXRhTGFzdEN1bXVsYXRpdmVQcmljZQAAAAATa190d2FwRGF0YUxhc3RQcmljZQIAAAATa190d2FwRGF0YUxhc3RQcmljZQAAAAAaa190d2FwRGF0YVByZXZpb3VzTWludXRlSWQCAAAAGmtfdHdhcERhdGFQcmV2aW91c01pbnV0ZUlkAAAAACVrX2xhdGVzdExvbmdDdW11bGF0aXZlUHJlbWl1bUZyYWN0aW9uAgAAABtrX2xhdGVzdExvbmdQcmVtaXVtRnJhY3Rpb24AAAAAJmtfbGF0ZXN0U2hvcnRDdW11bGF0aXZlUHJlbWl1bUZyYWN0aW9uAgAAABxrX2xhdGVzdFNob3J0UHJlbWl1bUZyYWN0aW9uAAAAABJrX25leHRGdW5kaW5nQmxvY2sCAAAAHmtfbmV4dEZ1bmRpbmdCbG9ja01pblRpbWVzdGFtcAAAAAARa19sb25nRnVuZGluZ1JhdGUCAAAAEWtfbG9uZ0Z1bmRpbmdSYXRlAAAAABJrX3Nob3J0RnVuZGluZ1JhdGUCAAAAEmtfc2hvcnRGdW5kaW5nUmF0ZQAAAAATa19xdW90ZUFzc2V0UmVzZXJ2ZQIAAAAIa19xdEFzdFIAAAAAEmtfYmFzZUFzc2V0UmVzZXJ2ZQIAAAAIa19ic0FzdFIAAAAAE2tfdG90YWxQb3NpdGlvblNpemUCAAAAE2tfdG90YWxQb3NpdGlvblNpemUAAAAAF2tfdG90YWxMb25nUG9zaXRpb25TaXplAgAAABdrX3RvdGFsTG9uZ1Bvc2l0aW9uU2l6ZQAAAAAYa190b3RhbFNob3J0UG9zaXRpb25TaXplAgAAABhrX3RvdGFsU2hvcnRQb3NpdGlvblNpemUAAAAAFGtfY3VtdWxhdGl2ZU5vdGlvbmFsAgAAABRrX2N1bXVsYXRpdmVOb3Rpb25hbAAAAAAWa19vcGVuSW50ZXJlc3ROb3Rpb25hbAIAAAAWa19vcGVuSW50ZXJlc3ROb3Rpb25hbAAAAAAUa19jb29yZGluYXRvckFkZHJlc3MCAAAAFGtfY29vcmRpbmF0b3JBZGRyZXNzAAAAABNrX2luc3VyYW5jZV9hZGRyZXNzAgAAABNrX2luc3VyYW5jZV9hZGRyZXNzAAAAAA9rX2FkbWluX2FkZHJlc3MCAAAAD2tfYWRtaW5fYWRkcmVzcwAAAAASa19hZG1pbl9wdWJsaWNfa2V5AgAAABJrX2FkbWluX3B1YmxpY19rZXkAAAAADWtfcXVvdGVfYXNzZXQCAAAADWtfcXVvdGVfYXNzZXQAAAAAD2tfcXVvdGVfc3Rha2luZwIAAAAPa19xdW90ZV9zdGFraW5nAAAAABFrX3N0YWtpbmdfYWRkcmVzcwIAAAARa19zdGFraW5nX2FkZHJlc3MBAAAAC2Nvb3JkaW5hdG9yAAAAAAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEJgAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMFAAAAFGtfY29vcmRpbmF0b3JBZGRyZXNzAgAAABNDb29yZGluYXRvciBub3Qgc2V0AQAAAAxhZG1pbkFkZHJlc3MAAAAACQAEJgAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIJAQAAAAtjb29yZGluYXRvcgAAAAAFAAAAD2tfYWRtaW5fYWRkcmVzcwEAAAAOYWRtaW5QdWJsaWNLZXkAAAAACQACWQAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIJAQAAAAtjb29yZGluYXRvcgAAAAAFAAAAEmtfYWRtaW5fcHVibGljX2tleQEAAAAKcXVvdGVBc3NldAAAAAAJAAJZAAAAAQkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgkBAAAAC2Nvb3JkaW5hdG9yAAAAAAUAAAANa19xdW90ZV9hc3NldAEAAAARcXVvdGVBc3NldFN0YWtpbmcAAAAACQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQmAAAAAQkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgkBAAAAC2Nvb3JkaW5hdG9yAAAAAAUAAAAPa19xdW90ZV9zdGFraW5nAgAAABtRdW90ZSBhc3NldCBzdGFraW5nIG5vdCBzZXQBAAAADnN0YWtpbmdBZGRyZXNzAAAAAAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEJgAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIJAQAAAAtjb29yZGluYXRvcgAAAAAFAAAAEWtfc3Rha2luZ19hZGRyZXNzAgAAABFJbnN1cmFuY2Ugbm90IHNldAEAAAAQaW5zdXJhbmNlQWRkcmVzcwAAAAAJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABCYAAAABCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACCQEAAAALY29vcmRpbmF0b3IAAAAABQAAABNrX2luc3VyYW5jZV9hZGRyZXNzAgAAABFJbnN1cmFuY2Ugbm90IHNldAAAAAAIRElSX0xPTkcAAAAAAAAAAAEAAAAACURJUl9TSE9SVAAAAAAAAAAAAgAAAAAWRlVORElOR19CTE9DS19JTlRFUlZBTAAAAAAAAAAAPAAAAAANVFdBUF9JTlRFUlZBTAAAAAAAAAAADwAAAAAPT1JBQ0xFX0lOVEVSVkFMAAAAAAAAAAAPAAAAAAdTRUNPTkRTAAAAAAAAAAPoAAAAAAxERUNJTUFMX1VOSVQJAABoAAAAAgAAAAAAAAAAAQkAAGgAAAACCQAAaAAAAAIJAABoAAAAAgkAAGgAAAACCQAAaAAAAAIAAAAAAAAAAAoAAAAAAAAAAAoAAAAAAAAAAAoAAAAAAAAAAAoAAAAAAAAAAAoAAAAAAAAAAAoAAAAAD0hVTkRSRURfUEVSQ0VOVAkAAGgAAAACAAAAAAAAAABkBQAAAAxERUNJTUFMX1VOSVQAAAAAB09ORV9EQVkJAABoAAAAAgAAAAAAAAFRgAUAAAAMREVDSU1BTF9VTklUAAAAAAhBTExfRkVFUwAAAAAAAAAAZAAAAAAPUE5MX09QVElPTl9TUE9UAAAAAAAAAAABAAAAABFQTkxfT1BUSU9OX09SQUNMRQAAAAAAAAAAAgEAAAABcwAAAAEAAAACX3gJAAEsAAAAAgkAAaQAAAABBQAAAAJfeAIAAAABLAEAAAAEZGl2ZAAAAAIAAAACX3gAAAACX3kJAQAAAAhmcmFjdGlvbgAAAAQFAAAAAl94BQAAAAxERUNJTUFMX1VOSVQFAAAAAl95BQAAAAhIQUxGRVZFTgEAAAAEbXVsZAAAAAIAAAACX3gAAAACX3kJAQAAAAhmcmFjdGlvbgAAAAQFAAAAAl94BQAAAAJfeQUAAAAMREVDSU1BTF9VTklUBQAAAAhIQUxGRVZFTgEAAAADYWJzAAAAAQAAAAJfeAMJAABmAAAAAgUAAAACX3gAAAAAAAAAAAAFAAAAAl94CQEAAAABLQAAAAEFAAAAAl94AQAAAAR2bWF4AAAAAgAAAAJfeAAAAAJfeQMJAABnAAAAAgUAAAACX3gFAAAAAl95BQAAAAJfeAUAAAACX3kBAAAADnRvQ29tcG9zaXRlS2V5AAAAAgAAAARfa2V5AAAACF9hZGRyZXNzCQABLAAAAAIJAAEsAAAAAgUAAAAEX2tleQIAAAABXwUAAAAIX2FkZHJlc3MBAAAACWxpc3RUb1N0cgAAAAEAAAAFX2xpc3QKAQAAAAVfam9pbgAAAAIAAAALYWNjdW11bGF0b3IAAAADdmFsCQABLAAAAAIJAAEsAAAAAgUAAAALYWNjdW11bGF0b3IFAAAAA3ZhbAIAAAABLAQAAAAKbmV3TGlzdFN0cgoAAAAAAiRsBQAAAAVfbGlzdAoAAAAAAiRzCQABkAAAAAEFAAAAAiRsCgAAAAAFJGFjYzACAAAAAAoBAAAABSRmMF8xAAAAAgAAAAIkYQAAAAIkaQMJAABnAAAAAgUAAAACJGkFAAAAAiRzBQAAAAIkYQkBAAAABV9qb2luAAAAAgUAAAACJGEJAAGRAAAAAgUAAAACJGwFAAAAAiRpCgEAAAAFJGYwXzIAAAACAAAAAiRhAAAAAiRpAwkAAGcAAAACBQAAAAIkaQUAAAACJHMFAAAAAiRhCQAAAgAAAAECAAAAFExpc3Qgc2l6ZSBleGNlZWRzIDIwCQEAAAAFJGYwXzIAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACBQAAAAUkYWNjMAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAgAAAAAAAAAAAwAAAAAAAAAABAAAAAAAAAAABQAAAAAAAAAABgAAAAAAAAAABwAAAAAAAAAACAAAAAAAAAAACQAAAAAAAAAACgAAAAAAAAAACwAAAAAAAAAADAAAAAAAAAAADQAAAAAAAAAADgAAAAAAAAAADwAAAAAAAAAAEAAAAAAAAAAAEQAAAAAAAAAAEgAAAAAAAAAAEwAAAAAAAAAAFAQAAAALbmV3TGlzdFN0clUJAQAAAAlkcm9wUmlnaHQAAAACBQAAAApuZXdMaXN0U3RyAAAAAAAAAAABBAAAAAtuZXdMaXN0U3RyUgMJAAAAAAAAAgkAAS8AAAACBQAAAAtuZXdMaXN0U3RyVQAAAAAAAAAAAQIAAAABLAkAATAAAAACBQAAAAtuZXdMaXN0U3RyVQAAAAAAAAAAAQUAAAALbmV3TGlzdFN0clUFAAAAC25ld0xpc3RTdHJSAQAAAAlzdHJUb0xpc3QAAAABAAAABF9zdHIJAAS1AAAAAgUAAAAEX3N0cgIAAAABLAEAAAALcHVzaFRvUXVldWUAAAADAAAABV9saXN0AAAACF9tYXhTaXplAAAABl92YWx1ZQMJAABmAAAAAgkAAZAAAAABBQAAAAVfbGlzdAUAAAAIX21heFNpemUJAARNAAAAAgkABFEAAAACBQAAAAVfbGlzdAAAAAAAAAAAAAUAAAAGX3ZhbHVlCQAETQAAAAIFAAAABV9saXN0BQAAAAZfdmFsdWUBAAAAA2ludAAAAAEAAAABawkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAAAWsJAAEsAAAAAgIAAAANbm8gdmFsdWUgZm9yIAUAAAABawEAAAAIY2JhbGFuY2UAAAAACQEAAAADaW50AAAAAQUAAAAJa19iYWxhbmNlAQAAAANmZWUAAAAACQEAAAADaW50AAAAAQUAAAAFa19mZWUBAAAAD2luaXRNYXJnaW5SYXRpbwAAAAAJAQAAAANpbnQAAAABBQAAABFrX2luaXRNYXJnaW5SYXRpbwEAAAAGcXRBc3RSAAAAAAkBAAAAA2ludAAAAAEFAAAAE2tfcXVvdGVBc3NldFJlc2VydmUBAAAABmJzQXN0UgAAAAAJAQAAAANpbnQAAAABBQAAABJrX2Jhc2VBc3NldFJlc2VydmUBAAAAEXRvdGFsUG9zaXRpb25TaXplAAAAAAkBAAAAA2ludAAAAAEFAAAAE2tfdG90YWxQb3NpdGlvblNpemUBAAAAEmN1bXVsYXRpdmVOb3Rpb25hbAAAAAAJAQAAAANpbnQAAAABBQAAABRrX2N1bXVsYXRpdmVOb3Rpb25hbAEAAAAUb3BlbkludGVyZXN0Tm90aW9uYWwAAAAACQEAAAADaW50AAAAAQUAAAAWa19vcGVuSW50ZXJlc3ROb3Rpb25hbAEAAAAZbmV4dEZ1bmRpbmdCbG9ja1RpbWVzdGFtcAAAAAAJAQAAAANpbnQAAAABBQAAABJrX25leHRGdW5kaW5nQmxvY2sBAAAAEGZ1bmRpbmdQZXJpb2RSYXcAAAAACQEAAAADaW50AAAAAQUAAAAPa19mdW5kaW5nUGVyaW9kAQAAABRmdW5kaW5nUGVyaW9kRGVjaW1hbAAAAAAJAABoAAAAAgkBAAAAEGZ1bmRpbmdQZXJpb2RSYXcAAAAABQAAAAxERUNJTUFMX1VOSVQBAAAAFGZ1bmRpbmdQZXJpb2RTZWNvbmRzAAAAAAkAAGgAAAACCQEAAAAQZnVuZGluZ1BlcmlvZFJhdwAAAAAFAAAAB1NFQ09ORFMBAAAAFm1haW50ZW5hbmNlTWFyZ2luUmF0aW8AAAAACQEAAAADaW50AAAAAQUAAAAYa19tYWludGVuYW5jZU1hcmdpblJhdGlvAQAAABNsaXF1aWRhdGlvbkZlZVJhdGlvAAAAAAkBAAAAA2ludAAAAAEFAAAAFWtfbGlxdWlkYXRpb25GZWVSYXRpbwEAAAALc3ByZWFkTGltaXQAAAAACQEAAAADaW50AAAAAQUAAAANa19zcHJlYWRMaW1pdAEAAAAObWF4UHJpY2VJbXBhY3QAAAAACQEAAAADaW50AAAAAQUAAAAQa19tYXhQcmljZUltcGFjdAEAAAAjbGF0ZXN0TG9uZ0N1bXVsYXRpdmVQcmVtaXVtRnJhY3Rpb24AAAAACQEAAAADaW50AAAAAQUAAAAla19sYXRlc3RMb25nQ3VtdWxhdGl2ZVByZW1pdW1GcmFjdGlvbgEAAAAkbGF0ZXN0U2hvcnRDdW11bGF0aXZlUHJlbWl1bUZyYWN0aW9uAAAAAAkBAAAAA2ludAAAAAEFAAAAJmtfbGF0ZXN0U2hvcnRDdW11bGF0aXZlUHJlbWl1bUZyYWN0aW9uAQAAABZ0b3RhbFNob3J0UG9zaXRpb25TaXplAAAAAAkBAAAAA2ludAAAAAEFAAAAGGtfdG90YWxTaG9ydFBvc2l0aW9uU2l6ZQEAAAAVdG90YWxMb25nUG9zaXRpb25TaXplAAAAAAkBAAAAA2ludAAAAAEFAAAAF2tfdG90YWxMb25nUG9zaXRpb25TaXplAQAAABZyZXF1aXJlTW9yZU1hcmdpblJhdGlvAAAAAwAAAAxfbWFyZ2luUmF0aW8AAAAQX2Jhc2VNYXJnaW5SYXRpbwAAABRfbGFyZ2VyVGhhbk9yRXF1YWxUbwQAAAAUcmVtYWluaW5nTWFyZ2luUmF0aW8JAABlAAAAAgUAAAAMX21hcmdpblJhdGlvBQAAABBfYmFzZU1hcmdpblJhdGlvAwMFAAAAFF9sYXJnZXJUaGFuT3JFcXVhbFRvCQAAZgAAAAIAAAAAAAAAAAAFAAAAFHJlbWFpbmluZ01hcmdpblJhdGlvBwkAAAIAAAABAgAAAA5JbnZhbGlkIG1hcmdpbgMDCQEAAAABIQAAAAEFAAAAFF9sYXJnZXJUaGFuT3JFcXVhbFRvCQAAZwAAAAIFAAAAFHJlbWFpbmluZ01hcmdpblJhdGlvAAAAAAAAAAAABwkAAAIAAAABAgAAAA5JbnZhbGlkIG1hcmdpbgYBAAAAH2xhdGVzdEN1bXVsYXRpdmVQcmVtaXVtRnJhY3Rpb24AAAABAAAADV9wb3NpdGlvblNpemUDCQAAAAAAAAIFAAAADV9wb3NpdGlvblNpemUAAAAAAAAAAAAJAAACAAAAAQIAAAAsU2hvdWxkIG5vdCBiZSBjYWxsZWQgd2l0aCBfcG9zaXRpb25TaXplID09IDADCQAAZgAAAAIFAAAADV9wb3NpdGlvblNpemUAAAAAAAAAAAAJAQAAACNsYXRlc3RMb25nQ3VtdWxhdGl2ZVByZW1pdW1GcmFjdGlvbgAAAAAJAQAAACRsYXRlc3RTaG9ydEN1bXVsYXRpdmVQcmVtaXVtRnJhY3Rpb24AAAAAAQAAAAtnZXRQb3NpdGlvbgAAAAEAAAAHX3RyYWRlcgQAAAAPcG9zaXRpb25TaXplT3B0CQAEGgAAAAIFAAAABHRoaXMJAQAAAA50b0NvbXBvc2l0ZUtleQAAAAIFAAAADmtfcG9zaXRpb25TaXplBQAAAAdfdHJhZGVyBAAAAAckbWF0Y2gwBQAAAA9wb3NpdGlvblNpemVPcHQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAAMcG9zaXRpb25TaXplBQAAAAckbWF0Y2gwCQAFFgAAAAQFAAAADHBvc2l0aW9uU2l6ZQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkBAAAADnRvQ29tcG9zaXRlS2V5AAAAAgUAAAAQa19wb3NpdGlvbk1hcmdpbgUAAAAHX3RyYWRlcgkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkBAAAADnRvQ29tcG9zaXRlS2V5AAAAAgUAAAAWa19wb3NpdGlvbk9wZW5Ob3Rpb25hbAUAAAAHX3RyYWRlcgkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkBAAAADnRvQ29tcG9zaXRlS2V5AAAAAgUAAAAua19wb3NpdGlvbkxhc3RVcGRhdGVkQ3VtdWxhdGl2ZVByZW1pdW1GcmFjdGlvbgUAAAAHX3RyYWRlcgkABRYAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAABNyZXF1aXJlT3BlblBvc2l0aW9uAAAAAQAAAAdfdHJhZGVyAwkAAAAAAAACCAkBAAAAC2dldFBvc2l0aW9uAAAAAQUAAAAHX3RyYWRlcgAAAAJfMQAAAAAAAAAAAAkAAAIAAAABAgAAABBObyBvcGVuIHBvc2l0aW9uBgEAAAALaW5pdGlhbGl6ZWQAAAAACQEAAAALdmFsdWVPckVsc2UAAAACCQAEGwAAAAIFAAAABHRoaXMFAAAADWtfaW5pdGlhbGl6ZWQHAQAAAAZwYXVzZWQAAAAACQEAAAALdmFsdWVPckVsc2UAAAACCQAEGwAAAAIFAAAABHRoaXMFAAAACGtfcGF1c2VkBwEAAAANdXBkYXRlUmVzZXJ2ZQAAAAMAAAAGX2lzQWRkAAAAEV9xdW90ZUFzc2V0QW1vdW50AAAAEF9iYXNlQXNzZXRBbW91bnQDBQAAAAZfaXNBZGQEAAAAB25ld0Jhc2UJAABlAAAAAgkBAAAABmJzQXN0UgAAAAAFAAAAEF9iYXNlQXNzZXRBbW91bnQDCQAAZwAAAAIAAAAAAAAAAAAFAAAAB25ld0Jhc2UJAAACAAAAAQIAAAAqVHggbGVhZCB0byBiYXNlIGFzc2V0IHJlc2VydmUgPD0gMCwgcmV2ZXJ0CQAFFgAAAAQJAABkAAAAAgkBAAAABnF0QXN0UgAAAAAFAAAAEV9xdW90ZUFzc2V0QW1vdW50BQAAAAduZXdCYXNlCQAAZAAAAAIJAQAAABF0b3RhbFBvc2l0aW9uU2l6ZQAAAAAFAAAAEF9iYXNlQXNzZXRBbW91bnQJAABkAAAAAgkBAAAAEmN1bXVsYXRpdmVOb3Rpb25hbAAAAAAFAAAAEV9xdW90ZUFzc2V0QW1vdW50BAAAAAhuZXdRdW90ZQkAAGUAAAACCQEAAAAGcXRBc3RSAAAAAAUAAAARX3F1b3RlQXNzZXRBbW91bnQDCQAAZwAAAAIAAAAAAAAAAAAFAAAACG5ld1F1b3RlCQAAAgAAAAECAAAAKlR4IGxlYWQgdG8gYmFzZSBxdW90ZSByZXNlcnZlIDw9IDAsIHJldmVydAkABRYAAAAEBQAAAAhuZXdRdW90ZQkAAGQAAAACCQEAAAAGYnNBc3RSAAAAAAUAAAAQX2Jhc2VBc3NldEFtb3VudAkAAGUAAAACCQEAAAARdG90YWxQb3NpdGlvblNpemUAAAAABQAAABBfYmFzZUFzc2V0QW1vdW50CQAAZQAAAAIJAQAAABJjdW11bGF0aXZlTm90aW9uYWwAAAAABQAAABFfcXVvdGVBc3NldEFtb3VudAEAAAAJc3dhcElucHV0AAAAAgAAAAZfaXNBZGQAAAARX3F1b3RlQXNzZXRBbW91bnQEAAAAB19xdEFzdFIJAQAAAAZxdEFzdFIAAAAABAAAAAdfYnNBc3RSCQEAAAAGYnNBc3RSAAAAAAQAAAALcHJpY2VCZWZvcmUJAQAAAARkaXZkAAAAAgUAAAAHX3F0QXN0UgUAAAAHX2JzQXN0UgQAAAAnYW1vdW50QmFzZUFzc2V0Qm91Z2h0V2l0aG91dFByaWNlSW1wYWN0CQEAAAAEbXVsZAAAAAIFAAAAEV9xdW90ZUFzc2V0QW1vdW50BQAAAAtwcmljZUJlZm9yZQQAAAABawkBAAAABG11bGQAAAACBQAAAAdfcXRBc3RSBQAAAAdfYnNBc3RSBAAAABZxdW90ZUFzc2V0UmVzZXJ2ZUFmdGVyAwUAAAAGX2lzQWRkCQAAZAAAAAIFAAAAB19xdEFzdFIFAAAAEV9xdW90ZUFzc2V0QW1vdW50CQAAZQAAAAIFAAAAB19xdEFzdFIFAAAAEV9xdW90ZUFzc2V0QW1vdW50BAAAABViYXNlQXNzZXRSZXNlcnZlQWZ0ZXIJAQAAAARkaXZkAAAAAgUAAAABawUAAAAWcXVvdGVBc3NldFJlc2VydmVBZnRlcgQAAAAYYW1vdW50QmFzZUFzc2V0Qm91Z2h0QWJzCQEAAAADYWJzAAAAAQkAAGUAAAACBQAAABViYXNlQXNzZXRSZXNlcnZlQWZ0ZXIFAAAAB19ic0FzdFIEAAAAFWFtb3VudEJhc2VBc3NldEJvdWdodAMFAAAABl9pc0FkZAUAAAAYYW1vdW50QmFzZUFzc2V0Qm91Z2h0QWJzCQEAAAABLQAAAAEFAAAAGGFtb3VudEJhc2VBc3NldEJvdWdodEFicwQAAAALcHJpY2VJbXBhY3QJAABpAAAAAgkAAGUAAAACBQAAACdhbW91bnRCYXNlQXNzZXRCb3VnaHRXaXRob3V0UHJpY2VJbXBhY3QFAAAAGGFtb3VudEJhc2VBc3NldEJvdWdodEFicwUAAAAnYW1vdW50QmFzZUFzc2V0Qm91Z2h0V2l0aG91dFByaWNlSW1wYWN0BAAAABNtYXhQcmljZUltcGFjdFZhbHVlCQEAAAAObWF4UHJpY2VJbXBhY3QAAAAAAwkAAGYAAAACBQAAAAtwcmljZUltcGFjdAUAAAATbWF4UHJpY2VJbXBhY3RWYWx1ZQkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAA1QcmljZSBpbXBhY3QgCQABpAAAAAEFAAAAC3ByaWNlSW1wYWN0AgAAABQgPiBtYXggcHJpY2UgaW1wYWN0IAkAAaQAAAABBQAAABNtYXhQcmljZUltcGFjdFZhbHVlBAAAAA0kdDAxMjE1NDEyMzU3CQEAAAANdXBkYXRlUmVzZXJ2ZQAAAAMFAAAABl9pc0FkZAUAAAARX3F1b3RlQXNzZXRBbW91bnQFAAAAGGFtb3VudEJhc2VBc3NldEJvdWdodEFicwQAAAAXcXVvdGVBc3NldFJlc2VydmVBZnRlcjEIBQAAAA0kdDAxMjE1NDEyMzU3AAAAAl8xBAAAABZiYXNlQXNzZXRSZXNlcnZlQWZ0ZXIxCAUAAAANJHQwMTIxNTQxMjM1NwAAAAJfMgQAAAAXdG90YWxQb3NpdGlvblNpemVBZnRlcjEIBQAAAA0kdDAxMjE1NDEyMzU3AAAAAl8zBAAAABhjdW11bGF0aXZlTm90aW9uYWxBZnRlcjEIBQAAAA0kdDAxMjE1NDEyMzU3AAAAAl80CQAFFwAAAAUFAAAAFWFtb3VudEJhc2VBc3NldEJvdWdodAUAAAAXcXVvdGVBc3NldFJlc2VydmVBZnRlcjEFAAAAFmJhc2VBc3NldFJlc2VydmVBZnRlcjEFAAAAF3RvdGFsUG9zaXRpb25TaXplQWZ0ZXIxBQAAABhjdW11bGF0aXZlTm90aW9uYWxBZnRlcjEBAAAAImNhbGNSZW1haW5NYXJnaW5XaXRoRnVuZGluZ1BheW1lbnQAAAAEAAAAEF9vbGRQb3NpdGlvblNpemUAAAASX29sZFBvc2l0aW9uTWFyZ2luAAAAJV9vbGRQb3NpdGlvbkN1bXVsYXRpdmVQcmVtaXVtRnJhY3Rpb24AAAAMX21hcmdpbkRlbHRhBAAAAA5mdW5kaW5nUGF5bWVudAMJAQAAAAIhPQAAAAIFAAAAEF9vbGRQb3NpdGlvblNpemUAAAAAAAAAAAAEAAAAIF9sYXRlc3RDdW11bGF0aXZlUHJlbWl1bUZyYWN0aW9uCQEAAAAfbGF0ZXN0Q3VtdWxhdGl2ZVByZW1pdW1GcmFjdGlvbgAAAAEFAAAAEF9vbGRQb3NpdGlvblNpemUJAQAAAARtdWxkAAAAAgkAAGUAAAACBQAAACBfbGF0ZXN0Q3VtdWxhdGl2ZVByZW1pdW1GcmFjdGlvbgUAAAAlX29sZFBvc2l0aW9uQ3VtdWxhdGl2ZVByZW1pdW1GcmFjdGlvbgUAAAAQX29sZFBvc2l0aW9uU2l6ZQAAAAAAAAAAAAQAAAAMc2lnbmVkTWFyZ2luCQAAZAAAAAIJAABlAAAAAgUAAAAMX21hcmdpbkRlbHRhBQAAAA5mdW5kaW5nUGF5bWVudAUAAAASX29sZFBvc2l0aW9uTWFyZ2luBAAAAA0kdDAxMzEwNDEzMjMxAwkAAGYAAAACAAAAAAAAAAAABQAAAAxzaWduZWRNYXJnaW4JAAUUAAAAAgAAAAAAAAAAAAkBAAAAA2FicwAAAAEFAAAADHNpZ25lZE1hcmdpbgkABRQAAAACCQEAAAADYWJzAAAAAQUAAAAMc2lnbmVkTWFyZ2luAAAAAAAAAAAABAAAAAxyZW1haW5NYXJnaW4IBQAAAA0kdDAxMzEwNDEzMjMxAAAAAl8xBAAAAAdiYWREZWJ0CAUAAAANJHQwMTMxMDQxMzIzMQAAAAJfMgkABRUAAAADBQAAAAxyZW1haW5NYXJnaW4FAAAAB2JhZERlYnQFAAAADmZ1bmRpbmdQYXltZW50AQAAAApzd2FwT3V0cHV0AAAAAgAAAAZfaXNBZGQAAAAQX2Jhc2VBc3NldEFtb3VudAQAAAASX3F1b3RlQXNzZXRSZXNlcnZlCQEAAAAGcXRBc3RSAAAAAAQAAAARX2Jhc2VBc3NldFJlc2VydmUJAQAAAAZic0FzdFIAAAAAAwkAAAAAAAACBQAAABBfYmFzZUFzc2V0QW1vdW50AAAAAAAAAAAACQAAAgAAAAECAAAAGUludmFsaWQgYmFzZSBhc3NldCBhbW91bnQEAAAAAWsJAQAAAARtdWxkAAAAAgUAAAASX3F1b3RlQXNzZXRSZXNlcnZlBQAAABFfYmFzZUFzc2V0UmVzZXJ2ZQQAAAAYYmFzZUFzc2V0UG9vbEFtb3VudEFmdGVyAwUAAAAGX2lzQWRkCQAAZAAAAAIFAAAAEV9iYXNlQXNzZXRSZXNlcnZlBQAAABBfYmFzZUFzc2V0QW1vdW50CQAAZQAAAAIFAAAAEV9iYXNlQXNzZXRSZXNlcnZlBQAAABBfYmFzZUFzc2V0QW1vdW50BAAAAA9xdW90ZUFzc2V0QWZ0ZXIJAQAAAARkaXZkAAAAAgUAAAABawUAAAAYYmFzZUFzc2V0UG9vbEFtb3VudEFmdGVyBAAAAA5xdW90ZUFzc2V0U29sZAkBAAAAA2FicwAAAAEJAABlAAAAAgUAAAAPcXVvdGVBc3NldEFmdGVyBQAAABJfcXVvdGVBc3NldFJlc2VydmUEAAAADSR0MDE0MDY5MTQyNjIJAQAAAA11cGRhdGVSZXNlcnZlAAAAAwkBAAAAASEAAAABBQAAAAZfaXNBZGQFAAAADnF1b3RlQXNzZXRTb2xkBQAAABBfYmFzZUFzc2V0QW1vdW50BAAAABdxdW90ZUFzc2V0UmVzZXJ2ZUFmdGVyMQgFAAAADSR0MDE0MDY5MTQyNjIAAAACXzEEAAAAFmJhc2VBc3NldFJlc2VydmVBZnRlcjEIBQAAAA0kdDAxNDA2OTE0MjYyAAAAAl8yBAAAABd0b3RhbFBvc2l0aW9uU2l6ZUFmdGVyMQgFAAAADSR0MDE0MDY5MTQyNjIAAAACXzMEAAAAGGN1bXVsYXRpdmVOb3Rpb25hbEFmdGVyMQgFAAAADSR0MDE0MDY5MTQyNjIAAAACXzQJAAUZAAAABwUAAAAOcXVvdGVBc3NldFNvbGQFAAAAF3F1b3RlQXNzZXRSZXNlcnZlQWZ0ZXIxBQAAABZiYXNlQXNzZXRSZXNlcnZlQWZ0ZXIxBQAAABd0b3RhbFBvc2l0aW9uU2l6ZUFmdGVyMQUAAAAYY3VtdWxhdGl2ZU5vdGlvbmFsQWZ0ZXIxCQAAZQAAAAIJAQAAABV0b3RhbExvbmdQb3NpdGlvblNpemUAAAAAAwUAAAAGX2lzQWRkCQEAAAADYWJzAAAAAQUAAAAQX2Jhc2VBc3NldEFtb3VudAAAAAAAAAAAAAkAAGUAAAACCQEAAAAWdG90YWxTaG9ydFBvc2l0aW9uU2l6ZQAAAAADCQEAAAABIQAAAAEFAAAABl9pc0FkZAkBAAAAA2FicwAAAAEFAAAAEF9iYXNlQXNzZXRBbW91bnQAAAAAAAAAAAABAAAAEmdldE9yYWNsZVR3YXBQcmljZQAAAAAEAAAABm9yYWNsZQkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEJgAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMFAAAABWtfb3JhAgAAAAAEAAAACHByaWNlS2V5CQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzBQAAAAlrX29yYV9rZXkEAAAACGJsb2NrS2V5CQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzBQAAAA9rX29yYV9ibG9ja19rZXkEAAAACWxhc3RWYWx1ZQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAGb3JhY2xlBQAAAAhwcmljZUtleQUAAAAJbGFzdFZhbHVlAQAAAAxnZXRTcG90UHJpY2UAAAAABAAAABJfcXVvdGVBc3NldFJlc2VydmUJAQAAAAZxdEFzdFIAAAAABAAAABFfYmFzZUFzc2V0UmVzZXJ2ZQkBAAAABmJzQXN0UgAAAAAJAQAAAARkaXZkAAAAAgUAAAASX3F1b3RlQXNzZXRSZXNlcnZlBQAAABFfYmFzZUFzc2V0UmVzZXJ2ZQEAAAAWaXNPdmVyRmx1Y3R1YXRpb25MaW1pdAAAAAAEAAAAC29yYWNsZVByaWNlCQEAAAASZ2V0T3JhY2xlVHdhcFByaWNlAAAAAAQAAAAMY3VycmVudFByaWNlCQEAAAAMZ2V0U3BvdFByaWNlAAAAAAkAAGYAAAACCQEAAAAEZGl2ZAAAAAIJAQAAAANhYnMAAAABCQAAZQAAAAIFAAAAC29yYWNsZVByaWNlBQAAAAxjdXJyZW50UHJpY2UFAAAAC29yYWNsZVByaWNlCQEAAAALc3ByZWFkTGltaXQAAAAAAQAAACNnZXRQb3NpdGlvbk5vdGlvbmFsQW5kVW5yZWFsaXplZFBubAAAAAIAAAAHX3RyYWRlcgAAAAdfb3B0aW9uBAAAAA0kdDAxNTg5NDE2MDIyCQEAAAALZ2V0UG9zaXRpb24AAAABBQAAAAdfdHJhZGVyBAAAAAxwb3NpdGlvblNpemUIBQAAAA0kdDAxNTg5NDE2MDIyAAAAAl8xBAAAAA5wb3NpdGlvbk1hcmdpbggFAAAADSR0MDE1ODk0MTYwMjIAAAACXzIEAAAAFHBvc2l0aW9uT3Blbk5vdGlvbmFsCAUAAAANJHQwMTU4OTQxNjAyMgAAAAJfMwQAAAARcG9zaXRpb25Mc3RVcGRDUEYIBQAAAA0kdDAxNTg5NDE2MDIyAAAAAl80BAAAAA9wb3NpdGlvblNpemVBYnMJAQAAAANhYnMAAAABBQAAAAxwb3NpdGlvblNpemUDCQAAAAAAAAIFAAAAD3Bvc2l0aW9uU2l6ZUFicwAAAAAAAAAAAAkAAAIAAAABAgAAABVJbnZhbGlkIHBvc2l0aW9uIHNpemUEAAAAB2lzU2hvcnQJAABmAAAAAgAAAAAAAAAAAAUAAAAMcG9zaXRpb25TaXplBAAAABBwb3NpdGlvbk5vdGlvbmFsAwkAAAAAAAACBQAAAAdfb3B0aW9uBQAAAA9QTkxfT1BUSU9OX1NQT1QEAAAADSR0MDE2MjY5MTYzNzYJAQAAAApzd2FwT3V0cHV0AAAAAgkBAAAAASEAAAABBQAAAAdpc1Nob3J0BQAAAA9wb3NpdGlvblNpemVBYnMEAAAAE291dFBvc2l0aW9uTm90aW9uYWwIBQAAAA0kdDAxNjI2OTE2Mzc2AAAAAl8xBAAAAAJ4MQgFAAAADSR0MDE2MjY5MTYzNzYAAAACXzIEAAAAAngyCAUAAAANJHQwMTYyNjkxNjM3NgAAAAJfMwQAAAACeDMIBQAAAA0kdDAxNjI2OTE2Mzc2AAAAAl80BQAAABNvdXRQb3NpdGlvbk5vdGlvbmFsCQAAaAAAAAIFAAAAD3Bvc2l0aW9uU2l6ZUFicwkBAAAAEmdldE9yYWNsZVR3YXBQcmljZQAAAAAEAAAADXVucmVhbGl6ZWRQbmwDBQAAAAdpc1Nob3J0CQAAZQAAAAIFAAAAFHBvc2l0aW9uT3Blbk5vdGlvbmFsBQAAABBwb3NpdGlvbk5vdGlvbmFsCQAAZQAAAAIFAAAAEHBvc2l0aW9uTm90aW9uYWwFAAAAFHBvc2l0aW9uT3Blbk5vdGlvbmFsCQAFFAAAAAIFAAAAEHBvc2l0aW9uTm90aW9uYWwFAAAADXVucmVhbGl6ZWRQbmwBAAAAD2NhbGNNYXJnaW5SYXRpbwAAAAMAAAANX3JlbWFpbk1hcmdpbgAAAAhfYmFkRGVidAAAABFfcG9zaXRpb25Ob3Rpb25hbAkBAAAABGRpdmQAAAACCQAAZQAAAAIFAAAADV9yZW1haW5NYXJnaW4FAAAACF9iYWREZWJ0BQAAABFfcG9zaXRpb25Ob3Rpb25hbAEAAAAWZ2V0TWFyZ2luUmF0aW9CeU9wdGlvbgAAAAIAAAAHX3RyYWRlcgAAAAdfb3B0aW9uBAAAAA0kdDAxNzA0MTE3MTUyCQEAAAALZ2V0UG9zaXRpb24AAAABBQAAAAdfdHJhZGVyBAAAAAxwb3NpdGlvblNpemUIBQAAAA0kdDAxNzA0MTE3MTUyAAAAAl8xBAAAAA5wb3NpdGlvbk1hcmdpbggFAAAADSR0MDE3MDQxMTcxNTIAAAACXzIEAAAAA3BvbggFAAAADSR0MDE3MDQxMTcxNTIAAAACXzMEAAAAEXBvc2l0aW9uTHN0VXBkQ1BGCAUAAAANJHQwMTcwNDExNzE1MgAAAAJfNAQAAAANJHQwMTcxNTgxNzI1MQkBAAAAI2dldFBvc2l0aW9uTm90aW9uYWxBbmRVbnJlYWxpemVkUG5sAAAAAgUAAAAHX3RyYWRlcgUAAAAHX29wdGlvbgQAAAAQcG9zaXRpb25Ob3Rpb25hbAgFAAAADSR0MDE3MTU4MTcyNTEAAAACXzEEAAAADXVucmVhbGl6ZWRQbmwIBQAAAA0kdDAxNzE1ODE3MjUxAAAAAl8yBAAAAA0kdDAxNzI1NjE3NDIyCQEAAAAiY2FsY1JlbWFpbk1hcmdpbldpdGhGdW5kaW5nUGF5bWVudAAAAAQFAAAADHBvc2l0aW9uU2l6ZQUAAAAOcG9zaXRpb25NYXJnaW4FAAAAEXBvc2l0aW9uTHN0VXBkQ1BGBQAAAA11bnJlYWxpemVkUG5sBAAAAAxyZW1haW5NYXJnaW4IBQAAAA0kdDAxNzI1NjE3NDIyAAAAAl8xBAAAAAdiYWREZWJ0CAUAAAANJHQwMTcyNTYxNzQyMgAAAAJfMgkBAAAAD2NhbGNNYXJnaW5SYXRpbwAAAAMFAAAADHJlbWFpbk1hcmdpbgUAAAAHYmFkRGVidAUAAAAQcG9zaXRpb25Ob3Rpb25hbAEAAAAOZ2V0TWFyZ2luUmF0aW8AAAABAAAAB190cmFkZXIJAQAAABZnZXRNYXJnaW5SYXRpb0J5T3B0aW9uAAAAAgUAAAAHX3RyYWRlcgUAAAAPUE5MX09QVElPTl9TUE9UAQAAABVpbnRlcm5hbENsb3NlUG9zaXRpb24AAAABAAAAB190cmFkZXIEAAAADSR0MDE3NzM4MTc4NjYJAQAAAAtnZXRQb3NpdGlvbgAAAAEFAAAAB190cmFkZXIEAAAADHBvc2l0aW9uU2l6ZQgFAAAADSR0MDE3NzM4MTc4NjYAAAACXzEEAAAADnBvc2l0aW9uTWFyZ2luCAUAAAANJHQwMTc3MzgxNzg2NgAAAAJfMgQAAAAUcG9zaXRpb25PcGVuTm90aW9uYWwIBQAAAA0kdDAxNzczODE3ODY2AAAAAl8zBAAAABFwb3NpdGlvbkxzdFVwZENQRggFAAAADSR0MDE3NzM4MTc4NjYAAAACXzQEAAAADSR0MDE3ODcyMTc5NTkJAQAAACNnZXRQb3NpdGlvbk5vdGlvbmFsQW5kVW5yZWFsaXplZFBubAAAAAIFAAAAB190cmFkZXIFAAAAD1BOTF9PUFRJT05fU1BPVAQAAAACeDEIBQAAAA0kdDAxNzg3MjE3OTU5AAAAAl8xBAAAAA11bnJlYWxpemVkUG5sCAUAAAANJHQwMTc4NzIxNzk1OQAAAAJfMgQAAAANJHQwMTc5NjQxODEzMgkBAAAAImNhbGNSZW1haW5NYXJnaW5XaXRoRnVuZGluZ1BheW1lbnQAAAAEBQAAAAxwb3NpdGlvblNpemUFAAAADnBvc2l0aW9uTWFyZ2luBQAAABFwb3NpdGlvbkxzdFVwZENQRgUAAAANdW5yZWFsaXplZFBubAQAAAAMcmVtYWluTWFyZ2luCAUAAAANJHQwMTc5NjQxODEzMgAAAAJfMQQAAAAHYmFkRGVidAgFAAAADSR0MDE3OTY0MTgxMzIAAAACXzIEAAAAFWV4Y2hhbmdlZFBvc2l0aW9uU2l6ZQkBAAAAAS0AAAABBQAAAAxwb3NpdGlvblNpemUEAAAAC3JlYWxpemVkUG5sBQAAAA11bnJlYWxpemVkUG5sBAAAAA1tYXJnaW5Ub1ZhdWx0CQEAAAABLQAAAAEFAAAADHJlbWFpbk1hcmdpbgQAAAANJHQwMTgyNTkxODU0MAkBAAAACnN3YXBPdXRwdXQAAAACCQAAZgAAAAIFAAAADHBvc2l0aW9uU2l6ZQAAAAAAAAAAAAkBAAAAA2FicwAAAAEFAAAADHBvc2l0aW9uU2l6ZQQAAAAZZXhjaGFuZ2VkUXVvdGVBc3NldEFtb3VudAgFAAAADSR0MDE4MjU5MTg1NDAAAAACXzEEAAAAFnF1b3RlQXNzZXRSZXNlcnZlQWZ0ZXIIBQAAAA0kdDAxODI1OTE4NTQwAAAAAl8yBAAAABViYXNlQXNzZXRSZXNlcnZlQWZ0ZXIIBQAAAA0kdDAxODI1OTE4NTQwAAAAAl8zBAAAABZ0b3RhbFBvc2l0aW9uU2l6ZUFmdGVyCAUAAAANJHQwMTgyNTkxODU0MAAAAAJfNAQAAAAXY3VtdWxhdGl2ZU5vdGlvbmFsQWZ0ZXIIBQAAAA0kdDAxODI1OTE4NTQwAAAAAl81BAAAAA50b3RhbExvbmdBZnRlcggFAAAADSR0MDE4MjU5MTg1NDAAAAACXzYEAAAAD3RvdGFsU2hvcnRBZnRlcggFAAAADSR0MDE4MjU5MTg1NDAAAAACXzcEAAAAGW9wZW5JbnRlcmVzdE5vdGlvbmFsQWZ0ZXIJAABlAAAAAgkBAAAAFG9wZW5JbnRlcmVzdE5vdGlvbmFsAAAAAAUAAAAUcG9zaXRpb25PcGVuTm90aW9uYWwJAAUeAAAADAUAAAAVZXhjaGFuZ2VkUG9zaXRpb25TaXplBQAAAAdiYWREZWJ0BQAAAAtyZWFsaXplZFBubAUAAAANbWFyZ2luVG9WYXVsdAUAAAAWcXVvdGVBc3NldFJlc2VydmVBZnRlcgUAAAAVYmFzZUFzc2V0UmVzZXJ2ZUFmdGVyBQAAABZ0b3RhbFBvc2l0aW9uU2l6ZUFmdGVyBQAAABdjdW11bGF0aXZlTm90aW9uYWxBZnRlcgUAAAAZb3BlbkludGVyZXN0Tm90aW9uYWxBZnRlcgUAAAAZZXhjaGFuZ2VkUXVvdGVBc3NldEFtb3VudAUAAAAOdG90YWxMb25nQWZ0ZXIFAAAAD3RvdGFsU2hvcnRBZnRlcgEAAAAQZ2V0VHdhcFNwb3RQcmljZQAAAAAEAAAACG1pbnV0ZUlkCQAAaQAAAAIJAABpAAAAAggFAAAACWxhc3RCbG9jawAAAAl0aW1lc3RhbXAAAAAAAAAAA+gAAAAAAAAAADwEAAAADXN0YXJ0TWludXRlSWQJAABlAAAAAgUAAAAIbWludXRlSWQFAAAADVRXQVBfSU5URVJWQUwEAAAAB2xpc3RTdHIJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQdAAAAAgUAAAAEdGhpcwUAAAANa19sYXN0RGF0YVN0cgIAAAAABAAAAARsaXN0CQAEtQAAAAIFAAAAB2xpc3RTdHICAAAAASwKAQAAAAhmaWx0ZXJGbgAAAAIAAAALYWNjdW11bGF0b3IAAAAEbmV4dAMJAABnAAAAAgUAAAANc3RhcnRNaW51dGVJZAkBAAAADXBhcnNlSW50VmFsdWUAAAABBQAAAARuZXh0CQAETQAAAAIFAAAAC2FjY3VtdWxhdG9yCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEFAAAABG5leHQFAAAAC2FjY3VtdWxhdG9yBAAAAAVsaXN0RgoAAAAAAiRsBQAAAARsaXN0CgAAAAACJHMJAAGQAAAAAQUAAAACJGwKAAAAAAUkYWNjMAUAAAADbmlsCgEAAAAFJGYwXzEAAAACAAAAAiRhAAAAAiRpAwkAAGcAAAACBQAAAAIkaQUAAAACJHMFAAAAAiRhCQEAAAAIZmlsdGVyRm4AAAACBQAAAAIkYQkAAZEAAAACBQAAAAIkbAUAAAACJGkKAQAAAAUkZjBfMgAAAAIAAAACJGEAAAACJGkDCQAAZwAAAAIFAAAAAiRpBQAAAAIkcwUAAAACJGEJAAACAAAAAQIAAAAUTGlzdCBzaXplIGV4Y2VlZHMgMjAJAQAAAAUkZjBfMgAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIFAAAABSRhY2MwAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAACAAAAAAAAAAADAAAAAAAAAAAEAAAAAAAAAAAFAAAAAAAAAAAGAAAAAAAAAAAHAAAAAAAAAAAIAAAAAAAAAAAJAAAAAAAAAAAKAAAAAAAAAAALAAAAAAAAAAAMAAAAAAAAAAANAAAAAAAAAAAOAAAAAAAAAAAPAAAAAAAAAAAQAAAAAAAAAAARAAAAAAAAAAASAAAAAAAAAAATAAAAAAAAAAAUBAAAAAhtYXhJbmRleAMJAABmAAAAAgkAAZAAAAABBQAAAAVsaXN0RgAAAAAAAAAAAAkAAZYAAAABBQAAAAVsaXN0RgkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAABGxpc3QAAAAAAAAAAAAEAAAADGxhc3RNaW51dGVJZAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAAA5rX2xhc3RNaW51dGVJZAAAAAAAAAAAAAQAAAAWZW5kTGFzdEN1bXVsYXRpdmVQcmljZQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgUAAAAda190d2FwRGF0YUxhc3RDdW11bGF0aXZlUHJpY2UCAAAAAV8JAAGkAAAAAQUAAAAMbGFzdE1pbnV0ZUlkAAAAAAAAAAAABAAAAAxlbmRMYXN0UHJpY2UJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAIFAAAAE2tfdHdhcERhdGFMYXN0UHJpY2UCAAAAAV8JAAGkAAAAAQUAAAAMbGFzdE1pbnV0ZUlkAAAAAAAAAAAABAAAABJub3dDdW11bGF0aXZlUHJpY2UJAABkAAAAAgUAAAAWZW5kTGFzdEN1bXVsYXRpdmVQcmljZQkAAGgAAAACCQAAZQAAAAIFAAAACG1pbnV0ZUlkBQAAAAxsYXN0TWludXRlSWQFAAAADGVuZExhc3RQcmljZQQAAAAYc3RhcnRMYXN0Q3VtdWxhdGl2ZVByaWNlCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkAASwAAAACBQAAAB1rX3R3YXBEYXRhTGFzdEN1bXVsYXRpdmVQcmljZQIAAAABXwkAAaQAAAABBQAAAAhtYXhJbmRleAAAAAAAAAAAAAQAAAAOc3RhcnRMYXN0UHJpY2UJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAIFAAAAE2tfdHdhcERhdGFMYXN0UHJpY2UCAAAAAV8JAAGkAAAAAQUAAAAIbWF4SW5kZXgAAAAAAAAAAAAEAAAAFHN0YXJ0Q3VtdWxhdGl2ZVByaWNlCQAAZAAAAAIFAAAAGHN0YXJ0TGFzdEN1bXVsYXRpdmVQcmljZQkAAGgAAAACCQAAZQAAAAIFAAAADXN0YXJ0TWludXRlSWQFAAAACG1heEluZGV4BQAAAA5zdGFydExhc3RQcmljZQkAAGkAAAACCQAAZQAAAAIFAAAAEm5vd0N1bXVsYXRpdmVQcmljZQUAAAAUc3RhcnRDdW11bGF0aXZlUHJpY2UFAAAADVRXQVBfSU5URVJWQUwBAAAADnVwZGF0ZVNldHRpbmdzAAAABwAAABBfaW5pdE1hcmdpblJhdGlvAAAABF9tbXIAAAAUX2xpcXVpZGF0aW9uRmVlUmF0aW8AAAAOX2Z1bmRpbmdQZXJpb2QAAAAEX2ZlZQAAAAxfc3ByZWFkTGltaXQAAAAPX21heFByaWNlSW1wYWN0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABFrX2luaXRNYXJnaW5SYXRpbwUAAAAQX2luaXRNYXJnaW5SYXRpbwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAYa19tYWludGVuYW5jZU1hcmdpblJhdGlvBQAAAARfbW1yCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABVrX2xpcXVpZGF0aW9uRmVlUmF0aW8FAAAAFF9saXF1aWRhdGlvbkZlZVJhdGlvCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAA9rX2Z1bmRpbmdQZXJpb2QFAAAADl9mdW5kaW5nUGVyaW9kCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAAVrX2ZlZQUAAAAEX2ZlZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAANa19zcHJlYWRMaW1pdAUAAAAMX3NwcmVhZExpbWl0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABBrX21heFByaWNlSW1wYWN0BQAAAA9fbWF4UHJpY2VJbXBhY3QFAAAAA25pbAEAAAANdXBkYXRlRnVuZGluZwAAAAUAAAARX25leHRGdW5kaW5nQmxvY2sAAAAkX2xhdGVzdExvbmdDdW11bGF0aXZlUHJlbWl1bUZyYWN0aW9uAAAAJV9sYXRlc3RTaG9ydEN1bXVsYXRpdmVQcmVtaXVtRnJhY3Rpb24AAAAQX2xvbmdGdW5kaW5nUmF0ZQAAABFfc2hvcnRGdW5kaW5nUmF0ZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAASa19uZXh0RnVuZGluZ0Jsb2NrBQAAABFfbmV4dEZ1bmRpbmdCbG9jawkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAla19sYXRlc3RMb25nQ3VtdWxhdGl2ZVByZW1pdW1GcmFjdGlvbgUAAAAkX2xhdGVzdExvbmdDdW11bGF0aXZlUHJlbWl1bUZyYWN0aW9uCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAACZrX2xhdGVzdFNob3J0Q3VtdWxhdGl2ZVByZW1pdW1GcmFjdGlvbgUAAAAlX2xhdGVzdFNob3J0Q3VtdWxhdGl2ZVByZW1pdW1GcmFjdGlvbgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAARa19sb25nRnVuZGluZ1JhdGUFAAAAEF9sb25nRnVuZGluZ1JhdGUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEmtfc2hvcnRGdW5kaW5nUmF0ZQUAAAARX3Nob3J0RnVuZGluZ1JhdGUFAAAAA25pbAEAAAAOdXBkYXRlUG9zaXRpb24AAAAFAAAACF9hZGRyZXNzAAAABV9zaXplAAAAB19tYXJnaW4AAAANX29wZW5Ob3Rpb25hbAAAACBfbGF0ZXN0Q3VtdWxhdGl2ZVByZW1pdW1GcmFjdGlvbgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAADnRvQ29tcG9zaXRlS2V5AAAAAgUAAAAOa19wb3NpdGlvblNpemUFAAAACF9hZGRyZXNzBQAAAAVfc2l6ZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAADnRvQ29tcG9zaXRlS2V5AAAAAgUAAAAQa19wb3NpdGlvbk1hcmdpbgUAAAAIX2FkZHJlc3MFAAAAB19tYXJnaW4JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAA50b0NvbXBvc2l0ZUtleQAAAAIFAAAAFmtfcG9zaXRpb25PcGVuTm90aW9uYWwFAAAACF9hZGRyZXNzBQAAAA1fb3Blbk5vdGlvbmFsCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAOdG9Db21wb3NpdGVLZXkAAAACBQAAAC5rX3Bvc2l0aW9uTGFzdFVwZGF0ZWRDdW11bGF0aXZlUHJlbWl1bUZyYWN0aW9uBQAAAAhfYWRkcmVzcwUAAAAgX2xhdGVzdEN1bXVsYXRpdmVQcmVtaXVtRnJhY3Rpb24FAAAAA25pbAEAAAAKYXBwZW5kVHdhcAAAAAEAAAAFcHJpY2UEAAAACG1pbnV0ZUlkCQAAaQAAAAIJAABpAAAAAggFAAAACWxhc3RCbG9jawAAAAl0aW1lc3RhbXAAAAAAAAAAA+gAAAAAAAAAADwEAAAAEHByZXZpb3VzTWludXRlSWQJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAAOa19sYXN0TWludXRlSWQAAAAAAAAAAAADCQAAZgAAAAIFAAAAEHByZXZpb3VzTWludXRlSWQFAAAACG1pbnV0ZUlkCQAAAgAAAAECAAAAEVRXQVAgb3V0LW9mLW9yZGVyBAAAAAxsYXN0TWludXRlSWQDCQAAAAAAAAIFAAAAEHByZXZpb3VzTWludXRlSWQAAAAAAAAAAAAFAAAACG1pbnV0ZUlkBQAAABBwcmV2aW91c01pbnV0ZUlkAwkAAGYAAAACBQAAAAhtaW51dGVJZAUAAAAQcHJldmlvdXNNaW51dGVJZAQAAAATcHJldkN1bXVsYXRpdmVQcmljZQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgUAAAAda190d2FwRGF0YUxhc3RDdW11bGF0aXZlUHJpY2UCAAAAAV8JAAGkAAAAAQUAAAAQcHJldmlvdXNNaW51dGVJZAAAAAAAAAAAAAQAAAAJcHJldlByaWNlCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkAASwAAAACBQAAABNrX3R3YXBEYXRhTGFzdFByaWNlAgAAAAFfCQABpAAAAAEFAAAAEHByZXZpb3VzTWludXRlSWQFAAAABXByaWNlBAAAABNsYXN0Q3VtdWxhdGl2ZVByaWNlCQAAZAAAAAIFAAAAE3ByZXZDdW11bGF0aXZlUHJpY2UJAABoAAAAAgkAAGUAAAACBQAAAAhtaW51dGVJZAUAAAAMbGFzdE1pbnV0ZUlkBQAAAAlwcmV2UHJpY2UEAAAABGxpc3QJAQAAAAtwdXNoVG9RdWV1ZQAAAAMJAQAAAAlzdHJUb0xpc3QAAAABCQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAABHRoaXMFAAAADWtfbGFzdERhdGFTdHICAAAAAAUAAAANVFdBUF9JTlRFUlZBTAkAAaQAAAABBQAAAAhtaW51dGVJZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAADnRvQ29tcG9zaXRlS2V5AAAAAgUAAAAda190d2FwRGF0YUxhc3RDdW11bGF0aXZlUHJpY2UJAAGkAAAAAQUAAAAIbWludXRlSWQFAAAAE2xhc3RDdW11bGF0aXZlUHJpY2UJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAA50b0NvbXBvc2l0ZUtleQAAAAIFAAAAE2tfdHdhcERhdGFMYXN0UHJpY2UJAAGkAAAAAQUAAAAIbWludXRlSWQFAAAABXByaWNlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAOdG9Db21wb3NpdGVLZXkAAAACBQAAABprX3R3YXBEYXRhUHJldmlvdXNNaW51dGVJZAkAAaQAAAABBQAAAAhtaW51dGVJZAUAAAAQcHJldmlvdXNNaW51dGVJZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAOa19sYXN0TWludXRlSWQFAAAACG1pbnV0ZUlkCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAADWtfbGFzdERhdGFTdHIJAQAAAAlsaXN0VG9TdHIAAAABBQAAAARsaXN0BQAAAANuaWwEAAAAGHR3YXBEYXRhUHJldmlvdXNNaW51dGVJZAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQEAAAAOdG9Db21wb3NpdGVLZXkAAAACBQAAABprX3R3YXBEYXRhUHJldmlvdXNNaW51dGVJZAkAAaQAAAABBQAAAAhtaW51dGVJZAAAAAAAAAAAAAQAAAATcHJldkN1bXVsYXRpdmVQcmljZQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQEAAAAOdG9Db21wb3NpdGVLZXkAAAACBQAAAB1rX3R3YXBEYXRhTGFzdEN1bXVsYXRpdmVQcmljZQkAAaQAAAABBQAAABh0d2FwRGF0YVByZXZpb3VzTWludXRlSWQAAAAAAAAAAAAEAAAACXByZXZQcmljZQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQEAAAAOdG9Db21wb3NpdGVLZXkAAAACBQAAABNrX3R3YXBEYXRhTGFzdFByaWNlCQABpAAAAAEFAAAAGHR3YXBEYXRhUHJldmlvdXNNaW51dGVJZAUAAAAFcHJpY2UEAAAAE2xhc3RDdW11bGF0aXZlUHJpY2UJAABkAAAAAgUAAAATcHJldkN1bXVsYXRpdmVQcmljZQkAAGgAAAACCQAAZQAAAAIFAAAACG1pbnV0ZUlkBQAAABh0d2FwRGF0YVByZXZpb3VzTWludXRlSWQFAAAACXByZXZQcmljZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAADnRvQ29tcG9zaXRlS2V5AAAAAgUAAAAda190d2FwRGF0YUxhc3RDdW11bGF0aXZlUHJpY2UJAAGkAAAAAQUAAAAIbWludXRlSWQFAAAAE2xhc3RDdW11bGF0aXZlUHJpY2UJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAA50b0NvbXBvc2l0ZUtleQAAAAIFAAAAE2tfdHdhcERhdGFMYXN0UHJpY2UJAAGkAAAAAQUAAAAIbWludXRlSWQFAAAABXByaWNlBQAAAANuaWwBAAAACXVwZGF0ZUFtbQAAAAcAAAAHX3F0QXN0UgAAAAdfYnNBc3RSAAAAF190b3RhbFBvc2l0aW9uU2l6ZUFmdGVyAAAAGF9jdW11bGF0aXZlTm90aW9uYWxBZnRlcgAAABVfb3BlbkludGVyZXN0Tm90aW9uYWwAAAAWX3RvdGFsTG9uZ1Bvc2l0aW9uU2l6ZQAAABdfdG90YWxTaG9ydFBvc2l0aW9uU2l6ZQMJAQAAAAIhPQAAAAIJAABlAAAAAgUAAAAWX3RvdGFsTG9uZ1Bvc2l0aW9uU2l6ZQUAAAAXX3RvdGFsU2hvcnRQb3NpdGlvblNpemUFAAAAF190b3RhbFBvc2l0aW9uU2l6ZUFmdGVyCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAABhJbnZhbGlkIEFNTSBzdGF0ZSBkYXRhOiAJAAGkAAAAAQUAAAAWX3RvdGFsTG9uZ1Bvc2l0aW9uU2l6ZQIAAAAEICsgIAkAAaQAAAABBQAAABdfdG90YWxTaG9ydFBvc2l0aW9uU2l6ZQIAAAAEICE9IAkAAaQAAAABBQAAABdfdG90YWxQb3NpdGlvblNpemVBZnRlcgkABE4AAAACCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABNrX3F1b3RlQXNzZXRSZXNlcnZlBQAAAAdfcXRBc3RSCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABJrX2Jhc2VBc3NldFJlc2VydmUFAAAAB19ic0FzdFIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAE2tfdG90YWxQb3NpdGlvblNpemUFAAAAF190b3RhbFBvc2l0aW9uU2l6ZUFmdGVyCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABRrX2N1bXVsYXRpdmVOb3Rpb25hbAUAAAAYX2N1bXVsYXRpdmVOb3Rpb25hbEFmdGVyCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABZrX29wZW5JbnRlcmVzdE5vdGlvbmFsBQAAABVfb3BlbkludGVyZXN0Tm90aW9uYWwJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAF2tfdG90YWxMb25nUG9zaXRpb25TaXplBQAAABZfdG90YWxMb25nUG9zaXRpb25TaXplCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABhrX3RvdGFsU2hvcnRQb3NpdGlvblNpemUFAAAAF190b3RhbFNob3J0UG9zaXRpb25TaXplBQAAAANuaWwJAQAAAAphcHBlbmRUd2FwAAAAAQkBAAAABGRpdmQAAAACBQAAAAdfcXRBc3RSBQAAAAdfYnNBc3RSAQAAAA5kZWxldGVQb3NpdGlvbgAAAAEAAAAIX2FkZHJlc3MJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkBAAAADnRvQ29tcG9zaXRlS2V5AAAAAgUAAAAOa19wb3NpdGlvblNpemUFAAAACF9hZGRyZXNzCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAQAAAA50b0NvbXBvc2l0ZUtleQAAAAIFAAAAEGtfcG9zaXRpb25NYXJnaW4FAAAACF9hZGRyZXNzCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAQAAAA50b0NvbXBvc2l0ZUtleQAAAAIFAAAAFmtfcG9zaXRpb25PcGVuTm90aW9uYWwFAAAACF9hZGRyZXNzCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAQAAAA50b0NvbXBvc2l0ZUtleQAAAAIFAAAALmtfcG9zaXRpb25MYXN0VXBkYXRlZEN1bXVsYXRpdmVQcmVtaXVtRnJhY3Rpb24FAAAACF9hZGRyZXNzBQAAAANuaWwBAAAACHdpdGhkcmF3AAAAAgAAAAhfYWRkcmVzcwAAAAdfYW1vdW50BAAAAAdiYWxhbmNlCQAD8AAAAAIFAAAABHRoaXMJAQAAAApxdW90ZUFzc2V0AAAAAAMJAABmAAAAAgUAAAAHX2Ftb3VudAUAAAAHYmFsYW5jZQkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAABNVbmFibGUgdG8gd2l0aGRyYXcgCQABpAAAAAEFAAAAB19hbW91bnQCAAAAFyBmcm9tIGNvbnRyYWN0IGJhbGFuY2UgCQABpAAAAAEFAAAAB2JhbGFuY2UJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAAIX2FkZHJlc3MFAAAAB19hbW91bnQJAQAAAApxdW90ZUFzc2V0AAAAAAUAAAADbmlsAQAAAA11cGRhdGVCYWxhbmNlAAAAAQAAAAFpAwkAAGYAAAACAAAAAAAAAAAABQAAAAFpCQAAAgAAAAECAAAAB0JhbGFuY2UJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAACWtfYmFsYW5jZQUAAAABaQUAAAADbmlsAQAAAAt0cmFuc2ZlckZlZQAAAAEAAAABaQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAOc3Rha2luZ0FkZHJlc3MAAAAABQAAAAFpCQEAAAAKcXVvdGVBc3NldAAAAAAFAAAAA25pbAAAAA0AAAABaQEAAAAFcGF1c2UAAAAAAwkBAAAAAiE9AAAAAggFAAAAAWkAAAAGY2FsbGVyCQEAAAAMYWRtaW5BZGRyZXNzAAAAAAkAAAIAAAABAgAAABpJbnZhbGlkIHRvZ2dsZVBhdXNlIHBhcmFtcwkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgUAAAAIa19wYXVzZWQGBQAAAANuaWwAAAABaQEAAAAHdW5wYXVzZQAAAAADCQEAAAACIT0AAAACCAUAAAABaQAAAAZjYWxsZXIJAQAAAAxhZG1pbkFkZHJlc3MAAAAACQAAAgAAAAECAAAAGkludmFsaWQgdG9nZ2xlUGF1c2UgcGFyYW1zCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACBQAAAAhrX3BhdXNlZAcFAAAAA25pbAAAAAFpAQAAAA5jaGFuZ2VTZXR0aW5ncwAAAAcAAAAQX2luaXRNYXJnaW5SYXRpbwAAAARfbW1yAAAAFF9saXF1aWRhdGlvbkZlZVJhdGlvAAAADl9mdW5kaW5nUGVyaW9kAAAABF9mZWUAAAAMX3NwcmVhZExpbWl0AAAAD19tYXhQcmljZUltcGFjdAMJAQAAAAIhPQAAAAIIBQAAAAFpAAAABmNhbGxlcgkBAAAADGFkbWluQWRkcmVzcwAAAAAJAAACAAAAAQIAAAAdSW52YWxpZCBjaGFuZ2VTZXR0aW5ncyBwYXJhbXMJAQAAAA51cGRhdGVTZXR0aW5ncwAAAAcFAAAAEF9pbml0TWFyZ2luUmF0aW8FAAAABF9tbXIFAAAAFF9saXF1aWRhdGlvbkZlZVJhdGlvBQAAAA5fZnVuZGluZ1BlcmlvZAUAAAAEX2ZlZQUAAAAMX3NwcmVhZExpbWl0BQAAAA9fbWF4UHJpY2VJbXBhY3QAAAABaQEAAAAKaW5pdGlhbGl6ZQAAAAwAAAAHX3F0QXN0UgAAAAdfYnNBc3RSAAAADl9mdW5kaW5nUGVyaW9kAAAAEF9pbml0TWFyZ2luUmF0aW8AAAAEX21tcgAAABRfbGlxdWlkYXRpb25GZWVSYXRpbwAAAARfZmVlAAAAB19vcmFjbGUAAAAKX29yYWNsZUtleQAAAAxfY29vcmRpbmF0b3IAAAAMX3NwcmVhZExpbWl0AAAAD19tYXhQcmljZUltcGFjdAMDAwMDAwMDAwMJAABnAAAAAgAAAAAAAAAAAAUAAAAHX3F0QXN0UgYJAABnAAAAAgAAAAAAAAAAAAUAAAAHX2JzQXN0UgYJAABnAAAAAgAAAAAAAAAAAAUAAAAOX2Z1bmRpbmdQZXJpb2QGCQAAZwAAAAIAAAAAAAAAAAAFAAAAEF9pbml0TWFyZ2luUmF0aW8GCQAAZwAAAAIAAAAAAAAAAAAFAAAABF9tbXIGCQAAZwAAAAIAAAAAAAAAAAAFAAAAFF9saXF1aWRhdGlvbkZlZVJhdGlvBgkAAGcAAAACAAAAAAAAAAAABQAAAARfZmVlBgkAAGcAAAACAAAAAAAAAAAABQAAAAxfc3ByZWFkTGltaXQGCQAAZwAAAAIAAAAAAAAAAAAFAAAAD19tYXhQcmljZUltcGFjdAYJAQAAAAtpbml0aWFsaXplZAAAAAAJAAACAAAAAQIAAAAdSW52YWxpZCBpbml0aWFsaXplIHBhcmFtZXRlcnMJAAROAAAAAgkABE4AAAACCQAETgAAAAIJAAROAAAAAgkBAAAACXVwZGF0ZUFtbQAAAAcFAAAAB19xdEFzdFIFAAAAB19ic0FzdFIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAQAAAA51cGRhdGVTZXR0aW5ncwAAAAcFAAAAEF9pbml0TWFyZ2luUmF0aW8FAAAABF9tbXIFAAAAFF9saXF1aWRhdGlvbkZlZVJhdGlvBQAAAA5fZnVuZGluZ1BlcmlvZAUAAAAEX2ZlZQUAAAAMX3NwcmVhZExpbWl0BQAAAA9fbWF4UHJpY2VJbXBhY3QJAQAAAA11cGRhdGVGdW5kaW5nAAAABQkAAGQAAAACCAUAAAAJbGFzdEJsb2NrAAAACXRpbWVzdGFtcAUAAAAOX2Z1bmRpbmdQZXJpb2QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAQAAAA11cGRhdGVCYWxhbmNlAAAAAQAAAAAAAAAAAAkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgUAAAANa19pbml0aWFsaXplZAYJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAAFa19vcmEFAAAAB19vcmFjbGUJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAAJa19vcmFfa2V5BQAAAApfb3JhY2xlS2V5CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAAFGtfY29vcmRpbmF0b3JBZGRyZXNzBQAAAAxfY29vcmRpbmF0b3IFAAAAA25pbAAAAAFpAQAAABBkZWNyZWFzZVBvc2l0aW9uAAAAAwAAAAdfYW1vdW50AAAACV9sZXZlcmFnZQAAABNfbWluQmFzZUFzc2V0QW1vdW50AwMDAwMDCQAAZwAAAAIAAAAAAAAAAAAFAAAAB19hbW91bnQGAwkAAGYAAAACCQAAaAAAAAIAAAAAAAAAAAEFAAAADERFQ0lNQUxfVU5JVAUAAAAJX2xldmVyYWdlBgkAAGYAAAACBQAAAAlfbGV2ZXJhZ2UJAABoAAAAAgAAAAAAAAAAAwUAAAAMREVDSU1BTF9VTklUBgkBAAAAASEAAAABCQEAAAALaW5pdGlhbGl6ZWQAAAAABgkBAAAAASEAAAABCQEAAAAWcmVxdWlyZU1vcmVNYXJnaW5SYXRpbwAAAAMJAQAAAARkaXZkAAAAAgUAAAAMREVDSU1BTF9VTklUBQAAAAlfbGV2ZXJhZ2UJAQAAAA9pbml0TWFyZ2luUmF0aW8AAAAABgYJAQAAAAEhAAAAAQkBAAAAE3JlcXVpcmVPcGVuUG9zaXRpb24AAAABCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgYJAQAAAAZwYXVzZWQAAAAACQAAAgAAAAECAAAAI0ludmFsaWQgZGVjcmVhc2VQb3NpdGlvbiBwYXJhbWV0ZXJzBAAAAA0kdDAyODM4MTI4NTMzCQEAAAALZ2V0UG9zaXRpb24AAAABCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAAPb2xkUG9zaXRpb25TaXplCAUAAAANJHQwMjgzODEyODUzMwAAAAJfMQQAAAARb2xkUG9zaXRpb25NYXJnaW4IBQAAAA0kdDAyODM4MTI4NTMzAAAAAl8yBAAAABdvbGRQb3NpdGlvbk9wZW5Ob3Rpb25hbAgFAAAADSR0MDI4MzgxMjg1MzMAAAACXzMEAAAAFG9sZFBvc2l0aW9uTHN0VXBkQ1BGCAUAAAANJHQwMjgzODEyODUzMwAAAAJfNAQAAAAKX2RpcmVjdGlvbgMJAABmAAAAAgUAAAAPb2xkUG9zaXRpb25TaXplAAAAAAAAAAAABQAAAAlESVJfU0hPUlQFAAAACERJUl9MT05HBAAAAAVpc0FkZAkAAAAAAAACBQAAAApfZGlyZWN0aW9uBQAAAAhESVJfTE9ORwQAAAAMb3Blbk5vdGlvbmFsCQEAAAAEbXVsZAAAAAIFAAAAB19hbW91bnQFAAAACV9sZXZlcmFnZQQAAAANJHQwMjg3MDYyODgyMgkBAAAAI2dldFBvc2l0aW9uTm90aW9uYWxBbmRVbnJlYWxpemVkUG5sAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAD1BOTF9PUFRJT05fU1BPVAQAAAATb2xkUG9zaXRpb25Ob3Rpb25hbAgFAAAADSR0MDI4NzA2Mjg4MjIAAAACXzEEAAAADXVucmVhbGl6ZWRQbmwIBQAAAA0kdDAyODcwNjI4ODIyAAAAAl8yBAAAAA0kdDAyODgyODMxMzc3AwkAAGYAAAACBQAAABNvbGRQb3NpdGlvbk5vdGlvbmFsBQAAAAxvcGVuTm90aW9uYWwEAAAADSR0MDI5MjA1Mjk0MjQJAQAAAAlzd2FwSW5wdXQAAAACBQAAAAVpc0FkZAUAAAAMb3Blbk5vdGlvbmFsBAAAABVleGNoYW5nZWRQb3NpdGlvblNpemUIBQAAAA0kdDAyOTIwNTI5NDI0AAAAAl8xBAAAABZxdW90ZUFzc2V0UmVzZXJ2ZUFmdGVyCAUAAAANJHQwMjkyMDUyOTQyNAAAAAJfMgQAAAAVYmFzZUFzc2V0UmVzZXJ2ZUFmdGVyCAUAAAANJHQwMjkyMDUyOTQyNAAAAAJfMwQAAAAWdG90YWxQb3NpdGlvblNpemVBZnRlcggFAAAADSR0MDI5MjA1Mjk0MjQAAAACXzQEAAAAF2N1bXVsYXRpdmVOb3Rpb25hbEFmdGVyCAUAAAANJHQwMjkyMDUyOTQyNAAAAAJfNQQAAAAYZXhjaGFuZ2VkUG9zaXRpb25TaXplQWJzCQEAAAADYWJzAAAAAQUAAAAVZXhjaGFuZ2VkUG9zaXRpb25TaXplAwMJAQAAAAIhPQAAAAIFAAAAE19taW5CYXNlQXNzZXRBbW91bnQAAAAAAAAAAAAJAABmAAAAAgUAAAATX21pbkJhc2VBc3NldEFtb3VudAUAAAAYZXhjaGFuZ2VkUG9zaXRpb25TaXplQWJzBwkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAACVUb28gbGl0dGxlIGJhc2UgYXNzZXQgZXhjaGFuZ2VkLCBnb3QgCQABpAAAAAEFAAAAGGV4Y2hhbmdlZFBvc2l0aW9uU2l6ZUFicwIAAAAKIGV4cGVjdGVkIAkAAaQAAAABBQAAABNfbWluQmFzZUFzc2V0QW1vdW50BAAAAAtyZWFsaXplZFBubAkBAAAABGRpdmQAAAACCQEAAAAEbXVsZAAAAAIFAAAADXVucmVhbGl6ZWRQbmwFAAAAGGV4Y2hhbmdlZFBvc2l0aW9uU2l6ZUFicwkBAAAAA2FicwAAAAEFAAAAD29sZFBvc2l0aW9uU2l6ZQQAAAANJHQwMjk4NjEzMDEwNgkBAAAAImNhbGNSZW1haW5NYXJnaW5XaXRoRnVuZGluZ1BheW1lbnQAAAAEBQAAAA9vbGRQb3NpdGlvblNpemUFAAAAEW9sZFBvc2l0aW9uTWFyZ2luBQAAABRvbGRQb3NpdGlvbkxzdFVwZENQRgUAAAALcmVhbGl6ZWRQbmwEAAAADHJlbWFpbk1hcmdpbggFAAAADSR0MDI5ODYxMzAxMDYAAAACXzEEAAAAB2JhZERlYnQIBQAAAA0kdDAyOTg2MTMwMTA2AAAAAl8yBAAAAA5mdW5kaW5nUGF5bWVudAgFAAAADSR0MDI5ODYxMzAxMDYAAAACXzMEAAAAGWV4Y2hhbmdlZFF1b3RlQXNzZXRBbW91bnQFAAAADG9wZW5Ob3Rpb25hbAQAAAASdW5yZWFsaXplZFBubEFmdGVyCQAAZQAAAAIFAAAADXVucmVhbGl6ZWRQbmwFAAAAC3JlYWxpemVkUG5sBAAAABJyZW1haW5PcGVuTm90aW9uYWwDCQAAZgAAAAIFAAAAD29sZFBvc2l0aW9uU2l6ZQAAAAAAAAAAAAkAAGUAAAACCQAAZQAAAAIFAAAAE29sZFBvc2l0aW9uTm90aW9uYWwFAAAAGWV4Y2hhbmdlZFF1b3RlQXNzZXRBbW91bnQFAAAAEnVucmVhbGl6ZWRQbmxBZnRlcgkAAGUAAAACCQAAZAAAAAIFAAAAEnVucmVhbGl6ZWRQbmxBZnRlcgUAAAATb2xkUG9zaXRpb25Ob3Rpb25hbAUAAAAZZXhjaGFuZ2VkUXVvdGVBc3NldEFtb3VudAQAAAAPbmV3UG9zaXRpb25TaXplCQAAZAAAAAIFAAAAD29sZFBvc2l0aW9uU2l6ZQUAAAAVZXhjaGFuZ2VkUG9zaXRpb25TaXplCQAFHQAAAAsFAAAAD25ld1Bvc2l0aW9uU2l6ZQUAAAAMcmVtYWluTWFyZ2luCQEAAAADYWJzAAAAAQUAAAAScmVtYWluT3Blbk5vdGlvbmFsCQEAAAAfbGF0ZXN0Q3VtdWxhdGl2ZVByZW1pdW1GcmFjdGlvbgAAAAEFAAAAD25ld1Bvc2l0aW9uU2l6ZQUAAAAVYmFzZUFzc2V0UmVzZXJ2ZUFmdGVyBQAAABZxdW90ZUFzc2V0UmVzZXJ2ZUFmdGVyBQAAABZ0b3RhbFBvc2l0aW9uU2l6ZUFmdGVyBQAAABdjdW11bGF0aXZlTm90aW9uYWxBZnRlcgkAAGUAAAACCQEAAAAUb3BlbkludGVyZXN0Tm90aW9uYWwAAAAABQAAAAxvcGVuTm90aW9uYWwJAABlAAAAAgkBAAAAFXRvdGFsTG9uZ1Bvc2l0aW9uU2l6ZQAAAAADCQAAZgAAAAIFAAAAD25ld1Bvc2l0aW9uU2l6ZQAAAAAAAAAAAAkBAAAAA2FicwAAAAEFAAAAFWV4Y2hhbmdlZFBvc2l0aW9uU2l6ZQAAAAAAAAAAAAkAAGUAAAACCQEAAAAWdG90YWxTaG9ydFBvc2l0aW9uU2l6ZQAAAAADCQAAZgAAAAIAAAAAAAAAAAAFAAAAD25ld1Bvc2l0aW9uU2l6ZQkBAAAAA2FicwAAAAEFAAAAFWV4Y2hhbmdlZFBvc2l0aW9uU2l6ZQAAAAAAAAAAAAkAAAIAAAABAgAAABRDbG9zZSBwb3NpdGlvbiBmaXJzdAQAAAAPbmV3UG9zaXRpb25TaXplCAUAAAANJHQwMjg4MjgzMTM3NwAAAAJfMQQAAAAXbmV3UG9zaXRpb25SZW1haW5NYXJnaW4IBQAAAA0kdDAyODgyODMxMzc3AAAAAl8yBAAAABduZXdQb3NpdGlvbk9wZW5Ob3Rpb25hbAgFAAAADSR0MDI4ODI4MzEzNzcAAAACXzMEAAAAFG5ld1Bvc2l0aW9uTGF0ZXN0Q1BGCAUAAAANJHQwMjg4MjgzMTM3NwAAAAJfNAQAAAAVYmFzZUFzc2V0UmVzZXJ2ZUFmdGVyCAUAAAANJHQwMjg4MjgzMTM3NwAAAAJfNQQAAAAWcXVvdGVBc3NldFJlc2VydmVBZnRlcggFAAAADSR0MDI4ODI4MzEzNzcAAAACXzYEAAAAFnRvdGFsUG9zaXRpb25TaXplQWZ0ZXIIBQAAAA0kdDAyODgyODMxMzc3AAAAAl83BAAAABdjdW11bGF0aXZlTm90aW9uYWxBZnRlcggFAAAADSR0MDI4ODI4MzEzNzcAAAACXzgEAAAAGW9wZW5JbnRlcmVzdE5vdGlvbmFsQWZ0ZXIIBQAAAA0kdDAyODgyODMxMzc3AAAAAl85BAAAAA50b3RhbExvbmdBZnRlcggFAAAADSR0MDI4ODI4MzEzNzcAAAADXzEwBAAAAA90b3RhbFNob3J0QWZ0ZXIIBQAAAA0kdDAyODgyODMxMzc3AAAAA18xMQkABE4AAAACCQEAAAAOdXBkYXRlUG9zaXRpb24AAAAFCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAPbmV3UG9zaXRpb25TaXplBQAAABduZXdQb3NpdGlvblJlbWFpbk1hcmdpbgUAAAAXbmV3UG9zaXRpb25PcGVuTm90aW9uYWwFAAAAFG5ld1Bvc2l0aW9uTGF0ZXN0Q1BGCQEAAAAJdXBkYXRlQW1tAAAABwUAAAAWcXVvdGVBc3NldFJlc2VydmVBZnRlcgUAAAAVYmFzZUFzc2V0UmVzZXJ2ZUFmdGVyBQAAABZ0b3RhbFBvc2l0aW9uU2l6ZUFmdGVyBQAAABdjdW11bGF0aXZlTm90aW9uYWxBZnRlcgUAAAAZb3BlbkludGVyZXN0Tm90aW9uYWxBZnRlcgUAAAAOdG90YWxMb25nQWZ0ZXIFAAAAD3RvdGFsU2hvcnRBZnRlcgAAAAFpAQAAABBpbmNyZWFzZVBvc2l0aW9uAAAAAwAAAApfZGlyZWN0aW9uAAAACV9sZXZlcmFnZQAAABNfbWluQmFzZUFzc2V0QW1vdW50BAAAAApfcmF3QW1vdW50CAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAZhbW91bnQDAwMDAwMDAwkBAAAAAiE9AAAAAgUAAAAKX2RpcmVjdGlvbgUAAAAIRElSX0xPTkcJAQAAAAIhPQAAAAIFAAAACl9kaXJlY3Rpb24FAAAACURJUl9TSE9SVAcGCQAAZwAAAAIAAAAAAAAAAAAFAAAACl9yYXdBbW91bnQGAwkAAGYAAAACCQAAaAAAAAIAAAAAAAAAAAEFAAAADERFQ0lNQUxfVU5JVAUAAAAJX2xldmVyYWdlBgkAAGYAAAACBQAAAAlfbGV2ZXJhZ2UJAABoAAAAAgAAAAAAAAAAAwUAAAAMREVDSU1BTF9VTklUBgkBAAAAASEAAAABCQEAAAALaW5pdGlhbGl6ZWQAAAAABgkBAAAAAiE9AAAAAggJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAHYXNzZXRJZAkBAAAACnF1b3RlQXNzZXQAAAAABgkBAAAAASEAAAABCQEAAAAWcmVxdWlyZU1vcmVNYXJnaW5SYXRpbwAAAAMJAQAAAARkaXZkAAAAAgUAAAAMREVDSU1BTF9VTklUBQAAAAlfbGV2ZXJhZ2UJAQAAAA9pbml0TWFyZ2luUmF0aW8AAAAABgYJAQAAAAZwYXVzZWQAAAAACQAAAgAAAAECAAAAI0ludmFsaWQgaW5jcmVhc2VQb3NpdGlvbiBwYXJhbWV0ZXJzBAAAAAlmZWVBbW91bnQJAQAAAARtdWxkAAAAAgUAAAAKX3Jhd0Ftb3VudAkBAAAAA2ZlZQAAAAAEAAAAB19hbW91bnQJAABlAAAAAgUAAAAKX3Jhd0Ftb3VudAUAAAAJZmVlQW1vdW50BAAAAA0kdDAzMjQxMzMyNTY1CQEAAAALZ2V0UG9zaXRpb24AAAABCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAAPb2xkUG9zaXRpb25TaXplCAUAAAANJHQwMzI0MTMzMjU2NQAAAAJfMQQAAAARb2xkUG9zaXRpb25NYXJnaW4IBQAAAA0kdDAzMjQxMzMyNTY1AAAAAl8yBAAAABdvbGRQb3NpdGlvbk9wZW5Ob3Rpb25hbAgFAAAADSR0MDMyNDEzMzI1NjUAAAACXzMEAAAAFG9sZFBvc2l0aW9uTHN0VXBkQ1BGCAUAAAANJHQwMzI0MTMzMjU2NQAAAAJfNAQAAAANaXNOZXdQb3NpdGlvbgkAAAAAAAACBQAAAA9vbGRQb3NpdGlvblNpemUAAAAAAAAAAAAEAAAAD2lzU2FtZURpcmVjdGlvbgMJAABmAAAAAgUAAAAPb2xkUG9zaXRpb25TaXplAAAAAAAAAAAACQAAAAAAAAIFAAAACl9kaXJlY3Rpb24FAAAACERJUl9MT05HCQAAAAAAAAIFAAAACl9kaXJlY3Rpb24FAAAACURJUl9TSE9SVAQAAAAOZXhwYW5kRXhpc3RpbmcDCQEAAAABIQAAAAEFAAAADWlzTmV3UG9zaXRpb24FAAAAD2lzU2FtZURpcmVjdGlvbgcEAAAABWlzQWRkCQAAAAAAAAIFAAAACl9kaXJlY3Rpb24FAAAACERJUl9MT05HBAAAAA0kdDAzMjg1NDM1MjQzAwMFAAAADWlzTmV3UG9zaXRpb24GBQAAAA5leHBhbmRFeGlzdGluZwQAAAAMb3Blbk5vdGlvbmFsCQEAAAAEbXVsZAAAAAIFAAAAB19hbW91bnQFAAAACV9sZXZlcmFnZQQAAAANJHQwMzMyNzgzMzQ4NAkBAAAACXN3YXBJbnB1dAAAAAIFAAAABWlzQWRkBQAAAAxvcGVuTm90aW9uYWwEAAAAFWFtb3VudEJhc2VBc3NldEJvdWdodAgFAAAADSR0MDMzMjc4MzM0ODQAAAACXzEEAAAAFnF1b3RlQXNzZXRSZXNlcnZlQWZ0ZXIIBQAAAA0kdDAzMzI3ODMzNDg0AAAAAl8yBAAAABViYXNlQXNzZXRSZXNlcnZlQWZ0ZXIIBQAAAA0kdDAzMzI3ODMzNDg0AAAAAl8zBAAAABZ0b3RhbFBvc2l0aW9uU2l6ZUFmdGVyCAUAAAANJHQwMzMyNzgzMzQ4NAAAAAJfNAQAAAAXY3VtdWxhdGl2ZU5vdGlvbmFsQWZ0ZXIIBQAAAA0kdDAzMzI3ODMzNDg0AAAAAl81AwMJAQAAAAIhPQAAAAIFAAAAE19taW5CYXNlQXNzZXRBbW91bnQAAAAAAAAAAAAJAABmAAAAAgUAAAATX21pbkJhc2VBc3NldEFtb3VudAkBAAAAA2FicwAAAAEFAAAAFWFtb3VudEJhc2VBc3NldEJvdWdodAcJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAANTGltaXQgZXJyb3I6IAkAAaQAAAABCQEAAAADYWJzAAAAAQUAAAAVYW1vdW50QmFzZUFzc2V0Qm91Z2h0AgAAAAMgPCAJAAGkAAAAAQUAAAATX21pbkJhc2VBc3NldEFtb3VudAQAAAAPbmV3UG9zaXRpb25TaXplCQAAZAAAAAIFAAAAD29sZFBvc2l0aW9uU2l6ZQUAAAAVYW1vdW50QmFzZUFzc2V0Qm91Z2h0BAAAABlpbmNyZWFzZU1hcmdpblJlcXVpcmVtZW50CQEAAAAEZGl2ZAAAAAIFAAAADG9wZW5Ob3Rpb25hbAUAAAAJX2xldmVyYWdlBAAAAA0kdDAzMzg2NTM0MTA0CQEAAAAiY2FsY1JlbWFpbk1hcmdpbldpdGhGdW5kaW5nUGF5bWVudAAAAAQFAAAAD29sZFBvc2l0aW9uU2l6ZQUAAAARb2xkUG9zaXRpb25NYXJnaW4FAAAAFG9sZFBvc2l0aW9uTHN0VXBkQ1BGBQAAABlpbmNyZWFzZU1hcmdpblJlcXVpcmVtZW50BAAAAAxyZW1haW5NYXJnaW4IBQAAAA0kdDAzMzg2NTM0MTA0AAAAAl8xBAAAAAJ4MQgFAAAADSR0MDMzODY1MzQxMDQAAAACXzIEAAAAAngyCAUAAAANJHQwMzM4NjUzNDEwNAAAAAJfMwkABR0AAAALBQAAAA9uZXdQb3NpdGlvblNpemUFAAAADHJlbWFpbk1hcmdpbgkAAGQAAAACBQAAABdvbGRQb3NpdGlvbk9wZW5Ob3Rpb25hbAUAAAAMb3Blbk5vdGlvbmFsCQEAAAAfbGF0ZXN0Q3VtdWxhdGl2ZVByZW1pdW1GcmFjdGlvbgAAAAEFAAAAD25ld1Bvc2l0aW9uU2l6ZQUAAAAVYmFzZUFzc2V0UmVzZXJ2ZUFmdGVyBQAAABZxdW90ZUFzc2V0UmVzZXJ2ZUFmdGVyBQAAABZ0b3RhbFBvc2l0aW9uU2l6ZUFmdGVyBQAAABdjdW11bGF0aXZlTm90aW9uYWxBZnRlcgkAAGQAAAACCQEAAAAUb3BlbkludGVyZXN0Tm90aW9uYWwAAAAABQAAAAxvcGVuTm90aW9uYWwJAABkAAAAAgkBAAAAFXRvdGFsTG9uZ1Bvc2l0aW9uU2l6ZQAAAAADCQAAZgAAAAIFAAAAD25ld1Bvc2l0aW9uU2l6ZQAAAAAAAAAAAAkBAAAAA2FicwAAAAEFAAAAFWFtb3VudEJhc2VBc3NldEJvdWdodAAAAAAAAAAAAAkAAGQAAAACCQEAAAAWdG90YWxTaG9ydFBvc2l0aW9uU2l6ZQAAAAADCQAAZgAAAAIAAAAAAAAAAAAFAAAAD25ld1Bvc2l0aW9uU2l6ZQkBAAAAA2FicwAAAAEFAAAAFWFtb3VudEJhc2VBc3NldEJvdWdodAAAAAAAAAAAAAQAAAAMb3Blbk5vdGlvbmFsCQEAAAAEbXVsZAAAAAIFAAAAB19hbW91bnQFAAAACV9sZXZlcmFnZQQAAAANJHQwMzQ5MzYzNTA1MgkBAAAAI2dldFBvc2l0aW9uTm90aW9uYWxBbmRVbnJlYWxpemVkUG5sAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAD1BOTF9PUFRJT05fU1BPVAQAAAATb2xkUG9zaXRpb25Ob3Rpb25hbAgFAAAADSR0MDM0OTM2MzUwNTIAAAACXzEEAAAADXVucmVhbGl6ZWRQbmwIBQAAAA0kdDAzNDkzNjM1MDUyAAAAAl8yAwkAAGYAAAACBQAAABNvbGRQb3NpdGlvbk5vdGlvbmFsBQAAAAxvcGVuTm90aW9uYWwJAAACAAAAAQIAAAAuVXNlIGRlY3JlYXNlUG9zaXRpb24gdG8gZGVjcmVhc2UgcG9zaXRpb24gc2l6ZQkAAAIAAAABAgAAABRDbG9zZSBwb3NpdGlvbiBmaXJzdAQAAAAPbmV3UG9zaXRpb25TaXplCAUAAAANJHQwMzI4NTQzNTI0MwAAAAJfMQQAAAAXbmV3UG9zaXRpb25SZW1haW5NYXJnaW4IBQAAAA0kdDAzMjg1NDM1MjQzAAAAAl8yBAAAABduZXdQb3NpdGlvbk9wZW5Ob3Rpb25hbAgFAAAADSR0MDMyODU0MzUyNDMAAAACXzMEAAAAFG5ld1Bvc2l0aW9uTGF0ZXN0Q1BGCAUAAAANJHQwMzI4NTQzNTI0MwAAAAJfNAQAAAAVYmFzZUFzc2V0UmVzZXJ2ZUFmdGVyCAUAAAANJHQwMzI4NTQzNTI0MwAAAAJfNQQAAAAWcXVvdGVBc3NldFJlc2VydmVBZnRlcggFAAAADSR0MDMyODU0MzUyNDMAAAACXzYEAAAAFnRvdGFsUG9zaXRpb25TaXplQWZ0ZXIIBQAAAA0kdDAzMjg1NDM1MjQzAAAAAl83BAAAABdjdW11bGF0aXZlTm90aW9uYWxBZnRlcggFAAAADSR0MDMyODU0MzUyNDMAAAACXzgEAAAAGW9wZW5JbnRlcmVzdE5vdGlvbmFsQWZ0ZXIIBQAAAA0kdDAzMjg1NDM1MjQzAAAAAl85BAAAAA50b3RhbExvbmdBZnRlcggFAAAADSR0MDMyODU0MzUyNDMAAAADXzEwBAAAAA90b3RhbFNob3J0QWZ0ZXIIBQAAAA0kdDAzMjg1NDM1MjQzAAAAA18xMQQAAAAMZmVlVG9TdGFrZXJzCQAAaQAAAAIFAAAACWZlZUFtb3VudAAAAAAAAAAAAgQAAAAOZmVlVG9JbnN1cmFuY2UJAABlAAAAAgUAAAAJZmVlQW1vdW50BQAAAAxmZWVUb1N0YWtlcnMEAAAABXN0YWtlCQAD/AAAAAQJAQAAABFxdW90ZUFzc2V0U3Rha2luZwAAAAACAAAADmxvY2tOZXV0cmlub1NQCQAETAAAAAIJAAQlAAAAAQkBAAAADnN0YWtpbmdBZGRyZXNzAAAAAAkABEwAAAACBQAAAAhBTExfRkVFUwUAAAADbmlsCQAETAAAAAIJAQAAAA9BdHRhY2hlZFBheW1lbnQAAAACCQEAAAAKcXVvdGVBc3NldAAAAAAFAAAAB19hbW91bnQFAAAAA25pbAMJAAAAAAAAAgUAAAAFc3Rha2UFAAAABXN0YWtlBAAAABBkZXBvc2l0SW5zdXJhbmNlCQAD/AAAAAQJAQAAABBpbnN1cmFuY2VBZGRyZXNzAAAAAAIAAAAHZGVwb3NpdAUAAAADbmlsCQAETAAAAAIJAQAAAA9BdHRhY2hlZFBheW1lbnQAAAACCQEAAAAKcXVvdGVBc3NldAAAAAAFAAAADmZlZVRvSW5zdXJhbmNlBQAAAANuaWwDCQAAAAAAAAIFAAAAEGRlcG9zaXRJbnN1cmFuY2UFAAAAEGRlcG9zaXRJbnN1cmFuY2UJAAROAAAAAgkABE4AAAACCQAETgAAAAIJAQAAAA51cGRhdGVQb3NpdGlvbgAAAAUJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAAA9uZXdQb3NpdGlvblNpemUFAAAAF25ld1Bvc2l0aW9uUmVtYWluTWFyZ2luBQAAABduZXdQb3NpdGlvbk9wZW5Ob3Rpb25hbAUAAAAUbmV3UG9zaXRpb25MYXRlc3RDUEYJAQAAAAl1cGRhdGVBbW0AAAAHBQAAABZxdW90ZUFzc2V0UmVzZXJ2ZUFmdGVyBQAAABViYXNlQXNzZXRSZXNlcnZlQWZ0ZXIFAAAAFnRvdGFsUG9zaXRpb25TaXplQWZ0ZXIFAAAAF2N1bXVsYXRpdmVOb3Rpb25hbEFmdGVyBQAAABlvcGVuSW50ZXJlc3ROb3Rpb25hbEFmdGVyBQAAAA50b3RhbExvbmdBZnRlcgUAAAAPdG90YWxTaG9ydEFmdGVyCQEAAAALdHJhbnNmZXJGZWUAAAABBQAAAAxmZWVUb1N0YWtlcnMJAQAAAA11cGRhdGVCYWxhbmNlAAAAAQkAAGQAAAACCQEAAAAIY2JhbGFuY2UAAAAABQAAAAdfYW1vdW50CQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABaQEAAAAJYWRkTWFyZ2luAAAAAAQAAAAKX3Jhd0Ftb3VudAgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAGYW1vdW50AwMDAwkBAAAAAiE9AAAAAggJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAHYXNzZXRJZAkBAAAACnF1b3RlQXNzZXQAAAAABgkBAAAAASEAAAABCQEAAAATcmVxdWlyZU9wZW5Qb3NpdGlvbgAAAAEJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBgkBAAAAASEAAAABCQEAAAALaW5pdGlhbGl6ZWQAAAAABgkBAAAABnBhdXNlZAAAAAAJAAACAAAAAQIAAAAcSW52YWxpZCBhZGRNYXJnaW4gcGFyYW1ldGVycwQAAAAJZmVlQW1vdW50CQEAAAAEbXVsZAAAAAIFAAAACl9yYXdBbW91bnQJAQAAAANmZWUAAAAABAAAAAdfYW1vdW50CQAAZQAAAAIFAAAACl9yYXdBbW91bnQFAAAACWZlZUFtb3VudAQAAAANJHQwMzY1MTkzNjY3MQkBAAAAC2dldFBvc2l0aW9uAAAAAQkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAD29sZFBvc2l0aW9uU2l6ZQgFAAAADSR0MDM2NTE5MzY2NzEAAAACXzEEAAAAEW9sZFBvc2l0aW9uTWFyZ2luCAUAAAANJHQwMzY1MTkzNjY3MQAAAAJfMgQAAAAXb2xkUG9zaXRpb25PcGVuTm90aW9uYWwIBQAAAA0kdDAzNjUxOTM2NjcxAAAAAl8zBAAAABRvbGRQb3NpdGlvbkxzdFVwZENQRggFAAAADSR0MDM2NTE5MzY2NzEAAAACXzQEAAAADGZlZVRvU3Rha2VycwkAAGkAAAACBQAAAAlmZWVBbW91bnQAAAAAAAAAAAIEAAAADmZlZVRvSW5zdXJhbmNlCQAAZQAAAAIFAAAACWZlZUFtb3VudAUAAAAMZmVlVG9TdGFrZXJzBAAAAAVzdGFrZQkAA/wAAAAECQEAAAARcXVvdGVBc3NldFN0YWtpbmcAAAAAAgAAAA5sb2NrTmV1dHJpbm9TUAkABEwAAAACCQAEJQAAAAEJAQAAAA5zdGFraW5nQWRkcmVzcwAAAAAJAARMAAAAAgUAAAAIQUxMX0ZFRVMFAAAAA25pbAkABEwAAAACCQEAAAAPQXR0YWNoZWRQYXltZW50AAAAAgkBAAAACnF1b3RlQXNzZXQAAAAABQAAAAdfYW1vdW50BQAAAANuaWwDCQAAAAAAAAIFAAAABXN0YWtlBQAAAAVzdGFrZQQAAAAQZGVwb3NpdEluc3VyYW5jZQkAA/wAAAAECQEAAAAQaW5zdXJhbmNlQWRkcmVzcwAAAAACAAAAB2RlcG9zaXQFAAAAA25pbAkABEwAAAACCQEAAAAPQXR0YWNoZWRQYXltZW50AAAAAgkBAAAACnF1b3RlQXNzZXQAAAAABQAAAA5mZWVUb0luc3VyYW5jZQUAAAADbmlsAwkAAAAAAAACBQAAABBkZXBvc2l0SW5zdXJhbmNlBQAAABBkZXBvc2l0SW5zdXJhbmNlCQAETgAAAAIJAAROAAAAAgkBAAAADnVwZGF0ZVBvc2l0aW9uAAAABQkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAD29sZFBvc2l0aW9uU2l6ZQkAAGQAAAACBQAAABFvbGRQb3NpdGlvbk1hcmdpbgUAAAAHX2Ftb3VudAUAAAAXb2xkUG9zaXRpb25PcGVuTm90aW9uYWwFAAAAFG9sZFBvc2l0aW9uTHN0VXBkQ1BGCQEAAAALdHJhbnNmZXJGZWUAAAABBQAAAAxmZWVUb1N0YWtlcnMJAQAAAA11cGRhdGVCYWxhbmNlAAAAAQkAAGQAAAACCQEAAAAIY2JhbGFuY2UAAAAABQAAAAdfYW1vdW50CQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABaQEAAAAMcmVtb3ZlTWFyZ2luAAAAAQAAAAdfYW1vdW50AwMDAwkAAGcAAAACAAAAAAAAAAAABQAAAAdfYW1vdW50BgkBAAAAASEAAAABCQEAAAATcmVxdWlyZU9wZW5Qb3NpdGlvbgAAAAEJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBgkBAAAAASEAAAABCQEAAAALaW5pdGlhbGl6ZWQAAAAABgkBAAAABnBhdXNlZAAAAAAJAAACAAAAAQIAAAAfSW52YWxpZCByZW1vdmVNYXJnaW4gcGFyYW1ldGVycwQAAAANJHQwMzc1OTEzNzc0MwkBAAAAC2dldFBvc2l0aW9uAAAAAQkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAD29sZFBvc2l0aW9uU2l6ZQgFAAAADSR0MDM3NTkxMzc3NDMAAAACXzEEAAAAEW9sZFBvc2l0aW9uTWFyZ2luCAUAAAANJHQwMzc1OTEzNzc0MwAAAAJfMgQAAAAXb2xkUG9zaXRpb25PcGVuTm90aW9uYWwIBQAAAA0kdDAzNzU5MTM3NzQzAAAAAl8zBAAAABRvbGRQb3NpdGlvbkxzdFVwZENQRggFAAAADSR0MDM3NTkxMzc3NDMAAAACXzQEAAAAC21hcmdpbkRlbHRhCQEAAAABLQAAAAEFAAAAB19hbW91bnQEAAAADSR0MDM3NzgwMzc5NTkJAQAAACJjYWxjUmVtYWluTWFyZ2luV2l0aEZ1bmRpbmdQYXltZW50AAAABAUAAAAPb2xkUG9zaXRpb25TaXplBQAAABFvbGRQb3NpdGlvbk1hcmdpbgUAAAAUb2xkUG9zaXRpb25Mc3RVcGRDUEYFAAAAC21hcmdpbkRlbHRhBAAAAAxyZW1haW5NYXJnaW4IBQAAAA0kdDAzNzc4MDM3OTU5AAAAAl8xBAAAAAdiYWREZWJ0CAUAAAANJHQwMzc3ODAzNzk1OQAAAAJfMgMJAQAAAAIhPQAAAAIFAAAAB2JhZERlYnQAAAAAAAAAAAAJAAACAAAAAQIAAAAdSW52YWxpZCByZW1vdmVkIG1hcmdpbiBhbW91bnQEAAAAC21hcmdpblJhdGlvCQEAAAAPY2FsY01hcmdpblJhdGlvAAAAAwUAAAAMcmVtYWluTWFyZ2luBQAAAAdiYWREZWJ0BQAAABdvbGRQb3NpdGlvbk9wZW5Ob3Rpb25hbAMJAQAAAAEhAAAAAQkBAAAAFnJlcXVpcmVNb3JlTWFyZ2luUmF0aW8AAAADBQAAAAttYXJnaW5SYXRpbwkBAAAAD2luaXRNYXJnaW5SYXRpbwAAAAAGCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAGVRvbyBtdWNoIG1hcmdpbiByZW1vdmVkOiAJAAGkAAAAAQUAAAALbWFyZ2luUmF0aW8CAAAAAyA8IAkAAaQAAAABCQEAAAAPaW5pdE1hcmdpblJhdGlvAAAAAAQAAAAHdW5zdGFrZQkAA/wAAAAECQEAAAARcXVvdGVBc3NldFN0YWtpbmcAAAAAAgAAAA51bmxvY2tOZXV0cmlubwkABEwAAAACBQAAAAdfYW1vdW50CQAETAAAAAIJAAJYAAAAAQkBAAAACnF1b3RlQXNzZXQAAAAABQAAAANuaWwFAAAAA25pbAMJAAAAAAAAAgUAAAAHdW5zdGFrZQUAAAAHdW5zdGFrZQkABE4AAAACCQAETgAAAAIJAQAAAA51cGRhdGVQb3NpdGlvbgAAAAUJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAAA9vbGRQb3NpdGlvblNpemUFAAAADHJlbWFpbk1hcmdpbgUAAAAXb2xkUG9zaXRpb25PcGVuTm90aW9uYWwJAQAAAB9sYXRlc3RDdW11bGF0aXZlUHJlbWl1bUZyYWN0aW9uAAAAAQUAAAAPb2xkUG9zaXRpb25TaXplCQEAAAAId2l0aGRyYXcAAAACCAUAAAABaQAAAAZjYWxsZXIFAAAAB19hbW91bnQJAQAAAA11cGRhdGVCYWxhbmNlAAAAAQkAAGUAAAACCQEAAAAIY2JhbGFuY2UAAAAABQAAAAdfYW1vdW50CQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAFpAQAAAA1jbG9zZVBvc2l0aW9uAAAAAAMDAwkBAAAAASEAAAABCQEAAAATcmVxdWlyZU9wZW5Qb3NpdGlvbgAAAAEJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBgkBAAAAASEAAAABCQEAAAALaW5pdGlhbGl6ZWQAAAAABgkBAAAABnBhdXNlZAAAAAAJAAACAAAAAQIAAAAgSW52YWxpZCBjbG9zZVBvc2l0aW9uIHBhcmFtZXRlcnMEAAAADSR0MDM5MDU1Mzk0MzkJAQAAABVpbnRlcm5hbENsb3NlUG9zaXRpb24AAAABCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAACeDEIBQAAAA0kdDAzOTA1NTM5NDM5AAAAAl8xBAAAAA9wb3NpdGlvbkJhZERlYnQIBQAAAA0kdDAzOTA1NTM5NDM5AAAAAl8yBAAAAAtyZWFsaXplZFBubAgFAAAADSR0MDM5MDU1Mzk0MzkAAAACXzMEAAAADW1hcmdpblRvVmF1bHQIBQAAAA0kdDAzOTA1NTM5NDM5AAAAAl80BAAAABZxdW90ZUFzc2V0UmVzZXJ2ZUFmdGVyCAUAAAANJHQwMzkwNTUzOTQzOQAAAAJfNQQAAAAVYmFzZUFzc2V0UmVzZXJ2ZUFmdGVyCAUAAAANJHQwMzkwNTUzOTQzOQAAAAJfNgQAAAAWdG90YWxQb3NpdGlvblNpemVBZnRlcggFAAAADSR0MDM5MDU1Mzk0MzkAAAACXzcEAAAAF2N1bXVsYXRpdmVOb3Rpb25hbEFmdGVyCAUAAAANJHQwMzkwNTUzOTQzOQAAAAJfOAQAAAAZb3BlbkludGVyZXN0Tm90aW9uYWxBZnRlcggFAAAADSR0MDM5MDU1Mzk0MzkAAAACXzkEAAAAAngyCAUAAAANJHQwMzkwNTUzOTQzOQAAAANfMTAEAAAADnRvdGFsTG9uZ0FmdGVyCAUAAAANJHQwMzkwNTUzOTQzOQAAAANfMTEEAAAAD3RvdGFsU2hvcnRBZnRlcggFAAAADSR0MDM5MDU1Mzk0MzkAAAADXzEyAwkAAGYAAAACBQAAAA9wb3NpdGlvbkJhZERlYnQAAAAAAAAAAAAJAAACAAAAAQIAAAAmVW5hYmxlIHRvIGNsb3NlIHBvc2l0aW9uIHdpdGggYmFkIGRlYnQEAAAADndpdGhkcmF3QW1vdW50CQEAAAADYWJzAAAAAQUAAAANbWFyZ2luVG9WYXVsdAQAAAAKYW1tQmFsYW5jZQkAAGUAAAACCQEAAAAIY2JhbGFuY2UAAAAABQAAAA53aXRoZHJhd0Ftb3VudAQAAAANJHQwMzk2NDgzOTc5MAMJAABmAAAAAgAAAAAAAAAAAAUAAAAKYW1tQmFsYW5jZQkABRQAAAACAAAAAAAAAAAACQEAAAADYWJzAAAAAQUAAAAKYW1tQmFsYW5jZQkABRQAAAACBQAAAAphbW1CYWxhbmNlAAAAAAAAAAAABAAAAA1hbW1OZXdCYWxhbmNlCAUAAAANJHQwMzk2NDgzOTc5MAAAAAJfMQQAAAAQZ2V0RnJvbUluc3VyYW5jZQgFAAAADSR0MDM5NjQ4Mzk3OTAAAAACXzIEAAAAAXgDCQAAZgAAAAIFAAAAEGdldEZyb21JbnN1cmFuY2UAAAAAAAAAAAAEAAAAEXdpdGhkcmF3SW5zdXJhbmNlCQAD/AAAAAQJAQAAABBpbnN1cmFuY2VBZGRyZXNzAAAAAAIAAAAId2l0aGRyYXcJAARMAAAAAgUAAAAQZ2V0RnJvbUluc3VyYW5jZQUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAAEXdpdGhkcmF3SW5zdXJhbmNlBQAAABF3aXRoZHJhd0luc3VyYW5jZQUAAAADbmlsCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgUAAAADbmlsAwkAAAAAAAACBQAAAAF4BQAAAAF4BAAAAAd1bnN0YWtlCQAD/AAAAAQJAQAAABFxdW90ZUFzc2V0U3Rha2luZwAAAAACAAAADnVubG9ja05ldXRyaW5vCQAETAAAAAIJAABlAAAAAgUAAAAOd2l0aGRyYXdBbW91bnQFAAAAEGdldEZyb21JbnN1cmFuY2UJAARMAAAAAgkAAlgAAAABCQEAAAAKcXVvdGVBc3NldAAAAAAFAAAAA25pbAUAAAADbmlsAwkAAAAAAAACBQAAAAd1bnN0YWtlBQAAAAd1bnN0YWtlCQAETgAAAAIJAAROAAAAAgkABE4AAAACCQEAAAAOZGVsZXRlUG9zaXRpb24AAAABCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgkBAAAACXVwZGF0ZUFtbQAAAAcFAAAAFnF1b3RlQXNzZXRSZXNlcnZlQWZ0ZXIFAAAAFWJhc2VBc3NldFJlc2VydmVBZnRlcgUAAAAWdG90YWxQb3NpdGlvblNpemVBZnRlcgUAAAAXY3VtdWxhdGl2ZU5vdGlvbmFsQWZ0ZXIFAAAAGW9wZW5JbnRlcmVzdE5vdGlvbmFsQWZ0ZXIFAAAADnRvdGFsTG9uZ0FmdGVyBQAAAA90b3RhbFNob3J0QWZ0ZXIJAQAAAAh3aXRoZHJhdwAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAAOd2l0aGRyYXdBbW91bnQJAQAAAA11cGRhdGVCYWxhbmNlAAAAAQUAAAANYW1tTmV3QmFsYW5jZQkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAWkBAAAACWxpcXVpZGF0ZQAAAAEAAAAHX3RyYWRlcgQAAAAPc3BvdE1hcmdpblJhdGlvCQEAAAAWZ2V0TWFyZ2luUmF0aW9CeU9wdGlvbgAAAAIFAAAAB190cmFkZXIFAAAAD1BOTF9PUFRJT05fU1BPVAQAAAALbWFyZ2luUmF0aW8DCQEAAAAWaXNPdmVyRmx1Y3R1YXRpb25MaW1pdAAAAAAEAAAAEW9yYWNsZU1hcmdpblJhdGlvCQEAAAAWZ2V0TWFyZ2luUmF0aW9CeU9wdGlvbgAAAAIFAAAAB190cmFkZXIFAAAAEVBOTF9PUFRJT05fT1JBQ0xFCQEAAAAEdm1heAAAAAIFAAAAD3Nwb3RNYXJnaW5SYXRpbwUAAAARb3JhY2xlTWFyZ2luUmF0aW8FAAAAD3Nwb3RNYXJnaW5SYXRpbwMDAwMJAQAAAAEhAAAAAQkBAAAAFnJlcXVpcmVNb3JlTWFyZ2luUmF0aW8AAAADBQAAAAttYXJnaW5SYXRpbwkBAAAAFm1haW50ZW5hbmNlTWFyZ2luUmF0aW8AAAAABwYJAQAAAAEhAAAAAQkBAAAAE3JlcXVpcmVPcGVuUG9zaXRpb24AAAABBQAAAAdfdHJhZGVyBgkBAAAAASEAAAABCQEAAAALaW5pdGlhbGl6ZWQAAAAABgkBAAAABnBhdXNlZAAAAAAJAAACAAAAAQIAAAATVW5hYmxlIHRvIGxpcXVpZGF0ZQQAAAANJHQwNDEzMzg0MTc1NAkBAAAAFWludGVybmFsQ2xvc2VQb3NpdGlvbgAAAAEFAAAAB190cmFkZXIEAAAAAngxCAUAAAANJHQwNDEzMzg0MTc1NAAAAAJfMQQAAAAHYmFkRGVidAgFAAAADSR0MDQxMzM4NDE3NTQAAAACXzIEAAAAAngyCAUAAAANJHQwNDEzMzg0MTc1NAAAAAJfMwQAAAACeDMIBQAAAA0kdDA0MTMzODQxNzU0AAAAAl80BAAAABZxdW90ZUFzc2V0UmVzZXJ2ZUFmdGVyCAUAAAANJHQwNDEzMzg0MTc1NAAAAAJfNQQAAAAVYmFzZUFzc2V0UmVzZXJ2ZUFmdGVyCAUAAAANJHQwNDEzMzg0MTc1NAAAAAJfNgQAAAAWdG90YWxQb3NpdGlvblNpemVBZnRlcggFAAAADSR0MDQxMzM4NDE3NTQAAAACXzcEAAAAF2N1bXVsYXRpdmVOb3Rpb25hbEFmdGVyCAUAAAANJHQwNDEzMzg0MTc1NAAAAAJfOAQAAAAZb3BlbkludGVyZXN0Tm90aW9uYWxBZnRlcggFAAAADSR0MDQxMzM4NDE3NTQAAAACXzkEAAAAGWV4Y2hhbmdlZFF1b3RlQXNzZXRBbW91bnQIBQAAAA0kdDA0MTMzODQxNzU0AAAAA18xMAQAAAAOdG90YWxMb25nQWZ0ZXIIBQAAAA0kdDA0MTMzODQxNzU0AAAAA18xMQQAAAAPdG90YWxTaG9ydEFmdGVyCAUAAAANJHQwNDEzMzg0MTc1NAAAAANfMTIEAAAAEmxpcXVpZGF0aW9uUGVuYWx0eQkBAAAABG11bGQAAAACBQAAABlleGNoYW5nZWRRdW90ZUFzc2V0QW1vdW50CQEAAAATbGlxdWlkYXRpb25GZWVSYXRpbwAAAAAEAAAAD2ZlZVRvTGlxdWlkYXRvcgkAAGkAAAACBQAAABJsaXF1aWRhdGlvblBlbmFsdHkAAAAAAAAAAAIEAAAADmZlZVRvSW5zdXJhbmNlCQAAZQAAAAIFAAAAEmxpcXVpZGF0aW9uUGVuYWx0eQUAAAAPZmVlVG9MaXF1aWRhdG9yBAAAAAphbW1CYWxhbmNlCQAAZQAAAAIJAQAAAAhjYmFsYW5jZQAAAAAFAAAAEmxpcXVpZGF0aW9uUGVuYWx0eQQAAAANJHQwNDIxNTI0MjI4NwMJAABmAAAAAgAAAAAAAAAAAAUAAAAKYW1tQmFsYW5jZQkABRQAAAACAAAAAAAAAAAACQEAAAADYWJzAAAAAQUAAAAKYW1tQmFsYW5jZQkABRQAAAACBQAAAAphbW1CYWxhbmNlAAAAAAAAAAAABAAAAA1uZXdBbW1CYWxhbmNlCAUAAAANJHQwNDIxNTI0MjI4NwAAAAJfMQQAAAARdGFrZUZyb21JbnN1cmFuY2UIBQAAAA0kdDA0MjE1MjQyMjg3AAAAAl8yBAAAAAF4AwkAAGYAAAACBQAAABF0YWtlRnJvbUluc3VyYW5jZQAAAAAAAAAAAAQAAAARd2l0aGRyYXdJbnN1cmFuY2UJAAP8AAAABAkBAAAAEGluc3VyYW5jZUFkZHJlc3MAAAAAAgAAAAh3aXRoZHJhdwkABEwAAAACBQAAABF0YWtlRnJvbUluc3VyYW5jZQUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAAEXdpdGhkcmF3SW5zdXJhbmNlBQAAABF3aXRoZHJhd0luc3VyYW5jZQUAAAADbmlsCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgUAAAADbmlsAwkAAAAAAAACBQAAAAF4BQAAAAF4BAAAAAd1bnN0YWtlCQAD/AAAAAQJAQAAABFxdW90ZUFzc2V0U3Rha2luZwAAAAACAAAADnVubG9ja05ldXRyaW5vCQAETAAAAAIJAABlAAAAAgUAAAASbGlxdWlkYXRpb25QZW5hbHR5BQAAABF0YWtlRnJvbUluc3VyYW5jZQkABEwAAAACCQACWAAAAAEJAQAAAApxdW90ZUFzc2V0AAAAAAUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAAB3Vuc3Rha2UFAAAAB3Vuc3Rha2UEAAAAEGRlcG9zaXRJbnN1cmFuY2UJAAP8AAAABAkBAAAAEGluc3VyYW5jZUFkZHJlc3MAAAAAAgAAAAdkZXBvc2l0BQAAAANuaWwJAARMAAAAAgkBAAAAD0F0dGFjaGVkUGF5bWVudAAAAAIJAQAAAApxdW90ZUFzc2V0AAAAAAUAAAAOZmVlVG9JbnN1cmFuY2UFAAAAA25pbAMJAAAAAAAAAgUAAAAQZGVwb3NpdEluc3VyYW5jZQUAAAAQZGVwb3NpdEluc3VyYW5jZQkABE4AAAACCQAETgAAAAIJAAROAAAAAgkBAAAADmRlbGV0ZVBvc2l0aW9uAAAAAQUAAAAHX3RyYWRlcgkBAAAACXVwZGF0ZUFtbQAAAAcFAAAAFnF1b3RlQXNzZXRSZXNlcnZlQWZ0ZXIFAAAAFWJhc2VBc3NldFJlc2VydmVBZnRlcgUAAAAWdG90YWxQb3NpdGlvblNpemVBZnRlcgUAAAAXY3VtdWxhdGl2ZU5vdGlvbmFsQWZ0ZXIFAAAAGW9wZW5JbnRlcmVzdE5vdGlvbmFsQWZ0ZXIFAAAADnRvdGFsTG9uZ0FmdGVyBQAAAA90b3RhbFNob3J0QWZ0ZXIJAQAAAAh3aXRoZHJhdwAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAAPZmVlVG9MaXF1aWRhdG9yCQEAAAANdXBkYXRlQmFsYW5jZQAAAAEFAAAADW5ld0FtbUJhbGFuY2UJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABaQEAAAAKcGF5RnVuZGluZwAAAAAEAAAAFWZ1bmRpbmdCbG9ja1RpbWVzdGFtcAkBAAAAGW5leHRGdW5kaW5nQmxvY2tUaW1lc3RhbXAAAAAAAwMDCQAAZgAAAAIFAAAAFWZ1bmRpbmdCbG9ja1RpbWVzdGFtcAgFAAAACWxhc3RCbG9jawAAAAl0aW1lc3RhbXAGCQEAAAABIQAAAAEJAQAAAAtpbml0aWFsaXplZAAAAAAGCQEAAAAGcGF1c2VkAAAAAAkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAACFJbnZhbGlkIGZ1bmRpbmcgYmxvY2sgdGltZXN0YW1wOiAJAAGkAAAAAQgFAAAACWxhc3RCbG9jawAAAAl0aW1lc3RhbXACAAAAAyA8IAkAAaQAAAABBQAAABVmdW5kaW5nQmxvY2tUaW1lc3RhbXAEAAAAD3VuZGVybHlpbmdQcmljZQkBAAAAEmdldE9yYWNsZVR3YXBQcmljZQAAAAAEAAAADXNwb3RUd2FwUHJpY2UJAQAAABBnZXRUd2FwU3BvdFByaWNlAAAAAAQAAAAHcHJlbWl1bQkAAGUAAAACBQAAAA1zcG90VHdhcFByaWNlBQAAAA91bmRlcmx5aW5nUHJpY2UEAAAADSR0MDQzNjYzNDQ5OTgDAwkAAAAAAAACCQEAAAAWdG90YWxTaG9ydFBvc2l0aW9uU2l6ZQAAAAAAAAAAAAAAAAAGCQAAAAAAAAIJAQAAABV0b3RhbExvbmdQb3NpdGlvblNpemUAAAAAAAAAAAAAAAAACQAFFAAAAAIAAAAAAAAAAAAAAAAAAAAAAAADCQAAZgAAAAIAAAAAAAAAAAAFAAAAB3ByZW1pdW0EAAAAFHNob3J0UHJlbWl1bUZyYWN0aW9uCQEAAAAEZGl2ZAAAAAIJAQAAAARtdWxkAAAAAgUAAAAHcHJlbWl1bQkBAAAAFGZ1bmRpbmdQZXJpb2REZWNpbWFsAAAAAAUAAAAHT05FX0RBWQQAAAATbG9uZ1ByZW1pdW1GcmFjdGlvbgkBAAAABGRpdmQAAAACCQEAAAAEbXVsZAAAAAIFAAAAFHNob3J0UHJlbWl1bUZyYWN0aW9uCQEAAAAWdG90YWxTaG9ydFBvc2l0aW9uU2l6ZQAAAAAJAQAAABV0b3RhbExvbmdQb3NpdGlvblNpemUAAAAACQAFFAAAAAIFAAAAFHNob3J0UHJlbWl1bUZyYWN0aW9uBQAAABNsb25nUHJlbWl1bUZyYWN0aW9uBAAAABNsb25nUHJlbWl1bUZyYWN0aW9uCQEAAAAEZGl2ZAAAAAIJAQAAAARtdWxkAAAAAgUAAAAHcHJlbWl1bQkBAAAAFGZ1bmRpbmdQZXJpb2REZWNpbWFsAAAAAAUAAAAHT05FX0RBWQQAAAAUc2hvcnRQcmVtaXVtRnJhY3Rpb24JAQAAAARkaXZkAAAAAgkBAAAABG11bGQAAAACBQAAABNsb25nUHJlbWl1bUZyYWN0aW9uCQEAAAAVdG90YWxMb25nUG9zaXRpb25TaXplAAAAAAkBAAAAFnRvdGFsU2hvcnRQb3NpdGlvblNpemUAAAAACQAFFAAAAAIFAAAAFHNob3J0UHJlbWl1bUZyYWN0aW9uBQAAABNsb25nUHJlbWl1bUZyYWN0aW9uBAAAABRzaG9ydFByZW1pdW1GcmFjdGlvbggFAAAADSR0MDQzNjYzNDQ5OTgAAAACXzEEAAAAE2xvbmdQcmVtaXVtRnJhY3Rpb24IBQAAAA0kdDA0MzY2MzQ0OTk4AAAAAl8yCQEAAAANdXBkYXRlRnVuZGluZwAAAAUJAABkAAAAAgUAAAAVZnVuZGluZ0Jsb2NrVGltZXN0YW1wCQEAAAAUZnVuZGluZ1BlcmlvZFNlY29uZHMAAAAACQAAZAAAAAIJAQAAACNsYXRlc3RMb25nQ3VtdWxhdGl2ZVByZW1pdW1GcmFjdGlvbgAAAAAFAAAAE2xvbmdQcmVtaXVtRnJhY3Rpb24JAABkAAAAAgkBAAAAJGxhdGVzdFNob3J0Q3VtdWxhdGl2ZVByZW1pdW1GcmFjdGlvbgAAAAAFAAAAFHNob3J0UHJlbWl1bUZyYWN0aW9uCQEAAAAEZGl2ZAAAAAIFAAAAE2xvbmdQcmVtaXVtRnJhY3Rpb24FAAAAD3VuZGVybHlpbmdQcmljZQkBAAAABGRpdmQAAAACBQAAABRzaG9ydFByZW1pdW1GcmFjdGlvbgUAAAAPdW5kZXJseWluZ1ByaWNlAAAAAWkBAAAABXZfZ2V0AAAAAQAAAAdfdHJhZGVyBAAAAA0kdDA0NTM3MzQ1NDI2CQEAAAAVaW50ZXJuYWxDbG9zZVBvc2l0aW9uAAAAAQUAAAAHX3RyYWRlcgQAAAACeDEIBQAAAA0kdDA0NTM3MzQ1NDI2AAAAAl8xBAAAAAJ4MggFAAAADSR0MDQ1MzczNDU0MjYAAAACXzIEAAAAAngzCAUAAAANJHQwNDUzNzM0NTQyNgAAAAJfMwQAAAACeDQIBQAAAA0kdDA0NTM3MzQ1NDI2AAAAAl80CQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAQAAAAFzAAAAAQUAAAACeDIJAQAAAAFzAAAAAQUAAAACeDMJAQAAAAFzAAAAAQUAAAACeDQJAQAAAAFzAAAAAQkBAAAADmdldE1hcmdpblJhdGlvAAAAAQUAAAAHX3RyYWRlcgAAAAFpAQAAACd2aWV3X2NhbGNSZW1haW5NYXJnaW5XaXRoRnVuZGluZ1BheW1lbnQAAAABAAAAB190cmFkZXIEAAAADSR0MDQ1NTczNDU2ODQJAQAAAAtnZXRQb3NpdGlvbgAAAAEFAAAAB190cmFkZXIEAAAADHBvc2l0aW9uU2l6ZQgFAAAADSR0MDQ1NTczNDU2ODQAAAACXzEEAAAADnBvc2l0aW9uTWFyZ2luCAUAAAANJHQwNDU1NzM0NTY4NAAAAAJfMgQAAAADcG9uCAUAAAANJHQwNDU1NzM0NTY4NAAAAAJfMwQAAAARcG9zaXRpb25Mc3RVcGRDUEYIBQAAAA0kdDA0NTU3MzQ1Njg0AAAAAl80BAAAAA0kdDA0NTY4OTQ1NzkwCQEAAAAjZ2V0UG9zaXRpb25Ob3Rpb25hbEFuZFVucmVhbGl6ZWRQbmwAAAACBQAAAAdfdHJhZGVyBQAAAA9QTkxfT1BUSU9OX1NQT1QEAAAAEHBvc2l0aW9uTm90aW9uYWwIBQAAAA0kdDA0NTY4OTQ1NzkwAAAAAl8xBAAAAA11bnJlYWxpemVkUG5sCAUAAAANJHQwNDU2ODk0NTc5MAAAAAJfMgQAAAANJHQwNDU3OTU0NTk3NwkBAAAAImNhbGNSZW1haW5NYXJnaW5XaXRoRnVuZGluZ1BheW1lbnQAAAAEBQAAAAxwb3NpdGlvblNpemUFAAAADnBvc2l0aW9uTWFyZ2luBQAAABFwb3NpdGlvbkxzdFVwZENQRgUAAAANdW5yZWFsaXplZFBubAQAAAAMcmVtYWluTWFyZ2luCAUAAAANJHQwNDU3OTU0NTk3NwAAAAJfMQQAAAAHYmFkRGVidAgFAAAADSR0MDQ1Nzk1NDU5NzcAAAACXzIEAAAADmZ1bmRpbmdQYXltZW50CAUAAAANJHQwNDU3OTU0NTk3NwAAAAJfMwkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkBAAAAAXMAAAABBQAAAAxyZW1haW5NYXJnaW4JAQAAAAFzAAAAAQUAAAAOZnVuZGluZ1BheW1lbnQJAQAAAAFzAAAAAQkBAAAADmdldE1hcmdpblJhdGlvAAAAAQUAAAAHX3RyYWRlcgAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACQEAAAAOYWRtaW5QdWJsaWNLZXkAAAAAOhcWyw==", "height": 2138711, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 7ssiTR4NurxWa4U69Jg7h3mz69Ncpito5BQvuCGZKKmU Next: Es1Nv9BoaMMHN6CUCckcLuH2RJURXEG3EET5mCvjs46b Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "k_ora_key"
55
66 let b = "k_ora_block_key"
77
88 let c = "k_ora"
99
1010 let d = "k_balance"
1111
1212 let e = "k_positionSize"
1313
1414 let f = "k_positionMargin"
1515
1616 let g = "k_positionOpenNotional"
1717
1818 let h = "k_positionFraction"
1919
2020 let i = "k_initialized"
2121
2222 let j = "k_paused"
2323
2424 let k = "k_fee"
2525
2626 let l = "k_fundingPeriod"
2727
2828 let m = "k_initMarginRatio"
2929
3030 let n = "k_mmr"
3131
3232 let o = "k_liquidationFeeRatio"
3333
3434 let p = "k_spreadLimit"
3535
3636 let q = "k_maxPriceImpact"
3737
3838 let r = "k_lastDataStr"
3939
4040 let s = "k_lastMinuteId"
4141
4242 let t = "k_twapDataLastCumulativePrice"
4343
4444 let u = "k_twapDataLastPrice"
4545
4646 let v = "k_twapDataPreviousMinuteId"
4747
4848 let w = "k_latestLongPremiumFraction"
4949
5050 let x = "k_latestShortPremiumFraction"
5151
5252 let y = "k_nextFundingBlockMinTimestamp"
5353
5454 let z = "k_longFundingRate"
5555
5656 let A = "k_shortFundingRate"
5757
5858 let B = "k_qtAstR"
5959
6060 let C = "k_bsAstR"
6161
6262 let D = "k_totalPositionSize"
6363
6464 let E = "k_totalLongPositionSize"
6565
6666 let F = "k_totalShortPositionSize"
6767
6868 let G = "k_cumulativeNotional"
6969
7070 let H = "k_openInterestNotional"
7171
7272 let I = "k_coordinatorAddress"
7373
7474 let J = "k_insurance_address"
7575
7676 let K = "k_admin_address"
7777
7878 let L = "k_admin_public_key"
7979
8080 let M = "k_quote_asset"
8181
8282 let N = "k_quote_staking"
8383
8484 let O = "k_staking_address"
8585
8686 func P () = valueOrErrorMessage(addressFromString(getStringValue(this, I)), "Coordinator not set")
8787
8888
8989 func Q () = addressFromString(getStringValue(P(), K))
9090
9191
9292 func R () = fromBase58String(getStringValue(P(), L))
9393
9494
9595 func S () = fromBase58String(getStringValue(P(), M))
9696
9797
9898 func T () = valueOrErrorMessage(addressFromString(getStringValue(P(), N)), "Quote asset staking not set")
9999
100100
101101 func U () = valueOrErrorMessage(addressFromString(getStringValue(P(), O)), "Insurance not set")
102102
103103
104104 func V () = valueOrErrorMessage(addressFromString(getStringValue(P(), J)), "Insurance not set")
105105
106106
107107 let W = 1
108108
109109 let X = 2
110110
111111 let Y = 60
112112
113113 let Z = 15
114114
115115 let aa = 15
116116
117117 let ab = 1000
118118
119119 let ac = (1 * (((((10 * 10) * 10) * 10) * 10) * 10))
120120
121121 let ad = (100 * ac)
122122
123123 let ae = (86400 * ac)
124124
125125 let af = 100
126126
127127 let ag = 1
128128
129129 let ah = 2
130130
131131 func ai (aj) = (toString(aj) + ",")
132132
133133
134134 func ak (aj,al) = fraction(aj, ac, al, HALFEVEN)
135135
136136
137137 func am (aj,al) = fraction(aj, al, ac, HALFEVEN)
138138
139139
140140 func an (aj) = if ((aj > 0))
141141 then aj
142142 else -(aj)
143143
144144
145145 func ao (aj,al) = if ((aj >= al))
146146 then aj
147147 else al
148148
149149
150150 func ap (aq,ar) = ((aq + "_") + ar)
151151
152152
153153 func as (at) = {
154154 func au (av,aw) = ((av + aw) + ",")
155155
156156 let ax = {
157157 let ay = at
158158 let az = size(ay)
159159 let aA = ""
160160 func aB (aC,aD) = if ((aD >= az))
161161 then aC
162162 else au(aC, ay[aD])
163163
164164 func aE (aC,aD) = if ((aD >= az))
165165 then aC
166166 else throw("List size exceeds 20")
167167
168168 aE(aB(aB(aB(aB(aB(aB(aB(aB(aB(aB(aB(aB(aB(aB(aB(aB(aB(aB(aB(aB(aA, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
169169 }
170170 let aF = dropRight(ax, 1)
171171 let aG = if ((take(aF, 1) == ","))
172172 then drop(aF, 1)
173173 else aF
174174 aG
175175 }
176176
177177
178178 func aH (aI) = split(aI, ",")
179179
180180
181181 func aJ (at,aK,aL) = if ((size(at) > aK))
182182 then (removeByIndex(at, 0) :+ aL)
183183 else (at :+ aL)
184184
185185
186186 func aM (aN) = valueOrErrorMessage(getInteger(this, aN), ("no value for " + aN))
187187
188188
189189 func aO () = aM(d)
190190
191191
192192 func aP () = aM(k)
193193
194194
195195 func aQ () = aM(m)
196196
197197
198198 func aR () = aM(B)
199199
200200
201201 func aS () = aM(C)
202202
203203
204204 func aT () = aM(D)
205205
206206
207207 func aU () = aM(G)
208208
209209
210210 func aV () = aM(H)
211211
212212
213213 func aW () = aM(y)
214214
215215
216216 func aX () = aM(l)
217217
218218
219219 func aY () = (aX() * ac)
220220
221221
222222 func aZ () = (aX() * ab)
223223
224224
225225 func ba () = aM(n)
226226
227227
228228 func bb () = aM(o)
229229
230230
231231 func bc () = aM(p)
232232
233233
234234 func bd () = aM(q)
235235
236236
237237 func be () = aM(w)
238238
239239
240240 func bf () = aM(x)
241241
242242
243243 func bg () = aM(F)
244244
245245
246246 func bh () = aM(E)
247247
248248
249249 func bi (bj,bk,bl) = {
250250 let bm = (bj - bk)
251251 if (if (bl)
252252 then (0 > bm)
253253 else false)
254254 then throw("Invalid margin")
255255 else if (if (!(bl))
256256 then (bm >= 0)
257257 else false)
258258 then throw("Invalid margin")
259259 else true
260260 }
261261
262262
263263 func bn (bo) = if ((bo == 0))
264264 then throw("Should not be called with _positionSize == 0")
265265 else if ((bo > 0))
266266 then be()
267267 else bf()
268268
269269
270270 func bp (bq) = {
271271 let br = getInteger(this, ap(e, bq))
272272 let bs = br
273273 if ($isInstanceOf(bs, "Int"))
274274 then {
275275 let bt = bs
276276 $Tuple4(bt, getIntegerValue(this, ap(f, bq)), getIntegerValue(this, ap(g, bq)), getIntegerValue(this, ap(h, bq)))
277277 }
278278 else $Tuple4(0, 0, 0, 0)
279279 }
280280
281281
282282 func bu (bq) = if ((bp(bq)._1 == 0))
283283 then throw("No open position")
284284 else true
285285
286286
287287 func bv () = valueOrElse(getBoolean(this, i), false)
288288
289289
290290 func bw () = valueOrElse(getBoolean(this, j), false)
291291
292292
293293 func bx (by,bz,bA) = if (by)
294294 then {
295295 let bB = (aS() - bA)
296296 if ((0 >= bB))
297297 then throw("Tx lead to base asset reserve <= 0, revert")
298298 else $Tuple4((aR() + bz), bB, (aT() + bA), (aU() + bz))
299299 }
300300 else {
301301 let bC = (aR() - bz)
302302 if ((0 >= bC))
303303 then throw("Tx lead to base quote reserve <= 0, revert")
304304 else $Tuple4(bC, (aS() + bA), (aT() - bA), (aU() - bz))
305305 }
306306
307307
308308 func bD (by,bz) = {
309309 let bE = aR()
310310 let bF = aS()
311311 let bG = ak(bE, bF)
312312 let bH = am(bz, bG)
313313 let aN = am(bE, bF)
314314 let bI = if (by)
315315 then (bE + bz)
316316 else (bE - bz)
317317 let bJ = ak(aN, bI)
318318 let bK = an((bJ - bF))
319319 let bL = if (by)
320320 then bK
321321 else -(bK)
322322 let bM = ((bH - bK) / bH)
323323 let bN = bd()
324324 if ((bM > bN))
325325 then throw(((("Price impact " + toString(bM)) + " > max price impact ") + toString(bN)))
326326 else {
327327 let bO = bx(by, bz, bK)
328328 let bP = bO._1
329329 let bQ = bO._2
330330 let bR = bO._3
331331 let bS = bO._4
332332 $Tuple5(bL, bP, bQ, bR, bS)
333333 }
334334 }
335335
336336
337337 func bT (bU,bV,bW,bX) = {
338338 let bY = if ((bU != 0))
339339 then {
340340 let bZ = bn(bU)
341341 am((bZ - bW), bU)
342342 }
343343 else 0
344344 let ca = ((bX - bY) + bV)
345345 let cb = if ((0 > ca))
346346 then $Tuple2(0, an(ca))
347347 else $Tuple2(an(ca), 0)
348348 let cc = cb._1
349349 let cd = cb._2
350350 $Tuple3(cc, cd, bY)
351351 }
352352
353353
354354 func ce (by,bA) = {
355355 let cf = aR()
356356 let cg = aS()
357357 if ((bA == 0))
358358 then throw("Invalid base asset amount")
359359 else {
360360 let aN = am(cf, cg)
361361 let ch = if (by)
362362 then (cg + bA)
363363 else (cg - bA)
364364 let ci = ak(aN, ch)
365365 let cj = an((ci - cf))
366366 let ck = bx(!(by), cj, bA)
367367 let bP = ck._1
368368 let bQ = ck._2
369369 let bR = ck._3
370370 let bS = ck._4
371371 $Tuple7(cj, bP, bQ, bR, bS, (bh() - (if (by)
372372 then an(bA)
373373 else 0)), (bg() - (if (!(by))
374374 then an(bA)
375375 else 0)))
376376 }
377377 }
378378
379379
380380 func cl () = {
381381 let cm = valueOrErrorMessage(addressFromString(getStringValue(this, c)), "")
382382 let cn = getStringValue(this, a)
383383 let co = getStringValue(this, b)
384384 let cp = getIntegerValue(cm, cn)
385385 cp
386386 }
387387
388388
389389 func cq () = {
390390 let cf = aR()
391391 let cg = aS()
392392 ak(cf, cg)
393393 }
394394
395395
396396 func cr () = {
397397 let cs = cl()
398398 let ct = cq()
399399 (ak(an((cs - ct)), cs) > bc())
400400 }
401401
402402
403403 func cu (bq,cv) = {
404404 let cw = bp(bq)
405405 let bt = cw._1
406406 let cx = cw._2
407407 let cy = cw._3
408408 let cz = cw._4
409409 let cA = an(bt)
410410 if ((cA == 0))
411411 then throw("Invalid position size")
412412 else {
413413 let cB = (0 > bt)
414414 let cC = if ((cv == ag))
415415 then {
416416 let cD = ce(!(cB), cA)
417417 let cE = cD._1
418418 let cF = cD._2
419419 let cG = cD._3
420420 let cH = cD._4
421421 cE
422422 }
423423 else (cA * cl())
424424 let cI = if (cB)
425425 then (cy - cC)
426426 else (cC - cy)
427427 $Tuple2(cC, cI)
428428 }
429429 }
430430
431431
432432 func cJ (cK,cL,cM) = ak((cK - cL), cM)
433433
434434
435435 func cN (bq,cv) = {
436436 let cO = bp(bq)
437437 let bt = cO._1
438438 let cx = cO._2
439439 let cP = cO._3
440440 let cz = cO._4
441441 let cQ = cu(bq, cv)
442442 let cC = cQ._1
443443 let cI = cQ._2
444444 let cR = bT(bt, cx, cz, cI)
445445 let cc = cR._1
446446 let cd = cR._2
447447 cJ(cc, cd, cC)
448448 }
449449
450450
451451 func cS (bq) = cN(bq, ag)
452452
453453
454454 func cT (bq) = {
455455 let cU = bp(bq)
456456 let bt = cU._1
457457 let cx = cU._2
458458 let cy = cU._3
459459 let cz = cU._4
460460 let cV = cu(bq, ag)
461461 let cF = cV._1
462462 let cI = cV._2
463463 let cW = bT(bt, cx, cz, cI)
464464 let cc = cW._1
465465 let cd = cW._2
466466 let cX = -(bt)
467467 let cY = cI
468468 let cZ = -(cc)
469469 let da = ce((bt > 0), an(bt))
470470 let db = da._1
471471 let bI = da._2
472472 let bJ = da._3
473473 let dc = da._4
474474 let dd = da._5
475475 let de = da._6
476476 let df = da._7
477477 let dg = (aV() - cy)
478478 $Tuple12(cX, cd, cY, cZ, bI, bJ, dc, dd, dg, db, de, df)
479479 }
480480
481481
482482 func dh () = {
483483 let di = ((lastBlock.timestamp / 1000) / 60)
484484 let dj = (di - Z)
485485 let dk = valueOrElse(getString(this, r), "")
486486 let dl = split(dk, ",")
487487 func dm (av,dn) = if ((dj >= parseIntValue(dn)))
488488 then (av :+ parseIntValue(dn))
489489 else av
490490
491491 let do = {
492492 let ay = dl
493493 let az = size(ay)
494494 let aA = nil
495495 func aB (aC,aD) = if ((aD >= az))
496496 then aC
497497 else dm(aC, ay[aD])
498498
499499 func aE (aC,aD) = if ((aD >= az))
500500 then aC
501501 else throw("List size exceeds 20")
502502
503503 aE(aB(aB(aB(aB(aB(aB(aB(aB(aB(aB(aB(aB(aB(aB(aB(aB(aB(aB(aB(aB(aA, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
504504 }
505505 let dp = if ((size(do) > 0))
506506 then max(do)
507507 else parseIntValue(dl[0])
508508 let dq = valueOrElse(getInteger(this, s), 0)
509509 let dr = valueOrElse(getInteger(this, ((t + "_") + toString(dq))), 0)
510510 let ds = valueOrElse(getInteger(this, ((u + "_") + toString(dq))), 0)
511511 let dt = (dr + ((di - dq) * ds))
512512 let du = valueOrElse(getInteger(this, ((t + "_") + toString(dp))), 0)
513513 let dv = valueOrElse(getInteger(this, ((u + "_") + toString(dp))), 0)
514514 let dw = (du + ((dj - dp) * dv))
515515 ((dt - dw) / Z)
516516 }
517517
518518
519519 func dx (dy,dz,dA,dB,dC,dD,dE) = [IntegerEntry(m, dy), IntegerEntry(n, dz), IntegerEntry(o, dA), IntegerEntry(l, dB), IntegerEntry(k, dC), IntegerEntry(p, dD), IntegerEntry(q, dE)]
520520
521521
522522 func dF (dG,dH,dI,dJ,dK) = [IntegerEntry(y, dG), IntegerEntry(w, dH), IntegerEntry(x, dI), IntegerEntry(z, dJ), IntegerEntry(A, dK)]
523523
524524
525525 func dL (ar,dM,dN,dO,bZ) = [IntegerEntry(ap(e, ar), dM), IntegerEntry(ap(f, ar), dN), IntegerEntry(ap(g, ar), dO), IntegerEntry(ap(h, ar), bZ)]
526526
527527
528528 func dP (dQ) = {
529529 let di = ((lastBlock.timestamp / 1000) / 60)
530530 let dR = valueOrElse(getInteger(this, s), 0)
531531 if ((dR > di))
532532 then throw("TWAP out-of-order")
533533 else {
534534 let dq = if ((dR == 0))
535535 then di
536536 else dR
537537 if ((di > dR))
538538 then {
539539 let dS = valueOrElse(getInteger(this, ((t + "_") + toString(dR))), 0)
540540 let dT = valueOrElse(getInteger(this, ((u + "_") + toString(dR))), dQ)
541541 let dU = (dS + ((di - dq) * dT))
542542 let dl = aJ(aH(valueOrElse(getString(this, r), "")), Z, toString(di))
543543 [IntegerEntry(ap(t, toString(di)), dU), IntegerEntry(ap(u, toString(di)), dQ), IntegerEntry(ap(v, toString(di)), dR), IntegerEntry(s, di), StringEntry(r, as(dl))]
544544 }
545545 else {
546546 let dV = valueOrElse(getInteger(this, ap(v, toString(di))), 0)
547547 let dS = valueOrElse(getInteger(this, ap(t, toString(dV))), 0)
548548 let dT = valueOrElse(getInteger(this, ap(u, toString(dV))), dQ)
549549 let dU = (dS + ((di - dV) * dT))
550550 [IntegerEntry(ap(t, toString(di)), dU), IntegerEntry(ap(u, toString(di)), dQ)]
551551 }
552552 }
553553 }
554554
555555
556556 func dW (bE,bF,dX,dY,dZ,ea,eb) = if (((ea - eb) != dX))
557557 then throw(((((("Invalid AMM state data: " + toString(ea)) + " + ") + toString(eb)) + " != ") + toString(dX)))
558558 else ([IntegerEntry(B, bE), IntegerEntry(C, bF), IntegerEntry(D, dX), IntegerEntry(G, dY), IntegerEntry(H, dZ), IntegerEntry(E, ea), IntegerEntry(F, eb)] ++ dP(ak(bE, bF)))
559559
560560
561561 func ec (ar) = [DeleteEntry(ap(e, ar)), DeleteEntry(ap(f, ar)), DeleteEntry(ap(g, ar)), DeleteEntry(ap(h, ar))]
562562
563563
564564 func ed (ar,ee) = {
565565 let ef = assetBalance(this, S())
566566 if ((ee > ef))
567567 then throw(((("Unable to withdraw " + toString(ee)) + " from contract balance ") + toString(ef)))
568568 else [ScriptTransfer(ar, ee, S())]
569569 }
570570
571571
572572 func eg (eh) = if ((0 > eh))
573573 then throw("Balance")
574574 else [IntegerEntry(d, eh)]
575575
576576
577577 func ei (eh) = [ScriptTransfer(U(), eh, S())]
578578
579579
580580 @Callable(eh)
581581 func pause () = if ((eh.caller != Q()))
582582 then throw("Invalid togglePause params")
583583 else [BooleanEntry(j, true)]
584584
585585
586586
587587 @Callable(eh)
588588 func unpause () = if ((eh.caller != Q()))
589589 then throw("Invalid togglePause params")
590590 else [BooleanEntry(j, false)]
591591
592592
593593
594594 @Callable(eh)
595595 func changeSettings (dy,dz,dA,dB,dC,dD,dE) = if ((eh.caller != Q()))
596596 then throw("Invalid changeSettings params")
597597 else dx(dy, dz, dA, dB, dC, dD, dE)
598598
599599
600600
601601 @Callable(eh)
602602 func initialize (bE,bF,dB,dy,dz,dA,dC,ej,ek,el,dD,dE) = if (if (if (if (if (if (if (if (if (if ((0 >= bE))
603603 then true
604604 else (0 >= bF))
605605 then true
606606 else (0 >= dB))
607607 then true
608608 else (0 >= dy))
609609 then true
610610 else (0 >= dz))
611611 then true
612612 else (0 >= dA))
613613 then true
614614 else (0 >= dC))
615615 then true
616616 else (0 >= dD))
617617 then true
618618 else (0 >= dE))
619619 then true
620620 else bv())
621621 then throw("Invalid initialize parameters")
622622 else ((((dW(bE, bF, 0, 0, 0, 0, 0) ++ dx(dy, dz, dA, dB, dC, dD, dE)) ++ dF((lastBlock.timestamp + dB), 0, 0, 0, 0)) ++ eg(0)) ++ [BooleanEntry(i, true), StringEntry(c, ej), StringEntry(a, ek), StringEntry(I, el)])
623623
624624
625625
626626 @Callable(eh)
627627 func decreasePosition (ee,em,en) = if (if (if (if (if (if ((0 >= ee))
628628 then true
629629 else if (((1 * ac) > em))
630630 then true
631631 else (em > (3 * ac)))
632632 then true
633633 else !(bv()))
634634 then true
635635 else !(bi(ak(ac, em), aQ(), true)))
636636 then true
637637 else !(bu(toString(eh.caller))))
638638 then true
639639 else bw())
640640 then throw("Invalid decreasePosition parameters")
641641 else {
642642 let eo = bp(toString(eh.caller))
643643 let ep = eo._1
644644 let eq = eo._2
645645 let er = eo._3
646646 let es = eo._4
647647 let et = if ((ep > 0))
648648 then X
649649 else W
650650 let eu = (et == W)
651651 let ev = am(ee, em)
652652 let ew = cu(toString(eh.caller), ag)
653653 let ex = ew._1
654654 let cI = ew._2
655655 let ey = if ((ex > ev))
656656 then {
657657 let ez = bD(eu, ev)
658658 let cX = ez._1
659659 let bI = ez._2
660660 let bJ = ez._3
661661 let dc = ez._4
662662 let dd = ez._5
663663 let eA = an(cX)
664664 if (if ((en != 0))
665665 then (en > eA)
666666 else false)
667667 then throw(((("Too little base asset exchanged, got " + toString(eA)) + " expected ") + toString(en)))
668668 else {
669669 let cY = ak(am(cI, eA), an(ep))
670670 let eB = bT(ep, eq, es, cY)
671671 let cc = eB._1
672672 let cd = eB._2
673673 let bY = eB._3
674674 let db = ev
675675 let eC = (cI - cY)
676676 let eD = if ((ep > 0))
677677 then ((ex - db) - eC)
678678 else ((eC + ex) - db)
679679 let eE = (ep + cX)
680680 $Tuple11(eE, cc, an(eD), bn(eE), bJ, bI, dc, dd, (aV() - ev), (bh() - (if ((eE > 0))
681681 then an(cX)
682682 else 0)), (bg() - (if ((0 > eE))
683683 then an(cX)
684684 else 0)))
685685 }
686686 }
687687 else throw("Close position first")
688688 let eE = ey._1
689689 let eF = ey._2
690690 let eG = ey._3
691691 let eH = ey._4
692692 let bJ = ey._5
693693 let bI = ey._6
694694 let dc = ey._7
695695 let dd = ey._8
696696 let dg = ey._9
697697 let de = ey._10
698698 let df = ey._11
699699 (dL(toString(eh.caller), eE, eF, eG, eH) ++ dW(bI, bJ, dc, dd, dg, de, df))
700700 }
701701
702702
703703
704704 @Callable(eh)
705705 func increasePosition (et,em,en) = {
706706 let eI = eh.payments[0].amount
707707 if (if (if (if (if (if (if (if ((et != W))
708708 then (et != X)
709709 else false)
710710 then true
711711 else (0 >= eI))
712712 then true
713713 else if (((1 * ac) > em))
714714 then true
715715 else (em > (3 * ac)))
716716 then true
717717 else !(bv()))
718718 then true
719719 else (eh.payments[0].assetId != S()))
720720 then true
721721 else !(bi(ak(ac, em), aQ(), true)))
722722 then true
723723 else bw())
724724 then throw("Invalid increasePosition parameters")
725725 else {
726726 let eJ = am(eI, aP())
727727 let ee = (eI - eJ)
728728 let eK = bp(toString(eh.caller))
729729 let ep = eK._1
730730 let eq = eK._2
731731 let er = eK._3
732732 let es = eK._4
733733 let eL = (ep == 0)
734734 let eM = if ((ep > 0))
735735 then (et == W)
736736 else (et == X)
737737 let eN = if (!(eL))
738738 then eM
739739 else false
740740 let eu = (et == W)
741741 let eO = if (if (eL)
742742 then true
743743 else eN)
744744 then {
745745 let ev = am(ee, em)
746746 let eP = bD(eu, ev)
747747 let bL = eP._1
748748 let bI = eP._2
749749 let bJ = eP._3
750750 let dc = eP._4
751751 let dd = eP._5
752752 if (if ((en != 0))
753753 then (en > an(bL))
754754 else false)
755755 then throw(((("Limit error: " + toString(an(bL))) + " < ") + toString(en)))
756756 else {
757757 let eE = (ep + bL)
758758 let eQ = ak(ev, em)
759759 let eR = bT(ep, eq, es, eQ)
760760 let cc = eR._1
761761 let cF = eR._2
762762 let cG = eR._3
763763 $Tuple11(eE, cc, (er + ev), bn(eE), bJ, bI, dc, dd, (aV() + ev), (bh() + (if ((eE > 0))
764764 then an(bL)
765765 else 0)), (bg() + (if ((0 > eE))
766766 then an(bL)
767767 else 0)))
768768 }
769769 }
770770 else {
771771 let ev = am(ee, em)
772772 let eS = cu(toString(eh.caller), ag)
773773 let ex = eS._1
774774 let cI = eS._2
775775 if ((ex > ev))
776776 then throw("Use decreasePosition to decrease position size")
777777 else throw("Close position first")
778778 }
779779 let eE = eO._1
780780 let eF = eO._2
781781 let eG = eO._3
782782 let eH = eO._4
783783 let bJ = eO._5
784784 let bI = eO._6
785785 let dc = eO._7
786786 let dd = eO._8
787787 let dg = eO._9
788788 let de = eO._10
789789 let df = eO._11
790790 let eT = (eJ / 2)
791791 let eU = (eJ - eT)
792792 let eV = invoke(T(), "lockNeutrinoSP", [toString(U()), af], [AttachedPayment(S(), ee)])
793793 if ((eV == eV))
794794 then {
795795 let eW = invoke(V(), "deposit", nil, [AttachedPayment(S(), eU)])
796796 if ((eW == eW))
797797 then (((dL(toString(eh.caller), eE, eF, eG, eH) ++ dW(bI, bJ, dc, dd, dg, de, df)) ++ ei(eT)) ++ eg((aO() + ee)))
798798 else throw("Strict value is not equal to itself.")
799799 }
800800 else throw("Strict value is not equal to itself.")
801801 }
802802 }
803803
804804
805805
806806 @Callable(eh)
807807 func addMargin () = {
808808 let eI = eh.payments[0].amount
809809 if (if (if (if ((eh.payments[0].assetId != S()))
810810 then true
811811 else !(bu(toString(eh.caller))))
812812 then true
813813 else !(bv()))
814814 then true
815815 else bw())
816816 then throw("Invalid addMargin parameters")
817817 else {
818818 let eJ = am(eI, aP())
819819 let ee = (eI - eJ)
820820 let eX = bp(toString(eh.caller))
821821 let ep = eX._1
822822 let eq = eX._2
823823 let er = eX._3
824824 let es = eX._4
825825 let eT = (eJ / 2)
826826 let eU = (eJ - eT)
827827 let eV = invoke(T(), "lockNeutrinoSP", [toString(U()), af], [AttachedPayment(S(), ee)])
828828 if ((eV == eV))
829829 then {
830830 let eW = invoke(V(), "deposit", nil, [AttachedPayment(S(), eU)])
831831 if ((eW == eW))
832832 then ((dL(toString(eh.caller), ep, (eq + ee), er, es) ++ ei(eT)) ++ eg((aO() + ee)))
833833 else throw("Strict value is not equal to itself.")
834834 }
835835 else throw("Strict value is not equal to itself.")
836836 }
837837 }
838838
839839
840840
841841 @Callable(eh)
842842 func removeMargin (ee) = if (if (if (if ((0 >= ee))
843843 then true
844844 else !(bu(toString(eh.caller))))
845845 then true
846846 else !(bv()))
847847 then true
848848 else bw())
849849 then throw("Invalid removeMargin parameters")
850850 else {
851851 let eY = bp(toString(eh.caller))
852852 let ep = eY._1
853853 let eq = eY._2
854854 let er = eY._3
855855 let es = eY._4
856856 let eZ = -(ee)
857857 let fa = bT(ep, eq, es, eZ)
858858 let cc = fa._1
859859 let cd = fa._2
860860 if ((cd != 0))
861861 then throw("Invalid removed margin amount")
862862 else {
863863 let fb = cJ(cc, cd, er)
864864 if (!(bi(fb, aQ(), true)))
865865 then throw(((("Too much margin removed: " + toString(fb)) + " < ") + toString(aQ())))
866866 else {
867867 let fc = invoke(T(), "unlockNeutrino", [ee, toBase58String(S())], nil)
868868 if ((fc == fc))
869869 then ((dL(toString(eh.caller), ep, cc, er, bn(ep)) ++ ed(eh.caller, ee)) ++ eg((aO() - ee)))
870870 else throw("Strict value is not equal to itself.")
871871 }
872872 }
873873 }
874874
875875
876876
877877 @Callable(eh)
878878 func closePosition () = if (if (if (!(bu(toString(eh.caller))))
879879 then true
880880 else !(bv()))
881881 then true
882882 else bw())
883883 then throw("Invalid closePosition parameters")
884884 else {
885885 let fd = cT(toString(eh.caller))
886886 let cF = fd._1
887887 let fe = fd._2
888888 let cY = fd._3
889889 let cZ = fd._4
890890 let bI = fd._5
891891 let bJ = fd._6
892892 let dc = fd._7
893893 let dd = fd._8
894894 let dg = fd._9
895895 let cG = fd._10
896896 let de = fd._11
897897 let df = fd._12
898898 if ((fe > 0))
899899 then throw("Unable to close position with bad debt")
900900 else {
901901 let ff = an(cZ)
902902 let fg = (aO() - ff)
903903 let fh = if ((0 > fg))
904904 then $Tuple2(0, an(fg))
905905 else $Tuple2(fg, 0)
906906 let fi = fh._1
907907 let fj = fh._2
908908 let fk = if ((fj > 0))
909909 then {
910910 let fl = invoke(V(), "withdraw", [fj], nil)
911911 if ((fl == fl))
912912 then nil
913913 else throw("Strict value is not equal to itself.")
914914 }
915915 else nil
916916 if ((fk == fk))
917917 then {
918918 let fc = invoke(T(), "unlockNeutrino", [(ff - fj), toBase58String(S())], nil)
919919 if ((fc == fc))
920920 then (((ec(toString(eh.caller)) ++ dW(bI, bJ, dc, dd, dg, de, df)) ++ ed(eh.caller, ff)) ++ eg(fi))
921921 else throw("Strict value is not equal to itself.")
922922 }
923923 else throw("Strict value is not equal to itself.")
924924 }
925925 }
926926
927927
928928
929929 @Callable(eh)
930930 func liquidate (bq) = {
931931 let fm = cN(bq, ag)
932932 let fb = if (cr())
933933 then {
934934 let fn = cN(bq, ah)
935935 ao(fm, fn)
936936 }
937937 else fm
938938 if (if (if (if (!(bi(fb, ba(), false)))
939939 then true
940940 else !(bu(bq)))
941941 then true
942942 else !(bv()))
943943 then true
944944 else bw())
945945 then throw("Unable to liquidate")
946946 else {
947947 let fo = cT(bq)
948948 let cF = fo._1
949949 let cd = fo._2
950950 let cG = fo._3
951951 let cH = fo._4
952952 let bI = fo._5
953953 let bJ = fo._6
954954 let dc = fo._7
955955 let dd = fo._8
956956 let dg = fo._9
957957 let db = fo._10
958958 let de = fo._11
959959 let df = fo._12
960960 let fp = am(db, bb())
961961 let fq = (fp / 2)
962962 let eU = (fp - fq)
963963 let fg = (aO() - fp)
964964 let fr = if ((0 > fg))
965965 then $Tuple2(0, an(fg))
966966 else $Tuple2(fg, 0)
967967 let fs = fr._1
968968 let ft = fr._2
969969 let fk = if ((ft > 0))
970970 then {
971971 let fl = invoke(V(), "withdraw", [ft], nil)
972972 if ((fl == fl))
973973 then nil
974974 else throw("Strict value is not equal to itself.")
975975 }
976976 else nil
977977 if ((fk == fk))
978978 then {
979979 let fc = invoke(T(), "unlockNeutrino", [(fp - ft), toBase58String(S())], nil)
980980 if ((fc == fc))
981981 then {
982982 let eW = invoke(V(), "deposit", nil, [AttachedPayment(S(), eU)])
983983 if ((eW == eW))
984984 then (((ec(bq) ++ dW(bI, bJ, dc, dd, dg, de, df)) ++ ed(eh.caller, fq)) ++ eg(fs))
985985 else throw("Strict value is not equal to itself.")
986986 }
987987 else throw("Strict value is not equal to itself.")
988988 }
989989 else throw("Strict value is not equal to itself.")
990990 }
991991 }
992992
993993
994994
995995 @Callable(eh)
996996 func payFunding () = {
997997 let fu = aW()
998998 if (if (if ((fu > lastBlock.timestamp))
999999 then true
10001000 else !(bv()))
10011001 then true
10021002 else bw())
10031003 then throw(((("Invalid funding block timestamp: " + toString(lastBlock.timestamp)) + " < ") + toString(fu)))
10041004 else {
10051005 let fv = cl()
10061006 let fw = dh()
10071007 let fx = (fw - fv)
10081008 let fy = if (if ((bg() == 0))
10091009 then true
10101010 else (bh() == 0))
10111011 then $Tuple2(0, 0)
10121012 else if ((0 > fx))
10131013 then {
10141014 let fz = ak(am(fx, aY()), ae)
10151015 let fA = ak(am(fz, bg()), bh())
10161016 $Tuple2(fz, fA)
10171017 }
10181018 else {
10191019 let fA = ak(am(fx, aY()), ae)
10201020 let fz = ak(am(fA, bh()), bg())
10211021 $Tuple2(fz, fA)
10221022 }
10231023 let fz = fy._1
10241024 let fA = fy._2
10251025 dF((fu + aZ()), (be() + fA), (bf() + fz), ak(fA, fv), ak(fz, fv))
10261026 }
10271027 }
10281028
10291029
10301030
10311031 @Callable(eh)
10321032 func v_get (bq) = {
10331033 let fB = cT(bq)
10341034 let cF = fB._1
10351035 let cG = fB._2
10361036 let cH = fB._3
10371037 let fC = fB._4
10381038 throw((((ai(cG) + ai(cH)) + ai(fC)) + ai(cS(bq))))
10391039 }
10401040
10411041
10421042
10431043 @Callable(eh)
10441044 func view_calcRemainMarginWithFundingPayment (bq) = {
10451045 let fD = bp(bq)
10461046 let bt = fD._1
10471047 let cx = fD._2
10481048 let cP = fD._3
10491049 let cz = fD._4
10501050 let fE = cu(bq, ag)
10511051 let cC = fE._1
10521052 let cI = fE._2
10531053 let fF = bT(bt, cx, cz, cI)
10541054 let cc = fF._1
10551055 let cd = fF._2
10561056 let bY = fF._3
10571057 throw(((ai(cc) + ai(bY)) + ai(cS(bq))))
10581058 }
10591059
10601060
10611061 @Verifier(fG)
10621062 func fH () = sigVerify(fG.bodyBytes, fG.proofs[0], R())
10631063

github/deemru/w8io/c3f4982 
76.63 ms