From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mx.groups.io with SMTP id smtpd.web11.42819.1674126111067688100 for ; Thu, 19 Jan 2023 03:01:51 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=aBoP9S/R; spf=pass (domain: redhat.com, ip: 170.10.129.124, mailfrom: lersek@redhat.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1674126110; 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=K9eKU7M3YhyLQZy0mIFvAryg+dq7kDmLJqKFQRoJOeo=; b=aBoP9S/RclTMB7b9vvdkh8jPEEEW0k6ZRfYYkyDy5HN8dJDMMZ27kZoO85kEP5hqRjd4MF uhaPpYzz+KPzOCV9npvi0wjb2TCVgXynp5VDZy8IN0A7t/vEbOX91l9YZRPQrtPKTvuI5/ eOFk8l1QqVcjivA5k1dKGL9GdKqwp70= Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-461-k3QPyZlTP56-3DtsfBSp3g-1; Thu, 19 Jan 2023 06:01:47 -0500 X-MC-Unique: k3QPyZlTP56-3DtsfBSp3g-1 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.rdu2.redhat.com [10.11.54.7]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 03317857D0D; Thu, 19 Jan 2023 11:01:46 +0000 (UTC) Received: from lacos-laptop-9.usersys.redhat.com (unknown [10.39.192.68]) by smtp.corp.redhat.com (Postfix) with ESMTP id 44D291415108; Thu, 19 Jan 2023 11:01:43 +0000 (UTC) From: "Laszlo Ersek" To: lersek@redhat.com, devel@edk2.groups.io Cc: Ard Biesheuvel , Brijesh Singh , Erdem Aktas , Gerd Hoffmann , James Bottomley , Jiewen Yao , Jordan Justen , Michael Brown , Min Xu , Oliver Steffen , Sebastien Boeuf , Tom Lendacky Subject: [PATCH v3 2/2] OvmfPkg/PlatformInitLib: catch QEMU's CPU hotplug reg block regression Date: Thu, 19 Jan 2023 12:01:31 +0100 Message-Id: <20230119110131.91923-3-lersek@redhat.com> In-Reply-To: <20230119110131.91923-1-lersek@redhat.com> References: <20230119110131.91923-1-lersek@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.7 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="US-ASCII"; x-default=true SW4gUUVNVSB2NS4xLjAsIHRoZSBDUFUgaG90cGx1ZyByZWdpc3RlciBibG9jayBtaXNiZWhhdmVz OiB0aGUgbmVnb3RpYXRpb24KcHJvdG9jb2wgaXMgKGVmZmVjdGl2ZWx5KSBicm9rZW4gc3VjaCB0 aGF0IGl0IHN1Z2dlc3RzIHRoYXQgc3dpdGNoaW5nIGZyb20KdGhlIGxlZ2FjeSBpbnRlcmZhY2Ug dG8gdGhlIG1vZGVybiBpbnRlcmZhY2Ugd29ya3MsIGJ1dCBpbiByZWFsaXR5IHRoZQpzd2l0Y2gg bmV2ZXIgaGFwcGVucy4gVGhlIHN5bXB0b20gaGFzIGJlZW4gd2l0bmVzc2VkIHdoZW4gdXNpbmcg VENHCmFjY2VsZXJhdGlvbjsgS1ZNIHNlZW1zIHRvIG1hc2sgdGhlIGlzc3VlLiBUaGUgaXNzdWUg cGVyc2lzdHMgd2l0aCB0aGUKZm9sbG93aW5nIChsYXRlc3QpIHN0YWJsZSBRRU1VIHJlbGVhc2Vz OiB2NS4yLjAsIHY2LjIuMCwgdjcuMi4wLiBDdXJyZW50bHkKdGhlcmUgaXMgbm8gc3RhYmxlIHJl bGVhc2UgdGhhdCBhZGRyZXNzZXMgdGhlIHByb2JsZW0uCgpUaGUgUUVNVSBidWcgY29uZnVzZXMg dGhlIFByZXNlbnQgYW5kIFBvc3NpYmxlIGNvdW50aW5nIGluIGZ1bmN0aW9uClBsYXRmb3JtTWF4 Q3B1Q291bnRJbml0aWFsaXphdGlvbigpLCBpbgoiT3ZtZlBrZy9MaWJyYXJ5L1BsYXRmb3JtSW5p dExpYi9QbGF0Zm9ybS5jIi4gT1ZNRiBlbmRzIHVwIHdpdGggUHJlc2VudD0wClBvc3NpYmxlPTEu IFRoaXMgaW4gdHVybiBmdXJ0aGVyIGNvbmZ1c2VzIE1wSW5pdExpYiBpbiBVZWZpQ3B1UGtnICho ZW5jZQpmaXJtd2FyZS10aW1lIG11bHRpcHJvY2Vzc2luZyB3aWxsIGJlIGJyb2tlbikuIFdvcnNl LCBDUFUgaG90KHVuKXBsdWcgd2l0aApTTUkgd2lsbCBiZSBzdW1tYXJpbHkgYnJva2VuIGluIE92 bWZQa2cvQ3B1SG90cGx1Z1NtbSwgd2hpY2ggKGNvbnNpZGVyaW5nCnRoZSBwcml2aWxlZ2UgbGV2 ZWwgb2YgU01NKSBpcyBub3QgdGhhdCBncmVhdC4KCkRldGVjdCB0aGUgaXNzdWUgaW4gUGxhdGZv cm1DcHVDb3VudEJ1Z0NoZWNrKCksIGFuZCBwcmludCBhbiBlcnJvciBtZXNzYWdlCmFuZCAqaGFu ZyogaWYgdGhlIGlzc3VlIGlzIHByZXNlbnQuCgpVc2VycyB3aWxsaW5nIHRvIHRha2Ugcmlza3Mg Y2FuIG92ZXJyaWRlIHRoZSBoYW5nIHdpdGggdGhlIGV4cGVyaW1lbnRhbApRRU1VIGNvbW1hbmQg bGluZSBvcHRpb24KCiAgLWZ3X2NmZyBuYW1lPW9wdC9vcmcudGlhbm9jb3JlL1gtQ3B1aHAtQnVn Y2hlY2stT3ZlcnJpZGUsc3RyaW5nPXllcwoKKFRoZSAiLWZ3X2NmZyIgUUVNVSBvcHRpb24gaXRz ZWxmIGlzIG5vdCBleHBlcmltZW50YWw7IGl0cyBhYm92ZSBhcmd1bWVudCwKYXMgZmFyIGl0IGNv bmNlcm5zIHRoZSBmaXJtd2FyZSwgaXMgZXhwZXJpbWVudGFsLikKClRoZSBwcm9ibGVtIHdhcyBv cmlnaW5hbGx5IHJlcG9ydGVkIGJ5IEFyZCBbMF0uIFdlIGFuYWx5emVkIGl0IGF0IFsxXSBhbmQK WzJdLiBBIFFFTVUgcGF0Y2ggd2FzIHNlbnQgYXQgWzNdOyBub3cgbWVyZ2VkIGFzIGNvbW1pdCBk YWIzMGZiZWYzODkKKCJhY3BpOiBjcHVocDogZml4IGd1ZXN0LXZpc2libGUgbWF4aW11bSBhY2Nl c3Mgc2l6ZSB0byB0aGUgbGVnYWN5IHJlZwpibG9jayIsIDIwMjMtMDEtMDgpLCB0byBiZSBpbmNs dWRlZCBpbiBRRU1VIHY4LjAuMC4KClswXSBodHRwczovL2J1Z3ppbGxhLnRpYW5vY29yZS5vcmcv c2hvd19idWcuY2dpP2lkPTQyMzQjYzIKClsxXSBodHRwczovL2J1Z3ppbGxhLnRpYW5vY29yZS5v cmcvc2hvd19idWcuY2dpP2lkPTQyMzQjYzMKClsyXSBJTyBwb3J0IHdyaXRlIHdpZHRoIGNsYW1w aW5nIGRpZmZlcnMgYmV0d2VlbiBUQ0cgYW5kIEtWTQogICAgaHR0cDovL21pZC5tYWlsLWFyY2hp dmUuY29tL2FhZWRlZTg0LWQzZWQtYTRmOS0yMWU3LWQyMjFhMjhkMTY4M0ByZWRoYXQuY29tCiAg ICBodHRwczovL2xpc3RzLmdudS5vcmcvYXJjaGl2ZS9odG1sL3FlbXUtZGV2ZWwvMjAyMy0wMS9t c2cwMDE5OS5odG1sCgpbM10gYWNwaTogY3B1aHA6IGZpeCBndWVzdC12aXNpYmxlIG1heGltdW0g YWNjZXNzIHNpemUgdG8gdGhlIGxlZ2FjeSByZWcgYmxvY2sKICAgIGh0dHA6Ly9taWQubWFpbC1h cmNoaXZlLmNvbS8yMDIzMDEwNDA5MDEzOC4yMTQ4NjItMS1sZXJzZWtAcmVkaGF0LmNvbQogICAg aHR0cHM6Ly9saXN0cy5nbnUub3JnL2FyY2hpdmUvaHRtbC9xZW11LWRldmVsLzIwMjMtMDEvbXNn MDAyNzguaHRtbAoKTk9URTogUGxhdGZvcm1Jbml0TGliIGlzIHVzZWQgaW4gdGhlIGZvbGxvd2lu ZyBwbGF0Zm9ybSBEU0NzOgoKICBPdm1mUGtnL0FtZFNldi9BbWRTZXZYNjQuZHNjCiAgT3ZtZlBr Zy9DbG91ZEh2L0Nsb3VkSHZYNjQuZHNjCiAgT3ZtZlBrZy9JbnRlbFRkeC9JbnRlbFRkeFg2NC5k c2MKICBPdm1mUGtnL01pY3Jvdm0vTWljcm92bVg2NC5kc2MKICBPdm1mUGtnL092bWZQa2dJYTMy LmRzYwogIE92bWZQa2cvT3ZtZlBrZ0lhMzJYNjQuZHNjCiAgT3ZtZlBrZy9Pdm1mUGtnWDY0LmRz YwoKYnV0IEkgY2FuIG9ubHkgdGVzdCB0aGlzIGNoYW5nZSB3aXRoIHRoZSBsYXN0IHRocmVlIHBs YXRmb3JtcywgcnVubmluZyBvbgpRRU1VLgoKVGVzdCByZXN1bHRzOgoKICBUQ0cgIFFFTVUgICAg IE9WTUYgICAgIG92ZXJyaWRlICByZXN1bHQKICAgICAgIHBhdGNoZWQgIHBhdGNoZWQKICAtLS0g IC0tLS0tLS0gIC0tLS0tLS0gIC0tLS0tLS0tICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQogIDAgICAgMCAgICAgICAgMCAgICAgICAgMCAgICAgICAgIENQVSBjb3VudHMg T0sgKEtWTSBtYXNrcyB0aGUgUUVNVSBidWcpCiAgMCAgICAwICAgICAgICAxICAgICAgICAwICAg ICAgICAgQ1BVIGNvdW50cyBPSyAoS1ZNIG1hc2tzIHRoZSBRRU1VIGJ1ZykKICAwICAgIDEgICAg ICAgIDAgICAgICAgIDAgICAgICAgICBDUFUgY291bnRzIE9LIChRRU1VIGZpeCwgYnV0IEtWTSBt YXNrcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBRRU1VIGJ1ZyBhbnl3 YXkpCiAgMCAgICAxICAgICAgICAxICAgICAgICAwICAgICAgICAgQ1BVIGNvdW50cyBPSyAoUUVN VSBmaXgsIGJ1dCBLVk0gbWFza3MKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0 aGUgUUVNVSBidWcgYW55d2F5KQogIDEgICAgMCAgICAgICAgMCAgICAgICAgMCAgICAgICAgIGJv b3Qgd2l0aCBicm9rZW4gQ1BVIGNvdW50cyAob3JpZ2luYWwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBRRU1VIGJ1ZykKICAxICAgIDAgICAgICAgIDEgICAgICAgIDAgICAgICAg ICBicm9rZW4gQ1BVIGNvdW50IGNhdWdodCAoYm9vdCBoYW5ncykKICAxICAgIDAgICAgICAgIDEg ICAgICAgIDEgICAgICAgICBicm9rZW4gQ1BVIGNvdW50IGNhdWdodCwgYnVnIGNoZWNrCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGRlbiwgYm9vdCBjb250aW51ZXMK ICAxICAgIDEgICAgICAgIDAgICAgICAgIDAgICAgICAgICBDUFUgY291bnRzIE9LIChRRU1VIGZp eCkKICAxICAgIDEgICAgICAgIDEgICAgICAgIDAgICAgICAgICBDUFUgY291bnRzIE9LIChRRU1V IGZpeCkKCkNjOiBBcmQgQmllc2hldXZlbCA8YXJkYit0aWFub2NvcmVAa2VybmVsLm9yZz4KQ2M6 IEJyaWplc2ggU2luZ2ggPGJyaWplc2guc2luZ2hAYW1kLmNvbT4KQ2M6IEVyZGVtIEFrdGFzIDxl cmRlbWFrdGFzQGdvb2dsZS5jb20+CkNjOiBHZXJkIEhvZmZtYW5uIDxrcmF4ZWxAcmVkaGF0LmNv bT4KQ2M6IEphbWVzIEJvdHRvbWxleSA8amVqYkBsaW51eC5pYm0uY29tPgpDYzogSmlld2VuIFlh byA8amlld2VuLnlhb0BpbnRlbC5jb20+CkNjOiBKb3JkYW4gSnVzdGVuIDxqb3JkYW4ubC5qdXN0 ZW5AaW50ZWwuY29tPgpDYzogTWljaGFlbCBCcm93biA8bWNiMzBAaXB4ZS5vcmc+CkNjOiBNaW4g WHUgPG1pbi5tLnh1QGludGVsLmNvbT4KQ2M6IE9saXZlciBTdGVmZmVuIDxvc3RlZmZlbkByZWRo YXQuY29tPgpDYzogU2ViYXN0aWVuIEJvZXVmIDxzZWJhc3RpZW4uYm9ldWZAaW50ZWwuY29tPgpD YzogVG9tIExlbmRhY2t5IDx0aG9tYXMubGVuZGFja3lAYW1kLmNvbT4KQnVnemlsbGE6IGh0dHBz Oi8vYnVnemlsbGEudGlhbm9jb3JlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDI1MApTaWduZWQtb2Zm LWJ5OiBMYXN6bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPgotLS0KCk5vdGVzOgogICAgdjM6 CiAgICAKICAgIC0gcmVpbXBsZW1lbnQgdGhlIGJ1ZyBjaGVjayBpbiB0aGUgZmFjdG9yZWQgb3V0 IGZ1bmN0aW9uCiAgICAgIFBsYXRmb3JtQ3B1Q291bnRCdWdDaGVjaygpCiAgICAKICAgIC0gYWRk IG92ZXJyaWRlIFtBcmQsIEdlcmQsIE1pY2hhZWxdCiAgICAKICAgIC0gYXNzZXJ0ICIwIDwgUHJl c2VudCA9PSBCb290Q3B1Q291bnQgPD0gUG9zc2libGUiIHdoZW5ldmVyCiAgICAgIFBsYXRmb3Jt Q3B1Q291bnRCdWdDaGVjaygpIHJldHVybnMKICAgIAogICAgLSB1cGRhdGUgY29tbWl0IG1lc3Nh Z2UKICAgIAogICAgLSB1cGRhdGUgdGVzdCBtYXRyaXggaW4gY29tbWl0IG1lc3NhZ2UKICAgIAog ICAgLSAocmUpdGVzdCBhbGwgIk9WTUYgcGF0Y2hlZCA9IDEiIGNhc2VzIChzaWdoKQogICAgCiAg ICB2MjoKICAgIAogICAgLSBWMSB3YXMgYXQKICAgICAgPGh0dHA6Ly9taWQubWFpbC1hcmNoaXZl LmNvbS8yMDIzMDEwNDE1MTIzNC4yODYwMzAtMS1sZXJzZWtAcmVkaGF0LmNvbT4uCiAgICAKICAg IC0gUmVwbzogPGh0dHBzOi8vcGFndXJlLmlvL2xlcnNlay9lZGsyLmdpdD4sIGJyYW5jaDoKICAg ICAgY3B1aHAtcmVnLWNhdGNoLTQyNTAtdjIKICAgIAogICAgLSBSZW1vdmUgS1ZNIGFzIGEgcHJv cG9zZWQgd29ya2Fyb3VuZCBmcm9tIHRoZSBlcnJvciBtZXNzYWdlLCBiZWNhdXNlIGluCiAgICAg IHRoZSBRRU1VIGRpc2N1c3Npb24sIHdlIGhhZCBmb3VuZCB0aGF0IHRoZSBLVk0gYWNjZWxlcmF0 b3IncyBiZWhhdmlvcgogICAgICBpbiBRRU1VIChtYXNraW5nIHRoZSBwcm9ibGVtKSB3YXMgbm90 IHJpZ2h0LCBhbmQgdGhhdCBhIGZpeCBmb3IgdGhhdAogICAgICBoYWQgYmVlbiBpbiBwcm9ncmVz cyBmb3IgcXVpdGUgc29tZSB0aW1lLgogICAgCiAgICAtIEFkZCB0aGUgUUVNVSBjb21taXQgaGFz aCB0byB0aGUgY29tbWl0IG1lc3NhZ2UsIHRoZSBjb2RlIGNvbW1lbnQsIGFuZAogICAgICB0aGUg ZXJyb3IgbWVzc2FnZS4KICAgIAogICAgLSBQaWNrIHVwIEdlcmQncyBSLWI7IGFkZCBPbGl2ZXIg dG8gdGhlIENjIGxpc3QuCgogT3ZtZlBrZy9MaWJyYXJ5L1BsYXRmb3JtSW5pdExpYi9QbGF0Zm9y bS5jIHwgODcgKysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA4NyBpbnNlcnRp b25zKCspCgpkaWZmIC0tZ2l0IGEvT3ZtZlBrZy9MaWJyYXJ5L1BsYXRmb3JtSW5pdExpYi9QbGF0 Zm9ybS5jIGIvT3ZtZlBrZy9MaWJyYXJ5L1BsYXRmb3JtSW5pdExpYi9QbGF0Zm9ybS5jCmluZGV4 IGQxYmU1YzJkNzk3MC4uOWZlZTZlNDgxMDM4IDEwMDY0NAotLS0gYS9Pdm1mUGtnL0xpYnJhcnkv UGxhdGZvcm1Jbml0TGliL1BsYXRmb3JtLmMKKysrIGIvT3ZtZlBrZy9MaWJyYXJ5L1BsYXRmb3Jt SW5pdExpYi9QbGF0Zm9ybS5jCkBAIC0zNiw2ICszNiw5IEBACiANCiAjaW5jbHVkZSA8TGlicmFy eS9QbGF0Zm9ybUluaXRMaWIuaD4NCiANCisjZGVmaW5lIENQVUhQX0JVR0NIRUNLX09WRVJSSURF X0ZXQ0ZHX0ZJTEUgXA0KKyAgIm9wdC9vcmcudGlhbm9jb3JlL1gtQ3B1aHAtQnVnY2hlY2stT3Zl cnJpZGUiDQorDQogVk9JRA0KIEVGSUFQSQ0KIFBsYXRmb3JtQWRkSW9NZW1vcnlCYXNlU2l6ZUhv YiAoDQpAQCAtNDM3LDYgKzQ0MCw4NyBAQCBQbGF0Zm9ybUNwdUNvdW50QnVnQ2hlY2sgKAogew0K ICAgQVNTRVJUICgqQm9vdENwdUNvdW50ID4gMCk7DQogDQorICAvLw0KKyAgLy8gU2FuaXR5IGNo ZWNrOiB3ZSBuZWVkIGF0IGxlYXN0IDEgcHJlc2VudCBDUFUgKENQVSMwIGlzIGFsd2F5cyBwcmVz ZW50KS4NCisgIC8vDQorICAvLyBUaGUgbGVnYWN5LXRvLW1vZGVybiBzd2l0Y2hpbmcgb2YgdGhl IENQVSBob3RwbHVnIHJlZ2lzdGVyIGJsb2NrIGdvdCBicm9rZW4NCisgIC8vIChmb3IgVENHKSBp biBRRU1VIHY1LjEuMC4gUmVmZXIgdG8gIklPIHBvcnQgd3JpdGUgd2lkdGggY2xhbXBpbmcgZGlm ZmVycw0KKyAgLy8gYmV0d2VlbiBUQ0cgYW5kIEtWTSIgYXQNCisgIC8vIDxodHRwOi8vbWlkLm1h aWwtYXJjaGl2ZS5jb20vYWFlZGVlODQtZDNlZC1hNGY5LTIxZTctZDIyMWEyOGQxNjgzQHJlZGhh dC5jb20+DQorICAvLyBvciBhdA0KKyAgLy8gPGh0dHBzOi8vbGlzdHMuZ251Lm9yZy9hcmNoaXZl L2h0bWwvcWVtdS1kZXZlbC8yMDIzLTAxL21zZzAwMTk5Lmh0bWw+Lg0KKyAgLy8NCisgIC8vIFFF TVUgcmVjZWl2ZWQgdGhlIGZpeCBpbiBjb21taXQgZGFiMzBmYmVmMzg5ICgiYWNwaTogY3B1aHA6 IGZpeA0KKyAgLy8gZ3Vlc3QtdmlzaWJsZSBtYXhpbXVtIGFjY2VzcyBzaXplIHRvIHRoZSBsZWdh Y3kgcmVnIGJsb2NrIiwgMjAyMy0wMS0wOCksIHRvDQorICAvLyBiZSBpbmNsdWRlZCBpbiBRRU1V IHY4LjAuMC4NCisgIC8vDQorICAvLyBJZiB3ZSdyZSBhZmZlY3RlZCBieSB0aGlzIFFFTVUgYnVn LCB0aGVuIHdlIG11c3Qgbm90IGNvbnRpbnVlOiBpdCBjb25mdXNlcw0KKyAgLy8gdGhlIG11bHRp cHJvY2Vzc2luZyBpbiBVZWZpQ3B1UGtnL0xpYnJhcnkvTXBJbml0TGliLCBhbmQgYnJlYWtzIENQ VQ0KKyAgLy8gaG90KHVuKXBsdWcgd2l0aCBTTUkgaW4gT3ZtZlBrZy9DcHVIb3RwbHVnU21tLg0K KyAgLy8NCisgIGlmICgqUHJlc2VudCA9PSAwKSB7DQorICAgIFVJTlROICAgICAgICAgICAgICAg ICAgICAgIElkeDsNCisgICAgU1RBVElDIENPTlNUIENIQVI4ICpDT05TVCAgTWVzc2FnZVtdID0g ew0KKyAgICAgICJCcm9rZW4gQ1BVIGhvdHBsdWcgcmVnaXN0ZXIgYmxvY2sgZm91bmQuIFVwZGF0 ZSBRRU1VIHRvIHZlcnNpb24gOCssIG9yIiwNCisgICAgICAidG8gYSBzdGFibGUgcmVsZWFzZSB3 aXRoIGNvbW1pdCBkYWIzMGZiZWYzODkgYmFja3BvcnRlZC4gUmVmZXIgdG8iLA0KKyAgICAgICI8 aHR0cHM6Ly9idWd6aWxsYS50aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9pZD00MjUwPi4iLA0K KyAgICAgICJDb25zZXF1ZW5jZXMgb2YgdGhlIFFFTVUgYnVnIG1heSBpbmNsdWRlLCBidXQgYXJl IG5vdCBsaW1pdGVkIHRvOiIsDQorICAgICAgIi0gYWxsIGZpcm13YXJlIGxvZ2ljLCBkZXBlbmRl bnQgb24gdGhlIENQVSBob3RwbHVnIHJlZ2lzdGVyIGJsb2NrLCIsDQorICAgICAgIiAgYmVpbmcg Y29uZnVzZWQsIGZvciBleGFtcGxlLCBtdWx0aXByb2Nlc3NpbmctcmVsYXRlZCBsb2dpYzsiLA0K KyAgICAgICItIGd1ZXN0IE9TIGRhdGEgbG9zcywgaW5jbHVkaW5nIGZpbGVzeXN0ZW0gY29ycnVw dGlvbiwgZHVlIHRvIGNyYXNoIG9yIiwNCisgICAgICAiICBoYW5nIGR1cmluZyBBQ1BJIFMzIHJl c3VtZTsiLA0KKyAgICAgICItIFNNTSBwcml2aWxlZ2UgZXNjYWxhdGlvbiwgYnkgYSBtYWxpY2lv dXMgZ3Vlc3QgT1Mgb3IgM3JkIHBhcnR0eSBVRUZJIiwNCisgICAgICAiICBhZ2VudCwgYWdhaW5z dCB0aGUgcGxhdGZvcm0gZmlybXdhcmUuIiwNCisgICAgICAiVGhlc2Ugc3ltcHRvbXMgbmVlZCBu b3QgbmVjZXNzYXJpbHkgYmUgbGltaXRlZCB0byB0aGUgUUVNVSB1c2VyIiwNCisgICAgICAiYXR0 ZW1wdGluZyB0byBob3QodW4pcGx1ZyBhIENQVS4iLA0KKyAgICAgICJUaGUgZmlybXdhcmUgd2ls bCBub3cgc3RvcCAoaGFuZykgZGVsaWJlcmF0ZWx5LCBpbiBvcmRlciB0byBwcmV2ZW50IHRoZSIs DQorICAgICAgImFib3ZlIHN5bXB0b21zLiIsDQorICAgICAgIllvdSBjYW4gZm9yY2libHkgb3Zl cnJpZGUgdGhlIGhhbmcsICphdCB5b3VyIG93biByaXNrKiwgd2l0aCB0aGUiLA0KKyAgICAgICJm b2xsb3dpbmcgKmV4cGVyaW1lbnRhbCogUUVNVSBjb21tYW5kIGxpbmUgb3B0aW9uOiIsDQorICAg ICAgIiAgLWZ3X2NmZyBuYW1lPSIgQ1BVSFBfQlVHQ0hFQ0tfT1ZFUlJJREVfRldDRkdfRklMRSAi LHN0cmluZz15ZXMiLA0KKyAgICAgICJQbGVhc2Ugb25seSByZXBvcnQgc3VjaCBidWdzIHRoYXQg eW91IGNhbiByZXByb2R1Y2UgKndpdGhvdXQqIHRoZSIsDQorICAgICAgIm92ZXJyaWRlLiIsDQor ICAgIH07DQorICAgIFJFVFVSTl9TVEFUVVMgICAgICAgICAgICAgIFBhcnNlU3RhdHVzOw0KKyAg ICBCT09MRUFOICAgICAgICAgICAgICAgICAgICBPdmVycmlkZTsNCisNCisgICAgREVCVUcgKCgN CisgICAgICBERUJVR19FUlJPUiwNCisgICAgICAiJWE6IFByZXNlbnQ9JXUgUG9zc2libGU9JXVc biIsDQorICAgICAgX19GVU5DVElPTl9fLA0KKyAgICAgICpQcmVzZW50LA0KKyAgICAgICpQb3Nz aWJsZQ0KKyAgICAgICkpOw0KKyAgICBmb3IgKElkeCA9IDA7IElkeCA8IEFSUkFZX1NJWkUgKE1l c3NhZ2UpOyArK0lkeCkgew0KKyAgICAgIERFQlVHICgoREVCVUdfRVJST1IsICIlYTogJWFcbiIs IF9fRlVOQ1RJT05fXywgTWVzc2FnZVtJZHhdKSk7DQorICAgIH0NCisNCisgICAgUGFyc2VTdGF0 dXMgPSBRZW11RndDZmdQYXJzZUJvb2wgKA0KKyAgICAgICAgICAgICAgICAgICAgQ1BVSFBfQlVH Q0hFQ0tfT1ZFUlJJREVfRldDRkdfRklMRSwNCisgICAgICAgICAgICAgICAgICAgICZPdmVycmlk ZQ0KKyAgICAgICAgICAgICAgICAgICAgKTsNCisgICAgaWYgKCFSRVRVUk5fRVJST1IgKFBhcnNl U3RhdHVzKSAmJiBPdmVycmlkZSkgew0KKyAgICAgIERFQlVHICgoDQorICAgICAgICBERUJVR19X QVJOLA0KKyAgICAgICAgIiVhOiBcIiVhXCIgYWN0aXZlLiBZb3UndmUgYmVlbiB3YXJuZWQuXG4i LA0KKyAgICAgICAgX19GVU5DVElPTl9fLA0KKyAgICAgICAgQ1BVSFBfQlVHQ0hFQ0tfT1ZFUlJJ REVfRldDRkdfRklMRQ0KKyAgICAgICAgKSk7DQorICAgICAgLy8NCisgICAgICAvLyBUaGUgYnVn IGlzIGluIFFFTVUgdjUuMS4wKywgd2hlcmUgd2UncmUgbm90IGFmZmVjdGVkIGJ5IHRoZSBRRU1V IHYyLjcNCisgICAgICAvLyByZXNldCBidWcsIHNvIEJvb3RDcHVDb3VudCBmcm9tIGZ3X2NmZyBp cyByZWxpYWJsZS4gQXNzdW1lIGEgZnVsbHkNCisgICAgICAvLyBwb3B1bGF0ZWQgdG9wb2xvZ3ks IGxpa2Ugd2hlbiB0aGUgbW9kZXJuIENQVSBob3RwbHVnIGludGVyZmFjZSBpcw0KKyAgICAgIC8v IHVuYXZhaWxhYmxlLg0KKyAgICAgIC8vDQorICAgICAgKlByZXNlbnQgID0gKkJvb3RDcHVDb3Vu dDsNCisgICAgICAqUG9zc2libGUgPSAqQm9vdENwdUNvdW50Ow0KKyAgICAgIHJldHVybjsNCisg ICAgfQ0KKw0KKyAgICBBU1NFUlQgKEZBTFNFKTsNCisgICAgQ3B1RGVhZExvb3AgKCk7DQorICB9 DQorDQogICAvLw0KICAgLy8gU2FuaXR5IGNoZWNrOiBmd19jZmcgYW5kIHRoZSBtb2Rlcm4gQ1BV IGhvdHBsdWcgaW50ZXJmYWNlIHNob3VsZCBleHBvc2UgdGhlDQogICAvLyBzYW1lIGJvb3QgQ1BV IGNvdW50Lg0KQEAgLTU5Niw2ICs2ODAsOSBAQCBQbGF0Zm9ybU1heENwdUNvdW50SW5pdGlhbGl6 YXRpb24gKAogICAgICAgfSB3aGlsZSAoU2VsZWN0ZWQgPiAwKTsNCiANCiAgICAgICBQbGF0Zm9y bUNwdUNvdW50QnVnQ2hlY2sgKCZCb290Q3B1Q291bnQsICZQcmVzZW50LCAmUG9zc2libGUpOw0K KyAgICAgIEFTU0VSVCAoUHJlc2VudCA+IDApOw0KKyAgICAgIEFTU0VSVCAoUHJlc2VudCA8PSBQ b3NzaWJsZSk7DQorICAgICAgQVNTRVJUIChCb290Q3B1Q291bnQgPT0gUHJlc2VudCk7DQogDQog ICAgICAgTWF4Q3B1Q291bnQgPSBQb3NzaWJsZTsNCiAgICAgfQ0K