[PATCH v9 09/12] clk: zte: Introduce a driver for zx297520v3 matrix clocks

Stefan Dösinger <[email protected]> Sun, 02 Aug 2026 23:33:41 +0300
Newsgroups org.infradead.lists.linux-phy,dev.linux.lists.mfd,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-clk,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
VGhpcyBjbG9jayBjb250cm9sbGVyIGNvbnRyb2xzIGhpZ2ggc3BlZWQgZGV2aWNlczogQ1BVLCBE
TUEsIFJBTSwgU0RJTywKRXRoZXJuZXQuIFRoZSBvbmx5IG5vbi1jbG9jaywgbm9uLXJlc2V0IHJl
Z2lzdGVycyBJIGhhdmUgc3BvdHRlZCBoZXJlCmFyZSBoYXJkd2FyZSBzcGlubG9ja3MuCgpTaWdu
ZWQtb2ZmLWJ5OiBTdGVmYW4gRMO2c2luZ2VyIDxzdGVmYW5kb2VzaW5nZXJAZ21haWwuY29tPgoK
LS0tCgpWZXJzaW9uIDk6CkxpbmsgaW50ZXJuYWwgcGFyZW50cyBieSBhbiAoaW50ZXJuYWwpIGNs
b2NrIElEIHJhdGhlciB0aGFuIG5hbWVzLgoKVGhlcmUgYXJlIDMgaW50ZW50aW9uYWwgY2hhbmdl
cyB2cyB2ZXJzaW9uIDggaW4gdGhlIGNsb2NrIHRyZWU6CiJnbWFjLWFoYiIgZGVwZW5kcyBvbiB0
aGUgYWhiIGNsb2NrIGltcG9ydGVkIGZyb20gdG9wY3JtLiBUaGlzIHdhcwphbHJlYWR5IHRoZSBj
YXNlIGJlZm9yZSwgYnV0IGl0IHdhcyBtaXNzaW5nIGZyb20gdGhlIGJpbmRpbmdzIGFuZCB0aGUK
Z2xvYmFsIG5hbWUgbWF0Y2hpbmcgb2JzY3VyZWQgaXQuCgpXaGVuIHJlLXRlc3Rpbmcgb3RoZXIg
ZGV2aWNlcyBmb3IgcG90ZW50aWFsIHRvcGNybS0+YWhiIGRlcGVuZGVuY2llcyBJCm5vdGljZWQg
dGhhdCB0aGUgdHdvIFNESU8gZGV2aWNlcyB0YWtlIHRoZWlyIHBjbGsgZnJvbSB0b3Bjcm0tPmFo
YiBhcwp3ZWxsLgoKQFNhc2hpa286IEFueSBwb3NzaWJsZSBvdGhlciBjbG9jayB0cmVlIGNoYW5n
ZSBjb21wYXJlZCB0byB2ZXJzaW9uIDggaXMKdW5pbnRlbnRpb25hbCBhbmQgYSBsaWtlbHkgYnVn
LgoKVmVyc2lvbiA4OgpBZGQgYW5vdGhlciBkaXN0cmlidXRpb24gZ2F0ZSByZWdpc3RlcjogMHgx
MTggZ2F0ZXMgb2ZmIG1hdHJpeC1nZW5lcmF0ZWQKZGl2aXNpb25zIG9mIG1wbGwsIGRwbGwgYW5k
IGdwbGwuIEl0IG5pY2VseSBmaXRzIHRoZSB0b3AtPm1hdHJpeCBmb3J3YXJkCnBpY3R1cmUuCgpB
WEkgNi41IE1IeiBpcyBub3QgYW4gbXBsbCBjaGlsZC4gSSBtdXN0IGhhdmUgZG9uZSBzb21ldGhp
bmcgd3Jvbmcgd2hlbgpvcmlnaW5hbGx5IHRlc3RpbmcgdGhpcwoKQWRkIGV4cGxhbmF0aW9ucyBh
Ym91dCBhZGRpdGlvbmFsIEFSTSBhcmNoaXRlY3RlZCB0aW1lciBjb250cm9scy4KCkFkZCBnYXRl
cyBmb3IgdW5rbm93biBMVEUgaGFyZHdhcmUgYXQgb2Zmc2V0IDB4NjAuIFRoZXkgYXJlIG5vdCBl
eHBvcnRlZAppbiB0aGUgYmluZGluZ3MgYmVjYXVzZSB0aGUgYWN0dWFsIG5hbWUgb2YgdGhlIGNv
bnN1bWVyIGlzbid0IGNsZWFyIC0KYnV0IGlmIGRwbGwgaXMgdW5wcmVwYXJlZCBhbmQgZmVlZHMg
YSBieXBhc3MgMjYgTUh6IHNpZ25hbCwgdGhpcyBkZXZpY2UKc3RhcnRzIHNwYW1taW5nIElSUXMg
KGFsdGhvdWdoIHRoZSAweDExOCBhbmQgdG9wKzB4MTQwIGdhdGVzIGFsc28KcHJldmVudCB0aGlz
IHVzdWFsbHkpCgpEb3VibGUtY2hlY2sgcGNsayBhbmQgd2NsayBvZiBhbGwgZGV2aWNlcy4gVGhl
IFNESU8gYW5kIEVEQ1AgY2xvY2tzIHdlcmUKZmxpcHBlZCBpbiBwcmV2aW91cyBzdWJtaXNzaW9u
cy4KClZlcnNpb24gNzoKUmVkdWNlZCB0aGUgaW5wdXQgY2xvY2tzIGEgbG90LiBNb3N0IE1QTEwg
c3ViZGl2aXNpb25zIGFyZSBjaGlsZHJlbiBvZgp0aGUgc2FtZSBnYXRlIGluIHRvcCwgc28gcHV0
IHRoZSBmaXhlZCBmYWN0b3IgY2xvY2tzIGhlcmUuCgpBZGRlZCBhIGZldyBtb3JlIGNsb2Nrczog
RERSX0NUUkwsIEFYSSBidXMsIEFSTSBhcmNoaXRlY3RlZCB0aW1lci4KVGhleSBhcmUgbmVlZGVk
IHRvIHRlbGwgQ0NGIHRvIGtlZXAgdGhlIHRvcCBnYXRlcyBlbmFibGVkIGFuZCBtYXJrZWQKY3Jp
dGljYWwgYmVjYXVzZSB0aGV5IGFyZW4ndCBjb25zdW1lZCBieSBhIERUIG5vZGUuCgpUaGUgQVhJ
IGJ1cyBpcyBkZXRlcm1pbmVkIGJ5IGEgdm90aW5nIHN5c3RlbS4gSSd2ZSBzZXQgdXAgdGhlIGRy
aXZlciB0bwp3cml0ZSB0byB0aGUgYmFsbG90IHJlZ2lzdGVyIFpURSdzIGtlcm5lbCB1c2VzIGFu
ZCBlbmFibGUgdm90aW5nLiBUaGlzCnNob3VsZCBtYWtlIGxpZmUgZWFzaWVyIHdpdGggdGhlIExU
RSBycHJvYyBibG9iIGxhdGVyLgoKVmVyc2lvbiA1OgpNYWtlIGl0IGFuIE1GRCBjaGlsZCBkZXZp
Y2UsIHJlbW92ZSBhdXggZGV2aWNlCkZpeCB6eDI5NzUyOSAtPiB6eDI5NzUyMCB0eXBvcwpGaXgg
QUhCX3djbGsgLT4gYWhiX3djbGsuIFRoYXQgd2FzIGEgbGVmdG92ZXIgb2YgbXkgb2xkIGNvbXBv
c2l0ZSBzdHJ1Y3RzCkFkZCBTUkFNMCBhbmQgR1NNX0NGRyBjbG9ja3MKLS0tCiBkcml2ZXJzL2Ns
ay96dGUvY2xrLXp4Mjk3NTIwdjMuYyB8IDQ4MyArKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA0ODMgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdp
dCBhL2RyaXZlcnMvY2xrL3p0ZS9jbGstengyOTc1MjB2My5jIGIvZHJpdmVycy9jbGsvenRlL2Ns
ay16eDI5NzUyMHYzLmMKaW5kZXggZjk5MTU1ODJmMjYxLi42YzRhN2ExYzNhOWIgMTAwNjQ0Ci0t
LSBhL2RyaXZlcnMvY2xrL3p0ZS9jbGstengyOTc1MjB2My5jCisrKyBiL2RyaXZlcnMvY2xrL3p0
ZS9jbGstengyOTc1MjB2My5jCkBAIC03NjksNiArNzY5LDQ4NSBAQCBzdGF0aWMgY29uc3Qgc3Ry
dWN0IHp4X2Nsa19kYXRhIHp4Mjk3NTIwdjNfdG9wY2xrX2RhdGEgPSB7CiAJLm51bV9leHBvcnRz
ID0gQVJSQVlfU0laRSh6eDI5NzUyMHYzX3RvcF9leHBvcnRzKSwKIH07CiAKK2VudW0gbWF0cml4
X2Nsb2NrX2lkcyB7CisJWlhfQ0xLX01BVFJJWF9PU0MyNk1fRDQsCisJWlhfQ0xLX01BVFJJWF9N
UExMX0QyX1BSRUdBVEUsCisJWlhfQ0xLX01BVFJJWF9NUExMX0Q0X1BSRUdBVEUsCisJWlhfQ0xL
X01BVFJJWF9NUExMX0Q2X1BSRUdBVEUsCisJWlhfQ0xLX01BVFJJWF9NUExMX0Q4X1BSRUdBVEUs
CisJWlhfQ0xLX01BVFJJWF9NUExMX0QxMl9QUkVHQVRFLAorCVpYX0NMS19NQVRSSVhfTVBMTF9E
MTZfUFJFR0FURSwKKwlaWF9DTEtfTUFUUklYX0dQTExfRDJfRDJfUFJFR0FURSwKKwlaWF9DTEtf
TUFUUklYX0dQTExfRDJfRDRfUFJFR0FURSwKKwlaWF9DTEtfTUFUUklYX0RQTExfRDZfUFJFR0FU
RSwKKwlaWF9DTEtfTUFUUklYX0RQTExfRDRfUFJFR0FURSwKKworCVpYX0NMS19NQVRSSVhfTVBM
TF9EMTYsCisJWlhfQ0xLX01BVFJJWF9NUExMX0QxMiwKKwlaWF9DTEtfTUFUUklYX01QTExfRDgs
CisJWlhfQ0xLX01BVFJJWF9NUExMX0Q2LAorCVpYX0NMS19NQVRSSVhfTVBMTF9ENCwKKwlaWF9D
TEtfTUFUUklYX01QTExfRDIsCisJWlhfQ0xLX01BVFJJWF9EUExMX0Q2LAorCVpYX0NMS19NQVRS
SVhfRFBMTF9ENCwKKwlaWF9DTEtfTUFUUklYX0dQTExfRDJfRDQsCisJWlhfQ0xLX01BVFJJWF9H
UExMX0QyX0QyLAorCisJWlhfQ0xLX0NQVV9NVVgsCisJWlhfQ0xLX1pTUF9NVVgsCisJWlhfQ0xL
X0REUl9DVFJMX01VWCwKKwlaWF9DTEtfU0QwX01VWCwKKwlaWF9DTEtfU0QxX01VWCwKKwlaWF9D
TEtfTkFORF9NVVgsCisJWlhfQ0xLX0VEQ1BfTVVYLAorCVpYX0NMS19URE1fTVVYLAorCVpYX0NM
S19BWElfTVVYLAorCisJWlhfQ0xLX1NZU19USU1FUl9XQ0xLLAorCVpYX0NMS19DUFVfV0NMSywK
KwlaWF9DTEtfQ1BVX1BDTEssCisJWlhfQ0xLX0REUl9DVFJMX1BDTEssCisJWlhfQ0xLX0REUl9D
VFJMX1dDTEssCisJWlhfQ0xLX1pTUF9XQ0xLLAorCVpYX0NMS19TRDBfUENMSywKKwlaWF9DTEtf
U0QwX1dDTEssCisJWlhfQ0xLX1NEMF9DREVULAorCVpYX0NMS19TRDFfUENMSywKKwlaWF9DTEtf
U0QxX1dDTEssCisJWlhfQ0xLX1NEMV9DREVULAorCVpYX0NMS19OQU5EX1dDTEssCisJWlhfQ0xL
X05BTkRfUENMSywKKwlaWF9DTEtfTFRFX1RQVV9XQ0xLLAorCVpYX0NMS19MVEVfVFBVX1BDTEss
CisJWlhfQ0xLX0VEQ1BfUENMSywKKwlaWF9DTEtfRURDUF9XQ0xLLAorCVpYX0NMS19TU0NfV0NM
SywKKwlaWF9DTEtfU1NDX1BDTEssCisJWlhfQ0xLX1BEQ0ZHX1dDTEssCisJWlhfQ0xLX1BEQ0ZH
X1BDTEssCisJWlhfQ0xLX01CT1hfUENMSywKKwlaWF9DTEtfU1JBTTBfUENMSywKKwlaWF9DTEtf
R1NNX0NGR19QQ0xLLAorCVpYX0NMS19HTUFDX1dDTEssCisJWlhfQ0xLX0dNQUNfUENMSywKKwla
WF9DTEtfR01BQ19BSEIsCisJWlhfQ0xLX0FYSV9XQ0xLLAorCVpYX0NMS19ETUFfUENMSywKKwla
WF9DTEtfVk9VX1dDTEssCisJWlhfQ0xLX1ZPVV9QQ0xLLAorCVpYX0NMS19UT0xTUF9NUExMX0Q1
X1dDTEssCisJWlhfQ0xLX1RPTFNQX01QTExfRDRfV0NMSywKKwlaWF9DTEtfVE9MU1BfTVBMTF9E
Nl9XQ0xLLAorCVpYX0NMS19UT0xTUF9NUExMX0Q4X1dDTEssCisJWlhfQ0xLX1RPTFNQX01QTExf
RDEyX1dDTEssCisJWlhfQ0xLX1RPTFNQX09TQzI2TV9XQ0xLLAorCVpYX0NMS19UT0xTUF9PU0Mz
MktfV0NMSywKKwlaWF9DTEtfVE9MU1BfUENMSywKKwlaWF9DTEtfVE9MU1BfVERNX1dDTEssCisJ
WlhfQ0xLX1RPTFNQX0RQTExfRDRfV0NMSywKK307CisKKy8qCisgKiBGb3IgZGV2aWNlcyB3aGlj
aCBoYXZlIGEgd29ya2luZyBkcml2ZXIgdGhlIHdvcmsgY2xvY2sgY2FuIGJlIGZpZ3VyZWQgb3V0
IGJ5IGdhdGluZyBvZmYgcmVnaXN0ZXJzCisgKiBpbiB0b3Bjcm0rMHgxNDAuIFRoaXMgaXMgdXNl
ZCBmb3IgZGV2aWNlcyB3aGVyZSBJIGNhbid0IGludGVycHJldCB0aGUgcmVnaXN0ZXIgY29udGVu
dHMgeWV0LgorICovCitzdGF0aWMgY29uc3Qgc3RydWN0IHp4X3BhcmVudF9kZXNjIG1hdHJpeF91
bmsgPSBQQVJFTlRfRlcoIndjbGstb3NjMjZtIik7CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgenhf
cGFyZW50X2Rlc2MgY3B1X3NlbFtdID0geworCVBBUkVOVF9GVygid2Nsay1vc2MyNm0iKSwKKwlQ
QVJFTlRfRlcoIm1wbGwiKSwJCQkvKiA2MjQgTUh6ICovCisJUEFSRU5UX0lEKFpYX0NMS19NQVRS
SVhfTVBMTF9EMiksCS8qIDMxMiBNSHogKi8KKwlQQVJFTlRfSUQoWlhfQ0xLX01BVFJJWF9NUExM
X0Q0KSwJLyogMTU2IE1IeiAqLworfTsKKworLyogTG93IGNvbmZpZGVuY2Ugb24gdGhlIGFjdHVh
bCB2YWx1ZSwgYnV0IGF0IGxlYXN0IEkga25vdyBpdCBpcyBiaXQgMTMgaW4gdG9wKzB4MTQwICov
CitzdGF0aWMgY29uc3Qgc3RydWN0IHp4X3BhcmVudF9kZXNjIHpzcF9zZWxbXSA9IHsKKwlQQVJF
TlRfRlcoIndjbGstb3NjMjZtIiksCisJUEFSRU5UX0ZXKCJkcGxsIiksCQkJLyogNDkxLjUyIE1I
eiAqLworfTsKKworLyoKKyAqIFdlIGNhbid0IHJlYWxpc3RpY2FsbHkgY2hhbmdlIEREUiBzcGVl
ZCB3aGlsZSBydW5uaW5nIGFuIE9TIG91dCBvZiBERFIgKGl0IHJlYWRzIGdhcmJhZ2UgZm9yIGEK
KyAqIHNob3J0IHdoaWxlIG9uIHRyYW5zaXRpb24pLCBidXQgd2UgbmVlZCB0byBrbm93IGlmIHdl
IGhhdmUgdG8ga2VlcCBncGxsIGFsaXZlLiAzMiBNQiBkZXZpY2VzIHVzZQorICogMjAwIE1Ieiwg
d2hpbGUgNjQvMTI4IE1CIG9uZXMgdXNlIDE1NiBNSHouCisgKi8KK3N0YXRpYyBjb25zdCBzdHJ1
Y3QgenhfcGFyZW50X2Rlc2MgZGRyX2N0cmxfc2VsW10gPSB7CisJUEFSRU5UX0lEKFpYX0NMS19N
QVRSSVhfTVBMTF9ENCksCS8qIDE1NiBNSHogKi8KKwlQQVJFTlRfRlcoImdwbGwiKSwJCQkvKiAy
MDAgTUh6ICovCisJUEFSRU5UX0lEKFpYX0NMS19NQVRSSVhfTVBMTF9ENiksCS8qIDEwNCBNSHog
Ki8KKwlQQVJFTlRfSUQoWlhfQ0xLX01BVFJJWF9NUExMX0Q4KSwJLyogNzggTUh6ICovCit9Owor
CitzdGF0aWMgY29uc3Qgc3RydWN0IHp4X3BhcmVudF9kZXNjIHNkMF9zZWxbXSA9IHsKKwlQQVJF
TlRfRlcoIndjbGstb3NjMjZtIiksCisJUEFSRU5UX0lEKFpYX0NMS19NQVRSSVhfTVBMTF9ENCks
CS8qIDE1NiBNSHogKi8KKwlQQVJFTlRfRlcoImdwbGwtZDIiKSwJCQkvKiAxMDAgTUh6ICovCisJ
UEFSRU5UX0lEKFpYX0NMS19NQVRSSVhfTVBMTF9EOCksCS8qIDc4IE1IeiAqLworCVBBUkVOVF9J
RChaWF9DTEtfTUFUUklYX0dQTExfRDJfRDIpLAkvKiA1MCBNSHogKi8KKwlQQVJFTlRfSUQoWlhf
Q0xLX01BVFJJWF9HUExMX0QyX0Q0KSwJLyogMjUgTUh6ICovCit9OworCitzdGF0aWMgY29uc3Qg
c3RydWN0IHp4X3BhcmVudF9kZXNjIHNkMV9zZWxbXSA9IHsKKwlQQVJFTlRfRlcoIndjbGstb3Nj
MjZtIiksCisJUEFSRU5UX0ZXKCJncGxsLWQyIiksCQkJLyogMTAwIE1IeiAqLworCVBBUkVOVF9J
RChaWF9DTEtfTUFUUklYX01QTExfRDgpLAkvKiA3OCBNSHogKi8KKwlQQVJFTlRfSUQoWlhfQ0xL
X01BVFJJWF9HUExMX0QyX0QyKSwJLyogNTAgTUh6ICovCisJUEFSRU5UX0lEKFpYX0NMS19NQVRS
SVhfTVBMTF9EMTYpLAkvKiAzOSBNSHogKi8KKwlQQVJFTlRfSUQoWlhfQ0xLX01BVFJJWF9HUExM
X0QyX0Q0KSwJLyogMjUgTUh6ICovCit9OworCisvKgorICogWlRFJ3Mga2VybmVsIHB1dHMgdGhl
IGhpZ2ggZnJlcXVlbmN5IGZpcnN0LCBidXQgdGhpcyBpcyBhZ2FpbnN0IHRoZSB1c3VhbCBjb252
ZW50aW9uIG9uIHRoaXMgU29DLgorICogSSBkb24ndCBoYXZlIGFueSBkZXZpY2UgdGhhdCBoYXMg
YSByYXcgTkFORCBjb250cm9sbGVyIHRob3VnaC4KKyAqLworc3RhdGljIGNvbnN0IHN0cnVjdCB6
eF9wYXJlbnRfZGVzYyBuYW5kX3NlbFtdID0geworCVBBUkVOVF9GVygid2Nsay1vc2MyNm0iKSwK
KwlQQVJFTlRfSUQoWlhfQ0xLX01BVFJJWF9NUExMX0Q0KSwJLyogMTU2IE1IeiAqLworfTsKKwor
c3RhdGljIGNvbnN0IHN0cnVjdCB6eF9wYXJlbnRfZGVzYyBlZGNwX3NlbFtdID0geworCVBBUkVO
VF9GVygid2Nsay1vc2MyNm0iKSwKKwlQQVJFTlRfSUQoWlhfQ0xLX01BVFJJWF9NUExMX0Q0KSwJ
LyogMTU2IE1IeiAqLworCVBBUkVOVF9GVygibXBsbC1kNSIpLAkJCS8qIDEyNC44IE1IeiAqLwor
CVBBUkVOVF9JRChaWF9DTEtfTUFUUklYX01QTExfRDYpLAkvKiAxMDQgTUh6ICovCit9OworCitz
dGF0aWMgY29uc3Qgc3RydWN0IHp4X3BhcmVudF9kZXNjIHRkbV9zZWxbXSA9IHsKKwlQQVJFTlRf
RlcoIndjbGstb3NjMjZtIiksCisJUEFSRU5UX0lEKFpYX0NMS19NQVRSSVhfRFBMTF9ENCksCS8q
IDEyMi44OCBNSHogKi8KKwlQQVJFTlRfSUQoWlhfQ0xLX01BVFJJWF9NUExMX0Q2KSwJLyogMTA0
IE1IeiAqLworfTsKKworLyoKKyAqIFpURSdzIGZpcm13YXJlIHVzZXMgMHgxMjggYXMgdGhlIFBI
WSdzIHZvdGUgYW5kIG5hbWVzIDB4MTIwIGFzICJQUyIgYW5kIDB4MTI0IGFzICJBUCIgdm90ZS4K
KyAqIEhvd2V2ZXIsIHRoZWlyIGNwdWZyZXEgZHJpdmVyIHVsdGltYXRlbHkgdXNlcyB0aGUgIlBT
IiBkZWZpbmUgYW5kIHRodXMgd3JpdGVzIHRvIDB4MTIwLCB3aGljaCBjYW4KKyAqIGJlIG9ic2Vy
dmVkIGluIHRoZSBydW5uaW5nIHN5c3RlbS4KKyAqLworI2RlZmluZSBaWDI5NzUyMFYzX0FYSV9B
UF9WT1RFIDB4MTIwCitzdGF0aWMgY29uc3Qgc3RydWN0IHp4X3BhcmVudF9kZXNjIGF4aV9zZWxb
XSA9IHsKKwlQQVJFTlRfRlcoIndjbGstb3NjMjZtIiksCisJUEFSRU5UX0lEKFpYX0NMS19NQVRS
SVhfTVBMTF9ENCksCS8qIDE1NiBNSHogKi8KKwlQQVJFTlRfRlcoIm1wbGwtZDUiKSwJCQkvKiAx
MjQuOCBNSHogKi8KKwlQQVJFTlRfSUQoWlhfQ0xLX01BVFJJWF9NUExMX0Q2KSwJLyogMTA0IE1I
eiAqLworCVBBUkVOVF9JRChaWF9DTEtfTUFUUklYX01QTExfRDgpLAkvKiA3OCBNSHogKi8KKwlQ
QVJFTlRfSUQoWlhfQ0xLX01BVFJJWF9NUExMX0QxMiksCS8qIDUyIE1IeiAqLworCVBBUkVOVF9J
RChaWF9DTEtfTUFUUklYX01QTExfRDE2KSwJLyogMzkgTUh6ICovCisJUEFSRU5UX0lEKFpYX0NM
S19NQVRSSVhfT1NDMjZNX0Q0KSwJLyogNi41IE1IeiAqLworfTsKKworc3RhdGljIGNvbnN0IHN0
cnVjdCB6eF9jbG9jayB6eDI5NzUyMHYzX21hdHJpeF9jbG9ja3NbXSA9IHsKKwlbWlhfQ0xLX01B
VFJJWF9PU0MyNk1fRDRdID0gRklYRURfRElWKCJtYXRyaXgtb3NjMjZtLWQ0IiwgUEFSRU5UX0ZX
KCJ3Y2xrLW9zYzI2bSIpLCA0KSwKKwlbWlhfQ0xLX01BVFJJWF9NUExMX0QyX1BSRUdBVEVdID0g
RklYRURfRElWKCJtYXRyaXgtbXBsbC1kMi1wcmVnYXRlIiwgUEFSRU5UX0ZXKCJtcGxsIiksIDIp
LAorCVtaWF9DTEtfTUFUUklYX01QTExfRDRfUFJFR0FURV0gPSBGSVhFRF9ESVYoIm1hdHJpeC1t
cGxsLWQ0LXByZWdhdGUiLCBQQVJFTlRfRlcoIm1wbGwiKSwgNCksCisJLyogZGl2IDU6IHByb3Zp
ZGVkIGFzIGEgc2VwYXJhdGUgbGluZSBmcm9tIHRvcGNybSAqLworCVtaWF9DTEtfTUFUUklYX01Q
TExfRDZfUFJFR0FURV0gPSBGSVhFRF9ESVYoIm1hdHJpeC1tcGxsLWQ2LXByZWdhdGUiLCBQQVJF
TlRfRlcoIm1wbGwiKSwgNiksCisJW1pYX0NMS19NQVRSSVhfTVBMTF9EOF9QUkVHQVRFXSA9IEZJ
WEVEX0RJVigibWF0cml4LW1wbGwtZDgtcHJlZ2F0ZSIsIFBBUkVOVF9GVygibXBsbCIpLCA4KSwK
KwlbWlhfQ0xLX01BVFJJWF9NUExMX0QxMl9QUkVHQVRFXSA9IEZJWEVEX0RJVigibWF0cml4LW1w
bGwtZDEyLXByZWdhdGUiLCBQQVJFTlRfRlcoIm1wbGwiKSwKKwkJCQkJCSAgICAgMTIpLAorCVta
WF9DTEtfTUFUUklYX01QTExfRDE2X1BSRUdBVEVdID0gRklYRURfRElWKCJtYXRyaXgtbXBsbC1k
MTYtcHJlZ2F0ZSIsIFBBUkVOVF9GVygibXBsbCIpLAorCQkJCQkJICAgICAxNiksCisKKwlbWlhf
Q0xLX01BVFJJWF9HUExMX0QyX0QyX1BSRUdBVEVdID0gRklYRURfRElWKCJtYXRyaXgtZ3BsbC1k
Mi1kMi1wcmVnYXRlIiwKKwkJCQkJCSAgICAgICBQQVJFTlRfRlcoImdwbGwtZDIiKSwgMiksCisJ
W1pYX0NMS19NQVRSSVhfR1BMTF9EMl9ENF9QUkVHQVRFXSA9IEZJWEVEX0RJVigibWF0cml4LWdw
bGwtZDItZDQtcHJlZ2F0ZSIsCisJCQkJCQkgICAgICAgUEFSRU5UX0ZXKCJncGxsLWQyIiksIDQp
LAorCisJW1pYX0NMS19NQVRSSVhfRFBMTF9ENl9QUkVHQVRFXSA9IEZJWEVEX0RJVigibWF0cml4
LWRwbGwtZDYtcHJlZ2F0ZSIsIFBBUkVOVF9GVygiZHBsbCIpLCA2KSwKKwlbWlhfQ0xLX01BVFJJ
WF9EUExMX0Q0X1BSRUdBVEVdID0gRklYRURfRElWKCJtYXRyaXgtZHBsbC1kNC1wcmVnYXRlIiwg
UEFSRU5UX0ZXKCJkcGxsIiksIDQpLAorCisJLyoKKwkgKiBNYXRyaXggZGlzdHJpYnV0aW9uIGdh
dGVzOiBFdmVyeSBtYXRyaXgtZ2VuZXJhdGVkIHN1YmRpdmlzaW9uIG9mIHRoZSBpbnB1dCBQTExz
CisJICogaGFzIGEgZ2F0ZSBpbiAweDExOC4gVGhlIG9yaWdpbmFsIGlucHV0cyBmcm9tIHRvcGNy
bSAobXBsbCA2MjQsIG1wbGwgMTI0LjgsIGdwbGwgMjAwLAorCSAqIGdwbGwgMTAwLCBkcGxsIDQ5
MS41MikgZG8gbm90LgorCSAqCisJICogSSBkbyBub3Qga25vdyBvZiBhbnkgdXNlciBvZiBkcGxs
LWQ2IGFuZCBkbyBub3Qga25vdyB0aGUgZGl2aXNvci4gQW4gODEuOTIgTUh6IGNsb2NrIGlzCisJ
ICogbGlzdGVkIGFzIGEgcm9vdCBjbG9jayB3aXRob3V0IGEgY29uc3VtZXIgaW4gWlRFJ3MgY29k
ZS4gTW9zdCBsaWtlbHkgaXQgaXMgYSBwb3NzaWJsZQorCSAqIHBhcmVudCBvZiB0aGUgWlNQIG11
eC4KKwkgKi8KKwlbWlhfQ0xLX01BVFJJWF9NUExMX0QxNl0gPSBHQVRFKCJtYXRyaXgtbXBsbC1k
MTYiLAorCQkJCQlQQVJFTlRfSUQoWlhfQ0xLX01BVFJJWF9NUExMX0QxNl9QUkVHQVRFKSwgMHgx
MTgsIDAsCisJCQkJCVpYMjk3NTIwVjNfQVhJX0NBTkRJREFURSksCisJW1pYX0NMS19NQVRSSVhf
TVBMTF9EMTJdID0gR0FURSgibWF0cml4LW1wbGwtZDEyIiwKKwkJCQkJUEFSRU5UX0lEKFpYX0NM
S19NQVRSSVhfTVBMTF9EMTJfUFJFR0FURSksIDB4MTE4LCAxLAorCQkJCQlaWDI5NzUyMFYzX0FY
SV9DQU5ESURBVEUpLAorCVtaWF9DTEtfTUFUUklYX01QTExfRDhdID0gR0FURSgibWF0cml4LW1w
bGwtZDgiLAorCQkJCSAgICAgICBQQVJFTlRfSUQoWlhfQ0xLX01BVFJJWF9NUExMX0Q4X1BSRUdB
VEUpLCAweDExOCwgMiwKKwkJCQkgICAgICAgWlgyOTc1MjBWM19BWElfQ0FORElEQVRFKSwKKwlb
WlhfQ0xLX01BVFJJWF9NUExMX0Q2XSA9IEdBVEUoIm1hdHJpeC1tcGxsLWQ2IiwKKwkJCQkgICAg
ICAgUEFSRU5UX0lEKFpYX0NMS19NQVRSSVhfTVBMTF9ENl9QUkVHQVRFKSwgMHgxMTgsIDMsCisJ
CQkJICAgICAgIFpYMjk3NTIwVjNfQVhJX0NBTkRJREFURSksCisJW1pYX0NMS19NQVRSSVhfTVBM
TF9ENF0gPSBHQVRFKCJtYXRyaXgtbXBsbC1kNCIsCisJCQkJICAgICAgIFBBUkVOVF9JRChaWF9D
TEtfTUFUUklYX01QTExfRDRfUFJFR0FURSksIDB4MTE4LCA0LAorCQkJCSAgICAgICBaWDI5NzUy
MFYzX0FYSV9DQU5ESURBVEUpLAorCVtaWF9DTEtfTUFUUklYX01QTExfRDJdID0gR0FURSgibWF0
cml4LW1wbGwtZDIiLAorCQkJCQlQQVJFTlRfSUQoWlhfQ0xLX01BVFJJWF9NUExMX0QyX1BSRUdB
VEUpLCAweDExOCwgNSwgMCksCisKKwlbWlhfQ0xLX01BVFJJWF9EUExMX0Q2XSA9IEdBVEUoIm1h
dHJpeC1kcGxsLWQ2IiwKKwkJCQkgICAgICAgUEFSRU5UX0lEKFpYX0NMS19NQVRSSVhfRFBMTF9E
Nl9QUkVHQVRFKSwgMHgxMTgsIDgsIDApLAorCVtaWF9DTEtfTUFUUklYX0RQTExfRDRdID0gR0FU
RSgibWF0cml4LWRwbGwtZDQiLAorCQkJCSAgICAgICBQQVJFTlRfSUQoWlhfQ0xLX01BVFJJWF9E
UExMX0Q0X1BSRUdBVEUpLCAweDExOCwgOSwgMCksCisKKwlbWlhfQ0xLX01BVFJJWF9HUExMX0Qy
X0Q0XSA9IEdBVEUoIm1hdHJpeC1ncGxsLWQyLWQ0IiwKKwkJCQkJICBQQVJFTlRfSUQoWlhfQ0xL
X01BVFJJWF9HUExMX0QyX0Q0X1BSRUdBVEUpLAorCQkJCQkgIDB4MTE4LCAxMiwgMCksCisJW1pY
X0NMS19NQVRSSVhfR1BMTF9EMl9EMl0gPSBHQVRFKCJtYXRyaXgtZ3BsbC1kMi1kMiIsCisJCQkJ
CSAgUEFSRU5UX0lEKFpYX0NMS19NQVRSSVhfR1BMTF9EMl9EMl9QUkVHQVRFKSwKKwkJCQkJICAw
eDExOCwgMTMsIDApLAorCisJW1pYX0NMS19DUFVfTVVYXSAgICAgICAgICA9IE1VWCgiY3B1LW11
eCIsIGNwdV9zZWwsIDB4MjAsIDAsIDIpLAorCVtaWF9DTEtfWlNQX01VWF0gICAgICAgICAgPSBN
VVgoInpzcC1tdXgiLCB6c3Bfc2VsLCAweDMwLCAwLCAyKSwKKwlbWlhfQ0xLX0REUl9DVFJMX01V
WF0gICAgID0gTVVYKCJkZHItY3RybC1tdXgiLCBkZHJfY3RybF9zZWwsIDB4NTAsIDAsIDIpLAor
CVtaWF9DTEtfU0QwX01VWF0gICAgICAgICAgPSBNVVgoInNkMC1tdXgiLCBzZDBfc2VsLCAweDUw
LCA0LCAzKSwKKwlbWlhfQ0xLX1NEMV9NVVhdICAgICAgICAgID0gTVVYKCJzZDEtbXV4Iiwgc2Qx
X3NlbCwgMHg1MCwgOCwgMyksCisJW1pYX0NMS19OQU5EX01VWF0gICAgICAgICA9IE1VWCgibmFu
ZC1tdXgiLCBuYW5kX3NlbCwgMHg1MCwgMTIsIDIpLAorCVtaWF9DTEtfRURDUF9NVVhdICAgICAg
ICAgPSBNVVgoImVkY3AtbXV4IiwgZWRjcF9zZWwsIDB4NTAsIDE2LCAyKSwKKwlbWlhfQ0xLX1RE
TV9NVVhdICAgICAgICAgID0gTVVYKCJ0ZG0tbXV4IiwgdGRtX3NlbCwgMHg1MCwgMjQsIDIpLAor
CVtaWF9DTEtfQVhJX01VWF0gICAgICAgICAgPSBNVVgoImF4aS1tdXgiLCBheGlfc2VsLCBaWDI5
NzUyMFYzX0FYSV9BUF9WT1RFLCAwLCAzKSwKKworCS8qCisJICogVGhpcyBiaXQgY3V0cyBvZmYg
dGhlIGNsb2NrIHNpZ25hbCB0byB0aGUgQVJNIGFyY2hpdGVjdGVkIHRpbWVyLCB3aGljaCB0aGUg
a2VybmVsIHVzZXMKKwkgKiBhcyBpdHMgbWFpbiB0aW1lci4gSXQgaXNuJ3QgY3JpdGljYWwgcGVy
IHNlIC0gdGhlcmUgYXJlIHBsZW50eSBvZiBwcm9wcmlldGFyeSB0aW1lcnMKKwkgKiBhdmFpbGFi
bGUgdGhhdCBjb3VsZCBiZSB1c2VkIC0gYnV0IHRoZSBhcm0gYXJjaCB0aW1lciBiaW5kaW5nIGRv
ZXMgbm90IGFjY2VwdCBhIGNsb2NrLCBzbworCSAqIHRoaXMgQ0NGIGRyaXZlciB3b24ndCBrbm93
IGlmIHRoZSB0aW1lciBpcyBpbiB1c2UuCisJICoKKwkgKiBUaGlzIGNsb2NrIGlzIGZlZCBieSB0
aGUgb3NjMjZtIGdhdGUgaW4gdG9wY3JtKzB4MTQwIC0gdGhpcyBjcml0aWNhbCBjbG9jayBoZXJl
IHByb3RlY3RzCisJICogaXRzIHBhcmVudC4KKwkgKgorCSAqIFJlZ2lzdGVycyAweDE0OCwgMHgx
NGMsIDB4MTUwLCAweDE1NCBhbGxvdyBzZXR0aW5nIGFuZCBjbGVhcmluZyB0aGUgdGltZXIgY291
bnRlci4gVG8KKwkgKiBzZXQgdGhlIHRpbWVyLCBsb2FkIGEgdmFsdWUgaW50byAweDE0OCAoaGln
aCAzMiBiaXRzKSBhbmQgMHgxNGMgKGxvdyAzMiBiaXRzKSwgdGhlbgorCSAqIHRvZ2dsZSAweDE1
MCB0byAxLiAweDE1MCB3aWxsIGF1dG9tYXRpY2FsbHkgcmVzZXQgdG8gMC4gMHgxNTQgc2V0cyB0
aGUgdGltZXIgdG8gc29tZQorCSAqICJjbGVhciIgdmFsdWUsIGJ1dCB0aGlzIHZhbHVlIGlzbid0
IDAuCisJICovCisJW1pYX0NMS19TWVNfVElNRVJfV0NMS10gICA9IEdBVEUoInN5cy10aW1lci13
Y2xrIiwgUEFSRU5UX0ZXKCJ3Y2xrLW9zYzI2bSIpLCAweDE0NCwgMSwKKwkJCQkJIENMS19JU19D
UklUSUNBTCksCisKKwkvKgorCSAqIEJvdGggMHgyNCBhbmQgMHgyOCBiaXRzIDEgYW5kIDIgc3Rv
cCB0aGUgQ1BVLiBUaGVyZSBpcyBhbHNvIGEgYml0IGluIHRvcGNybSsweDEzOCwgd2hpY2gKKwkg
KiBaVEUncyB1Ym9vdCBjYWxscyAiQTUzIHJlc2V0Iiwgd2hpY2ggYWxzbyBzdG9wcyB0aGUgQ1BV
LiBJIGNhbid0IHJlYWxseSB0ZWxsIHRoZQorCSAqIGRpZmZlcmVuY2UgYmV0d2VlbiBtYXRyaXgr
MHgyOCBhbmQgdG9wKzB4MTM4LiBUaGUgY2xvY2sgKG1hdHJpeCsweDI0KSBjYW4gYmUgZGlzYWJs
ZWQKKwkgKiBhbmQgZW5hYmxlZCBmcm9tIHRoZSBDb3J0ZXggTTAgYW5kIGl0IHdpbGwgbmljZWx5
IHN0b3AgYW5kIHJlc3RhcnQgdGhlIEE1MywgcmV0YWluaW5nCisJICogYWxsIHN0YXRlLgorCSAq
LworCVtaWF9DTEtfQ1BVX1dDTEtdICAgICAgICAgPSBHQVRFKCJjcHUtd2NsayIsIFBBUkVOVF9J
RChaWF9DTEtfQ1BVX01VWCksIDB4MjQsIDEsCisJCQkJCSBDTEtfSVNfQ1JJVElDQUwpLAorCVta
WF9DTEtfQ1BVX1BDTEtdICAgICAgICAgPSBHQVRFKCJjcHUtcGNsayIsIGNsa19tYWluWzBdLCAw
eDI0LCAyLCBDTEtfSVNfQ1JJVElDQUwpLAorCisJLyoKKwkgKiBUaGVyZSBhcmUgYSBsb3QgbW9y
ZSBjb250cm9scyBpbiBtYXRyaXgrMHgxMDAuIDEzLTE2IGFwcGVhciB0byBiZSA0IGRpZmZlcmVu
dCBBWEkKKwkgKiBjaGFubmVscyBmb3IgZGlmZmVyZW50IHByaW9yaXRpZXMuIEJpdCAxOSBhcHBl
YXJzIHRvIGJlIHRoZSBERFIgUEhZIHdjbGsuCisJICoKKwkgKiBUaGUgaW1wb3J0YW50IHRhc2sg
aXMgdG8ga2VlcCBncGxsIGVuYWJsZWQgaWYgdGhlIGJvb3Rsb2FkZXIgc2VsZWN0ZWQgYSBncGxs
LWJhc2VkIHJhdGUKKwkgKiBmb3IgUkFNLgorCSAqLworCVtaWF9DTEtfRERSX0NUUkxfUENMS10g
ICAgPSBHQVRFKCJkZHItY3RybC1wY2xrIiwgY2xrX21haW5bMF0sIDB4MTAwLCAxNywgQ0xLX0lT
X0NSSVRJQ0FMKSwKKwlbWlhfQ0xLX0REUl9DVFJMX1dDTEtdICAgID0gR0FURSgiZGRyLWN0cmwt
d2NsayIsIFBBUkVOVF9JRChaWF9DTEtfRERSX0NUUkxfTVVYKSwgMHgxMDAsIDE4LAorCQkJCQkg
Q0xLX0lTX0NSSVRJQ0FMKSwKKworCVtaWF9DTEtfWlNQX1dDTEtdICAgICAgICAgPSBHQVRFKCJ6
c3Atd2NsayIsIFBBUkVOVF9JRChaWF9DTEtfWlNQX01VWCksIDB4M2MsIDAsIDApLAorCisJLyog
Qm90aCBTRElPIGNvbnRyb2xsZXJzIGRlcGVuZCBvbiB0aGUgYWhiLXBjbGsgZm9yIHJlZ2lzdGVy
IGFjY2Vzcy4gKi8KKwlbWlhfQ0xLX1NEMF9QQ0xLXSAgICAgICAgID0gR0FURSgic2QwLXBjbGsi
LCBQQVJFTlRfRlcoImFoYiIpLCAweDU0LCAxMiwgMCksCisJW1pYX0NMS19TRDBfV0NMS10gICAg
ICAgICA9IEdBVEUoInNkMC13Y2xrIiwgUEFSRU5UX0lEKFpYX0NMS19TRDBfTVVYKSwgMHg1NCwg
MTMsIDApLAorCVtaWF9DTEtfU0QwX0NERVRdICAgICAgICAgPSBHQVRFKCJzZDAtY2RldCIsIFBB
UkVOVF9GVygib3NjMzJrIiksIDB4NTQsIDE0LCAwKSwKKwlbWlhfQ0xLX1NEMV9QQ0xLXSAgICAg
ICAgID0gR0FURSgic2QxLXBjbGsiLCBQQVJFTlRfRlcoImFoYiIpLCAweDU0LCA0LCAwKSwKKwlb
WlhfQ0xLX1NEMV9XQ0xLXSAgICAgICAgID0gR0FURSgic2QxLXdjbGsiLCBQQVJFTlRfSUQoWlhf
Q0xLX1NEMV9NVVgpLCAweDU0LCA1LCAwKSwKKwkvKgorCSAqIEkgZG9uJ3Qga25vdyBob3cgdGhl
IGNkZXQgY2xvY2sgd29ya3MuIENhcmQgZGV0ZWN0aW9uIGluIHRoZSB3YXkgdGhlIGR3YyxtbWMg
ZHJpdmVyIHVzZXMKKwkgKiBpdCBhcHBlYXJzIGJyb2tlbiBubyBtYXR0ZXIgdGhpcyBjbG9jaydz
IHNldHRpbmcuCisJICovCisJW1pYX0NMS19TRDFfQ0RFVF0gICAgICAgICA9IEdBVEUoInNkMS1j
ZGV0IiwgUEFSRU5UX0ZXKCJvc2MzMmsiKSwgMHg1NCwgNiwgMCksCisKKwkvKiBUaGlzIGlzIHNv
bWUgImRlbmFsaSIgTkFORCwgbm90IHRoZSBxc3BpIGNvbm5lY3RlZCBvbmUgKi8KKwlbWlhfQ0xL
X05BTkRfV0NMS10gICAgICAgID0gR0FURSgibmFuZC13Y2xrIiwgUEFSRU5UX0lEKFpYX0NMS19O
QU5EX01VWCksIDB4NTQsIDIwLCAwKSwKKwlbWlhfQ0xLX05BTkRfUENMS10gICAgICAgID0gR0FU
RSgibmFuZC1wY2xrIiwgY2xrX21haW5bMF0sIDB4NTQsIDIxLCAwKSwKKworCS8qCisJICogVGhl
cmUgaXMgYSBzZXQgb2YgZ2F0ZXMgZm9yIGFuIHVua25vd24gZGV2aWNlIGF0IG1hdHJpeCsweDYw
LiBJdCBpcyBzb21lIExURSByZWxhdGVkCisJICogZGV2aWNlLiBJZiBpdCBpcyBmZWQgYW4gaW5j
b3JyZWN0IGNsb2NrLCBlLmcuIGJlY2F1c2UgZHBsbCBpcyBub3QgbG9ja2VkIGFuZCBvdXRwdXRz
CisJICogMjYgTUh6LCBpdCB3aWxsIHNwYW0gSVJRcyBhdCBTUEkgNjguIFRoaXMgaXMgbGlrZWx5
IGEgZGlzdHJlc3Mgbm90aWZpY2F0aW9uIHRoYXQgc29tZQorCSAqIGludGVybmFsIFBMTCBkaWQg
bm90IGxvY2sgb3Igc2ltaWxhcgorCSAqCisJICogWlRFJ3Mga2VybmVsIGhhcyB0d28gZGVmaW5l
cyBmb3IgU1BJIDY0OiAiTFRFX1RQVV9JTlRfUFNfSU5UIiBhbmQgIlZPVV9PU0RfSU5UIi4gVGhl
CisJICogbGF0dGVyIGlzIHVubGlrZWx5IGJlY2F1c2UgVk9VIHJlbGF0ZWQgY2xvY2tzIHNpdCBp
biBtYXRyaXgrMHgxNjguCisJICoKKwkgKiBCaXQgOSBpbiByZWdpc3RlciAweDExOCB0dXJucyBp
dCBvZmYsIHByb3ZpZGluZyBhIGhpbnQgd2hvIHRoZSBwYXJlbnQgaXMuCisJICovCisJW1pYX0NM
S19MVEVfVFBVX1dDTEtdICAgICA9IEdBVEUoImx0ZS10cHUtd2NsayIsIFBBUkVOVF9JRChaWF9D
TEtfTUFUUklYX0RQTExfRDQpLAorCQkJCQkgMHg2MCwgMCwgMCksCisJW1pYX0NMS19MVEVfVFBV
X1BDTEtdICAgICA9IEdBVEUoImx0ZS10cHUtcGNsayIsIGNsa19tYWluWzBdLAorCQkJCQkgMHg2
MCwgMiwgMCksCisKKwlbWlhfQ0xLX0VEQ1BfUENMS10gICAgICAgID0gR0FURSgiZWRjcC1wY2xr
IiwgY2xrX21haW5bMF0sIDB4NjQsIDEsIDApLAorCVtaWF9DTEtfRURDUF9XQ0xLXSAgICAgICAg
PSBHQVRFKCJlZGNwLXdjbGsiLCBQQVJFTlRfSUQoWlhfQ0xLX0VEQ1BfTVVYKSwgMHg2NCwgMiwg
MCksCisKKwkvKgorCSAqIFRoaXMgc2VlbXMgdG8gYmUgYW5vdGhlciBTUEktTGlrZSBkZXZpY2Uu
IFpURSdzIGZpcm13YXJlIG9wZXJhdGVzIGl0IGFuZCBmcm9tIHRlc3RpbmcKKwkgKiBpdCBsb29r
cyBsaWtlIHRoZSBtYXRyaXgtb3NjMjZtIGdhdGUgaW4gdG9wKzB4MTQwIHN0b3BzIHRoaXMgZGV2
aWNlLiBUaGlzIHdvdWxkIGJlCisJICogY29uc2lzdGVudCB3aXRoIHRoZSBvdGhlciBTUEkgY29u
dHJvbGxlcnMgdG9vLgorCSAqLworCVtaWF9DTEtfU1NDX1dDTEtdICAgICAgICAgPSBHQVRFKCJz
c2Mtd2NsayIsIFBBUkVOVF9GVygid2Nsay1vc2MyNm0iKSwgMHg4NCwgMSwgMCksCisJW1pYX0NM
S19TU0NfUENMS10gICAgICAgICA9IEdBVEUoInNzYy1wY2xrIiwgY2xrX21haW5bMF0sIDB4ODQs
IDIsIDApLAorCisJLyoKKwkgKiBQRENGRy4gTGlrZSBQTU0sIGVpdGhlciBjbG9jayBiaXQgd2ls
bCBhbGxvdyB0aGUgZGV2aWNlIHRvIGZ1bmN0aW9uLiBQcm9iYWJseSB0aGVyZSBpcworCSAqIG5v
IHdjbGsgbGluZSBhdCBhbGwgYW5kIHRoZSB0d28gYml0cyBhcmUganVzdCBhbiBhcnRpZmFjdCBv
ZiBnZW5lcmFsbHkgaGF2aW5nIHR3byBiaXRzCisJICogcGVyIGRldmljZS4KKwkgKi8KKwlbWlhf
Q0xLX1BEQ0ZHX1dDTEtdICAgICAgID0gR0FURSgicGRjZmctd2NsayIsIG1hdHJpeF91bmssIDB4
ODgsIDAsIENMS19JU19DUklUSUNBTCksCisJW1pYX0NMS19QRENGR19QQ0xLXSAgICAgICA9IEdB
VEUoInBkY2ZnLXBjbGsiLCBjbGtfbWFpblswXSwgMHg4OCwgMSwgQ0xLX0lTX0NSSVRJQ0FMKSwK
KwlbWlhfQ0xLX01CT1hfUENMS10gICAgICAgID0gR0FURSgibWJveC1wY2xrIiwgY2xrX21haW5b
MF0sIDB4ODgsIDIsIDApLAorCVtaWF9DTEtfU1JBTTBfUENMS10gICAgICAgPSBHQVRFKCJzcmFt
MC1wY2xrIiwgY2xrX21haW5bMF0sIDB4ODgsIDQsIDApLAorCVtaWF9DTEtfR1NNX0NGR19QQ0xL
XSAgICAgPSBHQVRFKCJnc20tY2ZnLXBjbGsiLCBjbGtfbWFpblswXSwgMHg4OCwgOCwgMCksCisK
KwkvKgorCSAqIFpURSdzIGRyaXZlciBoYXMgYSBzdGF0ZW1lbnQgdG8gdGhlIGVmZmVjdCBvZiAq
KHRvcC0+YmFzZSsweDExYykgPSA1LCB3aXRoIGEgY29tbWVudAorCSAqIHN1Z2dlc3RpbmcgdGhh
dCB0aGlzIHNldHMgYSA1MCBNSHogY2xvY2suIFRoZSBjbG9jayBjb2RlIGl0c2VsZiBsaXN0cyBH
TUFDIGNsb2NrcyBpbgorCSAqIG1hdHJpeCsweDExMCBhbmQgbGlzdHMgdGhlIHBhcmVudHMgb2Yg
dGhlc2UgY2xvY2tzIGFzIDUwIE1IeiBncGxsIG91dHB1dCwgYnV0CisJICogdGhlIGRvd25zdHJl
YW0gWlRFIEdNQUMgZHJpdmVyIG5ldmVyIGVuYWJsZXMgdGhlIGNsb2Nrcy4gSXQgdHVybnMgb3V0
IFpURSdzIGNvZGUgaXMKKwkgKiBoaWdobHkgbWlzbGVhZGluZy4KKwkgKgorCSAqIFRoZSBHTUFD
J3Mgd29yayBjbG9jayBpcyBkZWZpbml0ZWx5IG5vdCBhbnkgZ3BsbCBvdXRwdXQgYmVjYXVzZSBp
dCBrZWVwcyB3b3JraW5nIGZpbmUKKwkgKiB3aXRoIGdwbGwgZGlzYWJsZWQuIEdhdGluZyBvZmYg
bWF0cml4LW9zYzI2bSBicmVha3MgR01BQywgc28gaXQgbXVzdCBiZSBpdHMgcGFyZW50LgorCSAq
CisJICogVGhlIEdNQUMgR2F0ZXMgYXJlIGxlZnQgZW5hYmxlZCBieSB0aGUgYm9vdCBsb2FkZXIg
YW5kIGFyZSByZXF1aXJlZCBmb3IgdGhlIEdNQUMgdG8gd29yay4KKwkgKgorCSAqIEFzIGZvciB0
aGUgNTAgTUh6IGNvbW1lbnQ6IFNlZSBybWlpcGh5LXdjbGsuCisJICoKKwkgKiBUaGUgZ21hYy1h
aGIgY2xvY2sgaXMgYSBjaGlsZCBvZiB0b3Bjcm0ncyBhaGItcGNsayBhbmQgaXMgcmVxdWlyZWQg
Zm9yIERNQSB0cmFuc2ZlcnMgaW4KKwkgKiBhbmQgb3V0IG9mIEdNQUMuIFdpdGhvdXQgaXQsIEdN
QUMgc3RpbGwgcmVjZWl2ZXMgZXRoZXJuZXQgZnJhbWVzLCBidXQgY2FuJ3QgZHJhaW4gdGhlbQor
CSAqIHRvIG1lbW9yeSBhbmQgd2lsbCBldmVudHVhbGx5IHNldCB0aGUgUlggRklGTyBvdmVyZmxv
dyBmbGFnLgorCSAqLworCVtaWF9DTEtfR01BQ19XQ0xLXSAgICAgICAgPSBHQVRFKCJnbWFjLXdj
bGsiLCBQQVJFTlRfRlcoIndjbGstb3NjMjZtIiksIDB4MTEwLCAwLCAwKSwKKwlbWlhfQ0xLX0dN
QUNfUENMS10gICAgICAgID0gR0FURSgiZ21hYy1wY2xrIiwgY2xrX21haW5bMF0sIDB4MTEwLCAx
LCAwKSwKKwlbWlhfQ0xLX0dNQUNfQUhCXSAgICAgICAgID0gR0FURSgiZ21hYy1haGIiLCBQQVJF
TlRfRlcoImFoYiIpLCAweDExMCwgMiwgMCksCisKKwkvKgorCSAqIElzIHRoZXJlIGFuIEFYSSBi
dXMgZ2F0ZT8gVGhlIHN5bXB0b20gb2YgY3V0dGluZyBvZmYgdGhlIEFYSSBtdXggc2VsZWN0aW9u
IGluIHRvcCsweDE0MAorCSAqIGlzIHRoYXQgbWF0cml4Y3JtIGJlY29tZXMgdW5yZWFkYWJsZSBm
cm9tIG0wIGFuZCBBNTMgaGFuZ3MuIEluc2lkZSBtYXRyaXggaXRzZWxmIG9ubHkgMworCSAqIGJp
dHMgZml0IHRoYXQgYmlsbDogMHg4YyBiaXRzIDUsIDYsIDcuIEl0IHNlZW1zIGEgYml0IHNlbGYt
ZGVmZWF0aW5nIHRvIGhhdmUgYSBjbG9jaworCSAqIGdhdGUgdGhhdCBzaHV0cyBvZmYgYWNjZXNz
IHRvIGl0c2VsZiB0aG91Z2guIEkgZXhwZWN0IGEgY2xvY2sgZ2F0ZSBmb3IgdGhlIGJ1cworCSAq
IHNvbWV3aGVyZSwgYW5kIHRoZSBtdXggZXhpc3RzLCBzbyBleHBvc2luZyBvbmUgQVhJIGNsb2Nr
IGluIHRoZSBiaW5kaW5ncyBpcyB0aGUgY29ycmVjdAorCSAqIHRoaW5nIHRvIGRvLiBJdCBhbHNv
IHNlcnZlcyB0byB0ZWxsIHRoZSBrZXJuZWwgdG8ga2VlcCB0aGUgbXV4J3MgcGFyZW50IGVuYWJs
ZWQuCisJICoKKwkgKiBSZWdpc3RlciAweDhjIGhhcyAxMiBzZXR0YWJsZSBiaXRzICgweGZmZiku
IFVsdGltYXRlbHkgaXQgZG9lc24ndCBtYXR0ZXIgbXVjaCB3aGljaAorCSAqIGRvLW5vdC1yZW1v
dmUgYml0IHdlIGRvbid0IHJlbW92ZS4gT3RoZXIgYml0cyBpbiB0aGlzIHJlZ2lzdGVyIGJlaGF2
ZSBsaWtlIGdhdGVzIChlLmcKKwkgKiBiaXRzIDExOjggY3V0IG9mZiBVU0IgdGVtcG9yYXJpbHkp
LCBzbyBJIHRoaW5rIHdlIGFyZSBsb29raW5nIGluIHRoZSByaWdodCBwbGFjZS4KKwkgKgorCSAq
IElmIGFuIGV4cGxhbmF0aW9uIGZvciB0aGUgcmVtYWluaW5nIGJpdHMgc3VyZmFjZXMgYW5kIHRo
ZXkgYXJlIGZ1cnRoZXIgZ2F0ZXMgYW5kL29yCisJICogcmVzZXRzLCBhZGQgdGhlbSB0byB0aGUg
YmluZGluZ3MuCisJICovCisJW1pYX0NMS19BWElfV0NMS10gICAgICAgICA9IEdBVEUoImF4aS13
Y2xrIiwgUEFSRU5UX0lEKFpYX0NMS19BWElfTVVYKSwgMHg4YywgNSwKKwkJCQkJIENMS19JU19D
UklUSUNBTCksCisKKwlbWlhfQ0xLX0RNQV9QQ0xLXSAgICAgICAgID0gR0FURSgiZG1hLXBjbGsi
LCBjbGtfbWFpblswXSwgMHg5NCwgMywgMCksCisKKwkvKgorCSAqIFRoZXJlIGFyZSBhIGxvdCBt
b3JlIFZPVSByZWxhdGVkIGNvbnRyb2xzIGluIHRoZXNlIHJlZ2lzdGVycywgYnV0IHR1cm5pbmcg
b2ZmIHRoZSBtYWluCisJICogY2xvY2sgc2VlbXMgdG8gc2h1dCBvZmYgdGhlIGVudGlyZSBWT1Ug
TU1JTyByYW5nZS4KKwkgKi8KKwlbWlhfQ0xLX1ZPVV9XQ0xLXSAgICAgICAgID0gR0FURSgidm91
LXdjbGsiLCBtYXRyaXhfdW5rLCAweDE2OCwgMCwgMCksCisJW1pYX0NMS19WT1VfUENMS10gICAg
ICAgICA9IEdBVEUoInZvdS1wY2xrIiwgY2xrX21haW5bMF0sIDB4MTY4LCAxLCAwKSwKKworCS8q
CisJICogTFNQIHVwbGluayBjbG9ja3MuIFRoZSBwY2xrIGlzIGZhaXJseSBvYnZpb3VzIChkaXNh
YmxpbmcgaXQgc2h1dHMgb2ZmIHRoZSBlbnRpcmUgTFNQCisJICogcmVnaXN0ZXIgYXJlYSkuIFRo
ZSB3Y2xrIHNwZWVkcyB3ZXJlIGRlZHVjZWQgYnkgc2V0dGluZyB0aW1lcnMgYW5kIHFzcGkgbXV4
ZXMgdG8gYQorCSAqIHNwZWNpZmljIHNwZWVkIGFuZCBzZWVpbmcgd2hpY2ggYml0IGluIG1hdHJp
eCsweDdjIG5lZWRzIHRvIGJlIGVuYWJsZWQgZm9yIHRoZSBkZXZpY2UKKwkgKiB0byB3b3JrLgor
CSAqCisJICogRHVlIHRvIHRoZSB0aW1lcnMgSSBhbSBjZXJ0YWluIGFib3V0IHRoZSAyNiBNSHog
YW5kIDMyIGtIeiBjbG9ja3MuIEkgY2Fubm90IGRpcmVjdGx5CisJICogb2JzZXJ2ZSB0aGUgcXNw
aSBtdXggZnJlcXVlbmN5LCBzbyB0aGUgY2xvY2sgcmF0ZXMgZGVwZW5kIG9uIFpURSdzIHFzcGkg
bXV4IHNlbGVjdGlvbgorCSAqIGJlaW5nIGNvcnJlY3QuCisJICoKKwkgKiBUd28gYWRkaXRpb25h
bCBiaXRzIGFyZSBzcGVjaWZpYyB0byBzb3VuZCBjb21wb25lbnRzIC0gdGhlIG11eCBmb3IgdGhl
IExTUCdzIFRETSBJUCBpcworCSAqIGluIG1hdHJpeGNybSBhbmQgZ2V0cyBwYXNzZWQgZG93bi4g
STJTIGhhcyBhIG11eCBpbiBMU1AsIHdoaWNoIGNhbiBzZWxlY3QgdGhlIGRwbGwtZDQKKwkgKiBj
bG9jay4KKwkgKi8KKwlbWlhfQ0xLX1RPTFNQX01QTExfRDVfV0NMS10gID0gR0FURSgibHNwLW1w
bGwtZDUiLCBQQVJFTlRfRlcoIm1wbGwtZDUiKSwgMHg3YywgMCwgMCksCisJW1pYX0NMS19UT0xT
UF9NUExMX0Q0X1dDTEtdICA9IEdBVEUoImxzcC1tcGxsLWQ0IiwgUEFSRU5UX0lEKFpYX0NMS19N
QVRSSVhfTVBMTF9ENCksCisJCQkJCSAgICAweDdjLCAxLCAwKSwKKwlbWlhfQ0xLX1RPTFNQX01Q
TExfRDZfV0NMS10gID0gR0FURSgibHNwLW1wbGwtZDYiLCBQQVJFTlRfSUQoWlhfQ0xLX01BVFJJ
WF9NUExMX0Q2KSwKKwkJCQkJICAgIDB4N2MsIDIsIDApLAorCVtaWF9DTEtfVE9MU1BfTVBMTF9E
OF9XQ0xLXSAgPSBHQVRFKCJsc3AtbXBsbC1kOCIsIFBBUkVOVF9JRChaWF9DTEtfTUFUUklYX01Q
TExfRDgpLAorCQkJCQkgICAgMHg3YywgMywgMCksCisJW1pYX0NMS19UT0xTUF9NUExMX0QxMl9X
Q0xLXSA9IEdBVEUoImxzcC1tcGxsLWQxMiIsIFBBUkVOVF9JRChaWF9DTEtfTUFUUklYX01QTExf
RDEyKSwKKwkJCQkJICAgIDB4N2MsIDQsIDApLAorCVtaWF9DTEtfVE9MU1BfT1NDMjZNX1dDTEtd
ICAgPSBHQVRFKCJsc3Atb3NjMjZtIiwgUEFSRU5UX0ZXKCJ3Y2xrLW9zYzI2bSIpLCAweDdjLCA1
LCAwKSwKKwlbWlhfQ0xLX1RPTFNQX09TQzMyS19XQ0xLXSAgID0gR0FURSgibHNwLW9zYzMyayIs
IFBBUkVOVF9GVygib3NjMzJrIiksIDB4N2MsIDYsIDApLAorCVtaWF9DTEtfVE9MU1BfUENMS10g
ICAgICAgICAgPSBHQVRFKCJsc3AtcGNsayIsIGNsa19tYWluWzBdLCAweDdjLCA3LCAwKSwKKwlb
WlhfQ0xLX1RPTFNQX1RETV9XQ0xLXSAgICAgID0gR0FURSgibHNwLXRkbS13Y2xrIiwgUEFSRU5U
X0lEKFpYX0NMS19URE1fTVVYKSwgMHg3YywgOCwgMCksCisJW1pYX0NMS19UT0xTUF9EUExMX0Q0
X1dDTEtdICA9IEdBVEUoImxzcC1kcGxsLWQ0IiwgUEFSRU5UX0lEKFpYX0NMS19NQVRSSVhfRFBM
TF9ENCksCisJCQkJCSAgICAweDdjLCA5LCAwKSwKK307CisKK3N0YXRpYyBpbnQgengyOTc1MjB2
M19tYXRyaXhfaW5pdChzdHJ1Y3QgcmVnbWFwICptYXApCit7CisJdTMyIGF4aV92YWw7CisJaW50
IHJlczsKKworCS8qIFJlYWQgdGhlIGdsb2JhbCBBWEkgc3BlZWQgc2VsZWN0aW9uLCBpbnNlcnQg
aXQgaW50byBvdXIgYmFsbG90IGFuZCBlbmFibGUgdm90aW5nICovCisJcmVzID0gcmVnbWFwX3Jl
YWQobWFwLCAweDAsICZheGlfdmFsKTsKKwlpZiAocmVzKQorCQlyZXR1cm4gcmVzOworCisJYXhp
X3ZhbCAmPSAweDc7CisJcmVzID0gcmVnbWFwX3dyaXRlKG1hcCwgWlgyOTc1MjBWM19BWElfQVBf
Vk9URSwgYXhpX3ZhbCk7CisJaWYgKHJlcykKKwkJcmV0dXJuIHJlczsKKworCXJldHVybiByZWdt
YXBfd3JpdGUobWFwLCAweDEyYywgMSk7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBpbnQgengyOTc1
MjB2M19tYXRyaXhfZXhwb3J0c1tdID0geworCVtaWDI5NzUyMFYzX1NZU19USU1FUl9XQ0xLXSA9
CQlaWF9DTEtfU1lTX1RJTUVSX1dDTEssCisJW1pYMjk3NTIwVjNfQ1BVX1dDTEtdID0JCQlaWF9D
TEtfQ1BVX1dDTEssCisJW1pYMjk3NTIwVjNfQ1BVX1BDTEtdID0JCQlaWF9DTEtfQ1BVX1BDTEss
CisJW1pYMjk3NTIwVjNfWlNQX1dDTEtdID0JCQlaWF9DTEtfWlNQX1dDTEssCisJW1pYMjk3NTIw
VjNfRERSX0NUUkxfUENMS10gPQkJWlhfQ0xLX0REUl9DVFJMX1BDTEssCisJW1pYMjk3NTIwVjNf
RERSX0NUUkxfV0NMS10gPQkJWlhfQ0xLX0REUl9DVFJMX1dDTEssCisJW1pYMjk3NTIwVjNfRURD
UF9XQ0xLXSA9CQlaWF9DTEtfRURDUF9XQ0xLLAorCVtaWDI5NzUyMFYzX0VEQ1BfUENMS10gPQkJ
WlhfQ0xLX0VEQ1BfUENMSywKKwlbWlgyOTc1MjBWM19TRDBfV0NMS10gPQkJCVpYX0NMS19TRDBf
V0NMSywKKwlbWlgyOTc1MjBWM19TRDBfUENMS10gPQkJCVpYX0NMS19TRDBfUENMSywKKwlbWlgy
OTc1MjBWM19TRDBfQ0RFVF0gPQkJCVpYX0NMS19TRDBfQ0RFVCwKKwlbWlgyOTc1MjBWM19TRDFf
V0NMS10gPQkJCVpYX0NMS19TRDFfV0NMSywKKwlbWlgyOTc1MjBWM19TRDFfUENMS10gPQkJCVpY
X0NMS19TRDFfUENMSywKKwlbWlgyOTc1MjBWM19TRDFfQ0RFVF0gPQkJCVpYX0NMS19TRDFfQ0RF
VCwKKwlbWlgyOTc1MjBWM19OQU5EX1dDTEtdID0JCVpYX0NMS19OQU5EX1dDTEssCisJW1pYMjk3
NTIwVjNfTkFORF9QQ0xLXSA9CQlaWF9DTEtfTkFORF9QQ0xLLAorCVtaWDI5NzUyMFYzX0RNQV9Q
Q0xLXSA9CQkJWlhfQ0xLX0RNQV9QQ0xLLAorCVtaWDI5NzUyMFYzX01CT1hfUENMS10gPQkJWlhf
Q0xLX01CT1hfUENMSywKKwlbWlgyOTc1MjBWM19QRENGR19XQ0xLXSA9CQlaWF9DTEtfUERDRkdf
V0NMSywKKwlbWlgyOTc1MjBWM19QRENGR19QQ0xLXSA9CQlaWF9DTEtfUERDRkdfUENMSywKKwlb
WlgyOTc1MjBWM19TU0NfV0NMS10gPQkJCVpYX0NMS19TU0NfV0NMSywKKwlbWlgyOTc1MjBWM19T
U0NfUENMS10gPQkJCVpYX0NMS19TU0NfUENMSywKKwlbWlgyOTc1MjBWM19BWElfV0NMS10gPQkJ
CVpYX0NMS19BWElfV0NMSywKKwlbWlgyOTc1MjBWM19HTUFDX1dDTEtdID0JCVpYX0NMS19HTUFD
X1dDTEssCisJW1pYMjk3NTIwVjNfR01BQ19QQ0xLXSA9CQlaWF9DTEtfR01BQ19QQ0xLLAorCVta
WDI5NzUyMFYzX0dNQUNfQUhCXSA9CQkJWlhfQ0xLX0dNQUNfQUhCLAorCVtaWDI5NzUyMFYzX1ZP
VV9XQ0xLXSA9CQkJWlhfQ0xLX1ZPVV9XQ0xLLAorCVtaWDI5NzUyMFYzX1ZPVV9QQ0xLXSA9CQkJ
WlhfQ0xLX1ZPVV9QQ0xLLAorCVtaWDI5NzUyMFYzX0xTUF9NUExMX0Q1X1dDTEtdID0JCVpYX0NM
S19UT0xTUF9NUExMX0Q1X1dDTEssCisJW1pYMjk3NTIwVjNfTFNQX01QTExfRDRfV0NMS10gPQkJ
WlhfQ0xLX1RPTFNQX01QTExfRDRfV0NMSywKKwlbWlgyOTc1MjBWM19MU1BfTVBMTF9ENl9XQ0xL
XSA9CQlaWF9DTEtfVE9MU1BfTVBMTF9ENl9XQ0xLLAorCVtaWDI5NzUyMFYzX0xTUF9NUExMX0Q4
X1dDTEtdID0JCVpYX0NMS19UT0xTUF9NUExMX0Q4X1dDTEssCisJW1pYMjk3NTIwVjNfTFNQX01Q
TExfRDEyX1dDTEtdID0JWlhfQ0xLX1RPTFNQX01QTExfRDEyX1dDTEssCisJW1pYMjk3NTIwVjNf
TFNQX09TQzI2TV9XQ0xLXSA9CQlaWF9DTEtfVE9MU1BfT1NDMjZNX1dDTEssCisJW1pYMjk3NTIw
VjNfTFNQX09TQzMyS19XQ0xLXSA9CQlaWF9DTEtfVE9MU1BfT1NDMzJLX1dDTEssCisJW1pYMjk3
NTIwVjNfTFNQX1BDTEtdID0JCQlaWF9DTEtfVE9MU1BfUENMSywKKwlbWlgyOTc1MjBWM19MU1Bf
VERNX1dDTEtdID0JCVpYX0NMS19UT0xTUF9URE1fV0NMSywKKwlbWlgyOTc1MjBWM19MU1BfRFBM
TF9ENF9XQ0xLXSA9CQlaWF9DTEtfVE9MU1BfRFBMTF9ENF9XQ0xLLAorCVtaWDI5NzUyMFYzX1NS
QU0wX1BDTEtdID0JCVpYX0NMS19TUkFNMF9QQ0xLLAorCVtaWDI5NzUyMFYzX0dTTV9DRkdfUENM
S10gPQkJWlhfQ0xLX0dTTV9DRkdfUENMSywKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgenhf
Y2xrX2RhdGEgengyOTc1MjB2M19tYXRyaXhjbGtfZGF0YSA9IHsKKwkuaW5pdCA9IHp4Mjk3NTIw
djNfbWF0cml4X2luaXQsCisJLmNsb2NrcyA9IHp4Mjk3NTIwdjNfbWF0cml4X2Nsb2NrcywKKwku
bnVtX2Nsb2NrcyA9IEFSUkFZX1NJWkUoengyOTc1MjB2M19tYXRyaXhfY2xvY2tzKSwKKwkuZXhw
b3J0cyA9IHp4Mjk3NTIwdjNfbWF0cml4X2V4cG9ydHMsCisJLm51bV9leHBvcnRzID0gQVJSQVlf
U0laRSh6eDI5NzUyMHYzX21hdHJpeF9leHBvcnRzKSwKK307CisKIHN0YXRpYyBpbnQgY2xrX3p4
Mjk3NTIwdjNfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKIHsKIAljb25zdCBz
dHJ1Y3QgcGxhdGZvcm1fZGV2aWNlX2lkICppZCA9IHBsYXRmb3JtX2dldF9kZXZpY2VfaWQocGRl
dik7CkBAIC03ODUsNiArMTI2NCwxMCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHBsYXRmb3JtX2Rl
dmljZV9pZCBjbGtfengyOTc1MjB2M19pZHNbXSA9IHsKIAkJLm5hbWUgPSAiengyOTc1MjB2My10
b3BjbGsiLAogCQkuZHJpdmVyX2RhdGEgPSAoa2VybmVsX3Vsb25nX3QpJnp4Mjk3NTIwdjNfdG9w
Y2xrX2RhdGEsCiAJfSwKKwl7CisJCS5uYW1lID0gInp4Mjk3NTIwdjMtbWF0cml4Y2xrIiwKKwkJ
LmRyaXZlcl9kYXRhID0gKGtlcm5lbF91bG9uZ190KSZ6eDI5NzUyMHYzX21hdHJpeGNsa19kYXRh
LAorCX0sCiAJeyB9CiB9OwogTU9EVUxFX0RFVklDRV9UQUJMRShwbGF0Zm9ybSwgY2xrX3p4Mjk3
NTIwdjNfaWRzKTsKCi0tIAoyLjU0LjAKCgotLSAKbGludXgtcGh5IG1haWxpbmcgbGlzdApsaW51
eC1waHlAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwczovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFp
bG1hbi9saXN0aW5mby9saW51eC1waHkK