From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by mx.groups.io with SMTP id smtpd.web11.261.1657730960431097363 for ; Wed, 13 Jul 2022 09:49:20 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=Es7H4Wzf; spf=pass (domain: intel.com, ip: 192.55.52.115, mailfrom: rangasai.v.chaganty@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1657730960; x=1689266960; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=3yR2aiy4hONW0m4KL7DYBEKcyE9RcCiT5K0zU4XiSbE=; b=Es7H4WzfJI/nziUCBIhxDhaiVQN0/1zaydfRhM1vVxpLTT40slbbEFDS 38GullRDes8VdiG9wAiLZMCsgeqwQwnhV87AFgF40kA2vfk6KbgJqWOiw mz3HLFyJwgJYcK0jfakfjc/mmUN3/sqUE5x2WFdATAS1LrM4HD5Bnb76Z ajJ8Ibb7gAJZhsC9Z7vnV4nn4LKiJ8akkSTxKjBEIlJRCLI1RsPBjSW/D nwb8rHy0R/GMYkqoHNgyZUrSPs2964aKQFK03F0EbHustgeyIITjVOI+b YBvqEOvXzdtY0372MAWdBDgjB5rBmsbPViaUAcO+IOYAvp4hJUCVbaJ+K A==; X-IronPort-AV: E=McAfee;i="6400,9594,10407"; a="285305662" X-IronPort-AV: E=Sophos;i="5.92,267,1650956400"; d="scan'208";a="285305662" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jul 2022 09:49:19 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.92,267,1650956400"; d="scan'208";a="722418593" Received: from orsmsx606.amr.corp.intel.com ([10.22.229.19]) by orsmga004.jf.intel.com with ESMTP; 13 Jul 2022 09:49:19 -0700 Received: from orsmsx609.amr.corp.intel.com (10.22.229.22) by ORSMSX606.amr.corp.intel.com (10.22.229.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Wed, 13 Jul 2022 09:49:19 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX609.amr.corp.intel.com (10.22.229.22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Wed, 13 Jul 2022 09:49:19 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27 via Frontend Transport; Wed, 13 Jul 2022 09:49:19 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.177) 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.2308.27; Wed, 13 Jul 2022 09:49:18 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KIyOuBK5MLrjjYMe6xI88Tv5qTukrXNbg8BM1pf6L82+sIth/o2GAMdlOE6gdY1Q6yV9T7jt0LwKTT1ZcFi7H2nYIYgdm78ZCoWctLQbHHi+MJimyVFcQ6u/yjWDe8jLenrcNe7qyyC1g4EUxEyIy4tAk8Z3wMAyNeWKhWkJjxxkHCxrZVguxjpLBT0xpgW9kWDywU4Jb43kinPbqbxCiFFLF2clzjYq5MkhuKLHDQ+fBG5qU10WFycK+fNU3mVUkNRDpEPGLBd4Bv2J0CwUgyrpDptDKVNK7dgR/+zqiVwK2YOOyXO67a5cGrfowr2mC79iwdI9wKYzcpjLAugftg== 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=3yR2aiy4hONW0m4KL7DYBEKcyE9RcCiT5K0zU4XiSbE=; b=X/CI3c6P49JriwIr9UKERrqOMweGHywRom5lfNN+FXT2Qs2xdT7QCz5f0tM0QW3JHbhdU2nPomSMRCqCq/bI/IG2h73yaoXgqWL2GnYyJT9MWDhDWXfpqXphXUeyp7lrz2OTGt6FlU5o8B45aYsEMBiZq+9EwpNRhn1dBm+nxbGdoO1wPn9YPsu+NGsz0OeX/P7C14ZNZX22vOwHmUY+QHiID4vFYm5MHYi3rTD5COpnpg4k0cDIfG+kk8ieDLbO8k5vQVW/UcCu3xrT79trNlxjnEXLSyDk7bLS/VHr0N1UhnlJNU3fSebIXUEZDHy5Jfzcx/InCP0CU6rcpX9AAQ== 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 MW4PR11MB5776.namprd11.prod.outlook.com (2603:10b6:303:183::9) by DM6PR11MB3225.namprd11.prod.outlook.com (2603:10b6:5:5b::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5417.16; Wed, 13 Jul 2022 16:49:16 +0000 Received: from MW4PR11MB5776.namprd11.prod.outlook.com ([fe80::9eb:1dcb:baf2:a46c]) by MW4PR11MB5776.namprd11.prod.outlook.com ([fe80::9eb:1dcb:baf2:a46c%3]) with mapi id 15.20.5417.026; Wed, 13 Jul 2022 16:49:16 +0000 From: "Chaganty, Rangasai V" To: "devel@edk2.groups.io" , "mikuback@linux.microsoft.com" CC: "Ni, Ray" , "Oram, Isaac W" , "Desimone, Nathaniel L" Subject: Re: [edk2-devel] [edk2-platforms][PATCH v2 1/1] IntelSiliconPkg/SpiFvbService: Add support for VariableFlashInfoLib Thread-Topic: [edk2-devel] [edk2-platforms][PATCH v2 1/1] IntelSiliconPkg/SpiFvbService: Add support for VariableFlashInfoLib Thread-Index: AQHYlkPITsnUTdxKZUKLzVFA6fbB3a18hGpA Date: Wed, 13 Jul 2022 16:49:16 +0000 Message-ID: References: <16FDBB890A0E8B8C.7323@groups.io> In-Reply-To: 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: ae206bec-0fd1-47c7-acd1-08da64ef9fb5 x-ms-traffictypediagnostic: DM6PR11MB3225:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 6MjlVCoNiP6X/ddXdkRpxGKkiNHDU1H03iX/b3Z7AQlGfoYsjHAM5TnWUSXvfvjJSPZ/ZAryZ6FDONoTt6ztKIix+kYVXXTnDqtDTiUOTndjz8TF01OgUz8QZIo4aRfPPmTqjpFDGGPwfIhFL4SNNuCL9p6oRn+9nbnJ5c8s92Y9vcQYiSg4UR1fCBR0ePmfFtU2/RqJ09BKCPeUgpok1XKOEh64Yts1ZDGZSZKuc4mQjBWj1oZJuVi/b1pLO5ltquQ0t6FME/lp/4RYfj/xzTb0NDIRFLuq6pVjgqtlfCQxY6ZJkDmQEZ5o8uQTPh1hatO8xc72/9njknYzZDCgzPuFo0Sg6qUtaIfqE642oJI9vbUg3WcuKC4c93WtvmsyXHnpWLQYK6+Af6cW1DvPBXt5hqoP3sGtGHRcLegYLBWu3JgQe8K3jiOeykDql7oqFMLweEHTo1j0btWEw5IW3WyiqDjdjPPh6L7e8HIsY8ZqvTmitTDWAlapXN4TbtMiQ/P3pXMvvLHuzHH/LkSVgeRyTeLLaFiurf8HCgBcvVlLajKp0T1DF4djWWI4VgPQoIJOZDJTPZwGtpYw+wSzvb+1o39XmEy6m6l+J4dljJG5EtlI0OPgF7JE4ArdzG70en0jbRJJFnbhPFdQF6Wz4HAOiw2Y0lYaTzOnJb+qFJ0Zzoj6egNQmGUIqn05n8Abi1vspYlP8PG7hRCZOteOm+wsynmY6aiCBus4+03u1lu6YqYPtJIl4B977hfpSOy+GyRZtZzITcpRRf/u6u2pzoirJQH6D+tHI7VSzCupmaUp8OVrBxJ36OWlwdxqhzhLxtH2B74zeFR7T++FcIfE9w== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW4PR11MB5776.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(136003)(346002)(39860400002)(376002)(396003)(366004)(7696005)(41300700001)(110136005)(54906003)(478600001)(52536014)(76116006)(8676002)(6506007)(83380400001)(55016003)(64756008)(71200400001)(45080400002)(53546011)(2906002)(66446008)(30864003)(4326008)(66556008)(8936002)(316002)(5660300002)(66946007)(66476007)(122000001)(19627235002)(107886003)(186003)(38070700005)(82960400001)(9686003)(33656002)(38100700002)(26005)(86362001)(579004)(559001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Yk1rVENpUTA0UDdQMUpOUUNsTWR0UEpKVjR0Y3BRZjJSYVZvdWNqNHluTXQ2?= =?utf-8?B?STRNWk9jMXA4WjQwbE81Z1cwQldnNm5CUVMrME1FTUNQdCtaUno2V2t5UEtP?= =?utf-8?B?Mm9qdjRsaHpFT0JHSW9Nd01SOHBpOG1yZk41Rk1CNkhkb3pFZytUeGJVWDBt?= =?utf-8?B?UUZ4di9TM0xmanE5dEo0MVR3VU9sYlgraFR1eTFVNkFxUk5JYWRNTExCL3Vw?= =?utf-8?B?SEFJZjE0OURSWGZCNWVUbGFQbkpITVB1RFR1RUd1MHVQWFVpR3hFc2RwNE5R?= =?utf-8?B?Qnh1Nzh4SUhDd3ZMckVvak04NFo5TmFRN1JaT1VsMFljYWRyempkZkNCalZO?= =?utf-8?B?R2JiclNTS1kwczFMYVdiOUMxMEsyZHRsQUt1SjJJUUJCYzZLMXpTZ2htOXNv?= =?utf-8?B?RStRbUVhRU5NQjZHZE5zK282dzZqQTJKZTFaN1hTVmNybjVDdnV6bUhoQlFQ?= =?utf-8?B?N3NSM3lXNEdZZmNvcG1rSGdXNjdxVGZwOURmZFJiVUFBR0JTSWEvSktXRy9V?= =?utf-8?B?bGovaC81a2dFc1VkbHZZQVZJWnFCYnZnKzBJSGlORXFmdlBNblkrT2d4Qkk4?= =?utf-8?B?cDFzU05JMWhPblEzemxkUkVBVjNRR2o5L1FhRVBvdkFIUmdFOFhrVEtpUVBP?= =?utf-8?B?Sm52RmI5U0JCenptR1FGdmxzazNJVXE3VFBqWUQ2QkRYcmlsVE5lQnQ1YnNQ?= =?utf-8?B?WjVtR1VJR0hNYmpNOHN1NXhpUGxOc0pZaUdNMERSRU4wZzZtL3o3WDlzZU5a?= =?utf-8?B?T0RRc3JnNEtCYVBITnZMOWozZ2ZnV2w5SXhxTVRaeFo3dURlbGYzWXdQNy9a?= =?utf-8?B?WnY1L3JkRXJWQmZyOG44eU5rQXdlcXdlTC9PcnFCRk1SOVFYRFVHQ1h0T2Ry?= =?utf-8?B?ZzZ0cEtDQkN4N0hFNlBJNy9ZLzNuRXZlQnZRSXZuMm1MRDgwYmkwRk9iVkZW?= =?utf-8?B?YjZEU3JnT2s5NVJiR29WMkxRclJxNXhpZHNiQXFqdHMzV1hBcEp0Wjl4ZzRy?= =?utf-8?B?OHdnSnZkS1BnZXVLOVNmYjVjU0RSbkV3bDh3anRwWFcySHYwNUZNYm9WcUpH?= =?utf-8?B?Z09mZGFuMG5sMTJqZiswQnVzdjhnN3RaUHVtZWFyM3pXRFpWSnFRakl1cENk?= =?utf-8?B?bm81aVlCMk4xaTk1ZDR0dHNxeUdjTVFIZnJNZnBDOTUvNTVNd0J4bTdmTE0z?= =?utf-8?B?Y2sxRzZ0a1RXaHlpVU4wS0lBUzU3eGdJUzExWlVrcllhaU5PYnl2WGFBaHdw?= =?utf-8?B?SnZrcWU5cWFXY3pMdE8veTl5VXZHK01Qb2Y1RjZ3TUxLcVJmWFJqUnJiZlJn?= =?utf-8?B?UzUwWkVnMStvaU5YNWF4d2dwRUtjNEVwQzdrZ3VjcjZMT24vdmd3VTFjcC9U?= =?utf-8?B?NXJKcmFNcTlUcWZlSlAwbVBBVGtQQkFSQjdiK2JyNVdVOHlJNHpXYkMyc1hM?= =?utf-8?B?cVovdm10SDNOMmp5SWVncy9VR3M3K0djcStnYWk1YXRhbjNEZi8yQkhDVmNj?= =?utf-8?B?ZlFudmJZeko3MHlxMzdRZ1JhYVhoRVhRVGFaZTdJNmZUZVU3Y0VCeEIwb2c2?= =?utf-8?B?MklzZ1hsRlJTQ29tdWUrVDVvNDFRNFV0V2hYTlAxa0NSa0hadGFubmJ3eVJj?= =?utf-8?B?NHhVTlE3ZmN0ME55ZXlScmY5bm9ndWlQSERWVWE4Q1c4b1FlVHJBRU1Yam9K?= =?utf-8?B?ZXNXMHNuOXdrMnMyZjhVSjRvM1lzeWZZbGFCanVrSUZzdjkwVGF6YlRvdEVw?= =?utf-8?B?aWI3a0ZLZGZydnMxRUxXREVnM1YvaFpZdlNvK1VRK25yVklvaWVCTEZyenFm?= =?utf-8?B?cmI5V2o4bXNrdC9KazhJdk1ObUlKSnpKMDdrZUM3cDlmQmpIWmIrckVibkVo?= =?utf-8?B?YVREOXY3SHBEYjQ1ejBKblNWQ1JFNm4zRVJGYk9kUXJNY1ozVTBVeFpQeW9k?= =?utf-8?B?OHVHVTRFK0pRczEyUWhGS2xmclU0dXJLcTBrYlFucE9NZzBtcG5VUmJsVndn?= =?utf-8?B?VkFZM05XYUZBazhTT3hlTHlyY2phTjYzcG52ZWVTUWU4RWc1RWRiNzdZRklN?= =?utf-8?B?M0FqMy9uSDN1bHdxRnpmbXJPYTdXSThVdnBWMFJTaXNOZ01WOVhDYU43UEdC?= =?utf-8?B?ZkpBTGVzS2thQlBUMXJKMzkrM0VIZHVva1BRRE9nNm52STRaNFA1czI0Y0Zh?= =?utf-8?B?bVE9PQ==?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW4PR11MB5776.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ae206bec-0fd1-47c7-acd1-08da64ef9fb5 X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Jul 2022 16:49:16.5635 (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: eob22HSCVOc4vGJmmdBTCR00c4t6sQZv94jcYoF8/6kVYrxcayZhJeeKWQvfD4RhptuPFJO6YxAPeq6na5m6r1l1J/+NDpvtcGeUQ70Jtno= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB3225 Return-Path: rangasai.v.chaganty@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 UmV2aWV3ZWQtYnk6IFNhaSBDaGFnYW50eSA8cmFuZ2FzYWkudi5jaGFnYW50eUBpbnRlbC5jb20+ DQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBNaWNoYWVsIEt1YmFja2kgPG1p a3ViYWNrQGxpbnV4Lm1pY3Jvc29mdC5jb20+IA0KU2VudDogVHVlc2RheSwgSnVseSAxMiwgMjAy MiA0OjA0IFBNDQpUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW8NCkNjOiBDaGFnYW50eSwgUmFuZ2Fz YWkgViA8cmFuZ2FzYWkudi5jaGFnYW50eUBpbnRlbC5jb20+OyBOaSwgUmF5IDxyYXkubmlAaW50 ZWwuY29tPjsgT3JhbSwgSXNhYWMgVyA8aXNhYWMudy5vcmFtQGludGVsLmNvbT47IERlc2ltb25l LCBOYXRoYW5pZWwgTCA8bmF0aGFuaWVsLmwuZGVzaW1vbmVAaW50ZWwuY29tPg0KU3ViamVjdDog UmU6IFtlZGsyLWRldmVsXSBbZWRrMi1wbGF0Zm9ybXNdW1BBVENIIHYyIDEvMV0gSW50ZWxTaWxp Y29uUGtnL1NwaUZ2YlNlcnZpY2U6IEFkZCBzdXBwb3J0IGZvciBWYXJpYWJsZUZsYXNoSW5mb0xp Yg0KDQpSZW1pbmRlciBhYm91dCB0aGlzIHBhdGNoLg0KDQpUaGFua3MsDQpNaWNoYWVsDQoNCk9u IDcvMS8yMDIyIDEwOjM5IEFNLCBNaWNoYWVsIEt1YmFja2kgd3JvdGU6DQo+IEZyb206IE1pY2hh ZWwgS3ViYWNraSA8bWljaGFlbC5rdWJhY2tpQG1pY3Jvc29mdC5jb20+DQo+IA0KPiBSRUY6aHR0 cHM6Ly9idWd6aWxsYS50aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9pZD0zNDc4DQo+IA0KPiBB ZGRzIHN1cHBvcnQgZm9yIGdldHRpbmcgdGhlIHZhcmlhYmxlIGZsYXNoIGluZm9ybWF0aW9uIGZy b20gDQo+IFZhcmlhYmxlRmxhc2hJbmZvTGliLiBUaGlzIGxpYnJhcnkgYWJzdHJhY3RzIHRoZSBz b3VyY2Ugb2YgZmxhc2ggDQo+IGluZm9ybWF0aW9uIHNvIHBsYXRmb3JtcyBjb3VsZCBleHBlY3Qg dGhlIGluZm9ybWF0aW9uIHRvIGNvbWUgZnJvbSBhIA0KPiBkaWZmZXJlbnQgc291cmNlIGluIHRo ZSBsaWJyYXJ5IGltcGxlbWVudGF0aW9uIHRoYW4gdGhlIFBDRHMgDQo+IHByZXZpb3VzbHkgdXNl ZCBhcyB0aGUgaW5mb3JtYXRpb24gc291cmNlIGluIHRoaXMgbW9kdWxlLg0KPiANCj4gSW4gcGFy dGljdWxhciwgdGhlIGxpYnJhcnkgYWxsb3dzIFN0YW5kYWxvbmUgTU0gcGxhdGZvcm1zIHRvIA0K PiBkeW5hbWljYWxseSBwYXNzIHRoZSBpbmZvcm1hdGlvbiBiZWhpbmQgdGhlIGxpYnJhcnkgQVBJ Lg0KPiANCj4gQ2M6IFJhbmdhc2FpIFYgQ2hhZ2FudHkgPHJhbmdhc2FpLnYuY2hhZ2FudHlAaW50 ZWwuY29tPg0KPiBDYzogUmF5IE5pIDxyYXkubmlAaW50ZWwuY29tPg0KPiBDYzogSXNhYWMgT3Jh bSA8aXNhYWMudy5vcmFtQGludGVsLmNvbT4NCj4gQ2M6IE5hdGUgRGVTaW1vbmUgPG5hdGhhbmll bC5sLmRlc2ltb25lQGludGVsLmNvbT4NCj4gU2lnbmVkLW9mZi1ieTogTWljaGFlbCBLdWJhY2tp IDxtaWNoYWVsLmt1YmFja2lAbWljcm9zb2Z0LmNvbT4NCj4gLS0tDQo+IA0KPiBOb3RlczoNCj4g ICAgICBWMiBjaGFuZ2VzOg0KPiAgICAgIA0KPiAgICAgIDEuIFVwZGF0ZWQgdGhlIGJ1ZmZlciB0 aGF0IGlzIHJldHVybmVkIGZyb20NCj4gICAgICAgICBHZXRGdmJJbmZvKCkgdG8gYmUgYWxsb2Nh dGVkIGZyb20gcG9vbC4NCj4gICAgICAyLiBVcGRhdGVkIGNhbGxzIHRvIHRoYXQgZnVuY3Rpb24g aW4gRnZiSW5pdGlhbGl6ZSgpDQo+ICAgICAgICAgdG8gZnJlZSB0aGUgbmV3IGJ1ZmZlciBhZnRl ciB1c2FnZS4NCj4gICAgICAzLiBVcGRhdGVkIHRoZSBtdWx0aXBsaWNhdGlvbiBvcGVyYXRpb24g dG8gZGV0ZXJtaW5lDQo+ICAgICAgICAgdGhlIEZWIGxlbmd0aCB0byB1c2Ugc2FmZSBtdWx0aXBs aWNhdGlvbiBpbg0KPiAgICAgICAgIEdlbmVyYXRlTnZTdG9yYWdlRnZiTWVkaWFJbmZvKCkuDQo+ IA0KPiAgIFNpbGljb24vSW50ZWwvSW50ZWxTaWxpY29uUGtnL0ZlYXR1cmUvRmxhc2gvU3BpRnZi U2VydmljZS9GdmJJbmZvLmMgICAgICAgICAgICAgICAgICAgICB8IDEyOCArKysrKysrKysrKysr LS0tLS0tLQ0KPiAgIFNpbGljb24vSW50ZWwvSW50ZWxTaWxpY29uUGtnL0ZlYXR1cmUvRmxhc2gv U3BpRnZiU2VydmljZS9TcGlGdmJTZXJ2aWNlQ29tbW9uLmMgICAgICAgICB8ICA5MyArKysrKysr KysrKystLQ0KPiAgIFNpbGljb24vSW50ZWwvSW50ZWxTaWxpY29uUGtnL0ZlYXR1cmUvRmxhc2gv U3BpRnZiU2VydmljZS9TcGlGdmJTZXJ2aWNlTW0uYyAgICAgICAgICAgICB8ICA0OSArKysrKyst LQ0KPiAgIFNpbGljb24vSW50ZWwvSW50ZWxTaWxpY29uUGtnL0ZlYXR1cmUvRmxhc2gvU3BpRnZi U2VydmljZS9TcGlGdmJTZXJ2aWNlQ29tbW9uLmggICAgICAgICB8ICAxOCArKy0NCj4gICBTaWxp Y29uL0ludGVsL0ludGVsU2lsaWNvblBrZy9GZWF0dXJlL0ZsYXNoL1NwaUZ2YlNlcnZpY2UvU3Bp RnZiU2VydmljZVNtbS5pbmYgICAgICAgICAgfCAgIDYgKy0NCj4gICBTaWxpY29uL0ludGVsL0lu dGVsU2lsaWNvblBrZy9GZWF0dXJlL0ZsYXNoL1NwaUZ2YlNlcnZpY2UvU3BpRnZiU2VydmljZVN0 YW5kYWxvbmVNbS5pbmYgfCAgIDYgKy0NCj4gICBTaWxpY29uL0ludGVsL0ludGVsU2lsaWNvblBr Zy9JbnRlbFNpbGljb25Qa2cuZHNjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgIDcgKysNCj4gICA3IGZpbGVzIGNoYW5nZWQsIDI0MyBpbnNlcnRpb25zKCspLCA2NCBk ZWxldGlvbnMoLSkNCj4gDQo+IGRpZmYgLS1naXQgDQo+IGEvU2lsaWNvbi9JbnRlbC9JbnRlbFNp bGljb25Qa2cvRmVhdHVyZS9GbGFzaC9TcGlGdmJTZXJ2aWNlL0Z2YkluZm8uYyANCj4gYi9TaWxp Y29uL0ludGVsL0ludGVsU2lsaWNvblBrZy9GZWF0dXJlL0ZsYXNoL1NwaUZ2YlNlcnZpY2UvRnZi SW5mby5jDQo+IGluZGV4IDdmMjY3OGZhOWU1YS4uNjM0YTQ0MjE4YzdhIDEwMDY0NA0KPiAtLS0g DQo+IGEvU2lsaWNvbi9JbnRlbC9JbnRlbFNpbGljb25Qa2cvRmVhdHVyZS9GbGFzaC9TcGlGdmJT ZXJ2aWNlL0Z2YkluZm8uYw0KPiArKysgYi9TaWxpY29uL0ludGVsL0ludGVsU2lsaWNvblBrZy9G ZWF0dXJlL0ZsYXNoL1NwaUZ2YlNlcnZpY2UvRnZiSW5mDQo+ICsrKyBvLmMNCj4gQEAgLTMsNiAr Myw3IEBADQo+ICAgICBUaGVzZSBkYXRhIGlzIGludGVudCB0byBkZWNvdXBsZSBGVkIgZHJpdmVy IHdpdGggRlYgaGVhZGVyLg0KPiAgIA0KPiAgIENvcHlyaWdodCAoYykgMjAxNywgSW50ZWwgQ29y cG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArQ29weXJpZ2h0IChjKSBNaWNy b3NvZnQgQ29ycG9yYXRpb24uPEJSPg0KPiAgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0Qt Mi1DbGF1c2UtUGF0ZW50DQo+ICAgDQo+ICAgKiovDQo+IEBAIC0xMSw1MSArMTIsOTIgQEAgU1BE WC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gICANCj4gICAjZGVm aW5lIEZJUk1XQVJFX0JMT0NLX1NJWkUgICAgICAgICAweDEwMDAwDQo+ICAgI2RlZmluZSBGVkJf TUVESUFfQkxPQ0tfU0laRSAgICAgICAgRklSTVdBUkVfQkxPQ0tfU0laRQ0KPiAtDQo+IC0jZGVm aW5lIE5WX1NUT1JBR0VfQkFTRV9BRERSRVNTICAgICBGaXhlZFBjZEdldDMyKFBjZEZsYXNoTnZT dG9yYWdlVmFyaWFibGVCYXNlKQ0KPiAtI2RlZmluZSBTWVNURU1fTlZfQkxPQ0tfTlVNICAgICAg ICAgKChGaXhlZFBjZEdldDMyKFBjZEZsYXNoTnZTdG9yYWdlVmFyaWFibGVTaXplKSsgRml4ZWRQ Y2RHZXQzMihQY2RGbGFzaE52U3RvcmFnZUZ0d1dvcmtpbmdTaXplKSArIEZpeGVkUGNkR2V0MzIo UGNkRmxhc2hOdlN0b3JhZ2VGdHdTcGFyZVNpemUpKS8gRlZCX01FRElBX0JMT0NLX1NJWkUpDQo+ IC0NCj4gICB0eXBlZGVmIHN0cnVjdCB7DQo+ICAgICBFRklfUEhZU0lDQUxfQUREUkVTUyAgICAg ICAgQmFzZUFkZHJlc3M7DQo+ICAgICBFRklfRklSTVdBUkVfVk9MVU1FX0hFQURFUiAgRnZiSW5m bzsNCj4gICAgIEVGSV9GVl9CTE9DS19NQVBfRU5UUlkgICAgICBFbmRbMV07DQo+ICAgfSBFRklf RlZCMl9NRURJQV9JTkZPOw0KPiAgIA0KPiAtLy8NCj4gLS8vIFRoaXMgZGF0YSBzdHJ1Y3R1cmUg Y29udGFpbnMgYSB0ZW1wbGF0ZSBvZiBhbGwgY29ycmVjdCBGViBoZWFkZXJzLCANCj4gd2hpY2gg aXMgdXNlZCB0byByZXN0b3JlIC0vLyBGdiBoZWFkZXIgaWYgaXQncyBjb3JydXB0ZWQuDQo+IC0v Lw0KPiAtRUZJX0ZWQjJfTUVESUFfSU5GTyBtUGxhdGZvcm1GdmJNZWRpYUluZm9bXSA9IHsNCj4g LSAgLy8NCj4gLSAgLy8gU3lzdGVuIE52U3RvcmFnZSBGVkINCj4gLSAgLy8NCj4gLSAgew0KPiAt ICAgIE5WX1NUT1JBR0VfQkFTRV9BRERSRVNTLA0KPiAtICAgIHsNCj4gLSAgICAgIHswLH0sIC8v WmVyb1ZlY3RvclsxNl0NCj4gLSAgICAgIEVGSV9TWVNURU1fTlZfREFUQV9GVl9HVUlELA0KPiAt ICAgICAgRlZCX01FRElBX0JMT0NLX1NJWkUgKiBTWVNURU1fTlZfQkxPQ0tfTlVNLA0KPiAtICAg ICAgRUZJX0ZWSF9TSUdOQVRVUkUsDQo+IC0gICAgICAweDAwMDRmZWZmLCAvLyBjaGVjayBNZGVQ a2cvSW5jbHVkZS9QaS9QaUZpcm13YXJlVm9sdW1lLmggZm9yIGRldGFpbHMgb24gRUZJX0ZWQl9B VFRSSUJVVEVTXzINCj4gLSAgICAgIHNpemVvZiAoRUZJX0ZJUk1XQVJFX1ZPTFVNRV9IRUFERVIp ICsgc2l6ZW9mIChFRklfRlZfQkxPQ0tfTUFQX0VOVFJZKSwNCj4gLSAgICAgIDAsICAgIC8vQ2hl Y2tTdW0gd2hpY2ggd2lsbCBiZSBjYWx1Y2F0ZWQgZHluYW1pY2FsbHkuDQo+IC0gICAgICAwLCAg ICAvL0V4dEhlYWRlck9mZnNldA0KPiAtICAgICAgezAsfSwgLy9SZXNlcnZlZFsxXQ0KPiAtICAg ICAgMiwgICAgLy9SZXZpc2lvbg0KPiAtICAgICAgew0KPiAtICAgICAgICB7DQo+IC0gICAgICAg ICAgU1lTVEVNX05WX0JMT0NLX05VTSwNCj4gLSAgICAgICAgICBGVkJfTUVESUFfQkxPQ0tfU0la RSwNCj4gLSAgICAgICAgfQ0KPiAtICAgICAgfQ0KPiAtICAgIH0sDQo+IC0gICAgew0KPiAtICAg ICAgew0KPiAtICAgICAgICAwLA0KPiAtICAgICAgICAwDQo+IC0gICAgICB9DQo+IC0gICAgfQ0K PiArLyoqDQo+ICsgIFJldHVybnMgRlZCIG1lZGlhIGluZm9ybWF0aW9uIGZvciBOViB2YXJpYWJs ZSBzdG9yYWdlLg0KPiArDQo+ICsgIEByZXR1cm4gICAgICAgRnZiTWVkaWFJbmZvICAgICAgICAg IEEgcG9pbnRlciB0byBhbiBpbnN0YW5jZSBvZiBGVkIgbWVkaWEgaW5mbyBwcm9kdWNlZCBieSB0 aGlzIGZ1bmN0aW9uLg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBU aGUgYnVmZmVyIGlzIGFsbG9jYXRlZCBpbnRlcm5hbGx5IHRvIHRoaXMgZnVuY3Rpb24gYW5kIGl0 IGlzIHRoZSBjYWxsZXIncw0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICByZXNwb25zaWJpbGl0eSB0byBmcmVlIHRoZSANCj4gKyBtZW1vcnkNCj4gKw0KPiArKiovDQo+ ICt0eXBlZGVmDQo+ICtFRklfU1RBVFVTDQo+ICsoKkZWQl9NRURJQV9JTkZPX0dFTkVSQVRPUiko DQo+ICsgIE9VVCBFRklfRlZCMl9NRURJQV9JTkZPICAgICAqRnZiTWVkaWFJbmZvDQo+ICsgICk7 DQo+ICsNCj4gKy8qKg0KPiArICBSZXR1cm5zIEZWQiBtZWRpYSBpbmZvcm1hdGlvbiBmb3IgTlYg dmFyaWFibGUgc3RvcmFnZS4NCj4gKw0KPiArICBAcGFyYW1bb3V0XSAgIEZ2Yk1lZGlhSW5mbyAg ICAgICAgICBBIHBvaW50ZXIgdG8gYW4gaW5zdGFuY2Ugb2YgRlZCIG1lZGlhIGluZm8gcHJvZHVj ZWQgYnkgdGhpcyBmdW5jdGlvbi4NCj4gKw0KPiArICBAcmV0dmFsICAgICAgIEVGSV9TVUNDRVNT ICAgICAgICAgICBBIHN0cnVjdHVyZSB3YXMgc3VjY2Vzc2Z1bGx5IHdyaXR0ZW4gdG8gdGhlIEZ2 Yk1lZGlhSW5mbyBidWZmZXIuDQo+ICsgIEByZXR2YWwgICAgICAgRUZJX0lOVkFMSURfUEFSQU1F VEVSIFRoZSBGdmJNZWRpYUluZm8gcGFyYW1ldGVyIGlzIE5VTEwuDQo+ICsgIEByZXR2YWwgICAg ICAgRUZJX1VOU1VQUE9SVEVEICAgICAgIEFuIGVycm9yIG9jY3VycmVkIHJldHJpZXZpbmcgdmFy aWFibGUgRlYgaW5mb3JtYXRpb24uDQo+ICsgIEByZXR2YWwgICAgICAgRUZJX0JBRF9CVUZGRVJf U0laRSAgIEFuIG92ZXJmbG93IG9yIHVuZGVyZmxvdyBvZiB0aGUgRlYgYnVmZmVyIG9jY3VycmVk IHdpdGggdGhlIGluZm9ybWF0aW9uIGZvdW5kLg0KPiArDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMN Cj4gK0dlbmVyYXRlTnZTdG9yYWdlRnZiTWVkaWFJbmZvICgNCj4gKyAgT1VUIEVGSV9GVkIyX01F RElBX0lORk8gICAgICpGdmJNZWRpYUluZm8NCj4gKyAgKQ0KPiArew0KPiArICBFRklfU1RBVFVT ICAgICAgICAgICAgICAgICAgU3RhdHVzOw0KPiArICBVSU5UMzIgICAgICAgICAgICAgICAgICAg ICAgTnZCbG9ja051bTsNCj4gKyAgVUlOVDMyICAgICAgICAgICAgICAgICAgICAgIFRvdGFsTnZW YXJpYWJsZVN0b3JhZ2VTaXplOw0KPiArICBFRklfUEhZU0lDQUxfQUREUkVTUyAgICAgICAgTnZT dG9yYWdlQmFzZUFkZHJlc3M7DQo+ICsgIEVGSV9GSVJNV0FSRV9WT0xVTUVfSEVBREVSICBGdmJJ bmZvID0gew0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgezAs fSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vWmVyb1ZlY3RvclsxNl0NCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVGSV9TWVNURU1fTlZf REFUQV9GVl9HVUlELCAgICAgICAgICAgICAvL0ZpbGVTeXN0ZW1HdWlkDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgLy9Gdkxlbmd0aA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgRUZJX0ZWSF9TSUdOQVRVUkUsICAgICAgICAgICAgICAgICAgICAgIC8v U2lnbmF0dXJlDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAw eDAwMDRmZWZmLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9BdHRyaWJ1dGVzDQo+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YgKEVGSV9GSVJN V0FSRV9WT0xVTUVfSEVBREVSKSArICAgLy9IZWFkZXJMZW5ndGgNCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mIChFRklfRlZfQkxPQ0tfTUFQX0VO VFJZKSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL0NoZWNrc3VtDQo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgLy9FeHRIZWFkZXJPZmZzZXQNCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHswLH0sICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAvL1Jlc2VydmVkWzFdDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAyLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9SZXZp c2lvbg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vQmxvY2tNYXBbMV0NCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgezAsMH0NCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB9Ow0KPiArDQo+ICsgIGlmIChGdmJNZWRpYUluZm8gPT0g TlVMTCkgew0KPiArICAgIHJldHVybiBFRklfSU5WQUxJRF9QQVJBTUVURVI7DQo+ICAgICB9DQo+ ICsNCj4gKyAgWmVyb01lbSAoRnZiTWVkaWFJbmZvLCBzaXplb2YgKCpGdmJNZWRpYUluZm8pKTsN Cj4gKw0KPiArICBHZXRWYXJpYWJsZUZ2SW5mbyAoJk52U3RvcmFnZUJhc2VBZGRyZXNzLCANCj4g KyAmVG90YWxOdlZhcmlhYmxlU3RvcmFnZVNpemUpOyAgaWYgKChOdlN0b3JhZ2VCYXNlQWRkcmVz cyA9PSAwKSB8fCAoVG90YWxOdlZhcmlhYmxlU3RvcmFnZVNpemUgPT0gMCkpIHsNCj4gKyAgICBy ZXR1cm4gRUZJX1VOU1VQUE9SVEVEOw0KPiArICB9DQo+ICsNCj4gKyAgTnZCbG9ja051bSA9IFRv dGFsTnZWYXJpYWJsZVN0b3JhZ2VTaXplIC8gRlZCX01FRElBX0JMT0NLX1NJWkU7DQo+ICsNCj4g KyAgU3RhdHVzID0gU2FmZVVpbnQ2NE11bHQgKChVSU5UNjQpTnZCbG9ja051bSwgRlZCX01FRElB X0JMT0NLX1NJWkUsIA0KPiArICZGdmJJbmZvLkZ2TGVuZ3RoKTsgIGlmIChFRklfRVJST1IgKFN0 YXR1cykpIHsNCj4gKyAgICByZXR1cm4gRUZJX0JBRF9CVUZGRVJfU0laRTsNCj4gKyAgfQ0KPiAr DQo+ICsgIEZ2YkluZm8uQmxvY2tNYXBbMF0uTnVtQmxvY2tzID0gTnZCbG9ja051bTsgIA0KPiAr IEZ2YkluZm8uQmxvY2tNYXBbMF0uTGVuZ3RoID0gRlZCX01FRElBX0JMT0NLX1NJWkU7DQo+ICsN Cj4gKyAgRnZiTWVkaWFJbmZvLT5CYXNlQWRkcmVzcyA9IE52U3RvcmFnZUJhc2VBZGRyZXNzOyAg Q29weU1lbSANCj4gKyAoJkZ2Yk1lZGlhSW5mby0+RnZiSW5mbywgJkZ2YkluZm8sIHNpemVvZiAo RnZiSW5mbykpOw0KPiArDQo+ICsgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4gK30NCj4gKw0KPiAr RlZCX01FRElBX0lORk9fR0VORVJBVE9SIG1GdmJNZWRpYUluZm9HZW5lcmF0b3JzW10gPSB7DQo+ ICsgIEdlbmVyYXRlTnZTdG9yYWdlRnZiTWVkaWFJbmZvDQo+ICAgfTsNCj4gICANCj4gICBFRklf U1RBVFVTDQo+IEBAIC02NCwxMiArMTA2LDE2IEBAIEdldEZ2YkluZm8gKA0KPiAgICAgT1VUIEVG SV9GSVJNV0FSRV9WT0xVTUVfSEVBREVSICAgKipGdmJJbmZvDQo+ICAgICApDQo+ICAgew0KPiAr ICBFRklfU1RBVFVTICAgICAgICAgICAgICAgICAgU3RhdHVzOw0KPiArICBFRklfRlZCMl9NRURJ QV9JTkZPICAgICAgICAgRnZiTWVkaWFJbmZvOw0KPiAgICAgVUlOVE4gICAgICAgICAgICAgICAg ICAgICAgIEluZGV4Ow0KPiAgICAgRUZJX0ZJUk1XQVJFX1ZPTFVNRV9IRUFERVIgICpGdkhlYWRl cjsNCj4gICANCj4gLSAgZm9yIChJbmRleCA9IDA7IEluZGV4IDwgc2l6ZW9mIChtUGxhdGZvcm1G dmJNZWRpYUluZm8pIC8gc2l6ZW9mIChFRklfRlZCMl9NRURJQV9JTkZPKTsgSW5kZXgrKykgew0K PiAtICAgIGlmIChtUGxhdGZvcm1GdmJNZWRpYUluZm9bSW5kZXhdLkJhc2VBZGRyZXNzID09IEZ2 QmFzZUFkZHJlc3MpIHsNCj4gLSAgICAgIEZ2SGVhZGVyID0gJm1QbGF0Zm9ybUZ2Yk1lZGlhSW5m b1tJbmRleF0uRnZiSW5mbzsNCj4gKyAgZm9yIChJbmRleCA9IDA7IEluZGV4IDwgQVJSQVlfU0la RSAobUZ2Yk1lZGlhSW5mb0dlbmVyYXRvcnMpOyBJbmRleCsrKSB7DQo+ICsgICAgU3RhdHVzID0g bUZ2Yk1lZGlhSW5mb0dlbmVyYXRvcnNbSW5kZXhdKCZGdmJNZWRpYUluZm8pOw0KPiArICAgIEFT U0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQo+ICsgICAgaWYgKCFFRklfRVJST1IgKFN0YXR1cykg JiYgKEZ2Yk1lZGlhSW5mby5CYXNlQWRkcmVzcyA9PSBGdkJhc2VBZGRyZXNzKSkgew0KPiArICAg ICAgRnZIZWFkZXIgPSBBbGxvY2F0ZUNvcHlQb29sIChzaXplb2YgDQo+ICsgKEVGSV9GSVJNV0FS RV9WT0xVTUVfSEVBREVSKSwgJkZ2Yk1lZGlhSW5mby5GdmJJbmZvKTsNCj4gICANCj4gICAgICAg ICAvLw0KPiAgICAgICAgIC8vIFVwZGF0ZSB0aGUgY2hlY2tzdW0gdmFsdWUgb2YgRlYgaGVhZGVy Lg0KPiBkaWZmIC0tZ2l0IA0KPiBhL1NpbGljb24vSW50ZWwvSW50ZWxTaWxpY29uUGtnL0ZlYXR1 cmUvRmxhc2gvU3BpRnZiU2VydmljZS9TcGlGdmJTZXJ2DQo+IGljZUNvbW1vbi5jIA0KPiBiL1Np bGljb24vSW50ZWwvSW50ZWxTaWxpY29uUGtnL0ZlYXR1cmUvRmxhc2gvU3BpRnZiU2VydmljZS9T cGlGdmJTZXJ2DQo+IGljZUNvbW1vbi5jIGluZGV4IGRhYjgxOGU5ODA4Ny4uOTQyYWJmOTVhNjRm IDEwMDY0NA0KPiAtLS0gDQo+IGEvU2lsaWNvbi9JbnRlbC9JbnRlbFNpbGljb25Qa2cvRmVhdHVy ZS9GbGFzaC9TcGlGdmJTZXJ2aWNlL1NwaUZ2YlNlcnYNCj4gaWNlQ29tbW9uLmMNCj4gKysrIGIv U2lsaWNvbi9JbnRlbC9JbnRlbFNpbGljb25Qa2cvRmVhdHVyZS9GbGFzaC9TcGlGdmJTZXJ2aWNl L1NwaUZ2Yg0KPiArKysgU2VydmljZUNvbW1vbi5jDQo+IEBAIC0zLDYgKzMsNyBAQA0KPiAgICAg d2hpY2ggYXJlIGNvbXBsaWFudCB3aXRoIHRoZSBJbnRlbChSKSBTZXJpYWwgRmxhc2ggSW50ZXJm YWNlIENvbXBhdGliaWxpdHkgU3BlY2lmaWNhdGlvbi4NCj4gICANCj4gICBDb3B5cmlnaHQgKGMp IDIwMTcsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gK0Nv cHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLjxCUj4NCj4gICBTUERYLUxpY2Vuc2Ut SWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiAgIA0KPiAgICoqLw0KPiBAQCAtMjUs MTIgKzI2LDYgQEAgRlZfSU5GTyBtUGxhdGZvcm1GdkJhc2VBZGRyZXNzW10gPSB7DQo+ICAgICB7 MCwgMH0NCj4gICB9Ow0KPiAgIA0KPiAtRlZfSU5GTyBtUGxhdGZvcm1EZWZhdWx0QmFzZUFkZHJl c3NbXSA9IHsNCj4gLSAgezAsIDB9LCAvLyB7Rml4ZWRQY2RHZXQzMihQY2RGbGFzaE52U3RvcmFn ZVZhcmlhYmxlQmFzZSksIA0KPiBGaXhlZFBjZEdldDMyKFBjZEZsYXNoTnZTdG9yYWdlVmFyaWFi bGVTaXplKX0sDQo+IC0gIHswLCAwfSwgLy8ge0ZpeGVkUGNkR2V0MzIoUGNkRmxhc2hNaWNyb2Nv ZGVGdkJhc2UpLCANCj4gRml4ZWRQY2RHZXQzMihQY2RGbGFzaE1pY3JvY29kZUZ2U2l6ZSl9LA0K PiAtICB7MCwgMH0NCj4gLX07DQo+IC0NCj4gICBGVl9NRU1NQVBfREVWSUNFX1BBVEggbUZ2TWVt bWFwRGV2aWNlUGF0aFRlbXBsYXRlID0gew0KPiAgICAgew0KPiAgICAgICB7DQo+IEBAIC01MzAs NiArNTI1LDg1IEBAIEZ2YlNldFZvbHVtZUF0dHJpYnV0ZXMgKA0KPiAgICAgcmV0dXJuIEVGSV9T VUNDRVNTOw0KPiAgIH0NCj4gICANCj4gKy8qKg0KPiArICBHZXQgdGhlIHRvdGFsIHNpemUgb2Yg dGhlIGZpcm13YXJlIHZvbHVtZSBvbiBmbGFzaCB1c2VkIGZvciB2YXJpYWJsZSBzdG9yZSBvcGVy YXRpb25zLg0KPiArDQo+ICsgIEBwYXJhbVtvdXRdIEJhc2VBZGRyZXNzICAgICAgICAgQmFzZSBh ZGRyZXNzIG9mIHRoZSB2YXJpYWJsZSBzdG9yZSBmaXJtd2FyZSB2b2x1bWUuDQo+ICsgIEBwYXJh bVtvdXRdIExlbmd0aCAgICAgICAgICAgICAgTGVuZ3RoIGluIGJ5dGVzIG9mIHRoZSBmaXJtd2Fy ZSB2b2x1bWUgdXNlZCBmb3IgdmFyaWFibGUgc3RvcmUgb3BlcmF0aW9ucy4NCj4gKw0KPiArKiov DQo+ICtWT0lEDQo+ICtHZXRWYXJpYWJsZUZ2SW5mbyAoDQo+ICsgIE9VVCBFRklfUEhZU0lDQUxf QUREUkVTUyAgICAgICpCYXNlQWRkcmVzcywNCj4gKyAgT1VUIFVJTlQzMiAgICAgICAgICAgICAg ICAgICAgKkxlbmd0aA0KPiArICApDQo+ICt7DQo+ICsgIEVGSV9TVEFUVVMgICAgICAgICAgICAg ICAgICAgIFN0YXR1czsNCj4gKyAgRUZJX1BIWVNJQ0FMX0FERFJFU1MgICAgICAgICAgTnZCYXNl QWRkcmVzczsNCj4gKyAgRUZJX1BIWVNJQ0FMX0FERFJFU1MgICAgICAgICAgTnZWYXJpYWJsZUJh c2VBZGRyZXNzOw0KPiArICBVSU5UNjQgICAgICAgICAgICAgICAgICAgICAgICBMZW5ndGg2NDsN Cj4gKyAgVUlOVDMyICAgICAgICAgICAgICAgICAgICAgICAgTnZTdG9yZUxlbmd0aDsNCj4gKyAg VUlOVDMyICAgICAgICAgICAgICAgICAgICAgICAgRnR3U3BhcmVMZW5ndGg7DQo+ICsgIFVJTlQz MiAgICAgICAgICAgICAgICAgICAgICAgIEZ0d1dvcmtpbmdMZW5ndGg7DQo+ICsgIFVJTlQzMiAg ICAgICAgICAgICAgICAgICAgICAgIFRvdGFsTGVuZ3RoOw0KPiArDQo+ICsgIFRvdGFsTGVuZ3Ro ID0gMDsNCj4gKyAgU3RhdHVzID0gRUZJX1NVQ0NFU1M7DQo+ICsNCj4gKyAgaWYgKChCYXNlQWRk cmVzcyA9PSBOVUxMKSB8fCAoTGVuZ3RoID09IE5VTEwpKSB7DQo+ICsgICAgQVNTRVJUICgoQmFz ZUFkZHJlc3MgIT0gTlVMTCkgJiYgKExlbmd0aCAhPSBOVUxMKSk7DQo+ICsgICAgcmV0dXJuOw0K PiArICB9DQo+ICsgICpCYXNlQWRkcmVzcyA9IDA7DQo+ICsgICpMZW5ndGggPSAwOw0KPiArDQo+ ICsgIFN0YXR1cyA9IEdldFZhcmlhYmxlRmxhc2hOdlN0b3JhZ2VJbmZvICgmTnZCYXNlQWRkcmVz cywgJkxlbmd0aDY0KTsgIA0KPiArIGlmICghRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAg TnZWYXJpYWJsZUJhc2VBZGRyZXNzID0gTnZCYXNlQWRkcmVzczsNCj4gKyAgICAvLyBTdGF5IHdp dGhpbiB0aGUgY3VycmVudCBVSU5UMzIgc2l6ZSBhc3N1bXB0aW9ucyBpbiB0aGUgdmFyaWFibGUg c3RhY2suDQo+ICsgICAgU3RhdHVzID0gU2FmZVVpbnQ2NFRvVWludDMyIChMZW5ndGg2NCwgJk52 U3RvcmVMZW5ndGgpOyAgfSAgaWYgDQo+ICsgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAg IEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQo+ICsgICAgcmV0dXJuOw0KPiArICB9DQo+ICsN Cj4gKyAgU3RhdHVzID0gR2V0VmFyaWFibGVGbGFzaEZ0d1NwYXJlSW5mbyAoJk52QmFzZUFkZHJl c3MsICZMZW5ndGg2NCk7ICANCj4gKyBpZiAoIUVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAg IC8vIFN0YXkgd2l0aGluIHRoZSBjdXJyZW50IFVJTlQzMiBzaXplIGFzc3VtcHRpb25zIGluIHRo ZSB2YXJpYWJsZSBzdGFjay4NCj4gKyAgICBTdGF0dXMgPSBTYWZlVWludDY0VG9VaW50MzIgKExl bmd0aDY0LCAmRnR3U3BhcmVMZW5ndGgpOyAgfSAgaWYgDQo+ICsgKEVGSV9FUlJPUiAoU3RhdHVz KSkgew0KPiArICAgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQo+ICsgICAgcmV0dXJuOw0K PiArICB9DQo+ICsNCj4gKyAgU3RhdHVzID0gR2V0VmFyaWFibGVGbGFzaEZ0d1dvcmtpbmdJbmZv ICgmTnZCYXNlQWRkcmVzcywgDQo+ICsgJkxlbmd0aDY0KTsgIGlmICghRUZJX0VSUk9SIChTdGF0 dXMpKSB7DQo+ICsgICAgLy8gU3RheSB3aXRoaW4gdGhlIGN1cnJlbnQgVUlOVDMyIHNpemUgYXNz dW1wdGlvbnMgaW4gdGhlIHZhcmlhYmxlIHN0YWNrLg0KPiArICAgIFN0YXR1cyA9IFNhZmVVaW50 NjRUb1VpbnQzMiAoTGVuZ3RoNjQsICZGdHdXb3JraW5nTGVuZ3RoKTsgIH0gIGlmIA0KPiArIChF RklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAgICBBU1NFUlRfRUZJX0VSUk9SIChTdGF0dXMpOw0K PiArICAgIHJldHVybjsNCj4gKyAgfQ0KPiArDQo+ICsgIFN0YXR1cyA9IFNhZmVVaW50MzJBZGQg KE52U3RvcmVMZW5ndGgsIEZ0d1NwYXJlTGVuZ3RoLCANCj4gKyAmVG90YWxMZW5ndGgpOyAgaWYg KEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7 DQo+ICsgICAgcmV0dXJuOw0KPiArICB9DQo+ICsNCj4gKyAgU3RhdHVzID0gU2FmZVVpbnQzMkFk ZCAoVG90YWxMZW5ndGgsIEZ0d1dvcmtpbmdMZW5ndGgsIA0KPiArICZUb3RhbExlbmd0aCk7ICBp ZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAgQVNTRVJUX0VGSV9FUlJPUiAoU3RhdHVz KTsNCj4gKyAgICByZXR1cm47DQo+ICsgIH0NCj4gKw0KPiArICAqQmFzZUFkZHJlc3MgPSBOdlZh cmlhYmxlQmFzZUFkZHJlc3M7DQo+ICsgICpMZW5ndGggPSBUb3RhbExlbmd0aDsNCj4gK30NCj4g Kw0KPiAgIC8qKg0KPiAgICAgQ2hlY2sgdGhlIGludGVncml0eSBvZiBmaXJtd2FyZSB2b2x1bWUg aGVhZGVyDQo+ICAgDQo+IEBAIC01NDUsNyArNjE5LDEyIEBAIElzRnZIZWFkZXJWYWxpZCAoDQo+ ICAgICBJTiBDT05TVCBFRklfRklSTVdBUkVfVk9MVU1FX0hFQURFUiAgICAqRnZIZWFkZXINCj4g ICAgICkNCj4gICB7DQo+IC0gIGlmIChGdkJhc2UgPT0gUGNkR2V0MzIoUGNkRmxhc2hOdlN0b3Jh Z2VWYXJpYWJsZUJhc2UpKSB7DQo+ICsgIEVGSV9QSFlTSUNBTF9BRERSRVNTICAgIE52U3RvcmFn ZUZ2QmFzZUFkZHJlc3M7DQo+ICsgIFVJTlQzMiAgICAgICAgICAgICAgICAgIE52U3RvcmFnZVNp emU7DQo+ICsNCj4gKyAgR2V0VmFyaWFibGVGdkluZm8gKCZOdlN0b3JhZ2VGdkJhc2VBZGRyZXNz LCAmTnZTdG9yYWdlU2l6ZSk7DQo+ICsNCj4gKyAgaWYgKEZ2QmFzZSA9PSBOdlN0b3JhZ2VGdkJh c2VBZGRyZXNzKSB7DQo+ICAgICAgIGlmIChDb21wYXJlTWVtICgmRnZIZWFkZXItPkZpbGVTeXN0 ZW1HdWlkLCAmZ0VmaVN5c3RlbU52RGF0YUZ2R3VpZCwgc2l6ZW9mKEVGSV9HVUlEKSkgIT0gMCAp IHsNCj4gICAgICAgICByZXR1cm4gRkFMU0U7DQo+ICAgICAgIH0NCj4gZGlmZiAtLWdpdCANCj4g YS9TaWxpY29uL0ludGVsL0ludGVsU2lsaWNvblBrZy9GZWF0dXJlL0ZsYXNoL1NwaUZ2YlNlcnZp Y2UvU3BpRnZiU2Vydg0KPiBpY2VNbS5jIA0KPiBiL1NpbGljb24vSW50ZWwvSW50ZWxTaWxpY29u UGtnL0ZlYXR1cmUvRmxhc2gvU3BpRnZiU2VydmljZS9TcGlGdmJTZXJ2DQo+IGljZU1tLmMgaW5k ZXggNDJhMDgyOGM2ZmFlLi42YjRiY2RjZmUzYzQgMTAwNjQ0DQo+IC0tLSANCj4gYS9TaWxpY29u L0ludGVsL0ludGVsU2lsaWNvblBrZy9GZWF0dXJlL0ZsYXNoL1NwaUZ2YlNlcnZpY2UvU3BpRnZi U2Vydg0KPiBpY2VNbS5jDQo+ICsrKyBiL1NpbGljb24vSW50ZWwvSW50ZWxTaWxpY29uUGtnL0Zl YXR1cmUvRmxhc2gvU3BpRnZiU2VydmljZS9TcGlGdmINCj4gKysrIFNlcnZpY2VNbS5jDQo+IEBA IC0xMTMsMTUgKzExMywzMSBAQCBGdmJJbml0aWFsaXplICgNCj4gICAgIFVJTlQzMiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgTWF4TGJhU2l6ZTsNCj4gICAgIFVJTlQzMiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgQnl0ZXNXcml0dGVuOw0KPiAgICAgVUlOVE4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBCeXRlc0VyYXNlZDsNCj4gKyAgVUlOVDY0ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBOdlN0b3JhZ2VGdlNpemU7DQo+ICsNCj4gKyAgU3Rh dHVzID0gR2V0VmFyaWFibGVGbGFzaE52U3RvcmFnZUluZm8gKCZCYXNlQWRkcmVzcywgDQo+ICsg Jk52U3RvcmFnZUZ2U2l6ZSk7ICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAgQVNT RVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsNCj4gKyAgICBERUJVRyAoKERFQlVHX0VSUk9SLCAiWyVh XSAtIEFuIGVycm9yIG9jdXJyZWQgZ2V0dGluZyB2YXJpYWJsZSBpbmZvIC0gJXIuXG4iLCBfX0ZV TkNUSU9OX18sIFN0YXR1cykpOw0KPiArICAgIHJldHVybjsNCj4gKyAgfQ0KPiArDQo+ICsgIC8v IFN0YXkgd2l0aGluIHRoZSBjdXJyZW50IFVJTlQzMiBzaXplIGFzc3VtcHRpb25zIGluIHRoZSB2 YXJpYWJsZSBzdGFjay4NCj4gKyAgU3RhdHVzID0gU2FmZVVpbnQ2NFRvVWludDMyIChCYXNlQWRk cmVzcywgDQo+ICsgJm1QbGF0Zm9ybUZ2QmFzZUFkZHJlc3NbMF0uRnZCYXNlKTsNCj4gKyAgaWYg KEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7 DQo+ICsgICAgREVCVUcgKChERUJVR19FUlJPUiwgIlslYV0gLSA2NC1iaXQgdmFyaWFibGUgc3Rv cmFnZSBiYXNlIGFkZHJlc3Mgbm90IHN1cHBvcnRlZC5cbiIsIF9fRlVOQ1RJT05fXykpOw0KPiAr ICAgIHJldHVybjsNCj4gKyAgfQ0KPiArICBTdGF0dXMgPSBTYWZlVWludDY0VG9VaW50MzIgKE52 U3RvcmFnZUZ2U2l6ZSwgDQo+ICsgJm1QbGF0Zm9ybUZ2QmFzZUFkZHJlc3NbMF0uRnZTaXplKTsN Cj4gKyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAgIEFTU0VSVF9FRklfRVJST1Ig KFN0YXR1cyk7DQo+ICsgICAgREVCVUcgKChERUJVR19FUlJPUiwgIlslYV0gLSA2NC1iaXQgdmFy aWFibGUgc3RvcmFnZSBzaXplIG5vdCBzdXBwb3J0ZWQuXG4iLCBfX0ZVTkNUSU9OX18pKTsNCj4g KyAgICByZXR1cm47DQo+ICsgIH0NCj4gICANCj4gLSAgbVBsYXRmb3JtRnZCYXNlQWRkcmVzc1sw XS5GdkJhc2UgPSANCj4gUGNkR2V0MzIoUGNkRmxhc2hOdlN0b3JhZ2VWYXJpYWJsZUJhc2UpOw0K PiAtICBtUGxhdGZvcm1GdkJhc2VBZGRyZXNzWzBdLkZ2U2l6ZSA9IFBjZEdldDMyKFBjZEZsYXNo TnZTdG9yYWdlVmFyaWFibGVTaXplKTsNCj4gICAgIG1QbGF0Zm9ybUZ2QmFzZUFkZHJlc3NbMV0u RnZCYXNlID0gUGNkR2V0MzIoUGNkRmxhc2hNaWNyb2NvZGVGdkJhc2UpOw0KPiAgICAgbVBsYXRm b3JtRnZCYXNlQWRkcmVzc1sxXS5GdlNpemUgPSANCj4gUGNkR2V0MzIoUGNkRmxhc2hNaWNyb2Nv ZGVGdlNpemUpOw0KPiAtICBtUGxhdGZvcm1EZWZhdWx0QmFzZUFkZHJlc3NbMF0uRnZCYXNlID0g DQo+IFBjZEdldDMyKFBjZEZsYXNoTnZTdG9yYWdlVmFyaWFibGVCYXNlKTsNCj4gLSAgbVBsYXRm b3JtRGVmYXVsdEJhc2VBZGRyZXNzWzBdLkZ2U2l6ZSA9IA0KPiBQY2RHZXQzMihQY2RGbGFzaE52 U3RvcmFnZVZhcmlhYmxlU2l6ZSk7DQo+IC0gIG1QbGF0Zm9ybURlZmF1bHRCYXNlQWRkcmVzc1sx XS5GdkJhc2UgPSANCj4gUGNkR2V0MzIoUGNkRmxhc2hNaWNyb2NvZGVGdkJhc2UpOw0KPiAtICBt UGxhdGZvcm1EZWZhdWx0QmFzZUFkZHJlc3NbMV0uRnZTaXplID0gDQo+IFBjZEdldDMyKFBjZEZs YXNoTWljcm9jb2RlRnZTaXplKTsNCj4gICANCj4gICAgIC8vDQo+ICAgICAvLyBXZSB3aWxsIG9u bHkgY29udGludWUgd2l0aCBGVkIgaW5zdGFsbGF0aW9uIGlmIHRoZSBAQCAtMTQzLDcgDQo+ICsx NTksOCBAQCBGdmJJbml0aWFsaXplICgNCj4gICAgICAgICAgIEJ5dGVzV3JpdHRlbiA9IDA7DQo+ ICAgICAgICAgICBCeXRlc0VyYXNlZCA9IDA7DQo+ICAgICAgICAgICBERUJVRyAoKERFQlVHX0VS Uk9SLCAiRVJST1IgLSBUaGUgRlYgaW4gMHgleCBpcyBpbnZhbGlkIVxuIiwgRnZIZWFkZXIpKTsN Cj4gLSAgICAgICAgU3RhdHVzID0gR2V0RnZiSW5mbyAoQmFzZUFkZHJlc3MsICZGdkhlYWRlcik7 DQo+ICsgICAgICAgIEZ2SGVhZGVyID0gTlVMTDsNCj4gKyAgICAgICAgU3RhdHVzICAgPSBHZXRG dmJJbmZvIChCYXNlQWRkcmVzcywgJkZ2SGVhZGVyKTsNCj4gICAgICAgICAgIGlmIChFRklfRVJS T1IgKFN0YXR1cykpIHsNCj4gICAgICAgICAgICAgREVCVUcgKChERUJVR19XQVJOLCAiRVJST1Ig LSBDYW4ndCByZWNvdmVyeSBGViBoZWFkZXIgYXQgMHgleC4gIEdldEZ2YkluZm8gU3RhdHVzICVy XG4iLCBCYXNlQWRkcmVzcywgU3RhdHVzKSk7DQo+ICAgICAgICAgICAgIGNvbnRpbnVlOw0KPiBA QCAtMTU2LDI3ICsxNzMsNDIgQEAgRnZiSW5pdGlhbGl6ZSAoDQo+ICAgICAgICAgICBTdGF0dXMg PSBTcGlGbGFzaEJsb2NrRXJhc2UoIChVSU5UTikgQmFzZUFkZHJlc3MsICZCeXRlc0VyYXNlZCk7 DQo+ICAgICAgICAgICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ICAgICAgICAgICAgIERF QlVHICgoREVCVUdfV0FSTiwgIkVSUk9SIC0gU3BpRmxhc2hCbG9ja0VyYXNlIEVycm9yICANCj4g JXJcbiIsIFN0YXR1cykpOw0KPiArICAgICAgICAgIGlmIChGdkhlYWRlciAhPSBOVUxMKSB7DQo+ ICsgICAgICAgICAgICBGcmVlUG9vbCAoRnZIZWFkZXIpOw0KPiArICAgICAgICAgIH0NCj4gICAg ICAgICAgICAgY29udGludWU7DQo+ICAgICAgICAgICB9DQo+ICAgICAgICAgICBpZiAoQnl0ZXNF cmFzZWQgIT0gRnZIZWFkZXItPkJsb2NrTWFwLT5MZW5ndGgpIHsNCj4gICAgICAgICAgICAgREVC VUcgKChERUJVR19XQVJOLCAiRVJST1IgLSBCeXRlc0VyYXNlZCAhPSBGdkhlYWRlci0+QmxvY2tN YXAtPkxlbmd0aFxuIikpOw0KPiAgICAgICAgICAgICBERUJVRyAoKERFQlVHX0lORk8sICIgQnl0 ZXNFcmFzZWQgPSAweCVYXG4gTGVuZ3RoID0gDQo+IDB4JVhcbiIsIEJ5dGVzRXJhc2VkLCBGdkhl YWRlci0+QmxvY2tNYXAtPkxlbmd0aCkpOw0KPiArICAgICAgICAgIGlmIChGdkhlYWRlciAhPSBO VUxMKSB7DQo+ICsgICAgICAgICAgICBGcmVlUG9vbCAoRnZIZWFkZXIpOw0KPiArICAgICAgICAg IH0NCj4gICAgICAgICAgICAgY29udGludWU7DQo+ICAgICAgICAgICB9DQo+ICAgICAgICAgICBC eXRlc1dyaXR0ZW4gPSBGdkhlYWRlci0+SGVhZGVyTGVuZ3RoOw0KPiAgICAgICAgICAgU3RhdHVz ID0gU3BpRmxhc2hXcml0ZSAoKFVJTlROKUJhc2VBZGRyZXNzLCAmQnl0ZXNXcml0dGVuLCAoVUlO VDgqKUZ2SGVhZGVyKTsNCj4gICAgICAgICAgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCj4g ICAgICAgICAgICAgREVCVUcgKChERUJVR19XQVJOLCAiRVJST1IgLSBTcGlGbGFzaFdyaXRlIEVy cm9yICAlclxuIiwgDQo+IFN0YXR1cykpOw0KPiArICAgICAgICAgIGlmIChGdkhlYWRlciAhPSBO VUxMKSB7DQo+ICsgICAgICAgICAgICBGcmVlUG9vbCAoRnZIZWFkZXIpOw0KPiArICAgICAgICAg IH0NCj4gICAgICAgICAgICAgY29udGludWU7DQo+ICAgICAgICAgICB9DQo+ICAgICAgICAgICBp ZiAoQnl0ZXNXcml0dGVuICE9IEZ2SGVhZGVyLT5IZWFkZXJMZW5ndGgpIHsNCj4gICAgICAgICAg ICAgREVCVUcgKChERUJVR19XQVJOLCAiRVJST1IgLSBCeXRlc1dyaXR0ZW4gIT0gSGVhZGVyTGVu Z3RoXG4iKSk7DQo+ICAgICAgICAgICAgIERFQlVHICgoREVCVUdfSU5GTywgIiBCeXRlc1dyaXR0 ZW4gPSAweCVYXG4gSGVhZGVyTGVuZ3RoID0gDQo+IDB4JVhcbiIsIEJ5dGVzV3JpdHRlbiwgRnZI ZWFkZXItPkhlYWRlckxlbmd0aCkpOw0KPiArICAgICAgICAgIGlmIChGdkhlYWRlciAhPSBOVUxM KSB7DQo+ICsgICAgICAgICAgICBGcmVlUG9vbCAoRnZIZWFkZXIpOw0KPiArICAgICAgICAgIH0N Cj4gICAgICAgICAgICAgY29udGludWU7DQo+ICAgICAgICAgICB9DQo+ICAgICAgICAgICBTdGF0 dXMgPSBTcGlGbGFzaExvY2sgKCk7DQo+ICAgICAgICAgICBpZiAoRUZJX0VSUk9SIChTdGF0dXMp KSB7DQo+ICAgICAgICAgICAgIERFQlVHICgoREVCVUdfV0FSTiwgIkVSUk9SIC0gU3BpRmxhc2hM b2NrIEVycm9yICAlclxuIiwgDQo+IFN0YXR1cykpOw0KPiArICAgICAgICAgIGlmIChGdkhlYWRl ciAhPSBOVUxMKSB7DQo+ICsgICAgICAgICAgICBGcmVlUG9vbCAoRnZIZWFkZXIpOw0KPiArICAg ICAgICAgIH0NCj4gICAgICAgICAgICAgY29udGludWU7DQo+ICAgICAgICAgICB9DQo+ICAgICAg ICAgICBERUJVRyAoKERFQlVHX0lORk8sICJGViBIZWFkZXIgQCAweCVYIHJlc3RvcmVkIHdpdGgg c3RhdGljIA0KPiBkYXRhXG4iLCBCYXNlQWRkcmVzcykpOyBAQCAtMTg0LDYgKzIxNiw5IEBAIEZ2 YkluaXRpYWxpemUgKA0KPiAgICAgICAgICAgLy8gQ2xlYXIgY2FjaGUgZm9yIHRoaXMgcmFuZ2Uu DQo+ICAgICAgICAgICAvLw0KPiAgICAgICAgICAgV3JpdGVCYWNrSW52YWxpZGF0ZURhdGFDYWNo ZVJhbmdlICggKFZPSUQgKikgKFVJTlROKSANCj4gQmFzZUFkZHJlc3MsIEZ2SGVhZGVyLT5CbG9j a01hcC0+TGVuZ3RoKTsNCj4gKyAgICAgICAgaWYgKEZ2SGVhZGVyICE9IE5VTEwpIHsNCj4gKyAg ICAgICAgICBGcmVlUG9vbCAoRnZIZWFkZXIpOw0KPiArICAgICAgICB9DQo+ICAgICAgICAgfQ0K PiAgICAgICB9DQo+ICAgDQo+IGRpZmYgLS1naXQgDQo+IGEvU2lsaWNvbi9JbnRlbC9JbnRlbFNp bGljb25Qa2cvRmVhdHVyZS9GbGFzaC9TcGlGdmJTZXJ2aWNlL1NwaUZ2YlNlcnYNCj4gaWNlQ29t bW9uLmggDQo+IGIvU2lsaWNvbi9JbnRlbC9JbnRlbFNpbGljb25Qa2cvRmVhdHVyZS9GbGFzaC9T cGlGdmJTZXJ2aWNlL1NwaUZ2YlNlcnYNCj4gaWNlQ29tbW9uLmggaW5kZXggZTlkNjllOTg1ODE0 Li43YjA5MDhiMDNmZGMgMTAwNjQ0DQo+IC0tLSANCj4gYS9TaWxpY29uL0ludGVsL0ludGVsU2ls aWNvblBrZy9GZWF0dXJlL0ZsYXNoL1NwaUZ2YlNlcnZpY2UvU3BpRnZiU2Vydg0KPiBpY2VDb21t b24uaA0KPiArKysgYi9TaWxpY29uL0ludGVsL0ludGVsU2lsaWNvblBrZy9GZWF0dXJlL0ZsYXNo L1NwaUZ2YlNlcnZpY2UvU3BpRnZiDQo+ICsrKyBTZXJ2aWNlQ29tbW9uLmgNCj4gQEAgLTIsNiAr Miw3IEBADQo+ICAgICBDb21tb24gc291cmNlIGRlZmluaXRpb25zIHVzZWQgaW4gc2VyaWFsIGZs YXNoIGRyaXZlcnMNCj4gICANCj4gICBDb3B5cmlnaHQgKGMpIDIwMTcsIEludGVsIENvcnBvcmF0 aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gK0NvcHlyaWdodCAoYykgTWljcm9zb2Z0 IENvcnBvcmF0aW9uLjxCUj4NCj4gICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xh dXNlLVBhdGVudA0KPiAgIA0KPiAgICoqLw0KPiBAQCAtMTIsNiArMTMsNyBAQCBTUERYLUxpY2Vu c2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiAgICNpbmNsdWRlIDxHdWlkL0V2 ZW50R3JvdXAuaD4NCj4gICAjaW5jbHVkZSA8R3VpZC9GaXJtd2FyZUZpbGVTeXN0ZW0yLmg+DQo+ ICAgI2luY2x1ZGUgPEd1aWQvU3lzdGVtTnZEYXRhR3VpZC5oPg0KPiArI2luY2x1ZGUgPFBpL1Bp RmlybXdhcmVWb2x1bWUuaD4NCj4gICAjaW5jbHVkZSA8UHJvdG9jb2wvRGV2aWNlUGF0aC5oPg0K PiAgICNpbmNsdWRlIDxQcm90b2NvbC9GaXJtd2FyZVZvbHVtZUJsb2NrLmg+DQo+ICAgDQo+IEBA IC0yNCw2ICsyNiw4IEBAIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0 ZW50DQo+ICAgI2luY2x1ZGUgPExpYnJhcnkvUGNkTGliLmg+DQo+ICAgI2luY2x1ZGUgPExpYnJh cnkvRGV2aWNlUGF0aExpYi5oPg0KPiAgICNpbmNsdWRlIDxMaWJyYXJ5L0hvYkxpYi5oPg0KPiAr I2luY2x1ZGUgPExpYnJhcnkvVmFyaWFibGVGbGFzaEluZm9MaWIuaD4gI2luY2x1ZGUgDQo+ICs8 TGlicmFyeS9TYWZlSW50TGliLmg+DQo+ICAgDQo+ICAgI2luY2x1ZGUgPExpYnJhcnkvU3BpRmxh c2hDb21tb25MaWIuaD4NCj4gICANCj4gQEAgLTE0OCwxMSArMTUyLDIzIEBAIEdldEZ2YkluZm8g KA0KPiAgICAgT1VUIEVGSV9GSVJNV0FSRV9WT0xVTUVfSEVBREVSICAgKipGdmJJbmZvDQo+ICAg ICApOw0KPiAgIA0KPiArLyoqDQo+ICsgIEdldCB0aGUgdG90YWwgc2l6ZSBvZiB0aGUgZmlybXdh cmUgdm9sdW1lIG9uIGZsYXNoIHVzZWQgZm9yIHZhcmlhYmxlIHN0b3JlIG9wZXJhdGlvbnMuDQo+ ICsNCj4gKyAgQHBhcmFtW291dF0gQmFzZUFkZHJlc3MgICAgICAgICBCYXNlIGFkZHJlc3Mgb2Yg dGhlIHZhcmlhYmxlIHN0b3JlIGZpcm13YXJlIHZvbHVtZS4NCj4gKyAgQHBhcmFtW291dF0gTGVu Z3RoICAgICAgICAgICAgICBMZW5ndGggaW4gYnl0ZXMgb2YgdGhlIGZpcm13YXJlIHZvbHVtZSB1 c2VkIGZvciB2YXJpYWJsZSBzdG9yZSBvcGVyYXRpb25zLg0KPiArDQo+ICsqKi8NCj4gK1ZPSUQN Cj4gK0dldFZhcmlhYmxlRnZJbmZvICgNCj4gKyAgT1VUIEVGSV9QSFlTSUNBTF9BRERSRVNTICAg ICAgKkJhc2VBZGRyZXNzLA0KPiArICBPVVQgVUlOVDMyICAgICAgICAgICAgICAgICAgICAqTGVu Z3RoDQo+ICsgICk7DQo+ICsNCj4gICBleHRlcm4gRlZCX0dMT0JBTCAgICAgICAgICAgICAgICAg ICAgICAgICBtRnZiTW9kdWxlR2xvYmFsOw0KPiAgIGV4dGVybiBGVl9NRU1NQVBfREVWSUNFX1BB VEggICAgICAgICAgICAgIG1Gdk1lbW1hcERldmljZVBhdGhUZW1wbGF0ZTsNCj4gICBleHRlcm4g RlZfUElXR19ERVZJQ0VfUEFUSCAgICAgICAgICAgICAgICBtRnZQSVdHRGV2aWNlUGF0aFRlbXBs YXRlOw0KPiAgIGV4dGVybiBFRklfRklSTVdBUkVfVk9MVU1FX0JMT0NLX1BST1RPQ09MIG1GdmJQ cm90b2NvbFRlbXBsYXRlOw0KPiAgIGV4dGVybiBGVl9JTkZPICAgICAgICAgICAgICAgICAgICAg ICAgICAgIG1QbGF0Zm9ybUZ2QmFzZUFkZHJlc3NbXTsNCj4gLWV4dGVybiBGVl9JTkZPICAgICAg ICAgICAgICAgICAgICAgICAgICAgIG1QbGF0Zm9ybURlZmF1bHRCYXNlQWRkcmVzc1tdOw0KPiAg IA0KPiAgICNlbmRpZg0KPiBkaWZmIC0tZ2l0IA0KPiBhL1NpbGljb24vSW50ZWwvSW50ZWxTaWxp Y29uUGtnL0ZlYXR1cmUvRmxhc2gvU3BpRnZiU2VydmljZS9TcGlGdmJTZXJ2DQo+IGljZVNtbS5p bmYgDQo+IGIvU2lsaWNvbi9JbnRlbC9JbnRlbFNpbGljb25Qa2cvRmVhdHVyZS9GbGFzaC9TcGlG dmJTZXJ2aWNlL1NwaUZ2YlNlcnYNCj4gaWNlU21tLmluZiBpbmRleCBiZjEzMDZmMDAyMDEuLjBj ZmEzZjkwOWJkZiAxMDA2NDQNCj4gLS0tIA0KPiBhL1NpbGljb24vSW50ZWwvSW50ZWxTaWxpY29u UGtnL0ZlYXR1cmUvRmxhc2gvU3BpRnZiU2VydmljZS9TcGlGdmJTZXJ2DQo+IGljZVNtbS5pbmYN Cj4gKysrIGIvU2lsaWNvbi9JbnRlbC9JbnRlbFNpbGljb25Qa2cvRmVhdHVyZS9GbGFzaC9TcGlG dmJTZXJ2aWNlL1NwaUZ2Yg0KPiArKysgU2VydmljZVNtbS5pbmYNCj4gQEAgLTMyLDggKzMyLDEw IEBAIFtMaWJyYXJ5Q2xhc3Nlc10NCj4gICAgIEJhc2VMaWINCj4gICAgIFVlZmlCb290U2Vydmlj ZXNUYWJsZUxpYg0KPiAgICAgVWVmaURyaXZlckVudHJ5UG9pbnQNCj4gKyAgU2FmZUludExpYg0K PiAgICAgU3BpRmxhc2hDb21tb25MaWINCj4gICAgIE1tU2VydmljZXNUYWJsZUxpYg0KPiArICBW YXJpYWJsZUZsYXNoSW5mb0xpYg0KPiAgIA0KPiAgIFtQYWNrYWdlc10NCj4gICAgIE1kZVBrZy9N ZGVQa2cuZGVjDQo+IEBAIC00MSwxMCArNDMsNiBAQCBbUGFja2FnZXNdDQo+ICAgICBJbnRlbFNp bGljb25Qa2cvSW50ZWxTaWxpY29uUGtnLmRlYw0KPiAgIA0KPiAgIFtQY2RdDQo+IC0gIGdFZmlN ZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RGbGFzaE52U3RvcmFnZVZhcmlhYmxlQmFzZSAg ICMjIENPTlNVTUVTDQo+IC0gIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RGbGFz aE52U3RvcmFnZVZhcmlhYmxlU2l6ZSAgICMjIENPTlNVTUVTDQo+IC0gIGdFZmlNZGVNb2R1bGVQ a2dUb2tlblNwYWNlR3VpZC5QY2RGbGFzaE52U3RvcmFnZUZ0d1dvcmtpbmdTaXplICMjIENPTlNV TUVTDQo+IC0gIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RGbGFzaE52U3RvcmFn ZUZ0d1NwYXJlU2l6ZSAgICMjIENPTlNVTUVTDQo+ICAgICBnSW50ZWxTaWxpY29uUGtnVG9rZW5T cGFjZUd1aWQuUGNkRmxhc2hNaWNyb2NvZGVGdkJhc2UgICAgICAgICAjIyBDT05TVU1FUw0KPiAg ICAgZ0ludGVsU2lsaWNvblBrZ1Rva2VuU3BhY2VHdWlkLlBjZEZsYXNoTWljcm9jb2RlRnZTaXpl ICAgICAgICAgIyMgQ09OU1VNRVMNCj4gICANCj4gZGlmZiAtLWdpdCANCj4gYS9TaWxpY29uL0lu dGVsL0ludGVsU2lsaWNvblBrZy9GZWF0dXJlL0ZsYXNoL1NwaUZ2YlNlcnZpY2UvU3BpRnZiU2Vy dg0KPiBpY2VTdGFuZGFsb25lTW0uaW5mIA0KPiBiL1NpbGljb24vSW50ZWwvSW50ZWxTaWxpY29u UGtnL0ZlYXR1cmUvRmxhc2gvU3BpRnZiU2VydmljZS9TcGlGdmJTZXJ2DQo+IGljZVN0YW5kYWxv bmVNbS5pbmYgaW5kZXggYjY2MjMzOTY4MjQ3Li4xNTJjZjAwMzZmZGIgMTAwNjQ0DQo+IC0tLSAN Cj4gYS9TaWxpY29uL0ludGVsL0ludGVsU2lsaWNvblBrZy9GZWF0dXJlL0ZsYXNoL1NwaUZ2YlNl cnZpY2UvU3BpRnZiU2Vydg0KPiBpY2VTdGFuZGFsb25lTW0uaW5mDQo+ICsrKyBiL1NpbGljb24v SW50ZWwvSW50ZWxTaWxpY29uUGtnL0ZlYXR1cmUvRmxhc2gvU3BpRnZiU2VydmljZS9TcGlGdmIN Cj4gKysrIFNlcnZpY2VTdGFuZGFsb25lTW0uaW5mDQo+IEBAIC0zMSw4ICszMSwxMCBAQCBbTGli cmFyeUNsYXNzZXNdDQo+ICAgICBNZW1vcnlBbGxvY2F0aW9uTGliDQo+ICAgICBQY2RMaWINCj4g ICAgIE1tU2VydmljZXNUYWJsZUxpYg0KPiArICBTYWZlSW50TGliDQo+ICAgICBTcGlGbGFzaENv bW1vbkxpYg0KPiAgICAgU3RhbmRhbG9uZU1tRHJpdmVyRW50cnlQb2ludA0KPiArICBWYXJpYWJs ZUZsYXNoSW5mb0xpYg0KPiAgIA0KPiAgIFtQYWNrYWdlc10NCj4gICAgIE1kZVBrZy9NZGVQa2cu ZGVjDQo+IEBAIC00MCwxMCArNDIsNiBAQCBbUGFja2FnZXNdDQo+ICAgICBJbnRlbFNpbGljb25Q a2cvSW50ZWxTaWxpY29uUGtnLmRlYw0KPiAgIA0KPiAgIFtQY2RdDQo+IC0gIGdFZmlNZGVNb2R1 bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RGbGFzaE52U3RvcmFnZVZhcmlhYmxlQmFzZSAgICMjIENP TlNVTUVTDQo+IC0gIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RGbGFzaE52U3Rv cmFnZVZhcmlhYmxlU2l6ZSAgICMjIENPTlNVTUVTDQo+IC0gIGdFZmlNZGVNb2R1bGVQa2dUb2tl blNwYWNlR3VpZC5QY2RGbGFzaE52U3RvcmFnZUZ0d1dvcmtpbmdTaXplICMjIENPTlNVTUVTDQo+ IC0gIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RGbGFzaE52U3RvcmFnZUZ0d1Nw YXJlU2l6ZSAgICMjIENPTlNVTUVTDQo+ICAgICBnSW50ZWxTaWxpY29uUGtnVG9rZW5TcGFjZUd1 aWQuUGNkRmxhc2hNaWNyb2NvZGVGdkJhc2UgICAgICAgICAjIyBDT05TVU1FUw0KPiAgICAgZ0lu dGVsU2lsaWNvblBrZ1Rva2VuU3BhY2VHdWlkLlBjZEZsYXNoTWljcm9jb2RlRnZTaXplICAgICAg ICAgIyMgQ09OU1VNRVMNCj4gICANCj4gZGlmZiAtLWdpdCBhL1NpbGljb24vSW50ZWwvSW50ZWxT aWxpY29uUGtnL0ludGVsU2lsaWNvblBrZy5kc2MgDQo+IGIvU2lsaWNvbi9JbnRlbC9JbnRlbFNp bGljb25Qa2cvSW50ZWxTaWxpY29uUGtnLmRzYw0KPiBpbmRleCAxZTgyNmEwODBmMjguLjE3MGVi NDgwYWRhMSAxMDA2NDQNCj4gLS0tIGEvU2lsaWNvbi9JbnRlbC9JbnRlbFNpbGljb25Qa2cvSW50 ZWxTaWxpY29uUGtnLmRzYw0KPiArKysgYi9TaWxpY29uL0ludGVsL0ludGVsU2lsaWNvblBrZy9J bnRlbFNpbGljb25Qa2cuZHNjDQo+IEBAIC00MCw5ICs0MCwxMSBAQCBbTGlicmFyeUNsYXNzZXNd DQo+ICAgICBQZWlHZXRWdGRQbXJBbGlnbm1lbnRMaWJ8SW50ZWxTaWxpY29uUGtnL0xpYnJhcnkv UGVpR2V0VnRkUG1yQWxpZ25tZW50TGliL1BlaUdldFZ0ZFBtckFsaWdubWVudExpYi5pbmYNCj4g ICAgIFRwbU1lYXN1cmVtZW50TGlifE1kZU1vZHVsZVBrZy9MaWJyYXJ5L1RwbU1lYXN1cmVtZW50 TGliTnVsbC9UcG1NZWFzdXJlbWVudExpYk51bGwuaW5mDQo+ICAgICBNaWNyb2NvZGVMaWJ8VWVm aUNwdVBrZy9MaWJyYXJ5L01pY3JvY29kZUxpYi9NaWNyb2NvZGVMaWIuaW5mDQo+ICsgIFNhZmVJ bnRMaWJ8TWRlUGtnL0xpYnJhcnkvQmFzZVNhZmVJbnRMaWIvQmFzZVNhZmVJbnRMaWIuaW5mDQo+ ICAgICBTcGlGbGFzaENvbW1vbkxpYnxJbnRlbFNpbGljb25Qa2cvTGlicmFyeS9TcGlGbGFzaENv bW1vbkxpYk51bGwvU3BpRmxhc2hDb21tb25MaWJOdWxsLmluZg0KPiAgICAgVWVmaUJvb3RTZXJ2 aWNlc1RhYmxlTGlifE1kZVBrZy9MaWJyYXJ5L1VlZmlCb290U2VydmljZXNUYWJsZUxpYi9VZWZp Qm9vdFNlcnZpY2VzVGFibGVMaWIuaW5mDQo+ICAgICANCj4gVWVmaURyaXZlckVudHJ5UG9pbnR8 TWRlUGtnL0xpYnJhcnkvVWVmaURyaXZlckVudHJ5UG9pbnQvVWVmaURyaXZlckVudA0KPiByeVBv aW50LmluZg0KPiArICANCj4gKyBWYXJpYWJsZUZsYXNoSW5mb0xpYnxNZGVNb2R1bGVQa2cvTGli cmFyeS9CYXNlVmFyaWFibGVGbGFzaEluZm9MaWIvQg0KPiArIGFzZVZhcmlhYmxlRmxhc2hJbmZv TGliLmluZg0KPiAgIA0KPiAgIFtMaWJyYXJ5Q2xhc3Nlcy5jb21tb24uUEVJTV0NCj4gICAgIFBl aW1FbnRyeVBvaW50fE1kZVBrZy9MaWJyYXJ5L1BlaW1FbnRyeVBvaW50L1BlaW1FbnRyeVBvaW50 LmluZg0KPiBAQCAtNjMsMTEgKzY1LDE2IEBAIFtMaWJyYXJ5Q2xhc3Nlcy5jb21tb24uRFhFX0RS SVZFUl0NCj4gICAgIA0KPiBNZW1vcnlBbGxvY2F0aW9uTGlifE1kZVBrZy9MaWJyYXJ5L1VlZmlN ZW1vcnlBbGxvY2F0aW9uTGliL1VlZmlNZW1vcnlBDQo+IGxsb2NhdGlvbkxpYi5pbmYNCj4gICAN Cj4gICBbTGlicmFyeUNsYXNzZXMuY29tbW9uLkRYRV9TTU1fRFJJVkVSXQ0KPiArICANCj4gKyBE ZXZpY2VQYXRoTGlifE1kZVBrZy9MaWJyYXJ5L1VlZmlEZXZpY2VQYXRoTGliL1VlZmlEZXZpY2VQ YXRoTGliLmluZg0KPiArICBIb2JMaWJ8TWRlUGtnL0xpYnJhcnkvRHhlSG9iTGliL0R4ZUhvYkxp Yi5pbmYNCj4gICAgIE1lbW9yeUFsbG9jYXRpb25MaWJ8TWRlUGtnL0xpYnJhcnkvU21tTWVtb3J5 QWxsb2NhdGlvbkxpYi9TbW1NZW1vcnlBbGxvY2F0aW9uTGliLmluZg0KPiAgICAgTW1TZXJ2aWNl c1RhYmxlTGlifE1kZVBrZy9MaWJyYXJ5L01tU2VydmljZXNUYWJsZUxpYi9NbVNlcnZpY2VzVGFi bGVMaWIuaW5mDQo+ICAgICANCj4gU21tU2VydmljZXNUYWJsZUxpYnxNZGVQa2cvTGlicmFyeS9T bW1TZXJ2aWNlc1RhYmxlTGliL1NtbVNlcnZpY2VzVGFibA0KPiBlTGliLmluZg0KPiArICBVZWZp TGlifE1kZVBrZy9MaWJyYXJ5L1VlZmlMaWIvVWVmaUxpYi5pbmYNCj4gKyAgDQo+ICsgVWVmaVJ1 bnRpbWVTZXJ2aWNlc1RhYmxlTGlifE1kZVBrZy9MaWJyYXJ5L1VlZmlSdW50aW1lU2VydmljZXNU YWJsZUwNCj4gKyBpYi9VZWZpUnVudGltZVNlcnZpY2VzVGFibGVMaWIuaW5mDQo+ICAgDQo+ICAg W0xpYnJhcnlDbGFzc2VzLmNvbW1vbi5NTV9TVEFOREFMT05FXQ0KPiArICANCj4gKyBIb2JMaWJ8 U3RhbmRhbG9uZU1tUGtnL0xpYnJhcnkvU3RhbmRhbG9uZU1tSG9iTGliL1N0YW5kYWxvbmVNbUhv YkxpYg0KPiArIC5pbmYNCj4gICAgIE1lbW9yeUFsbG9jYXRpb25MaWJ8U3RhbmRhbG9uZU1tUGtn L0xpYnJhcnkvU3RhbmRhbG9uZU1tTWVtb3J5QWxsb2NhdGlvbkxpYi9TdGFuZGFsb25lTW1NZW1v cnlBbGxvY2F0aW9uTGliLmluZg0KPiAgICAgTW1TZXJ2aWNlc1RhYmxlTGlifE1kZVBrZy9MaWJy YXJ5L1N0YW5kYWxvbmVNbVNlcnZpY2VzVGFibGVMaWIvU3RhbmRhbG9uZU1tU2VydmljZXNUYWJs ZUxpYi5pbmYNCj4gICAgIA0KPiBTdGFuZGFsb25lTW1Ecml2ZXJFbnRyeVBvaW50fE1kZVBrZy9M aWJyYXJ5L1N0YW5kYWxvbmVNbURyaXZlckVudHJ5UG9pDQo+IG50L1N0YW5kYWxvbmVNbURyaXZl ckVudHJ5UG9pbnQuaW5mDQo=