From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id o6vsI0nfqGZQgDYAWB0awg (envelope-from ) for ; Tue, 30 Jul 2024 08:40:41 -0400 Authentication-Results: simark.ca; dkim=pass (2048-bit key; unprotected) header.d=lists.lttng.org header.i=@lists.lttng.org header.a=rsa-sha256 header.s=default header.b=YD+2j8w5; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 843001E0D0; Tue, 30 Jul 2024 08:40:41 -0400 (EDT) Received: from lists.lttng.org (lists.lttng.org [167.114.26.123]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 638211E030 for ; Tue, 30 Jul 2024 08:40:39 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=lists.lttng.org; s=default; t=1722343238; bh=TpsiGgTFhoA01yco3/B4CQr7LFOrj/AmAZWps6wPV9Q=; h=References:In-Reply-To:Date:To:Cc:Subject:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=YD+2j8w5aet5eKN1+AtqdKhlecIHd64XBj1fqK4UtEOMTmY1WU5OFoU9PCHttrGt/ po+MaxIkBICxdsdyTOVhyj8JB4xWkPCkH9Ie9ZciNBM83HrFlIr1gh7Dgn1bElIKLp jNMCGQ0fCPUanq1ZqhhphDbjOKy1QbZAUlv5tr7AUgEQc9qM+hQ/bwZi2iq4Gqldgu TmXahSasUCeH83j9gs2JUtO6J7VJZ9ujCjXMH7vJxHe1bOYlYOMZvoGt+B0YcVemp4 X964ZI4qgQaCuBwGrxqKiAksx/2Oa6mpyPuzt+G2Sl4qOm5yHIe3qsYjPqsaHtkYaa zuP+1bbr65kPQ== Received: from lists-lttng01.efficios.com (localhost [IPv6:::1]) by lists.lttng.org (Postfix) with ESMTP id 4WYFFL4b4Qz1542; Tue, 30 Jul 2024 08:40:38 -0400 (EDT) Received: from mail-pj1-x1029.google.com (mail-pj1-x1029.google.com [IPv6:2607:f8b0:4864:20::1029]) by lists.lttng.org (Postfix) with ESMTPS id 4WYFFK20jLz15JJ for ; Tue, 30 Jul 2024 08:40:37 -0400 (EDT) Received: by mail-pj1-x1029.google.com with SMTP id 98e67ed59e1d1-2cb4c4de4cbso2807399a91.1 for ; Tue, 30 Jul 2024 05:40:37 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1722343236; x=1722948036; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=hCOxNcyG96neV0c7mU9IWo+mO7uPJ1RsPILtO0ILeBY=; b=Bi1NXYN93I3AenGa86WxOUzrqJOsS0qG3U5b/LYWQbi7TrIeLpjSBX4R7e5EXdW943 NJSyTBWI7Msq5NdyV6Rxe5jfMnEj+hpgwdv6Gsw45K1HJ8h6dDLOZYCIi01KoV19lmDu Wi+TniqmGWLrcyV40hr4u74J9REN/qj7OjmCmAVWyX68fQHGCIetvGuya8Nbn6aq91P3 80wnQRyKMU7ZkHi3p4i/XmtYgelrHuE/v7NtVL5aBGMYz6ymwCzEMPlT0tVIYgb27yGJ ePJyPf5B4W1l+ofTc2aUghsraHZ0voFV5OiydIB1jeL0ejBCbFIuKf/F/FmXnyCkXGtc rgxg== X-Gm-Message-State: AOJu0YxxpyfmOUvJxPgbx4oDtLnTTgUA2BDzc47wFk5gri8H9fhPtdbL TTnEjlsjgbpMw/eDjatEEeqhj/OtKlUhvfTbRZg6W7mDntXaZJ4eZjv8pnEbhnfoHKXQH0nd6R1 T1qdAvFAvOYu2RMQhOUZPxp62Mfk= X-Google-Smtp-Source: AGHT+IGiJX6IkaQ9c4/dlk2WQlI3Vzj4n0rAssbDG0uuXu28cZMtbn8wlyL1qp3JacBHSBa0g0jNtaCy+YoPWMxVrMQ= X-Received: by 2002:a17:90a:5d14:b0:2c9:923e:faf1 with SMTP id 98e67ed59e1d1-2cf7e1c1bf4mr9494542a91.18.1722343235608; Tue, 30 Jul 2024 05:40:35 -0700 (PDT) MIME-Version: 1.0 References: <33527830-3bf3-4bc3-a53d-55eaefb74902@efficios.com> <09087915-9e15-4485-b3d3-f48b245690ec@efficios.com> <85e9d8f5-572e-4d3b-87f7-5ad7d21dfb3f@efficios.com> In-Reply-To: <85e9d8f5-572e-4d3b-87f7-5ad7d21dfb3f@efficios.com> Date: Tue, 30 Jul 2024 08:40:24 -0400 Message-ID: To: Kienan Stewart Cc: lttng-dev@lists.lttng.org, yocto@lists.yoctoproject.org Subject: Re: [lttng-dev] Using lttng-ust 2.13.6 from Yocto Kirkstone and getting weird segfault saying strlen_asimd.S can't be found. X-BeenThere: lttng-dev@lists.lttng.org X-Mailman-Version: 2.1.39 Precedence: list List-Id: LTTng development list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Brian Hutchinson via lttng-dev Reply-To: Brian Hutchinson Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: lttng-dev-bounces@lists.lttng.org Sender: "lttng-dev" T24gTW9uLCBKdWwgMjksIDIwMjQgYXQgMzowM+KAr1BNIEtpZW5hbiBTdGV3YXJ0IDxrc3Rld2Fy dEBlZmZpY2lvcy5jb20+IHdyb3RlOgo+Cj4gSGkgQnJpYW4sCj4KPiBPbiA3LzI1LzI0IDM6NTQg UE0sIEJyaWFuIEh1dGNoaW5zb24gd3JvdGU6Cj4gPiBIaSBLaWVuYW4sCj4gPgo+ID4gSSdsbCBh bnN3ZXIgeW91ciBxdWVzdGlvbnMgYmVsb3csIGJ1dCBJJ3ZlIGdvdCBxdWVzdGlvbnMgb24gd2hh dCBJIHNhdwo+ID4gYnVpbGRpbmcgYW5kIGluc3RhbGxpbmcgbHR0bmctdG9vbHMgKDIuMTMuMTMp IGFuZCBsdHRuZy11c3QgKDIuMTMuOCkuCj4gPgo+ID4gQmFzZWQgb24gdGhlIHN0cnVnZ2xlcyBJ J3ZlIGhhZCB0cnlpbmcgdG8gZ2V0IGx0dG5nIHRvIHdvcmsgd2l0aCBteQo+ID4gYXBwIG92ZXIg dmFyaW91cyBZb2N0byB2ZXJzaW9ucyAoRHVuZmVsbCAmIEtpcmtzdG9uZSkgYW5kIGx0dG5nCj4g PiB2ZXJzaW9uLCBJIHRoaW5rIHRoZSBwcm9ibGVtcyBJJ20gZmFjaW5nIGFyZSBtb3N0bHkgYXJv dW5kIEMrKyBhbmQKPiA+IHdlYWsgYW5kIGhpZGRlbiBzeW1ib2xzIGluIFlvY3RvIHRvb2xjaGFp bi4KPiA+Cj4gPiBXaGVuIEkgc3RhcnRlZCBteSBhcHAgd2l0aCB0aGUgb3B0aW9ucyB5b3UgbWVu dGlvbmVkIHByZXZpb3VzbHkgYQo+ID4gd2hpbGUgYmFjaywgSWQgc2VlIHRoaW5ncyBsaWtlOgo+ ID4KPiA+ICMgTFRUTkdfVVNUX0RFQlVHPTEgTFRUTkdfVVNUX1JFR0lTVEVSX1RJTUVPVVQ9LTEg L29wdC90Yy9UcmFmZmljQ29udHJvbGxlcgo+ID4gbGlibHR0bmdfdXN0X3RyYWNlcG9pbnRbNDAx Mi80MDEyXTogWW91ciBjb21waWxlciB0cmVhdHMgd2VhayBzeW1ib2xzCj4gPiB3aXRoIGhpZGRl biB2aXNpYmlsaXR5IGZvciBpbnRlZ2VyIG9iamVjdHMgYXMgU0FNRSBhZGRyZXNzIGJldHdlZW4K PiA+IGNvbXBpbGUgdW5pdHMgcGFydCBvZiB0aGUgc2FtZSBtb2R1bGUuIChpbiBjaGVja193ZWFr X2hpZGRlbigpIGF0Cj4gPiB0cmFjZXBvaW50LmM6MTAxMikKPiA+IGxpYmx0dG5nX3VzdF90cmFj ZXBvaW50WzQwMTIvNDAxMl06IFlvdXIgY29tcGlsZXIgdHJlYXRzIHdlYWsgc3ltYm9scwo+ID4g d2l0aCBoaWRkZW4gdmlzaWJpbGl0eSBmb3IgcG9pbnRlciBvYmplY3RzIGFzIFNBTUUgYWRkcmVz cyBiZXR3ZWVuCj4gPiBjb21waWxlIHVuaXRzIHBhcnQgb2YgdGhlIHNhbWUgbW9kdWxlLiAoaW4g Y2hlY2tfd2Vha19oaWRkZW4oKSBhdAo+ID4gdHJhY2Vwb2ludC5jOjEwMTYpCj4gPiBsaWJsdHRu Z191c3RfdHJhY2Vwb2ludFs0MDEyLzQwMTJdOiBZb3VyIGNvbXBpbGVyIHRyZWF0cyB3ZWFrIHN5 bWJvbHMKPiA+IHdpdGggaGlkZGVuIHZpc2liaWxpdHkgZm9yIDI0LWJ5dGUgc3RydWN0dXJlIG9i amVjdHMgYXMgU0FNRSBhZGRyZXNzCj4gPiBiZXR3ZWVuIGNvbXBpbGUgdW5pdHMgcGFydCBvZiB0 aGUgc2FtZSBtb2R1bGUuIChpbiBjaGVja193ZWFrX2hpZGRlbigpCj4gPiBhdCB0cmFjZXBvaW50 LmM6MTAyMCkKPiA+Cj4KPiBUaGVzZSBtZXNzYWdlcyBhcmUgZXh0cmEgaW5mb3JtYXRpb24gZm9y IGRlYnVnZ2luZyBhbmQgbm90IGluZGljYXRpdmUgb2YKPiBhIHByb2JsZW0gaW4gb2YgaXRzZWxm LiBDLmYuCj4gaHR0cHM6Ly9naXRodWIuY29tL2x0dG5nL2x0dG5nLXVzdC9ibG9iLzI0ZjcxOTNj OWI5MThiZjcxNGE0MGU5ZmM5MDhlZWI0OTc4YWRhMWMvc3JjL2xpYi9sdHRuZy11c3QtdHJhY2Vw b2ludC90cmFjZXBvaW50LmMjTDEwMTAKPgo+IFRoZXJlIGlzIGEgdW5pdCB0ZXN0IHJlbGF0ZWQg dG8gdGhpczoKPiBodHRwczovL2dpdGh1Yi5jb20vbHR0bmcvbHR0bmctdXN0L2Jsb2IvMjRmNzE5 M2M5YjkxOGJmNzE0YTQwZTlmYzkwOGVlYjQ5NzhhZGExYy90ZXN0cy91bml0L2djYy13ZWFrLWhp ZGRlbi9tYWluLmMjTDc2Cj4KPgo+ID4gSSBmdXJ0aGVyIHJlc2VhcmNoZWQgdGhpcyB3aG9sZSAn d2VhayBzeW1ib2wnIGFuZCAnaGlkZGVuIHZpc2liaWxpdHknCj4gPiB0b3BpYyBpbiB0aGUgbHR0 bmctZGV2IGFyY2hpdmVzIGFuZCBpdCBzbWVsbHMgYSBsb3QgbGlrZSB3aGF0IEkndmUKPiA+IGJl ZW4gc2VlaW5nLiAgWW91IHNob3VsZCBiZSBhYmxlIHRvIG1peCBib3RoIHRyYWNlZiBhbmQgdHJh Y2Vwb2ludAo+ID4gY2FsbHMgaW4gc291Y2UgY29kZSAuLi4gYnV0IEkgY291bGQgbm90LiAgSSBj b3VsZCBnZXQgYSB0cmFjZWYgY2FsbCB0bwo+ID4gd29yayBidXQgaWYgSSBwdXQgYSB0cmFjZXBv aW50IGNhbGwgaW4gdGhlIHNhbWUgY29kZSB0aGVuIG5vdGhpbmcKPiA+IHdvdWxkIHdvcmsuICBU aGlzIHdhcyB3aXRoIER1bmZlbGwgMy4xLjcgYW5kIGVhcmxpZXIgdmVyc2lvbnMgb2YKPiA+IGx0 dG5nLgo+ID4KPiA+IEF0IG9uZSBwb2ludCBJIGNvdWxkIGdldCBhIHRyYWNlcG9pbnQgY2FsbCB0 byB3b3JrIGJ1dCBJJ2QgaGF2ZSB0byBsZXQKPiA+IG91ciBjbWFrZSBidWlsZCBzeXN0ZW0gYnVp bGQgYW5kIGxpbmsgdGhlIHRwcC5jIGZpbGUgYW5kIHRoZW4gdHVybgo+ID4gYXJvdW5kIGFuZCB1 c2UgZ2NjIHRvIHJlY29tcGlsZSBpdCBhbmQgY29weSBpdCB0byB3aGVyZSBhbGwgdGhlCj4gPiBv YmplY3RzIHdlcmUgdG8gY3JlYXRlIHRoZSBodWdlIC5hIGxpYnJhcnkgdGhlIGFwcCB3YXMgYnVp bHQgYWdhaW5zdC4KPiA+IFRoYXQncyB3aGVuIEkgZmlyc3QgbGVhcm5lZCB0aGVyZSBhcmUgaXNz dWVzIHdpdGggQysrLiAgSSB0aGluayBnKysgaXMKPiA+IHVzZWQgdG8gYnVpbGQgZXZlbiAuYyBm aWxlcyB0aGF0IGFyZW4ndCBjKysuCj4gPgo+ID4gVGhlbiBpZiBJIHRyaWVkIHRvIHB1dCBhIHRy YWNlcG9pbnQgaW4gYW5vdGhlciBzdWIgcHJvamVjdCwgbm9uZSBvZgo+ID4gdGhlIHRyYWNlcG9p bnRzIHdvdWxkIHdvcmsgYW5kIEknZCBnZXQgZW1wdHkgdHJhY2VzLiAgVGhpcyBpcyBhCj4gPiBz eW1wdG9tIG9mIHRoZSAnd2VhayBzeW1ib2xzIHdpdGggaGlkZGVuIHZpc2liaWxpdHknIGlzc3Vl IC4uLiBhbmQgSQo+ID4gZmluYWxseSBmb3VuZCBvdGhlcnMgdGhhdCB3ZXJlIGhhdmluZyBzYW1l IGlzc3VlIGluIHRoZSBhcmNoaXZlcy4gIEkKPiA+IGRvbid0IGZ1bGx5IHVuZGVyc3RhbmQgdGhl IGlzc3VlcyBoZXJlLCBhbHRob3VnaCBJIGRvIHVuZGVyc3RhbmQgc29tZQo+ID4gb2Ygd2hhdCdz IGdvaW5nIG9uIC4uLiBJIGp1c3QgZG9uJ3Qga25vdyB3aGF0IHRvIGRvIGFib3V0IGl0Lgo+ID4K Pgo+IFlvdSBzYWlkIGluaXRpYWxseSBzYWlkIHRoYXQgeW91J3JlIHVzaW5nIGBsdHRuZ191c3Rf dHJhY2Vwb2ludGAgZXhhY3RseQo+IGFzIHRoZSBoZWxsbyB3b3JsZCBmcm9tIHRoZSBkb2N1bWVu dGF0aW9uOyBob3dldmVyLCB5b3UgaGF2ZSBqdXN0Cj4gZGVzY3JpYmVkIHNldmVyYWwgYXR0ZW1w dHMgYXQgZG9pbmcgZGlmZmVyZW50IHRoaW5ncy4gV2hpY2ggY2FzZSBhcmUgd2UKPiB0cnlpbmcg dG8gdW5kZXJzdGFuZCBoZXJlPwoKbHR0bmdfdXN0X3RyYWNlcG9pbnQuICBJIG9ubHkgbWVudGlv bmVkIHByaW9yIHRlc3RzIGZvciBjb250ZXh0IHRvCnNpbWlsYXIgc3RydWdnbGVzIGZyb20gYSB5 ZWFyIG9yIG1vcmUgYWdvLgoKCj4KPiA+IEF0IHRoaXMgcG9pbnQgSSB3YXMgYmVpbmcgZW5jb3Vy YWdlZCB0byBrZWVwIHVwZ3JhZGluZyB0byBuZXdlcgo+ID4gdmVyc2lvbnMgb2YgbHR0bmcuICBP dXIgYXBwIG5ldmVyIGNoYW5nZWQsIGdjYyAmIGx0dG5nIGV0Yy4sIGtlcHQKPiA+IGNoYW5naW5n LiAgTm93IHdpdGggbmV3ZXIgdmVyc2lvbnMgbm90aGluZyBydW5zLCBhbGwgSSBnZXQgaXMgYW4K PiA+IGltbWVkaWF0ZSBzZWdmYXVsdC4gIEFnYWluLCBJJ20gYnVpbGRpbmcganVzdCBsaWtlIEkg ZGlkIGJlZm9yZSBhIHllYXIKPiA+IG9yIHNvIGFnbyB3aXRoIG9sZGVyIHZlcnNpb25zIG9mIFlv Y3RvIGFuZCBsdHRuZy4gIEkgc2F5IGFsbCBvZiB0aGF0Cj4gPiB0byBnaXZlIHBlcnNwZWN0aXZl IGFuZCBoaXN0b3J5IG9mIHdoYXQgSSd2ZSBzZWVuIGFuZCBleHBlcmllbmNlZC4KPiA+IE5vdyB0 aGlzIFRMUyB0aGluZyBoYXMgZW50ZXJlZCB0aGUgcGljdHVyZSB0b28gYW5kIHNvIGZhciBJJ3Zl IG9ubHkKPiA+IGNoYW5nZWQgbHR0bmcsIEkgZG9uJ3Qga25vdyBpZiBJIHNob3VsZCBiZSBhcHBs eWluZyBwYXRjaGVzIHRvIG15IGdjYwo+ID4gZm9yIHRoYXQgaXNzdWUuICBMaWtlIEkgc2FpZCwg SSdtIGN1cnJlbnRseSB1c2luZyBZb2N0byBLaXJrc3RvbmUKPiA+IDQuMC4xOCBhbmQgNi4xLjM4 IGtlcm5lbC4KPiA+Cj4gPiBOb3cgSSdsbCBtb3ZlIGludG8gdGhlIGFyZWEgb2YgdGhpbmdzIEkn dmUgc2VlbiBidWlsZGluZy9pbnN0YWxsaW5nCj4gPiBsdHRuZy10b29scyBhbmQgbHR0bmctdXN0 IG5hdGl2ZWx5IG9uIHRoZSB0YXJnZXQgZW52aXJvbm1lbnQgSSd2ZQo+ID4gc2V0dXAgd2hlcmUg SSBjYW4gcnVuICdtYWtlIGNoZWNrJyBldGMuICBUaGVzZSBhcmUgaW4gdGhlIGNhdGVnb3J5IG9m Cj4gPiAiaGV5LCBpcyB0aGlzIG9rLCBzaG91bGQgSSBiZSB3b3JyaWVkIGFib3V0IHRoaXMiOgo+ ID4KPiA+IFdoaWxlIGJ1aWxkaW5nIGx0dG5nLXRvb2xzIEkgc2VlIHRoaW5ncyBsaWtlOgo+ID4K PiA+ICoqKiBXYXJuaW5nOiBMaW5raW5nIHRoZSBleGVjdXRhYmxlIHVzZXJzcGFjZS1wcm9iZS1l bGYtYmluYXJ5IGFnYWluc3QKPiA+IHRoZSBsb2FkYWJsZSBtb2R1bGUKPiA+ICoqKiBsaWJmb28u c28gaXMgbm90IHBvcnRhYmxlIQo+ID4KPgo+IFRoZSBsaWJyYXJ5IGlzIGZvciBhIHRlc3QgcHJv Z3JhbS4gTXkgdW5kZXJzdGFuZGluZyBpcyB0aGF0IHRoZSBsaWJyYXJ5Cj4gaXMgY29tcGlsZWQg dGhhdCB3YXkgdG8gZm9yY2UgYSBzdHJpcHBlZCBzaGFyZWQgb2JqZWN0IHRvIGJlIHByb2R1Y2Vk IGluCj4gb3JkZXIgdG8gdmFsaWRhdGUgdGhhdCBzeW1ib2wgbG9va3VwcyBpbiBsaWJyYXJpZXMg d2l0aCBubyBzeW10YWIKPiBmdW5jdGlvbiBhcyBleHBlY3RlZCBieSB1c2luZyB0aGUgZHluc3lt IHRhYmxlLgo+Cj4gQy5mLgo+IGh0dHBzOi8vZ2l0aHViLmNvbS9sdHRuZy9sdHRuZy10b29scy9j b21taXQvZWYzZGZlNWQzMWM4OGZiNTQ4MTg5YTY0NDFhYWY4YjJhZmMwYmQ0Ygo+Cj4gPiBJbiBm aWxlIGluY2x1ZGVkIGZyb20gLi4vLi4vLi4vc3JjL2NvbW1vbi9tYWNyb3MuaDoxNSwKPiA+ICAg ICAgICAgICAgICAgICAgZnJvbSAuLi8uLi8uLi9pbmNsdWRlL2x0dG5nL2hlYWx0aC1pbnRlcm5h bC5oOjE5LAo+ID4gICAgICAgICAgICAgICAgICBmcm9tIGx0dG5nLWN0bC1oZWFsdGguYzoxOToK PiA+IEluIGZ1bmN0aW9uICdsdHRuZ19zdHJubGVuJywKPiA+ICAgICBpbmxpbmVkIGZyb20gJ2x0 dG5nX3N0cm5jcHknIGF0IC4uLy4uLy4uL3NyYy9jb21tb24vbWFjcm9zLmg6MTI4OjYsCj4gPiAg ICAgaW5saW5lZCBmcm9tICdzZXRfaGVhbHRoX3NvY2tldF9wYXRoJyBhdCBsdHRuZy1jdGwtaGVh bHRoLmM6MTQ2OjksCj4gPiAgICAgaW5saW5lZCBmcm9tICdsdHRuZ19oZWFsdGhfcXVlcnknIGF0 IGx0dG5nLWN0bC1oZWFsdGguYzoyNjQ6ODoKPiA+IC4uLy4uLy4uL3NyYy9jb21tb24vY29tcGF0 L3N0cmluZy5oOjE5OjE2OiB3YXJuaW5nOiAnc3RybmxlbicKPiA+IHNwZWNpZmllZCBib3VuZCA0 MDk2IG1heSBleGNlZWQgc291cmNlIHNpemUgMzcgWy1Xc3RyaW5nb3Atb3ZlcnJlYWRdCj4gPiAg ICAxOSB8ICAgICAgICAgcmV0dXJuIHN0cm5sZW4oc3RyLCBtYXgpOwo+ID4gICAgICAgfCAgICAg ICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fgo+ID4gbHR0bmctY3RsLWhlYWx0aC5jOiBBdCB0 b3AgbGV2ZWw6Cj4gPiBjYzE6IG5vdGU6IHVucmVjb2duaXplZCBjb21tYW5kLWxpbmUgb3B0aW9u Cj4gPiAnLVduby1pbmNvbXBsZXRlLXNldGptcC1kZWNsYXJhdGlvbicgbWF5IGhhdmUgYmVlbiBp bnRlbmRlZCB0byBzaWxlbmNlCj4gPiBlYXJsaWVyIGRpYWdub3N0aWNzCj4KPiBUaGlzIHdhcm5p bmcgaXMgYWRkcmVzc2VkIGluCj4gaHR0cHM6Ly9naXRodWIuY29tL2x0dG5nL2x0dG5nLXRvb2xz L2NvbW1pdC9iMjVhNTk5MTYxMDZlNTA1NWJlNTE2ZjYxZjE4M2E0OGY0NTliMGIzCj4KPiA+ICoq IFdhcm5pbmc6IExpbmtpbmcgdGhlIHNoYXJlZCBsaWJyYXJ5IGxpYmJhci5sYSBhZ2FpbnN0IHRo ZSBsb2FkYWJsZSBtb2R1bGUKPiA+ICoqKiBsaWJ6enouc28gaXMgbm90IHBvcnRhYmxlIQo+ID4K PiA+ICoqKiBXYXJuaW5nOiBMaW5raW5nIHRoZSBzaGFyZWQgbGlicmFyeSBsaWJmb28ubGEgYWdh aW5zdCB0aGUgbG9hZGFibGUgbW9kdWxlCj4gPiAqKiogbGliYmFyLnNvIGlzIG5vdCBwb3J0YWJs ZSEKPiA+Cj4gPiBXaGlsZSBpbnN0YWxsaW5nIGx0dG5nLXRvb2xzIEkgc2VlIHRoaW5ncyBsaWtl IHRoaXM6Cj4gPgo+ID4gbWFrZVs0XTogRW50ZXJpbmcgZGlyZWN0b3J5ICcvb3B0L2x0dG5nL2x0 dG5nLXRvb2xzLTIuMTMuMTMvc3JjL2xpYi9sdHRuZy1jdGwnCj4gPiAgIENDICAgICAgIGx0dG5n LWN0bC5sbwo+ID4gICBDQyAgICAgICBzbmFwc2hvdC5sbwo+ID4gICBDQyAgICAgICBsdHRuZy1j dGwtaGVhbHRoLmxvCj4gPiBJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vLi4vLi4vc3JjL2NvbW1v bi9tYWNyb3MuaDoxNSwKPiA+ICAgICAgICAgICAgICAgICAgZnJvbSAuLi8uLi8uLi9pbmNsdWRl L2x0dG5nL2hlYWx0aC1pbnRlcm5hbC5oOjE5LAo+ID4gICAgICAgICAgICAgICAgICBmcm9tIGx0 dG5nLWN0bC1oZWFsdGguYzoxOToKPiA+IEluIGZ1bmN0aW9uICdsdHRuZ19zdHJubGVuJywKPiA+ ICAgICBpbmxpbmVkIGZyb20gJ2x0dG5nX3N0cm5jcHknIGF0IC4uLy4uLy4uL3NyYy9jb21tb24v bWFjcm9zLmg6MTI4OjYsCj4gPiAgICAgaW5saW5lZCBmcm9tICdzZXRfaGVhbHRoX3NvY2tldF9w YXRoJyBhdCBsdHRuZy1jdGwtaGVhbHRoLmM6MTQ2OjksCj4gPiAgICAgaW5saW5lZCBmcm9tICds dHRuZ19oZWFsdGhfcXVlcnknIGF0IGx0dG5nLWN0bC1oZWFsdGguYzoyNjQ6ODoKPiA+IC4uLy4u Ly4uL3NyYy9jb21tb24vY29tcGF0L3N0cmluZy5oOjE5OjE2OiB3YXJuaW5nOiAnc3RybmxlbicK PiA+IHNwZWNpZmllZCBib3VuZCA0MDk2IG1heSBleGNlZWQgc291cmNlIHNpemUgMzcgWy1Xc3Ry aW5nb3Atb3ZlcnJlYWRdCj4gPiAgICAxOSB8ICAgICAgICAgcmV0dXJuIHN0cm5sZW4oc3RyLCBt YXgpOwo+ID4gICAgICAgfCAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fgo+ID4gbHR0 bmctY3RsLWhlYWx0aC5jOiBBdCB0b3AgbGV2ZWw6Cj4gPiBjYzE6IG5vdGU6IHVucmVjb2duaXpl ZCBjb21tYW5kLWxpbmUgb3B0aW9uCj4gPiAnLVduby1pbmNvbXBsZXRlLXNldGptcC1kZWNsYXJh dGlvbicgbWF5IGhhdmUgYmVlbiBpbnRlbmRlZCB0byBzaWxlbmNlCj4gPiBlYXJsaWVyIGRpYWdu b3N0aWNzCj4gPgo+ID4gTWFraW5nIGluc3RhbGwgaW4gdHJpZ2dlci1jb25kaXRpb24tZXZlbnQt bWF0Y2hlcwo+ID4gbWFrZVsyXTogRW50ZXJpbmcgZGlyZWN0b3J5Cj4gPiAnL29wdC9sdHRuZy9s dHRuZy10b29scy0yLjEzLjEzL2RvYy9leGFtcGxlcy90cmlnZ2VyLWNvbmRpdGlvbi1ldmVudC1t YXRjaGVzJwo+ID4gICBDQyAgICAgICBpbnN0cnVtZW50ZWQtYXBwLm8KPiA+ICAgQ0MgICAgICAg dHJhY2Vwb2ludC10cmlnZ2VyLWV4YW1wbGUubwo+ID4gICBBUiAgICAgICBsaWJ0cmFjZXBvaW50 LXRyaWdnZXItZXhhbXBsZS5hCj4gPiBhcjogYHUnIG1vZGlmaWVyIGlnbm9yZWQgc2luY2UgYEQn IGlzIHRoZSBkZWZhdWx0IChzZWUgYFUnKQo+ID4KPiA+IFdoaWxlIGJ1aWxkaW5nIGx0dG5nLXVz dCBJIHNlZSB0aGluZ3MgbGlrZToKPiA+Cj4gPiBNYWtpbmcgYWxsIGluIHV0aWxzCj4gPiBtYWtl WzJdOiBFbnRlcmluZyBkaXJlY3RvcnkKPiA+ICcvaG9tZS9pYWRtaW4vbHR0bmctdXN0L2x0dG5n LXVzdC0yLjEzLjgvdGVzdHMvdXRpbHMnCj4gPiAgIENDICAgICAgIHRhcC5vCj4gPiAgIEFSICAg ICAgIGxpYnRhcC5hCj4gPiBhcjogYHUnIG1vZGlmaWVyIGlnbm9yZWQgc2luY2UgYEQnIGlzIHRo ZSBkZWZhdWx0IChzZWUgYFUnKQo+ID4KPgo+IFdoaWxlIGxpYnRvb2wgbm93IHVzZXMgYGNyYCBi eSBkZWZhdWx0LCBhdXRvbWFrZSBzdGlsbCBkZWZpbmVzIHRoZQo+IGRlZmF1bHQgdG8gYGNydWAg d2hpY2ggaXMgd2hhdCBlbmRzIHVwIGdldHRpbmcgdXNlZCBpbiB0aGUgZXhhbXBsZS4KPiBTaW5j ZSBtYW55IGRpc3Ryb3MgaGF2ZSBjaGFuZ2VkIHRoZSBjb25maWd1cmF0aW9uIG9mIGFyIHN1Y2gg dGhhdCAnRCcgaXMKPiB0aGUgZGVmYXVsdCByYXRoZXIgdGhhbiB0aGUgcHJldmlvdXMgYmVoYXZp b3VyICdVJywgJ3UnIGlzIHJlZHVuZGFudC4KPgo+IFRoZSBiZWhhdmlvdXIgaW4gYXV0b21ha2Ug aGFzIGJlZW4gY2hhbmdlZCBpbiBhdXRvbWFrZSAxLjE2LjkwKy4KPgo+IEMuZi4KPiBodHRwczov L2dpdGh1Yi5jb20vYXV0b3Rvb2xzLW1pcnJvci9saWJ0b29sL2NvbW1pdC80MTgxMjliYzYzYWZj MzEyNzAxZTg0Y2I4YWZhNWNhNDEzZGYxYWI1Cj4KPiBDLmYuCj4gaHR0cDovL2dpdC5zYXZhbm5h aC5nbnUub3JnL2NnaXQvYXV0b21ha2UuZ2l0L2NvbW1pdC8/aWQ9OGNkYmRkYTVhZWM2NTJjMzU2 ZmU2ZGJiYTk2ODEwMjAyMTc2YWU3NQo+Cj4gPiAqKiogV2FybmluZzogTGlua2luZyB0aGUgc2hh cmVkIGxpYnJhcnkgbGliemVyby5sYSBhZ2FpbnN0IHRoZQo+ID4gbG9hZGFibGUgbW9kdWxlCj4g PiAqKiogbGliZmFrZXVzdDAuc28gaXMgbm90IHBvcnRhYmxlIQo+ID4gICBDQ0xEICAgICBhcHBf bm91c3RfaW5kaXJlY3RfYWJpMAo+ID4KPiA+ICoqKiBXYXJuaW5nOiBMaW5raW5nIHRoZSBleGVj dXRhYmxlIGFwcF9ub3VzdF9pbmRpcmVjdF9hYmkwIGFnYWluc3QKPiA+IHRoZSBsb2FkYWJsZSBt b2R1bGUKPiA+ICoqKiBsaWJ6ZXJvLnNvIGlzIG5vdCBwb3J0YWJsZSEKPiA+ICAgQ0MgICAgICAg YXBwX25vdXN0X2luZGlyZWN0X2FiaTBfYWJpMS1hcHBfbm91c3Qubwo+ID4gICBDQyAgICAgICBs aWJvbmUubG8KPiA+ICAgQ0NMRCAgICAgbGlib25lLmxhCj4gPiAgIENDTEQgICAgIGFwcF9ub3Vz dF9pbmRpcmVjdF9hYmkwX2FiaTEKPiA+Cj4gPiAqKiogV2FybmluZzogTGlua2luZyB0aGUgZXhl Y3V0YWJsZSBhcHBfbm91c3RfaW5kaXJlY3RfYWJpMF9hYmkxCj4gPiBhZ2FpbnN0IHRoZSBsb2Fk YWJsZSBtb2R1bGUKPiA+ICoqKiBsaWJ6ZXJvLnNvIGlzIG5vdCBwb3J0YWJsZSEKPiA+Cj4gPiAq KiogV2FybmluZzogTGlua2luZyB0aGUgZXhlY3V0YWJsZSBhcHBfbm91c3RfaW5kaXJlY3RfYWJp MF9hYmkxCj4gPiBhZ2FpbnN0IHRoZSBsb2FkYWJsZSBtb2R1bGUKPiA+ICoqKiBsaWJvbmUuc28g aXMgbm90IHBvcnRhYmxlIQo+ID4gICBDQyAgICAgICBhcHBfbm91c3RfaW5kaXJlY3RfYWJpMS1h cHBfbm91c3Qubwo+ID4gICBDQ0xEICAgICBhcHBfbm91c3RfaW5kaXJlY3RfYWJpMQo+ID4KPiA+ ICoqKiBXYXJuaW5nOiBMaW5raW5nIHRoZSBleGVjdXRhYmxlIGFwcF9ub3VzdF9pbmRpcmVjdF9h YmkwX2FiaTEKPiA+IGFnYWluc3QgdGhlIGxvYWRhYmxlIG1vZHVsZQo+ID4gKioqIGxpYm9uZS5z byBpcyBub3QgcG9ydGFibGUhCj4gPiAgIENDICAgICAgIGFwcF9ub3VzdF9pbmRpcmVjdF9hYmkx LWFwcF9ub3VzdC5vCj4gPiAgIENDTEQgICAgIGFwcF9ub3VzdF9pbmRpcmVjdF9hYmkxCj4gPgo+ ID4gKioqIFdhcm5pbmc6IExpbmtpbmcgdGhlIGV4ZWN1dGFibGUgYXBwX25vdXN0X2luZGlyZWN0 X2FiaTEgYWdhaW5zdAo+ID4gdGhlIGxvYWRhYmxlIG1vZHVsZQo+ID4gKioqIGxpYm9uZS5zbyBp cyBub3QgcG9ydGFibGUhCj4gPiAgIENDICAgICAgIGFwcF91c3Qubwo+ID4gICBDQyAgICAgICB0 cC5vCj4gPiAgIENDTEQgICAgIGFwcF91c3QKPiA+ICAgQ0MgICAgICAgYXBwX3VzdF9kbG9wZW4u bwo+ID4gICBDQ0xEICAgICBhcHBfdXN0X2Rsb3Blbgo+ID4gICBDQyAgICAgICBhcHBfdXN0X2lu ZGlyZWN0X2FiaTAtYXBwX3VzdC5vCj4gPiAgIENDICAgICAgIGFwcF91c3RfaW5kaXJlY3RfYWJp MC10cC5vCj4gPiAgIENDTEQgICAgIGFwcF91c3RfaW5kaXJlY3RfYWJpMAo+ID4KPiA+ICoqKiBX YXJuaW5nOiBMaW5raW5nIHRoZSBleGVjdXRhYmxlIGFwcF91c3RfaW5kaXJlY3RfYWJpMCBhZ2Fp bnN0IHRoZQo+ID4gbG9hZGFibGUgbW9kdWxlCj4gPiAqKiogbGliemVyby5zbyBpcyBub3QgcG9y dGFibGUhCj4gPiAgIENDICAgICAgIGFwcF91c3RfaW5kaXJlY3RfYWJpMF9hYmkxLWFwcF91c3Qu bwo+ID4gICBDQyAgICAgICBhcHBfdXN0X2luZGlyZWN0X2FiaTBfYWJpMS10cC5vCj4gPiAgIEND TEQgICAgIGFwcF91c3RfaW5kaXJlY3RfYWJpMF9hYmkxCj4gPgo+ID4gKioqIFdhcm5pbmc6IExp bmtpbmcgdGhlIGV4ZWN1dGFibGUgYXBwX3VzdF9pbmRpcmVjdF9hYmkwX2FiaTEgYWdhaW5zdAo+ ID4gdGhlIGxvYWRhYmxlIG1vZHVsZQo+ID4gKioqIGxpYnplcm8uc28gaXMgbm90IHBvcnRhYmxl IQo+ID4KPiA+IEkgZG9uJ3Qga25vdyBpZiB0aGVzZSBhcmUgb2sgb3IgaWYgSSBzaG91bGQgYmUg d29ycmllZCBhYm91dCBhbnkgb2YgdGhhdC4KPiA+Cj4KPiBUaGVzZSBhcmUgYWxsIGZvciBkaWZm ZXJlbnQgdGVzdHMuCj4KPiA+IC4uLiBub3cgb24gdG8geW91ciBxdWVzdGlvbnMgYmVsb3cuCj4g Pgo+ID4KPiA+Cj4gPiBPbiBXZWQsIEp1bCAyNCwgMjAyNCBhdCAxMjowNOKAr1BNIEtpZW5hbiBT dGV3YXJ0IDxrc3Rld2FydEBlZmZpY2lvcy5jb20+IHdyb3RlOgo+ID4+Cj4gPj4gSGkgQnJpYW4s Cj4gPj4KPiA+PiBPbiA3LzIyLzI0IDY6MDAgUE0sIEJyaWFuIEh1dGNoaW5zb24gd3JvdGU6Cj4g Pj4+IEhpIEtpZW5hbiwKPiA+Pj4KPiA+Pj4gVG9vayBhIHdoaWxlIHRvIGdhdGhlciB5b3VyIGdy b2NlcnkgbGlzdCBidXQgSSB0aGluayBJIGhhdmUgbW9zdCBvZiBpdAo+ID4+PiBiZWxvdyA7KQo+ ID4+Cj4gPj4gdGhhbmtzIGZvciBhbGwgdGhlIGV4dHJhIGluZm8uIFJlcGxpZXMgaW5saW5lIGJl bG93LCBidXQgSSdsbCBjdXQgYSBsb3QKPiA+PiBvZiB0aGUgbG9uZyBvdXRwdXQgZm9yIHJlYWRh YmlsaXR5Lgo+ID4+Cj4gPj4gdGw7ZHIgdGhlIGVudmlyb25tZW50IGNvbnRpbnVlcyB0byBiZSB3 ZWlyZCwgYnV0IG15IHByZXNlbnQgc3VzcGljaW9uIGlzCj4gPj4gdGhhdCBzb21ldGhpbmcgaW4g ZWl0aGVyIGNvbXBpbGF0aW9uLCB0aGUgbGlua2luZyBvZiB5b3VyIGFwcCAoZWcuIHdpdGgKPiA+ PiBsZCB3aGVuIHByb2R1Y2luZyB0aGUgZXhlY3V0YWJsZSksIG9yIHNvbWUgcG9zdCBsaW5raW5n IHN0cmlwcGluZyBtaWdodAo+ID4+IGJlIGNhdXNpbmcgaXNzdWVzLgo+ID4KPiA+IEknbSBub3Qg YXdhcmUgb2YgYW55IHN0cmlwcGluZyB0aGF0J3MgZ29pbmcgb24uICBJbiBmYWN0IGV2ZXJ5dGhp bmcgaXMKPiA+IGJlaW5nIGJ1aWx0IHdpdGggZGVidWcgc3ltYm9scyBhdCB0aGUgbW9tZW50IGFu ZCBJIGV2ZW4gdHVybmVkIG9mZgo+ID4gb3B0aW1pemF0aW9uIC4uLiBldmVuIHVzZWQgdGhlIGRl YnVnIGZyaWVuZGx5IC1PIGZsYWcgdG8gc2VlIGlmIHRoYXQKPiA+IG1hZGUgYSBkaWZmZXJlbmNl Lgo+ID4KPiA+Pgo+ID4+IEkgd2lsbCBzdG9wIGRpZ2dpbmcgaW50byBmdXJ0aGVyIGh5cG90aGV0 aWNhbHMgb24gbXkgc2lkZSBhcyB0aGVyZSBpcyBubwo+ID4+IHJlcHJvZHVjZXIgZm9yIGJvdGgg dGhlIGVudmlyb25tZW50IGFuZCB0aGUgYXBwbGljYXRpb24uIElmIHlvdSBldmVyIGVuZAo+ID4+ IHVwIHdpdGggYSBtaW5pbWFsIHJlcHJvZHVjZXIgdGhhdCB5b3UgY2FuIHNoYXJlLCBJJ2QgYmUg bW9yZSB0aGFuIGhhcHB5Cj4gPj4gdG8gZXhhbWluZSBpdC4KPiA+Cj4gPiBJJ20gcGxhbm5pbmcg b24gdHJ5aW5nIHRvIG1ha2UgYSBzbWFsbCByZXByb2R1Y2VyIEkgY2FuIHNoYXJlIGJ1dCBub3Qg dGhlcmUgeWV0Lgo+ID4KPgo+IEdyZWF0ISBJIGFwcHJlY2lhdGUgdGhhdCB5b3UncmUgdGFraW5n IHRoZSB0aW1lIHRvIGRvIHNvLgo+Cj4gPj4KPiA+Pj4KPiA+Pj4gSSBtYXkgaGF2ZSBub3QgYmVl biBjbGVhci4gIE1vc3Qgb2YgdGhlIGFwcGxpY2F0aW9uIGNvbXBvbmVudHMgYXJlCj4gPj4+IHN0 YXRpY2FsbHkgbGlua2VkIGJ1dCBJIHRoaW5rIHRoZXJlIGFyZSBzb21lIHRoYXQgYXJlIGJ1aWx0 IGFzIHNoYXJlZAo+ID4+PiBvYmplY3RzICguc28ncykgc28gdGhhdCdzIHdoYXQgSSB3YXMgcmVm ZXJyaW5nIHRvLiAgSSBrbm93IHRoYXQKPiA+Pj4gbHR0bmctdXN0IGlzIGR5bmFtaWNhbGx5IGxp bmtlZCAuLi4gSSB0aGluayB0aGUgbHR0bmctdXN0IGRvY3Mgc2F5IHRoaXMKPiA+Pj4gaXMgb25s eSBvcHRpb24gYnV0IGFsc28gbWFrZXMgcmVmZXJlbmNlIHRvIHRoZSBmYWN0IHN0YXRpYyBsaW5r aW5nIHdhcwo+ID4+PiBvbmNlIHBvc3NpYmxlIChpbiBzb21lIHZlcnNpb25zIG9mIHRoZSBkb2N1 bWVudGF0aW9uKSBidXQgbm90IHN1cHBvcnRlZAo+ID4+PiBhbnltb3JlIChJIHByb2JhYmx5IGhh dmUgdGhlIGRvY3MgbWVtb3JpemVkIGJ5IG5vdyBoYSwgaGEgLi4uIEkndmUKPiA+Pj4gbG9va2Vk IGF0IG1hbnksIG1hbnkgdmVyc2lvbnMgb2YgdGhlbSkuCj4gPj4+Cj4gPj4+IEp1c3QgZm9yIGZ1 bGwgZGlzY2xvc3VyZSBteSBsZGQgbG9va3MgbGlrZToKPiA+Pj4KPiA+Pj4gICAgICAgICAgbGlu dXgtdmRzby5zby4xICgweDAwMDBmZmZmYWIxOTYwMDApCj4gPj4+ICAgICAgICAgIGxpYmZjZ2ku c28uMCA9PiAvdXNyL2xpYi9saWJmY2dpLnNvLjAgKDB4MDAwMGZmZmZhNTdmMDAwMCkKPiA+Pj4g ICAgICAgICAgbGlibHR0bmctdXN0LnNvLjEgPT4gL3Vzci9saWIvbGlibHR0bmctdXN0LnNvLjEK PiA+Pj4gKDB4MDAwMGZmZmZhNTc1MDAwMCkKPiA+Pj4gICAgICAgICAgbGlieG1sMi5zby4yID0+ IC91c3IvbGliL2xpYnhtbDIuc28uMiAoMHgwMDAwZmZmZmE1NWQwMDAwKQo+ID4+PiAgICAgICAg ICBsaWJydC5zby4xID0+IC9saWIvbGlicnQuc28uMSAoMHgwMDAwZmZmZmE1NWIwMDAwKQo+ID4+ PiAgICAgICAgICBsaWJtLnNvLjYgPT4gL2xpYi9saWJtLnNvLjYgKDB4MDAwMGZmZmZhNTUxMDAw MCkKPiA+Pj4gICAgICAgICAgbGlic3RkYysrLnNvLjYgPT4gL3Vzci9saWIvbGlic3RkYysrLnNv LjYgKDB4MDAwMGZmZmZhNTJmMDAwMCkKPiA+Pj4gICAgICAgICAgbGliZ2NjX3Muc28uMSA9PiAv bGliL2xpYmdjY19zLnNvLjEgKDB4MDAwMGZmZmZhNTJjMDAwMCkKPiA+Pj4gICAgICAgICAgbGli Yy5zby42ID0+IC9saWIvbGliYy5zby42ICgweDAwMDBmZmZmYTUxMTAwMDApCj4gPj4+ICAgICAg ICAgIC9saWIvbGQtbGludXgtYWFyY2g2NC5zby4xICgweDAwMDBmZmZmYWIxNWQwMDApCj4gPj4+ ICAgICAgICAgIGxpYmx0dG5nLXVzdC1jb21tb24uc28uMSA9Pgo+ID4+PiAvdXNyL2xvY2FsL2xp Yi9saWJsdHRuZy11c3QtY29tbW9uLnNvLjEgKDB4MDAwMGZmZmZhNTBlMDAwMCkKPiA+Pj4gICAg ICAgICAgbGlibHR0bmctdXN0LXRyYWNlcG9pbnQuc28uMSA9Pgo+ID4+PiAvdXNyL2xvY2FsL2xp Yi9saWJsdHRuZy11c3QtdHJhY2Vwb2ludC5zby4xICgweDAwMDBmZmZmYTUwYTAwMDApCj4gPj4+ ICAgICAgICAgIGxpYnB0aHJlYWQuc28uMCA9PiAvbGliL2xpYnB0aHJlYWQuc28uMCAoMHgwMDAw ZmZmZmE1MDgwMDAwKQo+ID4+PiAgICAgICAgICBsaWJ6LnNvLjEgPT4gL2xpYi9saWJ6LnNvLjEg KDB4MDAwMGZmZmZhNTA1MDAwMCkKPiA+Pj4KPiA+Pj4KPiA+Pgo+ID4+IEkgZmluZCBpdCB2ZXJ5 IHN1c3BpY2lvdXMgdGhhdCBgbGlibHR0bmctdXN0LnNvLjFgIGlzIGluIGAvdXNyL2xpYmAsCj4g Pj4gd2hpbGUgdGhlIG90aGVyIGx0dG5nLXVzdCBsaWJyYXJpZXMgYXJlIGJlaW5nIGxvYWRlZCBm cm9tIGAvdXNyL2xvY2FsL2xpYmAuCj4gPgo+ID4gU28gWW9jdG8gcHV0cyBhbGwgb2YgdGhlIGx0 dG5nIGxpYnMgaW50byAvdXNyL2xpYi4gIFdoZW4gSSBzZW50IHRoZQo+ID4gcHJldmlvdXMgaW5m byBJIHdhcyB1c2luZyBsdHRuZy10b29scyBhbmQgbW9kdWxlcyBidWlsdCBieSBZb2N0by9PRQo+ ID4gYW5kIEkgc2V0dXAgYSBuYXRpdmUgYnVpbGQgZW52aXJvbm1lbnQgb24gdGhlIHRhcmdldCBz byBJIGNvdWxkIHJ1bgo+ID4gJ21ha2UgY2hlY2snIGV0Yy4sIGFuZCB0aGF0J3Mgd2h5IHRoZXJl IHdlcmUgdGhpbmdzIGluIC91c3IvbG9jYWwvbGliCj4gPiBiZWNhdXNlIHRoYXQncyB3aGVyZSB5 b3UgZ3V5cyB3YW50IHN0dWZmIHRvIGJlLiAgU28gSSBhY3R1YWxseSBsZWZ0Cj4gPiB0aGUgbHR0 bmctdXN0IGluc3RhbGxhYmxlcyBpbiAvdXNyL2xvY2FsL2J1aWxkIGJ1dCBhbHNvIGNvcGllZCB0 aGVtIHRvCj4gPiAvdXNyL2xpYiB0byBvdmVyd3JpdGUgb2xkIFlvY3RvIHZlcnNpb25zIHRoZXJl Lgo+ID4KPgo+IEl0J3Mgbm90IHNvIG11Y2ggdGhhdCBpdCdzICJ3aGVyZSB3ZSB3YW50IGl0IHRv IGJlIi4gVGhlIGRvY3VtZW50YXRpb24KPiB1c2VzIGAvdXNyL2xvY2FsL2xpYmAgYmVjYXVzZSBg L3Vzci9sb2NhbGAgaXMgbWVhbnQgZm9yIHNvZnR3YXJlCj4gaW5zdGFsbGVkIGJ5IHRoZSBzeXNh ZG1pbiBhZG1pbmlzdHJhdG9yLCBhcyBpcyB0aGUgY2FzZSB3aGVuIGJ1aWxkaW5nIGEKPiBjdXN0 b20gdmVyc2lvbi4gYC91c3IvbGliYCBzaG91bGQgYmUgdXNlZCBieSBwYWNrYWdlcyBzaGlwcGVk IHdpdGggdGhlCj4gc3lzdGVtLgo+Cj4gQy5mLiBodHRwczovL3JlZnNwZWNzLmxpbnV4Zm91bmRh dGlvbi5vcmcvRkhTXzMuMC9maHMvY2gwNHMwOS5odG1sCj4KPiBZb3UncmUgZnJlZSB0byBkbyBh cyB5b3Ugc2VlIGZpdCwgYnV0IHdoZW4geW91IHN0YXJ0IG1peGluZyBhbmQgbWF0Y2hpbmcKPiBs aWJyYXJpZXMgYW5kIHNvbWUgYXJlIHB1dCBpbiAvdXNyL2xpYiBieSB5b3VyIHN5c3RlbSBwYWNr YWdlcyBhbmQgc29tZQo+IHlvdSBtb3ZlIHRoZXJlIG1hbnVhbGx5IEkgZmluZCBpdCBtb3JlIGRp ZmZpY3VsdCB0byBmb2xsb3cgd2hhdCBpcyBnb2luZyBvbi4KPgo+ID4+Cj4gPj4gVGhpcyBpbmZv cm1hdGlvbiBhbHNvIG1hdGNoZXMgdGhlIHN0YXRlZHVtcCBhbmQgdGhlIExEX0RFQlVHIGluZm8g ZnJvbQo+ID4+IGxhdGVyIG9uLgo+ID4+Cj4gPj4gQ291bGQgeW91IHZlcmlmeSBzb21lIG9mIHRo ZSBmb2xsb3dpbmcgaW5mb3JtYXRpb246Cj4gPj4KPiA+PiAxLiBJbiB5b3VyIGJ1aWxkIHJvb3Qg Zm9yIGx0dG5nLXVzdCwgZW51bWVyYXRlIGFsbCB0aGUgbGlibHR0bmcqc28KPiA+PiBmaWxlcy4g Rm9yIGVhY2ggc2hhcmVkIG9iamVjdCwgcnVuIGBmaWxlICRsaWJuYW1lYCBhbmQgcmVjb3JkIHRo ZSB2YWx1ZQo+ID4+IG9mIHRoZSBCdWlsZElEIGhhc2guUjVqb3cKPiA+Cj4gPiBTb3JyeSwgSSdt IG5vdCBmb2xsb3dpbmcgeW91IGhlcmUuICBUaGUgb25seSBidWlsZElEIGhhc2ggSSBjYW4gdGhp bmsKPiA+IG9mIGlzIHdpdGggJ2V1LXVuc3RyaXAgLW4nIGJ1dCB0aGF0J3Mgb24gY29yZSBmaWxl cywgbm90IGluZGl2aWR1YWwKPiA+IGxpYnMuICBBbmQgbG9va2luZyBhdCB0aGUgb3B0aW9ucyBJ IGhhdmUgZm9yICdmaWxlJyBvbiBteSB0YXJnZXQsIEkKPiA+IGRvbid0IHNlZSBhbnl0aGluZyB0 aGF0IGxvb2tzIGxpa2Ugd2hhdCB5b3UgYXJlIGFza2luZy4KPgo+IFBlcmhhcHMgSSB3YXNuJ3Qg Y2xlYXIsIHRoZSBjb21tYW5kIHRvIHJ1biBpcyByZWFsbHkganVzdCBgZmlsZWAuIEFzIGEKPiBm dWxsZXIgZXhhbXBsZToKPgo+IGBgYAo+ICQgZmlsZSAuL3NyYy9saWIvbHR0bmctdXN0LWZvcmsv LmxpYnMvbGlibHR0bmctdXN0LWZvcmsuc28uMS4wLjAKPiAuL3NyYy9saWIvbHR0bmctdXN0LWZv cmsvLmxpYnMvbGlibHR0bmctdXN0LWZvcmsuc28uMS4wLjA6IEVMRiA2NC1iaXQKPiBMU0Igc2hh cmVkIG9iamVjdCwgeDg2LTY0LCB2ZXJzaW9uIDEgKFNZU1YpLCBkeW5hbWljYWxseSBsaW5rZWQs Cj4gQnVpbGRJRFtzaGExXT1iMmI0YTBmYzQ0OWNmMzE3ZTMyYzIzZTBiYjU3ZWExYWQ3MDJiNzAy LCB3aXRoIGRlYnVnX2luZm8sCj4gbm90IHN0cmlwcGVkCgpPaywgZmVlbCBzdHVwaWQgbm93LiAg V2hlbiBJIHJhbiB0aGUgY29tbWFuZCBiZWZvcmUsIEkgdXNlZCBzaG9ydCBuYW1lCmFuZCBkaWRu J3QgZG8gaXQgb24gdGhlIGxvbmcgbmFtZSBhbmQganVzdCBnb3QgYmFjazoKCiMgZmlsZSAvdXNy L2xpYi9saWJsdHRuZy11c3Quc28KL3Vzci9saWIvbGlibHR0bmctdXN0LnNvOiBzeW1ib2xpYyBs aW5rIHRvIGxpYmx0dG5nLXVzdC5zby4xLjAuMAoKLi4uIGFuZCBpbW1lZGlhdGVseSBsb29rZWQg YXQgbWFuIHBhZ2UgdG8gdHJ5IHRvIGZpZ3VyZSBvdXQgd2hhdApzd2l0Y2ggc2hvd2VkIEJ1aWxk SUQgZXRjLiwgaGEsIGhhLgoKV2hlbiBJIGRvIGl0IG9uIGxvbmcgbmFtZSBoZXJlIGlzIHdoYXQg SSBzZWU6CgojIGZpbGUgL3Vzci9saWIvbGlibHR0bmctdXN0LWNvbW1vbi5zby4xLjAuMAovdXNy L2xpYi9saWJsdHRuZy11c3QtY29tbW9uLnNvLjEuMC4wOiBFTEYgNjQtYml0IExTQiBzaGFyZWQg b2JqZWN0LApBUk0gYWFyY2g2NCwgdmVyc2lvbiAxIChTWVNWKSwgZHluYW1pY2FsbHkgbGlua2Vk LApCdWlsZElEW3NoYTFdPWE1MGM5YTc3MTYzYjZiOTFlMWY4NGU1N2QxNjdjN2I3N2FlNzA3YTMs IHdpdGgKZGVidWdfaW5mbywgbm90IHN0cmlwcGVkCiMgZmlsZSAvdXNyL2xpYi9saWJsdHRuZy11 c3QtY3RsLnNvLjUuMC4wCi91c3IvbGliL2xpYmx0dG5nLXVzdC1jdGwuc28uNS4wLjA6IEVMRiA2 NC1iaXQgTFNCIHNoYXJlZCBvYmplY3QsIEFSTQphYXJjaDY0LCB2ZXJzaW9uIDEgKFNZU1YpLCBk eW5hbWljYWxseSBsaW5rZWQsCkJ1aWxkSURbc2hhMV09NTQ3Y2NjYWMwODcyMWVkMWM5YTdmM2M3 ZWJmMWRlODRkZGJhN2ZiYSwgd2l0aApkZWJ1Z19pbmZvLCBub3Qgc3RyaXBwZWQKIyBmaWxlIC91 c3IvbGliL2xpYmx0dG5nLXVzdC1jeWctcHJvZmlsZS1mYXN0LnNvLjEuMC4wCi91c3IvbGliL2xp Ymx0dG5nLXVzdC1jeWctcHJvZmlsZS1mYXN0LnNvLjEuMC4wOiBFTEYgNjQtYml0IExTQiBzaGFy ZWQKb2JqZWN0LCBBUk0gYWFyY2g2NCwgdmVyc2lvbiAxIChTWVNWKSwgZHluYW1pY2FsbHkgbGlu a2VkLApCdWlsZElEW3NoYTFdPWFkNWY3MWVmNWU4M2FiOWE5NzI0ODg5NzZjNDdkYjI2NWQzMzYw YjksIHdpdGgKZGVidWdfaW5mbywgbm90IHN0cmlwcGVkCiMgZmlsZSAvdXNyL2xpYi9saWJsdHRu Zy11c3QtY3lnLXByb2ZpbGUuc28uMS4wLjAKL3Vzci9saWIvbGlibHR0bmctdXN0LWN5Zy1wcm9m aWxlLnNvLjEuMC4wOiBFTEYgNjQtYml0IExTQiBzaGFyZWQKb2JqZWN0LCBBUk0gYWFyY2g2NCwg dmVyc2lvbiAxIChTWVNWKSwgZHluYW1pY2FsbHkgbGlua2VkLApCdWlsZElEW3NoYTFdPWMyYzI0 NmMxOTczYmQzMjQxYWE0ZjcyMjlmY2JjYjI3ZWJlMDhlODIsIHdpdGgKZGVidWdfaW5mbywgbm90 IHN0cmlwcGVkCiMgZmlsZSAvdXNyL2xpYi9saWJsdHRuZy11c3QtZGwuc28uMS4wLjAKL3Vzci9s aWIvbGlibHR0bmctdXN0LWRsLnNvLjEuMC4wOiBFTEYgNjQtYml0IExTQiBzaGFyZWQgb2JqZWN0 LCBBUk0KYWFyY2g2NCwgdmVyc2lvbiAxIChTWVNWKSwgZHluYW1pY2FsbHkgbGlua2VkLApCdWls ZElEW3NoYTFdPTYwODJlZTg4YzkzOTQzMTliYzNhZGZmMTZiMGIzZWE5ZjhkNTQ5ZWMsIHdpdGgK ZGVidWdfaW5mbywgbm90IHN0cmlwcGVkCiMgZmlsZSAvdXNyL2xpYi9saWJsdHRuZy11c3QtZmQu c28uMS4wLjAKL3Vzci9saWIvbGlibHR0bmctdXN0LWZkLnNvLjEuMC4wOiBFTEYgNjQtYml0IExT QiBzaGFyZWQgb2JqZWN0LCBBUk0KYWFyY2g2NCwgdmVyc2lvbiAxIChTWVNWKSwgZHluYW1pY2Fs bHkgbGlua2VkLApCdWlsZElEW3NoYTFdPWEyODEzMjQ1YWY5MWFiZTk4NjE1NzcxZGZkN2Q1ZjE5 YjAzM2E0MTAsIHdpdGgKZGVidWdfaW5mbywgbm90IHN0cmlwcGVkCiMgZmlsZSAvdXNyL2xpYi9s aWJsdHRuZy11c3QtZm9yay5zby4xLjAuMAovdXNyL2xpYi9saWJsdHRuZy11c3QtZm9yay5zby4x LjAuMDogRUxGIDY0LWJpdCBMU0Igc2hhcmVkIG9iamVjdCwgQVJNCmFhcmNoNjQsIHZlcnNpb24g MSAoU1lTViksIGR5bmFtaWNhbGx5IGxpbmtlZCwKQnVpbGRJRFtzaGExXT04NmFmYTUzODA4NTAy ODczODMwYzAyMjkwZjQ3N2Q0ZmY4MDEzYWZiLCB3aXRoCmRlYnVnX2luZm8sIG5vdCBzdHJpcHBl ZAojIGZpbGUgL3Vzci9saWIvbGlibHR0bmctdXN0LWxpYmMtd3JhcHBlci5zby4xLjAuMAovdXNy L2xpYi9saWJsdHRuZy11c3QtbGliYy13cmFwcGVyLnNvLjEuMC4wOiBFTEYgNjQtYml0IExTQiBz aGFyZWQKb2JqZWN0LCBBUk0gYWFyY2g2NCwgdmVyc2lvbiAxIChTWVNWKSwgZHluYW1pY2FsbHkg bGlua2VkLApCdWlsZElEW3NoYTFdPTUyZjM5MTg3NWEzNzhiNWYyYzQ2NzQ3YTU4MDIwYjg2Y2I3 YzlhODMsIHdpdGgKZGVidWdfaW5mbywgbm90IHN0cmlwcGVkCiMgZmlsZSAvdXNyL2xpYi9saWJs dHRuZy11c3QtcHRocmVhZC13cmFwcGVyLnNvLjEuMC4wCi91c3IvbGliL2xpYmx0dG5nLXVzdC1w dGhyZWFkLXdyYXBwZXIuc28uMS4wLjA6IEVMRiA2NC1iaXQgTFNCIHNoYXJlZApvYmplY3QsIEFS TSBhYXJjaDY0LCB2ZXJzaW9uIDEgKFNZU1YpLCBkeW5hbWljYWxseSBsaW5rZWQsCkJ1aWxkSURb c2hhMV09NzEyNzIyM2E3ZThlZDY3YzY2OTdiOTVhZTFmOGFjMTA3ZGY3ZTQ3ZSwgd2l0aApkZWJ1 Z19pbmZvLCBub3Qgc3RyaXBwZWQKIyBmaWxlIC91c3IvbGliL2xpYmx0dG5nLXVzdC10cmFjZXBv aW50LnNvLjEuMC4wCi91c3IvbGliL2xpYmx0dG5nLXVzdC10cmFjZXBvaW50LnNvLjEuMC4wOiBF TEYgNjQtYml0IExTQiBzaGFyZWQKb2JqZWN0LCBBUk0gYWFyY2g2NCwgdmVyc2lvbiAxIChTWVNW KSwgZHluYW1pY2FsbHkgbGlua2VkLApCdWlsZElEW3NoYTFdPTU5NzFiNGQ4NGVjMWVmZTYxYzZk NDdjMzhlOTJkZTIwNTY5ZjBmNDksIHdpdGgKZGVidWdfaW5mbywgbm90IHN0cmlwcGVkCiMgZmls ZSAvdXNyL2xpYi9saWJsdHRuZy11c3Quc28uMS4wLjAKL3Vzci9saWIvbGlibHR0bmctdXN0LnNv LjEuMC4wOiBFTEYgNjQtYml0IExTQiBzaGFyZWQgb2JqZWN0LCBBUk0KYWFyY2g2NCwgdmVyc2lv biAxIChTWVNWKSwgZHluYW1pY2FsbHkgbGlua2VkLApCdWlsZElEW3NoYTFdPWNlNzA5N2FlOWJi ZjQyYTAyZGNjZDM4NmZkZmJkMzdlMzIyNDg1OGIsIHdpdGgKZGVidWdfaW5mbywgbm90IHN0cmlw cGVkCgoKY3V0dGluZyBzb21lIHN0dWZmIG91dCBjYXVzZSBpdCdzIGdldHRpbmcgbG9uZyBhZ2Fp bi4KCj4KPiBTb3VuZHMgbGlrZSBgbWFrZSBjaGVja2AgZm9yIGx0dG5nLXRvb2xzIHBhc3NlZCB0 aGVuPwoKQXQgZmlyc3Qgbm8uICBCdXQgSSB0aGluayB0aGlzIGlzIGJlY2F1c2UgSSBidWlsdCB0 aGUgbmV3IGx0dG5nLXRvb2xzCmluIG15IG9uIHRhcmdldCBuYXRpdmUgZW52aXJvbm1lbnQgYW5k IHJhbiBtYWtlIGNoZWNrIGFuZCBmb3Jnb3QgdG8gZG8KbWFrZSBpbnN0YWxsIGZpcnN0LCBzbyBp dCB3YXMgdXNpbmcgdGhlIG9sZGVyIHZlcnNpb24gb2YgbHR0bmctdG9vbHMuCgpTbyB0aGVuIEkg cmFuIG1ha2UgaW5zdGFsbCBvZiBsdHRuZy10b29scyBhbmQgZXZlbiBkaWQgYSBtYWtlIGNsZWFu CmFuZCByZWJ1aWxkIG9mIGx0dG5nLXVzdCBhbmQgcmUtaW5zdGFsbGVkIGl0IGFuZCByYW4gbWFr ZSBjaGVjayBvbgpib3RoIChhbmQgdGhpbmdzIGxvb2tlZCBhIGxvdCBiZXR0ZXIpIC4uLiB0aGF0 J3Mgd2hlcmUgdGhvc2Ugd2FybmluZ3MKZXRjLiwgSSBhc2tlZCB5b3UgYWJvdXQgY2FtZSBmcm9t LgoKPgo+IE15IHVuZGVyc3RhbmRpbmcgYXQgdGhpcyBwb2ludCBpcyB0aGUgdW5pdCB0ZXN0cyBh cmUgcGFzc2luZyBmb3IKPiBMVFRuZy1VU1Qgb24geW91ciBzeXN0ZW0sIGFzIGFyZSB0aGUgdW5p dCBhbmQgcmVncmVzc2lvbiB0ZXN0cyBmb3IKPiBMVFRuZy10b29scy4gVGhlIGV4YW1wbGUgcHJv Z3JhbXMgc2hpcHBlZCB3aXRoIExUVG5nLVVTVCB3b3JrIG9uIHlvdXIKPiBzeXN0ZW0sIGFzIGRv ZXMgdGhlIGV4YW1wbGUgZnJvbSB0aGUgZG9jdW1lbnRhdGlvbi4gVGhlIHN0YXRlZHVtcAo+IHRy YWNlcG9pbnRzIGxvYWRlZCBmcm9tIExUVG5nLVVTVCBhcmUgYWxzbyB3b3JraW5nIGZpbmUsIGFz IGV2aW5jZWQgYnkKPiB0aGUgcHJvZ3JhbSBsb2dzIGFuZCB0aGUgTFRUbmcgdHJhY2UgeW91IHNo YXJlZC4KPgo+IERlc3BpdGUgbXkgY29uZnVzaW9uIGFib3V0IGhvdyBleGFjdGx5IHlvdSdyZSB1 c2luZyB0aGUgYGhlbGxvIHdvcmxkYAo+IHRyYWNlcG9pbnQgaW4geW91ciBhcHBsaWNhdGlvbiAo YXMgeW91J3ZlIG5vdyBkZXNjcmliZWQgc2V2ZXJhbAo+IHZhcmlhdGlvbnMpLCB0aGUgZGlyZWN0 aW9uIHRoaXMgcG9pbnRzIHRvIGZvciBtZSBhcmUgZGV0YWlscyByZWxhdGVkIHRvCj4gaG93IHlv dSdyZSB1c2luZyBMVFRuZy1VU1QgYW5kL29yIGhvdyBhcmUgeW91ciBidWlsZGluZyBhbmQgbGlu a2luZyB5b3VyCj4gYXBwbGljYXRpb24uIFRvIGJlIGNsZWFyLCBJIGRvbid0IG1lYW4gdG8gc2F5 IHRoYXQgdGhlcmUgaXMgb3IgaXMgbm90IGFuCj4gaXNzdWUgaW4gTFRUbmctVVNULCBidXQgdG8g cG9pbnQgYXQgd2hlcmUgdG8gZXhhbWluZSBuZXh0IGluIGRldGFpbAo+IGluY2x1ZGluZyBhbmFs eXNpcyBvZiB0aGUgcHJvZHVjZWQgb2JqZWN0IGZpbGVzLgoKSSBjb21wYXJlZCB0aGUgZG9jL2V4 YW1wbGVzL2hlbGxvLXN0YXRpYy1saWIgdG8gd2hhdCBJIHBpY2tlZCBvdXQgb2YKdGhlIExUVG5n IGRvY3VtZW50YXRpb24gb24gdGhlIHdlYiBzaXRlICJRdWljayBzdGFydCIgc2VjdGlvbiBhbmQg dGhlCnRyYWNlcHJvdmlkZXIgaGVhZGRlciBmaWxlIGlzIGluY2x1ZGluZyBzdGRkZWYuaCBhbmQg bWluZSBpc24ndCBhbmQKdGhlIGRvYy9leGFtcGxlcy9oZWxsby1zdGF0aWMtbGliL2hlbGxvLmMg Y29kZSBpcyBkb2luZyBhIHNpZ2hhbmRsZXIKYW5kIG1pbmUgaXNuJ3QgZG9pbmcgYW55IG9mIHRo YXQgZWl0aGVyLiAgSSB0aGluayBJJ3ZlIHByb2JhYmx5IHBvc3RlZAppdCBiZWZvcmUgYnV0IHdp bGwgZG8gaXQgYWdhaW4uICBIZXJlIGlzIHdoYXQgSSdtIGNhbGxpbmcgbXkgImhlbGxvIi4KSXQn cyBmcm9tIHRoZSBsdHRuZyBkb2N1bWVudGF0aW9uIGJ1dCBJIGN1dCBpdCBkb3duIGV2ZW4gZnVy dGhlciBqdXN0CnRvIG1ha2Ugc3VyZSBJIGRpZG4ndCBmYXQgZmluZ2VyIHNvbWV0aGluZy4gIExp a2UgSSBzYWlkIGJlZm9yZSwgdGhlCmZ1bGwgaGVsbG8gZXhhbXBsZSBmcm9tIHRoZSBkb2N1bWVu dGF0aW9uIHdvcmtzLiAgQnV0IHdoZW4gSSBjYWxsCnByZXR0eSBtdWNoIHRoZSBzYW1lIGNvZGUg ZnJvbSBteSBhcHAgaXQgc2VnIGZhdWx0cy4KCkkgZG9uJ3Qga25vdyBpZiB0aGUgZGlmZmVyZW5j ZXMgSSBzZWUgYmV0d2VlbiBteSAiaGVsbG8iIGFuZCB0aGUKImhlbGxvLXN0YXRpYy1saWIiIG1h dHRlci4KCmhlbGxvLXRwLmg6CgojdW5kZWYgTFRUTkdfVVNUX1RSQUNFUE9JTlRfUFJPVklERVIK I2RlZmluZSBMVFROR19VU1RfVFJBQ0VQT0lOVF9QUk9WSURFUiBoZWxsb193b3JsZAoKI3VuZGVm IExUVE5HX1VTVF9UUkFDRVBPSU5UX0lOQ0xVREUKI2RlZmluZSBMVFROR19VU1RfVFJBQ0VQT0lO VF9JTkNMVURFICIuL2hlbGxvLXRwLmgiCgojaWYgIWRlZmluZWQoX0hFTExPX1RQX0gpIHx8IGRl ZmluZWQoTFRUTkdfVVNUX1RSQUNFUE9JTlRfSEVBREVSX01VTFRJX1JFQUQpCiNkZWZpbmUgX0hF TExPX1RQX0gKCiNpbmNsdWRlIDxsdHRuZy90cmFjZXBvaW50Lmg+CgpMVFROR19VU1RfVFJBQ0VQ T0lOVF9FVkVOVCgKICAgaGVsbG9fd29ybGQsCiAgIG15X2ZpcnN0X3RyYWNlcG9pbnQsCiAgIExU VE5HX1VTVF9UUF9BUkdTKAogICAgICAgaW50LCBteV9pbnRlZ2VyX2FyZwogICApLAogICBMVFRO R19VU1RfVFBfRklFTERTKAogICAgICAgbHR0bmdfdXN0X2ZpZWxkX2ludGVnZXIoaW50LCBteV9p bnRlZ2VyX2ZpZWxkLCBteV9pbnRlZ2VyX2FyZykKICAgKQopCgojZW5kaWYgLyogX0hFTExPX1RQ X0ggKi8KCiNpbmNsdWRlIDxsdHRuZy90cmFjZXBvaW50LWV2ZW50Lmg+CgpoZWxsby10cC5jOgoK I2RlZmluZSBMVFROR19VU1RfVFJBQ0VQT0lOVF9DUkVBVEVfUFJPQkVTCgojaW5jbHVkZSAiaGVs bG8tdHAuaCIKCkZyb20gbXlfYXBwOgoKI2RlZmluZSBMVFROR19VU1RfVFJBQ0VQT0lOVF9ERUZJ TkUKLy8jZGVmaW5lIExUVE5HX1VTVF9UUkFDRVBPSU5UX1BST0JFX0RZTkFNSUNfTElOS0FHRQoj aW5jbHVkZSAiaGVsbG8tdHAuaCIKCi4KLgouCmx0dG5nX3VzdF90cmFjZXBvaW50KGhlbGxvX3dv cmxkLCBteV9maXJzdF90cmFjZXBvaW50LCAyMywgImhpIHRoZXJlISIpOwoKSW4gdGhlIGFib3Zl IGNhc2UgdGhlIHRwcCBpcyBzdGF0aWMgYnV0IEkndmUgdHJpZWQgdG8gbWFrZSBpdCBhIHNoYXJl ZApvYmplY3QgdG9vICh0aHVzIHRoZSBjb21tZW50ZWQgb3V0IERZTkFNSUNfTElOS0FHRSBhYm92 ZSkgYnV0IGdldCB0aGUKc2FtZSByZXN1bHQuCgpBZ2FpbiwgSSB0aGluayB0aGUgaXNzdWUgaXMg cHJvYmFibHkgZysrIGFuZCB3ZWFrL2hpZGRlbiBzeW1ib2wKcmVsYXRlZCBhbmQgb3IgVExTIGJ1 dCB0aGF0J3MgYmFzZWQgb24gdGhlIHRvdGFsaXR5IG9mIHdoYXQgSSd2ZQpleHBlcmllbmNlZCBv dmVyIHRoZSBwYXN0IHllYXIgb3Igc28gYW5kIHNlZWluZyB0aGUKZXhwZXJpZW5jZXMvcHJvYmxl bXMgb2Ygb3RoZXJzIGluIHRoZSBsdHRuZy1kZXYgYXJjaGl2ZXMuCgpSZWdhcmRzLAoKQnJpYW4K X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbHR0bmctZGV2 IG1haWxpbmcgbGlzdApsdHRuZy1kZXZAbGlzdHMubHR0bmcub3JnCmh0dHBzOi8vbGlzdHMubHR0 bmcub3JnL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9sdHRuZy1kZXYK