From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 134.134.136.100, mailfrom: michael.d.kinney@intel.com) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by groups.io with SMTP; Mon, 05 Aug 2019 15:01:34 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga105.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 05 Aug 2019 15:01:15 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,350,1559545200"; d="scan'208";a="198111880" Received: from orsmsx103.amr.corp.intel.com ([10.22.225.130]) by fmsmga004.fm.intel.com with ESMTP; 05 Aug 2019 15:01:15 -0700 Received: from orsmsx113.amr.corp.intel.com ([169.254.9.177]) by ORSMSX103.amr.corp.intel.com ([169.254.5.108]) with mapi id 14.03.0439.000; Mon, 5 Aug 2019 15:01:15 -0700 From: "Michael D Kinney" To: "devel@edk2.groups.io" , "lersek@redhat.com" , "Justen, Jordan L" , "Kinney, Michael D" CC: "Feng, Bob C" , "Gao, Liming" Subject: Re: [edk2-devel] [Patch 3/3] BaseTools/PatchCheck: Disable text conversion in 'git show' Thread-Topic: [edk2-devel] [Patch 3/3] BaseTools/PatchCheck: Disable text conversion in 'git show' Thread-Index: AQHVSWApKVrhGirT5ECnOGlDsBrEDqbo/sCAgAQXvyA= Date: Mon, 5 Aug 2019 22:01:14 +0000 Message-ID: References: <20190802001314.25980-1-michael.d.kinney@intel.com> <20190802001314.25980-4-michael.d.kinney@intel.com> <156477054101.20290.17514635538979393303@jljusten-skl> <8d511f89-f2a8-4d29-65e3-cc76fee12017@redhat.com> In-Reply-To: <8d511f89-f2a8-4d29-65e3-cc76fee12017@redhat.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.0.600.7 dlp-reaction: no-action x-originating-ip: [10.22.254.139] MIME-Version: 1.0 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 TGFzemxvLA0KDQpUaGUgY29udGV4dCBvZiB0aGlzIGNoYW5nZSBpcyBvbmx5IHRvIHRoZSBQYXRj aENoZWNrLnB5IHRvb2wuDQphbmQgaG93IHRoYXQgdG9vbCB1c2VzIGdpdCBzaG93Lg0KDQpJIGFn cmVlIHdpdGggdGhlIHN1bW1hcnkgb2YgdmVyeSBmbGV4aWJsZSBjYXBhYmlsaXRpZXMgaW4gZ2l0 DQp0byBoZWxwIGRldmVsb3BlcnMgcmV2aWV3IGRpZmZlcmVudCB0eXBlcyBvZiBmaWxlcy4gIEFs bCBvZiANCnRob3NlIHNldHRpbmdzIHRoYXQgd2VyZSBhZGRlZCB0byBzdXBwb3J0IFVOSSBmaWxl cyBpbiBVVEYtMTYNCmZpbGUgZm9ybWF0IHdlcmUgdmVyeSB2YWx1YWJsZSB3aGVuIHdlIGhhZCB0 byByZXZpZXcgdGhlDQp0ZXh0IGNoYW5nZXMgdG8gdGhvc2UgYmluYXJ5IGZpbGVzLiAgV2Ugc2hv dWxkIGJlIHVzaW5nIFVURi04DQpub3csIGFuZCB3ZSBjYW4gZXZlbiBleHRlbmQgUGF0Y2hDaGVj ay5weSB0byBmbGFnIGFuIGVycm9yIGlmDQphIFVOSSBmaWxlIGlzIGluIFVURi0xNiBmb3JtYXQu DQoNCkkgc3RpbGwgcHJlZmVyIHdlIG1ha2UgdGhpcyBjaGFuZ2Ugb25seSB0byBQYXRjaENoZWNr LnB5IHRvDQpwcmV2ZW50IGZhbHNlIHBvc2l0aXZlcyBhbmQgcHJpbnQgbGluZXMgb2YgdGV4dCB0 aGF0IGNhbiANCm5vdCBiZSBmb3VuZCBpbiBhIGRldmVsb3BlcidzIHdvcmtpbmcgZGlyZWN0b3J5 LiAgSSBwcmVmZXINCnRoaXMgb25lIHRpbWUgY2hhbmdlIHRvIFBhdGNoQ2hlY2sucHkgaW5zdGVh ZCBvZiBoYXZpbmcgdG8NCnVwZGF0ZSAuZ2l0YXR0cmlidXRlcyB3aGVuZXZlciB0aGUgZ2l0IHNo b3cgZmVhdHVyZXMgYXJlIA0KZXh0ZW5kZWQgdG8gY29udmVydCBtb3JlIGJpbmFyeSBmaWxlcyB0 byB0ZXh0IGZpbGVzLg0KDQpNeSBleHBlY3RhdGlvbiBpcyB0aGF0IEVESyBJSSBNYWludGFpbmVy cyBuZWVkIHRvIHJldmlldyANCmlmIGEgYmluYXJ5IGZpbGUgaXMgb2sgb3Igbm90IGZvciBhIHJl cG8uICBJIHdvdWxkIGFsc28gYmUNCm9rIHdpdGggYWRkaW5nIGdlbmVyYWwgcnVsZXMgdG8gUGF0 Y2hDaGVjay5weSB0byBnZW5lcmF0ZQ0KYW4gZXJyb3IgaWYgYSBiaW5hcnkgZmlsZSBpcyBhZGRl ZC91cGRhdGVkIGluIG9uZSBvZiB0aGUNCnRleHQgb25seSByZXBvcyAoZWRrMiwgZWRrMi1wbGF0 Zm9ybXMpIGFuZCBub3QgZ2VuZXJhdGUNCmFuIGVycm9yIGlmIGEgYmluYXJ5IGZpbGUgaXMgYWRk ZWQvdXBkYXRlZCBpbiBhIHJlcG8gdGhhdA0Kc3VwcG9ydHMgYmluYXJpZXMgKGVkay1ub24tb3Np KS4NCg0KQmVzdCByZWdhcmRzLA0KDQpNaWtlDQoNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2Ut LS0tLQ0KPiBGcm9tOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPiBbbWFpbHRvOmRldmVsQGVkazIu Z3JvdXBzLmlvXSBPbiBCZWhhbGYgT2YgTGFzemxvIEVyc2VrDQo+IFNlbnQ6IEZyaWRheSwgQXVn dXN0IDIsIDIwMTkgNDo1OCBQTQ0KPiBUbzogSnVzdGVuLCBKb3JkYW4gTCA8am9yZGFuLmwuanVz dGVuQGludGVsLmNvbT47DQo+IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGlu dGVsLmNvbT47DQo+IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+IENjOiBGZW5nLCBCb2IgQyA8Ym9i LmMuZmVuZ0BpbnRlbC5jb20+OyBHYW8sIExpbWluZw0KPiA8bGltaW5nLmdhb0BpbnRlbC5jb20+ DQo+IFN1YmplY3Q6IFJlOiBbZWRrMi1kZXZlbF0gW1BhdGNoIDMvM10NCj4gQmFzZVRvb2xzL1Bh dGNoQ2hlY2s6IERpc2FibGUgdGV4dCBjb252ZXJzaW9uIGluICdnaXQNCj4gc2hvdycNCj4gDQo+ IE9uIDA4LzAyLzE5IDIwOjI5LCBKb3JkYW4gSnVzdGVuIHdyb3RlOg0KPiA+IEZpcnN0LCBJIGhv cGUgd2UgZG9uJ3QgYWRkIGxvdHMgb2YgbGFyZ2UgLnBkZiBmaWxlcw0KPiBpbnRvIHRoZSBzb3Vy Y2UNCj4gPiB0cmVlLiBJIHNlZSB0d28gZHVwbGljYXRlZCA+IDIwMGsgLnBkZiBmaWxlcyBpbiBl ZGsyLA0KPiB3aGljaCBzZWVtcyBsaWtlDQo+ID4gYSB3YXN0ZSBvZiBzcGFjZSBpbiB0aGUgZWRr MiB0cmVlLg0KPiA+DQo+ID4gQmFzZVRvb2xzL1NvdXJjZS9DL0Jyb3RsaUNvbXByZXNzL2RvY3Mv YnJvdGxpLQ0KPiBjb21wYXJpc29uLXN0dWR5LTIwMTUtMDkNCj4gPiAtMjIucGRmDQo+ID4NCj4g TWRlTW9kdWxlUGtnL0xpYnJhcnkvQnJvdGxpQ3VzdG9tRGVjb21wcmVzc0xpYi9kb2NzL2Jybw0K PiB0bGktY29tcGFyaXNvbi0NCj4gPiBzdHVkeS0yMDE1LTA5LTIyLnBkZg0KPiA+DQo+ID4gU2Vj b25kLCBJJ20gbm90IHRvbyBzdXJlIGFib3V0IHRoaXMgY2hhbmdlLiBJdCBzZWVtcw0KPiBsaWtl IGl0IG1pZ2h0DQo+ID4gaGF2ZSB1bmludGVuZGVkIGNvbnNlcXVlbmNlcy4NCj4gPg0KPiA+IE9u ZSB0aG91Z2h0IEkgaGFkIGlzIHRoYXQgaXQgbWlnaHQgYnJlYWsgVVRGLTE2DQo+IHVuaWNvZGUg ZmlsZXMgZGlmZnMsDQo+ID4gYnV0IGx1Y2tpbHkgSSB0aGluayB3ZSd2ZSBwcmV0dHkgbXVjaCBn b3R0ZW4gcmlkIG9mDQo+IFVURi0xNiBmaWxlcyBhdA0KPiA+IHRoaXMgcG9pbnQuDQo+ID4NCj4g PiBJIGFsc28gd29uZGVyIGlmIGFkZGluZyBhIC5wZGYgYXR0cmlidXRlIGxpa2UgTGFzemxvDQo+ IHJlY29tbWVuZHMgZm9yDQo+ID4gLmVmaSBtaWdodCBiZSBhbiBhbHRlcm5hdGl2ZSBzb2x1dGlv bi4NCj4gPg0KPiA+DQo+IGh0dHBzOi8vZ2l0aHViLmNvbS90aWFub2NvcmUvdGlhbm9jb3JlLmdp dGh1Yi5pby93aWtpL0wNCj4gYXN6bG8ncy11bmtlbXB0DQo+ID4gLWdpdC1ndWlkZS1mb3ItZWRr Mi1jb250cmlidXRvcnMtYW5kLQ0KPiBtYWludGFpbmVycyNjb250cmliLTA5DQo+ID4NCj4gPiBX ZSBjb3VsZCBhY3R1YWxseSBhZGQgdGhlc2Ugc2V0dGluZyBpbiB0aGUgZ2l0IHRyZWUNCj4gaW4g YQ0KPiA+IC5naXRhdHRyaWJ1dGVzIGZpbGUsIHJpZ2h0PyBIYXMgdGhpcyBiZWVuIHN1Z2dlc3Rl ZD8NCj4gSSB0aGluayBMYXN6bG8NCj4gPiBkb2N1bWVudGVkIHRoaXMgYmVmb3JlIHdlIGhhZCBj b252ZXJ0ZWQgZWRrMiB0byBnaXQuDQo+IA0KPiBUaGlzIGlzIGEgY29tcGxleCBxdWVzdGlvbi4N Cj4gDQo+IFRoZXJlIGFyZSBmaWxlcyB3aGljaCBhcmUgYmluYXJ5IGZvciBhbGwgaW50ZW50cyBh bmQNCj4gcHVycG9zZXMsIHNvIHlvdSBuZXZlciB3YW50IHRvIHNlZSBhICJ0ZXh0dWFsaXplZCIN Cj4gdmVyc2lvbiBvZiB0aGVtLiBHaXQgY2FuIGF0dGVtcHQgcmVjb2duaXppbmcgdGhlc2UNCj4g ZmlsZXMsIGJ1dCBpdCBjYW4gdGFrZSBoaW50cyB0b28uDQo+IA0KPiBGb3IgdGhlc2UgZmlsZXMs IG9uY2UgdGhleSBhcmUgc2FmZWx5IGNsYXNzaWZpZWQgYXMNCj4gImJpbmFyeSIsIGl0IGlzIGEg c2VwYXJhdGUgcXVlc3Rpb24gd2hldGhlciB5b3Ugd2FudCBhDQo+IGNoYW5nZXNldCBzaG93biAo b3INCj4gZW1haWwtZm9ybWF0dGVkKSBmb3IgdGhlc2UgZmlsZXMgdG8gY29udGFpbiBiYXNlNjQt bGlrZQ0KPiBiaW5hcnkgcGF0Y2hlcywgb3IganVzdCBhIHN0YXRlbWVudCB0aGF0ICJiaW5hcnkg ZmlsZXMNCj4gZGlmZmVyIi4NCj4gDQo+IFRoZW4gdGhlcmUgYXJlIGZpbGVzIHRoYXQgYXJlIGJp bmFyeSwgYnV0IGNhbiBiZQ0KPiAidGV4dHVhbGl6ZWQiIGZvciB0aGUgcHVycG9zZXMgb2YgZGlm ZmluZyBhbmQgZXZlbg0KPiBtZXJnaW5nLiBBdXRvbWF0ZWQgVUNTMjwtPlVURjggY29udmVyc2lv biBpcyBhbg0KPiBleGFtcGxlLCBhbmQgSSB1c2VkIHRoYXQgd2hpbGUgZWRrMiBzdGlsbCBoYWQg VUNTMi0NCj4gZW5jb2RlZCBVTkkgZmlsZXMuDQo+IA0KPiBTb21lIGV4YW1wbGVzIChub3QgY2xh aW1pbmcgdGhpcyBpcyBnb2luZyB0byBiZSBhbg0KPiBleGhhdXN0aXZlIGxpc3QgLS0gZm9yIHRo YXQsIHNlZSBnaXRhdHRyaWJ1dGVzKDUpKSwgdG8NCj4gYmUgcGxhY2VkIGluIC5naXQvaW5mby9h dHRyaWJ1dGVzIChsb2NhbCBjbG9uZSBvbmx5KSBvcg0KPiAuZ2l0YXR0cmlidXRlcyAodHJhY2tl ZCBpbiB0aGUgcmVwbyk6DQo+IA0KPiAqLmVmaSAtZGlmZg0KPiANCj4gVGhpcyBjbGFzc2lmaWVz ICouZWZpIGFzIGJpbmFyeSAodHVybnMgb2ZmIHRoZQ0KPiBoZXVyaXN0aWNzKS4NCj4gDQo+IENv bnNpZGVyIGdpdGF0dHJpYnV0ZXMoNSkgLS0gZXhjZXJwdDoNCj4gDQo+ICAgICAgICBkaWZmDQo+ ICAgICAgICAgICAgVW5zZXQNCj4gICAgICAgICAgICAgICAgQSBwYXRoIHRvIHdoaWNoIHRoZSBk aWZmIGF0dHJpYnV0ZSBpcw0KPiB1bnNldCB3aWxsDQo+ICAgICAgICAgICAgICAgIGdlbmVyYXRl IEJpbmFyeSBmaWxlcyBkaWZmZXIgKG9yIGENCj4gYmluYXJ5IHBhdGNoLCBpZg0KPiAgICAgICAg ICAgICAgICBiaW5hcnkgcGF0Y2hlcyBhcmUgZW5hYmxlZCkuDQo+ICAgICAgICAgICAgVW5zcGVj aWZpZWQNCj4gICAgICAgICAgICAgICAgQSBwYXRoIHRvIHdoaWNoIHRoZSBkaWZmIGF0dHJpYnV0 ZSBpcw0KPiB1bnNwZWNpZmllZCBmaXJzdA0KPiAgICAgICAgICAgICAgICBnZXRzIGl0cyBjb250 ZW50cyBpbnNwZWN0ZWQsIGFuZCBpZiBpdA0KPiBsb29rcyBsaWtlIHRleHQNCj4gICAgICAgICAg ICAgICAgYW5kIGlzIHNtYWxsZXIgdGhhbg0KPiBjb3JlLmJpZ0ZpbGVUaHJlc2hvbGQsIGl0IGlz DQo+ICAgICAgICAgICAgICAgIHRyZWF0ZWQgYXMgdGV4dC4gT3RoZXJ3aXNlIGl0IHdvdWxkDQo+ IGdlbmVyYXRlIEJpbmFyeQ0KPiAgICAgICAgICAgICAgICBmaWxlcyBkaWZmZXIuDQo+IA0KPiBn aXQtc2hvdyB3aWxsIG9ubHkgcmVwb3J0ICJiaW5hcnkgZmlsZXMgZGlmZmVyIiwgdW5sZXNzDQo+ IHdlIHBhc3MgLS1iaW5hcnkgdG8gaXQ7IGluIHdoaWNoIGNhc2UgaXQgd2lsbCBvZmZlciBhDQo+ IGJhc2U2NC1saWtlIGJpbmFyeSBwYXRjaC4NCj4gZ2l0LWZvcm1hdC1wYXRjaCB3aWxsIHByb2R1 Y2UgdGhhdCBiaW5hcnkgcGF0Y2ggYnkNCj4gZGVmYXVsdCwgdW5sZXNzIHdlIHBhc3MgLS1uby1i aW5hcnkgdG8gaXQuDQo+IA0KPiANCj4gQW5vdGhlciBleGFtcGxlLCBpbiAuZ2l0L2luZm8vYXR0 cmlidXRlcyBvcg0KPiAuZ2l0YXR0cmlidXRlczoNCj4gDQo+ICoudW5pIGRpZmY9dW5pIG1lcmdl PXVuaQ0KPiANCj4gVGhlIG1hbnVhbCBzYXlzOg0KPiANCj4gICAgICAgIGRpZmYNCj4gICAgICAg ICAgICBTdHJpbmcNCj4gICAgICAgICAgICAgICAgRGlmZiBpcyBzaG93biB1c2luZyB0aGUgc3Bl Y2lmaWVkIGRpZmYNCj4gZHJpdmVyLiBFYWNoDQo+ICAgICAgICAgICAgICAgIGRyaXZlciBtYXkg c3BlY2lmeSBvbmUgb3IgbW9yZSBvcHRpb25zLA0KPiBhcyBkZXNjcmliZWQgaW4NCj4gICAgICAg ICAgICAgICAgdGhlIGZvbGxvd2luZyBzZWN0aW9uLiBUaGUgb3B0aW9ucyBmb3INCj4gdGhlIGRp ZmYgZHJpdmVyDQo+ICAgICAgICAgICAgICAgICJmb28iIGFyZSBkZWZpbmVkIGJ5IHRoZSBjb25m aWd1cmF0aW9uDQo+IHZhcmlhYmxlcyBpbiB0aGUNCj4gICAgICAgICAgICAgICAgImRpZmYuZm9v IiBzZWN0aW9uIG9mIHRoZSBHaXQgY29uZmlnDQo+IGZpbGUuDQo+IA0KPiAgICAgICAgbWVyZ2UN Cj4gICAgICAgICAgICBTdHJpbmcNCj4gICAgICAgICAgICAgICAgMy13YXkgbWVyZ2UgaXMgcGVy Zm9ybWVkIHVzaW5nIHRoZQ0KPiBzcGVjaWZpZWQgY3VzdG9tDQo+ICAgICAgICAgICAgICAgIG1l cmdlIGRyaXZlci4gVGhlIGJ1aWx0LWluIDMtd2F5IG1lcmdlDQo+IGRyaXZlciBjYW4gYmUNCj4g ICAgICAgICAgICAgICAgZXhwbGljaXRseSBzcGVjaWZpZWQgYnkgYXNraW5nIGZvcg0KPiAidGV4 dCIgZHJpdmVyOyB0aGUNCj4gICAgICAgICAgICAgICAgYnVpbHQtaW4gInRha2UgdGhlIGN1cnJl bnQgYnJhbmNoIg0KPiBkcml2ZXIgY2FuIGJlDQo+ICAgICAgICAgICAgICAgIHJlcXVlc3RlZCB3 aXRoICJiaW5hcnkiLg0KPiANCj4gQWNjb3JkaW5nbHksIGZyb20gLmdpdC9jb25maWc6DQo+IA0K PiBbZGlmZiAidW5pIl0NCj4gICAgICAgdGV4dGNvbnYgPSBpY29udiAtZiBVQ1MtMiAtdCBVVEYt OA0KPiAgICAgICBiaW5hcnkgPSB0cnVlDQo+IA0KPiBbbWVyZ2UgInVuaSJdDQo+ICAgICAgIG5h bWUgPSBtZXJnZSBkcml2ZXIgZm9yIFVDUy0yIGVuY29kZWQgdGV4dCBmaWxlcw0KPiAgICAgICBk cml2ZXIgPSB1bmktbWVyZ2UgJU8gJUEgJUINCj4gDQo+IEFuZCBteSB1bmktbWVyZ2Ugc2NyaXB0 Og0KPiANCj4gLS0tLS0tLS0tDQo+ICMhL2Jpbi9iYXNoDQo+IA0KPiAjIE1lcmdlIFVDUy0yIGVu Y29kZWQgdGV4dCBmaWxlcy4NCj4gIyBUaGlzIGlzIGEgZ2l0LW1lcmdlIGRyaXZlci4gSXQgd2ls bCBvdmVyd3JpdGUNCj4gIiRNSU5FIi4NCj4gIw0KPiAjIEV4aXQgc3RhdHVzOg0KPiAjIDAgLS0g bm8gY29uZmxpY3RzDQo+ICMgMSAtLSBjb25mbGljdHMNCj4gIyAyIC0tIHRyb3VibGUNCj4gDQo+ IE9MRD0iJDEiDQo+IE1JTkU9IiQyIg0KPiBZT1VSUz0iJDMiDQo+IA0KPiAjIFNldCBzYWZlIGRl ZmF1bHRzIGZvciB0aGUgdHJhcCBoYW5kbGVyLg0KPiBPTERfVVRGOD0NCj4gTVlfVVRGOD0NCj4g WU9VUl9VVEY4PQ0KPiBORVdfVVRGOD0NCj4gRVg9Mg0KPiANCj4gdHJhcCAncm0gLWYgLS0gIiRP TERfVVRGOCIgIiRNWV9VVEY4IiAiJFlPVVJfVVRGOCINCj4gIiRORVdfVVRGOCI7IGV4aXQgJEVY JyBFWElUIHNldCAtZSAtdSAtQw0KPiANCj4gT0xEX1VURjg9JChta3RlbXApDQo+IGljb252IC0t ZnJvbSBVQ1MtMiAtLXRvIFVURi04IDwiJE9MRCIgPj4iJE9MRF9VVEY4Ig0KPiANCj4gTVlfVVRG OD0kKG1rdGVtcCkNCj4gaWNvbnYgLS1mcm9tIFVDUy0yIC0tdG8gVVRGLTggPCIkTUlORSIgPj4i JE1ZX1VURjgiDQo+IA0KPiBZT1VSX1VURjg9JChta3RlbXApDQo+IGljb252IC0tZnJvbSBVQ1Mt MiAtLXRvIFVURi04IDwiJFlPVVJTIiA+PiIkWU9VUl9VVEY4Ig0KPiANCj4gTkVXX1VURjg9JCht a3RlbXApDQo+IHNldCArZQ0KPiBkaWZmMyAtLW1lcmdlIC0tbGFiZWw9bWluZSAtLWxhYmVsPW9s ZCAtLWxhYmVsPXlvdXJzIC0tDQo+IFwNCj4gICAgICIkTVlfVVRGOCIgIiRPTERfVVRGOCIgIiRZ T1VSX1VURjgiID4+IiRORVdfVVRGOCINCj4gRElGRlJFVD0kPw0KPiBzZXQgLWUNCj4gDQo+IGlm IFsgMCAtbmUgIiRESUZGUkVUIiBdICYmIFsgMSAtbmUgIiRESUZGUkVUIiBdOyB0aGVuDQo+ICAg ZXhpdA0KPiBmaQ0KPiANCj4gaWNvbnYgLS1mcm9tIFVURi04IC0tdG8gVUNTLTIgPCIkTkVXX1VU RjgiID58IiRNSU5FIg0KPiBFWD0kRElGRlJFVA0KPiAtLS0tLS0tLS0NCj4gDQo+IE15IHVuZGVy c3RhbmRpbmcgaXMgdGhhdCB0aGUgIi0tbm8tdGV4dGNvbnYiIG9wdGlvbg0KPiB3b3VsZCB1bmRv IHRoZSAidGV4dGNvbnYiIHRoYXQgSSBzZXQgdW5kZXIgW2RpZmYNCj4gInVuaSJdLg0KPiANCj4g SW4gb3RoZXIgd29yZHMsIGl0IHRlbGxzIGdpdCB0aGF0LCBldmVuIGlmIHRoZQ0KPiBoZXVyaXN0 aWNzIHN1Z2dlc3RlZA0KPiAqc29tZSogY29udmVyc2lvbiB0byB0ZXh0IChJIGNhbid0IHNheSB3 aGF0IHRoYXQgd291bGQNCj4gYmUsIGluIHRoZSBnZW5lcmFsIGNhc2UpLCBnaXQgc2hvdWxkIHN0 aWxsIHRyZWF0IHRoZQ0KPiBmaWxlIGFzIGJpbmFyeS4gKEF0IHdoaWNoIHBvaW50IHRoZSAtLW5v LWJpbmFyeSAvIC0tDQo+IGJpbmFyeSBvcHRpb25zIGRlY2lkZSB3aGV0aGVyIHdlIGdldCBhIGJh c2U2NC1saWtlDQo+IGVuY29kaW5nLCBvciBqdXN0IGEgbWVzc2FnZSBzYXlpbmcgImJpbmFyeSBm aWxlcw0KPiBkaWZmZXIiKS4NCj4gVGhlcmVmb3JlIEkgdGhpbmsgKD0gYWdyZWUgd2l0aCBKb3Jk YW4pIHRoYXQgdGhlIGVmZmVjdA0KPiBpcyB0aGUgc2FtZSBhcyBtYXJraW5nIHRoZSBhZmZlY3Rl ZCBmaWxlIHR5cGVzIGluDQo+IC5naXRhdHRyaWJ1dGVzIGFzICItZGlmZiIuDQo+IA0KPiBJIGd1 ZXNzIHRoZSByZWxldmFudCBxdWVzdGlvbiBpcyBzY29wZS4gIi0tbm8tdGV4dGNvbnYiDQo+IGRv ZXNuJ3QgcmVxdWlyZSB1cyB0byBhc3NpZ24gIi1kaWZmIiB0byBzcGVjaWZpYyBmaWxlDQo+IHN1 ZmZpeGVzLCBzdWNoIGFzICoucGRmLCAqLmVmaSwgYW5kIHNvIG9uLiBCdXQsIGl0IGFsc28NCj4g ZG9lc24ndCBhbGxvdyB1cyB0byBzcGVjaWZ5ICpzb21lKiB0ZXh0IGNvbnZlcnNpb25zLA0KPiBl dmVuIGlmIHdlIHdhbnRlZCB0byAoaXQgd291bGQgb3ZlcnJpZGUgJiBkaXNhYmxlIHRoZW0sDQo+ IHN1Y2ggYXMgbXkgImljb252IiBjb252ZXJzaW9uIHdoZW4gZGlmZmluZyBVQ1MyIGVuY29kZWQN Cj4gVU5JIGZpbGVzKS4NCj4gDQo+IEFkZGluZyBhIC5naXRhdHRyaWJ1dGVzIGZpbGUgdG8gdGhl IHJvb3Qgb2YgdGhlDQo+IHJlcG9zaXRvcnksIGFuZCB1cGRhdGluZyBpdCB3aGVuZXZlciBuZWNl c3NhcnkgKGZvcg0KPiBleGFtcGxlIHdoZW4gd2UgYWRkIHRoZSBmaXJzdCAucGRmIGZpbGUsIHRo ZSBmaXJzdCAuZWZpDQo+IGZpbGUuLi4pLCBpcyBsaWtlbHkgdGhlIGJlc3QuDQo+IA0KPiAoDQo+ IA0KPiBNeSByZWNvbW1lbmRhdGlvbiBhdA0KPiA8aHR0cHM6Ly9naXRodWIuY29tL3RpYW5vY29y ZS90aWFub2NvcmUuZ2l0aHViLmlvL3dpa2kvDQo+IExhc3psbydzLXVua2VtcHQtZ2l0LWd1aWRl LWZvci1lZGsyLWNvbnRyaWJ1dG9ycy1hbmQtDQo+IG1haW50YWluZXJzI2NvbnRyaWItMDk+DQo+ IG1heSBoYXZlIHRhcmdldGVkIHRoZSBsb2NhbCAiLmdpdC9pbmZvL2F0dHJpYnV0ZXMiIGZpbGUN Cj4gYmVjYXVzZSBwZW9wbGUgY2FuIGhhdmUgcXVpdGUgZGlmZmVyZW50IG9waW5pb25zIG9uIGhv dw0KPiBnaXQgc2hvdWxkIGFjdCBvbiB2YXJpb3VzIGZpbGVzLiBJbiB0aGVvcnksIHNvbWVvbmUN Cj4gaGF2aW5nIHNpbXBsaXN0aWMgUERGIGZpbGVzIG1pZ2h0IGV2ZW4gd2FudDoNCj4gDQo+IElu IHRoZSBhdHRyaWJ1dGVzOg0KPiANCj4gKi5wZGYgZGlmZj1wZGYNCj4gDQo+IEluIHRoZSBjb25m aWc6DQo+IA0KPiBbZGlmZiAicGRmIl0NCj4gICB0ZXh0Y29udiA9IHNoIC1jICdwZGZ0b3RleHQg LS0gIiQxIiAtJyBwZGZ0b3RleHQtDQo+IHdyYXBwZXINCj4gICBiaW5hcnkgPSB0cnVlDQo+IA0K PiAoInBkZnRvdGV4dCIgY29udmVydHMgUERGIHRvIHRleHQsIGJ1dCBpdHMgY29tbWFuZCBsaW5l DQo+IGlzIGF3a3dhcmQgLS0gdGhlIGh5cGhlbiBtYXJraW5nIHN0ZG91dCBtdXN0IGJlDQo+IGV4 cGxpY2l0LCBhbmQgbXVzdCBjb21lIGFzIHNlY29uZCBvcGVyYW5kLiBIZW5jZSB0aGUNCj4gd3Jh cHBpbmcgaW50byAic2giIC0tIGFuZCB0aGVuIHdlIG5lZWQgdG8gc3BlbGwgb3V0DQo+ICQwIGFz IHdlbGwsIGZvciB3aGljaCBJIHBpY2tlZCAicGRmdG90ZXh0LXdyYXBwZXIiLiBUaGUNCj4gIi0t IiBzZXBhcmF0b3IgaXMgYSBzYWZldHkgbWVhc3VyZSBhZ2FpbnN0IGZpbGVuYW1lcw0KPiBzdGFy dGluZyB3aXRoICItIiwgd2hpY2ggY291bGQgYmUgbWlzLWludGVycHJldGVkIGFzDQo+IG9wdGlv bnMuICItLSIgdGVybWluYXRlcyB0aGUgb3B0aW9uIGxpc3QgYW5kIHN0YXJ0cyB0aGUNCj4gb3Bl cmFuZCBsaXN0LikNCj4gDQo+ICkNCj4gDQo+IFRoYW5rcw0KPiBMYXN6bG8NCj4gDQo+IA0KPiA+ IE9uIDIwMTktMDgtMDEgMTc6MTM6MTQsIE1pY2hhZWwgRCBLaW5uZXkgd3JvdGU6DQo+ID4+IGh0 dHBzOi8vYnVnemlsbGEudGlhbm9jb3JlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA0NA0KPiA+Pg0K PiA+PiAnZ2l0IHNob3cnIGlzIHVzZWQgdG8gZXh0cmF0IHRoZSBwYXRjaCBjb250ZW50cyBmb3IN Cj4gYW5hbHlzaXMuDQo+ID4+IEFkZCB0aGUgZmxhZyAnLS1uby10ZXh0Y29udicgdG8gdGhlICdn aXQgc2hvdycNCj4gY29tbWFuZCB0byBkaXNhYmxlIHRoZQ0KPiA+PiBjb252ZXJzaW9uIGZyb20g c29tZSBiaW5hcnkgZmlsZSB0eXBlcyB0byB0ZXh0DQo+IGNvbnRlbnQuDQo+ID4+DQo+ID4+IFdp dGhvdXQgdGhpcyBjaGFuZ2UsIGJpbmFyeSBmaWxlcyBzdWNoIGFzIC5wZGYgZmlsZXMNCj4gYXJl IGNvbnZlcnRlZCB0bw0KPiA+PiB0ZXh0IGluIHRoZSBzaG93IGNvbW1hbmQgYW5kIFBhdGNoQ2hl Y2sgY29tcGxhaW5zDQo+IHRoYXQgdGhlIHdyb25nIGxpbmUNCj4gPj4gZW5kaW5ncyBhcmUgdXNl ZCBpbiB0aGUgcGF0Y2guDQo+ID4+DQo+ID4+IENjOiBCb2IgRmVuZyA8Ym9iLmMuZmVuZ0BpbnRl bC5jb20+DQo+ID4+IENjOiBMaW1pbmcgR2FvIDxsaW1pbmcuZ2FvQGludGVsLmNvbT4NCj4gPj4g Q2M6IEpvcmRhbiBKdXN0ZW4gPGpvcmRhbi5sLmp1c3RlbkBpbnRlbC5jb20+DQo+ID4+IFNpZ25l ZC1vZmYtYnk6IE1pY2hhZWwgRCBLaW5uZXkNCj4gPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29t Pg0KPiA+PiAtLS0NCj4gPj4gIEJhc2VUb29scy9TY3JpcHRzL1BhdGNoQ2hlY2sucHkgfCAyICst DQo+ID4+ICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkNCj4g Pj4NCj4gPj4gZGlmZiAtLWdpdCBhL0Jhc2VUb29scy9TY3JpcHRzL1BhdGNoQ2hlY2sucHkNCj4g Pj4gYi9CYXNlVG9vbHMvU2NyaXB0cy9QYXRjaENoZWNrLnB5IGluZGV4DQo+IDZiMDcyNDFiZmUu LjJhNGU2ZjYwM2UgMTAwNzU1DQo+ID4+IC0tLSBhL0Jhc2VUb29scy9TY3JpcHRzL1BhdGNoQ2hl Y2sucHkNCj4gPj4gKysrIGIvQmFzZVRvb2xzL1NjcmlwdHMvUGF0Y2hDaGVjay5weQ0KPiA+PiBA QCAtNTQzLDcgKzU0Myw3IEBAIGNsYXNzIENoZWNrR2l0Q29tbWl0czoNCj4gPj4NCj4gPj4gICAg ICBkZWYgcmVhZF9wYXRjaF9mcm9tX2dpdChzZWxmLCBjb21taXQpOg0KPiA+PiAgICAgICAgICAj IFJ1biBnaXQgdG8gZ2V0IHRoZSBjb21taXQgcGF0Y2gNCj4gPj4gLSAgICAgICAgcmV0dXJuIHNl bGYucnVuX2dpdCgnc2hvdycsICctLQ0KPiBwcmV0dHk9ZW1haWwnLCBjb21taXQpDQo+ID4+ICsg ICAgICAgIHJldHVybiBzZWxmLnJ1bl9naXQoJ3Nob3cnLCAnLS0NCj4gcHJldHR5PWVtYWlsJywN Cj4gPj4gKyAnLS1uby10ZXh0Y29udicsIGNvbW1pdCkNCj4gPj4NCj4gPj4gICAgICBkZWYgcnVu X2dpdChzZWxmLCAqYXJncyk6DQo+ID4+ICAgICAgICAgIGNtZCA9IFsgJ2dpdCcgXQ0KPiA+PiAt LQ0KPiA+PiAyLjIxLjAud2luZG93cy4xDQo+ID4+DQo+IA0KPiANCj4gDQoNCg==