From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by mx.groups.io with SMTP id smtpd.web10.591.1589392753392626140 for ; Wed, 13 May 2020 10:59:13 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=dngF9ZAM; spf=pass (domain: intel.com, ip: 192.55.52.115, mailfrom: liming.gao@intel.com) IronPort-SDR: fn6vJTa+ZQ8HLG8IiAlgl7MGT4lpuEVKu1Gfn7UJfF7FMDZIZCGd58iHtDuFvPE+jaoo4h91QF ekoQQ8WuQ/+w== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 May 2020 10:59:07 -0700 IronPort-SDR: hto+XNBh0q6CV6NGwLEvuRR3uLj7F30kSHMp3MN42t5XqHHN/u383NBOFFiYh9bIprtFTqwG5e zPH+3BFcGNGA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,388,1583222400"; d="scan'208";a="287112819" Received: from orsmsx106.amr.corp.intel.com ([10.22.225.133]) by fmsmga004.fm.intel.com with ESMTP; 13 May 2020 10:59:06 -0700 Received: from orsmsx156.amr.corp.intel.com (10.22.240.22) by ORSMSX106.amr.corp.intel.com (10.22.225.133) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 13 May 2020 10:59:06 -0700 Received: from ORSEDG002.ED.cps.intel.com (10.7.248.5) by ORSMSX156.amr.corp.intel.com (10.22.240.22) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 13 May 2020 10:59:05 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.108) by edgegateway.intel.com (134.134.137.101) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 13 May 2020 10:59:05 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iAH9sA1POTldGzVIgGzlCWHuLELyZyxWIhWwTkP6XkTt9AWKHpPq3DOY9xzHbjOoHP75sOVD1Q6AqlZzBXpjHK9ncLWW6b4MNCsQM6R3ZDkJOT+u9mkC4B6ai1Gy5D6bmbxk/KTaKrdOBkTSOeTxd7LsWArVNScmShGjp9uoCFk2WGvWBB7obEBvoWy94Ozecjgo6v0h5VECNhg5wJBw1LEkpF1K/Ciuaffc62YXJQC2deqbpYnyv4trIrEoOXjAc70frKB6KeotuNGI6vlZeA9wxK8+Nz5+QFSL6kI10Q+/EO+zfZ+DEhpMqyTqdsJ3PYJ6vVpk3K43n09mukTLzQ== 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=6Qt9TygEC0hPm7glVbbLlX8Q3RzawGK5wriEH5o53Go=; b=l+oDYJTypZuZHQhhaYUEmENdiuee4lmENKtG7P++FN5aW81L2fsJbjz51izDdXmVAv9ubbZXplmJ0JaDRSPwi9GlC+JbbfcXbUJFMxEon46vqeIAbVuakMTETznSa9W3WXWinM5Tq02i0XSLIjBHkBIhCdKs4E+TKY10Ps2HgRCA58vTTJulyx5ghYh1KpN2hzH/F2nRrQY7TczvvJ9ay/DKZ96jEH8F6DPFgIAuY0rPrromMkoD4GaMs+aNrNdx50ok53gAvmsJRQJVkppIhatMuACXWbVX0htDaHKaq7xhfKIgDxvPjISfsgDYjuxQMCVN1hqZK8hmz+xeRwwfLQ== 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=6Qt9TygEC0hPm7glVbbLlX8Q3RzawGK5wriEH5o53Go=; b=dngF9ZAMof3M6vHaKt0J8NVioHxXU5oyPbSuPogTOAG8BUNsWYjzAjZtQ9lam5KGALjNWHVDW0A9leqv05cnGwAb5r5fqtfrY+92dcP7jqg1Omz7EH4jR+yzH9q7fXr4AYuRifAWIpvwIRzaQ7/f4claskEVexkFktEh95gsekA= Received: from BN6PR11MB3972.namprd11.prod.outlook.com (2603:10b6:405:7f::11) by BN6PR11MB3875.namprd11.prod.outlook.com (2603:10b6:405:80::37) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2979.33; Wed, 13 May 2020 17:59:04 +0000 Received: from BN6PR11MB3972.namprd11.prod.outlook.com ([fe80::3c03:da06:5345:bfa0]) by BN6PR11MB3972.namprd11.prod.outlook.com ([fe80::3c03:da06:5345:bfa0%7]) with mapi id 15.20.2979.033; Wed, 13 May 2020 17:59:03 +0000 From: "Liming Gao" To: Vitaly Cheptsov , "Kinney, Michael D" , "lersek@redhat.com" CC: "devel@edk2.groups.io" , Andrew Fish , =?utf-8?B?TWFydmluIEjDpHVzZXI=?= , "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: AQHWJ+UzMLCT8K2Ne0mkdL5H1qRZiKikNdCAgACNyICAAAsUAIABfqmg Date: Wed, 13 May 2020 17:59:03 +0000 Message-ID: References: <20200511154121.3878-1-cheptsov@ispras.ru> <44ac1ca1-953a-21a2-0c9e-c83aca153b0b@redhat.com> <09ED0896-A19B-4710-A92A-46B678BF94D4@ispras.ru> In-Reply-To: <09ED0896-A19B-4710-A92A-46B678BF94D4@ispras.ru> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.2.0.6 dlp-product: dlpe-windows dlp-reaction: no-action authentication-results: ispras.ru; dkim=none (message not signed) header.d=none;ispras.ru; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.55.52.200] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 493e2952-8778-41cf-7d81-08d7f76752d5 x-ms-traffictypediagnostic: BN6PR11MB3875: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-forefront-prvs: 0402872DA1 x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Pm2Ag1a7TDS/ApH1v2hAMz6i+6H4Rcy6py/kWUIuxkAPTonU9XvEWW/sRCyCE6X2iEp+bMvlQl9TBcdTag/dFy5WTbMEkWyABXVGmQiTD1Uuw7vZo3UaheMbX3mg6TGV24peP2M9R1WGQ5yQOsi+wwsY1dt87IOXNMlMxY7/UR8sDQh7paWAiF1Kkwg8dtDwVrGcrfcfN/vmKdzufKrevbfnttq88WLvZmzk0db9OaMxxzgXH4GpqmI/A6x+RS8A+xq32ml7U/Mx+C0OJ9il3g1HnRT8K+AZwB2foaU9lLBYL64T9Oom1u2oD2ix1+qNGVe3JqYY5H6TUQi1uwKH0X56WNxu53vEeu9Tvra6ai2sgPeGu9MEirrLGzqTJ1grQUjTBfnlWBUG/MIuZGuHMOZ/4CXJfe3V4BSwYZMjT5b1ft1IiqxpPNx8WsLkKccS+01kenxdIu2K0GPCwX1PUDL9dwbsJDE5mgSc+rFYCKnb/Qbzic/yzBBQjiLoBAK27FGg4F/RLHh/sQPA313BVt1U/wShkfKz0uprEjhCA0qLAxGQCq/jrHRje/0Ain9rarmGvekNh7uWugXGotV4W4rACWnNPaCZK4feFBJO8us= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN6PR11MB3972.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(366004)(396003)(39860400002)(376002)(136003)(346002)(33430700001)(110136005)(54906003)(316002)(66556008)(66476007)(64756008)(9686003)(66946007)(5660300002)(76116006)(26005)(7696005)(8676002)(52536014)(86362001)(33656002)(53546011)(6506007)(8936002)(186003)(66446008)(66574014)(966005)(4326008)(107886003)(71200400001)(33440700001)(2906002)(55016002)(478600001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: zCJOMNDQnKoI3zNcr12JZSGeUhB6eHAEPmxRhnilQY6GHAuDSGNaB7edGxJb9RUwPohxzUenUZB4OftNUH0bE9StRnTOvB/JXMWru+kaVtyeoG5w7j/4N0bBNkHoUAlkBnCOk4uURCOmAxu06pY+0TATo8zYiZe/+Tf4aF172t6+Vcit8lVGq01T9/BRdbCGG9HWMnBiz6E7vlkJXcGGyKL2mx2Y8rKNN6Fo2jkEFmM9XcfoVkTEMoEG/r4L/i8yWKJ0eTqqK++jYJIALMj5VDcZCx9vEzEbDXhtlEs5DOrvxGAwDQOu8YMhy61EKWeaC2RYxNkKvhZ43/zXUXkZF1PcVYpNFcrSzsm4eH8K9xM+9UGityxmPauWfCLIBdfZWT3gZP0zqoVolWcI0BBEdn/OZAmWne5Qw2dHghaWP6IGwRjNQ7Q8sdFhLk3G4SRDizobApWdbkk8BNf790i2GdNQ8B1AixgZrSrqnGvxKOYwD9JVpv6ZCWhw/WJmJ9ZV MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 493e2952-8778-41cf-7d81-08d7f76752d5 X-MS-Exchange-CrossTenant-originalarrivaltime: 13 May 2020 17:59:03.7550 (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: kYgmfyllxb8p6Q2Nr+0LB/41rwrMVVXX7b9AIYmPARqTWm0LlXUbk2oF8Grr98NGgypPYPFfTL8QQNY7pTBsGw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR11MB3875 Return-Path: liming.gao@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Vml0YWx5Og0KICBJIHdvdWxkIGxpa2UgdG8gcHJvcG9zZSBvbmUgc29sdXRpb24gdG8gdXBkYXRl IERlYnVnTGliLmggb25seS4gVGhpcyBzb2x1dGlvbiBkaXJlY3RseSBkZWNsYXJlcyBQY2REZWJ1 Z1Byb3BlcnR5TWFzayBnbG9iYWwgdmFyaWFibGUgaW4gRGVidWdMaWIuaC4gVGhlbiwgRGVidWdM aWIgbWFjcm8gY2FuIHVzZSBpdC4gQmVjYXVzZSBtb3N0IG9mIERlYnVnTGliIGxpYnJhcnkgaW5z dGFuY2VzIGRlc2NyaWJlIFBjZERlYnVnUHJvcGVydHlNYXNrIGluIHRoZWlyIElORiwgdGhpcyBQ Q0QgY2FuIGJlIGdlbmVyYXRlZCB3aXRob3V0IHRoZSBhZGRpdGlvbmFsIGNoYW5nZS4gSSBhbHNv IGV2YWx1YXRlIFBjZERlYnVnUHJvcGVydHlNYXNrIHVzYWdlIGluIGV4aXN0aW5nIHBsYXRmb3Jt LiBUaGlzIFBDRCBpcyBhbHdheXMgdXNlZCBhcyBGaXhlZEF0QnVpbGQuIFNvLCBJIGNoYW5nZSBQ Y2REZWJ1Z1Byb3BlcnR5TWFzayB0eXBlIGluIERFQyB0byBGaXhlZEF0QnVpbGQuIFRoaXMgY2hh bmdlIGltcGFjdCBzaG91bGQgYmUgc21hbGxlciB0aGFuIGN1cnJlbnQgcGF0Y2ggc2V0LiBCZWxv dyBwYXRjaCBwYXNzZXMgdGhlIGJ1aWxkIG9uIE92bWZQa2cuIEl0IHNob3VsZCB3b3JrLiANCiAg DQogIEJlc2lkZXMsIG5ldyBQY2REZWJ1Z1Byb3BlcnR5TWFzayBCSVQ2IGZvciBUcmVhdCBjb25z dHJhaW50IHZpb2xhdGlvbnMgYXMgQVNTRVJULiBUaGlzIEJJVCBzaG91bGQgYmUgZW5hYmxlZCBi eSBkZWZhdWx0IHRvIGJlIGNvbXBhdGlibGUgd2l0aCBjdXJyZW50IHBsYXRmb3JtLiBOb3csIG1v c3QgcGxhdGZvcm1zIHNldCB0aGlzIFBDRCBQY2REZWJ1Z1Byb3BlcnR5TWFzayBpbiB0aGVpciBw bGF0Zm9ybSBEU0MgZmlsZS4gUENEIHZhbHVlIGlzIGFsc28gcmVxdWlyZWQgdG8gYmUgdXBkYXRl ZC4gQW5vdGhlciBjb21wYXRpYmxlIHdheSBpcyB0byBkZWZpbmUgQklUNiBmb3IgVHJlYXQgY29u c3RyYWludCB2aW9sYXRpb25zIGFzIGVtcHR5LiBXaGVuIEJJVDYgaXMgMSwgaXQgbWVhbnMgY29u c3RyYWludCB2aW9sYXRpb24gYXMgZW1wdHkuIFdoZW4gQklUNiBpcyAwLCBpdCBtZWFucyBjb25z dHJhaW50IHZpb2xhdGlvbiBhcyBBU1NFUlQuIElmIHNvLCB0aGlzIFBDRCB2YWx1ZSBpcyBub3Qg cmVxdWlyZWQgdG8gYmUgY2hhbmdlZCBpbiBwbGF0Zm9ybSBEU0MuDQoNClRoYW5rcw0KTGltaW5n DQotLS0NCiBNZGVQa2cvSW5jbHVkZS9MaWJyYXJ5L0RlYnVnTGliLmggICAgICAgICAgICAgICAg ICB8ICA3ICsrKysrKy0NCiAuLi4vTGlicmFyeS9CYXNlRGVidWdMaWJOdWxsL0Jhc2VEZWJ1Z0xp Yk51bGwuaW5mICB8ICA0ICsrKysNCiBNZGVQa2cvTWRlUGtnLmRlYyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8IDIyICsrKysrKysrKysrLS0tLS0tLS0tLS0NCiAzIGZpbGVzIGNo YW5nZWQsIDIxIGluc2VydGlvbnMoKyksIDEyIGRlbGV0aW9ucygtKQ0KDQpkaWZmIC0tZ2l0IGEv TWRlUGtnL0luY2x1ZGUvTGlicmFyeS9EZWJ1Z0xpYi5oIGIvTWRlUGtnL0luY2x1ZGUvTGlicmFy eS9EZWJ1Z0xpYi5oDQppbmRleCBiYWFiMzRiZjA1Li42ODYwNGRlODY5IDEwMDY0NA0KLS0tIGEv TWRlUGtnL0luY2x1ZGUvTGlicmFyeS9EZWJ1Z0xpYi5oDQorKysgYi9NZGVQa2cvSW5jbHVkZS9M aWJyYXJ5L0RlYnVnTGliLmgNCkBAIC0zMjEsNiArMzIxLDExIEBAIERlYnVnUHJpbnRMZXZlbEVu YWJsZWQgKA0KICNkZWZpbmUgX0RFQlVHKEV4cHJlc3Npb24pICAgRGVidWdQcmludCBFeHByZXNz aW9uDQogI2VuZGlmDQogDQorLy8NCisvLyBGaXhlZEF0QnVpbGQgUENEIHZhbHVlIFBjZERlYnVn UHJvcGVydHlNYXNrDQorLy8NCitleHRlcm4gY29uc3QgVUlOVDggX2dQY2RfRml4ZWRBdEJ1aWxk X1BjZERlYnVnUHJvcGVydHlNYXNrOw0KKw0KIC8qKg0KICAgTWFjcm8gdGhhdCBjYWxscyBEZWJ1 Z0Fzc2VydCgpIGlmIGFuIGV4cHJlc3Npb24gZXZhbHVhdGVzIHRvIEZBTFNFLg0KIA0KQEAgLTMz Niw3ICszNDEsNyBAQCBEZWJ1Z1ByaW50TGV2ZWxFbmFibGVkICgNCiAjaWYgIWRlZmluZWQoTURF UEtHX05ERUJVRykNCiAgICNkZWZpbmUgQVNTRVJUKEV4cHJlc3Npb24pICAgICAgICBcDQogICAg IGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KLSAgICAgIGlmIChEZWJ1Z0Fzc2Vy dEVuYWJsZWQgKCkpIHsgIFwNCisgICAgICBpZiAoKERFQlVHX1BST1BFUlRZX0RFQlVHX0FTU0VS VF9FTkFCTEVEICYgX2dQY2RfRml4ZWRBdEJ1aWxkX1BjZERlYnVnUHJvcGVydHlNYXNrKSAhPSAw KSB7ICBcDQogICAgICAgICBpZiAoIShFeHByZXNzaW9uKSkgeyAgICAgICAgXA0KICAgICAgICAg ICBfQVNTRVJUIChFeHByZXNzaW9uKTsgICAgIFwNCiAgICAgICAgICAgQU5BTFlaRVJfVU5SRUFD SEFCTEUgKCk7ICBcDQpkaWZmIC0tZ2l0IGEvTWRlUGtnL0xpYnJhcnkvQmFzZURlYnVnTGliTnVs bC9CYXNlRGVidWdMaWJOdWxsLmluZiBiL01kZVBrZy9MaWJyYXJ5L0Jhc2VEZWJ1Z0xpYk51bGwv QmFzZURlYnVnTGliTnVsbC5pbmYNCmluZGV4IDgxYTYzYTUwNzQuLjFlOTVhMmYwNzcgMTAwNjQ0 DQotLS0gYS9NZGVQa2cvTGlicmFyeS9CYXNlRGVidWdMaWJOdWxsL0Jhc2VEZWJ1Z0xpYk51bGwu aW5mDQorKysgYi9NZGVQa2cvTGlicmFyeS9CYXNlRGVidWdMaWJOdWxsL0Jhc2VEZWJ1Z0xpYk51 bGwuaW5mDQpAQCAtMjksMyArMjksNyBAQA0KIFtQYWNrYWdlc10NCiAgIE1kZVBrZy9NZGVQa2cu ZGVjDQogDQorW1BjZF0NCisgICMgVGhpcyBQQ0QgaXMgY29uc3VtZWQgaW4gRGVidWdMaWIuaA0K KyAgZ0VmaU1kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZERlYnVnUHJvcGVydHlNYXNrICAgICAgIyMg Q09OU1VNRVMNCisNCmRpZmYgLS1naXQgYS9NZGVQa2cvTWRlUGtnLmRlYyBiL01kZVBrZy9NZGVQ a2cuZGVjDQppbmRleCAwYWIwOTE5NWMxLi5mOGFhY2RmNDI4IDEwMDY0NA0KLS0tIGEvTWRlUGtn L01kZVBrZy5kZWMNCisrKyBiL01kZVBrZy9NZGVQa2cuZGVjDQpAQCAtMjEwNSw2ICsyMTA1LDE3 IEBADQogICAjIEBQcm9tcHQgU3BlY3VsYXRpb24gQmFycmllciBUeXBlLg0KICAgZ0VmaU1kZVBr Z1Rva2VuU3BhY2VHdWlkLlBjZFNwZWN1bGF0aW9uQmFycmllclR5cGV8MHgwMXxVSU5UOHwweDMw MDAxMDE4DQogDQorICAjIyBUaGUgbWFzayBpcyB1c2VkIHRvIGNvbnRyb2wgRGVidWdMaWIgYmVo YXZpb3IuPEJSPjxCUj4NCisgICMgIEJJVDAgLSBFbmFibGUgRGVidWcgQXNzZXJ0LjxCUj4NCisg ICMgIEJJVDEgLSBFbmFibGUgRGVidWcgUHJpbnQuPEJSPg0KKyAgIyAgQklUMiAtIEVuYWJsZSBE ZWJ1ZyBDb2RlLjxCUj4NCisgICMgIEJJVDMgLSBFbmFibGUgQ2xlYXIgTWVtb3J5LjxCUj4NCisg ICMgIEJJVDQgLSBFbmFibGUgQnJlYWtQb2ludCBhcyBBU1NFUlQuPEJSPg0KKyAgIyAgQklUNSAt IEVuYWJsZSBEZWFkTG9vcCBhcyBBU1NFUlQuPEJSPg0KKyAgIyBAUHJvbXB0IERlYnVnIFByb3Bl cnR5Lg0KKyAgIyBARXhwcmVzc2lvbiAgMHg4MDAwMDAwMiB8IChnRWZpTWRlUGtnVG9rZW5TcGFj ZUd1aWQuUGNkRGVidWdQcm9wZXJ0eU1hc2sgJiAweEMwKSA9PSAwDQorICBnRWZpTWRlUGtnVG9r ZW5TcGFjZUd1aWQuUGNkRGVidWdQcm9wZXJ0eU1hc2t8MHxVSU5UOHwweDAwMDAwMDA1DQorDQog W1BjZHNGaXhlZEF0QnVpbGQsUGNkc1BhdGNoYWJsZUluTW9kdWxlXQ0KICAgIyMgSW5kaWNhdGVz IHRoZSBtYXhpbXVtIGxlbmd0aCBvZiB1bmljb2RlIHN0cmluZyB1c2VkIGluIHRoZSBmb2xsb3dp bmcNCiAgICMgIEJhc2VMaWIgZnVuY3Rpb25zOiBTdHJMZW4oKSwgU3RyU2l6ZSgpLCBTdHJDbXAo KSwgU3RybkNtcCgpLCBTdHJDcHkoKSwgU3RybkNweSgpPEJSPjxCUj4NCkBAIC0yMTM5LDE3ICsy MTUwLDYgQEANCiAgICMgQFByb21wdCBTcGluIExvY2sgVGltZW91dCAodXMpLg0KICAgZ0VmaU1k ZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFNwaW5Mb2NrVGltZW91dHwxMDAwMDAwMHxVSU5UMzJ8MHgw MDAwMDAwNA0KIA0KLSAgIyMgVGhlIG1hc2sgaXMgdXNlZCB0byBjb250cm9sIERlYnVnTGliIGJl aGF2aW9yLjxCUj48QlI+DQotICAjICBCSVQwIC0gRW5hYmxlIERlYnVnIEFzc2VydC48QlI+DQot ICAjICBCSVQxIC0gRW5hYmxlIERlYnVnIFByaW50LjxCUj4NCi0gICMgIEJJVDIgLSBFbmFibGUg RGVidWcgQ29kZS48QlI+DQotICAjICBCSVQzIC0gRW5hYmxlIENsZWFyIE1lbW9yeS48QlI+DQot ICAjICBCSVQ0IC0gRW5hYmxlIEJyZWFrUG9pbnQgYXMgQVNTRVJULjxCUj4NCi0gICMgIEJJVDUg LSBFbmFibGUgRGVhZExvb3AgYXMgQVNTRVJULjxCUj4NCi0gICMgQFByb21wdCBEZWJ1ZyBQcm9w ZXJ0eS4NCi0gICMgQEV4cHJlc3Npb24gIDB4ODAwMDAwMDIgfCAoZ0VmaU1kZVBrZ1Rva2VuU3Bh Y2VHdWlkLlBjZERlYnVnUHJvcGVydHlNYXNrICYgMHhDMCkgPT0gMA0KLSAgZ0VmaU1kZVBrZ1Rv a2VuU3BhY2VHdWlkLlBjZERlYnVnUHJvcGVydHlNYXNrfDB8VUlOVDh8MHgwMDAwMDAwNQ0KLQ0K ICAgIyMgVGhpcyBmbGFnIGlzIHVzZWQgdG8gY29udHJvbCB0aGUgcHJpbnQgb3V0IERlYnVnIG1l c3NhZ2UuPEJSPjxCUj4NCiAgICMgIEJJVDAgIC0gSW5pdGlhbGl6YXRpb24gbWVzc2FnZS48QlI+ DQogICAjICBCSVQxICAtIFdhcm5pbmcgbWVzc2FnZS48QlI+DQotLQ0KDQpUaGFua3MNCkxpbWlu Zw0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBWaXRhbHkgQ2hlcHRzb3Yg PGNoZXB0c292QGlzcHJhcy5ydT4NCj4gU2VudDogV2VkbmVzZGF5LCBNYXkgMTMsIDIwMjAgMjo1 OCBBTQ0KPiBUbzogS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29t PjsgbGVyc2VrQHJlZGhhdC5jb20NCj4gQ2M6IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBBbmRyZXcg RmlzaCA8YWZpc2hAYXBwbGUuY29tPjsgTWFydmluIEjDpHVzZXIgPG1oYWV1c2VyQG91dGxvb2su ZGU+OyBHYW8sIExpbWluZw0KPiA8bGltaW5nLmdhb0BpbnRlbC5jb20+OyBHYW8sIFpoaWNoYW8g PHpoaWNoYW8uZ2FvQGludGVsLmNvbT4NCj4gU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBbUEFU Q0ggVjQgMDAvMjddIERpc2FibGluZyBzYWZlIHN0cmluZyBjb25zdHJhaW50IGFzc2VydGlvbnMN Cj4gDQo+IE1pa2UsDQo+IA0KPiBJIHNlZSB3aGF0IHlvdSBtZWFuIGhlcmUsIGJ1dCBJIGJlbGll dmUgaXQgaXMgYWJzb2x1dGVseSBmaW5lIHRvIGltcGxlbWVudCBEZWJ1Z0NvbW1vbkxpYi5oIGlu dGVyZmFjZSB3aXRoaW4gRGVidWdMaWIgd2l0aG91dA0KPiBkZXBlbmRpbmcgb24gRGVidWdDb21t b25MaWIgaWYgb25lIGFic29sdXRlbHkgZGVzaXJlcyBpdCAodGhvdWdodCBJIGRvIG5vdCB0aGlu ayBpdCBpcyBhIGdvb2QgaWRlYSkuDQo+IEluIHRoaXMgY2FzZSwgcGVyaGFwcyB3ZSBjYW4gYXZv aWQgYWRkaW5nIERlYnVnQ29tbW9uTGliLmggaGVhZGVyIGF0IGFsbCBhbmQgbGVhdmUgaXQgYWxs IGluIERlYnVnTGliLmg/DQo+IFNvIHRoYXQgRGVidWdDb21tb25MaWIgbGlicmFyeSBpcyBlbnRp cmVseSBwcml2YXRlIHRoaW5nIHRvIERlYnVnTGliLCB3aGljaCBjYW4gZWl0aGVyIHVzZSBpdCBv ciBub3QuDQo+IA0KPiBCZXN0IHdpc2hlcywNCj4gVml0YWx5DQo+IA0KPiA+IDEyINC80LDRjyAy MDIwINCzLiwg0LIgMjE6MTgsIEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGlu dGVsLmNvbT4g0L3QsNC/0LjRgdCw0Lso0LApOg0KPiA+DQo+ID4gTGFzemxvLA0KPiA+DQo+ID4g QSBsaWJyYXJ5IGltcGxlbWVudGF0aW9uIHRoYXQgdXNlcyBhbm90aGVyIGxpYnJhcnkgY2xhc3MN Cj4gPiBsaXN0cyB0aG9zZSBsaWJyYXJ5IGNsYXNzZXMgaW4gdGhlIGxpYnJhcnkgSU5GLiAgVGhp cyBpcw0KPiA+IGEgd2F5IGEgbW9kdWxlIGNhbiBpbmhlcml0IHRoZSB1c2Ugb2YgYSBzZWNvbmQg bGliIHdpdGhvdXQNCj4gPiBsaXN0aW5nIHRoZSBzZWNvbmQgbGliIGluIHRoZSBtb2R1bGUgSU5G LiAgVGhpcyBpcyB0aGUNCj4gPiB0eXBlIG9mIGluaGVyaXRhbmNlIHRoYXQgaXMgc3VwcG9ydGVk IGJ5IHRoZSBFREsgSUkgYnVpbGQNCj4gPiBzeXN0ZW0gYW5kIHRoZSBFREsgSUkgbWV0YSBkYXRh IGZpbGVzLg0KPiA+DQo+ID4gV2hhdCBpcyBub3Qgc3VwcG9ydGVkIHRvZGF5IGlzIGluZGlyZWN0 IGluaGVyaXRhbmNlIGZyb20NCj4gPiB0aGUgbGliY2xhc3MgLmggZmlsZSBpdHNlbGYuICBUaGVy ZSBpcyBubyBtZWNoYW5pc20gZm9yDQo+ID4gdGhlIGxpYmNsYXNzIC5oIGZpbGUgdG8gZGVjbGFy ZSBpdCBpcyB1c2luZyBhbm90aGVyIGxpYnJhcnkNCj4gPiBjbGFzcy4gIFRoaXMgd291bGQgcmVx dWlyZSBleHRlbnNpb25zIHRvIHRoZSBtZXRhIGRhdGENCj4gPiBmaWxlcyB0byBkZWNsYXJlIHRo aXMgdHlwZSBkZXBlbmRlbmN5Lg0KPiA+DQo+ID4gSG93IGRvZXMgdGhlIGJ1aWxkIHN5c3RlbSBr bm93IHRvIGFkZCBEZWJ1Z0NvbW1vbkxpYiB0bw0KPiA+IHRoZSBsaW5rIGNvbW1hbmQgZm9yIGEg bW9kdWxlIHRoYXQgb25seSBsaXN0cyBEZWJ1Z0xpYg0KPiA+IGluIGl0cyBsaWJyYXJ5IGNsYXNz ZXMgc2VjdGlvbj8gIFdoYXQgaWYgdGhlcmUgaXMgYQ0KPiA+IERlYnVnTGliIGltcGxlbWVudGF0 aW9uIG9mIHRoZSBEZWJ1Z0xpYiBjbGFzcyB0aGF0DQo+ID4gZG9lcyBub3QgZGVwZW5kIG9uIERl YnVnQ29tbW9uTGliLiAgVGhlIG1vZHVsZSBsaW5rDQo+ID4gd2lsbCB0aGVuIGZhaWwgd2hlbiB0 aGUgbW9kdWxlIHdyaXRlciBmb2xsb3dlZCBhbGwgdGhlDQo+ID4gcnVsZXMuICBUaGlzIGlzIHdo eSBpbmNsdWRpbmcgYSBsaWJjbGFzcyBmcm9tIGFub3RoZXINCj4gPiBsaWJjbGFzcyBpcyBiYWQg aWRlYS4NCj4gPg0KPiA+IE1pa2UNCj4gPg0KPiA+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0t LQ0KPiA+PiBGcm9tOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+ IE9uDQo+ID4+IEJlaGFsZiBPZiBMYXN6bG8gRXJzZWsNCj4gPj4gU2VudDogVHVlc2RheSwgTWF5 IDEyLCAyMDIwIDI6NTEgQU0NCj4gPj4gVG86IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQu a2lubmV5QGludGVsLmNvbT47DQo+ID4+IFZpdGFseSBDaGVwdHNvdiA8Y2hlcHRzb3ZAaXNwcmFz LnJ1PjsNCj4gPj4gZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gPj4gQ2M6IEFuZHJldyBGaXNoIDxh ZmlzaEBhcHBsZS5jb20+OyBNYXJ2aW4gSMOkdXNlcg0KPiA+PiA8bWhhZXVzZXJAb3V0bG9vay5k ZT47IEdhbywgTGltaW5nDQo+ID4+IDxsaW1pbmcuZ2FvQGludGVsLmNvbT47IEdhbywgWmhpY2hh bw0KPiA+PiA8emhpY2hhby5nYW9AaW50ZWwuY29tPg0KPiA+PiBTdWJqZWN0OiBSZTogW2VkazIt ZGV2ZWxdIFtQQVRDSCBWNCAwMC8yN10gRGlzYWJsaW5nDQo+ID4+IHNhZmUgc3RyaW5nIGNvbnN0 cmFpbnQgYXNzZXJ0aW9ucw0KPiA+Pg0KPiA+PiBPbiAwNS8xMi8yMCAwMDo0MCwgS2lubmV5LCBN aWNoYWVsIEQgd3JvdGU6DQo+ID4+PiBWaXRhbHksDQo+ID4+Pg0KPiA+Pj4gVGhhbmsgeW91IGZv ciB0aGUgY29udHJpYnV0aW9uLg0KPiA+Pj4NCj4gPj4+IFRoZXJlIGFyZSBhIGNvdXBsZSBwb2lu dHMgYWJvdXQgdGhpcyBhcHByb2FjaCB0aGF0DQo+ID4+IG5lZWQgdG8gYmUgZGlzY3Vzc2VkLg0K PiA+Pj4NCj4gPj4+IFlvdSBoYXZlIGluY2x1ZGVkIHRoZSA8TGlicmFyeS9EZWJ1Z0NvbW1vbkxp Yi5oPiBmcm9tDQo+ID4+PiBNZGVQa2cvSW5jbHVkZS9MaWJyYXJ5L0RlYnVnTGliLmguDQo+ID4+ DQo+ID4+IFJpZ2h0LCBJJ3ZlIG5vdGljZWQgaXQuIEkgYWdyZWUgaXQncyB1bnVzdWFsLiBJIGRp ZG4ndA0KPiA+PiB0aGluayBpdCB3YXMgd3JvbmcuDQo+ID4+DQo+ID4+PiBJdCBpcyB2ZXJ5IHJh cmUgZm9yIGENCj4gPj4+IGxpYiBjbGFzcyB0byBpbmNsdWRlIGFub3RoZXIgbGliIGNsYXNzLiAg VGhpcyBtZWFucw0KPiA+PiB0aGF0IGEgbW9kdWxlDQo+ID4+PiB0aGF0IGhhcyBhIGRlcGVuZGVu Y3kgb24gdGhlIERlYnVnTGliIGNsYXNzIGluaGVyaXRzDQo+ID4+IGEgaGlkZGVuDQo+ID4+PiBk ZXBlbmRlbmN5IG9uIHRoZSBEZWJ1Z0NvbW1vbkxpYiBjbGFzcy4NCj4gPj4NCj4gPj4gSSBhZ3Jl ZS4NCj4gPj4NCj4gPj4gSSB0aGluayBpdCBzaG91bGQgYmUgZmluZS4gQW55IGhlYWRlciBIMSBz aG91bGQgaW5jbHVkZQ0KPiA+PiBzdWNoIGZ1cnRoZXINCj4gPj4gaGVhZGVycyBIMiwgSDMsIC4u LiBIbiB0aGF0IGFyZSByZXF1aXJlZCBmb3IgbWFraW5nIHRoZQ0KPiA+PiBpbnRlcmZhY2VzDQo+ ID4+IGRlY2xhcmVkIGluIEgxIHVzYWJsZSBpbiBjbGllbnQgbW9kdWxlcy4NCj4gPj4NCj4gPj4+ IEZvciBtb2R1bGUgSU5GIGZpbGVzLA0KPiA+Pj4gd2UgcmVxdWlyZSB0aGUgSU5GIGZpbGUgdG8g bGlzdCBhbGwgdGhlIGxpYiBjbGFzc2VzDQo+ID4+IHRoYXQgdGhlDQo+ID4+PiBtb2R1bGUgc291 cmNlcyBkaXJlY3RseSB1c2UuDQo+ID4+DQo+ID4+IFllcywga2V5d29yZCBiZWluZyAiZGlyZWN0 bHkiLg0KPiA+Pg0KPiA+Pj4gU2luY2UgYSBtb2R1bGUgdGhhdCB1c2VzIHRoZQ0KPiA+Pj4gRGVi dWdMaWIgdXNlcyB0aGUgQVNTRVJUKCkgYW5kIERFQlVHKCkgbWFjcm9zLCBhbGwNCj4gPj4gdGhl IEFQSXMNCj4gPj4+IHRoYXQgdGhlIEFTU0VSVCgpIGFuZCBERUJVRygpIG1hY3JvcyB1c2UgYXJl IGFsc28NCj4gPj4gZGlyZWN0bHkNCj4gPj4+IHVzZWQgYnkgdGhlIG1vZHVsZS4NCj4gPj4NCj4g Pj4gSSBiZWxpZXZlIHRoaXMgaXMgd2hlcmUgSSBkaXNhZ3JlZS4gVGhlIHJlcGxhY2VtZW50DQo+ ID4+IHRleHRzIG9mIHRoZQ0KPiA+PiBBU1NFUlQoKSBhbmQgREVCVUcoKSBmdW5jdGlvbi1saWtl IG1hY3JvcyBhcmUgaW50ZXJuYWxzDQo+ID4+IG9mIHRoZQ0KPiA+PiBEZWJ1Z0xpYi5oIGxpYiBj bGFzcyBoZWFkZXIsIGluIG15IG9waW5pb24uIFRob3NlDQo+ID4+IGludGVybmFscyBwbGFjZQ0K PiA+PiByZXF1aXJlbWVudHMgb24gc3BlY2lmaWMgRGVidWdMaWIgaW5zdGFuY2VzLCBub3Qgb24N Cj4gPj4gRGVidWdMaWIgY2xhc3MNCj4gPj4gY29uc3VtZXJzLg0KPiA+Pg0KPiA+PiBJbiBvdGhl ciB3b3Jkcywgd2hlbiB3cml0aW5nIGEgbmV3IERlYnVnTGliIGluc3RhbmNlLA0KPiA+PiB0aGUg aW1wbGVtZW50b3INCj4gPj4gaGFzIHRvIGVuc3VyZSB0aGF0IHRoZSBBU1NFUlQoKSBhbmQgREVC VUcoKSBtYWNyb3MsIGFzDQo+ID4+IGRlZmluZWQgaW4gdGhlDQo+ID4+IERlYnVnTGliIGNsYXNz IGhlYWRlciwgd2lsbCBjb250aW51ZSB3b3JraW5nIGluDQo+ID4+IERlYnVnTGliIGNvbnN1bWVy DQo+ID4+IG1vZHVsZXMuIFRoZSBpbXBsZW1lbnRvciBtYXkgdGhlbiBjaG9vc2UgdG8gbWFrZSB0 aGUNCj4gPj4gbmV3IERlYnVnTGliDQo+ID4+IGluc3RhbmNlIGRlcGVuZGVudCBvbiB0aGUgKHNp bmdsZXRvbikgRGVidWdDb21tb25MaWINCj4gPj4gaW5zdGFuY2UsIGZvcg0KPiA+PiBleGFtcGxl LiAoVGhpcyBpcyBiZWluZyBkb25lIGluIHBhdGNoZXMgIzMsICM0LCAjMTYsDQo+ID4+IG1heWJl IG1vcmUuKSBUaGUNCj4gPj4gRGVidWdMaWIgY29uc3VtZXIgbW9kdWxlIHdpbGwgaW5oZXJpdCB0 aGF0IGRlcGVuZGVuY3ksDQo+ID4+IGFuZCBldmVyeXRoaW5nDQo+ID4+IHdpbGwgd29yay4NCj4g Pj4NCj4gPj4gSnVzdCBiZWNhdXNlIEFTU0VSVCgpIGFuZCBERUJVRygpIGFyZSBmdW5jdGlvbi1s aWtlDQo+ID4+IG1hY3JvcyBhbmQgbm90DQo+ID4+IGFjdHVhbCBmdW5jdGlvbnMsIEkgZG9uJ3Qg dGhpbmsgdGhlIElORiBmaWxlDQo+ID4+IHJlcXVpcmVtZW50cyBpbg0KPiA+PiBEZWJ1Z0xpYi1j b25zdW1lciBtb2R1bGVzIHNob3VsZCBjaGFuZ2UuDQo+ID4+DQo+ID4+PiBXaXRoIHRoaXMgcGF0 Y2ggc2VyaWVzLCB0aGVzZSBtYWNyb3MNCj4gPj4+IG5vdyB1c2UgdGhlIERlYnVnQ29tbW9uTGli IGNsYXNzIEFQSXMsIHdoaWNoIG1lYW5zDQo+ID4+IGFueSBtb2R1bGUNCj4gPj4+IHRoYXQgdXNl cyB0aGUgRGVidWdMaWIgYWxzbyBkaXJlY3RseSB1c2VzIHRoZQ0KPiA+PiBEZWJ1Z0NvbW1vbkxp Yi4NCj4gPj4NCj4gPj4gSW4gbXkgb3BpbmlvbjogaW5kaXJlY3RseS4NCj4gPj4NCj4gPj4gVGhh bmtzLA0KPiA+PiBMYXN6bG8NCj4gPj4NCj4gPj4NCj4gPj4gDQo+ID4NCg0K