From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpbg154.qq.com (smtpbg154.qq.com [15.184.224.54]) by sourceware.org (Postfix) with ESMTPS id D542F3858D35 for ; Wed, 28 Jun 2023 22:56:44 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org D542F3858D35 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=rivai.ai Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=rivai.ai X-QQ-mid: bizesmtp70t1687992998t094uxjv Received: from TABLET-POE6JQHH ( [115.44.118.116]) by bizesmtp.qq.com (ESMTP) with id ; Thu, 29 Jun 2023 06:56:36 +0800 (CST) X-QQ-SSF: 01400000000000G0S000000A0000000 X-QQ-FEAT: YHTLUubWl2665Yl07zFGcwDXzf4jzHvLDDm4ESfRwJrWjYYs1k2JH0M3r7ilr G9zaUUg3X4IvWKUfLTCmU/JJCmNt5X/tXy9h6koD81kXZSPfCkIHNeMqBW6Y2Gt2IFw1sGv 6re0VflrvmBRghWXV9BXNwmeELFY1HrrHnnm8vLY93oWzU99/JYEK97sTaabW7ruOXW+B8E k/dF4atwxmLU/QSa6a8xENoK9p/iG5ZC1DsW4JNkPOOWEjRPBYe4GG8L1cXqh+V7UEcanJI CqsipXo2jebwwXc1/BTAfFZwjiC9vTJQ7QBn+A2zO7cMyvAWIImpO/bvbPshDPUcE7cJaKB hkwCrXQvopmjt0jBwYLGp37GKQyJgUEbV+ifzL44CqYjzSfsLfEtVVyrXxZmiuP9oytdW3T EaZG5csaEBJCHGPimbvgXIPxc2etmyRR X-QQ-GoodBg: 2 X-BIZMAIL-ID: 9846685690710687063 Date: Thu, 29 Jun 2023 06:56:36 +0800 From: =?UTF-8?B?6ZKf5bGF5ZOy?= To: "Jeff Law" , gcc-patches Cc: kito.cheng , kito.cheng , palmer , palmer , rdapp.gcc Subject: Re: Re: [PATCH] RISC-V: Support vfwnmacc/vfwmsac/vfwnmsac combine lowering References: <20230628115559.116166-1-juzhe.zhong@rivai.ai>, <2abb91f5-36e0-5024-9b15-a45f8c40b4fe@gmail.com>, <7A18980BD9E65F8A+202306290610400062820@rivai.ai>, X-Priority: 3 X-GUID: 99957891-CA33-4F24-B6AC-746F88FEACDB X-Has-Attach: yes X-Mailer: Foxmail 7.2.23.121[cn] Mime-Version: 1.0 Message-ID: Content-Type: multipart/mixed; boundary="----=_001_NextPart186402102066_=----" X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:rivai.ai:qybglogicsvrgz:qybglogicsvrgz7a-one-0 X-Spam-Status: No, score=-3.4 required=5.0 tests=BAYES_00,BODY_8BITS,HTML_MESSAGE,KAM_DMARC_STATUS,OBFU_TEXT_ATTACH,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: This is a multi-part message in MIME format. ------=_001_NextPart186402102066_=---- Content-Type: multipart/alternative; boundary="----=_002_NextPart174527661778_=----" ------=_002_NextPart174527661778_=---- Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 DQoNCg0KDQpqdXpoZS56aG9uZ0ByaXZhaS5haQ0KIA0KRnJvbTogSmVmZiBM YXcNCkRhdGU6IDIwMjMtMDYtMjkgMDY6NDMNClRvOiDpkp/lsYXlk7I7IGdj Yy1wYXRjaGVzDQpDQzoga2l0by5jaGVuZzsga2l0by5jaGVuZzsgcGFsbWVy OyBwYWxtZXI7IHJkYXBwLmdjYw0KU3ViamVjdDogUmU6IFtQQVRDSF0gUklT Qy1WOiBTdXBwb3J0IHZmd25tYWNjL3Zmd21zYWMvdmZ3bm1zYWMgY29tYmlu ZSBsb3dlcmluZw0KIA0KIA0KT24gNi8yOC8yMyAxNjoxMCwg6ZKf5bGF5ZOy IHdyb3RlOg0KPiBTdXJlLg0KPiANCj4gaHR0cHM6Ly9nb2Rib2x0Lm9yZy96 Lzg4NTdLelRubyA8aHR0cHM6Ly9nb2Rib2x0Lm9yZy96Lzg4NTdLelRubz4N Cj4gDQo+IEZhaWxlZCB0byBtYXRjaCB0aGlzIGluc3RydWN0aW9uOg0KPiAo c2V0IChyZWc6Vk54MkRGIDEzNCBbIHZlY3RfXzMxLjQ3IF0pDQo+ICAgICAg KGZtYTpWTngyREYgKG5lZzpWTngyREYgKGZsb2F0X2V4dGVuZDpWTngyREYg KHJlZzpWTngyU0YgMTM2IFsgDQo+IHZlY3RfXzI4LjQ0IF0pKSkNCj4gICAg ICAgICAgKHJlZzpWTngyREYgMTUwIFsgdmVjdF9fOC4xMiBdKQ0KPiAgICAg ICAgICAocmVnOlZOeDJERiAxNzEgWyB2ZWN0X18yOS40NSBdKSkpDQpQbGVh c2UgYXR0YWNoIHRoZSBmdWxsIGR1bXAuICBJIHdvdWxkIGV4cGVjdCB0byBz ZWUgYWRkaXRpb25hbCBhdHRlbXB0cyANCndpdGggbW9yZSBvcGVyYW5kcyBy ZXBsYWNlZC4NCiANCmplZmYNCiANCg== ------=_002_NextPart174527661778_=------ ------=_001_NextPart186402102066_=---- Content-Type: application/octet-stream; name="dump.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="dump.txt" OzsgRnVuY3Rpb24gdndhZGRfVFlQRTFfZmxvYXQgKF9aMTd2d2FkZF9UWVBF MV9mbG9hdFBkU19TX1NfUGZTMF9TMF9TMF9pLCBmdW5jZGVmX25vPTAsIGRl Y2xfdWlkPTI4NDksIGNncmFwaF91aWQ9MSwgc3ltYm9sX29yZGVyPTApDQoN CnNjYW5uaW5nIG5ldyBpbnNuIHdpdGggdWlkID0gODUuDQpyZXNjYW5uaW5n IGluc24gd2l0aCB1aWQgPSAyLg0Kc2Nhbm5pbmcgbmV3IGluc24gd2l0aCB1 aWQgPSA4Ni4NCnJlc2Nhbm5pbmcgaW5zbiB3aXRoIHVpZCA9IDMuDQpzY2Fu bmluZyBuZXcgaW5zbiB3aXRoIHVpZCA9IDg3Lg0KcmVzY2FubmluZyBpbnNu IHdpdGggdWlkID0gNC4NCnNjYW5uaW5nIG5ldyBpbnNuIHdpdGggdWlkID0g ODguDQpyZXNjYW5uaW5nIGluc24gd2l0aCB1aWQgPSA1Lg0Kc2Nhbm5pbmcg bmV3IGluc24gd2l0aCB1aWQgPSA4OS4NCnJlc2Nhbm5pbmcgaW5zbiB3aXRo IHVpZCA9IDYuDQpzY2FubmluZyBuZXcgaW5zbiB3aXRoIHVpZCA9IDkwLg0K cmVzY2FubmluZyBpbnNuIHdpdGggdWlkID0gNy4NCnNjYW5uaW5nIG5ldyBp bnNuIHdpdGggdWlkID0gOTEuDQpyZXNjYW5uaW5nIGluc24gd2l0aCB1aWQg PSA4Lg0Kc2Nhbm5pbmcgbmV3IGluc24gd2l0aCB1aWQgPSA5Mi4NCnJlc2Nh bm5pbmcgaW5zbiB3aXRoIHVpZCA9IDkuDQpzdGFydGluZyB0aGUgcHJvY2Vz c2luZyBvZiBkZWZlcnJlZCBpbnNucw0KZW5kaW5nIHRoZSBwcm9jZXNzaW5n IG9mIGRlZmVycmVkIGluc25zDQpkZl9hbmFseXplIGNhbGxlZA0KZGZfd29y a2xpc3RfZGF0YWZsb3dfZG91YmxlcXVldWU6IG5fYmFzaWNfYmxvY2tzIDYg bl9lZGdlcyA3IGNvdW50IDcgKCAgMS4yKQ0KDQoNCnZ3YWRkX1RZUEUxX2Zs b2F0DQoNCkRhdGFmbG93IHN1bW1hcnk6DQpkZWZfaW5mby0+dGFibGVfc2l6 ZSA9IDcxLCB1c2VfaW5mby0+dGFibGVfc2l6ZSA9IDANCjs7ICBmdWxseSBp bnZhbGlkYXRlZCBieSBFSCAJIDAgW3plcm9dIDMgW2dwXSA0IFt0cF0gNSBb dDBdIDYgW3QxXSA3IFt0Ml0gMTAgW2EwXSAxMSBbYTFdIDEyIFthMl0gMTMg W2EzXSAxNCBbYTRdIDE1IFthNV0gMTYgW2E2XSAxNyBbYTddIDI4IFt0M10g MjkgW3Q0XSAzMCBbdDVdIDMxIFt0Nl0gMzIgW2Z0MF0gMzMgW2Z0MV0gMzQg W2Z0Ml0gMzUgW2Z0M10gMzYgW2Z0NF0gMzcgW2Z0NV0gMzggW2Z0Nl0gMzkg W2Z0N10gNDIgW2ZhMF0gNDMgW2ZhMV0gNDQgW2ZhMl0gNDUgW2ZhM10gNDYg W2ZhNF0gNDcgW2ZhNV0gNDggW2ZhNl0gNDkgW2ZhN10gNjAgW2Z0OF0gNjEg W2Z0OV0gNjIgW2Z0MTBdIDYzIFtmdDExXSA2NiBbdmxdIDY3IFt2dHlwZV0g NjggW3Z4cm1dIDY5IFtOL0FdIDcwIFtOL0FdIDcxIFtOL0FdIDcyIFtOL0Fd IDczIFtOL0FdIDc0IFtOL0FdIDc1IFtOL0FdIDc2IFtOL0FdIDc3IFtOL0Fd IDc4IFtOL0FdIDc5IFtOL0FdIDgwIFtOL0FdIDgxIFtOL0FdIDgyIFtOL0Fd IDgzIFtOL0FdIDg0IFtOL0FdIDg1IFtOL0FdIDg2IFtOL0FdIDg3IFtOL0Fd IDg4IFtOL0FdIDg5IFtOL0FdIDkwIFtOL0FdIDkxIFtOL0FdIDkyIFtOL0Fd IDkzIFtOL0FdIDk0IFtOL0FdIDk1IFtOL0FdIDk2IFt2MF0gOTcgW3YxXSA5 OCBbdjJdIDk5IFt2M10gMTAwIFt2NF0gMTAxIFt2NV0gMTAyIFt2Nl0gMTAz IFt2N10gMTA0IFt2OF0gMTA1IFt2OV0gMTA2IFt2MTBdIDEwNyBbdjExXSAx MDggW3YxMl0gMTA5IFt2MTNdIDExMCBbdjE0XSAxMTEgW3YxNV0gMTEyIFt2 MTZdIDExMyBbdjE3XSAxMTQgW3YxOF0gMTE1IFt2MTldIDExNiBbdjIwXSAx MTcgW3YyMV0gMTE4IFt2MjJdIDExOSBbdjIzXSAxMjAgW3YyNF0gMTIxIFt2 MjVdIDEyMiBbdjI2XSAxMjMgW3YyN10gMTI0IFt2MjhdIDEyNSBbdjI5XSAx MjYgW3YzMF0gMTI3IFt2MzFdDQo7OyAgaGFyZHdhcmUgcmVncyB1c2VkIAkg MiBbc3BdIDY0IFthcmddIDY1IFtmcmFtZV0NCjs7ICByZWd1bGFyIGJsb2Nr IGFydGlmaWNpYWwgdXNlcyAJIDIgW3NwXSA4IFtzMF0gNjQgW2FyZ10gNjUg W2ZyYW1lXQ0KOzsgIGVoIGJsb2NrIGFydGlmaWNpYWwgdXNlcyAJIDIgW3Nw XSA4IFtzMF0gNjQgW2FyZ10gNjUgW2ZyYW1lXQ0KOzsgIGVudHJ5IGJsb2Nr IGRlZnMgCSAxIFtyYV0gMiBbc3BdIDggW3MwXSAxMCBbYTBdIDExIFthMV0g MTIgW2EyXSAxMyBbYTNdIDE0IFthNF0gMTUgW2E1XSAxNiBbYTZdIDE3IFth N10gNDIgW2ZhMF0gNDMgW2ZhMV0gNDQgW2ZhMl0gNDUgW2ZhM10gNDYgW2Zh NF0gNDcgW2ZhNV0gNDggW2ZhNl0gNDkgW2ZhN10gNjQgW2FyZ10gNjUgW2Zy YW1lXQ0KOzsgIGV4aXQgYmxvY2sgdXNlcyAJIDEgW3JhXSAyIFtzcF0gOCBb czBdIDY1IFtmcmFtZV0NCjs7ICByZWdzIGV2ZXIgbGl2ZSAJIDAgW3plcm9d IDEwIFthMF0gMTEgW2ExXSAxMiBbYTJdIDEzIFthM10gMTQgW2E0XSAxNSBb YTVdIDE2IFthNl0gMTcgW2E3XSA2NiBbdmxdIDY3IFt2dHlwZV0NCjs7ICBy ZWYgdXNhZ2UgCXIwPXs4dX0gcjE9ezFkLDF1fSByMj17MWQsNXV9IHI4PXsx ZCw1dX0gcjEwPXsxZCwxdX0gcjExPXsxZCwxdX0gcjEyPXsxZCwxdX0gcjEz PXsxZCwxdX0gcjE0PXsxZCwxdX0gcjE1PXsxZCwxdX0gcjE2PXsxZCwxdX0g cjE3PXsxZCwxdX0gcjQyPXsxZH0gcjQzPXsxZH0gcjQ0PXsxZH0gcjQ1PXsx ZH0gcjQ2PXsxZH0gcjQ3PXsxZH0gcjQ4PXsxZH0gcjQ5PXsxZH0gcjY0PXsx ZCw1dSwxZX0gcjY1PXsxZCw1dX0gcjY2PXsxMnV9IHI2Nz17MTJ1fSByMTM0 PXsxZCwxdX0gcjEzNj17MWQsMXV9IHIxMzc9ezFkLDF1fSByMTM4PXsyZCwz dX0gcjEzOT17MWQsMXV9IHIxNDA9ezFkLDF1fSByMTQxPXsyZCwzdX0gcjE0 Mj17MWQsMXV9IHIxNDM9ezFkLDJ1fSByMTQ0PXsxZCwxdX0gcjE0NT17MWQs MXV9IHIxNDY9ezJkLDN1fSByMTQ3PXsxZCwxdX0gcjE0OD17MWQsMnV9IHIx NDk9ezFkLDF1fSByMTUwPXsxZCwzdX0gcjE1MT17MWQsMXV9IHIxNTI9ezFk LDR1fSByMTUzPXsxZCwxdX0gcjE1ND17MWQsOHV9IHIxNTU9ezJkLDN1fSBy MTU2PXsyZCwzdX0gcjE1Nz17MWQsMTV1fSByMTU4PXsyZCwzdX0gcjE1OT17 MmQsM3V9IHIxNjA9ezJkLDN1fSByMTYxPXsyZCwzdX0gcjE2Mj17MmQsMnV9 IHIxNjM9ezJkLDJ1fSByMTY0PXsyZCwydX0gcjE2NT17MmQsMnV9IHIxNjY9 ezFkLDJ1fSByMTY4PXsxZH0gcjE2OT17MWR9IHIxNzA9ezFkfSByMTcxPXsx ZCwxdX0gcjE3Mj17MWR9IHIxNzM9ezFkLDF1fSByMTc0PXsxZCwxdX0gcjE3 NT17MWQsMXV9IHIxNzY9ezFkLDF1fSByMTc3PXsxZCwxdX0gcjE3OD17MWQs MXV9IHIxNzk9ezFkLDF1fSByMTgwPXsxZCwxdX0gDQo7OyAgICB0b3RhbCBy ZWYgdXNhZ2UgMjMzezc5ZCwxNTN1LDFlfSBpbiA3MHs3MCByZWd1bGFyICsg MCBjYWxsfSBpbnNucy4NCg0KKCApLT5bMF0tPiggMiApDQo7OyBiYiAwIGFy dGlmaWNpYWxfZGVmczogeyBkMCgxKXsgfWQxKDIpeyB9ZDIoOCl7IH1kMygx MCl7IH1kNCgxMSl7IH1kNSgxMil7IH1kNigxMyl7IH1kNygxNCl7IH1kOCgx NSl7IH1kOSgxNil7IH1kMTAoMTcpeyB9ZDExKDQyKXsgfWQxMig0Myl7IH1k MTMoNDQpeyB9ZDE0KDQ1KXsgfWQxNSg0Nil7IH1kMTYoNDcpeyB9ZDE3KDQ4 KXsgfWQxOCg0OSl7IH1kMTkoNjQpeyB9ZDIwKDY1KXsgfX0NCjs7IGJiIDAg YXJ0aWZpY2lhbF91c2VzOiB7IH0NCjs7IGxyICBpbiAgCSAwIFt6ZXJvXSA2 NiBbdmxdIDY3IFt2dHlwZV0NCjs7IGxyICB1c2UgCQ0KOzsgbHIgIGRlZiAJ IDEgW3JhXSAyIFtzcF0gOCBbczBdIDEwIFthMF0gMTEgW2ExXSAxMiBbYTJd IDEzIFthM10gMTQgW2E0XSAxNSBbYTVdIDE2IFthNl0gMTcgW2E3XSA0MiBb ZmEwXSA0MyBbZmExXSA0NCBbZmEyXSA0NSBbZmEzXSA0NiBbZmE0XSA0NyBb ZmE1XSA0OCBbZmE2XSA0OSBbZmE3XSA2NCBbYXJnXSA2NSBbZnJhbWVdDQo7 OyBsaXZlICBpbiAgCQ0KOzsgbGl2ZSAgZ2VuIAkgMSBbcmFdIDIgW3NwXSA4 IFtzMF0gMTAgW2EwXSAxMSBbYTFdIDEyIFthMl0gMTMgW2EzXSAxNCBbYTRd IDE1IFthNV0gMTYgW2E2XSAxNyBbYTddIDQyIFtmYTBdIDQzIFtmYTFdIDQ0 IFtmYTJdIDQ1IFtmYTNdIDQ2IFtmYTRdIDQ3IFtmYTVdIDQ4IFtmYTZdIDQ5 IFtmYTddIDY0IFthcmddIDY1IFtmcmFtZV0NCjs7IGxpdmUgIGtpbGwJDQo7 OyBsciAgb3V0IAkgMCBbemVyb10gMSBbcmFdIDIgW3NwXSA4IFtzMF0gMTAg W2EwXSAxMSBbYTFdIDEyIFthMl0gMTMgW2EzXSAxNCBbYTRdIDE1IFthNV0g MTYgW2E2XSAxNyBbYTddIDY0IFthcmddIDY1IFtmcmFtZV0gNjYgW3ZsXSA2 NyBbdnR5cGVdDQo7OyBsaXZlICBvdXQgCSAxIFtyYV0gMiBbc3BdIDggW3Mw XSAxMCBbYTBdIDExIFthMV0gMTIgW2EyXSAxMyBbYTNdIDE0IFthNF0gMTUg W2E1XSAxNiBbYTZdIDE3IFthN10gNjQgW2FyZ10gNjUgW2ZyYW1lXQ0KDQoo IDAgKS0+WzJdLT4oIDMgNSApDQo7OyBiYiAyIGFydGlmaWNpYWxfZGVmczog eyB9DQo7OyBiYiAyIGFydGlmaWNpYWxfdXNlczogeyB1LTEoMil7IH11LTEo OCl7IH11LTEoNjQpeyB9dS0xKDY1KXsgfX0NCjs7IGxyICBpbiAgCSAwIFt6 ZXJvXSAxIFtyYV0gMiBbc3BdIDggW3MwXSAxMCBbYTBdIDExIFthMV0gMTIg W2EyXSAxMyBbYTNdIDE0IFthNF0gMTUgW2E1XSAxNiBbYTZdIDE3IFthN10g NjQgW2FyZ10gNjUgW2ZyYW1lXSA2NiBbdmxdIDY3IFt2dHlwZV0NCjs7IGxy ICB1c2UgCSAyIFtzcF0gOCBbczBdIDEwIFthMF0gMTEgW2ExXSAxMiBbYTJd IDEzIFthM10gMTQgW2E0XSAxNSBbYTVdIDE2IFthNl0gMTcgW2E3XSA2NCBb YXJnXSA2NSBbZnJhbWVdDQo7OyBsciAgZGVmIAkgMTU4IDE1OSAxNjAgMTYx IDE2MiAxNjMgMTY0IDE2NSAxNjYgMTczIDE3NCAxNzUgMTc2IDE3NyAxNzgg MTc5IDE4MA0KOzsgbGl2ZSAgaW4gIAkgMSBbcmFdIDIgW3NwXSA4IFtzMF0g MTAgW2EwXSAxMSBbYTFdIDEyIFthMl0gMTMgW2EzXSAxNCBbYTRdIDE1IFth NV0gMTYgW2E2XSAxNyBbYTddIDY0IFthcmddIDY1IFtmcmFtZV0NCjs7IGxp dmUgIGdlbiAJIDE1OCAxNTkgMTYwIDE2MSAxNjIgMTYzIDE2NCAxNjUgMTY2 DQo7OyBsaXZlICBraWxsCQ0KOzsgbHIgIG91dCAJIDAgW3plcm9dIDEgW3Jh XSAyIFtzcF0gOCBbczBdIDY0IFthcmddIDY1IFtmcmFtZV0gNjYgW3ZsXSA2 NyBbdnR5cGVdIDE1OCAxNTkgMTYwIDE2MSAxNjIgMTYzIDE2NCAxNjUgMTY2 DQo7OyBsaXZlICBvdXQgCSAxIFtyYV0gMiBbc3BdIDggW3MwXSA2NCBbYXJn XSA2NSBbZnJhbWVdIDE1OCAxNTkgMTYwIDE2MSAxNjIgMTYzIDE2NCAxNjUg MTY2DQoNCiggMiApLT5bM10tPiggNCApDQo7OyBiYiAzIGFydGlmaWNpYWxf ZGVmczogeyB9DQo7OyBiYiAzIGFydGlmaWNpYWxfdXNlczogeyB1LTEoMil7 IH11LTEoOCl7IH11LTEoNjQpeyB9dS0xKDY1KXsgfX0NCjs7IGxyICBpbiAg CSAwIFt6ZXJvXSAxIFtyYV0gMiBbc3BdIDggW3MwXSA2NCBbYXJnXSA2NSBb ZnJhbWVdIDY2IFt2bF0gNjcgW3Z0eXBlXSAxNTggMTU5IDE2MCAxNjEgMTYy IDE2MyAxNjQgMTY1IDE2Ng0KOzsgbHIgIHVzZSAJIDIgW3NwXSA4IFtzMF0g NjQgW2FyZ10gNjUgW2ZyYW1lXSAxNTggMTU5IDE2MCAxNjEgMTY2DQo7OyBs ciAgZGVmIAkgMTM4IDE0MSAxNDYgMTU1IDE1Ng0KOzsgbGl2ZSAgaW4gIAkg MSBbcmFdIDIgW3NwXSA4IFtzMF0gNjQgW2FyZ10gNjUgW2ZyYW1lXSAxNTgg MTU5IDE2MCAxNjEgMTYyIDE2MyAxNjQgMTY1IDE2Ng0KOzsgbGl2ZSAgZ2Vu IAkgMTM4IDE0MSAxNDYgMTU1IDE1Ng0KOzsgbGl2ZSAga2lsbAkNCjs7IGxy ICBvdXQgCSAwIFt6ZXJvXSAxIFtyYV0gMiBbc3BdIDggW3MwXSA2NCBbYXJn XSA2NSBbZnJhbWVdIDY2IFt2bF0gNjcgW3Z0eXBlXSAxMzggMTQxIDE0NiAx NTUgMTU2IDE1OCAxNTkgMTYwIDE2MSAxNjIgMTYzIDE2NCAxNjUNCjs7IGxp dmUgIG91dCAJIDEgW3JhXSAyIFtzcF0gOCBbczBdIDY0IFthcmddIDY1IFtm cmFtZV0gMTM4IDE0MSAxNDYgMTU1IDE1NiAxNTggMTU5IDE2MCAxNjEgMTYy IDE2MyAxNjQgMTY1DQoNCiggNCAzICktPls0XS0+KCA0IDUgKQ0KOzsgYmIg NCBhcnRpZmljaWFsX2RlZnM6IHsgfQ0KOzsgYmIgNCBhcnRpZmljaWFsX3Vz ZXM6IHsgdS0xKDIpeyB9dS0xKDgpeyB9dS0xKDY0KXsgfXUtMSg2NSl7IH19 DQo7OyBsciAgaW4gIAkgMCBbemVyb10gMSBbcmFdIDIgW3NwXSA4IFtzMF0g NjQgW2FyZ10gNjUgW2ZyYW1lXSA2NiBbdmxdIDY3IFt2dHlwZV0gMTM4IDE0 MSAxNDYgMTU1IDE1NiAxNTggMTU5IDE2MCAxNjEgMTYyIDE2MyAxNjQgMTY1 DQo7OyBsciAgdXNlIAkgMCBbemVyb10gMiBbc3BdIDggW3MwXSA2NCBbYXJn XSA2NSBbZnJhbWVdIDY2IFt2bF0gNjcgW3Z0eXBlXSAxMzggMTQxIDE0NiAx NTUgMTU2IDE1OCAxNTkgMTYwIDE2MSAxNjIgMTYzIDE2NCAxNjUNCjs7IGxy ICBkZWYgCSAxMzQgMTM2IDEzNyAxMzggMTM5IDE0MCAxNDEgMTQyIDE0MyAx NDQgMTQ1IDE0NiAxNDcgMTQ4IDE0OSAxNTAgMTUxIDE1MiAxNTMgMTU0IDE1 NSAxNTYgMTU3IDE1OCAxNTkgMTYwIDE2MSAxNjIgMTYzIDE2NCAxNjUgMTY4 IDE2OSAxNzAgMTcxIDE3Mg0KOzsgbGl2ZSAgaW4gIAkgMSBbcmFdIDIgW3Nw XSA4IFtzMF0gNjQgW2FyZ10gNjUgW2ZyYW1lXSAxMzggMTQxIDE0NiAxNTUg MTU2IDE1OCAxNTkgMTYwIDE2MSAxNjIgMTYzIDE2NCAxNjUNCjs7IGxpdmUg IGdlbiAJIDEzNCAxMzYgMTM3IDEzOCAxMzkgMTQwIDE0MSAxNDIgMTQzIDE0 NCAxNDUgMTQ2IDE0NyAxNDggMTQ5IDE1MCAxNTEgMTUyIDE1MyAxNTQgMTU1 IDE1NiAxNTcgMTU4IDE1OSAxNjAgMTYxIDE2MiAxNjMgMTY0IDE2NSAxNzEN Cjs7IGxpdmUgIGtpbGwJIDE2OCAxNjkgMTcwIDE3Mg0KOzsgbHIgIG91dCAJ IDAgW3plcm9dIDEgW3JhXSAyIFtzcF0gOCBbczBdIDY0IFthcmddIDY1IFtm cmFtZV0gNjYgW3ZsXSA2NyBbdnR5cGVdIDEzOCAxNDEgMTQ2IDE1NSAxNTYg MTU4IDE1OSAxNjAgMTYxIDE2MiAxNjMgMTY0IDE2NQ0KOzsgbGl2ZSAgb3V0 IAkgMSBbcmFdIDIgW3NwXSA4IFtzMF0gNjQgW2FyZ10gNjUgW2ZyYW1lXSAx MzggMTQxIDE0NiAxNTUgMTU2IDE1OCAxNTkgMTYwIDE2MSAxNjIgMTYzIDE2 NCAxNjUNCg0KKCA0IDIgKS0+WzVdLT4oIDEgKQ0KOzsgYmIgNSBhcnRpZmlj aWFsX2RlZnM6IHsgfQ0KOzsgYmIgNSBhcnRpZmljaWFsX3VzZXM6IHsgdS0x KDIpeyB9dS0xKDgpeyB9dS0xKDY0KXsgfXUtMSg2NSl7IH19DQo7OyBsciAg aW4gIAkgMSBbcmFdIDIgW3NwXSA4IFtzMF0gNjQgW2FyZ10gNjUgW2ZyYW1l XQ0KOzsgbHIgIHVzZSAJIDIgW3NwXSA4IFtzMF0gNjQgW2FyZ10gNjUgW2Zy YW1lXQ0KOzsgbHIgIGRlZiAJDQo7OyBsaXZlICBpbiAgCSAxIFtyYV0gMiBb c3BdIDggW3MwXSA2NCBbYXJnXSA2NSBbZnJhbWVdDQo7OyBsaXZlICBnZW4g CQ0KOzsgbGl2ZSAga2lsbAkNCjs7IGxyICBvdXQgCSAxIFtyYV0gMiBbc3Bd IDggW3MwXSA2NCBbYXJnXSA2NSBbZnJhbWVdDQo7OyBsaXZlICBvdXQgCSAx IFtyYV0gMiBbc3BdIDggW3MwXSA2NCBbYXJnXSA2NSBbZnJhbWVdDQoNCigg NSApLT5bMV0tPiggKQ0KOzsgYmIgMSBhcnRpZmljaWFsX2RlZnM6IHsgfQ0K OzsgYmIgMSBhcnRpZmljaWFsX3VzZXM6IHsgdS0xKDEpeyB9dS0xKDIpeyB9 dS0xKDgpeyB9dS0xKDY1KXsgfX0NCjs7IGxyICBpbiAgCSAxIFtyYV0gMiBb c3BdIDggW3MwXSA2NSBbZnJhbWVdDQo7OyBsciAgdXNlIAkgMSBbcmFdIDIg W3NwXSA4IFtzMF0gNjUgW2ZyYW1lXQ0KOzsgbHIgIGRlZiAJDQo7OyBsaXZl ICBpbiAgCSAxIFtyYV0gMiBbc3BdIDggW3MwXSA2NSBbZnJhbWVdDQo7OyBs aXZlICBnZW4gCQ0KOzsgbGl2ZSAga2lsbAkNCjs7IGxyICBvdXQgCQ0KOzsg bGl2ZSAgb3V0IAkNCg0KRmluZGluZyBuZWVkZWQgaW5zdHJ1Y3Rpb25zOg0K ICBBZGRpbmcgaW5zbiAyNCB0byB3b3JrbGlzdA0KICBBZGRpbmcgaW5zbiA3 MiB0byB3b3JrbGlzdA0KICBBZGRpbmcgaW5zbiA1NCB0byB3b3JrbGlzdA0K ICBBZGRpbmcgaW5zbiA0OCB0byB3b3JrbGlzdA0KICBBZGRpbmcgaW5zbiA0 NCB0byB3b3JrbGlzdA0KICBBZGRpbmcgaW5zbiAzOCB0byB3b3JrbGlzdA0K RmluaXNoZWQgZmluZGluZyBuZWVkZWQgaW5zdHJ1Y3Rpb25zOg0KcHJvY2Vz c2luZyBibG9jayA1IGxyIG91dCA9ICAxIFtyYV0gMiBbc3BdIDggW3MwXSA2 NCBbYXJnXSA2NSBbZnJhbWVdDQpwcm9jZXNzaW5nIGJsb2NrIDQgbHIgb3V0 ID0gIDAgW3plcm9dIDEgW3JhXSAyIFtzcF0gOCBbczBdIDY0IFthcmddIDY1 IFtmcmFtZV0gNjYgW3ZsXSA2NyBbdnR5cGVdIDEzOCAxNDEgMTQ2IDE1NSAx NTYgMTU4IDE1OSAxNjAgMTYxIDE2MiAxNjMgMTY0IDE2NQ0KICBBZGRpbmcg aW5zbiA3MCB0byB3b3JrbGlzdA0KICBBZGRpbmcgaW5zbiA2OSB0byB3b3Jr bGlzdA0KICBBZGRpbmcgaW5zbiA2OCB0byB3b3JrbGlzdA0KICBBZGRpbmcg aW5zbiA2NyB0byB3b3JrbGlzdA0KICBBZGRpbmcgaW5zbiA2NiB0byB3b3Jr bGlzdA0KICBBZGRpbmcgaW5zbiA2NSB0byB3b3JrbGlzdA0KICBBZGRpbmcg aW5zbiA2NCB0byB3b3JrbGlzdA0KICBBZGRpbmcgaW5zbiA2MyB0byB3b3Jr bGlzdA0KICBBZGRpbmcgaW5zbiA2MiB0byB3b3JrbGlzdA0KICBBZGRpbmcg aW5zbiA2MSB0byB3b3JrbGlzdA0KICBBZGRpbmcgaW5zbiA2MCB0byB3b3Jr bGlzdA0KICBBZGRpbmcgaW5zbiA1OSB0byB3b3JrbGlzdA0KICBBZGRpbmcg aW5zbiA1OCB0byB3b3JrbGlzdA0KICBBZGRpbmcgaW5zbiA1MyB0byB3b3Jr bGlzdA0KICBBZGRpbmcgaW5zbiA1MiB0byB3b3JrbGlzdA0KICBBZGRpbmcg aW5zbiA1MSB0byB3b3JrbGlzdA0KICBBZGRpbmcgaW5zbiA1MCB0byB3b3Jr bGlzdA0KICBBZGRpbmcgaW5zbiA0NyB0byB3b3JrbGlzdA0KICBBZGRpbmcg aW5zbiA0NiB0byB3b3JrbGlzdA0KICBBZGRpbmcgaW5zbiA0MyB0byB3b3Jr bGlzdA0KICBBZGRpbmcgaW5zbiA0MiB0byB3b3JrbGlzdA0KICBBZGRpbmcg aW5zbiA0MSB0byB3b3JrbGlzdA0KICBBZGRpbmcgaW5zbiA0MCB0byB3b3Jr bGlzdA0KICBBZGRpbmcgaW5zbiAzNyB0byB3b3JrbGlzdA0KICBBZGRpbmcg aW5zbiAzNiB0byB3b3JrbGlzdA0KICBBZGRpbmcgaW5zbiAzNSB0byB3b3Jr bGlzdA0KICBBZGRpbmcgaW5zbiAzNCB0byB3b3JrbGlzdA0KICBBZGRpbmcg aW5zbiAzMyB0byB3b3JrbGlzdA0KICBBZGRpbmcgaW5zbiAzMiB0byB3b3Jr bGlzdA0KICBBZGRpbmcgaW5zbiAzMSB0byB3b3JrbGlzdA0KICBBZGRpbmcg aW5zbiAzMCB0byB3b3JrbGlzdA0KICBBZGRpbmcgaW5zbiAyOCB0byB3b3Jr bGlzdA0KcHJvY2Vzc2luZyBibG9jayAzIGxyIG91dCA9ICAwIFt6ZXJvXSAx IFtyYV0gMiBbc3BdIDggW3MwXSA2NCBbYXJnXSA2NSBbZnJhbWVdIDY2IFt2 bF0gNjcgW3Z0eXBlXSAxMzggMTQxIDE0NiAxNTUgMTU2IDE1OCAxNTkgMTYw IDE2MSAxNjIgMTYzIDE2NCAxNjUNCiAgQWRkaW5nIGluc24gMTUgdG8gd29y a2xpc3QNCiAgQWRkaW5nIGluc24gMTQgdG8gd29ya2xpc3QNCiAgQWRkaW5n IGluc24gMTMgdG8gd29ya2xpc3QNCiAgQWRkaW5nIGluc24gMTIgdG8gd29y a2xpc3QNCiAgQWRkaW5nIGluc24gMjYgdG8gd29ya2xpc3QNCnByb2Nlc3Np bmcgYmxvY2sgMiBsciBvdXQgPSAgMCBbemVyb10gMSBbcmFdIDIgW3NwXSA4 IFtzMF0gNjQgW2FyZ10gNjUgW2ZyYW1lXSA2NiBbdmxdIDY3IFt2dHlwZV0g MTU4IDE1OSAxNjAgMTYxIDE2MiAxNjMgMTY0IDE2NSAxNjYNCiAgQWRkaW5n IGluc24gMTAgdG8gd29ya2xpc3QNCiAgQWRkaW5nIGluc24gOSB0byB3b3Jr bGlzdA0KICBBZGRpbmcgaW5zbiA5MiB0byB3b3JrbGlzdA0KICBBZGRpbmcg aW5zbiA4IHRvIHdvcmtsaXN0DQogIEFkZGluZyBpbnNuIDkxIHRvIHdvcmts aXN0DQogIEFkZGluZyBpbnNuIDcgdG8gd29ya2xpc3QNCiAgQWRkaW5nIGlu c24gOTAgdG8gd29ya2xpc3QNCiAgQWRkaW5nIGluc24gNiB0byB3b3JrbGlz dA0KICBBZGRpbmcgaW5zbiA4OSB0byB3b3JrbGlzdA0KICBBZGRpbmcgaW5z biA1IHRvIHdvcmtsaXN0DQogIEFkZGluZyBpbnNuIDg4IHRvIHdvcmtsaXN0 DQogIEFkZGluZyBpbnNuIDQgdG8gd29ya2xpc3QNCiAgQWRkaW5nIGluc24g ODcgdG8gd29ya2xpc3QNCiAgQWRkaW5nIGluc24gMyB0byB3b3JrbGlzdA0K ICBBZGRpbmcgaW5zbiA4NiB0byB3b3JrbGlzdA0KICBBZGRpbmcgaW5zbiAy IHRvIHdvcmtsaXN0DQogIEFkZGluZyBpbnNuIDg1IHRvIHdvcmtsaXN0DQpk Zl93b3JrbGlzdF9kYXRhZmxvd19kb3VibGVxdWV1ZTogbl9iYXNpY19ibG9j a3MgNiBuX2VkZ2VzIDcgY291bnQgNyAoICAxLjIpDQppbnNuX2Nvc3QgNCBm b3IgICAgODU6IHIxNzM6REk9YTA6REkNCiAgICAgIFJFR19ERUFEIGEwOkRJ DQppbnNuX2Nvc3QgNCBmb3IgICAgIDI6IHIxNTg6REk9cjE3MzpESQ0KICAg ICAgUkVHX0RFQUQgcjE3MzpESQ0KaW5zbl9jb3N0IDQgZm9yICAgIDg2OiBy MTc0OkRJPWExOkRJDQogICAgICBSRUdfREVBRCBhMTpESQ0KaW5zbl9jb3N0 IDQgZm9yICAgICAzOiByMTU5OkRJPXIxNzQ6REkNCiAgICAgIFJFR19ERUFE IHIxNzQ6REkNCmluc25fY29zdCA0IGZvciAgICA4NzogcjE3NTpEST1hMjpE SQ0KICAgICAgUkVHX0RFQUQgYTI6REkNCmluc25fY29zdCA0IGZvciAgICAg NDogcjE2MDpEST1yMTc1OkRJDQogICAgICBSRUdfREVBRCByMTc1OkRJDQpp bnNuX2Nvc3QgNCBmb3IgICAgODg6IHIxNzY6REk9YTM6REkNCiAgICAgIFJF R19ERUFEIGEzOkRJDQppbnNuX2Nvc3QgNCBmb3IgICAgIDU6IHIxNjE6REk9 cjE3NjpESQ0KICAgICAgUkVHX0RFQUQgcjE3NjpESQ0KaW5zbl9jb3N0IDQg Zm9yICAgIDg5OiByMTc3OkRJPWE0OkRJDQogICAgICBSRUdfREVBRCBhNDpE SQ0KaW5zbl9jb3N0IDQgZm9yICAgICA2OiByMTYyOkRJPXIxNzc6REkNCiAg ICAgIFJFR19ERUFEIHIxNzc6REkNCmluc25fY29zdCA0IGZvciAgICA5MDog cjE3ODpEST1hNTpESQ0KICAgICAgUkVHX0RFQUQgYTU6REkNCmluc25fY29z dCA0IGZvciAgICAgNzogcjE2MzpEST1yMTc4OkRJDQogICAgICBSRUdfREVB RCByMTc4OkRJDQppbnNuX2Nvc3QgNCBmb3IgICAgOTE6IHIxNzk6REk9YTY6 REkNCiAgICAgIFJFR19ERUFEIGE2OkRJDQppbnNuX2Nvc3QgNCBmb3IgICAg IDg6IHIxNjQ6REk9cjE3OTpESQ0KICAgICAgUkVHX0RFQUQgcjE3OTpESQ0K aW5zbl9jb3N0IDQgZm9yICAgIDkyOiByMTgwOkRJPWE3OkRJDQogICAgICBS RUdfREVBRCBhNzpESQ0KaW5zbl9jb3N0IDQgZm9yICAgICA5OiByMTY1OkRJ PXIxODA6REkNCiAgICAgIFJFR19ERUFEIHIxODA6REkNCmluc25fY29zdCAy OCBmb3IgICAgMTA6IHIxNjY6REk9c2lnbl9leHRlbmQoW2FyZzpESV0pDQog ICAgICBSRUdfRVFVSVYgc2lnbl9leHRlbmQoW2FyZzpESV0pDQppbnNuX2Nv c3QgMCBmb3IgICAgMTg6IGRlYnVnIGJlZ2luIHN0bXQgbWFya2VyDQppbnNu X2Nvc3QgMCBmb3IgICAgMTk6IGRlYnVnIGkgPT4gMA0KaW5zbl9jb3N0IDAg Zm9yICAgIDIwOiBkZWJ1ZyBiZWdpbiBzdG10IG1hcmtlcg0KaW5zbl9jb3N0 IDQgZm9yICAgIDI0OiBwYz17KHIxNjY6REk8PTApP0w3NjpwY30NCiAgICAg IFJFR19CUl9QUk9CIDExODExMTYwNA0KaW5zbl9jb3N0IDQgZm9yICAgIDI2 OiByMTU2OkRJPXIxNjY6REkNCiAgICAgIFJFR19ERUFEIHIxNjY6REkNCmlu c25fY29zdCA0IGZvciAgICAxMjogcjE1NTpEST1yMTYxOkRJDQppbnNuX2Nv c3QgNCBmb3IgICAgMTM6IHIxMzg6REk9cjE2MDpESQ0KaW5zbl9jb3N0IDQg Zm9yICAgIDE0OiByMTQxOkRJPXIxNTk6REkNCmluc25fY29zdCA0IGZvciAg ICAxNTogcjE0NjpEST1yMTU4OkRJDQppbnNuX2Nvc3QgMTIgZm9yICAgIDI4 OiByMTU3OkRJPXVuc3BlY1tyMTU2OkRJLDB4OCwweDUsMCwwXSA2Nw0KaW5z bl9jb3N0IDAgZm9yICAgIDI5OiBkZWJ1ZyBiZWdpbiBzdG10IG1hcmtlcg0K aW5zbl9jb3N0IDQgZm9yICAgIDMwOiByMTU0OkRJPXIxNTc6REk8PDB4Mw0K aW5zbl9jb3N0IDQgZm9yICAgIDMxOiByMTUzOlZOeDJERj17KHVuc3BlY1tj b25zdF92ZWN0b3IscjE1NzpESSwweDIsMHgyLDAsdmw6U0ksdnR5cGU6U0ld IDY5KT9bcjE1ODpESV06dW5zcGVjW3plcm86U0ldIDY4fQ0KaW5zbl9jb3N0 IDQgZm9yICAgIDMyOiByMTUyOkRJPXIxNTc6REk8PDB4Mg0KaW5zbl9jb3N0 IDQgZm9yICAgIDMzOiByMTUxOlZOeDJTRj17KHVuc3BlY1tjb25zdF92ZWN0 b3IscjE1NzpESSwweDIsMHgyLDAsdmw6U0ksdnR5cGU6U0ldIDY5KT9bcjE2 MjpESV06dW5zcGVjW3plcm86U0ldIDY4fQ0KaW5zbl9jb3N0IDQgZm9yICAg IDM0OiByMTUwOlZOeDJERj1mbG9hdF9leHRlbmQocjE1MTpWTngyU0YpDQog ICAgICBSRUdfREVBRCByMTUxOlZOeDJTRg0KaW5zbl9jb3N0IDQgZm9yICAg IDM1OiByMTQ5OlZOeDJTRj17KHVuc3BlY1tjb25zdF92ZWN0b3IscjE1NzpE SSwweDIsMHgyLDAsdmw6U0ksdnR5cGU6U0ldIDY5KT9bcjE2MzpESV06dW5z cGVjW3plcm86U0ldIDY4fQ0KaW5zbl9jb3N0IDQgZm9yICAgIDM2OiByMTQ4 OlZOeDJERj1mbG9hdF9leHRlbmQocjE0OTpWTngyU0YpDQogICAgICBSRUdf REVBRCByMTQ5OlZOeDJTRg0KaW5zbl9jb3N0IDQgZm9yICAgIDM3OiB7cjE0 NzpWTngyREY9ey1yMTQ4OlZOeDJERipyMTUwOlZOeDJERityMTUzOlZOeDJE Rn07Y2xvYmJlciByMTY4OkRJO30NCiAgICAgIFJFR19ERUFEIHIxNTM6Vk54 MkRGDQogICAgICBSRUdfVU5VU0VEIHIxNjg6REkNCmluc25fY29zdCA0IGZv ciAgICAzODogW3IxNDY6REldPXsodW5zcGVjW2NvbnN0X3ZlY3RvcixyMTU3 OkRJLDAsdmw6U0ksdnR5cGU6U0ldIDY5KT9yMTQ3OlZOeDJERjpbcjE0NjpE SV19DQogICAgICBSRUdfREVBRCByMTQ3OlZOeDJERg0KaW5zbl9jb3N0IDAg Zm9yICAgIDM5OiBkZWJ1ZyBiZWdpbiBzdG10IG1hcmtlcg0KaW5zbl9jb3N0 IDQgZm9yICAgIDQwOiByMTQ1OlZOeDJERj17KHVuc3BlY1tjb25zdF92ZWN0 b3IscjE1NzpESSwweDIsMHgyLDAsdmw6U0ksdnR5cGU6U0ldIDY5KT9bcjE1 OTpESV06dW5zcGVjW3plcm86U0ldIDY4fQ0KaW5zbl9jb3N0IDQgZm9yICAg IDQxOiByMTQ0OlZOeDJTRj17KHVuc3BlY1tjb25zdF92ZWN0b3IscjE1NzpE SSwweDIsMHgyLDAsdmw6U0ksdnR5cGU6U0ldIDY5KT9bcjE2NDpESV06dW5z cGVjW3plcm86U0ldIDY4fQ0KaW5zbl9jb3N0IDQgZm9yICAgIDQyOiByMTQz OlZOeDJERj1mbG9hdF9leHRlbmQocjE0NDpWTngyU0YpDQogICAgICBSRUdf REVBRCByMTQ0OlZOeDJTRg0KaW5zbl9jb3N0IDQgZm9yICAgIDQzOiB7cjE0 MjpWTngyREY9ey1yMTQzOlZOeDJERipyMTQ4OlZOeDJERityMTQ1OlZOeDJE Rn07Y2xvYmJlciByMTY5OkRJO30NCiAgICAgIFJFR19ERUFEIHIxNDg6Vk54 MkRGDQogICAgICBSRUdfREVBRCByMTQ1OlZOeDJERg0KICAgICAgUkVHX1VO VVNFRCByMTY5OkRJDQppbnNuX2Nvc3QgNCBmb3IgICAgNDQ6IFtyMTQxOkRJ XT17KHVuc3BlY1tjb25zdF92ZWN0b3IscjE1NzpESSwwLHZsOlNJLHZ0eXBl OlNJXSA2OSk/cjE0MjpWTngyREY6W3IxNDE6REldfQ0KICAgICAgUkVHX0RF QUQgcjE0MjpWTngyREYNCmluc25fY29zdCAwIGZvciAgICA0NTogZGVidWcg YmVnaW4gc3RtdCBtYXJrZXINCmluc25fY29zdCA0IGZvciAgICA0NjogcjE0 MDpWTngyREY9eyh1bnNwZWNbY29uc3RfdmVjdG9yLHIxNTc6REksMHgyLDB4 MiwwLHZsOlNJLHZ0eXBlOlNJXSA2OSk/W3IxNjA6REldOnVuc3BlY1t6ZXJv OlNJXSA2OH0NCmluc25fY29zdCA0IGZvciAgICA0Nzoge3IxMzk6Vk54MkRG PXstcjE0MzpWTngyREYqcjE1MDpWTngyREYrcjE0MDpWTngyREZ9O2Nsb2Ji ZXIgcjE3MDpESTt9DQogICAgICBSRUdfREVBRCByMTQzOlZOeDJERg0KICAg ICAgUkVHX0RFQUQgcjE0MDpWTngyREYNCiAgICAgIFJFR19VTlVTRUQgcjE3 MDpESQ0KaW5zbl9jb3N0IDQgZm9yICAgIDQ4OiBbcjEzODpESV09eyh1bnNw ZWNbY29uc3RfdmVjdG9yLHIxNTc6REksMCx2bDpTSSx2dHlwZTpTSV0gNjkp P3IxMzk6Vk54MkRGOltyMTM4OkRJXX0NCiAgICAgIFJFR19ERUFEIHIxMzk6 Vk54MkRGDQppbnNuX2Nvc3QgMCBmb3IgICAgNDk6IGRlYnVnIGJlZ2luIHN0 bXQgbWFya2VyDQppbnNuX2Nvc3QgNCBmb3IgICAgNTA6IHIxMzc6Vk54MkRG PXsodW5zcGVjW2NvbnN0X3ZlY3RvcixyMTU3OkRJLDB4MiwweDIsMCx2bDpT SSx2dHlwZTpTSV0gNjkpP1tyMTYxOkRJXTp1bnNwZWNbemVybzpTSV0gNjh9 DQppbnNuX2Nvc3QgNCBmb3IgICAgNTE6IHIxMzY6Vk54MlNGPXsodW5zcGVj W2NvbnN0X3ZlY3RvcixyMTU3OkRJLDB4MiwweDIsMCx2bDpTSSx2dHlwZTpT SV0gNjkpP1tyMTY1OkRJXTp1bnNwZWNbemVybzpTSV0gNjh9DQogICAgICBS RUdfREVBRCB6ZXJvOlNJDQppbnNuX2Nvc3QgNCBmb3IgICAgNTI6IHIxNzE6 Vk54MkRGPWZsb2F0X2V4dGVuZChyMTM2OlZOeDJTRikNCiAgICAgIFJFR19E RUFEIHIxMzY6Vk54MlNGDQppbnNuX2Nvc3QgNCBmb3IgICAgNTM6IHtyMTM0 OlZOeDJERj17LXIxNzE6Vk54MkRGKnIxNTA6Vk54MkRGK3IxMzc6Vk54MkRG fTtjbG9iYmVyIHIxNzI6REk7fQ0KICAgICAgUkVHX0RFQUQgcjE3MTpWTngy REYNCiAgICAgIFJFR19ERUFEIHIxNTA6Vk54MkRGDQogICAgICBSRUdfREVB RCByMTM3OlZOeDJERg0KICAgICAgUkVHX1VOVVNFRCByMTcyOkRJDQppbnNu X2Nvc3QgNCBmb3IgICAgNTQ6IFtyMTU1OkRJXT17KHVuc3BlY1tjb25zdF92 ZWN0b3IscjE1NzpESSwwLHZsOlNJLHZ0eXBlOlNJXSA2OSk/cjEzNDpWTngy REY6W3IxNTU6REldfQ0KICAgICAgUkVHX0RFQUQgcjEzNDpWTngyREYNCiAg ICAgIFJFR19ERUFEIHZ0eXBlOlNJDQogICAgICBSRUdfREVBRCB2bDpTSQ0K aW5zbl9jb3N0IDAgZm9yICAgIDU1OiBkZWJ1ZyBiZWdpbiBzdG10IG1hcmtl cg0KaW5zbl9jb3N0IDAgZm9yICAgIDU2OiBkZWJ1ZyBpID0+IG9wdGltaXpl ZCBhd2F5DQppbnNuX2Nvc3QgMCBmb3IgICAgNTc6IGRlYnVnIGJlZ2luIHN0 bXQgbWFya2VyDQppbnNuX2Nvc3QgNCBmb3IgICAgNTg6IHIxNTg6REk9cjE1 ODpESStyMTU0OkRJDQppbnNuX2Nvc3QgNCBmb3IgICAgNTk6IHIxNjI6REk9 cjE2MjpESStyMTUyOkRJDQppbnNuX2Nvc3QgNCBmb3IgICAgNjA6IHIxNjM6 REk9cjE2MzpESStyMTUyOkRJDQppbnNuX2Nvc3QgNCBmb3IgICAgNjE6IHIx NDY6REk9cjE0NjpESStyMTU0OkRJDQppbnNuX2Nvc3QgNCBmb3IgICAgNjI6 IHIxNTk6REk9cjE1OTpESStyMTU0OkRJDQppbnNuX2Nvc3QgNCBmb3IgICAg NjM6IHIxNjQ6REk9cjE2NDpESStyMTUyOkRJDQppbnNuX2Nvc3QgNCBmb3Ig ICAgNjQ6IHIxNDE6REk9cjE0MTpESStyMTU0OkRJDQppbnNuX2Nvc3QgNCBm b3IgICAgNjU6IHIxNjA6REk9cjE2MDpESStyMTU0OkRJDQppbnNuX2Nvc3Qg NCBmb3IgICAgNjY6IHIxMzg6REk9cjEzODpESStyMTU0OkRJDQppbnNuX2Nv c3QgNCBmb3IgICAgNjc6IHIxNjE6REk9cjE2MTpESStyMTU0OkRJDQppbnNu X2Nvc3QgNCBmb3IgICAgNjg6IHIxNjU6REk9cjE2NTpESStyMTUyOkRJDQog ICAgICBSRUdfREVBRCByMTUyOkRJDQppbnNuX2Nvc3QgNCBmb3IgICAgNjk6 IHIxNTU6REk9cjE1NTpESStyMTU0OkRJDQogICAgICBSRUdfREVBRCByMTU0 OkRJDQppbnNuX2Nvc3QgNCBmb3IgICAgNzA6IHIxNTY6REk9cjE1NjpESS1y MTU3OkRJDQogICAgICBSRUdfREVBRCByMTU3OkRJDQppbnNuX2Nvc3QgNCBm b3IgICAgNzI6IHBjPXsocjE1NjpESSE9MCk/TDcxOnBjfQ0KICAgICAgUkVH X0JSX1BST0IgODk0Nzg0ODYyDQoNClRyeWluZyAxMCAtPiAyNDoNCiAgIDEw OiByMTY2OkRJPXNpZ25fZXh0ZW5kKFthcmc6REldKQ0KICAgICAgUkVHX0VR VUlWIHNpZ25fZXh0ZW5kKFthcmc6REldKQ0KICAgMjQ6IHBjPXsocjE2NjpE STw9MCk/TDc2OnBjfQ0KICAgICAgUkVHX0JSX1BST0IgMTE4MTExNjA0DQpG YWlsZWQgdG8gbWF0Y2ggdGhpcyBpbnN0cnVjdGlvbjoNCihwYXJhbGxlbCBb DQogICAgICAgIChzZXQgKHBjKQ0KICAgICAgICAgICAgKGlmX3RoZW5fZWxz ZSAobGUgKHN1YnJlZzpESSAobWVtL2M6U0kgKHJlZy9mOkRJIDY0IGFyZykg WzMgbiswIFM0IEExMjhdKSAwKQ0KICAgICAgICAgICAgICAgICAgICAoY29u c3RfaW50IDAgWzBdKSkNCiAgICAgICAgICAgICAgICAobGFiZWxfcmVmOkRJ IDc2KQ0KICAgICAgICAgICAgICAgIChwYykpKQ0KICAgICAgICAoc2V0IChy ZWcvdjpESSAxNjYgWyBuIF0pDQogICAgICAgICAgICAoc2lnbl9leHRlbmQ6 REkgKG1lbS9jOlNJIChyZWcvZjpESSA2NCBhcmcpIFszIG4rMCBTNCBBMTI4 XSkpKQ0KICAgIF0pDQpGYWlsZWQgdG8gbWF0Y2ggdGhpcyBpbnN0cnVjdGlv bjoNCihwYXJhbGxlbCBbDQogICAgICAgIChzZXQgKHBjKQ0KICAgICAgICAg ICAgKGlmX3RoZW5fZWxzZSAobGUgKHN1YnJlZzpESSAobWVtL2M6U0kgKHJl Zy9mOkRJIDY0IGFyZykgWzMgbiswIFM0IEExMjhdKSAwKQ0KICAgICAgICAg ICAgICAgICAgICAoY29uc3RfaW50IDAgWzBdKSkNCiAgICAgICAgICAgICAg ICAobGFiZWxfcmVmOkRJIDc2KQ0KICAgICAgICAgICAgICAgIChwYykpKQ0K ICAgICAgICAoc2V0IChyZWcvdjpESSAxNjYgWyBuIF0pDQogICAgICAgICAg ICAoc2lnbl9leHRlbmQ6REkgKG1lbS9jOlNJIChyZWcvZjpESSA2NCBhcmcp IFszIG4rMCBTNCBBMTI4XSkpKQ0KICAgIF0pDQpTdWNjZXNzZnVsbHkgbWF0 Y2hlZCB0aGlzIGluc3RydWN0aW9uOg0KKHNldCAocmVnL3Y6REkgMTY2IFsg biBdKQ0KICAgIChzaWduX2V4dGVuZDpESSAobWVtL2M6U0kgKHJlZy9mOkRJ IDY0IGFyZykgWzMgbiswIFM0IEExMjhdKSkpDQpGYWlsZWQgdG8gbWF0Y2gg dGhpcyBpbnN0cnVjdGlvbjoNCihzZXQgKHBjKQ0KICAgIChpZl90aGVuX2Vs c2UgKGxlIChzdWJyZWc6REkgKG1lbS9jOlNJIChyZWcvZjpESSA2NCBhcmcp IFszIG4rMCBTNCBBMTI4XSkgMCkNCiAgICAgICAgICAgIChjb25zdF9pbnQg MCBbMF0pKQ0KICAgICAgICAobGFiZWxfcmVmOkRJIDc2KQ0KICAgICAgICAo cGMpKSkNCg0KVHJ5aW5nIDEwIC0+IDI0Og0KICAgMTA6IHIxNjY6REk9c2ln bl9leHRlbmQoW2FyZzpESV0pDQogICAgICBSRUdfRVFVSVYgc2lnbl9leHRl bmQoW2FyZzpESV0pDQogICAyNDogcGM9eyhyMTY2OkRJPD0wKT9MNzY6cGN9 DQogICAgICBSRUdfQlJfUFJPQiAxMTgxMTE2MDQNCkZhaWxlZCB0byBtYXRj aCB0aGlzIGluc3RydWN0aW9uOg0KKHBhcmFsbGVsIFsNCiAgICAgICAgKHNl dCAocGMpDQogICAgICAgICAgICAoaWZfdGhlbl9lbHNlIChsZSAoc3VicmVn OkRJIChtZW0vYzpTSSAocmVnL2Y6REkgNjQgYXJnKSBbMyBuKzAgUzQgQTEy OF0pIDApDQogICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgMCBbMF0p KQ0KICAgICAgICAgICAgICAgIChsYWJlbF9yZWY6REkgNzYpDQogICAgICAg ICAgICAgICAgKHBjKSkpDQogICAgICAgIChzZXQgKHJlZy92OkRJIDE2NiBb IG4gXSkNCiAgICAgICAgICAgIChzaWduX2V4dGVuZDpESSAobWVtL2M6U0kg KHJlZy9mOkRJIDY0IGFyZykgWzMgbiswIFM0IEExMjhdKSkpDQogICAgXSkN CkZhaWxlZCB0byBtYXRjaCB0aGlzIGluc3RydWN0aW9uOg0KKHBhcmFsbGVs IFsNCiAgICAgICAgKHNldCAocGMpDQogICAgICAgICAgICAoaWZfdGhlbl9l bHNlIChsZSAoc3VicmVnOkRJIChtZW0vYzpTSSAocmVnL2Y6REkgNjQgYXJn KSBbMyBuKzAgUzQgQTEyOF0pIDApDQogICAgICAgICAgICAgICAgICAgIChj b25zdF9pbnQgMCBbMF0pKQ0KICAgICAgICAgICAgICAgIChsYWJlbF9yZWY6 REkgNzYpDQogICAgICAgICAgICAgICAgKHBjKSkpDQogICAgICAgIChzZXQg KHJlZy92OkRJIDE2NiBbIG4gXSkNCiAgICAgICAgICAgIChzaWduX2V4dGVu ZDpESSAobWVtL2M6U0kgKHJlZy9mOkRJIDY0IGFyZykgWzMgbiswIFM0IEEx MjhdKSkpDQogICAgXSkNClN1Y2Nlc3NmdWxseSBtYXRjaGVkIHRoaXMgaW5z dHJ1Y3Rpb246DQooc2V0IChyZWcvdjpESSAxNjYgWyBuIF0pDQogICAgKHNp Z25fZXh0ZW5kOkRJIChtZW0vYzpTSSAocmVnL2Y6REkgNjQgYXJnKSBbMyBu KzAgUzQgQTEyOF0pKSkNCkZhaWxlZCB0byBtYXRjaCB0aGlzIGluc3RydWN0 aW9uOg0KKHNldCAocGMpDQogICAgKGlmX3RoZW5fZWxzZSAobGUgKHN1YnJl ZzpESSAobWVtL2M6U0kgKHJlZy9mOkRJIDY0IGFyZykgWzMgbiswIFM0IEEx MjhdKSAwKQ0KICAgICAgICAgICAgKGNvbnN0X2ludCAwIFswXSkpDQogICAg ICAgIChsYWJlbF9yZWY6REkgNzYpDQogICAgICAgIChwYykpKQ0KDQpUcnlp bmcgMjggLT4gMzA6DQogICAyODogcjE1NzpEST11bnNwZWNbcjE1NjpESSww eDgsMHg1LDAsMF0gNjcNCiAgIDMwOiByMTU0OkRJPXIxNTc6REk8PDB4Mw0K RmFpbGVkIHRvIG1hdGNoIHRoaXMgaW5zdHJ1Y3Rpb246DQoocGFyYWxsZWwg Ww0KICAgICAgICAoc2V0IChyZWc6REkgMTU0IFsgaXZ0bXBfMTA1IF0pDQog ICAgICAgICAgICAoYXNoaWZ0OkRJICh1bnNwZWM6REkgWw0KICAgICAgICAg ICAgICAgICAgICAgICAgKHJlZzpESSAxNTYgWyBpdnRtcF8xMTUgXSkNCiAg ICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgOCBbMHg4XSkNCiAg ICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgNSBbMHg1XSkNCiAg ICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgMCBbMF0pIHJlcGVh dGVkIHgyDQogICAgICAgICAgICAgICAgICAgIF0gVU5TUEVDX1ZTRVRWTCkN CiAgICAgICAgICAgICAgICAoY29uc3RfaW50IDMgWzB4M10pKSkNCiAgICAg ICAgKHNldCAocmVnOkRJIDE1NyBbIF8xMTcgXSkNCiAgICAgICAgICAgICh1 bnNwZWM6REkgWw0KICAgICAgICAgICAgICAgICAgICAocmVnOkRJIDE1NiBb IGl2dG1wXzExNSBdKQ0KICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50 IDggWzB4OF0pDQogICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgNSBb MHg1XSkNCiAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCAwIFswXSkg cmVwZWF0ZWQgeDINCiAgICAgICAgICAgICAgICBdIFVOU1BFQ19WU0VUVkwp KQ0KICAgIF0pDQpGYWlsZWQgdG8gbWF0Y2ggdGhpcyBpbnN0cnVjdGlvbjoN CihwYXJhbGxlbCBbDQogICAgICAgIChzZXQgKHJlZzpESSAxNTQgWyBpdnRt cF8xMDUgXSkNCiAgICAgICAgICAgIChhc2hpZnQ6REkgKHVuc3BlYzpESSBb DQogICAgICAgICAgICAgICAgICAgICAgICAocmVnOkRJIDE1NiBbIGl2dG1w XzExNSBdKQ0KICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCA4 IFsweDhdKQ0KICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCA1 IFsweDVdKQ0KICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCAw IFswXSkgcmVwZWF0ZWQgeDINCiAgICAgICAgICAgICAgICAgICAgXSBVTlNQ RUNfVlNFVFZMKQ0KICAgICAgICAgICAgICAgIChjb25zdF9pbnQgMyBbMHgz XSkpKQ0KICAgICAgICAoc2V0IChyZWc6REkgMTU3IFsgXzExNyBdKQ0KICAg ICAgICAgICAgKHVuc3BlYzpESSBbDQogICAgICAgICAgICAgICAgICAgIChy ZWc6REkgMTU2IFsgaXZ0bXBfMTE1IF0pDQogICAgICAgICAgICAgICAgICAg IChjb25zdF9pbnQgOCBbMHg4XSkNCiAgICAgICAgICAgICAgICAgICAgKGNv bnN0X2ludCA1IFsweDVdKQ0KICAgICAgICAgICAgICAgICAgICAoY29uc3Rf aW50IDAgWzBdKSByZXBlYXRlZCB4Mg0KICAgICAgICAgICAgICAgIF0gVU5T UEVDX1ZTRVRWTCkpDQogICAgXSkNClN1Y2Nlc3NmdWxseSBtYXRjaGVkIHRo aXMgaW5zdHJ1Y3Rpb246DQooc2V0IChyZWc6REkgMTU3IFsgXzExNyBdKQ0K ICAgICh1bnNwZWM6REkgWw0KICAgICAgICAgICAgKHJlZzpESSAxNTYgWyBp dnRtcF8xMTUgXSkNCiAgICAgICAgICAgIChjb25zdF9pbnQgOCBbMHg4XSkN CiAgICAgICAgICAgIChjb25zdF9pbnQgNSBbMHg1XSkNCiAgICAgICAgICAg IChjb25zdF9pbnQgMCBbMF0pIHJlcGVhdGVkIHgyDQogICAgICAgIF0gVU5T UEVDX1ZTRVRWTCkpDQpGYWlsZWQgdG8gbWF0Y2ggdGhpcyBpbnN0cnVjdGlv bjoNCihzZXQgKHJlZzpESSAxNTQgWyBpdnRtcF8xMDUgXSkNCiAgICAoYXNo aWZ0OkRJICh1bnNwZWM6REkgWw0KICAgICAgICAgICAgICAgIChyZWc6REkg MTU2IFsgaXZ0bXBfMTE1IF0pDQogICAgICAgICAgICAgICAgKGNvbnN0X2lu dCA4IFsweDhdKQ0KICAgICAgICAgICAgICAgIChjb25zdF9pbnQgNSBbMHg1 XSkNCiAgICAgICAgICAgICAgICAoY29uc3RfaW50IDAgWzBdKSByZXBlYXRl ZCB4Mg0KICAgICAgICAgICAgXSBVTlNQRUNfVlNFVFZMKQ0KICAgICAgICAo Y29uc3RfaW50IDMgWzB4M10pKSkNCg0KVHJ5aW5nIDMzIC0+IDM0Og0KICAg MzM6IHIxNTE6Vk54MlNGPXsodW5zcGVjW2NvbnN0X3ZlY3RvcixyMTU3OkRJ LDB4MiwweDIsMCx2bDpTSSx2dHlwZTpTSV0gNjkpP1tyMTYyOkRJXTp1bnNw ZWNbemVybzpTSV0gNjh9DQogICAzNDogcjE1MDpWTngyREY9ZmxvYXRfZXh0 ZW5kKHIxNTE6Vk54MlNGKQ0KICAgICAgUkVHX0RFQUQgcjE1MTpWTngyU0YN CkZhaWxlZCB0byBtYXRjaCB0aGlzIGluc3RydWN0aW9uOg0KKHNldCAocmVn OlZOeDJERiAxNTAgWyB2ZWN0X184LjEyIF0pDQogICAgKGZsb2F0X2V4dGVu ZDpWTngyREYgKGlmX3RoZW5fZWxzZTpWTngyU0YgKHVuc3BlYzpWTngyQkkg Ww0KICAgICAgICAgICAgICAgICAgICAoY29uc3RfdmVjdG9yOlZOeDJCSSBy ZXBlYXQgWw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9p bnQgMSBbMHgxXSkNCiAgICAgICAgICAgICAgICAgICAgICAgIF0pDQogICAg ICAgICAgICAgICAgICAgIChyZWc6REkgMTU3IFsgXzExNyBdKQ0KICAgICAg ICAgICAgICAgICAgICAoY29uc3RfaW50IDIgWzB4Ml0pIHJlcGVhdGVkIHgy DQogICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgMCBbMF0pDQogICAg ICAgICAgICAgICAgICAgIChyZWc6U0kgNjYgdmwpDQogICAgICAgICAgICAg ICAgICAgIChyZWc6U0kgNjcgdnR5cGUpDQogICAgICAgICAgICAgICAgXSBV TlNQRUNfVlBSRURJQ0FURSkNCiAgICAgICAgICAgIChtZW06Vk54MlNGIChy ZWcvdi9mOkRJIDE2MiBbIGEgXSkgWzIgTUVNIDx2ZWN0b3IoWzIsMl0pIGZs b2F0PiBbKGZsb2F0ICopdmVjdHBfYS45XzEwMF0rMCBTWzgsIDhdIEEzMl0p DQogICAgICAgICAgICAodW5zcGVjOlZOeDJTRiBbDQogICAgICAgICAgICAg ICAgICAgIChyZWc6U0kgMCB6ZXJvKQ0KICAgICAgICAgICAgICAgIF0gVU5T UEVDX1ZVTkRFRikpKSkNCg0KVHJ5aW5nIDM1IC0+IDM2Og0KICAgMzU6IHIx NDk6Vk54MlNGPXsodW5zcGVjW2NvbnN0X3ZlY3RvcixyMTU3OkRJLDB4Miww eDIsMCx2bDpTSSx2dHlwZTpTSV0gNjkpP1tyMTYzOkRJXTp1bnNwZWNbemVy bzpTSV0gNjh9DQogICAzNjogcjE0ODpWTngyREY9ZmxvYXRfZXh0ZW5kKHIx NDk6Vk54MlNGKQ0KICAgICAgUkVHX0RFQUQgcjE0OTpWTngyU0YNCkZhaWxl ZCB0byBtYXRjaCB0aGlzIGluc3RydWN0aW9uOg0KKHNldCAocmVnOlZOeDJE RiAxNDggWyB2ZWN0X18xMS4xNiBdKQ0KICAgIChmbG9hdF9leHRlbmQ6Vk54 MkRGIChpZl90aGVuX2Vsc2U6Vk54MlNGICh1bnNwZWM6Vk54MkJJIFsNCiAg ICAgICAgICAgICAgICAgICAgKGNvbnN0X3ZlY3RvcjpWTngyQkkgcmVwZWF0 IFsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDEg WzB4MV0pDQogICAgICAgICAgICAgICAgICAgICAgICBdKQ0KICAgICAgICAg ICAgICAgICAgICAocmVnOkRJIDE1NyBbIF8xMTcgXSkNCiAgICAgICAgICAg ICAgICAgICAgKGNvbnN0X2ludCAyIFsweDJdKSByZXBlYXRlZCB4Mg0KICAg ICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDAgWzBdKQ0KICAgICAgICAg ICAgICAgICAgICAocmVnOlNJIDY2IHZsKQ0KICAgICAgICAgICAgICAgICAg ICAocmVnOlNJIDY3IHZ0eXBlKQ0KICAgICAgICAgICAgICAgIF0gVU5TUEVD X1ZQUkVESUNBVEUpDQogICAgICAgICAgICAobWVtOlZOeDJTRiAocmVnL3Yv ZjpESSAxNjMgWyBiIF0pIFsyIE1FTSA8dmVjdG9yKFsyLDJdKSBmbG9hdD4g WyhmbG9hdCAqKXZlY3RwX2IuMTNfOTVdKzAgU1s4LCA4XSBBMzJdKQ0KICAg ICAgICAgICAgKHVuc3BlYzpWTngyU0YgWw0KICAgICAgICAgICAgICAgICAg ICAocmVnOlNJIDAgemVybykNCiAgICAgICAgICAgICAgICBdIFVOU1BFQ19W VU5ERUYpKSkpDQoNClRyeWluZyAzMSAtPiAzNzoNCiAgIDMxOiByMTUzOlZO eDJERj17KHVuc3BlY1tjb25zdF92ZWN0b3IscjE1NzpESSwweDIsMHgyLDAs dmw6U0ksdnR5cGU6U0ldIDY5KT9bcjE1ODpESV06dW5zcGVjW3plcm86U0ld IDY4fQ0KICAgMzc6IHtyMTQ3OlZOeDJERj17LXIxNDg6Vk54MkRGKnIxNTA6 Vk54MkRGK3IxNTM6Vk54MkRGfTtjbG9iYmVyIHIxNjg6REk7fQ0KICAgICAg UkVHX0RFQUQgcjE1MzpWTngyREYNCiAgICAgIFJFR19VTlVTRUQgcjE2ODpE SQ0KRmFpbGVkIHRvIG1hdGNoIHRoaXMgaW5zdHJ1Y3Rpb246DQoocGFyYWxs ZWwgWw0KICAgICAgICAoc2V0IChyZWc6Vk54MkRGIDE0NyBbIHZlY3RfXzEz LjE4IF0pDQogICAgICAgICAgICAoZm1hOlZOeDJERiAobmVnOlZOeDJERiAo cmVnOlZOeDJERiAxNDggWyB2ZWN0X18xMS4xNiBdKSkNCiAgICAgICAgICAg ICAgICAocmVnOlZOeDJERiAxNTAgWyB2ZWN0X184LjEyIF0pDQogICAgICAg ICAgICAgICAgKGlmX3RoZW5fZWxzZTpWTngyREYgKHVuc3BlYzpWTngyQkkg Ww0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF92ZWN0b3I6 Vk54MkJJIHJlcGVhdCBbDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAoY29uc3RfaW50IDEgWzB4MV0pDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF0pDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgKHJlZzpESSAxNTcgWyBfMTE3IF0pDQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgKGNvbnN0X2ludCAyIFsweDJdKSByZXBlYXRlZCB4Mg0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgMCBbMF0pDQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJlZzpTSSA2NiB2bCkNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAocmVnOlNJIDY3IHZ0eXBlKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgXSBVTlNQRUNfVlBSRURJQ0FURSkN CiAgICAgICAgICAgICAgICAgICAgKG1lbTpWTngyREYgKHJlZy92L2Y6REkg MTU4IFsgZHN0IF0pIFsxIE1FTSA8dmVjdG9yKFsyLDJdKSBkb3VibGU+IFso ZG91YmxlICopdmVjdHBfZHN0LjZfMTA0XSswIFNbMTYsIDE2XSBBNjRdKQ0K ICAgICAgICAgICAgICAgICAgICAodW5zcGVjOlZOeDJERiBbDQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgKHJlZzpTSSAwIHplcm8pDQogICAgICAg ICAgICAgICAgICAgICAgICBdIFVOU1BFQ19WVU5ERUYpKSkpDQogICAgICAg IChjbG9iYmVyIChyZWc6REkgMTY4KSkNCiAgICBdKQ0KRmFpbGVkIHRvIG1h dGNoIHRoaXMgaW5zdHJ1Y3Rpb246DQooc2V0IChyZWc6Vk54MkRGIDE0NyBb IHZlY3RfXzEzLjE4IF0pDQogICAgKGZtYTpWTngyREYgKG5lZzpWTngyREYg KHJlZzpWTngyREYgMTQ4IFsgdmVjdF9fMTEuMTYgXSkpDQogICAgICAgIChy ZWc6Vk54MkRGIDE1MCBbIHZlY3RfXzguMTIgXSkNCiAgICAgICAgKGlmX3Ro ZW5fZWxzZTpWTngyREYgKHVuc3BlYzpWTngyQkkgWw0KICAgICAgICAgICAg ICAgICAgICAoY29uc3RfdmVjdG9yOlZOeDJCSSByZXBlYXQgWw0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgMSBbMHgxXSkNCiAg ICAgICAgICAgICAgICAgICAgICAgIF0pDQogICAgICAgICAgICAgICAgICAg IChyZWc6REkgMTU3IFsgXzExNyBdKQ0KICAgICAgICAgICAgICAgICAgICAo Y29uc3RfaW50IDIgWzB4Ml0pIHJlcGVhdGVkIHgyDQogICAgICAgICAgICAg ICAgICAgIChjb25zdF9pbnQgMCBbMF0pDQogICAgICAgICAgICAgICAgICAg IChyZWc6U0kgNjYgdmwpDQogICAgICAgICAgICAgICAgICAgIChyZWc6U0kg NjcgdnR5cGUpDQogICAgICAgICAgICAgICAgXSBVTlNQRUNfVlBSRURJQ0FU RSkNCiAgICAgICAgICAgIChtZW06Vk54MkRGIChyZWcvdi9mOkRJIDE1OCBb IGRzdCBdKSBbMSBNRU0gPHZlY3RvcihbMiwyXSkgZG91YmxlPiBbKGRvdWJs ZSAqKXZlY3RwX2RzdC42XzEwNF0rMCBTWzE2LCAxNl0gQTY0XSkNCiAgICAg ICAgICAgICh1bnNwZWM6Vk54MkRGIFsNCiAgICAgICAgICAgICAgICAgICAg KHJlZzpTSSAwIHplcm8pDQogICAgICAgICAgICAgICAgXSBVTlNQRUNfVlVO REVGKSkpKQ0KDQpUcnlpbmcgMzQgLT4gMzc6DQogICAzNDogcjE1MDpWTngy REY9ZmxvYXRfZXh0ZW5kKHIxNTE6Vk54MlNGKQ0KICAgICAgUkVHX0RFQUQg cjE1MTpWTngyU0YNCiAgIDM3OiB7cjE0NzpWTngyREY9ey1yMTQ4OlZOeDJE RipyMTUwOlZOeDJERityMTUzOlZOeDJERn07Y2xvYmJlciByMTY4OkRJO30N CiAgICAgIFJFR19ERUFEIHIxNTM6Vk54MkRGDQogICAgICBSRUdfVU5VU0VE IHIxNjg6REkNCkZhaWxlZCB0byBtYXRjaCB0aGlzIGluc3RydWN0aW9uOg0K KHBhcmFsbGVsIFsNCiAgICAgICAgKHNldCAocmVnOlZOeDJERiAxNDcgWyB2 ZWN0X18xMy4xOCBdKQ0KICAgICAgICAgICAgKGZtYTpWTngyREYgKG5lZzpW TngyREYgKHJlZzpWTngyREYgMTQ4IFsgdmVjdF9fMTEuMTYgXSkpDQogICAg ICAgICAgICAgICAgKGZsb2F0X2V4dGVuZDpWTngyREYgKHJlZzpWTngyU0Yg MTUxIFsgdmVjdF9fNy4xMSBdKSkNCiAgICAgICAgICAgICAgICAocmVnOlZO eDJERiAxNTMgWyB2ZWN0X180LjggXSkpKQ0KICAgICAgICAoY2xvYmJlciAo cmVnOkRJIDE2OCkpDQogICAgICAgIChzZXQgKHJlZzpWTngyREYgMTUwIFsg dmVjdF9fOC4xMiBdKQ0KICAgICAgICAgICAgKGZsb2F0X2V4dGVuZDpWTngy REYgKHJlZzpWTngyU0YgMTUxIFsgdmVjdF9fNy4xMSBdKSkpDQogICAgXSkN CkZhaWxlZCB0byBtYXRjaCB0aGlzIGluc3RydWN0aW9uOg0KKHBhcmFsbGVs IFsNCiAgICAgICAgKHNldCAocmVnOlZOeDJERiAxNDcgWyB2ZWN0X18xMy4x OCBdKQ0KICAgICAgICAgICAgKGZtYTpWTngyREYgKG5lZzpWTngyREYgKHJl ZzpWTngyREYgMTQ4IFsgdmVjdF9fMTEuMTYgXSkpDQogICAgICAgICAgICAg ICAgKGZsb2F0X2V4dGVuZDpWTngyREYgKHJlZzpWTngyU0YgMTUxIFsgdmVj dF9fNy4xMSBdKSkNCiAgICAgICAgICAgICAgICAocmVnOlZOeDJERiAxNTMg WyB2ZWN0X180LjggXSkpKQ0KICAgICAgICAoc2V0IChyZWc6Vk54MkRGIDE1 MCBbIHZlY3RfXzguMTIgXSkNCiAgICAgICAgICAgIChmbG9hdF9leHRlbmQ6 Vk54MkRGIChyZWc6Vk54MlNGIDE1MSBbIHZlY3RfXzcuMTEgXSkpKQ0KICAg IF0pDQpTdWNjZXNzZnVsbHkgbWF0Y2hlZCB0aGlzIGluc3RydWN0aW9uOg0K KHNldCAocmVnOlZOeDJERiAxNTAgWyB2ZWN0X184LjEyIF0pDQogICAgKGZs b2F0X2V4dGVuZDpWTngyREYgKHJlZzpWTngyU0YgMTUxIFsgdmVjdF9fNy4x MSBdKSkpDQpGYWlsZWQgdG8gbWF0Y2ggdGhpcyBpbnN0cnVjdGlvbjoNCihz ZXQgKHJlZzpWTngyREYgMTQ3IFsgdmVjdF9fMTMuMTggXSkNCiAgICAoZm1h OlZOeDJERiAobmVnOlZOeDJERiAocmVnOlZOeDJERiAxNDggWyB2ZWN0X18x MS4xNiBdKSkNCiAgICAgICAgKGZsb2F0X2V4dGVuZDpWTngyREYgKHJlZzpW TngyU0YgMTUxIFsgdmVjdF9fNy4xMSBdKSkNCiAgICAgICAgKHJlZzpWTngy REYgMTUzIFsgdmVjdF9fNC44IF0pKSkNCg0KVHJ5aW5nIDM2IC0+IDM3Og0K ICAgMzY6IHIxNDg6Vk54MkRGPWZsb2F0X2V4dGVuZChyMTQ5OlZOeDJTRikN CiAgICAgIFJFR19ERUFEIHIxNDk6Vk54MlNGDQogICAzNzoge3IxNDc6Vk54 MkRGPXstcjE0ODpWTngyREYqcjE1MDpWTngyREYrcjE1MzpWTngyREZ9O2Ns b2JiZXIgcjE2ODpESTt9DQogICAgICBSRUdfREVBRCByMTUzOlZOeDJERg0K ICAgICAgUkVHX1VOVVNFRCByMTY4OkRJDQpGYWlsZWQgdG8gbWF0Y2ggdGhp cyBpbnN0cnVjdGlvbjoNCihwYXJhbGxlbCBbDQogICAgICAgIChzZXQgKHJl ZzpWTngyREYgMTQ3IFsgdmVjdF9fMTMuMTggXSkNCiAgICAgICAgICAgIChm bWE6Vk54MkRGIChuZWc6Vk54MkRGIChmbG9hdF9leHRlbmQ6Vk54MkRGIChy ZWc6Vk54MlNGIDE0OSBbIHZlY3RfXzEwLjE1IF0pKSkNCiAgICAgICAgICAg ICAgICAocmVnOlZOeDJERiAxNTAgWyB2ZWN0X184LjEyIF0pDQogICAgICAg ICAgICAgICAgKHJlZzpWTngyREYgMTUzIFsgdmVjdF9fNC44IF0pKSkNCiAg ICAgICAgKGNsb2JiZXIgKHJlZzpESSAxNjgpKQ0KICAgICAgICAoc2V0IChy ZWc6Vk54MkRGIDE0OCBbIHZlY3RfXzExLjE2IF0pDQogICAgICAgICAgICAo ZmxvYXRfZXh0ZW5kOlZOeDJERiAocmVnOlZOeDJTRiAxNDkgWyB2ZWN0X18x MC4xNSBdKSkpDQogICAgXSkNCkZhaWxlZCB0byBtYXRjaCB0aGlzIGluc3Ry dWN0aW9uOg0KKHBhcmFsbGVsIFsNCiAgICAgICAgKHNldCAocmVnOlZOeDJE RiAxNDcgWyB2ZWN0X18xMy4xOCBdKQ0KICAgICAgICAgICAgKGZtYTpWTngy REYgKG5lZzpWTngyREYgKGZsb2F0X2V4dGVuZDpWTngyREYgKHJlZzpWTngy U0YgMTQ5IFsgdmVjdF9fMTAuMTUgXSkpKQ0KICAgICAgICAgICAgICAgIChy ZWc6Vk54MkRGIDE1MCBbIHZlY3RfXzguMTIgXSkNCiAgICAgICAgICAgICAg ICAocmVnOlZOeDJERiAxNTMgWyB2ZWN0X180LjggXSkpKQ0KICAgICAgICAo c2V0IChyZWc6Vk54MkRGIDE0OCBbIHZlY3RfXzExLjE2IF0pDQogICAgICAg ICAgICAoZmxvYXRfZXh0ZW5kOlZOeDJERiAocmVnOlZOeDJTRiAxNDkgWyB2 ZWN0X18xMC4xNSBdKSkpDQogICAgXSkNClN1Y2Nlc3NmdWxseSBtYXRjaGVk IHRoaXMgaW5zdHJ1Y3Rpb246DQooc2V0IChyZWc6Vk54MkRGIDE0OCBbIHZl Y3RfXzExLjE2IF0pDQogICAgKGZsb2F0X2V4dGVuZDpWTngyREYgKHJlZzpW TngyU0YgMTQ5IFsgdmVjdF9fMTAuMTUgXSkpKQ0KRmFpbGVkIHRvIG1hdGNo IHRoaXMgaW5zdHJ1Y3Rpb246DQooc2V0IChyZWc6Vk54MkRGIDE0NyBbIHZl Y3RfXzEzLjE4IF0pDQogICAgKGZtYTpWTngyREYgKG5lZzpWTngyREYgKGZs b2F0X2V4dGVuZDpWTngyREYgKHJlZzpWTngyU0YgMTQ5IFsgdmVjdF9fMTAu MTUgXSkpKQ0KICAgICAgICAocmVnOlZOeDJERiAxNTAgWyB2ZWN0X184LjEy IF0pDQogICAgICAgIChyZWc6Vk54MkRGIDE1MyBbIHZlY3RfXzQuOCBdKSkp DQoNClRyeWluZyAzMywgMzQgLT4gMzc6DQogICAzMzogcjE1MTpWTngyU0Y9 eyh1bnNwZWNbY29uc3RfdmVjdG9yLHIxNTc6REksMHgyLDB4MiwwLHZsOlNJ LHZ0eXBlOlNJXSA2OSk/W3IxNjI6REldOnVuc3BlY1t6ZXJvOlNJXSA2OH0N CiAgIDM0OiByMTUwOlZOeDJERj1mbG9hdF9leHRlbmQocjE1MTpWTngyU0Yp DQogICAgICBSRUdfREVBRCByMTUxOlZOeDJTRg0KICAgMzc6IHtyMTQ3OlZO eDJERj17LXIxNDg6Vk54MkRGKnIxNTA6Vk54MkRGK3IxNTM6Vk54MkRGfTtj bG9iYmVyIHIxNjg6REk7fQ0KICAgICAgUkVHX0RFQUQgcjE1MzpWTngyREYN CiAgICAgIFJFR19VTlVTRUQgcjE2ODpESQ0KRmFpbGVkIHRvIG1hdGNoIHRo aXMgaW5zdHJ1Y3Rpb246DQoocGFyYWxsZWwgWw0KICAgICAgICAoc2V0IChy ZWc6Vk54MkRGIDE0NyBbIHZlY3RfXzEzLjE4IF0pDQogICAgICAgICAgICAo Zm1hOlZOeDJERiAobmVnOlZOeDJERiAocmVnOlZOeDJERiAxNDggWyB2ZWN0 X18xMS4xNiBdKSkNCiAgICAgICAgICAgICAgICAoZmxvYXRfZXh0ZW5kOlZO eDJERiAoaWZfdGhlbl9lbHNlOlZOeDJTRiAodW5zcGVjOlZOeDJCSSBbDQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF92ZWN0b3I6 Vk54MkJJIHJlcGVhdCBbDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKGNvbnN0X2ludCAxIFsweDFdKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXSkNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKHJlZzpESSAxNTcgWyBfMTE3IF0pDQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgMiBbMHgyXSkg cmVwZWF0ZWQgeDINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KGNvbnN0X2ludCAwIFswXSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKHJlZzpTSSA2NiB2bCkNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKHJlZzpTSSA2NyB2dHlwZSkNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBdIFVOU1BFQ19WUFJFRElDQVRFKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgKG1lbTpWTngyU0YgKHJlZy92L2Y6REkgMTYyIFsgYSBd KSBbMiBNRU0gPHZlY3RvcihbMiwyXSkgZmxvYXQ+IFsoZmxvYXQgKil2ZWN0 cF9hLjlfMTAwXSswIFNbOCwgOF0gQTMyXSkNCiAgICAgICAgICAgICAgICAg ICAgICAgICh1bnNwZWM6Vk54MlNGIFsNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKHJlZzpTSSAwIHplcm8pDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgXSBVTlNQRUNfVlVOREVGKSkpDQogICAgICAgICAgICAg ICAgKHJlZzpWTngyREYgMTUzIFsgdmVjdF9fNC44IF0pKSkNCiAgICAgICAg KGNsb2JiZXIgKHJlZzpESSAxNjgpKQ0KICAgICAgICAoc2V0IChyZWc6Vk54 MkRGIDE1MCBbIHZlY3RfXzguMTIgXSkNCiAgICAgICAgICAgIChmbG9hdF9l eHRlbmQ6Vk54MkRGIChpZl90aGVuX2Vsc2U6Vk54MlNGICh1bnNwZWM6Vk54 MkJJIFsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfdmVj dG9yOlZOeDJCSSByZXBlYXQgWw0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKGNvbnN0X2ludCAxIFsweDFdKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBdKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChyZWc6REkgMTU3IFsgXzExNyBdKQ0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChjb25zdF9pbnQgMiBbMHgyXSkgcmVwZWF0ZWQgeDIN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDAgWzBd KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIChyZWc6U0kgNjYgdmwp DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJlZzpTSSA2NyB2dHlw ZSkNCiAgICAgICAgICAgICAgICAgICAgICAgIF0gVU5TUEVDX1ZQUkVESUNB VEUpDQogICAgICAgICAgICAgICAgICAgIChtZW06Vk54MlNGIChyZWcvdi9m OkRJIDE2MiBbIGEgXSkgWzIgTUVNIDx2ZWN0b3IoWzIsMl0pIGZsb2F0PiBb KGZsb2F0ICopdmVjdHBfYS45XzEwMF0rMCBTWzgsIDhdIEEzMl0pDQogICAg ICAgICAgICAgICAgICAgICh1bnNwZWM6Vk54MlNGIFsNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAocmVnOlNJIDAgemVybykNCiAgICAgICAgICAg ICAgICAgICAgICAgIF0gVU5TUEVDX1ZVTkRFRikpKSkNCiAgICBdKQ0KRmFp bGVkIHRvIG1hdGNoIHRoaXMgaW5zdHJ1Y3Rpb246DQoocGFyYWxsZWwgWw0K ICAgICAgICAoc2V0IChyZWc6Vk54MkRGIDE0NyBbIHZlY3RfXzEzLjE4IF0p DQogICAgICAgICAgICAoZm1hOlZOeDJERiAobmVnOlZOeDJERiAocmVnOlZO eDJERiAxNDggWyB2ZWN0X18xMS4xNiBdKSkNCiAgICAgICAgICAgICAgICAo ZmxvYXRfZXh0ZW5kOlZOeDJERiAoaWZfdGhlbl9lbHNlOlZOeDJTRiAodW5z cGVjOlZOeDJCSSBbDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IChjb25zdF92ZWN0b3I6Vk54MkJJIHJlcGVhdCBbDQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCAxIFsweDFd KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSkNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJlZzpESSAxNTcgWyBf MTE3IF0pDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb25z dF9pbnQgMiBbMHgyXSkgcmVwZWF0ZWQgeDINCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKGNvbnN0X2ludCAwIFswXSkNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKHJlZzpTSSA2NiB2bCkNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKHJlZzpTSSA2NyB2dHlwZSkNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBdIFVOU1BFQ19WUFJFRElDQVRF KQ0KICAgICAgICAgICAgICAgICAgICAgICAgKG1lbTpWTngyU0YgKHJlZy92 L2Y6REkgMTYyIFsgYSBdKSBbMiBNRU0gPHZlY3RvcihbMiwyXSkgZmxvYXQ+ IFsoZmxvYXQgKil2ZWN0cF9hLjlfMTAwXSswIFNbOCwgOF0gQTMyXSkNCiAg ICAgICAgICAgICAgICAgICAgICAgICh1bnNwZWM6Vk54MlNGIFsNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJlZzpTSSAwIHplcm8pDQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgXSBVTlNQRUNfVlVOREVGKSkp DQogICAgICAgICAgICAgICAgKHJlZzpWTngyREYgMTUzIFsgdmVjdF9fNC44 IF0pKSkNCiAgICAgICAgKHNldCAocmVnOlZOeDJERiAxNTAgWyB2ZWN0X184 LjEyIF0pDQogICAgICAgICAgICAoZmxvYXRfZXh0ZW5kOlZOeDJERiAoaWZf dGhlbl9lbHNlOlZOeDJTRiAodW5zcGVjOlZOeDJCSSBbDQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgKGNvbnN0X3ZlY3RvcjpWTngyQkkgcmVwZWF0 IFsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb25z dF9pbnQgMSBbMHgxXSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAocmVnOkRJIDE1 NyBbIF8xMTcgXSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29u c3RfaW50IDIgWzB4Ml0pIHJlcGVhdGVkIHgyDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgKGNvbnN0X2ludCAwIFswXSkNCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAocmVnOlNJIDY2IHZsKQ0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChyZWc6U0kgNjcgdnR5cGUpDQogICAgICAgICAgICAg ICAgICAgICAgICBdIFVOU1BFQ19WUFJFRElDQVRFKQ0KICAgICAgICAgICAg ICAgICAgICAobWVtOlZOeDJTRiAocmVnL3YvZjpESSAxNjIgWyBhIF0pIFsy IE1FTSA8dmVjdG9yKFsyLDJdKSBmbG9hdD4gWyhmbG9hdCAqKXZlY3RwX2Eu OV8xMDBdKzAgU1s4LCA4XSBBMzJdKQ0KICAgICAgICAgICAgICAgICAgICAo dW5zcGVjOlZOeDJTRiBbDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg KHJlZzpTSSAwIHplcm8pDQogICAgICAgICAgICAgICAgICAgICAgICBdIFVO U1BFQ19WVU5ERUYpKSkpDQogICAgXSkNCkZhaWxlZCB0byBtYXRjaCB0aGlz IGluc3RydWN0aW9uOg0KKHNldCAocmVnOlZOeDJERiAxNTAgWyB2ZWN0X184 LjEyIF0pDQogICAgKGZsb2F0X2V4dGVuZDpWTngyREYgKGlmX3RoZW5fZWxz ZTpWTngyU0YgKHVuc3BlYzpWTngyQkkgWw0KICAgICAgICAgICAgICAgICAg ICAoY29uc3RfdmVjdG9yOlZOeDJCSSByZXBlYXQgWw0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIChjb25zdF9pbnQgMSBbMHgxXSkNCiAgICAgICAg ICAgICAgICAgICAgICAgIF0pDQogICAgICAgICAgICAgICAgICAgIChyZWc6 REkgMTU3IFsgXzExNyBdKQ0KICAgICAgICAgICAgICAgICAgICAoY29uc3Rf aW50IDIgWzB4Ml0pIHJlcGVhdGVkIHgyDQogICAgICAgICAgICAgICAgICAg IChjb25zdF9pbnQgMCBbMF0pDQogICAgICAgICAgICAgICAgICAgIChyZWc6 U0kgNjYgdmwpDQogICAgICAgICAgICAgICAgICAgIChyZWc6U0kgNjcgdnR5 cGUpDQogICAgICAgICAgICAgICAgXSBVTlNQRUNfVlBSRURJQ0FURSkNCiAg ICAgICAgICAgIChtZW06Vk54MlNGIChyZWcvdi9mOkRJIDE2MiBbIGEgXSkg WzIgTUVNIDx2ZWN0b3IoWzIsMl0pIGZsb2F0PiBbKGZsb2F0ICopdmVjdHBf YS45XzEwMF0rMCBTWzgsIDhdIEEzMl0pDQogICAgICAgICAgICAodW5zcGVj OlZOeDJTRiBbDQogICAgICAgICAgICAgICAgICAgIChyZWc6U0kgMCB6ZXJv KQ0KICAgICAgICAgICAgICAgIF0gVU5TUEVDX1ZVTkRFRikpKSkNCg0KVHJ5 aW5nIDM1LCAzNiAtPiAzNzoNCiAgIDM1OiByMTQ5OlZOeDJTRj17KHVuc3Bl Y1tjb25zdF92ZWN0b3IscjE1NzpESSwweDIsMHgyLDAsdmw6U0ksdnR5cGU6 U0ldIDY5KT9bcjE2MzpESV06dW5zcGVjW3plcm86U0ldIDY4fQ0KICAgMzY6 IHIxNDg6Vk54MkRGPWZsb2F0X2V4dGVuZChyMTQ5OlZOeDJTRikNCiAgICAg IFJFR19ERUFEIHIxNDk6Vk54MlNGDQogICAzNzoge3IxNDc6Vk54MkRGPXst cjE0ODpWTngyREYqcjE1MDpWTngyREYrcjE1MzpWTngyREZ9O2Nsb2JiZXIg cjE2ODpESTt9DQogICAgICBSRUdfREVBRCByMTUzOlZOeDJERg0KICAgICAg UkVHX1VOVVNFRCByMTY4OkRJDQpGYWlsZWQgdG8gbWF0Y2ggdGhpcyBpbnN0 cnVjdGlvbjoNCihwYXJhbGxlbCBbDQogICAgICAgIChzZXQgKHJlZzpWTngy REYgMTQ3IFsgdmVjdF9fMTMuMTggXSkNCiAgICAgICAgICAgIChmbWE6Vk54 MkRGIChuZWc6Vk54MkRGIChmbG9hdF9leHRlbmQ6Vk54MkRGIChpZl90aGVu X2Vsc2U6Vk54MlNGICh1bnNwZWM6Vk54MkJJIFsNCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChjb25zdF92ZWN0b3I6Vk54MkJJIHJl cGVhdCBbDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChjb25zdF9pbnQgMSBbMHgxXSkNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBdKQ0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKHJlZzpESSAxNTcgWyBfMTE3IF0pDQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDIg WzB4Ml0pIHJlcGVhdGVkIHgyDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAoY29uc3RfaW50IDAgWzBdKQ0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKHJlZzpTSSA2NiB2bCkNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChyZWc6U0kgNjcgdnR5cGUp DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0gVU5TUEVDX1ZQ UkVESUNBVEUpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1lbTpW TngyU0YgKHJlZy92L2Y6REkgMTYzIFsgYiBdKSBbMiBNRU0gPHZlY3Rvcihb MiwyXSkgZmxvYXQ+IFsoZmxvYXQgKil2ZWN0cF9iLjEzXzk1XSswIFNbOCwg OF0gQTMyXSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAodW5zcGVj OlZOeDJTRiBbDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAocmVnOlNJIDAgemVybykNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXSBVTlNQRUNfVlVOREVGKSkpKQ0KICAgICAgICAgICAgICAgIChy ZWc6Vk54MkRGIDE1MCBbIHZlY3RfXzguMTIgXSkNCiAgICAgICAgICAgICAg ICAocmVnOlZOeDJERiAxNTMgWyB2ZWN0X180LjggXSkpKQ0KICAgICAgICAo Y2xvYmJlciAocmVnOkRJIDE2OCkpDQogICAgICAgIChzZXQgKHJlZzpWTngy REYgMTQ4IFsgdmVjdF9fMTEuMTYgXSkNCiAgICAgICAgICAgIChmbG9hdF9l eHRlbmQ6Vk54MkRGIChpZl90aGVuX2Vsc2U6Vk54MlNGICh1bnNwZWM6Vk54 MkJJIFsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfdmVj dG9yOlZOeDJCSSByZXBlYXQgWw0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKGNvbnN0X2ludCAxIFsweDFdKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBdKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChyZWc6REkgMTU3IFsgXzExNyBdKQ0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChjb25zdF9pbnQgMiBbMHgyXSkgcmVwZWF0ZWQgeDIN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDAgWzBd KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIChyZWc6U0kgNjYgdmwp DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJlZzpTSSA2NyB2dHlw ZSkNCiAgICAgICAgICAgICAgICAgICAgICAgIF0gVU5TUEVDX1ZQUkVESUNB VEUpDQogICAgICAgICAgICAgICAgICAgIChtZW06Vk54MlNGIChyZWcvdi9m OkRJIDE2MyBbIGIgXSkgWzIgTUVNIDx2ZWN0b3IoWzIsMl0pIGZsb2F0PiBb KGZsb2F0ICopdmVjdHBfYi4xM185NV0rMCBTWzgsIDhdIEEzMl0pDQogICAg ICAgICAgICAgICAgICAgICh1bnNwZWM6Vk54MlNGIFsNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAocmVnOlNJIDAgemVybykNCiAgICAgICAgICAg ICAgICAgICAgICAgIF0gVU5TUEVDX1ZVTkRFRikpKSkNCiAgICBdKQ0KRmFp bGVkIHRvIG1hdGNoIHRoaXMgaW5zdHJ1Y3Rpb246DQoocGFyYWxsZWwgWw0K ICAgICAgICAoc2V0IChyZWc6Vk54MkRGIDE0NyBbIHZlY3RfXzEzLjE4IF0p DQogICAgICAgICAgICAoZm1hOlZOeDJERiAobmVnOlZOeDJERiAoZmxvYXRf ZXh0ZW5kOlZOeDJERiAoaWZfdGhlbl9lbHNlOlZOeDJTRiAodW5zcGVjOlZO eDJCSSBbDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo Y29uc3RfdmVjdG9yOlZOeDJCSSByZXBlYXQgWw0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDEgWzB4 MV0pDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChyZWc6 REkgMTU3IFsgXzExNyBdKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKGNvbnN0X2ludCAyIFsweDJdKSByZXBlYXRlZCB4Mg0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCAw IFswXSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChy ZWc6U0kgNjYgdmwpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAocmVnOlNJIDY3IHZ0eXBlKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBdIFVOU1BFQ19WUFJFRElDQVRFKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIChtZW06Vk54MlNGIChyZWcvdi9mOkRJIDE2MyBb IGIgXSkgWzIgTUVNIDx2ZWN0b3IoWzIsMl0pIGZsb2F0PiBbKGZsb2F0ICop dmVjdHBfYi4xM185NV0rMCBTWzgsIDhdIEEzMl0pDQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgKHVuc3BlYzpWTngyU0YgWw0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKHJlZzpTSSAwIHplcm8pDQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0gVU5TUEVDX1ZVTkRFRikp KSkNCiAgICAgICAgICAgICAgICAocmVnOlZOeDJERiAxNTAgWyB2ZWN0X184 LjEyIF0pDQogICAgICAgICAgICAgICAgKHJlZzpWTngyREYgMTUzIFsgdmVj dF9fNC44IF0pKSkNCiAgICAgICAgKHNldCAocmVnOlZOeDJERiAxNDggWyB2 ZWN0X18xMS4xNiBdKQ0KICAgICAgICAgICAgKGZsb2F0X2V4dGVuZDpWTngy REYgKGlmX3RoZW5fZWxzZTpWTngyU0YgKHVuc3BlYzpWTngyQkkgWw0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF92ZWN0b3I6Vk54MkJJ IHJlcGVhdCBbDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAoY29uc3RfaW50IDEgWzB4MV0pDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF0pDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJl ZzpESSAxNTcgWyBfMTE3IF0pDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgKGNvbnN0X2ludCAyIFsweDJdKSByZXBlYXRlZCB4Mg0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgMCBbMF0pDQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgKHJlZzpTSSA2NiB2bCkNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAocmVnOlNJIDY3IHZ0eXBlKQ0KICAgICAg ICAgICAgICAgICAgICAgICAgXSBVTlNQRUNfVlBSRURJQ0FURSkNCiAgICAg ICAgICAgICAgICAgICAgKG1lbTpWTngyU0YgKHJlZy92L2Y6REkgMTYzIFsg YiBdKSBbMiBNRU0gPHZlY3RvcihbMiwyXSkgZmxvYXQ+IFsoZmxvYXQgKil2 ZWN0cF9iLjEzXzk1XSswIFNbOCwgOF0gQTMyXSkNCiAgICAgICAgICAgICAg ICAgICAgKHVuc3BlYzpWTngyU0YgWw0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChyZWc6U0kgMCB6ZXJvKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgXSBVTlNQRUNfVlVOREVGKSkpKQ0KICAgIF0pDQpGYWlsZWQgdG8gbWF0 Y2ggdGhpcyBpbnN0cnVjdGlvbjoNCihzZXQgKHJlZzpWTngyREYgMTQ4IFsg dmVjdF9fMTEuMTYgXSkNCiAgICAoZmxvYXRfZXh0ZW5kOlZOeDJERiAoaWZf dGhlbl9lbHNlOlZOeDJTRiAodW5zcGVjOlZOeDJCSSBbDQogICAgICAgICAg ICAgICAgICAgIChjb25zdF92ZWN0b3I6Vk54MkJJIHJlcGVhdCBbDQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCAxIFsweDFdKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgXSkNCiAgICAgICAgICAgICAgICAg ICAgKHJlZzpESSAxNTcgWyBfMTE3IF0pDQogICAgICAgICAgICAgICAgICAg IChjb25zdF9pbnQgMiBbMHgyXSkgcmVwZWF0ZWQgeDINCiAgICAgICAgICAg ICAgICAgICAgKGNvbnN0X2ludCAwIFswXSkNCiAgICAgICAgICAgICAgICAg ICAgKHJlZzpTSSA2NiB2bCkNCiAgICAgICAgICAgICAgICAgICAgKHJlZzpT SSA2NyB2dHlwZSkNCiAgICAgICAgICAgICAgICBdIFVOU1BFQ19WUFJFRElD QVRFKQ0KICAgICAgICAgICAgKG1lbTpWTngyU0YgKHJlZy92L2Y6REkgMTYz IFsgYiBdKSBbMiBNRU0gPHZlY3RvcihbMiwyXSkgZmxvYXQ+IFsoZmxvYXQg Kil2ZWN0cF9iLjEzXzk1XSswIFNbOCwgOF0gQTMyXSkNCiAgICAgICAgICAg ICh1bnNwZWM6Vk54MlNGIFsNCiAgICAgICAgICAgICAgICAgICAgKHJlZzpT SSAwIHplcm8pDQogICAgICAgICAgICAgICAgXSBVTlNQRUNfVlVOREVGKSkp KQ0KDQpUcnlpbmcgMzQsIDMxIC0+IDM3Og0KICAgMzQ6IHIxNTA6Vk54MkRG PWZsb2F0X2V4dGVuZChyMTUxOlZOeDJTRikNCiAgICAgIFJFR19ERUFEIHIx NTE6Vk54MlNGDQogICAzMTogcjE1MzpWTngyREY9eyh1bnNwZWNbY29uc3Rf dmVjdG9yLHIxNTc6REksMHgyLDB4MiwwLHZsOlNJLHZ0eXBlOlNJXSA2OSk/ W3IxNTg6REldOnVuc3BlY1t6ZXJvOlNJXSA2OH0NCiAgIDM3OiB7cjE0NzpW TngyREY9ey1yMTQ4OlZOeDJERipyMTUwOlZOeDJERityMTUzOlZOeDJERn07 Y2xvYmJlciByMTY4OkRJO30NCiAgICAgIFJFR19ERUFEIHIxNTM6Vk54MkRG DQogICAgICBSRUdfVU5VU0VEIHIxNjg6REkNCkZhaWxlZCB0byBtYXRjaCB0 aGlzIGluc3RydWN0aW9uOg0KKHBhcmFsbGVsIFsNCiAgICAgICAgKHNldCAo cmVnOlZOeDJERiAxNDcgWyB2ZWN0X18xMy4xOCBdKQ0KICAgICAgICAgICAg KGZtYTpWTngyREYgKG5lZzpWTngyREYgKHJlZzpWTngyREYgMTQ4IFsgdmVj dF9fMTEuMTYgXSkpDQogICAgICAgICAgICAgICAgKGZsb2F0X2V4dGVuZDpW TngyREYgKHJlZzpWTngyU0YgMTUxIFsgdmVjdF9fNy4xMSBdKSkNCiAgICAg ICAgICAgICAgICAoaWZfdGhlbl9lbHNlOlZOeDJERiAodW5zcGVjOlZOeDJC SSBbDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X3ZlY3Rv cjpWTngyQkkgcmVwZWF0IFsNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIChjb25zdF9pbnQgMSBbMHgxXSkNCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXSkNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAocmVnOkRJIDE1NyBbIF8xMTcgXSkNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAoY29uc3RfaW50IDIgWzB4Ml0pIHJlcGVhdGVkIHgyDQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCAwIFswXSkN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAocmVnOlNJIDY2IHZsKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChyZWc6U0kgNjcgdnR5cGUp DQogICAgICAgICAgICAgICAgICAgICAgICBdIFVOU1BFQ19WUFJFRElDQVRF KQ0KICAgICAgICAgICAgICAgICAgICAobWVtOlZOeDJERiAocmVnL3YvZjpE SSAxNTggWyBkc3QgXSkgWzEgTUVNIDx2ZWN0b3IoWzIsMl0pIGRvdWJsZT4g Wyhkb3VibGUgKil2ZWN0cF9kc3QuNl8xMDRdKzAgU1sxNiwgMTZdIEE2NF0p DQogICAgICAgICAgICAgICAgICAgICh1bnNwZWM6Vk54MkRGIFsNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAocmVnOlNJIDAgemVybykNCiAgICAg ICAgICAgICAgICAgICAgICAgIF0gVU5TUEVDX1ZVTkRFRikpKSkNCiAgICAg ICAgKGNsb2JiZXIgKHJlZzpESSAxNjgpKQ0KICAgICAgICAoc2V0IChyZWc6 Vk54MkRGIDE1MCBbIHZlY3RfXzguMTIgXSkNCiAgICAgICAgICAgIChmbG9h dF9leHRlbmQ6Vk54MkRGIChyZWc6Vk54MlNGIDE1MSBbIHZlY3RfXzcuMTEg XSkpKQ0KICAgIF0pDQpGYWlsZWQgdG8gbWF0Y2ggdGhpcyBpbnN0cnVjdGlv bjoNCihwYXJhbGxlbCBbDQogICAgICAgIChzZXQgKHJlZzpWTngyREYgMTQ3 IFsgdmVjdF9fMTMuMTggXSkNCiAgICAgICAgICAgIChmbWE6Vk54MkRGIChu ZWc6Vk54MkRGIChyZWc6Vk54MkRGIDE0OCBbIHZlY3RfXzExLjE2IF0pKQ0K ICAgICAgICAgICAgICAgIChmbG9hdF9leHRlbmQ6Vk54MkRGIChyZWc6Vk54 MlNGIDE1MSBbIHZlY3RfXzcuMTEgXSkpDQogICAgICAgICAgICAgICAgKGlm X3RoZW5fZWxzZTpWTngyREYgKHVuc3BlYzpWTngyQkkgWw0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChjb25zdF92ZWN0b3I6Vk54MkJJIHJlcGVh dCBbDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29u c3RfaW50IDEgWzB4MV0pDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF0pDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJlZzpESSAx NTcgWyBfMTE3IF0pDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNv bnN0X2ludCAyIFsweDJdKSByZXBlYXRlZCB4Mg0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChjb25zdF9pbnQgMCBbMF0pDQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgKHJlZzpTSSA2NiB2bCkNCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAocmVnOlNJIDY3IHZ0eXBlKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgXSBVTlNQRUNfVlBSRURJQ0FURSkNCiAgICAgICAgICAg ICAgICAgICAgKG1lbTpWTngyREYgKHJlZy92L2Y6REkgMTU4IFsgZHN0IF0p IFsxIE1FTSA8dmVjdG9yKFsyLDJdKSBkb3VibGU+IFsoZG91YmxlICopdmVj dHBfZHN0LjZfMTA0XSswIFNbMTYsIDE2XSBBNjRdKQ0KICAgICAgICAgICAg ICAgICAgICAodW5zcGVjOlZOeDJERiBbDQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgKHJlZzpTSSAwIHplcm8pDQogICAgICAgICAgICAgICAgICAg ICAgICBdIFVOU1BFQ19WVU5ERUYpKSkpDQogICAgICAgIChzZXQgKHJlZzpW TngyREYgMTUwIFsgdmVjdF9fOC4xMiBdKQ0KICAgICAgICAgICAgKGZsb2F0 X2V4dGVuZDpWTngyREYgKHJlZzpWTngyU0YgMTUxIFsgdmVjdF9fNy4xMSBd KSkpDQogICAgXSkNClN1Y2Nlc3NmdWxseSBtYXRjaGVkIHRoaXMgaW5zdHJ1 Y3Rpb246DQooc2V0IChyZWc6Vk54MkRGIDE1MCBbIHZlY3RfXzguMTIgXSkN CiAgICAoZmxvYXRfZXh0ZW5kOlZOeDJERiAocmVnOlZOeDJTRiAxNTEgWyB2 ZWN0X183LjExIF0pKSkNCkZhaWxlZCB0byBtYXRjaCB0aGlzIGluc3RydWN0 aW9uOg0KKHNldCAocmVnOlZOeDJERiAxNDcgWyB2ZWN0X18xMy4xOCBdKQ0K ICAgIChmbWE6Vk54MkRGIChuZWc6Vk54MkRGIChyZWc6Vk54MkRGIDE0OCBb IHZlY3RfXzExLjE2IF0pKQ0KICAgICAgICAoZmxvYXRfZXh0ZW5kOlZOeDJE RiAocmVnOlZOeDJTRiAxNTEgWyB2ZWN0X183LjExIF0pKQ0KICAgICAgICAo aWZfdGhlbl9lbHNlOlZOeDJERiAodW5zcGVjOlZOeDJCSSBbDQogICAgICAg ICAgICAgICAgICAgIChjb25zdF92ZWN0b3I6Vk54MkJJIHJlcGVhdCBbDQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCAxIFsweDFd KQ0KICAgICAgICAgICAgICAgICAgICAgICAgXSkNCiAgICAgICAgICAgICAg ICAgICAgKHJlZzpESSAxNTcgWyBfMTE3IF0pDQogICAgICAgICAgICAgICAg ICAgIChjb25zdF9pbnQgMiBbMHgyXSkgcmVwZWF0ZWQgeDINCiAgICAgICAg ICAgICAgICAgICAgKGNvbnN0X2ludCAwIFswXSkNCiAgICAgICAgICAgICAg ICAgICAgKHJlZzpTSSA2NiB2bCkNCiAgICAgICAgICAgICAgICAgICAgKHJl ZzpTSSA2NyB2dHlwZSkNCiAgICAgICAgICAgICAgICBdIFVOU1BFQ19WUFJF RElDQVRFKQ0KICAgICAgICAgICAgKG1lbTpWTngyREYgKHJlZy92L2Y6REkg MTU4IFsgZHN0IF0pIFsxIE1FTSA8dmVjdG9yKFsyLDJdKSBkb3VibGU+IFso ZG91YmxlICopdmVjdHBfZHN0LjZfMTA0XSswIFNbMTYsIDE2XSBBNjRdKQ0K ICAgICAgICAgICAgKHVuc3BlYzpWTngyREYgWw0KICAgICAgICAgICAgICAg ICAgICAocmVnOlNJIDAgemVybykNCiAgICAgICAgICAgICAgICBdIFVOU1BF Q19WVU5ERUYpKSkpDQoNClRyeWluZyAzNiwgMzEgLT4gMzc6DQogICAzNjog cjE0ODpWTngyREY9ZmxvYXRfZXh0ZW5kKHIxNDk6Vk54MlNGKQ0KICAgICAg UkVHX0RFQUQgcjE0OTpWTngyU0YNCiAgIDMxOiByMTUzOlZOeDJERj17KHVu c3BlY1tjb25zdF92ZWN0b3IscjE1NzpESSwweDIsMHgyLDAsdmw6U0ksdnR5 cGU6U0ldIDY5KT9bcjE1ODpESV06dW5zcGVjW3plcm86U0ldIDY4fQ0KICAg Mzc6IHtyMTQ3OlZOeDJERj17LXIxNDg6Vk54MkRGKnIxNTA6Vk54MkRGK3Ix NTM6Vk54MkRGfTtjbG9iYmVyIHIxNjg6REk7fQ0KICAgICAgUkVHX0RFQUQg cjE1MzpWTngyREYNCiAgICAgIFJFR19VTlVTRUQgcjE2ODpESQ0KRmFpbGVk IHRvIG1hdGNoIHRoaXMgaW5zdHJ1Y3Rpb246DQoocGFyYWxsZWwgWw0KICAg ICAgICAoc2V0IChyZWc6Vk54MkRGIDE0NyBbIHZlY3RfXzEzLjE4IF0pDQog ICAgICAgICAgICAoZm1hOlZOeDJERiAobmVnOlZOeDJERiAoZmxvYXRfZXh0 ZW5kOlZOeDJERiAocmVnOlZOeDJTRiAxNDkgWyB2ZWN0X18xMC4xNSBdKSkp DQogICAgICAgICAgICAgICAgKHJlZzpWTngyREYgMTUwIFsgdmVjdF9fOC4x MiBdKQ0KICAgICAgICAgICAgICAgIChpZl90aGVuX2Vsc2U6Vk54MkRGICh1 bnNwZWM6Vk54MkJJIFsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAo Y29uc3RfdmVjdG9yOlZOeDJCSSByZXBlYXQgWw0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCAxIFsweDFdKQ0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIChyZWc6REkgMTU3IFsgXzExNyBdKQ0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgMiBbMHgyXSkgcmVw ZWF0ZWQgeDINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3Rf aW50IDAgWzBdKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIChyZWc6 U0kgNjYgdmwpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJlZzpT SSA2NyB2dHlwZSkNCiAgICAgICAgICAgICAgICAgICAgICAgIF0gVU5TUEVD X1ZQUkVESUNBVEUpDQogICAgICAgICAgICAgICAgICAgIChtZW06Vk54MkRG IChyZWcvdi9mOkRJIDE1OCBbIGRzdCBdKSBbMSBNRU0gPHZlY3RvcihbMiwy XSkgZG91YmxlPiBbKGRvdWJsZSAqKXZlY3RwX2RzdC42XzEwNF0rMCBTWzE2 LCAxNl0gQTY0XSkNCiAgICAgICAgICAgICAgICAgICAgKHVuc3BlYzpWTngy REYgWw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIChyZWc6U0kgMCB6 ZXJvKQ0KICAgICAgICAgICAgICAgICAgICAgICAgXSBVTlNQRUNfVlVOREVG KSkpKQ0KICAgICAgICAoY2xvYmJlciAocmVnOkRJIDE2OCkpDQogICAgICAg IChzZXQgKHJlZzpWTngyREYgMTQ4IFsgdmVjdF9fMTEuMTYgXSkNCiAgICAg ICAgICAgIChmbG9hdF9leHRlbmQ6Vk54MkRGIChyZWc6Vk54MlNGIDE0OSBb IHZlY3RfXzEwLjE1IF0pKSkNCiAgICBdKQ0KRmFpbGVkIHRvIG1hdGNoIHRo aXMgaW5zdHJ1Y3Rpb246DQoocGFyYWxsZWwgWw0KICAgICAgICAoc2V0IChy ZWc6Vk54MkRGIDE0NyBbIHZlY3RfXzEzLjE4IF0pDQogICAgICAgICAgICAo Zm1hOlZOeDJERiAobmVnOlZOeDJERiAoZmxvYXRfZXh0ZW5kOlZOeDJERiAo cmVnOlZOeDJTRiAxNDkgWyB2ZWN0X18xMC4xNSBdKSkpDQogICAgICAgICAg ICAgICAgKHJlZzpWTngyREYgMTUwIFsgdmVjdF9fOC4xMiBdKQ0KICAgICAg ICAgICAgICAgIChpZl90aGVuX2Vsc2U6Vk54MkRGICh1bnNwZWM6Vk54MkJJ IFsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfdmVjdG9y OlZOeDJCSSByZXBlYXQgWw0KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKGNvbnN0X2ludCAxIFsweDFdKQ0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBdKQ0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChyZWc6REkgMTU3IFsgXzExNyBdKQ0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIChjb25zdF9pbnQgMiBbMHgyXSkgcmVwZWF0ZWQgeDINCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDAgWzBdKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChyZWc6U0kgNjYgdmwpDQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJlZzpTSSA2NyB2dHlwZSkN CiAgICAgICAgICAgICAgICAgICAgICAgIF0gVU5TUEVDX1ZQUkVESUNBVEUp DQogICAgICAgICAgICAgICAgICAgIChtZW06Vk54MkRGIChyZWcvdi9mOkRJ IDE1OCBbIGRzdCBdKSBbMSBNRU0gPHZlY3RvcihbMiwyXSkgZG91YmxlPiBb KGRvdWJsZSAqKXZlY3RwX2RzdC42XzEwNF0rMCBTWzE2LCAxNl0gQTY0XSkN CiAgICAgICAgICAgICAgICAgICAgKHVuc3BlYzpWTngyREYgWw0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChyZWc6U0kgMCB6ZXJvKQ0KICAgICAg ICAgICAgICAgICAgICAgICAgXSBVTlNQRUNfVlVOREVGKSkpKQ0KICAgICAg ICAoc2V0IChyZWc6Vk54MkRGIDE0OCBbIHZlY3RfXzExLjE2IF0pDQogICAg ICAgICAgICAoZmxvYXRfZXh0ZW5kOlZOeDJERiAocmVnOlZOeDJTRiAxNDkg WyB2ZWN0X18xMC4xNSBdKSkpDQogICAgXSkNClN1Y2Nlc3NmdWxseSBtYXRj aGVkIHRoaXMgaW5zdHJ1Y3Rpb246DQooc2V0IChyZWc6Vk54MkRGIDE0OCBb IHZlY3RfXzExLjE2IF0pDQogICAgKGZsb2F0X2V4dGVuZDpWTngyREYgKHJl ZzpWTngyU0YgMTQ5IFsgdmVjdF9fMTAuMTUgXSkpKQ0KRmFpbGVkIHRvIG1h dGNoIHRoaXMgaW5zdHJ1Y3Rpb246DQooc2V0IChyZWc6Vk54MkRGIDE0NyBb IHZlY3RfXzEzLjE4IF0pDQogICAgKGZtYTpWTngyREYgKG5lZzpWTngyREYg KGZsb2F0X2V4dGVuZDpWTngyREYgKHJlZzpWTngyU0YgMTQ5IFsgdmVjdF9f MTAuMTUgXSkpKQ0KICAgICAgICAocmVnOlZOeDJERiAxNTAgWyB2ZWN0X184 LjEyIF0pDQogICAgICAgIChpZl90aGVuX2Vsc2U6Vk54MkRGICh1bnNwZWM6 Vk54MkJJIFsNCiAgICAgICAgICAgICAgICAgICAgKGNvbnN0X3ZlY3RvcjpW TngyQkkgcmVwZWF0IFsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAo Y29uc3RfaW50IDEgWzB4MV0pDQogICAgICAgICAgICAgICAgICAgICAgICBd KQ0KICAgICAgICAgICAgICAgICAgICAocmVnOkRJIDE1NyBbIF8xMTcgXSkN CiAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCAyIFsweDJdKSByZXBl YXRlZCB4Mg0KICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDAgWzBd KQ0KICAgICAgICAgICAgICAgICAgICAocmVnOlNJIDY2IHZsKQ0KICAgICAg ICAgICAgICAgICAgICAocmVnOlNJIDY3IHZ0eXBlKQ0KICAgICAgICAgICAg ICAgIF0gVU5TUEVDX1ZQUkVESUNBVEUpDQogICAgICAgICAgICAobWVtOlZO eDJERiAocmVnL3YvZjpESSAxNTggWyBkc3QgXSkgWzEgTUVNIDx2ZWN0b3Io WzIsMl0pIGRvdWJsZT4gWyhkb3VibGUgKil2ZWN0cF9kc3QuNl8xMDRdKzAg U1sxNiwgMTZdIEE2NF0pDQogICAgICAgICAgICAodW5zcGVjOlZOeDJERiBb DQogICAgICAgICAgICAgICAgICAgIChyZWc6U0kgMCB6ZXJvKQ0KICAgICAg ICAgICAgICAgIF0gVU5TUEVDX1ZVTkRFRikpKSkNCg0KVHJ5aW5nIDM2LCAz NCAtPiAzNzoNCiAgIDM2OiByMTQ4OlZOeDJERj1mbG9hdF9leHRlbmQocjE0 OTpWTngyU0YpDQogICAgICBSRUdfREVBRCByMTQ5OlZOeDJTRg0KICAgMzQ6 IHIxNTA6Vk54MkRGPWZsb2F0X2V4dGVuZChyMTUxOlZOeDJTRikNCiAgICAg IFJFR19ERUFEIHIxNTE6Vk54MlNGDQogICAzNzoge3IxNDc6Vk54MkRGPXst cjE0ODpWTngyREYqcjE1MDpWTngyREYrcjE1MzpWTngyREZ9O2Nsb2JiZXIg cjE2ODpESTt9DQogICAgICBSRUdfREVBRCByMTUzOlZOeDJERg0KICAgICAg UkVHX1VOVVNFRCByMTY4OkRJDQpGYWlsZWQgdG8gbWF0Y2ggdGhpcyBpbnN0 cnVjdGlvbjoNCihwYXJhbGxlbCBbDQogICAgICAgIChzZXQgKHJlZzpWTngy REYgMTQ3IFsgdmVjdF9fMTMuMTggXSkNCiAgICAgICAgICAgIChmbWE6Vk54 MkRGIChuZWc6Vk54MkRGIChmbG9hdF9leHRlbmQ6Vk54MkRGIChyZWc6Vk54 MlNGIDE0OSBbIHZlY3RfXzEwLjE1IF0pKSkNCiAgICAgICAgICAgICAgICAo ZmxvYXRfZXh0ZW5kOlZOeDJERiAocmVnOlZOeDJTRiAxNTEgWyB2ZWN0X183 LjExIF0pKQ0KICAgICAgICAgICAgICAgIChyZWc6Vk54MkRGIDE1MyBbIHZl Y3RfXzQuOCBdKSkpDQogICAgICAgIChjbG9iYmVyIChyZWc6REkgMTY4KSkN CiAgICAgICAgKHNldCAocmVnOlZOeDJERiAxNDggWyB2ZWN0X18xMS4xNiBd KQ0KICAgICAgICAgICAgKGZsb2F0X2V4dGVuZDpWTngyREYgKHJlZzpWTngy U0YgMTQ5IFsgdmVjdF9fMTAuMTUgXSkpKQ0KICAgICAgICAoc2V0IChyZWc6 Vk54MkRGIDE1MCBbIHZlY3RfXzguMTIgXSkNCiAgICAgICAgICAgIChmbG9h dF9leHRlbmQ6Vk54MkRGIChyZWc6Vk54MlNGIDE1MSBbIHZlY3RfXzcuMTEg XSkpKQ0KICAgIF0pDQpGYWlsZWQgdG8gbWF0Y2ggdGhpcyBpbnN0cnVjdGlv bjoNCihwYXJhbGxlbCBbDQogICAgICAgIChzZXQgKHJlZzpWTngyREYgMTQ3 IFsgdmVjdF9fMTMuMTggXSkNCiAgICAgICAgICAgIChmbWE6Vk54MkRGIChu ZWc6Vk54MkRGIChmbG9hdF9leHRlbmQ6Vk54MkRGIChyZWc6Vk54MlNGIDE0 OSBbIHZlY3RfXzEwLjE1IF0pKSkNCiAgICAgICAgICAgICAgICAoZmxvYXRf ZXh0ZW5kOlZOeDJERiAocmVnOlZOeDJTRiAxNTEgWyB2ZWN0X183LjExIF0p KQ0KICAgICAgICAgICAgICAgIChyZWc6Vk54MkRGIDE1MyBbIHZlY3RfXzQu OCBdKSkpDQogICAgICAgIChzZXQgKHJlZzpWTngyREYgMTQ4IFsgdmVjdF9f MTEuMTYgXSkNCiAgICAgICAgICAgIChmbG9hdF9leHRlbmQ6Vk54MkRGIChy ZWc6Vk54MlNGIDE0OSBbIHZlY3RfXzEwLjE1IF0pKSkNCiAgICAgICAgKHNl dCAocmVnOlZOeDJERiAxNTAgWyB2ZWN0X184LjEyIF0pDQogICAgICAgICAg ICAoZmxvYXRfZXh0ZW5kOlZOeDJERiAocmVnOlZOeDJTRiAxNTEgWyB2ZWN0 X183LjExIF0pKSkNCiAgICBdKQ0KDQpUcnlpbmcgMzcgLT4gMzg6DQogICAz Nzoge3IxNDc6Vk54MkRGPXstcjE0ODpWTngyREYqcjE1MDpWTngyREYrcjE1 MzpWTngyREZ9O2Nsb2JiZXIgcjE2ODpESTt9DQogICAgICBSRUdfREVBRCBy MTUzOlZOeDJERg0KICAgICAgUkVHX1VOVVNFRCByMTY4OkRJDQogICAzODog W3IxNDY6REldPXsodW5zcGVjW2NvbnN0X3ZlY3RvcixyMTU3OkRJLDAsdmw6 U0ksdnR5cGU6U0ldIDY5KT9yMTQ3OlZOeDJERjpbcjE0NjpESV19DQogICAg ICBSRUdfREVBRCByMTQ3OlZOeDJERg0KRmFpbGVkIHRvIG1hdGNoIHRoaXMg aW5zdHJ1Y3Rpb246DQooc2V0IChtZW06Vk54MkRGIChyZWcvZjpESSAxNDYg WyB2ZWN0cF9kc3QuMTkgXSkgWzEgTUVNIDx2ZWN0b3IoWzIsMl0pIGRvdWJs ZT4gWyhkb3VibGUgKil2ZWN0cF9kc3QuMTlfODhdKzAgU1sxNiwgMTZdIEE2 NF0pDQogICAgKGlmX3RoZW5fZWxzZTpWTngyREYgKHVuc3BlYzpWTngyQkkg Ww0KICAgICAgICAgICAgICAgIChjb25zdF92ZWN0b3I6Vk54MkJJIHJlcGVh dCBbDQogICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDEgWzB4 MV0pDQogICAgICAgICAgICAgICAgICAgIF0pDQogICAgICAgICAgICAgICAg KHJlZzpESSAxNTcgWyBfMTE3IF0pDQogICAgICAgICAgICAgICAgKGNvbnN0 X2ludCAwIFswXSkNCiAgICAgICAgICAgICAgICAocmVnOlNJIDY2IHZsKQ0K ICAgICAgICAgICAgICAgIChyZWc6U0kgNjcgdnR5cGUpDQogICAgICAgICAg ICBdIFVOU1BFQ19WUFJFRElDQVRFKQ0KICAgICAgICAoZm1hOlZOeDJERiAo bmVnOlZOeDJERiAocmVnOlZOeDJERiAxNDggWyB2ZWN0X18xMS4xNiBdKSkN CiAgICAgICAgICAgIChyZWc6Vk54MkRGIDE1MCBbIHZlY3RfXzguMTIgXSkN CiAgICAgICAgICAgIChyZWc6Vk54MkRGIDE1MyBbIHZlY3RfXzQuOCBdKSkN CiAgICAgICAgKG1lbTpWTngyREYgKHJlZy9mOkRJIDE0NiBbIHZlY3RwX2Rz dC4xOSBdKSBbMSBNRU0gPHZlY3RvcihbMiwyXSkgZG91YmxlPiBbKGRvdWJs ZSAqKXZlY3RwX2RzdC4xOV84OF0rMCBTWzE2LCAxNl0gQTY0XSkpKQ0KDQpU cnlpbmcgMzEsIDM3IC0+IDM4Og0KICAgMzE6IHIxNTM6Vk54MkRGPXsodW5z cGVjW2NvbnN0X3ZlY3RvcixyMTU3OkRJLDB4MiwweDIsMCx2bDpTSSx2dHlw ZTpTSV0gNjkpP1tyMTU4OkRJXTp1bnNwZWNbemVybzpTSV0gNjh9DQogICAz Nzoge3IxNDc6Vk54MkRGPXstcjE0ODpWTngyREYqcjE1MDpWTngyREYrcjE1 MzpWTngyREZ9O2Nsb2JiZXIgcjE2ODpESTt9DQogICAgICBSRUdfREVBRCBy MTUzOlZOeDJERg0KICAgICAgUkVHX1VOVVNFRCByMTY4OkRJDQogICAzODog W3IxNDY6REldPXsodW5zcGVjW2NvbnN0X3ZlY3RvcixyMTU3OkRJLDAsdmw6 U0ksdnR5cGU6U0ldIDY5KT9yMTQ3OlZOeDJERjpbcjE0NjpESV19DQogICAg ICBSRUdfREVBRCByMTQ3OlZOeDJERg0KRmFpbGVkIHRvIG1hdGNoIHRoaXMg aW5zdHJ1Y3Rpb246DQooc2V0IChtZW06Vk54MkRGIChyZWcvZjpESSAxNDYg WyB2ZWN0cF9kc3QuMTkgXSkgWzEgTUVNIDx2ZWN0b3IoWzIsMl0pIGRvdWJs ZT4gWyhkb3VibGUgKil2ZWN0cF9kc3QuMTlfODhdKzAgU1sxNiwgMTZdIEE2 NF0pDQogICAgKGlmX3RoZW5fZWxzZTpWTngyREYgKHVuc3BlYzpWTngyQkkg Ww0KICAgICAgICAgICAgICAgIChjb25zdF92ZWN0b3I6Vk54MkJJIHJlcGVh dCBbDQogICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDEgWzB4 MV0pDQogICAgICAgICAgICAgICAgICAgIF0pDQogICAgICAgICAgICAgICAg KHJlZzpESSAxNTcgWyBfMTE3IF0pDQogICAgICAgICAgICAgICAgKGNvbnN0 X2ludCAwIFswXSkNCiAgICAgICAgICAgICAgICAocmVnOlNJIDY2IHZsKQ0K ICAgICAgICAgICAgICAgIChyZWc6U0kgNjcgdnR5cGUpDQogICAgICAgICAg ICBdIFVOU1BFQ19WUFJFRElDQVRFKQ0KICAgICAgICAoZm1hOlZOeDJERiAo bmVnOlZOeDJERiAocmVnOlZOeDJERiAxNDggWyB2ZWN0X18xMS4xNiBdKSkN CiAgICAgICAgICAgIChyZWc6Vk54MkRGIDE1MCBbIHZlY3RfXzguMTIgXSkN CiAgICAgICAgICAgIChpZl90aGVuX2Vsc2U6Vk54MkRGICh1bnNwZWM6Vk54 MkJJIFsNCiAgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF92ZWN0b3I6 Vk54MkJJIHJlcGVhdCBbDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChjb25zdF9pbnQgMSBbMHgxXSkNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBdKQ0KICAgICAgICAgICAgICAgICAgICAgICAgKHJlZzpESSAx NTcgWyBfMTE3IF0pDQogICAgICAgICAgICAgICAgICAgICAgICAoY29uc3Rf aW50IDIgWzB4Ml0pIHJlcGVhdGVkIHgyDQogICAgICAgICAgICAgICAgICAg ICAgICAoY29uc3RfaW50IDAgWzBdKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgKHJlZzpTSSA2NiB2bCkNCiAgICAgICAgICAgICAgICAgICAgICAgIChy ZWc6U0kgNjcgdnR5cGUpDQogICAgICAgICAgICAgICAgICAgIF0gVU5TUEVD X1ZQUkVESUNBVEUpDQogICAgICAgICAgICAgICAgKG1lbTpWTngyREYgKHJl Zy92L2Y6REkgMTU4IFsgZHN0IF0pIFsxIE1FTSA8dmVjdG9yKFsyLDJdKSBk b3VibGU+IFsoZG91YmxlICopdmVjdHBfZHN0LjZfMTA0XSswIFNbMTYsIDE2 XSBBNjRdKQ0KICAgICAgICAgICAgICAgICh1bnNwZWM6Vk54MkRGIFsNCiAg ICAgICAgICAgICAgICAgICAgICAgIChyZWc6U0kgMCB6ZXJvKQ0KICAgICAg ICAgICAgICAgICAgICBdIFVOU1BFQ19WVU5ERUYpKSkNCiAgICAgICAgKG1l bTpWTngyREYgKHJlZy9mOkRJIDE0NiBbIHZlY3RwX2RzdC4xOSBdKSBbMSBN RU0gPHZlY3RvcihbMiwyXSkgZG91YmxlPiBbKGRvdWJsZSAqKXZlY3RwX2Rz dC4xOV84OF0rMCBTWzE2LCAxNl0gQTY0XSkpKQ0KU3VjY2Vzc2Z1bGx5IG1h dGNoZWQgdGhpcyBpbnN0cnVjdGlvbjoNCihzZXQgKHJlZzpWTngyREYgMTQ3 IFsgdmVjdF9fMTMuMTggXSkNCiAgICAoaWZfdGhlbl9lbHNlOlZOeDJERiAo dW5zcGVjOlZOeDJCSSBbDQogICAgICAgICAgICAgICAgKGNvbnN0X3ZlY3Rv cjpWTngyQkkgcmVwZWF0IFsNCiAgICAgICAgICAgICAgICAgICAgICAgIChj b25zdF9pbnQgMSBbMHgxXSkNCiAgICAgICAgICAgICAgICAgICAgXSkNCiAg ICAgICAgICAgICAgICAocmVnOkRJIDE1NyBbIF8xMTcgXSkNCiAgICAgICAg ICAgICAgICAoY29uc3RfaW50IDIgWzB4Ml0pIHJlcGVhdGVkIHgyDQogICAg ICAgICAgICAgICAgKGNvbnN0X2ludCAwIFswXSkNCiAgICAgICAgICAgICAg ICAocmVnOlNJIDY2IHZsKQ0KICAgICAgICAgICAgICAgIChyZWc6U0kgNjcg dnR5cGUpDQogICAgICAgICAgICBdIFVOU1BFQ19WUFJFRElDQVRFKQ0KICAg ICAgICAobWVtOlZOeDJERiAocmVnL3YvZjpESSAxNTggWyBkc3QgXSkgWzEg TUVNIDx2ZWN0b3IoWzIsMl0pIGRvdWJsZT4gWyhkb3VibGUgKil2ZWN0cF9k c3QuNl8xMDRdKzAgU1sxNiwgMTZdIEE2NF0pDQogICAgICAgICh1bnNwZWM6 Vk54MkRGIFsNCiAgICAgICAgICAgICAgICAocmVnOlNJIDAgemVybykNCiAg ICAgICAgICAgIF0gVU5TUEVDX1ZVTkRFRikpKQ0KRmFpbGVkIHRvIG1hdGNo IHRoaXMgaW5zdHJ1Y3Rpb246DQooc2V0IChtZW06Vk54MkRGIChyZWcvZjpE SSAxNDYgWyB2ZWN0cF9kc3QuMTkgXSkgWzEgTUVNIDx2ZWN0b3IoWzIsMl0p IGRvdWJsZT4gWyhkb3VibGUgKil2ZWN0cF9kc3QuMTlfODhdKzAgU1sxNiwg MTZdIEE2NF0pDQogICAgKGlmX3RoZW5fZWxzZTpWTngyREYgKHVuc3BlYzpW TngyQkkgWw0KICAgICAgICAgICAgICAgIChjb25zdF92ZWN0b3I6Vk54MkJJ IHJlcGVhdCBbDQogICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50 IDEgWzB4MV0pDQogICAgICAgICAgICAgICAgICAgIF0pDQogICAgICAgICAg ICAgICAgKHJlZzpESSAxNTcgWyBfMTE3IF0pDQogICAgICAgICAgICAgICAg KGNvbnN0X2ludCAwIFswXSkNCiAgICAgICAgICAgICAgICAocmVnOlNJIDY2 IHZsKQ0KICAgICAgICAgICAgICAgIChyZWc6U0kgNjcgdnR5cGUpDQogICAg ICAgICAgICBdIFVOU1BFQ19WUFJFRElDQVRFKQ0KICAgICAgICAoZm1hOlZO eDJERiAobmVnOlZOeDJERiAocmVnOlZOeDJERiAxNDggWyB2ZWN0X18xMS4x NiBdKSkNCiAgICAgICAgICAgIChyZWc6Vk54MkRGIDE1MCBbIHZlY3RfXzgu MTIgXSkNCiAgICAgICAgICAgIChyZWc6Vk54MkRGIDE0NyBbIHZlY3RfXzEz LjE4IF0pKQ0KICAgICAgICAobWVtOlZOeDJERiAocmVnL2Y6REkgMTQ2IFsg dmVjdHBfZHN0LjE5IF0pIFsxIE1FTSA8dmVjdG9yKFsyLDJdKSBkb3VibGU+ IFsoZG91YmxlICopdmVjdHBfZHN0LjE5Xzg4XSswIFNbMTYsIDE2XSBBNjRd KSkpDQoNClRyeWluZyAzNCwgMzcgLT4gMzg6DQogICAzNDogcjE1MDpWTngy REY9ZmxvYXRfZXh0ZW5kKHIxNTE6Vk54MlNGKQ0KICAgICAgUkVHX0RFQUQg cjE1MTpWTngyU0YNCiAgIDM3OiB7cjE0NzpWTngyREY9ey1yMTQ4OlZOeDJE RipyMTUwOlZOeDJERityMTUzOlZOeDJERn07Y2xvYmJlciByMTY4OkRJO30N CiAgICAgIFJFR19ERUFEIHIxNTM6Vk54MkRGDQogICAgICBSRUdfVU5VU0VE IHIxNjg6REkNCiAgIDM4OiBbcjE0NjpESV09eyh1bnNwZWNbY29uc3RfdmVj dG9yLHIxNTc6REksMCx2bDpTSSx2dHlwZTpTSV0gNjkpP3IxNDc6Vk54MkRG OltyMTQ2OkRJXX0NCiAgICAgIFJFR19ERUFEIHIxNDc6Vk54MkRGDQpGYWls ZWQgdG8gbWF0Y2ggdGhpcyBpbnN0cnVjdGlvbjoNCihwYXJhbGxlbCBbDQog ICAgICAgIChzZXQgKG1lbTpWTngyREYgKHJlZy9mOkRJIDE0NiBbIHZlY3Rw X2RzdC4xOSBdKSBbMSBNRU0gPHZlY3RvcihbMiwyXSkgZG91YmxlPiBbKGRv dWJsZSAqKXZlY3RwX2RzdC4xOV84OF0rMCBTWzE2LCAxNl0gQTY0XSkNCiAg ICAgICAgICAgIChpZl90aGVuX2Vsc2U6Vk54MkRGICh1bnNwZWM6Vk54MkJJ IFsNCiAgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF92ZWN0b3I6Vk54 MkJJIHJlcGVhdCBbDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IChjb25zdF9pbnQgMSBbMHgxXSkNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBdKQ0KICAgICAgICAgICAgICAgICAgICAgICAgKHJlZzpESSAxNTcg WyBfMTE3IF0pDQogICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50 IDAgWzBdKQ0KICAgICAgICAgICAgICAgICAgICAgICAgKHJlZzpTSSA2NiB2 bCkNCiAgICAgICAgICAgICAgICAgICAgICAgIChyZWc6U0kgNjcgdnR5cGUp DQogICAgICAgICAgICAgICAgICAgIF0gVU5TUEVDX1ZQUkVESUNBVEUpDQog ICAgICAgICAgICAgICAgKGZtYTpWTngyREYgKG5lZzpWTngyREYgKHJlZzpW TngyREYgMTQ4IFsgdmVjdF9fMTEuMTYgXSkpDQogICAgICAgICAgICAgICAg ICAgIChmbG9hdF9leHRlbmQ6Vk54MkRGIChyZWc6Vk54MlNGIDE1MSBbIHZl Y3RfXzcuMTEgXSkpDQogICAgICAgICAgICAgICAgICAgIChyZWc6Vk54MkRG IDE1MyBbIHZlY3RfXzQuOCBdKSkNCiAgICAgICAgICAgICAgICAobWVtOlZO eDJERiAocmVnL2Y6REkgMTQ2IFsgdmVjdHBfZHN0LjE5IF0pIFsxIE1FTSA8 dmVjdG9yKFsyLDJdKSBkb3VibGU+IFsoZG91YmxlICopdmVjdHBfZHN0LjE5 Xzg4XSswIFNbMTYsIDE2XSBBNjRdKSkpDQogICAgICAgIChzZXQgKHJlZzpW TngyREYgMTUwIFsgdmVjdF9fOC4xMiBdKQ0KICAgICAgICAgICAgKGZsb2F0 X2V4dGVuZDpWTngyREYgKHJlZzpWTngyU0YgMTUxIFsgdmVjdF9fNy4xMSBd KSkpDQogICAgXSkNCkZhaWxlZCB0byBtYXRjaCB0aGlzIGluc3RydWN0aW9u Og0KKHBhcmFsbGVsIFsNCiAgICAgICAgKHNldCAobWVtOlZOeDJERiAocmVn L2Y6REkgMTQ2IFsgdmVjdHBfZHN0LjE5IF0pIFsxIE1FTSA8dmVjdG9yKFsy LDJdKSBkb3VibGU+IFsoZG91YmxlICopdmVjdHBfZHN0LjE5Xzg4XSswIFNb MTYsIDE2XSBBNjRdKQ0KICAgICAgICAgICAgKGlmX3RoZW5fZWxzZTpWTngy REYgKHVuc3BlYzpWTngyQkkgWw0KICAgICAgICAgICAgICAgICAgICAgICAg KGNvbnN0X3ZlY3RvcjpWTngyQkkgcmVwZWF0IFsNCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCAxIFsweDFdKQ0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF0pDQogICAgICAgICAgICAgICAgICAg ICAgICAocmVnOkRJIDE1NyBbIF8xMTcgXSkNCiAgICAgICAgICAgICAgICAg ICAgICAgIChjb25zdF9pbnQgMCBbMF0pDQogICAgICAgICAgICAgICAgICAg ICAgICAocmVnOlNJIDY2IHZsKQ0KICAgICAgICAgICAgICAgICAgICAgICAg KHJlZzpTSSA2NyB2dHlwZSkNCiAgICAgICAgICAgICAgICAgICAgXSBVTlNQ RUNfVlBSRURJQ0FURSkNCiAgICAgICAgICAgICAgICAoZm1hOlZOeDJERiAo bmVnOlZOeDJERiAocmVnOlZOeDJERiAxNDggWyB2ZWN0X18xMS4xNiBdKSkN CiAgICAgICAgICAgICAgICAgICAgKGZsb2F0X2V4dGVuZDpWTngyREYgKHJl ZzpWTngyU0YgMTUxIFsgdmVjdF9fNy4xMSBdKSkNCiAgICAgICAgICAgICAg ICAgICAgKHJlZzpWTngyREYgMTUzIFsgdmVjdF9fNC44IF0pKQ0KICAgICAg ICAgICAgICAgIChtZW06Vk54MkRGIChyZWcvZjpESSAxNDYgWyB2ZWN0cF9k c3QuMTkgXSkgWzEgTUVNIDx2ZWN0b3IoWzIsMl0pIGRvdWJsZT4gWyhkb3Vi bGUgKil2ZWN0cF9kc3QuMTlfODhdKzAgU1sxNiwgMTZdIEE2NF0pKSkNCiAg ICAgICAgKHNldCAocmVnOlZOeDJERiAxNTAgWyB2ZWN0X184LjEyIF0pDQog ICAgICAgICAgICAoZmxvYXRfZXh0ZW5kOlZOeDJERiAocmVnOlZOeDJTRiAx NTEgWyB2ZWN0X183LjExIF0pKSkNCiAgICBdKQ0KU3VjY2Vzc2Z1bGx5IG1h dGNoZWQgdGhpcyBpbnN0cnVjdGlvbjoNCihzZXQgKHJlZzpWTngyREYgMTUw IFsgdmVjdF9fOC4xMiBdKQ0KICAgIChmbG9hdF9leHRlbmQ6Vk54MkRGIChy ZWc6Vk54MlNGIDE1MSBbIHZlY3RfXzcuMTEgXSkpKQ0KRmFpbGVkIHRvIG1h dGNoIHRoaXMgaW5zdHJ1Y3Rpb246DQooc2V0IChtZW06Vk54MkRGIChyZWcv ZjpESSAxNDYgWyB2ZWN0cF9kc3QuMTkgXSkgWzEgTUVNIDx2ZWN0b3IoWzIs Ml0pIGRvdWJsZT4gWyhkb3VibGUgKil2ZWN0cF9kc3QuMTlfODhdKzAgU1sx NiwgMTZdIEE2NF0pDQogICAgKGlmX3RoZW5fZWxzZTpWTngyREYgKHVuc3Bl YzpWTngyQkkgWw0KICAgICAgICAgICAgICAgIChjb25zdF92ZWN0b3I6Vk54 MkJJIHJlcGVhdCBbDQogICAgICAgICAgICAgICAgICAgICAgICAoY29uc3Rf aW50IDEgWzB4MV0pDQogICAgICAgICAgICAgICAgICAgIF0pDQogICAgICAg ICAgICAgICAgKHJlZzpESSAxNTcgWyBfMTE3IF0pDQogICAgICAgICAgICAg ICAgKGNvbnN0X2ludCAwIFswXSkNCiAgICAgICAgICAgICAgICAocmVnOlNJ IDY2IHZsKQ0KICAgICAgICAgICAgICAgIChyZWc6U0kgNjcgdnR5cGUpDQog ICAgICAgICAgICBdIFVOU1BFQ19WUFJFRElDQVRFKQ0KICAgICAgICAoZm1h OlZOeDJERiAobmVnOlZOeDJERiAocmVnOlZOeDJERiAxNDggWyB2ZWN0X18x MS4xNiBdKSkNCiAgICAgICAgICAgIChmbG9hdF9leHRlbmQ6Vk54MkRGIChy ZWc6Vk54MlNGIDE1MSBbIHZlY3RfXzcuMTEgXSkpDQogICAgICAgICAgICAo cmVnOlZOeDJERiAxNTMgWyB2ZWN0X180LjggXSkpDQogICAgICAgIChtZW06 Vk54MkRGIChyZWcvZjpESSAxNDYgWyB2ZWN0cF9kc3QuMTkgXSkgWzEgTUVN IDx2ZWN0b3IoWzIsMl0pIGRvdWJsZT4gWyhkb3VibGUgKil2ZWN0cF9kc3Qu MTlfODhdKzAgU1sxNiwgMTZdIEE2NF0pKSkNCg0KVHJ5aW5nIDM2LCAzNyAt PiAzODoNCiAgIDM2OiByMTQ4OlZOeDJERj1mbG9hdF9leHRlbmQocjE0OTpW TngyU0YpDQogICAgICBSRUdfREVBRCByMTQ5OlZOeDJTRg0KICAgMzc6IHty MTQ3OlZOeDJERj17LXIxNDg6Vk54MkRGKnIxNTA6Vk54MkRGK3IxNTM6Vk54 MkRGfTtjbG9iYmVyIHIxNjg6REk7fQ0KICAgICAgUkVHX0RFQUQgcjE1MzpW TngyREYNCiAgICAgIFJFR19VTlVTRUQgcjE2ODpESQ0KICAgMzg6IFtyMTQ2 OkRJXT17KHVuc3BlY1tjb25zdF92ZWN0b3IscjE1NzpESSwwLHZsOlNJLHZ0 eXBlOlNJXSA2OSk/cjE0NzpWTngyREY6W3IxNDY6REldfQ0KICAgICAgUkVH X0RFQUQgcjE0NzpWTngyREYNCkZhaWxlZCB0byBtYXRjaCB0aGlzIGluc3Ry dWN0aW9uOg0KKHBhcmFsbGVsIFsNCiAgICAgICAgKHNldCAobWVtOlZOeDJE RiAocmVnL2Y6REkgMTQ2IFsgdmVjdHBfZHN0LjE5IF0pIFsxIE1FTSA8dmVj dG9yKFsyLDJdKSBkb3VibGU+IFsoZG91YmxlICopdmVjdHBfZHN0LjE5Xzg4 XSswIFNbMTYsIDE2XSBBNjRdKQ0KICAgICAgICAgICAgKGlmX3RoZW5fZWxz ZTpWTngyREYgKHVuc3BlYzpWTngyQkkgWw0KICAgICAgICAgICAgICAgICAg ICAgICAgKGNvbnN0X3ZlY3RvcjpWTngyQkkgcmVwZWF0IFsNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCAxIFsweDFdKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0pDQogICAgICAgICAgICAg ICAgICAgICAgICAocmVnOkRJIDE1NyBbIF8xMTcgXSkNCiAgICAgICAgICAg ICAgICAgICAgICAgIChjb25zdF9pbnQgMCBbMF0pDQogICAgICAgICAgICAg ICAgICAgICAgICAocmVnOlNJIDY2IHZsKQ0KICAgICAgICAgICAgICAgICAg ICAgICAgKHJlZzpTSSA2NyB2dHlwZSkNCiAgICAgICAgICAgICAgICAgICAg XSBVTlNQRUNfVlBSRURJQ0FURSkNCiAgICAgICAgICAgICAgICAoZm1hOlZO eDJERiAobmVnOlZOeDJERiAoZmxvYXRfZXh0ZW5kOlZOeDJERiAocmVnOlZO eDJTRiAxNDkgWyB2ZWN0X18xMC4xNSBdKSkpDQogICAgICAgICAgICAgICAg ICAgIChyZWc6Vk54MkRGIDE1MCBbIHZlY3RfXzguMTIgXSkNCiAgICAgICAg ICAgICAgICAgICAgKHJlZzpWTngyREYgMTUzIFsgdmVjdF9fNC44IF0pKQ0K ICAgICAgICAgICAgICAgIChtZW06Vk54MkRGIChyZWcvZjpESSAxNDYgWyB2 ZWN0cF9kc3QuMTkgXSkgWzEgTUVNIDx2ZWN0b3IoWzIsMl0pIGRvdWJsZT4g Wyhkb3VibGUgKil2ZWN0cF9kc3QuMTlfODhdKzAgU1sxNiwgMTZdIEE2NF0p KSkNCiAgICAgICAgKHNldCAocmVnOlZOeDJERiAxNDggWyB2ZWN0X18xMS4x NiBdKQ0KICAgICAgICAgICAgKGZsb2F0X2V4dGVuZDpWTngyREYgKHJlZzpW TngyU0YgMTQ5IFsgdmVjdF9fMTAuMTUgXSkpKQ0KICAgIF0pDQpGYWlsZWQg dG8gbWF0Y2ggdGhpcyBpbnN0cnVjdGlvbjoNCihwYXJhbGxlbCBbDQogICAg ICAgIChzZXQgKG1lbTpWTngyREYgKHJlZy9mOkRJIDE0NiBbIHZlY3RwX2Rz dC4xOSBdKSBbMSBNRU0gPHZlY3RvcihbMiwyXSkgZG91YmxlPiBbKGRvdWJs ZSAqKXZlY3RwX2RzdC4xOV84OF0rMCBTWzE2LCAxNl0gQTY0XSkNCiAgICAg ICAgICAgIChpZl90aGVuX2Vsc2U6Vk54MkRGICh1bnNwZWM6Vk54MkJJIFsN CiAgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF92ZWN0b3I6Vk54MkJJ IHJlcGVhdCBbDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChj b25zdF9pbnQgMSBbMHgxXSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBdKQ0KICAgICAgICAgICAgICAgICAgICAgICAgKHJlZzpESSAxNTcgWyBf MTE3IF0pDQogICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDAg WzBdKQ0KICAgICAgICAgICAgICAgICAgICAgICAgKHJlZzpTSSA2NiB2bCkN CiAgICAgICAgICAgICAgICAgICAgICAgIChyZWc6U0kgNjcgdnR5cGUpDQog ICAgICAgICAgICAgICAgICAgIF0gVU5TUEVDX1ZQUkVESUNBVEUpDQogICAg ICAgICAgICAgICAgKGZtYTpWTngyREYgKG5lZzpWTngyREYgKGZsb2F0X2V4 dGVuZDpWTngyREYgKHJlZzpWTngyU0YgMTQ5IFsgdmVjdF9fMTAuMTUgXSkp KQ0KICAgICAgICAgICAgICAgICAgICAocmVnOlZOeDJERiAxNTAgWyB2ZWN0 X184LjEyIF0pDQogICAgICAgICAgICAgICAgICAgIChyZWc6Vk54MkRGIDE1 MyBbIHZlY3RfXzQuOCBdKSkNCiAgICAgICAgICAgICAgICAobWVtOlZOeDJE RiAocmVnL2Y6REkgMTQ2IFsgdmVjdHBfZHN0LjE5IF0pIFsxIE1FTSA8dmVj dG9yKFsyLDJdKSBkb3VibGU+IFsoZG91YmxlICopdmVjdHBfZHN0LjE5Xzg4 XSswIFNbMTYsIDE2XSBBNjRdKSkpDQogICAgICAgIChzZXQgKHJlZzpWTngy REYgMTQ4IFsgdmVjdF9fMTEuMTYgXSkNCiAgICAgICAgICAgIChmbG9hdF9l eHRlbmQ6Vk54MkRGIChyZWc6Vk54MlNGIDE0OSBbIHZlY3RfXzEwLjE1IF0p KSkNCiAgICBdKQ0KU3VjY2Vzc2Z1bGx5IG1hdGNoZWQgdGhpcyBpbnN0cnVj dGlvbjoNCihzZXQgKHJlZzpWTngyREYgMTQ4IFsgdmVjdF9fMTEuMTYgXSkN CiAgICAoZmxvYXRfZXh0ZW5kOlZOeDJERiAocmVnOlZOeDJTRiAxNDkgWyB2 ZWN0X18xMC4xNSBdKSkpDQpGYWlsZWQgdG8gbWF0Y2ggdGhpcyBpbnN0cnVj dGlvbjoNCihzZXQgKG1lbTpWTngyREYgKHJlZy9mOkRJIDE0NiBbIHZlY3Rw X2RzdC4xOSBdKSBbMSBNRU0gPHZlY3RvcihbMiwyXSkgZG91YmxlPiBbKGRv dWJsZSAqKXZlY3RwX2RzdC4xOV84OF0rMCBTWzE2LCAxNl0gQTY0XSkNCiAg ICAoaWZfdGhlbl9lbHNlOlZOeDJERiAodW5zcGVjOlZOeDJCSSBbDQogICAg ICAgICAgICAgICAgKGNvbnN0X3ZlY3RvcjpWTngyQkkgcmVwZWF0IFsNCiAg ICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgMSBbMHgxXSkNCiAg ICAgICAgICAgICAgICAgICAgXSkNCiAgICAgICAgICAgICAgICAocmVnOkRJ IDE1NyBbIF8xMTcgXSkNCiAgICAgICAgICAgICAgICAoY29uc3RfaW50IDAg WzBdKQ0KICAgICAgICAgICAgICAgIChyZWc6U0kgNjYgdmwpDQogICAgICAg ICAgICAgICAgKHJlZzpTSSA2NyB2dHlwZSkNCiAgICAgICAgICAgIF0gVU5T UEVDX1ZQUkVESUNBVEUpDQogICAgICAgIChmbWE6Vk54MkRGIChuZWc6Vk54 MkRGIChmbG9hdF9leHRlbmQ6Vk54MkRGIChyZWc6Vk54MlNGIDE0OSBbIHZl Y3RfXzEwLjE1IF0pKSkNCiAgICAgICAgICAgIChyZWc6Vk54MkRGIDE1MCBb IHZlY3RfXzguMTIgXSkNCiAgICAgICAgICAgIChyZWc6Vk54MkRGIDE1MyBb IHZlY3RfXzQuOCBdKSkNCiAgICAgICAgKG1lbTpWTngyREYgKHJlZy9mOkRJ IDE0NiBbIHZlY3RwX2RzdC4xOSBdKSBbMSBNRU0gPHZlY3RvcihbMiwyXSkg ZG91YmxlPiBbKGRvdWJsZSAqKXZlY3RwX2RzdC4xOV84OF0rMCBTWzE2LCAx Nl0gQTY0XSkpKQ0KDQpUcnlpbmcgNDEgLT4gNDI6DQogICA0MTogcjE0NDpW TngyU0Y9eyh1bnNwZWNbY29uc3RfdmVjdG9yLHIxNTc6REksMHgyLDB4Miww LHZsOlNJLHZ0eXBlOlNJXSA2OSk/W3IxNjQ6REldOnVuc3BlY1t6ZXJvOlNJ XSA2OH0NCiAgIDQyOiByMTQzOlZOeDJERj1mbG9hdF9leHRlbmQocjE0NDpW TngyU0YpDQogICAgICBSRUdfREVBRCByMTQ0OlZOeDJTRg0KRmFpbGVkIHRv IG1hdGNoIHRoaXMgaW5zdHJ1Y3Rpb246DQooc2V0IChyZWc6Vk54MkRGIDE0 MyBbIHZlY3RfXzE4LjI3IF0pDQogICAgKGZsb2F0X2V4dGVuZDpWTngyREYg KGlmX3RoZW5fZWxzZTpWTngyU0YgKHVuc3BlYzpWTngyQkkgWw0KICAgICAg ICAgICAgICAgICAgICAoY29uc3RfdmVjdG9yOlZOeDJCSSByZXBlYXQgWw0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgMSBbMHgx XSkNCiAgICAgICAgICAgICAgICAgICAgICAgIF0pDQogICAgICAgICAgICAg ICAgICAgIChyZWc6REkgMTU3IFsgXzExNyBdKQ0KICAgICAgICAgICAgICAg ICAgICAoY29uc3RfaW50IDIgWzB4Ml0pIHJlcGVhdGVkIHgyDQogICAgICAg ICAgICAgICAgICAgIChjb25zdF9pbnQgMCBbMF0pDQogICAgICAgICAgICAg ICAgICAgIChyZWc6U0kgNjYgdmwpDQogICAgICAgICAgICAgICAgICAgIChy ZWc6U0kgNjcgdnR5cGUpDQogICAgICAgICAgICAgICAgXSBVTlNQRUNfVlBS RURJQ0FURSkNCiAgICAgICAgICAgIChtZW06Vk54MlNGIChyZWcvdi9mOkRJ IDE2NCBbIGEyIF0pIFsyIE1FTSA8dmVjdG9yKFsyLDJdKSBmbG9hdD4gWyhm bG9hdCAqKXZlY3RwX2EyLjI0XzgwXSswIFNbOCwgOF0gQTMyXSkNCiAgICAg ICAgICAgICh1bnNwZWM6Vk54MlNGIFsNCiAgICAgICAgICAgICAgICAgICAg KHJlZzpTSSAwIHplcm8pDQogICAgICAgICAgICAgICAgXSBVTlNQRUNfVlVO REVGKSkpKQ0KDQpUcnlpbmcgNDAgLT4gNDM6DQogICA0MDogcjE0NTpWTngy REY9eyh1bnNwZWNbY29uc3RfdmVjdG9yLHIxNTc6REksMHgyLDB4MiwwLHZs OlNJLHZ0eXBlOlNJXSA2OSk/W3IxNTk6REldOnVuc3BlY1t6ZXJvOlNJXSA2 OH0NCiAgIDQzOiB7cjE0MjpWTngyREY9ey1yMTQzOlZOeDJERipyMTQ4OlZO eDJERityMTQ1OlZOeDJERn07Y2xvYmJlciByMTY5OkRJO30NCiAgICAgIFJF R19ERUFEIHIxNDg6Vk54MkRGDQogICAgICBSRUdfREVBRCByMTQ1OlZOeDJE Rg0KICAgICAgUkVHX1VOVVNFRCByMTY5OkRJDQpGYWlsZWQgdG8gbWF0Y2gg dGhpcyBpbnN0cnVjdGlvbjoNCihwYXJhbGxlbCBbDQogICAgICAgIChzZXQg KHJlZzpWTngyREYgMTQyIFsgdmVjdF9fMjAuMjkgXSkNCiAgICAgICAgICAg IChmbWE6Vk54MkRGIChuZWc6Vk54MkRGIChyZWc6Vk54MkRGIDE0MyBbIHZl Y3RfXzE4LjI3IF0pKQ0KICAgICAgICAgICAgICAgIChyZWc6Vk54MkRGIDE0 OCBbIHZlY3RfXzExLjE2IF0pDQogICAgICAgICAgICAgICAgKGlmX3RoZW5f ZWxzZTpWTngyREYgKHVuc3BlYzpWTngyQkkgWw0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChjb25zdF92ZWN0b3I6Vk54MkJJIHJlcGVhdCBbDQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50 IDEgWzB4MV0pDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0p DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJlZzpESSAxNTcgWyBf MTE3IF0pDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2lu dCAyIFsweDJdKSByZXBlYXRlZCB4Mg0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChjb25zdF9pbnQgMCBbMF0pDQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgKHJlZzpTSSA2NiB2bCkNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAocmVnOlNJIDY3IHZ0eXBlKQ0KICAgICAgICAgICAgICAgICAg ICAgICAgXSBVTlNQRUNfVlBSRURJQ0FURSkNCiAgICAgICAgICAgICAgICAg ICAgKG1lbTpWTngyREYgKHJlZy92L2Y6REkgMTU5IFsgZHN0MiBdKSBbMSBN RU0gPHZlY3RvcihbMiwyXSkgZG91YmxlPiBbKGRvdWJsZSAqKXZlY3RwX2Rz dDIuMjFfODRdKzAgU1sxNiwgMTZdIEE2NF0pDQogICAgICAgICAgICAgICAg ICAgICh1bnNwZWM6Vk54MkRGIFsNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAocmVnOlNJIDAgemVybykNCiAgICAgICAgICAgICAgICAgICAgICAg IF0gVU5TUEVDX1ZVTkRFRikpKSkNCiAgICAgICAgKGNsb2JiZXIgKHJlZzpE SSAxNjkpKQ0KICAgIF0pDQpGYWlsZWQgdG8gbWF0Y2ggdGhpcyBpbnN0cnVj dGlvbjoNCihzZXQgKHJlZzpWTngyREYgMTQyIFsgdmVjdF9fMjAuMjkgXSkN CiAgICAoZm1hOlZOeDJERiAobmVnOlZOeDJERiAocmVnOlZOeDJERiAxNDMg WyB2ZWN0X18xOC4yNyBdKSkNCiAgICAgICAgKHJlZzpWTngyREYgMTQ4IFsg dmVjdF9fMTEuMTYgXSkNCiAgICAgICAgKGlmX3RoZW5fZWxzZTpWTngyREYg KHVuc3BlYzpWTngyQkkgWw0KICAgICAgICAgICAgICAgICAgICAoY29uc3Rf dmVjdG9yOlZOeDJCSSByZXBlYXQgWw0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChjb25zdF9pbnQgMSBbMHgxXSkNCiAgICAgICAgICAgICAgICAg ICAgICAgIF0pDQogICAgICAgICAgICAgICAgICAgIChyZWc6REkgMTU3IFsg XzExNyBdKQ0KICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDIgWzB4 Ml0pIHJlcGVhdGVkIHgyDQogICAgICAgICAgICAgICAgICAgIChjb25zdF9p bnQgMCBbMF0pDQogICAgICAgICAgICAgICAgICAgIChyZWc6U0kgNjYgdmwp DQogICAgICAgICAgICAgICAgICAgIChyZWc6U0kgNjcgdnR5cGUpDQogICAg ICAgICAgICAgICAgXSBVTlNQRUNfVlBSRURJQ0FURSkNCiAgICAgICAgICAg IChtZW06Vk54MkRGIChyZWcvdi9mOkRJIDE1OSBbIGRzdDIgXSkgWzEgTUVN IDx2ZWN0b3IoWzIsMl0pIGRvdWJsZT4gWyhkb3VibGUgKil2ZWN0cF9kc3Qy LjIxXzg0XSswIFNbMTYsIDE2XSBBNjRdKQ0KICAgICAgICAgICAgKHVuc3Bl YzpWTngyREYgWw0KICAgICAgICAgICAgICAgICAgICAocmVnOlNJIDAgemVy bykNCiAgICAgICAgICAgICAgICBdIFVOU1BFQ19WVU5ERUYpKSkpDQoNClRy eWluZyA0MiAtPiA0MzoNCiAgIDQyOiByMTQzOlZOeDJERj1mbG9hdF9leHRl bmQocjE0NDpWTngyU0YpDQogICAgICBSRUdfREVBRCByMTQ0OlZOeDJTRg0K ICAgNDM6IHtyMTQyOlZOeDJERj17LXIxNDM6Vk54MkRGKnIxNDg6Vk54MkRG K3IxNDU6Vk54MkRGfTtjbG9iYmVyIHIxNjk6REk7fQ0KICAgICAgUkVHX0RF QUQgcjE0ODpWTngyREYNCiAgICAgIFJFR19ERUFEIHIxNDU6Vk54MkRGDQog ICAgICBSRUdfVU5VU0VEIHIxNjk6REkNCkZhaWxlZCB0byBtYXRjaCB0aGlz IGluc3RydWN0aW9uOg0KKHBhcmFsbGVsIFsNCiAgICAgICAgKHNldCAocmVn OlZOeDJERiAxNDIgWyB2ZWN0X18yMC4yOSBdKQ0KICAgICAgICAgICAgKGZt YTpWTngyREYgKG5lZzpWTngyREYgKGZsb2F0X2V4dGVuZDpWTngyREYgKHJl ZzpWTngyU0YgMTQ0IFsgdmVjdF9fMTcuMjYgXSkpKQ0KICAgICAgICAgICAg ICAgIChyZWc6Vk54MkRGIDE0OCBbIHZlY3RfXzExLjE2IF0pDQogICAgICAg ICAgICAgICAgKHJlZzpWTngyREYgMTQ1IFsgdmVjdF9fMTUuMjMgXSkpKQ0K ICAgICAgICAoY2xvYmJlciAocmVnOkRJIDE2OSkpDQogICAgICAgIChzZXQg KHJlZzpWTngyREYgMTQzIFsgdmVjdF9fMTguMjcgXSkNCiAgICAgICAgICAg IChmbG9hdF9leHRlbmQ6Vk54MkRGIChyZWc6Vk54MlNGIDE0NCBbIHZlY3Rf XzE3LjI2IF0pKSkNCiAgICBdKQ0KRmFpbGVkIHRvIG1hdGNoIHRoaXMgaW5z dHJ1Y3Rpb246DQoocGFyYWxsZWwgWw0KICAgICAgICAoc2V0IChyZWc6Vk54 MkRGIDE0MiBbIHZlY3RfXzIwLjI5IF0pDQogICAgICAgICAgICAoZm1hOlZO eDJERiAobmVnOlZOeDJERiAoZmxvYXRfZXh0ZW5kOlZOeDJERiAocmVnOlZO eDJTRiAxNDQgWyB2ZWN0X18xNy4yNiBdKSkpDQogICAgICAgICAgICAgICAg KHJlZzpWTngyREYgMTQ4IFsgdmVjdF9fMTEuMTYgXSkNCiAgICAgICAgICAg ICAgICAocmVnOlZOeDJERiAxNDUgWyB2ZWN0X18xNS4yMyBdKSkpDQogICAg ICAgIChzZXQgKHJlZzpWTngyREYgMTQzIFsgdmVjdF9fMTguMjcgXSkNCiAg ICAgICAgICAgIChmbG9hdF9leHRlbmQ6Vk54MkRGIChyZWc6Vk54MlNGIDE0 NCBbIHZlY3RfXzE3LjI2IF0pKSkNCiAgICBdKQ0KU3VjY2Vzc2Z1bGx5IG1h dGNoZWQgdGhpcyBpbnN0cnVjdGlvbjoNCihzZXQgKHJlZzpWTngyREYgMTQz IFsgdmVjdF9fMTguMjcgXSkNCiAgICAoZmxvYXRfZXh0ZW5kOlZOeDJERiAo cmVnOlZOeDJTRiAxNDQgWyB2ZWN0X18xNy4yNiBdKSkpDQpGYWlsZWQgdG8g bWF0Y2ggdGhpcyBpbnN0cnVjdGlvbjoNCihzZXQgKHJlZzpWTngyREYgMTQy IFsgdmVjdF9fMjAuMjkgXSkNCiAgICAoZm1hOlZOeDJERiAobmVnOlZOeDJE RiAoZmxvYXRfZXh0ZW5kOlZOeDJERiAocmVnOlZOeDJTRiAxNDQgWyB2ZWN0 X18xNy4yNiBdKSkpDQogICAgICAgIChyZWc6Vk54MkRGIDE0OCBbIHZlY3Rf XzExLjE2IF0pDQogICAgICAgIChyZWc6Vk54MkRGIDE0NSBbIHZlY3RfXzE1 LjIzIF0pKSkNCg0KVHJ5aW5nIDQxLCA0MiAtPiA0MzoNCiAgIDQxOiByMTQ0 OlZOeDJTRj17KHVuc3BlY1tjb25zdF92ZWN0b3IscjE1NzpESSwweDIsMHgy LDAsdmw6U0ksdnR5cGU6U0ldIDY5KT9bcjE2NDpESV06dW5zcGVjW3plcm86 U0ldIDY4fQ0KICAgNDI6IHIxNDM6Vk54MkRGPWZsb2F0X2V4dGVuZChyMTQ0 OlZOeDJTRikNCiAgICAgIFJFR19ERUFEIHIxNDQ6Vk54MlNGDQogICA0Mzog e3IxNDI6Vk54MkRGPXstcjE0MzpWTngyREYqcjE0ODpWTngyREYrcjE0NTpW TngyREZ9O2Nsb2JiZXIgcjE2OTpESTt9DQogICAgICBSRUdfREVBRCByMTQ4 OlZOeDJERg0KICAgICAgUkVHX0RFQUQgcjE0NTpWTngyREYNCiAgICAgIFJF R19VTlVTRUQgcjE2OTpESQ0KRmFpbGVkIHRvIG1hdGNoIHRoaXMgaW5zdHJ1 Y3Rpb246DQoocGFyYWxsZWwgWw0KICAgICAgICAoc2V0IChyZWc6Vk54MkRG IDE0MiBbIHZlY3RfXzIwLjI5IF0pDQogICAgICAgICAgICAoZm1hOlZOeDJE RiAobmVnOlZOeDJERiAoZmxvYXRfZXh0ZW5kOlZOeDJERiAoaWZfdGhlbl9l bHNlOlZOeDJTRiAodW5zcGVjOlZOeDJCSSBbDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAoY29uc3RfdmVjdG9yOlZOeDJCSSByZXBl YXQgWw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAoY29uc3RfaW50IDEgWzB4MV0pDQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXSkNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIChyZWc6REkgMTU3IFsgXzExNyBdKQ0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCAyIFsw eDJdKSByZXBlYXRlZCB4Mg0KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKGNvbnN0X2ludCAwIFswXSkNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChyZWc6U0kgNjYgdmwpDQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAocmVnOlNJIDY3IHZ0eXBlKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdIFVOU1BFQ19WUFJF RElDQVRFKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtZW06Vk54 MlNGIChyZWcvdi9mOkRJIDE2NCBbIGEyIF0pIFsyIE1FTSA8dmVjdG9yKFsy LDJdKSBmbG9hdD4gWyhmbG9hdCAqKXZlY3RwX2EyLjI0XzgwXSswIFNbOCwg OF0gQTMyXSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAodW5zcGVj OlZOeDJTRiBbDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAocmVnOlNJIDAgemVybykNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXSBVTlNQRUNfVlVOREVGKSkpKQ0KICAgICAgICAgICAgICAgIChy ZWc6Vk54MkRGIDE0OCBbIHZlY3RfXzExLjE2IF0pDQogICAgICAgICAgICAg ICAgKHJlZzpWTngyREYgMTQ1IFsgdmVjdF9fMTUuMjMgXSkpKQ0KICAgICAg ICAoY2xvYmJlciAocmVnOkRJIDE2OSkpDQogICAgICAgIChzZXQgKHJlZzpW TngyREYgMTQzIFsgdmVjdF9fMTguMjcgXSkNCiAgICAgICAgICAgIChmbG9h dF9leHRlbmQ6Vk54MkRGIChpZl90aGVuX2Vsc2U6Vk54MlNGICh1bnNwZWM6 Vk54MkJJIFsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3Rf dmVjdG9yOlZOeDJCSSByZXBlYXQgWw0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKGNvbnN0X2ludCAxIFsweDFdKQ0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBdKQ0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIChyZWc6REkgMTU3IFsgXzExNyBdKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIChjb25zdF9pbnQgMiBbMHgyXSkgcmVwZWF0ZWQg eDINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDAg WzBdKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIChyZWc6U0kgNjYg dmwpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJlZzpTSSA2NyB2 dHlwZSkNCiAgICAgICAgICAgICAgICAgICAgICAgIF0gVU5TUEVDX1ZQUkVE SUNBVEUpDQogICAgICAgICAgICAgICAgICAgIChtZW06Vk54MlNGIChyZWcv di9mOkRJIDE2NCBbIGEyIF0pIFsyIE1FTSA8dmVjdG9yKFsyLDJdKSBmbG9h dD4gWyhmbG9hdCAqKXZlY3RwX2EyLjI0XzgwXSswIFNbOCwgOF0gQTMyXSkN CiAgICAgICAgICAgICAgICAgICAgKHVuc3BlYzpWTngyU0YgWw0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChyZWc6U0kgMCB6ZXJvKQ0KICAgICAg ICAgICAgICAgICAgICAgICAgXSBVTlNQRUNfVlVOREVGKSkpKQ0KICAgIF0p DQpGYWlsZWQgdG8gbWF0Y2ggdGhpcyBpbnN0cnVjdGlvbjoNCihwYXJhbGxl bCBbDQogICAgICAgIChzZXQgKHJlZzpWTngyREYgMTQyIFsgdmVjdF9fMjAu MjkgXSkNCiAgICAgICAgICAgIChmbWE6Vk54MkRGIChuZWc6Vk54MkRGIChm bG9hdF9leHRlbmQ6Vk54MkRGIChpZl90aGVuX2Vsc2U6Vk54MlNGICh1bnNw ZWM6Vk54MkJJIFsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChjb25zdF92ZWN0b3I6Vk54MkJJIHJlcGVhdCBbDQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQg MSBbMHgxXSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBdKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KHJlZzpESSAxNTcgWyBfMTE3IF0pDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAoY29uc3RfaW50IDIgWzB4Ml0pIHJlcGVhdGVkIHgy DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3Rf aW50IDAgWzBdKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKHJlZzpTSSA2NiB2bCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIChyZWc6U0kgNjcgdnR5cGUpDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF0gVU5TUEVDX1ZQUkVESUNBVEUpDQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgKG1lbTpWTngyU0YgKHJlZy92L2Y6REkg MTY0IFsgYTIgXSkgWzIgTUVNIDx2ZWN0b3IoWzIsMl0pIGZsb2F0PiBbKGZs b2F0ICopdmVjdHBfYTIuMjRfODBdKzAgU1s4LCA4XSBBMzJdKQ0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICh1bnNwZWM6Vk54MlNGIFsNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChyZWc6U0kgMCB6ZXJv KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdIFVOU1BFQ19W VU5ERUYpKSkpDQogICAgICAgICAgICAgICAgKHJlZzpWTngyREYgMTQ4IFsg dmVjdF9fMTEuMTYgXSkNCiAgICAgICAgICAgICAgICAocmVnOlZOeDJERiAx NDUgWyB2ZWN0X18xNS4yMyBdKSkpDQogICAgICAgIChzZXQgKHJlZzpWTngy REYgMTQzIFsgdmVjdF9fMTguMjcgXSkNCiAgICAgICAgICAgIChmbG9hdF9l eHRlbmQ6Vk54MkRGIChpZl90aGVuX2Vsc2U6Vk54MlNGICh1bnNwZWM6Vk54 MkJJIFsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfdmVj dG9yOlZOeDJCSSByZXBlYXQgWw0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKGNvbnN0X2ludCAxIFsweDFdKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBdKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChyZWc6REkgMTU3IFsgXzExNyBdKQ0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChjb25zdF9pbnQgMiBbMHgyXSkgcmVwZWF0ZWQgeDIN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDAgWzBd KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIChyZWc6U0kgNjYgdmwp DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJlZzpTSSA2NyB2dHlw ZSkNCiAgICAgICAgICAgICAgICAgICAgICAgIF0gVU5TUEVDX1ZQUkVESUNB VEUpDQogICAgICAgICAgICAgICAgICAgIChtZW06Vk54MlNGIChyZWcvdi9m OkRJIDE2NCBbIGEyIF0pIFsyIE1FTSA8dmVjdG9yKFsyLDJdKSBmbG9hdD4g WyhmbG9hdCAqKXZlY3RwX2EyLjI0XzgwXSswIFNbOCwgOF0gQTMyXSkNCiAg ICAgICAgICAgICAgICAgICAgKHVuc3BlYzpWTngyU0YgWw0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChyZWc6U0kgMCB6ZXJvKQ0KICAgICAgICAg ICAgICAgICAgICAgICAgXSBVTlNQRUNfVlVOREVGKSkpKQ0KICAgIF0pDQpG YWlsZWQgdG8gbWF0Y2ggdGhpcyBpbnN0cnVjdGlvbjoNCihzZXQgKHJlZzpW TngyREYgMTQzIFsgdmVjdF9fMTguMjcgXSkNCiAgICAoZmxvYXRfZXh0ZW5k OlZOeDJERiAoaWZfdGhlbl9lbHNlOlZOeDJTRiAodW5zcGVjOlZOeDJCSSBb DQogICAgICAgICAgICAgICAgICAgIChjb25zdF92ZWN0b3I6Vk54MkJJIHJl cGVhdCBbDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2lu dCAxIFsweDFdKQ0KICAgICAgICAgICAgICAgICAgICAgICAgXSkNCiAgICAg ICAgICAgICAgICAgICAgKHJlZzpESSAxNTcgWyBfMTE3IF0pDQogICAgICAg ICAgICAgICAgICAgIChjb25zdF9pbnQgMiBbMHgyXSkgcmVwZWF0ZWQgeDIN CiAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCAwIFswXSkNCiAgICAg ICAgICAgICAgICAgICAgKHJlZzpTSSA2NiB2bCkNCiAgICAgICAgICAgICAg ICAgICAgKHJlZzpTSSA2NyB2dHlwZSkNCiAgICAgICAgICAgICAgICBdIFVO U1BFQ19WUFJFRElDQVRFKQ0KICAgICAgICAgICAgKG1lbTpWTngyU0YgKHJl Zy92L2Y6REkgMTY0IFsgYTIgXSkgWzIgTUVNIDx2ZWN0b3IoWzIsMl0pIGZs b2F0PiBbKGZsb2F0ICopdmVjdHBfYTIuMjRfODBdKzAgU1s4LCA4XSBBMzJd KQ0KICAgICAgICAgICAgKHVuc3BlYzpWTngyU0YgWw0KICAgICAgICAgICAg ICAgICAgICAocmVnOlNJIDAgemVybykNCiAgICAgICAgICAgICAgICBdIFVO U1BFQ19WVU5ERUYpKSkpDQoNClRyeWluZyA0MiwgNDAgLT4gNDM6DQogICA0 MjogcjE0MzpWTngyREY9ZmxvYXRfZXh0ZW5kKHIxNDQ6Vk54MlNGKQ0KICAg ICAgUkVHX0RFQUQgcjE0NDpWTngyU0YNCiAgIDQwOiByMTQ1OlZOeDJERj17 KHVuc3BlY1tjb25zdF92ZWN0b3IscjE1NzpESSwweDIsMHgyLDAsdmw6U0ks dnR5cGU6U0ldIDY5KT9bcjE1OTpESV06dW5zcGVjW3plcm86U0ldIDY4fQ0K ICAgNDM6IHtyMTQyOlZOeDJERj17LXIxNDM6Vk54MkRGKnIxNDg6Vk54MkRG K3IxNDU6Vk54MkRGfTtjbG9iYmVyIHIxNjk6REk7fQ0KICAgICAgUkVHX0RF QUQgcjE0ODpWTngyREYNCiAgICAgIFJFR19ERUFEIHIxNDU6Vk54MkRGDQog ICAgICBSRUdfVU5VU0VEIHIxNjk6REkNCkZhaWxlZCB0byBtYXRjaCB0aGlz IGluc3RydWN0aW9uOg0KKHBhcmFsbGVsIFsNCiAgICAgICAgKHNldCAocmVn OlZOeDJERiAxNDIgWyB2ZWN0X18yMC4yOSBdKQ0KICAgICAgICAgICAgKGZt YTpWTngyREYgKG5lZzpWTngyREYgKGZsb2F0X2V4dGVuZDpWTngyREYgKHJl ZzpWTngyU0YgMTQ0IFsgdmVjdF9fMTcuMjYgXSkpKQ0KICAgICAgICAgICAg ICAgIChyZWc6Vk54MkRGIDE0OCBbIHZlY3RfXzExLjE2IF0pDQogICAgICAg ICAgICAgICAgKGlmX3RoZW5fZWxzZTpWTngyREYgKHVuc3BlYzpWTngyQkkg Ww0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF92ZWN0b3I6 Vk54MkJJIHJlcGVhdCBbDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAoY29uc3RfaW50IDEgWzB4MV0pDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF0pDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgKHJlZzpESSAxNTcgWyBfMTE3IF0pDQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgKGNvbnN0X2ludCAyIFsweDJdKSByZXBlYXRlZCB4Mg0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgMCBbMF0pDQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJlZzpTSSA2NiB2bCkNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAocmVnOlNJIDY3IHZ0eXBlKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgXSBVTlNQRUNfVlBSRURJQ0FURSkN CiAgICAgICAgICAgICAgICAgICAgKG1lbTpWTngyREYgKHJlZy92L2Y6REkg MTU5IFsgZHN0MiBdKSBbMSBNRU0gPHZlY3RvcihbMiwyXSkgZG91YmxlPiBb KGRvdWJsZSAqKXZlY3RwX2RzdDIuMjFfODRdKzAgU1sxNiwgMTZdIEE2NF0p DQogICAgICAgICAgICAgICAgICAgICh1bnNwZWM6Vk54MkRGIFsNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAocmVnOlNJIDAgemVybykNCiAgICAg ICAgICAgICAgICAgICAgICAgIF0gVU5TUEVDX1ZVTkRFRikpKSkNCiAgICAg ICAgKGNsb2JiZXIgKHJlZzpESSAxNjkpKQ0KICAgICAgICAoc2V0IChyZWc6 Vk54MkRGIDE0MyBbIHZlY3RfXzE4LjI3IF0pDQogICAgICAgICAgICAoZmxv YXRfZXh0ZW5kOlZOeDJERiAocmVnOlZOeDJTRiAxNDQgWyB2ZWN0X18xNy4y NiBdKSkpDQogICAgXSkNCkZhaWxlZCB0byBtYXRjaCB0aGlzIGluc3RydWN0 aW9uOg0KKHBhcmFsbGVsIFsNCiAgICAgICAgKHNldCAocmVnOlZOeDJERiAx NDIgWyB2ZWN0X18yMC4yOSBdKQ0KICAgICAgICAgICAgKGZtYTpWTngyREYg KG5lZzpWTngyREYgKGZsb2F0X2V4dGVuZDpWTngyREYgKHJlZzpWTngyU0Yg MTQ0IFsgdmVjdF9fMTcuMjYgXSkpKQ0KICAgICAgICAgICAgICAgIChyZWc6 Vk54MkRGIDE0OCBbIHZlY3RfXzExLjE2IF0pDQogICAgICAgICAgICAgICAg KGlmX3RoZW5fZWxzZTpWTngyREYgKHVuc3BlYzpWTngyQkkgWw0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChjb25zdF92ZWN0b3I6Vk54MkJJIHJl cGVhdCBbDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo Y29uc3RfaW50IDEgWzB4MV0pDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF0pDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJlZzpE SSAxNTcgWyBfMTE3IF0pDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg KGNvbnN0X2ludCAyIFsweDJdKSByZXBlYXRlZCB4Mg0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIChjb25zdF9pbnQgMCBbMF0pDQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgKHJlZzpTSSA2NiB2bCkNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAocmVnOlNJIDY3IHZ0eXBlKQ0KICAgICAgICAg ICAgICAgICAgICAgICAgXSBVTlNQRUNfVlBSRURJQ0FURSkNCiAgICAgICAg ICAgICAgICAgICAgKG1lbTpWTngyREYgKHJlZy92L2Y6REkgMTU5IFsgZHN0 MiBdKSBbMSBNRU0gPHZlY3RvcihbMiwyXSkgZG91YmxlPiBbKGRvdWJsZSAq KXZlY3RwX2RzdDIuMjFfODRdKzAgU1sxNiwgMTZdIEE2NF0pDQogICAgICAg ICAgICAgICAgICAgICh1bnNwZWM6Vk54MkRGIFsNCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAocmVnOlNJIDAgemVybykNCiAgICAgICAgICAgICAg ICAgICAgICAgIF0gVU5TUEVDX1ZVTkRFRikpKSkNCiAgICAgICAgKHNldCAo cmVnOlZOeDJERiAxNDMgWyB2ZWN0X18xOC4yNyBdKQ0KICAgICAgICAgICAg KGZsb2F0X2V4dGVuZDpWTngyREYgKHJlZzpWTngyU0YgMTQ0IFsgdmVjdF9f MTcuMjYgXSkpKQ0KICAgIF0pDQpTdWNjZXNzZnVsbHkgbWF0Y2hlZCB0aGlz IGluc3RydWN0aW9uOg0KKHNldCAocmVnOlZOeDJERiAxNDMgWyB2ZWN0X18x OC4yNyBdKQ0KICAgIChmbG9hdF9leHRlbmQ6Vk54MkRGIChyZWc6Vk54MlNG IDE0NCBbIHZlY3RfXzE3LjI2IF0pKSkNCkZhaWxlZCB0byBtYXRjaCB0aGlz IGluc3RydWN0aW9uOg0KKHNldCAocmVnOlZOeDJERiAxNDIgWyB2ZWN0X18y MC4yOSBdKQ0KICAgIChmbWE6Vk54MkRGIChuZWc6Vk54MkRGIChmbG9hdF9l eHRlbmQ6Vk54MkRGIChyZWc6Vk54MlNGIDE0NCBbIHZlY3RfXzE3LjI2IF0p KSkNCiAgICAgICAgKHJlZzpWTngyREYgMTQ4IFsgdmVjdF9fMTEuMTYgXSkN CiAgICAgICAgKGlmX3RoZW5fZWxzZTpWTngyREYgKHVuc3BlYzpWTngyQkkg Ww0KICAgICAgICAgICAgICAgICAgICAoY29uc3RfdmVjdG9yOlZOeDJCSSBy ZXBlYXQgWw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9p bnQgMSBbMHgxXSkNCiAgICAgICAgICAgICAgICAgICAgICAgIF0pDQogICAg ICAgICAgICAgICAgICAgIChyZWc6REkgMTU3IFsgXzExNyBdKQ0KICAgICAg ICAgICAgICAgICAgICAoY29uc3RfaW50IDIgWzB4Ml0pIHJlcGVhdGVkIHgy DQogICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgMCBbMF0pDQogICAg ICAgICAgICAgICAgICAgIChyZWc6U0kgNjYgdmwpDQogICAgICAgICAgICAg ICAgICAgIChyZWc6U0kgNjcgdnR5cGUpDQogICAgICAgICAgICAgICAgXSBV TlNQRUNfVlBSRURJQ0FURSkNCiAgICAgICAgICAgIChtZW06Vk54MkRGIChy ZWcvdi9mOkRJIDE1OSBbIGRzdDIgXSkgWzEgTUVNIDx2ZWN0b3IoWzIsMl0p IGRvdWJsZT4gWyhkb3VibGUgKil2ZWN0cF9kc3QyLjIxXzg0XSswIFNbMTYs IDE2XSBBNjRdKQ0KICAgICAgICAgICAgKHVuc3BlYzpWTngyREYgWw0KICAg ICAgICAgICAgICAgICAgICAocmVnOlNJIDAgemVybykNCiAgICAgICAgICAg ICAgICBdIFVOU1BFQ19WVU5ERUYpKSkpDQoNClRyeWluZyA0MyAtPiA0NDoN CiAgIDQzOiB7cjE0MjpWTngyREY9ey1yMTQzOlZOeDJERipyMTQ4OlZOeDJE RityMTQ1OlZOeDJERn07Y2xvYmJlciByMTY5OkRJO30NCiAgICAgIFJFR19E RUFEIHIxNDg6Vk54MkRGDQogICAgICBSRUdfREVBRCByMTQ1OlZOeDJERg0K ICAgICAgUkVHX1VOVVNFRCByMTY5OkRJDQogICA0NDogW3IxNDE6REldPXso dW5zcGVjW2NvbnN0X3ZlY3RvcixyMTU3OkRJLDAsdmw6U0ksdnR5cGU6U0ld IDY5KT9yMTQyOlZOeDJERjpbcjE0MTpESV19DQogICAgICBSRUdfREVBRCBy MTQyOlZOeDJERg0KRmFpbGVkIHRvIG1hdGNoIHRoaXMgaW5zdHJ1Y3Rpb246 DQooc2V0IChtZW06Vk54MkRGIChyZWcvZjpESSAxNDEgWyB2ZWN0cF9kc3Qy LjMwIF0pIFsxIE1FTSA8dmVjdG9yKFsyLDJdKSBkb3VibGU+IFsoZG91Ymxl ICopdmVjdHBfZHN0Mi4zMF83M10rMCBTWzE2LCAxNl0gQTY0XSkNCiAgICAo aWZfdGhlbl9lbHNlOlZOeDJERiAodW5zcGVjOlZOeDJCSSBbDQogICAgICAg ICAgICAgICAgKGNvbnN0X3ZlY3RvcjpWTngyQkkgcmVwZWF0IFsNCiAgICAg ICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgMSBbMHgxXSkNCiAgICAg ICAgICAgICAgICAgICAgXSkNCiAgICAgICAgICAgICAgICAocmVnOkRJIDE1 NyBbIF8xMTcgXSkNCiAgICAgICAgICAgICAgICAoY29uc3RfaW50IDAgWzBd KQ0KICAgICAgICAgICAgICAgIChyZWc6U0kgNjYgdmwpDQogICAgICAgICAg ICAgICAgKHJlZzpTSSA2NyB2dHlwZSkNCiAgICAgICAgICAgIF0gVU5TUEVD X1ZQUkVESUNBVEUpDQogICAgICAgIChmbWE6Vk54MkRGIChuZWc6Vk54MkRG IChyZWc6Vk54MkRGIDE0MyBbIHZlY3RfXzE4LjI3IF0pKQ0KICAgICAgICAg ICAgKHJlZzpWTngyREYgMTQ4IFsgdmVjdF9fMTEuMTYgXSkNCiAgICAgICAg ICAgIChyZWc6Vk54MkRGIDE0NSBbIHZlY3RfXzE1LjIzIF0pKQ0KICAgICAg ICAobWVtOlZOeDJERiAocmVnL2Y6REkgMTQxIFsgdmVjdHBfZHN0Mi4zMCBd KSBbMSBNRU0gPHZlY3RvcihbMiwyXSkgZG91YmxlPiBbKGRvdWJsZSAqKXZl Y3RwX2RzdDIuMzBfNzNdKzAgU1sxNiwgMTZdIEE2NF0pKSkNCg0KVHJ5aW5n IDQwLCA0MyAtPiA0NDoNCiAgIDQwOiByMTQ1OlZOeDJERj17KHVuc3BlY1tj b25zdF92ZWN0b3IscjE1NzpESSwweDIsMHgyLDAsdmw6U0ksdnR5cGU6U0ld IDY5KT9bcjE1OTpESV06dW5zcGVjW3plcm86U0ldIDY4fQ0KICAgNDM6IHty MTQyOlZOeDJERj17LXIxNDM6Vk54MkRGKnIxNDg6Vk54MkRGK3IxNDU6Vk54 MkRGfTtjbG9iYmVyIHIxNjk6REk7fQ0KICAgICAgUkVHX0RFQUQgcjE0ODpW TngyREYNCiAgICAgIFJFR19ERUFEIHIxNDU6Vk54MkRGDQogICAgICBSRUdf VU5VU0VEIHIxNjk6REkNCiAgIDQ0OiBbcjE0MTpESV09eyh1bnNwZWNbY29u c3RfdmVjdG9yLHIxNTc6REksMCx2bDpTSSx2dHlwZTpTSV0gNjkpP3IxNDI6 Vk54MkRGOltyMTQxOkRJXX0NCiAgICAgIFJFR19ERUFEIHIxNDI6Vk54MkRG DQpGYWlsZWQgdG8gbWF0Y2ggdGhpcyBpbnN0cnVjdGlvbjoNCihzZXQgKG1l bTpWTngyREYgKHJlZy9mOkRJIDE0MSBbIHZlY3RwX2RzdDIuMzAgXSkgWzEg TUVNIDx2ZWN0b3IoWzIsMl0pIGRvdWJsZT4gWyhkb3VibGUgKil2ZWN0cF9k c3QyLjMwXzczXSswIFNbMTYsIDE2XSBBNjRdKQ0KICAgIChpZl90aGVuX2Vs c2U6Vk54MkRGICh1bnNwZWM6Vk54MkJJIFsNCiAgICAgICAgICAgICAgICAo Y29uc3RfdmVjdG9yOlZOeDJCSSByZXBlYXQgWw0KICAgICAgICAgICAgICAg ICAgICAgICAgKGNvbnN0X2ludCAxIFsweDFdKQ0KICAgICAgICAgICAgICAg ICAgICBdKQ0KICAgICAgICAgICAgICAgIChyZWc6REkgMTU3IFsgXzExNyBd KQ0KICAgICAgICAgICAgICAgIChjb25zdF9pbnQgMCBbMF0pDQogICAgICAg ICAgICAgICAgKHJlZzpTSSA2NiB2bCkNCiAgICAgICAgICAgICAgICAocmVn OlNJIDY3IHZ0eXBlKQ0KICAgICAgICAgICAgXSBVTlNQRUNfVlBSRURJQ0FU RSkNCiAgICAgICAgKGZtYTpWTngyREYgKG5lZzpWTngyREYgKHJlZzpWTngy REYgMTQzIFsgdmVjdF9fMTguMjcgXSkpDQogICAgICAgICAgICAocmVnOlZO eDJERiAxNDggWyB2ZWN0X18xMS4xNiBdKQ0KICAgICAgICAgICAgKGlmX3Ro ZW5fZWxzZTpWTngyREYgKHVuc3BlYzpWTngyQkkgWw0KICAgICAgICAgICAg ICAgICAgICAgICAgKGNvbnN0X3ZlY3RvcjpWTngyQkkgcmVwZWF0IFsNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCAxIFsw eDFdKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0pDQogICAgICAg ICAgICAgICAgICAgICAgICAocmVnOkRJIDE1NyBbIF8xMTcgXSkNCiAgICAg ICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgMiBbMHgyXSkgcmVwZWF0 ZWQgeDINCiAgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgMCBb MF0pDQogICAgICAgICAgICAgICAgICAgICAgICAocmVnOlNJIDY2IHZsKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgKHJlZzpTSSA2NyB2dHlwZSkNCiAg ICAgICAgICAgICAgICAgICAgXSBVTlNQRUNfVlBSRURJQ0FURSkNCiAgICAg ICAgICAgICAgICAobWVtOlZOeDJERiAocmVnL3YvZjpESSAxNTkgWyBkc3Qy IF0pIFsxIE1FTSA8dmVjdG9yKFsyLDJdKSBkb3VibGU+IFsoZG91YmxlICop dmVjdHBfZHN0Mi4yMV84NF0rMCBTWzE2LCAxNl0gQTY0XSkNCiAgICAgICAg ICAgICAgICAodW5zcGVjOlZOeDJERiBbDQogICAgICAgICAgICAgICAgICAg ICAgICAocmVnOlNJIDAgemVybykNCiAgICAgICAgICAgICAgICAgICAgXSBV TlNQRUNfVlVOREVGKSkpDQogICAgICAgIChtZW06Vk54MkRGIChyZWcvZjpE SSAxNDEgWyB2ZWN0cF9kc3QyLjMwIF0pIFsxIE1FTSA8dmVjdG9yKFsyLDJd KSBkb3VibGU+IFsoZG91YmxlICopdmVjdHBfZHN0Mi4zMF83M10rMCBTWzE2 LCAxNl0gQTY0XSkpKQ0KU3VjY2Vzc2Z1bGx5IG1hdGNoZWQgdGhpcyBpbnN0 cnVjdGlvbjoNCihzZXQgKHJlZzpWTngyREYgMTQyIFsgdmVjdF9fMjAuMjkg XSkNCiAgICAoaWZfdGhlbl9lbHNlOlZOeDJERiAodW5zcGVjOlZOeDJCSSBb DQogICAgICAgICAgICAgICAgKGNvbnN0X3ZlY3RvcjpWTngyQkkgcmVwZWF0 IFsNCiAgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgMSBbMHgx XSkNCiAgICAgICAgICAgICAgICAgICAgXSkNCiAgICAgICAgICAgICAgICAo cmVnOkRJIDE1NyBbIF8xMTcgXSkNCiAgICAgICAgICAgICAgICAoY29uc3Rf aW50IDIgWzB4Ml0pIHJlcGVhdGVkIHgyDQogICAgICAgICAgICAgICAgKGNv bnN0X2ludCAwIFswXSkNCiAgICAgICAgICAgICAgICAocmVnOlNJIDY2IHZs KQ0KICAgICAgICAgICAgICAgIChyZWc6U0kgNjcgdnR5cGUpDQogICAgICAg ICAgICBdIFVOU1BFQ19WUFJFRElDQVRFKQ0KICAgICAgICAobWVtOlZOeDJE RiAocmVnL3YvZjpESSAxNTkgWyBkc3QyIF0pIFsxIE1FTSA8dmVjdG9yKFsy LDJdKSBkb3VibGU+IFsoZG91YmxlICopdmVjdHBfZHN0Mi4yMV84NF0rMCBT WzE2LCAxNl0gQTY0XSkNCiAgICAgICAgKHVuc3BlYzpWTngyREYgWw0KICAg ICAgICAgICAgICAgIChyZWc6U0kgMCB6ZXJvKQ0KICAgICAgICAgICAgXSBV TlNQRUNfVlVOREVGKSkpDQpGYWlsZWQgdG8gbWF0Y2ggdGhpcyBpbnN0cnVj dGlvbjoNCihzZXQgKG1lbTpWTngyREYgKHJlZy9mOkRJIDE0MSBbIHZlY3Rw X2RzdDIuMzAgXSkgWzEgTUVNIDx2ZWN0b3IoWzIsMl0pIGRvdWJsZT4gWyhk b3VibGUgKil2ZWN0cF9kc3QyLjMwXzczXSswIFNbMTYsIDE2XSBBNjRdKQ0K ICAgIChpZl90aGVuX2Vsc2U6Vk54MkRGICh1bnNwZWM6Vk54MkJJIFsNCiAg ICAgICAgICAgICAgICAoY29uc3RfdmVjdG9yOlZOeDJCSSByZXBlYXQgWw0K ICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCAxIFsweDFdKQ0K ICAgICAgICAgICAgICAgICAgICBdKQ0KICAgICAgICAgICAgICAgIChyZWc6 REkgMTU3IFsgXzExNyBdKQ0KICAgICAgICAgICAgICAgIChjb25zdF9pbnQg MCBbMF0pDQogICAgICAgICAgICAgICAgKHJlZzpTSSA2NiB2bCkNCiAgICAg ICAgICAgICAgICAocmVnOlNJIDY3IHZ0eXBlKQ0KICAgICAgICAgICAgXSBV TlNQRUNfVlBSRURJQ0FURSkNCiAgICAgICAgKGZtYTpWTngyREYgKG5lZzpW TngyREYgKHJlZzpWTngyREYgMTQzIFsgdmVjdF9fMTguMjcgXSkpDQogICAg ICAgICAgICAocmVnOlZOeDJERiAxNDggWyB2ZWN0X18xMS4xNiBdKQ0KICAg ICAgICAgICAgKHJlZzpWTngyREYgMTQyIFsgdmVjdF9fMjAuMjkgXSkpDQog ICAgICAgIChtZW06Vk54MkRGIChyZWcvZjpESSAxNDEgWyB2ZWN0cF9kc3Qy LjMwIF0pIFsxIE1FTSA8dmVjdG9yKFsyLDJdKSBkb3VibGU+IFsoZG91Ymxl ICopdmVjdHBfZHN0Mi4zMF83M10rMCBTWzE2LCAxNl0gQTY0XSkpKQ0KDQpU cnlpbmcgNDIsIDQzIC0+IDQ0Og0KICAgNDI6IHIxNDM6Vk54MkRGPWZsb2F0 X2V4dGVuZChyMTQ0OlZOeDJTRikNCiAgICAgIFJFR19ERUFEIHIxNDQ6Vk54 MlNGDQogICA0Mzoge3IxNDI6Vk54MkRGPXstcjE0MzpWTngyREYqcjE0ODpW TngyREYrcjE0NTpWTngyREZ9O2Nsb2JiZXIgcjE2OTpESTt9DQogICAgICBS RUdfREVBRCByMTQ4OlZOeDJERg0KICAgICAgUkVHX0RFQUQgcjE0NTpWTngy REYNCiAgICAgIFJFR19VTlVTRUQgcjE2OTpESQ0KICAgNDQ6IFtyMTQxOkRJ XT17KHVuc3BlY1tjb25zdF92ZWN0b3IscjE1NzpESSwwLHZsOlNJLHZ0eXBl OlNJXSA2OSk/cjE0MjpWTngyREY6W3IxNDE6REldfQ0KICAgICAgUkVHX0RF QUQgcjE0MjpWTngyREYNCkZhaWxlZCB0byBtYXRjaCB0aGlzIGluc3RydWN0 aW9uOg0KKHBhcmFsbGVsIFsNCiAgICAgICAgKHNldCAobWVtOlZOeDJERiAo cmVnL2Y6REkgMTQxIFsgdmVjdHBfZHN0Mi4zMCBdKSBbMSBNRU0gPHZlY3Rv cihbMiwyXSkgZG91YmxlPiBbKGRvdWJsZSAqKXZlY3RwX2RzdDIuMzBfNzNd KzAgU1sxNiwgMTZdIEE2NF0pDQogICAgICAgICAgICAoaWZfdGhlbl9lbHNl OlZOeDJERiAodW5zcGVjOlZOeDJCSSBbDQogICAgICAgICAgICAgICAgICAg ICAgICAoY29uc3RfdmVjdG9yOlZOeDJCSSByZXBlYXQgWw0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDEgWzB4MV0pDQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgXSkNCiAgICAgICAgICAgICAg ICAgICAgICAgIChyZWc6REkgMTU3IFsgXzExNyBdKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgKGNvbnN0X2ludCAwIFswXSkNCiAgICAgICAgICAgICAg ICAgICAgICAgIChyZWc6U0kgNjYgdmwpDQogICAgICAgICAgICAgICAgICAg ICAgICAocmVnOlNJIDY3IHZ0eXBlKQ0KICAgICAgICAgICAgICAgICAgICBd IFVOU1BFQ19WUFJFRElDQVRFKQ0KICAgICAgICAgICAgICAgIChmbWE6Vk54 MkRGIChuZWc6Vk54MkRGIChmbG9hdF9leHRlbmQ6Vk54MkRGIChyZWc6Vk54 MlNGIDE0NCBbIHZlY3RfXzE3LjI2IF0pKSkNCiAgICAgICAgICAgICAgICAg ICAgKHJlZzpWTngyREYgMTQ4IFsgdmVjdF9fMTEuMTYgXSkNCiAgICAgICAg ICAgICAgICAgICAgKHJlZzpWTngyREYgMTQ1IFsgdmVjdF9fMTUuMjMgXSkp DQogICAgICAgICAgICAgICAgKG1lbTpWTngyREYgKHJlZy9mOkRJIDE0MSBb IHZlY3RwX2RzdDIuMzAgXSkgWzEgTUVNIDx2ZWN0b3IoWzIsMl0pIGRvdWJs ZT4gWyhkb3VibGUgKil2ZWN0cF9kc3QyLjMwXzczXSswIFNbMTYsIDE2XSBB NjRdKSkpDQogICAgICAgIChzZXQgKHJlZzpWTngyREYgMTQzIFsgdmVjdF9f MTguMjcgXSkNCiAgICAgICAgICAgIChmbG9hdF9leHRlbmQ6Vk54MkRGIChy ZWc6Vk54MlNGIDE0NCBbIHZlY3RfXzE3LjI2IF0pKSkNCiAgICBdKQ0KRmFp bGVkIHRvIG1hdGNoIHRoaXMgaW5zdHJ1Y3Rpb246DQoocGFyYWxsZWwgWw0K ICAgICAgICAoc2V0IChtZW06Vk54MkRGIChyZWcvZjpESSAxNDEgWyB2ZWN0 cF9kc3QyLjMwIF0pIFsxIE1FTSA8dmVjdG9yKFsyLDJdKSBkb3VibGU+IFso ZG91YmxlICopdmVjdHBfZHN0Mi4zMF83M10rMCBTWzE2LCAxNl0gQTY0XSkN CiAgICAgICAgICAgIChpZl90aGVuX2Vsc2U6Vk54MkRGICh1bnNwZWM6Vk54 MkJJIFsNCiAgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF92ZWN0b3I6 Vk54MkJJIHJlcGVhdCBbDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChjb25zdF9pbnQgMSBbMHgxXSkNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBdKQ0KICAgICAgICAgICAgICAgICAgICAgICAgKHJlZzpESSAx NTcgWyBfMTE3IF0pDQogICAgICAgICAgICAgICAgICAgICAgICAoY29uc3Rf aW50IDAgWzBdKQ0KICAgICAgICAgICAgICAgICAgICAgICAgKHJlZzpTSSA2 NiB2bCkNCiAgICAgICAgICAgICAgICAgICAgICAgIChyZWc6U0kgNjcgdnR5 cGUpDQogICAgICAgICAgICAgICAgICAgIF0gVU5TUEVDX1ZQUkVESUNBVEUp DQogICAgICAgICAgICAgICAgKGZtYTpWTngyREYgKG5lZzpWTngyREYgKGZs b2F0X2V4dGVuZDpWTngyREYgKHJlZzpWTngyU0YgMTQ0IFsgdmVjdF9fMTcu MjYgXSkpKQ0KICAgICAgICAgICAgICAgICAgICAocmVnOlZOeDJERiAxNDgg WyB2ZWN0X18xMS4xNiBdKQ0KICAgICAgICAgICAgICAgICAgICAocmVnOlZO eDJERiAxNDUgWyB2ZWN0X18xNS4yMyBdKSkNCiAgICAgICAgICAgICAgICAo bWVtOlZOeDJERiAocmVnL2Y6REkgMTQxIFsgdmVjdHBfZHN0Mi4zMCBdKSBb MSBNRU0gPHZlY3RvcihbMiwyXSkgZG91YmxlPiBbKGRvdWJsZSAqKXZlY3Rw X2RzdDIuMzBfNzNdKzAgU1sxNiwgMTZdIEE2NF0pKSkNCiAgICAgICAgKHNl dCAocmVnOlZOeDJERiAxNDMgWyB2ZWN0X18xOC4yNyBdKQ0KICAgICAgICAg ICAgKGZsb2F0X2V4dGVuZDpWTngyREYgKHJlZzpWTngyU0YgMTQ0IFsgdmVj dF9fMTcuMjYgXSkpKQ0KICAgIF0pDQpTdWNjZXNzZnVsbHkgbWF0Y2hlZCB0 aGlzIGluc3RydWN0aW9uOg0KKHNldCAocmVnOlZOeDJERiAxNDMgWyB2ZWN0 X18xOC4yNyBdKQ0KICAgIChmbG9hdF9leHRlbmQ6Vk54MkRGIChyZWc6Vk54 MlNGIDE0NCBbIHZlY3RfXzE3LjI2IF0pKSkNCkZhaWxlZCB0byBtYXRjaCB0 aGlzIGluc3RydWN0aW9uOg0KKHNldCAobWVtOlZOeDJERiAocmVnL2Y6REkg MTQxIFsgdmVjdHBfZHN0Mi4zMCBdKSBbMSBNRU0gPHZlY3RvcihbMiwyXSkg ZG91YmxlPiBbKGRvdWJsZSAqKXZlY3RwX2RzdDIuMzBfNzNdKzAgU1sxNiwg MTZdIEE2NF0pDQogICAgKGlmX3RoZW5fZWxzZTpWTngyREYgKHVuc3BlYzpW TngyQkkgWw0KICAgICAgICAgICAgICAgIChjb25zdF92ZWN0b3I6Vk54MkJJ IHJlcGVhdCBbDQogICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50 IDEgWzB4MV0pDQogICAgICAgICAgICAgICAgICAgIF0pDQogICAgICAgICAg ICAgICAgKHJlZzpESSAxNTcgWyBfMTE3IF0pDQogICAgICAgICAgICAgICAg KGNvbnN0X2ludCAwIFswXSkNCiAgICAgICAgICAgICAgICAocmVnOlNJIDY2 IHZsKQ0KICAgICAgICAgICAgICAgIChyZWc6U0kgNjcgdnR5cGUpDQogICAg ICAgICAgICBdIFVOU1BFQ19WUFJFRElDQVRFKQ0KICAgICAgICAoZm1hOlZO eDJERiAobmVnOlZOeDJERiAoZmxvYXRfZXh0ZW5kOlZOeDJERiAocmVnOlZO eDJTRiAxNDQgWyB2ZWN0X18xNy4yNiBdKSkpDQogICAgICAgICAgICAocmVn OlZOeDJERiAxNDggWyB2ZWN0X18xMS4xNiBdKQ0KICAgICAgICAgICAgKHJl ZzpWTngyREYgMTQ1IFsgdmVjdF9fMTUuMjMgXSkpDQogICAgICAgIChtZW06 Vk54MkRGIChyZWcvZjpESSAxNDEgWyB2ZWN0cF9kc3QyLjMwIF0pIFsxIE1F TSA8dmVjdG9yKFsyLDJdKSBkb3VibGU+IFsoZG91YmxlICopdmVjdHBfZHN0 Mi4zMF83M10rMCBTWzE2LCAxNl0gQTY0XSkpKQ0KDQpUcnlpbmcgNDYgLT4g NDc6DQogICA0NjogcjE0MDpWTngyREY9eyh1bnNwZWNbY29uc3RfdmVjdG9y LHIxNTc6REksMHgyLDB4MiwwLHZsOlNJLHZ0eXBlOlNJXSA2OSk/W3IxNjA6 REldOnVuc3BlY1t6ZXJvOlNJXSA2OH0NCiAgIDQ3OiB7cjEzOTpWTngyREY9 ey1yMTQzOlZOeDJERipyMTUwOlZOeDJERityMTQwOlZOeDJERn07Y2xvYmJl ciByMTcwOkRJO30NCiAgICAgIFJFR19ERUFEIHIxNDM6Vk54MkRGDQogICAg ICBSRUdfREVBRCByMTQwOlZOeDJERg0KICAgICAgUkVHX1VOVVNFRCByMTcw OkRJDQpGYWlsZWQgdG8gbWF0Y2ggdGhpcyBpbnN0cnVjdGlvbjoNCihwYXJh bGxlbCBbDQogICAgICAgIChzZXQgKHJlZzpWTngyREYgMTM5IFsgdmVjdF9f MjQuMzYgXSkNCiAgICAgICAgICAgIChmbWE6Vk54MkRGIChuZWc6Vk54MkRG IChyZWc6Vk54MkRGIDE0MyBbIHZlY3RfXzE4LjI3IF0pKQ0KICAgICAgICAg ICAgICAgIChyZWc6Vk54MkRGIDE1MCBbIHZlY3RfXzguMTIgXSkNCiAgICAg ICAgICAgICAgICAoaWZfdGhlbl9lbHNlOlZOeDJERiAodW5zcGVjOlZOeDJC SSBbDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X3ZlY3Rv cjpWTngyQkkgcmVwZWF0IFsNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIChjb25zdF9pbnQgMSBbMHgxXSkNCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXSkNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAocmVnOkRJIDE1NyBbIF8xMTcgXSkNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAoY29uc3RfaW50IDIgWzB4Ml0pIHJlcGVhdGVkIHgyDQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCAwIFswXSkN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAocmVnOlNJIDY2IHZsKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChyZWc6U0kgNjcgdnR5cGUp DQogICAgICAgICAgICAgICAgICAgICAgICBdIFVOU1BFQ19WUFJFRElDQVRF KQ0KICAgICAgICAgICAgICAgICAgICAobWVtOlZOeDJERiAocmVnL3YvZjpE SSAxNjAgWyBkc3QzIF0pIFsxIE1FTSA8dmVjdG9yKFsyLDJdKSBkb3VibGU+ IFsoZG91YmxlICopdmVjdHBfZHN0My4zMl82OV0rMCBTWzE2LCAxNl0gQTY0 XSkNCiAgICAgICAgICAgICAgICAgICAgKHVuc3BlYzpWTngyREYgWw0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgIChyZWc6U0kgMCB6ZXJvKQ0KICAg ICAgICAgICAgICAgICAgICAgICAgXSBVTlNQRUNfVlVOREVGKSkpKQ0KICAg ICAgICAoY2xvYmJlciAocmVnOkRJIDE3MCkpDQogICAgXSkNCkZhaWxlZCB0 byBtYXRjaCB0aGlzIGluc3RydWN0aW9uOg0KKHNldCAocmVnOlZOeDJERiAx MzkgWyB2ZWN0X18yNC4zNiBdKQ0KICAgIChmbWE6Vk54MkRGIChuZWc6Vk54 MkRGIChyZWc6Vk54MkRGIDE0MyBbIHZlY3RfXzE4LjI3IF0pKQ0KICAgICAg ICAocmVnOlZOeDJERiAxNTAgWyB2ZWN0X184LjEyIF0pDQogICAgICAgIChp Zl90aGVuX2Vsc2U6Vk54MkRGICh1bnNwZWM6Vk54MkJJIFsNCiAgICAgICAg ICAgICAgICAgICAgKGNvbnN0X3ZlY3RvcjpWTngyQkkgcmVwZWF0IFsNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDEgWzB4MV0p DQogICAgICAgICAgICAgICAgICAgICAgICBdKQ0KICAgICAgICAgICAgICAg ICAgICAocmVnOkRJIDE1NyBbIF8xMTcgXSkNCiAgICAgICAgICAgICAgICAg ICAgKGNvbnN0X2ludCAyIFsweDJdKSByZXBlYXRlZCB4Mg0KICAgICAgICAg ICAgICAgICAgICAoY29uc3RfaW50IDAgWzBdKQ0KICAgICAgICAgICAgICAg ICAgICAocmVnOlNJIDY2IHZsKQ0KICAgICAgICAgICAgICAgICAgICAocmVn OlNJIDY3IHZ0eXBlKQ0KICAgICAgICAgICAgICAgIF0gVU5TUEVDX1ZQUkVE SUNBVEUpDQogICAgICAgICAgICAobWVtOlZOeDJERiAocmVnL3YvZjpESSAx NjAgWyBkc3QzIF0pIFsxIE1FTSA8dmVjdG9yKFsyLDJdKSBkb3VibGU+IFso ZG91YmxlICopdmVjdHBfZHN0My4zMl82OV0rMCBTWzE2LCAxNl0gQTY0XSkN CiAgICAgICAgICAgICh1bnNwZWM6Vk54MkRGIFsNCiAgICAgICAgICAgICAg ICAgICAgKHJlZzpTSSAwIHplcm8pDQogICAgICAgICAgICAgICAgXSBVTlNQ RUNfVlVOREVGKSkpKQ0KDQpUcnlpbmcgNDcgLT4gNDg6DQogICA0Nzoge3Ix Mzk6Vk54MkRGPXstcjE0MzpWTngyREYqcjE1MDpWTngyREYrcjE0MDpWTngy REZ9O2Nsb2JiZXIgcjE3MDpESTt9DQogICAgICBSRUdfREVBRCByMTQzOlZO eDJERg0KICAgICAgUkVHX0RFQUQgcjE0MDpWTngyREYNCiAgICAgIFJFR19V TlVTRUQgcjE3MDpESQ0KICAgNDg6IFtyMTM4OkRJXT17KHVuc3BlY1tjb25z dF92ZWN0b3IscjE1NzpESSwwLHZsOlNJLHZ0eXBlOlNJXSA2OSk/cjEzOTpW TngyREY6W3IxMzg6REldfQ0KICAgICAgUkVHX0RFQUQgcjEzOTpWTngyREYN CkZhaWxlZCB0byBtYXRjaCB0aGlzIGluc3RydWN0aW9uOg0KKHNldCAobWVt OlZOeDJERiAocmVnL2Y6REkgMTM4IFsgdmVjdHBfZHN0My4zNyBdKSBbMSBN RU0gPHZlY3RvcihbMiwyXSkgZG91YmxlPiBbKGRvdWJsZSAqKXZlY3RwX2Rz dDMuMzdfNjNdKzAgU1sxNiwgMTZdIEE2NF0pDQogICAgKGlmX3RoZW5fZWxz ZTpWTngyREYgKHVuc3BlYzpWTngyQkkgWw0KICAgICAgICAgICAgICAgIChj b25zdF92ZWN0b3I6Vk54MkJJIHJlcGVhdCBbDQogICAgICAgICAgICAgICAg ICAgICAgICAoY29uc3RfaW50IDEgWzB4MV0pDQogICAgICAgICAgICAgICAg ICAgIF0pDQogICAgICAgICAgICAgICAgKHJlZzpESSAxNTcgWyBfMTE3IF0p DQogICAgICAgICAgICAgICAgKGNvbnN0X2ludCAwIFswXSkNCiAgICAgICAg ICAgICAgICAocmVnOlNJIDY2IHZsKQ0KICAgICAgICAgICAgICAgIChyZWc6 U0kgNjcgdnR5cGUpDQogICAgICAgICAgICBdIFVOU1BFQ19WUFJFRElDQVRF KQ0KICAgICAgICAoZm1hOlZOeDJERiAobmVnOlZOeDJERiAocmVnOlZOeDJE RiAxNDMgWyB2ZWN0X18xOC4yNyBdKSkNCiAgICAgICAgICAgIChyZWc6Vk54 MkRGIDE1MCBbIHZlY3RfXzguMTIgXSkNCiAgICAgICAgICAgIChyZWc6Vk54 MkRGIDE0MCBbIHZlY3RfXzIyLjM0IF0pKQ0KICAgICAgICAobWVtOlZOeDJE RiAocmVnL2Y6REkgMTM4IFsgdmVjdHBfZHN0My4zNyBdKSBbMSBNRU0gPHZl Y3RvcihbMiwyXSkgZG91YmxlPiBbKGRvdWJsZSAqKXZlY3RwX2RzdDMuMzdf NjNdKzAgU1sxNiwgMTZdIEE2NF0pKSkNCg0KVHJ5aW5nIDQ2LCA0NyAtPiA0 ODoNCiAgIDQ2OiByMTQwOlZOeDJERj17KHVuc3BlY1tjb25zdF92ZWN0b3Is cjE1NzpESSwweDIsMHgyLDAsdmw6U0ksdnR5cGU6U0ldIDY5KT9bcjE2MDpE SV06dW5zcGVjW3plcm86U0ldIDY4fQ0KICAgNDc6IHtyMTM5OlZOeDJERj17 LXIxNDM6Vk54MkRGKnIxNTA6Vk54MkRGK3IxNDA6Vk54MkRGfTtjbG9iYmVy IHIxNzA6REk7fQ0KICAgICAgUkVHX0RFQUQgcjE0MzpWTngyREYNCiAgICAg IFJFR19ERUFEIHIxNDA6Vk54MkRGDQogICAgICBSRUdfVU5VU0VEIHIxNzA6 REkNCiAgIDQ4OiBbcjEzODpESV09eyh1bnNwZWNbY29uc3RfdmVjdG9yLHIx NTc6REksMCx2bDpTSSx2dHlwZTpTSV0gNjkpP3IxMzk6Vk54MkRGOltyMTM4 OkRJXX0NCiAgICAgIFJFR19ERUFEIHIxMzk6Vk54MkRGDQpGYWlsZWQgdG8g bWF0Y2ggdGhpcyBpbnN0cnVjdGlvbjoNCihzZXQgKG1lbTpWTngyREYgKHJl Zy9mOkRJIDEzOCBbIHZlY3RwX2RzdDMuMzcgXSkgWzEgTUVNIDx2ZWN0b3Io WzIsMl0pIGRvdWJsZT4gWyhkb3VibGUgKil2ZWN0cF9kc3QzLjM3XzYzXSsw IFNbMTYsIDE2XSBBNjRdKQ0KICAgIChpZl90aGVuX2Vsc2U6Vk54MkRGICh1 bnNwZWM6Vk54MkJJIFsNCiAgICAgICAgICAgICAgICAoY29uc3RfdmVjdG9y OlZOeDJCSSByZXBlYXQgWw0KICAgICAgICAgICAgICAgICAgICAgICAgKGNv bnN0X2ludCAxIFsweDFdKQ0KICAgICAgICAgICAgICAgICAgICBdKQ0KICAg ICAgICAgICAgICAgIChyZWc6REkgMTU3IFsgXzExNyBdKQ0KICAgICAgICAg ICAgICAgIChjb25zdF9pbnQgMCBbMF0pDQogICAgICAgICAgICAgICAgKHJl ZzpTSSA2NiB2bCkNCiAgICAgICAgICAgICAgICAocmVnOlNJIDY3IHZ0eXBl KQ0KICAgICAgICAgICAgXSBVTlNQRUNfVlBSRURJQ0FURSkNCiAgICAgICAg KGZtYTpWTngyREYgKG5lZzpWTngyREYgKHJlZzpWTngyREYgMTQzIFsgdmVj dF9fMTguMjcgXSkpDQogICAgICAgICAgICAocmVnOlZOeDJERiAxNTAgWyB2 ZWN0X184LjEyIF0pDQogICAgICAgICAgICAoaWZfdGhlbl9lbHNlOlZOeDJE RiAodW5zcGVjOlZOeDJCSSBbDQogICAgICAgICAgICAgICAgICAgICAgICAo Y29uc3RfdmVjdG9yOlZOeDJCSSByZXBlYXQgWw0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDEgWzB4MV0pDQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgXSkNCiAgICAgICAgICAgICAgICAgICAg ICAgIChyZWc6REkgMTU3IFsgXzExNyBdKQ0KICAgICAgICAgICAgICAgICAg ICAgICAgKGNvbnN0X2ludCAyIFsweDJdKSByZXBlYXRlZCB4Mg0KICAgICAg ICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCAwIFswXSkNCiAgICAgICAg ICAgICAgICAgICAgICAgIChyZWc6U0kgNjYgdmwpDQogICAgICAgICAgICAg ICAgICAgICAgICAocmVnOlNJIDY3IHZ0eXBlKQ0KICAgICAgICAgICAgICAg ICAgICBdIFVOU1BFQ19WUFJFRElDQVRFKQ0KICAgICAgICAgICAgICAgICht ZW06Vk54MkRGIChyZWcvdi9mOkRJIDE2MCBbIGRzdDMgXSkgWzEgTUVNIDx2 ZWN0b3IoWzIsMl0pIGRvdWJsZT4gWyhkb3VibGUgKil2ZWN0cF9kc3QzLjMy XzY5XSswIFNbMTYsIDE2XSBBNjRdKQ0KICAgICAgICAgICAgICAgICh1bnNw ZWM6Vk54MkRGIFsNCiAgICAgICAgICAgICAgICAgICAgICAgIChyZWc6U0kg MCB6ZXJvKQ0KICAgICAgICAgICAgICAgICAgICBdIFVOU1BFQ19WVU5ERUYp KSkNCiAgICAgICAgKG1lbTpWTngyREYgKHJlZy9mOkRJIDEzOCBbIHZlY3Rw X2RzdDMuMzcgXSkgWzEgTUVNIDx2ZWN0b3IoWzIsMl0pIGRvdWJsZT4gWyhk b3VibGUgKil2ZWN0cF9kc3QzLjM3XzYzXSswIFNbMTYsIDE2XSBBNjRdKSkp DQpTdWNjZXNzZnVsbHkgbWF0Y2hlZCB0aGlzIGluc3RydWN0aW9uOg0KKHNl dCAocmVnOlZOeDJERiAxMzkgWyB2ZWN0X18yNC4zNiBdKQ0KICAgIChpZl90 aGVuX2Vsc2U6Vk54MkRGICh1bnNwZWM6Vk54MkJJIFsNCiAgICAgICAgICAg ICAgICAoY29uc3RfdmVjdG9yOlZOeDJCSSByZXBlYXQgWw0KICAgICAgICAg ICAgICAgICAgICAgICAgKGNvbnN0X2ludCAxIFsweDFdKQ0KICAgICAgICAg ICAgICAgICAgICBdKQ0KICAgICAgICAgICAgICAgIChyZWc6REkgMTU3IFsg XzExNyBdKQ0KICAgICAgICAgICAgICAgIChjb25zdF9pbnQgMiBbMHgyXSkg cmVwZWF0ZWQgeDINCiAgICAgICAgICAgICAgICAoY29uc3RfaW50IDAgWzBd KQ0KICAgICAgICAgICAgICAgIChyZWc6U0kgNjYgdmwpDQogICAgICAgICAg ICAgICAgKHJlZzpTSSA2NyB2dHlwZSkNCiAgICAgICAgICAgIF0gVU5TUEVD X1ZQUkVESUNBVEUpDQogICAgICAgIChtZW06Vk54MkRGIChyZWcvdi9mOkRJ IDE2MCBbIGRzdDMgXSkgWzEgTUVNIDx2ZWN0b3IoWzIsMl0pIGRvdWJsZT4g Wyhkb3VibGUgKil2ZWN0cF9kc3QzLjMyXzY5XSswIFNbMTYsIDE2XSBBNjRd KQ0KICAgICAgICAodW5zcGVjOlZOeDJERiBbDQogICAgICAgICAgICAgICAg KHJlZzpTSSAwIHplcm8pDQogICAgICAgICAgICBdIFVOU1BFQ19WVU5ERUYp KSkNCkZhaWxlZCB0byBtYXRjaCB0aGlzIGluc3RydWN0aW9uOg0KKHNldCAo bWVtOlZOeDJERiAocmVnL2Y6REkgMTM4IFsgdmVjdHBfZHN0My4zNyBdKSBb MSBNRU0gPHZlY3RvcihbMiwyXSkgZG91YmxlPiBbKGRvdWJsZSAqKXZlY3Rw X2RzdDMuMzdfNjNdKzAgU1sxNiwgMTZdIEE2NF0pDQogICAgKGlmX3RoZW5f ZWxzZTpWTngyREYgKHVuc3BlYzpWTngyQkkgWw0KICAgICAgICAgICAgICAg IChjb25zdF92ZWN0b3I6Vk54MkJJIHJlcGVhdCBbDQogICAgICAgICAgICAg ICAgICAgICAgICAoY29uc3RfaW50IDEgWzB4MV0pDQogICAgICAgICAgICAg ICAgICAgIF0pDQogICAgICAgICAgICAgICAgKHJlZzpESSAxNTcgWyBfMTE3 IF0pDQogICAgICAgICAgICAgICAgKGNvbnN0X2ludCAwIFswXSkNCiAgICAg ICAgICAgICAgICAocmVnOlNJIDY2IHZsKQ0KICAgICAgICAgICAgICAgIChy ZWc6U0kgNjcgdnR5cGUpDQogICAgICAgICAgICBdIFVOU1BFQ19WUFJFRElD QVRFKQ0KICAgICAgICAoZm1hOlZOeDJERiAobmVnOlZOeDJERiAocmVnOlZO eDJERiAxNDMgWyB2ZWN0X18xOC4yNyBdKSkNCiAgICAgICAgICAgIChyZWc6 Vk54MkRGIDE1MCBbIHZlY3RfXzguMTIgXSkNCiAgICAgICAgICAgIChyZWc6 Vk54MkRGIDEzOSBbIHZlY3RfXzI0LjM2IF0pKQ0KICAgICAgICAobWVtOlZO eDJERiAocmVnL2Y6REkgMTM4IFsgdmVjdHBfZHN0My4zNyBdKSBbMSBNRU0g PHZlY3RvcihbMiwyXSkgZG91YmxlPiBbKGRvdWJsZSAqKXZlY3RwX2RzdDMu MzdfNjNdKzAgU1sxNiwgMTZdIEE2NF0pKSkNCg0KVHJ5aW5nIDUxIC0+IDUy Og0KICAgNTE6IHIxMzY6Vk54MlNGPXsodW5zcGVjW2NvbnN0X3ZlY3Rvcixy MTU3OkRJLDB4MiwweDIsMCx2bDpTSSx2dHlwZTpTSV0gNjkpP1tyMTY1OkRJ XTp1bnNwZWNbemVybzpTSV0gNjh9DQogICAgICBSRUdfREVBRCB6ZXJvOlNJ DQogICA1MjogcjE3MTpWTngyREY9ZmxvYXRfZXh0ZW5kKHIxMzY6Vk54MlNG KQ0KICAgICAgUkVHX0RFQUQgcjEzNjpWTngyU0YNCkZhaWxlZCB0byBtYXRj aCB0aGlzIGluc3RydWN0aW9uOg0KKHNldCAocmVnOlZOeDJERiAxNzEgWyB2 ZWN0X18yOS40NSBdKQ0KICAgIChmbG9hdF9leHRlbmQ6Vk54MkRGIChpZl90 aGVuX2Vsc2U6Vk54MlNGICh1bnNwZWM6Vk54MkJJIFsNCiAgICAgICAgICAg ICAgICAgICAgKGNvbnN0X3ZlY3RvcjpWTngyQkkgcmVwZWF0IFsNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDEgWzB4MV0pDQog ICAgICAgICAgICAgICAgICAgICAgICBdKQ0KICAgICAgICAgICAgICAgICAg ICAocmVnOkRJIDE1NyBbIF8xMTcgXSkNCiAgICAgICAgICAgICAgICAgICAg KGNvbnN0X2ludCAyIFsweDJdKSByZXBlYXRlZCB4Mg0KICAgICAgICAgICAg ICAgICAgICAoY29uc3RfaW50IDAgWzBdKQ0KICAgICAgICAgICAgICAgICAg ICAocmVnOlNJIDY2IHZsKQ0KICAgICAgICAgICAgICAgICAgICAocmVnOlNJ IDY3IHZ0eXBlKQ0KICAgICAgICAgICAgICAgIF0gVU5TUEVDX1ZQUkVESUNB VEUpDQogICAgICAgICAgICAobWVtOlZOeDJTRiAocmVnL3YvZjpESSAxNjUg WyBiMiBdKSBbMiBNRU0gPHZlY3RvcihbMiwyXSkgZmxvYXQ+IFsoZmxvYXQg Kil2ZWN0cF9iMi40Ml81NV0rMCBTWzgsIDhdIEEzMl0pDQogICAgICAgICAg ICAodW5zcGVjOlZOeDJTRiBbDQogICAgICAgICAgICAgICAgICAgIChyZWc6 U0kgMCB6ZXJvKQ0KICAgICAgICAgICAgICAgIF0gVU5TUEVDX1ZVTkRFRikp KSkNCg0KVHJ5aW5nIDUwIC0+IDUzOg0KICAgNTA6IHIxMzc6Vk54MkRGPXso dW5zcGVjW2NvbnN0X3ZlY3RvcixyMTU3OkRJLDB4MiwweDIsMCx2bDpTSSx2 dHlwZTpTSV0gNjkpP1tyMTYxOkRJXTp1bnNwZWNbemVybzpTSV0gNjh9DQog ICA1Mzoge3IxMzQ6Vk54MkRGPXstcjE3MTpWTngyREYqcjE1MDpWTngyREYr cjEzNzpWTngyREZ9O2Nsb2JiZXIgcjE3MjpESTt9DQogICAgICBSRUdfREVB RCByMTcxOlZOeDJERg0KICAgICAgUkVHX0RFQUQgcjE1MDpWTngyREYNCiAg ICAgIFJFR19ERUFEIHIxMzc6Vk54MkRGDQogICAgICBSRUdfVU5VU0VEIHIx NzI6REkNCkZhaWxlZCB0byBtYXRjaCB0aGlzIGluc3RydWN0aW9uOg0KKHBh cmFsbGVsIFsNCiAgICAgICAgKHNldCAocmVnOlZOeDJERiAxMzQgWyB2ZWN0 X18zMS40NyBdKQ0KICAgICAgICAgICAgKGZtYTpWTngyREYgKG5lZzpWTngy REYgKHJlZzpWTngyREYgMTcxIFsgdmVjdF9fMjkuNDUgXSkpDQogICAgICAg ICAgICAgICAgKHJlZzpWTngyREYgMTUwIFsgdmVjdF9fOC4xMiBdKQ0KICAg ICAgICAgICAgICAgIChpZl90aGVuX2Vsc2U6Vk54MkRGICh1bnNwZWM6Vk54 MkJJIFsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfdmVj dG9yOlZOeDJCSSByZXBlYXQgWw0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKGNvbnN0X2ludCAxIFsweDFdKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBdKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChyZWc6REkgMTU3IFsgXzExNyBdKQ0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChjb25zdF9pbnQgMiBbMHgyXSkgcmVwZWF0ZWQgeDIN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDAgWzBd KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIChyZWc6U0kgNjYgdmwp DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJlZzpTSSA2NyB2dHlw ZSkNCiAgICAgICAgICAgICAgICAgICAgICAgIF0gVU5TUEVDX1ZQUkVESUNB VEUpDQogICAgICAgICAgICAgICAgICAgIChtZW06Vk54MkRGIChyZWcvdi9m OkRJIDE2MSBbIGRzdDQgXSkgWzEgTUVNIDx2ZWN0b3IoWzIsMl0pIGRvdWJs ZT4gWyhkb3VibGUgKil2ZWN0cF9kc3Q0LjM5XzU5XSswIFNbMTYsIDE2XSBB NjRdKQ0KICAgICAgICAgICAgICAgICAgICAodW5zcGVjOlZOeDJERiBbDQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJlZzpTSSAwIHplcm8pDQog ICAgICAgICAgICAgICAgICAgICAgICBdIFVOU1BFQ19WVU5ERUYpKSkpDQog ICAgICAgIChjbG9iYmVyIChyZWc6REkgMTcyKSkNCiAgICBdKQ0KRmFpbGVk IHRvIG1hdGNoIHRoaXMgaW5zdHJ1Y3Rpb246DQooc2V0IChyZWc6Vk54MkRG IDEzNCBbIHZlY3RfXzMxLjQ3IF0pDQogICAgKGZtYTpWTngyREYgKG5lZzpW TngyREYgKHJlZzpWTngyREYgMTcxIFsgdmVjdF9fMjkuNDUgXSkpDQogICAg ICAgIChyZWc6Vk54MkRGIDE1MCBbIHZlY3RfXzguMTIgXSkNCiAgICAgICAg KGlmX3RoZW5fZWxzZTpWTngyREYgKHVuc3BlYzpWTngyQkkgWw0KICAgICAg ICAgICAgICAgICAgICAoY29uc3RfdmVjdG9yOlZOeDJCSSByZXBlYXQgWw0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgMSBbMHgx XSkNCiAgICAgICAgICAgICAgICAgICAgICAgIF0pDQogICAgICAgICAgICAg ICAgICAgIChyZWc6REkgMTU3IFsgXzExNyBdKQ0KICAgICAgICAgICAgICAg ICAgICAoY29uc3RfaW50IDIgWzB4Ml0pIHJlcGVhdGVkIHgyDQogICAgICAg ICAgICAgICAgICAgIChjb25zdF9pbnQgMCBbMF0pDQogICAgICAgICAgICAg ICAgICAgIChyZWc6U0kgNjYgdmwpDQogICAgICAgICAgICAgICAgICAgIChy ZWc6U0kgNjcgdnR5cGUpDQogICAgICAgICAgICAgICAgXSBVTlNQRUNfVlBS RURJQ0FURSkNCiAgICAgICAgICAgIChtZW06Vk54MkRGIChyZWcvdi9mOkRJ IDE2MSBbIGRzdDQgXSkgWzEgTUVNIDx2ZWN0b3IoWzIsMl0pIGRvdWJsZT4g Wyhkb3VibGUgKil2ZWN0cF9kc3Q0LjM5XzU5XSswIFNbMTYsIDE2XSBBNjRd KQ0KICAgICAgICAgICAgKHVuc3BlYzpWTngyREYgWw0KICAgICAgICAgICAg ICAgICAgICAocmVnOlNJIDAgemVybykNCiAgICAgICAgICAgICAgICBdIFVO U1BFQ19WVU5ERUYpKSkpDQoNClRyeWluZyA1MiAtPiA1MzoNCiAgIDUyOiBy MTcxOlZOeDJERj1mbG9hdF9leHRlbmQocjEzNjpWTngyU0YpDQogICAgICBS RUdfREVBRCByMTM2OlZOeDJTRg0KICAgNTM6IHtyMTM0OlZOeDJERj17LXIx NzE6Vk54MkRGKnIxNTA6Vk54MkRGK3IxMzc6Vk54MkRGfTtjbG9iYmVyIHIx NzI6REk7fQ0KICAgICAgUkVHX0RFQUQgcjE3MTpWTngyREYNCiAgICAgIFJF R19ERUFEIHIxNTA6Vk54MkRGDQogICAgICBSRUdfREVBRCByMTM3OlZOeDJE Rg0KICAgICAgUkVHX1VOVVNFRCByMTcyOkRJDQpGYWlsZWQgdG8gbWF0Y2gg dGhpcyBpbnN0cnVjdGlvbjoNCihwYXJhbGxlbCBbDQogICAgICAgIChzZXQg KHJlZzpWTngyREYgMTM0IFsgdmVjdF9fMzEuNDcgXSkNCiAgICAgICAgICAg IChmbWE6Vk54MkRGIChuZWc6Vk54MkRGIChmbG9hdF9leHRlbmQ6Vk54MkRG IChyZWc6Vk54MlNGIDEzNiBbIHZlY3RfXzI4LjQ0IF0pKSkNCiAgICAgICAg ICAgICAgICAocmVnOlZOeDJERiAxNTAgWyB2ZWN0X184LjEyIF0pDQogICAg ICAgICAgICAgICAgKHJlZzpWTngyREYgMTM3IFsgdmVjdF9fMjYuNDEgXSkp KQ0KICAgICAgICAoY2xvYmJlciAocmVnOkRJIDE3MikpDQogICAgXSkNCkZh aWxlZCB0byBtYXRjaCB0aGlzIGluc3RydWN0aW9uOg0KKHNldCAocmVnOlZO eDJERiAxMzQgWyB2ZWN0X18zMS40NyBdKQ0KICAgIChmbWE6Vk54MkRGIChu ZWc6Vk54MkRGIChmbG9hdF9leHRlbmQ6Vk54MkRGIChyZWc6Vk54MlNGIDEz NiBbIHZlY3RfXzI4LjQ0IF0pKSkNCiAgICAgICAgKHJlZzpWTngyREYgMTUw IFsgdmVjdF9fOC4xMiBdKQ0KICAgICAgICAocmVnOlZOeDJERiAxMzcgWyB2 ZWN0X18yNi40MSBdKSkpDQoNClRyeWluZyA1MSwgNTIgLT4gNTM6DQogICA1 MTogcjEzNjpWTngyU0Y9eyh1bnNwZWNbY29uc3RfdmVjdG9yLHIxNTc6REks MHgyLDB4MiwwLHZsOlNJLHZ0eXBlOlNJXSA2OSk/W3IxNjU6REldOnVuc3Bl Y1t6ZXJvOlNJXSA2OH0NCiAgICAgIFJFR19ERUFEIHplcm86U0kNCiAgIDUy OiByMTcxOlZOeDJERj1mbG9hdF9leHRlbmQocjEzNjpWTngyU0YpDQogICAg ICBSRUdfREVBRCByMTM2OlZOeDJTRg0KICAgNTM6IHtyMTM0OlZOeDJERj17 LXIxNzE6Vk54MkRGKnIxNTA6Vk54MkRGK3IxMzc6Vk54MkRGfTtjbG9iYmVy IHIxNzI6REk7fQ0KICAgICAgUkVHX0RFQUQgcjE3MTpWTngyREYNCiAgICAg IFJFR19ERUFEIHIxNTA6Vk54MkRGDQogICAgICBSRUdfREVBRCByMTM3OlZO eDJERg0KICAgICAgUkVHX1VOVVNFRCByMTcyOkRJDQpGYWlsZWQgdG8gbWF0 Y2ggdGhpcyBpbnN0cnVjdGlvbjoNCihwYXJhbGxlbCBbDQogICAgICAgIChz ZXQgKHJlZzpWTngyREYgMTM0IFsgdmVjdF9fMzEuNDcgXSkNCiAgICAgICAg ICAgIChmbWE6Vk54MkRGIChuZWc6Vk54MkRGIChmbG9hdF9leHRlbmQ6Vk54 MkRGIChpZl90aGVuX2Vsc2U6Vk54MlNGICh1bnNwZWM6Vk54MkJJIFsNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF92ZWN0 b3I6Vk54MkJJIHJlcGVhdCBbDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgMSBbMHgxXSkNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdKQ0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJlZzpESSAxNTcgWyBf MTE3IF0pDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo Y29uc3RfaW50IDIgWzB4Ml0pIHJlcGVhdGVkIHgyDQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDAgWzBdKQ0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJlZzpTSSA2NiB2 bCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChyZWc6 U0kgNjcgdnR5cGUpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF0gVU5TUEVDX1ZQUkVESUNBVEUpDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgKG1lbTpWTngyU0YgKHJlZy92L2Y6REkgMTY1IFsgYjIgXSkgWzIg TUVNIDx2ZWN0b3IoWzIsMl0pIGZsb2F0PiBbKGZsb2F0ICopdmVjdHBfYjIu NDJfNTVdKzAgU1s4LCA4XSBBMzJdKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICh1bnNwZWM6Vk54MlNGIFsNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIChyZWc6U0kgMCB6ZXJvKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBdIFVOU1BFQ19WVU5ERUYpKSkpDQogICAg ICAgICAgICAgICAgKHJlZzpWTngyREYgMTUwIFsgdmVjdF9fOC4xMiBdKQ0K ICAgICAgICAgICAgICAgIChyZWc6Vk54MkRGIDEzNyBbIHZlY3RfXzI2LjQx IF0pKSkNCiAgICAgICAgKGNsb2JiZXIgKHJlZzpESSAxNzIpKQ0KICAgIF0p DQpGYWlsZWQgdG8gbWF0Y2ggdGhpcyBpbnN0cnVjdGlvbjoNCihzZXQgKHJl ZzpWTngyREYgMTM0IFsgdmVjdF9fMzEuNDcgXSkNCiAgICAoZm1hOlZOeDJE RiAobmVnOlZOeDJERiAoZmxvYXRfZXh0ZW5kOlZOeDJERiAoaWZfdGhlbl9l bHNlOlZOeDJTRiAodW5zcGVjOlZOeDJCSSBbDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgKGNvbnN0X3ZlY3RvcjpWTngyQkkgcmVwZWF0IFsNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQg MSBbMHgxXSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSkN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAocmVnOkRJIDE1NyBbIF8x MTcgXSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50 IDIgWzB4Ml0pIHJlcGVhdGVkIHgyDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgKGNvbnN0X2ludCAwIFswXSkNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAocmVnOlNJIDY2IHZsKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChyZWc6U0kgNjcgdnR5cGUpDQogICAgICAgICAgICAgICAgICAg ICAgICBdIFVOU1BFQ19WUFJFRElDQVRFKQ0KICAgICAgICAgICAgICAgICAg ICAobWVtOlZOeDJTRiAocmVnL3YvZjpESSAxNjUgWyBiMiBdKSBbMiBNRU0g PHZlY3RvcihbMiwyXSkgZmxvYXQ+IFsoZmxvYXQgKil2ZWN0cF9iMi40Ml81 NV0rMCBTWzgsIDhdIEEzMl0pDQogICAgICAgICAgICAgICAgICAgICh1bnNw ZWM6Vk54MlNGIFsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAocmVn OlNJIDAgemVybykNCiAgICAgICAgICAgICAgICAgICAgICAgIF0gVU5TUEVD X1ZVTkRFRikpKSkNCiAgICAgICAgKHJlZzpWTngyREYgMTUwIFsgdmVjdF9f OC4xMiBdKQ0KICAgICAgICAocmVnOlZOeDJERiAxMzcgWyB2ZWN0X18yNi40 MSBdKSkpDQpTdWNjZXNzZnVsbHkgbWF0Y2hlZCB0aGlzIGluc3RydWN0aW9u Og0KKHNldCAocmVnOlZOeDJTRiAxNzEgWyB2ZWN0X18yOS40NSBdKQ0KICAg IChpZl90aGVuX2Vsc2U6Vk54MlNGICh1bnNwZWM6Vk54MkJJIFsNCiAgICAg ICAgICAgICAgICAoY29uc3RfdmVjdG9yOlZOeDJCSSByZXBlYXQgWw0KICAg ICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCAxIFsweDFdKQ0KICAg ICAgICAgICAgICAgICAgICBdKQ0KICAgICAgICAgICAgICAgIChyZWc6REkg MTU3IFsgXzExNyBdKQ0KICAgICAgICAgICAgICAgIChjb25zdF9pbnQgMiBb MHgyXSkgcmVwZWF0ZWQgeDINCiAgICAgICAgICAgICAgICAoY29uc3RfaW50 IDAgWzBdKQ0KICAgICAgICAgICAgICAgIChyZWc6U0kgNjYgdmwpDQogICAg ICAgICAgICAgICAgKHJlZzpTSSA2NyB2dHlwZSkNCiAgICAgICAgICAgIF0g VU5TUEVDX1ZQUkVESUNBVEUpDQogICAgICAgIChtZW06Vk54MlNGIChyZWcv di9mOkRJIDE2NSBbIGIyIF0pIFsyIE1FTSA8dmVjdG9yKFsyLDJdKSBmbG9h dD4gWyhmbG9hdCAqKXZlY3RwX2IyLjQyXzU1XSswIFNbOCwgOF0gQTMyXSkN CiAgICAgICAgKHVuc3BlYzpWTngyU0YgWw0KICAgICAgICAgICAgICAgIChy ZWc6U0kgMCB6ZXJvKQ0KICAgICAgICAgICAgXSBVTlNQRUNfVlVOREVGKSkp DQpGYWlsZWQgdG8gbWF0Y2ggdGhpcyBpbnN0cnVjdGlvbjoNCihzZXQgKHJl ZzpWTngyREYgMTM0IFsgdmVjdF9fMzEuNDcgXSkNCiAgICAoZm1hOlZOeDJE RiAobmVnOlZOeDJERiAoZmxvYXRfZXh0ZW5kOlZOeDJERiAocmVnOlZOeDJT RiAxNzEgWyB2ZWN0X18yOS40NSBdKSkpDQogICAgICAgIChyZWc6Vk54MkRG IDE1MCBbIHZlY3RfXzguMTIgXSkNCiAgICAgICAgKHJlZzpWTngyREYgMTM3 IFsgdmVjdF9fMjYuNDEgXSkpKQ0KDQpUcnlpbmcgNTIsIDUwIC0+IDUzOg0K ICAgNTI6IHIxNzE6Vk54MkRGPWZsb2F0X2V4dGVuZChyMTM2OlZOeDJTRikN CiAgICAgIFJFR19ERUFEIHIxMzY6Vk54MlNGDQogICA1MDogcjEzNzpWTngy REY9eyh1bnNwZWNbY29uc3RfdmVjdG9yLHIxNTc6REksMHgyLDB4MiwwLHZs OlNJLHZ0eXBlOlNJXSA2OSk/W3IxNjE6REldOnVuc3BlY1t6ZXJvOlNJXSA2 OH0NCiAgIDUzOiB7cjEzNDpWTngyREY9ey1yMTcxOlZOeDJERipyMTUwOlZO eDJERityMTM3OlZOeDJERn07Y2xvYmJlciByMTcyOkRJO30NCiAgICAgIFJF R19ERUFEIHIxNzE6Vk54MkRGDQogICAgICBSRUdfREVBRCByMTUwOlZOeDJE Rg0KICAgICAgUkVHX0RFQUQgcjEzNzpWTngyREYNCiAgICAgIFJFR19VTlVT RUQgcjE3MjpESQ0KRmFpbGVkIHRvIG1hdGNoIHRoaXMgaW5zdHJ1Y3Rpb246 DQoocGFyYWxsZWwgWw0KICAgICAgICAoc2V0IChyZWc6Vk54MkRGIDEzNCBb IHZlY3RfXzMxLjQ3IF0pDQogICAgICAgICAgICAoZm1hOlZOeDJERiAobmVn OlZOeDJERiAoZmxvYXRfZXh0ZW5kOlZOeDJERiAocmVnOlZOeDJTRiAxMzYg WyB2ZWN0X18yOC40NCBdKSkpDQogICAgICAgICAgICAgICAgKHJlZzpWTngy REYgMTUwIFsgdmVjdF9fOC4xMiBdKQ0KICAgICAgICAgICAgICAgIChpZl90 aGVuX2Vsc2U6Vk54MkRGICh1bnNwZWM6Vk54MkJJIFsNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAoY29uc3RfdmVjdG9yOlZOeDJCSSByZXBlYXQg Ww0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0 X2ludCAxIFsweDFdKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBdKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIChyZWc6REkgMTU3 IFsgXzExNyBdKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb25z dF9pbnQgMiBbMHgyXSkgcmVwZWF0ZWQgeDINCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAoY29uc3RfaW50IDAgWzBdKQ0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChyZWc6U0kgNjYgdmwpDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgKHJlZzpTSSA2NyB2dHlwZSkNCiAgICAgICAgICAgICAg ICAgICAgICAgIF0gVU5TUEVDX1ZQUkVESUNBVEUpDQogICAgICAgICAgICAg ICAgICAgIChtZW06Vk54MkRGIChyZWcvdi9mOkRJIDE2MSBbIGRzdDQgXSkg WzEgTUVNIDx2ZWN0b3IoWzIsMl0pIGRvdWJsZT4gWyhkb3VibGUgKil2ZWN0 cF9kc3Q0LjM5XzU5XSswIFNbMTYsIDE2XSBBNjRdKQ0KICAgICAgICAgICAg ICAgICAgICAodW5zcGVjOlZOeDJERiBbDQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgKHJlZzpTSSAwIHplcm8pDQogICAgICAgICAgICAgICAgICAg ICAgICBdIFVOU1BFQ19WVU5ERUYpKSkpDQogICAgICAgIChjbG9iYmVyIChy ZWc6REkgMTcyKSkNCiAgICBdKQ0KRmFpbGVkIHRvIG1hdGNoIHRoaXMgaW5z dHJ1Y3Rpb246DQooc2V0IChyZWc6Vk54MkRGIDEzNCBbIHZlY3RfXzMxLjQ3 IF0pDQogICAgKGZtYTpWTngyREYgKG5lZzpWTngyREYgKGZsb2F0X2V4dGVu ZDpWTngyREYgKHJlZzpWTngyU0YgMTM2IFsgdmVjdF9fMjguNDQgXSkpKQ0K ICAgICAgICAocmVnOlZOeDJERiAxNTAgWyB2ZWN0X184LjEyIF0pDQogICAg ICAgIChpZl90aGVuX2Vsc2U6Vk54MkRGICh1bnNwZWM6Vk54MkJJIFsNCiAg ICAgICAgICAgICAgICAgICAgKGNvbnN0X3ZlY3RvcjpWTngyQkkgcmVwZWF0 IFsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDEg WzB4MV0pDQogICAgICAgICAgICAgICAgICAgICAgICBdKQ0KICAgICAgICAg ICAgICAgICAgICAocmVnOkRJIDE1NyBbIF8xMTcgXSkNCiAgICAgICAgICAg ICAgICAgICAgKGNvbnN0X2ludCAyIFsweDJdKSByZXBlYXRlZCB4Mg0KICAg ICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDAgWzBdKQ0KICAgICAgICAg ICAgICAgICAgICAocmVnOlNJIDY2IHZsKQ0KICAgICAgICAgICAgICAgICAg ICAocmVnOlNJIDY3IHZ0eXBlKQ0KICAgICAgICAgICAgICAgIF0gVU5TUEVD X1ZQUkVESUNBVEUpDQogICAgICAgICAgICAobWVtOlZOeDJERiAocmVnL3Yv ZjpESSAxNjEgWyBkc3Q0IF0pIFsxIE1FTSA8dmVjdG9yKFsyLDJdKSBkb3Vi bGU+IFsoZG91YmxlICopdmVjdHBfZHN0NC4zOV81OV0rMCBTWzE2LCAxNl0g QTY0XSkNCiAgICAgICAgICAgICh1bnNwZWM6Vk54MkRGIFsNCiAgICAgICAg ICAgICAgICAgICAgKHJlZzpTSSAwIHplcm8pDQogICAgICAgICAgICAgICAg XSBVTlNQRUNfVlVOREVGKSkpKQ0KU3VjY2Vzc2Z1bGx5IG1hdGNoZWQgdGhp cyBpbnN0cnVjdGlvbjoNCihzZXQgKHJlZzpWTngyREYgMTcxIFsgdmVjdF9f MjkuNDUgXSkNCiAgICAoaWZfdGhlbl9lbHNlOlZOeDJERiAodW5zcGVjOlZO eDJCSSBbDQogICAgICAgICAgICAgICAgKGNvbnN0X3ZlY3RvcjpWTngyQkkg cmVwZWF0IFsNCiAgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQg MSBbMHgxXSkNCiAgICAgICAgICAgICAgICAgICAgXSkNCiAgICAgICAgICAg ICAgICAocmVnOkRJIDE1NyBbIF8xMTcgXSkNCiAgICAgICAgICAgICAgICAo Y29uc3RfaW50IDIgWzB4Ml0pIHJlcGVhdGVkIHgyDQogICAgICAgICAgICAg ICAgKGNvbnN0X2ludCAwIFswXSkNCiAgICAgICAgICAgICAgICAocmVnOlNJ IDY2IHZsKQ0KICAgICAgICAgICAgICAgIChyZWc6U0kgNjcgdnR5cGUpDQog ICAgICAgICAgICBdIFVOU1BFQ19WUFJFRElDQVRFKQ0KICAgICAgICAobWVt OlZOeDJERiAocmVnL3YvZjpESSAxNjEgWyBkc3Q0IF0pIFsxIE1FTSA8dmVj dG9yKFsyLDJdKSBkb3VibGU+IFsoZG91YmxlICopdmVjdHBfZHN0NC4zOV81 OV0rMCBTWzE2LCAxNl0gQTY0XSkNCiAgICAgICAgKHVuc3BlYzpWTngyREYg Ww0KICAgICAgICAgICAgICAgIChyZWc6U0kgMCB6ZXJvKQ0KICAgICAgICAg ICAgXSBVTlNQRUNfVlVOREVGKSkpDQpGYWlsZWQgdG8gbWF0Y2ggdGhpcyBp bnN0cnVjdGlvbjoNCihzZXQgKHJlZzpWTngyREYgMTM0IFsgdmVjdF9fMzEu NDcgXSkNCiAgICAoZm1hOlZOeDJERiAobmVnOlZOeDJERiAoZmxvYXRfZXh0 ZW5kOlZOeDJERiAocmVnOlZOeDJTRiAxMzYgWyB2ZWN0X18yOC40NCBdKSkp DQogICAgICAgIChyZWc6Vk54MkRGIDE1MCBbIHZlY3RfXzguMTIgXSkNCiAg ICAgICAgKHJlZzpWTngyREYgMTcxIFsgdmVjdF9fMjkuNDUgXSkpKQ0KDQpU cnlpbmcgNTMgLT4gNTQ6DQogICA1Mzoge3IxMzQ6Vk54MkRGPXstcjE3MTpW TngyREYqcjE1MDpWTngyREYrcjEzNzpWTngyREZ9O2Nsb2JiZXIgcjE3MjpE STt9DQogICAgICBSRUdfREVBRCByMTcxOlZOeDJERg0KICAgICAgUkVHX0RF QUQgcjE1MDpWTngyREYNCiAgICAgIFJFR19ERUFEIHIxMzc6Vk54MkRGDQog ICAgICBSRUdfVU5VU0VEIHIxNzI6REkNCiAgIDU0OiBbcjE1NTpESV09eyh1 bnNwZWNbY29uc3RfdmVjdG9yLHIxNTc6REksMCx2bDpTSSx2dHlwZTpTSV0g NjkpP3IxMzQ6Vk54MkRGOltyMTU1OkRJXX0NCiAgICAgIFJFR19ERUFEIHIx MzQ6Vk54MkRGDQogICAgICBSRUdfREVBRCB2dHlwZTpTSQ0KICAgICAgUkVH X0RFQUQgdmw6U0kNCkZhaWxlZCB0byBtYXRjaCB0aGlzIGluc3RydWN0aW9u Og0KKHNldCAobWVtOlZOeDJERiAocmVnL2Y6REkgMTU1IFsgdmVjdHBfZHN0 NC40OCBdKSBbMSBNRU0gPHZlY3RvcihbMiwyXSkgZG91YmxlPiBbKGRvdWJs ZSAqKXZlY3RwX2RzdDQuNDhfMTExXSswIFNbMTYsIDE2XSBBNjRdKQ0KICAg IChpZl90aGVuX2Vsc2U6Vk54MkRGICh1bnNwZWM6Vk54MkJJIFsNCiAgICAg ICAgICAgICAgICAoY29uc3RfdmVjdG9yOlZOeDJCSSByZXBlYXQgWw0KICAg ICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCAxIFsweDFdKQ0KICAg ICAgICAgICAgICAgICAgICBdKQ0KICAgICAgICAgICAgICAgIChyZWc6REkg MTU3IFsgXzExNyBdKQ0KICAgICAgICAgICAgICAgIChjb25zdF9pbnQgMCBb MF0pDQogICAgICAgICAgICAgICAgKHJlZzpTSSA2NiB2bCkNCiAgICAgICAg ICAgICAgICAocmVnOlNJIDY3IHZ0eXBlKQ0KICAgICAgICAgICAgXSBVTlNQ RUNfVlBSRURJQ0FURSkNCiAgICAgICAgKGZtYTpWTngyREYgKG5lZzpWTngy REYgKHJlZzpWTngyREYgMTcxIFsgdmVjdF9fMjkuNDUgXSkpDQogICAgICAg ICAgICAocmVnOlZOeDJERiAxNTAgWyB2ZWN0X184LjEyIF0pDQogICAgICAg ICAgICAocmVnOlZOeDJERiAxMzcgWyB2ZWN0X18yNi40MSBdKSkNCiAgICAg ICAgKG1lbTpWTngyREYgKHJlZy9mOkRJIDE1NSBbIHZlY3RwX2RzdDQuNDgg XSkgWzEgTUVNIDx2ZWN0b3IoWzIsMl0pIGRvdWJsZT4gWyhkb3VibGUgKil2 ZWN0cF9kc3Q0LjQ4XzExMV0rMCBTWzE2LCAxNl0gQTY0XSkpKQ0KDQpUcnlp bmcgNTAsIDUzIC0+IDU0Og0KICAgNTA6IHIxMzc6Vk54MkRGPXsodW5zcGVj W2NvbnN0X3ZlY3RvcixyMTU3OkRJLDB4MiwweDIsMCx2bDpTSSx2dHlwZTpT SV0gNjkpP1tyMTYxOkRJXTp1bnNwZWNbemVybzpTSV0gNjh9DQogICA1Mzog e3IxMzQ6Vk54MkRGPXstcjE3MTpWTngyREYqcjE1MDpWTngyREYrcjEzNzpW TngyREZ9O2Nsb2JiZXIgcjE3MjpESTt9DQogICAgICBSRUdfREVBRCByMTcx OlZOeDJERg0KICAgICAgUkVHX0RFQUQgcjE1MDpWTngyREYNCiAgICAgIFJF R19ERUFEIHIxMzc6Vk54MkRGDQogICAgICBSRUdfVU5VU0VEIHIxNzI6REkN CiAgIDU0OiBbcjE1NTpESV09eyh1bnNwZWNbY29uc3RfdmVjdG9yLHIxNTc6 REksMCx2bDpTSSx2dHlwZTpTSV0gNjkpP3IxMzQ6Vk54MkRGOltyMTU1OkRJ XX0NCiAgICAgIFJFR19ERUFEIHIxMzQ6Vk54MkRGDQogICAgICBSRUdfREVB RCB2dHlwZTpTSQ0KICAgICAgUkVHX0RFQUQgdmw6U0kNCkZhaWxlZCB0byBt YXRjaCB0aGlzIGluc3RydWN0aW9uOg0KKHNldCAobWVtOlZOeDJERiAocmVn L2Y6REkgMTU1IFsgdmVjdHBfZHN0NC40OCBdKSBbMSBNRU0gPHZlY3Rvcihb MiwyXSkgZG91YmxlPiBbKGRvdWJsZSAqKXZlY3RwX2RzdDQuNDhfMTExXSsw IFNbMTYsIDE2XSBBNjRdKQ0KICAgIChpZl90aGVuX2Vsc2U6Vk54MkRGICh1 bnNwZWM6Vk54MkJJIFsNCiAgICAgICAgICAgICAgICAoY29uc3RfdmVjdG9y OlZOeDJCSSByZXBlYXQgWw0KICAgICAgICAgICAgICAgICAgICAgICAgKGNv bnN0X2ludCAxIFsweDFdKQ0KICAgICAgICAgICAgICAgICAgICBdKQ0KICAg ICAgICAgICAgICAgIChyZWc6REkgMTU3IFsgXzExNyBdKQ0KICAgICAgICAg ICAgICAgIChjb25zdF9pbnQgMCBbMF0pDQogICAgICAgICAgICAgICAgKHJl ZzpTSSA2NiB2bCkNCiAgICAgICAgICAgICAgICAocmVnOlNJIDY3IHZ0eXBl KQ0KICAgICAgICAgICAgXSBVTlNQRUNfVlBSRURJQ0FURSkNCiAgICAgICAg KGZtYTpWTngyREYgKG5lZzpWTngyREYgKHJlZzpWTngyREYgMTcxIFsgdmVj dF9fMjkuNDUgXSkpDQogICAgICAgICAgICAocmVnOlZOeDJERiAxNTAgWyB2 ZWN0X184LjEyIF0pDQogICAgICAgICAgICAoaWZfdGhlbl9lbHNlOlZOeDJE RiAodW5zcGVjOlZOeDJCSSBbDQogICAgICAgICAgICAgICAgICAgICAgICAo Y29uc3RfdmVjdG9yOlZOeDJCSSByZXBlYXQgWw0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDEgWzB4MV0pDQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgXSkNCiAgICAgICAgICAgICAgICAgICAg ICAgIChyZWc6REkgMTU3IFsgXzExNyBdKQ0KICAgICAgICAgICAgICAgICAg ICAgICAgKGNvbnN0X2ludCAyIFsweDJdKSByZXBlYXRlZCB4Mg0KICAgICAg ICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCAwIFswXSkNCiAgICAgICAg ICAgICAgICAgICAgICAgIChyZWc6U0kgNjYgdmwpDQogICAgICAgICAgICAg ICAgICAgICAgICAocmVnOlNJIDY3IHZ0eXBlKQ0KICAgICAgICAgICAgICAg ICAgICBdIFVOU1BFQ19WUFJFRElDQVRFKQ0KICAgICAgICAgICAgICAgICht ZW06Vk54MkRGIChyZWcvdi9mOkRJIDE2MSBbIGRzdDQgXSkgWzEgTUVNIDx2 ZWN0b3IoWzIsMl0pIGRvdWJsZT4gWyhkb3VibGUgKil2ZWN0cF9kc3Q0LjM5 XzU5XSswIFNbMTYsIDE2XSBBNjRdKQ0KICAgICAgICAgICAgICAgICh1bnNw ZWM6Vk54MkRGIFsNCiAgICAgICAgICAgICAgICAgICAgICAgIChyZWc6U0kg MCB6ZXJvKQ0KICAgICAgICAgICAgICAgICAgICBdIFVOU1BFQ19WVU5ERUYp KSkNCiAgICAgICAgKG1lbTpWTngyREYgKHJlZy9mOkRJIDE1NSBbIHZlY3Rw X2RzdDQuNDggXSkgWzEgTUVNIDx2ZWN0b3IoWzIsMl0pIGRvdWJsZT4gWyhk b3VibGUgKil2ZWN0cF9kc3Q0LjQ4XzExMV0rMCBTWzE2LCAxNl0gQTY0XSkp KQ0KU3VjY2Vzc2Z1bGx5IG1hdGNoZWQgdGhpcyBpbnN0cnVjdGlvbjoNCihz ZXQgKHJlZzpWTngyREYgMTM0IFsgdmVjdF9fMzEuNDcgXSkNCiAgICAoaWZf dGhlbl9lbHNlOlZOeDJERiAodW5zcGVjOlZOeDJCSSBbDQogICAgICAgICAg ICAgICAgKGNvbnN0X3ZlY3RvcjpWTngyQkkgcmVwZWF0IFsNCiAgICAgICAg ICAgICAgICAgICAgICAgIChjb25zdF9pbnQgMSBbMHgxXSkNCiAgICAgICAg ICAgICAgICAgICAgXSkNCiAgICAgICAgICAgICAgICAocmVnOkRJIDE1NyBb IF8xMTcgXSkNCiAgICAgICAgICAgICAgICAoY29uc3RfaW50IDIgWzB4Ml0p IHJlcGVhdGVkIHgyDQogICAgICAgICAgICAgICAgKGNvbnN0X2ludCAwIFsw XSkNCiAgICAgICAgICAgICAgICAocmVnOlNJIDY2IHZsKQ0KICAgICAgICAg ICAgICAgIChyZWc6U0kgNjcgdnR5cGUpDQogICAgICAgICAgICBdIFVOU1BF Q19WUFJFRElDQVRFKQ0KICAgICAgICAobWVtOlZOeDJERiAocmVnL3YvZjpE SSAxNjEgWyBkc3Q0IF0pIFsxIE1FTSA8dmVjdG9yKFsyLDJdKSBkb3VibGU+ IFsoZG91YmxlICopdmVjdHBfZHN0NC4zOV81OV0rMCBTWzE2LCAxNl0gQTY0 XSkNCiAgICAgICAgKHVuc3BlYzpWTngyREYgWw0KICAgICAgICAgICAgICAg IChyZWc6U0kgMCB6ZXJvKQ0KICAgICAgICAgICAgXSBVTlNQRUNfVlVOREVG KSkpDQpGYWlsZWQgdG8gbWF0Y2ggdGhpcyBpbnN0cnVjdGlvbjoNCihzZXQg KG1lbTpWTngyREYgKHJlZy9mOkRJIDE1NSBbIHZlY3RwX2RzdDQuNDggXSkg WzEgTUVNIDx2ZWN0b3IoWzIsMl0pIGRvdWJsZT4gWyhkb3VibGUgKil2ZWN0 cF9kc3Q0LjQ4XzExMV0rMCBTWzE2LCAxNl0gQTY0XSkNCiAgICAoaWZfdGhl bl9lbHNlOlZOeDJERiAodW5zcGVjOlZOeDJCSSBbDQogICAgICAgICAgICAg ICAgKGNvbnN0X3ZlY3RvcjpWTngyQkkgcmVwZWF0IFsNCiAgICAgICAgICAg ICAgICAgICAgICAgIChjb25zdF9pbnQgMSBbMHgxXSkNCiAgICAgICAgICAg ICAgICAgICAgXSkNCiAgICAgICAgICAgICAgICAocmVnOkRJIDE1NyBbIF8x MTcgXSkNCiAgICAgICAgICAgICAgICAoY29uc3RfaW50IDAgWzBdKQ0KICAg ICAgICAgICAgICAgIChyZWc6U0kgNjYgdmwpDQogICAgICAgICAgICAgICAg KHJlZzpTSSA2NyB2dHlwZSkNCiAgICAgICAgICAgIF0gVU5TUEVDX1ZQUkVE SUNBVEUpDQogICAgICAgIChmbWE6Vk54MkRGIChuZWc6Vk54MkRGIChyZWc6 Vk54MkRGIDE3MSBbIHZlY3RfXzI5LjQ1IF0pKQ0KICAgICAgICAgICAgKHJl ZzpWTngyREYgMTUwIFsgdmVjdF9fOC4xMiBdKQ0KICAgICAgICAgICAgKHJl ZzpWTngyREYgMTM0IFsgdmVjdF9fMzEuNDcgXSkpDQogICAgICAgIChtZW06 Vk54MkRGIChyZWcvZjpESSAxNTUgWyB2ZWN0cF9kc3Q0LjQ4IF0pIFsxIE1F TSA8dmVjdG9yKFsyLDJdKSBkb3VibGU+IFsoZG91YmxlICopdmVjdHBfZHN0 NC40OF8xMTFdKzAgU1sxNiwgMTZdIEE2NF0pKSkNCg0KVHJ5aW5nIDUyLCA1 MyAtPiA1NDoNCiAgIDUyOiByMTcxOlZOeDJERj1mbG9hdF9leHRlbmQocjEz NjpWTngyU0YpDQogICAgICBSRUdfREVBRCByMTM2OlZOeDJTRg0KICAgNTM6 IHtyMTM0OlZOeDJERj17LXIxNzE6Vk54MkRGKnIxNTA6Vk54MkRGK3IxMzc6 Vk54MkRGfTtjbG9iYmVyIHIxNzI6REk7fQ0KICAgICAgUkVHX0RFQUQgcjE3 MTpWTngyREYNCiAgICAgIFJFR19ERUFEIHIxNTA6Vk54MkRGDQogICAgICBS RUdfREVBRCByMTM3OlZOeDJERg0KICAgICAgUkVHX1VOVVNFRCByMTcyOkRJ DQogICA1NDogW3IxNTU6REldPXsodW5zcGVjW2NvbnN0X3ZlY3RvcixyMTU3 OkRJLDAsdmw6U0ksdnR5cGU6U0ldIDY5KT9yMTM0OlZOeDJERjpbcjE1NTpE SV19DQogICAgICBSRUdfREVBRCByMTM0OlZOeDJERg0KICAgICAgUkVHX0RF QUQgdnR5cGU6U0kNCiAgICAgIFJFR19ERUFEIHZsOlNJDQpGYWlsZWQgdG8g bWF0Y2ggdGhpcyBpbnN0cnVjdGlvbjoNCihzZXQgKG1lbTpWTngyREYgKHJl Zy9mOkRJIDE1NSBbIHZlY3RwX2RzdDQuNDggXSkgWzEgTUVNIDx2ZWN0b3Io WzIsMl0pIGRvdWJsZT4gWyhkb3VibGUgKil2ZWN0cF9kc3Q0LjQ4XzExMV0r MCBTWzE2LCAxNl0gQTY0XSkNCiAgICAoaWZfdGhlbl9lbHNlOlZOeDJERiAo dW5zcGVjOlZOeDJCSSBbDQogICAgICAgICAgICAgICAgKGNvbnN0X3ZlY3Rv cjpWTngyQkkgcmVwZWF0IFsNCiAgICAgICAgICAgICAgICAgICAgICAgIChj b25zdF9pbnQgMSBbMHgxXSkNCiAgICAgICAgICAgICAgICAgICAgXSkNCiAg ICAgICAgICAgICAgICAocmVnOkRJIDE1NyBbIF8xMTcgXSkNCiAgICAgICAg ICAgICAgICAoY29uc3RfaW50IDAgWzBdKQ0KICAgICAgICAgICAgICAgIChy ZWc6U0kgNjYgdmwpDQogICAgICAgICAgICAgICAgKHJlZzpTSSA2NyB2dHlw ZSkNCiAgICAgICAgICAgIF0gVU5TUEVDX1ZQUkVESUNBVEUpDQogICAgICAg IChmbWE6Vk54MkRGIChuZWc6Vk54MkRGIChmbG9hdF9leHRlbmQ6Vk54MkRG IChyZWc6Vk54MlNGIDEzNiBbIHZlY3RfXzI4LjQ0IF0pKSkNCiAgICAgICAg ICAgIChyZWc6Vk54MkRGIDE1MCBbIHZlY3RfXzguMTIgXSkNCiAgICAgICAg ICAgIChyZWc6Vk54MkRGIDEzNyBbIHZlY3RfXzI2LjQxIF0pKQ0KICAgICAg ICAobWVtOlZOeDJERiAocmVnL2Y6REkgMTU1IFsgdmVjdHBfZHN0NC40OCBd KSBbMSBNRU0gPHZlY3RvcihbMiwyXSkgZG91YmxlPiBbKGRvdWJsZSAqKXZl Y3RwX2RzdDQuNDhfMTExXSswIFNbMTYsIDE2XSBBNjRdKSkpDQpTdWNjZXNz ZnVsbHkgbWF0Y2hlZCB0aGlzIGluc3RydWN0aW9uOg0KKHNldCAocmVnOlZO eDJERiAxMzQgWyB2ZWN0X18zMS40NyBdKQ0KICAgIChmbG9hdF9leHRlbmQ6 Vk54MkRGIChyZWc6Vk54MlNGIDEzNiBbIHZlY3RfXzI4LjQ0IF0pKSkNCkZh aWxlZCB0byBtYXRjaCB0aGlzIGluc3RydWN0aW9uOg0KKHNldCAobWVtOlZO eDJERiAocmVnL2Y6REkgMTU1IFsgdmVjdHBfZHN0NC40OCBdKSBbMSBNRU0g PHZlY3RvcihbMiwyXSkgZG91YmxlPiBbKGRvdWJsZSAqKXZlY3RwX2RzdDQu NDhfMTExXSswIFNbMTYsIDE2XSBBNjRdKQ0KICAgIChpZl90aGVuX2Vsc2U6 Vk54MkRGICh1bnNwZWM6Vk54MkJJIFsNCiAgICAgICAgICAgICAgICAoY29u c3RfdmVjdG9yOlZOeDJCSSByZXBlYXQgWw0KICAgICAgICAgICAgICAgICAg ICAgICAgKGNvbnN0X2ludCAxIFsweDFdKQ0KICAgICAgICAgICAgICAgICAg ICBdKQ0KICAgICAgICAgICAgICAgIChyZWc6REkgMTU3IFsgXzExNyBdKQ0K ICAgICAgICAgICAgICAgIChjb25zdF9pbnQgMCBbMF0pDQogICAgICAgICAg ICAgICAgKHJlZzpTSSA2NiB2bCkNCiAgICAgICAgICAgICAgICAocmVnOlNJ IDY3IHZ0eXBlKQ0KICAgICAgICAgICAgXSBVTlNQRUNfVlBSRURJQ0FURSkN CiAgICAgICAgKGZtYTpWTngyREYgKG5lZzpWTngyREYgKHJlZzpWTngyREYg MTM0IFsgdmVjdF9fMzEuNDcgXSkpDQogICAgICAgICAgICAocmVnOlZOeDJE RiAxNTAgWyB2ZWN0X184LjEyIF0pDQogICAgICAgICAgICAocmVnOlZOeDJE RiAxMzcgWyB2ZWN0X18yNi40MSBdKSkNCiAgICAgICAgKG1lbTpWTngyREYg KHJlZy9mOkRJIDE1NSBbIHZlY3RwX2RzdDQuNDggXSkgWzEgTUVNIDx2ZWN0 b3IoWzIsMl0pIGRvdWJsZT4gWyhkb3VibGUgKil2ZWN0cF9kc3Q0LjQ4XzEx MV0rMCBTWzE2LCAxNl0gQTY0XSkpKQ0KDQpUcnlpbmcgMzAgLT4gNTg6DQog ICAzMDogcjE1NDpEST1yMTU3OkRJPDwweDMNCiAgIDU4OiByMTU4OkRJPXIx NTg6REkrcjE1NDpESQ0KRmFpbGVkIHRvIG1hdGNoIHRoaXMgaW5zdHJ1Y3Rp b246DQoocGFyYWxsZWwgWw0KICAgICAgICAoc2V0IChyZWcvdi9mOkRJIDE1 OCBbIGRzdCBdKQ0KICAgICAgICAgICAgKHBsdXM6REkgKGFzaGlmdDpESSAo cmVnOkRJIDE1NyBbIF8xMTcgXSkNCiAgICAgICAgICAgICAgICAgICAgKGNv bnN0X2ludCAzIFsweDNdKSkNCiAgICAgICAgICAgICAgICAocmVnL3YvZjpE SSAxNTggWyBkc3QgXSkpKQ0KICAgICAgICAoc2V0IChyZWc6REkgMTU0IFsg aXZ0bXBfMTA1IF0pDQogICAgICAgICAgICAoYXNoaWZ0OkRJIChyZWc6REkg MTU3IFsgXzExNyBdKQ0KICAgICAgICAgICAgICAgIChjb25zdF9pbnQgMyBb MHgzXSkpKQ0KICAgIF0pDQpGYWlsZWQgdG8gbWF0Y2ggdGhpcyBpbnN0cnVj dGlvbjoNCihwYXJhbGxlbCBbDQogICAgICAgIChzZXQgKHJlZy92L2Y6REkg MTU4IFsgZHN0IF0pDQogICAgICAgICAgICAocGx1czpESSAoYXNoaWZ0OkRJ IChyZWc6REkgMTU3IFsgXzExNyBdKQ0KICAgICAgICAgICAgICAgICAgICAo Y29uc3RfaW50IDMgWzB4M10pKQ0KICAgICAgICAgICAgICAgIChyZWcvdi9m OkRJIDE1OCBbIGRzdCBdKSkpDQogICAgICAgIChzZXQgKHJlZzpESSAxNTQg WyBpdnRtcF8xMDUgXSkNCiAgICAgICAgICAgIChhc2hpZnQ6REkgKHJlZzpE SSAxNTcgWyBfMTE3IF0pDQogICAgICAgICAgICAgICAgKGNvbnN0X2ludCAz IFsweDNdKSkpDQogICAgXSkNClN1Y2Nlc3NmdWxseSBtYXRjaGVkIHRoaXMg aW5zdHJ1Y3Rpb246DQooc2V0IChyZWc6REkgMTU0IFsgaXZ0bXBfMTA1IF0p DQogICAgKGFzaGlmdDpESSAocmVnOkRJIDE1NyBbIF8xMTcgXSkNCiAgICAg ICAgKGNvbnN0X2ludCAzIFsweDNdKSkpDQpGYWlsZWQgdG8gbWF0Y2ggdGhp cyBpbnN0cnVjdGlvbjoNCihzZXQgKHJlZy92L2Y6REkgMTU4IFsgZHN0IF0p DQogICAgKHBsdXM6REkgKGFzaGlmdDpESSAocmVnOkRJIDE1NyBbIF8xMTcg XSkNCiAgICAgICAgICAgIChjb25zdF9pbnQgMyBbMHgzXSkpDQogICAgICAg IChyZWcvdi9mOkRJIDE1OCBbIGRzdCBdKSkpDQoNClRyeWluZyAyOCwgMzAg LT4gNTg6DQogICAyODogcjE1NzpEST11bnNwZWNbcjE1NjpESSwweDgsMHg1 LDAsMF0gNjcNCiAgIDMwOiByMTU0OkRJPXIxNTc6REk8PDB4Mw0KICAgNTg6 IHIxNTg6REk9cjE1ODpESStyMTU0OkRJDQpDYW4ndCBjb21iaW5lIGkxIGlu dG8gaTMNCg0KVHJ5aW5nIDMyIC0+IDU5Og0KICAgMzI6IHIxNTI6REk9cjE1 NzpESTw8MHgyDQogICA1OTogcjE2MjpEST1yMTYyOkRJK3IxNTI6REkNCkZh aWxlZCB0byBtYXRjaCB0aGlzIGluc3RydWN0aW9uOg0KKHBhcmFsbGVsIFsN CiAgICAgICAgKHNldCAocmVnL3YvZjpESSAxNjIgWyBhIF0pDQogICAgICAg ICAgICAocGx1czpESSAoYXNoaWZ0OkRJIChyZWc6REkgMTU3IFsgXzExNyBd KQ0KICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDIgWzB4Ml0pKQ0K ICAgICAgICAgICAgICAgIChyZWcvdi9mOkRJIDE2MiBbIGEgXSkpKQ0KICAg ICAgICAoc2V0IChyZWc6REkgMTUyIFsgaXZ0bXBfMTAxIF0pDQogICAgICAg ICAgICAoYXNoaWZ0OkRJIChyZWc6REkgMTU3IFsgXzExNyBdKQ0KICAgICAg ICAgICAgICAgIChjb25zdF9pbnQgMiBbMHgyXSkpKQ0KICAgIF0pDQpGYWls ZWQgdG8gbWF0Y2ggdGhpcyBpbnN0cnVjdGlvbjoNCihwYXJhbGxlbCBbDQog ICAgICAgIChzZXQgKHJlZy92L2Y6REkgMTYyIFsgYSBdKQ0KICAgICAgICAg ICAgKHBsdXM6REkgKGFzaGlmdDpESSAocmVnOkRJIDE1NyBbIF8xMTcgXSkN CiAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCAyIFsweDJdKSkNCiAg ICAgICAgICAgICAgICAocmVnL3YvZjpESSAxNjIgWyBhIF0pKSkNCiAgICAg ICAgKHNldCAocmVnOkRJIDE1MiBbIGl2dG1wXzEwMSBdKQ0KICAgICAgICAg ICAgKGFzaGlmdDpESSAocmVnOkRJIDE1NyBbIF8xMTcgXSkNCiAgICAgICAg ICAgICAgICAoY29uc3RfaW50IDIgWzB4Ml0pKSkNCiAgICBdKQ0KU3VjY2Vz c2Z1bGx5IG1hdGNoZWQgdGhpcyBpbnN0cnVjdGlvbjoNCihzZXQgKHJlZzpE SSAxNTIgWyBpdnRtcF8xMDEgXSkNCiAgICAoYXNoaWZ0OkRJIChyZWc6REkg MTU3IFsgXzExNyBdKQ0KICAgICAgICAoY29uc3RfaW50IDIgWzB4Ml0pKSkN CkZhaWxlZCB0byBtYXRjaCB0aGlzIGluc3RydWN0aW9uOg0KKHNldCAocmVn L3YvZjpESSAxNjIgWyBhIF0pDQogICAgKHBsdXM6REkgKGFzaGlmdDpESSAo cmVnOkRJIDE1NyBbIF8xMTcgXSkNCiAgICAgICAgICAgIChjb25zdF9pbnQg MiBbMHgyXSkpDQogICAgICAgIChyZWcvdi9mOkRJIDE2MiBbIGEgXSkpKQ0K DQpUcnlpbmcgNzAgLT4gNzI6DQogICA3MDogcjE1NjpEST1yMTU2OkRJLXIx NTc6REkNCiAgICAgIFJFR19ERUFEIHIxNTc6REkNCiAgIDcyOiBwYz17KHIx NTY6REkhPTApP0w3MTpwY30NCiAgICAgIFJFR19CUl9QUk9CIDg5NDc4NDg2 Mg0KRmFpbGVkIHRvIG1hdGNoIHRoaXMgaW5zdHJ1Y3Rpb246DQoocGFyYWxs ZWwgWw0KICAgICAgICAoc2V0IChwYykNCiAgICAgICAgICAgIChpZl90aGVu X2Vsc2UgKG5lIChyZWc6REkgMTU2IFsgaXZ0bXBfMTE1IF0pDQogICAgICAg ICAgICAgICAgICAgIChyZWc6REkgMTU3IFsgXzExNyBdKSkNCiAgICAgICAg ICAgICAgICAobGFiZWxfcmVmOkRJIDcxKQ0KICAgICAgICAgICAgICAgIChw YykpKQ0KICAgICAgICAoc2V0IChyZWc6REkgMTU2IFsgaXZ0bXBfMTE1IF0p DQogICAgICAgICAgICAobWludXM6REkgKHJlZzpESSAxNTYgWyBpdnRtcF8x MTUgXSkNCiAgICAgICAgICAgICAgICAocmVnOkRJIDE1NyBbIF8xMTcgXSkp KQ0KICAgIF0pDQpGYWlsZWQgdG8gbWF0Y2ggdGhpcyBpbnN0cnVjdGlvbjoN CihwYXJhbGxlbCBbDQogICAgICAgIChzZXQgKHBjKQ0KICAgICAgICAgICAg KGlmX3RoZW5fZWxzZSAobmUgKHJlZzpESSAxNTYgWyBpdnRtcF8xMTUgXSkN CiAgICAgICAgICAgICAgICAgICAgKHJlZzpESSAxNTcgWyBfMTE3IF0pKQ0K ICAgICAgICAgICAgICAgIChsYWJlbF9yZWY6REkgNzEpDQogICAgICAgICAg ICAgICAgKHBjKSkpDQogICAgICAgIChzZXQgKHJlZzpESSAxNTYgWyBpdnRt cF8xMTUgXSkNCiAgICAgICAgICAgIChtaW51czpESSAocmVnOkRJIDE1NiBb IGl2dG1wXzExNSBdKQ0KICAgICAgICAgICAgICAgIChyZWc6REkgMTU3IFsg XzExNyBdKSkpDQogICAgXSkNCnN0YXJ0aW5nIHRoZSBwcm9jZXNzaW5nIG9m IGRlZmVycmVkIGluc25zDQplbmRpbmcgdGhlIHByb2Nlc3Npbmcgb2YgZGVm ZXJyZWQgaW5zbnMNCg0KDQp2d2FkZF9UWVBFMV9mbG9hdA0KDQpEYXRhZmxv dyBzdW1tYXJ5Og0KOzsgIGZ1bGx5IGludmFsaWRhdGVkIGJ5IEVIIAkgMCBb emVyb10gMyBbZ3BdIDQgW3RwXSA1IFt0MF0gNiBbdDFdIDcgW3QyXSAxMCBb YTBdIDExIFthMV0gMTIgW2EyXSAxMyBbYTNdIDE0IFthNF0gMTUgW2E1XSAx NiBbYTZdIDE3IFthN10gMjggW3QzXSAyOSBbdDRdIDMwIFt0NV0gMzEgW3Q2 XSAzMiBbZnQwXSAzMyBbZnQxXSAzNCBbZnQyXSAzNSBbZnQzXSAzNiBbZnQ0 XSAzNyBbZnQ1XSAzOCBbZnQ2XSAzOSBbZnQ3XSA0MiBbZmEwXSA0MyBbZmEx XSA0NCBbZmEyXSA0NSBbZmEzXSA0NiBbZmE0XSA0NyBbZmE1XSA0OCBbZmE2 XSA0OSBbZmE3XSA2MCBbZnQ4XSA2MSBbZnQ5XSA2MiBbZnQxMF0gNjMgW2Z0 MTFdIDY2IFt2bF0gNjcgW3Z0eXBlXSA2OCBbdnhybV0gNjkgW04vQV0gNzAg W04vQV0gNzEgW04vQV0gNzIgW04vQV0gNzMgW04vQV0gNzQgW04vQV0gNzUg W04vQV0gNzYgW04vQV0gNzcgW04vQV0gNzggW04vQV0gNzkgW04vQV0gODAg W04vQV0gODEgW04vQV0gODIgW04vQV0gODMgW04vQV0gODQgW04vQV0gODUg W04vQV0gODYgW04vQV0gODcgW04vQV0gODggW04vQV0gODkgW04vQV0gOTAg W04vQV0gOTEgW04vQV0gOTIgW04vQV0gOTMgW04vQV0gOTQgW04vQV0gOTUg W04vQV0gOTYgW3YwXSA5NyBbdjFdIDk4IFt2Ml0gOTkgW3YzXSAxMDAgW3Y0 XSAxMDEgW3Y1XSAxMDIgW3Y2XSAxMDMgW3Y3XSAxMDQgW3Y4XSAxMDUgW3Y5 XSAxMDYgW3YxMF0gMTA3IFt2MTFdIDEwOCBbdjEyXSAxMDkgW3YxM10gMTEw IFt2MTRdIDExMSBbdjE1XSAxMTIgW3YxNl0gMTEzIFt2MTddIDExNCBbdjE4 XSAxMTUgW3YxOV0gMTE2IFt2MjBdIDExNyBbdjIxXSAxMTggW3YyMl0gMTE5 IFt2MjNdIDEyMCBbdjI0XSAxMjEgW3YyNV0gMTIyIFt2MjZdIDEyMyBbdjI3 XSAxMjQgW3YyOF0gMTI1IFt2MjldIDEyNiBbdjMwXSAxMjcgW3YzMV0NCjs7 ICBoYXJkd2FyZSByZWdzIHVzZWQgCSAyIFtzcF0gNjQgW2FyZ10gNjUgW2Zy YW1lXQ0KOzsgIHJlZ3VsYXIgYmxvY2sgYXJ0aWZpY2lhbCB1c2VzIAkgMiBb c3BdIDggW3MwXSA2NCBbYXJnXSA2NSBbZnJhbWVdDQo7OyAgZWggYmxvY2sg YXJ0aWZpY2lhbCB1c2VzIAkgMiBbc3BdIDggW3MwXSA2NCBbYXJnXSA2NSBb ZnJhbWVdDQo7OyAgZW50cnkgYmxvY2sgZGVmcyAJIDEgW3JhXSAyIFtzcF0g OCBbczBdIDEwIFthMF0gMTEgW2ExXSAxMiBbYTJdIDEzIFthM10gMTQgW2E0 XSAxNSBbYTVdIDE2IFthNl0gMTcgW2E3XSA0MiBbZmEwXSA0MyBbZmExXSA0 NCBbZmEyXSA0NSBbZmEzXSA0NiBbZmE0XSA0NyBbZmE1XSA0OCBbZmE2XSA0 OSBbZmE3XSA2NCBbYXJnXSA2NSBbZnJhbWVdDQo7OyAgZXhpdCBibG9jayB1 c2VzIAkgMSBbcmFdIDIgW3NwXSA4IFtzMF0gNjUgW2ZyYW1lXQ0KOzsgIHJl Z3MgZXZlciBsaXZlIAkgMCBbemVyb10gMTAgW2EwXSAxMSBbYTFdIDEyIFth Ml0gMTMgW2EzXSAxNCBbYTRdIDE1IFthNV0gMTYgW2E2XSAxNyBbYTddIDY2 IFt2bF0gNjcgW3Z0eXBlXQ0KOzsgIHJlZiB1c2FnZSAJcjA9ezh1fSByMT17 MWQsMXV9IHIyPXsxZCw1dX0gcjg9ezFkLDV1fSByMTA9ezFkLDF1fSByMTE9 ezFkLDF1fSByMTI9ezFkLDF1fSByMTM9ezFkLDF1fSByMTQ9ezFkLDF1fSBy MTU9ezFkLDF1fSByMTY9ezFkLDF1fSByMTc9ezFkLDF1fSByNDI9ezFkfSBy NDM9ezFkfSByNDQ9ezFkfSByNDU9ezFkfSByNDY9ezFkfSByNDc9ezFkfSBy NDg9ezFkfSByNDk9ezFkfSByNjQ9ezFkLDV1LDFlfSByNjU9ezFkLDV1fSBy NjY9ezEydX0gcjY3PXsxMnV9IHIxMzQ9ezFkLDF1fSByMTM2PXsxZCwxdX0g cjEzNz17MWQsMXV9IHIxMzg9ezJkLDN1fSByMTM5PXsxZCwxdX0gcjE0MD17 MWQsMXV9IHIxNDE9ezJkLDN1fSByMTQyPXsxZCwxdX0gcjE0Mz17MWQsMnV9 IHIxNDQ9ezFkLDF1fSByMTQ1PXsxZCwxdX0gcjE0Nj17MmQsM3V9IHIxNDc9 ezFkLDF1fSByMTQ4PXsxZCwydX0gcjE0OT17MWQsMXV9IHIxNTA9ezFkLDN1 fSByMTUxPXsxZCwxdX0gcjE1Mj17MWQsNHV9IHIxNTM9ezFkLDF1fSByMTU0 PXsxZCw4dX0gcjE1NT17MmQsM3V9IHIxNTY9ezJkLDN1fSByMTU3PXsxZCwx NXV9IHIxNTg9ezJkLDN1fSByMTU5PXsyZCwzdX0gcjE2MD17MmQsM3V9IHIx NjE9ezJkLDN1fSByMTYyPXsyZCwydX0gcjE2Mz17MmQsMnV9IHIxNjQ9ezJk LDJ1fSByMTY1PXsyZCwydX0gcjE2Nj17MWQsMnV9IHIxNjg9ezFkfSByMTY5 PXsxZH0gcjE3MD17MWR9IHIxNzE9ezFkLDF1fSByMTcyPXsxZH0gcjE3Mz17 MWQsMXV9IHIxNzQ9ezFkLDF1fSByMTc1PXsxZCwxdX0gcjE3Nj17MWQsMXV9 IHIxNzc9ezFkLDF1fSByMTc4PXsxZCwxdX0gcjE3OT17MWQsMXV9IHIxODA9 ezFkLDF1fSANCjs7ICAgIHRvdGFsIHJlZiB1c2FnZSAyMzN7NzlkLDE1M3Us MWV9IGluIDcwezcwIHJlZ3VsYXIgKyAwIGNhbGx9IGluc25zLg0KKG5vdGUg MTYgMCA4NSAyIFtiYiAyXSBOT1RFX0lOU05fQkFTSUNfQkxPQ0spDQooaW5z biA4NSAxNiAyIDIgKHNldCAocmVnOkRJIDE3MykNCiAgICAgICAgKHJlZzpE SSAxMCBhMCBbIGRzdCBdKSkgIi9hcHAvZXhhbXBsZS5jcHAiOjE3OjEgLTEN CiAgICAgKGV4cHJfbGlzdDpSRUdfREVBRCAocmVnOkRJIDEwIGEwIFsgZHN0 IF0pDQogICAgICAgIChuaWwpKSkNCihpbnNuIDIgODUgODYgMiAoc2V0IChy ZWcvdi9mOkRJIDE1OCBbIGRzdCBdKQ0KICAgICAgICAocmVnOkRJIDE3Mykp ICIvYXBwL2V4YW1wbGUuY3BwIjoxNzoxIDE3OSB7Km1vdmRpXzY0Yml0fQ0K ICAgICAoZXhwcl9saXN0OlJFR19ERUFEIChyZWc6REkgMTczKQ0KICAgICAg ICAobmlsKSkpDQooaW5zbiA4NiAyIDMgMiAoc2V0IChyZWc6REkgMTc0KQ0K ICAgICAgICAocmVnOkRJIDExIGExIFsgZHN0MiBdKSkgIi9hcHAvZXhhbXBs ZS5jcHAiOjE3OjEgLTENCiAgICAgKGV4cHJfbGlzdDpSRUdfREVBRCAocmVn OkRJIDExIGExIFsgZHN0MiBdKQ0KICAgICAgICAobmlsKSkpDQooaW5zbiAz IDg2IDg3IDIgKHNldCAocmVnL3YvZjpESSAxNTkgWyBkc3QyIF0pDQogICAg ICAgIChyZWc6REkgMTc0KSkgIi9hcHAvZXhhbXBsZS5jcHAiOjE3OjEgMTc5 IHsqbW92ZGlfNjRiaXR9DQogICAgIChleHByX2xpc3Q6UkVHX0RFQUQgKHJl ZzpESSAxNzQpDQogICAgICAgIChuaWwpKSkNCihpbnNuIDg3IDMgNCAyIChz ZXQgKHJlZzpESSAxNzUpDQogICAgICAgIChyZWc6REkgMTIgYTIgWyBkc3Qz IF0pKSAiL2FwcC9leGFtcGxlLmNwcCI6MTc6MSAtMQ0KICAgICAoZXhwcl9s aXN0OlJFR19ERUFEIChyZWc6REkgMTIgYTIgWyBkc3QzIF0pDQogICAgICAg IChuaWwpKSkNCihpbnNuIDQgODcgODggMiAoc2V0IChyZWcvdi9mOkRJIDE2 MCBbIGRzdDMgXSkNCiAgICAgICAgKHJlZzpESSAxNzUpKSAiL2FwcC9leGFt cGxlLmNwcCI6MTc6MSAxNzkgeyptb3ZkaV82NGJpdH0NCiAgICAgKGV4cHJf bGlzdDpSRUdfREVBRCAocmVnOkRJIDE3NSkNCiAgICAgICAgKG5pbCkpKQ0K KGluc24gODggNCA1IDIgKHNldCAocmVnOkRJIDE3NikNCiAgICAgICAgKHJl ZzpESSAxMyBhMyBbIGRzdDQgXSkpICIvYXBwL2V4YW1wbGUuY3BwIjoxNzox IC0xDQogICAgIChleHByX2xpc3Q6UkVHX0RFQUQgKHJlZzpESSAxMyBhMyBb IGRzdDQgXSkNCiAgICAgICAgKG5pbCkpKQ0KKGluc24gNSA4OCA4OSAyIChz ZXQgKHJlZy92L2Y6REkgMTYxIFsgZHN0NCBdKQ0KICAgICAgICAocmVnOkRJ IDE3NikpICIvYXBwL2V4YW1wbGUuY3BwIjoxNzoxIDE3OSB7Km1vdmRpXzY0 Yml0fQ0KICAgICAoZXhwcl9saXN0OlJFR19ERUFEIChyZWc6REkgMTc2KQ0K ICAgICAgICAobmlsKSkpDQooaW5zbiA4OSA1IDYgMiAoc2V0IChyZWc6REkg MTc3KQ0KICAgICAgICAocmVnOkRJIDE0IGE0IFsgYSBdKSkgIi9hcHAvZXhh bXBsZS5jcHAiOjE3OjEgLTENCiAgICAgKGV4cHJfbGlzdDpSRUdfREVBRCAo cmVnOkRJIDE0IGE0IFsgYSBdKQ0KICAgICAgICAobmlsKSkpDQooaW5zbiA2 IDg5IDkwIDIgKHNldCAocmVnL3YvZjpESSAxNjIgWyBhIF0pDQogICAgICAg IChyZWc6REkgMTc3KSkgIi9hcHAvZXhhbXBsZS5jcHAiOjE3OjEgMTc5IHsq bW92ZGlfNjRiaXR9DQogICAgIChleHByX2xpc3Q6UkVHX0RFQUQgKHJlZzpE SSAxNzcpDQogICAgICAgIChuaWwpKSkNCihpbnNuIDkwIDYgNyAyIChzZXQg KHJlZzpESSAxNzgpDQogICAgICAgIChyZWc6REkgMTUgYTUgWyBiIF0pKSAi L2FwcC9leGFtcGxlLmNwcCI6MTc6MSAtMQ0KICAgICAoZXhwcl9saXN0OlJF R19ERUFEIChyZWc6REkgMTUgYTUgWyBiIF0pDQogICAgICAgIChuaWwpKSkN CihpbnNuIDcgOTAgOTEgMiAoc2V0IChyZWcvdi9mOkRJIDE2MyBbIGIgXSkN CiAgICAgICAgKHJlZzpESSAxNzgpKSAiL2FwcC9leGFtcGxlLmNwcCI6MTc6 MSAxNzkgeyptb3ZkaV82NGJpdH0NCiAgICAgKGV4cHJfbGlzdDpSRUdfREVB RCAocmVnOkRJIDE3OCkNCiAgICAgICAgKG5pbCkpKQ0KKGluc24gOTEgNyA4 IDIgKHNldCAocmVnOkRJIDE3OSkNCiAgICAgICAgKHJlZzpESSAxNiBhNiBb IGEyIF0pKSAiL2FwcC9leGFtcGxlLmNwcCI6MTc6MSAtMQ0KICAgICAoZXhw cl9saXN0OlJFR19ERUFEIChyZWc6REkgMTYgYTYgWyBhMiBdKQ0KICAgICAg ICAobmlsKSkpDQooaW5zbiA4IDkxIDkyIDIgKHNldCAocmVnL3YvZjpESSAx NjQgWyBhMiBdKQ0KICAgICAgICAocmVnOkRJIDE3OSkpICIvYXBwL2V4YW1w bGUuY3BwIjoxNzoxIDE3OSB7Km1vdmRpXzY0Yml0fQ0KICAgICAoZXhwcl9s aXN0OlJFR19ERUFEIChyZWc6REkgMTc5KQ0KICAgICAgICAobmlsKSkpDQoo aW5zbiA5MiA4IDkgMiAoc2V0IChyZWc6REkgMTgwKQ0KICAgICAgICAocmVn OkRJIDE3IGE3IFsgYjIgXSkpICIvYXBwL2V4YW1wbGUuY3BwIjoxNzoxIC0x DQogICAgIChleHByX2xpc3Q6UkVHX0RFQUQgKHJlZzpESSAxNyBhNyBbIGIy IF0pDQogICAgICAgIChuaWwpKSkNCihpbnNuIDkgOTIgMTAgMiAoc2V0IChy ZWcvdi9mOkRJIDE2NSBbIGIyIF0pDQogICAgICAgIChyZWc6REkgMTgwKSkg Ii9hcHAvZXhhbXBsZS5jcHAiOjE3OjEgMTc5IHsqbW92ZGlfNjRiaXR9DQog ICAgIChleHByX2xpc3Q6UkVHX0RFQUQgKHJlZzpESSAxODApDQogICAgICAg IChuaWwpKSkNCihpbnNuIDEwIDkgMTEgMiAoc2V0IChyZWcvdjpESSAxNjYg WyBuIF0pDQogICAgICAgIChzaWduX2V4dGVuZDpESSAobWVtL2M6U0kgKHJl Zy9mOkRJIDY0IGFyZykgWzMgbiswIFM0IEExMjhdKSkpICIvYXBwL2V4YW1w bGUuY3BwIjoxNzoxIC0xDQogICAgIChleHByX2xpc3Q6UkVHX0VRVUlWIChz aWduX2V4dGVuZDpESSAobWVtL2M6U0kgKHJlZy9mOkRJIDY0IGFyZykgWzMg biswIFM0IEExMjhdKSkNCiAgICAgICAgKG5pbCkpKQ0KKG5vdGUgMTEgMTAg MTggMiBOT1RFX0lOU05fRlVOQ1RJT05fQkVHKQ0KKGRlYnVnX2luc24gMTgg MTEgMTkgMiAoZGVidWdfbWFya2VyKSAiL2FwcC9leGFtcGxlLmNwcCI6MTc6 MSAtMQ0KICAgICAobmlsKSkNCihkZWJ1Z19pbnNuIDE5IDE4IDIwIDIgKHZh cl9sb2NhdGlvbjpTSSBpIChjb25zdF9pbnQgMCBbMF0pKSAtMQ0KICAgICAo bmlsKSkNCihkZWJ1Z19pbnNuIDIwIDE5IDI0IDIgKGRlYnVnX21hcmtlcikg Ii9hcHAvZXhhbXBsZS5jcHAiOjE3OjEgZGlzY3JpbSAxIC0xDQogICAgIChu aWwpKQ0KKGp1bXBfaW5zbiAyNCAyMCAyNSAyIChzZXQgKHBjKQ0KICAgICAg ICAoaWZfdGhlbl9lbHNlIChsZSAocmVnL3Y6REkgMTY2IFsgbiBdKQ0KICAg ICAgICAgICAgICAgIChjb25zdF9pbnQgMCBbMF0pKQ0KICAgICAgICAgICAg KGxhYmVsX3JlZjpESSA3NikNCiAgICAgICAgICAgIChwYykpKSAiL2FwcC9l eGFtcGxlLmNwcCI6MTc6MSBkaXNjcmltIDEgMjQyIHsqYnJhbmNoZGl9DQog ICAgIChpbnRfbGlzdDpSRUdfQlJfUFJPQiAxMTgxMTE2MDQgKG5pbCkpDQog LT4gNzYpDQoobm90ZSAyNSAyNCAyNiAzIFtiYiAzXSBOT1RFX0lOU05fQkFT SUNfQkxPQ0spDQooaW5zbiAyNiAyNSAxMiAzIChzZXQgKHJlZzpESSAxNTYg WyBpdnRtcF8xMTUgXSkNCiAgICAgICAgKHJlZy92OkRJIDE2NiBbIG4gXSkp IDE3OSB7Km1vdmRpXzY0Yml0fQ0KICAgICAoZXhwcl9saXN0OlJFR19ERUFE IChyZWcvdjpESSAxNjYgWyBuIF0pDQogICAgICAgIChuaWwpKSkNCihpbnNu IDEyIDI2IDEzIDMgKHNldCAocmVnL2Y6REkgMTU1IFsgdmVjdHBfZHN0NC40 OCBdKQ0KICAgICAgICAocmVnL3YvZjpESSAxNjEgWyBkc3Q0IF0pKSAiL2Fw cC9leGFtcGxlLmNwcCI6MTc6MSBkaXNjcmltIDEgMTc5IHsqbW92ZGlfNjRi aXR9DQogICAgIChuaWwpKQ0KKGluc24gMTMgMTIgMTQgMyAoc2V0IChyZWcv ZjpESSAxMzggWyB2ZWN0cF9kc3QzLjM3IF0pDQogICAgICAgIChyZWcvdi9m OkRJIDE2MCBbIGRzdDMgXSkpICIvYXBwL2V4YW1wbGUuY3BwIjoxNzoxIGRp c2NyaW0gMSAxNzkgeyptb3ZkaV82NGJpdH0NCiAgICAgKG5pbCkpDQooaW5z biAxNCAxMyAxNSAzIChzZXQgKHJlZy9mOkRJIDE0MSBbIHZlY3RwX2RzdDIu MzAgXSkNCiAgICAgICAgKHJlZy92L2Y6REkgMTU5IFsgZHN0MiBdKSkgIi9h cHAvZXhhbXBsZS5jcHAiOjE3OjEgZGlzY3JpbSAxIDE3OSB7Km1vdmRpXzY0 Yml0fQ0KICAgICAobmlsKSkNCihpbnNuIDE1IDE0IDcxIDMgKHNldCAocmVn L2Y6REkgMTQ2IFsgdmVjdHBfZHN0LjE5IF0pDQogICAgICAgIChyZWcvdi9m OkRJIDE1OCBbIGRzdCBdKSkgIi9hcHAvZXhhbXBsZS5jcHAiOjE3OjEgZGlz Y3JpbSAxIDE3OSB7Km1vdmRpXzY0Yml0fQ0KICAgICAobmlsKSkNCihjb2Rl X2xhYmVsIDcxIDE1IDI3IDQgMyAobmlsKSBbMSB1c2VzXSkNCihub3RlIDI3 IDcxIDI4IDQgW2JiIDRdIE5PVEVfSU5TTl9CQVNJQ19CTE9DSykNCihpbnNu IDI4IDI3IDI5IDQgKHNldCAocmVnOkRJIDE1NyBbIF8xMTcgXSkNCiAgICAg ICAgKHVuc3BlYzpESSBbDQogICAgICAgICAgICAgICAgKHJlZzpESSAxNTYg WyBpdnRtcF8xMTUgXSkNCiAgICAgICAgICAgICAgICAoY29uc3RfaW50IDgg WzB4OF0pDQogICAgICAgICAgICAgICAgKGNvbnN0X2ludCA1IFsweDVdKQ0K ICAgICAgICAgICAgICAgIChjb25zdF9pbnQgMCBbMF0pIHJlcGVhdGVkIHgy DQogICAgICAgICAgICBdIFVOU1BFQ19WU0VUVkwpKSAxMTE2IHt2c2V0dmxk aV9ub19zaWRlX2VmZmVjdHN9DQogICAgIChuaWwpKQ0KKGRlYnVnX2luc24g MjkgMjggMzAgNCAoZGVidWdfbWFya2VyKSAiL2FwcC9leGFtcGxlLmNwcCI6 MTc6MSBkaXNjcmltIDMgLTENCiAgICAgKG5pbCkpDQooaW5zbiAzMCAyOSAz MSA0IChzZXQgKHJlZzpESSAxNTQgWyBpdnRtcF8xMDUgXSkNCiAgICAgICAg KGFzaGlmdDpESSAocmVnOkRJIDE1NyBbIF8xMTcgXSkNCiAgICAgICAgICAg IChjb25zdF9pbnQgMyBbMHgzXSkpKSAxOTgge2FzaGxkaTN9DQogICAgIChu aWwpKQ0KKGluc24gMzEgMzAgMzIgNCAoc2V0IChyZWc6Vk54MkRGIDE1MyBb IHZlY3RfXzQuOCBdKQ0KICAgICAgICAoaWZfdGhlbl9lbHNlOlZOeDJERiAo dW5zcGVjOlZOeDJCSSBbDQogICAgICAgICAgICAgICAgICAgIChjb25zdF92 ZWN0b3I6Vk54MkJJIHJlcGVhdCBbDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgKGNvbnN0X2ludCAxIFsweDFdKQ0KICAgICAgICAgICAgICAgICAg ICAgICAgXSkNCiAgICAgICAgICAgICAgICAgICAgKHJlZzpESSAxNTcgWyBf MTE3IF0pDQogICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgMiBbMHgy XSkgcmVwZWF0ZWQgeDINCiAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2lu dCAwIFswXSkNCiAgICAgICAgICAgICAgICAgICAgKHJlZzpTSSA2NiB2bCkN CiAgICAgICAgICAgICAgICAgICAgKHJlZzpTSSA2NyB2dHlwZSkNCiAgICAg ICAgICAgICAgICBdIFVOU1BFQ19WUFJFRElDQVRFKQ0KICAgICAgICAgICAg KG1lbTpWTngyREYgKHJlZy92L2Y6REkgMTU4IFsgZHN0IF0pIFsxIE1FTSA8 dmVjdG9yKFsyLDJdKSBkb3VibGU+IFsoZG91YmxlICopdmVjdHBfZHN0LjZf MTA0XSswIFNbMTYsIDE2XSBBNjRdKQ0KICAgICAgICAgICAgKHVuc3BlYzpW TngyREYgWw0KICAgICAgICAgICAgICAgICAgICAocmVnOlNJIDAgemVybykN CiAgICAgICAgICAgICAgICBdIFVOU1BFQ19WVU5ERUYpKSkgIi9hcHAvZXhh bXBsZS5jcHAiOjE3OjEgZGlzY3JpbSAzIDExNTcge3ByZWRfbW92dm54MmRm fQ0KICAgICAobmlsKSkNCihpbnNuIDMyIDMxIDMzIDQgKHNldCAocmVnOkRJ IDE1MiBbIGl2dG1wXzEwMSBdKQ0KICAgICAgICAoYXNoaWZ0OkRJIChyZWc6 REkgMTU3IFsgXzExNyBdKQ0KICAgICAgICAgICAgKGNvbnN0X2ludCAyIFsw eDJdKSkpIDE5OCB7YXNobGRpM30NCiAgICAgKG5pbCkpDQooaW5zbiAzMyAz MiAzNCA0IChzZXQgKHJlZzpWTngyU0YgMTUxIFsgdmVjdF9fNy4xMSBdKQ0K ICAgICAgICAoaWZfdGhlbl9lbHNlOlZOeDJTRiAodW5zcGVjOlZOeDJCSSBb DQogICAgICAgICAgICAgICAgICAgIChjb25zdF92ZWN0b3I6Vk54MkJJIHJl cGVhdCBbDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2lu dCAxIFsweDFdKQ0KICAgICAgICAgICAgICAgICAgICAgICAgXSkNCiAgICAg ICAgICAgICAgICAgICAgKHJlZzpESSAxNTcgWyBfMTE3IF0pDQogICAgICAg ICAgICAgICAgICAgIChjb25zdF9pbnQgMiBbMHgyXSkgcmVwZWF0ZWQgeDIN CiAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCAwIFswXSkNCiAgICAg ICAgICAgICAgICAgICAgKHJlZzpTSSA2NiB2bCkNCiAgICAgICAgICAgICAg ICAgICAgKHJlZzpTSSA2NyB2dHlwZSkNCiAgICAgICAgICAgICAgICBdIFVO U1BFQ19WUFJFRElDQVRFKQ0KICAgICAgICAgICAgKG1lbTpWTngyU0YgKHJl Zy92L2Y6REkgMTYyIFsgYSBdKSBbMiBNRU0gPHZlY3RvcihbMiwyXSkgZmxv YXQ+IFsoZmxvYXQgKil2ZWN0cF9hLjlfMTAwXSswIFNbOCwgOF0gQTMyXSkN CiAgICAgICAgICAgICh1bnNwZWM6Vk54MlNGIFsNCiAgICAgICAgICAgICAg ICAgICAgKHJlZzpTSSAwIHplcm8pDQogICAgICAgICAgICAgICAgXSBVTlNQ RUNfVlVOREVGKSkpICIvYXBwL2V4YW1wbGUuY3BwIjoxNzoxIGRpc2NyaW0g MyAxMTUxIHtwcmVkX21vdnZueDJzZn0NCiAgICAgKG5pbCkpDQooaW5zbiAz NCAzMyAzNSA0IChzZXQgKHJlZzpWTngyREYgMTUwIFsgdmVjdF9fOC4xMiBd KQ0KICAgICAgICAoZmxvYXRfZXh0ZW5kOlZOeDJERiAocmVnOlZOeDJTRiAx NTEgWyB2ZWN0X183LjExIF0pKSkgIi9hcHAvZXhhbXBsZS5jcHAiOjE3OjEg ZGlzY3JpbSAzIDEyMzk1IHtleHRlbmR2bngyc2Z2bngyZGYyfQ0KICAgICAo ZXhwcl9saXN0OlJFR19ERUFEIChyZWc6Vk54MlNGIDE1MSBbIHZlY3RfXzcu MTEgXSkNCiAgICAgICAgKG5pbCkpKQ0KKGluc24gMzUgMzQgMzYgNCAoc2V0 IChyZWc6Vk54MlNGIDE0OSBbIHZlY3RfXzEwLjE1IF0pDQogICAgICAgIChp Zl90aGVuX2Vsc2U6Vk54MlNGICh1bnNwZWM6Vk54MkJJIFsNCiAgICAgICAg ICAgICAgICAgICAgKGNvbnN0X3ZlY3RvcjpWTngyQkkgcmVwZWF0IFsNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDEgWzB4MV0p DQogICAgICAgICAgICAgICAgICAgICAgICBdKQ0KICAgICAgICAgICAgICAg ICAgICAocmVnOkRJIDE1NyBbIF8xMTcgXSkNCiAgICAgICAgICAgICAgICAg ICAgKGNvbnN0X2ludCAyIFsweDJdKSByZXBlYXRlZCB4Mg0KICAgICAgICAg ICAgICAgICAgICAoY29uc3RfaW50IDAgWzBdKQ0KICAgICAgICAgICAgICAg ICAgICAocmVnOlNJIDY2IHZsKQ0KICAgICAgICAgICAgICAgICAgICAocmVn OlNJIDY3IHZ0eXBlKQ0KICAgICAgICAgICAgICAgIF0gVU5TUEVDX1ZQUkVE SUNBVEUpDQogICAgICAgICAgICAobWVtOlZOeDJTRiAocmVnL3YvZjpESSAx NjMgWyBiIF0pIFsyIE1FTSA8dmVjdG9yKFsyLDJdKSBmbG9hdD4gWyhmbG9h dCAqKXZlY3RwX2IuMTNfOTVdKzAgU1s4LCA4XSBBMzJdKQ0KICAgICAgICAg ICAgKHVuc3BlYzpWTngyU0YgWw0KICAgICAgICAgICAgICAgICAgICAocmVn OlNJIDAgemVybykNCiAgICAgICAgICAgICAgICBdIFVOU1BFQ19WVU5ERUYp KSkgIi9hcHAvZXhhbXBsZS5jcHAiOjE3OjEgZGlzY3JpbSAzIDExNTEge3By ZWRfbW92dm54MnNmfQ0KICAgICAobmlsKSkNCihpbnNuIDM2IDM1IDM3IDQg KHNldCAocmVnOlZOeDJERiAxNDggWyB2ZWN0X18xMS4xNiBdKQ0KICAgICAg ICAoZmxvYXRfZXh0ZW5kOlZOeDJERiAocmVnOlZOeDJTRiAxNDkgWyB2ZWN0 X18xMC4xNSBdKSkpICIvYXBwL2V4YW1wbGUuY3BwIjoxNzoxIGRpc2NyaW0g MyAxMjM5NSB7ZXh0ZW5kdm54MnNmdm54MmRmMn0NCiAgICAgKGV4cHJfbGlz dDpSRUdfREVBRCAocmVnOlZOeDJTRiAxNDkgWyB2ZWN0X18xMC4xNSBdKQ0K ICAgICAgICAobmlsKSkpDQooaW5zbiAzNyAzNiAzOCA0IChwYXJhbGxlbCBb DQogICAgICAgICAgICAoc2V0IChyZWc6Vk54MkRGIDE0NyBbIHZlY3RfXzEz LjE4IF0pDQogICAgICAgICAgICAgICAgKGZtYTpWTngyREYgKG5lZzpWTngy REYgKHJlZzpWTngyREYgMTQ4IFsgdmVjdF9fMTEuMTYgXSkpDQogICAgICAg ICAgICAgICAgICAgIChyZWc6Vk54MkRGIDE1MCBbIHZlY3RfXzguMTIgXSkN CiAgICAgICAgICAgICAgICAgICAgKHJlZzpWTngyREYgMTUzIFsgdmVjdF9f NC44IF0pKSkNCiAgICAgICAgICAgIChjbG9iYmVyIChyZWc6REkgMTY4KSkN CiAgICAgICAgXSkgIi9hcHAvZXhhbXBsZS5jcHAiOjE3OjEgZGlzY3JpbSAz IDEyNTgyIHsqZm5tYXZueDJkZmRpfQ0KICAgICAoZXhwcl9saXN0OlJFR19E RUFEIChyZWc6Vk54MkRGIDE1MyBbIHZlY3RfXzQuOCBdKQ0KICAgICAgICAo ZXhwcl9saXN0OlJFR19VTlVTRUQgKHJlZzpESSAxNjgpDQogICAgICAgICAg ICAobmlsKSkpKQ0KKGluc24gMzggMzcgMzkgNCAoc2V0IChtZW06Vk54MkRG IChyZWcvZjpESSAxNDYgWyB2ZWN0cF9kc3QuMTkgXSkgWzEgTUVNIDx2ZWN0 b3IoWzIsMl0pIGRvdWJsZT4gWyhkb3VibGUgKil2ZWN0cF9kc3QuMTlfODhd KzAgU1sxNiwgMTZdIEE2NF0pDQogICAgICAgIChpZl90aGVuX2Vsc2U6Vk54 MkRGICh1bnNwZWM6Vk54MkJJIFsNCiAgICAgICAgICAgICAgICAgICAgKGNv bnN0X3ZlY3RvcjpWTngyQkkgcmVwZWF0IFsNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAoY29uc3RfaW50IDEgWzB4MV0pDQogICAgICAgICAgICAg ICAgICAgICAgICBdKQ0KICAgICAgICAgICAgICAgICAgICAocmVnOkRJIDE1 NyBbIF8xMTcgXSkNCiAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCAw IFswXSkNCiAgICAgICAgICAgICAgICAgICAgKHJlZzpTSSA2NiB2bCkNCiAg ICAgICAgICAgICAgICAgICAgKHJlZzpTSSA2NyB2dHlwZSkNCiAgICAgICAg ICAgICAgICBdIFVOU1BFQ19WUFJFRElDQVRFKQ0KICAgICAgICAgICAgKHJl ZzpWTngyREYgMTQ3IFsgdmVjdF9fMTMuMTggXSkNCiAgICAgICAgICAgICht ZW06Vk54MkRGIChyZWcvZjpESSAxNDYgWyB2ZWN0cF9kc3QuMTkgXSkgWzEg TUVNIDx2ZWN0b3IoWzIsMl0pIGRvdWJsZT4gWyhkb3VibGUgKil2ZWN0cF9k c3QuMTlfODhdKzAgU1sxNiwgMTZdIEE2NF0pKSkgIi9hcHAvZXhhbXBsZS5j cHAiOjE3OjEgZGlzY3JpbSAzIDEyMDEge3ByZWRfc3RvcmV2bngyZGZ9DQog ICAgIChleHByX2xpc3Q6UkVHX0RFQUQgKHJlZzpWTngyREYgMTQ3IFsgdmVj dF9fMTMuMTggXSkNCiAgICAgICAgKG5pbCkpKQ0KKGRlYnVnX2luc24gMzkg MzggNDAgNCAoZGVidWdfbWFya2VyKSAiL2FwcC9leGFtcGxlLmNwcCI6MTc6 MSBkaXNjcmltIDMgLTENCiAgICAgKG5pbCkpDQooaW5zbiA0MCAzOSA0MSA0 IChzZXQgKHJlZzpWTngyREYgMTQ1IFsgdmVjdF9fMTUuMjMgXSkNCiAgICAg ICAgKGlmX3RoZW5fZWxzZTpWTngyREYgKHVuc3BlYzpWTngyQkkgWw0KICAg ICAgICAgICAgICAgICAgICAoY29uc3RfdmVjdG9yOlZOeDJCSSByZXBlYXQg Ww0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgMSBb MHgxXSkNCiAgICAgICAgICAgICAgICAgICAgICAgIF0pDQogICAgICAgICAg ICAgICAgICAgIChyZWc6REkgMTU3IFsgXzExNyBdKQ0KICAgICAgICAgICAg ICAgICAgICAoY29uc3RfaW50IDIgWzB4Ml0pIHJlcGVhdGVkIHgyDQogICAg ICAgICAgICAgICAgICAgIChjb25zdF9pbnQgMCBbMF0pDQogICAgICAgICAg ICAgICAgICAgIChyZWc6U0kgNjYgdmwpDQogICAgICAgICAgICAgICAgICAg IChyZWc6U0kgNjcgdnR5cGUpDQogICAgICAgICAgICAgICAgXSBVTlNQRUNf VlBSRURJQ0FURSkNCiAgICAgICAgICAgIChtZW06Vk54MkRGIChyZWcvdi9m OkRJIDE1OSBbIGRzdDIgXSkgWzEgTUVNIDx2ZWN0b3IoWzIsMl0pIGRvdWJs ZT4gWyhkb3VibGUgKil2ZWN0cF9kc3QyLjIxXzg0XSswIFNbMTYsIDE2XSBB NjRdKQ0KICAgICAgICAgICAgKHVuc3BlYzpWTngyREYgWw0KICAgICAgICAg ICAgICAgICAgICAocmVnOlNJIDAgemVybykNCiAgICAgICAgICAgICAgICBd IFVOU1BFQ19WVU5ERUYpKSkgIi9hcHAvZXhhbXBsZS5jcHAiOjE3OjEgZGlz Y3JpbSAzIDExNTcge3ByZWRfbW92dm54MmRmfQ0KICAgICAobmlsKSkNCihp bnNuIDQxIDQwIDQyIDQgKHNldCAocmVnOlZOeDJTRiAxNDQgWyB2ZWN0X18x Ny4yNiBdKQ0KICAgICAgICAoaWZfdGhlbl9lbHNlOlZOeDJTRiAodW5zcGVj OlZOeDJCSSBbDQogICAgICAgICAgICAgICAgICAgIChjb25zdF92ZWN0b3I6 Vk54MkJJIHJlcGVhdCBbDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg KGNvbnN0X2ludCAxIFsweDFdKQ0KICAgICAgICAgICAgICAgICAgICAgICAg XSkNCiAgICAgICAgICAgICAgICAgICAgKHJlZzpESSAxNTcgWyBfMTE3IF0p DQogICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgMiBbMHgyXSkgcmVw ZWF0ZWQgeDINCiAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCAwIFsw XSkNCiAgICAgICAgICAgICAgICAgICAgKHJlZzpTSSA2NiB2bCkNCiAgICAg ICAgICAgICAgICAgICAgKHJlZzpTSSA2NyB2dHlwZSkNCiAgICAgICAgICAg ICAgICBdIFVOU1BFQ19WUFJFRElDQVRFKQ0KICAgICAgICAgICAgKG1lbTpW TngyU0YgKHJlZy92L2Y6REkgMTY0IFsgYTIgXSkgWzIgTUVNIDx2ZWN0b3Io WzIsMl0pIGZsb2F0PiBbKGZsb2F0ICopdmVjdHBfYTIuMjRfODBdKzAgU1s4 LCA4XSBBMzJdKQ0KICAgICAgICAgICAgKHVuc3BlYzpWTngyU0YgWw0KICAg ICAgICAgICAgICAgICAgICAocmVnOlNJIDAgemVybykNCiAgICAgICAgICAg ICAgICBdIFVOU1BFQ19WVU5ERUYpKSkgIi9hcHAvZXhhbXBsZS5jcHAiOjE3 OjEgZGlzY3JpbSAzIDExNTEge3ByZWRfbW92dm54MnNmfQ0KICAgICAobmls KSkNCihpbnNuIDQyIDQxIDQzIDQgKHNldCAocmVnOlZOeDJERiAxNDMgWyB2 ZWN0X18xOC4yNyBdKQ0KICAgICAgICAoZmxvYXRfZXh0ZW5kOlZOeDJERiAo cmVnOlZOeDJTRiAxNDQgWyB2ZWN0X18xNy4yNiBdKSkpICIvYXBwL2V4YW1w bGUuY3BwIjoxNzoxIGRpc2NyaW0gMyAxMjM5NSB7ZXh0ZW5kdm54MnNmdm54 MmRmMn0NCiAgICAgKGV4cHJfbGlzdDpSRUdfREVBRCAocmVnOlZOeDJTRiAx NDQgWyB2ZWN0X18xNy4yNiBdKQ0KICAgICAgICAobmlsKSkpDQooaW5zbiA0 MyA0MiA0NCA0IChwYXJhbGxlbCBbDQogICAgICAgICAgICAoc2V0IChyZWc6 Vk54MkRGIDE0MiBbIHZlY3RfXzIwLjI5IF0pDQogICAgICAgICAgICAgICAg KGZtYTpWTngyREYgKG5lZzpWTngyREYgKHJlZzpWTngyREYgMTQzIFsgdmVj dF9fMTguMjcgXSkpDQogICAgICAgICAgICAgICAgICAgIChyZWc6Vk54MkRG IDE0OCBbIHZlY3RfXzExLjE2IF0pDQogICAgICAgICAgICAgICAgICAgIChy ZWc6Vk54MkRGIDE0NSBbIHZlY3RfXzE1LjIzIF0pKSkNCiAgICAgICAgICAg IChjbG9iYmVyIChyZWc6REkgMTY5KSkNCiAgICAgICAgXSkgIi9hcHAvZXhh bXBsZS5jcHAiOjE3OjEgZGlzY3JpbSAzIDEyNTgyIHsqZm5tYXZueDJkZmRp fQ0KICAgICAoZXhwcl9saXN0OlJFR19ERUFEIChyZWc6Vk54MkRGIDE0OCBb IHZlY3RfXzExLjE2IF0pDQogICAgICAgIChleHByX2xpc3Q6UkVHX0RFQUQg KHJlZzpWTngyREYgMTQ1IFsgdmVjdF9fMTUuMjMgXSkNCiAgICAgICAgICAg IChleHByX2xpc3Q6UkVHX1VOVVNFRCAocmVnOkRJIDE2OSkNCiAgICAgICAg ICAgICAgICAobmlsKSkpKSkNCihpbnNuIDQ0IDQzIDQ1IDQgKHNldCAobWVt OlZOeDJERiAocmVnL2Y6REkgMTQxIFsgdmVjdHBfZHN0Mi4zMCBdKSBbMSBN RU0gPHZlY3RvcihbMiwyXSkgZG91YmxlPiBbKGRvdWJsZSAqKXZlY3RwX2Rz dDIuMzBfNzNdKzAgU1sxNiwgMTZdIEE2NF0pDQogICAgICAgIChpZl90aGVu X2Vsc2U6Vk54MkRGICh1bnNwZWM6Vk54MkJJIFsNCiAgICAgICAgICAgICAg ICAgICAgKGNvbnN0X3ZlY3RvcjpWTngyQkkgcmVwZWF0IFsNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDEgWzB4MV0pDQogICAg ICAgICAgICAgICAgICAgICAgICBdKQ0KICAgICAgICAgICAgICAgICAgICAo cmVnOkRJIDE1NyBbIF8xMTcgXSkNCiAgICAgICAgICAgICAgICAgICAgKGNv bnN0X2ludCAwIFswXSkNCiAgICAgICAgICAgICAgICAgICAgKHJlZzpTSSA2 NiB2bCkNCiAgICAgICAgICAgICAgICAgICAgKHJlZzpTSSA2NyB2dHlwZSkN CiAgICAgICAgICAgICAgICBdIFVOU1BFQ19WUFJFRElDQVRFKQ0KICAgICAg ICAgICAgKHJlZzpWTngyREYgMTQyIFsgdmVjdF9fMjAuMjkgXSkNCiAgICAg ICAgICAgIChtZW06Vk54MkRGIChyZWcvZjpESSAxNDEgWyB2ZWN0cF9kc3Qy LjMwIF0pIFsxIE1FTSA8dmVjdG9yKFsyLDJdKSBkb3VibGU+IFsoZG91Ymxl ICopdmVjdHBfZHN0Mi4zMF83M10rMCBTWzE2LCAxNl0gQTY0XSkpKSAiL2Fw cC9leGFtcGxlLmNwcCI6MTc6MSBkaXNjcmltIDMgMTIwMSB7cHJlZF9zdG9y ZXZueDJkZn0NCiAgICAgKGV4cHJfbGlzdDpSRUdfREVBRCAocmVnOlZOeDJE RiAxNDIgWyB2ZWN0X18yMC4yOSBdKQ0KICAgICAgICAobmlsKSkpDQooZGVi dWdfaW5zbiA0NSA0NCA0NiA0IChkZWJ1Z19tYXJrZXIpICIvYXBwL2V4YW1w bGUuY3BwIjoxNzoxIGRpc2NyaW0gMyAtMQ0KICAgICAobmlsKSkNCihpbnNu IDQ2IDQ1IDQ3IDQgKHNldCAocmVnOlZOeDJERiAxNDAgWyB2ZWN0X18yMi4z NCBdKQ0KICAgICAgICAoaWZfdGhlbl9lbHNlOlZOeDJERiAodW5zcGVjOlZO eDJCSSBbDQogICAgICAgICAgICAgICAgICAgIChjb25zdF92ZWN0b3I6Vk54 MkJJIHJlcGVhdCBbDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNv bnN0X2ludCAxIFsweDFdKQ0KICAgICAgICAgICAgICAgICAgICAgICAgXSkN CiAgICAgICAgICAgICAgICAgICAgKHJlZzpESSAxNTcgWyBfMTE3IF0pDQog ICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgMiBbMHgyXSkgcmVwZWF0 ZWQgeDINCiAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCAwIFswXSkN CiAgICAgICAgICAgICAgICAgICAgKHJlZzpTSSA2NiB2bCkNCiAgICAgICAg ICAgICAgICAgICAgKHJlZzpTSSA2NyB2dHlwZSkNCiAgICAgICAgICAgICAg ICBdIFVOU1BFQ19WUFJFRElDQVRFKQ0KICAgICAgICAgICAgKG1lbTpWTngy REYgKHJlZy92L2Y6REkgMTYwIFsgZHN0MyBdKSBbMSBNRU0gPHZlY3Rvcihb MiwyXSkgZG91YmxlPiBbKGRvdWJsZSAqKXZlY3RwX2RzdDMuMzJfNjldKzAg U1sxNiwgMTZdIEE2NF0pDQogICAgICAgICAgICAodW5zcGVjOlZOeDJERiBb DQogICAgICAgICAgICAgICAgICAgIChyZWc6U0kgMCB6ZXJvKQ0KICAgICAg ICAgICAgICAgIF0gVU5TUEVDX1ZVTkRFRikpKSAiL2FwcC9leGFtcGxlLmNw cCI6MTc6MSBkaXNjcmltIDMgMTE1NyB7cHJlZF9tb3Z2bngyZGZ9DQogICAg IChuaWwpKQ0KKGluc24gNDcgNDYgNDggNCAocGFyYWxsZWwgWw0KICAgICAg ICAgICAgKHNldCAocmVnOlZOeDJERiAxMzkgWyB2ZWN0X18yNC4zNiBdKQ0K ICAgICAgICAgICAgICAgIChmbWE6Vk54MkRGIChuZWc6Vk54MkRGIChyZWc6 Vk54MkRGIDE0MyBbIHZlY3RfXzE4LjI3IF0pKQ0KICAgICAgICAgICAgICAg ICAgICAocmVnOlZOeDJERiAxNTAgWyB2ZWN0X184LjEyIF0pDQogICAgICAg ICAgICAgICAgICAgIChyZWc6Vk54MkRGIDE0MCBbIHZlY3RfXzIyLjM0IF0p KSkNCiAgICAgICAgICAgIChjbG9iYmVyIChyZWc6REkgMTcwKSkNCiAgICAg ICAgXSkgIi9hcHAvZXhhbXBsZS5jcHAiOjE3OjEgZGlzY3JpbSAzIDEyNTgy IHsqZm5tYXZueDJkZmRpfQ0KICAgICAoZXhwcl9saXN0OlJFR19ERUFEIChy ZWc6Vk54MkRGIDE0MyBbIHZlY3RfXzE4LjI3IF0pDQogICAgICAgIChleHBy X2xpc3Q6UkVHX0RFQUQgKHJlZzpWTngyREYgMTQwIFsgdmVjdF9fMjIuMzQg XSkNCiAgICAgICAgICAgIChleHByX2xpc3Q6UkVHX1VOVVNFRCAocmVnOkRJ IDE3MCkNCiAgICAgICAgICAgICAgICAobmlsKSkpKSkNCihpbnNuIDQ4IDQ3 IDQ5IDQgKHNldCAobWVtOlZOeDJERiAocmVnL2Y6REkgMTM4IFsgdmVjdHBf ZHN0My4zNyBdKSBbMSBNRU0gPHZlY3RvcihbMiwyXSkgZG91YmxlPiBbKGRv dWJsZSAqKXZlY3RwX2RzdDMuMzdfNjNdKzAgU1sxNiwgMTZdIEE2NF0pDQog ICAgICAgIChpZl90aGVuX2Vsc2U6Vk54MkRGICh1bnNwZWM6Vk54MkJJIFsN CiAgICAgICAgICAgICAgICAgICAgKGNvbnN0X3ZlY3RvcjpWTngyQkkgcmVw ZWF0IFsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50 IDEgWzB4MV0pDQogICAgICAgICAgICAgICAgICAgICAgICBdKQ0KICAgICAg ICAgICAgICAgICAgICAocmVnOkRJIDE1NyBbIF8xMTcgXSkNCiAgICAgICAg ICAgICAgICAgICAgKGNvbnN0X2ludCAwIFswXSkNCiAgICAgICAgICAgICAg ICAgICAgKHJlZzpTSSA2NiB2bCkNCiAgICAgICAgICAgICAgICAgICAgKHJl ZzpTSSA2NyB2dHlwZSkNCiAgICAgICAgICAgICAgICBdIFVOU1BFQ19WUFJF RElDQVRFKQ0KICAgICAgICAgICAgKHJlZzpWTngyREYgMTM5IFsgdmVjdF9f MjQuMzYgXSkNCiAgICAgICAgICAgIChtZW06Vk54MkRGIChyZWcvZjpESSAx MzggWyB2ZWN0cF9kc3QzLjM3IF0pIFsxIE1FTSA8dmVjdG9yKFsyLDJdKSBk b3VibGU+IFsoZG91YmxlICopdmVjdHBfZHN0My4zN182M10rMCBTWzE2LCAx Nl0gQTY0XSkpKSAiL2FwcC9leGFtcGxlLmNwcCI6MTc6MSBkaXNjcmltIDMg MTIwMSB7cHJlZF9zdG9yZXZueDJkZn0NCiAgICAgKGV4cHJfbGlzdDpSRUdf REVBRCAocmVnOlZOeDJERiAxMzkgWyB2ZWN0X18yNC4zNiBdKQ0KICAgICAg ICAobmlsKSkpDQooZGVidWdfaW5zbiA0OSA0OCA1MCA0IChkZWJ1Z19tYXJr ZXIpICIvYXBwL2V4YW1wbGUuY3BwIjoxNzoxIGRpc2NyaW0gMyAtMQ0KICAg ICAobmlsKSkNCihpbnNuIDUwIDQ5IDUxIDQgKHNldCAocmVnOlZOeDJERiAx MzcgWyB2ZWN0X18yNi40MSBdKQ0KICAgICAgICAoaWZfdGhlbl9lbHNlOlZO eDJERiAodW5zcGVjOlZOeDJCSSBbDQogICAgICAgICAgICAgICAgICAgIChj b25zdF92ZWN0b3I6Vk54MkJJIHJlcGVhdCBbDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgKGNvbnN0X2ludCAxIFsweDFdKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgXSkNCiAgICAgICAgICAgICAgICAgICAgKHJlZzpESSAx NTcgWyBfMTE3IF0pDQogICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQg MiBbMHgyXSkgcmVwZWF0ZWQgeDINCiAgICAgICAgICAgICAgICAgICAgKGNv bnN0X2ludCAwIFswXSkNCiAgICAgICAgICAgICAgICAgICAgKHJlZzpTSSA2 NiB2bCkNCiAgICAgICAgICAgICAgICAgICAgKHJlZzpTSSA2NyB2dHlwZSkN CiAgICAgICAgICAgICAgICBdIFVOU1BFQ19WUFJFRElDQVRFKQ0KICAgICAg ICAgICAgKG1lbTpWTngyREYgKHJlZy92L2Y6REkgMTYxIFsgZHN0NCBdKSBb MSBNRU0gPHZlY3RvcihbMiwyXSkgZG91YmxlPiBbKGRvdWJsZSAqKXZlY3Rw X2RzdDQuMzlfNTldKzAgU1sxNiwgMTZdIEE2NF0pDQogICAgICAgICAgICAo dW5zcGVjOlZOeDJERiBbDQogICAgICAgICAgICAgICAgICAgIChyZWc6U0kg MCB6ZXJvKQ0KICAgICAgICAgICAgICAgIF0gVU5TUEVDX1ZVTkRFRikpKSAi L2FwcC9leGFtcGxlLmNwcCI6MTc6MSBkaXNjcmltIDMgMTE1NyB7cHJlZF9t b3Z2bngyZGZ9DQogICAgIChuaWwpKQ0KKGluc24gNTEgNTAgNTIgNCAoc2V0 IChyZWc6Vk54MlNGIDEzNiBbIHZlY3RfXzI4LjQ0IF0pDQogICAgICAgIChp Zl90aGVuX2Vsc2U6Vk54MlNGICh1bnNwZWM6Vk54MkJJIFsNCiAgICAgICAg ICAgICAgICAgICAgKGNvbnN0X3ZlY3RvcjpWTngyQkkgcmVwZWF0IFsNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDEgWzB4MV0p DQogICAgICAgICAgICAgICAgICAgICAgICBdKQ0KICAgICAgICAgICAgICAg ICAgICAocmVnOkRJIDE1NyBbIF8xMTcgXSkNCiAgICAgICAgICAgICAgICAg ICAgKGNvbnN0X2ludCAyIFsweDJdKSByZXBlYXRlZCB4Mg0KICAgICAgICAg ICAgICAgICAgICAoY29uc3RfaW50IDAgWzBdKQ0KICAgICAgICAgICAgICAg ICAgICAocmVnOlNJIDY2IHZsKQ0KICAgICAgICAgICAgICAgICAgICAocmVn OlNJIDY3IHZ0eXBlKQ0KICAgICAgICAgICAgICAgIF0gVU5TUEVDX1ZQUkVE SUNBVEUpDQogICAgICAgICAgICAobWVtOlZOeDJTRiAocmVnL3YvZjpESSAx NjUgWyBiMiBdKSBbMiBNRU0gPHZlY3RvcihbMiwyXSkgZmxvYXQ+IFsoZmxv YXQgKil2ZWN0cF9iMi40Ml81NV0rMCBTWzgsIDhdIEEzMl0pDQogICAgICAg ICAgICAodW5zcGVjOlZOeDJTRiBbDQogICAgICAgICAgICAgICAgICAgIChy ZWc6U0kgMCB6ZXJvKQ0KICAgICAgICAgICAgICAgIF0gVU5TUEVDX1ZVTkRF RikpKSAiL2FwcC9leGFtcGxlLmNwcCI6MTc6MSBkaXNjcmltIDMgMTE1MSB7 cHJlZF9tb3Z2bngyc2Z9DQogICAgIChleHByX2xpc3Q6UkVHX0RFQUQgKHJl ZzpTSSAwIHplcm8pDQogICAgICAgIChuaWwpKSkNCihpbnNuIDUyIDUxIDUz IDQgKHNldCAocmVnOlZOeDJERiAxNzEgWyB2ZWN0X18yOS40NSBdKQ0KICAg ICAgICAoZmxvYXRfZXh0ZW5kOlZOeDJERiAocmVnOlZOeDJTRiAxMzYgWyB2 ZWN0X18yOC40NCBdKSkpICIvYXBwL2V4YW1wbGUuY3BwIjoxNzoxIGRpc2Ny aW0gMyAxMjM5NSB7ZXh0ZW5kdm54MnNmdm54MmRmMn0NCiAgICAgKGV4cHJf bGlzdDpSRUdfREVBRCAocmVnOlZOeDJTRiAxMzYgWyB2ZWN0X18yOC40NCBd KQ0KICAgICAgICAobmlsKSkpDQooaW5zbiA1MyA1MiA1NCA0IChwYXJhbGxl bCBbDQogICAgICAgICAgICAoc2V0IChyZWc6Vk54MkRGIDEzNCBbIHZlY3Rf XzMxLjQ3IF0pDQogICAgICAgICAgICAgICAgKGZtYTpWTngyREYgKG5lZzpW TngyREYgKHJlZzpWTngyREYgMTcxIFsgdmVjdF9fMjkuNDUgXSkpDQogICAg ICAgICAgICAgICAgICAgIChyZWc6Vk54MkRGIDE1MCBbIHZlY3RfXzguMTIg XSkNCiAgICAgICAgICAgICAgICAgICAgKHJlZzpWTngyREYgMTM3IFsgdmVj dF9fMjYuNDEgXSkpKQ0KICAgICAgICAgICAgKGNsb2JiZXIgKHJlZzpESSAx NzIpKQ0KICAgICAgICBdKSAiL2FwcC9leGFtcGxlLmNwcCI6MTc6MSBkaXNj cmltIDMgMTI1ODIgeypmbm1hdm54MmRmZGl9DQogICAgIChleHByX2xpc3Q6 UkVHX0RFQUQgKHJlZzpWTngyREYgMTcxIFsgdmVjdF9fMjkuNDUgXSkNCiAg ICAgICAgKGV4cHJfbGlzdDpSRUdfREVBRCAocmVnOlZOeDJERiAxNTAgWyB2 ZWN0X184LjEyIF0pDQogICAgICAgICAgICAoZXhwcl9saXN0OlJFR19ERUFE IChyZWc6Vk54MkRGIDEzNyBbIHZlY3RfXzI2LjQxIF0pDQogICAgICAgICAg ICAgICAgKGV4cHJfbGlzdDpSRUdfVU5VU0VEIChyZWc6REkgMTcyKQ0KICAg ICAgICAgICAgICAgICAgICAobmlsKSkpKSkpDQooaW5zbiA1NCA1MyA1NSA0 IChzZXQgKG1lbTpWTngyREYgKHJlZy9mOkRJIDE1NSBbIHZlY3RwX2RzdDQu NDggXSkgWzEgTUVNIDx2ZWN0b3IoWzIsMl0pIGRvdWJsZT4gWyhkb3VibGUg Kil2ZWN0cF9kc3Q0LjQ4XzExMV0rMCBTWzE2LCAxNl0gQTY0XSkNCiAgICAg ICAgKGlmX3RoZW5fZWxzZTpWTngyREYgKHVuc3BlYzpWTngyQkkgWw0KICAg ICAgICAgICAgICAgICAgICAoY29uc3RfdmVjdG9yOlZOeDJCSSByZXBlYXQg Ww0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgMSBb MHgxXSkNCiAgICAgICAgICAgICAgICAgICAgICAgIF0pDQogICAgICAgICAg ICAgICAgICAgIChyZWc6REkgMTU3IFsgXzExNyBdKQ0KICAgICAgICAgICAg ICAgICAgICAoY29uc3RfaW50IDAgWzBdKQ0KICAgICAgICAgICAgICAgICAg ICAocmVnOlNJIDY2IHZsKQ0KICAgICAgICAgICAgICAgICAgICAocmVnOlNJ IDY3IHZ0eXBlKQ0KICAgICAgICAgICAgICAgIF0gVU5TUEVDX1ZQUkVESUNB VEUpDQogICAgICAgICAgICAocmVnOlZOeDJERiAxMzQgWyB2ZWN0X18zMS40 NyBdKQ0KICAgICAgICAgICAgKG1lbTpWTngyREYgKHJlZy9mOkRJIDE1NSBb IHZlY3RwX2RzdDQuNDggXSkgWzEgTUVNIDx2ZWN0b3IoWzIsMl0pIGRvdWJs ZT4gWyhkb3VibGUgKil2ZWN0cF9kc3Q0LjQ4XzExMV0rMCBTWzE2LCAxNl0g QTY0XSkpKSAiL2FwcC9leGFtcGxlLmNwcCI6MTc6MSBkaXNjcmltIDMgMTIw MSB7cHJlZF9zdG9yZXZueDJkZn0NCiAgICAgKGV4cHJfbGlzdDpSRUdfREVB RCAocmVnOlZOeDJERiAxMzQgWyB2ZWN0X18zMS40NyBdKQ0KICAgICAgICAo ZXhwcl9saXN0OlJFR19ERUFEIChyZWc6U0kgNjcgdnR5cGUpDQogICAgICAg ICAgICAoZXhwcl9saXN0OlJFR19ERUFEIChyZWc6U0kgNjYgdmwpDQogICAg ICAgICAgICAgICAgKG5pbCkpKSkpDQooZGVidWdfaW5zbiA1NSA1NCA1NiA0 IChkZWJ1Z19tYXJrZXIpICIvYXBwL2V4YW1wbGUuY3BwIjoxNzoxIGRpc2Ny aW0gMyAtMQ0KICAgICAobmlsKSkNCihkZWJ1Z19pbnNuIDU2IDU1IDU3IDQg KHZhcl9sb2NhdGlvbjpTSSBpIChjbG9iYmVyIChjb25zdF9pbnQgMCBbMF0p KSkgLTENCiAgICAgKG5pbCkpDQooZGVidWdfaW5zbiA1NyA1NiA1OCA0IChk ZWJ1Z19tYXJrZXIpICIvYXBwL2V4YW1wbGUuY3BwIjoxNzoxIGRpc2NyaW0g MSAtMQ0KICAgICAobmlsKSkNCihpbnNuIDU4IDU3IDU5IDQgKHNldCAocmVn L3YvZjpESSAxNTggWyBkc3QgXSkNCiAgICAgICAgKHBsdXM6REkgKHJlZy92 L2Y6REkgMTU4IFsgZHN0IF0pDQogICAgICAgICAgICAocmVnOkRJIDE1NCBb IGl2dG1wXzEwNSBdKSkpICIvYXBwL2V4YW1wbGUuY3BwIjoxNzoxIGRpc2Ny aW0gMSA1IHthZGRkaTN9DQogICAgIChuaWwpKQ0KKGluc24gNTkgNTggNjAg NCAoc2V0IChyZWcvdi9mOkRJIDE2MiBbIGEgXSkNCiAgICAgICAgKHBsdXM6 REkgKHJlZy92L2Y6REkgMTYyIFsgYSBdKQ0KICAgICAgICAgICAgKHJlZzpE SSAxNTIgWyBpdnRtcF8xMDEgXSkpKSAiL2FwcC9leGFtcGxlLmNwcCI6MTc6 MSBkaXNjcmltIDEgNSB7YWRkZGkzfQ0KICAgICAobmlsKSkNCihpbnNuIDYw IDU5IDYxIDQgKHNldCAocmVnL3YvZjpESSAxNjMgWyBiIF0pDQogICAgICAg IChwbHVzOkRJIChyZWcvdi9mOkRJIDE2MyBbIGIgXSkNCiAgICAgICAgICAg IChyZWc6REkgMTUyIFsgaXZ0bXBfMTAxIF0pKSkgIi9hcHAvZXhhbXBsZS5j cHAiOjE3OjEgZGlzY3JpbSAxIDUge2FkZGRpM30NCiAgICAgKG5pbCkpDQoo aW5zbiA2MSA2MCA2MiA0IChzZXQgKHJlZy9mOkRJIDE0NiBbIHZlY3RwX2Rz dC4xOSBdKQ0KICAgICAgICAocGx1czpESSAocmVnL2Y6REkgMTQ2IFsgdmVj dHBfZHN0LjE5IF0pDQogICAgICAgICAgICAocmVnOkRJIDE1NCBbIGl2dG1w XzEwNSBdKSkpICIvYXBwL2V4YW1wbGUuY3BwIjoxNzoxIGRpc2NyaW0gMSA1 IHthZGRkaTN9DQogICAgIChuaWwpKQ0KKGluc24gNjIgNjEgNjMgNCAoc2V0 IChyZWcvdi9mOkRJIDE1OSBbIGRzdDIgXSkNCiAgICAgICAgKHBsdXM6REkg KHJlZy92L2Y6REkgMTU5IFsgZHN0MiBdKQ0KICAgICAgICAgICAgKHJlZzpE SSAxNTQgWyBpdnRtcF8xMDUgXSkpKSAiL2FwcC9leGFtcGxlLmNwcCI6MTc6 MSBkaXNjcmltIDEgNSB7YWRkZGkzfQ0KICAgICAobmlsKSkNCihpbnNuIDYz IDYyIDY0IDQgKHNldCAocmVnL3YvZjpESSAxNjQgWyBhMiBdKQ0KICAgICAg ICAocGx1czpESSAocmVnL3YvZjpESSAxNjQgWyBhMiBdKQ0KICAgICAgICAg ICAgKHJlZzpESSAxNTIgWyBpdnRtcF8xMDEgXSkpKSAiL2FwcC9leGFtcGxl LmNwcCI6MTc6MSBkaXNjcmltIDEgNSB7YWRkZGkzfQ0KICAgICAobmlsKSkN CihpbnNuIDY0IDYzIDY1IDQgKHNldCAocmVnL2Y6REkgMTQxIFsgdmVjdHBf ZHN0Mi4zMCBdKQ0KICAgICAgICAocGx1czpESSAocmVnL2Y6REkgMTQxIFsg dmVjdHBfZHN0Mi4zMCBdKQ0KICAgICAgICAgICAgKHJlZzpESSAxNTQgWyBp dnRtcF8xMDUgXSkpKSAiL2FwcC9leGFtcGxlLmNwcCI6MTc6MSBkaXNjcmlt IDEgNSB7YWRkZGkzfQ0KICAgICAobmlsKSkNCihpbnNuIDY1IDY0IDY2IDQg KHNldCAocmVnL3YvZjpESSAxNjAgWyBkc3QzIF0pDQogICAgICAgIChwbHVz OkRJIChyZWcvdi9mOkRJIDE2MCBbIGRzdDMgXSkNCiAgICAgICAgICAgIChy ZWc6REkgMTU0IFsgaXZ0bXBfMTA1IF0pKSkgIi9hcHAvZXhhbXBsZS5jcHAi OjE3OjEgZGlzY3JpbSAxIDUge2FkZGRpM30NCiAgICAgKG5pbCkpDQooaW5z biA2NiA2NSA2NyA0IChzZXQgKHJlZy9mOkRJIDEzOCBbIHZlY3RwX2RzdDMu MzcgXSkNCiAgICAgICAgKHBsdXM6REkgKHJlZy9mOkRJIDEzOCBbIHZlY3Rw X2RzdDMuMzcgXSkNCiAgICAgICAgICAgIChyZWc6REkgMTU0IFsgaXZ0bXBf MTA1IF0pKSkgIi9hcHAvZXhhbXBsZS5jcHAiOjE3OjEgZGlzY3JpbSAxIDUg e2FkZGRpM30NCiAgICAgKG5pbCkpDQooaW5zbiA2NyA2NiA2OCA0IChzZXQg KHJlZy92L2Y6REkgMTYxIFsgZHN0NCBdKQ0KICAgICAgICAocGx1czpESSAo cmVnL3YvZjpESSAxNjEgWyBkc3Q0IF0pDQogICAgICAgICAgICAocmVnOkRJ IDE1NCBbIGl2dG1wXzEwNSBdKSkpICIvYXBwL2V4YW1wbGUuY3BwIjoxNzox IGRpc2NyaW0gMSA1IHthZGRkaTN9DQogICAgIChuaWwpKQ0KKGluc24gNjgg NjcgNjkgNCAoc2V0IChyZWcvdi9mOkRJIDE2NSBbIGIyIF0pDQogICAgICAg IChwbHVzOkRJIChyZWcvdi9mOkRJIDE2NSBbIGIyIF0pDQogICAgICAgICAg ICAocmVnOkRJIDE1MiBbIGl2dG1wXzEwMSBdKSkpICIvYXBwL2V4YW1wbGUu Y3BwIjoxNzoxIGRpc2NyaW0gMSA1IHthZGRkaTN9DQogICAgIChleHByX2xp c3Q6UkVHX0RFQUQgKHJlZzpESSAxNTIgWyBpdnRtcF8xMDEgXSkNCiAgICAg ICAgKG5pbCkpKQ0KKGluc24gNjkgNjggNzAgNCAoc2V0IChyZWcvZjpESSAx NTUgWyB2ZWN0cF9kc3Q0LjQ4IF0pDQogICAgICAgIChwbHVzOkRJIChyZWcv ZjpESSAxNTUgWyB2ZWN0cF9kc3Q0LjQ4IF0pDQogICAgICAgICAgICAocmVn OkRJIDE1NCBbIGl2dG1wXzEwNSBdKSkpICIvYXBwL2V4YW1wbGUuY3BwIjox NzoxIGRpc2NyaW0gMSA1IHthZGRkaTN9DQogICAgIChleHByX2xpc3Q6UkVH X0RFQUQgKHJlZzpESSAxNTQgWyBpdnRtcF8xMDUgXSkNCiAgICAgICAgKG5p bCkpKQ0KKGluc24gNzAgNjkgNzIgNCAoc2V0IChyZWc6REkgMTU2IFsgaXZ0 bXBfMTE1IF0pDQogICAgICAgIChtaW51czpESSAocmVnOkRJIDE1NiBbIGl2 dG1wXzExNSBdKQ0KICAgICAgICAgICAgKHJlZzpESSAxNTcgWyBfMTE3IF0p KSkgIi9hcHAvZXhhbXBsZS5jcHAiOjE3OjEgZGlzY3JpbSAxIDExIHtzdWJk aTN9DQogICAgIChleHByX2xpc3Q6UkVHX0RFQUQgKHJlZzpESSAxNTcgWyBf MTE3IF0pDQogICAgICAgIChuaWwpKSkNCihqdW1wX2luc24gNzIgNzAgNzYg NCAoc2V0IChwYykNCiAgICAgICAgKGlmX3RoZW5fZWxzZSAobmUgKHJlZzpE SSAxNTYgWyBpdnRtcF8xMTUgXSkNCiAgICAgICAgICAgICAgICAoY29uc3Rf aW50IDAgWzBdKSkNCiAgICAgICAgICAgIChsYWJlbF9yZWY6REkgNzEpDQog ICAgICAgICAgICAocGMpKSkgMjQyIHsqYnJhbmNoZGl9DQogICAgIChpbnRf bGlzdDpSRUdfQlJfUFJPQiA4OTQ3ODQ4NjIgKG5pbCkpDQogLT4gNzEpDQoo Y29kZV9sYWJlbCA3NiA3MiA3NyA1IDEgKG5pbCkgWzEgdXNlc10pDQoobm90 ZSA3NyA3NiAwIDUgW2JiIDVdIE5PVEVfSU5TTl9CQVNJQ19CTE9DSykNCg0K OzsgQ29tYmluZXIgdG90YWxzOiA0MCBhdHRlbXB0cywgMzkgc3Vic3RpdHV0 aW9ucyAoMTkgcmVxdWlyaW5nIG5ldyBzcGFjZSksDQo7OyAwIHN1Y2Nlc3Nl cy4= ------=_001_NextPart186402102066_=------