From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id 05DF3941C8B for ; Sat, 30 Sep 2023 21:23:55 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=7U6ICjuK8YKrsexcADmEQruPs7o9izX54/bV/dTKhmk=; c=relaxed/simple; d=groups.io; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Transfer-Encoding:Content-Type; s=20140610; t=1696109034; v=1; b=hIsD7u0WjJDeM3ShTNP0DU5dX9nFkrr3UHVosI6WuYGuge+PzUp3D/5sJ8SlzTn2bhLSInB8 hF8QZFwTrkAoEumOeFbDQJul6ilIvlO4k8DVbjioPGnMiEmOT3w7YoUm+WmiE60Rh2gd9GnLPNz CrzM9jVZNGOmKVnaVSCf+1oU= X-Received: by 127.0.0.2 with SMTP id Ix7vYY7687511x9XgtpnD2yn; Sat, 30 Sep 2023 14:23:54 -0700 X-Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.groups.io with SMTP id smtpd.web11.49045.1696109033850305295 for ; Sat, 30 Sep 2023 14:23:54 -0700 X-Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-380-yuhDoIYwPXS-sSmLfK8m0w-1; Sat, 30 Sep 2023 17:23:47 -0400 X-MC-Unique: yuhDoIYwPXS-sSmLfK8m0w-1 X-Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 6F5AF1C05B02; Sat, 30 Sep 2023 21:23:46 +0000 (UTC) X-Received: from lacos-laptop-9.usersys.redhat.com (unknown [10.39.192.54]) by smtp.corp.redhat.com (Postfix) with ESMTP id C309C40C6EBF; Sat, 30 Sep 2023 21:23:44 +0000 (UTC) From: "Laszlo Ersek" To: devel@edk2.groups.io Cc: Ard Biesheuvel , Gerd Hoffmann , Leif Lindholm , Oliver Smith-Denny , Oliver Steffen , Sami Mujawar , Sean Brogan Subject: [edk2-devel] [PATCH 1/1] ArmVirtPkg/FdtPL011SerialPortLib: initialize implicitly Date: Sat, 30 Sep 2023 23:23:43 +0200 Message-Id: <20230930212343.130015-1-lersek@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.2 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,lersek@redhat.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: 4aVzCMFodVmsX5iTng0mqFZ0x7686176AA= Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="US-ASCII"; x-default=true X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b=hIsD7u0W; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=redhat.com (policy=none); spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io RmR0UEwwMTFTZXJpYWxQb3J0TGliIGNsYWltcyB0aGF0IGl0J3MgdXNhYmxlIGZyb20gdGhlIERY RV9DT1JFLiBUaGF0J3MKbm90IGNvcnJlY3Q6IHRoZSBEWEVfQ09SRSBjYWxscyBERUJVRygpIGFu ZCBBU1NFUlQoKSBiZWZvcmUgaXQgY2FsbHMKUHJvY2Vzc0xpYnJhcnlDb25zdHJ1Y3Rvckxpc3Qo KS4gVmlhIHRoZSBCYXNlRGVidWdMaWJTZXJpYWxQb3J0IGluc3RhbmNlLAp0aG9zZSBERUJVRygp IGFuZCBBU1NFUlQoKSBjYWxscyByZXN1bHQgaW4gU2VyaWFsUG9ydFdyaXRlKCkgY2FsbHMsIGJl Zm9yZQpQcm9jZXNzTGlicmFyeUNvbnN0cnVjdG9yTGlzdCgpIGNhbGxlZCBlaXRoZXIgb3VyIGNv bnN0cnVjdG9yCkZkdFBMMDExU2VyaWFsUG9ydExpYkluaXRpYWxpemUoKSwgb3IgQmFzZURlYnVn TGliU2VyaWFsUG9ydENvbnN0cnVjdG9yKCkuCgooQW5kIGV2ZW4gaWYgdGhlIERYRV9DT1JFIGNh bGxlZCB0aGUgbGF0dGVyIGZ1bmN0aW9uIGVhcmx5IGVub3VnaCwgaXQKd291bGQganVzdCBpbnZv a2Ugb3VyIFNlcmlhbFBvcnRJbml0aWFsaXplKCkgZnVuY3Rpb24gLS0gd2hpY2ggZG9lcwpub3Ro aW5nLikKClRoaXMgbWVhbnMgdGhhdCB0aGUgZWFybGllc3QgRFhFX0NPUkUgZGVidWcgbWVzc2Fn ZXMgYXJlIGxvc3QuCgpSZW5hbWUgRmR0UEwwMTFTZXJpYWxQb3J0TGliSW5pdGlhbGl6ZSgpIHRv IFNlcmlhbFBvcnRJbml0aWFsaXplKCksIHNvCnRoYXQgdGhlIHNhbWUgaW5pdGlhbGl6YXRpb24g b2NjdXIgdGhyb3VnaCB0aGUgY29uc3RydWN0b3IgYW5kIHRoZSBwdWJsaWMKU2VyaWFsUG9ydElu aXRpYWxpemUoKSBsaWJyYXJ5IEFQSS4KClR1cm4gU2VyaWFsUG9ydEluaXRpYWxpemUoKSBjYWxs cyBhZnRlciB0aGUgZmlyc3Qgb25lIGludG8gbm8tb3BzLgoKT3VyIFNlcmlhbFBvcnRMaWIgQVBJ cyBhbHJlYWR5IHVzZSAobVNlcmlhbEJhc2VBZGRyZXNzICE9IDApIHRvIHRyYWNrCmluaXRpYWxp emF0aW9uLiBSZXdvcmsgdGhvc2UgY2hlY2tzIHRvIGFjdHVhbGx5IGluaXRpYWxpemUgdGhlIGxp YnJhcnkgaWYKdGhhdCBoYXNuJ3QgaGFwcGVuZWQgeWV0LgoKVGhlIGZvbGxvd2luZyBuZXcgbGlu ZXMgYXBwZWFyIGluIHRoZSBsb2c6Cgo+IENvcmVJbml0aWFsaXplTWVtb3J5U2VydmljZXM6Cj4g ICBCYXNlQWRkcmVzcyAtIDB4NDgwMDAwMDAgTGVuZ3RoIC0gMHhGODAwMDAwMCBNaW5pbWFsTWVt b3J5U2l6ZU5lZWRlZCAtIDB4MzhDODAwMAo+IEluc3RhbGxQcm90b2NvbEludGVyZmFjZTogW0Vm aUxvYWRlZEltYWdlUHJvdG9jb2xdIDQ2RUZDM0UwCj4gUHJvdGVjdFVlZmlJbWFnZUNvbW1vbiAt IDB4NDZFRkMzRTAKPiAgIC0gMHgwMDAwMDAwMDQ2RUIyMDAwIC0gMHgwMDAwMDAwMDAwMDY4MDAw CgooMHg0NkVCMjAwMCBpcyB0aGUgbG9hZCBhZGRyZXNzIG9mIHRoZSBEWEUgQ29yZS4pCgpDYzog QXJkIEJpZXNoZXV2ZWwgPGFyZGIrdGlhbm9jb3JlQGtlcm5lbC5vcmc+CkNjOiBHZXJkIEhvZmZt YW5uIDxrcmF4ZWxAcmVkaGF0LmNvbT4KQ2M6IExlaWYgTGluZGhvbG0gPHF1aWNfbGxpbmRob2xA cXVpY2luYy5jb20+CkNjOiBPbGl2ZXIgU21pdGgtRGVubnkgPG9zZGVAbGludXgubWljcm9zb2Z0 LmNvbT4KQ2M6IE9saXZlciBTdGVmZmVuIDxvc3RlZmZlbkByZWRoYXQuY29tPgpDYzogU2FtaSBN dWphd2FyIDxzYW1pLm11amF3YXJAYXJtLmNvbT4KQ2M6IFNlYW4gQnJvZ2FuIDxzZWFuLmJyb2dh bkBtaWNyb3NvZnQuY29tPgpSZXBvcnRlZC1ieTogT2xpdmVyIFNtaXRoLURlbm55IDxvc2RlQGxp bnV4Lm1pY3Jvc29mdC5jb20+ClNpZ25lZC1vZmYtYnk6IExhc3psbyBFcnNlayA8bGVyc2VrQHJl ZGhhdC5jb20+Ci0tLQoKTm90ZXM6CiAgICBJbiBteSBvcGluaW9uIHRoaXMgaXMgdGhlIHdyb25n IGFwcHJvYWNoIHRvIGZpeCB0aGUgYnVnLCBidXQgdGhlIHJpZ2h0CiAgICBhcHByb2FjaCB3b3Vs ZCByZXF1aXJlIHNvIG11Y2ggd29yayBhbGwgb3ZlciBlZGsyIChhbmQgb3V0c2lkZSBvZiBpdCkK ICAgIHRoYXQgaXQncyBqdXN0IG5vdCBwcmFjdGljYWwuCgogQXJtVmlydFBrZy9MaWJyYXJ5L0Zk dFBMMDExU2VyaWFsUG9ydExpYi9GZHRQTDAxMVNlcmlhbFBvcnRMaWIuaW5mIHwgIDIgKy0KIEFy bVZpcnRQa2cvTGlicmFyeS9GZHRQTDAxMVNlcmlhbFBvcnRMaWIvRmR0UEwwMTFTZXJpYWxQb3J0 TGliLmMgICB8IDg0ICsrKysrKysrKysrKy0tLS0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDUyIGlu c2VydGlvbnMoKyksIDM0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL0FybVZpcnRQa2cvTGli cmFyeS9GZHRQTDAxMVNlcmlhbFBvcnRMaWIvRmR0UEwwMTFTZXJpYWxQb3J0TGliLmluZiBiL0Fy bVZpcnRQa2cvTGlicmFyeS9GZHRQTDAxMVNlcmlhbFBvcnRMaWIvRmR0UEwwMTFTZXJpYWxQb3J0 TGliLmluZgppbmRleCAyYjlhMzRhYTMwZDEuLmM0MTc1MTRlM2VkNSAxMDA2NDQKLS0tIGEvQXJt VmlydFBrZy9MaWJyYXJ5L0ZkdFBMMDExU2VyaWFsUG9ydExpYi9GZHRQTDAxMVNlcmlhbFBvcnRM aWIuaW5mCisrKyBiL0FybVZpcnRQa2cvTGlicmFyeS9GZHRQTDAxMVNlcmlhbFBvcnRMaWIvRmR0 UEwwMTFTZXJpYWxQb3J0TGliLmluZgpAQCAtMTUsNyArMTUsNyBAQCBbRGVmaW5lc10KICAgTU9E VUxFX1RZUEUgICAgICAgICAgICAgICAgICAgID0gQkFTRQ0KICAgVkVSU0lPTl9TVFJJTkcgICAg ICAgICAgICAgICAgID0gMS4wDQogICBMSUJSQVJZX0NMQVNTICAgICAgICAgICAgICAgICAgPSBT ZXJpYWxQb3J0TGlifERYRV9DT1JFIERYRV9EUklWRVIgVUVGSV9EUklWRVIgRFhFX1JVTlRJTUVf RFJJVkVSIFVFRklfQVBQTElDQVRJT04NCi0gIENPTlNUUlVDVE9SICAgICAgICAgICAgICAgICAg ICA9IEZkdFBMMDExU2VyaWFsUG9ydExpYkluaXRpYWxpemUNCisgIENPTlNUUlVDVE9SICAgICAg ICAgICAgICAgICAgICA9IFNlcmlhbFBvcnRJbml0aWFsaXplDQogDQogW1NvdXJjZXMuY29tbW9u XQ0KICAgRmR0UEwwMTFTZXJpYWxQb3J0TGliLmMNCmRpZmYgLS1naXQgYS9Bcm1WaXJ0UGtnL0xp YnJhcnkvRmR0UEwwMTFTZXJpYWxQb3J0TGliL0ZkdFBMMDExU2VyaWFsUG9ydExpYi5jIGIvQXJt VmlydFBrZy9MaWJyYXJ5L0ZkdFBMMDExU2VyaWFsUG9ydExpYi9GZHRQTDAxMVNlcmlhbFBvcnRM aWIuYwppbmRleCA2MTRlYTVhODYwYjkuLjlkNzFmMzY5NTcwZiAxMDA2NDQKLS0tIGEvQXJtVmly dFBrZy9MaWJyYXJ5L0ZkdFBMMDExU2VyaWFsUG9ydExpYi9GZHRQTDAxMVNlcmlhbFBvcnRMaWIu YworKysgYi9Bcm1WaXJ0UGtnL0xpYnJhcnkvRmR0UEwwMTFTZXJpYWxQb3J0TGliL0ZkdFBMMDEx U2VyaWFsUG9ydExpYi5jCkBAIC0yMyw0OSArMjMsNTcgQEAKICNpbmNsdWRlIDxMaWJyYXJ5L0hv YkxpYi5oPg0KICNpbmNsdWRlIDxHdWlkL0Vhcmx5UEwwMTFCYXNlQWRkcmVzcy5oPg0KIA0KLVNU QVRJQyBVSU5UTiAgbVNlcmlhbEJhc2VBZGRyZXNzOw0KLQ0KLVJFVFVSTl9TVEFUVVMNCi1FRklB UEkNCi1TZXJpYWxQb3J0SW5pdGlhbGl6ZSAoDQotICBWT0lEDQotICApDQotew0KLSAgcmV0dXJu IFJFVFVSTl9TVUNDRVNTOw0KLX0NCitTVEFUSUMgVUlOVE4gICAgICAgICAgbVNlcmlhbEJhc2VB ZGRyZXNzOw0KK1NUQVRJQyBSRVRVUk5fU1RBVFVTICBtUGVybWFuZW50U3RhdHVzID0gUkVUVVJO X1NVQ0NFU1M7DQogDQogLyoqDQotDQogICBQcm9ncmFtIGhhcmR3YXJlIG9mIFNlcmlhbCBwb3J0 DQogDQotICBAcmV0dXJuICAgIFJFVFVSTl9OT1RfRk9VTkQgaWYgbm8gUEwwMTEgYmFzZSBhZGRy ZXNzIGNvdWxkIGJlIGZvdW5kDQotICAgICAgICAgICAgIE90aGVyd2lzZSwgcmVzdWx0IG9mIFBM MDExVWFydEluaXRpYWxpemVQb3J0ICgpIGlzIHJldHVybmVkDQorICBAcmV0dmFsIFJFVFVSTl9T VUNDRVNTICAgIElmIHRoZSBzZXJpYWwgcG9ydCB3YXMgaW5pdGlhbGl6ZWQgc3VjY2Vzc2Z1bGx5 IGJ5DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMgY2FsbCwgb3IgYW4gZWFybGll ciBjYWxsLCB0bw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZXJpYWxQb3J0SW5pdGlh bGl6ZSgpLg0KIA0KKyAgQHJldHZhbCBSRVRVUk5fTk9UX0ZPVU5EICBJZiBubyBQTDAxMSBiYXNl IGFkZHJlc3MgY291bGQgYmUgZm91bmQuDQorDQorICBAcmV0dXJuICAgICAgICAgICAgICAgICAg IEVycm9yIGNvZGVzIGZvcndhcmRlZCBmcm9tDQorICAgICAgICAgICAgICAgICAgICAgICAgICAg IFBMMDExVWFydEluaXRpYWxpemVQb3J0KCkuDQogKiovDQogUkVUVVJOX1NUQVRVUw0KIEVGSUFQ SQ0KLUZkdFBMMDExU2VyaWFsUG9ydExpYkluaXRpYWxpemUgKA0KK1NlcmlhbFBvcnRJbml0aWFs aXplICgNCiAgIFZPSUQNCiAgICkNCiB7DQogICBWT0lEICAgICAgICAgICAgICAgICpIb2I7DQor ICBSRVRVUk5fU1RBVFVTICAgICAgIFN0YXR1czsNCiAgIENPTlNUIFVJTlQ2NCAgICAgICAgKlVh cnRCYXNlOw0KKyAgVUlOVE4gICAgICAgICAgICAgICBTZXJpYWxCYXNlQWRkcmVzczsNCiAgIFVJ TlQ2NCAgICAgICAgICAgICAgQmF1ZFJhdGU7DQogICBVSU5UMzIgICAgICAgICAgICAgIFJlY2Vp dmVGaWZvRGVwdGg7DQogICBFRklfUEFSSVRZX1RZUEUgICAgIFBhcml0eTsNCiAgIFVJTlQ4ICAg ICAgICAgICAgICAgRGF0YUJpdHM7DQogICBFRklfU1RPUF9CSVRTX1RZUEUgIFN0b3BCaXRzOw0K IA0KKyAgaWYgKG1TZXJpYWxCYXNlQWRkcmVzcyAhPSAwKSB7DQorICAgIHJldHVybiBSRVRVUk5f U1VDQ0VTUzsNCisgIH0NCisNCisgIGlmIChSRVRVUk5fRVJST1IgKG1QZXJtYW5lbnRTdGF0dXMp KSB7DQorICAgIHJldHVybiBtUGVybWFuZW50U3RhdHVzOw0KKyAgfQ0KKw0KICAgSG9iID0gR2V0 Rmlyc3RHdWlkSG9iICgmZ0Vhcmx5UEwwMTFCYXNlQWRkcmVzc0d1aWQpOw0KICAgaWYgKChIb2Ig PT0gTlVMTCkgfHwgKEdFVF9HVUlEX0hPQl9EQVRBX1NJWkUgKEhvYikgIT0gc2l6ZW9mICpVYXJ0 QmFzZSkpIHsNCi0gICAgcmV0dXJuIFJFVFVSTl9OT1RfRk9VTkQ7DQorICAgIFN0YXR1cyA9IFJF VFVSTl9OT1RfRk9VTkQ7DQorICAgIGdvdG8gRmFpbGVkOw0KICAgfQ0KIA0KICAgVWFydEJhc2Ug PSBHRVRfR1VJRF9IT0JfREFUQSAoSG9iKTsNCiANCi0gIG1TZXJpYWxCYXNlQWRkcmVzcyA9IChV SU5UTikqVWFydEJhc2U7DQotICBpZiAobVNlcmlhbEJhc2VBZGRyZXNzID09IDApIHsNCi0gICAg cmV0dXJuIFJFVFVSTl9OT1RfRk9VTkQ7DQorICBTZXJpYWxCYXNlQWRkcmVzcyA9IChVSU5UTikq VWFydEJhc2U7DQorICBpZiAoU2VyaWFsQmFzZUFkZHJlc3MgPT0gMCkgew0KKyAgICBTdGF0dXMg PSBSRVRVUk5fTk9UX0ZPVU5EOw0KKyAgICBnb3RvIEZhaWxlZDsNCiAgIH0NCiANCiAgIEJhdWRS YXRlICAgICAgICAgPSAoVUlOVE4pUGNkR2V0NjQgKFBjZFVhcnREZWZhdWx0QmF1ZFJhdGUpOw0K QEAgLTc0LDE1ICs4MiwyNSBAQCBGZHRQTDAxMVNlcmlhbFBvcnRMaWJJbml0aWFsaXplICgKICAg RGF0YUJpdHMgICAgICAgICA9IFBjZEdldDggKFBjZFVhcnREZWZhdWx0RGF0YUJpdHMpOw0KICAg U3RvcEJpdHMgICAgICAgICA9IChFRklfU1RPUF9CSVRTX1RZUEUpUGNkR2V0OCAoUGNkVWFydERl ZmF1bHRTdG9wQml0cyk7DQogDQotICByZXR1cm4gUEwwMTFVYXJ0SW5pdGlhbGl6ZVBvcnQgKA0K LSAgICAgICAgICAgbVNlcmlhbEJhc2VBZGRyZXNzLA0KLSAgICAgICAgICAgRml4ZWRQY2RHZXQz MiAoUEwwMTFVYXJ0Q2xrSW5IeiksDQotICAgICAgICAgICAmQmF1ZFJhdGUsDQotICAgICAgICAg ICAmUmVjZWl2ZUZpZm9EZXB0aCwNCi0gICAgICAgICAgICZQYXJpdHksDQotICAgICAgICAgICAm RGF0YUJpdHMsDQotICAgICAgICAgICAmU3RvcEJpdHMNCi0gICAgICAgICAgICk7DQorICBTdGF0 dXMgPSBQTDAxMVVhcnRJbml0aWFsaXplUG9ydCAoDQorICAgICAgICAgICAgIFNlcmlhbEJhc2VB ZGRyZXNzLA0KKyAgICAgICAgICAgICBGaXhlZFBjZEdldDMyIChQTDAxMVVhcnRDbGtJbkh6KSwN CisgICAgICAgICAgICAgJkJhdWRSYXRlLA0KKyAgICAgICAgICAgICAmUmVjZWl2ZUZpZm9EZXB0 aCwNCisgICAgICAgICAgICAgJlBhcml0eSwNCisgICAgICAgICAgICAgJkRhdGFCaXRzLA0KKyAg ICAgICAgICAgICAmU3RvcEJpdHMNCisgICAgICAgICAgICAgKTsNCisgIGlmIChSRVRVUk5fRVJS T1IgKFN0YXR1cykpIHsNCisgICAgZ290byBGYWlsZWQ7DQorICB9DQorDQorICBtU2VyaWFsQmFz ZUFkZHJlc3MgPSBTZXJpYWxCYXNlQWRkcmVzczsNCisgIHJldHVybiBSRVRVUk5fU1VDQ0VTUzsN CisNCitGYWlsZWQ6DQorICBtUGVybWFuZW50U3RhdHVzID0gU3RhdHVzOw0KKyAgcmV0dXJuIFN0 YXR1czsNCiB9DQogDQogLyoqDQpAQCAtMTAyLDcgKzEyMCw3IEBAIFNlcmlhbFBvcnRXcml0ZSAo CiAgIElOIFVJTlROICBOdW1iZXJPZkJ5dGVzDQogICApDQogew0KLSAgaWYgKG1TZXJpYWxCYXNl QWRkcmVzcyAhPSAwKSB7DQorICBpZiAoIVJFVFVSTl9FUlJPUiAoU2VyaWFsUG9ydEluaXRpYWxp emUgKCkpKSB7DQogICAgIHJldHVybiBQTDAxMVVhcnRXcml0ZSAobVNlcmlhbEJhc2VBZGRyZXNz LCBCdWZmZXIsIE51bWJlck9mQnl0ZXMpOw0KICAgfQ0KIA0KQEAgLTEyNiw3ICsxNDQsNyBAQCBT ZXJpYWxQb3J0UmVhZCAoCiAgIElOICBVSU5UTiAgTnVtYmVyT2ZCeXRlcw0KICAgKQ0KIHsNCi0g IGlmIChtU2VyaWFsQmFzZUFkZHJlc3MgIT0gMCkgew0KKyAgaWYgKCFSRVRVUk5fRVJST1IgKFNl cmlhbFBvcnRJbml0aWFsaXplICgpKSkgew0KICAgICByZXR1cm4gUEwwMTFVYXJ0UmVhZCAobVNl cmlhbEJhc2VBZGRyZXNzLCBCdWZmZXIsIE51bWJlck9mQnl0ZXMpOw0KICAgfQ0KIA0KQEAgLTE0 Niw3ICsxNjQsNyBAQCBTZXJpYWxQb3J0UG9sbCAoCiAgIFZPSUQNCiAgICkNCiB7DQotICBpZiAo bVNlcmlhbEJhc2VBZGRyZXNzICE9IDApIHsNCisgIGlmICghUkVUVVJOX0VSUk9SIChTZXJpYWxQ b3J0SW5pdGlhbGl6ZSAoKSkpIHsNCiAgICAgcmV0dXJuIFBMMDExVWFydFBvbGwgKG1TZXJpYWxC YXNlQWRkcmVzcyk7DQogICB9DQogDQpAQCAtMTk5LDcgKzIxNyw3IEBAIFNlcmlhbFBvcnRTZXRB dHRyaWJ1dGVzICgKIHsNCiAgIFJFVFVSTl9TVEFUVVMgIFN0YXR1czsNCiANCi0gIGlmIChtU2Vy aWFsQmFzZUFkZHJlc3MgPT0gMCkgew0KKyAgaWYgKFJFVFVSTl9FUlJPUiAoU2VyaWFsUG9ydElu aXRpYWxpemUgKCkpKSB7DQogICAgIFN0YXR1cyA9IFJFVFVSTl9VTlNVUFBPUlRFRDsNCiAgIH0g ZWxzZSB7DQogICAgIFN0YXR1cyA9IFBMMDExVWFydEluaXRpYWxpemVQb3J0ICgNCkBAIC0yMzQs NyArMjUyLDcgQEAgU2VyaWFsUG9ydFNldENvbnRyb2wgKAogew0KICAgUkVUVVJOX1NUQVRVUyAg U3RhdHVzOw0KIA0KLSAgaWYgKG1TZXJpYWxCYXNlQWRkcmVzcyA9PSAwKSB7DQorICBpZiAoUkVU VVJOX0VSUk9SIChTZXJpYWxQb3J0SW5pdGlhbGl6ZSAoKSkpIHsNCiAgICAgU3RhdHVzID0gUkVU VVJOX1VOU1VQUE9SVEVEOw0KICAgfSBlbHNlIHsNCiAgICAgU3RhdHVzID0gUEwwMTFVYXJ0U2V0 Q29udHJvbCAobVNlcmlhbEJhc2VBZGRyZXNzLCBDb250cm9sKTsNCkBAIC0yNjEsNyArMjc5LDcg QEAgU2VyaWFsUG9ydEdldENvbnRyb2wgKAogew0KICAgUkVUVVJOX1NUQVRVUyAgU3RhdHVzOw0K IA0KLSAgaWYgKG1TZXJpYWxCYXNlQWRkcmVzcyA9PSAwKSB7DQorICBpZiAoUkVUVVJOX0VSUk9S IChTZXJpYWxQb3J0SW5pdGlhbGl6ZSAoKSkpIHsNCiAgICAgU3RhdHVzID0gUkVUVVJOX1VOU1VQ UE9SVEVEOw0KICAgfSBlbHNlIHsNCiAgICAgU3RhdHVzID0gUEwwMTFVYXJ0R2V0Q29udHJvbCAo bVNlcmlhbEJhc2VBZGRyZXNzLCBDb250cm9sKTsNCg0KCi09LT0tPS09LT0tPS09LT0tPS09LT0t Ckdyb3Vwcy5pbyBMaW5rczogWW91IHJlY2VpdmUgYWxsIG1lc3NhZ2VzIHNlbnQgdG8gdGhpcyBn cm91cC4KVmlldy9SZXBseSBPbmxpbmUgKCMxMDkyMzYpOiBodHRwczovL2VkazIuZ3JvdXBzLmlv L2cvZGV2ZWwvbWVzc2FnZS8xMDkyMzYKTXV0ZSBUaGlzIFRvcGljOiBodHRwczovL2dyb3Vwcy5p by9tdC8xMDE2ODI2NzEvNzY4NjE3NgpHcm91cCBPd25lcjogZGV2ZWwrb3duZXJAZWRrMi5ncm91 cHMuaW8KVW5zdWJzY3JpYmU6IGh0dHBzOi8vZWRrMi5ncm91cHMuaW8vZy9kZXZlbC9sZWF2ZS8x MjM2NzExMS83Njg2MTc2LzE5MTM0NTYyMTIveHl6enkgW3JlYmVjY2FAb3BlbmZ3LmlvXQotPS09 LT0tPS09LT0tPS09LT0tPS09LQoKDQo=