From mboxrd@z Thu Jan 1 00:00:00 1970 From: Igal.Liberman Subject: [RFC,v3,03/12] fsl/fman: Add the FMan port FLIB headers Date: Wed, 29 Apr 2015 12:27:31 +0300 Message-ID: <1430299651-29130-1-git-send-email-igal.liberman@freescale.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: Igal Liberman , linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org, madalin.bucur@freescale.com To: Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: linuxppc-dev-bounces+glppe-linuxppc-embedded-2=m.gmane.org@lists.ozlabs.org Sender: "Linuxppc-dev" List-Id: netdev.vger.kernel.org RnJvbTogSWdhbCBMaWJlcm1hbiA8SWdhbC5MaWJlcm1hbkBmcmVlc2NhbGUuY29tPgoKVGhlIEZN YW4gUG9ydCBGbGliIHByb3ZpZGVzIGJhc2ljIEFQSSB1c2VkIGJ5IHRoZSBkcml2ZXJzIHRvCmNv bmZpZ3VyZSBhbmQgY29udHJvbCB0aGUgRk1hbiBQb3J0IGhhcmR3YXJlLgoKU2lnbmVkLW9mZi1i eTogSWdhbCBMaWJlcm1hbiA8SWdhbC5MaWJlcm1hbkBmcmVlc2NhbGUuY29tPgotLS0KIC4uLi9u ZXQvZXRoZXJuZXQvZnJlZXNjYWxlL2ZtYW4vZmxpYi9mbWFuX2NvbW1vbi5oIHwgICA3MyArKysr CiAuLi4vZXRoZXJuZXQvZnJlZXNjYWxlL2ZtYW4vZmxpYi9mc2xfZm1hbl9wb3J0LmggICB8ICA0 NjIgKysrKysrKysrKysrKysrKysrKysKIC4uLi9uZXQvZXRoZXJuZXQvZnJlZXNjYWxlL2ZtYW4v ZmxpYi9mc2xfZm1hbl9zcC5oIHwgICA2NiArKysKIDMgZmlsZXMgY2hhbmdlZCwgNjAxIGluc2Vy dGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2Nh bGUvZm1hbi9mbGliL2ZtYW5fY29tbW9uLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL25l dC9ldGhlcm5ldC9mcmVlc2NhbGUvZm1hbi9mbGliL2ZzbF9mbWFuX3BvcnQuaAogY3JlYXRlIG1v ZGUgMTAwNjQ0IGRyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVzY2FsZS9mbWFuL2ZsaWIvZnNsX2Zt YW5fc3AuaAoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVzY2FsZS9mbWFu L2ZsaWIvZm1hbl9jb21tb24uaCBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVzY2FsZS9mbWFu L2ZsaWIvZm1hbl9jb21tb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5l MTg2ZWQ5Ci0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvZnJlZXNjYWxl L2ZtYW4vZmxpYi9mbWFuX2NvbW1vbi5oCkBAIC0wLDAgKzEsNzMgQEAKKy8qCisgKiBDb3B5cmln aHQgMjAwOCAtIDIwMTUgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IgSW5jLgorICoKKyAqIFJlZGlz dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0 aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv bGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICoJIG5vdGljZSwg dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg YWJvdmUgY29weXJpZ2h0CisgKgkgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICoJIGRvY3VtZW50YXRpb24gYW5kL29y IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAgICAg KiBOZWl0aGVyIHRoZSBuYW1lIG9mIEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yIG5vciB0aGUKKyAq CSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv bW90ZSBwcm9kdWN0cworICoJIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIEFMVEVSTkFUSVZFTFksIHRo aXMgc29mdHdhcmUgbWF5IGJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAq IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlICgiR1BMIikgYXMgcHVibGlzaGVkIGJ5IHRoZSBG cmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoYXQgTGlj ZW5zZSBvciAoYXQgeW91ciBvcHRpb24pIGFueQorICogbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBU SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yIGBgQVMg SVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNI QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBE SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciBCRSBM SUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBO T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF UzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg VEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIF9fRk1BTl9DT01NT05fSAor I2RlZmluZSBfX0ZNQU5fQ09NTU9OX0gKKworLyogTklBIERlc2NyaXB0aW9uICovCisjZGVmaW5l IE5JQV9PUkRFUl9SRVNUT1IJCQkweDAwODAwMDAwCisjZGVmaW5lIE5JQV9FTkdfRk1fQ1RMCQkJ CTB4MDAwMDAwMDAKKyNkZWZpbmUgTklBX0VOR19QUlMJCQkJMHgwMDQ0MDAwMAorI2RlZmluZSBO SUFfRU5HX0tHCQkJCTB4MDA0ODAwMDAKKyNkZWZpbmUgTklBX0VOR19QTENSCQkJCTB4MDA0QzAw MDAKKyNkZWZpbmUgTklBX0VOR19CTUkJCQkJMHgwMDUwMDAwMAorI2RlZmluZSBOSUFfRU5HX1FN SV9FTlEJCQkJMHgwMDU0MDAwMAorI2RlZmluZSBOSUFfRU5HX1FNSV9ERVEJCQkJMHgwMDU4MDAw MAorI2RlZmluZSBOSUFfRU5HX01BU0sJCQkJMHgwMDdDMDAwMAorCisjZGVmaW5lIE5JQV9GTV9D VExfQUNfQ0MJCQkweDAwMDAwMDA2CisjZGVmaW5lIE5JQV9GTV9DVExfQUNfSEMJCQkweDAwMDAw MDBDCisjZGVmaW5lIE5JQV9GTV9DVExfQUNfSU5EX01PREVfVFgJCTB4MDAwMDAwMDgKKyNkZWZp bmUgTklBX0ZNX0NUTF9BQ19JTkRfTU9ERV9SWAkJMHgwMDAwMDAwQQorI2RlZmluZSBOSUFfRk1f Q1RMX0FDX0ZSQUcJCQkweDAwMDAwMDBlCisjZGVmaW5lIE5JQV9GTV9DVExfQUNfUFJFX0ZFVENI CQkJMHgwMDAwMDAxMAorI2RlZmluZSBOSUFfRk1fQ1RMX0FDX1BPU1RfRkVUQ0hfUENECQkweDAw MDAwMDEyCisjZGVmaW5lIE5JQV9GTV9DVExfQUNfUE9TVF9GRVRDSF9QQ0RfVURQX0xFTgkweDAw MDAwMDE4CisjZGVmaW5lIE5JQV9GTV9DVExfQUNfUE9TVF9GRVRDSF9OT19QQ0QJCTB4MDAwMDAw MTIKKyNkZWZpbmUgTklBX0ZNX0NUTF9BQ19GUkFHX0NIRUNLCQkweDAwMDAwMDE0CisjZGVmaW5l IE5JQV9GTV9DVExfQUNfUFJFX0NDCQkJMHgwMDAwMDAyMAorCisjZGVmaW5lIE5JQV9CTUlfQUNf RU5RX0ZSQU1FCQkJMHgwMDAwMDAwMgorI2RlZmluZSBOSUFfQk1JX0FDX1RYX1JFTEVBU0UJCQkw eDAwMDAwMkMwCisjZGVmaW5lIE5JQV9CTUlfQUNfUkVMRUFTRQkJCTB4MDAwMDAwQzAKKyNkZWZp bmUgTklBX0JNSV9BQ19ESVNDQVJECQkJMHgwMDAwMDBDMQorI2RlZmluZSBOSUFfQk1JX0FDX1RY CQkJCTB4MDAwMDAyNzQKKyNkZWZpbmUgTklBX0JNSV9BQ19GRVRDSAkJCTB4MDAwMDAyMDgKKyNk ZWZpbmUgTklBX0JNSV9BQ19NQVNLCQkJCTB4MDAwMDAzRkYKKworI2RlZmluZSBOSUFfS0dfRElS RUNUCQkJCTB4MDAwMDAxMDAKKyNkZWZpbmUgTklBX0tHX0NDX0VOCQkJCTB4MDAwMDAyMDAKKyNk ZWZpbmUgTklBX1BMQ1JfQUJTT0xVVEUJCQkweDAwMDA4MDAwCisKKyNkZWZpbmUgTklBX0JNSV9B Q19FTlFfRlJBTUVfV0lUSE9VVF9ETUEJMHgwMDAwMDIwMgorI2RlZmluZSBOSUFfQk1JX0FDX0ZF VENIX0FMTF9GUkFNRQkJMHgwMDAwMDIwYworCisjZW5kaWYJLyogX19GTUFOX0NPTU1PTl9IICov CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZm1hbi9mbGliL2Zz bF9mbWFuX3BvcnQuaCBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVzY2FsZS9mbWFuL2ZsaWIv ZnNsX2ZtYW5fcG9ydC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg5MDNj OTkKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZm1h bi9mbGliL2ZzbF9mbWFuX3BvcnQuaApAQCAtMCwwICsxLDQ2MiBAQAorLyoKKyAqIENvcHlyaWdo dCAyMDA4IC0gMjAxNSBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciBJbmMuCisgKgorICogUmVkaXN0 cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKgkgbm90aWNlLCB0 aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh Ym92ZSBjb3B5cmlnaHQKKyAqCSBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0 aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKgkgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAq IE5laXRoZXIgdGhlIG5hbWUgb2YgRnJlZXNjYWxlIFNlbWljb25kdWN0b3Igbm9yIHRoZQorICoJ IG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9t b3RlIHByb2R1Y3RzCisgKgkgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogQUxURVJOQVRJVkVMWSwgdGhp cyBzb2Z0d2FyZSBtYXkgYmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICog R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKCJHUEwiKSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZy ZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhhdCBMaWNl bnNlIG9yIChhdCB5b3VyIG9wdGlvbikgYW55CisgKiBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRI SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IgYGBBUyBJ UycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hB TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJ U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yIEJFIExJ QUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5P VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT OworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ VElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU SEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgX19GU0xfRk1BTl9QT1JUX0gK KyNkZWZpbmUgX19GU0xfRk1BTl9QT1JUX0gKKworI2luY2x1ZGUgImZzbF9mbWFuX3NwLmgiCisK Ky8qIFJlZ2lzdGVycyBiaXQgZmllbGRzICovCisKKy8qIEJNSSBkZWZpbmVzICovCisjZGVmaW5l IEJNSV9FQkRfRU4JCQkJMHg4MDAwMDAwMAorCisjZGVmaW5lIEJNSV9QT1JUX0NGR19FTgkJCQkw eDgwMDAwMDAwCisjZGVmaW5lIEJNSV9QT1JUX0NGR19GRE9WUgkJCTB4MDIwMDAwMDAKKyNkZWZp bmUgQk1JX1BPUlRfQ0ZHX0lNCQkJCTB4MDEwMDAwMDAKKworI2RlZmluZSBCTUlfUE9SVF9TVEFU VVNfQlNZCQkJMHg4MDAwMDAwMAorCisjZGVmaW5lIEJNSV9ETUFfQVRUUl9TV1BfU0hJRlQJCQlG TUFOX1NQX0RNQV9BVFRSX1NXUF9TSElGVAorI2RlZmluZSBCTUlfRE1BX0FUVFJfSUNfU1RBU0hf T04JCTB4MTAwMDAwMDAKKyNkZWZpbmUgQk1JX0RNQV9BVFRSX0hEUl9TVEFTSF9PTgkJMHgwNDAw MDAwMAorI2RlZmluZSBCTUlfRE1BX0FUVFJfU0dfU1RBU0hfT04JCTB4MDEwMDAwMDAKKyNkZWZp bmUgQk1JX0RNQV9BVFRSX1dSSVRFX09QVElNSVpFCQlGTUFOX1NQX0RNQV9BVFRSX1dSSVRFX09Q VElNSVpFCisKKyNkZWZpbmUgQk1JX1JYX0ZJRk9fUFJJX0VMRVZBVElPTl9TSElGVAkxNgorI2Rl ZmluZSBCTUlfUlhfRklGT19USFJFU0hPTERfRVRIRQkJMHg4MDAwMDAwMAorCisjZGVmaW5lIEJN SV9UWF9GUkFNRV9FTkRfQ1NfSUdOT1JFX1NISUZUCTI0CisjZGVmaW5lIEJNSV9SWF9GUkFNRV9F TkRfQ1NfSUdOT1JFX1NISUZUCTI0CisjZGVmaW5lIEJNSV9SWF9GUkFNRV9FTkRfQ1VUX1NISUZU CQkxNgorCisjZGVmaW5lIEJNSV9JQ19UT19FWFRfU0hJRlQJCQlGTUFOX1NQX0lDX1RPX0VYVF9T SElGVAorI2RlZmluZSBCTUlfSUNfRlJPTV9JTlRfU0hJRlQJCQlGTUFOX1NQX0lDX0ZST01fSU5U X1NISUZUCisKKyNkZWZpbmUgQk1JX0lOVF9CVUZfTUFSR19TSElGVAkJCTI4CisjZGVmaW5lIEJN SV9FWFRfQlVGX01BUkdfU1RBUlRfU0hJRlQJCUZNQU5fU1BfRVhUX0JVRl9NQVJHX1NUQVJUX1NI SUZUCisKKyNkZWZpbmUgQk1JX0NNRF9NUl9MRUFDCQkJCTB4MDAyMDAwMDAKKyNkZWZpbmUgQk1J X0NNRF9NUl9TTEVBQwkJCTB4MDAxMDAwMDAKKyNkZWZpbmUgQk1JX0NNRF9NUl9NQQkJCQkweDAw MDgwMDAwCisjZGVmaW5lIEJNSV9DTURfTVJfREVBUwkJCQkweDAwMDQwMDAwCisjZGVmaW5lIEJN SV9DTURfUlhfTVJfREVGCQkJKEJNSV9DTURfTVJfTEVBQyB8IFwKKwkJCQkJCUJNSV9DTURfTVJf U0xFQUMgfCBcCisJCQkJCQlCTUlfQ01EX01SX01BIHwgXAorCQkJCQkJQk1JX0NNRF9NUl9ERUFT KQorI2RlZmluZSBCTUlfQ01EX1RYX01SX0RFRgkJCTAKKyNkZWZpbmUgQk1JX0NNRF9PUF9NUl9E RUYJCQkoQk1JX0NNRF9NUl9ERUFTIHwgXAorCQkJCQkJQk1JX0NNRF9NUl9NQSkKKworI2RlZmlu ZSBCTUlfQ01EX0FUVFJfT1JERVIJCQkweDgwMDAwMDAwCisjZGVmaW5lIEJNSV9DTURfQVRUUl9T WU5DCQkJMHgwMjAwMDAwMAorI2RlZmluZSBCTUlfQ01EX0FUVFJfQ09MT1JfU0hJRlQJCTI2CisK KyNkZWZpbmUgQk1JX0ZJRk9fUElQRUxJTkVfREVQVEhfU0hJRlQJCTEyCisjZGVmaW5lIEJNSV9O RVhUX0VOR19GRF9CSVRTX1NISUZUCQkyNAorI2RlZmluZSBCTUlfRlJBTUVfRU5EX0NTX0lHTk9S RV9TSElGVAkJMjQKKworI2RlZmluZSBCTUlfQ09VTlRFUlNfRU4JCQkJMHg4MDAwMDAwMAorCisj ZGVmaW5lIEJNSV9FWFRfQlVGX1BPT0xfVkFMSUQJCQlGTUFOX1NQX0VYVF9CVUZfUE9PTF9WQUxJ RAorI2RlZmluZSBCTUlfRVhUX0JVRl9QT09MX0VOX0NPVU5URVIJCUZNQU5fU1BfRVhUX0JVRl9Q T09MX0VOX0NPVU5URVIKKyNkZWZpbmUgQk1JX0VYVF9CVUZfUE9PTF9CQUNLVVAJCUZNQU5fU1Bf RVhUX0JVRl9QT09MX0JBQ0tVUAorI2RlZmluZSBCTUlfRVhUX0JVRl9QT09MX0lEX1NISUZUCQkx NgorI2RlZmluZSBCTUlfRVhUX0JVRl9QT09MX0lEX01BU0sJCTB4MDAzRjAwMDAKKyNkZWZpbmUg Qk1JX1BPT0xfREVQX05VTV9PRl9QT09MU19TSElGVAkJMTYKKworI2RlZmluZSBCTUlfVFhfRklG T19NSU5fRklMTF9TSElGVAkJMTYKKyNkZWZpbmUgQk1JX1RYX0ZJRk9fUElQRUxJTkVfREVQVEhf U0hJRlQJMTIKKworI2RlZmluZSBNQVhfUEVSRk9STUFOQ0VfVEFTS19DT01QCQk2NAorI2RlZmlu ZSBNQVhfUEVSRk9STUFOQ0VfUlhfUVVFVUVfQ09NUAkJNjQKKyNkZWZpbmUgTUFYX1BFUkZPUk1B TkNFX1RYX1FVRVVFX0NPTVAJCTgKKyNkZWZpbmUgTUFYX1BFUkZPUk1BTkNFX0RNQV9DT01QCQkx NgorI2RlZmluZSBNQVhfUEVSRk9STUFOQ0VfRklGT19DT01QCQkxMDI0CisKKyNkZWZpbmUgQk1J X1BFUkZPUk1BTkNFX1RBU0tfQ09NUF9TSElGVAkJMjQKKyNkZWZpbmUgQk1JX1BFUkZPUk1BTkNF X1FVRVVFX0NPTVBfU0hJRlQJMTYKKyNkZWZpbmUgQk1JX1BFUkZPUk1BTkNFX0RNQV9DT01QX1NI SUZUCQkxMgorCisjZGVmaW5lIEJNSV9TR19ESVNBQkxFCQkJCUZNQU5fU1BfU0dfRElTQUJMRQor CisvKiBRTUkgZGVmaW5lcyAqLworI2RlZmluZSBRTUlfUE9SVF9DRkdfRU4JCQkJMHg4MDAwMDAw MAorI2RlZmluZSBRTUlfUE9SVF9DRkdfRU5fQ09VTlRFUlMJCTB4MTAwMDAwMDAKKworI2RlZmlu ZSBRTUlfUE9SVF9TVEFUVVNfREVRX1ROVU1fQlNZCQkweDgwMDAwMDAwCisjZGVmaW5lIFFNSV9Q T1JUX1NUQVRVU19ERVFfRkRfQlNZCQkweDIwMDAwMDAwCisKKyNkZWZpbmUgUU1JX0RFUV9DRkdf UFJJCQkJCTB4ODAwMDAwMDAKKyNkZWZpbmUgUU1JX0RFUV9DRkdfVFlQRTEJCQkweDEwMDAwMDAw CisjZGVmaW5lIFFNSV9ERVFfQ0ZHX1RZUEUyCQkJMHgyMDAwMDAwMAorI2RlZmluZSBRTUlfREVR X0NGR19UWVBFMwkJCTB4MzAwMDAwMDAKKyNkZWZpbmUgUU1JX0RFUV9DRkdfUFJFRkVUQ0hfUEFS VElBTAkJMHgwMTAwMDAwMAorI2RlZmluZSBRTUlfREVRX0NGR19QUkVGRVRDSF9GVUxMCQkweDAz MDAwMDAwCisjZGVmaW5lIFFNSV9ERVFfQ0ZHX1NQX01BU0sJCQkweGYKKyNkZWZpbmUgUU1JX0RF UV9DRkdfU1BfU0hJRlQJCQkyMAorCisvKiBHZW5lcmFsIHBvcnQgZGVmaW5lcyAqLworI2RlZmlu ZSBGTUFOX1BPUlRfRVhUX1BPT0xTX05VTShmbV9yZXZfbWFqKSBcCisJCSgoKGZtX3Jldl9tYWop ID09IDQpID8gNCA6IDgpCisjZGVmaW5lIEZNQU5fUE9SVF9NQVhfRVhUX1BPT0xTX05VTQk4Cisj ZGVmaW5lIEZNQU5fUE9SVF9PQlNfRVhUX1BPT0xTX05VTQkyCisjZGVmaW5lIEZNQU5fUE9SVF9D R19NQVBfTlVNCQk4CisjZGVmaW5lIEZNQU5fUE9SVF9QUlNfUkVTVUxUX1dPUkRTX05VTQk4Cisj ZGVmaW5lIEZNQU5fUE9SVF9CTUlfRklGT19VTklUUwkweDEwMAorI2RlZmluZSBGTUFOX1BPUlRf SUNfT0ZGU0VUX1VOSVRTCTB4MTAKKworLyogRk0gUG9ydCBSZWdpc3RlciBNYXAgKi8KKworLyog Qk1JIFJ4IHBvcnQgcmVnaXN0ZXIgbWFwICovCitzdHJ1Y3QgZm1hbl9wb3J0X3J4X2JtaV9yZWdz IHsKKwl1aW50MzJfdCBmbWJtX3JjZmc7CQkvKiBSeCBDb25maWd1cmF0aW9uICovCisJdWludDMy X3QgZm1ibV9yc3Q7CQkvKiBSeCBTdGF0dXMgKi8KKwl1aW50MzJfdCBmbWJtX3JkYTsJCS8qIFJ4 IERNQSBhdHRyaWJ1dGVzKi8KKwl1aW50MzJfdCBmbWJtX3JmcDsJCS8qIFJ4IEZJRk8gUGFyYW1l dGVycyovCisJdWludDMyX3QgZm1ibV9yZmVkOwkJLyogUnggRnJhbWUgRW5kIERhdGEqLworCXVp bnQzMl90IGZtYm1fcmljcDsJCS8qIFJ4IEludGVybmFsIENvbnRleHQgUGFyYW1ldGVycyovCisJ dWludDMyX3QgZm1ibV9yaW07CQkvKiBSeCBJbnRlcm5hbCBCdWZmZXIgTWFyZ2lucyovCisJdWlu dDMyX3QgZm1ibV9yZWJtOwkJLyogUnggRXh0ZXJuYWwgQnVmZmVyIE1hcmdpbnMqLworCXVpbnQz Ml90IGZtYm1fcmZuZTsJCS8qIFJ4IEZyYW1lIE5leHQgRW5naW5lKi8KKwl1aW50MzJfdCBmbWJt X3JmY2E7CQkvKiBSeCBGcmFtZSBDb21tYW5kIEF0dHJpYnV0ZXMuKi8KKwl1aW50MzJfdCBmbWJt X3JmcG5lOwkJLyogUnggRnJhbWUgUGFyc2VyIE5leHQgRW5naW5lKi8KKwl1aW50MzJfdCBmbWJt X3Jwc287CQkvKiBSeCBQYXJzZSBTdGFydCBPZmZzZXQqLworCXVpbnQzMl90IGZtYm1fcnBwOwkJ LyogUnggUG9saWNlciBQcm9maWxlICAqLworCXVpbnQzMl90IGZtYm1fcmNjYjsJCS8qIFJ4IENv YXJzZSBDbGFzc2lmaWNhdGlvbiBCYXNlICovCisJdWludDMyX3QgZm1ibV9yZXRoOwkJLyogUngg RXhjZXNzaXZlIFRocmVzaG9sZCAqLworCXVpbnQzMl90IHJlc2VydmVkMDAzY1sxXTsJLyogKDB4 MDNDIDB4MDNGKSAqLworCXVpbnQzMl90IGZtYm1fcnByYWlbRk1BTl9QT1JUX1BSU19SRVNVTFRf V09SRFNfTlVNXTsKKwkJCQkJLyogUnggUGFyc2UgUmVzdWx0cyBBcnJheSBJbml0Ki8KKwl1aW50 MzJfdCBmbWJtX3JmcWlkOwkJLyogUnggRnJhbWUgUXVldWUgSUQqLworCXVpbnQzMl90IGZtYm1f cmVmcWlkOwkJLyogUnggRXJyb3IgRnJhbWUgUXVldWUgSUQqLworCXVpbnQzMl90IGZtYm1fcmZz ZG07CQkvKiBSeCBGcmFtZSBTdGF0dXMgRGlzY2FyZCBNYXNrKi8KKwl1aW50MzJfdCBmbWJtX3Jm c2VtOwkJLyogUnggRnJhbWUgU3RhdHVzIEVycm9yIE1hc2sqLworCXVpbnQzMl90IGZtYm1fcmZl bmU7CQkvKiBSeCBGcmFtZSBFbnF1ZXVlIE5leHQgRW5naW5lICovCisJdWludDMyX3QgcmVzZXJ2 ZWQwMDc0WzB4Ml07CS8qICgweDA3NC0weDA3QykgICovCisJdWludDMyX3QgZm1ibV9yY21uZTsg LyogUnggRnJhbWUgQ29udGludW91cyBNb2RlIE5leHQgRW5naW5lICovCisJdWludDMyX3QgcmVz ZXJ2ZWQwMDgwWzB4MjBdOy8qICgweDA4MCAweDBGRikgICovCisJdWludDMyX3QgZm1ibV9lYm1w aVtGTUFOX1BPUlRfTUFYX0VYVF9QT09MU19OVU1dOworCQkJCQkvKiBCdWZmZXIgTWFuYWdlciBw b29sIEluZm9ybWF0aW9uLSovCisJdWludDMyX3QgZm1ibV9hY250W0ZNQU5fUE9SVF9NQVhfRVhU X1BPT0xTX05VTV07CisJCQkJCS8qIEFsbG9jYXRlIENvdW50ZXItKi8KKwl1aW50MzJfdCByZXNl cnZlZDAxMzBbOF07CisJCQkJCS8qIDB4MTMwLzB4MTQwIC0gMHgxNUYgcmVzZXJ2ZWQgLSovCisJ dWludDMyX3QgZm1ibV9yY2dtW0ZNQU5fUE9SVF9DR19NQVBfTlVNXTsKKwkJCQkJLyogQ29uZ2Vz dGlvbiBHcm91cCBNYXAqLworCXVpbnQzMl90IGZtYm1fbXBkOwkJLyogQk0gUG9vbCBEZXBsZXRp b24gICovCisJdWludDMyX3QgcmVzZXJ2ZWQwMTg0WzB4MUZdOwkvKiAoMHgxODQgMHgxRkYpICov CisJdWludDMyX3QgZm1ibV9yc3RjOwkJLyogUnggU3RhdGlzdGljcyBDb3VudGVycyovCisJdWlu dDMyX3QgZm1ibV9yZnJjOwkJLyogUnggRnJhbWUgQ291bnRlciovCisJdWludDMyX3QgZm1ibV9y ZmJjOwkJLyogUnggQmFkIEZyYW1lcyBDb3VudGVyKi8KKwl1aW50MzJfdCBmbWJtX3JsZmM7CQkv KiBSeCBMYXJnZSBGcmFtZXMgQ291bnRlciovCisJdWludDMyX3QgZm1ibV9yZmZjOwkJLyogUngg RmlsdGVyIEZyYW1lcyBDb3VudGVyKi8KKwl1aW50MzJfdCBmbWJtX3JmZGM7CQkvKiBSeCBGcmFt ZSBEaXNjYXJkIENvdW50ZXIqLworCXVpbnQzMl90IGZtYm1fcmZsZGVjOwkJLyogUnggRnJhbWVz IExpc3QgRE1BIEVycm9yIENvdW50ZXIqLworCXVpbnQzMl90IGZtYm1fcm9kYzsJCS8qIFJ4IE91 dCBvZiBCdWZmZXJzIERpc2NhcmQgbm50ciovCisJdWludDMyX3QgZm1ibV9yYmRjOwkJLyogUngg QnVmZmVycyBEZWFsbG9jYXRlIENvdW50ZXIqLworCXVpbnQzMl90IHJlc2VydmVkMDIyNFsweDE3 XTsJLyogKDB4MjI0IDB4MjdGKSAqLworCXVpbnQzMl90IGZtYm1fcnBjOwkJLyogUnggUGVyZm9y bWFuY2UgQ291bnRlcnMqLworCXVpbnQzMl90IGZtYm1fcnBjcDsJCS8qIFJ4IFBlcmZvcm1hbmNl IENvdW50IFBhcmFtZXRlcnMqLworCXVpbnQzMl90IGZtYm1fcmNjbjsJCS8qIFJ4IEN5Y2xlIENv dW50ZXIqLworCXVpbnQzMl90IGZtYm1fcnR1YzsJCS8qIFJ4IFRhc2tzIFV0aWxpemF0aW9uIENv dW50ZXIqLworCXVpbnQzMl90IGZtYm1fcnJxdWM7CQkvKiBSeCBSZWNlaXZlIFF1ZXVlIFV0aWxp emF0aW9uIGNudHIqLworCXVpbnQzMl90IGZtYm1fcmR1YzsJCS8qIFJ4IERNQSBVdGlsaXphdGlv biBDb3VudGVyKi8KKwl1aW50MzJfdCBmbWJtX3JmdWM7CQkvKiBSeCBGSUZPIFV0aWxpemF0aW9u IENvdW50ZXIqLworCXVpbnQzMl90IGZtYm1fcnBhYzsJCS8qIFJ4IFBhdXNlIEFjdGl2YXRpb24g Q291bnRlciovCisJdWludDMyX3QgcmVzZXJ2ZWQwMmEwWzB4MThdOwkvKiAoMHgyQTAgMHgyRkYp ICovCisJdWludDMyX3QgZm1ibV9yZGJnOwkJLyogUnggRGVidWctKi8KK307CisKKy8qIEJNSSBU eCBwb3J0IHJlZ2lzdGVyIG1hcCAqLworc3RydWN0IGZtYW5fcG9ydF90eF9ibWlfcmVncyB7CisJ dWludDMyX3QgZm1ibV90Y2ZnOwkJLyogVHggQ29uZmlndXJhdGlvbiAqLworCXVpbnQzMl90IGZt Ym1fdHN0OwkJLyogVHggU3RhdHVzICovCisJdWludDMyX3QgZm1ibV90ZGE7CQkvKiBUeCBETUEg YXR0cmlidXRlcyAqLworCXVpbnQzMl90IGZtYm1fdGZwOwkJLyogVHggRklGTyBQYXJhbWV0ZXJz ICovCisJdWludDMyX3QgZm1ibV90ZmVkOwkJLyogVHggRnJhbWUgRW5kIERhdGEgKi8KKwl1aW50 MzJfdCBmbWJtX3RpY3A7CQkvKiBUeCBJbnRlcm5hbCBDb250ZXh0IFBhcmFtZXRlcnMgKi8KKwl1 aW50MzJfdCBmbWJtX3RmZG5lOwkJLyogVHggRnJhbWUgRGVxdWV1ZSBOZXh0IEVuZ2luZS4gKi8K Kwl1aW50MzJfdCBmbWJtX3RmY2E7CQkvKiBUeCBGcmFtZSBDb21tYW5kIGF0dHJpYnV0ZS4gKi8K Kwl1aW50MzJfdCBmbWJtX3RjZnFpZDsJCS8qIFR4IENvbmZpcm1hdGlvbiBGcmFtZSBRdWV1ZSBJ RC4gKi8KKwl1aW50MzJfdCBmbWJtX3RlZnFpZDsJCS8qIFR4IEZyYW1lIEVycm9yIFF1ZXVlIElE ICovCisJdWludDMyX3QgZm1ibV90ZmVuZTsJCS8qIFR4IEZyYW1lIEVucXVldWUgTmV4dCBFbmdp bmUgKi8KKwl1aW50MzJfdCBmbWJtX3RybG10czsJCS8qIFR4IFJhdGUgTGltaXRlciBTY2FsZSAq LworCXVpbnQzMl90IGZtYm1fdHJsbXQ7CQkvKiBUeCBSYXRlIExpbWl0ZXIgKi8KKwl1aW50MzJf dCByZXNlcnZlZDAwMzRbMHgwZV07CS8qICgweDAzNC0weDZjKSAqLworCXVpbnQzMl90IGZtYm1f dGNjYjsJCS8qIFR4IENvYXJzZSBDbGFzc2lmaWNhdGlvbiBiYXNlICovCisJdWludDMyX3QgZm1i bV90Zm5lOwkJLyogVHggRnJhbWUgTmV4dCBFbmdpbmUgKi8KKwkvKiBUeCBQcmlvcml0eSBiYXNl ZCBGbG93IENvbnRyb2wgKFBGQykgTWFwcGluZyAqLworCXVpbnQzMl90IGZtYm1fdHBmY21bMHgw Ml07CisJLyogVHggRnJhbWUgQ29udGludW91cyBNb2RlIE5leHQgRW5naW5lICovCisJdWludDMy X3QgZm1ibV90Y21uZTsKKwl1aW50MzJfdCByZXNlcnZlZDAwODBbMHg2MF07CS8qICgweDA4MC0w eDIwMCkgKi8KKwl1aW50MzJfdCBmbWJtX3RzdGM7CQkvKiBUeCBTdGF0aXN0aWNzIENvdW50ZXJz ICovCisJdWludDMyX3QgZm1ibV90ZnJjOwkJLyogVHggRnJhbWUgQ291bnRlciAqLworCXVpbnQz Ml90IGZtYm1fdGZkYzsJCS8qIFR4IEZyYW1lcyBEaXNjYXJkIENvdW50ZXIgKi8KKwl1aW50MzJf dCBmbWJtX3RmbGVkYzsJCS8qIFR4IEZyYW1lIGxlbiBlcnJvciBkaXNjYXJkIGNudHIgKi8KKwl1 aW50MzJfdCBmbWJtX3RmdWZkYzsJCS8qIFR4IEZyYW1lIHVuc3BydCBmcm10IGRpc2NhcmQgY250 ciovCisJdWludDMyX3QgZm1ibV90YmRjOwkJLyogVHggQnVmZmVycyBEZWFsbG9jYXRlIENvdW50 ZXIgKi8KKwl1aW50MzJfdCByZXNlcnZlZDAyMThbMHgxQV07CS8qICgweDIxOC0weDI4MCkgKi8K Kwl1aW50MzJfdCBmbWJtX3RwYzsJCS8qIFR4IFBlcmZvcm1hbmNlIENvdW50ZXJzKi8KKwl1aW50 MzJfdCBmbWJtX3RwY3A7CQkvKiBUeCBQZXJmb3JtYW5jZSBDb3VudCBQYXJhbWV0ZXJzKi8KKwl1 aW50MzJfdCBmbWJtX3RjY247CQkvKiBUeCBDeWNsZSBDb3VudGVyKi8KKwl1aW50MzJfdCBmbWJt X3R0dWM7CQkvKiBUeCBUYXNrcyBVdGlsaXphdGlvbiBDb3VudGVyKi8KKwl1aW50MzJfdCBmbWJt X3R0Y3F1YzsJCS8qIFR4IFRyYW5zbWl0IGNvbmYgUSB1dGlsIENvdW50ZXIqLworCXVpbnQzMl90 IGZtYm1fdGR1YzsJCS8qIFR4IERNQSBVdGlsaXphdGlvbiBDb3VudGVyKi8KKwl1aW50MzJfdCBm bWJtX3RmdWM7CQkvKiBUeCBGSUZPIFV0aWxpemF0aW9uIENvdW50ZXIqLworfTsKKworLyogQk1J IE8vSCBwb3J0IHJlZ2lzdGVyIG1hcCAqLworc3RydWN0IGZtYW5fcG9ydF9vaF9ibWlfcmVncyB7 CisJdWludDMyX3QgZm1ibV9vY2ZnOwkJLyogTy9IIENvbmZpZ3VyYXRpb24gICovCisJdWludDMy X3QgZm1ibV9vc3Q7CQkvKiBPL0ggU3RhdHVzICovCisJdWludDMyX3QgZm1ibV9vZGE7CQkvKiBP L0ggRE1BIGF0dHJpYnV0ZXMgICovCisJdWludDMyX3QgZm1ibV9vaWNwOwkJLyogTy9IIEludGVy bmFsIENvbnRleHQgUGFyYW1ldGVycyAqLworCXVpbnQzMl90IGZtYm1fb2ZkbmU7CQkvKiBPL0gg RnJhbWUgRGVxdWV1ZSBOZXh0IEVuZ2luZSAgKi8KKwl1aW50MzJfdCBmbWJtX29mbmU7CQkvKiBP L0ggRnJhbWUgTmV4dCBFbmdpbmUgICovCisJdWludDMyX3QgZm1ibV9vZmNhOwkJLyogTy9IIEZy YW1lIENvbW1hbmQgQXR0cmlidXRlcy4gICovCisJdWludDMyX3QgZm1ibV9vZnBuZTsJCS8qIE8v SCBGcmFtZSBQYXJzZXIgTmV4dCBFbmdpbmUJICovCisJdWludDMyX3QgZm1ibV9vcHNvOwkJLyog Ty9IIFBhcnNlIFN0YXJ0IE9mZnNldCAgKi8KKwl1aW50MzJfdCBmbWJtX29wcDsJCS8qIE8vSCBQ b2xpY2VyIFByb2ZpbGUgKi8KKwl1aW50MzJfdCBmbWJtX29jY2I7CQkvKiBPL0ggQ29hcnNlIENs YXNzaWZpY2F0aW9uIGJhc2UgKi8KKwl1aW50MzJfdCBmbWJtX29pbTsJCS8qIE8vSCBJbnRlcm5h bCBtYXJnaW5zKi8KKwl1aW50MzJfdCBmbWJtX29mcDsJCS8qIE8vSCBGaWZvIFBhcmFtZXRlcnMq LworCXVpbnQzMl90IGZtYm1fb2ZlZDsJCS8qIE8vSCBGcmFtZSBFbmQgRGF0YSovCisJdWludDMy X3QgcmVzZXJ2ZWQwMDMwWzJdOwkvKiAoMHgwMzggLSAweDAzRikgKi8KKwl1aW50MzJfdCBmbWJt X29wcmFpW0ZNQU5fUE9SVF9QUlNfUkVTVUxUX1dPUkRTX05VTV07CisJCQkJLyogTy9IIFBhcnNl IFJlc3VsdHMgQXJyYXkgSW5pdGlhbGl6YXRpb24gICovCisJdWludDMyX3QgZm1ibV9vZnFpZDsJ CS8qIE8vSCBGcmFtZSBRdWV1ZSBJRCAgKi8KKwl1aW50MzJfdCBmbWJtX29lZnFpZDsJCS8qIE8v SCBFcnJvciBGcmFtZSBRdWV1ZSBJRCAgKi8KKwl1aW50MzJfdCBmbWJtX29mc2RtOwkJLyogTy9I IEZyYW1lIFN0YXR1cyBEaXNjYXJkIE1hc2sgICovCisJdWludDMyX3QgZm1ibV9vZnNlbTsJCS8q IE8vSCBGcmFtZSBTdGF0dXMgRXJyb3IgTWFzawkqLworCXVpbnQzMl90IGZtYm1fb2ZlbmU7CQkv KiBPL0ggRnJhbWUgRW5xdWV1ZSBOZXh0IEVuZ2luZSAgKi8KKwl1aW50MzJfdCBmbWJtX29ybG10 czsJCS8qIE8vSCBSYXRlIExpbWl0ZXIgU2NhbGUgICovCisJdWludDMyX3QgZm1ibV9vcmxtdDsJ CS8qIE8vSCBSYXRlIExpbWl0ZXIgICovCisJdWludDMyX3QgZm1ibV9vY21uZTsJCS8qIE8vSCBD b250aW51b3VzIE1vZGUgTmV4dCBFbmdpbmUgICovCisJdWludDMyX3QgcmVzZXJ2ZWQwMDgwWzB4 MjBdOwkvKiAweDA4MCAtIDB4MEZGIFJlc2VydmVkICovCisJdWludDMyX3QgZm1ibV9vZWJtcGlb Ml07CS8qIEJ1ZiBNbmdyIE9ic2VydmVkIFBvb2wgSW5mbyAqLworCXVpbnQzMl90IHJlc2VydmVk MDEwOFsweDE2XTsJLyogMHgxMDggLSAweDE1RiBSZXNlcnZlZCAqLworCXVpbnQzMl90IGZtYm1f b2NnbTsJCS8qIE9ic2VydmVkIENvbmdlc3Rpb24gR3JvdXAgTWFwICovCisJdWludDMyX3QgcmVz ZXJ2ZWQwMTY0WzB4N107CS8qIDB4MTY0IC0gMHgxN0YgUmVzZXJ2ZWQgKi8KKwl1aW50MzJfdCBm bWJtX29tcGQ7CQkvKiBPYnNlcnZlZCBCTWFuIFBvb2wgRGVwbGV0aW9uICovCisJdWludDMyX3Qg cmVzZXJ2ZWQwMTg0WzB4MUZdOwkvKiAweDE4NCAtIDB4MUZGIFJlc2VydmVkICovCisJdWludDMy X3QgZm1ibV9vc3RjOwkJLyogTy9IIFN0YXRpc3RpY3MgQ291bnRlcnMgICovCisJdWludDMyX3Qg Zm1ibV9vZnJjOwkJLyogTy9IIEZyYW1lIENvdW50ZXIgICovCisJdWludDMyX3QgZm1ibV9vZmRj OwkJLyogTy9IIEZyYW1lcyBEaXNjYXJkIENvdW50ZXIgICovCisJdWludDMyX3QgZm1ibV9vZmxl ZGM7CQkvKiBPL0ggRnJhbWVzIExlbiBFcnIgRGlzY2FyZCBDbnRyICovCisJdWludDMyX3QgZm1i bV9vZnVmZGM7CQkvKiBPL0ggRnJhbWVzIFVuc3BydGQgRGlzY2FyZCBDdXRyICAqLworCXVpbnQz Ml90IGZtYm1fb2ZmYzsJCS8qIE8vSCBGaWx0ZXIgRnJhbWVzIENvdW50ZXIgICovCisJdWludDMy X3QgZm1ibV9vZndkYzsJCS8qIFJ4IEZyYW1lcyBXUkVEIERpc2NhcmQgQ291bnRlciAgKi8KKwl1 aW50MzJfdCBmbWJtX29mbGRlYzsJCS8qIE8vSCBGcmFtZXMgTGlzdCBETUEgRXJyb3IgQ250ciAq LworCXVpbnQzMl90IGZtYm1fb2JkYzsJCS8qIE8vSCBCdWZmZXJzIERlYWxsb2NhdGUgQ291bnRl ciAqLworCXVpbnQzMl90IHJlc2VydmVkMDIxOFsweDE3XTsJLyogKDB4MjE4IC0gMHgyN0YpICov CisJdWludDMyX3QgZm1ibV9vcGM7CQkvKiBPL0ggUGVyZm9ybWFuY2UgQ291bnRlcnMgICovCisJ dWludDMyX3QgZm1ibV9vcGNwOwkJLyogTy9IIFBlcmZvcm1hbmNlIENvdW50IFBhcmFtZXRlcnMg Ki8KKwl1aW50MzJfdCBmbWJtX29jY247CQkvKiBPL0ggQ3ljbGUgQ291bnRlciAgKi8KKwl1aW50 MzJfdCBmbWJtX290dWM7CQkvKiBPL0ggVGFza3MgVXRpbGl6YXRpb24gQ291bnRlciAgKi8KKwl1 aW50MzJfdCBmbWJtX29kdWM7CQkvKiBPL0ggRE1BIFV0aWxpemF0aW9uIENvdW50ZXIgKi8KKwl1 aW50MzJfdCBmbWJtX29mdWM7CQkvKiBPL0ggRklGTyBVdGlsaXphdGlvbiBDb3VudGVyICovCit9 OworCisvKiBCTUkgcG9ydCByZWdpc3RlciBtYXAgKi8KK3VuaW9uIGZtYW5fcG9ydF9ibWlfcmVn cyB7CisJc3RydWN0IGZtYW5fcG9ydF9yeF9ibWlfcmVncyByeDsKKwlzdHJ1Y3QgZm1hbl9wb3J0 X3R4X2JtaV9yZWdzIHR4OworCXN0cnVjdCBmbWFuX3BvcnRfb2hfYm1pX3JlZ3Mgb2g7Cit9Owor CisvKiBRTUkgcG9ydCByZWdpc3RlciBtYXAgKi8KK3N0cnVjdCBmbWFuX3BvcnRfcW1pX3JlZ3Mg eworCXVpbnQzMl90IGZtcW1fcG5jOwkJLyogUG9ydElEIG4gQ29uZmlndXJhdGlvbiBSZWdpc3Rl ciAqLworCXVpbnQzMl90IGZtcW1fcG5zOwkJLyogUG9ydElEIG4gU3RhdHVzIFJlZ2lzdGVyICov CisJdWludDMyX3QgZm1xbV9wbnRzOwkJLyogUG9ydElEIG4gVGFzayBTdGF0dXMgUmVnaXN0ZXIg Ki8KKwl1aW50MzJfdCByZXNlcnZlZDAwY1s0XTsJLyogMHhuMDBDIC0gMHhuMDFCICovCisJdWlu dDMyX3QgZm1xbV9wbmVuOwkJLyogUG9ydElEIG4gRW5xdWV1ZSBOSUEgUmVnaXN0ZXIgKi8KKwl1 aW50MzJfdCBmbXFtX3BuZXRmYzsJCS8qIFBvcnRJRCBuIEVucSBUb3RhbCBGcmFtZSBDb3VudGVy ICovCisJdWludDMyX3QgcmVzZXJ2ZWQwMjRbMl07CS8qIDB4bjAyNCAtIDB4MDJCICovCisJdWlu dDMyX3QgZm1xbV9wbmRuOwkJLyogUG9ydElEIG4gRGVxdWV1ZSBOSUEgUmVnaXN0ZXIgKi8KKwl1 aW50MzJfdCBmbXFtX3BuZGM7CQkvKiBQb3J0SUQgbiBEZXF1ZXVlIENvbmZpZyBSZWdpc3RlciAq LworCXVpbnQzMl90IGZtcW1fcG5kdGZjOwkJLyogUG9ydElEIG4gRGVxdWV1ZSB0b3QgRnJhbWUg Y250ciAqLworCXVpbnQzMl90IGZtcW1fcG5kZmRjOwkJLyogUG9ydElEIG4gRGVxdWV1ZSBGUUlE IERmbHQgQ250ciAqLworCXVpbnQzMl90IGZtcW1fcG5kY2M7CQkvKiBQb3J0SUQgbiBEZXF1ZXVl IENvbmZpcm0gQ291bnRlciAqLworfTsKKworZW51bSBmbWFuX3BvcnRfZG1hX3N3YXAgeworCUVf Rk1BTl9QT1JUX0RNQV9OT19TV0FQLAkvKiBObyBzd2FwLCB0cmFuc2ZlciBkYXRhIGFzIGlzICov CisJRV9GTUFOX1BPUlRfRE1BX1NXQVBfTEUsCisJLyogVGhlIHRyYW5zZmVycmVkIGRhdGEgc2hv dWxkIGJlIHN3YXBwZWQgaW4gUFBDIExpdHRsZSBFbmRpYW4gbW9kZSAqLworCUVfRk1BTl9QT1JU X0RNQV9TV0FQX0JFCisJLyogVGhlIHRyYW5zZmVycmVkIGRhdGEgc2hvdWxkIGJlIHN3YXBwZWQg aW4gQmlnIEVuZGlhbiBtb2RlICovCit9OworCisvKiBEZWZhdWx0IHBvcnQgY29sb3IgKi8KK2Vu dW0gZm1hbl9wb3J0X2NvbG9yIHsKKwlFX0ZNQU5fUE9SVF9DT0xPUl9HUkVFTiwJLyogRGVmYXVs dCBwb3J0IGNvbG9yIGlzIGdyZWVuICovCisJRV9GTUFOX1BPUlRfQ09MT1JfWUVMTE9XLAkvKiBE ZWZhdWx0IHBvcnQgY29sb3IgaXMgeWVsbG93ICovCisJRV9GTUFOX1BPUlRfQ09MT1JfUkVELAkJ LyogRGVmYXVsdCBwb3J0IGNvbG9yIGlzIHJlZCAqLworCUVfRk1BTl9QT1JUX0NPTE9SX09WRVJS SURFCS8qIElnbm9yZSBjb2xvciAqLworfTsKKworLyogUU1JIGRlcXVldWUgZnJvbSB0aGUgU1Ag Y2hhbm5lbCAtIHR5cGVzICovCitlbnVtIGZtYW5fcG9ydF9kZXFfdHlwZSB7CisJRV9GTUFOX1BP UlRfREVRX0JZX1BSSSwKKwkvKiBQcmlvcml0eSBwcmVjZWRlbmNlIGFuZCBJbnRyYS1DbGFzcyBz Y2hlZHVsaW5nICovCisJRV9GTUFOX1BPUlRfREVRX0FDVElWRV9GUSwKKwkvKiBBY3RpdmUgRlEg cHJlY2VkZW5jZSBhbmQgSW50cmEtQ2xhc3Mgc2NoZWR1bGluZyAqLworCUVfRk1BTl9QT1JUX0RF UV9BQ1RJVkVfRlFfTk9fSUNTCisJLyogQWN0aXZlIEZRIHByZWNlZGVuY2UgYW5kIG92ZXJyaWRl IEludHJhLUNsYXNzIHNjaGVkdWxpbmcgKi8KK307CisKKy8qIFFNSSBkZXF1ZXVlIHByZWZldGNo IG1vZGVzICovCitlbnVtIGZtYW5fcG9ydF9kZXFfcHJlZmV0Y2ggeworCUVfRk1BTl9QT1JUX0RF UV9OT19QUkVGRVRDSCwgLyogTm8gcHJlZmV0Y2ggbW9kZSAqLworCUVfRk1BTl9QT1JUX0RFUV9Q QVJUX1BSRUZFVENILCAvKiBQYXJ0aWFsIHByZWZldGNoIG1vZGUgKi8KKwlFX0ZNQU5fUE9SVF9E RVFfRlVMTF9QUkVGRVRDSCAvKiBGdWxsIHByZWZldGNoIG1vZGUgKi8KK307CisKKy8qIFBhcmFt ZXRlcnMgZm9yIGRlZmluaW5nIHBlcmZvcm1hbmNlIGNvdW50ZXJzIGJlaGF2aW9yICovCitzdHJ1 Y3QgZm1hbl9wb3J0X3BlcmZfY250X3BhcmFtcyB7CisJdWludDhfdCB0YXNrX3ZhbDsJLyogVGFz ayBjb21wYXJlIHZhbHVlICovCisJdWludDhfdCBxdWV1ZV92YWw7CisJLyogUnggb3IgVHggY29u ZiBxdWV1ZSBjb21wYXJlIHZhbHVlICh1bnVzZWQgZm9yIE8vSCBwb3J0cykgKi8KKwl1aW50OF90 IGRtYV92YWw7CS8qIERtYSBjb21wYXJlIHZhbHVlICovCisJdWludDMyX3QgZmlmb192YWw7CS8q IEZpZm8gY29tcGFyZSB2YWx1ZSAoaW4gYnl0ZXMpICovCit9OworCisvKiBGTSBQb3J0IGNvbmZp Z3VyYXRpb24gc3RydWN0dXJlLCB1c2VkIGF0IGluaXQgKi8KK3N0cnVjdCBmbWFuX3BvcnRfY2Zn IHsKKwlzdHJ1Y3QgZm1hbl9wb3J0X3BlcmZfY250X3BhcmFtcyBwZXJmX2NudF9wYXJhbXM7CisJ LyogQk1JIHBhcmFtZXRlcnMgKi8KKwllbnVtIGZtYW5fcG9ydF9kbWFfc3dhcCBkbWFfc3dhcF9k YXRhOworCWJvb2wgZG1hX2ljX3N0YXNoX29uOworCWJvb2wgZG1hX2hlYWRlcl9zdGFzaF9vbjsK Kwlib29sIGRtYV9zZ19zdGFzaF9vbjsKKwlib29sIGRtYV93cml0ZV9vcHRpbWl6ZTsKKwl1aW50 MTZfdCBpY19leHRfb2Zmc2V0OworCXVpbnQ4X3QgaWNfaW50X29mZnNldDsKKwl1aW50MTZfdCBp Y19zaXplOworCWVudW0gZm1hbl9wb3J0X2NvbG9yIGNvbG9yOworCWJvb2wgc3luY19yZXE7CisJ Ym9vbCBkaXNjYXJkX292ZXJyaWRlOworCXVpbnQ4X3QgY2hlY2tzdW1fYnl0ZXNfaWdub3JlOwor CXVpbnQ4X3QgcnhfY3V0X2VuZF9ieXRlczsKKwl1aW50MzJfdCByeF9wcmlfZWxldmF0aW9uOwor CXVpbnQzMl90IHJ4X2ZpZm9fdGhyOworCXVpbnQ4X3QgcnhfZmRfYml0czsKKwl1aW50OF90IGlu dF9idWZfc3RhcnRfbWFyZ2luOworCXVpbnQxNl90IGV4dF9idWZfc3RhcnRfbWFyZ2luOworCXVp bnQxNl90IGV4dF9idWZfZW5kX21hcmdpbjsKKwl1aW50MzJfdCB0eF9maWZvX21pbl9sZXZlbDsK Kwl1aW50MzJfdCB0eF9maWZvX2xvd19jb21mX2xldmVsOworCXVpbnQ4X3QgdHhfZmlmb19kZXFf cGlwZWxpbmVfZGVwdGg7CisJYm9vbCBzdGF0c19jb3VudGVyc19lbmFibGU7CisJYm9vbCBwZXJm X2NvdW50ZXJzX2VuYWJsZTsKKwkvKiBRTUkgcGFyYW1ldGVycyAqLworCWJvb2wgZGVxX2hpZ2hf cHJpOworCWVudW0gZm1hbl9wb3J0X2RlcV90eXBlIGRlcV90eXBlOworCWVudW0gZm1hbl9wb3J0 X2RlcV9wcmVmZXRjaCBkZXFfcHJlZmV0Y2hfb3B0OworCXVpbnQxNl90IGRlcV9ieXRlX2NudDsK Kwlib29sIHF1ZXVlX2NvdW50ZXJzX2VuYWJsZTsKKwlib29sIG5vX3NjYXR0ZXJfZ2F0aGVyOwor CWludCBlcnJhdGFfQTAwNjY3NTsKKwlpbnQgZXJyYXRhX0EwMDYzMjA7CisJaW50IGV4Y2Vzc2l2 ZV90aHJlc2hvbGRfcmVnaXN0ZXI7CisJaW50IGZtYm1fcmVibV9oYXNfc2dkOworCWludCBmbWJt X3RmbmVfaGFzX2ZlYXR1cmVzOworCWludCBxbWlfZGVxX29wdGlvbnNfc3VwcG9ydDsKK307CisK K2VudW0gZm1hbl9wb3J0X3R5cGUgeworCUVfRk1BTl9QT1JUX1RZUEVfT1AgPSAwLAorCS8qIE9m ZmxpbmUgcGFyc2luZyBwb3J0LCBzaGFyZXMgaWQtcyB3aXRoCisJICogaG9zdCBjb21tYW5kLCBz byBtdXN0IGhhdmUgZXhjbHVzaXZlIGlkLXMKKwkgKi8KKwlFX0ZNQU5fUE9SVF9UWVBFX1JYLAkg ICAgLyogMUcgUnggcG9ydCAqLworCUVfRk1BTl9QT1JUX1RZUEVfUlhfMTBHLCAgICAvKiAxMEcg UnggcG9ydCAqLworCUVfRk1BTl9QT1JUX1RZUEVfVFgsCSAgICAvKiAxRyBUeCBwb3J0ICovCisJ RV9GTUFOX1BPUlRfVFlQRV9UWF8xMEcsICAgICAvKiAxMEcgVHggcG9ydCAqLworCUVfRk1BTl9Q T1JUX1RZUEVfRFVNTVkKK307CisKK3N0cnVjdCBmbWFuX3BvcnRfcGFyYW1zIHsKKwl1aW50MzJf dCBkaXNjYXJkX21hc2s7CisJdWludDMyX3QgZXJyX21hc2s7CisJdWludDMyX3QgZGZsdF9mcWlk OworCXVpbnQzMl90IGVycl9mcWlkOworCXVpbnQ4X3QgZGVxX3NwOworCWJvb2wgZG9udF9yZWxl YXNlX2J1ZjsKK307CisKKy8qIFBvcnQgY29udGV4dCAtIHVzZWQgYnkgbW9zdCBBUEkgZnVuY3Rp b25zICovCitzdHJ1Y3QgZm1hbl9wb3J0IHsKKwllbnVtIGZtYW5fcG9ydF90eXBlIHR5cGU7CisJ dWludDhfdCBmbV9yZXZfbWFqOworCXVpbnQ4X3QgZm1fcmV2X21pbjsKKwl1bmlvbiBmbWFuX3Bv cnRfYm1pX3JlZ3MgX19pb21lbSAqYm1pX3JlZ3M7CisJc3RydWN0IGZtYW5fcG9ydF9xbWlfcmVn cyBfX2lvbWVtICpxbWlfcmVnczsKKwl1aW50OF90IGV4dF9wb29sc19udW07Cit9OworCisvKiBF eHRlcm5hbCBidWZmZXIgcG9vbHMgY29uZmlndXJhdGlvbiAqLworc3RydWN0IGZtYW5fcG9ydF9i cG9vbHMgeworCXVpbnQ4X3QgY291bnQ7CQkJLyogTnVtIG9mIHBvb2xzIHRvIHNldCB1cCAqLwor CWJvb2wgY291bnRlcnNfZW5hYmxlOwkJLyogRW5hYmxlIGFsbG9jYXRlIGNvdW50ZXJzICovCisJ dWludDhfdCBncnBfYnBfZGVwbGV0ZWRfbnVtOworCS8qIE51bWJlciBvZiBkZXBsZXRlZCBwb29s cyAtIGlmIHJlYWNoZWQgdGhlIEJNSSBpbmRpY2F0ZXMKKwkgKiB0aGUgTUFDIHRvIHNlbmQgYSBw YXVzZSBmcmFtZQorCSAqLworCXN0cnVjdCB7CisJCXVpbnQ4X3QgYnBpZDsJCS8qIEJNIHBvb2wg SUQgKi8KKwkJdWludDE2X3Qgc2l6ZTsKKwkJLyogUG9vbCdzIHNpemUgLSBtdXN0IGJlIGluIGFz Y2VuZGluZyBvcmRlciAqLworCQlib29sIGlzX2JhY2t1cDsKKwkJLyogSWYgdGhpcyBpcyBhIGJh Y2t1cCBwb29sICovCisJCWJvb2wgZ3JwX2JwX2RlcGxldGVkOworCQkvKiBDb25zaWRlciB0aGlz IGJ1ZmZlciBpbiBtdWx0aXBsZSBwb29scyBkZXBsZXRpb24gY3JpdGVyaWEqLworCQlib29sIHNp bmdsZV9icF9kZXBsZXRlZDsKKwkJLyogQ29uc2lkZXIgdGhpcyBidWZmZXIgaW4gc2luZ2xlIHBv b2wgZGVwbGV0aW9uIGNyaXRlcmlhICovCisJfSBicG9vbFtGTUFOX1BPUlRfTUFYX0VYVF9QT09M U19OVU1dOworfTsKKworCisvKiAgIEZNIFBvcnQgQVBJICovCit2b2lkIGZtYW5fcG9ydF9kZWZj b25maWcoc3RydWN0IGZtYW5fcG9ydF9jZmcgKmNmZywgZW51bSBmbWFuX3BvcnRfdHlwZSB0eXBl KTsKK2ludCBmbWFuX3BvcnRfaW5pdChzdHJ1Y3QgZm1hbl9wb3J0ICpwb3J0LAorCQkgICBzdHJ1 Y3QgZm1hbl9wb3J0X2NmZyAqY2ZnLCBzdHJ1Y3QgZm1hbl9wb3J0X3BhcmFtcyAqcGFyYW1zKTsK K2ludCBmbWFuX3BvcnRfZW5hYmxlKHN0cnVjdCBmbWFuX3BvcnQgKnBvcnQpOworaW50IGZtYW5f cG9ydF9kaXNhYmxlKGNvbnN0IHN0cnVjdCBmbWFuX3BvcnQgKnBvcnQpOworaW50IGZtYW5fcG9y dF9zZXRfYnBvb2xzKGNvbnN0IHN0cnVjdCBmbWFuX3BvcnQgKnBvcnQsCisJCQkgY29uc3Qgc3Ry dWN0IGZtYW5fcG9ydF9icG9vbHMgKmJwKTsKK2ludCBmbWFuX3BvcnRfc2V0X3BlcmZfY250X3Bh cmFtcyhzdHJ1Y3QgZm1hbl9wb3J0ICpwb3J0LAorCQkJCSAgc3RydWN0IGZtYW5fcG9ydF9wZXJm X2NudF9wYXJhbXMgKnBhcmFtcyk7CisKKyNlbmRpZgkvKiBfX0ZTTF9GTUFOX1BPUlRfSCAqLwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvZnJlZXNjYWxlL2ZtYW4vZmxpYi9mc2xf Zm1hbl9zcC5oIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvZnJlZXNjYWxlL2ZtYW4vZmxpYi9mc2xf Zm1hbl9zcC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBmN2JjZTEKLS0t IC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZm1hbi9mbGli L2ZzbF9mbWFuX3NwLmgKQEAgLTAsMCArMSw2NiBAQAorLyoKKyAqIENvcHlyaWdodCAyMDA4IC0g MjAxNSBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciBJbmMuCisgKgorICogUmVkaXN0cmlidXRpb24g YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv bmRpdGlvbnMgYXJlIG1ldDoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKgkgbm90aWNlLCB0aGlzIGxpc3Qg b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVk aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5 cmlnaHQKKyAqCSBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93 aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKgkgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0 ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIg dGhlIG5hbWUgb2YgRnJlZXNjYWxlIFNlbWljb25kdWN0b3Igbm9yIHRoZQorICoJIG5hbWVzIG9m IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1 Y3RzCisgKgkgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv ciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogQUxURVJOQVRJVkVMWSwgdGhpcyBzb2Z0d2Fy ZSBtYXkgYmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgKCJHUEwiKSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdh cmUKKyAqIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhhdCBMaWNlbnNlIG9yIChh dCB5b3VyIG9wdGlvbikgYW55CisgKiBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRISVMgU09GVFdB UkUgSVMgUFJPVklERUQgQlkgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IgYGBBUyBJUycnIEFORCBB TlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg TElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQu IElOIE5PIEVWRU5UIFNIQUxMIEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yIEJFIExJQUJMRSBGT1Ig QU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9T UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X RVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G IFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G IFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgX19GU0xfRk1BTl9TUF9ICisjZGVmaW5lIF9f RlNMX0ZNQU5fU1BfSAorCisjaW5jbHVkZSAiY29tbW9uL2dlbmVyYWwuaCIKKyNpbmNsdWRlICJm c2xfZm1hbi5oIgorCisvKiBSZWdpc3RlcnMgYml0IGZpZWxkcyAqLworI2RlZmluZSBGTUFOX1NQ X0VYVF9CVUZfUE9PTF9FTl9DT1VOVEVSCSAgICAweDQwMDAwMDAwCisjZGVmaW5lIEZNQU5fU1Bf RVhUX0JVRl9QT09MX1ZBTElECQkgICAgMHg4MDAwMDAwMAorI2RlZmluZSBGTUFOX1NQX0VYVF9C VUZfUE9PTF9CQUNLVVAJCSAgICAweDIwMDAwMDAwCisjZGVmaW5lIEZNQU5fU1BfRE1BX0FUVFJf V1JJVEVfT1BUSU1JWkUJICAgIDB4MDAxMDAwMDAKKyNkZWZpbmUgRk1BTl9TUF9TR19ESVNBQkxF CQkJICAgIDB4ODAwMDAwMDAKKworLyogc2hpZnRzICovCisjZGVmaW5lIEZNQU5fU1BfRVhUX0JV Rl9QT09MX0lEX1NISUZUCQkgICAgMTYKKyNkZWZpbmUgRk1BTl9TUF9QT09MX0RFUF9OVU1fT0Zf UE9PTFNfU0hJRlQJICAgIDE2CisjZGVmaW5lIEZNQU5fU1BfRVhUX0JVRl9NQVJHX1NUQVJUX1NI SUZUCSAgICAxNgorI2RlZmluZSBGTUFOX1NQX0VYVF9CVUZfTUFSR19FTkRfU0hJRlQJCSAgICAw CisjZGVmaW5lIEZNQU5fU1BfRE1BX0FUVFJfU1dQX1NISUZUCQkgICAgMzAKKyNkZWZpbmUgRk1B Tl9TUF9ETUFfQVRUUl9JQ19DQUNIRV9TSElGVAkgICAgMjgKKyNkZWZpbmUgRk1BTl9TUF9ETUFf QVRUUl9IRFJfQ0FDSEVfU0hJRlQJICAgIDI2CisjZGVmaW5lIEZNQU5fU1BfRE1BX0FUVFJfU0df Q0FDSEVfU0hJRlQJICAgIDI0CisjZGVmaW5lIEZNQU5fU1BfSUNfVE9fRVhUX1NISUZUCQkgICAg MTYKKyNkZWZpbmUgRk1BTl9TUF9JQ19GUk9NX0lOVF9TSElGVAkJICAgIDgKKyNkZWZpbmUgRk1B Tl9TUF9JQ19TSVpFX1NISUZUCQkJICAgIDAKKworLyogZGVmYXVsdHMgKi8KKyNkZWZpbmUgREVG QVVMVF9GTUFOX1NQX0RNQV9TV0FQX0RBVEEJCQkgICAgICBGTUFOX0RNQV9OT19TV1AKKyNkZWZp bmUgREVGQVVMVF9GTUFOX1NQX0RNQV9JTlRfQ09OVEVYVF9DQUNIRV9BVFRSCSAgICAgIEZNQU5f RE1BX05PX1NUQVNICisjZGVmaW5lIERFRkFVTFRfRk1BTl9TUF9ETUFfSEVBREVSX0NBQ0hFX0FU VFIJCSAgICAgIEZNQU5fRE1BX05PX1NUQVNICisjZGVmaW5lIERFRkFVTFRfRk1BTl9TUF9ETUFf U0NBVFRFUl9HQVRIRVJfQ0FDSEVfQVRUUgkgICAgICBGTUFOX0RNQV9OT19TVEFTSAorI2RlZmlu ZSBERUZBVUxUX0ZNQU5fU1BfRE1BX1dSSVRFX09QVElNSVpFCQkgICAgICB0cnVlCisjZGVmaW5l IERFRkFVTFRfRk1BTl9TUF9OT19TQ0FUVEVSX0dBVEhFUgkJICAgICAgZmFsc2UKKworI2VuZGlm CS8qIF9fRlNMX0ZNQU5fU1BfSCAqLwotLSAKMS43LjkuNQoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KTGludXhwcGMtZGV2IG1haWxpbmcgbGlzdApMaW51 eHBwYy1kZXZAbGlzdHMub3psYWJzLm9yZwpodHRwczovL2xpc3RzLm96bGFicy5vcmcvbGlzdGlu Zm8vbGludXhwcGMtZGV2