From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: citrix.com, ip: 216.71.155.168, mailfrom: anthony.perard@citrix.com) Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com [216.71.155.168]) by groups.io with SMTP; Mon, 29 Jul 2019 08:57:50 -0700 Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none; spf=None smtp.pra=anthony.perard@citrix.com; spf=Pass smtp.mailfrom=anthony.perard@citrix.com; spf=None smtp.helo=postmaster@mail.citrix.com Received-SPF: None (esa5.hc3370-68.iphmx.com: no sender authenticity information available from domain of anthony.perard@citrix.com) identity=pra; client-ip=162.221.158.21; receiver=esa5.hc3370-68.iphmx.com; envelope-from="anthony.perard@citrix.com"; x-sender="anthony.perard@citrix.com"; x-conformance=sidf_compatible Received-SPF: Pass (esa5.hc3370-68.iphmx.com: domain of anthony.perard@citrix.com designates 162.221.158.21 as permitted sender) identity=mailfrom; client-ip=162.221.158.21; receiver=esa5.hc3370-68.iphmx.com; envelope-from="anthony.perard@citrix.com"; x-sender="anthony.perard@citrix.com"; x-conformance=sidf_compatible; x-record-type="v=spf1"; x-record-text="v=spf1 ip4:209.167.231.154 ip4:178.63.86.133 ip4:195.66.111.40/30 ip4:85.115.9.32/28 ip4:199.102.83.4 ip4:192.28.146.160 ip4:192.28.146.107 ip4:216.52.6.88 ip4:216.52.6.188 ip4:162.221.158.21 ip4:162.221.156.83 ~all" Received-SPF: None (esa5.hc3370-68.iphmx.com: no sender authenticity information available from domain of postmaster@mail.citrix.com) identity=helo; client-ip=162.221.158.21; receiver=esa5.hc3370-68.iphmx.com; envelope-from="anthony.perard@citrix.com"; x-sender="postmaster@mail.citrix.com"; x-conformance=sidf_compatible IronPort-SDR: bRjEl8B7P0eHp5jG1Phu0l1RnNMTNYnUDQt6ygOyIYCSNlro0UkAYMZ/MjTu/JwAXmEgZ5Lalw 1Z8aKdh7kUjBxa3LgA++faUH1W9S5QwKVcOOeubQ+SoAbb8fE2rF2DcZrLiD86H1t6IGn0Lh2/ lPPzKRpW7HYLKZc1OL9Astmy7YRF7MEjS8rMeAcqNmH5nMnlGxQemxNiQLdc3DzVVHcxORVctm +OSmDW9VIlFnCXpWfOaDOerSZylusdUeUcGfexMhfdIauETLyIdIW8+I64Ja1FvvMUson9GXIW dP0= X-SBRS: 2.7 X-MesageID: 3671534 X-Ironport-Server: esa5.hc3370-68.iphmx.com X-Remote-IP: 162.221.158.21 X-Policy: $RELAYED X-IronPort-AV: E=Sophos;i="5.64,323,1559534400"; d="scan'208";a="3671534" From: "Anthony PERARD" To: CC: Julien Grall , , Jordan Justen , Ard Biesheuvel , Laszlo Ersek , Anthony PERARD Subject: [PATCH v4 31/35] OvmfPkg/PlatformBootManagerLib: Use a Xen console for ConOut/ConIn Date: Mon, 29 Jul 2019 16:39:40 +0100 Message-ID: <20190729153944.24239-32-anthony.perard@citrix.com> X-Mailer: git-send-email 2.22.0 In-Reply-To: <20190729153944.24239-1-anthony.perard@citrix.com> References: <20190729153944.24239-1-anthony.perard@citrix.com> MIME-Version: 1.0 Return-Path: anthony.perard@citrix.com Content-Transfer-Encoding: base64 Content-Type: text/plain T24gYSBYZW4gUFZIIGd1ZXN0LCBub25lIG9mIHRoZSBleGlzdGluZyBzZXJpYWwgb3IgY29uc29s ZSBpbnRlcmZhY2UKd29ya3MsIHNvIHdlIGFkZCBhIG5ldyBvbmUsIGJhc2VkIG9uIFhlbkNvbnNv bGVTZXJpYWxQb3J0TGliLCBhbmQKaW1wbGVtZW50ZWQgdmlhIFNlcmlhbER4ZS4KClRoYXQgaXMg YSBzaW1wbGUgY29uc29sZSBpbXBsZW1lbnRhdGlvbiB0aGF0IGNhbiB3b3JrcyBvbiBib3RoIFBW SApndWVzdCBhbmQgSFZNIGd1ZXN0cywgZXZlbiBpZiBpdCByYXJlbHkgZ29pbmcgdG8gYmUgdXNl IG9uIEhWTS4KCkhhdmUgUGxhdGZvcm1Cb290TWFuYWdlckxpYiBsb29rIGZvciB0aGUgbmV3IGNv bnNvbGUsIHdoZW4gcnVubmluZyBhcyBhClhlbiBndWVzdC4KClNpbmNlIHdlIHVzZSBWRU5ET1Jf VUFSVF9ERVZJQ0VfUEFUSCwgZml4IGl0cyBkZXNjcmlwdGlvbiBhbmQgY29kaW5nCnN0eWxlLgoK UmVmOiBodHRwczovL2J1Z3ppbGxhLnRpYW5vY29yZS5vcmcvc2hvd19idWcuY2dpP2lkPTE2ODkK U2lnbmVkLW9mZi1ieTogQW50aG9ueSBQRVJBUkQgPGFudGhvbnkucGVyYXJkQGNpdHJpeC5jb20+ ClJldmlld2VkLWJ5OiBMYXN6bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPgotLS0KCk5vdGVz OgogICAgdjQ6CiAgICAtIGluc3RlYWQgb2YgY3JlYXRpbmcgYSBuZXcgWEVOX0NPTlNPTEVfREVW SUNFX1BBVEgsIHVzZSB0aGUgZXhpc3RpbmcKICAgICAgVkVORE9SX1VBUlRfREVWSUNFX1BBVEgu IEFuZCBleHBsYWluIHdoeSBWRU5ET1JfVUFSVF9ERVZJQ0VfUEFUSAogICAgICBjaGFuZ2VkIGlu IHRoZSBjb21taXQgbWVzc2FnZS4KICAgIAogICAgdjM6CiAgICAtIHJlbW92ZWQgUGNpU2lvU2Vy aWFsRHhlIGFuZCBJc2FTZXJpYWxEeGUgZnJvbSBPdm1mWGVuLCBzaW5jZSB0aGV5CiAgICAgIHdv dWxkIG5vdCBiZSB1c2VkLCBtYXliZSwgdG8gY2hlY2suCiAgICAtIHNvbWUgY29kaW5nIHN0eWxl IGZpeAogICAgCiAgICAtIG5vdCBjaGFuZ2VkOiBQY2lTaW9TZXJpYWxEeGU6IGV2ZW4gaWYgd2Ug YWRkIFNlcmlhbER4ZSwgd2Ugc3RpbGwgbmVlZHMKICAgICAgUGNpU2lvU2VyaWFsRHhlIHRvIGhh dmUgT1ZNRiB1c2UgdGhlIGVtdWxhdGVkIHNlcmlhbCBwb3J0IG9uIEhWTS4KICAgIAogICAgdjI6 CiAgICAtIFVzZSBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL1NlcmlhbER4ZSBpbnN0ZWFkIG9mIHNv bWV0aGluZyBuZXcuCiAgICAtIEhhdmUgUGxhdGZvcm1Jbml0aWFsaXplQ29uc29sZSgpIGxvb2sg Zm9yIGl0IGJ5IHVzaW5nIHRoZQogICAgICBrbm93bi1pbi1hZHZhbmNlIGRldmljZSBwYXRoIGZv ciB0aGUgeGVuIGNvbnNvbGUgaW4gdGhlCiAgICAgIFBMQVRGT1JNX0NPTlNPTEVfQ09OTkVDVF9F TlRSWS4KCiBPdm1mUGtnL092bWZYZW4uZHNjICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg NCArKwogT3ZtZlBrZy9Pdm1mWGVuLmZkZiAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDEg KwogLi4uL1BsYXRmb3JtQm9vdE1hbmFnZXJMaWIuaW5mICAgICAgICAgICAgICAgIHwgIDQgKysK IC4uLi9QbGF0Zm9ybUJvb3RNYW5hZ2VyTGliL0Jkc1BsYXRmb3JtLmggICAgICB8ICAxICsKIC4u Li9QbGF0Zm9ybUJvb3RNYW5hZ2VyTGliL0Jkc1BsYXRmb3JtLmMgICAgICB8ICAzICstCiAuLi4v UGxhdGZvcm1Cb290TWFuYWdlckxpYi9QbGF0Zm9ybURhdGEuYyAgICAgfCA0OSArKysrKysrKysr KysrKysrKy0tCiA2IGZpbGVzIGNoYW5nZWQsIDU4IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvT3ZtZlBrZy9Pdm1mWGVuLmRzYyBiL092bWZQa2cvT3ZtZlhlbi5k c2MKaW5kZXggNTRhYzkxMGQ4ZS4uZTcxOWExNjhmOCAxMDA2NDQKLS0tIGEvT3ZtZlBrZy9Pdm1m WGVuLmRzYworKysgYi9Pdm1mUGtnL092bWZYZW4uZHNjCkBAIC01ODYsNiArNTg2LDEwIEBAIFtD b21wb25lbnRzXQogICBPdm1mUGtnL1hlbklvUGNpRHhlL1hlbklvUGNpRHhlLmluZg0KICAgT3Zt ZlBrZy9YZW5CdXNEeGUvWGVuQnVzRHhlLmluZg0KICAgT3ZtZlBrZy9YZW5QdkJsa0R4ZS9YZW5Q dkJsa0R4ZS5pbmYNCisgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvU2VyaWFsRHhlL1NlcmlhbER4 ZS5pbmYgew0KKyAgICA8TGlicmFyeUNsYXNzZXM+DQorICAgICAgU2VyaWFsUG9ydExpYnxPdm1m UGtnL0xpYnJhcnkvWGVuQ29uc29sZVNlcmlhbFBvcnRMaWIvWGVuQ29uc29sZVNlcmlhbFBvcnRM aWIuaW5mDQorICB9DQogICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL1dhdGNoZG9nVGltZXJEeGUv V2F0Y2hkb2dUaW1lci5pbmYNCiAgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvTW9ub3RvbmljQ291 bnRlclJ1bnRpbWVEeGUvTW9ub3RvbmljQ291bnRlclJ1bnRpbWVEeGUuaW5mDQogICBNZGVNb2R1 bGVQa2cvVW5pdmVyc2FsL0NhcHN1bGVSdW50aW1lRHhlL0NhcHN1bGVSdW50aW1lRHhlLmluZg0K ZGlmZiAtLWdpdCBhL092bWZQa2cvT3ZtZlhlbi5mZGYgYi9Pdm1mUGtnL092bWZYZW4uZmRmCmlu ZGV4IGZhMDgzMGEzMjQuLjVjMWE5MjVkNmEgMTAwNjQ0Ci0tLSBhL092bWZQa2cvT3ZtZlhlbi5m ZGYKKysrIGIvT3ZtZlBrZy9Pdm1mWGVuLmZkZgpAQCAtMzEyLDYgKzMxMiw3IEBAIFtGVi5EWEVG Vl0KIElORiAgT3ZtZlBrZy9YZW5Jb1BjaUR4ZS9YZW5Jb1BjaUR4ZS5pbmYNCiBJTkYgIE92bWZQ a2cvWGVuQnVzRHhlL1hlbkJ1c0R4ZS5pbmYNCiBJTkYgIE92bWZQa2cvWGVuUHZCbGtEeGUvWGVu UHZCbGtEeGUuaW5mDQorSU5GICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL1NlcmlhbER4ZS9TZXJp YWxEeGUuaW5mDQogDQogSU5GICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL1dhdGNoZG9nVGltZXJE eGUvV2F0Y2hkb2dUaW1lci5pbmYNCiBJTkYgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvTW9ub3Rv bmljQ291bnRlclJ1bnRpbWVEeGUvTW9ub3RvbmljQ291bnRlclJ1bnRpbWVEeGUuaW5mDQpkaWZm IC0tZ2l0IGEvT3ZtZlBrZy9MaWJyYXJ5L1BsYXRmb3JtQm9vdE1hbmFnZXJMaWIvUGxhdGZvcm1C b290TWFuYWdlckxpYi5pbmYgYi9Pdm1mUGtnL0xpYnJhcnkvUGxhdGZvcm1Cb290TWFuYWdlckxp Yi9QbGF0Zm9ybUJvb3RNYW5hZ2VyTGliLmluZgppbmRleCAwNGQ2MTRjZDQ5Li5mODljY2UxODc5 IDEwMDY0NAotLS0gYS9Pdm1mUGtnL0xpYnJhcnkvUGxhdGZvcm1Cb290TWFuYWdlckxpYi9QbGF0 Zm9ybUJvb3RNYW5hZ2VyTGliLmluZgorKysgYi9Pdm1mUGtnL0xpYnJhcnkvUGxhdGZvcm1Cb290 TWFuYWdlckxpYi9QbGF0Zm9ybUJvb3RNYW5hZ2VyTGliLmluZgpAQCAtNjEsNiArNjEsMTAgQEAg W1BjZF0KICAgZ1VlZmlPdm1mUGtnVG9rZW5TcGFjZUd1aWQuUGNkT3ZtZkZsYXNoVmFyaWFibGVz RW5hYmxlDQogICBnVWVmaU92bWZQa2dUb2tlblNwYWNlR3VpZC5QY2RPdm1mSG9zdEJyaWRnZVBj aURldklkDQogICBnRWZpTWRlUGtnVG9rZW5TcGFjZUd1aWQuUGNkUGxhdGZvcm1Cb290VGltZU91 dA0KKyAgZ0VmaU1kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFVhcnREZWZhdWx0QmF1ZFJhdGUgICAg ICAgICAjIyBDT05TVU1FUw0KKyAgZ0VmaU1kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFVhcnREZWZh dWx0RGF0YUJpdHMgICAgICAgICAjIyBDT05TVU1FUw0KKyAgZ0VmaU1kZVBrZ1Rva2VuU3BhY2VH dWlkLlBjZFVhcnREZWZhdWx0UGFyaXR5ICAgICAgICAgICAjIyBDT05TVU1FUw0KKyAgZ0VmaU1k ZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFVhcnREZWZhdWx0U3RvcEJpdHMgICAgICAgICAjIyBDT05T VU1FUw0KIA0KIFtQY2QuSUEzMiwgUGNkLlg2NF0NCiAgIGdFZmlNZGVQa2dUb2tlblNwYWNlR3Vp ZC5QY2RGU0JDbG9jaw0KZGlmZiAtLWdpdCBhL092bWZQa2cvTGlicmFyeS9QbGF0Zm9ybUJvb3RN YW5hZ2VyTGliL0Jkc1BsYXRmb3JtLmggYi9Pdm1mUGtnL0xpYnJhcnkvUGxhdGZvcm1Cb290TWFu YWdlckxpYi9CZHNQbGF0Zm9ybS5oCmluZGV4IDQ5YTA3MmI0MDAuLjE1M2UyMTUxMDEgMTAwNjQ0 Ci0tLSBhL092bWZQa2cvTGlicmFyeS9QbGF0Zm9ybUJvb3RNYW5hZ2VyTGliL0Jkc1BsYXRmb3Jt LmgKKysrIGIvT3ZtZlBrZy9MaWJyYXJ5L1BsYXRmb3JtQm9vdE1hbmFnZXJMaWIvQmRzUGxhdGZv cm0uaApAQCAtMTY1LDYgKzE2NSw3IEBAIHR5cGVkZWYgc3RydWN0IHsKICNkZWZpbmUgQ09OU09M RV9JTiAgQklUMQ0KICNkZWZpbmUgU1REX0VSUk9SICAgQklUMg0KIGV4dGVybiBQTEFURk9STV9D T05TT0xFX0NPTk5FQ1RfRU5UUlkgIGdQbGF0Zm9ybUNvbnNvbGVbXTsNCitleHRlcm4gUExBVEZP Uk1fQ09OU09MRV9DT05ORUNUX0VOVFJZICBnWGVuUGxhdGZvcm1Db25zb2xlW107DQogDQogLy8N CiAvLyBQbGF0Zm9ybSBCRFMgRnVuY3Rpb25zDQpkaWZmIC0tZ2l0IGEvT3ZtZlBrZy9MaWJyYXJ5 L1BsYXRmb3JtQm9vdE1hbmFnZXJMaWIvQmRzUGxhdGZvcm0uYyBiL092bWZQa2cvTGlicmFyeS9Q bGF0Zm9ybUJvb3RNYW5hZ2VyTGliL0Jkc1BsYXRmb3JtLmMKaW5kZXggMWViYTMwNGYwOS4uNzBk ZjZiODQxYSAxMDA2NDQKLS0tIGEvT3ZtZlBrZy9MaWJyYXJ5L1BsYXRmb3JtQm9vdE1hbmFnZXJM aWIvQmRzUGxhdGZvcm0uYworKysgYi9Pdm1mUGtnL0xpYnJhcnkvUGxhdGZvcm1Cb290TWFuYWdl ckxpYi9CZHNQbGF0Zm9ybS5jCkBAIC0zOTgsNyArMzk4LDggQEAgUGxhdGZvcm1Cb290TWFuYWdl ckJlZm9yZUNvbnNvbGUgKAogICAvLw0KICAgRWZpQm9vdE1hbmFnZXJEaXNwYXRjaERlZmVycmVk SW1hZ2VzICgpOw0KIA0KLSAgUGxhdGZvcm1Jbml0aWFsaXplQ29uc29sZSAoZ1BsYXRmb3JtQ29u c29sZSk7DQorICBQbGF0Zm9ybUluaXRpYWxpemVDb25zb2xlICgNCisgICAgWGVuRGV0ZWN0ZWQo KSA/IGdYZW5QbGF0Zm9ybUNvbnNvbGUgOiBnUGxhdGZvcm1Db25zb2xlKTsNCiAgIFBjZFN0YXR1 cyA9IFBjZFNldDE2UyAoUGNkUGxhdGZvcm1Cb290VGltZU91dCwNCiAgICAgICAgICAgICAgICAg R2V0RnJvbnRQYWdlVGltZW91dEZyb21RZW11ICgpKTsNCiAgIEFTU0VSVF9SRVRVUk5fRVJST1Ig KFBjZFN0YXR1cyk7DQpkaWZmIC0tZ2l0IGEvT3ZtZlBrZy9MaWJyYXJ5L1BsYXRmb3JtQm9vdE1h bmFnZXJMaWIvUGxhdGZvcm1EYXRhLmMgYi9Pdm1mUGtnL0xpYnJhcnkvUGxhdGZvcm1Cb290TWFu YWdlckxpYi9QbGF0Zm9ybURhdGEuYwppbmRleCAzNmFhYjc4NGQ3Li4yODU4YzNkZmQ1IDEwMDY0 NAotLS0gYS9Pdm1mUGtnL0xpYnJhcnkvUGxhdGZvcm1Cb290TWFuYWdlckxpYi9QbGF0Zm9ybURh dGEuYworKysgYi9Pdm1mUGtnL0xpYnJhcnkvUGxhdGZvcm1Cb290TWFuYWdlckxpYi9QbGF0Zm9y bURhdGEuYwpAQCAtOSwxOCArOSwxOSBAQAogDQogI2luY2x1ZGUgIkJkc1BsYXRmb3JtLmgiDQog I2luY2x1ZGUgPEd1aWQvUWVtdVJhbWZiLmg+DQorI2luY2x1ZGUgPEd1aWQvU2VyaWFsUG9ydExp YlZlbmRvci5oPg0KIA0KIC8vDQotLy8gRGVidWcgQWdlbnQgVUFSVCBEZXZpY2UgUGF0aCBzdHJ1 Y3R1cmUNCisvLyBWZW5kb3IgVUFSVCBEZXZpY2UgUGF0aCBzdHJ1Y3R1cmUNCiAvLw0KLSNwcmFn bWEgcGFjaygxKQ0KKyNwcmFnbWEgcGFjayAoMSkNCiB0eXBlZGVmIHN0cnVjdCB7DQogICBWRU5E T1JfREVWSUNFX1BBVEggICAgICAgIFZlbmRvckhhcmR3YXJlOw0KICAgVUFSVF9ERVZJQ0VfUEFU SCAgICAgICAgICBVYXJ0Ow0KICAgVkVORE9SX0RFVklDRV9QQVRIICAgICAgICBUZXJtaW5hbFR5 cGU7DQogICBFRklfREVWSUNFX1BBVEhfUFJPVE9DT0wgIEVuZDsNCiB9IFZFTkRPUl9VQVJUX0RF VklDRV9QQVRIOw0KLSNwcmFnbWEgcGFjaygpDQorI3ByYWdtYSBwYWNrICgpDQogDQogLy8NCiAv LyBVU0IgS2V5Ym9hcmQgRGV2aWNlIFBhdGggc3RydWN0dXJlDQpAQCAtMTQxLDYgKzE0MiwzNyBA QCBTVEFUSUMgVkVORE9SX1JBTUZCX0RFVklDRV9QQVRIIGdRZW11UmFtZmJEZXZpY2VQYXRoID0g ewogICBnRW5kRW50aXJlDQogfTsNCiANCitTVEFUSUMgVkVORE9SX1VBUlRfREVWSUNFX1BBVEgg Z1hlbkNvbnNvbGVEZXZpY2VQYXRoID0gew0KKyAgew0KKyAgICB7DQorICAgICAgSEFSRFdBUkVf REVWSUNFX1BBVEgsDQorICAgICAgSFdfVkVORE9SX0RQLA0KKyAgICAgIHsNCisgICAgICAgIChV SU5UOCkgKHNpemVvZiAoVkVORE9SX0RFVklDRV9QQVRIKSksDQorICAgICAgICAoVUlOVDgpICgo c2l6ZW9mIChWRU5ET1JfREVWSUNFX1BBVEgpKSA+PiA4KQ0KKyAgICAgIH0NCisgICAgfSwNCisg ICAgRURLSUlfU0VSSUFMX1BPUlRfTElCX1ZFTkRPUl9HVUlEDQorICB9LA0KKyAgew0KKyAgICB7 DQorICAgICAgTUVTU0FHSU5HX0RFVklDRV9QQVRILA0KKyAgICAgIE1TR19VQVJUX0RQLA0KKyAg ICAgIHsNCisgICAgICAgIChVSU5UOCkgKHNpemVvZiAoVUFSVF9ERVZJQ0VfUEFUSCkpLA0KKyAg ICAgICAgKFVJTlQ4KSAoKHNpemVvZiAoVUFSVF9ERVZJQ0VfUEFUSCkpID4+IDgpDQorICAgICAg fQ0KKyAgICB9LA0KKyAgICAwLA0KKyAgICBGaXhlZFBjZEdldDY0IChQY2RVYXJ0RGVmYXVsdEJh dWRSYXRlKSwNCisgICAgRml4ZWRQY2RHZXQ4IChQY2RVYXJ0RGVmYXVsdERhdGFCaXRzKSwNCisg ICAgRml4ZWRQY2RHZXQ4IChQY2RVYXJ0RGVmYXVsdFBhcml0eSksDQorICAgIEZpeGVkUGNkR2V0 OCAoUGNkVWFydERlZmF1bHRTdG9wQml0cyksDQorICB9LA0KKyAgZ1BjQW5zaVRlcm1pbmFsLA0K KyAgZ0VuZEVudGlyZQ0KK307DQorDQogLy8NCiAvLyBQcmVkZWZpbmVkIHBsYXRmb3JtIGRlZmF1 bHQgY29uc29sZSBkZXZpY2UgcGF0aA0KIC8vDQpAQCAtMTYzLDYgKzE5NSwxNyBAQCBQTEFURk9S TV9DT05TT0xFX0NPTk5FQ1RfRU5UUlkgICBnUGxhdGZvcm1Db25zb2xlW10gPSB7CiAgIH0NCiB9 Ow0KIA0KK1BMQVRGT1JNX0NPTlNPTEVfQ09OTkVDVF9FTlRSWSAgIGdYZW5QbGF0Zm9ybUNvbnNv bGVbXSA9IHsNCisgIHsNCisgICAgKEVGSV9ERVZJQ0VfUEFUSF9QUk9UT0NPTCAqKSZnWGVuQ29u c29sZURldmljZVBhdGgsDQorICAgIChDT05TT0xFX09VVCB8IENPTlNPTEVfSU4gfCBTVERfRVJS T1IpDQorICB9LA0KKyAgew0KKyAgICBOVUxMLA0KKyAgICAwDQorICB9DQorfTsNCisNCiAvLw0K IC8vIFByZWRlZmluZWQgcGxhdGZvcm0gY29ubmVjdCBzZXF1ZW5jZQ0KIC8vDQotLSAKQW50aG9u eSBQRVJBUkQKCg==