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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5BAC4C433F5 for ; Thu, 16 Dec 2021 15:29:35 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238529AbhLPP3e (ORCPT ); Thu, 16 Dec 2021 10:29:34 -0500 Received: from mail-ot1-f42.google.com ([209.85.210.42]:42715 "EHLO mail-ot1-f42.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229868AbhLPP3c (ORCPT ); Thu, 16 Dec 2021 10:29:32 -0500 Received: by mail-ot1-f42.google.com with SMTP id 47-20020a9d0332000000b005798ac20d72so29339037otv.9; Thu, 16 Dec 2021 07:29:32 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=nd0xNoxLdpMIETPTqt7EOTZuURPFhkkV6DEMEZNnfsY=; b=dxcHcIHz5LNrvLJ0cYk6A19BLsA9FLDW2QFrKojP3bGuc2mXHSwxeo/WbUZdKHuwS1 52qXsQh53ECh7irK6EDhdLz6h7sCg8UhALOD62jPjl1D9HneT6eSjl3eTkKDyqEuxi+N Yru4J0aHWTcu+eTqCjWPprrR1JxDBYDjTcYhNjgWsLLAjDtd4R4WFD1wlHgZUfu2C9vc lB0rAU0tx99L3w7wTzPshvoOncdL94vd3iJVd57mhqBt+s9JK3ufcnZZfhifNfJ1zt4q ML8aiARsKeSxKLg+SACLHKhnrMBlRXl11y363c3NXXiRbc9A0wBjA2qF7klaQMWTe5/6 OuYA== X-Gm-Message-State: AOAM530dOKKYsNJpnbLhRObAcJ76alONMYJhNDvQoFaFvXfDFFmaaC5M TSNmXamBm4bjuGkCAfUsmw== X-Google-Smtp-Source: ABdhPJxkmQtefEO2GB4IesaVw1R5Cx1RYgQ2YBifPAlnsoTenbd4aeBi77x3cWkw+Dtx8+aTJgXrNw== X-Received: by 2002:a9d:6a56:: with SMTP id h22mr12884867otn.135.1639668571810; Thu, 16 Dec 2021 07:29:31 -0800 (PST) Received: from robh.at.kernel.org (66-90-148-213.dyn.grandenetworks.net. [66.90.148.213]) by smtp.gmail.com with ESMTPSA id q9sm1078070oti.32.2021.12.16.07.29.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 16 Dec 2021 07:29:31 -0800 (PST) Received: (nullmailer pid 251708 invoked by uid 1000); Thu, 16 Dec 2021 15:29:30 -0000 Date: Thu, 16 Dec 2021 09:29:30 -0600 From: Rob Herring To: Dejia Shang Cc: gregkh@linuxfoundation.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, toby.shang@armchina.com Subject: Re: [PATCH 3/4] dt-bindings: add vendor-prefix and documentation for Zhouyi NPU Message-ID: References: <20211215103609.9268-1-dejia.shang@armchina.com> <20211215103609.9268-4-dejia.shang@armchina.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20211215103609.9268-4-dejia.shang@armchina.com> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Dec 15, 2021 at 06:36:08PM +0800, Dejia Shang wrote: > To enable this NPU IP in Arm-Linux system, SoC vendors should > write devicetree files as documented. > > Signed-off-by: Dejia Shang > --- > .../bindings/misc/armchina,zhouyi-npu.yaml | 57 +++++++++++++++++++ > .../devicetree/bindings/vendor-prefixes.yaml | 2 + > 2 files changed, 59 insertions(+) > create mode 100644 Documentation/devicetree/bindings/misc/armchina,zhouyi-npu.yaml > > diff --git a/Documentation/devicetree/bindings/misc/armchina,zhouyi-npu.yaml b/Documentation/devicetree/bindings/misc/armchina,zhouyi-npu.yaml > new file mode 100644 > index 000000000000..d3fdea101114 > --- /dev/null > +++ b/Documentation/devicetree/bindings/misc/armchina,zhouyi-npu.yaml > @@ -0,0 +1,57 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: "http://devicetree.org/schemas/misc/armchina,zhouyi-npu.yaml#" > +$schema: "http://devicetree.org/meta-schemas/core.yaml#" > + > +title: ArmChina Zhouyi NPU bindings > + > +maintainers: > + - Dejia Shang > + > +description: | > + Armchina AI accelerator IP - Zhouyi NPU > + > +properties: > + compatible: > + items: > + - const: armchina,zhouyi-v1 > + - const: armchina,zhouyi-v2 > + - const: armchina,zhouyi This says compatible must be a list of all 3 of these. Where do v1 and v2 come from? We don't do version numbers in DT usually unless they correspond to h/w revision registers or h/w documentation. I would assume the h/w follows the Arm rXpY form? > + > + reg: > + maxItems: 1 > + > + memory-region: > + maxItems: 2 What is each region? This requires 2 entries, but the example only has 1. > + > + interrupts: > + maxItems: 1 > + > +required: > + - compatible > + - reg > + - interrupts > + > +examples: > + - | > + #include > + > + reserved-memory { > + #address-cells = <2>; > + #size-cells = <2>; > + ranges; > + > + aipu_ddr_reserved: aipu-shmem@0xA0000000 { aipu-shmem@a0000000 > + compatible = "shared-dma-pool"; > + no-map; > + reg = <0x0 0xA0000000 0x0 0x4000000>; > + }; > + }; > + > + aipu0@0x64000000 { Drop '0x' > + compatible = "armchina,zhouyi"; > + reg = <0x0 0x64000000 0x0 0x1000>; > + memory-region=<&aipu_ddr_reserved>; > + interrupts = <0 168 1>; > + }; > diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml > index 66d6432fd781..4b1865d92455 100644 > --- a/Documentation/devicetree/bindings/vendor-prefixes.yaml > +++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml > @@ -123,6 +123,8 @@ patternProperties: > description: ARM Ltd. > "^armadeus,.*": > description: ARMadeus Systems SARL > + "^armchina,.*": > + description: Arm Technology (China) Co., Ltd. > "^arrow,.*": > description: Arrow Electronics > "^artesyn,.*": > -- > 2.17.1 > > IMPORTANT NOTICE: The contents of this email and any attachments may be privileged and confidential. If you are not the intended recipient, please delete the email immediately. It is strictly prohibited to disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. ©Arm Technology (China) Co., Ltd copyright and reserve all rights. 重要提示:本邮件(包括任何附件)可能含有专供明确的个人或目的使用的机密信息,并受法律保护。如果您并非该收件人,请立即删除此邮件。严禁通过任何渠道,以任何目的,向任何人披露、储存或复制邮件信息或者据此采取任何行动。感谢您的配合。 ©安谋科技(中国)有限公司 版权所有并保留一切权利。 > 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 584A8C433F5 for ; Thu, 16 Dec 2021 15:30:52 +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:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=TgB1cOyLpYVLb+O7NwrHAYQQ6NDr3xy7mHkwsTMbEIA=; b=YlSU3xQXl+2m7R SEUcHvpjCn6SoUSfDRB9AW0J5ordPZQ0jpVFPeMUNP5hqLxA4vHzJntOsLDA1YuXvUwj6rpJev+I0 4b7DsPFQvYh2Kn5ql0f/ppPiGsmru1E4H6Dc2kdJXFyKiYlTOSC5HNz329ae+5/ZlbLgp3fGqvnNQ kxU3agi5PusR5JDgLif3u4uBEE6BmkKpRIf3763enwFNtWyEP5q/nbHQjjO/NSULfKumYFsz22mIj jmK3YJoOK0K4ViT+FFCEwuGdwuLXv7KshDqj0h89QpWTLYnrAk7Dz2geVDVTe1eN8dhCDgPqETFP/ 5rj1pE09j1TTQPOGOa0Q==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mxshM-006NPP-Kr; Thu, 16 Dec 2021 15:29:36 +0000 Received: from mail-ot1-f52.google.com ([209.85.210.52]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mxshI-006NOP-Ms for linux-arm-kernel@lists.infradead.org; Thu, 16 Dec 2021 15:29:34 +0000 Received: by mail-ot1-f52.google.com with SMTP id x3-20020a05683000c300b0057a5318c517so29277356oto.13 for ; Thu, 16 Dec 2021 07:29:32 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=nd0xNoxLdpMIETPTqt7EOTZuURPFhkkV6DEMEZNnfsY=; b=Q8GBmz8I+31SRdtPiiNzPDcSirAQj8Fm0UAZmwxeNBj/o9SGCwfo8w/fJwumXO3KBD MTdmkZI3iKLz0vq3/7uQ+dMSFqQ7VaN+pKnS+3WvRGfkQHfubMTv+U4o+cI5oHRaGx1a R/lnHwxuxCD0Vz5UAexURxucYYzpvzBUaDdGLQZ0c8QFBTq1wLt3McCGjVrFqMi2mpzJ VMCrMC1Jqr05lXz78RiCgpme2Unp+V4dpHAPcthfJL37yhphp9lqYtchpYQquI5Cgpx7 7TAhQDOQyS0W0LOzHzY+FDImOoUE/ntBLpNqPG2xedJAA+JAca4uCsohdmp4dg1Oei8z SzDA== X-Gm-Message-State: AOAM530TorEf+/FS0OMvyqTE3wftECvNUpmMg7vBrEtJzmHCUKKyt0LD ig2pIjvOQPWQMeF8bceC/v+4HYXjmQ== X-Google-Smtp-Source: ABdhPJxkmQtefEO2GB4IesaVw1R5Cx1RYgQ2YBifPAlnsoTenbd4aeBi77x3cWkw+Dtx8+aTJgXrNw== X-Received: by 2002:a9d:6a56:: with SMTP id h22mr12884867otn.135.1639668571810; Thu, 16 Dec 2021 07:29:31 -0800 (PST) Received: from robh.at.kernel.org (66-90-148-213.dyn.grandenetworks.net. [66.90.148.213]) by smtp.gmail.com with ESMTPSA id q9sm1078070oti.32.2021.12.16.07.29.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 16 Dec 2021 07:29:31 -0800 (PST) Received: (nullmailer pid 251708 invoked by uid 1000); Thu, 16 Dec 2021 15:29:30 -0000 Date: Thu, 16 Dec 2021 09:29:30 -0600 From: Rob Herring To: Dejia Shang Cc: gregkh@linuxfoundation.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, toby.shang@armchina.com Subject: Re: [PATCH 3/4] dt-bindings: add vendor-prefix and documentation for Zhouyi NPU Message-ID: References: <20211215103609.9268-1-dejia.shang@armchina.com> <20211215103609.9268-4-dejia.shang@armchina.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20211215103609.9268-4-dejia.shang@armchina.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211216_072932_775025_B021A97B X-CRM114-Status: GOOD ( 18.01 ) 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 T24gV2VkLCBEZWMgMTUsIDIwMjEgYXQgMDY6MzY6MDhQTSArMDgwMCwgRGVqaWEgU2hhbmcgd3Jv dGU6Cj4gVG8gZW5hYmxlIHRoaXMgTlBVIElQIGluIEFybS1MaW51eCBzeXN0ZW0sIFNvQyB2ZW5k b3JzIHNob3VsZAo+IHdyaXRlIGRldmljZXRyZWUgZmlsZXMgYXMgZG9jdW1lbnRlZC4KPiAKPiBT aWduZWQtb2ZmLWJ5OiBEZWppYSBTaGFuZyA8ZGVqaWEuc2hhbmdAYXJtY2hpbmEuY29tPgo+IC0t LQo+ICAuLi4vYmluZGluZ3MvbWlzYy9hcm1jaGluYSx6aG91eWktbnB1LnlhbWwgICAgfCA1NyAr KysrKysrKysrKysrKysrKysrCj4gIC4uLi9kZXZpY2V0cmVlL2JpbmRpbmdzL3ZlbmRvci1wcmVm aXhlcy55YW1sICB8ICAyICsKPiAgMiBmaWxlcyBjaGFuZ2VkLCA1OSBpbnNlcnRpb25zKCspCj4g IGNyZWF0ZSBtb2RlIDEwMDY0NCBEb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWlz Yy9hcm1jaGluYSx6aG91eWktbnB1LnlhbWwKPiAKPiBkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlv bi9kZXZpY2V0cmVlL2JpbmRpbmdzL21pc2MvYXJtY2hpbmEsemhvdXlpLW5wdS55YW1sIGIvRG9j dW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21pc2MvYXJtY2hpbmEsemhvdXlpLW5wdS55 YW1sCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwMDAwMDAuLmQzZmRlYTEw MTExNAo+IC0tLSAvZGV2L251bGwKPiArKysgYi9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmlu ZGluZ3MvbWlzYy9hcm1jaGluYSx6aG91eWktbnB1LnlhbWwKPiBAQCAtMCwwICsxLDU3IEBACj4g KyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IChHUEwtMi4wIE9SIEJTRC0yLUNsYXVzZSkKPiAr JVlBTUwgMS4yCj4gKy0tLQo+ICskaWQ6ICJodHRwOi8vZGV2aWNldHJlZS5vcmcvc2NoZW1hcy9t aXNjL2FybWNoaW5hLHpob3V5aS1ucHUueWFtbCMiCj4gKyRzY2hlbWE6ICJodHRwOi8vZGV2aWNl dHJlZS5vcmcvbWV0YS1zY2hlbWFzL2NvcmUueWFtbCMiCj4gKwo+ICt0aXRsZTogQXJtQ2hpbmEg WmhvdXlpIE5QVSBiaW5kaW5ncwo+ICsKPiArbWFpbnRhaW5lcnM6Cj4gKyAgLSBEZWppYSBTaGFu ZyA8ZGVqaWEuc2hhbmdAYXJtY2hpbmEuY29tPgo+ICsKPiArZGVzY3JpcHRpb246IHwKPiArICBB cm1jaGluYSBBSSBhY2NlbGVyYXRvciBJUCAtIFpob3V5aSBOUFUKPiArCj4gK3Byb3BlcnRpZXM6 Cj4gKyAgY29tcGF0aWJsZToKPiArICAgIGl0ZW1zOgo+ICsgICAgICAtIGNvbnN0OiBhcm1jaGlu YSx6aG91eWktdjEKPiArICAgICAgLSBjb25zdDogYXJtY2hpbmEsemhvdXlpLXYyCj4gKyAgICAg IC0gY29uc3Q6IGFybWNoaW5hLHpob3V5aQoKVGhpcyBzYXlzIGNvbXBhdGlibGUgbXVzdCBiZSBh IGxpc3Qgb2YgYWxsIDMgb2YgdGhlc2UuCgpXaGVyZSBkbyB2MSBhbmQgdjIgY29tZSBmcm9tPyBX ZSBkb24ndCBkbyB2ZXJzaW9uIG51bWJlcnMgaW4gRFQgdXN1YWxseSAKdW5sZXNzIHRoZXkgY29y cmVzcG9uZCB0byBoL3cgcmV2aXNpb24gcmVnaXN0ZXJzIG9yIGgvdyBkb2N1bWVudGF0aW9uLiBJ IAp3b3VsZCBhc3N1bWUgdGhlIGgvdyBmb2xsb3dzIHRoZSBBcm0gclhwWSBmb3JtPwoKPiArCj4g KyAgcmVnOgo+ICsgICAgbWF4SXRlbXM6IDEKPiArCj4gKyAgbWVtb3J5LXJlZ2lvbjoKPiArICAg IG1heEl0ZW1zOiAyCgpXaGF0IGlzIGVhY2ggcmVnaW9uPwoKVGhpcyByZXF1aXJlcyAyIGVudHJp ZXMsIGJ1dCB0aGUgZXhhbXBsZSBvbmx5IGhhcyAxLgoKPiArCj4gKyAgaW50ZXJydXB0czoKPiAr ICAgIG1heEl0ZW1zOiAxCj4gKwo+ICtyZXF1aXJlZDoKPiArICAtIGNvbXBhdGlibGUKPiArICAt IHJlZwo+ICsgIC0gaW50ZXJydXB0cwo+ICsKPiArZXhhbXBsZXM6Cj4gKyAgLSB8Cj4gKyAgICAj aW5jbHVkZSA8ZHQtYmluZGluZ3MvaW50ZXJydXB0LWNvbnRyb2xsZXIvYXJtLWdpYy5oPgo+ICsK PiArICAgIHJlc2VydmVkLW1lbW9yeSB7Cj4gKyAgICAgICAgICAgICAgICAjYWRkcmVzcy1jZWxs cyA9IDwyPjsKPiArICAgICAgICAgICAgICAgICNzaXplLWNlbGxzID0gPDI+Owo+ICsgICAgICAg ICAgICAgICAgcmFuZ2VzOwo+ICsKPiArICAgICAgICAgICAgICAgIGFpcHVfZGRyX3Jlc2VydmVk OiBhaXB1LXNobWVtQDB4QTAwMDAwMDAgewoKYWlwdS1zaG1lbUBhMDAwMDAwMAoKPiArICAgICAg ICAgICAgICAgICAgICAgICAgY29tcGF0aWJsZSA9ICJzaGFyZWQtZG1hLXBvb2wiOwo+ICsgICAg ICAgICAgICAgICAgICAgICAgICBuby1tYXA7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgIHJl ZyA9IDwweDAgMHhBMDAwMDAwMCAweDAgMHg0MDAwMDAwPjsKPiArICAgICAgICAgICAgICAgIH07 Cj4gKyAgICB9Owo+ICsKPiArICAgIGFpcHUwQDB4NjQwMDAwMDAgewoKRHJvcCAnMHgnCgo+ICsg ICAgICAgICAgICAgICAgY29tcGF0aWJsZSA9ICJhcm1jaGluYSx6aG91eWkiOwo+ICsgICAgICAg ICAgICAgICAgcmVnID0gPDB4MCAweDY0MDAwMDAwIDB4MCAweDEwMDA+Owo+ICsgICAgICAgICAg ICAgICAgbWVtb3J5LXJlZ2lvbj08JmFpcHVfZGRyX3Jlc2VydmVkPjsKPiArICAgICAgICAgICAg ICAgIGludGVycnVwdHMgPSA8MCAxNjggMT47Cj4gKyAgICB9Owo+IGRpZmYgLS1naXQgYS9Eb2N1 bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvdmVuZG9yLXByZWZpeGVzLnlhbWwgYi9Eb2N1 bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvdmVuZG9yLXByZWZpeGVzLnlhbWwKPiBpbmRl eCA2NmQ2NDMyZmQ3ODEuLjRiMTg2NWQ5MjQ1NSAxMDA2NDQKPiAtLS0gYS9Eb2N1bWVudGF0aW9u L2RldmljZXRyZWUvYmluZGluZ3MvdmVuZG9yLXByZWZpeGVzLnlhbWwKPiArKysgYi9Eb2N1bWVu dGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvdmVuZG9yLXByZWZpeGVzLnlhbWwKPiBAQCAtMTIz LDYgKzEyMyw4IEBAIHBhdHRlcm5Qcm9wZXJ0aWVzOgo+ICAgICAgZGVzY3JpcHRpb246IEFSTSBM dGQuCj4gICAgIl5hcm1hZGV1cywuKiI6Cj4gICAgICBkZXNjcmlwdGlvbjogQVJNYWRldXMgU3lz dGVtcyBTQVJMCj4gKyAgIl5hcm1jaGluYSwuKiI6Cj4gKyAgICBkZXNjcmlwdGlvbjogQXJtIFRl Y2hub2xvZ3kgKENoaW5hKSBDby4sIEx0ZC4KPiAgICAiXmFycm93LC4qIjoKPiAgICAgIGRlc2Ny aXB0aW9uOiBBcnJvdyBFbGVjdHJvbmljcwo+ICAgICJeYXJ0ZXN5biwuKiI6Cj4gLS0KPiAyLjE3 LjEKPiAKPiBJTVBPUlRBTlQgTk9USUNFOiBUaGUgY29udGVudHMgb2YgdGhpcyBlbWFpbCBhbmQg YW55IGF0dGFjaG1lbnRzIG1heSBiZSBwcml2aWxlZ2VkIGFuZCBjb25maWRlbnRpYWwuIElmIHlv dSBhcmUgbm90IHRoZSBpbnRlbmRlZCByZWNpcGllbnQsIHBsZWFzZSBkZWxldGUgdGhlIGVtYWls IGltbWVkaWF0ZWx5LiBJdCBpcyBzdHJpY3RseSBwcm9oaWJpdGVkIHRvIGRpc2Nsb3NlIHRoZSBj b250ZW50cyB0byBhbnkgb3RoZXIgcGVyc29uLCB1c2UgaXQgZm9yIGFueSBwdXJwb3NlLCBvciBz dG9yZSBvciBjb3B5IHRoZSBpbmZvcm1hdGlvbiBpbiBhbnkgbWVkaXVtLiBUaGFuayB5b3UuIMKp QXJtIFRlY2hub2xvZ3kgKENoaW5hKSBDby4sIEx0ZCBjb3B5cmlnaHQgYW5kIHJlc2VydmUgYWxs IHJpZ2h0cy4g6YeN6KaB5o+Q56S677ya5pys6YKu5Lu277yI5YyF5ous5Lu75L2V6ZmE5Lu277yJ 5Y+v6IO95ZCr5pyJ5LiT5L6b5piO56Gu55qE5Liq5Lq65oiW55uu55qE5L2/55So55qE5py65a+G 5L+h5oGv77yM5bm25Y+X5rOV5b6L5L+d5oqk44CC5aaC5p6c5oKo5bm26Z2e6K+l5pS25Lu25Lq6 77yM6K+356uL5Y2z5Yig6Zmk5q2k6YKu5Lu244CC5Lil56aB6YCa6L+H5Lu75L2V5rig6YGT77yM 5Lul5Lu75L2V55uu55qE77yM5ZCR5Lu75L2V5Lq65oqr6Zyy44CB5YKo5a2Y5oiW5aSN5Yi26YKu 5Lu25L+h5oGv5oiW6ICF5o2u5q2k6YeH5Y+W5Lu75L2V6KGM5Yqo44CC5oSf6LCi5oKo55qE6YWN 5ZCI44CCIMKp5a6J6LCL56eR5oqA77yI5Lit5Zu977yJ5pyJ6ZmQ5YWs5Y+4IOeJiOadg+aJgOac ieW5tuS/neeVmeS4gOWIh+adg+WIqeOAggo+IAoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgt YXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3Jn L21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=