From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.groups.io with SMTP id smtpd.web08.3063.1622061104486997142 for ; Wed, 26 May 2021 13:31:44 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=Oqf/Ti4C; spf=pass (domain: redhat.com, ip: 216.205.24.124, mailfrom: lersek@redhat.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1622061103; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=tTs3Yd3y0dewCz9Z48Gj2jEOi+PY0GndfdRngbOAVFs=; b=Oqf/Ti4C65c9kAruyes4fSgotUa2KTO3zwovu3iyb3zpjw5FjBn45mo+iOe9i6ZLOE4Xh0 GqZHPSlP1hi4uTE4AP5j2kZBNRPPF7vjPAbpzZH4A/WPz/l/15h5ewyA6NMTZAcI3PjER2 RpUM8IV5mfssAVCHU1VXqknxBlf1Zh8= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-133-3S7N_2RdPsGl5QlrfiDu2g-1; Wed, 26 May 2021 16:31:41 -0400 X-MC-Unique: 3S7N_2RdPsGl5QlrfiDu2g-1 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 8AF93107ACE3; Wed, 26 May 2021 20:31:40 +0000 (UTC) Received: from lacos-laptop-7.usersys.redhat.com (ovpn-114-61.ams2.redhat.com [10.36.114.61]) by smtp.corp.redhat.com (Postfix) with ESMTP id E6E006EF41; Wed, 26 May 2021 20:31:38 +0000 (UTC) From: "Laszlo Ersek" To: devel@edk2.groups.io Cc: Anthony Perard , Ard Biesheuvel , Jordan Justen , Julien Grall , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH 16/43] OvmfPkg/XenAcpiPlatformDxe: remove OVMF's built-in ACPI tables Date: Wed, 26 May 2021 22:14:19 +0200 Message-Id: <20210526201446.12554-17-lersek@redhat.com> In-Reply-To: <20210526201446.12554-1-lersek@redhat.com> References: <20210526201446.12554-1-lersek@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=lersek@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 WGVuIGlzIGFuIGFkdmFuY2VkIGh5cGVydmlzb3I7IG5vIFhlbiBndWVzdCBjYW4gZnVuY3Rpb24g Y29ycmVjdGx5IHdpdGhvdXQKdGhlIGh5cGVydmlzb3IncyBkeW5hbWljYWxseSBwcm92aWRlZCBB Q1BJIHRhYmxlcy4gUmVtb3ZlIHRoZSBidWlsdC1pbgooZmFsbGJhY2spIHRhYmxlcyBmcm9tIFhl bkFjcGlQbGF0Zm9ybUR4ZSAtLSBhbmQgdGhlIE92bWZYZW4gcGxhdGZvcm0uCgpSZW1vdmUgYW55 IGRlcGVuZGVuY2llcyBmcm9tIFhlbkFjcGlQbGF0Zm9ybUR4ZSB0aGF0IGFyZSBubyBsb25nZXIg bmVlZGVkLgoKQ2M6IEFudGhvbnkgUGVyYXJkIDxhbnRob255LnBlcmFyZEBjaXRyaXguY29tPgpD YzogQXJkIEJpZXNoZXV2ZWwgPGFyZGIrdGlhbm9jb3JlQGtlcm5lbC5vcmc+CkNjOiBKb3JkYW4g SnVzdGVuIDxqb3JkYW4ubC5qdXN0ZW5AaW50ZWwuY29tPgpDYzogSnVsaWVuIEdyYWxsIDxqdWxp ZW5AeGVuLm9yZz4KQ2M6IFBoaWxpcHBlIE1hdGhpZXUtRGF1ZMOpIDxwaGlsbWRAcmVkaGF0LmNv bT4KUmVmOiBodHRwczovL2J1Z3ppbGxhLnRpYW5vY29yZS5vcmcvc2hvd19idWcuY2dpP2lkPTIx MjIKU2lnbmVkLW9mZi1ieTogTGFzemxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbT4KLS0tCiBP dm1mUGtnL092bWZYZW4uZHNjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxIC0K IE92bWZQa2cvT3ZtZlhlbi5mZGYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDcg LQogT3ZtZlBrZy9YZW5BY3BpUGxhdGZvcm1EeGUvWGVuQWNwaVBsYXRmb3JtRHhlLmluZiB8ICAg MiAtCiBPdm1mUGtnL1hlbkFjcGlQbGF0Zm9ybUR4ZS9BY3BpUGxhdGZvcm0uYyAgICAgICAgIHwg MjAyIC0tLS0tLS0tLS0tLS0tLS0tLS0tCiA0IGZpbGVzIGNoYW5nZWQsIDIxMiBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9Pdm1mUGtnL092bWZYZW4uZHNjIGIvT3ZtZlBrZy9Pdm1mWGVuLmRz YwppbmRleCA0ZDUxNzFjZDQzYzEuLmJjZjY0MjQyZDA1YyAxMDA2NDQKLS0tIGEvT3ZtZlBrZy9P dm1mWGVuLmRzYworKysgYi9Pdm1mUGtnL092bWZYZW4uZHNjCkBAIC02NTAsMTMgKzY1MCwxMiBA QCBbQ29tcG9uZW50c10KIA0KICAgIw0KICAgIyBBQ1BJIFN1cHBvcnQNCiAgICMNCiAgIE1kZU1v ZHVsZVBrZy9Vbml2ZXJzYWwvQWNwaS9BY3BpVGFibGVEeGUvQWNwaVRhYmxlRHhlLmluZg0KICAg T3ZtZlBrZy9YZW5BY3BpUGxhdGZvcm1EeGUvWGVuQWNwaVBsYXRmb3JtRHhlLmluZg0KLSAgT3Zt ZlBrZy9BY3BpVGFibGVzL0FjcGlUYWJsZXMuaW5mDQogICBNZGVNb2R1bGVQa2cvVW5pdmVyc2Fs L0FjcGkvUzNTYXZlU3RhdGVEeGUvUzNTYXZlU3RhdGVEeGUuaW5mDQogICBNZGVNb2R1bGVQa2cv VW5pdmVyc2FsL0FjcGkvQm9vdFNjcmlwdEV4ZWN1dG9yRHhlL0Jvb3RTY3JpcHRFeGVjdXRvckR4 ZS5pbmYNCiAgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvQWNwaS9Cb290R3JhcGhpY3NSZXNvdXJj ZVRhYmxlRHhlL0Jvb3RHcmFwaGljc1Jlc291cmNlVGFibGVEeGUuaW5mDQogDQogICAjDQogICAj IE5ldHdvcmsgU3VwcG9ydA0KZGlmZiAtLWdpdCBhL092bWZQa2cvT3ZtZlhlbi5mZGYgYi9Pdm1m UGtnL092bWZYZW4uZmRmCmluZGV4IDg1MzA2MjQ1YjUwZi4uOGRhYTAwMGRlNDZhIDEwMDY0NAot LS0gYS9Pdm1mUGtnL092bWZYZW4uZmRmCisrKyBiL092bWZQa2cvT3ZtZlhlbi5mZGYKQEAgLTM1 MCwxMyArMzUwLDEyIEBAIFtGVi5EWEVGVl0KIA0KIElORiAgTWRlTW9kdWxlUGtnL1VuaXZlcnNh bC9TbWJpb3NEeGUvU21iaW9zRHhlLmluZg0KIElORiAgT3ZtZlBrZy9TbWJpb3NQbGF0Zm9ybUR4 ZS9TbWJpb3NQbGF0Zm9ybUR4ZS5pbmYNCiANCiBJTkYgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwv QWNwaS9BY3BpVGFibGVEeGUvQWNwaVRhYmxlRHhlLmluZg0KIElORiAgT3ZtZlBrZy9YZW5BY3Bp UGxhdGZvcm1EeGUvWGVuQWNwaVBsYXRmb3JtRHhlLmluZg0KLUlORiAgUnVsZU92ZXJyaWRlPUFD UElUQUJMRSBPdm1mUGtnL0FjcGlUYWJsZXMvQWNwaVRhYmxlcy5pbmYNCiBJTkYgIE1kZU1vZHVs ZVBrZy9Vbml2ZXJzYWwvQWNwaS9TM1NhdmVTdGF0ZUR4ZS9TM1NhdmVTdGF0ZUR4ZS5pbmYNCiBJ TkYgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvQWNwaS9Cb290U2NyaXB0RXhlY3V0b3JEeGUvQm9v dFNjcmlwdEV4ZWN1dG9yRHhlLmluZg0KIElORiAgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9BY3Bp L0Jvb3RHcmFwaGljc1Jlc291cmNlVGFibGVEeGUvQm9vdEdyYXBoaWNzUmVzb3VyY2VUYWJsZUR4 ZS5pbmYNCiANCiBJTkYgIEZhdFBrZy9FbmhhbmNlZEZhdER4ZS9GYXQuaW5mDQogSU5GICBNZGVN b2R1bGVQa2cvVW5pdmVyc2FsL0Rpc2svVWRmRHhlL1VkZkR4ZS5pbmYNCkBAIC01MjEsMTggKzUy MCwxMiBAQCBbUnVsZS5Db21tb24uVUVGSV9BUFBMSUNBVElPTi5CSU5BUlldCiAgIEZJTEUgQVBQ TElDQVRJT04gPSAkKE5BTUVEX0dVSUQpIHsNCiAgICAgUEUzMiAgICAgIFBFMzIgICAgICAgICAg ICAgICAgICAgIHwuZWZpDQogICAgIFVJICAgICAgICBTVFJJTkc9IiQoTU9EVUxFX05BTUUpIiBP cHRpb25hbA0KICAgICBWRVJTSU9OICAgU1RSSU5HPSIkKElORl9WRVJTSU9OKSIgT3B0aW9uYWwg QlVJTERfTlVNPSQoQlVJTERfTlVNQkVSKQ0KICAgfQ0KIA0KLVtSdWxlLkNvbW1vbi5VU0VSX0RF RklORUQuQUNQSVRBQkxFXQ0KLSAgRklMRSBGUkVFRk9STSA9ICQoTkFNRURfR1VJRCkgew0KLSAg ICBSQVcgQUNQSSAgICAgICAgICAgICAgIHwuYWNwaQ0KLSAgICBSQVcgQVNMICAgICAgICAgICAg ICAgIHwuYW1sDQotICB9DQotDQogW1J1bGUuQ29tbW9uLlVTRVJfREVGSU5FRC5DU01dDQogICBG SUxFIEZSRUVGT1JNID0gJChOQU1FRF9HVUlEKSB7DQogICAgIFJBVyBCSU4gICAgICAgICAgICAg ICAgfC5iaW4NCiAgIH0NCiANCiBbUnVsZS5Db21tb24uU0VDLlJFU0VUX1ZFQ1RPUl0NCmRpZmYg LS1naXQgYS9Pdm1mUGtnL1hlbkFjcGlQbGF0Zm9ybUR4ZS9YZW5BY3BpUGxhdGZvcm1EeGUuaW5m IGIvT3ZtZlBrZy9YZW5BY3BpUGxhdGZvcm1EeGUvWGVuQWNwaVBsYXRmb3JtRHhlLmluZgppbmRl eCBjYThlN2U1NWY3ODguLmRiOWI2ZTA5M2RlNCAxMDA2NDQKLS0tIGEvT3ZtZlBrZy9YZW5BY3Bp UGxhdGZvcm1EeGUvWGVuQWNwaVBsYXRmb3JtRHhlLmluZgorKysgYi9Pdm1mUGtnL1hlbkFjcGlQ bGF0Zm9ybUR4ZS9YZW5BY3BpUGxhdGZvcm1EeGUuaW5mCkBAIC0zOSwxNyArMzksMTUgQEAgW0xp YnJhcnlDbGFzc2VzXQogICBVZWZpQm9vdFNlcnZpY2VzVGFibGVMaWINCiAgIFVlZmlEcml2ZXJF bnRyeVBvaW50DQogICBYZW5QbGF0Zm9ybUxpYg0KIA0KIFtQcm90b2NvbHNdDQogICBnRWZpQWNw aVRhYmxlUHJvdG9jb2xHdWlkICAgICAgICAgICAgICAgICAgICAgIyBQUk9UT0NPTCBBTFdBWVNf Q09OU1VNRUQNCi0gIGdFZmlGaXJtd2FyZVZvbHVtZTJQcm90b2NvbEd1aWQgICAgICAgICAgICAg ICAjIFBST1RPQ09MIFNPTUVUSU1FU19DT05TVU1FRA0KIA0KIFtHdWlkc10NCiAgIGdSb290QnJp ZGdlc0Nvbm5lY3RlZEV2ZW50R3JvdXBHdWlkDQogDQogW1BjZF0NCi0gIGdFZmlNZGVNb2R1bGVQ a2dUb2tlblNwYWNlR3VpZC5QY2RBY3BpVGFibGVTdG9yYWdlRmlsZQ0KICAgZ0VmaU1kZU1vZHVs ZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFBjaURpc2FibGVCdXNFbnVtZXJhdGlvbg0KIA0KIFtEZXBl eF0NCiAgIGdFZmlBY3BpVGFibGVQcm90b2NvbEd1aWQNCmRpZmYgLS1naXQgYS9Pdm1mUGtnL1hl bkFjcGlQbGF0Zm9ybUR4ZS9BY3BpUGxhdGZvcm0uYyBiL092bWZQa2cvWGVuQWNwaVBsYXRmb3Jt RHhlL0FjcGlQbGF0Zm9ybS5jCmluZGV4IGRhZjJiZjNmNDU4YS4uNjA1NzZmM2NjNmQ2IDEwMDY0 NAotLS0gYS9Pdm1mUGtnL1hlbkFjcGlQbGF0Zm9ybUR4ZS9BY3BpUGxhdGZvcm0uYworKysgYi9P dm1mUGtnL1hlbkFjcGlQbGF0Zm9ybUR4ZS9BY3BpUGxhdGZvcm0uYwpAQCAtNCwyMTQgKzQsMTYg QEAKICAgQ29weXJpZ2h0IChDKSAyMDIxLCBSZWQgSGF0LCBJbmMuDQogICBDb3B5cmlnaHQgKGMp IDIwMDggLSAyMDEyLCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+ DQogICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KIA0KICoq Lw0KIA0KLSNpbmNsdWRlIDxMaWJyYXJ5L0RlYnVnTGliLmg+ICAgICAgICAgICAgICAgICAvLyBB U1NFUlRfRUZJX0VSUk9SKCkNCi0jaW5jbHVkZSA8TGlicmFyeS9VZWZpQm9vdFNlcnZpY2VzVGFi bGVMaWIuaD4gLy8gZ0JTDQogI2luY2x1ZGUgPExpYnJhcnkvWGVuUGxhdGZvcm1MaWIuaD4gICAg ICAgICAgIC8vIFhlbkRldGVjdGVkKCkNCi0jaW5jbHVkZSA8UHJvdG9jb2wvRmlybXdhcmVWb2x1 bWUyLmg+ICAgICAgICAgLy8gZ0VmaUZpcm13YXJlVm9sdW1lMlByb3RvY29sLi4uDQogDQogI2lu Y2x1ZGUgIkFjcGlQbGF0Zm9ybS5oIg0KIA0KLS8qKg0KLSAgTG9jYXRlIHRoZSBmaXJzdCBpbnN0 YW5jZSBvZiBhIHByb3RvY29sLiAgSWYgdGhlIHByb3RvY29sIHJlcXVlc3RlZCBpcyBhbg0KLSAg RlYgcHJvdG9jb2wsIHRoZW4gaXQgd2lsbCByZXR1cm4gdGhlIGZpcnN0IEZWIHRoYXQgY29udGFp bnMgdGhlIEFDUEkgdGFibGUNCi0gIHN0b3JhZ2UgZmlsZS4NCi0NCi0gIEBwYXJhbSAgSW5zdGFu Y2UgICAgICBSZXR1cm4gcG9pbnRlciB0byB0aGUgZmlyc3QgaW5zdGFuY2Ugb2YgdGhlIHByb3Rv Y29sDQotDQotICBAcmV0dXJuIEVGSV9TVUNDRVNTICAgICAgICAgICBUaGUgZnVuY3Rpb24gY29t cGxldGVkIHN1Y2Nlc3NmdWxseS4NCi0gIEByZXR1cm4gRUZJX05PVF9GT1VORCAgICAgICAgIFRo ZSBwcm90b2NvbCBjb3VsZCBub3QgYmUgbG9jYXRlZC4NCi0gIEByZXR1cm4gRUZJX09VVF9PRl9S RVNPVVJDRVMgIFRoZXJlIGFyZSBub3QgZW5vdWdoIHJlc291cmNlcyB0byBmaW5kIHRoZSBwcm90 b2NvbC4NCi0NCi0qKi8NCi1FRklfU1RBVFVTDQotTG9jYXRlRnZJbnN0YW5jZVdpdGhUYWJsZXMg KA0KLSAgT1VUIEVGSV9GSVJNV0FSRV9WT0xVTUUyX1BST1RPQ09MICoqSW5zdGFuY2UNCi0gICkN Ci17DQotICBFRklfU1RBVFVTICAgICAgICAgICAgICAgICAgICBTdGF0dXM7DQotICBFRklfSEFO RExFICAgICAgICAgICAgICAgICAgICAqSGFuZGxlQnVmZmVyOw0KLSAgVUlOVE4gICAgICAgICAg ICAgICAgICAgICAgICAgTnVtYmVyT2ZIYW5kbGVzOw0KLSAgRUZJX0ZWX0ZJTEVUWVBFICAgICAg ICAgICAgICAgRmlsZVR5cGU7DQotICBVSU5UMzIgICAgICAgICAgICAgICAgICAgICAgICBGdlN0 YXR1czsNCi0gIEVGSV9GVl9GSUxFX0FUVFJJQlVURVMgICAgICAgIEF0dHJpYnV0ZXM7DQotICBV SU5UTiAgICAgICAgICAgICAgICAgICAgICAgICBTaXplOw0KLSAgVUlOVE4gICAgICAgICAgICAg ICAgICAgICAgICAgSW5kZXg7DQotICBFRklfRklSTVdBUkVfVk9MVU1FMl9QUk9UT0NPTCAqRnZJ bnN0YW5jZTsNCi0NCi0gIEZ2U3RhdHVzID0gMDsNCi0NCi0gIC8vDQotICAvLyBMb2NhdGUgcHJv dG9jb2wuDQotICAvLw0KLSAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVIYW5kbGVCdWZmZXIgKA0KLSAg ICAgICAgICAgICAgICAgICBCeVByb3RvY29sLA0KLSAgICAgICAgICAgICAgICAgICAmZ0VmaUZp cm13YXJlVm9sdW1lMlByb3RvY29sR3VpZCwNCi0gICAgICAgICAgICAgICAgICAgTlVMTCwNCi0g ICAgICAgICAgICAgICAgICAgJk51bWJlck9mSGFuZGxlcywNCi0gICAgICAgICAgICAgICAgICAg JkhhbmRsZUJ1ZmZlcg0KLSAgICAgICAgICAgICAgICAgICApOw0KLSAgaWYgKEVGSV9FUlJPUiAo U3RhdHVzKSkgew0KLSAgICAvLw0KLSAgICAvLyBEZWZpbmVkIGVycm9ycyBhdCB0aGlzIHRpbWUg YXJlIG5vdCBmb3VuZCBhbmQgb3V0IG9mIHJlc291cmNlcy4NCi0gICAgLy8NCi0gICAgcmV0dXJu IFN0YXR1czsNCi0gIH0NCi0NCi0gIC8vDQotICAvLyBMb29raW5nIGZvciBGViB3aXRoIEFDUEkg c3RvcmFnZSBmaWxlDQotICAvLw0KLSAgZm9yIChJbmRleCA9IDA7IEluZGV4IDwgTnVtYmVyT2ZI YW5kbGVzOyBJbmRleCsrKSB7DQotICAgIC8vDQotICAgIC8vIEdldCB0aGUgcHJvdG9jb2wgb24g dGhpcyBoYW5kbGUNCi0gICAgLy8gVGhpcyBzaG91bGQgbm90IGZhaWwgYmVjYXVzZSBvZiBMb2Nh dGVIYW5kbGVCdWZmZXINCi0gICAgLy8NCi0gICAgU3RhdHVzID0gZ0JTLT5IYW5kbGVQcm90b2Nv bCAoDQotICAgICAgICAgICAgICAgICAgICAgSGFuZGxlQnVmZmVyW0luZGV4XSwNCi0gICAgICAg ICAgICAgICAgICAgICAmZ0VmaUZpcm13YXJlVm9sdW1lMlByb3RvY29sR3VpZCwNCi0gICAgICAg ICAgICAgICAgICAgICAoVk9JRCoqKSAmRnZJbnN0YW5jZQ0KLSAgICAgICAgICAgICAgICAgICAg ICk7DQotICAgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQotDQotICAgIC8vDQotICAgIC8v IFNlZSBpZiBpdCBoYXMgdGhlIEFDUEkgc3RvcmFnZSBmaWxlDQotICAgIC8vDQotICAgIFN0YXR1 cyA9IEZ2SW5zdGFuY2UtPlJlYWRGaWxlICgNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBG dkluc3RhbmNlLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgIChFRklfR1VJRCopUGNkR2V0 UHRyIChQY2RBY3BpVGFibGVTdG9yYWdlRmlsZSksDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgTlVMTCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAmU2l6ZSwNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAmRmlsZVR5cGUsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg JkF0dHJpYnV0ZXMsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgJkZ2U3RhdHVzDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgKTsNCi0NCi0gICAgLy8NCi0gICAgLy8gSWYgd2UgZm91 bmQgaXQsIHRoZW4gd2UgYXJlIGRvbmUNCi0gICAgLy8NCi0gICAgaWYgKFN0YXR1cyA9PSBFRklf U1VDQ0VTUykgew0KLSAgICAgICpJbnN0YW5jZSA9IEZ2SW5zdGFuY2U7DQotICAgICAgYnJlYWs7 DQotICAgIH0NCi0gIH0NCi0NCi0gIC8vDQotICAvLyBPdXIgZXhpdCBzdGF0dXMgaXMgZGV0ZXJt aW5lZCBieSB0aGUgc3VjY2VzcyBvZiB0aGUgcHJldmlvdXMgb3BlcmF0aW9ucw0KLSAgLy8gSWYg dGhlIHByb3RvY29sIHdhcyBmb3VuZCwgSW5zdGFuY2UgYWxyZWFkeSBwb2ludHMgdG8gaXQuDQot ICAvLw0KLQ0KLSAgLy8NCi0gIC8vIEZyZWUgYW55IGFsbG9jYXRlZCBidWZmZXJzDQotICAvLw0K LSAgZ0JTLT5GcmVlUG9vbCAoSGFuZGxlQnVmZmVyKTsNCi0NCi0gIHJldHVybiBTdGF0dXM7DQot fQ0KLQ0KLQ0KLS8qKg0KLSAgRmluZCBBQ1BJIHRhYmxlcyBpbiBhbiBGViBhbmQgaW5zdGFsbCB0 aGVtLg0KLQ0KLSAgVGhpcyBpcyBub3cgYSBmYWxsLWJhY2sgcGF0aC4gTm9ybWFsbHksIHdlIHdp bGwgc2VhcmNoIGZvciB0YWJsZXMgcHJvdmlkZWQNCi0gIGJ5IHRoZSBWTU0gZmlyc3QuDQotDQot ICBJZiB0aGF0IGZhaWxzLCB3ZSB1c2UgdGhpcyBmdW5jdGlvbiB0byBsb2FkIHRoZSBBQ1BJIHRh YmxlcyBmcm9tIGFuIEZWLiBUaGUNCi0gIHNvdXJjZXMgZm9yIHRoZSBGViBiYXNlZCB0YWJsZXMg aXMgbG9jYXRlZCB1bmRlciBPdm1mUGtnL0FjcGlUYWJsZXMuDQotDQotICBAcGFyYW0gIEFjcGlU YWJsZSAgICAgUHJvdG9jb2wgaW5zdGFuY2UgcG9pbnRlcg0KLQ0KLSoqLw0KLUVGSV9TVEFUVVMN Ci1FRklBUEkNCi1JbnN0YWxsT3ZtZkZ2VGFibGVzICgNCi0gIElOICBFRklfQUNQSV9UQUJMRV9Q Uk9UT0NPTCAgICAgKkFjcGlUYWJsZQ0KLSAgKQ0KLXsNCi0gIEVGSV9TVEFUVVMgICAgICAgICAg ICAgICAgICAgICAgICAgICBTdGF0dXM7DQotICBFRklfRklSTVdBUkVfVk9MVU1FMl9QUk9UT0NP TCAgICAgICAgKkZ3Vm9sOw0KLSAgSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IEluc3RhbmNlOw0KLSAgRUZJX0FDUElfQ09NTU9OX0hFQURFUiAgICAgICAgICAgICAgICpDdXJy ZW50VGFibGU7DQotICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGFibGVI YW5kbGU7DQotICBVSU5UMzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRnZTdGF0dXM7 DQotICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGFibGVTaXplOw0KLSAg VUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNpemU7DQotDQotICBJbnN0YW5j ZSAgICAgPSAwOw0KLSAgQ3VycmVudFRhYmxlID0gTlVMTDsNCi0gIFRhYmxlSGFuZGxlICA9IDA7 DQotDQotICAvLw0KLSAgLy8gc2V0IEZ3Vm9sIChhbmQgdXNlIGFuIEFTU0VSVCgpIGJlbG93KSB0 byBzdXBwcmVzcyBpbmNvcnJlY3QNCi0gIC8vIGNvbXBpbGVyL2FuYWx5emVyIHdhcm5pbmdzDQot ICAvLw0KLSAgRndWb2wgPSBOVUxMOw0KLSAgLy8NCi0gIC8vIExvY2F0ZSB0aGUgZmlybXdhcmUg dm9sdW1lIHByb3RvY29sDQotICAvLw0KLSAgU3RhdHVzID0gTG9jYXRlRnZJbnN0YW5jZVdpdGhU YWJsZXMgKCZGd1ZvbCk7DQotICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQotICAgIHJldHVy biBFRklfQUJPUlRFRDsNCi0gIH0NCi0gIEFTU0VSVCAoRndWb2wgIT0gTlVMTCk7DQotDQotICAv Lw0KLSAgLy8gUmVhZCB0YWJsZXMgZnJvbSB0aGUgc3RvcmFnZSBmaWxlLg0KLSAgLy8NCi0gIHdo aWxlIChTdGF0dXMgPT0gRUZJX1NVQ0NFU1MpIHsNCi0NCi0gICAgU3RhdHVzID0gRndWb2wtPlJl YWRTZWN0aW9uICgNCi0gICAgICAgICAgICAgICAgICAgICAgRndWb2wsDQotICAgICAgICAgICAg ICAgICAgICAgIChFRklfR1VJRCopUGNkR2V0UHRyIChQY2RBY3BpVGFibGVTdG9yYWdlRmlsZSks DQotICAgICAgICAgICAgICAgICAgICAgIEVGSV9TRUNUSU9OX1JBVywNCi0gICAgICAgICAgICAg ICAgICAgICAgSW5zdGFuY2UsDQotICAgICAgICAgICAgICAgICAgICAgIChWT0lEKiopICZDdXJy ZW50VGFibGUsDQotICAgICAgICAgICAgICAgICAgICAgICZTaXplLA0KLSAgICAgICAgICAgICAg ICAgICAgICAmRnZTdGF0dXMNCi0gICAgICAgICAgICAgICAgICAgICAgKTsNCi0gICAgaWYgKCFF RklfRVJST1IgKFN0YXR1cykpIHsNCi0gICAgICAvLw0KLSAgICAgIC8vIEFkZCB0aGUgdGFibGUN Ci0gICAgICAvLw0KLSAgICAgIFRhYmxlSGFuZGxlID0gMDsNCi0NCi0gICAgICBUYWJsZVNpemUg PSAoKEVGSV9BQ1BJX0RFU0NSSVBUSU9OX0hFQURFUiAqKSBDdXJyZW50VGFibGUpLT5MZW5ndGg7 DQotICAgICAgQVNTRVJUIChTaXplID49IFRhYmxlU2l6ZSk7DQotDQotICAgICAgLy8NCi0gICAg ICAvLyBJbnN0YWxsIEFDUEkgdGFibGUNCi0gICAgICAvLw0KLSAgICAgIFN0YXR1cyA9IEFjcGlU YWJsZS0+SW5zdGFsbEFjcGlUYWJsZSAoDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFj cGlUYWJsZSwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3VycmVudFRhYmxlLA0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICBUYWJsZVNpemUsDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICZUYWJsZUhhbmRsZQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICApOw0K LQ0KLSAgICAgIC8vDQotICAgICAgLy8gRnJlZSBtZW1vcnkgYWxsb2NhdGVkIGJ5IFJlYWRTZWN0 aW9uDQotICAgICAgLy8NCi0gICAgICBnQlMtPkZyZWVQb29sIChDdXJyZW50VGFibGUpOw0KLQ0K LSAgICAgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCi0gICAgICAgIHJldHVybiBFRklfQUJP UlRFRDsNCi0gICAgICB9DQotDQotICAgICAgLy8NCi0gICAgICAvLyBJbmNyZW1lbnQgdGhlIGlu c3RhbmNlDQotICAgICAgLy8NCi0gICAgICBJbnN0YW5jZSsrOw0KLSAgICAgIEN1cnJlbnRUYWJs ZSA9IE5VTEw7DQotICAgIH0NCi0gIH0NCi0NCi0gIHJldHVybiBFRklfU1VDQ0VTUzsNCi19DQot DQogLyoqDQogICBFZmZlY3RpdmUgZW50cnlwb2ludCBvZiBBY3BpIFBsYXRmb3JtIGRyaXZlci4N CiANCiAgIEBwYXJhbSAgSW1hZ2VIYW5kbGUNCiAgIEBwYXJhbSAgU3lzdGVtVGFibGUNCiANCkBA IC0yMzEsMTMgKzMzLDkgQEAgSW5zdGFsbEFjcGlUYWJsZXMgKAogICBpZiAoWGVuRGV0ZWN0ZWQg KCkpIHsNCiAgICAgU3RhdHVzID0gSW5zdGFsbFhlblRhYmxlcyAoQWNwaVRhYmxlKTsNCiAgIH0g ZWxzZSB7DQogICAgIFN0YXR1cyA9IEVGSV9VTlNVUFBPUlRFRDsNCiAgIH0NCiANCi0gIGlmIChF RklfRVJST1IgKFN0YXR1cykpIHsNCi0gICAgU3RhdHVzID0gSW5zdGFsbE92bWZGdlRhYmxlcyAo QWNwaVRhYmxlKTsNCi0gIH0NCi0NCiAgIHJldHVybiBTdGF0dXM7DQogfQ0KIA0KLS0gCjIuMTku MS4zLmczMDI0N2FhNWQyMDEKCgo=