From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail5.wrs.com (mail5.windriver.com [192.103.53.11]) by mail.openembedded.org (Postfix) with ESMTP id 752EE6FF56 for ; Wed, 17 May 2017 06:47:21 +0000 (UTC) Received: from ALA-HCB.corp.ad.wrs.com (ala-hcb.corp.ad.wrs.com [147.11.189.41]) by mail5.wrs.com (8.15.2/8.15.2) with ESMTPS id v4H6lK8p029302 (version=TLSv1 cipher=AES128-SHA bits=128 verify=OK); Tue, 16 May 2017 23:47:21 -0700 Received: from ALA-MBC.corp.ad.wrs.com ([fe80::fcbe:9b7:1141:89a1]) by ALA-HCB.corp.ad.wrs.com ([147.11.189.41]) with mapi id 14.03.0294.000; Tue, 16 May 2017 23:47:20 -0700 From: "Huang, Jie (Jackie)" To: Martin Jansa Thread-Topic: [oe] [meta-networking][PATCH 2/3] freediameter: add new recipe Thread-Index: AQHSzlFYE3NMoAW+7U2I/Tk6Gxg8kaH3tRcwgADSLgD//443oA== Date: Wed, 17 May 2017 06:47:19 +0000 Message-ID: <1B858668EC6A94408DCA5225FDFA85AA014B76FDEC@ALA-MBC.corp.ad.wrs.com> References: <1740ba75071e18af3d95966ac84e8c959397b83e.1494572274.git.jackie.huang@windriver.com> <20170516143351.GD3088@jama> <1B858668EC6A94408DCA5225FDFA85AA014B76F851@ALA-MBC.corp.ad.wrs.com> In-Reply-To: Accept-Language: en-US, zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [128.224.176.98] MIME-Version: 1.0 X-Content-Filtered-By: Mailman/MimeDel 2.1.12 Cc: "openembedded-devel@lists.openembedded.org" Subject: Re: [meta-networking][PATCH 2/3] freediameter: add new recipe X-BeenThere: openembedded-devel@lists.openembedded.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Using the OpenEmbedded metadata to build Distributions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 May 2017 06:47:22 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VGhhbmtzLCBJIHdpbGwgaW52ZXN0aWdhdGUgaWYgbGtzY3RwLXRvb2xzIGNhbiBiZSBmaXhlZCBl YXNpbHksIGlmIG5vdCwgSSB3aWxsIHNraXAgdGhlIHJlY2lwZSBhcyB5b3Ugc3VnZ2VzdC4NCg0K VGhhbmtzLA0KSmFja2llDQoNCkZyb206IE1hcnRpbiBKYW5zYSBbbWFpbHRvOm1hcnRpbi5qYW5z YUBnbWFpbC5jb21dDQpTZW50OiBXZWRuZXNkYXksIE1heSAxNywgMjAxNyAxNDozMg0KVG86IEh1 YW5nLCBKaWUgKEphY2tpZSkNCkNjOiBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVk ZGVkLm9yZw0KU3ViamVjdDogUmU6IFtvZV0gW21ldGEtbmV0d29ya2luZ11bUEFUQ0ggMi8zXSBm cmVlZGlhbWV0ZXI6IGFkZCBuZXcgcmVjaXBlDQoNCk9yIHlvdSBjYW4gU2tpcCB0aGlzIHJlY2lw ZSB3aGVuIGxkLWlzLWdvbGQgaXMgdXNlZCAod2l0aCBjb21tZW50IGV4cGxhaW5pbmcgdGhhdCBp dCdzIGJlY2F1c2Ugb2YgbGtzY3RwLXRvb2xzKS4NCg0KT24gV2VkLCBNYXkgMTcsIDIwMTcgYXQg MzowNiBBTSwgSHVhbmcsIEppZSAoSmFja2llKSA8SmFja2llLkh1YW5nQHdpbmRyaXZlci5jb208 bWFpbHRvOkphY2tpZS5IdWFuZ0B3aW5kcml2ZXIuY29tPj4gd3JvdGU6DQoNCg0KPiAtLS0tLU9y aWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBNYXJ0aW4gSmFuc2EgW21haWx0bzptYXJ0aW4u amFuc2FAZ21haWwuY29tPG1haWx0bzptYXJ0aW4uamFuc2FAZ21haWwuY29tPl0NCj4gU2VudDog VHVlc2RheSwgTWF5IDE2LCAyMDE3IDIyOjM0DQo+IFRvOiBIdWFuZywgSmllIChKYWNraWUpDQo+ IENjOiBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZzxtYWlsdG86b3Bl bmVtYmVkZGVkLWRldmVsQGxpc3RzLm9wZW5lbWJlZGRlZC5vcmc+DQo+IFN1YmplY3Q6IFJlOiBb b2VdIFttZXRhLW5ldHdvcmtpbmddW1BBVENIIDIvM10gZnJlZWRpYW1ldGVyOiBhZGQgbmV3IHJl Y2lwZQ0KPg0KPiBPbiBGcmksIE1heSAxMiwgMjAxNyBhdCAwMzowOTowMVBNICswODAwLCBqYWNr aWUuaHVhbmdAd2luZHJpdmVyLmNvbTxtYWlsdG86amFja2llLmh1YW5nQHdpbmRyaXZlci5jb20+ IHdyb3RlOg0KPiA+IEZyb206IEphY2tpZSBIdWFuZyA8amFja2llLmh1YW5nQHdpbmRyaXZlci5j b208bWFpbHRvOmphY2tpZS5odWFuZ0B3aW5kcml2ZXIuY29tPj4NCj4gPg0KPiA+IGZyZWVEaWFt ZXRlciBpcyBhbiBvcGVuIHNvdXJjZSBEaWFtZXRlciBwcm90b2NvbA0KPiA+IGltcGxlbWVudGF0 aW9uLiBJdCBwcm92aWRlcyBhbiBleHRlbnNpYmxlIHBsYXRmb3JtDQo+ID4gZm9yIGRlcGxveWlu ZyBhIERpYW1ldGVyIG5ldHdvcmsgZm9yIHlvdXIgQXV0aGVudGljYXRpb24sDQo+ID4gQXV0aG9y aXphdGlvbiBhbmQgQWNjb3VudGluZyBuZWVkcy4NCj4NCj4gbGtzY3RwLXRvb2xzIGlzIGJsYWNr bGlzdGVkIGZvciBidWlsZHMgd2l0aCBnb2xkIGNhdXNpbmc6DQoNClNvcnJ5IEkgZGlkbid0IGJ1 aWxkIHdpdGggZ29sZCBzbyBJIGRpZG4ndCBtZWV0IHRoZSBpc3N1ZSwgc28gSSBuZWVkIHRvIHdh aXQNCnVudGlsIGxrc2N0cC10b29scyBpcyBmaXhlZCBmb3IgYnVpbGRzIHdpdGggZ29sZCBvciBJ IG5lZWQgdG8gZml4IGl0IG15c2VsZiwgcmlnaHQ/DQoNClRoYW5rcywNCkphY2tpZQ0KDQo+DQo+ IEVSUk9SOiBOb3RoaW5nIFBST1ZJREVTICdsa3NjdHAtdG9vbHMnIChidXQgL2hvbWUvamVua2lu cy9vZS93b3JsZC9zaHItDQo+IGNvcmUvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5n L3JlY2lwZXMtDQo+IHByb3RvY29scy9mcmVlZGlhbWV0ZXIvZnJlZWRpYW1ldGVyXzEuMi4xLmJi PGh0dHA6Ly9mcmVlZGlhbWV0ZXJfMS4yLjEuYmI+IERFUEVORFMgb24gb3Igb3RoZXJ3aXNlDQo+ IHJlcXVpcmVzIGl0KQ0KPiBFUlJPUjogbGtzY3RwLXRvb2xzIHdhcyBza2lwcGVkOiBSZWNpcGUg aXMgYmxhY2tsaXN0ZWQ6IEJST0tFTjogZmFpbHMgdG8gbGluaw0KPiBhZ2FpbnN0IHNjdHBfY29u bmVjdHggc3ltYm9sDQo+IEVSUk9SOiBOb3RoaW5nIFJQUk9WSURFUyAnZnJlZWRpYW1ldGVyJyAo YnV0IC9ob21lL2plbmtpbnMvb2Uvd29ybGQvc2hyLQ0KPiBjb3JlL21ldGEtb3BlbmVtYmVkZGVk L21ldGEtbmV0d29ya2luZy9yZWNpcGVzLQ0KPiBwcm90b2NvbHMvZnJlZWRpYW1ldGVyL2ZyZWVk aWFtZXRlcl8xLjIuMS5iYjxodHRwOi8vZnJlZWRpYW1ldGVyXzEuMi4xLmJiPiBSREVQRU5EUyBv biBvciBvdGhlcndpc2UNCj4gcmVxdWlyZXMgaXQpDQo+IEVSUk9SOiBObyBlbGlnaWJsZSBSUFJP VklERVJzIGV4aXN0IGZvciAnZnJlZWRpYW1ldGVyJw0KPiBOT1RFOiBSdW50aW1lIHRhcmdldCAn ZnJlZWRpYW1ldGVyJyBpcyB1bmJ1aWxkYWJsZSwgcmVtb3ZpbmcuLi4NCj4gTWlzc2luZyBvciB1 bmJ1aWxkYWJsZSBkZXBlbmRlbmN5IGNoYWluIHdhczogWydmcmVlZGlhbWV0ZXInXQ0KPiBFUlJP UjogTm90aGluZyBSUFJPVklERVMgJ2ZyZWVkaWFtZXRlci1kZXYnIChidXQNCj4gL2hvbWUvamVu a2lucy9vZS93b3JsZC9zaHItY29yZS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLQ0KPiBuZXR3b3Jr aW5nL3JlY2lwZXMtcHJvdG9jb2xzL2ZyZWVkaWFtZXRlci9mcmVlZGlhbWV0ZXJfMS4yLjEuYmI8 aHR0cDovL2ZyZWVkaWFtZXRlcl8xLjIuMS5iYj4gUkRFUEVORFMNCj4gb24gb3Igb3RoZXJ3aXNl IHJlcXVpcmVzIGl0KQ0KPiBFUlJPUjogTm8gZWxpZ2libGUgUlBST1ZJREVScyBleGlzdCBmb3Ig J2ZyZWVkaWFtZXRlci1kZXYnDQo+IE5PVEU6IFJ1bnRpbWUgdGFyZ2V0ICdmcmVlZGlhbWV0ZXIt ZGV2JyBpcyB1bmJ1aWxkYWJsZSwgcmVtb3ZpbmcuLi4NCj4gTWlzc2luZyBvciB1bmJ1aWxkYWJs ZSBkZXBlbmRlbmN5IGNoYWluIHdhczogWydmcmVlZGlhbWV0ZXItZGV2J10NCj4NCj4gPg0KPiA+ IFNpZ25lZC1vZmYtYnk6IEphY2tpZSBIdWFuZyA8amFja2llLmh1YW5nQHdpbmRyaXZlci5jb208 bWFpbHRvOmphY2tpZS5odWFuZ0B3aW5kcml2ZXIuY29tPj4NCj4gPiAtLS0NCj4gPiAgLi4ubXVy aGFzaC1hbGdvcml0aG0td2l0aC1Sb2JlcnQtSmVua2luLXMtaGEucGF0Y2ggfCAyMjMNCj4gKysr KysrKysrKysrKysrKysrKysrDQo+ID4gIC4uLi9mcmVlZGlhbWV0ZXIvZmlsZXMvZnJlZWRpYW1l dGVyLmluaXQgICAgICAgICAgIHwgIDcyICsrKysrKysNCj4gPiAgLi4uL2ZyZWVkaWFtZXRlci9m aWxlcy9mcmVlZGlhbWV0ZXIuc2VydmljZSAgICAgICAgfCAgMTEgKw0KPiA+ICAuLi4vZnJlZWRp YW1ldGVyL2ZpbGVzL2luc3RhbGxfdGVzdC5wYXRjaCAgICAgICAgICB8ICAyMiArKw0KPiA+ICAu Li4vZnJlZWRpYW1ldGVyL2ZpbGVzL3Bhc3MtcHRlc3QtZW52LnBhdGNoICAgICAgICB8ICA3MiAr KysrKysrDQo+ID4gIC4uLi9yZWNpcGVzLXByb3RvY29scy9mcmVlZGlhbWV0ZXIvZmlsZXMvcnVu LXB0ZXN0IHwgIDExICsNCj4gPiAgLi4uL2ZyZWVkaWFtZXRlci9mcmVlZGlhbWV0ZXIuaW5jICAg ICAgICAgICAgICAgICAgfCAgOTggKysrKysrKysrDQo+ID4gIC4uLi9mcmVlZGlhbWV0ZXIvZnJl ZWRpYW1ldGVyXzEuMi4xLmJiPGh0dHA6Ly9mcmVlZGlhbWV0ZXJfMS4yLjEuYmI+ICAgICAgICAg ICAgIHwgICA3ICsNCj4gPiAgOCBmaWxlcyBjaGFuZ2VkLCA1MTYgaW5zZXJ0aW9ucygrKQ0KPiA+ ICBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtDQo+IHByb3RvY29s cy9mcmVlZGlhbWV0ZXIvZmlsZXMvUmVwbGFjZS1tdXJtdXJoYXNoLWFsZ29yaXRobS13aXRoLVJv YmVydC0NCj4gSmVua2luLXMtaGEucGF0Y2gNCj4gPiAgY3JlYXRlIG1vZGUgMTAwNzU1IG1ldGEt bmV0d29ya2luZy9yZWNpcGVzLQ0KPiBwcm90b2NvbHMvZnJlZWRpYW1ldGVyL2ZpbGVzL2ZyZWVk aWFtZXRlci5pbml0DQo+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLW5ldHdvcmtpbmcvcmVj aXBlcy0NCj4gcHJvdG9jb2xzL2ZyZWVkaWFtZXRlci9maWxlcy9mcmVlZGlhbWV0ZXIuc2Vydmlj ZQ0KPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtDQo+IHBy b3RvY29scy9mcmVlZGlhbWV0ZXIvZmlsZXMvaW5zdGFsbF90ZXN0LnBhdGNoDQo+ID4gIGNyZWF0 ZSBtb2RlIDEwMDY0NCBtZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy0NCj4gcHJvdG9jb2xzL2ZyZWVk aWFtZXRlci9maWxlcy9wYXNzLXB0ZXN0LWVudi5wYXRjaA0KPiA+ICBjcmVhdGUgbW9kZSAxMDA2 NDQgbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtDQo+IHByb3RvY29scy9mcmVlZGlhbWV0ZXIvZmls ZXMvcnVuLXB0ZXN0DQo+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLW5ldHdvcmtpbmcvcmVj aXBlcy0NCj4gcHJvdG9jb2xzL2ZyZWVkaWFtZXRlci9mcmVlZGlhbWV0ZXIuaW5jDQo+ID4gIGNy ZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy0NCj4gcHJvdG9jb2xzL2Zy ZWVkaWFtZXRlci9mcmVlZGlhbWV0ZXJfMS4yLjEuYmI8aHR0cDovL2ZyZWVkaWFtZXRlcl8xLjIu MS5iYj4NCj4gPg0KPiA+IGRpZmYgLS1naXQgYS9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90 b2NvbHMvZnJlZWRpYW1ldGVyL2ZpbGVzL1JlcGxhY2UtDQo+IG11cm11cmhhc2gtYWxnb3JpdGht LXdpdGgtUm9iZXJ0LUplbmtpbi1zLWhhLnBhdGNoIGIvbWV0YS0NCj4gbmV0d29ya2luZy9yZWNp cGVzLXByb3RvY29scy9mcmVlZGlhbWV0ZXIvZmlsZXMvUmVwbGFjZS1tdXJtdXJoYXNoLQ0KPiBh bGdvcml0aG0td2l0aC1Sb2JlcnQtSmVua2luLXMtaGEucGF0Y2gNCj4gPiBuZXcgZmlsZSBtb2Rl IDEwMDY0NA0KPiA+IGluZGV4IDAwMDAwMDAwMC4uNzFhNWExYWU0DQo+ID4gLS0tIC9kZXYvbnVs bA0KPiA+ICsrKyBiL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9mcmVlZGlhbWV0 ZXIvZmlsZXMvUmVwbGFjZS0NCj4gbXVybXVyaGFzaC1hbGdvcml0aG0td2l0aC1Sb2JlcnQtSmVu a2luLXMtaGEucGF0Y2gNCj4gPiBAQCAtMCwwICsxLDIyMyBAQA0KPiA+ICtSZXBsYWNlIG11cm11 cmhhc2ggYWxnb3JpdGhtIHdpdGggUm9iZXJ0IEplbmtpbidzIGhhc2ggYWxnb3JpdGhtDQo+ID4g Kw0KPiA+ICtVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcNCj4gPiArDQo+ID4gK0Zyb20gdGVzdCBy ZXN1bHQsIG11cm11cmhhc2ggYWxnb3JpdGhtIGRvZXMgbm90IHdvcmsgaW4gYmlnIGVuZGlhbg0K PiA+ICtwcm9jZXNzb3IsIHNvIHJlcGxhY2UgaXQgd2l0aCBSb2JlcnQgSmVua2luJ3MgaGFzaCB3 aGljaCBoYXMgd29ya2VkDQo+ID4gK2luIGxpbnV4IGtlcm5lbCBmb3IgbWFueSB5ZWFycyBhbmQg aGFzIG1vcmUgYWRhcHRhYmlsaXR5Lg0KPiA+ICsNCj4gPiArU2lnbmVkLW9mZi1ieTogUm95Lkxp IDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPG1haWx0bzpyb25ncWluZy5saUB3aW5kcml2ZXIu Y29tPj4NCj4gPiArLS0tDQo+ID4gKyBsaWJmZHByb3RvL29zdHIuYyB8ICAxOTIgKysrKysrKysr KysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gPiArIDEgZmls ZSBjaGFuZ2VkLCA3NCBpbnNlcnRpb25zKCspLCAxMTggZGVsZXRpb25zKC0pDQo+ID4gKw0KPiA+ ICtkaWZmIC0tZ2l0IGEvbGliZmRwcm90by9vc3RyLmMgYi9saWJmZHByb3RvL29zdHIuYw0KPiA+ ICtpbmRleCA4ZjI5YjQ4Li5jZTFmNGRkIDEwMDY0NA0KPiA+ICstLS0gYS9saWJmZHByb3RvL29z dHIuYw0KPiA+ICsrKysgYi9saWJmZHByb3RvL29zdHIuYw0KPiA+ICtAQCAtNDMwLDEyOCArNDMw LDg0IEBAIGFmdGVyX3Byb3RvOg0KPiA+ICsNCj4gPiArDQo+ID4gKw0KPiAvKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KPiAq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KPiA+ICstLyogSGFzaCBm dW5jdGlvbiAtLSBjcmVkaXRzIHRvIEF1c3RpbiBBcHBsZWJ5LCB0aGFuayB5b3UgXl4gKi8NCj4g PiArLS8qIFNlZSBodHRwOi8vbXVybXVyaGFzaC5nb29nbGVwYWdlcy5jb20gZm9yIG1vcmUgaW5m b3JtYXRpb24gb24gdGhpcw0KPiBmdW5jdGlvbiAqLw0KPiA+ICstDQo+ID4gKy0vKiB0aGUgc3Ry aW5ncyBhcmUgTk9UIGFsd2F5cyBhbGlnbmVkIHByb3Blcmx5IChleDogcmVjZWl2ZWQgaW4gUkFE SVVTDQo+IG1lc3NhZ2UpLCBzbyB3ZSB1c2UgdGhlIGFsaWduZWQgTXVybXVySGFzaDIgZnVuY3Rp b24gYXMgbmVlZGVkICovDQo+ID4gKy0jZGVmaW5lIF9IQVNIX01JWChoLGssbSkgeyBrICo9IG07 IGsgXj0gayA+PiByOyBrICo9IG07IGggKj0gbTsgaCBePSBrOyB9DQo+ID4gKy11aW50MzJfdCBm ZF9vc19oYXNoICggdWludDhfdCAqIHN0cmluZywgc2l6ZV90IGxlbiApDQo+ID4gKysvKg0KPiA+ ICsrICogUm9iZXJ0IEplbmtpbidzIGhhc2ggZnVuY3Rpb24uDQo+ID4gKysgKiBodHRwOi8vYnVy dGxlYnVydGxlLm5ldC9ib2IvaGFzaC9ldmFoYXNoLmh0bWwNCj4gPiArKyAqIFRoaXMgaXMgaW4g dGhlIHB1YmxpYyBkb21haW4uDQo+ID4gKysgKi8NCj4gPiArKyNkZWZpbmUgbWl4KGEsIGIsIGMp ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gPiArKyAg ZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc DQo+ID4gKysgICAgICAgICAgYSA9IGEgLSBiOyAgYSA9IGEgLSBjOyAgYSA9IGEgXiAoYyA+PiAx Myk7ICAgICAgXA0KPiA+ICsrICAgICAgICAgIGIgPSBiIC0gYzsgIGIgPSBiIC0gYTsgIGIgPSBi IF4gKGEgPDwgOCk7ICAgICAgIFwNCj4gPiArKyAgICAgICAgICBjID0gYyAtIGE7ICBjID0gYyAt IGI7ICBjID0gYyBeIChiID4+IDEzKTsgICAgICBcDQo+ID4gKysgICAgICAgICAgYSA9IGEgLSBi OyAgYSA9IGEgLSBjOyAgYSA9IGEgXiAoYyA+PiAxMik7ICAgICAgXA0KPiA+ICsrICAgICAgICAg IGIgPSBiIC0gYzsgIGIgPSBiIC0gYTsgIGIgPSBiIF4gKGEgPDwgMTYpOyAgICAgIFwNCj4gPiAr KyAgICAgICAgICBjID0gYyAtIGE7ICBjID0gYyAtIGI7ICBjID0gYyBeIChiID4+IDUpOyAgICAg ICBcDQo+ID4gKysgICAgICAgICAgYSA9IGEgLSBiOyAgYSA9IGEgLSBjOyAgYSA9IGEgXiAoYyA+ PiAzKTsgICAgICAgXA0KPiA+ICsrICAgICAgICAgIGIgPSBiIC0gYzsgIGIgPSBiIC0gYTsgIGIg PSBiIF4gKGEgPDwgMTApOyAgICAgIFwNCj4gPiArKyAgICAgICAgICBjID0gYyAtIGE7ICBjID0g YyAtIGI7ICBjID0gYyBeIChiID4+IDE1KTsgICAgICBcDQo+ID4gKysgIH0gd2hpbGUgKDApDQo+ ID4gKysNCj4gPiArK3Vuc2lnbmVkIGhhc2hfcmplbmtpbnMoY29uc3QgY2hhciAqc3RyLCB1bnNp Z25lZCBsZW5ndGgpDQo+ID4gKyB7DQo+ID4gKy0gIHVpbnQzMl90IGhhc2ggPSBsZW47DQo+ID4g Ky0gIHVpbnQ4X3QgKiBkYXRhID0gc3RyaW5nOw0KPiA+ICstDQo+ID4gKy0gIGNvbnN0IHVuc2ln bmVkIGludCBtID0gMHg1YmQxZTk5NTsNCj4gPiArLSAgY29uc3QgaW50IHIgPSAyNDsNCj4gPiAr LSAgaW50IGFsaWduID0gKGxvbmcpc3RyaW5nICYgMzsNCj4gPiArLQ0KPiA+ICstICBpZiAoIWFs aWduIHx8IChsZW4gPCA0KSkgew0KPiA+ICstICAgICAgICAgIC8qIEluIGNhc2UgZGF0YSBpcyBh bGlnbmVkLCBNdXJtdXJIYXNoMiBmdW5jdGlvbiAqLw0KPiA+ICstICAgICAgICAgIHdoaWxlKGxl biA+PSA0KQ0KPiA+ICstICAgICAgICAgIHsNCj4gPiArLSAgICAgICAgICAgICAgICAgIC8qIE1p eCA0IGJ5dGVzIGF0IGEgdGltZSBpbnRvIHRoZSBoYXNoICovDQo+ID4gKy0gICAgICAgICAgICAg ICAgICB1aW50MzJfdCBrID0gKih1aW50MzJfdCAqKWRhdGE7IC8qIFdlIGRvbid0IGNhcmUNCj4g YWJvdXQgdGhlIGJ5dGUgb3JkZXIgKi8NCj4gPiArLQ0KPiA+ICstICAgICAgICAgICAgICAgICAg X0hBU0hfTUlYKGhhc2gsIGssIG0pOw0KPiA+ICstDQo+ID4gKy0gICAgICAgICAgICAgICAgICBk YXRhICs9IDQ7DQo+ID4gKy0gICAgICAgICAgICAgICAgICBsZW4gLT0gNDsNCj4gPiArLSAgICAg ICAgICB9DQo+ID4gKy0NCj4gPiArLSAgICAgICAgICAvKiBIYW5kbGUgdGhlIGxhc3QgZmV3IGJ5 dGVzIG9mIHRoZSBpbnB1dCAqLw0KPiA+ICstICAgICAgICAgIHN3aXRjaChsZW4pIHsNCj4gPiAr LSAgICAgICAgICAgICAgICAgIGNhc2UgMzogaGFzaCBePSBkYXRhWzJdIDw8IDE2Ow0KPiA+ICst ICAgICAgICAgICAgICAgICAgY2FzZSAyOiBoYXNoIF49IGRhdGFbMV0gPDwgODsNCj4gPiArLSAg ICAgICAgICAgICAgICAgIGNhc2UgMTogaGFzaCBePSBkYXRhWzBdOw0KPiA+ICstICAgICAgICAg ICAgICAgICAgICAgICAgICBoYXNoICo9IG07DQo+ID4gKy0gICAgICAgICAgfQ0KPiA+ICstDQo+ ID4gKy0gIH0gZWxzZSB7DQo+ID4gKy0gICAgICAgICAgLyogVW5hbGlnbmVkIGRhdGEsIHVzZSBh bGlnbm1lbnQtc2FmZSBzbG93ZXIgdmVyc2lvbiAqLw0KPiA+ICstDQo+ID4gKy0gICAgICAgICAg LyogUHJlLWxvYWQgdGhlIHRlbXAgcmVnaXN0ZXJzICovDQo+ID4gKy0gICAgICAgICAgdWludDMy X3QgdCA9IDAsIGQgPSAwOw0KPiA+ICstICAgICAgICAgIHN3aXRjaChhbGlnbikNCj4gPiArLSAg ICAgICAgICB7DQo+ID4gKy0gICAgICAgICAgICAgICAgICBjYXNlIDE6IHQgfD0gZGF0YVsyXSA8 PCAxNjsNCj4gPiArLSAgICAgICAgICAgICAgICAgIGNhc2UgMjogdCB8PSBkYXRhWzFdIDw8IDg7 DQo+ID4gKy0gICAgICAgICAgICAgICAgICBjYXNlIDM6IHQgfD0gZGF0YVswXTsNCj4gPiArLSAg ICAgICAgICB9DQo+ID4gKy0gICAgICAgICAgdCA8PD0gKDggKiBhbGlnbik7DQo+ID4gKy0NCj4g PiArLSAgICAgICAgICBkYXRhICs9IDQtYWxpZ247DQo+ID4gKy0gICAgICAgICAgbGVuIC09IDQt YWxpZ247DQo+ID4gKy0NCj4gPiArLSAgICAgICAgICAvKiBGcm9tIHRoaXMgcG9pbnQsICJkYXRh IiBjYW4gYmUgcmVhZCBieSBjaHVua3Mgb2YgNCBieXRlcyAqLw0KPiA+ICstDQo+ID4gKy0gICAg ICAgICAgaW50IHNsID0gOCAqICg0LWFsaWduKTsNCj4gPiArLSAgICAgICAgICBpbnQgc3IgPSA4 ICogYWxpZ247DQo+ID4gKy0NCj4gPiArLSAgICAgICAgICAvKiBNaXggKi8NCj4gPiArLSAgICAg ICAgICB3aGlsZShsZW4gPj0gNCkNCj4gPiArLSAgICAgICAgICB7DQo+ID4gKy0gICAgICAgICAg ICAgICAgICB1aW50MzJfdCBrOw0KPiA+ICstDQo+ID4gKy0gICAgICAgICAgICAgICAgICBkID0g Kih1bnNpZ25lZCBpbnQgKilkYXRhOw0KPiA+ICstICAgICAgICAgICAgICAgICAgayA9ICh0ID4+ IHNyKSB8IChkIDw8IHNsKTsNCj4gPiArLQ0KPiA+ICstICAgICAgICAgICAgICAgICAgX0hBU0hf TUlYKGhhc2gsIGssIG0pOw0KPiA+ICstDQo+ID4gKy0gICAgICAgICAgICAgICAgICB0ID0gZDsN Cj4gPiArLQ0KPiA+ICstICAgICAgICAgICAgICAgICAgZGF0YSArPSA0Ow0KPiA+ICstICAgICAg ICAgICAgICAgICAgbGVuIC09IDQ7DQo+ID4gKy0gICAgICAgICAgfQ0KPiA+ICstDQo+ID4gKy0g ICAgICAgICAgLyogSGFuZGxlIGxlZnRvdmVyIGRhdGEgaW4gdGVtcCByZWdpc3RlcnMgKi8NCj4g PiArLSAgICAgICAgICBkID0gMDsNCj4gPiArLSAgICAgICAgICBpZihsZW4gPj0gYWxpZ24pDQo+ ID4gKy0gICAgICAgICAgew0KPiA+ICstICAgICAgICAgICAgICAgICAgdWludDMyX3QgazsNCj4g PiArLQ0KPiA+ICstICAgICAgICAgICAgICAgICAgc3dpdGNoKGFsaWduKQ0KPiA+ICstICAgICAg ICAgICAgICAgICAgew0KPiA+ICstICAgICAgICAgICAgICAgICAgY2FzZSAzOiBkIHw9IGRhdGFb Ml0gPDwgMTY7DQo+ID4gKy0gICAgICAgICAgICAgICAgICBjYXNlIDI6IGQgfD0gZGF0YVsxXSA8 PCA4Ow0KPiA+ICstICAgICAgICAgICAgICAgICAgY2FzZSAxOiBkIHw9IGRhdGFbMF07DQo+ID4g Ky0gICAgICAgICAgICAgICAgICB9DQo+ID4gKy0NCj4gPiArLSAgICAgICAgICAgICAgICAgIGsg PSAodCA+PiBzcikgfCAoZCA8PCBzbCk7DQo+ID4gKy0gICAgICAgICAgICAgICAgICBfSEFTSF9N SVgoaGFzaCwgaywgbSk7DQo+ID4gKy0NCj4gPiArLSAgICAgICAgICAgICAgICAgIGRhdGEgKz0g YWxpZ247DQo+ID4gKy0gICAgICAgICAgICAgICAgICBsZW4gLT0gYWxpZ247DQo+ID4gKy0NCj4g PiArLSAgICAgICAgICAgICAgICAgIC8qIEhhbmRsZSB0YWlsIGJ5dGVzICovDQo+ID4gKy0NCj4g PiArLSAgICAgICAgICAgICAgICAgIHN3aXRjaChsZW4pDQo+ID4gKy0gICAgICAgICAgICAgICAg ICB7DQo+ID4gKy0gICAgICAgICAgICAgICAgICBjYXNlIDM6IGhhc2ggXj0gZGF0YVsyXSA8PCAx NjsNCj4gPiArLSAgICAgICAgICAgICAgICAgIGNhc2UgMjogaGFzaCBePSBkYXRhWzFdIDw8IDg7 DQo+ID4gKy0gICAgICAgICAgICAgICAgICBjYXNlIDE6IGhhc2ggXj0gZGF0YVswXTsNCj4gPiAr LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXNoICo9IG07DQo+ID4gKy0gICAg ICAgICAgICAgICAgICB9Ow0KPiA+ICstICAgICAgICAgIH0NCj4gPiArLSAgICAgICAgICBlbHNl DQo+ID4gKy0gICAgICAgICAgew0KPiA+ICstICAgICAgICAgICAgICAgICAgc3dpdGNoKGxlbikN Cj4gPiArLSAgICAgICAgICAgICAgICAgIHsNCj4gPiArLSAgICAgICAgICAgICAgICAgIGNhc2Ug MzogZCB8PSBkYXRhWzJdIDw8IDE2Ow0KPiA+ICstICAgICAgICAgICAgICAgICAgY2FzZSAyOiBk IHw9IGRhdGFbMV0gPDwgODsNCj4gPiArLSAgICAgICAgICAgICAgICAgIGNhc2UgMTogZCB8PSBk YXRhWzBdOw0KPiA+ICstICAgICAgICAgICAgICAgICAgY2FzZSAwOiBoYXNoIF49ICh0ID4+IHNy KSB8IChkIDw8IHNsKTsNCj4gPiArLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBo YXNoICo9IG07DQo+ID4gKy0gICAgICAgICAgICAgICAgICB9DQo+ID4gKy0gICAgICAgICAgfQ0K PiA+ICstDQo+ID4gKysgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmsgPSAoY29uc3QgdW5zaWduZWQg Y2hhciAqKXN0cjsNCj4gPiArKyAgdWludDMyX3QgYSwgYiwgYzsgIC8qIHRoZSBpbnRlcm5hbCBz dGF0ZSAqLw0KPiA+ICsrICB1aW50MzJfdCBsZW47ICAgICAgLyogaG93IG1hbnkga2V5IGJ5dGVz IHN0aWxsIG5lZWQgbWl4aW5nICovDQo+ID4gKysNCj4gPiArKyAgLyogU2V0IHVwIHRoZSBpbnRl cm5hbCBzdGF0ZSAqLw0KPiA+ICsrICBsZW4gPSBsZW5ndGg7DQo+ID4gKysgIGEgPSAweDllMzc3 OWI5OyAgICAgIC8qIHRoZSBnb2xkZW4gcmF0aW87IGFuIGFyYml0cmFyeSB2YWx1ZSAqLw0KPiA+ ICsrICBiID0gYTsNCj4gPiArKyAgYyA9IDA7ICAgICAgICAgICAgICAgLyogdmFyaWFibGUgaW5p dGlhbGl6YXRpb24gb2YgaW50ZXJuYWwgc3RhdGUgKi8NCj4gPiArKw0KPiA+ICsrICAvKiBoYW5k bGUgbW9zdCBvZiB0aGUga2V5ICovDQo+ID4gKysgIHdoaWxlIChsZW4gPj0gMTIpIHsNCj4gPiAr KyAgICAgICAgICBhID0gYSArIChrWzBdICsgKCh1aW50MzJfdClrWzFdIDw8IDgpICsgKCh1aW50 MzJfdClrWzJdIDw8IDE2KSArDQo+ID4gKysgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdClr WzNdIDw8IDI0KSk7DQo+ID4gKysgICAgICAgICAgYiA9IGIgKyAoa1s0XSArICgodWludDMyX3Qp a1s1XSA8PCA4KSArICgodWludDMyX3Qpa1s2XSA8PCAxNikgKw0KPiA+ICsrICAgICAgICAgICAg ICAgICAgICgodWludDMyX3Qpa1s3XSA8PCAyNCkpOw0KPiA+ICsrICAgICAgICAgIGMgPSBjICsg KGtbOF0gKyAoKHVpbnQzMl90KWtbOV0gPDwgOCkgKyAoKHVpbnQzMl90KWtbMTBdIDw8IDE2KSAr DQo+ID4gKysgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdClrWzExXSA8PCAyNCkpOw0KPiA+ ICsrICAgICAgICAgIG1peChhLCBiLCBjKTsNCj4gPiArKyAgICAgICAgICBrID0gayArIDEyOw0K PiA+ICsrICAgICAgICAgIGxlbiA9IGxlbiAtIDEyOw0KPiA+ICsrICB9DQo+ID4gKw0KPiA+ICsr ICAvKiBoYW5kbGUgdGhlIGxhc3QgMTEgYnl0ZXMgKi8NCj4gPiArKyAgYyA9IGMgKyBsZW5ndGg7 DQo+ID4gKysgIHN3aXRjaCAobGVuKSB7ICAgICAgICAgICAgLyogYWxsIHRoZSBjYXNlIHN0YXRl bWVudHMgZmFsbCB0aHJvdWdoICovDQo+ID4gKysgIGNhc2UgMTE6DQo+ID4gKysgICAgICAgICAg YyA9IGMgKyAoKHVpbnQzMl90KWtbMTBdIDw8IDI0KTsNCj4gPiArKyAgY2FzZSAxMDoNCj4gPiAr KyAgICAgICAgICBjID0gYyArICgodWludDMyX3Qpa1s5XSA8PCAxNik7DQo+ID4gKysgIGNhc2Ug OToNCj4gPiArKyAgICAgICAgICBjID0gYyArICgodWludDMyX3Qpa1s4XSA8PCA4KTsNCj4gPiAr KyAgICAgICAgICAvKiB0aGUgZmlyc3QgYnl0ZSBvZiBjIGlzIHJlc2VydmVkIGZvciB0aGUgbGVu Z3RoICovDQo+ID4gKysgIGNhc2UgODoNCj4gPiArKyAgICAgICAgICBiID0gYiArICgodWludDMy X3Qpa1s3XSA8PCAyNCk7DQo+ID4gKysgIGNhc2UgNzoNCj4gPiArKyAgICAgICAgICBiID0gYiAr ICgodWludDMyX3Qpa1s2XSA8PCAxNik7DQo+ID4gKysgIGNhc2UgNjoNCj4gPiArKyAgICAgICAg ICBiID0gYiArICgodWludDMyX3Qpa1s1XSA8PCA4KTsNCj4gPiArKyAgY2FzZSA1Og0KPiA+ICsr ICAgICAgICAgIGIgPSBiICsga1s0XTsNCj4gPiArKyAgY2FzZSA0Og0KPiA+ICsrICAgICAgICAg IGEgPSBhICsgKCh1aW50MzJfdClrWzNdIDw8IDI0KTsNCj4gPiArKyAgY2FzZSAzOg0KPiA+ICsr ICAgICAgICAgIGEgPSBhICsgKCh1aW50MzJfdClrWzJdIDw8IDE2KTsNCj4gPiArKyAgY2FzZSAy Og0KPiA+ICsrICAgICAgICAgIGEgPSBhICsgKCh1aW50MzJfdClrWzFdIDw8IDgpOw0KPiA+ICsr ICBjYXNlIDE6DQo+ID4gKysgICAgICAgICAgYSA9IGEgKyBrWzBdOw0KPiA+ICsrICAgICAgICAg IC8qIGNhc2UgMDogbm90aGluZyBsZWZ0IHRvIGFkZCAqLw0KPiA+ICsgICB9DQo+ID4gKysgIG1p eChhLCBiLCBjKTsNCj4gPiArDQo+ID4gKy0gIC8qIERvIGEgZmV3IGZpbmFsIG1peGVzIG9mIHRo ZSBoYXNoIHRvIGVuc3VyZSB0aGUgbGFzdCBmZXcNCj4gPiArLSAgICAgYnl0ZXMgYXJlIHdlbGwt aW5jb3Jwb3JhdGVkLiAqLw0KPiA+ICstICBoYXNoIF49IGhhc2ggPj4gMTM7DQo+ID4gKy0gIGhh c2ggKj0gbTsNCj4gPiArLSAgaGFzaCBePSBoYXNoID4+IDE1Ow0KPiA+ICsrICByZXR1cm4gYzsN Cj4gPiArK30NCj4gPiArDQo+ID4gKy0gIHJldHVybiBoYXNoOw0KPiA+ICsrdWludDMyX3QgZmRf b3NfaGFzaCAoIHVpbnQ4X3QgKiBzdHJpbmcsIHNpemVfdCBsZW4gKQ0KPiA+ICsrew0KPiA+ICsr ICByZXR1cm4gaGFzaF9yamVua2lucyhzdHJpbmcsIGxlbik7DQo+ID4gKyB9DQo+ID4gKw0KPiA+ ICstLQ0KPiA+ICsxLjcuMTAuNA0KPiA+ICsNCj4gPiBkaWZmIC0tZ2l0IGEvbWV0YS1uZXR3b3Jr aW5nL3JlY2lwZXMtDQo+IHByb3RvY29scy9mcmVlZGlhbWV0ZXIvZmlsZXMvZnJlZWRpYW1ldGVy LmluaXQgYi9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy0NCj4gcHJvdG9jb2xzL2ZyZWVkaWFtZXRl ci9maWxlcy9mcmVlZGlhbWV0ZXIuaW5pdA0KPiA+IG5ldyBmaWxlIG1vZGUgMTAwNzU1DQo+ID4g aW5kZXggMDAwMDAwMDAwLi5lNjNhNDJhN2MNCj4gPiAtLS0gL2Rldi9udWxsDQo+ID4gKysrIGIv bWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtDQo+IHByb3RvY29scy9mcmVlZGlhbWV0ZXIvZmlsZXMv ZnJlZWRpYW1ldGVyLmluaXQNCj4gPiBAQCAtMCwwICsxLDcyIEBADQo+ID4gKyMhL2Jpbi9zaA0K PiA+ICsjDQo+ID4gKyMjIyBCRUdJTiBJTklUIElORk8NCj4gPiArIyBQcm92aWRlczogICAgICAg ICAgZnJlZWRpYW1ldGVyDQo+ID4gKyMgRGVmYXVsdC1TdGFydDogICAgIDIgMyA0IDUNCj4gPiAr IyBEZWZhdWx0LVN0b3A6ICAgICAgMCAxIDYNCj4gPiArIyBSZXF1aXJlZC1TdGFydDogICAgJHJl bW90ZV9mcyAkc3lzbG9nDQo+ID4gKyMgUmVxdWlyZWQtU3RvcDogICAgICRyZW1vdGVfZnMgJHN5 c2xvZw0KPiA+ICsjIFNob3J0LURlc2NyaXB0aW9uOiBTdGFydCBmcmVlRGlhbWV0ZXIgZGFlbW9u IGF0IGJvb3QgdGltZQ0KPiA+ICsjIERlc2NyaXB0aW9uOiAgICAgICBTdGFydCB0aGUgZnJlZURp YW1ldGVyIGRhZW1vbiBhdCBib290IHRpbWUuDQo+ID4gKyMgICAgICAgZnJlZURpYW1ldGVyIGlz IGFuIGV4dGVuc2libGUgaW1wbGVtZW50YXRpb24gb2YgdGhlIERpYW1ldGVyIHByb3RvY29sLA0K PiA+ICsjICAgICAgIGRlc2lnbmVkIGZvciBBdXRoZW50aWNhdGlvbiwgQXV0aG9yaXphdGlvbiBh bmQgQWNjb3VudGluZy4gRGlhbWV0ZXIgaXMNCj4gPiArIyAgICAgICBhbiBldm9sdXRpb24gb2Yg dGhlIFJBRElVUyBwcm90b2NvbC4NCj4gPiArIyMjIEVORCBJTklUIElORk8jDQo+ID4gK0RBRU1P Tj0vdXNyL2Jpbi9mcmVlRGlhbWV0ZXJkDQo+ID4gK0NPTkY9L2V0Yy9mcmVlRGlhbWV0ZXIvZnJl ZURpYW1ldGVyLmNvbmYNCj4gPiArTkFNRT1mcmVlZGlhbWV0ZXINCj4gPiArREVTQz0iZnJlZURp YW1ldGVyIGRhZW1vbiINCj4gPiArDQo+ID4gKy4gL2V0Yy9pbml0LmQvZnVuY3Rpb25zDQo+ID4g K3N0YXJ0KCkgew0KPiA+ICsgICBbIC14ICREQUVNT04gXSB8fCBleGl0IDUNCj4gPiArICAgZWNo byAtbiAkIlN0YXJ0aW5nICREQUVNT046ICINCj4gPiArICAgc3RhcnQtc3RvcC1kYWVtb24gLVMg LWIgLXggJHtEQUVNT059ICYmIHN1Y2Nlc3MgfHwgZmFpbHVyZQ0KPiA+ICsgICByZXR2YWw9JD8N Cj4gPiArICAgZWNobyAiIg0KPiA+ICsgICByZXR1cm4gJHJldHZhbA0KPiA+ICt9DQo+ID4gKw0K PiA+ICtzdG9wKCkgew0KPiA+ICsgICBlY2hvIC1uICQiU3RvcHBpbmcgJHByb2c6ICINCj4gPiAr ICAgc3RhcnQtc3RvcC1kYWVtb24gLUsgLXggJERBRU1PTg0KPiA+ICsgICByZXR2YWw9JD8NCj4g PiArICAgZWNobyAiIg0KPiA+ICsgICByZXR1cm4gJHJldHZhbA0KPiA+ICt9DQo+ID4gKw0KPiA+ ICtyZXN0YXJ0KCkgew0KPiA+ICsgICBzdG9wDQo+ID4gKyAgIHNsZWVwIDMNCj4gPiArICAgc3Rh cnQNCj4gPiArfQ0KPiA+ICsNCj4gPiArcmhfc3RhdHVzKCkgew0KPiA+ICsgICBzdGF0dXMgJERB RU1PTg0KPiA+ICt9DQo+ID4gKw0KPiA+ICtyaF9zdGF0dXNfcSgpIHsNCj4gPiArICAgcmhfc3Rh dHVzID4gL2Rldi9udWxsIDI+JjENCj4gPiArfQ0KPiA+ICsNCj4gPiArY2FzZSAiJDEiIGluDQo+ ID4gKyAgc3RhcnQpDQo+ID4gKyAgIHJoX3N0YXR1c19xICYmIGV4aXQgMA0KPiA+ICsgICBzdGFy dA0KPiA+ICsgICA7Ow0KPiA+ICsgIHN0b3ApDQo+ID4gKyAgIHJoX3N0YXR1c19xIHx8IGV4aXQg MA0KPiA+ICsgICBzdG9wDQo+ID4gKyAgIDs7DQo+ID4gKyAgcmVzdGFydCkNCj4gPiArICAgcmVz dGFydA0KPiA+ICsgICA7Ow0KPiA+ICsgIHN0YXR1cykNCj4gPiArICAgcmhfc3RhdHVzDQo+ID4g KyAgIDs7DQo+ID4gKyAgKikNCj4gPiArICAgZWNobyAkIlVzYWdlOiAkcHJvZyB7c3RhcnR8c3Rv cHxzdGF0dXN8cmVzdGFydH0iDQo+ID4gKyAgIGV4aXQgMg0KPiA+ICtlc2FjDQo+ID4gKw0KPiA+ ICtleGl0ICQ/DQo+ID4gZGlmZiAtLWdpdCBhL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLQ0KPiBw cm90b2NvbHMvZnJlZWRpYW1ldGVyL2ZpbGVzL2ZyZWVkaWFtZXRlci5zZXJ2aWNlIGIvbWV0YS1u ZXR3b3JraW5nL3JlY2lwZXMtDQo+IHByb3RvY29scy9mcmVlZGlhbWV0ZXIvZmlsZXMvZnJlZWRp YW1ldGVyLnNlcnZpY2UNCj4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiA+IGluZGV4IDAwMDAw MDAwMC4uNTE0NDgxYjQzDQo+ID4gLS0tIC9kZXYvbnVsbA0KPiA+ICsrKyBiL21ldGEtbmV0d29y a2luZy9yZWNpcGVzLQ0KPiBwcm90b2NvbHMvZnJlZWRpYW1ldGVyL2ZpbGVzL2ZyZWVkaWFtZXRl ci5zZXJ2aWNlDQo+ID4gQEAgLTAsMCArMSwxMSBAQA0KPiA+ICtbVW5pdF0NCj4gPiArRGVzY3Jp cHRpb249ZnJlZWRpYW1ldGVyIGRhZW1vbg0KPiA+ICtBZnRlcj1uZXR3b3JrLnRhcmdldA0KPiA+ ICsNCj4gPiArW1NlcnZpY2VdDQo+ID4gK1R5cGU9c2ltcGxlDQo+ID4gK1BJREZpbGU9L3Zhci9y dW4vZnJlZWRpYW1ldGVyLnBpZA0KPiA+ICtFeGVjU3RhcnQ9QEJJTkRJUkAvZnJlZURpYW1ldGVy ZA0KPiA+ICsNCj4gPiArW0luc3RhbGxdDQo+ID4gK1dhbnRlZEJ5PW11bHRpLXVzZXIudGFyZ2V0 DQo+ID4gZGlmZiAtLWdpdCBhL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLQ0KPiBwcm90b2NvbHMv ZnJlZWRpYW1ldGVyL2ZpbGVzL2luc3RhbGxfdGVzdC5wYXRjaCBiL21ldGEtbmV0d29ya2luZy9y ZWNpcGVzLQ0KPiBwcm90b2NvbHMvZnJlZWRpYW1ldGVyL2ZpbGVzL2luc3RhbGxfdGVzdC5wYXRj aA0KPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ID4gaW5kZXggMDAwMDAwMDAwLi4xNTEwMzdk NjkNCj4gPiAtLS0gL2Rldi9udWxsDQo+ID4gKysrIGIvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMt DQo+IHByb3RvY29scy9mcmVlZGlhbWV0ZXIvZmlsZXMvaW5zdGFsbF90ZXN0LnBhdGNoDQo+ID4g QEAgLTAsMCArMSwyMiBAQA0KPiA+ICtDTWFrZUxpc3RzOiBhZGQgYW4gb3B0aW9uIHRvIGluc3Rh bGwgdGVzdHMNCj4gPiArDQo+ID4gK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbT0Ug cHRlc3Qgc3BlY2lmaWNdDQo+ID4gKw0KPiA+ICtPcmlnaW5hbCBhdXRob3I6IFlhbyBaaGFvIDx5 YW8uemhhb0B3aW5kcml2ZXIuY29tPG1haWx0bzp5YW8uemhhb0B3aW5kcml2ZXIuY29tPj4NCj4g PiArU2lnbmVkLW9mZi1ieTogSmFja2llIEh1YW5nIDxqYWNraWUuaHVhbmdAd2luZHJpdmVyLmNv bTxtYWlsdG86amFja2llLmh1YW5nQHdpbmRyaXZlci5jb20+Pg0KPiA+ICsNCj4gPiArZGlmZiAt LWdpdCBhL3Rlc3RzL0NNYWtlTGlzdHMudHh0IGIvdGVzdHMvQ01ha2VMaXN0cy50eHQNCj4gPiAr aW5kZXggZGE4ZGExYi4uZGUwNDA1OSAxMDA2NDQNCj4gPiArLS0tIGEvdGVzdHMvQ01ha2VMaXN0 cy50eHQNCj4gPiArKysrIGIvdGVzdHMvQ01ha2VMaXN0cy50eHQNCj4gPiArQEAgLTExMyw0ICsx MTMsOSBAQCBFTkRGT1JFQUNIKCBURVNUICkNCj4gPiArICMjIyMNCj4gPiArICMjIElOU1RBTEwg c2VjdGlvbiAjIw0KPiA+ICsNCj4gPiArLSMgd2UgZG8gbm90IGluc3RhbGwgdGhlIHRlc3RzDQo+ ID4gKysjIGluc3RhbGwgdGhlIHRlc3RzDQo+ID4gKytTRVQoSU5TVEFMTF9URVNUX1NVRkZJWCAg ICAgICAvb3B0LyR7RkRfUFJPSkVDVF9OQU1FfS10ZXN0cyAgIENBQ0hFDQo+IFBBVEggIkRpcmVj dG9yeSB3aGVyZSB0aGUgdGVzdCBiaW5hcnkgaXMgaW5zdGFsbGVkLiIpDQo+ID4gKysNCj4gPiAr K0lOU1RBTEwoVEFSR0VUUyAke1RFU1RfTElTVH0NCj4gPiArKyAgICAgICAgUlVOVElNRSBERVNU SU5BVElPTiAke0lOU1RBTExfVEVTVF9TVUZGSVh9DQo+ID4gKysgICAgICAgIENPTVBPTkVOVCBm cmVlRGlhbWV0ZXItY29tbW9uKQ0KPiA+IGRpZmYgLS1naXQgYS9tZXRhLW5ldHdvcmtpbmcvcmVj aXBlcy1wcm90b2NvbHMvZnJlZWRpYW1ldGVyL2ZpbGVzL3Bhc3MtcHRlc3QtDQo+IGVudi5wYXRj aCBiL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9mcmVlZGlhbWV0ZXIvZmlsZXMv cGFzcy1wdGVzdC0NCj4gZW52LnBhdGNoDQo+ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gPiBp bmRleCAwMDAwMDAwMDAuLmVhODU3YWY3ZA0KPiA+IC0tLSAvZGV2L251bGwNCj4gPiArKysgYi9t ZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvZnJlZWRpYW1ldGVyL2ZpbGVzL3Bhc3Mt cHRlc3QtDQo+IGVudi5wYXRjaA0KPiA+IEBAIC0wLDAgKzEsNzIgQEANCj4gPiArZnJlZWRpYW1l dGVyIHB0ZXN0IGNhc2VzIHRlc3RtZXNnX3N0cmVzcy5jIGFuZCB0ZXN0bG9hZGV4dC5jIG5lZWQg bG9hZA0KPiA+ICtleHRlbnNpb25zIGJvdGggYnVpbGQgdGltZSBhbmQgcnVudGltZS4gVGhlbiB0 aGV5IHNlYXJjaCBleHRlbnNpb25zIHdpdGgNCj4gPiArYnVpbGQgZGlyZWN0b3J5IHRoYXQgY2F1 c2VzIHJ1bnRpbWUgZmFpbHVyZXMuDQo+ID4gKw0KPiA+ICtQYXNzIGFuIGVudmlyb25tZW50IHZh cmlhYmxlIHRvIGRlZmluZSBydW50aW1lIGV4dGVuc2lvbiBwYXRoLg0KPiA+ICsNCj4gPiArVXBz dHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRSBwdGVzdCBzcGVjaWZpY10NCj4gPiArDQo+ ID4gK1NpZ25lZC1vZmYtYnk6IEthaSBLYW5nIDxrYWkua2FuZ0B3aW5kcml2ZXIuY29tPG1haWx0 bzprYWkua2FuZ0B3aW5kcml2ZXIuY29tPj4NCj4gPiArU2lnbmVkLW9mZi1ieTogSmFja2llIEh1 YW5nIDxqYWNraWUuaHVhbmdAd2luZHJpdmVyLmNvbTxtYWlsdG86amFja2llLmh1YW5nQHdpbmRy aXZlci5jb20+Pg0KPiA+ICsNCj4gPiArZGlmZiAtTnVyIGZyZWVEaWFtZXRlci0xLjIuMC5vcmln L3Rlc3RzL3Rlc3Rsb2FkZXh0LmMgZnJlZURpYW1ldGVyLQ0KPiAxLjIuMC90ZXN0cy90ZXN0bG9h ZGV4dC5jDQo+ID4gKy0tLSBmcmVlRGlhbWV0ZXItMS4yLjAub3JpZy90ZXN0cy90ZXN0bG9hZGV4 dC5jICAgIDIwMTQtMDItMTkNCj4gMTc6MzM6MjQuNzg1NDA1MDMyICswODAwDQo+ID4gKysrKyBm cmVlRGlhbWV0ZXItMS4yLjAvdGVzdHMvdGVzdGxvYWRleHQuYyAyMDE0LTAyLTE5DQo+IDIwOjA4 OjAzLjg3MTQwMzkyNCArMDgwMA0KPiA+ICtAQCAtNDksNyArNDksNyBAQA0KPiA+ICsgew0KPiA+ ICsgICBESVIgKmRpcjsNCj4gPiArICAgc3RydWN0IGRpcmVudCAqZHA7DQo+ID4gKy0gIGNoYXIg ZnVsbG5hbWVbNTEyXTsNCj4gPiArKyAgY2hhciBmdWxsbmFtZVsxMDI0XTsNCj4gPiArICAgaW50 IHBhdGhsZW47DQo+ID4gKw0KPiA+ICsgICAvKiBGaXJzdCwgaW5pdGlhbGl6ZSB0aGUgZGFlbW9u IG1vZHVsZXMgKi8NCj4gPiArQEAgLTU3LDExICs1NywxNiBAQA0KPiA+ICsgICBDSEVDSyggMCwg ZmRfcXVldWVzX2luaXQoKSAgKTsNCj4gPiArICAgQ0hFQ0soIDAsIGZkX21zZ19pbml0KCkgICk7 DQo+ID4gKyAgIENIRUNLKCAwLCBmZF9ydGRpc3BfaW5pdCgpICApOw0KPiA+ICstDQo+ID4gKysN Cj4gPiArKyAgY2hhciAqZXh0X2RpciA9IGdldGVudigiRVhURU5TSU9OU19ESVIiKTsNCj4gPiAr KyAgaWYgKGV4dF9kaXIpDQo+ID4gKysgICAgICAgICAgcGF0aGxlbiA9IHNucHJpbnRmKGZ1bGxu YW1lLCBzaXplb2YoZnVsbG5hbWUpLCAiJXMiLCBleHRfZGlyKTsNCj4gPiArKyAgZWxzZQ0KPiA+ ICsrICAgICAgICAgIHBhdGhsZW4gPSBzbnByaW50ZihmdWxsbmFtZSwgc2l6ZW9mKGZ1bGxuYW1l KSwgQlVJTERfRElSDQo+ICIvZXh0ZW5zaW9ucy8iKTsNCj4gPiArKw0KPiA+ICsgICAvKiBGaW5k IGFsbCBleHRlbnNpb25zIHdoaWNoIGhhdmUgYmVlbiBjb21waWxlZCBhbG9uZyB0aGUgdGVzdCAq Lw0KPiA+ICstICBUUkFDRV9ERUJVRyhJTkZPLCAiTG9hZGluZyBmcm9tOiAnJXMnIiwgQlVJTERf RElSICIvZXh0ZW5zaW9ucyIpOw0KPiA+ICstICBDSEVDSyggMCwgKGRpciA9IG9wZW5kaXIgKEJV SUxEX0RJUiAiL2V4dGVuc2lvbnMiKSkgPT0gTlVMTCA/IDEgOiAwICk7DQo+ID4gKy0gIHBhdGhs ZW4gPSBzbnByaW50ZihmdWxsbmFtZSwgc2l6ZW9mKGZ1bGxuYW1lKSwgQlVJTERfRElSICIvZXh0 ZW5zaW9ucy8iKTsNCj4gPiArKyAgVFJBQ0VfREVCVUcoSU5GTywgIkxvYWRpbmcgZnJvbTogJyVz JyIsIGZ1bGxuYW1lKTsNCj4gPiArKyAgQ0hFQ0soIDAsIChkaXIgPSBvcGVuZGlyIChmdWxsbmFt ZSkpID09IE5VTEwgPyAxIDogMCApOw0KPiA+ICsNCj4gPiArICAgd2hpbGUgKChkcCA9IHJlYWRk aXIgKGRpcikpICE9IE5VTEwpIHsNCj4gPiArICAgICAgICAgICBjaGFyICogZG90ID0gc3RycmNo cihkcC0+ZF9uYW1lLCAnLicpOw0KPiA+ICtkaWZmIC1OdXIgZnJlZURpYW1ldGVyLTEuMi4wLm9y aWcvdGVzdHMvdGVzdG1lc2dfc3RyZXNzLmMgZnJlZURpYW1ldGVyLQ0KPiAxLjIuMC90ZXN0cy90 ZXN0bWVzZ19zdHJlc3MuYw0KPiA+ICstLS0gZnJlZURpYW1ldGVyLTEuMi4wLm9yaWcvdGVzdHMv dGVzdG1lc2dfc3RyZXNzLmMgICAgICAgIDIwMTQtMDItMTkNCj4gMTc6MzM6MjQuNzg1NDA1MDMy ICswODAwDQo+ID4gKysrKyBmcmVlRGlhbWV0ZXItMS4yLjAvdGVzdHMvdGVzdG1lc2dfc3RyZXNz LmMgICAgIDIwMTQtMDItMTkNCj4gMjA6MDg6MDMuOTI4NDAzOTI0ICswODAwDQo+ID4gK0BAIC02 NywxNSArNjcsMjAgQEANCj4gPiArIHsNCj4gPiArICAgRElSICpkaXI7DQo+ID4gKyAgIHN0cnVj dCBkaXJlbnQgKmRwOw0KPiA+ICstICBjaGFyIGZ1bGxuYW1lWzUxMl07DQo+ID4gKysgIGNoYXIg ZnVsbG5hbWVbMTAyNF07DQo+ID4gKyAgIGludCBwYXRobGVuOw0KPiA+ICsgICBzdHJ1Y3QgZmRf bGlzdCBhbGxfZXh0ZW5zaW9ucyA9IEZEX0xJU1RfSU5JVElBTElaRVIoYWxsX2V4dGVuc2lvbnMp Ow0KPiA+ICsgICBzdHJ1Y3QgZmRfbGlzdCBleHRfd2l0aF9kZXBlbmRzID0NCj4gRkRfTElTVF9J TklUSUFMSVpFUihleHRfd2l0aF9kZXBlbmRzKTsNCj4gPiArDQo+ID4gKysgIGNoYXIgKmV4dF9k aXIgPSBnZXRlbnYoIkVYVEVOU0lPTlNfRElSIik7DQo+ID4gKysgIGlmIChleHRfZGlyKQ0KPiA+ ICsrICAgICAgICAgIHBhdGhsZW4gPSBzbnByaW50ZihmdWxsbmFtZSwgc2l6ZW9mKGZ1bGxuYW1l KSwgIiVzIiwgZXh0X2Rpcik7DQo+ID4gKysgIGVsc2UNCj4gPiArKyAgICAgICAgICBwYXRobGVu ID0gc25wcmludGYoZnVsbG5hbWUsIHNpemVvZihmdWxsbmFtZSksIEJVSUxEX0RJUg0KPiAiL2V4 dGVuc2lvbnMvIik7DQo+ID4gKysNCj4gPiArICAgLyogRmluZCBhbGwgZXh0ZW5zaW9ucyB3aGlj aCBoYXZlIGJlZW4gY29tcGlsZWQgYWxvbmcgdGhlIHRlc3QgKi8NCj4gPiArLSAgTE9HX0QoIkxv YWRpbmcgJXMqLmZkeCBmcm9tOiAnJXMnIiwgQlVJTERfRElSICIvZXh0ZW5zaW9ucyIsIHByZWZp eCA/Og0KPiAiIik7DQo+ID4gKy0gIENIRUNLKCAwLCAoZGlyID0gb3BlbmRpciAoQlVJTERfRElS ICIvZXh0ZW5zaW9ucyIpKSA9PSBOVUxMID8gMSA6IDAgKTsNCj4gPiArLSAgcGF0aGxlbiA9IHNu cHJpbnRmKGZ1bGxuYW1lLCBzaXplb2YoZnVsbG5hbWUpLCBCVUlMRF9ESVIgIi9leHRlbnNpb25z LyIpOw0KPiA+ICsrICBUUkFDRV9ERUJVRyhJTkZPLCAiTG9hZGluZyBmcm9tOiAnJXMnIiwgZnVs bG5hbWUpOw0KPiA+ICsrICBDSEVDSyggMCwgKGRpciA9IG9wZW5kaXIgKGZ1bGxuYW1lKSkgPT0g TlVMTCA/IDEgOiAwICk7DQo+ID4gKw0KPiA+ICsgICB3aGlsZSAoKGRwID0gcmVhZGRpciAoZGly KSkgIT0gTlVMTCkgew0KPiA+ICsgICAgICAgICAgIGNoYXIgKiBkb3QgPSBzdHJyY2hyKGRwLT5k X25hbWUsICcuJyk7DQo+ID4gZGlmZiAtLWdpdCBhL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXBy b3RvY29scy9mcmVlZGlhbWV0ZXIvZmlsZXMvcnVuLXB0ZXN0DQo+IGIvbWV0YS1uZXR3b3JraW5n L3JlY2lwZXMtcHJvdG9jb2xzL2ZyZWVkaWFtZXRlci9maWxlcy9ydW4tcHRlc3QNCj4gPiBuZXcg ZmlsZSBtb2RlIDEwMDY0NA0KPiA+IGluZGV4IDAwMDAwMDAwMC4uZDBjYThkOTYyDQo+ID4gLS0t IC9kZXYvbnVsbA0KPiA+ICsrKyBiL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9m cmVlZGlhbWV0ZXIvZmlsZXMvcnVuLXB0ZXN0DQo+ID4gQEAgLTAsMCArMSwxMSBAQA0KPiA+ICsj IS9iaW4vc2gNCj4gPiArDQo+ID4gK2lmICEgbHNtb2QgfCBncmVwIC1xIHNjdHAgJiYgISBtb2Rw cm9iZSBzY3RwIDI+L2Rldi9udWxsOyB0aGVuDQo+ID4gKyAgICAgICAgZWNobyAiQ291bGRuJ3Qg bG9hZCBrZXJuZWwgbW9kdWxlIHNjdHAuIg0KPiA+ICsgICAgICAgIGVjaG8gIlRlc3QgY2FzZXMg dGVzdHNjdHAgYW5kIHRlc3Rjbnggd2lsbCBmYWlsLiINCj4gPiArICAgICAgICBlY2hvDQo+ID4g K2ZpDQo+ID4gKw0KPiA+ICtleHBvcnQgRVhURU5TSU9OU19ESVI9JEVYVEVOU0lPTlNfRElSDQo+ ID4gK2NtYWtlICAtRSBjbWFrZV9lY2hvX2NvbG9yIC0tY3lhbiAiUnVubmluZyB0ZXN0cy4uLiIN Cj4gPiArY3Rlc3QgLS1mb3JjZS1uZXctY3Rlc3QtcHJvY2Vzcw0KPiA+IGRpZmYgLS1naXQgYS9t ZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvZnJlZWRpYW1ldGVyL2ZyZWVkaWFtZXRl ci5pbmMNCj4gYi9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvZnJlZWRpYW1ldGVy L2ZyZWVkaWFtZXRlci5pbmMNCj4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiA+IGluZGV4IDAw MDAwMDAwMC4uNjg4MGQyNmYyDQo+ID4gLS0tIC9kZXYvbnVsbA0KPiA+ICsrKyBiL21ldGEtbmV0 d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9mcmVlZGlhbWV0ZXIvZnJlZWRpYW1ldGVyLmluYw0K PiA+IEBAIC0wLDAgKzEsOTggQEANCj4gPiArU1VNTUFSWSA9ICJBbiBvcGVuIHNvdXJjZSBpbXBs ZW1lbnRhdGlvbiBvZiB0aGUgZGlhbWV0ZXIgcHJvdG9jb2wiDQo+ID4gK0RFU0NSSVBUSU9OID0g IlwNCj4gPiArZnJlZURpYW1ldGVyIGlzIGFuIG9wZW4gc291cmNlIERpYW1ldGVyIHByb3RvY29s IGltcGxlbWVudGF0aW9uLiBJdCBcDQo+ID4gK3Byb3ZpZGVzIGFuIGV4dGVuc2libGUgcGxhdGZv cm0gZm9yIGRlcGxveWluZyBhIERpYW1ldGVyIG5ldHdvcmsgZm9yIFwNCj4gPiAreW91ciBBdXRo ZW50aWNhdGlvbiwgQXV0aG9yaXphdGlvbiBhbmQgQWNjb3VudGluZyBuZWVkcy4iDQo+ID4gKw0K PiA+ICtIT01FUEFHRSA9ICJodHRwOi8vd3d3LmZyZWVkaWFtZXRlci5uZXQiDQo+ID4gKw0KPiA+ ICtERVBFTkRTID0gImZsZXggYmlzb24gY21ha2UtbmF0aXZlIGxpYmdjcnlwdCBnbnV0bHMgbGli aWRuIGxrc2N0cC10b29scyINCj4gPiArDQo+ID4gK3BrZ25hbWUgPSAiZnJlZURpYW1ldGVyIg0K PiA+ICsNCj4gPiArU1JDX1VSSSA9DQo+ICJodHRwOi8vd3d3LmZyZWVkaWFtZXRlci5uZXQvaGcv JHtwa2duYW1lfS9hcmNoaXZlLyR7UFZ9LnRhci5nejtkb3dubG9hZGZpPGh0dHA6Ly93d3cuZnJl ZWRpYW1ldGVyLm5ldC9oZy8kJTdicGtnbmFtZSU3ZC9hcmNoaXZlLyQlN2JQViU3ZC50YXIuZ3o7 ZG93bmxvYWRmaT4NCj4gbGVuYW1lPSR7cGtnbmFtZX0tJHtQVn0udGFyLmd6IFwNCj4gPiArICAg ICAgICAgICBmaWxlOi8vUmVwbGFjZS1tdXJtdXJoYXNoLWFsZ29yaXRobS13aXRoLVJvYmVydC1K ZW5raW4tcy1oYS5wYXRjaCBcDQo+ID4gKyAgICAgICAgICAgZmlsZTovL2ZyZWVkaWFtZXRlci5z ZXJ2aWNlIFwNCj4gPiArICAgICAgICAgICBmaWxlOi8vZnJlZWRpYW1ldGVyLmluaXQgXA0KPiA+ ICsgICAgICAgICAgIFwNCj4gPiArICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElT VFJPX0ZFQVRVUkVTJywgJ3B0ZXN0JywgXA0KPiA+ICsgICAgICAgICAgICdmaWxlOi8vaW5zdGFs bF90ZXN0LnBhdGNoIFwNCj4gPiArICAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcDQo+ID4g KyAgICAgICAgICAgIGZpbGU6Ly9wYXNzLXB0ZXN0LWVudi5wYXRjaCcsICcnLCBkKX0gXA0KPiA+ ICsgICAgICAgICAgICINCj4gPiArDQo+ID4gK1MgPSAiJHtXT1JLRElSfS8ke3BrZ25hbWV9LSR7 UFZ9Ig0KPiA+ICsNCj4gPiArUFRFU1RfUEFUSCA9ICIke2xpYmRpcn0vJHtwa2duYW1lfS9wdGVz dCINCj4gPiArDQo+ID4gK2luaGVyaXQgY21ha2UgdXBkYXRlLXJjLmQgcHRlc3Qgc3lzdGVtZA0K PiA+ICsNCj4gPiArRVhUUkFfT0VDTUFLRSA9ICIgXA0KPiA+ICsgICAgLURERUZBVUxUX0NPTkZf UEFUSDpQQVRIPSR7c3lzY29uZmRpcn0vJHtwa2duYW1lfSBcDQo+ID4gKyAgICAtREJVSUxEX0RC R19NT05JVE9SOkJPT0w9T04gIFwNCj4gPiArICAgIC1EQlVJTERfVEVTVF9BUFA6Qk9PTD1PTiBc DQo+ID4gKyAgICAtREJVSUxEX1RFU1RJTkc6Qk9PTD1PTiBcDQo+ID4gKyAgICAtREJVSUxEX0FQ UF9SQURHVzpCT09MPU9OIFwNCj4gPiArICAgIC1EQlVJTERfQVBQX1JFRElSRUNUOkJPT0w9T04g XA0KPiA+ICsgICAgLURCVUlMRF9URVNUX0FDQ1Q6Qk9PTD1PTiBcDQo+ID4gKyAgICAtREJVSUxE X1RFU1RfTkVURU1VTDpCT09MPU9OIFwNCj4gPiArICAgIC1EQlVJTERfVEVTVF9SVF9BTlk6Qk9P TD1PTiBcDQo+ID4gKyAgICAtRElOU1RBTExfTElCUkFSWV9TVUZGSVg6UEFUSD0ke2Jhc2VsaWJ9 IFwNCj4gPiArICAgIC1ESU5TVEFMTF9FWFRFTlNJT05TX1NVRkZJWDpQQVRIPSR7YmFzZWxpYn0v JHtwa2duYW1lfSBcDQo+ID4gKyAgICAtRElOU1RBTExfVEVTVF9TVUZGSVg6UEFUSD0ke1BURVNU X1BBVEh9LXRlc3RzIFwNCj4gPiArICAgIC1EQ01BS0VfU0tJUF9SUEFUSDpCT09MPU9OIFwNCj4g PiArIg0KPiA+ICsjIElOU1RBTExfTElCUkFSWV9TVUZGSVggaXMgcmVsYXRpdmUgdG8gQ01BS0Vf SU5TVEFMTF9QUkVGSVgNCj4gPiArIyBzcGVjaWZ5IGl0IG9uIGNtZCBsaW5lIHdpbGwgZml4IHRo ZSBTRVQgYnVnIGluIENNYWtlTGlzdC50eHQNCj4gPiArDQo+ID4gKyMgLURCVUlMRF9BUFBfQUND VDpCT09MPU9OIFRoaXMgbmVlZHMgUE9TVEdSRVNRTCBzdXBwb3J0DQo+ID4gKw0KPiA+ICsjIC1E QlVJTERfQVBQX0RJQU1FQVA6Qk9PTD1PTiAgLURCVUlMRF9BUFBfU0lQOkJPT0w9T04gLQ0KPiBE QlVJTERfVEVTVF9TSVA6Qk9PTD1PTg0KPiA+ICsjIFRoZXNlIG5lZWQgTXlTUUwgc3VwcG9ydA0K PiA+ICsNCj4gPiArIyAtREJVSUxEX0RCR19JTlRFUkFDVElWRTpCT09MPU9OIFRoaXMgbmVlZHMg U1dJRyBzdXBwb3J0DQo+ID4gKw0KPiA+ICsjIC1EQUxMX0VYVEVOU0lPTlM9T04gd2lsbCBlbmFi bGUgYWxsDQo+ID4gKw0KPiA+ICtkb19pbnN0YWxsX2FwcGVuZCgpIHsNCj4gPiArICAgICMgaW5z dGFsbCB0aGUgc2FtcGxlIGNvbmZpZ3VyYXRpb24gZmlsZQ0KPiA+ICsgICAgaW5zdGFsbCAtZCAt bSAwNzU1ICR7RH0ke3N5c2NvbmZkaXJ9LyR7cGtnbmFtZX0NCj4gPiArICAgIGZvciBpIGluICR7 U30vZG9jLyouY29uZi5zYW1wbGU7IGRvDQo+ID4gKyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICRp ICR7RH0ke3N5c2NvbmZkaXJ9LyR7cGtnbmFtZX0vDQo+ID4gKyAgICBkb25lDQo+ID4gKyAgICBt diAke0R9JHtzeXNjb25mZGlyfS8ke3BrZ25hbWV9L2ZyZWVkaWFtZXRlci5jb25mLnNhbXBsZSBc DQo+ID4gKyAgICAgICR7RH0ke3N5c2NvbmZkaXJ9LyR7cGtnbmFtZX0vZnJlZURpYW1ldGVyLmNv bmYuc2FtcGxlDQo+ID4gKw0KPiA+ICsgICAgIyBpbnN0YWxsIGRhZW1vbiBpbml0IHJlbGF0ZWQg ZmlsZXMNCj4gPiArICAgIGluc3RhbGwgLWQgLW0gMDc1NSAke0R9JHtzeXNjb25mZGlyfS9kZWZh dWx0DQo+ID4gKyAgICBpbnN0YWxsIC1kIC1tIDA3NTUgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5k DQo+ID4gKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9jb250cmliL2RlYmlhbi9mcmVlZGlhbWV0 ZXItZGFlbW9uLmRlZmF1bHQgXA0KPiA+ICsgICAgICAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0 LyR7QlBOfQ0KPiA+ICsgICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vZnJlZWRpYW1ldGVy LmluaXQNCj4gJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kLyR7QlBOfQ0KPiA+ICsNCj4gPiArICAg ICMgaW5zdGFsbCBmb3Igc3lzdGVtZA0KPiA+ICsgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1k X3N5c3RlbV91bml0ZGlyfQ0KPiA+ICsgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vZnJl ZWRpYW1ldGVyLnNlcnZpY2UNCj4gJHtEfSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0NCj4gPiAr ICAgIHNlZCAtaSAtZSAncyxAQklORElSQCwke2JpbmRpcn0sZycNCj4gJHtEfSR7c3lzdGVtZF9z eXN0ZW1fdW5pdGRpcn0vKi5zZXJ2aWNlDQo+ID4gK30NCj4gPiArDQo+ID4gK2RvX2luc3RhbGxf cHRlc3QoKSB7DQo+ID4gKyAgICBzZWQgLWkgInMjXChFWFRFTlNJT05TX0RJUj1cKS4qXCQjXDEk e2xpYmRpcn0vJHtwa2duYW1lfS8jIg0KPiAke0R9JHtQVEVTVF9QQVRIfS9ydW4tcHRlc3QNCj4g PiArICAgIG12ICR7RH0ke1BURVNUX1BBVEh9LXRlc3RzLyogJHtEfSR7UFRFU1RfUEFUSH0vDQo+ ID4gKyAgICBybWRpciAke0R9JHtQVEVTVF9QQVRIfS10ZXN0cw0KPiA+ICsgICAgaW5zdGFsbCAt bSAwNjQ0ICR7Qn0vdGVzdHMvQ1Rlc3RUZXN0ZmlsZS5jbWFrZSAke0R9JHtQVEVTVF9QQVRIfS8N Cj4gPiArfQ0KPiA+ICsNCj4gPiArRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vJHtwa2du YW1lfS8uZGVidWcvKiINCj4gPiArDQo+ID4gKyMgaW5jbHVkZSB0aGUgZXh0ZW5zaW9ucyBpbiBt YWluIHBhY2thZ2UNCj4gPiArRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS8ke3BrZ25hbWV9Lyoi DQo+ID4gKw0KPiA+ICtSREVQRU5EU18ke1BOfSA9ICJnbGliLTIuMCBnbnV0bHMgbGliaWRuIg0K PiA+ICtSREVQRU5EU18ke1BOfS1wdGVzdCA9ICJjbWFrZSINCj4gPiArDQo+ID4gK0lOSVRTQ1JJ UFRfTkFNRSA9ICIke0JQTn0iDQo+ID4gK0lOSVRTQ1JJUFRfUEFSQU1TID0gInN0YXJ0IDMwIC4g c3RvcCA3MCAwIDEgMiAzIDQgNSA2IC4iDQo+ID4gKw0KPiA+ICtTWVNURU1EX1NFUlZJQ0VfJHtQ Tn0gPSAiZnJlZWRpYW1ldGVyLnNlcnZpY2UiDQo+ID4gK1NZU1RFTURfQVVUT19FTkFCTEUgPSAi ZGlzYWJsZSINCj4gPiBkaWZmIC0tZ2l0IGEvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtDQo+IHBy b3RvY29scy9mcmVlZGlhbWV0ZXIvZnJlZWRpYW1ldGVyXzEuMi4xLmJiPGh0dHA6Ly9mcmVlZGlh bWV0ZXJfMS4yLjEuYmI+IGIvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtDQo+IHByb3RvY29scy9m cmVlZGlhbWV0ZXIvZnJlZWRpYW1ldGVyXzEuMi4xLmJiPGh0dHA6Ly9mcmVlZGlhbWV0ZXJfMS4y LjEuYmI+DQo+ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gPiBpbmRleCAwMDAwMDAwMDAuLjNm YjkyOWFhMA0KPiA+IC0tLSAvZGV2L251bGwNCj4gPiArKysgYi9tZXRhLW5ldHdvcmtpbmcvcmVj aXBlcy0NCj4gcHJvdG9jb2xzL2ZyZWVkaWFtZXRlci9mcmVlZGlhbWV0ZXJfMS4yLjEuYmI8aHR0 cDovL2ZyZWVkaWFtZXRlcl8xLjIuMS5iYj4NCj4gPiBAQCAtMCwwICsxLDcgQEANCj4gPiAraW5j bHVkZSBmcmVlZGlhbWV0ZXIuaW5jDQo+ID4gKw0KPiA+ICtMSUNFTlNFID0gIkJTRCINCj4gPiAr TElDX0ZJTEVTX0NIS1NVTSA9DQo+ICJmaWxlOi8vTElDRU5TRTttZDU9ODkyYjJlZDZhZTgxNTQ4 OGEwODQxNmZmN2VlNzRhMzU8ZmlsZTovLy9cXExJQ0VOU0U7bWQ1PTg5MmIyZWQ2YWU4MTU0ODhh MDg0MTZmZjdlZTc0YTM1PiINCj4gPiArDQo+ID4gK1NSQ19VUklbbWQ1c3VtXSA9ICI2MWIxMDYy YWExNDRiNWYxMmVlZDUxNDYxMWU2ZDY5NyINCj4gPiArU1JDX1VSSVtzaGEyNTZzdW1dID0NCj4g ImJkN2YxMDU1NDJlOTkwM2U3NzZhYTAwNmM2OTMxYzFmNWQzZDQ3N2NiNTlhZjMzYTkxNjI0MjJl ZmE0NzcwOTciDQo+ID4gLS0NCj4gPiAyLjExLjANCj4gPg0KPiA+IC0tDQo+ID4gX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4gPiBPcGVuZW1iZWRkZWQt ZGV2ZWwgbWFpbGluZyBsaXN0DQo+ID4gT3BlbmVtYmVkZGVkLWRldmVsQGxpc3RzLm9wZW5lbWJl ZGRlZC5vcmc8bWFpbHRvOk9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3Jn Pg0KPiA+IGh0dHA6Ly9saXN0cy5vcGVuZW1iZWRkZWQub3JnL21haWxtYW4vbGlzdGluZm8vb3Bl bmVtYmVkZGVkLWRldmVsDQo+DQo+IC0tDQo+IE1hcnRpbiAnSmFNYScgSmFuc2EgICAgIGphYmJl cjogTWFydGluLkphbnNhQGdtYWlsLmNvbTxtYWlsdG86TWFydGluLkphbnNhQGdtYWlsLmNvbT4N Cg0K