X-Original-To: alpine-aports@lists.alpinelinux.org Received: from mail-lf0-f68.google.com (mail-lf0-f68.google.com [209.85.215.68]) by lists.alpinelinux.org (Postfix) with ESMTP id 59CC25C4634 for ; Sun, 25 Dec 2016 20:44:49 +0000 (GMT) Received: by mail-lf0-f68.google.com with SMTP id d16so11707417lfb.1 for ; Sun, 25 Dec 2016 12:44:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=uJhlO5WlxYsoGKNRwQUpXgTr9OBf1UcUAotu0JFu8VE=; b=sX4tZgOh5pR039oV0Hlu+62blmAhY4GCDBdyey3f0PzhmxVK0c6Jr5OGB4yJ3TnTF1 JApOy5uRNdLEVdKzI9wptjW8M9LPBnB3sBrDebPjl1X8qsWAxR2HIAVL3fQ6dxAGGv6I pYEFjfqio2VGAE/79TSj34fuWXmVnSZ7BZGajARMKpdraTky+9nvpVRznb8lKcVevz3+ xsG02VjbR56lOeqqOFqyq/1e3t5TsXqJCb8JmmVLmivBgXHewP8V+lmH6VLFnvtaP0nV jbOlPfK+xU2Vv6k9QO/mOos56o+AKvIcbP5qOgjfs95wDkdZ9ZzMkUbHH3b4fT15oanU uy+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=uJhlO5WlxYsoGKNRwQUpXgTr9OBf1UcUAotu0JFu8VE=; b=ftvfYmFfoBMfigUCVJAZ2J5yRKxiYxSecYPZusUlcOhAf625N+xhOVNU8hRCkqevNG Ey08+6z1lBtA9jHABsDVeYmn47KMR1GWC/fpExfo8fcJDpn2hziHRrnRI5ZP8h+gibOd W7R7nf91NlEWdgvm23SslAKZ01QW7x8Ovpubvzf5K5Ug0wvcnb2CVAGShbjc3E3fOhwg n0onnbJ0L0J8yAd3W33vevV6fbxxXd+r4hbttsgQh/TCVRCJixUGBxgvhXxvkDZJnZoH K9iN071xE38p5fJdj6xjZ6zaIakdtbL5n+MiCok2/A6PAi1u6ixG/MmVQgVj9LnNsnfq Qqbg== X-Gm-Message-State: AIkVDXLF0sZAKj/CgS/KpO/rwlYM3GE6fbW6+TxOdXZr8FKAiduYQJK7Zxrp5r0ZzP8l3Q== X-Received: by 10.25.201.78 with SMTP id z75mr5578091lff.33.1482500514605; Fri, 23 Dec 2016 05:41:54 -0800 (PST) Received: from v3-2.util.wtbts.net ([83.145.235.199]) by smtp.gmail.com with ESMTPSA id f25sm7767228lji.47.2016.12.23.05.41.53 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 23 Dec 2016 05:41:53 -0800 (PST) From: Sergey Lukin To: alpine-aports@lists.alpinelinux.org Cc: Sergey Lukin Subject: [alpine-aports] [PATCH v3.2] main/xen: security upgrade to 4.5.5 - fixes #6573 Date: Fri, 23 Dec 2016 13:41:44 +0000 Message-Id: <1482500504-5568-1-git-send-email-sergej.lukin@gmail.com> X-Mailer: git-send-email 2.4.11 X-Mailinglist: alpine-aports Precedence: list List-Id: Alpine Development List-Unsubscribe: List-Post: List-Help: List-Subscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 UmVtb3ZlZCBwYXRjaGVzIHRoYXQgYXJlIGFscmVhZHkgYXBwbGllZCBpbiB4ZW4tNC41LjUNCmh0 dHBzOi8vd3d3LnhlbnByb2plY3Qub3JnL2Rvd25sb2Fkcy94ZW4tYXJjaGl2ZXMveGVuLTQ1LXNl cmllcy94ZW4tNDU1Lmh0bWwNCg0KTmV3IGZpeGVzOg0KQ1ZFLTIwMTYtMTAwMjQsIFhTQS0yMDI6 IHg4NiBQViBndWVzdHMgbWF5IGJlIGFibGUgdG8gbWFzayBpbnRlcnJ1cHRzDQpodHRwOi8veGVu Yml0cy54ZW4ub3JnL3hzYS9hZHZpc29yeS0yMDIuaHRtbA0KDQpDVkUtMjAxNi0xMDAxMywgWFNB LTIwNDogeDg2OiBNaXNoYW5kbGluZyBvZiBTWVNDQUxMIHNpbmdsZXN0ZXAgZHVyaW5nIGVtdWxh dGlvbg0KaHR0cDovL3hlbmJpdHMueGVuLm9yZy94c2EvYWR2aXNvcnktMjA0Lmh0bWwNCi0tLQ0K IC4uLmNvcHktb2YtZXZlcnkteHMtYmFja2VuZC1pbi1saWJ4bC1pbi1fZ2VuLnBhdGNoIHwgIDk4 IC0tLS0tLS0tLQ0KIC4uLm9yZC1iYWNrZW5kLWZyb250ZW5kLXBhdGhzLWluLWxpYnhsLURPTUlE LnBhdGNoIHwgMTk1IC0tLS0tLS0tLS0tLS0tLS0NCiAuLi5ub3QtdHJ1c3QtYmFja2VuZC1pbi1s aWJ4bF9fZGV2aWNlX2V4aXN0cy5wYXRjaCB8ICAzMiAtLS0NCiAuLi54bC1Qcm92aWRlLWxpYnhs X19iYWNrZW5kcGF0aF9wYXJzZV9kb21pZC5wYXRjaCB8ICA2MiAtLS0tLS0NCiAuLi50LXRydXN0 LWJhY2tlbmQtZm9yLXZ0cG0taW4tZ2V0aW5mby1leGNlcC5wYXRjaCB8ICA1NSAtLS0tLQ0KIC4u LnQtdHJ1c3QtZnJvbnRlbmQtaW4tbGlieGxfX2RldmljZXNfZGVzdHJvLnBhdGNoIHwgIDc3IC0t LS0tLS0NCiAuLi5vdC10cnVzdC1iYWNrZW5kLWZvci12dHBtLWluLWdldGluZm8tdXVpZC5wYXRj aCB8ICA0NiAtLS0tDQogLi4ub3QtdHJ1c3QtZnJvbnRlbmQtaW4tbGlieGxfX2RldmljZV9uZXh0 aWQucGF0Y2ggfCAgNDMgLS0tLQ0KIC4uLm8tbm90LXRydXN0LWZyb250ZW5kLWZvci1kaXNrLWVq ZWN0LWV2ZW50LnBhdGNoIHwgMTA0IC0tLS0tLS0tLQ0KIC4uLmJ4bC1jZHJvbS1lamVjdC1hbmQt aW5zZXJ0LXdyaXRlLXRvLWxpYnhsLnBhdGNoIHwgIDczIC0tLS0tLQ0KIC4uLi1Eby1ub3QtdHJ1 c3QtYmFja2VuZC1mb3ItZGlzay1lamVjdC12ZGV2LnBhdGNoIHwgIDY3IC0tLS0tLQ0KIC4uLkRv LW5vdC10cnVzdC1mcm9udGVuZC1mb3ItZGlzay1pbi1nZXRpbmZvLnBhdGNoIHwgIDc5IC0tLS0t LS0NCiAuLi50LXRydXN0LWJhY2tlbmQtZm9yLWRpc2stZml4LWRyaXZlci1kb21haS5wYXRjaCB8 IDI0NSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiAuLi5saWJ4bC1Eby1ub3QtdHJ1c3QtZnJvbnRl bmQtZm9yLXZ0cG0tbGlzdC5wYXRjaCB8ICA2NyAtLS0tLS0NCiAuLi4tRG8tbm90LXRydXN0LWJh Y2tlbmQtZm9yLWRpc2staW4tZ2V0aW5mby5wYXRjaCB8ICAzNSAtLS0NCiAuLi5Eby1ub3QtdHJ1 c3QtZnJvbnRlbmQtZm9yLXZ0cG0taW4tZ2V0aW5mby5wYXRjaCB8ICA2MSAtLS0tLQ0KIC4uLmJ4 bC1Eby1ub3QtdHJ1c3QtYmFja2VuZC1mb3ItY2Ryb20taW5zZXJ0LnBhdGNoIHwgIDk0IC0tLS0t LS0tDQogLi4udC10cnVzdC1mcm9udGVuZC1mb3ItbmljLWluLWxpYnhsX2RldmlkX3QucGF0Y2gg fCAgNDcgLS0tLQ0KIC4uLi1ub3QtdHJ1c3QtYmFja2VuZC1mb3ItY2hhbm5lbC1pbi1nZXRpbmZv LnBhdGNoIHwgIDM4IC0tLS0NCiAuLi4tRG8tbm90LXRydXN0LWZyb250ZW5kLWZvci1uaWMtaW4t Z2V0aW5mby5wYXRjaCB8ICA3MyAtLS0tLS0NCiAuLi5Eby1ub3QtdHJ1c3QtZnJvbnRlbmQtZm9y LWNoYW5uZWwtaW4tbGlzdC5wYXRjaCB8IDEwNCAtLS0tLS0tLS0NCiAuLi5lLWxpYnhsX19kZXZp Y2VfLW5pYy1jaGFubmVsLV9mcm9tX3hzX2JlLS5wYXRjaCB8ICA4NyAtLS0tLS0tLQ0KIC4uLm5v dC10cnVzdC1mcm9udGVuZC1mb3ItY2hhbm5lbC1pbi1nZXRpbmZvLnBhdGNoIHwgMTIxIC0tLS0t LS0tLS0NCiAuLi5pYnhsLVJlbmFtZS1SRUFEX0JBQ0tFTkQtdG8tUkVBRF9MSUJYTERFVi5wYXRj aCB8IDEwMSAtLS0tLS0tLS0NCiAuLi5SRUFEX0xJQlhMREVWLXVzZS1saWJ4bF9wYXRoLXJhdGhl ci10aGFuLS5wYXRjaCB8ICA2MiAtLS0tLS0NCiAuLi5saWJ4bC1Eby1ub3QtdHJ1c3QtYmFja2Vu ZC1pbi1uaWMtZ2V0aW5mby5wYXRjaCB8ICAzMyAtLS0NCiAuLi50LXRydXN0LWJhY2tlbmQtZm9y LW5pYy1pbi1kZXZpZF90b19kZXZpYy5wYXRjaCB8ICA0OCAtLS0tDQogLi4uaWJ4bC1Eby1ub3Qt dHJ1c3QtYmFja2VuZC1mb3ItbmljLWluLWxpc3QucGF0Y2ggfCAgODAgLS0tLS0tLQ0KIC4uLmli eGwtRG8tbm90LXRydXN0LWJhY2tlbmQtaW4tY2hhbm5lbC1saXN0LnBhdGNoIHwgIDU4IC0tLS0t DQogLi4uLUNsZWFudXAtSGF2ZS1saWJ4bF9fYWxsb2NfdmRldi11c2UtbGlieGwucGF0Y2ggfCAg NDggLS0tLQ0KIC4uLnVwLXVzZS1saWJ4bF9fYmFja2VuZHBhdGhfcGFyc2VfZG9taWQtaW4tLnBh dGNoIHwgIDM4IC0tLS0NCiAuLi4veGVuLzAwMjAtbGlieGwtRG9jdW1lbnQtc2VyaWFsLWNvcnJl Y3RseS5wYXRjaCB8ICAzOCAtLS0tDQogbWFpbi94ZW4vQVBLQlVJTEQgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAyMDkgKystLS0tLS0tLS0tLS0tLS0tDQogbWFpbi94ZW4vZ251 dGxzLTMuNC4wLnBhdGNoICAgICAgICAgICAgICAgICAgICAgICAgfCAgMzYgLS0tDQogbWFpbi94 ZW4veHNhMTY5LnBhdGNoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMzMgLS0tDQog bWFpbi94ZW4veHNhMTcyLnBhdGNoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMzkg LS0tLQ0KIG1haW4veGVuL3hzYTE3My00LjUucGF0Y2ggICAgICAgICAgICAgICAgICAgICAgICAg IHwgMjQ0IC0tLS0tLS0tLS0tLS0tLS0tLS0tDQogbWFpbi94ZW4veHNhMTc2LnBhdGNoICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgNDUgLS0tLQ0KIG1haW4veGVuL3hzYTE4MS5wYXRj aCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDM4IC0tLS0NCiBtYWluL3hlbi94c2Ex ODItNC41LnBhdGNoICAgICAgICAgICAgICAgICAgICAgICAgICB8IDEwMiAtLS0tLS0tLS0NCiBt YWluL3hlbi94c2ExODMtNC42LnBhdGNoICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA3NSAt LS0tLS0tDQogbWFpbi94ZW4veHNhMTg0LXFlbXV0LW1hc3Rlci5wYXRjaCAgICAgICAgICAgICAg ICAgfCAgNDMgLS0tLQ0KIG1haW4veGVuL3hzYTE4NC1xZW11dS1tYXN0ZXIucGF0Y2ggICAgICAg ICAgICAgICAgIHwgIDQzIC0tLS0NCiBtYWluL3hlbi94c2ExODUucGF0Y2ggICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8ICAzOCAtLS0tDQogLi4uLUNvcnJlY3QtYm91bmRhcnktaW50ZXJh Y3Rpb25zLW9mLWVtdWxhdGUucGF0Y2ggfCAgNzMgLS0tLS0tDQogLi4ubGxvdy10ZXN0aW5nLW9m LWluc3RydWN0aW9ucy1jcm9zc2luZy10aGUucGF0Y2ggfCAgNDEgLS0tLQ0KIC4uLm50LUJvdW5k cy1jaGVjay1hY2Nlc3Nlcy10by1lbXVsYXRpb24tY3R4LnBhdGNoIHwgMTQyIC0tLS0tLS0tLS0t LQ0KIC4uLi14ODYtc2hhZG93LUF2b2lkLW92ZXJmbG93aW5nLXNoX2N0eHQtc2VnLnBhdGNoIHwg IDQyIC0tLS0NCiBtYWluL3hlbi94c2EyMDItNC42LnBhdGNoICAgICAgICAgICAgICAgICAgICAg ICAgICB8ICA3MyArKysrKysNCiBtYWluL3hlbi94c2EyMDQtNC41LnBhdGNoICAgICAgICAgICAg ICAgICAgICAgICAgICB8ICA2OSArKysrKysNCiA1MCBmaWxlcyBjaGFuZ2VkLCAxNTYgaW5zZXJ0 aW9ucygrKSwgMzYzOCBkZWxldGlvbnMoLSkNCiBkZWxldGUgbW9kZSAxMDA2NDQgbWFpbi94ZW4v MDAwMS1saWJ4bC1NYWtlLWNvcHktb2YtZXZlcnkteHMtYmFja2VuZC1pbi1saWJ4bC1pbi1fZ2Vu LnBhdGNoDQogZGVsZXRlIG1vZGUgMTAwNjQ0IG1haW4veGVuLzAwMDEtbGlieGwtUmVjb3JkLWJh Y2tlbmQtZnJvbnRlbmQtcGF0aHMtaW4tbGlieGwtRE9NSUQucGF0Y2gNCiBkZWxldGUgbW9kZSAx MDA2NDQgbWFpbi94ZW4vMDAwMi1saWJ4bC1Eby1ub3QtdHJ1c3QtYmFja2VuZC1pbi1saWJ4bF9f ZGV2aWNlX2V4aXN0cy5wYXRjaA0KIGRlbGV0ZSBtb2RlIDEwMDY0NCBtYWluL3hlbi8wMDAyLWxp YnhsLVByb3ZpZGUtbGlieGxfX2JhY2tlbmRwYXRoX3BhcnNlX2RvbWlkLnBhdGNoDQogZGVsZXRl IG1vZGUgMTAwNjQ0IG1haW4veGVuLzAwMDMtbGlieGwtRG8tbm90LXRydXN0LWJhY2tlbmQtZm9y LXZ0cG0taW4tZ2V0aW5mby1leGNlcC5wYXRjaA0KIGRlbGV0ZSBtb2RlIDEwMDY0NCBtYWluL3hl bi8wMDAzLWxpYnhsLURvLW5vdC10cnVzdC1mcm9udGVuZC1pbi1saWJ4bF9fZGV2aWNlc19kZXN0 cm8ucGF0Y2gNCiBkZWxldGUgbW9kZSAxMDA2NDQgbWFpbi94ZW4vMDAwNC1saWJ4bC1Eby1ub3Qt dHJ1c3QtYmFja2VuZC1mb3ItdnRwbS1pbi1nZXRpbmZvLXV1aWQucGF0Y2gNCiBkZWxldGUgbW9k ZSAxMDA2NDQgbWFpbi94ZW4vMDAwNC1saWJ4bC1Eby1ub3QtdHJ1c3QtZnJvbnRlbmQtaW4tbGli eGxfX2RldmljZV9uZXh0aWQucGF0Y2gNCiBkZWxldGUgbW9kZSAxMDA2NDQgbWFpbi94ZW4vMDAw NS1saWJ4bC1Eby1ub3QtdHJ1c3QtZnJvbnRlbmQtZm9yLWRpc2stZWplY3QtZXZlbnQucGF0Y2gN CiBkZWxldGUgbW9kZSAxMDA2NDQgbWFpbi94ZW4vMDAwNS1saWJ4bC1jZHJvbS1lamVjdC1hbmQt aW5zZXJ0LXdyaXRlLXRvLWxpYnhsLnBhdGNoDQogZGVsZXRlIG1vZGUgMTAwNjQ0IG1haW4veGVu LzAwMDYtbGlieGwtRG8tbm90LXRydXN0LWJhY2tlbmQtZm9yLWRpc2stZWplY3QtdmRldi5wYXRj aA0KIGRlbGV0ZSBtb2RlIDEwMDY0NCBtYWluL3hlbi8wMDA2LWxpYnhsLURvLW5vdC10cnVzdC1m cm9udGVuZC1mb3ItZGlzay1pbi1nZXRpbmZvLnBhdGNoDQogZGVsZXRlIG1vZGUgMTAwNjQ0IG1h aW4veGVuLzAwMDctbGlieGwtRG8tbm90LXRydXN0LWJhY2tlbmQtZm9yLWRpc2stZml4LWRyaXZl ci1kb21haS5wYXRjaA0KIGRlbGV0ZSBtb2RlIDEwMDY0NCBtYWluL3hlbi8wMDA3LWxpYnhsLURv LW5vdC10cnVzdC1mcm9udGVuZC1mb3ItdnRwbS1saXN0LnBhdGNoDQogZGVsZXRlIG1vZGUgMTAw NjQ0IG1haW4veGVuLzAwMDgtbGlieGwtRG8tbm90LXRydXN0LWJhY2tlbmQtZm9yLWRpc2staW4t Z2V0aW5mby5wYXRjaA0KIGRlbGV0ZSBtb2RlIDEwMDY0NCBtYWluL3hlbi8wMDA4LWxpYnhsLURv LW5vdC10cnVzdC1mcm9udGVuZC1mb3ItdnRwbS1pbi1nZXRpbmZvLnBhdGNoDQogZGVsZXRlIG1v ZGUgMTAwNjQ0IG1haW4veGVuLzAwMDktbGlieGwtRG8tbm90LXRydXN0LWJhY2tlbmQtZm9yLWNk cm9tLWluc2VydC5wYXRjaA0KIGRlbGV0ZSBtb2RlIDEwMDY0NCBtYWluL3hlbi8wMDA5LWxpYnhs LURvLW5vdC10cnVzdC1mcm9udGVuZC1mb3ItbmljLWluLWxpYnhsX2RldmlkX3QucGF0Y2gNCiBk ZWxldGUgbW9kZSAxMDA2NDQgbWFpbi94ZW4vMDAxMC1saWJ4bC1Eby1ub3QtdHJ1c3QtYmFja2Vu ZC1mb3ItY2hhbm5lbC1pbi1nZXRpbmZvLnBhdGNoDQogZGVsZXRlIG1vZGUgMTAwNjQ0IG1haW4v eGVuLzAwMTAtbGlieGwtRG8tbm90LXRydXN0LWZyb250ZW5kLWZvci1uaWMtaW4tZ2V0aW5mby5w YXRjaA0KIGRlbGV0ZSBtb2RlIDEwMDY0NCBtYWluL3hlbi8wMDExLWxpYnhsLURvLW5vdC10cnVz dC1mcm9udGVuZC1mb3ItY2hhbm5lbC1pbi1saXN0LnBhdGNoDQogZGVsZXRlIG1vZGUgMTAwNjQ0 IG1haW4veGVuLzAwMTEtbGlieGwtUmVuYW1lLWxpYnhsX19kZXZpY2VfLW5pYy1jaGFubmVsLV9m cm9tX3hzX2JlLS5wYXRjaA0KIGRlbGV0ZSBtb2RlIDEwMDY0NCBtYWluL3hlbi8wMDEyLWxpYnhs LURvLW5vdC10cnVzdC1mcm9udGVuZC1mb3ItY2hhbm5lbC1pbi1nZXRpbmZvLnBhdGNoDQogZGVs ZXRlIG1vZGUgMTAwNjQ0IG1haW4veGVuLzAwMTItbGlieGwtUmVuYW1lLVJFQURfQkFDS0VORC10 by1SRUFEX0xJQlhMREVWLnBhdGNoDQogZGVsZXRlIG1vZGUgMTAwNjQ0IG1haW4veGVuLzAwMTMt bGlieGwtSGF2ZS1SRUFEX0xJQlhMREVWLXVzZS1saWJ4bF9wYXRoLXJhdGhlci10aGFuLS5wYXRj aA0KIGRlbGV0ZSBtb2RlIDEwMDY0NCBtYWluL3hlbi8wMDE0LWxpYnhsLURvLW5vdC10cnVzdC1i YWNrZW5kLWluLW5pYy1nZXRpbmZvLnBhdGNoDQogZGVsZXRlIG1vZGUgMTAwNjQ0IG1haW4veGVu LzAwMTUtbGlieGwtRG8tbm90LXRydXN0LWJhY2tlbmQtZm9yLW5pYy1pbi1kZXZpZF90b19kZXZp Yy5wYXRjaA0KIGRlbGV0ZSBtb2RlIDEwMDY0NCBtYWluL3hlbi8wMDE2LWxpYnhsLURvLW5vdC10 cnVzdC1iYWNrZW5kLWZvci1uaWMtaW4tbGlzdC5wYXRjaA0KIGRlbGV0ZSBtb2RlIDEwMDY0NCBt YWluL3hlbi8wMDE3LWxpYnhsLURvLW5vdC10cnVzdC1iYWNrZW5kLWluLWNoYW5uZWwtbGlzdC5w YXRjaA0KIGRlbGV0ZSBtb2RlIDEwMDY0NCBtYWluL3hlbi8wMDE4LWxpYnhsLUNsZWFudXAtSGF2 ZS1saWJ4bF9fYWxsb2NfdmRldi11c2UtbGlieGwucGF0Y2gNCiBkZWxldGUgbW9kZSAxMDA2NDQg bWFpbi94ZW4vMDAxOS1saWJ4bC1DbGVhbnVwLXVzZS1saWJ4bF9fYmFja2VuZHBhdGhfcGFyc2Vf ZG9taWQtaW4tLnBhdGNoDQogZGVsZXRlIG1vZGUgMTAwNjQ0IG1haW4veGVuLzAwMjAtbGlieGwt RG9jdW1lbnQtc2VyaWFsLWNvcnJlY3RseS5wYXRjaA0KIGRlbGV0ZSBtb2RlIDEwMDY0NCBtYWlu L3hlbi9nbnV0bHMtMy40LjAucGF0Y2gNCiBkZWxldGUgbW9kZSAxMDA2NDQgbWFpbi94ZW4veHNh MTY5LnBhdGNoDQogZGVsZXRlIG1vZGUgMTAwNjQ0IG1haW4veGVuL3hzYTE3Mi5wYXRjaA0KIGRl bGV0ZSBtb2RlIDEwMDY0NCBtYWluL3hlbi94c2ExNzMtNC41LnBhdGNoDQogZGVsZXRlIG1vZGUg MTAwNjQ0IG1haW4veGVuL3hzYTE3Ni5wYXRjaA0KIGRlbGV0ZSBtb2RlIDEwMDY0NCBtYWluL3hl bi94c2ExODEucGF0Y2gNCiBkZWxldGUgbW9kZSAxMDA2NDQgbWFpbi94ZW4veHNhMTgyLTQuNS5w YXRjaA0KIGRlbGV0ZSBtb2RlIDEwMDY0NCBtYWluL3hlbi94c2ExODMtNC42LnBhdGNoDQogZGVs ZXRlIG1vZGUgMTAwNjQ0IG1haW4veGVuL3hzYTE4NC1xZW11dC1tYXN0ZXIucGF0Y2gNCiBkZWxl dGUgbW9kZSAxMDA2NDQgbWFpbi94ZW4veHNhMTg0LXFlbXV1LW1hc3Rlci5wYXRjaA0KIGRlbGV0 ZSBtb2RlIDEwMDY0NCBtYWluL3hlbi94c2ExODUucGF0Y2gNCiBkZWxldGUgbW9kZSAxMDA2NDQg bWFpbi94ZW4veHNhMTg2LTAwMDEteDg2LWVtdWxhdGUtQ29ycmVjdC1ib3VuZGFyeS1pbnRlcmFj dGlvbnMtb2YtZW11bGF0ZS5wYXRjaA0KIGRlbGV0ZSBtb2RlIDEwMDY0NCBtYWluL3hlbi94c2Ex ODYtNC42LTAwMDItaHZtLWZlcC1BbGxvdy10ZXN0aW5nLW9mLWluc3RydWN0aW9ucy1jcm9zc2lu Zy10aGUucGF0Y2gNCiBkZWxldGUgbW9kZSAxMDA2NDQgbWFpbi94ZW4veHNhMTg3LTQuNi0wMDAy LXg4Ni1zZWdtZW50LUJvdW5kcy1jaGVjay1hY2Nlc3Nlcy10by1lbXVsYXRpb24tY3R4LnBhdGNo DQogZGVsZXRlIG1vZGUgMTAwNjQ0IG1haW4veGVuL3hzYTE4Ny00LjctMDAwMS14ODYtc2hhZG93 LUF2b2lkLW92ZXJmbG93aW5nLXNoX2N0eHQtc2VnLnBhdGNoDQogY3JlYXRlIG1vZGUgMTAwNjQ0 IG1haW4veGVuL3hzYTIwMi00LjYucGF0Y2gNCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWFpbi94ZW4v eHNhMjA0LTQuNS5wYXRjaA0KDQpkaWZmIC0tZ2l0IGEvbWFpbi94ZW4vMDAwMS1saWJ4bC1NYWtl LWNvcHktb2YtZXZlcnkteHMtYmFja2VuZC1pbi1saWJ4bC1pbi1fZ2VuLnBhdGNoIGIvbWFpbi94 ZW4vMDAwMS1saWJ4bC1NYWtlLWNvcHktb2YtZXZlcnkteHMtYmFja2VuZC1pbi1saWJ4bC1pbi1f Z2VuLnBhdGNoDQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IGM3ZTI2YmMuLjAwMDAw MDANCi0tLSBhL21haW4veGVuLzAwMDEtbGlieGwtTWFrZS1jb3B5LW9mLWV2ZXJ5LXhzLWJhY2tl bmQtaW4tbGlieGwtaW4tX2dlbi5wYXRjaA0KKysrIC9kZXYvbnVsbA0KQEAgLTEsOTggKzAsMCBA QA0KLUZyb20gMjc4NzRiY2ZlNWEyNzc4ZDM0NDFkODZlZDVlMmZmMWFkYzRiYWEzNSBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDENCi1Gcm9tOiBJYW4gSmFja3NvbiA8aWFuLmphY2tzb25AZXUuY2l0 cml4LmNvbT4NCi1EYXRlOiBGcmksIDI5IEFwciAyMDE2IDE2OjE5OjI4ICswMTAwDQotU3ViamVj dDogW1BBVENIIDAxLzIwXSBsaWJ4bDogTWFrZSBjb3B5IG9mIGV2ZXJ5IHhzIGJhY2tlbmQgaW4g L2xpYnhsIGluDQotIF9nZW5lcmljX2FkZA0KLQ0KLVdlIHdhbnQgdG8gc3RvcCBsaWJ4bCB0cnVz dGluZ2x5IHJlYWRpbmcgaW5mb3JtYXRpb24gZnJvbSB0aGUgYmFja2VuZA0KLWRpcmVjdG9yeSAo c2luY2UgdGhpcyBpcywgb2YgY291cnNlLCB3cml0ZWFibGUgYnkgdGhlIGJhY2tlbmQsIHdoaWNo DQotbWlnaHQgYmUgYSBzZW1pLXRydXN0ZWQgZHJpdmVyIGRvbWFpbikuDQotDQotSW4gcHJpbmNp cGxlIGl0IGlzIHdyb25nIGluIGN1cnJlbnQgbGlieGwgZm9yIGFueXRoaW5nIHRvIHRyeSB0bw0K LWRpdmluZSB2aXJ0dWFsIGRldmljZSBjb25maWd1cmF0aW9uIGZyb20geGVuc3RvcmU6IHRoZSBK U09OIGRvbWFpbg0KLWNvbmZpZyBvdWdodCB0byBzdXBwbHkgdGhhdCwgYW5kIHhlbnN0b3JlIHNo b3VsZCBvbmx5IHRlbGwgdXMgd2hpY2gNCi1kZXZpY2VzIGFjdHVhbGx5IGV4aXN0Lg0KLQ0KLUhv d2V2ZXI6DQotDQotRmlyc3RseSwgdGhlcmUgYXJlIHNldmVyYWwgZXhpc3RpbmcgcGxhY2VzIHdo ZXJlIGNvbmZpZ3VyYXRpb24NCi1pbmZvcm1hdGlvbiBpcyByZXRyaWV2ZWQgZnJvbSB4ZW5zdG9y ZSByYXRoZXIgdGhhbiBKU09OLiAgV2UgZG8gbm90DQotd2FudCB0byByZWVuIGdpbmVlciB0aGlz IGluIGEgc2VjdXJpdHkgcGF0Y2guDQotDQotU2Vjb25kbHksIHdlIHdhbnQgdG8gbWFrZSBhIHNl Y3VyaXR5IHBhdGNoIHdoaWNoIGNhbiBiZSBiYWNrcG9ydGVkIHRvDQotdmVyc2lvbnMgb2YgbGli eGwgd2l0aG91dCB0aGUgSlNPTiBjb25maWd1cmF0aW9uIG1hY2hpbmVyeS4NCi0NCi1TbyB3ZSB0 YWtlIHRoZSBleHBlZGllbnQgYXBwcm9hY2ggb2Yga2VlcGluZyBhIGNvcHkgb2YgdGhlDQotY29u ZmlndXJhdGlvbiBzb21ld2hlcmUgd2UgdHJ1c3QsIG5hbWVseSAvbGlieGwuICBUaGlzIGlzIG9i dmlvdXNseQ0KLWZhaXJseSBsb3ctcmlzaywgYWx0aG91Z2ggaXQgZG9lcyB3cml0ZSBzaWduaWZp Y2FudGx5IG1vcmUga2V5cyBpbg0KLXhlbnN0b3JlLg0KLQ0KLUluIHRoaXMgcGF0Y2ggd2UgbWFr ZSB0aGlzIGNoYW5nZSBpbiBsaWJ4bF9fZGV2aWNlX2dlbmVyaWNfYWRkLiAgVGhpcw0KLWlzIHJl c3BvbnNpYmxlIGZvciBhY3R1YWxseSB3cml0aW5nIHRoZSB2YXN0IG1ham9yaXR5IG9mIGRldmlj ZQ0KLWluZm9ybWF0aW9uIHRvIHhlbnN0b3JlLiAgVGhlcmUgYXJlIGEgZmV3IGxvb3NlIGVuZHMg d2hpY2ggd2lsbCBiZQ0KLWRlYWx0IHdpdGggaW4gYSBtb21lbnQuDQotDQotTGlrZXdpc2UsIGNo YW5nZXMgdG8gcmVhZGVycyB0byB1c2UgdGhlIG5ldyBsb2NhdGlvbiB3aWxsIGFwcGVhciBpbg0K LWZ1cnRoZXIgcGF0Y2hlcy4NCi0NCi1UaGlzIGlzIHBhcnQgb2YgWFNBLTE3OC4NCi0NCi1TaWdu ZWQtb2ZmLWJ5OiBJYW4gSmFja3NvbiA8SWFuLkphY2tzb25AZXUuY2l0cml4LmNvbT4NCi1SZXZp ZXdlZC1ieTogV2VpIExpdSA8d2VpLmxpdTJAY2l0cml4LmNvbT4NCi0tLS0NCi0gZG9jcy9taXNj L3hlbnN0b3JlLXBhdGhzLm1hcmtkb3duIHwgIDQgKysrKw0KLSB0b29scy9saWJ4bC9saWJ4bF9k ZXZpY2UuYyAgICAgICAgfCAyMyArKysrKysrKysrKysrKysrKysrKysrKw0KLSAyIGZpbGVzIGNo YW5nZWQsIDI3IGluc2VydGlvbnMoKykNCi0NCi1kaWZmIC0tZ2l0IGEvZG9jcy9taXNjL3hlbnN0 b3JlLXBhdGhzLm1hcmtkb3duIGIvZG9jcy9taXNjL3hlbnN0b3JlLXBhdGhzLm1hcmtkb3duDQot aW5kZXggMjc2MjczZC4uOGM2ODZlYyAxMDA2NDQNCi0tLS0gYS9kb2NzL21pc2MveGVuc3RvcmUt cGF0aHMubWFya2Rvd24NCi0rKysgYi9kb2NzL21pc2MveGVuc3RvcmUtcGF0aHMubWFya2Rvd24N Ci1AQCAtNDA0LDYgKzQwNCwxMCBAQCBQYXRoIGluIHhlbnN0b3JlIHRvIHRoZSBmcm9udGVuZCwg bm9ybWFsbHkNCi0gUGF0aCBpbiB4ZW5zdG9yZSB0byB0aGUgYmFja2VuZCwgbm9ybWFsbHkNCi0g L2xvY2FsL2RvbWFpbi8kQkFDS0VORF9ET01JRC9iYWNrZW5kLyRLSU5ELyRET01JRC8kREVWSUQN Ci0gDQotKyMjIyMgL2xpYnhsLyRET01JRC9kZXZpY2UvJEtJTkQvJERFVklELyROT0RFDQotKw0K LStUcnVzdHdvcnRoeSBjb3B5IG9mIC9sb2NhbC9kb21haW4vJERPTUlEL2JhY2tlbmQvJEtJTkQv JERFVklELyROT0RFLg0KLSsNCi0gIyMjIyAvbGlieGwvJERPTUlEL2RtLXZlcnNpb24gKCJxZW11 XF94ZW4ifCJxZW11XF94ZW5cX3RyYWRpdGlvbmFsIikgPSBbbixJTlRFUk5BTF0NCi0gDQotIFRo ZSBkZXZpY2UgbW9kZWwgdmVyc2lvbiBmb3IgYSBkb21haW4uDQotZGlmZiAtLWdpdCBhL3Rvb2xz L2xpYnhsL2xpYnhsX2RldmljZS5jIGIvdG9vbHMvbGlieGwvbGlieGxfZGV2aWNlLmMNCi1pbmRl eCAzOGFiMzkzLi5lZGU3MzQyIDEwMDY0NA0KLS0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2Rldmlj ZS5jDQotKysrIGIvdG9vbHMvbGlieGwvbGlieGxfZGV2aWNlLmMNCi1AQCAtMTg1LDYgKzE4NSwy OSBAQCByZXRyeV90cmFuc2FjdGlvbjoNCi0gICAgICAgICB4c193cml0ZShjdHgtPnhzaCwgdCwg R0NTUFJJTlRGKCIlcy9mcm9udGVuZCIsIGJhY2tlbmRfcGF0aCksDQotICAgICAgICAgICAgICAg ICAgZnJvbnRlbmRfcGF0aCwgc3RybGVuKGZyb250ZW5kX3BhdGgpKTsNCi0gICAgICAgICBsaWJ4 bF9feHNfd3JpdGV2KGdjLCB0LCBiYWNrZW5kX3BhdGgsIGJlbnRzKTsNCi0rDQotKyAgICAgICAg LyoNCi0rICAgICAgICAgKiBXZSBtYWtlIGEgY29weSBvZiBldmVyeXRoaW5nIGZvciB0aGUgYmFj a2VuZCBpbiB0aGUgbGlieGwNCi0rICAgICAgICAgKiBwYXRoIGFzIHdlbGwuICBUaGlzIG1lYW5z IHdlIGRvbid0IG5lZWQgdG8gdHJ1c3QgdGhlDQotKyAgICAgICAgICogYmFja2VuZC4gIElkZWFs bHkgdGhpcyBpbmZvcm1hdGlvbiB3b3VsZCBub3QgYmUgdXNlZCBhbmQgd2UNCi0rICAgICAgICAg KiB3b3VsZCB1c2UgdGhlIGluZm9ybWF0aW9uIGZyb20gdGhlIGpzb24gY29uZmlndXJhdGlvbg0K LSsgICAgICAgICAqIGluc3RlYWQuICBCdXQgdGhlcmUgYXJlIHN0aWxsIHBsYWNlcyBpbiBsaWJ4 bCB0aGF0IHRyeSB0bw0KLSsgICAgICAgICAqIHJlY29uc3RydWN0IGEgY29uZmlnIGZyb20geGVu c3RvcmUuDQotKyAgICAgICAgICoNCi0rICAgICAgICAgKiBUaGlzIGR1cGxpY2F0aW9uIHdpbGwg dHlwaWNhbGx5IHByb2R1Y2VzIGR1cGxpY2F0ZSBrZXlzDQotKyAgICAgICAgICogd2hpY2ggd2ls bCBnbyBvdXQgb2YgZGF0ZSwgYnV0IHRoYXQncyBPSyBiZWNhdXNlIG5vdGhpbmcNCi0rICAgICAg ICAgKiByZWFkcyB0aG9zZS4gIEZvciBleGFtcGxlLCB0aGVyZSBpcyB1c3VhbGx5DQotKyAgICAg ICAgICogICAvbGlieGwvJGd1ZXN0L2RldmljZS8ka2luZC8kZGV2aWQvc3RhdGUNCi0rICAgICAg ICAgKiB3aGljaCBzdGFydHMgb3V0IGNvbnRhaW5pbmcgWGVuYnVzU3RhdGVJbml0aWFsaXNpbmcg KCIxIikNCi0rICAgICAgICAgKiBqdXN0IGxpa2UgdGhlIGNvcHkgaW4NCi0rICAgICAgICAgKiAg L2xvY2FsL2RvbWFpbi8kZHJpdmVyZG9tL2JhY2tlbmQvJGd1ZXN0LyRraW5kLyRkZXZpZC9zdGF0 ZQ0KLSsgICAgICAgICAqIGJ1dCB3aGljaCB3b24ndCBldmVyIGJlIHVwZGF0ZWQuDQotKyAgICAg ICAgICoNCi0rICAgICAgICAgKiBUaGlzIGR1cGxpY2F0aW9uIGlzIHN1cGVyZmx1b3VzIGFuZCBt ZXNzeSBidXQgYXMgZGlzY3Vzc2VkDQotKyAgICAgICAgICogdGhlIHByb3BlciBmaXggaXMgbW9y ZSBpbnRydXNpdmUgdGhhbiB3ZSB3YW50IHRvIGRvIG5vdy4NCi0rICAgICAgICAgKi8NCi0rICAg ICAgICByYyA9IGxpYnhsX194c193cml0ZXYoZ2MsIHQsIGxpYnhsX3BhdGgsIGJlbnRzKTsNCi0r ICAgICAgICBpZiAocmMpIGdvdG8gb3V0Ow0KLSAgICAgfQ0KLSANCi0gICAgIGlmICghY3JlYXRl X3RyYW5zYWN0aW9uKQ0KLS0tIA0KLTEuOS4xDQotDQpkaWZmIC0tZ2l0IGEvbWFpbi94ZW4vMDAw MS1saWJ4bC1SZWNvcmQtYmFja2VuZC1mcm9udGVuZC1wYXRocy1pbi1saWJ4bC1ET01JRC5wYXRj aCBiL21haW4veGVuLzAwMDEtbGlieGwtUmVjb3JkLWJhY2tlbmQtZnJvbnRlbmQtcGF0aHMtaW4t bGlieGwtRE9NSUQucGF0Y2gNCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggNTZhOGY2 Yy4uMDAwMDAwMA0KLS0tIGEvbWFpbi94ZW4vMDAwMS1saWJ4bC1SZWNvcmQtYmFja2VuZC1mcm9u dGVuZC1wYXRocy1pbi1saWJ4bC1ET01JRC5wYXRjaA0KKysrIC9kZXYvbnVsbA0KQEAgLTEsMTk1 ICswLDAgQEANCi1Gcm9tIDNhNDA5MWVmZTBiNGJjYWU0NjM3MTQ5MWQ3NGMxNWJiYTZmOTMyNzUg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxDQotRnJvbTogSWFuIEphY2tzb24gPGlhbi5qYWNrc29u QGV1LmNpdHJpeC5jb20+DQotRGF0ZTogTW9uLCAxNiBNYXkgMjAxNiAxNDo1Njo1NyArMDEwMA0K LVN1YmplY3Q6IFtQQVRDSCAwMS8xMl0gbGlieGw6IFJlY29yZCBiYWNrZW5kL2Zyb250ZW5kIHBh dGhzIGluIC9saWJ4bC8kRE9NSUQNCi0NCi1UaGlzIGdpdmVzIHVzIGEgcmVjb3JkIG9mIGFsbCB0 aGUgYmFja2VuZHMgd2UgaGF2ZSBzZXQgdXAgZm9yIGENCi1kb21haW4sIHdoaWNoIGlzIHNlcGFy YXRlIGZyb20gdGhlIGZyb250ZW5kcyBpbg0KLSAgL2xvY2FsL2RvbWFpbi8kRE9NSUQvZGV2aWNl Lg0KLQ0KLUluIHBhcnRpY3VsYXI6DQotDQotMS4gQSBndWVzdCBoYXMgd3JpdGUgcGVybWlzc2lv biBmb3IgdGhlIGZyb250ZW5kIHBhdGg6DQotICAvbG9jYWwvZG9tYWluLyRET01JRC9kZXZpY2Uv JEtJTkQvJERFVklEDQotd2hpY2ggbWVhbnMgdGhhdCB0aGUgZ3Vlc3QgY2FuIGNvbXBsZXRlbHkg ZGVsZXRlIHRoZSBmcm9udGVuZC4NCi0oVGhleSBjYW4ndCByZWNyZWF0ZSBpdCBiZWNhdXNlIHRo ZXkgZG9uJ3QgaGF2ZSB3cml0ZSBwZXJtaXNzaW9uDQotb24gdGhlIGNvbnRhaW5pbmcgZGlyZWN0 b3J5LikNCi0NCi0yLiBBIGd1ZXN0IGhhcyB3cml0ZSBwZXJtaXNzaW9uIGZvciB0aGUgYmFja2Vu ZCBwYXRoIHJlY29yZGVkIGluIHRoZQ0KLWZyb250ZW5kLCBpZSwgaXQgY2FuIHdyaXRlIHRvDQot ICAvbG9jYWwvZG9tYWluLyRET01JRC9kZXZpY2UvJEtJTkQvJERFVklEL2JhY2tlbmQNCi13aGlj aCBtZWFucyB0aGF0IHRoZSBndWVzdCBjYW4gYnJlYWsgdGhlIGFzc29jaWF0aW9uIGJldHdlZW4N Ci1mcm9udGVuZCBhbmQgYmFja2VuZC4NCi0NCi1TbyB3ZSBjYW4ndCByZWx5IG9uIGl0ZXJhdGlu ZyBvdmVyIHRoZSBmcm9udGVuZHMgdG8gZmluZCBhbGwgdGhlDQotYmFja2VuZHMsIG9yIGV4YW1p bmluZyBhIGZyb250ZW5kIHRvIGRpc2NvdmVyIGhvdyBhIGRldmljZSBpcw0KLWNvbmZpZ3VyZWQu DQotDQotU28sIGhhdmUgbGlieGxfX2RldmljZV9nZW5lcmljX2FkZCByZWNvcmQgdGhlIGZyb250 ZW5kIGFuZCBiYWNrZW5kDQotcGF0aHMgaW4gL2xpYnhsLyRET01JRC9kZXZpY2UsIGFuZCBoYXZl IGxpYnhsX19kZXZpY2VfZGVzdHJveSByZW1vdmUNCi10aGVtIGFnYWluLg0KLQ0KLUNyZWF0ZSB0 aGUgY29udGFpbmluZyBkaXJlY3RvcnkgL2xpYnhsL0dVRVNUL2RldmljZSBpbg0KLWxpYnhsX19k b21haW5fbWFrZS4gIFRoZSBhbHJlYWR5IGV4aXN0aW5nIHhzX3JtIGluIGRldmljZXNfZGVzdHJv eV9jYg0KLXdpbGwgdGFrZSBjYXJlIG9mIHJlbW92aW5nIGl0Lg0KLQ0KLVRoaXMgaXMgcGFydCBv ZiBYU0EtMTc1Lg0KLQ0KLUJhY2twb3J0IG5vdGU6IEJhY2twb3J0ZWQgb3ZlciA3NDcyY2VkLCB3 aGljaCBmaXhlcyBhIGJ1ZyBpbiBkcml2ZXINCi1kb21haW4gdGVhcmRvd24uDQotDQotU2lnbmVk LW9mZi1ieTogSWFuIEphY2tzb24gPElhbi5KYWNrc29uQGV1LmNpdHJpeC5jb20+DQotUmV2aWV3 ZWQtYnk6IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJpeC5jb20+DQotLS0tDQotdjI6IENvcnJlY3Qg YWN0dWFsIHBhdGggY29tcHV0YXRpb24gKCEpDQotdjM6IENvcnJlY3QgYWN0dWFsIHBhdGggY29t cHV0YXRpb24gLSByZWFsbHkgdGhpcyB0aW1lICghKQ0KLS0tLQ0KLSBkb2NzL21pc2MveGVuc3Rv cmUtcGF0aHMubWFya2Rvd24gfCAxNSArKysrKysrKysrKysrKysNCi0gdG9vbHMvbGlieGwvbGli eGxfY3JlYXRlLmMgICAgICAgIHwgIDIgKysNCi0gdG9vbHMvbGlieGwvbGlieGxfZGV2aWNlLmMg ICAgICAgIHwgMzQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQ0KLSB0b29scy9s aWJ4bC9saWJ4bF9pbnRlcm5hbC5oICAgICAgfCAgMSArDQotIDQgZmlsZXMgY2hhbmdlZCwgNTEg aW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQ0KLQ0KLWRpZmYgLS1naXQgYS9kb2NzL21pc2Mv eGVuc3RvcmUtcGF0aHMubWFya2Rvd24gYi9kb2NzL21pc2MveGVuc3RvcmUtcGF0aHMubWFya2Rv d24NCi1pbmRleCBkOTRlYTlkLi4yNzYyNzNkIDEwMDY0NA0KLS0tLSBhL2RvY3MvbWlzYy94ZW5z dG9yZS1wYXRocy5tYXJrZG93bg0KLSsrKyBiL2RvY3MvbWlzYy94ZW5zdG9yZS1wYXRocy5tYXJr ZG93bg0KLUBAIC0zODksNiArMzg5LDIxIEBAIFRoZSBndWVzdCdzIHZpcnR1YWwgdGltZSBvZmZz ZXQgZnJvbSBVVEMgaW4gc2Vjb25kcy4NCi0gDQotICMjIyBsaWJ4bCBTcGVjaWZpYyBQYXRocw0K LSANCi0rIyMjIyAvbGlieGwvJERPTUlEL2RldmljZS8kS0lORC8kREVWSUQNCi0rDQotK0NyZWF0 ZWQgYnkgbGlieGwgZm9yIGV2ZXJ5IGZyb250ZW5kL2JhY2tlbmQgcGFpciBjcmVhdGVkIGZvciAk RE9NSUQuDQotK1VzZWQgYnkgbGlieGwgZm9yIGVudW1lcmF0aW9uIGFuZCBtYW5hZ2VtZW50IG9m IHRoZSBkZXZpY2UuDQotKw0KLSsjIyMjIC9saWJ4bC8kRE9NSUQvZGV2aWNlLyRLSU5ELyRERVZJ RC9mcm9udGVuZA0KLSsNCi0rUGF0aCBpbiB4ZW5zdG9yZSB0byB0aGUgZnJvbnRlbmQsIG5vcm1h bGx5DQotKy9sb2NhbC9kb21haW4vJERPTUlEL2RldmljZS8kS0lORC8kREVWSUQNCi0rDQotKyMj IyMgL2xpYnhsLyRET01JRC9kZXZpY2UvJEtJTkQvJERFVklEL2JhY2tlbmQNCi0rDQotK1BhdGgg aW4geGVuc3RvcmUgdG8gdGhlIGJhY2tlbmQsIG5vcm1hbGx5DQotKy9sb2NhbC9kb21haW4vJEJB Q0tFTkRfRE9NSUQvYmFja2VuZC8kS0lORC8kRE9NSUQvJERFVklEDQotKw0KLSAjIyMjIC9saWJ4 bC8kRE9NSUQvZG0tdmVyc2lvbiAoInFlbXVcX3hlbiJ8InFlbXVcX3hlblxfdHJhZGl0aW9uYWwi KSA9IFtuLElOVEVSTkFMXQ0KLSANCi0gVGhlIGRldmljZSBtb2RlbCB2ZXJzaW9uIGZvciBhIGRv bWFpbi4NCi1kaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfY3JlYXRlLmMgYi90b29scy9s aWJ4bC9saWJ4bF9jcmVhdGUuYw0KLWluZGV4IDE1MmZkYmMuLmE0ZDRkNGMgMTAwNjQ0DQotLS0t IGEvdG9vbHMvbGlieGwvbGlieGxfY3JlYXRlLmMNCi0rKysgYi90b29scy9saWJ4bC9saWJ4bF9j cmVhdGUuYw0KLUBAIC01ODYsNiArNTg2LDggQEAgcmV0cnlfdHJhbnNhY3Rpb246DQotIA0KLSAg ICAgeHNfcm0oY3R4LT54c2gsIHQsIGxpYnhsX3BhdGgpOw0KLSAgICAgbGlieGxfX3hzX21rZGly KGdjLCB0LCBsaWJ4bF9wYXRoLCBub3Blcm0sIEFSUkFZX1NJWkUobm9wZXJtKSk7DQotKyAgICBs aWJ4bF9feHNfbWtkaXIoZ2MsIHQsIEdDU1BSSU5URigiJXMvZGV2aWNlIiwgbGlieGxfcGF0aCks DQotKyAgICAgICAgICAgICAgICAgICAgbm9wZXJtLCBBUlJBWV9TSVpFKG5vcGVybSkpOw0KLSAN Ci0gICAgIHhzX3dyaXRlKGN0eC0+eHNoLCB0LCBsaWJ4bF9fc3ByaW50ZihnYywgIiVzL3ZtIiwg ZG9tX3BhdGgpLCB2bV9wYXRoLCBzdHJsZW4odm1fcGF0aCkpOw0KLSAgICAgcmMgPSBsaWJ4bF9f ZG9tYWluX3JlbmFtZShnYywgKmRvbWlkLCAwLCBpbmZvLT5uYW1lLCB0KTsNCi1kaWZmIC0tZ2l0 IGEvdG9vbHMvbGlieGwvbGlieGxfZGV2aWNlLmMgYi90b29scy9saWJ4bC9saWJ4bF9kZXZpY2Uu Yw0KLWluZGV4IDRiNTFkZWQuLmE4Yjk3YTMgMTAwNjQ0DQotLS0tIGEvdG9vbHMvbGlieGwvbGli eGxfZGV2aWNlLmMNCi0rKysgYi90b29scy9saWJ4bC9saWJ4bF9kZXZpY2UuYw0KLUBAIC00MCw2 ICs0MCwxNSBAQCBjaGFyICpsaWJ4bF9fZGV2aWNlX2JhY2tlbmRfcGF0aChsaWJ4bF9fZ2MgKmdj LCBsaWJ4bF9fZGV2aWNlICpkZXZpY2UpDQotICAgICAgICAgICAgICAgICAgICAgIGRldmljZS0+ ZG9taWQsIGRldmljZS0+ZGV2aWQpOw0KLSB9DQotIA0KLStjaGFyICpsaWJ4bF9fZGV2aWNlX2xp YnhsX3BhdGgobGlieGxfX2djICpnYywgbGlieGxfX2RldmljZSAqZGV2aWNlKQ0KLSt7DQotKyAg ICBjaGFyICpsaWJ4bF9kb21fcGF0aCA9IGxpYnhsX194c19saWJ4bF9wYXRoKGdjLCBkZXZpY2Ut PmRvbWlkKTsNCi0rDQotKyAgICByZXR1cm4gR0NTUFJJTlRGKCIlcy9kZXZpY2UvJXMvJWQiLCBs aWJ4bF9kb21fcGF0aCwNCi0rICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2RldmljZV9raW5k X3RvX3N0cmluZyhkZXZpY2UtPmtpbmQpLA0KLSsgICAgICAgICAgICAgICAgICAgICBkZXZpY2Ut PmRldmlkKTsNCi0rfQ0KLSsNCi0gLyogUmV0dXJucyAxIGlmIGRldmljZSBleGlzdHMsIDAgaWYg bm90LCBFUlJPUl8qICg8MCkgb24gZXJyb3IuICovDQotIGludCBsaWJ4bF9fZGV2aWNlX2V4aXN0 cyhsaWJ4bF9fZ2MgKmdjLCB4c190cmFuc2FjdGlvbl90IHQsDQotICAgICAgICAgICAgICAgICAg ICAgICAgICBsaWJ4bF9fZGV2aWNlICpkZXZpY2UpDQotQEAgLTEwNSwxNCArMTE0LDE2IEBAIGlu dCBsaWJ4bF9fZGV2aWNlX2dlbmVyaWNfYWRkKGxpYnhsX19nYyAqZ2MsIHhzX3RyYW5zYWN0aW9u X3QgdCwNCi0gICAgICAgICBsaWJ4bF9fZGV2aWNlICpkZXZpY2UsIGNoYXIgKipiZW50cywgY2hh ciAqKmZlbnRzLCBjaGFyICoqcm9fZmVudHMpDQotIHsNCi0gICAgIGxpYnhsX2N0eCAqY3R4ID0g bGlieGxfX2djX293bmVyKGdjKTsNCi0tICAgIGNoYXIgKmZyb250ZW5kX3BhdGgsICpiYWNrZW5k X3BhdGg7DQotKyAgICBjaGFyICpmcm9udGVuZF9wYXRoLCAqYmFja2VuZF9wYXRoLCAqbGlieGxf cGF0aDsNCi0gICAgIHN0cnVjdCB4c19wZXJtaXNzaW9ucyBmcm9udGVuZF9wZXJtc1syXTsNCi0g ICAgIHN0cnVjdCB4c19wZXJtaXNzaW9ucyByb19mcm9udGVuZF9wZXJtc1syXTsNCi0gICAgIHN0 cnVjdCB4c19wZXJtaXNzaW9ucyBiYWNrZW5kX3Blcm1zWzJdOw0KLSAgICAgaW50IGNyZWF0ZV90 cmFuc2FjdGlvbiA9IHQgPT0gWEJUX05VTEw7DQotKyAgICBpbnQgcmM7DQotIA0KLSAgICAgZnJv bnRlbmRfcGF0aCA9IGxpYnhsX19kZXZpY2VfZnJvbnRlbmRfcGF0aChnYywgZGV2aWNlKTsNCi0g ICAgIGJhY2tlbmRfcGF0aCA9IGxpYnhsX19kZXZpY2VfYmFja2VuZF9wYXRoKGdjLCBkZXZpY2Up Ow0KLSsgICAgbGlieGxfcGF0aCA9IGxpYnhsX19kZXZpY2VfbGlieGxfcGF0aChnYywgZGV2aWNl KTsNCi0gDQotICAgICBmcm9udGVuZF9wZXJtc1swXS5pZCA9IGRldmljZS0+ZG9taWQ7DQotICAg ICBmcm9udGVuZF9wZXJtc1swXS5wZXJtcyA9IFhTX1BFUk1fTk9ORTsNCi1AQCAtMTI3LDggKzEz OCwyMiBAQCBpbnQgbGlieGxfX2RldmljZV9nZW5lcmljX2FkZChsaWJ4bF9fZ2MgKmdjLCB4c190 cmFuc2FjdGlvbl90IHQsDQotIHJldHJ5X3RyYW5zYWN0aW9uOg0KLSAgICAgaWYgKGNyZWF0ZV90 cmFuc2FjdGlvbikNCi0gICAgICAgICB0ID0geHNfdHJhbnNhY3Rpb25fc3RhcnQoY3R4LT54c2gp Ow0KLSsNCi0gICAgIC8qIEZJWE1FOiByZWFkIGZyb250ZW5kX3BhdGggYW5kIGNoZWNrIHN0YXRl IGJlZm9yZSByZW1vdmluZyBzdHVmZiAqLw0KLSANCi0rICAgIHJjID0gbGlieGxfX3hzX3JtX2No ZWNrZWQoZ2MsIHQsIGxpYnhsX3BhdGgpOw0KLSsgICAgaWYgKHJjKSBnb3RvIG91dDsNCi0rDQot KyAgICByYyA9IGxpYnhsX194c193cml0ZV9jaGVja2VkKGdjLCB0LCBHQ1NQUklOVEYoIiVzL2Zy b250ZW5kIixsaWJ4bF9wYXRoKSwNCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ZnJvbnRlbmRfcGF0aCk7DQotKyAgICBpZiAocmMpIGdvdG8gb3V0Ow0KLSsNCi0rICAgIHJjID0g bGlieGxfX3hzX3dyaXRlX2NoZWNrZWQoZ2MsIHQsIEdDU1BSSU5URigiJXMvYmFja2VuZCIsbGli eGxfcGF0aCksDQotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tlbmRfcGF0 aCk7DQotKyAgICBpZiAocmMpIGdvdG8gb3V0Ow0KLSsNCi0rICAgIC8qIHh4eCBtdWNoIG9mIHRo aXMgZnVuY3Rpb24gbGFja3MgZXJyb3IgY2hlY2tzISAqLw0KLSsNCi0gICAgIGlmIChmZW50cyB8 fCByb19mZW50cykgew0KLSAgICAgICAgIHhzX3JtKGN0eC0+eHNoLCB0LCBmcm9udGVuZF9wYXRo KTsNCi0gICAgICAgICB4c19ta2RpcihjdHgtPnhzaCwgdCwgZnJvbnRlbmRfcGF0aCk7DQotQEAg LTE3NCw2ICsxOTksMTEgQEAgcmV0cnlfdHJhbnNhY3Rpb246DQotICAgICAgICAgfQ0KLSAgICAg fQ0KLSAgICAgcmV0dXJuIDA7DQotKw0KLSsgb3V0Og0KLSsgICAgaWYgKGNyZWF0ZV90cmFuc2Fj dGlvbiAmJiB0KQ0KLSsgICAgICAgIGxpYnhsX194c190cmFuc2FjdGlvbl9hYm9ydChnYywgJnQp Ow0KLSsgICAgcmV0dXJuIHJjOw0KLSB9DQotIA0KLSB0eXBlZGVmIHN0cnVjdCB7DQotQEAgLTU3 MCw2ICs2MDAsNyBAQCBpbnQgbGlieGxfX2RldmljZV9kZXN0cm95KGxpYnhsX19nYyAqZ2MsIGxp YnhsX19kZXZpY2UgKmRldikNCi0gew0KLSAgICAgY29uc3QgY2hhciAqYmVfcGF0aCA9IGxpYnhs X19kZXZpY2VfYmFja2VuZF9wYXRoKGdjLCBkZXYpOw0KLSAgICAgY29uc3QgY2hhciAqZmVfcGF0 aCA9IGxpYnhsX19kZXZpY2VfZnJvbnRlbmRfcGF0aChnYywgZGV2KTsNCi0rICAgIGNvbnN0IGNo YXIgKmxpYnhsX3BhdGggPSBsaWJ4bF9fZGV2aWNlX2xpYnhsX3BhdGgoZ2MsIGRldik7DQotICAg ICBjb25zdCBjaGFyICp0YXBkaXNrX3BhdGggPSBHQ1NQUklOVEYoIiVzLyVzIiwgYmVfcGF0aCwg InRhcGRpc2stcGFyYW1zIik7DQotICAgICBjb25zdCBjaGFyICp0YXBkaXNrX3BhcmFtczsNCi0g ICAgIHhzX3RyYW5zYWN0aW9uX3QgdCA9IDA7DQotQEAgLTU5NCw2ICs2MjUsNyBAQCBpbnQgbGli eGxfX2RldmljZV9kZXN0cm95KGxpYnhsX19nYyAqZ2MsIGxpYnhsX19kZXZpY2UgKmRldikNCi0g ICAgICAgICAgICAgICovDQotICAgICAgICAgICAgIGxpYnhsX194c19wYXRoX2NsZWFudXAoZ2Ms IHQsIGZlX3BhdGgpOw0KLSAgICAgICAgICAgICBsaWJ4bF9feHNfcGF0aF9jbGVhbnVwKGdjLCB0 LCBiZV9wYXRoKTsNCi0rICAgICAgICAgICAgbGlieGxfX3hzX3BhdGhfY2xlYW51cChnYywgdCwg bGlieGxfcGF0aCk7DQotICAgICAgICAgfSBlbHNlIGlmIChkZXYtPmJhY2tlbmRfZG9taWQgPT0g ZG9taWQpIHsNCi0gICAgICAgICAgICAgLyoNCi0gICAgICAgICAgICAgICogVGhlIGRyaXZlciBk b21haW4gaXMgaW4gY2hhcmdlIGZvciByZW1vdmluZyB3aGF0IGl0IGNhbg0KLWRpZmYgLS1naXQg YS90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oIGIvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJu YWwuaA0KLWluZGV4IGZmODhmM2QuLjU1YjE5ZDkgMTAwNjQ0DQotLS0tIGEvdG9vbHMvbGlieGwv bGlieGxfaW50ZXJuYWwuaA0KLSsrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmgNCi1A QCAtMTA2MSw2ICsxMDYxLDcgQEAgX2hpZGRlbiBpbnQgbGlieGxfX2RldmljZV9nZW5lcmljX2Fk ZChsaWJ4bF9fZ2MgKmdjLCB4c190cmFuc2FjdGlvbl90IHQsDQotICAgICAgICAgbGlieGxfX2Rl dmljZSAqZGV2aWNlLCBjaGFyICoqYmVudHMsIGNoYXIgKipmZW50cywgY2hhciAqKnJvX2ZlbnRz KTsNCi0gX2hpZGRlbiBjaGFyICpsaWJ4bF9fZGV2aWNlX2JhY2tlbmRfcGF0aChsaWJ4bF9fZ2Mg KmdjLCBsaWJ4bF9fZGV2aWNlICpkZXZpY2UpOw0KLSBfaGlkZGVuIGNoYXIgKmxpYnhsX19kZXZp Y2VfZnJvbnRlbmRfcGF0aChsaWJ4bF9fZ2MgKmdjLCBsaWJ4bF9fZGV2aWNlICpkZXZpY2UpOw0K LStfaGlkZGVuIGNoYXIgKmxpYnhsX19kZXZpY2VfbGlieGxfcGF0aChsaWJ4bF9fZ2MgKmdjLCBs aWJ4bF9fZGV2aWNlICpkZXZpY2UpOw0KLSBfaGlkZGVuIGludCBsaWJ4bF9fcGFyc2VfYmFja2Vu ZF9wYXRoKGxpYnhsX19nYyAqZ2MsIGNvbnN0IGNoYXIgKnBhdGgsDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2RldmljZSAqZGV2KTsNCi0gX2hpZGRlbiBp bnQgbGlieGxfX2RldmljZV9kZXN0cm95KGxpYnhsX19nYyAqZ2MsIGxpYnhsX19kZXZpY2UgKmRl dik7DQotLS0gDQotMi4xLjQNCi0NCmRpZmYgLS1naXQgYS9tYWluL3hlbi8wMDAyLWxpYnhsLURv LW5vdC10cnVzdC1iYWNrZW5kLWluLWxpYnhsX19kZXZpY2VfZXhpc3RzLnBhdGNoIGIvbWFpbi94 ZW4vMDAwMi1saWJ4bC1Eby1ub3QtdHJ1c3QtYmFja2VuZC1pbi1saWJ4bF9fZGV2aWNlX2V4aXN0 cy5wYXRjaA0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwYTUzZjdlLi4wMDAwMDAw DQotLS0gYS9tYWluL3hlbi8wMDAyLWxpYnhsLURvLW5vdC10cnVzdC1iYWNrZW5kLWluLWxpYnhs X19kZXZpY2VfZXhpc3RzLnBhdGNoDQorKysgL2Rldi9udWxsDQpAQCAtMSwzMiArMCwwIEBADQot RnJvbSA4NDBhNDlhYjEzZTNmMDc4OTg4MzE2MzVlZTUwNDZkMGY2MDk4YmU5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQ0KLUZyb206IElhbiBKYWNrc29uIDxpYW4uamFja3NvbkBldS5jaXRyaXgu Y29tPg0KLURhdGU6IFdlZCwgNCBNYXkgMjAxNiAxNTowNDozNSArMDEwMA0KLVN1YmplY3Q6IFtQ QVRDSCAwMi8yMF0gbGlieGw6IERvIG5vdCB0cnVzdCBiYWNrZW5kIGluIGxpYnhsX19kZXZpY2Vf ZXhpc3RzDQotDQotVG8gZGV0ZXJtaW5lIHdoZXRoZXIgYSBkZXZpY2UgaXMgc3VwcG9zZWQgdG8g ZXhpc3QsIGxvb2sgaW4gL2xpYnhsLA0KLXJhdGhlciB0aGFuIHRoZSBiYWNrZW5kLg0KLQ0KLVRo aXMgaXMgcGFydCBvZiBYU0EtMTc4Lg0KLQ0KLVNpZ25lZC1vZmYtYnk6IElhbiBKYWNrc29uIDxJ YW4uSmFja3NvbkBldS5jaXRyaXguY29tPg0KLVJldmlld2VkLWJ5OiBXZWkgTGl1IDx3ZWkubGl1 MkBjaXRyaXguY29tPg0KLS0tLQ0KLSB0b29scy9saWJ4bC9saWJ4bF9kZXZpY2UuYyB8IDIgKy0N Ci0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pDQotDQotZGlm ZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RldmljZS5jIGIvdG9vbHMvbGlieGwvbGlieGxf ZGV2aWNlLmMNCi1pbmRleCBlZGU3MzQyLi45ZDY1YTdlIDEwMDY0NA0KLS0tLSBhL3Rvb2xzL2xp YnhsL2xpYnhsX2RldmljZS5jDQotKysrIGIvdG9vbHMvbGlieGwvbGlieGxfZGV2aWNlLmMNCi1A QCAtNTQsNyArNTQsNyBAQCBpbnQgbGlieGxfX2RldmljZV9leGlzdHMobGlieGxfX2djICpnYywg eHNfdHJhbnNhY3Rpb25fdCB0LA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2Rl dmljZSAqZGV2aWNlKQ0KLSB7DQotICAgICBpbnQgcmM7DQotLSAgICBjaGFyICpiZV9wYXRoID0g bGlieGxfX2RldmljZV9iYWNrZW5kX3BhdGgoZ2MsIGRldmljZSk7DQotKyAgICBjaGFyICpiZV9w YXRoID0gbGlieGxfX2RldmljZV9saWJ4bF9wYXRoKGdjLCBkZXZpY2UpOw0KLSAgICAgY29uc3Qg Y2hhciAqZGlyOw0KLSANCi0gICAgIHJjID0gbGlieGxfX3hzX3JlYWRfY2hlY2tlZChnYywgdCwg YmVfcGF0aCwgJmRpcik7DQotLS0gDQotMS45LjENCi0NCmRpZmYgLS1naXQgYS9tYWluL3hlbi8w MDAyLWxpYnhsLVByb3ZpZGUtbGlieGxfX2JhY2tlbmRwYXRoX3BhcnNlX2RvbWlkLnBhdGNoIGIv bWFpbi94ZW4vMDAwMi1saWJ4bC1Qcm92aWRlLWxpYnhsX19iYWNrZW5kcGF0aF9wYXJzZV9kb21p ZC5wYXRjaA0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCBiMGI3ODk2Li4wMDAwMDAw DQotLS0gYS9tYWluL3hlbi8wMDAyLWxpYnhsLVByb3ZpZGUtbGlieGxfX2JhY2tlbmRwYXRoX3Bh cnNlX2RvbWlkLnBhdGNoDQorKysgL2Rldi9udWxsDQpAQCAtMSw2MiArMCwwIEBADQotRnJvbSBj Njg5YTZjOTQ3MTc2MWI1OWU2ZDA4ZGVlMTY2NzgzNGUwYjdmYzM0IE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQ0KLUZyb206IElhbiBKYWNrc29uIDxpYW4uamFja3NvbkBldS5jaXRyaXguY29tPg0K LURhdGU6IFdlZCwgMjcgQXByIDIwMTYgMTY6MzQ6MTkgKzAxMDANCi1TdWJqZWN0OiBbUEFUQ0gg MDIvMTJdIGxpYnhsOiBQcm92aWRlIGxpYnhsX19iYWNrZW5kcGF0aF9wYXJzZV9kb21pZA0KLQ0K LU11bHRpcGxlIHBsYWNlcyBpbiBsaWJ4bCBuZWVkIHRvIGZpZ3VyZSBvdXQgdGhlIGJhY2tlbmQg ZG9taWQgb2YgYQ0KLWRldmljZS4gIFRoaXMgY2FuIGJlIGRpc2NvdmVyZWQgZWFzaWx5IGJ5IGxv b2tpbmcgYXQgdGhlIGJhY2tlbmQgcGF0aCwNCi13aGljaCBhbHdheXMgc3RhcnRzIC9sb2NhbC9k b21haW4vJGJhY2tlbmRfZG9taWQvLg0KLQ0KLVRoZXJlIGFyZSBubyBjYWxsIHNpdGVzIHlldC4N Ci0NCi1UaGlzIGlzIHBhcnQgb2YgWFNBLTE3NS4NCi0NCi1TaWduZWQtb2ZmLWJ5OiBJYW4gSmFj a3NvbiA8SWFuLkphY2tzb25AZXUuY2l0cml4LmNvbT4NCi1SZXZpZXdlZC1ieTogV2VpIExpdSA8 d2VpLmxpdTJAY2l0cml4LmNvbT4NCi0tLS0NCi0gdG9vbHMvbGlieGwvbGlieGxfZGV2aWNlLmMg ICB8IDE1ICsrKysrKysrKysrKysrKw0KLSB0b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oIHwg IDIgKysNCi0gMiBmaWxlcyBjaGFuZ2VkLCAxNyBpbnNlcnRpb25zKCspDQotDQotZGlmZiAtLWdp dCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RldmljZS5jIGIvdG9vbHMvbGlieGwvbGlieGxfZGV2aWNl LmMNCi1pbmRleCBhOGI5N2EzLi45MTM2YjI2IDEwMDY0NA0KLS0tLSBhL3Rvb2xzL2xpYnhsL2xp YnhsX2RldmljZS5jDQotKysrIGIvdG9vbHMvbGlieGwvbGlieGxfZGV2aWNlLmMNCi1AQCAtMjg4 LDYgKzI4OCwyMSBAQCBzdGF0aWMgaW50IGRpc2tfdHJ5X2JhY2tlbmQoZGlza190cnlfYmFja2Vu ZF9hcmdzICphLA0KLSAgICAgcmV0dXJuIDA7DQotIH0NCi0gDQotK2ludCBsaWJ4bF9fYmFja2Vu ZHBhdGhfcGFyc2VfZG9taWQobGlieGxfX2djICpnYywgY29uc3QgY2hhciAqYmVfcGF0aCwNCi0r ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9kb21pZCAqZG9taWRfb3V0 KSB7DQotKyAgICBpbnQgcjsNCi0rICAgIHVuc2lnbmVkIGludCBkb21pZF9zYzsNCi0rICAgIGNo YXIgZGVsaW1fc2M7DQotKw0KLSsgICAgciA9IHNzY2FuZihiZV9wYXRoLCAiL2xvY2FsL2RvbWFp bi8ldSVjIiwgJmRvbWlkX3NjLCAmZGVsaW1fc2MpOw0KLSsgICAgaWYgKCEocj09MiAmJiBkZWxp bV9zYz09Jy8nKSkgew0KLSsgICAgICAgIExPRyhFUlJPUiwgImludGVybmFsIGVycm9yOiBiYWNr ZW5kIHBhdGggJXMgdW5wYXJzZWFibGUhIiwgYmVfcGF0aCk7DQotKyAgICAgICAgcmV0dXJuIEVS Uk9SX0ZBSUw7DQotKyAgICB9DQotKyAgICAqZG9taWRfb3V0ID0gZG9taWRfc2M7DQotKyAgICBy ZXR1cm4gMDsNCi0rfQ0KLSsNCi0gaW50IGxpYnhsX19kZXZpY2VfZGlza19zZXRfYmFja2VuZChs aWJ4bF9fZ2MgKmdjLCBsaWJ4bF9kZXZpY2VfZGlzayAqZGlzaykgew0KLSAgICAgbGlieGxfZGlz a19iYWNrZW5kIG9rOw0KLSAgICAgZGlza190cnlfYmFja2VuZF9hcmdzIGE7DQotZGlmZiAtLWdp dCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmggYi90b29scy9saWJ4bC9saWJ4bF9pbnRl cm5hbC5oDQotaW5kZXggNTViMTlkOS4uYmZlMDZiZCAxMDA2NDQNCi0tLS0gYS90b29scy9saWJ4 bC9saWJ4bF9pbnRlcm5hbC5oDQotKysrIGIvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaA0K LUBAIC01OTQsNiArNTk0LDggQEAgX2hpZGRlbiBib29sIGxpYnhsX194c19ta2RpcihsaWJ4bF9f Z2MgKmdjLCB4c190cmFuc2FjdGlvbl90IHQsDQotIA0KLSBfaGlkZGVuIGNoYXIgKmxpYnhsX194 c19saWJ4bF9wYXRoKGxpYnhsX19nYyAqZ2MsIHVpbnQzMl90IGRvbWlkKTsNCi0gDQotK19oaWRk ZW4gaW50IGxpYnhsX19iYWNrZW5kcGF0aF9wYXJzZV9kb21pZChsaWJ4bF9fZ2MgKmdjLCBjb25z dCBjaGFyICpiZV9wYXRoLA0KLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgbGlieGxfZG9taWQgKmRvbWlkX291dCk7DQotIA0KLSAvKi0tLS0tICJjaGVja2VkIiB4 ZW5zdG9yZSBhY2Nlc3MgZnVuY3Rpb25zIC0tLS0tKi8NCi0gLyogRWFjaCBvZiB0aGVzZSBmdW5j dGlvbnMgd2lsbCBjaGVjayB0aGF0IGl0IHN1Y2NlZWRlZDsgaWYgaXQNCi0tLSANCi0yLjEuNA0K LQ0KZGlmZiAtLWdpdCBhL21haW4veGVuLzAwMDMtbGlieGwtRG8tbm90LXRydXN0LWJhY2tlbmQt Zm9yLXZ0cG0taW4tZ2V0aW5mby1leGNlcC5wYXRjaCBiL21haW4veGVuLzAwMDMtbGlieGwtRG8t bm90LXRydXN0LWJhY2tlbmQtZm9yLXZ0cG0taW4tZ2V0aW5mby1leGNlcC5wYXRjaA0KZGVsZXRl ZCBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCA1MDFhZjkyLi4wMDAwMDAwDQotLS0gYS9tYWluL3hl bi8wMDAzLWxpYnhsLURvLW5vdC10cnVzdC1iYWNrZW5kLWZvci12dHBtLWluLWdldGluZm8tZXhj ZXAucGF0Y2gNCisrKyAvZGV2L251bGwNCkBAIC0xLDU1ICswLDAgQEANCi1Gcm9tIGVhZjc1YTMz OWE1MTQwMDdiNjA0MDZlYjMzODJlYTIzYTk0NDA2NjMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx DQotRnJvbTogSWFuIEphY2tzb24gPGlhbi5qYWNrc29uQGV1LmNpdHJpeC5jb20+DQotRGF0ZTog RnJpLCAyOSBBcHIgMjAxNiAxNzoxODo0NCArMDEwMA0KLVN1YmplY3Q6IFtQQVRDSCAwMy8yMF0g bGlieGw6IERvIG5vdCB0cnVzdCBiYWNrZW5kIGZvciB2dHBtIGluIGdldGluZm8gKGV4Y2VwdA0K LSB1dWlkKQ0KLQ0KLSogRG8gbm90IGNoZWNrIHRoZSBiYWNrZW5kIGZvciBleGlzdGVuY2UuICBX ZSBoYXZlIGFscmVhZHkgcmVhZCB0aGUNCi0gIC9saWJ4bCBwYXRoIHNvIGtub3cgdGhhdCB0aGUg dnRwbSBleGlzdHMgKG9yIGlzIHN1cHBvc2VkIHRvKTsgaWYgdGhlDQotICBiYWNrZW5kIGRvZXNu J3QgZXhpc3QgdGhlbiB0aGF0IG11c3QgYmUgdGhlIGJhY2tlbmQncyBkb2luZy4NCi0qIEdldCB0 aGUgZnJvbnRlbmQgcGF0aCBmcm9tIHRoZSAvbGlieGwgZGlyZWN0b3J5Lg0KLSogVGhlIGZyb250 ZW5kIGRvbWlkIGlzIHRoZSBndWVzdCBkb21pZCwgYW5kIGRvZXMgbm90IG5lZWQgdG8gYmUgcmVh ZA0KLSAgZnJvbSB4ZW5zdG9yZSAoISkNCi0NCi1XZSBzdGlsbCBhdHRlbXB0IHRvIHJlYWQgdGhl IHV1aWQgZnJvbSB0aGUgYmFja2VuZC4gIFRoaXMgd2lsbCBiZQ0KLWZpeGVkIGluIHRoZSBuZXh0 IHBhdGNoLg0KLQ0KLVRoaXMgaXMgcGFydCBvZiBYU0EtMTc4Lg0KLQ0KLVNpZ25lZC1vZmYtYnk6 IElhbiBKYWNrc29uIDxpYW4uamFja3NvbkBldS5jaXRyaXguY29tPg0KLVJldmlld2VkLWJ5OiBX ZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPg0KLS0tLQ0KLSB0b29scy9saWJ4bC9saWJ4bC5j IHwgMTAgKystLS0tLS0tLQ0KLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCA4IGRl bGV0aW9ucygtKQ0KLQ0KLWRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bC5jIGIvdG9vbHMv bGlieGwvbGlieGwuYw0KLWluZGV4IDJkZDI0NjcuLjFjMjQxY2UgMTAwNjQ0DQotLS0tIGEvdG9v bHMvbGlieGwvbGlieGwuYw0KLSsrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsLmMNCi1AQCAtMjIzOCw5 ICsyMjM4LDYgQEAgaW50IGxpYnhsX2RldmljZV92dHBtX2dldGluZm8obGlieGxfY3R4ICpjdHgs DQotICAgICBpZiAoIXZ0cG1pbmZvLT5iYWNrZW5kKSB7DQotICAgICAgICAgZ290byBlcnI7DQot ICAgICB9DQotLSAgICBpZighbGlieGxfX3hzX3JlYWQoZ2MsIFhCVF9OVUxMLCB2dHBtaW5mby0+ YmFja2VuZCkpIHsNCi0tICAgICAgIGdvdG8gZXJyOw0KLS0gICAgfQ0KLSANCi0gICAgIHJjID0g bGlieGxfX2JhY2tlbmRwYXRoX3BhcnNlX2RvbWlkKGdjLCB2dHBtaW5mby0+YmFja2VuZCwNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ2dHBtaW5mby0+YmFja2Vu ZF9pZCk7DQotQEAgLTIyNTksMTEgKzIyNTYsOCBAQCBpbnQgbGlieGxfZGV2aWNlX3Z0cG1fZ2V0 aW5mbyhsaWJ4bF9jdHggKmN0eCwNCi0gICAgIHZ0cG1pbmZvLT5ycmVmID0gdmFsID8gc3RydG91 bCh2YWwsIE5VTEwsIDEwKSA6IC0xOw0KLSANCi0gICAgIHZ0cG1pbmZvLT5mcm9udGVuZCA9IHhz X3JlYWQoY3R4LT54c2gsIFhCVF9OVUxMLA0KLS0gICAgICAgICAgR0NTUFJJTlRGKCIlcy9mcm9u dGVuZCIsIHZ0cG1pbmZvLT5iYWNrZW5kKSwgTlVMTCk7DQotLQ0KLS0gICAgdmFsID0gbGlieGxf X3hzX3JlYWQoZ2MsIFhCVF9OVUxMLA0KLS0gICAgICAgICAgR0NTUFJJTlRGKCIlcy9mcm9udGVu ZC1pZCIsIHZ0cG1pbmZvLT5iYWNrZW5kKSk7DQotLSAgICB2dHBtaW5mby0+ZnJvbnRlbmRfaWQg PSB2YWwgPyBzdHJ0b3VsKHZhbCwgTlVMTCwgMTApIDogLTE7DQotKyAgICAgICAgICBHQ1NQUklO VEYoIiVzL2Zyb250ZW5kIiwgbGlieGxfcGF0aCksIE5VTEwpOw0KLSsgICAgdnRwbWluZm8tPmZy b250ZW5kX2lkID0gZG9taWQ7DQotIA0KLSAgICAgdmFsID0gbGlieGxfX3hzX3JlYWQoZ2MsIFhC VF9OVUxMLA0KLSAgICAgICAgICAgR0NTUFJJTlRGKCIlcy91dWlkIiwgdnRwbWluZm8tPmJhY2tl bmQpKTsNCi0tLSANCi0xLjkuMQ0KLQ0KZGlmZiAtLWdpdCBhL21haW4veGVuLzAwMDMtbGlieGwt RG8tbm90LXRydXN0LWZyb250ZW5kLWluLWxpYnhsX19kZXZpY2VzX2Rlc3Ryby5wYXRjaCBiL21h aW4veGVuLzAwMDMtbGlieGwtRG8tbm90LXRydXN0LWZyb250ZW5kLWluLWxpYnhsX19kZXZpY2Vz X2Rlc3Ryby5wYXRjaA0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCBhMjFhODUzLi4w MDAwMDAwDQotLS0gYS9tYWluL3hlbi8wMDAzLWxpYnhsLURvLW5vdC10cnVzdC1mcm9udGVuZC1p bi1saWJ4bF9fZGV2aWNlc19kZXN0cm8ucGF0Y2gNCisrKyAvZGV2L251bGwNCkBAIC0xLDc3ICsw LDAgQEANCi1Gcm9tIDkyNGFjNzZjYmE4MTBjM2M4ZDU5NGY3OGY5NmZiZjdjNzkyYzNmNTQgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxDQotRnJvbTogSWFuIEphY2tzb24gPGlhbi5qYWNrc29uQGV1 LmNpdHJpeC5jb20+DQotRGF0ZTogVHVlLCAzIE1heSAyMDE2IDE4OjM5OjM2ICswMTAwDQotU3Vi amVjdDogW1BBVENIIDAzLzEyXSBsaWJ4bDogRG8gbm90IHRydXN0IGZyb250ZW5kIGluIGxpYnhs X19kZXZpY2VzX2Rlc3Ryb3kNCi0NCi1XZSBuZWVkIHRvIGVudW1lcmF0ZSB0aGUgZGV2aWNlcyB3 ZSBoYXZlIHByb3ZpZGVkIHRvIGEgZG9tYWluLCB3aXRob3V0DQotdHJ1c3RpbmcgdGhlIGd1ZXN0 LXdyaXRlYWJsZSAob3IsIGF0IGxlYXN0LCBndWVzdC1kZWxldGFibGUpIGZyb250ZW5kDQotcGF0 aHMuDQotDQotSW5zdGVhZCwgZW51bWVyYXRlIHZpYSwgYW5kIHJlYWQgdGhlIGJhY2tlbmQgcGF0 aCBmcm9tLCAvbGlieGwuDQotDQotVGhlIGNvbnNvbGUgL2xpYnhsIHBhdGggaXMgcmVndWxhciwg c28gdGhlIHNwZWNpYWwgY2FzZSBmb3IgY29uc29sZSAwDQotaXMgbm90IHJlbGV2YW50IGFueSBt b3JlOiAvbGlieGwvR1VFU1QvZGV2aWNlL2NvbnNvbGUvMCB3aWxsIGJlIGZvdW5kLA0KLWFuZCB0 aGVuIGxpYnhsX19kZXZpY2VfZGVzdHJveSB3aWxsIERUUlQgdG8gdGhlIHJpZ2h0IGZyb250ZW5k IHBhdGguDQotDQotVGhpcyBpcyBwYXJ0IG9mIFhTQS0xNzUuDQotDQotU2lnbmVkLW9mZi1ieTog SWFuIEphY2tzb24gPElhbi5KYWNrc29uQGV1LmNpdHJpeC5jb20+DQotUmV2aWV3ZWQtYnk6IFdl aSBMaXUgPHdlaS5saXUyQGNpdHJpeC5jb20+DQotLS0tDQotIHRvb2xzL2xpYnhsL2xpYnhsX2Rl dmljZS5jIHwgMjIgKysrLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLSAxIGZpbGUgY2hhbmdlZCwgMyBp bnNlcnRpb25zKCspLCAxOSBkZWxldGlvbnMoLSkNCi0NCi1kaWZmIC0tZ2l0IGEvdG9vbHMvbGli eGwvbGlieGxfZGV2aWNlLmMgYi90b29scy9saWJ4bC9saWJ4bF9kZXZpY2UuYw0KLWluZGV4IDkx MzZiMjYuLjM4YWIzOTMgMTAwNjQ0DQotLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfZGV2aWNlLmMN Ci0rKysgYi90b29scy9saWJ4bC9saWJ4bF9kZXZpY2UuYw0KLUBAIC02ODMsNyArNjgzLDcgQEAg dm9pZCBsaWJ4bF9fZGV2aWNlc19kZXN0cm95KGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX2Rldmlj ZXNfcmVtb3ZlX3N0YXRlICpkcnMpDQotICAgICBsaWJ4bF9fbXVsdGlkZXZfYmVnaW4oYW8sIG11 bHRpZGV2KTsNCi0gICAgIG11bHRpZGV2LT5jYWxsYmFjayA9IGRldmljZXNfcmVtb3ZlX2NhbGxi YWNrOw0KLSANCi0tICAgIHBhdGggPSBHQ1NQUklOVEYoIi9sb2NhbC9kb21haW4vJWQvZGV2aWNl IiwgZG9taWQpOw0KLSsgICAgcGF0aCA9IEdDU1BSSU5URigiL2xpYnhsLyVkL2RldmljZSIsIGRv bWlkKTsNCi0gICAgIGtpbmRzID0gbGlieGxfX3hzX2RpcmVjdG9yeShnYywgWEJUX05VTEwsIHBh dGgsICZudW1fa2luZHMpOw0KLSAgICAgaWYgKCFraW5kcykgew0KLSAgICAgICAgIGlmIChlcnJu byAhPSBFTk9FTlQpIHsNCi1AQCAtNjk2LDEyICs2OTYsMTIgQEAgdm9pZCBsaWJ4bF9fZGV2aWNl c19kZXN0cm95KGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX2RldmljZXNfcmVtb3ZlX3N0YXRlICpk cnMpDQotICAgICAgICAgaWYgKGxpYnhsX19kZXZpY2Vfa2luZF9mcm9tX3N0cmluZyhraW5kc1tp XSwgJmtpbmQpKQ0KLSAgICAgICAgICAgICBjb250aW51ZTsNCi0gDQotLSAgICAgICAgcGF0aCA9 IEdDU1BSSU5URigiL2xvY2FsL2RvbWFpbi8lZC9kZXZpY2UvJXMiLCBkb21pZCwga2luZHNbaV0p Ow0KLSsgICAgICAgIHBhdGggPSBHQ1NQUklOVEYoIi9saWJ4bC8lZC9kZXZpY2UvJXMiLCBkb21p ZCwga2luZHNbaV0pOw0KLSAgICAgICAgIGRldnMgPSBsaWJ4bF9feHNfZGlyZWN0b3J5KGdjLCBY QlRfTlVMTCwgcGF0aCwgJm51bV9kZXZfeHNlbnRyaWVzKTsNCi0gICAgICAgICBpZiAoIWRldnMp DQotICAgICAgICAgICAgIGNvbnRpbnVlOw0KLSAgICAgICAgIGZvciAoaiA9IDA7IGogPCBudW1f ZGV2X3hzZW50cmllczsgaisrKSB7DQotLSAgICAgICAgICAgIHBhdGggPSBHQ1NQUklOVEYoIi9s b2NhbC9kb21haW4vJWQvZGV2aWNlLyVzLyVzL2JhY2tlbmQiLA0KLSsgICAgICAgICAgICBwYXRo ID0gR0NTUFJJTlRGKCIvbGlieGwvJWQvZGV2aWNlLyVzLyVzL2JhY2tlbmQiLA0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGRvbWlkLCBraW5kc1tpXSwgZGV2c1tqXSk7DQotICAgICAg ICAgICAgIHBhdGggPSBsaWJ4bF9feHNfcmVhZChnYywgWEJUX05VTEwsIHBhdGgpOw0KLSAgICAg ICAgICAgICBHQ05FVyhkZXYpOw0KLUBAIC03MjYsMjIgKzcyNiw2IEBAIHZvaWQgbGlieGxfX2Rl dmljZXNfZGVzdHJveShsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19kZXZpY2VzX3JlbW92ZV9zdGF0 ZSAqZHJzKQ0KLSAgICAgICAgIH0NCi0gICAgIH0NCi0gDQotLSAgICAvKiBjb25zb2xlIDAgZnJv bnRlbmQgZGlyZWN0b3J5IGlzIG5vdCB1bmRlciAvbG9jYWwvZG9tYWluLzxkb21pZD4vZGV2aWNl ICovDQotLSAgICBwYXRoID0gR0NTUFJJTlRGKCIvbG9jYWwvZG9tYWluLyVkL2NvbnNvbGUvYmFj a2VuZCIsIGRvbWlkKTsNCi0tICAgIHBhdGggPSBsaWJ4bF9feHNfcmVhZChnYywgWEJUX05VTEws IHBhdGgpOw0KLS0gICAgR0NORVcoZGV2KTsNCi0tICAgIGlmIChwYXRoICYmIHN0cmNtcChwYXRo LCAiIikgJiYNCi0tICAgICAgICBsaWJ4bF9fcGFyc2VfYmFja2VuZF9wYXRoKGdjLCBwYXRoLCBk ZXYpID09IDApIHsNCi0tICAgICAgICBkZXYtPmRvbWlkID0gZG9taWQ7DQotLSAgICAgICAgZGV2 LT5raW5kID0gTElCWExfX0RFVklDRV9LSU5EX0NPTlNPTEU7DQotLSAgICAgICAgZGV2LT5kZXZp ZCA9IDA7DQotLQ0KLS0gICAgICAgIC8qIEN1cnJlbnRseSBjb25zb2xlIGRldmljZXMgY2FuIGJl IGRlc3Ryb3llZCBzeW5jaHJvbm91c2x5IGJ5IGp1c3QNCi0tICAgICAgICAgKiByZW1vdmluZyB4 ZW5zdG9yZSBlbnRyaWVzLCB0aGlzIGlzIHdoYXQgbGlieGxfX2RldmljZV9kZXN0cm95IGRvZXMu DQotLSAgICAgICAgICovDQotLSAgICAgICAgbGlieGxfX2RldmljZV9kZXN0cm95KGdjLCBkZXYp Ow0KLS0gICAgfQ0KLS0NCi0gb3V0Og0KLSAgICAgbGlieGxfX211bHRpZGV2X3ByZXBhcmVkKGVn YywgbXVsdGlkZXYsIHJjKTsNCi0gfQ0KLS0tIA0KLTIuMS40DQotDQpkaWZmIC0tZ2l0IGEvbWFp bi94ZW4vMDAwNC1saWJ4bC1Eby1ub3QtdHJ1c3QtYmFja2VuZC1mb3ItdnRwbS1pbi1nZXRpbmZv LXV1aWQucGF0Y2ggYi9tYWluL3hlbi8wMDA0LWxpYnhsLURvLW5vdC10cnVzdC1iYWNrZW5kLWZv ci12dHBtLWluLWdldGluZm8tdXVpZC5wYXRjaA0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0DQpp bmRleCBjYjVkZmM1Li4wMDAwMDAwDQotLS0gYS9tYWluL3hlbi8wMDA0LWxpYnhsLURvLW5vdC10 cnVzdC1iYWNrZW5kLWZvci12dHBtLWluLWdldGluZm8tdXVpZC5wYXRjaA0KKysrIC9kZXYvbnVs bA0KQEAgLTEsNDYgKzAsMCBAQA0KLUZyb20gMmNkNjZlOGJmNDlmNWZmMWFhMDM1MDZhYWI3NGRk MGViZTI3NzZmYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDENCi1Gcm9tOiBJYW4gSmFja3NvbiA8 aWFuLmphY2tzb25AZXUuY2l0cml4LmNvbT4NCi1EYXRlOiBGcmksIDI5IEFwciAyMDE2IDE2OjU3 OjE0ICswMTAwDQotU3ViamVjdDogW1BBVENIIDA0LzIwXSBsaWJ4bDogRG8gbm90IHRydXN0IGJh Y2tlbmQgZm9yIHZ0cG0gaW4gZ2V0aW5mbyAodXVpZCkNCi0NCi1Vc2UgdXVpZCBmcm9tIC9saWJ4 bCwgcmF0aGVyIHRoYW4gZnJvbSBiYWNrZW5kLiAgSSB0aGluayB0aGUgYmFja2VuZA0KLWlzIG5v dCBzdXBwb3NlZCB0byBjaGFuZ2UgdGhlIHV1aWQsIHNpbmNlIGl0IHNlZW1zIHRvIGJlIHNldCBi eSBsaWJ4bA0KLWR1cmluZyBzZXR1cC4NCi0NCi1JZiBpbiBmYWN0IHRoZSBiYWNrZW5kIGlzIHN1 cHBvc2VkIHRvIGJlIGFibGUgdG8gY2hhbmdlIHRoZSB1dWlkLCB0aGlzDQotcGF0Y2ggbmVlZHMg dG8gYmUgZHJvcHBlZCBhbmQgcmVwbGFjZWQgYnkgYSBwYXRjaCB3aGljaCBtYWtlcyB0aGUgdnRw bQ0KLXV1aWQgbG9va3VwIHRvbGVyYXRlIGJhZCBvciBtaXNzaW5nIGRhdGEuDQotDQotVGhpcyBp cyBwYXJ0IG9mIFhTQS0xNzguDQotDQotU2lnbmVkLW9mZi1ieTogSWFuIEphY2tzb24gPElhbi5K YWNrc29uQGV1LmNpdHJpeC5jb20+DQotUmV2aWV3ZWQtYnk6IFdlaSBMaXUgPHdlaS5saXUyQGNp dHJpeC5jb20+DQotLS0tDQotIHRvb2xzL2xpYnhsL2xpYnhsLmMgfCA0ICsrLS0NCi0gMSBmaWxl IGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkNCi0NCi1kaWZmIC0tZ2l0 IGEvdG9vbHMvbGlieGwvbGlieGwuYyBiL3Rvb2xzL2xpYnhsL2xpYnhsLmMNCi1pbmRleCAxYzI0 MWNlLi4yM2ZmODcxIDEwMDY0NA0KLS0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsLmMNCi0rKysgYi90 b29scy9saWJ4bC9saWJ4bC5jDQotQEAgLTIyMDAsNyArMjIwMCw3IEBAIGxpYnhsX2RldmljZV92 dHBtICpsaWJ4bF9kZXZpY2VfdnRwbV9saXN0KGxpYnhsX2N0eCAqY3R4LCB1aW50MzJfdCBkb21p ZCwgaW50ICpuDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAmdnRwbS0+YmFja2VuZF9kb21pZCk7DQotICAgICAgICAgICBpZiAocmMpIHJldHVybiBOVUxM Ow0KLSANCi0tICAgICAgICAgIHRtcCA9IGxpYnhsX194c19yZWFkKGdjLCBYQlRfTlVMTCwgR0NT UFJJTlRGKCIlcy91dWlkIiwgYmVfcGF0aCkpOw0KLSsgICAgICAgICAgdG1wID0gbGlieGxfX3hz X3JlYWQoZ2MsIFhCVF9OVUxMLCBHQ1NQUklOVEYoIiVzL3V1aWQiLCBsaWJ4bF9wYXRoKSk7DQot ICAgICAgICAgICBpZiAodG1wKSB7DQotICAgICAgICAgICAgICAgaWYobGlieGxfdXVpZF9mcm9t X3N0cmluZygmKHZ0cG0tPnV1aWQpLCB0bXApKSB7DQotICAgICAgICAgICAgICAgICAgIExPRyhF UlJPUiwgIiVzL3V1aWQgaXMgYSBtYWxmb3JtZWQgdXVpZD8/ICglcykgUHJvYmFibHkgYSBidWch IVxuIiwgYmVfcGF0aCwgdG1wKTsNCi1AQCAtMjI2MCw3ICsyMjYwLDcgQEAgaW50IGxpYnhsX2Rl dmljZV92dHBtX2dldGluZm8obGlieGxfY3R4ICpjdHgsDQotICAgICB2dHBtaW5mby0+ZnJvbnRl bmRfaWQgPSBkb21pZDsNCi0gDQotICAgICB2YWwgPSBsaWJ4bF9feHNfcmVhZChnYywgWEJUX05V TEwsDQotLSAgICAgICAgICBHQ1NQUklOVEYoIiVzL3V1aWQiLCB2dHBtaW5mby0+YmFja2VuZCkp Ow0KLSsgICAgICAgICAgR0NTUFJJTlRGKCIlcy91dWlkIiwgbGlieGxfcGF0aCkpOw0KLSAgICAg aWYodmFsID09IE5VTEwpIHsNCi0gICAgICAgIExPRyhFUlJPUiwgIiVzL3V1aWQgZG9lcyBub3Qg ZXhpc3QhXG4iLCB2dHBtaW5mby0+YmFja2VuZCk7DQotICAgICAgICBnb3RvIGVycjsNCi0tLSAN Ci0xLjkuMQ0KLQ0KZGlmZiAtLWdpdCBhL21haW4veGVuLzAwMDQtbGlieGwtRG8tbm90LXRydXN0 LWZyb250ZW5kLWluLWxpYnhsX19kZXZpY2VfbmV4dGlkLnBhdGNoIGIvbWFpbi94ZW4vMDAwNC1s aWJ4bC1Eby1ub3QtdHJ1c3QtZnJvbnRlbmQtaW4tbGlieGxfX2RldmljZV9uZXh0aWQucGF0Y2gN CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggY2RiYmMyNi4uMDAwMDAwMA0KLS0tIGEv bWFpbi94ZW4vMDAwNC1saWJ4bC1Eby1ub3QtdHJ1c3QtZnJvbnRlbmQtaW4tbGlieGxfX2Rldmlj ZV9uZXh0aWQucGF0Y2gNCisrKyAvZGV2L251bGwNCkBAIC0xLDQzICswLDAgQEANCi1Gcm9tIDEw NzBkOGRhYTZhNzNhNjZjZWFiZDljZDZjODljZTcxMmI2OWJhZmUgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxDQotRnJvbTogSWFuIEphY2tzb24gPGlhbi5qYWNrc29uQGV1LmNpdHJpeC5jb20+DQot RGF0ZTogV2VkLCA0IE1heSAyMDE2IDE1OjMwOjMyICswMTAwDQotU3ViamVjdDogW1BBVENIIDA0 LzEyXSBsaWJ4bDogRG8gbm90IHRydXN0IGZyb250ZW5kIGluIGxpYnhsX19kZXZpY2VfbmV4dGlk DQotDQotV2hlbiBzZWxlY3RpbmcgdGhlIGRldmlkIGZvciBhIG5ldyBkZXZpY2UsIHdlIHNob3Vs ZCBsb29rIGluDQotL2xpYnhsL2RldmljZSBmb3IgZXhpc3RpbmcgZGV2aWNlcywgbm90IGluIHRo ZSBmcm9udGVuZCBhcmVhLg0KLQ0KLVRoaXMgaXMgcGFydCBvZiBYU0EtMTc1Lg0KLQ0KLVNpZ25l ZC1vZmYtYnk6IElhbiBKYWNrc29uIDxJYW4uSmFja3NvbkBldS5jaXRyaXguY29tPg0KLVJldmll d2VkLWJ5OiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPg0KLS0tLQ0KLSB0b29scy9saWJ4 bC9saWJ4bC5jIHwgNyArKysrLS0tDQotIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyks IDMgZGVsZXRpb25zKC0pDQotDQotZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsLmMgYi90 b29scy9saWJ4bC9saWJ4bC5jDQotaW5kZXggMzEyYTM3MS4uMTcwZGQ0NSAxMDA2NDQNCi0tLS0g YS90b29scy9saWJ4bC9saWJ4bC5jDQotKysrIGIvdG9vbHMvbGlieGwvbGlieGwuYw0KLUBAIC0x OTg1LDE1ICsxOTg1LDE2IEBAIG91dDoNCi0gLyogY29tbW9uIGZ1bmN0aW9uIHRvIGdldCBuZXh0 IGRldmljZSBpZCAqLw0KLSBzdGF0aWMgaW50IGxpYnhsX19kZXZpY2VfbmV4dGlkKGxpYnhsX19n YyAqZ2MsIHVpbnQzMl90IGRvbWlkLCBjaGFyICpkZXZpY2UpDQotIHsNCi0tICAgIGNoYXIgKmRv bXBhdGgsICoqbDsNCi0rICAgIGNoYXIgKmxpYnhsX2RvbV9wYXRoLCAqKmw7DQotICAgICB1bnNp Z25lZCBpbnQgbmI7DQotICAgICBpbnQgbmV4dGlkID0gLTE7DQotIA0KLS0gICAgaWYgKCEoZG9t cGF0aCA9IGxpYnhsX194c19nZXRfZG9tcGF0aChnYywgZG9taWQpKSkNCi0rICAgIGlmICghKGxp YnhsX2RvbV9wYXRoID0gbGlieGxfX3hzX2xpYnhsX3BhdGgoZ2MsIGRvbWlkKSkpDQotICAgICAg ICAgcmV0dXJuIG5leHRpZDsNCi0gDQotICAgICBsID0gbGlieGxfX3hzX2RpcmVjdG9yeShnYywg WEJUX05VTEwsDQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBHQ1NQUklOVEYoIiVzL2Rl dmljZS8lcyIsIGRvbXBhdGgsIGRldmljZSksICZuYik7DQotKyAgICAgICAgR0NTUFJJTlRGKCIl cy9kZXZpY2UvJXMiLCBsaWJ4bF9kb21fcGF0aCwgZGV2aWNlKSwNCi0rICAgICAgICAgICAgICAg ICAgICAgICAgICAgICZuYik7DQotICAgICBpZiAobCA9PSBOVUxMIHx8IG5iID09IDApDQotICAg ICAgICAgbmV4dGlkID0gMDsNCi0gICAgIGVsc2UNCi0tLSANCi0yLjEuNA0KLQ0KZGlmZiAtLWdp dCBhL21haW4veGVuLzAwMDUtbGlieGwtRG8tbm90LXRydXN0LWZyb250ZW5kLWZvci1kaXNrLWVq ZWN0LWV2ZW50LnBhdGNoIGIvbWFpbi94ZW4vMDAwNS1saWJ4bC1Eby1ub3QtdHJ1c3QtZnJvbnRl bmQtZm9yLWRpc2stZWplY3QtZXZlbnQucGF0Y2gNCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NA0K aW5kZXggMmQ5ZjkyMi4uMDAwMDAwMA0KLS0tIGEvbWFpbi94ZW4vMDAwNS1saWJ4bC1Eby1ub3Qt dHJ1c3QtZnJvbnRlbmQtZm9yLWRpc2stZWplY3QtZXZlbnQucGF0Y2gNCisrKyAvZGV2L251bGwN CkBAIC0xLDEwNCArMCwwIEBADQotRnJvbSAxZDcwNTQzYzRlNTNjMmZjMjgzZTUyMGQwOTgwNjlh YzQxNTgzNDY5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQ0KLUZyb206IElhbiBKYWNrc29uIDxp YW4uamFja3NvbkBldS5jaXRyaXguY29tPg0KLURhdGU6IFdlZCwgMjcgQXByIDIwMTYgMTY6MDg6 NDkgKzAxMDANCi1TdWJqZWN0OiBbUEFUQ0ggMDUvMTJdIGxpYnhsOiBEbyBub3QgdHJ1c3QgZnJv bnRlbmQgZm9yIGRpc2sgZWplY3QgZXZlbnQNCi0NCi1Vc2UgdGhlIC9saWJ4bCBwYXRoIGZvciBp bnRlcnByZXRpbmcgZGlzayBlamVjdCB3YXRjaCBldmVudHM6IGRvIG5vdA0KLXJlYWQgdGhlIGJh Y2tlbmQgcGF0aCBvdXQgb2YgdGhlIGZyb250ZW5kLiAgSW5zdGVhZCwgdXNlIHRoZSB2ZXJzaW9u DQotaW4gL2xpYnhsLiAgVGhhdCBhdm9pZHMgdXMgcmVseWluZyBvbiB0aGUgZ3Vlc3QtbW9kaWZp YWJsZQ0KLSRmcm9udGVuZC9iYWNrZW5kIHBvaW50ZXIuDQotDQotVG8gaW1wbGVtZW50IHRoaXMg d2Ugc3RvcmUgdGhlIHBhdGgNCi0gIC9saWJ4bC8kZ3Vlc3QvZGV2aWNlL3ZiZC8kZGV2aWQvYmFj a2VuZA0KLWluIHRoZSBldmdlbiBzdHJ1Y3R1cmUuDQotDQotVGhpcyBpcyBwYXJ0IG9mIFhTQS0x NzUuDQotDQotU2lnbmVkLW9mZi1ieTogSWFuIEphY2tzb24gPElhbi5KYWNrc29uQGV1LmNpdHJp eC5jb20+DQotUmV2aWV3ZWQtYnk6IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJpeC5jb20+DQotLS0t DQotIHRvb2xzL2xpYnhsL2xpYnhsLmMgICAgICAgICAgfCAyOCArKysrKysrKysrKysrKysrKysr KysrLS0tLS0tDQotIHRvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmggfCAgMiArLQ0KLSAyIGZp bGVzIGNoYW5nZWQsIDIzIGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pDQotDQotZGlmZiAt LWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsLmMgYi90b29scy9saWJ4bC9saWJ4bC5jDQotaW5kZXgg MTcwZGQ0NS4uOWMwZmVkNCAxMDA2NDQNCi0tLS0gYS90b29scy9saWJ4bC9saWJ4bC5jDQotKysr IGIvdG9vbHMvbGlieGwvbGlieGwuYw0KLUBAIC0xMzIzLDkgKzEzMjMsMTAgQEAgc3RhdGljIHZv aWQgZGlza19lamVjdF94c3dhdGNoX2NhbGxiYWNrKGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX2V2 X3hzd2F0Y2ggKncsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj b25zdCBjaGFyICp3cGF0aCwgY29uc3QgY2hhciAqZXBhdGgpIHsNCi0gICAgIEVHQ19HQzsNCi0g ICAgIGxpYnhsX2V2Z2VuX2Rpc2tfZWplY3QgKmV2ZyA9ICh2b2lkKil3Ow0KLS0gICAgY2hhciAq YmFja2VuZDsNCi0rICAgIGNvbnN0IGNoYXIgKmJhY2tlbmQ7DQotICAgICBjaGFyICp2YWx1ZTsN Ci0gICAgIGNoYXIgYmFja2VuZF90eXBlW0JBQ0tFTkRfU1RSSU5HX1NJWkUrMV07DQotKyAgICBp bnQgcmM7DQotIA0KLSAgICAgdmFsdWUgPSBsaWJ4bF9feHNfcmVhZChnYywgWEJUX05VTEwsIHdw YXRoKTsNCi0gDQotQEAgLTEzNDEsOSArMTM0MiwxNiBAQCBzdGF0aWMgdm9pZCBkaXNrX2VqZWN0 X3hzd2F0Y2hfY2FsbGJhY2sobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fZXZfeHN3YXRjaCAqdywN Ci0gICAgIGxpYnhsX2V2ZW50ICpldiA9IE5FV19FVkVOVChlZ2MsIERJU0tfRUpFQ1QsIGV2Zy0+ ZG9taWQsIGV2Zy0+dXNlcik7DQotICAgICBsaWJ4bF9kZXZpY2VfZGlzayAqZGlzayA9ICZldi0+ dS5kaXNrX2VqZWN0LmRpc2s7DQotICAgICANCi0tICAgIGJhY2tlbmQgPSBsaWJ4bF9feHNfcmVh ZChnYywgWEJUX05VTEwsDQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX3Nw cmludGYoZ2MsICIlLipzL2JhY2tlbmQiLA0KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIChpbnQpc3RybGVuKHdwYXRoKS02LCB3cGF0aCkpOw0KLSsgICAgcmMg PSBsaWJ4bF9feHNfcmVhZF9jaGVja2VkKGdjLCBYQlRfTlVMTCwgZXZnLT5iZV9wdHJfcGF0aCwg JmJhY2tlbmQpOw0KLSsgICAgaWYgKHJjKSB7DQotKyAgICAgICAgTElCWExfX0VWRU5UX0RJU0FT VEVSKGVnYywgInhzX3JlYWQgZmFpbGVkIHJlYWRpbmcgYmVfcHRyX3BhdGgiLA0KLSsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBlcnJubywgTElCWExfRVZFTlRfVFlQRV9ESVNLX0VKRUNU KTsNCi0rICAgICAgICByZXR1cm47DQotKyAgICB9DQotKyAgICBpZiAoIWJhY2tlbmQpIHsNCi0r ICAgICAgICAvKiBkZXZpY2UgaGFzIGJlZW4gcmVtb3ZlZCwgbm90IHNpbXBseSBlamVjdGVkICov DQotKyAgICAgICAgcmV0dXJuOw0KLSsgICAgfQ0KLSANCi0gICAgIHNzY2FuZihiYWNrZW5kLA0K LSAgICAgICAgICAgICAiL2xvY2FsL2RvbWFpbi8lZC9iYWNrZW5kLyUiIFRPU1RSSU5HKEJBQ0tF TkRfU1RSSU5HX1NJWkUpDQotQEAgLTEzOTIsMTEgKzE0MDAsMTggQEAgaW50IGxpYnhsX2V2ZW5h YmxlX2Rpc2tfZWplY3QobGlieGxfY3R4ICpjdHgsIHVpbnQzMl90IGd1ZXN0X2RvbWlkLA0KLSAg ICAgaWYgKCFkb21pZCkNCi0gICAgICAgICBkb21pZCA9IGd1ZXN0X2RvbWlkOw0KLSANCi0tICAg IHBhdGggPSBsaWJ4bF9fc3ByaW50ZihnYywgIiVzL2RldmljZS92YmQvJWQvZWplY3QiLA0KLSsg ICAgaW50IGRldmlkID0gbGlieGxfX2RldmljZV9kaXNrX2Rldl9udW1iZXIodmRldiwgTlVMTCwg TlVMTCk7DQotKw0KLSsgICAgcGF0aCA9IEdDU1BSSU5URigiJXMvZGV2aWNlL3ZiZC8lZC9lamVj dCIsDQotICAgICAgICAgICAgICAgICAgbGlieGxfX3hzX2dldF9kb21wYXRoKGdjLCBkb21pZCks DQotLSAgICAgICAgICAgICAgICAgbGlieGxfX2RldmljZV9kaXNrX2Rldl9udW1iZXIodmRldiwg TlVMTCwgTlVMTCkpOw0KLSsgICAgICAgICAgICAgICAgIGRldmlkKTsNCi0gICAgIGlmICghcGF0 aCkgeyByYyA9IEVSUk9SX05PTUVNOyBnb3RvIG91dDsgfQ0KLSANCi0rICAgIGNvbnN0IGNoYXIg KmxpYnhsX3BhdGggPSBHQ1NQUklOVEYoIiVzL2RldmljZS92YmQvJWQiLA0KLSsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9feHNfbGlieGxfcGF0aChnYywgZG9taWQpLA0K LSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXZpZCk7DQotKyAgICBldmctPmJl X3B0cl9wYXRoID0gbGlieGxfX3NwcmludGYoTk9HQywgIiVzL2JhY2tlbmQiLCBsaWJ4bF9wYXRo KTsNCi0rDQotICAgICByYyA9IGxpYnhsX19ldl94c3dhdGNoX3JlZ2lzdGVyKGdjLCAmZXZnLT53 YXRjaCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlza19lamVjdF94 c3dhdGNoX2NhbGxiYWNrLCBwYXRoKTsNCi0gICAgIGlmIChyYykgZ290byBvdXQ7DQotQEAgLTE0 MjMsNiArMTQzOCw3IEBAIHZvaWQgbGlieGxfX2V2ZGlzYWJsZV9kaXNrX2VqZWN0KGxpYnhsX19n YyAqZ2MsIGxpYnhsX2V2Z2VuX2Rpc2tfZWplY3QgKmV2Zykgew0KLSAgICAgICAgIGxpYnhsX19l dl94c3dhdGNoX2RlcmVnaXN0ZXIoZ2MsICZldmctPndhdGNoKTsNCi0gDQotICAgICBmcmVlKGV2 Zy0+dmRldik7DQotKyAgICBmcmVlKGV2Zy0+YmVfcHRyX3BhdGgpOw0KLSAgICAgZnJlZShldmcp Ow0KLSANCi0gICAgIENUWF9VTkxPQ0s7DQotZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhs X2ludGVybmFsLmggYi90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oDQotaW5kZXggYmZlMDZi ZC4uMzAyNTg1YyAxMDA2NDQNCi0tLS0gYS90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oDQot KysrIGIvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaA0KLUBAIC0yNzEsNyArMjcxLDcgQEAg c3RydWN0IGxpYnhsX19ldmdlbl9kaXNrX2VqZWN0IHsNCi0gICAgIHVpbnQzMl90IGRvbWlkOw0K LSAgICAgTElCWExfTElTVF9FTlRSWShsaWJ4bF9ldmdlbl9kaXNrX2VqZWN0KSBlbnRyeTsNCi0g ICAgIGxpYnhsX2V2X3VzZXIgdXNlcjsNCi0tICAgIGNoYXIgKnZkZXY7DQotKyAgICBjaGFyICp2 ZGV2LCAqYmVfcHRyX3BhdGg7DQotIH07DQotIF9oaWRkZW4gdm9pZA0KLSBsaWJ4bF9fZXZkaXNh YmxlX2Rpc2tfZWplY3QobGlieGxfX2djKiwgbGlieGxfZXZnZW5fZGlza19lamVjdCopOw0KLS0t IA0KLTIuMS40DQotDQpkaWZmIC0tZ2l0IGEvbWFpbi94ZW4vMDAwNS1saWJ4bC1jZHJvbS1lamVj dC1hbmQtaW5zZXJ0LXdyaXRlLXRvLWxpYnhsLnBhdGNoIGIvbWFpbi94ZW4vMDAwNS1saWJ4bC1j ZHJvbS1lamVjdC1hbmQtaW5zZXJ0LXdyaXRlLXRvLWxpYnhsLnBhdGNoDQpkZWxldGVkIGZpbGUg bW9kZSAxMDA2NDQNCmluZGV4IDYyNWRkOTcuLjAwMDAwMDANCi0tLSBhL21haW4veGVuLzAwMDUt bGlieGwtY2Ryb20tZWplY3QtYW5kLWluc2VydC13cml0ZS10by1saWJ4bC5wYXRjaA0KKysrIC9k ZXYvbnVsbA0KQEAgLTEsNzMgKzAsMCBAQA0KLUZyb20gMjM4OGJlMDFkZmZiOGEzYWFlODVlYTU4 MDUyZjYwMjAwNTdhZTNiYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDENCi1Gcm9tOiBJYW4gSmFj a3NvbiA8aWFuLmphY2tzb25AZXUuY2l0cml4LmNvbT4NCi1EYXRlOiBGcmksIDI5IEFwciAyMDE2 IDE5OjE1OjEzICswMTAwDQotU3ViamVjdDogW1BBVENIIDA1LzIwXSBsaWJ4bDogY2Ryb20gZWpl Y3QgYW5kIGluc2VydDogd3JpdGUgdG8gL2xpYnhsDQotDQotQ29weSB0aGUgbmV3IHR5cGUgYW5k IHBhcmFtcyB2YWx1ZXMgdG8gL2xpYnhsLCBzbyB0aGF0IHRoZSBpbmZvcm1hdGlvbg0KLWluIC9s aWJ4bCBpcyBrZXB0IHVwIHRvIGRhdGUuDQotDQotVGhpcyBpcyBuZWVkZWQgc28gdGhhdCB3ZSBj YW4gcmV0dXJuIHRoaXMgdHJ1c3R3b3J0aHkgaW5mb3JtYXRpb24sDQotcmF0aGVyIHRoYW4gdHJ1 c3RpbmcgdGhlIGJhY2tlbmQtd3JpdGVhYmxlIHBhcnRzIG9mIHhlbnN0b3JlLg0KLQ0KLVRoaXMg aXMgcGFydCBvZiBYU0EtMTc4Lg0KLQ0KLVNpZ25lZC1vZmYtYnk6IElhbiBKYWNrc29uIDxpYW4u amFja3NvbkBldS5jaXRyaXguY29tPg0KLVJldmlld2VkLWJ5OiBXZWkgTGl1IDx3ZWkubGl1MkBj aXRyaXguY29tPg0KLS0tLQ0KLSB0b29scy9saWJ4bC9saWJ4bC5jIHwgMTkgKysrKysrKysrKysr KystLS0tLQ0KLSAxIGZpbGUgY2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMo LSkNCi0NCi1kaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGwuYyBiL3Rvb2xzL2xpYnhsL2xp YnhsLmMNCi1pbmRleCAyM2ZmODcxLi43ZGNkNjcyIDEwMDY0NA0KLS0tLSBhL3Rvb2xzL2xpYnhs L2xpYnhsLmMNCi0rKysgYi90b29scy9saWJ4bC9saWJ4bC5jDQotQEAgLTI4NDMsNyArMjg0Myw3 IEBAIGludCBsaWJ4bF9jZHJvbV9pbnNlcnQobGlieGxfY3R4ICpjdHgsIHVpbnQzMl90IGRvbWlk LCBsaWJ4bF9kZXZpY2VfZGlzayAqZGlzaywNCi0gICAgIGxpYnhsX2RvbWFpbl9jb25maWcgZF9j b25maWc7DQotICAgICBpbnQgcmMsIGRtX3ZlcjsNCi0gICAgIGxpYnhsX19kZXZpY2UgZGV2aWNl Ow0KLS0gICAgY29uc3QgY2hhciAqIHBhdGg7DQotKyAgICBjb25zdCBjaGFyICpwYXRoLCAqbGli eGxfcGF0aDsNCi0gICAgIGNoYXIgKiB0bXA7DQotICAgICBsaWJ4bF9fZG9tYWluX3VzZXJkYXRh X2xvY2sgKmxvY2sgPSBOVUxMOw0KLSAgICAgeHNfdHJhbnNhY3Rpb25fdCB0ID0gWEJUX05VTEw7 DQotQEAgLTI5MTEsNiArMjkxMSw3IEBAIGludCBsaWJ4bF9jZHJvbV9pbnNlcnQobGlieGxfY3R4 ICpjdHgsIHVpbnQzMl90IGRvbWlkLCBsaWJ4bF9kZXZpY2VfZGlzayAqZGlzaywNCi0gICAgIGlm IChyYykgZ290byBvdXQ7DQotIA0KLSAgICAgcGF0aCA9IGxpYnhsX19kZXZpY2VfYmFja2VuZF9w YXRoKGdjLCAmZGV2aWNlKTsNCi0rICAgIGxpYnhsX3BhdGggPSBsaWJ4bF9fZGV2aWNlX2xpYnhs X3BhdGgoZ2MsICZkZXZpY2UpOw0KLSANCi0gICAgIGluc2VydCA9IGZsZXhhcnJheV9tYWtlKGdj LCA0LCAxKTsNCi0gDQotQEAgLTI5NTksOCArMjk2MCwxMiBAQCBpbnQgbGlieGxfY2Ryb21faW5z ZXJ0KGxpYnhsX2N0eCAqY3R4LCB1aW50MzJfdCBkb21pZCwgbGlieGxfZGV2aWNlX2Rpc2sgKmRp c2ssDQotICAgICAgICAgICAgIGdvdG8gb3V0Ow0KLSAgICAgICAgIH0NCi0gDQotLSAgICAgICAg cmMgPSBsaWJ4bF9feHNfd3JpdGV2KGdjLCB0LCBwYXRoLA0KLS0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBsaWJ4bF9feHNfa3ZzX29mX2ZsZXhhcnJheShnYywgZW1wdHksIGVtcHR5LT5j b3VudCkpOw0KLSsgICAgICAgIGNoYXIgKiprdnMgPSBsaWJ4bF9feHNfa3ZzX29mX2ZsZXhhcnJh eShnYywgZW1wdHksIGVtcHR5LT5jb3VudCk7DQotKw0KLSsgICAgICAgIHJjID0gbGlieGxfX3hz X3dyaXRldihnYywgdCwgcGF0aCwga3ZzKTsNCi0rICAgICAgICBpZiAocmMpIGdvdG8gb3V0Ow0K LSsNCi0rICAgICAgICByYyA9IGxpYnhsX194c193cml0ZXYoZ2MsIHQsIGxpYnhsX3BhdGgsIGt2 cyk7DQotICAgICAgICAgaWYgKHJjKSBnb3RvIG91dDsNCi0gDQotICAgICAgICAgcmMgPSBsaWJ4 bF9feHNfdHJhbnNhY3Rpb25fY29tbWl0KGdjLCAmdCk7DQotQEAgLTI5OTQsOCArMjk5OSwxMiBA QCBpbnQgbGlieGxfY2Ryb21faW5zZXJ0KGxpYnhsX2N0eCAqY3R4LCB1aW50MzJfdCBkb21pZCwg bGlieGxfZGV2aWNlX2Rpc2sgKmRpc2ssDQotICAgICAgICAgcmMgPSBsaWJ4bF9fc2V0X2RvbWFp bl9jb25maWd1cmF0aW9uKGdjLCBkb21pZCwgJmRfY29uZmlnKTsNCi0gICAgICAgICBpZiAocmMp IGdvdG8gb3V0Ow0KLSANCi0tICAgICAgICByYyA9IGxpYnhsX194c193cml0ZXYoZ2MsIHQsIHBh dGgsDQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX194c19rdnNfb2ZfZmxl eGFycmF5KGdjLCBpbnNlcnQsIGluc2VydC0+Y291bnQpKTsNCi0rICAgICAgICBjaGFyICoqa3Zz ID0gbGlieGxfX3hzX2t2c19vZl9mbGV4YXJyYXkoZ2MsIGluc2VydCwgaW5zZXJ0LT5jb3VudCk7 DQotKw0KLSsgICAgICAgIHJjID0gbGlieGxfX3hzX3dyaXRldihnYywgdCwgcGF0aCwga3ZzKTsN Ci0rICAgICAgICBpZiAocmMpIGdvdG8gb3V0Ow0KLSsNCi0rICAgICAgICByYyA9IGxpYnhsX194 c193cml0ZXYoZ2MsIHQsIGxpYnhsX3BhdGgsIGt2cyk7DQotICAgICAgICAgaWYgKHJjKSBnb3Rv IG91dDsNCi0gDQotICAgICAgICAgcmMgPSBsaWJ4bF9feHNfdHJhbnNhY3Rpb25fY29tbWl0KGdj LCAmdCk7DQotLS0gDQotMS45LjENCi0NCmRpZmYgLS1naXQgYS9tYWluL3hlbi8wMDA2LWxpYnhs LURvLW5vdC10cnVzdC1iYWNrZW5kLWZvci1kaXNrLWVqZWN0LXZkZXYucGF0Y2ggYi9tYWluL3hl bi8wMDA2LWxpYnhsLURvLW5vdC10cnVzdC1iYWNrZW5kLWZvci1kaXNrLWVqZWN0LXZkZXYucGF0 Y2gNCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggYjNlNDJkYS4uMDAwMDAwMA0KLS0t IGEvbWFpbi94ZW4vMDAwNi1saWJ4bC1Eby1ub3QtdHJ1c3QtYmFja2VuZC1mb3ItZGlzay1lamVj dC12ZGV2LnBhdGNoDQorKysgL2Rldi9udWxsDQpAQCAtMSw2NyArMCwwIEBADQotRnJvbSBjN2U5 YzRiMTIzMWVmZmRjMTI4M2Q5YTRhMjY0NWUzOTVhZGIwMWQ1IE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQ0KLUZyb206IElhbiBKYWNrc29uIDxpYW4uamFja3NvbkBldS5jaXRyaXguY29tPg0KLURh dGU6IEZyaSwgMjkgQXByIDIwMTYgMTY6MjM6MzUgKzAxMDANCi1TdWJqZWN0OiBbUEFUQ0ggMDYv MjBdIGxpYnhsOiBEbyBub3QgdHJ1c3QgYmFja2VuZCBmb3IgZGlzayBlamVjdCB2ZGV2DQotDQot Rm9yIGRpc2sgZWplY3QsIHVzZSBjb25maWd1cmVkIHZkZXYgZnJvbSAvbGlieGwsIG5vdCBiYWNr ZW5kLg0KLQ0KLVRoZSBiYWNrZW5kIGRpcmVjdG9yeSBpcyB3cml0ZWFibGUgYnkgZHJpdmVyIGRv bWFpbnMuICBUaGlzIG1lYW5zIHRoYXQNCi1hIG1hbGljaW91cyBkcml2ZXIgZG9tYWluIGNvdWxk IGNhdXNlIGxpYnhsIHRvIHNlZSBhIHdyb25nIHZkZXYsDQotY29uZnVzaW5nIHRoZSB1c2VyIG9y IHRoZSB0b29sc3RhY2suDQotDQotVXNlIHRoZSB2ZGV2IGZyb20gdGhlIC9saWJ4bCBzcGFjZSwg cmF0aGVyIHRoYW4gdGhlIGJhY2tlbmQuDQotDQotRm9yIGNvbnZlbmllbmNlLCB3ZSByZWFkIHRo ZSB2ZGV2IGZyb20gdGhlIC9saWJ4bCBzcGFjZSBpbnRvIHRoZSBldmcNCi1kdXJpbmcgc2V0dXAg YW5kIGNvcHkgaXQgb24gZWFjaCBldmVudCwgcmF0aGVyIHRoYW4gcmVhZGluZyBpdCBhZnJlc2gN Ci1lYWNoIHRpbWUgKHdoaWNoIHdvdWxkIGluIGFueSBjYXNlIGludm9sdmUgZ2VuZXJhdGluZyBv ciBzYXZpbmcgYSBjb3B5DQotb2YgdGhlIHJlbGV2YW50IC9saWJ4bCBwYXRoKS4NCi0NCi1UaGlz IGlzIHBhcnQgb2YgWFNBLTE3OC4NCi0NCi1TaWduZWQtb2ZmLWJ5OiBJYW4gSmFja3NvbiA8aWFu LmphY2tzb25AZXUuY2l0cml4LmNvbT4NCi1SZXZpZXdlZC1ieTogV2VpIExpdSA8d2VpLmxpdTJA Y2l0cml4LmNvbT4NCi0tLS0NCi0gdG9vbHMvbGlieGwvbGlieGwuYyB8IDEzICsrKysrKysrLS0t LS0NCi0gMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkNCi0N Ci1kaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGwuYyBiL3Rvb2xzL2xpYnhsL2xpYnhsLmMN Ci1pbmRleCA3ZGNkNjcyLi4xMzgxNjdkIDEwMDY0NA0KLS0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhs LmMNCi0rKysgYi90b29scy9saWJ4bC9saWJ4bC5jDQotQEAgLTEzNjgsOCArMTM2OCw3IEBAIHN0 YXRpYyB2b2lkIGRpc2tfZWplY3RfeHN3YXRjaF9jYWxsYmFjayhsaWJ4bF9fZWdjICplZ2MsIGxp YnhsX19ldl94c3dhdGNoICp3LA0KLSAgICAgZGlzay0+cGRldl9wYXRoID0gc3RyZHVwKCIiKTsg LyogeHh4IGZpeG1lIG1hbGxvYyBmYWlsdXJlICovDQotICAgICBkaXNrLT5mb3JtYXQgPSBMSUJY TF9ESVNLX0ZPUk1BVF9FTVBUWTsNCi0gICAgIC8qIHRoaXMgdmFsdWUgaXMgcmV0dXJuZWQgdG8g dGhlIHVzZXI6IGRvIG5vdCBmcmVlIHJpZ2h0IGF3YXkgKi8NCi0tICAgIGRpc2stPnZkZXYgPSB4 c19yZWFkKENUWC0+eHNoLCBYQlRfTlVMTCwNCi0tICAgICAgICAgICAgICAgICAgICAgICAgIGxp YnhsX19zcHJpbnRmKGdjLCAiJXMvZGV2IiwgYmFja2VuZCksIE5VTEwpOw0KLSsgICAgZGlzay0+ dmRldiA9IGxpYnhsX19zdHJkdXAoTk9HQywgZXZnLT52ZGV2KTsNCi0gICAgIGRpc2stPnJlbW92 YWJsZSA9IDE7DQotICAgICBkaXNrLT5yZWFkd3JpdGUgPSAwOw0KLSAgICAgZGlzay0+aXNfY2Ry b20gPSAxOw0KLUBAIC0xMzkyLDkgKzEzOTEsNiBAQCBpbnQgbGlieGxfZXZlbmFibGVfZGlza19l amVjdChsaWJ4bF9jdHggKmN0eCwgdWludDMyX3QgZ3Vlc3RfZG9taWQsDQotICAgICBldmctPmRv bWlkID0gZ3Vlc3RfZG9taWQ7DQotICAgICBMSUJYTF9MSVNUX0lOU0VSVF9IRUFEKCZDVFgtPmRp c2tfZWplY3RfZXZnZW5zLCBldmcsIGVudHJ5KTsNCi0gDQotLSAgICBldmctPnZkZXYgPSBzdHJk dXAodmRldik7DQotLSAgICBpZiAoIWV2Zy0+dmRldikgeyByYyA9IEVSUk9SX05PTUVNOyBnb3Rv IG91dDsgfQ0KLS0NCi0gICAgIHVpbnQzMl90IGRvbWlkID0gbGlieGxfZ2V0X3N0dWJkb21faWQo Y3R4LCBndWVzdF9kb21pZCk7DQotIA0KLSAgICAgaWYgKCFkb21pZCkNCi1AQCAtMTQxMiw2ICsx NDA4LDEzIEBAIGludCBsaWJ4bF9ldmVuYWJsZV9kaXNrX2VqZWN0KGxpYnhsX2N0eCAqY3R4LCB1 aW50MzJfdCBndWVzdF9kb21pZCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ZGV2aWQpOw0KLSAgICAgZXZnLT5iZV9wdHJfcGF0aCA9IGxpYnhsX19zcHJpbnRmKE5PR0MsICIl cy9iYWNrZW5kIiwgbGlieGxfcGF0aCk7DQotIA0KLSsgICAgY29uc3QgY2hhciAqY29uZmlndXJl ZF92ZGV2Ow0KLSsgICAgcmMgPSBsaWJ4bF9feHNfcmVhZF9jaGVja2VkKGdjLCBYQlRfTlVMTCwN Ci0rICAgICAgICAgICAgR0NTUFJJTlRGKCIlcy92ZGV2IiwgbGlieGxfcGF0aCksICZjb25maWd1 cmVkX3ZkZXYpOw0KLSsgICAgaWYgKHJjKSBnb3RvIG91dDsNCi0rDQotKyAgICBldmctPnZkZXYg PSBsaWJ4bF9fc3RyZHVwKE5PR0MsIGNvbmZpZ3VyZWRfdmRldik7DQotKw0KLSAgICAgcmMgPSBs aWJ4bF9fZXZfeHN3YXRjaF9yZWdpc3RlcihnYywgJmV2Zy0+d2F0Y2gsDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2tfZWplY3RfeHN3YXRjaF9jYWxsYmFjaywgcGF0 aCk7DQotICAgICBpZiAocmMpIGdvdG8gb3V0Ow0KLS0tIA0KLTEuOS4xDQotDQpkaWZmIC0tZ2l0 IGEvbWFpbi94ZW4vMDAwNi1saWJ4bC1Eby1ub3QtdHJ1c3QtZnJvbnRlbmQtZm9yLWRpc2staW4t Z2V0aW5mby5wYXRjaCBiL21haW4veGVuLzAwMDYtbGlieGwtRG8tbm90LXRydXN0LWZyb250ZW5k LWZvci1kaXNrLWluLWdldGluZm8ucGF0Y2gNCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NA0KaW5k ZXggMmY4YjYzMy4uMDAwMDAwMA0KLS0tIGEvbWFpbi94ZW4vMDAwNi1saWJ4bC1Eby1ub3QtdHJ1 c3QtZnJvbnRlbmQtZm9yLWRpc2staW4tZ2V0aW5mby5wYXRjaA0KKysrIC9kZXYvbnVsbA0KQEAg LTEsNzkgKzAsMCBAQA0KLUZyb20gMTE3NzBkYjcyYmM2NDRjMzIyYWQ5MDQ0ZGJmODZmOWM2Y2Iz YTc4MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDENCi1Gcm9tOiBJYW4gSmFja3NvbiA8aWFuLmph Y2tzb25AZXUuY2l0cml4LmNvbT4NCi1EYXRlOiBGcmksIDI5IEFwciAyMDE2IDE5OjIxOjUxICsw MTAwDQotU3ViamVjdDogW1BBVENIIDA2LzEyXSBsaWJ4bDogRG8gbm90IHRydXN0IGZyb250ZW5k IGZvciBkaXNrIGluIGdldGluZm8NCi0NCi0qIFJlbmFtZSB0aGUgZnJvbnRlbmQgdmFyaWFibGUg dG8gYGZlX3BhdGgnIHRvIGNoZWNrIHdlIGNhdWdodCB0aGVtIGFsbA0KLSogUmVhZCB0aGUgYmFj a2VuZCBwYXRoIGZyb20gL2xpYnhsLCByYXRoZXIgdGhhbiBmcm9tIHRoZSBmcm9udGVuZA0KLSog UGFyc2UgdGhlIGJhY2tlbmQgZG9taWQgZnJvbSB0aGUgYmFja2VuZCBwYXRoLCByYXRoZXIgdGhh biByZWFkaW5nIGl0DQotICBmcm9tIHRoZSBmcm9udGVuZCAoYW5kIGFkZCB0aGUgYXBwcm9wcmlh dGUgZXJyb3IgcGF0aCBhbmQgaW5pdGlhbGlzYXRpb24pDQotDQotVGhpcyBpcyBwYXJ0IG9mIFhT QS0xNzUuDQotDQotU2lnbmVkLW9mZi1ieTogSWFuIEphY2tzb24gPElhbi5KYWNrc29uQGV1LmNp dHJpeC5jb20+DQotUmV2aWV3ZWQtYnk6IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJpeC5jb20+DQot LS0tDQotIHRvb2xzL2xpYnhsL2xpYnhsLmMgfCAyNyArKysrKysrKysrKysrKysrKysrLS0tLS0t LS0NCi0gMSBmaWxlIGNoYW5nZWQsIDE5IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pDQot DQotZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsLmMgYi90b29scy9saWJ4bC9saWJ4bC5j DQotaW5kZXggOWMwZmVkNC4uNjliN2RhNyAxMDA2NDQNCi0tLS0gYS90b29scy9saWJ4bC9saWJ4 bC5jDQotKysrIGIvdG9vbHMvbGlieGwvbGlieGwuYw0KLUBAIC0yNzk2LDI3ICsyNzk2LDM0IEBA IGludCBsaWJ4bF9kZXZpY2VfZGlza19nZXRpbmZvKGxpYnhsX2N0eCAqY3R4LCB1aW50MzJfdCBk b21pZCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfZGV2aWNlX2Rpc2sg KmRpc2ssIGxpYnhsX2Rpc2tpbmZvICpkaXNraW5mbykNCi0gew0KLSAgICAgR0NfSU5JVChjdHgp Ow0KLS0gICAgY2hhciAqZG9tcGF0aCwgKmRpc2twYXRoOw0KLSsgICAgY2hhciAqZG9tcGF0aCwg KmZlX3BhdGgsICpsaWJ4bF9wYXRoOw0KLSAgICAgY2hhciAqdmFsOw0KLSsgICAgaW50IHJjOw0K LSsNCi0rICAgIGRpc2tpbmZvLT5iYWNrZW5kID0gTlVMTDsNCi0gDQotICAgICBkb21wYXRoID0g bGlieGxfX3hzX2dldF9kb21wYXRoKGdjLCBkb21pZCk7DQotICAgICBkaXNraW5mby0+ZGV2aWQg PSBsaWJ4bF9fZGV2aWNlX2Rpc2tfZGV2X251bWJlcihkaXNrLT52ZGV2LCBOVUxMLCBOVUxMKTsN Ci0gDQotICAgICAvKiB0YXAgZGV2aWNlcyBlbnRyaWVzIGluIHhlbnN0b3JlIGFyZSB3cml0dGVu IGFzIHZiZCBkZXZpY2VzLiAqLw0KLS0gICAgZGlza3BhdGggPSBsaWJ4bF9fc3ByaW50ZihnYywg IiVzL2RldmljZS92YmQvJWQiLCBkb21wYXRoLCBkaXNraW5mby0+ZGV2aWQpOw0KLSsgICAgZmVf cGF0aCA9IEdDU1BSSU5URigiJXMvZGV2aWNlL3ZiZC8lZCIsIGRvbXBhdGgsIGRpc2tpbmZvLT5k ZXZpZCk7DQotKyAgICBsaWJ4bF9wYXRoID0gR0NTUFJJTlRGKCIlcy9kZXZpY2UvdmJkLyVkIiwN Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX3hzX2xpYnhsX3BhdGgoZ2MsIGRv bWlkKSwgZGlza2luZm8tPmRldmlkKTsNCi0gICAgIGRpc2tpbmZvLT5iYWNrZW5kID0geHNfcmVh ZChjdHgtPnhzaCwgWEJUX05VTEwsDQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg bGlieGxfX3NwcmludGYoZ2MsICIlcy9iYWNrZW5kIiwgZGlza3BhdGgpLCBOVUxMKTsNCi0rICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHQ1NQUklOVEYoIiVzL2JhY2tlbmQiLCBsaWJ4 bF9wYXRoKSwgTlVMTCk7DQotICAgICBpZiAoIWRpc2tpbmZvLT5iYWNrZW5kKSB7DQotICAgICAg ICAgR0NfRlJFRTsNCi0gICAgICAgICByZXR1cm4gRVJST1JfRkFJTDsNCi0gICAgIH0NCi0tICAg IHZhbCA9IGxpYnhsX194c19yZWFkKGdjLCBYQlRfTlVMTCwgbGlieGxfX3NwcmludGYoZ2MsICIl cy9iYWNrZW5kLWlkIiwgZGlza3BhdGgpKTsNCi0tICAgIGRpc2tpbmZvLT5iYWNrZW5kX2lkID0g dmFsID8gc3RydG91bCh2YWwsIE5VTEwsIDEwKSA6IC0xOw0KLS0gICAgdmFsID0gbGlieGxfX3hz X3JlYWQoZ2MsIFhCVF9OVUxMLCBsaWJ4bF9fc3ByaW50ZihnYywgIiVzL3N0YXRlIiwgZGlza3Bh dGgpKTsNCi0rICAgIHJjID0gbGlieGxfX2JhY2tlbmRwYXRoX3BhcnNlX2RvbWlkKGdjLCBkaXNr aW5mby0+YmFja2VuZCwNCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICZkaXNraW5mby0+YmFja2VuZF9pZCk7DQotKyAgICBpZiAocmMpIGdvdG8gb3V0Ow0KLSsNCi0r ICAgIHZhbCA9IGxpYnhsX194c19yZWFkKGdjLCBYQlRfTlVMTCwgR0NTUFJJTlRGKCIlcy9zdGF0 ZSIsIGZlX3BhdGgpKTsNCi0gICAgIGRpc2tpbmZvLT5zdGF0ZSA9IHZhbCA/IHN0cnRvdWwodmFs LCBOVUxMLCAxMCkgOiAtMTsNCi0tICAgIHZhbCA9IGxpYnhsX194c19yZWFkKGdjLCBYQlRfTlVM TCwgbGlieGxfX3NwcmludGYoZ2MsICIlcy9ldmVudC1jaGFubmVsIiwgZGlza3BhdGgpKTsNCi0r ICAgIHZhbCA9IGxpYnhsX194c19yZWFkKGdjLCBYQlRfTlVMTCwgR0NTUFJJTlRGKCIlcy9ldmVu dC1jaGFubmVsIiwgZmVfcGF0aCkpOw0KLSAgICAgZGlza2luZm8tPmV2dGNoID0gdmFsID8gc3Ry dG91bCh2YWwsIE5VTEwsIDEwKSA6IC0xOw0KLS0gICAgdmFsID0gbGlieGxfX3hzX3JlYWQoZ2Ms IFhCVF9OVUxMLCBsaWJ4bF9fc3ByaW50ZihnYywgIiVzL3JpbmctcmVmIiwgZGlza3BhdGgpKTsN Ci0rICAgIHZhbCA9IGxpYnhsX194c19yZWFkKGdjLCBYQlRfTlVMTCwgR0NTUFJJTlRGKCIlcy9y aW5nLXJlZiIsIGZlX3BhdGgpKTsNCi0gICAgIGRpc2tpbmZvLT5ycmVmID0gdmFsID8gc3RydG91 bCh2YWwsIE5VTEwsIDEwKSA6IC0xOw0KLSAgICAgZGlza2luZm8tPmZyb250ZW5kID0geHNfcmVh ZChjdHgtPnhzaCwgWEJUX05VTEwsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGxpYnhsX19zcHJpbnRmKGdjLCAiJXMvZnJvbnRlbmQiLCBkaXNraW5mby0+YmFja2VuZCksIE5V TEwpOw0KLUBAIC0yODI1LDYgKzI4MzIsMTAgQEAgaW50IGxpYnhsX2RldmljZV9kaXNrX2dldGlu Zm8obGlieGxfY3R4ICpjdHgsIHVpbnQzMl90IGRvbWlkLA0KLSANCi0gICAgIEdDX0ZSRUU7DQot ICAgICByZXR1cm4gMDsNCi0rDQotKyBvdXQ6DQotKyAgICBmcmVlKGRpc2tpbmZvLT5iYWNrZW5k KTsNCi0rICAgIHJldHVybiByYzsNCi0gfQ0KLSANCi0gaW50IGxpYnhsX2Nkcm9tX2luc2VydChs aWJ4bF9jdHggKmN0eCwgdWludDMyX3QgZG9taWQsIGxpYnhsX2RldmljZV9kaXNrICpkaXNrLA0K LS0tIA0KLTIuMS40DQotDQpkaWZmIC0tZ2l0IGEvbWFpbi94ZW4vMDAwNy1saWJ4bC1Eby1ub3Qt dHJ1c3QtYmFja2VuZC1mb3ItZGlzay1maXgtZHJpdmVyLWRvbWFpLnBhdGNoIGIvbWFpbi94ZW4v MDAwNy1saWJ4bC1Eby1ub3QtdHJ1c3QtYmFja2VuZC1mb3ItZGlzay1maXgtZHJpdmVyLWRvbWFp LnBhdGNoDQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDhmY2YwZjQuLjAwMDAwMDAN Ci0tLSBhL21haW4veGVuLzAwMDctbGlieGwtRG8tbm90LXRydXN0LWJhY2tlbmQtZm9yLWRpc2st Zml4LWRyaXZlci1kb21haS5wYXRjaA0KKysrIC9kZXYvbnVsbA0KQEAgLTEsMjQ1ICswLDAgQEAN Ci1Gcm9tIGE4MWE5NGRiN2JkZjBmNmZiZjI0YTc5MTgyZDFkMjQ2Y2ZjMWRkOTYgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxDQotRnJvbTogSWFuIEphY2tzb24gPGlhbi5qYWNrc29uQGV1LmNpdHJp eC5jb20+DQotRGF0ZTogRnJpLCAyOSBBcHIgMjAxNiAxODoyOTo0NSArMDEwMA0KLVN1YmplY3Q6 IFtQQVRDSCAwNy8yMF0gbGlieGw6IERvIG5vdCB0cnVzdCBiYWNrZW5kIGZvciBkaXNrOyBmaXgg ZHJpdmVyIGRvbWFpbg0KLSBkaXNrcyBsaXN0DQotDQotUmV3b3JrIGxpYnhsX19kZXZpY2VfZGlz a19mcm9tX3hzX2JlICh3aGljaCB0YWtlcyBhIGJhY2tlbmQgcGF0aCkgaW50bw0KLXRvIGxpYnhs X19kZXZpY2VfZGlza19mcm9tX3hlbnN0b3JlICh3aGljaCB0YWtlcyBhIGxpYnhsIHBhdGgpLg0K LQ0KLWxpYnhsX19kZXZpY2VfZGlza19mcm9tX3hlbnN0b3JlIG5vdyBmaW5kcyB0aGUgYmFja2Vu ZCBwYXRoIGl0c2VsZiwNCi1hbHRob3VnaCBpdCBkb2Vzbid0IHVzZSBpdCBhbnkgbW9yZSBmb3Ig bW9zdCBvZiBpdHMgZnVuY3Rpb25zLiAgV2UNCi1yZW5hbWUgdGhlIHZhcmlhYmxlIGZyb20gYmVf cGF0aCB0byBiYWNrZW5kX3BhdGggdG8gbWFrZSBzdXJlIHdlDQotZGlkbid0IG1pc3MgYW55IGNh c2VzLg0KLQ0KLUFsbCB0aGUgZGF0YSBjb2xsZWN0aW9uIGlzIG5vdyBkb25lIGJ5IHJlYWRpbmcg ZnJvbSB0aGUgY29weSBpbg0KLS9saWJ4bC4NCi0NCi1saWJ4bF9kZXZpY2VfZGlza19saXN0IGFu ZCBpdHMgaGVscGVyIGxpYnhsX19hcHBlbmRfZGlza19saXN0ICh3aGljaA0KLXVzZWQgdG8gYmUg bGlieGxfX2FwcGVuZF9kaXNrX2xpc3Rfb2ZfdHlwZSkgbmVlZCBleHRlbnNpdmUgcmV3b3JrLA0K LWJlY2F1c2UgdGhleSBub3cgbmVlZCB0byBzcGVjaWZ5IHRoZSAvbGlieGwgcGF0aCByYXRoZXIg dGhhbiB0aGUNCi1iYWNrZW5kIHBhdGguDQotDQotVG8gZG8gdGhhdCB0aGV5IGVudW1lcmF0ZSBk aXNrcyBieSBsb29raW5nIGluIHRoZSBhcHByb3ByaWF0ZSBhcmVhIGluDQotL2xpYnhsLiAgUHJl dmlvdXNseSB0aGV5IHNjYW5uZWQgdmFyaW91cyBvZiB0aGUgYmFja2VuZCBkaXJlY3RvcmllcyBp bg0KLWRvbTAgKHdoaWNoIHdhcyBicm9rZW4gZm9yIGRyaXZlciBkb21haW5zKS4gIEl0IGlzIG5v IGxvbmdlciBuZWNlc3NhcnkNCi10byBlbnVtZXJhdGUgdGhlIHZhcmlvdXMgZGlzayBiYWNrZW5k cywgYmVjYXVzZSB0aGV5IGFsbCB1c2UgdGhlIHNhbWUNCi1wYXRocyBpbiAvZGV2aWNlcy4gIGxp YnhsX19kZXZpY2VfZGlza19mcm9tX3hlbnN0b3JlIHdpbGwgcGFyc2UgdGhlDQotdHlwZSBvdXQg b2YgdGhlIGJhY2tlbmQgcGF0aCwgZm9yIGl0c2VsZi4gIChJbmRlZWQsIGl0IGRpZCBzbyBiZWZv cmUgLQ0KLXRoZSBub3ctZ29uZSB0eXBlIHBhcmFtZXRlciB0byBsaWJ4bF9fYXBwZW5kX2Rpc2tf bGlzdF9vZl90eXBlIHdhc24ndA0KLXVzZWQgb3RoZXIgdGhhbiB0byBjb25zdHJ1Y3QgdGhlIGRp cmVjdG9yeSB0byBsaXN0LikNCi0NCi1GaW5hbGx5LCByZW1vdmUgYSByZWR1bmRhbnQgc3RvcmUg dG8gcGRpc2stPmJhY2tlbmRfZG9taWQgaW4NCi1saWJ4bF9fYXBwZW5kX2Rpc2tfbGlzdFtfb2Zf dHlwZV0uICBFdmVuIGJlZm9yZSB0aGlzIGNvbW1pdCwgdGhhdA0KLXN0b3JlIHdhcyBub3QgbmVl ZGVkIGJlY2F1c2UgbGlieGxfZGV2aWNlX2Rpc2tfaW5pdCAoY2FsbGVkIGJ5DQotbGlieGxfX2Rl dmljZV9kaXNrX2Zyb21feGVuc3RvcmUpIHdvdWxkIHplcm8gaXQuICBOb3cgaXQgb3ZlcndyaXRl cw0KLXRoZSBjb3JyZWN0IGJhY2tlbmQgZG9taWQgd2l0aCB6ZXJvOyBzbyByZW1vdmUgaXQuDQot DQotVGhpcyBpcyBwYXJ0IG9mIFhTQS0xNzguDQotDQotU2lnbmVkLW9mZi1ieTogSWFuIEphY2tz b24gPElhbi5KYWNrc29uQGV1LmNpdHJpeC5jb20+DQotUmV2aWV3ZWQtYnk6IFdlaSBMaXUgPHdl aS5saXUyQGNpdHJpeC5jb20+DQotLS0tDQotdjI6IEFsc28gZml4IHVwIENPTE8gcmVhZHMsIGZv bGxvd2luZyByZWJhc2UNCi0tLS0NCi0gdG9vbHMvbGlieGwvbGlieGwuYyB8IDg0ICsrKysrKysr KysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotIDEgZmlsZSBj aGFuZ2VkLCA0MyBpbnNlcnRpb25zKCspLCA0MSBkZWxldGlvbnMoLSkNCi0NCi1kaWZmIC0tZ2l0 IGEvdG9vbHMvbGlieGwvbGlieGwuYyBiL3Rvb2xzL2xpYnhsL2xpYnhsLmMNCi1pbmRleCAxMzgx NjdkLi42YzU5YTZmIDEwMDY0NA0KLS0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsLmMNCi0rKysgYi90 b29scy9saWJ4bC9saWJ4bC5jDQotQEAgLTI2MTcsOCArMjYxNyw4IEBAIHZvaWQgbGlieGxfX2Rl dmljZV9kaXNrX2FkZChsaWJ4bF9fZWdjICplZ2MsIHVpbnQzMl90IGRvbWlkLA0KLSAgICAgZGV2 aWNlX2Rpc2tfYWRkKGVnYywgZG9taWQsIGRpc2ssIGFvZGV2LCBOVUxMLCBOVUxMKTsNCi0gfQ0K LSANCi0tc3RhdGljIGludCBsaWJ4bF9fZGV2aWNlX2Rpc2tfZnJvbV94c19iZShsaWJ4bF9fZ2Mg KmdjLA0KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNo YXIgKmJlX3BhdGgsDQotK3N0YXRpYyBpbnQgbGlieGxfX2RldmljZV9kaXNrX2Zyb21feGVuc3Rv cmUobGlieGxfX2djICpnYywNCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBjb25zdCBjaGFyICpsaWJ4bF9wYXRoLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGxpYnhsX2RldmljZV9kaXNrICpkaXNrKQ0KLSB7DQotICAgICBsaWJ4 bF9jdHggKmN0eCA9IGxpYnhsX19nY19vd25lcihnYyk7DQotQEAgLTI2MjgsMTUgKzI2MjgsMjcg QEAgc3RhdGljIGludCBsaWJ4bF9fZGV2aWNlX2Rpc2tfZnJvbV94c19iZShsaWJ4bF9fZ2MgKmdj LA0KLSANCi0gICAgIGxpYnhsX2RldmljZV9kaXNrX2luaXQoZGlzayk7DQotIA0KLS0gICAgcmMg PSBzc2NhbmYoYmVfcGF0aCwgIi9sb2NhbC9kb21haW4vJWQvIiwgJmRpc2stPmJhY2tlbmRfZG9t aWQpOw0KLSsgICAgY29uc3QgY2hhciAqYmFja2VuZF9wYXRoOw0KLSsgICAgcmMgPSBsaWJ4bF9f eHNfcmVhZF9jaGVja2VkKGdjLCBYQlRfTlVMTCwNCi0rICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBHQ1NQUklOVEYoIiVzL2JhY2tlbmQiLCBsaWJ4bF9wYXRoKSwNCi0rICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAmYmFja2VuZF9wYXRoKTsNCi0rICAgIGlmIChyYykgZ290 byBvdXQ7DQotKw0KLSsgICAgaWYgKCFiYWNrZW5kX3BhdGgpIHsNCi0rICAgICAgICBMT0coRVJS T1IsICJkaXNrICVzIGRvZXMgbm90IGV4aXN0IChubyBiYWNrZW5kIHBhdGgiLCBsaWJ4bF9wYXRo KTsNCi0rICAgICAgICByYyA9IEVSUk9SX0ZBSUw7DQotKyAgICAgICAgZ290byBvdXQ7DQotKyAg ICB9DQotKw0KLSsgICAgcmMgPSBzc2NhbmYoYmFja2VuZF9wYXRoLCAiL2xvY2FsL2RvbWFpbi8l ZC8iLCAmZGlzay0+YmFja2VuZF9kb21pZCk7DQotICAgICBpZiAocmMgIT0gMSkgew0KLS0gICAg ICAgIExPRyhFUlJPUiwgIlVuYWJsZSB0byBmZXRjaCBkZXZpY2UgYmFja2VuZCBkb21pZCBmcm9t ICVzIiwgYmVfcGF0aCk7DQotKyAgICAgICAgTE9HKEVSUk9SLCAiVW5hYmxlIHRvIGZldGNoIGRl dmljZSBiYWNrZW5kIGRvbWlkIGZyb20gJXMiLCBiYWNrZW5kX3BhdGgpOw0KLSAgICAgICAgIGdv dG8gY2xlYW51cDsNCi0gICAgIH0NCi0gDQotICAgICAvKiAicGFyYW1zIiBtYXkgbm90IGJlIHBy ZXNlbnQ7IGJ1dCBldmVyeXRoaW5nIGVsc2UgbXVzdCBiZS4gKi8NCi0gICAgIHRtcCA9IHhzX3Jl YWQoY3R4LT54c2gsIFhCVF9OVUxMLA0KLS0gICAgICAgICAgICAgICAgICBsaWJ4bF9fc3ByaW50 ZihnYywgIiVzL3BhcmFtcyIsIGJlX3BhdGgpLCAmbGVuKTsNCi0rICAgICAgICAgICAgICAgICAg bGlieGxfX3NwcmludGYoZ2MsICIlcy9wYXJhbXMiLCBsaWJ4bF9wYXRoKSwgJmxlbik7DQotICAg ICBpZiAodG1wICYmIHN0cmNocih0bXAsICc6JykpIHsNCi0gICAgICAgICBkaXNrLT5wZGV2X3Bh dGggPSBzdHJkdXAoc3RyY2hyKHRtcCwgJzonKSArIDEpOw0KLSAgICAgICAgIGZyZWUodG1wKTsN Ci1AQCAtMjY0NiwzMSArMjY1OCwzMSBAQCBzdGF0aWMgaW50IGxpYnhsX19kZXZpY2VfZGlza19m cm9tX3hzX2JlKGxpYnhsX19nYyAqZ2MsDQotIA0KLSANCi0gICAgIHRtcCA9IGxpYnhsX194c19y ZWFkKGdjLCBYQlRfTlVMTCwNCi0tICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19zcHJp bnRmKGdjLCAiJXMvdHlwZSIsIGJlX3BhdGgpKTsNCi0rICAgICAgICAgICAgICAgICAgICAgICAg IGxpYnhsX19zcHJpbnRmKGdjLCAiJXMvdHlwZSIsIGxpYnhsX3BhdGgpKTsNCi0gICAgIGlmICgh dG1wKSB7DQotLSAgICAgICAgTE9HKEVSUk9SLCAiTWlzc2luZyB4ZW5zdG9yZSBub2RlICVzL3R5 cGUiLCBiZV9wYXRoKTsNCi0rICAgICAgICBMT0coRVJST1IsICJNaXNzaW5nIHhlbnN0b3JlIG5v ZGUgJXMvdHlwZSIsIGxpYnhsX3BhdGgpOw0KLSAgICAgICAgIGdvdG8gY2xlYW51cDsNCi0gICAg IH0NCi0gICAgIGxpYnhsX3N0cmluZ190b19iYWNrZW5kKGN0eCwgdG1wLCAmKGRpc2stPmJhY2tl bmQpKTsNCi0gDQotICAgICBkaXNrLT52ZGV2ID0geHNfcmVhZChjdHgtPnhzaCwgWEJUX05VTEws DQotLSAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fc3ByaW50ZihnYywgIiVzL2RldiIs IGJlX3BhdGgpLCAmbGVuKTsNCi0rICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19zcHJp bnRmKGdjLCAiJXMvZGV2IiwgbGlieGxfcGF0aCksICZsZW4pOw0KLSAgICAgaWYgKCFkaXNrLT52 ZGV2KSB7DQotLSAgICAgICAgTE9HKEVSUk9SLCAiTWlzc2luZyB4ZW5zdG9yZSBub2RlICVzL2Rl diIsIGJlX3BhdGgpOw0KLSsgICAgICAgIExPRyhFUlJPUiwgIk1pc3NpbmcgeGVuc3RvcmUgbm9k ZSAlcy9kZXYiLCBsaWJ4bF9wYXRoKTsNCi0gICAgICAgICBnb3RvIGNsZWFudXA7DQotICAgICB9 DQotIA0KLSAgICAgdG1wID0gbGlieGxfX3hzX3JlYWQoZ2MsIFhCVF9OVUxMLCBsaWJ4bF9fc3By aW50Zg0KLS0gICAgICAgICAgICAgICAgICAgICAgICAgKGdjLCAiJXMvcmVtb3ZhYmxlIiwgYmVf cGF0aCkpOw0KLSsgICAgICAgICAgICAgICAgICAgICAgICAgKGdjLCAiJXMvcmVtb3ZhYmxlIiwg bGlieGxfcGF0aCkpOw0KLSAgICAgaWYgKCF0bXApIHsNCi0tICAgICAgICBMT0coRVJST1IsICJN aXNzaW5nIHhlbnN0b3JlIG5vZGUgJXMvcmVtb3ZhYmxlIiwgYmVfcGF0aCk7DQotKyAgICAgICAg TE9HKEVSUk9SLCAiTWlzc2luZyB4ZW5zdG9yZSBub2RlICVzL3JlbW92YWJsZSIsIGxpYnhsX3Bh dGgpOw0KLSAgICAgICAgIGdvdG8gY2xlYW51cDsNCi0gICAgIH0NCi0gICAgIGRpc2stPnJlbW92 YWJsZSA9IGF0b2kodG1wKTsNCi0gDQotLSAgICB0bXAgPSBsaWJ4bF9feHNfcmVhZChnYywgWEJU X05VTEwsIGxpYnhsX19zcHJpbnRmKGdjLCAiJXMvbW9kZSIsIGJlX3BhdGgpKTsNCi0rICAgIHRt cCA9IGxpYnhsX194c19yZWFkKGdjLCBYQlRfTlVMTCwgbGlieGxfX3NwcmludGYoZ2MsICIlcy9t b2RlIiwgbGlieGxfcGF0aCkpOw0KLSAgICAgaWYgKCF0bXApIHsNCi0tICAgICAgICBMT0coRVJS T1IsICJNaXNzaW5nIHhlbnN0b3JlIG5vZGUgJXMvbW9kZSIsIGJlX3BhdGgpOw0KLSsgICAgICAg IExPRyhFUlJPUiwgIk1pc3NpbmcgeGVuc3RvcmUgbm9kZSAlcy9tb2RlIiwgbGlieGxfcGF0aCk7 DQotICAgICAgICAgZ290byBjbGVhbnVwOw0KLSAgICAgfQ0KLSAgICAgaWYgKCFzdHJjbXAodG1w LCAidyIpKQ0KLUBAIC0yNjc5LDkgKzI2OTEsOSBAQCBzdGF0aWMgaW50IGxpYnhsX19kZXZpY2Vf ZGlza19mcm9tX3hzX2JlKGxpYnhsX19nYyAqZ2MsDQotICAgICAgICAgZGlzay0+cmVhZHdyaXRl ID0gMDsNCi0gDQotICAgICB0bXAgPSBsaWJ4bF9feHNfcmVhZChnYywgWEJUX05VTEwsDQotLSAg ICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fc3ByaW50ZihnYywgIiVzL2RldmljZS10eXBl IiwgYmVfcGF0aCkpOw0KLSsgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX3NwcmludGYo Z2MsICIlcy9kZXZpY2UtdHlwZSIsIGxpYnhsX3BhdGgpKTsNCi0gICAgIGlmICghdG1wKSB7DQot LSAgICAgICAgTE9HKEVSUk9SLCAiTWlzc2luZyB4ZW5zdG9yZSBub2RlICVzL2RldmljZS10eXBl IiwgYmVfcGF0aCk7DQotKyAgICAgICAgTE9HKEVSUk9SLCAiTWlzc2luZyB4ZW5zdG9yZSBub2Rl ICVzL2RldmljZS10eXBlIiwgbGlieGxfcGF0aCk7DQotICAgICAgICAgZ290byBjbGVhbnVwOw0K LSAgICAgfQ0KLSAgICAgZGlzay0+aXNfY2Ryb20gPSAhc3RyY21wKHRtcCwgImNkcm9tIik7DQot QEAgLTI2OTAsMTUgKzI3MDIsMTcgQEAgc3RhdGljIGludCBsaWJ4bF9fZGV2aWNlX2Rpc2tfZnJv bV94c19iZShsaWJ4bF9fZ2MgKmdjLA0KLSANCi0gICAgIHJldHVybiAwOw0KLSBjbGVhbnVwOg0K LSsgICAgcmMgPSBFUlJPUl9GQUlMOw0KLSsgb3V0Og0KLSAgICAgbGlieGxfZGV2aWNlX2Rpc2tf ZGlzcG9zZShkaXNrKTsNCi0tICAgIHJldHVybiBFUlJPUl9GQUlMOw0KLSsgICAgcmV0dXJuIHJj Ow0KLSB9DQotIA0KLSBpbnQgbGlieGxfdmRldl90b19kZXZpY2VfZGlzayhsaWJ4bF9jdHggKmN0 eCwgdWludDMyX3QgZG9taWQsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0 IGNoYXIgKnZkZXYsIGxpYnhsX2RldmljZV9kaXNrICpkaXNrKQ0KLSB7DQotICAgICBHQ19JTklU KGN0eCk7DQotLSAgICBjaGFyICpkb21wYXRoLCAqcGF0aDsNCi0rICAgIGNoYXIgKmRvbV94bF9w YXRoLCAqbGlieGxfcGF0aDsNCi0gICAgIGludCBkZXZpZCA9IGxpYnhsX19kZXZpY2VfZGlza19k ZXZfbnVtYmVyKHZkZXYsIE5VTEwsIE5VTEwpOw0KLSAgICAgaW50IHJjID0gRVJST1JfRkFJTDsN Ci0gDQotQEAgLTI3MDcsMzkgKzI3MjEsMzQgQEAgaW50IGxpYnhsX3ZkZXZfdG9fZGV2aWNlX2Rp c2sobGlieGxfY3R4ICpjdHgsIHVpbnQzMl90IGRvbWlkLA0KLSANCi0gICAgIGxpYnhsX2Rldmlj ZV9kaXNrX2luaXQoZGlzayk7DQotIA0KLS0gICAgZG9tcGF0aCA9IGxpYnhsX194c19nZXRfZG9t cGF0aChnYywgZG9taWQpOw0KLS0gICAgaWYgKCFkb21wYXRoKSB7DQotKyAgICBkb21feGxfcGF0 aCA9IGxpYnhsX194c19saWJ4bF9wYXRoKGdjLCBkb21pZCk7DQotKyAgICBpZiAoIWRvbV94bF9w YXRoKSB7DQotICAgICAgICAgZ290byBvdXQ7DQotICAgICB9DQotLSAgICBwYXRoID0gbGlieGxf X3hzX3JlYWQoZ2MsIFhCVF9OVUxMLA0KLS0gICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhs X19zcHJpbnRmKGdjLCAiJXMvZGV2aWNlL3ZiZC8lZC9iYWNrZW5kIiwNCi0tICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb21wYXRoLCBkZXZpZCkpOw0KLS0gICAgaWYg KCFwYXRoKQ0KLS0gICAgICAgIGdvdG8gb3V0Ow0KLSsgICAgbGlieGxfcGF0aCA9IEdDU1BSSU5U RigiJXMvZGV2aWNlL3ZiZC8lZCIsIGRvbV94bF9wYXRoLCBkZXZpZCk7DQotIA0KLS0gICAgcmMg PSBsaWJ4bF9fZGV2aWNlX2Rpc2tfZnJvbV94c19iZShnYywgcGF0aCwgZGlzayk7DQotKyAgICBy YyA9IGxpYnhsX19kZXZpY2VfZGlza19mcm9tX3hlbnN0b3JlKGdjLCBsaWJ4bF9wYXRoLCBkaXNr KTsNCi0gb3V0Og0KLSAgICAgR0NfRlJFRTsNCi0gICAgIHJldHVybiByYzsNCi0gfQ0KLSANCi0g DQotLXN0YXRpYyBpbnQgbGlieGxfX2FwcGVuZF9kaXNrX2xpc3Rfb2ZfdHlwZShsaWJ4bF9fZ2Mg KmdjLA0KLStzdGF0aWMgaW50IGxpYnhsX19hcHBlbmRfZGlza19saXN0KGxpYnhsX19nYyAqZ2Ms DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBk b21pZCwNCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0 IGNoYXIgKnR5cGUsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBsaWJ4bF9kZXZpY2VfZGlzayAqKmRpc2tzLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgaW50ICpuZGlza3MpDQotIHsNCi0tICAgIGNoYXIgKmJlX3BhdGgg PSBOVUxMOw0KLSsgICAgY2hhciAqbGlieGxfZGlyX3BhdGggPSBOVUxMOw0KLSAgICAgY2hhciAq KmRpciA9IE5VTEw7DQotICAgICB1bnNpZ25lZCBpbnQgbiA9IDA7DQotICAgICBsaWJ4bF9kZXZp Y2VfZGlzayAqcGRpc2sgPSBOVUxMLCAqcGRpc2tfZW5kID0gTlVMTDsNCi0gICAgIGludCByYz0w Ow0KLSAgICAgaW50IGluaXRpYWxfZGlza3MgPSAqbmRpc2tzOw0KLSANCi0tICAgIGJlX3BhdGgg PSBsaWJ4bF9fc3ByaW50ZihnYywgIiVzL2JhY2tlbmQvJXMvJWQiLA0KLS0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGxpYnhsX194c19nZXRfZG9tcGF0aChnYywgMCksIHR5cGUsIGRvbWlk KTsNCi0tICAgIGRpciA9IGxpYnhsX194c19kaXJlY3RvcnkoZ2MsIFhCVF9OVUxMLCBiZV9wYXRo LCAmbik7DQotKyAgICBsaWJ4bF9kaXJfcGF0aCA9IEdDU1BSSU5URigiJXMvZGV2aWNlL3ZiZCIs DQotKyAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX194c19saWJ4bF9wYXRoKGdjLCBkb21p ZCkpOw0KLSsgICAgZGlyID0gbGlieGxfX3hzX2RpcmVjdG9yeShnYywgWEJUX05VTEwsIGxpYnhs X2Rpcl9wYXRoLCAmbik7DQotICAgICBpZiAoZGlyICYmIG4pIHsNCi0gICAgICAgICBsaWJ4bF9k ZXZpY2VfZGlzayAqdG1wOw0KLSAgICAgICAgIHRtcCA9IHJlYWxsb2MoKmRpc2tzLCBzaXplb2Yg KGxpYnhsX2RldmljZV9kaXNrKSAqICgqbmRpc2tzICsgbikpOw0KLUBAIC0yNzUwLDEwICsyNzU5 LDkgQEAgc3RhdGljIGludCBsaWJ4bF9fYXBwZW5kX2Rpc2tfbGlzdF9vZl90eXBlKGxpYnhsX19n YyAqZ2MsDQotICAgICAgICAgcGRpc2tfZW5kID0gKmRpc2tzICsgaW5pdGlhbF9kaXNrcyArIG47 DQotICAgICAgICAgZm9yICg7IHBkaXNrIDwgcGRpc2tfZW5kOyBwZGlzaysrLCBkaXIrKykgew0K LSAgICAgICAgICAgICBjb25zdCBjaGFyICpwOw0KLS0gICAgICAgICAgICBwID0gbGlieGxfX3Nw cmludGYoZ2MsICIlcy8lcyIsIGJlX3BhdGgsICpkaXIpOw0KLS0gICAgICAgICAgICBpZiAoKHJj PWxpYnhsX19kZXZpY2VfZGlza19mcm9tX3hzX2JlKGdjLCBwLCBwZGlzaykpKQ0KLSsgICAgICAg ICAgICBwID0gbGlieGxfX3NwcmludGYoZ2MsICIlcy8lcyIsIGxpYnhsX2Rpcl9wYXRoLCAqZGly KTsNCi0rICAgICAgICAgICAgaWYgKChyYz1saWJ4bF9fZGV2aWNlX2Rpc2tfZnJvbV94ZW5zdG9y ZShnYywgcCwgcGRpc2spKSkNCi0gICAgICAgICAgICAgICAgIGdvdG8gb3V0Ow0KLS0gICAgICAg ICAgICBwZGlzay0+YmFja2VuZF9kb21pZCA9IDA7DQotICAgICAgICAgICAgICpuZGlza3MgKz0g MTsNCi0gICAgICAgICB9DQotICAgICB9DQotQEAgLTI3NjksMTMgKzI3NzcsNyBAQCBsaWJ4bF9k ZXZpY2VfZGlzayAqbGlieGxfZGV2aWNlX2Rpc2tfbGlzdChsaWJ4bF9jdHggKmN0eCwgdWludDMy X3QgZG9taWQsIGludCAqbg0KLSANCi0gICAgICpudW0gPSAwOw0KLSANCi0tICAgIHJjID0gbGli eGxfX2FwcGVuZF9kaXNrX2xpc3Rfb2ZfdHlwZShnYywgZG9taWQsICJ2YmQiLCAmZGlza3MsIG51 bSk7DQotLSAgICBpZiAocmMpIGdvdG8gb3V0X2VycjsNCi0tDQotLSAgICByYyA9IGxpYnhsX19h cHBlbmRfZGlza19saXN0X29mX3R5cGUoZ2MsIGRvbWlkLCAidGFwIiwgJmRpc2tzLCBudW0pOw0K LS0gICAgaWYgKHJjKSBnb3RvIG91dF9lcnI7DQotLQ0KLS0gICAgcmMgPSBsaWJ4bF9fYXBwZW5k X2Rpc2tfbGlzdF9vZl90eXBlKGdjLCBkb21pZCwgInFkaXNrIiwgJmRpc2tzLCBudW0pOw0KLSsg ICAgcmMgPSBsaWJ4bF9fYXBwZW5kX2Rpc2tfbGlzdChnYywgZG9taWQsICZkaXNrcywgbnVtKTsN Ci0gICAgIGlmIChyYykgZ290byBvdXRfZXJyOw0KLSANCi0gICAgIEdDX0ZSRUU7DQotLS0gDQot MS45LjENCi0NCmRpZmYgLS1naXQgYS9tYWluL3hlbi8wMDA3LWxpYnhsLURvLW5vdC10cnVzdC1m cm9udGVuZC1mb3ItdnRwbS1saXN0LnBhdGNoIGIvbWFpbi94ZW4vMDAwNy1saWJ4bC1Eby1ub3Qt dHJ1c3QtZnJvbnRlbmQtZm9yLXZ0cG0tbGlzdC5wYXRjaA0KZGVsZXRlZCBmaWxlIG1vZGUgMTAw NjQ0DQppbmRleCA2ZjBkNDg3Li4wMDAwMDAwDQotLS0gYS9tYWluL3hlbi8wMDA3LWxpYnhsLURv LW5vdC10cnVzdC1mcm9udGVuZC1mb3ItdnRwbS1saXN0LnBhdGNoDQorKysgL2Rldi9udWxsDQpA QCAtMSw2NyArMCwwIEBADQotRnJvbSA1NGEzNGFjODNmMDgyNmNkMDIxM2E2ZWJkYjBjNDE0Y2I1 MDUxZWQyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQ0KLUZyb206IElhbiBKYWNrc29uIDxpYW4u amFja3NvbkBldS5jaXRyaXguY29tPg0KLURhdGU6IFR1ZSwgMyBNYXkgMjAxNiAxNTo1ODozMiAr MDEwMA0KLVN1YmplY3Q6IFtQQVRDSCAwNy8xMl0gbGlieGw6IERvIG5vdCB0cnVzdCBmcm9udGVu ZCBmb3IgdnRwbSBsaXN0DQotDQotbGlieGxfZGV2aWNlX3Z0cG1fbGlzdCBuZWVkcyB0byBlbnVt ZXJhdGUgYW5kIGlkZW50aWZ5IGRldmljZXMgd2l0aG91dA0KLXRydXN0aW5nIGZyb250ZW5kLWNv bnRyb2xsZWQgZGF0YS4gIFNvDQotDQotKiBVc2UgdGhlIC9saWJ4bCBwYXRoIHRvIGVudW1lcmF0 ZSB2dHBtcy4NCi0qIFVzZSB0aGUgL2xpYnhsIHBhdGggdG8gZmluZCB0aGUgY29ycmVzcG9uZGlu ZyBiYWNrZW5kcy4NCi0qIFBhcnNlIHRoZSBiYWNrZW5kIHBhdGggdG8gZmluZCB0aGUgYmFja2Vu ZCBkb21pZC4NCi0NCi1UaGlzIGlzIHBhcnQgb2YgWFNBLTE3NS4NCi0NCi1TaWduZWQtb2ZmLWJ5 OiBJYW4gSmFja3NvbiA8SWFuLkphY2tzb25AZXUuY2l0cml4LmNvbT4NCi1SZXZpZXdlZC1ieTog V2VpIExpdSA8d2VpLmxpdTJAY2l0cml4LmNvbT4NCi0tLS0NCi0gdG9vbHMvbGlieGwvbGlieGwu YyB8IDE2ICsrKysrKysrLS0tLS0tLS0NCi0gMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygr KSwgOCBkZWxldGlvbnMoLSkNCi0NCi1kaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGwuYyBi L3Rvb2xzL2xpYnhsL2xpYnhsLmMNCi1pbmRleCA2OWI3ZGE3Li5iOTFlZWU4IDEwMDY0NA0KLS0t LSBhL3Rvb2xzL2xpYnhsL2xpYnhsLmMNCi0rKysgYi90b29scy9saWJ4bC9saWJ4bC5jDQotQEAg LTIxNzMsMTQgKzIxNzMsMTUgQEAgbGlieGxfZGV2aWNlX3Z0cG0gKmxpYnhsX2RldmljZV92dHBt X2xpc3QobGlieGxfY3R4ICpjdHgsIHVpbnQzMl90IGRvbWlkLCBpbnQgKm4NCi0gICAgIEdDX0lO SVQoY3R4KTsNCi0gDQotICAgICBsaWJ4bF9kZXZpY2VfdnRwbSogdnRwbXMgPSBOVUxMOw0KLS0g ICAgY2hhciogZmVfcGF0aCA9IE5VTEw7DQotKyAgICBjaGFyICpsaWJ4bF9wYXRoOw0KLSAgICAg Y2hhcioqIGRpciA9IE5VTEw7DQotICAgICB1bnNpZ25lZCBpbnQgbmRpcnMgPSAwOw0KLSsgICAg aW50IHJjOw0KLSANCi0gICAgICpudW0gPSAwOw0KLSANCi0tICAgIGZlX3BhdGggPSBsaWJ4bF9f c3ByaW50ZihnYywgIiVzL2RldmljZS92dHBtIiwgbGlieGxfX3hzX2dldF9kb21wYXRoKGdjLCBk b21pZCkpOw0KLS0gICAgZGlyID0gbGlieGxfX3hzX2RpcmVjdG9yeShnYywgWEJUX05VTEwsIGZl X3BhdGgsICZuZGlycyk7DQotKyAgICBsaWJ4bF9wYXRoID0gR0NTUFJJTlRGKCIlcy9kZXZpY2Uv dnRwbSIsIGxpYnhsX194c19saWJ4bF9wYXRoKGdjLCBkb21pZCkpOw0KLSsgICAgZGlyID0gbGli eGxfX3hzX2RpcmVjdG9yeShnYywgWEJUX05VTEwsIGxpYnhsX3BhdGgsICZuZGlycyk7DQotICAg ICBpZiAoZGlyICYmIG5kaXJzKSB7DQotICAgICAgICB2dHBtcyA9IG1hbGxvYyhzaXplb2YoKnZ0 cG1zKSAqIG5kaXJzKTsNCi0gICAgICAgIGxpYnhsX2RldmljZV92dHBtKiB2dHBtOw0KLUBAIC0y MTg5LDE2ICsyMTkwLDE1IEBAIGxpYnhsX2RldmljZV92dHBtICpsaWJ4bF9kZXZpY2VfdnRwbV9s aXN0KGxpYnhsX2N0eCAqY3R4LCB1aW50MzJfdCBkb21pZCwgaW50ICpuDQotICAgICAgICAgICBj aGFyKiB0bXA7DQotICAgICAgICAgICBjb25zdCBjaGFyKiBiZV9wYXRoID0gbGlieGxfX3hzX3Jl YWQoZ2MsIFhCVF9OVUxMLA0KLSAgICAgICAgICAgICAgICAgR0NTUFJJTlRGKCIlcy8lcy9iYWNr ZW5kIiwNCi0tICAgICAgICAgICAgICAgICAgIGZlX3BhdGgsICpkaXIpKTsNCi0rICAgICAgICAg ICAgICAgICAgIGxpYnhsX3BhdGgsICpkaXIpKTsNCi0gDQotICAgICAgICAgICBsaWJ4bF9kZXZp Y2VfdnRwbV9pbml0KHZ0cG0pOw0KLSANCi0gICAgICAgICAgIHZ0cG0tPmRldmlkID0gYXRvaSgq ZGlyKTsNCi0gDQotLSAgICAgICAgICB0bXAgPSBsaWJ4bF9feHNfcmVhZChnYywgWEJUX05VTEws DQotLSAgICAgICAgICAgICAgICBHQ1NQUklOVEYoIiVzLyVzL2JhY2tlbmQtaWQiLA0KLS0gICAg ICAgICAgICAgICAgICAgZmVfcGF0aCwgKmRpcikpOw0KLS0gICAgICAgICAgdnRwbS0+YmFja2Vu ZF9kb21pZCA9IGF0b2kodG1wKTsNCi0rICAgICAgICAgIHJjID0gbGlieGxfX2JhY2tlbmRwYXRo X3BhcnNlX2RvbWlkKGdjLCBiZV9wYXRoLA0KLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgJnZ0cG0tPmJhY2tlbmRfZG9taWQpOw0KLSsgICAgICAgICAgaWYg KHJjKSByZXR1cm4gTlVMTDsNCi0gDQotICAgICAgICAgICB0bXAgPSBsaWJ4bF9feHNfcmVhZChn YywgWEJUX05VTEwsIEdDU1BSSU5URigiJXMvdXVpZCIsIGJlX3BhdGgpKTsNCi0gICAgICAgICAg IGlmICh0bXApIHsNCi0tLSANCi0yLjEuNA0KLQ0KZGlmZiAtLWdpdCBhL21haW4veGVuLzAwMDgt bGlieGwtRG8tbm90LXRydXN0LWJhY2tlbmQtZm9yLWRpc2staW4tZ2V0aW5mby5wYXRjaCBiL21h aW4veGVuLzAwMDgtbGlieGwtRG8tbm90LXRydXN0LWJhY2tlbmQtZm9yLWRpc2staW4tZ2V0aW5m by5wYXRjaA0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCBkOTNlNGY3Li4wMDAwMDAw DQotLS0gYS9tYWluL3hlbi8wMDA4LWxpYnhsLURvLW5vdC10cnVzdC1iYWNrZW5kLWZvci1kaXNr LWluLWdldGluZm8ucGF0Y2gNCisrKyAvZGV2L251bGwNCkBAIC0xLDM1ICswLDAgQEANCi1Gcm9t IDI2MTRmOWFjN2M5NmIzYjAwNDVjZjM4YTFlYzZlZGI4OTU1MmE3MjQgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxDQotRnJvbTogSWFuIEphY2tzb24gPGlhbi5qYWNrc29uQGV1LmNpdHJpeC5jb20+ DQotRGF0ZTogRnJpLCAyOSBBcHIgMjAxNiAxOToxMDo0NSArMDEwMA0KLVN1YmplY3Q6IFtQQVRD SCAwOC8yMF0gbGlieGw6IERvIG5vdCB0cnVzdCBiYWNrZW5kIGZvciBkaXNrIGluIGdldGluZm8N Ci0NCi1EbyBub3QgcmVhZCB0aGUgZnJvbnRlbmQgcGF0aCBvdXQgb2YgdGhlIGJhY2tlbmQuICBX ZSBoYXZlIGl0IGluIG91cg0KLWhhbmQuICBMaWtld2lzZSB0aGUgZ3Vlc3QgKGZyb250ZW5kKSBk b21pZCB3YXMgb25lIG9mIG91ciBwYXJhbWV0ZXJzICghKQ0KLQ0KLVRoaXMgaXMgcGFydCBvZiBY U0EtMTc4Lg0KLQ0KLVNpZ25lZC1vZmYtYnk6IElhbiBKYWNrc29uIDxJYW4uSmFja3NvbkBldS5j aXRyaXguY29tPg0KLVJldmlld2VkLWJ5OiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPg0K LS0tLQ0KLSB0b29scy9saWJ4bC9saWJ4bC5jIHwgNSArKy0tLQ0KLSAxIGZpbGUgY2hhbmdlZCwg MiBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQ0KLQ0KLWRpZmYgLS1naXQgYS90b29scy9s aWJ4bC9saWJ4bC5jIGIvdG9vbHMvbGlieGwvbGlieGwuYw0KLWluZGV4IDZjNTlhNmYuLjZmNzBj YjggMTAwNjQ0DQotLS0tIGEvdG9vbHMvbGlieGwvbGlieGwuYw0KLSsrKyBiL3Rvb2xzL2xpYnhs L2xpYnhsLmMNCi1AQCAtMjgyNyw5ICsyODI3LDggQEAgaW50IGxpYnhsX2RldmljZV9kaXNrX2dl dGluZm8obGlieGxfY3R4ICpjdHgsIHVpbnQzMl90IGRvbWlkLA0KLSAgICAgdmFsID0gbGlieGxf X3hzX3JlYWQoZ2MsIFhCVF9OVUxMLCBHQ1NQUklOVEYoIiVzL3JpbmctcmVmIiwgZmVfcGF0aCkp Ow0KLSAgICAgZGlza2luZm8tPnJyZWYgPSB2YWwgPyBzdHJ0b3VsKHZhbCwgTlVMTCwgMTApIDog LTE7DQotICAgICBkaXNraW5mby0+ZnJvbnRlbmQgPSB4c19yZWFkKGN0eC0+eHNoLCBYQlRfTlVM TCwNCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX3NwcmludGYoZ2Ms ICIlcy9mcm9udGVuZCIsIGRpc2tpbmZvLT5iYWNrZW5kKSwgTlVMTCk7DQotLSAgICB2YWwgPSBs aWJ4bF9feHNfcmVhZChnYywgWEJUX05VTEwsIGxpYnhsX19zcHJpbnRmKGdjLCAiJXMvZnJvbnRl bmQtaWQiLCBkaXNraW5mby0+YmFja2VuZCkpOw0KLS0gICAgZGlza2luZm8tPmZyb250ZW5kX2lk ID0gdmFsID8gc3RydG91bCh2YWwsIE5VTEwsIDEwKSA6IC0xOw0KLSsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBHQ1NQUklOVEYoIiVzL2Zyb250ZW5kIiwgbGlieGxfcGF0aCksIE5V TEwpOw0KLSsgICAgZGlza2luZm8tPmZyb250ZW5kX2lkID0gZG9taWQ7DQotIA0KLSAgICAgR0Nf RlJFRTsNCi0gICAgIHJldHVybiAwOw0KLS0tIA0KLTEuOS4xDQotDQpkaWZmIC0tZ2l0IGEvbWFp bi94ZW4vMDAwOC1saWJ4bC1Eby1ub3QtdHJ1c3QtZnJvbnRlbmQtZm9yLXZ0cG0taW4tZ2V0aW5m by5wYXRjaCBiL21haW4veGVuLzAwMDgtbGlieGwtRG8tbm90LXRydXN0LWZyb250ZW5kLWZvci12 dHBtLWluLWdldGluZm8ucGF0Y2gNCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMmM5 NTc2Ni4uMDAwMDAwMA0KLS0tIGEvbWFpbi94ZW4vMDAwOC1saWJ4bC1Eby1ub3QtdHJ1c3QtZnJv bnRlbmQtZm9yLXZ0cG0taW4tZ2V0aW5mby5wYXRjaA0KKysrIC9kZXYvbnVsbA0KQEAgLTEsNjEg KzAsMCBAQA0KLUZyb20gYjgzZDY2ZGZiMzkwNWRmZDYyN2Y1ZTQ4MzNkNzRiZTI3NDc3MWU0MyBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDENCi1Gcm9tOiBJYW4gSmFja3NvbiA8aWFuLmphY2tzb25A ZXUuY2l0cml4LmNvbT4NCi1EYXRlOiBUdWUsIDMgTWF5IDIwMTYgMTY6MDA6MjAgKzAxMDANCi1T dWJqZWN0OiBbUEFUQ0ggMDgvMTJdIGxpYnhsOiBEbyBub3QgdHJ1c3QgZnJvbnRlbmQgZm9yIHZ0 cG0gaW4gZ2V0aW5mbw0KLQ0KLWxpYnhsX2RldmljZV92dHBtX2dldGluZm8gbmVlZHMgdG8gZXhh bWluZSBkZXZpY2VzIHdpdGhvdXQgdHJ1c3RpbmcNCi1mcm9udGVuZC1jb250cm9sbGVkIGRhdGEu ICBTbzoNCi0NCi0qIFVzZSAvbGlieGwgdG8gZmluZCB0aGUgYmFja2VuZCBwYXRoLg0KLSogUGFy c2UgdGhlIGJhY2tlbmQgcGF0aCB0byBmaW5kIHRoZSBiYWNrZW5kIGRvbWlkLCByYXRoZXIgdGhh bg0KLSAgcmVhZGluZyBpdCBmcm9tIHRoZSBmcm9udGVuZC4NCi0NCi1UaGlzIGlzIHBhcnQgb2Yg WFNBLTE3NS4NCi0NCi1TaWduZWQtb2ZmLWJ5OiBJYW4gSmFja3NvbiA8SWFuLkphY2tzb25AZXUu Y2l0cml4LmNvbT4NCi1SZXZpZXdlZC1ieTogV2VpIExpdSA8d2VpLmxpdTJAY2l0cml4LmNvbT4N Ci0tLS0NCi0gdG9vbHMvbGlieGwvbGlieGwuYyB8IDEyICsrKysrKystLS0tLQ0KLSAxIGZpbGUg Y2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQ0KLQ0KLWRpZmYgLS1naXQg YS90b29scy9saWJ4bC9saWJ4bC5jIGIvdG9vbHMvbGlieGwvbGlieGwuYw0KLWluZGV4IGI5MWVl ZTguLjY1Yjk5NTMgMTAwNjQ0DQotLS0tIGEvdG9vbHMvbGlieGwvbGlieGwuYw0KLSsrKyBiL3Rv b2xzL2xpYnhsL2xpYnhsLmMNCi1AQCAtMjIyMiw3ICsyMjIyLDcgQEAgaW50IGxpYnhsX2Rldmlj ZV92dHBtX2dldGluZm8obGlieGxfY3R4ICpjdHgsDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGxpYnhsX3Z0cG1pbmZvICp2dHBtaW5mbykNCi0gew0KLSAgICAgR0NfSU5JVChjdHgp Ow0KLS0gICAgY2hhciAqZG9tcGF0aCwgKnZ0cG1wYXRoOw0KLSsgICAgY2hhciAqbGlieGxfcGF0 aCwgKmRvbXBhdGgsICp2dHBtcGF0aDsNCi0gICAgIGNoYXIgKnZhbDsNCi0gICAgIGludCByYyA9 IDA7DQotIA0KLUBAIC0yMjMxLDggKzIyMzEsMTAgQEAgaW50IGxpYnhsX2RldmljZV92dHBtX2dl dGluZm8obGlieGxfY3R4ICpjdHgsDQotICAgICB2dHBtaW5mby0+ZGV2aWQgPSB2dHBtLT5kZXZp ZDsNCi0gDQotICAgICB2dHBtcGF0aCA9IEdDU1BSSU5URigiJXMvZGV2aWNlL3Z0cG0vJWQiLCBk b21wYXRoLCB2dHBtaW5mby0+ZGV2aWQpOw0KLSsgICAgbGlieGxfcGF0aCA9IEdDU1BSSU5URigi JXMvZGV2aWNlL3Z0cG0vJWQiLA0KLSsgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9f eHNfbGlieGxfcGF0aChnYywgZG9taWQpLCB2dHBtaW5mby0+ZGV2aWQpOw0KLSAgICAgdnRwbWlu Zm8tPmJhY2tlbmQgPSB4c19yZWFkKGN0eC0+eHNoLCBYQlRfTlVMTCwNCi0tICAgICAgICAgIEdD U1BSSU5URigiJXMvYmFja2VuZCIsIHZ0cG1wYXRoKSwgTlVMTCk7DQotKyAgICAgICAgICBHQ1NQ UklOVEYoIiVzL2JhY2tlbmQiLCBsaWJ4bF9wYXRoKSwgTlVMTCk7DQotICAgICBpZiAoIXZ0cG1p bmZvLT5iYWNrZW5kKSB7DQotICAgICAgICAgZ290byBlcnI7DQotICAgICB9DQotQEAgLTIyNDAs OSArMjI0Miw5IEBAIGludCBsaWJ4bF9kZXZpY2VfdnRwbV9nZXRpbmZvKGxpYnhsX2N0eCAqY3R4 LA0KLSAgICAgICAgZ290byBlcnI7DQotICAgICB9DQotIA0KLS0gICAgdmFsID0gbGlieGxfX3hz X3JlYWQoZ2MsIFhCVF9OVUxMLA0KLS0gICAgICAgICAgR0NTUFJJTlRGKCIlcy9iYWNrZW5kLWlk IiwgdnRwbXBhdGgpKTsNCi0tICAgIHZ0cG1pbmZvLT5iYWNrZW5kX2lkID0gdmFsID8gc3RydG91 bCh2YWwsIE5VTEwsIDEwKSA6IC0xOw0KLSsgICAgcmMgPSBsaWJ4bF9fYmFja2VuZHBhdGhfcGFy c2VfZG9taWQoZ2MsIHZ0cG1pbmZvLT5iYWNrZW5kLA0KLSsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgJnZ0cG1pbmZvLT5iYWNrZW5kX2lkKTsNCi0rICAgIGlmIChyYykg Z290byBleGl0Ow0KLSANCi0gICAgIHZhbCA9IGxpYnhsX194c19yZWFkKGdjLCBYQlRfTlVMTCwN Ci0gICAgICAgICAgIEdDU1BSSU5URigiJXMvc3RhdGUiLCB2dHBtcGF0aCkpOw0KLS0tIA0KLTIu MS40DQotDQpkaWZmIC0tZ2l0IGEvbWFpbi94ZW4vMDAwOS1saWJ4bC1Eby1ub3QtdHJ1c3QtYmFj a2VuZC1mb3ItY2Ryb20taW5zZXJ0LnBhdGNoIGIvbWFpbi94ZW4vMDAwOS1saWJ4bC1Eby1ub3Qt dHJ1c3QtYmFja2VuZC1mb3ItY2Ryb20taW5zZXJ0LnBhdGNoDQpkZWxldGVkIGZpbGUgbW9kZSAx MDA2NDQNCmluZGV4IDhmMTU3M2EuLjAwMDAwMDANCi0tLSBhL21haW4veGVuLzAwMDktbGlieGwt RG8tbm90LXRydXN0LWJhY2tlbmQtZm9yLWNkcm9tLWluc2VydC5wYXRjaA0KKysrIC9kZXYvbnVs bA0KQEAgLTEsOTQgKzAsMCBAQA0KLUZyb20gM2EzYzhiMjcwMjI2M2VhZWMyNzE1NjRlNmZkZTE0 MDBlZmIzNzE2YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDENCi1Gcm9tOiBJYW4gSmFja3NvbiA8 aWFuLmphY2tzb25AZXUuY2l0cml4LmNvbT4NCi1EYXRlOiBGcmksIDI5IEFwciAyMDE2IDE5OjEz OjE3ICswMTAwDQotU3ViamVjdDogW1BBVENIIDA5LzIwXSBsaWJ4bDogRG8gbm90IHRydXN0IGJh Y2tlbmQgZm9yIGNkcm9tIGluc2VydA0KLQ0KLVVzZSB0aGUgL2xpYnhsIHBhdGggd2hlcmUgYXBw cm9wcmlhdGUuICBSZW5hbWUgYHBhdGgnIHZhcmlhYmxlIHRvDQotYGJlX3BhdGgnIHRvIG1ha2Ug c3VyZSB3ZSBjYXVnaHQgYWxsIHRoZSBvY2N1cnJlbmNlcy4NCi0NCi1TcGVjaWZpY2FsbHksIHdo ZW4gY2hlY2tpbmcgdGhhdCB0aGUgZGV2aWNlIHN0aWxsIGV4aXN0cywgY2hlY2sgdGhlDQotYGZy b250ZW5kJyB2YWx1ZSBpbiAvbGlieGwsIHJhdGhlciB0aGFuIGFueXRoaW5nIGluIHRoZSBiYWNr ZW5kDQotZGlyZWN0b3J5Lg0KLQ0KLVRoaXMgaXMgcGFydCBvZiBYU0EtMTc4Lg0KLQ0KLVNpZ25l ZC1vZmYtYnk6IElhbiBKYWNrc29uIDxJYW4uSmFja3NvbkBldS5jaXRyaXguY29tPg0KLVJldmll d2VkLWJ5OiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPg0KLS0tLQ0KLSB0b29scy9saWJ4 bC9saWJ4bC5jIHwgMjAgKysrKysrKysrKy0tLS0tLS0tLS0NCi0gMSBmaWxlIGNoYW5nZWQsIDEw IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQ0KLQ0KLWRpZmYgLS1naXQgYS90b29scy9s aWJ4bC9saWJ4bC5jIGIvdG9vbHMvbGlieGwvbGlieGwuYw0KLWluZGV4IDZmNzBjYjguLjlmNzcy NjkgMTAwNjQ0DQotLS0tIGEvdG9vbHMvbGlieGwvbGlieGwuYw0KLSsrKyBiL3Rvb2xzL2xpYnhs L2xpYnhsLmMNCi1AQCAtMjg0Nyw3ICsyODQ3LDcgQEAgaW50IGxpYnhsX2Nkcm9tX2luc2VydChs aWJ4bF9jdHggKmN0eCwgdWludDMyX3QgZG9taWQsIGxpYnhsX2RldmljZV9kaXNrICpkaXNrLA0K LSAgICAgbGlieGxfZG9tYWluX2NvbmZpZyBkX2NvbmZpZzsNCi0gICAgIGludCByYywgZG1fdmVy Ow0KLSAgICAgbGlieGxfX2RldmljZSBkZXZpY2U7DQotLSAgICBjb25zdCBjaGFyICpwYXRoLCAq bGlieGxfcGF0aDsNCi0rICAgIGNvbnN0IGNoYXIgKmJlX3BhdGgsICpsaWJ4bF9wYXRoOw0KLSAg ICAgY2hhciAqIHRtcDsNCi0gICAgIGxpYnhsX19kb21haW5fdXNlcmRhdGFfbG9jayAqbG9jayA9 IE5VTEw7DQotICAgICB4c190cmFuc2FjdGlvbl90IHQgPSBYQlRfTlVMTDsNCi1AQCAtMjkxNCw3 ICsyOTE0LDcgQEAgaW50IGxpYnhsX2Nkcm9tX2luc2VydChsaWJ4bF9jdHggKmN0eCwgdWludDMy X3QgZG9taWQsIGxpYnhsX2RldmljZV9kaXNrICpkaXNrLA0KLSAgICAgcmMgPSBsaWJ4bF9fZGV2 aWNlX2Zyb21fZGlzayhnYywgZG9taWQsIGRpc2ssICZkZXZpY2UpOw0KLSAgICAgaWYgKHJjKSBn b3RvIG91dDsNCi0gDQotLSAgICBwYXRoID0gbGlieGxfX2RldmljZV9iYWNrZW5kX3BhdGgoZ2Ms ICZkZXZpY2UpOw0KLSsgICAgYmVfcGF0aCA9IGxpYnhsX19kZXZpY2VfYmFja2VuZF9wYXRoKGdj LCAmZGV2aWNlKTsNCi0gICAgIGxpYnhsX3BhdGggPSBsaWJ4bF9fZGV2aWNlX2xpYnhsX3BhdGgo Z2MsICZkZXZpY2UpOw0KLSANCi0gICAgIGluc2VydCA9IGZsZXhhcnJheV9tYWtlKGdjLCA0LCAx KTsNCi1AQCAtMjk1NCwxOSArMjk1NCwxOSBAQCBpbnQgbGlieGxfY2Ryb21faW5zZXJ0KGxpYnhs X2N0eCAqY3R4LCB1aW50MzJfdCBkb21pZCwgbGlieGxfZGV2aWNlX2Rpc2sgKmRpc2ssDQotICAg ICBmb3IgKDs7KSB7DQotICAgICAgICAgcmMgPSBsaWJ4bF9feHNfdHJhbnNhY3Rpb25fc3RhcnQo Z2MsICZ0KTsNCi0gICAgICAgICBpZiAocmMpIGdvdG8gb3V0Ow0KLS0gICAgICAgIC8qIFNhbml0 eSBjaGVjazogbWFrZSBzdXJlIHRoZSBiYWNrZW5kIGV4aXN0cyBiZWZvcmUgd3JpdGluZyBoZXJl ICovDQotLSAgICAgICAgdG1wID0gbGlieGxfX3hzX3JlYWQoZ2MsIHQsIGxpYnhsX19zcHJpbnRm KGdjLCAiJXMvZnJvbnRlbmQiLCBwYXRoKSk7DQotKyAgICAgICAgLyogU2FuaXR5IGNoZWNrOiBt YWtlIHN1cmUgdGhlIGRldmljZSBleGlzdHMgYmVmb3JlIHdyaXRpbmcgaGVyZSAqLw0KLSsgICAg ICAgIHRtcCA9IGxpYnhsX194c19yZWFkKGdjLCB0LCBHQ1NQUklOVEYoIiVzL2Zyb250ZW5kIiwg bGlieGxfcGF0aCkpOw0KLSAgICAgICAgIGlmICghdG1wKQ0KLSAgICAgICAgIHsNCi0gICAgICAg ICAgICAgTElCWExfX0xPRyhjdHgsIExJQlhMX19MT0dfRVJST1IsICJJbnRlcm5hbCBlcnJvcjog JXMgZG9lcyBub3QgZXhpc3QiLA0KLS0gICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19zcHJp bnRmKGdjLCAiJXMvZnJvbnRlbmQiLCBwYXRoKSk7DQotKyAgICAgICAgICAgICAgICAgICAgICAg bGlieGxfX3NwcmludGYoZ2MsICIlcy9mcm9udGVuZCIsIGxpYnhsX3BhdGgpKTsNCi0gICAgICAg ICAgICAgcmMgPSBFUlJPUl9GQUlMOw0KLSAgICAgICAgICAgICBnb3RvIG91dDsNCi0gICAgICAg ICB9DQotIA0KLSAgICAgICAgIGNoYXIgKiprdnMgPSBsaWJ4bF9feHNfa3ZzX29mX2ZsZXhhcnJh eShnYywgZW1wdHksIGVtcHR5LT5jb3VudCk7DQotIA0KLS0gICAgICAgIHJjID0gbGlieGxfX3hz X3dyaXRldihnYywgdCwgcGF0aCwga3ZzKTsNCi0rICAgICAgICByYyA9IGxpYnhsX194c193cml0 ZXYoZ2MsIHQsIGJlX3BhdGgsIGt2cyk7DQotICAgICAgICAgaWYgKHJjKSBnb3RvIG91dDsNCi0g DQotICAgICAgICAgcmMgPSBsaWJ4bF9feHNfd3JpdGV2KGdjLCB0LCBsaWJ4bF9wYXRoLCBrdnMp Ow0KLUBAIC0yOTkwLDEyICsyOTkwLDEyIEBAIGludCBsaWJ4bF9jZHJvbV9pbnNlcnQobGlieGxf Y3R4ICpjdHgsIHVpbnQzMl90IGRvbWlkLCBsaWJ4bF9kZXZpY2VfZGlzayAqZGlzaywNCi0gICAg IGZvciAoOzspIHsNCi0gICAgICAgICByYyA9IGxpYnhsX194c190cmFuc2FjdGlvbl9zdGFydChn YywgJnQpOw0KLSAgICAgICAgIGlmIChyYykgZ290byBvdXQ7DQotLSAgICAgICAgLyogU2FuaXR5 IGNoZWNrOiBtYWtlIHN1cmUgdGhlIGJhY2tlbmQgZXhpc3RzIGJlZm9yZSB3cml0aW5nIGhlcmUg Ki8NCi0tICAgICAgICB0bXAgPSBsaWJ4bF9feHNfcmVhZChnYywgdCwgbGlieGxfX3NwcmludGYo Z2MsICIlcy9mcm9udGVuZCIsIHBhdGgpKTsNCi0rICAgICAgICAvKiBTYW5pdHkgY2hlY2s6IG1h a2Ugc3VyZSB0aGUgZGV2aWNlIGV4aXN0cyBiZWZvcmUgd3JpdGluZyBoZXJlICovDQotKyAgICAg ICAgdG1wID0gbGlieGxfX3hzX3JlYWQoZ2MsIHQsIEdDU1BSSU5URigiJXMvZnJvbnRlbmQiLCBs aWJ4bF9wYXRoKSk7DQotICAgICAgICAgaWYgKCF0bXApDQotICAgICAgICAgew0KLSAgICAgICAg ICAgICBMSUJYTF9fTE9HKGN0eCwgTElCWExfX0xPR19FUlJPUiwgIkludGVybmFsIGVycm9yOiAl cyBkb2VzIG5vdCBleGlzdCIsDQotLSAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX3Nwcmlu dGYoZ2MsICIlcy9mcm9udGVuZCIsIHBhdGgpKTsNCi0rICAgICAgICAgICAgICAgICAgICAgICBs aWJ4bF9fc3ByaW50ZihnYywgIiVzL2Zyb250ZW5kIiwgbGlieGxfcGF0aCkpOw0KLSAgICAgICAg ICAgICByYyA9IEVSUk9SX0ZBSUw7DQotICAgICAgICAgICAgIGdvdG8gb3V0Ow0KLSAgICAgICAg IH0NCi1AQCAtMzAwNSw3ICszMDA1LDcgQEAgaW50IGxpYnhsX2Nkcm9tX2luc2VydChsaWJ4bF9j dHggKmN0eCwgdWludDMyX3QgZG9taWQsIGxpYnhsX2RldmljZV9kaXNrICpkaXNrLA0KLSANCi0g ICAgICAgICBjaGFyICoqa3ZzID0gbGlieGxfX3hzX2t2c19vZl9mbGV4YXJyYXkoZ2MsIGluc2Vy dCwgaW5zZXJ0LT5jb3VudCk7DQotIA0KLS0gICAgICAgIHJjID0gbGlieGxfX3hzX3dyaXRldihn YywgdCwgcGF0aCwga3ZzKTsNCi0rICAgICAgICByYyA9IGxpYnhsX194c193cml0ZXYoZ2MsIHQs IGJlX3BhdGgsIGt2cyk7DQotICAgICAgICAgaWYgKHJjKSBnb3RvIG91dDsNCi0gDQotICAgICAg ICAgcmMgPSBsaWJ4bF9feHNfd3JpdGV2KGdjLCB0LCBsaWJ4bF9wYXRoLCBrdnMpOw0KLS0tIA0K LTEuOS4xDQotDQpkaWZmIC0tZ2l0IGEvbWFpbi94ZW4vMDAwOS1saWJ4bC1Eby1ub3QtdHJ1c3Qt ZnJvbnRlbmQtZm9yLW5pYy1pbi1saWJ4bF9kZXZpZF90LnBhdGNoIGIvbWFpbi94ZW4vMDAwOS1s aWJ4bC1Eby1ub3QtdHJ1c3QtZnJvbnRlbmQtZm9yLW5pYy1pbi1saWJ4bF9kZXZpZF90LnBhdGNo DQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IGZkODZjYjguLjAwMDAwMDANCi0tLSBh L21haW4veGVuLzAwMDktbGlieGwtRG8tbm90LXRydXN0LWZyb250ZW5kLWZvci1uaWMtaW4tbGli eGxfZGV2aWRfdC5wYXRjaA0KKysrIC9kZXYvbnVsbA0KQEAgLTEsNDcgKzAsMCBAQA0KLUZyb20g YzYyNmVhNDc2ODI5NGI3M2VmMjRmYWZlN2FmOWFkMTIyMWMxYzQ4ZCBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDENCi1Gcm9tOiBJYW4gSmFja3NvbiA8aWFuLmphY2tzb25AZXUuY2l0cml4LmNvbT4N Ci1EYXRlOiBUdWUsIDMgTWF5IDIwMTYgMTU6NTI6NTMgKzAxMDANCi1TdWJqZWN0OiBbUEFUQ0gg MDkvMTJdIGxpYnhsOiBEbyBub3QgdHJ1c3QgZnJvbnRlbmQgZm9yIG5pYyBpbg0KLSBsaWJ4bF9k ZXZpZF90b19kZXZpY2VfbmljDQotDQotRmluZCB0aGUgYmFja2VuZCBieSByZWFkaW5nIHRoZSBw b2ludGVyIGluIC9saWJ4bCByYXRoZXIgdGhhbiBpbiB0aGUNCi1ndWVzdCdzIGZyb250ZW5kIGFy ZWEuDQotDQotVGhpcyBpcyBwYXJ0IG9mIFhTQS0xNzUuDQotDQotU2lnbmVkLW9mZi1ieTogSWFu IEphY2tzb24gPElhbi5KYWNrc29uQGV1LmNpdHJpeC5jb20+DQotUmV2aWV3ZWQtYnk6IFdlaSBM aXUgPHdlaS5saXUyQGNpdHJpeC5jb20+DQotLS0tDQotIHRvb2xzL2xpYnhsL2xpYnhsLmMgfCAx MCArKysrKy0tLS0tDQotIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDUgZGVsZXRp b25zKC0pDQotDQotZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsLmMgYi90b29scy9saWJ4 bC9saWJ4bC5jDQotaW5kZXggNjViOTk1My4uNGM0NTI2OSAxMDA2NDQNCi0tLS0gYS90b29scy9s aWJ4bC9saWJ4bC5jDQotKysrIGIvdG9vbHMvbGlieGwvbGlieGwuYw0KLUBAIC0zNTQwLDE3ICsz NTQwLDE3IEBAIGludCBsaWJ4bF9kZXZpZF90b19kZXZpY2VfbmljKGxpYnhsX2N0eCAqY3R4LCB1 aW50MzJfdCBkb21pZCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRldmlk LCBsaWJ4bF9kZXZpY2VfbmljICpuaWMpDQotIHsNCi0gICAgIEdDX0lOSVQoY3R4KTsNCi0tICAg IGNoYXIgKmRvbXBhdGgsICpwYXRoOw0KLSsgICAgY2hhciAqbGlieGxfZG9tX3BhdGgsICpwYXRo Ow0KLSAgICAgaW50IHJjID0gRVJST1JfRkFJTDsNCi0gDQotICAgICBsaWJ4bF9kZXZpY2Vfbmlj X2luaXQobmljKTsNCi0tICAgIGRvbXBhdGggPSBsaWJ4bF9feHNfZ2V0X2RvbXBhdGgoZ2MsIGRv bWlkKTsNCi0tICAgIGlmICghZG9tcGF0aCkNCi0rICAgIGxpYnhsX2RvbV9wYXRoID0gbGlieGxf X3hzX2xpYnhsX3BhdGgoZ2MsIGRvbWlkKTsNCi0rICAgIGlmICghbGlieGxfZG9tX3BhdGgpDQot ICAgICAgICAgZ290byBvdXQ7DQotIA0KLSAgICAgcGF0aCA9IGxpYnhsX194c19yZWFkKGdjLCBY QlRfTlVMTCwNCi0tICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fc3ByaW50ZihnYywg IiVzL2RldmljZS92aWYvJWQvYmFja2VuZCIsDQotLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgZG9tcGF0aCwgZGV2aWQpKTsNCi0rICAgICAgICAgICAgICAgICAgICAg ICAgICBHQ1NQUklOVEYoIiVzL2RldmljZS92aWYvJWQvYmFja2VuZCIsIGxpYnhsX2RvbV9wYXRo LA0KLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXZpZCkpOw0KLSAgICAg aWYgKCFwYXRoKQ0KLSAgICAgICAgIGdvdG8gb3V0Ow0KLSANCi0tLSANCi0yLjEuNA0KLQ0KZGlm ZiAtLWdpdCBhL21haW4veGVuLzAwMTAtbGlieGwtRG8tbm90LXRydXN0LWJhY2tlbmQtZm9yLWNo YW5uZWwtaW4tZ2V0aW5mby5wYXRjaCBiL21haW4veGVuLzAwMTAtbGlieGwtRG8tbm90LXRydXN0 LWJhY2tlbmQtZm9yLWNoYW5uZWwtaW4tZ2V0aW5mby5wYXRjaA0KZGVsZXRlZCBmaWxlIG1vZGUg MTAwNjQ0DQppbmRleCA4Mjk1Nzk2Li4wMDAwMDAwDQotLS0gYS9tYWluL3hlbi8wMDEwLWxpYnhs LURvLW5vdC10cnVzdC1iYWNrZW5kLWZvci1jaGFubmVsLWluLWdldGluZm8ucGF0Y2gNCisrKyAv ZGV2L251bGwNCkBAIC0xLDM4ICswLDAgQEANCi1Gcm9tIGM5YjgzMTRlZTk5ZjMwYTYyYjdmZjZk YjI1MzU5OGZhNGUxNGJhNTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxDQotRnJvbTogSWFuIEph Y2tzb24gPGlhbi5qYWNrc29uQGV1LmNpdHJpeC5jb20+DQotRGF0ZTogV2VkLCA0IE1heSAyMDE2 IDE1OjU3OjEwICswMTAwDQotU3ViamVjdDogW1BBVENIIDEwLzIwXSBsaWJ4bDogRG8gbm90IHRy dXN0IGJhY2tlbmQgZm9yIGNoYW5uZWwgaW4gZ2V0aW5mbw0KLQ0KLURvIG5vdCByZWFkIHRoZSBm cm9udGVuZCBwYXRoIG91dCBvZiB0aGUgYmFja2VuZC4gIFdlIGhhdmUgaXQgaW4gb3VyDQotaGFu ZC4gIExpa2V3aXNlIHRoZSBndWVzdCAoZnJvbnRlbmQpIGRvbWlkIHdhcyBvbmUgb2Ygb3VyIHBh cmFtZXRlcnMgKCEpDQotDQotVGhpcyBpcyBwYXJ0IG9mIFhTQS0xNzguDQotDQotU2lnbmVkLW9m Zi1ieTogSWFuIEphY2tzb24gPElhbi5KYWNrc29uQGV1LmNpdHJpeC5jb20+DQotUmV2aWV3ZWQt Ynk6IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJpeC5jb20+DQotLS0tDQotIHRvb2xzL2xpYnhsL2xp YnhsLmMgfCA4ICsrLS0tLS0tDQotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDYg ZGVsZXRpb25zKC0pDQotDQotZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsLmMgYi90b29s cy9saWJ4bC9saWJ4bC5jDQotaW5kZXggOWY3NzI2OS4uMzVjZmZmZSAxMDA2NDQNCi0tLS0gYS90 b29scy9saWJ4bC9saWJ4bC5jDQotKysrIGIvdG9vbHMvbGlieGwvbGlieGwuYw0KLUBAIC0zOTc3 LDEyICszOTc3LDggQEAgaW50IGxpYnhsX2RldmljZV9jaGFubmVsX2dldGluZm8obGlieGxfY3R4 ICpjdHgsIHVpbnQzMl90IGRvbWlkLA0KLSANCi0gICAgIHZhbCA9IGxpYnhsX194c19yZWFkKGdj LCBYQlRfTlVMTCwgR0NTUFJJTlRGKCIlcy9zdGF0ZSIsIGZlX3BhdGgpKTsNCi0gICAgIGNoYW5u ZWxpbmZvLT5zdGF0ZSA9IHZhbCA/IHN0cnRvdWwodmFsLCBOVUxMLCAxMCkgOiAtMTsNCi0tICAg IGNoYW5uZWxpbmZvLT5mcm9udGVuZCA9IHhzX3JlYWQoY3R4LT54c2gsIFhCVF9OVUxMLA0KLS0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHQ1NQUklOVEYoIiVzL2Zyb250ZW5k IiwNCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhbm5lbGluZm8tPmJh Y2tlbmQpLCBOVUxMKTsNCi0tICAgIHZhbCA9IGxpYnhsX194c19yZWFkKGdjLCBYQlRfTlVMTCwg R0NTUFJJTlRGKCIlcy9mcm9udGVuZC1pZCIsDQotLSAgICAgICAgICAgICAgICAgICAgICAgICBj aGFubmVsaW5mby0+YmFja2VuZCkpOw0KLS0gICAgY2hhbm5lbGluZm8tPmZyb250ZW5kX2lkID0g dmFsID8gc3RydG91bCh2YWwsIE5VTEwsIDEwKSA6IC0xOw0KLSsgICAgY2hhbm5lbGluZm8tPmZy b250ZW5kID0gbGlieGxfX3N0cmR1cChOT0dDLCBmZV9wYXRoKTsNCi0rICAgIGNoYW5uZWxpbmZv LT5mcm9udGVuZF9pZCA9IGRvbWlkOw0KLSAgICAgdmFsID0gbGlieGxfX3hzX3JlYWQoZ2MsIFhC VF9OVUxMLCBHQ1NQUklOVEYoIiVzL3JpbmctcmVmIiwgZmVfcGF0aCkpOw0KLSAgICAgY2hhbm5l bGluZm8tPnJyZWYgPSB2YWwgPyBzdHJ0b3VsKHZhbCwgTlVMTCwgMTApIDogLTE7DQotICAgICB2 YWwgPSBsaWJ4bF9feHNfcmVhZChnYywgWEJUX05VTEwsIEdDU1BSSU5URigiJXMvcG9ydCIsIGZl X3BhdGgpKTsNCi0tLSANCi0xLjkuMQ0KLQ0KZGlmZiAtLWdpdCBhL21haW4veGVuLzAwMTAtbGli eGwtRG8tbm90LXRydXN0LWZyb250ZW5kLWZvci1uaWMtaW4tZ2V0aW5mby5wYXRjaCBiL21haW4v eGVuLzAwMTAtbGlieGwtRG8tbm90LXRydXN0LWZyb250ZW5kLWZvci1uaWMtaW4tZ2V0aW5mby5w YXRjaA0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCA2MGFmYWZmLi4wMDAwMDAwDQot LS0gYS9tYWluL3hlbi8wMDEwLWxpYnhsLURvLW5vdC10cnVzdC1mcm9udGVuZC1mb3ItbmljLWlu LWdldGluZm8ucGF0Y2gNCisrKyAvZGV2L251bGwNCkBAIC0xLDczICswLDAgQEANCi1Gcm9tIDlk MTk4Mjk5NWU4ZDU2NDVhZTE0OWJjZTY3MGJlYTgyZmRhMzE0MjEgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxDQotRnJvbTogSWFuIEphY2tzb24gPGlhbi5qYWNrc29uQGV1LmNpdHJpeC5jb20+DQot RGF0ZTogVHVlLCAzIE1heSAyMDE2IDE2OjMxOjA3ICswMTAwDQotU3ViamVjdDogW1BBVENIIDEw LzEyXSBsaWJ4bDogRG8gbm90IHRydXN0IGZyb250ZW5kIGZvciBuaWMgaW4gZ2V0aW5mbw0KLQ0K LWxpYnhsX2RldmljZV9uaWNfZ2V0aW5mbyBuZWVkcyB0byBleGFtaW5lIGRldmljZXMgd2l0aG91 dCB0cnVzdGluZw0KLWZyb250ZW5kLWNvbnRyb2xsZWQgZGF0YS4gIFNvOg0KLQ0KLSogVXNlIC9s aWJ4bCB0byBmaW5kIHRoZSBiYWNrZW5kIHBhdGguDQotKiBQYXJzZSB0aGUgYmFja2VuZCBwYXRo IHRvIGZpbmQgdGhlIGJhY2tlbmQgZG9taWQsIHJhdGhlciB0aGFuDQotICByZWFkaW5nIGl0IGZy b20gdGhlIGZyb250ZW5kLg0KLQ0KLVRoaXMgaXMgcGFydCBvZiBYU0EtMTc1Lg0KLQ0KLVNpZ25l ZC1vZmYtYnk6IElhbiBKYWNrc29uIDxJYW4uSmFja3NvbkBldS5jaXRyaXguY29tPg0KLVJldmll d2VkLWJ5OiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPg0KLS0tLQ0KLSB0b29scy9saWJ4 bC9saWJ4bC5jIHwgMjEgKysrKysrKysrKysrKystLS0tLS0tDQotIDEgZmlsZSBjaGFuZ2VkLCAx NCBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQ0KLQ0KLWRpZmYgLS1naXQgYS90b29scy9s aWJ4bC9saWJ4bC5jIGIvdG9vbHMvbGlieGwvbGlieGwuYw0KLWluZGV4IDRjNDUyNjkuLjM0ODUz ZjggMTAwNjQ0DQotLS0tIGEvdG9vbHMvbGlieGwvbGlieGwuYw0KLSsrKyBiL3Rvb2xzL2xpYnhs L2xpYnhsLmMNCi1AQCAtMzYyOSwyMiArMzYyOSwyNyBAQCBpbnQgbGlieGxfZGV2aWNlX25pY19n ZXRpbmZvKGxpYnhsX2N0eCAqY3R4LCB1aW50MzJfdCBkb21pZCwNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgbGlieGxfZGV2aWNlX25pYyAqbmljLCBsaWJ4bF9uaWNpbmZvICpuaWNp bmZvKQ0KLSB7DQotICAgICBHQ19JTklUKGN0eCk7DQotLSAgICBjaGFyICpkb21wYXRoLCAqbmlj cGF0aDsNCi0rICAgIGNoYXIgKmRvbXBhdGgsICpuaWNwYXRoLCAqbGlieGxfcGF0aDsNCi0gICAg IGNoYXIgKnZhbDsNCi0rICAgIGludCByYzsNCi0gDQotICAgICBkb21wYXRoID0gbGlieGxfX3hz X2dldF9kb21wYXRoKGdjLCBkb21pZCk7DQotICAgICBuaWNpbmZvLT5kZXZpZCA9IG5pYy0+ZGV2 aWQ7DQotIA0KLS0gICAgbmljcGF0aCA9IGxpYnhsX19zcHJpbnRmKGdjLCAiJXMvZGV2aWNlL3Zp Zi8lZCIsIGRvbXBhdGgsIG5pY2luZm8tPmRldmlkKTsNCi0rICAgIG5pY3BhdGggPSBHQ1NQUklO VEYoIiVzL2RldmljZS92aWYvJWQiLCBkb21wYXRoLCBuaWNpbmZvLT5kZXZpZCk7DQotKyAgICBs aWJ4bF9wYXRoID0gR0NTUFJJTlRGKCIlcy9kZXZpY2UvdmlmLyVkIiwNCi0rICAgICAgICAgICAg ICAgICAgICAgICAgICAgbGlieGxfX3hzX2xpYnhsX3BhdGgoZ2MsIGRvbWlkKSwgbmljaW5mby0+ ZGV2aWQpOw0KLSAgICAgbmljaW5mby0+YmFja2VuZCA9IHhzX3JlYWQoY3R4LT54c2gsIFhCVF9O VUxMLA0KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19zcHJpbnRmKGdj LCAiJXMvYmFja2VuZCIsIG5pY3BhdGgpLCBOVUxMKTsNCi0rICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBHQ1NQUklOVEYoIiVzL2JhY2tlbmQiLCBsaWJ4bF9wYXRoKSwgTlVMTCk7DQot ICAgICBpZiAoIW5pY2luZm8tPmJhY2tlbmQpIHsNCi0gICAgICAgICBHQ19GUkVFOw0KLSAgICAg ICAgIHJldHVybiBFUlJPUl9GQUlMOw0KLSAgICAgfQ0KLS0gICAgdmFsID0gbGlieGxfX3hzX3Jl YWQoZ2MsIFhCVF9OVUxMLCBsaWJ4bF9fc3ByaW50ZihnYywgIiVzL2JhY2tlbmQtaWQiLCBuaWNw YXRoKSk7DQotLSAgICBuaWNpbmZvLT5iYWNrZW5kX2lkID0gdmFsID8gc3RydG91bCh2YWwsIE5V TEwsIDEwKSA6IC0xOw0KLS0gICAgdmFsID0gbGlieGxfX3hzX3JlYWQoZ2MsIFhCVF9OVUxMLCBs aWJ4bF9fc3ByaW50ZihnYywgIiVzL3N0YXRlIiwgbmljcGF0aCkpOw0KLSsgICAgcmMgPSBsaWJ4 bF9fYmFja2VuZHBhdGhfcGFyc2VfZG9taWQoZ2MsIG5pY2luZm8tPmJhY2tlbmQsDQotKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbmljaW5mby0+YmFja2VuZF9pZCk7 DQotKyAgICBpZiAocmMpIGdvdG8gb3V0Ow0KLSsNCi0rICAgIHZhbCA9IGxpYnhsX194c19yZWFk KGdjLCBYQlRfTlVMTCwgR0NTUFJJTlRGKCIlcy9zdGF0ZSIsIG5pY3BhdGgpKTsNCi0gICAgIG5p Y2luZm8tPnN0YXRlID0gdmFsID8gc3RydG91bCh2YWwsIE5VTEwsIDEwKSA6IC0xOw0KLSAgICAg dmFsID0gbGlieGxfX3hzX3JlYWQoZ2MsIFhCVF9OVUxMLCBsaWJ4bF9fc3ByaW50ZihnYywgIiVz L2V2ZW50LWNoYW5uZWwiLCBuaWNwYXRoKSk7DQotICAgICBuaWNpbmZvLT5ldnRjaCA9IHZhbCA/ IHN0cnRvdWwodmFsLCBOVUxMLCAxMCkgOiAtMTsNCi1AQCAtMzY1Nyw4ICszNjYyLDEwIEBAIGlu dCBsaWJ4bF9kZXZpY2VfbmljX2dldGluZm8obGlieGxfY3R4ICpjdHgsIHVpbnQzMl90IGRvbWlk LA0KLSAgICAgdmFsID0gbGlieGxfX3hzX3JlYWQoZ2MsIFhCVF9OVUxMLCBsaWJ4bF9fc3ByaW50 ZihnYywgIiVzL2Zyb250ZW5kLWlkIiwgbmljaW5mby0+YmFja2VuZCkpOw0KLSAgICAgbmljaW5m by0+ZnJvbnRlbmRfaWQgPSB2YWwgPyBzdHJ0b3VsKHZhbCwgTlVMTCwgMTApIDogLTE7DQotIA0K LSsgICAgcmMgPSAwOw0KLSsgb3V0Og0KLSAgICAgR0NfRlJFRTsNCi0tICAgIHJldHVybiAwOw0K LSsgICAgcmV0dXJuIHJjOw0KLSB9DQotIA0KLSBjb25zdCBjaGFyICpsaWJ4bF9fZGV2aWNlX25p Y19kZXZuYW1lKGxpYnhsX19nYyAqZ2MsDQotLS0gDQotMi4xLjQNCi0NCmRpZmYgLS1naXQgYS9t YWluL3hlbi8wMDExLWxpYnhsLURvLW5vdC10cnVzdC1mcm9udGVuZC1mb3ItY2hhbm5lbC1pbi1s aXN0LnBhdGNoIGIvbWFpbi94ZW4vMDAxMS1saWJ4bC1Eby1ub3QtdHJ1c3QtZnJvbnRlbmQtZm9y LWNoYW5uZWwtaW4tbGlzdC5wYXRjaA0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCBi NmM3NjdhLi4wMDAwMDAwDQotLS0gYS9tYWluL3hlbi8wMDExLWxpYnhsLURvLW5vdC10cnVzdC1m cm9udGVuZC1mb3ItY2hhbm5lbC1pbi1saXN0LnBhdGNoDQorKysgL2Rldi9udWxsDQpAQCAtMSwx MDQgKzAsMCBAQA0KLUZyb20gNTVmY2MyMGZhNzVkOTQ1ODgwNWJmODEzMGNlMjU3Y2RkZDhkYjcx ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDENCi1Gcm9tOiBJYW4gSmFja3NvbiA8aWFuLmphY2tz b25AZXUuY2l0cml4LmNvbT4NCi1EYXRlOiBUdWUsIDMgTWF5IDIwMTYgMTc6MDE6NTYgKzAxMDAN Ci1TdWJqZWN0OiBbUEFUQ0ggMTEvMTJdIGxpYnhsOiBEbyBub3QgdHJ1c3QgZnJvbnRlbmQgZm9y IGNoYW5uZWwgaW4gbGlzdA0KLQ0KLWxpYnhsX2RldmljZV9jaGFubmVsX2xpc3Qgc2hvdWxkIG5v dCB0cnVzdCBmcm9udGVuZC1wcm92aWRlZCBkYXRhLg0KLQ0KLVNvIGl0IG5lZWRzIHRvIGl0ZXJh dGUgdXNpbmcgdGhlIC9saWJ4bCBwYXRocywgYW5kIHJlYWQgdGhlIGJhY2tlbmQNCi1wYXRoIG91 dCBvZiAvbGlieGwuDQotDQotSG93ZXZlciwgaXQgYWxzbyBmaWx0ZXJzIG91dCBwdXJlICJjb25z b2xlcyIsIHdoaWNoIGFyZSBjaGFubmVscw0KLXdpdGhvdXQgYSAibmFtZSIuICBCdXQgdGhlIG5h bWUgd2FzIHN0b3JlZCBvbmx5IGluIHRoZSBmcm9udGVuZA0KLWRpcmVjdG9yeSwgd2hpY2ggdGhl IGZyb250ZW5kIGNhbiBkZWxldGUuDQotDQotU28gc3RvcmUgdGhlIG5hbWUgaW4gdGhlIGJhY2tl bmQgdG9vLiAgKElkZWFsbHkgd2Ugd291bGQgc3RvcmUgaXQgaW4NCi0vbGlieGwsIHdoZXJlIHRo ZSBiYWNrZW5kIGNhbid0IHdyaXRlIHRvIGl0IGVpdGhlciwgYnV0DQotbGlieGxfX2RldmljZV9j b25zb2xlX2FkZCBub3QgY3VycmVudGx5IGhhdmUgYWNjZXNzIHRvIHRoZSB4ZW5zdG9yZQ0KLXRy YW5zYWN0aW9uIHVzZWQgYnkgbGlieGxfX2RldmljZV9nZW5lcmljX2FkZC4gIFByb3RlY3Rpb24g YWdhaW5zdCB0aGUNCi1iYWNrZW5kIHdpbGwgY29tZSBsYXRlciwgaW4gWFNBLTE3OC4pDQotDQot QmVjYXVzZSB0aGUgbGlieGwgcGF0aHMgYXJlIGRlZmluZWQgdG8gYmUgaW4gdGVybXMgb2YgdGhl IGZyb250ZW5kDQotZGV2aWNlIHR5cGVzLCBub3QgdGhlIGJhY2tlbmQgZGV2aWNlIHR5cGVzLCBp dCBpcyBubyBsb25nZXIgY29ycmVjdA0KLWZvciBsaWJ4bF9fYXBwZW5kX2NoYW5uZWxfbGlzdCB0 byB0YWtlIGEgdHlwZSBhcmd1bWVudC4gIEFib2xpc2ggdGhpcw0KLSh3aXRoIG5vIGZ1bmN0aW9u YWwgZWZmZWN0KS4NCi0NCi1UaGlzIGlzIHBhcnQgb2YgWFNBLTE3NS4NCi0NCi1TaWduZWQtb2Zm LWJ5OiBJYW4gSmFja3NvbiA8SWFuLkphY2tzb25AZXUuY2l0cml4LmNvbT4NCi1SZXZpZXdlZC1i eTogV2VpIExpdSA8d2VpLmxpdTJAY2l0cml4LmNvbT4NCi0tLS0NCi0gdG9vbHMvbGlieGwvbGli eGwuYyB8IDI1ICsrKysrKysrKysrKysrLS0tLS0tLS0tLS0NCi0gMSBmaWxlIGNoYW5nZWQsIDE0 IGluc2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQ0KLQ0KLWRpZmYgLS1naXQgYS90b29scy9s aWJ4bC9saWJ4bC5jIGIvdG9vbHMvbGlieGwvbGlieGwuYw0KLWluZGV4IDM0ODUzZjguLjZmZmIx NzMgMTAwNjQ0DQotLS0tIGEvdG9vbHMvbGlieGwvbGlieGwuYw0KLSsrKyBiL3Rvb2xzL2xpYnhs L2xpYnhsLmMNCi1AQCAtMzcyNiw2ICszNzI2LDggQEAgaW50IGxpYnhsX19kZXZpY2VfY29uc29s ZV9hZGQobGlieGxfX2djICpnYywgdWludDMyX3QgZG9taWQsDQotICAgICBpZiAoY29uc29sZS0+ bmFtZSkgew0KLSAgICAgICAgIGZsZXhhcnJheV9hcHBlbmQocm9fZnJvbnQsICJuYW1lIik7DQot ICAgICAgICAgZmxleGFycmF5X2FwcGVuZChyb19mcm9udCwgY29uc29sZS0+bmFtZSk7DQotKyAg ICAgICAgZmxleGFycmF5X2FwcGVuZChiYWNrLCAibmFtZSIpOw0KLSsgICAgICAgIGZsZXhhcnJh eV9hcHBlbmQoYmFjaywgY29uc29sZS0+bmFtZSk7DQotICAgICB9DQotICAgICBpZiAoY29uc29s ZS0+Y29ubmVjdGlvbikgew0KLSAgICAgICAgIGZsZXhhcnJheV9hcHBlbmQoYmFjaywgImNvbm5l Y3Rpb24iKTsNCi1AQCAtMzg2NCwzNCArMzg2NiwzNSBAQCBzdGF0aWMgaW50IGxpYnhsX19kZXZp Y2VfY2hhbm5lbF9mcm9tX3hzX2JlKGxpYnhsX19nYyAqZ2MsDQotICAgICByZXR1cm4gcmM7DQot IH0NCi0gDQotLXN0YXRpYyBpbnQgbGlieGxfX2FwcGVuZF9jaGFubmVsX2xpc3Rfb2ZfdHlwZShs aWJ4bF9fZ2MgKmdjLA0KLStzdGF0aWMgaW50IGxpYnhsX19hcHBlbmRfY2hhbm5lbF9saXN0KGxp YnhsX19nYyAqZ2MsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB1aW50MzJfdCBkb21pZCwNCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnR5cGUsDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9kZXZpY2VfY2hhbm5lbCAqKmNoYW5uZWxzLA0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ICpuY2hh bm5lbHMpDQotIHsNCi0tICAgIGNoYXIgKmZlX3BhdGggPSBOVUxMLCAqYmVfcGF0aCA9IE5VTEw7 DQotKyAgICBjaGFyICpsaWJ4bF9kaXJfcGF0aCA9IE5VTEwsICpiZV9wYXRoID0gTlVMTDsNCi0g ICAgIGNoYXIgKipkaXIgPSBOVUxMOw0KLSAgICAgdW5zaWduZWQgaW50IG4gPSAwLCBkZXZpZCA9 IDA7DQotICAgICBsaWJ4bF9kZXZpY2VfY2hhbm5lbCAqbmV4dCA9IE5VTEw7DQotICAgICBpbnQg cmMgPSAwLCBpOw0KLSANCi0tICAgIGZlX3BhdGggPSBHQ1NQUklOVEYoIiVzL2RldmljZS8lcyIs DQotLSAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX194c19nZXRfZG9tcGF0aChnYywgZG9t aWQpLCB0eXBlKTsNCi0tICAgIGRpciA9IGxpYnhsX194c19kaXJlY3RvcnkoZ2MsIFhCVF9OVUxM LCBmZV9wYXRoLCAmbik7DQotKyAgICBsaWJ4bF9kaXJfcGF0aCA9IEdDU1BSSU5URigiJXMvZGV2 aWNlL2NvbnNvbGUiLA0KLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX3hz X2xpYnhsX3BhdGgoZ2MsIGRvbWlkKSk7DQotKyAgICBkaXIgPSBsaWJ4bF9feHNfZGlyZWN0b3J5 KGdjLCBYQlRfTlVMTCwgbGlieGxfZGlyX3BhdGgsICZuKTsNCi0gICAgIGlmICghZGlyIHx8ICFu KQ0KLSAgICAgICBnb3RvIG91dDsNCi0gDQotICAgICBmb3IgKGkgPSAwOyBpIDwgbjsgaSsrKSB7 DQotLSAgICAgICAgY29uc3QgY2hhciAqcCwgKm5hbWU7DQotKyAgICAgICAgY29uc3QgY2hhciAq bGlieGxfcGF0aCwgKm5hbWU7DQotICAgICAgICAgbGlieGxfZGV2aWNlX2NoYW5uZWwgKnRtcDsN Ci0gDQotLSAgICAgICAgcCA9IGxpYnhsX19zcHJpbnRmKGdjLCAiJXMvJXMiLCBmZV9wYXRoLCBk aXJbaV0pOw0KLS0gICAgICAgIG5hbWUgPSBsaWJ4bF9feHNfcmVhZChnYywgWEJUX05VTEwsIEdD U1BSSU5URigiJXMvbmFtZSIsIHApKTsNCi0rICAgICAgICBsaWJ4bF9wYXRoID0gR0NTUFJJTlRG KCIlcy8lcyIsIGxpYnhsX2Rpcl9wYXRoLCBkaXJbaV0pOw0KLSsgICAgICAgIGJlX3BhdGggPSBs aWJ4bF9feHNfcmVhZChnYywgWEJUX05VTEwsDQotKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEdDU1BSSU5URigiJXMvYmFja2VuZCIsIGxpYnhsX3BhdGgpKTsNCi0rICAgICAgICBp ZiAoIWJlX3BhdGgpIGNvbnRpbnVlOw0KLSsgICAgICAgIG5hbWUgPSBsaWJ4bF9feHNfcmVhZChn YywgWEJUX05VTEwsIEdDU1BSSU5URigiJXMvbmFtZSIsIGJlX3BhdGgpKTsNCi0gICAgICAgICAv KiAnY2hhbm5lbHMnIGFyZSBjb25zb2xlcyB3aXRoIG5hbWVzLCBzbyBpZ25vcmUgYWxsIGNvbnNv bGVzDQotICAgICAgICAgICAgd2l0aG91dCBuYW1lcyAqLw0KLSAgICAgICAgIGlmICghbmFtZSkg Y29udGludWU7DQotLSAgICAgICAgYmVfcGF0aCA9IGxpYnhsX194c19yZWFkKGdjLCBYQlRfTlVM TCwgR0NTUFJJTlRGKCIlcy9iYWNrZW5kIiwgcCkpOw0KLSAgICAgICAgIHRtcCA9IHJlYWxsb2Mo KmNoYW5uZWxzLA0KLSAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKGxpYnhsX2RldmljZV9j aGFubmVsKSAqICgqbmNoYW5uZWxzICsgZGV2aWQgKyAxKSk7DQotICAgICAgICAgaWYgKCF0bXAp IHsNCi1AQCAtMzkyMiw3ICszOTI1LDcgQEAgbGlieGxfZGV2aWNlX2NoYW5uZWwgKmxpYnhsX2Rl dmljZV9jaGFubmVsX2xpc3QobGlieGxfY3R4ICpjdHgsDQotIA0KLSAgICAgKm51bSA9IDA7DQot IA0KLS0gICAgcmMgPSBsaWJ4bF9fYXBwZW5kX2NoYW5uZWxfbGlzdF9vZl90eXBlKGdjLCBkb21p ZCwgImNvbnNvbGUiLCAmY2hhbm5lbHMsIG51bSk7DQotKyAgICByYyA9IGxpYnhsX19hcHBlbmRf Y2hhbm5lbF9saXN0KGdjLCBkb21pZCwgJmNoYW5uZWxzLCBudW0pOw0KLSAgICAgaWYgKHJjKSBn b3RvIG91dF9lcnI7DQotIA0KLSAgICAgR0NfRlJFRTsNCi0tLSANCi0yLjEuNA0KLQ0KZGlmZiAt LWdpdCBhL21haW4veGVuLzAwMTEtbGlieGwtUmVuYW1lLWxpYnhsX19kZXZpY2VfLW5pYy1jaGFu bmVsLV9mcm9tX3hzX2JlLS5wYXRjaCBiL21haW4veGVuLzAwMTEtbGlieGwtUmVuYW1lLWxpYnhs X19kZXZpY2VfLW5pYy1jaGFubmVsLV9mcm9tX3hzX2JlLS5wYXRjaA0KZGVsZXRlZCBmaWxlIG1v ZGUgMTAwNjQ0DQppbmRleCA5MWM2OGE1Li4wMDAwMDAwDQotLS0gYS9tYWluL3hlbi8wMDExLWxp YnhsLVJlbmFtZS1saWJ4bF9fZGV2aWNlXy1uaWMtY2hhbm5lbC1fZnJvbV94c19iZS0ucGF0Y2gN CisrKyAvZGV2L251bGwNCkBAIC0xLDg3ICswLDAgQEANCi1Gcm9tIDM4MmVkMmYwOTBjYzc5ZTUy ZmQ1YWIyZTBiNTFiMjc4YzVmNjEyMzIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxDQotRnJvbTog SWFuIEphY2tzb24gPGlhbi5qYWNrc29uQGV1LmNpdHJpeC5jb20+DQotRGF0ZTogV2VkLCA0IE1h eSAyMDE2IDE2OjE4OjM2ICswMTAwDQotU3ViamVjdDogW1BBVENIIDExLzIwXSBsaWJ4bDogUmVu YW1lIGxpYnhsX19kZXZpY2Vfe25pYyxjaGFubmVsfV9mcm9tX3hzX2JlIHRvDQotIF9mcm9tX3hl bnN0b3JlDQotDQotV2UgYXJlIGdvaW5nIHRvIGNoYW5nZSB0aGVzZSBmdW5jdGlvbnMgdG8gZXhw ZWN0LCBhbmQgYmUgcGFzc2VkLCBhDQotL2xpYnhsIHBhdGguICBTbyBpdCBpcyB3cm9uZyB0aGF0 IHRoZXkgYXJlIGNhbGxlZCBfZnJvbV94c19iZS4NCi0NCi1OZWl0aGVyIGZ1bmN0aW9uIHJlYWRz IGFueXRoaW5nIHdoaWNoIGlzbid0IGZvdW5kIGluIGJvdGggcGxhY2VzLCBzbw0KLXdlIGNhbiBh bmQgd2lsbCBjaGFuZ2UgdGhlIGNhbGwgc2l0ZXMgbGF0ZXIuDQotDQotVGhlIG9ubHkgcmVtYWlu aW5nIGZ1bmN0aW9uIGluIGxpYnhsIGNhbGxlZCAqX2Zyb21feHNfYmUgcmVsYXRlcyB0bw0KLVBD SSBkZXZpY2VzLCBmb3Igd2hpY2ggdGhlIGJhY2tlbmQgZG9tYWluIGlzIGhhcmRjb2RlZCB0byAw IHRocm91Z2hvdXQNCi10aGUgbGlieGxfcGNpLmMuDQotDQotTm8gZnVuY3Rpb25hbCBjaGFuZ2Uu DQotDQotVGhpcyBpcyBwYXJ0IG9mIFhTQS0xNzguDQotDQotU2lnbmVkLW9mZi1ieTogSWFuIEph Y2tzb24gPElhbi5KYWNrc29uQGV1LmNpdHJpeC5jb20+DQotUmV2aWV3ZWQtYnk6IFdlaSBMaXUg PHdlaS5saXUyQGNpdHJpeC5jb20+DQotLS0tDQotIHRvb2xzL2xpYnhsL2xpYnhsLmMgfCAxMiAr KysrKystLS0tLS0NCi0gMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlv bnMoLSkNCi0NCi1kaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGwuYyBiL3Rvb2xzL2xpYnhs L2xpYnhsLmMNCi1pbmRleCAzNWNmZmZlLi4zNWNiNmIwIDEwMDY0NA0KLS0tLSBhL3Rvb2xzL2xp YnhsL2xpYnhsLmMNCi0rKysgYi90b29scy9saWJ4bC9saWJ4bC5jDQotQEAgLTM0OTgsNyArMzQ5 OCw3IEBAIG91dDoNCi0gICAgIHJldHVybjsNCi0gfQ0KLSANCi0tc3RhdGljIGludCBsaWJ4bF9f ZGV2aWNlX25pY19mcm9tX3hzX2JlKGxpYnhsX19nYyAqZ2MsDQotK3N0YXRpYyBpbnQgbGlieGxf X2RldmljZV9uaWNfZnJvbV94ZW5zdG9yZShsaWJ4bF9fZ2MgKmdjLA0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqYmVfcGF0aCwNCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX2RldmljZV9uaWMgKm5pYykN Ci0gew0KLUBAIC0zNTYxLDcgKzM1NjEsNyBAQCBpbnQgbGlieGxfZGV2aWRfdG9fZGV2aWNlX25p YyhsaWJ4bF9jdHggKmN0eCwgdWludDMyX3QgZG9taWQsDQotICAgICBpZiAoIXBhdGgpDQotICAg ICAgICAgZ290byBvdXQ7DQotIA0KLS0gICAgcmMgPSBsaWJ4bF9fZGV2aWNlX25pY19mcm9tX3hz X2JlKGdjLCBwYXRoLCBuaWMpOw0KLSsgICAgcmMgPSBsaWJ4bF9fZGV2aWNlX25pY19mcm9tX3hl bnN0b3JlKGdjLCBwYXRoLCBuaWMpOw0KLSAgICAgaWYgKHJjKSBnb3RvIG91dDsNCi0gDQotICAg ICByYyA9IDA7DQotQEAgLTM1OTYsNyArMzU5Niw3IEBAIHN0YXRpYyBpbnQgbGlieGxfX2FwcGVu ZF9uaWNfbGlzdF9vZl90eXBlKGxpYnhsX19nYyAqZ2MsDQotICAgICAgICAgZm9yICg7IHBuaWMg PCBwbmljX2VuZDsgcG5pYysrLCBkaXIrKykgew0KLSAgICAgICAgICAgICBjb25zdCBjaGFyICpw Ow0KLSAgICAgICAgICAgICBwID0gbGlieGxfX3NwcmludGYoZ2MsICIlcy8lcyIsIGJlX3BhdGgs ICpkaXIpOw0KLS0gICAgICAgICAgICByYyA9IGxpYnhsX19kZXZpY2VfbmljX2Zyb21feHNfYmUo Z2MsIHAsIHBuaWMpOw0KLSsgICAgICAgICAgICByYyA9IGxpYnhsX19kZXZpY2VfbmljX2Zyb21f eGVuc3RvcmUoZ2MsIHAsIHBuaWMpOw0KLSAgICAgICAgICAgICBpZiAocmMpIGdvdG8gb3V0Ow0K LSAgICAgICAgICAgICBwbmljLT5iYWNrZW5kX2RvbWlkID0gMDsNCi0gICAgICAgICB9DQotQEAg LTM4NDYsNyArMzg0Niw3IEBAIGludCBsaWJ4bF9faW5pdF9jb25zb2xlX2Zyb21fY2hhbm5lbChs aWJ4bF9fZ2MgKmdjLA0KLSAgICAgcmV0dXJuIDA7DQotIH0NCi0gDQotLXN0YXRpYyBpbnQgbGli eGxfX2RldmljZV9jaGFubmVsX2Zyb21feHNfYmUobGlieGxfX2djICpnYywNCi0rc3RhdGljIGlu dCBsaWJ4bF9fZGV2aWNlX2NoYW5uZWxfZnJvbV94ZW5zdG9yZShsaWJ4bF9fZ2MgKmdjLA0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmJl X3BhdGgsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGli eGxfZGV2aWNlX2NoYW5uZWwgKmNoYW5uZWwpDQotIHsNCi1AQCAtMzg1NSw3ICszODU1LDcgQEAg c3RhdGljIGludCBsaWJ4bF9fZGV2aWNlX2NoYW5uZWxfZnJvbV94c19iZShsaWJ4bF9fZ2MgKmdj LA0KLSANCi0gICAgIGxpYnhsX2RldmljZV9jaGFubmVsX2luaXQoY2hhbm5lbCk7DQotIA0KLS0g ICAgLyogUkVBRF9CQUNLRU5EIGlzIGZyb20gbGlieGxfX2RldmljZV9uaWNfZnJvbV94c19iZSBh Ym92ZSAqLw0KLSsgICAgLyogUkVBRF9CQUNLRU5EIGlzIGZyb20gbGlieGxfX2RldmljZV9uaWNf ZnJvbV94ZW5zdG9yZSBhYm92ZSAqLw0KLSAgICAgY2hhbm5lbC0+bmFtZSA9IFJFQURfQkFDS0VO RChOT0dDLCAibmFtZSIpOw0KLSAgICAgdG1wID0gUkVBRF9CQUNLRU5EKGdjLCAiY29ubmVjdGlv biIpOw0KLSAgICAgaWYgKCFzdHJjbXAodG1wLCAicHR5IikpIHsNCi1AQCAtMzkxMCw3ICszOTEw LDcgQEAgc3RhdGljIGludCBsaWJ4bF9fYXBwZW5kX2NoYW5uZWxfbGlzdChsaWJ4bF9fZ2MgKmdj LA0KLSAgICAgICAgIH0NCi0gICAgICAgICAqY2hhbm5lbHMgPSB0bXA7DQotICAgICAgICAgbmV4 dCA9ICpjaGFubmVscyArICpuY2hhbm5lbHMgKyBkZXZpZDsNCi0tICAgICAgICByYyA9IGxpYnhs X19kZXZpY2VfY2hhbm5lbF9mcm9tX3hzX2JlKGdjLCBiZV9wYXRoLCBuZXh0KTsNCi0rICAgICAg ICByYyA9IGxpYnhsX19kZXZpY2VfY2hhbm5lbF9mcm9tX3hlbnN0b3JlKGdjLCBiZV9wYXRoLCBu ZXh0KTsNCi0gICAgICAgICBpZiAocmMpIGdvdG8gb3V0Ow0KLSAgICAgICAgIG5leHQtPmRldmlk ID0gZGV2aWQ7DQotICAgICAgICAgZGV2aWQrKzsNCi0tLSANCi0xLjkuMQ0KLQ0KZGlmZiAtLWdp dCBhL21haW4veGVuLzAwMTItbGlieGwtRG8tbm90LXRydXN0LWZyb250ZW5kLWZvci1jaGFubmVs LWluLWdldGluZm8ucGF0Y2ggYi9tYWluL3hlbi8wMDEyLWxpYnhsLURvLW5vdC10cnVzdC1mcm9u dGVuZC1mb3ItY2hhbm5lbC1pbi1nZXRpbmZvLnBhdGNoDQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2 NDQNCmluZGV4IDUwMThmYWMuLjAwMDAwMDANCi0tLSBhL21haW4veGVuLzAwMTItbGlieGwtRG8t bm90LXRydXN0LWZyb250ZW5kLWZvci1jaGFubmVsLWluLWdldGluZm8ucGF0Y2gNCisrKyAvZGV2 L251bGwNCkBAIC0xLDEyMSArMCwwIEBADQotRnJvbSAwMzMzZWM5MzFlMDIzYTY2ZGMwMzM5MmM5 YmNiMTA0MDAxOGIwMGU4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQ0KLUZyb206IElhbiBKYWNr c29uIDxpYW4uamFja3NvbkBldS5jaXRyaXguY29tPg0KLURhdGU6IFR1ZSwgMyBNYXkgMjAxNiAx NzoyNDozMiArMDEwMA0KLVN1YmplY3Q6IFtQQVRDSCAxMi8xMl0gbGlieGw6IERvIG5vdCB0cnVz dCBmcm9udGVuZCBmb3IgY2hhbm5lbCBpbiBnZXRpbmZvDQotDQotbGlieGxfZGV2aWNlX2NoYW5u ZWxfZ2V0aW5mbyBuZWVkcyB0byBleGFtaW5lIGRldmljZXMgd2l0aG91dCB0cnVzdGluZw0KLWZy b250ZW5kLWNvbnRyb2xsZWQgZGF0YS4gIFNvOg0KLQ0KLSogVXNlIC9saWJ4bCB0byBmaW5kIHRo ZSBiYWNrZW5kIHBhdGguDQotKiBQYXJzZSB0aGUgYmFja2VuZCBwYXRoIHRvIGZpbmQgdGhlIGJh Y2tlbmQgZG9taWQsIHJhdGhlciB0aGFuDQotICByZWFkaW5nIGl0IGZyb20gdGhlIGZyb250ZW5k Lg0KLSogVG9sZXJhdGUgRlJPTlRFTkQvdHR5IHZhbmlzaGluZy4NCi0NCi1Ob3RlIHRoYXQgdGhl cmUgaXMgYSBzdHJhbmdlIG9mZi1ieS1vbmUgZXJyb3IgaW4gdGhlIGNvbXB1dGF0aW9uIG9mDQot Ym90aCBmZV9wYXRoIGFuZCBsaWJ4bF9wYXRoIGluIGxpYnhsX2RldmljZV9jaGFubmVsX2dldGlu Zm86IHRoZQ0KLWluY29taW5nIGNoYW5uZWwtPmRldmlkLCB3aGljaCBpcyBjb3BpZWQgdG8gY2hh bm5lbGluZm8tPmRldmlkLCBoYXMgKzENCi1hcHBsaWVkIHRvIGNhbGN1bGF0ZSB0aGUgZnJvbnRl bmQgcGF0aCAoYW5kLCBhZnRlciB0aGlzIHBhdGNoLCB0aGUNCi1saWJ4bCBwYXRoKS4gIEkuZS4s IHRoZSBkZXZpZCBwYXNzZWQgdG8gbGlieGxfZGV2aWNlX2NoYW5uZWxfZ2V0aW5mbw0KLW11c3Qg YmUgb25lIGxlc3MgdGhhbiB0aGUgYWN0dWFsIGRldmlkIGZvciB0aGUgZGV2aWNlIGJlaW5nIGFz a2VkDQotYWJvdXQuDQotDQotVGhpcyBpcyBhY3R1YWxseSBhIGJ1ZyB3aGljaCBtaXJyb3JzIGEg YnVnIGluDQotbGlieGxfX2FwcGVuZF9jaGFubmVsX2xpc3QsIHdoaWNoIGZpbGxzIGluIHRoZSBk ZXZpZHMgb2YgdGhlIGNoYW5uZWwNCi1kZXZpY2VzIGl0IGZpbmRzIHdpdGggc2VxdWVudGlhbGx5 IGluY3JlYXNpbmcgbnVtYmVycyBzdGFydGluZyBhdCAwLg0KLQ0KLUluIHRoZSB1c3VhbCBjYXNl IGNoYW5uZWxzIGhhdmUgcmVhbCBkZXZpZHMgc3RhcnRpbmcgYXQgMSAoYmVjYXVzZQ0KLXRoZXJl IGlzIHRoZSBjb25zb2xlLCB3aGljaCBpcyBkZXZpZCAwLCBidXQgbm90IGEgY2hhbm5lbCkuICBT byB0aGVzZQ0KLWJ1Z3MgdXN1YWxseSBjYW5jZWwgb3V0Lg0KLQ0KLVdlIGRvIG5vdCBhZGRyZXNz IHRoaXMgcHJvYmxlbSBhdCB0aGlzIHRpbWUuICBUaGlzIGJ1ZyBkb2VzIG5vdCBoYXZlDQotYW55 IHNlY3VyaXR5IGltcGxpY2F0aW9ucy4NCi0NCi1UaGlzIHBhdGNoIGlzIHBhcnQgb2YgWFNBLTE3 NS4NCi0NCi1TaWduZWQtb2ZmLWJ5OiBJYW4gSmFja3NvbiA8SWFuLkphY2tzb25AZXUuY2l0cml4 LmNvbT4NCi1SZXZpZXdlZC1ieTogV2VpIExpdSA8d2VpLmxpdTJAY2l0cml4LmNvbT4NCi0tLS0N Ci0gdG9vbHMvbGlieGwvbGlieGwuYyB8IDQ0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKy0tLS0tLS0tDQotIDEgZmlsZSBjaGFuZ2VkLCAzNiBpbnNlcnRpb25zKCspLCA4IGRl bGV0aW9ucygtKQ0KLQ0KLWRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bC5jIGIvdG9vbHMv bGlieGwvbGlieGwuYw0KLWluZGV4IDZmZmIxNzMuLjJkZDI0NjcgMTAwNjQ0DQotLS0tIGEvdG9v bHMvbGlieGwvbGlieGwuYw0KLSsrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsLmMNCi1AQCAtMzk0Niwy MyArMzk0NiwyOCBAQCBpbnQgbGlieGxfZGV2aWNlX2NoYW5uZWxfZ2V0aW5mbyhsaWJ4bF9jdHgg KmN0eCwgdWludDMyX3QgZG9taWQsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGxpYnhsX2NoYW5uZWxpbmZvICpjaGFubmVsaW5mbykNCi0gew0KLSAgICAgR0NfSU5JVChjdHgp Ow0KLS0gICAgY2hhciAqZG9tcGF0aCwgKmZlX3BhdGg7DQotKyAgICBjaGFyICpkb21wYXRoLCAq ZmVfcGF0aCwgKmxpYnhsX3BhdGg7DQotICAgICBjaGFyICp2YWw7DQotKyAgICBpbnQgcmM7DQot IA0KLSAgICAgZG9tcGF0aCA9IGxpYnhsX194c19nZXRfZG9tcGF0aChnYywgZG9taWQpOw0KLSAg ICAgY2hhbm5lbGluZm8tPmRldmlkID0gY2hhbm5lbC0+ZGV2aWQ7DQotIA0KLS0gICAgZmVfcGF0 aCA9IGxpYnhsX19zcHJpbnRmKGdjLCAiJXMvZGV2aWNlL2NvbnNvbGUvJWQiLCBkb21wYXRoLA0K LS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5uZWxpbmZvLT5kZXZpZCArIDEpOw0K LSsgICAgZmVfcGF0aCA9IEdDU1BSSU5URigiJXMvZGV2aWNlL2NvbnNvbGUvJWQiLCBkb21wYXRo LA0KLSsgICAgICAgICAgICAgICAgICAgICAgICBjaGFubmVsaW5mby0+ZGV2aWQgKyAxKTsNCi0r ICAgIGxpYnhsX3BhdGggPSBHQ1NQUklOVEYoIiVzL2RldmljZS9jb25zb2xlLyVkIiwNCi0rICAg ICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX3hzX2xpYnhsX3BhdGgoZ2MsIGRvbWlkKSwN Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhbm5lbGluZm8tPmRldmlkICsgMSk7DQot ICAgICBjaGFubmVsaW5mby0+YmFja2VuZCA9IHhzX3JlYWQoY3R4LT54c2gsIFhCVF9OVUxMLA0K LS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19zcHJpbnRmKGdjLCAi JXMvYmFja2VuZCIsDQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmVfcGF0 aCksIE5VTEwpOw0KLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdDU1BSSU5U RigiJXMvYmFja2VuZCIsIGxpYnhsX3BhdGgpLCBOVUxMKTsNCi0gICAgIGlmICghY2hhbm5lbGlu Zm8tPmJhY2tlbmQpIHsNCi0gICAgICAgICBHQ19GUkVFOw0KLSAgICAgICAgIHJldHVybiBFUlJP Ul9GQUlMOw0KLSAgICAgfQ0KLS0gICAgdmFsID0gbGlieGxfX3hzX3JlYWQoZ2MsIFhCVF9OVUxM LCBHQ1NQUklOVEYoIiVzL2JhY2tlbmQtaWQiLCBmZV9wYXRoKSk7DQotLSAgICBjaGFubmVsaW5m by0+YmFja2VuZF9pZCA9IHZhbCA/IHN0cnRvdWwodmFsLCBOVUxMLCAxMCkgOiAtMTsNCi0rICAg IHJjID0gbGlieGxfX2JhY2tlbmRwYXRoX3BhcnNlX2RvbWlkKGdjLCBjaGFubmVsaW5mby0+YmFj a2VuZCwNCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZjaGFubmVs aW5mby0+YmFja2VuZF9pZCk7DQotKyAgICBpZiAocmMpIGdvdG8gb3V0Ow0KLSsNCi0gICAgIHZh bCA9IGxpYnhsX194c19yZWFkKGdjLCBYQlRfTlVMTCwgR0NTUFJJTlRGKCIlcy9zdGF0ZSIsIGZl X3BhdGgpKTsNCi0gICAgIGNoYW5uZWxpbmZvLT5zdGF0ZSA9IHZhbCA/IHN0cnRvdWwodmFsLCBO VUxMLCAxMCkgOiAtMTsNCi0gICAgIGNoYW5uZWxpbmZvLT5mcm9udGVuZCA9IHhzX3JlYWQoY3R4 LT54c2gsIFhCVF9OVUxMLA0KLUBAIC0zOTgwLDEzICszOTg1LDM2IEBAIGludCBsaWJ4bF9kZXZp Y2VfY2hhbm5lbF9nZXRpbmZvKGxpYnhsX2N0eCAqY3R4LCB1aW50MzJfdCBkb21pZCwNCi0gICAg IHN3aXRjaCAoY2hhbm5lbC0+Y29ubmVjdGlvbikgew0KLSAgICAgICAgICBjYXNlIExJQlhMX0NI QU5ORUxfQ09OTkVDVElPTl9QVFk6DQotICAgICAgICAgICAgICB2YWwgPSBsaWJ4bF9feHNfcmVh ZChnYywgWEJUX05VTEwsIEdDU1BSSU5URigiJXMvdHR5IiwgZmVfcGF0aCkpOw0KLSsgICAgICAg ICAgICAgLyoNCi0rICAgICAgICAgICAgICAqIEl0IGlzIG9idmlvdXNseSB2ZXJ5IHdyb25nIGZv ciB0aGlzIHZhbHVlIHRvIGJlIGluIHRoZQ0KLSsgICAgICAgICAgICAgICogZnJvbnRlbmQuICBC dXQgaW4gWFNBLTE3NSB3ZSBkb24ndCB3YW50IHRvIHJlLWVuZ2luZWVyDQotKyAgICAgICAgICAg ICAgKiB0aGlzIGJlY2F1c2Ugb3RoZXIgeGVuY29uc29sZSBjb2RlIGVsc2V3aGVyZSAoc29tZQ0K LSsgICAgICAgICAgICAgICogZXZlbiBvdXQgb2YgdHJlZSwgcGVyaGFwcykgZXhwZWN0cyB0aGlz IG5vZGUgdG8gYmUNCi0rICAgICAgICAgICAgICAqIGhlcmUuDQotKyAgICAgICAgICAgICAgKg0K LSsgICAgICAgICAgICAgICogRkUvcHR5IGlzIHJlYWRvbmx5IGZvciB0aGUgZ3Vlc3QuICBJdCBh bHdheXMgZXhpc3RzIGlmDQotKyAgICAgICAgICAgICAgKiBGRSBkb2VzIGJlY2F1c2UgbGlieGxf X2RldmljZV9jb25zb2xlX2FkZA0KLSsgICAgICAgICAgICAgICogdW5jb25kaXRpb25hbGx5IGNy ZWF0ZXMgaXQgYW5kIG5vdGhpbmcgZGVsZXRlcyBpdC4NCi0rICAgICAgICAgICAgICAqDQotKyAg ICAgICAgICAgICAgKiBUaGUgZ3Vlc3QgY2FuIGRlbGV0ZSB0aGUgd2hvbGUgRkUgKHdoaWNoIGl0 IGhhcyB3cml0ZQ0KLSsgICAgICAgICAgICAgICogcHJpdmlsZWdlIG9uKSBidXQgdGhlIGNvbnRh aW5pbmcgZGlyZWN0b3JpZXMNCi0rICAgICAgICAgICAgICAqIC9sb2NhbC9HVUVTVFsvZGV2aWNl Wy9jb25zb2xlXV0gYXJlIGFsc28gUk8gZm9yIHRoZQ0KLSsgICAgICAgICAgICAgICogZ3Vlc3Qu ICBTbyBpZiB0aGUgZ3Vlc3QgZGVsZXRlcyBGRSBpdCBjYW5ub3QgcmVjcmVhdGUNCi0rICAgICAg ICAgICAgICAqIGl0Lg0KLSsgICAgICAgICAgICAgICoNCi0rICAgICAgICAgICAgICAqIFRoZXJl Zm9yZSB0aGUgZ3Vlc3QgY2Fubm90IGNhdXNlIEZFL3B0eSB0byBjb250YWluIGJhZA0KLSsgICAg ICAgICAgICAgICogZGF0YSwgYWx0aG91Z2ggaXQgY2FuIGNhdXNlIGl0IHRvIG5vdCBleGlzdC4N Ci0rICAgICAgICAgICAgICAqLw0KLSsgICAgICAgICAgICAgaWYgKCF2YWwpIHZhbCA9ICIvTk8t U1VDSC1QQVRIIjsNCi0gICAgICAgICAgICAgIGNoYW5uZWxpbmZvLT51LnB0eS5wYXRoID0gc3Ry ZHVwKHZhbCk7DQotICAgICAgICAgICAgICBicmVhazsNCi0gICAgICAgICAgZGVmYXVsdDoNCi0g ICAgICAgICAgICAgIGJyZWFrOw0KLSAgICAgfQ0KLSsgICAgcmMgPSAwOw0KLSsgb3V0Og0KLSAg ICAgR0NfRlJFRTsNCi0tICAgIHJldHVybiAwOw0KLSsgICAgcmV0dXJuIHJjOw0KLSB9DQotIA0K LSAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqLw0KLS0tIA0KLTIuMS40DQotDQpkaWZmIC0tZ2l0IGEv bWFpbi94ZW4vMDAxMi1saWJ4bC1SZW5hbWUtUkVBRF9CQUNLRU5ELXRvLVJFQURfTElCWExERVYu cGF0Y2ggYi9tYWluL3hlbi8wMDEyLWxpYnhsLVJlbmFtZS1SRUFEX0JBQ0tFTkQtdG8tUkVBRF9M SUJYTERFVi5wYXRjaA0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAzN2RmY2E3Li4w MDAwMDAwDQotLS0gYS9tYWluL3hlbi8wMDEyLWxpYnhsLVJlbmFtZS1SRUFEX0JBQ0tFTkQtdG8t UkVBRF9MSUJYTERFVi5wYXRjaA0KKysrIC9kZXYvbnVsbA0KQEAgLTEsMTAxICswLDAgQEANCi1G cm9tIGJiYmU2MzVlN2MxODI0ZDRkYWE0OTIwYzI0YzM2OWUzMzJiYTUyMzYgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxDQotRnJvbTogSWFuIEphY2tzb24gPGlhbi5qYWNrc29uQGV1LmNpdHJpeC5j b20+DQotRGF0ZTogV2VkLCA0IE1heSAyMDE2IDE2OjA3OjAyICswMTAwDQotU3ViamVjdDogW1BB VENIIDEyLzIwXSBsaWJ4bDogUmVuYW1lIFJFQURfQkFDS0VORCB0byBSRUFEX0xJQlhMREVWDQot DQotV2UgYXJlIGdvaW5nIHRvIHdhbnQgdG8gY2hhbmdlIGFsbCB0aGUgZnVuY3Rpb25zIHRoYXQg dXNlIFJFQURfQkFDS0VORA0KLXRvIGdldCB1bnRydXN0d29ydGh5IGluZm9ybWF0aW9uIGZyb20g dGhlIGJhY2tlbmQsIHRvIHVzZSB0cnVzdHdvcnRoeQ0KLWluZm9ybWF0aW9uIGZyb20gL2xpYnhs Lg0KLQ0KLVRoaXMgd2lsbCBpbnZvbHZlIHJlcGxhY2luZyBSRUFEX0JBQ0tFTkQsIHdoaWNoIHJl YWRzIGZyb20gYmVfcGF0aCwNCi13aXRoIGEgc2ltaWxhciBtYWNybyBSRUFEX0xJQlhMREVWLCB3 aGljaCByZWFkcyBmcm9tIGxpYnhsX3BhdGguDQotDQotVGhlIG1hY3JvIG5hbWUgY2hhbmdlIGdl bmVyYXRlcyBhIGxvdCBvZiBjbHV0dGVyIGluIHRoZSBkaWZmLiAgU28gd2UNCi1icmVhayBpdCBv dXQgaW50byB0aGlzIHNlcGFyYXRlIHBhdGNoLiAgSGVyZSwgd2UgcmVuYW1lIHRoZSBtYWNybywg YnV0DQotdGhlIGltcGxlbWVudGF0aW9uIGRvZXMgbm90IHJlYWxseSBtYXRjaCB0aGUgbmV3IG5h bWUuDQotDQotU28sIGFub3RoZXIgd2F5IHRvIGxvb2sgYXQgdGhpcywgaXMgdGhhdCB3ZSBoYXZl IHRyYW5zZm9ybWVkIHRoZSBidWc6DQotICogQWxsIG9mIHRoZSBiYWNrZW5kcyB1c2UgUkVBRF9C QUNLRU5ELCB3aGljaCBpcyB1bnNhZmUNCi1pbnRvIHRoZSBuZXcgYnVnOg0KLSAqIFJFQURfTElC WExERVYgYWN0dWFsbHkgcmVhZHMgYmVfcGF0aCwgd2hpY2ggaXMgdW5zYWZlLg0KLQ0KLVRoZXJl IGlzIG5vIGZ1bmN0aW9uYWwgY2hhbmdlIGFzIHlldC4NCi0NCi1UaGlzIGlzIHBhcnQgb2YgWFNB LTE3OC4NCi0NCi1TaWduZWQtb2ZmLWJ5OiBJYW4gSmFja3NvbiA8aWFuLmphY2tzb25AZXUuY2l0 cml4LmNvbT4NCi1SZXZpZXdlZC1ieTogV2VpIExpdSA8d2VpLmxpdTJAY2l0cml4LmNvbT4NCi0t LS0NCi0gdG9vbHMvbGlieGwvbGlieGwuYyB8IDIyICsrKysrKysrKysrLS0tLS0tLS0tLS0NCi0g MSBmaWxlIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQ0KLQ0KLWRp ZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bC5jIGIvdG9vbHMvbGlieGwvbGlieGwuYw0KLWlu ZGV4IDM1Y2I2YjAuLmExNzQzODIgMTAwNjQ0DQotLS0tIGEvdG9vbHMvbGlieGwvbGlieGwuYw0K LSsrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsLmMNCi1AQCAtMjEsOCArMjEsOCBAQA0KLSAjZGVmaW5l IFBBR0VfVE9fTUVNS0IocGFnZXMpICgocGFnZXMpICogNCkNCi0gI2RlZmluZSBCQUNLRU5EX1NU UklOR19TSVpFIDUNCi0gDQotLS8qIFV0aWxpdHkgdG8gcmVhZCBiYWNrZW5kIHhlbnN0b3JlIGtl eXMgKi8NCi0tI2RlZmluZSBSRUFEX0JBQ0tFTkQodGdjLCBzdWJwYXRoKSAoeyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXA0KLSsvKiBVdGlsaXR5IHRvIHJlYWQgL2xpYnhsIG9y IGJhY2tlbmQgeGVuc3RvcmUga2V5cywgZnJvbSBiZV9wYXRoICovDQotKyNkZWZpbmUgUkVBRF9M SUJYTERFVih0Z2MsIHN1YnBhdGgpICh7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFwNCi0gICAgICAgICByYyA9IGxpYnhsX194c19yZWFkX2NoZWNrZWQodGdjLCBYQlRfTlVMTCwg ICAgICAgICAgICAgICAgICAgICAgXA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBHQ1NQUklOVEYoIiVzLyIgc3VicGF0aCwgYmVfcGF0aCksICBcDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICZ0bXApOyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFwNCi1AQCAtMzUwNyw3ICszNTA3LDcgQEAgc3RhdGljIGludCBsaWJ4bF9fZGV2aWNlX25p Y19mcm9tX3hlbnN0b3JlKGxpYnhsX19nYyAqZ2MsDQotIA0KLSAgICAgbGlieGxfZGV2aWNlX25p Y19pbml0KG5pYyk7DQotIA0KLS0gICAgdG1wID0gUkVBRF9CQUNLRU5EKGdjLCAiaGFuZGxlIik7 DQotKyAgICB0bXAgPSBSRUFEX0xJQlhMREVWKGdjLCAiaGFuZGxlIik7DQotICAgICBpZiAodG1w KQ0KLSAgICAgICAgIG5pYy0+ZGV2aWQgPSBhdG9pKHRtcCk7DQotICAgICBlbHNlDQotQEAgLTM1 MTUsNyArMzUxNSw3IEBAIHN0YXRpYyBpbnQgbGlieGxfX2RldmljZV9uaWNfZnJvbV94ZW5zdG9y ZShsaWJ4bF9fZ2MgKmdjLA0KLSANCi0gICAgIC8qIG5pYy0+bXR1ID0gKi8NCi0gDQotLSAgICB0 bXAgPSBSRUFEX0JBQ0tFTkQoZ2MsICJtYWMiKTsNCi0rICAgIHRtcCA9IFJFQURfTElCWExERVYo Z2MsICJtYWMiKTsNCi0gICAgIGlmICh0bXApIHsNCi0gICAgICAgICByYyA9IGxpYnhsX19wYXJz ZV9tYWModG1wLCBuaWMtPm1hYyk7DQotICAgICAgICAgaWYgKHJjKSBnb3RvIG91dDsNCi1AQCAt MzUyMywxMiArMzUyMywxMiBAQCBzdGF0aWMgaW50IGxpYnhsX19kZXZpY2VfbmljX2Zyb21feGVu c3RvcmUobGlieGxfX2djICpnYywNCi0gICAgICAgICBtZW1zZXQobmljLT5tYWMsIDAsIHNpemVv ZihuaWMtPm1hYykpOw0KLSAgICAgfQ0KLSANCi0tICAgIG5pYy0+aXAgPSBSRUFEX0JBQ0tFTkQo Tk9HQywgImlwIik7DQotLSAgICBuaWMtPmJyaWRnZSA9IFJFQURfQkFDS0VORChOT0dDLCAiYnJp ZGdlIik7DQotLSAgICBuaWMtPnNjcmlwdCA9IFJFQURfQkFDS0VORChOT0dDLCAic2NyaXB0Iik7 DQotKyAgICBuaWMtPmlwID0gUkVBRF9MSUJYTERFVihOT0dDLCAiaXAiKTsNCi0rICAgIG5pYy0+ YnJpZGdlID0gUkVBRF9MSUJYTERFVihOT0dDLCAiYnJpZGdlIik7DQotKyAgICBuaWMtPnNjcmlw dCA9IFJFQURfTElCWExERVYoTk9HQywgInNjcmlwdCIpOw0KLSANCi0gICAgIC8qIHZpZl9pb2Vt dSBuaWNzIHVzZSB0aGUgc2FtZSB4ZW5zdG9yZSBlbnRyaWVzIGFzIHZpZiBpbnRlcmZhY2VzICov DQotLSAgICB0bXAgPSBSRUFEX0JBQ0tFTkQoZ2MsICJ0eXBlIik7DQotKyAgICB0bXAgPSBSRUFE X0xJQlhMREVWKGdjLCAidHlwZSIpOw0KLSAgICAgaWYgKHRtcCkgew0KLSAgICAgICAgIHJjID0g bGlieGxfbmljX3R5cGVfZnJvbV9zdHJpbmcodG1wLCAmbmljLT5uaWN0eXBlKTsNCi0gICAgICAg ICBpZiAocmMpIGdvdG8gb3V0Ow0KLUBAIC0zODU2LDEzICszODU2LDEzIEBAIHN0YXRpYyBpbnQg bGlieGxfX2RldmljZV9jaGFubmVsX2Zyb21feGVuc3RvcmUobGlieGxfX2djICpnYywNCi0gICAg IGxpYnhsX2RldmljZV9jaGFubmVsX2luaXQoY2hhbm5lbCk7DQotIA0KLSAgICAgLyogUkVBRF9C QUNLRU5EIGlzIGZyb20gbGlieGxfX2RldmljZV9uaWNfZnJvbV94ZW5zdG9yZSBhYm92ZSAqLw0K LS0gICAgY2hhbm5lbC0+bmFtZSA9IFJFQURfQkFDS0VORChOT0dDLCAibmFtZSIpOw0KLS0gICAg dG1wID0gUkVBRF9CQUNLRU5EKGdjLCAiY29ubmVjdGlvbiIpOw0KLSsgICAgY2hhbm5lbC0+bmFt ZSA9IFJFQURfTElCWExERVYoTk9HQywgIm5hbWUiKTsNCi0rICAgIHRtcCA9IFJFQURfTElCWExE RVYoZ2MsICJjb25uZWN0aW9uIik7DQotICAgICBpZiAoIXN0cmNtcCh0bXAsICJwdHkiKSkgew0K LSAgICAgICAgIGNoYW5uZWwtPmNvbm5lY3Rpb24gPSBMSUJYTF9DSEFOTkVMX0NPTk5FQ1RJT05f UFRZOw0KLSAgICAgfSBlbHNlIGlmICghc3RyY21wKHRtcCwgInNvY2tldCIpKSB7DQotICAgICAg ICAgY2hhbm5lbC0+Y29ubmVjdGlvbiA9IExJQlhMX0NIQU5ORUxfQ09OTkVDVElPTl9TT0NLRVQ7 DQotLSAgICAgICAgY2hhbm5lbC0+dS5zb2NrZXQucGF0aCA9IFJFQURfQkFDS0VORChOT0dDLCAi cGF0aCIpOw0KLSsgICAgICAgIGNoYW5uZWwtPnUuc29ja2V0LnBhdGggPSBSRUFEX0xJQlhMREVW KE5PR0MsICJwYXRoIik7DQotICAgICB9IGVsc2Ugew0KLSAgICAgICAgIHJjID0gRVJST1JfSU5W QUw7DQotICAgICAgICAgZ290byBvdXQ7DQotLS0gDQotMS45LjENCi0NCmRpZmYgLS1naXQgYS9t YWluL3hlbi8wMDEzLWxpYnhsLUhhdmUtUkVBRF9MSUJYTERFVi11c2UtbGlieGxfcGF0aC1yYXRo ZXItdGhhbi0ucGF0Y2ggYi9tYWluL3hlbi8wMDEzLWxpYnhsLUhhdmUtUkVBRF9MSUJYTERFVi11 c2UtbGlieGxfcGF0aC1yYXRoZXItdGhhbi0ucGF0Y2gNCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0 NA0KaW5kZXggZjRkY2U4Yy4uMDAwMDAwMA0KLS0tIGEvbWFpbi94ZW4vMDAxMy1saWJ4bC1IYXZl LVJFQURfTElCWExERVYtdXNlLWxpYnhsX3BhdGgtcmF0aGVyLXRoYW4tLnBhdGNoDQorKysgL2Rl di9udWxsDQpAQCAtMSw2MiArMCwwIEBADQotRnJvbSAzMWJlNGI5OGEyZDdhYjg1MWUzN2Y5YmMy M2NkNDQ2ZjNiZGYzNjdlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQ0KLUZyb206IElhbiBKYWNr c29uIDxpYW4uamFja3NvbkBldS5jaXRyaXguY29tPg0KLURhdGU6IFR1ZSwgMyBNYXkgMjAxNiAx NTo0MDoxOCArMDEwMA0KLVN1YmplY3Q6IFtQQVRDSCAxMy8yMF0gbGlieGw6IEhhdmUgUkVBRF9M SUJYTERFViB1c2UgbGlieGxfcGF0aCByYXRoZXIgdGhhbg0KLSBiZV9wYXRoDQotDQotRml4IHRo ZSBqdXN0LWludHJvZHVjZWQgYnVnIGluIHRoaXMgbWFjcm86IG5vdyBpdCByZWFkcyB0aGUNCi10 cnVzdHdvcnRoeSBsaWJ4bF9wYXRoLiAgQ2hhbmdlIHRoZSB2YXJpYWJsZSBuYW1lIGluIHRoZSB0 d28gZnVuY3Rpb25zDQotKG5pYyBhbmQgY2hhbm5lbCkgd2hpY2ggdXNlIGl0Lg0KLQ0KLVNodWZm bGluZyB0aGUgYnVtcCBpbiB0aGUgY2FycGV0IGFsb25nLCB3ZSBub3cgaW50cm9kdWNlIHRocmVl IG5ldw0KLWJ1Z3M6IHRoZSB0aHJlZSBjYWxsIHNpdGVzIHBhc3MgYSBiYWNrZW5kIHBhdGggd2hl cmUgYSBmcm9udGVuZCBwYXRoDQotaXMgZXhwZWN0ZWQuDQotDQotTm8gZnVuY3Rpb25hbCBjaGFu Z2UuDQotDQotVGhpcyBpcyBwYXJ0IG9mIFhTQS0xNzguDQotDQotU2lnbmVkLW9mZi1ieTogSWFu IEphY2tzb24gPGlhbi5qYWNrc29uQGV1LmNpdHJpeC5jb20+DQotUmV2aWV3ZWQtYnk6IFdlaSBM aXUgPHdlaS5saXUyQGNpdHJpeC5jb20+DQotLS0tDQotIHRvb2xzL2xpYnhsL2xpYnhsLmMgfCA4 ICsrKystLS0tDQotIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25z KC0pDQotDQotZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsLmMgYi90b29scy9saWJ4bC9s aWJ4bC5jDQotaW5kZXggYTE3NDM4Mi4uNzAyYWM3NSAxMDA2NDQNCi0tLS0gYS90b29scy9saWJ4 bC9saWJ4bC5jDQotKysrIGIvdG9vbHMvbGlieGwvbGlieGwuYw0KLUBAIC0yMSwxMCArMjEsMTAg QEANCi0gI2RlZmluZSBQQUdFX1RPX01FTUtCKHBhZ2VzKSAoKHBhZ2VzKSAqIDQpDQotICNkZWZp bmUgQkFDS0VORF9TVFJJTkdfU0laRSA1DQotIA0KLS0vKiBVdGlsaXR5IHRvIHJlYWQgL2xpYnhs IG9yIGJhY2tlbmQgeGVuc3RvcmUga2V5cywgZnJvbSBiZV9wYXRoICovDQotKy8qIFV0aWxpdHkg dG8gcmVhZCAvbGlieGwgeGVuc3RvcmUga2V5cywgZnJvbSBsaWJ4bF9wYXRoICovDQotICNkZWZp bmUgUkVBRF9MSUJYTERFVih0Z2MsIHN1YnBhdGgpICh7ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFwNCi0gICAgICAgICByYyA9IGxpYnhsX194c19yZWFkX2NoZWNrZWQodGdjLCBY QlRfTlVMTCwgICAgICAgICAgICAgICAgICAgICAgXA0KLS0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBHQ1NQUklOVEYoIiVzLyIgc3VicGF0aCwgYmVfcGF0aCksICBcDQotKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdDU1BSSU5URigiJXMvIiBzdWJwYXRo LCBsaWJ4bF9wYXRoKSwgIFwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg JnRtcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KLSAgICAgICAgIGlmIChyYykg Z290byBvdXQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc DQotICAgICAgICAgKGNoYXIqKXRtcDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFwNCi1AQCAtMzQ5OSw3ICszNDk5LDcgQEAgb3V0Og0KLSB9DQot IA0KLSBzdGF0aWMgaW50IGxpYnhsX19kZXZpY2VfbmljX2Zyb21feGVuc3RvcmUobGlieGxfX2dj ICpnYywNCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNo YXIgKmJlX3BhdGgsDQotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj b25zdCBjaGFyICpsaWJ4bF9wYXRoLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgbGlieGxfZGV2aWNlX25pYyAqbmljKQ0KLSB7DQotICAgICBjb25zdCBjaGFyICp0 bXA7DQotQEAgLTM4NDcsNyArMzg0Nyw3IEBAIGludCBsaWJ4bF9faW5pdF9jb25zb2xlX2Zyb21f Y2hhbm5lbChsaWJ4bF9fZ2MgKmdjLA0KLSB9DQotIA0KLSBzdGF0aWMgaW50IGxpYnhsX19kZXZp Y2VfY2hhbm5lbF9mcm9tX3hlbnN0b3JlKGxpYnhsX19nYyAqZ2MsDQotLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqYmVfcGF0aCwNCi0rICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpsaWJ4 bF9wYXRoLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxp YnhsX2RldmljZV9jaGFubmVsICpjaGFubmVsKQ0KLSB7DQotICAgICBjb25zdCBjaGFyICp0bXA7 DQotLS0gDQotMS45LjENCi0NCmRpZmYgLS1naXQgYS9tYWluL3hlbi8wMDE0LWxpYnhsLURvLW5v dC10cnVzdC1iYWNrZW5kLWluLW5pYy1nZXRpbmZvLnBhdGNoIGIvbWFpbi94ZW4vMDAxNC1saWJ4 bC1Eby1ub3QtdHJ1c3QtYmFja2VuZC1pbi1uaWMtZ2V0aW5mby5wYXRjaA0KZGVsZXRlZCBmaWxl IG1vZGUgMTAwNjQ0DQppbmRleCBlNDVhOGM5Li4wMDAwMDAwDQotLS0gYS9tYWluL3hlbi8wMDE0 LWxpYnhsLURvLW5vdC10cnVzdC1iYWNrZW5kLWluLW5pYy1nZXRpbmZvLnBhdGNoDQorKysgL2Rl di9udWxsDQpAQCAtMSwzMyArMCwwIEBADQotRnJvbSA1MTdkMWQ4NmUxNThkMTJmNjM0ZGIxZmFi ZGExMzkzMWJmZmUzMmZlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQ0KLUZyb206IElhbiBKYWNr c29uIDxpYW4uamFja3NvbkBldS5jaXRyaXguY29tPg0KLURhdGU6IFR1ZSwgMyBNYXkgMjAxNiAx NjozNToyMSArMDEwMA0KLVN1YmplY3Q6IFtQQVRDSCAxNC8yMF0gbGlieGw6IERvIG5vdCB0cnVz dCBiYWNrZW5kIGluIG5pYyBnZXRpbmZvDQotDQotVGhpcyBpcyBwYXJ0IG9mIFhTQS0xNzguDQot DQotU2lnbmVkLW9mZi1ieTogSWFuIEphY2tzb24gPGlhbi5qYWNrc29uQGV1LmNpdHJpeC5jb20+ DQotUmV2aWV3ZWQtYnk6IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJpeC5jb20+DQotLS0tDQotIHRv b2xzL2xpYnhsL2xpYnhsLmMgfCA2ICsrLS0tLQ0KLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRp b25zKCspLCA0IGRlbGV0aW9ucygtKQ0KLQ0KLWRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4 bC5jIGIvdG9vbHMvbGlieGwvbGlieGwuYw0KLWluZGV4IDcwMmFjNzUuLjU1OGQxOTggMTAwNjQ0 DQotLS0tIGEvdG9vbHMvbGlieGwvbGlieGwuYw0KLSsrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsLmMN Ci1AQCAtMzY2NCwxMCArMzY2NCw4IEBAIGludCBsaWJ4bF9kZXZpY2VfbmljX2dldGluZm8obGli eGxfY3R4ICpjdHgsIHVpbnQzMl90IGRvbWlkLA0KLSAgICAgbmljaW5mby0+cnJlZl90eCA9IHZh bCA/IHN0cnRvdWwodmFsLCBOVUxMLCAxMCkgOiAtMTsNCi0gICAgIHZhbCA9IGxpYnhsX194c19y ZWFkKGdjLCBYQlRfTlVMTCwgbGlieGxfX3NwcmludGYoZ2MsICIlcy9yeC1yaW5nLXJlZiIsIG5p Y3BhdGgpKTsNCi0gICAgIG5pY2luZm8tPnJyZWZfcnggPSB2YWwgPyBzdHJ0b3VsKHZhbCwgTlVM TCwgMTApIDogLTE7DQotLSAgICBuaWNpbmZvLT5mcm9udGVuZCA9IHhzX3JlYWQoY3R4LT54c2gs IFhCVF9OVUxMLA0KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fc3By aW50ZihnYywgIiVzL2Zyb250ZW5kIiwgbmljaW5mby0+YmFja2VuZCksIE5VTEwpOw0KLS0gICAg dmFsID0gbGlieGxfX3hzX3JlYWQoZ2MsIFhCVF9OVUxMLCBsaWJ4bF9fc3ByaW50ZihnYywgIiVz L2Zyb250ZW5kLWlkIiwgbmljaW5mby0+YmFja2VuZCkpOw0KLS0gICAgbmljaW5mby0+ZnJvbnRl bmRfaWQgPSB2YWwgPyBzdHJ0b3VsKHZhbCwgTlVMTCwgMTApIDogLTE7DQotKyAgICBuaWNpbmZv LT5mcm9udGVuZCA9IGxpYnhsX19zdHJkdXAoTk9HQywgbmljcGF0aCk7DQotKyAgICBuaWNpbmZv LT5mcm9udGVuZF9pZCA9IGRvbWlkOw0KLSANCi0gICAgIHJjID0gMDsNCi0gIG91dDoNCi0tLSAN Ci0xLjkuMQ0KLQ0KZGlmZiAtLWdpdCBhL21haW4veGVuLzAwMTUtbGlieGwtRG8tbm90LXRydXN0 LWJhY2tlbmQtZm9yLW5pYy1pbi1kZXZpZF90b19kZXZpYy5wYXRjaCBiL21haW4veGVuLzAwMTUt bGlieGwtRG8tbm90LXRydXN0LWJhY2tlbmQtZm9yLW5pYy1pbi1kZXZpZF90b19kZXZpYy5wYXRj aA0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAxNWFmMzUxLi4wMDAwMDAwDQotLS0g YS9tYWluL3hlbi8wMDE1LWxpYnhsLURvLW5vdC10cnVzdC1iYWNrZW5kLWZvci1uaWMtaW4tZGV2 aWRfdG9fZGV2aWMucGF0Y2gNCisrKyAvZGV2L251bGwNCkBAIC0xLDQ4ICswLDAgQEANCi1Gcm9t IDY5MjViMjJhYzNlMWU4NzZkYjU0MmFiNmVkZTZhODg2NTFjZmFhNDQgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxDQotRnJvbTogSWFuIEphY2tzb24gPGlhbi5qYWNrc29uQGV1LmNpdHJpeC5jb20+ DQotRGF0ZTogV2VkLCA0IE1heSAyMDE2IDE2OjIwOjA1ICswMTAwDQotU3ViamVjdDogW1BBVENI IDE1LzIwXSBsaWJ4bDogRG8gbm90IHRydXN0IGJhY2tlbmQgZm9yIG5pYyBpbiBkZXZpZF90b19k ZXZpY2UNCi0NCi1saWJ4bF9kZXZpZF90b19kZXZpY2VfbmljIHNob3VsZCByZWFkIHRoZSBpbmZv cm1hdGlvbiBpdCBuZWVkcyBmcm9tDQotdGhlIC9saWJ4bC9kZXZpY2UgcGF0aCwgbm90IHRoZSBi YWNrZW5kLg0KLQ0KLVRoaXMgaXMgcGFydCBvZiBYU0EtMTc4Lg0KLQ0KLVNpZ25lZC1vZmYtYnk6 IElhbiBKYWNrc29uIDxJYW4uSmFja3NvbkBldS5jaXRyaXguY29tPg0KLVJldmlld2VkLWJ5OiBX ZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPg0KLS0tLQ0KLSB0b29scy9saWJ4bC9saWJ4bC5j IHwgMTAgKysrLS0tLS0tLQ0KLSAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCA3IGRl bGV0aW9ucygtKQ0KLQ0KLWRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bC5jIGIvdG9vbHMv bGlieGwvbGlieGwuYw0KLWluZGV4IDU1OGQxOTguLjBmODdhZDcgMTAwNjQ0DQotLS0tIGEvdG9v bHMvbGlieGwvbGlieGwuYw0KLSsrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsLmMNCi1AQCAtMzU0Nyw3 ICszNTQ3LDcgQEAgaW50IGxpYnhsX2RldmlkX3RvX2RldmljZV9uaWMobGlieGxfY3R4ICpjdHgs IHVpbnQzMl90IGRvbWlkLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZGV2 aWQsIGxpYnhsX2RldmljZV9uaWMgKm5pYykNCi0gew0KLSAgICAgR0NfSU5JVChjdHgpOw0KLS0g ICAgY2hhciAqbGlieGxfZG9tX3BhdGgsICpwYXRoOw0KLSsgICAgY2hhciAqbGlieGxfZG9tX3Bh dGgsICpsaWJ4bF9wYXRoOw0KLSAgICAgaW50IHJjID0gRVJST1JfRkFJTDsNCi0gDQotICAgICBs aWJ4bF9kZXZpY2VfbmljX2luaXQobmljKTsNCi1AQCAtMzU1NSwxMyArMzU1NSw5IEBAIGludCBs aWJ4bF9kZXZpZF90b19kZXZpY2VfbmljKGxpYnhsX2N0eCAqY3R4LCB1aW50MzJfdCBkb21pZCwN Ci0gICAgIGlmICghbGlieGxfZG9tX3BhdGgpDQotICAgICAgICAgZ290byBvdXQ7DQotIA0KLS0g ICAgcGF0aCA9IGxpYnhsX194c19yZWFkKGdjLCBYQlRfTlVMTCwNCi0tICAgICAgICAgICAgICAg ICAgICAgICAgICBHQ1NQUklOVEYoIiVzL2RldmljZS92aWYvJWQvYmFja2VuZCIsIGxpYnhsX2Rv bV9wYXRoLA0KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXZpZCkpOw0K LS0gICAgaWYgKCFwYXRoKQ0KLS0gICAgICAgIGdvdG8gb3V0Ow0KLSsgICAgbGlieGxfcGF0aCA9 IEdDU1BSSU5URigiJXMvZGV2aWNlL3ZpZi8lZCIsIGxpYnhsX2RvbV9wYXRoLCBkZXZpZCk7DQot IA0KLS0gICAgcmMgPSBsaWJ4bF9fZGV2aWNlX25pY19mcm9tX3hlbnN0b3JlKGdjLCBwYXRoLCBu aWMpOw0KLSsgICAgcmMgPSBsaWJ4bF9fZGV2aWNlX25pY19mcm9tX3hlbnN0b3JlKGdjLCBsaWJ4 bF9wYXRoLCBuaWMpOw0KLSAgICAgaWYgKHJjKSBnb3RvIG91dDsNCi0gDQotICAgICByYyA9IDA7 DQotLS0gDQotMS45LjENCi0NCmRpZmYgLS1naXQgYS9tYWluL3hlbi8wMDE2LWxpYnhsLURvLW5v dC10cnVzdC1iYWNrZW5kLWZvci1uaWMtaW4tbGlzdC5wYXRjaCBiL21haW4veGVuLzAwMTYtbGli eGwtRG8tbm90LXRydXN0LWJhY2tlbmQtZm9yLW5pYy1pbi1saXN0LnBhdGNoDQpkZWxldGVkIGZp bGUgbW9kZSAxMDA2NDQNCmluZGV4IDIxMGViYmQuLjAwMDAwMDANCi0tLSBhL21haW4veGVuLzAw MTYtbGlieGwtRG8tbm90LXRydXN0LWJhY2tlbmQtZm9yLW5pYy1pbi1saXN0LnBhdGNoDQorKysg L2Rldi9udWxsDQpAQCAtMSw4MCArMCwwIEBADQotRnJvbSAxYTc1YWUxNGQwZTZiMjk2OWRjM2Iw OWY0ZjU5NjNjZDA5YTgxMThhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQ0KLUZyb206IElhbiBK YWNrc29uIDxpYW4uamFja3NvbkBldS5jaXRyaXguY29tPg0KLURhdGU6IFdlZCwgNCBNYXkgMjAx NiAxNjoyMzo1NyArMDEwMA0KLVN1YmplY3Q6IFtQQVRDSCAxNi8yMF0gbGlieGw6IERvIG5vdCB0 cnVzdCBiYWNrZW5kIGZvciBuaWMgaW4gbGlzdA0KLQ0KLWxpYnhsX2RldmljZV9uaWNfbGlzdCBz aG91bGQgdXNlIHRoZSAvbGlieGwgcGF0aCB0byBzZWFyY2ggZm9yDQotZGV2aWNlcywgYW5kIGZv ciBvYnRhaW5pbmcgdGhlIGRldmljZSBpbmZvcm1hdGlvbi4NCi0NCi1UaGUgInR5cGUiIHBhcmFt ZXRlciB3YXMgYWx3YXlzICJ2aWYiLiAgQWJvbGlzaCBpdC4gIChJbiBhbnkgY2FzZSwNCi1wYXRo cyBpbiAvbGlieGwvZGV2aWNlIGFyZSBuYW1lZCBhZnRlciB0aGUgZnJvbnRlbmQgdHlwZSB3aGlj aCBpcw0KLWNvbnN0YW50LCBub3QgdGhlIGJhY2tlbmQgdHlwZSB3aGljaCBtaWdodCBpbiBmdXR1 cmUgdmFyeS4pDQotDQotQWJvbGlzaCBhIHJlZHVuZGFudCBzdG9yZSB0byBwbmljLT5iYWNrZW5k X2RvbWlkLiAgQmVmb3JlIHRoaXMgY29tbWl0LA0KLXRoYXQgc3RvcmUgd2FzIG5vdCBuZWVkZWQg YmVjYXVzZSBsaWJ4bF9kZXZpY2VfbmljX2luaXQgKGNhbGxlZCBieQ0KLWxpYnhsX19kZXZpY2Vf bmljX2Zyb21feGVuc3RvcmUpIHdvdWxkIHplcm8gaXQuICBOb3cgaXQgb3ZlcndyaXRlcyB0aGUN Ci1jb3JyZWN0IGJhY2tlbmQgZG9taWQgd2l0aCB6ZXJvOyBzbyByZW1vdmUgaXQuDQotDQotVGhp cyBpcyBwYXJ0IG9mIFhTQS0xNzguDQotDQotU2lnbmVkLW9mZi1ieTogSWFuIEphY2tzb24gPElh bi5KYWNrc29uQGV1LmNpdHJpeC5jb20+DQotUmV2aWV3ZWQtYnk6IFdlaSBMaXUgPHdlaS5saXUy QGNpdHJpeC5jb20+DQotLS0tDQotIHRvb2xzL2xpYnhsL2xpYnhsLmMgfCAxNiArKysrKysrLS0t LS0tLS0tDQotIDEgZmlsZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0p DQotDQotZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsLmMgYi90b29scy9saWJ4bC9saWJ4 bC5jDQotaW5kZXggMGY4N2FkNy4uOWFlYmM5ZSAxMDA2NDQNCi0tLS0gYS90b29scy9saWJ4bC9s aWJ4bC5jDQotKysrIGIvdG9vbHMvbGlieGwvbGlieGwuYw0KLUBAIC0zNTY2LDIxICszNTY2LDIw IEBAIG91dDoNCi0gICAgIHJldHVybiByYzsNCi0gfQ0KLSANCi0tc3RhdGljIGludCBsaWJ4bF9f YXBwZW5kX25pY19saXN0X29mX3R5cGUobGlieGxfX2djICpnYywNCi0rc3RhdGljIGludCBsaWJ4 bF9fYXBwZW5kX25pY19saXN0KGxpYnhsX19nYyAqZ2MsDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBkb21pZCwNCi0tICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnR5cGUsDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9kZXZpY2VfbmljICoqbmlj cywNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCAqbm5p Y3MpDQotIHsNCi0tICAgIGNoYXIgKmJlX3BhdGggPSBOVUxMOw0KLSsgICAgY2hhciAqbGlieGxf ZGlyX3BhdGggPSBOVUxMOw0KLSAgICAgY2hhciAqKmRpciA9IE5VTEw7DQotICAgICB1bnNpZ25l ZCBpbnQgbiA9IDA7DQotICAgICBsaWJ4bF9kZXZpY2VfbmljICpwbmljID0gTlVMTCwgKnBuaWNf ZW5kID0gTlVMTDsNCi0gICAgIGludCByYzsNCi0gDQotLSAgICBiZV9wYXRoID0gbGlieGxfX3Nw cmludGYoZ2MsICIlcy9iYWNrZW5kLyVzLyVkIiwNCi0tICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBsaWJ4bF9feHNfZ2V0X2RvbXBhdGgoZ2MsIDApLCB0eXBlLCBkb21pZCk7DQotLSAgICBk aXIgPSBsaWJ4bF9feHNfZGlyZWN0b3J5KGdjLCBYQlRfTlVMTCwgYmVfcGF0aCwgJm4pOw0KLSsg ICAgbGlieGxfZGlyX3BhdGggPSBHQ1NQUklOVEYoIiVzL2RldmljZS92aWYiLA0KLSsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX3hzX2xpYnhsX3BhdGgoZ2MsIGRvbWlkKSk7 DQotKyAgICBkaXIgPSBsaWJ4bF9feHNfZGlyZWN0b3J5KGdjLCBYQlRfTlVMTCwgbGlieGxfZGly X3BhdGgsICZuKTsNCi0gICAgIGlmIChkaXIgJiYgbikgew0KLSAgICAgICAgIGxpYnhsX2Rldmlj ZV9uaWMgKnRtcDsNCi0gICAgICAgICB0bXAgPSByZWFsbG9jKCpuaWNzLCBzaXplb2YgKGxpYnhs X2RldmljZV9uaWMpICogKCpubmljcyArIG4pKTsNCi1AQCAtMzU5MSwxMCArMzU5MCw5IEBAIHN0 YXRpYyBpbnQgbGlieGxfX2FwcGVuZF9uaWNfbGlzdF9vZl90eXBlKGxpYnhsX19nYyAqZ2MsDQot ICAgICAgICAgcG5pY19lbmQgPSAqbmljcyArICpubmljcyArIG47DQotICAgICAgICAgZm9yICg7 IHBuaWMgPCBwbmljX2VuZDsgcG5pYysrLCBkaXIrKykgew0KLSAgICAgICAgICAgICBjb25zdCBj aGFyICpwOw0KLS0gICAgICAgICAgICBwID0gbGlieGxfX3NwcmludGYoZ2MsICIlcy8lcyIsIGJl X3BhdGgsICpkaXIpOw0KLSsgICAgICAgICAgICBwID0gR0NTUFJJTlRGKCIlcy8lcyIsIGxpYnhs X2Rpcl9wYXRoLCAqZGlyKTsNCi0gICAgICAgICAgICAgcmMgPSBsaWJ4bF9fZGV2aWNlX25pY19m cm9tX3hlbnN0b3JlKGdjLCBwLCBwbmljKTsNCi0gICAgICAgICAgICAgaWYgKHJjKSBnb3RvIG91 dDsNCi0tICAgICAgICAgICAgcG5pYy0+YmFja2VuZF9kb21pZCA9IDA7DQotICAgICAgICAgfQ0K LSAgICAgICAgICpubmljcyArPSBuOw0KLSAgICAgfQ0KLUBAIC0zNjEyLDcgKzM2MTAsNyBAQCBs aWJ4bF9kZXZpY2VfbmljICpsaWJ4bF9kZXZpY2VfbmljX2xpc3QobGlieGxfY3R4ICpjdHgsIHVp bnQzMl90IGRvbWlkLCBpbnQgKm51bQ0KLSANCi0gICAgICpudW0gPSAwOw0KLSANCi0tICAgIHJj ID0gbGlieGxfX2FwcGVuZF9uaWNfbGlzdF9vZl90eXBlKGdjLCBkb21pZCwgInZpZiIsICZuaWNz LCBudW0pOw0KLSsgICAgcmMgPSBsaWJ4bF9fYXBwZW5kX25pY19saXN0KGdjLCBkb21pZCwgJm5p Y3MsIG51bSk7DQotICAgICBpZiAocmMpIGdvdG8gb3V0X2VycjsNCi0gDQotICAgICBHQ19GUkVF Ow0KLS0tIA0KLTEuOS4xDQotDQpkaWZmIC0tZ2l0IGEvbWFpbi94ZW4vMDAxNy1saWJ4bC1Eby1u b3QtdHJ1c3QtYmFja2VuZC1pbi1jaGFubmVsLWxpc3QucGF0Y2ggYi9tYWluL3hlbi8wMDE3LWxp YnhsLURvLW5vdC10cnVzdC1iYWNrZW5kLWluLWNoYW5uZWwtbGlzdC5wYXRjaA0KZGVsZXRlZCBm aWxlIG1vZGUgMTAwNjQ0DQppbmRleCBjMzEzODNiLi4wMDAwMDAwDQotLS0gYS9tYWluL3hlbi8w MDE3LWxpYnhsLURvLW5vdC10cnVzdC1iYWNrZW5kLWluLWNoYW5uZWwtbGlzdC5wYXRjaA0KKysr IC9kZXYvbnVsbA0KQEAgLTEsNTggKzAsMCBAQA0KLUZyb20gOGRmNmQ5ODRlNDFjNGEyZjNmMWVi Yzk4OTA2MzIyM2VhYmIyY2MwZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDENCi1Gcm9tOiBJYW4g SmFja3NvbiA8aWFuLmphY2tzb25AZXUuY2l0cml4LmNvbT4NCi1EYXRlOiBXZWQsIDQgTWF5IDIw MTYgMTY6NTk6MzggKzAxMDANCi1TdWJqZWN0OiBbUEFUQ0ggMTcvMjBdIGxpYnhsOiBEbyBub3Qg dHJ1c3QgYmFja2VuZCBpbiBjaGFubmVsIGxpc3QNCi0NCi1SZWFkIHRoZSBuYW1lIGZyb20gL2xp YnhsL2RldmljZS4gIFBhc3MgdGhlIC9saWJ4bCBwYXRoIHRvDQotbGlieGxfX2RldmljZV9jaGFu bmVsX2Zyb21feGVuc3RvcmUuDQotDQotVGhpcyByZW1vdmVzIHRoZSBmaW5hbCByb3V0ZSBieSB3 aGljaCBSRUFEX0xJQlhMREVWIG1pZ2h0IHJlY2VpdmUgYQ0KLWJhY2tlbmQgcGF0aC4NCi0NCi1U aGlzIGlzIHBhcnQgb2YgWFNBLTE3OC4NCi0NCi1TaWduZWQtb2ZmLWJ5OiBJYW4gSmFja3NvbiA8 SWFuLkphY2tzb25AZXUuY2l0cml4LmNvbT4NCi1SZXZpZXdlZC1ieTogV2VpIExpdSA8d2VpLmxp dTJAY2l0cml4LmNvbT4NCi0tLS0NCi12MjogUmVtb3ZlIGJlX3BhdGggdmFyaWFibGUgd2hpY2gg aXMgbm93IG5vIGxvbmdlciB1c2VkLg0KLS0tLQ0KLSB0b29scy9saWJ4bC9saWJ4bC5jIHwgOSAr KystLS0tLS0NCi0gMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMo LSkNCi0NCi1kaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGwuYyBiL3Rvb2xzL2xpYnhsL2xp YnhsLmMNCi1pbmRleCA5YWViYzllLi5hNjcwMWQ0IDEwMDY0NA0KLS0tLSBhL3Rvb2xzL2xpYnhs L2xpYnhsLmMNCi0rKysgYi90b29scy9saWJ4bC9saWJ4bC5jDQotQEAgLTM4NzAsNyArMzg3MCw3 IEBAIHN0YXRpYyBpbnQgbGlieGxfX2FwcGVuZF9jaGFubmVsX2xpc3QobGlieGxfX2djICpnYywN Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX2Rl dmljZV9jaGFubmVsICoqY2hhbm5lbHMsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBpbnQgKm5jaGFubmVscykNCi0gew0KLS0gICAgY2hhciAqbGlieGxf ZGlyX3BhdGggPSBOVUxMLCAqYmVfcGF0aCA9IE5VTEw7DQotKyAgICBjaGFyICpsaWJ4bF9kaXJf cGF0aCA9IE5VTEw7DQotICAgICBjaGFyICoqZGlyID0gTlVMTDsNCi0gICAgIHVuc2lnbmVkIGlu dCBuID0gMCwgZGV2aWQgPSAwOw0KLSAgICAgbGlieGxfZGV2aWNlX2NoYW5uZWwgKm5leHQgPSBO VUxMOw0KLUBAIC0zODg3LDEwICszODg3LDcgQEAgc3RhdGljIGludCBsaWJ4bF9fYXBwZW5kX2No YW5uZWxfbGlzdChsaWJ4bF9fZ2MgKmdjLA0KLSAgICAgICAgIGxpYnhsX2RldmljZV9jaGFubmVs ICp0bXA7DQotIA0KLSAgICAgICAgIGxpYnhsX3BhdGggPSBHQ1NQUklOVEYoIiVzLyVzIiwgbGli eGxfZGlyX3BhdGgsIGRpcltpXSk7DQotLSAgICAgICAgYmVfcGF0aCA9IGxpYnhsX194c19yZWFk KGdjLCBYQlRfTlVMTCwNCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0NTUFJJ TlRGKCIlcy9iYWNrZW5kIiwgbGlieGxfcGF0aCkpOw0KLS0gICAgICAgIGlmICghYmVfcGF0aCkg Y29udGludWU7DQotLSAgICAgICAgbmFtZSA9IGxpYnhsX194c19yZWFkKGdjLCBYQlRfTlVMTCwg R0NTUFJJTlRGKCIlcy9uYW1lIiwgYmVfcGF0aCkpOw0KLSsgICAgICAgIG5hbWUgPSBsaWJ4bF9f eHNfcmVhZChnYywgWEJUX05VTEwsIEdDU1BSSU5URigiJXMvbmFtZSIsIGxpYnhsX3BhdGgpKTsN Ci0gICAgICAgICAvKiAnY2hhbm5lbHMnIGFyZSBjb25zb2xlcyB3aXRoIG5hbWVzLCBzbyBpZ25v cmUgYWxsIGNvbnNvbGVzDQotICAgICAgICAgICAgd2l0aG91dCBuYW1lcyAqLw0KLSAgICAgICAg IGlmICghbmFtZSkgY29udGludWU7DQotQEAgLTM5MDIsNyArMzg5OSw3IEBAIHN0YXRpYyBpbnQg bGlieGxfX2FwcGVuZF9jaGFubmVsX2xpc3QobGlieGxfX2djICpnYywNCi0gICAgICAgICB9DQot ICAgICAgICAgKmNoYW5uZWxzID0gdG1wOw0KLSAgICAgICAgIG5leHQgPSAqY2hhbm5lbHMgKyAq bmNoYW5uZWxzICsgZGV2aWQ7DQotLSAgICAgICAgcmMgPSBsaWJ4bF9fZGV2aWNlX2NoYW5uZWxf ZnJvbV94ZW5zdG9yZShnYywgYmVfcGF0aCwgbmV4dCk7DQotKyAgICAgICAgcmMgPSBsaWJ4bF9f ZGV2aWNlX2NoYW5uZWxfZnJvbV94ZW5zdG9yZShnYywgbGlieGxfcGF0aCwgbmV4dCk7DQotICAg ICAgICAgaWYgKHJjKSBnb3RvIG91dDsNCi0gICAgICAgICBuZXh0LT5kZXZpZCA9IGRldmlkOw0K LSAgICAgICAgIGRldmlkKys7DQotLS0gDQotMS45LjENCi0NCmRpZmYgLS1naXQgYS9tYWluL3hl bi8wMDE4LWxpYnhsLUNsZWFudXAtSGF2ZS1saWJ4bF9fYWxsb2NfdmRldi11c2UtbGlieGwucGF0 Y2ggYi9tYWluL3hlbi8wMDE4LWxpYnhsLUNsZWFudXAtSGF2ZS1saWJ4bF9fYWxsb2NfdmRldi11 c2UtbGlieGwucGF0Y2gNCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggOTVkMTQ4MC4u MDAwMDAwMA0KLS0tIGEvbWFpbi94ZW4vMDAxOC1saWJ4bC1DbGVhbnVwLUhhdmUtbGlieGxfX2Fs bG9jX3ZkZXYtdXNlLWxpYnhsLnBhdGNoDQorKysgL2Rldi9udWxsDQpAQCAtMSw0OCArMCwwIEBA DQotRnJvbSAzNjc1MTcyYjM0MmQxYzAzYjAxZTJhYzBhOWZlODUxMzkxOTIxYWI3IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQ0KLUZyb206IElhbiBKYWNrc29uIDxpYW4uamFja3NvbkBldS5jaXRy aXguY29tPg0KLURhdGU6IFR1ZSwgMyBNYXkgMjAxNiAxNToyNToxOSArMDEwMA0KLVN1YmplY3Q6 IFtQQVRDSCAxOC8yMF0gbGlieGw6IENsZWFudXA6IEhhdmUgbGlieGxfX2FsbG9jX3ZkZXYgdXNl IC9saWJ4bA0KLQ0KLVdoZW4gYWxsb2NhdGluZyBhIHZkZXYgZm9yIGEgbmV3IGRpc2ssIGxvb2sg aW4gL2xpYnhsL2RldmljZSwgcmF0aGVyDQotdGhhbiB0aGUgZnJvbnRlbmRzIGRpcmVjdG9yeSBp biB4ZW5zdG9yZS4NCi0NCi1UaGlzIGlzIG1vcmUgaW4gbGluZSB3aXRoIHRoZSBvdGhlciBwYXJ0 cyBvZiBsaWJ4bCwgd2hpY2ggb3VnaHQgbm90IHRvDQotdHJ1c3QgZnJvbnRlbmRzLiAgSW4gdGhp cyBjYXNlLCB0aG91Z2gsIHRoZXJlIGlzIG5vIHNlY3VyaXR5IGJ1ZyBwcmlvcg0KLXRvIHRoaXMg cGF0Y2ggYmVjYXVzZSB0aGUgZnJvbnRlbmQgaXMgdGhlIHRvb2xzdGFjayBkb21haW4gaXRzZWxm Lg0KLQ0KLUlmIGxpYnhsX19hbGxvY192ZGV2IHdlcmUgZXZlciBjaGFuZ2VkIHRvIHRha2UgYSBm cm9udGVuZCBkb21haW4NCi1hcmd1bWVudCwgdGhpcyBwYXRjaCB3aWxsIGZpeCBhIGxhdGVudCBz ZWN1cml0eSBidWcuDQotDQotVGhpcyBpcyBhIGZvbGxvd3VwIHRvIFhTQS0xNzUuDQotDQotU2ln bmVkLW9mZi1ieTogSWFuIEphY2tzb24gPElhbi5KYWNrc29uQGV1LmNpdHJpeC5jb20+DQotUmV2 aWV3ZWQtYnk6IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJpeC5jb20+DQotLS0tDQotIHRvb2xzL2xp YnhsL2xpYnhsLmMgfCA0ICsrLS0NCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwg MiBkZWxldGlvbnMoLSkNCi0NCi1kaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGwuYyBiL3Rv b2xzL2xpYnhsL2xpYnhsLmMNCi1pbmRleCBhNjcwMWQ0Li4yMGE4OTYwIDEwMDY0NA0KLS0tLSBh L3Rvb2xzL2xpYnhsL2xpYnhsLmMNCi0rKysgYi90b29scy9saWJ4bC9saWJ4bC5jDQotQEAgLTMw NDMsNyArMzA0Myw3IEBAIHN0YXRpYyBjaGFyICogbGlieGxfX2FsbG9jX3ZkZXYobGlieGxfX2dj ICpnYywgdm9pZCAqZ2V0X3ZkZXZfdXNlciwNCi0gew0KLSAgICAgY29uc3QgY2hhciAqYmxrZGV2 X3N0YXJ0ID0gKGNvbnN0IGNoYXIgKikgZ2V0X3ZkZXZfdXNlcjsNCi0gICAgIGludCBkZXZpZCA9 IDAsIGRpc2sgPSAwLCBwYXJ0ID0gMDsNCi0tICAgIGNoYXIgKmRvbXBhdGggPSBsaWJ4bF9feHNf Z2V0X2RvbXBhdGgoZ2MsIExJQlhMX1RPT0xTVEFDS19ET01JRCk7DQotKyAgICBjaGFyICpsaWJ4 bF9kb21fcGF0aCA9IGxpYnhsX194c19saWJ4bF9wYXRoKGdjLCBMSUJYTF9UT09MU1RBQ0tfRE9N SUQpOw0KLSANCi0gICAgIGxpYnhsX19kZXZpY2VfZGlza19kZXZfbnVtYmVyKGJsa2Rldl9zdGFy dCwgJmRpc2ssICZwYXJ0KTsNCi0gICAgIGlmIChwYXJ0ICE9IDApIHsNCi1AQCAtMzA1OCw3ICsz MDU4LDcgQEAgc3RhdGljIGNoYXIgKiBsaWJ4bF9fYWxsb2NfdmRldihsaWJ4bF9fZ2MgKmdjLCB2 b2lkICpnZXRfdmRldl91c2VyLA0KLSAgICAgICAgICAgICByZXR1cm4gTlVMTDsNCi0gICAgICAg ICBpZiAobGlieGxfX3hzX3JlYWQoZ2MsIHQsDQotICAgICAgICAgICAgICAgICAgICAgbGlieGxf X3NwcmludGYoZ2MsICIlcy9kZXZpY2UvdmJkLyVkL2JhY2tlbmQiLA0KLS0gICAgICAgICAgICAg ICAgICAgICAgICBkb21wYXRoLCBkZXZpZCkpID09IE5VTEwpIHsNCi0rICAgICAgICAgICAgICAg ICAgICAgICAgbGlieGxfZG9tX3BhdGgsIGRldmlkKSkgPT0gTlVMTCkgew0KLSAgICAgICAgICAg ICBpZiAoZXJybm8gPT0gRU5PRU5UKQ0KLSAgICAgICAgICAgICAgICAgcmV0dXJuIGxpYnhsX19k ZXZpZF90b19sb2NhbGRldihnYywgZGV2aWQpOw0KLSAgICAgICAgICAgICBlbHNlDQotLS0gDQot MS45LjENCi0NCmRpZmYgLS1naXQgYS9tYWluL3hlbi8wMDE5LWxpYnhsLUNsZWFudXAtdXNlLWxp YnhsX19iYWNrZW5kcGF0aF9wYXJzZV9kb21pZC1pbi0ucGF0Y2ggYi9tYWluL3hlbi8wMDE5LWxp YnhsLUNsZWFudXAtdXNlLWxpYnhsX19iYWNrZW5kcGF0aF9wYXJzZV9kb21pZC1pbi0ucGF0Y2gN CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggOGJkZDIwOS4uMDAwMDAwMA0KLS0tIGEv bWFpbi94ZW4vMDAxOS1saWJ4bC1DbGVhbnVwLXVzZS1saWJ4bF9fYmFja2VuZHBhdGhfcGFyc2Vf ZG9taWQtaW4tLnBhdGNoDQorKysgL2Rldi9udWxsDQpAQCAtMSwzOCArMCwwIEBADQotRnJvbSA1 MDlhZTkwMWRjMjVjNTE1NTNjNDllNmY0NDI4YWM4MDIzYjQyNjI1IE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQ0KLUZyb206IElhbiBKYWNrc29uIDxpYW4uamFja3NvbkBldS5jaXRyaXguY29tPg0K LURhdGU6IEZyaSwgMjkgQXByIDIwMTYgMTY6MDg6MTkgKzAxMDANCi1TdWJqZWN0OiBbUEFUQ0gg MTkvMjBdIGxpYnhsOiBDbGVhbnVwOiB1c2UgbGlieGxfX2JhY2tlbmRwYXRoX3BhcnNlX2RvbWlk IGluDQotIGxpYnhsX19kZXZpY2VfZGlza19mcm9tX3hzX2JlDQotDQotUmF0aGVyIHRoYW4gYW4g b3Blbi1jb2RlZCBzc2NhbmYuICBObyBmdW5jdGlvbmFsIGNoYW5nZSB3aXRoIGNvcnJlY3QNCi1p bnB1dC4NCi0NCi1UaGlzIGlzIGEgZm9sbG93dXAgdG8gWFNBLTE3NSBhbmQgWFNBLTE3OC4NCi0N Ci1TaWduZWQtb2ZmLWJ5OiBJYW4gSmFja3NvbiA8SWFuLkphY2tzb25AZXUuY2l0cml4LmNvbT4N Ci1SZXZpZXdlZC1ieTogV2VpIExpdSA8d2VpLmxpdTJAY2l0cml4LmNvbT4NCi0tLS0NCi0gdG9v bHMvbGlieGwvbGlieGwuYyB8IDYgKysrLS0tDQotIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlv bnMoKyksIDMgZGVsZXRpb25zKC0pDQotDQotZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhs LmMgYi90b29scy9saWJ4bC9saWJ4bC5jDQotaW5kZXggMjBhODk2MC4uYzBhODBjYiAxMDA2NDQN Ci0tLS0gYS90b29scy9saWJ4bC9saWJ4bC5jDQotKysrIGIvdG9vbHMvbGlieGwvbGlieGwuYw0K LUBAIC0yNjQwLDEwICsyNjQwLDEwIEBAIHN0YXRpYyBpbnQgbGlieGxfX2RldmljZV9kaXNrX2Zy b21feGVuc3RvcmUobGlieGxfX2djICpnYywNCi0gICAgICAgICBnb3RvIG91dDsNCi0gICAgIH0N Ci0gDQotLSAgICByYyA9IHNzY2FuZihiYWNrZW5kX3BhdGgsICIvbG9jYWwvZG9tYWluLyVkLyIs ICZkaXNrLT5iYWNrZW5kX2RvbWlkKTsNCi0tICAgIGlmIChyYyAhPSAxKSB7DQotKyAgICByYyA9 IGxpYnhsX19iYWNrZW5kcGF0aF9wYXJzZV9kb21pZChnYywgYmFja2VuZF9wYXRoLCAmZGlzay0+ YmFja2VuZF9kb21pZCk7DQotKyAgICBpZiAocmMpIHsNCi0gICAgICAgICBMT0coRVJST1IsICJV bmFibGUgdG8gZmV0Y2ggZGV2aWNlIGJhY2tlbmQgZG9taWQgZnJvbSAlcyIsIGJhY2tlbmRfcGF0 aCk7DQotLSAgICAgICAgZ290byBjbGVhbnVwOw0KLSsgICAgICAgIGdvdG8gb3V0Ow0KLSAgICAg fQ0KLSANCi0gICAgIC8qICJwYXJhbXMiIG1heSBub3QgYmUgcHJlc2VudDsgYnV0IGV2ZXJ5dGhp bmcgZWxzZSBtdXN0IGJlLiAqLw0KLS0tIA0KLTEuOS4xDQotDQpkaWZmIC0tZ2l0IGEvbWFpbi94 ZW4vMDAyMC1saWJ4bC1Eb2N1bWVudC1zZXJpYWwtY29ycmVjdGx5LnBhdGNoIGIvbWFpbi94ZW4v MDAyMC1saWJ4bC1Eb2N1bWVudC1zZXJpYWwtY29ycmVjdGx5LnBhdGNoDQpkZWxldGVkIGZpbGUg bW9kZSAxMDA2NDQNCmluZGV4IDZjNDFiZTIuLjAwMDAwMDANCi0tLSBhL21haW4veGVuLzAwMjAt bGlieGwtRG9jdW1lbnQtc2VyaWFsLWNvcnJlY3RseS5wYXRjaA0KKysrIC9kZXYvbnVsbA0KQEAg LTEsMzggKzAsMCBAQA0KLUZyb20gZDhhYzY3ZWZmNzc4YWUwYzZiMzI4NmFiNDYzMjhiZTVjNmM5 MDE2MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDENCi1Gcm9tOiBJYW4gSmFja3NvbiA8aWFuLmph Y2tzb25AZXUuY2l0cml4LmNvbT4NCi1EYXRlOiBXZWQsIDQgTWF5IDIwMTYgMTU6MTc6NDUgKzAx MDANCi1TdWJqZWN0OiBbUEFUQ0ggMjAvMjBdIGxpYnhsOiBEb2N1bWVudCB+L3NlcmlhbC8gY29y cmVjdGx5DQotDQoteGVuc3RvcmUtcGF0aHMubWFya2Rvd24gdGFsa2VkIGFib3V0IH4vZGV2aWNl L3NlcmlhbC8sIGJ1dCB0aGF0J3Mgbm90DQotdXNlZC4NCi0NCi0oSXQgaXMgdmVyeSB3cm9uZyBm b3IgdGhpcyB2YWx1ZSwgd2hpY2ggY29udGFpbnMgYSBkcml2ZXIgZG9tYWluDQotZmlsZXN5c3Rl bSBwYXRoLCB0byBiZSBpbiB0aGUgZ3Vlc3QncyBhcmVhIG9mIHhlbnN0b3JlLiAgSG93ZXZlciwg aXQNCi1pcyBvbmx5IGV2ZXIgY3JlYXRlZCBieSBsaWJ4bCBhbmQgcmVhZHkgYnkgeGVuY29uc29s ZWQuICBXaGVuIGl0IGlzDQotY3JlYXRlZCwgaXQgaW5oZXJpdHMgdGhlIHJlYWQtb25seSBwZXJt aXNzaW9ucyBvZiAvbG9jYWwvZG9tYWluL0RPTUlELg0KLVNvIHRoZXJlIGlzIG5vIHNlY3VyaXR5 IGJ1Zy4pDQotDQotVGhpcyBpcyBhIGZvbGxvd3VwIHRvIFhTQS0xNzUuDQotDQotU2lnbmVkLW9m Zi1ieTogSWFuIEphY2tzb24gPElhbi5KYWNrc29uQGV1LmNpdHJpeC5jb20+DQotUmV2aWV3ZWQt Ynk6IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJpeC5jb20+DQotLS0tDQotIGRvY3MvbWlzYy94ZW5z dG9yZS1wYXRocy5tYXJrZG93biB8IDIgKy0NCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9u KCspLCAxIGRlbGV0aW9uKC0pDQotDQotZGlmZiAtLWdpdCBhL2RvY3MvbWlzYy94ZW5zdG9yZS1w YXRocy5tYXJrZG93biBiL2RvY3MvbWlzYy94ZW5zdG9yZS1wYXRocy5tYXJrZG93bg0KLWluZGV4 IDhjNjg2ZWMuLmJmYTZhNzkgMTAwNjQ0DQotLS0tIGEvZG9jcy9taXNjL3hlbnN0b3JlLXBhdGhz Lm1hcmtkb3duDQotKysrIGIvZG9jcy9taXNjL3hlbnN0b3JlLXBhdGhzLm1hcmtkb3duDQotQEAg LTI0MCw3ICsyNDAsNyBAQCBUaGUgcHJpbWFyeSBQViBjb25zb2xlIGRldmljZS4gRGVzY3JpYmVk IGluIFtjb25zb2xlLnR4dF0oY29uc29sZS50eHQpDQotIA0KLSBBIHNlY29uZGFyeSBQViBjb25z b2xlIGRldmljZS4gRGVzY3JpYmVkIGluIFtjb25zb2xlLnR4dF0oY29uc29sZS50eHQpDQotIA0K LS0jIyMjIH4vZGV2aWNlL3NlcmlhbC8kREVWSUQvKiBbSFZNXQ0KLSsjIyMjIH4vc2VyaWFsLyRE RVZJRC8qIFtIVk1dDQotIA0KLSBBbiBlbXVsYXRlZCBzZXJpYWwgZGV2aWNlLiBEZXNjcmliZWQg aW4gW2NvbnNvbGUudHh0XShjb25zb2xlLnR4dCkNCi0gDQotLS0gDQotMS45LjENCi0NCmRpZmYg LS1naXQgYS9tYWluL3hlbi9BUEtCVUlMRCBiL21haW4veGVuL0FQS0JVSUxEDQppbmRleCA0YzMx ODExLi5lNjgxMjljIDEwMDY0NA0KLS0tIGEvbWFpbi94ZW4vQVBLQlVJTEQNCisrKyBiL21haW4v eGVuL0FQS0JVSUxEDQpAQCAtMSw5ICsxLDEwIEBADQorIyBDb250cmlidXRvcjogU2VyZ2V5IEx1 a2luIDxzZXJnZWoubHVraW5AZ21haWwuY29tPg0KICMgQ29udHJpYnV0b3I6IFdpbGxpYW0gUGl0 Y29jayA8bmVub2xvZEBkZXJlZmVyZW5jZWQub3JnPg0KICMgQ29udHJpYnV0b3I6IFJvZ2VyIFBh dSBNb25uZSA8cm9nZXIucGF1QGVudGVsLnVwYy5lZHU+DQogIyBNYWludGFpbmVyOiBXaWxsaWFt IFBpdGNvY2sgPG5lbm9sb2RAZGVyZWZlcmVuY2VkLm9yZz4NCiBwa2duYW1lPXhlbg0KLXBrZ3Zl cj00LjUuMw0KLXBrZ3JlbD0zDQorcGtndmVyPTQuNS41DQorcGtncmVsPTANCiBwa2dkZXNjPSJY ZW4gaHlwZXJ2aXNvciINCiB1cmw9Imh0dHA6Ly93d3cueGVuLm9yZy8iDQogYXJjaD0ieDg2XzY0 Ig0KQEAgLTE3LDIwICsxOCw2IEBAIG1ha2VkZXBlbmRzPSIkZGVwZW5kc19kZXYgYXV0b2NvbmYg YXV0b21ha2UgbGlidG9vbCINCiBpbnN0YWxsPSIiDQogc3VicGFja2FnZXM9IiRwa2duYW1lLWRv YyAkcGtnbmFtZS1kZXYgJHBrZ25hbWUtbGlicyAkcGtnbmFtZS1oeXBlcnZpc29yIg0KIHNvdXJj ZT0iaHR0cDovL2JpdHMueGVuc291cmNlLmNvbS9vc3MteGVuL3JlbGVhc2UvJHBrZ3Zlci8kcGtn bmFtZS0kcGtndmVyLnRhci5neg0KLQl4c2ExNjkucGF0Y2gNCi0JeHNhMTcyLnBhdGNoDQotCXhz YTE3My00LjUucGF0Y2gNCi0JeHNhMTc2LnBhdGNoDQotCXhzYTE4MS5wYXRjaA0KLQl4c2ExODIt NC41LnBhdGNoDQotCXhzYTE4My00LjYucGF0Y2gNCi0JeHNhMTg0LXFlbXV0LW1hc3Rlci5wYXRj aA0KLQl4c2ExODQtcWVtdXUtbWFzdGVyLnBhdGNoDQotCXhzYTE4NS5wYXRjaA0KLQl4c2ExODYt MDAwMS14ODYtZW11bGF0ZS1Db3JyZWN0LWJvdW5kYXJ5LWludGVyYWN0aW9ucy1vZi1lbXVsYXRl LnBhdGNoDQotCXhzYTE4Ni00LjYtMDAwMi1odm0tZmVwLUFsbG93LXRlc3Rpbmctb2YtaW5zdHJ1 Y3Rpb25zLWNyb3NzaW5nLXRoZS5wYXRjaA0KLQl4c2ExODctNC43LTAwMDEteDg2LXNoYWRvdy1B dm9pZC1vdmVyZmxvd2luZy1zaF9jdHh0LXNlZy5wYXRjaA0KLQl4c2ExODctNC42LTAwMDIteDg2 LXNlZ21lbnQtQm91bmRzLWNoZWNrLWFjY2Vzc2VzLXRvLWVtdWxhdGlvbi1jdHgucGF0Y2gNCiAJ eHNhMTkwLTQuNS1DVkUtMjAxNi03Nzc3LnBhdGNoDQogCXhzYTE5MS00LjYtQ1ZFLTIwMTYtOTM4 Ni5wYXRjaA0KIAl4c2ExOTItNC41LUNWRS0yMDE2LTkzODIucGF0Y2gNCkBAIC00NSw0MCArMzIs OCBAQCBzb3VyY2U9Imh0dHA6Ly9iaXRzLnhlbnNvdXJjZS5jb20vb3NzLXhlbi9yZWxlYXNlLyRw a2d2ZXIvJHBrZ25hbWUtJHBrZ3Zlci50YXIuZw0KIAl4c2EyMDEtMS5wYXRjaA0KIAl4c2EyMDEt Mi5wYXRjaA0KIAl4c2EyMDEtNC5wYXRjaA0KLQ0KLQkwMDAxLWxpYnhsLVJlY29yZC1iYWNrZW5k LWZyb250ZW5kLXBhdGhzLWluLWxpYnhsLURPTUlELnBhdGNoDQotCTAwMDItbGlieGwtUHJvdmlk ZS1saWJ4bF9fYmFja2VuZHBhdGhfcGFyc2VfZG9taWQucGF0Y2gNCi0JMDAwMy1saWJ4bC1Eby1u b3QtdHJ1c3QtZnJvbnRlbmQtaW4tbGlieGxfX2RldmljZXNfZGVzdHJvLnBhdGNoDQotCTAwMDQt bGlieGwtRG8tbm90LXRydXN0LWZyb250ZW5kLWluLWxpYnhsX19kZXZpY2VfbmV4dGlkLnBhdGNo DQotCTAwMDUtbGlieGwtRG8tbm90LXRydXN0LWZyb250ZW5kLWZvci1kaXNrLWVqZWN0LWV2ZW50 LnBhdGNoDQotCTAwMDYtbGlieGwtRG8tbm90LXRydXN0LWZyb250ZW5kLWZvci1kaXNrLWluLWdl dGluZm8ucGF0Y2gNCi0JMDAwNy1saWJ4bC1Eby1ub3QtdHJ1c3QtZnJvbnRlbmQtZm9yLXZ0cG0t bGlzdC5wYXRjaA0KLQkwMDA4LWxpYnhsLURvLW5vdC10cnVzdC1mcm9udGVuZC1mb3ItdnRwbS1p bi1nZXRpbmZvLnBhdGNoDQotCTAwMDktbGlieGwtRG8tbm90LXRydXN0LWZyb250ZW5kLWZvci1u aWMtaW4tbGlieGxfZGV2aWRfdC5wYXRjaA0KLQkwMDEwLWxpYnhsLURvLW5vdC10cnVzdC1mcm9u dGVuZC1mb3ItbmljLWluLWdldGluZm8ucGF0Y2gNCi0JMDAxMS1saWJ4bC1Eby1ub3QtdHJ1c3Qt ZnJvbnRlbmQtZm9yLWNoYW5uZWwtaW4tbGlzdC5wYXRjaA0KLQkwMDEyLWxpYnhsLURvLW5vdC10 cnVzdC1mcm9udGVuZC1mb3ItY2hhbm5lbC1pbi1nZXRpbmZvLnBhdGNoDQotDQotCTAwMDEtbGli eGwtTWFrZS1jb3B5LW9mLWV2ZXJ5LXhzLWJhY2tlbmQtaW4tbGlieGwtaW4tX2dlbi5wYXRjaA0K LQkwMDAyLWxpYnhsLURvLW5vdC10cnVzdC1iYWNrZW5kLWluLWxpYnhsX19kZXZpY2VfZXhpc3Rz LnBhdGNoDQotCTAwMDMtbGlieGwtRG8tbm90LXRydXN0LWJhY2tlbmQtZm9yLXZ0cG0taW4tZ2V0 aW5mby1leGNlcC5wYXRjaA0KLQkwMDA0LWxpYnhsLURvLW5vdC10cnVzdC1iYWNrZW5kLWZvci12 dHBtLWluLWdldGluZm8tdXVpZC5wYXRjaA0KLQkwMDA1LWxpYnhsLWNkcm9tLWVqZWN0LWFuZC1p bnNlcnQtd3JpdGUtdG8tbGlieGwucGF0Y2gNCi0JMDAwNi1saWJ4bC1Eby1ub3QtdHJ1c3QtYmFj a2VuZC1mb3ItZGlzay1lamVjdC12ZGV2LnBhdGNoDQotCTAwMDctbGlieGwtRG8tbm90LXRydXN0 LWJhY2tlbmQtZm9yLWRpc2stZml4LWRyaXZlci1kb21haS5wYXRjaA0KLQkwMDA4LWxpYnhsLURv LW5vdC10cnVzdC1iYWNrZW5kLWZvci1kaXNrLWluLWdldGluZm8ucGF0Y2gNCi0JMDAwOS1saWJ4 bC1Eby1ub3QtdHJ1c3QtYmFja2VuZC1mb3ItY2Ryb20taW5zZXJ0LnBhdGNoDQotCTAwMTAtbGli eGwtRG8tbm90LXRydXN0LWJhY2tlbmQtZm9yLWNoYW5uZWwtaW4tZ2V0aW5mby5wYXRjaA0KLQkw MDExLWxpYnhsLVJlbmFtZS1saWJ4bF9fZGV2aWNlXy1uaWMtY2hhbm5lbC1fZnJvbV94c19iZS0u cGF0Y2gNCi0JMDAxMi1saWJ4bC1SZW5hbWUtUkVBRF9CQUNLRU5ELXRvLVJFQURfTElCWExERVYu cGF0Y2gNCi0JMDAxMy1saWJ4bC1IYXZlLVJFQURfTElCWExERVYtdXNlLWxpYnhsX3BhdGgtcmF0 aGVyLXRoYW4tLnBhdGNoDQotCTAwMTQtbGlieGwtRG8tbm90LXRydXN0LWJhY2tlbmQtaW4tbmlj LWdldGluZm8ucGF0Y2gNCi0JMDAxNS1saWJ4bC1Eby1ub3QtdHJ1c3QtYmFja2VuZC1mb3Itbmlj LWluLWRldmlkX3RvX2RldmljLnBhdGNoDQotCTAwMTYtbGlieGwtRG8tbm90LXRydXN0LWJhY2tl bmQtZm9yLW5pYy1pbi1saXN0LnBhdGNoDQotCTAwMTctbGlieGwtRG8tbm90LXRydXN0LWJhY2tl bmQtaW4tY2hhbm5lbC1saXN0LnBhdGNoDQotCTAwMTgtbGlieGwtQ2xlYW51cC1IYXZlLWxpYnhs X19hbGxvY192ZGV2LXVzZS1saWJ4bC5wYXRjaA0KLQkwMDE5LWxpYnhsLUNsZWFudXAtdXNlLWxp YnhsX19iYWNrZW5kcGF0aF9wYXJzZV9kb21pZC1pbi0ucGF0Y2gNCi0JMDAyMC1saWJ4bC1Eb2N1 bWVudC1zZXJpYWwtY29ycmVjdGx5LnBhdGNoDQorCXhzYTIwMi00LjYucGF0Y2gNCisJeHNhMjA0 LTQuNS5wYXRjaA0KIA0KIAlxZW11LWNvcm91dGluZS1ndGhyZWFkLnBhdGNoDQogCXFlbXUteGVu LW11c2wtb3BlbnB0eS5wYXRjaA0KQEAgLTg2LDcgKzQxLDYgQEAgc291cmNlPSJodHRwOi8vYml0 cy54ZW5zb3VyY2UuY29tL29zcy14ZW4vcmVsZWFzZS8kcGtndmVyLyRwa2duYW1lLSRwa2d2ZXIu dGFyLmcNCiANCiAJaG90cGx1Zy12aWYtdnRyaWxsLnBhdGNoDQogCTAwMDEtaXB4ZS1kb250LWNs b2JiZXItZWJwLnBhdGNoDQotCWdudXRscy0zLjQuMC5wYXRjaA0KIA0KIAlpbml0LXhlbnN0b3Jl LWRvbWFpbi5wYXRjaA0KIA0KQEAgLTI2NCwyMSArMjE4LDcgQEAgaHlwZXJ2aXNvcigpIHsNCiAJ bXYgIiRwa2dkaXIiL2Jvb3QgIiRzdWJwa2dkaXIiLw0KIH0NCiANCi1tZDVzdW1zPSJhNDFiYWVi OGFiMDA5OGRkMmJjZTQyNDlhOTVkMTExOCAgeGVuLTQuNS4zLnRhci5neg0KLTA5MzFiODdhNmI5 YmE4NDZjNTc5N2RiYmJhY2RmMzI0ICB4c2ExNjkucGF0Y2gNCi1iMTRkOWE0MjQ3YWU2NTQ1Nzlj Yjc1N2M5YjBlOTQ5YSAgeHNhMTcyLnBhdGNoDQotMzM1MTgyYzA5YzNiOGU4ODdhMzVjOTY3N2Yy ZGM2NTggIHhzYTE3My00LjUucGF0Y2gNCi1mNWE4ODlkZjljODZhMmNkYTI4ZGEyMGVjN2NkN2Fk YyAgeHNhMTc2LnBhdGNoDQotZmIzYjM1M2E0YTRlMzM0ZWY2YmYxZWQzZjM1NTUyZDYgIHhzYTE4 MS5wYXRjaA0KLTczMmFmODk0MmZmYmMzMWNhMzRmZDlhNzAwMWUxOTIzICB4c2ExODItNC41LnBh dGNoDQotZjEzNzI1NWY2OTI4ZDQzOWE1ZGRmMThlYmFiNDAyZDcgIHhzYTE4My00LjYucGF0Y2gN Ci05NWJjMjIwNjc3ZmMyYmI5YTNkZjRkYzE0YTBiMzFmNiAgeHNhMTg0LXFlbXV0LW1hc3Rlci5w YXRjaA0KLWNjMDkwNDYwNWQwM2E5ZTRmNmYyMWQxNjgyNGU0MWM5ICB4c2ExODQtcWVtdXUtbWFz dGVyLnBhdGNoDQotOGFlMjJjNzA2ODFmM2RhZjk3ZWU3ZWY4YWQ5NDdlNzYgIHhzYTE4NS5wYXRj aA0KLTlhMmI3NGYyMDc5YmEwYjdhNmUyNDIwZTY4ODdjYzNhICB4c2ExODYtMDAwMS14ODYtZW11 bGF0ZS1Db3JyZWN0LWJvdW5kYXJ5LWludGVyYWN0aW9ucy1vZi1lbXVsYXRlLnBhdGNoDQotM2Q4 MTJjZjljY2M4NDQzODc0YjM2ZTA2MTM5MmQzODggIHhzYTE4Ni00LjYtMDAwMi1odm0tZmVwLUFs bG93LXRlc3Rpbmctb2YtaW5zdHJ1Y3Rpb25zLWNyb3NzaW5nLXRoZS5wYXRjaA0KLWM0MjYzODMy NTRhY2RjYmI5NDY2YmJlYzJkNmY4ZDliICB4c2ExODctNC43LTAwMDEteDg2LXNoYWRvdy1Bdm9p ZC1vdmVyZmxvd2luZy1zaF9jdHh0LXNlZy5wYXRjaA0KLWE5OGMwZmEyNTc5OTY1ZDcyMjcyZjM4 MWYxOTMxOTVkICB4c2ExODctNC42LTAwMDIteDg2LXNlZ21lbnQtQm91bmRzLWNoZWNrLWFjY2Vz c2VzLXRvLWVtdWxhdGlvbi1jdHgucGF0Y2gNCittZDVzdW1zPSJhOTliYWFjZjgyYWExMTFlZDMx MzBkNmMzNjFkNzRhOCAgeGVuLTQuNS41LnRhci5neg0KIDQ3OGI4OGQyZWY3ZTY3YmMwM2QzNjM3 ZGVmNDFhNDg1ICB4c2ExOTAtNC41LUNWRS0yMDE2LTc3NzcucGF0Y2gNCiA1Mzk5YWNjZDQ3ODI2 NjA0N2U5ZmFkYTU3YmJhMWJmOCAgeHNhMTkxLTQuNi1DVkUtMjAxNi05Mzg2LnBhdGNoDQogZmE4 NTEyOTEwYTBkYmU3ZjQ5YjE4MDA1MThmOWMyMDQgIHhzYTE5Mi00LjUtQ1ZFLTIwMTYtOTM4Mi5w YXRjaA0KQEAgLTI5Myw0NCArMjMzLDEzIEBAIGFkZDNhZDc4MjhkNTgyZmMyNzIwNzNlOTA2Y2Ux N2ExICB4c2EyMDAtNC42LnBhdGNoDQogNjU4MDM3MWI0YjhkYjdjYjY4NzZmMmI0MmFiM2ZjNjEg IHhzYTIwMS0xLnBhdGNoDQogNzYzOTQ0ODJlYWYwY2FlYjNlMDYxMWJhNzBlODkyM2MgIHhzYTIw MS0yLnBhdGNoDQogOWNiMTUxNmQ3ODNmYzljNzY1ZTlhMzc1NzRiYjNjYmQgIHhzYTIwMS00LnBh dGNoDQotZTYwNDAwYTAyZjI0YjcwZGQ5ZDM5NjI4YTczMWRjZGEgIDAwMDEtbGlieGwtUmVjb3Jk LWJhY2tlbmQtZnJvbnRlbmQtcGF0aHMtaW4tbGlieGwtRE9NSUQucGF0Y2gNCi04M2Y2OGViZTY0 MWZkZTgyN2I1Njk5NmZmYzViYmM1ZSAgMDAwMi1saWJ4bC1Qcm92aWRlLWxpYnhsX19iYWNrZW5k cGF0aF9wYXJzZV9kb21pZC5wYXRjaA0KLTE5N2IwYTIyNzNiNjhjMWNmZTJhNDQ4MmNlZmZkZjRk ICAwMDAzLWxpYnhsLURvLW5vdC10cnVzdC1mcm9udGVuZC1pbi1saWJ4bF9fZGV2aWNlc19kZXN0 cm8ucGF0Y2gNCi0yOWNjNjE4MDc5YzNmNTg2MDQzZDY2NWZlOGRhZWQyNCAgMDAwNC1saWJ4bC1E by1ub3QtdHJ1c3QtZnJvbnRlbmQtaW4tbGlieGxfX2RldmljZV9uZXh0aWQucGF0Y2gNCi1mMjkw YmUxYmEyNmY0ODBmZDM0NWFkYTY0OWQ1OTY2MCAgMDAwNS1saWJ4bC1Eby1ub3QtdHJ1c3QtZnJv bnRlbmQtZm9yLWRpc2stZWplY3QtZXZlbnQucGF0Y2gNCi0xNzFkY2E4MzQyMGFkM2Y3MDZiYTA0 NjZhZGYwMzBmZCAgMDAwNi1saWJ4bC1Eby1ub3QtdHJ1c3QtZnJvbnRlbmQtZm9yLWRpc2staW4t Z2V0aW5mby5wYXRjaA0KLTQ1YmM5MzgwNDdiYzc3MTZiNTdlZWI4NTA4OTc3YTBmICAwMDA3LWxp YnhsLURvLW5vdC10cnVzdC1mcm9udGVuZC1mb3ItdnRwbS1saXN0LnBhdGNoDQotYmE4M2Q1ZWE5 YTE2MTVmMmIxNjkzYWNjM2U1NGYyOTggIDAwMDgtbGlieGwtRG8tbm90LXRydXN0LWZyb250ZW5k LWZvci12dHBtLWluLWdldGluZm8ucGF0Y2gNCi0xNDFmMmIyOGIwNGI0ZWZiZjkwOWE0NjUwNjk2 ZDcxYyAgMDAwOS1saWJ4bC1Eby1ub3QtdHJ1c3QtZnJvbnRlbmQtZm9yLW5pYy1pbi1saWJ4bF9k ZXZpZF90LnBhdGNoDQotNjYxMTQ0OWMyYzA1NmZhMDc0Njg1YjE4NDQzMTQ5ZTAgIDAwMTAtbGli eGwtRG8tbm90LXRydXN0LWZyb250ZW5kLWZvci1uaWMtaW4tZ2V0aW5mby5wYXRjaA0KLTMyNjRm ODQwM2Q1Y2QwMjVjMjU0MTZhNWRlN2FlYjUwICAwMDExLWxpYnhsLURvLW5vdC10cnVzdC1mcm9u dGVuZC1mb3ItY2hhbm5lbC1pbi1saXN0LnBhdGNoDQotYWU4MjI1NmVkZjk0OGUxYzhhY2U2YzU3 NmE0YjI1OTcgIDAwMTItbGlieGwtRG8tbm90LXRydXN0LWZyb250ZW5kLWZvci1jaGFubmVsLWlu LWdldGluZm8ucGF0Y2gNCi0xNDcxOWY2MTg5ZGYxMjcwMDUzMTg0ZDhhOTBjYzdkMSAgMDAwMS1s aWJ4bC1NYWtlLWNvcHktb2YtZXZlcnkteHMtYmFja2VuZC1pbi1saWJ4bC1pbi1fZ2VuLnBhdGNo DQotMWVmNTgzY2NjMTRiNmZlYTc4ZDE4OTFkMTNiMzYzMWMgIDAwMDItbGlieGwtRG8tbm90LXRy dXN0LWJhY2tlbmQtaW4tbGlieGxfX2RldmljZV9leGlzdHMucGF0Y2gNCi1mMWYyYzQxZWJjN2Nj ZGEwZjhhNzg2YTYxNzA2OTRjMSAgMDAwMy1saWJ4bC1Eby1ub3QtdHJ1c3QtYmFja2VuZC1mb3It dnRwbS1pbi1nZXRpbmZvLWV4Y2VwLnBhdGNoDQotNDU2YjlhZmM4ZWI5MDhkNTE0N2Q5NzY2MTY5 YWNlYzcgIDAwMDQtbGlieGwtRG8tbm90LXRydXN0LWJhY2tlbmQtZm9yLXZ0cG0taW4tZ2V0aW5m by11dWlkLnBhdGNoDQotZTY5MDJlMzU0Y2JmZDBmOGU1NmM3YzI2NTNjOGE5NTMgIDAwMDUtbGli eGwtY2Ryb20tZWplY3QtYW5kLWluc2VydC13cml0ZS10by1saWJ4bC5wYXRjaA0KLWJlMmU5YTUx NWU2Y2MxMDhhYmFlOGYyYTcyNjAwMWFkICAwMDA2LWxpYnhsLURvLW5vdC10cnVzdC1iYWNrZW5k LWZvci1kaXNrLWVqZWN0LXZkZXYucGF0Y2gNCi0xZWUxM2Q3MDI3Nzk2NzRlZjZjNzE3NjIxZmZh OTM4MiAgMDAwNy1saWJ4bC1Eby1ub3QtdHJ1c3QtYmFja2VuZC1mb3ItZGlzay1maXgtZHJpdmVy LWRvbWFpLnBhdGNoDQotYjU2MjZkOTBjODUwZDk1OThkZWRlMDc0MGRmOTZlMDkgIDAwMDgtbGli eGwtRG8tbm90LXRydXN0LWJhY2tlbmQtZm9yLWRpc2staW4tZ2V0aW5mby5wYXRjaA0KLWQ3ZGRi YTNmNzU5ZDQ3NDk1YjcyZTgzOTdmNjQzNjNkICAwMDA5LWxpYnhsLURvLW5vdC10cnVzdC1iYWNr ZW5kLWZvci1jZHJvbS1pbnNlcnQucGF0Y2gNCi1mOGQwMWEyNDJmNmE2NWM4MDFkOGQyMDFlMTNk ZmZlNCAgMDAxMC1saWJ4bC1Eby1ub3QtdHJ1c3QtYmFja2VuZC1mb3ItY2hhbm5lbC1pbi1nZXRp bmZvLnBhdGNoDQotYmNmODEzOTJkNmYyOWU3MzdkNzJiNTQ4ZTRjYjEzNzggIDAwMTEtbGlieGwt UmVuYW1lLWxpYnhsX19kZXZpY2VfLW5pYy1jaGFubmVsLV9mcm9tX3hzX2JlLS5wYXRjaA0KLTFi NDg0YTc3MjAxYzE4MWExNjUxOGY1NjZlYTdmMjM5ICAwMDEyLWxpYnhsLVJlbmFtZS1SRUFEX0JB Q0tFTkQtdG8tUkVBRF9MSUJYTERFVi5wYXRjaA0KLWI2OWM2NDk3YmQwNWNlN2Y1OTcwNjJiZWI1 ZjUwMzA1ICAwMDEzLWxpYnhsLUhhdmUtUkVBRF9MSUJYTERFVi11c2UtbGlieGxfcGF0aC1yYXRo ZXItdGhhbi0ucGF0Y2gNCi1kMmQxNzNmY2EyYjIxNDhmNGNjMGUxYjcwZDY3YjI5ZiAgMDAxNC1s aWJ4bC1Eby1ub3QtdHJ1c3QtYmFja2VuZC1pbi1uaWMtZ2V0aW5mby5wYXRjaA0KLWRiYzgyN2M0 NDkzN2UzZDZmNGQ4YTMzODc4NDJhMmRkICAwMDE1LWxpYnhsLURvLW5vdC10cnVzdC1iYWNrZW5k LWZvci1uaWMtaW4tZGV2aWRfdG9fZGV2aWMucGF0Y2gNCi0wZmNlN2Y3NjBiMzQxOTNmZWM3NDJi YmE3NDQyMzE4MiAgMDAxNi1saWJ4bC1Eby1ub3QtdHJ1c3QtYmFja2VuZC1mb3ItbmljLWluLWxp c3QucGF0Y2gNCi00ODY3M2U2N2RlNzI3MmEyNDk1ZGE2MzkwMmY1NmJjZSAgMDAxNy1saWJ4bC1E by1ub3QtdHJ1c3QtYmFja2VuZC1pbi1jaGFubmVsLWxpc3QucGF0Y2gNCi1lNjU1MGJlODJmODFj MWU0M2M0NGExN2FjYjVjYTgwZSAgMDAxOC1saWJ4bC1DbGVhbnVwLUhhdmUtbGlieGxfX2FsbG9j X3ZkZXYtdXNlLWxpYnhsLnBhdGNoDQotMzk3MTRlZjM5YTA3YjYyODg3YzcyNmVlZWRiNzE5N2Yg IDAwMTktbGlieGwtQ2xlYW51cC11c2UtbGlieGxfX2JhY2tlbmRwYXRoX3BhcnNlX2RvbWlkLWlu LS5wYXRjaA0KLWUwMTM4ZWYyMzJiZDdjNWQ4ZTI4ZGI4NTM2OTJlMzAzICAwMDIwLWxpYnhsLURv Y3VtZW50LXNlcmlhbC1jb3JyZWN0bHkucGF0Y2gNCithNWEzOWM2MzU0Yzk1MjA5NWUxZDc4YTU4 MjM4NTkzMyAgeHNhMjAyLTQuNi5wYXRjaA0KKzk0NDkxNjhjY2JjMzg0NDJiOGY1NWFkOWMwOTY0 YjlmICB4c2EyMDQtNC41LnBhdGNoDQogZGUxYTNkYjM3MGI4N2NmYjBiZGRiNTE3OTZiNTAzMTUg IHFlbXUtY29yb3V0aW5lLWd0aHJlYWQucGF0Y2gNCiBkZDg2MDNlYWFiNTg1NzgxNjg0M2JmYzM3 NjQ3ZDU2OSAgcWVtdS14ZW4tbXVzbC1vcGVucHR5LnBhdGNoDQogMDhiZmRmOGNhZmY1ZDYzMWY1 MzY2MGJmM2ZkNGVkYWYgIHFlbXUteGVuX3BhdGhzLnBhdGNoDQogZTQ0OWJiMzM1OWI0OTA4MDRm ZmM3YjBhZTA4ZDYyYTAgIGhvdHBsdWctdmlmLXZ0cmlsbC5wYXRjaA0KIDIyOTUzOWE4MjJlMTRh NmE2MmJhYmZmZDcxZWNmYmYzICAwMDAxLWlweGUtZG9udC1jbG9iYmVyLWVicC5wYXRjaA0KLWEw YTAyOTRlY2NiYWVmNzdhMmY4ZjVjMjc4OWYwMTFjICBnbnV0bHMtMy40LjAucGF0Y2gNCiAwOGEz MGQ1NjkwMmI2NjBmNTEwMmE1YzIwOGU1NDVjOSAgaW5pdC14ZW5zdG9yZS1kb21haW4ucGF0Y2gN CiAwOTg0ZTMwMDBkZTE3YTZkMTRiODAxNGEzY2VkNDZhNCAgbXVzbC1zdXBwb3J0LnBhdGNoDQog NTEzNDU2NjA3YTJhZGZhYTBiYWYxZTNhZTUxMjRiMjMgIG11c2wtaHZtbG9hZGVyLWZpeC1zdGRp bnQucGF0Y2gNCkBAIC0zNDcsMjEgKzI1Niw3IEBAIGRjZGQxZGUyYzI5ZTQ2OWU4MzRhMDJlZGU0 ZjQ3ODA2ICB4ZW5kb21haW5zLmNvbmZkDQogOWRmNjhhYzY1ZGMzZjM3MmY1ZDYxMTgzYWJkYzgz ZmYgIHhlbi1jb25zb2xlcy5sb2dyb3RhdGUNCiA2YTJmNzc3YzE2Njc4ZDg0MDM5YWNmNjcwZDg2 ZmZmNiAgeGVucWVtdS5jb25mZA0KIGUxYzllMWM4M2E1Y2M0OTIyNDYwOGE0ODA2MGJkNjc3ICB4 ZW5xZW11LmluaXRkIg0KLXNoYTI1NnN1bXM9IjIyYjZkY2I2NzI1NDM0ZTRiYWE0OGYxNDgyMzI4 YTA0MDY0ZTIxZDk1MWQ3YzdjNGI5OTRiM2Q3YWQ0OTEwZmEgIHhlbi00LjUuMy50YXIuZ3oNCi1i ODE4OTIyODgwMzEzY2RiYzEyZWE2OGFlNzU3ZGE1ZWFiZWQ5YjNjOWUxZjhhY2VmZTE2NTM2ODM1 NDVjY2JlICB4c2ExNjkucGF0Y2gNCi1mMTgyODJmY2I3OTRiODc3MmJjM2FmNTFkNTY4NjAwNTAw NzFiZDYyYTVhOTA5YjhmMmZjMjAxOGUyOTU4MTU0ICB4c2ExNzIucGF0Y2gNCi04Y2QyNTU0MTY5 NzViNTU4OWI4NTkxMTE0MmIzODVjYzFlZDc4YjhlYTVlMTZlYmU5ZDZjNjBlMjY3OWIyM2FhICB4 c2ExNzMtNC41LnBhdGNoDQotZTYxYzUyNDc3YThkOGFhNzkxMTFkNjg2YjEwMzIwMmZmOGE1NThk OGIzMzU2NjM1Mjg4YzEyOTA3ODliN2ViMyAgeHNhMTc2LnBhdGNoDQotNjc1NmZjZjQ0NDQ2Njc1 ZTUyNzdmNmQ2YzBlOGEwYWFhNTFhNzkwOWFkOWE1NWFmODlhMDkzNjdmZGVkODczMyAgeHNhMTgx LnBhdGNoDQotMjM4MzY5NWIxZGMxMTRlNGUzMWU0MmRkMDVkNGM4NjIzOWNlOTYwNjQ3OGI1ZTFh NzFkYjExMTFkOTViNjNhMiAgeHNhMTgyLTQuNS5wYXRjaA0KLTBmZWU0MWYyMWEzZWI0YWYxNDg3 NTkwMDk4MDQ3ZjQ2MjU2ODhiY2VmNzQxOTU3MmE4ZjQxOGY5ZmI3Mjg0NjggIHhzYTE4My00LjYu cGF0Y2gNCi04OGM5MzljNjRiOGY5ZmM5Zjg2ZDBhMzA1MTdkNTQ1NTQ2MmQxZmY4MzdhYTQyODVh OWNiMTg5YjU0YzBjZjIwICB4c2ExODQtcWVtdXQtbWFzdGVyLnBhdGNoDQotMzg3N2UxOTk5MmM0 NTMyYjhiMmEzN2UxNTFmZTZhNjE4N2ExYmJlZTJiNTRjMTcxOGI5OTUyNjBiYjBmY2Y2NSAgeHNh MTg0LXFlbXV1LW1hc3Rlci5wYXRjaA0KLTMzMjhhMTk1M2VjZGY0ZGUzNTQ2MmVhODM5NmIwOTI3 MTcxZDcxOGU5NWY3M2E4N2E3ZjY1MTQyN2JkOGY4YjQgIHhzYTE4NS5wYXRjaA0KLWYyMDgyYTM2 ZDk2OGE0N2U0NzdiYjUwODJkMGUwYWFhNThlNmNiM2RjMjBiMjYzODlmMDQzYTliN2I1OTVmYTYg IHhzYTE4Ni0wMDAxLXg4Ni1lbXVsYXRlLUNvcnJlY3QtYm91bmRhcnktaW50ZXJhY3Rpb25zLW9m LWVtdWxhdGUucGF0Y2gNCi03NDgyYTgyM2MzNDQzZTI2ZGVlMTExMWM0OTA0MTYyODQ1ZWFhOWY4 MjZhYTdiZjgzNDgwMDc0MDZkOTFiZGRkICB4c2ExODYtNC42LTAwMDItaHZtLWZlcC1BbGxvdy10 ZXN0aW5nLW9mLWluc3RydWN0aW9ucy1jcm9zc2luZy10aGUucGF0Y2gNCi1iZTlmZTg1ZDM2YzJj MWZiY2EyNDZjMWY0ZDgzNGMzZWYxMWI2YWIzZDU0NjdkYTBhYzhjMDc5YWE1YTY4ZGU5ICB4c2Ex ODctNC43LTAwMDEteDg2LXNoYWRvdy1Bdm9pZC1vdmVyZmxvd2luZy1zaF9jdHh0LXNlZy5wYXRj aA0KLWI5NjczMTM3OWVhNzdkNDlmZmZmMzFkOTY5ZjQ3NDJkZGU5ODVlZjdhODZhZjk0MjJkY2Fj ODMyN2MyYTE5MTYgIHhzYTE4Ny00LjYtMDAwMi14ODYtc2VnbWVudC1Cb3VuZHMtY2hlY2stYWNj ZXNzZXMtdG8tZW11bGF0aW9uLWN0eC5wYXRjaA0KK3NoYTI1NnN1bXM9ImUyMjE2ZTMxZjc3NGJl NmJiMWJiYTkyMjI4OGZiYmMwMGJiNTQ5YzJmZWI5YzEyNDcyZjYwZmU2ODlhZWU0ZjggIHhlbi00 LjUuNS50YXIuZ3oNCiA0NzdkNTZjNDFjYzIxMDE0MzI0NTlhYjc5ZTRkNTY2M2FhZGU3NzljMzYy ODVmNWMxZDZkNmVkNGUzNGUxMDA5ICB4c2ExOTAtNC41LUNWRS0yMDE2LTc3NzcucGF0Y2gNCiBk OTVhMWYwZGQ1YzQ1NDk3Y2E1NmUyZTEzOTBmYzY4OGJmMGE0YTdhN2ZkMTBjNjVhZTI1YjRiYmIz MzUzYjY5ICB4c2ExOTEtNC42LUNWRS0yMDE2LTkzODYucGF0Y2gNCiBiYjBjNjYyMmM2ZjVjNWVi OWE2ODAwMjBkODY1ODAyMDY5NDQ2ODMwYjRhMTcwYmNiODIzMzZmNmMzYjc3ZjU1ICB4c2ExOTIt NC41LUNWRS0yMDE2LTkzODIucGF0Y2gNCkBAIC0zNzYsNDQgKzI3MSwxMyBAQCBkNjYyMzUzNjI5 MTE3YjljOTc4Y2Y1NDQ0OTk1YjQxZTc3YjA3OWNjNjY1ZTA3OGFlNzg2OGI3MTVjNDdjMzgyICB4 c2ExOTctNC41LXFlbQ0KIDE2M2FlYjlhZTNmZmNlMjhlMGJjOTViZGZmZjQ5MGQyZGY2ZjZmMGI4 NWFjMWQ0ZjQ0N2JlYTkyMWYwYTBkZGEgIHhzYTIwMS0xLnBhdGNoDQogMGJhNTcwZWQ3ZGYxNzI0 NzViYzc0NWUwMmI4OTY3MDYwODI1MTYzNDg5NWU1Mjc5ZWRjZjUzNDYxOWQ2ZDgxYiAgeHNhMjAx LTIucGF0Y2gNCiAzODhkNTQ4Y2Q0ZTMwODgzYWUxMDA4NjNkMzNlNzkyODY5ZTdkYmQ4NjA1NDI5 OWE5MWI2NGRiNmQ2NTk5OTE5ICB4c2EyMDEtNC5wYXRjaA0KLWEyNjJjODVmOTE0NWY3MWRmNTEy MzM4ZWYxYTRiNzdjMDUwODZhODk0ZDU4YmEzZDkxMWVhNjk4NGJiZWFlZDUgIDAwMDEtbGlieGwt UmVjb3JkLWJhY2tlbmQtZnJvbnRlbmQtcGF0aHMtaW4tbGlieGwtRE9NSUQucGF0Y2gNCi02NzY4 MDZjNTcxM2E2MGYxMTMyNjQyOThjNDhjM2FjMzRlMzM3MGE2YmZiODYyOGQ1Yjg3MDBlZGZlMjQx NWUzICAwMDAyLWxpYnhsLVByb3ZpZGUtbGlieGxfX2JhY2tlbmRwYXRoX3BhcnNlX2RvbWlkLnBh dGNoDQotNTA1MThmODZhZWRmNzg1N2NhMzY0NGEyZjA3Mzc0NTAxN2QxMjI2Mzg4MDk5MGNiN2Yw ZDRiM2I5ZTI2NGFjNSAgMDAwMy1saWJ4bC1Eby1ub3QtdHJ1c3QtZnJvbnRlbmQtaW4tbGlieGxf X2RldmljZXNfZGVzdHJvLnBhdGNoDQotZTkyMDdhNGEzNWMxMzA2MWI1MDI5MzVhMzFhZDA5Y2Y0 Y2E4MDQ4ODA0ZjFhNjJkMWMxY2NmZGU1ZmYzNDMyYyAgMDAwNC1saWJ4bC1Eby1ub3QtdHJ1c3Qt ZnJvbnRlbmQtaW4tbGlieGxfX2RldmljZV9uZXh0aWQucGF0Y2gNCi03OGJhYTUyNjhhZjM2YmFh NTQ2ZTRjZDhlN2Y2MmQ4MzBjODYwZWUzMDUxYmJhNTI3MzI2NmNhMGY5NTYyN2FlICAwMDA1LWxp YnhsLURvLW5vdC10cnVzdC1mcm9udGVuZC1mb3ItZGlzay1lamVjdC1ldmVudC5wYXRjaA0KLWM1 OWJlNzMyYmJmNjAyZDdkM2I1ZGNiZjNhMGNhODZkNmY2MjQ1ODViYTJlMjlmOGQwZjgyYzc0Zjdi ZDMzYTMgIDAwMDYtbGlieGwtRG8tbm90LXRydXN0LWZyb250ZW5kLWZvci1kaXNrLWluLWdldGlu Zm8ucGF0Y2gNCi01YzFhYTJjYzM3MjQwY2RjNGRjZTVjNTA2N2YxOGMzNjQ2NmQ5MjcxYWI4MWM2 YTdhMzhkODY3NGI1MzRjZDg2ICAwMDA3LWxpYnhsLURvLW5vdC10cnVzdC1mcm9udGVuZC1mb3It dnRwbS1saXN0LnBhdGNoDQotMDIwMjg3YWU5OWQ5YzA0OWMxMjA4N2Q4MjhlYTJkODk4Njg2YWI4 NjAwYzBmOWY4ZjIwNDJiMjk3ZWJjOTY4ZSAgMDAwOC1saWJ4bC1Eby1ub3QtdHJ1c3QtZnJvbnRl bmQtZm9yLXZ0cG0taW4tZ2V0aW5mby5wYXRjaA0KLTQ3ODFkNjczNDAzYjNiYjBmNDMxOTZhZjFh ZWM1MmY4NzY5YmNmNzM1MmFmZDIzOWQ4NzRmMzgxYTFkMGU5Y2MgIDAwMDktbGlieGwtRG8tbm90 LXRydXN0LWZyb250ZW5kLWZvci1uaWMtaW4tbGlieGxfZGV2aWRfdC5wYXRjaA0KLWM2YTBmYjIx MDQ4ODc5NDE4ODkyNGE5MGRmNDQ1MGU0Mjc4MmY5OTY1MWI3YTAxNmUwNzJhN2RmN2QyNmQzZDYg IDAwMTAtbGlieGwtRG8tbm90LXRydXN0LWZyb250ZW5kLWZvci1uaWMtaW4tZ2V0aW5mby5wYXRj aA0KLTNmM2VlYzRmNDU5MjVhOWRlMzlmY2ZkMTRlNzcwOWIzZmM4MjQ1NDI1YjhhZTQ1MjEzYWZl ZTFlZGUyYjA5YTAgIDAwMTEtbGlieGwtRG8tbm90LXRydXN0LWZyb250ZW5kLWZvci1jaGFubmVs LWluLWxpc3QucGF0Y2gNCi0wODRiMDA1NGYyMjNhZGRlYWIzZmY5NTFhYzEzNjJiN2Q0ODM3OWRk ZjA1NTZlYWU5OTcxZjFhODc1MDdjMmQ0ICAwMDEyLWxpYnhsLURvLW5vdC10cnVzdC1mcm9udGVu ZC1mb3ItY2hhbm5lbC1pbi1nZXRpbmZvLnBhdGNoDQotMTI5ZWIzNzkyMzc0YzE5NzBjYmQ3NTE4 YWMzNmYzMTk4ODk1MGQ5ZjFkN2JkZjg0OTMyODYyZDVlYWMzMTFiMSAgMDAwMS1saWJ4bC1NYWtl LWNvcHktb2YtZXZlcnkteHMtYmFja2VuZC1pbi1saWJ4bC1pbi1fZ2VuLnBhdGNoDQotOTM4YmRh NjY4NTc4YzE1MzY5NmFmMGNlNWY0M2Y0ZGJkYjgyMmEyOTllZGI3YzhlNTMwYzEzZDJlY2IzMDhl NiAgMDAwMi1saWJ4bC1Eby1ub3QtdHJ1c3QtYmFja2VuZC1pbi1saWJ4bF9fZGV2aWNlX2V4aXN0 cy5wYXRjaA0KLWY5MjgyODBmMGE0ZGRlNmNiZTgxYzUyMzIwZWE1ZmY0ZjA0MjRlMzRjMjE3YzU1 OGE4ZWZmZThhNTQ1MjIwNDggIDAwMDMtbGlieGwtRG8tbm90LXRydXN0LWJhY2tlbmQtZm9yLXZ0 cG0taW4tZ2V0aW5mby1leGNlcC5wYXRjaA0KLWE2MDZjZjExYmE2MGY5NDQ5YTliMjk1YzRkN2Zm ZGI4YjRjZDYwZDJmZjljOTJlZTI0ZDIwNTRjZTBmMWY4YjkgIDAwMDQtbGlieGwtRG8tbm90LXRy dXN0LWJhY2tlbmQtZm9yLXZ0cG0taW4tZ2V0aW5mby11dWlkLnBhdGNoDQotMjlmYzQzMjM3ZmI1 MjVjMWU1NmZkOWU5MGM1OWE0NjFkYWQ3OWRlNTQyMjczMTI1YTZiYmIyNjI4NmI3YzcxZSAgMDAw NS1saWJ4bC1jZHJvbS1lamVjdC1hbmQtaW5zZXJ0LXdyaXRlLXRvLWxpYnhsLnBhdGNoDQotMWVk NzEzY2M5MTVlY2QwYWNlYmE0NzI1ZjI0ZWRlZWRiMTNkYjBhZDY3NzE4NDZjN2E5Yjg5N2Y5NWFm MTBkOCAgMDAwNi1saWJ4bC1Eby1ub3QtdHJ1c3QtYmFja2VuZC1mb3ItZGlzay1lamVjdC12ZGV2 LnBhdGNoDQotZWI4M2FjNDRlZGI2MTkzMmM4YjBmOTc3NTQzMjljMTRiOTUxYjVkNzFhYzMzYTM3 ZDQ4M2VmYjA1YzE5OWNhYyAgMDAwNy1saWJ4bC1Eby1ub3QtdHJ1c3QtYmFja2VuZC1mb3ItZGlz ay1maXgtZHJpdmVyLWRvbWFpLnBhdGNoDQotMjM2YzY1NTM5YTRjMmI1NTYzY2Q5NjhjZWJhZmE2 Y2Y0ZmM5YmEyZTkyYjUwMjE2ODU0OGZmMjEwYTc5MWJlMyAgMDAwOC1saWJ4bC1Eby1ub3QtdHJ1 c3QtYmFja2VuZC1mb3ItZGlzay1pbi1nZXRpbmZvLnBhdGNoDQotNDMxMTdkYWM0ZGIwMmEwYjQ4 MGE2ZmM2M2JhYWYwZjYwNjIzZWE2ZGExM2U1NjU4ZDk1ZDhhN2NhZmI0OTk1MSAgMDAwOS1saWJ4 bC1Eby1ub3QtdHJ1c3QtYmFja2VuZC1mb3ItY2Ryb20taW5zZXJ0LnBhdGNoDQotZTEwNGFkNjA1 NGZmOGQ5OTRiNDk2N2Y5ZmIzODJiOTAwZTY1YzA3MjdmNDU0OTY2MmYzMTYzYjllYWE1MzBlNyAg MDAxMC1saWJ4bC1Eby1ub3QtdHJ1c3QtYmFja2VuZC1mb3ItY2hhbm5lbC1pbi1nZXRpbmZvLnBh dGNoDQotNDIyOTM5ZDU4ODUwZDM5NTg0ZTU3ZGFmNWY3YzFkYjgzNjg3NjNjOWJmZTlhZjc2Njhh NGRhYjQwNjAyZWNhNSAgMDAxMS1saWJ4bC1SZW5hbWUtbGlieGxfX2RldmljZV8tbmljLWNoYW5u ZWwtX2Zyb21feHNfYmUtLnBhdGNoDQotMzdjN2I1YTNhMDM2NTEyMGIwNzIxOWJiNTg0ZDZiYzU5 NjdlMzBjYjk4MzAxYWM3ZDliYTkyYTk3NTAwNTVjNCAgMDAxMi1saWJ4bC1SZW5hbWUtUkVBRF9C QUNLRU5ELXRvLVJFQURfTElCWExERVYucGF0Y2gNCi04OTYxNmRlYjc5ODNhMjk4YTQ5NDNkN2I0 OTY1ODYyNWQwOGE0MWJmZTYxODhjM2NiNzcxZTQ4NGI1NjQ2NjdiICAwMDEzLWxpYnhsLUhhdmUt UkVBRF9MSUJYTERFVi11c2UtbGlieGxfcGF0aC1yYXRoZXItdGhhbi0ucGF0Y2gNCi04YzdhMmE0 NzE0MDEzZjg4NjhkMTM1N2Q0OThiNjNlN2RmYTlmZTU5YzRmOGFkYWFhMzM4OGU5YzkzNDFlZDky ICAwMDE0LWxpYnhsLURvLW5vdC10cnVzdC1iYWNrZW5kLWluLW5pYy1nZXRpbmZvLnBhdGNoDQot ZTgxMmFkZmZjMzk2MDk3NDc3NWE0Y2Y0NGUyNGI0N2EyOTcwMzZkODhiNjA2ZTJiMGFmMWU0MDI0 NzcwNjJlOSAgMDAxNS1saWJ4bC1Eby1ub3QtdHJ1c3QtYmFja2VuZC1mb3ItbmljLWluLWRldmlk X3RvX2RldmljLnBhdGNoDQotNjNmNjg1MmNiNzgwNTFiMjQ3NWE3ZGZlMmUwZjdhNzdjMmViNWY1 OWY1ZTlkMmIzNjY1OGZmODliNGJkM2UyYSAgMDAxNi1saWJ4bC1Eby1ub3QtdHJ1c3QtYmFja2Vu ZC1mb3ItbmljLWluLWxpc3QucGF0Y2gNCi1iNDgwYjc4NzNlZWE0OGFlNGMzMTY4NDA1MTliMWE0 YTk4NmU4MWQ0YjMyMTEyYmQ3MjA1NWZhZTQ2OGM4YWIyICAwMDE3LWxpYnhsLURvLW5vdC10cnVz dC1iYWNrZW5kLWluLWNoYW5uZWwtbGlzdC5wYXRjaA0KLWQ0ZTM3YTNmM2Y0ZWNmOGYwMzcxNmFk ZTM3ZjZiMjg1ZWM2MGYxNmQ3NzI1NDkxY2E1YTA2ZjFmM2Y5OGVjODggIDAwMTgtbGlieGwtQ2xl YW51cC1IYXZlLWxpYnhsX19hbGxvY192ZGV2LXVzZS1saWJ4bC5wYXRjaA0KLTM2ODUyNjg3NWY5 MjhmNDg3N2U0MDQ3ZTg2ZGE3MjZhN2FkOGU3MGQyYzU2ZmQxMGI1ZDEyZDQ1NzQzZTBmOGYgIDAw MTktbGlieGwtQ2xlYW51cC11c2UtbGlieGxfX2JhY2tlbmRwYXRoX3BhcnNlX2RvbWlkLWluLS5w YXRjaA0KLTMwMGE0ZWEzZGJmNTdhYzUyM2Q3OTAzYWRjZDQ1NDVkMmE5NzIyMTVkOTQ4NzU5ZGM1 YWM4NzJhYzQ3Y2VlYTkgIDAwMjAtbGlieGwtRG9jdW1lbnQtc2VyaWFsLWNvcnJlY3RseS5wYXRj aA0KK2UwMDcxODc2MzlmNTM5MmE5MjU2OTc5NTA0ZDUwZWZmMGFlMzgzMDlhNjE1MjRlYTQyYzQx NTBmYWIzOGI2ZjQgIHhzYTIwMi00LjYucGF0Y2gNCitlNTIzYjY1YmExMjJjOGUyMmQzMjAwNGQy MDM1ZmFjYWYwNjI5NTA5NGZkYzhiNjdjMTUxYjZmNDQ3OTllZjBiICB4c2EyMDQtNC41LnBhdGNo DQogMzk0MWY5OWI0OWM3ZThkYWZjOWZhZThhYWQyMTM2YTE0YzZkODQ1MzNjZDU0MmNjNWYxMDQw YTQxZWY3YzZmZSAgcWVtdS1jb3JvdXRpbmUtZ3RocmVhZC5wYXRjaA0KIGZlNzZjN2M4ZmFmNjg2 MDYwYjIwNDkxYmZlZDRhMTNjZTM3YjFiYzNkY2RiZjMzZDI0MmUzODhjZWUxNGM3YzEgIHFlbXUt eGVuLW11c2wtb3BlbnB0eS5wYXRjaA0KIGU0ZTVlODM4ZTI1OWEzMTE2OTc4YWFiYmNlYmMxODY1 YTg5NTE3OWE3ZmNiZjRiYWQxOTVjODNlOWI0YzBmOTggIHFlbXUteGVuX3BhdGhzLnBhdGNoDQog ZGQxZTc4NGJjNDU1ZWI2MmNiODViM2ZhMjRiZmMzNGY1NzVjZWFhYjk1OTdlZjZhMmYxZWU3ZmY3 YjNjYWUwYSAgaG90cGx1Zy12aWYtdnRyaWxsLnBhdGNoDQogNzUxZWYwNjU2OWRlNjY1NzhiODcx M2RjMTcwOTc2ODMyYjA2NzFhYzI2OTZmMzJlYjlhZDY5ZDYwMzMyZDU5NCAgMDAwMS1pcHhlLWRv bnQtY2xvYmJlci1lYnAucGF0Y2gNCi1lMjVkMzgzNzZlMjJmNmY5MzVkMmMwY2UxYjlkNmU2YjQ3 ZmYyNjFiNWU2MDU2YmMzYjQ3MTY4NzM5ZDdhOTkyICBnbnV0bHMtMy40LjAucGF0Y2gNCiAwMjA0 ZDY5ODA0ZTgzODY0Y2Q2YjIxMjJmNTFiOWMxOTQwNTg4MTU4YTM1YzE1OWE3ZWYwYzNiOGZiMGFm NGNiICBpbml0LXhlbnN0b3JlLWRvbWFpbi5wYXRjaA0KIDJmZWE0Y2VlYzg4NzJmNTU2MDAyM2Zh MTM1ZTNmZjAzZDZkZWVlNDI5OWU1M2QzYTMzZWM1OWMzMTc3OWIyYzUgIG11c2wtc3VwcG9ydC5w YXRjaA0KIDQ3OWI5NjA1ZTg1Yzg2NWJlNjExN2I2ZDE5OTMxMjRkYmJiN2RhN2Y5NWQwZTg5NmU0 YzBmZTVjZGZlYjc0ZDMgIG11c2wtaHZtbG9hZGVyLWZpeC1zdGRpbnQucGF0Y2gNCkBAIC00MzAs MjEgKzI5NCw3IEBAIGQxMzcxOTA5M2EyYzM4MjQ1MjVmMzZhYzkxYWMzYzliZDExNTRlNWJhMDk3 NGU1NDQxZTRhMmFiNWU4ODM1MjEgIHhlbmNvbnNvbGVkLmluDQogMGRhODdhNGI5MDk0ZjkzNGUz ZGU5MzdlOGVmOGQzYWZjNzUyZTc2NzkzYWEzZDczMDE4MmQwMjQxZTExOGIxOSAgeGVuLWNvbnNv bGVzLmxvZ3JvdGF0ZQ0KIDRjZmNkZGNhZGU1ZDA1NTQyMmFiNDU0M2U4Y2FhNmU1YzVlZWU3NjI1 YzQxODgwYTkwMDBiN2E4N2M3YzQyNGUgIHhlbnFlbXUuY29uZmQNCiBjOTJiYmIxMTY2ZWRkNjEx NDFmZGY2NzgxMTY5NzQyMDljNDQyMmRhZjM3M2NkZDViYzQzOGFhNGFkYjI1YjhkICB4ZW5xZW11 LmluaXRkIg0KLXNoYTUxMnN1bXM9IjA4NmI5Yjc1ZTk3ZDgzNjQ5OGZkNGYzNGI2NDVjOWIyZjk0 MWRiNDRlZmU4YzdkMjNlNTNhYTY0NTVkNDBlMTY3Mjk2MmFhYTdiYWMwZGIxZGI4MjI1NWRiYTQ5 MGM0ZmU5OTZmMzU2YzE4NGU3MWVhN2ZhNWI0ODNkOWU5YzBmICB4ZW4tNC41LjMudGFyLmd6DQot NWJjOTlkNWI0ZThlNTc4NTJjODg0MDFjNDljYzk3ZjgyNzA2NzYzZjg4NjgyZWQ4ZmFhZDYzNDRm YjBlMTc3ODJlZDdiYTA2M2ZkNDYzYzNkYTQ2ZTI4OTk0YWYxMWU1NzVjZTZlMDJhYTk1N2ZmMDQy ZTNjODYyNjlkMTVhY2MgIHhzYTE2OS5wYXRjaA0KLTg2MzZmNzRiMjcwYjBjY2Y1NmVhNmJhYjRj OTBkMGVlOTA5ZTVkMjg5MTk4N2I0NTcyZGY0YTA5MDZlMjIzMGUwNDZhYWQwYzk5YWRkNmMxZDcw ZjcwMjNjYzZkOTliY2ZkMjk0N2M5NTNmNjAwMDc0YTZlZDdjMTc2YTVkM2RjICB4c2ExNzIucGF0 Y2gNCi0xNGIwMTdmMmUxYjM5YWRiYjU1YmEzNWVhZmUxMzkxNzI2MDlkYWRhMjNlMTY5OTkyNzJk OGM3MTJlMTQwNDU3NTI5MzM0MDA3MjFiYzZlYjZjYjgwYTM0MjdmM2Q0NGQ4MjllNDkyNTkwZTJj ZDViN2ZlOWJjZmFhMzU2YjllNyAgeHNhMTczLTQuNS5wYXRjaA0KLTBmODZlNGU0ZWU5NGMyMjE2 NjE3NGQwMTg5NTRmNjBkOTcwMGVhNGQ4ODBmNGNhNDFiNmFlMWIyNDJhNGUxNjQ5ZGEzMDU4NTFl ZjRkOWIzYWE5MWQ1MTI0MTFhM2E0MjNmMWFhZGNlYjIwNzE0ZDE2MGQ0ZDk3ZDE0NWRjMzEyICB4 c2ExNzYucGF0Y2gNCi00NTA1ZDBiODc0MDYwOWRiNmE2MDEzZjcyYmRhNzY5M2VmNTdmNGZlYmJk MGU4YTIwYTg2YTdiZjcxNzIzNDQ5NTgyNGU4OTVlMzliZjdkYzcxMGE2YWU3ODMyMDcyM2IxMGUx YzM1NzAwMThiMWU3ZmJlMjY5NTlmMjUyZWIwNSAgeHNhMTgxLnBhdGNoDQotOWUyY2JhNDFlZjdk ZjhkNzRlNzRiMDMwMzQwZjVjOWE1OGZkOTVkNTVlNTg1M2MzNWFhYjAxMWJjYmM3ZDIwNzQ3OWI5 YzM3NGUzOTEyZDhhYzBmNGU4ZWIwMWZhNGY5YTFlMjgxY2ExM2JiOTQ3MmRjNjZmMGUxMTBiYTZk NmEgIHhzYTE4Mi00LjUucGF0Y2gNCi1mMzQ5NTk3NmFiMjE5Y2ZkMzc2YmFlM2FkNDA5YjQ1MjE2 OWRmMTFlYmNkMzZiMTA2MjEyZGIxYjFmYzhkYjhjNTBlNzIxYTVkMWUyM2VmYmMyNTE0Njk0NmY5 MjI1NTYwMTRlZGE2NTI1MTdlZTk1ZWZiZmIzYjQ4MjMyN2U5OSAgeHNhMTgzLTQuNi5wYXRjaA0K LTE0YzA3ZDA3N2E5ZDYwYTAzODU5Y2ExYjkyMzQ3NTE3YzkzZmFmODhkYjA2ZjhjYjA1MTVlNDg2 YTM5MTlhZmE4NDAxMjAzMTYxZmY2NzFkZGE4ZmJkYjY0ZTZjYTVlODYxMjBmMWI4ZjY1ZTZiZmFh NjNhOGM2YTMzMjExYmFkICB4c2ExODQtcWVtdXQtbWFzdGVyLnBhdGNoDQotODYyZTAwZDljZDEy NmY4MzIzZjljOTcwNmJmNmNlNzg5NmQ5N2U2OGU2NDc0MTZjNjk5ZDlmMmUwMWI4ODA4M2E1ZmVh MzQ2YjEzNDAzNTc3MzExMzg0OTQ2OTEyMTIzZjY0YmY1YTU2OGYxYTZmOTIwNzdkMjg5MjNkZjU0 YzYgIHhzYTE4NC1xZW11dS1tYXN0ZXIucGF0Y2gNCi02Yjc3NGNmZWYwNDlkNDU3ZDg5MTQ5YTk3 M2I1YTVhZjY3NGI5OTU3MjZjODhjZTA5Mjc4ZjRhNjRjYjk0ZjViM2MyYzIzODBhNjI3MzQ3NWEx M2ViOWNkZDk3MmY1NDI5ZjM5MzI0N2VjY2E2NDYzZjYwNjhkNjA2ZWE3NDg4NiAgeHNhMTg1LnBh dGNoDQotYmY4OTlkZGUyMGNlZTczMDU5OGI5MGUwYTA3OTQxMTU1YjIwZTBlYTE3YjlhMzAxN2E1 M2JkMGUxNDk1ZmI2ZTVkYzI1MTkzNGUwMWQwMjkzN2I1NmFkNjVmYWYzYWNjZWNmNjk1YjRmZDdm NmRjYzBiYWU5MTI5MGJkODdiMTkgIHhzYTE4Ni0wMDAxLXg4Ni1lbXVsYXRlLUNvcnJlY3QtYm91 bmRhcnktaW50ZXJhY3Rpb25zLW9mLWVtdWxhdGUucGF0Y2gNCi02NTgzYzg0Mzg1NWQzMDBiM2Q0 MDMyMWQ5MDliNjRhYjBkZjZiMDNkYTYyYjM0MDBjYjdlNThhOTI0OTA3NzExMmU1OTUxZTE0NDQ5 ODgwY2ZjOGQ1OTNkYWJkOWFmY2ZmYzE1ZmY3NzU1NWY3NDViNDc4ZjdhZjkzOWIzMjE5ZSAgeHNh MTg2LTQuNi0wMDAyLWh2bS1mZXAtQWxsb3ctdGVzdGluZy1vZi1pbnN0cnVjdGlvbnMtY3Jvc3Np bmctdGhlLnBhdGNoDQotZDg1YmMzYzU2ODA1ZmY1YjNkZjZiODViMmIzNGZmOTdkMTVmZTI1NGZj NWE4NzNiNWM0M2MyYzE1NTY0ZWVhNDI3NTM3MjNhNjI5NjI5MmE1NDNlN2I3ZGM4M2FkNzFmMGZh ZmUwMWZhNmE2ZWJmODJmYTBhNzI2OGZjNjc0ODYgIHhzYTE4Ny00LjctMDAwMS14ODYtc2hhZG93 LUF2b2lkLW92ZXJmbG93aW5nLXNoX2N0eHQtc2VnLnBhdGNoDQotNjNmMzBkNGE2ODQyZmM1MTZk MzMzMzRiMjU4MDZlMTBhODkyMjhmZWMzMjMxNWRmMjdjOWMyNzEzMDNkMDI2MTliZTRhODhlNjM4 ZTQxOTIwYWQ4MDgyMTUyODBjM2ZjZTY5NzU3NGQwNWM1ZmIzZjE4NDg0NDA2OTM4M2EyMDEgIHhz YTE4Ny00LjYtMDAwMi14ODYtc2VnbWVudC1Cb3VuZHMtY2hlY2stYWNjZXNzZXMtdG8tZW11bGF0 aW9uLWN0eC5wYXRjaA0KK3NoYTUxMnN1bXM9IjdlOGQ3ZTAyNDhkYWE5MTM4OWRiMDI1MGM1ZjIx NGRjMWFiNDZjMDU4ZDU1NmE0MzI2YzgwMTkzM2VhZDA1Y2M0NTBjYjk1MTAxMDg1ODY0MThkZTAy OWI4MWE4MGZkOWYyNzJlYzE3NDlkMjg4YTgyNTBlNjk1OTlhYTJkNzY5ICB4ZW4tNC41LjUudGFy Lmd6DQogMjNjYTViNWM4NjE4NmIzNjgzYmUzOGI2NWVkMzBkMGRkZjE1ZDlhZTI5ZTQ2MmFlOWIy NjA2ZDc4ZDg0Y2VhZmEzOTEzYTI2NDhkMDQzMDg3MmFlZjFlNjIwOWM0NDNiODFkOGJkNGFlNGMw MWI5MDIxYzc1ZGIxZWQwNWJhNWEgIHhzYTE5MC00LjUtQ1ZFLTIwMTYtNzc3Ny5wYXRjaA0KIDUw MmY1MGJlY2UwNWQ1MmIxMjdjNDk3ZWRhMDIzNmE5MDExZTU2ODg1ZmIwYjVmYWM3NGFiNDQ5YzJl YWM5NGQwZjJjZjY0ZGExNjgwOGMyNWY4YTMwOTFhZWYwYTk1ODZhZDVjMTlmNmI5OGE4YzQ1OTkw ODE0OWQ2MjliMzIxICB4c2ExOTEtNC42LUNWRS0yMDE2LTkzODYucGF0Y2gNCiBkMTU4Y2Q0OTNj Y2M1MTY4MTQyMDFjYjE0N2FkOTk2ODgyMjM0Mzc5MzhlNjU1YzVjOGQ3NWMyYjczZTE0YzMxOWRj OTRlNjA3N2E5ZWM2NTIxZjJjYTVlNmFmNWQxMThmOTIzZjMzMzcwMmE4MzI2NmMwYmE0NGNjMThl ZmE5ZSAgeHNhMTkyLTQuNS1DVkUtMjAxNi05MzgyLnBhdGNoDQpAQCAtNDU5LDQ0ICszMDksMTMg QEAgYjYxNDI5ZmJmNGQxNjc3YThkYWIyNzEwYWIyMTMzNWYxOGIzZjk5OGYyZTVlMTllNDVhNDcy N2Y3MWI5NjcxYjNkMWJkNzA5YmVmMzU5NGMNCiA2NzAwNmMxYWM1ZDBiMDFlYjY1YjVhOWI2NTgz ZWYzMWMwZGYwY2RiNjMzMWFmOTgzZDk3MmQ5YjBjNGJjMjE0MTY0ODRkODg0NDVlZGI4ZWU4NDcw YmVjZGMxMWJjODhmYWQ0YTYxN2FhYzQwYWUyNjYxMGViMmJlZTQwYmQwMSAgeHNhMjAxLTEucGF0 Y2gNCiBhZmVkMWVkM2M1YjRkZDNhMWQyYzFjMGZlODI0Y2RlYjU4ZWZkYzQwZmRhZjVjZTQzOWRl YjJmZWVmNjMxNDExNjgxMTRlYTM2MmZjNWM2ODNlYjA0OTRiYjZiZDNjNzY3NzNiMDk5NDk1YWYy MTU1MGFlM2ExZTVjYjRlOTI0ZCAgeHNhMjAxLTIucGF0Y2gNCiAxNzYxY2E0MjJmZTllM2NhZWUz NDQyYjQzYjg0ZGE0OTcyMWEwMWVkODQxN2Y2NTNjNTY4Njk1YjA4NzE4YzQwYmUxNDkzY2M3YTBh NjE0NWM3Y2UxOTVjN2ZiMGM3NTNiMTkwZmUyZjE3ODJkNTI0MmUxZTMwNGMxODAwNTYxMCAgeHNh MjAxLTQucGF0Y2gNCi0zODY4Yjk5ZmM5MDQ4ZDhlZWY1OGU5NDliYzVjYWFjZTZiOTY0MzQ1ZmZm OTIzMjJhMTkxYjQ5ZmMzOTkxMzczZDc4NWI5Mjg3ZTIzZDRmYzE1NzJhMDJiYTI3OGRlNWViYTI5 OWNhZWViNmU2ZTQ2ZWNiODdjMmMzMDljOTQzZSAgMDAwMS1saWJ4bC1SZWNvcmQtYmFja2VuZC1m cm9udGVuZC1wYXRocy1pbi1saWJ4bC1ET01JRC5wYXRjaA0KLTYwYjkyODk4OTFiM2Q2OTc5OGRh NWM1NWFiZTA2YzRmZGEyYWRhMTY1NzE3ODA0MmE2ZjU2MGZkZGQ5ZDM0OTVjNzcyNTUxNmRkOTRk OGEyMmM1Mzk5MGY2M2RlODczZmE4ZDAzNjNhNTc4MDRiMzUxZjg0ZTM2ZGUzYmI0NDUyICAwMDAy LWxpYnhsLVByb3ZpZGUtbGlieGxfX2JhY2tlbmRwYXRoX3BhcnNlX2RvbWlkLnBhdGNoDQotZjEz YjQ1M2RlMzhlZjNlNDg0N2U4MTliODJlZWNlYzBlNDQ2MWY4MjRjYjZiMTViNzUyYTM2NGVlNGVj NGM0ZDhjNWU5MTkzOTY0OTc2ZDFkOTM3ZTQyMjkzOGQxM2M4MjcxZmNkMTEzYWJkMWIzZTRhODg3 NTExNGY0MDc1YzIgIDAwMDMtbGlieGwtRG8tbm90LXRydXN0LWZyb250ZW5kLWluLWxpYnhsX19k ZXZpY2VzX2Rlc3Ryby5wYXRjaA0KLTMxZDIzNzBiNDQ3OWJkMDY1MTBiMDRiZDVhNWQzZTZkNTg2 ODg5NjBkMzdiZWExNmEyYjViN2FlN2NkNDI3YmYzMjJhNjM4NjRlZWY1MjUxYjM1OGJmZTNlYzk1 NTBiMmIwYmZmNTY4MTk0Yzg1ZTJlN2FiNDQ3NzFlZGI1YjRiICAwMDA0LWxpYnhsLURvLW5vdC10 cnVzdC1mcm9udGVuZC1pbi1saWJ4bF9fZGV2aWNlX25leHRpZC5wYXRjaA0KLTAxMWU4NTlhNmJl NDI4ZjlkYTY1NDU2MDdmMGYwYWI5NDg3YzYxMDUxNjIzYzZkNDVkODlkNjQ2MzFkYzUwMzA1ZWQw YTA3MTc3ODVjY2M1ZjY3MWVlMWMyNDI4MmExZjU5ODcwNGI0YjZmZDQyMjdiZjBlZWNhZmIwZTg4 ZTY3ICAwMDA1LWxpYnhsLURvLW5vdC10cnVzdC1mcm9udGVuZC1mb3ItZGlzay1lamVjdC1ldmVu dC5wYXRjaA0KLTdjZTAxMWI0NzRhMmQyOWYzZWZlODgzNzMzMjgwYWM3OWVhYWQ5NTljZWI2MDZh NzI5MjRiZjM4MjRjNzliMDQ5YTY3NzNkMWMzMDBhZjM4YzI0ZDJkM2ZiYmJlYWI3MzI1Mjk5NzQ5 N2EyOWZhMGNmMzJlMTM5NGQ2MzA5ZTkyICAwMDA2LWxpYnhsLURvLW5vdC10cnVzdC1mcm9udGVu ZC1mb3ItZGlzay1pbi1nZXRpbmZvLnBhdGNoDQotZDAxZDUwODBkMTEwMzI3MDc3ZDIzN2QwZTlk MmMzOTc3OTE1ZjAwYmZkZDg1YjMzOWEwNGVmMDk1Yjk2NTFhNTE5OTE4MDdhYWU3NDU2N2IwZDJi Yjg3NDAyMGU5YWM0ZjQ0NTQ4ZDlmOGE2MWVmZmI3MTg4NzkzYThjMTdmNzMgIDAwMDctbGlieGwt RG8tbm90LXRydXN0LWZyb250ZW5kLWZvci12dHBtLWxpc3QucGF0Y2gNCi1iMzBjMDA4NmQ1MDU2 Njc4MjM3ZDM0YmNmMGE0YWViMGYyMjIyMWQzYzZjNjkyNzY1ZmExYWI3NzVhOGFkNDkyMjdhNDdk MDU5NDMzMTk3OGYyYzdlNjg1MWE4MTRkMDM0OGNhNDA4ZTgyYjA0NmM5YjI1MjE4OTU0YzA5MjUx NiAgMDAwOC1saWJ4bC1Eby1ub3QtdHJ1c3QtZnJvbnRlbmQtZm9yLXZ0cG0taW4tZ2V0aW5mby5w YXRjaA0KLTljZjIxN2QyZDYwNjNjOTg1MzkzZGY5ZTMzMDE5MGYzY2FiYWQ5ZTNkNzBkYWQxOGQ1 YjE2OTE0NWZhZTU5YzFhNDAxZjA0MDQwYTA0ZWY3YjE3YjliMjFhNDA2MjMwYzZiMDQ4ZDA1Yjll YmQ2NTE4ZWRlYjRlNjllOTFiNmI0ICAwMDA5LWxpYnhsLURvLW5vdC10cnVzdC1mcm9udGVuZC1m b3ItbmljLWluLWxpYnhsX2RldmlkX3QucGF0Y2gNCi1kNjAwMzQ0OGU0NTZjZDQyZjBhMjhmODg3 YTI4NTliMzk5MDU4Y2RkNzZmMjg2ZDdmOTYxN2NkNDYyOTc2ZDBhODc4MWRiYTkxMzJmNWRiMDAz ODdjNmZkNjA4NjdhNmM4YjA5MGIwZDEwZWNjYmY3NDQ2MmQ1ZGM2M2RjNTI5NCAgMDAxMC1saWJ4 bC1Eby1ub3QtdHJ1c3QtZnJvbnRlbmQtZm9yLW5pYy1pbi1nZXRpbmZvLnBhdGNoDQotM2ZmY2Yw MGY0YmE3Njg0MWIxYWY0MTQ1OTgzMTYwMDE2ZDMyOWYxNDBkMjM2M2NjYWRmY2Q3ZjNkZTJmZjc1 MmE2YmJkNjVkMGI0ZjBiZjA2YTA2NTE4ZTA2NmJhNDkyNDNiMWQxMmRkYTJmOGU1NTdlYjhjODJj OGMxYTEyYjEgIDAwMTEtbGlieGwtRG8tbm90LXRydXN0LWZyb250ZW5kLWZvci1jaGFubmVsLWlu LWxpc3QucGF0Y2gNCi1mMGQzODNjNjIzY2FmYWU3ZjRhYWQ5YmYwNDQ0YWEyYmNmNGJhZWI3M2Uy YzJjODE1MTM2YjE5ZWQyOGNkYmI4ZDZiN2RiMTA3NDk0OWQzMjJkNGUzYjNkNWZmMTI3NzBiYWM5 NDJmNTk0NzQzNDA1MTExODI5ZjkxMzY4YzNlYiAgMDAxMi1saWJ4bC1Eby1ub3QtdHJ1c3QtZnJv bnRlbmQtZm9yLWNoYW5uZWwtaW4tZ2V0aW5mby5wYXRjaA0KLWE0ZjRkNDgzMmExMWJkYmZjZWVh YzQ3ZjA1N2FjMWFiNTg3YTc3MjEwN2ZjYTFiM2I1NGQ0NDJhNGVhNDJjMTBkOWIwMzFhYTg3Njcw NWJiN2QwMzk5ZjUzMmY2NzRiNTA0NDU5NmZjODJkZmViYTcwOWU3MzgyNWZmYjRiZTdjICAwMDAx LWxpYnhsLU1ha2UtY29weS1vZi1ldmVyeS14cy1iYWNrZW5kLWluLWxpYnhsLWluLV9nZW4ucGF0 Y2gNCi01NmZiZDMxMTcxODY4YzE2ZDBjNGI5MjE4YmRjOTEwMzRlOGMxMmMxOGY3MDI4MjIyZDk5 ZmNhYmEwYThjOWNiZjIxNWUzZmQ2MzhkYjhlYWZiMDhhNjk2N2Y3MjM2YjhmZDNhMGQwOWMyNmYy M2U0MTY0M2UyNzUyMGI4ODQ4YyAgMDAwMi1saWJ4bC1Eby1ub3QtdHJ1c3QtYmFja2VuZC1pbi1s aWJ4bF9fZGV2aWNlX2V4aXN0cy5wYXRjaA0KLTcyNThhOTE5OTc0NDI0MmE1YzJkNGViZDI3OWMx MzBjM2ZlNThkZDMwNTEyYmExZGFlNDNlOGZhYmQ2ZWVmNDA3Mjg1ZjJhOTFlOWZmYzEzNmJlNjdl NTg0MjQ5ZjgzNjE5NmZiM2JkYzNmMTA3MTMyNGYzZWIwNmY1YWRjZmU1ICAwMDAzLWxpYnhsLURv LW5vdC10cnVzdC1iYWNrZW5kLWZvci12dHBtLWluLWdldGluZm8tZXhjZXAucGF0Y2gNCi02Mzgz YzM0YTYzOWQzODllOWIwNGM3MzZmYTU3Mzg2YTNmZjMxNjU0YWQ4YzI4OGEzMjdkNjk4MmM5ZmYy ZGM4MDI1NjhkZWIzZDA5MzZkYjBlODA2ODYzYzMwMGQyYzM2MWFiODViM2YwMWJjYzM4ZmMxZThl ZDYzMGZjN2JlOSAgMDAwNC1saWJ4bC1Eby1ub3QtdHJ1c3QtYmFja2VuZC1mb3ItdnRwbS1pbi1n ZXRpbmZvLXV1aWQucGF0Y2gNCi05NzEzNjgzMjkyODVkMTE4OTNlYzQ3MDM1NDU0OTMxODA1MWYy OWYyM2JhMTBlYWY5NzM0MGI5NWFjZGFjMmY3ZTA3ODc5ZmQxMTllNmE1YzM3NDZmYmRhYjlkODBm MjIzNWUxNjZmNDI0MGMwZDFlYTI3YjAwOTk4YjQzYWZkMyAgMDAwNS1saWJ4bC1jZHJvbS1lamVj dC1hbmQtaW5zZXJ0LXdyaXRlLXRvLWxpYnhsLnBhdGNoDQotNGI4MDFlNzI1ZThmNmIzMmM4YTc4 ZmU4MjQ5YTBlNTcyOTdjZjEyNjg3NjE0ZmQ2MWI5NjRiNWQwMTdjNGExYTJmYmFlMGUyNzRkODll ZDhlZjBkODE3YWU3YTI5YWZmMDczODBlMDA3Y2Y0NDUxYjI5NzAxMTQ1OWNhZWIzZmYgIDAwMDYt bGlieGwtRG8tbm90LXRydXN0LWJhY2tlbmQtZm9yLWRpc2stZWplY3QtdmRldi5wYXRjaA0KLWVl MTU3ZGRmMDg4ZGQxMmJlOTU3YWE5ZGY2YjcwZGY2NzQzNjMxYzM2NjkwMDliZTgyYTMzNWNhZGNm NWQ4ZDdhZTRiNjMzMmUwNTg4MTE2MGQ1ODkxZjZlODkyOTRkODUzZDE5OWI0YjM2MjQzZjBjMzE1 ZDk1MDAzYzRkMGZjICAwMDA3LWxpYnhsLURvLW5vdC10cnVzdC1iYWNrZW5kLWZvci1kaXNrLWZp eC1kcml2ZXItZG9tYWkucGF0Y2gNCi01ODc4Y2E0M2YxNGY1Yzg1NjJjNDBmYjIxN2E4N2Q5NmMy YjY1MTIwYjczOTY4ZDVhYzZmZTgyNzM0OTBmMDBjNGRjMjkyNWNmNWI2MGE5YjhjY2MyNDVhNjQ2 MWFkMjY3MWM3NmU2MzE3YTk5YmE3M2QzZmEzZTVhNThmZDhiNyAgMDAwOC1saWJ4bC1Eby1ub3Qt dHJ1c3QtYmFja2VuZC1mb3ItZGlzay1pbi1nZXRpbmZvLnBhdGNoDQotYzQ1YjhhNWJhZWZhOTI4 MTM1ODQxZDBkOGZhNTNjYjYzNmQ3NDM1MWQxNTFjYzAwNGJmMzA2OTk2ZWM2YjVlOGI1Y2I0MzMw ODM5NDFkZDQ2YzY3YjM1MDE2YjBkYjhhY2YzNTU0YTExYTYwMjczYzliYmQ1MzlhOTYxMDNkZGQg IDAwMDktbGlieGwtRG8tbm90LXRydXN0LWJhY2tlbmQtZm9yLWNkcm9tLWluc2VydC5wYXRjaA0K LTYxMDE0ODZmMjBlODE2N2IzNDI0Y2IwYWU0MTBkZGVkNzI2NmQ5ZTZmNzcwNTllZTYxZDk3MDRk NDkyMjcyZjdlMmY4NDA3YTY2ZjcxY2UwNGI2YTM2MjM5ZWEyMDBjOTM3M2M5MTA0NmEwNmJhODY5 YmQ0MzllNTRhNzQwZDUxICAwMDEwLWxpYnhsLURvLW5vdC10cnVzdC1iYWNrZW5kLWZvci1jaGFu bmVsLWluLWdldGluZm8ucGF0Y2gNCi1jYjg2MjU3NDVhMTE5MDdiMjE5M2UwM2M4OTBmZGI4MDlh YmM5MjQ1YjJlZjczNTFkOWY4ZGEzZjk4YTU1MDNmOTQ3ODY1MjJmODkxYTM1M2VhN2U4YmM1Y2Q4 N2M2ZDgyMmE0ZTMyNDNhYjEwYjQxMWMyOWRiYzFjNjFlNjU2YiAgMDAxMS1saWJ4bC1SZW5hbWUt bGlieGxfX2RldmljZV8tbmljLWNoYW5uZWwtX2Zyb21feHNfYmUtLnBhdGNoDQotYmZlZDI2YjRi ZjcyMzIxZjg4MDdjMzhkZmRiOTBkNDYzMTdkMWM0NmY5MWU3MmZmN2ZjNDg0MzkzM2E5YWY4YmJl ZGYxYjdhY2I1MWQ1ZDYzZDJmYWYzMDRiNmVlNWRiODFmYTczMzM5ZGUwYmMwMmQ4ZjljNmZlMjc1 MDI1YzYgIDAwMTItbGlieGwtUmVuYW1lLVJFQURfQkFDS0VORC10by1SRUFEX0xJQlhMREVWLnBh dGNoDQotYTdhNDg3N2U3Njk0Y2ZlZGU0Yzk5OWI4ODdlNmFjYzc0ODYzZWQ3ZDAzNTZjYjExZGVl MTRiNDIyZjIxN2IzZDNlYWU3NDI5NDMwZDkxMWZiNDVhNDM3ZWViNjc1M2MwYWI2N2FhNWE1ZjA3 YTI4NmYzN2U3N2UzODkyZWQzMTQgIDAwMTMtbGlieGwtSGF2ZS1SRUFEX0xJQlhMREVWLXVzZS1s aWJ4bF9wYXRoLXJhdGhlci10aGFuLS5wYXRjaA0KLTU2ZDRmNjQ4YmQ2OTIzZDUxYTdmYzRkNGEx M2YyM2Y4NDBhOTg4NTA1NDQxM2Y1ZDU2YjViMDg1OTkzYjU2NzU0OGQyZTg4YmYxZTE5YjA3MTI2 MWUwNTBmZjE5MjQzMjI4ZDY3ZTFiZWM3OTdlNmY1ZmUwNWM1YWRkMmFjNGVlICAwMDE0LWxpYnhs LURvLW5vdC10cnVzdC1iYWNrZW5kLWluLW5pYy1nZXRpbmZvLnBhdGNoDQotYjI3ODQ1NzI5YzFj MjQwOTkyMmQ5NzM5OGQ1ZGE2MTg2ZTM3ODYwYmU2MjdiMTdiZjQ2YTlkZjlkZWZiZWZiOWM5ZjUy MzNiMTFmMWY5YjEzZDZlMjUxYTlkYTBjOWMyM2RkYjg3NWZmZWY4YjE4YThhNDYxY2VjMDVmNmMw MGEgIDAwMTUtbGlieGwtRG8tbm90LXRydXN0LWJhY2tlbmQtZm9yLW5pYy1pbi1kZXZpZF90b19k ZXZpYy5wYXRjaA0KLWNlYjgwMjViNTZkYzkzZDk5Y2I2ZDAwMTdjZTEzNDljMWYyYmFiNzIzYWVk MGZjNzEzNzhhOGJlY2MxZTExYWY5ZWFiMmY2MzE5MGQ3ZGU4YjNjZDQ0MDUzMTdkY2FiNjc2NzVm ZmNmYjQwMTM4NzlhMGU0ZDU3NWQ3MTE3YTVjICAwMDE2LWxpYnhsLURvLW5vdC10cnVzdC1iYWNr ZW5kLWZvci1uaWMtaW4tbGlzdC5wYXRjaA0KLTA4NzQxMTRiODI2ZDQwZDk5NGM5ZmIxN2IxN2Rl YmJmNWE0NjFkZGQ5Y2RhZDg0YThiOGY0Y2VkNGFiOTQ2ZTg1OTJmMDU5YjM2YTQ3MTJhZmYxMzg4 OWMzNDRlMjVkN2RjNDlkYzE2OTk4NzM0OWFhNTcyN2E0NWUwYjgxYjc4ICAwMDE3LWxpYnhsLURv LW5vdC10cnVzdC1iYWNrZW5kLWluLWNoYW5uZWwtbGlzdC5wYXRjaA0KLTBmNjIzYzYwNTVkOGEw YzdmZDNkYTJmMjUyNDE4YzJkODZhODQ3YzcwNDk2ZWI5Mzc1ODhkN2RkNDc5MDMyMzk0YmExZjNm NzdiOTJlOTAyNjEwMWJlMTJiZGZjZDc4NjI1NzNlNWI2MTk4NTZjN2Y5MTdmMjNiOGVmZGUyNGYx ICAwMDE4LWxpYnhsLUNsZWFudXAtSGF2ZS1saWJ4bF9fYWxsb2NfdmRldi11c2UtbGlieGwucGF0 Y2gNCi0xYmYwMjRlZDE4ZjI3YWUxM2M3MDcxZWQzYjU5ZjAzMzRkNTE4NDNmNmVjZTY2ZTgxNWU3 MWQ1YTJiMTA3Y2E0YjkxYzhiNDBkOTc0MmY2YTFkNTZlNDExNzcwODBiNWNiYTE4OTIyYTQ0ZjRm ZWNlYWQyYjNjN2U5NzIxOGQwNSAgMDAxOS1saWJ4bC1DbGVhbnVwLXVzZS1saWJ4bF9fYmFja2Vu ZHBhdGhfcGFyc2VfZG9taWQtaW4tLnBhdGNoDQotMTk4ODc1NGViYWNmOTY3NjhiM2E0ZWZjZWY2 MGFmNjkxMDdhZDViNDg4MmE0ZGFkYjVjMTNlYzJiMGIwZWI2ZWM1NGZiN2QzMDkyNDE4ZTBmMzUy NTdkYWNjMDJjYjcxYzVhOTgxZjExMmU5MTA0ZTk2NjIwNzJhNGU1ZjYyZWYgIDAwMjAtbGlieGwt RG9jdW1lbnQtc2VyaWFsLWNvcnJlY3RseS5wYXRjaA0KK2RlZTdhNTk1MzI0ZWE1ZGUzNzU0Yzlh YWQyNDIyZmMyMDIxYmNiNTM5OTllMzQ0ZGJlNmU0ZWRmZDQ3NzJhNWVkMjBlOGViZmI0MDc1MGI4 MTI4N2EyYTAyMjAzN2Q0OWNiZTRmMGY3YmE0ODFhZTBhYzc5YTQyNDllZjYzMGJmICB4c2EyMDIt NC42LnBhdGNoDQorMGFiODNlMjlmMTAyODhmMjRmNDZkZTZmOWVhMjY3YTNlZTZlYWVmMzU2ZTE5 MDUzMTgwMDZkMjBmZmExZGJhNDNjNzY2MTIyOTI0NmUzOTRjODQ1NGMxNWUzMTI3ZGY3ZGUwMjZi ZGUwMmFiMzYxNGUxYzJlZjhmYzczOTY4NTAgIHhzYTIwNC00LjUucGF0Y2gNCiBjM2M0NmYyMzJm MGJkOWY3NjdiMjMyYWY3ZThjZTkxMGE2MTY2YjEyNmJkNTQyN2JiOGRjMzI1YWViMmM2MzRiOTU2 ZGUzZmMyMjVjYWI1YWY3MjY0OTA3MGM4MjA1Y2M4ZTFjYWI3Njg5ZmMyNjZjMjA0ZjUyNTA4NmYx YTU2MiAgcWVtdS1jb3JvdXRpbmUtZ3RocmVhZC5wYXRjaA0KIGE4YjczNzg1MTYxNzIzODk0NTA4 MzQ5ODVlODU1OGQ3YTg2ZDdjZDgwODE1NGJkYzg0NmJiOTgzMjVlNDBmYzRlODdiMWZjNmQ3MjUy OTdmNGJlZjZlYjU0ZWJjYmNiZmE0ZDlkMDM2M2Q4M2Y2MzU3NTU3OTVmYjA3MjZlMDA2ICBxZW11 LXhlbi1tdXNsLW9wZW5wdHkucGF0Y2gNCiAxOTM2YWIzOWExODY3OTU3ZmE2NDBlYjgxYzQwNzAy MTRjYTQ4NTZhMjc0M2JhN2U0OWMwY2QwMTc5MTcwNzFhOTY4MGQwMTVmMDAyYzU3ZmE3Yjk2MDBk YmFkZDI5ZGNlYTU4ODdmNTBlNmMxMzMzMDVkZjI2NjlhN2E5MzNmMyAgcWVtdS14ZW5fcGF0aHMu cGF0Y2gNCiBmMDk1ZWEzNzNmMzYzODE0OTFhZDM2ZjA2NjJmYjRmNTM2NjUwMzE5NzM3MjEyNTZi MjMxNjZlNTk2MzE4NTgxZGE3Y2JiMDE0NmQwYmViMjQ0NjcyOWFkZmRiMzIxZTAxNDY4ZTM3Nzc5 M2Y2NTYzYTY3ZDY4YjhiMGY3ZmZlMyAgaG90cGx1Zy12aWYtdnRyaWxsLnBhdGNoDQogYzNhMWIy NzAzNDdhOTljOGNlMjExMTgwMTBhZDhkODE3YjQ0NjJhMzFjYzVjNzUzNTJmYWE3MDg2OTY5ZWYw NjQ2ZjNmNGQwOTIyZDg1YzJlNTA0Y2ZmMDkxY2U3ZTlmZTc5YzkyZjk4M2MyYmE0YWYyZmFlODVj NTJjMzgzNWEgIDAwMDEtaXB4ZS1kb250LWNsb2JiZXItZWJwLnBhdGNoDQotZTliODgyMzRiZDY3 YzJkNjVmY2RhMWE1NmRlZWFmNjBhYWE0YzhiMmFmZmYxMjgwMjhjNmExNDc4Yzg5ZjgyODU4NGRh YjFhYzA0ZjhkOWQ1M2NmMTdkMjY1NzJlNTUwNWQwYmJmY2M0YjJhNjg0MmNjNzQ5YzZjMDE4YzBl NTEgIGdudXRscy0zLjQuMC5wYXRjaA0KIDQ3NWViODAwNjYwZGM5Mjg5MTRiOGMxNTU2MmYxOGYy NGQ2ZTdhNzZmNGNjN2JlZDkyNDljZTUyZDQ0NGMyOWFlYzFhZWY4NDNlYjM3YWRlMGM3Yzk2MTYx OTViYmJjMTYwNmEzMTk1ZTI1YjJiZDRiNmExZDFhZjVmNjkyNTZlICBpbml0LXhlbnN0b3JlLWRv bWFpbi5wYXRjaA0KIDc2YmQ2MDc2OGIyOTY3NTJjYTExMTk1YmIwM2E1NzU4NDY4NjQ2MWRhNDUy NTVjYjU0MDk3NzExMWE3M2M0MmI1YjkyMzYyZmQ0NmQ5N2JmZDIwNDg3Yzk2OTcxZGQ1YWVkN2Vh ZTdkOGJmMWFhZDdkNTE5OWFkYjg3NWQ0OTYyICBtdXNsLXN1cHBvcnQucGF0Y2gNCiAwOGNmN2Zh YzgyNWRkM2RhNWYzMzg1NmFiZjY2OTJkYTAwZDg5MjhhYjczMDUwYjNhZTBhNjQzZGRiOTdjOGFl MzIzMjM4YTgwMTUyZmQzMTU5NWFjMWMzMTY3OGQ1NTkyMzIyNjQyNThjMTg5ZTJjMDVlY2FmMzNl Mjk1ZjEzZSAgbXVzbC1odm1sb2FkZXItZml4LXN0ZGludC5wYXRjaA0KZGlmZiAtLWdpdCBhL21h aW4veGVuL2dudXRscy0zLjQuMC5wYXRjaCBiL21haW4veGVuL2dudXRscy0zLjQuMC5wYXRjaA0K ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCA5ZDJlZDE2Li4wMDAwMDAwDQotLS0gYS9t YWluL3hlbi9nbnV0bHMtMy40LjAucGF0Y2gNCisrKyAvZGV2L251bGwNCkBAIC0xLDM2ICswLDAg QEANCi0tLS0gLi90b29scy9xZW11LXhlbi10cmFkaXRpb25hbC92bmMuYy5vcmlnDQotKysrIC4v dG9vbHMvcWVtdS14ZW4tdHJhZGl0aW9uYWwvdm5jLmMNCi1AQCAtMjEzNywxMCArMjEzNyw2IEBA DQotIA0KLSANCi0gc3RhdGljIGludCB2bmNfc3RhcnRfdGxzKHN0cnVjdCBWbmNTdGF0ZSAqdnMp IHsNCi0tICAgIHN0YXRpYyBjb25zdCBpbnQgY2VydF90eXBlX3ByaW9yaXR5W10gPSB7IEdOVVRM U19DUlRfWDUwOSwgMCB9Ow0KLS0gICAgc3RhdGljIGNvbnN0IGludCBwcm90b2NvbF9wcmlvcml0 eVtdPSB7IEdOVVRMU19UTFMxXzEsIEdOVVRMU19UTFMxXzAsIEdOVVRMU19TU0wzLCAwIH07DQot LSAgICBzdGF0aWMgY29uc3QgaW50IGt4X2Fub25bXSA9IHtHTlVUTFNfS1hfQU5PTl9ESCwgMH07 DQotLSAgICBzdGF0aWMgY29uc3QgaW50IGt4X3g1MDlbXSA9IHtHTlVUTFNfS1hfREhFX0RTUywg R05VVExTX0tYX1JTQSwgR05VVExTX0tYX0RIRV9SU0EsIEdOVVRMU19LWF9TUlAsIDB9Ow0KLSAN Ci0gICAgIFZOQ19ERUJVRygiRG8gVExTIHNldHVwXG4iKTsNCi0gICAgIGlmICh2bmNfdGxzX2lu aXRpYWxpemUoKSA8IDApIHsNCi1AQCAtMjE2MSwyMSArMjE1Nyw3IEBADQotIAkgICAgcmV0dXJu IC0xOw0KLSAJfQ0KLSANCi0tCWlmIChnbnV0bHNfa3hfc2V0X3ByaW9yaXR5KHZzLT50bHNfc2Vz c2lvbiwgTkVFRF9YNTA5X0FVVEgodnMpID8ga3hfeDUwOSA6IGt4X2Fub24pIDwgMCkgew0KLS0J ICAgIGdudXRsc19kZWluaXQodnMtPnRsc19zZXNzaW9uKTsNCi0tCSAgICB2cy0+dGxzX3Nlc3Np b24gPSBOVUxMOw0KLS0JICAgIHZuY19jbGllbnRfZXJyb3IodnMpOw0KLS0JICAgIHJldHVybiAt MTsNCi0tCX0NCi0tDQotLQlpZiAoZ251dGxzX2NlcnRpZmljYXRlX3R5cGVfc2V0X3ByaW9yaXR5 KHZzLT50bHNfc2Vzc2lvbiwgY2VydF90eXBlX3ByaW9yaXR5KSA8IDApIHsNCi0tCSAgICBnbnV0 bHNfZGVpbml0KHZzLT50bHNfc2Vzc2lvbik7DQotLQkgICAgdnMtPnRsc19zZXNzaW9uID0gTlVM TDsNCi0tCSAgICB2bmNfY2xpZW50X2Vycm9yKHZzKTsNCi0tCSAgICByZXR1cm4gLTE7DQotLQl9 DQotLQ0KLS0JaWYgKGdudXRsc19wcm90b2NvbF9zZXRfcHJpb3JpdHkodnMtPnRsc19zZXNzaW9u LCBwcm90b2NvbF9wcmlvcml0eSkgPCAwKSB7DQotKwlpZiAoZ251dGxzX3ByaW9yaXR5X3NldF9k aXJlY3QodnMtPnRsc19zZXNzaW9uLCBORUVEX1g1MDlfQVVUSCh2cykgPyAiTk9STUFMIiA6ICJO T1JNQUw6K0FOT04tREgiLCBOVUxMKSA8IDApIHsNCi0gCSAgICBnbnV0bHNfZGVpbml0KHZzLT50 bHNfc2Vzc2lvbik7DQotIAkgICAgdnMtPnRsc19zZXNzaW9uID0gTlVMTDsNCi0gCSAgICB2bmNf Y2xpZW50X2Vycm9yKHZzKTsNCmRpZmYgLS1naXQgYS9tYWluL3hlbi94c2ExNjkucGF0Y2ggYi9t YWluL3hlbi94c2ExNjkucGF0Y2gNCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggNjE3 ZTQ1Ny4uMDAwMDAwMA0KLS0tIGEvbWFpbi94ZW4veHNhMTY5LnBhdGNoDQorKysgL2Rldi9udWxs DQpAQCAtMSwzMyArMCwwIEBADQoteDg2OiBtYWtlIGRlYnVnIG91dHB1dCBjb25zaXN0ZW50IGlu IGh2bV9zZXRfY2FsbGJhY2tfdmlhDQotDQotVGhlIHVuY29uZGl0aW9uYWwgcHJpbnRrcyBpbiB0 aGUgc3dpdGNoIHN0YXRlbWVudCBvZiB0aGUNCi1odm1fc2V0X2NhbGxiYWNrX3ZpYSBmdW5jdGlv biByZXN1bHRzIGluIFhlbiBsb2cgc3BhbSBpbiBub24gZGVidWcNCi12ZXJzaW9ucyBvZiBYZW4u IFRoZSBwcmludGtzIGFyZSBmb3IgZGVidWcgb3V0cHV0IG9ubHkgc28gY29uZGl0aW9uYWxseQ0K LWNvbXBpbGUgdGhlIGVudGlyZSBzd2l0Y2ggc3RhdGVtZW50IG9uIGRlYnVnIHZlcnNpb25zIG9m IFhlbiBvbmx5Lg0KLQ0KLVRoaXMgaXMgWFNBLTE2OS4NCi0NCi1TaWduZWQtb2ZmLWJ5OiBNYWxj b2xtIENyb3NzbGV5IDxtYWxjb2xtLmNyb3NzbGV5QGNpdHJpeC5jb20+DQotUmV2aWV3ZWQtYnk6 IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCi1BY2tlZC1ieTogSWFuIENhbXBiZWxs IDxpYW4uY2FtcGJlbGxAY2l0cml4LmNvbT4NCi0NCi0tLS0gYS94ZW4vYXJjaC94ODYvaHZtL2ly cS5jDQotKysrIGIveGVuL2FyY2gveDg2L2h2bS9pcnEuYw0KLUBAIC0zODYsNyArMzg2LDggQEAg dm9pZCBodm1fc2V0X2NhbGxiYWNrX3ZpYShzdHJ1Y3QgZG9tYWluDQotIA0KLSAgICAgc3Bpbl91 bmxvY2soJmQtPmFyY2guaHZtX2RvbWFpbi5pcnFfbG9jayk7DQotIA0KLS0gICAgZHByaW50ayhY RU5MT0dfR19JTkZPLCAiRG9tJXUgY2FsbGJhY2sgdmlhIGNoYW5nZWQgdG8gIiwgZC0+ZG9tYWlu X2lkKTsNCi0rI2lmbmRlZiBOREVCVUcNCi0rICAgIHByaW50ayhYRU5MT0dfR19JTkZPICJEb20l dSBjYWxsYmFjayB2aWEgY2hhbmdlZCB0byAiLCBkLT5kb21haW5faWQpOw0KLSAgICAgc3dpdGNo ICggdmlhX3R5cGUgKQ0KLSAgICAgew0KLSAgICAgY2FzZSBIVk1JUlFfY2FsbGJhY2tfZ3NpOg0K LUBAIC00MDIsNiArNDAzLDcgQEAgdm9pZCBodm1fc2V0X2NhbGxiYWNrX3ZpYShzdHJ1Y3QgZG9t YWluDQotICAgICAgICAgcHJpbnRrKCJOb25lXG4iKTsNCi0gICAgICAgICBicmVhazsNCi0gICAg IH0NCi0rI2VuZGlmDQotIH0NCi0gDQotIHN0cnVjdCBodm1faW50YWNrIGh2bV92Y3B1X2hhc19w ZW5kaW5nX2lycShzdHJ1Y3QgdmNwdSAqdikNCmRpZmYgLS1naXQgYS9tYWluL3hlbi94c2ExNzIu cGF0Y2ggYi9tYWluL3hlbi94c2ExNzIucGF0Y2gNCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NA0K aW5kZXggOGIxZDAxZi4uMDAwMDAwMA0KLS0tIGEvbWFpbi94ZW4veHNhMTcyLnBhdGNoDQorKysg L2Rldi9udWxsDQpAQCAtMSwzOSArMCwwIEBADQoteDg2OiBmaXggaW5mb3JtYXRpb24gbGVhayBv biBBTUQgQ1BVcw0KLQ0KLVRoZSBmaXggZm9yIFhTQS01MiB3YXMgd3JvbmcsIGFuZCBzbyB3YXMg dGhlIGNoYW5nZSBzeW5jaHJvbml6aW5nIHRoYXQNCi1uZXcgYmVoYXZpb3IgdG8gdGhlIEZYUlNU T1IgbG9naWM6IEFNRCdzIG1hbnVhbHMgZXhwbGljdGx5IHN0YXRlIHRoYXQNCi13cml0ZXMgdG8g dGhlIEVTIGJpdCBhcmUgaWdub3JlZCwgYW5kIGl0IGluc3RlYWQgZ2V0cyBjYWxjdWxhdGVkIGZy b20NCi10aGUgZXhjZXB0aW9uIGFuZCBtYXNrIGJpdHMgKGl0IGdldHMgc2V0IHdoZW5ldmVyIHRo ZXJlIGlzIGFuIHVubWFza2VkDQotZXhjZXB0aW9uLCBhbmQgY2xlYXJlZCBvdGhlcndpc2UpLiBI ZW5jZSB3ZSBuZWVkIHRvIGZvbGxvdyB0aGF0IG1vZGVsDQotaW4gb3VyIHdvcmthcm91bmQuDQot DQotVGhpcyBpcyBYU0EtMTcyLg0KLQ0KLVRoZSBmaXJzdCBodW5rICh4ZW4vYXJjaC94ODYvaTM4 Ny5jOmZwdV9meHJzdG9yKSBpcyBDVkUtMjAxNi0zMTU5Lg0KLVRoZSBzZWNvbmQgaHVuayAoeGVu L2FyY2gveDg2L3hzdGF0ZS5jOnhyc3RvcikgaXMgQ1ZFLTIwMTYtMzE1OC4NCi0NCi1TaWduZWQt b2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQotUmV2aWV3ZWQtYnk6IEFu ZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+DQotDQotLS0tIGEveGVuL2Fy Y2gveDg2L2kzODcuYw0KLSsrKyBiL3hlbi9hcmNoL3g4Ni9pMzg3LmMNCi1AQCAtNDksNyArNDks NyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgZnB1X2Z4cnN0b3Ioc3RydWN0IHZjDQotICAgICAgKiBz b21ldGltZXMgbmV3IHVzZXIgdmFsdWUuIEJvdGggc2hvdWxkIGJlIG9rLiBVc2UgdGhlIEZQVSBz YXZlZA0KLSAgICAgICogZGF0YSBibG9jayBhcyBhIHNhZmUgYWRkcmVzcyBiZWNhdXNlIGl0IHNo b3VsZCBiZSBpbiBMMS4NCi0gICAgICAqLw0KLS0gICAgaWYgKCAhKGZwdV9jdHh0LT5mc3cgJiAw eDAwODApICYmDQotKyAgICBpZiAoICEoZnB1X2N0eHQtPmZzdyAmIH5mcHVfY3R4dC0+ZmN3ICYg MHgwMDNmKSAmJg0KLSAgICAgICAgICBib290X2NwdV9kYXRhLng4Nl92ZW5kb3IgPT0gWDg2X1ZF TkRPUl9BTUQgKQ0KLSAgICAgew0KLSAgICAgICAgIGFzbSB2b2xhdGlsZSAoICJmbmNsZXhcblx0 Ig0KLS0tLSBhL3hlbi9hcmNoL3g4Ni94c3RhdGUuYw0KLSsrKyBiL3hlbi9hcmNoL3g4Ni94c3Rh dGUuYw0KLUBAIC0zNDQsNyArMzQ0LDcgQEAgdm9pZCB4cnN0b3Ioc3RydWN0IHZjcHUgKnYsIHVp bnQ2NF90IG1hcw0KLSAgICAgICogZGF0YSBibG9jayBhcyBhIHNhZmUgYWRkcmVzcyBiZWNhdXNl IGl0IHNob3VsZCBiZSBpbiBMMS4NCi0gICAgICAqLw0KLSAgICAgaWYgKCAobWFzayAmIHB0ci0+ eHNhdmVfaGRyLnhzdGF0ZV9idiAmIFhTVEFURV9GUCkgJiYNCi0tICAgICAgICAgIShwdHItPmZw dV9zc2UuZnN3ICYgMHgwMDgwKSAmJg0KLSsgICAgICAgICAhKHB0ci0+ZnB1X3NzZS5mc3cgJiB+ cHRyLT5mcHVfc3NlLmZjdyAmIDB4MDAzZikgJiYNCi0gICAgICAgICAgYm9vdF9jcHVfZGF0YS54 ODZfdmVuZG9yID09IFg4Nl9WRU5ET1JfQU1EICkNCi0gICAgICAgICBhc20gdm9sYXRpbGUgKCAi Zm5jbGV4XG5cdCIgICAgICAgIC8qIGNsZWFyIGV4Y2VwdGlvbnMgKi8NCi0gICAgICAgICAgICAg ICAgICAgICAgICAiZmZyZWUgJSVzdCg3KVxuXHQiIC8qIGNsZWFyIHN0YWNrIHRhZyAqLw0KZGlm ZiAtLWdpdCBhL21haW4veGVuL3hzYTE3My00LjUucGF0Y2ggYi9tYWluL3hlbi94c2ExNzMtNC41 LnBhdGNoDQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IGQwZWJlNGEuLjAwMDAwMDAN Ci0tLSBhL21haW4veGVuL3hzYTE3My00LjUucGF0Y2gNCisrKyAvZGV2L251bGwNCkBAIC0xLDI0 NCArMCwwIEBADQotY29tbWl0IDlkNzY4N2Q2MGFlMmUwOWFkMmE3N2IwNWJkODIwZTc4NTA3MDkz NzUNCi1BdXRob3I6IFRpbSBEZWVnYW4gPHRpbUB4ZW4ub3JnPg0KLURhdGU6ICAgV2VkIE1hciAx NiAxNjo1NjowNCAyMDE2ICswMDAwDQotDQotICAgIHg4NjogbGltaXQgR0ZOcyB0byAzMiBiaXRz IGZvciBzaGFkb3dlZCBzdXBlcnBhZ2VzLg0KLSAgICANCi0gICAgU3VwZXJwYWdlIHNoYWRvd3Mg c3RvcmUgdGhlIHNoYWRvd2VkIEdGTiBpbiB0aGUgYmFja3BvaW50ZXIgZmllbGQsDQotICAgIHdo aWNoIGZvciBub24tQklHTUVNIGJ1aWxkcyBpcyAzMiBiaXRzIHdpZGUuICBTaGFkb3dpbmcgYSBz dXBlcnBhZ2UNCi0gICAgbWFwcGluZyBvZiBhIGd1ZXN0LXBoeXNpY2FsIGFkZHJlc3MgYWJvdmUg Ml40NCB3b3VsZCBsZWFkIHRvIHRoZSBHRk4NCi0gICAgYmVpbmcgdHJ1bmNhdGVkIHRoZXJlLCBh bmQgYSBjcmFzaCB3aGVuIHdlIGNvbWUgdG8gcmVtb3ZlIHRoZSBzaGFkb3cNCi0gICAgZnJvbSB0 aGUgaGFzaCB0YWJsZS4NCi0gICAgDQotICAgIFRyYWNrIHRoZSB2YWxpZCB3aWR0aCBvZiBhIEdG TiBmb3IgZWFjaCBndWVzdCwgaW5jbHVkaW5nIHJlcG9ydGluZyBpdA0KLSAgICB0aHJvdWdoIENQ VUlELCBhbmQgZW5mb3JjZSBpdCBpbiB0aGUgc2hhZG93IHBhZ2V0YWJsZXMuICBTZXQgdGhlDQot ICAgIG1heGltdW0gd2l0dGggdG8gMzIgZm9yIGd1ZXN0cyB3aGVyZSB0aGlzIHRydW5jYXRpb24g Y291bGQgb2NjdXIuDQotICAgIA0KLSAgICBUaGlzIGlzIFhTQS0xNzMuDQotICAgIA0KLSAgICBT aWduZWQtb2ZmLWJ5OiBUaW0gRGVlZ2FuIDx0aW1AeGVuLm9yZz4NCi0gICAgU2lnbmVkLW9mZi1i eTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KLQ0KLVJlcG9ydGVkLWJ5OiBMaW5n IExpdSA8bGl1bGluZy1pdEAzNjAuY24+DQotZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9jcHUv Y29tbW9uLmMgYi94ZW4vYXJjaC94ODYvY3B1L2NvbW1vbi5jDQotaW5kZXggNWM4ZDNjMi4uN2Rj ODIyMCAxMDA2NDQNCi0tLS0gYS94ZW4vYXJjaC94ODYvY3B1L2NvbW1vbi5jDQotKysrIGIveGVu L2FyY2gveDg2L2NwdS9jb21tb24uYw0KLUBAIC0zNyw2ICszNyw3IEBAIGludGVnZXJfcGFyYW0o ImNwdWlkX21hc2tfZXh0X2VkeCIsIG9wdF9jcHVpZF9tYXNrX2V4dF9lZHgpOw0KLSBzdHJ1Y3Qg Y3B1X2RldiAqIGNwdV9kZXZzW1g4Nl9WRU5ET1JfTlVNXSA9IHt9Ow0KLSANCi0gdW5zaWduZWQg aW50IHBhZGRyX2JpdHMgX19yZWFkX21vc3RseSA9IDM2Ow0KLSt1bnNpZ25lZCBpbnQgaGFwX3Bh ZGRyX2JpdHMgX19yZWFkX21vc3RseSA9IDM2Ow0KLSANCi0gLyoNCi0gICogRGVmYXVsdCBob3N0 IElBMzJfQ1JfUEFUIHZhbHVlIHRvIGNvdmVyIGFsbCBtZW1vcnkgdHlwZXMuDQotQEAgLTIwOSw3 ICsyMTAsNyBAQCBzdGF0aWMgdm9pZCBfX2luaXQgZWFybHlfY3B1X2RldGVjdCh2b2lkKQ0KLSAN Ci0gc3RhdGljIHZvaWQgX19jcHVpbml0IGdlbmVyaWNfaWRlbnRpZnkoc3RydWN0IGNwdWluZm9f eDg2ICpjKQ0KLSB7DQotLQl1MzIgdGZtcywgY2FwYWJpbGl0eSwgZXhjYXAsIGVieDsNCi0rCXUz MiB0Zm1zLCBjYXBhYmlsaXR5LCBleGNhcCwgZWJ4LCBlYXg7DQotIA0KLSAJLyogR2V0IHZlbmRv ciBuYW1lICovDQotIAljcHVpZCgweDAwMDAwMDAwLCAmYy0+Y3B1aWRfbGV2ZWwsDQotQEAgLTI0 Niw4ICsyNDcsMTEgQEAgc3RhdGljIHZvaWQgX19jcHVpbml0IGdlbmVyaWNfaWRlbnRpZnkoc3Ry dWN0IGNwdWluZm9feDg2ICpjKQ0KLSAJCX0NCi0gCQlpZiAoIGMtPmV4dGVuZGVkX2NwdWlkX2xl dmVsID49IDB4ODAwMDAwMDQgKQ0KLSAJCQlnZXRfbW9kZWxfbmFtZShjKTsgLyogRGVmYXVsdCBu YW1lICovDQotLQkJaWYgKCBjLT5leHRlbmRlZF9jcHVpZF9sZXZlbCA+PSAweDgwMDAwMDA4ICkN Ci0tCQkJcGFkZHJfYml0cyA9IGNwdWlkX2VheCgweDgwMDAwMDA4KSAmIDB4ZmY7DQotKwkJaWYg KCBjLT5leHRlbmRlZF9jcHVpZF9sZXZlbCA+PSAweDgwMDAwMDA4ICkgew0KLSsJCQllYXggPSBj cHVpZF9lYXgoMHg4MDAwMDAwOCk7DQotKwkJCXBhZGRyX2JpdHMgPSBlYXggJiAweGZmOw0KLSsJ CQloYXBfcGFkZHJfYml0cyA9ICgoZWF4ID4+IDE2KSAmIDB4ZmYpID86IHBhZGRyX2JpdHM7DQot KwkJfQ0KLSAJfQ0KLSANCi0gCS8qIE1pZ2h0IGxpZnQgQklPUyBtYXhfbGVhZj0zIGxpbWl0LiAq Lw0KLWRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL2h2bS5jIGIveGVuL2FyY2gveDg2L2h2 bS9odm0uYw0KLWluZGV4IDQxZmIxMGEuLmNhYzQ1OGEgMTAwNjQ0DQotLS0tIGEveGVuL2FyY2gv eDg2L2h2bS9odm0uYw0KLSsrKyBiL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMNCi1AQCAtNDMyNyw4 ICs0MzI3LDcgQEAgdm9pZCBodm1fY3B1aWQodW5zaWduZWQgaW50IGlucHV0LCB1bnNpZ25lZCBp bnQgKmVheCwgdW5zaWduZWQgaW50ICplYngsDQotICAgICAgICAgYnJlYWs7DQotIA0KLSAgICAg Y2FzZSAweDgwMDAwMDA4Og0KLS0gICAgICAgIGNvdW50ID0gY3B1aWRfZWF4KDB4ODAwMDAwMDgp Ow0KLS0gICAgICAgIGNvdW50ID0gKGNvdW50ID4+IDE2KSAmIDB4ZmYgPzogY291bnQgJiAweGZm Ow0KLSsgICAgICAgIGNvdW50ID0gZC0+YXJjaC5wYWdpbmcuZ2ZuX2JpdHMgKyBQQUdFX1NISUZU Ow0KLSAgICAgICAgIGlmICggKCplYXggJiAweGZmKSA+IGNvdW50ICkNCi0gICAgICAgICAgICAg KmVheCA9ICgqZWF4ICYgfjB4ZmYpIHwgY291bnQ7DQotIA0KLWRpZmYgLS1naXQgYS94ZW4vYXJj aC94ODYvbW0vZ3Vlc3Rfd2Fsay5jIGIveGVuL2FyY2gveDg2L21tL2d1ZXN0X3dhbGsuYw0KLWlu ZGV4IDFiMjYxNzUuLjUwYmE3ZDUgMTAwNjQ0DQotLS0tIGEveGVuL2FyY2gveDg2L21tL2d1ZXN0 X3dhbGsuYw0KLSsrKyBiL3hlbi9hcmNoL3g4Ni9tbS9ndWVzdF93YWxrLmMNCi1AQCAtOTQsNiAr OTQsMTIgQEAgdm9pZCAqbWFwX2RvbWFpbl9nZm4oc3RydWN0IHAybV9kb21haW4gKnAybSwgZ2Zu X3QgZ2ZuLCBtZm5fdCAqbWZuLA0KLSAgICAgc3RydWN0IHBhZ2VfaW5mbyAqcGFnZTsNCi0gICAg IHZvaWQgKm1hcDsNCi0gDQotKyAgICBpZiAoIGdmbl94KGdmbikgPj4gcDJtLT5kb21haW4tPmFy Y2gucGFnaW5nLmdmbl9iaXRzICkNCi0rICAgIHsNCi0rICAgICAgICAqcmMgPSBfUEFHRV9JTlZB TElEX0JJVDsNCi0rICAgICAgICByZXR1cm4gTlVMTDsNCi0rICAgIH0NCi0rDQotICAgICAvKiBU cmFuc2xhdGUgdGhlIGdmbiwgdW5zaGFyaW5nIGlmIHNoYXJlZCAqLw0KLSAgICAgcGFnZSA9IGdl dF9wYWdlX2Zyb21fZ2ZuX3AybShwMm0tPmRvbWFpbiwgcDJtLCBnZm5feChnZm4pLCBwMm10LCBO VUxMLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBxKTsNCi1AQCAtMzI3LDIw ICszMzMsOCBAQCBndWVzdF93YWxrX3RhYmxlcyhzdHJ1Y3QgdmNwdSAqdiwgc3RydWN0IHAybV9k b21haW4gKnAybSwNCi0gICAgICAgICAgICAgZmxhZ3MgJj0gfl9QQUdFX1BBVDsNCi0gDQotICAg ICAgICAgaWYgKCBnZm5feChzdGFydCkgJiBHVUVTVF9MMl9HRk5fTUFTSyAmIH4weDEgKQ0KLS0g ICAgICAgIHsNCi0tI2lmIEdVRVNUX1BBR0lOR19MRVZFTFMgPT0gMg0KLS0gICAgICAgICAgICAv Kg0KLS0gICAgICAgICAgICAgKiBOb3RlIHRoYXQgX1BBR0VfSU5WQUxJRF9CSVRTIGlzIHplcm8g aW4gdGhpcyBjYXNlLCB5aWVsZGluZyBhDQotLSAgICAgICAgICAgICAqIG5vLW9wIGhlcmUuDQot LSAgICAgICAgICAgICAqDQotLSAgICAgICAgICAgICAqIEFyY2hpdGVjdHVyYWxseSwgdGhlIHdh bGsgc2hvdWxkIGZhaWwgaWYgYml0IDIxIGlzIHNldCAob3RoZXJzDQotLSAgICAgICAgICAgICAq IGFyZW4ndCBiZWluZyBjaGVja2VkIGF0IGxlYXN0IGluIFBTRTM2IG1vZGUpLCBidXQgd2UnbGwg aWdub3JlDQotLSAgICAgICAgICAgICAqIHRoaXMgaGVyZSBpbiBvcmRlciB0byBhdm9pZCBzcGVj aWZ5aW5nIGEgbm9uLW5hdHVyYWwsIG5vbi16ZXJvDQotLSAgICAgICAgICAgICAqIF9QQUdFX0lO VkFMSURfQklUUyB2YWx1ZSBqdXN0IGZvciB0aGF0IGNhc2UuDQotLSAgICAgICAgICAgICAqLw0K LS0jZW5kaWYNCi0gICAgICAgICAgICAgcmMgfD0gX1BBR0VfSU5WQUxJRF9CSVRTOw0KLS0gICAg ICAgIH0NCi0rDQotICAgICAgICAgLyogSW5jcmVtZW50IHRoZSBwZm4gYnkgdGhlIHJpZ2h0IG51 bWJlciBvZiA0ayBwYWdlcy4gIA0KLSAgICAgICAgICAqIE1hc2sgb3V0IFBBVCBhbmQgaW52YWxp ZCBiaXRzLiAqLw0KLSAgICAgICAgIHN0YXJ0ID0gX2dmbigoZ2ZuX3goc3RhcnQpICYgfkdVRVNU X0wyX0dGTl9NQVNLKSArDQotQEAgLTQyMyw1ICs0MTcsMTEgQEAgc2V0X2FkOg0KLSAgICAgICAg IHB1dF9wYWdlKG1mbl90b19wYWdlKG1mbl94KGd3LT5sMW1mbikpKTsNCi0gICAgIH0NCi0gDQot KyAgICAvKiBJZiB0aGlzIGd1ZXN0IGhhcyBhIHJlc3RyaWN0ZWQgcGh5c2ljYWwgYWRkcmVzcyBz cGFjZSB0aGVuIHRoZQ0KLSsgICAgICogdGFyZ2V0IEdGTiBtdXN0IGZpdCB3aXRoaW4gaXQuICov DQotKyAgICBpZiAoICEocmMgJiBfUEFHRV9QUkVTRU5UKQ0KLSsgICAgICAgICAmJiBnZm5feChn dWVzdF9sMWVfZ2V0X2dmbihndy0+bDFlKSkgPj4gZC0+YXJjaC5wYWdpbmcuZ2ZuX2JpdHMgKQ0K LSsgICAgICAgIHJjIHw9IF9QQUdFX0lOVkFMSURfQklUUzsNCi0rDQotICAgICByZXR1cm4gcmM7 DQotIH0NCi1kaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L21tL2hhcC9oYXAuYyBiL3hlbi9hcmNo L3g4Ni9tbS9oYXAvaGFwLmMNCi1pbmRleCAwYzgwMDEyLi44NDUzMWIxIDEwMDY0NA0KLS0tLSBh L3hlbi9hcmNoL3g4Ni9tbS9oYXAvaGFwLmMNCi0rKysgYi94ZW4vYXJjaC94ODYvbW0vaGFwL2hh cC5jDQotQEAgLTQyOSw2ICs0MjksOCBAQCB2b2lkIGhhcF9kb21haW5faW5pdChzdHJ1Y3QgZG9t YWluICpkKQ0KLSB7DQotICAgICBJTklUX1BBR0VfTElTVF9IRUFEKCZkLT5hcmNoLnBhZ2luZy5o YXAuZnJlZWxpc3QpOw0KLSANCi0rICAgIGQtPmFyY2gucGFnaW5nLmdmbl9iaXRzID0gaGFwX3Bh ZGRyX2JpdHMgLSBQQUdFX1NISUZUOw0KLSsNCi0gICAgIC8qIFVzZSBIQVAgbG9nZGlydHkgbWVj aGFuaXNtLiAqLw0KLSAgICAgcGFnaW5nX2xvZ19kaXJ0eV9pbml0KGQsIGhhcF9lbmFibGVfbG9n X2RpcnR5LA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhcF9kaXNhYmxlX2xvZ19kaXJ0 eSwNCi1kaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L21tL3NoYWRvdy9jb21tb24uYyBiL3hlbi9h cmNoL3g4Ni9tbS9zaGFkb3cvY29tbW9uLmMNCi1pbmRleCAxODAyNmZlLi45MDI4ZDgyIDEwMDY0 NA0KLS0tLSBhL3hlbi9hcmNoL3g4Ni9tbS9zaGFkb3cvY29tbW9uLmMNCi0rKysgYi94ZW4vYXJj aC94ODYvbW0vc2hhZG93L2NvbW1vbi5jDQotQEAgLTQ4LDYgKzQ4LDE2IEBAIHZvaWQgc2hhZG93 X2RvbWFpbl9pbml0KHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCBkb21jcl9mbGFncykN Ci0gICAgIElOSVRfUEFHRV9MSVNUX0hFQUQoJmQtPmFyY2gucGFnaW5nLnNoYWRvdy5mcmVlbGlz dCk7DQotICAgICBJTklUX1BBR0VfTElTVF9IRUFEKCZkLT5hcmNoLnBhZ2luZy5zaGFkb3cucGlu bmVkX3NoYWRvd3MpOw0KLSANCi0rICAgIGQtPmFyY2gucGFnaW5nLmdmbl9iaXRzID0gcGFkZHJf Yml0cyAtIFBBR0VfU0hJRlQ7DQotKyNpZm5kZWYgQ09ORklHX0JJR01FTQ0KLSsgICAgLyoNCi0r ICAgICAqIFNoYWRvd2VkIHN1cGVycGFnZXMgc3RvcmUgR0ZOcyBpbiAzMi1iaXQgcGFnZV9pbmZv IGZpZWxkcy4NCi0rICAgICAqIE5vdGUgdGhhdCB3ZSBjYW5ub3QgdXNlIGd1ZXN0X3N1cHBvcnRz X3N1cGVycGFnZXMoKSBoZXJlLg0KLSsgICAgICovDQotKyAgICBpZiAoICFpc19wdl9kb21haW4o ZCkgfHwgb3B0X2FsbG93X3N1cGVycGFnZSApDQotKyAgICAgICAgZC0+YXJjaC5wYWdpbmcuZ2Zu X2JpdHMgPSAzMjsNCi0rI2VuZGlmDQotKw0KLSAgICAgLyogVXNlIHNoYWRvdyBwYWdldGFibGVz IGZvciBsb2ctZGlydHkgc3VwcG9ydCAqLw0KLSAgICAgcGFnaW5nX2xvZ19kaXJ0eV9pbml0KGQs IHNoYWRvd19lbmFibGVfbG9nX2RpcnR5LCANCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBz aGFkb3dfZGlzYWJsZV9sb2dfZGlydHksIHNoYWRvd19jbGVhbl9kaXJ0eV9iaXRtYXApOw0KLWRp ZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvbW0vc2hhZG93L211bHRpLmMgYi94ZW4vYXJjaC94ODYv bW0vc2hhZG93L211bHRpLmMNCi1pbmRleCBkNjgwMmZmLi43NTg5ZDIzIDEwMDY0NA0KLS0tLSBh L3hlbi9hcmNoL3g4Ni9tbS9zaGFkb3cvbXVsdGkuYw0KLSsrKyBiL3hlbi9hcmNoL3g4Ni9tbS9z aGFkb3cvbXVsdGkuYw0KLUBAIC01MjcsNyArNTI3LDggQEAgX3NoX3Byb3BhZ2F0ZShzdHJ1Y3Qg dmNwdSAqdiwNCi0gICAgIEFTU0VSVChHVUVTVF9QQUdJTkdfTEVWRUxTID4gMyB8fCBsZXZlbCAh PSAzKTsNCi0gDQotICAgICAvKiBDaGVjayB0aGVyZSdzIHNvbWV0aGluZyBmb3IgdGhlIHNoYWRv d3MgdG8gbWFwIHRvICovDQotLSAgICBpZiAoICFwMm1faXNfdmFsaWQocDJtdCkgJiYgIXAybV9p c19ncmFudChwMm10KSApDQotKyAgICBpZiAoICghcDJtX2lzX3ZhbGlkKHAybXQpICYmICFwMm1f aXNfZ3JhbnQocDJtdCkpDQotKyAgICAgICAgIHx8IGdmbl94KHRhcmdldF9nZm4pID4+IGQtPmFy Y2gucGFnaW5nLmdmbl9iaXRzICkNCi0gICAgIHsNCi0gICAgICAgICAqc3AgPSBzaGFkb3dfbDFl X2VtcHR5KCk7DQotICAgICAgICAgZ290byBkb25lOw0KLWRpZmYgLS1naXQgYS94ZW4vaW5jbHVk ZS9hc20teDg2L2RvbWFpbi5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9kb21haW4uaA0KLWluZGV4 IDZhNzdhOTMuLmU4ZGY0YTkgMTAwNjQ0DQotLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9kb21h aW4uaA0KLSsrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvZG9tYWluLmgNCi1AQCAtMTg4LDYgKzE4 OCw5IEBAIHN0cnVjdCBwYWdpbmdfZG9tYWluIHsNCi0gICAgIC8qIGxvZyBkaXJ0eSBzdXBwb3J0 ICovDQotICAgICBzdHJ1Y3QgbG9nX2RpcnR5X2RvbWFpbiBsb2dfZGlydHk7DQotIA0KLSsgICAg LyogTnVtYmVyIG9mIHZhbGlkIGJpdHMgaW4gYSBnZm4uICovDQotKyAgICB1bnNpZ25lZCBpbnQg Z2ZuX2JpdHM7DQotKw0KLSAgICAgLyogcHJlZW1wdGlvbiBoYW5kbGluZyAqLw0KLSAgICAgc3Ry dWN0IHsNCi0gICAgICAgICBjb25zdCBzdHJ1Y3QgZG9tYWluICpkb207DQotZGlmZiAtLWdpdCBh L3hlbi9pbmNsdWRlL2FzbS14ODYvZ3Vlc3RfcHQuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvZ3Vl c3RfcHQuaA0KLWluZGV4IGQyYTgyNTAuLmQ5NWY4MzUgMTAwNjQ0DQotLS0tIGEveGVuL2luY2x1 ZGUvYXNtLXg4Ni9ndWVzdF9wdC5oDQotKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9ndWVzdF9w dC5oDQotQEAgLTIyMCwxNSArMjIwLDE3IEBAIGd1ZXN0X3N1cHBvcnRzX254KHN0cnVjdCB2Y3B1 ICp2KQ0KLSB9DQotIA0KLSANCi0tLyogU29tZSBiaXRzIGFyZSBpbnZhbGlkIGluIGFueSBwYWdl dGFibGUgZW50cnkuICovDQotLSNpZiBHVUVTVF9QQUdJTkdfTEVWRUxTID09IDINCi0tI2RlZmlu ZSBfUEFHRV9JTlZBTElEX0JJVFMgKDApDQotLSNlbGlmIEdVRVNUX1BBR0lOR19MRVZFTFMgPT0g Mw0KLS0jZGVmaW5lIF9QQUdFX0lOVkFMSURfQklUUyBcDQotLSAgICBnZXRfcHRlX2ZsYWdzKCgo MXVsbDw8NjMpIC0gMSkgJiB+KCgxdWxsPDxwYWRkcl9iaXRzKSAtIDEpKQ0KLS0jZWxzZSAvKiBH VUVTVF9QQUdJTkdfTEVWRUxTID09IDQgKi8NCi0rLyoNCi0rICogU29tZSBiaXRzIGFyZSBpbnZh bGlkIGluIGFueSBwYWdldGFibGUgZW50cnkuDQotKyAqIE5vcm1hbCBmbGFncyB2YWx1ZXMgZ2V0 IHJlcHJlc2VudGVkIGluIDI0LWJpdCB2YWx1ZXMgKHNlZQ0KLSsgKiBnZXRfcHRlX2ZsYWdzKCkg YW5kIHB1dF9wdGVfZmxhZ3MoKSksIHNvIHNldCBiaXQgMjQgaW4NCi0rICogYWRkaXRpb24gdG8g YmUgYWJsZSB0byBmbGFnIG91dCBvZiByYW5nZSBmcmFtZSBudW1iZXJzLg0KLSsgKi8NCi0rI2lm IEdVRVNUX1BBR0lOR19MRVZFTFMgPT0gMw0KLSAjZGVmaW5lIF9QQUdFX0lOVkFMSURfQklUUyBc DQotLSAgICBnZXRfcHRlX2ZsYWdzKCgoMXVsbDw8NTIpIC0gMSkgJiB+KCgxdWxsPDxwYWRkcl9i aXRzKSAtIDEpKQ0KLSsgICAgKF9QQUdFX0lOVkFMSURfQklUIHwgZ2V0X3B0ZV9mbGFncygoKDF1 bGwgPDwgNjMpIC0gMSkgJiB+KFBBR0VfU0laRSAtIDEpKSkNCi0rI2Vsc2UgLyogMi1sZXZlbCBh bmQgNC1sZXZlbCAqLw0KLSsjZGVmaW5lIF9QQUdFX0lOVkFMSURfQklUUyBfUEFHRV9JTlZBTElE X0JJVA0KLSAjZW5kaWYNCi0gDQotIA0KLWRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2 L3Byb2Nlc3Nvci5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9wcm9jZXNzb3IuaA0KLWluZGV4IGI0 ZTQ3MzEuLjU2ZmM1YTIgMTAwNjQ0DQotLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9wcm9jZXNz b3IuaA0KLSsrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvcHJvY2Vzc29yLmgNCi1AQCAtMjAzLDYg KzIwMyw4IEBAIGV4dGVybiB1MzIgY3B1aWRfZXh0X2ZlYXR1cmVzOw0KLSANCi0gLyogTWF4aW11 bSB3aWR0aCBvZiBwaHlzaWNhbCBhZGRyZXNzZXMgc3VwcG9ydGVkIGJ5IHRoZSBoYXJkd2FyZSAq Lw0KLSBleHRlcm4gdW5zaWduZWQgaW50IHBhZGRyX2JpdHM7DQotKy8qIE1heCBwaHlzaWNhbCBh ZGRyZXNzIHdpZHRoIHN1cHBvcnRlZCB3aXRoaW4gSEFQIGd1ZXN0cyAqLw0KLStleHRlcm4gdW5z aWduZWQgaW50IGhhcF9wYWRkcl9iaXRzOw0KLSANCi0gZXh0ZXJuIHZvaWQgaWRlbnRpZnlfY3B1 KHN0cnVjdCBjcHVpbmZvX3g4NiAqKTsNCi0gZXh0ZXJuIHZvaWQgc2V0dXBfY2xlYXJfY3B1X2Nh cCh1bnNpZ25lZCBpbnQpOw0KLWRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L3g4Nl82 NC9wYWdlLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L3g4Nl82NC9wYWdlLmgNCi1pbmRleCAxZDU0 NTg3Li5mMWQxYjZjIDEwMDY0NA0KLS0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYveDg2XzY0L3Bh Z2UuaA0KLSsrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYveDg2XzY0L3BhZ2UuaA0KLUBAIC0xNDEs NiArMTQxLDEyIEBAIHR5cGVkZWYgbDRfcGdlbnRyeV90IHJvb3RfcGdlbnRyeV90Ow0KLSAjZGVm aW5lIF9QQUdFX0dOVFRBQiAoMVU8PDIyKQ0KLSANCi0gLyoNCi0rICogQml0IDI0IG9mIGEgMjQt Yml0IGZsYWcgbWFzayEgIFRoaXMgaXMgbm90IGFueSBiaXQgb2YgYSByZWFsIHB0ZSwNCi0rICog YW5kIGlzIG9ubHkgdXNlZCBmb3Igc2lnbmFsbGluZyBpbiB2YXJpYWJsZXMgdGhhdCBjb250YWlu IGZsYWdzLg0KLSsgKi8NCi0rI2RlZmluZSBfUEFHRV9JTlZBTElEX0JJVCAoMVU8PDI0KQ0KLSsN Ci0rLyoNCi0gICogQml0IDEyIG9mIGEgMjQtYml0IGZsYWcgbWFzay4gVGhpcyBjb3JyZXNwb25k cyB0byBiaXQgNTIgb2YgYSBwdGUuDQotICAqIFRoaXMgaXMgbmVlZGVkIHRvIGRpc3Rpbmd1aXNo IGJldHdlZW4gdXNlciBhbmQga2VybmVsIFBURXMgc2luY2UgX1BBR0VfVVNFUg0KLSAgKiBpcyBh c3NlcnRlZCBmb3IgYm90aC4NCmRpZmYgLS1naXQgYS9tYWluL3hlbi94c2ExNzYucGF0Y2ggYi9t YWluL3hlbi94c2ExNzYucGF0Y2gNCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMWMx NWFiZC4uMDAwMDAwMA0KLS0tIGEvbWFpbi94ZW4veHNhMTc2LnBhdGNoDQorKysgL2Rldi9udWxs DQpAQCAtMSw0NSArMCwwIEBADQoteDg2L21tOiBmdWxseSBob25vciBQUyBiaXRzIGluIGd1ZXN0 IHBhZ2UgdGFibGUgd2Fsa3MNCi0NCi1JbiBMNCBlbnRyaWVzIGl0IGlzIGN1cnJlbnRseSB1bmNv bmRpdGlvbmFsbHkgcmVzZXJ2ZWQgKGFuZCBoZW5jZQ0KLXNob3VsZCwgd2hlbiBzZXQsIGFsd2F5 cyByZXN1bHQgaW4gYSByZXNlcnZlZCBiaXQgcGFnZSBmYXVsdCksIGFuZCBpcw0KLXJlc2VydmVk IG9uIGhhcmR3YXJlIG5vdCBzdXBwb3J0aW5nIDFHYiBwYWdlcyAoYW5kIGhlbmNlIHNob3VsZCwg d2hlbg0KLXNldCwgc2ltaWxhcmx5IGNhdXNlIGEgcmVzZXJ2ZWQgYml0IHBhZ2UgZmF1bHQgb24g c3VjaCBoYXJkd2FyZSkuDQotDQotVGhpcyBpcyBDVkUtMjAxNi00NDgwIC8gWFNBLTE3Ni4NCi0N Ci1TaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQotUmV2aWV3 ZWQtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+DQotVGVzdGVk LWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPg0KLQ0KLS0tLSBh L3hlbi9hcmNoL3g4Ni9tbS9ndWVzdF93YWxrLmMNCi0rKysgYi94ZW4vYXJjaC94ODYvbW0vZ3Vl c3Rfd2Fsay5jDQotQEAgLTIyNiw2ICsyMjYsMTEgQEAgZ3Vlc3Rfd2Fsa190YWJsZXMoc3RydWN0 IHZjcHUgKnYsIHN0cnVjdA0KLSAgICAgICAgIHJjIHw9IF9QQUdFX1BSRVNFTlQ7DQotICAgICAg ICAgZ290byBvdXQ7DQotICAgICB9DQotKyAgICBpZiAoIGdmbGFncyAmIF9QQUdFX1BTRSApDQot KyAgICB7DQotKyAgICAgICAgcmMgfD0gX1BBR0VfUFNFIHwgX1BBR0VfSU5WQUxJRF9CSVQ7DQot KyAgICAgICAgZ290byBvdXQ7DQotKyAgICB9DQotICAgICByYyB8PSAoKGdmbGFncyAmIG1mbGFn cykgXiBtZmxhZ3MpOw0KLSANCi0gICAgIC8qIE1hcCB0aGUgbDMgdGFibGUgKi8NCi1AQCAtMjQ3 LDcgKzI1Miw3IEBAIGd1ZXN0X3dhbGtfdGFibGVzKHN0cnVjdCB2Y3B1ICp2LCBzdHJ1Y3QNCi0g ICAgIH0NCi0gICAgIHJjIHw9ICgoZ2ZsYWdzICYgbWZsYWdzKSBeIG1mbGFncyk7DQotICAgICAN Ci0tICAgIHBzZTFHID0gKGdmbGFncyAmIF9QQUdFX1BTRSkgJiYgZ3Vlc3Rfc3VwcG9ydHNfMUdf c3VwZXJwYWdlcyh2KTsgDQotKyAgICBwc2UxRyA9ICEhKGdmbGFncyAmIF9QQUdFX1BTRSk7DQot IA0KLSAgICAgaWYgKCBwc2UxRyApDQotICAgICB7DQotQEAgLTI2Nyw2ICsyNzIsOCBAQCBndWVz dF93YWxrX3RhYmxlcyhzdHJ1Y3QgdmNwdSAqdiwgc3RydWN0DQotICAgICAgICAgICAgIC8qIF9Q QUdFX1BTRV9QQVQgbm90IHNldDogcmVtb3ZlIF9QQUdFX1BBVCBmcm9tIGZsYWdzLiAqLw0KLSAg ICAgICAgICAgICBmbGFncyAmPSB+X1BBR0VfUEFUOw0KLSANCi0rICAgICAgICBpZiAoICFndWVz dF9zdXBwb3J0c18xR19zdXBlcnBhZ2VzKHYpICkNCi0rICAgICAgICAgICAgcmMgfD0gX1BBR0Vf UFNFIHwgX1BBR0VfSU5WQUxJRF9CSVQ7DQotICAgICAgICAgaWYgKCBnZm5feChzdGFydCkgJiBH VUVTVF9MM19HRk5fTUFTSyAmIH4weDEgKQ0KLSAgICAgICAgICAgICByYyB8PSBfUEFHRV9JTlZB TElEX0JJVFM7DQotIA0KZGlmZiAtLWdpdCBhL21haW4veGVuL3hzYTE4MS5wYXRjaCBiL21haW4v eGVuL3hzYTE4MS5wYXRjaA0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCBjNDQ1NDFl Li4wMDAwMDAwDQotLS0gYS9tYWluL3hlbi94c2ExODEucGF0Y2gNCisrKyAvZGV2L251bGwNCkBA IC0xLDM4ICswLDAgQEANCi1Gcm9tIGVlNDg4ZTIxMzNlNTgxOTY3ZDEzZDUyODdkN2JkNjU0ZTli MmUyYTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxDQotRnJvbTogQW5kcmV3IENvb3BlciA8YW5k cmV3LmNvb3BlcjNAY2l0cml4LmNvbT4NCi1EYXRlOiBUaHUsIDIgSnVuIDIwMTYgMTQ6MTk6MDAg KzAxMDANCi1TdWJqZWN0OiBbUEFUQ0hdIHhlbi9hcm06IERvbid0IGZyZWUgcDJtLT5yb290IGlu IHAybV90ZWFyZG93bigpIGJlZm9yZSBpdCBoYXMNCi0gYmVlbiBhbGxvY2F0ZWQNCi0NCi1JZiBw Mm1faW5pdCgpIGRpZG4ndCBjb21wbGV0ZSBzdWNjZXNzZnVsbHksIChlLmcuIGR1ZSB0byBWTUlE DQotZXhoYXVzdGlvbiksIHAybV90ZWFyZG93bigpIGlzIGNhbGxlZCBhbmQgdW5jb25kaXRpb25h bGx5IHRyaWVzIHRvIGZyZWUNCi1wMm0tPnJvb3QgYmVmb3JlIGl0IGhhcyBiZWVuIGFsbG9jYXRl ZC4gIGZyZWVfZG9taGVhcF9wYWdlcygpIGRvZXNuJ3QNCi10b2xlcmF0ZSBOVUxMIHBvaW50ZXJz Lg0KLQ0KLVRoaXMgaXMgWFNBLTE4MQ0KLQ0KLVJlcG9ydGVkLWJ5OiBBYXJvbiBDb3JuZWxpdXMg PEFhcm9uLkNvcm5lbGl1c0Bkb3JuZXJ3b3Jrcy5jb20+DQotU2lnbmVkLW9mZi1ieTogQW5kcmV3 IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4NCi1SZXZpZXdlZC1ieTogSmFuIEJl dWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KLVJldmlld2VkLWJ5OiBKdWxpZW4gR3JhbGwgPGp1 bGllbi5ncmFsbEBhcm0uY29tPg0KLS0tLQ0KLSB4ZW4vYXJjaC9hcm0vcDJtLmMgfCAzICsrLQ0K LSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pDQotDQotZGlm ZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9wMm0uYyBiL3hlbi9hcmNoL2FybS9wMm0uYw0KLWluZGV4 IDgzOGQwMDQuLjZhMTljNTcgMTAwNjQ0DQotLS0tIGEveGVuL2FyY2gvYXJtL3AybS5jDQotKysr IGIveGVuL2FyY2gvYXJtL3AybS5jDQotQEAgLTE0MDgsNyArMTQwOCw4IEBAIHZvaWQgcDJtX3Rl YXJkb3duKHN0cnVjdCBkb21haW4gKmQpDQotICAgICB3aGlsZSAoIChwZyA9IHBhZ2VfbGlzdF9y ZW1vdmVfaGVhZCgmcDJtLT5wYWdlcykpICkNCi0gICAgICAgICBmcmVlX2RvbWhlYXBfcGFnZShw Zyk7DQotIA0KLS0gICAgZnJlZV9kb21oZWFwX3BhZ2VzKHAybS0+cm9vdCwgUDJNX1JPT1RfT1JE RVIpOw0KLSsgICAgaWYgKCBwMm0tPnJvb3QgKQ0KLSsgICAgICAgIGZyZWVfZG9taGVhcF9wYWdl cyhwMm0tPnJvb3QsIFAyTV9ST09UX09SREVSKTsNCi0gDQotICAgICBwMm0tPnJvb3QgPSBOVUxM Ow0KLSANCi0tLSANCi0yLjEuNA0KLQ0KZGlmZiAtLWdpdCBhL21haW4veGVuL3hzYTE4Mi00LjUu cGF0Y2ggYi9tYWluL3hlbi94c2ExODItNC41LnBhdGNoDQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2 NDQNCmluZGV4IDk1OTcxYTQuLjAwMDAwMDANCi0tLSBhL21haW4veGVuL3hzYTE4Mi00LjUucGF0 Y2gNCisrKyAvZGV2L251bGwNCkBAIC0xLDEwMiArMCwwIEBADQotRnJvbSA3OThjMTQ5OGY3NjRi ZmFhN2IwYjk1NWJhYjQwYjAxYjA2MTBkMzcyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQ0KLUZy b206IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+DQotRGF0ZTogTW9u LCAxMSBKdWwgMjAxNiAxNDozMjowMyArMDEwMA0KLVN1YmplY3Q6IFtQQVRDSF0geDg2L3B2OiBS ZW1vdmUgdW5zYWZlIGJpdHMgZnJvbSB0aGUgbW9kX2w/X2VudHJ5KCkgZmFzdHBhdGgNCi0NCi1B bGwgY2hhbmdlcyBpbiB3cml0ZWFiaWxpdHkgYW5kIGNhY2hlYWJpbGl0eSBtdXN0IGdvIHRocm91 Z2ggZnVsbA0KLXJlLXZhbGlkYXRpb24uDQotDQotUmV3b3JrIHRoZSBsb2dpYyBhcyBhIHdoaXRl bGlzdCwgdG8gbWFrZSBpdCBjbGVhcmVyIHRvIGZvbGxvdy4NCi0NCi1UaGlzIGlzIFhTQS0xODIN Ci0NCi1SZXBvcnRlZC1ieTogSsOpcsOpbWllIEJvdXRvaWxsZSA8amJvdXRvaWxsZUBleHQucXVh cmtzbGFiLmNvbT4NCi1TaWduZWQtb2ZmLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVy M0BjaXRyaXguY29tPg0KLVJldmlld2VkLWJ5OiBUaW0gRGVlZ2FuIDx0aW1AeGVuLm9yZz4NCi0t LS0NCi0geGVuL2FyY2gveDg2L21tLmMgICAgICAgICAgfCAyOCArKysrKysrKysrKysrKysrLS0t LS0tLS0tLS0tDQotIHhlbi9pbmNsdWRlL2FzbS14ODYvcGFnZS5oIHwgIDEgKw0KLSAyIGZpbGVz IGNoYW5nZWQsIDE3IGluc2VydGlvbnMoKyksIDEyIGRlbGV0aW9ucygtKQ0KLQ0KLWRpZmYgLS1n aXQgYS94ZW4vYXJjaC94ODYvbW0uYyBiL3hlbi9hcmNoL3g4Ni9tbS5jDQotaW5kZXggYjRjNGZh NC4uYTY4YTFhYiAxMDA2NDQNCi0tLS0gYS94ZW4vYXJjaC94ODYvbW0uYw0KLSsrKyBiL3hlbi9h cmNoL3g4Ni9tbS5jDQotQEAgLTE2OTUsNiArMTY5NSwxNCBAQCBzdGF0aWMgaW5saW5lIGludCB1 cGRhdGVfaW50cHRlKGludHB0ZV90ICpwLA0KLSAgICAgICAgICAgICAgICAgICBfdCAjIyBlX2dl dF9pbnRwdGUoX28pLCBfdCAjIyBlX2dldF9pbnRwdGUoX24pLCAgIFwNCi0gICAgICAgICAgICAg ICAgICAgKF9tKSwgKF92KSwgKF9hZCkpDQotIA0KLSsvKg0KLSsgKiBQVEUgZmxhZ3MgdGhhdCBh IGd1ZXN0IG1heSBjaGFuZ2Ugd2l0aG91dCByZS12YWxpZGF0aW5nIHRoZSBQVEUuDQotKyAqIEFs bCBvdGhlciBiaXRzIGFmZmVjdCB0cmFuc2xhdGlvbiwgY2FjaGluZywgb3IgWGVuJ3Mgc2FmZXR5 Lg0KLSsgKi8NCi0rI2RlZmluZSBGQVNUUEFUSF9GTEFHX1dISVRFTElTVCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcDQotKyAgICAoX1BBR0VfTlhfQklUIHwgX1BBR0VfQVZB SUxfSElHSCB8IF9QQUdFX0FWQUlMIHwgX1BBR0VfR0xPQkFMIHwgXA0KLSsgICAgIF9QQUdFX0RJ UlRZIHwgX1BBR0VfQUNDRVNTRUQgfCBfUEFHRV9VU0VSKQ0KLSsNCi0gLyogVXBkYXRlIHRoZSBM MSBlbnRyeSBhdCBwbDFlIHRvIG5ldyB2YWx1ZSBubDFlLiAqLw0KLSBzdGF0aWMgaW50IG1vZF9s MV9lbnRyeShsMV9wZ2VudHJ5X3QgKnBsMWUsIGwxX3BnZW50cnlfdCBubDFlLA0KLSAgICAgICAg ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGdsMW1mbiwgaW50IHByZXNlcnZlX2FkLA0K LUBAIC0xNzM1LDkgKzE3NDMsOCBAQCBzdGF0aWMgaW50IG1vZF9sMV9lbnRyeShsMV9wZ2VudHJ5 X3QgKnBsMWUsIGwxX3BnZW50cnlfdCBubDFlLA0KLSAgICAgICAgICAgICByZXR1cm4gLUVJTlZB TDsNCi0gICAgICAgICB9DQotIA0KLS0gICAgICAgIC8qIEZhc3QgcGF0aCBmb3IgaWRlbnRpY2Fs IG1hcHBpbmcsIHIvdywgcHJlc2VuY2UsIGFuZCBjYWNoYWJpbGl0eS4gKi8NCi0tICAgICAgICBp ZiAoICFsMWVfaGFzX2NoYW5nZWQob2wxZSwgbmwxZSwNCi0tICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgUEFHRV9DQUNIRV9BVFRSUyB8IF9QQUdFX1JXIHwgX1BBR0VfUFJFU0VOVCkgKQ0K LSsgICAgICAgIC8qIEZhc3QgcGF0aCBmb3Igc3VmZmljaWVudGx5LXNpbWlsYXIgbWFwcGluZ3Mu ICovDQotKyAgICAgICAgaWYgKCAhbDFlX2hhc19jaGFuZ2VkKG9sMWUsIG5sMWUsIH5GQVNUUEFU SF9GTEFHX1dISVRFTElTVCkgKQ0KLSAgICAgICAgIHsNCi0gICAgICAgICAgICAgYWRqdXN0X2d1 ZXN0X2wxZShubDFlLCBwdF9kb20pOw0KLSAgICAgICAgICAgICBpZiAoIFVQREFURV9FTlRSWShs MSwgcGwxZSwgb2wxZSwgbmwxZSwgZ2wxbWZuLCBwdF92Y3B1LA0KLUBAIC0xODE5LDExICsxODI2 LDggQEAgc3RhdGljIGludCBtb2RfbDJfZW50cnkobDJfcGdlbnRyeV90ICpwbDJlLA0KLSAgICAg ICAgICAgICByZXR1cm4gLUVJTlZBTDsNCi0gICAgICAgICB9DQotIA0KLS0gICAgICAgIC8qIEZh c3QgcGF0aCBmb3IgaWRlbnRpY2FsIG1hcHBpbmcgYW5kIHByZXNlbmNlLiAqLw0KLS0gICAgICAg IGlmICggIWwyZV9oYXNfY2hhbmdlZChvbDJlLCBubDJlLA0KLS0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB1bmxpa2VseShvcHRfYWxsb3dfc3VwZXJwYWdlKQ0KLS0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICA/IF9QQUdFX1BTRSB8IF9QQUdFX1JXIHwgX1BBR0VfUFJFU0VOVA0K LS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9QQUdFX1BSRVNFTlQpICkNCi0rICAg ICAgICAvKiBGYXN0IHBhdGggZm9yIHN1ZmZpY2llbnRseS1zaW1pbGFyIG1hcHBpbmdzLiAqLw0K LSsgICAgICAgIGlmICggIWwyZV9oYXNfY2hhbmdlZChvbDJlLCBubDJlLCB+RkFTVFBBVEhfRkxB R19XSElURUxJU1QpICkNCi0gICAgICAgICB7DQotICAgICAgICAgICAgIGFkanVzdF9ndWVzdF9s MmUobmwyZSwgZCk7DQotICAgICAgICAgICAgIGlmICggVVBEQVRFX0VOVFJZKGwyLCBwbDJlLCBv bDJlLCBubDJlLCBwZm4sIHZjcHUsIHByZXNlcnZlX2FkKSApDQotQEAgLTE4ODgsOCArMTg5Miw4 IEBAIHN0YXRpYyBpbnQgbW9kX2wzX2VudHJ5KGwzX3BnZW50cnlfdCAqcGwzZSwNCi0gICAgICAg ICAgICAgcmV0dXJuIC1FSU5WQUw7DQotICAgICAgICAgfQ0KLSANCi0tICAgICAgICAvKiBGYXN0 IHBhdGggZm9yIGlkZW50aWNhbCBtYXBwaW5nIGFuZCBwcmVzZW5jZS4gKi8NCi0tICAgICAgICBp ZiAoICFsM2VfaGFzX2NoYW5nZWQob2wzZSwgbmwzZSwgX1BBR0VfUFJFU0VOVCkgKQ0KLSsgICAg ICAgIC8qIEZhc3QgcGF0aCBmb3Igc3VmZmljaWVudGx5LXNpbWlsYXIgbWFwcGluZ3MuICovDQot KyAgICAgICAgaWYgKCAhbDNlX2hhc19jaGFuZ2VkKG9sM2UsIG5sM2UsIH5GQVNUUEFUSF9GTEFH X1dISVRFTElTVCkgKQ0KLSAgICAgICAgIHsNCi0gICAgICAgICAgICAgYWRqdXN0X2d1ZXN0X2wz ZShubDNlLCBkKTsNCi0gICAgICAgICAgICAgcmMgPSBVUERBVEVfRU5UUlkobDMsIHBsM2UsIG9s M2UsIG5sM2UsIHBmbiwgdmNwdSwgcHJlc2VydmVfYWQpOw0KLUBAIC0xOTUyLDggKzE5NTYsOCBA QCBzdGF0aWMgaW50IG1vZF9sNF9lbnRyeShsNF9wZ2VudHJ5X3QgKnBsNGUsDQotICAgICAgICAg ICAgIHJldHVybiAtRUlOVkFMOw0KLSAgICAgICAgIH0NCi0gDQotLSAgICAgICAgLyogRmFzdCBw YXRoIGZvciBpZGVudGljYWwgbWFwcGluZyBhbmQgcHJlc2VuY2UuICovDQotLSAgICAgICAgaWYg KCAhbDRlX2hhc19jaGFuZ2VkKG9sNGUsIG5sNGUsIF9QQUdFX1BSRVNFTlQpICkNCi0rICAgICAg ICAvKiBGYXN0IHBhdGggZm9yIHN1ZmZpY2llbnRseS1zaW1pbGFyIG1hcHBpbmdzLiAqLw0KLSsg ICAgICAgIGlmICggIWw0ZV9oYXNfY2hhbmdlZChvbDRlLCBubDRlLCB+RkFTVFBBVEhfRkxBR19X SElURUxJU1QpICkNCi0gICAgICAgICB7DQotICAgICAgICAgICAgIGFkanVzdF9ndWVzdF9sNGUo bmw0ZSwgZCk7DQotICAgICAgICAgICAgIHJjID0gVVBEQVRFX0VOVFJZKGw0LCBwbDRlLCBvbDRl LCBubDRlLCBwZm4sIHZjcHUsIHByZXNlcnZlX2FkKTsNCi1kaWZmIC0tZ2l0IGEveGVuL2luY2x1 ZGUvYXNtLXg4Ni9wYWdlLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L3BhZ2UuaA0KLWluZGV4IDZk Yzk2NDYuLjAzYzAyNGMgMTAwNjQ0DQotLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9wYWdlLmgN Ci0rKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L3BhZ2UuaA0KLUBAIC0zMDgsNiArMzA4LDcgQEAg dm9pZCBlZmlfdXBkYXRlX2w0X3BndGFibGUodW5zaWduZWQgaW50IGw0aWR4LCBsNF9wZ2VudHJ5 X3QpOw0KLSAjZGVmaW5lIF9QQUdFX0FWQUlMMiAgIF9BQygweDgwMCxVKQ0KLSAjZGVmaW5lIF9Q QUdFX0FWQUlMICAgIF9BQygweEUwMCxVKQ0KLSAjZGVmaW5lIF9QQUdFX1BTRV9QQVQgX0FDKDB4 MTAwMCxVKQ0KLSsjZGVmaW5lIF9QQUdFX0FWQUlMX0hJR0ggKF9BQygweDdmZiwgVSkgPDwgMTIp DQotIC8qIG5vbi1hcmNoaXRlY3R1cmFsIGZsYWdzICovDQotICNkZWZpbmUgX1BBR0VfUEFHRUQg ICAweDIwMDBVDQotICNkZWZpbmUgX1BBR0VfU0hBUkVEICAweDQwMDBVDQotLS0gDQotMi4xLjQN Ci0NCmRpZmYgLS1naXQgYS9tYWluL3hlbi94c2ExODMtNC42LnBhdGNoIGIvbWFpbi94ZW4veHNh MTgzLTQuNi5wYXRjaA0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCA4NGQ3MDA3Li4w MDAwMDAwDQotLS0gYS9tYWluL3hlbi94c2ExODMtNC42LnBhdGNoDQorKysgL2Rldi9udWxsDQpA QCAtMSw3NSArMCwwIEBADQotRnJvbSA3NzdlYmUzMGU4MWFiMjg0ZjliNzgzOTI4NzVmZTg4NGE1 OTNkZjM1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQ0KLUZyb206IEFuZHJldyBDb29wZXIgPGFu ZHJldy5jb29wZXIzQGNpdHJpeC5jb20+DQotRGF0ZTogV2VkLCAxNSBKdW4gMjAxNiAxODozMjox NCArMDEwMA0KLVN1YmplY3Q6IFtQQVRDSF0geDg2L2VudHJ5OiBBdm9pZCBTTUFQIHZpb2xhdGlv biBpbg0KLSBjb21wYXRfY3JlYXRlX2JvdW5jZV9mcmFtZSgpDQotDQotQSAzMmJpdCBndWVzdCBr ZXJuZWwgbWlnaHQgYmUgcnVubmluZyBvbiB1c2VyIG1hcHBpbmdzLg0KLWNvbXBhdF9jcmVhdGVf Ym91bmNlX2ZyYW1lKCkgbXVzdCB3aGl0ZWxpc3QgaXRzIGd1ZXN0IGFjY2Vzc2VzIHRvIGF2b2lk DQotcmlza2luZyBhIFNNQVAgdmlvbGF0aW9uLg0KLQ0KLUZvciBib3RoIHZhcmlhbnRzIG9mIGNy ZWF0ZV9ib3VuY2VfZnJhbWUoKSwgcmUtYmxhY2tsaXN0IHVzZXIgYWNjZXNzZXMgaWYNCi1leGVj dXRpb24gZXhpdHMgdmlhIGFuIGV4Y2VwdGlvbiB0YWJsZSByZWRpcmVjdGlvbi4NCi0NCi1UaGlz IGlzIFhTQS0xODMgLyBDVkUtMjAxNi02MjU5DQotDQotU2lnbmVkLW9mZi1ieTogQW5kcmV3IENv b3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4NCi1SZXZpZXdlZC1ieTogR2VvcmdlIER1 bmxhcCA8Z2VvcmdlLmR1bmxhcEBjaXRyaXguY29tPg0KLVJldmlld2VkLWJ5OiBKYW4gQmV1bGlj aCA8amJldWxpY2hAc3VzZS5jb20+DQotLS0tDQotdjI6DQotICogSW5jbHVkZSBDTEFDIG9uIHRo ZSBleGl0IHBhdGhzIGZyb20gY29tcGF0X2NyZWF0ZV9ib3VuY2VfZnJhbWUgd2hpY2ggb2NjdXIN Ci0gICBmcm9tIGZhdWx0cyBhdHRlbXB0aW5nIHRvIGxvYWQgJWZzDQotICogUmVwb3NpdGlvbiBB U01fU1RBQyB0byBhdm9pZCBicmVha2luZyB0aGUgbWFjcm8tb3AgZnVzaW9uIG9mIHRlc3QvanoN Ci0tLS0NCi0geGVuL2FyY2gveDg2L3g4Nl82NC9jb21wYXQvZW50cnkuUyB8IDMgKysrDQotIHhl bi9hcmNoL3g4Ni94ODZfNjQvZW50cnkuUyAgICAgICAgfCAyICsrDQotIDIgZmlsZXMgY2hhbmdl ZCwgNSBpbnNlcnRpb25zKCspDQotDQotZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni94ODZfNjQv Y29tcGF0L2VudHJ5LlMgYi94ZW4vYXJjaC94ODYveDg2XzY0L2NvbXBhdC9lbnRyeS5TDQotaW5k ZXggMGUzZGI3Yy4uMWVhZjRiYiAxMDA2NDQNCi0tLS0gYS94ZW4vYXJjaC94ODYveDg2XzY0L2Nv bXBhdC9lbnRyeS5TDQotKysrIGIveGVuL2FyY2gveDg2L3g4Nl82NC9jb21wYXQvZW50cnkuUw0K LUBAIC0zNTAsNiArMzUwLDcgQEAgRU5UUlkoY29tcGF0X2ludDgwX2RpcmVjdF90cmFwKQ0KLSBj b21wYXRfY3JlYXRlX2JvdW5jZV9mcmFtZToNCi0gICAgICAgICBBU1NFUlRfSU5URVJSVVBUU19F TkFCTEVEDQotICAgICAgICAgbW92ICAgJWZzLCVlZGkNCi0rICAgICAgICBBU01fU1RBQw0KLSAg ICAgICAgIHRlc3RiICQyLFVSRUdTX2NzKzgoJXJzcCkNCi0gICAgICAgICBqeiAgICAxZg0KLSAg ICAgICAgIC8qIFB1c2ggbmV3IGZyYW1lIGF0IHJlZ2lzdGVyZWQgZ3Vlc3QtT1Mgc3RhY2sgYmFz ZS4gKi8NCi1AQCAtNDAzLDYgKzQwNCw3IEBAIFVOTElLRUxZX1NUQVJUKG56LCBjb21wYXRfYm91 bmNlX2ZhaWxzYWZlKQ0KLSAgICAgICAgIG1vdmwgICVkcywlZWF4DQotIC5MZnQxMjogbW92bCAg JWVheCwlZnM6MCo0KCVyc2kpICAgICAgICAjIERTDQotIFVOTElLRUxZX0VORChjb21wYXRfYm91 bmNlX2ZhaWxzYWZlKQ0KLSsgICAgICAgIEFTTV9DTEFDDQotICAgICAgICAgLyogUmV3cml0ZSBv dXIgc3RhY2sgZnJhbWUgYW5kIHJldHVybiB0byBndWVzdC1PUyBtb2RlLiAqLw0KLSAgICAgICAg IC8qIElBMzIgUmVmLiBWb2wuIDM6IFRGLCBWTSwgUkYgYW5kIE5UIGZsYWdzIGFyZSBjbGVhcmVk IG9uIHRyYXAuICovDQotICAgICAgICAgYW5kbCAgJH4oWDg2X0VGTEFHU19WTXxYODZfRUZMQUdT X1JGfFwNCi1AQCAtNDQ4LDYgKzQ1MCw3IEBAIGNvbXBhdF9jcmFzaF9wYWdlX2ZhdWx0XzQ6DQot ICAgICAgICAgYWRkbCAgJDQsJWVzaQ0KLSBjb21wYXRfY3Jhc2hfcGFnZV9mYXVsdDoNCi0gLkxm dDE0OiBtb3YgICAlZWRpLCVmcw0KLSsgICAgICAgIEFTTV9DTEFDDQotICAgICAgICAgbW92bCAg JWVzaSwlZWRpDQotICAgICAgICAgY2FsbCAgc2hvd19wYWdlX3dhbGsNCi0gICAgICAgICBqbXAg ICBkb21fY3Jhc2hfc3luY19leHRhYmxlDQotZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni94ODZf NjQvZW50cnkuUyBiL3hlbi9hcmNoL3g4Ni94ODZfNjQvZW50cnkuUw0KLWluZGV4IDZlMjc1MDgu LjBjMmU2M2EgMTAwNjQ0DQotLS0tIGEveGVuL2FyY2gveDg2L3g4Nl82NC9lbnRyeS5TDQotKysr IGIveGVuL2FyY2gveDg2L3g4Nl82NC9lbnRyeS5TDQotQEAgLTQ2Miw5ICs0NjIsMTEgQEAgZG9t YWluX2NyYXNoX3BhZ2VfZmF1bHRfMTY6DQotIGRvbWFpbl9jcmFzaF9wYWdlX2ZhdWx0Xzg6DQot ICAgICAgICAgYWRkcSAgJDgsJXJzaQ0KLSBkb21haW5fY3Jhc2hfcGFnZV9mYXVsdDoNCi0rICAg ICAgICBBU01fQ0xBQw0KLSAgICAgICAgIG1vdnEgICVyc2ksJXJkaQ0KLSAgICAgICAgIGNhbGwg IHNob3dfcGFnZV93YWxrDQotIEVOVFJZKGRvbV9jcmFzaF9zeW5jX2V4dGFibGUpDQotKyAgICAg ICAgQVNNX0NMQUMNCi0gICAgICAgICAjIEdldCBvdXQgb2YgdGhlIGd1ZXN0LXNhdmUgYXJlYSBv ZiB0aGUgc3RhY2suDQotICAgICAgICAgR0VUX1NUQUNLX0JBU0UoJXJheCkNCi0gICAgICAgICBs ZWFxICBTVEFDS19DUFVJTkZPX0ZJRUxEKGd1ZXN0X2NwdV91c2VyX3JlZ3MpKCVyYXgpLCVyc3AN Ci0tLSANCi0yLjEuNA0KLQ0KZGlmZiAtLWdpdCBhL21haW4veGVuL3hzYTE4NC1xZW11dC1tYXN0 ZXIucGF0Y2ggYi9tYWluL3hlbi94c2ExODQtcWVtdXQtbWFzdGVyLnBhdGNoDQpkZWxldGVkIGZp bGUgbW9kZSAxMDA2NDQNCmluZGV4IGIzNzZmMzMuLjAwMDAwMDANCi0tLSBhL21haW4veGVuL3hz YTE4NC1xZW11dC1tYXN0ZXIucGF0Y2gNCisrKyAvZGV2L251bGwNCkBAIC0xLDQzICswLDAgQEAN Ci1Gcm9tIDE3ZDhjNGU0N2RmYjQxY2I2Nzc4NTIwZmYyZWFiN2ExMWZlMTJkZmQgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxDQotRnJvbTogUCBKIFAgPHBwYW5kaXRAcmVkaGF0LmNvbT4NCi1EYXRl OiBUdWUsIDI2IEp1bCAyMDE2IDE1OjMxOjU5ICswMTAwDQotU3ViamVjdDogW1BBVENIXSB2aXJ0 aW86IGVycm9yIG91dCBpZiBndWVzdCBleGNlZWRzIHZpcnRxdWV1ZSBzaXplDQotDQotQSBicm9r ZW4gb3IgbWFsaWNpb3VzIGd1ZXN0IGNhbiBzdWJtaXQgbW9yZSByZXF1ZXN0cyB0aGFuIHRoZSB2 aXJ0cXVldWUNCi1zaXplIHBlcm1pdHMuDQotDQotVGhlIGd1ZXN0IGNhbiBzdWJtaXQgcmVxdWVz dHMgd2l0aG91dCBib3RoZXJpbmcgdG8gd2FpdCBmb3IgY29tcGxldGlvbg0KLWFuZCBpcyB0aGVy ZWZvcmUgbm90IGJvdW5kIGJ5IHZpcnRxdWV1ZSBzaXplLiAgVGhpcyByZXF1aXJlcyByZXVzaW5n DQotdnJpbmcgZGVzY3JpcHRvcnMgaW4gbW9yZSB0aGFuIG9uZSByZXF1ZXN0LCB3aGljaCBpcyBp bmNvcnJlY3QgYnV0DQotcG9zc2libGUuICBQcm9jZXNzaW5nIGEgcmVxdWVzdCBhbGxvY2F0ZXMg YSBWaXJ0UXVldWVFbGVtZW50IGFuZA0KLXRoZXJlZm9yZSBjYXVzZXMgdW5ib3VuZGVkIG1lbW9y eSBhbGxvY2F0aW9uIGNvbnRyb2xsZWQgYnkgdGhlIGd1ZXN0Lg0KLQ0KLUV4aXQgd2l0aCBhbiBl cnJvciBpZiB0aGUgZ3Vlc3QgcHJvdmlkZXMgbW9yZSByZXF1ZXN0cyB0aGFuIHRoZQ0KLXZpcnRx dWV1ZSBzaXplIHBlcm1pdHMuICBUaGlzIGJvdW5kcyBtZW1vcnkgYWxsb2NhdGlvbiBhbmQgbWFr ZXMgdGhlDQotYnVnZ3kgZ3Vlc3QgdmlzaWJsZSB0byB0aGUgdXNlci4NCi0NCi1SZXBvcnRlZC1i eTogWmhlbmhhbyBIb25nIDx6aGVuaGFvaG9uZ0BnbWFpbC5jb20+DQotU2lnbmVkLW9mZi1ieTog U3RlZmFuIEhham5vY3ppIDxzdGVmYW5oYUByZWRoYXQuY29tPg0KLS0tLQ0KLSBody92aXJ0aW8u YyB8IDUgKysrKysNCi0gMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKQ0KLQ0KLWRpZmYg LS1naXQgYS9ody92aXJ0aW8uYyBiL2h3L3ZpcnRpby5jDQotaW5kZXggYzI2ZmVmZi4uNDI4OTdi ZiAxMDA2NDQNCi0tLS0gYS90b29scy9xZW11LXhlbi10cmFkaXRpb25hbC9ody92aXJ0aW8uYw0K LSsrKyBiL3Rvb2xzL3FlbXUteGVuLXRyYWRpdGlvbmFsL2h3L3ZpcnRpby5jDQotQEAgLTQyMSw2 ICs0MjEsMTEgQEAgaW50IHZpcnRxdWV1ZV9wb3AoVmlydFF1ZXVlICp2cSwgVmlydFF1ZXVlRWxl bWVudCAqZWxlbSkNCi0gICAgIC8qIFdoZW4gd2Ugc3RhcnQgdGhlcmUgYXJlIG5vbmUgb2YgZWl0 aGVyIGlucHV0IG5vciBvdXRwdXQuICovDQotICAgICBlbGVtLT5vdXRfbnVtID0gZWxlbS0+aW5f bnVtID0gMDsNCi0gDQotKyAgICBpZiAodnEtPmludXNlID49IHZxLT52cmluZy5udW0pIHsNCi0r ICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIlZpcnRxdWV1ZSBzaXplIGV4Y2VlZGVkIik7DQotKyAg ICAgICAgZXhpdCgxKTsNCi0rICAgIH0NCi0rDQotICAgICBpID0gaGVhZCA9IHZpcnRxdWV1ZV9n ZXRfaGVhZCh2cSwgdnEtPmxhc3RfYXZhaWxfaWR4KyspOw0KLSAgICAgZG8gew0KLSAgICAgICAg IHN0cnVjdCBpb3ZlYyAqc2c7DQotLS0gDQotMi4xLjQNCi0NCmRpZmYgLS1naXQgYS9tYWluL3hl bi94c2ExODQtcWVtdXUtbWFzdGVyLnBhdGNoIGIvbWFpbi94ZW4veHNhMTg0LXFlbXV1LW1hc3Rl ci5wYXRjaA0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCBiYmU0NGU4Li4wMDAwMDAw DQotLS0gYS9tYWluL3hlbi94c2ExODQtcWVtdXUtbWFzdGVyLnBhdGNoDQorKysgL2Rldi9udWxs DQpAQCAtMSw0MyArMCwwIEBADQotRnJvbSBlNDY5ZGIyNWQ2YjJlNWM3MWNkMTU0NTE4ODkyMjY2 NDFjNTNhNWNkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQ0KLUZyb206IFAgSiBQIDxwcGFuZGl0 QHJlZGhhdC5jb20+DQotRGF0ZTogTW9uLCAyNSBKdWwgMjAxNiAxNzozNzoxOCArMDUzMA0KLVN1 YmplY3Q6IFtQQVRDSF0gdmlydGlvOiBlcnJvciBvdXQgaWYgZ3Vlc3QgZXhjZWVkcyB2aXJ0cXVl dWUgc2l6ZQ0KLQ0KLUEgYnJva2VuIG9yIG1hbGljaW91cyBndWVzdCBjYW4gc3VibWl0IG1vcmUg cmVxdWVzdHMgdGhhbiB0aGUgdmlydHF1ZXVlDQotc2l6ZSBwZXJtaXRzLg0KLQ0KLVRoZSBndWVz dCBjYW4gc3VibWl0IHJlcXVlc3RzIHdpdGhvdXQgYm90aGVyaW5nIHRvIHdhaXQgZm9yIGNvbXBs ZXRpb24NCi1hbmQgaXMgdGhlcmVmb3JlIG5vdCBib3VuZCBieSB2aXJ0cXVldWUgc2l6ZS4gIFRo aXMgcmVxdWlyZXMgcmV1c2luZw0KLXZyaW5nIGRlc2NyaXB0b3JzIGluIG1vcmUgdGhhbiBvbmUg cmVxdWVzdCwgd2hpY2ggaXMgaW5jb3JyZWN0IGJ1dA0KLXBvc3NpYmxlLiAgUHJvY2Vzc2luZyBh IHJlcXVlc3QgYWxsb2NhdGVzIGEgVmlydFF1ZXVlRWxlbWVudCBhbmQNCi10aGVyZWZvcmUgY2F1 c2VzIHVuYm91bmRlZCBtZW1vcnkgYWxsb2NhdGlvbiBjb250cm9sbGVkIGJ5IHRoZSBndWVzdC4N Ci0NCi1FeGl0IHdpdGggYW4gZXJyb3IgaWYgdGhlIGd1ZXN0IHByb3ZpZGVzIG1vcmUgcmVxdWVz dHMgdGhhbiB0aGUNCi12aXJ0cXVldWUgc2l6ZSBwZXJtaXRzLiAgVGhpcyBib3VuZHMgbWVtb3J5 IGFsbG9jYXRpb24gYW5kIG1ha2VzIHRoZQ0KLWJ1Z2d5IGd1ZXN0IHZpc2libGUgdG8gdGhlIHVz ZXIuDQotDQotUmVwb3J0ZWQtYnk6IFpoZW5oYW8gSG9uZyA8emhlbmhhb2hvbmdAZ21haWwuY29t Pg0KLVNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBIYWpub2N6aSA8c3RlZmFuaGFAcmVkaGF0LmNvbT4N Ci0tLS0NCi0gaHcvdmlydGlvL3ZpcnRpby5jIHwgNSArKysrKw0KLSAxIGZpbGUgY2hhbmdlZCwg NSBpbnNlcnRpb25zKCspDQotDQotZGlmZiAtLWdpdCBhL2h3L3ZpcnRpby92aXJ0aW8uYyBiL2h3 L3ZpcnRpby92aXJ0aW8uYw0KLWluZGV4IGQyNGY3NzUuLmY4YWMwZmIgMTAwNjQ0DQotLS0tIGEv dG9vbHMvcWVtdS14ZW4vaHcvdmlydGlvL3ZpcnRpby5jDQotKysrIGIvdG9vbHMvcWVtdS14ZW4v aHcvdmlydGlvL3ZpcnRpby5jDQotQEAgLTQ4Myw2ICs0ODMsMTEgQEAgaW50IHZpcnRxdWV1ZV9w b3AoVmlydFF1ZXVlICp2cSwgVmlydFF1ZXVlRWxlbWVudCAqZWxlbSkNCi0gDQotICAgICBtYXgg PSB2cS0+dnJpbmcubnVtOw0KLSANCi0rICAgIGlmICh2cS0+aW51c2UgPj0gbWF4KSB7DQotKyAg ICAgICAgZXJyb3JfcmVwb3J0KCJWaXJ0cXVldWUgc2l6ZSBleGNlZWRlZCIpOw0KLSsgICAgICAg IGV4aXQoMSk7DQotKyAgICB9DQotKw0KLSAgICAgaSA9IGhlYWQgPSB2aXJ0cXVldWVfZ2V0X2hl YWQodnEsIHZxLT5sYXN0X2F2YWlsX2lkeCsrKTsNCi0gICAgIGlmICh2aXJ0aW9fdmRldl9oYXNf ZmVhdHVyZSh2ZGV2LCBWSVJUSU9fUklOR19GX0VWRU5UX0lEWCkpIHsNCi0gICAgICAgICB2cmlu Z19zZXRfYXZhaWxfZXZlbnQodnEsIHZxLT5sYXN0X2F2YWlsX2lkeCk7DQotLS0gDQotMi4xLjQN Ci0NCmRpZmYgLS1naXQgYS9tYWluL3hlbi94c2ExODUucGF0Y2ggYi9tYWluL3hlbi94c2ExODUu cGF0Y2gNCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggYTRjMTMzZS4uMDAwMDAwMA0K LS0tIGEvbWFpbi94ZW4veHNhMTg1LnBhdGNoDQorKysgL2Rldi9udWxsDQpAQCAtMSwzOCArMCww IEBADQotRnJvbSAzMGFiYTQ5OTJiMTgyNDVjNDM2ZjE2ZGY3MzI2YTE2YzAxYTUxNTcwIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQ0KLUZyb206IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNv bT4NCi1EYXRlOiBNb24sIDggQXVnIDIwMTYgMTA6NTg6MTIgKzAxMDANCi1TdWJqZWN0OiB4ODYv MzJvbjY0OiBkb24ndCBhbGxvdyByZWN1cnNpdmUgcGFnZSB0YWJsZXMgZnJvbSBMMw0KLQ0KLUwz IGVudHJpZXMgYXJlIHNwZWNpYWwgaW4gUEFFIG1vZGUsIGFuZCBoZW5jZSBjYW4ndCByZWFzb25h Ymx5IGJlIHVzZWQNCi1mb3Igc2V0dGluZyB1cCByZWN1cnNpdmUgKGFuZCBoZW5jZSBsaW5lYXIp IHBhZ2UgdGFibGUgbWFwcGluZ3MuIFNpbmNlDQotYWJ1c2UgaXMgcG9zc2libGUgd2hlbiB0aGUg Z3Vlc3QgaW4gZmFjdCBnZXRzIHJ1biBvbiA0LWxldmVsIHBhZ2UNCi10YWJsZXMsIHRoaXMgbmVl ZHMgdG8gYmUgZXhjbHVkZWQgZXhwbGljaXRseS4NCi0NCi1UaGlzIGlzIFhTQS0xODUuDQotDQot UmVwb3J0ZWQtYnk6IErDqXLDqW1pZSBCb3V0b2lsbGUgPGpib3V0b2lsbGVAZXh0LnF1YXJrc2xh Yi5jb20+DQotUmVwb3J0ZWQtYnk6IOagvuWwmuiBqijlpb3po44pIDxzaGFuZ2NvbmcubHNjQGFs aWJhYmEtaW5jLmNvbT4NCi1TaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3Vz ZS5jb20+DQotUmV2aWV3ZWQtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJp eC5jb20+DQotLS0tDQotIHhlbi9hcmNoL3g4Ni9tbS5jIHwgNCArKystDQotIDEgZmlsZSBjaGFu Z2VkLCAzIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkNCi0NCi1kaWZmIC0tZ2l0IGEveGVu L2FyY2gveDg2L21tLmMgYi94ZW4vYXJjaC94ODYvbW0uYw0KLWluZGV4IDEwOWI4YmUuLjY5Yjhi OGQgMTAwNjQ0DQotLS0tIGEveGVuL2FyY2gveDg2L21tLmMNCi0rKysgYi94ZW4vYXJjaC94ODYv bW0uYw0KLUBAIC0xMTIyLDcgKzExMjIsOSBAQCBnZXRfcGFnZV9mcm9tX2wzZSgNCi0gDQotICAg ICByYyA9IGdldF9wYWdlX2FuZF90eXBlX2Zyb21fcGFnZW5yKA0KLSAgICAgICAgIGwzZV9nZXRf cGZuKGwzZSksIFBHVF9sMl9wYWdlX3RhYmxlLCBkLCBwYXJ0aWFsLCAxKTsNCi0tICAgIGlmICgg dW5saWtlbHkocmMgPT0gLUVJTlZBTCkgJiYgZ2V0X2wzX2xpbmVhcl9wYWdldGFibGUobDNlLCBw Zm4sIGQpICkNCi0rICAgIGlmICggdW5saWtlbHkocmMgPT0gLUVJTlZBTCkgJiYNCi0rICAgICAg ICAgIWlzX3B2XzMyYml0X2RvbWFpbihkKSAmJg0KLSsgICAgICAgICBnZXRfbDNfbGluZWFyX3Bh Z2V0YWJsZShsM2UsIHBmbiwgZCkgKQ0KLSAgICAgICAgIHJjID0gMDsNCi0gDQotICAgICByZXR1 cm4gcmM7DQotLS0gDQotMi4xLjQNCi0NCmRpZmYgLS1naXQgYS9tYWluL3hlbi94c2ExODYtMDAw MS14ODYtZW11bGF0ZS1Db3JyZWN0LWJvdW5kYXJ5LWludGVyYWN0aW9ucy1vZi1lbXVsYXRlLnBh dGNoIGIvbWFpbi94ZW4veHNhMTg2LTAwMDEteDg2LWVtdWxhdGUtQ29ycmVjdC1ib3VuZGFyeS1p bnRlcmFjdGlvbnMtb2YtZW11bGF0ZS5wYXRjaA0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0DQpp bmRleCBiMjU3NDk3Li4wMDAwMDAwDQotLS0gYS9tYWluL3hlbi94c2ExODYtMDAwMS14ODYtZW11 bGF0ZS1Db3JyZWN0LWJvdW5kYXJ5LWludGVyYWN0aW9ucy1vZi1lbXVsYXRlLnBhdGNoDQorKysg L2Rldi9udWxsDQpAQCAtMSw3MyArMCwwIEBADQotRnJvbSBlOTM4YmUwMTNiYTczZmYwOGZhNGYx ZDg2NzA1MDFhYWNlZmRlN2ZiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQ0KLUZyb206IEFuZHJl dyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+DQotRGF0ZTogRnJpLCAyMiBKdWwg MjAxNiAxNjowMjo1NCArMDAwMA0KLVN1YmplY3Q6IFtQQVRDSCAxLzJdIHg4Ni9lbXVsYXRlOiBD b3JyZWN0IGJvdW5kYXJ5IGludGVyYWN0aW9ucyBvZiBlbXVsYXRlZA0KLSBpbnN0cnVjdGlvbnMN Ci0NCi1UaGlzIHJldmVydHMgbW9zdCBvZiBjL3MgMDY0MGZmYjYgIng4NmVtdWw6IGZpeCBySVAg aGFuZGxpbmciLg0KLQ0KLUV4cGVyaW1lbnRhbGx5LCBpbiBsb25nIG1vZGUgcHJvY2Vzc29ycyB3 aWxsIGV4ZWN1dGUgYW4gaW5zdHJ1Y3Rpb24gc3RyZWFtDQotd2hpY2ggY3Jvc3NlcyB0aGUgNjRi aXQgLTEgLT4gMCB2aXJ0dWFsIGJvdW5kYXJ5LCB3aGV0aGVyIHRoZSBpbnN0cnVjdGlvbg0KLWJv dW5kYXJ5IGlzIGFsaWduZWQgb24gdGhlIHZpcnR1YWwgYm91bmRhcnksIG9yIGlzIG1pc2FsaWdu ZWQuDQotDQotSW4gY29tcGF0aWJpbGl0eSBtb2RlLCBJbnRlbCBwcm9jZXNzb3JzIHdpbGwgZXhl Y3V0ZSBhbiBpbnN0cnVjdGlvbiBzdHJlYW0NCi13aGljaCBjcm9zc2VzIHRoZSAzMmJpdCAtMSAt PiAwIHZpcnR1YWwgYm91bmRhcnksIHdoaWxlIEFNRCBwcm9jZXNzb3JzIHJhaXNlIGENCi1zZWdt ZW50YXRpb24gZmF1bHQuICBYZW4ncyBzZWdtZW50YXRpb24gYmVoYXZpb3VyIG1hdGNoZXMgQU1E Lg0KLQ0KLUZvciAxNmJpdCBjb2RlLCBoYXJkd2FyZSBkb2VzIG5vdCBldmVyIHRydW5jYXRlZCAl aXAuICAlZWlwIGlzIGFsd2F5cyB1c2VkIGFuZA0KLWJlaGF2ZXMgbm9ybWFsbHkgYXMgYSAzMmJp dCByZWdpc3RlciwgaW5jbHVkaW5nIGluIDE2Yml0IHByb3RlY3RlZCBtb2RlDQotc2VnbWVudHMs IGFzIHdlbGwgYXMgaW4gUmVhbCBhbmQgVW5yZWFsIG1vZGUuDQotDQotVGhpcyBpcyBYU0EtMTg2 DQotDQotUmVwb3J0ZWQtYnk6IEJyaWFuIE1hcmNvdHRlIDxtYXJjb3R0ZUBwYW5peC5jb20+DQot U2lnbmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4N Ci1SZXZpZXdlZC1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KLS0tLQ0KLSB4 ZW4vYXJjaC94ODYveDg2X2VtdWxhdGUveDg2X2VtdWxhdGUuYyB8IDIyICsrKystLS0tLS0tLS0t LS0tLS0tLS0NCi0gMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMTggZGVsZXRpb25z KC0pDQotDQotZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni94ODZfZW11bGF0ZS94ODZfZW11bGF0 ZS5jIGIveGVuL2FyY2gveDg2L3g4Nl9lbXVsYXRlL3g4Nl9lbXVsYXRlLmMNCi1pbmRleCBkNWE1 NmNmLi5iZjM1MjlhIDEwMDY0NA0KLS0tLSBhL3hlbi9hcmNoL3g4Ni94ODZfZW11bGF0ZS94ODZf ZW11bGF0ZS5jDQotKysrIGIveGVuL2FyY2gveDg2L3g4Nl9lbXVsYXRlL3g4Nl9lbXVsYXRlLmMN Ci1AQCAtMTU3MCwxMCArMTU3MCw2IEBAIHg4Nl9lbXVsYXRlKA0KLSAjZW5kaWYNCi0gICAgIH0N Ci0gDQotLSAgICAvKiBUcnVuY2F0ZSBySVAgdG8gZGVmX2FkX2J5dGVzICgyIG9yIDQpIGlmIG5l Y2Vzc2FyeS4gKi8NCi0tICAgIGlmICggZGVmX2FkX2J5dGVzIDwgc2l6ZW9mKF9yZWdzLmVpcCkg KQ0KLS0gICAgICAgIF9yZWdzLmVpcCAmPSAoMVVMIDw8IChkZWZfYWRfYnl0ZXMgKiA4KSkgLSAx Ow0KLS0NCi0gICAgIC8qIFByZWZpeCBieXRlcy4gKi8NCi0gICAgIGZvciAoIDsgOyApDQotICAg ICB7DQotQEAgLTM5MDYsMjEgKzM5MDIsMTEgQEAgeDg2X2VtdWxhdGUoDQotIA0KLSAgICAgLyog Q29tbWl0IHNoYWRvdyByZWdpc3RlciBzdGF0ZS4gKi8NCi0gICAgIF9yZWdzLmVmbGFncyAmPSB+ RUZMR19SRjsNCi0tICAgIHN3aXRjaCAoIF9fYnVpbHRpbl9leHBlY3QoZGVmX2FkX2J5dGVzLCBz aXplb2YoX3JlZ3MuZWlwKSkgKQ0KLS0gICAgew0KLS0gICAgICAgIHVpbnQxNl90IGlwOw0KLSAN Ci0tICAgIGNhc2UgMjoNCi0tICAgICAgICBpcCA9IF9yZWdzLmVpcDsNCi0tICAgICAgICBfcmVn cy5laXAgPSBjdHh0LT5yZWdzLT5laXA7DQotLSAgICAgICAgKih1aW50MTZfdCAqKSZfcmVncy5l aXAgPSBpcDsNCi0tICAgICAgICBicmVhazsNCi0tI2lmZGVmIF9feDg2XzY0X18NCi0tICAgIGNh c2UgNDoNCi0tICAgICAgICBfcmVncy5yaXAgPSBfcmVncy5fZWlwOw0KLS0gICAgICAgIGJyZWFr Ow0KLS0jZW5kaWYNCi0tICAgIH0NCi0rICAgIC8qIFplcm8gdGhlIHVwcGVyIDMyIGJpdHMgb2Yg JXJpcCBpZiBub3QgaW4gbG9uZyBtb2RlLiAqLw0KLSsgICAgaWYgKCBkZWZfYWRfYnl0ZXMgPCBz aXplb2YoX3JlZ3MuZWlwKSApDQotKyAgICAgICAgX3JlZ3MuZWlwID0gKHVpbnQzMl90KV9yZWdz LmVpcDsNCi0rDQotICAgICAqY3R4dC0+cmVncyA9IF9yZWdzOw0KLSANCi0gIGRvbmU6DQotLS0g DQotMi4xLjQNCi0NCmRpZmYgLS1naXQgYS9tYWluL3hlbi94c2ExODYtNC42LTAwMDItaHZtLWZl cC1BbGxvdy10ZXN0aW5nLW9mLWluc3RydWN0aW9ucy1jcm9zc2luZy10aGUucGF0Y2ggYi9tYWlu L3hlbi94c2ExODYtNC42LTAwMDItaHZtLWZlcC1BbGxvdy10ZXN0aW5nLW9mLWluc3RydWN0aW9u cy1jcm9zc2luZy10aGUucGF0Y2gNCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDdj MzBhMi4uMDAwMDAwMA0KLS0tIGEvbWFpbi94ZW4veHNhMTg2LTQuNi0wMDAyLWh2bS1mZXAtQWxs b3ctdGVzdGluZy1vZi1pbnN0cnVjdGlvbnMtY3Jvc3NpbmctdGhlLnBhdGNoDQorKysgL2Rldi9u dWxsDQpAQCAtMSw0MSArMCwwIEBADQotRnJvbTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3Bl cjNAY2l0cml4LmNvbT4NCi1TdWJqZWN0OiBodm0vZmVwOiBBbGxvdyB0ZXN0aW5nIG9mIGluc3Ry dWN0aW9ucyBjcm9zc2luZyB0aGUgLTEgLT4gMCB2aXJ0dWFsIGJvdW5kYXJ5DQotDQotVGhlIEZv cmNlIEVtdWxhdGlvbiBQcmVmaXggaXMgbmFtZWQgdG8gZm9sbG93IGl0cyBQViBjb3VudGVycGFy dCBmb3IgY3B1aWQgb3INCi1yZHRzYywgYnV0IGlzbid0IHJlYWxseSBhbiBpbnN0cnVjdGlvbiBw cmVmaXguICBJdCBiZWhhdmVzIGFzIGEgYnJlYWstb3V0IGludG8NCi1YZW4sIHdpdGggdGhlIHB1 cnBvc2Ugb2YgZW11bGF0aW5nIHRoZSBuZXh0IGluc3RydWN0aW9uIGluIHRoZSBjdXJyZW50IHN0 YXRlLg0KLQ0KLUl0IGlzIGltcG9ydGFudCB0byBiZSBhYmxlIHRvIHRlc3QgbGVnYWwgc2l0dWF0 aW9ucyB3aGljaCBvY2N1ciBpbiByZWFsDQotaGFyZHdhcmUsIGluY2x1ZGluZyBpbnN0cnVjdGlv biB3aGljaCBjcm9zcyBjZXJ0YWluIGJvdW5kYXJpZXMsIGFuZA0KLWluc3RydWN0aW9ucyBzdGFy dGluZyBhdCAwLg0KLQ0KLVJlcG9ydGVkLWJ5OiBCcmlhbiBNYXJjb3R0ZSA8bWFyY290dGVAcGFu aXguY29tPg0KLVNpZ25lZC1vZmYtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNp dHJpeC5jb20+DQotUmV2aWV3ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4N Ci0NCi0tLS0gYS94ZW4vYXJjaC94ODYvaHZtL3N2bS9zdm0uYw0KLSsrKyBiL3hlbi9hcmNoL3g4 Ni9odm0vc3ZtL3N2bS5jDQotQEAgLTIxMzksNiArMjEzOSwxMCBAQCBzdGF0aWMgdm9pZCBzdm1f dm1leGl0X3VkX2ludGVyY2VwdChzdHJ1DQotICAgICAgICAgew0KLSAgICAgICAgICAgICByZWdz LT5laXAgKz0gc2l6ZW9mKHNpZyk7DQotICAgICAgICAgICAgIHJlZ3MtPmVmbGFncyAmPSB+WDg2 X0VGTEFHU19SRjsNCi0rDQotKyAgICAgICAgICAgIC8qIFplcm8gdGhlIHVwcGVyIDMyIGJpdHMg b2YgJXJpcCBpZiBub3QgaW4gbG9uZyBtb2RlLiAqLw0KLSsgICAgICAgICAgICBpZiAoIHN2bV9n dWVzdF94ODZfbW9kZShjdXJyZW50KSAhPSA4ICkNCi0rICAgICAgICAgICAgICAgIHJlZ3MtPmVp cCA9IHJlZ3MtPl9laXA7DQotICAgICAgICAgfQ0KLSAgICAgfQ0KLSANCi0tLS0gYS94ZW4vYXJj aC94ODYvaHZtL3ZteC92bXguYw0KLSsrKyBiL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jDQot QEAgLTI3NTcsNiArMjc1NywxMCBAQCBzdGF0aWMgdm9pZCB2bXhfdm1leGl0X3VkX2ludGVyY2Vw dChzdHJ1DQotICAgICAgICAgew0KLSAgICAgICAgICAgICByZWdzLT5laXAgKz0gc2l6ZW9mKHNp Zyk7DQotICAgICAgICAgICAgIHJlZ3MtPmVmbGFncyAmPSB+WDg2X0VGTEFHU19SRjsNCi0rDQot KyAgICAgICAgICAgIC8qIFplcm8gdGhlIHVwcGVyIDMyIGJpdHMgb2YgJXJpcCBpZiBub3QgaW4g bG9uZyBtb2RlLiAqLw0KLSsgICAgICAgICAgICBpZiAoIHZteF9ndWVzdF94ODZfbW9kZShjdXJy ZW50KSAhPSA4ICkNCi0rICAgICAgICAgICAgICAgIHJlZ3MtPmVpcCA9IHJlZ3MtPl9laXA7DQot ICAgICAgICAgfQ0KLSAgICAgfQ0KLSANCmRpZmYgLS1naXQgYS9tYWluL3hlbi94c2ExODctNC42 LTAwMDIteDg2LXNlZ21lbnQtQm91bmRzLWNoZWNrLWFjY2Vzc2VzLXRvLWVtdWxhdGlvbi1jdHgu cGF0Y2ggYi9tYWluL3hlbi94c2ExODctNC42LTAwMDIteDg2LXNlZ21lbnQtQm91bmRzLWNoZWNr LWFjY2Vzc2VzLXRvLWVtdWxhdGlvbi1jdHgucGF0Y2gNCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0 NA0KaW5kZXggZThjZDFlNy4uMDAwMDAwMA0KLS0tIGEvbWFpbi94ZW4veHNhMTg3LTQuNi0wMDAy LXg4Ni1zZWdtZW50LUJvdW5kcy1jaGVjay1hY2Nlc3Nlcy10by1lbXVsYXRpb24tY3R4LnBhdGNo DQorKysgL2Rldi9udWxsDQpAQCAtMSwxNDIgKzAsMCBAQA0KLUZyb206IEFuZHJldyBDb29wZXIg PGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+DQotU3ViamVjdDogeDg2L3NlZ21lbnQ6IEJvdW5k cyBjaGVjayBhY2Nlc3NlcyB0byBlbXVsYXRpb24gY3R4dC0+c2VnX3JlZ1tdDQotDQotSFZNIEhB UCBjb2RlcGF0aHMgaGF2ZSBzcGFjZSBmb3IgYWxsIHNlZ21lbnQgcmVnaXN0ZXJzIGluIHRoZSBz ZWdfcmVnW10NCi1jYWNoZSAod2l0aCB4ODZfc2VnX25vbmUgc3RpbGwgcmlza2luZyBhbiBhcnJh eSBvdmVycnVuKSwgd2hpbGUgdGhlIHNoYWRvdw0KLWNvZGVwYXRocyBvbmx5IGhhdmUgc3BhY2Ug Zm9yIHRoZSB1c2VyIHNlZ21lbnRzLg0KLQ0KLVJhbmdlIGNoZWNrIHRoZSBpbnB1dCBzZWdtZW50 IG9mICpfZ2V0X3NlZ19yZWcoKSBhZ2FpbnN0IHRoZSBzaXplIG9mIHRoZSBhcnJheQ0KLXVzZWQg dG8gY2FjaGUgdGhlIHJlc3VsdHMsIHRvIGF2b2lkIG92ZXJydW5zIGluIHRoZSBjYXNlIHRoYXQg dGhlIGNhbGxlcnMNCi1kb24ndCBmaWx0ZXIgdGhlaXIgaW5wdXQgc3VpdGFibHkuDQotDQotU3Vi c3VtZSB0aGUgaXNfeDg2X3VzZXJfc2VnbWVudChzZWcpIGNoZWNrcyBmcm9tIHRoZSBzaGFkb3cg Y29kZSwgd2hpY2ggd2VyZQ0KLWFuIGluY29tcGxldGUgYXR0ZW1wdCBhdCByYW5nZSBjaGVja2lu ZywgYW5kIGFyZSBub3cgc3VwZXJjZWVkZWQuICBNYWtlDQotaHZtX2dldF9zZWdfcmVnKCkgc3Rh dGljLCBhcyBpdCBpcyBub3QgdXNlZCBvdXRzaWRlIG9mIHNoYWRvdy9jb21tb24uYw0KLQ0KLU5v IGZ1bmN0aW9uYWwgY2hhbmdlLCBidXQgZmFyIGVhc2llciB0byByZWFzb24gdGhhdCBubyBvdmVy ZmxvdyBpcyBwb3NzaWJsZS4NCi0NCi1SZXBvcnRlZC1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3 LmNvb3BlcjNAY2l0cml4LmNvbT4NCi1TaWduZWQtb2ZmLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRy ZXcuY29vcGVyM0BjaXRyaXguY29tPg0KLUFja2VkLWJ5OiBUaW0gRGVlZ2FuIDx0aW1AeGVuLm9y Zz4NCi1BY2tlZC1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KLQ0KLS0tLSBh L3hlbi9hcmNoL3g4Ni9odm0vZW11bGF0ZS5jDQotKysrIGIveGVuL2FyY2gveDg2L2h2bS9lbXVs YXRlLmMNCi1AQCAtNTI2LDYgKzUyNiw4IEBAIHN0YXRpYyBpbnQgaHZtZW11bF92aXJ0dWFsX3Rv X2xpbmVhcigNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAxIDogNDA5Nik7DQotIA0K LSAgICAgcmVnID0gaHZtZW11bF9nZXRfc2VnX3JlZyhzZWcsIGh2bWVtdWxfY3R4dCk7DQotKyAg ICBpZiAoIElTX0VSUihyZWcpICkNCi0rICAgICAgICByZXR1cm4gLVBUUl9FUlIocmVnKTsNCi0g DQotICAgICBpZiAoIChodm1lbXVsX2N0eHQtPmN0eHQucmVncy0+ZWZsYWdzICYgWDg2X0VGTEFH U19ERikgJiYgKCpyZXBzID4gMSkgKQ0KLSAgICAgew0KLUBAIC0xMzYwLDYgKzEzNjIsMTAgQEAg c3RhdGljIGludCBodm1lbXVsX3JlYWRfc2VnbWVudCgNCi0gICAgIHN0cnVjdCBodm1fZW11bGF0 ZV9jdHh0ICpodm1lbXVsX2N0eHQgPQ0KLSAgICAgICAgIGNvbnRhaW5lcl9vZihjdHh0LCBzdHJ1 Y3QgaHZtX2VtdWxhdGVfY3R4dCwgY3R4dCk7DQotICAgICBzdHJ1Y3Qgc2VnbWVudF9yZWdpc3Rl ciAqc3JlZyA9IGh2bWVtdWxfZ2V0X3NlZ19yZWcoc2VnLCBodm1lbXVsX2N0eHQpOw0KLSsNCi0r ICAgIGlmICggSVNfRVJSKHNyZWcpICkNCi0rICAgICAgICAgcmV0dXJuIC1QVFJfRVJSKHNyZWcp Ow0KLSsNCi0gICAgIG1lbWNweShyZWcsIHNyZWcsIHNpemVvZihzdHJ1Y3Qgc2VnbWVudF9yZWdp c3RlcikpOw0KLSAgICAgcmV0dXJuIFg4NkVNVUxfT0tBWTsNCi0gfQ0KLUBAIC0xMzczLDYgKzEz NzksOSBAQCBzdGF0aWMgaW50IGh2bWVtdWxfd3JpdGVfc2VnbWVudCgNCi0gICAgICAgICBjb250 YWluZXJfb2YoY3R4dCwgc3RydWN0IGh2bV9lbXVsYXRlX2N0eHQsIGN0eHQpOw0KLSAgICAgc3Ry dWN0IHNlZ21lbnRfcmVnaXN0ZXIgKnNyZWcgPSBodm1lbXVsX2dldF9zZWdfcmVnKHNlZywgaHZt ZW11bF9jdHh0KTsNCi0gDQotKyAgICBpZiAoIElTX0VSUihzcmVnKSApDQotKyAgICAgICAgIHJl dHVybiAtUFRSX0VSUihzcmVnKTsNCi0rDQotICAgICBtZW1jcHkoc3JlZywgcmVnLCBzaXplb2Yo c3RydWN0IHNlZ21lbnRfcmVnaXN0ZXIpKTsNCi0gICAgIF9fc2V0X2JpdChzZWcsICZodm1lbXVs X2N0eHQtPnNlZ19yZWdfZGlydHkpOw0KLSANCi1AQCAtMTkxMSwxMCArMTkyMCwxNyBAQCB2b2lk IGh2bV9lbXVsYXRlX3dyaXRlYmFjaygNCi0gICAgIH0NCi0gfQ0KLSANCi0rLyoNCi0rICogQ2Fs bGVycyB3aGljaCBwYXNzIGEga25vd24gaW4tcmFuZ2UgeDg2X3NlZ21lbnQgY2FuIHJlbHkgb24g dGhlIHJldHVybg0KLSsgKiBwb2ludGVyIGJlaW5nIHZhbGlkLiAgT3RoZXIgY2FsbGVycyBtdXN0 IGV4cGxpY2l0bHkgY2hlY2sgZm9yIGVycm9ycy4NCi0rICovDQotIHN0cnVjdCBzZWdtZW50X3Jl Z2lzdGVyICpodm1lbXVsX2dldF9zZWdfcmVnKA0KLSAgICAgZW51bSB4ODZfc2VnbWVudCBzZWcs DQotICAgICBzdHJ1Y3QgaHZtX2VtdWxhdGVfY3R4dCAqaHZtZW11bF9jdHh0KQ0KLSB7DQotKyAg ICBpZiAoIHNlZyA8IDAgfHwgc2VnID49IEFSUkFZX1NJWkUoaHZtZW11bF9jdHh0LT5zZWdfcmVn KSApDQotKyAgICAgICAgcmV0dXJuIEVSUl9QVFIoLVg4NkVNVUxfVU5IQU5ETEVBQkxFKTsNCi0r DQotICAgICBpZiAoICFfX3Rlc3RfYW5kX3NldF9iaXQoc2VnLCAmaHZtZW11bF9jdHh0LT5zZWdf cmVnX2FjY2Vzc2VkKSApDQotICAgICAgICAgaHZtX2dldF9zZWdtZW50X3JlZ2lzdGVyKGN1cnJl bnQsIHNlZywgJmh2bWVtdWxfY3R4dC0+c2VnX3JlZ1tzZWddKTsNCi0gICAgIHJldHVybiAmaHZt ZW11bF9jdHh0LT5zZWdfcmVnW3NlZ107DQotLS0tIGEveGVuL2FyY2gveDg2L21tL3NoYWRvdy9j b21tb24uYw0KLSsrKyBiL3hlbi9hcmNoL3g4Ni9tbS9zaGFkb3cvY29tbW9uLmMNCi1AQCAtMTI1 LDEwICsxMjUsMTkgQEAgX19pbml0Y2FsbChzaGFkb3dfYXVkaXRfa2V5X2luaXQpOw0KLSAvKiB4 ODYgZW11bGF0b3Igc3VwcG9ydCBmb3IgdGhlIHNoYWRvdyBjb2RlDQotICAqLw0KLSANCi0rLyoN Ci0rICogQ2FsbGVycyB3aGljaCBwYXNzIGEga25vd24gaW4tcmFuZ2UgeDg2X3NlZ21lbnQgY2Fu IHJlbHkgb24gdGhlIHJldHVybg0KLSsgKiBwb2ludGVyIGJlaW5nIHZhbGlkLiAgT3RoZXIgY2Fs bGVycyBtdXN0IGV4cGxpY2l0bHkgY2hlY2sgZm9yIGVycm9ycy4NCi0rICovDQotIHN0cnVjdCBz ZWdtZW50X3JlZ2lzdGVyICpodm1fZ2V0X3NlZ19yZWcoDQotICAgICBlbnVtIHg4Nl9zZWdtZW50 IHNlZywgc3RydWN0IHNoX2VtdWxhdGVfY3R4dCAqc2hfY3R4dCkNCi0gew0KLS0gICAgc3RydWN0 IHNlZ21lbnRfcmVnaXN0ZXIgKnNlZ19yZWcgPSAmc2hfY3R4dC0+c2VnX3JlZ1tzZWddOw0KLSsg ICAgc3RydWN0IHNlZ21lbnRfcmVnaXN0ZXIgKnNlZ19yZWc7DQotKw0KLSsgICAgaWYgKCBzZWcg PCAwIHx8IHNlZyA+PSBBUlJBWV9TSVpFKHNoX2N0eHQtPnNlZ19yZWcpICkNCi0rICAgICAgICBy ZXR1cm4gRVJSX1BUUigtWDg2RU1VTF9VTkhBTkRMRUFCTEUpOw0KLSsNCi0rICAgIHNlZ19yZWcg PSAmc2hfY3R4dC0+c2VnX3JlZ1tzZWddOw0KLSAgICAgaWYgKCAhX190ZXN0X2FuZF9zZXRfYml0 KHNlZywgJnNoX2N0eHQtPnZhbGlkX3NlZ19yZWdzKSApDQotICAgICAgICAgaHZtX2dldF9zZWdt ZW50X3JlZ2lzdGVyKGN1cnJlbnQsIHNlZywgc2VnX3JlZyk7DQotICAgICByZXR1cm4gc2VnX3Jl ZzsNCi1AQCAtMTQ1LDE0ICsxNTQsOSBAQCBzdGF0aWMgaW50IGh2bV90cmFuc2xhdGVfbGluZWFy X2FkZHIoDQotICAgICBzdHJ1Y3Qgc2VnbWVudF9yZWdpc3RlciAqcmVnOw0KLSAgICAgaW50IG9r YXk7DQotIA0KLS0gICAgLyoNCi0tICAgICAqIENhbiBhcnJpdmUgaGVyZSB3aXRoIG5vbi11c2Vy IHNlZ21lbnRzLiAgSG93ZXZlciwgbm8gc3VjaCBjaXJ1Y21zdGFuY2UNCi0tICAgICAqIGlzIHBh cnQgb2YgYSBsZWdpdGltYXRlIHBhZ2V0YWJsZSB1cGRhdGUsIHNvIGZhaWwgdGhlIGVtdWxhdGlv bi4NCi0tICAgICAqLw0KLS0gICAgaWYgKCAhaXNfeDg2X3VzZXJfc2VnbWVudChzZWcpICkNCi0t ICAgICAgICByZXR1cm4gWDg2RU1VTF9VTkhBTkRMRUFCTEU7DQotLQ0KLSAgICAgcmVnID0gaHZt X2dldF9zZWdfcmVnKHNlZywgc2hfY3R4dCk7DQotKyAgICBpZiAoIElTX0VSUihyZWcpICkNCi0r ICAgICAgICByZXR1cm4gLVBUUl9FUlIocmVnKTsNCi0gDQotICAgICBva2F5ID0gaHZtX3ZpcnR1 YWxfdG9fbGluZWFyX2FkZHIoDQotICAgICAgICAgc2VnLCByZWcsIG9mZnNldCwgYnl0ZXMsIGFj Y2Vzc190eXBlLCBzaF9jdHh0LT5jdHh0LmFkZHJfc2l6ZSwgcGFkZHIpOw0KLUBAIC0yNTQsOSAr MjU4LDYgQEAgaHZtX2VtdWxhdGVfd3JpdGUoZW51bSB4ODZfc2VnbWVudCBzZWcsDQotICAgICB1 bnNpZ25lZCBsb25nIGFkZHI7DQotICAgICBpbnQgcmM7DQotIA0KLS0gICAgaWYgKCAhaXNfeDg2 X3VzZXJfc2VnbWVudChzZWcpICkNCi0tICAgICAgICByZXR1cm4gWDg2RU1VTF9VTkhBTkRMRUFC TEU7DQotLQ0KLSAgICAgLyogSG93IG1hbnkgZW11bGF0aW9ucyBjb3VsZCB3ZSBzYXZlIGlmIHdl IHVuc2hhZG93ZWQgb24gc3RhY2sgd3JpdGVzPyAqLw0KLSAgICAgaWYgKCBzZWcgPT0geDg2X3Nl Z19zcyApDQotICAgICAgICAgcGVyZmNfaW5jcihzaGFkb3dfZmF1bHRfZW11bGF0ZV9zdGFjayk7 DQotQEAgLTI4NCw5ICsyODUsNiBAQCBodm1fZW11bGF0ZV9jbXB4Y2hnKGVudW0geDg2X3NlZ21l bnQgc2VnDQotICAgICB1bnNpZ25lZCBsb25nIGFkZHIsIG9sZFsyXSwgbmV3WzJdOw0KLSAgICAg aW50IHJjOw0KLSANCi0tICAgIGlmICggIWlzX3g4Nl91c2VyX3NlZ21lbnQoc2VnKSApDQotLSAg ICAgICAgcmV0dXJuIFg4NkVNVUxfVU5IQU5ETEVBQkxFOw0KLS0NCi0gICAgIHJjID0gaHZtX3Ry YW5zbGF0ZV9saW5lYXJfYWRkcigNCi0gICAgICAgICBzZWcsIG9mZnNldCwgYnl0ZXMsIGh2bV9h Y2Nlc3Nfd3JpdGUsIHNoX2N0eHQsICZhZGRyKTsNCi0gICAgIGlmICggcmMgKQ0KLS0tLSBhL3hl bi9pbmNsdWRlL2FzbS14ODYvaHZtL2VtdWxhdGUuaA0KLSsrKyBiL3hlbi9pbmNsdWRlL2FzbS14 ODYvaHZtL2VtdWxhdGUuaA0KLUBAIC0xMyw2ICsxMyw3IEBADQotICNkZWZpbmUgX19BU01fWDg2 X0hWTV9FTVVMQVRFX0hfXw0KLSANCi0gI2luY2x1ZGUgPHhlbi9jb25maWcuaD4NCi0rI2luY2x1 ZGUgPHhlbi9lcnIuaD4NCi0gI2luY2x1ZGUgPGFzbS9odm0vaHZtLmg+DQotICNpbmNsdWRlIDxh c20veDg2X2VtdWxhdGUuaD4NCi0gDQpkaWZmIC0tZ2l0IGEvbWFpbi94ZW4veHNhMTg3LTQuNy0w MDAxLXg4Ni1zaGFkb3ctQXZvaWQtb3ZlcmZsb3dpbmctc2hfY3R4dC1zZWcucGF0Y2ggYi9tYWlu L3hlbi94c2ExODctNC43LTAwMDEteDg2LXNoYWRvdy1Bdm9pZC1vdmVyZmxvd2luZy1zaF9jdHh0 LXNlZy5wYXRjaA0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCBiYzk5NTk2Li4wMDAw MDAwDQotLS0gYS9tYWluL3hlbi94c2ExODctNC43LTAwMDEteDg2LXNoYWRvdy1Bdm9pZC1vdmVy Zmxvd2luZy1zaF9jdHh0LXNlZy5wYXRjaA0KKysrIC9kZXYvbnVsbA0KQEAgLTEsNDIgKzAsMCBA QA0KLUZyb206IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+DQotU3Vi amVjdDogeDg2L3NoYWRvdzogQXZvaWQgb3ZlcmZsb3dpbmcgc2hfY3R4dC0+c2VnX3JlZ1tdDQot DQotaHZtX2dldF9zZWdfcmVnKCkgZG9lcyBub3QgcGVyZm9ybSBhIHJhbmdlIGNoZWNrIG9uIGl0 cyBpbnB1dCBzZWdtZW50LCBjYWxscw0KLWh2bV9nZXRfc2VnbWVudF9yZWdpc3RlcigpIGFuZCB3 cml0ZXMgc3RyYWlnaHQgaW50byBzaF9jdHh0LT5zZWdfcmVnW10uDQotDQoteDg2X3NlZ19ub25l IGlzIG91dHNpZGUgdGhlIGJvdW5kcyBvZiBzaF9jdHh0LT5zZWdfcmVnW10sIGFuZCB3aWxsIGhp dCBhIEJVRygpDQotaW4ge3ZteCxzdm19X2dldF9zZWdtZW50X3JlZ2lzdGVyKCkuDQotDQotSFZN IGd1ZXN0cyBydW5uaW5nIHdpdGggc2hhZG93IHBhZ2luZyBjYW4gZW5kIHVwIHBlcmZvcm1pbmcg YSB2aXJ0dWFsIHRvDQotbGluZWFyIHRyYW5zbGF0aW9uIHdpdGggeDg2X3NlZ19ub25lLiAgVGhp cyBpcyB1c2VkIGZvciBhZGRyZXNzZXMgd2hpY2ggYXJlDQotYWxyZWFkeSBsaW5lYXIuICBIb3dl dmVyLCBub25lIG9mIHRoaXMgaXMgYSBsZWdpdGltYXRlIHBhZ2V0YWJsZSB1cGRhdGUsIHNvDQot ZmFpbCB0aGUgZW11bGF0aW9uIGluIHN1Y2ggYSBjYXNlLg0KLQ0KLVRoaXMgaXMgWFNBLTE4Nw0K LQ0KLVJlcG9ydGVkLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29t Pg0KLVNpZ25lZC1vZmYtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5j b20+DQotUmV2aWV3ZWQtYnk6IFRpbSBEZWVnYW4gPHRpbUB4ZW4ub3JnPg0KLQ0KLS0tLSBhL3hl bi9hcmNoL3g4Ni9tbS9zaGFkb3cvY29tbW9uLmMNCi0rKysgYi94ZW4vYXJjaC94ODYvbW0vc2hh ZG93L2NvbW1vbi5jDQotQEAgLTE0MCw5ICsxNDAsMTggQEAgc3RhdGljIGludCBodm1fdHJhbnNs YXRlX2xpbmVhcl9hZGRyKA0KLSAgICAgc3RydWN0IHNoX2VtdWxhdGVfY3R4dCAqc2hfY3R4dCwN Ci0gICAgIHVuc2lnbmVkIGxvbmcgKnBhZGRyKQ0KLSB7DQotLSAgICBzdHJ1Y3Qgc2VnbWVudF9y ZWdpc3RlciAqcmVnID0gaHZtX2dldF9zZWdfcmVnKHNlZywgc2hfY3R4dCk7DQotKyAgICBzdHJ1 Y3Qgc2VnbWVudF9yZWdpc3RlciAqcmVnOw0KLSAgICAgaW50IG9rYXk7DQotIA0KLSsgICAgLyoN Ci0rICAgICAqIENhbiBhcnJpdmUgaGVyZSB3aXRoIG5vbi11c2VyIHNlZ21lbnRzLiAgSG93ZXZl ciwgbm8gc3VjaCBjaXJ1Y21zdGFuY2UNCi0rICAgICAqIGlzIHBhcnQgb2YgYSBsZWdpdGltYXRl IHBhZ2V0YWJsZSB1cGRhdGUsIHNvIGZhaWwgdGhlIGVtdWxhdGlvbi4NCi0rICAgICAqLw0KLSsg ICAgaWYgKCAhaXNfeDg2X3VzZXJfc2VnbWVudChzZWcpICkNCi0rICAgICAgICByZXR1cm4gWDg2 RU1VTF9VTkhBTkRMRUFCTEU7DQotKw0KLSsgICAgcmVnID0gaHZtX2dldF9zZWdfcmVnKHNlZywg c2hfY3R4dCk7DQotKw0KLSAgICAgb2theSA9IGh2bV92aXJ0dWFsX3RvX2xpbmVhcl9hZGRyKA0K LSAgICAgICAgIHNlZywgcmVnLCBvZmZzZXQsIGJ5dGVzLCBhY2Nlc3NfdHlwZSwgc2hfY3R4dC0+ Y3R4dC5hZGRyX3NpemUsIHBhZGRyKTsNCi0gDQpkaWZmIC0tZ2l0IGEvbWFpbi94ZW4veHNhMjAy LTQuNi5wYXRjaCBiL21haW4veGVuL3hzYTIwMi00LjYucGF0Y2gNCm5ldyBmaWxlIG1vZGUgMTAw NjQ0DQppbmRleCAwMDAwMDAwLi4wYzdmZmYwDQotLS0gL2Rldi9udWxsDQorKysgYi9tYWluL3hl bi94c2EyMDItNC42LnBhdGNoDQpAQCAtMCwwICsxLDczIEBADQorRnJvbTogSmFuIEJldWxpY2gg PGpiZXVsaWNoQHN1c2UuY29tPg0KK1N1YmplY3Q6IHg4NjogZm9yY2UgRUZMQUdTLklGIG9uIHdo ZW4gZXhpdGluZyB0byBQViBndWVzdHMNCisNCitHdWVzdCBrZXJuZWxzIG1vZGlmeWluZyBpbnN0 cnVjdGlvbnMgaW4gdGhlIHByb2Nlc3Mgb2YgYmVpbmcgZW11bGF0ZWQNCitmb3IgYW5vdGhlciBv ZiB0aGVpciB2Q1BVLXMgbWF5IGVmZmVjdCBFRkxBR1MuSUYgdG8gYmUgY2xlYXJlZCB1cG9uDQor bmV4dCBleGl0aW5nIHRvIGd1ZXN0IGNvbnRleHQsIGJ5IGNvbnZlcnRpbmcgdGhlIGJlaW5nIGVt dWxhdGVkDQoraW5zdHJ1Y3Rpb24gdG8gQ0xJIChhdCB0aGUgcmlnaHQgcG9pbnQgaW4gdGltZSku IFByZXZlbnQgYW55IHN1Y2ggYmFkDQorZWZmZWN0cyBieSBhbHdheXMgZm9yY2luZyBFRkxBR1Mu SUYgb24uIEFuZCB0byBjb3ZlciBoeXBvdGhldGljYWwgb3RoZXINCitzaW1pbGFyIGlzc3Vlcywg YWxzbyBmb3JjZSBFRkxBR1Mue0lPUEwsTlQsVk19IHRvIHplcm8uDQorDQorVGhpcyBpcyBYU0Et MjAyLg0KKw0KK1NpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4N CisNCistLS0gYS94ZW4vYXJjaC94ODYveDg2XzY0L2NvbXBhdC9lbnRyeS5TDQorKysrIGIveGVu L2FyY2gveDg2L3g4Nl82NC9jb21wYXQvZW50cnkuUw0KK0BAIC0xNzQsNiArMTc0LDggQEAgY29t cGF0X2JhZF9oeXBlcmNhbGw6DQorIC8qICVyYng6IHN0cnVjdCB2Y3B1LCBpbnRlcnJ1cHRzIGRp c2FibGVkICovDQorIEVOVFJZKGNvbXBhdF9yZXN0b3JlX2FsbF9ndWVzdCkNCisgICAgICAgICBB U1NFUlRfSU5URVJSVVBUU19ESVNBQkxFRA0KKysgICAgICAgIG1vdiAgICR+KFg4Nl9FRkxBR1Nf SU9QTHxYODZfRUZMQUdTX05UfFg4Nl9FRkxBR1NfVk0pLCVyMTFkDQorKyAgICAgICAgYW5kICAg VVJFR1NfZWZsYWdzKCVyc3ApLCVyMTFkDQorIC5MY3I0X29yaWc6DQorICAgICAgICAgLnNraXAg LkxjcjRfYWx0X2VuZCAtIC5MY3I0X2FsdCwgMHg5MA0KKyAuTGNyNF9vcmlnX2VuZDoNCitAQCAt MjA5LDYgKzIxMSw4IEBAIEVOVFJZKGNvbXBhdF9yZXN0b3JlX2FsbF9ndWVzdCkNCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAoLkxjcjRfb3JpZ19lbmQgLSAuTGNyNF9vcmlnKSwgXA0K KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICguTGNyNF9hbHRfZW5kIC0gLkxjcjRfYWx0 KQ0KKyAgICAgICAgIC5wb3BzZWN0aW9uDQorKyAgICAgICAgb3IgICAgJFg4Nl9FRkxBR1NfSUYs JXIxMQ0KKysgICAgICAgIG1vdiAgICVyMTFkLFVSRUdTX2VmbGFncyglcnNwKQ0KKyAgICAgICAg IFJFU1RPUkVfQUxMIGFkaj04IGNvbXBhdD0xDQorIC5MZnQwOiAgaXJldHENCisgDQorLS0tIGEv eGVuL2FyY2gveDg2L3g4Nl82NC9lbnRyeS5TDQorKysrIGIveGVuL2FyY2gveDg2L3g4Nl82NC9l bnRyeS5TDQorQEAgLTQwLDI4ICs0MCwyOSBAQCByZXN0b3JlX2FsbF9ndWVzdDoNCisgICAgICAg ICB0ZXN0dyAkVFJBUF9zeXNjYWxsLDQoJXJzcCkNCisgICAgICAgICBqeiAgICBpcmV0X2V4aXRf dG9fZ3Vlc3QNCisgDQorKyAgICAgICAgbW92cSAgMjQoJXJzcCksJXIxMSAgICAgICAgICAgIyBS RkxBR1MNCisrICAgICAgICBhbmRxICAkfihYODZfRUZMQUdTX0lPUEx8WDg2X0VGTEFHU19OVHxY ODZfRUZMQUdTX1ZNKSwlcjExDQorKyAgICAgICAgb3JxICAgJFg4Nl9FRkxBR1NfSUYsJXIxMQ0K KysNCisgICAgICAgICAvKiBEb24ndCB1c2UgU1lTUkVUIHBhdGggaWYgdGhlIHJldHVybiBhZGRy ZXNzIGlzIG5vdCBjYW5vbmljYWwuICovDQorICAgICAgICAgbW92cSAgOCglcnNwKSwlcmN4DQor ICAgICAgICAgc2FycSAgJDQ3LCVyY3gNCisgICAgICAgICBpbmNsICAlZWN4DQorICAgICAgICAg Y21wbCAgJDEsJWVjeA0KKy0gICAgICAgIGphICAgIC5MZm9yY2VfaXJldA0KKysgICAgICAgIG1v dnEgIDgoJXJzcCksJXJjeCAgICAgICAgICAgICMgUklQDQorKyAgICAgICAgamEgICAgaXJldF9l eGl0X3RvX2d1ZXN0DQorIA0KKyAgICAgICAgIGNtcHcgICRGTEFUX1VTRVJfQ1MzMiwxNiglcnNw KSMgQ1MNCistICAgICAgICBtb3ZxICA4KCVyc3ApLCVyY3ggICAgICAgICAgICAjIFJJUA0KKy0g ICAgICAgIG1vdnEgIDI0KCVyc3ApLCVyMTEgICAgICAgICAgICMgUkZMQUdTDQorICAgICAgICAg bW92cSAgMzIoJXJzcCksJXJzcCAgICAgICAgICAgIyBSU1ANCisgICAgICAgICBqZSAgICAxZg0K KyAgICAgICAgIHN5c3JldHENCisgMTogICAgICBzeXNyZXRsDQorIA0KKy0uTGZvcmNlX2lyZXQ6 DQorLSAgICAgICAgLyogTWltaWMgU1lTUkVUIGJlaGF2aW9yLiAqLw0KKy0gICAgICAgIG1vdnEg IDgoJXJzcCksJXJjeCAgICAgICAgICAgICMgUklQDQorLSAgICAgICAgbW92cSAgMjQoJXJzcCks JXIxMSAgICAgICAgICAgIyBSRkxBR1MNCisgICAgICAgICBBTElHTg0KKyAvKiBObyBzcGVjaWFs IHJlZ2lzdGVyIGFzc3VtcHRpb25zLiAqLw0KKyBpcmV0X2V4aXRfdG9fZ3Vlc3Q6DQorKyAgICAg ICAgYW5kbCAgJH4oWDg2X0VGTEFHU19JT1BMfFg4Nl9FRkxBR1NfTlR8WDg2X0VGTEFHU19WTSks MjQoJXJzcCkNCisrICAgICAgICBvcmwgICAkWDg2X0VGTEFHU19JRiwyNCglcnNwKQ0KKyAgICAg ICAgIGFkZHEgICQ4LCVyc3ANCisgLkxmdDA6ICBpcmV0cQ0KKyANCmRpZmYgLS1naXQgYS9tYWlu L3hlbi94c2EyMDQtNC41LnBhdGNoIGIvbWFpbi94ZW4veHNhMjA0LTQuNS5wYXRjaA0KbmV3IGZp bGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAuLjM1Mjg0NWENCi0tLSAvZGV2L251bGwNCisr KyBiL21haW4veGVuL3hzYTIwNC00LjUucGF0Y2gNCkBAIC0wLDAgKzEsNjkgQEANCitGcm9tOiBB bmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPg0KK0RhdGU6IFN1biwgMTgg RGVjIDIwMTYgMTU6NDI6NTkgKzAwMDANCitTdWJqZWN0OiBbUEFUQ0hdIHg4Ni9lbXVsOiBDb3Jy ZWN0IHRoZSBoYW5kbGluZyBvZiBlZmxhZ3Mgd2l0aCBTWVNDQUxMDQorDQorQSBzaW5nbGVzdGVw ICNEQiBpcyBkZXRlcm1pbmVkIGJ5IHRoZSByZXN1bHRpbmcgZWZsYWdzIHZhbHVlIGZyb20gdGhl DQorZXhlY3V0aW9uIG9mIFNZU0NBTEwsIG5vdCB0aGUgb3JpZ2luYWwgZWZsYWdzIHZhbHVlLg0K Kw0KK0J5IHVzaW5nIHRoZSBvcmlnaW5hbCBlZmxhZ3MgdmFsdWUsIHdlIG5lZ2F0ZSB0aGUgZ3Vl c3Qga2VybmVscyBhdHRlbXB0IHRvDQorcHJvdGVjdCBpdHNlbGYgZnJvbSBhIHByaXZpbGVnZSBl c2NhbGF0aW9uIGJ5IG1hc2tpbmcgVEYuDQorDQorSW50cm9kdWNlIGEgdGYgYm9vbGVhbiBhbmQg aGF2ZSB0aGUgU1lTQ0FMTCBlbXVsYXRpb24gcmVjYWxjdWxhdGUgaXQNCithZnRlciB0aGUgaW5z dHJ1Y3Rpb24gaXMgY29tcGxldGUuDQorDQorVGhpcyBpcyBYU0EtMjA0DQorDQorU2lnbmVkLW9m Zi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4NCitSZXZpZXdl ZC1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KKy0tLQ0KKyB4ZW4vYXJjaC94 ODYveDg2X2VtdWxhdGUveDg2X2VtdWxhdGUuYyB8IDIzICsrKysrKysrKysrKysrKysrKysrLS0t DQorIDEgZmlsZSBjaGFuZ2VkLCAyMCBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQ0KKw0K K2RpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYveDg2X2VtdWxhdGUveDg2X2VtdWxhdGUuYyBiL3hl bi9hcmNoL3g4Ni94ODZfZW11bGF0ZS94ODZfZW11bGF0ZS5jDQoraW5kZXggMGM0M2ZlMS4uZjY3 NWRjOSAxMDA2NDQNCistLS0gYS94ZW4vYXJjaC94ODYveDg2X2VtdWxhdGUveDg2X2VtdWxhdGUu Yw0KKysrKyBiL3hlbi9hcmNoL3g4Ni94ODZfZW11bGF0ZS94ODZfZW11bGF0ZS5jDQorQEAgLTE1 MzcsNiArMTUzNyw3IEBAIHg4Nl9lbXVsYXRlKA0KKyAgICAgdW5pb24gdmV4IHZleCA9IHt9Ow0K KyAgICAgdW5zaWduZWQgaW50IG9wX2J5dGVzLCBkZWZfb3BfYnl0ZXMsIGFkX2J5dGVzLCBkZWZf YWRfYnl0ZXM7DQorICAgICBib29sX3QgbG9ja19wcmVmaXggPSAwOw0KKysgICAgYm9vbF90IHRm ID0gISEoY3R4dC0+cmVncy0+ZWZsYWdzICYgRUZMR19URik7DQorICAgICBpbnQgb3ZlcnJpZGVf c2VnID0gLTEsIHJjID0gWDg2RU1VTF9PS0FZOw0KKyAgICAgc3RydWN0IG9wZXJhbmQgc3JjID0g eyAucmVnID0gUkVHX1BPSVNPTiB9Ow0KKyAgICAgc3RydWN0IG9wZXJhbmQgZHN0ID0geyAucmVn ID0gUkVHX1BPSVNPTiB9Ow0KK0BAIC0zODgxLDkgKzM4ODIsOCBAQCB4ODZfZW11bGF0ZSgNCisg ICAgICAgICBicmVhazsNCisgICAgIH0NCisgDQorLSAgICAvKiBJbmplY3QgI0RCIGlmIHNpbmds ZS1zdGVwIHRyYWNpbmcgd2FzIGVuYWJsZWQgYXQgaW5zdHJ1Y3Rpb24gc3RhcnQuICovDQorLSAg ICBpZiAoIChjdHh0LT5yZWdzLT5lZmxhZ3MgJiBFRkxHX1RGKSAmJiAocmMgPT0gWDg2RU1VTF9P S0FZKSAmJg0KKy0gICAgICAgICAob3BzLT5pbmplY3RfaHdfZXhjZXB0aW9uICE9IE5VTEwpICkN CisrICAgIC8qIFNob3VsZCBhIHNpbmdsZXN0ZXAgI0RCIGJlIHJhaXNlZD8gKi8NCisrICAgIGlm ICggdGYgJiYgKHJjID09IFg4NkVNVUxfT0tBWSkgJiYgKG9wcy0+aW5qZWN0X2h3X2V4Y2VwdGlv biAhPSBOVUxMKSApDQorICAgICAgICAgcmMgPSBvcHMtPmluamVjdF9od19leGNlcHRpb24oRVhD X0RCLCAtMSwgY3R4dCkgPyA6IFg4NkVNVUxfRVhDRVBUSU9OOw0KKyANCisgICAgIC8qIENvbW1p dCBzaGFkb3cgcmVnaXN0ZXIgc3RhdGUuICovDQorQEAgLTQwNjgsNiArNDA2OCwyMyBAQCB4ODZf ZW11bGF0ZSgNCisgICAgICAgICAgICAgIChyYyA9IG9wcy0+d3JpdGVfc2VnbWVudCh4ODZfc2Vn X3NzLCAmc3MsIGN0eHQpKSApDQorICAgICAgICAgICAgIGdvdG8gZG9uZTsNCisgDQorKyAgICAg ICAgLyoNCisrICAgICAgICAgKiBTWVNDQUxMICh1bmxpa2UgbW9zdCBpbnN0cnVjdGlvbnMpIGV2 YWx1YXRlcyBpdHMgc2luZ2xlc3RlcCBhY3Rpb24NCisrICAgICAgICAgKiBiYXNlZCBvbiB0aGUg cmVzdWx0aW5nIEVGTEdfVEYsIG5vdCB0aGUgc3RhcnRpbmcgRUZMR19URi4NCisrICAgICAgICAg Kg0KKysgICAgICAgICAqIEFzIHRoZSAjREIgaXMgcmFpc2VkIGFmdGVyIHRoZSBDUEwgY2hhbmdl IGFuZCBiZWZvcmUgdGhlIE9TIGNhbg0KKysgICAgICAgICAqIHN3aXRjaCBzdGFjaywgaXQgaXMg YSBsYXJnZSByaXNrIGZvciBwcml2aWxlZ2UgZXNjYWxhdGlvbi4NCisrICAgICAgICAgKg0KKysg ICAgICAgICAqIDY0Yml0IGtlcm5lbHMgc2hvdWxkIG1hc2sgRUZMR19URiBpbiBNU1JfRk1BU0sg dG8gYXZvaWQgYW55DQorKyAgICAgICAgICogdnVsbmVyYWJpbGl0eS4gIFJ1bm5pbmcgdGhlICNE QiBoYW5kbGVyIG9uIGFuIElTVCBzdGFjayBpcyBhbHNvIGENCisrICAgICAgICAgKiBtaXRpZ2F0 aW9uLg0KKysgICAgICAgICAqDQorKyAgICAgICAgICogMzJiaXQga2VybmVscyBoYXZlIG5vIGFi aWxpdHkgdG8gbWFzayBFRkxHX1RGIGF0IGFsbC4gIFRoZWlyIG9ubHkNCisrICAgICAgICAgKiBt aXRpZ2F0aW9uIGlzIHRvIHVzZSBhIHRhc2sgZ2F0ZSBmb3IgaGFuZGxpbmcgI0RCIChvciB0byBu b3QgdXNlDQorKyAgICAgICAgICogZW5hYmxlIEVGRVIuU0NFIHRvIHN0YXJ0IHdpdGgpLg0KKysg ICAgICAgICAqLw0KKysgICAgICAgIHRmID0gISEoX3JlZ3MuZWZsYWdzICYgRUZMR19URik7DQor Kw0KKyAgICAgICAgIGJyZWFrOw0KKyAgICAgfQ0KKyANCi0tIA0KMi40LjExDQoNCg0KDQotLS0N ClVuc3Vic2NyaWJlOiAgYWxwaW5lLWFwb3J0cyt1bnN1YnNjcmliZUBsaXN0cy5hbHBpbmVsaW51 eC5vcmcNCkhlbHA6ICAgICAgICAgYWxwaW5lLWFwb3J0cytoZWxwQGxpc3RzLmFscGluZWxpbnV4 Lm9yZw0KLS0tDQo=