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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id B54A0C32771 for ; Wed, 28 Sep 2022 15:40:40 +0000 (UTC) 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:MIME-Version:Message-ID:In-reply-to: Date:Subject:To:From:References:Reply-To:Cc:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=hiTj7kneZjho7tc1FXxRP33f45Sz8iud9FbJ+qR6juI=; b=2hoTXg/p9JMySZ DjAxKD5SWDMJ4dXekq3+vWrx1ZTyQxXnZWZjfpRiujkI+mU9dD8UvVwjN9hbgHCLbrRMD9ZGlwtMp GQ5Kft6sfj8Auftwugth2fz/iNongneAsdcwvvT1cHkrzL9EOdiJ06BxPsZ4ESPGJjjDKrhvX21PQ HUspHUd9WWvU+vHwiojuKMQyo8CYcNuYXXKkhiBKUpEqa5cJJzEgCmG3JI2e+4kC747+B4pCFLhAm VpUwzmOA22UFhuN8S6SWOWppqusw55DYFgBuSachktYrn7g92lIaB91WjE0e0EV57h/dRL+rG6nd+ zSvZ7x/qtVCiEUMbIicw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1odZAj-00GwcR-5e; Wed, 28 Sep 2022 15:40:29 +0000 Received: from mail-wm1-x32c.google.com ([2a00:1450:4864:20::32c]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1odZAf-00Gwat-Nj for linux-amlogic@lists.infradead.org; Wed, 28 Sep 2022 15:40:28 +0000 Received: by mail-wm1-x32c.google.com with SMTP id k3-20020a05600c1c8300b003b4fa1a85f8so1231054wms.3 for ; Wed, 28 Sep 2022 08:40:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20210112.gappssmtp.com; s=20210112; h=content-transfer-encoding:mime-version:message-id:in-reply-to:date :subject:to:from:user-agent:references:from:to:cc:subject:date; bh=RlCJgVI6Z1kRKUu162lI1Q0Miy/QkoL2EOMUCru7JOg=; b=nFYwD4inLbXHI2KI3mcZJFiCAmWWRnRLfk6INy0ajOoLv+9id23hJ709fq2nsT1ARY JXTql75OGeEPIL2Bb1jdZsYCd2AVaXx7S7kPd/2Yc8pz2Yc/BZI4vthG2ASm0LGq/Ib6 BSi9hJcXlNuxxXKfd8iRtO7c4Ajq1lwgdffnBTkUY8FZ4up9BZR2PvlVAtp7bY7Pjg3H ZqKEmZxKtFXXY/xdgK77zCiLh8DQz1/pL0F/rWsGsiLlxXAdpz51bQYfRspdG/UCL9zu FHHsPSZX0dZeegJoC1SyEKjmpK0eQ4I1ZSVldL60QwJMhmPsNKCTs5Gm0oZS8pwMkCh1 9phg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:in-reply-to:date :subject:to:from:user-agent:references:x-gm-message-state:from:to:cc :subject:date; bh=RlCJgVI6Z1kRKUu162lI1Q0Miy/QkoL2EOMUCru7JOg=; b=ODhwPoCGDXpx3LS/uX19BRlifHnj39gDYA+yJmm8zNTgcBEESYIUDdr0pnj2Gst0XW cJ3QnB0f51iUWaLcyqubeO1cf3adp5GOugKS0722vWeMfa67SgGMR/v5dH9mJbRIu4n0 u4ingmvVqCYyCY7kUJY/OuefBa0dyvLeCIBRIePKlkXAzAeqULelkC2FrzP6xhro+liE ZD0nvaLnQej8rhR+Htbcc53MC57y21jk+BkKd6/qCWlDcG6fKxFj7sXYbIifPFitgMy6 KuAEVfztX460pw++UUDT70Kgh8Wx9Q7T7rQprUjKBzqqBUc4ZDFduDf9psqkOm2dXUCo VDdg== X-Gm-Message-State: ACrzQf2We57kSMlYxBvNrFn8W1R8/w15N7J7bjCx9ZkCNsjd2RMz7qju axXgeYC0+ndY9zvo//p4AVx23A== X-Google-Smtp-Source: AMsMyM77Xhhmn8GlOIfa6q5vVJalkBkY4ZS5/PYh6pUA6az+X2B6Y4rCsG6DO5E1t5DCYgZ8KQjH4Q== X-Received: by 2002:a05:600c:2191:b0:3b4:868a:aad3 with SMTP id e17-20020a05600c219100b003b4868aaad3mr7433148wme.112.1664379621319; Wed, 28 Sep 2022 08:40:21 -0700 (PDT) Received: from localhost (laubervilliers-658-1-213-31.w90-63.abo.wanadoo.fr. [90.63.244.31]) by smtp.gmail.com with ESMTPSA id u16-20020a5d5150000000b0021f131de6aesm4254590wrt.34.2022.09.28.08.40.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 Sep 2022 08:40:20 -0700 (PDT) References: <20220805085716.5635-1-yu.tu@amlogic.com> <20220805085716.5635-7-yu.tu@amlogic.com> <1jedxlzxyz.fsf@starbuckisacylon.baylibre.com> <8f40cb49-fdc5-20cd-343b-8ce50e5d6d97@amlogic.com> <1j7d2rte33.fsf@starbuckisacylon.baylibre.com> <2b6035f3-8cbe-ab75-bed9-5751b141d3d6@amlogic.com> <0b621dfa-4ecd-a9a6-8681-8ab8b00d7841@amlogic.com> User-agent: mu4e 1.8.7; emacs 28.1 From: Jerome Brunet To: Yu Tu , linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-amlogic@lists.infradead.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Rob Herring , Neil Armstrong , Kevin Hilman , Michael Turquette , Stephen Boyd , Krzysztof Kozlowski , Martin Blumenstingl Subject: Re: [PATCH V3 6/6] clk: meson: s4: add s4 SoC peripheral clock controller driver Date: Wed, 28 Sep 2022 17:35:00 +0200 In-reply-to: <0b621dfa-4ecd-a9a6-8681-8ab8b00d7841@amlogic.com> Message-ID: <1jtu4rzevv.fsf@starbuckisacylon.baylibre.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220928_084025_810632_0057E7A4 X-CRM114-Status: GOOD ( 24.48 ) X-BeenThere: linux-amlogic@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-amlogic" Errors-To: linux-amlogic-bounces+linux-amlogic=archiver.kernel.org@lists.infradead.org Ck9uIFdlZCAyMSBTZXAgMjAyMiBhdCAxNzowMSwgWXUgVHUgPHl1LnR1QGFtbG9naWMuY29tPiB3 cm90ZToKCj4gSGkgSmVyb21lLAo+Cj4gT24gMjAyMi84LzMwIDE2OjIwLCBZdSBUdSB3cm90ZToK Pj4gT24gMjAyMi84LzI5IDIwOjE5LCBKZXJvbWUgQnJ1bmV0IHdyb3RlOgo+Pj4gWyBFWFRFUk5B TCBFTUFJTCBdCj4+Pgo+Pj4KPj4+IE9uIFR1ZSAxNiBBdWcgMjAyMiBhdCAyMDowMCwgWXUgVHUg PHl1LnR1QGFtbG9naWMuY29tPiB3cm90ZToKPj4+Cj4+PiBQbGVhc2UgdHJpbSB5b3VyIHJlcGxp ZXMKPj4+Cj4+Pj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9jbGsvbWVzb24vS2NvbmZpZyBiL2Ry aXZlcnMvY2xrL21lc29uL0tjb25maWcKPj4+Pj4+IGluZGV4IGY0MjQ0ZWRjN2IyOC4uZWM2YmVi OTI4NGQzIDEwMDY0NAo+Pj4+Pj4gLS0tIGEvZHJpdmVycy9jbGsvbWVzb24vS2NvbmZpZwo+Pj4+ Pj4gKysrIGIvZHJpdmVycy9jbGsvbWVzb24vS2NvbmZpZwo+Pj4+Pj4gQEAgLTEyNyw0ICsxMjcs MTcgQEAgY29uZmlnIENPTU1PTl9DTEtfUzRfUExMCj4+Pj4+PiDCoMKgwqDCoMKgwqDCoMKgIFN1 cHBvcnQgZm9yIHRoZSBwbGwgY2xvY2sgY29udHJvbGxlciBvbiBBbWxvZ2ljIFM4MDVYMiBhbmQK Pj4+Pj4+IFM5MDVZNCBkZXZpY2VzLAo+Pj4+Pj4gwqDCoMKgwqDCoMKgwqDCoCBha2EgczQuIEFt bG9naWMgUzgwNVgyIGFuZCBTOTA1WTQgZGV2aWNlcyBpbmNsdWRlIEFRMjIyIGFuZAo+Pj4+Pj4g QVEyMjkuCj4+Pj4+PiDCoMKgwqDCoMKgwqDCoMKgIFNheSBZIGlmIHlvdSB3YW50IHBlcmlwaGVy YWxzIGFuZCBDUFUgZnJlcXVlbmN5IHNjYWxpbmcgdG8KPj4+Pj4+IHdvcmsuCj4+Pj4+PiArCj4+ Pj4+PiArY29uZmlnIENPTU1PTl9DTEtfUzQKPj4+Pj4+ICvCoMKgwqAgdHJpc3RhdGUgIlM0IFNv QyBQZXJpcGhlcmFscyBjbG9jayBjb250cm9sbGVycyBzdXBwb3J0Igo+Pj4+Pj4gK8KgwqDCoCBk ZXBlbmRzIG9uIEFSTTY0Cj4+Pj4+PiArwqDCoMKgIGRlZmF1bHQgeQo+Pj4+Pj4gK8KgwqDCoCBz ZWxlY3QgQ09NTU9OX0NMS19NRVNPTl9SRUdNQVAKPj4+Pj4+ICvCoMKgwqAgc2VsZWN0IENPTU1P Tl9DTEtfTUVTT05fRFVBTERJVgo+Pj4+Pj4gK8KgwqDCoCBzZWxlY3QgQ09NTU9OX0NMS19NRVNP Tl9WSURfUExMX0RJVgo+Pj4+Pj4gK8KgwqDCoCBzZWxlY3QgQ09NTU9OX0NMS19TNF9QTEwKPj4+ Pj4gRG8geW91IHJlYWxseSB0aGlzID8geW91ciBkcml2ZXIgZG9lcyBub3QgZXZlbiBpbmNsdWRl IHRoZSByZWxhdGVkCj4+Pj4+IGhlYWRlci4KPj4+PiBJZiB0aGUgUExMIGRyaXZlciBpcyBub3Qg dHVybmVkIG9uIGluIERUUywgd2lsbCBpdCBub3QgY2F1c2UgYW4gZXJyb3I/Cj4+Pj4+Cj4+Pgo+ Pj4gSSBkb24ndCBnZXQgdGhlIHF1ZXN0aW9uLgo+Pj4gS2NvbmZpZyBsaXN0IGNvbXBpbGUgZGVw cy4gUzQgUExMIGlzIG5vdCBhIGNvbXBpbGUgZGVwIG9mIHRoZSBwZXJpcGhlcmFsCj4+PiBjb250 cm9sbGVyLgo+Pj4KPj4+IElmIHlvdSByZWFsbHkgd2FudCB0bywgeW91IG1heSB1c2UgJ2ltcGx5 Jy4KPj4gVjQgaGFzIGJlZW4gY2hhbmdlZCBhcyB5b3Ugc3VnZ2VzdGVkLgo+Cj4gVGhlIG5leHQg ZWRpdGlvbiBpcyBiZWluZyBjaGFuZ2VkIGFjY29yZGluZyB0byB5b3VyIHJlcXVpcmVtZW50cy4g UGxlYXNlCj4gZ2l2ZSB1cyB5b3VyIHZhbHVhYmxlIG9waW5pb25zLgo+Cj4+IAo+Pj4+Pgo+Pj4+ Pj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgY2xrX3BhcmVudF9kYXRhIHN5c19hYl9jbGtfcGFyZW50 X2RhdGFbXSA9IHsKPj4+Pj4+ICvCoMKgwqAgeyAuZndfbmFtZSA9ICJ4dGFsIiB9LAo+Pj4+Pj4g K8KgwqDCoCB7IC5md19uYW1lID0gImZjbGtfZGl2MiIgfSwKPj4+Pj4+ICvCoMKgwqAgeyAuZndf bmFtZSA9ICJmY2xrX2RpdjMiIH0sCj4+Pj4+PiArwqDCoMKgIHsgLmZ3X25hbWUgPSAiZmNsa19k aXY0IiB9LAo+Pj4+Pj4gK8KgwqDCoCB7IC5md19uYW1lID0gImZjbGtfZGl2NSIgfSwKPj4+Pj4+ ICvCoMKgwqAgeyAuZndfbmFtZSA9ICJmY2xrX2RpdjciIH0sCj4+Pj4+PiArwqDCoMKgIHsgLmh3 ID0gJnM0X3J0Y19jbGsuaHcgfQo+Pj4+Pj4gK307Cj4+Pj4+PiArCj4+Pj4+PiArc3RhdGljIHN0 cnVjdCBjbGtfcmVnbWFwIHM0X3N5c2Nsa19iX3NlbCA9IHsKPj4+Pj4+ICvCoMKgwqAgLmRhdGEg PSAmKHN0cnVjdCBjbGtfcmVnbWFwX211eF9kYXRhKXsKPj4+Pj4+ICvCoMKgwqDCoMKgwqDCoCAu b2Zmc2V0ID0gQ0xLQ1RSTF9TWVNfQ0xLX0NUUkwwLAo+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgIC5t YXNrID0gMHg3LAo+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgIC5zaGlmdCA9IDI2LAo+Pj4+Pj4gK8Kg wqDCoMKgwqDCoMKgIC50YWJsZSA9IG11eF90YWJsZV9zeXNfYWJfY2xrX3NlbCwKPj4+Pj4+ICvC oMKgwqAgfSwKPj4+Pj4+ICvCoMKgwqAgLmh3LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRh KXsKPj4+Pj4+ICvCoMKgwqDCoMKgwqDCoCAubmFtZSA9ICJzeXNjbGtfYl9zZWwiLAo+Pj4+Pj4g K8KgwqDCoMKgwqDCoMKgIC5vcHMgPSAmY2xrX3JlZ21hcF9tdXhfcm9fb3BzLAo+Pj4+PiBXaHkg aXMgdGhpcyB1c2luZyB0aGUgUk8gb3BzID8KPj4+PiBTeXNfY2xrIGlzIGluaXRpYWxpemVkIGR1 cmluZyB0aGUgVWJvb3QgcGhhc2UgYW5kIGlzIGZpeGVkIGF0Cj4+Pj4gMTY2LjY2Nk1Iei4gU28g SSdtIGdvaW5nIHRvIGNoYW5nZSBpdCB0byByby4KPj4+Cj4+PiBUaGF0IHJlYWxseSBtdWNoIGRl cGVuZHMgb24gdGhlIGJvb3Rsb2FkZXIgYW5kIGlzIGEgcHJldHR5IHdlYWsgZGVzaWduLgo+Pj4g VGhlIGJvb3Rsb2FkZXIgZGVwcyBzaG91bGQgYmUga2VwdCBhcyBtaW5pbWFsIGFzIHBvc3NpYmxl Lgo+Pj4KPj4+IEkgc2VlIG5vIHJlYXNvbiBmb3IgUk8uCj4+Pgo+Pj4gWW91IG1heSBjdXQgcmF0 ZSBwcm9wYWdhdGlvbiBvbiB0aGUgdXNlciBpZiB5b3UgbmVlZCB0byBhbmQgY29udGludWUgdG8K Pj4+IHdoYXRldmVyIHlvdSB3YW50IGluIHlvdXIgdS1ib290Cj4+IEkgdGhpbmsgSSBrbm93IHdo YXQgeW91IG1lYW4uIEJ1dCB3ZSBsZXQgdGhlIHVzZXIgYmUgaW4gY29udHJvbCBhbmQgbm90Cj4+ IHNldCB0aGUgZnJlcXVlbmN5LCB3aGljaCBjYW4gYmUgcmlza3kuIElmIHlvdSBpbnNpc3QsIEkg d2lsbCBjaGFuZ2UgaXQgYXMKPj4geW91IHN1Z2dlc3QuCj4KPiBJdCBoYXMgYmVlbiBjaGFuZ2Vk IGFzIHlvdSByZXF1ZXN0ZWQuCj4KPj4gCj4+Pgo+Pj4+Pgo+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKg IC5wYXJlbnRfZGF0YSA9IHN5c19hYl9jbGtfcGFyZW50X2RhdGEsCj4+Pj4+PiArwqDCoMKgwqDC oMKgwqAgLm51bV9wYXJlbnRzID0gQVJSQVlfU0laRShzeXNfYWJfY2xrX3BhcmVudF9kYXRhKSwK Pj4+Pj4+ICvCoMKgwqAgfSwKPj4+Pj4+ICt9Owo+Pj4+Pj4gKwo+Pj4+Pj4gK3N0YXRpYyBzdHJ1 Y3QgY2xrX3JlZ21hcCBzNF9zeXNjbGtfYl9kaXYgPSB7Cj4+Pj4+PiArwqDCoMKgIC5kYXRhID0g JihzdHJ1Y3QgY2xrX3JlZ21hcF9kaXZfZGF0YSl7Cj4+Pj4+PiArwqDCoMKgwqDCoMKgwqAgLm9m ZnNldCA9IENMS0NUUkxfU1lTX0NMS19DVFJMMCwKPj4+Pj4+ICvCoMKgwqDCoMKgwqDCoCAuc2hp ZnQgPSAxNiwKPj4+Pj4+ICvCoMKgwqDCoMKgwqDCoCAud2lkdGggPSAxMCwKPj4+Pj4+ICvCoMKg wqAgfSwKPj4+Pj4+ICvCoMKgwqAgLmh3LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKXsK Pj4+Pj4+ICvCoMKgwqDCoMKgwqDCoCAubmFtZSA9ICJzeXNjbGtfYl9kaXYiLAo+Pj4+Pj4gK8Kg wqDCoMKgwqDCoMKgIC5vcHMgPSAmY2xrX3JlZ21hcF9kaXZpZGVyX3JvX29wcywKPj4+Pj4gU2Ft ZSBoZXJlIGFuZCBmb3IgdGhlIHJlc3Qgb2YgdGhlIHN5cyBwYXJ0Cj4+Pj4gU2FtZSBhYm92ZS4K Pj4+Cj4+PiBXZSBjYW4gcGxheSB0aGF0IGdhbWUgZm9yIGEgd2hpbGUKPj4gQWgsIHlvdSdyZSBz byBmdW5ueS4KPj4gCj4+Pgo+Pj4+Pj4gKwo+Pj4+Pj4gKy8qIFZpZGVvIENsb2NrcyAqLwo+Pj4+ Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBzNF92aWRfcGxsX2RpdiA9IHsKPj4+Pj4+ICvC oMKgwqAgLmRhdGEgPSAmKHN0cnVjdCBtZXNvbl92aWRfcGxsX2Rpdl9kYXRhKXsKPj4+Pj4+ICvC oMKgwqDCoMKgwqDCoCAudmFsID0gewo+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLnJl Z19vZmYgPSBDTEtDVFJMX1ZJRF9QTExfQ0xLX0RJViwKPj4+Pj4+ICvCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIC5zaGlmdMKgwqAgPSAwLAo+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLndp ZHRowqDCoCA9IDE1LAo+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgIH0sCj4+Pj4+PiArwqDCoMKgwqDC oMKgwqAgLnNlbCA9IHsKPj4+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIC5yZWdfb2ZmID0g Q0xLQ1RSTF9WSURfUExMX0NMS19ESVYsCj4+Pj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAu c2hpZnTCoMKgID0gMTYsCj4+Pj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAud2lkdGjCoMKg ID0gMiwKPj4+Pj4+ICvCoMKgwqDCoMKgwqDCoCB9LAo+Pj4+Pj4gK8KgwqDCoCB9LAo+Pj4+Pj4g K8KgwqDCoCAuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpIHsKPj4+Pj4+ICvCoMKg wqDCoMKgwqDCoCAubmFtZSA9ICJ2aWRfcGxsX2RpdiIsCj4+Pj4+PiArwqDCoMKgwqDCoMKgwqAg Lm9wcyA9ICZtZXNvbl92aWRfcGxsX2Rpdl9yb19vcHMsCj4+Pj4+IFdoeSBSTyA/IGFwcGxpZXMg dG8gdGhlIHJlc3Qgb2YgdGhlIHZpZGVvIHBhcnQuCj4+Pj4gQmVjYXVzZSB2aWRfcGxsX2RpdiBw YXJlbnQgaXMgSERNSV9QTEwsIGFuZCBIRE1JX1BMTCBpcyBhIGZpeGVkCj4+Pj4gZnJlcXVlbmN5 LiBGbGFncyBpcyBDTEtfU0VUX1JBVEVfUEFSRU5ULiBTbyB3ZSB1c2UgUk8uCj4+Pgo+Pj4gSWYg dGhlIEhETUlfUExMIGlzIGZpeGVkIHNvbWVob3csIHRoYXQgaXMgbm90IHJlYXNvbiBmb3IgdGhp cyBjbG9jayB0bwo+Pj4gYmUgUk8KPj4+Cj4+Pj4gQ2FuIEkgcmVtb3ZlIFJPIGFuZCB1c2UgQ0xL X1NFVF9SQVRFX05PX1JFUEFSRU5UIGluc3RlYWQsIHdoaWNoIG9uZSBkbwo+Pj4+IHlvdQo+Pj4+ IHRoaW5rIGlzIG1vcmUgcmVhc29uYWJsZT8KPj4+Cj4+PiBOZWl0aGVyLiBDTEtfU0VUX1JBVEVf Tk9fUkVQQVJFTlQgbWFrZXMgbm8gc2Vuc2UsIGl0IGlzIG5vdCBtdXgKPj4+Cj4+ICJkcml2ZXJz L2Nsay9tZXNvbi92aWQtcGxsLWRpdi5jIgo+PiBUaGlzIGZpbGUgb25seSBwcm92aWRlcyByb19v cHMuIE1heWJlIHRoZSBzdWJtaXNzaW9uIHJlY29yZHMgd2lsbCBnaXZlIHVzCj4+IHRoZSBhbnN3 ZXIuCj4+IEluIGZhY3QsIG91ciBoYXJkd2FyZSBkZXNpZ24gaXMgdGhlIHNhbWUgYXMgdGhlIEcx MiBzZXJpZXMuCj4KPiBJIGRvbid0IGtub3cgaWYgeW91IGNoZWNrZWQgdGhpcyBjb21taXQsIGJ1 dCB0aGVyZSBpcyBvbmx5IG9uZSAicm9fb3BzImluCj4gdGhpcyBwbGFjZSByaWdodCBub3cuCj4K PiBUaGUgUzQgU29DIGlzIGNvbnNpc3RlbnQgd2l0aCB0aGUgRzEyQS9CIGFuZCBHWCBzZXJpZXMu Cj4KCkkgbWlzc2VkIHRoZSB2aWRfcGxsIHR5cGUsIE9rIHRoZW4uCgo+PiAKPj4+Pgo+Pj4+Pgo+ Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgIC5wYXJlbnRfZGF0YSA9IChjb25zdCBzdHJ1Y3QgY2xrX3Bh cmVudF9kYXRhIFtdKSB7Cj4+Pj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB7IC5md19uYW1l ID0gImhkbWlfcGxsIiwgfQo+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgIH0sCj4+Pj4+PiArwqDCoMKg wqDCoMKgwqAgLm51bV9wYXJlbnRzID0gMSwKPj4+Pj4+ICvCoMKgwqDCoMKgwqDCoCAuZmxhZ3Mg PSBDTEtfU0VUX1JBVEVfUEFSRU5ULAo+Pj4+Pj4gK8KgwqDCoCB9LAo+Pj4+Pj4gK307Cj4+Pj4+ PiArCj4+Pj4+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIHM0X3ZpZF9wbGxfc2VsID0gewo+ Pj4+Pj4gK8KgwqDCoCAuZGF0YSA9ICYoc3RydWN0IGNsa19yZWdtYXBfbXV4X2RhdGEpewo+Pj4+ Pj4gK8KgwqDCoMKgwqDCoMKgIC5vZmZzZXQgPSBDTEtDVFJMX1ZJRF9QTExfQ0xLX0RJViwKPj4+ Pj4+ICvCoMKgwqDCoMKgwqDCoCAubWFzayA9IDB4MSwKPj4+Pj4+ICvCoMKgwqDCoMKgwqDCoCAu c2hpZnQgPSAxOCwKPj4+Pj4+ICvCoMKgwqAgfSwKPj4+Pj4+ICvCoMKgwqAgLmh3LmluaXQgPSAm KHN0cnVjdCBjbGtfaW5pdF9kYXRhKXsKPj4+Pj4+ICvCoMKgwqDCoMKgwqDCoCAubmFtZSA9ICJ2 aWRfcGxsX3NlbCIsCj4+Pj4+PiArwqDCoMKgwqDCoMKgwqAgLm9wcyA9ICZjbGtfcmVnbWFwX211 eF9vcHMsCj4+Pj4+PiArwqDCoMKgwqDCoMKgwqAgLyoKPj4+Pj4+ICvCoMKgwqDCoMKgwqDCoMKg ICogYml0IDE4IHNlbGVjdHMgZnJvbSAyIHBvc3NpYmxlIHBhcmVudHM6Cj4+Pj4+PiArwqDCoMKg wqDCoMKgwqDCoCAqIHZpZF9wbGxfZGl2IG9yIGhkbWlfcGxsCj4+Pj4+PiArwqDCoMKgwqDCoMKg wqDCoCAqLwo+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgIC5wYXJlbnRfZGF0YSA9IChjb25zdCBzdHJ1 Y3QgY2xrX3BhcmVudF9kYXRhIFtdKSB7Cj4+Pj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB7 IC5odyA9ICZzNF92aWRfcGxsX2Rpdi5odyB9LAo+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqAgeyAuZndfbmFtZSA9ICJoZG1pX3BsbCIsIH0KPj4+Pj4+ICvCoMKgwqDCoMKgwqDCoCB9LAo+ Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgIC5udW1fcGFyZW50cyA9IDIsCj4+Pj4+PiArwqDCoMKgwqDC oMKgwqAgLmZsYWdzID0gQ0xLX1NFVF9SQVRFX05PX1JFUEFSRU5ULAo+Pj4+PiBXaHkgPyBhcmUg eW91IHBsYW5uaW5nIHRvIERUIGFzc2lnbmVkIGNsb2NrcyB0byBzdGF0aWNhbGx5IHNldCB0aGlz ID8KPj4+PiBCZWNhdXNlIHZpZF9wbGxfc2VsIG9uZSBwYXJlbnQgaXMgSERNSV9QTEwsIGFuZCBI RE1JX1BMTCBpcyBhIGZpeGVkCj4+Pj4gZnJlcXVlbmN5LiBUbyBwcmV2ZW50IG1vZGlmaWNhdGlv biwgdXNlIENMS19TRVRfUkFURV9OT19SRVBBUkVOVC4KPj4+Cj4+PiBBZ2FpbiwgdGhpcyBtYWtl cyBubyBzZW5zZS4KPj4gVW5mb3J0dW5hdGVseSB5b3UgZG9uJ3QgcmVhZCBWNCwgaW4gZmFjdCBJ IGhhdmUgY29ycmVjdGVkIGluIFY0Lgo+PiAiLmZsYWdzID0gQ0xLX1NFVF9SQVRFX1BBUkVOVCwi IGluIFY0LiBJcyB0aGF0IG9rYXkgd2l0aCB5b3U/Cj4KPiBJIGRvbid0IGtub3cgd2hhdCB5b3Ug dGhpbms/Cj4KCm9rCgo+PiAKPj4+Cj4+Pj4+Cj4+Pj4+PiArwqDCoMKgIH0sCj4+Pj4+PiArfTsK Pj4+Pj4+ICsKPj4+Pj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgczRfdmlkX3BsbCA9IHsK Pj4+Pj4+ICvCoMKgwqAgLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVnbWFwX2dhdGVfZGF0YSl7Cj4+ Pj4+PiArwqDCoMKgwqDCoMKgwqAgLm9mZnNldCA9IENMS0NUUkxfVklEX1BMTF9DTEtfRElWLAo+ Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgIC5iaXRfaWR4ID0gMTksCj4+Pj4+PiArwqDCoMKgIH0sCj4+ Pj4+PiArwqDCoMKgIC5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSkgewo+Pj4+Pj4g K8KgwqDCoMKgwqDCoMKgIC5uYW1lID0gInZpZF9wbGwiLAo+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKg IC5vcHMgPSAmY2xrX3JlZ21hcF9nYXRlX29wcywKPj4+Pj4+ICvCoMKgwqDCoMKgwqDCoCAucGFy ZW50X2h3cyA9IChjb25zdCBzdHJ1Y3QgY2xrX2h3ICpbXSkgewo+Pj4+Pj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqAgJnM0X3ZpZF9wbGxfc2VsLmh3Cj4+Pj4+PiArwqDCoMKgwqDCoMKgwqAgfSwK Pj4+Pj4+ICvCoMKgwqDCoMKgwqDCoCAubnVtX3BhcmVudHMgPSAxLAo+Pj4+Pj4gK8KgwqDCoMKg wqDCoMKgIC5mbGFncyA9IENMS19TRVRfUkFURV9QQVJFTlQsCj4+Pj4+PiArwqDCoMKgIH0sCj4+ Pj4+PiArfTsKPj4+Pj4+ICsKPj4+Pj4+ICtzdGF0aWMgY29uc3Qgc3RydWN0IGNsa19wYXJlbnRf ZGF0YSBzNF92Y2xrX3BhcmVudF9kYXRhW10gPSB7Cj4+Pj4+PiArwqDCoMKgIHsgLmh3ID0gJnM0 X3ZpZF9wbGwuaHcgfSwKPj4+Pj4+ICvCoMKgwqAgeyAuZndfbmFtZSA9ICJncDBfcGxsIiwgfSwK Pj4+Pj4+ICvCoMKgwqAgeyAuZndfbmFtZSA9ICJoaWZpX3BsbCIsIH0sCj4+Pj4+PiArwqDCoMKg IHsgLmZ3X25hbWUgPSAibXBsbDEiLCB9LAo+Pj4+Pj4gK8KgwqDCoCB7IC5md19uYW1lID0gImZj bGtfZGl2MyIsIH0sCj4+Pj4+PiArwqDCoMKgIHsgLmZ3X25hbWUgPSAiZmNsa19kaXY0IiwgfSwK Pj4+Pj4+ICvCoMKgwqAgeyAuZndfbmFtZSA9ICJmY2xrX2RpdjUiLCB9LAo+Pj4+Pj4gK8KgwqDC oCB7IC5md19uYW1lID0gImZjbGtfZGl2NyIsIH0sCj4+Pj4+PiArfTsKPj4+Pj4+ICsKPj4+Pj4+ ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgczRfdmNsa19zZWwgPSB7Cj4+Pj4+PiArwqDCoMKg IC5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9tdXhfZGF0YSl7Cj4+Pj4+PiArwqDCoMKgwqDC oMKgwqAgLm9mZnNldCA9IENMS0NUUkxfVklEX0NMS19DVFJMLAo+Pj4+Pj4gK8KgwqDCoMKgwqDC oMKgIC5tYXNrID0gMHg3LAo+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgIC5zaGlmdCA9IDE2LAo+Pj4+ Pj4gK8KgwqDCoCB9LAo+Pj4+Pj4gK8KgwqDCoCAuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0 X2RhdGEpewo+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgIC5uYW1lID0gInZjbGtfc2VsIiwKPj4+Pj4+ ICvCoMKgwqDCoMKgwqDCoCAub3BzID0gJmNsa19yZWdtYXBfbXV4X29wcywKPj4+Pj4+ICvCoMKg wqDCoMKgwqDCoCAucGFyZW50X2RhdGEgPSBzNF92Y2xrX3BhcmVudF9kYXRhLAo+Pj4+Pj4gK8Kg wqDCoMKgwqDCoMKgIC5udW1fcGFyZW50cyA9IEFSUkFZX1NJWkUoczRfdmNsa19wYXJlbnRfZGF0 YSksCj4+Pj4+PiArwqDCoMKgwqDCoMKgwqAgLmZsYWdzID0gQ0xLX1NFVF9SQVRFX05PX1JFUEFS RU5ULAo+Pj4+PiBTYW1lCj4+Pj4gU2luY2UgZmNsa19kaXYqIGlzIGEgZml4ZWQgZnJlcXVlbmN5 IHZhbHVlLCBtcGxMMSBhbmQgaGlmaV9wbGwgYW5kCj4+Pj4gZ3AwX3BsbAo+Pj4+IGFyZSB1c2Vk IGJ5IG90aGVyIHNwZWNpYWxpemVkIG1vZHVsZXMsIHZpZF9wbGwgaGFzCj4+Pj4gQ0xLX1NFVF9S QVRFX1BBUkVOVC4gVGhlCj4+Pj4gcGFyZW50IG9mIHZpZF9wbGwgaXMgdGhhdCB2aWRfcGxsX3Nl bCB1c2VzIENMS19TRVRfUkFURV9OT19SRVBBUkVOVC4KPj4+Cj4+PiBTdGlsbCBub3QgZ29vZC4K Pj4+Cj4+PiBZb3UgZG9uJ3QgaGF2ZSBDTEtfU0VUX1JBVEUsIHByb3BhZ2F0aW9uIGlzIHN0b3Bw ZWQgYW5kIHBhcmVudCBjbG9jawo+Pj4gd2lsbCBub3QgY2hhbmdlZC4gVGhlIGJlc3QgcGFyZW50 IHdpbGwgYmUgcGlja2VkIGJ1dCBub3QgY2hhbmdlZC4KPj4+Cj4+PiBJZiBvbmUgcGFyZW50IE1V U1QgTk9UIGJlIHBpY2tlZCwganVzdCByZW1vdmUgaXQgZnJvbSB0aGUgbGlzdCBhbmQgYWRkIGEK Pj4+IGV4cGxhaW5pbmcgd2h5Cj4+Pgo+Pj4gWy4uLl0KPj4gT2theS4KPgo+IEluIHRoZSBuZXh0 IGVkaXRpb24gSSB3aWxsIGNoYW5nZSBpdCB0byAiLmZsYWdzID0gQ0xLX1NFVF9SQVRFX1BBUkVO VCIuCj4KCklmIHlvdSBjbG9jayByYXRlIHByb3BhZ2F0aW9uIGlzIG9rLCB0aGVuIE9LCgo+PiAK Pj4+Cj4+Pj4+PiArCj4+Pj4+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIHM0X3RzX2Nsa19k aXYgPSB7Cj4+Pj4+PiArwqDCoMKgIC5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9kaXZfZGF0 YSl7Cj4+Pj4+PiArwqDCoMKgwqDCoMKgwqAgLm9mZnNldCA9IENMS0NUUkxfVFNfQ0xLX0NUUkws Cj4+Pj4+PiArwqDCoMKgwqDCoMKgwqAgLnNoaWZ0ID0gMCwKPj4+Pj4+ICvCoMKgwqDCoMKgwqDC oCAud2lkdGggPSA4LAo+Pj4+Pj4gK8KgwqDCoCB9LAo+Pj4+Pj4gK8KgwqDCoCAuaHcuaW5pdCA9 ICYoc3RydWN0IGNsa19pbml0X2RhdGEpewo+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgIC5uYW1lID0g InRzX2Nsa19kaXYiLAo+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgIC5vcHMgPSAmY2xrX3JlZ21hcF9k aXZpZGVyX29wcywKPj4+Pj4+ICvCoMKgwqDCoMKgwqDCoCAucGFyZW50X2RhdGEgPSAmKGNvbnN0 IHN0cnVjdCBjbGtfcGFyZW50X2RhdGEpIHsKPj4+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IC5md19uYW1lID0gInh0YWwiLAo+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgIH0sCj4+Pj4+PiArwqDC oMKgwqDCoMKgwqAgLm51bV9wYXJlbnRzID0gMSwKPj4+Pj4gcHJvcGFnYXRpb24gc3RvcHBlZCA/ Cj4+Pj4gSXRzIHBhcmVudCBpcyB4dGFsLCBzbyBJIHNob3VsZCB1c2UgQ0xLX1NFVF9SQVRFX05P X1JFUEFSRU5ULgo+Pj4KPj4+IFN0aWxsIG5vLiBZb3Ugc2VlbSB0byBoYXZlIHByb2JsZW0gd2l0 aCB0aGUgbWVhbmluZyBvZgo+Pj4gQ0xLX1NFVF9SQVRFX05PX1JFUEFSRU5ULgo+Pj4KPj4+ICog Q0xLX1NFVF9SQVRFX05PX1JFUEFSRU5UOiBtZWFucyB0aGUgcGFyZW50IHdpbGwgbm8gYmUgY2hh bmdlZCwgZXZlbiBpZgo+Pj4gwqDCoCBzZWxlY3RpbmcgYW5vdGhlciBwYXJlbnQgd291bGQgcmVz dWx0IGluIGEgY2xvc2VyIHJhdGUgdG8gdGhlCj4+PiDCoMKgIHJlcXVlc3QuIEl0IG1ha2VzIHNl bnNlIG9ubHkgaWYgdGhlIGNsb2NrIGhhcyBzZXZlcmFsIHBhcmVudHMKPj4+Cj4+PiAqIENMS19T RVRfUkFURV9QQVJFTlQ6IG1lYW5zIHJhdGUgY2hhbmdlIG1heSBwcm9wYWdhdGUgdGhlIHBhcmVu dCwKPj4+IMKgwqAgbWVhbmluZyB0aGUgcmF0ZSBvZiB0aGUgcGFyZW50IG1heSBjaGFuZ2UgaWYg aXQgaGVscCB0aGUgY2hpbGQgYWNoaWV2ZQo+Pj4gwqDCoCBhIGNsb3NlciByYXRlIHRvIHRoZSBy ZXF1ZXN0Cj4+IFRoYW5rIHlvdSBmb3IgZXhwbGFpbmluZy5JIGdvdCBpdC4KPj4gCj4+Pgo+Pj4+ Pgo+Pj4+Pj4gK8KgwqDCoCB9LAo+Pj4+Pj4gK307Cj4+Pj4+PiArCj4+Pj4+PiArc3RhdGljIHN0 cnVjdCBjbGtfcmVnbWFwIHM0X3RzX2Nsa19nYXRlID0gewo+Pj4+Pj4gK8KgwqDCoCAuZGF0YSA9 ICYoc3RydWN0IGNsa19yZWdtYXBfZ2F0ZV9kYXRhKXsKPj4+Pj4+ICvCoMKgwqDCoMKgwqDCoCAu b2Zmc2V0ID0gQ0xLQ1RSTF9UU19DTEtfQ1RSTCwKPj4+Pj4+ICvCoMKgwqDCoMKgwqDCoCAuYml0 X2lkeCA9IDgsCj4+Pj4+PiArwqDCoMKgIH0sCj4+Pj4+PiArwqDCoMKgIC5ody5pbml0ID0gJihz dHJ1Y3QgY2xrX2luaXRfZGF0YSl7Cj4+Pj4+PiArwqDCoMKgwqDCoMKgwqAgLm5hbWUgPSAidHNf Y2xrIiwKPj4+Pj4+ICvCoMKgwqDCoMKgwqDCoCAub3BzID0gJmNsa19yZWdtYXBfZ2F0ZV9vcHMs Cj4+Pj4+PiArwqDCoMKgwqDCoMKgwqAgLnBhcmVudF9od3MgPSAoY29uc3Qgc3RydWN0IGNsa19o dyAqW10pIHsKPj4+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICZzNF90c19jbGtfZGl2Lmh3 Cj4+Pj4+PiArwqDCoMKgwqDCoMKgwqAgfSwKPj4+Pj4+ICvCoMKgwqDCoMKgwqDCoCAubnVtX3Bh cmVudHMgPSAxLAo+Pj4+Pj4gK8KgwqDCoCB9LAo+Pj4+PiBwcm9wYWdhdGlvbiBzdG9wcGVkID8K Pj4+PiBJIHdpbGwgYWRkIENMS19TRVRfUkFURV9QQVJFTlQuCj4+Pgo+Pj4gWy4uLl0KPj4+Cj4+ Pj4+PiArLyogRU1NQy9OQU5EIGNsb2NrICovCj4+Pj4+PiArCj4+Pj4+PiArc3RhdGljIGNvbnN0 IHN0cnVjdCBjbGtfcGFyZW50X2RhdGEgczRfc2RfZW1tY19jbGswX3BhcmVudF9kYXRhW10gPSB7 Cj4+Pj4+PiArwqDCoMKgIHsgLmZ3X25hbWUgPSAieHRhbCIsIH0sCj4+Pj4+PiArwqDCoMKgIHsg LmZ3X25hbWUgPSAiZmNsa19kaXYyIiwgfSwKPj4+Pj4+ICvCoMKgwqAgeyAuZndfbmFtZSA9ICJm Y2xrX2RpdjMiLCB9LAo+Pj4+Pj4gK8KgwqDCoCB7IC5md19uYW1lID0gImhpZmlfcGxsIiwgfSwK Pj4+Pj4+ICvCoMKgwqAgeyAuZndfbmFtZSA9ICJmY2xrX2RpdjJwNSIsIH0sCj4+Pj4+PiArwqDC oMKgIC8qCj4+Pj4+PiArwqDCoMKgwqAgKiBGb2xsb3dpbmcgdGhlc2UgcGFyZW50IGNsb2Nrcywg d2Ugc2hvdWxkIGFsc28gaGF2ZSBoYWQgbXBsbDIsCj4+Pj4+PiBtcGxsMwo+Pj4+Pj4gK8KgwqDC oMKgICogYW5kIGdwMF9wbGwgYnV0IHRoZXNlIGNsb2NrcyBhcmUgdG9vIHByZWNpb3VzIHRvIGJl IHVzZWQKPj4+Pj4+IGhlcmUuIEFsbAo+Pj4+Pj4gK8KgwqDCoMKgICogdGhlIG5lY2Vzc2FyeSBy YXRlcyBmb3IgTU1DIGFuZCBOQU5EIG9wZXJhdGlvbiBjYW4gYmUKPj4+Pj4+IGFjaGVpdmVkIHVz aW5nCj4+Pj4+PiArwqDCoMKgwqAgKiBoaWZpX3BsbCBvciBmY2xrX2RpdiBjbG9ja3MKPj4+Pj4+ ICvCoMKgwqDCoCAqLwo+Pj4+PiBZb3UgZG9uJ3Qgd2FudCB0byBsaXN0IG1wbGxzIGJ1dCBoaWZp X3BsbCBpcyBmaW5lID8gc2VlbXMgZGFuZ2Vyb3VzLgo+Pj4+IGhpZmkgcGxsIGlzIGZvciBFTU1D IGFuZCBOQU5EIG9uIHRoaXMgU29DLgo+Pj4KPj4+IFRoYXQgZGVzZXJ2ZSBhIGJldHRlciBleHBs YW5hdGlvbi4KPj4+IFdoeSBjYW4ndCBpdCB1c2UgZmRpdjIgYW5kIHh0YWwgbGlrZSB0aGUgcHJl dmlvdXMgU29DcyA/Cj4+Pgo+Pj4gV2hpY2ggUExMcyBhcmUgeW91IHVzaW5nIGZvciBBdWRpbyB0 aGVuID8KPj4+IFR5cGljYWwgb3BlcmF0aW9uIG9uIHRoZXNlIFNvQ3MgdXN1YWxseSByZXF1aXJl IDMgUExMcyB0byBhY2hlaXZlIGFsbAo+Pj4gcmF0ZXMKPj4+Cj4+IEknbGwgbGlzdCBhbGwgdGhl IGNsb2NrcyBhbmQgbGV0IHRoZSBkcml2ZXIgaXRzZWxmIHNlbGVjdCBQYXJlbnQgYXMKPj4gbmVl ZGVkLgo+Cj4gSSBkb24ndCBrbm93IHdoYXQgeW91IHRoaW5rPwo+CgpvawoKPj4gCj4+Pj4+Cj4+ Pgo+Pj4KPj4+Pj4+ICsvKgo+Pj4+Pj4gKyAqIGdlbiBjbGsgaXMgZGVzaWduZWQgZm9yIGRlYnVn L21vbml0b3Igc29tZSBpbnRlcm5hbCBjbG9jawo+Pj4+Pj4gcXVhbGl0eS4gU29tZSBvZiB0aGUK Pj4+Pj4+ICsgKiBjb3JyZXNwb25kaW5nIGNsb2NrIHNvdXJjZXMgYXJlIG5vdCBkZXNjcmliZWQg aW4gdGhlIGNsb2NrIHRyZWUsCj4+Pj4+PiBzbyB0aGV5IGFyZSBza2lwcGVkLgo+Pj4+Pj4gKyAq Lwo+Pj4+PiBTdGlsbCBmZWVscyBhIGJpdCBsaWdodCwgZG9uJ3QgeW91IHRoaW5rID8gQW1vbmcg YWxsIHRoZSBjbG9ja3MsIGNhbid0Cj4+Pj4+IHlvdSBhZGQgYSBiaXQgbW9yZSBwYXJlbnRzIGhl cmUgPyBJdCB3b3VsZCBjZXJ0YWlubHkgaGVscCBkZWJ1ZyBkb3duCj4+Pj4+IHRoZSByb2FkCj4+ Pj4gWzE2OjEyXcKgwqDCoCBpcyBnZW5fY2xrIHNvdXJjZSBzZWxlY3QuQWxsIGlzOgo+Pj4+IDA6 IGN0c19vc2Npbl9jbGsKPj4+PiAxOmN0c19ydGNfY2xrCj4+Pj4gMjpzeXNfcGxsX2RpdjE2IChp bnRlcm5hbCBjbG9jaykKPj4+PiAzOmRkcl9wbGxfZGl2MzLCoCAoaW50ZXJuYWwgY2xvY2spCj4+ Pj4gNDogdmlkX3BsbAo+Pj4+IDU6IGdwMF9wbGwKPj4+PiA3OiBoaWZpX3BsbAo+Pj4+IDEwOmFk Y19kcGxsX2Nsa19iMyAoaW50ZXJuYWwgY2xvY2sgZm9yIGRlYnVnKQo+Pj4+IDExOmFkY19kcGxs X2ludGNsayAoaW50ZXJuYWwgY2xvY2sgZm9yIGRlYnVnKQo+Pj4+IDEyOmNsa19tc3Jfc3JjKHNl bGVjdCBmcm9tIGFsbCBpbnRlcm5hbCBjbG9jayBleGNlcHQgUExMcyk7Cj4+Pj4gMTY6IG5vIHVz ZWQKPj4+PiAxNzogc3lzX2NwdV9jbGtfZGl2MTYgKGludGVybmFsIGNsb2NrKQo+Pj4+IDE5OiBm Y2xrX2RpdjIKPj4+PiAyMDogZmNsa19kaXYycDUKPj4+PiAyMTogZmNsa19kaXYzCj4+Pj4gMjI6 IGZjbGtfZGl2NAo+Pj4+IDIzOiBmY2xrX2RpdjUKPj4+PiAyNDogZmNsa19kaXY3Cj4+Pj4gMjU6 IG1wbGwwCj4+Pj4gMjY6IG1wbGwxCj4+Pj4gMjc6IG1wbGwyCj4+Pj4gMjg6IG1wbGwzCj4+Pj4g U28gaSBvbmx5IGFkZGVkIHRoZSBjbG9ja3MgdGhhdCB3aWxsIGFjdHVhbGx5IGJlIHVzZWQsIGFu ZCBzb21lCj4+Pj4gZGVidWdnaW5nCj4+Pj4gY2xvY2sgcGVyaXBoZXJhbHMgd2lsbCBub3QgYmUg dXNlZC4KPj4+Cj4+PiB5b3UgbWF5IGF0IGxlYXN0IGFkZCB2aWRfcGxsCj4+IE9rYXkuCj4KPiBJ dCBoYXMgYmVlbiBjaGFuZ2VkIGFzIHlvdSBzdWdnZXN0ZWQuCj4KPj4gCj4+Pgo+Pj4+Pgo+Pj4+ Pj4gK3N0YXRpYyB1MzIgczRfZ2VuX2Nsa19tdXhfdGFibGVbXSA9IHsgMCwgNSwgNywgMTksIDIx LCAyMiwKPj4+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg MjMsIDI0LCAyNSwgMjYsIDI3LCAyOCB9Owo+Pj4+Pj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgY2xr X3BhcmVudF9kYXRhIHM0X2dlbl9jbGtfcGFyZW50X2RhdGFbXSA9IHsKPj4+Pj4+ICvCoMKgwqAg eyAuZndfbmFtZSA9ICJ4dGFsIiwgfSwKPj4+Pj4+ICvCoMKgwqAgeyAuZndfbmFtZSA9ICJncDBf cGxsIiwgfSwKPj4+Pj4+ICvCoMKgwqAgeyAuZndfbmFtZSA9ICJoaWZpX3BsbCIsIH0sCj4+Pj4+ PiArwqDCoMKgIHsgLmZ3X25hbWUgPSAiZmNsa19kaXYyIiwgfSwKPj4+Pj4+ICvCoMKgwqAgeyAu ZndfbmFtZSA9ICJmY2xrX2RpdjMiLCB9LAo+Pj4+Pj4gK8KgwqDCoCB7IC5md19uYW1lID0gImZj bGtfZGl2NCIsIH0sCj4+Pj4+PiArwqDCoMKgIHsgLmZ3X25hbWUgPSAiZmNsa19kaXY1IiwgfSwK Pj4+Pj4+ICvCoMKgwqAgeyAuZndfbmFtZSA9ICJmY2xrX2RpdjciLCB9LAo+Pj4+Pj4gK8KgwqDC oCB7IC5md19uYW1lID0gIm1wbGwwIiwgfSwKPj4+Pj4+ICvCoMKgwqAgeyAuZndfbmFtZSA9ICJt cGxsMSIsIH0sCj4+Pj4+PiArwqDCoMKgIHsgLmZ3X25hbWUgPSAibXBsbDIiLCB9LAo+Pj4+Pj4g K8KgwqDCoCB7IC5md19uYW1lID0gIm1wbGwzIiwgfSwKPj4+Pj4+ICt9Owo+Pj4KPj4+IC4KCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hbWxv Z2ljIG1haWxpbmcgbGlzdApsaW51eC1hbWxvZ2ljQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDov L2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hbWxvZ2ljCg==