From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mx.groups.io with SMTP id smtpd.web10.3829.1595986361328432784 for ; Tue, 28 Jul 2020 18:32:41 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=kE446dxD; spf=pass (domain: intel.com, ip: 192.55.52.120, mailfrom: michael.d.kinney@intel.com) IronPort-SDR: I82w9egFE4Xt2hrrsaUCGIkqUNrPQDlFFEpBugm92slhYBkvnnIIMEg4C0vf3Hd2baMchrLbWN gGVVbEPppkvQ== X-IronPort-AV: E=McAfee;i="6000,8403,9696"; a="148802196" X-IronPort-AV: E=Sophos;i="5.75,408,1589266800"; d="scan'208";a="148802196" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Jul 2020 18:32:40 -0700 IronPort-SDR: W5qz/9wSLdF8AHs+gYIhem2sK9sVeeFpvy9nCVp3/YxWWgJYvUFLRY95vH+K3CuW3X9ij4TE4N SW6ZxsNhQ05A== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,408,1589266800"; d="scan'208";a="328508623" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by FMSMGA003.fm.intel.com with ESMTP; 28 Jul 2020 18:32:40 -0700 Received: from fmsmsx607.amr.corp.intel.com (10.18.126.87) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Tue, 28 Jul 2020 18:32:38 -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, 28 Jul 2020 18:32:38 -0700 Received: from NAM04-BN3-obe.outbound.protection.outlook.com (104.47.46.58) by edgegateway.intel.com (192.55.55.69) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 28 Jul 2020 18:32:36 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lx2pcB89tUiK+s/njXoAbHzv+Y57e/wKLCqul2Fpqh6k7gBsMTb2vlql8AwKE5hb3+hoPYD+zuDLOU9YKw41Kd6BjgsLizrcoEmuSqUN2RyGPLQVflkKM/ZruWJ1bTKN17zjFVyvd5tfOSeFs25bhPjfSUKzMNqlj4yASuWDRXp/UXquwtWrWLVokuB9x0kvQB2b+VwU7n/wzUIV8GGZ+gAzbY9aEwDoWEHn2xt2B4jB9922wOMHiIAuQ0GxWJ/qKr8W9rMM4br/pNh/0PthMPTwRiyqS6bXhK9mAlqhMuyMsW94iRJA3RG9zRAcBrANipPCKX+qpa7HBcFzcPZhmw== 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=dX58KVeV1wbV6fqQPS/wv2sIcmbvKI0EfEqaSnG8tA4=; b=mImmvKE+0Ef+XNZ0V9VuvTet4cRj7Puf+5qsL498p/BgTWevTCOAxZhefhHwbnqPRUGm495HvkPqvAdqYLw9KlX5czt+cvmSCjOHQHafy0DjpKFFccg7nKr+sJK4qOI0cCQndHqIG2kTRlDe/ND9IVQdTx3J4osT0GqER9gSzIjwx9IB7NMoQdeXZojQKfOxoEeaBNBITYkx4WEuCtwICCCLSSH8KVQpnWBuBLUrkP4CXZ35MF26XE2aTegEio/mmcPQJtceQZM01vEEdAG7am6gMC6eRvwtR6YKHv8fOwFwU4TpSd5GDnMiH28gQB72NMXEVRf7hdch/0y/bzGoEA== 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=dX58KVeV1wbV6fqQPS/wv2sIcmbvKI0EfEqaSnG8tA4=; b=kE446dxDeqYGPNPXzHVMEZnDvgbyBdhG8UFuDIrj26CPh7T1ybD8GNj1nbpoXpnMMAKeGtvcnKT2QrM18UGH60BJOiOIdgEEwjqLdNNPwbQHDDp1va43iWWMUnda2hP2dntwZM3H12aXsZVBnSOS6Ukj/CcW0lQpL6GWBbc+NOU= Received: from MN2PR11MB4461.namprd11.prod.outlook.com (2603:10b6:208:192::29) by BL0PR11MB3236.namprd11.prod.outlook.com (2603:10b6:208:60::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3216.23; Wed, 29 Jul 2020 01:32:34 +0000 Received: from MN2PR11MB4461.namprd11.prod.outlook.com ([fe80::201e:29f2:a02:c260]) by MN2PR11MB4461.namprd11.prod.outlook.com ([fe80::201e:29f2:a02:c260%4]) with mapi id 15.20.3216.033; Wed, 29 Jul 2020 01:32:33 +0000 From: "Michael D Kinney" To: "Gao, Liming" , "Zhang, Shenglei" , "devel@edk2.groups.io" , "Kinney, Michael D" CC: Sean Brogan , Bret Barkelew , "Dong, Eric" , "Laszlo Ersek" , "Gao, Zhichao" , "Yao, Jiewen" , Chao Zhang , "Justen, Jordan L" , Maciej Rabeda , "Wu, Jiaxin" , "Fu, Siyuan" , "Wang, Jian J" , "Wu, Hao A" , Andrew Fish , "Ni, Ray" , "Lu, XiaoyuX" , Ard Biesheuvel , Leif Lindholm Subject: Re: [PATCH 00/15] Add a plugin LicenseCheck in open ci Thread-Topic: [PATCH 00/15] Add a plugin LicenseCheck in open ci Thread-Index: AQHWXnEGBIKFW8+4BEWGn6jtWc0HyakdsXLQgAAcLACAAAVlsA== Date: Wed, 29 Jul 2020 01:32:33 +0000 Message-ID: References: <20200720083709.17264-1-shenglei.zhang@intel.com> In-Reply-To: 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: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [24.19.191.44] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 4b2f3127-cda6-4803-75ba-08d8335f44a7 x-ms-traffictypediagnostic: BL0PR11MB3236: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:7691; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 6yHiTHocuYVnBorRypgtDB+v3gJzS9RmCyJ2N6Qx9fFDaz2/xkL3lR15MMYhy4Sh0L/kFLj3mhztUpRmFlgxXsfP0bGyqrhLLTuMNSiuTZIz7X0fW2v6YJqLD7oXnTQF9xOPA8d5C4qYLvqn+m2t7ZPMhXfzcZrssTISYWUzo9PfbO5YZFGVAkDQA3Kc1IK8ixO7OVFS10rxR/qOK3H2wlSrpLJ6Inbh3OO+C5kZtkD4NbqY0XwkA95jT/WvpGqm590RKd/Ly+kNLPVfabEZ/MXzH4TztJ8o+vLY57evA4Y4xN7H0h1hT/1J5RQHTDWAiWxLXmW5zNce+2eL9gULB0tK0NqgO/SXxK4tQkcG+383kaALvZYZSHCIn99J/ljYgjBosYimqu6HhNuVJgrqmA== 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:(4636009)(39860400002)(376002)(136003)(396003)(366004)(346002)(2906002)(8936002)(8676002)(53546011)(5660300002)(33656002)(186003)(26005)(55016002)(6506007)(9686003)(52536014)(4326008)(83380400001)(86362001)(76116006)(71200400001)(7696005)(54906003)(110136005)(316002)(478600001)(966005)(66556008)(64756008)(66476007)(66946007)(66446008);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: Wm4q56nEw34oVsZirQ1vI4MuYDNLb3NDEToigUsdbre+JGi/ePpXVrBEw1xMENxn0/zNtjE8tZX3NisD5HZihwoaD3xhwzIPf4xold+Fwpe62EQ3rDpju7CkoifCJaoSz4X7gggnMNd74dJXWBlsziL8GuO/glA3cFZem11wA9VYuMyxGL2J0udsqEY2PpJS8rLcwEGI6iOV/GjjfS+ZpQjMjjOg4zboUopILuT5QvzUPJ6CH2k0JgrFF7XmVoFo8iUo/uN0rR5z7dmBfyBHaYIv0ClnWE1oTmDPoRs3eqJgOyGEv99fEpKWDs5kSZLdrpodJZGCWAFlR3UqJPsobfSJMdGGQVogHqWxwqFKQeUdS83AA0MifH2AIn9qVhFFmMAik1vpHHS4ufAYuDI1nqoC9zeCCr18KjEvGItAxciWKGl8Bc+kScFI3QGaWMpo06Zid+7i+hYo5wLn0Roki9hHWl7k0wqLBr6Mpw5iPH8= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR11MB4461.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4b2f3127-cda6-4803-75ba-08d8335f44a7 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Jul 2020 01:32:33.8091 (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: fXGb34h/YmJz8+PZMrtYtiQqzaID4JEpHMVYIfpfHX2qrHeYHdxIVoPZGIHPZgdPvWi2lxQbozkuoc0HJFBalkcdQ25cXbZRreQU4tYVJGU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR11MB3236 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 SGkgTGltaW5nLA0KDQpUaGVyZSBhcmUgZXhjZXB0aW9uIHRvIFBhdGNoQ2hlY2sgYXMgd2VsbCBm b3IgbGluZSBlbmRpbmdzIGFuZCB0YWJzLg0KDQpTZWVtcyBsaWtlIGEgc2ltaWxhciBwcm9ibGVt LCBhbmQgYSBzaW5nbGUgQ0kgcGx1Z2luIGNvdWxkDQpzdXBwb3J0IGFsbCB0aGVzZSBjYXNlcy4N Cg0KTWlrZQ0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEdhbywgTGlt aW5nIDxsaW1pbmcuZ2FvQGludGVsLmNvbT4NCj4gU2VudDogVHVlc2RheSwgSnVseSAyOCwgMjAy MCA2OjEyIFBNDQo+IFRvOiBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRl bC5jb20+Ow0KPiBaaGFuZywgU2hlbmdsZWkgPHNoZW5nbGVpLnpoYW5nQGludGVsLmNvbT47DQo+ IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+IENjOiBTZWFuIEJyb2dhbiA8c2Vhbi5icm9nYW5AbWlj cm9zb2Z0LmNvbT47IEJyZXQNCj4gQmFya2VsZXcgPEJyZXQuQmFya2VsZXdAbWljcm9zb2Z0LmNv bT47IERvbmcsIEVyaWMNCj4gPGVyaWMuZG9uZ0BpbnRlbC5jb20+OyBMYXN6bG8gRXJzZWsgPGxl cnNla0ByZWRoYXQuY29tPjsNCj4gR2FvLCBaaGljaGFvIDx6aGljaGFvLmdhb0BpbnRlbC5jb20+ OyBZYW8sIEppZXdlbg0KPiA8amlld2VuLnlhb0BpbnRlbC5jb20+OyBDaGFvIFpoYW5nDQo+IDxj aGFvLmIuemhhbmdAaW50ZWwuY29tPjsgSnVzdGVuLCBKb3JkYW4gTA0KPiA8am9yZGFuLmwuanVz dGVuQGludGVsLmNvbT47IE1hY2llaiBSYWJlZGENCj4gPG1hY2llai5yYWJlZGFAbGludXguaW50 ZWwuY29tPjsgV3UsIEppYXhpbg0KPiA8amlheGluLnd1QGludGVsLmNvbT47IEZ1LCBTaXl1YW4g PHNpeXVhbi5mdUBpbnRlbC5jb20+Ow0KPiBXYW5nLCBKaWFuIEogPGppYW4uai53YW5nQGludGVs LmNvbT47IFd1LCBIYW8gQQ0KPiA8aGFvLmEud3VAaW50ZWwuY29tPjsgQW5kcmV3IEZpc2ggPGFm aXNoQGFwcGxlLmNvbT47IE5pLA0KPiBSYXkgPHJheS5uaUBpbnRlbC5jb20+OyBMdSwgWGlhb3l1 WA0KPiA8eGlhb3l1eC5sdUBpbnRlbC5jb20+OyBBcmQgQmllc2hldXZlbA0KPiA8YXJkLmJpZXNo ZXV2ZWxAYXJtLmNvbT47IExlaWYgTGluZGhvbG0NCj4gPGxlaWZAbnV2aWFpbmMuY29tPjsgR2Fv LCBMaW1pbmcgPGxpbWluZy5nYW9AaW50ZWwuY29tPg0KPiBTdWJqZWN0OiBSRTogW1BBVENIIDAw LzE1XSBBZGQgYSBwbHVnaW4gTGljZW5zZUNoZWNrIGluDQo+IG9wZW4gY2kNCj4gDQo+IE1pa2U6 DQo+ICAgUHJldmlvdXMgZGlzY3Vzc2lvbg0KPiAoaHR0cHM6Ly9lZGsyLmdyb3Vwcy5pby9nL2Rl dmVsL21lc3NhZ2UvNjI0OTQpIGlzIHRvDQo+IHJldmVydCB0aGUgbGljZW5zZSBjaGVjayBjaGFu Z2UgaW4gUGF0Y2hDaGVjaywgYW5kDQo+IGVuYWJsZSBsaWNlbnNlIGNoZWNrIGFzIHBsdWdpbi4g SWYgc28sIHRoZSBwYWNrYWdlDQo+IG1haW50YWluZXJzIGNhbiBjb25maWd1cmUgdGhlIHBhY2th Z2UgbGV2ZWwgZXhjZXB0aW9uDQo+IGxpc3QgdG8gYWxsb3cgc29tZSBzcGVjaWFsIGNhc2VzLCBz dWNoIGFzIGF1dG9nZW4gZmlsZS4NCj4gDQo+IFRoYW5rcw0KPiBMaW1pbmcNCj4gLS0tLS1Pcmln aW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5r aW5uZXlAaW50ZWwuY29tPg0KPiBTZW50OiAyMDIw5bm0N+aciDI55pelIDc6MzQNCj4gVG86IFpo YW5nLCBTaGVuZ2xlaSA8c2hlbmdsZWkuemhhbmdAaW50ZWwuY29tPjsNCj4gZGV2ZWxAZWRrMi5n cm91cHMuaW87IEtpbm5leSwgTWljaGFlbCBEDQo+IDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNv bT4NCj4gQ2M6IFNlYW4gQnJvZ2FuIDxzZWFuLmJyb2dhbkBtaWNyb3NvZnQuY29tPjsgQnJldA0K PiBCYXJrZWxldyA8QnJldC5CYXJrZWxld0BtaWNyb3NvZnQuY29tPjsgRG9uZywgRXJpYw0KPiA8 ZXJpYy5kb25nQGludGVsLmNvbT47IExhc3psbyBFcnNlayA8bGVyc2VrQHJlZGhhdC5jb20+Ow0K PiBHYW8sIFpoaWNoYW8gPHpoaWNoYW8uZ2FvQGludGVsLmNvbT47IFlhbywgSmlld2VuDQo+IDxq aWV3ZW4ueWFvQGludGVsLmNvbT47IENoYW8gWmhhbmcNCj4gPGNoYW8uYi56aGFuZ0BpbnRlbC5j b20+OyBKdXN0ZW4sIEpvcmRhbiBMDQo+IDxqb3JkYW4ubC5qdXN0ZW5AaW50ZWwuY29tPjsgTWFj aWVqIFJhYmVkYQ0KPiA8bWFjaWVqLnJhYmVkYUBsaW51eC5pbnRlbC5jb20+OyBXdSwgSmlheGlu DQo+IDxqaWF4aW4ud3VAaW50ZWwuY29tPjsgRnUsIFNpeXVhbiA8c2l5dWFuLmZ1QGludGVsLmNv bT47DQo+IEdhbywgTGltaW5nIDxsaW1pbmcuZ2FvQGludGVsLmNvbT47IFdhbmcsIEppYW4gSg0K PiA8amlhbi5qLndhbmdAaW50ZWwuY29tPjsgV3UsIEhhbyBBIDxoYW8uYS53dUBpbnRlbC5jb20+ Ow0KPiBBbmRyZXcgRmlzaCA8YWZpc2hAYXBwbGUuY29tPjsgTmksIFJheQ0KPiA8cmF5Lm5pQGlu dGVsLmNvbT47IEx1LCBYaWFveXVYIDx4aWFveXV4Lmx1QGludGVsLmNvbT47DQo+IEFyZCBCaWVz aGV1dmVsIDxhcmQuYmllc2hldXZlbEBhcm0uY29tPjsgTGVpZiBMaW5kaG9sbQ0KPiA8bGVpZkBu dXZpYWluYy5jb20+DQo+IFN1YmplY3Q6IFJFOiBbUEFUQ0ggMDAvMTVdIEFkZCBhIHBsdWdpbiBM aWNlbnNlQ2hlY2sgaW4NCj4gb3BlbiBjaQ0KPiANCj4gQ0kgYWxyZWFkeSBydW5zIFBhdGNoQ2hl Y2suICBJZiB3ZSBwb3J0ZWQgUGF0Y2hDaGVjayB0bw0KPiBhIENJIHBsdWdpbiwgdGhlbiB0aGUg cGx1Z2luIGNvdWxkIHBlcmZvcm0gYm90aCB0aGUNCj4gY3VycmVudCBQYXRjaENoZWNrIGZlYXR1 cmVzIGFuZCB0aGUgbGljZW5zZSBjaGVjay4NCj4gDQo+IFdoYXQgdGhpcyBvcHRpb24gZXZhbHVh dGVkPw0KPiANCj4gSWYgd2UgZGlkIHByb3ZpZGUgUGF0Y2hDaGVjayBhcyBhIENJIHBsdWdpbiwg ZGV2ZWxvcGVycw0KPiBJIGJlbGlldmUgZGV2ZWxvcGVycyBjb3VsZCBydW4gYSBzdHVhcnQgY29t bWFuZCBsaWtlbHkNCj4gZm9yIHRoZSBOT09QVCB0YXJnZXQgdG8gcnVuIGEgUGF0Y2hDaGVjayBD SSBwbHVnaW4NCj4gbG9jYWxseS4NCj4gDQo+IFRoYW5rcywNCj4gDQo+IE1pa2UNCj4gDQo+ID4g LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiBGcm9tOiBaaGFuZywgU2hlbmdsZWkgPHNo ZW5nbGVpLnpoYW5nQGludGVsLmNvbT4NCj4gPiBTZW50OiBNb25kYXksIEp1bHkgMjAsIDIwMjAg MTozNyBBTQ0KPiA+IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPiA+IENjOiBLaW5uZXksIE1p Y2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+Ow0KPiBTZWFuIEJyb2dhbg0KPiA+ IDxzZWFuLmJyb2dhbkBtaWNyb3NvZnQuY29tPjsgQnJldCBCYXJrZWxldw0KPiA+IDxCcmV0LkJh cmtlbGV3QG1pY3Jvc29mdC5jb20+OyBEb25nLCBFcmljDQo+IDxlcmljLmRvbmdAaW50ZWwuY29t PjsNCj4gPiBMYXN6bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPjsgR2FvLCBaaGljaGFvDQo+ ID4gPHpoaWNoYW8uZ2FvQGludGVsLmNvbT47IFlhbywgSmlld2VuDQo+IDxqaWV3ZW4ueWFvQGlu dGVsLmNvbT47IENoYW8NCj4gPiBaaGFuZyA8Y2hhby5iLnpoYW5nQGludGVsLmNvbT47IEp1c3Rl biwgSm9yZGFuIEwNCj4gPiA8am9yZGFuLmwuanVzdGVuQGludGVsLmNvbT47IE1hY2llaiBSYWJl ZGENCj4gPiA8bWFjaWVqLnJhYmVkYUBsaW51eC5pbnRlbC5jb20+OyBXdSwgSmlheGluDQo+IDxq aWF4aW4ud3VAaW50ZWwuY29tPjsgRnUsDQo+ID4gU2l5dWFuIDxzaXl1YW4uZnVAaW50ZWwuY29t PjsgR2FvLCBMaW1pbmcNCj4gPGxpbWluZy5nYW9AaW50ZWwuY29tPjsNCj4gPiBXYW5nLCBKaWFu IEogPGppYW4uai53YW5nQGludGVsLmNvbT47IFd1LCBIYW8gQQ0KPiA8aGFvLmEud3VAaW50ZWwu Y29tPjsNCj4gPiBBbmRyZXcgRmlzaCA8YWZpc2hAYXBwbGUuY29tPjsgTmksIFJheQ0KPiA8cmF5 Lm5pQGludGVsLmNvbT47IEx1LCBYaWFveXVYDQo+ID4gPHhpYW95dXgubHVAaW50ZWwuY29tPjsg QXJkIEJpZXNoZXV2ZWwNCj4gPGFyZC5iaWVzaGV1dmVsQGFybS5jb20+OyBMZWlmDQo+ID4gTGlu ZGhvbG0gPGxlaWZAbnV2aWFpbmMuY29tPg0KPiA+IFN1YmplY3Q6IFtQQVRDSCAwMC8xNV0gQWRk IGEgcGx1Z2luIExpY2Vuc2VDaGVjayBpbg0KPiBvcGVuIGNpDQo+ID4NCj4gPiBSRUY6DQo+IGh0 dHBzOi8vYnVnemlsbGEudGlhbm9jb3JlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjY5MQ0KPiA+IFJF RjoNCj4gaHR0cHM6Ly9idWd6aWxsYS50aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9pZD0yODMz DQo+ID4gTGljZW5zZUNoZWNrIGlzIG5vdyBlbmFibGVkIGluIFBhdGNoQ2hlY2sucHkuIEJ1dA0K PiB0aGVyZSdzIGEgcGF0Y2gNCj4gPiAiUmV2ZXJ0ICdCYXNlVG9vbHMvUGF0Y2hDaGVjay5weTog QWRkIExpY2Vuc2VDaGVjayciDQo+ID4gdG8gc3VnZ2VzdCByZXZlcnQgdGhlIGNoYW5nZS5UaGVz ZSBwYXRjaCBzZXJpZXMNCj4gaW50cm9kdWNlIGEgcGx1Z2luDQo+ID4gTGljZW5zZUNoZWNrIGlu dG8gb3BlbiBjaSBzbyB0aGF0IGxpY2Vuc2UgaXNzdWVzIGNhbg0KPiBzdGlsbCBiZSBjaGVja2Vk DQo+ID4gYWZ0ZXIgdGhlIGNoZWNrZXIgaXMgZGlzYWJsZWQgaW4gUGF0Y2hDaGVjay5weS4NCj4g PiAxLzE1IGlzIHRoZSBwbHVnaW4gaW1wbGVtZW50YXRpb24uDQo+ID4gMi8xNSB+IDE1LzE1IGlu dHJvZHVjZSBzZWN0aW9ucyAiSWdub3JlRmlsZXMiIHRvIGFsbG93DQo+IGRldmVsb3BlcnMgdG8N Cj4gPiBza2lwIGxpY2Vuc2UgY2hlY2sgZm9yIHNvbWUgZmlsZXMgbGlrZSBnZW5lcmF0ZWQNCj4g ZmlsZXMuDQo+ID4NCj4gPiBPbmx5IEJTRC0yLUNsYXVzZS1QYXRlbnQgYW5kIEJTRC0zLUNsYXVz ZS1QYXRlbnQgY2FuDQo+IHBhc3MgdGhpcw0KPiA+IGNoZWNrZXIuDQo+ID4NCj4gPiBDYzogTWlj aGFlbCBEIEtpbm5leSA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+DQo+ID4gQ2M6IFNlYW4g QnJvZ2FuIDxzZWFuLmJyb2dhbkBtaWNyb3NvZnQuY29tPg0KPiA+IENjOiBCcmV0IEJhcmtlbGV3 IDxCcmV0LkJhcmtlbGV3QG1pY3Jvc29mdC5jb20+DQo+ID4gQ2M6IEVyaWMgRG9uZyA8ZXJpYy5k b25nQGludGVsLmNvbT4NCj4gPiBDYzogTGFzemxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbT4N Cj4gPiBDYzogWmhpY2hhbyBHYW8gPHpoaWNoYW8uZ2FvQGludGVsLmNvbT4NCj4gPiBDYzogSmll d2VuIFlhbyA8amlld2VuLnlhb0BpbnRlbC5jb20+DQo+ID4gQ2M6IENoYW8gWmhhbmcgPGNoYW8u Yi56aGFuZ0BpbnRlbC5jb20+DQo+ID4gQ2M6IEpvcmRhbiBKdXN0ZW4gPGpvcmRhbi5sLmp1c3Rl bkBpbnRlbC5jb20+DQo+ID4gQ2M6IE1hY2llaiBSYWJlZGEgPG1hY2llai5yYWJlZGFAbGludXgu aW50ZWwuY29tPg0KPiA+IENjOiBKaWF4aW4gV3UgPGppYXhpbi53dUBpbnRlbC5jb20+DQo+ID4g Q2M6IFNpeXVhbiBGdSA8c2l5dWFuLmZ1QGludGVsLmNvbT4NCj4gPiBDYzogTGltaW5nIEdhbyA8 bGltaW5nLmdhb0BpbnRlbC5jb20+DQo+ID4gQ2M6IEppYW4gSiBXYW5nIDxqaWFuLmoud2FuZ0Bp bnRlbC5jb20+DQo+ID4gQ2M6IEhhbyBBIFd1IDxoYW8uYS53dUBpbnRlbC5jb20+DQo+ID4gQ2M6 IEpvcmRhbiBKdXN0ZW4gPGpvcmRhbi5sLmp1c3RlbkBpbnRlbC5jb20+DQo+ID4gQ2M6IEFuZHJl dyBGaXNoIDxhZmlzaEBhcHBsZS5jb20+DQo+ID4gQ2M6IFJheSBOaSA8cmF5Lm5pQGludGVsLmNv bT4NCj4gPiBDYzogSmlhbiBKIFdhbmcgPGppYW4uai53YW5nQGludGVsLmNvbT4NCj4gPiBDYzog WGlhb3l1IEx1IDx4aWFveXV4Lmx1QGludGVsLmNvbT4NCj4gPiBDYzogQXJkIEJpZXNoZXV2ZWwg PGFyZC5iaWVzaGV1dmVsQGFybS5jb20+DQo+ID4gQ2M6IExlaWYgTGluZGhvbG0gPGxlaWZAbnV2 aWFpbmMuY29tPg0KPiA+IFNoZW5nbGVpIFpoYW5nICgxNSk6DQo+ID4gICAucHl0b29sL1BsdWdp bjogQWRkIGEgcGx1Z2luIExpY2Vuc2VDaGVjaw0KPiA+ICAgRmF0UGtnL0ZhdFBrZy5jaS55YW1s OiBBZGQgY29uZmlndXJhdGlvbiBmb3INCj4gTGljZW5zZUNoZWNrDQo+ID4gICBBcm1WaXJ0UGtn L0FybVZpcnRQa2cuY2kueWFtbDogQWRkIGNvbmZpZ3VyYXRpb24gZm9yDQo+IExpY2Vuc2VDaGVj aw0KPiA+ICAgQ3J5cHRvUGtnL0NyeXB0b1BrZy5jaS55YW1sOiBBZGQgY29uZmlndXJhdGlvbiBm b3INCj4gTGljZW5zZUNoZWNrDQo+ID4gICBFbXVsYXRvclBrZy9FbXVsYXRvclBrZy5jaS55YW1s OiBBZGQgY29uZmlndXJhdGlvbg0KPiBmb3IgTGljZW5zZUNoZWNrDQo+ID4gICBGbXBEZXZpY2VQ a2cvRm1wRGV2aWNlUGtnLmNpLnlhbWw6IEFkZCBjb25maWd1cmF0aW9uDQo+IGZvcg0KPiA+IExp Y2Vuc2VDaGVjaw0KPiA+ICAgTWRlTW9kdWxlUGtnL01kZU1vZHVsZVBrZy5jaS55YW1sOiBBZGQg Y29uZmlndXJhdGlvbg0KPiBmb3INCj4gPiBMaWNlbnNlQ2hlY2sNCj4gPiAgIE1kZVBrZy9NZGVQ a2cuY2kueWFtbDogQWRkIGNvbmZpZ3VyYXRpb24gZm9yDQo+IExpY2Vuc2VDaGVjaw0KPiA+ICAg TmV0d29ya1BrZy9OZXR3b3JrUGtnLmNpLnlhbWw6IEFkZCBjb25maWd1cmF0aW9uIGZvcg0KPiBM aWNlbnNlQ2hlY2sNCj4gPiAgIE92bWZQa2cvT3ZtZlBrZy5jaS55YW1sOiBBZGQgY29uZmlndXJh dGlvbiBmb3INCj4gTGljZW5zZUNoZWNrDQo+ID4gICBQY0F0Q2hpcHNldFBrZy9QY0F0Q2hpcHNl dFBrZy5jaS55YW1sOiBBZGQNCj4gY29uZmlndXJhdGlvbiBmb3INCj4gPiAgICAgTGljZW5zZUNo ZWNrDQo+ID4gICBTZWN1cml0eVBrZy9TZWN1cml0eVBrZy5jaS55YW1sOiBBZGQgY29uZmlndXJh dGlvbg0KPiBmb3IgTGljZW5zZUNoZWNrDQo+ID4gICBTaGVsbFBrZy9TaGVsbFBrZy5jaS55YW1s OiBBZGQgY29uZmlndXJhdGlvbiBmb3INCj4gTGljZW5zZUNoZWNrDQo+ID4gICBVZWZpQ3B1UGtn L1VlZmlDcHVQa2cuY2kueWFtbDogQWRkIGNvbmZpZ3VyYXRpb24gZm9yDQo+IExpY2Vuc2VDaGVj aw0KPiA+ICAgVW5pdFRlc3RGcmFtZXdvcmtQa2c6IEFkZCBjb25maWd1cmF0aW9uIGZvcg0KPiBM aWNlbnNlQ2hlY2sgaW4geWFtbA0KPiA+IGZpbGUNCj4gPg0KPiA+ICAucHl0b29sL1BsdWdpbi9M aWNlbnNlQ2hlY2svTGljZW5zZUNoZWNrLnB5ICAgfCAxMTgNCj4gPiArKysrKysrKysrKysrKysr KysNCj4gPiAgLi4uL0xpY2Vuc2VDaGVjay9MaWNlbnNlQ2hlY2tfcGx1Z19pbi55YW1sICAgIHwg IDExDQo+ICsrDQo+ID4gIC5weXRvb2wvUGx1Z2luL0xpY2Vuc2VDaGVjay9SZWFkbWUubWQgICAg ICAgICB8ICAxNw0KPiArKysNCj4gPiAgQXJtVmlydFBrZy9Bcm1WaXJ0UGtnLmNpLnlhbWwgICAg ICAgICAgICAgICAgIHwgICA0ICsNCj4gPiAgQ3J5cHRvUGtnL0NyeXB0b1BrZy5jaS55YW1sICAg ICAgICAgICAgICAgICAgIHwgICAzICsNCj4gPiAgRW11bGF0b3JQa2cvRW11bGF0b3JQa2cuY2ku eWFtbCAgICAgICAgICAgICAgIHwgICA0ICsNCj4gPiAgRmF0UGtnL0ZhdFBrZy5jaS55YW1sICAg ICAgICAgICAgICAgICAgICAgICAgIHwgICAzICsNCj4gPiAgRm1wRGV2aWNlUGtnL0ZtcERldmlj ZVBrZy5jaS55YW1sICAgICAgICAgICAgIHwgICAzICsNCj4gPiAgTWRlTW9kdWxlUGtnL01kZU1v ZHVsZVBrZy5jaS55YW1sICAgICAgICAgICAgIHwgICA0ICsNCj4gPiAgTWRlUGtnL01kZVBrZy5j aS55YW1sICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA0ICsNCj4gPiAgTmV0d29ya1BrZy9O ZXR3b3JrUGtnLmNpLnlhbWwgICAgICAgICAgICAgICAgIHwgICAzICsNCj4gPiAgT3ZtZlBrZy9P dm1mUGtnLmNpLnlhbWwgICAgICAgICAgICAgICAgICAgICAgIHwgICA0ICsNCj4gPiAgUGNBdENo aXBzZXRQa2cvUGNBdENoaXBzZXRQa2cuY2kueWFtbCAgICAgICAgIHwgICAzICsNCj4gPiAgU2Vj dXJpdHlQa2cvU2VjdXJpdHlQa2cuY2kueWFtbCAgICAgICAgICAgICAgIHwgICAzICsNCj4gPiAg U2hlbGxQa2cvU2hlbGxQa2cuY2kueWFtbCAgICAgICAgICAgICAgICAgICAgIHwgICAzICsNCj4g PiAgVWVmaUNwdVBrZy9VZWZpQ3B1UGtnLmNpLnlhbWwgICAgICAgICAgICAgICAgIHwgICAzICsN Cj4gPiAgLi4uL1VuaXRUZXN0RnJhbWV3b3JrUGtnLmNpLnlhbWwgICAgICAgICAgICAgIHwgICA0 ICsNCj4gPiAgMTcgZmlsZXMgY2hhbmdlZCwgMTk0IGluc2VydGlvbnMoKykNCj4gPiAgY3JlYXRl IG1vZGUgMTAwNjQ0DQo+ID4gLnB5dG9vbC9QbHVnaW4vTGljZW5zZUNoZWNrL0xpY2Vuc2VDaGVj ay5weQ0KPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gPiAucHl0b29sL1BsdWdpbi9MaWNlbnNl Q2hlY2svTGljZW5zZUNoZWNrX3BsdWdfaW4ueWFtbA0KPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQN Cj4gPiAucHl0b29sL1BsdWdpbi9MaWNlbnNlQ2hlY2svUmVhZG1lLm1kDQo+ID4NCj4gPiAtLQ0K PiA+IDIuMTguMC53aW5kb3dzLjENCg0K