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.web09.13562.1632618059954743942 for ; Sat, 25 Sep 2021 18:01:01 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=mN+NbkYJ; spf=pass (domain: intel.com, ip: 192.55.52.88, mailfrom: jiewen.yao@intel.com) X-IronPort-AV: E=McAfee;i="6200,9189,10118"; a="246783606" X-IronPort-AV: E=Sophos;i="5.85,322,1624345200"; d="scan'208";a="246783606" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Sep 2021 18:00:59 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.85,322,1624345200"; d="scan'208";a="517821984" Received: from fmsmsx605.amr.corp.intel.com ([10.18.126.85]) by fmsmga008.fm.intel.com with ESMTP; 25 Sep 2021 18:00:59 -0700 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx605.amr.corp.intel.com (10.18.126.85) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Sat, 25 Sep 2021 18:00:58 -0700 Received: from fmsmsx605.amr.corp.intel.com (10.18.126.85) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Sat, 25 Sep 2021 18:00:58 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx605.amr.corp.intel.com (10.18.126.85) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12 via Frontend Transport; Sat, 25 Sep 2021 18:00:58 -0700 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.43) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.12; Sat, 25 Sep 2021 18:00:58 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dAx7Jv75nQwjrazIASHDGQDaBduwoNG+OOYB6xrPuSxeZ6ipVvp45bZSB6DbkK8Ls7rpYeQ5otHxLL5zaNkpxw/CWCagVSMGQt7Mq0lDGbyNe1yqPTrTsdRTHgtwoJ9hX/uwSqMM4CokOJPjk6Wo80OgXmFGzZi4k4Gd0p6C1uduuZDXzCZJqS1StHPhDYyWPcGJSzcAycyd4rgj0kaYM5dzIVkC2Wc9i7zg/4JPKQGIlvLPdRCu6UiwHiXqILPIMnpUhUpqDVPFyaJHHvbQLB3sc8zH95r0kuQBVVNwQDJjeBXAg3xQVFOTe62k0fOZ1uzizquLOWWby2r8WWKM9A== 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; bh=H+fXG0+9vEvs/Y0/za+Y12pRXpMDDxSsJ7RXkzjMrpo=; b=SuO0uYDDNw7HijHLw15UCBYYWQ7sU3KR7Erb+yOOLqwAqoHVEywvZoJoBzZIntgULfeSi8UfXgIzCFcSsP06gTqwpvawCc9jCkxVM0Y99uwDA6UyEGCx3AgsSi2Xo9nXoZM6CRHVaImeGvCaGRujxgI/46MIrH9JSTUiJUTiM58mc7tf0QXYFBIvu9HCuRg73crK7EjPOIHSsGV2G1dkcdDM2EkGViObAAAIph/vgqrUB/PEF+UpcMchqY88LGR9yFobWwVQ0YnD1htG+W0OJuWVftoKQZFnRsPm2A9MCy2CVdS703nQMWvQiVn5lMNTI+dCnsJHz3LciIwgYqiDHg== 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=H+fXG0+9vEvs/Y0/za+Y12pRXpMDDxSsJ7RXkzjMrpo=; b=mN+NbkYJStytBje6Cps0/GB7XDpXFFQYO9H8A8i1SvbTBj55alx5vBeJRiL4jJp7Glio5M/DJ5tRyBehJnRcXCi+/rgvC8E42i2l2RYGvo9NvMjLUpvEQT9VK10xGx/yZxodwfx0ohrrhA9HJZaek+O2MgOHaiJ3E5tqoy+oVTs= Received: from PH0PR11MB4885.namprd11.prod.outlook.com (2603:10b6:510:35::14) by PH0PR11MB5000.namprd11.prod.outlook.com (2603:10b6:510:41::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4544.14; Sun, 26 Sep 2021 01:00:56 +0000 Received: from PH0PR11MB4885.namprd11.prod.outlook.com ([fe80::754e:42e9:16cd:1306]) by PH0PR11MB4885.namprd11.prod.outlook.com ([fe80::754e:42e9:16cd:1306%6]) with mapi id 15.20.4544.020; Sun, 26 Sep 2021 01:00:56 +0000 From: "Yao, Jiewen" To: "devel@edk2.groups.io" , "gaoliming@byosoft.com.cn" , "Xu, Min M" CC: "Kinney, Michael D" , "Liu, Zhiguang" , "Wang, Jian J" , "Lu, Ken" Subject: Re: [edk2-devel] [PATCH 1/2] MdePkg: Introduce TdProtocol for TD-Guest firmware Thread-Topic: [edk2-devel] [PATCH 1/2] MdePkg: Introduce TdProtocol for TD-Guest firmware Thread-Index: AQHXqQvqAqkdzeQwtEGjuHf3d8TzGqukmNsAgA9E4bCAAbIjAIAAAdiw Date: Sun, 26 Sep 2021 01:00:56 +0000 Message-ID: References: <29ffecfbc2a4076d9cb9fc40238548ab637c5f19.1631583583.git.min.m.xu@intel.com> <002201d7a9f5$79acd310$6d067930$@byosoft.com.cn> <00c901d7b270$fe00de30$fa029a90$@byosoft.com.cn> In-Reply-To: <00c901d7b270$fe00de30$fa029a90$@byosoft.com.cn> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.6.200.16 dlp-product: dlpe-windows dlp-reaction: no-action 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-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 94594c93-fab6-447d-4825-08d980891908 x-ms-traffictypediagnostic: PH0PR11MB5000: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:1051; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: yYTo1zm0/IxnN/kU9XXnnujvR10VbrNKJA/QyK/KfW09jo0SVktTDN5Cle5QzZmM/zcAet4nqc+M9mlXlja+jhy/8Y9MtaxonM0rZwDpqvMPs6/qW8RvmrnEN/9DvvZ9MmK2O9CEhAGVPC+1ZgCHuOmlxY9mwZfy88/DjuovMp6oDEz5mKX7jgsMUvkYbNZoL2HqPotRVciTUjyWdYbGpieSCtz2YaO9ERuivn5eU1Z2JH5ZWrh5HJwdgzd19/qR8SsO1pTDeyYTxqF8HHis6aLzTqQQyUhGP7Rq3Ab+1FXrtIjn/meM1bmtKujg/7XzK1c7bBe119J+V9IqsvxW/uex/ZVfaZb0NbzGYo3Qn5t9Ix+aM/4dlcifdzsjDEdDLSnFitYuzI5thVJPL00owF375vrtxE6psAE5WXjWb7wqy45AgwdH8CNe49ppn3xGjuhLAoltzvGRNAPobWllVltIeqZa+nz9562JPIvu5ToZTFi4AlnQ2nxJYdDEx/xR71ZcqhnICjIMV5AXKltk3l4Rt15if4cZNtpGq5AdYA0No7kSTUUDgIIbcVWjz4C6tg+/epqRRPX/pBqQsBEYmFrAzWsnLoi2eRJMtVDiCD3gQgBJbVEq22az2RLhl1wByfj1x8pNLYhMcKXa+/nrcfo671E9GBjE8tzbql0uUiPPGT3QW9tGX8G/Jc+DjURpGHDuUOupPVAKUiM4rq11tCXZ+e83mhFv8FUmpvXPt51KIzJ48hvOZZiMHU6WjVB2gL9/24rdyHRCOlpG2mrR43EMryl4yLqE6yg5CegY2r/C1FcLsVXNPcrgpzt3QQD84yqMCb6wmgit68Ci80vffg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR11MB4885.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(6029001)(4636009)(366004)(66476007)(66556008)(64756008)(66446008)(86362001)(508600001)(76116006)(66946007)(966005)(8676002)(38070700005)(33656002)(71200400001)(38100700002)(52536014)(6636002)(55016002)(9686003)(5660300002)(54906003)(110136005)(122000001)(107886003)(2906002)(186003)(26005)(8936002)(6506007)(316002)(83380400001)(30864003)(53546011)(7696005)(4326008);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Uk1mSXo0ZE1mMmttemdycDdnUDdocXIvMGJvSXp2UkV4SEZ2WHNTR0c2NlFW?= =?utf-8?B?YUI2aWRjcHF2VjJKYzJBNzU5RkVyM3pDOFN5WERMdDZzVnJydFNRWUZKbEV2?= =?utf-8?B?amh2YTN2UG9tQ3FheSt6OWhFZ3ZFWHZZSWN2Sm1nRHVnaCtvTDVINGJlWlZj?= =?utf-8?B?NGJqYjBnMG5kcFNkcEhMZGlGNUxUa1Qxa1l3TzVqL2liRVR3cVRoWVNmRGF3?= =?utf-8?B?SjM1eVluR2JmNVRxUUNzMU1Nb0tuL3ZmT2tjMStJZ2ViWFVweGdKRzYyeXNX?= =?utf-8?B?ckwvUHpCZFhxMHVBaWxEMEtYWkpTbDZ0bE5JNFJhUlg5RkJtNHlVbkdQQUtB?= =?utf-8?B?ZGQ2UXFWdFB1WFdRMFpiZ0hpemgrdkZ5MkZqOUkrSUR2UVhpdEVRMWkvcUI3?= =?utf-8?B?TEg2VWxLWHMzajRvc0NZM0xFcjB0UzN1N0dOQWdCMm1jc1Y4SUw5WWMxdVFN?= =?utf-8?B?MWx6czVUWmt3TTFNcit4TjVldGx6SDdtK2d6R2hTL09ZMXMvNVZWR2h4TGZU?= =?utf-8?B?ZGcyYUYxRTNFK1Nlc3RCeTdDWHRzbjVnWlFqYkZFYlNTYlkwUTBkL08rUk5P?= =?utf-8?B?Wnl1Zm9GRjYycVVoYTdlci9hREtOTERXTDQrWFAwNHU0alFwcDdwLzNpSmlT?= =?utf-8?B?QWpJU3Z6bjQ3RC9qWWdOU1pmcHlhbVRsMmdYTS93T2ZmU0ZNaFdFQTlZSVJX?= =?utf-8?B?ZkZEMlhMUEJlamFHY29ncGpJUHFGZG5PZXhBOFNhdit2dUhlcW1FNERacGVC?= =?utf-8?B?UDIxUEdYcCt0eFBwTmpBMGYxcHF0YUJTVHdVTEJHdzdvYVgxU3hBdUVrMVFZ?= =?utf-8?B?OFFKWHBETldrQTJ4bys4R0Jpb2JNNTd1ZzhjWkdObng2a3VTKzIxUlZGb1Qz?= =?utf-8?B?Mlk2QlU3V0ZncUFhUDhPM1N0Sm1waUx3SmNxc2JmMDRMbjhVQlFWbnZZQVJD?= =?utf-8?B?aGUvN3VnaFJzTEY3aVVGY0NWQnQxSDh4WDE3bE5OWmdwUGladm5MMmxnSTdj?= =?utf-8?B?ekFHdklNY2o1aFBHRmduVmUvUkUvbUJMQkZWa1AwUldPOXkvVWZyY3grb3Z6?= =?utf-8?B?S3Rscnl1dVM1OEREWDE2R0pidXk1dDdXQVpXRmd5dS9QdzBOd2pvQVJqK0tF?= =?utf-8?B?TFUySTJOanNrR0RWWCtJd3BmbDMwTjhkc0RlV3RNYXdVWVhzL1pYN3paa0RD?= =?utf-8?B?NmRDWnpNQmw1K1YxODRLNFI1STNxTDhJejVCamViM2V0eXhKaVRiYmsxT1FL?= =?utf-8?B?Mk1hcFlOVzMrRE5hdG1HNDlUdzNtRDdUZVhsN0tPTmFKYjQwbHpsWEZCOWFR?= =?utf-8?B?RHNReFFpYTBpOFpBMG9zbFR2YkZtMzdmUzNnd0RuOExNVEZ0T241WDVmd24y?= =?utf-8?B?ekdtd05ySDdOZFc0UG9WMSswUDdoRkg3NzV6TWI4cDJXV0xDU2ZKR09vWm95?= =?utf-8?B?eGtobzUydlBQbG9rdVlBRzA3OU92SHIxZ253dG1sMTQySTU1c0VzOXpXZ2FH?= =?utf-8?B?Tm9SOEVFbDdFaTRpZVFwc2Y4QTVxbE94M3NtbTNXNCtkRGV3TlY2SHNzTmxM?= =?utf-8?B?TEZqemp6Sm16UU9RMWdZZm5wTXoreUdOZURidU5YSlBQRk5SeTJxOEpvNnF3?= =?utf-8?B?cUcwdlpyTklzWGFyR1o0eHZTS0xkMFRTeVhXNnhmVXFhWWZvdDNycWYwVk1W?= =?utf-8?B?UEVPRWZ5QndHWkhxM3JsVzRSYW5QNGZ3R0tVMyt1TWl0WmpXdGpHUzlzeVlG?= =?utf-8?Q?+K2AspTg+TdC1OkFGkvJ+3bi8IUKoegwUq0mbtr?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB4885.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 94594c93-fab6-447d-4825-08d980891908 X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Sep 2021 01:00:56.6940 (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: 9HAgATGCgg36ii//8Y76a+ObfV+4BQ0YCatso2G0sWUfFf/Ls1TKODwcwik3TakThQWHeCq6yiUsWrPtdIiCFg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB5000 Return-Path: jiewen.yao@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 WWVzLiBBZ3JlZS4gR29vZCBzdWdnZXN0aW9uLg0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0t LS0tDQo+IEZyb206IGRldmVsQGVkazIuZ3JvdXBzLmlvIDxkZXZlbEBlZGsyLmdyb3Vwcy5pbz4g T24gQmVoYWxmIE9mIGdhb2xpbWluZw0KPiBTZW50OiBTdW5kYXksIFNlcHRlbWJlciAyNiwgMjAy MSA4OjU0IEFNDQo+IFRvOiBZYW8sIEppZXdlbiA8amlld2VuLnlhb0BpbnRlbC5jb20+OyBkZXZl bEBlZGsyLmdyb3Vwcy5pbzsgWHUsIE1pbiBNDQo+IDxtaW4ubS54dUBpbnRlbC5jb20+DQo+IENj OiBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+OyBMaXUsIFpo aWd1YW5nDQo+IDx6aGlndWFuZy5saXVAaW50ZWwuY29tPjsgV2FuZywgSmlhbiBKIDxqaWFuLmou d2FuZ0BpbnRlbC5jb20+OyBMdSwgS2VuDQo+IDxrZW4ubHVAaW50ZWwuY29tPg0KPiBTdWJqZWN0 OiDlm57lpI06IFtlZGsyLWRldmVsXSBbUEFUQ0ggMS8yXSBNZGVQa2c6IEludHJvZHVjZSBUZFBy b3RvY29sIGZvciBURC0NCj4gR3Vlc3QgZmlybXdhcmUNCj4gDQo+IEppZXdlbjoNCj4gICBUaGFu a3MgZm9yIHRoaXMgaW5mb3JtYXRpb24uIEkgc3VnZ2VzdCB0byBhZGQgdGhpcyBVUkwgaW50byB0 aGUgZmlsZSBoZWFkZXINCj4gY29tbWVudCwgbGlrZQ0KPiBFZGsyXE1kZVBrZ1xJbmNsdWRlXElu ZHVzdHJ5U3RhbmRhcmRcRG1hUmVtYXBwaW5nUmVwb3J0aW5nVGFibGUuaC4NCj4gDQo+IFRoYW5r cw0KPiBMaW1pbmcNCj4gPiAtLS0tLemCruS7tuWOn+S7ti0tLS0tDQo+ID4g5Y+R5Lu25Lq6OiBZ YW8sIEppZXdlbiA8amlld2VuLnlhb0BpbnRlbC5jb20+DQo+ID4g5Y+R6YCB5pe26Ze0OiAyMDIx 5bm0OeaciDI15pelIDc6MDENCj4gPiDmlLbku7bkuro6IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBn YW9saW1pbmdAYnlvc29mdC5jb20uY247IFh1LCBNaW4gTQ0KPiA+IDxtaW4ubS54dUBpbnRlbC5j b20+DQo+ID4g5oqE6YCBOiBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRl bC5jb20+OyBMaXUsIFpoaWd1YW5nDQo+ID4gPHpoaWd1YW5nLmxpdUBpbnRlbC5jb20+OyBXYW5n LCBKaWFuIEogPGppYW4uai53YW5nQGludGVsLmNvbT47IEx1LCBLZW4NCj4gPiA8a2VuLmx1QGlu dGVsLmNvbT4NCj4gPiDkuLvpopg6IFJFOiBbZWRrMi1kZXZlbF0gW1BBVENIIDEvMl0gTWRlUGtn OiBJbnRyb2R1Y2UgVGRQcm90b2NvbCBmb3INCj4gPiBURC1HdWVzdCBmaXJtd2FyZQ0KPiA+DQo+ ID4gSGkgTGltaW5nDQo+ID4gV2UganVzdCBwdWJsaXNoZWQgdGhlIEdIQ0kgc3BlYyB2ZXJzaW9u IDEuMCByZXZpc2lvbiAwMDIgYXQNCj4gPiBodHRwczovL3NvZnR3YXJlLmludGVsLmNvbS9jb250 ZW50L2RhbS9kZXZlbG9wL2V4dGVybmFsL3VzL2VuL2RvY3VtZW50cw0KPiA+IC9pbnRlbC10ZHgt Z3Vlc3QtaHlwZXJ2aXNvci1jb21tdW5pY2F0aW9uLWludGVyZmFjZS0xLjAtMzQ0NDI2LTAwMi5w ZGYNCj4gPg0KPiA+IDQuMy4yIGluY2x1ZGUgdGhlIEVGSV9URF9QUk9UT0NPTC4NCj4gPg0KPiA+ IFRoYW5rIHlvdQ0KPiA+IFlhbyBKaWV3ZW4NCj4gPg0KPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNz YWdlLS0tLS0NCj4gPiA+IEZyb206IGRldmVsQGVkazIuZ3JvdXBzLmlvIDxkZXZlbEBlZGsyLmdy b3Vwcy5pbz4gT24gQmVoYWxmIE9mDQo+ID4gZ2FvbGltaW5nDQo+ID4gPiBTZW50OiBXZWRuZXNk YXksIFNlcHRlbWJlciAxNSwgMjAyMSAxOjUwIFBNDQo+ID4gPiBUbzogZGV2ZWxAZWRrMi5ncm91 cHMuaW87IFh1LCBNaW4gTSA8bWluLm0ueHVAaW50ZWwuY29tPg0KPiA+ID4gQ2M6IEtpbm5leSwg TWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47IExpdSwgWmhpZ3VhbmcNCj4g PiA+IDx6aGlndWFuZy5saXVAaW50ZWwuY29tPjsgWWFvLCBKaWV3ZW4gPGppZXdlbi55YW9AaW50 ZWwuY29tPjsgV2FuZywNCj4gPiBKaWFuIEoNCj4gPiA+IDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+ OyBMdSwgS2VuIDxrZW4ubHVAaW50ZWwuY29tPg0KPiA+ID4gU3ViamVjdDog5Zue5aSNOiBbZWRr Mi1kZXZlbF0gW1BBVENIIDEvMl0gTWRlUGtnOiBJbnRyb2R1Y2UgVGRQcm90b2NvbCBmb3INCj4g PiBURC0NCj4gPiA+IEd1ZXN0IGZpcm13YXJlDQo+ID4gPg0KPiA+ID4gTWluOg0KPiA+ID4gICBX aGljaCBwdWJsaWMgc3BlYyBkZWZpbmVzIHRoaXMgbmV3IHByb3RvY29sPw0KPiA+ID4NCj4gPiA+ IFRoYW5rcw0KPiA+ID4gTGltaW5nDQo+ID4gPiA+IC0tLS0t6YKu5Lu25Y6f5Lu2LS0tLS0NCj4g PiA+ID4g5Y+R5Lu25Lq6OiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMu aW8+IOS7o+ihqCBNaW4gWHUNCj4gPiA+ID4g5Y+R6YCB5pe26Ze0OiAyMDIx5bm0OeaciDE05pel IDk6NTcNCj4gPiA+ID4g5pS25Lu25Lq6OiBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPiA+ID4gPiDm ioTpgIE6IE1pbiBYdSA8bWluLm0ueHVAaW50ZWwuY29tPjsgTWljaGFlbCBEIEtpbm5leQ0KPiA+ ID4gPiA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+OyBMaW1pbmcgR2FvIDxnYW9saW1pbmdA Ynlvc29mdC5jb20uY24+Ow0KPiA+ID4gPiBaaGlndWFuZyBMaXUgPHpoaWd1YW5nLmxpdUBpbnRl bC5jb20+OyBKaWV3ZW4gWWFvDQo+ID4gPGppZXdlbi55YW9AaW50ZWwuY29tPjsNCj4gPiA+ID4g SmlhbiBKIFdhbmcgPGppYW4uai53YW5nQGludGVsLmNvbT47IEtlbiBMdSA8a2VuLmx1QGludGVs LmNvbT4NCj4gPiA+ID4g5Li76aKYOiBbZWRrMi1kZXZlbF0gW1BBVENIIDEvMl0gTWRlUGtnOiBJ bnRyb2R1Y2UgVGRQcm90b2NvbCBmb3INCj4gPiBURC1HdWVzdA0KPiA+ID4gPiBmaXJtd2FyZQ0K PiA+ID4gPg0KPiA+ID4gPiBCWjogaHR0cHM6Ly9idWd6aWxsYS50aWFub2NvcmUub3JnL3Nob3df YnVnLmNnaT9pZD0zNjI1DQo+ID4gPiA+DQo+ID4gPiA+IElmIFRELUd1ZXN0IGZpcm13YXJlIHN1 cHBvcnRzIG1lYXN1cmVtZW50IGFuZCBhbiBldmVudCBpcyBjcmVhdGVkLA0KPiA+ID4gPiBURC1H dWVzdCBmaXJtd2FyZSBpcyBkZXNpZ25lZCB0byByZXBvcnQgdGhlIGV2ZW50IGxvZyB3aXRoIHRo ZSBzYW1lIGRhdGENCj4gPiA+ID4gc3RydWN0dXJlIGluIFRDRy1QbGF0Zm9ybS1GaXJtd2FyZS1Q cm9maWxlIHNwZWNpZmljYXRpb24gd2l0aA0KPiA+ID4gPiBFRklfVENHMl9FVkVOVF9MT0dfRk9S TUFUX1RDR18yIGZvcm1hdC4NCj4gPiA+ID4NCj4gPiA+ID4gVGhlIFRELUd1ZXN0IGZpcm13YXJl IHN1cHBvcnRzIG1lYXN1cmVtZW50LCB0aGUgVEQgR3Vlc3QgRmlybXdhcmUgaXMNCj4gPiA+ID4g ZGVzaWduZWQgdG8gcHJvZHVjZSBFRklfVERfUFJPVE9DT0wgd2l0aCBuZXcgR1VJRA0KPiA+ID4g PiBFRklfVERfUFJPVE9DT0xfR1VJRA0KPiA+ID4gPiB0byByZXBvcnQgZXZlbnQgbG9nIGFuZCBw cm92aWRlcyBoYXNoIGNhcGFiaWxpdHkuDQo+ID4gPiA+DQo+ID4gPiA+IENjOiBNaWNoYWVsIEQg S2lubmV5IDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4NCj4gPiA+ID4gQ2M6IExpbWluZyBH YW8gPGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbj4NCj4gPiA+ID4gQ2M6IFpoaWd1YW5nIExpdSA8 emhpZ3VhbmcubGl1QGludGVsLmNvbT4NCj4gPiA+ID4gQ2M6IEppZXdlbiBZYW8gPGppZXdlbi55 YW9AaW50ZWwuY29tPg0KPiA+ID4gPiBDYzogSmlhbiBKIFdhbmcgPGppYW4uai53YW5nQGludGVs LmNvbT4NCj4gPiA+ID4gQ2M6IEtlbiBMdSA8a2VuLmx1QGludGVsLmNvbT4NCj4gPiA+ID4gU2ln bmVkLW9mZi1ieTogTWluIFh1IDxtaW4ubS54dUBpbnRlbC5jb20+DQo+ID4gPiA+IC0tLQ0KPiA+ ID4gPiAgTWRlUGtnL0luY2x1ZGUvUHJvdG9jb2wvVGRQcm90b2NvbC5oIHwgMzA1DQo+ID4gPiA+ ICsrKysrKysrKysrKysrKysrKysrKysrKysrKw0KPiA+ID4gPiAgTWRlUGtnL01kZVBrZy5kZWMg ICAgICAgICAgICAgICAgICAgIHwgICAzICsNCj4gPiA+ID4gIDIgZmlsZXMgY2hhbmdlZCwgMzA4 IGluc2VydGlvbnMoKykNCj4gPiA+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBNZGVQa2cvSW5jbHVk ZS9Qcm90b2NvbC9UZFByb3RvY29sLmgNCj4gPiA+ID4NCj4gPiA+ID4gZGlmZiAtLWdpdCBhL01k ZVBrZy9JbmNsdWRlL1Byb3RvY29sL1RkUHJvdG9jb2wuaA0KPiA+ID4gPiBiL01kZVBrZy9JbmNs dWRlL1Byb3RvY29sL1RkUHJvdG9jb2wuaA0KPiA+ID4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0K PiA+ID4gPiBpbmRleCAwMDAwMDAwMDAwMDAuLjVhMDE1ZmNhMDA3OQ0KPiA+ID4gPiAtLS0gL2Rl di9udWxsDQo+ID4gPiA+ICsrKyBiL01kZVBrZy9JbmNsdWRlL1Byb3RvY29sL1RkUHJvdG9jb2wu aA0KPiA+ID4gPiBAQCAtMCwwICsxLDMwNSBAQA0KPiA+ID4gPiArLyoqIEBmaWxlDQo+ID4gPiA+ ICsgIElmIFRELUd1ZXN0IGZpcm13YXJlIHN1cHBvcnRzIG1lYXN1cmVtZW50IGFuZCBhbiBldmVu dCBpcyBjcmVhdGVkLA0KPiA+ID4gPiBURC1HdWVzdA0KPiA+ID4gPiArICBmaXJtd2FyZSBpcyBk ZXNpZ25lZCB0byByZXBvcnQgdGhlIGV2ZW50IGxvZyB3aXRoIHRoZSBzYW1lIGRhdGENCj4gPiA+ IHN0cnVjdHVyZQ0KPiA+ID4gPiArICBpbiBUQ0ctUGxhdGZvcm0tRmlybXdhcmUtUHJvZmlsZSBz cGVjaWZpY2F0aW9uIHdpdGgNCj4gPiA+ID4gKyAgRUZJX1RDRzJfRVZFTlRfTE9HX0ZPUk1BVF9U Q0dfMiBmb3JtYXQuDQo+ID4gPiA+ICsNCj4gPiA+ID4gKyAgVGhlIFRELUd1ZXN0IGZpcm13YXJl IHN1cHBvcnRzIG1lYXN1cmVtZW50LCB0aGUgVEQgR3Vlc3QNCj4gPiBGaXJtd2FyZSBpcw0KPiA+ ID4gPiBkZXNpZ25lZA0KPiA+ID4gPiArICB0byBwcm9kdWNlIEVGSV9URF9QUk9UT0NPTCB3aXRo IG5ldyBHVUlEDQo+ID4gRUZJX1REX1BST1RPQ09MX0dVSUQNCj4gPiA+ID4gdG8gcmVwb3J0DQo+ ID4gPiA+ICsgIGV2ZW50IGxvZyBhbmQgcHJvdmlkZXMgaGFzaCBjYXBhYmlsaXR5Lg0KPiA+ID4g PiArDQo+ID4gPiA+ICtDb3B5cmlnaHQgKGMpIDIwMjAgLSAyMDIxLCBJbnRlbCBDb3Jwb3JhdGlv bi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ID4gPiA+ICtTUERYLUxpY2Vuc2UtSWRlbnRp ZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiA+ID4gPiArDQo+ID4gPiA+ICsqKi8NCj4gPiA+ ID4gKw0KPiA+ID4gPiArDQo+ID4gPiA+ICsjaWZuZGVmIFREX1BST1RPQ09MX0hfDQo+ID4gPiA+ ICsjZGVmaW5lIFREX1BST1RPQ09MX0hfDQo+ID4gPiA+ICsNCj4gPiA+ID4gKyNpbmNsdWRlIDxV ZWZpL1VlZmlCYXNlVHlwZS5oPg0KPiA+ID4gPiArI2luY2x1ZGUgPEluZHVzdHJ5U3RhbmRhcmQv VWVmaVRjZ1BsYXRmb3JtLmg+DQo+ID4gPiA+ICsjaW5jbHVkZSA8SW5kdXN0cnlTdGFuZGFyZC9U cG0yMC5oPg0KPiA+ID4gPiArDQo+ID4gPiA+ICsNCj4gPiA+ID4gKyNkZWZpbmUgRUZJX1REX1BS T1RPQ09MX0dVSUQgIFwNCj4gPiA+ID4gKyAgeyAweDk2NzUxYTNkLCAweDcyZjQsIDB4NDFhNiwg eyAweGE3LCAweDk0LCAweGVkLCAweDVkLCAweDBlLCAweDY3LA0KPiA+ID4gMHhhZSwNCj4gPiA+ ID4gMHg2YiB9fQ0KPiA+ID4gPiArZXh0ZXJuIEVGSV9HVUlEIGdFZmlUZFByb3RvY29sR3VpZDsN Cj4gPiA+ID4gKw0KPiA+ID4gPiArdHlwZWRlZiBzdHJ1Y3QgX0VGSV9URF9QUk9UT0NPTCBFRklf VERfUFJPVE9DT0w7DQo+ID4gPiA+ICsNCj4gPiA+ID4gK3R5cGVkZWYgc3RydWN0IHsNCj4gPiA+ ID4gKyAgVUlOVDggTWFqb3I7DQo+ID4gPiA+ICsgIFVJTlQ4IE1pbm9yOw0KPiA+ID4gPiArfSBF RklfVERfVkVSU0lPTjsNCj4gPiA+ID4gKw0KPiA+ID4gPiArdHlwZWRlZiBVSU5UMzINCj4gPiBF RklfVERfRVZFTlRfTE9HX0JJVE1BUDsNCj4gPiA+ID4gK3R5cGVkZWYgVUlOVDMyDQo+ID4gRUZJ X1REX0VWRU5UX0xPR19GT1JNQVQ7DQo+ID4gPiA+ICt0eXBlZGVmIFVJTlQzMg0KPiA+ID4gPiBF RklfVERfRVZFTlRfQUxHT1JJVEhNX0JJVE1BUDsNCj4gPiA+ID4gK3R5cGVkZWYgVUlOVDMyICAg ICAgICAgICAgICAgICAgICAgIEVGSV9URF9NUl9JTkRFWDsNCj4gPiA+ID4gKw0KPiA+ID4gPiAr I2RlZmluZSBFRklfVERfRVZFTlRfTE9HX0ZPUk1BVF9UQ0dfMiAgIDB4MDAwMDAwMDINCj4gPiA+ ID4gKyNkZWZpbmUgRUZJX1REX0JPT1RfSEFTSF9BTEdfU0hBMzg0ICAgICAweDAwMDAwMDA0DQo+ ID4gPiA+ICsNCj4gPiA+ID4gKy8vDQo+ID4gPiA+ICsvLyBUaGlzIGJpdCBpcyBzaGFsbCBiZSBz ZXQgd2hlbiBhbiBldmVudCBzaGFsbCBiZSBleHRlbmRlZCBidXQgbm90DQo+ID4gPiBsb2dnZWQu DQo+ID4gPiA+ICsvLw0KPiA+ID4gPiArI2RlZmluZSBFRklfVERfRkxBR19FWFRFTkRfT05MWSAg ICAgICAweDAwMDAwMDAwMDAwMDAwMDENCj4gPiA+ID4gKy8vDQo+ID4gPiA+ICsvLyBUaGlzIGJp dCBzaGFsbCBiZSBzZXQgd2hlbiB0aGUgaW50ZW50IGlzIHRvIG1lYXN1cmUgYSBQRS9DT0ZGIGlt YWdlLg0KPiA+ID4gPiArLy8NCj4gPiA+ID4gKyNkZWZpbmUgRUZJX1REX0ZMQUdfUEVfQ09GRl9J TUFHRSAgICAgMHgwMDAwMDAwMDAwMDAwMDEwDQo+ID4gPiA+ICsNCj4gPiA+ID4gKyNkZWZpbmUg TVJfSU5ERVhfTVJURCAgMA0KPiA+ID4gPiArI2RlZmluZSBNUl9JTkRFWF9SVE1SMCAxDQo+ID4g PiA+ICsjZGVmaW5lIE1SX0lOREVYX1JUTVIxIDINCj4gPiA+ID4gKyNkZWZpbmUgTVJfSU5ERVhf UlRNUjIgMw0KPiA+ID4gPiArI2RlZmluZSBNUl9JTkRFWF9SVE1SMyA0DQo+ID4gPiA+ICsNCj4g PiA+ID4gKy8vDQo+ID4gPiA+ICsvLyBUaGlzIGJpdCBzaGFsbCBiZSBzZXQgd2hlbiB0aGUgaW50 ZW50IGlzIHRvIG1lYXN1cmUgYSBQRS9DT0ZGIGltYWdlLg0KPiA+ID4gPiArLy8NCj4gPiA+ID4g KyNkZWZpbmUgUEVfQ09GRl9JTUFHRSAgICAgMHgwMDAwMDAwMDAwMDAwMDEwDQo+ID4gPiA+ICsN Cj4gPiA+ID4gKyNwcmFnbWEgcGFjayAoMSkNCj4gPiA+ID4gKw0KPiA+ID4gPiArI2RlZmluZSBF RklfVERfRVZFTlRfSEVBREVSX1ZFUlNJT04gICAxDQo+ID4gPiA+ICsNCj4gPiA+ID4gK3R5cGVk ZWYgc3RydWN0IHsNCj4gPiA+ID4gKyAgLy8NCj4gPiA+ID4gKyAgLy8gU2l6ZSBvZiB0aGUgZXZl bnQgaGVhZGVyIGl0c2VsZiAoc2l6ZW9mKEVGSV9URF9FVkVOVF9IRUFERVIpKS4NCj4gPiA+ID4g KyAgLy8NCj4gPiA+ID4gKyAgVUlOVDMyICAgICAgICAgICAgSGVhZGVyU2l6ZTsNCj4gPiA+ID4g KyAgLy8NCj4gPiA+ID4gKyAgLy8gSGVhZGVyIHZlcnNpb24uIEZvciB0aGlzIHZlcnNpb24gb2Yg dGhpcyBzcGVjaWZpY2F0aW9uLCB0aGUgdmFsdWUNCj4gPiA+IHNoYWxsIGJlDQo+ID4gPiA+IDEu DQo+ID4gPiA+ICsgIC8vDQo+ID4gPiA+ICsgIFVJTlQxNiAgICAgICAgICAgIEhlYWRlclZlcnNp b247DQo+ID4gPiA+ICsgIC8vDQo+ID4gPiA+ICsgIC8vIEluZGV4IG9mIHRoZSBNUiB0aGF0IHNo YWxsIGJlIGV4dGVuZGVkLg0KPiA+ID4gPiArICAvLw0KPiA+ID4gPiArICBFRklfVERfTVJfSU5E RVggICBNckluZGV4Ow0KPiA+ID4gPiArICAvLw0KPiA+ID4gPiArICAvLyBUeXBlIG9mIHRoZSBl dmVudCB0aGF0IHNoYWxsIGJlIGV4dGVuZGVkIChhbmQgb3B0aW9uYWxseSBsb2dnZWQpLg0KPiA+ ID4gPiArICAvLw0KPiA+ID4gPiArICBVSU5UMzIgICAgICAgICAgICBFdmVudFR5cGU7DQo+ID4g PiA+ICt9IEVGSV9URF9FVkVOVF9IRUFERVI7DQo+ID4gPiA+ICsNCj4gPiA+ID4gK3R5cGVkZWYg c3RydWN0IHsNCj4gPiA+ID4gKyAgLy8NCj4gPiA+ID4gKyAgLy8gVG90YWwgc2l6ZSBvZiB0aGUg ZXZlbnQgaW5jbHVkaW5nIHRoZSBTaXplIGNvbXBvbmVudCwgdGhlIGhlYWRlciBhbmQNCj4gPiA+ IHRoZQ0KPiA+ID4gPiBFdmVudCBkYXRhLg0KPiA+ID4gPiArICAvLw0KPiA+ID4gPiArICBVSU5U MzIgICAgICAgICAgICAgICAgU2l6ZTsNCj4gPiA+ID4gKyAgRUZJX1REX0VWRU5UX0hFQURFUiAg IEhlYWRlcjsNCj4gPiA+ID4gKyAgVUlOVDggICAgICAgICAgICAgICAgIEV2ZW50WzFdOw0KPiA+ ID4gPiArfSBFRklfVERfRVZFTlQ7DQo+ID4gPiA+ICsNCj4gPiA+ID4gKyNwcmFnbWEgcGFjaygp DQo+ID4gPiA+ICsNCj4gPiA+ID4gKw0KPiA+ID4gPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiA+ID4g PiArICAvLw0KPiA+ID4gPiArICAvLyBBbGxvY2F0ZWQgc2l6ZSBvZiB0aGUgc3RydWN0dXJlDQo+ ID4gPiA+ICsgIC8vDQo+ID4gPiA+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgICAgICAg IFNpemU7DQo+ID4gPiA+ICsgIC8vDQo+ID4gPiA+ICsgIC8vIFZlcnNpb24gb2YgdGhlIEVGSV9U RF9CT09UX1NFUlZJQ0VfQ0FQQUJJTElUWSBzdHJ1Y3R1cmUgaXRzZWxmLg0KPiA+ID4gPiArICAv LyBGb3IgdGhpcyB2ZXJzaW9uIG9mIHRoZSBwcm90b2NvbCwgdGhlIE1ham9yIHZlcnNpb24gc2hh bGwgYmUgc2V0IHRvDQo+ID4gPiAxDQo+ID4gPiA+ICsgIC8vIGFuZCB0aGUgTWlub3IgdmVyc2lv biBzaGFsbCBiZSBzZXQgdG8gMS4NCj4gPiA+ID4gKyAgLy8NCj4gPiA+ID4gKyAgRUZJX1REX1ZF UlNJT04gICAgICAgICAgICAgICAgICAgU3RydWN0dXJlVmVyc2lvbjsNCj4gPiA+ID4gKyAgLy8N Cj4gPiA+ID4gKyAgLy8gVmVyc2lvbiBvZiB0aGUgRUZJIFREIHByb3RvY29sLg0KPiA+ID4gPiAr ICAvLyBGb3IgdGhpcyB2ZXJzaW9uIG9mIHRoZSBwcm90b2NvbCwgdGhlIE1ham9yIHZlcnNpb24g c2hhbGwgYmUgc2V0IHRvDQo+ID4gPiAxDQo+ID4gPiA+ICsgIC8vIGFuZCB0aGUgTWlub3IgdmVy c2lvbiBzaGFsbCBiZSBzZXQgdG8gMS4NCj4gPiA+ID4gKyAgLy8NCj4gPiA+ID4gKyAgRUZJX1RE X1ZFUlNJT04gICAgICAgICAgICAgICAgICAgUHJvdG9jb2xWZXJzaW9uOw0KPiA+ID4gPiArICAv Lw0KPiA+ID4gPiArICAvLyBTdXBwb3J0ZWQgaGFzaCBhbGdvcml0aG1zDQo+ID4gPiA+ICsgIC8v DQo+ID4gPiA+ICsgIEVGSV9URF9FVkVOVF9BTEdPUklUSE1fQklUTUFQICAgIEhhc2hBbGdvcml0 aG1CaXRtYXA7DQo+ID4gPiA+ICsgIC8vDQo+ID4gPiA+ICsgIC8vIEJpdG1hcCBvZiBzdXBwb3J0 ZWQgZXZlbnQgbG9nIGZvcm1hdHMNCj4gPiA+ID4gKyAgLy8NCj4gPiA+ID4gKyAgRUZJX1REX0VW RU5UX0xPR19CSVRNQVAgICAgICAgICAgU3VwcG9ydGVkRXZlbnRMb2dzOw0KPiA+ID4gPiArDQo+ ID4gPiA+ICsgIC8vDQo+ID4gPiA+ICsgIC8vIEZhbHNlID0gVEQgbm90IHByZXNlbnQNCj4gPiA+ ID4gKyAgLy8NCj4gPiA+ID4gKyAgQk9PTEVBTiAgICAgICAgICAgICAgICAgICAgICAgICAgVGRQ cmVzZW50RmxhZzsNCj4gPiA+ID4gK30gRUZJX1REX0JPT1RfU0VSVklDRV9DQVBBQklMSVRZOw0K PiA+ID4gPiArDQo+ID4gPiA+ICsvKioNCj4gPiA+ID4gKyAgVGhlIEVGSV9URF9QUk9UT0NPTCBH ZXRDYXBhYmlsaXR5IGZ1bmN0aW9uIGNhbGwgcHJvdmlkZXMgcHJvdG9jb2wNCj4gPiA+ID4gKyAg Y2FwYWJpbGl0eSBpbmZvcm1hdGlvbiBhbmQgc3RhdGUgaW5mb3JtYXRpb24uDQo+ID4gPiA+ICsN Cj4gPiA+ID4gKyAgQHBhcmFtW2luXSAgICAgIFRoaXMgICAgICAgICAgICAgICBJbmRpY2F0ZXMg dGhlIGNhbGxpbmcgY29udGV4dA0KPiA+ID4gPiArICBAcGFyYW1baW4sIG91dF0gUHJvdG9jb2xD YXBhYmlsaXR5IFRoZSBjYWxsZXIgYWxsb2NhdGVzIG1lbW9yeSBmb3IgYQ0KPiA+ID4gPiBFRklf VERfQk9PVF9TRVJWSUNFX0NBUEFCSUxJVFkNCj4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUgYW5kIHNldHMgdGhlIHNpemUNCj4gPiA+ID4gZmll bGQgdG8gdGhlIHNpemUgb2YgdGhlIHN0cnVjdHVyZSBhbGxvY2F0ZWQuDQo+ID4gPiA+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIGNhbGxlZSBmaWxscyBpbiB0aGUg ZmllbGRzDQo+ID4gPiA+IHdpdGggdGhlIEVGSSBwcm90b2NvbCBjYXBhYmlsaXR5IGluZm9ybWF0 aW9uDQo+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIHRo ZSBjdXJyZW50IEVGSSBURA0KPiA+IHN0YXRlDQo+ID4gPiA+IGluZm9ybWF0aW9uIHVwIHRvIHRo ZSBudW1iZXIgb2YgZmllbGRzIHdoaWNoDQo+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgZml0IHdpdGhpbiB0aGUgc2l6ZSBvZiB0aGUNCj4gPiA+ID4gc3RydWN0 dXJlIHBhc3NlZCBpbi4NCj4gPiA+ID4gKw0KPiA+ID4gPiArICBAcmV0dmFsIEVGSV9TVUNDRVNT ICAgICAgICAgICAgT3BlcmF0aW9uIGNvbXBsZXRlZA0KPiA+IHN1Y2Nlc3NmdWxseS4NCj4gPiA+ ID4gKyAgQHJldHZhbCBFRklfREVWSUNFX0VSUk9SICAgICAgIFRoZSBjb21tYW5kIHdhcyB1bnN1 Y2Nlc3NmdWwuDQo+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGUg UHJvdG9jb2xDYXBhYmlsaXR5IHZhcmlhYmxlDQo+ID4gd2lsbA0KPiA+ID4gPiBub3QgYmUgcG9w dWxhdGVkLg0KPiA+ID4gPiArICBAcmV0dmFsIEVGSV9JTlZBTElEX1BBUkFNRVRFUiAgT25lIG9y IG1vcmUgb2YgdGhlIHBhcmFtZXRlcnMNCj4gPiBhcmUNCj4gPiA+ID4gaW5jb3JyZWN0Lg0KPiA+ ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIFByb3RvY29sQ2FwYWJp bGl0eSB2YXJpYWJsZQ0KPiA+IHdpbGwNCj4gPiA+ID4gbm90IGJlIHBvcHVsYXRlZC4NCj4gPiA+ ID4gKyAgQHJldHZhbCBFRklfQlVGRkVSX1RPT19TTUFMTCAgIFRoZSBQcm90b2NvbENhcGFiaWxp dHkgdmFyaWFibGUNCj4gPiBpcw0KPiA+ID4gPiB0b28gc21hbGwgdG8gaG9sZCB0aGUgZnVsbCBy ZXNwb25zZS4NCj4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEl0IHdp bGwgYmUgcGFydGlhbGx5IHBvcHVsYXRlZA0KPiA+ID4gPiAocmVxdWlyZWQgU2l6ZSBmaWVsZCB3 aWxsIGJlIHNldCkuDQo+ID4gPiA+ICsqKi8NCj4gPiA+ID4gK3R5cGVkZWYNCj4gPiA+ID4gK0VG SV9TVEFUVVMNCj4gPiA+ID4gKyhFRklBUEkgKkVGSV9URF9HRVRfQ0FQQUJJTElUWSkgKA0KPiA+ ID4gPiArICBJTiAgICAgRUZJX1REX1BST1RPQ09MICAgICAgICAgICAgICAgICpUaGlzLA0KPiA+ ID4gPiArICBJTiBPVVQgRUZJX1REX0JPT1RfU0VSVklDRV9DQVBBQklMSVRZICpQcm90b2NvbENh cGFiaWxpdHkNCj4gPiA+ID4gKyAgKTsNCj4gPiA+ID4gKw0KPiA+ID4gPiArLyoqDQo+ID4gPiA+ ICsgIFRoZSBFRklfVERfUFJPVE9DT0wgR2V0IEV2ZW50IExvZyBmdW5jdGlvbiBjYWxsIGFsbG93 cyBhIGNhbGxlciB0bw0KPiA+ID4gPiArICByZXRyaWV2ZSB0aGUgYWRkcmVzcyBvZiBhIGdpdmVu IGV2ZW50IGxvZyBhbmQgaXRzIGxhc3QgZW50cnkuDQo+ID4gPiA+ICsNCj4gPiA+ID4gKyAgQHBh cmFtW2luXSAgVGhpcyAgICAgICAgICAgICAgIEluZGljYXRlcyB0aGUgY2FsbGluZyBjb250ZXh0 DQo+ID4gPiA+ICsgIEBwYXJhbVtpbl0gIEV2ZW50TG9nRm9ybWF0ICAgICBUaGUgdHlwZSBvZiB0 aGUgZXZlbnQgbG9nIGZvcg0KPiA+IHdoaWNoDQo+ID4gPiA+IHRoZSBpbmZvcm1hdGlvbiBpcyBy ZXF1ZXN0ZWQuDQo+ID4gPiA+ICsgIEBwYXJhbVtvdXRdIEV2ZW50TG9nTG9jYXRpb24gICBBIHBv aW50ZXIgdG8gdGhlIG1lbW9yeSBhZGRyZXNzDQo+ID4gb2YNCj4gPiA+ID4gdGhlIGV2ZW50IGxv Zy4NCj4gPiA+ID4gKyAgQHBhcmFtW291dF0gRXZlbnRMb2dMYXN0RW50cnkgIElmIHRoZSBFdmVu dCBMb2cgY29udGFpbnMgbW9yZSB0aGFuDQo+ID4gPiA+IG9uZSBlbnRyeSwgdGhpcyBpcyBhIHBv aW50ZXIgdG8gdGhlDQo+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBh ZGRyZXNzIG9mIHRoZSBzdGFydCBvZiB0aGUgbGFzdA0KPiA+ID4gPiBlbnRyeSBpbiB0aGUgZXZl bnQgbG9nIGluIG1lbW9yeS4NCj4gPiA+ID4gKyAgQHBhcmFtW291dF0gRXZlbnRMb2dUcnVuY2F0 ZWQgIElmIHRoZSBFdmVudCBMb2cgaXMgbWlzc2luZyBhdCBsZWFzdA0KPiA+IG9uZQ0KPiA+ID4g PiBlbnRyeSBiZWNhdXNlIGFuIGV2ZW50IHdvdWxkDQo+ID4gPiA+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBoYXZlIGV4Y2VlZGVkIHRoZSBhcmVhDQo+ID4gYWxsb2NhdGVkDQo+ ID4gPiA+IGZvciBldmVudHMsIHRoaXMgdmFsdWUgaXMgc2V0IHRvIFRSVUUuDQo+ID4gPiA+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdGhlcndpc2UsIHRoZSB2YWx1ZSB3aWxs IGJlDQo+ID4gRkFMU0UNCj4gPiA+ID4gYW5kIHRoZSBFdmVudCBMb2cgd2lsbCBiZSBjb21wbGV0 ZS4NCj4gPiA+ID4gKw0KPiA+ID4gPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAgICAg T3BlcmF0aW9uIGNvbXBsZXRlZA0KPiA+IHN1Y2Nlc3NmdWxseS4NCj4gPiA+ID4gKyAgQHJldHZh bCBFRklfSU5WQUxJRF9QQVJBTUVURVIgIE9uZSBvciBtb3JlIG9mIHRoZSBwYXJhbWV0ZXJzDQo+ ID4gYXJlDQo+ID4gPiA+IGluY29ycmVjdA0KPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKGUuZy4gYXNraW5nIGZvciBhbiBldmVudCBsb2cNCj4gPiB3aG9zZQ0KPiA+ ID4gPiBmb3JtYXQgaXMgbm90IHN1cHBvcnRlZCkuDQo+ID4gPiA+ICsqKi8NCj4gPiA+ID4gK3R5 cGVkZWYNCj4gPiA+ID4gK0VGSV9TVEFUVVMNCj4gPiA+ID4gKyhFRklBUEkgKkVGSV9URF9HRVRf RVZFTlRfTE9HKSAoDQo+ID4gPiA+ICsgIElOICBFRklfVERfUFJPVE9DT0wgICAgICAgICAgKlRo aXMsDQo+ID4gPiA+ICsgIElOICBFRklfVERfRVZFTlRfTE9HX0ZPUk1BVCAgRXZlbnRMb2dGb3Jt YXQsDQo+ID4gPiA+ICsgIE9VVCBFRklfUEhZU0lDQUxfQUREUkVTUyAgICAgKkV2ZW50TG9nTG9j YXRpb24sDQo+ID4gPiA+ICsgIE9VVCBFRklfUEhZU0lDQUxfQUREUkVTUyAgICAgKkV2ZW50TG9n TGFzdEVudHJ5LA0KPiA+ID4gPiArICBPVVQgQk9PTEVBTiAgICAgICAgICAgICAgICAgICpFdmVu dExvZ1RydW5jYXRlZA0KPiA+ID4gPiArICApOw0KPiA+ID4gPiArDQo+ID4gPiA+ICsvKioNCj4g PiA+ID4gKyAgVGhlIEVGSV9URF9QUk9UT0NPTCBIYXNoTG9nRXh0ZW5kRXZlbnQgZnVuY3Rpb24g Y2FsbCBwcm92aWRlcw0KPiA+IGNhbGxlcnMNCj4gPiA+ID4gd2l0aA0KPiA+ID4gPiArICBhbiBv cHBvcnR1bml0eSB0byBleHRlbmQgYW5kIG9wdGlvbmFsbHkgbG9nIGV2ZW50cyB3aXRob3V0IHJl cXVpcmluZw0KPiA+ID4gPiArICBrbm93bGVkZ2Ugb2YgYWN0dWFsIFREIGNvbW1hbmRzLg0KPiA+ ID4gPiArICBUaGUgZXh0ZW5kIG9wZXJhdGlvbiB3aWxsIG9jY3VyIGV2ZW4gaWYgdGhpcyBmdW5j dGlvbiBjYW5ub3QgY3JlYXRlIGFuDQo+ID4gPiA+IGV2ZW50DQo+ID4gPiA+ICsgIGxvZyBlbnRy eSAoZS5nLiBkdWUgdG8gdGhlIGV2ZW50IGxvZyBiZWluZyBmdWxsKS4NCj4gPiA+ID4gKw0KPiA+ ID4gPiArICBAcGFyYW1baW5dICBUaGlzICAgICAgICAgICAgICAgSW5kaWNhdGVzIHRoZSBjYWxs aW5nIGNvbnRleHQNCj4gPiA+ID4gKyAgQHBhcmFtW2luXSAgRmxhZ3MgICAgICAgICAgICAgIEJp dG1hcCBwcm92aWRpbmcgYWRkaXRpb25hbA0KPiA+ID4gPiBpbmZvcm1hdGlvbi4NCj4gPiA+ID4g KyAgQHBhcmFtW2luXSAgRGF0YVRvSGFzaCAgICAgICAgIFBoeXNpY2FsIGFkZHJlc3Mgb2YgdGhl IHN0YXJ0IG9mDQo+ID4gdGhlDQo+ID4gPiA+IGRhdGEgYnVmZmVyIHRvIGJlIGhhc2hlZC4NCj4g PiA+ID4gKyAgQHBhcmFtW2luXSAgRGF0YVRvSGFzaExlbiAgICAgIFRoZSBsZW5ndGggaW4gYnl0 ZXMgb2YgdGhlIGJ1ZmZlcg0KPiA+ID4gPiByZWZlcmVuY2VkIGJ5IERhdGFUb0hhc2guDQo+ID4g PiA+ICsgIEBwYXJhbVtpbl0gIEVmaVRkRXZlbnQgICAgICAgICBQb2ludGVyIHRvIGRhdGEgYnVm ZmVyIGNvbnRhaW5pbmcNCj4gPiA+ID4gaW5mb3JtYXRpb24gYWJvdXQgdGhlIGV2ZW50Lg0KPiA+ ID4gPiArDQo+ID4gPiA+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgICBPcGVyYXRp b24gY29tcGxldGVkDQo+ID4gc3VjY2Vzc2Z1bGx5Lg0KPiA+ID4gPiArICBAcmV0dmFsIEVGSV9E RVZJQ0VfRVJST1IgICAgICAgVGhlIGNvbW1hbmQgd2FzIHVuc3VjY2Vzc2Z1bC4NCj4gPiA+ID4g KyAgQHJldHZhbCBFRklfVk9MVU1FX0ZVTEwgICAgICAgIFRoZSBleHRlbmQgb3BlcmF0aW9uIG9j Y3VycmVkLA0KPiA+IGJ1dA0KPiA+ID4gPiB0aGUgZXZlbnQgY291bGQgbm90IGJlIHdyaXR0ZW4g dG8gb25lIG9yIG1vcmUgZXZlbnQgbG9ncy4NCj4gPiA+ID4gKyAgQHJldHZhbCBFRklfSU5WQUxJ RF9QQVJBTUVURVIgIE9uZSBvciBtb3JlIG9mIHRoZSBwYXJhbWV0ZXJzDQo+ID4gYXJlDQo+ID4g PiA+IGluY29ycmVjdC4NCj4gPiA+ID4gKyAgQHJldHZhbCBFRklfVU5TVVBQT1JURUQgICAgICAg IFRoZSBQRS9DT0ZGIGltYWdlIHR5cGUgaXMgbm90DQo+ID4gPiA+IHN1cHBvcnRlZC4NCj4gPiA+ ID4gKyoqLw0KPiA+ID4gPiArdHlwZWRlZg0KPiA+ID4gPiArRUZJX1NUQVRVUw0KPiA+ID4gPiAr KEVGSUFQSSAqIEVGSV9URF9IQVNIX0xPR19FWFRFTkRfRVZFTlQpICgNCj4gPiA+ID4gKyAgSU4g RUZJX1REX1BST1RPQ09MICAgICAgKlRoaXMsDQo+ID4gPiA+ICsgIElOIFVJTlQ2NCAgICAgICAg ICAgICAgIEZsYWdzLA0KPiA+ID4gPiArICBJTiBFRklfUEhZU0lDQUxfQUREUkVTUyBEYXRhVG9I YXNoLA0KPiA+ID4gPiArICBJTiBVSU5UNjQgICAgICAgICAgICAgICBEYXRhVG9IYXNoTGVuLA0K PiA+ID4gPiArICBJTiBFRklfVERfRVZFTlQgICAgICAgICAqRWZpVGRFdmVudA0KPiA+ID4gPiAr ICApOw0KPiA+ID4gPiArDQo+ID4gPiA+ICsvKioNCj4gPiA+ID4gKyAgVGhlIEVGSV9URF9QUk9U T0NPTCBNYXBQY3JUb01ySW5kZXggZnVuY3Rpb24gY2FsbCBwcm92aWRlcw0KPiA+IGNhbGxlcnMN Cj4gPiA+ID4gKyAgdGhlIGluZm8gb24gVFBNIFBDUjwtPiBtZWFzdXJlbWVudCByZWdpc3RlciBt YXBwaW5nIGluZm9ybWF0aW9uLg0KPiA+ID4gPiArDQo+ID4gPiA+ICsgIEluIGN1cnJlbnQgdmVy c2lvbiwgd2UgdXNlIGJlbG93IG1hcHBpbmc6DQo+ID4gPiA+ICsgICAgUENSMCAgICAtPiBNUlRE ICAoSW5kZXggMCkNCj4gPiA+ID4gKyAgICBQQ1IxICAgIC0+IFJUTVIwIChJbmRleCAxKQ0KPiA+ ID4gPiArICAgIFBDUjJ+NiAgLT4gUlRNUjEgKEluZGV4IDIpDQo+ID4gPiA+ICsgICAgUENSNyAg ICAtPiBSVE1SMCAoSW5kZXggMSkNCj4gPiA+ID4gKyAgICBQQ1I4fjE1IC0+IFJUTVIyIChJbmRl eCAzKQ0KPiA+ID4gPiArDQo+ID4gPiA+ICsgIEBwYXJhbVtpbl0gIFRoaXMgICAgICAgICAgICAg ICBJbmRpY2F0ZXMgdGhlIGNhbGxpbmcgY29udGV4dA0KPiA+ID4gPiArICBAcGFyYW1baW5dICBQ Y3JJbmRleCAgICAgICAgICAgVFBNIFBDUiBpbmRleC4NCj4gPiA+ID4gKyAgQHBhcmFtW291dF0g TXJJbmRleCAgICAgICAgICAgIE1lYXN1cmVtZW50IHJlZ2lzdGVyIGluZGV4Lg0KPiA+ID4gPiAr DQo+ID4gPiA+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgICBUaGUgTVIgaW5kZXgg aXMgcmV0dXJuZWQuDQo+ID4gPiA+ICsgIEByZXR2YWwgRUZJX0lOVkFMSURfUEFSQU1FVEVSICBU aGUgTXJJbmRleCBpcyBOVUxMLg0KPiA+ID4gPiArICBAcmV0dmFsIEVGSV9VTlNVUFBPUlRFRCAg ICAgICAgVGhlIFBjckluZGV4IGlzIGludmFsaWQuDQo+ID4gPiA+ICsqKi8NCj4gPiA+ID4gK3R5 cGVkZWYNCj4gPiA+ID4gK0VGSV9TVEFUVVMNCj4gPiA+ID4gKyhFRklBUEkgKiBFRklfVERfTUFQ X1BDUl9UT19NUl9JTkRFWCkgKA0KPiA+ID4gPiArICBJTiAgRUZJX1REX1BST1RPQ09MICAgKlRo aXMsDQo+ID4gPiA+ICsgIElOICBUQ0dfUENSSU5ERVggICAgICBQY3JJbmRleCwNCj4gPiA+ID4g KyAgT1VUIEVGSV9URF9NUl9JTkRFWCAgICpNckluZGV4DQo+ID4gPiA+ICsgICk7DQo+ID4gPiA+ ICsNCj4gPiA+ID4gK3N0cnVjdCBfRUZJX1REX1BST1RPQ09MIHsNCj4gPiA+ID4gKyAgRUZJX1RE X0dFVF9DQVBBQklMSVRZICAgICAgICAgICAgICAgICAgICAgR2V0Q2FwYWJpbGl0eTsNCj4gPiA+ ID4gKyAgRUZJX1REX0dFVF9FVkVOVF9MT0cgICAgICAgICAgICAgICAgICAgICAgR2V0RXZlbnRM b2c7DQo+ID4gPiA+ICsgIEVGSV9URF9IQVNIX0xPR19FWFRFTkRfRVZFTlQNCj4gPiA+ID4gSGFz aExvZ0V4dGVuZEV2ZW50Ow0KPiA+ID4gPiArICBFRklfVERfTUFQX1BDUl9UT19NUl9JTkRFWA0K PiA+IE1hcFBjclRvTXJJbmRleDsNCj4gPiA+ID4gK307DQo+ID4gPiA+ICsNCj4gPiA+ID4gKw0K PiA+ID4gPiArLy8NCj4gPiA+ID4gKy8vIFREIGV2ZW50IGxvZw0KPiA+ID4gPiArLy8NCj4gPiA+ ID4gKw0KPiA+ID4gPiArI3ByYWdtYSBwYWNrKDEpDQo+ID4gPiA+ICsNCj4gPiA+ID4gKy8vDQo+ ID4gPiA+ICsvLyBDcnlwdG8gQWdpbGUgTG9nIEVudHJ5IEZvcm1hdC4NCj4gPiA+ID4gKy8vIEl0 IGlzIHNpbWlsYXIgd2l0aCBUQ0dfUENSX0VWRU5UMiBleGNlcHQgdGhlIGZpZWxkIG9mIE1ySW5k ZXggYW5kDQo+ID4gPiA+IFBDUkluZGV4Lg0KPiA+ID4gPiArLy8NCj4gPiA+ID4gK3R5cGVkZWYg c3RydWN0IHsNCj4gPiA+ID4gKyAgRUZJX1REX01SX0lOREVYICAgICBNckluZGV4Ow0KPiA+ID4g PiArICBVSU5UMzIgICAgICAgICAgICAgIEV2ZW50VHlwZTsNCj4gPiA+ID4gKyAgVFBNTF9ESUdF U1RfVkFMVUVTICBEaWdlc3RzOw0KPiA+ID4gPiArICBVSU5UMzIgICAgICAgICAgICAgIEV2ZW50 U2l6ZTsNCj4gPiA+ID4gKyAgVUlOVDggICAgICAgICAgICAgICBFdmVudFsxXTsNCj4gPiA+ID4g K30gVERfRVZFTlQ7DQo+ID4gPiA+ICsNCj4gPiA+ID4gKy8vDQo+ID4gPiA+ICsvLyBFRkkgVEQg RXZlbnQgSGVhZGVyDQo+ID4gPiA+ICsvLyBJdCBpcyBzaW1pbGFyIHdpdGggVENHX1BDUl9FVkVO VDJfSERSIGV4Y2VwdCB0aGUgZmllbGQgb2YgTXJJbmRleA0KPiA+IGFuZA0KPiA+ID4gPiBQQ1JJ bmRleA0KPiA+ID4gPiArLy8NCj4gPiA+ID4gK3R5cGVkZWYgc3RydWN0IHsNCj4gPiA+ID4gKyAg RUZJX1REX01SX0lOREVYICAgICBNckluZGV4Ow0KPiA+ID4gPiArICBVSU5UMzIgICAgICAgICAg ICAgIEV2ZW50VHlwZTsNCj4gPiA+ID4gKyAgVFBNTF9ESUdFU1RfVkFMVUVTICBEaWdlc3RzOw0K PiA+ID4gPiArICBVSU5UMzIgICAgICAgICAgICAgIEV2ZW50U2l6ZTsNCj4gPiA+ID4gK30gVERf RVZFTlRfSERSOw0KPiA+ID4gPiArDQo+ID4gPiA+ICsjcHJhZ21hIHBhY2soKQ0KPiA+ID4gPiAr DQo+ID4gPiA+ICsvLw0KPiA+ID4gPiArLy8gTG9nIGVudHJpZXMgYWZ0ZXIgR2V0IEV2ZW50IExv ZyBzZXJ2aWNlDQo+ID4gPiA+ICsvLw0KPiA+ID4gPiArDQo+ID4gPiA+ICsNCj4gPiA+ID4gK3R5 cGVkZWYgc3RydWN0IHsNCj4gPiA+ID4gKyAgLy8NCj4gPiA+ID4gKyAgLy8gVGhlIHZlcnNpb24g b2YgdGhpcyBzdHJ1Y3R1cmUuIEl0IHNoYWxsIGJlIHNldCBvdCAxLg0KPiA+ID4gPiArICAvLw0K PiA+ID4gPiArICBVSU5UNjQgICAgICAgICAgICAgICAgICBWZXJzaW9uOw0KPiA+ID4gPiArICAv Lw0KPiA+ID4gPiArICAvLyBOdW1iZXIgb2YgZXZlbnRzIHJlY29yZGVkIGFmdGVyIGludm9jYXRp b24gb2YgR2V0RXZlbnRMb2cgQVBJDQo+ID4gPiA+ICsgIC8vDQo+ID4gPiA+ICsgIFVJTlQ2NCAg ICAgICAgICAgICAgICAgIE51bWJlck9mRXZlbnRzOw0KPiA+ID4gPiArICAvLw0KPiA+ID4gPiAr ICAvLyBMaXN0IG9mIGV2ZW50cyBvZiB0eXBlIFRDR19URF9FVkVOVC4NCj4gPiA+ID4gKyAgLy8N Cj4gPiA+ID4gKyAgLy9URF9FVkVOVCAgICAgICAgICAgICAgRXZlbnRbMV07DQo+ID4gPiA+ICt9 IEVGSV9URF9GSU5BTF9FVkVOVFNfVEFCTEU7DQo+ID4gPiA+ICsNCj4gPiA+ID4gKw0KPiA+ID4g PiArI2RlZmluZSBFRklfVERfRklOQUxfRVZFTlRTX1RBQkxFX0dVSUQgXA0KPiA+ID4gPiArICB7 MHhkZDRhNDY0OCwgMHgyZGU3LCAweDQ2NjUsIHsweDk2LCAweDRkLCAweDIxLCAweGQ5LCAweGVm LCAweDVmLA0KPiA+IDB4YjQsDQo+ID4gPiA+IDB4NDZ9fQ0KPiA+ID4gPiArDQo+ID4gPiA+ICtl eHRlcm4gRUZJX0dVSUQgZ0VmaVRkRmluYWxFdmVudHNUYWJsZUd1aWQ7DQo+ID4gPiA+ICsNCj4g PiA+ID4gKyNlbmRpZg0KPiA+ID4gPiBkaWZmIC0tZ2l0IGEvTWRlUGtnL01kZVBrZy5kZWMgYi9N ZGVQa2cvTWRlUGtnLmRlYw0KPiA+ID4gPiBpbmRleCBhMjhhMmRhYWZmYTguLjJmNDhmNmM0MGMx ZSAxMDA2NDQNCj4gPiA+ID4gLS0tIGEvTWRlUGtnL01kZVBrZy5kZWMNCj4gPiA+ID4gKysrIGIv TWRlUGtnL01kZVBrZy5kZWMNCj4gPiA+ID4gQEAgLTEwMDgsNiArMTAwOCw5IEBADQo+ID4gPiA+ ICAgICMjIEluY2x1ZGUvUHJvdG9jb2wvUGNkSW5mby5oDQo+ID4gPiA+ICAgIGdHZXRQY2RJbmZv UHJvdG9jb2xHdWlkICAgICAgICA9IHsgMHg1YmU0MGY1NywgMHhmYTY4LCAweDQ2MTAsDQo+ID4g eyAweGJiLA0KPiA+ID4gPiAweGJmLCAweGU5LCAweGM1LCAweGZjLCAweGRhLCAweGQzLCAweDY1 IH0gfQ0KPiA+ID4gPg0KPiA+ID4gPiArICAjIyBJbmNsdWRlL1Byb3RvY29sL1RkUHJvdG9jb2wu aA0KPiA+ID4gPiArICBnRWZpVGRQcm90b2NvbEd1aWQgICAgICAgICAgICAgPSB7IDB4OTY3NTFh M2QsIDB4NzJmNCwgMHg0MWE2LA0KPiA+IHsgMHhhNywNCj4gPiA+ID4gMHg5NCwgMHhlZCwgMHg1 ZCwgMHgwZSwgMHg2NywgMHhhZSwgMHg2YiB9fQ0KPiA+ID4gPiArDQo+ID4gPiA+ICAgICMNCj4g PiA+ID4gICAgIyBQcm90b2NvbHMgZGVmaW5lZCBpbiBQSTEuMC4NCj4gPiA+ID4gICAgIw0KPiA+ ID4gPiAtLQ0KPiA+ID4gPiAyLjI5LjIud2luZG93cy4yDQo+ID4gPiA+DQo+ID4gPiA+DQo+ID4g PiA+DQo+ID4gPiA+DQo+ID4gPiA+DQo+ID4gPg0KPiA+ID4NCj4gPiA+DQo+ID4gPg0KPiA+ID4N Cj4gPiA+DQo+ID4gPg0KPiANCj4gDQo+IA0KPiANCj4gDQo+IA0KPiANCg0K