--------------Boundary-00=_HN60AOCDZ3GLLGEH5FEV Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit On Wednesday 28 March 2001 06:40, Waldo Bastian wrote: > * new kio-slave configuration second version, more clean, still some issues: * where to put the needConfiguration call in SlaveBase to make the request at slave creation time, and at job connection time. * I put the needConfiguration in the SlaveBase constructor, this code compile and run, the slave send the request, the job send the conf, but then the slave die telling: In file tools/qgarray.cpp, line 125: Out of memory kioslave : ###############SEG FAULT############# --------------Boundary-00=_HN60AOCDZ3GLLGEH5FEV Content-Type: text/x-c++; charset="iso-8859-1"; name="slavemanager.h" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="slavemanager.h" LyogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEtERSBsaWJyYXJpZXMKCiAgIFRoaXMgbGlicmFy eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAgbW9k aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMK ICAgTGljZW5zZSB2ZXJzaW9uIDIgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24uCgogICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh dCBpdCB3aWxsIGJlIHVzZWZ1bCwKICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0 IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKICAgTGlicmFyeSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCgogICBZb3Ugc2hvdWxkIGhhdmUg cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl CiAgIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJ ZiBub3QsIHdyaXRlIHRvCiAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5 IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwKICAgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0Eu CiovCiNpZm5kZWYgX19zbGF2ZW1hbmFnZXJfaF9fCiNkZWZpbmUgX19zbGF2ZW1hbmFnZXJfaF9f CgojaW5jbHVkZSA8cXN0cmluZy5oPgojaW5jbHVkZSA8a2NvbmZpZy5oPgojaW5jbHVkZSA8cWRp Y3QuaD4KI2luY2x1ZGUgPGtpby9nbG9iYWwuaD4KCgpuYW1lc3BhY2UgS0lPIHsKCiAgIGNsYXNz IFNsYXZlTWFuYWdlcjsKCiAgIC8qKgogICAgKiBGYWN0b3J5IGZvciBTbGF2ZU1hbmFnZXIgb2Jq ZWN0cy4KICAgICogUmVhZCBpdHMgc3RhdGUgZnJvbSBhIGRlc2t0b3Atd2lkZSBjb25maWcgZmls ZS4KICAgICogRm9yIGV2ZXJ5IHNsYXZlIHR5cGUgdGhlcmUgbXVzdCBiZSBhIGdyb3VwIG5hbWVk IGFzIHRoZSBzbGF2ZSdzIHByb3RvY29sLgogICAgKiBUaGUgZ3JvdXAgY2FuIGNvbnRhaW4gZGly ZWN0bHkgdGhlIGNvbmZpZyBlbnRyaWVzIGZvciB0aGUgc2xhdmUsIG9yIGFuCiAgICAqIGVudHJ5 IG5hbWVkICJjb25maWdGaWxlIiwgd2hpY2ggcG9pbnRzIHRvIGEgY29uZmlnIGZpbGUgZGVkaWNh dGVkIHRvIGEKICAgICogc2luZ2xlIHNsYXZlIHR5cGUuCiAgICAqIElmIGlzIGNyZWF0ZWQgd2l0 aCBudWxsIGFwcENvbmZpZyB0aGVuIGl0IGNyZWF0ZXMgImdsb2JhbCIgbWFuYWdlcnMsIAogICAg KiBpLmUuIG1hbmFnZXJzIHRoYXQgcmVhZC9tb2RpZnkgb25seSBkZXNrdG9wLXdpZGUgc2V0dGlu Z3MuCiAgICAqLwogICBjbGFzcyBTbGF2ZU1hbmFnZXJGYWN0b3J5CiAgIHsKICAgcHVibGljOgog ICAgICAvKioKICAgICAgICogY29uc3RydWN0b3IKICAgICAgICogQHBhcmFtIGdsb2JhbENvbmZp ZyBkZXNrdG9wLXdpZGUgY29uZmlndXJhdGlvbgogICAgICAgKiBAcGFyYW0gYXBwQ29uZmlnIGFw cGxpY2F0aW9uLXdpZGUgY29uZmlndXJhdGlvbgogICAgICAgKi8KICAgICAgU2xhdmVNYW5hZ2Vy RmFjdG9yeShLQ29uZmlnICpnbG9iYWxDb25maWcsIEtDb25maWcgKmFwcENvbmZpZyk7CgogICAg ICB+U2xhdmVNYW5hZ2VyRmFjdG9yeSgpOwoKICAgICAgLyoqCiAgICAgICAqIENyZWF0ZSBhIG5l dyBtYW5hZ2VyIGZvciBwcm90b2NvbC4KICAgICAgICogRm9yIGVpdGhlciBnbG9iYWwgYW5kIGFw cCBjb25maWcsIAogICAgICAgKiBwYXJzZSBncm91cCA8cHJvdG9jb2w+IGluIGNvbmZpZywgaWYg YW4gZW50cnkgImNvbmZpZ0ZpbGUgZmlsZSIKICAgICAgICogaXMgZm91bmQsIHRoZW4gb3BlbiBh IG5ldyBLQ29uZmlnIG9iamVjdCBwb2ludGluZyBhdCAiZmlsZSIsIG90aGVyd2lzZQogICAgICAg KiBwYXNzIGN1cnJlbnQgS0NvbmZpZyBpbnN0YW5jZXMKICAgICAgICovCiAgICAgIFNsYXZlTWFu YWdlciAqIG1hbmFnZXIoY29uc3QgUVN0cmluZyAmcHJvdG9jb2wpOwoKICAgcHJvdGVjdGVkOgog ICAgICAvKioKICAgICAgICogUmV0dXJuIGEgcG9pbnRlciB0byB0aGUgS0NvbmZpZyBvYmplY3Qg YXNzb2NpYXRlZCB0byBwcm90bywgY3JlYXRpbmcKICAgICAgICogaXQgaWYgbmVjZXNzYXJ5Lgog ICAgICAgKi8KICAgICAgS0NvbmZpZyAqIGdldENvbmZpZyhLQ29uZmlnICpjZmcsIGNvbnN0IFFT dHJpbmcgJnByb3RvLCBib29sIGNyZWF0ZSk7CgogICBwcml2YXRlOgogICAgICBLQ29uZmlnICpf Z2xiQ2ZnOwogICAgICBLQ29uZmlnICpfYXBwQ2ZnOwogICB9OwoKCiAgIC8qKgogICAgKiBNYW5h Z2VyIGZvciBzbGF2ZSdzIGNvbmZpZ3VyYXRpb24uCiAgICAqIEFjdCBhcyBkZXNrdG9wLWxldmVs IG1hbmFnZXIgaWYgZ2xvYmFsIGlzIG51bGwuCiAgICAqIEFjdCBhcyBhcHBsaWNhdGlvbi1sZXZl bCBtYW5hZ2VyIGlmIGdsb2JhbCBhbmQgYXBwIGFyZSBkZWZpbmVkLgogICAgKiBFbnRyaWVzIGFy ZSBncm91cGVkLCBhIGdyb3VwIGlzIHRoZSBtaW5pbWFsIHNldCBvZiBkYXRhIHNlbnQgdG8gLyBy ZWNlaXZlZCAKICAgICogZnJvbSBzbGF2ZSwgdG8gcGVybWl0IHRvIGRpc3Rpbmd1aXNoIGJldHdl ZW4gZGlmZmVyZW50IGtpbmQgb2YgZW50cmllcy4KICAgICovCiAgIGNsYXNzIFNsYXZlTWFuYWdl cgogICB7CiAgICAgIGZyaWVuZCBjbGFzcyBTbGF2ZU1hbmFnZXJGYWN0b3J5OwoKICAgcHVibGlj OgogICAgICB+U2xhdmVNYW5hZ2VyKCk7CgogICAgICAvKioKICAgICAgICogcXVlcnksIGZvciBr ZXksIGFwcCBhbmQgKGlmIGRlZmluZWQpIGdsb2JhbCBjb25mcywgaW4gdGhpcyBvcmRlci4gCiAg ICAgICAqIElmIGtleSBpcyBmb3VuZCwgdGhlIGFzc29jaWF0ZWQgdmFsdWUgaXMgcmV0dXJuZWQK ICAgICAgICovCiAgICAgIFFTdHJpbmcgZW50cnkoY29uc3QgUVN0cmluZyAmZ3JvdXAsIGNvbnN0 IFFTdHJpbmcgJmtleSkgY29uc3Q7CgogICAgICAvKioKICAgICAgICogY3JlYXRlIChvciB1cGRh dGUpIGtleSwgdmFsdWUgcGFpciBpbiBhcHAgY29uZmlnCiAgICAgICAqLwogICAgICB2b2lkIHNl dEVudHJ5KGNvbnN0IFFTdHJpbmcgJmdyb3VwLCBjb25zdCBRU3RyaW5nICZrZXksIAoJCSAgICBj b25zdCBRU3RyaW5nICZ2YWx1ZSk7CgogICAgICAvKioKICAgICAgICogcmVtb3ZlIHRoZSBlbnRy eSBhc3NvY2lhdGVkIHdpdGgga2V5IGZyb20gYXBwIGNvbmZpZwogICAgICAgKi8KICAgICAgdm9p ZCByZW1vdmVFbnRyeShjb25zdCBRU3RyaW5nICZncm91cCwgY29uc3QgUVN0cmluZyAma2V5KTsK ICAgICAgCiAgICAgIC8qKgogICAgICAgKiBwYWNrIGVudHJpZXMgdG8gbWV0YWRhdGEKICAgICAg ICovCiAgICAgIE1ldGFEYXRhIGRhdGEoY29uc3QgUVN0cmluZyAmZ3JvdXApIGNvbnN0OwoKICAg ICAgLyoqCiAgICAgICAqIHVucGFjayBhbmQgbWVyZ2UgZW50cmllcyBmcm9tIG1ldGFkYXRhCiAg ICAgICAqLwogICAgICB2b2lkIHNldERhdGEoY29uc3QgUVN0cmluZyAmZ3JvdXAsIGNvbnN0IE1l dGFEYXRhICZkYXRhKTsKCiAgIHByb3RlY3RlZDoKICAgICAgLyoqCiAgICAgICAqIGNvbnN0cnVj dG9yCiAgICAgICAqIElmIGdyb3VwIGlzIG51bGwsIHRoZW4gYSBuZXcgS0NvbmZpZyBpcyBwYXNz ZWQgdG8gb2JqZWN0LCBmb3Igd2hpY2ggCiAgICAgICAqIHRoaXMgb2JqZWN0IGhhcyB0aGUgcmVz cG9uc2liaWxpdHkgdG8gZGVsZXRlIGl0LgogICAgICAgKiBJZiBncm91cCBpcyBub3QgbnVsbCwg dGhlIEtDb25maWcgb2JqZWN0IHBhc3NlZCBpcyBzaGFyZWQgYW1vbmdzCiAgICAgICAqIHNpYmxp bmcgbWFuYWdlcnMgYW5kIGZhY3RvcnkuCiAgICAgICAqIElmIGFwcCBjb25maWcgaXMgbnVsbCwg d29yayBpbiByZWFkL3dyaXRlIG1vZGUgb24gZ2xvYmFsIGNvbmZpZy4KICAgICAgICovCiAgICAg IFNsYXZlTWFuYWdlcihLQ29uZmlnICpnbG9iYWxDZmcsIGNvbnN0IFFTdHJpbmcgJmdsb2JhbEdy b3VwLCAKCQkgICBLQ29uZmlnICphcHBDZmcsIGNvbnN0IFFTdHJpbmcgJmFwcEdyb3VwKTsKCiAg ICAgIC8qKgogICAgICAgKiBidWlsZCByZWFsIGdyb3VwIG5hbWUgCiAgICAgICAqLwogICAgICBz dGF0aWMgUVN0cmluZyBncm91cChjb25zdCBRU3RyaW5nICZncm91cCwgY29uc3QgUVN0cmluZyAm c3ViR3JvdXApOwogICAgICAKICAgcHJpdmF0ZToKICAgICAgS0NvbmZpZyAqX2dsYkNmZywgKl9h cHBDZmc7CiAgICAgIFFTdHJpbmcgX2dsYkdycCwgX2FwcEdycDsKICAgfTsKCgogICAvKioKICAg ICogRmFjdG9yeSBmb3IgU2xhdmVNYW5hZ2VyIG9iamVjdHMuCiAgICAqIEhhbmRsZSBjcmVhdGVk IG1hbmFnZXJzIGluc3RhbmNlcyBpbnRlcm5hbGx5LCAKICAgICogZXh0ZW5kaW5nIHRoZSBzZXQv Z2V0IGludGVyZmFjZSB0byBtYW5hZ2VyJ3MgZW50cmllcyB3aXRoIGEgcGFyYW1ldGVyIHRvIAog ICAgKiBzcGVjaWZ5IHRoZSBwcm90b2NvbC4KICAgICovCiAgIGNsYXNzIFNsYXZlTWFuYWdlckds b2JhbCA6IHB1YmxpYyBTbGF2ZU1hbmFnZXJGYWN0b3J5CiAgIHsKICAgcHVibGljOgogICAgICAv KioKICAgICAgICogY29uc3RydWN0b3IKICAgICAgICogQHBhcmFtIGFwcENvbmZpZyBhcHBsaWNh dGlvbi13aWRlIGNvbmZpZ3VyYXRpb24KICAgICAgICogQHBhcmFtIGdsb2JhbENvbmZpZyBkZXNr dG9wLXdpZGUgY29uZmlndXJhdGlvbgogICAgICAgKi8KICAgICAgU2xhdmVNYW5hZ2VyR2xvYmFs KEtDb25maWcgKmdsb2JhbENvbmZpZywgS0NvbmZpZyAqYXBwQ29uZmlnKTsKCiAgICAgIH5TbGF2 ZU1hbmFnZXJHbG9iYWwoKTsKCiAgICAgIC8qKgogICAgICAgKiByZXRyaWV2ZSBvciBjcmVhdGUg aWYgbm90IGV4aXN0ZW50IGEgbmV3IG1hbmFnZXIgZm9yIHByb3RvY29sCiAgICAgICAqLwogICAg ICBTbGF2ZU1hbmFnZXIgKiBtYW5hZ2VyKGNvbnN0IFFTdHJpbmcgJnByb3RvY29sKTsKCiAgICAg IC8qKgogICAgICAgKiBRdWVyeSBtYW5hZ2VyIGFzc29jaWF0ZSB0byBwcm90b2NvbCwgY3JlYXRp bmcgaXQgaWYgaXQgaXMgbm90IGV4aXN0ZW50LgogICAgICAgKi8KICAgICAgUVN0cmluZyBlbnRy eShjb25zdCBRU3RyaW5nICZwcm90b2NvbCwgY29uc3QgUVN0cmluZyAmZ3JvdXAsIAoJCSAgICBj b25zdCBRU3RyaW5nICZrZXkpOwoKICAgICAgLyoqCiAgICAgICAqIFNldCBrZXksIHZhbHVlIHBh aXIgaW4gbWFuYWdlciBhc3NvY2lhdGUgdG8gcHJvdG9jb2wsIGNyZWF0aW5nIGl0IGlmIGl0CiAg ICAgICAqIGlzIG5vdCBleGlzdGVudC4KICAgICAgICovCiAgICAgIHZvaWQgc2V0RW50cnkoY29u c3QgUVN0cmluZyAmcHJvdG9jb2wsIGNvbnN0IFFTdHJpbmcgJmdyb3VwLCAKCQkgICAgY29uc3Qg UVN0cmluZyAma2V5LCBjb25zdCBRU3RyaW5nICZ2YWx1ZSk7CiAgICAgIAogICAgICAvKioKICAg ICAgICogcmVtb3ZlIHRoZSBlbnRyeSBhc3NvY2lhdGVkIHdpdGgga2V5CiAgICAgICAqLwogICAg ICB2b2lkIHJlbW92ZUVudHJ5KGNvbnN0IFFTdHJpbmcgJnByb3RvY29sLCBjb25zdCBRU3RyaW5n ICZncm91cCwgCgkJICAgICAgIGNvbnN0IFFTdHJpbmcgJmtleSk7CgogICBwcml2YXRlOgogICAg ICBRRGljdDxTbGF2ZU1hbmFnZXI+IF9tYW5hZ2VyczsKICAgfTsKCn07IC8vIG5hbWVzcGFjZSBL SU8KCiNlbmRpZgo= --------------Boundary-00=_HN60AOCDZ3GLLGEH5FEV Content-Type: text/x-c++; charset="iso-8859-1"; name="slavemanager.cpp" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="slavemanager.cpp" LyogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEtERSBsaWJyYXJpZXMKCiAgIFRoaXMgbGlicmFy eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAgbW9k aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMK ICAgTGljZW5zZSB2ZXJzaW9uIDIgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24uCgogICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh dCBpdCB3aWxsIGJlIHVzZWZ1bCwKICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0 IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKICAgTGlicmFyeSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCgogICBZb3Ugc2hvdWxkIGhhdmUg cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl CiAgIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJ ZiBub3QsIHdyaXRlIHRvCiAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5 IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwKICAgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0Eu CiovCgojaW5jbHVkZSA8a2RlYnVnLmg+CiNpbmNsdWRlICJzbGF2ZW1hbmFnZXIuaCIKCi8vIGRl YnVnIGFyZWEKI2RlZmluZSBEQkEgNzAwNwoKdXNpbmcgbmFtZXNwYWNlIEtJTzsKClNsYXZlTWFu YWdlckZhY3Rvcnk6OlNsYXZlTWFuYWdlckZhY3RvcnkoS0NvbmZpZyAqZ2xvYmFsQ29uZmlnLCAK CQkJCQkgS0NvbmZpZyAqYXBwQ29uZmlnKQogICA6IF9nbGJDZmcoZ2xvYmFsQ29uZmlnKSwgX2Fw cENmZyhhcHBDb25maWcpCnsKICAga2REZWJ1ZyhEQkEpIDw8ICJTbGF2ZU1hbmFnZXJGYWN0b3J5 IDogY3JlYXRlICIgPDwgKF9hcHBDZmcgIT0gMCA/ICJhcHBsaWNhdGlvbiIgOiAiZ2xvYmFsIikg PDwgIiBmYWN0b3J5IiA8PCBlbmRsOwogICBrZEZhdGFsKF9nbGJDZmcgPT0gMCwgREJBKSA8PCAi U2xhdmVNYW5hZ2VyRmFjdG9yeSA6IGdsb2JhbCBjb25maWcgbnVsbCIgPDwgZW5kbDsKfQoKU2xh dmVNYW5hZ2VyRmFjdG9yeTo6flNsYXZlTWFuYWdlckZhY3RvcnkoKQp7Cn0KCktDb25maWcgKiBT bGF2ZU1hbmFnZXJGYWN0b3J5OjpnZXRDb25maWcoS0NvbmZpZyAqY2ZnLCBjb25zdCBRU3RyaW5n ICZwcm90bywgCgkJCQkJIGJvb2wgY3JlYXRlKQp7CiAgIGlmICghY2ZnLT5oYXNHcm91cChwcm90 bykgJiYgIWNyZWF0ZSkKICAgICAgcmV0dXJuIDA7CiAgIGNmZy0+c2V0R3JvdXAocHJvdG8pOwog ICBpZiAoY2ZnLT5oYXNLZXkoImNvbmZpZ0ZpbGUiKSkKICAgICAgcmV0dXJuIG5ldyBLQ29uZmln KGNmZy0+cmVhZEVudHJ5KCJjb25maWdGaWxlIikpOwogICByZXR1cm4gY2ZnOwp9CiAgIAoKU2xh dmVNYW5hZ2VyICogU2xhdmVNYW5hZ2VyRmFjdG9yeTo6bWFuYWdlcihjb25zdCBRU3RyaW5nICZw cm90bykKewogICBrZERlYnVnKERCQSkgPDwgIlNsYXZlTWFuYWdlckZhY3Rvcnk6Om1hbmFnZXIg OiBjcmVhdGUgbWFuYWdlciBmb3IgcHJvdG9jb2w6IiA8PCBwcm90byA8PCBlbmRsOwogICAvLyBy ZWZlcmVuY2VzIHRvIGNvbmZpZyBmb3IgcHJvdG9jb2wKICAgS0NvbmZpZyAqYXBwQ2ZnID0gKF9h cHBDZmcgIT0gMCA/IGdldENvbmZpZyhfYXBwQ2ZnLCBwcm90bywgdHJ1ZSkgOiAwKTsKICAgLy8g aWYgdGhpcyBpcyBhIGdsb2JhbCBmYWN0b3J5LCB0aGVuIGl0IGNyZWF0ZXMgbWFuYWdlcnMgd2l0 aCBwZXJtaXNzaW9uIHRvIAogICAvLyBjaGFuZ2UgZ2xvYmFsIGNvbmZpZwogICBLQ29uZmlnICpn bGJDZmcgPSBnZXRDb25maWcoX2dsYkNmZywgcHJvdG8sIF9hcHBDZmcgPT0gMCk7IAogICBRU3Ry aW5nIGFwcEdycCA9IChhcHBDZmcgPT0gX2FwcENmZyA/IHByb3RvIDogUVN0cmluZzo6bnVsbCk7 CiAgIFFTdHJpbmcgZ2xiR3JwID0gKGdsYkNmZyA9PSBfZ2xiQ2ZnID8gcHJvdG8gOiBRU3RyaW5n OjpudWxsKTsKICAga2RGYXRhbCgoKF9hcHBDZmcgIT0gMCAmJiBhcHBDZmcgPT0gMCkgfHwgZ2xi Q2ZnID09IDApLCBEQkEpIDw8ICJTbGF2ZU1hbmFnZXJGYWN0b3J5OjptYW5hZ2VyIDogZXJyb3Ig Y3JlYXRpbmcgY29uZmlnIGZvciBwcm90b2NvbDoiIDw8IHByb3RvIDw8IGVuZGw7CiAgIHJldHVy biBuZXcgU2xhdmVNYW5hZ2VyKGdsYkNmZywgZ2xiR3JwLCBhcHBDZmcsIGFwcEdycCk7Cn0KCi8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vCgpTbGF2ZU1hbmFnZXI6OlNsYXZlTWFuYWdlcihLQ29uZmlnICpnbG9iYWxD ZmcsIGNvbnN0IFFTdHJpbmcgJmdsb2JhbEdycCwKCQkJICAgS0NvbmZpZyAqYXBwQ2ZnLCBjb25z dCBRU3RyaW5nICZhcHBHcnApCiAgIDogX2dsYkNmZyhnbG9iYWxDZmcpLCBfYXBwQ2ZnKGFwcENm ZyksIF9nbGJHcnAoZ2xvYmFsR3JwKSwgX2FwcEdycChhcHBHcnApCnsKfQoKU2xhdmVNYW5hZ2Vy Ojp+U2xhdmVNYW5hZ2VyKCkKewogICBpZiAoX2dsYkdycC5pc0VtcHR5KCkpCiAgICAgIGRlbGV0 ZSBfZ2xiQ2ZnOwogICBpZiAoX2FwcEdycC5pc0VtcHR5KCkgJiYgX2FwcENmZyAhPSAwKQogICAg ICBkZWxldGUgX2FwcENmZzsKfQoKUVN0cmluZyBTbGF2ZU1hbmFnZXI6Omdyb3VwKGNvbnN0IFFT dHJpbmcgJmdycCwgY29uc3QgUVN0cmluZyAmc3ViR3JwKQp7CiAgIGlmIChzdWJHcnAuaXNFbXB0 eSgpKQogICAgICByZXR1cm4gZ3JwOwogICBpZiAoZ3JwLmlzRW1wdHkoKSkKICAgICAgcmV0dXJu IHN1YkdycDsKICAgcmV0dXJuIFFTdHJpbmcoIiUxICUyIikuYXJnKGdycCkuYXJnKHN1YkdycCk7 Cn0KClFTdHJpbmcgU2xhdmVNYW5hZ2VyOjplbnRyeShjb25zdCBRU3RyaW5nICZncnAsIGNvbnN0 IFFTdHJpbmcgJmtleSkgY29uc3QKewoKICAgaWYgKF9hcHBDZmcpCiAgIHsKICAgICAgLy8gcmVh ZCBmcm9tIGFwcCBjb25maWcKICAgICAgUVN0cmluZyBnID0gZ3JvdXAoX2FwcEdycCwgZ3JwKTsK ICAgICAgX2FwcENmZy0+c2V0R3JvdXAoZyk7CiAgICAgIGlmIChfYXBwQ2ZnLT5oYXNLZXkoa2V5 KSkKCSByZXR1cm4gX2FwcENmZy0+cmVhZEVudHJ5KGtleSk7CiAgIH0KICAgLy8gaWYga2V5IGlz IG5vdCBmb3VuZCBpbiBhcHAsIHJlYWQgZnJvbSBnbG9iYWwgY29uZmlnCiAgIFFTdHJpbmcgZyA9 IGdyb3VwKF9nbGJHcnAsIGdycCk7CiAgIF9nbGJDZmctPnNldEdyb3VwKGcpOwogICBpZiAoX2ds YkNmZy0+aGFzS2V5KGtleSkpCiAgICAgIHJldHVybiBfZ2xiQ2ZnLT5yZWFkRW50cnkoa2V5KTsK ICAgCiAgIHJldHVybiBRU3RyaW5nOjpudWxsOwp9Cgp2b2lkIFNsYXZlTWFuYWdlcjo6c2V0RW50 cnkoY29uc3QgUVN0cmluZyAmZ3JwLCBjb25zdCBRU3RyaW5nICZrZXksIAoJCQkgICAgY29uc3Qg UVN0cmluZyAmdmFsdWUpCnsKICAgS0NvbmZpZyAqY2ZnID0gKF9hcHBDZmcgIT0gMCA/IF9hcHBD ZmcgOiBfZ2xiQ2ZnKTsKICAgUVN0cmluZyBnID0gKF9hcHBDZmcgIT0gMCA/IGdyb3VwKF9hcHBH cnAsIGdycCkgOiBncm91cChfZ2xiR3JwLCBncnApKTsKICAgY2ZnLT5zZXRHcm91cChnKTsKICAg Y2ZnLT53cml0ZUVudHJ5KGtleSwgdmFsdWUpOwp9Cgp2b2lkIFNsYXZlTWFuYWdlcjo6cmVtb3Zl RW50cnkoY29uc3QgUVN0cmluZyAmLCBjb25zdCBRU3RyaW5nICYpCnsKICAgLy8gd2h5IHRoZXJl IGlzbid0IGEgZGVsZXRlRW50cnkgbWV0aG9kIGluIEtDb25maWc/CiAgIC8vIHNvbWUgaGFjayB0 byBwZXJmb3JtIHRoaXMsIGFzIGlzIG5lZWRlZCB0byBwYXNzIGZyb20gbG9jYWwgdG8gZ2xvYmFs IAogICAvLyBtYXBwaW5nLgp9CgpNZXRhRGF0YSBTbGF2ZU1hbmFnZXI6OmRhdGEoY29uc3QgUVN0 cmluZyAmZ3JwKSBjb25zdAp7CiAgIEtDb25maWcgKmNmZyA9IChfYXBwQ2ZnICE9IDAgPyBfYXBw Q2ZnIDogX2dsYkNmZyk7CiAgIFFTdHJpbmcgZyA9IChfYXBwQ2ZnICE9IDAgPyBncm91cChfYXBw R3JwLCBncnApIDogZ3JvdXAoX2dsYkdycCwgZ3JwKSk7CiAgIE1ldGFEYXRhIG1ldGFkYXRhOwoK ICAgLy9NZXRhRGF0YSBtZXRhZGF0YSA9IF9hcHBDZmctPmVudHJ5TWFwKGcpOyBhZGQgYW4gb3Bl cmF0b3I9IHRvIE1ldGFEYXRhCiAgIFFNYXA8UVN0cmluZywgUVN0cmluZz4gbWFwID0gY2ZnLT5l bnRyeU1hcChnKTsKICAgZm9yIChRTWFwPFFTdHJpbmcsIFFTdHJpbmc+OjpDb25zdEl0ZXJhdG9y IGl0ID0gbWFwLmJlZ2luKCk7IAoJaXQgIT0gbWFwLmVuZCgpOyArK2l0KQogICAgICBtZXRhZGF0 YS5pbnNlcnQoaXQua2V5KCksIGl0LmRhdGEoKSk7CgogICBpZiAoX2FwcENmZykKICAgeyAKICAg ICAgLy8gYWRkIHRoZSBnbG9iYWwgZW50cmllcyBub3QgY29udGFpbmVkIGluIGFwcAogICAgICBn ID0gZ3JvdXAoX2dsYkdycCwgZ3JwKTsKICAgICAgbWFwID0gX2dsYkNmZy0+ZW50cnlNYXAoZyk7 CiAgICAgIGZvciAoUU1hcDxRU3RyaW5nLCBRU3RyaW5nPjo6Q29uc3RJdGVyYXRvciBpdCA9IG1h cC5iZWdpbigpOyAKCSAgIGl0ICE9IG1hcC5lbmQoKTsgKytpdCkKCSBpZiAoIW1ldGFkYXRhLmNv bnRhaW5zKGl0LmtleSgpKSkKCSAgICBtZXRhZGF0YS5pbnNlcnQoaXQua2V5KCksIGl0LmRhdGEo KSk7CiAgIH0KICAgcmV0dXJuIG1ldGFkYXRhOwp9Cgp2b2lkIFNsYXZlTWFuYWdlcjo6c2V0RGF0 YShjb25zdCBRU3RyaW5nICZncnAsIGNvbnN0IE1ldGFEYXRhICZkYXRhKQp7CiAgIEtDb25maWcg KmNmZyA9IChfYXBwQ2ZnICE9IDAgPyBfYXBwQ2ZnIDogX2dsYkNmZyk7CiAgIFFTdHJpbmcgZyA9 IChfYXBwQ2ZnICE9IDAgPyBncm91cChfYXBwR3JwLCBncnApIDogZ3JvdXAoX2dsYkdycCwgZ3Jw KSk7CiAgIGNmZy0+c2V0R3JvdXAoZyk7CiAgIGZvciAoUU1hcDxRU3RyaW5nLCBRU3RyaW5nPjo6 Q29uc3RJdGVyYXRvciBpdCA9IGRhdGEuYmVnaW4oKTsgCglpdCAhPSBkYXRhLmVuZCgpOyArK2l0 KQogICAgICBjZmctPndyaXRlRW50cnkoaXQua2V5KCksIGl0LmRhdGEoKSk7Cn0KCi8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8KClNsYXZlTWFuYWdlckdsb2JhbDo6U2xhdmVNYW5hZ2VyR2xvYmFsKEtDb25maWcg KmFwcENvbmZpZywgCgkJCQkgICAgICAgS0NvbmZpZyAqZ2xvYmFsQ29uZmlnKQogICA6IFNsYXZl TWFuYWdlckZhY3RvcnkoYXBwQ29uZmlnLCBnbG9iYWxDb25maWcpCnsKfQoKU2xhdmVNYW5hZ2Vy R2xvYmFsOjp+U2xhdmVNYW5hZ2VyR2xvYmFsKCkKewogICBfbWFuYWdlcnMuc2V0QXV0b0RlbGV0 ZSh0cnVlKTsKfQoKU2xhdmVNYW5hZ2VyICogU2xhdmVNYW5hZ2VyR2xvYmFsOjptYW5hZ2VyKGNv bnN0IFFTdHJpbmcgJnByb3RvY29sKQp7CiAgIFNsYXZlTWFuYWdlciAqbSA9IF9tYW5hZ2Vycy5m aW5kKHByb3RvY29sKTsKICAgaWYgKG0gPT0gMCkKICAgewogICAgICBtID0gU2xhdmVNYW5hZ2Vy RmFjdG9yeTo6bWFuYWdlcihwcm90b2NvbCk7CiAgICAgIF9tYW5hZ2Vycy5pbnNlcnQocHJvdG9j b2wsIG0pOwogICB9CiAgIHJldHVybiBtOwp9CgpRU3RyaW5nIFNsYXZlTWFuYWdlckdsb2JhbDo6 ZW50cnkoY29uc3QgUVN0cmluZyAmcHJvdG9jb2wsIGNvbnN0IFFTdHJpbmcgJmdyb3VwLCAKCQkJ CSAgY29uc3QgUVN0cmluZyAma2V5KQp7CiAgIHJldHVybiBtYW5hZ2VyKHByb3RvY29sKS0+ZW50 cnkoZ3JvdXAsIGtleSk7Cn0KCnZvaWQgU2xhdmVNYW5hZ2VyR2xvYmFsOjpzZXRFbnRyeShjb25z dCBRU3RyaW5nICZwcm90b2NvbCwgY29uc3QgUVN0cmluZyAmZ3JvdXAsIAoJCQkJICBjb25zdCBR U3RyaW5nICZrZXksIGNvbnN0IFFTdHJpbmcgJnZhbHVlKQp7CiAgIG1hbmFnZXIocHJvdG9jb2wp LT5zZXRFbnRyeShncm91cCwga2V5LCB2YWx1ZSk7Cn0KICAgICAgCnZvaWQgU2xhdmVNYW5hZ2Vy R2xvYmFsOjpyZW1vdmVFbnRyeShjb25zdCBRU3RyaW5nICZwcm90b2NvbCwgCgkJCQkgICAgIGNv bnN0IFFTdHJpbmcgJmdyb3VwLCBjb25zdCBRU3RyaW5nICZrZXkpCnsKICAgbWFuYWdlcihwcm90 b2NvbCktPnJlbW92ZUVudHJ5KGdyb3VwLCBrZXkpOwp9Cg== --------------Boundary-00=_HN60AOCDZ3GLLGEH5FEV Content-Type: text/plain; charset="iso-8859-1"; name="kiopatch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="kiopatch" PyBzbGF2ZW1hbmFnZXIuaAo/IHNsYXZlbWFuYWdlci5jcHAKSW5kZXg6IE1ha2VmaWxlLmFtCj09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KUkNTIGZpbGU6IC9ob21lL2tkZS9rZGVsaWJzL2tpby9NYWtlZmlsZS5hbSx2CnJl dHJpZXZpbmcgcmV2aXNpb24gMS4xNDUKZGlmZiAtdSAtMyAtcCAtcjEuMTQ1IE1ha2VmaWxlLmFt Ci0tLSBNYWtlZmlsZS5hbQkyMDAxLzAzLzE0IDE0OjE2OjQ1CTEuMTQ1CisrKyBNYWtlZmlsZS5h bQkyMDAxLzAzLzMwIDA5OjA2OjIzCkBAIC03OSw3ICs3OSw4IEBAIGxpYmtpb19sYV9TT1VSQ0VT ID0gXAogCXN0YXR1c2JhcnByb2dyZXNzLmNwcCBcCiAJa2Rpcm5vdGlmeS5jcHAga2Rpcm5vdGlm eS5za2VsIGtkaXJub3RpZnkuc3R1YiBcCiAJb2JzZXJ2ZXIuY3BwIHVpc2VydmVyLnN0dWIgb2Jz ZXJ2ZXIuc2tlbCBcCi0Ja2VtYWlsc2V0dGluZ3MuY3BwIGF1dGhpbmZvLmNwcAorCWtlbWFpbHNl dHRpbmdzLmNwcCBhdXRoaW5mby5jcHAgXAorCXNsYXZlbWFuYWdlci5jcHAKIAoga2lvX3Vpc2Vy dmVyX1NPVVJDRVMgPSBkdW1teS5jcHAKIGtpb191aXNlcnZlcl9MREFERCA9IGtpb191aXNlcnZl ci5sYQpAQCAtMTAxLDcgKzEwMiw4IEBAIGtpb2luY2x1ZGVfSEVBREVSUyA9IGNvbm5lY3Rpb24u aCBcCiAJc3RhdHVzYmFycHJvZ3Jlc3MuaCB1aXNlcnZlci5oIHVpc2VydmVyX3N0dWIuaCB0Y3Bz bGF2ZWJhc2UuaCBcCiAJcmVuYW1lZGxnLmggc2tpcGRsZy5oIHNsYXZlLmggXAogCW9ic2VydmVy LmggY2htb2Rqb2IuaCBcCi0gICAgICAgIGtwYWMuaCBrbWRiYXNlLmggYXV0aGluZm8uaAorICAg ICAgICBrcGFjLmgga21kYmFzZS5oIGF1dGhpbmZvLmggXAorCXNsYXZlbWFuYWdlci5oCiAKICMg SW50ZXJuYWwKIG5vaW5zdF9IRUFERVJTID0ga3N5Y29jYWZhY3RvcnkuaCBrc2VydmljZXR5cGVm YWN0b3J5Lmgga3NlcnZpY2VmYWN0b3J5LmggXApJbmRleDogam9iLmNwcAo9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJD UyBmaWxlOiAvaG9tZS9rZGUva2RlbGlicy9raW8vam9iLmNwcCx2CnJldHJpZXZpbmcgcmV2aXNp b24gMS4yNDYKZGlmZiAtdSAtMyAtcCAtcjEuMjQ2IGpvYi5jcHAKLS0tIGpvYi5jcHAJMjAwMS8w My8yOCAxMTowOTowOQkxLjI0NgorKysgam9iLmNwcAkyMDAxLzAzLzMwIDA5OjA2OjMwCkBAIC01 OSw2ICs1OSw3IEBAIGV4dGVybiAiQyIgewogCiAjaW5jbHVkZSA8a2Rpcm5vdGlmeV9zdHViLmg+ CiAKKwogdXNpbmcgbmFtZXNwYWNlIEtJTzsKIHRlbXBsYXRlIGNsYXNzIFFMaXN0PEtJTzo6Sm9i PjsKIApAQCAtMTA2LDYgKzEwNyw5IEBAIHZvaWQgSm9iOjphZGRTdWJqb2IoSm9iICpqb2IpCiAg ICAgY29ubmVjdCggam9iLCBTSUdOQUwocmVzdWx0KEtJTzo6Sm9iKikpLAogICAgICAgICAgICAg IFNMT1Qoc2xvdFJlc3VsdChLSU86OkpvYiopKSApOwogCisgICAgY29ubmVjdCggam9iLCBTSUdO QUwobmVlZENvbmZpZ3VyYXRpb24oS0lPOjpKb2IqLCBjb25zdCBLSU86Ok1ldGFEYXRhJikpLAor ICAgICAgICAgICAgIFNMT1Qoc2xvdE5lZWRDb25maWd1cmF0aW9uKEtJTzo6Sm9iKiwgY29uc3Qg S0lPOjpNZXRhRGF0YSYpKSApOworCiAgICAgLy8gRm9yd2FyZCBpbmZvcm1hdGlvbiBmcm9tIHRo YXQgc3Viam9iLgogICAgIGNvbm5lY3QoIGpvYiwgU0lHTkFMKHNwZWVkKCBLSU86OkpvYiosIHVu c2lnbmVkIGxvbmcgKSksCiAgICAgICAgICAgICAgU0xPVChzbG90U3BlZWQoS0lPOjpKb2IqLCB1 bnNpZ25lZCBsb25nKSkgKTsKQEAgLTE3OSw2ICsxODMsMTEgQEAgdm9pZCBKb2I6OmtpbGwoIGJv b2wgcXVpZXRseSApCiAgIH0KIH0KIAordm9pZCBKb2I6OnNsb3ROZWVkQ29uZmlndXJhdGlvbigg Sm9iICosIGNvbnN0IE1ldGFEYXRhICZkYXRhICkKK3sKKyAgIGVtaXQgbmVlZENvbmZpZ3VyYXRp b24odGhpcywgZGF0YSk7Cit9CisKIHZvaWQgSm9iOjpzbG90UmVzdWx0KCBKb2IgKmpvYiApCiB7 CiAgICAgLy8gRGlkIGpvYiBoYXZlIGFuIGVycm9yID8KQEAgLTIzNSwxMCArMjQ0LDIzIEBAIFFX aWRnZXQgKkpvYjo6d2luZG93KCkgY29uc3QKICAgcmV0dXJuIG1fd2luZG93OwogfQogCisKK1Ns YXZlTWFuYWdlckdsb2JhbCAqIFNpbXBsZUpvYjo6bV9zbGF2ZU1hbmFnZXIgPSAwOworCitTbGF2 ZU1hbmFnZXJHbG9iYWwgKiBTaW1wbGVKb2I6Om1hbmFnZXJJbnN0YW5jZSgpCit7CisgICBpZiAo bV9zbGF2ZU1hbmFnZXIgPT0gMCkKKyAgIHsKKyAgICAgIEtDb25maWcgKmdsb2JhbENvbmZpZyA9 IG5ldyBLQ29uZmlnKCIvdG1wL2tpb2NvbmZpZyIpOyAvLyBkZWZpbmUgaGVyZSB0aGUgbG9jYXRp b24gZm9yIGdsb2JhbCBjb25maWcKKyAgICAgIG1fc2xhdmVNYW5hZ2VyID0gbmV3IFNsYXZlTWFu YWdlckdsb2JhbChnbG9iYWxDb25maWcsIDApOworICAgfQorICAgcmV0dXJuIG1fc2xhdmVNYW5h Z2VyOworfQorCiBTaW1wbGVKb2I6OlNpbXBsZUpvYihjb25zdCBLVVJMJiB1cmwsIGludCBjb21t YW5kLCBjb25zdCBRQnl0ZUFycmF5ICZwYWNrZWRBcmdzLAogICAgICAgICAgICAgICAgICAgICAg Ym9vbCBzaG93UHJvZ3Jlc3NJbmZvICkKICAgOiBKb2Ioc2hvd1Byb2dyZXNzSW5mbyksIG1fc2xh dmUoMCksIG1fcGFja2VkQXJncyhwYWNrZWRBcmdzKSwKLSAgICBtX3VybCh1cmwpLCBtX2NvbW1h bmQoY29tbWFuZCksIG1fdG90YWxTaXplKDApCisgICAgbV91cmwodXJsKSwgbV9jb21tYW5kKGNv bW1hbmQpLCBtX3RvdGFsU2l6ZSgwKSwgbV9jb25maWd1cmF0aW9uU2VudChmYWxzZSkKIHsKICAg ICBpZiAobV91cmwuaXNNYWxmb3JtZWQoKSkKICAgICB7CkBAIC0zMjcsNiArMzQ5LDkgQEAgdm9p ZCBTaW1wbGVKb2I6OnN0YXJ0KFNsYXZlICpzbGF2ZSkKICAgICBjb25uZWN0KCBzbGF2ZSwgU0lH TkFMKCBuZWVkUHJvZ3Jlc3NJZCgpICksCiAgICAgICAgICAgICAgU0xPVCggc2xvdE5lZWRQcm9n cmVzc0lkKCkgKSApOwogCisgICAgY29ubmVjdCggbV9zbGF2ZSwgU0lHTkFMKCBuZWVkQ29uZmln dXJhdGlvbiggY29uc3QgS0lPOjpNZXRhRGF0YSYgKSApLAorCSAgICAgU0xPVCggc2xvdFNsYXZl TmVlZENvbmZpZ3VyYXRpb24oIGNvbnN0IEtJTzo6TWV0YURhdGEmICkgKSApOworCiAgICAgaWYg KCFtX3N1YlVybC5pc0VtcHR5KCkpCiAgICAgewogICAgICAgIEtJT19BUkdTIDw8IG1fc3ViVXJs OwpAQCAtMzQyLDYgKzM2NywzMSBAQCB2b2lkIFNpbXBsZUpvYjo6c2xhdmVEb25lKCkKICAgIGRp c2Nvbm5lY3QobV9zbGF2ZSk7IC8vIFJlbW92ZSBhbGwgc2lnbmFscyBiZXR3ZWVuIHNsYXZlIGFu ZCBqb2IKICAgIFNjaGVkdWxlcjo6am9iRmluaXNoZWQoIHRoaXMsIG1fc2xhdmUgKTsKICAgIG1f c2xhdmUgPSAwOworfQorCit2b2lkIFNpbXBsZUpvYjo6c2VuZENvbmZpZ3VyYXRpb24oIGNvbnN0 IE1ldGFEYXRhICZtZXRhZGF0YSApCit7CisgICBrZERlYnVnKDcwMDcpIDw8ICJTaW1wbGVKb2I6 IHNlbmQgY29uZmlndXJhdGlvbiB0byAiIDw8IG1fc2xhdmUgPDwgZW5kbDsKKyAgIG1fY29uZmln dXJhdGlvblNlbnQgPSB0cnVlOworICAgS0lPX0FSR1MgPDwgbWV0YWRhdGE7CisgICBtX3NsYXZl LT5jb25uZWN0aW9uKCktPnNlbmQoIENNRF9DT05GSUcsIHBhY2tlZEFyZ3MgKTsKK30KKwordm9p ZCBTaW1wbGVKb2I6OnNsb3RTbGF2ZU5lZWRDb25maWd1cmF0aW9uKCBjb25zdCBNZXRhRGF0YSAm ZGF0YSApCit7CisgICBrZERlYnVnKDcwMDcpIDw8ICJTaW1wbGVKb2I6OnNsb3RTbGF2ZU5lZWRD b25maWd1cmF0aW9uIiA8PCBlbmRsOworICAgbV9jb25maWd1cmF0aW9uU2VudCA9IGZhbHNlOwor ICAgZW1pdCBuZWVkQ29uZmlndXJhdGlvbih0aGlzLCBkYXRhKTsKKyAgIC8vRklYTUUgd2FpdGlu ZyBmb3Igc29tZSB2aXJ0dWFsIG1ldGhvZHMKKyAgIC8vIGlmIHRoZSBhcHAgZG9uJ3QgaGFuZGxl IGNvbmZpZ3VyYXRpb24sIHdlIGhhdmUgdG8gZG8gaXQgaGVyZQorICAgLy8gdGhpcyB3YXkgaXMg dmFsaWQgb25seSBpZiB0aGUgc2VuZENvbmZpZ3VyYXRpb24gbWV0aG9kIGlzIGNhbGxlZCBpbiB0 aGUgCisgICAvLyBzbG90IGNvbm5lY3RlZCB0byBuZWVkQ29uZmlndXJhdGlvbiBzaWduYWwuCisg ICBpZiAoIW1fY29uZmlndXJhdGlvblNlbnQpCisgICB7CisgICAgICBRU3RyaW5nIHByb3RvID0g dXJsKCkucHJvdG9jb2woKTsKKyAgICAgIFNsYXZlTWFuYWdlciAqbW5nciA9IG1hbmFnZXJJbnN0 YW5jZSgpLT5tYW5hZ2VyKHByb3RvKTsKKyAgICAgIHNlbmRDb25maWd1cmF0aW9uKG1uZ3ItPmRh dGEoZGF0YVsiR3JvdXAiXSkpOworICAgfQogfQogCiB2b2lkIFNpbXBsZUpvYjo6c2xvdEZpbmlz aGVkKCApCkluZGV4OiBqb2JjbGFzc2VzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2hvbWUva2Rl L2tkZWxpYnMva2lvL2pvYmNsYXNzZXMuaCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS43NQpkaWZm IC11IC0zIC1wIC1yMS43NSBqb2JjbGFzc2VzLmgKLS0tIGpvYmNsYXNzZXMuaAkyMDAxLzAyLzA3 IDAwOjA2OjQ4CTEuNzUKKysrIGpvYmNsYXNzZXMuaAkyMDAxLzAzLzMwIDA5OjA2OjMyCkBAIC0z NSw2ICszNSw4IEBACiAKICNpbmNsdWRlIDxraW8vZ2xvYmFsLmg+CiAKKyNpbmNsdWRlIDxraW8v c2xhdmVtYW5hZ2VyLmg+CisKIGNsYXNzIE9ic2VydmVyOwogY2xhc3MgUVRpbWVyOwogCkBAIC0x ODcsNiArMTg5LDExIEBAIG5hbWVzcGFjZSBLSU8gewogICAgICAgICAgKi8KICAgICAgICAgdm9p ZCBzcGVlZCggS0lPOjpKb2IgKiwgdW5zaWduZWQgbG9uZyBieXRlc19wZXJfc2Vjb25kICk7CiAK KyAgICAgICAgLyoqCisJICogRW1pdHRlZCBvbiBzbGF2ZSdzIGNvbmZpZ3VyYXRpb24gcmVxdWVz dAorCSAqLworICAgICAgICB2b2lkIG5lZWRDb25maWd1cmF0aW9uKCBLSU86OkpvYiAqLCBjb25z dCBNZXRhRGF0YSAmKTsKKwogICAgIHByb3RlY3RlZCBzbG90czoKICAgICAgICAgLyoqCiAgICAg ICAgICAqIENhbGxlZCB3aGVuZXZlciBhIHN1YmpvYiBmaW5pc2hlcy4KQEAgLTE5Nyw2ICsyMDQs MTIgQEAgbmFtZXNwYWNlIEtJTyB7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBzbG90UmVzdWx0KCBL SU86OkpvYiAqam9iICk7CiAKICAgICAgICAgLyoqCisJICogQ2FsbGVkIHdoZW5ldmVyIGEgc2xh dmUgY29ubmVjdGVkIHRvIGEgc3Viam9iIHNlbmQgYSAKKwkgKiBjb25maWd1cmF0aW9uJ3MgcmVx dWVzdAorCSAqLworICAgICAgICB2b2lkIHNsb3ROZWVkQ29uZmlndXJhdGlvbihLSU86OkpvYiAq am9iLCBjb25zdCBNZXRhRGF0YSAmZGF0YSk7CisKKyAgICAgICAgLyoqCiAgICAgICAgICAqIEZv cndhcmQgc2lnbmFsIGZyb20gc3Viam9iCiAgICAgICAgICAqLwogICAgICAgICB2b2lkIHNsb3RT cGVlZCggS0lPOjpKb2IqLCB1bnNpZ25lZCBsb25nIGJ5dGVzX3Blcl9zZWNvbmQgKTsKQEAgLTMx NSw2ICszMjgsMjAgQEAgbmFtZXNwYWNlIEtJTyB7CiAgICAgICAgICAqLwogICAgICAgICBpbnQg Y29tbWFuZCgpIHsgcmV0dXJuIG1fY29tbWFuZDsgfQogCisgICAgICAgIC8qKgorCSAqIFNlbmQg Y29uZmlndXJhdGlvbiB0byBzbGF2ZS4KKwkgKiBZb3UgaGF2ZSB0byB1c2UgdGhpcyBtZXRob2Qg ZnJvbSB0aGUgc2xvdCBjb25uZWN0ZWQgdG8gbmVlZENvbm5lY3Rpb24gCisJICogc2lnbmFsLCBi ZWNhdXNlIGFmdGVyIHRoZSBzbGF2ZSBoYXMgZW1pdHRlZCBuZWVkQ29uZmlndXJhdGlvbiwgaXQg CisJICogZXhwZWN0cyB0aGF0IGl0cyBjb25maWd1cmF0aW9uIGhhcyBiZWVuIHVwZGF0ZWQsIGFu ZCB0aGUgam9iLXN1YmpvYiAKKwkgKiBzdHJ1Y3R1cmUgbmVlZHMgdGhpcyB0b28uCisJICovCisg ICAgICAgIHZvaWQgc2VuZENvbmZpZ3VyYXRpb24oY29uc3QgTWV0YURhdGEgJik7CisKKyAgICAg ICAgLyoqCisJICogZ2xvYmFsIGluc3RhbmNlIGZvciBtYW5hZ2VyJ3MgbWFuYWdlbWVudHMKKwkg Ki8KKyAgICAgICAgc3RhdGljIFNsYXZlTWFuYWdlckdsb2JhbCAqIG1hbmFnZXJJbnN0YW5jZSgp OworCiAgICAgcHJvdGVjdGVkIHNsb3RzOgogICAgICAgICAvKioKICAgICAgICAgICogQ2FsbGVk IHdoZW4gdGhlIHNsYXZlIG1hcmtzIHRoZSBqb2IKQEAgLTM1MSw2ICszNzgsMTUgQEAgbmFtZXNw YWNlIEtJTyB7CiAgICAgICAgICAqLwogICAgICAgICB2b2lkIHNsb3RTcGVlZCggdW5zaWduZWQg bG9uZyBieXRlc19wZXJfc2Vjb25kICk7CiAKKyAgICAgICAgLyoqCisJICogQ2FsbGVkIHdoZW4g dGhlIHNsYXZlIG5lZWRzIGNvbmZpZ3VyYXRpb24gZGF0YS4gRW1pdCAKKwkgKiBuZWVkQ29uZmln dXJhdGlvbiBzaWduYWwsIGFuZCBzZW5kIGdsb2JhbCBjb25maWcgaWYgbm8gZGF0YSBoYXMgYmVl bgorCSAqIHNlbnQgKGkuZS4gaWYgbmVlZENvbmZpZ3VyYXRpb24gc2lnbmFsIG9mIG1haW4gam9i IGlzIG5vdCBoYW5kbGVkKS4KKwkgKiBUbyBzZWxlY3QgdGhlICJncm91cCIgb2YgZW50cmllcyBu ZWVkZWQsIHRoZSBzbGF2ZSB1c2UgdGhlIGtleSAKKwkgKiAiR3JvdXAiLgorCSAqLworICAgICAg ICB2b2lkIHNsb3RTbGF2ZU5lZWRDb25maWd1cmF0aW9uKCBjb25zdCBLSU86Ok1ldGFEYXRhICZk YXRhICk7CisKICAgICBwdWJsaWMgc2xvdHM6CiAgICAgICAgIC8qKgogICAgICAgICAgKiBAaW50 ZXJuYWwKQEAgLTM3Miw2ICs0MDgsMTAgQEAgbmFtZXNwYWNlIEtJTyB7CiAgICAgICAgIEtVUkwg bV9zdWJVcmw7CiAgICAgICAgIGludCBtX2NvbW1hbmQ7CiAgICAgICAgIHVuc2lnbmVkIGxvbmcg bV90b3RhbFNpemU7CisgICAgICAgIGJvb2wgbV9jb25maWd1cmF0aW9uU2VudDsKKworICAgIHBy aXZhdGU6CisgICAgICAgc3RhdGljIFNsYXZlTWFuYWdlckdsb2JhbCAqbV9zbGF2ZU1hbmFnZXI7 CiAgICAgfTsKIAogICAgIC8vIFN0YXQgSm9iCkluZGV4OiBzbGF2ZWJhc2UuY3BwCj09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KUkNTIGZpbGU6IC9ob21lL2tkZS9rZGVsaWJzL2tpby9zbGF2ZWJhc2UuY3BwLHYKcmV0cmll dmluZyByZXZpc2lvbiAxLjczCmRpZmYgLXUgLTMgLXAgLXIxLjczIHNsYXZlYmFzZS5jcHAKLS0t IHNsYXZlYmFzZS5jcHAJMjAwMS8wMy8yMyAxMTozNTo1OQkxLjczCisrKyBzbGF2ZWJhc2UuY3Bw CTIwMDEvMDMvMzAgMDk6MDY6MzUKQEAgLTU5LDYgKzU5LDcgQEAgbmFtZXNwYWNlIEtJTyB7CiBj bGFzcyBTbGF2ZUJhc2VQcml2YXRlIHsKIHB1YmxpYzoKICAgICBRU3RyaW5nIHNsYXZlaWQ7Cisg ICAgTWV0YURhdGEgY29uZmlndXJhdGlvbjsKICAgICBib29sIHJlc3VtZToxOwogICAgIGJvb2wg bmVlZFNlbmRDYW5SZXN1bWU6MTsKIH07CkBAIC05Myw2ICs5NCwxMSBAQCBTbGF2ZUJhc2U6OlNs YXZlQmFzZSggY29uc3QgUUNTdHJpbmcgJnByCiAgICAgZC0+c2xhdmVpZCArPSBRU3RyaW5nOjpu dW1iZXIoZ2V0cGlkKCkpOwogICAgIGQtPnJlc3VtZSA9IGZhbHNlOwogICAgIGQtPm5lZWRTZW5k Q2FuUmVzdW1lID0gZmFsc2U7CisgICAgLy8gc2V0IGluaXRpYWwgY29uZmlndXJhdGlvbgorICAg IC8vZC0+Y29uZmlndXJhdGlvbiA9ID8/OworCisgICAgLy9GSVhNRSBzZW5kIGNvbmZpZyByZXF1 ZXN0IE9OTFkgVE8gVEVTVAorICAgIG5lZWRDb25maWd1cmF0aW9uKE1ldGFEYXRhKCkpOwogfQog CiBTbGF2ZUJhc2U6On5TbGF2ZUJhc2UoKQpAQCAtMjQ2LDYgKzI1MiwxMyBAQCB2b2lkIFNsYXZl QmFzZTo6bmVlZFN1YlVSTERhdGEoKQogICAgIG1fcENvbm5lY3Rpb24tPnNlbmQoIE1TR19ORUVE X1NVQlVSTF9EQVRBICk7CiB9CiAKK3ZvaWQgU2xhdmVCYXNlOjpuZWVkQ29uZmlndXJhdGlvbihj b25zdCBNZXRhRGF0YSAmbWV0YV9kYXRhKQoreworICAga2REZWJ1Zyg3MDE5KSA8PCAic2xhdmVC YXNlOiBzZW5kIG5lZWRDb25maWd1cmF0aW9uIHJlcXVlc3QiIDw8IGVuZGw7CisgICBLSU9fREFU QSA8PCBtZXRhX2RhdGE7CisgICBtX3BDb25uZWN0aW9uLT5zZW5kKCBNU0dfTkVFRF9DT05GSUcs IGRhdGEgKTsKK30KKwogdm9pZCBTbGF2ZUJhc2U6OnNsYXZlU3RhdHVzKCBjb25zdCBRU3RyaW5n ICZob3N0LCBib29sIGNvbm5lY3RlZCApCiB7CiAgICAgcGlkX3QgcGlkID0gZ2V0cGlkKCk7CkBA IC0zMTAsNiArMzIzLDcgQEAgdm9pZCBTbGF2ZUJhc2U6Om1pbWVUeXBlKCBjb25zdCBRU3RyaW5n IAogICAgICAgIH0KICAgICAgICBpZiAoIChjbWQgPT0gQ01EX1JFUEFSU0VDT05GSUdVUkFUSU9O KSB8fAogICAgICAgICAgICAgKGNtZCA9PSBDTURfTUVUQV9EQVRBKSB8fAorCSAgICAoY21kID09 IENNRF9DT05GSUcpIHx8IC8vRklYTUUgaXMgdGhpcyBjb3JyZWN0PwogICAgICAgICAgICAgKGNt ZCA9PSBDTURfU1VCVVJMKSApCiAgICAgICAgewogICAgICAgICAgIGRpc3BhdGNoKCBjbWQsIGRh dGEgKTsKQEAgLTQ1OCw2ICs0NzIsMTggQEAgdm9pZCBTbGF2ZUJhc2U6OnNldEhvc3QoUVN0cmlu ZyBjb25zdCAmaAogICAgIGtkRGVidWcoIDcwMTkgKSA8PCAic2V0SG9zdCggaG9zdCA9ICIgPDwg aG9zdCA8PCAiKSIgPDwgZW5kbDsKIH0KIAordm9pZCBTbGF2ZUJhc2U6OnNldENvbmZpZ3VyYXRp b24oY29uc3QgTWV0YURhdGEgJm1ldGFkYXRhKQoreworICAga2REZWJ1Zyg3MDE5KSA8PCAic2V0 Q29uZmlndXJhdGlvbjogIiA8PCBlbmRsOworICAgLy8gc2F2ZSBtZXRhZGF0YSB0byBsb2NhbAor ICAgZC0+Y29uZmlndXJhdGlvbiA9IG1ldGFkYXRhOworfQorCitNZXRhRGF0YSBTbGF2ZUJhc2U6 OmNvbmZpZ3VyYXRpb24oKSBjb25zdAoreworICAgcmV0dXJuIGQtPmNvbmZpZ3VyYXRpb247Cit9 CisKIHZvaWQgU2xhdmVCYXNlOjpvcGVuQ29ubmVjdGlvbih2b2lkKQogeyBlcnJvciggIEVSUl9V TlNVUFBPUlRFRF9BQ1RJT04sICJvcGVuIiApOyB9CiB2b2lkIFNsYXZlQmFzZTo6Y2xvc2VDb25u ZWN0aW9uKHZvaWQpCkBAIC00OTQsNiArNTIwLDkgQEAgdm9pZCBTbGF2ZUJhc2U6OnNsYXZlX3N0 YXR1cygpCiAKIHZvaWQgU2xhdmVCYXNlOjpyZXBhcnNlQ29uZmlndXJhdGlvbigpCiB7CisgICAg Ly8gZmlsbCB3aXRoIGluZm9zIGZvciBqb2IKKyAgICBNZXRhRGF0YSBkYXRhOworICAgIG5lZWRD b25maWd1cmF0aW9uKGRhdGEpOwogfQogCiBib29sIFNsYXZlQmFzZTo6ZGlzcGF0Y2goKQpAQCAt NjQwLDkgKzY2OSwxNCBAQCB2b2lkIFNsYXZlQmFzZTo6ZGlzcGF0Y2goIGludCBjb21tYW5kLCBj CiAgICAgICAgIHNsYXZlX3N0YXR1cygpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIENNRF9S RVBBUlNFQ09ORklHVVJBVElPTjoKLSAgICAgICAgS1Byb3RvY29sTWFuYWdlcjo6cmVwYXJzZUNv bmZpZ3VyYXRpb24oKTsKKyAgICAgICAgLy9LUHJvdG9jb2xNYW5hZ2VyOjpyZXBhcnNlQ29uZmln dXJhdGlvbigpOyB0byByZW1vdmUKICAgICAgICAgcmVwYXJzZUNvbmZpZ3VyYXRpb24oKTsKIAli cmVhazsKKyAgICBjYXNlIENNRF9DT05GSUc6IHsKKyAgICAgICAgTWV0YURhdGEgbWV0YV9kYXRh OworICAgICAgICBzdHJlYW0gPj4gbWV0YV9kYXRhOworCXNldENvbmZpZ3VyYXRpb24obWV0YV9k YXRhKTsKKyAgICB9CiAgICAgY2FzZSBDTURfR0VUOiB7CiAgICAgICAgIHN0cmVhbSA+PiB1cmw7 CiAJZ2V0KCB1cmwgKTsKSW5kZXg6IHNsYXZlYmFzZS5oCj09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9o b21lL2tkZS9rZGVsaWJzL2tpby9zbGF2ZWJhc2UuaCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS41 MgpkaWZmIC11IC0zIC1wIC1yMS41MiBzbGF2ZWJhc2UuaAotLS0gc2xhdmViYXNlLmgJMjAwMS8w My8yMyAxMTozNTo1OQkxLjUyCisrKyBzbGF2ZWJhc2UuaAkyMDAxLzAzLzMwIDA5OjA2OjM3CkBA IC01OSw2ICs1OSwxMiBAQCBwdWJsaWM6CiAgICAgQ29ubmVjdGlvbiAqY29ubmVjdGlvbigpIGNv bnN0IHsgcmV0dXJuIG1fcENvbm5lY3Rpb247IH0KIAogCisgICAgLyoqCisgICAgICogZ2V0IHNs YXZlJ3MgY29uZmlndXJhdGlvbgorICAgICAqIEZJWE1FIG1heWJlIGl0J3MgYmV0dGVyIHRvIGRl ZmluZSB0aGlzIGFzIHByb3RlY3RlZAorICAgICAqLworICAgIE1ldGFEYXRhIGNvbmZpZ3VyYXRp b24oKSBjb25zdDsKKwogICAgIC8vLy8vLy8vLy8vCiAgICAgLy8gTWVzc2FnZSBTaWduYWxzIHRv IHNlbmQgdG8gdGhlIGpvYgogICAgIC8vLy8vLy8vLy8vCkBAIC0xMDAsNiArMTA2LDEzIEBAIHB1 YmxpYzoKICAgICB2b2lkIG5lZWRTdWJVUkxEYXRhKCk7CiAKICAgICAvKioKKyAgICAgKiBDYWxs IHRvIHNpZ25hbCBhIHJlcXVlc3QgZm9yIHNsYXZlIGNvbmZpZ3VyYXRpb24gZGF0YQorICAgICAq IEBwYXJhbSBkYXRhIGluZm9ybWF0aW9ucyBmb3Igam9iIHRvIGtub3cgdGhlIHNsYXZlJ3Mgc3Rh dGUKKyAgICAgKiB0byBzZWxlY3QgdGhlICJncm91cCIgb2YgZW50cmllcyBuZWVkZWQsIHVzZSB0 aGUga2V5ICJHcm91cCIuCisgICAgICovCisgICAgdm9pZCBuZWVkQ29uZmlndXJhdGlvbihjb25z dCBNZXRhRGF0YSAmZGF0YSk7CisKKyAgICAvKioKICAgICAgKiBVc2VkIHRvIHJlcG9ydCB0aGUg c3RhdHVzIG9mIHRoZSBzbGF2ZS4KICAgICAgKiBAcGFyYW0gaG9zdCB0aGUgc2xhdmUgaXMgY3Vy cmVudGx5IGNvbm5lY3RlZCB0by4gKFNob3VsZCBiZQogICAgICAqICAgICAgICBlbXB0eSBpZiBu b3QgY29ubmVjdGVkKQpAQCAtMjMwLDYgKzI0MywxMSBAQCBwdWJsaWM6CiAgICAgLy8gQ29tbWFu ZHMgc2VudCBieSB0aGUgam9iLCB0aGUgc2xhdmUgaGFzIHRvIG92ZXJyaWRlIHdoYXQgaXQgd2Fu dHMgdG8gaW1wbGVtZW50CiAgICAgLy8vLy8vLy8vLy8KIAorICAgIC8qKgorICAgICAqIFNldCB0 aGUgc2xhdmUgY29uZmlnCisgICAgICovCisgICAgdm9pZCBzZXRDb25maWd1cmF0aW9uKGNvbnN0 IE1ldGFEYXRhICZkYXRhKTsKKyAgICAKICAgICAvKioKICAgICAgKiBTZXQgdGhlIGhvc3QKICAg ICAgKiBAcGFyYW0gaG9zdApJbmRleDogc2xhdmVpbnRlcmZhY2UuY3BwCj09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNT IGZpbGU6IC9ob21lL2tkZS9rZGVsaWJzL2tpby9zbGF2ZWludGVyZmFjZS5jcHAsdgpyZXRyaWV2 aW5nIHJldmlzaW9uIDEuNTAKZGlmZiAtdSAtMyAtcCAtcjEuNTAgc2xhdmVpbnRlcmZhY2UuY3Bw Ci0tLSBzbGF2ZWludGVyZmFjZS5jcHAJMjAwMS8wMy8yMyAxMTozNTo1OQkxLjUwCisrKyBzbGF2 ZWludGVyZmFjZS5jcHAJMjAwMS8wMy8zMCAwOTowNjozOApAQCAtMTI1LDcgKzEyNSw2IEBAIGJv b2wgU2xhdmVJbnRlcmZhY2U6OmRpc3BhdGNoKCBpbnQgX2NtZCwKICAgICBjYXNlIE1TR19DT05O RUNURUQ6CiAJZW1pdCBjb25uZWN0ZWQoKTsKIAlicmVhazsKLQogICAgIGNhc2UgSU5GX1RPVEFM X1NJWkU6CiAJc3RyZWFtID4+IHVsOwogCWVtaXQgdG90YWxTaXplKCB1bCApOwpAQCAtMjEyLDYg KzIxMSwxMyBAQCBib29sIFNsYXZlSW50ZXJmYWNlOjpkaXNwYXRjaCggaW50IF9jbWQsCiAgICAg ICAgIGVtaXQgbmVlZFN1YlVSTERhdGEoKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQorICAgIGNh c2UgTVNHX05FRURfQ09ORklHOiB7CisgICAgICAgIGtkRGVidWcoNzAwNykgPDwgImVtaXQgbmVl ZENvbmZpZ3VyYXRpb24iIDw8IGVuZGw7CisgICAgICAgIE1ldGFEYXRhIG1ldGFfZGF0YTsKKyAg ICAgICAgc3RyZWFtID4+IG1ldGFfZGF0YTsKKyAgICAgICAgZW1pdCBuZWVkQ29uZmlndXJhdGlv bihtZXRhX2RhdGEpOworICAgICAgICBicmVhazsKKyAgICB9CiAgICAgY2FzZSBNU0dfQVVUSF9L RVk6IHsKICAgICAgICAgYm9vbCBrZWVwOwogICAgICAgICBRQ1N0cmluZyBrZXksIGdyb3VwOwpA QCAtMjU0LDYgKzI2MCwxNSBAQCB2b2lkIFNsYXZlSW50ZXJmYWNlOjpzZW5kUmVzdW1lQW5zd2Vy KCBiCiB7CiAgICAga2REZWJ1Zyg3MDA3KSA8PCAiU2xhdmVJbnRlcmZhY2U6OnNlbmRSZXN1bWVB bnN3ZXIgb2sgZm9yIHJlc3VtaW5nIDoiIDw8IHJlc3VtZSA8PCBlbmRsOwogICAgIG1fcENvbm5l Y3Rpb24tPnNlbmRub3coIHJlc3VtZSA/IENNRF9SRVNVTUVBTlNXRVIgOiBDTURfTk9ORSwgUUJ5 dGVBcnJheSgpICk7Cit9CisKK3ZvaWQgU2xhdmVJbnRlcmZhY2U6OnNlbmRDb25maWd1cmF0aW9u KCBjb25zdCBNZXRhRGF0YSAmZGF0YSApCit7CisgICBrZERlYnVnKDcwMDcpIDw8ICJTbGF2ZUlu dGVyZmFjZTo6c2VuZENvbmZpZ3VyYXRpb24iIDw8IGVuZGw7CisgICAgUUJ5dGVBcnJheSBwYWNr ZWRBcmdzOworICAgIFFEYXRhU3RyZWFtIHN0cmVhbSggcGFja2VkQXJncywgSU9fV3JpdGVPbmx5 ICk7CisgICAgc3RyZWFtIDw8IGRhdGE7CisgICAgbV9wQ29ubmVjdGlvbi0+c2VuZG5vdyhDTURf Q09ORklHLCBwYWNrZWRBcmdzKTsKIH0KIAogdm9pZCBTbGF2ZUludGVyZmFjZTo6b3BlblBhc3NE bGcoIGNvbnN0IFFTdHJpbmcmIHByb21wdCwgY29uc3QgUVN0cmluZyYgdXNlciwgYm9vbCByZWFk T25seSApCkluZGV4OiBzbGF2ZWludGVyZmFjZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9ob21l L2tkZS9rZGVsaWJzL2tpby9zbGF2ZWludGVyZmFjZS5oLHYKcmV0cmlldmluZyByZXZpc2lvbiAx LjQ3CmRpZmYgLXUgLTMgLXAgLXIxLjQ3IHNsYXZlaW50ZXJmYWNlLmgKLS0tIHNsYXZlaW50ZXJm YWNlLmgJMjAwMS8wMy8yMyAxMTozNTo1OQkxLjQ3CisrKyBzbGF2ZWludGVyZmFjZS5oCTIwMDEv MDMvMzAgMDk6MDY6MzgKQEAgLTY1LDcgKzY1LDggQEAgY2xhc3MgU2xhdmVJbnRlcmZhY2VQcml2 YXRlOwogICAgQ01EX1NZTUxJTksgPSAnUScsIC8vIDgxCiAgICBDTURfU1VCVVJMID0gJ1InLCAv LyA4MiAgSW5mb3JtIHRoZSBzbGF2ZSBhYm91dCB0aGUgdXJsIGl0IGlzIHN0cmVhbWluZyBvbi4K ICAgIENNRF9NRVNTQUdFQk9YQU5TV0VSID0gJ1MnLCAvLyA4MwotICAgQ01EX1JFU1VNRUFOU1dF UiA9ICdUJyAvLyA4NAorICAgQ01EX1JFU1VNRUFOU1dFUiA9ICdUJywgLy8gODQKKyAgIENNRF9D T05GSUcgPSAnVScgLy8gODUKICAgIC8vIEFkZCBuZXcgb25lcyBoZXJlIG9uY2UgYSByZWxlYXNl IGlzIGRvbmUsIHRvIGF2b2lkIGJyZWFraW5nIGJpbmFyeSBjb21wYXRpYmlsaXR5LgogICAgLy8g Tm90ZSB0aGF0IHByb3RvY29sLXNwZWNpZmljIGNvbW1hbmRzIHNob3VsZG4ndCBiZSBhZGRlZCBo ZXJlLCBidXQgc2hvdWxkIHVzZSBzcGVjaWFsLgogIH07CkBAIC0xMTAsNyArMTExLDggQEAgY2xh c3MgU2xhdmVJbnRlcmZhY2VQcml2YXRlOwogICAgTVNHX05FRURfU1VCVVJMX0RBVEEsCiAgICBN U0dfQ0FOUkVTVU1FLAogICAgTVNHX0FVVEhfS0VZLAotICAgTVNHX0RFTF9BVVRIX0tFWQorICAg TVNHX0RFTF9BVVRIX0tFWSwKKyAgIE1TR19ORUVEX0NPTkZJRwogICAgLy8gYWRkIG5ldyBvbmVz IGhlcmUgb25jZSBhIHJlbGVhc2UgaXMgZG9uZSwgdG8gYXZvaWQgYnJlYWtpbmcgYmluYXJ5IGNv bXBhdGliaWxpdHkKICB9OwogCkBAIC0xMzksNiArMTQxLDExIEBAIHB1YmxpYzoKICAgICAvLyAo dG8gdGVsbCB0aGUgInB1dCIgam9iIHdoZXRoZXIgdG8gcmVzdW1lIG9yIG5vdCkKICAgICB2b2lk IHNlbmRSZXN1bWVBbnN3ZXIoIGJvb2wgcmVzdW1lICk7CiAKKyAgICAvKioKKyAgICAgKiBTZW5k IGNvbmZpZ3VyYXRpb24gdG8gc2xhdmUKKyAgICAgKi8KKyAgIHZvaWQgc2VuZENvbmZpZ3VyYXRp b24oY29uc3QgTWV0YURhdGEgJik7CisKIHNpZ25hbHM6CiAgICAgLy8vLy8vLy8vLy8KICAgICAv LyBNZXNzYWdlcyBzZW50IGJ5IHRoZSBzbGF2ZQpAQCAtMTU0LDYgKzE2MSw3IEBAIHNpZ25hbHM6 CiAgICAgdm9pZCBzdGF0RW50cnkoIGNvbnN0IEtJTzo6VURTRW50cnkmICk7CiAgICAgdm9pZCBu ZWVkU3ViVVJMRGF0YSgpOwogICAgIHZvaWQgbmVlZFByb2dyZXNzSWQoKTsKKyAgICB2b2lkIG5l ZWRDb25maWd1cmF0aW9uKGNvbnN0IEtJTzo6TWV0YURhdGEgJik7CiAKICAgICB2b2lkIGNhblJl c3VtZSggdW5zaWduZWQgbG9uZyApIDsKIAo= --------------Boundary-00=_HN60AOCDZ3GLLGEH5FEV-- >> Visit http://master.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<