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 lists.trustedfirmware.org (lists.trustedfirmware.org [18.214.241.189]) (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 F39C1CCD18E for ; Fri, 10 Oct 2025 05:44:41 +0000 (UTC) Received: from lists.trustedfirmware.org (localhost [127.0.0.1]) by lists.trustedfirmware.org (Postfix) with ESMTP id 29FC443070 for ; Fri, 10 Oct 2025 05:44:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=lists.trustedfirmware.org; s=2024; t=1760075081; bh=/jSRssUYmdF7QGSRxJIJXYh1A+lUIeGyH4CpSVktNgs=; h=Date:To:Subject:References:In-Reply-To:CC:List-Id:List-Archive: List-Help:List-Owner:List-Post:List-Subscribe:List-Unsubscribe: From:Reply-To:From; b=f4w8vhJCUq/ACMZtavZRzhrlf9Glcy+QFWjAt7LQPO1qk8GdNLO2s/N/oBTxkEZIR Uz3hptc9ZH+z9B+jGB4FX/hKbhHRzbwFC+6ZHqt/UIf3y/8Y6LsiJruNAAxnzdeyq0 ny8dDFZtw2Tf4IPMmDCM627VAuPgw+7Vu1XYWs8zuTJQz7lJuvLFwzAs0BXLt83Ze+ cqDoq7jGDp7KIi1ByjFg2CaZtPJgqxR0wYF0XvXKEfChex2VIHkgwTxXCiRM3imE+r hTVh0noczzvTRndYSd7An6XYtcijFy5ljweLh1XWsC+dARIsusc9YtKyAVgq4uslw8 s5UhEmOiCIT+w== Received: from sea.source.kernel.org (sea.source.kernel.org [172.234.252.31]) by lists.trustedfirmware.org (Postfix) with ESMTPS id C2B0E42CD7 for ; Fri, 10 Oct 2025 05:44:26 +0000 (UTC) Authentication-Results: lists.trustedfirmware.org; dkim=pass (2048-bit key; unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20201202 header.b=lwc/+PvB; dkim-atps=neutral Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sea.source.kernel.org (Postfix) with ESMTP id 0486940BF1; Fri, 10 Oct 2025 05:44:26 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0BDF0C4CEF1; Fri, 10 Oct 2025 05:44:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1760075065; bh=YIJcEBVtXxzCQkN+HtqyCSCesdpX4rRXD+kwngl+uOI=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=lwc/+PvBd6FtlnV8QkIxMh6j2VFqopATRwrAkQVLbJ3V5XnDfIfSS0BnPZukjJh2H EyMuIN7We5MF63tpUL0kTSv0Ff2RFdvSe3DgF4HdWHnFX1V6p+XoWlWqseTUcicZq9 8fwxTZdOWtRCfBPBlQRxKa7XHsab7B0GFwFf4HB5iDuZURcO8koB+nc7xiMLbkrmMO xjoS1fHW5xQbm9zrLk8/Juel2r7SqmBUJ6TxtXWs5oA4qO1NALvY3KpXBgwSdsqYfj 8Ih55bI174Un7uEe/sOKFc1fPqgfXAgbS9u1PiEutHJfneBuQqLPgx68KjFMhnXtmf 3Y7ApWNAuJzZQ== Date: Fri, 10 Oct 2025 11:14:23 +0530 To: Arnaud POULIQUEN Subject: Re: [Linux-stm32] [PATCH v19 4/6] dt-bindings: remoteproc: Add compatibility for TEE support Message-ID: References: <20250625094028.758016-1-arnaud.pouliquen@foss.st.com> <20250625094028.758016-5-arnaud.pouliquen@foss.st.com> <62bdb238-7440-451b-84ef-79f846b10ba0@foss.st.com> <8d385f2e-6470-4d66-be0b-a2a448a81fa4@foss.st.com> <0e5a44df-f60a-4523-a791-6318b3c81425@foss.st.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: base64 In-Reply-To: X-Rspamd-Queue-Id: C2B0E42CD7 X-Spamd-Bar: -- X-Spamd-Result: default: False [-3.00 / 15.00]; BAYES_HAM(-3.00)[99.99%]; SUSPICIOUS_RECIPS(1.50)[]; DWL_DNSWL_LOW(-1.00)[kernel.org:dkim]; DMARC_POLICY_ALLOW(-0.50)[kernel.org,quarantine]; MID_RHS_NOT_FQDN(0.50)[]; R_SPF_ALLOW(-0.20)[+ip4:172.234.252.31]; R_DKIM_ALLOW(-0.20)[kernel.org:s=k20201202]; MIME_GOOD(-0.10)[text/plain]; TO_DN_SOME(0.00)[]; ASN(0.00)[asn:63949, ipnet:172.234.224.0/19, country:SG]; RCPT_COUNT_TWELVE(0.00)[13]; MISSING_XM_UA(0.00)[]; ARC_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_VIA_SMTP_AUTH(0.00)[]; DNSWL_BLOCKED(0.00)[172.234.252.31:from]; TAGGED_RCPT(0.00)[dt]; RCVD_TLS_LAST(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; TO_MATCH_ENVRCPT_SOME(0.00)[]; NEURAL_HAM(-0.00)[-1.000]; FROM_HAS_DN(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; DKIM_TRACE(0.00)[kernel.org:+] X-Rspamd-Action: no action X-Rspamd-Server: lists.trustedfirmware.org Message-ID-Hash: KEXCAD2GQPYX7JSU6GLK7UVM47GBC3EN X-Message-ID-Hash: KEXCAD2GQPYX7JSU6GLK7UVM47GBC3EN X-MailFrom: sumit.garg@kernel.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-op-tee.lists.trustedfirmware.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: devicetree@vger.kernel.org, Conor Dooley , Mathieu Poirier , op-tee@lists.trustedfirmware.org, Bjorn Andersson , linux-remoteproc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, Rob Herring , Krzysztof Kozlowski , linux-arm-kernel@lists.infradead.org X-Mailman-Version: 3.3.5 Precedence: list List-Id: Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Sumit Garg via OP-TEE Reply-To: Sumit Garg SGkgQXJuYXVkLA0KDQpJdCdzIGJlZW4gc29tZSBob2xpZGF5cyBmb2xsb3dlZCBieSBidXNpbmVz cyB0cmF2ZWwgbGVhZGluZyB0byBkZWxheSBpbg0KbXkgcmVzcG9uc2UgaGVyZS4NCg0KT24gVHVl LCBPY3QgMDcsIDIwMjUgYXQgMDM6NTA6MzJQTSArMDIwMCwgQXJuYXVkIFBPVUxJUVVFTiB3cm90 ZToNCj4gSGVsbG8gQmpvcm4sIE1hdGhpZXUsIFN1bWl0LA0KPiANCj4gT24gOS8yMi8yNSAxMDo1 NywgQXJuYXVkIFBPVUxJUVVFTiB3cm90ZToNCj4gPiANCj4gPiANCj4gPiBPbiA5LzE5LzI1IDA4 OjQ2LCBTdW1pdCBHYXJnIHdyb3RlOg0KPiA+ID4gT24gV2VkLCBTZXAgMTcsIDIwMjUgYXQgMDM6 NDc6NDBQTSArMDIwMCwgQXJuYXVkIFBPVUxJUVVFTiB3cm90ZToNCj4gPiA+ID4gDQo+ID4gPiA+ IE9uIDkvMTcvMjUgMTI6MDgsIFN1bWl0IEdhcmcgd3JvdGU6DQo+ID4gPiA+ID4gT24gVHVlLCBT ZXAgMTYsIDIwMjUgYXQgMDM6MjY6NDdQTSArMDIwMCwgQXJuYXVkIFBPVUxJUVVFTiB3cm90ZToN Cj4gPiA+ID4gPiA+IEhlbGxvIFN1bWl0LA0KPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiBPbiA5 LzE2LzI1IDExOjE0LCBTdW1pdCBHYXJnIHdyb3RlOg0KPiA+ID4gPiA+ID4gPiBIaSBBcm5hdWQs DQo+ID4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gPiBGaXJzdCBvZiBhbGwgYXBvbG9naWVzIGZv ciBzdWNoIGEgbGF0ZSByZXZpZXcgY29tbWVudCBhcyBwcmV2aW91c2x5IEkNCj4gPiA+ID4gPiA+ ID4gd2Fzbid0IENDZWQgb3IgaW52b2x2ZWQgaW4gdGhlIHJldmlldyBvZiB0aGlzDQo+ID4gPiA+ ID4gPiA+IHBhdGNoLXNldC4gSW4gY2FzZSBhbnkgb2YNCj4gPiA+ID4gPiA+ID4gbXkgZm9sbG93 aW5nIGNvbW1lbnRzIGhhdmUgYmVlbiBkaXNjdXNzZWQgaW4gdGhlDQo+ID4gPiA+ID4gPiA+IHBh c3QgdGhlbiBmZWVsIGZyZWUgdG8NCj4gPiA+ID4gPiA+ID4gcG9pbnQgbWUgYXQgcmVsZXZhbnQg ZGlzY3Vzc2lvbnMuDQo+ID4gPiA+ID4gPiBObyB3b3JyaWVzLCB0aGVyZSBhcmUgdG9vIG1hbnkg dmVyc2lvbnMgb2YgdGhpcyBzZXJpZXMNCj4gPiA+ID4gPiA+IHRvIGZvbGxvdyBhbGwgdGhlDQo+ ID4gPiA+ID4gPiBwYXN0IGRpc2N1c3Npb25zLiBJIHNvbWV0aW1lcyBoYXZlIGRpZmZpY3VsdHkg cmVtZW1iZXJpbmcgYWxsIHRoZQ0KPiA+ID4gPiA+ID4gZGlzY3Vzc2lvbnMgbXlzZWxmIDopDQo+ ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+ID4gT24gV2VkLCBKdW4gMjUsIDIwMjUgYXQgMTE6NDA6 MjZBTSArMDIwMCwgQXJuYXVkIFBvdWxpcXVlbiB3cm90ZToNCj4gPiA+ID4gPiA+ID4gPiBUaGUg InN0LHN0bTMybXAxLW00LXRlZSIgY29tcGF0aWJsZSBpcyB1dGlsaXplZA0KPiA+ID4gPiA+ID4g PiA+IGluIGEgc3lzdGVtIGNvbmZpZ3VyYXRpb24NCj4gPiA+ID4gPiA+ID4gPiB3aGVyZSB0aGUg Q29ydGV4LU00IGZpcm13YXJlIGlzIGxvYWRlZCBieSB0aGUNCj4gPiA+ID4gPiA+ID4gPiBUcnVz dGVkIEV4ZWN1dGlvbiBFbnZpcm9ubWVudA0KPiA+ID4gPiA+ID4gPiA+IChURUUpLg0KPiA+ID4g PiA+ID4gPiBIYXZpbmcgYSBEVCBiYXNlZCBjb21wYXRpYmxlIGZvciBhIFRFRSBzZXJ2aWNlIHRv IG1lDQo+ID4gPiA+ID4gPiA+IGp1c3QgZmVlbHMgbGlrZSBpdA0KPiA+ID4gPiA+ID4gPiBpcyBy ZWR1bmRhbnQgaGVyZS4gSSBjYW4gc2VlIHlvdSBoYXZlIGFsc28gdXNlZCBhDQo+ID4gPiA+ID4g PiA+IFRFRSBidXMgYmFzZWQgZGV2aWNlDQo+ID4gPiA+ID4gPiA+IHRvbyBidXQgdGhhdCBpcyBu b3QgYmVpbmcgcHJvcGVybHkgdXNlZC4gSSBrbm93IHN1YnN5c3RlbXMgbGlrZQ0KPiA+ID4gPiA+ ID4gPiByZW1vdGVwcm9jLCBTQ01JIGFuZCBvdGhlcnMgaGVhdmlseSByZWx5IG9uIERUIHRvDQo+ ID4gPiA+ID4gPiA+IGhhcmRjb2RlIHByb3BlcnRpZXMgb2YNCj4gPiA+ID4gPiA+ID4gc3lzdGVt IGZpcm13YXJlIHdoaWNoIGFyZSByYXRoZXIgYmV0dGVyIHRvIGJlIGRpc2NvdmVyZWQgZHluYW1p Y2FsbHkuDQo+ID4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gPiBTbyBJIGhhdmUgYW4gb3BlbiBx dWVzdGlvbiBmb3IgeW91IGFuZCB0aGUgcmVtb3RlcHJvYyBzdWJzeXN0ZW0NCj4gPiA+ID4gPiA+ ID4gbWFpbnRhaW5lcnMgYmVpbmc6DQo+ID4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gPiBJcyBp dCBmZWFzaWJsZSB0byByYXRoZXIgbGV2ZXJhZ2UgdGhlIGJlbmVmaXRzIG9mIGENCj4gPiA+ID4g PiA+ID4gZnVsbHkgZGlzY292ZXJhYmxlDQo+ID4gPiA+ID4gPiA+IFRFRSBidXMgcmF0aGVyIHRo YW4gcmVseWluZyBvbiBwbGF0Zm9ybSBidXMvIERUIHRvIGhhcmRjb2RlIGZpcm13YXJlDQo+ID4g PiA+ID4gPiA+IHByb3BlcnRpZXM/DQo+ID4gPiA+ID4gPiBUaGUgZGlzY292ZXJhYmxlIFRFRSBi dXMgZG9lcyBub3Qgd29ya3MgaWYgdGhlIHJlbW90ZXByb2MgaXMgcHJvYmVkDQo+ID4gPiA+ID4g PiBiZWZvcmUgdGhlIE9QLVRFRSBidXMsIGluIHN1Y2ggY2FzZcKgIG5vIHBvc3NpYmlsaXR5IHRv IGtub3cgaWYgdGhlIFRFRQ0KPiA+ID4gPiA+ID4gVEEgaXMgbm90IHlldCBhdmFpbGFibGUgb3Ig bm90IGF2YWlsYWJsZSBhdCBhbGwuDQo+ID4gPiA+ID4gPiBUaGlzIHBvaW50IGlzIG1lbnRpb25l ZCBpbiBhIGNvbW1lbnQgaW4gcnByb2NfdGVlX3JlZ2lzdGVyKCkuDQo+ID4gPiA+IEZvciB0aGUg ZGlzY3Vzc2lvbiwgaXTigJlzIHByb2JhYmx5IGJldHRlciBpZiBJIHByb3ZpZGUgbW9yZQ0KPiA+ ID4gPiBkZXRhaWxzIG9uIHRoZQ0KPiA+ID4gPiBjdXJyZW50IE9QLVRFRSBpbXBsZW1lbnRhdGlv biBhbmQgdGhlIHN0bTMybXAgcHJvY2Vzc29ycy4NCj4gPiA+ID4gDQo+ID4gPiA+IDEpIFNUTTMy TVAgdG9wb2xvZ3k6DQo+ID4gPiA+IMKgwqAgLSBTVE0zMk1QMTogb25seSBhIENvcnRleC1NNCBy ZW1vdGUgcHJvY2Vzc29yDQo+ID4gPiA+IMKgwqAgLcKgIFNUTTMyTVAyeDogYSBDb3J0ZXgtTTMz IGFuZCBhIENvcnRleC1NMCByZW1vdGUgcHJvY2Vzc29ycw0KPiA+ID4gPiDCoMKgIEF0IHRoaXMg c3RhZ2UsIG9ubHkgdGhlIFNUTTMyTVAxNSBpcyB1cHN0cmVhbWVkOyB0aGUNCj4gPiA+ID4gU1RN MzJNUDI1IGlzIHdhaXRpbmcNCj4gPiA+ID4gwqDCoCBmb3IgdGhpcyBzZXJpZXMgdG8gYmUgbWVy Z2VkLg0KPiA+ID4gPiANCj4gPiA+ID4gMikgT1AtVEVFIGFyY2hpdGVjdHVyZToNCj4gPiA+ID4g LSBBIHBsYXRmb3JtLWFnbm9zdGljIFRydXN0ZWQgQXBwbGljYXRpb24gKFRBKSBoYW5kbGVzIHRo ZSBidXMNCj4gPiA+ID4gc2VydmljZS5bMV0NCj4gPiA+ID4gwqDCoCBUaGlzIFRBIHN1cHBvcnRz IG1hbmFnaW5nIG11bHRpcGxlIHJlbW90ZSBwcm9jZXNzb3JzLiBJdCBjYW4NCj4gPiA+ID4gYmUg ZW1iZWRkZWQNCj4gPiA+ID4gwqDCoCByZWdhcmRsZXNzIG9mIHRoZSBudW1iZXIgb2YgcmVtb3Rl IHByb2Nlc3NvcnMgbWFuYWdlZCBpbiBPUC1URUUuDQo+ID4gPiA+IMKgwqAgVGhlIGRlY2lzaW9u IHRvIGVtYmVkIHRoaXMgc2VydmljZSBpcyBtYWRlIGF0IGJ1aWxkIHRpbWUgYmFzZWQgb24gdGhl DQo+ID4gPiA+IMKgwqAgcHJlc2VuY2Ugb2YgdGhlIHJlbW90ZXByb2MgZHJpdmVyLCBzbyBpdCBp cyBub3QgZGV2aWNlIHRyZWUNCj4gPiA+ID4gZGVwZW5kZW50Lg0KPiA+ID4gPiDCoMKgIC0gU1RN MzJNUDE1OiBUQSBhY3RpdmF0ZWQgb25seSBpZiB0aGUgcmVtb3RlcHJvYyBPUC1URUUNCj4gPiA+ ID4gZHJpdmVyIGlzIHByb2JlZA0KPiA+ID4gPiDCoMKgIC0gU1RNMzJNUDJ4OiBUQSBhbHdheXMg YWN0aXZhdGVkIGFzIHRoZSBPUC1URUUgcmVtb3RlcHJvYw0KPiA+ID4gPiBkcml2ZXIgaXMgYWx3 YXlzDQo+ID4gPiA+IHByb2JlZA0KPiA+ID4gPiANCj4gPiA+ID4gLSBBIHBzZXVkbyBUcnVzdGVk IEFwcGxpY2F0aW9uIGltcGxlbWVudHMgdGhlIHBsYXRmb3JtIHBvcnRpbmdbMl0sDQo+ID4gPiA+ IMKgwqAgcmVseWluZyBvbiByZWdpc3RlcmVkIHJlbW90ZXByb2MgcGxhdGZvcm0gZHJpdmVycy4N Cj4gPiA+ID4gDQo+ID4gPiA+IC0gUGxhdGZvcm0gZHJpdmVyKHMpIG1hbmFnZSB0aGUgcmVtb3Rl IHByb2Nlc3NvcnMuWzNdWzRdDQo+ID4gPiA+IMKgwqAgLSBJZiByZW1vdGVwcm9jIGlzIG1hbmFn ZWQgYnkgT1AtVEVFOiBtYW5hZ2VzIHRoZSByZW1vdGVwcm9jDQo+ID4gPiA+IGxpZmVjeWNsZQ0K PiA+ID4gPiDCoMKgIC0gSWYgcmVtb3RlcHJvYyBpcyBtYW5hZ2VkIGJ5IExpbnV4OiBwcm92aWRl cyBhY2Nlc3MgcmlnaHRzDQo+ID4gPiA+IHRvIExpbnV4IHRvDQo+ID4gPiA+IG1hbmFnZQ0KPiA+ ID4gPiDCoMKgIMKgIHRoZSByZW1vdGVwcm9jDQo+ID4gPiA+IA0KPiA+ID4gPiDCoMKgIC0gU1RN MzJNUDE1OiBkcml2ZXIgcHJvYmVkIG9ubHkgaWYgdGhlIHJlbW90ZXByb2MgaXMgbWFuYWdlZA0K PiA+ID4gPiBpbiBPUC1URUUNCj4gPiA+ID4gwqDCoCAtIFNUTTMyTVAyeDogZHJpdmVyIHByb2Jl ZCBpbiBib3RoIGNhc2VzIGZvciB0aGUgQ29ydGV4LU0zMw0KPiA+ID4gPiDCoMKgwqDCoCBGb3Ig dGhlIFNUTTMyTVAyNSwgdGhlIFRBIGlzIGFsd2F5cyBwcmVzZW50IGFuZCBxdWVyaWVzIHRoZQ0K PiA+ID4gPiBkcml2ZXIgdG8NCj4gPiA+ID4gY2hlY2sNCj4gPiA+ID4gwqDCoCDCoCBpZiBpdCBz dXBwb3J0cyBzZWN1cmUgbG9hZGluZy4NCj4gPiA+ID4gDQo+ID4gPiA+IA0KPiA+ID4gPiBbMV0g aHR0cHM6Ly9lbGl4aXIuYm9vdGxpbi5jb20vb3AtdGVlLzQuNy4wL3NvdXJjZS90YS9yZW1vdGVw cm9jDQo+ID4gPiA+IFsyXQ0KPiA+ID4gPiBodHRwczovL2VsaXhpci5ib290bGluLmNvbS9vcC10 ZWUvNC43LjAvc291cmNlL2NvcmUvcHRhL3N0bTMybXAvDQo+ID4gPiA+IHJlbW90ZXByb2NfcHRh LmMNCj4gPiA+ID4gWzNdaHR0cHM6Ly9lbGl4aXIuYm9vdGxpbi5jb20vb3AtdGVlLzQuNy4wL3Nv dXJjZS9jb3JlL2RyaXZlcnMvDQo+ID4gPiA+IHJlbW90ZXByb2Mvc3RtMzJfcmVtb3RlcHJvYy5j DQo+ID4gPiA+IFs0XWh0dHBzOi8vZ2l0aHViLmNvbS9TVE1pY3JvZWxlY3Ryb25pY3Mvb3B0ZWVf b3MvYmxvYi80LjAuMC1zdG0zMm1wLw0KPiA+ID4gPiBjb3JlL2RyaXZlcnMvcmVtb3RlcHJvYy9z dG0zMl9yZW1vdGVwcm9jLmMNCj4gPiA+IFRoYW5rcyBmb3IgdGhlIGJhY2tncm91bmQgaGVyZS4N Cj4gPiA+IA0KPiA+ID4gPiA+IFRoZSByZWFzb24gaGVyZSBpcyB0aGF0IHlvdSBhcmUgbWl4aW5n IHBsYXRmb3JtIGFuZCBURUUgYnVzDQo+ID4gPiA+ID4gZm9yIHJlbW90ZXByb2MNCj4gPiA+ID4g PiBkcml2ZXIuIEZvciBwcm9iZSwgeW91IHJlbHkgb24gcGxhdGZvcm0gYnVzIGFuZCB0aGVuIHRy eSB0byBtaWdyYXRlIHRvDQo+ID4gPiA+ID4gVEVFIGJ1cyB2aWEgcnByb2NfdGVlX3JlZ2lzdGVy KCkgaXMgdGhlIHByb2JsZW0gaGVyZS4NCj4gPiA+ID4gPiBJbnN0ZWFkIHlvdSBzaG91bGQNCj4g PiA+ID4gPiByYXRoZXIgcHJvYmUgcmVtb3RlcHJvYyBkZXZpY2Ugb24gVEVFIGJ1cyBmcm9tIHRo ZSBiZWdpbm5pbmcuDQo+ID4gPiA+IFRoZSBhcHByb2FjaCBpcyBpbnRlcmVzdGluZywgYnV0IGhv dyBjYW4gd2UgcmVseSBvbiBEZXZpY2UgVHJlZSAoRFQpIGZvcg0KPiA+ID4gPiBoYXJkd2FyZSBj b25maWd1cmF0aW9uIGluIHRoaXMgY2FzZT8NCj4gPiA+ID4gQXQgYSBtaW5pbXVtLCBJIG5lZWQg dG8gZGVmaW5lIG1lbW9yeSByZWdpb25zIGFuZCBtYWlsYm94ZXMuDQo+ID4gPiBUaGUgaGFyZHdh cmUgY29uZmlndXJhdGlvbiBpbiBEVCBzaG91bGQgYmUgY29uc3VtZWQgYnkgT1AtVEVFIGFuZCB0 aGUNCj4gPiA+IGtlcm5lbCBwcm9iZXMgcmVtb3RlcHJvYyBwcm9wZXJ0aWVzIGZyb20gT1AtVEVF IHNpbmNlIGl0J3MgYW4gT1AtVEVFDQo+ID4gPiBtZWRpYXRlZCByZW1vdGVwcm9jIHNlcnZpY2Ug eW91IGFyZSBhZGRpbmcgaGVyZS4NCj4gPiA+ID4gwqBGcm9tIG15IHBlcnNwZWN0aXZlLCBJIHdv dWxkIHN0aWxsIG5lZWQgYSBkcml2ZXIgcHJvYmVkIGJ5IERUDQo+ID4gPiA+IHRoYXQgcmVnaXN0 ZXJzDQo+ID4gPiA+IGEgZHJpdmVyIG9uIHRoZSBURUUgYnVzLiBUaGVyZWZvcmUsIEkgc3RpbGwg bmVlZCBhIG1lY2hhbmlzbSB0byBkZWNpZGUNCj4gPiA+ID4gd2hldGhlciB0aGUgcmVtb3RlIGZp cm13YXJlIGlzIG1hbmFnZWQgYnkgdGhlIHNlY3VyZSBvcg0KPiA+ID4gPiBub24tc2VjdXJlIGNv bnRleHQuDQo+ID4gPiBBcyBJIG1lbnRpb25lZCBiZWxvdywgdGhpcyBzaG91bGQgYmUgYWNoaWV2 YWJsZSB1c2luZyB0aGUgc2VjdXJlLXN0YXR1cw0KPiA+ID4gcHJvcGVydHkgd2l0aG91dCBpbnRy b2R1Y2luZyB0aGUgbmV3IGNvbXBhdGlibGU6DQo+ID4gPiANCj4gPiA+IEtlcm5lbCBtYW5hZ2Vk IHJlbW90ZXByb2M6DQo+ID4gPiDCoMKgwqAgc3RhdHVzID0gIm9rYXkiOyBzZWN1cmUtc3RhdHVz ID0gImRpc2FibGVkIjvCoMKgwqDCoCAvKiBOUy1vbmx5ICovDQo+ID4gPiANCj4gPiA+IE9QLVRF RSBtYW5hZ2VkIHJlbW90ZXByb2M6DQo+ID4gPiDCoMKgwqAgc3RhdHVzID0gImRpc2FibGVkIjsg c2VjdXJlLXN0YXR1cyA9ICJva2F5IjvCoMKgwqDCoCAvKiBTLW9ubHkgKi8NCj4gPiA+IA0KPiA+ ID4gPiBBbm90aGVyIGlzc3VlIHdvdWxkIGJlIHRvIGJlIGFibGUgdG8gc2hhcmUgdGhlIHJlbW90 ZXByb2MgVEVFIHNlcnZpY2UNCj4gPiA+ID4gYmV0d2Vlbg0KPiA+ID4gPiBzZXZlcmFsIHBsYXRm b3JtIHJlbW90ZXByb2MgZHJpdmVycywgaW4gY2FzZSBvZiBtdWx0aSByZW1vdGUgcHJvY2Vzc29y DQo+ID4gPiA+IHN1cHBvcnQuDQo+ID4gPiBNYWtpbmcgdGhlIFRFRSBiYXNlZCByZW1vdGVwcm9j IHNlcnZpY2UgaW5kZXBlbmRlbnQgb2YgRFQgd2lsbCBzdXJlbHkNCj4gPiA+IG1ha2UgaXQgbW9y ZSBzY2FsYWJsZSB0byBvdGhlciBwbGF0Zm9ybXMgdG9vLiBIYXZlIGEgbG9vayBhdCBob3cgT1At VEVFDQo+ID4gPiBiYXNlZCBIV1JORyBzZXJ2aWNlIHNjYWxlcyBhY3Jvc3MgcGxhdGZvcm1zLg0K PiA+IA0KPiA+IEFub3RoZXIgaW1wb3J0YW50IHNlcnZpY2UgaXMgU0NNSSwgd2hpY2ggZHJpdmVy cyB1c2UgdG8gbWFuYWdlIGNsb2Nrcw0KPiA+IGFuZCByZXNldHMuDQo+ID4gVGhlc2UgY2xvY2tz IGFuZCByZXNldHMgYXJlIGRlY2xhcmVkIGluIHRoZSBEZXZpY2UgVHJlZSAoRFQpLiBJdCBzZWVt cw0KPiA+IHRvIG1lIHRoYXQNCj4gPiBpbiB0aGlzIGNhc2UsIHdlIGFyZSBjbG9zZXIgdG8gU0NN SSB0aGFuIHRvIHRoZSBSTkcgc2VydmljZS4NCj4gPiANCj4gPiBJIHByb3Bvc2Ugd2UgZGlzY3Vz cyB0aGlzIGJhc2VkIG9uIGEgY29uY3JldGUgZXhhbXBsZSB3aXRoIHRoZSBTVE0zMk1QMjUuDQo+ ID4gQWx0aG91Z2ggbm90IHlldCB1cHN0cmVhbWVkLCBvdXIgcGxhbiBpcyB0byBtYW5hZ2Ugc2ln bmVkIGZpcm13YXJlIGZvciB0aGUNCj4gPiBDb3J0ZXgtTTMzIGFuZCBDb3J0ZXgtTTAuDQo+ID4g DQo+ID4gUGxlYXNlIGZpbmQgYmVsb3cgbXkgdmlldyBvZiB0aGUgRFQgcmVzb3VyY2VzIHRvIGFk ZHJlc3MuDQo+ID4gDQo+ID4gU1RNMzJNUDI1wqAgQ29ydGV4LU0zMyBhbmQgQ29ydGV4LU0wIG5v ZGVzOg0KPiA+IA0KPiA+IG0zM19ycHJvYyB7DQo+ID4gIMKgIC8qIE0zMyB3YXRjaGRvZyBpbnRl cnJ1cHQgKi8NCj4gPiAgwqAgaW50ZXJydXB0LXBhcmVudCA9IDwmaW50Yz47DQo+ID4gIMKgIGlu dGVycnVwdHMgPSA8R0lDX1NQSSA0IElSUV9UWVBFX0xFVkVMX0hJR0g+Ow0KPiA+ICDCoCAvKiBw b3dlciBkb21haW4gbWFuYWdlbWVudCAqLw0KPiA+ICDCoCBwb3dlci1kb21haW5zID0gPCZjbHVz dGVyX3BkPiwgPCZyZXRfcGQ+Ow0KPiA+ICDCoCBwb3dlci1kb21haW4tbmFtZXMgPSAiZGVmYXVs dCIsICJzbGVlcCI7DQo+ID4gIMKgIC8qIFJQTXNnIG1haWxib3hlcyArIE0zMyBncmFjZWZ1bCBz aHV0ZG93biByZXF1ZXN0ICovDQo+ID4gIMKgIG1ib3hlcyA9IDwmaXBjYzEgMHgwPiwgPCZpcGNj MSAweDE+LCA8JmlwY2MxIDI+Ow0KPiA+ICDCoCBtYm94LW5hbWVzID0gInZxMCIsICJ2cTEiLCAi c2h1dGRvd24iOw0KPiA+ICDCoCBtZW1vcnktcmVnaW9uID0gPCZ2ZGV2MHZyaW5nMD4sIDwmdmRl djB2cmluZzE+LCA8JnZkZXYwYnVmZmVyPjsNCj4gPiAgwqAgc3RhdHVzID0gIm9rYXkiOw0KPiA+ IH07DQo+ID4gDQo+ID4gbTBfcnByb2Mgew0KPiA+ICDCoCAvKiBtYWlsYm94IGZvciBncmFjZWZ1 bCBzaHV0ZG93biAqLw0KPiA+ICDCoCBtYm94ZXMgPSA8JmlwY2MyIDI+Ow0KPiA+ICDCoCBtYm94 LW5hbWVzID0gInNodXRkb3duIjsNCj4gPiAgwqAgLyogTTAgd2F0Y2hkb2cgKi8NCj4gPiAgwqBp bnRlcnJ1cHQtcGFyZW50ID0gPCZpbnRjPjsNCj4gPiAgwqBpbnRlcnJ1cHRzID0gPEdJQ19TUEkg NyBJUlFfVFlQRV9MRVZFTF9ISUdIPjsNCj4gPiAgwqAvKiBNMCBwZXJpcGhlcmFsIGNsb2NraW5n IChub3QgYWNjZXNzaWJsZSBieSB0aGUgTTApICovDQo+ID4gIMKgY2xvY2tzID0gPCZzY21pX2Ns ayBDS19TQ01JX0dQSU9aX0FNPiwNCj4gPiAgwqA8JnNjbWlfY2xrIENLX1NDTUlfR1BJT1o+LA0K PiA+ICDCoDwmc2NtaV9jbGsgQ0tfU0NNSV9JUENDMj4sDQo+ID4gIMKgPCZzY21pX2NsayBDS19T Q01JX0lQQ0MyX0FNPiwNCj4gPiAgwqA8JnJjYyBDS19MUFRJTTNfQU0+LA0KPiA+ICDCoDwmcmNj IENLX0xQVUFSVDFfQU0+LA0KPiA+ICDCoDwmcmNjIENLX0NQVTNfQU0+LA0KPiA+ICDCoDwmcmNj IENLX0NQVTM+LA0KPiA+ICDCoDwmcmNjIENLX0xQVUFSVDFfQzM+LA0KPiA+ICDCoDwmcmNjIENL X0dQSU9aX0MzPiwNCj4gPiAgwqA8JnJjYyBDS19MUFRJTTNfQzM+LA0KPiA+ICDCoDwmcmNjIENL X0tFUl9MUFVBUlQxPiwNCj4gPiAgwqA8JnJjYyBDS19LRVJfTFBUSU0zPiwNCj4gPiAgwqA8JnNj bWlfY2xrIENLX1NDTUlfR1BJT1o+LA0KPiA+ICDCoDwmc2NtaV9jbGsgQ0tfU0NNSV9JUENDMj47 DQo+ID4gIMKgc3RhdHVzID0gIm9rYXkiOw0KPiA+IH07DQo+ID4gDQo+ID4gSWYgd2Ugd2FudCB0 byByZW1vdmUgdGhlIERULCB3ZSBuZWVkIHRvIGNvbnNpZGVyOg0KPiA+IA0KPiA+IC0gTWVjaGFu aXNtIHRvIGRpZmZlcmVudGlhdGUgQ29ydGV4LU0zMyBhbmQgQ29ydGV4LU0wOg0KPiA+ICDCoCBT aW1pbGFyIHRvIFNDTUksIHRoZSByZW1vdGVwcm9jIE9QLVRFRSBzZXJ2aWNlIHNob3VsZCBzdXBw b3J0DQo+ID4gIMKgbXVsdGlwcm9jZXNzb3Igc2V0dXBzIHdpdGhvdXQgaW5zdGFudGlhdGluZyBt dWx0aXBsZSBzZXJ2aWNlcy4NCj4gPiANCj4gPiAtIE1haWxib3hlczoNCj4gPiANCj4gPiAgwqAg QSBwaGFuZGxlIGlzIG5lZWRlZCBiZWNhdXNlIHRoZSBtYWlsYm94IGRyaXZlciBpcyBtYW5hZ2Vk IGJ5IHRoZQ0KPiA+ICDCoCBMaW51eCBtYWlsYm94IGRyaXZlci4gU1RNMzJNUDIgaGFzIHR3byBt YWlsYm94ZXMuDQo+ID4gIMKgIE1vdmluZyB0b3dhcmRzIHlvdXIgcHJvcG9zYWwgd291bGQgaW1w bHkgY3JlYXRpbmcgYSBtYWlsYm94IHNlcnZpY2UNCj4gPiAgwqAgaW4gVEVFIHRvIG1hbmFnZSBu b24tc2VjdXJlIG1haWxib3hlcyBmb3Igbm9uLXNlY3VyZSBJUEMuIFRoaXMgbWlnaHQNCj4gPiAg wqAgbm90IGJlIGVmZmljaWVudCBmb3IgaW50ZXItcHJvY2Vzc29yIGNvbW11bmljYXRpb24uIEhh cmR3YXJlLXdpc2UsIGl0DQo+ID4gIMKgIHdvdWxkIHJlcXVpcmUgdGhlIElSUSB0byBiZSBoYW5k bGVkIGJ5IHRoZSBzZWN1cmUgY29udGV4dC4NCj4gPiANCj4gPiAtIE1lbW9yeSByZWdpb25zOg0K PiA+ICDCoC0gSGFyZHdhcmUgbGltaXRhdGlvbjogT1AtVEVFIGlzIGxpbWl0ZWQgaW4gdGhlIG51 bWJlciBvZiBtZW1vcnkgcmVnaW9ucw0KPiA+ICDCoCDCoGl0IGNhbiBkZWNsYXJlIGR1ZSB0byBG aXJld2FsbCBjb25maWd1cmF0aW9uLiBNb3ZpbmcgSVBDIG1lbW9yeSByZWdpb25zDQo+ID4gIMKg IMKgcmVhY2hlcyB0aGlzIGxpbWl0LiBDdXJyZW50bHksIE9QLVRFRSBkZWZpbmVzIGEgc2luZ2xl IHJlZ2lvbiB3aXRoDQo+ID4gc2hhcmVhYmxlDQo+ID4gIMKgIMKgYWNjZXNzIHJpZ2h0cywgd2hp Y2ggTGludXggc3BsaXRzIGludG8gYXQgbGVhc3QgdGhyZWUgbWVtb3J5IHJlZ2lvbnMNCj4gPiBm b3IgUlBNc2cuDQo+ID4gIMKgLSBNZW1vcnkgbWFwcGluZzogTWVtb3J5IHJlZ2lvbnMgc3RpbGwg bmVlZCB0byBiZSBkZWNsYXJlZCBpbiBMaW51eCB0bw0KPiA+IHByZXZlbnQNCj4gPiAgwqAgwqBM aW51eCBmcm9tIHVzaW5nIHRoZW0uDQo+ID4gIMKgLSBWaXJ0aW8vUlBNc2c6IE1lbW9yeSByZWdp b24gbmFtZXMgYXJlIGZpeGVkIChlLmcuLCBkZXY8WD52cmluZzxZPiksDQo+ID4gc28gT1AtVEVF DQo+ID4gIMKgIG11c3QgZGVjbGFyZSBtZW1vcnkgcmVnaW9ucyBpbiBpdHMgRFQgYWNjb3JkaW5n IHRvIExpbnV4IG5hbWluZw0KPiA+IGNvbnZlbnRpb25zLg0KPiA+IA0KPiA+IC0gQ2xvY2sgYW5k IHJlc2V0Og0KPiA+ICDCoCDCoFNvbWUgY2xvY2tzIGFuZCByZXNldHMgYXJlIG1hbmFnZWQgdmlh IFNDTUksIG90aGVycyBhcmUgbm90LiBUaGlzDQo+ID4gd291bGQgcmVxdWlyZQ0KPiA+ICDCoCBt YW5hZ2luZyBhbGwgY2xvY2tzIGFuZCByZXNldHMgdGhyb3VnaCBTQ01JLCB3aXRoIHBvc3NpYmxl IHNpZGUNCj4gPiBlZmZlY3Qgb24gdGhlDQo+ID4gIMKgICJ1bnVzZWQiIGNsb2NrIG1lY2hhbmlz bSBpbiBMaW51eCAoIHRvIGJlIGNvbmZpcm1lZCkNCj4gPiANCj4gPiAtIFBvd2VyIGRvbWFpbjoN Cj4gPiAgwqAgSW5mb3JtYXRpb24gaXMgbmVlZGVkIGF0IHRoZSBMaW51eCBsZXZlbCB0byBkZXRl cm1pbmUgdGhlIGxvdyBwb3dlcg0KPiA+IG1vZGUuDQo+ID4gDQo+ID4gLSBXYXRjaGRvZyBpbnRl cnJ1cHQ6DQo+ID4gIMKgIFNob3VsZCBiZSBtYW5hZ2VkIGJ5IE9QLVRFRSwgd2hpY2ggcmVxdWly ZXMgdGhlIGhhcmR3YXJlIHRvIGhhdmUgYW4NCj4gPiBhc3NvY2lhdGVkDQo+ID4gIMKgIHNlY3Vy ZSBJUlEuDQo+ID4gDQo+ID4gLSBNaXNjZWxsYW5lb3VzIHZlbmRvciBEVCBwcm9wZXJ0aWVzOg0K PiA+ICDCoCDCoEhvdyB0byBiZSBzdXJlIHRoYXQgdGhlc2UgY2FuIGJlIGFkZHJlc3NlZCB0aHJv dWdoIFRFRSBzZXJ2aWNlcz8NCj4gPiANCj4gPiBSZWdhcmRpbmcgdGhlIGV4aXN0aW5nIERUIG5l ZWRzLCBpdCBzZWVtcyB0byBtZSB0aGF0IHJlbW92aW5nIHRoZSBEVA0KPiA+IHdvdWxkIHJlcXVp cmUNCj4gPiBtb3ZpbmcgYWxsIG5vZGUgcmVzb3VyY2UgbWFuYWdlbWVudCBpbnRvIFRFRSAoIGlm IHJlYWxseSBwb3NzaWJsZSkuIFRoaXMNCj4gPiB3b3VsZA0KPiA+IGluY3JlYXNlIFRFRSBjb21w bGV4aXR5IGFuZCBmb290cHJpbnQsIHJlZHVjZSBzeXN0ZW0gZWZmaWNpZW5jeSwgYW5kDQo+ID4g bWFrZSBzdXBwb3J0aW5nDQo+ID4gb3RoZXIgcGxhdGZvcm1zIGxlc3Mgc2NhbGFibGUuDQoNCkkg Y2FuIHNlZSB5b3VyIGFyZ3VtZW50cyByZWdhcmRpbmcgc29tZSBEVCBwcm9wZXJ0aWVzIHdoaWNo IGFyZSBoYXJkIHRvDQpkaXNjb3ZlciB2aWEgT1AtVEVFIHNlcnZpY2UgYW5kIEkgaGF2ZSBiZWVu IHRyeWluZyB0byB0aGluayBvZiBob3cgdG8NCmhhbmRsZSBpdCBpbiBhIHByb3BlciBtYW5uZXIg Zm9yIGEgZGV2aWNlIG9uIGRpc2NvdmVyYWJsZSBURUUgYnVzLiBPbmUNCm9mIG15IGZlbGxvdyBr ZXJuZWwgbWFpbnRhaW5lcnMgcG9pbnRlZCBvdXQgdGhhdCBvdGhlciBkaXNjb3ZlcmFibGUNCmJ1 c2VzIGluIHRoZSBrZXJuZWwgbGlrZSBQQ0kgZXRjLiBhbHJlYWR5IHNvbHZlZCB0aGlzIERUIGRl cGVuZGVuY2llcw0KdmlhIGhhdmluZyBkZXZpY2Ugc3BlY2lmaWMgYmluZGluZ3MuIFlvdSBjYW4g aGF2ZSBhIGxvb2sgYXQgYSBvbmUNCnBhcnRpY3VsYXIgZXhhbXBsZSBvZiBQQ0kgZGV2aWNlIGJp bmRpbmcgaGVyZSBbMV0uIEluIGNhc2Ugb2YgT1AtVEVFLA0KeW91IGNhbiBoYXZlIGEgc2ltaWxh ciBkZXZpY2UgYmluZGluZyB3aXRoIFVVSUQgdW5kZXIgdGhlIE9QLVRFRQ0KZmlybXdhcmUgRFQg bm9kZS4NCg0KVGhlIGN1cnJlbnQgYXBwcm9hY2ggeW91IGFyZSB0YWtpbmcgdmlhIHByb2Jpbmcg ZGV2aWNlIG9uIHBsYXRmb3JtIGJ1cw0KYW5kIHRoZW4gdHJ5aW5nIHRvIG1vdmUgb250byBURUUg YnVzIGlzbid0IGF0IGFsbCB0aGUgY29tcGF0aWJsZSB3aXRoDQp0aGUgZHJpdmVyIG1vZGVsLCBp dCBzaW1wbHkgc2V0cyBhIGJhZCBleGFtcGxlIGZvciB0aGUgZHJpdmVyIG1vZGVsLg0KDQpbMV0g RG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC93aXJlbGVzcy9xY29tLGF0aDEx ay1wY2kueWFtbA0KDQo+ID4gDQo+ID4gVGhhdCBzYWlkLCBpdCBwcm9iYWJseSBhbHNvIGRlcGVu ZHMgb24gdGhlIFRFRSBpbXBsZW1lbnRhdGlvbi4NCj4gPiBBbmTCoCB3ZSBzaG91bGQgc3VwcG9y dCBib3RoLiBUaGlzIGNvdWxkIGJlIGRvbmUgYnkgaW50cm9kdWNpbmcgYSBzZWNvbmQNCj4gPiBV VUlELg0KPiA+IGJ1dCBpbiB0aGlzIGNhc2Ugc2hvdWxkIGl0IGJlIHRoZSBzYW1lIGRyaXZlcj8N Cj4gDQo+IEkgYW0gdW5zdXJlIGhvdyB0byBtb3ZlIGZvcndhcmQgaGVyZS4gSXQgc2VlbXMgdG8g bWUgdGhhdCBhZGRyZXNzaW5nIFN1bWl0J3MNCj4gcmVxdWVzdCBmb3IgYSBURUUgd2l0aG91dCBh IGRldmljZSB0cmVlIGlzIG5vdCBjb21wYXRpYmxlIHdpdGggdGhlIGN1cnJlbnQNCj4gT1AtVEVF IGltcGxlbWVudGF0aW9uLCBhdCBsZWFzdCBmb3IgdGhlIFNUTTMyTVAgcGxhdGZvcm1zLg0KPiAN Cj4gUGVyaGFwcyB0aGUgc2ltcGxlc3QgYXBwcm9hY2ggaXMgdG8gYWJhbmRvbiB0aGUgZWZmb3J0 IHRvIG1ha2UgdGhpcyBnZW5lcmljDQo+IGFuZCBpbnN0ZWFkIHJlbmFtZSB0ZWVfcmVtb3RlcHJv Yy5jIHRvIHN0bTMyX3RlZV9yZW1vdGVwcm9jLmMsIG1ha2luZyBpdA0KPiBwbGF0Zm9ybS1kZXBl bmRlbnQuIFRoZW4sIGlmIGFub3RoZXIgcGxhdGZvcm0gd2FudHMgdG8gcmV1c2UgaXQgd2l0aCBP UC1URUUNCj4gRkZBIG9yIGFub3RoZXIgVEVFLCB0aGUgZmlsZSBjYW4gYmUgcmVuYW1lZC4NCj4g DQo+IERvZXMgdGhpcyBwcm9wb3NhbCB3b3VsZCBtYWtlIHNlbnNlIHRvIHlvdT8NCg0KTm8sIHdl IHNob3VsZCB0cnkgdG8gYXZvaWQgYSB2ZW5kb3Igc3BlY2lmaWMgVEVFIGRyaXZlciBlc3BlY2lh bGx5IGlmIGl0J3MgYmFzZWQNCm9uIHNpbWlsYXIgT1AtVEVFIGJhc2VkIHNlcnZpY2Ugd2hpY2gg c2hvdWxkIGJlIGFibGUgdG8gYWJzdHJhY3Qgb3V0IHRoZSB2ZW5kb3INCmltcGxlbWVudGF0aW9u IGZvciB0aGUga2VybmVsLg0KDQotU3VtaXQNCg==