From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from sfi-mx-2.v28.ch3.sourceforge.com ([172.29.28.122] helo=mx.sourceforge.net) by 335xhf1.ch3.sourceforge.com with esmtp (Exim 4.69) (envelope-from ) id 1MbdxB-0002zv-TB for ltp-list@lists.sourceforge.net; Thu, 13 Aug 2009 17:19:05 +0000 Received: from e32.co.us.ibm.com ([32.97.110.150]) by 72vjzd1.ch3.sourceforge.com with esmtps (TLSv1:AES256-SHA:256) (Exim 4.69) id 1Mbdx9-00017X-CD for ltp-list@lists.sourceforge.net; Thu, 13 Aug 2009 17:19:05 +0000 Received: from d03relay05.boulder.ibm.com (d03relay05.boulder.ibm.com [9.17.195.107]) by e32.co.us.ibm.com (8.14.3/8.13.1) with ESMTP id n7DHEMmZ012236 for ; Thu, 13 Aug 2009 11:14:22 -0600 Received: from d03av01.boulder.ibm.com (d03av01.boulder.ibm.com [9.17.195.167]) by d03relay05.boulder.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id n7DHIXjl173398 for ; Thu, 13 Aug 2009 11:18:35 -0600 Received: from d03av01.boulder.ibm.com (loopback [127.0.0.1]) by d03av01.boulder.ibm.com (8.12.11.20060308/8.13.3) with ESMTP id n7DHIWpP021107 for ; Thu, 13 Aug 2009 11:18:33 -0600 From: Subrata Modak In-Reply-To: <20090813075404.GA10982@rajasekhar> References: <20090807111950.GD4761@rajasekhar> <1249648957.4851.49.camel@subratamodak.linux.ibm.com> <1249968754.5507.2.camel@subratamodak.linux.ibm.com> <20090813075404.GA10982@rajasekhar> Date: Thu, 13 Aug 2009 22:48:03 +0530 Message-Id: <1250183886.6656.22.camel@subratamodak.linux.ibm.com> Mime-Version: 1.0 Subject: Re: [LTP] CPU Accounting Controller test case for LTP. Reply-To: subrata@linux.vnet.ibm.com List-Id: Linux Test Project General Discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ltp-list-bounces@lists.sourceforge.net To: Rajasekhar Duddu Cc: ltp-list@lists.sourceforge.net, dhaval@linux.vnet.ibm.com, Peter Zijlstra , Miao Xie , bharata@linux.vnet.ibm.com, Ingo Molnar , KAMEZAWA Hiroyuki , balbir SGV5LAoKVGhhbmtzIGZvciBzZW5kaW5nIHRoYXQgdXBkYXRlIG9uY2UgYWdhaW4uIEJ1dCBzdGls bCBpc3N1ZXMgcmVtYWluIHRvIGJlCmFkZHJlc3NlZDoKCjEpICMgbHMgLWwgdGVzdGNhc2VzL2tl cm5lbC9jb250cm9sbGVycy9jcHVhY2N0Lwp0b3RhbCA3Mgotcnd4ci14ci14IDEgcm9vdCByb290 ICA0OTAzIEF1ZyAxMyAyMzowOCBjcHVhY2N0X3Rhc2sKLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAg IDEyMSBBdWcgMTMgMjM6MDUgY3B1YWNjdF90YXNrLmMKLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAg MTY2NSBBdWcgMTMgMjM6MDUgY3B1YWNjdF90ZXN0cGxhbi50eHQKLXJ3LXItLXItLSAxIHJvb3Qg cm9vdCAgIDM3NyBBdWcgMTMgMjM6MDUgTWFrZWZpbGUKLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAg MTYxMSBBdWcgMTMgMjM6MDUgUkVBRE1FCi1yd3hyLXhyLXggMiByb290IHJvb3QgMTEyMTMgQXVn IDEzIDIzOjA4IHJ1bl9jcHVhY2N0X3Rlc3Quc2gKLXJ3eHIteHIteCAyIHJvb3Qgcm9vdCAgNTA3 NSBBdWcgMTMgMjM6MDUgc2V0dXAuc2gKCllvdSBjYW5ub3QgaGF2ZSBhIGdlbmVyaWMgZmlsZSBj YWxsZWQgInNldHVwLnNoIiBhbmQgdGhlbiBpbnN0YWxsIGl0Cm92ZXIgdG8gIiRMVFBST09UL3Rl c3RjYXNlcy9iaW4vIi4gVGhlcmUgYXJlIG1hbnkgdGVzdHMgd2hpY2ggd2lsbCB0cnkKdG8gZG8g dGhlIHNhbWUgYW5kIHNvbWVib2R5xZsgInNldHVwLnNoIiB3aWxsIGJlIGZpbmFsbHkgcmVwbGFj ZWQgYnkgdGhlCm90aGVyIGF0ICIkTFRQUk9PVC90ZXN0Y2FzZXMvYmluLyIuIFNvLCByZXBsYWNl IHRoaXMgZmlsZSBuYW1lIHdpdGgKc29tZXRoaW5nIG1vcmUgc3BlY2lmaWMgbGlrZSAicnVuX2Nw dWFjY3RfdGVzdF9zZXR1cC5zaCIsIHdoaWNoIGlzIG1vcmUKbWVhbmluZ2Z1bC4KCjIpIFRoZSB0 ZXN0IHJlc3VsdHMgYXJlIG5vdCBlbmNvdXJhZ2luZyB0aG91Z2guIFlvdSBoYXZlIHRyaWVkIHRv CmRpcmVjdGx5IHJ1biBpdCBmcm9tIGJ5IChjZCB0ZXN0Y2FzZXMvYmluLykgYW5kIHRoZW46CiMg Li9ydW5fY3B1YWNjdF90ZXN0LnNoIDEKIyAuL3J1bl9jcHVhY2N0X3Rlc3Quc2ggMgoKd2hpY2gg aXMgbm90IGNvcnJlY3QuIElmIHlvdSB3YW50IHRvIHJ1biBqdXN0IHRoZSBDUFVBQ0NPVU5USU5H CmNvbnRyb2xsZXJzIHdpdGhvdXQgdGhlIG5lZWQgdG8gcnVuIHRoZSBlbnRpcmUgY29udHJvbGxl ciB0ZXN0cyB0aHJvdWdoCnRlc3RfY29udHJvbGxlci5zaCwgdGhlbiBjcmVhdGUgYSBmb2xsb3dp bmcgZmlsZSBsaWtlOgoKIyBjYXQgcnVudGVzdC9jcHVhY2N0CkNQVUFDQ1QwMSAkTFRQUk9PVC90 ZXN0Y2FzZXMvYmluL3J1bl9jcHVhY2N0X3Rlc3Quc2ggMQpDUFVBQ0NUMDIgJExUUFJPT1QvdGVz dGNhc2VzL2Jpbi9ydW5fY3B1YWNjdF90ZXN0LnNoIDIKClRoZW4gdHJ5IHdpdGg6CgouL3J1bmx0 cCAtZiBjcHVhY2N0CgpCdXQgaSBnZXQgdGhlIGZvbGxvd2luZyBvdXRwdXQgb24gbXkgbWFjaGlu ZToKCjw8PHRlc3Rfc3RhcnQ+Pj4KdGFnPUNQVUFDQ1QwMSBzdGltZT0xMjUwMTg1MzEzCmNtZGxp bmU9IiRMVFBST09UL3Rlc3RjYXNlcy9iaW4vcnVuX2NwdWFjY3RfdGVzdC5zaCAxIgpjb250YWN0 cz0iIgphbmFseXNpcz1leGl0Cjw8PHRlc3Rfb3V0cHV0Pj4+CkNsZWFudXAgY2FsbGVkClRFU1Qg MTpDUFUgQUNDT1VOVElORyBDT05UUk9MTEVSIFRFU1RJTkcKUlVOTklORyBTRVRVUC4uLi4uClRF U1QgU1RBUlRFRDogUGxlYXNlIGF2b2lkIHVzaW5nIHN5c3RlbSB3aGlsZSB0aGlzIHRlc3QgZXhl Y3V0ZXMKZ2NjOiAvcm9vdC9zdWJyYXRhL2x0cC9sdHAtZnVsbC0yMDA5MDczMS90ZXN0Y2FzZXMv YmluL2NwdWFjY3RfdGFzay5jOgpObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmdjYzogbm8gaW5w dXQgZmlsZXMKVEZBSUwgVGFzayBmaWxlIGNwdWFjY3RfdGFzay5jIG5vdCBjb21waWxlZApQbGVh c2UgY2hlY2sgTWFrZWZpbGUgRXhpdGluZyB0ZXN0Cjw8PGV4ZWN1dGlvbl9zdGF0dXM+Pj4KaW5p dGlhdGlvbl9zdGF0dXM9Im9rIgpkdXJhdGlvbj0wIHRlcm1pbmF0aW9uX3R5cGU9ZXhpdGVkIHRl cm1pbmF0aW9uX2lkPTI1NSBjb3JlZmlsZT1ubwpjdXRpbWU9MyBjc3RpbWU9MTEKPDw8dGVzdF9l bmQ+Pj4KPDw8dGVzdF9zdGFydD4+Pgp0YWc9Q1BVQUNDVDAyIHN0aW1lPTEyNTAxODUzMTMKY21k bGluZT0iJExUUFJPT1QvdGVzdGNhc2VzL2Jpbi9ydW5fY3B1YWNjdF90ZXN0LnNoIDIiCmNvbnRh Y3RzPSIiCmFuYWx5c2lzPWV4aXQKPDw8dGVzdF9vdXRwdXQ+Pj4KaW5jcmVtZW50aW5nIHN0b3AK Q2xlYW51cCBjYWxsZWQKVEVTVCAyOkNQVSBBQ0NPVU5USU5HIENPTlRST0xMRVIgVEVTVElORwpS VU5OSU5HIFNFVFVQLi4uLi4KVEVTVCBTVEFSVEVEOiBQbGVhc2UgYXZvaWQgdXNpbmcgc3lzdGVt IHdoaWxlIHRoaXMgdGVzdCBleGVjdXRlcwpnY2M6IC9yb290L3N1YnJhdGEvbHRwL2x0cC1mdWxs LTIwMDkwNzMxL3Rlc3RjYXNlcy9iaW4vY3B1YWNjdF90YXNrLmM6Ck5vIHN1Y2ggZmlsZSBvciBk aXJlY3RvcnkKZ2NjOiBubyBpbnB1dCBmaWxlcwpURkFJTCBUYXNrIGZpbGUgY3B1YWNjdF90YXNr LmMgbm90IGNvbXBpbGVkClBsZWFzZSBjaGVjayBNYWtlZmlsZSBFeGl0aW5nIHRlc3QKQ2xlYW51 cCBjYWxsZWQKPDw8ZXhlY3V0aW9uX3N0YXR1cz4+Pgppbml0aWF0aW9uX3N0YXR1cz0ib2siCmR1 cmF0aW9uPTEgdGVybWluYXRpb25fdHlwZT1leGl0ZWQgdGVybWluYXRpb25faWQ9MjU1IGNvcmVm aWxlPW5vCmN1dGltZT01IGNzdGltZT0xMwo8PDx0ZXN0X2VuZD4+PgoKV2hhdCBoYXMgZ2NjIGdv dCB0byBkbyBkdXJpbmcgdGVzdCBydW4gPz8KWW91ciBtYWtlZmlsZSBzYXlzIHRoYXQKInRlc3Rj YXNlcy9rZXJuZWwvY29udHJvbGxlcnMvY3B1YWNjdC9jcHVhY2N0X3Rhc2siIHdpbGwgZ2V0IGlu c3RhbGxlZAphdCAidGVzdGNhc2VzL2Jpbi8iLCBidXQgaSBkbyBub3QgZmluZCBpdCBhZnRlciAi bWFrZSBpbnN0YWxsIiwgaG93ZXZlcgoicnVuX2NwdWFjY3RfdGVzdC5zaCIgd2FzIHByZXNlbnQg YXQgInRlc3RjYXNlcy9iaW4vIi4gVGhvdWdoIGkgbWFudWFsbHkKY29waWVkICJ0ZXN0Y2FzZXMv a2VybmVsL2NvbnRyb2xsZXJzL2NwdWFjY3QvY3B1YWNjdF90YXNrIiB0bwoidGVzdGNhc2VzL2Jp bi8iLCBzdGlsbCBpIGdldCB0aGUgYWJvdmUgb3V0cHV0LiBQbGVhc2UgZml4IHRoaXMgYW5kCnJl c2VuZC4KClJlZ2FyZHMtLQpTdWJyYXRhCgpPbiBUaHUsIDIwMDktMDgtMTMgYXQgMTM6MjQgKzA1 MzAsIFJhamFzZWtoYXIgRHVkZHUgd3JvdGU6IAo+IEhpIFN1YnJhdGEsIEkgaGF2ZSBkb25lIHRo ZSBjaGFuZ2VzIHRvIHRoZSBwYXRjaCBhcyB5b3UgaGF2ZQo+IHN1Z2dlc3RlZCwgcGxlYXNlIHJl dmlldyBpdCBhbmQgbGV0IG1lIGtub3cgaWYgaXQgbmVlZHMgYW55Cj4gY2hhbmdlcyB0aGFua3Uu Cj4gCj4gSSBhbSBwc290aW5nIHRoZSByZXN1bHRzIGFsc28gaGVyZS4KPiAKPiAKPiBTaWduZWQt b2ZmLWJ5OiBEdWRkdSBSYWphc2VraGFyPHJhamR1ZGR1QGluLmlibS5jb20+Cj4gZGlmZiAtcnVw TiBsdHAtZnVsbC0yMDA5MDczMS8vdGVzdGNhc2VzL2tlcm5lbC9jb250cm9sbGVycy9jcHVhY2N0 L2NwdWFjY3RfdGFzay5jIGx0cC1mdWxsLTIwMDkwNzMxLnNyYy8vdGVzdGNhc2VzL2tlcm5lbC9j b250cm9sbGVycy9jcHVhY2N0L2NwdWFjY3RfdGFzay5jCj4gLS0tIGx0cC1mdWxsLTIwMDkwNzMx Ly90ZXN0Y2FzZXMva2VybmVsL2NvbnRyb2xsZXJzL2NwdWFjY3QvY3B1YWNjdF90YXNrLmMJMTk3 MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKPiArKysgbHRwLWZ1bGwtMjAwOTA3MzEu c3JjLy90ZXN0Y2FzZXMva2VybmVsL2NvbnRyb2xsZXJzL2NwdWFjY3QvY3B1YWNjdF90YXNrLmMJ MjAwOS0wOC0xMiAxNToyMTo0Ni4wMDAwMDAwMDAgKzAwMDAKPiBAQCAtMCwwICsxLDE0IEBACj4g KyNpbmNsdWRlPHN0ZGlvLmg+Cj4gKwo+ICtpbnQgbWFpbih2b2lkKQo+ICt7Cj4gKwlGSUxFICpm cDsKPiArCj4gKwl3aGlsZSAoMSkgewo+ICsJCWZwID0gZm9wZW4oInR4dC54IiwgInciKTsKPiAr CQlmY2xvc2UoZnApOwo+ICsJfQo+ICsJcmV0dXJuIDA7Cj4gK30KPiArCj4gKwo+IGRpZmYgLXJ1 cE4gbHRwLWZ1bGwtMjAwOTA3MzEvL3Rlc3RjYXNlcy9rZXJuZWwvY29udHJvbGxlcnMvY3B1YWNj dC9jcHVhY2N0X3Rlc3RwbGFuLnR4dCBsdHAtZnVsbC0yMDA5MDczMS5zcmMvL3Rlc3RjYXNlcy9r ZXJuZWwvY29udHJvbGxlcnMvY3B1YWNjdC9jcHVhY2N0X3Rlc3RwbGFuLnR4dAo+IC0tLSBsdHAt ZnVsbC0yMDA5MDczMS8vdGVzdGNhc2VzL2tlcm5lbC9jb250cm9sbGVycy9jcHVhY2N0L2NwdWFj Y3RfdGVzdHBsYW4udHh0CTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCj4gKysr IGx0cC1mdWxsLTIwMDkwNzMxLnNyYy8vdGVzdGNhc2VzL2tlcm5lbC9jb250cm9sbGVycy9jcHVh Y2N0L2NwdWFjY3RfdGVzdHBsYW4udHh0CTIwMDktMDgtMTMgMDc6MDU6MTQuMDAwMDAwMDAwICsw MDAwCj4gQEAgLTAsMCArMSw0NCBAQAo+ICtUaGUgQ1BVIEFjY291bnRpbmcgY29udHJvbGxlciB0 ZXN0cGxhbiBpbmNsdWRlcyBhIGNvbXBsZXRlIHNldCBvZiAKPiArdGVzdGNhc2VzIHRoYXQgdGVz dCB0aGUgQ1BVIEFjY291bnRpbmcgY29udHJvbGxlciBpbiBkaWZmZXJlbnQgc2NlbmFyaW9zLgo+ ICsKPiArCj4gK1RFU1RDQVNFIERFU0NSSVBUSU9OOgo+ICs9PT09PT09PT09PT09PT09PT09PQo+ ICsKPiArVGhlc2UgdGVzdHMgd2lsbCBjaGVjayBpZiB0aGUgY3B1IHVzYWdlIG9mIHRoZSBjaGls ZCBjZ3JvdXAgaXMgCj4gK2dldHRpbmcgcmVmbGVjdGVkIGluIHRoZSBwYXJlbnQgY2dyb3VwLlJl cG9ydHMgUEFTUyBpZiB0aGUgY3B1IAo+ICt1c2FnZSBpcyBzYW1lIGZvciBib3RoIHRoZSBjZ3Jv dXBzIGFuZCBGQUlMIGlmIHRoZXkgZGlmZmVyLgo+ICsKPiArSW4gdGhlc2UgdGVzdHMgY3B1IHVz YWdlIG9mIHRoZSB0YXNrcyBydW5uaW5nIGluIGEgZ3JvdXAgaXMgcmVhZCBpbiAKPiArdGVybXMg b2YgMyBkaWZmZXJlbnQgc3RhdCB2YWx1ZXMuCj4gKwo+ICsnY3B1YWNjdC51c2FnZScgIGdpdmVz IHRoZSBjdXJyZW50IGNwdSB1c2FnZSBvZiB0aGUgdGFzayBydW5uaW5nIAo+ICtpbiB0aGUgZ3Jv dXAuCj4gKydjcHVhY2N0LnVzYWdlX3BlcmNwdScgZ2l2ZXMgdGhlIGNwdSB1c2FnZSBvZiBlYWNo IGNwdS4KPiArJ2NwdWFjY3Quc3RhdCcgZ2l2ZXMgdGhlIHVzZXIgYW5kIHN5c3RlbSBjcHUgdXNh Z2Ugb2YgdGhlIHRhc2sgcnVubmluZyAKPiAraW4gdGhlIGdyb3VwLgo+ICsKPiArVGVzdDAxOiBT VEFUIENIRUNLIFRFU1QKPiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ICtUaGlz IHRlc3QgaXMgcnVuIGJ5IHJ1bm5pbmcgYSB0YXNrIGluIHRoZSBjaGlsZCBncm91cCBhbmQgcmVh ZGluZyBpdCdzIHN0YXQgCj4gK3ZhbHVlcyBhbmQgY29tcGFyaW5nIHRoZW0gd2l0aCB0aGUgcGFy ZW50IGdyb3VwJ3Mgc3RhdCB2YWx1ZXMuCj4gKwo+ICtUZXN0MDI6IFNUQVQgQ0hFQ0sgVEVTVAo+ ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gK1RoaXMgdGVzdCBpcyBydW4gYnkg cnVubmluZyBudW1fb25saW5lX2NwdXMgbnVtYmVyIG9mIHRhc2tzIGluIDIgY2hpbGQgZ3JvdXBz LCAKPiArYWRkaW5nIHRoZSBzdGF0IHZhbHVlcyBmcm9tIHRoZSBjaGlsZCBncm91cHMgYW5kIGNv bXBhcmluZyB0aGVtIHdpdGggdGhlIAo+ICtwYXJlbnQncyBzdGF0IHZhbHVlcy4KPiArCj4gK1Ro ZSB2YWx1ZXMgcmVwb3J0ZWQgZm9yIHVzZXIgYW5kIHN5c3RlbSB0aW1lIGluIGNwdWFjY3Quc3Rh dCBpcyBub3QgdmVyeQo+ICthY2N1cmF0ZSBhbmQgdGhleSBjYW4gdmFyeSBmcm9tIHRoZSBhY3R1 YWwgdmFsdWVzIGJ5IFRocmVzaG9sZCpudW1fb25saW5lX2NwdXMgaW4gdGhlCj4gK3dvcnN0IGNh c2UuCj4gK1doZXJlIFRocmVzaG9sZCBUID0gbWF4KG51bV9vbmxpbmVfY3B1c14yLCAzMikKPiAr Cj4gK0luIHRoaXMgdGVzdCBjYXNlLCB3ZSBhbGxvdyBmb3IgYSBtYXggZGlmZmVyZW5jZSBiZXR3 ZWVuIGFjdHVhbCBhbmQgcmVwb3J0ZWQKPiArdmFsdWVzIHRvIGJlIDJULiBJZiB0aGUgZGlmZmVy ZW5jZSBiZXR3ZWVuIHBhcmVudCdzIHZhbHVlIGFuZCBjaGlsZHJlbidzIHZhbHVlCj4gK2lzIGdy ZWF0ZXIgdGhhbiAyVCwgd2UgbWFyayB0aGUgdGVzdCBhcyBmYWlsZWQuCj4gKwo+ICsKPiArRm9y IGFueSBvdGhlciBpbmZvcm1hdGlvbiBwbGVhc2UgcmVmZXIgdG8gCj4gK0RvY3VtZW50YXRpb24v Y29udHJvbGxlcnMvY3B1YWNjdC50eHQgaW4ga2VybmVsIGRvY3VtZW50YXRpb24uCj4gKwo+IGRp ZmYgLXJ1cE4gbHRwLWZ1bGwtMjAwOTA3MzEvL3Rlc3RjYXNlcy9rZXJuZWwvY29udHJvbGxlcnMv Y3B1YWNjdC9NYWtlZmlsZSBsdHAtZnVsbC0yMDA5MDczMS5zcmMvL3Rlc3RjYXNlcy9rZXJuZWwv Y29udHJvbGxlcnMvY3B1YWNjdC9NYWtlZmlsZQo+IC0tLSBsdHAtZnVsbC0yMDA5MDczMS8vdGVz dGNhc2VzL2tlcm5lbC9jb250cm9sbGVycy9jcHVhY2N0L01ha2VmaWxlCTE5NzAtMDEtMDEgMDA6 MDA6MDAuMDAwMDAwMDAwICswMDAwCj4gKysrIGx0cC1mdWxsLTIwMDkwNzMxLnNyYy8vdGVzdGNh c2VzL2tlcm5lbC9jb250cm9sbGVycy9jcHVhY2N0L01ha2VmaWxlCTIwMDktMDgtMTMgMDc6MDQ6 NDAuMDAwMDAwMDAwICswMDAwCj4gQEAgLTAsMCArMSwxNiBAQAo+ICtDRkxBR1MgKz0gLVdhbGwK PiArQ1BQRkxBR1MgKz0gLUkuLi8uLi8uLi8uLi9pbmNsdWRlIC1JLi4vbGliY29udHJvbGxlcnMK PiArTERMSUJTICs9IC1sbSAtTC4uLy4uLy4uLy4uL2xpYi8gLUwuLi9saWJjb250cm9sbGVycyAt bGNvbnRyb2xsZXJzIC1sbHRwCj4gKwo+ICtTUkNTICAgID0gJCh3aWxkY2FyZCAqLmMpCj4gKwo+ ICtUQVJHRVRTID0gJChwYXRzdWJzdCAlLmMsJSwkKFNSQ1MpKQo+ICsKPiArYWxsOgkkKFRBUkdF VFMpCj4gKwo+ICtjbGVhbjoKPiArCXJtIC1mICQoVEFSR0VUUykgKi5vCj4gKwo+ICtpbnN0YWxs Ogo+ICsJQHNldCAtZTsgZm9yIGkgaW4gJChUQVJHRVRTKSBydW5fY3B1YWNjdF90ZXN0LnNoIHNl dHVwLnNoOyBkbyBsbiAtZiAkJGkgLi4vLi4vLi4vYmluLyQkaSA7IGNobW9kICt4ICQkaSA7IGRv bmUKPiArCj4gZGlmZiAtcnVwTiBsdHAtZnVsbC0yMDA5MDczMS8vdGVzdGNhc2VzL2tlcm5lbC9j b250cm9sbGVycy9jcHVhY2N0L1JFQURNRSBsdHAtZnVsbC0yMDA5MDczMS5zcmMvL3Rlc3RjYXNl cy9rZXJuZWwvY29udHJvbGxlcnMvY3B1YWNjdC9SRUFETUUKPiAtLS0gbHRwLWZ1bGwtMjAwOTA3 MzEvL3Rlc3RjYXNlcy9rZXJuZWwvY29udHJvbGxlcnMvY3B1YWNjdC9SRUFETUUJMTk3MC0wMS0w MSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKPiArKysgbHRwLWZ1bGwtMjAwOTA3MzEuc3JjLy90 ZXN0Y2FzZXMva2VybmVsL2NvbnRyb2xsZXJzL2NwdWFjY3QvUkVBRE1FCTIwMDktMDgtMTMgMDc6 MDE6NTkuMDAwMDAwMDAwICswMDAwCj4gQEAgLTAsMCArMSw1MSBAQAo+ICtURVNUIFNVSVRFOgo+ ICsKPiArVGhlIGRpcmVjdG9yeSBjcHVhY2N0IGNvbnRhaW5zIHRoZSB0ZXN0cyByZWxhdGVkIHRv IGNwdSBhY2NvdW50aW5nIGNvbnRyb2xsZXIuCj4gK01vcmUgdGVzdGNhc2VzIGFyZSBleHBlY3Rl ZCB0byBiZSBhZGRlZCBpbiBmdXR1cmUuCj4gKwo+ICtURVNUUyBBSU06Cj4gKwo+ICtUaGUgYWlt IG9mIHRoZSB0ZXN0cyBpcyB0byB0ZXN0IGNwdSBhY2NvdW50aW5nIGNvbnRyb2xsZXIgZnVuY3Rp b25hbGl0eS4KPiArCj4gK0ZJTEVTIERFU0NSSVBUSU9OOgo+ICsKPiArY3B1YWNjdF90YXNrLmMK PiArLS0tLS0tLS0tLS0tLS0tCj4gK1RoaXMgaXMgdGhlIHRhc2sgd2hpY2ggaXMgcnVuIGZvciBl YXRpbmcgdXAgdGhlIGNwdSB0aW1lLgo+ICsKPiArCj4gK3NldHVwLnNoCj4gKy0tLS0tLS0tLS0K PiArVGhpcyBmaWxlIGNvbnRhaW5zIHRoZSBmdW5jdGlvbnMgd2hpY2ggYXJlIGNvbW1vbiBmb3Ig YWxsIHRoZSB0ZXN0cy4gRm9yIGV4Lgo+ICt0aGUgc2V0dXAgYW5kIGNsZWFudXAgZnVuY3Rpb25z IHdoaWNoIGRvIHRoZSBzZXR1cCBmb3IgcnVubmluZyB0aGUgdGVzdCBhbmQgZG8KPiArdGhlIGNs ZWFudXAgb25jZSB0aGUgdGVzdCBmaW5pc2hlcy4gVGhlIHNldHVwKCkgZnVuY3Rpb24gY3JlYXRl cyAvZGV2L2NwdWFjY3QKPiArZGlyZWN0b3J5IGFuZCBtb3VudHMgY2dyb3VwIGZpbGVzeXN0ZW0g b24gaXQgd2l0aCBhY2NvdW50aW5nICBjb250cm9sbGVyLiBJdCAKPiArdGhlbiBjcmVhdGVzIGEg bnVtYmVyKG4pIG9mIGdyb3VwcyBpbiAvZGV2L2NwdWFjY3QuIFRoZSBjbGVhbnVwIGZ1bmN0aW9u IGRvZXMgYQo+ICtjb21wbGV0ZSBjbGVhbnVwIG9mIHRoZSBzeXN0ZW0uCj4gKwo+ICtNb3N0IG9m IHRoZSBlcnJvciBzY2VuYXJpb3MgaGF2ZSBiZWVuIHRha2VuIGNhcmUgb2YgZm9yIGEgc2FuZSBj bGVhbnVwIG9mIHRoZQo+ICtzeXN0ZW0uIEhvd2V2ZXIgaWYgY2xlYW51cCBmYWlscyBpbiBhbnkg Y2FzZSwganVzdCBtYW51YWxseSBleGVjdXRlIHRoZQo+ICtjb21tYW5kcyB3cml0dGVuIGluIGNs ZWFudXAgZnVuY3Rpb24gaW4gc2V0dXAuc2guCj4gK09uZSBvZiB0aGUgbW9zdCBjb21tb24gY2F1 c2VzIG9mIGZhaWxlZCBjbGVhbnVwIGlzIHRoYXQgeW91IGhhdmUgZG9uZSBjZCBpbnRvCj4gK2Fu eSBvZiB0aGUgZ3JvdXBzIGluIGNvbnRyb2xsZXIgZGlyIHRyZWUuCj4gKwo+ICtydW5fY3B1YWNj dF90ZXN0LnNoCj4gKy0tLS0tLS0tLS0tLS0tLS0tLQo+ICtUaGlzIHNjcmlwdCBjcmVhdGVzIGRp ZmZlcmVudCBzY2VuYXJpb3MgZm9yIGNwdSBhY2NvdW50aW5nIGNvbnRyb2xsZXIgdGVzdGluZyBh bmQKPiArc3RhcnRpbmcgKG4pIHRhc2tzIGluIGRpZmZlcmVudCBncm91cHMgdG8gZG8gc29tZSBj cHUgYWxsb2NhdGlvbnMgZXRjLiBJdAo+ICtjaGVja3MgZm9yIHRoZSBjcHUgdXNhZ2Ugb2YgdGhl IGdyb3VwcyBhbmQgcmVwb3J0cyB0ZXN0IHBhc3MvZmFpbCBhY2NvcmRpbmdseS4KPiArCj4gK01h a2VmaWxlCj4gKy0tLS0tLS0tCj4gKwo+ICtUaGUgdXN1YWwgbWFrZWZpbGUgZm9yIHRoaXMgZGly ZWN0b3J5Cj4gKwo+ICtQQVNTL0ZBSUwgQ1JJVEVSSU9OOgo+ICs9PT09PT09PT09PT09PT09PT0K PiArVGhlIHRlc3QgY2FzZXMgYXJlIGludGVsbGlnZW50IGVub3VnaCBpbiBkZWNpZGluZyB0aGUg cGFzcyBvciBmYWlsdXJlIG9mIGEKPiArdGVzdC4KPiArCj4gK1JFQURNRToKPiArLS0tLS0tLS0K PiArVGhlIG9uZSB5b3UgaGF2ZSBnb25lIHRocm91Z2guCj4gKwo+IGRpZmYgLXJ1cE4gbHRwLWZ1 bGwtMjAwOTA3MzEvL3Rlc3RjYXNlcy9rZXJuZWwvY29udHJvbGxlcnMvY3B1YWNjdC9ydW5fY3B1 YWNjdF90ZXN0LnNoIGx0cC1mdWxsLTIwMDkwNzMxLnNyYy8vdGVzdGNhc2VzL2tlcm5lbC9jb250 cm9sbGVycy9jcHVhY2N0L3J1bl9jcHVhY2N0X3Rlc3Quc2gKPiAtLS0gbHRwLWZ1bGwtMjAwOTA3 MzEvL3Rlc3RjYXNlcy9rZXJuZWwvY29udHJvbGxlcnMvY3B1YWNjdC9ydW5fY3B1YWNjdF90ZXN0 LnNoCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCj4gKysrIGx0cC1mdWxsLTIw MDkwNzMxLnNyYy8vdGVzdGNhc2VzL2tlcm5lbC9jb250cm9sbGVycy9jcHVhY2N0L3J1bl9jcHVh Y2N0X3Rlc3Quc2gJMjAwOS0wOC0xMyAwNzowMjo0Ny4wMDAwMDAwMDAgKzAwMDAKPiBAQCAtMCww ICsxLDM4MCBAQAo+ICsjIS9iaW4vYmFzaAo+ICsjIHVzYWdlIC4vcnVuX2NwdWFjY3RfdGVzdC5z aCAkVEVTVF9OVU0KPiArIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKPiArIyAgQ29weXJpZ2h0IChjKSBJ bnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzICBDb3JwLiwgMjAwOSAgICAgICAgICAgICAg ICMKPiArIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICMKPiArIyAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29m dHdhcmU7ICB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5ICAgICMKPiArIyAg aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBw dWJsaXNoZWQgYnkgICAgICMKPiArIyAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0 aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgICAgICAgICMKPiArIyAgKGF0IHlvdXIg b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICMKPiArIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMKPiArIyAgVGhpcyBwcm9ncmFtIGlzIGRp c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsICAgICAgICAgICMK PiArIyAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyAgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk IHdhcnJhbnR5IG9mICAgICAgICAgICMKPiArIyAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlICAgICAgICAgICAgICAgICMKPiArIyAgdGhl IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuICAgICAgICAgICAg ICAgICAgICAgICAgICMKPiArIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMKPiArIyAgWW91IHNob3VsZCBo YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgICAg ICAgICMKPiArIyAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07ICBpZiBub3QsIHdyaXRlIHRvIHRo ZSBGcmVlIFNvZnR3YXJlICAgICAgICAgICAgICMKPiArIyAgRm91bmRhdGlvbiwgSW5jLiwgNTkg VGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EgICMKPiAr IyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICMKPiArIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKPiArIyBOYW1lIE9m IEZpbGU6IHJ1bl9jcHVhY2N0X3Rlc3Quc2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICMKPiArIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMKPiArIyBEZXNjcmlwdGlvbjogVGhp cyBmaWxlIHJ1bnMgdGhlIHNldHVwIGZvciB0ZXN0aW5nIGRpZmZlcmVudCBjcHUgYWNjdG91bnQg ICMKPiArIyAgICAgICAgICAgICAgY29udHJvbGxlciBmZWF0dXJlcy4gQWZ0ZXIgc2V0dXAgaXQg cnVucyBkaWZmIHRlc3QgY2FzZXMgaW4gICMKPiArIwkJZGlmZiBzZXR1cC4gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIwo+ICsjICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIwo+ICsjIFRlc3QgMDE6ICAgICBUZXN0cyBDcHUgdXNhZ2Ugb2YgSGllcmFyY2hpY2FsIGNn cm91cHMgICAgICAgICAgICAgICAgICAgICAgIwo+ICsjICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIwo+ICsj IFByZWNhdXRpb246ICAgQXZvaWQgc3lzdGVtIHVzZSBieSBvdGhlciBhcHBsaWNhdGlvbnMvdXNl cnMgdG8gZ2V0IGZhaXIgYW5kIwo+ICsjICAgICAgICAgICAgICAgYXBwcm9wcmlhdGUgcmVzdWx0 cyAoYXZvaWQgdW5uZWNlc3Nhcnkga2lsbGluZyBvZiAJICAgICMKPiArIwkJYXBwbGljYXRpb24p CQkJCQkJICAgICMKPiArIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMKPiArIyBBdXRob3I6ICAgICAgIFJh amFzZWtoYXIgRHVkZHUgICA8cmFqZHVkZHVAaW4uaWJtLmNvbT4gICAgICAgICAgICAgICAgICAg ICMKPiArIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICMKPiArIyBIaXN0b3J5OiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMKPiArIyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICMKPiArIyAgREFURSAgICAgICAgIE5BTUUgICAgICAgICAgIEVNQUlM ICAgICAgICAgICAgICAgICAgICAgICAgIERFU0MgICAgICAgICAgICMKPiArIyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICMKPiArIyAgMTQvMDcvMDkgIFJhamFzZWtoYXIgRCAgICA8cmFqZHVkZHVAaW4uaWJt LmNvbT4gICAgICAgIENyZWF0ZWQgdGhpcyB0ZXN0ICMKPiArIyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMK PiArIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKPiArCj4gK2V4cG9ydCBUQ0lEPSJjcHVhY2N0X3Rlc3Qw MSI7Cj4gK2V4cG9ydCBUU1RfVE9UQUw9MTsKPiArZXhwb3J0IFRTVF9DT1VOVD0xOwo+ICsKPiAr VEVTVF9OVU09JDE7Cj4gK1NDUklQVF9QSUQ9JCQ7Cj4gK1JDPTA7Cj4gK1BXRD1gcHdkYDsKPiAr Cj4gK2NkICRMVFBST09UL3Rlc3RjYXNlcy9iaW4vICAgMj4gL2Rldi9udWxsCj4gKy4gc2V0dXAu c2gKPiArCj4gK2lmIFsgIiRVU0VSIiAhPSByb290IF07IHRoZW4KPiArICAgICAgICB0c3RfYnJr bSBUQlJPSyBpZ25vcmVkICJUZXN0IG11c3QgYmUgcnVuIGFzIHJvb3QiCj4gKyAgICAgICAgZXhp dCAwCj4gK2ZpCj4gKwo+ICt0c3Rfa3ZlcmNtcCAyIDYgMzAgIDI+IC9kZXYvbnVsbAo+ICtpZiBb ICQ/IC1lcSAwIF07IHRoZW4KPiArICAgICAgICB0c3RfYnJrbSBUQlJPSyBpZ25vcmVkICJUZXN0 IHNob3VsZCBiZSBydW4gd2l0aCBrZXJuZWwgMi42LjMwIG9yIG5ld2VyIgo+ICsgICAgICAgIGV4 aXQgMAo+ICtmaQo+ICsKPiArdGFza19raWxsICAyPiAvZGV2L251bGwKPiArY2xlYW51cAo+ICsK PiArbWVzPSJDUFUgQWNjb3VudGluZyBDb250cm9sbGVyIgo+ICtjZ19wYXRoPSIvZGV2L2NwdWFj Y3QiOwo+ICtudW1fb25saW5lX2NwdXM9YGNhdCAvcHJvYy9jcHVpbmZvIHwgZ3JlcCAtdyBwcm9j ZXNzb3IgfCB3YyAtbGAKPiArCj4gKyNGdW5jdGlvbiB0byBjcmVhdGUgdGFza3MgZXF1YWwgdG8g bnVtX29ubGluZV9jcHVzLgo+ICtucl90YXNrcyAoKQo+ICt7Cj4gKwkkUFdEL2NwdWFjY3RfdGFz ayAmCj4gKwlwaWQ9JCEKPiArfQo+ICsKPiArI0Z1bmN0aW9uIHRvIGNhbHVjdWxhdGUgdGhlIHRo cmVzaG9sZCB2YWx1ZS4KPiArZ2V0X3RocmVzaG9sZCAoKQo+ICt7Cj4gKwludW1fb25saW5lX2Nw dXM9YGV4cHIgJG51bV9vbmxpbmVfY3B1cyBcKiAkbnVtX29ubGluZV9jcHVzYAo+ICsJaWYgWyAk bnVtX29ubGluZV9jcHVzIC1sZSAzMiBdCj4gKwl0aGVuCj4gKwkJdGhyZXNob2xkPTMyCj4gKwll bHNlCj4gKwkJdGhyZXNob2xkPSRudW1fb25saW5lX2NwdXMKPiArCWZpCj4gKwl0aHJlc2hvbGQ9 YGV4cHIgJHRocmVzaG9sZCBcKiAyYAo+ICt9Cj4gKwo+ICsjRnVuY3Rpb24gd2hpY2ggaXMgY2Fs bGVkIGZvciByZWFkaW5nIHRoZSBjcHVhY2N0LnVzYWdlX3BlcmNwdSBzdGF0IHZhbHVlCj4gKyNm b3IgUGFyZW50IGFuZCBDaGlsZCBjZ3JvdXBzLgo+ICtwZXJfY3B1X3VzYWdlICgpCj4gK3sKPiAr CWF0dHJjPTAKPiArCWF0dHJwPTAKPiArICAgICAgICBpPTAKPiArICAgICAgICBrPTAKPiArICAg ICAgICB3aGlsZSByZWFkIGxpbmUKPiArICAgICAgICBkbwo+ICsJICAgICAgICBqPTAKPiArICAg ICAgICAgICAgICAgIGZvciBrIGluICRsaW5lCj4gKyAgICAgICAgICAgICAgICBkbwo+ICsgICAg ICAgIAkgICAgICAgIGo9YGV4cHIgJGogKyAka2AKPiArICAgICAgICAgICAgICAgIGRvbmUKPiAr ICAgICAgICAgICAgICAgIGlmIFsgIiRpIiA9PSAiMCIgXQo+ICsgICAgICAgICAgICAgICAgdGhl bgo+ICsgICAJICAgICAgICAgICAgIGF0dHJwPSRqCj4gKyAgICAgICAgICAgICAgICAgICAgIGk9 YGV4cHIgJGkgKyAxYAo+ICsgICAgICAgICAgICAgICAgZWxzZQo+ICsgICAgICAgICAgICAgICAg ICAgICBhdHRyYz1gZXhwciAkaiArICRhdHRyY2AKPiArICAgICAgICAgICAgICAgIGZpCj4gKyAg ICAgICAgZG9uZSA8ICIuL3RtcDIiCj4gK30KPiArCj4gKyNGdW5jdGlvbiB3aGljaCB2ZXJpZmll cyB0aGUgY3B1IGFjY291bnRpbmcgb2YgdGhlIFBhcmVudCBhbmQgdGhlIENoaWxkIGNncm91cHMu Cj4gK2NoZWNrX2F0dHIoKQo+ICt7Cj4gKwo+ICsJaWYgWyAiJDEiID09ICIxIiBdCj4gKwl0aGVu Cj4gKwkJaWYgWyAiJDIiID09ICJjcHVhY2N0LnN0YXQiIF0KPiArCQl0aGVuCj4gKwkJCWF0dHIx PSJgc2VkIC1uIDFwIHRtcDJgIgo+ICsJCQlhdHRyMj0iYHNlZCAtbiAycCB0bXAyYCIKPiArCQkJ YXR0cjM9ImBzZWQgLW4gM3AgdG1wMmAiCj4gKwkJCWF0dHI0PSJgc2VkIC1uIDRwIHRtcDJgIgo+ ICsJCQllY2hvCj4gKwkJCWVjaG8gIiQyIGZvciBQYXJlbnQgY2dyb3VwIGlzICRhdHRyMSA6ICRh dHRyMiIKPiArCQkJZWNobyAiJDIgZm9yIENoaWxkIGNncm91cCBpcyAkYXR0cjMgOiAkYXR0cjQi Cj4gKwo+ICsJCSAgICAgICAgaWYgWyAiJGF0dHIxIiA9PSAiJGF0dHIzIiBdICYmIFsgIiRhdHRy MiIgPT0gIiRhdHRyNCIgXQo+ICsJCSAgICAgICAgdGhlbgo+ICsJCQkJUkM9JD8KPiArCQkJCWVj aG8gIlRQQVNTICRtZXM6JDIgUEFTU0VEIgo+ICsKPiArCQkgICAgICAgIGVsc2UKPiArCQkJCVJD PSQ/Cj4gKwkJCQllY2hvICJURkFJTCAkbWVzOiQyIEZBSUxFRCIKPiArCQkgICAgICAgIGZpCj4g KwkJZWxpZiBbICIkMiIgPT0gImNwdWFjY3QudXNhZ2VfcGVyY3B1IiBdCj4gKyAgICAgICAgICAg ICAgICB0aGVuCj4gKwkJCXBlcl9jcHVfdXNhZ2UKPiArCQkJZWNobwo+ICsgICAgICAgICAgICAg ICAgICAgICAgICBlY2hvICIkMiBmb3IgUGFyZW50IGNncm91cCA6ICRhdHRycCIKPiArICAgICAg ICAgICAgICAgICAgICAgICAgZWNobyAiJDIgZm9yIENoaWxkICBjZ3JvdXAgOiAkYXR0cmMiCj4g KyAgICAgICAgICAgICAgICAgICAgICAgIGlmIFsgIiRhdHRycCIgPT0gIiRhdHRyYyIgXQo+ICsg ICAgICAgICAgICAgICAgICAgICAgICB0aGVuCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgUkM9JD8KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlY2hvICJUUEFT UyAkbWVzOiQyIFBBU1NFRCIKPiArICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJDPSQ/Cj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgZWNobyAiVEZBSUwgJG1lczokMiBGQUlMRUQiCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgIGZpCj4gKwkJZWxzZQo+ICsJCQlhdHRyMT0iYHNlZCAtbiAxcCB0bXAyYCIKPiAr CQkJYXR0cjI9ImBzZWQgLW4gMnAgdG1wMmAiCj4gKwo+ICsJCQllY2hvCj4gKwkJCWVjaG8gIiQy IGZvciBQYXJlbnQgY2dyb3VwIGlzICRhdHRyMSIKPiArCQkJZWNobyAiJDIgZm9yIENoaWxkIGNn cm91cCBpcyAkYXR0cjIiCj4gKwkJICAgICAgICBpZiBbICIkYXR0cjEiICA9PSAgICIkYXR0cjIi ICBdCj4gKwkJICAgICAgICB0aGVuCj4gKwkJCQlSQz0kPwo+ICsJCQkgICAgICAgIGVjaG8gIlRQ QVNTICRtZXM6JDIgUEFTU0VEIgo+ICsJCQllbHNlCj4gKwkJCQlSQz0kPwo+ICsJCQkJZWNobyAi VEZBSUwgJG1lczokMiBGQUlMRUQiCj4gKwkJCWZpCj4gKwo+ICsJCWZpCj4gKwllbHNlCj4gKwo+ ICsJCWlmIFsgIiQyIiA9PSAiY3B1YWNjdC5zdGF0IiBdCj4gKwkJdGhlbgo+ICsJCQlhdHRyMD0i YHNlZCAtbiAxcCB0bXAyIHwgY3V0IC1kIiAiIC1mMmAiCj4gKwkJCWF0dHIxPSJgc2VkIC1uIDJw IHRtcDIgfCBjdXQgLWQiICIgLWYyYCIKPiArCQkJYXR0cjI9ImBzZWQgLW4gM3AgdG1wMiB8IGN1 dCAtZCIgIiAtZjJgIgo+ICsJCQlhdHRyMz0iYHNlZCAtbiA0cCB0bXAyIHwgY3V0IC1kIiAiIC1m MmAiCj4gKwkJCWF0dHI0PSJgc2VkIC1uIDVwIHRtcDIgfCBjdXQgLWQiICIgLWYyYCIKPiArCQkJ YXR0cjU9ImBzZWQgLW4gNnAgdG1wMiB8IGN1dCAtZCIgIiAtZjJgIgo+ICsJCQlhdHRyX3Vzcj1g ZXhwciAkYXR0cjIgKyAkYXR0cjQgYAo+ICsJCQlhdHRyX3N5cz1gZXhwciAkYXR0cjMgKyAkYXR0 cjVgCj4gKwkJCWVjaG8KPiArCQkJZWNobyAiJDIgZm9yIFBhcmVudCBjZ3JvdXAgOiAkYXR0cjA6 OiRhdHRyMSIKPiArCQkJZWNobyAiJDIgZm9yIENoaWxkICBjZ3JvdXAgOiAkYXR0cl91c3I6OiRh dHRyX3N5cyIKPiArCQkJZ2V0X3RocmVzaG9sZAo+ICsJCQlkaWZmX3Vzcj1gZXhwciAkYXR0cjAg LSAkYXR0cl91c3IgYAo+ICsJCQlbICR7ZGlmZl91c3J9IC1sZSAwIF0gJiYgIGRpZmZfdXNyPSQo KDAgLSAkZGlmZl91c3IpKQo+ICsKPiArCQkJZGlmZl9zeXM9YGV4cHIgJGF0dHIxIC0gJGF0dHJf c3lzYAo+ICsJCQlbICR7ZGlmZl9zeXN9IC1sZSAwIF0gJiYgIGRpZmZfc3lzPSQoKDAgLSAkZGlm Zl9zeXMpKQo+ICsJCQlpZiBbICIkZGlmZl91c3IiIC1sZSAiJHRocmVzaG9sZCIgXSAmJiBcCj4g KwkJCVsgIiRkaWZmX3N5cyIgLWxlICIkdGhyZXNob2xkIiBdCj4gKwkJCXRoZW4KPiArCQkJCVJD PSQ/Cj4gKwkJCSAgICAgICAgZWNobyAiVFBBU1MgJG1lczokMiBQQVNTRUQiCj4gKwkJICAgICAg ICBlbHNlCj4gKwkJCQlSQz0kPwo+ICsJCQkgICAgICAgIGVjaG8gIlRGQUlMICRtZXM6JDIgRkFJ TEVEIgo+ICsJCQlmaQo+ICsJCWVsaWYgWyAiJDIiID09ICJjcHVhY2N0LnVzYWdlX3BlcmNwdSIg XQo+ICsJCXRoZW4KPiArCQkJcGVyX2NwdV91c2FnZQo+ICsJCQllY2hvCj4gKwkJCWVjaG8gIiQy IGZvciBQYXJlbnQgY2dyb3VwIDogJGF0dHJwIgo+ICsJCQllY2hvICIkMiBmb3IgQ2hpbGQgIGNn cm91cCA6ICRhdHRyYyIKPiArCQkJaWYgWyAiJGF0dHJwIiA9PSAiJGF0dHJjIiBdCj4gKwkJCXRo ZW4KPiArCQkJCVJDPSQ/Cj4gKwkJCSAgICAgICAgZWNobyAiVFBBU1MgJG1lczokMiBQQVNTRUQi Cj4gKwkJICAgICAgICBlbHNlCj4gKwkJCQlSQz0kPwo+ICsJCQkgICAgICAgIGVjaG8gIlRGQUlM ICRtZXM6JDIgRkFJTEVEIgo+ICsJCSAgICAgICAgZmkKPiArCj4gKwkJZWxzZQo+ICsJCQlhdHRy MD0iYHNlZCAtbiAxcCB0bXAyYCIKPiArCQkJYXR0cjE9ImBzZWQgLW4gMnAgdG1wMmAiCj4gKwkJ CWF0dHIyPSJgc2VkIC1uIDNwIHRtcDJgIgo+ICsJCQlhdHRyPWBleHByICRhdHRyMSArICRhdHRy MmAKPiArCQkJZWNobwo+ICsJCQllY2hvICIkMiBmb3IgUGFyZW50IGNncm91cCA6ICRhdHRyMCIK PiArCQkJZWNobyAiJDIgZm9yIENoaWxkICBjZ3JvdXAgOiAkYXR0ciIKPiArCQkJaWYgWyAiJGF0 dHIwIiA9PSAiJGF0dHIiIF0KPiArCQkJdGhlbgo+ICsJCQkJUkM9JD8KPiArCQkJICAgICAgICBl Y2hvICJUUEFTUyAkbWVzOiQyIFBBU1NFRCIKPiArCQkgICAgICAgIGVsc2UKPiArCQkJCVJDPSQ/ Cj4gKwkJCSAgICAgICAgZWNobyAiVEZBSUwgJG1lczokMiBGQUlMRUQiCj4gKwkJICAgICAgICBm aQo+ICsJCWZpCj4gKwlmaQo+ICt9Cj4gKwo+ICtlY2hvICJURVNUICRURVNUX05VTTpDUFUgQUND T1VOVElORyBDT05UUk9MTEVSIFRFU1RJTkciOwo+ICtlY2hvICJSVU5OSU5HIFNFVFVQLi4uLi4i Owo+ICtzZXR1cDsKPiArCj4gK2VjaG8gIlRFU1QgU1RBUlRFRDogUGxlYXNlIGF2b2lkIHVzaW5n IHN5c3RlbSB3aGlsZSB0aGlzIHRlc3QgZXhlY3V0ZXMiOwo+ICsKPiArCj4gK3N0YXR1cz0wCj4g K2Nhc2UgJHtURVNUX05VTX0gaW4KPiArCSIxIiApCj4gKwkJZ2NjIC1vICRQV0QvY3B1YWNjdF90 YXNrICRQV0QvY3B1YWNjdF90YXNrLmMKPiArCQlscyAkUFdEL2NwdWFjY3RfdGFzayAmPiAvZGV2 L251bGwKPiArCQlpZiBbICQ/IC1uZSAwIF0KPiArCQl0aGVuCj4gKwkJICAgICAgICBlY2hvICJU RkFJTCBUYXNrIGZpbGUgY3B1YWNjdF90YXNrLmMgbm90IGNvbXBpbGVkIgo+ICsJCQllY2hvICJQ bGVhc2UgY2hlY2sgTWFrZWZpbGUgRXhpdGluZyB0ZXN0Igo+ICsJCSAgICAgICAgZXhpdCAtMQo+ ICsJCWZpCj4gKwkJJFBXRC9jcHVhY2N0X3Rhc2sgJgo+ICsgICAgICAgICAgICAgICAgcGlkPSQh Cj4gKwo+ICsJCW1rZGlyICRjZ19wYXRoL2dyb3VwXzEgMj4gL2Rldi9udWxsCj4gKwkJbWtkaXIg JGNnX3BhdGgvZ3JvdXBfMS9ncm91cF8xMS8gMj4gL2Rldi9udWxsCj4gKwkJaWYgWyAkPyAtbmUg MCBdCj4gKyAgICAgICAgICAgICAgICB0aGVuCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIGVj aG8gIlRGQUlMIENhbm5vdCBjcmVhdGUgY3B1YWNjdCBjZ3JvdXBzIEV4aXRpbmcgVGVzdCIKPiAr ICAgICAgICAgICAgICAgICAgICAgICAgY2xlYW51cAo+ICsgICAgICAgICAgICAgICAgICAgICAg ICBleGl0IC0xCj4gKyAgICAgICAgICAgICAgICBmaQo+ICsJCWVjaG8gJHBpZCA+IC8kY2dfcGF0 aC9ncm91cF8xL2dyb3VwXzExL3Rhc2tzIDI+IC9kZXYvbnVsbAo+ICsJCWlmIFsgJD8gLW5lIDAg XQo+ICsJCXRoZW4KPiArCQkJZWNobyAiVEZBSUwgTm90IGFibGUgdG8gbW92ZSBhIHRhc2sgdG8g dGhlIGNncm91cCIKPiArCQkJZWNobyAiRXhpdGluZyBUZXN0Igo+ICsJCQljbGVhbnVwIDI+IC9k ZXYvbnVsbAo+ICsJCQlleGl0IC0xCj4gKwkJZmkKPiArCQlzbGVlcCA1Cj4gKwkJdGFza19raWxs IDI+IC9kZXYvbnVsbAo+ICsJCWZvciBpIGluIGNwdWFjY3QudXNhZ2UgY3B1YWNjdC51c2FnZV9w ZXJjcHUgY3B1YWNjdC5zdGF0Cj4gKwkJZG8KPiArCQkJY2F0ICRjZ19wYXRoL2dyb3VwXzEvJGkg XAo+ICsJCQkkY2dfcGF0aC9ncm91cF8xL2dyb3VwXzExLyRpID4gdG1wMgo+ICsJCQljaGVja19h dHRyICQxICRpCj4gKwkJZG9uZQo+ICsJCWlmIFsgJFJDIC1uZSAwIF0KPiArCQl0aGVuCj4gKwkJ CXN0YXR1cz0xCj4gKwkJZmkKPiArCj4gKwkJaWYgWyAkc3RhdHVzIC1lcSAwIF0KPiArCQl0aGVu Cj4gKwkJCWVjaG8KPiArCQkJZWNobyAiJG1lcyB0ZXN0IGV4ZWN1dGVkIHN1Y2Nlc3NmdWxseSIK PiArCQkJY2xlYW51cCAyPiAvZGV2L251bGwKPiArCQkJY2QgJFBXRAo+ICsJCQlleGl0IDAKPiAr CQllbHNlCj4gKwkJCWVjaG8KPiArCQkJZWNobyAiJG1lcyB0ZXN0IGV4ZWN1dGlvbiBGYWlsZWQi Cj4gKwkJCWNsZWFudXAgMj4gL2Rldi9udWxsCj4gKwkJCWNkICRQV0QKPiArCQkJZXhpdCAtMQo+ ICsJCWZpCj4gKwkJOzsKPiArCj4gKwkiMiIgKQo+ICsJCW1rZGlyICRjZ19wYXRoL2dyb3VwXzEg Mj4gL2Rldi9udWxsCj4gKwkJbWtkaXIgJGNnX3BhdGgvZ3JvdXBfMS9ncm91cF8xMSAyPiAvZGV2 L251bGwKPiArCQlta2RpciAkY2dfcGF0aC9ncm91cF8xL2dyb3VwXzEyIDI+IC9kZXYvbnVsbAo+ ICsgICAgICAgICAgICAgICAgaWYgWyAkPyAtbmUgMCBdCj4gKyAgICAgICAgICAgICAgICB0aGVu Cj4gKyAgICAgICAgICAJCWVjaG8gIlRGQUlMIENhbm5vdCBjcmVhdGUgY3B1YWNjdCBjZ3JvdXBz IEV4aXRpbmcgVGVzdCIKPiArICAgICAgICAgICAgICAgICAgICAgICAgY2xlYW51cCAyPiAvZGV2 L251bGwKPiArICAgICAgICAgICAgICAgICAgICAgICAgZXhpdCAtMQo+ICsgICAgICAgICAgICAg ICAgZmkKPiArCj4gKwkJZ2NjIC1vICRQV0QvY3B1YWNjdF90YXNrICRQV0QvY3B1YWNjdF90YXNr LmMKPiArICAgICAgICAgICAgICAgIGxzICRQV0QvY3B1YWNjdF90YXNrICY+IC9kZXYvbnVsbAo+ ICsgICAgICAgICAgICAgICAgaWYgWyAkPyAtbmUgMCBdCj4gKyAgICAgICAgICAgICAgICB0aGVu Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgIGVjaG8gIlRGQUlMIFRhc2sgZmlsZSBjcHVhY2N0 X3Rhc2suYyBub3QgY29tcGlsZWQiCj4gKwkJCWVjaG8gIlBsZWFzZSBjaGVjayBNYWtlZmlsZSBF eGl0aW5nIHRlc3QiCj4gKyAgICAgICAgICAgICAgICAJY2xlYW51cCAyPiAvZGV2L251bGwKPiAr CQkgICAgICAgIGV4aXQgLTEKPiArICAgICAgICAgICAgICAgIGZpCj4gKwkJZm9yICgoIG09MCA7 IG08PSRudW1fb25saW5lX2NwdXMgOyBtKysgKSkKPiArCQlkbwo+ICsJCQlucl90YXNrcwo+ICsg ICAgICAgIAkgICAgICAgIGVjaG8gJHBpZCA+ICRjZ19wYXRoL2dyb3VwXzEvZ3JvdXBfMTEvdGFz a3MKPiArCQkJaWYgWyAkPyAtbmUgMCBdCj4gKyAgICAgICAgICAgICAgICAJdGhlbgo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAJZWNobyAiVEZBSUwgTm90IGFibGUgdG8gbW92ZSB0YXNrIHRv IGNncm91cCIKPiArCQkJCWVjaG8gIkV4aXRpbmcgVGVzdCIKPiArCSAgICAgICAgICAgICAgICAg ICAgICAgIGNsZWFudXAgMj4gL2Rldi9udWxsCj4gKwkJCQlleGl0IC0xCj4gKyAgICAgICAgCSAg ICAgICAgZmkKPiArCQkJbnJfdGFza3MKPiArCQkJZWNobyAkcGlkID4kY2dfcGF0aC9ncm91cF8x L2dyb3VwXzEyL3Rhc2tzCj4gKwkgICAgICAgICAgICAgICAgaWYgWyAkPyAtbmUgMCBdCj4gKyAg ICAgICAgCSAgICAgICAgdGhlbgo+ICsgICAgICAgICAgICAgICAgCSAgICAgICAgZWNobyAiVEZB SUwgTm90IGFibGUgdG8gbW92ZSB0YXNrIHRvIGNncm91cCIKPiArCQkJCWVjaG8gIkV4aXRpbmcg VGVzdCIKPiArCQkJCWNsZWFudXAgMj4gL2Rldi9udWxsCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgIAlleGl0IC0xCj4gKwkgICAgICAgICAgICAgICAgZmkKPiArCQkJc2xlZXAgMgo+ICsJCWRv bmUKPiArCQl0YXNrX2tpbGwgMj4gL2Rldi9udWxsCj4gKwkJZm9yIGkgaW4gY3B1YWNjdC51c2Fn ZSBjcHVhY2N0LnVzYWdlX3BlcmNwdSBjcHVhY2N0LnN0YXQKPiArICAgICAgICAgICAgICAgIGRv Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgIGNhdCAkY2dfcGF0aC9ncm91cF8xLyRpICBcCj4g KwkJCSRjZ19wYXRoL2dyb3VwXzEvZ3JvdXBfMTEvJGkgXAo+ICsJCQkkY2dfcGF0aC9ncm91cF8x L2dyb3VwXzEyLyRpID50bXAyCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrX2F0dHIg JDEgJGkKPiArICAgICAgICAgICAgICAgIGRvbmUKPiArCQlpZiBbICRSQyAtbmUgMCBdCj4gKyAg ICAgICAgICAgICAgICB0aGVuCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1cz0xCj4g KyAgICAgICAgICAgICAgICBmaQo+ICsJCWlmIFsgJHN0YXR1cyAtZXEgMCBdCj4gKyAgICAgICAg ICAgICAgICB0aGVuCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIGVjaG8KPiArICAgICAgICAg ICAgICAgICAgICAgICAgZWNobyAiJG1lcyB0ZXN0IGV4ZWN1dGVkIHN1Y2Nlc3NmdWxseSIKPiAr ICAgICAgICAgICAgICAgICAgICAgICAgY2xlYW51cCAyPiAvZGV2L251bGwKPiArCQkJY2QgJFBX RAo+ICsgICAgICAgICAgICAgICAgICAgICAgICBleGl0IDAKPiArICAgICAgICAgICAgICAgIGVs c2UKPiArICAgICAgICAgICAgICAgICAgICAgICAgZWNobwo+ICsgICAgICAgICAgICAgICAgICAg ICAgICBlY2hvICIkbWVzIHRlc3QgZXhlY3V0aW9uIEZhaWxlZCIKPiArICAgICAgICAgICAgICAg ICAgICAgICAgY2xlYW51cCAyPiAvZGV2L251bGwKPiArCQkJY2QgJFBXRAo+ICsgICAgICAgICAg ICAgICAgICAgICAgICBleGl0IC0xCj4gKyAgICAgICAgICAgICAgICBmaQo+ICsKPiArCQk7Owo+ ICsJKiApCj4gKwkJdXNhZ2UKPiArCQlleGl0IC0xCj4gKwkJOzsKPiArCWVzYWMKPiArCj4gZGlm ZiAtcnVwTiBsdHAtZnVsbC0yMDA5MDczMS8vdGVzdGNhc2VzL2tlcm5lbC9jb250cm9sbGVycy9j cHVhY2N0L3NldHVwLnNoIGx0cC1mdWxsLTIwMDkwNzMxLnNyYy8vdGVzdGNhc2VzL2tlcm5lbC9j b250cm9sbGVycy9jcHVhY2N0L3NldHVwLnNoCj4gLS0tIGx0cC1mdWxsLTIwMDkwNzMxLy90ZXN0 Y2FzZXMva2VybmVsL2NvbnRyb2xsZXJzL2NwdWFjY3Qvc2V0dXAuc2gJMTk3MC0wMS0wMSAwMDow MDowMC4wMDAwMDAwMDAgKzAwMDAKPiArKysgbHRwLWZ1bGwtMjAwOTA3MzEuc3JjLy90ZXN0Y2Fz ZXMva2VybmVsL2NvbnRyb2xsZXJzL2NwdWFjY3Qvc2V0dXAuc2gJMjAwOS0wOC0xMyAwNzowMzo1 MS4wMDAwMDAwMDAgKzAwMDAKPiBAQCAtMCwwICsxLDExNCBAQAo+ICsjIS9iaW4vYmFzaAo+ICsj IHVzYWdlIC4vc2V0dXAuc2gKPiArCj4gKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCj4gKyMgIENv cHlyaWdodCAoYykgSW50ZXJuYXRpb25hbCBCdXNpbmVzcyBNYWNoaW5lcyAgQ29ycC4sIDIwMDkg ICAgICAgICAgICAgICAgICAjCj4gKyMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjCj4gKyMgIFRoaXMg cHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyAgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y IG1vZGlmeSAgICAgICAjCj4gKyMgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5ICAgICAgICAjCj4gKyMgIHRoZSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9y ICAgICAgICAgICAjCj4gKyMgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjCj4gKyMgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAjCj4gKyMgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0 aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCAgICAgICAgICAgICAjCj4gKyMgIGJ1dCBXSVRIT1VUIEFO WSBXQVJSQU5UWTsgIHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiAgICAgICAg ICAgICAjCj4gKyMgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg UFVSUE9TRS4gIFNlZSAgICAgICAgICAgICAgICAgICAjCj4gKyMgIHRoZSBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAjCj4gKyMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjCj4gKyMgIFlvdSBzaG91bGQgaGF2ZSByZWNl aXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlICAgICAgICAgICAj Cj4gKyMgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyAgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJl ZSBTb2Z0d2FyZSAgICAgICAgICAgICAgICAjCj4gKyMgIEZvdW5kYXRpb24sIEluYy4sIDU5IFRl bXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBICAgICAjCj4g KyMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAjCj4gKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCj4gKyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjCj4gKyMgTmFtZSBPZiBGaWxlOiBzZXR1cC5zaCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJICAgICAgICMKPiArIyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICMKPiArIyAgRGVzY3JpcHRpb246IFRoaXMgZmlsZSBoYXMgZnVuY3Rpb25zIGZv ciB0aGUgc2V0dXAgZm9yIHRlc3RpbmcgY3B1IGFjY291bnQgICMKPiArIyAgICAgICAgICAgICAg IGNvbnRyb2xsZXIuIHNldHVwIGluY2x1ZGVzIGNyZWF0aW5nIGNvbnRyb2xsZXIgZGV2aWNlLCAg ICAgICAgICMKPiArIyAgICAgICAgICAgICAgIG1vdW50aW5nIGl0IHdpdGggY2dyb3VwIGZpbGVz eXN0ZW0gd2l0aCBvcHRpb24gY3B1IGFjY291bnQgICAgICMKPiArIwkJYW5kIGNyZWF0aW5nIGdy b3VwcyBpbiBpdC4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIwo+ICsjICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIwo+ICsjICBGdW5jdGlvbnM6ICAgc2V0dXAoKTogY3JlYWVzIC9k ZXYvY3B1YWNjdCwgbW91bnRzIGNncm91cCBmcyBvbiBpdCwgY3JlYXRlcyAgIwo+ICsjICAgICAg ICAgICAgICAgZ3JvdXBzIGluIHRoYXQgZXRjLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIwo+ICsjICAgICAgICAgICAgICAgdXNhZ2UoKTogU2hvd3MgdGhlIHVz YWdlIG9mIHRoaXMgZmlsZS4gICAgICAgICAgICAgICAgICAgICAgICAgIwo+ICsjICAgICAgICAg ICAgICAgY2xlYW51cCgpOiBEb2VzIGZ1bGwgc3lzdGVtIGNsZWFudXAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIwo+ICsjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIwo+ICsjIFByZWNhdXRpb246 ICAgQXZvaWQgc3lzdGVtIHVzZSBieSBvdGhlciBhcHBsaWNhdGlvbnMvdXNlcnMgdG8gZ2V0IGZh aXIgYW5kICAgIwo+ICsjICAgICAgICAgICAgICAgYXBwcm9wcmlhdGUgcmVzdWx0cyAoYXZvaWQg dW5uZWNlc3Nhcnkga2lsbGluZyBvZiBhcHBsaWNhdGlvKSAgIwo+ICsjICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIwo+ICsjIEF1dGhvcjogICAgICAgUmFqYXNla2hhciBEdWRkdSAgIDxyYWpkdWRkdUBp bi5pYm0uY29tPiAgICAgICAgICAgICAgICAgICAgICAgIwo+ICsjICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIwo+ICsjIEhpc3Rvcnk6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIwo+ICsjICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Iwo+ICsjICBEQVRFICAgICAgICAgTkFNRSAgICAgICAgICAgRU1BSUwgICAgICAgICAgICAgICAg ICAgICAgICAgREVTQyAgICAgICAgICAgICAgIwo+ICsjICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIwo+ ICsjICAxNC8wNy8wOSAgUmFqYXNla2hhciBEICAgIDxyYWpkdWRkdUBpbi5pYm0uY29tPiAgICAg ICAgQ3JlYXRlZCB0aGlzIHRlc3QgICAgIwo+ICsjICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIwo+ICsj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIwo+ICsKPiArIyBUaGUgY2xlYW51cCBmdW5jdGlvbgo+ICtj bGVhbnVwICgpCj4gK3sKPiArCWVjaG8gIkNsZWFudXAgY2FsbGVkIgo+ICsJcm0gLXJmIHR4dC54 IDI+IC9kZXYvbnVsbAo+ICsJcm0gLWYgY3B1YWNjdF90YXNrIDI+L2Rldi9udWxsCj4gKwlybWRp ciAvZGV2L2NwdWFjY3QvZ3JvdXAqL2dyb3VwKiAyPiAvZGV2L251bGwKPiArCXJtZGlyIC9kZXYv Y3B1YWNjdC9ncm91cCogMj4gL2Rldi9udWxsCj4gKwl1bW91bnQgL2Rldi9jcHVhY2N0LyAyPiAv ZGV2L251bGwKPiArCXJtZGlyIC9kZXYvY3B1YWNjdCAyPiAvZGV2L251bGwKPiArCXJtIC1yZiB0 bXAyIDI+IC9kZXYvbnVsbAo+ICt9Cj4gK3Rhc2tfa2lsbCAoKQo+ICt7Cj4gKwlmb3IgaSBpbiBg cHMgLWUgfCBncmVwIGNwdWFjY3RfdGFzayB8IGN1dCAtZCIgIiAtZjFgCj4gKwlkbwo+ICsJCWtp bGwgLVNJR1VTUjEgJGkKPiArCWRvbmUKPiArCXJtIC1yZiAkUFdEL3R4dC54IDI+IC9kZXYvbnVs bAo+ICsJcm0gLWYgJFBXRC9jcHVhY2N0X3Rhc2tbMC04XSAyPi9kZXYvbnVsbAo+ICt9Cj4gKyND cmVhdGUgL2Rldi9jcHVhY2N0ICYgbW91bnQgdGhlIGNncm91cCBmaWxlIHN5c3RlbSB3aXRoCj4g KyNjcHUgYWNjb3VudGluZyBjb250cm9sbGVyCj4gKwo+ICsjY2xlYW4gYW55IGdyb3VwIGNyZWF0 ZWQgZXJhbGllciAoaWYgYW55KQo+ICsKPiArc2V0dXAgKCkKPiArewo+ICsJaWYgWyAtZSAvZGV2 L2NwdWFjY3QgXQo+ICsJdGhlbgo+ICsJCWVjaG8gIldBUk46L2Rldi9jcHVhY2N0IGFscmVhZHkg ZXhpc3QuLm92ZXJ3cml0aW5nIgo+ICsJCXJtZGlyIC9kZXYvY3B1YWNjdC9ncm91cCovZ3JvdXAq IDI+IC9kZXYvbnVsbAo+ICsJICAgICAgICBybWRpciAvZGV2L2NwdWFjY3QvZ3JvdXAqIDI+IC9k ZXYvbnVsbAo+ICsgICAgICAgIAl1bW91bnQgL2Rldi9jcHVhY2N0LyAyPiAvZGV2L251bGwKPiAr CSAgICAgICAgcm1kaXIgL2Rldi9jcHVhY2N0IDI+IC9kZXYvbnVsbAo+ICsKPiArCQlta2RpciAv ZGV2L2NwdWFjY3QKPiArCWVsc2UKPiArCQlta2RpciAvZGV2L2NwdWFjY3QKPiArCWZpCj4gKwlt b3VudCAtdCBjZ3JvdXAgLW9jcHVhY2N0IG5vbmUgL2Rldi9jcHVhY2N0IDI+IC9kZXYvbnVsbAo+ ICsJaWYgWyAkPyAtbmUgMCBdCj4gKwl0aGVuCj4gKwkJZWNobyAiVEZBSUw6IENvdWxkIG5vdCBt b3VudCBjZ3JvdXAgZmlsZXN5c3RlbSIKPiArCQllY2hvICJFeGl0aW5nIHRlc3QiCj4gKwkJY2xl YW51cAo+ICsJCWV4aXQgLTEKPiArCWZpCj4gKwo+ICsJIyBHcm91cCBjcmVhdGVkIGVhcmxpZXIg bWF5IGFnYWluIGJlIHZpc2libGUgaWYgbm90IGNsZWFuZWQgcHJvcGVybHkuCj4gKwkjc28gY2xl YW4gdGhlbQo+ICsJaWYgWyAtZSAvZGV2L2NwdWFjY3QvZ3JvdXBfMSBdCj4gKwl0aGVuCj4gKwkJ cm1kaXIgL2Rldi9jcHVhY2N0L2dyb3VwKi9ncm91cCogMj4gL2Rldi9udWxsCj4gKwkJcm1kaXIg L2Rldi9jcHVhY2N0L2dyb3VwKiAyPiAvZGV2L251bGwKPiArCQllY2hvICJXQVJOOiBFYXJsaWVy IGdyb3VwcyBmb3VuZCBhbmQgcmVtb3ZlZC4uLiI7Cj4gKwlmaQo+ICsKPiArfQo+ICsKPiArIyBU aGUgdXNhZ2Ugb2YgdGhlIHNjcmlwdCBmaWxlCj4gK3VzYWdlKCkKPiArewo+ICsJZWNobyAiQ291 bGQgbm90IHN0YXJ0IGNwdSBhY2NvdW50IGNvbnRyb2xsZXIgdGVzdCI7Cj4gKwllY2hvICJ1c2Fn ZTogcnVuX2NwdWFjY3RfdGVzdC5zaCAkVEVTVF9OVU0gIjsKPiArCWVjaG8gIlNraXBwaW5nIHRo ZSBjcHUgYWNjb3VudCBjb250cm9sbGVyIHRlc3QuLi4iOwo+ICt9Cj4gZGlmZiAtcnVwTiBsdHAt ZnVsbC0yMDA5MDczMS8vdGVzdGNhc2VzL2tlcm5lbC9jb250cm9sbGVycy9NYWtlZmlsZSBsdHAt ZnVsbC0yMDA5MDczMS5zcmMvL3Rlc3RjYXNlcy9rZXJuZWwvY29udHJvbGxlcnMvTWFrZWZpbGUK PiAtLS0gbHRwLWZ1bGwtMjAwOTA3MzEvL3Rlc3RjYXNlcy9rZXJuZWwvY29udHJvbGxlcnMvTWFr ZWZpbGUJMjAwOS0wNy0zMCAxNzoyNzo1OC4wMDAwMDAwMDAgKzAwMDAKPiArKysgbHRwLWZ1bGwt MjAwOTA3MzEuc3JjLy90ZXN0Y2FzZXMva2VybmVsL2NvbnRyb2xsZXJzL01ha2VmaWxlCTIwMDkt MDgtMDcgMDc6MDQ6MDkuMDAwMDAwMDAwICswMDAwCj4gQEAgLTcsNiArNyw4IEBAIENIRUNLX01F TUNUTCA6PSAkKHNoZWxsIGdyZXAgLXcgbWVtb3J5IC8KPiAgQ0hFQ0tfQkxPQ0tJT0NUTCA6PSAk KHNoZWxsIGdyZXAgLXcgYmxvY2tpbyAvcHJvYy9jZ3JvdXBzIDI+L2Rldi9udWxsfGN1dCAtZjEp Cj4gIENIRUNLX0ZSRUVaRVIgOj0gJChzaGVsbCBncmVwIC13IGZyZWV6ZXIgL3Byb2MvY2dyb3Vw cyAyPi9kZXYvbnVsbHwgY3V0IC1mMSkKPiAgQ0hFQ0tfQ1BVU0VUQ1RMID0gJChzaGVsbCBncmVw IC13IGNwdXNldCAvcHJvYy9jZ3JvdXBzIDI+L2Rldi9udWxsfGN1dCAtZjEpCj4gK0NIRUNLX0NQ VUFDQ1RDVEwgOj0gJChzaGVsbCBncmVwIC13IGNwdWFjY3QgL3Byb2MvY2dyb3VwcyAyPi9kZXYv bnVsbHxjdXQgLWYxKQo+ICsKPiAgZW5kaWYKPiAKPiAgaWZkZWYgQ1JPU1NfQ09NUElMRQo+IEBA IC0xOCw2ICsyMCw3IEBAIFNVQkRJUlMgKz0gbWVtY3RsCj4gIFNVQkRJUlMgKz0gaW8tdGhyb3R0 bGUKPiAgU1VCRElSUyArPSBmcmVlemVyCj4gIFNVQkRJUlMgKz0gY3B1c2V0Cj4gK1NVQkRJUlMg Kz0gY3B1YWNjdAo+ICBlbHNlCj4gICQoaW5mbyAiS2VybmVsIGlzIG5vdCBjb21waWxlZCB3aXRo IGNvbnRyb2wgY2dyb3VwIHN1cHBvcnQiKQo+ICBlbmRpZgo+IEBAIC02MCw2ICs2MywxMSBAQCBT VUJESVJTICs9IGNwdXNldAo+ICBlbHNlCj4gICQoaW5mbyAiS2VybmVsIGlzIG5vdCBjb21waWxl ZCB3aXRoIGNwdXNldCByZXNvdXJjZSBjb250cm9sbGVyIHN1cHBvcnQiKQo+ICBlbmRpZgo+ICtp ZmVxICgkKENIRUNLX0NQVUFDQ1RDVEwpLGNwdWFjY3QpCj4gK1NVQkRJUlMgKz0gY3B1YWNjdAo+ ICtlbHNlCj4gKyQoaW5mbyAiS2VybmVsIGlzIG5vdCBjb21waWxlZCB3aXRoIGNwdWFjY3QgcmVz b3VyY2UgY29udHJvbGxlciBzdXBwb3J0IikKPiArZW5kaWYKPiAgZW5kaWYKPiAKPiAgIyBJZiBh dCBsZWFzdCBvbmUgb2YgdGhlIGNvbnRyb2xsZXJzIGlzIGF2YWlsYWJsZSB0aGVuIGJ1aWxkIGxp YmNvbnRyb2xsZXJzLgo+IGRpZmYgLXJ1cE4gbHRwLWZ1bGwtMjAwOTA3MzEvL3Rlc3RjYXNlcy9r ZXJuZWwvY29udHJvbGxlcnMvUkVBRE1FIGx0cC1mdWxsLTIwMDkwNzMxLnNyYy8vdGVzdGNhc2Vz L2tlcm5lbC9jb250cm9sbGVycy9SRUFETUUKPiAtLS0gbHRwLWZ1bGwtMjAwOTA3MzEvL3Rlc3Rj YXNlcy9rZXJuZWwvY29udHJvbGxlcnMvUkVBRE1FCTIwMDktMDUtMTEgMTA6MDI6NDYuMDAwMDAw MDAwICswMDAwCj4gKysrIGx0cC1mdWxsLTIwMDkwNzMxLnNyYy8vdGVzdGNhc2VzL2tlcm5lbC9j b250cm9sbGVycy9SRUFETUUJMjAwOS0wOC0wNyAwNzowMDoyOC4wMDAwMDAwMDAgKzAwMDAKPiBA QCAtNTEsNiArNTEsMTAgQEAgbGliY29udHJvbGxlcnMKPiAgLS0tLS0tLS0tLS0tLS0KPiAgVGhp cyBkaXJlY3RvcnkgY29udGFpbnMgdGhlIGxpYnJhcnkgZm9yIGNwdWNvbnRyb2xsZXIgdGVzdGlu Zy4KPiAKPiArY3B1YWNjdAo+ICstLS0tLS0tLS0tLQo+ICtEaXJlY3RvcnkgY29udGFpbmluZyB0 aGUgY3B1IGFjY291bnRpbmcgY29udHJvbGxlciB0ZXN0Y2FzZXMuCj4gKwo+ICBNYWtlZmlsZQo+ ICAtLS0tLS0tLQo+ICBUaGUgdXN1YWwgTWFrZWZpbGUgdG8gY29uZHVjdCBhbGwgdGhlIHRlc3Rz Lgo+IGRpZmYgLXJ1cE4gbHRwLWZ1bGwtMjAwOTA3MzEvL3Rlc3RjYXNlcy9rZXJuZWwvY29udHJv bGxlcnMvdGVzdF9jb250cm9sbGVycy5zaCBsdHAtZnVsbC0yMDA5MDczMS5zcmMvL3Rlc3RjYXNl cy9rZXJuZWwvY29udHJvbGxlcnMvdGVzdF9jb250cm9sbGVycy5zaAo+IC0tLSBsdHAtZnVsbC0y MDA5MDczMS8vdGVzdGNhc2VzL2tlcm5lbC9jb250cm9sbGVycy90ZXN0X2NvbnRyb2xsZXJzLnNo CTIwMDktMDctMzAgMTc6Mjc6NTguMDAwMDAwMDAwICswMDAwCj4gKysrIGx0cC1mdWxsLTIwMDkw NzMxLnNyYy8vdGVzdGNhc2VzL2tlcm5lbC9jb250cm9sbGVycy90ZXN0X2NvbnRyb2xsZXJzLnNo CTIwMDktMDgtMDcgMDc6MDc6MzcuMDAwMDAwMDAwICswMDAwCj4gQEAgLTQzLDYgKzQzLDcgQEAg dGhlbgo+ICAJSU9USFJPVFRMRV9DT05UUk9MTEVSPWBncmVwIC13IGJsb2NraW8gL3Byb2MvY2dy b3VwcyB8IGN1dCAtZjFgOwo+ICAJRlJFRVpFUj1gZ3JlcCAtdyBmcmVlemVyIC9wcm9jL2Nncm91 cHMgfCBjdXQgLWYxYDsKPiAgCUNQVVNFVF9DT05UUk9MTEVSPWBncmVwIC13IGNwdXNldCAvcHJv Yy9jZ3JvdXBzIHwgY3V0IC1mMWAKPiArICAgICAgICBDUFVBQ0NPVU5UX0NPTlRST0xMRVI9YGdy ZXAgLXcgY3B1YWNjdCAvcHJvYy9jZ3JvdXBzIHwgY3V0IC1mMWAKPiAKPiAgCWlmIFsgIiRDUFVf Q09OVFJPTExFUiIgPSAiY3B1IiBdCj4gIAl0aGVuCj4gQEAgLTExNSwxMCArMTE2LDIyIEBAIHRo ZW4KPiAgCQllY2hvICJLZXJuZWwgZG9lcyBub3Qgc3VwcG9ydCBjcHVzZXQgY29udHJvbGxlciI7 Cj4gIAkJZWNobyAiU2tpcHBpbmcgYWxsIGNwdXNldCBjb250cm9sbGVyIHRlc3RjYXNlcy4uLi4i Owo+ICAJZmkKPiArCj4gKwlpZiBbICIkQ1BVQUNDT1VOVF9DT05UUk9MTEVSIiA9ICJjcHVhY2N0 IiBdCj4gKyAgICAgICAgdGhlbgo+ICsgICAgICAgICAgICAgICAgJExUUFJPT1QvdGVzdGNhc2Vz L2Jpbi9ydW5fY3B1YWNjdF90ZXN0LnNoIDE7Cj4gKyAgICAgICAgICAgICAgICAkTFRQUk9PVC90 ZXN0Y2FzZXMvYmluL3J1bl9jcHVhY2N0X3Rlc3Quc2ggMjsKPiArICAgICAgICBlbHNlCj4gKyAg ICAgICAgICAgICAgICBlY2hvICJDb3VsZCBub3Qgc3RhcnQgY3B1IGFjY291bnRpbmcgY29udHJv bGxlciB0ZXN0IjsKPiArICAgICAgICAgICAgICAgIGVjaG8gInVzYWdlOiBydW5fY3B1YWNjdF90 ZXN0LnNoICRURVNUX05VTSAiOwo+ICsgICAgICAgICAgICAgICAgZWNobyAiU2tpcHBpbmcgdGhl IGNwdSBhY2NvdW50aW5nIGNvbnRyb2xsZXIgdGVzdC4uLiI7Cj4gKyAgICAgICAgZmkKPiArCj4g IGVsc2UKPiAgCWVjaG8gIkNPTlRST0xMRVJTIFRFU1RDQVNFUzogV0FSTklORyIKPiAgCWVjaG8g Iktlcm5lbCBkb2VzIG5vdCBzdXBwb3J0IGZvciBjb250cm9sIGdyb3VwcyI7Cj4gIAllY2hvICJT a2lwcGluZyBhbGwgY29udHJvbGxlcnMgdGVzdGNhc2VzLi4uLiI7Cj4gKwo+ICBmaQo+IAo+ICBl eGl0IDA7Cj4gCj4gCj4gCj4gCj4gCj4gUmVzdWx0czoKPiAKPiAjIC4vcnVuX2NwdWFjY3RfdGVz dC5zaCAxCj4gQ2xlYW51cCBjYWxsZWQKPiBURVNUIDE6Q1BVIEFDQ09VTlRJTkcgQ09OVFJPTExF UiBURVNUSU5HCj4gUlVOTklORyBTRVRVUC4uLi4uCj4gVEVTVCBTVEFSVEVEOiBQbGVhc2UgYXZv aWQgdXNpbmcgc3lzdGVtIHdoaWxlIHRoaXMgdGVzdCBleGVjdXRlcwo+IAo+IGNwdWFjY3QudXNh Z2UgZm9yIFBhcmVudCBjZ3JvdXAgaXMgNTA2OTEyMjgyOAo+IGNwdWFjY3QudXNhZ2UgZm9yIENo aWxkIGNncm91cCBpcyA1MDY5MTIyODI4Cj4gVFBBU1MgQ1BVIEFjY291bnRpbmcgQ29udHJvbGxl cjpjcHVhY2N0LnVzYWdlIFBBU1NFRAo+IAo+IGNwdWFjY3QudXNhZ2VfcGVyY3B1IGZvciBQYXJl bnQgY2dyb3VwIDogNTA2OTEyMjgyOAo+IGNwdWFjY3QudXNhZ2VfcGVyY3B1IGZvciBDaGlsZCAg Y2dyb3VwIDogNTA2OTEyMjgyOAo+IFRQQVNTIENQVSBBY2NvdW50aW5nIENvbnRyb2xsZXI6Y3B1 YWNjdC51c2FnZV9wZXJjcHUgUEFTU0VECj4gCj4gY3B1YWNjdC5zdGF0IGZvciBQYXJlbnQgY2dy b3VwIGlzIHVzZXIgODEgOiBzeXN0ZW0gNDE2Cj4gY3B1YWNjdC5zdGF0IGZvciBDaGlsZCBjZ3Jv dXAgaXMgdXNlciA4MSA6IHN5c3RlbSA0MTYKPiBUUEFTUyBDUFUgQWNjb3VudGluZyBDb250cm9s bGVyOmNwdWFjY3Quc3RhdCBQQVNTRUQKPiAKPiBDUFUgQWNjb3VudGluZyBDb250cm9sbGVyIHRl c3QgZXhlY3V0ZWQgc3VjY2Vzc2Z1bGx5Cj4gQ2xlYW51cCBjYWxsZWQKPiAKPiAKPiAuL3J1bl9j cHVhY2N0X3Rlc3Quc2ggMgo+IENsZWFudXAgY2FsbGVkCj4gVEVTVCAyOkNQVSBBQ0NPVU5USU5H IENPTlRST0xMRVIgVEVTVElORwo+IFJVTk5JTkcgU0VUVVAuLi4uLgo+IFRFU1QgU1RBUlRFRDog UGxlYXNlIGF2b2lkIHVzaW5nIHN5c3RlbSB3aGlsZSB0aGlzIHRlc3QgZXhlY3V0ZXMKPiAKPiBj cHVhY2N0LnVzYWdlIGZvciBQYXJlbnQgY2dyb3VwIDogMTk5NDY3OTk2NDQKPiBjcHVhY2N0LnVz YWdlIGZvciBDaGlsZCAgY2dyb3VwIDogMTk5NDY3OTk2NDQKPiBUUEFTUyBDUFUgQWNjb3VudGlu ZyBDb250cm9sbGVyOmNwdWFjY3QudXNhZ2UgUEFTU0VECj4gCj4gY3B1YWNjdC51c2FnZV9wZXJj cHUgZm9yIFBhcmVudCBjZ3JvdXAgOiAxOTk0Njc5OTY0NAo+IGNwdWFjY3QudXNhZ2VfcGVyY3B1 IGZvciBDaGlsZCAgY2dyb3VwIDogMTk5NDY3OTk2NDQKPiBUUEFTUyBDUFUgQWNjb3VudGluZyBD b250cm9sbGVyOmNwdWFjY3QudXNhZ2VfcGVyY3B1IFBBU1NFRAo+IAo+IGNwdWFjY3Quc3RhdCBm b3IgUGFyZW50IGNncm91cCA6IDI5NTo6MTQ4OQo+IGNwdWFjY3Quc3RhdCBmb3IgQ2hpbGQgIGNn cm91cCA6IDI5NTo6MTQ4OQo+IFRQQVNTIENQVSBBY2NvdW50aW5nIENvbnRyb2xsZXI6Y3B1YWNj dC5zdGF0IFBBU1NFRAo+IAo+IENQVSBBY2NvdW50aW5nIENvbnRyb2xsZXIgdGVzdCBleGVjdXRl ZCBzdWNjZXNzZnVsbHkKPiBDbGVhbnVwIGNhbGxlZAo+IAo+IFRoYW5rcwoKCi0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQpMZXQgQ3J5c3RhbCBSZXBvcnRzIGhhbmRsZSB0aGUgcmVwb3J0aW5nIC0gRnJl ZSBDcnlzdGFsIFJlcG9ydHMgMjAwOCAzMC1EYXkgCnRyaWFsLiBTaW1wbGlmeSB5b3VyIHJlcG9y dCBkZXNpZ24sIGludGVncmF0aW9uIGFuZCBkZXBsb3ltZW50IC0gYW5kIGZvY3VzIG9uIAp3aGF0 IHlvdSBkbyBiZXN0LCBjb3JlIGFwcGxpY2F0aW9uIGNvZGluZy4gRGlzY292ZXIgd2hhdCdzIG5l dyB3aXRoIApDcnlzdGFsIFJlcG9ydHMgbm93LiAgaHR0cDovL3Auc2YubmV0L3NmdS9ib2JqLWp1 bHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTHRwLWxp c3QgbWFpbGluZyBsaXN0Ckx0cC1saXN0QGxpc3RzLnNvdXJjZWZvcmdlLm5ldApodHRwczovL2xp c3RzLnNvdXJjZWZvcmdlLm5ldC9saXN0cy9saXN0aW5mby9sdHAtbGlzdAo=