From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 6F85741115 for ; Sun, 13 Nov 2022 11:49:19 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id DD90668B3C7; Sun, 13 Nov 2022 13:49:15 +0200 (EET) Received: from out203-205-221-155.mail.qq.com (out203-205-221-155.mail.qq.com [203.205.221.155]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4310168AC9A for ; Sun, 13 Nov 2022 13:49:07 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1668340143; bh=ipVsTSGq38eUnDEVgsb1dRPSmlTs7bjDBLxx1zUHyxI=; h=From:To:References:In-Reply-To:Subject:Date; b=xRvGYEGVAACA1cqn396M13wY7+AkxeZQP3a7wzJYGEJ8MP+a3VSabiflwHtXFuh4C St4lcwqDuRwoapUhu2Fg9eW9OpLBOqjFg6JDow7HLcjyTgeA0b9FVR9+xBna+SIsVb rxXCYVDLH9IXUYjNMoT6Ysje41E9x4aQs6c0izIE= Received: from ZHILIZHAOPC4 ([113.118.102.20]) by newxmesmtplogicsvrszc1-0.qq.com (NewEsmtp) with SMTP id C429BC6A; Sun, 13 Nov 2022 19:49:02 +0800 X-QQ-mid: xmsmtpt1668340142t0k6h3jyh Message-ID: X-QQ-XMAILINFO: OKkKo7I1HxIez+fFkrc/0EyynI32oGgrjz1hflcUQF50PU+wQVGT1GqI9CMMg5 ZzUQAslxjnUk2fv/Yyd2QajjLkC91v/qRUmipmkM9CtR+2Mz7DUWFoe74PN19DdhRIk2ElHmTcut xQSyLG7t+dCXMb0BpaBl7jwVTqODFar42vTovDIBMpr2UdR2NGZdGDXrXuaQ+IO2l7C/BgJTfeLM 4zgNtmPbfBcRYsZadW7joomhFR1I+9ysua6ahOmTtcjAe4mUluqFxfrR1xBcaUENqVALFoE82z37 tqbhAHyfms1lFPlXSuwLqVvlaZlYayWZdoFHL8fJQk/5dzDqSOSdrD78AMDADYwdDGnhSHbaDIJO eybDcvOJHHNWXDJlDRW/6DOJ27hLQvrB71DxEoiEorSo/EY7LLsZ/1yGZ5RgqPAVuxvSt+DamriF BpwkPdCl5uWaK6TigTSmnWt6qljlGZt7o01qK6A/D9pNiu2ZPKLtq5Z1XN+1hy7ciuhoZn266vMQ n0mEPFtxaHrlyIHtWb4qUDL1YsM/FQYZYTd/S2OknUGnZ9P+MKjamRjDxXLr40oye5rhu9lKzh8Q wCJ9DpzRCiCMZnZOMnvWPzwRHScyZLPmqTONqd1V+Ck8qCGTYcIq3fV2gWV9ZRnEUsZvweLeFNaJ YIchZBk2LJixX/3TGpDYljuJcRz2b8r0mEyHH3sIXzDFgJZXG1jw6sO1+hLpMmTRf7NyHjoGX7UL egZg1ne3p881XpXt6skzR8cwpHT1XRnIxyY3jivQZDo9M//GLZ0NXrBlqYzJ/BV5SGhzQcirwK3I +cboeufrxC1ZifxdDmz70Vmtq7cW6fY9S7YHT+ZpibS+CIv3BewoH+dA8a32knTvuniqcOOcnMqt H7zvkLskwz4T8ia/KiuHpYoFokfApyiZYhqyiTk43Y4V5nx/9Mqohhxf05S52uxCTb2oBJH0pqZv CO1U5ue0wn8COtyoT0dizwwpe+R3iK From: "Zhao Zhili" To: "'FFmpeg development discussions and patches'" References: <2be0f2b8-5320-4a81-994a-2b35cc2d3af6@EX-SZ063.tencent.com> In-Reply-To: Date: Sun, 13 Nov 2022 19:49:02 +0800 X-OQ-MSGID: <004c01d8f755$ecec7570$c6c56050$@foxmail.com> MIME-Version: 1.0 X-Mailer: Microsoft Outlook 16.0 Thread-Index: AQGjZnEKbA7VWEWGxzIW+5QcFluQUwIRozgJAi2yiZYBmDKCVQHdD2Hcrmo3AUA= Content-Language: zh-cn Subject: Re: [FFmpeg-devel] [Internet][PATCH 00/12] Add MediaCodec encoder and NDK MediaCodec support X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: Cj4gRnJvbTogZmZtcGVnLWRldmVsIDxmZm1wZWctZGV2ZWwtYm91bmNlc0BmZm1wZWcub3JnPiBP biBCZWhhbGYgT2YgT2xpdmllciBBeWFjaGUKPiBTZW50OiAyMDIy5bm0MTHmnIgxMuaXpSAxODow MAo+IFRvOiBGRm1wZWcgZGV2ZWxvcG1lbnQgZGlzY3Vzc2lvbnMgYW5kIHBhdGNoZXMgPGZmbXBl Zy1kZXZlbEBmZm1wZWcub3JnPgo+IENjOiBtYXR0aGlldS5ib3Vyb25Ac3R1cGVmbGl4LmNvbTsg YW1hbkB0bW0xLm5ldAo+IFN1YmplY3Q6IFJlOiBbRkZtcGVnLWRldmVsXSBbSW50ZXJuZXRdW1BB VENIIDAwLzEyXSBBZGQgTWVkaWFDb2RlYyBlbmNvZGVyIGFuZCBOREsgTWVkaWFDb2RlYyBzdXBw b3J0Cj4gCj4gSGVsbG8gdGhlcmUgSSBpbXBsZW1lbnRlZCB0aGF0IGZldyB5ZWFycyBhZ28gaW4K PiBodHRwczovL2dpdGh1Yi5jb20vb2xpdmllcmF5YWNoZS94dWdnbGUteHVnZ2xlci8KCkkgY2Fu J3QgZmluZCB3aGVyZSBpcyB0aGUgcGF0Y2ggb3Igc291cmNlIGNvZGUgb2YgRkZtcGVnLgoKPiBB bmQgd2hlbiBJIHRyaWVkIHRvIHN1Ym1pdCBhIHBhdGNoIHRvIEZGbXBlZyBmb3IgYWRkIHN1cHBv cnQgZm9yIE5ESyBJIGhhZAo+IHJlY2VpdmVkIHRoaXMgYW5zd2VyLgo+IEkgdGhpbmsgdXNpbmcg TkRLIGRpcmVjdGx5IHJhdGhlciB0aGFuIEpOSSBjYW4gYmUgYmV0dGVyIGluIGNhc2Ugb2YKPiBk ZXZlbG9waW5nIG5hdGl2ZSBhcHBsaWNhdGlvbiBvbiBBbmRyb2lkLgoKTkRLIGlzIHN0aWxsIG1p c3Npbmcgc29tZSBpbXBvcnRhbnQgZmVhdHVyZXMsIGFuZCBzb21lIGZlYXR1cmVzIG9ubHkgc3Vw cG9ydGVkIHJlY2VudGx5LgpTbyB0aGUgTkRLIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgbWVhbnQg dG8gYmUgYSByZXBsYWNlbWVudCBvZiB0aGUgSk5JIHZlcnNpb246CjEuIEpOSSB2ZXJzaW9uIGhh cyBtb3JlIGZlYXR1cmVzIGFuZCBzdXBwb3J0cyBtb3JlIGRldmljZXMKMi4gTkRLIGltcGxlbWVu dGF0aW9uIGNvbWJpbmVkIHdpdGggc29tZSBKTkkgZnVuY3Rpb25zIGhhcyBhbG1vc3QgdGhlIHNh bWUgZmVhdHVyZQpBcyBKTkkgdmVyc2lvbiBvbiBuZXcgZGV2aWNlcy4KMy4gSW4gdGhlIGVudmly b25tZW50IHdoZXJlIEpWTSBpcyB1bmF2YWlsYWJsZSwgdGhlIE5ESyB2ZXJzaW9uIGlzIHRoZSBv bmx5IGNob2ljZS4KCj4gSWYgSSBjYW4gaGVscCBvbiB0aGVzZSBzdWJqZWN0cyBJIHdvdWxkIGJl IHJlYWxseSBoYXBweQoKV2VsY29tZSB0byByZXZpZXcgYW5kL29yIHRlc3QgdGhlIHBhdGNoLgoK PiAKPiBPbGl2aWVyIEF5YWNoZQo+IAo+IAo+IAo+IC0tLS0tLS0tLS0gRm9yd2FyZGVkIG1lc3Nh Z2UgLS0tLS0tLS0tCj4gRnJvbTogT2xpdmllciBBeWFjaGUgPG9saXZpZXIuYXlhY2hlQGdtYWls LmNvbT4KPiBEYXRlOiBTdW4sIEp1biAyOCwgMjAyMCBhdCAyOjQ4IFBNCj4gU3ViamVjdDogUmU6 IFtGRm1wZWctZGV2ZWxdIFtQQVRDSF0gYWRkIHN1cHBvcnQgdG8gQW5kcm9pZCBuZGsgTWVkaWFD b2RlYwo+IGZvciBlbmNvZGluZy9kZWNvZGluZwo+IFRvOiA8ZmZtcGVnLWRldmVsQGZmbXBlZy5v cmc+Cj4gCj4gCj4gVGhhbmsgZm9yIHlvdXIgcmVwbGllcyBJIGNob29zZSB0aGUgTkRLIGFwcHJv YWNoIGluIG9yZGVyIHRvICBiZSBhYmxlIHRvIGJlCj4gaW5kZXBlbmRhbnQgZnJvbSB0aGUgSlZN LCB0byBtYXhpbWl6ZSBwZXJmb3JtYW5jZSBhbmQgdG8gYmUgc3VyZSB0byBkZXRlY3QKPiBjb21w YXRpYmlsaXR5IGlzc3VlcyAodXNpbmcgSk5JIGFwcHJvYWNoIGNhbiBjb21waWxlIGFuZCBjcmFz aCBhdCBydW50aW1lKS4KPiBDb25jZXJuaW5nIHRoZSB2ZXJzaW9uIG9mIEFuZHJvaWQgaXQgaXMg Y29tcGF0aWJsZSBmcm9tIEFQSSAyMSAoOTQlIG9mCj4gZGV2aWNlcykKPiBJIGFncmVlIHRoYXQg Sk5JIG92ZXJoZWFkIGlzIG5vdCBiaWcgYnV0IGluIGNvbWJpbmFpc29uIHdpdGggWHVnZ2xlciBp dAo+IHNlZW1zIHRvIG1lIGEgbGl0dGxlIHdlaXJkIGJlY2F1c2UgWHVnZ2xlciAoSmF2YSBwYXJ0 KSBhbHJlYWR5IHVzZSBKTkkgdG8KPiBpbnRlcmFjdCB3aXRoIFh1Z2dsZXIgKEMrKykgYW5kIEZG bXBlZy4gSWYgRkZtcGVnIHVzZXMgSk5JIGluIHRoZSBvdGhlciB3YXkKPiAoZnJvbSBjIHRvIEph dmEpIGl0IHNlZW1zIHRvIG1lIGFuIGFudGkgcGF0dGVybi4KPiAKPiBJZiB5b3UgdGhpbmsgaXQg aXMgYmV0dGVyIHRvIGJlZ2luIHRvIHVzZSBKTkkgSSBjb3VsZCB0cmFuc2Zvcm0gbXkgZW5jb2Rl cgo+IGFuZCB3ZSBjb3VsZCBkaXNjdXNzIGFib3V0IE5ESyBhZnRlcgo+IAo+IE9saXZpZXIKPiAK PiAKPiAKPiBMZSBzYW0uIDI3IGp1aW4gMjAyMCDDoCAyMDo1NSwgTWFydGluIFN0b3JzasO2IDxt YXJ0aW5AbWFydGluLnN0PiBhIMOpY3JpdCA6Cj4gCj4gPiBPbiBTYXQsIDI3IEp1biAyMDIwLCBP bGl2aWVyIEF5YWNoZSB3cm90ZToKPiA+Cj4gPiA+IEhpIGV2ZXJ5b25lIHRoaXMgaXMgdGhlIGZp cnN0IHRpbWUgSSBwb3N0IG9uIHRoaXMgbWFpbGluZyBsaXN0LiBJIGFtCj4gPiA+IHdvcmtpbmcg c2luY2Ugc2V2ZXJhbCB5ZWFycyBvbiBhIGZvcmsgb2YgWHVnZ2xlciBmb3IgbWFuaXB1bGF0aW5n IGZmbXBlZwo+ID4gPiBBUEkgd2l0aCBKYXZhL0tvdGxpbi4KPiA+ID4gVGhpcyB3b3JrIGxlYWRz IG1lIHRvIGRldmVsb3AgZW5jb2RlciBhbmQgZGVjb2RlciBiYXNlZCBvbiBBbmRyb2lkIE5ESwo+ ID4gPiBNZWRpYUNvZGVjLgo+ID4gPgo+ID4gPiBUaGlzIHdvcmsgY2FuIGJlIGZvdW5kIG9uIG15 IEdpdGh1YiByZXBvc2l0b3J5Cj4gPiA+Cj4gPiA+IGh0dHBzOi8vZ2l0aHViLmNvbS9vbGl2aWVy YXlhY2hlL3h1Z2dsZS14dWdnbGVyCj4gPiA+Cj4gPiA+Cj4gPiA+IEkga25vdyB0aGF0IEZGbXBl ZyBhbHJlYWR5IGludGVncmF0ZSBNZWRpYUNvZGVjIGZvciBkZWNvZGluZyB2aWEgSm5pCj4gPiA+ IHdyYXBwZXJzIHNpbmNlIHZlcnNpb24gMy4xLiBJIGJlZ2FuIHRoaXMgd29yayBvbiBGRm1wZWcg Mi44LnggYW5kIEkKPiA+IGNob29zZQo+ID4gPiB0aGUgTkRLIGluIG9yZGVyIHRvIGFjaGlldmUg b3B0aW11bSBwZXJmb3JtYW5jZS4KPiA+Cj4gPiBJZiB5b3UgbWVhbiB5b3UgdXNlZCB0aGUgTkRL IE1lZGlhQ29kZWMgQVBJLCBJJ2Qgc3VnZ2VzdCB5b3UgdXNlIHRoZSBzYW1lCj4gPiBKTkkgd3Jh cHBlcnMgYXMgZmZtcGVnIGhhcyBhbHJlYWR5LCBmb3IgY29uc2lzdGVuY3kuIFRoZSBvdmVyaGVh ZCBvZiBhIGZldwo+ID4gSk5JIGNhbGxzIHBlciBlbmNvZGVkIGZyYW1lIGlzIGdlbmVyYWxseSBu ZWdsaWdpYmxlLiBJZiBpdCwgYXQgYSBsYXRlcgo+ID4gdGltZSwgaXMgZGVjaWRlZCB0byBkcm9w IHN1cHBvcnQgZm9yIG9sZGVyIHZlcnNpb25zIGF0IHNvbWUgcG9pbnQsIGl0Cj4gPiBzaG91bGQg YmUgc3RyYWlnaHRmb3J3YXJkIHRvIGNvbnZlcnQgaXQgdG8gdXNlIHRoZSBOREsgTWVkaWFDb2Rl YyBBUEkKPiA+IGluc3RlYWQuCj4gPgo+ID4gLy8gTWFydGluCj4gPgo+ID4gX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiA+IGZmbXBlZy1kZXZlbCBtYWls aW5nIGxpc3QKPiA+IGZmbXBlZy1kZXZlbEBmZm1wZWcub3JnCj4gPiBodHRwczovL2ZmbXBlZy5v cmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKPiA+Cj4gPiBUbyB1bnN1YnNjcmliZSwg dmlzaXQgbGluayBhYm92ZSwgb3IgZW1haWwKPiA+IGZmbXBlZy1kZXZlbC1yZXF1ZXN0QGZmbXBl Zy5vcmcgd2l0aCBzdWJqZWN0ICJ1bnN1YnNjcmliZSIuCj4gCj4gCj4gT24gU2F0LCBOb3YgMTIs IDIwMjIgYXQgNjowNyBBTSBaaGFvIFpoaWxpIDxxdWlua2JsYWNrQGZveG1haWwuY29tPiB3cm90 ZToKPiAKPiA+Cj4gPgo+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+ID4gPiBGcm9t OiBmZm1wZWctZGV2ZWwgPGZmbXBlZy1kZXZlbC1ib3VuY2VzQGZmbXBlZy5vcmc+IE9uIEJlaGFs ZiBPZiBDaGVtYQo+ID4gR29uemFsZXoKPiA+ID4gU2VudDogMjAyMuW5tDEx5pyIMTLml6UgMDo1 NQo+ID4gPiBUbzogRkZtcGVnIGRldmVsb3BtZW50IGRpc2N1c3Npb25zIGFuZCBwYXRjaGVzIDxm Zm1wZWctZGV2ZWxAZmZtcGVnLm9yZz4KPiA+ID4gQ2M6IG1hdHRoaWV1LmJvdXJvbkBzdHVwZWZs aXguY29tOyBhbWFuQHRtbTEubmV0Cj4gPiA+IFN1YmplY3Q6IFJlOiBbRkZtcGVnLWRldmVsXSBb SW50ZXJuZXRdW1BBVENIIDAwLzEyXSBBZGQgTWVkaWFDb2RlYwo+ID4gZW5jb2RlciBhbmQgTkRL IE1lZGlhQ29kZWMgc3VwcG9ydAo+ID4gPgo+ID4gPiBPbiBUaHUsIE5vdiAxMCwgMjAyMiBhdCA3 OjM2IFBNICJ6aGlsaXpoYW8o6LW15b+X56uLKSIgPHF1aW5rYmxhY2tAZm94bWFpbC5jb20+Cj4g PiB3cm90ZToKPiA+ID4gPgo+ID4gPiA+IFBpbmcgZm9yIHJldmlldy4KPiA+ID4gPgo+ID4gPiA+ ID4gT24gT2N0IDI0LCAyMDIyLCBhdCAxMToxNiwgWmhhbyBaaGlsaSA8cXVpbmtibGFja0Bmb3ht YWlsLmNvbT4KPiA+IHdyb3RlOgo+ID4gPiA+ID4KPiA+ID4gPiA+IEZyb206IFpoYW8gWmhpbGkg PHpoaWxpemhhb0B0ZW5jZW50LmNvbT4KPiA+ID4gPiA+Cj4gPiA+ID4gPiBGaXJzdGx5LCBzb21l IGJ1Z3Mgd2VyZSBmaXhlZCAocGF0Y2ggMS00KS4KPiA+ID4gPiA+Cj4gPiA+ID4gPiBQYXRjaCA1 IGFuZCA2IG1ha2UgbWVkaWFjb2RlY193cmFwcGVyIHN1cHBvcnQgSmF2YSBNZWRpYUNvZGVjIGFu ZCBOREsKPiA+ID4gPiA+IE1lZGlhQ29kZWMuIFRoZSB1c2UgY2FzZSBJJ20gY29uc2lkZXJpbmcg aXMgcnVuIEZGbXBlZyBvbiBjbWRsaW5lCj4gPiB3aXRob3V0IEpWTSwKPiA+ID4gPiA+IGZvciBl eGFtcGxlLCBydW4gRkZtcGVnIGluc2lkZSBvZiB0ZXJtdXggKGFuIEFuZHJvaWQgdGVybWluYWwK PiA+IGVtdWxhdG9yKS4gSXQncwo+ID4gPiA+ID4gd2VsbCBrbm93biB0aGF0IE5ESyBNZWRpYUNv ZGVjIG1pc3Npbmcgc29tZSBpbXBvcnRhbnQgZnVuY3Rpb25zLAo+ID4gbGlrZSBnZXQgdGhlCj4g PiA+ID4gPiBsaXN0IG9mIGNvZGVjcywgYnV0IHN0aWxsIHVzZWFibGUuCj4gPiA+ID4gPgo+ID4g PiA+ID4gUGF0Y2ggNyBhZGQgTkRLIE1lZGlhQ29kZWMgZGVjb2RlciBzdXBwb3J0LiBJdCBjYW4g YmUgZW5hYmxlZCB2aWEKPiA+IG9wdGlvbnMsCj4gPiA+ID4gPiBhbmQgZW5hYmxlZCBhdXRvbWF0 aWNhbGx5IGlmIG5vIEpWTSBpcyBhdmFpbGFibGUuCj4gPiA+ID4gPgo+ID4gPiA+ID4gUGF0Y2gg OCBhZGQgQU5hdGl2ZVdpbmRvdyBzdXBwb3J0IHRvIGh3Y29udGV4dF9tZWRpYWNvZGVjLiBJdCBj YW4gYmUKPiA+IHNldCBieQo+ID4gPiA+ID4gdXNlciwgYW5kIGNhbiBiZSBjcmVhdGVkIHZpYSBB TWVkaWFDb2RlY19jcmVhdGVQZXJzaXN0ZW50SW5wdXRTdXJmYWNlCj4gPiA+ID4gPiBhdXRvbWF0 aWNhbGx5LiBUaGlzIGlzIGEgcHJlcGFyYXRpb24gZm9yIGVuY29kZXIuCj4gPiA+ID4gPgo+ID4g PiA+ID4gUGF0Y2ggOSBtYWtlcyBNZWRpYUNvZGVjIGRlY29kZXIgdG8gc3VwcG9ydCBBTmF0aXZl V2luZG93IGRpcmVjdGx5Lgo+ID4gSXQgd29ydGgKPiA+ID4gPiA+IHRvIG5vdGUgdGhhdCBBVk1l ZGlhQ29kZWNDb250ZXh0IGhhcyBvbmx5IHN1cmZhY2UuIEFsdGhvdWdoIHdlCj4gPiBwcm92aWRl ZAo+ID4gPiA+ID4gYXZfbWVkaWFjb2RlY19hbGxvY19jb250ZXh0KCksIHdlIGRpZG4ndCBzdHJp Y3RseSBwcmV2ZW50IHVzZXJzIHRvCj4gPiBhbGxvY2F0ZQo+ID4gPiA+ID4gQVZNZWRpYUNvZGVj Q29udGV4dCBvbiBzdGFjay4gSSdtIG5vdCBzdXJlIGlmIGl0J3MgT0sgdG8gYWRkIG5ldwo+ID4g ZmllbGQgdG8KPiA+ID4gPiA+IEFWTWVkaWFDb2RlY0NvbnRleHQuCj4gPiA+ID4gPgo+ID4gPiA+ ID4gUGF0Y2ggMTAgYWRkIE1lZGlhQ29kZWMgZW5jb2RlciBzdXBwb3J0LiBGcmFtZSBjYW4gYmUg ZmVlZCB0bwo+ID4gZW5jb2RlciB2aWEKPiA+ID4gPiA+IGJ1ZmZlciwgb3IgdmlhIFN1cmZhY2Uv QU5hdGl2ZVdpbmRvdy4gSWYgU3VyZmFjZS9BTmF0aXZlV2luZG93IGlzCj4gPiB1c2VkLCBhbmQK PiA+ID4gPiA+IHRoZSBmcmFtZXMgY29tZSBmcm9tIG91ciBNZWRpYUNvZGVjIGRlY29kZXIgd3Jh cHBlciwgd2UgY2FuIGNvbnRyb2wKPiA+IGl0J3MKPiA+ID4gPiA+ICdyZW5kZXInIChzZW5kIHRv IGVuY29kZXIncyBzdXJmYWNlKSB2aWEKPiA+IGF2X21lZGlhY29kZWNfcmVsZWFzZV9idWZmZXIo KS4gQSBEVFMKPiA+ID4gPiA+IGdlbmVyYXRpb24gc3RyYXRlZ3kgd29ya3MgaW4gdGhpcyBjYXNl LiBIb3dldmVyLCBpZiBmcmFtZXMgY29tZXMKPiA+IGZyb20gb3RoZXIKPiA+ID4gPiA+IHNvdXJj ZXMsIGxpa2UgYSBjYW1lcmEsIHRoZXJlIGlzIG5vIHdheSB0byBjb250cm9sIHRoZSAncmVuZGVy JyB5ZXQsCj4gPiBzbyBEVFMgaXMKPiA+ID4gPiA+IG1pc3NpbmcgaW4gdGhpcyBjYXNlLgo+ID4g PiA+ID4KPiA+ID4gPiA+IEZpbmFsbHksIHdlIGNhbiBkbyBtZWRpYWNvZGVjIHRyYW5zY29kaW5n IHdpdGggRkZtcGVnIGNtZGxpbmUgb24KPiA+IEFuZHJvaWQuCj4gPiA+ID4gPiBNb3JlIGltcG9y dGFudGx5LCB3ZSBjYW4gZG8gTWVkaWFDb2RlYyBkZWNvZGVyIHRvIGVuY29kZXIgd2l0aG91dAo+ ID4gY29weSBmcmFtZXMsCj4gPiA+ID4gPiBhbHRob3VnaCBpdCdzIHZlcnkgbGltaXRlZCBzaW5j ZSBtb3N0IG9mIGF2ZmlsdGVycyBkb2Vzbid0IHdvcmsuIEZvcgo+ID4gZXhhbXBsZToKPiA+ID4g PiA+Cj4gPiA+ID4gPiAuL2ZmbXBlZyAtaHdhY2NlbCBtZWRpYWNvZGVjIC1od2FjY2VsX291dHB1 dF9mb3JtYXQgbWVkaWFjb2RlYyAtaQo+ID4gL3NkY2FyZC90ZXN0Lm1wNCAtYW4gLWM6diBoMjY0 X21lZGlhY29kZWMgLXkKPiA+ID4gL3NkY2FyZC9vdXQubXA0Cj4gPiA+Cj4gPiA+IEhvdyBkbyB5 b3UgYnVpbGQgdGhlIGZmbXBlZyBiaW5hcnkgeW91J3JlIHVzaW5nIGZvciBleHBlcmltZW50cyBp biB0aGUKPiA+ID4gYW5kcm9pZCBkZXZpY2U/Cj4gPgo+ID4gSnVzdCBjb25maWd1cmUgd2l0aCAt LWVuYWJsZS1tZWRpYWNvZGVjIGFuZCAtLWVuYWJsZS1qbmkuIEhlcmUgaXMgdGhlIGJ1aWxkCj4g PiBzY3JpcHQgSSB1c2VkIGZvciB0aGUgZGV2ZWxvcG1lbnQuCj4gPgo+ID4gaHR0cHM6Ly9naXRo dWIuY29tL3F1aW5rLWJsYWNrL2ZmbXBlZy1jaS9ibG9iL21hc3Rlci9hbmRyb2lkX2ZmbXBlZy5z aAo+ID4KPiA+IEhlcmUgaXMgdGhlIEFuZHJvaWQgU3R1ZGlvIHByb2plY3Qgd2hpY2ggY2FuIGJl IHVzZWQgdG8gdGVzdCB0aGUgbWVkaWFjb2RlYwo+ID4gd3JhcHBlciBpbXBsZW1lbnRlZCB2aWEg Sk5JLgo+ID4KPiA+ID4KPiA+ID4KPiA+ID4KPiA+ID4KPiA+ID4gPiA+Cj4gPiA+ID4gPiBTaW5j ZSB0aGVyZSBpcyBubyByZWFsIEFWSFdGcmFtZUNvbnRleHQgaW1wbGVtZW50YXRpb24gaW4KPiA+ IGh3Y29udGV4dF9tZWRpYWNvZGVjLgo+ID4gPiA+ID4gdGhlcmUgaXMgbm8gaHdmcmFtZV9jdHgg Zm9yIG1lZGlhY29kZWMgYW5kCj4gPiBhdl9od2ZyYW1lX3RyYW5zZmVyX2RhdGEoKSBkb2Vzbid0 Cj4gPiA+ID4gPiB3b3JrLiBTbyBpZiAtaHdhY2NlbF9vdXRwdXRfZm9ybWF0IGlzbid0IGJlaW5n IHNwZWNpZmllZCBsaWtlOgo+ID4gPiA+ID4KPiA+ID4gPiA+IC4vZmZtcGVnIC1od2FjY2VsIG1l ZGlhY29kZWMgLWkgL3NkY2FyZC90ZXN0Lm1wNCAtYW4gLWM6dgo+ID4gaDI2NF9tZWRpYWNvZGVj IC15IC9zZGNhcmQvb3V0Lm1wNAo+ID4gPiA+ID4KPiA+ID4gPiA+IEl0IHdpbGwgdHJpZ2dlciBh IGNyYXNoIGluIGF2X2h3ZnJhbWVfdHJhbnNmZXJfZGF0YS4gUGF0Y2ggMTEgYWRkIGEKPiA+IGNo ZWNrIG9uCj4gPiA+ID4gPiBod2ZyYW1lX2N0eC4gUGF0Y2ggMTIgc2V0IGh3YWNjZWxfb3V0cHV0 X2Zvcm1hdCBhdXRvbWF0aWNhbGx5IHRvCj4gPiBhdm9pZCBzdWNoCj4gPiA+ID4gPiBjYXNlLgo+ ID4gPiA+ID4KPiA+ID4gPiA+Cj4gPiA+ID4gPiBaaGFvIFpoaWxpICgxMik6Cj4gPiA+ID4gPiAg YXZjb2RlYy9tZWRpYWNvZGVjOiBmaXggaW5jb3JyZWN0IGNyb3AgaW5mbwo+ID4gPiA+ID4gIGF2 Y29kZWMvbWVkaWFjb2RlY2RlYzogZG9uJ3QgYnJlYWsgb3V0IGlmIGJvdGggaW5wdXQgYW5kIG91 dHB1dCBwb3J0Cj4gPiA+ID4gPiAgICByZXR1cm4gdHJ5IGFnYWluCj4gPiA+ID4gPiAgYXZjb2Rl Yy9tZWRpYWNvZGVjZGVjX2NvbW1vbjogZml4IG1pc3VzZSBhdl9mcmVlL2F2X2ZyZWVwCj4gPiA+ ID4gPiAgYXZjb2RlYy9tZWRpYWNvZGVjZGVjX2NvbW1vbjogZml4IHVzZWxlc3MgYXZfYnVmZmVy X3VucmVmCj4gPiA+ID4gPiAgYXZjb2RlYy9tZWRpYWNvZGVjX3dyYXBwZXI6IHNlcGFyYXRlIGlt cGxlbWVudGF0aW9uIGZyb20gaW50ZXJmYWNlCj4gPiA+ID4gPiAgYXZjb2RlYy9tZWRpYWNvZGVj OiBhZGQgTkRLIG1lZGlhIGNvZGVjIHdyYXBwZXIKPiA+ID4gPiA+ICBhdmNvZGVjL21lZGlhY29k ZWNkZWM6IGVuYWJsZSBOREsgbWVkaWFjb2RlYwo+ID4gPiA+ID4gIGF2dXRpbC9od2NvbnRleHRf bWVkaWFjb2RlYzogYWRkIEFOYXRpdmVXaW5kb3cgc3VwcG9ydAo+ID4gPiA+ID4gIGF2Y29kZWMv bWVkaWFjb2RlYzogYWRkIEFOYXRpdmVXaW5kb3cgc3VwcG9ydAo+ID4gPiA+ID4gIGF2Y29kZWM6 IGFkZCBNZWRpYUNvZGVjIGVuY29kZXIKPiA+ID4gPiA+ICBhdnV0aWwvaHdjb250ZXh0OiB2ZXJp ZnkgaHdfZnJhbWVzX2N0eCBpbiB0cmFuc2Zlcl9kYXRhX2FsbG9jCj4gPiA+ID4gPiAgZmZ0b29s cy9mZm1wZWdfb3B0OiBzZXQgZGVmYXVsdCBod2FjY2VsX291dHB1dF9mb3JtYXQgZm9yIG1lZGlh Y29kZWMKPiA+ID4gPiA+Cj4gPiA+ID4gPiBDaGFuZ2Vsb2cgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgIDIgKwo+ID4gPiA+ID4gY29uZmlndXJlICAgICAgICAgICAgICAgICAgICAgICAgIHwg ICA2ICsKPiA+ID4gPiA+IGZmdG9vbHMvZmZtcGVnX29wdC5jICAgICAgICAgICAgICB8ICAgNCAr Cj4gPiA+ID4gPiBsaWJhdmNvZGVjL01ha2VmaWxlICAgICAgICAgICAgICAgfCAgIDIgKwo+ID4g PiA+ID4gbGliYXZjb2RlYy9hbGxjb2RlY3MuYyAgICAgICAgICAgIHwgICAyICsKPiA+ID4gPiA+ IGxpYmF2Y29kZWMvbWVkaWFjb2RlY19zdXJmYWNlLmMgICB8ICA0NiArLQo+ID4gPiA+ID4gbGli YXZjb2RlYy9tZWRpYWNvZGVjX3N1cmZhY2UuaCAgIHwgICA4ICstCj4gPiA+ID4gPiBsaWJhdmNv ZGVjL21lZGlhY29kZWNfd3JhcHBlci5jICAgfCA5NDIKPiA+ICsrKysrKysrKysrKysrKysrKysr KysrKysrKy0tLQo+ID4gPiA+ID4gbGliYXZjb2RlYy9tZWRpYWNvZGVjX3dyYXBwZXIuaCAgIHwg Mjc1ICsrKysrKystLQo+ID4gPiA+ID4gbGliYXZjb2RlYy9tZWRpYWNvZGVjZGVjLmMgICAgICAg IHwgIDIxICstCj4gPiA+ID4gPiBsaWJhdmNvZGVjL21lZGlhY29kZWNkZWNfY29tbW9uLmMgfCAg MzUgKy0KPiA+ID4gPiA+IGxpYmF2Y29kZWMvbWVkaWFjb2RlY2RlY19jb21tb24uaCB8ICAgMSAr Cj4gPiA+ID4gPiBsaWJhdmNvZGVjL21lZGlhY29kZWNlbmMuYyAgICAgICAgfCA0OTUgKysrKysr KysrKysrKysrKwo+ID4gPiA+ID4gbGliYXZjb2RlYy92ZXJzaW9uLmggICAgICAgICAgICAgIHwg ICAyICstCj4gPiA+ID4gPiBsaWJhdnV0aWwvaHdjb250ZXh0LmMgICAgICAgICAgICAgfCAgIDYg Ky0KPiA+ID4gPiA+IGxpYmF2dXRpbC9od2NvbnRleHRfbWVkaWFjb2RlYy5jICB8ICA1NiArLQo+ ID4gPiA+ID4gbGliYXZ1dGlsL2h3Y29udGV4dF9tZWRpYWNvZGVjLmggIHwgIDExICsKPiA+ID4g PiA+IGxpYmF2dXRpbC92ZXJzaW9uLmggICAgICAgICAgICAgICB8ICAgNCArLQo+ID4gPiA+ID4g MTggZmlsZXMgY2hhbmdlZCwgMTc4MCBpbnNlcnRpb25zKCspLCAxMzggZGVsZXRpb25zKC0pCj4g PiA+ID4gPiBjcmVhdGUgbW9kZSAxMDA2NDQgbGliYXZjb2RlYy9tZWRpYWNvZGVjZW5jLmMKPiA+ ID4gPiA+Cj4gPiA+ID4gPiAtLQo+ID4gPiA+ID4gMi4yNS4xCj4gPiA+ID4gPgo+ID4gPiA+ID4K PiA+ID4gPgo+ID4gPiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCj4gPiA+ID4gZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdAo+ID4gPiA+IGZmbXBlZy1k ZXZlbEBmZm1wZWcub3JnCj4gPiA+ID4gaHR0cHM6Ly9mZm1wZWcub3JnL21haWxtYW4vbGlzdGlu Zm8vZmZtcGVnLWRldmVsCj4gPiA+ID4KPiA+ID4gPiBUbyB1bnN1YnNjcmliZSwgdmlzaXQgbGlu ayBhYm92ZSwgb3IgZW1haWwKPiA+ID4gPiBmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3Jn IHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgo+ID4gPiBfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwo+ID4gPiBmZm1wZWctZGV2ZWwgbWFpbGluZyBsaXN0 Cj4gPiA+IGZmbXBlZy1kZXZlbEBmZm1wZWcub3JnCj4gPiA+IGh0dHBzOi8vZmZtcGVnLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2ZmbXBlZy1kZXZlbAo+ID4gPgo+ID4gPiBUbyB1bnN1YnNjcmliZSwg dmlzaXQgbGluayBhYm92ZSwgb3IgZW1haWwKPiA+ID4gZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZt cGVnLm9yZyB3aXRoIHN1YmplY3QgInVuc3Vic2NyaWJlIi4KPiA+Cj4gPiBfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ID4gZmZtcGVnLWRldmVsIG1haWxp bmcgbGlzdAo+ID4gZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcKPiA+IGh0dHBzOi8vZmZtcGVnLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ZmbXBlZy1kZXZlbAo+ID4KPiA+IFRvIHVuc3Vic2NyaWJlLCB2 aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbAo+ID4gZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVn Lm9yZyB3aXRoIHN1YmplY3QgInVuc3Vic2NyaWJlIi4KPiA+Cj4gX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBmZm1wZWctZGV2ZWwgbWFpbGluZyBsaXN0 Cj4gZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcKPiBodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1hbi9s aXN0aW5mby9mZm1wZWctZGV2ZWwKPiAKPiBUbyB1bnN1YnNjcmliZSwgdmlzaXQgbGluayBhYm92 ZSwgb3IgZW1haWwKPiBmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVj dCAidW5zdWJzY3JpYmUiLgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdApmZm1wZWctZGV2ZWxAZmZtcGVnLm9y ZwpodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKClRvIHVu c3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbApmZm1wZWctZGV2ZWwtcmVxdWVz dEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgo=