From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-1.mimecast.com (us-smtp-1.mimecast.com [207.211.31.120]) by mx.groups.io with SMTP id smtpd.web11.9225.1582478765962567881 for ; Sun, 23 Feb 2020 09:26:06 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=fn7bfSnK; spf=pass (domain: redhat.com, ip: 207.211.31.120, mailfrom: lersek@redhat.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1582478765; 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=+vnHIBi5jpvFKBqfnbAQa2F2LD6WdfJliTayKv9kMXI=; b=fn7bfSnKAst4xeCdXmgStDCZtixly+4fGamqnNWjC2OMKX2HcUs7VLUu+nPirdd2SWo6Hw GRXgHapo3d9/RboURtVcHRhR7PFkJXt2VNFIEz0xylbjN+eSWFA75zlGRM/CiKDuShDx8B rb27puiWCv714o/163/BcmYR6/3Yc0Y= 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-221-2LUy5JGOMWmzgcs4DsIf1A-1; Sun, 23 Feb 2020 12:25:57 -0500 X-MC-Unique: 2LUy5JGOMWmzgcs4DsIf1A-1 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 8B782800D50; Sun, 23 Feb 2020 17:25:56 +0000 (UTC) Received: from lacos-laptop-7.usersys.redhat.com (ovpn-116-53.ams2.redhat.com [10.36.116.53]) by smtp.corp.redhat.com (Postfix) with ESMTP id A39305C105; Sun, 23 Feb 2020 17:25:54 +0000 (UTC) From: "Laszlo Ersek" To: edk2-devel-groups-io Cc: Ard Biesheuvel , Igor Mammedov , Jiewen Yao , Jordan Justen , Michael Kinney , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH 06/16] OvmfPkg/CpuHotplugSmm: introduce skeleton for CPU Hotplug SMM driver Date: Sun, 23 Feb 2020 18:25:27 +0100 Message-Id: <20200223172537.28464-7-lersek@redhat.com> In-Reply-To: <20200223172537.28464-1-lersek@redhat.com> References: <20200223172537.28464-1-lersek@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 QWRkIGEgbmV3IFNNTSBkcml2ZXIgc2tlbGV0b24gdGhhdCByZWdpc3RlcnMgYSByb290IFNNSSBo YW5kbGVyLCBhbmQKY2hlY2tzIGlmIHRoZSBTTUkgY29udHJvbCB2YWx1ZSAod3JpdHRlbiB0byAw eEIyKSBpbmRpY2F0ZXMgYSBDUFUgaG90cGx1ZwpTTUkuCgpRRU1VJ3MgQUNQSSBwYXlsb2FkIHdp bGwgY2F1c2UgdGhlIE9TIHRvIHJhaXNlIGEgYnJvYWRjYXN0IFNNSSB3aGVuIGEgQ1BVCmhvdHBs dWcgZXZlbnQgb2NjdXJzLCBuYW1lbHkgYnkgd3JpdGluZyB2YWx1ZSA0IHRvIElPIFBvcnQgMHhC Mi4gSW4gb3RoZXIKd29yZHMsIGNvbnRyb2wgdmFsdWUgNCBpcyBub3cgYWxsb2NhdGVkIGZvciB0 aGlzIHB1cnBvc2U7IGludHJvZHVjZSB0aGUKSUNIOV9BUE1fQ05UX0NQVV9IT1RQTFVHIG1hY3Jv IGZvciBpdC4KClRoZSBzdGFuZGFyZCBpZGVudGlmaWVycyBpbiB0aGlzIGRyaXZlciB1c2UgdGhl IG5ldyBNTSAoTWFuYWdlbWVudCBNb2RlKQp0ZXJtaW5vbG9neSBmcm9tIHRoZSBQSSBzcGVjLCBu b3QgdGhlIGVhcmxpZXIgU01NIChTeXN0ZW0gTWFuYWdlbWVudCBNb2RlKQp0ZXJtcy4KCkNjOiBB cmQgQmllc2hldXZlbCA8YXJkLmJpZXNoZXV2ZWxAbGluYXJvLm9yZz4KQ2M6IElnb3IgTWFtbWVk b3YgPGltYW1tZWRvQHJlZGhhdC5jb20+CkNjOiBKaWV3ZW4gWWFvIDxqaWV3ZW4ueWFvQGludGVs LmNvbT4KQ2M6IEpvcmRhbiBKdXN0ZW4gPGpvcmRhbi5sLmp1c3RlbkBpbnRlbC5jb20+CkNjOiBN aWNoYWVsIEtpbm5leSA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+CkNjOiBQaGlsaXBwZSBN YXRoaWV1LURhdWTDqSA8cGhpbG1kQHJlZGhhdC5jb20+ClJlZjogaHR0cHM6Ly9idWd6aWxsYS50 aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTEyClNpZ25lZC1vZmYtYnk6IExhc3psbyBF cnNlayA8bGVyc2VrQHJlZGhhdC5jb20+Ci0tLQogT3ZtZlBrZy9Pdm1mUGtnSWEzMi5kc2MgICAg ICAgICAgICAgICAgICAgICAgIHwgICAxICsKIE92bWZQa2cvT3ZtZlBrZ0lhMzJYNjQuZHNjICAg ICAgICAgICAgICAgICAgICB8ICAgMSArCiBPdm1mUGtnL092bWZQa2dYNjQuZHNjICAgICAgICAg ICAgICAgICAgICAgICAgfCAgIDEgKwogT3ZtZlBrZy9Pdm1mUGtnSWEzMi5mZGYgICAgICAgICAg ICAgICAgICAgICAgIHwgICAxICsKIE92bWZQa2cvT3ZtZlBrZ0lhMzJYNjQuZmRmICAgICAgICAg ICAgICAgICAgICB8ICAgMSArCiBPdm1mUGtnL092bWZQa2dYNjQuZmRmICAgICAgICAgICAgICAg ICAgICAgICAgfCAgIDEgKwogT3ZtZlBrZy9JbmNsdWRlL0luZHVzdHJ5U3RhbmRhcmQvUTM1TWNo SWNoOS5oIHwgICA1ICstCiBPdm1mUGtnL0NwdUhvdHBsdWdTbW0vQ3B1SG90cGx1Z1NtbS5pbmYg ICAgICAgfCAgNDggKysrKysKIE92bWZQa2cvQ3B1SG90cGx1Z1NtbS9DcHVIb3RwbHVnLmMgICAg ICAgICAgICB8IDE5MSArKysrKysrKysrKysrKysrKysrKwogOSBmaWxlcyBjaGFuZ2VkLCAyNDgg aW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Pdm1mUGtnL092bWZQ a2dJYTMyLmRzYyBiL092bWZQa2cvT3ZtZlBrZ0lhMzIuZHNjCmluZGV4IDhjMDY1Y2E3Y2VjOS4u NzgzMTBkYTQ0YTVmIDEwMDY0NAotLS0gYS9Pdm1mUGtnL092bWZQa2dJYTMyLmRzYworKysgYi9P dm1mUGtnL092bWZQa2dJYTMyLmRzYwpAQCAtODUxLDQ0ICs4NTEsNDUgQEAgW0NvbXBvbmVudHNd CiANCiAgIE92bWZQa2cvUGxhdGZvcm1EeGUvUGxhdGZvcm0uaW5mDQogICBPdm1mUGtnL0lvTW11 RHhlL0lvTW11RHhlLmluZg0KIA0KICFpZiAkKFNNTV9SRVFVSVJFKSA9PSBUUlVFDQogICBPdm1m UGtnL1NtbUFjY2Vzcy9TbW1BY2Nlc3MyRHhlLmluZg0KICAgT3ZtZlBrZy9TbW1Db250cm9sMkR4 ZS9TbW1Db250cm9sMkR4ZS5pbmYNCiAgIFVlZmlDcHVQa2cvQ3B1UzNEYXRhRHhlL0NwdVMzRGF0 YUR4ZS5pbmYNCiANCiAgICMNCiAgICMgU01NIEluaXRpYWwgUHJvZ3JhbSBMb2FkIChhIERYRV9S VU5USU1FX0RSSVZFUikNCiAgICMNCiAgIE1kZU1vZHVsZVBrZy9Db3JlL1BpU21tQ29yZS9QaVNt bUlwbC5pbmYNCiANCiAgICMNCiAgICMgU01NX0NPUkUNCiAgICMNCiAgIE1kZU1vZHVsZVBrZy9D b3JlL1BpU21tQ29yZS9QaVNtbUNvcmUuaW5mDQogDQogICAjDQogICAjIFByaXZpbGVnZWQgZHJp dmVycyAoRFhFX1NNTV9EUklWRVIgbW9kdWxlcykNCiAgICMNCisgIE92bWZQa2cvQ3B1SG90cGx1 Z1NtbS9DcHVIb3RwbHVnU21tLmluZg0KICAgVWVmaUNwdVBrZy9DcHVJbzJTbW0vQ3B1SW8yU21t LmluZg0KICAgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9Mb2NrQm94L1NtbUxvY2tCb3gvU21tTG9j a0JveC5pbmYgew0KICAgICA8TGlicmFyeUNsYXNzZXM+DQogICAgICAgTG9ja0JveExpYnxNZGVN b2R1bGVQa2cvTGlicmFyeS9TbW1Mb2NrQm94TGliL1NtbUxvY2tCb3hTbW1MaWIuaW5mDQogICB9 DQogICBVZWZpQ3B1UGtnL1BpU21tQ3B1RHhlU21tL1BpU21tQ3B1RHhlU21tLmluZiB7DQogICAg IDxMaWJyYXJ5Q2xhc3Nlcz4NCiAgICAgICBTbW1DcHVQbGF0Zm9ybUhvb2tMaWJ8T3ZtZlBrZy9M aWJyYXJ5L1NtbUNwdVBsYXRmb3JtSG9va0xpYlFlbXUvU21tQ3B1UGxhdGZvcm1Ib29rTGliUWVt dS5pbmYNCiAgICAgICBTbW1DcHVGZWF0dXJlc0xpYnxPdm1mUGtnL0xpYnJhcnkvU21tQ3B1RmVh dHVyZXNMaWIvU21tQ3B1RmVhdHVyZXNMaWIuaW5mDQogICB9DQogDQogICAjDQogICAjIFZhcmlh YmxlIGRyaXZlciBzdGFjayAoU01NKQ0KICAgIw0KICAgT3ZtZlBrZy9RZW11Rmxhc2hGdmJTZXJ2 aWNlc1J1bnRpbWVEeGUvRnZiU2VydmljZXNTbW0uaW5mDQogICBNZGVNb2R1bGVQa2cvVW5pdmVy c2FsL0ZhdWx0VG9sZXJhbnRXcml0ZUR4ZS9GYXVsdFRvbGVyYW50V3JpdGVTbW0uaW5mDQogICBN ZGVNb2R1bGVQa2cvVW5pdmVyc2FsL1ZhcmlhYmxlL1J1bnRpbWVEeGUvVmFyaWFibGVTbW0uaW5m IHsNCiAgICAgPExpYnJhcnlDbGFzc2VzPg0KICAgICAgIE5VTEx8TWRlTW9kdWxlUGtnL0xpYnJh cnkvVmFyQ2hlY2tVZWZpTGliL1ZhckNoZWNrVWVmaUxpYi5pbmYNCiAgIH0NCiAgIE1kZU1vZHVs ZVBrZy9Vbml2ZXJzYWwvVmFyaWFibGUvUnVudGltZUR4ZS9WYXJpYWJsZVNtbVJ1bnRpbWVEeGUu aW5mDQogDQpkaWZmIC0tZ2l0IGEvT3ZtZlBrZy9Pdm1mUGtnSWEzMlg2NC5kc2MgYi9Pdm1mUGtn L092bWZQa2dJYTMyWDY0LmRzYwppbmRleCA5NDRiNzg1ZTYxYTkuLjQyODU3OGE0ZjgzOSAxMDA2 NDQKLS0tIGEvT3ZtZlBrZy9Pdm1mUGtnSWEzMlg2NC5kc2MKKysrIGIvT3ZtZlBrZy9Pdm1mUGtn SWEzMlg2NC5kc2MKQEAgLTg2NSw0NCArODY1LDQ1IEBAIFtDb21wb25lbnRzLlg2NF0KICAgT3Zt ZlBrZy9QbGF0Zm9ybUR4ZS9QbGF0Zm9ybS5pbmYNCiAgIE92bWZQa2cvQW1kU2V2RHhlL0FtZFNl dkR4ZS5pbmYNCiAgIE92bWZQa2cvSW9NbXVEeGUvSW9NbXVEeGUuaW5mDQogDQogIWlmICQoU01N X1JFUVVJUkUpID09IFRSVUUNCiAgIE92bWZQa2cvU21tQWNjZXNzL1NtbUFjY2VzczJEeGUuaW5m DQogICBPdm1mUGtnL1NtbUNvbnRyb2wyRHhlL1NtbUNvbnRyb2wyRHhlLmluZg0KICAgVWVmaUNw dVBrZy9DcHVTM0RhdGFEeGUvQ3B1UzNEYXRhRHhlLmluZg0KIA0KICAgIw0KICAgIyBTTU0gSW5p dGlhbCBQcm9ncmFtIExvYWQgKGEgRFhFX1JVTlRJTUVfRFJJVkVSKQ0KICAgIw0KICAgTWRlTW9k dWxlUGtnL0NvcmUvUGlTbW1Db3JlL1BpU21tSXBsLmluZg0KIA0KICAgIw0KICAgIyBTTU1fQ09S RQ0KICAgIw0KICAgTWRlTW9kdWxlUGtnL0NvcmUvUGlTbW1Db3JlL1BpU21tQ29yZS5pbmYNCiAN CiAgICMNCiAgICMgUHJpdmlsZWdlZCBkcml2ZXJzIChEWEVfU01NX0RSSVZFUiBtb2R1bGVzKQ0K ICAgIw0KKyAgT3ZtZlBrZy9DcHVIb3RwbHVnU21tL0NwdUhvdHBsdWdTbW0uaW5mDQogICBVZWZp Q3B1UGtnL0NwdUlvMlNtbS9DcHVJbzJTbW0uaW5mDQogICBNZGVNb2R1bGVQa2cvVW5pdmVyc2Fs L0xvY2tCb3gvU21tTG9ja0JveC9TbW1Mb2NrQm94LmluZiB7DQogICAgIDxMaWJyYXJ5Q2xhc3Nl cz4NCiAgICAgICBMb2NrQm94TGlifE1kZU1vZHVsZVBrZy9MaWJyYXJ5L1NtbUxvY2tCb3hMaWIv U21tTG9ja0JveFNtbUxpYi5pbmYNCiAgIH0NCiAgIFVlZmlDcHVQa2cvUGlTbW1DcHVEeGVTbW0v UGlTbW1DcHVEeGVTbW0uaW5mIHsNCiAgICAgPExpYnJhcnlDbGFzc2VzPg0KICAgICAgIFNtbUNw dVBsYXRmb3JtSG9va0xpYnxPdm1mUGtnL0xpYnJhcnkvU21tQ3B1UGxhdGZvcm1Ib29rTGliUWVt dS9TbW1DcHVQbGF0Zm9ybUhvb2tMaWJRZW11LmluZg0KICAgICAgIFNtbUNwdUZlYXR1cmVzTGli fE92bWZQa2cvTGlicmFyeS9TbW1DcHVGZWF0dXJlc0xpYi9TbW1DcHVGZWF0dXJlc0xpYi5pbmYN CiAgIH0NCiANCiAgICMNCiAgICMgVmFyaWFibGUgZHJpdmVyIHN0YWNrIChTTU0pDQogICAjDQog ICBPdm1mUGtnL1FlbXVGbGFzaEZ2YlNlcnZpY2VzUnVudGltZUR4ZS9GdmJTZXJ2aWNlc1NtbS5p bmYNCiAgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvRmF1bHRUb2xlcmFudFdyaXRlRHhlL0ZhdWx0 VG9sZXJhbnRXcml0ZVNtbS5pbmYNCiAgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvVmFyaWFibGUv UnVudGltZUR4ZS9WYXJpYWJsZVNtbS5pbmYgew0KICAgICA8TGlicmFyeUNsYXNzZXM+DQogICAg ICAgTlVMTHxNZGVNb2R1bGVQa2cvTGlicmFyeS9WYXJDaGVja1VlZmlMaWIvVmFyQ2hlY2tVZWZp TGliLmluZg0KICAgfQ0KICAgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9WYXJpYWJsZS9SdW50aW1l RHhlL1ZhcmlhYmxlU21tUnVudGltZUR4ZS5pbmYNCiANCmRpZmYgLS1naXQgYS9Pdm1mUGtnL092 bWZQa2dYNjQuZHNjIGIvT3ZtZlBrZy9Pdm1mUGtnWDY0LmRzYwppbmRleCA4ZGUwZjcxNzk3ODQu LjczYjkyZjI1OTIwMSAxMDA2NDQKLS0tIGEvT3ZtZlBrZy9Pdm1mUGtnWDY0LmRzYworKysgYi9P dm1mUGtnL092bWZQa2dYNjQuZHNjCkBAIC04NjMsNDQgKzg2Myw0NSBAQCBbQ29tcG9uZW50c10K ICAgT3ZtZlBrZy9QbGF0Zm9ybUR4ZS9QbGF0Zm9ybS5pbmYNCiAgIE92bWZQa2cvQW1kU2V2RHhl L0FtZFNldkR4ZS5pbmYNCiAgIE92bWZQa2cvSW9NbXVEeGUvSW9NbXVEeGUuaW5mDQogDQogIWlm ICQoU01NX1JFUVVJUkUpID09IFRSVUUNCiAgIE92bWZQa2cvU21tQWNjZXNzL1NtbUFjY2VzczJE eGUuaW5mDQogICBPdm1mUGtnL1NtbUNvbnRyb2wyRHhlL1NtbUNvbnRyb2wyRHhlLmluZg0KICAg VWVmaUNwdVBrZy9DcHVTM0RhdGFEeGUvQ3B1UzNEYXRhRHhlLmluZg0KIA0KICAgIw0KICAgIyBT TU0gSW5pdGlhbCBQcm9ncmFtIExvYWQgKGEgRFhFX1JVTlRJTUVfRFJJVkVSKQ0KICAgIw0KICAg TWRlTW9kdWxlUGtnL0NvcmUvUGlTbW1Db3JlL1BpU21tSXBsLmluZg0KIA0KICAgIw0KICAgIyBT TU1fQ09SRQ0KICAgIw0KICAgTWRlTW9kdWxlUGtnL0NvcmUvUGlTbW1Db3JlL1BpU21tQ29yZS5p bmYNCiANCiAgICMNCiAgICMgUHJpdmlsZWdlZCBkcml2ZXJzIChEWEVfU01NX0RSSVZFUiBtb2R1 bGVzKQ0KICAgIw0KKyAgT3ZtZlBrZy9DcHVIb3RwbHVnU21tL0NwdUhvdHBsdWdTbW0uaW5mDQog ICBVZWZpQ3B1UGtnL0NwdUlvMlNtbS9DcHVJbzJTbW0uaW5mDQogICBNZGVNb2R1bGVQa2cvVW5p dmVyc2FsL0xvY2tCb3gvU21tTG9ja0JveC9TbW1Mb2NrQm94LmluZiB7DQogICAgIDxMaWJyYXJ5 Q2xhc3Nlcz4NCiAgICAgICBMb2NrQm94TGlifE1kZU1vZHVsZVBrZy9MaWJyYXJ5L1NtbUxvY2tC b3hMaWIvU21tTG9ja0JveFNtbUxpYi5pbmYNCiAgIH0NCiAgIFVlZmlDcHVQa2cvUGlTbW1DcHVE eGVTbW0vUGlTbW1DcHVEeGVTbW0uaW5mIHsNCiAgICAgPExpYnJhcnlDbGFzc2VzPg0KICAgICAg IFNtbUNwdVBsYXRmb3JtSG9va0xpYnxPdm1mUGtnL0xpYnJhcnkvU21tQ3B1UGxhdGZvcm1Ib29r TGliUWVtdS9TbW1DcHVQbGF0Zm9ybUhvb2tMaWJRZW11LmluZg0KICAgICAgIFNtbUNwdUZlYXR1 cmVzTGlifE92bWZQa2cvTGlicmFyeS9TbW1DcHVGZWF0dXJlc0xpYi9TbW1DcHVGZWF0dXJlc0xp Yi5pbmYNCiAgIH0NCiANCiAgICMNCiAgICMgVmFyaWFibGUgZHJpdmVyIHN0YWNrIChTTU0pDQog ICAjDQogICBPdm1mUGtnL1FlbXVGbGFzaEZ2YlNlcnZpY2VzUnVudGltZUR4ZS9GdmJTZXJ2aWNl c1NtbS5pbmYNCiAgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvRmF1bHRUb2xlcmFudFdyaXRlRHhl L0ZhdWx0VG9sZXJhbnRXcml0ZVNtbS5pbmYNCiAgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvVmFy aWFibGUvUnVudGltZUR4ZS9WYXJpYWJsZVNtbS5pbmYgew0KICAgICA8TGlicmFyeUNsYXNzZXM+ DQogICAgICAgTlVMTHxNZGVNb2R1bGVQa2cvTGlicmFyeS9WYXJDaGVja1VlZmlMaWIvVmFyQ2hl Y2tVZWZpTGliLmluZg0KICAgfQ0KICAgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9WYXJpYWJsZS9S dW50aW1lRHhlL1ZhcmlhYmxlU21tUnVudGltZUR4ZS5pbmYNCiANCmRpZmYgLS1naXQgYS9Pdm1m UGtnL092bWZQa2dJYTMyLmZkZiBiL092bWZQa2cvT3ZtZlBrZ0lhMzIuZmRmCmluZGV4IDYzNjA3 NTUxZWQ3NS4uNjFiODkxNzY1YzU2IDEwMDY0NAotLS0gYS9Pdm1mUGtnL092bWZQa2dJYTMyLmZk ZgorKysgYi9Pdm1mUGtnL092bWZQa2dJYTMyLmZkZgpAQCAtMzAxLDQ0ICszMDEsNDUgQEAgW0ZW LkRYRUZWXQogSU5GICBNZGVNb2R1bGVQa2cvQnVzL1VzYi9Vc2JLYkR4ZS9Vc2JLYkR4ZS5pbmYN CiBJTkYgIE1kZU1vZHVsZVBrZy9CdXMvVXNiL1VzYk1hc3NTdG9yYWdlRHhlL1VzYk1hc3NTdG9y YWdlRHhlLmluZg0KIA0KICFpZmRlZiAkKENTTV9FTkFCTEUpDQogSU5GICBPdm1mUGtnL0NzbS9C aW9zVGh1bmsvVmlkZW9EeGUvVmlkZW9EeGUuaW5mDQogSU5GICBPdm1mUGtnL0NzbS9MZWdhY3lC aW9zRHhlL0xlZ2FjeUJpb3NEeGUuaW5mDQogSU5GICBSdWxlT3ZlcnJpZGU9Q1NNIE92bWZQa2cv Q3NtL0NzbTE2L0NzbTE2LmluZg0KICFlbHNlDQogSU5GICBPdm1mUGtnL1FlbXVWaWRlb0R4ZS9R ZW11VmlkZW9EeGUuaW5mDQogIWVuZGlmDQogDQogSU5GICBPdm1mUGtnL1FlbXVSYW1mYkR4ZS9R ZW11UmFtZmJEeGUuaW5mDQogSU5GICBPdm1mUGtnL1ZpcnRpb0dwdUR4ZS9WaXJ0aW9HcHUuaW5m DQogSU5GICBPdm1mUGtnL1BsYXRmb3JtRHhlL1BsYXRmb3JtLmluZg0KIElORiAgT3ZtZlBrZy9J b01tdUR4ZS9Jb01tdUR4ZS5pbmYNCiANCiAhaWYgJChTTU1fUkVRVUlSRSkgPT0gVFJVRQ0KIElO RiAgT3ZtZlBrZy9TbW1BY2Nlc3MvU21tQWNjZXNzMkR4ZS5pbmYNCiBJTkYgIE92bWZQa2cvU21t Q29udHJvbDJEeGUvU21tQ29udHJvbDJEeGUuaW5mDQogSU5GICBVZWZpQ3B1UGtnL0NwdVMzRGF0 YUR4ZS9DcHVTM0RhdGFEeGUuaW5mDQogSU5GICBNZGVNb2R1bGVQa2cvQ29yZS9QaVNtbUNvcmUv UGlTbW1JcGwuaW5mDQogSU5GICBNZGVNb2R1bGVQa2cvQ29yZS9QaVNtbUNvcmUvUGlTbW1Db3Jl LmluZg0KK0lORiAgT3ZtZlBrZy9DcHVIb3RwbHVnU21tL0NwdUhvdHBsdWdTbW0uaW5mDQogSU5G ICBVZWZpQ3B1UGtnL0NwdUlvMlNtbS9DcHVJbzJTbW0uaW5mDQogSU5GICBNZGVNb2R1bGVQa2cv VW5pdmVyc2FsL0xvY2tCb3gvU21tTG9ja0JveC9TbW1Mb2NrQm94LmluZg0KIElORiAgVWVmaUNw dVBrZy9QaVNtbUNwdUR4ZVNtbS9QaVNtbUNwdUR4ZVNtbS5pbmYNCiANCiAjDQogIyBWYXJpYWJs ZSBkcml2ZXIgc3RhY2sgKFNNTSkNCiAjDQogSU5GICBPdm1mUGtnL1FlbXVGbGFzaEZ2YlNlcnZp Y2VzUnVudGltZUR4ZS9GdmJTZXJ2aWNlc1NtbS5pbmYNCiBJTkYgIE1kZU1vZHVsZVBrZy9Vbml2 ZXJzYWwvRmF1bHRUb2xlcmFudFdyaXRlRHhlL0ZhdWx0VG9sZXJhbnRXcml0ZVNtbS5pbmYNCiBJ TkYgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvVmFyaWFibGUvUnVudGltZUR4ZS9WYXJpYWJsZVNt bS5pbmYNCiBJTkYgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvVmFyaWFibGUvUnVudGltZUR4ZS9W YXJpYWJsZVNtbVJ1bnRpbWVEeGUuaW5mDQogDQogIWVsc2UNCiANCiAjDQogIyBWYXJpYWJsZSBk cml2ZXIgc3RhY2sgKG5vbi1TTU0pDQogIw0KIElORiAgT3ZtZlBrZy9RZW11Rmxhc2hGdmJTZXJ2 aWNlc1J1bnRpbWVEeGUvRnZiU2VydmljZXNSdW50aW1lRHhlLmluZg0KIElORiAgT3ZtZlBrZy9F bXVWYXJpYWJsZUZ2YlJ1bnRpbWVEeGUvRnZiLmluZg0KIElORiAgTWRlTW9kdWxlUGtnL1VuaXZl cnNhbC9GYXVsdFRvbGVyYW50V3JpdGVEeGUvRmF1bHRUb2xlcmFudFdyaXRlRHhlLmluZg0KIElO RiAgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9WYXJpYWJsZS9SdW50aW1lRHhlL1ZhcmlhYmxlUnVu dGltZUR4ZS5pbmYNCiAhZW5kaWYNCmRpZmYgLS1naXQgYS9Pdm1mUGtnL092bWZQa2dJYTMyWDY0 LmZkZiBiL092bWZQa2cvT3ZtZlBrZ0lhMzJYNjQuZmRmCmluZGV4IDA0ODhlNWQ5NWZmZS4uNTAx YjRmY2I3YjY3IDEwMDY0NAotLS0gYS9Pdm1mUGtnL092bWZQa2dJYTMyWDY0LmZkZgorKysgYi9P dm1mUGtnL092bWZQa2dJYTMyWDY0LmZkZgpAQCAtMzA4LDQ0ICszMDgsNDUgQEAgW0ZWLkRYRUZW XQogSU5GICBNZGVNb2R1bGVQa2cvQnVzL1VzYi9Vc2JNYXNzU3RvcmFnZUR4ZS9Vc2JNYXNzU3Rv cmFnZUR4ZS5pbmYNCiANCiAhaWZkZWYgJChDU01fRU5BQkxFKQ0KIElORiAgT3ZtZlBrZy9Dc20v Qmlvc1RodW5rL1ZpZGVvRHhlL1ZpZGVvRHhlLmluZg0KIElORiAgT3ZtZlBrZy9Dc20vTGVnYWN5 Qmlvc0R4ZS9MZWdhY3lCaW9zRHhlLmluZg0KIElORiAgUnVsZU92ZXJyaWRlPUNTTSBPdm1mUGtn L0NzbS9Dc20xNi9Dc20xNi5pbmYNCiAhZWxzZQ0KIElORiAgT3ZtZlBrZy9RZW11VmlkZW9EeGUv UWVtdVZpZGVvRHhlLmluZg0KICFlbmRpZg0KIA0KIElORiAgT3ZtZlBrZy9RZW11UmFtZmJEeGUv UWVtdVJhbWZiRHhlLmluZg0KIElORiAgT3ZtZlBrZy9WaXJ0aW9HcHVEeGUvVmlydGlvR3B1Lmlu Zg0KIElORiAgT3ZtZlBrZy9QbGF0Zm9ybUR4ZS9QbGF0Zm9ybS5pbmYNCiBJTkYgIE92bWZQa2cv QW1kU2V2RHhlL0FtZFNldkR4ZS5pbmYNCiBJTkYgIE92bWZQa2cvSW9NbXVEeGUvSW9NbXVEeGUu aW5mDQogDQogIWlmICQoU01NX1JFUVVJUkUpID09IFRSVUUNCiBJTkYgIE92bWZQa2cvU21tQWNj ZXNzL1NtbUFjY2VzczJEeGUuaW5mDQogSU5GICBPdm1mUGtnL1NtbUNvbnRyb2wyRHhlL1NtbUNv bnRyb2wyRHhlLmluZg0KIElORiAgVWVmaUNwdVBrZy9DcHVTM0RhdGFEeGUvQ3B1UzNEYXRhRHhl LmluZg0KIElORiAgTWRlTW9kdWxlUGtnL0NvcmUvUGlTbW1Db3JlL1BpU21tSXBsLmluZg0KIElO RiAgTWRlTW9kdWxlUGtnL0NvcmUvUGlTbW1Db3JlL1BpU21tQ29yZS5pbmYNCitJTkYgIE92bWZQ a2cvQ3B1SG90cGx1Z1NtbS9DcHVIb3RwbHVnU21tLmluZg0KIElORiAgVWVmaUNwdVBrZy9DcHVJ bzJTbW0vQ3B1SW8yU21tLmluZg0KIElORiAgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9Mb2NrQm94 L1NtbUxvY2tCb3gvU21tTG9ja0JveC5pbmYNCiBJTkYgIFVlZmlDcHVQa2cvUGlTbW1DcHVEeGVT bW0vUGlTbW1DcHVEeGVTbW0uaW5mDQogDQogIw0KICMgVmFyaWFibGUgZHJpdmVyIHN0YWNrIChT TU0pDQogIw0KIElORiAgT3ZtZlBrZy9RZW11Rmxhc2hGdmJTZXJ2aWNlc1J1bnRpbWVEeGUvRnZi U2VydmljZXNTbW0uaW5mDQogSU5GICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0ZhdWx0VG9sZXJh bnRXcml0ZUR4ZS9GYXVsdFRvbGVyYW50V3JpdGVTbW0uaW5mDQogSU5GICBNZGVNb2R1bGVQa2cv VW5pdmVyc2FsL1ZhcmlhYmxlL1J1bnRpbWVEeGUvVmFyaWFibGVTbW0uaW5mDQogSU5GICBNZGVN b2R1bGVQa2cvVW5pdmVyc2FsL1ZhcmlhYmxlL1J1bnRpbWVEeGUvVmFyaWFibGVTbW1SdW50aW1l RHhlLmluZg0KIA0KICFlbHNlDQogDQogIw0KICMgVmFyaWFibGUgZHJpdmVyIHN0YWNrIChub24t U01NKQ0KICMNCiBJTkYgIE92bWZQa2cvUWVtdUZsYXNoRnZiU2VydmljZXNSdW50aW1lRHhlL0Z2 YlNlcnZpY2VzUnVudGltZUR4ZS5pbmYNCiBJTkYgIE92bWZQa2cvRW11VmFyaWFibGVGdmJSdW50 aW1lRHhlL0Z2Yi5pbmYNCiBJTkYgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvRmF1bHRUb2xlcmFu dFdyaXRlRHhlL0ZhdWx0VG9sZXJhbnRXcml0ZUR4ZS5pbmYNCiBJTkYgIE1kZU1vZHVsZVBrZy9V bml2ZXJzYWwvVmFyaWFibGUvUnVudGltZUR4ZS9WYXJpYWJsZVJ1bnRpbWVEeGUuaW5mDQogIWVu ZGlmDQpkaWZmIC0tZ2l0IGEvT3ZtZlBrZy9Pdm1mUGtnWDY0LmZkZiBiL092bWZQa2cvT3ZtZlBr Z1g2NC5mZGYKaW5kZXggMDQ4OGU1ZDk1ZmZlLi41MDFiNGZjYjdiNjcgMTAwNjQ0Ci0tLSBhL092 bWZQa2cvT3ZtZlBrZ1g2NC5mZGYKKysrIGIvT3ZtZlBrZy9Pdm1mUGtnWDY0LmZkZgpAQCAtMzA4 LDQ0ICszMDgsNDUgQEAgW0ZWLkRYRUZWXQogSU5GICBNZGVNb2R1bGVQa2cvQnVzL1VzYi9Vc2JN YXNzU3RvcmFnZUR4ZS9Vc2JNYXNzU3RvcmFnZUR4ZS5pbmYNCiANCiAhaWZkZWYgJChDU01fRU5B QkxFKQ0KIElORiAgT3ZtZlBrZy9Dc20vQmlvc1RodW5rL1ZpZGVvRHhlL1ZpZGVvRHhlLmluZg0K IElORiAgT3ZtZlBrZy9Dc20vTGVnYWN5Qmlvc0R4ZS9MZWdhY3lCaW9zRHhlLmluZg0KIElORiAg UnVsZU92ZXJyaWRlPUNTTSBPdm1mUGtnL0NzbS9Dc20xNi9Dc20xNi5pbmYNCiAhZWxzZQ0KIElO RiAgT3ZtZlBrZy9RZW11VmlkZW9EeGUvUWVtdVZpZGVvRHhlLmluZg0KICFlbmRpZg0KIA0KIElO RiAgT3ZtZlBrZy9RZW11UmFtZmJEeGUvUWVtdVJhbWZiRHhlLmluZg0KIElORiAgT3ZtZlBrZy9W aXJ0aW9HcHVEeGUvVmlydGlvR3B1LmluZg0KIElORiAgT3ZtZlBrZy9QbGF0Zm9ybUR4ZS9QbGF0 Zm9ybS5pbmYNCiBJTkYgIE92bWZQa2cvQW1kU2V2RHhlL0FtZFNldkR4ZS5pbmYNCiBJTkYgIE92 bWZQa2cvSW9NbXVEeGUvSW9NbXVEeGUuaW5mDQogDQogIWlmICQoU01NX1JFUVVJUkUpID09IFRS VUUNCiBJTkYgIE92bWZQa2cvU21tQWNjZXNzL1NtbUFjY2VzczJEeGUuaW5mDQogSU5GICBPdm1m UGtnL1NtbUNvbnRyb2wyRHhlL1NtbUNvbnRyb2wyRHhlLmluZg0KIElORiAgVWVmaUNwdVBrZy9D cHVTM0RhdGFEeGUvQ3B1UzNEYXRhRHhlLmluZg0KIElORiAgTWRlTW9kdWxlUGtnL0NvcmUvUGlT bW1Db3JlL1BpU21tSXBsLmluZg0KIElORiAgTWRlTW9kdWxlUGtnL0NvcmUvUGlTbW1Db3JlL1Bp U21tQ29yZS5pbmYNCitJTkYgIE92bWZQa2cvQ3B1SG90cGx1Z1NtbS9DcHVIb3RwbHVnU21tLmlu Zg0KIElORiAgVWVmaUNwdVBrZy9DcHVJbzJTbW0vQ3B1SW8yU21tLmluZg0KIElORiAgTWRlTW9k dWxlUGtnL1VuaXZlcnNhbC9Mb2NrQm94L1NtbUxvY2tCb3gvU21tTG9ja0JveC5pbmYNCiBJTkYg IFVlZmlDcHVQa2cvUGlTbW1DcHVEeGVTbW0vUGlTbW1DcHVEeGVTbW0uaW5mDQogDQogIw0KICMg VmFyaWFibGUgZHJpdmVyIHN0YWNrIChTTU0pDQogIw0KIElORiAgT3ZtZlBrZy9RZW11Rmxhc2hG dmJTZXJ2aWNlc1J1bnRpbWVEeGUvRnZiU2VydmljZXNTbW0uaW5mDQogSU5GICBNZGVNb2R1bGVQ a2cvVW5pdmVyc2FsL0ZhdWx0VG9sZXJhbnRXcml0ZUR4ZS9GYXVsdFRvbGVyYW50V3JpdGVTbW0u aW5mDQogSU5GICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL1ZhcmlhYmxlL1J1bnRpbWVEeGUvVmFy aWFibGVTbW0uaW5mDQogSU5GICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL1ZhcmlhYmxlL1J1bnRp bWVEeGUvVmFyaWFibGVTbW1SdW50aW1lRHhlLmluZg0KIA0KICFlbHNlDQogDQogIw0KICMgVmFy aWFibGUgZHJpdmVyIHN0YWNrIChub24tU01NKQ0KICMNCiBJTkYgIE92bWZQa2cvUWVtdUZsYXNo RnZiU2VydmljZXNSdW50aW1lRHhlL0Z2YlNlcnZpY2VzUnVudGltZUR4ZS5pbmYNCiBJTkYgIE92 bWZQa2cvRW11VmFyaWFibGVGdmJSdW50aW1lRHhlL0Z2Yi5pbmYNCiBJTkYgIE1kZU1vZHVsZVBr Zy9Vbml2ZXJzYWwvRmF1bHRUb2xlcmFudFdyaXRlRHhlL0ZhdWx0VG9sZXJhbnRXcml0ZUR4ZS5p bmYNCiBJTkYgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvVmFyaWFibGUvUnVudGltZUR4ZS9WYXJp YWJsZVJ1bnRpbWVEeGUuaW5mDQogIWVuZGlmDQpkaWZmIC0tZ2l0IGEvT3ZtZlBrZy9JbmNsdWRl L0luZHVzdHJ5U3RhbmRhcmQvUTM1TWNoSWNoOS5oIGIvT3ZtZlBrZy9JbmNsdWRlL0luZHVzdHJ5 U3RhbmRhcmQvUTM1TWNoSWNoOS5oCmluZGV4IGNiNzA1ZmVlOTJjYS4uNzNkYjRiNTlhMTExIDEw MDY0NAotLS0gYS9Pdm1mUGtnL0luY2x1ZGUvSW5kdXN0cnlTdGFuZGFyZC9RMzVNY2hJY2g5LmgK KysrIGIvT3ZtZlBrZy9JbmNsdWRlL0luZHVzdHJ5U3RhbmRhcmQvUTM1TWNoSWNoOS5oCkBAIC05 MCwzNyArOTAsMzggQEAKICNkZWZpbmUgUE9XRVJfTUdNVF9SRUdJU1RFUl9RMzUoT2Zmc2V0KSBc DQogICBQQ0lfTElCX0FERFJFU1MgKDAsIDB4MWYsIDAsIChPZmZzZXQpKQ0KIA0KICNkZWZpbmUg UE9XRVJfTUdNVF9SRUdJU1RFUl9RMzVfRUZJX1BDSV9BRERSRVNTKE9mZnNldCkgXA0KICAgRUZJ X1BDSV9BRERSRVNTICgwLCAweDFmLCAwLCAoT2Zmc2V0KSkNCiANCiAjZGVmaW5lIElDSDlfUE1C QVNFICAgICAgICAgICAgICAgMHg0MA0KICNkZWZpbmUgSUNIOV9QTUJBU0VfTUFTSyAgICAgICAg ICAgIChCSVQxNSB8IEJJVDE0IHwgQklUMTMgfCBCSVQxMiB8IEJJVDExIHwgXA0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCSVQxMCB8IEJJVDkgIHwgQklUOCAgfCBCSVQ3 KQ0KIA0KICNkZWZpbmUgSUNIOV9BQ1BJX0NOVEwgICAgICAgICAgICAweDQ0DQogI2RlZmluZSBJ Q0g5X0FDUElfQ05UTF9BQ1BJX0VOICAgICAgQklUNw0KIA0KICNkZWZpbmUgSUNIOV9HRU5fUE1D T05fMSAgICAgICAgICAweEEwDQogI2RlZmluZSBJQ0g5X0dFTl9QTUNPTl8xX1NNSV9MT0NLICAg QklUNA0KIA0KICNkZWZpbmUgSUNIOV9SQ0JBICAgICAgICAgICAgICAgICAweEYwDQogI2RlZmlu ZSBJQ0g5X1JDQkFfRU4gICAgICAgICAgICAgICAgQklUMA0KIA0KIC8vDQogLy8gSU8gcG9ydHMN CiAvLw0KLSNkZWZpbmUgSUNIOV9BUE1fQ05UIDB4QjINCi0jZGVmaW5lIElDSDlfQVBNX1NUUyAw eEIzDQorI2RlZmluZSBJQ0g5X0FQTV9DTlQgICAgICAgICAgICAgIDB4QjINCisjZGVmaW5lIElD SDlfQVBNX0NOVF9DUFVfSE9UUExVRyAgICAweDA0DQorI2RlZmluZSBJQ0g5X0FQTV9TVFMgICAg ICAgICAgICAgIDB4QjMNCiANCiAjZGVmaW5lIElDSDlfQ1BVX0hPVFBMVUdfQkFTRSAweDBDRDgN CiANCiAvLw0KIC8vIElPIHBvcnRzIHJlbGF0aXZlIHRvIFBNQkFTRQ0KIC8vDQogI2RlZmluZSBJ Q0g5X1BNQkFTRV9PRlNfU01JX0VOIDB4MzANCiAjZGVmaW5lIElDSDlfU01JX0VOX0FQTUNfRU4g ICAgICBCSVQ1DQogI2RlZmluZSBJQ0g5X1NNSV9FTl9HQkxfU01JX0VOICAgQklUMA0KIA0KICNk ZWZpbmUgSUNIOV9ST09UX0NPTVBMRVhfQkFTRSAweEZFRDFDMDAwDQogDQogI2VuZGlmDQpkaWZm IC0tZ2l0IGEvT3ZtZlBrZy9DcHVIb3RwbHVnU21tL0NwdUhvdHBsdWdTbW0uaW5mIGIvT3ZtZlBr Zy9DcHVIb3RwbHVnU21tL0NwdUhvdHBsdWdTbW0uaW5mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAwMC4uZmE3MDg1OGE4ZGFiCi0tLSAvZGV2L251bGwKKysrIGIvT3ZtZlBr Zy9DcHVIb3RwbHVnU21tL0NwdUhvdHBsdWdTbW0uaW5mCkBAIC0wLDAgKzEsNDggQEAKKyMjIEBm aWxlDQorIyBSb290IFNNSSBoYW5kbGVyIGZvciBWQ1BVIGhvdHBsdWcgU01Jcy4NCisjDQorIyBD b3B5cmlnaHQgKGMpIDIwMjAsIFJlZCBIYXQsIEluYy4NCisjDQorIyBTUERYLUxpY2Vuc2UtSWRl bnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KKyMjDQorDQorW0RlZmluZXNdDQorICBJTkZf VkVSU0lPTiAgICAgICAgICAgICAgICA9IDEuMjkNCisgIFBJX1NQRUNJRklDQVRJT05fVkVSU0lP TiAgID0gMHgwMDAxMDA0NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFBJLTEuNy4wDQor ICBCQVNFX05BTUUgICAgICAgICAgICAgICAgICA9IENwdUhvdHBsdWdTbW0NCisgIEZJTEVfR1VJ RCAgICAgICAgICAgICAgICAgID0gODRFRUExMTQtQzZCRS00NDQ1LThGOTAtNTFEOTc4NjNFMzYz DQorICBNT0RVTEVfVFlQRSAgICAgICAgICAgICAgICA9IERYRV9TTU1fRFJJVkVSDQorICBFTlRS WV9QT0lOVCAgICAgICAgICAgICAgICA9IENwdUhvdHBsdWdFbnRyeQ0KKw0KKyMNCisjIFRoZSBm b2xsb3dpbmcgaW5mb3JtYXRpb24gaXMgZm9yIHJlZmVyZW5jZSBvbmx5IGFuZCBub3QgcmVxdWly ZWQgYnkgdGhlIGJ1aWxkDQorIyB0b29scy4NCisjDQorIyBWQUxJRF9BUkNISVRFQ1RVUkVTICAg ICAgICA9IElBMzIgWDY0DQorIw0KKw0KK1tTb3VyY2VzXQ0KKyAgQ3B1SG90cGx1Zy5jDQorDQor W1BhY2thZ2VzXQ0KKyAgTWRlUGtnL01kZVBrZy5kZWMNCisgIE92bWZQa2cvT3ZtZlBrZy5kZWMN CisNCitbTGlicmFyeUNsYXNzZXNdDQorICBCYXNlTGliDQorICBEZWJ1Z0xpYg0KKyAgTW1TZXJ2 aWNlc1RhYmxlTGliDQorICBQY2RMaWINCisgIFVlZmlEcml2ZXJFbnRyeVBvaW50DQorDQorW1By b3RvY29sc10NCisgIGdFZmlNbUNwdUlvUHJvdG9jb2xHdWlkICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICMjIENPTlNVTUVTDQorDQorW1BjZF0NCisgIGdVZWZpT3Zt ZlBrZ1Rva2VuU3BhY2VHdWlkLlBjZFEzNVNtcmFtQXREZWZhdWx0U21iYXNlICAgICAgICAgICAg ICMjIENPTlNVTUVTDQorDQorW0ZlYXR1cmVQY2RdDQorICBnVWVmaU92bWZQa2dUb2tlblNwYWNl R3VpZC5QY2RTbW1TbXJhbVJlcXVpcmUgICAgICAgICAgICAgICAgICAgICAjIyBDT05TVU1FUw0K Kw0KK1tEZXBleF0NCisgIGdFZmlNbUNwdUlvUHJvdG9jb2xHdWlkDQpkaWZmIC0tZ2l0IGEvT3Zt ZlBrZy9DcHVIb3RwbHVnU21tL0NwdUhvdHBsdWcuYyBiL092bWZQa2cvQ3B1SG90cGx1Z1NtbS9D cHVIb3RwbHVnLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5mZDA5 NDAzZWFiZjMKLS0tIC9kZXYvbnVsbAorKysgYi9Pdm1mUGtnL0NwdUhvdHBsdWdTbW0vQ3B1SG90 cGx1Zy5jCkBAIC0wLDAgKzEsMTkxIEBACisvKiogQGZpbGUNCisgIFJvb3QgU01JIGhhbmRsZXIg Zm9yIFZDUFUgaG90cGx1ZyBTTUlzLg0KKw0KKyAgQ29weXJpZ2h0IChjKSAyMDIwLCBSZWQgSGF0 LCBJbmMuDQorDQorICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVu dA0KKyoqLw0KKw0KKyNpbmNsdWRlIDxJbmR1c3RyeVN0YW5kYXJkL1EzNU1jaEljaDkuaD4gICAg IC8vIElDSDlfQVBNX0NOVA0KKyNpbmNsdWRlIDxMaWJyYXJ5L0Jhc2VMaWIuaD4gICAgICAgICAg ICAgICAgIC8vIENwdURlYWRMb29wKCkNCisjaW5jbHVkZSA8TGlicmFyeS9EZWJ1Z0xpYi5oPiAg ICAgICAgICAgICAgICAvLyBBU1NFUlQoKQ0KKyNpbmNsdWRlIDxMaWJyYXJ5L01tU2VydmljZXNU YWJsZUxpYi5oPiAgICAgIC8vIGdNbXN0DQorI2luY2x1ZGUgPExpYnJhcnkvUGNkTGliLmg+ICAg ICAgICAgICAgICAgICAgLy8gUGNkR2V0Qm9vbCgpDQorI2luY2x1ZGUgPFByb3RvY29sL01tQ3B1 SW8uaD4gICAgICAgICAgICAgICAgLy8gRUZJX01NX0NQVV9JT19QUk9UT0NPTA0KKyNpbmNsdWRl IDxVZWZpL1VlZmlCYXNlVHlwZS5oPiAgICAgICAgICAgICAgIC8vIEVGSV9TVEFUVVMNCisNCisv Lw0KKy8vIFdlIHVzZSB0aGlzIHByb3RvY29sIGZvciBhY2Nlc3NpbmcgSU8gUG9ydHMuDQorLy8N CitTVEFUSUMgRUZJX01NX0NQVV9JT19QUk9UT0NPTCAqbU1tQ3B1SW87DQorLy8NCisvLyBSZXBy ZXNlbnRzIHRoZSByZWdpc3RyYXRpb24gb2YgdGhlIENQVSBIb3RwbHVnIE1NSSBoYW5kbGVyLg0K Ky8vDQorU1RBVElDIEVGSV9IQU5ETEUgbURpc3BhdGNoSGFuZGxlOw0KKw0KKw0KKy8qKg0KKyAg Q1BVIEhvdHBsdWcgTU1JIGhhbmRsZXIgZnVuY3Rpb24uDQorDQorICBUaGlzIGlzIGEgcm9vdCBN TUkgaGFuZGxlci4NCisNCisgIEBwYXJhbVtpbl0gRGlzcGF0Y2hIYW5kbGUgICAgICBUaGUgdW5p cXVlIGhhbmRsZSBhc3NpZ25lZCB0byB0aGlzIGhhbmRsZXIgYnkNCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBFRklfTU1fU1lTVEVNX1RBQkxFLk1taUhhbmRsZXJSZWdpc3Rlcigp Lg0KKw0KKyAgQHBhcmFtW2luXSBDb250ZXh0ICAgICAgICAgICAgIENvbnRleHQgcGFzc2VkIGlu IGJ5DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRUZJX01NX1NZU1RFTV9UQUJM RS5NbWlNYW5hZ2UoKS4gRHVlIHRvDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Q3B1SG90cGx1Z01taSgpIGJlaW5nIGEgcm9vdCBNTUkgaGFuZGxlciwNCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBDb250ZXh0IGlzIEFTU0VSVCgpZWQgdG8gYmUgTlVMTC4NCisN CisgIEBwYXJhbVtpbixvdXRdIENvbW1CdWZmZXIgICAgICBJZ25vcmVkLCBkdWUgdG8gQ3B1SG90 cGx1Z01taSgpIGJlaW5nIGEgcm9vdA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IE1NSSBoYW5kbGVyLg0KKw0KKyAgQHBhcmFtW2luLG91dF0gQ29tbUJ1ZmZlclNpemUgIElnbm9y ZWQsIGR1ZSB0byBDcHVIb3RwbHVnTW1pKCkgYmVpbmcgYSByb290DQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgTU1JIGhhbmRsZXIuDQorDQorICBAcmV0dmFsIEVGSV9TVUNDRVNT ICAgICAgICAgICAgICAgICAgICAgICBUaGUgTU1JIHdhcyBoYW5kbGVkIGFuZCB0aGUgTU1JDQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2Ugd2FzIHF1 aWVzY2VkLiBXaGVuIHJldHVybmVkDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBieSBhIG5vbi1yb290IE1NSSBoYW5kbGVyLA0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgRUZJX1NVQ0NFU1MgdGVybWluYXRlcyB0aGUNCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3Npbmcgb2Yg TU1JIGhhbmRsZXJzIGluDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBFRklfTU1fU1lTVEVNX1RBQkxFLk1taU1hbmFnZSgpLg0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgRm9yIGEgcm9vdCBNTUkgaGFuZGxlciAoaS5lLiwg Zm9yDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgcHJl c2VudCBmdW5jdGlvbiB0b28pLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgRUZJX1NVQ0NFU1MgYmVoYXZlcyBpZGVudGljYWxseSB0bw0KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRUZJX1dBUk5fSU5URVJSVVBUX1NPVVJD RV9RVUlFU0NFRCwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGFzIGZ1cnRoZXIgcm9vdCBNTUkgaGFuZGxlcnMgYXJlDQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBnb2luZyB0byBiZSBjYWxsZWQgYnkNCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVGSV9NTV9TWVNURU1fVEFCTEUuTW1p TWFuYWdlKCkNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFu eXdheS4NCisNCisgIEByZXR2YWwgRUZJX1dBUk5fSU5URVJSVVBUX1NPVVJDRV9RVUlFU0NFRCAg VGhlIE1NSSBzb3VyY2UgaGFzIGJlZW4gcXVpZXNjZWQsDQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGJ1dCBvdGhlciBoYW5kbGVycyBzaG91bGQgc3RpbGwN CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmUgY2FsbGVk Lg0KKw0KKyAgQHJldHZhbCBFRklfV0FSTl9JTlRFUlJVUFRfU09VUkNFX1BFTkRJTkcgICBUaGUg TU1JIHNvdXJjZSBpcyBzdGlsbCBwZW5kaW5nLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBhbmQgb3RoZXIgaGFuZGxlcnMgc2hvdWxkIHN0aWxsDQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlIGNhbGxlZC4NCisN CisgIEByZXR2YWwgRUZJX0lOVEVSUlVQVF9QRU5ESU5HICAgICAgICAgICAgICAgVGhlIE1NSSBz b3VyY2UgY291bGQgbm90IGJlDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHF1aWVzY2VkLg0KKyoqLw0KK1NUQVRJQw0KK0VGSV9TVEFUVVMNCitFRklBUEkN CitDcHVIb3RwbHVnTW1pICgNCisgIElOIEVGSV9IQU5ETEUgRGlzcGF0Y2hIYW5kbGUsDQorICBJ TiBDT05TVCBWT0lEICpDb250ZXh0ICAgICAgICBPUFRJT05BTCwNCisgIElOIE9VVCBWT0lEICAg KkNvbW1CdWZmZXIgICAgIE9QVElPTkFMLA0KKyAgSU4gT1VUIFVJTlROICAqQ29tbUJ1ZmZlclNp emUgT1BUSU9OQUwNCisgICkNCit7DQorICBFRklfU1RBVFVTIFN0YXR1czsNCisgIFVJTlQ4ICAg ICAgQXBtQ29udHJvbDsNCisNCisgIC8vDQorICAvLyBBc3NlcnQgdGhhdCB3ZSBhcmUgZW50ZXJp bmcgdGhpcyBmdW5jdGlvbiBkdWUgdG8gb3VyIHJvb3QgTU1JIGhhbmRsZXINCisgIC8vIHJlZ2lz dHJhdGlvbi4NCisgIC8vDQorICBBU1NFUlQgKERpc3BhdGNoSGFuZGxlID09IG1EaXNwYXRjaEhh bmRsZSk7DQorICAvLw0KKyAgLy8gV2hlbiBNbWlNYW5hZ2UoKSBpcyBpbnZva2VkIHRvIHByb2Nl c3Mgcm9vdCBNTUkgaGFuZGxlcnMsIHRoZSBjYWxsZXIgKHRoZQ0KKyAgLy8gTU0gQ29yZSkgaXMg ZXhwZWN0ZWQgdG8gcGFzcyBpbiBhIE5VTEwgQ29udGV4dC4gTW1pTWFuYWdlKCkgdGhlbiBwYXNz ZXMNCisgIC8vIHRoZSBzYW1lIE5VTEwgQ29udGV4dCB0byBpbmRpdmlkdWFsIGhhbmRsZXJzLg0K KyAgLy8NCisgIEFTU0VSVCAoQ29udGV4dCA9PSBOVUxMKTsNCisgIC8vDQorICAvLyBSZWFkIHRo ZSBNTUkgY29tbWFuZCB2YWx1ZSBmcm9tIHRoZSBBUE0gQ29udHJvbCBQb3J0LCB0byBzZWUgaWYg dGhpcyBpcyBhbg0KKyAgLy8gTU1JIHdlIHNob3VsZCBjYXJlIGFib3V0Lg0KKyAgLy8NCisgIFN0 YXR1cyA9IG1NbUNwdUlvLT5Jby5SZWFkIChtTW1DcHVJbywgTU1fSU9fVUlOVDgsIElDSDlfQVBN X0NOVCwgMSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICZBcG1Db250cm9sKTsNCisgIGlm IChFRklfRVJST1IgKFN0YXR1cykpIHsNCisgICAgREVCVUcgKChERUJVR19FUlJPUiwgIiVhOiBm YWlsZWQgdG8gcmVhZCBJQ0g5X0FQTV9DTlQ6ICVyXG4iLCBfX0ZVTkNUSU9OX18sDQorICAgICAg U3RhdHVzKSk7DQorICAgIC8vDQorICAgIC8vIFdlIGNvdWxkbid0IGV2ZW4gZGV0ZXJtaW5lIGlm IHRoZSBNTUkgd2FzIGZvciB1cyBvciBub3QuDQorICAgIC8vDQorICAgIGdvdG8gRmF0YWw7DQor ICB9DQorDQorICBpZiAoQXBtQ29udHJvbCAhPSBJQ0g5X0FQTV9DTlRfQ1BVX0hPVFBMVUcpIHsN CisgICAgLy8NCisgICAgLy8gVGhlIE1NSSBpcyBub3QgZm9yIHVzLg0KKyAgICAvLw0KKyAgICBy ZXR1cm4gRUZJX1dBUk5fSU5URVJSVVBUX1NPVVJDRV9RVUlFU0NFRDsNCisgIH0NCisNCisgIC8v DQorICAvLyBXZSd2ZSBoYW5kbGVkIHRoaXMgTU1JLg0KKyAgLy8NCisgIHJldHVybiBFRklfU1VD Q0VTUzsNCisNCitGYXRhbDoNCisgIEFTU0VSVCAoRkFMU0UpOw0KKyAgQ3B1RGVhZExvb3AgKCk7 DQorICAvLw0KKyAgLy8gV2UgY291bGRuJ3QgaGFuZGxlIHRoaXMgTU1JLg0KKyAgLy8NCisgIHJl dHVybiBFRklfSU5URVJSVVBUX1BFTkRJTkc7DQorfQ0KKw0KKw0KKy8vDQorLy8gRW50cnkgcG9p bnQgZnVuY3Rpb24gb2YgdGhpcyBkcml2ZXIuDQorLy8NCitFRklfU1RBVFVTDQorRUZJQVBJDQor Q3B1SG90cGx1Z0VudHJ5ICgNCisgIElOIEVGSV9IQU5ETEUgICAgICAgSW1hZ2VIYW5kbGUsDQor ICBJTiBFRklfU1lTVEVNX1RBQkxFICpTeXN0ZW1UYWJsZQ0KKyAgKQ0KK3sNCisgIEVGSV9TVEFU VVMgU3RhdHVzOw0KKw0KKyAgLy8NCisgIC8vIFRoaXMgbW9kdWxlIHNob3VsZCBvbmx5IGJlIGlu Y2x1ZGVkIHdoZW4gU01NIHN1cHBvcnQgaXMgcmVxdWlyZWQuDQorICAvLw0KKyAgQVNTRVJUIChG ZWF0dXJlUGNkR2V0IChQY2RTbW1TbXJhbVJlcXVpcmUpKTsNCisgIC8vDQorICAvLyBUaGlzIGRy aXZlciBkZXBlbmRzIG9uIHRoZSBkeW5hbWljYWxseSBkZXRlY3RlZCAiU01SQU0gYXQgZGVmYXVs dCBTTUJBU0UiDQorICAvLyBmZWF0dXJlLg0KKyAgLy8NCisgIGlmICghUGNkR2V0Qm9vbCAoUGNk UTM1U21yYW1BdERlZmF1bHRTbWJhc2UpKSB7DQorICAgIHJldHVybiBFRklfVU5TVVBQT1JURUQ7 DQorICB9DQorDQorICAvLw0KKyAgLy8gRXJyb3JzIGZyb20gaGVyZSBvbiBhcmUgZmF0YWw7IHdl IGNhbm5vdCBhbGxvdyB0aGUgYm9vdCB0byBwcm9jZWVkIGlmIHdlDQorICAvLyBjYW4ndCBzZXQg dXAgdGhpcyBkcml2ZXIgdG8gaGFuZGxlIENQVSBob3RwbHVnLg0KKyAgLy8NCisgIC8vIEZpcnN0 LCBjb2xsZWN0IHRoZSBwcm90b2NvbHMgbmVlZGVkIGxhdGVyLiBBbGwgb2YgdGhlc2UgcHJvdG9j b2xzIGFyZQ0KKyAgLy8gbGlzdGVkIGluIG91ciBtb2R1bGUgREVQRVguDQorICAvLw0KKyAgU3Rh dHVzID0gZ01tc3QtPk1tTG9jYXRlUHJvdG9jb2wgKCZnRWZpTW1DcHVJb1Byb3RvY29sR3VpZCwN CisgICAgICAgICAgICAgICAgICAgIE5VTEwgLyogUmVnaXN0cmF0aW9uICovLCAoVk9JRCAqKikm bU1tQ3B1SW8pOw0KKyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KKyAgICBERUJVRyAoKERF QlVHX0VSUk9SLCAiJWE6IGxvY2F0ZSBNbUNwdUlvOiAlclxuIiwgX19GVU5DVElPTl9fLCBTdGF0 dXMpKTsNCisgICAgZ290byBGYXRhbDsNCisgIH0NCisNCisgIC8vDQorICAvLyBSZWdpc3RlciB0 aGUgaGFuZGxlciBmb3IgdGhlIENQVSBIb3RwbHVnIE1NSS4NCisgIC8vDQorICBTdGF0dXMgPSBn TW1zdC0+TW1pSGFuZGxlclJlZ2lzdGVyICgNCisgICAgICAgICAgICAgICAgICAgIENwdUhvdHBs dWdNbWksDQorICAgICAgICAgICAgICAgICAgICBOVUxMLCAgICAgICAgICAgIC8vIEhhbmRsZXJU eXBlOiByb290IE1NSSBoYW5kbGVyDQorICAgICAgICAgICAgICAgICAgICAmbURpc3BhdGNoSGFu ZGxlDQorICAgICAgICAgICAgICAgICAgICApOw0KKyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkg ew0KKyAgICBERUJVRyAoKERFQlVHX0VSUk9SLCAiJWE6IE1taUhhbmRsZXJSZWdpc3RlcigpOiAl clxuIiwgX19GVU5DVElPTl9fLA0KKyAgICAgIFN0YXR1cykpOw0KKyAgICBnb3RvIEZhdGFsOw0K KyAgfQ0KKw0KKyAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KKw0KK0ZhdGFsOg0KKyAgQVNTRVJUIChG QUxTRSk7DQorICBDcHVEZWFkTG9vcCAoKTsNCisgIHJldHVybiBTdGF0dXM7DQorfQ0KLS0gCjIu MTkuMS4zLmczMDI0N2FhNWQyMDEKCgo=