From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: From: Claudio Takahasi To: bluez-devel@lists.sourceforge.net Subject: Re: [Bluez-devel] DBUS service support - Initial library In-Reply-To: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_8913_5829507.1116623081525" References: <1115901694.18499.32.camel@pegasus> Sender: bluez-devel-admin@lists.sourceforge.net Errors-To: bluez-devel-admin@lists.sourceforge.net Reply-To: bluez-devel@lists.sourceforge.net List-Unsubscribe: , List-Id: BlueZ development List-Post: List-Help: List-Subscribe: , List-Archive: Date: Fri, 20 May 2005 18:04:41 -0300 ------=_Part_8913_5829507.1116623081525 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Hi Marcel, I am sending a initial skeleton of pand DBUS support. I was not able to access BlueZ CVS due firewall permissions. The path is based on bluez-utils-2.17. The Makefile.am file was changed. Run aclocal, automake and autoconf tools. The BLUEZ DBUS PAN service uses the system bus. Check the following items before run the sample client: 1. checking dbus-daemon type: $ps -ef | grep dbus "dbus-daemon --system" should be displayed If not, install dbus-1 package 2. check dbus service configuration file The file bluez.conf must be located at: /etc/dbus-1/system.d/ See Appendix 1 of DBUS.TXT file located in pand directory After copy bluez.conf file I suggest restart dbus-daemon 3. running the bluez pan daemon (requires root permission) type $pand --dbus or pand -b --nodetach check if the pand process is running: $ps -ef | grep pand if not, read the system log: $tail /var/log/syslog 4. extract the client (doesn't require root permission) The client calls basic functions. This is a usage sample for gamming, UPnP, ... A library can be developed to hide D-Bus functions. Suggestions and comments are welcome! Regarding dbus-0.33 support, I decided implement using a compatible version(0.23). When a stable version become available we can think on move to the new version. Claudio. On 5/12/05, Peter Wippich wrote: >=20 > Thank you Marcel ! >=20 > Ciao, >=20 > Peter >=20 > On Thu, 12 May 2005, Marcel Holtmann wrote: >=20 > > Hi Peter, > > > > > sorry for asking a possible dump question, but: > > > can anybody point me to a source what this D-BUS stuff is ??? > > > > look at http://www.freedesktop.org/Software/dbus > > > > Regards > > > > Marcel > > > > > > > > > > ------------------------------------------------------- > > This SF.Net email is sponsored by Oracle Space Sweepstakes > > Want to be the first software developer in space? > > Enter now for the Oracle Space Sweepstakes! > > http://ads.osdn.com/?ad_id=3D7393&alloc_id=3D16281&op=3Dclick > > _______________________________________________ > > Bluez-devel mailing list > > Bluez-devel@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/bluez-devel > > >=20 > | Peter Wippich Voice: +49 30 46776411 | > | G&W Instruments GmbH fax: +49 30 46776419 | > | Gustav-Meyer-Allee 25, Geb. 12 Email: pewi@gw-instruments.de | > | D-13355 Berlin / Germany | >=20 >=20 >=20 >=20 > ------------------------------------------------------- > This SF.Net email is sponsored by Oracle Space Sweepstakes > Want to be the first software developer in space? > Enter now for the Oracle Space Sweepstakes! > http://ads.osdn.com/?ad_id=3D7393&alloc_id=3D16281&op=3Dclick > _______________________________________________ > Bluez-devel mailing list > Bluez-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/bluez-devel > ------=_Part_8913_5829507.1116623081525 Content-Type: application/x-gzip; name="pand_dbus_client.tar.gz" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="pand_dbus_client.tar.gz" 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 ChQoUKBAgQIFCmYK/wBJ05uRAJgDAA== ------=_Part_8913_5829507.1116623081525 Content-Type: text/x-patch; name="bluez-2.17-dbus.diff" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="bluez-2.17-dbus.diff" ZGlmZiAtdXJOYXcgYmx1ZXotdXRpbHMtMi4xNy5vcmlnL3BhbmQvZGJ1c19zZXJ2aWNlcy5oIGJs dWV6LXV0aWxzLTIuMTctZGJ1cy9wYW5kL2RidXNfc2VydmljZXMuaAotLS0gYmx1ZXotdXRpbHMt Mi4xNy5vcmlnL3BhbmQvZGJ1c19zZXJ2aWNlcy5oCTE5NjktMTItMzEgMjE6MDA6MDAuMDAwMDAw MDAwIC0wMzAwCisrKyBibHVlei11dGlscy0yLjE3LWRidXMvcGFuZC9kYnVzX3NlcnZpY2VzLmgJ MjAwNS0wNS0yMCAxNjozOTowNi40MDc3OTY4NjQgLTAzMDAKQEAgLTAsMCArMSwyMDYgQEAKKy8q CisgKgorICogIEJsdWVaIC0gQmx1ZXRvb3RoIHByb3RvY29sIHN0YWNrIGZvciBMaW51eAorICoK KyAqICBDb3B5cmlnaHQgKEMpIDIwMDUgICAgICAgQ2xhdWRpbyBUYWthaGFzaSA8Y2xhdWRpby50 YWthaGFzaUBpbmR0Lm9yZz4KKyAqICBDb3B5cmlnaHQgKEMpIDIwMDItMjAwNCAgTWFyY2VsIEhv bHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgorICoKKyAqCisgKiAgVGhpcyBwcm9ncmFtIGlz IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAq ICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZl cnNpb24gMiBhcworICogIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u OworICoKKyAqICBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJS QU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUworICogIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQg Tk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAorICogIEZJ VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQgT0YgVEhJ UkQgUEFSVFkgUklHSFRTLgorICogIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9M REVSKFMpIEFORCBBVVRIT1IoUykgQkUgTElBQkxFIEZPUiBBTlkKKyAqICBDTEFJTSwgT1IgQU5Z IFNQRUNJQUwgSU5ESVJFQ1QgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTLCBPUiBBTlkgREFNQUdF UworICogIFdIQVRTT0VWRVIgUkVTVUxUSU5HIEZST00gTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJP RklUUywgV0hFVEhFUiBJTiBBTgorICogIEFDVElPTiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBP UiBPVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GCisgKiAgT1IgSU4gQ09OTkVD VElPTiBXSVRIIFRIRSBVU0UgT1IgUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS4KKyAqCisg KiAgQUxMIExJQUJJTElUWSwgSU5DTFVESU5HIExJQUJJTElUWSBGT1IgSU5GUklOR0VNRU5UIE9G IEFOWSBQQVRFTlRTLAorICogIENPUFlSSUdIVFMsIFRSQURFTUFSS1MgT1IgT1RIRVIgUklHSFRT LCBSRUxBVElORyBUTyBVU0UgT0YgVEhJUworICogIFNPRlRXQVJFIElTIERJU0NMQUlNRUQuCisg KgorICoKKyAqICAkSWQ6IHBhbmRfZGJ1c19zZXJ2aWNlcy5oLHYgMS4xMiAyMDA1LzA1LzIyIDEz OjAwOjAwIGhvbHRtYW5uIEV4cCAkCisgKi8KKyNpZm5kZWYgX19IX1BBTkRfREJVU19TRVJWSUNF U19IX18gCisjZGVmaW5lIF9fSF9QQU5EX0RCVVNfU0VSVklDRVNfSF9fCisKKyNpbmNsdWRlIDxz dGRsaWIuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworI2RlZmluZSBPUkdfQkxVRVpfREJVU19O QU1FICJvcmcuYmx1ZXoiCisKKyNkZWZpbmUgT1JHX0JMVUVaX1BBTkRfREJVU19JRkFDRSAib3Jn LmJsdWV6LnBhbmRJZmFjZSIKKyNkZWZpbmUgT1JHX0JMVUVaX0hDSV9EQlVTX0lGQUNFICAib3Jn LmJsdWV6LmhjaUlmYWNlIgorCisjZGVmaW5lIE9SR19CTFVFWl9QQU5EX09CSiAiL29yZy9ibHVl ei9wYW5kIgorI2RlZmluZSBPUkdfQkxVRVpfSENJX09CSiAgIi9vcmcvYmx1ZXovaGNpIgorCisK Ky8vIFNlZSBwYW5kX2RidXNfY29ubl9yZXFfdCwgdXNlZCBieSBhY3Rpb25zIGF0dHJpYnV0ZQor I2RlZmluZSBQQU5EX0NSRUFURV9CUklER0VfTUFTSyAgIDB4MDEKKyNkZWZpbmUgUEFORF9MTEFf TUFTSyAgICAgICAgICAgICAweDAyCisKKworLy8gc3RhdHVzIG9mIHJlcXVlc3Qgb3BlcmF0aW9u cworI2RlZmluZSBQQU5EX1JFU1VMVF9TVUNDRVNTICAgICAgMHgwMAorI2RlZmluZSBQQU5EX1JF U1VMVF9GQUlMRUQgICAgICAgMHgwMQorCisvLyBzZWUgcGFuZF9kZXZfaW5mb190CisjZGVmaW5l IFBBTkRfREVWX1NUQVRFX1JFQURZICAgICAgICAgICAweDAxCisjZGVmaW5lIFBBTkRfREVWX1NU QVRFX0NPTk5FQ1RFRCAgICAgICAweDAyCisKKwordHlwZWRlZiBlbnVtIF9fYXR0cmlidXRlX18o KHBhY2tlZCkpCit7CisJUEFORF9EQlVTX0lOVkFMSURfVFlQRSwKKwlQQU5EX0RCVVNfQ0hBTkdF X1JPTEVfUkVRX1RZUEUsCisJUEFORF9EQlVTX0NIQU5HRV9ST0xFX1JFUV9DTkZfVFlQRSwKKwlQ QU5EX0RCVVNfQ09OTl9SRVFfVFlQRSwKKwlQQU5EX0RCVVNfQ09OTl9SRVFfQ05GX1RZUEUsCisJ UEFORF9EQlVTX0RJU0NPTk5fUkVRX1RZUEUsCisJUEFORF9EQlVTX0RJU0NPTk5fUkVRX0NORl9U WVBFLAorCVBBTkRfREJVU19ESVNDT05OX0FMTF9SRVFfVFlQRSwKKwlQQU5EX0RCVVNfRElTQ09O Tl9BTExfUkVRX0NORl9UWVBFLAorCVBBTkRfREJVU19HRVRfQUNUSVZFX0NPTk5fUkVRX1RZUEUs CisJUEFORF9EQlVTX0dFVF9BQ1RJVkVfQ09OTl9SRVFfQ05GX1RZUEUsCisJUEFORF9EQlVTX1NF QVJDSF9SRVFfVFlQRSwgICAvKiByZXF1ZXN0IHNlYXJjaCBmb3IgYSBQQU4gc2VydmljZSAqLwor CVBBTkRfREJVU19TRUFSQ0hfUkVRX0NORl9UWVBFLAorCVBBTkRfREJVU19HRVRfREVWX0lORk9f UkVRX1RZUEUsICAvKiByZXF1ZXN0IGxvY2FsIGJsdWV0b290aCBkZXZpY2VzICovCisJUEFORF9E QlVTX0dFVF9ERVZfSU5GT19DTkZfVFlQRSwKKwlQQU5EX0RCVVNfTElTVEVOX1JFUV9UWVBFLAor CVBBTkRfREJVU19MSVNURU5fUkVRX0NORl9UWVBFLAorCVBBTkRfREJVU19MSVNURU5fU1RPUF9S RVFfVFlQRSwKKwlQQU5EX0RCVVNfTElTVEVOX1NUT1BfUkVRX0NORl9UWVBFCit9UEFORF9NRVNT QUdFX1RZUEU7CisKKwordHlwZWRlZiBlbnVtIF9fYXR0cmlidXRlX18oKHBhY2tlZCkpCit7CisJ RElTQUJMRV9CUklER0UsCisJRU5BQkxFX0JSSURHRQorfUJSSURHRV9NT0RFOworCit0eXBlZGVm IGVudW0gX19hdHRyaWJ1dGVfXygocGFja2VkKSkKK3sKKwlQQU5EX1NUQVRVU19CVVNZLAorCVBB TkRfU1RBVFVTX0NPTk5FQ1RFRCwKKwlQQU5EX1NUQVRVU19MSVNURU5OSU5HLAorCVBBTkRfU1RB VFVTX0lETEUKK31QQU5EX0RCVVNfU1RBVFVTOworCisKK3R5cGVkZWYgc3RydWN0IF9fYXR0cmli dXRlX18oKHBhY2tlZCkpCit7CisJUEFORF9NRVNTQUdFX1RZUEUgICB0eXBlOworCXZvaWQgICAg ICpkYXRhOworfXBhbmRfZGJ1c19tZXNzYWdlX2Zvcm1hdF90OworCit0eXBlZGVmIHN0cnVjdCBf X2F0dHJpYnV0ZV9fKChwYWNrZWQpKQoreworCXVpbnQxNl90IGRldl9pZDsgLyogZm9yIGFkZHJl c3MgbW9yZSB0aGFuIG9uZSBkZXZpY2UgKi8KKwl1aW50MTZfdCByb2xlOworCXVpbnQxNl90IHNl cnZpY2U7CisJY2hhciAgICAgYWN0aW9uczsKKwljaGFyICAgICBiZGFkZHJbMThdOworfXBhbmRf ZGJ1c19jb25uX3JlcV90OworCit0eXBlZGVmIHN0cnVjdCBfX2F0dHJpYnV0ZV9fKChwYWNrZWQp KQoreworCXVpbnQxNl90IGRldl9pZDsgLyogZm9yIGFkZHJlc3MgbW9yZSB0aGFuIG9uZSBkZXZp Y2UgKi8KKwljaGFyICAgICBiZGFkZHJbMThdOworfXBhbmRfZGJ1c19kaXNjb25uX3JlcV90Owor Cit0eXBlZGVmIHN0cnVjdCBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKQoreworCXVpbnQxNl90IGRl dl9pZDsgLyogZm9yIGFkZHJlc3MgbW9yZSB0aGFuIG9uZSBkZXZpY2UgKi8KK31wYW5kX2RidXNf ZGlzY29ubl9hbGxfcmVxX3QscGFuZF9kYnVzX2dldF9hY3RpdmVfY29ubl9yZXFfdDsKKworLyog R2VuZXJpYyBjb25maXJtYXRpb24gcmVzdWx0ICovCit0eXBlZGVmIHN0cnVjdCBfX2F0dHJpYnV0 ZV9fKChwYWNrZWQpKQoreworCVBBTkRfTUVTU0FHRV9UWVBFICAgICB0eXBlOworCWNoYXIgICAg IAkgICAgICByZXN1bHQ7CisJY2hhciAgICAgICAgICAgICAgICAgIGRhdGFbMF07Cit9cGFuZF9k YnVzX3JlcV9jbmZfdDsKKworCit0eXBlZGVmIHN0cnVjdCBfX2F0dHJpYnV0ZV9fKChwYWNrZWQp KQoreworCXVpbnQxNl90CWRldl9pZDsgLyogZm9yIGFkZHJlc3MgbW9yZSB0aGFuIG9uZSBkZXZp Y2UgKi8KKwl1aW50MTZfdAlyb2xlOworCUJSSURHRV9NT0RFICAgICBicmlkZ2VfbW9kZTsKKwlj aGFyCQltYXN0ZXI7CisJY2hhcgkJc2VjdXJlOworCWNoYXIJCWVuY3J5cHQ7CisJY2hhcgkJaXB2 NFsxNl07CisJY2hhcgkJaXB2NHN1Ym5ldFsxNl07IAorfXBhbmRfZGJ1c19saXN0ZW5fcmVxX3Q7 CisKK3R5cGVkZWYgc3RydWN0IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpCit7CisJdWludDE2X3QJ ZGV2X2lkOyAvKiBmb3IgYWRkcmVzcyBtb3JlIHRoYW4gb25lIGRldmljZSAqLworfXBhbmRfZGJ1 c19saXN0ZW5fc3RvcF9yZXFfdDsKKwordHlwZWRlZiBzdHJ1Y3QgX19hdHRyaWJ1dGVfXygocGFj a2VkKSkKK3sKKwl1aW50MTZfdAlkZXZfaWQ7IC8qIGZvciBhZGRyZXNzIG1vcmUgdGhhbiBvbmUg ZGV2aWNlICovCisJdWludDE2X3QJcm9sZTsgICAvKiBuZXcgcm9sZSovCisJY2hhciAgICAgCWJk YWRkclsxOF07Cit9cGFuZF9kYnVzX2NoYW5nZV9yb2xlX3JlcV90OworCit0eXBlZGVmIHN0cnVj dCBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKQoreworCXVpbnQxNl90IGRldl9pZDsgLyogZm9yIGFk ZHJlc3MgbW9yZSB0aGFuIG9uZSBkZXZpY2UgKi8KKwl1aW50MTZfdCBzZXJ2aWNlOworfXBhbmRf ZGJ1c19zZWFyY2hfcmVxX3Q7CisKK3R5cGVkZWYgc3RydWN0IF9fYXR0cmlidXRlX18oKHBhY2tl ZCkpCit7CisJY2hhciBzdGF0dXM7IC8qIDAtc3VjY2VzcyAxLWZhaWxlZCAqLworCWNoYXIgKmlw OyAvKiBpcCBhZGRyZXNzIGlmIGxsYSB3YXMgcmVxdWVzdGVkICovCit9cGFuZF9kYnVzX2Nvbm5f cmVxX2NuZl90OworCit0eXBlZGVmIHN0cnVjdCBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKQorewor CWNoYXIgc3RhdHVzOworCS8qIGRldmljZSBsaXN0ID8/PyovCQorfXBhbmRfZGJ1c19zZWFyY2hf Y25mX3Q7CisKK3R5cGVkZWYgc3RydWN0IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpCit7CisJdWlu dDE2X3QgZGV2X2lkOworCWNoYXIgICAgIG5hbWVbOF07CisJY2hhciAgICAgYmRhZGRyWzE4XTsK Kwl1aW50MTZfdCBzdGF0ZTsgLyogc2VlIFBBTkRfREVWX1NUQVRFX1hYWFggICAgVE9ETyAgKi8K K31wYW5kX2Rldl9pbmZvX3Q7CisKKy8qIEFkZHJlc3NpbmcgbW9yZSB0aGFuIG9uZSBibHVldG9v dGggZGV2aWNlICovCit0eXBlZGVmIHN0cnVjdCBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKQorewor CS8vVE9ETyBhZGQgc3VwcG9ydCBmb3IgbW9yZSB0aGFuIG9uZSBkZXZpY2UKKwljaGFyIG51bV9k ZXY7CisJcGFuZF9kZXZfaW5mb190IGRldmljZXNbMF07Cit9cGFuZF9kYnVzX2dldF9kZXZfY25m X3Q7CisKK3R5cGVkZWYgc3RydWN0IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpCit7CisJY2hhciBi ZGFkZHJbMThdOworCWNoYXIgbGlua190eXBlOworCWNoYXIgaGFuZGxlOworCWNoYXIgc3RhdGU7 CisJY2hhciBtYXN0ZXI7Cit9cGFuZF9hY3RpdmVfY29ubl90OwordHlwZWRlZiBzdHJ1Y3QgX19h dHRyaWJ1dGVfXygocGFja2VkKSkKK3sKKwkvL1RPRE8gYWRkIHN1cHBvcnQgZm9yIG1vcmUgdGhh biBvbmUgZGV2aWNlCisJY2hhciBudW1fY29ubjsKKwlwYW5kX2FjdGl2ZV9jb25uX3QgY29ublsw XTsKK31wYW5kX2RidXNfZ2V0X2FjdGl2ZV9jb25uX2NuZl90OworCisKKyNlbmRpZiAvKiBfX0hf UEFORF9EQlVTX1NFUlZJQ0VTX0hfXyovCmRpZmYgLXVyTmF3IGJsdWV6LXV0aWxzLTIuMTcub3Jp Zy9wYW5kL0RCVVMuVFhUIGJsdWV6LXV0aWxzLTIuMTctZGJ1cy9wYW5kL0RCVVMuVFhUCi0tLSBi bHVlei11dGlscy0yLjE3Lm9yaWcvcGFuZC9EQlVTLlRYVAkxOTY5LTEyLTMxIDIxOjAwOjAwLjAw MDAwMDAwMCAtMDMwMAorKysgYmx1ZXotdXRpbHMtMi4xNy1kYnVzL3BhbmQvREJVUy5UWFQJMjAw NS0wNS0yMCAxMTo0ODo1OS4wMDAwMDAwMDAgLTAzMDAKQEAgLTAsMCArMSw2NSBAQAorCitIT1dU TyBzZXR1cCBEQlVTIGVudmlyb25tZW50CisKK1RoZSBCTFVFWiBEQlVTIFBBTiBzZXJ2aWNlIHVz ZXMgdGhlIHN5c3RlbSBidXMuIEluIG9yZGVyCit0byBydW4gdGhlIAorCisxLiBjaGVja2luZyBk YnVzLWRhZW1vbgorICAgdHlwZTogJHBzIC1lZiB8IGdyZXAgZGJ1cworICAgImRidXMtZGFlbW9u IC0tc3lzdGVtIiAgc2hvdWxkIGJlIGRpc3BsYXllZAorICAgCisyLiBjaGVjayBkYnVzIHNlcnZp Y2UgY29uZmlndXJhdGlvbiBmaWxlCisgICBUaGUgZmlsZSBibHVlei5jb25mIG11c3QgYmUgbG9j YXRlZCBhdDogL2V0Yy9kYnVzLTEvc3lzdGVtLmQvCisgICBTZWUgQXBwZW5kaXggMS4KKyAgIAor CiszLiBydW5uaW5nIHRoZSBibHVleiBwYW4gZGFlbW9uIChyZXF1aXJlcyByb290IHBlcm1pc3Np b24pCisgICB0eXBlICRwYW5kIC0tZGJ1cyBvciBwYW5kIC1iCisgICBjaGVjayBpZiB0aGUgcGFu ZCBwcm9jZXNzIGlzIHJ1bm5pbmc6ICRwcyAtZWYgfCBncmVwIHBhbmQKKyAgIGlmIG5vdCwgcmVh ZCB0aGUgc3lzdGVtIGxvZzogJHRhaWwgL3Zhci9sb2cvc3lzbG9nCisgICAKKzQuIGNhbGxpbmcg Ymx1ZXogZGJ1cyBzZXJ2aWNlKHVzZXIgbW9kZSBhcHApCisgICBTZWUgY2FsbCBleGFtcGxlcyBp biB0aGUgZmlsZTp4eHh4ICAgCisgICBOb3csIGFueSB1c2VyIG1vZGUgYXBwKGdhbWVzLCBVUG5Q LCAuLi4pIGlzIGFibGUgdG8gY29udHJvbAorICAgQmx1ZXRvb3RoIGNvbm5lY3Rpb25zLgorCisq KioqKiogQXBwZW5kaXggMTogICAKKyAgIAorICAgCis8IS0tIFRoaXMgY29uZmlndXJhdGlvbiBm aWxlIHNwZWNpZmllcyB0aGUgcmVxdWlyZWQgc2VjdXJpdHkgcG9saWNpZXMKKyAgICAgZm9yIGJs dWV6LXBhbmQgdG8gd29yay4gLS0+CisKKzwhRE9DVFlQRSBidXNjb25maWcgUFVCTElDICItLy9m cmVlZGVza3RvcC8vRFREIEQtQlVTIEJ1cyBDb25maWd1cmF0aW9uIDEuMC8vRU4iCisgImh0dHA6 Ly93d3cuZnJlZWRlc2t0b3Aub3JnL3N0YW5kYXJkcy9kYnVzLzEuMC9idXNjb25maWcuZHRkIj4K KzxidXNjb25maWc+CisKKyAgPCEtLSAuLi9zeXN0ZW0uY29uZiBoYXZlIGRlbmllZCBldmVyeXRo aW5nLCBzbyB3ZSBqdXN0IHB1bmNoIHNvbWUgaG9sZXMgLS0+CisKKyAgPHBvbGljeSBjb250ZXh0 PSJkZWZhdWx0Ij4KKyAgICA8YWxsb3cgb3duPSJvcmcuYmx1ZXoiLz4KKworICAgIDxhbGxvdyBz ZW5kX2Rlc3RpbmF0aW9uPSJvcmcuYmx1ZXoucGFuZCIvPgorICAgIDxhbGxvdyByZWNlaXZlX3Nl bmRlcj0ib3JnLmJsdWV6LnBhbmQiLz4KKworICAgIDxhbGxvdyBzZW5kX3BhdGg9Ii9vcmcvYmx1 ZXovcGFuZCIvPgorICA8L3BvbGljeT4KKworPC9idXNjb25maWc+CisKKyoqKioqKiBBcHBlbmRp eCAyOgorCitBZHZhbnRhZ2VzOgorCisgKiB1c2VyIG1vZGUgYXBwIGFyZSBhYmxlIHRvIGNvbnRy b2wgQlQgY29ubmVjdGlvbnMKKyAqIHNlY3VyaXR5OiB0aGUgY29uZmlndXJhdGlvbiBmaWxlIGNh biBiZSB1c2VkIHRvIHNwZWNpZnkgcGVybWlzc2lvbnMKKyAKK0Rpc2FkdmFudGFnZXM6CisgKiBE LUJVUyBpcyBub3Qgc3RhYmxlCisgKiBwcm9ncmFtbWluZyB1c2luZyBELUJVUyBpcyBub3QgdHJp dmlhbCAKKyAgIAorKioqKioqIFRPRE8KKyAtYWRkIHNlYXJjaCBzZXJ2aWNlCisgLWFkZCBicmlk Z2UgY29udHJvbAorIC0gTm90aWZ5IEQtQlVTIGNvbm5lY3RlZCBjbGllbnQgcmVnYXJkaW5nIGlu Y29tbWluZyBjb25uCisgLWFkZCBidCBkZXZpY2UgZnVuY3Rpb25zOiBzZWUgaGNpdG9vb2wKKyAt YWRkIGxvY2FsIGxpbmsgYWRkcmVzcyBzdXBwb3J0OiB6ZXJvY29uZgpkaWZmIC11ck5hdyBibHVl ei11dGlscy0yLjE3Lm9yaWcvcGFuZC9tYWluLmMgYmx1ZXotdXRpbHMtMi4xNy1kYnVzL3BhbmQv bWFpbi5jCi0tLSBibHVlei11dGlscy0yLjE3Lm9yaWcvcGFuZC9tYWluLmMJMjAwNS0wNS0wOSAx NTozMzoyNC4wMDAwMDAwMDAgLTAzMDAKKysrIGJsdWV6LXV0aWxzLTIuMTctZGJ1cy9wYW5kL21h aW4uYwkyMDA1LTA1LTE4IDE5OjA4OjMzLjAwMDAwMDAwMCAtMDMwMApAQCAtNTQsNiArNTQsMTAg QEAKIAogI2luY2x1ZGUgInBhbmQuaCIKIAorI2lmZGVmIEVOQUJMRV9EQlVTCisjaW5jbHVkZSAi cGFuZF9kYnVzLmgiCisjZW5kaWYKKwogc3RhdGljIHVpbnQxNl90IHJvbGUgPSBCTkVQX1NWQ19Q QU5VOwkvKiBMb2NhbCByb2xlIChpZSBzZXJ2aWNlKSAqLwogc3RhdGljIHVpbnQxNl90IHNlcnZp Y2UgPSBCTkVQX1NWQ19OQVA7CS8qIFJlbW90ZSBzZXJ2aWNlICovCiAKQEAgLTg4LDcgKzkyLDEw IEBACiAJU0hPVywKIAlMSVNURU4sCiAJQ09OTkVDVCwKLQlLSUxMCisJS0lMTCwKKyNpZmRlZiBF TkFCTEVfREJVUworCURCVVMsCisjZW5kaWYKIH0gbW9kZXM7CiAKIHN0YXRpYyB2b2lkIHJ1bl9k ZXZ1cChjaGFyICpkZXYsIGNoYXIgKmRzdCwgaW50IHNrLCBpbnQgbnNrKQpAQCAtNDE3LDYgKzQy NCw5IEBACiB2b2lkIHNpZ190ZXJtKGludCBzaWcpCiB7CiAJdGVybWluYXRlID0gMTsKKyNpZmRl ZiBFTkFCTEVfREJVUworCXBhbmRfZGJ1c19zdG9wKCk7CisjZW5kaWYKIH0KIAogaW50IHdyaXRl X3BpZGZpbGUodm9pZCkKQEAgLTQ4OCw2ICs0OTgsOSBAQAogCXsgImhlbHAiLCAgICAgMCwgMCwg J2gnIH0sCiAJeyAibGlzdGVuIiwgICAwLCAwLCAncycgfSwKIAl7ICJjb25uZWN0IiwgIDEsIDAs ICdjJyB9LAorI2lmZGVmIEVOQUJMRV9EQlVTCisJeyAiZGJ1cyIsICAgICAwLCAwLCAnYicgfSwK KyNlbmRpZgogCXsgInNlYXJjaCIsICAgMiwgMCwgJ1EnIH0sCiAJeyAia2lsbCIsICAgICAxLCAw LCAnaycgfSwKIAl7ICJraWxsYWxsIiwgIDAsIDAsICdLJyB9LApAQCAtNTEwLDcgKzUyMyw3IEBA CiAJeyAwLCAwLCAwLCAwIH0KIH07CiAKLXN0YXRpYyBjaGFyIG1haW5fc29wdHNbXSA9ICJoc2M6 azpLcjplOmk6bG5wOjpEUTo6QUVTTUM6OlA6eiI7CitzdGF0aWMgY2hhciBtYWluX3NvcHRzW10g PSAiaHNjOmJrOktyOmU6aTpsbnA6OkRROjpBRVNNQzo6UDp6IjsKIAogc3RhdGljIGNoYXIgbWFp bl9oZWxwW10gPSAKIAkiQmx1ZXRvb3RoIFBBTiBkYWVtb24gdmVyc2lvbiAiIFZFUlNJT04gIiBc biIKQEAgLTUyMCw2ICs1MzMsOSBAQAogCSJcdC0tc2hvdyAtLWxpc3QgLWwgICAgICAgICAgU2hv dyBhY3RpdmUgUEFOIGNvbm5lY3Rpb25zXG4iCiAJIlx0LS1saXN0ZW4gLXMgICAgICAgICAgICAg ICBMaXN0ZW4gZm9yIFBBTiBjb25uZWN0aW9uc1xuIgogCSJcdC0tY29ubmVjdCAtYyA8YmRhZGRy PiAgICAgQ3JlYXRlIFBBTiBjb25uZWN0aW9uXG4iCisjaWZkZWYgRU5BQkxFX0RCVVMKKwkiXHQt LWRidXMgICAgLWIgICAgICAgICAgICAgIEVuYWJsZSBkYnVzIHNlcnZpY2VcbiIKKyNlbmRpZgog CSJcdC0tYXV0b3phcCAteiAgICAgICAgICAgICAgRGlzY29ubmVjdCBhdXRvbWF0aWNhbGx5IG9u IGV4aXRcbiIKIAkiXHQtLXNlYXJjaCAtUVtkdXJhdGlvbl0gICAgIFNlYXJjaCBhbmQgY29ubmVj dFxuIgogCSJcdC0ta2lsbCAtayA8YmRhZGRyPiAgICAgICAgS2lsbCBQQU4gY29ubmVjdGlvblxu IgpAQCAtNTYwLDcgKzU3NiwxMSBAQAogCQkJbW9kZSA9IENPTk5FQ1Q7CiAJCQlkc3QgID0gc3Ry ZHVwKG9wdGFyZyk7CiAJCQlicmVhazsKLQorI2lmZGVmIEVOQUJMRV9EQlVTCisJCWNhc2UgJ2In OgorCQkJbW9kZSA9IERCVVM7CisJCQlicmVhazsKKyNlbmRpZgogCQljYXNlICdRJzoKIAkJCW1v ZGUgPSBDT05ORUNUOwogCQkJaWYgKG9wdGFyZykKQEAgLTcyOSw4ICs3NDksMTIgQEAKIAljYXNl IExJU1RFTjoKIAkJZG9fbGlzdGVuKCk7CiAJCWJyZWFrOworI2lmZGVmIEVOQUJMRV9EQlVTCisJ Y2FzZSBEQlVTOgorCQlwYW5kX2RidXNfc3RhcnQoKTsKKwkJYnJlYWs7CisjZW5kaWYKIAl9Ci0K IAlpZiAocGlkZmlsZSkKIAkJdW5saW5rKHBpZGZpbGUpOwogCmRpZmYgLXVyTmF3IGJsdWV6LXV0 aWxzLTIuMTcub3JpZy9wYW5kL01ha2VmaWxlLmFtIGJsdWV6LXV0aWxzLTIuMTctZGJ1cy9wYW5k L01ha2VmaWxlLmFtCi0tLSBibHVlei11dGlscy0yLjE3Lm9yaWcvcGFuZC9NYWtlZmlsZS5hbQky MDA1LTA1LTA5IDE1OjMzOjI0LjAwMDAwMDAwMCAtMDMwMAorKysgYmx1ZXotdXRpbHMtMi4xNy1k YnVzL3BhbmQvTWFrZWZpbGUuYW0JMjAwNS0wNS0xOCAxOTowMDo0NS4wMDAwMDAwMDAgLTAzMDAK QEAgLTIsMTIgKzIsMzEgQEAKICMgICRJZDogTWFrZWZpbGUuYW0sdiAxLjUgMjAwNS8wNC8yMSAy MTozNDoxMCBob2x0bWFubiBFeHAgJAogIwogCitpZiBEQlVTCisgICAgcGFuZF9kYnVzX2luY19o ZHIgPSBkYnVzX3NlcnZpY2VzLmgKKyAgICBwYW5kX2RidXNfc291cmNlcyA9IHBhbmRfZGJ1cy5j IHBhbmRfZGJ1c191dGlsLmMgcGFuZF9kYnVzX2NvbW1hbmRzLmMKKyAgICBwYW5kX2RidXNfbGli cyAgICA9IEBEQlVTX0xJQlNAIC1sZGJ1cy1nbGliLTEgLWxicmlkZ2UgLWxwdGhyZWFkCisgICAg cGFuZF9kYnVzX2NmbGFncyAgPSAtREVOQUJMRV9EQlVTIC1EREJVU19BUElfU1VCSkVDVF9UT19D SEFOR0UKKyAgICBwYW5kX2RidXNfaW5jICAgICA9IC1JL3Vzci9pbmNsdWRlL2RidXMtMS4wIC1J L3Vzci9saWIvZGJ1cy0xLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3Iv bGliL2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUKK2Vsc2UKKyAgICBwYW5k X2RidXNfaW5jX2hkciA9CisgICAgcGFuZF9kYnVzX3NvdXJjZXMgPQorICAgIHBhbmRfZGJ1c19s aWJzICAgID0KKyAgICBwYW5kX2RidXNfY2ZsYWdzICA9CisgICAgcGFuZF9kYnVzX2luYyAgICAg PQorZW5kaWYKKworCisKIGJpbl9QUk9HUkFNUyA9IHBhbmQKIAotcGFuZF9TT1VSQ0VTID0gbWFp bi5jIHBhbmQuaCBibmVwLmMgc2RwLmMKLXBhbmRfTERBREQgPSBAQkxVRVpfTElCU0AKK3BhbmRf U09VUkNFUyA9IG1haW4uYyBwYW5kLmggYm5lcC5jIHNkcC5jICQocGFuZF9kYnVzX3NvdXJjZXMp CitwYW5kX0xEQUREID0gQEJMVUVaX0xJQlNAICQocGFuZF9kYnVzX2xpYnMpCitJTkNMVURFUyA9 ICQocGFuZF9kYnVzX2luYykKK2luY2x1ZGVkaXIgPSBAaW5jbHVkZWRpckAvYmx1ZXRvb3RoCitp bmNsdWRlX0hFQURFUlMgPSAkKHBhbmRfZGJ1c19pbmNfaGRyKQogCi1BTV9DRkxBR1MgPSBAQkxV RVpfQ0ZMQUdTQAorQU1fQ0ZMQUdTID0gQEJMVUVaX0NGTEFHU0AgJChwYW5kX2RidXNfY2ZsYWdz KQogCiBtYW5fTUFOUyA9IHBhbmQuMQogCgpkaWZmIC11ck5hdyBibHVlei11dGlscy0yLjE3Lm9y aWcvcGFuZC9wYW5kX2RidXMuYyBibHVlei11dGlscy0yLjE3LWRidXMvcGFuZC9wYW5kX2RidXMu YwotLS0gYmx1ZXotdXRpbHMtMi4xNy5vcmlnL3BhbmQvcGFuZF9kYnVzLmMJMTk2OS0xMi0zMSAy MTowMDowMC4wMDAwMDAwMDAgLTAzMDAKKysrIGJsdWV6LXV0aWxzLTIuMTctZGJ1cy9wYW5kL3Bh bmRfZGJ1cy5jCTIwMDUtMDUtMjAgMTY6NDM6NTMuNTkwMTM4NTEyIC0wMzAwCkBAIC0wLDAgKzEs NzIxIEBACisvKgorICoKKyAqICBCbHVlWiAtIEJsdWV0b290aCBwcm90b2NvbCBzdGFjayBmb3Ig TGludXgKKyAqCisgKiAgQ29weXJpZ2h0IChDKSAyMDA1ICAgICAgIENsYXVkaW8gVGFrYWhhc2kg PGNsYXVkaW8udGFrYWhhc2lAaW5kdC5vcmc+CisgKiAgQ29weXJpZ2h0IChDKSAyMDAyLTIwMDQg IE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KKyAqCisgKgorICogIFRoaXMg cHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3Ig bW9kaWZ5CisgKiAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqICBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbjsKKyAqCisgKiAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJ VEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MKKyAqICBPUiBJTVBMSUVELCBJTkNM VURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU WSwKKyAqICBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VN RU5UIE9GIFRISVJEIFBBUlRZIFJJR0hUUy4KKyAqICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q WVJJR0hUIEhPTERFUihTKSBBTkQgQVVUSE9SKFMpIEJFIExJQUJMRSBGT1IgQU5ZCisgKiAgQ0xB SU0sIE9SIEFOWSBTUEVDSUFMIElORElSRUNUIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUywgT1Ig QU5ZIERBTUFHRVMKKyAqICBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NIExPU1MgT0YgVVNFLCBE QVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4KKyAqICBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5F R0xJR0VOQ0UgT1IgT1RIRVIgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRgorICogIE9S IElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SIFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdB UkUuCisgKgorICogIEFMTCBMSUFCSUxJVFksIElOQ0xVRElORyBMSUFCSUxJVFkgRk9SIElORlJJ TkdFTUVOVCBPRiBBTlkgUEFURU5UUywKKyAqICBDT1BZUklHSFRTLCBUUkFERU1BUktTIE9SIE9U SEVSIFJJR0hUUywgUkVMQVRJTkcgVE8gVVNFIE9GIFRISVMKKyAqICBTT0ZUV0FSRSBJUyBESVND TEFJTUVELgorICoKKyAqCisgKiAgJElkOiBwYW5kX2RidXMuYyx2IDEuMTIgMjAwNS8wNS8yMiAx MzowMDowMCBob2x0bWFubiBFeHAgJAorICovCisKKworI2luY2x1ZGUgPHN0cmluZy5oPgorI2lu Y2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8cHRocmVhZC5oPgorI2luY2x1ZGUgPHNpZ25hbC5o PgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisKKworI2luY2x1ZGUg PGRidXMvZGJ1cy5oPgorI2luY2x1ZGUgPGRidXMvZGJ1cy1nbGliLWxvd2xldmVsLmg+CisjaW5j bHVkZSA8ZGJ1cy9kYnVzLXByb3RvY29sLmg+CisjaW5jbHVkZSA8Z2xpYi5oPgorCisjaW5jbHVk ZSA8c3lzL3N5c2xvZy5oPgorI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KKyNpbmNsdWRlIDxzeXMv cG9sbC5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisK KyNpbmNsdWRlIDxibHVldG9vdGgvYmx1ZXRvb3RoLmg+CisjaW5jbHVkZSA8Ymx1ZXRvb3RoL2hj aS5oPgorI2luY2x1ZGUgPGJsdWV0b290aC9oY2lfbGliLmg+CisjaW5jbHVkZSA8Ymx1ZXRvb3Ro L2wyY2FwLmg+CisjaW5jbHVkZSA8Ymx1ZXRvb3RoL2JuZXAuaD4KKworCisKKyNpbmNsdWRlICJw YW5kX2RidXMuaCIKKyNpbmNsdWRlICJkYnVzX3NlcnZpY2VzLmgiCisjaW5jbHVkZSAicGFuZF9k YnVzX3V0aWwuaCIKKyNpbmNsdWRlICJwYW5kX2RidXNfY29tbWFuZHMuaCIKKworCisKK3N0YXRp YyB2b2lkIHBhbmRfZGJ1c191bnJlZ2lzdGVyZWRfZnVuYyAoREJ1c0Nvbm5lY3Rpb24gKmRidXNf Y29ubiwgCisJCWdwb2ludGVyIHVzZXJfZGF0YSk7CisKK3N0YXRpYyBEQnVzSGFuZGxlclJlc3Vs dCBwYW5kX2RidXNfbXNnX2Z1bmMgKERCdXNDb25uZWN0aW9uICpkYnVzX2Nvbm4sIAorCQlEQnVz TWVzc2FnZSAqbXNnLCBncG9pbnRlciB1c2VyX2RhdGEpOworCitzdGF0aWMgREJ1c09iamVjdFBh dGhWVGFibGUgcGFuZF92dGFibGUgPSB7CisJcGFuZF9kYnVzX3VucmVnaXN0ZXJlZF9mdW5jLAor ICAgICAgICBwYW5kX2RidXNfbXNnX2Z1bmMsCisJTlVMTCwKKwlOVUxMLAorCU5VTEwsCisJTlVM TAorfTsKKworCit0eXBlZGVmIERCdXNIYW5kbGVyUmVzdWx0ICgqcGFuZF9zZXJ2aWNlc19oYW5k bGVyKShEQnVzQ29ubmVjdGlvbiAqLCBEQnVzTWVzc2FnZSAqLCB2b2lkICopOworCisKK3N0YXRp YyBEQnVzSGFuZGxlclJlc3VsdCBoYW5kbGVfY2hhbmdlX3JvbGVfcmVxKERCdXNDb25uZWN0aW9u ICpkYnVzX2Nvbm4sIERCdXNNZXNzYWdlICptc2csIHZvaWQgKmRhdGEpOworc3RhdGljIERCdXNI YW5kbGVyUmVzdWx0IGhhbmRsZV9jb25uZWN0X3JlcShEQnVzQ29ubmVjdGlvbiAqZGJ1c19jb25u LCBEQnVzTWVzc2FnZSAqbXNnLCB2b2lkKiBkYXRhKTsKK3N0YXRpYyBEQnVzSGFuZGxlclJlc3Vs dCBoYW5kbGVfZGlzY29ubmVjdF9yZXEoREJ1c0Nvbm5lY3Rpb24gKmRidXNfY29ubiwgREJ1c01l c3NhZ2UgKm1zZywgdm9pZCAqZGF0YSk7CitzdGF0aWMgREJ1c0hhbmRsZXJSZXN1bHQgaGFuZGxl X2Rpc2Nvbm5lY3RfYWxsX3JlcShEQnVzQ29ubmVjdGlvbiAqZGJ1c19jb25uLCBEQnVzTWVzc2Fn ZSAqbXNnLCB2b2lkICpkYXRhKTsKK3N0YXRpYyBEQnVzSGFuZGxlclJlc3VsdCBoYW5kbGVfZ2V0 X2FjdGl2ZV9jb25uX3JlcShEQnVzQ29ubmVjdGlvbiAqZGJ1c19jb25uLCBEQnVzTWVzc2FnZSAq bXNnLCB2b2lkICpkYXRhKTsKK3N0YXRpYyBEQnVzSGFuZGxlclJlc3VsdCBoYW5kbGVfZ2V0X2Rl dmljZXNfcmVxKERCdXNDb25uZWN0aW9uICpkYnVzX2Nvbm4sIERCdXNNZXNzYWdlICptc2csIHZv aWQgKmRhdGEpOworc3RhdGljIERCdXNIYW5kbGVyUmVzdWx0IGhhbmRsZV9saXN0ZW5fcmVxKERC dXNDb25uZWN0aW9uICpkYnVzX2Nvbm4sIERCdXNNZXNzYWdlICptc2csIHZvaWQgKmRhdGEpOwor c3RhdGljIERCdXNIYW5kbGVyUmVzdWx0IGhhbmRsZV9saXN0ZW5fc3RvcF9yZXEoREJ1c0Nvbm5l Y3Rpb24gKmRidXNfY29ubiwgREJ1c01lc3NhZ2UgKm1zZywgdm9pZCAqZGF0YSk7CitzdGF0aWMg REJ1c0hhbmRsZXJSZXN1bHQgaGFuZGxlX3NlYXJjaF9yZXEoREJ1c0Nvbm5lY3Rpb24gKmRidXNf Y29ubiwgREJ1c01lc3NhZ2UgKm1zZywgdm9pZCAqZGF0YSk7CisKKwordHlwZWRlZiBzdHJ1Y3Qg Cit7CisJY2hhciAqbmFtZTsKKwlwYW5kX3NlcnZpY2VzX2hhbmRsZXIgIGhhbmRsZV9mdW5jOwor fXBhbmRfc2VydmljZXNfZGF0YV90OworCisKK3N0YXRpYyBwYW5kX3NlcnZpY2VzX2RhdGFfdCBw YW5kX3NlcnZpY2VzW10gPSB7CisgICAgeyJDaGFuZ2VSb2xlUmVxIiwgaGFuZGxlX2NoYW5nZV9y b2xlX3JlcSAgICAgIH0sCisgICAgeyJDb25uZWN0UmVxIiwgaGFuZGxlX2Nvbm5lY3RfcmVxICAg ICAgfSwKKyAgICB7IkRpc2Nvbm5lY3RSZXEiLCBoYW5kbGVfZGlzY29ubmVjdF9yZXF9LAorICAg IHsiRGlzY29ubmVjdEFsbFJlcSIsIGhhbmRsZV9kaXNjb25uZWN0X2FsbF9yZXF9LAorICAgIHsi R2V0QWN0aXZlQ29ubmVjdGlvbnNSZXEiLCBoYW5kbGVfZ2V0X2FjdGl2ZV9jb25uX3JlcX0sCisg ICAgeyJHZXREZXZpY2VzUmVxIiwgaGFuZGxlX2dldF9kZXZpY2VzX3JlcX0sCisgICAgeyJMaXN0 ZW5SZXEiLCBoYW5kbGVfbGlzdGVuX3JlcX0sCisgICAgeyJMaXN0ZW5TdG9wUmVxIiwgaGFuZGxl X2xpc3Rlbl9zdG9wX3JlcX0sCisgICAgeyJTZWFyY2hSZXEiLCBoYW5kbGVfc2VhcmNoX3JlcX0s CisgICAge05VTEwsIE5VTEx9Cit9OworCitzdGF0aWMgREJ1c0Nvbm5lY3Rpb24gKmRidXNfY29u bjsKK3N0YXRpYyBHTWFpbkxvb3AgKm1haW5fbG9vcCA9IE5VTEwgOworCisvKioKKyAqICBJbml0 aWFsaXplIEQtQlVTIGNvbm5lY3Rpb24KKyAqICBAcGFyYW0gIAorICogIEByZXR1cm4KKyAqLwor aW50IAorcGFuZF9kYnVzX3N0YXJ0KCkKK3sKKwkKKwlEQnVzRXJyb3IgZGJ1c19lcnJvcjsKKwkv L1RPRE8gcHRocmVhZF90ICB0aHJlYWRfaWQ7CisJaW50IHJlc3VsdCA9IDA7CisKKwkvKiBUT0RP IGNoZWNrIGZvciBvdGhlciBwYW5kIGluc3RhbmNlIHJ1bm5pbmcKKwkgKiBPbmx5IG9uZSBpbnN0 YW5jZSBpcyBhbGxvd2VkIQorCSAqLworCQkJICAgCisJCisJZGJ1c19lcnJvcl9pbml0KCZkYnVz X2Vycm9yKTsKKwlkYnVzX2Nvbm4gPSBkYnVzX2J1c19nZXQoREJVU19CVVNfU1lTVEVNLCAmZGJ1 c19lcnJvcik7CisKKyAgICAgICAgaWYgKCFkYnVzX2Nvbm4pIHsKKyAgICAgICAgICAgICAgICBz eXNsb2coTE9HX0VSUiwgIkZhaWxlZCB0byBvcGVuIGNvbm5lY3Rpb24gdG8gc3lzdGVtIG1lc3Nh Z2UgYnVzOiAlc1xuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgZGJ1c19lcnJvci5tZXNzYWdlKTsKKyAgICAgICAgICAgICAgICBkYnVz X2Vycm9yX2ZyZWUoJmRidXNfZXJyb3IpOworICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAg ICAgICAgfQorI2lmZGVmIERCVVNfMDMzCisJaWYoIWRidXNfYnVzX3JlcXVlc3RfbmFtZShkYnVz X2Nvbm4sIE9SR19CTFVFWl9EQlVTX05BTUUsIDAsICZkYnVzX2Vycm9yKSkgeworI2Vsc2UJCisJ aWYoIWRidXNfYnVzX2FjcXVpcmVfc2VydmljZShkYnVzX2Nvbm4sIE9SR19CTFVFWl9EQlVTX05B TUUsIDAsICZkYnVzX2Vycm9yKSkgeworI2VuZGlmCisJCXN5c2xvZyhMT0dfRVJSLCJEQlVTIGFj cXVpcmUgc2VydmljZSBlcnJvcjogJXNcbiIsIGRidXNfZXJyb3IubWVzc2FnZSk7CisJCWRidXNf ZXJyb3JfZnJlZSAoJmRidXNfZXJyb3IpOworCQlyZXN1bHQgPSAtMTsKKwkJZ290byBza2lwX2xh YmVsOworCX0KKwkKKwlpZiAoIWRidXNfY29ubmVjdGlvbl9yZWdpc3Rlcl9vYmplY3RfcGF0aCAo ZGJ1c19jb25uLCBPUkdfQkxVRVpfUEFORF9PQkosCisJICAgICAmcGFuZF92dGFibGUsIE5VTEwp KSB7CisJCSAgICAgc3lzbG9nKExPR19FUlIsIkRCVVMgZmFpbGVkIHRvIHJlZ2lzdGVyIG9yZy9i bHVlei9wYW5kIG9iamVjdFxuIik7CisJCSAgICAgcmVzdWx0ID0gLTE7CisJCSAgICAgZ290byBz a2lwX2xhYmVsOworCX0KKworCW1haW5fbG9vcCA9IGdfbWFpbl9sb29wX25ldyAoTlVMTCwgRkFM U0UpOworCQorCWRidXNfY29ubmVjdGlvbl9zZXR1cF93aXRoX2dfbWFpbiAoZGJ1c19jb25uLCBO VUxMKSA7CisJCisJZ19tYWluX2xvb3BfcnVuIChtYWluX2xvb3ApIDsKKwkKKworc2tpcF9sYWJl bDoKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKK30KKworLyoqCisgKiAgQ2xvc2UgRC1CVVMgY29u bmVjdGlvbiBhbmQgdGhlIG1haW4gbG9vcAorICogIEBwYXJhbSAgCisgKiAgQHJldHVybgorICov CitpbnQgCitwYW5kX2RidXNfc3RvcCgpCit7CisJaWYobWFpbl9sb29wKXsKKwkJZ19tYWluX2xv b3BfcXVpdChtYWluX2xvb3ApOworCX0KKwlpZiAoZGJ1c19jb25uKSB7CisJCWRidXNfY29ubmVj dGlvbl9kaXNjb25uZWN0KGRidXNfY29ubik7CisJCWRidXNfY29ubiA9IE5VTEw7CisJfQorCXJl dHVybiAwOworfQorCisKKy8qKgorICogIFRPRE8gbWV0aG9kIG5vdCBpbXBsZW1lbnRlZAorICog IEBwYXJhbSAgCisgKiAgQHJldHVybgorICovCitzdGF0aWMgREJ1c0hhbmRsZXJSZXN1bHQKK2hh bmRsZV9jaGFuZ2Vfcm9sZV9yZXEoREJ1c0Nvbm5lY3Rpb24gKmRidXNfY29ubiwgREJ1c01lc3Nh Z2UgKm1zZywgdm9pZCAqZGF0YSkKK3sKKwlEQnVzTWVzc2FnZSAqcmVwbHkgPSBOVUxMOworCURC dXNNZXNzYWdlSXRlciBpdGVyOworCWNvbnN0IHVuc2lnbmVkIGNoYXIgKnB0cjsKKwlEQnVzSGFu ZGxlclJlc3VsdCByZXN1bHQgPSBEQlVTX0hBTkRMRVJfUkVTVUxUX0hBTkRMRUQ7CisJcGFuZF9k YnVzX2NoYW5nZV9yb2xlX3JlcV90ICByZXE7CisJcGFuZF9kYnVzX3JlcV9jbmZfdCAgICAgIGNu Zl9yZXN1bHQ7CisJaW50IHJldF92YWwgPSAwLCBzaXplOworCQorCXN5c2xvZyhMT0dfSU5GTywg IiVzIGxpbmU6JWQgLSBtZXRob2Qgbm90IGltcGxlbWVudGVkIiwgX19QUkVUVFlfRlVOQ1RJT05f XywgX19MSU5FX18pOworCQorCW1lbXNldCgmcmVxLCAwLCBzaXplb2YocGFuZF9kYnVzX2NoYW5n ZV9yb2xlX3JlcV90KSk7CisJCisJY25mX3Jlc3VsdC50eXBlID0gUEFORF9EQlVTX0NIQU5HRV9S T0xFX1JFUV9DTkZfVFlQRTsKKwkKKwlpZighcGFuZF91dGlsX2dldF9yZXFfYXR0cihtc2csIFBB TkRfREJVU19DSEFOR0VfUk9MRV9SRVFfVFlQRSwgc2l6ZW9mKHBhbmRfZGJ1c19jaGFuZ2Vfcm9s ZV9yZXFfdCksJnJlcSkpeworCQkKKwkJLy9UT0RPIGNoZWNrIGN1cnJlbnQgZGFlbW9uIHN0YXR1 cworCQkvL3JldF92YWwgPSBjbWRfY2hhbmdlX3JvbGUoJnJlcSk7CQorCQljbmZfcmVzdWx0LnJl c3VsdCA9ICghcmV0X3ZhbD9QQU5EX1JFU1VMVF9TVUNDRVNTOlBBTkRfUkVTVUxUX0ZBSUxFRCk7 CisJfSBlbHNlIHsKKwkJY25mX3Jlc3VsdC5yZXN1bHQgPSBQQU5EX1JFU1VMVF9GQUlMRUQ7CisJ fQkKKwkJCisJCQorCXNpemUgPSBzaXplb2YocGFuZF9kYnVzX3JlcV9jbmZfdCk7CisJcHRyID0g KGNvbnN0IHVuc2lnbmVkIGNoYXIqKSZjbmZfcmVzdWx0OworCQorCXJlcGx5ID0gZGJ1c19tZXNz YWdlX25ld19tZXRob2RfcmV0dXJuKG1zZyk7CisJZGJ1c19tZXNzYWdlX2l0ZXJfaW5pdChyZXBs eSwgJml0ZXIpOworCWRidXNfbWVzc2FnZV9hcHBlbmRfaXRlcl9pbml0KHJlcGx5LCAmaXRlcik7 CisJZGJ1c19tZXNzYWdlX2l0ZXJfYXBwZW5kX2J5dGVfYXJyYXkoJml0ZXIsIHB0ciwgc2l6ZSk7 CisJCQorCisJLy9UT0RPIGNoZWNrIGl0ZXIgcmVzdWx0cworCQkKKwlpZiAoIWRidXNfY29ubmVj dGlvbl9zZW5kIChkYnVzX2Nvbm4sIHJlcGx5LCBOVUxMKSkgeworCQlzeXNsb2coTE9HX0VSUiwg ImZhdGFsIGVycm9yIGF0ICVzOiVkXG4iLAorCQkJX19QUkVUVFlfRlVOQ1RJT05fXywgX19MSU5F X18pIDsKKwkJcmVzdWx0ID0gREJVU19IQU5ETEVSX1JFU1VMVF9OT1RfWUVUX0hBTkRMRUQ7CisJ CWdvdG8gc2tpcF9sYWJlbDsKKwl9CisJCQorc2tpcF9sYWJlbDoJCisJCXJldHVybiByZXN1bHQ7 Cit9CisKKy8qKgorICogIFRPRE8KKyAqICBAcGFyYW0gIAorICogIEByZXR1cm4KKyAqLworc3Rh dGljIERCdXNIYW5kbGVyUmVzdWx0CitoYW5kbGVfY29ubmVjdF9yZXEoREJ1c0Nvbm5lY3Rpb24g KmRidXNfY29ubiwgREJ1c01lc3NhZ2UgKm1zZywgdm9pZCAqZGF0YSkKK3sKKwlEQnVzTWVzc2Fn ZSAqcmVwbHkgPSBOVUxMOworCURCdXNNZXNzYWdlSXRlciBpdGVyOworCWNvbnN0IHVuc2lnbmVk IGNoYXIgKnB0cjsKKwlEQnVzSGFuZGxlclJlc3VsdCByZXN1bHQgPSBEQlVTX0hBTkRMRVJfUkVT VUxUX0hBTkRMRUQ7CisJaW50IHJldF92YWwsIHNpemU7CisJcGFuZF9kYnVzX2Nvbm5fcmVxX3Qg ICAgcmVxOworCXBhbmRfZGJ1c19yZXFfY25mX3QJY25mX3Jlc3VsdDsKKwkKKwltZW1zZXQoJnJl cSwgMCwgc2l6ZW9mKHBhbmRfZGJ1c19jb25uX3JlcV90KSk7CisJCisJY25mX3Jlc3VsdC50eXBl ID0gUEFORF9EQlVTX0NPTk5fUkVRX0NORl9UWVBFOworCQorCWlmKCFwYW5kX3V0aWxfZ2V0X3Jl cV9hdHRyKG1zZywgUEFORF9EQlVTX0NPTk5fUkVRX1RZUEUsIHNpemVvZihwYW5kX2RidXNfY29u bl9yZXFfdCksICZyZXEpKXsKKwkJCisJCS8vVE9ETyBjaGVjayB0aGUgY3VycmVudCBkYWVtb24g c3RhdHVzCisJCS8vY2hlY2sgcm9sZSwgaWYgaXMgY29ubmVjdGVkLiBzY2F0dGVybmV0IGFyZSBu b3QgYWxsb3dlZAorCQlyZXRfdmFsID0gY21kX2Nvbm5lY3QocmVxLmJkYWRkciwgcmVxLnJvbGUs IHJlcS5zZXJ2aWNlKTsKKwkJY25mX3Jlc3VsdC5yZXN1bHQgPSAoIXJldF92YWw/UEFORF9SRVNV TFRfU1VDQ0VTUzpQQU5EX1JFU1VMVF9GQUlMRUQpOworCX0gZWxzZSB7CisJCWNuZl9yZXN1bHQu cmVzdWx0ID0gUEFORF9SRVNVTFRfRkFJTEVEOworCQkKKwl9CSAgCisJCQkJCisJc2l6ZSA9IHNp emVvZihwYW5kX2RidXNfcmVxX2NuZl90KTsKKwlwdHIgPSAoY29uc3QgdW5zaWduZWQgY2hhciop JmNuZl9yZXN1bHQ7CisJCisJcmVwbHkgPSBkYnVzX21lc3NhZ2VfbmV3X21ldGhvZF9yZXR1cm4o bXNnKTsKKwlkYnVzX21lc3NhZ2VfaXRlcl9pbml0KHJlcGx5LCAmaXRlcik7CisJZGJ1c19tZXNz YWdlX2FwcGVuZF9pdGVyX2luaXQocmVwbHksICZpdGVyKTsKKwlkYnVzX21lc3NhZ2VfaXRlcl9h cHBlbmRfYnl0ZV9hcnJheSgmaXRlciwgcHRyLCBzaXplKTsKKworCWlmICghZGJ1c19jb25uZWN0 aW9uX3NlbmQgKGRidXNfY29ubiwgcmVwbHksIE5VTEwpKSB7CisJCXN5c2xvZyhMT0dfRVJSLCAi ZmF0YWwgZXJyb3IgYXQgJXM6JWRcbiIsCisJCQlfX1BSRVRUWV9GVU5DVElPTl9fLCBfX0xJTkVf XykgOworCQlyZXN1bHQgPSBEQlVTX0hBTkRMRVJfUkVTVUxUX05PVF9ZRVRfSEFORExFRDsKKwkJ Z290byBza2lwX2xhYmVsOworCX0KKwkJCitza2lwX2xhYmVsOgorCWlmIChyZXBseSkgeworCQlk YnVzX21lc3NhZ2VfdW5yZWYgKHJlcGx5KSA7CisJCXJlcGx5ID0gTlVMTCA7CisJfQorCQorCXJl dHVybiByZXN1bHQ7Cit9CisKKy8qKgorICogIFRPRE8KKyAqICBAcGFyYW0gIAorICogIEByZXR1 cm4KKyAqLworc3RhdGljIERCdXNIYW5kbGVyUmVzdWx0CitoYW5kbGVfZGlzY29ubmVjdF9yZXEo REJ1c0Nvbm5lY3Rpb24gKmRidXNfY29ubiwgREJ1c01lc3NhZ2UgKm1zZywgdm9pZCAqZGF0YSkK K3sKKwlEQnVzTWVzc2FnZSAqcmVwbHkgPSBOVUxMOworCURCdXNNZXNzYWdlSXRlciBpdGVyOwor CWNvbnN0IHVuc2lnbmVkIGNoYXIgKnB0cjsKKwlEQnVzSGFuZGxlclJlc3VsdCByZXN1bHQgPSBE QlVTX0hBTkRMRVJfUkVTVUxUX0hBTkRMRUQ7CisJcGFuZF9kYnVzX2Rpc2Nvbm5fcmVxX3QgIHJl cTsKKwlwYW5kX2RidXNfcmVxX2NuZl90ICAgICAgY25mX3Jlc3VsdDsKKwlpbnQgcmV0X3ZhbCwg c2l6ZTsKKwkKKwltZW1zZXQoJnJlcSwgMCwgc2l6ZW9mKHBhbmRfZGJ1c19kaXNjb25uX3JlcV90 KSk7CisKKwljbmZfcmVzdWx0LnR5cGUgPSBQQU5EX0RCVVNfRElTQ09OTl9SRVFfQ05GX1RZUEU7 CisJCisJaWYoIXBhbmRfdXRpbF9nZXRfcmVxX2F0dHIobXNnLCBQQU5EX0RCVVNfRElTQ09OTl9S RVFfVFlQRSwgc2l6ZW9mKHBhbmRfZGJ1c19kaXNjb25uX3JlcV90KSwmcmVxKSl7CisJCQorCQkv L1RPRE8gY2hlY2sgY3VycmVudCBkYWVtb24gc3RhdHVzCisJCXJldF92YWwgPSBjbWRfZGlzY29u bmVjdCgmcmVxKTsJCisJCWNuZl9yZXN1bHQucmVzdWx0ID0gKCFyZXRfdmFsP1BBTkRfUkVTVUxU X1NVQ0NFU1M6UEFORF9SRVNVTFRfRkFJTEVEKTsKKwkJCisJfSBlbHNlIHsKKwkJY25mX3Jlc3Vs dC5yZXN1bHQgPSBQQU5EX1JFU1VMVF9GQUlMRUQ7CisJfQorCQorCXNpemUgPSBzaXplb2YocGFu ZF9kYnVzX3JlcV9jbmZfdCk7CisJcHRyID0gKGNvbnN0IHVuc2lnbmVkIGNoYXIqKSZjbmZfcmVz dWx0OworCQorCXJlcGx5ID0gZGJ1c19tZXNzYWdlX25ld19tZXRob2RfcmV0dXJuKG1zZyk7CisJ ZGJ1c19tZXNzYWdlX2l0ZXJfaW5pdChyZXBseSwgJml0ZXIpOworCWRidXNfbWVzc2FnZV9hcHBl bmRfaXRlcl9pbml0KHJlcGx5LCAmaXRlcik7CisJZGJ1c19tZXNzYWdlX2l0ZXJfYXBwZW5kX2J5 dGVfYXJyYXkoJml0ZXIsIHB0ciwgc2l6ZSk7CisJCQorCisJLy9UT0RPIGNoZWNrIGl0ZXIgcmVz dWx0cworCWlmICghZGJ1c19jb25uZWN0aW9uX3NlbmQgKGRidXNfY29ubiwgcmVwbHksIE5VTEwp KSB7CisJCXN5c2xvZyhMT0dfRVJSLCAiZmF0YWwgZXJyb3IgYXQgJXM6JWRcbiIsCisJCQlfX1BS RVRUWV9GVU5DVElPTl9fLCBfX0xJTkVfXykgOworCQlyZXN1bHQgPSBEQlVTX0hBTkRMRVJfUkVT VUxUX05PVF9ZRVRfSEFORExFRDsKKwkJZ290byBza2lwX2xhYmVsOworCX0KKwkKK3NraXBfbGFi ZWw6CQorCWlmIChyZXBseSkgeworCQlkYnVzX21lc3NhZ2VfdW5yZWYgKHJlcGx5KSA7CisJCXJl cGx5ID0gTlVMTCA7CisJfQorCQorCXJldHVybiByZXN1bHQ7Cit9CisKKy8qKgorICogIFRPRE8K KyAqICBAcGFyYW0gIAorICogIEByZXR1cm4KKyAqLworc3RhdGljIERCdXNIYW5kbGVyUmVzdWx0 CitoYW5kbGVfZGlzY29ubmVjdF9hbGxfcmVxKERCdXNDb25uZWN0aW9uICpkYnVzX2Nvbm4sIERC dXNNZXNzYWdlICptc2csIHZvaWQgKmRhdGEpCit7CisJREJ1c01lc3NhZ2UgKnJlcGx5ID0gTlVM TDsKKwlEQnVzTWVzc2FnZUl0ZXIgaXRlcjsKKwljb25zdCB1bnNpZ25lZCBjaGFyICpwdHI7CisJ REJ1c0hhbmRsZXJSZXN1bHQgcmVzdWx0ID0gREJVU19IQU5ETEVSX1JFU1VMVF9IQU5ETEVEOwor CXBhbmRfZGJ1c19kaXNjb25uX2FsbF9yZXFfdCAgcmVxOworCXBhbmRfZGJ1c19yZXFfY25mX3Qg ICAgICBjbmZfcmVzdWx0OworCWludCByZXRfdmFsLCBzaXplOworCisJbWVtc2V0KCZyZXEsIDAs IHNpemVvZihwYW5kX2RidXNfZGlzY29ubl9hbGxfcmVxX3QpKTsKKwkKKwkvL0hPVyBhZGRyZXNz IHdoZW4gdGhlIGRidXMgY2xpZW50IGFwcCBzZW5kIGRhdGE/CisJLy8gc3VnZ2VzdGlvbjogcGFz cyB0aGUgd2FudGVkIHNpemU6UAorCQorCWNuZl9yZXN1bHQudHlwZSA9IFBBTkRfREJVU19ESVND T05OX0FMTF9SRVFfQ05GX1RZUEU7CisJCisJaWYoIXBhbmRfdXRpbF9nZXRfcmVxX2F0dHIobXNn LCBQQU5EX0RCVVNfRElTQ09OTl9BTExfUkVRX1RZUEUsIHNpemVvZihwYW5kX2RidXNfZGlzY29u bl9hbGxfcmVxX3QpLCZyZXEpKXsKKwkJCisJCS8vVE9ETyBjaGVjayBjdXJyZW50IGRhZW1vbiBz dGF0dXMKKwkJcmV0X3ZhbCA9IGNtZF9kaXNjb25uZWN0KE5VTEwpOwkKKwkJY25mX3Jlc3VsdC5y ZXN1bHQgPSAoIXJldF92YWw/UEFORF9SRVNVTFRfU1VDQ0VTUzpQQU5EX1JFU1VMVF9GQUlMRUQp OworCX0gZWxzZSB7CisJCWNuZl9yZXN1bHQucmVzdWx0ID0gUEFORF9SRVNVTFRfRkFJTEVEOwor CX0KKwkKKwlzaXplID0gc2l6ZW9mKHBhbmRfZGJ1c19yZXFfY25mX3QpOworCXB0ciA9IChjb25z dCB1bnNpZ25lZCBjaGFyKikmY25mX3Jlc3VsdDsKKwkKKwlyZXBseSA9IGRidXNfbWVzc2FnZV9u ZXdfbWV0aG9kX3JldHVybihtc2cpOworCWRidXNfbWVzc2FnZV9pdGVyX2luaXQocmVwbHksICZp dGVyKTsKKwlkYnVzX21lc3NhZ2VfYXBwZW5kX2l0ZXJfaW5pdChyZXBseSwgJml0ZXIpOworCWRi dXNfbWVzc2FnZV9pdGVyX2FwcGVuZF9ieXRlX2FycmF5KCZpdGVyLCBwdHIsIHNpemUpOworCisJ Ly9UT0RPIGNoZWNrIGl0ZXIgcmVzdWx0cworCQorCWlmICghZGJ1c19jb25uZWN0aW9uX3NlbmQg KGRidXNfY29ubiwgcmVwbHksIE5VTEwpKSB7CisJCSAgc3lzbG9nKExPR19FUlIsICJmYXRhbCBl cnJvciBhdCAlczolZFxuIiwKKwkJCSBfX1BSRVRUWV9GVU5DVElPTl9fLCBfX0xJTkVfXykgOwor CQlyZXN1bHQgPSBEQlVTX0hBTkRMRVJfUkVTVUxUX05PVF9ZRVRfSEFORExFRDsKKwkJZ290byBz a2lwX2xhYmVsOworCX0KKwkJCitza2lwX2xhYmVsOgkKKwlpZiAocmVwbHkpIHsKKwkJZGJ1c19t ZXNzYWdlX3VucmVmIChyZXBseSkgOworCQlyZXBseSA9IE5VTEwgOworCX0KKwkJCisJcmV0dXJu IHJlc3VsdDsKK30KKworLyoqCisgKiAgVE9ETworICogIEBwYXJhbSAgCisgKiAgQHJldHVybgor ICovCitzdGF0aWMgREJ1c0hhbmRsZXJSZXN1bHQKK2hhbmRsZV9nZXRfYWN0aXZlX2Nvbm5fcmVx KERCdXNDb25uZWN0aW9uICpkYnVzX2Nvbm4sIERCdXNNZXNzYWdlICptc2csIHZvaWQgKmRhdGEp Cit7CisJREJ1c01lc3NhZ2UgKnJlcGx5ID0gTlVMTDsKKwlEQnVzTWVzc2FnZUl0ZXIgaXRlcjsK Kwljb25zdCB1bnNpZ25lZCBjaGFyICpwdHI7CisJREJ1c0hhbmRsZXJSZXN1bHQgcmVzdWx0ID0g REJVU19IQU5ETEVSX1JFU1VMVF9IQU5ETEVEOworCXBhbmRfZGJ1c19nZXRfYWN0aXZlX2Nvbm5f cmVxX3QJcmVxOworCXBhbmRfZGJ1c19nZXRfYWN0aXZlX2Nvbm5fY25mX3QgKmNuZl9kYXRhID0g TlVMTDsKKwlwYW5kX2RidXNfcmVxX2NuZl90ICAgICAgKmNuZl9yZXN1bHQgPSBOVUxMOworCWlu dCByZXRfdmFsID0gLTE7CisJaW50IGNuZl9yZXNfc2l6ZSA9IDA7CisJaW50IGRhdGFfc2l6ZSA9 IDA7CisJCisJCisJCQorCWlmKCFwYW5kX3V0aWxfZ2V0X3JlcV9hdHRyKG1zZywgUEFORF9EQlVT X0dFVF9BQ1RJVkVfQ09OTl9SRVFfVFlQRSwgc2l6ZW9mKHBhbmRfZGJ1c19nZXRfYWN0aXZlX2Nv bm5fcmVxX3QpLCZyZXEpKXsKKwkJCisJCS8vVE9ETyBjaGVjayBjdXJyZW50IGRhZW1vbiBzdGF0 dXMKKwkJcmV0X3ZhbCA9IGNtZF9nZXRfYWN0aXZlX2Nvbm4oJnJlcSwgJmNuZl9kYXRhKTsJCisJ fSAKKwkKKwljbmZfcmVzX3NpemUgPSBzaXplb2YocGFuZF9kYnVzX3JlcV9jbmZfdCk7CisJCisJ aWYoIXJldF92YWwpIHsKKwkJCisJCWRhdGFfc2l6ZSA9IChjbmZfZGF0YS0+bnVtX2Nvbm4gKSog c2l6ZW9mKHBhbmRfYWN0aXZlX2Nvbm5fdCkgKyBzaXplb2YocGFuZF9kYnVzX2dldF9hY3RpdmVf Y29ubl9jbmZfdCk7CisJCWNuZl9yZXN1bHQgPSAocGFuZF9kYnVzX3JlcV9jbmZfdCopbWFsbG9j KGNuZl9yZXNfc2l6ZSArIGRhdGFfc2l6ZSk7CisJCWNuZl9yZXN1bHQgLT4gdHlwZSA9IFBBTkRf REJVU19HRVRfQUNUSVZFX0NPTk5fUkVRX0NORl9UWVBFOworCQljbmZfcmVzdWx0IC0+IHJlc3Vs dCA9IFBBTkRfUkVTVUxUX1NVQ0NFU1M7CisJCW1lbWNweShjbmZfcmVzdWx0LT5kYXRhLCBjbmZf ZGF0YSxkYXRhX3NpemUpOworCQljbmZfcmVzX3NpemUgKz0gZGF0YV9zaXplOworCX0gZWxzZSB7 CisJCWNuZl9yZXN1bHQgPSAocGFuZF9kYnVzX3JlcV9jbmZfdCopbWFsbG9jKGNuZl9yZXNfc2l6 ZSk7CisJCWNuZl9yZXN1bHQgLT4gdHlwZSA9IFBBTkRfREJVU19HRVRfQUNUSVZFX0NPTk5fUkVR X0NORl9UWVBFOworCQljbmZfcmVzdWx0IC0+IHJlc3VsdCA9IFBBTkRfUkVTVUxUX0ZBSUxFRDsK Kwl9CisJCisJcHRyID0gKGNvbnN0IHVuc2lnbmVkIGNoYXIqKWNuZl9yZXN1bHQ7CisJcmVwbHkg PSBkYnVzX21lc3NhZ2VfbmV3X21ldGhvZF9yZXR1cm4obXNnKTsJCisJZGJ1c19tZXNzYWdlX2l0 ZXJfaW5pdChyZXBseSwgJml0ZXIpOworCWRidXNfbWVzc2FnZV9hcHBlbmRfaXRlcl9pbml0KHJl cGx5LCAmaXRlcik7CisJZGJ1c19tZXNzYWdlX2l0ZXJfYXBwZW5kX2J5dGVfYXJyYXkoJml0ZXIs IHB0ciwgY25mX3Jlc19zaXplKTsKKworCS8vVE9ETyBjaGVjayBpdGVyIHJlc3VsdHMKKwkJCisJ aWYgKCFkYnVzX2Nvbm5lY3Rpb25fc2VuZCAoZGJ1c19jb25uLCByZXBseSwgTlVMTCkpIHsKKwkJ c3lzbG9nKExPR19FUlIsICJmYXRhbCBlcnJvciBhdCAlczolZFxuIiwKKwkJCV9fUFJFVFRZX0ZV TkNUSU9OX18sIF9fTElORV9fKSA7CisJCXJlc3VsdCA9IERCVVNfSEFORExFUl9SRVNVTFRfTk9U X1lFVF9IQU5ETEVEOworCQlnb3RvIHNraXBfbGFiZWw7CisJfQorCQorc2tpcF9sYWJlbDoKKwlp ZiAocmVwbHkpIHsKKwkJZGJ1c19tZXNzYWdlX3VucmVmIChyZXBseSkgOworCQlyZXBseSA9IE5V TEwgOworCX0KKwkKKwlpZihjbmZfcmVzdWx0KSB7CisJCWZyZWUoY25mX3Jlc3VsdCk7CisJfQor CQorCWlmKGNuZl9kYXRhKSB7CisJCWZyZWUoY25mX2RhdGEpOworCX0KKwkJCisJcmV0dXJuIHJl c3VsdDsKK30KKworLyoqCisgKiAgVE9ETworICogIEBwYXJhbSAgCisgKiAgQHJldHVybgorICov CitzdGF0aWMgREJ1c0hhbmRsZXJSZXN1bHQKK2hhbmRsZV9nZXRfZGV2aWNlc19yZXEoREJ1c0Nv bm5lY3Rpb24gKmRidXNfY29ubiwgREJ1c01lc3NhZ2UgKm1zZywgdm9pZCAqZGF0YSkKK3sKKwlE QnVzTWVzc2FnZSAqcmVwbHkgPSBOVUxMOworCURCdXNNZXNzYWdlSXRlciBpdGVyOworCWNvbnN0 IHVuc2lnbmVkIGNoYXIgKnB0cjsKKwlEQnVzSGFuZGxlclJlc3VsdCByZXN1bHQgPSBEQlVTX0hB TkRMRVJfUkVTVUxUX0hBTkRMRUQ7CisJY2hhciAgcmVxOworCXBhbmRfZGJ1c19yZXFfY25mX3Qg ICAgICAqY25mX3Jlc3VsdCA9IE5VTEw7CisJcGFuZF9kYnVzX2dldF9kZXZfY25mX3QgICpjbmZf ZGF0YSA9IE5VTEw7CisJaW50IHJldF92YWwgPSAtMTsKKwlpbnQgY25mX3Jlc19zaXplLCBkYXRh X3NpemU7CisJCisJCQorCWlmKCFwYW5kX3V0aWxfZ2V0X3JlcV9hdHRyKG1zZywgUEFORF9EQlVT X0dFVF9ERVZfSU5GT19SRVFfVFlQRSwgMCwgJnJlcSkpeworCQkKKwkJcmV0X3ZhbCA9IGNtZF9n ZXRfZGV2aWNlcygmY25mX2RhdGEpOworCQkKKwl9CisJCisJY25mX3Jlc19zaXplID0gc2l6ZW9m KHBhbmRfZGJ1c19yZXFfY25mX3QpOworCQorCWlmKCFyZXRfdmFsKSB7CisJCWRhdGFfc2l6ZSA9 IChjbmZfZGF0YS0+bnVtX2RldiApKiBzaXplb2YocGFuZF9kZXZfaW5mb190KSArIHNpemVvZihw YW5kX2RidXNfZ2V0X2Rldl9jbmZfdCk7CisJCWNuZl9yZXN1bHQgPSAocGFuZF9kYnVzX3JlcV9j bmZfdCopbWFsbG9jKGNuZl9yZXNfc2l6ZSArIGRhdGFfc2l6ZSk7CisJCWNuZl9yZXN1bHQtPnR5 cGUgPSBQQU5EX0RCVVNfR0VUX0RFVl9JTkZPX0NORl9UWVBFOworCQljbmZfcmVzdWx0LT5yZXN1 bHQgPSBQQU5EX1JFU1VMVF9TVUNDRVNTOworCQltZW1jcHkoY25mX3Jlc3VsdC0+ZGF0YSwgY25m X2RhdGEsZGF0YV9zaXplKTsKKwkJY25mX3Jlc19zaXplICs9IGRhdGFfc2l6ZTsKKwl9IGVsc2Ug eworCQljbmZfcmVzdWx0ID0gKHBhbmRfZGJ1c19yZXFfY25mX3QqKW1hbGxvYyhjbmZfcmVzX3Np emUpOworCQljbmZfcmVzdWx0LT50eXBlID0gUEFORF9EQlVTX0dFVF9ERVZfSU5GT19DTkZfVFlQ RTsKKwkJY25mX3Jlc3VsdC0+cmVzdWx0ID0gUEFORF9SRVNVTFRfRkFJTEVEOworCX0KKwkKKwlw dHIgPSAoY29uc3QgdW5zaWduZWQgY2hhciopY25mX3Jlc3VsdDsKKwkKKwlyZXBseSA9IGRidXNf bWVzc2FnZV9uZXdfbWV0aG9kX3JldHVybihtc2cpOwkKKwkKKwlkYnVzX21lc3NhZ2VfaXRlcl9p bml0KHJlcGx5LCAmaXRlcik7CisJZGJ1c19tZXNzYWdlX2FwcGVuZF9pdGVyX2luaXQocmVwbHks ICZpdGVyKTsKKwlkYnVzX21lc3NhZ2VfaXRlcl9hcHBlbmRfYnl0ZV9hcnJheSgmaXRlciwgcHRy LCBjbmZfcmVzX3NpemUpOworCisJaWYgKCFkYnVzX2Nvbm5lY3Rpb25fc2VuZCAoZGJ1c19jb25u LCByZXBseSwgTlVMTCkpIHsKKwkJc3lzbG9nKExPR19FUlIsICJmYXRhbCBlcnJvciBhdCAlczol ZFxuIiwKKwkJCV9fUFJFVFRZX0ZVTkNUSU9OX18sIF9fTElORV9fKSA7CisJCXJlc3VsdCA9IERC VVNfSEFORExFUl9SRVNVTFRfTk9UX1lFVF9IQU5ETEVEOworCQlnb3RvIHNraXBfbGFiZWw7CisJ fQorCQorc2tpcF9sYWJlbDoKKwlpZiAocmVwbHkpIHsKKwkJZGJ1c19tZXNzYWdlX3VucmVmIChy ZXBseSkgOworCQlyZXBseSA9IE5VTEwgOworCX0KKwlpZihjbmZfcmVzdWx0KSB7CisJCWZyZWUo Y25mX3Jlc3VsdCk7CisJfQorCQorCWlmKGNuZl9kYXRhKSB7CisJCWZyZWUoY25mX2RhdGEpOwor CX0KKwkJCisJcmV0dXJuIHJlc3VsdDsKK30KKworLyoqCisgKiAgVE9ETworICogIEBwYXJhbSAg CisgKiAgQHJldHVybgorICovCitzdGF0aWMgREJ1c0hhbmRsZXJSZXN1bHQgCitoYW5kbGVfbGlz dGVuX3JlcShEQnVzQ29ubmVjdGlvbiAqZGJ1c19jb25uLCBEQnVzTWVzc2FnZSAqbXNnLCB2b2lk KiBkYXRhKQoreworCURCdXNNZXNzYWdlICpyZXBseSA9IE5VTEw7CisJREJ1c01lc3NhZ2VJdGVy IGl0ZXI7CisJY29uc3QgdW5zaWduZWQgY2hhciAqcHRyOworCURCdXNIYW5kbGVyUmVzdWx0IHJl c3VsdCA9IERCVVNfSEFORExFUl9SRVNVTFRfSEFORExFRDsKKwlwYW5kX2RidXNfbGlzdGVuX3Jl cV90ICAgIHJlcTsKKwlwYW5kX2RidXNfcmVxX2NuZl90CWNuZl9yZXN1bHQ7CisJaW50IHJldF92 YWwsIHNpemU7CisJCisKKwltZW1zZXQoJnJlcSwgMCwgc2l6ZW9mKHBhbmRfZGJ1c19saXN0ZW5f cmVxX3QpKTsKKwkKKwljbmZfcmVzdWx0LnR5cGUgPSBQQU5EX0RCVVNfTElTVEVOX1JFUV9DTkZf VFlQRTsKKwkKKwkKKwlpZighcGFuZF91dGlsX2dldF9yZXFfYXR0cihtc2csIFBBTkRfREJVU19M SVNURU5fUkVRX1RZUEUsIHNpemVvZihwYW5kX2RidXNfbGlzdGVuX3JlcV90KSwmcmVxKSl7CisJ CXJldF92YWwgPSBjbWRfbGlzdGVuKCZyZXEpOworCQljbmZfcmVzdWx0LnJlc3VsdCA9ICghcmV0 X3ZhbD9QQU5EX1JFU1VMVF9TVUNDRVNTOlBBTkRfUkVTVUxUX0ZBSUxFRCk7CQorCX1lbHNlewor CQljbmZfcmVzdWx0LnJlc3VsdCA9IFBBTkRfUkVTVUxUX0ZBSUxFRDsKKwl9CisJCQorCXNpemUg PSBzaXplb2YocGFuZF9kYnVzX3JlcV9jbmZfdCk7CisJcHRyID0gKGNvbnN0IHVuc2lnbmVkIGNo YXIqKSZjbmZfcmVzdWx0OworCQorCXJlcGx5ID0gZGJ1c19tZXNzYWdlX25ld19tZXRob2RfcmV0 dXJuKG1zZyk7CQkKKwlkYnVzX21lc3NhZ2VfaXRlcl9pbml0KHJlcGx5LCAmaXRlcik7CisJZGJ1 c19tZXNzYWdlX2FwcGVuZF9pdGVyX2luaXQocmVwbHksICZpdGVyKTsKKwlkYnVzX21lc3NhZ2Vf aXRlcl9hcHBlbmRfYnl0ZV9hcnJheSgmaXRlciwgcHRyLCBzaXplKTsKKworCQorCWlmICghZGJ1 c19jb25uZWN0aW9uX3NlbmQgKGRidXNfY29ubiwgcmVwbHksIE5VTEwpKSB7CisJCXN5c2xvZyhM T0dfRVJSLCAiZmF0YWwgZXJyb3IgYXQgJXM6JWRcbiIsCisJCSAgICAgICBfX0ZJTEVfXywgX19M SU5FX18pIDsKKwkJcmVzdWx0ID0gREJVU19IQU5ETEVSX1JFU1VMVF9OT1RfWUVUX0hBTkRMRUQ7 CisJCWdvdG8gc2tpcF9sYWJlbDsKKwl9CisJCitza2lwX2xhYmVsOgkJCisJaWYgKHJlcGx5KSB7 CisJCWRidXNfbWVzc2FnZV91bnJlZiAocmVwbHkpIDsKKwkJcmVwbHkgPSBOVUxMIDsKKwl9CisJ cmV0dXJuIHJlc3VsdDsKK30KKworLyoqCisgKiAgVE9ETworICogIEBwYXJhbSAgCisgKiAgQHJl dHVybgorICovCitzdGF0aWMgREJ1c0hhbmRsZXJSZXN1bHQgCitoYW5kbGVfbGlzdGVuX3N0b3Bf cmVxKERCdXNDb25uZWN0aW9uICpkYnVzX2Nvbm4sIERCdXNNZXNzYWdlICptc2csIHZvaWQqIGRh dGEpCit7CisJREJ1c01lc3NhZ2UgKnJlcGx5ID0gTlVMTDsKKwlEQnVzTWVzc2FnZUl0ZXIgaXRl cjsKKwljb25zdCB1bnNpZ25lZCBjaGFyICpwdHI7CisJREJ1c0hhbmRsZXJSZXN1bHQgcmVzdWx0 ID0gREJVU19IQU5ETEVSX1JFU1VMVF9IQU5ETEVEOworCXBhbmRfZGJ1c19saXN0ZW5fc3RvcF9y ZXFfdCAgICByZXE7CisJcGFuZF9kYnVzX3JlcV9jbmZfdAljbmZfcmVzdWx0OworCWludCByZXRf dmFsLCBzaXplOworCisJbWVtc2V0KCZyZXEsIDAsIHNpemVvZihwYW5kX2RidXNfbGlzdGVuX3N0 b3BfcmVxX3QpKTsKKwkKKwljbmZfcmVzdWx0LnR5cGUgPSBQQU5EX0RCVVNfTElTVEVOX1NUT1Bf UkVRX0NORl9UWVBFOworCQorCWlmKCFwYW5kX3V0aWxfZ2V0X3JlcV9hdHRyKG1zZywgUEFORF9E QlVTX0xJU1RFTl9TVE9QX1JFUV9UWVBFLCBzaXplb2YocGFuZF9kYnVzX2xpc3Rlbl9zdG9wX3Jl cV90KSwmcmVxKSl7CisJCXJldF92YWwgPSBjbWRfbGlzdGVuX3N0b3AoJnJlcSk7CisJCWNuZl9y ZXN1bHQucmVzdWx0ID0gKCFyZXRfdmFsP1BBTkRfUkVTVUxUX1NVQ0NFU1M6UEFORF9SRVNVTFRf RkFJTEVEKTsJCisJfWVsc2V7CisJCWNuZl9yZXN1bHQucmVzdWx0ID0gUEFORF9SRVNVTFRfRkFJ TEVEOworCX0KKwkKKwlzaXplID0gc2l6ZW9mKHBhbmRfZGJ1c19yZXFfY25mX3QpOworCXB0ciA9 IChjb25zdCB1bnNpZ25lZCBjaGFyKikmY25mX3Jlc3VsdDsKKwkKKwlyZXBseSA9IGRidXNfbWVz c2FnZV9uZXdfbWV0aG9kX3JldHVybihtc2cpOworCWRidXNfbWVzc2FnZV9pdGVyX2luaXQocmVw bHksICZpdGVyKTsKKwlkYnVzX21lc3NhZ2VfYXBwZW5kX2l0ZXJfaW5pdChyZXBseSwgJml0ZXIp OworCWRidXNfbWVzc2FnZV9pdGVyX2FwcGVuZF9ieXRlX2FycmF5KCZpdGVyLCBwdHIsIHNpemUp OworCQorCWlmICghZGJ1c19jb25uZWN0aW9uX3NlbmQgKGRidXNfY29ubiwgcmVwbHksIE5VTEwp KSB7CisJCXN5c2xvZyhMT0dfRVJSLCAiZmF0YWwgZXJyb3IgYXQgJXM6JWRcbiIsCisJCSAgICAg ICBfX0ZJTEVfXywgX19MSU5FX18pIDsKKwkJcmVzdWx0ID0gREJVU19IQU5ETEVSX1JFU1VMVF9O T1RfWUVUX0hBTkRMRUQ7CisJCWdvdG8gc2tpcF9sYWJlbDsKKwl9Citza2lwX2xhYmVsOgkJCisJ aWYgKHJlcGx5KSB7CisJCWRidXNfbWVzc2FnZV91bnJlZiAocmVwbHkpIDsKKwkJcmVwbHkgPSBO VUxMIDsKKwl9CisJcmV0dXJuIHJlc3VsdDsKK30KKy8qKgorICogIFRPRE8KKyAqICBAcGFyYW0g IAorICogIEByZXR1cm4KKyAqLworc3RhdGljIERCdXNIYW5kbGVyUmVzdWx0CitoYW5kbGVfc2Vh cmNoX3JlcShEQnVzQ29ubmVjdGlvbiAqZGJ1c19jb25uLCBEQnVzTWVzc2FnZSAqbXNnLCB2b2lk ICpkYXRhKQoreworCURCdXNIYW5kbGVyUmVzdWx0IHJlc3VsdCA9IERCVVNfSEFORExFUl9SRVNV TFRfTk9UX1lFVF9IQU5ETEVEOworCXN5c2xvZyhMT0dfSU5GTywgIiVzIC0gbGluZTogJWRcbiIs IF9fUFJFVFRZX0ZVTkNUSU9OX18sIF9fTElORV9fKTsKKwkKKwlyZXR1cm4gcmVzdWx0OworfQor CisvKioKKyAqICBUT0RPCisgKiAgQHBhcmFtICAKKyAqICBAcmV0dXJuCisgKi8KK3N0YXRpYyB2 b2lkIAorcGFuZF9kYnVzX3VucmVnaXN0ZXJlZF9mdW5jIChEQnVzQ29ubmVjdGlvbiAqZGJ1c19j b25uLCAKKwlncG9pbnRlciAgICAgICAgdXNlcl9kYXRhKQoreworCXJldHVybjsKKworfQorCisv KioKKyAqICBUT0RPCisgKiAgQHBhcmFtICAKKyAqICBAcmV0dXJuCisgKi8KK3N0YXRpYyBEQnVz SGFuZGxlclJlc3VsdCAKK3BhbmRfZGJ1c19tc2dfZnVuYyAoREJ1c0Nvbm5lY3Rpb24gKmRidXNf Y29ubiwgREJ1c01lc3NhZ2UgKm1zZywgZ3BvaW50ZXIgdXNlcl9kYXRhKSAKK3sKKwlwYW5kX3Nl cnZpY2VzX2RhdGFfdCAqcHRyX2hhbmRsZXJzID0gIHBhbmRfc2VydmljZXM7CisgICAgICAgIERC dXNIYW5kbGVyUmVzdWx0IHJlc3VsdCA9IERCVVNfSEFORExFUl9SRVNVTFRfTk9UX1lFVF9IQU5E TEVEOworCisgICAgICAgIGNvbnN0IGNoYXIgKm1ldGhvZDsKKyAgICAgICAgY29uc3QgY2hhciAq cGF0aDsKKworICAgICAgICBtZXRob2QgPSBkYnVzX21lc3NhZ2VfZ2V0X21lbWJlciAobXNnKTsK KwlwYXRoID0gZGJ1c19tZXNzYWdlX2dldF9wYXRoIChtc2cpOworCisJZm9yICg7cHRyX2hhbmRs ZXJzLT5uYW1lOyBwdHJfaGFuZGxlcnMrKykgeworCQlpZihkYnVzX21lc3NhZ2VfaXNfbWV0aG9k X2NhbGwobXNnICwgT1JHX0JMVUVaX1BBTkRfREJVU19JRkFDRSwgcHRyX2hhbmRsZXJzLT5uYW1l KSkKKwkJeworCQkJcmVzdWx0ID0gKHB0cl9oYW5kbGVycy0+aGFuZGxlX2Z1bmMpKGRidXNfY29u biwgbXNnLCB1c2VyX2RhdGEpOworCQkJCisJCQlpZihyZXN1bHQgPT0gREJVU19IQU5ETEVSX1JF U1VMVF9IQU5ETEVEKSB7CisJCQkJZGJ1c19tZXNzYWdlX3VucmVmIChtc2cpIDsKKwkJCQltc2cg PSBOVUxMIDsKKwkJCX0KKwkJCWJyZWFrOworCQl9CisJfQorCXJldHVybiByZXN1bHQ7CisKK30K ZGlmZiAtdXJOYXcgYmx1ZXotdXRpbHMtMi4xNy5vcmlnL3BhbmQvcGFuZF9kYnVzX2NvbW1hbmRz LmMgYmx1ZXotdXRpbHMtMi4xNy1kYnVzL3BhbmQvcGFuZF9kYnVzX2NvbW1hbmRzLmMKLS0tIGJs dWV6LXV0aWxzLTIuMTcub3JpZy9wYW5kL3BhbmRfZGJ1c19jb21tYW5kcy5jCTE5NjktMTItMzEg MjE6MDA6MDAuMDAwMDAwMDAwIC0wMzAwCisrKyBibHVlei11dGlscy0yLjE3LWRidXMvcGFuZC9w YW5kX2RidXNfY29tbWFuZHMuYwkyMDA1LTA1LTIwIDE2OjM4OjQzLjYyODI1OTg4MCAtMDMwMApA QCAtMCwwICsxLDUxNCBAQAorLyoKKyAqCisgKiAgQmx1ZVogLSBCbHVldG9vdGggcHJvdG9jb2wg c3RhY2sgZm9yIExpbnV4CisgKgorICogIENvcHlyaWdodCAoQykgMjAwNSAgICAgICBDbGF1ZGlv IFRha2FoYXNpIDxjbGF1ZGlvLnRha2FoYXNpQGluZHQub3JnPgorICogIENvcHlyaWdodCAoQykg MjAwMi0yMDA0ICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CisgKgorICoK KyAqICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg aXQgYW5kL29yIG1vZGlmeQorICogIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiAgcHVibGlzaGVkIGJ5IHRoZSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb247CisgKgorICogIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAi QVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTCisgKiAgT1IgSU1Q TElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJD SEFOVEFCSUxJVFksCisgKiAgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5P TklORlJJTkdFTUVOVCBPRiBUSElSRCBQQVJUWSBSSUdIVFMuCisgKiAgSU4gTk8gRVZFTlQgU0hB TEwgVEhFIENPUFlSSUdIVCBIT0xERVIoUykgQU5EIEFVVEhPUihTKSBCRSBMSUFCTEUgRk9SIEFO WQorICogIENMQUlNLCBPUiBBTlkgU1BFQ0lBTCBJTkRJUkVDVCBPUiBDT05TRVFVRU5USUFMIERB TUFHRVMsIE9SIEFOWSBEQU1BR0VTCisgKiAgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTSBMT1NT IE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOIEFOCisgKiAgQUNUSU9OIE9GIENP TlRSQUNULCBORUdMSUdFTkNFIE9SIE9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQg T0YKKyAqICBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUiBQRVJGT1JNQU5DRSBPRiBU SElTIFNPRlRXQVJFLgorICoKKyAqICBBTEwgTElBQklMSVRZLCBJTkNMVURJTkcgTElBQklMSVRZ IEZPUiBJTkZSSU5HRU1FTlQgT0YgQU5ZIFBBVEVOVFMsCisgKiAgQ09QWVJJR0hUUywgVFJBREVN QVJLUyBPUiBPVEhFUiBSSUdIVFMsIFJFTEFUSU5HIFRPIFVTRSBPRiBUSElTCisgKiAgU09GVFdB UkUgSVMgRElTQ0xBSU1FRC4KKyAqCisgKgorICogICRJZDogcGFuZF9kYnVzX2NvbW1hbmRzLmMs diAxLjEyIDIwMDUvMDUvMjIgMTM6MDA6MDAgaG9sdG1hbm4gRXhwICQKKyAqLworCisjaW5jbHVk ZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNp bmNsdWRlIDxwdGhyZWFkLmg+CisjaW5jbHVkZSA8c2lnbmFsLmg+CisjaW5jbHVkZSA8ZXJybm8u aD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKworI2luY2x1ZGUgPHN5cy9zeXNsb2cuaD4KKyNpbmNs dWRlIDxzeXMvc29ja2V0Lmg+CisjaW5jbHVkZSA8c3lzL3BvbGwuaD4KKyNpbmNsdWRlIDxzeXMv dHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgor CisKKyNpbmNsdWRlIDxibHVldG9vdGgvYmx1ZXRvb3RoLmg+CisjaW5jbHVkZSA8Ymx1ZXRvb3Ro L2hjaS5oPgorI2luY2x1ZGUgPGJsdWV0b290aC9oY2lfbGliLmg+CisjaW5jbHVkZSA8Ymx1ZXRv b3RoL2wyY2FwLmg+CisjaW5jbHVkZSA8Ymx1ZXRvb3RoL2JuZXAuaD4KKworI2luY2x1ZGUgPGxp YmJyaWRnZS5oPgorCisjaW5jbHVkZSAicGFuZF9kYnVzX2NvbW1hbmRzLmgiCisjaW5jbHVkZSAi cGFuZC5oIgorCisKKy8vVE9ETworc3RhdGljIGNoYXIgbmV0ZGV2WzE2XSA9ICJibmVwJWQiOyAK K2V4dGVybiBpbnQgdGVybWluYXRlOworc3RhdGljIHB0aHJlYWRfdCB0aHJlYWRpZCA9IDA7CisK K3R5cGVkZWYgc3RydWN0IHsKKwlpbnQgcm9sZTsKKwlpbnQgc2s7CisJc3RydWN0IHNvY2thZGRy X2wyICpsMmE7Cit9bGlzdGVuX2FyZ3NfdDsKKworCisvKioKKyAqICBHZXQgbGlzdCBvZiBjb25u ZWN0ZWQgZGV2aWNlcworICogIEBwYXJhbSAgCisgKiAgQHJldHVybgorICovCitzdGF0aWMgaW50 IGdldF9jb25uX2xpc3QoaW50IHMsIGludCBkZXZfaWQsIHBhbmRfZGJ1c19nZXRfYWN0aXZlX2Nv bm5fY25mX3QgKipwcmVxX2NuZikKK3sKKwlzdHJ1Y3QgaGNpX2Nvbm5fbGlzdF9yZXEgKmNsOwor CXN0cnVjdCBoY2lfY29ubl9pbmZvICpjaTsKKwlwYW5kX2FjdGl2ZV9jb25uX3QgY29ubjsKKwlp bnQgaTsKKwlpbnQgcmV0X3ZhbCA9IC0xOworCisJaWYgKGRldl9pZCA8IDApCisJCXJldHVybiAt MTsKKworCWlmICghKGNsID0gbWFsbG9jKDEwICogc2l6ZW9mKCpjaSkgKyBzaXplb2YoKmNsKSkp KSB7CisJCXN5c2xvZyhMT0dfRVJSLCJDYW4ndCBhbGxvY2F0ZSBtZW1vcnkiKTsKKwkJcmV0dXJu IC0xOworCX0KKwljbC0+ZGV2X2lkID0gZGV2X2lkOworCWNsLT5jb25uX251bSA9IDEwOworCWNp ID0gY2wtPmNvbm5faW5mbzsKKworCWlmIChpb2N0bChzLCBIQ0lHRVRDT05OTElTVCwgKHZvaWQg KikgY2wpKSB7CisJCXN5c2xvZyhMT0dfRVJSLCJDYW4ndCBnZXQgY29ubmVjdGlvbiBsaXN0Iik7 CisJCWdvdG8gY2xlYW51cDsKKwl9CisKKwkqcHJlcV9jbmYgPSAocGFuZF9kYnVzX2dldF9hY3Rp dmVfY29ubl9jbmZfdCopIG1hbGxvYyhzaXplb2YocGFuZF9kYnVzX2dldF9hY3RpdmVfY29ubl9j bmZfdCkpOworCSgqcHJlcV9jbmYpLT5udW1fY29ubiA9IDA7CisJCisJCisJZm9yIChpID0gMDsg aSA8IGNsLT5jb25uX251bTsgaSsrLCBjaSsrKSB7CisJCWNoYXIgYWRkclsxOF07CisJCWJhMnN0 cigmY2ktPmJkYWRkciwgYWRkcik7CisJCW1lbXNldCgmY29ubiwgMCwgc2l6ZW9mKHBhbmRfYWN0 aXZlX2Nvbm5fdCkpOworCQlzdHJjcHkoY29ubi5iZGFkZHIsIGFkZHIpOworCQljb25uLmxpbmtf dHlwZSA9IGNpLT50eXBlOworCQljb25uLmhhbmRsZSA9IGNpLT5oYW5kbGU7CisJCWNvbm4uc3Rh dGUgPSBjaS0+c3RhdGU7CisJCWNvbm4ubWFzdGVyID0gY2ktPmxpbmtfbW9kZTsKKwkJCisJCSpw cmVxX2NuZiA9IChwYW5kX2RidXNfZ2V0X2FjdGl2ZV9jb25uX2NuZl90KilyZWFsbG9jICBcCisJ CQkJKCpwcmVxX2NuZiwgKCgqcHJlcV9jbmYpLT5udW1fY29ubiArIDEpICogXAorCQkJCXNpemVv ZihwYW5kX2FjdGl2ZV9jb25uX3QpICsgICAgICAgICAgXAorCQkJCXNpemVvZihwYW5kX2RidXNf Z2V0X2FjdGl2ZV9jb25uX2NuZl90KSk7CisJCQorCQltZW1jcHkoKCpwcmVxX2NuZiktPmNvbm4g KyAoKnByZXFfY25mKS0+bnVtX2Nvbm4sICZjb25uLCBzaXplb2YocGFuZF9hY3RpdmVfY29ubl90 KSk7CisJCQorCQkoKnByZXFfY25mKS0+bnVtX2Nvbm4rKzsKKwl9CisJcmV0X3ZhbCA9IDA7Citj bGVhbnVwOgorCXJldHVybiByZXRfdmFsOworfQorCisvKioKKyAqICBEZWFsb2NhdGUgdGhyZWFk IHBhcmFtZXRlcnMKKyAqICBAcGFyYW0gIAorICogIEByZXR1cm4KKyAqLworc3RhdGljIAordm9p ZCBkZWFsbG9jYXRlX3RocmVhZF9wYXJhbSh2b2lkKiBwYXJhbSkgCit7IAorCWxpc3Rlbl9hcmdz X3QgKnAgPSAobGlzdGVuX2FyZ3NfdCopcGFyYW07CisJCisJY2xvc2UocC0+c2spOworCWZyZWUg KHAtPmwyYSk7IAorCWZyZWUgKHApOyAKK30KKworLyoqCisgKiAgTGlzdGVuIHRocmVhZCBmdW5j dGlvbgorICogIEBwYXJhbSAgCisgKiAgQHJldHVybgorICovCit2b2lkICpsaXN0ZW5fdGhyZWFk ICh2b2lkICpwYXJhbSkgCit7CisJbGlzdGVuX2FyZ3NfdCAqcCA9IChsaXN0ZW5fYXJnc190Kilw YXJhbTsKKwkKKwkKKwlwdGhyZWFkX2NsZWFudXBfcHVzaCAoZGVhbGxvY2F0ZV90aHJlYWRfcGFy YW0sIHApOworCXdoaWxlICghdGVybWluYXRlKSB7CisJCWludCBhbGVuID0gc2l6ZW9mKHN0cnVj dCBzb2NrYWRkcl9sMik7CisJCWludCBuc2s7CisKKwkJbnNrID0gYWNjZXB0KHAtPnNrLCAoc3Ry dWN0IHNvY2thZGRyICopIHAtPmwyYSwgJmFsZW4pOworCQkKKwkJaWYgKG5zayA8IDApIHsKKwkJ CXN5c2xvZyhMT0dfRVJSLCAiQWNjZXB0IGZhaWxlZC4gJXMoJWQpXG4iLCBzdHJlcnJvcihlcnJu byksIGVycm5vKTsKKwkJCWNvbnRpbnVlOworCQl9CisKKwkJc3dpdGNoIChmb3JrKCkpIHsKKwkJ CWNhc2UgMDoKKwkJCQlicmVhazsKKwkJCWNhc2UgLTE6CisJCQkJc3lzbG9nKExPR19FUlIsICJG b3JrIGZhaWxlZC4gJXMoJWQpXG4iLCBzdHJlcnJvcihlcnJubyksIGVycm5vKTsKKwkJCWRlZmF1 bHQ6CisJCQkJY2xvc2UobnNrKTsKKwkJCQljb250aW51ZTsKKwkJfQorCisJCWlmICghYm5lcF9h Y2NlcHRfY29ubmVjdGlvbihuc2ssIHAtPnJvbGUsIG5ldGRldikpIHsKKwkJCWNoYXIgc3RyWzQw XTsKKwkJCWJhMnN0cigmKHAtPmwyYS0+bDJfYmRhZGRyKSwgc3RyKTsKKworCQkJc3lzbG9nKExP R19JTkZPLCAiTmV3IGNvbm5lY3Rpb24gZnJvbSAlcyAlc1xuIiwgc3RyLCBuZXRkZXYpOworCQkJ LyogVE9ETyBmb3IgR04gYW5kIE5BUCBhZGQgdGhlIG5ldyBkZXZpY2UgdG8gdGhlIGJyaWRnZSAq LworCQkJLyogVE9ETyBub3RpZnkgYWxsIGRidXMgY29ubmVjdGVkIGNsaWVudHMgICAgICAgICAg ICAgICAqLworCQl9IGVsc2UgeworCQkJc3lzbG9nKExPR19FUlIsICJDb25uZWN0aW9uIGZhaWxl ZC4gJXMoJWQpXG4iLAorCQkJICAgICAgIHN0cmVycm9yKGVycm5vKSwgZXJybm8pOworCQl9CisK KwkJY2xvc2UobnNrKTsKKwkJc3lzbG9nKExPR19JTkZPLCIlcyBsaW5lOiVkIiwgX19QUkVUVFlf RlVOQ1RJT05fXywgX19MSU5FX18pOworCQlleGl0KDApOworCX0KKwljbG9zZShwLT5zayk7CisJ cHRocmVhZF9jbGVhbnVwX3BvcCgxKTsKKwlibmVwX3NkcF91bnJlZ2lzdGVyKCk7CisJCisJcmV0 dXJuIE5VTEw7Cit9CisKKwkJICAgCisJCSAgIAorLyoqCisgKiBDb25uZWN0IGFuZCBpbml0aWF0 ZSBCTkVQIHNlc3Npb24KKyAqIEBwYXJhbQorICogQHJldHVybgorICogICAtMSAtIGNyaXRpY2Fs IGVycm9yIChleGl0IHBlcnNpc3QgbW9kZSkKKyAqICAgMSAgLSBub24gY3JpdGljYWwgZXJyb3IK KyAqICAgMCAgLSBzdWNjZXNzCisgKi8KK2ludCBjbWRfY29ubmVjdChjaGFyICpkc3QsIHVpbnQx Nl90IHJvbGUsIHVpbnQxNl90IHNlcnZpY2UpCit7CisJc3RydWN0IGwyY2FwX29wdGlvbnMgbDJv OworCXN0cnVjdCBzb2NrYWRkcl9sMiBsMmE7CisJYmRhZGRyX3Qgc3JjX2FkZHIgPSAqQkRBRERS X0FOWTsKKwlpbnQgc2ssIG9sZW4sIHJldF92YWwgPSAwOworCisJc3lzbG9nKExPR19JTkZPLCAi Q29ubmVjdGluZyB0byAlc1xuIiwgZHN0KTsKKworCXNrID0gc29ja2V0KEFGX0JMVUVUT09USCwg U09DS19TRVFQQUNLRVQsIEJUUFJPVE9fTDJDQVApOworCWlmIChzayA8IDApIHsKKwkJc3lzbG9n KExPR19FUlIsICJDYW5ub3QgY3JlYXRlIEwyQ0FQIHNvY2tldC4gJXMoJWQpIiwKKwkJICAgICAg IHN0cmVycm9yKGVycm5vKSwgZXJybm8pOworCQlyZXR1cm4gLTE7CisJfQorCisJLyogU2V0dXAg TDJDQVAgb3B0aW9ucyBhY2NvcmRpbmcgdG8gQk5FUCBzcGVjICovCisJbWVtc2V0KCZsMm8sIDAs IHNpemVvZihsMm8pKTsKKwlvbGVuID0gc2l6ZW9mKGwybyk7CisJZ2V0c29ja29wdChzaywgU09M X0wyQ0FQLCBMMkNBUF9PUFRJT05TLCAmbDJvLCAmb2xlbik7CisJbDJvLmltdHUgPSBsMm8ub210 dSA9IEJORVBfTVRVOworCXNldHNvY2tvcHQoc2ssIFNPTF9MMkNBUCwgTDJDQVBfT1BUSU9OUywg Jmwybywgc2l6ZW9mKGwybykpOworCisJbWVtc2V0KCZsMmEsIDAsIHNpemVvZihsMmEpKTsKKwls MmEubDJfZmFtaWx5ID0gQUZfQkxVRVRPT1RIOworCWJhY3B5KCZsMmEubDJfYmRhZGRyLCAmc3Jj X2FkZHIpOworCisJaWYgKGJpbmQoc2ssIChzdHJ1Y3Qgc29ja2FkZHIgKikgJmwyYSwgc2l6ZW9m KGwyYSkpKQorCQlzeXNsb2coTE9HX0VSUiwgIkJpbmQgZmFpbGVkLiAlcyglZCkiLCAKKwkJICAg ICAgIHN0cmVycm9yKGVycm5vKSwgZXJybm8pOworCisJbWVtc2V0KCZsMmEsIDAsIHNpemVvZihs MmEpKTsKKwlsMmEubDJfZmFtaWx5ID0gQUZfQkxVRVRPT1RIOworCS8vYmFjcHkoJmwyYS5sMl9i ZGFkZHIsIGJkYWRkcik7CisJc3RyMmJhKGRzdCwgJmwyYS5sMl9iZGFkZHIpOworCWwyYS5sMl9w c20gPSBodG9icyhCTkVQX1BTTSk7CisKKwlpZiAoIWNvbm5lY3Qoc2ssIChzdHJ1Y3Qgc29ja2Fk ZHIgKikgJmwyYSwgc2l6ZW9mKGwyYSkpICYmIAorCQkgICAgIWJuZXBfY3JlYXRlX2Nvbm5lY3Rp b24oc2ssIHJvbGUsIHNlcnZpY2UsIG5ldGRldikpIHsKKworCQlzeXNsb2coTE9HX0lORk8sICIl cyBjb25uZWN0ZWQiLCBuZXRkZXYpOworCQkvL3J1bl9kZXZ1cChuZXRkZXYsIGRzdCwgc2ssIC0x KTsKKwkJcmV0X3ZhbCA9IDA7CisJfSBlbHNlIHsKKwkJc3lzbG9nKExPR19FUlIsICJDb25uZWN0 IHRvICVzIGZhaWxlZC4gJXMoJWQpIiwKKwkJCWRzdCwgc3RyZXJyb3IoZXJybm8pLCBlcnJubyk7 CisJCXJldF92YWwgPSAxOworCX0KKworCWNsb3NlKHNrKTsKKwlyZXR1cm4gcmV0X3ZhbDsKK30K KworLyoqCisgKiAgRGlzY29ubmVjdCBmcm9tIG9uZSBvciBhbGwgY29ubmVjdGVkIGRldmljZXMK KyAqICBAcGFyYW0gIAorICogIEByZXR1cm4KKyAqLworaW50IGNtZF9kaXNjb25uZWN0IChwYW5k X2RidXNfZGlzY29ubl9yZXFfdCAqcGRjKQoreworCWludCByZXRfdmFsID0gLTE7CisJYmRhZGRy X3QgKmRzdDsKKwkKKwkKKwlpZihwZGMpIHsKKwkJaWYocGRjLT5iZGFkZHJbMF0gIT0gMCkgewor CQkJZHN0ID0gc3RydG9iYShwZGMtPmJkYWRkcik7CisJCQlyZXRfdmFsID0gYm5lcF9raWxsX2Nv bm5lY3Rpb24oKHVpbnQ4X3QqKWRzdCk7CisJCX0KKwkJCisJfWVsc2UKKwl7CisJCXJldF92YWwg PSBibmVwX2tpbGxfYWxsX2Nvbm5lY3Rpb25zKCk7CisJfQorCXJldHVybiByZXRfdmFsOworfQor CisvKioKKyAqICBSZXR1cm5zIGFjdGl2ZSBjb25uZWN0aW9ucworICogIEBwYXJhbSAgCisgKiAg QHJldHVybgorICovCitpbnQgY21kX2dldF9hY3RpdmVfY29ubihwYW5kX2RidXNfZ2V0X2FjdGl2 ZV9jb25uX3JlcV90ICpwcmVxLCBwYW5kX2RidXNfZ2V0X2FjdGl2ZV9jb25uX2NuZl90ICoqcHJl cV9jbmYpCit7CisJaW50IHJldF92YWwgPSAtMTsKKwkKKwlzdHJ1Y3QgaGNpX2Rldl9saXN0X3Jl cSAqZGwgPSBOVUxMOworCXN0cnVjdCBoY2lfZGV2X3JlcSAqZHIgPSBOVUxMOworCWludCBpLCBz azsKKworCWlmKCFwcmVxIHx8ICFwcmVxX2NuZikgeworCQlyZXR1cm4gLTE7CisJfQorCQkKKwlt ZW1zZXQocHJlcV9jbmYsMCxzaXplb2YocGFuZF9kYnVzX2dldF9hY3RpdmVfY29ubl9jbmZfdCkp OworCQorCXNrID0gc29ja2V0KEFGX0JMVUVUT09USCwgU09DS19SQVcsIEJUUFJPVE9fSENJKTsK KwlpZiAoc2sgPCAwKQorCQlyZXR1cm4gLTE7CisKKwlpZihwcmVxLT5kZXZfaWQgIT0gMCkgewor CQlnZXRfY29ubl9saXN0KHNrLCBwcmVxLT5kZXZfaWQsIHByZXFfY25mKTsKKwl9ZWxzZSB7CisJ CWRsID0gbWFsbG9jKEhDSV9NQVhfREVWICogc2l6ZW9mKCpkcikgKyBzaXplb2YoKmRsKSk7CisJ CWlmICghZGwpIHsKKwkJCWdvdG8gY2xlYW51cDsKKwkJfQorCQorCQlkbC0+ZGV2X251bSA9IEhD SV9NQVhfREVWOworCQlkciA9IGRsLT5kZXZfcmVxOworCQorCQlpZiAoaW9jdGwoc2ssIEhDSUdF VERFVkxJU1QsICh2b2lkICopIGRsKSkKKwkJCWdvdG8gY2xlYW51cDsKKwkKKwkJZm9yIChpID0g MDsgaSA8IGRsLT5kZXZfbnVtOyBpKyssIGRyKyspIHsKKwkJCWlmIChoY2lfdGVzdF9iaXQoSENJ X1VQLCAmZHItPmRldl9vcHQpKQorCQkJCXJldF92YWwgPSBnZXRfY29ubl9saXN0KHNrLCBkci0+ ZGV2X2lkLCBwcmVxX2NuZik7CisJCX0KKwl9CisKK2NsZWFudXA6CisJY2xvc2Uoc2spOworCWlm KGRsKSB7CisJCWZyZWUoZGwpOworCX0KKwkJCisJcmV0dXJuIHJldF92YWw7Cit9CisKKy8qKgor ICogIEdldHMgbG9jYWwgQmx1ZXRvb3RoIGRldmljZXMKKyAqICBAcGFyYW0gIAorICogIEByZXR1 cm4KKyAqLworaW50IGNtZF9nZXRfZGV2aWNlcyhwYW5kX2RidXNfZ2V0X2Rldl9jbmZfdCAqKnBy ZXFfY25mKQoreworCXN0cnVjdCBoY2lfZGV2X2xpc3RfcmVxICpkbCA9IE5VTEw7CisJc3RydWN0 IGhjaV9kZXZfcmVxICpkciA9IE5VTEw7CisJcGFuZF9kZXZfaW5mb190ICpwZGV2ID0gTlVMTDsK KwlzdHJ1Y3QgaGNpX2Rldl9pbmZvIGRpOworCWludCBpLCBzaywgc2l6ZTsKKwljaGFyIGFkZHJb MThdOworCWludCByZXRfdmFsID0gMDsKKworCWlmKCFwcmVxX2NuZikgeworCQlyZXR1cm4gLTE7 CisJfQorCQkKKwlzayA9IHNvY2tldChBRl9CTFVFVE9PVEgsIFNPQ0tfUkFXLCBCVFBST1RPX0hD SSk7CisJaWYgKHNrIDwgMCkKKwkJcmV0dXJuIC0xOworCisJZGwgPSBtYWxsb2MoSENJX01BWF9E RVYgKiBzaXplb2YoKmRyKSArIHNpemVvZigqZGwpKTsKKwkKKwlpZiAoIWRsKSB7CisJCXJldF92 YWwgPSAtMTsKKwkJZ290byBjbGVhbnVwOworCX0KKworCWRsLT5kZXZfbnVtID0gSENJX01BWF9E RVY7CisJZHIgPSBkbC0+ZGV2X3JlcTsKKworCWlmIChpb2N0bChzaywgSENJR0VUREVWTElTVCwg KHZvaWQgKikgZGwpKSB7CisJCXJldF92YWwgPSAtMTsKKwkJZ290byBjbGVhbnVwOworCX0KKwor CXNpemUgPSBzaXplb2YocGFuZF9kYnVzX2dldF9kZXZfY25mX3QpOworCSpwcmVxX2NuZiA9IChw YW5kX2RidXNfZ2V0X2Rldl9jbmZfdCopcmVhbGxvYygqcHJlcV9jbmYsIHNpemUpOworCSgqcHJl cV9jbmYpLT5udW1fZGV2ID0gMDsKKwkJCisJZm9yIChpID0gMDsgaSA8IGRsLT5kZXZfbnVtOyBp KyssIGRyKyspIHsKKwkJaWYgKGhjaV90ZXN0X2JpdChIQ0lfVVAsICZkci0+ZGV2X29wdCkpIHsK KwkJCW1lbXNldCgmZGksIDAgLCBzaXplb2Yoc3RydWN0IGhjaV9kZXZfaW5mbykpOworCQkJZGku ZGV2X2lkID0gZHItPmRldl9pZDsKKwkJCWlmICghaW9jdGwoc2ssIEhDSUdFVERFVklORk8sICh2 b2lkICopICZkaSkpIHsKKwkJCQlzaXplID0gKCgqcHJlcV9jbmYpLT5udW1fZGV2ICsxKSogc2l6 ZW9mKHBhbmRfZGV2X2luZm9fdCkrIHNpemVvZihwYW5kX2RidXNfZ2V0X2Rldl9jbmZfdCk7CisJ CQkJKnByZXFfY25mID0gKHBhbmRfZGJ1c19nZXRfZGV2X2NuZl90KilyZWFsbG9jKCpwcmVxX2Nu Ziwgc2l6ZSk7CisJCQkJcGRldiA9ICgocGFuZF9kZXZfaW5mb190KikoKnByZXFfY25mKS0+ZGV2 aWNlcyk7CisJCQkJcGRldiA9IHBkZXYgKyAoKnByZXFfY25mKS0+bnVtX2RldjsKKwkJCQlwZGV2 LT5kZXZfaWQgPSBkaS5kZXZfaWQ7CisJCQkJc3RyY3B5KHBkZXYtPm5hbWUsIGRpLm5hbWUpOwor CQkJCWJhMnN0cigmZGkuYmRhZGRyLCBhZGRyKTsKKwkJCQlzdHJjcHkocGRldi0+YmRhZGRyLCBh ZGRyKTsKKwkJCQkoKnByZXFfY25mKS0+bnVtX2RldisrOworCQkJfQorCQl9CisJfQorCitjbGVh bnVwOgorCWNsb3NlKHNrKTsKKwlpZihkbCkgeworCQlmcmVlKGRsKTsKKwl9CisJCQorCXJldHVy biByZXRfdmFsOworfQorCisvKioKKyAqICBMaXN0ZW4gZm9yIGluY29tbWluZyBjb25uZWN0aW9u cworICogIEBwYXJhbSAgCisgKiAgQHJldHVybgorICovCitpbnQgCitjbWRfbGlzdGVuKHBhbmRf ZGJ1c19saXN0ZW5fcmVxX3QgKnByZXEpIHsKKworCXN0cnVjdCBsMmNhcF9vcHRpb25zIGwybzsK KwlzdHJ1Y3Qgc29ja2FkZHJfbDIgKnBsMmEgPSBOVUxMOworCWxpc3Rlbl9hcmdzX3QgKmxpc3Rl bl9hcmd1bWVudHM7CisJYmRhZGRyX3Qgc3JjX2FkZHIgPSAqQkRBRERSX0FOWTsKKwkvL3B0aHJl YWRfdCB0aHJlYWRpZDsKKwlpbnQgc2ssIG9sZW4sIGxtOworCQorCS8qIFRPRE8gQ2hlY2sgaWYg dGhlIHRocmVhZCBpcyBydW5uaW5nICovCisJCisJLyogVE9ETyBDcmVhdGUgdGhlIGJyaWRnZSAq LworCWlmKHByZXEtPnJvbGUgIT0gQk5FUF9TVkNfUEFOVSkgeworCQlpZihwcmVxLT5icmlkZ2Vf bW9kZSA9PSBFTkFCTEVfQlJJREdFKSB7CisJCQkKKwkJfQorCX0KKworCS8vVE9ETyB2YWxpZGF0 ZSBwYXJhbWV0ZXJzCisJaWYoYm5lcF9zZHBfcmVnaXN0ZXIocHJlcS0+cm9sZSkpCisJeworCQlz eXNsb2coTE9HX0VSUiwgIkJORVAgcmVnaXN0ZXIgZmFpbGVkLiAlcyglZCkiLAorCQkgICAgIHN0 cmVycm9yKGVycm5vKSwgZXJybm8pOworCQlyZXR1cm4gLTE7CisJfSAgICAgICAgCisKKwkvKiBD cmVhdGUgTDJDQVAgc29ja2V0IGFuZCBiaW5kIGl0IHRvIFBTTSBCTkVQICovCisJc2sgPSBzb2Nr ZXQoQUZfQkxVRVRPT1RILCBTT0NLX1NFUVBBQ0tFVCwgQlRQUk9UT19MMkNBUCk7CisJaWYgKHNr IDwgMCkgeworCQlzeXNsb2coTE9HX0VSUiwgIkNhbm5vdCBjcmVhdGUgTDJDQVAgc29ja2V0LiAl cyglZCkiLAorCQkgICAgIHN0cmVycm9yKGVycm5vKSwgZXJybm8pOworCQlyZXR1cm4gLTE7IAor CX0KKworCXBsMmEgPSAoc3RydWN0IHNvY2thZGRyX2wyKiltYWxsb2Moc2l6ZW9mKHN0cnVjdCBz b2NrYWRkcl9sMikpOworCW1lbXNldChwbDJhLCAwLCBzaXplb2Yoc3RydWN0IHNvY2thZGRyX2wy KSk7CisJcGwyYS0+bDJfZmFtaWx5ID0gQUZfQkxVRVRPT1RIOworCWJhY3B5KCYocGwyYS0+bDJf YmRhZGRyKSwgJnNyY19hZGRyKTsKKwlwbDJhLT5sMl9wc20gPSBodG9icyhCTkVQX1BTTSk7CisK KwlpZiAoYmluZChzaywgKHN0cnVjdCBzb2NrYWRkciAqKSBwbDJhLCBzaXplb2Yoc3RydWN0IHNv Y2thZGRyX2wyKSkpIHsKKwkJc3lzbG9nKExPR19FUlIsICJCaW5kIGZhaWxlZC4gJXMoJWQpIiwg c3RyZXJyb3IoZXJybm8pLCBlcnJubyk7CisJCXJldHVybiAtMTsKKwl9CisKKyAgICAgIC8qIFNl dHVwIEwyQ0FQIG9wdGlvbnMgYWNjb3JkaW5nIHRvIEJORVAgc3BlYyAqLworCW1lbXNldCgmbDJv LCAwLCBzaXplb2YobDJvKSk7CisJb2xlbiA9IHNpemVvZihsMm8pOworCWlmIChnZXRzb2Nrb3B0 KHNrLCBTT0xfTDJDQVAsIEwyQ0FQX09QVElPTlMsICZsMm8sICZvbGVuKSA8IDApIHsKKwkJc3lz bG9nKExPR19FUlIsICJGYWlsZWQgdG8gZ2V0IEwyQ0FQIG9wdGlvbnMuICVzKCVkKSIsCisJCSAg ICAgc3RyZXJyb3IoZXJybm8pLCBlcnJubyk7CisJCXJldHVybiAtMTsKKwl9CisKKwlsMm8uaW10 dSA9IGwyby5vbXR1ID0gQk5FUF9NVFU7CisJaWYgKHNldHNvY2tvcHQoc2ssIFNPTF9MMkNBUCwg TDJDQVBfT1BUSU9OUywgJmwybywgc2l6ZW9mKGwybykpIDwgMCkgeworCQlzeXNsb2coTE9HX0VS UiwgIkZhaWxlZCB0byBzZXQgTDJDQVAgb3B0aW9ucy4gJXMoJWQpIiwKKwkJc3RyZXJyb3IoZXJy bm8pLCBlcnJubyk7CisJCXJldHVybiAtMTsKKwl9CisKKwkvKiBTZXQgbGluayBtb2RlICovCisJ bG0gPSAwOworCWlmIChwcmVxLT5tYXN0ZXIpCisJCWxtIHw9IEwyQ0FQX0xNX01BU1RFUjsKKwlp ZiAocHJlcS0+ZW5jcnlwdCkKKwkJbG0gfD0gTDJDQVBfTE1fRU5DUllQVDsKKwlpZiAocHJlcS0+ c2VjdXJlKQorCQlsbSB8PSBMMkNBUF9MTV9TRUNVUkU7CisKKwlpZiAobG0gJiYgc2V0c29ja29w dChzaywgU09MX0wyQ0FQLCBMMkNBUF9MTSwgJmxtLCBzaXplb2YobG0pKSA8IDApIHsKKwkJc3lz bG9nKExPR19FUlIsICJGYWlsZWQgdG8gc2V0IGxpbmsgbW9kZS4gJXMoJWQpIiwgc3RyZXJyb3Io ZXJybm8pLCBlcnJubyk7CisJCXJldHVybiAtMTsKKwl9CisJbGlzdGVuKHNrLCAxMCk7CisKKwls aXN0ZW5fYXJndW1lbnRzID0gKGxpc3Rlbl9hcmdzX3QqKW1hbGxvYyhzaXplb2YobGlzdGVuX2Fy Z3NfdCkpOworCWxpc3Rlbl9hcmd1bWVudHMtPnJvbGUgPSBwcmVxLT5yb2xlOworCWxpc3Rlbl9h cmd1bWVudHMtPnNrID0gc2s7CisJbGlzdGVuX2FyZ3VtZW50cy0+bDJhID0gcGwyYTsKKworCXRl cm1pbmF0ZSA9IDA7CisJCisJcmV0dXJuIHB0aHJlYWRfY3JlYXRlICgmdGhyZWFkaWQsIE5VTEws ICZsaXN0ZW5fdGhyZWFkLCBsaXN0ZW5fYXJndW1lbnRzKTsKK30KKy8qKgorICogIENhbmNlbCBs aXN0ZW4gdGhyZWFkCisgKiAgQHBhcmFtICAKKyAqICBAcmV0dXJuCisgKi8KK2ludCAKK2NtZF9s aXN0ZW5fc3RvcChwYW5kX2RidXNfbGlzdGVuX3N0b3BfcmVxX3QgKnByZXEpIAoreworCWludCBy ZXRfdmFsID0gLTE7CisJdGVybWluYXRlID0gMTsKKwlpZih0aHJlYWRpZCkgeworCQlwdGhyZWFk X2NhbmNlbCh0aHJlYWRpZCk7ICAgCisJCXRocmVhZGlkID0gMDsKKwkJcmV0X3ZhbCA9IDA7CisJ fQorCXJldHVybiByZXRfdmFsOworCQorfQorCmRpZmYgLXVyTmF3IGJsdWV6LXV0aWxzLTIuMTcu b3JpZy9wYW5kL3BhbmRfZGJ1c19jb21tYW5kcy5oIGJsdWV6LXV0aWxzLTIuMTctZGJ1cy9wYW5k L3BhbmRfZGJ1c19jb21tYW5kcy5oCi0tLSBibHVlei11dGlscy0yLjE3Lm9yaWcvcGFuZC9wYW5k X2RidXNfY29tbWFuZHMuaAkxOTY5LTEyLTMxIDIxOjAwOjAwLjAwMDAwMDAwMCAtMDMwMAorKysg Ymx1ZXotdXRpbHMtMi4xNy1kYnVzL3BhbmQvcGFuZF9kYnVzX2NvbW1hbmRzLmgJMjAwNS0wNS0y MCAxNjozODo0My42NjcyNTM5NTIgLTAzMDAKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAqCisgKiAg Qmx1ZVogLSBCbHVldG9vdGggcHJvdG9jb2wgc3RhY2sgZm9yIExpbnV4CisgKgorICogIENvcHly aWdodCAoQykgMjAwNSAgICAgICBDbGF1ZGlvIFRha2FoYXNpIDxjbGF1ZGlvLnRha2FoYXNpQGlu ZHQub3JnPgorICogIENvcHlyaWdodCAoQykgMjAwMi0yMDA0ICBNYXJjZWwgSG9sdG1hbm4gPG1h cmNlbEBob2x0bWFubi5vcmc+CisgKgorICoKKyAqICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0 d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogIGl0IHVuZGVy IHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFz CisgKiAgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247CisgKgorICog IFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFO WSBLSU5ELCBFWFBSRVNTCisgKiAgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRF RCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCisgKiAgRklUTkVTUyBGT1Ig QSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVCBPRiBUSElSRCBQQVJUWSBS SUdIVFMuCisgKiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIoUykgQU5E IEFVVEhPUihTKSBCRSBMSUFCTEUgRk9SIEFOWQorICogIENMQUlNLCBPUiBBTlkgU1BFQ0lBTCBJ TkRJUkVDVCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMsIE9SIEFOWSBEQU1BR0VTCisgKiAgV0hB VFNPRVZFUiBSRVNVTFRJTkcgRlJPTSBMT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVU SEVSIElOIEFOCisgKiAgQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SIE9USEVSIFRP UlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YKKyAqICBPUiBJTiBDT05ORUNUSU9OIFdJVEgg VEhFIFVTRSBPUiBQRVJGT1JNQU5DRSBPRiBUSElTIFNPRlRXQVJFLgorICoKKyAqICBBTEwgTElB QklMSVRZLCBJTkNMVURJTkcgTElBQklMSVRZIEZPUiBJTkZSSU5HRU1FTlQgT0YgQU5ZIFBBVEVO VFMsCisgKiAgQ09QWVJJR0hUUywgVFJBREVNQVJLUyBPUiBPVEhFUiBSSUdIVFMsIFJFTEFUSU5H IFRPIFVTRSBPRiBUSElTCisgKiAgU09GVFdBUkUgSVMgRElTQ0xBSU1FRC4KKyAqCisgKgorICog ICRJZDogcGFuZF9kYnVzX2NvbW1hbmRzLmgsdiAxLjEyIDIwMDUvMDUvMjIgMTM6MDA6MDAgaG9s dG1hbm4gRXhwICQKKyAqLworCisjaWZuZGVmIF9fSF9QQU5EX0RCVVNfQ09NTUFORFNfSF9fIAor I2RlZmluZSBfX0hfUEFORF9EQlVTX0NPTU1BTkRTX0hfXworCisjaW5jbHVkZSAiZGJ1c19zZXJ2 aWNlcy5oIgorCisjZGVmaW5lIFBBTkRfU0lHTkFMX1NUT1AgICAgICAgICAweDAxCisKK2ludCBj bWRfY29ubmVjdChjaGFyICpkc3QsIHVpbnQxNl90IHJvbGUsIHVpbnQxNl90IHNlcnZpY2UpOwor aW50IGNtZF9kaXNjb25uZWN0IChwYW5kX2RidXNfZGlzY29ubl9yZXFfdCAqcGRjKTsKK2ludCBj bWRfbGlzdGVuKHBhbmRfZGJ1c19saXN0ZW5fcmVxX3QgKnByZXEpOworaW50IGNtZF9saXN0ZW5f c3RvcChwYW5kX2RidXNfbGlzdGVuX3N0b3BfcmVxX3QgKnByZXEpOyAKK2ludCBjbWRfZ2V0X2Fj dGl2ZV9jb25uKHBhbmRfZGJ1c19nZXRfYWN0aXZlX2Nvbm5fcmVxX3QgKnByZXEsIHBhbmRfZGJ1 c19nZXRfYWN0aXZlX2Nvbm5fY25mX3QqKnByZXFfY25mKTsKK2ludCBjbWRfZ2V0X2RldmljZXMo cGFuZF9kYnVzX2dldF9kZXZfY25mX3QgKipwcmVxX2NuZik7CisKKworI2VuZGlmCmRpZmYgLXVy TmF3IGJsdWV6LXV0aWxzLTIuMTcub3JpZy9wYW5kL3BhbmRfZGJ1cy5oIGJsdWV6LXV0aWxzLTIu MTctZGJ1cy9wYW5kL3BhbmRfZGJ1cy5oCi0tLSBibHVlei11dGlscy0yLjE3Lm9yaWcvcGFuZC9w YW5kX2RidXMuaAkxOTY5LTEyLTMxIDIxOjAwOjAwLjAwMDAwMDAwMCAtMDMwMAorKysgYmx1ZXot dXRpbHMtMi4xNy1kYnVzL3BhbmQvcGFuZF9kYnVzLmgJMjAwNS0wNS0yMCAxNzoxMjowNi40NTY3 ODM2NjQgLTAzMDAKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAqCisgKiAgQmx1ZVogLSBCbHVldG9v dGggcHJvdG9jb2wgc3RhY2sgZm9yIExpbnV4CisgKgorICogIENvcHlyaWdodCAoQykgMjAwNSAg ICAgICBDbGF1ZGlvIFRha2FoYXNpIDxjbGF1ZGlvLnRha2FoYXNpQGluZHQub3JnPgorICogIENv cHlyaWdodCAoQykgMjAwMi0yMDA0ICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5v cmc+CisgKgorICoKKyAqICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy ZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0 aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiAgcHVibGlzaGVk IGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247CisgKgorICogIFRIRSBTT0ZUV0FSRSBJ UyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNT CisgKiAgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFO VElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCisgKiAgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV UlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVCBPRiBUSElSRCBQQVJUWSBSSUdIVFMuCisgKiAgSU4g Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIoUykgQU5EIEFVVEhPUihTKSBCRSBM SUFCTEUgRk9SIEFOWQorICogIENMQUlNLCBPUiBBTlkgU1BFQ0lBTCBJTkRJUkVDVCBPUiBDT05T RVFVRU5USUFMIERBTUFHRVMsIE9SIEFOWSBEQU1BR0VTCisgKiAgV0hBVFNPRVZFUiBSRVNVTFRJ TkcgRlJPTSBMT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOIEFOCisgKiAg QUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SIE9USEVSIFRPUlRJT1VTIEFDVElPTiwg QVJJU0lORyBPVVQgT0YKKyAqICBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUiBQRVJG T1JNQU5DRSBPRiBUSElTIFNPRlRXQVJFLgorICoKKyAqICBBTEwgTElBQklMSVRZLCBJTkNMVURJ TkcgTElBQklMSVRZIEZPUiBJTkZSSU5HRU1FTlQgT0YgQU5ZIFBBVEVOVFMsCisgKiAgQ09QWVJJ R0hUUywgVFJBREVNQVJLUyBPUiBPVEhFUiBSSUdIVFMsIFJFTEFUSU5HIFRPIFVTRSBPRiBUSElT CisgKiAgU09GVFdBUkUgSVMgRElTQ0xBSU1FRC4KKyAqCisgKgorICogICRJZDogcGFuZF9kYnVz LmgsdiAxLjEyIDIwMDUvMDUvMjIgMTM6MDA6MDAgaG9sdG1hbm4gRXhwICQKKyAqLworI2lmbmRl ZiBfX0hfUEFORF9EQlVTX0hfXyAKKyNkZWZpbmUgX19IX1BBTkRfREJVU19IX18KKworI2luY2x1 ZGUgPHN0ZGxpYi5oPgorCisKKworCisKK2ludCBwYW5kX2RidXNfc3RhcnQoKTsKK2ludCBwYW5k X2RidXNfc3RvcCgpOworCisjZW5kaWYgLyogX19IX1BBTkRfREJVU19IX18qLwpkaWZmIC11ck5h dyBibHVlei11dGlscy0yLjE3Lm9yaWcvcGFuZC9wYW5kX2RidXNfdXRpbC5jIGJsdWV6LXV0aWxz LTIuMTctZGJ1cy9wYW5kL3BhbmRfZGJ1c191dGlsLmMKLS0tIGJsdWV6LXV0aWxzLTIuMTcub3Jp Zy9wYW5kL3BhbmRfZGJ1c191dGlsLmMJMTk2OS0xMi0zMSAyMTowMDowMC4wMDAwMDAwMDAgLTAz MDAKKysrIGJsdWV6LXV0aWxzLTIuMTctZGJ1cy9wYW5kL3BhbmRfZGJ1c191dGlsLmMJMjAwNS0w NS0yMCAxNjozMjo0Ni40MjA1NjM3MDQgLTAzMDAKQEAgLTAsMCArMSwxMDIgQEAKKworLyoKKyAq CisgKiAgQmx1ZVogLSBCbHVldG9vdGggcHJvdG9jb2wgc3RhY2sgZm9yIExpbnV4CisgKgorICog IENvcHlyaWdodCAoQykgMjAwNSAgICAgICBDbGF1ZGlvIFRha2FoYXNpIDxjbGF1ZGlvLnRha2Fo YXNpQGluZHQub3JnPgorICogIENvcHlyaWdodCAoQykgMjAwMi0yMDA0ICBNYXJjZWwgSG9sdG1h bm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CisgKgorICoKKyAqICBUaGlzIHByb2dyYW0gaXMgZnJl ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogIGl0 IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lv biAyIGFzCisgKiAgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247Cisg KgorICogIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZ IE9GIEFOWSBLSU5ELCBFWFBSRVNTCisgKiAgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1Qg TElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCisgKiAgRklUTkVT UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVCBPRiBUSElSRCBQ QVJUWSBSSUdIVFMuCisgKiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIo UykgQU5EIEFVVEhPUihTKSBCRSBMSUFCTEUgRk9SIEFOWQorICogIENMQUlNLCBPUiBBTlkgU1BF Q0lBTCBJTkRJUkVDVCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMsIE9SIEFOWSBEQU1BR0VTCisg KiAgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTSBMT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRT LCBXSEVUSEVSIElOIEFOCisgKiAgQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SIE9U SEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YKKyAqICBPUiBJTiBDT05ORUNUSU9O IFdJVEggVEhFIFVTRSBPUiBQRVJGT1JNQU5DRSBPRiBUSElTIFNPRlRXQVJFLgorICoKKyAqICBB TEwgTElBQklMSVRZLCBJTkNMVURJTkcgTElBQklMSVRZIEZPUiBJTkZSSU5HRU1FTlQgT0YgQU5Z IFBBVEVOVFMsCisgKiAgQ09QWVJJR0hUUywgVFJBREVNQVJLUyBPUiBPVEhFUiBSSUdIVFMsIFJF TEFUSU5HIFRPIFVTRSBPRiBUSElTCisgKiAgU09GVFdBUkUgSVMgRElTQ0xBSU1FRC4KKyAqCisg KgorICogICRJZDogcGFuZF9kYnVzX3V0aWwuYyx2IDEuMTIgMjAwNS8wNS8yMiAxMzowMDowMCBo b2x0bWFubiBFeHAgJAorICovCisKKyNpbmNsdWRlIDxzdHJpbmcuaD4gIAorI2luY2x1ZGUgPHN5 cy9zeXNsb2cuaD4KKyNpbmNsdWRlIDxkYnVzL2RidXMuaD4KKyNpbmNsdWRlIDxkYnVzL2RidXMt Z2xpYi1sb3dsZXZlbC5oPgorI2luY2x1ZGUgPGRidXMvZGJ1cy1wcm90b2NvbC5oPgorCisjaW5j bHVkZSAicGFuZF9kYnVzX3V0aWwuaCIKKyNpbmNsdWRlICJkYnVzX3NlcnZpY2VzLmgiCisKKy8q KgorICogIEdldCBtZXNzYWdlIHR5cGUKKyAqICBAcGFyYW0gIAorICogIEByZXR1cm4KKyAqLwor UEFORF9NRVNTQUdFX1RZUEUgCitwYW5kX3V0aWxfZ2V0X21zZ190eXBlKERCdXNNZXNzYWdlICog bXNnKQoreworCVBBTkRfTUVTU0FHRV9UWVBFIHJldF90eXBlID0gUEFORF9EQlVTX0lOVkFMSURf VFlQRTsKKwlEQnVzRXJyb3IgZXJyb3I7CisJdWludDhfdCB0eXBlOworCQorCWRidXNfZXJyb3Jf aW5pdCgmZXJyb3IpOworCQorCWlmKGRidXNfbWVzc2FnZV9nZXRfYXJncyAobXNnLCZlcnJvcixE QlVTX1RZUEVfQllURSwgJnR5cGUsIERCVVNfVFlQRV9JTlZBTElEKSkJeworCQlyZXRfdHlwZSA9 IHR5cGU7CisJfQorCQorCWRidXNfZXJyb3JfZnJlZSgmZXJyb3IpOworCQorCXJldHVybiByZXRf dHlwZTsKK30KKworLyoqCisgKiAgR2V0IG1lc3NhZ2UgYXR0cmlidXRlcworICogIEBwYXJhbSAg CisgKiAgQHJldHVybgorICovCitpbnQgcGFuZF91dGlsX2dldF9yZXFfYXR0cihEQnVzTWVzc2Fn ZSAqbXNnLCBQQU5EX01FU1NBR0VfVFlQRSB0eXBlLCBpbnQgc2l6ZSwgdm9pZCAqcHJlcV9hdHRy KQoreworCWNvbnN0IHVuc2lnbmVkIGNoYXIgKnB0cjsKKwlEQnVzTWVzc2FnZUl0ZXIgaXRlcjsK KwlpbnQgbiwgcmV0X3ZhbCA9IC0xOworCVBBTkRfTUVTU0FHRV9UWVBFIG1zZ190eXBlOworCQor CWlmKG1zZykgeworCQlkYnVzX21lc3NhZ2VfaXRlcl9pbml0KG1zZywgJml0ZXIpOworCQkvL0dl dCB0aGUgZmlzcnQgYnl0ZSBpbiBvcmRlciB0byBjaGVjayB0aGUgY29kZQorCQltc2dfdHlwZSA9 IGRidXNfbWVzc2FnZV9pdGVyX2dldF9ieXRlKCZpdGVyKTsKKwkJCisJCWlmKG1zZ190eXBlID09 IHR5cGUpIHsKKwkJCS8qIGNoZWNrIHdhbnRlZCBzaXplIHRvIGF2b2lkIG1lbW9yeSBhY2Nlc3Mg dmlvbGF0aW9uICovCisJCQlpZihzaXplID4gMCkgeworCQkJCWlmKGRidXNfbWVzc2FnZV9pdGVy X25leHQoJml0ZXIpKSB7CisJCQkJCS8vVE9ETyBjaGVjayByZXR1cm4gcmVzdWx0CisJCQkJCWRi dXNfbWVzc2FnZV9pdGVyX2dldF9ieXRlX2FycmF5KCZpdGVyLCh2b2lkKikgJnB0ciwgJm4pOwor CQkJCQlpZihuID09IHNpemUpIHsKKwkJCQkJCW1lbWNweShwcmVxX2F0dHIsIHB0ciwgbik7CisJ CQkJCQlyZXRfdmFsID0gMDsKKwkJCQkJfQorCQkJCX1lbHNlIHsKKwkJCQkJcHJlcV9hdHRyID0g TlVMTDsJCisJCQkJfQorCQkJfWVsc2UgaWYoc2l6ZSA9PSAwKSB7CisJCQkJLyogaWYgdGhlIHJl cXVlc3QgZG9lc24ndCBoYXZlIGRhdGEsIGp1c3QgcmV0dXJuIHRydWUgKi8KKwkJCQlyZXRfdmFs ID0gMDsKKwkJCX0KKwkJfQorCX0KKwlyZXR1cm4gcmV0X3ZhbDsKK30KKworCmRpZmYgLXVyTmF3 IGJsdWV6LXV0aWxzLTIuMTcub3JpZy9wYW5kL3BhbmRfZGJ1c191dGlsLmggYmx1ZXotdXRpbHMt Mi4xNy1kYnVzL3BhbmQvcGFuZF9kYnVzX3V0aWwuaAotLS0gYmx1ZXotdXRpbHMtMi4xNy5vcmln L3BhbmQvcGFuZF9kYnVzX3V0aWwuaAkxOTY5LTEyLTMxIDIxOjAwOjAwLjAwMDAwMDAwMCAtMDMw MAorKysgYmx1ZXotdXRpbHMtMi4xNy1kYnVzL3BhbmQvcGFuZF9kYnVzX3V0aWwuaAkyMDA1LTA1 LTE4IDE4OjU2OjI2LjAwMDAwMDAwMCAtMDMwMApAQCAtMCwwICsxLDU1IEBACisvKgorICoKKyAq ICBCbHVlWiAtIEJsdWV0b290aCBwcm90b2NvbCBzdGFjayBmb3IgTGludXgKKyAqCisgKiAgQ29w eXJpZ2h0IChDKSAyMDA1ICAgICAgIENsYXVkaW8gVGFrYWhhc2kgPGNsYXVkaW8udGFrYWhhc2lA aW5kdC5vcmc+CisgKiAgQ29weXJpZ2h0IChDKSAyMDAyLTIwMDQgIE1hcmNlbCBIb2x0bWFubiA8 bWFyY2VsQGhvbHRtYW5uLm9yZz4KKyAqCisgKgorICogIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNv ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiAgaXQgdW5k ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIg YXMKKyAqICBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsKKyAqCisg KiAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0Yg QU5ZIEtJTkQsIEVYUFJFU1MKKyAqICBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1J VEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKKyAqICBGSVRORVNTIEZP UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5UIE9GIFRISVJEIFBBUlRZ IFJJR0hUUy4KKyAqICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUihTKSBB TkQgQVVUSE9SKFMpIEJFIExJQUJMRSBGT1IgQU5ZCisgKiAgQ0xBSU0sIE9SIEFOWSBTUEVDSUFM IElORElSRUNUIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUywgT1IgQU5ZIERBTUFHRVMKKyAqICBX SEFUU09FVkVSIFJFU1VMVElORyBGUk9NIExPU1MgT0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdI RVRIRVIgSU4gQU4KKyAqICBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1IgT1RIRVIg VE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRgorICogIE9SIElOIENPTk5FQ1RJT04gV0lU SCBUSEUgVVNFIE9SIFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuCisgKgorICogIEFMTCBM SUFCSUxJVFksIElOQ0xVRElORyBMSUFCSUxJVFkgRk9SIElORlJJTkdFTUVOVCBPRiBBTlkgUEFU RU5UUywKKyAqICBDT1BZUklHSFRTLCBUUkFERU1BUktTIE9SIE9USEVSIFJJR0hUUywgUkVMQVRJ TkcgVE8gVVNFIE9GIFRISVMKKyAqICBTT0ZUV0FSRSBJUyBESVNDTEFJTUVELgorICoKKyAqCisg KiAgJElkOiBwYW5kX2RidXNfdXRpbC5oLHYgMS4xMiAyMDA1LzA1LzIyIDEzOjAwOjAwIGhvbHRt YW5uIEV4cCAkCisgKi8KKyNpZm5kZWYgX19IX1BBTkRfREJVU19VVElMX0hfXyAKKyNkZWZpbmUg X19IX1BBTkRfREJVU19VVElMX0hfXworCisjaW5jbHVkZSAiZGJ1c19zZXJ2aWNlcy5oIiAKKwor CisvKioKKyAqIAorICogCisgKiAKKyAqLworUEFORF9NRVNTQUdFX1RZUEUgcGFuZF91dGlsX2dl dF9tc2dfdHlwZShEQnVzTWVzc2FnZSAqKTsKKy8qKgorICogCisgKiAKKyAqIHNpemU6IHdhbnRl ZCBib2R5IHNpemUKKyAqLworaW50IHBhbmRfdXRpbF9nZXRfcmVxX2F0dHIoREJ1c01lc3NhZ2Ug Km1zZywgUEFORF9NRVNTQUdFX1RZUEUgdHlwZSwgaW50IHNpemUsIHZvaWQgKnByZXFfYXR0cik7 CisvKioKKyAqIAorICogCisgKiAKKyAqLworaW50IHBhbmRfdXRpbF9nZXRfY29ubl9yZXFfYXR0 cihEQnVzTWVzc2FnZSAqLCBwYW5kX2RidXNfY29ubl9yZXFfdCopOworCisKKyNlbmRpZiAvKiBf X0hfUEFORF9EQlVTX1VUSUxfSF9fICovIAo= ------=_Part_8913_5829507.1116623081525-- ------------------------------------------------------- This SF.Net email is sponsored by Oracle Space Sweepstakes Want to be the first software developer in space? Enter now for the Oracle Space Sweepstakes! http://ads.osdn.com/?ad_id=7412&alloc_id=16344&op=click _______________________________________________ Bluez-devel mailing list Bluez-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bluez-devel