From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mx.groups.io with SMTP id smtpd.web08.4454.1661979687644499976 for ; Wed, 31 Aug 2022 14:01:28 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=iOIm83st; spf=permerror, err=too many SPF records (domain: intel.com, ip: 134.134.136.24, mailfrom: nathaniel.l.desimone@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1661979687; x=1693515687; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=GS05G+dFjoSqaK9TJBI7qWDZp92rpbx8rTnvTijq35U=; b=iOIm83stWwn+lCKDQFhmDBAjTbmem/6RexpwsfpKIHsiDDAwpCu7YjQA QdBPwQnQMJo9GlDs8GbX4cTS+CLabVEEbUUQAOyNONauXzFkwGlD4Cl1v nPHYh+iU+7WuyEh1BhTbyqbMNS7FfahZk67dlH29FgGFyXxoBJScmNxmf Tim+Me0mIjesCueFVKs2++axQ+L0j/VO7p8vOR0bnabCCALymSIf8AeIL el4jn89T+iiTmESFmNo37yE9M86BvwoZUPPj1kgtWfvqYons3lspArMk6 YkTzOraucQqSgsHk2802RwRCESL4nU3JbdBox5oyL+rmcZwGGa+YaIyt1 Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10456"; a="296326682" X-IronPort-AV: E=Sophos;i="5.93,279,1654585200"; d="scan'208";a="296326682" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 31 Aug 2022 14:01:01 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.93,279,1654585200"; d="scan'208";a="680568822" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by fmsmga004.fm.intel.com with ESMTP; 31 Aug 2022 14:01:01 -0700 Received: from orsmsx607.amr.corp.intel.com (10.22.229.20) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Wed, 31 Aug 2022 14:01:01 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx607.amr.corp.intel.com (10.22.229.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31 via Frontend Transport; Wed, 31 Aug 2022 14:01:01 -0700 Received: from NAM04-BN8-obe.outbound.protection.outlook.com (104.47.74.44) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.31; Wed, 31 Aug 2022 14:01:00 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RWKqU7zLNjM7wVvMUX8dOL+5zr+lFXKiIjmbmsmUMugieOcpA2ZYMQeWmWq+8WTWsPEh/hPnFB7kTlael4DSbd0HRmEIKaOz2TxSPCMZCwEJGJA8JH8A08zca1g58anc4pG+WLTSXqiDyHtVTYr6oh/tQqdKgoxPQDUnKXk5a35Pjg3Tf79S+1UsGdgAa97ayvIM0MdMBQQRUuVDPVqyF875V4bHONGT/ARquOIIZwiCfN7Swa4FmGrSIyBRW0Sr0TO2swL3xNghU4uVJQ7K3peTTA5O6uJfTW0fC9+RWJoNNLtz2UtSiDGqXttbTqiKBM59oHiVJ7wHNgZOZgn8lw== 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=GS05G+dFjoSqaK9TJBI7qWDZp92rpbx8rTnvTijq35U=; b=JStqbbD+Iy5OrYXle7w7ByBMOjXqqR0B0CLkFzl7ofuyvEf4/rDMGqrBIRAzWT4AyLSe2PmgKmAkbAL/i/4LPbab15X5087YtyxN+k9pE3xGAe8tkUjx7c+QOem3jXWUwWQjFaY1H9N94RoMp3xdO+kKTcNdX5DXzV7PxbWEOXrVOC6hm5pl2fEs6B0JvKsJwEtLwOufVLi0pOjgAIW97w2Q21JxrC0UlDsJ+EyyvoIFK0UTwY4wZUwILY/ZQt9vtnUmB+UnY7xV/Hn8YU0ax4FwZu3mfst3yy2Uun9n9lME1aOR38LOiujd4EPU8MLopMfWeaApuC9RIvxnbnPG1Q== 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 Received: from MW4PR11MB5821.namprd11.prod.outlook.com (2603:10b6:303:184::5) by CY4PR11MB1877.namprd11.prod.outlook.com (2603:10b6:903:127::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.19; Wed, 31 Aug 2022 21:00:57 +0000 Received: from MW4PR11MB5821.namprd11.prod.outlook.com ([fe80::2c94:f950:2ac4:d92f]) by MW4PR11MB5821.namprd11.prod.outlook.com ([fe80::2c94:f950:2ac4:d92f%9]) with mapi id 15.20.5588.010; Wed, 31 Aug 2022 21:00:57 +0000 From: "Nate DeSimone" To: Michael Kubacki , "Oram, Isaac W" , "devel@edk2.groups.io" CC: "Chiu, Chasel" , "Gao, Liming" , "Dong, Eric" Subject: Re: [edk2-devel] [edk2-platforms][PATCH v2 1/1] MinPlatformPkg: Add FspNvsBuffer compression option Thread-Topic: [edk2-devel] [edk2-platforms][PATCH v2 1/1] MinPlatformPkg: Add FspNvsBuffer compression option Thread-Index: AQHYtp+8HWDoGtiaRUeyfvhSqTurcK280I2AgAAS7LCAAFegAIAEK5mAgAgeMlA= Date: Wed, 31 Aug 2022 21:00:56 +0000 Message-ID: References: <20220823032253.1686-1-mikuback@linux.microsoft.com> <8d39216a-eb74-481a-27da-49480232da95@linux.microsoft.com> In-Reply-To: <8d39216a-eb74-481a-27da-49480232da95@linux.microsoft.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 7eb2ee85-8aee-4364-e413-08da8b93e683 x-ms-traffictypediagnostic: CY4PR11MB1877:EE_ x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: pCWt1/PbTIQqapsfqI53kYTSdxvllyMsv5Q2GoSOZwS5n2BnFUPgzcn60BXc+8AGdpjerLjXU/CqmHGZ45vGOoPAQZ7pATWfbK5wMGz2pkwg1BTDjlC4kWhT8IlVXma8Usb49t/NdNIQPlY6Se5VHxDHYr1OozD2j8Fzgd3BqAevrMYUlCzdR08PWhmIk/rxLgrgB9QSS21vFJpUs90rfQqxvLhwdaoG5lD/N/xBsLkFQ84NRFQrxFfJBKA7ZvzPLbso/Oz3UT1vmFCQYmJBnWX970vU+KlFwZz2U8YWZM76QXePuFBaJp7ExoXu4BpWJN9gaBIX80Y0UNQqO9SdzJwdWbPI3rrUbmn9RGQR8ql3KdvPlKF8Oa4CKWZ9WXhHCg3/aE6Ce/X759mckNcVQZ99haXghG5rS1qISU0MdJLz3pEmHj7kLe1m9IUn4mY+pfQDPO1yrDTugU92NrhKRsVkSVPn9SjCZI8P88aUoJyTDPLpDnMk90C6HRXbijR7yaOsb1hzdmKEaVFLeWqkeybfsDw+8CEponResT4GrTXa97bESWwcn1Q98qbTVaxA0XIbSLsPrlKnf3AWwoJQzlqZw3RaZf4pqJDs24X76LcwYBRHgw5GhBdaQeMOxymWVFrsKer1EJ4vza3+r6gPjDZRmqwukRA22TZ6HuocMAYOC/9shE8r4vD5hD4jdukW6byiTRqKwsEtewNkW3fy7GoAZhfUfzJVMpzknfP6xuzsXN9QNQUnjKp3unK7uyLvCS1cFJMwcv33STeiqjSzqjs5FtWltBU1Z3/8Sr+UQFZw+v3L0Jk2zV2oCS3JseB776H8wOBsHJFvFb5Z/UqU3w== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW4PR11MB5821.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(376002)(366004)(136003)(396003)(39860400002)(346002)(4326008)(966005)(54906003)(76116006)(110136005)(64756008)(478600001)(5660300002)(45080400002)(66556008)(66446008)(8676002)(86362001)(38100700002)(8936002)(82960400001)(38070700005)(41300700001)(52536014)(66476007)(66946007)(2906002)(122000001)(55016003)(53546011)(9686003)(30864003)(33656002)(19627235002)(186003)(83380400001)(7696005)(316002)(71200400001)(6506007)(107886003)(26005)(579004);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?cHlyMm04SUZJcUVMSnJYbDZRWnVuQTJ4NXJVdDRnVC9tVDVDczFEQXNDNDlw?= =?utf-8?B?MFMvTEpzQTN1K0tubzh4MVh0UjJnOXRmekZPaGFqRGp2bHE0dW5GSlk1VkNi?= =?utf-8?B?b0NtOFEwOFd0YnhQRGlsdW5UM256Y3UyL0RKcjFZVUxpNXc1TDRyYVJYb0tX?= =?utf-8?B?Ym5lK1V2OE54akF2bkVHUmFVOS9zVjVkUk51SmFxK3VudnNVaUZTQUd6V2Nl?= =?utf-8?B?NzEwVFZjMUJDT3JOY2E4UU5TeVcxZmtuempnZDlWVU0vNmxGRStXbFV3aWl5?= =?utf-8?B?Ym5IZEVYVnZWOVF2a1l4OFEvY1ZLdlNtckJJZW0wQ3A1ZUJxUmZzeExLQWgr?= =?utf-8?B?UFZQd0JsdFNZMm1CaW5GeWxRbk13bFhVRGMrdU5IRUI3OHlUV0Z0WXBKdDlU?= =?utf-8?B?VGRMa1NJenJsUjZDTTFuek1LcUJzRnZ5NDk4K3RCd1JGbWc2ZGt6UHN4dUsv?= =?utf-8?B?RUtjMk5xM3ZoQy9raHBPcGkvZXZkeUFhQ0cxQnJIZCs1MWhlSlp1R1Rlelpj?= =?utf-8?B?K3hncDJGdkp3RldvL0g5cGdQZXlqdlU5OVlMTjBLei9oWFBaMDdaVmMvYnhO?= =?utf-8?B?bG0xRUtSamNNTTRkVlNxMU5NZWpIRE1lQjBYc2ZsOUIwRUFCdE9YS2V4WFdM?= =?utf-8?B?NXFNZzVlZDJWYW81QVh2Z29NajN0Ry81a0xKcFhwSTBCSlVjUEFIVmVMWVF6?= =?utf-8?B?QVlvNVowbk9UMElqVXBGU3hZbVZoQnhLUE1ubkVueWtvQU5CTzhZV05RVGU1?= =?utf-8?B?R0dmRVBMWEMyeEhPWlJCa3UyZ1ZRYnJESUl4cHFMWEh2VTJGUDkvN2tia3Zs?= =?utf-8?B?Q2EwazZEdC80bkprcTdKdkl4NlhZSklia0dGYzBBbzNWQ2s1K2xQWUcyU0Q3?= =?utf-8?B?UkZxY2ptTWZyVTdjQ1RMcDVnaGVoNkhDaXMvL1VYVi8rcS9mYjRuMDR0eCtN?= =?utf-8?B?Wm5XSXFwVGZPT2UyREJZMWJwNHVIZkx5NWc4eTBNT2V2RnZ3a1VvOUtNSzJZ?= =?utf-8?B?YjlmUFJIRXpxR0czTEpNWGg1ellEYlM4elg5eHNIOG0yWlMyaXdZbG00WFBZ?= =?utf-8?B?SzlFQkRFZEpXOGhDRkJRK1lHVElWaWpUNnpCVWZJa3JpcU5IS0dyazVpTnVW?= =?utf-8?B?eVdoeWxBYXhDb0d4bVNWdERSMnNZSVQyZER6YThra2wvS0xDWk9wNmJvcGR3?= =?utf-8?B?dElVTXp4VG9rYUpaSzk1bWw3bzZPRHh1ZTgxcTRjcUZjbkt5WndrRmtENjZ1?= =?utf-8?B?ZHAyTm5vSHlNZkNOOENIWEtLdE9DRllrMWNyaHhrcWhhN3VIS3QxdUV3Zk5J?= =?utf-8?B?aHJjWk5LSjM2akVvQi9sc2RTdGdaQW11cVdXVTJhc3NkWEVCTzZIcUNYaFhk?= =?utf-8?B?WXF2cWpwNVJKays5S0c5cysxUzdwU1ZTYzJoeWgrTjRwenV0UWxscDJiNDZF?= =?utf-8?B?RmNoM0hQMDN5Sm9YbldWQ09RSWw5L1BsaEo4OXJEOGRUOStlRHk4N09tZFdW?= =?utf-8?B?cm5ZK2JlbU1JZmxPaWpBNGRMTGNiSW5peDJSQk96RTVoamFodU1jbGtjb01S?= =?utf-8?B?WkRiNHFiL0trVkJkcXJva2gyUzZkM1krQUJHUGxUOExtS2NKTDcyWXJjcmF0?= =?utf-8?B?Z0t3ckZxbzU3aElpY1ZJWnovdjVnRzBLMnNjMTZhaDA3VzJQRkVid3dvTmd4?= =?utf-8?B?empYTkhjM0RveWxyTXhER2pPV1dpa2ZBZW4rWFp4TGo3S2hmSkIyekNuU0hC?= =?utf-8?B?b0R2Vy93Z3Z1Yy9hOURhRlh4cFVCcUpkYXFKVEdRNXNJS3Qzb3NZWEhtWFlp?= =?utf-8?B?TE56U05MUy9SaHozdjM3TkVEeHBuSTRPR1dVQW96UnBGVTRVR2tMRlh6YVRH?= =?utf-8?B?MHlSMjBXS2UyOWFQaHJnTlNmYXUxTGhjRnNrM2ZBT3M3TjZDU3BySHRFTGh3?= =?utf-8?B?Z1BXK2sxR00zZDk4T1h0MjJhS0cyK2xQVDdiMFM3eGpjbURwMHpuOWtYZWE3?= =?utf-8?B?Q3BodjF2MmpCbTAxbmJaMDJIMG5kMHZ4c1JxMklJbENUOXZNYnNheU9hNFhQ?= =?utf-8?B?cmlnUzhINGZFYVZRVm1QeUprZFNJTTNRd1FUYm9KWkYzWFZMSzhBU2tLMGF2?= =?utf-8?B?bVR0RHNPanprWVkrd203RlJZdVdXMmVlQlh2cVl1M0FlNFNHbGV0ejZmSG80?= =?utf-8?B?RVE9PQ==?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW4PR11MB5821.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7eb2ee85-8aee-4364-e413-08da8b93e683 X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Aug 2022 21:00:56.9891 (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: HxEujq0hmJhAzJmAAAnhnTI7QjNNpCrVSyfxr30Y+a9yiIBZihofx66v/kRROxIRn51uSgTUcTHZTzy7/MAFhUx7huLTnGOXTjt3XX5MAaM= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR11MB1877 Return-Path: nathaniel.l.desimone@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SSBhZ3JlZSB3aXRoIE1pY2hhZWwgdGhhdCBrZWVwaW5nIHRoZSBBUEkgaW50ZXJmYWNlIGZvciBM YXJnZVZhcmlhYmxlTGliIGZvY3VzZWQgb24gYSBzaW5nbGUgY2FwYWJpbGl0eSB3b3VsZCBtb3Jl IGNsb3NlbHkgZm9sbG93IHRoZSBzaW5nbGUgcmVzcG9uc2liaWxpdHkgcHJpbmNpcGxlIGFuZCB0 aGVyZWZvcmUgYmUgZGVzaXJhYmxlLiBBZGRpbmcgdGhlIGNhcGFiaWxpdHkgdG8gc2VsZWN0IGJl dHdlZW4gY29tcHJlc3NlZCB2cy4gdW4tY29tcHJlc3NlZCB3b3VsZCBjb21wbGljYXRlIHRoZSBB UEkgdG8gdGhlIHBvaW50IG9mIG1ha2luZyB0aGUgbGlicmFyeSByaWdpZC4NCg0KV2hlcmUgdGhp bmdzIGJlY29tZSB1bmNsZWFyIHRvIG1lIGlzIGhvdyBjb21wcmVzc2lvbiBzaG91bGQgYmUgYXBw bGllZC4gVWx0aW1hdGVseSwgdGhlIGtub3dsZWRnZSBvZiB3aGV0aGVyIHRoZSBOVlMgYnVmZmVy IGRhdGEvbWVtb3J5IHRyYWluaW5nIGRhdGEgaXMgc3BhcnNlIGVub3VnaCB0byBtZXJpdCBzcGVu ZGluZyBDUFUgY3ljbGVzIG9uIGNvbXByZXNzaW9uIGlzIGtub3dsZWRnZSB0aGF0IHRoZSBwcm9k dWNlciBvZiB0aGUgZGF0YSBzZXQgd291bGQgaGF2ZSB0aGUgbW9zdCBpbnNpZ2h0IG9uLiBNb3N0 IG9mIHRoZSBwYXN0IE1SQyBpbXBsZW1lbnRhdGlvbnMgb24gdHlwaWNhbCBJbnRlbCBwbGF0Zm9y bXMganVzdCBoYXBwZW4gdG8gcHJvZHVjZSBzcGFyc2UgZGF0YSwgYnV0IHRoYXQgaXMgbm90IG5l Y2Vzc2FyaWx5IGFsd2F5cyBnb2luZyB0byBiZSB0aGUgY2FzZS4gTW9yZW92ZXIsIGR1ZSB0byB0 aGUgTlZTIGRhdGEgc3RydWN0dXJlcyBmcmVxdWVudGx5IGludm9sdmluZyByZXBldGl0aW9ucyBv ZiBzaW1pbGFyIGRhdGEsIGNvbXByZXNzaW9uIHJhdGlvcyB3b3VsZCBiZSBiZXN0IGlmIHRoZSBl bnRpcmUgZGF0YSBzZXQgd2FzIGNvbXByZXNzZWQgYXMgYSBzaW5nbGUgYmxvY2suIEZ1bmN0aW9u YWxseSwgdGhpcyBsaW1pdHMgdGhlIG51bWJlciBvZiBwbGFjZXMgdGhhdCB3ZSBjb3VsZCBkbyBj b21wcmVzc2lvbiBlZmZlY3RpdmVseSB0byB0d286DQoNCjEuIEluIHRoZSBpbXBsZW1lbnRhdGlv biBvZiBMYXJnZVZhcmlhYmxlTGliDQoyLiBCZWZvcmUgY2FsbGluZyBMYXJnZVZhcmlhYmxlTGli DQoNCldlIGhhdmUgYWxyZWFkeSB0aG9yb3VnaGx5IGRpc2N1c3NlZCAjMSwgc28gSSBkb24ndCB0 aGluayB3ZSBuZWVkIHRvIGJlYXQgdGhhdCBkZWFkIGhvcnNlIGFueSBmdXJ0aGVyLiBUaGF0IGxl YWRzIG1lIHRvICMyLiBBZ2Fpbiwgc2luY2UgdGhlIHByb2R1Y2VyIG9mIHRoZSBkYXRhIHdpbGwg aGF2ZSB0aGUgYmVzdCBrbm93bGVkZ2Ugb24gdGhlIGNvbXByZXNzaWJpbGl0eSBvZiB0aGF0IGRh dGEsIEkgdGhpbmsgaXQgbWFrZXMgc2Vuc2UgZm9yIHRoZSByZXF1ZXN0IHRvIGNvbXByZXNzIHRv IGNvbWUgZnJvbSB0aGUgRlNQLiBJIGFsc28gYWdyZWUgdGhhdCBpdCBtYWtlcyBzZW5zZSB0aGF0 IHBsYXRmb3JtcyB3b3VsZCB3YW50IHRvIGhhdmUgY29udHJvbCBvdmVyIHRoZSBjb21wcmVzc2lv biBhbGdvcml0aG1zIHVzZWQuIFRoYXQgbWFrZXMgbWUgbGVhbiB0b3dhcmRzIGFkZGluZyBuZXcg UFBJcyBmb3IgY29tcHJlc3Npb24gYW5kIGRlY29tcHJlc3Npb24uIEluIEZTUCBkaXNwYXRjaCBt b2RlLCB0aG9zZSBQUElzIGNhbiBiZSBwcm9kdWNlZCBieSBwbGF0Zm9ybSBhbmQgY29uc3VtZWQg YnkgRlNQLiBUaGUgRlNQIHdvdWxkIGludm9rZSB0aGUgUFBJIHRvIGNvbXByZXNzIHRoZSBkYXRh LCBhbmQgdGhlbiB0aGUgZGF0YSB0aGF0IGNvbWVzIG91dCBvZiBGc3BOdnNCdWZmZXIgd291bGQg YWxyZWFkeSBoYXZlIHRoZSBwbGF0Zm9ybSBwcmVmZXJyZWQgY29tcHJlc3Npb24gYXBwbGllZCB0 byB0aGUgZnJhZ21lbnRzIG9mIHRoZSBkYXRhIGZvciB3aGljaCBjb21wcmVzc2lvbiBtYWtlcyBz ZW5zZS4gV2hhdCBkbyB5b3UgdGhpbms/DQoNClRoYW5rcywNCk5hdGUNCg0KLS0tLS1PcmlnaW5h bCBNZXNzYWdlLS0tLS0NCkZyb206IE1pY2hhZWwgS3ViYWNraSA8bWlrdWJhY2tAbGludXgubWlj cm9zb2Z0LmNvbT4gDQpTZW50OiBGcmlkYXksIEF1Z3VzdCAyNiwgMjAyMiA5OjM2IEFNDQpUbzog T3JhbSwgSXNhYWMgVyA8aXNhYWMudy5vcmFtQGludGVsLmNvbT47IERlc2ltb25lLCBOYXRoYW5p ZWwgTCA8bmF0aGFuaWVsLmwuZGVzaW1vbmVAaW50ZWwuY29tPjsgZGV2ZWxAZWRrMi5ncm91cHMu aW8NCkNjOiBDaGl1LCBDaGFzZWwgPGNoYXNlbC5jaGl1QGludGVsLmNvbT47IEdhbywgTGltaW5n IDxnYW9saW1pbmdAYnlvc29mdC5jb20uY24+OyBEb25nLCBFcmljIDxlcmljLmRvbmdAaW50ZWwu Y29tPg0KU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBbZWRrMi1wbGF0Zm9ybXNdW1BBVENIIHYy IDEvMV0gTWluUGxhdGZvcm1Qa2c6IEFkZCBGc3BOdnNCdWZmZXIgY29tcHJlc3Npb24gb3B0aW9u DQoNCkhvbmVzdGx5LCBJIGZvcmdvdCBhYm91dCB0aGUgb3BlbiBib2FyZCBwYWNrYWdlcywgSSBj YW4gZGVmaW5pdGVseSB1cGRhdGUgc3VwcG9ydCBmb3IgdGhvc2VlLg0KDQpBdXRvbWF0aW5nIENv bnRyaWJ1dGlvbiBFeHBlY3RhdGlvbnMNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQ0KQXMgVGlhbm9jb3JlIG1vZGVybml6ZXMgaXRzIGRldmVsb3BtZW50IHByb2Nlc3MsIFBS IHRlbXBsYXRlIGNoZWNrbGlzdHMgYW5kIENJIGluY2x1ZGluZyBib2FyZCBwYWNrYWdlIGJ1aWxk cyB3b3VsZCBhdXRvbWF0ZSBhIGJyb2FkIHJhbmdlIG9mIGNvbnRyaWJ1dGlvbiBleHBlY3RhdGlv bnMgaW5jbHVkaW5nIHdoYXQgcGFja2FnZXMgbmVlZCB0byBidWlsZCBhZ2FpbnN0IHdoYXQgdGFy Z2V0cywgdG9vbGNoYWlucywgYW5hbHlzaXMgdG9vbHMsIGV0Yy4NCg0KSW4gdGhpcyBjYXNlLCBJ IHVuZGVyc3RhbmQgd2hhdCBuZWVkcyB0byBiZSBkb25lIGJ1dCBvdGhlcnMgbWlnaHQgbm90Lg0K DQpCb2FyZCB2cyBGU1AgQ29tcHJlc3Npb24NCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KSSBh Z3JlZSB0aGF0IHRoZSB3cmFwcGVyIHNob3VsZCBiZSByZXNwb25zaWJsZSBmb3IgZGV0ZXJtaW5p bmcgaG93IHRvIG1hbmFnZSBkYXRhLg0KDQpGb3IgdGhlIHJlYXNvbnMgSXNhYWMgbWVudGlvbmVk IC0gcGxhdGZvcm0gc2VsZWN0aW9uIG9mIGNvbXByZXNzaW9uIGFsZ29yaXRobXMsIGNvaGVzaXZl IHBsYXRmb3JtIGRhdGEgbWFuYWdtZW50IGluIGl0cyBkYXRhIHN0b3JlLCBtaW5pbWl6aW5nIEZT UCBzaXplLCBldGMuDQoNCkJ5IEZTUCBmb2N1c2luZyBvbiBvbmx5IHdoYXQgaXQgcmVxdWlyZXMs IGl0IHByb3ZpZGVzIG9wcG9ydHVuaXR5IGZvciBzaW1wbGVyIGFuZCBtb3JlIGZsZXhpYmxlIGlu dGVncmF0aW9uIGFuZCBvcHRpbWl6YXRpb24gYXJvdW5kIGl0cyBpbnRlcmZhY2UuDQoNCkxhcmdl VmFyaWFibGVMaWIgU3VwcG9ydA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpJIGFtIGluIGZh dm9yIG9mIG5vdCBtb2RpZnlpbmcgTGFyZ2VWYXJpYWJsZUxpYi4NCg0KR29pbmcgYmFjayB0byB0 aGUgRlNQIGNvbXByZXNzaW9uIHRvcGljLCBJIHByZWZlciBzaW1wbGUgKHNpbmdsZQ0KcmVzcG9u c2liaWxpdHkpIGludGVyZmFjZXMuIEZTUCBpbml0aWFsaXplcyBzaWxpY29uLiBBcyBwYXJ0IG9m IGl0cyBpbnB1dCBpbnRlcmZhY2UsIGl0IG5lZWRzIHNvbWUgY29udGV4dCBkYXRhIChOVlMgYnVm ZmVyIGRhdGEpIHRvIGRldGVybWluZSBpdHMgaW50ZXJuYWwgc3RhdGUgdHJhbnNpdGlvbnMuDQoN CkJ5IGRlY291cGxpbmcgcGVyaXBoZXJhbCBmdW5jdGlvbmFsaXR5IGZyb20gd2l0aGluIEZTUCwg aXQgY2FuIGVhc2lseSBiZSByZWFzb25lZCB0aGF0IGRhdGEgY29tcHJlc3Npb24gaXMgbm90IHNp bGljb24gaW5pdCwgdGhlcmVmb3JlLCBGU1Agc2hvdWxkIG5vdCBwZXJmb3JtIGRhdGEgY29tcHJl c3Npb24uDQoNCkludGVyZmFjZXMgb2Z0ZW4gcmVxdWlyZSBkYXRhIGlucHV0LiBXZSAoZXZlcnlv bmUpIGhhdmUgYSB0ZW5kZW5jeSB0byBleHRlbmQgdGhvc2UgaW50ZXJmYWNlIHdpdGggdmFyaW91 cyBvcHRpb25zIGZvciBkYXRhIHRyYW5zZm9ybWF0aW9uIG92ZXIgdGltZS4gRm9yIGV4YW1wbGUs IHRoaXMgaGFzIG1hZGUgdGhlIFVFRkkgdmFyaWFibGUgaW50ZXJmYWNlIGVycm9yIHByb25lIGFu ZCBjdW1iZXJzb21lIHRvIGFkYXB0IHRvIGRpZmZlcmVudCBlbnZpcm9ubWVudHMuDQoNCldoZW4g SSBsb29rIGF0IExhcmdlVmFyaWFibGVXcml0ZUxpYi5oIGFuZCBMYXJnZVZhcmlhYmxlUmVhZExp Yi5oLCBJIHNlZSBhIHdyYXBwZXIgYXJvdW5kIHRoZSBVRUZJIHZhcmlhYmxlIHNlcnZpY2VzIHRo YXQgaXMgcmVsYXRpdmVseSBlYXN5IHRvIHVuZGVyc3RhbmQgYW5kIHRvIGRldGVybWluZSBpZiBp dCBmaXRzIG15IHVzZSBjYXNlIC0gSSB3YW50IHRvIHdvcmsgYXJvdW5kIHRoZSBtYXhpbXVtIFVF RkkgdmFyaWFibGUgc2l6ZSBzZXQgb24gYSBwbGF0Zm9ybS4NCg0KT24gdGhlIHN1cmZhY2UgYXQg bGVhc3QsIHRoZSBpbnRlcmZhY2UgaXMgc2ltcGxlIC0gaXQgbW9zdGx5IG1pcnJvcnMgdGhlIFVF RkkgUlQgU2VydmljZXMgZnVuY3Rpb25zLCB0aGUgdXNlIGNhc2UgaXMgZWFzeSB0byB1bmRlcnN0 YW5kLCBhbmQgdGhlIGV4cGVjdGVkIGJlaGF2aW9yIGlzIGVhc3kgdG8gY29tcHJlaGVuZC4NCg0K SSdtIHRyeWluZyB0byB1bmRlcnN0YW5kIHdoYXQgYWR2YW50YWdlIHRoZXJlIGlzIHRvIGNvbXBs aWNhdGluZyB0aGlzLg0KDQpDb21wcmVzc2lvbiBhbHJlYWR5IGhhcyBhbiBhYnN0cmFjdGlvbiBp biBpdHMgbGlicmFyeSBjbGFzc2VzIC0gQ29tcHJlc3NMaWIgYW5kIFVlZmlEZWNvbXByZXNzTGli LiBUaG9zZSBjb3VsZCBiZSBtb3JlIHN5bW1ldHJpY2FsLCBldGMuIA0KYnV0IHRoZXkncmUgcmVs YXRpdmVseSBlYXN5IHRvIHVuZGVyc3RhbmQgYW5kIHJlYXNvbiBhYm91dCBhcyB3ZWxsLg0KDQpT byB0aGlzIGlzIGEgcXVlc3Rpb24gb2Ygd2hldGhlciB0byBpbnZva2UgdGhhdCBhYnN0cmFjdGlv biBvdXRzaWRlIHRoZSBMYXJnZVZhcmlhYmxlTGliIGludGVyZmFjZXMgb3IgdW5kZXJuZWF0aCBp dHMgaW1wbGVtZW50YXRpb24uDQoNCldoZW4gb3V0c2lkZToNCiAgLSBUaGUgY2FsbGVyIGlzIGdp dmVuIGEgc2ltcGxlciBMYXJnZVZhcmlhYmxlTGliIGludGVyZmFjZSB0byB1c2UuDQogICAgLSBU aGUgY2FsbGVyIGRvZXMgbm90IG5lZWQgdG8gdW5kZXJzdGFuZCBMYXJnZVZhcmlhYmxlTGliIGNv bXByZXNzaW9uDQogICAgICBpbXBsZW1lbnRhdGlvbiBkZXRhaWxzLg0KICAtIFRoZSBjYWxsZXIg aXMgZnJlZSB0byBjaG9vc2UgYSBkaWZmZXJlbnQgY29tcHJlc3Npb24gYWJzdHJhY3Rpb24uDQog IC0gVGhlIGNhbGxlciBpcyBnaXZlbiBmbGV4aWJpbGl0eSB0byB0cmFuc2Zvcm0gZGF0YSBnaXZl biB0bw0KICAgIExhcmdlVmFyaWFibGVMaWIgaW4gdGhlIG9yZGVyIHRoZXkgY2hvb3NlLg0KICAg IC0gRXhhbXBsZTogRW5jcnlwdCB0aGVuIGNvbXByZXNzIHZzIGNvbXByZXNzIHRoZW4gZW5jcnlw dA0KDQpXaGVuIGluIFZhcmlhYmxlTGFyZ2VMaWI6DQogIC0gVGhlIGNhbGxlciBoYXMgdG8gdW5k ZXJzdGFuZCBhIG1vcmUgY29tcGxleCBjb25maWd1cmF0aW9uIGludGVyZmFjZS4NCiAgLSBUaGUg Y2FsbGVyIGxvc2VzIG1vc3Qgb2YgdGhlIGFib3ZlIGFuZCBzdGlsbCBoYXMgdG8gd29ycnkgYWJv dXQNCiAgICBsaW5raW5nIHN1aXRhYmxlIGNvbXByZXNzaW9uIGNvZGUuDQogIC0gVGhleSBtaWdo dCBzYXZlIHNvbWUgbGluZXMgb2YgY29kZSBidXQgdGhhdCBpcyBub3QgdmFsdWFibGUuDQoNCkFz IHlvdSBjYW4gc2VlLCBJIHdvdWxkIHBlcnNvbmxseSBwcmVmZXIgZm9yIExhcmdlVmFyaWFibGVM aWIgdG8gc3RheSBzaW1wbGUgYW5kIGxldCBpbnRlZ3JhdGlvbiBvZiBkYXRhIHRyYW5zZm9ybWF0 aW9ucyBvY2N1ciBhcyBuZWVkZWQgYmFzZWQgb24gdGhlIGNhbGxlcidzIG5lZWRzLg0KDQpCdXQs IEkgY2FuIHRyeSB0byBhZGQgdGhpcyBpbiBhIHJlYXNvbmFibGUgd2F5IGlmIGl0IGlzIHN0cm9u Z2x5IHByZWZlcnJlZC4NCg0KVjIgUHJvcG9zYWwNCi0tLS0tLS0tLS0tDQpGb3IgVjIsIHdvdWxk IGl0IGJlIG9rYXkgdG8gc2ltcGx5IGFkZCBzdXBwb3J0IGZvciB0aGUgYm9hcmRzIGFzIElzYWFj IG1lbnRpb25lZCBpbiB0aGUgZmlyc3QgbWFpbC4gSXQgY291bGQgYmUgdGFrZW4gZnVydGhlciBp biB0aGUgZnV0dXJlIGlmIGRlc2lyZWQuDQoNCg0KVGhhbmtzLA0KTWljaGFlbA0KDQpPbiA4LzIz LzIwMjIgODo1NSBQTSwgT3JhbSwgSXNhYWMgVyB3cm90ZToNCj4gQSBQQ0QgdG8gY29udHJvbCBs aWJyYXJ5IGNsYXNzIGluc3RhbmNlIHNlZW1zIHJlZHVuZGFudC4gIFRoZSBidWlsZCBhbHJlYWR5 IGhhcyBjYXBhYmlsaXRpZXMgdG8gY29udHJvbCBsaWJyYXJ5IGNsYXNzIGluc3RhbmNlIHBlciBk cml2ZXIsIHBlciBkcml2ZXIgdHlwZSwgcGVyIGFyY2hpdGVjdHVyZSwgZXRjLiAgTGV0IG1lIGtu b3cgaWYgdGhlcmUgaXMgc29tZSBiZW5lZml0IHRvIG92ZXJyaWRpbmcgUENEIGluIGJvYXJkIERT QyB2cyBvdmVycmlkaW5nIGxpYnJhcnkgY2xhc3MgaW4gYm9hcmQgRFNDIHRoYXQgSSBhbSBtaXNz aW5nLg0KPiANCj4gV2Ugd2FudCB0byBzaW1wbGlmeSB3aGF0IGRldmVsb3BlcnMgbmVlZCB0byBz ZWUgYW5kIGRlYWwgd2l0aC4gIE1pbmltaXplIHRoZSBudW1iZXIgb2YgYmFzaWMgZGVjaXNpb25z IG5lZWRlZCB0byBnZXQgYSBmdW5jdGlvbmFsIHBvcnQuICBJIHdvdWxkIHByZWZlciBhIHNpbmds ZSBpbnN0YW5jZSBvZiBMYXJnZVZhcmlhYmxlKkxpYi4gIEFzIGEgYm9hcmQgcG9ydCBkZXZlbG9w ZXIsIGlmIHlvdXIgc2lsaWNvbiBGU1Agc3VwcG9ydHMgY29tcHJlc3NpbmcgdGhlIGRhdGEgYW5k IHlvdXIgYm9hcmQgcG9ydCBkb2Vzbid0IHdhbnQgdGhlIHJlZHVuZGFuY3ksIHRoYXQgaXMgYSBz dGFnZSA3IG9wdGltaXphdGlvbiB0byB3cml0ZSB5b3VyIG93biBpbnN0YW5jZSBvZiB0aGUgbGli cmFyeSBjbGFzcyBvciB5b3VyIG93biB2ZXJzaW9uIG9mIFNhdmVNZW1vcnlDb25maWdEeGUuICBO byBuZWVkIHRvIGJ1cmRlbiB0aGUgcmVzdCBvZiB0aGUgYm9hcmRzIHdpdGggbmVlZGluZyB0byBr bm93IGFib3V0IGFuZCBjb25maWd1cmUgdGhpcyB0byBvcHRpbWl6ZSBhIGNvcm5lciBjYXNlLg0K PiANCj4gSSBhbHNvIHRoaW5rIGRlY29tcHJlc3Npb24gYW5kIGNvbXByZXNzaW9uIGRlY2lzaW9u cyBzaG91bGQgcmVzaWRlIGF0IHRoZSBib290IGxvYWRlciBsZXZlbCBub3QgaW50ZXJuYWwgdG8g RlNQLiAgRmlyc3QgdG8gbWluaW1pemUgRlNQIGNvbnRlbnQsIHNlY29uZCBiZWNhdXNlIGJvb3Rs b2FkZXJzIGFscmVhZHkgdHlwaWNhbGx5IGRlY2lkZSBhbmQgaW1wbGVtZW50IGRlY29tcHJlc3Np b24gdGhhdCBtYXRjaGVzIHRoZWlyIGJ1aWxkIHNwZWNpZmljIGNvbXByZXNzaW9uLiAgSSB3aWxs IGdyYW50IHRoYXQgaXQgaXMgcHJvYmFibHkgbW9zdGx5IHRoZSBzYW1lIGNvbW1vbiBhbGdvcml0 aG0gaW1wbGVtZW50YXRpb24uDQo+IA0KPiANCj4gVWx0aW1hdGVseSB0aG91Z2gsIHRob3NlIGFy ZSBtb3N0bHkgcGhpbG9zb3BoaWNhbCBvYmplY3Rpb25zLiAgSWYgeW91IHJlYWxseSB3YW50IHR3 byBpbnN0YW5jZXMgb2YgdGhlIGxpYnJhcnksIEkgY2FuIGxpdmUgd2l0aCBpdC4gIEkgd2lsbCBi ZSBhYmxlIHRvIGhhdmUgcmVhc29uYWJsZSBkZWZhdWx0IGJlaGF2aW9yIHRoYXQgaXMgcHJldHR5 IHNpbXBsZSBmb3IgbW9zdC4NCj4gDQo+IFRoZSBtb3JlIGNvbmNyZXRlIG9iamVjdGlvbiBpcyB0 aGUgYXN5bW1ldHJpYyBkZXNpZ24sIHdoZXJlIGNvbW1vbiBjb2RlIGltcGxlbWVudHMgY29tcHJl c3Npb24gYW5kIHBlciBwbGF0Zm9ybSBjb2RlIGltcGxlbWVudHMgZGVjb21wcmVzc2lvbi4gIFRo YXQgc2VlbXMgZGlzdGFzdGVmdWwuICBJIGNhbiBsaXZlIHdpdGggdGhpcyB0b28gYmVjYXVzZSBp dCBpcyBraW5kIG9mIGFscmVhZHkgdGhpcyB3YXksIGJ1dCBtb3JlIGNvbnNpc3RlbnQgY29tYmlu ZWQgd2l0aCBtb3JlIGVuY2Fwc3VsYXRlZCBzZWVtcyBiZXR0ZXIgdGhhbiBleHBhbmRpbmcgdGhl IGFzeW1tZXRyaWMgZGVzaWduLg0KPiANCj4gUmVnYXJkcywNCj4gSXNhYWMNCj4gDQo+IC0tLS0t T3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IERlc2ltb25lLCBOYXRoYW5pZWwgTCA8bmF0 aGFuaWVsLmwuZGVzaW1vbmVAaW50ZWwuY29tPg0KPiBTZW50OiBUdWVzZGF5LCBBdWd1c3QgMjMs IDIwMjIgMTI6NTEgUE0NCj4gVG86IE9yYW0sIElzYWFjIFcgPGlzYWFjLncub3JhbUBpbnRlbC5j b20+OyBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgDQo+IG1pa3ViYWNrQGxpbnV4Lm1pY3Jvc29mdC5j b20NCj4gQ2M6IENoaXUsIENoYXNlbCA8Y2hhc2VsLmNoaXVAaW50ZWwuY29tPjsgR2FvLCBMaW1p bmcgDQo+IDxnYW9saW1pbmdAYnlvc29mdC5jb20uY24+OyBEb25nLCBFcmljIDxlcmljLmRvbmdA aW50ZWwuY29tPg0KPiBTdWJqZWN0OiBSRTogW2VkazItZGV2ZWxdIFtlZGsyLXBsYXRmb3Jtc11b UEFUQ0ggdjIgMS8xXSANCj4gTWluUGxhdGZvcm1Qa2c6IEFkZCBGc3BOdnNCdWZmZXIgY29tcHJl c3Npb24gb3B0aW9uDQo+IA0KPiBBZ3JlZWQgd2l0aCBJc2FhYyB0aGF0IGhhdmluZyB0aGUgY29t cHJlc3Npb24gY2FwYWJpbGl0eSBiZSBtb3JlIGdlbmVyYWwgdXNlIHdvdWxkIGJlIG5pY2UuIEhv d2V2ZXIsIEkgdGhpbmsgaXQgd291bGQgYmV0dGVyIG1hdGNoIHRoZSBFREsgSUkgZGVzaWduIHN0 eWxlIGlmIHdlIGhhZCBhIHNlY29uZCBpbXBsZW1lbnRhdGlvbiBvZiBMYXJnZVZhcmlhYmxlKkxp YiB0aGF0IGFkZGVkIHRoZSBjb21wcmVzc2lvbiBjYXBhYmlsaXR5IG9uIHRvcCBvZiB0aGUgb3Jp Z2luYWwgTGFyZ2VWYXJpYWJsZSpMaWIuDQo+IA0KPiBJIGFsc28gdGhpbmsgaGF2aW5nIGEgUENE IHRvIGV4cGxpY2l0bHkgY29udHJvbCB3aGV0aGVyIHRvIGFwcGx5IGNvbXByZXNzaW9uIHRvIHRo ZSBGU1AgTlZTIGJ1ZmZlciBpcyBpbXBvcnRhbnQuIEJlY2F1c2UgdGhlcmUgYXJlIHNvbWUgRlNQ IGltcGxlbWVudGF0aW9ucyBsaWtlIElDWCBhbmQgU1BSIHRoYXQgYWxyZWFkeSBpbmNsdWRlIHRo ZSBDb21wcmVzc0xpYiBpbnNpZGUgdGhlIEZTUCBiaW5hcnkgaXRzZWxmLiBPbiB0aG9zZSBGU1Ag aW1wbGVtZW50YXRpb25zLCB0aGUgZGF0YSBpbiB0aGUgRlNQX05PTl9WT0xBVElMRV9TVE9SQUdF X0hPQiBpcyBhbHJlYWR5IGNvbXByZXNzZWQuIFNhaWQgUENEIHdvdWxkIHNpbXBseSBjb250cm9s IHdoaWNoIGluc3RhbmNlIG9mIHRoZSBMaWJyYXJ5Q2xhc3MgZ2V0cyBsaW5rZWQgd2l0aCBTYXZl TWVtb3J5Q29uZmlnRHhlLg0KPiANCj4gQWxzbyBhZ3JlZWQgd2l0aCBJc2FhYyB0byBwbGVhc2Ug YmUgY2FyZWZ1bCB0byBtYWtlIHN1cmUgdGhhdCBhbnkgbmV3IExpYnJhcnlDbGFzc2VzIGFyZSBp biB0aGUgSW5jbHVkZS8qLmRzYyBmaWxlcyBzb21ld2hlcmUgc28gZXhpc3RpbmcgYm9hcmRzIGRv bid0IG5lZWQgbW9kaWZpY2F0aW9ucyB0byB0aGVpciBCb2FyZFBrZy5kc2MgZmlsZS4NCj4gDQo+ IFRoYW5rcywNCj4gTmF0ZQ0KPiANCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJv bTogT3JhbSwgSXNhYWMgVyA8aXNhYWMudy5vcmFtQGludGVsLmNvbT4NCj4gU2VudDogVHVlc2Rh eSwgQXVndXN0IDIzLCAyMDIyIDExOjM0IEFNDQo+IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsg bWlrdWJhY2tAbGludXgubWljcm9zb2Z0LmNvbQ0KPiBDYzogQ2hpdSwgQ2hhc2VsIDxjaGFzZWwu Y2hpdUBpbnRlbC5jb20+OyBEZXNpbW9uZSwgTmF0aGFuaWVsIEwgDQo+IDxuYXRoYW5pZWwubC5k ZXNpbW9uZUBpbnRlbC5jb20+OyBHYW8sIExpbWluZyANCj4gPGdhb2xpbWluZ0BieW9zb2Z0LmNv bS5jbj47IERvbmcsIEVyaWMgPGVyaWMuZG9uZ0BpbnRlbC5jb20+DQo+IFN1YmplY3Q6IFJFOiBb ZWRrMi1kZXZlbF0gW2VkazItcGxhdGZvcm1zXVtQQVRDSCB2MiAxLzFdIA0KPiBNaW5QbGF0Zm9y bVBrZzogQWRkIEZzcE52c0J1ZmZlciBjb21wcmVzc2lvbiBvcHRpb24NCj4gDQo+IEltcGxlbWVu dGluZyB0aGlzIHdheSB3aWxsIGJyZWFrIHRoZSBidWlsZCBmb3IgbW9zdCBvZiB0aGUgb3BlbiBN aW5QbGF0Zm9ybSBwb3J0cy4gIEF0IG1pbmltdW0sIHBsZWFzZSBhZGQgdGhlIENvbXByZXNzTGli IHRvIENvcmVDb21tb25MaWIuZHNjIG5leHQgdG8gdGhlIFVlZmlEZWNvbXByZXNzTGliIGluc3Rh bnRpYXRpb24gc28gdGhhdCBpdCBpcyBpbmNsdWRlZCBhdXRvbWF0aWNhbGx5IGZvciBtb3N0IGJv YXJkcy4NCj4gDQo+IFJlZ2FyZGluZyB0aGUgZGVzaWduLCBJIGFncmVlIHRoaXMgaXMgYSBnb29k IGNhcGFiaWxpdHkuICBBbmQgaXQgbWFrZXMgc2Vuc2UgdG8gbWUgdG8gYmUgYm9hcmQgY29udHJv bGxlZCByYXRoZXIgdGhhbiBGU1AgY29udHJvbGxlZC4NCj4gDQo+IEkgd29uZGVyIGlmIGl0IG1p Z2h0IGJlIGJldHRlciB0byBtb2RpZnkgdGhlIExhcmdlVmFyaWFibGVSZWFkL1dyaXRlIHN1Y2gg dGhhdCBpdCBjb21wcmVzc2VzL2RlY29tcHJlc3NlcyBsYXJnZSB2YXJpYWJsZXMgYXV0b21hdGlj YWxseS4gIENvdWxkIGJlIGNvbnRyb2xsZWQgdmlhIGxpYnJhcnkgY2xhc3MgaW5zdGFuY2Ugb3Ig bWF5YmUgdmlhIFBhdGNoYWJsZVBlck1vZHVsZSBQQ0QuICBCb2FyZHMgd291bGQgc3RpbGwgaGF2 ZSBhIGxvdCBvZiBjb250cm9sIGlmIHRoZXkgd2FudGVkLg0KPiANCj4gUmVnYXJkcywNCj4gSXNh YWMNCj4gDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IGRldmVsQGVkazIu Z3JvdXBzLmlvIDxkZXZlbEBlZGsyLmdyb3Vwcy5pbz4gT24gQmVoYWxmIE9mIE1pY2hhZWwgDQo+ IEt1YmFja2kNCj4gU2VudDogTW9uZGF5LCBBdWd1c3QgMjIsIDIwMjIgODoyMyBQTQ0KPiBUbzog ZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gQ2M6IENoaXUsIENoYXNlbCA8Y2hhc2VsLmNoaXVAaW50 ZWwuY29tPjsgRGVzaW1vbmUsIE5hdGhhbmllbCBMIA0KPiA8bmF0aGFuaWVsLmwuZGVzaW1vbmVA aW50ZWwuY29tPjsgT3JhbSwgSXNhYWMgVyANCj4gPGlzYWFjLncub3JhbUBpbnRlbC5jb20+OyBH YW8sIExpbWluZyA8Z2FvbGltaW5nQGJ5b3NvZnQuY29tLmNuPjsgDQo+IERvbmcsIEVyaWMgPGVy aWMuZG9uZ0BpbnRlbC5jb20+DQo+IFN1YmplY3Q6IFtlZGsyLWRldmVsXSBbZWRrMi1wbGF0Zm9y bXNdW1BBVENIIHYyIDEvMV0gTWluUGxhdGZvcm1Qa2c6IA0KPiBBZGQgRnNwTnZzQnVmZmVyIGNv bXByZXNzaW9uIG9wdGlvbg0KPiANCj4gRnJvbTogTWljaGFlbCBLdWJhY2tpIDxtaWNoYWVsLmt1 YmFja2lAbWljcm9zb2Z0LmNvbT4NCj4gDQo+IEFkZHMgYSBQQ0QgY2FsbGVkICJQY2RFbmFibGVD b21wcmVzc2VkRnNwTnZzQnVmZmVyIiB0aGF0IGFsbG93cyB0aGUgIkZzcE52c0J1ZmZlciIgVUVG SSB2YXJpYWJsZSBkYXRhIHRvIGJlIHNhdmVkIGFzIGNvbXByZXNzZWQgZGF0YS4NCj4gDQo+IEVz cGVjaWFsbHkgZHVlIHRvIHRoZSBuYXR1cmUgb2YgdGhlIGRhdGEgc2F2ZWQgaW4gdGhpcyB2YXJp YWJsZSwgaXQgY29tcHJlc3NlcyB3ZWxsLiBGb3IgZXhhbXBsZSwgaXQgaGFzIGJlZW4gZm91bmQg dG8gcmVkdWNlIH42M0tCIG9mIGRhdGEgdG8gfjEzS0IuIEJvb3QgdGltZSBpbXBhY3QgaGFzIGJl ZW4gZm91bmQgdG8gYmUgbmVnbGlnaWJsZS4NCj4gDQo+IFRoZSBkZWZhdWx0IHZhbHVlIGlzIEZB TFNFIHRvIGtlZXAgZGVmYXVsdCBiZWhhdmlvciBjb25zaXN0ZW50Lg0KPiANCj4gRGVjb21wcmVz c2lvbiBjYW4gYmUgcGVyZm9ybWVkIG9uIHRoZSB2YXJpYWJsZSBkYXRhIHVzaW5nIHRoZSBzdGFu ZGFyZCBVZWZpRGVjb21wcmVzc0xpYi4NCj4gDQo+IENjOiBDaGFzZWwgQ2hpdSA8Y2hhc2VsLmNo aXVAaW50ZWwuY29tPg0KPiBDYzogTmF0ZSBEZVNpbW9uZSA8bmF0aGFuaWVsLmwuZGVzaW1vbmVA aW50ZWwuY29tPg0KPiBDYzogSXNhYWMgT3JhbSA8aXNhYWMudy5vcmFtQGludGVsLmNvbT4NCj4g Q2M6IExpbWluZyBHYW8gPGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbj4NCj4gQ2M6IEVyaWMgRG9u ZyA8ZXJpYy5kb25nQGludGVsLmNvbT4NCj4gU2lnbmVkLW9mZi1ieTogTWljaGFlbCBLdWJhY2tp IDxtaWNoYWVsLmt1YmFja2lAbWljcm9zb2Z0LmNvbT4NCj4gLS0tDQo+IA0KPiBOb3RlczoNCj4g ICAgICB2MjogUmViYXNlIG9udG8gOTc2OWJmMjhkMWZjDQo+IA0KPiAgIFBsYXRmb3JtL0ludGVs L01pblBsYXRmb3JtUGtnL0ZzcFdyYXBwZXIvU2F2ZU1lbW9yeUNvbmZpZy9TYXZlTWVtb3J5Q29u ZmlnLmMgICB8IDYyICsrKysrKysrKysrKysrKystLS0tDQo+ICAgUGxhdGZvcm0vSW50ZWwvTWlu UGxhdGZvcm1Qa2cvRnNwV3JhcHBlci9TYXZlTWVtb3J5Q29uZmlnL1NhdmVNZW1vcnlDb25maWcu aW5mIHwgIDQgKysNCj4gICBQbGF0Zm9ybS9JbnRlbC9NaW5QbGF0Zm9ybVBrZy9NaW5QbGF0Zm9y bVBrZy5kZWMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNiArKw0KPiAgIFBsYXRm b3JtL0ludGVsL01pblBsYXRmb3JtUGtnL01pblBsYXRmb3JtUGtnLmRzYyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8ICAxICsNCj4gICA0IGZpbGVzIGNoYW5nZWQsIDYwIGluc2VydGlv bnMoKyksIDEzIGRlbGV0aW9ucygtKQ0KPiANCj4gZGlmZiAtLWdpdCANCj4gYS9QbGF0Zm9ybS9J bnRlbC9NaW5QbGF0Zm9ybVBrZy9Gc3BXcmFwcGVyL1NhdmVNZW1vcnlDb25maWcvU2F2ZU1lbW9y eQ0KPiBDb25maWcuYyANCj4gYi9QbGF0Zm9ybS9JbnRlbC9NaW5QbGF0Zm9ybVBrZy9Gc3BXcmFw cGVyL1NhdmVNZW1vcnlDb25maWcvU2F2ZU1lbW9yeQ0KPiBDb25maWcuYyBpbmRleCAwMjE1ZThl ZWRkZmIuLjk1YjhjZWY4YjMyYiAxMDA2NDQNCj4gLS0tIA0KPiBhL1BsYXRmb3JtL0ludGVsL01p blBsYXRmb3JtUGtnL0ZzcFdyYXBwZXIvU2F2ZU1lbW9yeUNvbmZpZy9TYXZlTWVtb3J5DQo+IENv bmZpZy5jDQo+ICsrKyBiL1BsYXRmb3JtL0ludGVsL01pblBsYXRmb3JtUGtnL0ZzcFdyYXBwZXIv U2F2ZU1lbW9yeUNvbmZpZy9TYXZlTWUNCj4gKysrIG1vDQo+ICsrKyByeUNvbmZpZy5jDQo+IEBA IC0zLDYgKzMsNyBAQA0KPiAgICAgZXhpc3RzLCBhbmQgc2F2ZXMgdGhlIGRhdGEgdG8gbnZSQU0u DQo+ICAgDQo+ICAgQ29weXJpZ2h0IChjKSAyMDE3IC0gMjAyMiwgSW50ZWwgQ29ycG9yYXRpb24u IEFsbCByaWdodHMgDQo+IHJlc2VydmVkLjxCUj4NCj4gK0NvcHlyaWdodCAoYykgTWljcm9zb2Z0 IENvcnBvcmF0aW9uLjxCUj4NCj4gICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xh dXNlLVBhdGVudA0KPiAgIA0KPiAgICoqLw0KPiBAQCAtMTAsNiArMTEsNyBAQCBTUERYLUxpY2Vu c2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudCAgDQo+ICNpbmNsdWRlIDxCYXNlLmg+ ICAjaW5jbHVkZSA8VWVmaS5oPiAgI2luY2x1ZGUgPExpYnJhcnkvQmFzZUxpYi5oPg0KPiArI2lu Y2x1ZGUgPExpYnJhcnkvQ29tcHJlc3NMaWIuaD4NCj4gICAjaW5jbHVkZSA8TGlicmFyeS9VZWZp Qm9vdFNlcnZpY2VzVGFibGVMaWIuaD4NCj4gICAjaW5jbHVkZSA8TGlicmFyeS9VZWZpUnVudGlt ZVNlcnZpY2VzVGFibGVMaWIuaD4NCj4gICAjaW5jbHVkZSA8TGlicmFyeS9Ib2JMaWIuaD4NCj4g QEAgLTE5LDYgKzIxLDcgQEAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1Q YXRlbnQgIA0KPiAjaW5jbHVkZSA8TGlicmFyeS9CYXNlTWVtb3J5TGliLmg+ICAjaW5jbHVkZSAN Cj4gPExpYnJhcnkvTGFyZ2VWYXJpYWJsZVJlYWRMaWIuaD4gICNpbmNsdWRlIA0KPiA8TGlicmFy eS9MYXJnZVZhcmlhYmxlV3JpdGVMaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L1BjZExpYi5o Pg0KPiAgICNpbmNsdWRlIDxMaWJyYXJ5L1ZhcmlhYmxlV3JpdGVMaWIuaD4NCj4gICAjaW5jbHVk ZSA8R3VpZC9Gc3BOb25Wb2xhdGlsZVN0b3JhZ2VIb2IyLmg+DQo+ICAgDQo+IEBAIC0zOCwyMCAr NDEsMjYgQEAgU2F2ZU1lbW9yeUNvbmZpZ0VudHJ5UG9pbnQgKA0KPiAgICAgSU4gRUZJX1NZU1RF TV9UQUJMRSAgICpTeXN0ZW1UYWJsZQ0KPiAgICAgKQ0KPiAgIHsNCj4gLSAgRUZJX1NUQVRVUyAg ICAgICAgU3RhdHVzOw0KPiAtICBFRklfSE9CX0dVSURfVFlQRSAqR3VpZEhvYjsNCj4gLSAgVk9J RCAgICAgICAgICAgICAgKkhvYkRhdGE7DQo+IC0gIFZPSUQgICAgICAgICAgICAgICpWYXJpYWJs ZURhdGE7DQo+IC0gIFVJTlROICAgICAgICAgICAgIERhdGFTaXplOw0KPiAtICBVSU5UTiAgICAg ICAgICAgICBCdWZmZXJTaXplOw0KPiAtICBCT09MRUFOICAgICAgICAgICBEYXRhSXNJZGVudGlj YWw7DQo+ICsgIEVGSV9TVEFUVVMgICAgICAgICBTdGF0dXM7DQo+ICsgIEVGSV9IT0JfR1VJRF9U WVBFICAqR3VpZEhvYjsNCj4gKyAgVk9JRCAgICAgICAgICAgICAgICpIb2JEYXRhOw0KPiArICBW T0lEICAgICAgICAgICAgICAgKlZhcmlhYmxlRGF0YTsNCj4gKyAgVUlOVE4gICAgICAgICAgICAg IERhdGFTaXplOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgQnVmZmVyU2l6ZTsNCj4gKyAgQk9P TEVBTiAgICAgICAgICAgIERhdGFJc0lkZW50aWNhbDsNCj4gKyAgVk9JRCAgICAgICAgICAgICAg ICpDb21wcmVzc2VkRGF0YTsNCj4gKyAgVUlOVDY0ICAgICAgICAgICAgIENvbXByZXNzZWRTaXpl Ow0KPiArICBVSU5UTiAgICAgICAgICAgICAgQ29tcHJlc3NlZEFsbG9jYXRpb25QYWdlczsNCj4g ICANCj4gLSAgRGF0YVNpemUgICAgICAgID0gMDsNCj4gLSAgQnVmZmVyU2l6ZSAgICAgID0gMDsN Cj4gLSAgVmFyaWFibGVEYXRhICAgID0gTlVMTDsNCj4gLSAgR3VpZEhvYiAgICAgICAgID0gTlVM TDsNCj4gLSAgSG9iRGF0YSAgICAgICAgID0gTlVMTDsNCj4gLSAgRGF0YUlzSWRlbnRpY2FsID0g RkFMU0U7DQo+ICsgIERhdGFTaXplICAgICAgICAgICAgICAgICAgPSAwOw0KPiArICBCdWZmZXJT aXplICAgICAgICAgICAgICAgID0gMDsNCj4gKyAgVmFyaWFibGVEYXRhICAgICAgICAgICAgICA9 IE5VTEw7DQo+ICsgIEd1aWRIb2IgICAgICAgICAgICAgICAgICAgPSBOVUxMOw0KPiArICBIb2JE YXRhICAgICAgICAgICAgICAgICAgID0gTlVMTDsNCj4gKyAgRGF0YUlzSWRlbnRpY2FsICAgICAg ICAgICA9IEZBTFNFOw0KPiArICBDb21wcmVzc2VkRGF0YSAgICAgICAgICAgID0gTlVMTDsNCj4g KyAgQ29tcHJlc3NlZFNpemUgICAgICAgICAgICA9IDA7DQo+ICsgIENvbXByZXNzZWRBbGxvY2F0 aW9uUGFnZXMgPSAwOw0KPiAgIA0KPiAgICAgLy8NCj4gICAgIC8vIFNlYXJjaCBmb3IgdGhlIE1l bW9yeSBDb25maWd1cmF0aW9uIEdVSUQgSE9CLiAgSWYgaXQgaXMgbm90IHByZXNlbnQsIHRoZW4g QEAgLTczLDYgKzgyLDI5IEBAIFNhdmVNZW1vcnlDb25maWdFbnRyeVBvaW50ICgNCj4gICAgICAg fQ0KPiAgICAgfQ0KPiAgIA0KPiArICBpZiAoUGNkR2V0Qm9vbCAoUGNkRW5hYmxlQ29tcHJlc3Nl ZEZzcE52c0J1ZmZlcikpIHsNCj4gKyAgICBpZiAoRGF0YVNpemUgPiAwKSB7DQo+ICsgICAgICBD b21wcmVzc2VkQWxsb2NhdGlvblBhZ2VzID0gRUZJX1NJWkVfVE9fUEFHRVMgKERhdGFTaXplKTsN Cj4gKyAgICAgIENvbXByZXNzZWREYXRhICAgICAgICAgICAgPSBBbGxvY2F0ZVBhZ2VzIChDb21w cmVzc2VkQWxsb2NhdGlvblBhZ2VzKTsNCj4gKyAgICAgIGlmIChDb21wcmVzc2VkRGF0YSA9PSBO VUxMKSB7DQo+ICsgICAgICAgIERFQlVHICgoREVCVUdfRVJST1IsICJbJWFdIC0gRmFpbGVkIHRv IGFsbG9jYXRlIGNvbXByZXNzZWQgZGF0YSBidWZmZXIuXG4iLCBfX0ZVTkNUSU9OX18pKTsNCj4g KyAgICAgICAgQVNTRVJUX0VGSV9FUlJPUiAoRUZJX09VVF9PRl9SRVNPVVJDRVMpOw0KPiArICAg ICAgICByZXR1cm4gRUZJX09VVF9PRl9SRVNPVVJDRVM7DQo+ICsgICAgICB9DQo+ICsNCj4gKyAg ICAgIENvbXByZXNzZWRTaXplID0gRUZJX1BBR0VTX1RPX1NJWkUgKENvbXByZXNzZWRBbGxvY2F0 aW9uUGFnZXMpOw0KPiArICAgICAgU3RhdHVzICAgICAgICAgPSBDb21wcmVzcyAoSG9iRGF0YSwg RGF0YVNpemUsIENvbXByZXNzZWREYXRhLCAmQ29tcHJlc3NlZFNpemUpOw0KPiArICAgICAgaWYg KEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAgICAgICBERUJVRyAoKERFQlVHX0VSUk9SLCAi WyVhXSAtIGZhaWxlZCB0byBjb21wcmVzcyBkYXRhLiBTdGF0dXMgPSAlclxuIiwgX19GVU5DVElP Tl9fLCBTdGF0dXMpKTsNCj4gKyAgICAgICAgQVNTRVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsNCj4g KyAgICAgICAgcmV0dXJuIFN0YXR1czsNCj4gKyAgICAgIH0NCj4gKyAgICB9DQo+ICsNCj4gKyAg ICBIb2JEYXRhICA9IENvbXByZXNzZWREYXRhOw0KPiArICAgIERhdGFTaXplID0gKFVJTlROKUNv bXByZXNzZWRTaXplOyAgfQ0KPiArDQo+ICAgICBpZiAoSG9iRGF0YSAhPSBOVUxMKSB7DQo+ICAg ICAgIERFQlVHICgoREVCVUdfSU5GTywgIkZzcE52c0hvYi5OdnNEYXRhTGVuZ3RoOiVkXG4iLCBE YXRhU2l6ZSkpOw0KPiAgICAgICBERUJVRyAoKERFQlVHX0lORk8sICJGc3BOdnNIb2IuTnZzRGF0 YVB0ciAgIDogMHgleFxuIiwgSG9iRGF0YSkpOw0KPiBAQCAtMTM2LDYgKzE2OCwxMCBAQCBTYXZl TWVtb3J5Q29uZmlnRW50cnlQb2ludCAoDQo+ICAgICAgIERFQlVHKChERUJVR19FUlJPUiwgIk1l bW9yeSBTMyBEYXRhIEhPQiB3YXMgbm90IGZvdW5kXG4iKSk7DQo+ICAgICB9DQo+ICAgDQo+ICsg IGlmIChDb21wcmVzc2VkRGF0YSAhPSBOVUxMKSB7DQo+ICsgICAgRnJlZVBhZ2VzIChDb21wcmVz c2VkRGF0YSwgQ29tcHJlc3NlZEFsbG9jYXRpb25QYWdlcyk7ICB9DQo+ICsNCj4gICAgIC8vDQo+ ICAgICAvLyBUaGlzIGRyaXZlciBkb2VzIG5vdCBwcm9kdWNlIGFueSBwcm90b2NvbCBzZXJ2aWNl cywgc28gYWx3YXlzIHVubG9hZCBpdC4NCj4gICAgIC8vDQo+IGRpZmYgLS1naXQgDQo+IGEvUGxh dGZvcm0vSW50ZWwvTWluUGxhdGZvcm1Qa2cvRnNwV3JhcHBlci9TYXZlTWVtb3J5Q29uZmlnL1Nh dmVNZW1vcnkNCj4gQ29uZmlnLmluZiANCj4gYi9QbGF0Zm9ybS9JbnRlbC9NaW5QbGF0Zm9ybVBr Zy9Gc3BXcmFwcGVyL1NhdmVNZW1vcnlDb25maWcvU2F2ZU1lbW9yeQ0KPiBDb25maWcuaW5mIGlu ZGV4IDYxZTg1YTY1ODY5My4uMGYxMmRlYjEzMWNhIDEwMDY0NA0KPiAtLS0gDQo+IGEvUGxhdGZv cm0vSW50ZWwvTWluUGxhdGZvcm1Qa2cvRnNwV3JhcHBlci9TYXZlTWVtb3J5Q29uZmlnL1NhdmVN ZW1vcnkNCj4gQ29uZmlnLmluZg0KPiArKysgYi9QbGF0Zm9ybS9JbnRlbC9NaW5QbGF0Zm9ybVBr Zy9Gc3BXcmFwcGVyL1NhdmVNZW1vcnlDb25maWcvU2F2ZU1lDQo+ICsrKyBtbw0KPiArKysgcnlD b25maWcuaW5mDQo+IEBAIC0yNiw2ICsyNiw3IEBAIFtMaWJyYXJ5Q2xhc3Nlc10NCj4gICAgIExh cmdlVmFyaWFibGVSZWFkTGliDQo+ICAgICBMYXJnZVZhcmlhYmxlV3JpdGVMaWINCj4gICAgIEJh c2VMaWINCj4gKyAgQ29tcHJlc3NMaWINCj4gICANCj4gICBbUGFja2FnZXNdDQo+ICAgICBNZGVQ a2cvTWRlUGtnLmRlYw0KPiBAQCAtNDUsNiArNDYsOSBAQCBbR3VpZHNdDQo+ICAgICBnRnNwTm9u Vm9sYXRpbGVTdG9yYWdlSG9iMkd1aWQgICAgICAgICAgICAgICAgIyMgQ09OU1VNRVMNCj4gICAg IGdGc3BOdnNCdWZmZXJWYXJpYWJsZUd1aWQgICAgICAgICAgICAgICAgICAgICAjIyBQUk9EVUNF Uw0KPiAgIA0KPiArW1BjZF0NCj4gKyAgZ01pblBsYXRmb3JtUGtnVG9rZW5TcGFjZUd1aWQuUGNk RW5hYmxlQ29tcHJlc3NlZEZzcE52c0J1ZmZlcg0KPiArDQo+ICAgW0RlcGV4XQ0KPiAgICAgZ0Vm aVZhcmlhYmxlQXJjaFByb3RvY29sR3VpZCAgICAgICAgQU5EDQo+ICAgICBnRWZpVmFyaWFibGVX cml0ZUFyY2hQcm90b2NvbEd1aWQNCj4gXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlDQo+IGRp ZmYgLS1naXQgYS9QbGF0Zm9ybS9JbnRlbC9NaW5QbGF0Zm9ybVBrZy9NaW5QbGF0Zm9ybVBrZy5k ZWMgDQo+IGIvUGxhdGZvcm0vSW50ZWwvTWluUGxhdGZvcm1Qa2cvTWluUGxhdGZvcm1Qa2cuZGVj DQo+IGluZGV4IDhlNjAzYjdiZjk0Yi4uOTQzNTNjYjc2ODI0IDEwMDY0NA0KPiAtLS0gYS9QbGF0 Zm9ybS9JbnRlbC9NaW5QbGF0Zm9ybVBrZy9NaW5QbGF0Zm9ybVBrZy5kZWMNCj4gKysrIGIvUGxh dGZvcm0vSW50ZWwvTWluUGxhdGZvcm1Qa2cvTWluUGxhdGZvcm1Qa2cuZGVjDQo+IEBAIC0zMDYs NiArMzA2LDEyIEBAIFtQY2RzRml4ZWRBdEJ1aWxkLCBQY2RzUGF0Y2hhYmxlSW5Nb2R1bGUsIA0K PiBQY2RzRHluYW1pYywgUGNkc0R5bmFtaWNFeF0NCj4gICANCj4gICAgIA0KPiBnTWluUGxhdGZv cm1Qa2dUb2tlblNwYWNlR3VpZC5QY2RQbGF0Zm9ybU1lbW9yeUNoZWNrTGV2ZWx8MHxVSU5UMzJ8 MHgzDQo+IDAwMDAwMDkNCj4gICANCj4gKyAgIyMgQ29udHJvbHMgd2hldGhlciB0aGUgRlNQIE5W UyBidWZmZXIgaXMgc2F2ZWQgYXMgY29tcHJlc3NlZCBkYXRhLg0KPiArICAjIERhdGEgY29tcHJl c3Npb24gY2FuIHNpZ25pZmljYW50bHkgcmVkdWNlIHZhcmlhYmxlIHN0b3JhZ2UgdXNhZ2UgZm9y IEZTUCBOVlMgYnVmZmVyIGRhdGEuDQo+ICsgICMgUGxhdGZvcm1zIHRoYXQgY2hvb3NlIHRvIGNv bXByZXNzIHRoZSBkYXRhIHdpbGwgbmVlZCB0byANCj4gKyBkZWNvbXByZXNzIHRoZSB2YXJpYWJs ZSBkYXRhIHVwb24gICMgZXh0cmFjdGlvbi4NCj4gKw0KPiArIGdNaW5QbGF0Zm9ybVBrZ1Rva2Vu U3BhY2VHdWlkLlBjZEVuYWJsZUNvbXByZXNzZWRGc3BOdnNCdWZmZXJ8RkFMU0V8DQo+ICsgQk8N Cj4gKyBPTEVBTnwweDMwMDAwMDEwDQo+ICsNCj4gICAgICMjIFRoaXMgUENEIGlzIHRvIGNvbnRy b2wgd2hpY2ggZGV2aWNlIGlzIHRoZSBwb3RlbnRpYWwgdHJ1c3RlZCBjb25zb2xlIGlucHV0IGRl dmljZS48QlI+PEJSPg0KPiAgICAgIyBGb3IgZXhhbXBsZTo8QlI+DQo+ICAgICAjIFVTQiBTaG9y dCBGb3JtOiBVc2JISUQoMHhGRkZGLDB4RkZGRiwweDEsMHgxKTxCUj4gZGlmZiAtLWdpdCANCj4g YS9QbGF0Zm9ybS9JbnRlbC9NaW5QbGF0Zm9ybVBrZy9NaW5QbGF0Zm9ybVBrZy5kc2MgDQo+IGIv UGxhdGZvcm0vSW50ZWwvTWluUGxhdGZvcm1Qa2cvTWluUGxhdGZvcm1Qa2cuZHNjDQo+IGluZGV4 IDA5YWE2ZmU0ZDUxYy4uYWUxNzBmODdkNTQ4IDEwMDY0NA0KPiAtLS0gYS9QbGF0Zm9ybS9JbnRl bC9NaW5QbGF0Zm9ybVBrZy9NaW5QbGF0Zm9ybVBrZy5kc2MNCj4gKysrIGIvUGxhdGZvcm0vSW50 ZWwvTWluUGxhdGZvcm1Qa2cvTWluUGxhdGZvcm1Qa2cuZHNjDQo+IEBAIC0xMDYsNiArMTA2LDcg QEAgW0xpYnJhcnlDbGFzc2VzLmNvbW1vbi5EWEVfRFJJVkVSXQ0KPiAgICAgRnNwV3JhcHBlclBs YXRmb3JtTGlifE1pblBsYXRmb3JtUGtnL0ZzcFdyYXBwZXIvTGlicmFyeS9EeGVGc3BXcmFwcGVy UGxhdGZvcm1MaWIvRHhlRnNwV3JhcHBlclBsYXRmb3JtTGliLmluZg0KPiAgICAgVGVzdFBvaW50 Q2hlY2tMaWJ8TWluUGxhdGZvcm1Qa2cvVGVzdC9MaWJyYXJ5L1Rlc3RQb2ludENoZWNrTGliL0R4 ZVRlc3RQb2ludENoZWNrTGliLmluZg0KPiAgICAgDQo+IFRlc3RQb2ludExpYnxNaW5QbGF0Zm9y bVBrZy9UZXN0L0xpYnJhcnkvVGVzdFBvaW50TGliL0R4ZVRlc3RQb2ludExpYi4NCj4gaW5mDQo+ ICsgIENvbXByZXNzTGlifE1pblBsYXRmb3JtUGtnL0xpYnJhcnkvQ29tcHJlc3NMaWIvQ29tcHJl c3NMaWIuaW5mDQo+ICAgDQo+ICAgW0xpYnJhcnlDbGFzc2VzLmNvbW1vbi5EWEVfU01NX0RSSVZF Ul0NCj4gICAgIA0KPiBUZXN0UG9pbnRDaGVja0xpYnxNaW5QbGF0Zm9ybVBrZy9UZXN0L0xpYnJh cnkvVGVzdFBvaW50Q2hlY2tMaWIvU21tVGVzDQo+IHRQb2ludENoZWNrTGliLmluZg0KPiAtLQ0K PiAyLjI4LjAud2luZG93cy4xDQo+IA0KPiANCj4gDQo+IC09LT0tPS09LT0tPQ0KPiBHcm91cHMu aW8gTGlua3M6IFlvdSByZWNlaXZlIGFsbCBtZXNzYWdlcyBzZW50IHRvIHRoaXMgZ3JvdXAuDQo+ IFZpZXcvUmVwbHkgT25saW5lICgjOTI2NDQpOiANCj4gaHR0cHM6Ly9lZGsyLmdyb3Vwcy5pby9n L2RldmVsL21lc3NhZ2UvOTI2NDQNCj4gTXV0ZSBUaGlzIFRvcGljOiBodHRwczovL2dyb3Vwcy5p by9tdC85MzE5NzYzOC8xNDkyNDE4DQo+IEdyb3VwIE93bmVyOiBkZXZlbCtvd25lckBlZGsyLmdy b3Vwcy5pbw0KPiBVbnN1YnNjcmliZTogaHR0cHM6Ly9lZGsyLmdyb3Vwcy5pby9nL2RldmVsL3Vu c3ViIA0KPiBbaXNhYWMudy5vcmFtQGludGVsLmNvbV0gLT0tPS09LT0tPS09DQo+IA0K