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 A17DE4B829 for ; Sat, 15 Jun 2024 09:18:08 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 298FA68D60B; Sat, 15 Jun 2024 12:18:05 +0300 (EEST) Received: from mail-ej1-f48.google.com (mail-ej1-f48.google.com [209.85.218.48]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 0AC3F68CC21 for ; Sat, 15 Jun 2024 12:17:59 +0300 (EEST) Received: by mail-ej1-f48.google.com with SMTP id a640c23a62f3a-a6f0e153eddso389908266b.0 for ; Sat, 15 Jun 2024 02:17:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1718443077; x=1719047877; darn=ffmpeg.org; h=user-agent:in-reply-to:content-transfer-encoding :content-disposition:mime-version:references:mail-followup-to :message-id:subject:to:from:date:from:to:cc:subject:date:message-id :reply-to; bh=wgH6yxskZPbArcgutNObbLQTuFXOJpqyHleVJYDkqoU=; b=G2lGp+PU8FBGqUbAHSIeSKIfRC5Yse7Y0f9oFXAHGG2vI/PT7QR9DD2avNyrDQVaNc l8CeVoscuMjTtZi6U/Pu6hKIBUiLBLNmKcPE/IRubnZQbTBiLjFJyVDvj0nkeg2lY4xn vl94B7GZoyqVEm8C4GQW91+QoieBz+mbFyxBl2ebrtjTEn0n1bq6gpy4hDfs/78zX2qh r6H0/5XB9Vf3cpA3Fp7kumkxOPF7pYlfeIpQfOzik1m4VSS8ZKrrakzx+y1lGTBnsFv4 zl+ga4yKhg8jB32DD+GMu+lr+gw/jb7dzKADwL+Jf+/SHkY8yKe9kXtrmmOS5sRgGCYp 7pzg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718443077; x=1719047877; h=user-agent:in-reply-to:content-transfer-encoding :content-disposition:mime-version:references:mail-followup-to :message-id:subject:to:from:date:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=wgH6yxskZPbArcgutNObbLQTuFXOJpqyHleVJYDkqoU=; b=XhamPoFglBH06AOQQPLX1+FqfelmtaDWDMbt7XIJUwMKWBqqeP6p7ZlKe4eYedRmv6 5AlKWb4bpItTHBnUXYyGDxiINgOuVLXP402Omrp411hFOxZfIeFohWaERjVpqwywm65Z 6L+TCM8RCcVMo3KXpWgsGiRrKvPfFQu2iAhfIS9ZXaC9GJYmQc2I2oMUCni1rIvWIJyu oGv308r3CCA0/aGZlMaYl/LRqltp5MecFd7Y5qUGe6soDdm09nJjMhKZavKspuf74Ikt s9xfvGSoY0nWFFNon/3/ApLyNCbrjeTNJy9+2KT1v0+0r0lpV14k65ueYdI6nl2E21m+ fJ5Q== X-Gm-Message-State: AOJu0Yxhxxledcum5Mc7Kwp96GOF2QPTxlMQfs+hXRGT2LcdoIzbqKvQ r4qWpUnprXnS1VCN6Wqo+YyDT7oqIl8tGlGXLdZ7TuR9g88j+V6FHgQpKQ== X-Google-Smtp-Source: AGHT+IEmGj6KplzxIghi9GrDAGhvwrvydYFD8rqca2Qi8sJtuben/bmlWBy5mD38e1emxuRn1pqmdg== X-Received: by 2002:a17:906:b313:b0:a6f:4a2a:935e with SMTP id a640c23a62f3a-a6f60d20310mr347709566b.18.1718443076226; Sat, 15 Jun 2024 02:17:56 -0700 (PDT) Received: from mariano (dynamic-adsl-84-220-189-10.clienti.tiscali.it. [84.220.189.10]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a6f681ae61fsm150762466b.99.2024.06.15.02.17.55 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 15 Jun 2024 02:17:55 -0700 (PDT) Received: by mariano (Postfix, from userid 1000) id 74090BFCE8; Sat, 15 Jun 2024 11:17:54 +0200 (CEST) Date: Sat, 15 Jun 2024 11:17:54 +0200 From: Stefano Sabatini To: FFmpeg development discussions and patches Message-ID: Mail-Followup-To: FFmpeg development discussions and patches References: <20240418150614.3952107-1-ffmpeg-devel@pileofstuff.org> <20240604144919.213799-1-ffmpeg-devel@pileofstuff.org> <20240604144919.213799-2-ffmpeg-devel@pileofstuff.org> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/2.1.4 (2021-12-11) Subject: Re: [FFmpeg-devel] [PATCH v6 1/4] doc: Explain what "context" means 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: T24gZGF0ZSBUaHVyc2RheSAyMDI0LTA2LTEzIDE1OjIwOjM4ICswMTAwLCBBbmRyZXcgU2F5ZXJz IHdyb3RlOgo+IE9uIFdlZCwgSnVuIDEyLCAyMDI0IGF0IDEwOjUyOjAwUE0gKzAyMDAsIFN0ZWZh bm8gU2FiYXRpbmkgd3JvdGU6ClsuLi5dCj4gPiA+ICtAc2VjdGlvbiBDb250ZXh0X2dlbmVyYWwg 4oCcQ29udGV4dOKAnSBhcyBhIGdlbmVyYWwgY29uY2VwdAo+IFsuLi5dCj4gPiBJJ2Qgc2tpcCBh bGwgdGhpcyBwYXJ0LCBhcyB3ZSBhc3N1bWUgdGhlIHJlYWRlciBpcyBhbHJlYWR5IGZhbWlsaWFy Cj4gPiB3aXRoIEMgbGFuZ3VhZ2UgYW5kIHdpdGggZGF0YSBlbmNhcHN1bGF0aW9uIHRocm91Z2gg c3RydWN0LCBpZiBoZSBpcwo+ID4gbm90IHRoaXMgaXMgbm90IHRoZSByaWdodCBwbGFjZSB3aGVy ZSB0byB0ZWFjaCBhYm91dCBDIGxhbmd1YWdlCj4gPiBmdW5kYW1lbnRhbHMuCj4gCj4gSSBkaXNh Z3JlZSwgZm9yIGEgcmVhc29uIEkndmUgYmVlbiBsb29raW5nIGZvciBhbiBleGN1c2UgdG8gbWVu dGlvbiA6KQo+IAoKPiBMZXQncyBhc3N1bWUgOTAlIG9mIHBlb3BsZSB3aG8gdXNlIEZGbXBlZyBh bHJlYWR5IGtub3cgc29tZXRoaW5nIGluIHRoZSBkb2MuCj4gWW91IGNvdWxkIHNheSB0aGF0IHBh cnQgb2YgdGhlIGRvYyBpcyB1c2VsZXNzIHRvIDkwJSBvZiB0aGUgYXVkaWVuY2UuCj4gT3IgeW91 IGNvdWxkIHNheSB0aGF0IDkwJSBvZiBGRm1wZWcgdXNlcnMgYXJlIG5vdCBvdXIgYXVkaWVuY2Uu Cj4gCj4gTG9va2luZyBhdCBpdCB0aGUgc2Vjb25kIHdheSBtZWFucyB5b3UgbmVlZCB0byBzcGVu ZCBtb3JlIHRpbWUgb24gInJvdXRpbmciIC0KPiBsaW5raW5nIHRvIHRoZSBkb2N1bWVudCBpbiB3 YXlzIHRoYXQgKG9ubHkpIGF0dHJhY3QgeW91ciB0YXJnZXQgYXVkaWVuY2UsCj4gbWFraW5nIGEg dGFibGUgb2YgY29udGVudHMgd2l0aCBoZWFkaW5ncyB0aGF0IGFpZCBza2lwLXJlYWRlcnMsIGV0 Yy4KPiBCdXQgb25jZSB5b3UndmUgcm91dGVkIHBlb3BsZSBhcm91bmQgdGhlIGJpdHMgdGhleSBk b24ndCBjYXJlIGFib3V0LAo+IGl0J3MgZmluZSB0byBoYXZlIGRvY3VtZW50YXRpb24gdGhhdCdz IG9ubHkgbmVlZGVkIGJ5IGEgbWlub3JpdHkuCj4gCgo+IEFsc28sIGxlc3MgaW50ZXJlc3Rpbmcg YnV0IGVxdWFsbHkgaW1wb3J0YW50IC0gY29udGV4dCBpcyBub3QgYSBDIGxhbmd1YWdlCj4gZnVu ZGFtZW50YWwsIGl0J3MgbW9yZSBsaWtlIGFuIGVtZXJnZW50IHByb3BlcnR5IG9mIGxhcmdlIEMg cHJvamVjdHMuICBBCj4gZGV2ZWxvcGVyIHRoYXQgY2FtZSBoZXJlIHdpdGhvdXQga25vd2luZyBl LmcuIHdoYXQgYSBzdHJ1Y3QgaXMgY291bGQgcmVhZAo+IGFueSBvZiB0aGUgb25saW5lIHR1dG9y aWFscyB0aGF0IGV4cGxhaW4gdGhlIGNvbmNlcHQgYmV0dGVyIHRoYW4gd2UgY291bGQuCj4gSSdk IGJlIGhhcHB5IHRvIGxpbmsgdG8gYSBnb29kIHR1dG9yaWFsIGFib3V0IGNvbnRleHRzIGlmIHdl IGZvdW5kIG9uZSwKPiBidXQgd2UgaGF2ZSB0byBtZWV0IHBlb3BsZSB3aGVyZSB0aGV5IGFyZSwg YW5kIHRoaXMgaXMgdGhlIGJlc3Qgc29sdXRpb24KPiBJJ3ZlIGJlZW4gYWJsZSB0byBmaW5kLgoK VGhlIGNvbnRleHQgaXMganVzdCBhbm90aGVyIHdheSB0byBjYWxsIGEgc3RydWN0IHVzZWQgdG8g a2VlcCBhbgplbnRpdHkgc3RhdGUgb3BlcmF0ZWQgYnkgc2V2ZXJhbCBmdW5jdGlvbnMgKHRoYXQg aXMgaW4gb3RoZXIgd29yZHMgYW4Kb2JqZWN0IGFuZCBpdHMgbWV0aG9kcyksIGl0J3MgbW9zdGx5 IGFib3V0IHRoZSBzcGVjaWZpYyBqYXJnb24gdXNlZCBieQpGRm1wZWcgKGFuZCB1c2VkIGJ5IG90 aGVyIEMgcHJvamVjdHMgYXMgd2VsbCkuIEluIGFkZGl0aW9uIHRvIHRoaXMgd2UKcHJvdmlkZSBz b21lIGdlbmVyaWMgdXRpbGl0aWVzIChsb2dnaW5nK2F2b3B0aW9ucykgd2hpY2ggY2FuIGJlIHVz ZWQKdGhyb3VnaCBBVkNsYXNzIGVtcGxveW1lbnQuCgpHaXZpbmcgYSBsb25nZXIgZXhwbGFuYXRp b24gaXMgbWFraW5nIHRoaXMgYXBwZWFyIHNvbWV0aGluZyBtb3JlCmNvbXBsaWNhdGVkIHRoYW4g YWN0dWFsbHkgaXMuIE15IHBvaW50IGlzIHRoYXQgcHJvdmlkaW5nIG1vcmUKaW5mb3JtYXRpb24g dGhhbiBhY3R1YWxseSBuZWVkZWQgcHJvdmlkZXMgdGhlIGxvbmctd2FsbC1vZi10ZXh0IGVmZmVj dAooSSBuZWVkIHRvIHJlYWQgdGhyb3VnaCBhbGwgdGhpcyB0byB1bmRlcnN0YW5kIGl0IC0gbmFo IEknZCByYXRoZXIKZ2l2ZS11cCksIHRodXMgZGlzY291cmFnaW5nIHJlYWRlcnMuCgo+IAo+ID4g Cj4gPiA+ICsKPiA+ID4gK1doZW4gcmVhZGluZyBjb2RlIHRoYXQgKmlzKiBleHBsaWNpdGx5IGRl c2NyaWJlZCBpbiB0ZXJtcyBvZiBjb250ZXh0cywKPiA+ID4gK3JlbWVtYmVyIHRoYXQgdGhlIHRl cm0ncyBtZWFuaW5nIGlzIGd1YXJhbnRlZWQgYnkgKnRoZSBwcm9qZWN0J3MgY29tbXVuaXR5KiwK PiA+ID4gK25vdCAqdGhlIGxhbmd1YWdlIGl0J3Mgd3JpdHRlbiBpbiouICBUaGF0IG1lYW5zIGd1 YXJhbnRlZXMgbWF5IGJlIG1vcmUgZmxleGlibGUKPiA+ID4gK2FuZCBjaGFuZ2UgbW9yZSBvdmVy IHRpbWUuICBGb3IgZXhhbXBsZSwgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2VzIHRoYXQgdXNlCj4gPiA+ ICtbZW5jYXBzdWxhdGlvbl0oaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvRW5jYXBzdWxh dGlvbl8oY29tcHV0ZXJfcHJvZ3JhbW1pbmcpKQo+ID4gPiArd2lsbCBzaW1wbHkgcmVmdXNlIHRv IGNvbXBpbGUgY29kZSB0aGF0IHZpb2xhdGVzIGl0cyBydWxlcyBhYm91dCBhY2Nlc3MsCj4gPiA+ ICt3aGlsZSBjb21tdW5pdGllcyBjYW4gcHV0IHVwIHdpdGggc3BlY2lhbCBjYXNlcyBpZiB0aGV5 IGltcHJvdmUgY29kZSBxdWFsaXR5Lgo+ID4gPiArCj4gPiAKPiA+IFRoaXMgbG9va3MgYSBiaXQg dmFndWUgc28gSSdkIHJhdGhlciBkcm9wIHRoaXMuCgpJIG1lYW4sIGlmIHlvdSByZWFkIGZvciB0 aGUgZmlyc3QgdGltZToKfCBbdGhlIGNvbnRleHRdIHRlcm0ncyBtZWFuaW5nIGlzIGd1YXJhbnRl ZWQgYnkgKnRoZSBwcm9qZWN0J3MKfCBjb21tdW5pdHkqLCBub3QgdGhlIGxhbmd1YWd1YWdlIGl0 J3Mgd3JpdHRlbiBmb3IuCnwgVGhhdCBtZWFucyBndWFyYW50ZWVzIG1heSBiZSBtb3JlIGZsZXhp YmxlIGFuZCBjaGFuZ2UgbW9yZSBvdmVyIHRpbWUuCgppdCdzIHZlcnkgaGFyZCB0byBmaWd1cmUg b3V0IHdoYXQgdGhlc2UgZ3VhcmFudGVlcyBhcmUgYWJvdXQsIGFuZCB0aGlzCm1pZ2h0IGFwcGx5 IHRvIGV2ZXJ5IHNwZWNpZmljIGxhbmd1YWdlIGFuZCB0byBldmVyeSBzcGVjaWZpYyB0ZXJtLAp0 aGF0J3Mgd2h5IEkgY29uc2lkZXIgdGhpcyAidmFndWUiLgogClsuLi5dCj4gPiA+ICtTb21lIGZ1 bmN0aW9ucyBmaXQgYXdrd2FyZGx5IHdpdGhpbiBGRm1wZWcncyBjb250ZXh0IGlkaW9tLCBzbyB0 aGV5IHNlbmQgbWl4ZWQKPiA+ID4gK3NpZ25hbHMuICBGb3IgZXhhbXBsZSwgYXZfYW1iaWVudF92 aWV3aW5nX2Vudmlyb25tZW50X2NyZWF0ZV9zaWRlX2RhdGEoKSBjcmVhdGVzCj4gPiA+ICthbiBB VkFtYmllbnRWaWV3aW5nRW52aXJvbm1lbnQgY29udGV4dCwgdGhlbiBhZGRzIGl0IHRvIHRoZSBz aWRlLWRhdGEgb2YgYW4KPiA+ID4gK0FWRnJhbWUgY29udGV4dC4gIFNvIGl0cyBuYW1lIGhpbnRz IGF0IG9uZSBjb250ZXh0LCBpdHMgcGFyYW1ldGVyIGhpbnRzIGF0Cj4gPiA+ICthbm90aGVyLCBh bmQgaXRzIGRvY3VtZW50YXRpb24gaXMgc2lsZW50IG9uIHRoZSBpc3N1ZS4gIFlvdSBtaWdodCBw cmVmZXIgdG8KPiA+ID4gK3RoaW5rIG9mIHN1Y2ggZnVuY3Rpb25zIGFzIG5vdCBoYXZpbmcgYSBj b250ZXh0LCBvciBhcyDigJxyZWNlaXZpbmfigJ0gb25lIGNvbnRleHQKPiA+ID4gK2FuZCDigJxw cm9kdWNpbmfigJ0gYW5vdGhlci4KPiA+IAo+ID4gSSdkIHNraXAgdGhpcyBwYXJhZ3JhcGguIElu IGZhY3QsIEkgdGhpbmsgdGhhdCBBUEkgbWFrZXMgcGVyZmVjdAo+ID4gc2Vuc2UsIE9PUCBsYW5n dWFnZXMgYWRvcHQgc3VjaCBjb25zdHJ1Y3RzIGFsbCB0aGUgdGltZSwgZm9yIGV4YW1wbGUKPiA+ IHRoaXMgY291bGQgYmUgYSBzdGF0aWMgbW9kdWxlL2NsYXNzIGNvbnN0cnVjdG9yLiBJbiBvdGhl ciB3b3Jkcywgd2UKPiA+IGFyZSBub3QgdGVsbGluZyBhbnl3aGVyZSB0aGF0IGFsbCBmdW5jdGlv bnMgc2hvdWxkIHRha2UgYSAiY29udGV4dCIgYXMKPiA+IGl0cyBmaXJzdCBhcmd1bWVudCwgYW5k IHRoZSBkb2N1bWVudGF0aW9uIHNwZWNpZnkgZXhhY3RseSBob3cgdGhpcwo+ID4gd29ya3MsIGlm IHlvdSBmZWVsIHRoaXMgaXMgbm90IGNsZWFyIG9yIHNpbGVudCBwcm9iYWJseSB0aGlzIGlzIGEg c2lnbgo+ID4gdGhhdCB0aGF0IGZ1bmN0aW9uIGRvY3VtZW50YXRpb24gc2hvdWxkIGJlIGV4dGVu ZGVkLgo+IAoKPiBUaGF0IHdvdWxkIGJlIGZpbmUgaWYgaXQgd2VyZSBqdXN0IHRoaXMgZnVuY3Rp b24sIGJ1dCBGRm1wZWcgaXMgbGl0dGVyZWQKPiB3aXRoIHNwZWNpYWwgY2FzZXMgdGhhdCBkb24n dCBxdWl0ZSBmaXQuCgpJIHN0aWxsIGZhaWwgdG8gc2VlIHRoZSBnZW5lcmFsIHJ1bGUgZm9yIHdo aWNoIHRoaXMgaXMgY3JlYXRpbmcgYQpzcGVjaWFsIGNhc2UuIElmIHRoaXMgaXMgYSBzcGVjaWFs IGNhc2UsIHdoYXQgaXMgdGhpcyBzcGVjaWFsIGNhc2UKZm9yPwoKPiBBbm90aGVyIGV4YW1wbGUg bWlnaHQgYmUgc3dyX2FsbG9jX3NldF9vcHRzMigpLCB3aGljaCBjYW4gdGFrZSBhbgo+IFN3ckNv bnRleHQgaW4gYSB3YXkgdGhhdCByZXNlbWJsZXMgYSBjb250ZXh0LCBvciBjYW4gdGFrZSBOVUxM IGFuZAo+IGFsbG9jYXRlIGEgbmV3IFN3ckNvbnRleHQuICBBbmQgeWVzLCB3ZSBjb3VsZCBkb2N1 bWVudCB0aGF0IGVkZ2UKPiBjYXNlLCBhbmQgdGhlIG5leHQgb25lLCBhbmQgdGhlIG9uZSBhZnRl ciB0aGF0LiBCdXQgZXZlbiBpZiB3ZQo+IGRvY3VtZW50ZWQgZXZlcnkgbGl0dGxlIHNwZWNpYWwg Y2FzZSB0aGF0IGV4aXN0ZWQgdG9kYXksIHRoZXJlJ3Mgbm8KPiBydWxlLCBzbyBuZXcgYml0cyBv ZiBBUEkgd2lsbCBqdXN0IHJlaW50cm9kdWNlIHRoZSBwcm9ibGVtIGFnYWluLgoKSW4gdGhpcyBz cGVjaWZpYyBjYXNlIEknZCBzYXkgdGhlIEFQSSBpcyBub3QgbXVjaCBlcmdvbm9taWMsIGFuZApw cm9iYWJseSBpdCB3b3VsZCBoYXZlIGJlZW4gYmV0dGVyIHRvIGtlZXAgb3BlcmF0aW9ucyAoYWxs b3crc2V0X29wdHMpCnNlcGFyYXRlZCwgYnV0IHRoZW4gaXQgaXMgbXVjaCBhIGNob2ljZSBvZiB0 aGUgdXNlciAoeW91IGNhbiBkZWNpZGUgdG8Ka2VlcCBhbGxvYyBhbmQgc2V0X29wdHMgYXMgZGlm ZmVyZW50IG9wZXJhdGlvbnMpLiBPbiB0aGUgb3RoZXIgaGFuZCwKKml0IGlzIGFscmVhZHkgZG9j dW1lbnRlZCogc28gdGhlcmUgaXMgbm90IG11Y2ggdG8gYWRkLgoKPiBUaGVyZSdzIGEgZGVlcGVy IGlzc3VlIGhlcmUgLSBhcyBhbiBleHBlcnQsIHdoZW4geW91IGRvbid0IGtub3cgc29tZXRoaW5n LAo+IHlvdXIgZGVmYXVsdCBhc3N1bXB0aW9uIGlzIHRoYXQgaXQncyB1bmRlZmluZWQsIGFuZCBj b3VsZCBldm9sdmUgaW4gZnV0dXJlLgo+IFdoZW4gYSBuZXdiaWUgZG9lc24ndCBrbm93IHNvbWV0 aGluZywgdGhlaXIgZGVmYXVsdCBhc3N1bXB0aW9uIGlzIHRoYXQKPiBldmVyeWJvZHkgZWxzZSBr bm93cyBhbmQgdGhleSdyZSBqdXN0IHN0dXBpZC4gIFRoYXQgYXNzdW1wdGlvbiBkcml2ZXMKPiBu ZXdiaWVzIGF3YXkgZnJvbSBwcm9qZWN0cywgc28gaXQncyBpbXBvcnRhbnQgdG8gZmlsbCBpbiBh cyBtYW55IGJsYW5rcyBhcwo+IHBvc3NpYmxlLCBldmVuIGlmIGl0IGhhcyB0byBiZSB3aXRoIHNp bXBsZSBhbnN3ZXJzIHRoYXQgdGhleSBldmVudHVhbGx5Cj4gZXZvbHZlIGJleW9uZCAoYW5kIGZl ZWwgc21hcnQgZm9yIGRvaW5nIHNvKS4KPiAKPiA+ID4gK0BzdWJzZWN0aW9uIENvbnRleHRfbGlm ZXRpbWUgTWFuYWdlIGxpZmV0aW1lOiBjcmVhdGlvbiwgdXNlLCBkZXN0cnVjdGlvbgo+IFsuLi5d Cj4gPiBBYm91dCB0aGlzIEkgaGF2ZSBtaXhlZCBmZWVsaW5ncywgYnV0IHRvIG1lIGl0IHNvdW5k cyBsaWtlIGEtcG9zdGVyaW9yaQo+ID4gcmF0aW9uYWxpemF0aW9uLgo+ID4gCj4gPiBJIGRvbid0 IHRoaW5rIHRoZXJlIGlzIGEgZ2VuZXJhbCBydWxlIHdpdGggdGhlIGFsbG9jYXRpb24vY2xvc2lu Zy9mcmVlCj4gPiBydWxlIGZvciB0aGUgdmFyaW91cyBGRm1wZWcgQVBJcywgYW5kIGdpdmluZyB0 aGUgaW1wcmVzc2lvbiB0aGF0IHRoaXMKPiA+IGlzIHRoZSBjYXNlIG1pZ2h0IGJlIG1pc2xlYWRp bmcuIEluIHByYWN0aWNlIHRoZSB1c2VyIG5lZWRzIHRvIG1hc3Rlcgo+ID4gb25seSBhIHNpbmds ZSBBUEkgYXQgYSB0aW1lIChlbmNvZGVyaW5nL2RlY29kaW5nLCBtdXhpbmcvZGVtdXhpbmcsCj4g PiBldGMuKSAgZWFjaCBvbmUgd2l0aCBwb3NzaWJseSBzbGlnaHQgZGlmZmVyZW5jZXMgaW4gaG93 IHRoZSB0ZXJtCj4gPiBjbG9zZS9hbGxvY2F0aW9uL2ZyZWUgYXJlIHVzZWQuIFRoaXMgaXMgcHJv YmFibHkgbm90IG9wdGltYWwsIGJ1dCBpbgo+ID4gcHJhY3RpY2UgaXQgd29ya3MgYXMgdGhlIHVz ZXIgZG8gbm90IHJlYWxseSBuZWVkIHRvIGtub3cgYWxsIHRoZQo+ID4gcG9zc2libGUgdXNlcyBv ZiB0aGUgQVBJIChzaGUgd2lsbCB3b3JrIHRocm91Z2ggd2hhdCBzaGUgaXMgaW50ZXJlc3RlZAo+ ID4gZm9yIHRoZSBqb2IgYXQgaGFuZCkuCj4gCj4gTm90ZTogSSdtIGFzc3VtaW5nICJ0aGlzIiBt ZWFucyAidGhpcyBzZWN0aW9uIiwgbm90ICJ0aGlzIHBhcmFncmFwaCIuCj4gQXBvbG9naWVzIGlm IGl0IHdhcyBpbnRlbmRlZCBhcyBhIHNwZWNpZmljIG5pdHBpY2sgYWJvdXQgY2xvc2luZyBmdW5j dGlvbnMuCj4gCj4gVEJILCBhIGxvdCBvZiB0aGlzIGRvY3VtZW50IGlzIGFib3V0IGludmVudGlu ZyBtZW1vcmFibGUgcnVsZXMgb2YgdGh1bWIuCgo+IFRoZSBhbHRlcm5hdGl2ZSBpcyB0byBzYXkg IkZGbXBlZyBkZXZzIGNhbid0IGFncmVlIG9uIGFuIGFuc3dlciwgc28gdGhleSBqdXN0Cj4gbGVm dCB5b3UgdG8gbWVtb3Jpc2UgMywwMDArIHNwZWNpYWwgY2FzZXMiLgoKVGhpcyBpcyBub3Qgd2hh dCBtb3N0IHBlb3BsZSBkby4gWW91IGRvbid0IGhhdmUgdG8gcmVhZCBhbGwgdGhlCm1hbnVhbCwg ZXNwZWNpYWxseSB5b3UgZG9uJ3QgaGF2ZSB0byBtZW1vcml6ZSB0aGUgY29tcGxldGUgQVBJLCBi dXQKb25seSB0aGUgcmVsZXZhbnQgcGFydCBmb3IgdGhlIHRhc2sgYXQgaGFuZC4gSWYgeW91IG5l ZWQgdG8gbGVhcm4KYWJvdXQgZGVjb2RpbmcsIHlvdSB3b3VsZCBwcm9iYWJseSBzdGFydCB3aXRo IHRoZSBkZWNvZGluZyBBUEkKKGxpYmF2Y29kZWMvYXZjb2RlYy5oIC0gd2hpY2ggaXMgdW5mb3J0 dW5hdGx5IHByZXR0eSBtdWNoIGNvbXBsZXgKYmVjYXVzZSB0aGUgcHJvYmxlbSBpcyBjb21wbGV4 KSwgYW5kIHlvdSBjYW4gaWdub3JlIHByZXR0eSBtdWNoCmV2ZXJ5dGhpbmcgZWxzZS4gSWYgeW91 IG9ubHkgbmVlZCB0byB3b3JrIHdpdGggaGFzaCBtZXRob2RzLCB5b3Ugb25seQpuZWVkIHRvIGxl YXJuIGFib3V0IHRoYXQgQVBJLgoKU28gaW4gZ2VuZXJhbCwgeW91IG9ubHkgbGVhcm4gdGhlIHNt YWxsZXIgYml0cyBuZWVkZWQgZm9yIHRoZSB0YXNrIGF0CmhhbmQuIEZvciBleGFtcGxlIEkgbmV2 ZXIgdXNlZCB0aGUgYXZfYW1iaWVudF92aWV3aW5nX2Vudmlyb25tZW50IEFQSSwKYW5kIEkgd2ls bCBwcm9iYWJseSBuZXZlciB3aWxsLgoKTW9yZSByZWFsaXN0aWNhbGx5LCBwZW9wbGUgbGVhcm4g ZnJvbSBleGFtcGxlcywgc28gdGhhdCdzIHdoeSB3ZQpzaG91bGQgaW1wcm92ZSBkb2MvZXhhbXBs ZXMuIGRveHkgaXMgbW9zdGx5IGZvciBwcm92aWRpbmcgYSBjb21wbGV0ZQpyZWZlcmVuY2UgaW4g Y2FzZSB5b3Ugd2FudCB0byBmaW5lIHR1bmUgYW4gYWxyZWFkeSB3b3JraW5nIHBpZWNlIG9mCmNv ZGUgb3IgeW91IGhhdmUgcHJvYmxlbXMgdW5kZXJzdGFuZGluZyBzcGVjaWZpYyBiaXRzIChob3cg YXJlCnRpbWVzdGFtcHMgaGFuZGxlZD8gV2hlbiBzaG91bGQgSSByZWYvdW5yZWYgYSBmcmFtZT8g SG93IGNhbiBJIGdldCB0aGUKbmFtZSBvZiBhIGNoYW5uZWwgbGF5b3V0PykuCgpVc3VhbGx5IGl0 IGlzIGEgbWl4ZWQgcHJvY2VzcyAoeW91IHJlYWQgdGhlIEFQSSBkb2MsIG9yIHlvdSByZWFkIHRo ZQpleGFtcGxlcyB0byBnZXQgdGhlIGdlbmVyYWwgaWRlYSwgYW5kIHlvdSBpbnRlcnBvbGF0ZSBi ZXR3ZWVuIHRoZQp0d28pLgoKPiBMZXQncyBhc3N1bWUgbGVhcm5pbmcgdGhlIHdob2xlIG9mIEZG bXBlZyBtZWFucyB1bmRlcnN0YW5kaW5nIDMsMDAwIHRva2Vucwo+IChJJ20gbm90IHN1cmUgdGhl IGV4YWN0IGNvdW50IGluIDcuMCwgYnV0IGl0J3MgYWJvdXQgdGhhdCBudW1iZXIgaWYgeW91IGRv bid0Cj4gaW5jbHVkZSBpbmRpdmlkdWFsIG1lbWJlcnMgb2Ygc3RydWN0cywgYXJndW1lbnRzIHRv IGZ1bmN0aW9ucyBldGMuKS4gIExldCdzCj4gYWxzbyBhc3N1bWUgaXQgdGFrZXMgYW4gYXZlcmFn ZSBvZiB0ZW4gbWludXRlcyB0byBsZWFybiBlYWNoIHRva2VuIChvYnZpb3VzbHkKPiB0aGF0IHZh cmllcyAtIEFWX0xPR19QQU5JQyB3aWxsIHRha2UgbGVzcywgQVZDb2RlY0NvbnRleHQgd2lsbCB0 YWtlIG1vcmUpLgo+IFRoYXQgbWVhbnMgeW91J2QgaGF2ZSB0byBzcGVuZCA4IGhvdXJzIGEgZGF5 IGV2ZXJ5IGRheSBmb3Igb3ZlciB0d28gbW9udGhzCj4gdG8gbGVhcm4gRkZtcGVnLgoKPiBPYnZp b3VzbHkgdGhlcmUgYXJlIHVzYWJsZSBzdWJzZXRzLCBidXQgdGhleSBtb3N0bHkgY3V0IG91dCB0 aGUKPiBzaW1wbGUgdGhpbmdzLCBzbyBkb24ndCBzYXZlIG5lYXJseSBhcyBtdWNoIHRpbWUgYXMg eW91J2QgdGhpbmsuICBJZgo+IHlvdSB3YW50IHBlb3BsZSB0byBwaWNrIHVwIEZGbXBlZywgdGhl eSBuZWVkIHRvIGxlYXJuIGEgdXNlZnVsCj4gc3Vic2V0IGluIGFib3V0IDggaG91cnMsIHdoaWNo IHJlcXVpcmVzIGEgZHJhc3RpY2FsbHkgc2ltcGxpZmllZAo+IGV4cGxhbmF0aW9uLgoKSSBhZ3Jl ZSwgSSdtIGZpbmUgd2l0aCBnaXZpbmcgYSBoaWdoIGxldmVsIGRlc2NyaXB0aW9uIG9mIHdoYXQg d2UgbWVhbgpieSAiY29udGV4dCIgLSBidXQgcHJvYmFibHkgb25lIHBhcmFncmFwaCBvciB0d28g c2hvdWxkIGJlIGVub3VnaCwgYnV0CmFkZGluZyB0b28gbXVjaCBpbmZvcm1hdGlvbiBtaWdodCBn ZXQgdGhlIGV4YWN0IG9wcG9zaXRlIGVmZmVjdAooZXhwb3NpbmcgbW9yZSBpbmZvcm1hdGlvbiB0 aGFuIG5lZWRlZCAtIGFzc3VtaW5nIHRoZSByZWFkZXIgaXMKZmFtaWxpYXIgd2l0aCB0aGUgQyBs YW5ndWFnZSwgd2hpY2ggd2Ugc2hvdWxkIGFzc3VtZSkuCgo+ICh0aGUgYWJvdmUgaXMgY2xvc2Vs eSByZWxhdGVkIHRvIGFuIGFyZ3VtZW50IGZyb20gYSByZWNlbnQgcG9zdFsxXSwKPiBidXQgdGhl IG51bWJlcnMgbWlnaHQgaGVscCBleHBsYWluIHRoZSBzY2FsZSBvZiB0aGUgY2hhbGxlbmdlKQo+ IAo+IFRoZXJlIG1heSBub3QgYmUgYW4gZXhwbGljaXQgcnVsZSBmb3IgY29udGV4dCBsaWZldGlt ZXMsIGJ1dCBJJ3ZlIGxvb2tlZCBhdCB0aGUKPiBjb2RlIGNhcmVmdWxseSBlbm91Z2ggdG8gaGF2 ZSBhIG51YW5jZWQgb3BpbmlvbiBhYm91dCB0aGUgbnVtYmVyIG9mIHRva2VucywKPiBhbmQgdGhl IGVkZ2llc3QgY2FzZSBJJ3ZlIGZvdW5kIHNvIGZhciBpcyBzd3JfYWxsb2Nfc2V0X29wdHMyKCkg KHNlZSBhYm92ZSkuCj4gSSdtIG9wZW4gdG8gY291bnRlcmV4YW1wbGVzLCBidXQgdGhlIG1vZGVs IGRpc2N1c3NlZCBpbiB0aGlzIHNlY3Rpb24gZmVlbHMKPiBwcmV0dHkgcmVsaWFibGUuCgpzd3Jf YWxsb2Nfc2V0X29wdHMoKSBpcyBhbiB1bmZvcnR1bmF0ZSBjYXNlLCBwcm9iYWJseSBpdCB3b3Vs ZCBiZQpiZXR0ZXIgdG8gZml4IHRoZSBBUEkgdG8gaGF2ZSBhIGRlZGljYXRlZCBzZXRfb3B0cyBp biBwbGFjZSBvZgphZ2dyZWdhdGluZyB0d28gb3BlcmF0aW9ucyAtIG9uZSBvZiB0aGUgaXNzdWVz IGJlaW5nIHRoYXQgdGhlIGZ1bmN0aW9uCmNhbm5vdCBkaXN0aW5ndWlzaCB0aGUgY2FzZSBvZiBh bGxvY2F0aW9uIGZhaWx1cmUgKEVOT01FTSkgZnJvbQppbnZhbGlkIHBhcmFtZXRlcnMgKEVJTlZB TCkuCgpUaGF0IHNhaWQsIEkgd291bGQgbm90IG1pbmQga2VlcGluZyB0aGUgZ2VuZXJhbCBkaXNj dXNzaW9uLCBidXQKcHJvYmFibHkgSSdkIGN1dCB0aGUgcGFydCBhYm91dCAiZmluYWxpemUiIHRv IGF2b2lkIHRoZSByZWZlcmVuY2UgdG8KdGhlIEMrKyBsYW5ndWFnZSwgaW4gZ2VuZXJhbCBJJ2Qg YXZvaWQgY29tcGFyaXNvbnMgd2l0aCBDKysgYWxsIGFyb3VuZAp0aGUgcGxhY2UuCgo+ID4gPiAr Cj4gPiA+ICtAc3Vic2VjdGlvbiBDb250ZXh0X2F2b3B0aW9ucyBDb25maWd1cmF0aW9uIG9wdGlv bnM6IEFWT3B0aW9ucy1lbmFibGVkIHN0cnVjdHMKPiA+ID4gKwo+ID4gCj4gPiA+ICtUaGUgQHJl ZiBhdm9wdGlvbnMgIkFWT3B0aW9ucyBBUEkiIGlzIGEgZnJhbWV3b3JrIHRvIGNvbmZpZ3VyZSB1 c2VyLWZhY2luZwo+ID4gPiArb3B0aW9ucywgZS5nLiBvbiB0aGUgY29tbWFuZC1saW5lIG9yIGlu IEdVSSBjb25maWd1cmF0aW9uIGZvcm1zLgo+ID4gCj4gPiBUaGlzIGxvb2tzIHdyb25nLiBBVk9w dGlvbnMgaXMgbm90IGF0IGFsbCBhYm91dCBDTEkgb3IgR1VJIG9wdGlvbnMsIGlzCj4gPiBqdXN0 IHNvbWUgd2F5IHRvIHNldC9nZXQgZmllbGRzICh0aGF0IGlzICJvcHRpb25zIikgZGVmaW5lZCBp biBhCj4gPiBzdHJ1Y3QgKGEgY29udGV4dCkgdXNpbmcgYSBoaWdoIGxldmVsIEFQSSBpbmNsdWRp bmc6IHNldHRpbmcgbXVsdGlwbGUKPiA+IG9wdGlvbnMgYXQgb25jZSAodGhyb3VnaCBhIHRleHR1 YWwgZW5jb2Rpbmcgb3IgYSBkaWN0aW9uYXJ5KSwKPiA+IGlucHV0L3JhbmdlIHZhbGlkYXRpb24s IHNldHRpbmcgbW9yZSBmaWVsZHMgYmFzZWQgb24gYSBzaW5nbGUgb3B0aW9uCj4gPiAoZS5nLiB0 aGUgc2l6ZSkgZXRjLgo+ID4gCj4gPiBUaGVuIHlvdSBjYW4gcXVlcnkgdGhlIG9wdGlvbnMgaW4g YSBnaXZlbiBzdHJ1Y3QgYW5kIGNyZWF0ZQo+ID4gY29ycmVzcG9uZGluZyBvcHRpb25zIGluIGEg VUksIGJ1dCB0aGlzIGlzIG5vdCB0aGUgcG9pbnQgb2YgQVZPcHRpb25zLgo+IAo+IFRoZXJlJ3Mg YSBwcm9ibGVtIGhlcmUgSSBoYXZlbid0IGJlZW4gY29tbXVuaWNhdGluZyBjbGVhcmx5IGVub3Vn aC4KPiBJIHRoaW5rIHRoYXQncyBiZWNhdXNlIEkndmUgdW5kZXJzdGF0ZWQgdGhlIHByb2JsZW0g aW4gdGhlIHBhc3QsCj4gc28gSSdsbCB0cnkgb3ZlcnN0YXRpbmcgaW5zdGVhZDoKPiAKPiAiT3B0 aW9uIiBpcyBhIG1lYW5pbmdsZXNzIG5vaXNlIHdvcmQuICBBIG5ldyBkZXZlbG9wZXIgbWlnaHQg YXNrICJpcyB0aGlzIGxpa2UgYQo+IGNvbW1hbmQtbGluZSBvcHRpb24sIG9yIGEgQ01ha2Ugb3B0 aW9uPyAgSXMgaXQgbGlrZSB0aG9zZSBQeXRob24gZnVuY3Rpb25zIHdpdGgKPiBhIG1pbGxpb24g a2V5d29yZCBhcmd1bWVudHMsIG9yIGEgY29uZmlnIGZpbGUgd2l0aCBzZW5zaWJsZSBkZWZhdWx0 cz8iLgo+IEFuc3dlcmluZyAiaXQgY2FuIGJlIGFueSBvZiB0aG9zZSBpZiB5b3UgbmVlZCBpdCB0 byBiZSIgbWlnaHQgaGVscCBhbiBhZHZhbmNlZAo+IHVzZXIgKG5vdCBvdXIgYXVkaWVuY2UpLCBi dXQgaXMgYmV3aWxkZXJpbmcgdG8gYSBuZXdiaWUgd2hvIG5lZWRzIGEgcm91Z2ggZ3VpZGUKPiBm b3IgaG93IHRoZXkncmUgbGlrZWx5IHRvIHVzZSBpdC4gIFRoZSBvbmx5IHNvbHV0aW9uIHRoYXQn cyB1c2VmdWwgdG8gYSBuZXdiaWUKPiBpcyB0byBwcm92aWRlIGEgZnJhbWUgb2YgcmVmZXJlbmNl LCBwcmVmZXJhYmx5IGluIHRoZSBmb3JtIG9mIHNvbWV0aGluZyB0aGV5Cj4gYWxyZWFkeSBrbm93 IGhvdyB0byB1c2UuCgpUaGlzIGlzIHRoZSBkZWZpbml0aW9uIEkgZ2F2ZToKCltBVk9wdGlvbnMg c3lzdGVtIGlzXSBqdXN0IHNvbWUgd2F5IHRvIHNldC9nZXQgZmllbGRzICh0aGF0IGlzCiJvcHRp b25zIikgZGVmaW5lZCBpbiBhIHN0cnVjdCAoYSBjb250ZXh0KSB1c2luZyBhIGhpZ2ggbGV2ZWwg QVBJCmluY2x1ZGluZzogc2V0dGluZyBtdWx0aXBsZSBvcHRpb25zIGF0IG9uY2UgKHRocm91Z2gg YSB0ZXh0dWFsCmVuY29kaW5nIG9yIGEgZGljdGlvbmFyeSksIGlucHV0L3JhbmdlIHZhbGlkYXRp b24sIHNldHRpbmcgbW9yZSBmaWVsZHMKYmFzZWQgb24gYSBzaW5nbGUgb3B0aW9uIChlLmcuIHRo ZSBzaXplKSBldGMuCgoiU2V0dGluZyBvcHRpb25zIiBvbiBhIHN0cnVjdC9jb250ZXh0IHdpdGgg QVZPcHRpb25zIG1lYW5zIHRvIHNldApfZmllbGRzXyBvbiB0aGUgc3RydWN0LCBmb2xsb3dpbmcg dGhlIHZlcnkgc3BlY2lmaWMgcnVsZXMgZGVmaW5lZCBieQpBVk9wdGlvbnMuCgpTbyBpdCdzIG5v dCBsaWtlICJpdCBjYW4gYmUgYW55IG9mIHRob3NlIGlmIHlvdSBuZWVkIGl0IHRvIGJlIiwgYnV0 IGl0CmhhcyBhIHZlcnkgc3BlY2lmaWMgbWVhbmluZy4KCj4gSGF2aW5nIHNhaWQgYWxsIHRoYXQs IHllcyB0aGlzIHBhcnRpY3VsYXIgYW5zd2VyIGlzIHdyb25nLiAgQ291bGQKPiB5b3UgYXBwbHkg WzJdIHNvIEkgY2FuIHN0YXJ0IHRoaW5raW5nIGFib3V0IHdoYXQgdG8gcmVwbGFjZSBpdCB3aXRo PwoKSSdsbCBoYXZlIGEgbG9vayBhdCBpdC4KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdApmZm1wZWctZGV2ZWxA ZmZtcGVnLm9yZwpodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2 ZWwKClRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbApmZm1wZWctZGV2 ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgo=