From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=68.232.153.94; helo=esa3.dell-outbound.iphmx.com; envelope-from=jim.dailey@dell.com; receiver=edk2-devel@lists.01.org Received: from esa3.dell-outbound.iphmx.com (esa3.dell-outbound.iphmx.com [68.232.153.94]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id CDC2521164F0D for ; Wed, 6 Jun 2018 06:03:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=dell.com; i=@dell.com; q=dns/txt; s=smtpout; t=1528289730; x=1559825730; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=OstsxeokJPD4yqOBO10YJ29GsV7sl4EbgmOHu5h6TKg=; b=HTnHKfSFi9QqYvdiM4zmHSkGYv3SlvbJ/OfG7VyssNxAEt6MfjZunLae PDQRV2VZlNC9zWbvmbSDHyVbL8WVkUwxR5Jlwr+AW0kcIph902/6B6uGW m3+oHOdJZwo6tLB62r/KVPmZApPRt+5c9PqE+kXmDiZdiUQAlREkurAaC E=; X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A2FjAADN2hdbh8qZ6ERcGQEBAQEBAQEBA?= =?us-ascii?q?QEBAQcBAQEBAYMVgQIOfygKg26IBIxmgXmBbpJkgT07CxgNCYFJgnUCF4IdITQ?= =?us-ascii?q?YAQIBAQEBAQECAQECEAEBAQoLCQgoIwyCNSINBEssAwEBAQEBAQEBASMBAQEBA?= =?us-ascii?q?QEBAQEBAQEBAQEBGgINYwEBAQMBAQEhBA04AgsFBwQCAQYCEQQBAQMCIwMCAgI?= =?us-ascii?q?lAR4BCAgBAQQOBQiDGgKBZwMNCA+MZJtHgWkzhwkVgSSBYwWBC4EihhWCE4NmN?= =?us-ascii?q?YMRAQECAReBJgEBJTOCRoJVApEsh0oHAoVthRiDW4FFhlyFCYoBhCyCe4FBggt?= =?us-ascii?q?wUIJDgi6DToRpK4U+bwEJjiiBH4EZAQE?= X-IPAS-Result: =?us-ascii?q?A2FjAADN2hdbh8qZ6ERcGQEBAQEBAQEBAQEBAQcBAQEBAYM?= =?us-ascii?q?VgQIOfygKg26IBIxmgXmBbpJkgT07CxgNCYFJgnUCF4IdITQYAQIBAQEBAQECA?= =?us-ascii?q?QECEAEBAQoLCQgoIwyCNSINBEssAwEBAQEBAQEBASMBAQEBAQEBAQEBAQEBAQE?= =?us-ascii?q?BGgINYwEBAQMBAQEhBA04AgsFBwQCAQYCEQQBAQMCIwMCAgIlAR4BCAgBAQQOB?= =?us-ascii?q?QiDGgKBZwMNCA+MZJtHgWkzhwkVgSSBYwWBC4EihhWCE4NmNYMRAQECAReBJgE?= =?us-ascii?q?BJTOCRoJVApEsh0oHAoVthRiDW4FFhlyFCYoBhCyCe4FBggtwUIJDgi6DToRpK?= =?us-ascii?q?4U+bwEJjiiBH4EZAQE?= Received: from esa2.dell-outbound2.iphmx.com ([68.232.153.202]) by esa3.dell-outbound.iphmx.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 06 Jun 2018 07:55:28 -0500 From: Received: from ausxippc110.us.dell.com ([143.166.85.200]) by esa2.dell-outbound2.iphmx.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 06 Jun 2018 18:58:34 +0600 X-LoopCount0: from 10.166.136.210 X-IronPort-AV: E=Sophos;i="5.49,483,1520917200"; d="scan'208";a="661663951" X-DLP: DLP_GlobalPCIDSS To: CC: , , , Thread-Topic: How to Interpret ReadKeyStrokeEX Data Thread-Index: AdP51a/hVUcRd8ZXRbW9WoFUsUlqeACUrkrAAEenAFAAE7r3oA== Date: Wed, 6 Jun 2018 13:03:40 +0000 Message-ID: References: <3e835c29938d49ea8d285385429870ad@ausx13mps339.AMER.DELL.COM> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_17cb76b2-10b8-4fe1-93d4-2202842406cd_Enabled=True; MSIP_Label_17cb76b2-10b8-4fe1-93d4-2202842406cd_SiteId=945c199a-83a2-4e80-9f8c-5a91be5752dd; MSIP_Label_17cb76b2-10b8-4fe1-93d4-2202842406cd_Ref=https://api.informationprotection.azure.com/api/945c199a-83a2-4e80-9f8c-5a91be5752dd; MSIP_Label_17cb76b2-10b8-4fe1-93d4-2202842406cd_Owner=Jim_Dailey@Dell.com; MSIP_Label_17cb76b2-10b8-4fe1-93d4-2202842406cd_SetDate=2018-06-06T07:57:38.9241038-05:00; MSIP_Label_17cb76b2-10b8-4fe1-93d4-2202842406cd_Name=External Public; MSIP_Label_17cb76b2-10b8-4fe1-93d4-2202842406cd_Application=Microsoft Azure Information Protection; MSIP_Label_17cb76b2-10b8-4fe1-93d4-2202842406cd_Extended_MSFT_Method=Manual; Sensitivity=External Public x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.143.242.75] MIME-Version: 1.0 Subject: Re: How to Interpret ReadKeyStrokeEX Data X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 06 Jun 2018 13:03:47 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VGhhbmtzLCBNaWtlLiAgSSBmaWd1cmVkIHRoYXQgb3V0IHllc3RlcmRheS4NCg0KSSB0aGluayB0 aGUgb25seSBwcm9ibGVtIG5vdyBpcyB0aGF0IGFueSBzaGVsbCBidWlsdCB3aXRoIHRoZSBvcmln aW5hbCBjaGFuZ2UgdG8gZWRpdCB3aWxsIG5vdCB3b3JrIGFzIGV4cGVjdGVkIGlmIGl0IGlzIHJ1 biBvbiBhIHN5c3RlbSB3aG9zZSBCSU9TIHdhcyBjcmVhdGVkIGJlZm9yZSB0aGUgc2Vjb25kIGNo YW5nZSB3YXMgbWFkZSAoaS5lLiBwcmV0dHkgbXVjaCBldmVyeSBleGlzdGluZyBVRUZJIEJJT1Mg aW4gdGhlIHdvcmxkISkuDQoNClNpbmNlIHRoZSBzaGVsbCBpcyBhIHN0YW5kLWFsb25lIHRvb2wg dGhhdCBpcyBub3QgbmVjZXNzYXJpbHkgdGllZCB0byBhbnkgcGFydGljdWxhciBtYWNoaW5lLCBJ IHRoaW5rIHRoYXQgaXQgaXMgbGlrZWx5IHRoYXQgbW9yZSB0aGFuIGEgZmV3IHBlb3BsZSBtYXkg cnVuIGludG8gdGhpcyBwcm9ibGVtIGluIHRoZSBmdXR1cmUuDQoNClJlZ2FyZHMsDQpKaW0NCg0K LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IFJvdGhtYW4sIE1pY2hhZWwgQSBbbWFp bHRvOm1pY2hhZWwuYS5yb3RobWFuQGludGVsLmNvbV0gDQpTZW50OiBUdWVzZGF5LCBKdW5lIDUs IDIwMTggMTA6MzggUE0NClRvOiBSb3RobWFuLCBNaWNoYWVsIEE7IERhaWxleSwgSmltOyBOaSwg UnVpeXUNCkNjOiBDYXJzZXksIEphYmVuOyBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZzsgZmVsaXhw QG1haWwucnUNClN1YmplY3Q6IFJFOiBIb3cgdG8gSW50ZXJwcmV0IFJlYWRLZXlTdHJva2VFWCBE YXRhDQoNCkppbSwNCg0KSSB0aGluayB0aGUgcHJvYmxlbSB5b3UncmUgc2VlaW5nIGlzIHRoYXQg dGhlIFVTQiBrZXlib2FyZCBkcml2ZXIgeW91J3JlIHVzaW5nIGlzIGRvd25yZXYgYW5kIG5lZWRz IHRvIGJlIHVwZGF0ZWQuDQoNCklmIHlvdSBsb29rIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS90aWFu b2NvcmUvZWRrMi9jb21taXQvZGQxOTA2NDVlYjQzNDI0NzA2ZWIxNzA5ZDAwMzJjNjlhMTkzNWQ5 ZiB0aGVyZSB3YXMgYSBmaXggY2hlY2tlZCBpbiB0byBhZGRyZXNzIGV4YWN0bHkgdGhlIGlzc3Vl IHlvdSdyZSBydW5uaW5nIGludG8uIEl0J3MgYmFzaWNhbGx5IGEgc3ltcHRvbSBvZiBydW5uaW5n IGEgbmV3IHNoZWxsIHdpdGhvdXQgYSBjb3JyZXNwb25kaW5nbHkgdXBkYXRlZCBrZXlib2FyZCBk cml2ZXIuIFRoZSBuZXcgc2hlbGwgaW4gZWZmZWN0IGV4cG9zZWQgYSBsYXRlbnQgYnVnLg0KDQpI b3BlIHRoYXQgaGVscHMuDQoNClRoYW5rcywNCk1pa2UgUm90aG1hbiANCijov4jlhYsg572X5pav 5pu8IC8g4KSu4KS+4KSH4KSV4KSyIOCksOCli+CkpeCljeCkruClh+CkqOCljSAvINCc0LjRhdCw 0LjQuyDQoNC+0YLQvNCw0L0gLyDXntep15Qg16jXldeY157XnykNCteo15XXoteUINei15nXp9eo 15kg16nXnCDXl9eq15XXnNeZ150NCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206 IGVkazItZGV2ZWwgW21haWx0bzplZGsyLWRldmVsLWJvdW5jZXNAbGlzdHMuMDEub3JnXSBPbiBC ZWhhbGYgT2YgUm90aG1hbiwgTWljaGFlbCBBDQpTZW50OiBNb25kYXksIEp1bmUgNCwgMjAxOCAx MDozMSBBTQ0KVG86IEppbS5EYWlsZXlAZGVsbC5jb207IE5pLCBSdWl5dSA8cnVpeXUubmlAaW50 ZWwuY29tPg0KQ2M6IENhcnNleSwgSmFiZW4gPGphYmVuLmNhcnNleUBpbnRlbC5jb20+OyBlZGsy LWRldmVsQGxpc3RzLjAxLm9yZzsgZmVsaXhwQG1haWwucnUNClN1YmplY3Q6IFJlOiBbZWRrMl0g SG93IHRvIEludGVycHJldCBSZWFkS2V5U3Ryb2tlRVggRGF0YQ0KDQpTaW5jZSBJJ20gbGFyZ2Vs eSB0aGUgcGVyc29uIHdobyBtaWdodCBiZSB0byBibGFtZSBmb3IgdGhlIGxhbmd1YWdlIGFuZCBp bnRlbnQgaGVyZSBhbmQgSeKAmWxsIGZvY3VzIG9uIHRoZSBzcGVjLXJlbGF0ZWQgaXRlbS4gIFNl ZSBteSBjb21tZW50cyBiZWxvdy4NCg0KDQoNClRoYW5rcywNCg0KTWlrZSBSb3RobWFuDQoNCijo v4jlhYsg572X5pav5pu8IC8g4KSu4KS+4KSH4KSV4KSyIOCksOCli+CkpeCljeCkruClh+CkqOCl jSAvINCc0LjRhdCw0LjQuyDQoNC+0YLQvNCw0L0gLyDXntep15Qg16jXldeY157XnykNCg0K16jX ldei15Qg16LXmden16jXmSDXqdecINeX16rXldec15nXnQ0KDQoNCg0KDQoNCi0tLS0tT3JpZ2lu YWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBlZGsyLWRldmVsIFttYWlsdG86ZWRrMi1kZXZlbC1ib3Vu Y2VzQGxpc3RzLjAxLm9yZ10gT24gQmVoYWxmIE9mIEppbS5EYWlsZXlAZGVsbC5jb20NClNlbnQ6 IEZyaWRheSwgSnVuZSAxLCAyMDE4IDExOjI3IEFNDQpUbzogTmksIFJ1aXl1IDxydWl5dS5uaUBp bnRlbC5jb20+DQpDYzogQ2Fyc2V5LCBKYWJlbiA8amFiZW4uY2Fyc2V5QGludGVsLmNvbT47IGVk azItZGV2ZWxAbGlzdHMuMDEub3JnOyBmZWxpeHBAbWFpbC5ydQ0KU3ViamVjdDogW2VkazJdIEhv dyB0byBJbnRlcnByZXQgUmVhZEtleVN0cm9rZUVYIERhdGENCg0KDQoNCihTdWJqZWN0IGNoYW5n ZWQpDQoNCg0KDQpJIGd1ZXNzIHRoaXMgaXMgYSBxdWVzdGlvbiBvZiBVRUZJIHNwZWMgaW50ZXJw cmV0YXRpb24uICBJbiB0aGUgQ29uc29sZSBJL08gUHJvdG9jb2wgZGVzY3JpcHRpb24gb2YgVmVy c2lvbiAyLjUgb2YgdGhlIHNwZWMgKHBhZ2UgNDU2KSwgaXQgc2F5czoNCg0KDQoNCiAgICBJZiB0 aGUgU2NhbiBDb2RlIGlzIHNldCB0byAweDAwIHRoZW4gdGhlIFVuaWNvZGUgY2hhcmFjdGVyIGlz DQoNCiAgICB2YWxpZCBhbmQgc2hvdWxkIGJlIHVzZWQuDQoNCg0KDQpUbyBtZSB0aGF0IGNsZWFy bHkgc2F5cyBpdCBhbGwuICBUaGUgc2hpZnQgbW9kaWZpZXIgaXMgYSBkb24ndCBjYXJlIHdoZW4g dGhlIHNjYW4gY29kZSBpcyB6ZXJvLiAgQW5kLCB0aGlzIGNoYW5nZSBpbiB0aGUgc2hlbGwgY29k ZSBzZWVtcyB0byBiZSBhIHZpb2xhdGlvbiBvZiB0aGF0IHN0YXRlbWVudC4NCg0KDQoNCkhvd2V2 ZXIsIEkgYWxzbyBzZWUgc29tZSBjb25mdXNpbmcgKGFuZCBncmFtbWF0aWNhbGx5IGluY29ycmVj dCkgdGV4dCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIFJlYWRLZXlTdHJva2VFeCgpIGZ1bmN0 aW9uIG9mIHRoZSBzaW1wbGUgdGV4dCBpbiBwcm90b2NvbCB0aGF0IEkgYW0gZ3Vlc3NpbmcgaXMg cmVsYXRlZCB0byB0aGlzIGNoYW5nZSAoKmVtcGhhc2lzKiBtaW5lKToNCg0KDQoNCiAgICBXaGVu IGludGVycHJldGluZyB0aGUgZGF0YSBmcm9tIHRoaXMgZnVuY3Rpb24sIGl0IHNob3VsZCBiZQ0K DQogICAgbm90ZWQgdGhhdCBpZiBhIGNsYXNzIG9mIHByaW50YWJsZSBjaGFyYWN0ZXJzIHRoYXQg YXJlIG5vcm1hbGx5DQoNCiAgICAqYWRqdXN0ZWQqIGJ5IHNoaWZ0IG1vZGlmaWVycyAoZS5nLiBT aGlmdCBLZXkgKyAiZiIga2V5KSB3b3VsZA0KDQogICAgYmUgcHJlc2VudGVkIHNvbGVseSBhcyBh IEtleURhdGEuS2V5LlVuaWNvZGVDaGFyIHdpdGhvdXQgdGhlDQoNCiAgICBhc3NvY2lhdGVkIHNo aWZ0IHN0YXRlLg0KDQoNCg0KV2hhdCBJIHRoaW5rIHRoZSBzcGVjIGlzIHRyeWluZyB0byBzYXkg aGVyZSBpcyB0aGF0IGZvciBBLVogYW5kIGEteiwgdGhlIGNvbnN1bWVyIGRvZXMgTk9UIG5lZWQg dG8gbG9vayBhdCB0aGUgc2hpZnQgc3RhdGUgdG8gdGVsbCAiQSIgZnJvbSAiYSIsIGZvciBleGFt cGxlLCBiZWNhdXNlIHRoZSBVbmljb2RlIGNoYXJhY3RlciB3aWxsIGJlIGVpdGhlciAiQSIgb3Ig ImEiIGFzIGFwcHJvcHJpYXRlLg0KDQoNCg0KbiAgTm8sIGl0IGlzIGFueSBrZXkgdGhhdCB3b3Vs ZCBjcmVhdGUgYSBkaXNwbGF5YWJsZSBjaGFyYWN0ZXIgdGhhdCBhZGp1c3RzIGJhc2VkIG9uIHRo ZSBzaGlmdCBzdGF0ZS4gUmVhbGl6ZSB0aGF0IHRoZSB1c2VycyBvZiBSZWFkS2V5U3Ryb2tlL1Jl YWRLZXlTdHJva2VFeCBmYWxsIGJhY2sgdG8gYSBjb21tb24gZGVub21pbmF0b3Igb2YgU2NhbiBD b2RlIG9yIFVuaWNvZGUgQ2hhcmFjdGVyLiBTbyBpZiBzb21lb25lIHR5cGVzIGEgc2hpZnQgNCwg dGhlIHVuZGVybHlpbmcga2V5Ym9hcmQgbGF5b3V0IHRoYXQgdGhlIGtleWJvYXJkIGRyaXZlciBj b250cm9scyB3b3VsZCBkaWN0YXRlIGhvdyB0aGF0IGdldHMgdHJhbnNsYXRlZC4gT24gbXkga2V5 Ym9hcmQgaW4gdGhlIFVTIGl0IHR1cm5zIGludG8gYSDigJwk4oCdIHN5bWJvbCwgd2hpbGUgc29t ZW9uZSBpbiBFdXJvcGUgbWF5IHZlcnkgd2VsbCBoYXZlIGEgc29mdHdhcmUtZGVmaW5lZCBrZXli b2FyZCBsYXlvdXQgd2hpY2ggdHJhbnNsYXRlcyB0aGUgc2FtZSBrZXlzdHJva2UgdG8gYSDigJzi gqzigJ0gc3ltYm9sLiBUaGF0IG9mIGNvdXJzZSBhcHBsaWVzIHRvIHRoZSBtYW55IGNoYXJhY3Rl cnMgeW91IHNwZWNpZmllZCAoQS1GLCBhLWYpIGFuZCBtYW55IG90aGVycy4NCg0KbiAgVGhlIHRl eHQgYWJvdmUgaXMgaW50ZW5kZWQgdG8gaW1wbHkgd2hhdCBpdCBzYXlzLCDigJxhIGNsYXNzIG9m IHByaW50YWJsZSBjaGFyYWN0ZXJzIOKApiB3b3VsZCBiZSBwcmVzZW50ZWQgc29sZWx5IGFzIGEg S2V5RGF0YS5LZXkuVW5pY29kZUNoYXIgd2l0aG91dCB0aGUgYXNzb2NpYXRlZCBzaGlmdCBzdGF0 ZS4gVGhpcyBtYWtlcyBjb25zdW1lcnMgb2YgYm90aCB0aGUgRXggYW5kIE5vbi1FeCB2YXJpYW50 IG9mIFJlYWRLZXlTdHJva2UgYWJsZSB0byB1c2UgdGhlIHNhbWUgbG9naWMgdG8gdGVzdCBmb3Ig YW55IHNoaWZ0YWJsZSBjaGFyYWN0ZXJzIGJ5IHNpbXBseSBsb29raW5nIGF0IHRoZSBVbmljb2Rl IHZhbHVlLiBJ4oCZZCBub3RlIHRoZSBzaGlmdCBhbmQgdG9nZ2xlIHN0YXRlcyAod2hpY2ggYXJl IG9ubHkgYXZhaWxhYmxlIG9uIEV4KSBhcmUgdGhlcmUgbm90IHNvIG11Y2ggZm9yIGludGVycHJl dGluZyB0aGUgdHJhbnNsYXRlZCBrZXkgYnV0IHRvIG1heGltaXplIGZsZXhpYmlsaXR5IGFzc29j aWF0ZWQgd2l0aCBrZXlib2FyZCBtYXBwaW5nIGFzIGEgVUVGSSBhcHBsaWNhdGlvbi4NCg0KDQoN CkkgdGhpbmsgc2F5aW5nIHRoaXMgaXMgdW5uZWNlc3Nhcnkgc2ltcGx5IGJlY2F1c2UgdGhlIGVh cmxpZXIgc3RhdGVtZW50IChJZiB0aGUgU2NhbiBDb2RlIGlzIHNldCB0byAweDAwIHRoZW4gdGhl IFVuaWNvZGUgY2hhcmFjdGVyIGlzIHZhbGlkIGFuZCBzaG91bGQgYmUgdXNlZC4pIGNvdmVycyB0 aGlzIGNhc2UuDQoNCg0KDQpGdXJ0aGVyLCBJIGJlbGlldmUgdGhpcyB0ZXh0IGFwcGxpZXMgb25s eSB0byB0aGUgQS1aIGtleXMgYmVjYXVzZSB0aGVpciBjb3JyZXNwb25kaW5nIGNoYXJhY3RlcnMg YXJlICphZGp1c3RlZCogKHRvIHVwcGVyIGNhc2UpIHdoZW4gdGhlIHNoaWZ0IGtleSBpcyBwcmVz c2VkLiBUaGF0IGlzLCBpZiB5b3UgYWRqdXN0ICJibHVlIiB0byAiQkxVRSIsIHlvdSBoYXZlIHR3 byBkaWZmZXJlbnQgYXBwZWFyYW5jZXMsIGJ1dCBvbmx5IG9uZSBtZWFuaW5nLg0KDQoNCg0KSG93 ZXZlciwgYSAiMyIgaXMgbm90ICphZGp1c3RlZCogdG8gYSAiIyI7IHRoZXkgYXJlIHRvdGFsbHkg ZGlmZmVyZW50IGNoYXJhY3RlcnMgd2l0aCBkaWZmZXJlbnQgbWVhbmluZ3MgYWx0b2dldGhlci4g Tm8gQyBwcmUtcHJvY2Vzc29yIHdvdWxkIGJlIGhhcHB5IHNlZWluZzogIjNpZmRlZiBTWU1CT0wi Lg0KDQoNCg0KSW4gYW55IGNhc2UsIEkgc2VlIG5vdGhpbmcgZ2FpbmVkIGJ5IGlnbm9yaW5nIGtl eXMgaGF2aW5nIGEgemVybyBzY2FuIGNvZGUgYW5kIGEgdmFsaWQgVW5pY29kZSBjaGFyYWN0ZXI7 IHRoZSBzcGVjIHNheXMgdGhhdCAidGhlIFVuaWNvZGUgY2hhcmFjdGVyIGlzIHZhbGlkIGFuZCBz aG91bGQgYmUgdXNlZCIuDQoNCg0KDQpSZWdhcmRzLA0KDQpKaW0NCg0KDQoNCj4gLS0tLS1Pcmln aW5hbCBNZXNzYWdlLS0tLS0NCg0KPiBGcm9tOiBOaSwgUnVpeXUgW21haWx0bzpydWl5dS5uaUBp bnRlbC5jb21dDQoNCj4gU2VudDogVGh1cnNkYXksIE1heSAzMSwgMjAxOCA3OjE5IFBNDQoNCj4g VG86IERhaWxleSwgSmltDQoNCj4gQ2M6IENhcnNleSwgSmFiZW47IGZlbGl4cEBtYWlsLnJ1PG1h aWx0bzpmZWxpeHBAbWFpbC5ydT47IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnPG1haWx0bzplZGsy LWRldmVsQGxpc3RzLjAxLm9yZz4NCg0KPiBTdWJqZWN0OiBSRTogW2VkazJdIFtQQVRDSF0gU2hl bGxQa2cvW2hleF1lZGl0OiB1c2UgU2ltcGxlVGV4dEluRXggdG8NCg0KPiByZWFkIGNvbnNvbGUN Cg0KPg0KDQo+IENhbiB5b3UgY2hlY2sgd2hpY2gga2V5Ym9hcmQgZHJpdmVyIGFyZSB5b3UgdXNp bmc/DQoNCj4gVGhlIGtleWJvYXJkIGRyaXZlciBpcyBleHBlY3RlZCB0byB0cmFuc2xhdGUgIlNI SUZUIiArICIzIiB0byAiIyIgKHdpdGhvdXQgU2hpZnQgc3RhdGUpLg0KDQo+IEkga25vdyB0aGF0 IHNvbWUga2V5Ym9hcmQgZHJpdmVyIGRvZXNuJ3QgZG8gdGhhdCBjb3JyZWN0bHkuDQoNCj4gRS5n LjogU0hJRlQgKyAiMyIgaXMgdHJhbnNsYXRlZCB0byAiIyIgYnV0IHRoZSBTSElGVCBzdGF0ZSBp cyBub3QgbWFza2VkIG9mZi4NCg0KPg0KDQo+IFtTb3JyeSBJIHRob3VnaHQgSSBzZW50IHRoZSBt YWlsIG91dCBkYXlzIGFnb10NCg0KPg0KDQo+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0K DQo+PiBGcm9tOiBKaW0uRGFpbGV5QGRlbGwuY29tPG1haWx0bzpKaW0uRGFpbGV5QGRlbGwuY29t PiBbbWFpbHRvOkppbS5EYWlsZXlAZGVsbC5jb21dDQoNCj4+IFNlbnQ6IFdlZG5lc2RheSwgTWF5 IDIzLCAyMDE4IDM6MDEgQU0NCg0KPj4gVG86IE5pLCBSdWl5dSA8cnVpeXUubmlAaW50ZWwuY29t PG1haWx0bzpydWl5dS5uaUBpbnRlbC5jb20+Pg0KDQo+PiBDYzogQ2Fyc2V5LCBKYWJlbiA8amFi ZW4uY2Fyc2V5QGludGVsLmNvbTxtYWlsdG86amFiZW4uY2Fyc2V5QGludGVsLmNvbT4+OyBmZWxp eHBAbWFpbC5ydTxtYWlsdG86ZmVsaXhwQG1haWwucnU+OyBlZGsyLQ0KDQo+PiBkZXZlbEBsaXN0 cy4wMS5vcmc8bWFpbHRvOmRldmVsQGxpc3RzLjAxLm9yZz4NCg0KPj4gU3ViamVjdDogUkU6IFtl ZGsyXSBbUEFUQ0hdIFNoZWxsUGtnL1toZXhdZWRpdDogdXNlIFNpbXBsZVRleHRJbkV4IHRvDQoN Cj4+IHJlYWQgY29uc29sZQ0KDQo+Pg0KDQo+PiBSYXksDQoNCj4+DQoNCj4+IFRoZSBwYXRjaCBp biB0aGUgbWVzc2FnZSBiZWxvdyB3YXMgYXBwbGllZCB0byB0aGUgdHJlZSBvbiAxMiBGZWIgdGhp cw0KDQo+PiB5ZWFyICg1NTYzMjgxZmEyYjMxMDkzYTFjYmQ0MTU1NTNiOTI2NGM1MTM2ZTg5KS4N Cg0KPj4NCg0KPj4gUGFydCBvZiB0aGUgY2hhbmdlIHRvIE1haW5UZXh0RWRpdG9yLmMgY2F1c2Vz IGFuIGlzc3VlIHdoZXJlIEkgY2Fubm90DQoNCj4+IGVudGVyIChhdCBsZWFzdCBzb21lKSBzaGlm dGVkIHB1bmN0dWF0aW9uLiAgRm9yIGV4YW1wbGUsIGFmdGVyIHRoaXMNCg0KPj4gY2hlY2sgaW4g SSBjYW5ub3QgZWRpdCBhIHNoZWxsIHNjcmlwdCBhbmQgY3JlYXRlIGEgY29tbWVudCBiZWNhdXNl IEkgY2Fubm90IGVudGVyIHRoZSAiIyIgY2hhcmFjdGVyLg0KDQo+PiBXaGVuIEkgdHJ5IHRvIHR5 cGUgIiMiLCB0aGUgc3RhdHVzIGJhciBzaW1wbHkgc2hvd3MgIlVua25vd24gQ29tbWFuZCIuDQoN Cj4+DQoNCj4+IEkgZG9uJ3QgcmVhbGx5IHVuZGVyc3RhbmQgdGhlIGNoYW5nZSwgYnV0IGlmIGlu IHRoZQ0KDQo+PiBNYWluRWRpdG9yS2V5SW5wdXQgZnVuY3Rpb24gaW4gZmlsZSBNYWluVGV4dEVk aXRvci5jIEkgZGVsZXRlIHRoZSAiTm9TaGlmdFN0YXRlIiBjaGVjayBmcm9tIHRoZSBmaXJzdCAi ZWxzZSBpZiINCg0KPj4gYmVsb3c6DQoNCj4+DQoNCj4+ICsgICAgICAgIC8vDQoNCj4+ICsgICAg ICAgIC8vIGRpc3BhdGNoIHRvIGRpZmZlcmVudCBjb21wb25lbnRzJyBrZXkgaGFuZGxpbmcgZnVu Y3Rpb24NCg0KPj4gKyAgICAgICAgLy8NCg0KPj4gKyAgICAgICAgaWYgKEVGSV9OT1RfRk9VTkQg IT0gTWVudUJhckRpc3BhdGNoQ29udHJvbEhvdEtleSgmS2V5RGF0YSkpIHsNCg0KPj4gKyAgICAg ICAgICBTdGF0dXMgPSBFRklfU1VDQ0VTUzsNCg0KPj4gKyAgICAgICAgfSBlbHNlIGlmIChOb1No aWZ0U3RhdGUgJiYgKChLZXlEYXRhLktleS5TY2FuQ29kZSA9PQ0KDQo+PiArIFNDQU5fTlVMTCkg fHwNCg0KPj4gKChLZXlEYXRhLktleS5TY2FuQ29kZSA+PSBTQ0FOX1VQKSAmJiAoS2V5RGF0YS5L ZXkuU2NhbkNvZGUgPD0NCg0KPj4gU0NBTl9QQUdFX0RPV04pKSkpIHsNCg0KPj4gKyAgICAgICAg ICBTdGF0dXMgPSBGaWxlQnVmZmVySGFuZGxlSW5wdXQgKCZLZXlEYXRhLktleSk7DQoNCj4+ICsg ICAgICAgIH0gZWxzZSBpZiAoTm9TaGlmdFN0YXRlICYmIChLZXlEYXRhLktleS5TY2FuQ29kZSA+ PSBTQ0FOX0YxKQ0KDQo+PiArICYmDQoNCj4+IChLZXlEYXRhLktleS5TY2FuQ29kZSA8PSBTQ0FO X0YxMikpIHsNCg0KPj4gKyAgICAgICAgICBTdGF0dXMgPSBNZW51QmFyRGlzcGF0Y2hGdW5jdGlv bktleSAoJktleURhdGEuS2V5KTsNCg0KPj4gKyAgICAgICAgfSBlbHNlIHsNCg0KPj4gKyAgICAg ICAgICBTdGF0dXNCYXJTZXRTdGF0dXNTdHJpbmcgKEwiVW5rbm93biBDb21tYW5kIik7DQoNCj4+ ICsgICAgICAgICAgRmlsZUJ1ZmZlck1vdXNlTmVlZFJlZnJlc2ggPSBGQUxTRTsNCg0KPj4gKyAg ICAgICAgfQ0KDQo+Pg0KDQo+PiB0aGVuIEkgYW0gYWJsZSB0byBlbnRlciAiIyIgYW5kIG90aGVy IGNoYXJhY3RlcnMgdGhhdCBJIHByZXZpb3VzbHkNCg0KPj4gd2FzIHVuYWJsZSB0byBlbnRlci4N Cg0KPj4NCg0KPj4gQ2FuIHlvdSBoYXZlIGEgbG9vayBhdCB0aGlzPyAgSSBhc3N1bWUgYW55IHNo ZWxsIGJpbmFyeSBidWlsdCB3aXRoDQoNCj4+IHRoaXMgY2hhbmdlIHdpbGwgaGF2ZSBhIHNpbWls YXIgaXNzdWUuDQoNCj4+DQoNCj4+IFRoYW5rcywNCg0KPj4gSmltDQoNCj4+DQoNCj4+PiAtLS0t LU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KDQo+Pj4gRnJvbTogZWRrMi1kZXZlbCBbbWFpbHRvOmVk azItZGV2ZWwtYm91bmNlc0BsaXN0cy4wMS5vcmddIE9uIEJlaGFsZg0KDQo+Pj4gT2YgUnVpeXUg TmkNCg0KPj4+IFNlbnQ6IE1vbmRheSwgRmVicnVhcnkgMTIsIDIwMTggOTozNCBBTQ0KDQo+Pj4g VG86IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnPG1haWx0bzplZGsyLWRldmVsQGxpc3RzLjAxLm9y Zz4NCg0KPj4+IENjOiBKYWJlbiBDYXJzZXk7IEZlbGl4DQoNCj4+PiBTdWJqZWN0OiBbZWRrMl0g W1BBVENIXSBTaGVsbFBrZy9baGV4XWVkaXQ6IHVzZSBTaW1wbGVUZXh0SW5FeCB0bw0KDQo+Pj4g cmVhZCBjb25zb2xlDQoNCj4+Pg0KDQo+Pj4gUkVGOiBodHRwczovL2J1Z3ppbGxhLnRpYW5vY29y ZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4Mg0KDQo+Pj4NCg0KPj4+IEVkaXQgYW5kIEhleEVkaXQg Y29tbWFuZHMgYXNzdW1lIHRoYXQgU2ltcGxlVHh0SW4gdHJhbnNsYXRlcw0KDQo+Pj4gQ3RybCs8 QWxwaGEtS2V5PiBrZXkgY29tYmluYXRpb25zIGludG8gVW5pY29kZSBjb250cm9sIGNoYXJhY3Rl cnMNCg0KPj4+ICgweDEtMHgxQSkuDQoNCj4+Pg0KDQo+Pj4gU3VjaCB0cmFuc2xhdGlvbiBkb2Vz IG5vdCBzZWVtIHRvIGJlIHJlcXVpcmVkIGJ5IHRoZSBVRUZJIHNwZWMuDQoNCj4+PiBTaGVsbCBz aG91bGQgbm90IHJlbHkgb24gaW1wbGVtZW50YXRpb24gc3BlY2lmaWMgYmVoYXZpb3IuDQoNCj4+ PiBJdCBzaG91bGQgaW5zdGVhZCB1c2UgU2ltcGxlVGV4dEluRXggdG8gcmVhZCBDdHJsKzxBbHBo YS1LZXk+IGtleSBjb21iaW5hdGlvbnMuDQoNCj4+Pg0KDQo+Pj4gVGhlIHBhdGNoIGNoYW5nZXMg ZWRpdCBhbmQgaGV4ZWRpdCB0byBvbmx5IGNvbnN1bWVzIFNpbXBsZVRleHRJbkV4Lg0KDQo+Pj4N Cg0KPj4+IENvbnRyaWJ1dGVkLXVuZGVyOiBUaWFub0NvcmUgQ29udHJpYnV0aW9uIEFncmVlbWVu dCAxLjENCg0KPj4+IFNpZ25lZC1vZmYtYnk6IFJ1aXl1IE5pIDxydWl5dS5uaUBpbnRlbC5jb208 bWFpbHRvOnJ1aXl1Lm5pQGludGVsLmNvbT4+DQoNCj4+PiBSZXBvcnRlZC1ieTogRmVsaXggPGZl bGl4cEBtYWlsLnJ1PG1haWx0bzpmZWxpeHBAbWFpbC5ydT4+DQoNCj4+PiBDYzogRmVsaXggPGZl bGl4cEBtYWlsLnJ1PG1haWx0bzpmZWxpeHBAbWFpbC5ydT4+DQoNCj4+PiBDYzogSmFiZW4gQ2Fy c2V5IDxqYWJlbi5jYXJzZXlAaW50ZWwuY29tPG1haWx0bzpqYWJlbi5jYXJzZXlAaW50ZWwuY29t Pj4NCg0KPj4+IC0tLQ0KDQo+Pj4gIC4uLi9FZGl0L01haW5UZXh0RWRpdG9yLmMgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgMTM1ICsrKysrKysrKy0tLS0tDQoNCj4+PiAgLi4uL0VkaXQvVGV4 dEVkaXRvclR5cGVzLmggICAgICAgICAgICAgICAgICAgICAgICAgfCAgMjEgKystDQoNCj4+PiAg Li4uL1VlZmlTaGVsbERlYnVnMUNvbW1hbmRzTGliL0VkaXRJbnB1dEJhci5jICAgICAgfCAgMzQg KysrLQ0KDQo+Pj4gIC4uLi9VZWZpU2hlbGxEZWJ1ZzFDb21tYW5kc0xpYi9FZGl0SW5wdXRCYXIu aCAgICAgIHwgICA2ICstDQoNCj4+PiAgLi4uL1VlZmlTaGVsbERlYnVnMUNvbW1hbmRzTGliL0Vk aXRNZW51QmFyLmMgICAgICAgfCAgMzggKysrLQ0KDQo+Pj4gIC4uLi9VZWZpU2hlbGxEZWJ1ZzFD b21tYW5kc0xpYi9FZGl0TWVudUJhci5oICAgICAgIHwgICA2ICstDQoNCj4+PiAgLi4uL0hleEVk aXQvSGV4RWRpdG9yVHlwZXMuaCAgICAgICAgICAgICAgICAgICAgICAgfCAgMjUgKy0tDQoNCj4+ PiAgLi4uL0hleEVkaXQvTWFpbkhleEVkaXRvci5jICAgICAgICAgICAgICAgICAgICAgICAgfCAy MDUgKysrKysrKysrKysrKy0tLS0tLS0tDQoNCj4+PiAgOCBmaWxlcyBjaGFuZ2VkLCAzMDkgaW5z ZXJ0aW9ucygrKSwgMTYxIGRlbGV0aW9ucygtKQ0KDQo+Pj4NCg0KPj4+IC0tLS0tLS0tLTg8LS0t LS0gY2xpcCAtLS0tLT44LS0tLS0tLS0NCg0KPj4+DQoNCj4+PiAtLQ0KDQo+Pj4gMi4xNi4xLndp bmRvd3MuMQ0KDQo+Pj4NCg0KPj4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fDQoNCj4+PiBlZGsyLWRldmVsIG1haWxpbmcgbGlzdA0KDQo+Pj4gZWRrMi1k ZXZlbEBsaXN0cy4wMS5vcmc8bWFpbHRvOmVkazItZGV2ZWxAbGlzdHMuMDEub3JnPg0KDQo+Pj4g aHR0cHM6Ly9saXN0cy4wMS5vcmcvbWFpbG1hbi9saXN0aW5mby9lZGsyLWRldmVsDQoNCg0KDQpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KDQplZGsyLWRl dmVsIG1haWxpbmcgbGlzdA0KDQplZGsyLWRldmVsQGxpc3RzLjAxLm9yZzxtYWlsdG86ZWRrMi1k ZXZlbEBsaXN0cy4wMS5vcmc+DQoNCmh0dHBzOi8vbGlzdHMuMDEub3JnL21haWxtYW4vbGlzdGlu Zm8vZWRrMi1kZXZlbA0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18NCmVkazItZGV2ZWwgbWFpbGluZyBsaXN0DQplZGsyLWRldmVsQGxpc3RzLjAxLm9yZw0K aHR0cHM6Ly9saXN0cy4wMS5vcmcvbWFpbG1hbi9saXN0aW5mby9lZGsyLWRldmVsDQo=