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 3448A4AAA4 for ; Sun, 12 May 2024 01:52:46 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 3200268D5DE; Sun, 12 May 2024 04:52:44 +0300 (EEST) Received: from mail-pf1-f171.google.com (mail-pf1-f171.google.com [209.85.210.171]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6650868D5B3 for ; Sun, 12 May 2024 04:52:37 +0300 (EEST) Received: by mail-pf1-f171.google.com with SMTP id d2e1a72fcca58-6f45020ac2cso2633285b3a.0 for ; Sat, 11 May 2024 18:52:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1715478755; x=1716083555; darn=ffmpeg.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=oyTGvnCtBFzRZBnvNDRAyyqgLOYpupKmWxqJHtmJI0Y=; b=VeHSm3Hztsal3/5hWnSAoBZw4CU5GEP3TWvWWbcKkyUhut1LCIjDWyEnOBWoxFz43r 0kKy2MAiI6xDoXXogVHDx/6joSwElREQfEFtWYQK3NUoJ0TOVDZG5jRaX62kClvibgam qrOECHBNAU5x2yF3e2WxNV2WrJBwFIB9N6mZv0+hshMw74U5QRLHuGPEl6ZtejmYDYT9 5KL2qwrbSKOhDnXwqAcG4VmMs/Z5L8hp82fxMuCNf034QR5nj+uP5zFXjw68oZ5ovM2f jRFO3cBiECzgDk5Q0+3KSj9NYPeQU8dyvIg3F+NEg669AxgK/js81IHJW3dEELLArgsx FJsA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1715478755; x=1716083555; h=content-transfer-encoding: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=oyTGvnCtBFzRZBnvNDRAyyqgLOYpupKmWxqJHtmJI0Y=; b=p5RNFRpDkHXLGtq5jWrSUkFhOfHHRI1hGgHAGay/rEQtReyZ4FzhBwayLGXllBmPcF XogbxU1Rr5b1qdMhTy6fH5GDpZhZ+zAnclUDPCdY/W4DmgH8pyVFvoucZRV86p3fYgw+ sf1yp5B29ZMstq+ZJmsXKRWpwj/GnZmTrT20+6JEPLWOqJCn9ToTVJeYx5AZuiDIPKSn IDioiQqTBVlkD2+6xs9mi3/5oa0p5OCqM4AxbSGJHv60Ykszi7Dx/O8E9w9DD8G7TgTi 6IVgNCweoyElliWlObmzzOkyao8LAuOeI/a5lF0NF6k7K9egtK57q0FXoLICfTymgzAk UcBA== X-Gm-Message-State: AOJu0Yyh48+siXwaIGaqjuNJ2LsXTvx6cxj4kjAUckvjDXLzSGVZEQCn aphtSUetLPeoDNtcySHMAxjK9pC8EtuHCYn1nfr46UaHy8mmsdfV9DI9p0qzVnJzBWOcMcbMfql gPVjnHwkL/Le4B1GEWyuccl2kzN8= X-Google-Smtp-Source: AGHT+IE+G2fn1+kwuU+l7JWhhXxJVTI0IQgtkytLgUWaDKfOGJcyEtMBjg0GoSHnr9776DdqLT9NilLFR1vd/tcZtjE= X-Received: by 2002:a05:6a21:18c:b0:1af:8a3a:35d7 with SMTP id adf61e73a8af0-1afde1b6ec5mr6527888637.39.1715478755274; Sat, 11 May 2024 18:52:35 -0700 (PDT) MIME-Version: 1.0 References: <821cf833-ed3d-4068-92fb-01b247b767ee@gmail.com> In-Reply-To: <821cf833-ed3d-4068-92fb-01b247b767ee@gmail.com> From: Cameron Gutman Date: Sat, 11 May 2024 20:52:23 -0500 Message-ID: To: ractyfree@gmail.com Subject: Re: [FFmpeg-devel] [PATCH 2/2] avcodec/videotoolbox: av1 decoding not copying the sequence header obu into the bitstream 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: 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: T24gTW9uLCBNYXkgNiwgMjAyNCBhdCAzOjQ14oCvUE0g0KfQtdGA0L3QtdC90LrQviDQoNGD0YHQ u9Cw0L0gPHJhY3R5ZnJlZUBnbWFpbC5jb20+IHdyb3RlOgo+Cj4gU2lnbmVkLW9mZi1ieTogQ2hl cm5lbmtvIFJ1c2xhbiA8cmFjdHlmcmVlQGdtYWlsLmNvbT4KPiAtLS0KPiAgIGxpYmF2Y29kZWMv dmlkZW90b29sYm94X2F2MS5jIHwgMTAyICsrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0t LS0KPiAgIDEgZmlsZSBjaGFuZ2VkLCA3MiBpbnNlcnRpb25zKCspLCAzMCBkZWxldGlvbnMoLSkK Pgo+IGRpZmYgLS1naXQgYS9saWJhdmNvZGVjL3ZpZGVvdG9vbGJveF9hdjEuYyBiL2xpYmF2Y29k ZWMvdmlkZW90b29sYm94X2F2MS5jCj4gaW5kZXggN2Y3MjcwYzQ2Ni4uNzM2ZjI1NDhkYiAxMDA2 NDQKPiAtLS0gYS9saWJhdmNvZGVjL3ZpZGVvdG9vbGJveF9hdjEuYwo+ICsrKyBiL2xpYmF2Y29k ZWMvdmlkZW90b29sYm94X2F2MS5jCj4gQEAgLTE5LDUwICsxOSw5MCBAQAo+ICAgICogRm91bmRh dGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQQo+ IDAyMTEwLTEzMDEgVVNBCj4gICAgKi8KPiAgIC0jaW5jbHVkZSAibGliYXZmb3JtYXQvYXZpby5o Igo+IC0jaW5jbHVkZSAibGliYXZmb3JtYXQvYXZpb19pbnRlcm5hbC5oIgo+IC0jZGVmaW5lIENB TExFRF9GUk9NX0FWQ09ERUMgMQo+IC0jaW5jbHVkZSAibGliYXZmb3JtYXQvYXYxLmMiCj4gLSN1 bmRlZiBDQUxMRURfRlJPTV9BVkNPREVDCj4gICAtI2luY2x1ZGUgImxpYmF2dXRpbC9hdnV0aWwu aCIKPiAtI2luY2x1ZGUgImxpYmF2dXRpbC9mcmFtZS5oIgo+IC0jaW5jbHVkZSAibGliYXZ1dGls L3BpeGZtdC5oIgo+ICsjaW5jbHVkZSAibGliYXZ1dGlsL21lbS5oIgo+ICAgICNpbmNsdWRlICJh djFkZWMuaCIKPiAtI2luY2x1ZGUgImNvZGVjX2lkLmgiCj4gICAjaW5jbHVkZSAiaHdhY2NlbF9p bnRlcm5hbC5oIgo+ICAgI2luY2x1ZGUgImludGVybmFsLmgiCj4gICAjaW5jbHVkZSAidnRfaW50 ZXJuYWwuaCIKPiAgIC1DRkRhdGFSZWYgZmZfdmlkZW90b29sYm94X2F2MWNfZXh0cmFkYXRhX2Ny ZWF0ZShBVkNvZGVjQ29udGV4dCAqYXZjdHgpCj4gKwo+ICtDRkRhdGFSZWYgZmZfdmlkZW90b29s Ym94X2F2MWNfZXh0cmFkYXRhX2NyZWF0ZShBVkNvZGVjQ29udGV4dCAqYXZjdHgpIHsKPiArCj4g KyAgICBBVjFEZWNDb250ZXh0ICpzID0gYXZjdHgtPnByaXZfZGF0YTsKPiArICAgIGF2Y3R4LT5l eHRyYWRhdGEgPSBhdl9mYXN0X3JlYWxsb2MoYXZjdHgtPmV4dHJhZGF0YSwgKwo+ICZhdmN0eC0+ ZXh0cmFkYXRhX3NpemUsICsgICAgICAgICAgICBzLT5zZXFfZGF0YV9yZWYtPnNpemUgKyA0KTsK PiArICAgIGF2Y3R4LT5leHRyYWRhdGFfc2l6ZSA9IHMtPnNlcV9kYXRhX3JlZi0+c2l6ZSArIDQ7 Cj4gKyAgICBhdmN0eC0+ZXh0cmFkYXRhWzBdID0gMHg4MTsgLy8gdmVyc2lvbiBhbmQgbWFya2Vy IChjb25zdGFudCkKPiArICAgIGF2Y3R4LT5leHRyYWRhdGFbMV0gPSBzLT5yYXdfc2VxLT5zZXFf cHJvZmlsZSA8PCA1IHwKPiBzLT5yYXdfc2VxLT5zZXFfbGV2ZWxfaWR4WzBdOwo+ICsgICAgYXZj dHgtPmV4dHJhZGF0YVsyXSA9IHMtPnJhd19zZXEtPnNlcV90aWVyWzBdIDw8IDcgfAo+ICsgICAg ICAgICAgICAgICAgICAgICAgICBzLT5yYXdfc2VxLT5jb2xvcl9jb25maWcuaGlnaF9iaXRkZXB0 aCA8PCA2IHwgKwo+ICAgICAgICAgICAgICAgICAgICAgICAgIHMtPnJhd19zZXEtPmNvbG9yX2Nv bmZpZy50d2VsdmVfYml0IDw8IDUgfAo+ICsgICAgICAgICAgICAgICAgICAgICAgICBzLT5yYXdf c2VxLT5jb2xvcl9jb25maWcubW9ub19jaHJvbWUgPDwgNCB8Cj4gKyAgICAgICAgICAgICAgICAg ICAgICAgIHMtPnJhd19zZXEtPmNvbG9yX2NvbmZpZy5zdWJzYW1wbGluZ194IDw8IDMgfAo+ICsg ICAgICAgICAgICAgICAgICAgICAgICBzLT5yYXdfc2VxLT5jb2xvcl9jb25maWcuc3Vic2FtcGxp bmdfeSA8PCAyIHwKPiArICAgICAgICAgICAgICAgICAgICAgICAgcy0+cmF3X3NlcS0+Y29sb3Jf Y29uZmlnLmNocm9tYV9zYW1wbGVfcG9zaXRpb247Cj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKwo+ICsgICAgaWYg KHMtPnJhd19zZXEtPmluaXRpYWxfZGlzcGxheV9kZWxheV9wcmVzZW50X2ZsYWcpICsKPiBhdmN0 eC0+ZXh0cmFkYXRhWzNdID0gMCA8PCA1IHwKPiBzLT5yYXdfc2VxLT5pbml0aWFsX2Rpc3BsYXlf ZGVsYXlfcHJlc2VudF9mbGFnIDw8IDQgfAo+IHMtPnJhd19zZXEtPmluaXRpYWxfZGlzcGxheV9k ZWxheV9taW51c18xWzBdOwo+ICsgICAgZWxzZQo+ICsgICAgICAgIGF2Y3R4LT5leHRyYWRhdGFb M10gPSAweDAwOwo+ICsgICAgbWVtY3B5KGF2Y3R4LT5leHRyYWRhdGEgKyA0LCBzLT5zZXFfZGF0 YV9yZWYtPmRhdGEsCj4gcy0+c2VxX2RhdGFfcmVmLT5zaXplKTsKPiArICAgIENGRGF0YVJlZiBk YXRhID0gQ0ZEYXRhQ3JlYXRlKGtDRkFsbG9jYXRvckRlZmF1bHQsCj4gYXZjdHgtPmV4dHJhZGF0 YSwgYXZjdHgtPmV4dHJhZGF0YV9zaXplKTsKPiArICAgIHJldHVybiBkYXRhOwo+ICt9Owo+ICsK PiArCj4gK3N0YXRpYyBpbnQgdmlkZW90b29sYm94X2F2MV9kZWNvZGVfcGFyYW1zKEFWQ29kZWND b250ZXh0ICphdmN0eCwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBpbnQgaGVhZGVyX3R5cGUsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgY29uc3QgdWludDhfdCAqYnVmZmVyLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHVpbnQzMl90IHNpemUpCj4gICB7Cj4gLSAgICBBVklPQ29udGV4dCAq cGI7Cj4gLSAgICB1aW50OF90ICpidWY7Cj4gLSAgICBDRkRhdGFSZWYgZGF0YSA9IE5VTEw7Cj4g LSAgICBpbnQgYnVmX3NpemUgPSAwOwo+IC0gICAgaW50IHJldCA9IGF2aW9fb3Blbl9keW5fYnVm KCZwYik7Cj4gLSAgICBpZiAocmV0IDwgMCkKPiAtICAgICAgICByZXR1cm4gTlVMTDsKPiArICAg IFZUQ29udGV4dCAqdnRjdHggPSBhdmN0eC0+aW50ZXJuYWwtPmh3YWNjZWxfcHJpdl9kYXRhOwo+ ICsgICAgdm9pZCAqdG1wOwo+ICAgLSAgICByZXQgPSBmZl9pc29tX3dyaXRlX2F2MWMocGIsIGF2 Y3R4LT5leHRyYWRhdGEsCj4gYXZjdHgtPmV4dHJhZGF0YV9zaXplLCAxKTsKPiAtICAgIGlmIChy ZXQgPCAwKQo+IC0gICAgICAgIGdvdG8gZmFpbDsKPiArICAgIHRtcCA9IGF2X2Zhc3RfcmVhbGxv Yyh2dGN0eC0+Yml0c3RyZWFtLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgJnZ0Y3R4LT5h bGxvY2F0ZWRfc2l6ZSwKPiArICAgICAgICAgICAgICAgICAgICAgICAgIHNpemUpOwoKVGhpcyBz aG91bGQgYmUgJ3NpemUgKyB2dGN0eC0+Yml0c3RyZWFtX3NpemUnIHJpZ2h0PwoKWW91J3JlIGdv aW5nIHRvIHdyaXRlIGZyb20gdnRjdHgtPmJpdHN0cmVhbV9zaXplIHRvCih2dGN0eC0+Yml0c3Ry ZWFtX3NpemUgKyBzaXplKS4KCj4gICAtICAgIGJ1Zl9zaXplID0gYXZpb19nZXRfZHluX2J1Zihw YiwgJmJ1Zik7Cj4gLSAgICBpZiAoYnVmX3NpemUpCj4gLSAgICAgICAgZGF0YSA9IENGRGF0YUNy ZWF0ZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBidWYsIGJ1Zl9zaXplKTsKPiArICAgIGlmICghdG1w KQo+ICsgICAgICAgIHJldHVybiBBVkVSUk9SKEVOT01FTSk7Cj4gICAtZmFpbDoKPiAtICAgIGZm aW9fZnJlZV9keW5fYnVmKCZwYik7Cj4gKyAgICB2dGN0eC0+Yml0c3RyZWFtID0gdG1wOwo+ICAg LSAgICByZXR1cm4gZGF0YTsKPiArICAgIC8vIGNvcHkgdGhlIHNlcXVlbmNlIGhlYWRlciBvYnUg aW50byB0aGUgYml0c3RyZWFtCj4gKyAgICBtZW1jcHkodnRjdHgtPmJpdHN0cmVhbSArIHZ0Y3R4 LT5iaXRzdHJlYW1fc2l6ZSwgKwo+IGJ1ZmZlciwgKyAgICAgICAgICAgIHNpemUpOwoKSXQgbG9v a3MgbGlrZSB5b3VyIG1haWwgY2xpZW50IG1hbmdsZWQgdGhlIHBhdGNoIGhlcmUuCgo+ICsKPiAr ICAgIHZ0Y3R4LT5iaXRzdHJlYW1fc2l6ZSArPSBzaXplOwo+ICsgICAgcmV0dXJuIDA7Cj4gICB9 Cj4gICAgc3RhdGljIGludCB2aWRlb3Rvb2xib3hfYXYxX3N0YXJ0X2ZyYW1lKEFWQ29kZWNDb250 ZXh0ICphdmN0eCwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj b25zdCB1aW50OF90ICpidWZmZXIsCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdWludDMyX3Qgc2l6ZSkKPiAgIHsKPiArCj4gKyAgICArICAgIFZUQ29udGV4dCAq dnRjdHggPSBhdmN0eC0+aW50ZXJuYWwtPmh3YWNjZWxfcHJpdl9kYXRhOwo+ICsgICAgdm9pZCAq dG1wOwo+ICsKPiArICAgIHRtcCA9IGF2X2Zhc3RfcmVhbGxvYyh2dGN0eC0+Yml0c3RyZWFtLAo+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgJnZ0Y3R4LT5hbGxvY2F0ZWRfc2l6ZSwKPiArICAg ICAgICAgICAgICAgICAgICAgICAgIHNpemUpOwo+ICsKClRoaXMgc2hvdWxkIGFsc28gYmUgc2l6 ZSArIHZ0Y3R4LT5iaXRzdHJlYW1fc2l6ZS4KCj4gKyAgICBpZiAoIXRtcCkKPiArICAgICAgICBy ZXR1cm4gQVZFUlJPUihFTk9NRU0pOwo+ICsKPiArICAgIHZ0Y3R4LT5iaXRzdHJlYW0gPSB0bXA7 Cj4gKwo+ICsgICAgLy8gY29weSB0aGUgZnJhbWUgZGF0YSBpbnRvIHRoZSBiaXRzdHJlYW0KPiAr ICAgIG1lbWNweSh2dGN0eC0+Yml0c3RyZWFtICsgdnRjdHgtPmJpdHN0cmVhbV9zaXplLCBidWZm ZXIsIHNpemUpOwo+ICsgICAgdnRjdHgtPmJpdHN0cmVhbV9zaXplICs9IHNpemU7Cj4gICAgICAg cmV0dXJuIDA7Cj4gICB9Cj4gICBAQCAtNzAsMTcgKzExMCwxOCBAQCBzdGF0aWMgaW50Cj4gdmlk ZW90b29sYm94X2F2MV9kZWNvZGVfc2xpY2UoQVZDb2RlY0NvbnRleHQgKmF2Y3R4LAo+ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpidWZm ZXIsCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90 IHNpemUpCj4gICB7Cj4gLSAgICBWVENvbnRleHQgKnZ0Y3R4ID0gYXZjdHgtPmludGVybmFsLT5o d2FjY2VsX3ByaXZfZGF0YTsKPiAtCj4gLSAgICByZXR1cm4gZmZfdmlkZW90b29sYm94X2J1ZmZl cl9jb3B5KHZ0Y3R4LCBidWZmZXIsIHNpemUpOwo+ICsgICAgcmV0dXJuIDA7Cj4gICB9Cj4gICAg c3RhdGljIGludCB2aWRlb3Rvb2xib3hfYXYxX2VuZF9mcmFtZShBVkNvZGVjQ29udGV4dCAqYXZj dHgpCj4gICB7Cj4gICAgICAgY29uc3QgQVYxRGVjQ29udGV4dCAqcyA9IGF2Y3R4LT5wcml2X2Rh dGE7Cj4gKyAgICBWVENvbnRleHQgKnZ0Y3R4ID0gYXZjdHgtPmludGVybmFsLT5od2FjY2VsX3By aXZfZGF0YTsKPiAgICAgICBBVkZyYW1lICpmcmFtZSA9IHMtPmN1cl9mcmFtZS5mOwo+ICAgLSAg ICByZXR1cm4gZmZfdmlkZW90b29sYm94X2NvbW1vbl9lbmRfZnJhbWUoYXZjdHgsIGZyYW1lKTsK PiArICAgIGludCByZXQgPSAgZmZfdmlkZW90b29sYm94X2NvbW1vbl9lbmRfZnJhbWUoYXZjdHgs IGZyYW1lKTsKPiArICAgIHZ0Y3R4LT5iaXRzdHJlYW1fc2l6ZSA9IDA7Cj4gKyAgICByZXR1cm4g cmV0Owo+ICAgfQo+ICAgIGNvbnN0IEZGSFdBY2NlbCBmZl9hdjFfdmlkZW90b29sYm94X2h3YWNj ZWwgPSB7Cj4gQEAgLTg5LDYgKzEzMCw3IEBAIGNvbnN0IEZGSFdBY2NlbCBmZl9hdjFfdmlkZW90 b29sYm94X2h3YWNjZWwgPSB7Cj4gICAgICAgLnAuaWQgICAgICAgICAgID0gQVZfQ09ERUNfSURf QVYxLAo+ICAgICAgIC5wLnBpeF9mbXQgICAgICA9IEFWX1BJWF9GTVRfVklERU9UT09MQk9YLAo+ ICAgICAgIC5hbGxvY19mcmFtZSAgICA9IGZmX3ZpZGVvdG9vbGJveF9hbGxvY19mcmFtZSwKPiAr ICAgIC5kZWNvZGVfcGFyYW1zICA9IHZpZGVvdG9vbGJveF9hdjFfZGVjb2RlX3BhcmFtcywKPiAg ICAgICAuc3RhcnRfZnJhbWUgICAgPSB2aWRlb3Rvb2xib3hfYXYxX3N0YXJ0X2ZyYW1lLAo+ICAg ICAgIC5kZWNvZGVfc2xpY2UgICA9IHZpZGVvdG9vbGJveF9hdjFfZGVjb2RlX3NsaWNlLAo+ICAg ICAgIC5lbmRfZnJhbWUgICAgICA9IHZpZGVvdG9vbGJveF9hdjFfZW5kX2ZyYW1lLAo+IC0tCj4g Mi4zOS4zIChBcHBsZSBHaXQtMTQ2KQo+Cj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KPiBmZm1wZWctZGV2ZWwgbWFpbGluZyBsaXN0Cj4gZmZtcGVnLWRl dmVsQGZmbXBlZy5vcmcKPiBodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1w ZWctZGV2ZWwKPgo+IFRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbAo+ IGZmbXBlZy1kZXZlbC1yZXF1ZXN0QGZmbXBlZy5vcmcgd2l0aCBzdWJqZWN0ICJ1bnN1YnNjcmli ZSIuCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmZmbXBl Zy1kZXZlbCBtYWlsaW5nIGxpc3QKZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcKaHR0cHM6Ly9mZm1w ZWcub3JnL21haWxtYW4vbGlzdGluZm8vZmZtcGVnLWRldmVsCgpUbyB1bnN1YnNjcmliZSwgdmlz aXQgbGluayBhYm92ZSwgb3IgZW1haWwKZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVnLm9yZyB3 aXRoIHN1YmplY3QgInVuc3Vic2NyaWJlIi4K