From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id 2CB8A4BC76 for ; Tue, 29 Jul 2025 13:16:19 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 93EAF68B398; Tue, 29 Jul 2025 16:16:15 +0300 (EEST) Received: from mail-vk1-f174.google.com (mail-vk1-f174.google.com [209.85.221.174]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 18F1A68A417 for ; Tue, 29 Jul 2025 16:16:09 +0300 (EEST) Received: by mail-vk1-f174.google.com with SMTP id 71dfb90a1353d-5390ed81b9cso692856e0c.0 for ; Tue, 29 Jul 2025 06:16:09 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753794967; x=1754399767; h=content-transfer-encoding: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=AA0Zy8Kfa0URXZAcdwXVwtl0piFd/zG9SbnYABOE4eQ=; b=O9ZecJua+mDt2x0ubR90fg36rwNR6+6mS6X7EEO53ewjJMGJlbp7iBcOCpCdrfNgIR alHXZKZCKpoycLlBDrobP3Buy7GahV9C8cwK/1k5LDpLIQGT6KTCCtYXyaa0D4lX7cB3 eM5kv3EYw18GoPLqbUilrmf/NEyFOysrVIh7frH+8iY3DLS+4PDa23Tm//1ULrYnlCDb +fIzIw3SAdyCn7rLhAs8iF8iqNEUowxmmvGmNpnnt5VUspVZNOZuiLS6I+iKpxhGoOGo lyEHLmHVGBJMbvPEh+MLXRI/JKMHzmIpx5h8gkYPasOwLCBt7CfJF8xF97KoHGVeTey3 HZTg== X-Gm-Message-State: AOJu0YwuYJVP4b1nJMX1+4D37CjAY0uwppuLTu1aMwqoFNKEGQ3Jlcra Vf56D5kwvQyPZJ7lBOFqWc3z7ynxETn0sNjpcQKmQHcfhzgHy3Y8g6LbpksGo+I3z8g8sP+k8by Ap1eDizK+5xe8BNX3y4yWF+Mhkt+hL6sA8Cw9yFmYFUHJVEIiSnPRgcMX X-Gm-Gg: ASbGncul5WFUQ0G0l5LItaMpriAvGjDGyLFEK8QwWsGq06a0s0YSRwUohdqXvV9s+iL +bAxb3h/xF0kitaF4zTYDhU0yWoaSOBVIX4K/hO4hOS5FIi6Dy8NZwjqQvlDmRDZZoBMGN5yq/X 64/BN7mCCIdwPK49zkL/CgvH2bltfyUnicJSCR4lzb1+KlUeCvqU4H3Ucxt6/+CrPpVpHhEedKq u95mWk= X-Google-Smtp-Source: AGHT+IHu8W1pucSJn9fssmz6/DvV7yoI+yPqN+zeIAGG/U99N6ojnVeZyTzwzIEw4/o0uo0fVb0Alb/8Z92aZq3Xhm4= X-Received: by 2002:a05:6122:252a:b0:530:727f:a7b7 with SMTP id 71dfb90a1353d-538db643537mr6677416e0c.11.1753794966571; Tue, 29 Jul 2025 06:16:06 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: Date: Tue, 29 Jul 2025 15:15:55 +0200 X-Gm-Features: Ac12FXzUW7boYngtq0jcXFk284YlFkX2ZYaIPLyk9lQbgOumNpR1qOr_6mpirSY Message-ID: To: FFmpeg development discussions and patches , Maryla Ustarroz-Calonge Subject: Re: [FFmpeg-devel] [PATCH] ffprobe: add -codec: option 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: , From: Maryla Ustarroz via ffmpeg-devel Reply-To: FFmpeg development discussions and patches Cc: Maryla Ustarroz 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: T24gTW9uLCBKdWwgMjgsIDIwMjUgYXQgMTA6MDfigK9QTSBTdGVmYW5vIFNhYmF0aW5pIDxzdGVm YXNhYkBnbWFpbC5jb20+IHdyb3RlOgo+Cj4gSGksIHNvcnJ5IGZvciB0aGUgc2xvdyByZXBseS4K Pgo+IE9uIGRhdGUgVHVlc2RheSAyMDI1LTA2LTEwIDE3OjAyOjA1ICswMjAwLCBmZm1wZWctZGV2 ZWwgTWFpbGluZyBMaXN0IHdyb3RlOgo+ID4gRnJvbTogTWFyeWxhIFVzdGFycm96LUNhbG9uZ2Ug PG1hcnlsYUBnb29nbGUuY29tPgo+ID4gU3ViamVjdDogW1BBVENIXSBmZnByb2JlOiBhZGQgLWNv ZGVjOjxtZWRpYV9zcGVjPiBvcHRpb24KPiA+IERhdGU6IFR1ZSwgMTAgSnVuIDIwMjUgMTc6MDI6 MDUgKzAyMDAKPiA+IFRvOiBmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwo+ID4gWC1NYWlsZXI6IGdp dC1zZW5kLWVtYWlsIDIuNTAuMC5yYzEuNTkxLmc5Yzk1ZjE3ZjY0LWdvb2cKPiA+Cj4gPiBvcHRf Y29kZWMoKSBpcyBtb3N0bHkgY29waWVkIG92ZXIgZnJvbSBmZnBsYXkuYwo+ID4KPiA+IFNpZ25l ZC1vZmYtYnk6IE1hcnlsYSBVc3RhcnJvei1DYWxvbmdlIDxtYXJ5bGFAZ29vZ2xlLmNvbT4KPiA+ IC0tLQo+ID4gIENoYW5nZWxvZyAgICAgICAgIHwgICAyICstCj4gPiAgZmZ0b29scy9mZnByb2Jl LmMgfCAxMTQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLQo+ ID4gIDIgZmlsZXMgY2hhbmdlZCwgMTAzIGluc2VydGlvbnMoKyksIDEzIGRlbGV0aW9ucygtKQo+ ID4KPiA+IGRpZmYgLS1naXQgYS9DaGFuZ2Vsb2cgYi9DaGFuZ2Vsb2cKPiA+IGluZGV4IDQyMTc0 NDk0MzguLmFlNzM2MTEyMjIgMTAwNjQ0Cj4gPiAtLS0gYS9DaGFuZ2Vsb2cKPiA+ICsrKyBiL0No YW5nZWxvZwo+ID4gQEAgLTE4LDcgKzE4LDcgQEAgdmVyc2lvbiA8bmV4dD46Cj4gPiAgLSBBUFYg ZW5jb2Rpbmcgc3VwcG9ydCB0aHJvdWdoIGEgbGlib3BlbmFwdiB3cmFwcGVyCj4gPiAgLSBWVkMg ZGVjb2RlciBzdXBwb3J0cyBhbGwgY29udGVudCBvZiBTQ0MgKFNjcmVlbiBDb250ZW50IENvZGlu Zyk6Cj4gPiAgICBJQkMgKEludGVyIEJsb2NrIENvcHkpLCBQYWxldHRlIE1vZGUgYW5kIEFDVCAo QWRhcHRpdmUgQ29sb3IgVHJhbnNmb3JtCj4gPiAtCj4gPiArLSBmZnByb2JlIC1jb2RlYyBvcHRp b24KPiA+Cj4gPiAgdmVyc2lvbiA3LjE6Cj4gPiAgLSBSYXcgQ2FwdGlvbnMgd2l0aCBUaW1lIChS Q1dUKSBjbG9zZWQgY2FwdGlvbiBkZW11eGVyCj4gPiBkaWZmIC0tZ2l0IGEvZmZ0b29scy9mZnBy b2JlLmMgYi9mZnRvb2xzL2ZmcHJvYmUuYwo+ID4gaW5kZXggMTM0NmVkMzNjNS4uMDEyNGNlMTE0 YyAxMDA2NDQKPiA+IC0tLSBhL2ZmdG9vbHMvZmZwcm9iZS5jCj4gPiArKysgYi9mZnRvb2xzL2Zm cHJvYmUuYwo+ID4gQEAgLTM2LDYgKzM2LDcgQEAKPiA+ICAjaW5jbHVkZSAibGliYXZ1dGlsL2Ft YmllbnRfdmlld2luZ19lbnZpcm9ubWVudC5oIgo+ID4gICNpbmNsdWRlICJsaWJhdnV0aWwvYXZh c3NlcnQuaCIKPiA+ICAjaW5jbHVkZSAibGliYXZ1dGlsL2F2c3RyaW5nLmgiCj4gPiArI2luY2x1 ZGUgImxpYmF2dXRpbC9hdnV0aWwuaCIKPiA+ICAjaW5jbHVkZSAibGliYXZ1dGlsL2JwcmludC5o Igo+ID4gICNpbmNsdWRlICJsaWJhdnV0aWwvY2hhbm5lbF9sYXlvdXQuaCIKPiA+ICAjaW5jbHVk ZSAibGliYXZ1dGlsL2Rpc3BsYXkuaCIKPiA+IEBAIC0xMzAsNiArMTMxLDExIEBAIHN0YXRpYyBp bnQgdXNlX2J5dGVfdmFsdWVfYmluYXJ5X3ByZWZpeCA9IDA7Cj4gPiAgc3RhdGljIGludCB1c2Vf dmFsdWVfc2V4YWdlc2ltYWxfZm9ybWF0ID0gMDsKPiA+ICBzdGF0aWMgaW50IHNob3dfcHJpdmF0 ZV9kYXRhICAgICAgICAgICAgPSAxOwo+ID4KPiA+ICtzdGF0aWMgY29uc3QgY2hhciAqYXVkaW9f Y29kZWNfbmFtZSA9IE5VTEw7Cj4gPiArc3RhdGljIGNvbnN0IGNoYXIgKmRhdGFfY29kZWNfbmFt ZSA9IE5VTEw7Cj4gPiArc3RhdGljIGNvbnN0IGNoYXIgKnN1YnRpdGxlX2NvZGVjX25hbWUgPSBO VUxMOwo+ID4gK3N0YXRpYyBjb25zdCBjaGFyICp2aWRlb19jb2RlY19uYW1lID0gTlVMTDsKPiA+ ICsKPiA+ICAjZGVmaW5lIFNIT1dfT1BUSU9OQUxfRklFTERTX0FVVE8gICAgICAgLTEKPiA+ICAj ZGVmaW5lIFNIT1dfT1BUSU9OQUxfRklFTERTX05FVkVSICAgICAgIDAKPiA+ICAjZGVmaW5lIFNI T1dfT1BUSU9OQUxfRklFTERTX0FMV0FZUyAgICAgIDEKPiA+IEBAIC0yMjg0LDYgKzIyOTAsNjQg QEAgc3RhdGljIHZvaWQgc2hvd19lcnJvcihBVlRleHRGb3JtYXRDb250ZXh0ICp0ZmMsIGludCBl cnIpCj4gPiAgICAgIGF2dGV4dF9wcmludF9zZWN0aW9uX2Zvb3Rlcih0ZmMpOwo+ID4gIH0KPiA+ Cj4gPiArc3RhdGljIGludCBnZXRfZGVjb2Rlcl9ieV9uYW1lKGNvbnN0IGNoYXIgKmNvZGVjX25h bWUsIGNvbnN0IEFWQ29kZWMgKipjb2RlYykKPiA+ICt7Cj4gPiArICAgIGlmIChjb2RlY19uYW1l ID09IE5VTEwpCj4gPiArICAgICAgICByZXR1cm4gMDsKPiA+ICsKPiA+ICsgICAgKmNvZGVjID0g YXZjb2RlY19maW5kX2RlY29kZXJfYnlfbmFtZShjb2RlY19uYW1lKTsKPiA+ICsgICAgaWYgKCpj b2RlYyA9PSBOVUxMKSB7Cj4gPiArICAgICAgICBhdl9sb2coTlVMTCwgQVZfTE9HX0VSUk9SLAo+ ID4gKyAgICAgICAgICAgICAgICAiTm8gY29kZWMgY291bGQgYmUgZm91bmQgd2l0aCBuYW1lICcl cydcbiIsIGNvZGVjX25hbWUpOwo+Cj4gPiArICAgICAgICByZXR1cm4gQVZFUlJPUihFSU5WQUwp OzsKPgo+IG5pdDogZHJvcCBkdXBsaWNhdGVkIDsKClRoYW5rIHlvdSBmb3IgdGhlIHJldmlldy4K VGhpcyBpcyBhbHJlYWR5IGZpeGVkIGluIHYyIG9mIHRoZSBwYXRjaC4KaHR0cHM6Ly9mZm1wZWcu b3JnL3BpcGVybWFpbC9mZm1wZWctZGV2ZWwvMjAyNS1KdW5lLzM0NTg5MS5odG1sClYyIGFsc28g YWRkcyBhIHNob3J0ZXIgLWM6PG1lZGlhX3NwZWNpZmllcj4gdmVyc2lvbiBvZiB0aGUgZmxhZywg YXMKc3VnZ2VzdGVkIGJ5IE1hcnZpbi4KCj4gPiArICAgIH0KPiA+ICsgICAgcmV0dXJuIDA7Cj4g PiArfQo+ID4gKwo+ID4gK3N0YXRpYyBpbnQgc2V0X2RlY29kZXJzKEFWRm9ybWF0Q29udGV4dCAq Zm10X2N0eCkKPiA+ICt7Cj4gPiArICAgIGludCByZXQ7Cj4gPiArICAgIHJldCA9IGdldF9kZWNv ZGVyX2J5X25hbWUoYXVkaW9fY29kZWNfbmFtZSwgJmZtdF9jdHgtPmF1ZGlvX2NvZGVjKTsKPiA+ ICsgICAgaWYgKHJldCA8IDApIHJldHVybiByZXQ7Cj4gPiArICAgIHJldCA9IGdldF9kZWNvZGVy X2J5X25hbWUoZGF0YV9jb2RlY19uYW1lLCAmZm10X2N0eC0+ZGF0YV9jb2RlYyk7Cj4gPiArICAg IGlmIChyZXQgPCAwKSByZXR1cm4gcmV0Owo+ID4gKyAgICByZXQgPSBnZXRfZGVjb2Rlcl9ieV9u YW1lKHN1YnRpdGxlX2NvZGVjX25hbWUsICZmbXRfY3R4LT5zdWJ0aXRsZV9jb2RlYyk7Cj4gPiAr ICAgIGlmIChyZXQgPCAwKSByZXR1cm4gcmV0Owo+ID4gKyAgICByZXQgPSBnZXRfZGVjb2Rlcl9i eV9uYW1lKHZpZGVvX2NvZGVjX25hbWUsICZmbXRfY3R4LT52aWRlb19jb2RlYyk7Cj4gPiArICAg IGlmIChyZXQgPCAwKSByZXR1cm4gcmV0Owo+ID4gKyAgICByZXR1cm4gMDsKPiA+ICt9Cj4gPiAr Cj4gPiArc3RhdGljIGNvbnN0IEFWQ29kZWMgKmdldF9kZWNvZGVyX2Zvcl9zdHJlYW0oQVZGb3Jt YXRDb250ZXh0ICpmbXRfY3R4LCBBVlN0cmVhbSAqc3RyZWFtKQo+ID4gK3sKPiA+ICsgICAgY29u c3QgQVZDb2RlYyAqY29kZWMgPSBOVUxMOwo+ID4gKyAgICBzd2l0Y2ggKHN0cmVhbS0+Y29kZWNw YXItPmNvZGVjX3R5cGUpIHsKPiA+ICsgICAgICAgIGNhc2UgQVZNRURJQV9UWVBFX1ZJREVPOiAg ICBjb2RlYyA9IGZtdF9jdHgtPnZpZGVvX2NvZGVjOyBicmVhazsKPiA+ICsgICAgICAgIGNhc2Ug QVZNRURJQV9UWVBFX0FVRElPOiAgICBjb2RlYyA9IGZtdF9jdHgtPmF1ZGlvX2NvZGVjOyBicmVh azsKPiA+ICsgICAgICAgIGNhc2UgQVZNRURJQV9UWVBFX1NVQlRJVExFOiBjb2RlYyA9IGZtdF9j dHgtPnN1YnRpdGxlX2NvZGVjOyBicmVhazsKPiA+ICsgICAgICAgIGNhc2UgQVZNRURJQV9UWVBF X0RBVEE6ICAgICBjb2RlYyA9IGZtdF9jdHgtPmRhdGFfY29kZWM7IGJyZWFrOwo+ID4gKyAgICB9 Cj4gPiArCj4gPiArICAgIGlmIChjb2RlYyAhPSBOVUxMKQo+ID4gKyAgICAgICAgcmV0dXJuIGNv ZGVjOwo+ID4gKwo+ID4gKyAgICBpZiAoc3RyZWFtLT5jb2RlY3Bhci0+Y29kZWNfaWQgPT0gQVZf Q09ERUNfSURfUFJPQkUpIHsKPiA+ICsgICAgICAgIGF2X2xvZyhOVUxMLCBBVl9MT0dfV0FSTklO RywKPiA+ICsgICAgICAgICAgICAgICAiRmFpbGVkIHRvIHByb2JlIGNvZGVjIGZvciBpbnB1dCBz dHJlYW0gJWRcbiIsIHN0cmVhbS0+aW5kZXgpOwo+ID4gKyAgICAgICAgcmV0dXJuIE5VTEw7Cj4g PiArICAgIH0KPiA+ICsKPiA+ICsgICAgY29kZWMgPSBhdmNvZGVjX2ZpbmRfZGVjb2RlcihzdHJl YW0tPmNvZGVjcGFyLT5jb2RlY19pZCk7Cj4gPiArICAgIGlmIChjb2RlYyA9PSBOVUxMKSB7Cj4g PiArICAgICAgICBhdl9sb2coTlVMTCwgQVZfTE9HX1dBUk5JTkcsCj4gPiArICAgICAgICAgICAg ICAgIlVuc3VwcG9ydGVkIGNvZGVjIHdpdGggaWQgJWQgZm9yIGlucHV0IHN0cmVhbSAlZFxuIiwK PiA+ICsgICAgICAgICAgICAgICBzdHJlYW0tPmNvZGVjcGFyLT5jb2RlY19pZCwgc3RyZWFtLT5p bmRleCk7Cj4gPiArICAgICAgICByZXR1cm4gTlVMTDsKPiA+ICsgICAgfQo+ID4gKwo+ID4gKyAg ICByZXR1cm4gY29kZWM7Cj4gPiArfQo+ID4gKwo+ID4gIHN0YXRpYyBpbnQgb3Blbl9pbnB1dF9m aWxlKElucHV0RmlsZSAqaWZpbGUsIGNvbnN0IGNoYXIgKmZpbGVuYW1lLAo+ID4gICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnByaW50X2ZpbGVuYW1lKQo+ID4gIHsKPiA+ IEBAIC0yMjk2LDYgKzIzNjAsOSBAQCBzdGF0aWMgaW50IG9wZW5faW5wdXRfZmlsZShJbnB1dEZp bGUgKmlmaWxlLCBjb25zdCBjaGFyICpmaWxlbmFtZSwKPiA+ICAgICAgaWYgKCFmbXRfY3R4KQo+ ID4gICAgICAgICAgcmV0dXJuIEFWRVJST1IoRU5PTUVNKTsKPiA+Cj4gPiArICAgIGVyciA9IHNl dF9kZWNvZGVycyhmbXRfY3R4KTsKPiA+ICsgICAgaWYgKGVyciA8IDApCj4gPiArICAgICAgICBy ZXR1cm4gZXJyOwo+ID4gICAgICBpZiAoIWF2X2RpY3RfZ2V0KGZvcm1hdF9vcHRzLCAic2Nhbl9h bGxfcG10cyIsIE5VTEwsIEFWX0RJQ1RfTUFUQ0hfQ0FTRSkpIHsKPiA+ICAgICAgICAgIGF2X2Rp Y3Rfc2V0KCZmb3JtYXRfb3B0cywgInNjYW5fYWxsX3BtdHMiLCAiMSIsIEFWX0RJQ1RfRE9OVF9P VkVSV1JJVEUpOwo+ID4gICAgICAgICAgc2Nhbl9hbGxfcG10c19zZXQgPSAxOwo+ID4gQEAgLTIz NTAsMjAgKzI0MTcsMTAgQEAgc3RhdGljIGludCBvcGVuX2lucHV0X2ZpbGUoSW5wdXRGaWxlICpp ZmlsZSwgY29uc3QgY2hhciAqZmlsZW5hbWUsCj4gPgo+ID4gICAgICAgICAgaXN0LT5zdCA9IHN0 cmVhbTsKPiA+Cj4gPiAtICAgICAgICBpZiAoc3RyZWFtLT5jb2RlY3Bhci0+Y29kZWNfaWQgPT0g QVZfQ09ERUNfSURfUFJPQkUpIHsKPiA+IC0gICAgICAgICAgICBhdl9sb2coTlVMTCwgQVZfTE9H X1dBUk5JTkcsCj4gPiAtICAgICAgICAgICAgICAgICAgICJGYWlsZWQgdG8gcHJvYmUgY29kZWMg Zm9yIGlucHV0IHN0cmVhbSAlZFxuIiwKPiA+IC0gICAgICAgICAgICAgICAgICAgIHN0cmVhbS0+ aW5kZXgpOwo+ID4gKyAgICAgICAgY29kZWMgPSBnZXRfZGVjb2Rlcl9mb3Jfc3RyZWFtKGZtdF9j dHgsIHN0cmVhbSk7Cj4gPiArICAgICAgICBpZiAoIWNvZGVjKQo+ID4gICAgICAgICAgICAgIGNv bnRpbnVlOwo+ID4gLSAgICAgICAgfQo+ID4KPiA+IC0gICAgICAgIGNvZGVjID0gYXZjb2RlY19m aW5kX2RlY29kZXIoc3RyZWFtLT5jb2RlY3Bhci0+Y29kZWNfaWQpOwo+ID4gLSAgICAgICAgaWYg KCFjb2RlYykgewo+ID4gLSAgICAgICAgICAgIGF2X2xvZyhOVUxMLCBBVl9MT0dfV0FSTklORywK PiA+IC0gICAgICAgICAgICAgICAgICAgICJVbnN1cHBvcnRlZCBjb2RlYyB3aXRoIGlkICVkIGZv ciBpbnB1dCBzdHJlYW0gJWRcbiIsCj4gPiAtICAgICAgICAgICAgICAgICAgICBzdHJlYW0tPmNv ZGVjcGFyLT5jb2RlY19pZCwgc3RyZWFtLT5pbmRleCk7Cj4gPiAtICAgICAgICAgICAgY29udGlu dWU7Cj4gPiAtICAgICAgICB9Cj4gPiAgICAgICAgICB7Cj4gPiAgICAgICAgICAgICAgQVZEaWN0 aW9uYXJ5ICpvcHRzOwo+ID4KPiA+IEBAIC0yNTEwLDYgKzI1NjcsMTAgQEAgZW5kOgo+ID4gICAg ICBhdl9mcmVlcCgmc2VsZWN0ZWRfc3RyZWFtcyk7Cj4gPiAgICAgIGF2X2ZyZWVwKCZzdHJlYW1z X3dpdGhfY2xvc2VkX2NhcHRpb25zKTsKPiA+ICAgICAgYXZfZnJlZXAoJnN0cmVhbXNfd2l0aF9m aWxtX2dyYWluKTsKPiA+ICsgICAgYXZfZnJlZXAoJmF1ZGlvX2NvZGVjX25hbWUpOwo+ID4gKyAg ICBhdl9mcmVlcCgmZGF0YV9jb2RlY19uYW1lKTsKPiA+ICsgICAgYXZfZnJlZXAoJnN1YnRpdGxl X2NvZGVjX25hbWUpOwo+ID4gKyAgICBhdl9mcmVlcCgmdmlkZW9fY29kZWNfbmFtZSk7Cj4gPgo+ ID4gICAgICByZXR1cm4gcmV0Owo+ID4gIH0KPiA+IEBAIC0yOTY0LDYgKzMwMjUsMzQgQEAgc3Rh dGljIGludCBvcHRfc2VjdGlvbnModm9pZCAqb3B0Y3R4LCBjb25zdCBjaGFyICpvcHQsIGNvbnN0 IGNoYXIgKmFyZykKPiA+ICAgICAgcmV0dXJuIDA7Cj4gPiAgfQo+ID4KPiA+ICtzdGF0aWMgaW50 IG9wdF9jb2RlYyh2b2lkICpvcHRjdHgsIGNvbnN0IGNoYXIgKm9wdCwgY29uc3QgY2hhciAqYXJn KQo+ID4gK3sKPiA+ICsgICBjb25zdCBjaGFyICpzcGVjID0gc3RyY2hyKG9wdCwgJzonKTsKPiA+ ICsgICBjb25zdCBjaGFyICoqbmFtZTsKPiA+ICsgICBpZiAoIXNwZWMpIHsKPiA+ICsgICAgICAg YXZfbG9nKE5VTEwsIEFWX0xPR19FUlJPUiwKPiA+ICsgICAgICAgICAgICAgICJObyBtZWRpYSBz cGVjaWZpZXIgd2FzIHNwZWNpZmllZCBmb3IgJyVzJyBpbiBvcHRpb24gJyVzJy4gVXNlIC0lczo8 bWVkaWFfc3BlYz5cbiIsCj4gPiArICAgICAgICAgICAgICAgYXJnLCBvcHQsIG9wdCk7Cj4gPiAr ICAgICAgIHJldHVybiBBVkVSUk9SKEVJTlZBTCk7Cj4gPiArICAgfQo+ID4gKyAgIHNwZWMrKzsK PiA+ICsKPiA+ICsgICBzd2l0Y2ggKHNwZWNbMF0pIHsKPiA+ICsgICBjYXNlICdhJyA6IG5hbWUg PSAmYXVkaW9fY29kZWNfbmFtZTsgICAgYnJlYWs7Cj4gPiArICAgY2FzZSAnZCcgOiBuYW1lID0g JmRhdGFfY29kZWNfbmFtZTsgICAgIGJyZWFrOwo+ID4gKyAgIGNhc2UgJ3MnIDogbmFtZSA9ICZz dWJ0aXRsZV9jb2RlY19uYW1lOyBicmVhazsKPiA+ICsgICBjYXNlICd2JyA6IG5hbWUgPSAmdmlk ZW9fY29kZWNfbmFtZTsgICAgYnJlYWs7Cj4gPiArICAgZGVmYXVsdDoKPiA+ICsgICAgICAgYXZf bG9nKE5VTEwsIEFWX0xPR19FUlJPUiwKPiA+ICsgICAgICAgICAgICAgICJJbnZhbGlkIG1lZGlh IHNwZWNpZmllciAnJXMnIGluIG9wdGlvbiAnJXMnLiBNdXN0IGJlIG9uZSBvZjogdiwgYSwgcywg ZFxuIiwgc3BlYywgb3B0KTsKPiA+ICsgICAgICAgcmV0dXJuIEFWRVJST1IoRUlOVkFMKTsKPiA+ ICsgICB9Cj4gPiArCj4gPiArICAgYXZfZnJlZXAobmFtZSk7Cj4gPiArICAgKm5hbWUgPSBhdl9z dHJkdXAoYXJnKTsKPiA+ICsgICByZXR1cm4gKm5hbWUgPyAwIDogQVZFUlJPUihFTk9NRU0pOwo+ ID4gK30KPiA+ICsKPgo+IE5vdCBzdXBlciBoYXBweSB0aGF0IHRoaXMgaXMgZHVwbGljYXRlZCBi dXQgSSBzZWUgbm8gc2FuZSB3YXkgdG8KPiBmYWN0b3JpemUgaXQuCj4KPiA+ICBzdGF0aWMgaW50 IG9wdF9zaG93X3ZlcnNpb25zKHZvaWQgKm9wdGN0eCwgY29uc3QgY2hhciAqb3B0LCBjb25zdCBj aGFyICphcmcpCj4gPiAgewo+ID4gICAgICBtYXJrX3NlY3Rpb25fc2hvd19lbnRyaWVzKFNFQ1RJ T05fSURfUFJPR1JBTV9WRVJTSU9OLCAxLCBOVUxMKTsKPiA+IEBAIC0zMDM5LDYgKzMxMjgsNyBA QCBzdGF0aWMgY29uc3QgT3B0aW9uRGVmIHJlYWxfb3B0aW9uc1tdID0gewo+ID4gICAgICB7ICJw cmludF9maWxlbmFtZSIsICAgICAgICBPUFRfVFlQRV9GVU5DLCBPUFRfRlVOQ19BUkcsIHsuZnVu Y19hcmcgPSBvcHRfcHJpbnRfZmlsZW5hbWV9LCAib3ZlcnJpZGUgdGhlIHByaW50ZWQgaW5wdXQg ZmlsZW5hbWUiLCAicHJpbnRfZmlsZSJ9LAo+ID4gICAgICB7ICJmaW5kX3N0cmVhbV9pbmZvIiwg ICAgICBPUFRfVFlQRV9CT09MLCBPUFRfSU5QVVQgfCBPUFRfRVhQRVJULCB7ICZmaW5kX3N0cmVh bV9pbmZvIH0sCj4gPiAgICAgICAgICAicmVhZCBhbmQgZGVjb2RlIHRoZSBzdHJlYW1zIHRvIGZp bGwgbWlzc2luZyBpbmZvcm1hdGlvbiB3aXRoIGhldXJpc3RpY3MiIH0sCj4gPiArICAgIHsgImNv ZGVjIiwgICAgICAgICAgICAgICAgIE9QVF9UWVBFX0ZVTkMsIE9QVF9GVU5DX0FSRywgeyAuZnVu Y19hcmcgPSBvcHRfY29kZWN9LCAiZm9yY2UgZGVjb2RlciIsICJkZWNvZGVyX25hbWUiIH0sCj4g PiAgICAgIHsgTlVMTCwgfSwKPiA+ICB9Owo+Cj4gUGxlYXNlIGFsc28gYWRkIGFuIHVwZGF0ZSBm b3IgdGhlIGRvY3MgYW5kIGEgc2hvcnQgZXhwbGFuYXRpb24gb2YgdGhlCj4gdXNlIGNhc2UgaW4g dGhlIGNvbW1pdCBsb2cuCkluIHYyIEkgYWRkZWQgYSBsaW5lIHRvIHRoZSBjaGFuZ2Vsb2cgYW5k IGFsc28gdXBkYXRlZCBmZnByb2JlLnRleGkKV2hlbiB5b3Ugc2F5ICJjb21taXQgbG9nIiwgZG8g eW91IG1lYW4gdGhlIGNoYW5nZWxvZz8gT3IgdGhlIHBhdGNoIGRlc2NyaXB0aW9uPwpJIGNhbiBh ZGQgdGhlIGZvbGxvd2luZyB3aGVyZXZlciBpcyBhcHByb3ByaWF0ZToKIlVzZWZ1bCB3aGVuIGRp ZmZlcmVudCBkZWNvZGVycyBoYXZlIGRpZmZlcmVudCBjYXBhYmlsaXRpZXMsIG9yIHRvCnRlc3Qg YSBzcGVjaWZpYyBkZWNvZGVyIi4KCj4KPiBUaGFua3MuCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCmZmbXBlZy1kZXZlbCBtYWlsaW5nIGxpc3QKZmZtcGVn LWRldmVsQGZmbXBlZy5vcmcKaHR0cHM6Ly9mZm1wZWcub3JnL21haWxtYW4vbGlzdGluZm8vZmZt cGVnLWRldmVsCgpUbyB1bnN1YnNjcmliZSwgdmlzaXQgbGluayBhYm92ZSwgb3IgZW1haWwKZmZt cGVnLWRldmVsLXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1YmplY3QgInVuc3Vic2NyaWJlIi4K