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 3F51440F4C for ; Mon, 3 Jan 2022 00:27:39 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id D434B68B195; Mon, 3 Jan 2022 02:27:36 +0200 (EET) Received: from haasn.dev (haasn.dev [78.46.187.166]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id EAB2168041C for ; Mon, 3 Jan 2022 02:27:29 +0200 (EET) Received: from haasn.dev (unknown [10.30.0.2]) by haasn.dev (Postfix) with ESMTP id 669504949A; Mon, 3 Jan 2022 01:27:28 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=haasn.xyz; s=mail; t=1641169648; bh=RhpI1hfqZRTEN1NXLhEs/KxNS+n4y61KIKkYhXeShg4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=GQAloWgyOdlTCtrPMRyHzxM9B9hmUT4ZWT4RqNGJ9jeez1+v1wbggSF0Q3KSVsCnH WIw1S6WNT+ZPJCWkrfSTU1Vv9dCNE9dPwmTyqHN7Bre0IbfOd32E3FBvc+s7Lv/5hH NYdSzNAL5esrvP7Dqvp9nBcqfummAV20dM+Md7uE= From: Niklas Haas To: ffmpeg-devel@ffmpeg.org Date: Mon, 3 Jan 2022 01:27:24 +0100 Message-Id: <20220103002727.38840-3-ffmpeg@haasn.xyz> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220103002727.38840-1-ffmpeg@haasn.xyz> References: <20220103002727.38840-1-ffmpeg@haasn.xyz> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v10 3/6] ffprobe: Support AV_FRAME_DATA_DOVI_METADATA 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: Niklas Haas , =?UTF-8?q?Jan=20Ekstr=C3=B6m?= 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: RnJvbTogSmFuIEVrc3Ryw7ZtIDxqZWVianBAZ21haWwuY29tPgoKQ28tYXV0aG9yZWQtYnk6IE5p a2xhcyBIYWFzIDxnaXRAaGFhc24uZGV2PgotLS0KIGZmdG9vbHMvZmZwcm9iZS5jIHwgMTczICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KIDEgZmlsZSBjaGFu Z2VkLCAxNzAgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9mZnRv b2xzL2ZmcHJvYmUuYyBiL2ZmdG9vbHMvZmZwcm9iZS5jCmluZGV4IDkwNmJiMDNiMTYuLjIwNTgy Y2E3YWMgMTAwNjQ0Ci0tLSBhL2ZmdG9vbHMvZmZwcm9iZS5jCisrKyBiL2ZmdG9vbHMvZmZwcm9i ZS5jCkBAIC0xNzUsNiArMTc1LDEwIEBAIHR5cGVkZWYgZW51bSB7CiAgICAgU0VDVElPTl9JRF9G UkFNRV9TSURFX0RBVEEsCiAgICAgU0VDVElPTl9JRF9GUkFNRV9TSURFX0RBVEFfVElNRUNPREVf TElTVCwKICAgICBTRUNUSU9OX0lEX0ZSQU1FX1NJREVfREFUQV9USU1FQ09ERSwKKyAgICBTRUNU SU9OX0lEX0ZSQU1FX1NJREVfREFUQV9DT01QT05FTlRfTElTVCwKKyAgICBTRUNUSU9OX0lEX0ZS QU1FX1NJREVfREFUQV9DT01QT05FTlQsCisgICAgU0VDVElPTl9JRF9GUkFNRV9TSURFX0RBVEFf UElFQ0VfTElTVCwKKyAgICBTRUNUSU9OX0lEX0ZSQU1FX1NJREVfREFUQV9QSUVDRSwKICAgICBT RUNUSU9OX0lEX0ZSQU1FX0xPRywKICAgICBTRUNUSU9OX0lEX0ZSQU1FX0xPR1MsCiAgICAgU0VD VElPTl9JRF9MSUJSQVJZX1ZFUlNJT04sCkBAIC0yMTksOSArMjIzLDEzIEBAIHN0YXRpYyBzdHJ1 Y3Qgc2VjdGlvbiBzZWN0aW9uc1tdID0gewogICAgIFtTRUNUSU9OX0lEX0ZSQU1FXSA9ICAgICAg ICAgICAgICB7IFNFQ1RJT05fSURfRlJBTUUsICJmcmFtZSIsIDAsIHsgU0VDVElPTl9JRF9GUkFN RV9UQUdTLCBTRUNUSU9OX0lEX0ZSQU1FX1NJREVfREFUQV9MSVNULCBTRUNUSU9OX0lEX0ZSQU1F X0xPR1MsIC0xIH0gfSwKICAgICBbU0VDVElPTl9JRF9GUkFNRV9UQUdTXSA9ICAgICAgICAgeyBT RUNUSU9OX0lEX0ZSQU1FX1RBR1MsICJ0YWdzIiwgU0VDVElPTl9GTEFHX0hBU19WQVJJQUJMRV9G SUVMRFMsIHsgLTEgfSwgLmVsZW1lbnRfbmFtZSA9ICJ0YWciLCAudW5pcXVlX25hbWUgPSAiZnJh bWVfdGFncyIgfSwKICAgICBbU0VDVElPTl9JRF9GUkFNRV9TSURFX0RBVEFfTElTVF0gPXsgU0VD VElPTl9JRF9GUkFNRV9TSURFX0RBVEFfTElTVCwgInNpZGVfZGF0YV9saXN0IiwgU0VDVElPTl9G TEFHX0lTX0FSUkFZLCB7IFNFQ1RJT05fSURfRlJBTUVfU0lERV9EQVRBLCAtMSB9LCAuZWxlbWVu dF9uYW1lID0gInNpZGVfZGF0YSIsIC51bmlxdWVfbmFtZSA9ICJmcmFtZV9zaWRlX2RhdGFfbGlz dCIgfSwKLSAgICBbU0VDVElPTl9JRF9GUkFNRV9TSURFX0RBVEFdID0gICAgIHsgU0VDVElPTl9J RF9GUkFNRV9TSURFX0RBVEEsICJzaWRlX2RhdGEiLCAwLCB7IFNFQ1RJT05fSURfRlJBTUVfU0lE RV9EQVRBX1RJTUVDT0RFX0xJU1QsIC0xIH0gfSwKLSAgICBbU0VDVElPTl9JRF9GUkFNRV9TSURF X0RBVEFfVElNRUNPREVfTElTVF0gPSAgICAgeyBTRUNUSU9OX0lEX0ZSQU1FX1NJREVfREFUQV9U SU1FQ09ERV9MSVNULCAidGltZWNvZGVzIiwgU0VDVElPTl9GTEFHX0lTX0FSUkFZLCB7IFNFQ1RJ T05fSURfRlJBTUVfU0lERV9EQVRBX1RJTUVDT0RFLCAtMSB9IH0sCi0gICAgW1NFQ1RJT05fSURf RlJBTUVfU0lERV9EQVRBX1RJTUVDT0RFXSA9ICAgICB7IFNFQ1RJT05fSURfRlJBTUVfU0lERV9E QVRBX1RJTUVDT0RFLCAidGltZWNvZGUiLCAwLCB7IC0xIH0gfSwKKyAgICBbU0VDVElPTl9JRF9G UkFNRV9TSURFX0RBVEFdID0gICAgIHsgU0VDVElPTl9JRF9GUkFNRV9TSURFX0RBVEEsICJzaWRl X2RhdGEiLCAwLCB7IFNFQ1RJT05fSURfRlJBTUVfU0lERV9EQVRBX1RJTUVDT0RFX0xJU1QsIFNF Q1RJT05fSURfRlJBTUVfU0lERV9EQVRBX0NPTVBPTkVOVF9MSVNULCAtMSB9IH0sCisgICAgW1NF Q1RJT05fSURfRlJBTUVfU0lERV9EQVRBX1RJTUVDT0RFX0xJU1RdID0gIHsgU0VDVElPTl9JRF9G UkFNRV9TSURFX0RBVEFfVElNRUNPREVfTElTVCwgInRpbWVjb2RlcyIsIFNFQ1RJT05fRkxBR19J U19BUlJBWSwgeyBTRUNUSU9OX0lEX0ZSQU1FX1NJREVfREFUQV9USU1FQ09ERSwgLTEgfSB9LAor ICAgIFtTRUNUSU9OX0lEX0ZSQU1FX1NJREVfREFUQV9USU1FQ09ERV0gPSAgICAgICB7IFNFQ1RJ T05fSURfRlJBTUVfU0lERV9EQVRBX1RJTUVDT0RFLCAidGltZWNvZGUiLCAwLCB7IC0xIH0gfSwK KyAgICBbU0VDVElPTl9JRF9GUkFNRV9TSURFX0RBVEFfQ09NUE9ORU5UX0xJU1RdID0geyBTRUNU SU9OX0lEX0ZSQU1FX1NJREVfREFUQV9DT01QT05FTlRfTElTVCwgImNvbXBvbmVudHMiLCBTRUNU SU9OX0ZMQUdfSVNfQVJSQVksIHsgU0VDVElPTl9JRF9GUkFNRV9TSURFX0RBVEFfQ09NUE9ORU5U LCAtMSB9IH0sCisgICAgW1NFQ1RJT05fSURfRlJBTUVfU0lERV9EQVRBX0NPTVBPTkVOVF0gPSAg ICAgIHsgU0VDVElPTl9JRF9GUkFNRV9TSURFX0RBVEFfQ09NUE9ORU5ULCAiY29tcG9uZW50Iiwg MCwgeyBTRUNUSU9OX0lEX0ZSQU1FX1NJREVfREFUQV9QSUVDRV9MSVNULCAtMSB9IH0sCisgICAg W1NFQ1RJT05fSURfRlJBTUVfU0lERV9EQVRBX1BJRUNFX0xJU1RdID0gICB7IFNFQ1RJT05fSURf RlJBTUVfU0lERV9EQVRBX1BJRUNFX0xJU1QsICJwaWVjZXMiLCBTRUNUSU9OX0ZMQUdfSVNfQVJS QVksIHsgU0VDVElPTl9JRF9GUkFNRV9TSURFX0RBVEFfUElFQ0UsIC0xIH0gfSwKKyAgICBbU0VD VElPTl9JRF9GUkFNRV9TSURFX0RBVEFfUElFQ0VdID0gICAgICAgIHsgU0VDVElPTl9JRF9GUkFN RV9TSURFX0RBVEFfUElFQ0UsICJzZWN0aW9uIiwgMCwgeyAtMSB9IH0sCiAgICAgW1NFQ1RJT05f SURfRlJBTUVfTE9HU10gPSAgICAgICAgIHsgU0VDVElPTl9JRF9GUkFNRV9MT0dTLCAibG9ncyIs IFNFQ1RJT05fRkxBR19JU19BUlJBWSwgeyBTRUNUSU9OX0lEX0ZSQU1FX0xPRywgLTEgfSB9LAog ICAgIFtTRUNUSU9OX0lEX0ZSQU1FX0xPR10gPSAgICAgICAgICB7IFNFQ1RJT05fSURfRlJBTUVf TE9HLCAibG9nIiwgMCwgeyAtMSB9LCAgfSwKICAgICBbU0VDVElPTl9JRF9MSUJSQVJZX1ZFUlNJ T05TXSA9ICAgeyBTRUNUSU9OX0lEX0xJQlJBUllfVkVSU0lPTlMsICJsaWJyYXJ5X3ZlcnNpb25z IiwgU0VDVElPTl9GTEFHX0lTX0FSUkFZLCB7IFNFQ1RJT05fSURfTElCUkFSWV9WRVJTSU9OLCAt MSB9IH0sCkBAIC0xODA5LDYgKzE4MTcsMTYgQEAgc3RhdGljIHZvaWQgd3JpdGVyX3JlZ2lzdGVy X2FsbCh2b2lkKQogICAgIHdyaXRlcl9wcmludF9zdHJpbmcodywgaywgcGJ1Zi5zdHIsIDApOyAg ICBcCiB9IHdoaWxlICgwKQogCisjZGVmaW5lIHByaW50X2xpc3RfZm10KGssIGYsIG4sIC4uLikg ZG8geyAgICAgICBcCisgICAgYXZfYnByaW50X2NsZWFyKCZwYnVmKTsgICAgICAgICAgICAgICAg ICAgICBcCisgICAgZm9yIChpbnQgaWR4ID0gMDsgaWR4IDwgbjsgaWR4KyspIHsgICAgICAgICBc CisgICAgICAgIGlmIChpZHggPiAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAg ICAgICAgICBhdl9icHJpbnRfY2hhcnMoJnBidWYsICcgJywgMSk7ICAgICBcCisgICAgICAgIGF2 X2JwcmludGYoJnBidWYsIGYsIF9fVkFfQVJHU19fKTsgICAgICBcCisgICAgfSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgd3JpdGVyX3ByaW50X3N0cmlu Zyh3LCBrLCBwYnVmLnN0ciwgMCk7ICAgICBcCit9IHdoaWxlICgwKQorCiAjZGVmaW5lIHByaW50 X2ludChrLCB2KSAgICAgICAgIHdyaXRlcl9wcmludF9pbnRlZ2VyKHcsIGssIHYpCiAjZGVmaW5l IHByaW50X3EoaywgdiwgcykgICAgICAgIHdyaXRlcl9wcmludF9yYXRpb25hbCh3LCBrLCB2LCBz KQogI2RlZmluZSBwcmludF9zdHIoaywgdikgICAgICAgICB3cml0ZXJfcHJpbnRfc3RyaW5nKHcs IGssIHYsIDApCkBAIC0xODU0LDYgKzE4NzIsMTUzIEBAIHN0YXRpYyBpbmxpbmUgaW50IHNob3df dGFncyhXcml0ZXJDb250ZXh0ICp3LCBBVkRpY3Rpb25hcnkgKnRhZ3MsIGludCBzZWN0aW9uX2lk CiAgICAgcmV0dXJuIHJldDsKIH0KIAorc3RhdGljIHZvaWQgcHJpbnRfZG92aV9tZXRhZGF0YShX cml0ZXJDb250ZXh0ICp3LCBjb25zdCBBVkRPVklNZXRhZGF0YSAqZG92aSkKK3sKKyAgICBpZiAo IWRvdmkpCisgICAgICAgIHJldHVybjsKKworICAgIHsKKyAgICAgICAgY29uc3QgQVZET1ZJUnB1 RGF0YUhlYWRlciAqaGRyICAgICA9IGF2X2RvdmlfZ2V0X2hlYWRlcihkb3ZpKTsKKyAgICAgICAg Y29uc3QgQVZET1ZJRGF0YU1hcHBpbmcgICAqbWFwcGluZyA9IGF2X2RvdmlfZ2V0X21hcHBpbmco ZG92aSk7CisgICAgICAgIGNvbnN0IEFWRE9WSUNvbG9yTWV0YWRhdGEgKmNvbG9yICAgPSBhdl9k b3ZpX2dldF9jb2xvcihkb3ZpKTsKKyAgICAgICAgQVZCUHJpbnQgcGJ1ZjsKKworICAgICAgICBh dl9icHJpbnRfaW5pdCgmcGJ1ZiwgMSwgQVZfQlBSSU5UX1NJWkVfVU5MSU1JVEVEKTsKKworICAg ICAgICAvLyBoZWFkZXIKKyAgICAgICAgcHJpbnRfaW50KCJycHVfdHlwZSIsICAgICAgICBoZHIt PnJwdV90eXBlKTsKKyAgICAgICAgcHJpbnRfaW50KCJycHVfZm9ybWF0IiwgICAgICBoZHItPnJw dV9mb3JtYXQpOworICAgICAgICBwcmludF9pbnQoInZkcl9ycHVfcHJvZmlsZSIsIGhkci0+dmRy X3JwdV9wcm9maWxlKTsKKyAgICAgICAgcHJpbnRfaW50KCJ2ZHJfcnB1X2xldmVsIiwgICBoZHIt PnZkcl9ycHVfbGV2ZWwpOworICAgICAgICBwcmludF9pbnQoImNocm9tYV9yZXNhbXBsaW5nX2V4 cGxpY2l0X2ZpbHRlcl9mbGFnIiwKKyAgICAgICAgICAgICAgICAgIGhkci0+Y2hyb21hX3Jlc2Ft cGxpbmdfZXhwbGljaXRfZmlsdGVyX2ZsYWcpOworICAgICAgICBwcmludF9pbnQoImNvZWZfZGF0 YV90eXBlIiwgICAgICAgICAgIGhkci0+Y29lZl9kYXRhX3R5cGUpOworICAgICAgICBwcmludF9p bnQoImNvZWZfbG9nMl9kZW5vbSIsICAgICAgICAgIGhkci0+Y29lZl9sb2cyX2Rlbm9tKTsKKyAg ICAgICAgcHJpbnRfaW50KCJ2ZHJfcnB1X25vcm1hbGl6ZWRfaWRjIiwgICBoZHItPnZkcl9ycHVf bm9ybWFsaXplZF9pZGMpOworICAgICAgICBwcmludF9pbnQoImJsX3ZpZGVvX2Z1bGxfcmFuZ2Vf ZmxhZyIsIGhkci0+YmxfdmlkZW9fZnVsbF9yYW5nZV9mbGFnKTsKKyAgICAgICAgcHJpbnRfaW50 KCJibF9iaXRfZGVwdGgiLCAgICAgICAgICAgICBoZHItPmJsX2JpdF9kZXB0aCk7CisgICAgICAg IHByaW50X2ludCgiZWxfYml0X2RlcHRoIiwgICAgICAgICAgICAgaGRyLT5lbF9iaXRfZGVwdGgp OworICAgICAgICBwcmludF9pbnQoInZkcl9iaXRfZGVwdGgiLCAgICAgICAgICAgIGhkci0+dmRy X2JpdF9kZXB0aCk7CisgICAgICAgIHByaW50X2ludCgic3BhdGlhbF9yZXNhbXBsaW5nX2ZpbHRl cl9mbGFnIiwKKyAgICAgICAgICAgICAgICAgIGhkci0+c3BhdGlhbF9yZXNhbXBsaW5nX2ZpbHRl cl9mbGFnKTsKKyAgICAgICAgcHJpbnRfaW50KCJlbF9zcGF0aWFsX3Jlc2FtcGxpbmdfZmlsdGVy X2ZsYWciLAorICAgICAgICAgICAgICAgICAgaGRyLT5lbF9zcGF0aWFsX3Jlc2FtcGxpbmdfZmls dGVyX2ZsYWcpOworICAgICAgICBwcmludF9pbnQoImRpc2FibGVfcmVzaWR1YWxfZmxhZyIsICAg ICBoZHItPmRpc2FibGVfcmVzaWR1YWxfZmxhZyk7CisKKyAgICAgICAgLy8gZGF0YSBtYXBwaW5n IHZhbHVlcworICAgICAgICBwcmludF9pbnQoInZkcl9ycHVfaWQiLCAgICAgICAgICAgICAgICBt YXBwaW5nLT52ZHJfcnB1X2lkKTsKKyAgICAgICAgcHJpbnRfaW50KCJtYXBwaW5nX2NvbG9yX3Nw YWNlIiwgICAgICAgbWFwcGluZy0+bWFwcGluZ19jb2xvcl9zcGFjZSk7CisgICAgICAgIHByaW50 X2ludCgibWFwcGluZ19jaHJvbWFfZm9ybWF0X2lkYyIsCisgICAgICAgICAgICAgICAgICBtYXBw aW5nLT5tYXBwaW5nX2Nocm9tYV9mb3JtYXRfaWRjKTsKKworICAgICAgICBwcmludF9pbnQoIm5s cV9tZXRob2RfaWRjIiwgICAgICAgICAgICBtYXBwaW5nLT5ubHFfbWV0aG9kX2lkYyk7CisgICAg ICAgIHN3aXRjaCAobWFwcGluZy0+bmxxX21ldGhvZF9pZGMpIHsKKyAgICAgICAgY2FzZSBBVl9E T1ZJX05MUV9OT05FOgorICAgICAgICAgICAgcHJpbnRfc3RyKCJubHFfbWV0aG9kX2lkY19uYW1l IiwgIm5vbmUiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIEFWX0RPVklfTkxR X0xJTkVBUl9EWjoKKyAgICAgICAgICAgIHByaW50X3N0cigibmxxX21ldGhvZF9pZGNfbmFtZSIs ICJsaW5lYXJfZHoiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAg ICAgICAgICAgcHJpbnRfc3RyKCJubHFfbWV0aG9kX2lkY19uYW1lIiwgInVua25vd24iKTsKKyAg ICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgcHJpbnRfaW50KCJudW1feF9w YXJ0aXRpb25zIiwgICAgICAgICAgbWFwcGluZy0+bnVtX3hfcGFydGl0aW9ucyk7CisgICAgICAg IHByaW50X2ludCgibnVtX3lfcGFydGl0aW9ucyIsICAgICAgICAgIG1hcHBpbmctPm51bV95X3Bh cnRpdGlvbnMpOworCisgICAgICAgIHdyaXRlcl9wcmludF9zZWN0aW9uX2hlYWRlcih3LCBTRUNU SU9OX0lEX0ZSQU1FX1NJREVfREFUQV9DT01QT05FTlRfTElTVCk7CisKKyAgICAgICAgZm9yIChp bnQgYyA9IDA7IGMgPCAzOyBjKyspIHsKKyAgICAgICAgICAgIGNvbnN0IEFWRE9WSVJlc2hhcGlu Z0N1cnZlICpjdXJ2ZSA9ICZtYXBwaW5nLT5jdXJ2ZXNbY107CisgICAgICAgICAgICB3cml0ZXJf cHJpbnRfc2VjdGlvbl9oZWFkZXIodywgU0VDVElPTl9JRF9GUkFNRV9TSURFX0RBVEFfQ09NUE9O RU5UKTsKKworICAgICAgICAgICAgcHJpbnRfbGlzdF9mbXQoInBpdm90cyIsICIlIlBSSXUxNiwg Y3VydmUtPm51bV9waXZvdHMsIGN1cnZlLT5waXZvdHNbaWR4XSk7CisKKyAgICAgICAgICAgIHdy aXRlcl9wcmludF9zZWN0aW9uX2hlYWRlcih3LCBTRUNUSU9OX0lEX0ZSQU1FX1NJREVfREFUQV9Q SUVDRV9MSVNUKTsKKyAgICAgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgY3VydmUtPm51bV9w aXZvdHMgLSAxOyBpKyspIHsKKworICAgICAgICAgICAgICAgIHdyaXRlcl9wcmludF9zZWN0aW9u X2hlYWRlcih3LCBTRUNUSU9OX0lEX0ZSQU1FX1NJREVfREFUQV9QSUVDRSk7CisgICAgICAgICAg ICAgICAgcHJpbnRfaW50KCJtYXBwaW5nX2lkYyIsIGN1cnZlLT5tYXBwaW5nX2lkY1tpXSk7Cisg ICAgICAgICAgICAgICAgc3dpdGNoIChjdXJ2ZS0+bWFwcGluZ19pZGNbaV0pIHsKKyAgICAgICAg ICAgICAgICBjYXNlIEFWX0RPVklfTUFQUElOR19QT0xZTk9NSUFMOgorICAgICAgICAgICAgICAg ICAgICBwcmludF9zdHIoIm1hcHBpbmdfaWRjX25hbWUiLCAgICJwb2x5bm9taWFsIik7CisgICAg ICAgICAgICAgICAgICAgIHByaW50X2ludCgicG9seV9vcmRlciIsICAgICAgICAgY3VydmUtPnBv bHlfb3JkZXJbaV0pOworICAgICAgICAgICAgICAgICAgICBwcmludF9saXN0X2ZtdCgicG9seV9j b2VmIiwgIiUiUFJJaTY0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJ2 ZS0+cG9seV9vcmRlcltpXSArIDEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGN1cnZlLT5wb2x5X2NvZWZbaV1baWR4XSk7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOwor ICAgICAgICAgICAgICAgIGNhc2UgQVZfRE9WSV9NQVBQSU5HX01NUjoKKyAgICAgICAgICAgICAg ICAgICAgcHJpbnRfc3RyKCJtYXBwaW5nX2lkY19uYW1lIiwgICAibW1yIik7CisgICAgICAgICAg ICAgICAgICAgIHByaW50X2ludCgibW1yX29yZGVyIiwgICAgICAgICAgY3VydmUtPm1tcl9vcmRl cltpXSk7CisgICAgICAgICAgICAgICAgICAgIHByaW50X2ludCgibW1yX2NvbnN0YW50IiwgICAg ICAgY3VydmUtPm1tcl9jb25zdGFudFtpXSk7CisgICAgICAgICAgICAgICAgICAgIHByaW50X2xp c3RfZm10KCJtbXJfY29lZiIsICIlIlBSSWk2NCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgY3VydmUtPm1tcl9vcmRlcltpXSAqIDcsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGN1cnZlLT5tbXJfY29lZltpXVswXVtpZHhdKTsKKyAgICAgICAgICAgICAg ICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICAg ICAgcHJpbnRfc3RyKCJtYXBwaW5nX2lkY19uYW1lIiwgICAidW5rbm93biIpOworICAgICAgICAg ICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAv LyBTRUNUSU9OX0lEX0ZSQU1FX1NJREVfREFUQV9QSUVDRQorICAgICAgICAgICAgICAgIHdyaXRl cl9wcmludF9zZWN0aW9uX2Zvb3Rlcih3KTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAg Ly8gU0VDVElPTl9JRF9GUkFNRV9TSURFX0RBVEFfUElFQ0VfTElTVAorICAgICAgICAgICAgd3Jp dGVyX3ByaW50X3NlY3Rpb25fZm9vdGVyKHcpOworCisgICAgICAgICAgICBpZiAobWFwcGluZy0+ bmxxX21ldGhvZF9pZGMgIT0gQVZfRE9WSV9OTFFfTk9ORSkgeworICAgICAgICAgICAgICAgIGNv bnN0IEFWRE9WSU5MUVBhcmFtcyAqbmxxICA9ICZtYXBwaW5nLT5ubHFbY107CisgICAgICAgICAg ICAgICAgcHJpbnRfaW50KCJubHFfb2Zmc2V0IiwgbmxxLT5ubHFfb2Zmc2V0KTsKKyAgICAgICAg ICAgICAgICBwcmludF9pbnQoInZkcl9pbl9tYXgiLCBubHEtPnZkcl9pbl9tYXgpOworCisgICAg ICAgICAgICAgICAgc3dpdGNoIChtYXBwaW5nLT5ubHFfbWV0aG9kX2lkYykgeworICAgICAgICAg ICAgICAgIGNhc2UgQVZfRE9WSV9OTFFfTElORUFSX0RaOgorICAgICAgICAgICAgICAgICAgICBw cmludF9pbnQoImxpbmVhcl9kZWFkem9uZV9zbG9wZSIsICAgICAgbmxxLT5saW5lYXJfZGVhZHpv bmVfc2xvcGUpOworICAgICAgICAgICAgICAgICAgICBwcmludF9pbnQoImxpbmVhcl9kZWFkem9u ZV90aHJlc2hvbGQiLCAgbmxxLT5saW5lYXJfZGVhZHpvbmVfdGhyZXNob2xkKTsKKyAgICAgICAg ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorCisg ICAgICAgICAgICAvLyBTRUNUSU9OX0lEX0ZSQU1FX1NJREVfREFUQV9DT01QT05FTlQKKyAgICAg ICAgICAgIHdyaXRlcl9wcmludF9zZWN0aW9uX2Zvb3Rlcih3KTsKKyAgICAgICAgfQorCisgICAg ICAgIC8vIFNFQ1RJT05fSURfRlJBTUVfU0lERV9EQVRBX0NPTVBPTkVOVF9MSVNUCisgICAgICAg IHdyaXRlcl9wcmludF9zZWN0aW9uX2Zvb3Rlcih3KTsKKworICAgICAgICAvLyBjb2xvciBtZXRh ZGF0YQorICAgICAgICBwcmludF9pbnQoImRtX21ldGFkYXRhX2lkIiwgICAgICAgICBjb2xvci0+ ZG1fbWV0YWRhdGFfaWQpOworICAgICAgICBwcmludF9pbnQoInNjZW5lX3JlZnJlc2hfZmxhZyIs ICAgICBjb2xvci0+c2NlbmVfcmVmcmVzaF9mbGFnKTsKKyAgICAgICAgcHJpbnRfbGlzdF9mbXQo InljY190b19yZ2JfbWF0cml4IiwgIiVkLyVkIiwKKyAgICAgICAgICAgICAgICAgICAgICAgRkZf QVJSQVlfRUxFTVMoY29sb3ItPnljY190b19yZ2JfbWF0cml4KSwKKyAgICAgICAgICAgICAgICAg ICAgICAgY29sb3ItPnljY190b19yZ2JfbWF0cml4W2lkeF0ubnVtLAorICAgICAgICAgICAgICAg ICAgICAgICBjb2xvci0+eWNjX3RvX3JnYl9tYXRyaXhbaWR4XS5kZW4pOworICAgICAgICBwcmlu dF9saXN0X2ZtdCgieWNjX3RvX3JnYl9vZmZzZXQiLCAiJWQvJWQiLAorICAgICAgICAgICAgICAg ICAgICAgICBGRl9BUlJBWV9FTEVNUyhjb2xvci0+eWNjX3RvX3JnYl9vZmZzZXQpLAorICAgICAg ICAgICAgICAgICAgICAgICBjb2xvci0+eWNjX3RvX3JnYl9vZmZzZXRbaWR4XS5udW0sCisgICAg ICAgICAgICAgICAgICAgICAgIGNvbG9yLT55Y2NfdG9fcmdiX29mZnNldFtpZHhdLmRlbik7Cisg ICAgICAgIHByaW50X2xpc3RfZm10KCJyZ2JfdG9fbG1zX21hdHJpeCIsICIlZC8lZCIsCisgICAg ICAgICAgICAgICAgICAgICAgIEZGX0FSUkFZX0VMRU1TKGNvbG9yLT5yZ2JfdG9fbG1zX21hdHJp eCksCisgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yLT5yZ2JfdG9fbG1zX21hdHJpeFtpZHhd Lm51bSwKKyAgICAgICAgICAgICAgICAgICAgICAgY29sb3ItPnJnYl90b19sbXNfbWF0cml4W2lk eF0uZGVuKTsKKyAgICAgICAgcHJpbnRfaW50KCJzaWduYWxfZW90ZiIsICAgICAgICAgICAgY29s b3ItPnNpZ25hbF9lb3RmKTsKKyAgICAgICAgcHJpbnRfaW50KCJzaWduYWxfZW90Zl9wYXJhbTAi LCAgICAgY29sb3ItPnNpZ25hbF9lb3RmX3BhcmFtMCk7CisgICAgICAgIHByaW50X2ludCgic2ln bmFsX2VvdGZfcGFyYW0xIiwgICAgIGNvbG9yLT5zaWduYWxfZW90Zl9wYXJhbTEpOworICAgICAg ICBwcmludF9pbnQoInNpZ25hbF9lb3RmX3BhcmFtMiIsICAgICBjb2xvci0+c2lnbmFsX2VvdGZf cGFyYW0yKTsKKyAgICAgICAgcHJpbnRfaW50KCJzaWduYWxfYml0X2RlcHRoIiwgICAgICAgY29s b3ItPnNpZ25hbF9iaXRfZGVwdGgpOworICAgICAgICBwcmludF9pbnQoInNpZ25hbF9jb2xvcl9z cGFjZSIsICAgICBjb2xvci0+c2lnbmFsX2NvbG9yX3NwYWNlKTsKKyAgICAgICAgcHJpbnRfaW50 KCJzaWduYWxfY2hyb21hX2Zvcm1hdCIsICAgY29sb3ItPnNpZ25hbF9jaHJvbWFfZm9ybWF0KTsK KyAgICAgICAgcHJpbnRfaW50KCJzaWduYWxfZnVsbF9yYW5nZV9mbGFnIiwgY29sb3ItPnNpZ25h bF9mdWxsX3JhbmdlX2ZsYWcpOworICAgICAgICBwcmludF9pbnQoInNvdXJjZV9taW5fcHEiLCAg ICAgICAgICBjb2xvci0+c291cmNlX21pbl9wcSk7CisgICAgICAgIHByaW50X2ludCgic291cmNl X21heF9wcSIsICAgICAgICAgIGNvbG9yLT5zb3VyY2VfbWF4X3BxKTsKKyAgICAgICAgcHJpbnRf aW50KCJzb3VyY2VfZGlhZ29uYWwiLCAgICAgICAgY29sb3ItPnNvdXJjZV9kaWFnb25hbCk7CisK KyAgICAgICAgYXZfYnByaW50X2ZpbmFsaXplKCZwYnVmLCBOVUxMKTsKKyAgICB9Cit9CisKIHN0 YXRpYyB2b2lkIHByaW50X2R5bmFtaWNfaGRyMTBfcGx1cyhXcml0ZXJDb250ZXh0ICp3LCBjb25z dCBBVkR5bmFtaWNIRFJQbHVzICptZXRhZGF0YSkKIHsKICAgICBpZiAoIW1ldGFkYXRhKQpAQCAt MjM3MCw2ICsyNTM1LDggQEAgc3RhdGljIHZvaWQgc2hvd19mcmFtZShXcml0ZXJDb250ZXh0ICp3 LCBBVkZyYW1lICpmcmFtZSwgQVZTdHJlYW0gKnN0cmVhbSwKICAgICAgICAgICAgICAgICBpZiAo dGFnKQogICAgICAgICAgICAgICAgICAgICBwcmludF9zdHIodGFnLT5rZXksIHRhZy0+dmFsdWUp OwogICAgICAgICAgICAgICAgIHByaW50X2ludCgic2l6ZSIsIHNkLT5zaXplKTsKKyAgICAgICAg ICAgIH0gZWxzZSBpZiAoc2QtPnR5cGUgPT0gQVZfRlJBTUVfREFUQV9ET1ZJX01FVEFEQVRBKSB7 CisgICAgICAgICAgICAgICAgcHJpbnRfZG92aV9tZXRhZGF0YSh3LCAoY29uc3QgQVZET1ZJTWV0 YWRhdGEgKilzZC0+ZGF0YSk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICB3cml0ZXJfcHJp bnRfc2VjdGlvbl9mb290ZXIodyk7CiAgICAgICAgIH0KLS0gCjIuMzQuMQoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZmZtcGVnLWRldmVsIG1haWxpbmcg bGlzdApmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwpodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1hbi9s aXN0aW5mby9mZm1wZWctZGV2ZWwKClRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBv ciBlbWFpbApmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5z dWJzY3JpYmUiLgo=