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 4F53244D66 for ; Wed, 24 May 2023 13:38:14 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 189D168C07C; Wed, 24 May 2023 16:38:12 +0300 (EEST) Received: from mail-pj1-f49.google.com (mail-pj1-f49.google.com [209.85.216.49]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9DD4B689B83 for ; Wed, 24 May 2023 16:38:05 +0300 (EEST) Received: by mail-pj1-f49.google.com with SMTP id 98e67ed59e1d1-2555076e505so265682a91.0 for ; Wed, 24 May 2023 06:38:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1684935483; x=1687527483; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=l6X6W65+3+TOOo0ngSBD+fuJ9huIwRFIsVARaly4Oqs=; b=TftaG0riGc07VdRseA6D4GgnHB995K8pCB6UGWH4b3f025obgyf2Rw1SjDPYdev8eA 7vKcwRhuP59VQl5PVl+I1srbvwwSSapDWiB83vRhL6VWnsip91Ijl9RAERSQCyhtEamB kPWOt3eh0+x2sehSNlLtQWdzB2LveGcmzT/IbMOlbDAES1iV6gKiEgDN6xWZBNVbRF3/ iFqnFTR7ahQixvwRt8lEY+1dcHakYcPRgCnPY6QQrQl7EsjB+K96dmLQtLQRE+0eRee9 Y/SC70612Toj1o8GupYuAt3Cl+MUmQaIoUne/CoY2BRaDUa5Nce9wTxwGd2pnX6cAH+a qNkQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684935483; x=1687527483; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=l6X6W65+3+TOOo0ngSBD+fuJ9huIwRFIsVARaly4Oqs=; b=fyG/NTTWMw1UMWVPBK4D/CCOkljUdlzLd4kVjTzlD6DXOK0+F+VS+5tlcqxx3CIchO J6+pbjOmtcJBdBjY8Q602wEdZ3EE+kteJI7GXyBArWxdeKpLbHs+wHwI79+ZtoQyYgyP PvGYkH/pK04UOON3Xi4hFTRBXdGALzkAHZKrfQVSLItIdLFuG9+feL/RGkH+nX925Ba0 z46flN5YrXNj0Q9Sb3lvElrS/xtSzBrf0xuYLy8/igsNeMqDxlPZPol5PipE/IbmWnI+ AiDsxRdRxa28s+mGNWmsDA8sw11hW1rUMXDYzNZAt2bIPOMSMeVoVHeq39C8ZfMokkLD KMpw== X-Gm-Message-State: AC+VfDy9yh5rgnvQpmcjVBFq4pSMUWEhTzrBqL4nE45zLFH1mq9K5HdL dpSP3+CVynkBwr2Qm2tQiwS/vKRcl+XlUUTiXZ4= X-Google-Smtp-Source: ACHHUZ5H8Zjz6ebzfCqN0p9b4ZHHZjBaDN+Bl90vzkdZaBozcguvHEzei488Uv0ew0ntFua2OfnYTNtYV/UYI1FDqV4= X-Received: by 2002:a17:90a:c7cf:b0:24d:f59a:d331 with SMTP id gf15-20020a17090ac7cf00b0024df59ad331mr16376355pjb.26.1684935483471; Wed, 24 May 2023 06:38:03 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Rick Kern Date: Wed, 24 May 2023 09:37:51 -0400 Message-ID: To: =?UTF-8?B?5b6Q56aP6ZqG?= <839789740@qq.com> X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [FFmpeg-devel] [PATCH] avcodec/videotoolboxenc: replace VT_H264Profile with avctx profile 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 Cc: =?UTF-8?B?emhpbGl6aGFvKOi1teW/l+eriyk=?= , 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: T24gTW9uLCBNYXkgMjIsIDIwMjMgYXQgMTI6MTfigK9BTSDlvpDnpo/pmoYgPDgzOTc4OTc0MEBx cS5jb20+IHdyb3RlOgoKPiBJdCdzIG15IG1pc3Rha2UgdGhhdCBmb3JnZXQgdG8gcmVtb3ZlIEgy NjRfUFJPRl9BVVRPLiBJIHdpbGwgZml4IHRoYXQuCj4gQW55IG90aGVyIHN1Z2dlc3Rpb25zIGFi b3V0IHRoZSBwcm9maWxlX29wdGlvbnM/IFRoYW5rcy4KPgpOb3RoaW5nIGVsc2UgZnJvbSBtZSAt IGp1c3QgdGhlIGRlZmF1bHQgcHJvZmlsZSBzZWxlY3Rpb24gYmVoYXZpb3IKemhpbGl6aGFvIG1l bnRpb25lZC4KCgo+Cj4gLS0tLS0tLS0tLS0tLS0tLS0tIOWOn+Wni+mCruS7tiAtLS0tLS0tLS0t LS0tLS0tLS0KPiAq5Y+R5Lu25Lq6OiogIiJ6aGlsaXpoYW8o6LW15b+X56uLKSIiIDxxdWlua2Js YWNrQGZveG1haWwuY29tPjsKPiAq5Y+R6YCB5pe26Ze0OiogMjAyM+W5tDXmnIgyMuaXpSjmmJ/m nJ/kuIApIOS4reWNiDExOjExCj4gKuaUtuS7tuS6ujoqICJGRm1wZWcgZGV2ZWxvcG1lbnQgZGlz Y3Vzc2lvbnMgYW5kIHBhdGNoZXMiPAo+IGZmbXBlZy1kZXZlbEBmZm1wZWcub3JnPjsKPiAq5oqE 6YCBOiogIuW+kOemj+mahiI8ODM5Nzg5NzQwQHFxLmNvbT47IlJpY2sgS2VybiI8a2VybnJqQGdt YWlsLmNvbT47Cj4gKuS4u+mimDoqIFJlOiBbRkZtcGVnLWRldmVsXSBbUEFUQ0hdIGF2Y29kZWMv dmlkZW90b29sYm94ZW5jOiByZXBsYWNlCj4gVlRfSDI2NFByb2ZpbGUgd2l0aCBhdmN0eCBwcm9m aWxlCj4KPgo+Cj4gPiBPbiBNYXkgMjIsIDIwMjMsIGF0IDExOjA1LCB6aGlsaXpoYW8o6LW15b+X 56uLKSA8cXVpbmtibGFja0Bmb3htYWlsLmNvbT4KPiB3cm90ZToKPiA+Cj4gPj4gT24gTWF5IDIx LCAyMDIzLCBhdCAyMjo0MSwgeHVmdWppNDU2IDw4Mzk3ODk3NDBAcXEuY29tPiB3cm90ZToKPiA+ Pgo+ID4+IEZvciBjb21wYXRpYmlsaXR5IHdpdGggY29uc3RyYWluZWRfYmFzZWxpbmUgaW4gdGhl IGZ1dHVyZSwKPiA+PiByZXBsYWNlIFZUX0gyNjRQcm9maWxlL1ZUX0hFVkNQcm9maWxlIHdpdGgg YXZjdHgtPnByb2ZpbGUuCj4gPj4KPiA+PiBTaWduZWQtb2ZmLWJ5OiB4dWZ1amk0NTYgPDgzOTc4 OTc0MEBxcS5jb20+Cj4gPj4gLS0tCj4gPj4gbGliYXZjb2RlYy92aWRlb3Rvb2xib3hlbmMuYyB8 IDU1ICsrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ID4+IDEgZmlsZSBjaGFu Z2VkLCAxNiBpbnNlcnRpb25zKCspLCAzOSBkZWxldGlvbnMoLSkKPiA+Pgo+ID4+IGRpZmYgLS1n aXQgYS9saWJhdmNvZGVjL3ZpZGVvdG9vbGJveGVuYy5jIGIvbGliYXZjb2RlYy92aWRlb3Rvb2xi b3hlbmMuYwo+ID4+IGluZGV4IGIwMTdjOTBjMzYuLjQ5NjZhYjM2YWUgMTAwNjQ0Cj4gPj4gLS0t IGEvbGliYXZjb2RlYy92aWRlb3Rvb2xib3hlbmMuYwo+ID4+ICsrKyBiL2xpYmF2Y29kZWMvdmlk ZW90b29sYm94ZW5jLmMKPiA+PiBAQCAtMTkwLDI4ICsxOTAsMTIgQEAgc3RhdGljIHZvaWQgbG9h ZFZURW5jU3ltYm9scyh2b2lkKXsKPiA+PiAgICAgICAgICAgICAgICAiRW5hYmxlTG93TGF0ZW5j eVJhdGVDb250cm9sIik7Cj4gPj4gfQo+ID4+Cj4gPj4gLXR5cGVkZWYgZW51bSBWVF9IMjY0UHJv ZmlsZSB7Cj4gPj4gLSAgICBIMjY0X1BST0ZfQVVUTywKPiA+PiAtICAgIEgyNjRfUFJPRl9CQVNF TElORSwKPiA+PiAtICAgIEgyNjRfUFJPRl9NQUlOLAo+ID4+IC0gICAgSDI2NF9QUk9GX0hJR0gs Cj4gPj4gLSAgICBIMjY0X1BST0ZfRVhURU5ERUQsCj4gPj4gLSAgICBIMjY0X1BST0ZfQ09VTlQK PiA+PiAtfSBWVF9IMjY0UHJvZmlsZTsKPiA+PiAtCj4gPj4gdHlwZWRlZiBlbnVtIFZUSDI2NEVu dHJvcHl7Cj4gPj4gICAgVlRfRU5UUk9QWV9OT1RfU0VULAo+ID4+ICAgIFZUX0NBVkxDLAo+ID4+ ICAgIFZUX0NBQkFDCj4gPj4gfSBWVEgyNjRFbnRyb3B5Owo+ID4+Cj4gPj4gLXR5cGVkZWYgZW51 bSBWVF9IRVZDUHJvZmlsZSB7Cj4gPj4gLSAgICBIRVZDX1BST0ZfQVVUTywKPiA+PiAtICAgIEhF VkNfUFJPRl9NQUlOLAo+ID4+IC0gICAgSEVWQ19QUk9GX01BSU4xMCwKPiA+PiAtICAgIEhFVkNf UFJPRl9DT1VOVAo+ID4+IC19IFZUX0hFVkNQcm9maWxlOwo+ID4+IC0KPiA+PiBzdGF0aWMgY29u c3QgdWludDhfdCBzdGFydF9jb2RlW10gPSB7IDAsIDAsIDAsIDEgfTsKPiA+Pgo+ID4+IHR5cGVk ZWYgc3RydWN0IEV4dHJhU0VJIHsKPiA+PiBAQCAtNzMwLDE4ICs3MTQsMTMgQEAgc3RhdGljIGJv b2wKPiBnZXRfdnRfaDI2NF9wcm9maWxlX2xldmVsKEFWQ29kZWNDb250ZXh0ICphdmN0eCwKPiA+ PiAgICBWVEVuY0NvbnRleHQgKnZ0Y3R4ID0gYXZjdHgtPnByaXZfZGF0YTsKPiA+PiAgICBpbnQ2 NF90IHByb2ZpbGUgPSB2dGN0eC0+cHJvZmlsZTsKPiA+Pgo+ID4+IC0gICAgaWYgKHByb2ZpbGUg PT0gSDI2NF9QUk9GX0FVVE8gJiYgdnRjdHgtPmxldmVsKSB7Cj4gPj4gLSAgICAgICAgLy9OZWVk IHRvIHBpY2sgYSBwcm9maWxlIGlmIGxldmVsIGlzIG5vdCBhdXRvLXNlbGVjdGVkLgo+ID4+IC0g ICAgICAgIHByb2ZpbGUgPSB2dGN0eC0+aGFzX2JfZnJhbWVzID8gSDI2NF9QUk9GX01BSU4gOgo+ IEgyNjRfUFJPRl9CQVNFTElORTsKPiA+PiAtICAgIH0KPiA+PiAtCj4gPj4gICAgKnByb2ZpbGVf bGV2ZWxfdmFsID0gTlVMTDsKPiA+Pgo+ID4+ICAgIHN3aXRjaCAocHJvZmlsZSkgewo+ID4+ICAg ICAgICBjYXNlIEgyNjRfUFJPRl9BVVRPOgo+ID4+ICAgICAgICAgICAgcmV0dXJuIHRydWU7Cj4K PiBJc27igJl0IGl0IGZhaWxlZCB0byBidWlsZCBzaW5jZSBIMjY0X1BST0ZfQVVUTyBpc27igJl0 IGRlZmluZWQ/Cj4KUGxlYXNlIGJlIHN1cmUgdG8gY29tcGlsZSBhbmQgdGVzdCBiZWZvcmUgc3Vi bWl0dGluZyBhIHBhdGNoLgoKCj4KPiA+Pgo+ID4+IC0gICAgICAgIGNhc2UgSDI2NF9QUk9GX0JB U0VMSU5FOgo+ID4+ICsgICAgICAgIGNhc2UgRkZfUFJPRklMRV9IMjY0X0JBU0VMSU5FOgo+ID4+ ICAgICAgICAgICAgc3dpdGNoICh2dGN0eC0+bGV2ZWwpIHsKPiA+PiAgICAgICAgICAgICAgICBj YXNlICAwOiAqcHJvZmlsZV9sZXZlbF92YWwgPQo+ID4+Cj4gY29tcGF0X2tleXMua1ZUUHJvZmls ZUxldmVsX0gyNjRfQmFzZWxpbmVfQXV0b0xldmVsOyBicmVhazsKPiA+PiBAQCAtNzYzLDcgKzc0 Miw3IEBAIHN0YXRpYyBib29sCj4gZ2V0X3Z0X2gyNjRfcHJvZmlsZV9sZXZlbChBVkNvZGVjQ29u dGV4dCAqYXZjdHgsCj4gPj4gICAgICAgICAgICB9Cj4gPj4gICAgICAgICAgICBicmVhazsKPiA+ Pgo+ID4+IC0gICAgICAgIGNhc2UgSDI2NF9QUk9GX01BSU46Cj4gPj4gKyAgICAgICAgY2FzZSBG Rl9QUk9GSUxFX0gyNjRfTUFJTjoKPiA+PiAgICAgICAgICAgIHN3aXRjaCAodnRjdHgtPmxldmVs KSB7Cj4gPj4gICAgICAgICAgICAgICAgY2FzZSAgMDogKnByb2ZpbGVfbGV2ZWxfdmFsID0KPiA+ Pgo+IGNvbXBhdF9rZXlzLmtWVFByb2ZpbGVMZXZlbF9IMjY0X01haW5fQXV0b0xldmVsOyBicmVh azsKPiA+PiBAQCAtNzgyLDcgKzc2MSw3IEBAIHN0YXRpYyBib29sCj4gZ2V0X3Z0X2gyNjRfcHJv ZmlsZV9sZXZlbChBVkNvZGVjQ29udGV4dCAqYXZjdHgsCj4gPj4gICAgICAgICAgICB9Cj4gPj4g ICAgICAgICAgICBicmVhazsKPiA+Pgo+ID4+IC0gICAgICAgIGNhc2UgSDI2NF9QUk9GX0hJR0g6 Cj4gPj4gKyAgICAgICAgY2FzZSBGRl9QUk9GSUxFX0gyNjRfSElHSDoKPiA+PiAgICAgICAgICAg IHN3aXRjaCAodnRjdHgtPmxldmVsKSB7Cj4gPj4gICAgICAgICAgICAgICAgY2FzZSAgMDogKnBy b2ZpbGVfbGV2ZWxfdmFsID0KPiA+Pgo+IGNvbXBhdF9rZXlzLmtWVFByb2ZpbGVMZXZlbF9IMjY0 X0hpZ2hfQXV0b0xldmVsOyBicmVhazsKPiA+PiBAQCAtODA1LDcgKzc4NCw3IEBAIHN0YXRpYyBi b29sCj4gZ2V0X3Z0X2gyNjRfcHJvZmlsZV9sZXZlbChBVkNvZGVjQ29udGV4dCAqYXZjdHgsCj4g Pj4KPiBjb21wYXRfa2V5cy5rVlRQcm9maWxlTGV2ZWxfSDI2NF9IaWdoXzVfMjsgICAgICAgYnJl YWs7Cj4gPj4gICAgICAgICAgICB9Cj4gPj4gICAgICAgICAgICBicmVhazsKPiA+PiAtICAgICAg ICBjYXNlIEgyNjRfUFJPRl9FWFRFTkRFRDoKPiA+PiArICAgICAgICBjYXNlIEZGX1BST0ZJTEVf SDI2NF9FWFRFTkRFRDoKPiA+PiAgICAgICAgICAgIHN3aXRjaCAodnRjdHgtPmxldmVsKSB7Cj4g Pj4gICAgICAgICAgICAgICAgY2FzZSAgMDogKnByb2ZpbGVfbGV2ZWxfdmFsID0KPiA+Pgo+IGNv bXBhdF9rZXlzLmtWVFByb2ZpbGVMZXZlbF9IMjY0X0V4dGVuZGVkX0F1dG9MZXZlbDsgYnJlYWs7 Cj4gPj4gQEAgLTgzOCwxMyArODE3LDExIEBAIHN0YXRpYyBib29sCj4gZ2V0X3Z0X2hldmNfcHJv ZmlsZV9sZXZlbChBVkNvZGVjQ29udGV4dCAqYXZjdHgsCj4gPj4gICAgKnByb2ZpbGVfbGV2ZWxf dmFsID0gTlVMTDsKPiA+Pgo+ID4+ICAgIHN3aXRjaCAocHJvZmlsZSkgewo+ID4+IC0gICAgICAg IGNhc2UgSEVWQ19QUk9GX0FVVE86Cj4gPj4gLSAgICAgICAgICAgIHJldHVybiB0cnVlOwo+ID4+ IC0gICAgICAgIGNhc2UgSEVWQ19QUk9GX01BSU46Cj4gPj4gKyAgICAgICAgY2FzZSBGRl9QUk9G SUxFX0hFVkNfTUFJTjoKPiA+PiAgICAgICAgICAgICpwcm9maWxlX2xldmVsX3ZhbCA9Cj4gPj4g ICAgICAgICAgICAgICAgY29tcGF0X2tleXMua1ZUUHJvZmlsZUxldmVsX0hFVkNfTWFpbl9BdXRv TGV2ZWw7Cj4gPj4gICAgICAgICAgICBicmVhazsKPiA+PiAtICAgICAgICBjYXNlIEhFVkNfUFJP Rl9NQUlOMTA6Cj4gPj4gKyAgICAgICAgY2FzZSBGRl9QUk9GSUxFX0hFVkNfTUFJTl8xMDoKPiA+ PiAgICAgICAgICAgICpwcm9maWxlX2xldmVsX3ZhbCA9Cj4gPj4gICAgICAgICAgICAgICAgY29t cGF0X2tleXMua1ZUUHJvZmlsZUxldmVsX0hFVkNfTWFpbjEwX0F1dG9MZXZlbDsKPiA+PiAgICAg ICAgICAgIGJyZWFrOwo+ID4+IEBAIC0xNTE1LDEyICsxNDkyLDEyIEBAIHN0YXRpYyBpbnQKPiB2 dGVuY19jb25maWd1cmVfZW5jb2RlcihBVkNvZGVjQ29udGV4dCAqYXZjdHgpCj4gPj4gICAgICAg IHZ0Y3R4LT5nZXRfcGFyYW1fc2V0X2Z1bmMgPQo+IENNVmlkZW9Gb3JtYXREZXNjcmlwdGlvbkdl dEgyNjRQYXJhbWV0ZXJTZXRBdEluZGV4Owo+ID4+Cj4gPj4gICAgICAgIHZ0Y3R4LT5oYXNfYl9m cmFtZXMgPSBhdmN0eC0+bWF4X2JfZnJhbWVzID4gMDsKPiA+PiAtICAgICAgICBpZih2dGN0eC0+ aGFzX2JfZnJhbWVzICYmIHZ0Y3R4LT5wcm9maWxlID09Cj4gSDI2NF9QUk9GX0JBU0VMSU5FKXsK PiA+PiArICAgICAgICBpZih2dGN0eC0+aGFzX2JfZnJhbWVzICYmIHZ0Y3R4LT5wcm9maWxlID09 Cj4gRkZfUFJPRklMRV9IMjY0X0JBU0VMSU5FKSB7Cj4gPj4gICAgICAgICAgICBhdl9sb2coYXZj dHgsIEFWX0xPR19XQVJOSU5HLCAiQ2Fubm90IHVzZSBCLWZyYW1lcyB3aXRoCj4gYmFzZWxpbmUg cHJvZmlsZS4gT3V0cHV0IHdpbGwgbm90IGNvbnRhaW4gQi1mcmFtZXMuXG4iKTsKPiA+PiAgICAg ICAgICAgIHZ0Y3R4LT5oYXNfYl9mcmFtZXMgPSAwOwo+ID4+ICAgICAgICB9Cj4gPj4KPiA+PiAt ICAgICAgICBpZiAodnRjdHgtPmVudHJvcHkgPT0gVlRfQ0FCQUMgJiYgdnRjdHgtPnByb2ZpbGUg PT0KPiBIMjY0X1BST0ZfQkFTRUxJTkUpIHsKPiA+PiArICAgICAgICBpZiAodnRjdHgtPmVudHJv cHkgPT0gVlRfQ0FCQUMgJiYgdnRjdHgtPnByb2ZpbGUgPT0KPiBGRl9QUk9GSUxFX0gyNjRfQkFT RUxJTkUpIHsKPiA+PiAgICAgICAgICAgIGF2X2xvZyhhdmN0eCwgQVZfTE9HX1dBUk5JTkcsICJD QUJBQyBlbnRyb3B5IHJlcXVpcmVzICdtYWluJwo+IG9yICdoaWdoJyBwcm9maWxlLCBidXQgYmFz ZWxpbmUgd2FzIHJlcXVlc3RlZC4gRW5jb2RlIHdpbGwgbm90IHVzZSBDQUJBQwo+IGVudHJvcHku XG4iKTsKPiA+PiAgICAgICAgICAgIHZ0Y3R4LT5lbnRyb3B5ID0gVlRfRU5UUk9QWV9OT1RfU0VU Owo+ID4+ICAgICAgICB9Cj4gPj4gQEAgLTI3NTYsMTEgKzI3MzMsMTEgQEAgc3RhdGljIGNvbnN0 IGVudW0gQVZQaXhlbEZvcm1hdAo+IHByb3Jlc19waXhfZm10c1tdID0gewo+ID4+Cj4gPj4gI2Rl ZmluZSBPRkZTRVQoeCkgb2Zmc2V0b2YoVlRFbmNDb250ZXh0LCB4KQo+ID4+IHN0YXRpYyBjb25z dCBBVk9wdGlvbiBoMjY0X29wdGlvbnNbXSA9IHsKPiA+PiAtICAgIHsgInByb2ZpbGUiLCAiUHJv ZmlsZSIsIE9GRlNFVChwcm9maWxlKSwgQVZfT1BUX1RZUEVfSU5UNjQsIHsgLmk2NAo+ID0gSDI2 NF9QUk9GX0FVVE8gfSwgSDI2NF9QUk9GX0FVVE8sIEgyNjRfUFJPRl9DT1VOVCwgVkUsICJwcm9m aWxlIiB9LAo+ID4+IC0gICAgeyAiYmFzZWxpbmUiLCAiQmFzZWxpbmUgUHJvZmlsZSIsIDAsIEFW X09QVF9UWVBFX0NPTlNULCB7IC5pNjQgPQo+IEgyNjRfUFJPRl9CQVNFTElORSB9LCBJTlRfTUlO LCBJTlRfTUFYLCBWRSwgInByb2ZpbGUiIH0sCj4gPj4gLSAgICB7ICJtYWluIiwgICAgICJNYWlu IFByb2ZpbGUiLCAgICAgMCwgQVZfT1BUX1RZUEVfQ09OU1QsIHsgLmk2NCA9Cj4gSDI2NF9QUk9G X01BSU4gICAgIH0sIElOVF9NSU4sIElOVF9NQVgsIFZFLCAicHJvZmlsZSIgfSwKPiA+PiAtICAg IHsgImhpZ2giLCAgICAgIkhpZ2ggUHJvZmlsZSIsICAgICAwLCBBVl9PUFRfVFlQRV9DT05TVCwg eyAuaTY0ID0KPiBIMjY0X1BST0ZfSElHSCAgICAgfSwgSU5UX01JTiwgSU5UX01BWCwgVkUsICJw cm9maWxlIiB9LAo+ID4+IC0gICAgeyAiZXh0ZW5kZWQiLCAiRXh0ZW5kIFByb2ZpbGUiLCAgIDAs IEFWX09QVF9UWVBFX0NPTlNULCB7IC5pNjQgPQo+IEgyNjRfUFJPRl9FWFRFTkRFRCB9LCBJTlRf TUlOLCBJTlRfTUFYLCBWRSwgInByb2ZpbGUiIH0sCj4gPj4gKyAgICB7ICJwcm9maWxlIiwgIlBy b2ZpbGUiLCBPRkZTRVQocHJvZmlsZSksIEFWX09QVF9UWVBFX0lOVDY0LCB7IC5pNjQKPiA9IEZG X1BST0ZJTEVfSDI2NF9CQVNFTElORSB9LCBGRl9QUk9GSUxFX0gyNjRfQkFTRUxJTkUsCj4gRkZf UFJPRklMRV9IMjY0X0hJR0gsIFZFLCAicHJvZmlsZSIgfSwKPiA+PiArICAgIHsgImJhc2VsaW5l IiwgIkJhc2VsaW5lIFByb2ZpbGUiLCAwLCBBVl9PUFRfVFlQRV9DT05TVCwgeyAuaTY0ID0KPiBG Rl9QUk9GSUxFX0gyNjRfQkFTRUxJTkUgfSwgSU5UX01JTiwgSU5UX01BWCwgVkUsICJwcm9maWxl IiB9LAo+ID4+ICsgICAgeyAibWFpbiIsICAgICAiTWFpbiBQcm9maWxlIiwgICAgIDAsIEFWX09Q VF9UWVBFX0NPTlNULCB7IC5pNjQgPQo+IEZGX1BST0ZJTEVfSDI2NF9NQUlOICAgICB9LCBJTlRf TUlOLCBJTlRfTUFYLCBWRSwgInByb2ZpbGUiIH0sCj4gPj4gKyAgICB7ICJleHRlbmRlZCIsICJF eHRlbmQgUHJvZmlsZSIsICAgMCwgQVZfT1BUX1RZUEVfQ09OU1QsIHsgLmk2NCA9Cj4gRkZfUFJP RklMRV9IMjY0X0VYVEVOREVEIH0sIElOVF9NSU4sIElOVF9NQVgsIFZFLCAicHJvZmlsZSIgfSwK PiA+PiArICAgIHsgImhpZ2giLCAgICAgIkhpZ2ggUHJvZmlsZSIsICAgICAwLCBBVl9PUFRfVFlQ RV9DT05TVCwgeyAuaTY0ID0KPiBGRl9QUk9GSUxFX0gyNjRfSElHSCAgICAgfSwgSU5UX01JTiwg SU5UX01BWCwgVkUsICJwcm9maWxlIiB9LAo+ID4KPiA+IEZpcnN0bHksIGl0IGJyZWFrcyB1c2Ug Y2FzZSB3aGljaCBzZXQgdGhlIG9wdGlvbiBieSBudW1iZXIgbGlrZSAtcHJvZmlsZQo+IDEuCj4K Ck9ubHkgdGhlIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgcHJvZmlsZXMgYXJlIGRvY3Vt ZW50ZWQuIFRoZSBtYXBwaW5nCmZyb20gaW50ZWdlciB0byBwcm9maWxlIGlzbid0LiBNb3Zpbmcg dG8gdGhlIGdsb2JhbCBjb25zdGFudHMgaXMgYWxzbyBsZXNzCmNvbmZ1c2luZyBmb3IgdXNlcnMg aWYgcHJvZmlsZXMgYXJlIGNvbnNpc3RlbnQgYWNyb3NzIGVuY29kZXJzLCBhbmQgbGVzcwpjb25m dXNpbmcgZm9yIG90aGVyIG1haW50YWluZXJzIGxvb2tpbmcgYXQgdGhpcyBjb2RlLgoKCj4gPgo+ ID4gU2Vjb25kbHksIGl0IGNoYW5nZXMgdGhlIGRlZmF1bHQgcHJvZmlsZSB0byBiYXNlbGluZS4g SSBkb27igJl0IHRoaW5rIGl04oCZcwo+IGEKPiA+IGdvb2QgaWRlYS4KPgoKSSBhZ3JlZS4gV2Ug c3RpbGwgbmVlZCB0aGUgZGVmYXVsdCBzZXR0aW5nIHRvIGJlICJhdXRvIiBiZWNhdXNlIHdlIG5l ZWQgdG8Ka25vdyB3aGVuIHRoZSB1c2VyIGRvZXNuJ3Qgc3BlY2lmeSBhIHZhbHVlLiBJbiB0aGlz IGNhc2UsIGl0IHVzZXMgYSBzYW5lCmRlZmF1bHQsIG1haW4gb3IgYmFzZWxpbmUgcHJvZmlsZSwg ZGVwZW5kaW5nIG9uIHdoZXRoZXIgQi1mcmFtZXMgYXJlCnByZXNlbnQgb3Igbm90LgoKCj4gPgo+ ID4+Cj4gPj4gICAgeyAibGV2ZWwiLCAiTGV2ZWwiLCBPRkZTRVQobGV2ZWwpLCBBVl9PUFRfVFlQ RV9JTlQsIHsgLmk2NCA9IDAgfSwgMCwKPiA1MiwgVkUsICJsZXZlbCIgfSwKPiA+PiAgICB7ICIx LjMiLCAiTGV2ZWwgMS4zLCBvbmx5IGF2YWlsYWJsZSB3aXRoIEJhc2VsaW5lIFByb2ZpbGUiLCAw LAo+IEFWX09QVF9UWVBFX0NPTlNULCB7IC5pNjQgPSAxMyB9LCBJTlRfTUlOLCBJTlRfTUFYLCBW RSwgImxldmVsIiB9LAo+ID4+IEBAIC0yODExLDkgKzI3ODgsOSBAQCBjb25zdCBGRkNvZGVjIGZm X2gyNjRfdmlkZW90b29sYm94X2VuY29kZXIgPSB7Cj4gPj4gfTsKPiA+Pgo+ID4+IHN0YXRpYyBj b25zdCBBVk9wdGlvbiBoZXZjX29wdGlvbnNbXSA9IHsKPiA+PiAtICAgIHsgInByb2ZpbGUiLCAi UHJvZmlsZSIsIE9GRlNFVChwcm9maWxlKSwgQVZfT1BUX1RZUEVfSU5UNjQsIHsgLmk2NAo+ID0g SEVWQ19QUk9GX0FVVE8gfSwgSEVWQ19QUk9GX0FVVE8sIEhFVkNfUFJPRl9DT1VOVCwgVkUsICJw cm9maWxlIiB9LAo+ID4+IC0gICAgeyAibWFpbiIsICAgICAiTWFpbiBQcm9maWxlIiwgICAgIDAs IEFWX09QVF9UWVBFX0NPTlNULCB7IC5pNjQgPQo+IEhFVkNfUFJPRl9NQUlOICAgfSwgSU5UX01J TiwgSU5UX01BWCwgVkUsICJwcm9maWxlIiB9LAo+ID4+IC0gICAgeyAibWFpbjEwIiwgICAiTWFp bjEwIFByb2ZpbGUiLCAgIDAsIEFWX09QVF9UWVBFX0NPTlNULCB7IC5pNjQgPQo+IEhFVkNfUFJP Rl9NQUlOMTAgfSwgSU5UX01JTiwgSU5UX01BWCwgVkUsICJwcm9maWxlIiB9LAo+ID4+ICsgICAg eyAicHJvZmlsZSIsICJQcm9maWxlIiwgT0ZGU0VUKHByb2ZpbGUpLCBBVl9PUFRfVFlQRV9JTlQ2 NCwgeyAuaTY0Cj4gPSBGRl9QUk9GSUxFX0hFVkNfTUFJTiB9LCBGRl9QUk9GSUxFX0hFVkNfTUFJ TiwgRkZfUFJPRklMRV9IRVZDX01BSU5fMTAsCj4gVkUsICJwcm9maWxlIiB9LAo+ID4+ICsgICAg eyAibWFpbiIsICAgICAiTWFpbiBQcm9maWxlIiwgICAgIDAsIEFWX09QVF9UWVBFX0NPTlNULCB7 IC5pNjQgPQo+IEZGX1BST0ZJTEVfSEVWQ19NQUlOICAgIH0sIElOVF9NSU4sIElOVF9NQVgsIFZF LCAicHJvZmlsZSIgfSwKPiA+PiArICAgIHsgIm1haW4xMCIsICAgIk1haW4xMCBQcm9maWxlIiwg ICAwLCBBVl9PUFRfVFlQRV9DT05TVCwgeyAuaTY0ID0KPiBGRl9QUk9GSUxFX0hFVkNfTUFJTl8x MCB9LCBJTlRfTUlOLCBJTlRfTUFYLCBWRSwgInByb2ZpbGUiIH0sCj4gPj4KPiA+PiAgICB7ICJh bHBoYV9xdWFsaXR5IiwgIkNvbXByZXNzaW9uIHF1YWxpdHkgZm9yIHRoZSBhbHBoYSBjaGFubmVs IiwKPiBPRkZTRVQoYWxwaGFfcXVhbGl0eSksIEFWX09QVF9UWVBFX0RPVUJMRSwgeyAuZGJsID0g MC4wIH0sIDAuMCwgMS4wLCBWRSB9LAo+ID4+Cj4gPj4gLS0KPiA+PiAyLjMyLjAgKEFwcGxlIEdp dC0xMzIpCj4gPj4KPiA+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwo+ID4+IGZmbXBlZy1kZXZlbCBtYWlsaW5nIGxpc3QKPiA+PiBmZm1wZWctZGV2ZWxA ZmZtcGVnLm9yZwo+ID4+IGh0dHBzOi8vZmZtcGVnLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZmbXBl Zy1kZXZlbAo+ID4+Cj4gPj4gVG8gdW5zdWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVt YWlsCj4gPj4gZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1YmplY3QgInVu c3Vic2NyaWJlIi4KPiA+Cj4gPj4gT24gTWF5IDIxLCAyMDIzLCBhdCAyMjo0MSwgeHVmdWppNDU2 IDw4Mzk3ODk3NDBAcXEuY29tPiB3cm90ZToKPiA+Pgo+ID4+IEZvciBjb21wYXRpYmlsaXR5IHdp dGggY29uc3RyYWluZWRfYmFzZWxpbmUgaW4gdGhlIGZ1dHVyZSwKPiA+PiByZXBsYWNlIFZUX0gy NjRQcm9maWxlL1ZUX0hFVkNQcm9maWxlIHdpdGggYXZjdHgtPnByb2ZpbGUuCj4gPj4KPiA+PiBT aWduZWQtb2ZmLWJ5OiB4dWZ1amk0NTYgPDgzOTc4OTc0MEBxcS5jb20+Cj4gPj4gLS0tCj4gPj4g bGliYXZjb2RlYy92aWRlb3Rvb2xib3hlbmMuYyB8IDU1ICsrKysrKysrKysrLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQo+ID4+IDEgZmlsZSBjaGFuZ2VkLCAxNiBpbnNlcnRpb25zKCspLCAzOSBk ZWxldGlvbnMoLSkKPiA+Pgo+ID4+IGRpZmYgLS1naXQgYS9saWJhdmNvZGVjL3ZpZGVvdG9vbGJv eGVuYy5jIGIvbGliYXZjb2RlYy92aWRlb3Rvb2xib3hlbmMuYwo+ID4+IGluZGV4IGIwMTdjOTBj MzYuLjQ5NjZhYjM2YWUgMTAwNjQ0Cj4gPj4gLS0tIGEvbGliYXZjb2RlYy92aWRlb3Rvb2xib3hl bmMuYwo+ID4+ICsrKyBiL2xpYmF2Y29kZWMvdmlkZW90b29sYm94ZW5jLmMKPiA+PiBAQCAtMTkw LDI4ICsxOTAsMTIgQEAgc3RhdGljIHZvaWQgbG9hZFZURW5jU3ltYm9scyh2b2lkKXsKPiA+PiAg ICAgICAgICAgICAgICAiRW5hYmxlTG93TGF0ZW5jeVJhdGVDb250cm9sIik7Cj4gPj4gfQo+ID4+ Cj4gPj4gLXR5cGVkZWYgZW51bSBWVF9IMjY0UHJvZmlsZSB7Cj4gPj4gLSAgICBIMjY0X1BST0Zf QVVUTywKPiA+PiAtICAgIEgyNjRfUFJPRl9CQVNFTElORSwKPiA+PiAtICAgIEgyNjRfUFJPRl9N QUlOLAo+ID4+IC0gICAgSDI2NF9QUk9GX0hJR0gsCj4gPj4gLSAgICBIMjY0X1BST0ZfRVhURU5E RUQsCj4gPj4gLSAgICBIMjY0X1BST0ZfQ09VTlQKPiA+PiAtfSBWVF9IMjY0UHJvZmlsZTsKPiA+ PiAtCj4gPj4gdHlwZWRlZiBlbnVtIFZUSDI2NEVudHJvcHl7Cj4gPj4gICAgVlRfRU5UUk9QWV9O T1RfU0VULAo+ID4+ICAgIFZUX0NBVkxDLAo+ID4+ICAgIFZUX0NBQkFDCj4gPj4gfSBWVEgyNjRF bnRyb3B5Owo+ID4+Cj4gPj4gLXR5cGVkZWYgZW51bSBWVF9IRVZDUHJvZmlsZSB7Cj4gPj4gLSAg ICBIRVZDX1BST0ZfQVVUTywKPiA+PiAtICAgIEhFVkNfUFJPRl9NQUlOLAo+ID4+IC0gICAgSEVW Q19QUk9GX01BSU4xMCwKPiA+PiAtICAgIEhFVkNfUFJPRl9DT1VOVAo+ID4+IC19IFZUX0hFVkNQ cm9maWxlOwo+ID4+IC0KPiA+PiBzdGF0aWMgY29uc3QgdWludDhfdCBzdGFydF9jb2RlW10gPSB7 IDAsIDAsIDAsIDEgfTsKPiA+Pgo+ID4+IHR5cGVkZWYgc3RydWN0IEV4dHJhU0VJIHsKPiA+PiBA QCAtNzMwLDE4ICs3MTQsMTMgQEAgc3RhdGljIGJvb2wKPiBnZXRfdnRfaDI2NF9wcm9maWxlX2xl dmVsKEFWQ29kZWNDb250ZXh0ICphdmN0eCwKPiA+PiAgICBWVEVuY0NvbnRleHQgKnZ0Y3R4ID0g YXZjdHgtPnByaXZfZGF0YTsKPiA+PiAgICBpbnQ2NF90IHByb2ZpbGUgPSB2dGN0eC0+cHJvZmls ZTsKPiA+Pgo+ID4+IC0gICAgaWYgKHByb2ZpbGUgPT0gSDI2NF9QUk9GX0FVVE8gJiYgdnRjdHgt PmxldmVsKSB7Cj4gPj4gLSAgICAgICAgLy9OZWVkIHRvIHBpY2sgYSBwcm9maWxlIGlmIGxldmVs IGlzIG5vdCBhdXRvLXNlbGVjdGVkLgo+ID4+IC0gICAgICAgIHByb2ZpbGUgPSB2dGN0eC0+aGFz X2JfZnJhbWVzID8gSDI2NF9QUk9GX01BSU4gOgo+IEgyNjRfUFJPRl9CQVNFTElORTsKPiA+PiAt ICAgIH0KPiA+PiAtCj4gPj4gICAgKnByb2ZpbGVfbGV2ZWxfdmFsID0gTlVMTDsKPiA+Pgo+ID4+ ICAgIHN3aXRjaCAocHJvZmlsZSkgewo+ID4+ICAgICAgICBjYXNlIEgyNjRfUFJPRl9BVVRPOgo+ ID4+ICAgICAgICAgICAgcmV0dXJuIHRydWU7Cj4gPj4KPiA+PiAtICAgICAgICBjYXNlIEgyNjRf UFJPRl9CQVNFTElORToKPiA+PiArICAgICAgICBjYXNlIEZGX1BST0ZJTEVfSDI2NF9CQVNFTElO RToKPiA+PiAgICAgICAgICAgIHN3aXRjaCAodnRjdHgtPmxldmVsKSB7Cj4gPj4gICAgICAgICAg ICAgICAgY2FzZSAgMDogKnByb2ZpbGVfbGV2ZWxfdmFsID0KPiA+Pgo+IGNvbXBhdF9rZXlzLmtW VFByb2ZpbGVMZXZlbF9IMjY0X0Jhc2VsaW5lX0F1dG9MZXZlbDsgYnJlYWs7Cj4gPj4gQEAgLTc2 Myw3ICs3NDIsNyBAQCBzdGF0aWMgYm9vbAo+IGdldF92dF9oMjY0X3Byb2ZpbGVfbGV2ZWwoQVZD b2RlY0NvbnRleHQgKmF2Y3R4LAo+ID4+ICAgICAgICAgICAgfQo+ID4+ICAgICAgICAgICAgYnJl YWs7Cj4gPj4KPiA+PiAtICAgICAgICBjYXNlIEgyNjRfUFJPRl9NQUlOOgo+ID4+ICsgICAgICAg IGNhc2UgRkZfUFJPRklMRV9IMjY0X01BSU46Cj4gPj4gICAgICAgICAgICBzd2l0Y2ggKHZ0Y3R4 LT5sZXZlbCkgewo+ID4+ICAgICAgICAgICAgICAgIGNhc2UgIDA6ICpwcm9maWxlX2xldmVsX3Zh bCA9Cj4gPj4KPiBjb21wYXRfa2V5cy5rVlRQcm9maWxlTGV2ZWxfSDI2NF9NYWluX0F1dG9MZXZl bDsgYnJlYWs7Cj4gPj4gQEAgLTc4Miw3ICs3NjEsNyBAQCBzdGF0aWMgYm9vbAo+IGdldF92dF9o MjY0X3Byb2ZpbGVfbGV2ZWwoQVZDb2RlY0NvbnRleHQgKmF2Y3R4LAo+ID4+ICAgICAgICAgICAg fQo+ID4+ICAgICAgICAgICAgYnJlYWs7Cj4gPj4KPiA+PiAtICAgICAgICBjYXNlIEgyNjRfUFJP Rl9ISUdIOgo+ID4+ICsgICAgICAgIGNhc2UgRkZfUFJPRklMRV9IMjY0X0hJR0g6Cj4gPj4gICAg ICAgICAgICBzd2l0Y2ggKHZ0Y3R4LT5sZXZlbCkgewo+ID4+ICAgICAgICAgICAgICAgIGNhc2Ug IDA6ICpwcm9maWxlX2xldmVsX3ZhbCA9Cj4gPj4KPiBjb21wYXRfa2V5cy5rVlRQcm9maWxlTGV2 ZWxfSDI2NF9IaWdoX0F1dG9MZXZlbDsgYnJlYWs7Cj4gPj4gQEAgLTgwNSw3ICs3ODQsNyBAQCBz dGF0aWMgYm9vbAo+IGdldF92dF9oMjY0X3Byb2ZpbGVfbGV2ZWwoQVZDb2RlY0NvbnRleHQgKmF2 Y3R4LAo+ID4+Cj4gY29tcGF0X2tleXMua1ZUUHJvZmlsZUxldmVsX0gyNjRfSGlnaF81XzI7ICAg ICAgIGJyZWFrOwo+ID4+ICAgICAgICAgICAgfQo+ID4+ICAgICAgICAgICAgYnJlYWs7Cj4gPj4g LSAgICAgICAgY2FzZSBIMjY0X1BST0ZfRVhURU5ERUQ6Cj4gPj4gKyAgICAgICAgY2FzZSBGRl9Q Uk9GSUxFX0gyNjRfRVhURU5ERUQ6Cj4gPj4gICAgICAgICAgICBzd2l0Y2ggKHZ0Y3R4LT5sZXZl bCkgewo+ID4+ICAgICAgICAgICAgICAgIGNhc2UgIDA6ICpwcm9maWxlX2xldmVsX3ZhbCA9Cj4g Pj4KPiBjb21wYXRfa2V5cy5rVlRQcm9maWxlTGV2ZWxfSDI2NF9FeHRlbmRlZF9BdXRvTGV2ZWw7 IGJyZWFrOwo+ID4+IEBAIC04MzgsMTMgKzgxNywxMSBAQCBzdGF0aWMgYm9vbAo+IGdldF92dF9o ZXZjX3Byb2ZpbGVfbGV2ZWwoQVZDb2RlY0NvbnRleHQgKmF2Y3R4LAo+ID4+ICAgICpwcm9maWxl X2xldmVsX3ZhbCA9IE5VTEw7Cj4gPj4KPiA+PiAgICBzd2l0Y2ggKHByb2ZpbGUpIHsKPiA+PiAt ICAgICAgICBjYXNlIEhFVkNfUFJPRl9BVVRPOgo+ID4+IC0gICAgICAgICAgICByZXR1cm4gdHJ1 ZTsKPiA+PiAtICAgICAgICBjYXNlIEhFVkNfUFJPRl9NQUlOOgo+ID4+ICsgICAgICAgIGNhc2Ug RkZfUFJPRklMRV9IRVZDX01BSU46Cj4gPj4gICAgICAgICAgICAqcHJvZmlsZV9sZXZlbF92YWwg PQo+ID4+ICAgICAgICAgICAgICAgIGNvbXBhdF9rZXlzLmtWVFByb2ZpbGVMZXZlbF9IRVZDX01h aW5fQXV0b0xldmVsOwo+ID4+ICAgICAgICAgICAgYnJlYWs7Cj4gPj4gLSAgICAgICAgY2FzZSBI RVZDX1BST0ZfTUFJTjEwOgo+ID4+ICsgICAgICAgIGNhc2UgRkZfUFJPRklMRV9IRVZDX01BSU5f MTA6Cj4gPj4gICAgICAgICAgICAqcHJvZmlsZV9sZXZlbF92YWwgPQo+ID4+ICAgICAgICAgICAg ICAgIGNvbXBhdF9rZXlzLmtWVFByb2ZpbGVMZXZlbF9IRVZDX01haW4xMF9BdXRvTGV2ZWw7Cj4g Pj4gICAgICAgICAgICBicmVhazsKPiA+PiBAQCAtMTUxNSwxMiArMTQ5MiwxMiBAQCBzdGF0aWMg aW50Cj4gdnRlbmNfY29uZmlndXJlX2VuY29kZXIoQVZDb2RlY0NvbnRleHQgKmF2Y3R4KQo+ID4+ ICAgICAgICB2dGN0eC0+Z2V0X3BhcmFtX3NldF9mdW5jID0KPiBDTVZpZGVvRm9ybWF0RGVzY3Jp cHRpb25HZXRIMjY0UGFyYW1ldGVyU2V0QXRJbmRleDsKPiA+Pgo+ID4+ICAgICAgICB2dGN0eC0+ aGFzX2JfZnJhbWVzID0gYXZjdHgtPm1heF9iX2ZyYW1lcyA+IDA7Cj4gPj4gLSAgICAgICAgaWYo dnRjdHgtPmhhc19iX2ZyYW1lcyAmJiB2dGN0eC0+cHJvZmlsZSA9PQo+IEgyNjRfUFJPRl9CQVNF TElORSl7Cj4gPj4gKyAgICAgICAgaWYodnRjdHgtPmhhc19iX2ZyYW1lcyAmJiB2dGN0eC0+cHJv ZmlsZSA9PQo+IEZGX1BST0ZJTEVfSDI2NF9CQVNFTElORSkgewo+ID4+ICAgICAgICAgICAgYXZf bG9nKGF2Y3R4LCBBVl9MT0dfV0FSTklORywgIkNhbm5vdCB1c2UgQi1mcmFtZXMgd2l0aAo+IGJh c2VsaW5lIHByb2ZpbGUuIE91dHB1dCB3aWxsIG5vdCBjb250YWluIEItZnJhbWVzLlxuIik7Cj4g Pj4gICAgICAgICAgICB2dGN0eC0+aGFzX2JfZnJhbWVzID0gMDsKPiA+PiAgICAgICAgfQo+ID4+ Cj4gPj4gLSAgICAgICAgaWYgKHZ0Y3R4LT5lbnRyb3B5ID09IFZUX0NBQkFDICYmIHZ0Y3R4LT5w cm9maWxlID09Cj4gSDI2NF9QUk9GX0JBU0VMSU5FKSB7Cj4gPj4gKyAgICAgICAgaWYgKHZ0Y3R4 LT5lbnRyb3B5ID09IFZUX0NBQkFDICYmIHZ0Y3R4LT5wcm9maWxlID09Cj4gRkZfUFJPRklMRV9I MjY0X0JBU0VMSU5FKSB7Cj4gPj4gICAgICAgICAgICBhdl9sb2coYXZjdHgsIEFWX0xPR19XQVJO SU5HLCAiQ0FCQUMgZW50cm9weSByZXF1aXJlcyAnbWFpbicKPiBvciAnaGlnaCcgcHJvZmlsZSwg YnV0IGJhc2VsaW5lIHdhcyByZXF1ZXN0ZWQuIEVuY29kZSB3aWxsIG5vdCB1c2UgQ0FCQUMKPiBl bnRyb3B5LlxuIik7Cj4gPj4gICAgICAgICAgICB2dGN0eC0+ZW50cm9weSA9IFZUX0VOVFJPUFlf Tk9UX1NFVDsKPiA+PiAgICAgICAgfQo+ID4+IEBAIC0yNzU2LDExICsyNzMzLDExIEBAIHN0YXRp YyBjb25zdCBlbnVtIEFWUGl4ZWxGb3JtYXQKPiBwcm9yZXNfcGl4X2ZtdHNbXSA9IHsKPiA+Pgo+ ID4+ICNkZWZpbmUgT0ZGU0VUKHgpIG9mZnNldG9mKFZURW5jQ29udGV4dCwgeCkKPiA+PiBzdGF0 aWMgY29uc3QgQVZPcHRpb24gaDI2NF9vcHRpb25zW10gPSB7Cj4gPj4gLSAgICB7ICJwcm9maWxl IiwgIlByb2ZpbGUiLCBPRkZTRVQocHJvZmlsZSksIEFWX09QVF9UWVBFX0lOVDY0LCB7IC5pNjQK PiA9IEgyNjRfUFJPRl9BVVRPIH0sIEgyNjRfUFJPRl9BVVRPLCBIMjY0X1BST0ZfQ09VTlQsIFZF LCAicHJvZmlsZSIgfSwKPiA+PiAtICAgIHsgImJhc2VsaW5lIiwgIkJhc2VsaW5lIFByb2ZpbGUi LCAwLCBBVl9PUFRfVFlQRV9DT05TVCwgeyAuaTY0ID0KPiBIMjY0X1BST0ZfQkFTRUxJTkUgfSwg SU5UX01JTiwgSU5UX01BWCwgVkUsICJwcm9maWxlIiB9LAo+ID4+IC0gICAgeyAibWFpbiIsICAg ICAiTWFpbiBQcm9maWxlIiwgICAgIDAsIEFWX09QVF9UWVBFX0NPTlNULCB7IC5pNjQgPQo+IEgy NjRfUFJPRl9NQUlOICAgICB9LCBJTlRfTUlOLCBJTlRfTUFYLCBWRSwgInByb2ZpbGUiIH0sCj4g Pj4gLSAgICB7ICJoaWdoIiwgICAgICJIaWdoIFByb2ZpbGUiLCAgICAgMCwgQVZfT1BUX1RZUEVf Q09OU1QsIHsgLmk2NCA9Cj4gSDI2NF9QUk9GX0hJR0ggICAgIH0sIElOVF9NSU4sIElOVF9NQVgs IFZFLCAicHJvZmlsZSIgfSwKPiA+PiAtICAgIHsgImV4dGVuZGVkIiwgIkV4dGVuZCBQcm9maWxl IiwgICAwLCBBVl9PUFRfVFlQRV9DT05TVCwgeyAuaTY0ID0KPiBIMjY0X1BST0ZfRVhURU5ERUQg fSwgSU5UX01JTiwgSU5UX01BWCwgVkUsICJwcm9maWxlIiB9LAo+ID4+ICsgICAgeyAicHJvZmls ZSIsICJQcm9maWxlIiwgT0ZGU0VUKHByb2ZpbGUpLCBBVl9PUFRfVFlQRV9JTlQ2NCwgeyAuaTY0 Cj4gPSBGRl9QUk9GSUxFX0gyNjRfQkFTRUxJTkUgfSwgRkZfUFJPRklMRV9IMjY0X0JBU0VMSU5F LAo+IEZGX1BST0ZJTEVfSDI2NF9ISUdILCBWRSwgInByb2ZpbGUiIH0sCj4gPj4gKyAgICB7ICJi YXNlbGluZSIsICJCYXNlbGluZSBQcm9maWxlIiwgMCwgQVZfT1BUX1RZUEVfQ09OU1QsIHsgLmk2 NCA9Cj4gRkZfUFJPRklMRV9IMjY0X0JBU0VMSU5FIH0sIElOVF9NSU4sIElOVF9NQVgsIFZFLCAi cHJvZmlsZSIgfSwKPiA+PiArICAgIHsgIm1haW4iLCAgICAgIk1haW4gUHJvZmlsZSIsICAgICAw LCBBVl9PUFRfVFlQRV9DT05TVCwgeyAuaTY0ID0KPiBGRl9QUk9GSUxFX0gyNjRfTUFJTiAgICAg fSwgSU5UX01JTiwgSU5UX01BWCwgVkUsICJwcm9maWxlIiB9LAo+ID4+ICsgICAgeyAiZXh0ZW5k ZWQiLCAiRXh0ZW5kIFByb2ZpbGUiLCAgIDAsIEFWX09QVF9UWVBFX0NPTlNULCB7IC5pNjQgPQo+ IEZGX1BST0ZJTEVfSDI2NF9FWFRFTkRFRCB9LCBJTlRfTUlOLCBJTlRfTUFYLCBWRSwgInByb2Zp bGUiIH0sCj4gPj4gKyAgICB7ICJoaWdoIiwgICAgICJIaWdoIFByb2ZpbGUiLCAgICAgMCwgQVZf T1BUX1RZUEVfQ09OU1QsIHsgLmk2NCA9Cj4gRkZfUFJPRklMRV9IMjY0X0hJR0ggICAgIH0sIElO VF9NSU4sIElOVF9NQVgsIFZFLCAicHJvZmlsZSIgfSwKPiA+Cj4gPiBGaXJzdGx5LCBpdCBicmVh a3MgdXNlIGNhc2Ugd2hpY2ggc2V0IHRoZSBvcHRpb24gYnkgbnVtYmVyIGxpa2UgLXByb2ZpbGUK PiAxLgo+ID4KPiA+IFNlY29uZGx5LCBpdCBjaGFuZ2VzIHRoZSBkZWZhdWx0IHByb2ZpbGUgdG8g YmFzZWxpbmUuIEkgZG9u4oCZdCB0aGluayBpdOKAmXMKPiBhCj4gPiBnb29kIGlkZWEuCj4gPgo+ ID4+Cj4gPj4gICAgeyAibGV2ZWwiLCAiTGV2ZWwiLCBPRkZTRVQobGV2ZWwpLCBBVl9PUFRfVFlQ RV9JTlQsIHsgLmk2NCA9IDAgfSwgMCwKPiA1MiwgVkUsICJsZXZlbCIgfSwKPiA+PiAgICB7ICIx LjMiLCAiTGV2ZWwgMS4zLCBvbmx5IGF2YWlsYWJsZSB3aXRoIEJhc2VsaW5lIFByb2ZpbGUiLCAw LAo+IEFWX09QVF9UWVBFX0NPTlNULCB7IC5pNjQgPSAxMyB9LCBJTlRfTUlOLCBJTlRfTUFYLCBW RSwgImxldmVsIiB9LAo+ID4+IEBAIC0yODExLDkgKzI3ODgsOSBAQCBjb25zdCBGRkNvZGVjIGZm X2gyNjRfdmlkZW90b29sYm94X2VuY29kZXIgPSB7Cj4gPj4gfTsKPiA+Pgo+ID4+IHN0YXRpYyBj b25zdCBBVk9wdGlvbiBoZXZjX29wdGlvbnNbXSA9IHsKPiA+PiAtICAgIHsgInByb2ZpbGUiLCAi UHJvZmlsZSIsIE9GRlNFVChwcm9maWxlKSwgQVZfT1BUX1RZUEVfSU5UNjQsIHsgLmk2NAo+ID0g SEVWQ19QUk9GX0FVVE8gfSwgSEVWQ19QUk9GX0FVVE8sIEhFVkNfUFJPRl9DT1VOVCwgVkUsICJw cm9maWxlIiB9LAo+ID4+IC0gICAgeyAibWFpbiIsICAgICAiTWFpbiBQcm9maWxlIiwgICAgIDAs IEFWX09QVF9UWVBFX0NPTlNULCB7IC5pNjQgPQo+IEhFVkNfUFJPRl9NQUlOICAgfSwgSU5UX01J TiwgSU5UX01BWCwgVkUsICJwcm9maWxlIiB9LAo+ID4+IC0gICAgeyAibWFpbjEwIiwgICAiTWFp bjEwIFByb2ZpbGUiLCAgIDAsIEFWX09QVF9UWVBFX0NPTlNULCB7IC5pNjQgPQo+IEhFVkNfUFJP Rl9NQUlOMTAgfSwgSU5UX01JTiwgSU5UX01BWCwgVkUsICJwcm9maWxlIiB9LAo+ID4+ICsgICAg eyAicHJvZmlsZSIsICJQcm9maWxlIiwgT0ZGU0VUKHByb2ZpbGUpLCBBVl9PUFRfVFlQRV9JTlQ2 NCwgeyAuaTY0Cj4gPSBGRl9QUk9GSUxFX0hFVkNfTUFJTiB9LCBGRl9QUk9GSUxFX0hFVkNfTUFJ TiwgRkZfUFJPRklMRV9IRVZDX01BSU5fMTAsCj4gVkUsICJwcm9maWxlIiB9LAo+ID4+ICsgICAg eyAibWFpbiIsICAgICAiTWFpbiBQcm9maWxlIiwgICAgIDAsIEFWX09QVF9UWVBFX0NPTlNULCB7 IC5pNjQgPQo+IEZGX1BST0ZJTEVfSEVWQ19NQUlOICAgIH0sIElOVF9NSU4sIElOVF9NQVgsIFZF LCAicHJvZmlsZSIgfSwKPiA+PiArICAgIHsgIm1haW4xMCIsICAgIk1haW4xMCBQcm9maWxlIiwg ICAwLCBBVl9PUFRfVFlQRV9DT05TVCwgeyAuaTY0ID0KPiBGRl9QUk9GSUxFX0hFVkNfTUFJTl8x MCB9LCBJTlRfTUlOLCBJTlRfTUFYLCBWRSwgInByb2ZpbGUiIH0sCj4gPj4KPiA+PiAgICB7ICJh bHBoYV9xdWFsaXR5IiwgIkNvbXByZXNzaW9uIHF1YWxpdHkgZm9yIHRoZSBhbHBoYSBjaGFubmVs IiwKPiBPRkZTRVQoYWxwaGFfcXVhbGl0eSksIEFWX09QVF9UWVBFX0RPVUJMRSwgeyAuZGJsID0g MC4wIH0sIDAuMCwgMS4wLCBWRSB9LAo+ID4+Cj4gPj4gLS0KPiA+PiAyLjMyLjAgKEFwcGxlIEdp dC0xMzIpCj4gPj4KPiA+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwo+ID4+IGZmbXBlZy1kZXZlbCBtYWlsaW5nIGxpc3QKPiA+PiBmZm1wZWctZGV2ZWxA ZmZtcGVnLm9yZwo+ID4+IGh0dHBzOi8vZmZtcGVnLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZmbXBl Zy1kZXZlbAo+ID4+Cj4gPj4gVG8gdW5zdWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVt YWlsCj4gPj4gZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1YmplY3QgInVu c3Vic2NyaWJlIi4KPgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpmZm1wZWctZGV2ZWwgbWFpbGluZyBsaXN0CmZmbXBlZy1kZXZlbEBmZm1wZWcub3JnCmh0 dHBzOi8vZmZtcGVnLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZmbXBlZy1kZXZlbAoKVG8gdW5zdWJz Y3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWlsCmZmbXBlZy1kZXZlbC1yZXF1ZXN0QGZm bXBlZy5vcmcgd2l0aCBzdWJqZWN0ICJ1bnN1YnNjcmliZSIuCg==