From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by mx.groups.io with SMTP id smtpd.web10.4529.1634611090557277940 for ; Mon, 18 Oct 2021 19:38:10 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=Cc+bqe96; spf=pass (domain: intel.com, ip: 134.134.136.126, mailfrom: jie.yang@intel.com) X-IronPort-AV: E=McAfee;i="6200,9189,10141"; a="215334367" X-IronPort-AV: E=Sophos;i="5.85,383,1624345200"; d="scan'208";a="215334367" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Oct 2021 19:38:09 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.85,383,1624345200"; d="scan'208";a="550567414" Received: from fmsmsx604.amr.corp.intel.com ([10.18.126.84]) by fmsmga004.fm.intel.com with ESMTP; 18 Oct 2021 19:38:09 -0700 Received: from fmsmsx609.amr.corp.intel.com (10.18.126.89) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Mon, 18 Oct 2021 19:38:09 -0700 Received: from fmsmsx606.amr.corp.intel.com (10.18.126.86) by fmsmsx609.amr.corp.intel.com (10.18.126.89) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Mon, 18 Oct 2021 19:38:08 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx606.amr.corp.intel.com (10.18.126.86) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12 via Frontend Transport; Mon, 18 Oct 2021 19:38:08 -0700 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.101) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.12; Mon, 18 Oct 2021 19:38:08 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FcPR+y3m5cPezg/G79yBL0Hx7R1RGPUHV08Vjn7Y2bH/DeOlmw3njrPjLSeoRWllvXeQ2tYVhLsjJW0RGA7Dlka+jr7JLp6AqnZwRUiJ6fk3aITdCr+ax8ACiclaruAwBbSCpsmBaKnbWuMWQbnPjIKSrCV+JTBpFuy+Zd1VQruO/HHg+ZraStCY6vn1VQ8j51ld+2IOc7ZeNi9Dj4b07YpSw5s4Mt4c7YOu2GfCNkNh/IhNlZCXkfmD4PdQ9s+JvoZaJYPZ+HCUgLq82bQRVi1zbOpNQF0vQ9UDIIXnkFaWur8EiKS/DLhs1Jo25HcLMzZSiZqfv4o9ViUg5xWKAQ== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=kbijb8QIKl8JIz/dQ3Y/Lmvcksnoemc3iEQ1kg3WxAY=; b=cYSylFxdKELt1Rxp4tcsuedKLu1cX9mLS2SL2AmdRll/KHUsBDzPhEOMl3mfL6x/SfrZab9LeLyMew7d/HuicBQshaY2iVyLP+On4KaiYHBmzyuM5IwzHHcRKMVEi5p+UjnbAjK25wKYJ+Aq7shAJRRwneN1Glj0TyAh2lc/VajeeMT2MZPGw5tgfEoGNgckdd1Ahadqj3SfSPpCVJDpIVR+pfNJprw9dZgBjRSWOsgjHf2t6675oRWQj2tHN35JXDUDHdccjpbtMhl+Putw5NH7hnV5uoROr77Z6e/jZ+bO6SwZkSmfPeFv65c92q5yJHOoT5GXeVfegf5fZdt6xQ== 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=kbijb8QIKl8JIz/dQ3Y/Lmvcksnoemc3iEQ1kg3WxAY=; b=Cc+bqe96+KotUK/qHv04zAOVCSLnkojmjwuz7in9UowkP1K7hjnL7B/mR0WiDPd+16Bk/AS92pvFSzmi4djggPV09L5XOAOEtHq5VsJCfmxQXV1F/2gZ5SgAE/LwA++jUG0/g2xSeQ09PRA2uv4OYqsjXLnuCllx3240elKshQ0= Received: from SN6PR11MB2590.namprd11.prod.outlook.com (2603:10b6:805:54::29) by SA1PR11MB5873.namprd11.prod.outlook.com (2603:10b6:806:228::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4608.15; Tue, 19 Oct 2021 02:38:07 +0000 Received: from SN6PR11MB2590.namprd11.prod.outlook.com ([fe80::acda:f35:113:efbe]) by SN6PR11MB2590.namprd11.prod.outlook.com ([fe80::acda:f35:113:efbe%5]) with mapi id 15.20.4608.018; Tue, 19 Oct 2021 02:38:06 +0000 From: "Yang Jie" To: "Xu, Wei6" , gaoliming , "devel@edk2.groups.io" Subject: Re: [edk2-devel][PATCH] FmpDevicePkg/FmpDxe: Use new Variable Lock interface Thread-Topic: [edk2-devel][PATCH] FmpDevicePkg/FmpDxe: Use new Variable Lock interface Thread-Index: AQHXw979KFnXGx7E+Eamz9wB7BX+8qvZjs0AgAAFDACAAActcA== Date: Tue, 19 Oct 2021 02:38:06 +0000 Message-ID: References: <20211018051400.3097-1-jie.yang@intel.com> <000d01d7c48b$463e8680$d2bb9380$@byosoft.com.cn> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.6.200.16 dlp-reaction: no-action authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 6606a3b6-d031-4849-f527-08d992a97b8d x-ms-traffictypediagnostic: SA1PR11MB5873: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:639; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: +ojxS9T81OylwgOLi7mFh/DhjqatDqpjkXq3uy6/8vAPxJDc2wvl97pkfkZx3UF9tyNL5R2jcI/8zMzCte2OZMDVHCJtPTLB3rnuo59GO8g59dLgKItYCrC/ueHWfGdA34/StOj79AKIVdklkTpIfQparAKACVhJjKvsYsCmvRzDtjpLAGysv8imRNwHDR+Vz6H9PnE3KKFjKmNOLLqZlI4PtC09bNZFQwTvEu9X9SMHsEShBTaHWd3A76ABkq7ZLbaA1A3kXcDLIuZ7Ygqs1qghE/2LPnAu69quiw+TQqlC/z4QLdCQMgsKdK0j7tMWzxapsnL6xQo2jW66CMrvRbWanaycdQN6YlOjFJPBn+6lNdKfk+IunyDyMaTsZjHzlokWKZLHfMFNVH1Tt8ltryO+ZaIVvBlfgS0RbKR+YNZ93KFrgn1b31hwmzytIptH6jUsHilGcETl6V6WykmtLi3dxwLRUSIUUtiWYI1ySxHB6YkSo185Wba6o/SoKF+qMuzW6tLRWcRy6VoP/Gx1Q7L9dSFKyJFrHzymIhXpGFvLlUV4Yaz7vTVstpBuUNBB9UMv9X0FTph0x4BBTiF8Iq6zV1xl65gzmqUOPyZqou9gVTEgVvFEK5I7Ohn44ilQsMm6VsaOZzBu6II53axhEAXSNijUBfipefZA2RuJCSsMS51gdvTCQgKBW7fGomawAAKHue09tXpp9+l4Xc3u6BetwYvf17WpY5wMzvMyd047bdfSx/8aisnsfeu90Ev9mZO/4wh5dBshAJOxJzdH/lZmAJiXrDxrRW4KQWKZzUZuaKzMCH06zSUYEddqnDp927a4hiRA6FelmpUfyOmTtiCHdev7rRXNlX6sQ281oQY= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR11MB2590.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(38100700002)(122000001)(6506007)(66946007)(5660300002)(26005)(38070700005)(66556008)(110136005)(316002)(186003)(66446008)(2906002)(76116006)(64756008)(66476007)(45080400002)(86362001)(82960400001)(9686003)(8936002)(71200400001)(33656002)(7696005)(55016002)(83380400001)(52536014)(53546011)(966005)(8676002)(508600001)(44824005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ZTZ5VXR3V3FlcHA2b3hrOG52UWxzaHdjTlB0QkFFdElyM1Rod1R0OVlCT2c2?= =?utf-8?B?MUprRlhoTVhVNEVHMHdoU3dCWHZ2SnNWd29rbWZpd1gyOW1lWlNOYWRvZlE0?= =?utf-8?B?cFNKclVSRjZjOGxzMEZlM3A2YldPU2k1WlVoK21TaHBRMjFtdjVnYWsvUlJB?= =?utf-8?B?Q1F0ZFNUdGY4dzhGcjJlT2MyaE5jTnpxb0w0VmRDckNNSzhzK3gzM1cwSk8x?= =?utf-8?B?OFAxSlh3MzVsUGxrZjlNSEdrL3czWVpHWG5DM1V2a3l3VGExa25YaU5RckJ1?= =?utf-8?B?dGZ2TXlEeUVZR01WcjhqZnhmNnBBNVZ5WTEveHZ3M0IxU1FsZkNNc3FySjZ5?= =?utf-8?B?N2JSVjgrOTJaZkpLaSs5aHRxdGpEUzB4aklLVjFMaHQ2Z2I4YkpBTVNXSEYw?= =?utf-8?B?Z25OT2h4b2JBY3hiR3NoWDJLcHdLQjVjSlBTMU9lcGJNaUVuWnYzYUdPMVpK?= =?utf-8?B?Znhpc1hJN1lMRnBYRTY4UHE0ZXhCS0JUYjc4SjRPTXhEc1NONnJKdURWaU1J?= =?utf-8?B?U3czNFRaY0t1Y1ZKNzRKdyt2ZU5RUk14ZzhuSXJDUWs1bmdHd0RmanYvd25U?= =?utf-8?B?K2FVMUFNbkZkQXpwMW1KOHN0UUJ6U0xtcmRHNmZxUUxPVlREY2dOMTk1M0lL?= =?utf-8?B?OHBKS3dDVTBtNklYYktuam5JQTY4MUN0d2ZhOExkaTVkSjBrdGhvdTNBR3po?= =?utf-8?B?K3ZMQzNmSEFLZGJLMlZ4QkZQN20xbTlzUkRyZlhUZjF4bUFhMUFoWDlJZFUx?= =?utf-8?B?amVQZ3NhbHBCQkVSWG9pNjVtZDE0S0xIZjRYWXB2UDNNd244V3FGUTl6Ujkx?= =?utf-8?B?eFE1VWhza2JUYnV5VURHdG1BbnZxUEtac2czWXdsaWNkWFdaRk8wc3RGN0JO?= =?utf-8?B?aDdka2Y1SDdJelZCVVdLbVBMV3lPQzNyWGVBdFUzQ0ZFSFdhbFhBREZxV2x0?= =?utf-8?B?eDlqcGhFb2xLbHNrNW15eVgrZDFlcEpZNEsvUStib3lDK245cVZIQjFqZFFh?= =?utf-8?B?VTZqUkt0VjNuc1UyUWJzK2FuYi9CWmRubmZIUitXblp6SUN1WTd3MEVtb3J0?= =?utf-8?B?UitCMm1jelVqRXI1OXNqTjY0dXVPTmFsUS8yNWMrOSszUnpYM29QWmlEa0RF?= =?utf-8?B?Y3Y5RCt3R3BOZi9reDA4N0xRcjFybDhjeWpzcUc3TDlKV1M2YlB6RjlEWmlT?= =?utf-8?B?RkwrblhPa2s5QWVkV3paeWxtNmZwelQxK0puQjB6MnRtVFFOVE1pbTQ5cDJE?= =?utf-8?B?Y0ZzaHg2MGt5VEJDTzNUYmtVRXFhT1BXV3dVR1pjb3VIRnRPOXN1aWhVVjZ3?= =?utf-8?B?UHVsaUtYbjBNQ3VZcm9jQ2lrVXRwcEtybkxXRisxZ2NLSWk3aWxlRS9KN08r?= =?utf-8?B?QWFWb2ticmhLNTllR0JBRFpJWkJoU28wYU5WTmxDSDF0YVVTM1VoM2djdTlh?= =?utf-8?B?SVA5U3h3VnJJS0pHNy84Qk93NHVtUjZ5SmVsRkpBMVMxMWZWbjFjVml3a3U0?= =?utf-8?B?WHlhQzdRYUpUS05kWE1TSnpsUGgzTHN2Yis2TVRkNzlqaEZRdEVDNlVuU0ZL?= =?utf-8?B?aEJNaVBEeFdRVzRycXhkNkFPYml6NnNBbENISCtjYnNiRkUrbU1iK2ZNbjZO?= =?utf-8?B?aWNVbUVDb0ZWc09KT3BZeklGVkJ6RlczWUZubVoxdWgwZ2poa2lwL1pjUlpB?= =?utf-8?B?dHgzODdybDVXMXhOdGMvN3EwMGFNd1VKeUJsZzZBai9RLzNiUnd6NGthQy9Q?= =?utf-8?Q?YcWE6u5JQfLQirz0BU=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR11MB2590.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6606a3b6-d031-4849-f527-08d992a97b8d X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Oct 2021 02:38:06.8985 (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: aBjAbjx97Q2++3tcyYqLwovAhpQRzlGgHKojeasAXv37oWzezmYnCWLiSev01uulf3+ALJw4VxXepvtBHBZeVQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR11MB5873 Return-Path: jie.yang@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VGhhbmsgeW91IHZlcnkgbXVjaCBmb3IgeW91ciByZXZpZXcsIGJ1dCBJIGZpbmQgSSBtaXNzZWQg c29tZXRoaW5nIGluIHRoZSBkZWZpbml0aW9uIG9mIHRoZSBmdW5jdGlvbiBMb2NrRm1wVmFyaWFi bGUsIGl0IGlzIGRlZmluZWQgYXMgZm9sbG93Og0Kc3RhdGljDQpFRklfU1RBVFVTDQpMb2NrRm1w VmFyaWFibGUgKA0KICBJTiBFRklfU1RBVFVTICAgICAgICAgICAgICAgICAgICBQcmV2aW91c1N0 YXR1cywNCiAgRURLSUlfVkFSSUFCTEVfUE9MSUNZX1BST1RPQ09MICAgKlZhcmlhYmxlUG9saWN5 LA0KICBJTiBDSEFSMTYgICAgICAgICAgICAgICAgICAgICAgICAqVmFyaWFibGVOYW1lDQogICkN CkkgbmVlZCB0byBhZGQgSU4gYWhlYWQgRURLSUlfVkFSSUFCTEVfUE9MSUNZX1BST1RPQ09MICAg KlZhcmlhYmxlUG9saWN5LiBJIGFtIHNvcnJ5IGZvciB0aGUgbWlzdGFrZSwgYW5kIEkgd2lsbCBz dWJtaXQgYSBwYXRjaCB0byBmaXggaXQuDQoNCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0N CkZyb206IFh1LCBXZWk2IDx3ZWk2Lnh1QGludGVsLmNvbT4gDQpTZW50OiBUdWVzZGF5LCBPY3Rv YmVyIDE5LCAyMDIxIDEwOjA2IEFNDQpUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IGdhb2xpbWlu Z0BieW9zb2Z0LmNvbS5jbjsgWWFuZywgSmllIDxqaWUueWFuZ0BpbnRlbC5jb20+DQpDYzogS2lu bmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsgSmlhbmcsIEd1b21p biA8Z3VvbWluLmppYW5nQGludGVsLmNvbT4NClN1YmplY3Q6IFJFOiBbZWRrMi1kZXZlbF1bUEFU Q0hdIEZtcERldmljZVBrZy9GbXBEeGU6IFVzZSBuZXcgVmFyaWFibGUgTG9jayBpbnRlcmZhY2UN Cg0KUmV2aWV3ZWQtYnk6IFdlaTYgWHUgPHdlaTYueHVAaW50ZWwuY29tPg0KDQotLS0tLU9yaWdp bmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogZGV2ZWxAZWRrMi5ncm91cHMuaW8gPGRldmVsQGVkazIu Z3JvdXBzLmlvPiBPbiBCZWhhbGYgT2YgZ2FvbGltaW5nDQpTZW50OiBUdWVzZGF5LCBPY3RvYmVy IDE5LCAyMDIxIDk6NDcgQU0NClRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgWWFuZywgSmllIDxq aWUueWFuZ0BpbnRlbC5jb20+DQpDYzogS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5u ZXlAaW50ZWwuY29tPjsgSmlhbmcsIEd1b21pbiA8Z3VvbWluLmppYW5nQGludGVsLmNvbT47IFh1 LCBXZWk2IDx3ZWk2Lnh1QGludGVsLmNvbT4NClN1YmplY3Q6IOWbnuWkjTogW2VkazItZGV2ZWxd W1BBVENIXSBGbXBEZXZpY2VQa2cvRm1wRHhlOiBVc2UgbmV3IFZhcmlhYmxlIExvY2sgaW50ZXJm YWNlDQoNClJldmlld2VkLWJ5OiBMaW1pbmcgR2FvIDxnYW9saW1pbmdAYnlvc29mdC5jb20uY24+ DQoNCj4gLS0tLS3pgq7ku7bljp/ku7YtLS0tLQ0KPiDlj5Hku7bkuro6IGRldmVsQGVkazIuZ3Jv dXBzLmlvIDxkZXZlbEBlZGsyLmdyb3Vwcy5pbz4g5Luj6KGoIFlhbmcgSmllDQo+IOWPkemAgeaX tumXtDogMjAyMeW5tDEw5pyIMTjml6UgMTM6MTQNCj4g5pS25Lu25Lq6OiBkZXZlbEBlZGsyLmdy b3Vwcy5pbw0KPiDmioTpgIE6IGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbjsgbWljaGFlbC5kLmtp bm5leUBpbnRlbC5jb207IA0KPiBndW9taW4uamlhbmdAaW50ZWwuY29tOyB3ZWk2Lnh1QGludGVs LmNvbTsgeWFuZ2ppZSANCj4gPGppZS55YW5nQGludGVsLmNvbT4NCj4g5Li76aKYOiBbZWRrMi1k ZXZlbF1bUEFUQ0hdIEZtcERldmljZVBrZy9GbXBEeGU6IFVzZSBuZXcgVmFyaWFibGUgTG9jayAN Cj4gaW50ZXJmYWNlDQo+IA0KPiBGcm9tOiB5YW5namllIDxqaWUueWFuZ0BpbnRlbC5jb20+DQo+ IA0KPiBSRUY6IGh0dHBzOi8vYnVnemlsbGEudGlhbm9jb3JlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9 MzY1NQ0KPiANCj4gVGhlIGNvZGUgaW4gRm1wRGV2aWNlUGtnIGNhbGxlZCB0aGUgZGVwcmVjYXRl ZCBpbnRlcmZhY2UNCj4gDQo+IFZhcmlhYmxlTG9ja1JlcXVlc3RUb0xvY2suIFNvIEkgY2hhbmdl ZCB0aGUgY29kZSBpbg0KPiANCj4gRm1wRGV2aWNlUGtnIHVzaW5nIFJlZ2lzdGVyQmFzaWNWYXJp YWJsZVBvbGljeSwNCj4gDQo+IGluc3RlYWQgb2YgdGhlIGRlcHJlY2F0ZWQgaW50ZXJmYWNlLg0K PiANCj4gU2lnbmVkLW9mZi1ieTogWWFuZyBKaWUgPGppZS55YW5nQGludGVsLmNvbT4NCj4gDQo+ IENjOiBMaW1pbmcgR2FvIDxnYW9saW1pbmdAYnlvc29mdC5jb20uY24+DQo+IA0KPiBDYzogTWlj aGFlbCBEIEtpbm5leSA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+DQo+IA0KPiBDYzogR3Vv bWluIEppYW5nIDxndW9taW4uamlhbmdAaW50ZWwuY29tPg0KPiANCj4gQ2M6IFdlaTYgWHUgPHdl aTYueHVAaW50ZWwuY29tPg0KPiAtLS0NCj4gIEZtcERldmljZVBrZy9GbXBEZXZpY2VQa2cuZHNj ICAgICAgICAgfCAgMSArDQo+ICBGbXBEZXZpY2VQa2cvRm1wRHhlL0ZtcER4ZS5oICAgICAgICAg IHwgIDQgKy0NCj4gIEZtcERldmljZVBrZy9GbXBEeGUvRm1wRHhlLmluZiAgICAgICAgfCAgNSAr Ky0NCj4gIEZtcERldmljZVBrZy9GbXBEeGUvVmFyaWFibGVTdXBwb3J0LmMgfCA2NQ0KPiArKysr KysrKysrKysrLS0tLS0tLS0tLS0tLS0NCj4gIDQgZmlsZXMgY2hhbmdlZCwgMzcgaW5zZXJ0aW9u cygrKSwgMzggZGVsZXRpb25zKC0pDQo+IA0KPiBkaWZmIC0tZ2l0IGEvRm1wRGV2aWNlUGtnL0Zt cERldmljZVBrZy5kc2MgDQo+IGIvRm1wRGV2aWNlUGtnL0ZtcERldmljZVBrZy5kc2MgaW5kZXgg YjQyMGY1MmEwOC4uN2IxYWYyODVkZCAxMDA2NDQNCj4gLS0tIGEvRm1wRGV2aWNlUGtnL0ZtcERl dmljZVBrZy5kc2MNCj4gKysrIGIvRm1wRGV2aWNlUGtnL0ZtcERldmljZVBrZy5kc2MNCj4gQEAg LTUzLDYgKzUzLDcgQEANCj4gICAgRGVidWdMaWJ8TWRlUGtnL0xpYnJhcnkvVWVmaURlYnVnTGli U3RkRXJyL1VlZmlEZWJ1Z0xpYlN0ZEVyci5pbmYNCj4gDQo+IA0KPiBEZWJ1Z1ByaW50RXJyb3JM ZXZlbExpYnxNZGVQa2cvTGlicmFyeS9CYXNlRGVidWdQcmludEVycm9yTGV2ZWxMaWIvQmFzDQo+ IERlYnVnUHJpbnRFcnJvckxldmVsTGlifGUNCj4gRGVidWdQcmludEVycm9yTGV2ZWxMaWIuaW5m DQo+IA0KPiAgICBQY2RMaWJ8TWRlUGtnL0xpYnJhcnkvQmFzZVBjZExpYk51bGwvQmFzZVBjZExp Yk51bGwuaW5mDQo+IA0KPiArDQo+IFZhcmlhYmxlUG9saWN5SGVscGVyTGlifE1kZU1vZHVsZVBr Zy9MaWJyYXJ5L1ZhcmlhYmxlUG9saWN5SGVscGVyTGliL1YNCj4gVmFyaWFibGVQb2xpY3lIZWxw ZXJMaWJ8YXJpDQo+IGFibGVQb2xpY3lIZWxwZXJMaWIuaW5mDQo+IA0KPiAgIWlmZGVmIENPTlRJ TlVPVVNfSU5URUdSQVRJT04NCj4gDQo+ICAgIA0KPiBCYXNlQ3J5cHRMaWJ8Q3J5cHRvUGtnL0xp YnJhcnkvQmFzZUNyeXB0TGliTnVsbC9CYXNlQ3J5cHRMaWJOdWxsLmluZg0KPiANCj4gICFlbHNl DQo+IA0KPiBkaWZmIC0tZ2l0IGEvRm1wRGV2aWNlUGtnL0ZtcER4ZS9GbXBEeGUuaCANCj4gYi9G bXBEZXZpY2VQa2cvRm1wRHhlL0ZtcER4ZS5oIGluZGV4IDExNzdiMTgyOGUuLjRkOTRhOTI1YjYg MTAwNjQ0DQo+IC0tLSBhL0ZtcERldmljZVBrZy9GbXBEeGUvRm1wRHhlLmgNCj4gKysrIGIvRm1w RGV2aWNlUGtnL0ZtcER4ZS9GbXBEeGUuaA0KPiBAQCAtNCw3ICs0LDcgQEANCj4gICAgaW5mb3Jt YXRpb24gcHJvdmlkZWQgdGhyb3VnaCBQQ0RzIGFuZCBsaWJyYXJpZXMuDQo+IA0KPiANCj4gDQo+ ICAgIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLjxCUj4NCj4gDQo+IC0gIENv cHlyaWdodCAoYykgMjAxOCAtIDIwMTksIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIA0K PiByZXNlcnZlZC48QlI+DQo+IA0KPiArICBDb3B5cmlnaHQgKGMpIDIwMTggLSAyMDIxLCBJbnRl bCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyANCj4gKyByZXNlcnZlZC48QlI+DQo+IA0KPiANCj4g DQo+ICAgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+IA0K PiANCj4gDQo+IEBAIC0zMywxMSArMzMsMTEgQEANCj4gICNpbmNsdWRlIDxMaWJyYXJ5L0ZtcERl cGVuZGVuY3lEZXZpY2VMaWIuaD4NCj4gDQo+ICAjaW5jbHVkZSA8UHJvdG9jb2wvRmlybXdhcmVN YW5hZ2VtZW50Lmg+DQo+IA0KPiAgI2luY2x1ZGUgPFByb3RvY29sL0Zpcm13YXJlTWFuYWdlbWVu dFByb2dyZXNzLmg+DQo+IA0KPiAtI2luY2x1ZGUgPFByb3RvY29sL1ZhcmlhYmxlTG9jay5oPg0K PiANCj4gICNpbmNsdWRlIDxHdWlkL1N5c3RlbVJlc291cmNlVGFibGUuaD4NCj4gDQo+ICAjaW5j bHVkZSA8R3VpZC9FdmVudEdyb3VwLmg+DQo+IA0KPiAgI2luY2x1ZGUgPExhc3RBdHRlbXB0U3Rh dHVzLmg+DQo+IA0KPiAgI2luY2x1ZGUgPEZtcExhc3RBdHRlbXB0U3RhdHVzLmg+DQo+IA0KPiAr I2luY2x1ZGUgPExpYnJhcnkvVmFyaWFibGVQb2xpY3lIZWxwZXJMaWIuaD4NCj4gDQo+IA0KPiAN Cj4gICNkZWZpbmUgVkVSU0lPTl9TVFJJTkdfTk9UX1NVUFBPUlRFRCAgTCJWRVJTSU9OIFNUUklO RyBOT1QgU1VQUE9SVEVEIg0KPiANCj4gICNkZWZpbmUgVkVSU0lPTl9TVFJJTkdfTk9UX0FWQUlM QUJMRSAgTCJWRVJTSU9OIFNUUklORyBOT1QgQVZBSUxBQkxFIg0KPiANCj4gZGlmZiAtLWdpdCBh L0ZtcERldmljZVBrZy9GbXBEeGUvRm1wRHhlLmluZiANCj4gYi9GbXBEZXZpY2VQa2cvRm1wRHhl L0ZtcER4ZS5pbmYgaW5kZXggZWViOTA0YTA5MS4uMWMyOTYzODhiMCAxMDA2NDQNCj4gLS0tIGEv Rm1wRGV2aWNlUGtnL0ZtcER4ZS9GbXBEeGUuaW5mDQo+ICsrKyBiL0ZtcERldmljZVBrZy9GbXBE eGUvRm1wRHhlLmluZg0KPiBAQCAtNCw3ICs0LDcgQEANCj4gICMgIGluZm9ybWF0aW9uIHByb3Zp ZGVkIHRocm91Z2ggUENEcyBhbmQgbGlicmFyaWVzLg0KPiANCj4gICMNCj4gDQo+ICAjICBDb3B5 cmlnaHQgKGMpIDIwMTYsIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyANCj4gcmVz ZXJ2ZWQuPEJSPg0KPiANCj4gLSMgIENvcHlyaWdodCAoYykgMjAxOCAtIDIwMjAsIEludGVsIENv cnBvcmF0aW9uLiBBbGwgcmlnaHRzIA0KPiByZXNlcnZlZC48QlI+DQo+IA0KPiArIyAgQ29weXJp Z2h0IChjKSAyMDE4IC0gMjAyMSwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgDQo+ICty ZXNlcnZlZC48QlI+DQo+IA0KPiAgIw0KPiANCj4gICMgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVy OiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+IA0KPiAgIyMNCj4gDQo+IEBAIC01NSwxNCArNTUsMTUg QEANCj4gICAgRm1wRGVwZW5kZW5jeUxpYg0KPiANCj4gICAgRm1wRGVwZW5kZW5jeUNoZWNrTGli DQo+IA0KPiAgICBGbXBEZXBlbmRlbmN5RGV2aWNlTGliDQo+IA0KPiArICBWYXJpYWJsZVBvbGlj eUhlbHBlckxpYg0KPiANCj4gDQo+IA0KPiAgW0d1aWRzXQ0KPiANCj4gICAgZ0VmaUVuZE9mRHhl RXZlbnRHcm91cEd1aWQNCj4gDQo+IA0KPiANCj4gIFtQcm90b2NvbHNdDQo+IA0KPiAtICBnRWRr aWlWYXJpYWJsZUxvY2tQcm90b2NvbEd1aWQgICAgICAgICAgICAgICAgIyMgQ09OU1VNRVMNCj4g DQo+ICAgIGdFZmlGaXJtd2FyZU1hbmFnZW1lbnRQcm90b2NvbEd1aWQgICAgICAgICAgICAjIyBQ Uk9EVUNFUw0KPiANCj4gICAgZ0Vka2lpRmlybXdhcmVNYW5hZ2VtZW50UHJvZ3Jlc3NQcm90b2Nv bEd1aWQgICMjIFBST0RVQ0VTDQo+IA0KPiArICBnRWRraWlWYXJpYWJsZVBvbGljeVByb3RvY29s R3VpZCAgICAgICAgICAgICAgIyMgQ09OU1VNRVMNCj4gDQo+IA0KPiANCj4gIFtQY2RdDQo+IA0K PiAgICBnRm1wRGV2aWNlUGtnVG9rZW5TcGFjZUd1aWQuUGNkRm1wRGV2aWNlU3RvcmFnZUFjY2Vz c0VuYWJsZQ0KPiAjIyBDT05TVU1FUw0KPiANCj4gZGlmZiAtLWdpdCBhL0ZtcERldmljZVBrZy9G bXBEeGUvVmFyaWFibGVTdXBwb3J0LmMNCj4gYi9GbXBEZXZpY2VQa2cvRm1wRHhlL1ZhcmlhYmxl U3VwcG9ydC5jDQo+IGluZGV4IDg2ZGQ1YjIwM2IuLmExYmQ5NDliMDkgMTAwNjQ0DQo+IC0tLSBh L0ZtcERldmljZVBrZy9GbXBEeGUvVmFyaWFibGVTdXBwb3J0LmMNCj4gKysrIGIvRm1wRGV2aWNl UGtnL0ZtcER4ZS9WYXJpYWJsZVN1cHBvcnQuYw0KPiBAQCAtMyw3ICszLDcgQEANCj4gICAgZmly bXdhcmUgdXBkYXRlcy4NCj4gDQo+IA0KPiANCj4gICAgQ29weXJpZ2h0IChjKSAyMDE2LCBNaWNy b3NvZnQgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiANCj4gLSAgQ29w eXJpZ2h0IChjKSAyMDE4IC0gMjAxOSwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgDQo+ IHJlc2VydmVkLjxCUj4NCj4gDQo+ICsgIENvcHlyaWdodCAoYykgMjAxOCAtIDIwMjEsIEludGVs IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIA0KPiArIHJlc2VydmVkLjxCUj4NCj4gDQo+IA0KPiAN Cj4gICAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gDQo+ IA0KPiANCj4gQEAgLTczMCwyOCArNzMwLDI5IEBAIHN0YXRpYw0KPiAgRUZJX1NUQVRVUw0KPiAN Cj4gIExvY2tGbXBWYXJpYWJsZSAoDQo+IA0KPiAgICBJTiBFRklfU1RBVFVTICAgICAgICAgICAg ICAgICAgICBQcmV2aW91c1N0YXR1cywNCj4gDQo+IC0gIElOIEVES0lJX1ZBUklBQkxFX0xPQ0tf UFJPVE9DT0wgICpWYXJpYWJsZUxvY2ssDQo+IA0KPiArICBFREtJSV9WQVJJQUJMRV9QT0xJQ1lf UFJPVE9DT0wgICAqVmFyaWFibGVQb2xpY3ksDQo+IA0KPiAgICBJTiBDSEFSMTYgICAgICAgICAg ICAgICAgICAgICAgICAqVmFyaWFibGVOYW1lDQo+IA0KPiAgICApDQo+IA0KPiAgew0KPiANCj4g ICAgRUZJX1NUQVRVUyAgU3RhdHVzOw0KPiANCj4gDQo+IA0KPiAtICBTdGF0dXMgPSBWYXJpYWJs ZUxvY2stPlJlcXVlc3RUb0xvY2sgKA0KPiANCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAg IFZhcmlhYmxlTG9jaywNCj4gDQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICBWYXJpYWJs ZU5hbWUsDQo+IA0KPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgJmdFZmlDYWxsZXJJZEd1 aWQNCj4gDQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICApOw0KPiANCj4gLSAgaWYgKCFF RklfRVJST1IgKFN0YXR1cykpIHsNCj4gDQo+IC0gICAgcmV0dXJuIFByZXZpb3VzU3RhdHVzOw0K PiANCj4gKyAgLy8gSWYgc3VjY2VzcywgZ28gYWhlYWQgYW5kIHNldCB0aGUgcG9saWNpZXMgdG8g cHJvdGVjdCB0aGUgdGFyZ2V0DQp2YXJpYWJsZXMuDQo+IA0KPiArICBTdGF0dXMgPSBSZWdpc3Rl ckJhc2ljVmFyaWFibGVQb2xpY3kgKFZhcmlhYmxlUG9saWN5LA0KPiANCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ0VmaUNhbGxlcklkR3VpZCwNCj4gDQo+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmFyaWFibGVOYW1lLA0KPiAN Cj4gKw0KPiBWQVJJQUJMRV9QT0xJQ1lfTk9fTUlOX1NJWkUsDQo+IA0KPiArDQo+IFZBUklBQkxF X1BPTElDWV9OT19NQVhfU0laRSwNCj4gDQo+ICsNCj4gVkFSSUFCTEVfUE9MSUNZX05PX01VU1Rf QVRUUiwNCj4gDQo+ICsNCj4gVkFSSUFCTEVfUE9MSUNZX05PX0NBTlRfQVRUUiwNCj4gDQo+ICsN Cj4gVkFSSUFCTEVfUE9MSUNZX1RZUEVfTE9DS19OT1cpOw0KPiANCj4gKyAgaWYgKEVGSV9FUlJP UiAoU3RhdHVzKSkgew0KPiANCj4gKyAgICBERUJVRyAoKERFQlVHX0VSUk9SLCAiRm1wRHhlKCVz KTogRmFpbGVkIHRvIGxvY2sgdmFyaWFibGUgJWcgJXMuDQo+IFN0YXR1cyA9ICVyXG4iLA0KPiAN Cj4gKyAgICAgICAgICAgIG1JbWFnZUlkTmFtZSwNCj4gDQo+ICsgICAgICAgICAgICAmZ0VmaUNh bGxlcklkR3VpZCwNCj4gDQo+ICsgICAgICAgICAgICBWYXJpYWJsZU5hbWUsDQo+IA0KPiArICAg ICAgICAgICAgU3RhdHVzDQo+IA0KPiArICAgICAgICAgICApKTsNCj4gDQo+ICAgIH0NCj4gDQo+ IC0NCj4gDQo+IC0gIERFQlVHICgoREVCVUdfRVJST1IsICJGbXBEeGUoJXMpOiBGYWlsZWQgdG8g bG9jayB2YXJpYWJsZSAlZyAlcy4NCj4gU3RhdHVzID0gJXJcbiIsDQo+IA0KPiAtICAgIG1JbWFn ZUlkTmFtZSwNCj4gDQo+IC0gICAgJmdFZmlDYWxsZXJJZEd1aWQsDQo+IA0KPiAtICAgIFZhcmlh YmxlTmFtZSwNCj4gDQo+IC0gICAgU3RhdHVzDQo+IA0KPiAtICAgICkpOw0KPiANCj4gLQ0KPiAN Cj4gICAgaWYgKEVGSV9FUlJPUiAoUHJldmlvdXNTdGF0dXMpKSB7DQo+IA0KPiAgICAgIHJldHVy biBQcmV2aW91c1N0YXR1czsNCj4gDQo+ICAgIH0NCj4gDQo+IEBAIC03NzMsMjYgKzc3NCwyMiBA QCBMb2NrQWxsRm1wVmFyaWFibGVzICgNCj4gICAgRklSTVdBUkVfTUFOQUdFTUVOVF9QUklWQVRF X0RBVEEgICpQcml2YXRlDQo+IA0KPiAgICApDQo+IA0KPiAgew0KPiANCj4gLSAgRUZJX1NUQVRV UyAgICAgICAgICAgICAgICAgICAgU3RhdHVzOw0KPiANCj4gLSAgRURLSUlfVkFSSUFCTEVfTE9D S19QUk9UT0NPTCAgKlZhcmlhYmxlTG9jazsNCj4gDQo+IC0NCj4gDQo+IC0gIFZhcmlhYmxlTG9j ayA9IE5VTEw7DQo+IA0KPiAtICBTdGF0dXMgPSBnQlMtPkxvY2F0ZVByb3RvY29sICgNCj4gDQo+ IC0gICAgICAgICAgICAgICAgICAmZ0Vka2lpVmFyaWFibGVMb2NrUHJvdG9jb2xHdWlkLA0KPiAN Cj4gLSAgICAgICAgICAgICAgICAgIE5VTEwsDQo+IA0KPiAtICAgICAgICAgICAgICAgICAgKFZP SUQgKiopJlZhcmlhYmxlTG9jaw0KPiANCj4gLSAgICAgICAgICAgICAgICAgICk7DQo+IA0KPiAt ICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpIHx8IFZhcmlhYmxlTG9jayA9PSBOVUxMKSB7DQo+IA0K PiAtICAgIERFQlVHICgoREVCVUdfRVJST1IsICJGbXBEeGUoJXMpOiBGYWlsZWQgdG8gbG9jYXRl IFZhcmlhYmxlIExvY2sNCj4gUHJvdG9jb2wgKCVyKS5cbiIsIG1JbWFnZUlkTmFtZSwgU3RhdHVz KSk7DQo+IA0KPiAtICAgIHJldHVybiBFRklfVU5TVVBQT1JURUQ7DQo+IA0KPiArICBFRklfU1RB VFVTICAgICAgICAgICAgICAgICAgICAgICAgU3RhdHVzOw0KPiANCj4gKyAgRURLSUlfVkFSSUFC TEVfUE9MSUNZX1BST1RPQ09MICAgICpWYXJpYWJsZVBvbGljeTsNCj4gDQo+ICsNCj4gDQo+ICsg IC8vIExvY2F0ZSB0aGUgVmFyaWFibGVQb2xpY3kgcHJvdG9jb2wuDQo+IA0KPiArICBTdGF0dXMg PSBnQlMtPkxvY2F0ZVByb3RvY29sICgmZ0Vka2lpVmFyaWFibGVQb2xpY3lQcm90b2NvbEd1aWQs DQo+ICsgTlVMTCwNCj4gKFZPSUQqKikmVmFyaWFibGVQb2xpY3kgKTsNCj4gDQo+ICsgIGlmIChF RklfRVJST1IgKFN0YXR1cykpIHsNCj4gDQo+ICsgICAgREVCVUcgKChERUJVR19FUlJPUiwgIkZt cER4ZSAlYSAtIENvdWxkIG5vdCBsb2NhdGUgVmFyaWFibGVQb2xpY3kNCj4gcHJvdG9jb2whICVy XG4iLCBfX0ZVTkNUSU9OX18sIFN0YXR1cykpOw0KPiANCj4gKyAgICByZXR1cm4gU3RhdHVzOw0K PiANCj4gICAgfQ0KPiANCj4gDQo+IA0KPiAgICBTdGF0dXMgPSBFRklfU1VDQ0VTUzsNCj4gDQo+ IC0gIFN0YXR1cyA9IExvY2tGbXBWYXJpYWJsZSAoU3RhdHVzLCBWYXJpYWJsZUxvY2ssDQo+IFBy aXZhdGUtPlZlcnNpb25WYXJpYWJsZU5hbWUpOw0KPiANCj4gLSAgU3RhdHVzID0gTG9ja0ZtcFZh cmlhYmxlIChTdGF0dXMsIFZhcmlhYmxlTG9jaywNCj4gUHJpdmF0ZS0+THN2VmFyaWFibGVOYW1l KTsNCj4gDQo+IC0gIFN0YXR1cyA9IExvY2tGbXBWYXJpYWJsZSAoU3RhdHVzLCBWYXJpYWJsZUxv Y2ssDQo+IFByaXZhdGUtPkxhc3RBdHRlbXB0U3RhdHVzVmFyaWFibGVOYW1lKTsNCj4gDQo+IC0g IFN0YXR1cyA9IExvY2tGbXBWYXJpYWJsZSAoU3RhdHVzLCBWYXJpYWJsZUxvY2ssDQo+IFByaXZh dGUtPkxhc3RBdHRlbXB0VmVyc2lvblZhcmlhYmxlTmFtZSk7DQo+IA0KPiAtICBTdGF0dXMgPSBM b2NrRm1wVmFyaWFibGUgKFN0YXR1cywgVmFyaWFibGVMb2NrLA0KPiBQcml2YXRlLT5GbXBTdGF0 ZVZhcmlhYmxlTmFtZSk7DQo+IA0KPiArICBTdGF0dXMgPSBMb2NrRm1wVmFyaWFibGUgKFN0YXR1 cywgVmFyaWFibGVQb2xpY3ksDQo+IFByaXZhdGUtPlZlcnNpb25WYXJpYWJsZU5hbWUpOw0KPiAN Cj4gKyAgU3RhdHVzID0gTG9ja0ZtcFZhcmlhYmxlIChTdGF0dXMsIFZhcmlhYmxlUG9saWN5LA0K PiBQcml2YXRlLT5Mc3ZWYXJpYWJsZU5hbWUpOw0KPiANCj4gKyAgU3RhdHVzID0gTG9ja0ZtcFZh cmlhYmxlIChTdGF0dXMsIFZhcmlhYmxlUG9saWN5LA0KPiBQcml2YXRlLT5MYXN0QXR0ZW1wdFN0 YXR1c1ZhcmlhYmxlTmFtZSk7DQo+IA0KPiArICBTdGF0dXMgPSBMb2NrRm1wVmFyaWFibGUgKFN0 YXR1cywgVmFyaWFibGVQb2xpY3ksDQo+IFByaXZhdGUtPkxhc3RBdHRlbXB0VmVyc2lvblZhcmlh YmxlTmFtZSk7DQo+IA0KPiArICBTdGF0dXMgPSBMb2NrRm1wVmFyaWFibGUgKFN0YXR1cywgVmFy aWFibGVQb2xpY3ksDQo+IFByaXZhdGUtPkZtcFN0YXRlVmFyaWFibGVOYW1lKTsNCj4gDQo+IA0K PiANCj4gICAgcmV0dXJuIFN0YXR1czsNCj4gDQo+ICB9DQo+IA0KPiAtLQ0KPiAyLjI2LjIud2lu ZG93cy4xDQo+IA0KPiANCj4gDQo+IC09LT0tPS09LT0tPQ0KPiBHcm91cHMuaW8gTGlua3M6IFlv dSByZWNlaXZlIGFsbCBtZXNzYWdlcyBzZW50IHRvIHRoaXMgZ3JvdXAuDQo+IFZpZXcvUmVwbHkg T25saW5lICgjODIyNDYpOiANCj4gaHR0cHM6Ly9lZGsyLmdyb3Vwcy5pby9nL2RldmVsL21lc3Nh Z2UvODIyNDYNCj4gTXV0ZSBUaGlzIFRvcGljOiBodHRwczovL2dyb3Vwcy5pby9tdC84NjQwNzUw My80OTA1OTUzDQo+IEdyb3VwIE93bmVyOiBkZXZlbCtvd25lckBlZGsyLmdyb3Vwcy5pbw0KPiBV bnN1YnNjcmliZTogaHR0cHM6Ly9lZGsyLmdyb3Vwcy5pby9nL2RldmVsL3Vuc3ViDQo+IFtnYW9s aW1pbmdAYnlvc29mdC5jb20uY25dDQo+IC09LT0tPS09LT0tPQ0KPiANCg0KDQoNCg0KDQoNCg0K DQo=