From mboxrd@z Thu Jan 1 00:00:00 1970 From: Patchwork Subject: =?utf-8?q?=E2=9C=97_Fi=2ECI=2ECHECKPATCH=3A_warning_f?= =?utf-8?q?or_i915_vgpu_PV_to_improve_vgpu_performance?= Date: Mon, 29 Jul 2019 08:18:45 -0000 Message-ID: <20190729081845.26661.5621@emeril.freedesktop.org> References: <1564417962-74325-1-git-send-email-xiaolin.zhang@intel.com> Reply-To: intel-gfx@lists.freedesktop.org Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1564417962-74325-1-git-send-email-xiaolin.zhang@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Xiaolin Zhang Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org PT0gU2VyaWVzIERldGFpbHMgPT0KClNlcmllczogaTkxNSB2Z3B1IFBWIHRvIGltcHJvdmUgdmdw dSBwZXJmb3JtYW5jZQpVUkwgICA6IGh0dHBzOi8vcGF0Y2h3b3JrLmZyZWVkZXNrdG9wLm9yZy9z ZXJpZXMvNjQzNzIvClN0YXRlIDogd2FybmluZwoKPT0gU3VtbWFyeSA9PQoKJCBkaW0gY2hlY2tw YXRjaCBvcmlnaW4vZHJtLXRpcAo2YmRjOGViNmRlOWYgZHJtL2k5MTU6IGludHJvZHVjZWQgdmdw dSBwdiBjYXBhYmlsaXR5Ci06MTI1OiBDSEVDSzpQQVJFTlRIRVNJU19BTElHTk1FTlQ6IEFsaWdu bWVudCBzaG91bGQgbWF0Y2ggb3BlbiBwYXJlbnRoZXNpcwojMTI1OiBGSUxFOiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X3ZncHUuYzozMjI6Citib29sIGludGVsX3ZncHVfY2hlY2tfcHZfY2Fw cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCisJCXZvaWQgX19pb21lbSAqc2hh cmVkX2FyZWEpCgotOjE2MzogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1lbnQg c2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzE2MzogRklMRTogZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV92Z3B1Lmg6NTc6Citib29sIGludGVsX3ZncHVfY2hlY2tfcHZfY2FwcyhzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCisJCXZvaWQgX19pb21lbSAqc2hhcmVkX2Fy ZWEpOwoKdG90YWw6IDAgZXJyb3JzLCAwIHdhcm5pbmdzLCAyIGNoZWNrcywgMTA3IGxpbmVzIGNo ZWNrZWQKM2Q1MDY5NmFkZmNiIGRybS9pOTE1OiB2Z3B1IHNoYXJlZCBtZW1vcnkgc2V0dXAgZm9y IHB2IG9wdGltaXphdGlvbgotOjEyMjogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBBbGln bm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzEyMjogRklMRTogZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV92Z3B1LmM6MzI1Ogorc3RhdGljIGludCBpbnRlbF92Z3B1X3NldHVw X3NoYXJlZF9wYWdlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKKwkJdm9pZCBf X2lvbWVtICpzaGFyZWRfYXJlYSkKCi06MTgwOiBDSEVDSzpBTExPQ19TSVpFT0ZfU1RSVUNUOiBQ cmVmZXIga3phbGxvYyhzaXplb2YoKnB2KS4uLikgb3ZlciBremFsbG9jKHNpemVvZihzdHJ1Y3Qg aTkxNV92aXJ0dWFsX2dwdV9wdikuLi4pCiMxODA6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfdmdwdS5jOjM4MzoKKwlwdiA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBpOTE1X3ZpcnR1 YWxfZ3B1X3B2KSwgR0ZQX0tFUk5FTCk7Cgp0b3RhbDogMCBlcnJvcnMsIDAgd2FybmluZ3MsIDIg Y2hlY2tzLCAxNzkgbGluZXMgY2hlY2tlZAozYWM5ODM2NDQ4NGMgZHJtL2k5MTU6IHZncHUgcHYg Y29tbWFuZCBidWZmZXIgc3VwcG9ydAotOjUxOiBDSEVDSzpQQVJFTlRIRVNJU19BTElHTk1FTlQ6 IEFsaWdubWVudCBzaG91bGQgbWF0Y2ggb3BlbiBwYXJlbnRoZXNpcwojNTE6IEZJTEU6IGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfdmdwdS5jOjMzODoKK3N0YXRpYyBpbnQgd2FpdF9mb3JfZGVz Y191cGRhdGUoc3RydWN0IHZncHVfcHZfY3RfYnVmZmVyX2Rlc2MgKmRlc2MsCisJCXUzMiBmZW5j ZSwgdTMyICpzdGF0dXMpCgotOjYzOiBDSEVDSzpQQVJFTlRIRVNJU19BTElHTk1FTlQ6IEFsaWdu bWVudCBzaG91bGQgbWF0Y2ggb3BlbiBwYXJlbnRoZXNpcwojNjM6IEZJTEU6IGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfdmdwdS5jOjM1MDoKKwkJRFJNX0VSUk9SKCJDVDogZmVuY2UgJXUgZmFp bGVkOyByZXBvcnRlZCBmZW5jZT0ldVxuIiwKKwkJCQlmZW5jZSwgZGVzYy0+ZmVuY2UpOwoKLTo4 ODogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9w ZW4gcGFyZW50aGVzaXMKIzg4OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZncHUu YzozNzU6CitzdGF0aWMgaW50IHB2X2NvbW1hbmRfYnVmZmVyX3dyaXRlKHN0cnVjdCBpOTE1X3Zp cnR1YWxfZ3B1X3B2ICpwdiwKKwkJY29uc3QgdTMyICphY3Rpb24sIHUzMiBsZW4gLyogaW4gZHdv cmRzICovLCB1MzIgZmVuY2UpCgotOjE1MTogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBB bGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzE1MTogRklMRTogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV92Z3B1LmM6NDM4Ogorc3RhdGljIGludCBwdl9zZW5kKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKKwkJY29uc3QgdTMyICphY3Rpb24sIHUzMiBs ZW4sIHUzMiAqc3RhdHVzKQoKLToxODY6IENIRUNLOk9QRU5fRU5ERURfTElORTogTGluZXMgc2hv dWxkIG5vdCBlbmQgd2l0aCBhICcoJwojMTg2OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3ZncHUuYzo0NzM6CitzdGF0aWMgaW50IGludGVsX3ZncHVfcHZfc2VuZF9jb21tYW5kX2J1 ZmZlcigKCi06MjAzOiBDSEVDSzpQQVJFTlRIRVNJU19BTElHTk1FTlQ6IEFsaWdubWVudCBzaG91 bGQgbWF0Y2ggb3BlbiBwYXJlbnRoZXNpcwojMjAzOiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X3ZncHUuYzo0OTA6CisJCURSTV9FUlJPUigiUFY6IHNlbmQgYWN0aW9uICUjeCByZXR1 cm5lZCAlZCAoJSN4KVxuIiwKKwkJCQlhY3Rpb25bMF0sIHJldCwgcmV0KTsKCi06MjI2OiBDSEVD SzpTUEFDSU5HOiBzcGFjZXMgcHJlZmVycmVkIGFyb3VuZCB0aGF0ICcvJyAoY3R4OlZ4VikKIzIy NjogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92Z3B1LmM6NTc4OgorCXB2LT5jdGIu ZGVzYy0+c2l6ZSA9IFBBR0VfU0laRS8yOwogCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF4KCi06MjQ1OiBDSEVDSzpTUEFDSU5HOiBzcGFjZXMgcHJlZmVycmVkIGFyb3VuZCB0aGF0ICcv JyAoY3R4OlZ4VikKIzI0NTogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92Z3B1Lmg6 MzI6CisjZGVmaW5lIFBWX0RFU0NfT0ZGCQkoUEFHRV9TSVpFLzQpCiAgICAgICAgICAgICAgICAg ICAgCQkgICAgICAgICAgXgoKLToyNDY6IENIRUNLOlNQQUNJTkc6IHNwYWNlcyBwcmVmZXJyZWQg YXJvdW5kIHRoYXQgJy8nIChjdHg6VnhWKQojMjQ2OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X3ZncHUuaDozMzoKKyNkZWZpbmUgUFZfQ01EX09GRgkJKFBBR0VfU0laRS8yKQogICAg ICAgICAgICAgICAgICAgCQkgICAgICAgICAgXgoKLTozMjM6IENIRUNLOlBBUkVOVEhFU0lTX0FM SUdOTUVOVDogQWxpZ25tZW50IHNob3VsZCBtYXRjaCBvcGVuIHBhcmVudGhlc2lzCiMzMjM6IEZJ TEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdmdwdS5oOjEzMToKK2ludGVsX3ZncHVfcHZf c2VuZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCisJCXUzMiAqYWN0aW9uLCB1 MzIgbGVuKQoKdG90YWw6IDAgZXJyb3JzLCAwIHdhcm5pbmdzLCAxMCBjaGVja3MsIDI5OSBsaW5l cyBjaGVja2VkCjI5NGVjNTk1NzQ2NSBkcm0vaTkxNTogdmdwdSBwcGd0dCB1cGRhdGUgcHYgb3B0 aW1pemF0aW9uCi06NDI6IENIRUNLOkxPR0lDQUxfQ09OVElOVUFUSU9OUzogTG9naWNhbCBjb250 aW51YXRpb25zIHNob3VsZCBiZSBvbiB0aGUgcHJldmlvdXMgbGluZQojNDI6IEZJTEU6IGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmM6MTQyMzoKKwlpZiAoKGludGVsX3ZncHVfYWN0aXZl KGRldl9wcml2KSAmJiAhaW50ZWxfdmdwdV9oYXNfaHVnZV9ndHQoZGV2X3ByaXYpKQorCQl8fCBp bnRlbF92Z3B1X2VuYWJsZWRfcHZfY2FwcyhkZXZfcHJpdiwgUFZfUFBHVFRfVVBEQVRFKSkKCi06 NTY6IENIRUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3VsZCBtYXRjaCBv cGVuIHBhcmVudGhlc2lzCiM1NjogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f Z3R0LmM6MTAwMToKK3ZvaWQgZ2VuOF9wcGd0dF9jbGVhcihzdHJ1Y3QgaTkxNV9hZGRyZXNzX3Nw YWNlICp2bSwKIAkJCSAgICAgdTY0IHN0YXJ0LCB1NjQgbGVuZ3RoKQoKLTo2NTogQ0hFQ0s6UEFS RU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVz aXMKIzY1OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYzoxMTA4Ogor aW50IGdlbjhfcHBndHRfYWxsb2Moc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0sCiAJCQkg ICAgdTY0IHN0YXJ0LCB1NjQgbGVuZ3RoKQoKLTo3NDogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05N RU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzc0OiBGSUxFOiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYzoxMzIxOgordm9pZCBnZW44X3BwZ3R0 X2luc2VydF80bHZsKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtLAogCQkJCSAgIHN0cnVj dCBpOTE1X3ZtYSAqdm1hLAoKLTo5ODogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBBbGln bm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzk4OiBGSUxFOiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaDo1ODI6Cit2b2lkIGdlbjhfcHBndHRfY2xlYXIoc3Ry dWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0sCisJCXU2NCBzdGFydCwgdTY0IGxlbmd0aCk7Cgot OjEwMDogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNo IG9wZW4gcGFyZW50aGVzaXMKIzEwMDogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fZ3R0Lmg6NTg0Ogordm9pZCBnZW44X3BwZ3R0X2luc2VydF80bHZsKHN0cnVjdCBpOTE1X2Fk ZHJlc3Nfc3BhY2UgKnZtLAorCQlzdHJ1Y3QgaTkxNV92bWEgKnZtYSwKCi06MTAzOiBDSEVDSzpQ QVJFTlRIRVNJU19BTElHTk1FTlQ6IEFsaWdubWVudCBzaG91bGQgbWF0Y2ggb3BlbiBwYXJlbnRo ZXNpcwojMTAzOiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaDo1ODc6 CitpbnQgZ2VuOF9wcGd0dF9hbGxvYyhzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKKwkJ dTY0IHN0YXJ0LCB1NjQgbGVuZ3RoKTsKCi06MTI3OiBDSEVDSzpQQVJFTlRIRVNJU19BTElHTk1F TlQ6IEFsaWdubWVudCBzaG91bGQgbWF0Y2ggb3BlbiBwYXJlbnRoZXNpcwojMTI3OiBGSUxFOiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZncHUuYzozMjU6CitzdGF0aWMgaW50IHZncHVfcHBn dHRfcHZfdXBkYXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKKwkJdTMyIGFj dGlvbiwgdTY0IHBkcCwgdTY0IHN0YXJ0LCB1NjQgbGVuZ3RoLCB1MzIgY2FjaGVfbGV2ZWwpCgot OjE0NDogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNo IG9wZW4gcGFyZW50aGVzaXMKIzE0NDogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92 Z3B1LmM6MzQyOgorc3RhdGljIHZvaWQgZ2VuOF9wcGd0dF9jbGVhcl80bHZsX3B2KHN0cnVjdCBp OTE1X2FkZHJlc3Nfc3BhY2UgKnZtLAorCQl1NjQgc3RhcnQsIHU2NCBsZW5ndGgpCgotOjE1MTog Q0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4g cGFyZW50aGVzaXMKIzE1MTogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92Z3B1LmM6 MzQ5OgorCXZncHVfcHBndHRfcHZfdXBkYXRlKGRldl9wcml2LCBQVl9BQ1RJT05fUFBHVFRfTDRf Q0xFQVIsCisJCXB4X2RtYShwcGd0dC0+cGQpLCBzdGFydCwgbGVuZ3RoLCAwKTsKCi06MTU1OiBD SEVDSzpQQVJFTlRIRVNJU19BTElHTk1FTlQ6IEFsaWdubWVudCBzaG91bGQgbWF0Y2ggb3BlbiBw YXJlbnRoZXNpcwojMTU1OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZncHUuYzoz NTM6CitzdGF0aWMgdm9pZCBnZW44X3BwZ3R0X2luc2VydF80bHZsX3B2KHN0cnVjdCBpOTE1X2Fk ZHJlc3Nfc3BhY2UgKnZtLAorCQlzdHJ1Y3QgaTkxNV92bWEgKnZtYSwKCi06MTY1OiBDSEVDSzpQ QVJFTlRIRVNJU19BTElHTk1FTlQ6IEFsaWdubWVudCBzaG91bGQgbWF0Y2ggb3BlbiBwYXJlbnRo ZXNpcwojMTY1OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZncHUuYzozNjM6CisJ dmdwdV9wcGd0dF9wdl91cGRhdGUoZGV2X3ByaXYsIFBWX0FDVElPTl9QUEdUVF9MNF9JTlNFUlQs CisJCXB4X2RtYShwcGd0dC0+cGQpLCBzdGFydCwgbGVuZ3RoLCBjYWNoZV9sZXZlbCk7CgotOjE2 OTogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9w ZW4gcGFyZW50aGVzaXMKIzE2OTogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92Z3B1 LmM6MzY3Ogorc3RhdGljIGludCBnZW44X3BwZ3R0X2FsbG9jXzRsdmxfcHYoc3RydWN0IGk5MTVf YWRkcmVzc19zcGFjZSAqdm0sCisJCXU2NCBzdGFydCwgdTY0IGxlbmd0aCkKCi06MTg3OiBDSEVD SzpQQVJFTlRIRVNJU19BTElHTk1FTlQ6IEFsaWdubWVudCBzaG91bGQgbWF0Y2ggb3BlbiBwYXJl bnRoZXNpcwojMTg3OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZncHUuYzozODU6 Cit2b2lkIGludGVsX3ZncHVfY29uZmlnX3B2X2NhcHMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2LAorCQllbnVtIHB2X2NhcHMgY2FwLCB2b2lkICpkYXRhKQoKLToyMzc6IENIRUNL OlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3VsZCBtYXRjaCBvcGVuIHBhcmVu dGhlc2lzCiMyMzc6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdmdwdS5oOjE0MDoK K2ludGVsX3ZncHVfZW5hYmxlZF9wdl9jYXBzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiwKKwkJZW51bSBwdl9jYXBzIGNhcCkKCi06MjQwOiBDSEVDSzpMT0dJQ0FMX0NPTlRJTlVB VElPTlM6IExvZ2ljYWwgY29udGludWF0aW9ucyBzaG91bGQgYmUgb24gdGhlIHByZXZpb3VzIGxp bmUKIzI0MDogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92Z3B1Lmg6MTQzOgorCXJl dHVybiAoZGV2X3ByaXYtPnZncHUuYWN0aXZlKSAmJiBpbnRlbF92Z3B1X2hhc19wdl9jYXBzKGRl dl9wcml2KQorCQkJJiYgKGRldl9wcml2LT52Z3B1LnB2X2NhcHMgJiBjYXApOwoKLToyNTE6IENI RUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3VsZCBtYXRjaCBvcGVuIHBh cmVudGhlc2lzCiMyNTE6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdmdwdS5oOjE2 NjoKK3ZvaWQgaW50ZWxfdmdwdV9jb25maWdfcHZfY2FwcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYsCisJCWVudW0gcHZfY2FwcyBjYXAsIHZvaWQgKmRhdGEpOwoKdG90YWw6IDAg ZXJyb3JzLCAwIHdhcm5pbmdzLCAxNyBjaGVja3MsIDE5MCBsaW5lcyBjaGVja2VkCmIwMGM2NmM5 NjJlZSBkcm0vaTkxNTogdmdwdSBjb250ZXh0IHN1Ym1pc3Npb24gcHYgb3B0aW1pemF0aW9uCi06 MTM2OiBDSEVDSzpTUEFDSU5HOiBzcGFjZXMgcHJlZmVycmVkIGFyb3VuZCB0aGF0ICcvJyAoY3R4 OlZ4VikKIzEzNjogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92Z3B1Lmg6MzM6Cisj ZGVmaW5lIFBWX0VMU1BfT0ZGCQkoUEFHRV9TSVpFLzgpCiAgICAgICAgICAgICAgICAgICAgCQkg ICAgICAgICAgXgoKLToxNjQ6IENIRUNLOlVOQ09NTUVOVEVEX0RFRklOSVRJT046IHNwaW5sb2Nr X3QgZGVmaW5pdGlvbiB3aXRob3V0IGNvbW1lbnQKIzE2NDogRklMRTogZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV92Z3B1Lmg6Njc6CisJc3BpbmxvY2tfdCBsb2NrOwoKLToxODg6IFdBUk5JTkc6 RklMRV9QQVRIX0NIQU5HRVM6IGFkZGVkLCBtb3ZlZCBvciBkZWxldGVkIGZpbGUocyksIGRvZXMg TUFJTlRBSU5FUlMgbmVlZCB1cGRhdGluZz8KIzE4ODogCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cgot OjIwODogQ0hFQ0s6U1BBQ0lORzogc3BhY2VzIHByZWZlcnJlZCBhcm91bmQgdGhhdCAnKycgKGN0 eDpWeFYpCiMyMDg6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3B2X3N1Ym1pc3Np b24uYzoxNjoKKwlyZWdfc3RhdGVbQ1RYX1JJTkdfVEFJTCsxXSA9IGludGVsX3Jpbmdfc2V0X3Rh aWwocnEtPnJpbmcsIHJxLT50YWlsKTsKIAkgICAgICAgICAgICAgICAgICAgICAgIF4KCi06MjE5 OiBDSEVDSzpQQVJFTlRIRVNJU19BTElHTk1FTlQ6IEFsaWdubWVudCBzaG91bGQgbWF0Y2ggb3Bl biBwYXJlbnRoZXNpcwojMjE5OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wdl9z dWJtaXNzaW9uLmM6Mjc6CitzdGF0aWMgdm9pZCBwdl9zdWJtaXQoc3RydWN0IGludGVsX2VuZ2lu ZV9jcyAqZW5naW5lLAorCSAgICAgICBzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICoqb3V0LAoKLToyNDg6 IENIRUNLOkJSQUNFUzogQmxhbmsgbGluZXMgYXJlbid0IG5lY2Vzc2FyeSBiZWZvcmUgYSBjbG9z ZSBicmFjZSAnfScKIzI0ODogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcHZfc3Vi bWlzc2lvbi5jOjU2OgorCit9CgotOjMxNjogQ0hFQ0s6TElORV9TUEFDSU5HOiBQbGVhc2UgZG9u J3QgdXNlIG11bHRpcGxlIGJsYW5rIGxpbmVzCiMzMTY6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3B2X3N1Ym1pc3Npb24uYzoxMjQ6CisKKwoKdG90YWw6IDAgZXJyb3JzLCAxIHdh cm5pbmdzLCA2IGNoZWNrcywgMzExIGxpbmVzIGNoZWNrZWQKMmRlYzM3NTcwYTc4IGRybS9pOTE1 L2d2dDogR1ZUZyBoYW5kbGUgcHZfY2FwcyBQVklORk8gcmVnaXN0ZXIKMzNkZmE1YWQ1YmMzIGRy bS9pOTE1L2d2dDogR1ZUZyBoYW5kbGUgc2hhcmVkX3BhZ2Ugc2V0dXAKLTo1MTogQ0hFQ0s6UEFS RU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVz aXMKIzUxOiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvZ3Z0Lmg6NjkzOgoraW50IGlu dGVsX2d2dF9yZWFkX3NoYXJlZF9wYWdlKHN0cnVjdCBpbnRlbF92Z3B1ICp2Z3B1LAorCQl1bnNp Z25lZCBpbnQgb2Zmc2V0LCB2b2lkICpidWYsIHVuc2lnbmVkIGxvbmcgbGVuKTsKCi06NTM6IENI RUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3VsZCBtYXRjaCBvcGVuIHBh cmVudGhlc2lzCiM1MzogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2d2dC5oOjY5NToK K2ludCBpbnRlbF9ndnRfd3JpdGVfc2hhcmVkX3BhZ2Uoc3RydWN0IGludGVsX3ZncHUgKnZncHUs CisJCXVuc2lnbmVkIGludCBvZmZzZXQsIHZvaWQgKmJ1ZiwgdW5zaWduZWQgbG9uZyBsZW4pOwoK LToxMzE6IENIRUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3VsZCBtYXRj aCBvcGVuIHBhcmVudGhlc2lzCiMxMzE6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC92 Z3B1LmM6NjAzOgoraW50IGludGVsX2d2dF9yZWFkX3NoYXJlZF9wYWdlKHN0cnVjdCBpbnRlbF92 Z3B1ICp2Z3B1LAorCQl1bnNpZ25lZCBpbnQgb2Zmc2V0LCB2b2lkICpidWYsIHVuc2lnbmVkIGxv bmcgbGVuKQoKLToxNTA6IENIRUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNo b3VsZCBtYXRjaCBvcGVuIHBhcmVudGhlc2lzCiMxNTA6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9p OTE1L2d2dC92Z3B1LmM6NjIyOgoraW50IGludGVsX2d2dF93cml0ZV9zaGFyZWRfcGFnZShzdHJ1 Y3QgaW50ZWxfdmdwdSAqdmdwdSwKKwkJdW5zaWduZWQgaW50IG9mZnNldCwgdm9pZCAqYnVmLCB1 bnNpZ25lZCBsb25nIGxlbikKCnRvdGFsOiAwIGVycm9ycywgMCB3YXJuaW5ncywgNCBjaGVja3Ms IDEyMiBsaW5lcyBjaGVja2VkCmJlYmQ2NmI3MWFiNCBkcm0vaTkxNS9ndnQ6IEdWVGcgc3VwcG9y dCBwcGd0dCBwdiBvcHRpbWl6YXRpb24KLTo4MzogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5U OiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzgzOiBGSUxFOiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9ndnQvZ3R0LmM6MTgzNjoKKwkJZ3Z0X3ZncHVfZXJyKCJmYWlsIHRv IGNyZWF0ZSBwcGd0dCBmb3IgcGRwIDB4JWxseFxuIiwKKwkJCQlweF9kbWEobW0tPnBwZ3R0LT5w ZCkpOwoKLToxMjI6IENIRUNLOk1BQ1JPX0FSR19SRVVTRTogTWFjcm8gYXJndW1lbnQgcmV1c2Ug J2VuZCcgLSBwb3NzaWJsZSBzaWRlLWVmZmVjdHM/CiMxMjI6IEZJTEU6IGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2d2dC9ndHQuYzoyODc3OgorI2RlZmluZSBwbWw0X2FkZHJfZW5kKGFkZHIsIGVuZCkJ CQkJCVwKKyh7CXVuc2lnbmVkIGxvbmcgX19ib3VuZGFyeSA9IFwKKwkJCSgoYWRkcikgKyBHRU44 X1BNTDRFX1NJWkUpICYgR0VOOF9QTUw0RV9TSVpFX01BU0s7IFwKKwkoX19ib3VuZGFyeSA8IChl bmQpKSA/IF9fYm91bmRhcnkgOiAoZW5kKTsJCVwKK30pCgotOjEyODogQ0hFQ0s6TUFDUk9fQVJH X1JFVVNFOiBNYWNybyBhcmd1bWVudCByZXVzZSAnZW5kJyAtIHBvc3NpYmxlIHNpZGUtZWZmZWN0 cz8KIzEyODogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2d0dC5jOjI4ODM6CisjZGVm aW5lIHBkcF9hZGRyX2VuZChhZGRyLCBlbmQpCQkJCQkJXAorKHsJdW5zaWduZWQgbG9uZyBfX2Jv dW5kYXJ5ID0gXAorCQkJKChhZGRyKSArIEdFTjhfUERQRV9TSVpFKSAmIEdFTjhfUERQRV9TSVpF X01BU0s7IFwKKwkoX19ib3VuZGFyeSA8IChlbmQpKSA/IF9fYm91bmRhcnkgOiAoZW5kKTsJCVwK K30pCgotOjEzNDogQ0hFQ0s6TUFDUk9fQVJHX1JFVVNFOiBNYWNybyBhcmd1bWVudCByZXVzZSAn ZW5kJyAtIHBvc3NpYmxlIHNpZGUtZWZmZWN0cz8KIzEzNDogRklMRTogZHJpdmVycy9ncHUvZHJt L2k5MTUvZ3Z0L2d0dC5jOjI4ODk6CisjZGVmaW5lIHBkX2FkZHJfZW5kKGFkZHIsIGVuZCkJCQkJ CQlcCisoewl1bnNpZ25lZCBsb25nIF9fYm91bmRhcnkgPSBcCisJCQkoKGFkZHIpICsgR0VOOF9Q REVfU0laRSkgJiBHRU44X1BERV9TSVpFX01BU0s7CVwKKwkoX19ib3VuZGFyeSA8IChlbmQpKSA/ IF9fYm91bmRhcnkgOiAoZW5kKTsJCVwKK30pCgotOjE0NzogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJ R05NRU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzE0NzogRklM RTogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2d0dC5jOjI5MDI6CitzdGF0aWMgaW50IHdhbGtf cHRfcmFuZ2Uoc3RydWN0IGludGVsX3ZncHUgKnZncHUsIHU2NCBwdCwKKwkJCQl1NjQgc3RhcnQs IHU2NCBlbmQsIHN0cnVjdCBwcGd0dF93YWxrICp3YWxrKQoKLToxNjA6IENIRUNLOlBBUkVOVEhF U0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3VsZCBtYXRjaCBvcGVuIHBhcmVudGhlc2lzCiMx NjA6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9ndHQuYzoyOTE1OgorCXJldCA9IGlu dGVsX2d2dF9oeXBlcnZpc29yX3JlYWRfZ3BhKHZncHUsCisJCShwdCAmIFBBR0VfTUFTSykgKyAo c3RhcnRfaW5kZXggPDwgaW5mby0+Z3R0X2VudHJ5X3NpemVfc2hpZnQpLAoKLToxODE6IENIRUNL OkxJTkVfU1BBQ0lORzogUGxlYXNlIGRvbid0IHVzZSBtdWx0aXBsZSBibGFuayBsaW5lcwojMTgx OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvZ3R0LmM6MjkzNjoKKworCgotOjE4Mzog Q0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4g cGFyZW50aGVzaXMKIzE4MzogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2d0dC5jOjI5 Mzg6CitzdGF0aWMgaW50IHdhbGtfcGRfcmFuZ2Uoc3RydWN0IGludGVsX3ZncHUgKnZncHUsIHU2 NCBwZCwKKwkJCQl1NjQgc3RhcnQsIHU2NCBlbmQsIHN0cnVjdCBwcGd0dF93YWxrICp3YWxrKQoK LToxOTU6IENIRUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3VsZCBtYXRj aCBvcGVuIHBhcmVudGhlc2lzCiMxOTU6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9n dHQuYzoyOTUwOgorCQlyZXQgPSBpbnRlbF9ndnRfaHlwZXJ2aXNvcl9yZWFkX2dwYSh2Z3B1LAor CQkJKHBkICYgUEFHRV9NQVNLKSArIChpbmRleCA8PAoKLToyMDg6IENIRUNLOkxJTkVfU1BBQ0lO RzogUGxlYXNlIGRvbid0IHVzZSBtdWx0aXBsZSBibGFuayBsaW5lcwojMjA4OiBGSUxFOiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9ndnQvZ3R0LmM6Mjk2MzoKKworCgotOjIxMDogQ0hFQ0s6UEFSRU5U SEVTSVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVzaXMK IzIxMDogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2d0dC5jOjI5NjU6CitzdGF0aWMg aW50IHdhbGtfcGRwX3JhbmdlKHN0cnVjdCBpbnRlbF92Z3B1ICp2Z3B1LCB1NjQgcGRwLAorCQkJ CSAgdTY0IHN0YXJ0LCB1NjQgZW5kLCBzdHJ1Y3QgcHBndHRfd2FsayAqd2FsaykKCi06MjIyOiBD SEVDSzpQQVJFTlRIRVNJU19BTElHTk1FTlQ6IEFsaWdubWVudCBzaG91bGQgbWF0Y2ggb3BlbiBw YXJlbnRoZXNpcwojMjIyOiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvZ3R0LmM6Mjk3 NzoKKwkJcmV0ID0gaW50ZWxfZ3Z0X2h5cGVydmlzb3JfcmVhZF9ncGEodmdwdSwKKwkJCShwZHAg JiBQQUdFX01BU0spICsgKGluZGV4IDw8CgotOjIzNDogQ0hFQ0s6TElORV9TUEFDSU5HOiBQbGVh c2UgZG9uJ3QgdXNlIG11bHRpcGxlIGJsYW5rIGxpbmVzCiMyMzQ6IEZJTEU6IGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2d2dC9ndHQuYzoyOTg5OgorCisKCi06MjM2OiBDSEVDSzpQQVJFTlRIRVNJU19B TElHTk1FTlQ6IEFsaWdubWVudCBzaG91bGQgbWF0Y2ggb3BlbiBwYXJlbnRoZXNpcwojMjM2OiBG SUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvZ3R0LmM6Mjk5MToKK3N0YXRpYyBpbnQgd2Fs a19wbWw0X3JhbmdlKHN0cnVjdCBpbnRlbF92Z3B1ICp2Z3B1LCB1NjQgcG1sNCwKKwkJCQl1NjQg c3RhcnQsIHU2NCBlbmQsIHN0cnVjdCBwcGd0dF93YWxrICp3YWxrKQoKLToyNDc6IENIRUNLOlBB UkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3VsZCBtYXRjaCBvcGVuIHBhcmVudGhl c2lzCiMyNDc6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9ndHQuYzozMDAyOgorCQly ZXQgPSBpbnRlbF9ndnRfaHlwZXJ2aXNvcl9yZWFkX2dwYSh2Z3B1LAorCQkJKHBtbDQgJiBQQUdF X01BU0spICsgKGluZGV4IDw8CgotOjI2MDogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBB bGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzI2MDogRklMRTogZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ3Z0L2d0dC5jOjMwMTU6CitzdGF0aWMgaW50IGludGVsX3ZncHVfcHZf cHBndHRfaW5zZXJ0XzRsdmwoc3RydWN0IGludGVsX3ZncHUgKnZncHUsCisJCXN0cnVjdCBpbnRl bF92Z3B1X21tICptbSwKCi06Mjc4OiBDSEVDSzpQQVJFTlRIRVNJU19BTElHTk1FTlQ6IEFsaWdu bWVudCBzaG91bGQgbWF0Y2ggb3BlbiBwYXJlbnRoZXNpcwojMjc4OiBGSUxFOiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9ndnQvZ3R0LmM6MzAzMzoKKwl3YWxrLm1mbnMgPSBrbWFsbG9jX2FycmF5KG51 bV9wYWdlcywKKwkJCXNpemVvZih1bnNpZ25lZCBsb25nKSwgR0ZQX0tFUk5FTCk7CgotOjMyMzog Q0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4g cGFyZW50aGVzaXMKIzMyMzogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2d0dC5jOjMw Nzg6CitpbnQgaW50ZWxfdmdwdV9oYW5kbGVfcHZfcHBndHRfdXBkYXRlKHN0cnVjdCBpbnRlbF92 Z3B1ICp2Z3B1LAorCQl1MzIgYWN0aW9uLCBzdHJ1Y3QgcHZfcHBndHRfdXBkYXRlICpwdl9wcGd0 dCkKCi06MzU1OiBDSEVDSzpQQVJFTlRIRVNJU19BTElHTk1FTlQ6IEFsaWdubWVudCBzaG91bGQg bWF0Y2ggb3BlbiBwYXJlbnRoZXNpcwojMzU1OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9n dnQvZ3R0LmM6MzExMDoKKwkJcmV0ID0gaW50ZWxfdmdwdV9wdl9wcGd0dF9pbnNlcnRfNGx2bCh2 Z3B1LCBtbSwKKwkJCQlwZHAsIHN0YXJ0LCBsZW5ndGgsIGNhY2hlX2xldmVsKTsKCi06Mzk0OiBD SEVDSzpQQVJFTlRIRVNJU19BTElHTk1FTlQ6IEFsaWdubWVudCBzaG91bGQgbWF0Y2ggb3BlbiBw YXJlbnRoZXNpcwojMzk0OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvZ3R0Lmg6Mjkx OgoraW50IGludGVsX3ZncHVfaGFuZGxlX3B2X3BwZ3R0X3VwZGF0ZShzdHJ1Y3QgaW50ZWxfdmdw dSAqdmdwdSwKKwkJdTMyIGFjdGlvbiwgc3RydWN0IHB2X3BwZ3R0X3VwZGF0ZSAqcHZfcHBndHQp OwoKLTo0MDQ6IENIRUNLOk1BQ1JPX0FSR19SRVVTRTogTWFjcm8gYXJndW1lbnQgcmV1c2UgJ3Zn cHUnIC0gcG9zc2libGUgc2lkZS1lZmZlY3RzPwojNDA0OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9ndnQvZ3Z0Lmg6NTY6CisjZGVmaW5lIFZHUFVfUFZDQVAodmdwdSwgY2FwKQlcCisJKCh2 Z3B1X3ZyZWdfdCh2Z3B1LCB2Z3RpZl9yZWcocHZfY2FwcykpICYgKGNhcCkpIFwKKwkJCSYmIHZn cHUtPnNoYXJlZF9wYWdlX2VuYWJsZWQpCgotOjQwNjogQ0hFQ0s6TE9HSUNBTF9DT05USU5VQVRJ T05TOiBMb2dpY2FsIGNvbnRpbnVhdGlvbnMgc2hvdWxkIGJlIG9uIHRoZSBwcmV2aW91cyBsaW5l CiM0MDY6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9ndnQuaDo1ODoKKwkoKHZncHVf dnJlZ190KHZncHUsIHZndGlmX3JlZyhwdl9jYXBzKSkgJiAoY2FwKSkgXAorCQkJJiYgdmdwdS0+ c2hhcmVkX3BhZ2VfZW5hYmxlZCkKCi06NDMwOiBDSEVDSzpQQVJFTlRIRVNJU19BTElHTk1FTlQ6 IEFsaWdubWVudCBzaG91bGQgbWF0Y2ggb3BlbiBwYXJlbnRoZXNpcwojNDMwOiBGSUxFOiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9ndnQvaGFuZGxlcnMuYzoxMjIzOgorc3RhdGljIGludCBmZXRjaF9w dl9jb21tYW5kX2J1ZmZlcihzdHJ1Y3QgaW50ZWxfdmdwdSAqdmdwdSwKKwkJc3RydWN0IHZncHVf cHZfY3RfYnVmZmVyX2Rlc2MgKmRlc2MsCgotOjQ1MTogQ0hFQ0s6U1BBQ0lORzogc3BhY2VzIHBy ZWZlcnJlZCBhcm91bmQgdGhhdCAnLycgKGN0eDpWeFYpCiM0NTE6IEZJTEU6IGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2d2dC9oYW5kbGVycy5jOjEyNDQ6CisJaGVhZCA9IGRlc2MtPmhlYWQvNDsKIAkg ICAgICAgICAgICAgICAgIF4KCi06NDUyOiBDSEVDSzpTUEFDSU5HOiBzcGFjZXMgcHJlZmVycmVk IGFyb3VuZCB0aGF0ICcvJyAoY3R4OlZ4VikKIzQ1MjogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ3Z0L2hhbmRsZXJzLmM6MTI0NToKKwl0YWlsID0gZGVzYy0+dGFpbC80OwogCSAgICAgICAg ICAgICAgICAgXgoKLTo0NTM6IENIRUNLOlNQQUNJTkc6IHNwYWNlcyBwcmVmZXJyZWQgYXJvdW5k IHRoYXQgJy8nIChjdHg6VnhWKQojNDUzOiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQv aGFuZGxlcnMuYzoxMjQ2OgorCXNpemUgPSBkZXNjLT5zaXplLzQ7CiAJICAgICAgICAgICAgICAg ICBeCgotOjQ5NzogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxk IG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzQ5NzogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUv Z3Z0L2hhbmRsZXJzLmM6MTI5MDoKKwkJcmV0ID0gaW50ZWxfZ3Z0X3JlYWRfc2hhcmVkX3BhZ2Uo dmdwdSwgb2ZmLCAmZGF0YVthdmFpbF0sCisJCQkJKGxlbiAtIGF2YWlsKSAqIDQpOwoKLTo1MzY6 IENIRUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3VsZCBtYXRjaCBvcGVu IHBhcmVudGhlc2lzCiM1MzY6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9oYW5kbGVy cy5jOjEzMjk6CisJcmV0ID0gaW50ZWxfZ3Z0X3dyaXRlX3NoYXJlZF9wYWdlKHZncHUsIFBWX0RF U0NfT0ZGLAorCQkJJmRlc2MsIHNpemVvZihkZXNjKSk7Cgp0b3RhbDogMCBlcnJvcnMsIDAgd2Fy bmluZ3MsIDI4IGNoZWNrcywgNTIxIGxpbmVzIGNoZWNrZWQKYTFiZGRjZmQxZTMyIGRybS9pOTE1 L2d2dDogR1ZUZyBzdXBwb3J0IGNvbnRleHQgc3VibWlzc2lvbiBwdiBvcHRpbWl6YXRpb24KLTo3 MjogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9w ZW4gcGFyZW50aGVzaXMKIzcyOiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvaGFuZGxl cnMuYzoxODI2OgorCWlmIChpbnRlbF9ndnRfcmVhZF9zaGFyZWRfcGFnZSh2Z3B1LCBkZXNjX29m ZiwKKwkJCSZleGVjbGlzdC0+ZWxzcF9kd29yZHMuZGF0YSwgMTYpKQoKLTo5MzogQ0hFQ0s6UEFS RU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVz aXMKIzkzOiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvaGFuZGxlcnMuYzoxODUwOgor CWlmIChWR1BVX1BWQ0FQKHZncHUsIFBWX1NVQk1JU1NJT04pICYmCisJCQlkYXRhID09IFBWX0FD VElPTl9FTFNQX1NVQk1JU1NJT04pCgp0b3RhbDogMCBlcnJvcnMsIDAgd2FybmluZ3MsIDIgY2hl Y2tzLCA2OSBsaW5lcyBjaGVja2VkCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pbnRlbC1nZng=