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 339AC4D1F7 for ; Mon, 30 Jun 2025 03:46:11 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 9F56868DEEB; Mon, 30 Jun 2025 06:46:06 +0300 (EEST) Received: from mail-ej1-f50.google.com (mail-ej1-f50.google.com [209.85.218.50]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id C887968DEA8 for ; Mon, 30 Jun 2025 06:45:59 +0300 (EEST) Received: by mail-ej1-f50.google.com with SMTP id a640c23a62f3a-ae0d7b32322so271189566b.2 for ; Sun, 29 Jun 2025 20:45:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1751255159; x=1751859959; darn=ffmpeg.org; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=sBUPiDFiqxWNCm0KDWo6sxNcW1qE1+UJ41isVjrt+TY=; b=RDgxvWwx5eqlyuZR1TPdRCpl1CMe9oGnH4blx7AHTbZ7mBMdC6mXii0mA+CW6W7eTn lP033ZO0E31inZc7R1bPmD/vXUn5UHrdH9J/Of6Xo0eZ56eolKZaXoFF2QB51h49WXYY 7HgVayoTjoIEbclHq2q942b5axDCj2YiqsSkZVGCWGkDsAbr5XNoNVvHoRrRj1xazCpq Q1s0qVBQJydEG8jUhRDXI/+pDJD04hZaYBjDTH2+W7CN7NdCR0359EiJutT0xmTOqZS/ euVnRM4hpxh/8PjGOEcGQTttOfjxpZ1a0OH/gf6C6jvfkCW+roJ+BH6UZs9LBYmkxBv4 DIqA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751255159; x=1751859959; h=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=sBUPiDFiqxWNCm0KDWo6sxNcW1qE1+UJ41isVjrt+TY=; b=ZgmkzC7td1h94DoDfpr1DY582XXc/fTzCfINEID2w6qW08Sy1IJAgD5vlEaiGtQ8vF 0Q2XTtVYUA/iHgapOVXlvmIJFAOd4Xbc6hlrhAKAJLAtl5aeSWkeadz5SsHSDxeZcKDh yZo5awJJ5Q7pOTmqxPbI5lmbuWFf5NfCpWLB8jm4XZIxT2yqUilvzjTYAzPDxr253Mqr A/Svx5IfbYYMc51+qNYD6LlDUbxUAlhZXV4V+Xgdd+NUUdTmCiWeXCpV8c+1c8CQ1TvP EnYQ6y3epw2JU+kWFHKsnCvjrg72Ki4BfkXFQ4WL40a1sm7wkOZ04P9vhg1Xtr02n3RS Oh0A== X-Gm-Message-State: AOJu0YzYFyrZS48LzNl3p4FdS2w001mu+SFob0vZZn5SAzRnVKMDitUu Yt6WwPWv/9JjtB14mPC3ksYGrsIEFMz+BKR8ZGEXA1iT2WC7UORbo983FNr0FKWxtQBb4LVK9Wi xvUwABT/IF2UCka8dPr7CaytkGILqaVqvnxb5Wsg= X-Gm-Gg: ASbGnctvc51K7XHvSUHLyE9I54ktrhRLTOLVXtmFxgVjUBKfF+HKwO3AE1Gd18MDDpo 4TTLSLsnKXJQYh/K6nIOSTNtZBxiHcXuUx4emdohvAzkDIj/pKuWQ4QG+m5nXD0CUt5ZjSAXMiJ uOE2qJFuNyZsRa8BYDvVzpbZYGGFlCfhTv8B+gKgZySybOFFlEx1qj6GNga8oW+UIkS2pbTZJ0p D1H X-Google-Smtp-Source: AGHT+IFqQ1QUZgqJShHpIV4EQGL0OdQaw7OUCowDTz1t8kkY0eHA3GtxyfOArEm/WCEsMa9uIzc9UyliHk65NMUommk= X-Received: by 2002:a17:907:78c:b0:ad8:a41a:3cc5 with SMTP id a640c23a62f3a-ae34fd18405mr1096034366b.6.1751255158831; Sun, 29 Jun 2025 20:45:58 -0700 (PDT) MIME-Version: 1.0 References: <20250622181030.11106-1-pkoshevoy@gmail.com> <20250628230314.GU29660@pb2> <20250630010127.GY29660@pb2> In-Reply-To: <20250630010127.GY29660@pb2> From: Pavel Koshevoy Date: Sun, 29 Jun 2025 21:45:22 -0600 X-Gm-Features: Ac12FXx5DQ1pRkOsKjRCx55h2kG1r7vS2KNCpINIv_mjrB9uxlZa75WVd5lIHNE Message-ID: To: FFmpeg development discussions and patches X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [FFmpeg-devel] [PATCH] avformat/mpegts: Add AVFMT_FLAG_ALLOW_CODEC_CHANGES 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: T24gU3VuLCBKdW4gMjksIDIwMjUgYXQgNzowMeKAr1BNIE1pY2hhZWwgTmllZGVybWF5ZXIgPG1p Y2hhZWxAbmllZGVybWF5ZXIuY2M+Cndyb3RlOgoKPiBIaQo+Cj4gT24gU2F0LCBKdW4gMjgsIDIw MjUgYXQgMDg6NDk6MDhQTSAtMDYwMCwgUGF2ZWwgS29zaGV2b3kgd3JvdGU6Cj4gPiBPbiBTYXQs IEp1biAyOCwgMjAyNSBhdCA1OjAz4oCvUE0gTWljaGFlbCBOaWVkZXJtYXllciA8Cj4gbWljaGFl bEBuaWVkZXJtYXllci5jYz4KPiA+IHdyb3RlOgo+ID4KPiA+ID4gSGkKPiA+ID4KPiA+ID4gT24g U3VuLCBKdW4gMjIsIDIwMjUgYXQgMTI6MTA6MzBQTSAtMDYwMCwgUGF2ZWwgS29zaGV2b3kgd3Jv dGU6Cj4gPiA+ID4gTWFrZSBtaWRzdHJlYW0gQVZTdHJlYW0uY29kZWNwYXIgdXBkYXRlcyBvcHRp b25hbCBhbmQgZGlzYWJsZWQKPiA+ID4gPiBieSBkZWZhdWx0LCBzbyB0aGF0IGF2Zm9ybWF0IEFQ SSBjbGllbnRzIGNhbiBlbmFibGUgdGhpcyBmZWF0dXJlCj4gPiA+ID4gZXhwbGljaXRseSB3aGVu IHRoZXkgYWRkIHN1cHBvcnQgZm9yIG1pZHN0cmVhbSBjb2RlYyBjaGFuZ2VzLgo+ID4gPiA+IC0t LQo+ID4gPiA+ICBkb2MvQVBJY2hhbmdlcyAgICAgICAgICAgICAgfCAzICsrKwo+ID4gPiA+ICBk b2MvZm9ybWF0cy50ZXhpICAgICAgICAgICAgfCA1ICsrKysrCj4gPiA+ID4gIGxpYmF2Zm9ybWF0 L2F2Zm9ybWF0LmggICAgICB8IDIgKysKPiA+ID4gPiAgbGliYXZmb3JtYXQvbXBlZ3RzLmMgICAg ICAgIHwgNCArKystCj4gPiA+ID4gIGxpYmF2Zm9ybWF0L29wdGlvbnNfdGFibGUuaCB8IDEgKwo+ ID4gPiA+ICBsaWJhdmZvcm1hdC92ZXJzaW9uLmggICAgICAgfCAyICstCj4gPiA+ID4gIHRlc3Rz L2ZhdGUvZGVtdXgubWFrICAgICAgICB8IDIgKy0KPiA+ID4gPiAgNyBmaWxlcyBjaGFuZ2VkLCAx NiBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQo+ID4gPiA+Cj4gPiA+ID4gZGlmZiAtLWdp dCBhL2RvYy9BUEljaGFuZ2VzIGIvZG9jL0FQSWNoYW5nZXMKPiA+ID4gPiBpbmRleCA5MTcxMGJi MjdkLi40MzE3MmZiY2RkIDEwMDY0NAo+ID4gPiA+IC0tLSBhL2RvYy9BUEljaGFuZ2VzCj4gPiA+ ID4gKysrIGIvZG9jL0FQSWNoYW5nZXMKPiA+ID4gPiBAQCAtMiw2ICsyLDkgQEAgVGhlIGxhc3Qg dmVyc2lvbiBpbmNyZWFzZXMgb2YgYWxsIGxpYnJhcmllcyB3ZXJlIG9uCj4gPiA+IDIwMjUtMDMt MjgKPiA+ID4gPgo+ID4gPiA+ICBBUEkgY2hhbmdlcywgbW9zdCByZWNlbnQgZmlyc3Q6Cj4gPiA+ ID4KPiA+ID4gPiArMjAyNS0wNi0xNyAtIHh4eHh4eHh4eHggLSBsYXZmIDYyLjIuMTAwIC0gYXZm b3JtYXQuaAo+ID4gPiA+ICsgIEFkZCBBVkZNVF9GTEFHX0FMTE9XX0NPREVDX0NIQU5HRVMgZmxh Zy4KPiA+ID4gPiArCj4gPiA+ID4gIDIwMjUtMDUtMjEgLSB4eHh4eHh4eHh4IC0gbGF2dSA2MC4z LjEwMCAtIGF2YXNzZXJ0LmgKPiA+ID4gPiAgICBBZGQgYXZfdW5yZWFjaGFibGUoKSBhbmQgYXZf YXNzdW1lKCkgbWFjcm9zLgo+ID4gPiA+Cj4gPiA+ID4gZGlmZiAtLWdpdCBhL2RvYy9mb3JtYXRz LnRleGkgYi9kb2MvZm9ybWF0cy50ZXhpCj4gPiA+ID4gaW5kZXggODc2YTllOTJiMy4uNWEwZDA3 MDI0NyAxMDA2NDQKPiA+ID4gPiAtLS0gYS9kb2MvZm9ybWF0cy50ZXhpCj4gPiA+ID4gKysrIGIv ZG9jL2Zvcm1hdHMudGV4aQo+ID4gPiA+IEBAIC0zOSw2ICszOSwxMSBAQCBTZXQgZm9ybWF0IGZs YWdzLiBTb21lIGFyZSBpbXBsZW1lbnRlZCBmb3IgYQo+IGxpbWl0ZWQKPiA+ID4gbnVtYmVyIG9m IGZvcm1hdHMuCj4gPiA+ID4KPiA+ID4gPiAgUG9zc2libGUgdmFsdWVzIGZvciBpbnB1dCBmaWxl czoKPiA+ID4gPiAgQHRhYmxlIEBzYW1wCj4gPiA+ID4gK0BpdGVtIGFsbG93X2NvZGVjX2NoYW5n ZXMKPiA+ID4gPiArQWxsb3cgQVZTdHJlYW0uY29kZWNwYXIgdG8gY2hhbmdlIG1pZHN0cmVhbSBp ZiBpbnB1dCBjaGFuZ2VzCj4gPiA+ID4gKyhmb3IgZXhhbXBsZSB3aGVuIE1QRUctVFMgRVMgc3Ry ZWFtX3R5cGUgY2hhbmdlcykuCj4gPiA+ID4gK1RoaXMgaXMgZGlzYWJsZWQgYnkgZGVmYXVsdCwg YmVjYXVzZSBtb3N0IGNsaWVudHMgb2YgYXZmb3JtYXQgQVBJCj4gPiA+ID4gK2RvIG5vdCBzdXBw b3J0IHJhbmRvbSBtaWRzdHJlYW0gY29kZWMgY2hhbmdlcy4KPiA+ID4gPiAgQGl0ZW0gZGlzY2Fy ZGNvcnJ1cHQKPiA+ID4gPiAgRGlzY2FyZCBjb3JydXB0ZWQgcGFja2V0cy4KPiA+ID4gPiAgQGl0 ZW0gZmFzdHNlZWsKPiA+ID4KPiA+ID4gc2hvdWxkIHRoaXMgZG9jdW1lbnQgdGhlIHJlbGF0aW9u IHRvIHJlc29sdXRpb24gJiBwaXhmbXQgY2hhbmdlcyA/Cj4gPiA+Cj4gPgo+ID4gSG93IGFib3V0 IHRoaXM6Cj4gPgo+ID4gQWxsb3cgQVZTdHJlYW0uY29kZWNwYXIgdG8gY2hhbmdlIG1pZHN0cmVh bSBpZiBpbnB1dCBjaGFuZ2VzCj4gPiAoZm9yIGV4YW1wbGUgd2hlbiBNUEVHLVRTIEVTIHN0cmVh bV90eXBlIGNoYW5nZXMpLgo+ID4gVGhpcyBpcyBkaXNhYmxlZCBieSBkZWZhdWx0LCBiZWNhdXNl IG1vc3QgY2xpZW50cyBvZiBhdmZvcm1hdCBBUEkKPiA+IGRvIG5vdCBzdXBwb3J0IHJhbmRvbSBt aWRzdHJlYW0gY29kZWMgY2hhbmdlcy4KPiA+IENoYW5nZXMgbWF5IGluY2x1ZGUgbWVkaWEgdHlw ZSwgY29kZWMgaWQsIHBpeGVsIGZvcm1hdCwgY29sb3Igc3BlY3MsCj4gPiBjaGFubmVsIGxheW91 dCwgc2FtcGxlIHJhdGUsIGFuZCBtYXkgYmUgYWNjb21wYW5pZWQgYnkgdGltZWxpbmUKPiBhbm9t YWxpZXMuCj4KPiBUaGUgY2hhaW4gc3VwcHBvcnRzIHBpeGVsIGZvcm1hdCBhbmQgcmVzb2x1dGlv biBjaGFuZ2VzIGZyb20gZGVtdXhlcnMKPiB0byBkZWNvZGVyIGFuZCBmZm1wZWcvZmZwbGF5IGNv bXBsZXRlbHkgdW5yZWxhdGVkIHRvIHRoaXMgZmxhZy4KPgo+CklESyB3aGF0IHRoaXMgbWVhbnMg Li4uIEkgZG8ga25vdyB0aGF0IGZmcGxheSBjYW4ndCBwbGF5CnNsYXRlLXRvLW5ldHdvcmstc2hv cnQudHMKY29ycmVjdGx5IHdoZW4gc3RyZWFtIGNoYW5nZXMgZnJvbSBTRFIgbXBlZzIgdmlkZW8g dG8gSERSMTAgaGV2YyB2aWRlbywKd2l0aCBvciB3aXRob3V0IHRoaXMgZmxhZy4KCgoKCj4KPiA+ Cj4gPgo+ID4KPiA+Cj4gPiA+Cj4gPiA+Cj4gPiA+ID4gZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0 L2F2Zm9ybWF0LmggYi9saWJhdmZvcm1hdC9hdmZvcm1hdC5oCj4gPiA+ID4gaW5kZXggYjZjNjNl MjIzNy4uMmU1MjMyYzk2ZCAxMDA2NDQKPiA+ID4gPiAtLS0gYS9saWJhdmZvcm1hdC9hdmZvcm1h dC5oCj4gPiA+ID4gKysrIGIvbGliYXZmb3JtYXQvYXZmb3JtYXQuaAo+ID4gPiA+IEBAIC0xNDM2 LDYgKzE0MzYsOCBAQCB0eXBlZGVmIHN0cnVjdCBBVkZvcm1hdENvbnRleHQgewo+ID4gPiA+ICAj ZGVmaW5lIEFWRk1UX0ZMQUdfRkFTVF9TRUVLICAgMHg4MDAwMCAvLy88IEVuYWJsZSBmYXN0LCBi dXQKPiBpbmFjY3VyYXRlCj4gPiA+IHNlZWtzIGZvciBzb21lIGZvcm1hdHMKPiA+ID4gPiAgI2Rl ZmluZSBBVkZNVF9GTEFHX0FVVE9fQlNGICAgMHgyMDAwMDAgLy8vPCBBZGQgYml0c3RyZWFtIGZp bHRlcnMgYXMKPiA+ID4gcmVxdWVzdGVkIGJ5IHRoZSBtdXhlcgo+ID4gPiA+Cj4gPiA+ID4gKyNk ZWZpbmUgQVZGTVRfRkxBR19BTExPV19DT0RFQ19DSEFOR0VTIDB4NDAwMDAwIC8vLzwgQWxsb3cK PiA+ID4gQVZTdHJlYW0uY29kZWNwYXIgdG8gYmUgdXBkYXRlZCBtaWRzdHJlYW0gaWYgaW5wdXQg Y2hhbmdlcyAoZS5nLgo+IE1QRUctVFMgRVMKPiA+ID4gc3RyZWFtX3R5cGUgY2hhbmdlcykKPiA+ ID4gPiArCj4gPiA+ID4gICAgICAvKioKPiA+ID4gPiAgICAgICAqIE1heGltdW0gbnVtYmVyIG9m IGJ5dGVzIHJlYWQgZnJvbSBpbnB1dCBpbiBvcmRlciB0byBkZXRlcm1pbmUKPiA+ID4gc3RyZWFt Cj4gPiA+ID4gICAgICAgKiBwcm9wZXJ0aWVzLiBVc2VkIHdoZW4gcmVhZGluZyB0aGUgZ2xvYmFs IGhlYWRlciBhbmQgaW4KPiA+ID4gPiBkaWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQvbXBlZ3RzLmMg Yi9saWJhdmZvcm1hdC9tcGVndHMuYwo+ID4gPiA+IGluZGV4IGRlYjY5YTA1NDguLmVkNGZmNTgw ZTUgMTAwNjQ0Cj4gPiA+ID4gLS0tIGEvbGliYXZmb3JtYXQvbXBlZ3RzLmMKPiA+ID4gPiArKysg Yi9saWJhdmZvcm1hdC9tcGVndHMuYwo+ID4gPiA+IEBAIC0yNTEwLDcgKzI1MTAsOSBAQCBzdGF0 aWMgdm9pZCBwbXRfY2IoTXBlZ1RTRmlsdGVyICpmaWx0ZXIsIGNvbnN0Cj4gPiA+IHVpbnQ4X3Qg KnNlY3Rpb24sIGludCBzZWN0aW9uX2xlbgo+ID4gPiA+ICAgICAgICAgIGlmICghc3QpCj4gPiA+ ID4gICAgICAgICAgICAgIGdvdG8gb3V0Owo+ID4gPiA+Cj4gPiA+ID4gLSAgICAgICAgaWYgKHBl cyAmJiBwZXMtPnN0cmVhbV90eXBlICE9IHN0cmVhbV90eXBlKQo+ID4gPiA+ICsgICAgICAgIGlm IChwZXMgJiYgKCFwZXMtPnN0cmVhbV90eXBlIHx8Cj4gPiA+ID4gKyAgICAgICAgICAgICAgICAg ICAgKHBlcy0+c3RyZWFtX3R5cGUgIT0gc3RyZWFtX3R5cGUgJiYKPiA+ID4gPiArICAgICAgICAg ICAgICAgICAgICAgISEodHMtPnN0cmVhbS0+ZmxhZ3MgJgo+ID4gPiBBVkZNVF9GTEFHX0FMTE9X X0NPREVDX0NIQU5HRVMpKSkpCj4gPiA+ID4gICAgICAgICAgICAgIG1wZWd0c19zZXRfc3RyZWFt X2luZm8oc3QsIHBlcywgc3RyZWFtX3R5cGUsCj4gcHJvZ19yZWdfZGVzYyk7Cj4gPiA+ID4KPiA+ ID4gPiAgICAgICAgICBhZGRfcGlkX3RvX3Byb2dyYW0ocHJnLCBwaWQpOwo+ID4gPiA+IGRpZmYg LS1naXQgYS9saWJhdmZvcm1hdC9vcHRpb25zX3RhYmxlLmgKPiBiL2xpYmF2Zm9ybWF0L29wdGlv bnNfdGFibGUuaAo+ID4gPiA+IGluZGV4IGUyZTY5MGZkMmEuLjgxMWRkMzQyY2MgMTAwNjQ0Cj4g PiA+ID4gLS0tIGEvbGliYXZmb3JtYXQvb3B0aW9uc190YWJsZS5oCj4gPiA+ID4gKysrIGIvbGli YXZmb3JtYXQvb3B0aW9uc190YWJsZS5oCj4gPiA+ID4gQEAgLTUwLDYgKzUwLDcgQEAgc3RhdGlj IGNvbnN0IEFWT3B0aW9uIGF2Zm9ybWF0X29wdGlvbnNbXSA9IHsKPiA+ID4gPiAgeyJzb3J0ZHRz IiwgInRyeSB0byBpbnRlcmxlYXZlIG91dHB1dHRlZCBwYWNrZXRzIGJ5IGR0cyIsIDAsCj4gPiA+ IEFWX09QVF9UWVBFX0NPTlNULCB7Lmk2NCA9IEFWRk1UX0ZMQUdfU09SVF9EVFMgfSwgSU5UX01J TiwgSU5UX01BWCwgRCwKPiA+ID4gLnVuaXQgPSAiZmZsYWdzIn0sCj4gPiA+ID4gIHsiZmFzdHNl ZWsiLCAiZmFzdCBidXQgaW5hY2N1cmF0ZSBzZWVrcyIsIDAsIEFWX09QVF9UWVBFX0NPTlNULAo+ IHsuaTY0ID0KPiA+ID4gQVZGTVRfRkxBR19GQVNUX1NFRUsgfSwgSU5UX01JTiwgSU5UX01BWCwg RCwgLnVuaXQgPSAiZmZsYWdzIn0sCj4gPiA+ID4gIHsibm9idWZmZXIiLCAicmVkdWNlIHRoZSBs YXRlbmN5IGludHJvZHVjZWQgYnkgb3B0aW9uYWwgYnVmZmVyaW5nIiwKPiAwLAo+ID4gPiBBVl9P UFRfVFlQRV9DT05TVCwgey5pNjQgPSBBVkZNVF9GTEFHX05PQlVGRkVSIH0sIDAsIElOVF9NQVgs IEQsIC51bml0Cj4gPQo+ID4gPiAiZmZsYWdzIn0sCj4gPiA+ID4gK3siYWxsb3dfY29kZWNfY2hh bmdlcyIsICJhbGxvdyBBVlN0cmVhbS5jb2RlY3BhciB0byBjaGFuZ2UgYXQKPiBydW50aW1lCj4g PiA+IGlmIGlucHV0IGNoYW5nZXMiLCAwLCBBVl9PUFRfVFlQRV9DT05TVCwgeyAuaTY0ID0KPiA+ ID4gQVZGTVRfRkxBR19BTExPV19DT0RFQ19DSEFOR0VTIH0sIDAsIDAsIEQsIC51bml0ID0gImZm bGFncyIgfSwKPiA+ID4KPiA+ID4gSWYgdGhlIG9wdGlvbiBpcyB1c2VyIHNldHRhYmxlIHRoZW4g ZmZtcGVnL2ZmcGxheSBzaG91bGQgcG9zc2libHkKPiBwcmludCBhCj4gPiA+IHdhcm5pbmcsIHRo YXQgdGhleSBkbyBub3Qgc3VwcG9ydCB0aGlzIGlmIHRoZSB1c2VyIGZvcmNlcyB0aGUgZmxhZwo+ ID4gPgo+ID4KPiA+IFdlbGwsIGl0J3Mgbm90IGFzIGlmIHRoZXkgZG9uJ3Qgc3VwcG9ydCBpdCBh dCBhbGwgLi4uIHRoZXkgY29uc3VtZSB0aGUKPiA+IG9wdGlvbiBhbmQgc2V0IHRoZSBmbGFnLCBh bmQgdGhlIGRlbXV4ZXIgZG9lcyB3aGF0IGl0J3Mgc3VwcG9zZWQgdG8uCj4gPiBJbiBjYXNlIG9m IGZmcGxheSwgd2l0aCAtZmZsYWdzICthbGxvd19jb2RlY19jaGFuZ2VzIGl0J3MgYWN0dWFsbHkg YWJsZQo+IHRvCj4gPiBwbGF5IDFfcG9jLm1wNCBhbmQgcmVuZGVyIGEgcGFydGlhbGx5IGRlY29k ZWQgaW1hZ2UuCj4gPgo+Cj4gPiBBbnl3YXksIHdoYXQgd291bGQgdGhpcyB3YXJuaW5nIGxvb2sg bGlrZT8KPiA+IEknbSBoYXZpbmcgYSBoYXJkIHRpbWUgY29taW5nIHVwIHdpdGggYSB3YXJuaW5n IG1lc3NhZ2UgdGhhdCBpc24ndAo+ID4gbWlzbGVhZGluZyBvciBjb25mdXNpbmcuCj4gPiBXb3Vs ZCB5b3UgbGlrZSB0byBzdWdnZXN0IG9uZT8gV291bGQgc29tZXRoaW5nIGxpa2UgdGhpcyB3b3Jr Ogo+ID4KPiA+ICAgICBpZiAoISEoaWMtPmZsYWdzICYgQVZGTVRfRkxBR19BTExPV19DT0RFQ19D SEFOR0VTKSkKPiA+ICAgICAgIGF2X2xvZyhOVUxMLCBBVl9MT0dfV0FSTklORywgImRvd25zdHJl YW0gc3VwcG9ydCBmb3IKPiA+IGFsbG93X2NvZGVjX2NoYW5nZXMgaXMgbm90IGltcGxlbWVudGVk Iik7Cj4KPiBJIHdhcyB0aGlua2luZyBtb3JlIGFsb25nIHRoZSBsaW5lcyBvZiB0aGUKPiAiLS1k aXNhYmxlLXNhZmUtYml0c3RyZWFtLXJlYWRlciIKPiBoZWxwIHRleHQ6Cj4gICAgICAgICAgICAg ICAgICAgICAgICAgICAgZGlzYWJsZSBidWZmZXIgYm91bmRhcnkgY2hlY2tpbmcgaW4gYml0cmVh ZGVycwo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChUaGlzIGRpc2FibGVzIHNvbWUgc2Vj dXJpdHkgY2hlY2tzIGFuZCBjYW4KPiBjYXVzZSB1bmRlZmluZWQgYmVoYXZpb3IsCj4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGNyYXNoZXMgYW5kIGFyYml0cmFyeSBjb2RlIGV4ZWN1dGlv biwgaXQgbWF5Cj4gYmUgZmFzdGVyLCBidXQKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c2hvdWxkIG9ubHkgYmUgdXNlZCB3aXRoIHRydXN0ZWQgaW5wdXQpCj4KPiBCYXNjaWFsbHksIHdo YXQgdGhlIGdvYWwgaGVyZSBpcywgaXMgdG8gZXhwbGFpbiB0byB0aGUgdXNlciB0aGF0IHdpdGgg dGhpcwo+IGZsYWcKPiB0aGV5IGFyZSBwb3RlbnRpYWxseSBnaXZpbmcgdGhlIGlucHV0IGZpbGUg YXJiaXRyYXJ5IGNvZGUgZXhlY3V0aW9uIG9uCj4gdGhlaXIKPiBtYWNoaWVuZQo+CgoKTm8sIHRo YXQncyBub3Qgd2hhdCB0aGlzIGZsYWcgZG9lcywgYW5kIEkgd2lsbCBub3QgZG9jdW1lbnQgaXQg YXMgc3VjaC4KVGhlIGFyYml0cmFyeSBjb2RlIGV4ZWN1dGlvbiBpcyBub3QgYSBmZWF0dXJlIGNv bnRyb2xsZWQgYnkgdGhpcyBmbGFnLi4uIGlmCnN1Y2ggdGhpbmcgZXhpc3RzIC0tIGl0IHdhcyBu b3QgYWRkZWQgYnkgbWUuClRoaXMgZmxhZyBvbmx5IGNvbnRyb2xzIHRoZSByZS1wcm9iaW5nIG9m IHRoZSBpbnB1dCBzdHJlYW0gd2hlbiBQTVQgRVMKc3RyZWFtX3R5cGUgY2hhbmdlcywgdGhhdCBp cyBhbGwuCgpUaGUgZmZwcm9iZSAxX3BvYy5tcDQgc2VnZmF1bHQgd2FzIGR1ZSB0byBhIHByZXZp b3VzbHkgdW5rbm93biBkZWZlY3QKaW4gZGVtdXguYyBjb2RlY19jbG9zZSBwcm9iaW5nIGhlbHBl ciBmdW5jdGlvbiwgZm9yIHdoaWNoIEkgcHJvdmlkZWQgYSBmaXguCgoKCj4KPiBJIHN0aWxsIHRo aW5rIGFuZHJlYXMgY29tbWVudCB0aGF0IHRoaXMgc2hvdWxkIGJlIHNldCBieSB0aGUgYXBwbGlj YXRpb24KPiBub3QgdGhlIHVzZXIgc2hvdWxkIGJlIGNvbnNpZGVyZWQuCj4KCkZpbmUsIEkgY2Fu IG1ha2UgdGhpcyBmZWF0dXJlIG1vcmUgaGlkZGVuLgpUaGF0IHdvdWxkIGFsc28gb2J2aWF0ZSBh bnkgbmVlZCB0byBkb2N1bWVudCBpdCBpbiBmb3JtYXRzLnRleGksIHNvIEknbGwKcmVtb3ZlIHRo YXQgYXMgd2VsbC4KCgoKPiBDYW4geW91IGV4cGxhaW4gaW4gd2hhdCB1c2UgY2FzZSB0aGlzIGlz IHVzZWZ1bGwgPwo+CgpJdCBpcyB1c2VmdWwgZm9yIHBsYXliYWNrIG9mIHJlYWwtd29ybGQgbXBl Zy10cyBjYXB0dXJlcyBsaWtlIHRoZSBvbmUgSSd2ZQpwcm92aWRlZDogc2xhdGUtdG8tbmV0d29y ay1zaG9ydC50cyAuLi4gYnV0IG5vdCB3aXRoIGZmcGxheSwgb2J2aW91c2x5LgoKCgo+Cj4gKHlv dSBjYW5ub3Qgc2FmdGVseSB1c2UgdGhpcyBmb3IgYW55IHVudHJ1c3RlZCBpbnB1dCBpZiB0aGUg dG9vbCBkb2VzIG5vdAo+ICBmdWxseSBzdXBwb3J0IHRoaXMpCj4KCkJ5IHRoaXMgcmVhc29uaW5n IEkgd291bGRuJ3QgdHJ1c3QgdXNpbmcgZmZtcGVnIHdpdGggYW55IHVuLXRydXN0ZWQgaW5wdXQs CnJlZ2FyZGxlc3Mgb2YgdGhpcyBmbGFnLgpBIGZpeCBmb3IgdGhlIGNvZGVjX2Nsb3NlIGJ1ZyBp biBkZW11eC5jIGhhcyBiZWVuIGNvbW1pdHRlZCwKYW5kIEkgYW0gbm90IGF3YXJlIG9mIGFueSBh ZGRpdGlvbmFsIGlzc3VlcyB0aGF0IG1heSBiZSBleHBvc2VkIHdoZW4gdGhpcwppcyBlbmFibGVk LgoKSSB3aWxsIHN1Ym1pdCBhIG5ldyBwYXRjaCByZW1vdmluZyB0aGUgYWxsb3dfY29kZWNfY2hh bmdlcyBmbGFnIGZyb20Kb3B0aW9uX3RhYmxlLmggYW5kIGZvcm1hdHMudGV4aQoKUGF2ZWwKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZmZtcGVnLWRldmVs IG1haWxpbmcgbGlzdApmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwpodHRwczovL2ZmbXBlZy5vcmcv bWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKClRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5r IGFib3ZlLCBvciBlbWFpbApmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdpdGggc3Vi amVjdCAidW5zdWJzY3JpYmUiLgo=