From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from eddie.linux-mips.org ([148.251.95.138] helo=cvs.linux-mips.org) by metis.ext.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1jBnBL-00020Q-P2 for ptxdist@pengutronix.de; Tue, 10 Mar 2020 23:17:04 +0100 Received: (from localhost user: 'ladis' uid#1021 fake: STDIN (ladis@eddie.linux-mips.org)) by eddie.linux-mips.org id S23991633AbgCJWQ5pmN0J (ORCPT ); Tue, 10 Mar 2020 23:16:57 +0100 Date: Tue, 10 Mar 2020 23:16:55 +0100 From: Ladislav Michl Message-ID: <20200310221655.GA1404031@lenoch> References: <20200310160112.GA1293144@lenoch> <20200310211847.d4wczrsuoz2oe4f5@falbala.internal.home.lespocky.de> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20200310211847.d4wczrsuoz2oe4f5@falbala.internal.home.lespocky.de> Subject: Re: [ptxdist] [PATCH] dnsmasq: optionally enable DBus support List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: ptxdist@pengutronix.de Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ptxdist-bounces@pengutronix.de Sender: "ptxdist" To: ptxdist@pengutronix.de SGkhCgpPbiBUdWUsIE1hciAxMCwgMjAyMCBhdCAxMDoxODo0OFBNICswMTAwLCBBbGV4YW5kZXIg RGFobCB3cm90ZToKPiBIZWkgaGVpLAo+IAo+IE9uIFR1ZSwgTWFyIDEwLCAyMDIwIGF0IDA1OjAx OjEyUE0gKzAxMDAsIExhZGlzbGF2IE1pY2hsIHdyb3RlOgo+ID4gQXMgcHJvamVjdHJvb3QncyBk bnNtYXNxLmNvbmYgaXMgY29waWVkIGZyb20gZXhhbXBsZSBjb25maWcgYW5kCj4gPiBuZWVkcyB0 byBiZSBtb2RpZmllZCB0byBtYXRjaCBCU1AgbmVlZHMgYW55d2F5LCBsZXQncyByZW1vdmUKPiA+ IGNvbmZpZyBmcm9tIHByb2plY3Ryb290IGFsdG9nZXRoZXIuCj4gCj4gVGhpcyBkb2VzIG5vdCBy ZWFsbHkgbWF0Y2ggdGhlIHBhdGNoIHN1YmplY3QuIElzIHRoaXMgYWJvdXQgY2hhbmdpbmcKPiB0 aGUgY29uZmlnIG9yIGVuYWJsaW5nIGRidXMgb3IgYm90aD8KClRoZXJlIGlzIG5vIGNvbmZpZyBj aGFuZ2UsIHNlZSBjb21taXQgbWVzc2FnZSBhbmQgYmVsbG93Li4uCgo+ID4gU2lnbmVkLW9mZi1i eTogTGFkaXNsYXYgTWljaGwgPGxhZGlzQGxpbnV4LW1pcHMub3JnPgo+ID4gLS0tCj4gPiAgcHJv amVjdHJvb3QvZXRjL2Ruc21hc3EuY29uZiB8IDY3OSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQo+ID4gIHJ1bGVzL2Ruc21hc3EuaW4gICAgICAgICAgICAgfCAgMTAgKy0KPiA+ ICBydWxlcy9kbnNtYXNxLm1ha2UgICAgICAgICAgIHwgIDE1ICsKPiA+ICAzIGZpbGVzIGNoYW5n ZWQsIDIwIGluc2VydGlvbnMoKyksIDY4NCBkZWxldGlvbnMoLSkKPiA+ICBkZWxldGUgbW9kZSAx MDA2NDQgcHJvamVjdHJvb3QvZXRjL2Ruc21hc3EuY29uZgo+ID4gCj4gPiBkaWZmIC0tZ2l0IGEv cHJvamVjdHJvb3QvZXRjL2Ruc21hc3EuY29uZiBiL3Byb2plY3Ryb290L2V0Yy9kbnNtYXNxLmNv bmYKPiA+IGRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAo+ID4gaW5kZXggODU0OGI0M2VkLi4wMDAw MDAwMDAKPiA+IC0tLSBhL3Byb2plY3Ryb290L2V0Yy9kbnNtYXNxLmNvbmYKPiA+ICsrKyAvZGV2 L251bGwKPiA+IEBAIC0xLDY3OSArMCwwIEBACj4gPiAtIyBDb25maWd1cmF0aW9uIGZpbGUgZm9y IGRuc21hc3EuCj4gPiAtIwo+ID4gLSMgRm9ybWF0IGlzIG9uZSBvcHRpb24gcGVyIGxpbmUsIGxl Z2FsIG9wdGlvbnMgYXJlIHRoZSBzYW1lCj4gPiAtIyBhcyB0aGUgbG9uZyBvcHRpb25zIGxlZ2Fs IG9uIHRoZSBjb21tYW5kIGxpbmUuIFNlZQo+ID4gLSMgIi91c3Ivc2Jpbi9kbnNtYXNxIC0taGVs cCIgb3IgIm1hbiA4IGRuc21hc3EiIGZvciBkZXRhaWxzLgo+ID4gLQo+ID4gLSMgTGlzdGVuIG9u IHRoaXMgc3BlY2lmaWMgcG9ydCBpbnN0ZWFkIG9mIHRoZSBzdGFuZGFyZCBETlMgcG9ydAo+ID4g LSMgKDUzKS4gU2V0dGluZyB0aGlzIHRvIHplcm8gY29tcGxldGVseSBkaXNhYmxlcyBETlMgZnVu Y3Rpb24sCj4gPiAtIyBsZWF2aW5nIG9ubHkgREhDUCBhbmQvb3IgVEZUUC4KPiA+IC0jcG9ydD01 MzUzCj4gPiAtCj4gPiAtIyBUaGUgZm9sbG93aW5nIHR3byBvcHRpb25zIG1ha2UgeW91IGEgYmV0 dGVyIG5ldGl6ZW4sIHNpbmNlIHRoZXkKPiA+IC0jIHRlbGwgZG5zbWFzcSB0byBmaWx0ZXIgb3V0 IHF1ZXJpZXMgd2hpY2ggdGhlIHB1YmxpYyBETlMgY2Fubm90Cj4gPiAtIyBhbnN3ZXIsIGFuZCB3 aGljaCBsb2FkIHRoZSBzZXJ2ZXJzIChlc3BlY2lhbGx5IHRoZSByb290IHNlcnZlcnMpCj4gPiAt IyB1bm5lY2Vzc2FyaWx5LiBJZiB5b3UgaGF2ZSBhIGRpYWwtb24tZGVtYW5kIGxpbmsgdGhleSBh bHNvIHN0b3AKPiA+IC0jIHRoZXNlIHJlcXVlc3RzIGZyb20gYnJpbmdpbmcgdXAgdGhlIGxpbmsg dW5uZWNlc3NhcmlseS4KPiA+IC0KPiA+IC0jIE5ldmVyIGZvcndhcmQgcGxhaW4gbmFtZXMgKHdp dGhvdXQgYSBkb3Qgb3IgZG9tYWluIHBhcnQpCj4gPiAtI2RvbWFpbi1uZWVkZWQKPiA+IC0jIE5l dmVyIGZvcndhcmQgYWRkcmVzc2VzIGluIHRoZSBub24tcm91dGVkIGFkZHJlc3Mgc3BhY2VzLgo+ ID4gLSNib2d1cy1wcml2Cj4gPiAtCj4gPiAtIyBVbmNvbW1lbnQgdGhlc2UgdG8gZW5hYmxlIERO U1NFQyB2YWxpZGF0aW9uIGFuZCBjYWNoaW5nOgo+ID4gLSMgKFJlcXVpcmVzIGRuc21hc3EgdG8g YmUgYnVpbHQgd2l0aCBETlNTRUMgb3B0aW9uLikKPiA+IC0jY29uZi1maWxlPSUlUFJFRklYJSUv c2hhcmUvZG5zbWFzcS90cnVzdC1hbmNob3JzLmNvbmYKPiA+IC0jZG5zc2VjCj4gPiAtCj4gPiAt IyBSZXBsaWVzIHdoaWNoIGFyZSBub3QgRE5TU0VDIHNpZ25lZCBtYXkgYmUgbGVnaXRpbWF0ZSwg YmVjYXVzZSB0aGUgZG9tYWluCj4gPiAtIyBpcyB1bnNpZ25lZCwgb3IgbWF5IGJlIGZvcmdlcmll cy4gU2V0dGluZyB0aGlzIG9wdGlvbiB0ZWxscyBkbnNtYXNxIHRvCj4gPiAtIyBjaGVjayB0aGF0 IGFuIHVuc2lnbmVkIHJlcGx5IGlzIE9LLCBieSBmaW5kaW5nIGEgc2VjdXJlIHByb29mIHRoYXQg YSBEUwo+ID4gLSMgcmVjb3JkIHNvbWV3aGVyZSBiZXR3ZWVuIHRoZSByb290IGFuZCB0aGUgZG9t YWluIGRvZXMgbm90IGV4aXN0Lgo+ID4gLSMgVGhlIGNvc3Qgb2Ygc2V0dGluZyB0aGlzIGlzIHRo YXQgZXZlbiBxdWVyaWVzIGluIHVuc2lnbmVkIGRvbWFpbnMgd2lsbCBuZWVkCj4gPiAtIyBvbmUg b3IgbW9yZSBleHRyYSBETlMgcXVlcmllcyB0byB2ZXJpZnkuCj4gPiAtI2Ruc3NlYy1jaGVjay11 bnNpZ25lZAo+ID4gLQo+ID4gLSMgVW5jb21tZW50IHRoaXMgdG8gZmlsdGVyIHVzZWxlc3Mgd2lu ZG93cy1vcmlnaW5hdGVkIEROUyByZXF1ZXN0cwo+ID4gLSMgd2hpY2ggY2FuIHRyaWdnZXIgZGlh bC1vbi1kZW1hbmQgbGlua3MgbmVlZGxlc3NseS4KPiA+IC0jIE5vdGUgdGhhdCAoYW1vbmdzdCBv dGhlciB0aGluZ3MpIHRoaXMgYmxvY2tzIGFsbCBTUlYgcmVxdWVzdHMsCj4gPiAtIyBzbyBkb24n dCB1c2UgaXQgaWYgeW91IHVzZSBlZyBLZXJiZXJvcywgU0lQLCBYTU1QIG9yIEdvb2dsZS10YWxr Lgo+ID4gLSMgVGhpcyBvcHRpb24gb25seSBhZmZlY3RzIGZvcndhcmRpbmcsIFNSViByZWNvcmRz IG9yaWdpbmF0aW5nIGZvcgo+ID4gLSMgZG5zbWFzcSAodmlhIHNydi1ob3N0PSBsaW5lcykgYXJl IG5vdCBzdXBwcmVzc2VkIGJ5IGl0Lgo+ID4gLSNmaWx0ZXJ3aW4yawo+ID4gLQo+ID4gLSMgQ2hh bmdlIHRoaXMgbGluZSBpZiB5b3Ugd2FudCBkbnMgdG8gZ2V0IGl0cyB1cHN0cmVhbSBzZXJ2ZXJz IGZyb20KPiA+IC0jIHNvbWV3aGVyZSBvdGhlciB0aGF0IC9ldGMvcmVzb2x2LmNvbmYKPiA+IC0j cmVzb2x2LWZpbGU9Cj4gPiAtCj4gPiAtIyBCeSAgZGVmYXVsdCwgIGRuc21hc3EgIHdpbGwgIHNl bmQgcXVlcmllcyB0byBhbnkgb2YgdGhlIHVwc3RyZWFtCj4gPiAtIyBzZXJ2ZXJzIGl0IGtub3dz IGFib3V0IGFuZCB0cmllcyB0byBmYXZvdXIgc2VydmVycyB0byBhcmUgIGtub3duCj4gPiAtIyB0 byAgYmUgIHVwLiAgVW5jb21tZW50aW5nIHRoaXMgZm9yY2VzIGRuc21hc3EgdG8gdHJ5IGVhY2gg cXVlcnkKPiA+IC0jIHdpdGggIGVhY2ggIHNlcnZlciAgc3RyaWN0bHkgIGluICB0aGUgIG9yZGVy ICB0aGV5ICAgYXBwZWFyICAgaW4KPiA+IC0jIC9ldGMvcmVzb2x2LmNvbmYKPiA+IC0jc3RyaWN0 LW9yZGVyCj4gPiAtCj4gPiAtIyBJZiB5b3UgZG9uJ3Qgd2FudCBkbnNtYXNxIHRvIHJlYWQgL2V0 Yy9yZXNvbHYuY29uZiBvciBhbnkgb3RoZXIKPiA+IC0jIGZpbGUsIGdldHRpbmcgaXRzIHNlcnZl cnMgZnJvbSB0aGlzIGZpbGUgaW5zdGVhZCAoc2VlIGJlbG93KSwgdGhlbgo+ID4gLSMgdW5jb21t ZW50IHRoaXMuCj4gPiAtI25vLXJlc29sdgo+ID4gLQo+ID4gLSMgSWYgeW91IGRvbid0IHdhbnQg ZG5zbWFzcSB0byBwb2xsIC9ldGMvcmVzb2x2LmNvbmYgb3Igb3RoZXIgcmVzb2x2Cj4gPiAtIyBm aWxlcyBmb3IgY2hhbmdlcyBhbmQgcmUtcmVhZCB0aGVtIHRoZW4gdW5jb21tZW50IHRoaXMuCj4g PiAtI25vLXBvbGwKPiA+IC0KPiA+IC0jIEFkZCBvdGhlciBuYW1lIHNlcnZlcnMgaGVyZSwgd2l0 aCBkb21haW4gc3BlY3MgaWYgdGhleSBhcmUgZm9yCj4gPiAtIyBub24tcHVibGljIGRvbWFpbnMu Cj4gPiAtI3NlcnZlcj0vbG9jYWxuZXQvMTkyLjE2OC4wLjEKPiA+IC0KPiA+IC0jIEV4YW1wbGUg b2Ygcm91dGluZyBQVFIgcXVlcmllcyB0byBuYW1lc2VydmVyczogdGhpcyB3aWxsIHNlbmQgYWxs Cj4gPiAtIyBhZGRyZXNzLT5uYW1lIHF1ZXJpZXMgZm9yIDE5Mi4xNjguMy8yNCB0byBuYW1lc2Vy dmVyIDEwLjEuMi4zCj4gPiAtI3NlcnZlcj0vMy4xNjguMTkyLmluLWFkZHIuYXJwYS8xMC4xLjIu Mwo+ID4gLQo+ID4gLSMgQWRkIGxvY2FsLW9ubHkgZG9tYWlucyBoZXJlLCBxdWVyaWVzIGluIHRo ZXNlIGRvbWFpbnMgYXJlIGFuc3dlcmVkCj4gPiAtIyBmcm9tIC9ldGMvaG9zdHMgb3IgREhDUCBv bmx5Lgo+ID4gLSNsb2NhbD0vbG9jYWxuZXQvCj4gPiAtCj4gPiAtIyBBZGQgZG9tYWlucyB3aGlj aCB5b3Ugd2FudCB0byBmb3JjZSB0byBhbiBJUCBhZGRyZXNzIGhlcmUuCj4gPiAtIyBUaGUgZXhh bXBsZSBiZWxvdyBzZW5kIGFueSBob3N0IGluIGRvdWJsZS1jbGljay5uZXQgdG8gYSBsb2NhbAo+ ID4gLSMgd2ViLXNlcnZlci4KPiA+IC0jYWRkcmVzcz0vZG91YmxlLWNsaWNrLm5ldC8xMjcuMC4w LjEKPiA+IC0KPiA+IC0jIC0tYWRkcmVzcyAoYW5kIC0tc2VydmVyKSB3b3JrIHdpdGggSVB2NiBh ZGRyZXNzZXMgdG9vLgo+ID4gLSNhZGRyZXNzPS93d3cudGhla2VsbGV5cy5vcmcudWsvZmU4MDo6 MjBkOjYwZmY6ZmUzNjpmODMKPiA+IC0KPiA+IC0jIEFkZCB0aGUgSVBzIG9mIGFsbCBxdWVyaWVz IHRvIHlhaG9vLmNvbSwgZ29vZ2xlLmNvbSwgYW5kIHRoZWlyCj4gPiAtIyBzdWJkb21haW5zIHRv IHRoZSB2cG4gYW5kIHNlYXJjaCBpcHNldHM6Cj4gPiAtI2lwc2V0PS95YWhvby5jb20vZ29vZ2xl LmNvbS92cG4sc2VhcmNoCj4gPiAtCj4gPiAtIyBZb3UgY2FuIGNvbnRyb2wgaG93IGRuc21hc3Eg dGFsa3MgdG8gYSBzZXJ2ZXI6IHRoaXMgZm9yY2VzCj4gPiAtIyBxdWVyaWVzIHRvIDEwLjEuMi4z IHRvIGJlIHJvdXRlZCB2aWEgZXRoMQo+ID4gLSMgc2VydmVyPTEwLjEuMi4zQGV0aDEKPiA+IC0K PiA+IC0jIGFuZCB0aGlzIHNldHMgdGhlIHNvdXJjZSAoaWUgbG9jYWwpIGFkZHJlc3MgdXNlZCB0 byB0YWxrIHRvCj4gPiAtIyAxMC4xLjIuMyB0byAxOTIuMTY4LjEuMSBwb3J0IDU1ICh0aGVyZSBt dXN0IGJlIGFuIGludGVyZmFjZSB3aXRoIHRoYXQKPiA+IC0jIElQIG9uIHRoZSBtYWNoaW5lLCBv YnZpb3VzbHkpLgo+ID4gLSMgc2VydmVyPTEwLjEuMi4zQDE5Mi4xNjguMS4xIzU1Cj4gPiAtCj4g PiAtIyBJZiB5b3Ugd2FudCBkbnNtYXNxIHRvIGNoYW5nZSB1aWQgYW5kIGdpZCB0byBzb21ldGhp bmcgb3RoZXIKPiA+IC0jIHRoYW4gdGhlIGRlZmF1bHQsIGVkaXQgdGhlIGZvbGxvd2luZyBsaW5l cy4KPiA+IC0jdXNlcj0KPiA+IC0jZ3JvdXA9Cj4gPiAtCj4gPiAtIyBJZiB5b3Ugd2FudCBkbnNt YXNxIHRvIGxpc3RlbiBmb3IgREhDUCBhbmQgRE5TIHJlcXVlc3RzIG9ubHkgb24KPiA+IC0jIHNw ZWNpZmllZCBpbnRlcmZhY2VzIChhbmQgdGhlIGxvb3BiYWNrKSBnaXZlIHRoZSBuYW1lIG9mIHRo ZQo+ID4gLSMgaW50ZXJmYWNlIChlZyBldGgwKSBoZXJlLgo+ID4gLSMgUmVwZWF0IHRoZSBsaW5l IGZvciBtb3JlIHRoYW4gb25lIGludGVyZmFjZS4KPiA+IC0jaW50ZXJmYWNlPQo+ID4gLSMgT3Ig eW91IGNhbiBzcGVjaWZ5IHdoaWNoIGludGVyZmFjZSBfbm90XyB0byBsaXN0ZW4gb24KPiA+IC0j ZXhjZXB0LWludGVyZmFjZT0KPiA+IC0jIE9yIHdoaWNoIHRvIGxpc3RlbiBvbiBieSBhZGRyZXNz IChyZW1lbWJlciB0byBpbmNsdWRlIDEyNy4wLjAuMSBpZgo+ID4gLSMgeW91IHVzZSB0aGlzLikK PiA+IC0jbGlzdGVuLWFkZHJlc3M9Cj4gPiAtIyBJZiB5b3Ugd2FudCBkbnNtYXNxIHRvIHByb3Zp ZGUgb25seSBETlMgc2VydmljZSBvbiBhbiBpbnRlcmZhY2UsCj4gPiAtIyBjb25maWd1cmUgaXQg YXMgc2hvd24gYWJvdmUsIGFuZCB0aGVuIHVzZSB0aGUgZm9sbG93aW5nIGxpbmUgdG8KPiA+IC0j IGRpc2FibGUgREhDUCBhbmQgVEZUUCBvbiBpdC4KPiA+IC0jbm8tZGhjcC1pbnRlcmZhY2U9Cj4g PiAtCj4gPiAtIyBPbiBzeXN0ZW1zIHdoaWNoIHN1cHBvcnQgaXQsIGRuc21hc3EgYmluZHMgdGhl IHdpbGRjYXJkIGFkZHJlc3MsCj4gPiAtIyBldmVuIHdoZW4gaXQgaXMgbGlzdGVuaW5nIG9uIG9u bHkgc29tZSBpbnRlcmZhY2VzLiBJdCB0aGVuIGRpc2NhcmRzCj4gPiAtIyByZXF1ZXN0cyB0aGF0 IGl0IHNob3VsZG4ndCByZXBseSB0by4gVGhpcyBoYXMgdGhlIGFkdmFudGFnZSBvZgo+ID4gLSMg d29ya2luZyBldmVuIHdoZW4gaW50ZXJmYWNlcyBjb21lIGFuZCBnbyBhbmQgY2hhbmdlIGFkZHJl c3MuIElmIHlvdQo+ID4gLSMgd2FudCBkbnNtYXNxIHRvIHJlYWxseSBiaW5kIG9ubHkgdGhlIGlu dGVyZmFjZXMgaXQgaXMgbGlzdGVuaW5nIG9uLAo+ID4gLSMgdW5jb21tZW50IHRoaXMgb3B0aW9u LiBBYm91dCB0aGUgb25seSB0aW1lIHlvdSBtYXkgbmVlZCB0aGlzIGlzIHdoZW4KPiA+IC0jIHJ1 bm5pbmcgYW5vdGhlciBuYW1lc2VydmVyIG9uIHRoZSBzYW1lIG1hY2hpbmUuCj4gPiAtI2JpbmQt aW50ZXJmYWNlcwo+ID4gLQo+ID4gLSMgSWYgeW91IGRvbid0IHdhbnQgZG5zbWFzcSB0byByZWFk IC9ldGMvaG9zdHMsIHVuY29tbWVudCB0aGUKPiA+IC0jIGZvbGxvd2luZyBsaW5lLgo+ID4gLSNu by1ob3N0cwo+ID4gLSMgb3IgaWYgeW91IHdhbnQgaXQgdG8gcmVhZCBhbm90aGVyIGZpbGUsIGFz IHdlbGwgYXMgL2V0Yy9ob3N0cywgdXNlCj4gPiAtIyB0aGlzLgo+ID4gLSNhZGRuLWhvc3RzPS9l dGMvYmFubmVyX2FkZF9ob3N0cwo+ID4gLQo+ID4gLSMgU2V0IHRoaXMgKGFuZCBkb21haW46IHNl ZSBiZWxvdykgaWYgeW91IHdhbnQgdG8gaGF2ZSBhIGRvbWFpbgo+ID4gLSMgYXV0b21hdGljYWxs eSBhZGRlZCB0byBzaW1wbGUgbmFtZXMgaW4gYSBob3N0cy1maWxlLgo+ID4gLSNleHBhbmQtaG9z dHMKPiA+IC0KPiA+IC0jIFNldCB0aGUgZG9tYWluIGZvciBkbnNtYXNxLiB0aGlzIGlzIG9wdGlv bmFsLCBidXQgaWYgaXQgaXMgc2V0LCBpdAo+ID4gLSMgZG9lcyB0aGUgZm9sbG93aW5nIHRoaW5n cy4KPiA+IC0jIDEpIEFsbG93cyBESENQIGhvc3RzIHRvIGhhdmUgZnVsbHkgcXVhbGlmaWVkIGRv bWFpbiBuYW1lcywgYXMgbG9uZwo+ID4gLSMgICAgIGFzIHRoZSBkb21haW4gcGFydCBtYXRjaGVz IHRoaXMgc2V0dGluZy4KPiA+IC0jIDIpIFNldHMgdGhlICJkb21haW4iIERIQ1Agb3B0aW9uIHRo ZXJlYnkgcG90ZW50aWFsbHkgc2V0dGluZyB0aGUKPiA+IC0jICAgIGRvbWFpbiBvZiBhbGwgc3lz dGVtcyBjb25maWd1cmVkIGJ5IERIQ1AKPiA+IC0jIDMpIFByb3ZpZGVzIHRoZSBkb21haW4gcGFy dCBmb3IgImV4cGFuZC1ob3N0cyIKPiA+IC0jZG9tYWluPXRoZWtlbGxleXMub3JnLnVrCj4gPiAt Cj4gPiAtIyBTZXQgYSBkaWZmZXJlbnQgZG9tYWluIGZvciBhIHBhcnRpY3VsYXIgc3VibmV0Cj4g PiAtI2RvbWFpbj13aXJlbGVzcy50aGVrZWxsZXlzLm9yZy51aywxOTIuMTY4LjIuMC8yNAo+ID4g LQo+ID4gLSMgU2FtZSBpZGVhLCBidXQgcmFuZ2UgcmF0aGVyIHRoZW4gc3VibmV0Cj4gPiAtI2Rv bWFpbj1yZXNlcnZlZC50aGVrZWxsZXlzLm9yZy51aywxOTIuNjguMy4xMDAsMTkyLjE2OC4zLjIw MAo+ID4gLQo+ID4gLSMgVW5jb21tZW50IHRoaXMgdG8gZW5hYmxlIHRoZSBpbnRlZ3JhdGVkIERI Q1Agc2VydmVyLCB5b3UgbmVlZAo+ID4gLSMgdG8gc3VwcGx5IHRoZSByYW5nZSBvZiBhZGRyZXNz ZXMgYXZhaWxhYmxlIGZvciBsZWFzZSBhbmQgb3B0aW9uYWxseQo+ID4gLSMgYSBsZWFzZSB0aW1l LiBJZiB5b3UgaGF2ZSBtb3JlIHRoYW4gb25lIG5ldHdvcmssIHlvdSB3aWxsIG5lZWQgdG8KPiA+ IC0jIHJlcGVhdCB0aGlzIGZvciBlYWNoIG5ldHdvcmsgb24gd2hpY2ggeW91IHdhbnQgdG8gc3Vw cGx5IERIQ1AKPiA+IC0jIHNlcnZpY2UuCj4gPiAtI2RoY3AtcmFuZ2U9MTkyLjE2OC4wLjUwLDE5 Mi4xNjguMC4xNTAsMTJoCj4gPiAtCj4gPiAtIyBUaGlzIGlzIGFuIGV4YW1wbGUgb2YgYSBESENQ IHJhbmdlIHdoZXJlIHRoZSBuZXRtYXNrIGlzIGdpdmVuLiBUaGlzCj4gPiAtIyBpcyBuZWVkZWQg Zm9yIG5ldHdvcmtzIHdlIHJlYWNoIHRoZSBkbnNtYXNxIERIQ1Agc2VydmVyIHZpYSBhIHJlbGF5 Cj4gPiAtIyBhZ2VudC4gSWYgeW91IGRvbid0IGtub3cgd2hhdCBhIERIQ1AgcmVsYXkgYWdlbnQg aXMsIHlvdSBwcm9iYWJseQo+ID4gLSMgZG9uJ3QgbmVlZCB0byB3b3JyeSBhYm91dCB0aGlzLgo+ ID4gLSNkaGNwLXJhbmdlPTE5Mi4xNjguMC41MCwxOTIuMTY4LjAuMTUwLDI1NS4yNTUuMjU1LjAs MTJoCj4gPiAtCj4gPiAtIyBUaGlzIGlzIGFuIGV4YW1wbGUgb2YgYSBESENQIHJhbmdlIHdoaWNo IHNldHMgYSB0YWcsIHNvIHRoYXQKPiA+IC0jIHNvbWUgREhDUCBvcHRpb25zIG1heSBiZSBzZXQg b25seSBmb3IgdGhpcyBuZXR3b3JrLgo+ID4gLSNkaGNwLXJhbmdlPXNldDpyZWQsMTkyLjE2OC4w LjUwLDE5Mi4xNjguMC4xNTAKPiA+IC0KPiA+IC0jIFVzZSB0aGlzIERIQ1AgcmFuZ2Ugb25seSB3 aGVuIHRoZSB0YWcgImdyZWVuIiBpcyBzZXQuCj4gPiAtI2RoY3AtcmFuZ2U9dGFnOmdyZWVuLDE5 Mi4xNjguMC41MCwxOTIuMTY4LjAuMTUwLDEyaAo+ID4gLQo+ID4gLSMgU3BlY2lmeSBhIHN1Ym5l dCB3aGljaCBjYW4ndCBiZSB1c2VkIGZvciBkeW5hbWljIGFkZHJlc3MgYWxsb2NhdGlvbiwKPiA+ IC0jIGlzIGF2YWlsYWJsZSBmb3IgaG9zdHMgd2l0aCBtYXRjaGluZyAtLWRoY3AtaG9zdCBsaW5l cy4gTm90ZSB0aGF0Cj4gPiAtIyBkaGNwLWhvc3QgZGVjbGFyYXRpb25zIHdpbGwgYmUgaWdub3Jl ZCB1bmxlc3MgdGhlcmUgaXMgYSBkaGNwLXJhbmdlCj4gPiAtIyBvZiBzb21lIHR5cGUgZm9yIHRo ZSBzdWJuZXQgaW4gcXVlc3Rpb24uCj4gPiAtIyBJbiB0aGlzIGNhc2UgdGhlIG5ldG1hc2sgaXMg aW1wbGllZCAoaXQgY29tZXMgZnJvbSB0aGUgbmV0d29yawo+ID4gLSMgY29uZmlndXJhdGlvbiBv biB0aGUgbWFjaGluZSBydW5uaW5nIGRuc21hc3EpIGl0IGlzIHBvc3NpYmxlIHRvIGdpdmUKPiA+ IC0jIGFuIGV4cGxpY2l0IG5ldG1hc2sgaW5zdGVhZC4KPiA+IC0jZGhjcC1yYW5nZT0xOTIuMTY4 LjAuMCxzdGF0aWMKPiA+IC0KPiA+IC0jIEVuYWJsZSBESENQdjYuIE5vdGUgdGhhdCB0aGUgcHJl Zml4LWxlbmd0aCBkb2VzIG5vdCBuZWVkIHRvIGJlIHNwZWNpZmllZAo+ID4gLSMgYW5kIGRlZmF1 bHRzIHRvIDY0IGlmIG1pc3NpbmcvCj4gPiAtI2RoY3AtcmFuZ2U9MTIzNDo6MiwgMTIzNDo6NTAw LCA2NCwgMTJoCj4gPiAtCj4gPiAtIyBEbyBSb3V0ZXIgQWR2ZXJ0aXNlbWVudHMsIEJVVCBOT1Qg REhDUCBmb3IgdGhpcyBzdWJuZXQuCj4gPiAtI2RoY3AtcmFuZ2U9MTIzNDo6LCByYS1vbmx5Cj4g PiAtCj4gPiAtIyBEbyBSb3V0ZXIgQWR2ZXJ0aXNlbWVudHMsIEJVVCBOT1QgREhDUCBmb3IgdGhp cyBzdWJuZXQsIGFsc28gdHJ5IGFuZAo+ID4gLSMgYWRkIG5hbWVzIHRvIHRoZSBETlMgZm9yIHRo ZSBJUHY2IGFkZHJlc3Mgb2YgU0xBQUMtY29uZmlndXJlZCBkdWFsLXN0YWNrCj4gPiAtIyBob3N0 cy4gVXNlIHRoZSBESENQdjQgbGVhc2UgdG8gZGVyaXZlIHRoZSBuYW1lLCBuZXR3b3JrIHNlZ21l bnQgYW5kCj4gPiAtIyBNQUMgYWRkcmVzcyBhbmQgYXNzdW1lIHRoYXQgdGhlIGhvc3Qgd2lsbCBh bHNvIGhhdmUgYW4KPiA+IC0jIElQdjYgYWRkcmVzcyBjYWxjdWxhdGVkIHVzaW5nIHRoZSBTTEFB QyBhbGdvcml0aG0uCj4gPiAtI2RoY3AtcmFuZ2U9MTIzNDo6LCByYS1uYW1lcwo+ID4gLQo+ID4g LSMgRG8gUm91dGVyIEFkdmVydGlzZW1lbnRzLCBCVVQgTk9UIERIQ1AgZm9yIHRoaXMgc3VibmV0 Lgo+ID4gLSMgU2V0IHRoZSBsaWZldGltZSB0byA0NiBob3Vycy4gKE5vdGU6IG1pbmltdW0gbGlm ZXRpbWUgaXMgMiBob3Vycy4pCj4gPiAtI2RoY3AtcmFuZ2U9MTIzNDo6LCByYS1vbmx5LCA0OGgK PiA+IC0KPiA+IC0jIERvIERIQ1AgYW5kIFJvdXRlciBBZHZlcnRpc2VtZW50cyBmb3IgdGhpcyBz dWJuZXQuIFNldCB0aGUgQSBiaXQgaW4gdGhlIFJBCj4gPiAtIyBzbyB0aGF0IGNsaWVudHMgY2Fu IHVzZSBTTEFBQyBhZGRyZXNzZXMgYXMgd2VsbCBhcyBESENQIG9uZXMuCj4gPiAtI2RoY3AtcmFu Z2U9MTIzNDo6MiwgMTIzNDo6NTAwLCBzbGFhYwo+ID4gLQo+ID4gLSMgRG8gUm91dGVyIEFkdmVy dGlzZW1lbnRzIGFuZCBzdGF0ZWxlc3MgREhDUCBmb3IgdGhpcyBzdWJuZXQuIENsaWVudHMgd2ls bAo+ID4gLSMgbm90IGdldCBhZGRyZXNzZXMgZnJvbSBESENQLCBidXQgdGhleSB3aWxsIGdldCBv dGhlciBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uLgo+ID4gLSMgVGhleSB3aWxsIHVzZSBTTEFB QyBmb3IgYWRkcmVzc2VzLgo+ID4gLSNkaGNwLXJhbmdlPTEyMzQ6OiwgcmEtc3RhdGVsZXNzCj4g PiAtCj4gPiAtIyBEbyBzdGF0ZWxlc3MgREhDUCwgU0xBQUMsIGFuZCBnZW5lcmF0ZSBETlMgbmFt ZXMgZm9yIFNMQUFDIGFkZHJlc3Nlcwo+ID4gLSMgZnJvbSBESENQdjQgbGVhc2VzLgo+ID4gLSNk aGNwLXJhbmdlPTEyMzQ6OiwgcmEtc3RhdGVsZXNzLCByYS1uYW1lcwo+ID4gLQo+ID4gLSMgRG8g cm91dGVyIGFkdmVydGlzZW1lbnRzIGZvciBhbGwgc3VibmV0cyB3aGVyZSB3ZSdyZSBkb2luZyBE SENQdjYKPiA+IC0jIFVubGVzcyBvdmVycmlkZGVuIGJ5IHJhLXN0YXRlbGVzcywgcmEtbmFtZXMs IGV0IGFsLCB0aGUgcm91dGVyCj4gPiAtIyBhZHZlcnRpc2VtZW50cyB3aWxsIGhhdmUgdGhlIE0g YW5kIE8gYml0cyBzZXQsIHNvIHRoYXQgdGhlIGNsaWVudHMKPiA+IC0jIGdldCBhZGRyZXNzZXMg YW5kIGNvbmZpZ3VyYXRpb24gZnJvbSBESENQdjYsIGFuZCB0aGUgQSBiaXQgcmVzZXQsIHNvIHRo ZQo+ID4gLSMgY2xpZW50cyBkb24ndCB1c2UgU0xBQUMgYWRkcmVzc2VzLgo+ID4gLSNlbmFibGUt cmEKPiA+IC0KPiA+IC0jIFN1cHBseSBwYXJhbWV0ZXJzIGZvciBzcGVjaWZpZWQgaG9zdHMgdXNp bmcgREhDUC4gVGhlcmUgYXJlIGxvdHMKPiA+IC0jIG9mIHZhbGlkIGFsdGVybmF0aXZlcywgc28g d2Ugd2lsbCBnaXZlIGV4YW1wbGVzIG9mIGVhY2guIE5vdGUgdGhhdAo+ID4gLSMgSVAgYWRkcmVz c2VzIERPIE5PVCBoYXZlIHRvIGJlIGluIHRoZSByYW5nZSBnaXZlbiBhYm92ZSwgdGhleSBqdXN0 Cj4gPiAtIyBuZWVkIHRvIGJlIG9uIHRoZSBzYW1lIG5ldHdvcmsuIFRoZSBvcmRlciBvZiB0aGUg cGFyYW1ldGVycyBpbiB0aGVzZQo+ID4gLSMgZG8gbm90IG1hdHRlciwgaXQncyBwZXJtaXNzaWJs ZSB0byBnaXZlIG5hbWUsIGFkZHJlc3MgYW5kIE1BQyBpbiBhbnkKPiA+IC0jIG9yZGVyLgo+ID4g LQo+ID4gLSMgQWx3YXlzIGFsbG9jYXRlIHRoZSBob3N0IHdpdGggRXRoZXJuZXQgYWRkcmVzcyAx MToyMjozMzo0NDo1NTo2Ngo+ID4gLSMgVGhlIElQIGFkZHJlc3MgMTkyLjE2OC4wLjYwCj4gPiAt I2RoY3AtaG9zdD0xMToyMjozMzo0NDo1NTo2NiwxOTIuMTY4LjAuNjAKPiA+IC0KPiA+IC0jIEFs d2F5cyBzZXQgdGhlIG5hbWUgb2YgdGhlIGhvc3Qgd2l0aCBoYXJkd2FyZSBhZGRyZXNzCj4gPiAt IyAxMToyMjozMzo0NDo1NTo2NiB0byBiZSAiZnJlZCIKPiA+IC0jZGhjcC1ob3N0PTExOjIyOjMz OjQ0OjU1OjY2LGZyZWQKPiA+IC0KPiA+IC0jIEFsd2F5cyBnaXZlIHRoZSBob3N0IHdpdGggRXRo ZXJuZXQgYWRkcmVzcyAxMToyMjozMzo0NDo1NTo2Ngo+ID4gLSMgdGhlIG5hbWUgZnJlZCBhbmQg SVAgYWRkcmVzcyAxOTIuMTY4LjAuNjAgYW5kIGxlYXNlIHRpbWUgNDUgbWludXRlcwo+ID4gLSNk aGNwLWhvc3Q9MTE6MjI6MzM6NDQ6NTU6NjYsZnJlZCwxOTIuMTY4LjAuNjAsNDVtCj4gPiAtCj4g PiAtIyBHaXZlIGEgaG9zdCB3aXRoIEV0aGVybmV0IGFkZHJlc3MgMTE6MjI6MzM6NDQ6NTU6NjYg b3IKPiA+IC0jIDEyOjM0OjU2Ojc4OjkwOjEyIHRoZSBJUCBhZGRyZXNzIDE5Mi4xNjguMC42MC4g RG5zbWFzcSB3aWxsIGFzc3VtZQo+ID4gLSMgdGhhdCB0aGVzZSB0d28gRXRoZXJuZXQgaW50ZXJm YWNlcyB3aWxsIG5ldmVyIGJlIGluIHVzZSBhdCB0aGUgc2FtZQo+ID4gLSMgdGltZSwgYW5kIGdp dmUgdGhlIElQIGFkZHJlc3MgdG8gdGhlIHNlY29uZCwgZXZlbiBpZiBpdCBpcyBhbHJlYWR5Cj4g PiAtIyBpbiB1c2UgYnkgdGhlIGZpcnN0LiBVc2VmdWwgZm9yIGxhcHRvcHMgd2l0aCB3aXJlZCBh bmQgd2lyZWxlc3MKPiA+IC0jIGFkZHJlc3Nlcy4KPiA+IC0jZGhjcC1ob3N0PTExOjIyOjMzOjQ0 OjU1OjY2LDEyOjM0OjU2Ojc4OjkwOjEyLDE5Mi4xNjguMC42MAo+ID4gLQo+ID4gLSMgR2l2ZSB0 aGUgbWFjaGluZSB3aGljaCBzYXlzIGl0cyBuYW1lIGlzICJiZXJ0IiBJUCBhZGRyZXNzCj4gPiAt IyAxOTIuMTY4LjAuNzAgYW5kIGFuIGluZmluaXRlIGxlYXNlCj4gPiAtI2RoY3AtaG9zdD1iZXJ0 LDE5Mi4xNjguMC43MCxpbmZpbml0ZQo+ID4gLQo+ID4gLSMgQWx3YXlzIGdpdmUgdGhlIGhvc3Qg d2l0aCBjbGllbnQgaWRlbnRpZmllciAwMTowMjowMjowNAo+ID4gLSMgdGhlIElQIGFkZHJlc3Mg MTkyLjE2OC4wLjYwCj4gPiAtI2RoY3AtaG9zdD1pZDowMTowMjowMjowNCwxOTIuMTY4LjAuNjAK PiA+IC0KPiA+IC0jIEFsd2F5cyBnaXZlIHRoZSBJbmZpbmlCYW5kIGludGVyZmFjZSB3aXRoIGhh cmR3YXJlIGFkZHJlc3MKPiA+IC0jIDgwOjAwOjAwOjQ4OmZlOjgwOjAwOjAwOjAwOjAwOjAwOjAw OmY0OjUyOjE0OjAzOjAwOjI4OjA1OjgxIHRoZQo+ID4gLSMgaXAgYWRkcmVzcyAxOTIuMTY4LjAu NjEuIFRoZSBjbGllbnQgaWQgaXMgZGVyaXZlZCBmcm9tIHRoZSBwcmVmaXgKPiA+IC0jIGZmOjAw OjAwOjAwOjAwOjAwOjAyOjAwOjAwOjAyOmM5OjAwIGFuZCB0aGUgbGFzdCA4IHBhaXJzIG9mCj4g PiAtIyBoZXggZGlnaXRzIG9mIHRoZSBoYXJkd2FyZSBhZGRyZXNzLgo+ID4gLSNkaGNwLWhvc3Q9 aWQ6ZmY6MDA6MDA6MDA6MDA6MDA6MDI6MDA6MDA6MDI6Yzk6MDA6ZjQ6NTI6MTQ6MDM6MDA6Mjg6 MDU6ODEsMTkyLjE2OC4wLjYxCj4gPiAtCj4gPiAtIyBBbHdheXMgZ2l2ZSB0aGUgaG9zdCB3aXRo IGNsaWVudCBpZGVudGlmaWVyICJtYXJqb3JpZSIKPiA+IC0jIHRoZSBJUCBhZGRyZXNzIDE5Mi4x NjguMC42MAo+ID4gLSNkaGNwLWhvc3Q9aWQ6bWFyam9yaWUsMTkyLjE2OC4wLjYwCj4gPiAtCj4g PiAtIyBFbmFibGUgdGhlIGFkZHJlc3MgZ2l2ZW4gZm9yICJqdWRnZSIgaW4gL2V0Yy9ob3N0cwo+ ID4gLSMgdG8gYmUgZ2l2ZW4gdG8gYSBtYWNoaW5lIHByZXNlbnRpbmcgdGhlIG5hbWUgImp1ZGdl IiB3aGVuCj4gPiAtIyBpdCBhc2tzIGZvciBhIERIQ1AgbGVhc2UuCj4gPiAtI2RoY3AtaG9zdD1q dWRnZQo+ID4gLQo+ID4gLSMgTmV2ZXIgb2ZmZXIgREhDUCBzZXJ2aWNlIHRvIGEgbWFjaGluZSB3 aG9zZSBFdGhlcm5ldAo+ID4gLSMgYWRkcmVzcyBpcyAxMToyMjozMzo0NDo1NTo2Ngo+ID4gLSNk aGNwLWhvc3Q9MTE6MjI6MzM6NDQ6NTU6NjYsaWdub3JlCj4gPiAtCj4gPiAtIyBJZ25vcmUgYW55 IGNsaWVudC1pZCBwcmVzZW50ZWQgYnkgdGhlIG1hY2hpbmUgd2l0aCBFdGhlcm5ldAo+ID4gLSMg YWRkcmVzcyAxMToyMjozMzo0NDo1NTo2Ni4gVGhpcyBpcyB1c2VmdWwgdG8gcHJldmVudCBhIG1h Y2hpbmUKPiA+IC0jIGJlaW5nIHRyZWF0ZWQgZGlmZmVyZW50bHkgd2hlbiBydW5uaW5nIHVuZGVy IGRpZmZlcmVudCBPUydzIG9yCj4gPiAtIyBiZXR3ZWVuIFBYRSBib290IGFuZCBPUyBib290Lgo+ ID4gLSNkaGNwLWhvc3Q9MTE6MjI6MzM6NDQ6NTU6NjYsaWQ6Kgo+ID4gLQo+ID4gLSMgU2VuZCBl eHRyYSBvcHRpb25zIHdoaWNoIGFyZSB0YWdnZWQgYXMgInJlZCIgdG8KPiA+IC0jIHRoZSBtYWNo aW5lIHdpdGggRXRoZXJuZXQgYWRkcmVzcyAxMToyMjozMzo0NDo1NTo2Ngo+ID4gLSNkaGNwLWhv c3Q9MTE6MjI6MzM6NDQ6NTU6NjYsc2V0OnJlZAo+ID4gLQo+ID4gLSMgU2VuZCBleHRyYSBvcHRp b25zIHdoaWNoIGFyZSB0YWdnZWQgYXMgInJlZCIgdG8KPiA+IC0jIGFueSBtYWNoaW5lIHdpdGgg RXRoZXJuZXQgYWRkcmVzcyBzdGFydGluZyAxMToyMjozMzoKPiA+IC0jZGhjcC1ob3N0PTExOjIy OjMzOio6KjoqLHNldDpyZWQKPiA+IC0KPiA+IC0jIEdpdmUgYSBmaXhlZCBJUHY2IGFkZHJlc3Mg YW5kIG5hbWUgdG8gY2xpZW50IHdpdGgKPiA+IC0jIERVSUQgMDA6MDE6MDA6MDE6MTY6ZDI6ODM6 ZmM6OTI6ZDQ6MTk6ZTI6ZDg6YjIKPiA+IC0jIE5vdGUgdGhlIE1BQyBhZGRyZXNzZXMgQ0FOTk9U IGJlIHVzZWQgdG8gaWRlbnRpZnkgREhDUHY2IGNsaWVudHMuCj4gPiAtIyBOb3RlIGFsc28gdGhh dCB0aGUgW10gYXJvdW5kIHRoZSBJUHY2IGFkZHJlc3MgYXJlIG9ibGlnYXRvcnkuCj4gPiAtI2Ro Y3AtaG9zdD1pZDowMDowMTowMDowMToxNjpkMjo4MzpmYzo5MjpkNDoxOTplMjpkODpiMiwgZnJl ZCwgWzEyMzQ6OjVdCj4gPiAtCj4gPiAtIyBJZ25vcmUgYW55IGNsaWVudHMgd2hpY2ggYXJlIG5v dCBzcGVjaWZpZWQgaW4gZGhjcC1ob3N0IGxpbmVzCj4gPiAtIyBvciAvZXRjL2V0aGVycy4gRXF1 aXZhbGVudCB0byBJU0MgImRlbnkgdW5rbm93bi1jbGllbnRzIi4KPiA+IC0jIFRoaXMgcmVsaWVz IG9uIHRoZSBzcGVjaWFsICJrbm93biIgdGFnIHdoaWNoIGlzIHNldCB3aGVuCj4gPiAtIyBhIGhv c3QgaXMgbWF0Y2hlZC4KPiA+IC0jZGhjcC1pZ25vcmU9dGFnOiFrbm93bgo+ID4gLQo+ID4gLSMg U2VuZCBleHRyYSBvcHRpb25zIHdoaWNoIGFyZSB0YWdnZWQgYXMgInJlZCIgdG8gYW55IG1hY2hp bmUgd2hvc2UKPiA+IC0jIERIQ1AgdmVuZG9yY2xhc3Mgc3RyaW5nIGluY2x1ZGVzIHRoZSBzdWJz dHJpbmcgIkxpbnV4Igo+ID4gLSNkaGNwLXZlbmRvcmNsYXNzPXNldDpyZWQsTGludXgKPiA+IC0K PiA+IC0jIFNlbmQgZXh0cmEgb3B0aW9ucyB3aGljaCBhcmUgdGFnZ2VkIGFzICJyZWQiIHRvIGFu eSBtYWNoaW5lIG9uZQo+ID4gLSMgb2Ygd2hvc2UgREhDUCB1c2VyY2xhc3Mgc3RyaW5ncyBpbmNs dWRlcyB0aGUgc3Vic3RyaW5nICJhY2NvdW50cyIKPiA+IC0jZGhjcC11c2VyY2xhc3M9c2V0OnJl ZCxhY2NvdW50cwo+ID4gLQo+ID4gLSMgU2VuZCBleHRyYSBvcHRpb25zIHdoaWNoIGFyZSB0YWdn ZWQgYXMgInJlZCIgdG8gYW55IG1hY2hpbmUgd2hvc2UKPiA+IC0jIE1BQyBhZGRyZXNzIG1hdGNo ZXMgdGhlIHBhdHRlcm4uCj4gPiAtI2RoY3AtbWFjPXNldDpyZWQsMDA6NjA6OEM6KjoqOioKPiA+ IC0KPiA+IC0jIElmIHRoaXMgbGluZSBpcyB1bmNvbW1lbnRlZCwgZG5zbWFzcSB3aWxsIHJlYWQg L2V0Yy9ldGhlcnMgYW5kIGFjdAo+ID4gLSMgb24gdGhlIGV0aGVybmV0LWFkZHJlc3MvSVAgcGFp cnMgZm91bmQgdGhlcmUganVzdCBhcyBpZiB0aGV5IGhhZAo+ID4gLSMgYmVlbiBnaXZlbiBhcyAt LWRoY3AtaG9zdCBvcHRpb25zLiBVc2VmdWwgaWYgeW91IGtlZXAKPiA+IC0jIE1BQy1hZGRyZXNz L2hvc3QgbWFwcGluZ3MgdGhlcmUgZm9yIG90aGVyIHB1cnBvc2VzLgo+ID4gLSNyZWFkLWV0aGVy cwo+ID4gLQo+ID4gLSMgU2VuZCBvcHRpb25zIHRvIGhvc3RzIHdoaWNoIGFzayBmb3IgYSBESENQ IGxlYXNlLgo+ID4gLSMgU2VlIFJGQyAyMTMyIGZvciBkZXRhaWxzIG9mIGF2YWlsYWJsZSBvcHRp b25zLgo+ID4gLSMgQ29tbW9uIG9wdGlvbnMgY2FuIGJlIGdpdmVuIHRvIGRuc21hc3EgYnkgbmFt ZToKPiA+IC0jIHJ1biAiZG5zbWFzcSAtLWhlbHAgZGhjcCIgdG8gZ2V0IGEgbGlzdC4KPiA+IC0j IE5vdGUgdGhhdCBhbGwgdGhlIGNvbW1vbiBzZXR0aW5ncywgc3VjaCBhcyBuZXRtYXNrIGFuZAo+ ID4gLSMgYnJvYWRjYXN0IGFkZHJlc3MsIEROUyBzZXJ2ZXIgYW5kIGRlZmF1bHQgcm91dGUsIGFy ZSBnaXZlbgo+ID4gLSMgc2FuZSBkZWZhdWx0cyBieSBkbnNtYXNxLiBZb3UgdmVyeSBsaWtlbHkg d2lsbCBub3QgbmVlZAo+ID4gLSMgYW55IGRoY3Atb3B0aW9ucy4gSWYgeW91IHVzZSBXaW5kb3dz IGNsaWVudHMgYW5kIFNhbWJhLCB0aGVyZQo+ID4gLSMgYXJlIHNvbWUgb3B0aW9ucyB3aGljaCBh cmUgcmVjb21tZW5kZWQsIHRoZXkgYXJlIGRldGFpbGVkIGF0IHRoZQo+ID4gLSMgZW5kIG9mIHRo aXMgc2VjdGlvbi4KPiA+IC0KPiA+IC0jIE92ZXJyaWRlIHRoZSBkZWZhdWx0IHJvdXRlIHN1cHBs aWVkIGJ5IGRuc21hc3EsIHdoaWNoIGFzc3VtZXMgdGhlCj4gPiAtIyByb3V0ZXIgaXMgdGhlIHNh bWUgbWFjaGluZSBhcyB0aGUgb25lIHJ1bm5pbmcgZG5zbWFzcS4KPiA+IC0jZGhjcC1vcHRpb249 MywxLjIuMy40Cj4gPiAtCj4gPiAtIyBEbyB0aGUgc2FtZSB0aGluZywgYnV0IHVzaW5nIHRoZSBv cHRpb24gbmFtZQo+ID4gLSNkaGNwLW9wdGlvbj1vcHRpb246cm91dGVyLDEuMi4zLjQKPiA+IC0K PiA+IC0jIE92ZXJyaWRlIHRoZSBkZWZhdWx0IHJvdXRlIHN1cHBsaWVkIGJ5IGRuc21hc3EgYW5k IHNlbmQgbm8gZGVmYXVsdAo+ID4gLSMgcm91dGUgYXQgYWxsLiBOb3RlIHRoYXQgdGhpcyBvbmx5 IHdvcmtzIGZvciB0aGUgb3B0aW9ucyBzZW50IGJ5Cj4gPiAtIyBkZWZhdWx0ICgxLCAzLCA2LCAx MiwgMjgpIHRoZSBzYW1lIGxpbmUgd2lsbCBzZW5kIGEgemVyby1sZW5ndGggb3B0aW9uCj4gPiAt IyBmb3IgYWxsIG90aGVyIG9wdGlvbiBudW1iZXJzLgo+ID4gLSNkaGNwLW9wdGlvbj0zCj4gPiAt Cj4gPiAtIyBTZXQgdGhlIE5UUCB0aW1lIHNlcnZlciBhZGRyZXNzZXMgdG8gMTkyLjE2OC4wLjQg YW5kIDEwLjEwLjAuNQo+ID4gLSNkaGNwLW9wdGlvbj1vcHRpb246bnRwLXNlcnZlciwxOTIuMTY4 LjAuNCwxMC4xMC4wLjUKPiA+IC0KPiA+IC0jIFNlbmQgREhDUHY2IG9wdGlvbi4gTm90ZSBbXSBh cm91bmQgSVB2NiBhZGRyZXNzZXMuCj4gPiAtI2RoY3Atb3B0aW9uPW9wdGlvbjY6ZG5zLXNlcnZl cixbMTIzNDo6NzddLFsxMjM0Ojo4OF0KPiA+IC0KPiA+IC0jIFNlbmQgREhDUHY2IG9wdGlvbiBm b3IgbmFtc2VydmVycyBhcyB0aGUgbWFjaGluZSBydW5uaW5nCj4gPiAtIyBkbnNtYXNxIGFuZCBh bm90aGVyLgo+ID4gLSNkaGNwLW9wdGlvbj1vcHRpb242OmRucy1zZXJ2ZXIsWzo6XSxbMTIzNDo6 ODhdCj4gPiAtCj4gPiAtIyBBc2sgY2xpZW50IHRvIHBvbGwgZm9yIG9wdGlvbiBjaGFuZ2VzIGV2 ZXJ5IHNpeCBob3Vycy4gKFJGQzQyNDIpCj4gPiAtI2RoY3Atb3B0aW9uPW9wdGlvbjY6aW5mb3Jt YXRpb24tcmVmcmVzaC10aW1lLDZoCj4gPiAtCj4gPiAtIyBTZXQgb3B0aW9uIDU4IGNsaWVudCBy ZW5ld2FsIHRpbWUgKFQxKS4gRGVmYXVsdHMgdG8gaGFsZiBvZiB0aGUKPiA+IC0jIGxlYXNlIHRp bWUgaWYgbm90IHNwZWNpZmllZC4gKFJGQzIxMzIpCj4gPiAtI2RoY3Atb3B0aW9uPW9wdGlvbjpU MSwxbQo+ID4gLQo+ID4gLSMgU2V0IG9wdGlvbiA1OSByZWJpbmRpbmcgdGltZSAoVDIpLiBEZWZh dWx0cyB0byA3Lzggb2YgdGhlCj4gPiAtIyBsZWFzZSB0aW1lIGlmIG5vdCBzcGVjaWZpZWQuIChS RkMyMTMyKQo+ID4gLSNkaGNwLW9wdGlvbj1vcHRpb246VDIsMm0KPiA+IC0KPiA+IC0jIFNldCB0 aGUgTlRQIHRpbWUgc2VydmVyIGFkZHJlc3MgdG8gYmUgdGhlIHNhbWUgbWFjaGluZSBhcwo+ID4g LSMgaXMgcnVubmluZyBkbnNtYXNxCj4gPiAtI2RoY3Atb3B0aW9uPTQyLDAuMC4wLjAKPiA+IC0K PiA+IC0jIFNldCB0aGUgTklTIGRvbWFpbiBuYW1lIHRvICJ3ZWxseSIKPiA+IC0jZGhjcC1vcHRp b249NDAsd2VsbHkKPiA+IC0KPiA+IC0jIFNldCB0aGUgZGVmYXVsdCB0aW1lLXRvLWxpdmUgdG8g NTAKPiA+IC0jZGhjcC1vcHRpb249MjMsNTAKPiA+IC0KPiA+IC0jIFNldCB0aGUgImFsbCBzdWJu ZXRzIGFyZSBsb2NhbCIgZmxhZwo+ID4gLSNkaGNwLW9wdGlvbj0yNywxCj4gPiAtCj4gPiAtIyBT ZW5kIHRoZSBldGhlcmJvb3QgbWFnaWMgZmxhZyBhbmQgdGhlbiBldGhlcmJvb3Qgb3B0aW9ucyAo YSBzdHJpbmcpLgo+ID4gLSNkaGNwLW9wdGlvbj0xMjgsZTQ6NDU6NzQ6Njg6MDA6MDAKPiA+IC0j ZGhjcC1vcHRpb249MTI5LE5JQz1lZXBybzEwMAo+ID4gLQo+ID4gLSMgU3BlY2lmeSBhbiBvcHRp b24gd2hpY2ggd2lsbCBvbmx5IGJlIHNlbnQgdG8gdGhlICJyZWQiIG5ldHdvcmsKPiA+IC0jIChz ZWUgZGhjcC1yYW5nZSBmb3IgdGhlIGRlY2xhcmF0aW9uIG9mIHRoZSAicmVkIiBuZXR3b3JrKQo+ ID4gLSMgTm90ZSB0aGF0IHRoZSB0YWc6IHBhcnQgbXVzdCBwcmVjZWRlIHRoZSBvcHRpb246IHBh cnQuCj4gPiAtI2RoY3Atb3B0aW9uID0gdGFnOnJlZCwgb3B0aW9uOm50cC1zZXJ2ZXIsIDE5Mi4x NjguMS4xCj4gPiAtCj4gPiAtIyBUaGUgZm9sbG93aW5nIERIQ1Agb3B0aW9ucyBzZXQgdXAgZG5z bWFzcSBpbiB0aGUgc2FtZSB3YXkgYXMgaXMgc3BlY2lmaWVkCj4gPiAtIyBmb3IgdGhlIElTQyBk aGNwY2QgaW4KPiA+IC0jIGh0dHA6Ly93d3cuc2FtYmEub3JnL3NhbWJhL2Z0cC9kb2NzL3RleHRk b2NzL0RIQ1AtU2VydmVyLUNvbmZpZ3VyYXRpb24udHh0Cj4gPiAtIyBhZGFwdGVkIGZvciBhIHR5 cGljYWwgZG5zbWFzcSBpbnN0YWxsYXRpb24gd2hlcmUgdGhlIGhvc3QgcnVubmluZwo+ID4gLSMg ZG5zbWFzcSBpcyBhbHNvIHRoZSBob3N0IHJ1bm5pbmcgc2FtYmEuCj4gPiAtIyB5b3UgbWF5IHdh bnQgdG8gdW5jb21tZW50IHNvbWUgb3IgYWxsIG9mIHRoZW0gaWYgeW91IHVzZQo+ID4gLSMgV2lu ZG93cyBjbGllbnRzIGFuZCBTYW1iYS4KPiA+IC0jZGhjcC1vcHRpb249MTksMCAgICAgICAgICAg IyBvcHRpb24gaXAtZm9yd2FyZGluZyBvZmYKPiA+IC0jZGhjcC1vcHRpb249NDQsMC4wLjAuMCAg ICAgIyBzZXQgbmV0Ymlvcy1vdmVyLVRDUC9JUCBuYW1lc2VydmVyKHMpIGFrYSBXSU5TIHNlcnZl cihzKQo+ID4gLSNkaGNwLW9wdGlvbj00NSwwLjAuMC4wICAgICAjIG5ldGJpb3MgZGF0YWdyYW0g ZGlzdHJpYnV0aW9uIHNlcnZlcgo+ID4gLSNkaGNwLW9wdGlvbj00Niw4ICAgICAgICAgICAjIG5l dGJpb3Mgbm9kZSB0eXBlCj4gPiAtCj4gPiAtIyBTZW5kIGFuIGVtcHR5IFdQQUQgb3B0aW9uLiBU aGlzIG1heSBiZSBSRVFVSVJFRCB0byBnZXQgd2luZG93cyA3IHRvIGJlaGF2ZS4KPiA+IC0jZGhj cC1vcHRpb249MjUyLCJcbiIKPiA+IC0KPiA+IC0jIFNlbmQgUkZDLTMzOTcgRE5TIGRvbWFpbiBz ZWFyY2ggREhDUCBvcHRpb24uIFdBUk5JTkc6IFlvdXIgREhDUCBjbGllbnQKPiA+IC0jIHByb2Jh Ymx5IGRvZXNuJ3Qgc3VwcG9ydCB0aGlzLi4uLi4uCj4gPiAtI2RoY3Atb3B0aW9uPW9wdGlvbjpk b21haW4tc2VhcmNoLGVuZy5hcHBsZS5jb20sbWFya2V0aW5nLmFwcGxlLmNvbQo+ID4gLQo+ID4g LSMgU2VuZCBSRkMtMzQ0MiBjbGFzc2xlc3Mgc3RhdGljIHJvdXRlcyAobm90ZSB0aGUgbmV0bWFz ayBlbmNvZGluZykKPiA+IC0jZGhjcC1vcHRpb249MTIxLDE5Mi4xNjguMS4wLzI0LDEuMi4zLjQs MTAuMC4wLjAvOCw1LjYuNy44Cj4gPiAtCj4gPiAtIyBTZW5kIHZlbmRvci1jbGFzcyBzcGVjaWZp YyBvcHRpb25zIGVuY2Fwc3VsYXRlZCBpbiBESENQIG9wdGlvbiA0My4KPiA+IC0jIFRoZSBtZWFu aW5nIG9mIHRoZSBvcHRpb25zIGlzIGRlZmluZWQgYnkgdGhlIHZlbmRvci1jbGFzcyBzbwo+ID4g LSMgb3B0aW9ucyBhcmUgc2VudCBvbmx5IHdoZW4gdGhlIGNsaWVudCBzdXBwbGllZCB2ZW5kb3Ig Y2xhc3MKPiA+IC0jIG1hdGNoZXMgdGhlIGNsYXNzIGdpdmVuIGhlcmUuIChBIHN1YnN0cmluZyBt YXRjaCBpcyBPSywgc28gIk1TRlQiCj4gPiAtIyBtYXRjaGVzICJNU0ZUIiBhbmQgIk1TRlQgNS4w IikuIFRoaXMgZXhhbXBsZSBzZXRzIHRoZQo+ID4gLSMgbXRmdHAgYWRkcmVzcyB0byAwLjAuMC4w IGZvciBQWEVDbGllbnRzLgo+ID4gLSNkaGNwLW9wdGlvbj12ZW5kb3I6UFhFQ2xpZW50LDEsMC4w LjAuMAo+ID4gLQo+ID4gLSMgU2VuZCBtaWNyb3NvZnQtc3BlY2lmaWMgb3B0aW9uIHRvIHRlbGwg d2luZG93cyB0byByZWxlYXNlIHRoZSBESENQIGxlYXNlCj4gPiAtIyB3aGVuIGl0IHNodXRzIGRv d24uIE5vdGUgdGhlICJpIiBmbGFnLCB0byB0ZWxsIGRuc21hc3EgdG8gc2VuZCB0aGUKPiA+IC0j IHZhbHVlIGFzIGEgZm91ci1ieXRlIGludGVnZXIgLSB0aGF0J3Mgd2hhdCBtaWNyb3NvZnQgd2Fu dHMuIFNlZQo+ID4gLSMgaHR0cDovL3RlY2huZXQyLm1pY3Jvc29mdC5jb20vV2luZG93c1NlcnZl ci9lbi9saWJyYXJ5L2E3MGYxYmI3LWQyZDQtNDlmMC05NmQ2LTRiNzQxNGVjZmFhZTEwMzMubXNw eD9tZnI9dHJ1ZQo+ID4gLSNkaGNwLW9wdGlvbj12ZW5kb3I6TVNGVCwyLDFpCj4gPiAtCj4gPiAt IyBTZW5kIHRoZSBFbmNhcHN1bGF0ZWQtdmVuZG9yLWNsYXNzIElEIG5lZWRlZCBieSBzb21lIGNv bmZpZ3VyYXRpb25zIG9mCj4gPiAtIyBFdGhlcmJvb3QgdG8gYWxsb3cgaXMgdG8gcmVjb2duaXNl IHRoZSBESENQIHNlcnZlci4KPiA+IC0jZGhjcC1vcHRpb249dmVuZG9yOkV0aGVyYm9vdCw2MCwi RXRoZXJib290Igo+ID4gLQo+ID4gLSMgU2VuZCBvcHRpb25zIHRvIFBYRUxpbnV4LiBOb3RlIHRo YXQgd2UgbmVlZCB0byBzZW5kIHRoZSBvcHRpb25zIGV2ZW4KPiA+IC0jIHRob3VnaCB0aGV5IGRv bid0IGFwcGVhciBpbiB0aGUgcGFyYW1ldGVyIHJlcXVlc3QgbGlzdCwgc28gd2UgbmVlZAo+ID4g LSMgdG8gdXNlIGRoY3Atb3B0aW9uLWZvcmNlIGhlcmUuCj4gPiAtIyBTZWUgaHR0cDovL3N5c2xp bnV4Lnp5dG9yLmNvbS9weGUucGhwI3NwZWNpYWwgZm9yIGRldGFpbHMuCj4gPiAtIyBNYWdpYyBu dW1iZXIgLSBuZWVkZWQgYmVmb3JlIGFueXRoaW5nIGVsc2UgaXMgcmVjb2duaXNlZAo+ID4gLSNk aGNwLW9wdGlvbi1mb3JjZT0yMDgsZjE6MDA6NzQ6N2UKPiA+IC0jIENvbmZpZ3VyYXRpb24gZmls ZSBuYW1lCj4gPiAtI2RoY3Atb3B0aW9uLWZvcmNlPTIwOSxjb25maWdzL2NvbW1vbgo+ID4gLSMg UGF0aCBwcmVmaXgKPiA+IC0jZGhjcC1vcHRpb24tZm9yY2U9MjEwLC90ZnRwYm9vdC9weGVsaW51 eC9maWxlcy8KPiA+IC0jIFJlYm9vdCB0aW1lLiAoTm90ZSAnaScgdG8gc2VuZCAzMi1iaXQgdmFs dWUpCj4gPiAtI2RoY3Atb3B0aW9uLWZvcmNlPTIxMSwzMGkKPiA+IC0KPiA+IC0jIFNldCB0aGUg Ym9vdCBmaWxlbmFtZSBmb3IgbmV0Ym9vdC9QWEUuIFlvdSB3aWxsIG9ubHkgbmVlZAo+ID4gLSMg dGhpcyBpZiB5b3Ugd2FudCB0byBib290IG1hY2hpbmVzIG92ZXIgdGhlIG5ldHdvcmsgYW5kIHlv dSB3aWxsIG5lZWQKPiA+IC0jIGEgVEZUUCBzZXJ2ZXI7IGVpdGhlciBkbnNtYXNxJ3MgYnVpbHQt aW4gVEZUUCBzZXJ2ZXIgb3IgYW4KPiA+IC0jIGV4dGVybmFsIG9uZS4gKFNlZSBiZWxvdyBmb3Ig aG93IHRvIGVuYWJsZSB0aGUgVEZUUCBzZXJ2ZXIuKQo+ID4gLSNkaGNwLWJvb3Q9cHhlbGludXgu MAo+ID4gLQo+ID4gLSMgVGhlIHNhbWUgYXMgYWJvdmUsIGJ1dCB1c2UgY3VzdG9tIHRmdHAtc2Vy dmVyIGluc3RlYWQgbWFjaGluZSBydW5uaW5nIGRuc21hc3EKPiA+IC0jZGhjcC1ib290PXB4ZWxp bnV4LHNlcnZlci5uYW1lLDE5Mi4xNjguMS4xMDAKPiA+IC0KPiA+IC0jIEJvb3QgZm9yIGlQWEUu IFRoZSBpZGVhIGlzIHRvIHNlbmQgdHdvIGRpZmZlcmVudAo+ID4gLSMgZmlsZW5hbWVzLCB0aGUg Zmlyc3QgbG9hZHMgaVBYRSwgYW5kIHRoZSBzZWNvbmQgdGVsbHMgaVBYRSB3aGF0IHRvCj4gPiAt IyBsb2FkLiBUaGUgZGhjcC1tYXRjaCBzZXRzIHRoZSBpcHhlIHRhZyBmb3IgcmVxdWVzdHMgZnJv bSBpUFhFLgo+ID4gLSNkaGNwLWJvb3Q9dW5kaW9ubHkua3B4ZQo+ID4gLSNkaGNwLW1hdGNoPXNl dDppcHhlLDE3NSAjIGlQWEUgc2VuZHMgYSAxNzUgb3B0aW9uLgo+ID4gLSNkaGNwLWJvb3Q9dGFn OmlweGUsaHR0cDovL2Jvb3QuaXB4ZS5vcmcvZGVtby9ib290LnBocAo+ID4gLQo+ID4gLSMgRW5j YXBzdWxhdGVkIG9wdGlvbnMgZm9yIGlQWEUuIEFsbCB0aGUgb3B0aW9ucyBhcmUKPiA+IC0jIGVu Y2Fwc3VsYXRlZCB3aXRoaW4gb3B0aW9uIDE3NQo+ID4gLSNkaGNwLW9wdGlvbj1lbmNhcDoxNzUs IDEsIDViICAgICAgICAgIyBwcmlvcml0eSBjb2RlCj4gPiAtI2RoY3Atb3B0aW9uPWVuY2FwOjE3 NSwgMTc2LCAxYiAgICAgICAjIG5vLXByb3h5ZGhjcAo+ID4gLSNkaGNwLW9wdGlvbj1lbmNhcDox NzUsIDE3Nywgc3RyaW5nICAgIyBidXMtaWQKPiA+IC0jZGhjcC1vcHRpb249ZW5jYXA6MTc1LCAx ODksIDFiICAgICAgICMgQklPUyBkcml2ZSBjb2RlCj4gPiAtI2RoY3Atb3B0aW9uPWVuY2FwOjE3 NSwgMTkwLCB1c2VyICAgICAjIGlTQ1NJIHVzZXJuYW1lCj4gPiAtI2RoY3Atb3B0aW9uPWVuY2Fw OjE3NSwgMTkxLCBwYXNzICAgICAjIGlTQ1NJIHBhc3N3b3JkCj4gPiAtCj4gPiAtIyBUZXN0IGZv ciB0aGUgYXJjaGl0ZWN0dXJlIG9mIGEgbmV0Ym9vdCBjbGllbnQuIFBYRSBjbGllbnRzIGFyZQo+ ID4gLSMgc3VwcG9zZWQgdG8gc2VuZCB0aGVpciBhcmNoaXRlY3R1cmUgYXMgb3B0aW9uIDkzLiAo U2VlIFJGQyA0NTc4KQo+ID4gLSNkaGNwLW1hdGNoPXBlZWNlZXMsIG9wdGlvbjpjbGllbnQtYXJj aCwgMCAjeDg2LTMyCj4gPiAtI2RoY3AtbWF0Y2g9aXRhbmljcywgb3B0aW9uOmNsaWVudC1hcmNo LCAyICNJQTY0Cj4gPiAtI2RoY3AtbWF0Y2g9aGFtbWVycywgb3B0aW9uOmNsaWVudC1hcmNoLCA2 ICN4ODYtNjQKPiA+IC0jZGhjcC1tYXRjaD1tYWN0ZWxzLCBvcHRpb246Y2xpZW50LWFyY2gsIDcg I0VGSSB4ODYtNjQKPiA+IC0KPiA+IC0jIERvIHJlYWwgUFhFLCByYXRoZXIgdGhhbiBqdXN0IGJv b3RpbmcgYSBzaW5nbGUgZmlsZSwgdGhpcyBpcyBhbgo+ID4gLSMgYWx0ZXJuYXRpdmUgdG8gZGhj cC1ib290Lgo+ID4gLSNweGUtcHJvbXB0PSJXaGF0IHN5c3RlbSBzaGFsbCBJIG5ldGJvb3Q/Igo+ ID4gLSMgb3Igd2l0aCB0aW1lb3V0IGJlZm9yZSBmaXJzdCBhdmFpbGFibGUgYWN0aW9uIGlzIHRh a2VuOgo+ID4gLSNweGUtcHJvbXB0PSJQcmVzcyBGOCBmb3IgbWVudS4iLCA2MAo+ID4gLQo+ID4g LSMgQXZhaWxhYmxlIGJvb3Qgc2VydmljZXMuIGZvciBQWEUuCj4gPiAtI3B4ZS1zZXJ2aWNlPXg4 NlBDLCAiQm9vdCBmcm9tIGxvY2FsIGRpc2siCj4gPiAtCj4gPiAtIyBMb2FkcyA8dGZ0cC1yb290 Pi9weGVsaW51eC4wIGZyb20gZG5zbWFzcSBURlRQIHNlcnZlci4KPiA+IC0jcHhlLXNlcnZpY2U9 eDg2UEMsICJJbnN0YWxsIExpbnV4IiwgcHhlbGludXgKPiA+IC0KPiA+IC0jIExvYWRzIDx0ZnRw LXJvb3Q+L3B4ZWxpbnV4LjAgZnJvbSBURlRQIHNlcnZlciBhdCAxLjIuMy40Lgo+ID4gLSMgQmV3 YXJlIHRoaXMgZmFpbHMgb24gb2xkIFBYRSBST01TLgo+ID4gLSNweGUtc2VydmljZT14ODZQQywg Ikluc3RhbGwgTGludXgiLCBweGVsaW51eCwgMS4yLjMuNAo+ID4gLQo+ID4gLSMgVXNlIGJvb3Rz ZXJ2ZXIgb24gbmV0d29yaywgZm91bmQgbXkgbXVsdGljYXN0IG9yIGJyb2FkY2FzdC4KPiA+IC0j cHhlLXNlcnZpY2U9eDg2UEMsICJJbnN0YWxsIHdpbmRvd3MgZnJvbSBSSVMgc2VydmVyIiwgMQo+ ID4gLQo+ID4gLSMgVXNlIGJvb3RzZXJ2ZXIgYXQgYSBrbm93biBJUCBhZGRyZXNzLgo+ID4gLSNw eGUtc2VydmljZT14ODZQQywgIkluc3RhbGwgd2luZG93cyBmcm9tIFJJUyBzZXJ2ZXIiLCAxLCAx LjIuMy40Cj4gPiAtCj4gPiAtIyBJZiB5b3UgaGF2ZSBtdWx0aWNhc3QtRlRQIGF2YWlsYWJsZSwK PiA+IC0jIGluZm9ybWF0aW9uIGZvciB0aGF0IGNhbiBiZSBwYXNzZWQgaW4gYSBzaW1pbGFyIHdh eSB1c2luZyBvcHRpb25zIDEKPiA+IC0jIHRvIDUuIFNlZSBwYWdlIDE5IG9mCj4gPiAtIyBodHRw Oi8vZG93bmxvYWQuaW50ZWwuY29tL2Rlc2lnbi9hcmNoaXZlcy93Zm0vZG93bmxvYWRzL3B4ZXNw ZWMucGRmCj4gPiAtCj4gPiAtCj4gPiAtIyBFbmFibGUgZG5zbWFzcSdzIGJ1aWx0LWluIFRGVFAg c2VydmVyCj4gPiAtI2VuYWJsZS10ZnRwCj4gPiAtCj4gPiAtIyBTZXQgdGhlIHJvb3QgZGlyZWN0 b3J5IGZvciBmaWxlcyBhdmFpbGFibGUgdmlhIEZUUC4KPiA+IC0jdGZ0cC1yb290PS92YXIvbGli L21pc2MvZnRwZAo+ID4gLQo+ID4gLSMgRG8gbm90IGFib3J0IGlmIHRoZSB0ZnRwLXJvb3QgaXMg dW5hdmFpbGFibGUKPiA+IC0jdGZ0cC1uby1mYWlsCj4gPiAtCj4gPiAtIyBNYWtlIHRoZSBURlRQ IHNlcnZlciBtb3JlIHNlY3VyZTogd2l0aCB0aGlzIHNldCwgb25seSBmaWxlcyBvd25lZCBieQo+ ID4gLSMgdGhlIHVzZXIgZG5zbWFzcSBpcyBydW5uaW5nIGFzIHdpbGwgYmUgc2VuZCBvdmVyIHRo ZSBuZXQuCj4gPiAtI3RmdHAtc2VjdXJlCj4gPiAtCj4gPiAtIyBUaGlzIG9wdGlvbiBzdG9wcyBk bnNtYXNxIGZyb20gbmVnb3RpYXRpbmcgYSBsYXJnZXIgYmxvY2tzaXplIGZvciBURlRQCj4gPiAt IyB0cmFuc2ZlcnMuIEl0IHdpbGwgc2xvdyB0aGluZ3MgZG93biwgYnV0IG1heSByZXNjdWUgc29t ZSBicm9rZW4gVEZUUAo+ID4gLSMgY2xpZW50cy4KPiA+IC0jdGZ0cC1uby1ibG9ja3NpemUKPiA+ IC0KPiA+IC0jIFNldCB0aGUgYm9vdCBmaWxlIG5hbWUgb25seSB3aGVuIHRoZSAicmVkIiB0YWcg aXMgc2V0Lgo+ID4gLSNkaGNwLWJvb3Q9dGFnOnJlZCxweGVsaW51eC5yZWQtbmV0Cj4gPiAtCj4g PiAtIyBBbiBleGFtcGxlIG9mIGRoY3AtYm9vdCB3aXRoIGFuIGV4dGVybmFsIFRGVFAgc2VydmVy OiB0aGUgbmFtZSBhbmQgSVAKPiA+IC0jIGFkZHJlc3Mgb2YgdGhlIHNlcnZlciBhcmUgZ2l2ZW4g YWZ0ZXIgdGhlIGZpbGVuYW1lLgo+ID4gLSMgQ2FuIGZhaWwgd2l0aCBvbGQgUFhFIFJPTVMuIE92 ZXJyaWRkZW4gYnkgLS1weGUtc2VydmljZS4KPiA+IC0jZGhjcC1ib290PS92YXIvbGliL21pc2Mv ZnRwZC9weGVsaW51eC4wLGJvb3Rob3N0LDE5Mi4xNjguMC4zCj4gPiAtCj4gPiAtIyBJZiB0aGVy ZSBhcmUgbXVsdGlwbGUgZXh0ZXJuYWwgdGZ0cCBzZXJ2ZXJzIGhhdmluZyBhIHNhbWUgbmFtZQo+ ID4gLSMgKHVzaW5nIC9ldGMvaG9zdHMpIHRoZW4gdGhhdCBuYW1lIGNhbiBiZSBzcGVjaWZpZWQg YXMgdGhlCj4gPiAtIyB0ZnRwX3NlcnZlcm5hbWUgKHRoZSB0aGlyZCBvcHRpb24gdG8gZGhjcC1i b290KSBhbmQgaW4gdGhhdAo+ID4gLSMgY2FzZSBkbnNtYXNxIHJlc29sdmVzIHRoaXMgbmFtZSBh bmQgcmV0dXJucyB0aGUgcmVzdWx0YW50IElQCj4gPiAtIyBhZGRyZXNzZXMgaW4gcm91bmQgcm9i aW4gZmFzaGlvbi4gVGhpcyBmYWNpbGl0eSBjYW4gYmUgdXNlZCB0bwo+ID4gLSMgbG9hZCBiYWxh bmNlIHRoZSB0ZnRwIGxvYWQgYW1vbmcgYSBzZXQgb2Ygc2VydmVycy4KPiA+IC0jZGhjcC1ib290 PS92YXIvbGliL21pc2MvZnRwZC9weGVsaW51eC4wLGJvb3Rob3N0LHRmdHBfc2VydmVyX25hbWUK PiA+IC0KPiA+IC0jIFNldCB0aGUgbGltaXQgb24gREhDUCBsZWFzZXMsIHRoZSBkZWZhdWx0IGlz IDE1MAo+ID4gLSNkaGNwLWxlYXNlLW1heD0xNTAKPiA+IC0KPiA+IC0jIFRoZSBESENQIHNlcnZl ciBuZWVkcyBzb21ld2hlcmUgb24gZGlzayB0byBrZWVwIGl0cyBsZWFzZSBkYXRhYmFzZS4KPiA+ IC0jIFRoaXMgZGVmYXVsdHMgdG8gYSBzYW5lIGxvY2F0aW9uLCBidXQgaWYgeW91IHdhbnQgdG8g Y2hhbmdlIGl0LCB1c2UKPiA+IC0jIHRoZSBsaW5lIGJlbG93Lgo+ID4gLSNkaGNwLWxlYXNlZmls ZT0vdmFyL2xpYi9taXNjL2Ruc21hc3EubGVhc2VzCj4gPiAtCj4gPiAtIyBTZXQgdGhlIERIQ1Ag c2VydmVyIHRvIGF1dGhvcml0YXRpdmUgbW9kZS4gSW4gdGhpcyBtb2RlIGl0IHdpbGwgYmFyZ2Ug aW4KPiA+IC0jIGFuZCB0YWtlIG92ZXIgdGhlIGxlYXNlIGZvciBhbnkgY2xpZW50IHdoaWNoIGJy b2FkY2FzdHMgb24gdGhlIG5ldHdvcmssCj4gPiAtIyB3aGV0aGVyIGl0IGhhcyBhIHJlY29yZCBv ZiB0aGUgbGVhc2Ugb3Igbm90LiBUaGlzIGF2b2lkcyBsb25nIHRpbWVvdXRzCj4gPiAtIyB3aGVu IGEgbWFjaGluZSB3YWtlcyB1cCBvbiBhIG5ldyBuZXR3b3JrLiBETyBOT1QgZW5hYmxlIHRoaXMg aWYgdGhlcmUncwo+ID4gLSMgdGhlIHNsaWdodGVzdCBjaGFuY2UgdGhhdCB5b3UgbWlnaHQgZW5k IHVwIGFjY2lkZW50YWxseSBjb25maWd1cmluZyBhIERIQ1AKPiA+IC0jIHNlcnZlciBmb3IgeW91 ciBjYW1wdXMvY29tcGFueSBhY2NpZGVudGFsbHkuIFRoZSBJU0Mgc2VydmVyIHVzZXMKPiA+IC0j IHRoZSBzYW1lIG9wdGlvbiwgYW5kIHRoaXMgVVJMIHByb3ZpZGVzIG1vcmUgaW5mb3JtYXRpb246 Cj4gPiAtIyBodHRwOi8vd3d3LmlzYy5vcmcvZmlsZXMvYXV0aC5odG1sCj4gPiAtI2RoY3AtYXV0 aG9yaXRhdGl2ZQo+ID4gLQo+ID4gLSMgU2V0IHRoZSBESENQIHNlcnZlciB0byBlbmFibGUgREhD UHY0IFJhcGlkIENvbW1pdCBPcHRpb24gcGVyIFJGQyA0MDM5Lgo+ID4gLSMgSW4gdGhpcyBtb2Rl IGl0IHdpbGwgcmVzcG9uZCB0byBhIERIQ1BESVNDT1ZFUiBtZXNzYWdlIGluY2x1ZGluZyBhIFJh cGlkIENvbW1pdAo+ID4gLSMgb3B0aW9uIHdpdGggYSBESENQQUNLIGluY2x1ZGluZyBhIFJhcGlk IENvbW1pdCBvcHRpb24gYW5kIGZ1bGx5IGNvbW1pdHRlZCBhZGRyZXNzCj4gPiAtIyBhbmQgY29u ZmlndXJhdGlvbiBpbmZvcm1hdGlvbi4gVGhpcyBtdXN0IG9ubHkgYmUgZW5hYmxlZCBpZiBlaXRo ZXIgdGhlIHNlcnZlciBpcwo+ID4gLSMgdGhlIG9ubHkgc2VydmVyIGZvciB0aGUgc3VibmV0LCBv ciBtdWx0aXBsZSBzZXJ2ZXJzIGFyZSBwcmVzZW50IGFuZCB0aGV5IGVhY2gKPiA+IC0jIGNvbW1p dCBhIGJpbmRpbmcgZm9yIGFsbCBjbGllbnRzLgo+ID4gLSNkaGNwLXJhcGlkLWNvbW1pdAo+ID4g LQo+ID4gLSMgUnVuIGFuIGV4ZWN1dGFibGUgd2hlbiBhIERIQ1AgbGVhc2UgaXMgY3JlYXRlZCBv ciBkZXN0cm95ZWQuCj4gPiAtIyBUaGUgYXJndW1lbnRzIHNlbnQgdG8gdGhlIHNjcmlwdCBhcmUg ImFkZCIgb3IgImRlbCIsCj4gPiAtIyB0aGVuIHRoZSBNQUMgYWRkcmVzcywgdGhlIElQIGFkZHJl c3MgYW5kIGZpbmFsbHkgdGhlIGhvc3RuYW1lCj4gPiAtIyBpZiB0aGVyZSBpcyBvbmUuCj4gPiAt I2RoY3Atc2NyaXB0PS9iaW4vZWNobwo+ID4gLQo+ID4gLSMgU2V0IHRoZSBjYWNoZXNpemUgaGVy ZS4KPiA+IC0jY2FjaGUtc2l6ZT0xNTAKPiA+IC0KPiA+IC0jIElmIHlvdSB3YW50IHRvIGRpc2Fi bGUgbmVnYXRpdmUgY2FjaGluZywgdW5jb21tZW50IHRoaXMuCj4gPiAtI25vLW5lZ2NhY2hlCj4g PiAtCj4gPiAtIyBOb3JtYWxseSByZXNwb25zZXMgd2hpY2ggY29tZSBmcm9tIC9ldGMvaG9zdHMg YW5kIHRoZSBESENQIGxlYXNlCj4gPiAtIyBmaWxlIGhhdmUgVGltZS1Uby1MaXZlIHNldCBhcyB6 ZXJvLCB3aGljaCBjb252ZW50aW9uYWxseSBtZWFucwo+ID4gLSMgZG8gbm90IGNhY2hlIGZ1cnRo ZXIuIElmIHlvdSBhcmUgaGFwcHkgdG8gdHJhZGUgbG93ZXIgbG9hZCBvbiB0aGUKPiA+IC0jIHNl cnZlciBmb3IgcG90ZW50aWFsbHkgc3RhbGUgZGF0ZSwgeW91IGNhbiBzZXQgYSB0aW1lLXRvLWxp dmUgKGluCj4gPiAtIyBzZWNvbmRzKSBoZXJlLgo+ID4gLSNsb2NhbC10dGw9Cj4gPiAtCj4gPiAt IyBJZiB5b3Ugd2FudCBkbnNtYXNxIHRvIGRldGVjdCBhdHRlbXB0cyBieSBWZXJpc2lnbiB0byBz ZW5kIHF1ZXJpZXMKPiA+IC0jIHRvIHVucmVnaXN0ZXJlZCAuY29tIGFuZCAubmV0IGhvc3RzIHRv IGl0cyBzaXRlZmluZGVyIHNlcnZpY2UgYW5kCj4gPiAtIyBoYXZlIGRuc21hc3EgaW5zdGVhZCBy ZXR1cm4gdGhlIGNvcnJlY3QgTlhET01BSU4gcmVzcG9uc2UsIHVuY29tbWVudAo+ID4gLSMgdGhp cyBsaW5lLiBZb3UgY2FuIGFkZCBzaW1pbGFyIGxpbmVzIHRvIGRvIHRoZSBzYW1lIGZvciBvdGhl cgo+ID4gLSMgcmVnaXN0cmllcyB3aGljaCBoYXZlIGltcGxlbWVudGVkIHdpbGRjYXJkIEEgcmVj b3Jkcy4KPiA+IC0jYm9ndXMtbnhkb21haW49NjQuOTQuMTEwLjExCj4gPiAtCj4gPiAtIyBJZiB5 b3Ugd2FudCB0byBmaXggdXAgRE5TIHJlc3VsdHMgZnJvbSB1cHN0cmVhbSBzZXJ2ZXJzLCB1c2Ug dGhlCj4gPiAtIyBhbGlhcyBvcHRpb24uIFRoaXMgb25seSB3b3JrcyBmb3IgSVB2NC4KPiA+IC0j IFRoaXMgYWxpYXMgbWFrZXMgYSByZXN1bHQgb2YgMS4yLjMuNCBhcHBlYXIgYXMgNS42LjcuOAo+ ID4gLSNhbGlhcz0xLjIuMy40LDUuNi43LjgKPiA+IC0jIGFuZCB0aGlzIG1hcHMgMS4yLjMueCB0 byA1LjYuNy54Cj4gPiAtI2FsaWFzPTEuMi4zLjAsNS42LjcuMCwyNTUuMjU1LjI1NS4wCj4gPiAt IyBhbmQgdGhpcyBtYXBzIDE5Mi4xNjguMC4xMC0+MTkyLjE2OC4wLjQwIHRvIDEwLjAuMC4xMC0+ MTAuMC4wLjQwCj4gPiAtI2FsaWFzPTE5Mi4xNjguMC4xMC0xOTIuMTY4LjAuNDAsMTAuMC4wLjAs MjU1LjI1NS4yNTUuMAo+ID4gLQo+ID4gLSMgQ2hhbmdlIHRoZXNlIGxpbmVzIGlmIHlvdSB3YW50 IGRuc21hc3EgdG8gc2VydmUgTVggcmVjb3Jkcy4KPiA+IC0KPiA+IC0jIFJldHVybiBhbiBNWCBy ZWNvcmQgbmFtZWQgIm1haWxkb21haW4uY29tIiB3aXRoIHRhcmdldAo+ID4gLSMgc2VydmVybWFj aGluZS5jb20gYW5kIHByZWZlcmVuY2UgNTAKPiA+IC0jbXgtaG9zdD1tYWlsZG9tYWluLmNvbSxz ZXJ2ZXJtYWNoaW5lLmNvbSw1MAo+ID4gLQo+ID4gLSMgU2V0IHRoZSBkZWZhdWx0IHRhcmdldCBm b3IgTVggcmVjb3JkcyBjcmVhdGVkIHVzaW5nIHRoZSBsb2NhbG14IG9wdGlvbi4KPiA+IC0jbXgt dGFyZ2V0PXNlcnZlcm1hY2hpbmUuY29tCj4gPiAtCj4gPiAtIyBSZXR1cm4gYW4gTVggcmVjb3Jk IHBvaW50aW5nIHRvIHRoZSBteC10YXJnZXQgZm9yIGFsbCBsb2NhbAo+ID4gLSMgbWFjaGluZXMu Cj4gPiAtI2xvY2FsbXgKPiA+IC0KPiA+IC0jIFJldHVybiBhbiBNWCByZWNvcmQgcG9pbnRpbmcg dG8gaXRzZWxmIGZvciBhbGwgbG9jYWwgbWFjaGluZXMuCj4gPiAtI3NlbGZteAo+ID4gLQo+ID4g LSMgQ2hhbmdlIHRoZSBmb2xsb3dpbmcgbGluZXMgaWYgeW91IHdhbnQgZG5zbWFzcSB0byBzZXJ2 ZSBTUlYKPiA+IC0jIHJlY29yZHMuICBUaGVzZSBhcmUgdXNlZnVsIGlmIHlvdSB3YW50IHRvIHNl cnZlIGxkYXAgcmVxdWVzdHMgZm9yCj4gPiAtIyBBY3RpdmUgRGlyZWN0b3J5IGFuZCBvdGhlciB3 aW5kb3dzLW9yaWdpbmF0ZWQgRE5TIHJlcXVlc3RzLgo+ID4gLSMgU2VlIFJGQyAyNzgyLgo+ID4g LSMgWW91IG1heSBhZGQgbXVsdGlwbGUgc3J2LWhvc3QgbGluZXMuCj4gPiAtIyBUaGUgZmllbGRz IGFyZSA8bmFtZT4sPHRhcmdldD4sPHBvcnQ+LDxwcmlvcml0eT4sPHdlaWdodD4KPiA+IC0jIElm IHRoZSBkb21haW4gcGFydCBpZiBtaXNzaW5nIGZyb20gdGhlIG5hbWUgKHNvIHRoYXQgaXMganVz dCBoYXMgdGhlCj4gPiAtIyBzZXJ2aWNlIGFuZCBwcm90b2NvbCBzZWN0aW9ucykgdGhlbiB0aGUg ZG9tYWluIGdpdmVuIGJ5IHRoZSBkb21haW49Cj4gPiAtIyBjb25maWcgb3B0aW9uIGlzIHVzZWQu IChOb3RlIHRoYXQgZXhwYW5kLWhvc3RzIGRvZXMgbm90IG5lZWQgdG8gYmUKPiA+IC0jIHNldCBm b3IgdGhpcyB0byB3b3JrLikKPiA+IC0KPiA+IC0jIEEgU1JWIHJlY29yZCBzZW5kaW5nIExEQVAg Zm9yIHRoZSBleGFtcGxlLmNvbSBkb21haW4gdG8KPiA+IC0jIGxkYXBzZXJ2ZXIuZXhhbXBsZS5j b20gcG9ydCAzODkKPiA+IC0jc3J2LWhvc3Q9X2xkYXAuX3RjcC5leGFtcGxlLmNvbSxsZGFwc2Vy dmVyLmV4YW1wbGUuY29tLDM4OQo+ID4gLQo+ID4gLSMgQSBTUlYgcmVjb3JkIHNlbmRpbmcgTERB UCBmb3IgdGhlIGV4YW1wbGUuY29tIGRvbWFpbiB0bwo+ID4gLSMgbGRhcHNlcnZlci5leGFtcGxl LmNvbSBwb3J0IDM4OSAodXNpbmcgZG9tYWluPSkKPiA+IC0jZG9tYWluPWV4YW1wbGUuY29tCj4g PiAtI3Nydi1ob3N0PV9sZGFwLl90Y3AsbGRhcHNlcnZlci5leGFtcGxlLmNvbSwzODkKPiA+IC0K PiA+IC0jIFR3byBTUlYgcmVjb3JkcyBmb3IgTERBUCwgZWFjaCB3aXRoIGRpZmZlcmVudCBwcmlv cml0aWVzCj4gPiAtI3Nydi1ob3N0PV9sZGFwLl90Y3AuZXhhbXBsZS5jb20sbGRhcHNlcnZlci5l eGFtcGxlLmNvbSwzODksMQo+ID4gLSNzcnYtaG9zdD1fbGRhcC5fdGNwLmV4YW1wbGUuY29tLGxk YXBzZXJ2ZXIuZXhhbXBsZS5jb20sMzg5LDIKPiA+IC0KPiA+IC0jIEEgU1JWIHJlY29yZCBpbmRp Y2F0aW5nIHRoYXQgdGhlcmUgaXMgbm8gTERBUCBzZXJ2ZXIgZm9yIHRoZSBkb21haW4KPiA+IC0j IGV4YW1wbGUuY29tCj4gPiAtI3Nydi1ob3N0PV9sZGFwLl90Y3AuZXhhbXBsZS5jb20KPiA+IC0K PiA+IC0jIFRoZSBmb2xsb3dpbmcgbGluZSBzaG93cyBob3cgdG8gbWFrZSBkbnNtYXNxIHNlcnZl IGFuIGFyYml0cmFyeSBQVFIKPiA+IC0jIHJlY29yZC4gVGhpcyBpcyB1c2VmdWwgZm9yIEROUy1T RC4gKE5vdGUgdGhhdCB0aGUKPiA+IC0jIGRvbWFpbi1uYW1lIGV4cGFuc2lvbiBkb25lIGZvciBT UlYgcmVjb3JkcyBfZG9lc19ub3QKPiA+IC0jIG9jY3VyIGZvciBQVFIgcmVjb3Jkcy4pCj4gPiAt I3B0ci1yZWNvcmQ9X2h0dHAuX3RjcC5kbnMtc2Qtc2VydmljZXMsIk5ldyBFbXBsb3llZSBQYWdl Ll9odHRwLl90Y3AuZG5zLXNkLXNlcnZpY2VzIgo+ID4gLQo+ID4gLSMgQ2hhbmdlIHRoZSBmb2xs b3dpbmcgbGluZXMgdG8gZW5hYmxlIGRuc21hc3EgdG8gc2VydmUgVFhUIHJlY29yZHMuCj4gPiAt IyBUaGVzZSBhcmUgdXNlZCBmb3IgdGhpbmdzIGxpa2UgU1BGIGFuZCB6ZXJvY29uZi4gKE5vdGUg dGhhdCB0aGUKPiA+IC0jIGRvbWFpbi1uYW1lIGV4cGFuc2lvbiBkb25lIGZvciBTUlYgcmVjb3Jk cyBfZG9lc19ub3QKPiA+IC0jIG9jY3VyIGZvciBUWFQgcmVjb3Jkcy4pCj4gPiAtCj4gPiAtI0V4 YW1wbGUgU1BGLgo+ID4gLSN0eHQtcmVjb3JkPWV4YW1wbGUuY29tLCJ2PXNwZjEgYSAtYWxsIgo+ ID4gLQo+ID4gLSNFeGFtcGxlIHplcm9jb25mCj4gPiAtI3R4dC1yZWNvcmQ9X2h0dHAuX3RjcC5l eGFtcGxlLmNvbSxuYW1lPXZhbHVlLHBhcGVyPUE0Cj4gPiAtCj4gPiAtIyBQcm92aWRlIGFuIGFs aWFzIGZvciBhICJsb2NhbCIgRE5TIG5hbWUuIE5vdGUgdGhhdCB0aGlzIF9vbmx5XyB3b3Jrcwo+ ID4gLSMgZm9yIHRhcmdldHMgd2hpY2ggYXJlIG5hbWVzIGZyb20gREhDUCBvciAvZXRjL2hvc3Rz LiBHaXZlIGhvc3QKPiA+IC0jICJiZXJ0IiBhbm90aGVyIG5hbWUsIGJlcnRyYW5kCj4gPiAtI2Nu YW1lPWJlcnRhbmQsYmVydAo+ID4gLQo+ID4gLSMgRm9yIGRlYnVnZ2luZyBwdXJwb3NlcywgbG9n IGVhY2ggRE5TIHF1ZXJ5IGFzIGl0IHBhc3NlcyB0aHJvdWdoCj4gPiAtIyBkbnNtYXNxLgo+ID4g LSNsb2ctcXVlcmllcwo+ID4gLQo+ID4gLSMgTG9nIGxvdHMgb2YgZXh0cmEgaW5mb3JtYXRpb24g YWJvdXQgREhDUCB0cmFuc2FjdGlvbnMuCj4gPiAtI2xvZy1kaGNwCj4gPiAtCj4gPiAtIyBJbmNs dWRlIGFub3RoZXIgbG90IG9mIGNvbmZpZ3VyYXRpb24gb3B0aW9ucy4KPiA+IC0jY29uZi1maWxl PS9ldGMvZG5zbWFzcS5tb3JlLmNvbmYKPiA+IC0jY29uZi1kaXI9L2V0Yy9kbnNtYXNxLmQKPiA+ IC0KPiA+IC0jIEluY2x1ZGUgYWxsIHRoZSBmaWxlcyBpbiBhIGRpcmVjdG9yeSBleGNlcHQgdGhv c2UgZW5kaW5nIGluIC5iYWsKPiA+IC0jY29uZi1kaXI9L2V0Yy9kbnNtYXNxLmQsLmJhawo+ID4g LQo+ID4gLSMgSW5jbHVkZSBhbGwgZmlsZXMgaW4gYSBkaXJlY3Rvcnkgd2hpY2ggZW5kIGluIC5j b25mCj4gPiAtI2NvbmYtZGlyPS9ldGMvZG5zbWFzcS5kLywqLmNvbmYKPiA+IC0KPiA+IC0jIElm IGEgREhDUCBjbGllbnQgY2xhaW1zIHRoYXQgaXRzIG5hbWUgaXMgIndwYWQiLCBpZ25vcmUgdGhh dC4KPiA+IC0jIFRoaXMgZml4ZXMgYSBzZWN1cml0eSBob2xlLiBzZWUgQ0VSVCBWdWxuZXJhYmls aXR5IFZVIzU5ODM0OQo+ID4gLSNkaGNwLW5hbWUtbWF0Y2g9c2V0OndwYWQtaWdub3JlLHdwYWQK PiA+IC0jZGhjcC1pZ25vcmUtbmFtZXM9dGFnOndwYWQtaWdub3JlCj4gPiBkaWZmIC0tZ2l0IGEv cnVsZXMvZG5zbWFzcS5pbiBiL3J1bGVzL2Ruc21hc3EuaW4KPiA+IGluZGV4IGFlYzYzZGQwZi4u MGM3ZGY5YzIzIDEwMDY0NAo+ID4gLS0tIGEvcnVsZXMvZG5zbWFzcS5pbgo+ID4gKysrIGIvcnVs ZXMvZG5zbWFzcS5pbgo+ID4gQEAgLTMyLDEyICszMiwxMiBAQCBjb21tZW50ICJidWlsZCBvcHRp b25zICAgLS0tIgo+ID4gIAo+ID4gIGNvbmZpZyBETlNNQVNRX0RCVVMKPiA+ICAJYm9vbAo+ID4g LQlwcm9tcHQgImluY2x1ZGUgREJVUyBzdXBwb3J0IFtCUk9LRU5dIgo+ID4gLQlkZXBlbmRzIG9u IEJST0tFTgo+ID4gKwlwcm9tcHQgImluY2x1ZGUgREJVUyBzdXBwb3J0Igo+ID4gIAloZWxwCj4g PiAtCSAgVGhpcyBlbmFibGVzIERCVVMgc3VwcG9ydCBpbiBkbnNtYXNxLiBUaGlzIGlzIG5vdCBv bmx5IGEgYnVpbGQKPiA+IC0JICBvcHRpb24uIFlvdSBhbHNvIGhhdmUgdG8gZW5hYmxlIGl0IGF0 IHJ1bnRpbWUuIEZJWE1FOiBTaG93IGhvdywKPiA+IC0JICBzZWUgREJVUyBkb2N1bWVudCBpbiBk bnNtYXNxIHBhY2tldAo+ID4gKwkgIFRoaXMgZW5hYmxlcyBEQlVTIHN1cHBvcnQgaW4gZG5zbWFz cS4gVG8gZW5hYmxlIGl0IGF0IHJ1bnRpbWUKPiA+ICsJICAvZXRjL2Ruc21hc3EuY29uZiBuZWVk cyB0byBjb250YWluIHRoZSBsaW5lCj4gPiArCj4gPiArCSAgZW5hYmxlLWRidXMKPiA+ICAKPiA+ ICBjb25maWcgRE5TTUFTUV9URlRQCj4gPiAgCWJvb2wKPiA+IGRpZmYgLS1naXQgYS9ydWxlcy9k bnNtYXNxLm1ha2UgYi9ydWxlcy9kbnNtYXNxLm1ha2UKPiA+IGluZGV4IGJjZThkZDY1MS4uMjk3 MmY2OGEzIDEwMDY0NAo+ID4gLS0tIGEvcnVsZXMvZG5zbWFzcS5tYWtlCj4gPiArKysgYi9ydWxl cy9kbnNtYXNxLm1ha2UKPiA+IEBAIC0zOCw2ICszOCwxMCBAQCBETlNNQVNRX01BS0VfRU5WIDo9 ICQoQ1JPU1NfRU5WKQo+ID4gIAo+ID4gIEROU01BU1FfQ09QVCA6PQo+ID4gIAo+ID4gK2lmZGVm IFBUWENPTkZfRE5TTUFTUV9EQlVTCj4gPiArRE5TTUFTUV9DT1BUICs9IC1ESEFWRV9EQlVTCj4g PiArZW5kaWYKPiA+ICsKPiAKPiBUaGlzIGFkZHMgZGJ1cyBzdXBwb3J0LCBvcHRpb25hbGx5LiBG aW5lLgo+IAo+ID4gIGlmbmRlZiBQVFhDT05GX0ROU01BU1FfVEZUUAo+ID4gIEROU01BU1FfQ09Q VCArPSAtRE5PX1RGVFAKPiA+ICBlbmRpZgo+ID4gQEAgLTY4LDYgKzcyLDE3IEBAICQoU1RBVEVE SVIpL2Ruc21hc3EucHJlcGFyZToKPiA+ICAJQCQoY2FsbCB0YXJnZXRpbmZvKQo+ID4gIAlAJChj YWxsIHRvdWNoKQo+ID4gIAo+ID4gKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ID4gKyMgSW5zdGFs bAo+ID4gKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ID4gKwo+ID4gKyQoU1RBVEVESVIpL2Ruc21h c3EuaW5zdGFsbDoKPiA+ICsJQCQoY2FsbCB0YXJnZXRpbmZvKQo+ID4gKwlAJChjYWxsIHdvcmxk L2luc3RhbGwsIEROU01BU1EpCj4gPiArCUBpbnN0YWxsIC12RCAtbSA2NDQgIiQoRE5TTUFTUV9E SVIpL2Ruc21hc3EuY29uZi5leGFtcGxlIiBcCj4gPiArCQkiJChETlNNQVNRX1BLR0RJUikvZXRj L2Ruc21hc3EuY29uZiIKPiA+ICsJQCQoY2FsbCB0b3VjaCkKPiA+ICsKPiAKPiBUaGlzIGluc3Rh bGxzIHRoZSBleGFtcGxlIGZyb20gdGhlIGRuc21hc3Egc291cmNlcyBhcyBjb25maWcuIEhvdyBp cwo+IGRuc21hc3Egc3VwcG9zZWQgdG8gYmUgY29uZmlndXJlZCBub3c/IERvZXMgcHV0dGluZyB5 b3VyIG93biBjb25maWcgdG8KPiB5b3VyIEJTUCBwcm9qZWN0cm9vdCBvdmVyd3JpdGUgdGhpcz8K CkFzIHB0eGRpc3QvcHJvamVjdHJvb3QvZXRjL2Ruc21hc3EuY29uZiB3YXMgb25jZSBjb3BpZWQg ZnJvbSBkbnNtYXNxIHNvdXJjZQp0YXJiYWxsIGFuZCBhcyBpdCByZWFsbHkgZW50aXJlbHkgY29t bWVudGVkIG91dCBJIGRlY2lkZWQgdG8gcmVtb3ZlIGl0IGZyb20KcHR4ZGlzdCdzIHByb2plY3Ry b290LiBOb3cgaXQgaXMgY29waWVkIGRpcmVjdGx5IGZyb20gZG5zbWFzcSBzb3VyY2UsIHNvIGl0 CmlzIGFsd2F5cyB1cCB0byBkYXRlIC0gYWx0aG91dGggc3RpbGwgYXMgZW1wdHkgYXMgaXQgYWx3 YXlzIGJlZW4uCgpJdCBpcyBkb25lIGluIHRoaXMgdmVyeSBwYXRjaCBhcyBoZWxwIHRleHQgY2hh bmdlZCBhcyB3ZWxsLCBleHBsYWluaW5nCkJTUCBhdXRob3IgbmVlZHMgdG8gcHJvdmlkZSBzdWNo IGEgY29uZmlnIGFueXdheS4KCk9mIGNvdXJzZSBJJ20gZmluZSBzcGxpdHRpbmcgdGhlIHBhdGNo IGluIHR3byBpZiB0aGVyZSBpcyBhbiBhZ3JlZW1lbnQKdGhpcyBpcyB3YXkgdG8gZ28uIEFuIGFs dGVybmF0aXZlIHdvdWxkIGJlIHRvIHVzZSBpbnN0YWxsX3JlcGxhY2UgYW5kCktjb25maWcgZW50 cmllcywgYnV0IGdpdmVuIG51bWJlciBvZiBjb25maWcgb3B0aW9ucyBJJ20gbm90IHJlYWxseQpj b252ZW5pZW50IHdpdGggdGhpcyBpZGVhLgoKPiA+ICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiA+ ICAjIFRhcmdldC1JbnN0YWxsCj4gPiAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gPiAtLSAKPiA+ IDIuMjUuMQo+ID4gCj4gPiAKPiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCj4gPiBwdHhkaXN0IG1haWxpbmcgbGlzdAo+ID4gcHR4ZGlzdEBwZW5ndXRy b25peC5kZQo+IAo+IEFsZXgKPiAKPiAtLSAKPiAvIlwgQVNDSUkgUklCQk9OIHwgwrtXaXRoIHRo ZSBmaXJzdCBsaW5rLCB0aGUgY2hhaW4gaXMgZm9yZ2VkLiBUaGUgZmlyc3QKPiBcIC8gQ0FNUEFJ R04gICAgIHwgc3BlZWNoIGNlbnN1cmVkLCB0aGUgZmlyc3QgdGhvdWdodCBmb3JiaWRkZW4sIHRo ZQo+ICBYICBBR0FJTlNUICAgICAgfCBmaXJzdCBmcmVlZG9tIGRlbmllZCwgY2hhaW5zIHVzIGFs bCBpcnJldm9jYWJseS7Cqwo+IC8gXCBIVE1MIE1BSUwgICAgfCAoSmVhbi1MdWMgUGljYXJkLCBx dW90aW5nIEp1ZGdlIEFhcm9uIFNhdGllKQoKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpwdHhkaXN0IG1haWxpbmcgbGlzdApwdHhkaXN0QHBlbmd1dHJv bml4LmRlCg==