From: marko.makela Date: February 1 2012 8:51pm Subject: bzr push into mysql-trunk-wl5534-stage branch (marko.makela:3813 to 3816) List-Archive: http://lists.mysql.com/commits/142703 Message-Id: <201202012052.q11Kq2qI003098@acsmt356.oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 IDM4MTYgTWFya28gTcOka2Vsw6QJMjAxMi0wMi0wMQogICAgICBIb3BlZnVsbHkgZml4IG9zX2F0 b21pY19pbmNyZW1lbnRfdWludDY0KCkgb24gV2luZG93cy4KCiAgICBtb2RpZmllZDoKICAgICAg c3RvcmFnZS9pbm5vYmFzZS9pbmNsdWRlL29zMHN5bmMuaAogMzgxNSBNYXJrbyBNw6RrZWzDpAky MDEyLTAyLTAxCiAgICAgIEZpeCB0eXBvOiB1c2UgX19hdHRyaWJ1dGVfXyBpbnN0ZWFkIG9mIF9f YXR0cmlidXRlLgoKICAgIG1vZGlmaWVkOgogICAgICBzdG9yYWdlL2lubm9iYXNlL2hhbmRsZXIv aGFfaW5ub2RiLmgKICAgICAgc3RvcmFnZS9pbm5vYmFzZS9pbmNsdWRlL3JvdzBtZXJnZS5oCiAg ICAgIHN0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS9yb3cwbXlzcWwuaAogMzgxNCBNYXJrbyBNw6Rr ZWzDpAkyMDEyLTAyLTAxCiAgICAgIFdMIzU1MjY6IEZpeCBhIHByb2JsZW0gaW4gcHVyZ2UgYnVm ZmVyaW5nLgogICAgICAKICAgICAgcm93X3B1cmdlX3JlbW92ZV9zZWNfaWZfcG9zcygpOiBEbyBu b3QgbG9nIFJPV19PUF9QVVJHRSwgdW5sZXNzCiAgICAgIHJvd19wdXJnZV9wb3NzX3NlYygpIHNh eXMgdGhhdCBpdCBpcyBzYWZlIHRvIGRvIHNvLgoKICAgIGFkZGVkOgogICAgICBteXNxbC10ZXN0 L3N1aXRlL2lubm9kYi9yL2lubm9kYi1pbmRleC1vbmxpbmUtcHVyZ2UucmVzdWx0CiAgICAgIG15 c3FsLXRlc3Qvc3VpdGUvaW5ub2RiL3QvaW5ub2RiLWluZGV4LW9ubGluZS1wdXJnZS50ZXN0CiAg ICBtb2RpZmllZDoKICAgICAgc3RvcmFnZS9pbm5vYmFzZS9yb3cvcm93MGxvZy5jYwogICAgICBz dG9yYWdlL2lubm9iYXNlL3Jvdy9yb3cwcHVyZ2UuY2MKIDM4MTMgTWFya28gTcOka2Vsw6QJMjAx Mi0wMi0wMQogICAgICBJbm5vREI6IFdMIzU1MjYgb25saW5lIEFERCBJTkRFWCwgV0wjNTU0OCBv bmxpbmUgRFJPUCBJTkRFWAogICAgICAKICAgICAgPT09IEZpcnN0IHBhcnQ6IFJlcGxhY2UgdGhl IG9sZCBBTFRFUiBUQUJMRSBBUEkgKFdMIzU1MzQpLgogICAgICAKICAgICAgUmVwbGFjZSBhZGRf aW5kZXgoKSwgcHJlcGFyZV9kcm9wX2luZGV4KCkgYW5kIGZpbmFsX2Ryb3BfaW5kZXgoKSB3aXRo CiAgICAgIHRoZSBnZW5lcmljIERETCBtZXRob2RzIGltcGxlbWVudGVkIGluIFdMIzU1MzQuIFRo aXMgYWxsb3dzIHVzIHRvCiAgICAgIHN1cHBvcnQgdGhpbmdzIGxpa2UgQUREIElOREVYIGkoaSks IERST1AgSU5ERVggaSB3aXRob3V0IHByb2JsZW1zLiBUaGUKICAgICAgbmV3IG1ldGhvZHMgYXJl IHJvdWdobHkgdXNlZCBhcyBmb2xsb3dzOgogICAgICAKICAgICAgaGFfaW5ub2Jhc2U6OmNoZWNr X2lmX3N1cHBvcnRlZF9pbnBsYWNlX2FsdGVyX3RhYmxlKCk6IENoZWNrIGlmIHRoZQogICAgICBv cGVyYXRpb24gaXMgYXQgYWxsIHN1cHBvcnRlZCwgYW5kIHdoYXQga2luZCBvZiBsb2NrIGlzCiAg ICAgIG5lZWRlZC4gQ3JlYXRpbmcgYSBQUklNQVJZIEtFWSBvciBhIEZVTExURVhUIElOREVYIHJl cXVpcmVzIHRoZSB0YWJsZQogICAgICB0byBiZSBYLWxvY2tlZC4gQWxsIG90aGVyIHN1cHBvcnRl ZCBvcGVyYXRpb25zIGNhbiBiZSBkb25lICdvbmxpbmUnLAogICAgICBhbGxvd2luZyBjb25jdXJy ZW50IG1vZGlmaWNhdGlvbiBvZiB0aGUgdGFibGUuCiAgICAgIAogICAgICBoYV9pbm5vYmFzZTo6 cHJlcGFyZV9pbnBsYWNlX2FsdGVyX3RhYmxlKCk6IEZvciBpbmRleCBjcmVhdGlvbiwgc3RhcnQK ICAgICAgYSBkaWN0aW9uYXJ5IHRyYW5zYWN0aW9uIGFuZCBjcmVhdGUgdGhlIGRhdGEgZGljdGlv bmFyeSBvYmplY3RzLiBGb3IKICAgICAgYWxsIG9wZXJhdGlvbnMsIGNoZWNrIGlmIGl0IGlzIGFs bG93ZWQuCiAgICAgIAogICAgICBoYV9pbm5vYmFzZTo6aW5wbGFjZV9hbHRlcl90YWJsZSgpOiBD cmVhdGUgYW55IGluZGV4ZXMsIGlmIGluZGV4CiAgICAgIGNyZWF0aW9uIHdhcyByZXF1ZXN0ZWQu ICBPdGhlcndpc2UsIGRvIG5vdGhpbmcuIFRoaXMgbWV0aG9kIHdpbGwgYmUKICAgICAgaW52b2tl ZCBmb3IgYm90aCBvbmxpbmUgYW5kIG9mZmxpbmUgaW5kZXggY3JlYXRpb24uIElmIHRoZSBvcGVy YXRpb24KICAgICAgaXMgb25saW5lLCBhbGxvY2F0ZSBhIG1vZGlmaWNhdGlvbiBsb2cgZm9yIHRo ZSBzZWNvbmRhcnkgaW5kZXgoZXMpCiAgICAgIHRoYXQgd2lsbCBiZSBjcmVhdGVkLiBJZiB0aGUg b3BlcmF0aW9uIGlzIG9mZmxpbmUgZm9yIGFueSByZWFzb24sIGRvCiAgICAgIG5vdCBhbGxvY2F0 ZSBtb2RpZmljYXRpb24gbG9ncy4gVGhpcyBtZXRob2Qgd2lsbCBhbHNvIG5vdGljZSBhbmQKICAg ICAgcmVwb3J0IGFueSBkdXBsaWNhdGUga2V5IGVycm9ycy4KICAgICAgCiAgICAgIGhhX2lubm9i YXNlOjpjb21taXRfaW5wbGFjZV9hbHRlcl90YWJsZSgpOiBDb21taXQgb3Igcm9sbCBiYWNrIHRo ZQogICAgICBvcGVyYXRpb24uIFJvbGxiYWNrIG1heSBiZSBpbml0aWF0ZWQgYWZ0ZXIgYSBmYWls ZWQgb3BlcmF0aW9uLCBvcgogICAgICBhZnRlciBhIHN1Y2Nlc3NmdWxsIG9wZXJhdGlvbiB3aGVu IE15U1FMIGZhaWxzIHRvIHVwZ3JhZGUgdGhlCiAgICAgIG1ldGEtZGF0YSBsb2NrIGZvciByZXdy aXRpbmcgdGhlIC5mcm0gZmlsZS4KICAgICAgCiAgICAgIElmIGNvbW1pdD10cnVlLCBkcm9wIHRo ZSBpbmRleGVzIHRoYXQgd2VyZSByZXF1ZXN0ZWQgdG8gYmUgZHJvcHBlZAogICAgICAoV0wjNTU0 OCkuIEJlZm9yZSBkcm9wcGluZywgcmVuYW1lIHRoZSBpbmRleGVzIHRvIHN0YXJ0IHdpdGggIlwz NzciIHNvCiAgICAgIHRoYXQgY3Jhc2ggcmVjb3Zlcnkgd2lsbCBmbGFnIGl0IGFzIGFuIGluY29t cGxldGUgaW5kZXggYW5kIGRyb3AgaXQuCiAgICAgIAogICAgICBJZiBhIHN1Y2Nlc3NmdWwgaW5k ZXggY3JlYXRpb24gbmVlZHMgdG8gYmUgcm9sbGVkIGJhY2ssIHdlIGNhbm5vdAogICAgICBpbW1l ZGlhdGVseSBkcm9wIHRoZSBpbmRleChlcyksIGJlY2F1c2UgdGhlIHRhYmxlIHdpbGwgdHlwaWNh bGx5IGJlIGluCiAgICAgIHVzZSBieSBvdGhlciB0aHJlYWRzICh0aGlzIGlzIHdoYXQgdGltZWQg b3V0IHRoZSBNREwgdXBncmFkZSBpbiB0aGUKICAgICAgZmlyc3QgcGxhY2UpLiBJbnN0ZWFkLCB3 ZSBtYXJrIHRoZSBpbmRleCBhcyAnYWJvcnRlZCcgb3IgJ3pvbWJpZScgYW5kCiAgICAgIHdpbGwg YXR0ZW1wdCB0byBkcm9wIGl0IHdoZW4gd2UgZ2V0IHRoZSBjaGFuY2UgKHJlZmVyZW5jZSBjb3Vu dCBoYXMKICAgICAgZHJvcHBlZCB0byB6ZXJvLCBvciB0aGUgaW5kZXggaXMgYmVpbmcgZXZpY3Rl ZCBmcm9tIHRoZSBkYXRhCiAgICAgIGRpY3Rpb25hcnkgY2FjaGUpLgogICAgICAKICAgICAgaW5u b2Jhc2VfYWx0ZXJfdGFibGVfZmxhZ3MoKSwgY2hlY2tfY29sdW1uX2JlaW5nX3JlbmFtZWQoKSwK ICAgICAgY29sdW1uX2lzX2JlaW5nX3JlbmFtZWQoKSwgZm9yZWlnbl9rZXlfY29sdW1uX2lzX2Jl aW5nX3JlbmFtZWQoKToKICAgICAgUmVtb3ZlLiBSZW1vdmUgdGhlIGNvbHVtbiByZW5hbWUgY2hh bmdlcyBmcm9tCiAgICAgIGhhX2lubm9iYXNlOjpjaGVja19pZl9pbmNvbXBhdGlibGVfZGF0YSgp LiBBbGwgdGhlc2UgY2hlY2tzIHdpbGwgYmUKICAgICAgcGVyZm9ybWVkIGFzIHBhcnQgb2YgY2hl Y2tfaWZfc3VwcG9ydGVkX2lucGxhY2VfYWx0ZXJfdGFibGUoKS4KICAgICAgCiAgICAgIGFkZF9p bmRleCgpLCBmaW5hbF9hZGRfaW5kZXgoKSwgcHJlcGFyZV9kcm9wX2luZGV4KCksCiAgICAgIGZp bmFsX2Ryb3BfaW5kZXgoKTogUmVtb3ZlLiBUaGVzZSBhcmUgcmVwbGFjZWQgYnkgdGhlCiAgICAg IHByZXBhcmVfaW5wbGFjZV9hbHRlcl90YWJsZSgpLCBpbnBsYWNlX2FsdGVyX3RhYmxlKCksIGFu ZAogICAgICBjb21taXRfaW5wbGFjZV9hbHRlcl90YWJsZSgpLgogICAgICAKICAgICAgaW5ub2Ri X29ubGluZV9hbHRlcl9sb2dfbWF4X3NpemUgKHNydl9vbmxpbmVfbWF4X3NpemUpOiBOZXcgcGFy YW1ldGVyCiAgICAgIGZvciBsaW1pdGluZyB0aGUgYW1vdW50IG9mIG1vZGlmaWNhdGlvbiBsb2cg dGhhdCBpcyBhbGxvd2VkIHRvCiAgICAgIGFjY3VtdWxhdGUgZHVyaW5nIG9ubGluZSBpbmRleCBj cmVhdGlvbi4gQWRkIERCX09OTElORV9MT0dfVE9PX0JJRyB0bwogICAgICBlbnVtIGRiX2VyciBm b3IgZXhjZWVkaW5nIHRoaXMuCiAgICAgIAogICAgICA9PT0gU2Vjb25kIHBhcnQ6IG9ubGluZSBp bmRleCBjcmVhdGlvbiAoV0wjNTUzNCkuCiAgICAgIAogICAgICBUaGUgYWxnb3JpdGhtOgogICAg ICAKICAgICAgKDEpIHJvd19sb2dfYWxsb2NhdGUoKSBjcmVhdGVzIGEgdGVtcG9yYXJ5IGZpbGUg Zm9yIGVhY2ggaW5kZXggYmVpbmcgY3JlYXRlZAogICAgICAgKiBhIGxvZ2ljYWwgdmFyaWFudCBv ZiB0aGUgSW5ub0RCIGNoYW5nZSAoaW5zZXJ0KSBidWZmZXIKICAgICAgICogcm93X2xvZ19vbmxp bmVfb3AoaW5kZXgsIHR1cGxlLCB0cnhfaWQsIGVudW0gcm93X29wIG9wKQogICAgICAgICogZW51 bSByb3dfb3A6IElOU0VSVCwgREVMRVRFX01BUkssIERFTEVURV9VTk1BUkssIFBVUkdFCiAgICAg ICAgKiBpbnZva2VkIGJ5IERNTCwgcm9sbGJhY2ssIGFuZCBwdXJnZSwganVzdCBsaWtlIHRoZSBJ bm5vREIgY2hhbmdlIGJ1ZmZlcgogICAgICAgICogdXBkYXRlIGludm9rZXMgKElOU0VSVCxuZXdf dmFsdWUpLCAoREVMRVRFX01BUkssb2xkX3ZhbHVlKQogICAgICAoMikgcm93X21lcmdlX3JlYWRf Y2x1c3RlcmVkX2luZGV4KCkgc2NhbnMgdGhlIGNsdXN0ZXJlZCBpbmRleCBvZiB0aGUgdGFibGUK ICAgICAgICogRm9yIGV2ZXJ5IGluZGV4IGJlaW5nIGNyZWF0ZWQsIHdyaXRlIGFuIGluZGV4IGVu dHJ5IHRvIGEgbWVyZ2Ugc29ydCBmaWxlCiAgICAgICgzKSByb3dfbWVyZ2Vfc29ydCgpIHRoZSBi dWZmZXJzIChvbmUgZm9yIGV2ZXJ5IGluZGV4IGJlaW5nIGNyZWF0ZWQpCiAgICAgICg0KSBJbnNl cnQgdGhlIHNvcnRlZCBlbnRyaWVzIHRvIHRoZSBuZXcgaW5kZXggQi10cmVlKHMpCiAgICAgICg1 KSByb3dfbG9nX2FwcGx5KCkgdGhlIGNoYW5nZSBsb2dzIHRvIHRoZSBpbmRleCBCLXRyZWUocykK ICAgICAgICogdGhpcyB3aWxsICdwdWJsaXNoJyB0aGUgaW5kZXggaW5zaWRlIElubm9EQgogICAg ICAoNikgTXlTUUwgdXBncmFkZXMgdGhlIG1ldGEtZGF0YSBsb2NrCiAgICAgICg3KSBjb21taXRf aW5wbGFjZV9hbHRlcl90YWJsZShjb21taXQ9dHJ1ZSkgd2lsbCByZW5hbWUgdGhlIGNyZWF0ZWQg aW5kZXggdG8KICAgICAgbm9uLXRlbXBvcmFyeSBuYW1lLCBhbmQgZHJvcCBhbnkgaW5kZXhlcyB0 aGF0IHdlcmUgcmVxdWVzdGVkIHRvIGJlIGRyb3BwZWQKICAgICAgCiAgICAgIFN0ZXBzICgyKSwg KDMpLCAoNCkgYXJlIHVuYWZmZWN0ZWQgYnkgdGhpcyBjaGFuZ2UuCiAgICAgIAogICAgICBUaGVy ZSBpcyBhbiBhbm9tYWx5LiBCZXR3ZWVuIHN0ZXBzICg1KSBhbmQgKDcpLCBhIERNTCBvcGVyYXRp b24gY2FuCiAgICAgIGZhaWwgZHVlIHRvIGEgdW5pcXVlbmVzcyB2aW9sYXRpb24gaW4gYSBjcmVh dGVkIFVOSVFVRSBJTkRFWC4gVGhlCiAgICAgIGluZGV4IGV4aXN0cyBpbiBJbm5vREIgYXQgdGhh dCBwb2ludCwgYnV0IG5vdCBpbiBNeVNRTC4gVGh1cywgd2UKICAgICAgY2Fubm90IHJlcG9ydCB0 aGUgaW5kZXggbmFtZSB0byBNeVNRTC4gSXQgaXMgc29tZXdoYXQgd3JvbmcgdG8gcmVwb3J0CiAg ICAgIGEgZHVwbGljYXRlIGtleSBmb3IgRE1MIGJlZm9yZSB0aGUgRERMIGhhcyBmdWxseSBmaW5p c2hlZC4gT3RoZXIgdHlwZXMKICAgICAgb2YgdW5pcXVlbmVzcyB2aW9sYXRpb24gb2JzZXJ2ZWQg ZHVyaW5nIGluZGV4IGNyZWF0aW9uIHdvdWxkIGJlCiAgICAgIHJlcG9ydGVkIHRvIHRoZSBEREwg dGhyZWFkLgogICAgICAKICAgICAgQW5vdGhlciBhbm9tYWx5IGlzIHRoYXQgd2hlbiBzdGVwICg2 KSBmYWlscyB0byB1cGdyYWRlIHRoZSBtZXRhLWRhdGEKICAgICAgbG9jaywgTXlTUUwgd2lsbCBp bnZva2UgY29tbWl0X2lucGxhY2VfYWx0ZXJfdGFibGUoY29tbWl0PWZhbHNlKSB0bwogICAgICBk cm9wIGFueSBjcmVhdGVkIGluZGV4ZXMuIFRoZXNlIGNhbm5vdCBiZSBkcm9wcGVkIGltbWVkaWF0 ZWx5LCBiZWNhdXNlCiAgICAgIGZhaWx1cmUgdG8gdXBncmFkZSB0aGUgbWV0YS1kYXRhIGxvY2sg bWVhbnMgdGhhdCBvdGhlciB0aHJlYWRzIG11c3QgYmUKICAgICAgb3BlcmF0aW5nIG9uIHRoZSB0 YWJsZSwgYW5kIHBvdGVudGlhbGx5IGFjY2Vzc2luZyB0aGUgaW5kZXggdHJlZXMuCiAgICAgIFRo ZXJlZm9yZSwgd2UgbXVzdCBtZXJlbHkgZmxhZyB0aGUgaW5kZXhlcyBPTkxJTkVfSU5ERVhfQUJP UlRFRCBvcgogICAgICBPTkxJTkVfSU5ERVhfQUJPUlRFRF9EUk9QUEVELiBGb3Igc3VjaCBpbmRl eGVzLCBETUwgdGhyZWFkcyB3aWxsCiAgICAgIGludm9rZSByb3dfbG9nX29ubGluZV9vcCgpIGFz IGlmIHRoZSBpbmRleCB3YXMgc3RpbGwgYmVpbmcgY3JlYXRlZAogICAgICBvbmxpbmUuIFRoYXQg ZnVuY3Rpb24gd291bGQgZG8gbm90aGluZywgcmV0dXJuaW5nICdpdCB3YXMgYnVmZmVyZWQnIHRv CiAgICAgIHRoZSBETUwgdGhyZWFkLiBJZiBvbmxpbmUgaW5kZXggY3JlYXRpb24gY29tcGxldGVk IHN1Y2Nlc3NmdWxseSwgdGhlCiAgICAgIGZ1bmN0aW9uIHdvdWxkIHJldHVybiAnaXQgd2FzIG5v dCBidWZmZXJlZCcsIGFuZCB0aGUgRE1MIHRocmVhZCB3b3VsZAogICAgICBpbnNlcnQgdG8gdGhl IEItdHJlZSBhcyB1c3VhbC4KICAgICAgCiAgICAgIE9ubGluZSBpbmRleCBjcmVhdGlvbiBjYW4g YWxzbyBiZSBhYm9ydGVkIHdoZW4gdGhlIGxvZyBmaWxlIHdyaXR0ZW4gYnkKICAgICAgcm93X2xv Z19vbmxpbmVfb3AoKSBleGNlZWRzIHRoZSBuZXcgcGFyYW1ldGVyCiAgICAgIGlubm9kYl9vbmxp bmVfYWx0ZXJfbG9nX21heF9zaXplIChhIG5ldyBlcnJvciBEQl9PTkxJTkVfTE9HX1RPT19CSUcp LgogICAgICBJbiB0aGlzIGNhc2UsIERNTCB0aHJlYWRzIHdpbGwgY29udGludWUgYnVzaW5lc3Mg YXMgdXN1YWwsIGFuZCB0aGUgRERMCiAgICAgIG9wZXJhdGlvbiB3aWxsIGZhaWwuCiAgICAgIAog ICAgICA9PT0gVGhpcmQgcGFydDogbmV3IGNvdW50ZXJzIGZvciBJTkZPUk1BVElPTl9TQ0hFTUEu SU5OT0RCX01FVFJJQ1MKICAgICAgCiAgICAgIGRkbF9iYWNrZ3JvdW5kX2Ryb3BfaW5kZXhlcwog ICAgICAgIE51bWJlciBvZiBpbmRleGVzIHdhaXRpbmcgdG8gYmUgZHJvcHBlZCBhZnRlciBmYWls ZWQgaW5kZXggY3JlYXRpb24KICAgICAgZGRsX29ubGluZV9jcmVhdGVfaW5kZXgKICAgICAgICBO dW1iZXIgb2YgaW5kZXhlcyBiZWluZyBjcmVhdGVkIG9ubGluZQogICAgICBkZGxfcGVuZGluZ19h bHRlcl90YWJsZQogICAgICAgIE51bWJlciBvZiBBTFRFUiBUQUJMRSwgQ1JFQVRFIElOREVYLCBE Uk9QIElOREVYIGluIHByb2dyZXNzCiAgICAgIAogICAgICA9PT0gRGV0YWlsZWQgY2hhbmdlIGRl c2NyaXB0aW9uCiAgICAgIAogICAgICBkaWN0X2luZGV4X2dldF9vbmxpbmVfc3RhdHVzKCksIGRp Y3RfaW5kZXhfc2V0X29ubGluZV9zdGF0dXMoKTogTmV3IGZ1bmN0aW9ucywKICAgICAgZm9yIGRl dGVybWluaW5nIHRoZSBzdGF0dXMgb2YgaW5kZXggY3JlYXRpb24gKGVudW0gb25saW5lX2luZGV4 X3N0YXR1cyk6CiAgICAgIE9OTElORV9JTkRFWF9DT01QTEVURToKICAgICAgICB0aGUgaW5kZXgg aXMgY29tcGxldGUgYW5kIHJlYWR5IGZvciBhY2Nlc3MKICAgICAgT05MSU5FX0lOREVYX0NSRUFU SU9OOgogICAgICAgIHRoZSBpbmRleCBpcyBiZWluZyBjcmVhdGVkIG9ubGluZQogICAgICAgIChh bGxvd2luZyBjb25jdXJyZW50IG1vZGlmaWNhdGlvbnMsIG5vdCBhbGxvd2luZyBpbmRleCBsb29r dXBzKQogICAgICBPTkxJTkVfSU5ERVhfQUJPUlRFRDoKICAgICAgICBvbmxpbmUgaW5kZXggY3Jl YXRpb24gd2FzIGFib3J0ZWQgYW5kIHRoZSBpbmRleAogICAgICAgIHNob3VsZCBiZSBkcm9wcGVk IGFzIHNvb24gYXMgaW5kZXgtPnRhYmxlLT5uX3JlZl9jb3VudCByZWFjaGVzIDAKICAgICAgT05M SU5FX0lOREVYX0FCT1JURURfRFJPUFBFRDoKICAgICAgICB0aGUgb25saW5lIGluZGV4IGNyZWF0 aW9uIHdhcyBhYm9ydGVkLCB0aGUgaW5kZXggd2FzIGRyb3BwZWQgZnJvbQogICAgICAgIHRoZSBk YXRhIGRpY3Rpb25hcnkgYW5kIHRoZSB0YWJsZXNwYWNlLCBhbmQgaXQgc2hvdWxkIGJlIGRyb3Bw ZWQKICAgICAgICBmcm9tIHRoZSBkYXRhIGRpY3Rpb25hcnkgY2FjaGUgYXMgc29vbiBhcyBpbmRl eC0+dGFibGUtPm5fcmVmX2NvdW50CiAgICAgICAgcmVhY2hlcyAwCiAgICAgIAogICAgICBkaWN0 X2luZGV4X2lzX29ubGluZV9kZGwoKTogRGV0ZXJtaW5lIGlmIHRoZSBpbmRleCBpcyBvciB3YXMg YmVpbmcKICAgICAgY3JlYXRlZCBvbmxpbmUgKFRSVUUpIG9yIGl0IGlzIHVzZWFibGUgZm9yIGxv b2t1cHMgKEZBTFNFKS4KICAgICAgCiAgICAgIGRpY3RfaW5kZXhfb25saW5lX2xvZygpOiBXcmFw cGVyIGZvciByb3dfbG9nX29ubGluZV9vcCgpLCB0byByZXNvbHZlCiAgICAgIGNpcmN1bGFyIGlu Y2x1ZGUgZmlsZSBkZXBlbmRlbmNpZXMuCiAgICAgIAogICAgICBkaWN0X2luZGV4X29ubGluZV90 cnlsb2coKTogVHJ5IGxvZ2dpbmcgYW4gb3BlcmF0aW9uIGR1cmluZyBvbmxpbmUKICAgICAgaW5k ZXggY3JlYXRpb24uIElmIHRoZSBpbmRleCBpcyBjb21wbGV0ZSwgcmV0dXJuIEZBTFNFIHNvIHRo YXQgdGhlCiAgICAgIG9wZXJhdGlvbiB3aWxsIGJlIHBlcmZvcm1lZCBkaXJlY3RseSBvbiB0aGUg aW5kZXguCiAgICAgIAogICAgICBkaWN0X2luZGV4X3N0cnVjdDogUmVtb3ZlIHRvX2JlX2Ryb3Bw ZWQsIGFuZCBhZGQgb25saW5lX3N0YXR1cy4gQWRkIGEKICAgICAgdW5pb24gYXJvdW5kIHNlYXJj aF9pbmZvIGFuZCBhIG5ldyBtZW1iZXIsIG9ubGluZV9sb2cuIFRoZSBhZGFwdGl2ZQogICAgICBo YXNoIGluZGV4IHdpbGwgbm90IGJlIHVzZWQgZHVyaW5nIG9ubGluZSBpbmRleCBjcmVhdGlvbi4K ICAgICAgCiAgICAgIGRpY3RfdGFibGVfc3RydWN0OiBBZGQgdGhlIGZpZWxkIGRyb3BfYWJvcnRl ZCwgZm9yIG5vdGluZyB0aGF0IHRoZQogICAgICB0YWJsZSBtYXkgY29udGFpbiAnYWJvcnRlZCcg b3IgJ3pvbWJpZScgaW5kZXhlcyB0aGF0IGhhdmUgdG8gYmUKICAgICAgZHJvcHBlZCBhcyBzb29u IGFzIHBvc3NpYmxlLgogICAgICAKICAgICAgYnRyX3Jvb3RfcmFpc2VfYW5kX2luc2VydCgpLCBi dHJfcGFnZV9zcGxpdF9hbmRfaW5zZXJ0KCksCiAgICAgIGJ0cl9hdHRhY2hfaGFsZl9wYWdlcygp LCBidHJfaW5zZXJ0X29uX25vbl9sZWFmX2xldmVsKCk6IEFkZCB1bmRvCiAgICAgIGxvZ2dpbmcg YW5kIGxvY2tpbmcgZmxhZ3MuIEFkZCB0aGUgZmxhZyBCVFJfQ1JFQVRFX0ZMQUcsIHdoaWNoIGFs bG93cwogICAgICBvcGVyYXRpb25zIHRvIGJ5cGFzcyByb3dfbG9nX29ubGluZV9vcCgpIHdoZW4g YW4gaW5kZXggaXMgYmVpbmcKICAgICAgY3JlYXRlZCBvbmxpbmUuCiAgICAgIAogICAgICBidHJf dmFsaWRhdGVfaW5kZXgoKTogU2tpcCBpbmRleGVzIHRoYXQgYXJlIGJlaW5nIGNyZWF0ZWQgb25s aW5lLgogICAgICAKICAgICAgYnRyX2N1cl9sYXRjaF9sZWF2ZXMoKTogQWRkIHRoZSBsYXRjaF9t b2RlIEJUUl9NT0RJRllfVFJFRV9BUFBMWV9MT0csCiAgICAgIHRvIGJlIGludm9rZWQgZnJvbSBy b3dfbG9nX2FwcGx5KCkuIEl0IGNhbiBza2lwIG1vc3Qgb2YgdGhlIGxhdGNoaW5nLAogICAgICBi ZWNhdXNlIHRoZSBsb2cgd2lsbCBiZSBhcHBsaWVkIGJ5IGEgc2luZ2xlIHRocmVhZC4KICAgICAg CiAgICAgIGVudW0gYnRyX2xhdGNoX21vZGU6IEFkZCBCVFJfTU9ESUZZX1RSRUVfQVBQTFlfTE9H IGFuZAogICAgICBCVFJfTU9ESUZZX0xFQUZfQVBQTFlfTE9HLCBleGNsdXNpdmVseSByZXNlcnZl ZCBmb3Igcm93X2xvZ19hcHBseSgpLAogICAgICB3aGljaCBpcyBzaW5nbGUtdGhyZWFkZWQgZm9y IGFueSBnaXZlbiBpbmRleCB0aGF0IGlzIGJlaW5nIGNyZWF0ZWQKICAgICAgb25saW5lLgogICAg ICAKICAgICAgYnRyX2N1cl9zZWFyY2hfdG9fbnRoX2xldmVsKCk6IEFkZCB0aGUgbGF0Y2hfbW9k ZQogICAgICBCVFJfTU9ESUZZX1RSRUVfQVBQTFlfTE9HIGFuZCBCVFJfTU9ESUZZX0xFQUZfQVBQ TFlfTE9HLiBEbyBub3QgdXBkYXRlCiAgICAgIHRoZSBhZGFwdGl2ZSBoYXNoIGluZGV4IGZvciBp bmRleGVzIHRoYXQgYXJlIGJlaW5nIGJ1aWx0IG9ubGluZS4KICAgICAgCiAgICAgIGJ0cl9jdXJf b3Blbl9hdF9pbmRleF9zaWRlKCksIGJ0cl9jdXJfb3Blbl9hdF9ybmRfcG9zKCk6IERpc2FsbG93 IHRoZQogICAgICBsYXRjaF9tb2RlIEJUUl9NT0RJRllfVFJFRV9BUFBMWV9MT0cgYW5kCiAgICAg IEJUUl9NT0RJRllfTEVBRl9BUFBMWV9MT0cuIFRoZXNlIGZ1bmN0aW9ucyBhcmUgbm90IHRvIGJl IGNhbGxlZCBkdXJpbmcKICAgICAgb25saW5lIGluZGV4IGNyZWF0aW9uLgogICAgICAKICAgICAg YnRyX2N1cl9pbnNfbG9ja19hbmRfdW5kbygpLCBidHJfY3VyX29wdGltaXN0aWNfaW5zZXJ0KCks CiAgICAgIGJ0cl9jdXJfcGVzc2ltaXN0aWNfaW5zZXJ0KCksCiAgICAgIGJ0cl9jdXJfdXBkX2xv Y2tfYW5kX3VuZG8oKSwgYnRyX2N1cl91cGRhdGVfaW5fcGxhY2UoKSwKICAgICAgYnRyX2N1cl9v cHRpbWlzdGljX3VwZGF0ZSgpLCBidHJfY3VyX3Blc3NpbWlzdGljX3VwZGF0ZSgpLAogICAgICBi dHJfY3VyX29wdGltaXN0aWNfZGVsZXRlKCksIGJ0cl9jdXJfcGVzc2ltaXN0aWNfZGVsZXRlKCkg OiBBc3NlcnQgdGhhdAogICAgICB0aGUgaW5kZXggaXMgbm90IGJlaW5nIGJ1aWx0IG9ubGluZSwg b3IgdGhlIEJUUl9DUkVBVEVfRkxBRyBpcyBiZWluZwogICAgICBwYXNzZWQgKGZyb20gcm93X2xv Z19hcHBseSgpKS4KICAgICAgCiAgICAgIGJ0cl9jdXJfdXBkYXRlX2luX3BsYWNlKCksIGJ0cl9j dXJfb3B0aW1pc3RpY191cGRhdGUoKSwKICAgICAgYnRyX2N1cl9wZXNzaW1pc3RpY191cGRhdGUo KTogQWRkIGEgc2VwYXJhdGUgcGFyYW1ldGVyIGZvciB0cnhfaWQsIHNvCiAgICAgIHRoYXQgcm93 X2xvZ19hcHBseSgpIGNhbiBwYXNzIHRocj1OVUxMLgogICAgICAKICAgICAgcm93X3VwZF93cml0 ZV9zeXNfdmFsc190b19sb2coKSwgYnRyX2N1cl91cGRhdGVfaW5fcGxhY2VfbG9nKCksCiAgICAg IGJ0cl9jdXJfZGVsX21hcmtfc2V0X2NsdXN0X3JlY19sb2coKSwgYnRyX2N1cl90cnhfcmVwb3J0 KCk6IFJlcGxhY2UKICAgICAgdHJ4IHdpdGggdHJ4X2lkLgogICAgICAKICAgICAgYnRyX3NlYXJj aF9kcm9wX3BhZ2VfaGFzaF9pbmRleCgpLCBidHJfc2VhcmNoX2J1aWxkX3BhZ2VfaGFzaF9pbmRl eCgpLAogICAgICBidHJfc2VhcmNoX2dldF9pbmZvKCk6IEFzc2VydCB0aGF0IHRoZSBpbmRleCBp cyBub3QgYmVpbmcgY3JlYXRlZCBvbmxpbmUuCiAgICAgIAogICAgICBkaWN0X2J1aWxkX2luZGV4 X2RlZl9zdGVwKCk6IFJlY29yZCBvbmx5IHRoZSBmaXJzdCB0YWJsZV9pZCBjcmVhdGVkIGluCiAg ICAgIHRoZSB0cmFuc2FjdGlvbi4gQ3Jhc2ggcmVjb3Zlcnkgd291bGQgZHJvcCB0aGF0IHRhYmxl IGlmIHRoZQogICAgICBkYXRhIGRpY3Rpb25hcnkgdHJhbnNhY3Rpb24gaXMgZm91bmQgdG8gYmUg aW5jb21wbGV0ZS4KICAgICAgCiAgICAgIGRpY3RfdGFibGVfdHJ5X2Ryb3BfYWJvcnRlZCgpLCBk aWN0X3RhYmxlX3RyeV9kcm9wX2Fib3J0ZWRfYW5kX211dGV4X2V4aXQoKToKICAgICAgVHJ5IHRv IGRyb3AgYW55ICdhYm9ydGVkJyBvciAnem9tYmllJyBpbmRleGVzLgogICAgICAKICAgICAgZGlj dF90YWJsZV9jbG9zZSgpLCBkaWN0X3RhYmxlX29wZW5fb25faWQoKSwKICAgICAgZGljdF90YWJs ZV9vcGVuX29uX25hbWVfbG93KCksIGRpY3RfdGFibGVfb3Blbl9vbl9uYW1lKCksCiAgICAgIGRp Y3RfdGFibGVfb3Blbl9vbl9uYW1lX25vX3N0YXRzKCk6IEFkZCB0aGUgcGFyYW1ldGVyIHRyeV9k cm9wLCBmb3IKICAgICAgdHJ5aW5nIHRvIGRyb3AgaW5jb21wbGV0ZSBpbmRleGVzIHdoZW4gZGlj dF9sb2NrZWQ9RkFMU0UuCiAgICAgIAogICAgICBkaWN0X3RhYmxlX3JlbW92ZV9mcm9tX2NhY2hl X2xvdygpOiBUcnkgdG8gZHJvcCAnYWJvcnRlZCcgb3IgJ3pvbWJpZScKICAgICAgaW5kZXhlcy4K ICAgICAgCiAgICAgIGRpY3RfaW5kZXhfYWRkX3RvX2NhY2hlKCk6IEFzc2VydCB0aGF0IHRoZSBp bmRleCBpcyBub3QgYmVpbmcgY3JlYXRlZAogICAgICBvbmxpbmUuIFRoZSBmbGFnIHdvdWxkIGJl IHNldCBsYXRlci4KICAgICAgCiAgICAgIGRpY3RfaW5kZXhfcmVtb3ZlX2Zyb21fY2FjaGVfbG93 KCk6IENsZWFuIHVwIGFmdGVyIGFib3J0ZWQgb25saW5lCiAgICAgIGluZGV4IGNyZWF0aW9uLgog ICAgICAKICAgICAgZGljdF90YWJsZV9nZXRfZm9yZWlnbl9jb25zdHJhaW50KCk6IENvbnNpZGVy IGJvdGggcmVmZXJlbmNpbmcgYW5kCiAgICAgIHJlZmVyZW5jZWQgaW5kZXhlcy4KICAgICAgCiAg ICAgIGRpY3RfZm9yZWlnbl9maW5kX2luZGV4KCk6IEFkZCBjb25zdCBxdWFsaWZpZXJzLiBSZW1v dmUgdGhlIHJlZmVyZW5jZQogICAgICB0byBpbmRleC0+dG9fYmVfZHJvcHBlZC4gVGhpcyB3aWxs IGJlIGNoZWNrZWQgZWxzZXdoZXJlLgogICAgICAKICAgICAgZGljdF9mb3JlaWduX2ZpbmRfZXF1 aXZfaW5kZXgoKTogUmVwbGFjZWQgYnkgZGljdF9mb3JlaWduX2ZpbmRfaW5kZXgoKS4KICAgICAg CiAgICAgIGRpY3RfdGFibGVfcmVwbGFjZV9pbmRleF9pbl9mb3JlaWduX2xpc3QoKTogUmVuYW1l ZCB0bwogICAgICBkaWN0X2ZvcmVpZ25fcmVwbGFjZV9pbmRleCgpLiBUaGlzIHdpbGwgbm90IHdv cmsgcHJvcGVybHkgdW50aWwKICAgICAgV0wjNjA0OSAobWV0YS1kYXRhIGxvY2tpbmcgZm9yIGZv cmVpZ24ga2V5IGNoZWNrcykgaGFzIGJlZW4KICAgICAgaW1wbGVtZW50ZWQuCiAgICAgIAogICAg ICBkaWN0X3RhYmxlX2NoZWNrX2Zvcl9kdXBfaW5kZXhlcygpOiBSZXBsYWNlIHRoZSBwYXJhbWV0 ZXIgaWJvb2wgdG1wX29rCiAgICAgIHdpdGggZW51bSBjaGVja19uYW1lOiBDSEVDS19BTExfQ09N UExFVEUsIENIRUNLX0FCT1JURURfT0ssCiAgICAgIENIRUNLX1BBUlRJQUxfT0suCiAgICAgIAog ICAgICBkaWN0X2xydV92YWxpZGF0ZSgpLCBkaWN0X2xydV9maW5kX3RhYmxlKCk6IE1ha2Ugc3Rh dGljLgogICAgICAKICAgICAgZGljdF9sb2FkX2NvbHVtbnMoKTogQ2hlY2sgZXJyb3JzIGZyb20g ZGljdF9sb2FkX2NvbHVtbl9sb3coKSBhIGxpdHRsZQogICAgICBlYXJsaWVyLgogICAgICAKICAg ICAgZGljdF9zdGF0c191cGRhdGVfdHJhbnNpZW50X2Zvcl9pbmRleCgpOiBSZWZhY3RvcmVkIGZy b20KICAgICAgZGljdF9zdGF0c191cGRhdGVfdHJhbnNpZW50KCkuIFdlIG5lZWQgdG8gYmUgYWJs ZSB0byB1cGRhdGUgdGhlCiAgICAgIHN0YXRpc3RpY3MgZm9yIGEgcGFydGljdWxhciBpbmRleCwg b25jZSB0aGUgaW5kZXggaGFzIGJlZW4gY3JlYXRlZC4KICAgICAgCiAgICAgIGRpY3Rfc3RhdHNf dXBkYXRlX3BlcnNpc3RlbnQoKTogU2tpcCBpbmRleGVzIHRoYXQgYXJlIGNvcnJ1cHRlZCBvcgog ICAgICBiZWluZyBjcmVhdGVkIG9ubGluZS4KICAgICAgCiAgICAgIGRpY3Rfc3RhdHNfZmV0Y2hf ZnJvbV9wc19mb3JfaW5kZXgoKTogZGljdF9zdGF0c191cGRhdGVfZm9yX2luZGV4KCk6CiAgICAg IE5ldyBmdW5jdGlvbnMsIGZvciB1cGRhdGluZyBpbmRleCBzdGF0aXN0aWNzIGFmdGVyIGluZGV4 IGNyZWF0aW9uLgogICAgICAKICAgICAgZGljdF9zdGF0c19kZWxldGVfaW5kZXhfc3RhdHMoKTog VGFrZSB0aGUgdGFibGUgYW5kIGluZGV4IG5hbWUgYXMgdGhlCiAgICAgIHBhcmFtZXRlciwgaW5z dGVhZCBvZiB0YWtpbmcgYSBkaWN0X2luZGV4X3QuIFdlIHdpbGwgZHJvcCB0aGUKICAgICAgc3Rh dGlzdGljcyBhZnRlciB0aGUgb2JqZWN0IGhhcyBiZWVuIGZyZWVkLgogICAgICAKICAgICAgaW5u b2Jhc2VfaW5kZXhfcmVzZXJ2ZV9uYW1lOiBBIGdsb2JhbCBjb25zdGFudCBmb3IgdGhlIHByZWRl ZmluZWQgbmFtZQogICAgICBHRU5fQ0xVU1RfSU5ERVguCiAgICAgIAogICAgICBjb252ZXJ0X2Vy cm9yX2NvZGVfdG9fbXlzcWwoKTogTWFrZSBzdGF0aWMgaW4gaGFfaW5ub2RiLmNjLiBUaGUgQUxU RVIKICAgICAgVEFCTEUgY29kZSBpbiBoYW5kbGVyMGFsdGVyLmNjIHdpbGwgaW52b2tlIGEgbmV3 IGZ1bmN0aW9uCiAgICAgIG15X2Vycm9yX2lubm9kYigpIGluc3RlYWQsIHNvIHRoYXQgbXlfZXJy b3IoKSB3aWxsIGJlIGludm9rZWQgZXhhY3RseQogICAgICBvbmNlIGZvciBlYWNoIGVycm9yLgog ICAgICAKICAgICAgaGFfaW5ub2Jhc2U6OmluZm9fbG93KCk6IElnbm9yZSBpbmRleGVzIHRoYXQg YXJlIGJlaW5nIGNyZWF0ZWQgb25saW5lLgogICAgICAKICAgICAgaGFfaW5ub2Jhc2U6OmNoZWNr KCk6IElnbm9yZSBpbmRleGVzIHRoYXQgYXJlIGJlaW5nIGNyZWF0ZWQgb3IgZHJvcHBlZC4KICAg ICAgCiAgICAgIG15X2Vycm9yX2lubm9kYigpOiBFcnJvciByZXBvcnRpbmcgZm9yIG1vc3QgY29u ZGl0aW9ucyBpbiBEREwKICAgICAgb3BlcmF0aW9ucyAoZXhjZXB0IG9sZF9hbHRlcl90YWJsZT0x IG9yIENSRUFURSBUQUJMRSBvciBEUk9QIFRBQkxFKS4KICAgICAgVGhlIGVycm9ycyBEQl9EVVBM SUNBVEVfS0VZLCBEQl9UQUJMRVNQQUNFX0FMUkVBRFlfRVhJU1RTLCBhbmQKICAgICAgREJfT05M SU5FX0xPR19UT09fQklHIG11c3QgYmUgaGFuZGxlZCBieSB0aGUgY2FsbGVyLgogICAgICAKICAg ICAgaW5ub2Jhc2VfY2hlY2tfaW5kZXhfa2V5cygpOiBSZXBsYWNlIGtleV9pbmZvW10sIG51bV9v Zl9rZXlzIHdpdGgKICAgICAgQWx0ZXJfaW5wbGFjZV9pbmZvLgogICAgICAKICAgICAgaW5ub2Jh c2VfY3JlYXRlX2luZGV4X2ZpZWxkX2RlZigpOiBBZGQgY29uc3QgcXVhbGlmaWVycy4KICAgICAg CiAgICAgIGlubm9iYXNlX2NyZWF0ZV9pbmRleF9kZWYoKTogQWRkIGNvbnN0IHF1YWxpZmllcnMu IFJlbmFtZSBrZXlfcHJpbWFyeQogICAgICB0byBrZXlfY2x1c3RlcmVkLCBiZWNhdXNlIHdlIGRv IGNyZWF0ZSBhIG5ldyBjbHVzdGVyZWQgaW5kZXggYWxzbyB3aGVuCiAgICAgIGNyZWF0aW5nIHRo ZSBGVFNfRE9DX0lEIGNvbHVtbi4KICAgICAgCiAgICAgIGlubm9iYXNlX2NvcHlfaW5kZXhfZmll bGRfZGVmKCk6IFJlbW92ZS4gV2hlbiBjcmVhdGluZyB0aGUgY2x1c3RlcmVkCiAgICAgIGluZGV4 IChhbmQgcmVidWlsZGluZyB0aGUgdGFibGUpLCBhbGwgaW5kZXggZGVmaW5pdGlvbnMgd2lsbCBi ZSBjb3BpZWQKICAgICAgZnJvbSB0aGUgTXlTUUwgZGF0YSBkaWN0aW9uYXJ5LCBub3QgZnJvbSB0 aGUgSW5ub0RCIGRhdGEgZGljdGlvbmFyeS4KICAgICAgCiAgICAgIGlubm9iYXNlX2Z0c19jaGVj a19kb2NfaWRfY29sKCksCiAgICAgIGlubm9iYXNlX2Z0c19jaGVja19kb2NfaWRfaW5kZXhfaW5f ZGVmKCk6IEFkZCBjb25zdCBxdWFsaWZpZXJzLgogICAgICAKICAgICAgaW5ub2Jhc2VfZnRzX2No ZWNrX2RvY19pZF9pbmRleCgpOiBBZGQgaGFfYWx0ZXJfaW5mbywgZm9yIGNoZWNraW5nCiAgICAg IGluZGV4ZXMgdGhhdCBhcmUgdG8gYmUgYWRkZWQuCiAgICAgIAogICAgICBpbm5vYmFzZV9jcmVh dGVfa2V5X2RlZigpOiBSZW5hbWUgdG8gaW5ub2Jhc2VfY3JlYXRlX2tleV9kZWZzKCkuIE1vdmUK ICAgICAgc29tZSBoYW5kbGluZyBvZiBmdWxsLXRleHQgaW5kZXggY3JlYXRpb24gdG8gdGhlIGNh bGxlci4KICAgICAgCiAgICAgIGlubm9iYXNlX2NoZWNrX2NvbHVtbl9sZW5ndGgoKTogQ2hhbmdl IHRoZSByZXR1cm4gdHlwZSBmcm9tIGludCB0byBib29sLgogICAgICAKICAgICAgaW5ub2Jhc2Vf ZmluZF9lcXVpdl9pbmRleCgpOiBTaW1pbGFyIHRvX2ZvcmVpZ25fZmluZF9pbmRleCgpLCBidXQK ICAgICAgc2VhcmNoZXMgdGhlIHRvLWJlLWFkZGVkIGluZGV4ZXMgaW5zdGVhZCBvZiBleGlzdGlu ZyBvbmVzLgogICAgICAKICAgICAgaW5ub2Jhc2VfY3JlYXRlX2Z0c19kb2NfaWRfaWR4KCk6IEFk ZCB0aGUgcGFyYW1ldGVyIG5ld19jbHVzdGVyZWQuCiAgICAgIAogICAgICBpbm5vYmFzZV9hZGRf aW5kZXhfY2xlYW51cCgpOiBSZW1vdmUuCiAgICAgIAogICAgICBvbmxpbmVfcmV0cnlfZHJvcF9p bmRleGVzX2xvdygpLCBvbmxpbmVfcmV0cnlfZHJvcF9pbmRleGVzKCk6IERyb3AKICAgICAgJ2Fi b3J0ZWQnIG9yICd6b21iaWUnIGluZGV4ZXMuICBJbnZva2VkIGJ5CiAgICAgIHByZXBhcmVfaW5w bGFjZV9hbHRlcl90YWJsZSgpIHdoaWxlIHN1ZmZpY2llbnQgbG9ja3MgYXJlIGJlaW5nIGhlbGQu CiAgICAgIAogICAgICBwcmVwYXJlX2lucGxhY2VfYWx0ZXJfdGFibGVfZGljdCgpOiBQcmVwYXJl IHRoZSBkYXRhIGRpY3Rpb25hcnkgZm9yCiAgICAgIGlucGxhY2UgQUxURVIgVEFCTEUgKG9yIENS RUFURSBJTkRFWCBvciBEUk9QIElOREVYKS4KICAgICAgCiAgICAgIGlfc19mdHNfaW5kZXhfdGFi bGVfZmlsbF9vbmVfaW5kZXgoKSwgaV9zX2Z0c19jb25maWdfZmlsbCgpOiBBc3NlcnQKICAgICAg dGhhdCB0aGUgaW5kZXggaXMgbm90IGJlaW5nIGNyZWF0ZWQgb25saW5lLiBGdWxsdGV4dCBpbmRl eGVzIGFyZSBuZXZlcgogICAgICBiZWluZyBjcmVhdGVkIG9ubGluZS4KICAgICAgCiAgICAgIHJv d191cGRfYnVpbGRfc2VjX3JlY19kaWZmZXJlbmNlX2JpbmFyeSgpOiBUYWtlIHRoZSByZWMgb2Zm c2V0cyBhcyBhCiAgICAgIHBhcmFtZXRlciwgdG8gYXZvaWQgaGF2aW5nIHRvIHJlY29tcHV0ZSBp dC4gUmVtb3ZlIHRoZSBwYXJhbWV0ZXIgdHJ4LgogICAgICAKICAgICAgaW5zX25vZGVfY3JlYXRl X2VudHJ5X2xpc3QoKTogTWFrZSBzdGF0aWMuCiAgICAgIAogICAgICBzdHJ1Y3QgdHJ4X3N0cnVj dDogQ29ycmVjdCB0aGUgY29tbWVudCBvZiB0cngtPnRhYmxlX2lkLiAgSXQgd2FzIHdyb25nCiAg ICAgIGFscmVhZHkgd2hlbiBpbmRleCBjcmVhdGlvbiB3YXMgaW1wbGVtZW50ZWQgaW4gdGhlIElu bm9EQiBQbHVnaW4uCiAgICAgIAogICAgICBsb2NrX2NsdXN0X3JlY19jb25zX3JlYWRfc2Vlcygp LCBsb2NrX3JlY19jcmVhdGUoKSwKICAgICAgbG9ja19yZWNfZW5xdWV1ZV93YWl0aW5nKCksIGxv Y2tfcmVjX2FkZF90b19xdWV1ZSgpLAogICAgICBsb2NrX3JlY19sb2NrX2Zhc3QoKSwgbG9ja19y ZWNfbG9ja19zbG93KCksIGxvY2tfcmVjX2xvY2soKSwKICAgICAgbG9ja19yZWNfcXVldWVfdmFs aWRhdGUoKSwgbG9ja19yZWNfY29udmVydF9pbXBsX3RvX2V4cGwoKSwKICAgICAgbG9ja19zZWNf cmVjX3JlYWRfY2hlY2tfYW5kX2xvY2soKSwgbG9ja19jbHVzdF9yZWNfcmVhZF9jaGVja19hbmRf bG9jaygpLAogICAgICBsb2NrX2dldF90YWJsZSgpLCBsb2NrX3JlY19nZXRfaW5kZXgoKSwgbG9j a19yZWNfZ2V0X2luZGV4X25hbWUoKSwKICAgICAgbG9ja190YWJsZV9sb2Nrc19sb29rdXAoKTog QXNzZXJ0IHRoYXQgdGhlIGluZGV4IGlzIG5vdCBiZWluZyBjcmVhdGVkCiAgICAgIG9ubGluZS4g VGhlc2UgYXNzZXJ0aW9ucyBzaG91bGQgbm90IGJlIHJlYWNoZWQgZm9yIERNTCB0aHJlYWRzLAog ICAgICBiZWNhdXNlIHRoZXkgc2hvdWxkIGJlIGJ1ZmZlcmluZyB0aGUgY2hhbmdlcyB3aXRoIHJv d19sb2dfb25saW5lX29wKCkuCiAgICAgIFRoZSByb3dfbG9nX2FwcGx5KCkgdGhyZWFkIHdpbGwg YmUgcGFzc2luZyBCVFJfTk9fTE9DS0lOR19GTEFHLAogICAgICBza2lwcGluZyB0aGUgbG9ja2lu Zy4KICAgICAgCiAgICAgIGxvY2tfcmVjX2luc2VydF9jaGVja19hbmRfbG9jaygpLAogICAgICBs b2NrX3NlY19yZWNfbW9kaWZ5X2NoZWNrX2FuZF9sb2NrKCk6IEFzc2VydCB0aGF0IHRoZSBpbmRl eCBpcyBub3QKICAgICAgYmVpbmcgY3JlYXRlZCBvbmxpbmUsIG9yIEJUUl9DUkVBVEVfRkxBRyBp cyBiZWluZyBwYXNzZWQuCiAgICAgIAogICAgICBsb2NrX3JlY19pbnNlcnRfY2hlY2tfYW5kX2xv Y2soKTogUmVtb3ZlIGEgYm9ndXMgYXNzZXJ0aW9uIGFib3V0CiAgICAgIExPQ0tfUyBkdXJpbmcg aW5kZXggY3JlYXRpb24uIEluZGV4IGNyZWF0aW9uIGlzIHBhc3NpbmcgdGhlCiAgICAgIEJUUl9O T19MT0NLSU5HX0ZMQUcsIHNraXBwaW5nIGxvY2tpbmcgYWx0b2dldGhlci4KICAgICAgCiAgICAg IG9wdF9jYWxjX2luZGV4X2dvb2RuZXNzKCk6IElnbm9yZSBpbmRleGVzIHRoYXQgYXJlIGJlaW5n IGNyZWF0ZWQgb25saW5lLgogICAgICAKICAgICAgcm93X2luc19tdXN0X21vZGlmeV9yZWMoKTog VXBkYXRlIGEgY29tbWVudCBhYm91dCB0aGUgdW5pcXVlbmVzcyBvZgogICAgICBub2RlIHBvaW50 ZXJzLgogICAgICAKICAgICAgcm93X3B1cmdlX3BhcnNlX3VuZG9fcmVjKCksIHJvd191bmRvX21v ZF91cGRfZXhpc3Rfc2VjKCksIHJvd191cGQoKToKICAgICAgUHJvY2VlZCBpZiB0aGVyZSBhcmUg YW55IGluZGV4ZXMgYmVpbmcgY3JlYXRlZCBvbmxpbmUuCiAgICAgIAogICAgICByb3dfaW5zX2lu ZGV4X2VudHJ5KCksIHJvd19wdXJnZV9yZW1vdmVfc2VjX2lmX3Bvc3MoKSwKICAgICAgcm93X3Vu ZG9faW5zX3JlbW92ZV9zZWNfcmVjKCksIHJvd191bmRvX21vZF9kZWxfbWFya19vcl9yZW1vdmVf c2VjKCksCiAgICAgIHJvd191bmRvX21vZF9kZWxfbWFya19vcl9yZW1vdmVfc2VjKCksCiAgICAg IHJvd191bmRvX21vZF9kZWxfdW5tYXJrX3NlY19hbmRfdW5kb191cGRhdGUoKTogSW52b2tlCiAg ICAgIGRpY3RfaW5kZXhfb25saW5lX3RyeWxvZygpLgogICAgICAKICAgICAgcm93X3VwZF9zZWNf b25saW5lKCk6IEF1eGlsaWFyeSBmdW5jdGlvbiBmb3IgbG9nZ2luZyB0aGUgdXBkYXRlIG9yCiAg ICAgIGRlbGV0ZSBvZiBhIHJlY29yZCB3aG9zZSBpbmRleCBpcyBiZWluZyBjcmVhdGVkIG9ubGlu ZS4gSW52b2tlZCBieQogICAgICByb3dfdXBkX3NlY19zdGVwKCkuCiAgICAgIAogICAgICByb3df Y3JlYXRlX3RhYmxlX2Zvcl9teXNxbCgpLCByb3dfZHJvcF90YWJsZV9mb3JfbXlzcWwoKTogQXNz ZXJ0IHRoYXQKICAgICAgYXQgbW9zdCBvbmUgdGFibGUgaXMgYmVpbmcgY3JlYXRlZCBvciBkcm9w cGVkIHBlciB0cmFuc2FjdGlvbiwgb3IgdGhlCiAgICAgIHRhYmxlIGlzIGFuIGF1eGlsaWFyeSB0 YWJsZSBmb3IgZnVsbC10ZXh0IHNlYXJjaCBpbmRleC4KICAgICAgCiAgICAgIHJlY19vZmZzX2Fu eV9udWxsX2V4dGVybigpOiBNYWtlIGF2YWlsYWJsZSBpbiBub24tZGVidWcgYnVpbGRzLiBUaGlz CiAgICAgIHdpbGwgYmUgY2FsbGVkIHdoZW4gc2Nhbm5pbmcgYWxsIHJvd3MgZHVyaW5nIGluZGV4 IGNyZWF0aW9uLCBpbgogICAgICByb3dfbWVyZ2VfcmVhZF9jbHVzdGVyZWRfaW5kZXgoKS4KICAg ICAgCiAgICAgIHJvd19sb2dfYWxsb2NhdGUoKSwgcm93X2xvZ19mcmVlKCksIHJvd19sb2dfb25s aW5lX29wKCksCiAgICAgIHJvd19sb2dfZ2V0X21heF90cngoKSwgcm93X2xvZ19hcHBseSgpOiBU aGUgbW9kaWZpY2F0aW9uIGxvZyBmb3IKICAgICAgYnVmZmVyaW5nIGNoYW5nZXMgZHVyaW5nIG9u bGluZSBpbmRleCBjcmVhdGlvbi4KICAgICAgCiAgICAgIGVudW0gcm93X29wOiBJbmRleCByZWNv cmQgbW9kaWZpY2F0aW9uIG9wZXJhdGlvbnMgYnVmZmVyZWQgYnkKICAgICAgcm93X2xvZ19vbmxp bmVfb3AoKTogUk9XX09QX0lOU0VSVCwgUk9XX09QX0RFTEVURV9NQVJLLAogICAgICBST1dfT1Bf REVMRVRFX1VOTUFSSywgUk9XX09QX1BVUkdFLCBST1dfT1BfREVMRVRFX1BVUkdFLgogICAgICAK ICAgICAgbWVyZ2VfaW5kZXhfZGVmX3N0cnVjdDogQWRkIGtleV9udW1iZXIgZm9yIHRoZSBNeVNR TCBrZXkgbnVtYmVyIHRoYXQKICAgICAgaXMgYmVpbmcgY3JlYXRlZCwgb3IgVUxJTlRfVU5ERUZJ TkVEIGlmIG5vbmUuCiAgICAgIAogICAgICByb3dfbWVyZ2VfZHVwX3JlcG9ydCgpLCByb3dfbWVy Z2VfZmlsZV9jcmVhdGVfbG93KCksCiAgICAgIHJvd19tZXJnZV9maWxlX2Rlc3Ryb3lfbG93KCk6 IE1ha2UgcHVibGljLCBzbyB0aGF0IHRoZXNlIGNhbiBiZSBjYWxsZWQKICAgICAgZnJvbSByb3cw bG9nLmNjLgogICAgICAKICAgICAgcm93X21lcmdlX2Ryb3BfaW5kZXgoKTogUmVwbGFjZSB3aXRo IHJvd19tZXJnZV9kcm9wX2luZGV4ZXNfZGljdCgpIGFuZAogICAgICByb3dfbWVyZ2VfZHJvcF9p bmRleGVzKCkuCiAgICAgIAogICAgICByb3dfbWVyZ2VfcmVuYW1lX2luZGV4X3RvX2FkZCgpLCBy b3dfbWVyZ2VfcmVuYW1lX2luZGV4X3RvX2Ryb3AoKTogTmV3CiAgICAgIGZ1bmN0aW9ucywgdXNl ZCBpbiBjb21taXRfaW5wbGFjZV9hbHRlcl90YWJsZSgpIHRvIGd1YXJhbnRlZSBzb21ld2hhdAog ICAgICBzYXRpc2ZhY3RvcnkgY3Jhc2ggcmVjb3ZlcnkuCiAgICAgIAogICAgICByb3dfbWVyZ2Vf YnVpbGRfaW5kZXhlcygpOiBBZGQgdGhlIGZsYWcgJ29ubGluZScuIEFkZCBrZXlfbnVtYmVyc1td LgogICAgICBJZiBvbmxpbmUgaW5kZXggY3JlYXRpb24gZmFpbHMsIGZsYWcgYWxsIGNyZWF0ZWQg aW5kZXhlcyBhcyAnYWJvcnRlZCcKICAgICAgb3IgJ3pvbWJpZScuCiAgICAgIAogICAgICByb3df bWVyZ2VfYnVmX2VuY29kZSgpOiBSZWZhY3RvcmVkIGZyb20gcm93X21lcmdlX2J1Zl93cml0ZSgp LgogICAgICAKICAgICAgcm93X21lcmdlX2luc2VydF9pbmRleF90dXBsZXMoKTogUmVwbGFjZSB0 cnggd2l0aCB0cnhfaWQuIFJlbW92ZSB0aGUKICAgICAgcGFyYW1ldGVyICd0YWJsZScuIFJlbW92 ZSB0aGUgZHVtbXkgcXVlcnkgZ3JhcGggYW5kIGludm9rZSB0aGUgYi10cmVlCiAgICAgIGZ1bmN0 aW9ucyBkaXJlY3RseS4KICAgICAgCiAgICAgIHJvd19tZXJnZV9kcm9wX3RlbXBfaW5kZXhlcygp OiBVc2UgZGlyZWN0IFNRTCB0byBkcm9wIGFsbCB0ZW1wb3JhcnkKICAgICAgaW5kZXhlcy4KICAg ICAgCiAgICAgIHJvd19tZXJnZV9yZWFkX2NsdXN0ZXJlZF9pbmRleCgpOiBEbyBub3QgY29tbWl0 IHRoZSBtaW5pLXRyYW5zYWN0aW9uCiAgICAgIHdoZW4gc3dpdGNoaW5nIHBhZ2VzIGV4Y2VwdCB3 aGVuIHRoZXJlIGlzIGEgbG9jayB3YWl0IG9uIHRoZSBjbHVzdGVyZWQKICAgICAgaW5kZXggdHJl ZSBsb2NrLgogICAgICAKICAgICAgTU9OSVRPUl9NVVRFWF9JTkMoKSwgTU9OSVRPUl9NVVRFWF9E RUMoKTogTmV3IG1hY3JvcywgdG8gYmUgdXNlZCB3aGVuCiAgICAgIHRoZSBtdXRleCBwcm90ZWN0 aW5nIHRoZSBjb3VudGVyIGlzIHRvIGJlIGFjcXVpcmVkIGFuZCByZWxlYXNlZC4KICAgICAgCiAg ICAgIE1PTklUT1JfQVRPTUlDX0lOQygpLCBNT05JVE9SX0FUT01JQ19ERUMoKTogRGVmaW5lIHRo ZXNlIGZvcgogICAgICBub24tYXRvbWljIGJ1aWxkcyBhcyB3ZWxsLiBVc2UgYSBuZXcgbXV0ZXgg KG1vbml0b3JfbXV0ZXgpIGZvcgogICAgICBwcm90ZWN0aW9uIGluIHRoYXQgY2FzZS4KICAgICAg CiAgICAgIHJvd19pbnNfaW5kZXhfZW50cnlfYmlnX3JlYygpOiBBIG5ldyBmdW5jdGlvbiwgZm9y IGluc2VydGluZyB0aGUKICAgICAgZXh0ZXJuYWxseSBzdG9yZWQgZmllbGRzIChvZmYtcGFnZSBj b2x1bW5zKSBvZiBhIGNsdXN0ZXJlZCBpbmRleCBlbnRyeS4KICAgICAgCiAgICAgIHJiOjg1NCBh cHByb3ZlZCBieSBKaW1teSBZYW5nCgogICAgYWRkZWQ6CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUv aW5ub2RiL3IvaW5ub2RiLWluZGV4LW9ubGluZS5yZXN1bHQKICAgICAgbXlzcWwtdGVzdC9zdWl0 ZS9pbm5vZGIvdC9pbm5vZGItaW5kZXgtb25saW5lLW1hc3Rlci5vcHQKICAgICAgbXlzcWwtdGVz dC9zdWl0ZS9pbm5vZGIvdC9pbm5vZGItaW5kZXgtb25saW5lLnRlc3QKICAgICAgbXlzcWwtdGVz dC9zdWl0ZS9zeXNfdmFycy9yL2lubm9kYl9vbmxpbmVfYWx0ZXJfbG9nX21heF9zaXplX2Jhc2lj LnJlc3VsdAogICAgICBteXNxbC10ZXN0L3N1aXRlL3N5c192YXJzL3QvaW5ub2RiX29ubGluZV9h bHRlcl9sb2dfbWF4X3NpemVfYmFzaWMudGVzdAogICAgICBzdG9yYWdlL2lubm9iYXNlL2luY2x1 ZGUvcm93MGxvZy5oCiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2Uvcm93L3JvdzBsb2cuY2MKICAgIG1v ZGlmaWVkOgogICAgICBteXNxbC10ZXN0L3IvYWx0ZXJfdGFibGUucmVzdWx0CiAgICAgIG15c3Fs LXRlc3Qvc3VpdGUvaW5ub2RiL3IvaW5ub2RiLWF1dG9pbmMtNDQwMzAucmVzdWx0CiAgICAgIG15 c3FsLXRlc3Qvc3VpdGUvaW5ub2RiL3IvaW5ub2RiLnJlc3VsdAogICAgICBteXNxbC10ZXN0L3N1 aXRlL2lubm9kYi9yL2lubm9kYl8xNmsucmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvaW5u b2RiL3IvaW5ub2RiXzRrLnJlc3VsdAogICAgICBteXNxbC10ZXN0L3N1aXRlL2lubm9kYi9yL2lu bm9kYl84ay5yZXN1bHQKICAgICAgbXlzcWwtdGVzdC9zdWl0ZS9pbm5vZGIvci9pbm5vZGJfYnVn NDYwMDAucmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvaW5ub2RiL3IvaW5ub2RiX2J1ZzUz NTkxLnJlc3VsdAogICAgICBteXNxbC10ZXN0L3N1aXRlL2lubm9kYi9yL2lubm9kYl9pbmRleF9s YXJnZV9wcmVmaXgucmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvaW5ub2RiL3IvaW5ub2Ri X2luZGV4X2xhcmdlX3ByZWZpeF80ay5yZXN1bHQKICAgICAgbXlzcWwtdGVzdC9zdWl0ZS9pbm5v ZGIvci9pbm5vZGJfaW5kZXhfbGFyZ2VfcHJlZml4XzhrLnJlc3VsdAogICAgICBteXNxbC10ZXN0 L3N1aXRlL2lubm9kYi9yL2lubm9kYl9tb25pdG9yLnJlc3VsdAogICAgICBteXNxbC10ZXN0L3N1 aXRlL2lubm9kYi9yL2lubm9kYl9wcmVmaXhfaW5kZXhfbGlmdGVkbGltaXQucmVzdWx0CiAgICAg IG15c3FsLXRlc3Qvc3VpdGUvaW5ub2RiL3QvaW5ub2RiLWF1dG9pbmMtNDQwMzAudGVzdAogICAg ICBteXNxbC10ZXN0L3N1aXRlL2lubm9kYi90L2lubm9kYl8xNmsudGVzdAogICAgICBteXNxbC10 ZXN0L3N1aXRlL2lubm9kYi90L2lubm9kYl80ay50ZXN0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUv aW5ub2RiL3QvaW5ub2RiXzhrLnRlc3QKICAgICAgbXlzcWwtdGVzdC9zdWl0ZS9pbm5vZGIvdC9p bm5vZGJfYnVnNTM1OTEudGVzdAogICAgICBteXNxbC10ZXN0L3N1aXRlL2lubm9kYi90L2lubm9k Yl9pbmRleF9sYXJnZV9wcmVmaXgudGVzdAogICAgICBteXNxbC10ZXN0L3N1aXRlL2lubm9kYi90 L2lubm9kYl9pbmRleF9sYXJnZV9wcmVmaXhfNGsudGVzdAogICAgICBteXNxbC10ZXN0L3N1aXRl L2lubm9kYi90L2lubm9kYl9pbmRleF9sYXJnZV9wcmVmaXhfOGsudGVzdAogICAgICBteXNxbC10 ZXN0L3N1aXRlL2lubm9kYi90L2lubm9kYl9tb25pdG9yLnRlc3QKICAgICAgbXlzcWwtdGVzdC9z dWl0ZS9pbm5vZGIvdC9pbm5vZGJfcHJlZml4X2luZGV4X2xpZnRlZGxpbWl0LnRlc3QKICAgICAg bXlzcWwtdGVzdC9zdWl0ZS9pbm5vZGJfZnRzL3IvZnVsbHRleHQucmVzdWx0CiAgICAgIG15c3Fs LXRlc3Qvc3VpdGUvaW5ub2RiX2Z0cy9yL2lubm9kYi1mdHMtZGRsLnJlc3VsdAogICAgICBteXNx bC10ZXN0L3N1aXRlL2lubm9kYl9mdHMvci9pbm5vZGItZnRzLWZpYy5yZXN1bHQKICAgICAgbXlz cWwtdGVzdC9zdWl0ZS9pbm5vZGJfZnRzL3IvaW5ub2RiX2Z0c19taXNjLnJlc3VsdAogICAgICBt eXNxbC10ZXN0L3N1aXRlL2lubm9kYl9mdHMvci9pbm5vZGJfZnRzX21pc2NfMS5yZXN1bHQKICAg ICAgbXlzcWwtdGVzdC9zdWl0ZS9pbm5vZGJfZnRzL3IvaW5ub2RiX2Z0c19tdXRpcGxlX2luZGV4 LnJlc3VsdAogICAgICBteXNxbC10ZXN0L3N1aXRlL2lubm9kYl9mdHMvci9pbm5vZGJfZnRzX3By b3hpbWl0eS5yZXN1bHQKICAgICAgbXlzcWwtdGVzdC9zdWl0ZS9pbm5vZGJfZnRzL3IvaW5ub2Ri X2Z0c190cmFuc2FjdGlvbi5yZXN1bHQKICAgICAgbXlzcWwtdGVzdC9zdWl0ZS9pbm5vZGJfZnRz L3QvaW5ub2RiLWZ0cy1kZGwudGVzdAogICAgICBteXNxbC10ZXN0L3N1aXRlL2lubm9kYl9mdHMv dC9pbm5vZGItZnRzLWZpYy50ZXN0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvc3lzX3ZhcnMvci9p bm5vZGJfbW9uaXRvcl9kaXNhYmxlX2Jhc2ljLnJlc3VsdAogICAgICBteXNxbC10ZXN0L3N1aXRl L3N5c192YXJzL3IvaW5ub2RiX21vbml0b3JfZW5hYmxlX2Jhc2ljLnJlc3VsdAogICAgICBteXNx bC10ZXN0L3N1aXRlL3N5c192YXJzL3IvaW5ub2RiX21vbml0b3JfcmVzZXRfYWxsX2Jhc2ljLnJl c3VsdAogICAgICBteXNxbC10ZXN0L3N1aXRlL3N5c192YXJzL3IvaW5ub2RiX21vbml0b3JfcmVz ZXRfYmFzaWMucmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvc3lzX3ZhcnMvdC9pbm5vZGJf bW9uaXRvcl9kaXNhYmxlX2Jhc2ljLnRlc3QKICAgICAgbXlzcWwtdGVzdC9zdWl0ZS9zeXNfdmFy cy90L2lubm9kYl9tb25pdG9yX2VuYWJsZV9iYXNpYy50ZXN0CiAgICAgIG15c3FsLXRlc3Qvc3Vp dGUvc3lzX3ZhcnMvdC9pbm5vZGJfbW9uaXRvcl9yZXNldF9hbGxfYmFzaWMudGVzdAogICAgICBt eXNxbC10ZXN0L3N1aXRlL3N5c192YXJzL3QvaW5ub2RiX21vbml0b3JfcmVzZXRfYmFzaWMudGVz dAogICAgICBteXNxbC10ZXN0L3QvYWx0ZXJfdGFibGUudGVzdAogICAgICBzcWwvc2hhcmUvZXJy bXNnLXV0ZjgudHh0CiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2UvQ01ha2VMaXN0cy50eHQKICAgICAg c3RvcmFnZS9pbm5vYmFzZS9idHIvYnRyMGJ0ci5jYwogICAgICBzdG9yYWdlL2lubm9iYXNlL2J0 ci9idHIwY3VyLmNjCiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2UvYnRyL2J0cjBzZWEuY2MKICAgICAg c3RvcmFnZS9pbm5vYmFzZS9kaWN0L2RpY3QwY3JlYS5jYwogICAgICBzdG9yYWdlL2lubm9iYXNl L2RpY3QvZGljdDBkaWN0LmNjCiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2UvZGljdC9kaWN0MGxvYWQu Y2MKICAgICAgc3RvcmFnZS9pbm5vYmFzZS9kaWN0L2RpY3Qwc3RhdHMuY2MKICAgICAgc3RvcmFn ZS9pbm5vYmFzZS9mdHMvZnRzMGZ0cy5jYwogICAgICBzdG9yYWdlL2lubm9iYXNlL2Z0cy9mdHMw b3B0LmNjCiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2UvaGFuZGxlci9oYV9pbm5vZGIuY2MKICAgICAg c3RvcmFnZS9pbm5vYmFzZS9oYW5kbGVyL2hhX2lubm9kYi5oCiAgICAgIHN0b3JhZ2UvaW5ub2Jh c2UvaGFuZGxlci9oYW5kbGVyMGFsdGVyLmNjCiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2UvaGFuZGxl ci9pX3MuY2MKICAgICAgc3RvcmFnZS9pbm5vYmFzZS9pYnVmL2lidWYwaWJ1Zi5jYwogICAgICBz dG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvYnRyMGJ0ci5oCiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2Uv aW5jbHVkZS9idHIwY3VyLmgKICAgICAgc3RvcmFnZS9pbm5vYmFzZS9pbmNsdWRlL2J0cjBwY3Vy LmgKICAgICAgc3RvcmFnZS9pbm5vYmFzZS9pbmNsdWRlL2J0cjBzZWEuaWMKICAgICAgc3RvcmFn ZS9pbm5vYmFzZS9pbmNsdWRlL2RiMGVyci5oCiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVk ZS9kaWN0MGRpY3QuaAogICAgICBzdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvZGljdDBkaWN0Lmlj CiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS9kaWN0MG1lbS5oCiAgICAgIHN0b3JhZ2Uv aW5ub2Jhc2UvaW5jbHVkZS9kaWN0MHN0YXRzLmgKICAgICAgc3RvcmFnZS9pbm5vYmFzZS9pbmNs dWRlL3JlbTByZWMuaAogICAgICBzdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvcmVtMHJlYy5pYwog ICAgICBzdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvcm93MGlucy5oCiAgICAgIHN0b3JhZ2UvaW5u b2Jhc2UvaW5jbHVkZS9yb3cwbWVyZ2UuaAogICAgICBzdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUv cm93MG15c3FsLmgKICAgICAgc3RvcmFnZS9pbm5vYmFzZS9pbmNsdWRlL3JvdzB0eXBlcy5oCiAg ICAgIHN0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS9yb3cwdXBkLmgKICAgICAgc3RvcmFnZS9pbm5v YmFzZS9pbmNsdWRlL3JvdzB1cGQuaWMKICAgICAgc3RvcmFnZS9pbm5vYmFzZS9pbmNsdWRlL3Ny djBtb24uaAogICAgICBzdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvc3J2MHNydi5oCiAgICAgIHN0 b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS9zeW5jMHJ3LmgKICAgICAgc3RvcmFnZS9pbm5vYmFzZS9p bmNsdWRlL3N5bmMwc3luYy5oCiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS90cngwdHJ4 LmgKICAgICAgc3RvcmFnZS9pbm5vYmFzZS9sb2NrL2xvY2swbG9jay5jYwogICAgICBzdG9yYWdl L2lubm9iYXNlL3BhcnMvcGFyczBvcHQuY2MKICAgICAgc3RvcmFnZS9pbm5vYmFzZS9wYXJzL3Bh cnMwcGFycy5jYwogICAgICBzdG9yYWdlL2lubm9iYXNlL3BhcnMvcGFyczBzeW0uY2MKICAgICAg c3RvcmFnZS9pbm5vYmFzZS9yb3cvcm93MGZ0c29ydC5jYwogICAgICBzdG9yYWdlL2lubm9iYXNl L3Jvdy9yb3cwaW5zLmNjCiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2Uvcm93L3JvdzBtZXJnZS5jYwog ICAgICBzdG9yYWdlL2lubm9iYXNlL3Jvdy9yb3cwbXlzcWwuY2MKICAgICAgc3RvcmFnZS9pbm5v YmFzZS9yb3cvcm93MHB1cmdlLmNjCiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2Uvcm93L3JvdzBzZWwu Y2MKICAgICAgc3RvcmFnZS9pbm5vYmFzZS9yb3cvcm93MHVpbnMuY2MKICAgICAgc3RvcmFnZS9p bm5vYmFzZS9yb3cvcm93MHVtb2QuY2MKICAgICAgc3RvcmFnZS9pbm5vYmFzZS9yb3cvcm93MHVw ZC5jYwogICAgICBzdG9yYWdlL2lubm9iYXNlL3Nydi9zcnYwbW9uLmNjCiAgICAgIHN0b3JhZ2Uv aW5ub2Jhc2Uvc3J2L3NydjBzcnYuY2MKICAgICAgc3RvcmFnZS9pbm5vYmFzZS9zcnYvc3J2MHN0 YXJ0LmNjCiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2Uvc3luYy9zeW5jMHN5bmMuY2MKICAgICAgc3Rv cmFnZS9pbm5vYmFzZS90cngvdHJ4MHJlYy5jYwogICAgICBzdG9yYWdlL2lubm9iYXNlL3RyeC90 cngwcm9sbC5jYwogICAgICBzdG9yYWdlL2lubm9iYXNlL3V0L3V0MHV0LmNjCj09PSBhZGRlZCBm aWxlICdteXNxbC10ZXN0L3N1aXRlL2lubm9kYi9yL2lubm9kYi1pbmRleC1vbmxpbmUtcHVyZ2Uu cmVzdWx0JwotLS0gYS9teXNxbC10ZXN0L3N1aXRlL2lubm9kYi9yL2lubm9kYi1pbmRleC1vbmxp bmUtcHVyZ2UucmVzdWx0CTE5NzAtMDEtMDEgMDA6MDA6MDAgKzAwMDAKKysrIGIvbXlzcWwtdGVz dC9zdWl0ZS9pbm5vZGIvci9pbm5vZGItaW5kZXgtb25saW5lLXB1cmdlLnJlc3VsdAlyZXZpZDpt YXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDEyMDIwMTIwNDg1OC1mdjltd2IxMzJnNnNoOXl4CkBA IC0wLDAgKzEsMTIgQEAKK0NSRUFURSBUQUJMRSB0IChhIElOVCBQUklNQVJZIEtFWSwgYyBURVhU KSBFTkdJTkU9SW5ub0RCOworSU5TRVJUIElOVE8gdCBWQUxVRVMgKDEsJ2FhJyk7CitTRVQgREVC VUdfU1lOQz0ncm93X2xvZ19hcHBseV9iZWZvcmUgU0lHTkFMIGNyZWF0ZWQgV0FJVF9GT1IgZG1s X2RvbmUnOworQ1JFQVRFIElOREVYIGMxIE9OIHQgKGMoMSkpOworU0VUIERFQlVHX1NZTkM9J25v dyBXQUlUX0ZPUiBjcmVhdGVkJzsKK1VQREFURSB0IFNFVCBjPSdhYic7CitTRUxFQ1QgU0xFRVAo MTApOworU0xFRVAoMTApCiswCitTRVQgREVCVUdfU1lOQz0nbm93IFNJR05BTCBkbWxfZG9uZSc7 CitTRVQgREVCVUdfU1lOQz0nUkVTRVQnOworRFJPUCBUQUJMRSB0OwoKPT09IGFkZGVkIGZpbGUg J215c3FsLXRlc3Qvc3VpdGUvaW5ub2RiL3QvaW5ub2RiLWluZGV4LW9ubGluZS1wdXJnZS50ZXN0 JwotLS0gYS9teXNxbC10ZXN0L3N1aXRlL2lubm9kYi90L2lubm9kYi1pbmRleC1vbmxpbmUtcHVy Z2UudGVzdAkxOTcwLTAxLTAxIDAwOjAwOjAwICswMDAwCisrKyBiL215c3FsLXRlc3Qvc3VpdGUv aW5ub2RiL3QvaW5ub2RiLWluZGV4LW9ubGluZS1wdXJnZS50ZXN0CXJldmlkOm1hcmtvLm1ha2Vs YUBvcmFjbGUuY29tLTIwMTIwMjAxMjA0ODU4LWZ2OW13YjEzMmc2c2g5eXgKQEAgLTAsMCArMSwz MiBAQAorLS1zb3VyY2UgaW5jbHVkZS9oYXZlX2lubm9kYi5pbmMKKy0tc291cmNlIGluY2x1ZGUv aGF2ZV9kZWJ1Z19zeW5jLmluYworCisjIFNhdmUgdGhlIGluaXRpYWwgbnVtYmVyIG9mIGNvbmN1 cnJlbnQgc2Vzc2lvbnMuCistLXNvdXJjZSBpbmNsdWRlL2NvdW50X3Nlc3Npb25zLmluYworCitj b25uZWN0IChjb24xLGxvY2FsaG9zdCxyb290LCwpOworY29ubmVjdGlvbiBjb24xOworCitDUkVB VEUgVEFCTEUgdCAoYSBJTlQgUFJJTUFSWSBLRVksIGMgVEVYVCkgRU5HSU5FPUlubm9EQjsKKwor SU5TRVJUIElOVE8gdCBWQUxVRVMgKDEsJ2FhJyk7CitTRVQgREVCVUdfU1lOQz0ncm93X2xvZ19h cHBseV9iZWZvcmUgU0lHTkFMIGNyZWF0ZWQgV0FJVF9GT1IgZG1sX2RvbmUnOworLS1zZW5kCitD UkVBVEUgSU5ERVggYzEgT04gdCAoYygxKSk7Citjb25uZWN0aW9uIGRlZmF1bHQ7CitTRVQgREVC VUdfU1lOQz0nbm93IFdBSVRfRk9SIGNyZWF0ZWQnOworVVBEQVRFIHQgU0VUIGM9J2FiJzsKKyMg QWxsb3cgcHVyZ2UgdG8ga2ljayBpbi4gVE9ETzogVHJpZ2dlciB0aGlzIGZhc3Rlciwgc29tZWhv dy4KK1NFTEVDVCBTTEVFUCgxMCk7CitTRVQgREVCVUdfU1lOQz0nbm93IFNJR05BTCBkbWxfZG9u ZSc7Citjb25uZWN0aW9uIGNvbjE7CisjIGNyYXNoCityZWFwOworZGlzY29ubmVjdCBjb24xOwor Y29ubmVjdGlvbiBkZWZhdWx0OworU0VUIERFQlVHX1NZTkM9J1JFU0VUJzsKK0RST1AgVEFCTEUg dDsKKworIyBDaGVjayB0aGF0IGFsbCBjb25uZWN0aW9ucyBvcGVuZWQgYnkgdGVzdCBjYXNlcyBp biB0aGlzIGZpbGUgYXJlIHJlYWxseQorIyBnb25lIHNvIGV4ZWN1dGlvbiBvZiBvdGhlciB0ZXN0 cyB3b24ndCBiZSBhZmZlY3RlZCBieSB0aGVpciBwcmVzZW5jZS4KKy0tc291cmNlIGluY2x1ZGUv d2FpdF91bnRpbF9jb3VudF9zZXNzaW9ucy5pbmMKCj09PSBtb2RpZmllZCBmaWxlICdzdG9yYWdl L2lubm9iYXNlL2hhbmRsZXIvaGFfaW5ub2RiLmgnCi0tLSBhL3N0b3JhZ2UvaW5ub2Jhc2UvaGFu ZGxlci9oYV9pbm5vZGIuaAlyZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDEyMDIwMTE0 MDkzNC1reDR0bDI3MHQ1bzRyenhyCisrKyBiL3N0b3JhZ2UvaW5ub2Jhc2UvaGFuZGxlci9oYV9p bm5vZGIuaAlyZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDEyMDIwMTIwNDg1OC1mdjlt d2IxMzJnNnNoOXl4CkBAIC01MjQsNyArNTI0LDcgQEAgaW5ub2Jhc2VfZnRzX2NoZWNrX2RvY19p ZF9pbmRleCgKIAkJCQkJCW9yIE5VTEwgaWYgbm9uZSAqLwogCXVsaW50KgkJCWZ0c19kb2NfY29s X25vKQkvKiE8IG91dDogVGhlIGNvbHVtbiBudW1iZXIgZm9yCiAJCQkJCQlEb2MgSUQgKi8KLQlf X2F0dHJpYnV0ZSgobm9ubnVsbCgxKSwgd2Fybl91bnVzZWRfcmVzdWx0KSk7CisJX19hdHRyaWJ1 dGVfXygobm9ubnVsbCgxKSwgd2Fybl91bnVzZWRfcmVzdWx0KSk7CiAKIC8qKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8q KgogQ2hlY2sgd2hldGhlciB0aGUgdGFibGUgaGFzIGEgdW5pcXVlIGluZGV4IHdpdGggRlRTX0RP Q19JRF9JTkRFWF9OQU1FCgo9PT0gbW9kaWZpZWQgZmlsZSAnc3RvcmFnZS9pbm5vYmFzZS9pbmNs dWRlL29zMHN5bmMuaCcKLS0tIGEvc3RvcmFnZS9pbm5vYmFzZS9pbmNsdWRlL29zMHN5bmMuaAly ZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDEyMDIwMTE0MDkzNC1reDR0bDI3MHQ1bzRy enhyCisrKyBiL3N0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS9vczBzeW5jLmgJcmV2aWQ6bWFya28u bWFrZWxhQG9yYWNsZS5jb20tMjAxMjAyMDEyMDQ4NTgtZnY5bXdiMTMyZzZzaDl5eApAQCAtNTc0 LDggKzU3NCwxMCBAQCBhbW91bnQgb2YgaW5jcmVtZW50LiAqLwogIyBkZWZpbmUgb3NfYXRvbWlj X2luY3JlbWVudF91bGludChwdHIsIGFtb3VudCkgXAogCSgodWxpbnQpICh3aW5feGNoZ19hbmRf YWRkKChsaW50KikgcHRyLCAobGludCkgYW1vdW50KSArIGFtb3VudCkpCiAKLSMgZGVmaW5lIG9z X2F0b21pY19pbmNyZW1lbnRfdWludDY0KHB0ciwgYW1vdW50KSBcCi0JKCh1bGludCkgKHdpbl94 Y2hnX2FuZF9hZGQocHRyLCAobGludCkgYW1vdW50KSArIGFtb3VudCkpCisjIGRlZmluZSBvc19h dG9taWNfaW5jcmVtZW50X3VpbnQ2NChwdHIsIGFtb3VudCkJCVwKKwkoKGliX3VpbnQ2NF90KSAo SW50ZXJsb2NrZWRFeGNoYW5nZUFkZDY0KAkJXAorCQkJCShpYl9pbnQ2NF90KikgcHRyLAkJXAor CQkJCShpYl9pbnQ2NF90KSBhbW91bnQpICsgYW1vdW50KSkKIAogLyoqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyoqCiBSZXR1cm5zIHRo ZSByZXN1bHRpbmcgdmFsdWUsIHB0ciBpcyBwb2ludGVyIHRvIHRhcmdldCwgYW1vdW50IGlzIHRo ZQoKPT09IG1vZGlmaWVkIGZpbGUgJ3N0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS9yb3cwbWVyZ2Uu aCcKLS0tIGEvc3RvcmFnZS9pbm5vYmFzZS9pbmNsdWRlL3JvdzBtZXJnZS5oCXJldmlkOm1hcmtv Lm1ha2VsYUBvcmFjbGUuY29tLTIwMTIwMjAxMTQwOTM0LWt4NHRsMjcwdDVvNHJ6eHIKKysrIGIv c3RvcmFnZS9pbm5vYmFzZS9pbmNsdWRlL3JvdzBtZXJnZS5oCXJldmlkOm1hcmtvLm1ha2VsYUBv cmFjbGUuY29tLTIwMTIwMjAxMjA0ODU4LWZ2OW13YjEzMmc2c2g5eXgKQEAgLTEsNiArMSw2IEBA CiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioKIAotQ29weXJpZ2h0IChjKSAyMDA1LCAyMDExLCBPcmFj bGUgYW5kL29yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorQ29weXJpZ2h0 IChjKSAyMDA1LCAyMDEyLCBPcmFjbGUgYW5kL29yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRz IFJlc2VydmVkLgogCiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp c3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlcgogdGhlIHRlcm1zIG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUK QEAgLTE2Nyw3ICsxNjcsNyBAQCByb3dfbWVyZ2VfZHJvcF9pbmRleGVzKAogCWRpY3RfdGFibGVf dCoJdGFibGUsCS8qITwgaW4vb3V0OiB0YWJsZSBjb250YWluaW5nIHRoZSBpbmRleGVzICovCiAJ aWJvb2wJCWxvY2tlZCkJLyohPCBpbjogVFJVRT10YWJsZSBsb2NrZWQsCiAJCQkJRkFMU0U9bWF5 IG5lZWQgdG8gZG8gYSBsYXp5IGRyb3AgKi8KLQlfX2F0dHJpYnV0ZSgobm9ubnVsbCkpOworCV9f YXR0cmlidXRlX18oKG5vbm51bGwpKTsKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyoqCiBEcm9wIGFsbCBwYXJ0 aWFsbHkgY3JlYXRlZCBpbmRleGVzIGR1cmluZyBjcmFzaCByZWNvdmVyeS4gKi8KIFVOSVZfSU5U RVJOCgo9PT0gbW9kaWZpZWQgZmlsZSAnc3RvcmFnZS9pbm5vYmFzZS9pbmNsdWRlL3JvdzBteXNx bC5oJwotLS0gYS9zdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvcm93MG15c3FsLmgJcmV2aWQ6bWFy a28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMjAyMDExNDA5MzQta3g0dGwyNzB0NW80cnp4cgorKysg Yi9zdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvcm93MG15c3FsLmgJcmV2aWQ6bWFya28ubWFrZWxh QG9yYWNsZS5jb20tMjAxMjAyMDEyMDQ4NTgtZnY5bXdiMTMyZzZzaDl5eApAQCAtMSw2ICsxLDYg QEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKgogCi1Db3B5cmlnaHQgKGMpIDIwMDAsIDIwMTEsIE9y YWNsZSBhbmQvb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCitDb3B5cmln aHQgKGMpIDIwMDAsIDIwMTIsIE9yYWNsZSBhbmQvb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdo dHMgUmVzZXJ2ZWQuCiAKIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl ZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyCiB0aGUgdGVybXMgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2Fy ZQpAQCAtMzY1LDcgKzM2NSw3IEBAIHJvd19jcmVhdGVfdGFibGVfZm9yX215c3FsKAogCQkJCSh3 aWxsIGJlIGZyZWVkLCBvciBvbiBEQl9TVUNDRVNTCiAJCQkJYWRkZWQgdG8gdGhlIGRhdGEgZGlj dGlvbmFyeSBjYWNoZSkgKi8KIAl0cnhfdCoJCXRyeCkJLyohPCBpbi9vdXQ6IHRyYW5zYWN0aW9u ICovCi0JX19hdHRyaWJ1dGUoKG5vbm51bGwsIHdhcm5fdW51c2VkX3Jlc3VsdCkpOworCV9fYXR0 cmlidXRlX18oKG5vbm51bGwsIHdhcm5fdW51c2VkX3Jlc3VsdCkpOwogLyoqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8v KioKIERvZXMgYW4gaW5kZXggY3JlYXRpb24gb3BlcmF0aW9uIGZvciBNeVNRTC4gVE9ETzogY3Vy cmVudGx5IGZhaWx1cmUKIHRvIGNyZWF0ZSBhbiBpbmRleCByZXN1bHRzIGluIGRyb3BwaW5nIHRo ZSB3aG9sZSB0YWJsZSEgVGhpcyBpcyBubyBwcm9ibGVtCgo9PT0gbW9kaWZpZWQgZmlsZSAnc3Rv cmFnZS9pbm5vYmFzZS9yb3cvcm93MGxvZy5jYycKLS0tIGEvc3RvcmFnZS9pbm5vYmFzZS9yb3cv cm93MGxvZy5jYwlyZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDEyMDIwMTE0MDkzNC1r eDR0bDI3MHQ1bzRyenhyCisrKyBiL3N0b3JhZ2UvaW5ub2Jhc2Uvcm93L3JvdzBsb2cuY2MJcmV2 aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMjAyMDEyMDQ4NTgtZnY5bXdiMTMyZzZzaDl5 eApAQCAtMTAwLDcgKzEwMCwxMCBAQCByb3dfbG9nX29ubGluZV9vcCgKIAl1dF9hZChkdHVwbGVf dmFsaWRhdGUodHVwbGUpKTsKIAl1dF9hZChkdHVwbGVfZ2V0X25fZmllbGRzKHR1cGxlKSA9PSBk aWN0X2luZGV4X2dldF9uX2ZpZWxkcyhpbmRleCkpOwogI2lmZGVmIFVOSVZfU1lOQ19ERUJVRwot CXV0X2FkKHJ3X2xvY2tfb3duKGRpY3RfaW5kZXhfZ2V0X2xvY2soaW5kZXgpLCBSV19MT0NLX1NI QVJFRCkpOworCXV0X2FkKHJ3X2xvY2tfb3duKGRpY3RfaW5kZXhfZ2V0X2xvY2soaW5kZXgpLCBS V19MT0NLX1NIQVJFRCkKKwkgICAgICA9PSAob3AgIT0gUk9XX09QX1BVUkdFKSk7CisJdXRfYWQo cndfbG9ja19vd24oZGljdF9pbmRleF9nZXRfbG9jayhpbmRleCksIFJXX0xPQ0tfRVgpCisJICAg ICAgPT0gKG9wID09IFJPV19PUF9QVVJHRSkpOwogI2VuZGlmIC8qIFVOSVZfU1lOQ19ERUJVRyAq LwogCiAjaWZkZWYgVU5JVl9ERUJVRwoKPT09IG1vZGlmaWVkIGZpbGUgJ3N0b3JhZ2UvaW5ub2Jh c2Uvcm93L3JvdzBwdXJnZS5jYycKLS0tIGEvc3RvcmFnZS9pbm5vYmFzZS9yb3cvcm93MHB1cmdl LmNjCXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTIwMjAxMTQwOTM0LWt4NHRsMjcw dDVvNHJ6eHIKKysrIGIvc3RvcmFnZS9pbm5vYmFzZS9yb3cvcm93MHB1cmdlLmNjCXJldmlkOm1h cmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTIwMjAxMjA0ODU4LWZ2OW13YjEzMmc2c2g5eXgKQEAg LTQyLDYgKzQyLDcgQEAgQ3JlYXRlZCAzLzE0LzE5OTcgSGVpa2tpIFR1dXJpCiAjaW5jbHVkZSAi cm93MHVwZC5oIgogI2luY2x1ZGUgInJvdzB2ZXJzLmgiCiAjaW5jbHVkZSAicm93MG15c3FsLmgi CisjaW5jbHVkZSAicm93MGxvZy5oIgogI2luY2x1ZGUgImxvZzBsb2cuaCIKICNpbmNsdWRlICJz cnYwbW9uLmgiCiAKQEAgLTQzMSw4ICs0MzIsMzcgQEAgcm93X3B1cmdlX3JlbW92ZV9zZWNfaWZf cG9zcygKIAogCS8qCWZwdXRzKCJQdXJnZTogUmVtb3Zpbmcgc2Vjb25kYXJ5IHJlY29yZFxuIiwg c3RkZXJyKTsgKi8KIAotCWlmIChkaWN0X2luZGV4X29ubGluZV90cnlsb2coaW5kZXgsIGVudHJ5 LCAwLCBST1dfT1BfUFVSR0UpKSB7Ci0JCXJldHVybjsKKwlpZiAoZGljdF9pbmRleF9pc19vbmxp bmVfZGRsKGluZGV4KSkgeworCQlpYm9vbAlvbmxpbmUgPSBGQUxTRTsKKworCQkvKiBFeGNsdXNp dmVseSBsYXRjaCB0aGUgaW5kZXggdHJlZSB0byBwcmV2ZW50IERNTAorCQl0aHJlYWRzIGZyb20g bWFraW5nIGNoYW5nZXMuIE90aGVyd2lzZSwgdGhlIHJldHVybgorCQlzdGF0dXMgb2Ygcm93X3B1 cmdlX3Bvc3Nfc2VjKCkgY291bGQgY2hhbmdlLiBGb3IKKwkJcm93X2xvZ19vbmxpbmVfb3AoKSwg YW4gUy1sYXRjaCB3b3VsZCBzdWZmaWNlLiAqLworCQlyd19sb2NrX3hfbG9jayhkaWN0X2luZGV4 X2dldF9sb2NrKGluZGV4KSk7CisKKwkJc3dpdGNoIChkaWN0X2luZGV4X2dldF9vbmxpbmVfc3Rh dHVzKGluZGV4KSkgeworCQljYXNlIE9OTElORV9JTkRFWF9DUkVBVElPTjoKKwkJCWlmIChyb3df cHVyZ2VfcG9zc19zZWMobm9kZSwgaW5kZXgsIGVudHJ5KSkgeworCQkJCXJvd19sb2dfb25saW5l X29wKAorCQkJCQlpbmRleCwgZW50cnksIDAsIFJPV19PUF9QVVJHRSk7CisJCQl9CisJCQkvKiBm YWxsIHRocm91Z2ggKi8KKwkJY2FzZSBPTkxJTkVfSU5ERVhfQUJPUlRFRDoKKwkJY2FzZSBPTkxJ TkVfSU5ERVhfQUJPUlRFRF9EUk9QUEVEOgorCQkJb25saW5lID0gVFJVRTsKKwkJCWJyZWFrOwor CQljYXNlIE9OTElORV9JTkRFWF9DT01QTEVURToKKwkJCS8qIFRoZSBpbmRleCB3YXMganVzdCBj b21wbGV0ZWQuIFdlIG11c3QKKwkJCXBlcmZvcm0gdGhlIG9wZXJhdGlvbiBkaXJlY3RseSBvbiBp dC4gKi8KKwkJCWJyZWFrOworCQl9CisKKwkJcndfbG9ja194X3VubG9jayhkaWN0X2luZGV4X2dl dF9sb2NrKGluZGV4KSk7CisKKwkJaWYgKG9ubGluZSkgeworCQkJcmV0dXJuOworCQl9CiAJfQog CiAJaWYgKHJvd19wdXJnZV9yZW1vdmVfc2VjX2lmX3Bvc3NfbGVhZihub2RlLCBpbmRleCwgZW50 cnkpKSB7CgpObyBidW5kbGUgKHJlYXNvbjogdXNlbGVzcyBmb3IgcHVzaCBlbWFpbHMpLg==