From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by mx.groups.io with SMTP id smtpd.web12.916.1589307499767216570 for ; Tue, 12 May 2020 11:18:19 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=TZAUxwz4; spf=pass (domain: intel.com, ip: 192.55.52.88, mailfrom: michael.d.kinney@intel.com) IronPort-SDR: hDUQwbs81adr/lap2UUckuxOW+ZY8+yP1kGueF5XSMz3k7SPlTyseqf9KuOFwN2fSxp6dm0Akm Iz1IH5HrvhJA== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 May 2020 11:18:18 -0700 IronPort-SDR: BloXEebWLrXvD8FrVGFB7IWL3IaabxP06S2FfWdnweUn2jnUgoVlUYXXuH/qqTxfm4Ihy4u3Iz zWVYUhHm1N3w== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,384,1583222400"; d="scan'208";a="298105605" Received: from fmsmsx105.amr.corp.intel.com ([10.18.124.203]) by orsmga008.jf.intel.com with ESMTP; 12 May 2020 11:18:18 -0700 Received: from fmsmsx607.amr.corp.intel.com (10.18.126.87) by FMSMSX105.amr.corp.intel.com (10.18.124.203) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 12 May 2020 11:18:18 -0700 Received: from fmsmsx607.amr.corp.intel.com (10.18.126.87) by fmsmsx607.amr.corp.intel.com (10.18.126.87) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Tue, 12 May 2020 11:18:17 -0700 Received: from FMSEDG002.ED.cps.intel.com (10.1.192.134) by fmsmsx607.amr.corp.intel.com (10.18.126.87) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5 via Frontend Transport; Tue, 12 May 2020 11:18:17 -0700 Received: from NAM02-SN1-obe.outbound.protection.outlook.com (104.47.36.51) by edgegateway.intel.com (192.55.55.69) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 12 May 2020 11:18:15 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=B//hBQgfozDjSfts2ZmiBEQ3VyPT8EkNcP+UXqSo0N12pViA+pm8yarvukrQgyux70abgUtitP5QRFfYkDwSD9UyK05C0rBYzt1xY3Aq4HIqZiBMKRGdrS53quhq+G3c2rv4q8GeSi0Xp/ZLbuQ5LfHeqo42qnv95y68cmHlsCMoA8UrY5WHb5SPGX0b5Y756AtbMzT3MzKoLjhCvLgFWFNcYNbyHtVl8zYBe9zRIHfqGRYxKbok/4QWq7lH62dr3Gs9MejloodKPUCKOc624AozG2NHp/A/F/zT6AB9WO8NJMv5FjlgYOeRbsi5Ta9BNFGIxTInPFr2lpevsW67ww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Jyp6GBQdN8Z+Dnfbf05GMLOWzDkoL0blotjeXg15rCM=; b=gqEII3U1PM1GDqdKKdFipd64ForW6v7dLG7xRRocXDnSEKNk0mBzPZ55gqnm7GzSCcKE2UenPKoGIAncGZ2MSGw9GkL/bNJfE+VO+bCAjObmAI3apLAyvAB5jyqrUUvtGeYLNQI6Kq+Qye6T+tDhtAyUwuyAUHG/n4rxJCpac+FK7pCx4VOfBL45JjblTlsB4qWfRlNjKM92PB7cPDh0C49xiaR4/20eflCMRuL5sF9el5l9cl3PJIQ14ePrThtblXllEQa8p51tMHBuPU8+Uwv0n4Y5eWTFZwjrHJvneTRiO4qVHWqFNfCQPzQDeroNudVs8bh7/UoJ64WvJdTdKg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Jyp6GBQdN8Z+Dnfbf05GMLOWzDkoL0blotjeXg15rCM=; b=TZAUxwz4SIqAD8z5DcytrecsD9PVxCfUqLR83iO++jGttcsBfvCD9WDY6FhVcoOlTc+4Ax0kMkKztSURaUgjmRRaEd3C1VXd3VQJ59svSmMaHugKveK5cOoSA6Kd5BgfdVCs/r0u/a4RbV2fD+7XSZtCSuPLrFYlmTdcFWV9nQ4= Received: from MN2PR11MB4461.namprd11.prod.outlook.com (2603:10b6:208:192::29) by MN2PR11MB4222.namprd11.prod.outlook.com (2603:10b6:208:179::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2979.34; Tue, 12 May 2020 18:18:11 +0000 Received: from MN2PR11MB4461.namprd11.prod.outlook.com ([fe80::10bc:1a4e:4745:ffc1]) by MN2PR11MB4461.namprd11.prod.outlook.com ([fe80::10bc:1a4e:4745:ffc1%3]) with mapi id 15.20.2979.033; Tue, 12 May 2020 18:18:11 +0000 From: "Michael D Kinney" To: "devel@edk2.groups.io" , "lersek@redhat.com" , Vitaly Cheptsov , "Kinney, Michael D" CC: Andrew Fish , =?utf-8?B?TWFydmluIEjDpHVzZXI=?= , "Gao, Liming" , "Gao, Zhichao" Subject: Re: [edk2-devel] [PATCH V4 00/27] Disabling safe string constraint assertions Thread-Topic: [edk2-devel] [PATCH V4 00/27] Disabling safe string constraint assertions Thread-Index: AQHWJ6q3lEk2D/Zy+k6J75iW8E8cp6ijdlUggAC/8ICAAIn4wA== Date: Tue, 12 May 2020 18:18:11 +0000 Message-ID: References: <20200511154121.3878-1-cheptsov@ispras.ru> <44ac1ca1-953a-21a2-0c9e-c83aca153b0b@redhat.com> In-Reply-To: <44ac1ca1-953a-21a2-0c9e-c83aca153b0b@redhat.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.2.0.6 authentication-results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=intel.com; x-originating-ip: [134.134.136.215] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: c5e365c9-d885-4891-999b-08d7f6a0d493 x-ms-traffictypediagnostic: MN2PR11MB4222: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-forefront-prvs: 0401647B7F x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: b7Bolum/xMDor9i6PBeioK5W/AWW8JY5uvkBW4tblSZwmlHkDLGYZG4+1M8xrVDsQsXCHMFx1MDWZ5EenpSXkOKDaezF7YJIxtg+D0nmIHwchpzJx4lxHL58m+cCpqymJgYBOhKFW5E8diMOiZ2hQHGelR+xvAnVwcwtiTHJ07RsMp1GM1+Ol4Rle3X11UW3KoFlPDM+7HYHEbMDxyGvuYYoGJgOKNEkjcdo4ZZwfD8RIOfeMGi2zxRpNNEggIhzSu2MkLgUeZPRa+nvU78Gh6LTcR945eGuPi6fQaQlvhRqYs5JKDy+Iw6fOYrB6xzAJkNyrtI68ZsRVwUWg+OiMm6g7saXFg7ieJbawyAlo6SQZuSCRg2RoqM2Vibj5Ki/aaPBZO+u87xZq/EKKbiDi1RAMNapijAv1cyBPDqAq9bEdiujUUPbDuosJPNt3h8JLF51GYpfJmNvgm2wnd9z1yOQX7BC1tamu7H1HJL83uM8+ZRTB+AS5cNPtXpOusnibi9AW0UYP2KhROSjit4gN/sEGLyy/C8h2tc7AIDxNVG2ehlaS/PgK+6I+n7XiP4OEhsQGyB3MHRO0wLqngo7PXsg0KgKXoaBBOZPLXqjnQE= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN2PR11MB4461.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(366004)(33430700001)(498600001)(26005)(7696005)(52536014)(8936002)(66574014)(33440700001)(4326008)(2906002)(107886003)(9686003)(53546011)(6506007)(71200400001)(186003)(8676002)(5660300002)(55016002)(66556008)(66446008)(64756008)(966005)(110136005)(66946007)(66476007)(76116006)(33656002)(54906003)(86362001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: y+wshNYYBTXaElanO6kj6ABornQUVXEv2Z6KmrXZcw4O0C1VLKHYbFBmQtl+/+Tay41MEwbuVB+vRC5+cdzvJyTKIY6NIqivq9LqoIjIofRRUj3JG/9CdzjLzT5cmXF+fSQzhsoWZ6HP4IAf9Dr5oXHaaMB50nVtLLCYnfYRtO73g5Xsh5apagIef02M/9Tdf2R8wRsjsLyKAKl7Mz8RiEENRMBsPIU47+PSlhh0TK38PhBjG4cHPS/aB18EaEHaUq9p1xHdBdfdw4/gryUb4nVmLGmB5mj3HiFmU4686/ezOdSfaPy4JJyF8J84/6SzbwiLVnjeySLtnKBYvH8Meaq24SC3bgtkSbdlvQlxL8JuVJEzTuTD06KmlXwv/JGmm2pNCGnNwanBN/T/6kqNimoAnb07uZ52dgoQa9HEMctjm27FimfB3BG4lZE8pYjD3KQuvFsPc9OiRNnMh3tRcrDJbrntgPJFO5rErdhX07xrsLsmaGRfj1OppjwWHIZd MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: c5e365c9-d885-4891-999b-08d7f6a0d493 X-MS-Exchange-CrossTenant-originalarrivaltime: 12 May 2020 18:18:11.5599 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: YIvLfekVpNQ6/KMLdZjJLMUCWTBlmD1cF8WiFKlHgSc0y+xdVw/fAmYNVfP318cUpYMxPMeqXDAOigX7v8YdpwZitDV2dSukxHUDwY7Dj7E= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB4222 Return-Path: michael.d.kinney@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 TGFzemxvLA0KDQpBIGxpYnJhcnkgaW1wbGVtZW50YXRpb24gdGhhdCB1c2VzIGFub3RoZXIgbGli cmFyeSBjbGFzcw0KbGlzdHMgdGhvc2UgbGlicmFyeSBjbGFzc2VzIGluIHRoZSBsaWJyYXJ5IElO Ri4gIFRoaXMgaXMgDQphIHdheSBhIG1vZHVsZSBjYW4gaW5oZXJpdCB0aGUgdXNlIG9mIGEgc2Vj b25kIGxpYiB3aXRob3V0DQpsaXN0aW5nIHRoZSBzZWNvbmQgbGliIGluIHRoZSBtb2R1bGUgSU5G LiAgVGhpcyBpcyB0aGUNCnR5cGUgb2YgaW5oZXJpdGFuY2UgdGhhdCBpcyBzdXBwb3J0ZWQgYnkg dGhlIEVESyBJSSBidWlsZA0Kc3lzdGVtIGFuZCB0aGUgRURLIElJIG1ldGEgZGF0YSBmaWxlcy4N Cg0KV2hhdCBpcyBub3Qgc3VwcG9ydGVkIHRvZGF5IGlzIGluZGlyZWN0IGluaGVyaXRhbmNlIGZy b20NCnRoZSBsaWJjbGFzcyAuaCBmaWxlIGl0c2VsZi4gIFRoZXJlIGlzIG5vIG1lY2hhbmlzbSBm b3IgDQp0aGUgbGliY2xhc3MgLmggZmlsZSB0byBkZWNsYXJlIGl0IGlzIHVzaW5nIGFub3RoZXIg bGlicmFyeQ0KY2xhc3MuICBUaGlzIHdvdWxkIHJlcXVpcmUgZXh0ZW5zaW9ucyB0byB0aGUgbWV0 YSBkYXRhIA0KZmlsZXMgdG8gZGVjbGFyZSB0aGlzIHR5cGUgZGVwZW5kZW5jeS4NCg0KSG93IGRv ZXMgdGhlIGJ1aWxkIHN5c3RlbSBrbm93IHRvIGFkZCBEZWJ1Z0NvbW1vbkxpYiB0bw0KdGhlIGxp bmsgY29tbWFuZCBmb3IgYSBtb2R1bGUgdGhhdCBvbmx5IGxpc3RzIERlYnVnTGliDQppbiBpdHMg bGlicmFyeSBjbGFzc2VzIHNlY3Rpb24/ICBXaGF0IGlmIHRoZXJlIGlzIGEgDQpEZWJ1Z0xpYiBp bXBsZW1lbnRhdGlvbiBvZiB0aGUgRGVidWdMaWIgY2xhc3MgdGhhdCANCmRvZXMgbm90IGRlcGVu ZCBvbiBEZWJ1Z0NvbW1vbkxpYi4gIFRoZSBtb2R1bGUgbGluaw0Kd2lsbCB0aGVuIGZhaWwgd2hl biB0aGUgbW9kdWxlIHdyaXRlciBmb2xsb3dlZCBhbGwgdGhlDQpydWxlcy4gIFRoaXMgaXMgd2h5 IGluY2x1ZGluZyBhIGxpYmNsYXNzIGZyb20gYW5vdGhlcg0KbGliY2xhc3MgaXMgYmFkIGlkZWEu DQoNCk1pa2UNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBkZXZlbEBl ZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+IE9uDQo+IEJlaGFsZiBPZiBMYXN6 bG8gRXJzZWsNCj4gU2VudDogVHVlc2RheSwgTWF5IDEyLCAyMDIwIDI6NTEgQU0NCj4gVG86IEtp bm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47DQo+IFZpdGFseSBD aGVwdHNvdiA8Y2hlcHRzb3ZAaXNwcmFzLnJ1PjsNCj4gZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4g Q2M6IEFuZHJldyBGaXNoIDxhZmlzaEBhcHBsZS5jb20+OyBNYXJ2aW4gSMOkdXNlcg0KPiA8bWhh ZXVzZXJAb3V0bG9vay5kZT47IEdhbywgTGltaW5nDQo+IDxsaW1pbmcuZ2FvQGludGVsLmNvbT47 IEdhbywgWmhpY2hhbw0KPiA8emhpY2hhby5nYW9AaW50ZWwuY29tPg0KPiBTdWJqZWN0OiBSZTog W2VkazItZGV2ZWxdIFtQQVRDSCBWNCAwMC8yN10gRGlzYWJsaW5nDQo+IHNhZmUgc3RyaW5nIGNv bnN0cmFpbnQgYXNzZXJ0aW9ucw0KPiANCj4gT24gMDUvMTIvMjAgMDA6NDAsIEtpbm5leSwgTWlj aGFlbCBEIHdyb3RlOg0KPiA+IFZpdGFseSwNCj4gPg0KPiA+IFRoYW5rIHlvdSBmb3IgdGhlIGNv bnRyaWJ1dGlvbi4NCj4gPg0KPiA+IFRoZXJlIGFyZSBhIGNvdXBsZSBwb2ludHMgYWJvdXQgdGhp cyBhcHByb2FjaCB0aGF0DQo+IG5lZWQgdG8gYmUgZGlzY3Vzc2VkLg0KPiA+DQo+ID4gWW91IGhh dmUgaW5jbHVkZWQgdGhlIDxMaWJyYXJ5L0RlYnVnQ29tbW9uTGliLmg+IGZyb20NCj4gPiBNZGVQ a2cvSW5jbHVkZS9MaWJyYXJ5L0RlYnVnTGliLmguDQo+IA0KPiBSaWdodCwgSSd2ZSBub3RpY2Vk IGl0LiBJIGFncmVlIGl0J3MgdW51c3VhbC4gSSBkaWRuJ3QNCj4gdGhpbmsgaXQgd2FzIHdyb25n Lg0KPiANCj4gPiBJdCBpcyB2ZXJ5IHJhcmUgZm9yIGENCj4gPiBsaWIgY2xhc3MgdG8gaW5jbHVk ZSBhbm90aGVyIGxpYiBjbGFzcy4gIFRoaXMgbWVhbnMNCj4gdGhhdCBhIG1vZHVsZQ0KPiA+IHRo YXQgaGFzIGEgZGVwZW5kZW5jeSBvbiB0aGUgRGVidWdMaWIgY2xhc3MgaW5oZXJpdHMNCj4gYSBo aWRkZW4NCj4gPiBkZXBlbmRlbmN5IG9uIHRoZSBEZWJ1Z0NvbW1vbkxpYiBjbGFzcy4NCj4gDQo+ IEkgYWdyZWUuDQo+IA0KPiBJIHRoaW5rIGl0IHNob3VsZCBiZSBmaW5lLiBBbnkgaGVhZGVyIEgx IHNob3VsZCBpbmNsdWRlDQo+IHN1Y2ggZnVydGhlcg0KPiBoZWFkZXJzIEgyLCBIMywgLi4uIEhu IHRoYXQgYXJlIHJlcXVpcmVkIGZvciBtYWtpbmcgdGhlDQo+IGludGVyZmFjZXMNCj4gZGVjbGFy ZWQgaW4gSDEgdXNhYmxlIGluIGNsaWVudCBtb2R1bGVzLg0KPiANCj4gPiBGb3IgbW9kdWxlIElO RiBmaWxlcywNCj4gPiB3ZSByZXF1aXJlIHRoZSBJTkYgZmlsZSB0byBsaXN0IGFsbCB0aGUgbGli IGNsYXNzZXMNCj4gdGhhdCB0aGUNCj4gPiBtb2R1bGUgc291cmNlcyBkaXJlY3RseSB1c2UuDQo+ IA0KPiBZZXMsIGtleXdvcmQgYmVpbmcgImRpcmVjdGx5Ii4NCj4gDQo+ID4gU2luY2UgYSBtb2R1 bGUgdGhhdCB1c2VzIHRoZQ0KPiA+IERlYnVnTGliIHVzZXMgdGhlIEFTU0VSVCgpIGFuZCBERUJV RygpIG1hY3JvcywgYWxsDQo+IHRoZSBBUElzDQo+ID4gdGhhdCB0aGUgQVNTRVJUKCkgYW5kIERF QlVHKCkgbWFjcm9zIHVzZSBhcmUgYWxzbw0KPiBkaXJlY3RseQ0KPiA+IHVzZWQgYnkgdGhlIG1v ZHVsZS4NCj4gDQo+IEkgYmVsaWV2ZSB0aGlzIGlzIHdoZXJlIEkgZGlzYWdyZWUuIFRoZSByZXBs YWNlbWVudA0KPiB0ZXh0cyBvZiB0aGUNCj4gQVNTRVJUKCkgYW5kIERFQlVHKCkgZnVuY3Rpb24t bGlrZSBtYWNyb3MgYXJlIGludGVybmFscw0KPiBvZiB0aGUNCj4gRGVidWdMaWIuaCBsaWIgY2xh c3MgaGVhZGVyLCBpbiBteSBvcGluaW9uLiBUaG9zZQ0KPiBpbnRlcm5hbHMgcGxhY2UNCj4gcmVx dWlyZW1lbnRzIG9uIHNwZWNpZmljIERlYnVnTGliIGluc3RhbmNlcywgbm90IG9uDQo+IERlYnVn TGliIGNsYXNzDQo+IGNvbnN1bWVycy4NCj4gDQo+IEluIG90aGVyIHdvcmRzLCB3aGVuIHdyaXRp bmcgYSBuZXcgRGVidWdMaWIgaW5zdGFuY2UsDQo+IHRoZSBpbXBsZW1lbnRvcg0KPiBoYXMgdG8g ZW5zdXJlIHRoYXQgdGhlIEFTU0VSVCgpIGFuZCBERUJVRygpIG1hY3JvcywgYXMNCj4gZGVmaW5l ZCBpbiB0aGUNCj4gRGVidWdMaWIgY2xhc3MgaGVhZGVyLCB3aWxsIGNvbnRpbnVlIHdvcmtpbmcg aW4NCj4gRGVidWdMaWIgY29uc3VtZXINCj4gbW9kdWxlcy4gVGhlIGltcGxlbWVudG9yIG1heSB0 aGVuIGNob29zZSB0byBtYWtlIHRoZQ0KPiBuZXcgRGVidWdMaWINCj4gaW5zdGFuY2UgZGVwZW5k ZW50IG9uIHRoZSAoc2luZ2xldG9uKSBEZWJ1Z0NvbW1vbkxpYg0KPiBpbnN0YW5jZSwgZm9yDQo+ IGV4YW1wbGUuIChUaGlzIGlzIGJlaW5nIGRvbmUgaW4gcGF0Y2hlcyAjMywgIzQsICMxNiwNCj4g bWF5YmUgbW9yZS4pIFRoZQ0KPiBEZWJ1Z0xpYiBjb25zdW1lciBtb2R1bGUgd2lsbCBpbmhlcml0 IHRoYXQgZGVwZW5kZW5jeSwNCj4gYW5kIGV2ZXJ5dGhpbmcNCj4gd2lsbCB3b3JrLg0KPiANCj4g SnVzdCBiZWNhdXNlIEFTU0VSVCgpIGFuZCBERUJVRygpIGFyZSBmdW5jdGlvbi1saWtlDQo+IG1h Y3JvcyBhbmQgbm90DQo+IGFjdHVhbCBmdW5jdGlvbnMsIEkgZG9uJ3QgdGhpbmsgdGhlIElORiBm aWxlDQo+IHJlcXVpcmVtZW50cyBpbg0KPiBEZWJ1Z0xpYi1jb25zdW1lciBtb2R1bGVzIHNob3Vs ZCBjaGFuZ2UuDQo+IA0KPiA+IFdpdGggdGhpcyBwYXRjaCBzZXJpZXMsIHRoZXNlIG1hY3Jvcw0K PiA+IG5vdyB1c2UgdGhlIERlYnVnQ29tbW9uTGliIGNsYXNzIEFQSXMsIHdoaWNoIG1lYW5zDQo+ IGFueSBtb2R1bGUNCj4gPiB0aGF0IHVzZXMgdGhlIERlYnVnTGliIGFsc28gZGlyZWN0bHkgdXNl cyB0aGUNCj4gRGVidWdDb21tb25MaWIuDQo+IA0KPiBJbiBteSBvcGluaW9uOiBpbmRpcmVjdGx5 Lg0KPiANCj4gVGhhbmtzLA0KPiBMYXN6bG8NCj4gDQo+IA0KPiANCg0K