From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=134.134.136.20; helo=mga02.intel.com; envelope-from=liming.gao@intel.com; receiver=edk2-devel@lists.01.org Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 90FA621D046AB for ; Mon, 25 Sep 2017 02:54:38 -0700 (PDT) Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 25 Sep 2017 02:57:48 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.42,435,1500966000"; d="scan'208";a="1175509205" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by orsmga001.jf.intel.com with ESMTP; 25 Sep 2017 02:57:48 -0700 Received: from fmsmsx117.amr.corp.intel.com (10.18.116.17) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 25 Sep 2017 02:57:48 -0700 Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by fmsmsx117.amr.corp.intel.com (10.18.116.17) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 25 Sep 2017 02:57:48 -0700 Received: from shsmsx152.ccr.corp.intel.com ([169.254.6.93]) by SHSMSX151.ccr.corp.intel.com ([169.254.3.98]) with mapi id 14.03.0319.002; Mon, 25 Sep 2017 17:57:46 +0800 From: "Gao, Liming" To: Laszlo Ersek , Marvin H?user , "edk2-devel@lists.01.org" Thread-Topic: [edk2] [PATCH] BaseTools/Conf: Support LLVM39 and LLVM40 in CLANG38 toolchain Thread-Index: AQHTG92/8mh+ojyM9EiDFgxR8WypwaKZZCjggCfYXyCAA/+FIP//smuAgACh5XA= Date: Mon, 25 Sep 2017 09:57:45 +0000 Message-ID: <4A89E2EF3DFEDB4C8BFDE51014F606A14E15D03E@SHSMSX152.ccr.corp.intel.com> References: <20170823070107.38848-1-steven.shi@intel.com> <4A89E2EF3DFEDB4C8BFDE51014F606A14D7815F7@shsmsx102.ccr.corp.intel.com> <4A89E2EF3DFEDB4C8BFDE51014F606A14E15CC86@SHSMSX152.ccr.corp.intel.com> <741cbf78-704b-b5f7-b49f-7e58b9231488@redhat.com> In-Reply-To: <741cbf78-704b-b5f7-b49f-7e58b9231488@redhat.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [PATCH] BaseTools/Conf: Support LLVM39 and LLVM40 in CLANG38 toolchain X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 25 Sep 2017 09:54:38 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 TGFzemxvOg0KICBUaGlzIGlzIGEgYmV0dGVyIHdheS4gVGhlIGJ1ZyBodHRwczovL2J1Z3ppbGxh LnRpYW5vY29yZS5vcmcvc2hvd19idWcuY2dpP2lkPTQxMCBvbmx5IGxpc3RzIEdldEJlc3RMYW5n dWFnZSgpIEFQSS4gSSBhbSBub3Qgc3VyZSB3aGV0aGVyIHRoZXkgYXJlIHNpbWlsYXIgY2FzZXMg aW4gZWRrMi4gSWYgaGF2ZSwgd2UgaGFkIGJldHRlciBmaXggdGhlbSB0b2dldGhlci4gDQoNClRo YW5rcw0KTGltaW5nDQo+LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj5Gcm9tOiBMYXN6bG8g RXJzZWsgW21haWx0bzpsZXJzZWtAcmVkaGF0LmNvbV0NCj5TZW50OiBNb25kYXksIFNlcHRlbWJl ciAyNSwgMjAxNyA0OjEzIFBNDQo+VG86IEdhbywgTGltaW5nIDxsaW1pbmcuZ2FvQGludGVsLmNv bT47IE1hcnZpbiBIw6R1c2VyDQo+PE1hcnZpbi5IYWV1c2VyQG91dGxvb2suY29tPjsgZWRrMi1k ZXZlbEBsaXN0cy4wMS5vcmcNCj5TdWJqZWN0OiBSZTogW2VkazJdIFtQQVRDSF0gQmFzZVRvb2xz L0NvbmY6IFN1cHBvcnQgTExWTTM5IGFuZCBMTFZNNDAgaW4NCj5DTEFORzM4IHRvb2xjaGFpbg0K Pg0KPk9uIDA5LzI1LzE3IDA2OjU5LCBHYW8sIExpbWluZyB3cm90ZToNCj4+IE1hcnZpbjoNCj4+ ICAgTXkgY29uY2VybiBpcyB0aGF0IHRoZSBmaXggaXMgYW4gaW5jb21wYXRpYmxlIGNoYW5nZS4g SXQgcmVxdWlyZXMgdG8gbW9kaWZ5DQo+bGlicmFyeSBBUEkuIEluIGZhY3QsIHRoaXMgaXMgYW4g dW5kZWZpbmVkIGJlaGF2aW9yLiBCdXQsIGN1cnJlbnQgY29tcGlsZXIgKFZTLA0KPkdDQyBhbmQg Q2xhbmcpIG1ha2VzIGl0IHdvcmsuICBTbywgSSBwcmVmZXIgdG8ga2VlcCB0aGUgY29kZSBhcy1p cywgYW5kIGRpc2FibGUNCj50aGlzIHdhcm5pbmcgZmlyc3QuIElmIHlvdSBmaW5kIGFueSByZWFs IGlzc3VlLCB3ZSBjYW4gcmV0dXJuIGJhY2sgYW5kIGZpZ3VyZSBvdXQNCj50aGUgc29sdXRpb24u DQo+DQo+SSB0aGluayB3ZSBjYW4gZHJhdyBhIHBhcmFsbGVsIGhlcmUgdG8gR2V0VmFyaWFibGUo KSBhbmQgR2V0VmFyaWFibGUyKCkuDQo+R2V0VmFyaWFibGUoKSBpcyBub3cgdW5hdmFpbGFibGUg aWYgRElTQUJMRV9ORVdfREVQUkVDQVRFRF9JTlRFUkZBQ0VTDQo+aXMNCj5kZWZpbmVkLg0KPg0K PkkgdGhpbmsgdGhlIHJpZ2h0IHNvbHV0aW9uIHdvdWxkIGJlIHRvDQo+LSBpbnRyb2R1Y2UgR2V0 QmVzdExhbmd1YWdlMigpLA0KPi0gbWlncmF0ZSBhbGwgdGhlIGN1cnJlbnQgY2FsbCBzaXRlcyB0 byBHZXRCZXN0TGFuZ3VhZ2UyKCkgLS0gSSBjb3VudGVkDQo+ICAxOCwgYW5kIHRoZSB1cGRhdGVz IHNob3VsZCBiZSBlYXN5IC0tLA0KPi0gYW5kIHRoZW4gbWFrZSBHZXRWYXJpYWJsZSgpIGNvbmRp dGlvbmFsIG9uDQo+ICBub3QtRElTQUJMRV9ORVdfREVQUkVDQVRFRF9JTlRFUkZBQ0VTLg0KPg0K Pg0KPkNIQVI4ICoNCj5FRklBUEkNCj5HZXRCZXN0TGFuZ3VhZ2UyICgNCj4gIElOIENPTlNUIENI QVI4ICAqU3VwcG9ydGVkTGFuZ3VhZ2VzLA0KPiAgSU4gSU5UTiAgICAgICAgIElzbzYzOUxhbmd1 YWdlLA0KPiAgLi4uDQo+ICApOw0KPg0KPkkgZG9uJ3QgZmVlbCBzdHJvbmdseSBhYm91dCB0aGlz IHF1ZXN0aW9uLCBJIGp1c3QgdGhpbmsgdGVjaG5pY2FsbHkgdGhpcw0KPndvdWxkIGJlIGJlc3Qu IENMQU5HIHdhcm5pbmdzIGFyZSB2YWx1YWJsZS4NCj4NCj5UaGFua3MNCj5MYXN6bG8NCj4NCj4+ PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPj4+IEZyb206IGVkazItZGV2ZWwgW21haWx0 bzplZGsyLWRldmVsLWJvdW5jZXNAbGlzdHMuMDEub3JnXSBPbiBCZWhhbGYgT2YNCj4+PiBNYXJ2 aW4gSD91c2VyDQo+Pj4gU2VudDogRnJpZGF5LCBTZXB0ZW1iZXIgMjIsIDIwMTcgMTE6NTMgUE0N Cj4+PiBUbzogZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmcNCj4+PiBDYzogR2FvLCBMaW1pbmcgPGxp bWluZy5nYW9AaW50ZWwuY29tPg0KPj4+IFN1YmplY3Q6IFJlOiBbZWRrMl0gW1BBVENIXSBCYXNl VG9vbHMvQ29uZjogU3VwcG9ydCBMTFZNMzkgYW5kIExMVk00MA0KPmluDQo+Pj4gQ0xBTkczOCB0 b29sY2hhaW4NCj4+Pg0KPj4+IEhleSwNCj4+Pg0KPj4+IEkganVzdCBub3RpY2VkIHRoaXMgcGF0 Y2ggYXMgaXQgcmVjZW50bHkgaGFzIGJlZW4gcHVzaGVkLiBJIGZvdW5kIHRoaXMgaGFzDQo+YmVl biBhDQo+Pj4gcmVhY3Rpb24gdG8gaHR0cHM6Ly9idWd6aWxsYS50aWFub2NvcmUub3JnL3Nob3df YnVnLmNnaT9pZD00MTANCj4+PiBUaG91Z2ggYXMgQ2xhbmcgY29ycmVjdGx5IGRldGVjdGVkLCB0 aGlzIGlzIFVuZGVmaW5lZCBCZWhhdmlvciBwZXIgdGhlIEMNCj4+PiBzcGVjaWZpY2F0aW9uLCBz byB3aHkgd2FzIHRoZSB3YXJuaW5nIGhpZGRlbj8NCj4+PiBJbiBjb250ZXh0IG9mIHRoZSBpc3N1 ZSBpbiBVZWZpTGliLCBwcm92aWRpbmcgdGhlIGZpcnN0IGVsZW1lbnQgb2YgdGhlIFZBIGxpc3QN Cj5hcyBhDQo+Pj4gcHJvdG90eXBlZCBhcmd1bWVudCwgd291bGQgaGF2ZSBzb2x2ZWQgdGhlIGlz c3VlIHdpdGhvdXQgVUIuDQo+Pj4NCj4+PiBEbyB5b3Ugd2lzaCBzdWNoIGEgcGF0Y2g/DQo+Pj4N Cj4+PiBUaGFua3MsDQo+Pj4gTWFydmluLg0KPj4+DQo+Pj4+IC0tLS0tT3JpZ2luYWwgTWVzc2Fn ZS0tLS0tDQo+Pj4+IEZyb206IGVkazItZGV2ZWwgW21haWx0bzplZGsyLWRldmVsLWJvdW5jZXNA bGlzdHMuMDEub3JnXSBPbiBCZWhhbGYgT2YNCj4+Pj4gR2FvLCBMaW1pbmcNCj4+Pj4gU2VudDog TW9uZGF5LCBBdWd1c3QgMjgsIDIwMTcgOToxOSBBTQ0KPj4+PiBUbzogU2hpLCBTdGV2ZW4gPHN0 ZXZlbi5zaGlAaW50ZWwuY29tPjsgZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmcNCj4+Pj4gU3ViamVj dDogUmU6IFtlZGsyXSBbUEFUQ0hdIEJhc2VUb29scy9Db25mOiBTdXBwb3J0IExMVk0zOSBhbmQN Cj5MTFZNNDANCj4+PiBpbg0KPj4+PiBDTEFORzM4IHRvb2xjaGFpbg0KPj4+Pg0KPj4+PiBSZXZp ZXdlZC1ieTogTGltaW5nIEdhbyA8bGltaW5nLmdhb0BpbnRlbC5jb20+DQo+Pj4+DQo+Pj4+PiAt LS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPj4+Pj4gRnJvbTogU2hpLCBTdGV2ZW4NCj4+Pj4+ IFNlbnQ6IFdlZG5lc2RheSwgQXVndXN0IDIzLCAyMDE3IDM6MDEgUE0NCj4+Pj4+IFRvOiBlZGsy LWRldmVsQGxpc3RzLjAxLm9yZzsgR2FvLCBMaW1pbmcgPGxpbWluZy5nYW9AaW50ZWwuY29tPg0K Pj4+Pj4gQ2M6IFpodSwgWW9uZ2hvbmcgPHlvbmdob25nLnpodUBpbnRlbC5jb20+OyBTaGksIFN0 ZXZlbg0KPj4+Pj4gPHN0ZXZlbi5zaGlAaW50ZWwuY29tPg0KPj4+Pj4gU3ViamVjdDogW1BBVENI XSBCYXNlVG9vbHMvQ29uZjogU3VwcG9ydCBMTFZNMzkgYW5kIExMVk00MCBpbg0KPj4+IENMQU5H MzgNCj4+Pj4+IHRvb2xjaGFpbg0KPj4+Pj4NCj4+Pj4+IEZyb206ICJTaGksIFN0ZXZlbiIgPHN0 ZXZlbi5zaGlAaW50ZWwuY29tPg0KPj4+Pj4NCj4+Pj4+IEFkZCBMTFZNMzkgYW5kIExMVk00MCBz dXBwb3J0IGluIENMQU5HMzggdG9vbGNoYWluDQo+Pj4+Pg0KPj4+Pj4gQ29udHJpYnV0ZWQtdW5k ZXI6IFRpYW5vQ29yZSBDb250cmlidXRpb24gQWdyZWVtZW50IDEuMA0KPj4+Pj4gU2lnbmVkLW9m Zi1ieTogU3RldmVuIFNoaSA8c3RldmVuLnNoaUBpbnRlbC5jb20+DQo+Pj4+PiAtLS0NCj4+Pj4+ IEJhc2VUb29scy9Db25mL3Rvb2xzX2RlZi50ZW1wbGF0ZSB8IDUgKysrLS0NCj4+Pj4+IDEgZmls ZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pDQo+Pj4+Pg0KPj4+Pj4g ZGlmZiAtLWdpdCBhL0Jhc2VUb29scy9Db25mL3Rvb2xzX2RlZi50ZW1wbGF0ZQ0KPj4+Pj4gYi9C YXNlVG9vbHMvQ29uZi90b29sc19kZWYudGVtcGxhdGUNCj4+Pj4+IGluZGV4IDFmYTNjYTMuLjJm ODMzNDEgMTAwNzU1DQo+Pj4+PiAtLS0gYS9CYXNlVG9vbHMvQ29uZi90b29sc19kZWYudGVtcGxh dGUNCj4+Pj4+ICsrKyBiL0Jhc2VUb29scy9Db25mL3Rvb2xzX2RlZi50ZW1wbGF0ZQ0KPj4+Pj4g QEAgLTM4MCw3ICszODAsOCBAQCBERUZJTkUgU09VUkNFUllfQ1lHV0lOX1RPT0xTID0NCj4+Pj4g L2N5Z2RyaXZlL2MvUHJvZ3JhbQ0KPj4+Pj4gRmlsZXMvQ29kZVNvdXJjZXJ5L1NvdXJjZXJ5IEcN Cj4+Pj4+ICMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZWwocikgQUNQSSBDb21w aWxlciBmcm9tDQo+Pj4+PiAjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh0dHBzOi8v YWNwaWNhLm9yZy9kb3dubG9hZHMNCj4+Pj4+ICMgICBDTEFORzM4ICAtTGludXgtICBSZXF1aXJl czoNCj4+Pj4+IC0jICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDbGFuZyB2My44IG9yIGxh dGVyLCBMTFZNZ29sZCBwbHVnaW4gYW5kIEdOVSBiaW51dGlscw0KPjIuMjYNCj4+Pj4+IHRhcmdl dGluZyB4ODZfNjQtbGludXgtZ251DQo+Pj4+PiArIyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgQ2xhbmcgdjMuOCwgTExWTWdvbGQgcGx1Z2luIGFuZCBHTlUgYmludXRpbHMgMi4yNg0KPj4+ PiB0YXJnZXRpbmcNCj4+Pj4+IHg4Nl82NC1saW51eC1nbnUNCj4+Pj4+ICsjICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBDbGFuZyB2My45IG9yIGxhdGVyLCBMTFZNZ29sZCBwbHVnaW4gYW5k IEdOVSBiaW51dGlscw0KPjIuMjgNCj4+Pj4+IHRhcmdldGluZyB4ODZfNjQtbGludXgtZ251DQo+ Pj4+PiAjICAgICAgICAgICAgICAgICAgICAgICAgT3B0aW9uYWw6DQo+Pj4+PiAjICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBSZXF1aXJlZCB0byBidWlsZCBwbGF0Zm9ybXMgb3IgQUNQSSB0 YWJsZXM6DQo+Pj4+PiAjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEludGVsKHIpIEFD UEkgQ29tcGlsZXIgZnJvbQ0KPj4+Pj4gQEAgLTU1MTIsNyArNTUxMyw3IEBAIERFRklORSBDTEFO RzM4X1g2NF9QUkVGSVggICAgICAgICAgID0NCj4+Pj4+IEVOVihDTEFORzM4X0JJTikNCj4+Pj4+ IERFRklORSBDTEFORzM4X0lBMzJfVEFSR0VUICAgICAgICAgID0gLXRhcmdldCBpNjg2LXBjLWxp bnV4LWdudQ0KPj4+Pj4gREVGSU5FIENMQU5HMzhfWDY0X1RBUkdFVCAgICAgICAgICAgPSAtdGFy Z2V0IHg4Nl82NC1wYy1saW51eC1nbnUNCj4+Pj4+DQo+Pj4+PiAtREVGSU5FIENMQU5HMzhfQUxM X0NDX0ZMQUdTICAgICAgICAgPSBERUYoR0NDNDRfQUxMX0NDX0ZMQUdTKSAtDQo+Pj4gV25vLQ0K Pj4+Pj4gZW1wdHktYm9keSAtZm5vLXN0YWNrLXByb3RlY3RvciAtbW1zLWJpdGZpZWxkcyAtV25v LWFkZHJlc3MgLVduby0NCj4+PiBzaGlmdC0NCj4+Pj4+IG5lZ2F0aXZlLXZhbHVlIC1Xbm8tcGFy ZW50aGVzZXMtZXF1YWxpdHkgLVduby11bmtub3duLXByYWdtYXMgLQ0KPj4+PiBXbm8tDQo+Pj4+ PiB0YXV0b2xvZ2ljYWwtY29uc3RhbnQtb3V0LW9mLXJhbmdlLWNvbXBhcmUgLVduby1pbmNvbXBh dGlibGUtbGlicmFyeS0NCj4+Pj4+IHJlZGVjbGFyYXRpb24gLWZuby1hc3luY2hyb25vdXMtdW53 aW5kLXRhYmxlcyAtbW5vLXNzZSAtbW5vLW1teCAtDQo+Pj4+IG1zb2Z0LQ0KPj4+Pj4gZmxvYXQg LW1uby1pbXBsaWNpdC1mbG9hdCAgLWZ0cmFwLQ0KPj4+Pj4gZnVuY3Rpb249dW5kZWZpbmVkX2Jl aGF2aW9yX2hhc19iZWVuX29wdGltaXplZF9hd2F5X2J5X2NsYW5nIC0NCj4+Pj4+IGZ1bnNpZ25l ZC1jaGFyIC1mbm8tbXMtZXh0ZW5zaW9ucyAtV25vLW51bGwtZGVyZWZlcmVuY2UgLVduby0NCj4+ Pj4+IHRhdXRvbG9naWNhbC1jb21wYXJlIC1Xbm8tdW5rbm93bi13YXJuaW5nLW9wdGlvbg0KPj4+ Pj4gK0RFRklORSBDTEFORzM4X0FMTF9DQ19GTEFHUyAgICAgICAgID0gREVGKEdDQzQ0X0FMTF9D Q19GTEFHUykgLQ0KPj4+PiBXbm8tDQo+Pj4+PiBlbXB0eS1ib2R5IC1mbm8tc3RhY2stcHJvdGVj dG9yIC1tbXMtYml0ZmllbGRzIC1Xbm8tYWRkcmVzcyAtV25vLQ0KPj4+IHNoaWZ0LQ0KPj4+Pj4g bmVnYXRpdmUtdmFsdWUgLVduby1wYXJlbnRoZXNlcy1lcXVhbGl0eSAtV25vLXVua25vd24tcHJh Z21hcyAtDQo+Pj4+IFduby0NCj4+Pj4+IHRhdXRvbG9naWNhbC1jb25zdGFudC1vdXQtb2YtcmFu Z2UtY29tcGFyZSAtV25vLWluY29tcGF0aWJsZS1saWJyYXJ5LQ0KPj4+Pj4gcmVkZWNsYXJhdGlv biAtZm5vLWFzeW5jaHJvbm91cy11bndpbmQtdGFibGVzIC1tbm8tc3NlIC1tbm8tbW14IC0NCj4+ Pj4gbXNvZnQtDQo+Pj4+PiBmbG9hdCAtbW5vLWltcGxpY2l0LWZsb2F0ICAtZnRyYXAtDQo+Pj4+ PiBmdW5jdGlvbj11bmRlZmluZWRfYmVoYXZpb3JfaGFzX2JlZW5fb3B0aW1pemVkX2F3YXlfYnlf Y2xhbmcgLQ0KPj4+Pj4gZnVuc2lnbmVkLWNoYXIgLWZuby1tcy1leHRlbnNpb25zIC1Xbm8tbnVs bC1kZXJlZmVyZW5jZSAtV25vLQ0KPj4+Pj4gdGF1dG9sb2dpY2FsLWNvbXBhcmUgLVduby11bmtu b3duLXdhcm5pbmctb3B0aW9uIC1Xbm8tdmFyYXJncw0KPj4+Pj4NCj4+Pj4+ICMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIw0KPj4+Pj4gIyBDTEFORzM4IElBMzIgZGVmaW5pdGlvbnMNCj4+Pj4+ IC0tDQo+Pj4+PiAyLjcuNA0KPj4+Pg0KPj4+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXw0KPj4+PiBlZGsyLWRldmVsIG1haWxpbmcgbGlzdA0KPj4+PiBl ZGsyLWRldmVsQGxpc3RzLjAxLm9yZw0KPj4+PiBodHRwczovL2xpc3RzLjAxLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2VkazItZGV2ZWwNCj4+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXw0KPj4+IGVkazItZGV2ZWwgbWFpbGluZyBsaXN0DQo+Pj4gZWRrMi1k ZXZlbEBsaXN0cy4wMS5vcmcNCj4+PiBodHRwczovL2xpc3RzLjAxLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2VkazItZGV2ZWwNCj4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fDQo+PiBlZGsyLWRldmVsIG1haWxpbmcgbGlzdA0KPj4gZWRrMi1kZXZlbEBsaXN0 cy4wMS5vcmcNCj4+IGh0dHBzOi8vbGlzdHMuMDEub3JnL21haWxtYW4vbGlzdGluZm8vZWRrMi1k ZXZlbA0KPj4NCg0K