From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id ECDBFC4338F for ; Fri, 23 Jul 2021 14:46:04 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id B91BA60EB6 for ; Fri, 23 Jul 2021 14:46:04 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org B91BA60EB6 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:Subject:Message-ID:Date:From: In-Reply-To:References:MIME-Version:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=8lywfGMueRMDZTFhb4Za+Fzc05+4FuNS4z0a9i1XUdc=; b=XMf4ni6roD4dvj pWsrU/2O0JKYCsFWgTGR89Nx9RcUftKovq2PcKCXUeYX4w7ZPNmCtWT3WQPsZkca4oJwkU5V8KJJN azOuW1L4/U2fEvln7zQmdgwQf95Pqmbifi8fGevpf5WwzIIqwdut2c+lowUK5Cn1ribRWboqjlejz RTLnDWqz2oVwZS8o85opG2Cu/T96aCnMrUxLu4xi0FoAAAmbg431zk7xxvlS4zwb4e3pZSs+A6NSv aQFBmhfLE/J2U6rZxd6dnGvvfYQnzxWNS+1ICTJbrn3NzbrnruedtOREpZVX9rANQmJkGdXIW8Bat VXVG7TuqDuoohToK/4JQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1m6wPL-0052Uf-80; Fri, 23 Jul 2021 14:44:11 +0000 Received: from mail-wm1-x32f.google.com ([2a00:1450:4864:20::32f]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1m6wPF-0052Tu-Tw for linux-arm-kernel@lists.infradead.org; Fri, 23 Jul 2021 14:44:08 +0000 Received: by mail-wm1-x32f.google.com with SMTP id h24-20020a1ccc180000b029022e0571d1a0so1747219wmb.5 for ; Fri, 23 Jul 2021 07:44:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=RhH+fSoJ7y6HJzcHf0g5keWYOYJcH/wQAxxkWujR00g=; b=ETGJCZ9ZW2tzMtSVIO/sgzSnIuwqfIx7AAPKb0Un0TsokdQuQs5AhguGhjn8uaeA3I 1xL6jadRxA09RyBLFlrdkPBjL4EGSxvi2/XC068c52TeL3Y7iVmRaP8IBF5VzNF9P6qQ 2MRckfWdwKJ1vFyNoNTrvpgl/XDXUP7n7CDoIg3hS3NZWCyF4dnUz7j032EE9CH11G+Y jG2NB+7JcjpQxbQ4r/WDFG590ul6Cvxs4lg8u2Z45J9LXlN81nfFKxugc0/+oK2Kl0qH 1fXj6Mk5HTElhyxHOAn5MTZmQS2YRz0+8Ljz7Ni0JQCnfe3Q/DcsqqFkG+t37j7F8vUA 1BBg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=RhH+fSoJ7y6HJzcHf0g5keWYOYJcH/wQAxxkWujR00g=; b=bwfa1V+235nxyVsag79/gfZLV+LB3UKpGLdGXAL06e3gsUfM0GF1b05J6R/dslCGWE FiPeJ9bR6fUm6/VqqH36F06YXwNC5pNLgIQZXYPfv+oZC5njEhwVX2460h/FXR9OkJdA LxVrvx7nxy/56UV6IP15sqVvXzHanu5N35wuavzAQiGX4wdO+8tG4IaMgFT/W7BmHD6o J1APurRjDXSJ0bvjO0nIjWjvLJqIZ2UBms+ixfsjuAqDAnEnqEDyZYfUUz1xJ1oaacWX hkNpyAXlFg6D/rbWaJ8BSGVgNjCFMctjbFe/GePcsM9DISa8I1tKUlL7QKbFuf+DButh S9ug== X-Gm-Message-State: AOAM532lb0AQZj1ZsHcunZpUqHOAnCOD0tzwwtWrrIoZmFQgbUGQPHLP 6FdyOm2y5Mm5h+/98HEyqJrnEi5TwOex6gpiiLY+sg== X-Google-Smtp-Source: ABdhPJyDgh0EejDkv/VHoEXCIGbXeI1IwFGu6LTnc+YWJtz4wJDrFSVEPIteDaKfYnV+G/pBtne9PPUSC8nkxNUKHA4= X-Received: by 2002:a7b:cb93:: with SMTP id m19mr14793736wmi.131.1627051443024; Fri, 23 Jul 2021 07:44:03 -0700 (PDT) MIME-Version: 1.0 References: <20210707133003.5414-1-mike.leach@linaro.org> <20210712164413.GA1777012@p14s> <20210721174417.GB2377909@p14s> <20210722161736.GA2443981@p14s> In-Reply-To: <20210722161736.GA2443981@p14s> From: Mike Leach Date: Fri, 23 Jul 2021 15:43:52 +0100 Message-ID: Subject: Re: [PATCH v8 00/10] CoreSight configuration management; ETM strobing To: Mathieu Poirier Cc: Branislav Rankov , Alexander Shishkin , Greg Kroah-Hartman , Coresight ML , Linux Kernel Mailing List , linux-arm-kernel X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210723_074406_062785_16B8C2DE X-CRM114-Status: GOOD ( 72.82 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org SEkgTWF0aGlldSwKCk9uIFRodSwgMjIgSnVsIDIwMjEgYXQgMTc6MTcsIE1hdGhpZXUgUG9pcmll cgo8bWF0aGlldS5wb2lyaWVyQGxpbmFyby5vcmc+IHdyb3RlOgo+Cj4gT24gV2VkLCBKdWwgMjEs IDIwMjEgYXQgMTA6MzU6MDBQTSArMDEwMCwgTWlrZSBMZWFjaCB3cm90ZToKPiA+IEhJIE1hdGhp ZXUsCj4gPgo+ID4gT24gV2VkLCAyMSBKdWwgMjAyMSBhdCAxODo0NCwgTWF0aGlldSBQb2lyaWVy Cj4gPiA8bWF0aGlldS5wb2lyaWVyQGxpbmFyby5vcmc+IHdyb3RlOgo+ID4gPgo+ID4gPiBPbiBG cmksIEp1bCAxNiwgMjAyMSBhdCAxMToyNTo0N0FNICswMTAwLCBNaWtlIExlYWNoIHdyb3RlOgo+ ID4gPiA+IEhJIE1hdGhpZXUsCj4gPiA+ID4KPiA+ID4gPiBCZWxvdyBteSBjaGFuZ2Ugbm90ZXMg Zm9yIHRoZSBwYXRjaGVzIGNoYW5nZWQgYmV0d2VlbiB2NyBhbmQgdjggaW4gdGhpcyBzZXQuCj4g PiA+ID4KPiA+ID4gPiBSZWdhcmRzCj4gPiA+ID4KPiA+ID4gPiBNaWtlCj4gPiA+ID4KPiA+ID4g PiAwMDAxLCAwMDAzLCAwMDA0LCAwMDA2LCAwMDA3LCAwMDA4LCAwMDEwIC0gbm8gY2hhbmdlCj4g PiA+ID4KPiA+ID4gPiAwMDAyIC0KPiA+ID4gPiBjb3Jlc2lnaHQtc3lzY2ZnLmMKPiA+ID4gPiAg ICAgdG9wIG9mIGZpbGUgLSBtdXRleCBkZWNsYXJhdGlvbiByZW1vdmVkLgo+ID4gPiA+ICAgICBj c2NmZ19hZGRfY3NkZXZfY2ZnKCkKPiA+ID4gPiAgICAgICAgIFNwaW5sb2NrIHJlcGxhY2VzIG11 dGV4Cj4gPiA+ID4gICAgIGNzY2ZnX2xvYWRfZmVhdF9jc2RldigpCj4gPiA+ID4gICAgICAgICBT cGlubG9jayByZXBsYWNlcyBtdXRleAo+ID4gPiA+ICAgICBjc2NzZ19saXN0X2FkZF9jc2Rldigp Cj4gPiA+ID4gICAgICAgICBJbml0IHNwaW5sb2NrCj4gPiA+ID4gY29yZXNpZ2h0LmgKPiA+ID4g PiAgICAgc3RydWN0IGNvcmVzaWdodF9kZXZpY2Uge30KPiA+ID4gPiAgICAgICAgIEFkZCBzcGlu bG9jayBjc2NmZ19jc2Rldl9sb2NrIGFsb25nc2lkZSB0aGUgY3NkZXYgZmVhdHVyZSBhbmQKPiA+ ID4gPiBjb25maWcgbGlzdHMgdGhhdCBpdCBwcm90ZWN0cy4KPiA+ID4gPgo+ID4gPiA+IDAwMDUg LQo+ID4gPiA+IGNvcmVzaWdodC1zeXNjZmcuYwo+ID4gPiA+ICAgICBjc2NmZ19jc2Rldl9yZXNl dF9mZWF0cygpCj4gPiA+ID4gICAgICAgICAgICAgU3BpbmxvY2sgcmVwbGFjZXMgbXV0ZXguCj4g PiA+ID4KPiA+ID4gPiAgICAgY3NjZmdfY3NkZXZfZW5hYmxlX2FjdGl2ZV9jb25maWcoKQo+ID4g PiA+ICAgICAgICAgICAgIFNwaW5sb2NrIHJlcGxhY2VzIG11dGV4LiBJbiBlbmFibGUgZmxhZyB0 byBhdm9pZCByYWNlIHdpdGggZGlzYWJsZS4KPiA+ID4gPiAgICAgY3NjZmdfY3NkZXZfZGlzYWJs ZV9hY3RpdmVfY29uZmlnKCkKPiA+ID4gPiAgICAgICAgICAgICBTcGlubG9jayByZXBsYWNlcyBt dXRleC4gSW4gZW5hYmxlIGZsYWcgdG8gYXZvaWQgcmFjZSB3aXRoIGVuYWJsZS4KPiA+ID4gPgo+ ID4gPgo+ID4gPiBJJ20gZ29vZCB3aXRoIHRoZSBjaGFuZ2VzIG1hZGUgdG8gdGhlIGFib3ZlIHR3 byBwYXRjaGVzLgo+ID4gPgo+ID4gPiA+Cj4gPiA+ID4gY29yZXNpZ2h0LmgKPiA+ID4gPiAgICAg c3RydWN0IGNvcmVzaWdodF9kZXZpY2Uge30KPiA+ID4gPiAgICAgICAgIEluIGVuYWJsZSBmbGFn IGludHJvZHVjZWQgdG8gY29udHJvbCBwb3NzaWJsZSByYWNlIGJldHdlZW4KPiA+ID4gPiBlbmFi bGUgYW5kIGRpc2FibGUuIEUuZy4gaWYgd2UgYXJlIGVuYWJsaW5nIGEgY29uZmlnLCBidXQgYSBw b3dlcgo+ID4gPiA+IGV2ZW50IHRyaWVzIHRvIHNodXQgZG93biB0aGUgQ1BVL0VUTSBjYXVzaW5n IGEgZGlzYWJsZSBjYWxsLiBXZSBkb27igJl0Cj4gPiA+ID4gd2FudCB0byBob2xkIHRoZSBjc2Nm Z19jc2Rldl9sb2NrIHNwaW5sb2NrIHRocm91Z2hvdXQgdGhlIGVudGlyZQo+ID4gPiA+IGVuYWJs ZSBwcm9jZXNzIC0gZXNwZWNpYWxseSBhcyB0aGUgcHJvZ3JhbW1pbmcgY2FsbCB3aWxsIGNsYWlt IHRoZQo+ID4gPiA+IGludGVybmFsIGRyaXZlciBzcGlubG9jayB3aGVuIHdyaXRpbmcgaW50ZXJu YWwgZHJpdmVyIGRhdGEsIGJ1dCB3ZQo+ID4gPiA+IG5lZWQgdG8gZW5zdXJlIHRoYXQgaWYgdGhl cmUgaXMgYSBjb25kaXRpb24gdGhhdCBwZXJtaXRzIGEgZGlzYWJsZQo+ID4gPiA+IGNhbGwgb3V0 IG9mIG5vcm1hbCBzZXF1ZW5jZSB0aGVuIHdlIGFyZSBhYmxlIHRvIHNlZSBpdCBhbmQgaGFuZGxl IGl0Lgo+ID4gPiA+Cj4gPiA+Cj4gPiA+IEhlcmUgSSdtIGFzc3VtaW5nIHRoZSBlbmFibGUgYW5k IGRpc2FibGUgY2FsbHMgeW91IGFyZSByZWZlcnJpbmcgdG8gYXJlCj4gPiA+IGNzY2ZnX2NzZGV2 X2VuYWJsZV9hY3RpdmVfY29uZmlnKCkgYW5kIGNzY2ZnX2NzZGV2X2Rpc2FibGVfYWN0aXZlX2Nv bmZpZygpLgo+ID4gPgo+ID4KPiA+IFllcy4KPiA+Cj4gPiA+IEZyb20gdGhlIGFib3ZlIHBhcmFn cmFwaCBJIHVuZGVyc3RhbmQgdGhhdCBhIGNhbGwgdG8gY3NjZmdfY3NkZXZfZW5hYmxlX2NvbmZp ZygpCj4gPiA+IGNhbiBiZSBpbnRlcnJ1cHRlZCBhdCBhbnkgdGltZSB3aGVuIHRoZSBDUFUgaXMg c2h1dHRpbmcgZG93biwgd2hpY2ggY2FuIG9ubHkKPiA+ID4gaGFwcGVuIHdoZW4gb3BlcmF0aW5n IGZyb20gc3lzZnMuCj4gPiA+Cj4gPgo+ID4gSSB3YXMgY29uY2VybmVkIGFib3V0IHBvc3NpYmxl IHBvd2VyIG1hbmFnZW1lbnQgaXNzdWVzIHRvbyAtIHRob3VnaAo+ID4gdGhpbmtpbmcgYWJvdXQg aXQgd2Ugc2hvdWxkbid0IGJlIHBvd2VyaW5nIGRvd24gYSBQRSBpZiB3ZSBhcmUgYWJvdXQKPiA+ IHRvIHN0YXJ0IHRyYWNpbmcgb24gaXQhCj4KPiBZb3UgYXJlIGNvcnJlY3QgaWYgd2UgYXJlIG9w ZXJhdGluZyBmcm9tIHRoZSBwZXJmIGludGVyZmFjZS4gIEluIHN5c2ZzIHlvdSBnZXQKPiBubyBn dWFyYW50ZWVzLCBhbnl0aGluZyBjYW4gaGFwcGVuLgo+Cj4gPgo+ID4gVHJ1dGggaXMsIEkgc3Bs aXQgdGhlIHNwaW5sb2NrIGNsYWltcyBpbgo+ID4gY3NjZmdfY3NkZXZfZW5hYmxlX2FjdGl2ZV9j b25maWcoKSB0byBmb2xsb3cgdGhlIGdlbmVyYWwga2VybmVsCj4gPiBndWlkYW5jZSB0byBob2xk IHRoZW0gZm9yIHRoZSBtaW5pbXVtIGFtb3VudCBvZiB0aW1lIG5lZWRlZCwgYW5kIHRoZW4KPiA+ IGNvdWxkIG5vdCBjb252aW5jZSBteXNlbGYgdGhhdCBpdCB3YXMgaW1wb3NzaWJsZSBmb3IKPiA+ IGNzY2ZnX2NzZGV2X2Rpc2FibGVfYWN0aXZlX2NvbmZpZygpIHRvIGJlIGNhbGxlZCBwYXJ0IHdh eSB0aHJvdWdoLgo+ID4KPiA+ID4gV2l0aCB0aGUgYWJvdmUgaW4gbWluZCBhbmQgbG9va2luZyBh dCB0aGUgaW1wbGVtZW50YXRpb24gaW4gcGF0Y2ggMDUsIGlmIHRoZQo+ID4gPiBjb2RlIGdldHMg aW50ZXJydXB0ZWQgcmlnaHQgYWZ0ZXIgY3NjZmdfY3NkZXZfZW5hYmxlX2NvbmZpZygpLCBmdW5j dGlvbgo+ID4gPiBjc2NmZ19jc2Rldl9kaXNhYmxlX2NvbmZpZygpIGluIGNzY2ZnX2NzZGV2X2Rp c2FibGVfYWN0aXZlX2NvbmZpZygpIHdvbid0IGJlCj4gPiA+IGNhbGxlZC4KPiA+ID4KPiA+ID4g SW4gZnVuY3Rpb24gY3NjZmdfY3NkZXZfZW5hYmxlX2FjdGl2ZV9jb25maWcoKSwgY291bGQgaXQg YmUgcG9zc2libGUgdG8gc2V0Cj4gPiA+IGNzZGV2LT5hY3RpdmVfY3NjZmdfY3R4dCBpbnN0ZWFk IG9mIGNzZGV2LT5jc2NmZ19pbl9lbmFibGU/ICBJZgo+ID4gPiBjc2NmZ19jc2Rldl9lbmFibGVf Y29uZmlnKCkgZ2V0cyBpbnRlcnJ1cHRlZCB0aGVuIGZ1bmN0aW9uCj4gPiA+IGNzY2ZnX2NzZGV2 X2Rpc2FibGVfY29uZmlnKCkgY2FuIGJlIGNhbGxlZC4gIEF0IHRoYXQgcG9pbnQgZGlzYWJsaW5n IGEgZmVhdHVyZQo+ID4gPiB0aGF0IGhhc24ndCBiZWVuIGVuYWJsZWQgc2hvdWxkbid0IGRvIGFu eXRoaW5nLgo+ID4gPgo+ID4KPiA+IFRoZSBjb25jZXJuIGlzIHRoYXQgdGhlIGRpc2FibGUgZnVu Y3Rpb25hbGl0eSBpcyByZXNwb25zaWJsZSBmb3IKPiA+IGNvcHlpbmcgYmFjayB2YWx1ZXMgdGhh dCBtaWdodCBoYXZlIGNoYW5nZWQgZHVyaW5nIHRoZSBvcGVyYXRpb24gb2YKPiA+IHRoZSBjb25m aWcgLSBlLmcuIGNvdW50ZXJzIGluIHN0cm9iaW5nIGFyZSByZXN0YXJ0ZWQgYXQgdGhlIHZhbHVl IHRoZXkKPiA+IGxhc3QgaGFkIGlmIHRoZSByb3V0aW5lIGlzIHJlc3RhcnRlZCBvbiB0aGUgc2Ft ZSBFVE0gYXQgYSBsYXRlciB0aW1lCj4gPiBpbiB0aGUgcGVyZiBzZXNzaW9uLiBTbyBpZiB0aGUg ZW5hYmxlIG5ldmVyIG9jY3VycmVkIC8gZXJyb3JlZCAtIHdlCj4gPiB3YW50IHRvIGF2b2lkIGNv cHlpbmcgd2hhdCB3b3VsZCBiZSBhbiB1bmtub3duIHZhbHVlIGJhY2suIFNvIHRoZQo+ID4gc2Fm ZXN0IHdheSBpcyB0byBvbmx5IGNvcHkgYmFjayBpZiB3ZSBzdWNjZWVkZWQgaW4gc2V0dGluZyBp biB0aGUKPiA+IGZpcnN0IHBsYWNlIC0gZXZlbiBFVE0gd2FzIG5ldmVyIGFjdHVhbGx5IHN0YXJ0 ZWQuCj4gPgo+ID4gQ3VycmVudGx5IHdlIG9ubHkgc2V0IGNzZGV2LT5hY3RpdmVfY3NjZmdfY3R4 dCBhZnRlciB0aGUgY2FsbCB0byBkbwo+ID4gdGhlIGFjdHVhbCByZWdpc3RlciBwcm9ncmFtbWlu ZyAoY2FsbCB0byBjc2NmZ19jc2Rldl9lbmFibGVfY29uZmlnKCkpCj4gPiBoYXMgc3VjY2VlZGVk LCB3aGljaCB3YXMgZmluZSB1c2luZyB0aGUgbXV0ZXgsIGJ1dCBnaXZlcyB1cyB0aGUKPiA+IHBy b2JsZW0gd2l0aCB0aGUgc3BsaXQgc3BpbmxvY2tzLgo+ID4gU28gY3NkZXYtPmNzY2ZnX2luX2Vu YWJsZSBwcmV2ZW50cyBkaXNhYmxlIHBhdGggZnJvbSBjb3B5aW5nIGJhY2sgYW4KPiA+IHBvdGVu dGlhbGx5IGludmFsaWQgdmFsdWUuCj4KPiBJIHNlZSB0aGUgcHJvYmxlbSBhYm91dCBwb3RlbnRp YWxseSBjb3B5aW5nIGJhY2sgaW52YWxpZCBhbHVlcy4gIEkgc3VnZ2VzdCB0bzoKPgo+IDEpIHVz ZSBzcGluX2xvY2tfaXJxc2F2ZSgpIGluIGNzY2ZnX3NldF9vbl9lbmFibGUoKSBhbmQgY3NjZmdf c2F2ZV9vbl9kaXNhYmxlKCksCj4gdGhhdCB3YXkgdGhlIGNyaXRpY2FsIHNlY3Rpb24gaW4gdGhl cmUgaXMgbmV2ZXIgcHJlZW1wdGVkLgo+CgpBZ3JlZWQuCgoKPiAyKSBpbnRyb2R1Y2UgY3NjZmdf ZmVhdHVyZV9jc2Rldjo6ZW5hYmxlZCB0byBrZWVwIHRyYWNrIG9mIHdoaWNoIGZlYXR1cmUgaGFz Cj4gYmVlbiBlbmFibGVkLCBhbmQgc2V0IHRoYXQgZmxhZyB3aGVuIHRoZSBsb2NrIGlzIGhlbGQg aW4gY3NjZmdfc2V0X29uX2VuYWJsZSgpLgo+CgpUaGlzIGRvZXMgbm8gc29sdmUgdGhlIGtleSBp c3N1ZSB3aGljaCBpcyB0aGF0IHRoZSBjb25maWd1cmF0aW9uIC0Kd2hpY2ggY2FuIGNvbnNpc3Qg b2YgbXVsdGlwbGUgZmVhdHVyZXMgLSBtdXN0IGJlIGFsbCBwcm9ncmFtbWVkIHRvIGJlCmNvcnJl Y3RseSBlbmFibGVkLiBIYXZpbmcgcGVyIGZlYXR1cmUgZW5hYmxlcyBjb21wbGljYXRlcyBtYXR0 ZXJzIG1vcmUKdGhhbiBpcyBuZWVkZWQuClRoZXJlIGlzIGN1cnJlbnRseSBhbiBlbmFibGUgZmxh ZyBvbiBjc2NmZ19jb25maWdfY3NkZXYgLSB3aGljaCBjYW4gYmUKYnJvdWdodCBpbnRvIHRoZSBz Y29wZSBvZiB0aGUgY3NjZmdfY3NkZXZfZW5hYmxlX2FjdGl2ZV9jb25maWcoKSAvCmNzY2ZnX2Nz ZGV2X2Rpc2FibGVfYWN0aXZlX2NvbmZpZygpIHNwaW5sb2Nrcwp0byBkbyB3aGF0IGlzIG5lZWRl ZC4KCkkndmUgZHJvcHBlZCB0aGUgSW5fZW5hYmxlIGZsYWcsIGFuZCB1c2UgY3NjZmdfY29uZmln X2NzZGV2OjplbmFibGVkICYKY3NkZXYtPmFjdGl2ZV9jc2NmZ19jdHh0IHRvIGVuc3VyZSB0aGUg b3JkZXJpbmcgaXMgaGFuZGxlZCBjb3JyZWN0bHkuCgpSZWdhcmRzCgpNaWtlCgo+IEhvcGVmdWxs eSB0aGF0IHdpbGwgd29yay4gIEEgZ2VuZXJvdXMgaGVscGluZyBvZiBjb21tZW50cyB3aWxsIGFs c28gZ28gYSBsb25nCj4gd2F5Lgo+Cj4gPgo+ID4gUmVnYXJkcwo+ID4KPiA+IE1pa2UKPiA+Cj4g Pgo+ID4gPiBUaGFua3MsCj4gPiA+IE1hdGhpZXUKPiA+ID4KPiA+ID4gPiAwMDA5IC0KPiA+ID4g PiAgICAgS0NvbmZpZwo+ID4gPiA+ICAgICBhZGQgaW4gZGVwZW5kZW5jeSBvbiBDT05GSUdGU19G UyB0byBlbGltaW5hdGUgcHJvYmxlbSBoaWdobGlnaHRlZAo+ID4gPiA+IGJ5IHRoZSBrZXJuZWwg Ym90IHRlc3RzLiBUaGlzIGhhZCBjb25maWd1cmVkIGNvcmVzaWdodCBhcyBZLCBidXQKPiA+ID4g PiBjb25maWdmcyBhcyBNIC0gbWVhbmluZyBsaW5rIGlzc3VlcyBmb3IgY29uZmlnZnMgY29kZSBp bnRyb2R1Y2VkIGluCj4gPiA+ID4gdGhpcyBzZXQuCj4gPiA+ID4KPiA+ID4gPiBPbiBUdWUsIDEz IEp1bCAyMDIxIGF0IDEwOjQzLCBCcmFuaXNsYXYgUmFua292IDxicmFuaXNsYXYucmFua292QGFy bS5jb20+IHdyb3RlOgo+ID4gPiA+ID4KPiA+ID4gPiA+IEhpIE1hdGhpZXUsCj4gPiA+ID4gPgo+ ID4gPiA+ID4gT24gNy8xMi8yMSA1OjQ0IFBNLCBNYXRoaWV1IFBvaXJpZXIgd3JvdGU6Cj4gPiA+ ID4gPiA+IEdvb2QgbW9ybmluZyBNaWtlLAo+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiBPbiBXZWQs IEp1bCAwNywgMjAyMSBhdCAwMjoyOTo1M1BNICswMTAwLCBNaWtlIExlYWNoIHdyb3RlOgo+ID4g PiA+ID4gPj4gVGhpcyBwYXRjaHNldCBpbnRyb2R1Y2VzIGluaXRpYWwgY29uY2VwdHMgaW4gQ29y ZVNpZ2h0IHN5c3RlbQo+ID4gPiA+ID4gPj4gY29uZmlndXJhdGlvbiBtYW5hZ2VtZW50IHN1cHBv cnQuIHRvIGFsbG93IG1vcmUgZGV0YWlsZWQgYW5kIGNvbXBsZXgKPiA+ID4gPiA+ID4+IHByb2dy YW1taW5nIHRvIGJlIGFwcGxpZWQgdG8gQ29yZVNpZ2h0IHN5c3RlbXMgZHVyaW5nIHRyYWNlIGNh cHR1cmUuCj4gPiA+ID4gPiA+Pgo+ID4gPiA+ID4gPj4gQ29uZmlndXJhdGlvbnMgY29uc2lzdCBv ZiAyIGVsZW1lbnRzOi0KPiA+ID4gPiA+ID4+IDEpIEZlYXR1cmVzIC0gcHJvZ3JhbW1pbmcgY29t YmluYXRpb25zIGZvciBkZXZpY2VzLCBhcHBsaWVkIHRvIGEgY2xhc3Mgb2YKPiA+ID4gPiA+ID4+ IGRldmljZSBvbiB0aGUgc3lzdGVtIChhbGwgRVRNdjQpLCBvciBpbmRpdmlkdWFsIGRldmljZXMu Cj4gPiA+ID4gPiA+PiAyKSBDb25maWd1cmF0aW9ucyAtIGEgc2V0IG9mIHByb2dyYW1tZWQgZmVh dHVyZXMgdXNlZCB3aGVuIHRoZSBuYW1lZAo+ID4gPiA+ID4gPj4gY29uZmlndXJhdGlvbiBpcyBz ZWxlY3RlZC4KPiA+ID4gPiA+ID4+Cj4gPiA+ID4gPiA+PiBGZWF0dXJlcyBhbmQgY29uZmlndXJh dGlvbnMgYXJlIGRlY2xhcmVkIGFzIGEgZGF0YSB0YWJsZSwgYSBzZXQgb2YgcmVnaXN0ZXIsCj4g PiA+ID4gPiA+PiByZXNvdXJjZSBhbmQgcGFyYW1ldGVyIHJlcXVpcmVtZW50cy4gRmVhdHVyZXMg YW5kIGNvbmZpZ3VyYXRpb25zIGFyZSBsb2FkZWQKPiA+ID4gPiA+ID4+IGludG8gdGhlIHN5c3Rl bSBieSB0aGUgdmlydHVhbCBjc19zeXNjZmcgZGV2aWNlLiBUaGlzIHRoZW4gbWF0Y2hlcyBmZWF0 dXJlcwo+ID4gPiA+ID4gPj4gdG8gYW55IHJlZ2lzdGVyZWQgZGV2aWNlcyBhbmQgbG9hZHMgdGhl IGZlYXR1cmUgaW50byB0aGVtLgo+ID4gPiA+ID4gPj4KPiA+ID4gPiA+ID4+IEluZGl2aWR1YWwg ZGV2aWNlIGNsYXNzZXMgdGhhdCBzdXBwb3J0IGZlYXR1cmUgYW5kIGNvbmZpZ3VyYXRpb24gcmVn aXN0ZXIKPiA+ID4gPiA+ID4+IHdpdGggY3Nfc3lzY2ZnLgo+ID4gPiA+ID4gPj4KPiA+ID4gPiA+ ID4+IE9uY2UgbG9hZGVkIGEgY29uZmlndXJhdGlvbiBjYW4gYmUgZW5hYmxlZCBmb3IgYSBzcGVj aWZpYyB0cmFjZSBydW4uCj4gPiA+ID4gPiA+PiBDb25maWd1cmF0aW9ucyBhcmUgcmVnaXN0ZXJl ZCB3aXRoIHRoZSBwZXJmIGNzX2V0bSBldmVudCBhcyBlbnRyaWVzIGluCj4gPiA+ID4gPiA+PiBj c19ldG0vZXZlbnRzLiBUaGVzZSBjYW4gYmUgc2VsZWN0ZWQgb24gdGhlIHBlcmYgY29tbWFuZCBs aW5lIGFzIGZvbGxvd3M6LQo+ID4gPiA+ID4gPj4KPiA+ID4gPiA+ID4+IHBlcmYgcmVjb3JkIC1l IGNzX2V0bS88Y29uZmlnX25hbWU+LyAuLi4KPiA+ID4gPiA+ID4+Cj4gPiA+ID4gPiA+PiBUaGlz IHBhdGNoIHNldCBoYXMgb25lIHByZS1sb2FkZWQgY29uZmlndXJhdGlvbiBhbmQgZmVhdHVyZS4K PiA+ID4gPiA+ID4+IEEgbmFtZWQgInN0cm9iaW5nIiBmZWF0dXJlIGlzIHByb3ZpZGVkIGZvciBF VE12NC4KPiA+ID4gPiA+ID4+IEEgbmFtZWQgImF1dG9mZG8iIGNvbmZpZ3VyYXRpb24gaXMgcHJv dmlkZWQuIFRoaXMgY29uZmlndXJhdGlvbiBlbmFibGVzCj4gPiA+ID4gPiA+PiBzdHJvYmluZyBv biBhbnkgRVRNIGluIHVzZWQuCj4gPiA+ID4gPiA+Pgo+ID4gPiA+ID4gPj4gVGh1cyB0aGUgY29t bWFuZDoKPiA+ID4gPiA+ID4+IHBlcmYgcmVjb3JkIC1lIGNzX2V0bS9hdXRvZmRvLyAuLi4KPiA+ ID4gPiA+ID4+Cj4gPiA+ID4gPiA+PiB3aWxsIHRyYWNlIHRoZSBzdXBwbGllZCBhcHBsaWNhdGlv biB3aGlsZSBlbmFibGluZyB0aGUgImF1dG9mZG8iIGNvbmZpZ3VhdGlvbgo+ID4gPiA+ID4gPj4g b24gZWFjaCBFVE0gYXMgaXQgaXMgZW5hYmxlZCBieSBwZXJmLiBUaGlzIGluIHR1cm4gd2lsbCBl bmFibGUgc3Ryb2JpbmcgZm9yCj4gPiA+ID4gPiA+PiB0aGUgRVRNIC0gd2l0aCBkZWZhdWx0IHBh cmFtZXRlcnMuIFBhcmFtZXRlcnMgY2FuIGJlIGFkanVzdGVkIHVzaW5nIGNvbmZpZ2ZzLgo+ID4g PiA+ID4gPj4KPiA+ID4gPiA+ID4+IFRoZSBzaW5rIHVzZWQgaW4gdGhlIHRyYWNlIHJ1biB3aWxs IGJlIGF1dG9tYXRpY2FsbHkgc2VsZWN0ZWQuCj4gPiA+ID4gPiA+Pgo+ID4gPiA+ID4gPj4gQSBj b25maWd1cmF0aW9uIGNhbiBzdXBwbHkgdXAgdG8gMTUgb2YgcHJlc2V0IHBhcmFtZXRlciB2YWx1 ZXMsIHdoaWNoIHdpbGwKPiA+ID4gPiA+ID4+IHN1YnNpdHV0ZSBpbiBwYXJhbWV0ZXIgdmFsdWVz IGZvciBhbnkgZmVhdHVyZSB1c2VkIGluIHRoZSBjb25maWd1cmF0aW9uLgo+ID4gPiA+ID4gPj4K PiA+ID4gPiA+ID4+IFNlbGVjdGlvbiBvZiBwcmVzZXQgdmFsdWVzIGFzIGZvbGxvd3MKPiA+ID4g PiA+ID4+IHBlcmYgcmVjb3JkIC1lIGNzX2V0bS9hdXRvZmRvLHByZXNldD0xLyAuLi4KPiA+ID4g PiA+ID4+Cj4gPiA+ID4gPiA+PiAodmFsaWQgcHJlc2V0cyAxLU4sIHdoZXJlIE4gaXMgdGhlIG51 bWJlciBzdXBwbGllZCBpbiB0aGUgY29uZmlndXJhdGlvbiwgbm90Cj4gPiA+ID4gPiA+PiBleGNl ZWRpbmcgMTUuIHByZXNldD0wIGlzIHRoZSBzYW1lIGFzIG5vdCBzZWxlY3RpbmcgYSBwcmVzZXQu KQo+ID4gPiA+ID4gPj4KPiA+ID4gPiA+ID4+IEFwcGxpZXMgdG8gJiB0ZXN0ZWQgYWdhaW5zdCBj b3Jlc2lnaHQvbmV4dCAoNS4xMy1yYzYgYmFzZSkKPiA+ID4gPiA+ID4+Cj4gPiA+ID4gPiA+PiBD aGFuZ2VzIHNpbmNlIHY3Ogo+ID4gPiA+ID4gPj4KPiA+ID4gPiA+ID4+IEZpeGVkIGtlcm5lbCB0 ZXN0IHJvYm90IGlzc3VlIC0gY29uZmlnIHdpdGggQ09SRVNJR0hUPXkgJiBDT05GSUdGU19GUz1t IGNhdXNlcwo+ID4gPiA+ID4gPj4gYnVpbGQgZXJyb3IuIEFsdGVyZWQgQ09SRVNJR0hUIGNvbmZp ZyB0byBzZWxlY3QgQ09ORklHRlNfRlMuCj4gPiA+ID4gPiA+PiBSZXBvcnRlZC1ieToga2VybmVs IHRlc3Qgcm9ib3QgPGxrcEBpbnRlbC5jb20+Cj4gPiA+ID4gPiA+Pgo+ID4gPiA+ID4gPj4gUmVw bGFjZWQgbXV0ZXggdXNlIHRvIHByb3RlY3QgbG9hZGVkIGNvbmZpZyBsaXN0cyBpbiBjb3Jlc2ln aHQgZGV2aWNlcyB3aXRoIHBlcgo+ID4gPiA+ID4gPj4gZGV2aWNlIHNwaW5sb2NrIHRvIHJlbW92 ZSBpc3N1ZSB3aGVuIGRpc2FibGUgY2FsbGVkIGluIGludGVycnVwdCBjb250ZXh0Lgo+ID4gPiA+ ID4gPj4gUmVwb3J0ZWQtYnk6IEJyYW5pc2xhdiBSYW5rb3YgPGJyYW5pc2xhdi5yYW5rb3ZAYXJt LmNvbT4KPiA+ID4gPiA+ID4+Cj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+IENhbiB5b3UgaW5kaWNh dGUgd2hpY2ggcGF0Y2hlcyBoYXZlIGNoYW5nZWQgc28gSSBkb24ndCBoYXZlIHRvIHJldmlldyB0 aGUgd2hvbGUKPiA+ID4gPiA+ID4gdGhpbmcgYWdhaW4/ICAgSXQgaXMgYWxzbyBjb21tb24gcHJh Y3RpY2UgdG8gcmVtb3ZlIHRoZSBSQiB0YWcgd2hlbiBwYXRjaGVzCj4gPiA+ID4gPiA+IGhhdmUg Y2hhbmdlZCBlbm91Z2ggdG8gbWFuZGF0ZSBhbm90aGVyIHJldmlldy4gIEluIHRoaXMgY2FzZSBh bGwgcGF0Y2hlcyBzdGlsbAo+ID4gPiA+ID4gPiBiYXJlIG15IFJCIHRhZ3MuCj4gPiA+ID4gPiA+ Cj4gPiA+ID4gPiA+IEJyYW5pc2xhdiByZXBvcnRlZCB0aGUgcHJvYmxlbSBidXQgaGUgaXMgbm90 IGEgcmVjaXBpZW50LiAgSSB3b3VsZCBsaWtlIHRvIGhhdmUKPiA+ID4gPiA+ID4gYSBjb25maXJt YXRpb24gZnJvbSBoaW0gdGhhdCB0aGlzIHNldCBmaXhlcyB0aGUgcHJvYmxlbSBoZSBvYnNlcnZl ZCBiZWZvcmUgSQo+ID4gPiA+ID4gPiBzdGFydCBsb29raW5nIGF0IGl0Lgo+ID4gPiA+ID4KPiA+ ID4gPiA+IEkgaGF2ZSB0ZXN0ZWQgdGhpcyBzZXJpZXMgYW5kIHRoZSBpc3N1ZSBJIHJlcG9ydGVk IGlzIGZpeGVkLgo+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiBUaGFua3MsCj4gPiA+ID4gPiA+IE1h dGhpZXUKPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4+Cj4gPiA+ID4gPiA+PiBDaGFuZ2VzIHNpbmNl IHY2Ogo+ID4gPiA+ID4gPj4gRml4ZWQga2VybmVsIHRlc3Qgcm9ib3QgaXNzdWVzLQo+ID4gPiA+ ID4gPj4gUmVwb3J0ZWQtYnk6IGtlcm5lbCB0ZXN0IHJvYm90IDxsa3BAaW50ZWwuY29tPgo+ID4g PiA+ID4gPj4KPiA+ID4gPiA+ID4+IENoYW5nZXMgc2luY2UgdjU6Cj4gPiA+ID4gPiA+Pgo+ID4g PiA+ID4gPj4gMSkgRml4IGNvZGUgc3R5bGUgaXNzdWVzIGZyb20gYXV0by1idWlsZCByZXBvcnRz LCBhcwo+ID4gPiA+ID4gPj4gUmVwb3J0ZWQtYnk6IGtlcm5lbCB0ZXN0IHJvYm90IDxsa3BAaW50 ZWwuY29tPgo+ID4gPiA+ID4gPj4gMikgVXBkYXRlIGNvbW1lbnRzIHRvIGdldCBjb25zaXN0ZW50 IGRvY3MgZm9yIEFQSSBmdW5jdGlvbnMuCj4gPiA+ID4gPiA+PiAzKSByZW1vdmUgdW51c2VkICNk ZWZpbmUgZnJvbSBhdXRvZmRvIGV4YW1wbGUuCj4gPiA+ID4gPiA+PiA0KSBmaXggcGVyZiBjb2Rl IHN0eWxlIGlzc3VlcyBmcm9tIHBhdGNoIDQgKE1hdGhpZXUpCj4gPiA+ID4gPiA+PiA1KSBmaXgg Y29uZmlnZnMgY29kZSBzdHlsZSBpc3N1ZXMgZnJvbSBwYXRjaCA5LiAoTWF0aGlldSkKPiA+ID4g PiA+ID4+Cj4gPiA+ID4gPiA+PiBDaGFuZ2VzIHNpbmNlIHY0OiAoYmFzZWQgb24gY29tbWVudHMg ZnJvbSBNYXR0aGlldSBhbmQgU3V6dWtpKS4KPiA+ID4gPiA+ID4+IE5vIGxhcmdlIGZ1bmN0aW9u YWwgY2hhbmdlcyAtIHByaW1hcmlseSBjb2RlIGltcHJvdmVtZW50cyBhbmQgbmFtaW5nIHNjaGVt YS4KPiA+ID4gPiA+ID4+IDEpIFVwZGF0ZWQgZW50aXJlIHNldCB0byBlbnN1cmUgYSBjb25zaXN0 ZW50IG5hbWluZyBzY2hlbWUgd2FzIHVzZWQgZm9yCj4gPiA+ID4gPiA+PiB2YXJpYWJsZXMgYW5k IHN0cnVjdCBtZW1iZXJzIHRoYXQgcmVmZXIgdG8gdGhlIGtleSBvYmplY3RzIGluIHRoZSBzeXN0 ZW0uCj4gPiA+ID4gPiA+PiBTdWZmaXhlcyBfZGVzYyB1c2VkIGZvciBhbGwgcmVmZXJlbmNlcyB0 byBmZWF0dXJlIGFuZCBjb25maWd1cmFpb24gZGVzY3JpcHRvcnMsCj4gPiA+ID4gPiA+PiBzdWZm aXggX2NzZGV2IHVzZWQgZm9yIGFsbCByZWZlcmVuY2VzIHRvIGxvYWQgZmVhdHVyZSBhbmQgY29u ZmlncyBpbiB0aGUgY3NkZXYKPiA+ID4gPiA+ID4+IGluc3RhbmNlcy4gKE1hdGhpZXUgJiBTdXp1 a2kpLgo+ID4gPiA+ID4gPj4gMikgRHJvcHBlZCB0aGUgJ2NvbmZpZ3VyYXRpb25zJyBzdWIgZGly IGluIGNzX2V0bSBwZXJmIGRpcmVjdG9yaWVzIGFzIHN1cGVyZmx1b3VzCj4gPiA+ID4gPiA+PiB3 aXRoIHRoZSBjb25maWdmcyBjb250YWluaW5nIHRoZSBzYW1lIGluZm9ybWF0aW9uLiAoTWF0aGll dSkuCj4gPiA+ID4gPiA+PiAzKSBTaW1wbGlmaWVkIHBlcmYgaGFuZGxpbmcgY29kZSAoc3V6dWtp KQo+ID4gPiA+ID4gPj4gNCkgTXVsdGlwbGUgc2ltcGxpZmljYXRpb25zIGFuZCBpbXByb3ZlbWVu dHMgZm9yIGNvZGUgcmVhZGFiaWxpdHkgKE1hdHRoaWV1Cj4gPiA+ID4gPiA+PiBhbmQgU3V6dWtp KQo+ID4gPiA+ID4gPj4KPiA+ID4gPiA+ID4+IENoYW5nZXMgc2luY2UgdjM6IChQcmltYXJpbHkg YmFzZWQgb24gY29tbWVudHMgZnJvbSBNYXR0aGlldSkKPiA+ID4gPiA+ID4+IDEpIExvY2tpbmcg bWVjaGFuaXNtcyBzaW1wbGlmaWVkLgo+ID4gPiA+ID4gPj4gMikgUmVtb3ZlZCB0aGUgcG9zc2li aWxpdHkgdG8gZW5hYmxlIGZlYXR1cmVzIGluZGVwZW5kZW50bHkgZnJvbQo+ID4gPiA+ID4gPj4g Y29uZmlndXJhdGlvbnMuT25seSBjb25maWd1cmF0aW9ucyBjYW4gYmUgZW5hYmxlZCBub3cuIFNp bXBsaWZpZXMgcHJvZ3JhbW1pbmcKPiA+ID4gPiA+ID4+IGxvZ2ljLgo+ID4gPiA+ID4gPj4gMykg Q29uZmlndXJhdGlvbiBub3cgdXNlcyBhbiBhY3RpdmF0ZS0+ZW5hYmxlIG1lY2hhbmlzbS4gVGhp cyBtZWFucyB0aGF0IHBlcmYKPiA+ID4gPiA+ID4+IHdpbGwgYWN0aXZhdGUgYSBzZWxlY3RlZCBj b25maWd1cmF0aW9uIGF0IHRoZSBzdGFydCBvZiBhIHNlc3Npb24gKGR1cmluZwo+ID4gPiA+ID4g Pj4gc2V0dXBfYXV4KSwgYW5kIGRpc2FibGUgYXQgdGhlIGVuZCBvZiBhIHNlc3Npb24gKGFyb3Vu ZCBmcmVlX2F1eCkKPiA+ID4gPiA+ID4+IFRoZSBhY3RpdmUgY29uZmlndXJhdGlvbiBhbmQgYXNz b2NpYXRlZCBmZWF0dXJlcyB3aWxsIGJlIHByb2dyYW1tZWQgaW50byB0aGUKPiA+ID4gPiA+ID4+ IENvcmVTaWdodCBkZXZpY2UgaW5zdGFuY2VzIHdoZW4gdGhleSBhcmUgZW5hYmxlZC4gVGhpcyBs b2NrcyB0aGUgY29uZmlndXJhdGlvbgo+ID4gPiA+ID4gPj4gaW50byB0aGUgc3lzdGVtIHdoaWxl IGluIHVzZS4gUGFyYW1ldGVycyBjYW5ub3QgYmUgYWx0ZXJlZCB3aGlsZSB0aGlzIGlzCj4gPiA+ ID4gPiA+PiBpbiBwbGFjZS4gVGhpcyBtZWNoYW5pc20gd2lsbCBiZSBleHRlbmRlZCBpbiBmdXR1 cmUgZm9yIGR5bmFtaWMgbG9hZCAvIHVubG9hZAo+ID4gPiA+ID4gPj4gb2YgY29uZmlndXJhdGlv bnMgdG8gcHJldmVudCByZW1vdmFsIHdoaWxlIGluIHVzZS4KPiA+ID4gPiA+ID4+IDQpIFJlbW92 ZWQgdGhlIGN1c3RvbSBidXMgLyBkcml2ZXIgYXMgdW4tbmVjZXNzYXJ5LiBBIHNpbmdsZSBkZXZp Y2UgaXMKPiA+ID4gPiA+ID4+IHJlZ2lzdGVyZWQgdG8gb3duIHBlcmYgZnMgZWxlbWVudHMgYW5k IGNvbmZpZ2ZzLgo+ID4gPiA+ID4gPj4gNSkgVmFyaW91cyBvdGhlciBtaW5vciBpc3N1ZXMgYWRk cmVzc2VkLgo+ID4gPiA+ID4gPj4KPiA+ID4gPiA+ID4+IENoYW5nZXMgc2luY2UgdjI6Cj4gPiA+ ID4gPiA+PiAxKSBBZGRlZCBkb2N1bWVudGF0aW9uIGZpbGUuCj4gPiA+ID4gPiA+PiAyKSBBbHRl cmVkIGNzX3N5c2NmZyBkcml2ZXIgdG8gbm8gbG9uZ2VyIGJlIGNvcmVzaWdodF9kZXZpY2UgYmFz ZWQsIGFuZCBtb3ZlZAo+ID4gPiA+ID4gPj4gdG8gaXRzIG93biBjdXN0b20gYnVzIHRvIHJlbW92 ZSBpdCBmcm9tIHRoZSBtYWluIGNvcmVzaWdodCBidXMuIChNYXRoaWV1KQo+ID4gPiA+ID4gPj4g MykgQWRkZWQgY29uZmlnZnMgc3VwcG9ydCB0byBpbnNwZWN0IGFuZCBjb250cm9sIGxvYWRlZCBj b25maWd1cmF0aW9ucyBhbmQKPiA+ID4gPiA+ID4+IGZlYXR1cmVzLiBBbGxvd3MgbGlzdGluZyBv ZiBwcmVzZXQgdmFsdWVzIChZYWJpbiBDdWkpCj4gPiA+ID4gPiA+PiA0KSBEcm9wcGVkIHN5c2Zz IHN1cHBvcnQgZm9yIGFkanVzdGluZyBmZWF0dXJlIHBhcmFtZXRlcnMgb24gdGhlIHBlciBkZXZp Y2UKPiA+ID4gPiA+ID4+IGJhc2lzLCBpbiBmYXZvdXIgb2YgYSBzaW5nbGUgcG9pbnQgYWRqdXN0 bWVudCBpbiBjb25maWdmcyB0aGF0IGlzIHB1c2hlZCB0byBhbGwKPiA+ID4gPiA+ID4+IGRldmlj ZSBpbnN0YW5jZXMuCj4gPiA+ID4gPiA+PiA1KSBBbHRlcmVkIGhvdyB0aGUgY29uZmlnIGFuZCBw cmVzZXQgY29tbWFuZCBsaW5lIG9wdGlvbnMgYXJlIGhhbmRsZWQgaW4gcGVyZgo+ID4gPiA+ID4g Pj4gYW5kIHRoZSBkcml2ZXJzLiAoTWF0aGlldSBhbmQgU3V6dWtpKS4KPiA+ID4gPiA+ID4+IDYp IEZpeGVzIGZvciB2YXJpb3VzIGlzc3VlcyBhbmQgdGVjaG5pY2FsIHBvaW50cyAoTWF0aGlldSwg WWFiaW4pCj4gPiA+ID4gPiA+Pgo+ID4gPiA+ID4gPj4gQ2hhbmdlcyBzaW5jZSB2MToKPiA+ID4g PiA+ID4+IDEpIE1vdmVkIHByZWxvYWRlZCBjb25maWd1cmF0aW9ucyBhbmQgZmVhdHVyZXMgb3V0 IG9mIGluZGl2aWR1YWwgZHJpdmVycy4KPiA+ID4gPiA+ID4+IDIpIEFkZGVkIGNzX3N5c2NmZyBk cml2ZXIgdG8gbWFuYWdlIGNvbmZpZ3VyYXRpb25zIGFuZCBmZWF0dXJlcy4gSW5kaXZpZHVhbAo+ ID4gPiA+ID4gPj4gZHJpdmVycyByZWdpc3RlciB3aXRoIGNzX3N5c2NmZyBpbmRpY2F0aW5nIHN1 cHBvcnQgZm9yIGNvbmZpZywgYW5kIHByb3ZpZGUKPiA+ID4gPiA+ID4+IG1hdGNoaW5nIGluZm9y bWF0aW9uIHRoYXQgdGhlIHN5c3RlbSB1c2VzIHRvIGxvYWQgZmVhdHVyZXMgaW50byB0aGUgZHJp dmVycy4KPiA+ID4gPiA+ID4+IFRoaXMgYWxsb3dzIGluZGl2aWR1YWwgZHJpdmVycyB0byBiZSB1 cGRhdGVkIG9uIGFuIGFzIG5lZWRlZCBiYXNpcyAtIGFuZAo+ID4gPiA+ID4gPj4gcmVtb3ZlcyB0 aGUgbmVlZCB0byBjb25zaWRlciBkZXZpY2VzIHRoYXQgY2Fubm90IGJlbmVmaXQgZnJvbSBjb25m aWd1cmF0aW9uIC0KPiA+ID4gPiA+ID4+IHN0YXRpYyByZXBsaWNhdG9ycywgZnVubmVscywgdHBp dS4KPiA+ID4gPiA+ID4+IDMpIEFkZGVkIHBlcmYgc2VsZWN0aW9uIG9mIGNvbmZpZ3VhcmF0aW9u cy4KPiA+ID4gPiA+ID4+IDQpIFJlYmFzZWQgb250byB0aGUgY29yZXNpZ2h0IG1vZHVsZSBsb2Fk aW5nIHNldC4KPiA+ID4gPiA+ID4+Cj4gPiA+ID4gPiA+PiBUbyBmb2xsb3cgaW4gZnV0dXJlIHJl dmlzaW9ucyAvIHNldHM6LQo+ID4gPiA+ID4gPj4gYSkgbG9hZCBvZiBhZGRpdGlvbmFsIGNvbmZp ZyBhbmQgZmVhdHVyZXMgYnkgbG9hZGFibGUgbW9kdWxlLgo+ID4gPiA+ID4gPj4gYikgbG9hZCBv ZiBhZGRpdGlvbmFsIGNvbmZpZyBhbmQgZmVhdHVyZXMgYnkgY29uZmlnZnMKPiA+ID4gPiA+ID4+ IGMpIGVuaGFuY2VkIHJlc291cmNlIG1hbmFnZW1lbnQgZm9yIEVUTXY0IGFuZCBjaGVja2luZyBm ZWF0dXJlcyBoYXZlIHN1ZmZpY2llbnQKPiA+ID4gPiA+ID4+IHJlc291cmNlcyB0byBiZSBlbmFi bGVkLgo+ID4gPiA+ID4gPj4gZCkgRUNUIGFuZCBDVEkgc3VwcG9ydCBmb3IgY29uZmlndXJhdGlv biBhbmQgZmVhdHVyZXMuCj4gPiA+ID4gPiA+Pgo+ID4gPiA+ID4gPj4gTWlrZSBMZWFjaCAoMTAp Ogo+ID4gPiA+ID4gPj4gICBjb3Jlc2lnaHQ6IHN5c2NmZzogSW5pdGlhbCBjb3Jlc2lnaHQgc3lz dGVtIGNvbmZpZ3VyYXRpb24KPiA+ID4gPiA+ID4+ICAgY29yZXNpZ2h0OiBzeXNjZmc6IEFkZCBy ZWdpc3RyYXRpb24gYW5kIGZlYXR1cmUgbG9hZGluZyBmb3IgY3MgZGV2aWNlcwo+ID4gPiA+ID4g Pj4gICBjb3Jlc2lnaHQ6IGNvbmZpZzogQWRkIGNvbmZpZ3VyYXRpb24gYW5kIGZlYXR1cmUgZ2Vu ZXJpYyBmdW5jdGlvbnMKPiA+ID4gPiA+ID4+ICAgY29yZXNpZ2h0OiBldG0tcGVyZjogdXBkYXRl IHRvIGhhbmRsZSBjb25maWd1cmF0aW9uIHNlbGVjdGlvbgo+ID4gPiA+ID4gPj4gICBjb3Jlc2ln aHQ6IHN5c2NmZzogQWRkIEFQSSB0byBhY3RpdmF0ZSBhbmQgZW5hYmxlIGNvbmZpZ3VyYXRpb25z Cj4gPiA+ID4gPiA+PiAgIGNvcmVzaWdodDogZXRtLXBlcmY6IFVwZGF0ZSB0byBhY3RpdmF0ZSBz ZWxlY3RlZCBjb25maWd1cmF0aW9uCj4gPiA+ID4gPiA+PiAgIGNvcmVzaWdodDogZXRtNHg6IEFk ZCBjb21wbGV4IGNvbmZpZ3VyYXRpb24gaGFuZGxlcnMgdG8gZXRtdjQKPiA+ID4gPiA+ID4+ICAg Y29yZXNpZ2h0OiBjb25maWc6IEFkZCBwcmVsb2FkZWQgY29uZmlndXJhdGlvbnMKPiA+ID4gPiA+ ID4+ICAgY29yZXNpZ2h0OiBzeXNjZmc6IEFkZCBpbml0aWFsIGNvbmZpZ2ZzIHN1cHBvcnQKPiA+ ID4gPiA+ID4+ICAgRG9jdW1lbnRhdGlvbjogY29yZXNpZ2h0OiBBZGQgZG9jdW1lbnRhdGlvbiBm b3IgQ29yZVNpZ2h0IGNvbmZpZwo+ID4gPiA+ID4gPj4KPiA+ID4gPiA+ID4+ICAuLi4vdHJhY2Uv Y29yZXNpZ2h0L2NvcmVzaWdodC1jb25maWcucnN0ICAgICAgfCAyNDQgKysrKysrCj4gPiA+ID4g PiA+PiAgRG9jdW1lbnRhdGlvbi90cmFjZS9jb3Jlc2lnaHQvY29yZXNpZ2h0LnJzdCAgIHwgIDE2 ICsKPiA+ID4gPiA+ID4+ICBkcml2ZXJzL2h3dHJhY2luZy9jb3Jlc2lnaHQvS2NvbmZpZyAgICAg ICAgICAgfCAgIDEgKwo+ID4gPiA+ID4gPj4gIGRyaXZlcnMvaHd0cmFjaW5nL2NvcmVzaWdodC9N YWtlZmlsZSAgICAgICAgICB8ICAgNyArLQo+ID4gPiA+ID4gPj4gIC4uLi9od3RyYWNpbmcvY29y ZXNpZ2h0L2NvcmVzaWdodC1jZmctYWZkby5jICB8IDE1MyArKysrCj4gPiA+ID4gPiA+PiAgLi4u L2NvcmVzaWdodC9jb3Jlc2lnaHQtY2ZnLXByZWxvYWQuYyAgICAgICAgIHwgIDMxICsKPiA+ID4g PiA+ID4+ICAuLi4vY29yZXNpZ2h0L2NvcmVzaWdodC1jZmctcHJlbG9hZC5oICAgICAgICAgfCAg MTMgKwo+ID4gPiA+ID4gPj4gIC4uLi9od3RyYWNpbmcvY29yZXNpZ2h0L2NvcmVzaWdodC1jb25m aWcuYyAgICB8IDI3NSArKysrKysKPiA+ID4gPiA+ID4+ICAuLi4vaHd0cmFjaW5nL2NvcmVzaWdo dC9jb3Jlc2lnaHQtY29uZmlnLmggICAgfCAyNTMgKysrKysrCj4gPiA+ID4gPiA+PiAgZHJpdmVy cy9od3RyYWNpbmcvY29yZXNpZ2h0L2NvcmVzaWdodC1jb3JlLmMgIHwgIDEyICstCj4gPiA+ID4g PiA+PiAgLi4uL2h3dHJhY2luZy9jb3Jlc2lnaHQvY29yZXNpZ2h0LWV0bS1wZXJmLmMgIHwgMTUw ICsrKy0KPiA+ID4gPiA+ID4+ICAuLi4vaHd0cmFjaW5nL2NvcmVzaWdodC9jb3Jlc2lnaHQtZXRt LXBlcmYuaCAgfCAgMTIgKy0KPiA+ID4gPiA+ID4+ICAuLi4vaHd0cmFjaW5nL2NvcmVzaWdodC9j b3Jlc2lnaHQtZXRtNHgtY2ZnLmMgfCAxODIgKysrKwo+ID4gPiA+ID4gPj4gIC4uLi9od3RyYWNp bmcvY29yZXNpZ2h0L2NvcmVzaWdodC1ldG00eC1jZmcuaCB8ICAzMCArCj4gPiA+ID4gPiA+PiAg Li4uL2NvcmVzaWdodC9jb3Jlc2lnaHQtZXRtNHgtY29yZS5jICAgICAgICAgIHwgIDM4ICstCj4g PiA+ID4gPiA+PiAgLi4uL2NvcmVzaWdodC9jb3Jlc2lnaHQtZXRtNHgtc3lzZnMuYyAgICAgICAg IHwgICAzICsKPiA+ID4gPiA+ID4+ICAuLi4vY29yZXNpZ2h0L2NvcmVzaWdodC1zeXNjZmctY29u ZmlnZnMuYyAgICAgfCAzOTYgKysrKysrKysrCj4gPiA+ID4gPiA+PiAgLi4uL2NvcmVzaWdodC9j b3Jlc2lnaHQtc3lzY2ZnLWNvbmZpZ2ZzLmggICAgIHwgIDQ1ICsKPiA+ID4gPiA+ID4+ICAuLi4v aHd0cmFjaW5nL2NvcmVzaWdodC9jb3Jlc2lnaHQtc3lzY2ZnLmMgICAgfCA4MjkgKysrKysrKysr KysrKysrKysrCj4gPiA+ID4gPiA+PiAgLi4uL2h3dHJhY2luZy9jb3Jlc2lnaHQvY29yZXNpZ2h0 LXN5c2NmZy5oICAgIHwgIDgxICsrCj4gPiA+ID4gPiA+PiAgaW5jbHVkZS9saW51eC9jb3Jlc2ln aHQuaCAgICAgICAgICAgICAgICAgICAgIHwgIDExICsKPiA+ID4gPiA+ID4+ICAyMSBmaWxlcyBj aGFuZ2VkLCAyNzQ2IGluc2VydGlvbnMoKyksIDM2IGRlbGV0aW9ucygtKQo+ID4gPiA+ID4gPj4g IGNyZWF0ZSBtb2RlIDEwMDY0NCBEb2N1bWVudGF0aW9uL3RyYWNlL2NvcmVzaWdodC9jb3Jlc2ln aHQtY29uZmlnLnJzdAo+ID4gPiA+ID4gPj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2h3 dHJhY2luZy9jb3Jlc2lnaHQvY29yZXNpZ2h0LWNmZy1hZmRvLmMKPiA+ID4gPiA+ID4+ICBjcmVh dGUgbW9kZSAxMDA2NDQgZHJpdmVycy9od3RyYWNpbmcvY29yZXNpZ2h0L2NvcmVzaWdodC1jZmct cHJlbG9hZC5jCj4gPiA+ID4gPiA+PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvaHd0cmFj aW5nL2NvcmVzaWdodC9jb3Jlc2lnaHQtY2ZnLXByZWxvYWQuaAo+ID4gPiA+ID4gPj4gIGNyZWF0 ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2h3dHJhY2luZy9jb3Jlc2lnaHQvY29yZXNpZ2h0LWNvbmZp Zy5jCj4gPiA+ID4gPiA+PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvaHd0cmFjaW5nL2Nv cmVzaWdodC9jb3Jlc2lnaHQtY29uZmlnLmgKPiA+ID4gPiA+ID4+ICBjcmVhdGUgbW9kZSAxMDA2 NDQgZHJpdmVycy9od3RyYWNpbmcvY29yZXNpZ2h0L2NvcmVzaWdodC1ldG00eC1jZmcuYwo+ID4g PiA+ID4gPj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2h3dHJhY2luZy9jb3Jlc2lnaHQv Y29yZXNpZ2h0LWV0bTR4LWNmZy5oCj4gPiA+ID4gPiA+PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRy aXZlcnMvaHd0cmFjaW5nL2NvcmVzaWdodC9jb3Jlc2lnaHQtc3lzY2ZnLWNvbmZpZ2ZzLmMKPiA+ ID4gPiA+ID4+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9od3RyYWNpbmcvY29yZXNpZ2h0 L2NvcmVzaWdodC1zeXNjZmctY29uZmlnZnMuaAo+ID4gPiA+ID4gPj4gIGNyZWF0ZSBtb2RlIDEw MDY0NCBkcml2ZXJzL2h3dHJhY2luZy9jb3Jlc2lnaHQvY29yZXNpZ2h0LXN5c2NmZy5jCj4gPiA+ ID4gPiA+PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvaHd0cmFjaW5nL2NvcmVzaWdodC9j b3Jlc2lnaHQtc3lzY2ZnLmgKPiA+ID4gPiA+ID4+Cj4gPiA+ID4gPiA+PiAtLQo+ID4gPiA+ID4g Pj4gMi4xNy4xCj4gPiA+ID4gPiA+Pgo+ID4gPiA+ID4gPiBfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwo+ID4gPiA+ID4gPiBDb3JlU2lnaHQgbWFpbGluZyBs aXN0Cj4gPiA+ID4gPiA+IENvcmVTaWdodEBsaXN0cy5saW5hcm8ub3JnCj4gPiA+ID4gPiA+IGh0 dHBzOi8vbGlzdHMubGluYXJvLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2NvcmVzaWdodAo+ID4gPiA+ ID4gPgo+ID4gPiA+Cj4gPiA+ID4KPiA+ID4gPgo+ID4gPiA+IC0tCj4gPiA+ID4gTWlrZSBMZWFj aAo+ID4gPiA+IFByaW5jaXBhbCBFbmdpbmVlciwgQVJNIEx0ZC4KPiA+ID4gPiBNYW5jaGVzdGVy IERlc2lnbiBDZW50cmUuIFVLCj4gPgo+ID4KPiA+Cj4gPiAtLQo+ID4gTWlrZSBMZWFjaAo+ID4g UHJpbmNpcGFsIEVuZ2luZWVyLCBBUk0gTHRkLgo+ID4gTWFuY2hlc3RlciBEZXNpZ24gQ2VudHJl LiBVSwoKCgotLSAKTWlrZSBMZWFjaApQcmluY2lwYWwgRW5naW5lZXIsIEFSTSBMdGQuCk1hbmNo ZXN0ZXIgRGVzaWduIENlbnRyZS4gVUsKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1r ZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWls bWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK