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 21CF25C4528 for ; Mon, 5 Dec 2016 15:05:20 +0000 (GMT) Received: by mail-lf0-f68.google.com with SMTP id o141so26049158lff.1 for ; Mon, 05 Dec 2016 07:05:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=c7v0LGJzwaZTTOCCF3XnxLtatR/3qooGUfxrmmkWKxs=; b=kQtQsgcDuHOH9k6XEiD4h+49hUwSeHRpaxLxbk9wRRXTrnsHHKfHXueJOxhSGvJkcG 0Mt62tK0a+ByDdWUIeyaeQ11Lml5kjQ5jbMZq5pY5s18FkgnIpp2J+no+wp2uFeWUzvk f5j6bmm/KAKgxZVCnraoV3GTG+TUxtRZsqmclRd0fceckrGbLhAaOBW3pTxfUNVTnt5u h7MGG7JkpdmzCf+ulzAbKYlP++wJE2CESZ/r3avJwCDWuiBknV+bdBd+cSS8/vfYPskg 9oGIfwZ1wTSL2xiNYZ7qkCalJ4ll6KU0JEBBOPgWc9Rve9DBVpd7jpUeiZXaku0ZEYj5 aW2Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=c7v0LGJzwaZTTOCCF3XnxLtatR/3qooGUfxrmmkWKxs=; b=mdVlle8VqJMqnMhTFDS7D3/g3Xxpmofend3XDedhNFuu8IbpaBRHbFlG0g55GZiLy+ 5hhDub/tUCQiJLfSExoLRZck1iCddNPy0Isabk77b+3WLVWVktcoGYSB93NI5P0qzqhn 9t84HuRykq6ZO4k2DNSl980vmiA9RTBelG8yy4WYEHemezZWgUFkxyXksWLRveFhGctj Dzck1XuyYDmbKFGUyt+vXTJk7HHR0gxu3YHxLoQ7zQf7ppgXZRTI8CEZzuavAf1DC5iF e5rjt6J/BiLfnDLQDibWUjqY+AQ/QmkGtqHTztpZMn1f8n1QK824F5UkfKNrMBCUu1SU uI2w== X-Gm-Message-State: AKaTC038G3YN1jvzEvh2fI/9e+up95RJqMOAShS4DEtxkheipSZeYzGswKOdbOEcN7OQCg== X-Received: by 10.25.139.132 with SMTP id n126mr1151017lfd.20.1480950318623; Mon, 05 Dec 2016 07:05:18 -0800 (PST) Received: from v3-3.util.wtbts.net ([83.145.235.199]) by smtp.gmail.com with ESMTPSA id o196sm1961926lff.18.2016.12.05.07.05.17 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 05 Dec 2016 07:05:17 -0800 (PST) From: Sergey Lukin To: alpine-aports@lists.alpinelinux.org Cc: Sergey Lukin Subject: [alpine-aports] [PATCH v3.3] main/curl: security upgrade - fixes #6435 Date: Mon, 5 Dec 2016 15:05:07 +0000 Message-Id: <1480950307-17421-1-git-send-email-sergej.lukin@gmail.com> X-Mailer: git-send-email 2.6.6 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 Q1ZFLTIwMTYtODYxNSwgQ1ZFLTIwMTYtODYxNiwgQ1ZFLTIwMTYtODYxNywgQ1ZFLTIwMTYtODYx OCwgQ1ZFLTIwMTYtODYxOSwgQ1ZFLTIwMTYtODYyMCwgQ1ZFLTIwMTYtODYyMSBDVkUtMjAxNi04 NjIyLCBDVkUtMjAxNi04NjIzLCBDVkUtMjAxNi04NjI0DQotLS0NCiBtYWluL2N1cmwvQVBLQlVJ TEQgICAgICAgICAgICAgICAgICB8ICA0OSArKysrKysrKy0NCiBtYWluL2N1cmwvQ1ZFLTIwMTYt ODYxNS5wYXRjaCAgICAgICB8ICA3NSArKysrKysrKysrKysrDQogbWFpbi9jdXJsL0NWRS0yMDE2 LTg2MTYucGF0Y2ggICAgICAgfCAgNjYgKysrKysrKysrKysrDQogbWFpbi9jdXJsL0NWRS0yMDE2 LTg2MTcucGF0Y2ggICAgICAgfCAgMzYgKysrKysrKw0KIG1haW4vY3VybC9DVkUtMjAxNi04NjE4 LnBhdGNoICAgICAgIHwgIDUwICsrKysrKysrKw0KIG1haW4vY3VybC9DVkUtMjAxNi04NjE5LnBh dGNoICAgICAgIHwgIDUwICsrKysrKysrKw0KIG1haW4vY3VybC9DVkUtMjAxNi04NjIwLnBhdGNo ICAgICAgIHwgMjA1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrDQogbWFpbi9j dXJsL0NWRS0yMDE2LTg2MjEucGF0Y2ggICAgICAgfCAxMjEgKysrKysrKysrKysrKysrKysrKysr DQogbWFpbi9jdXJsL0NWRS0yMDE2LTg2MjIucGF0Y2ggICAgICAgfCAxMjYgKysrKysrKysrKysr KysrKysrKysrKw0KIG1haW4vY3VybC9DVkUtMjAxNi04NjIzLnBhdGNoICAgICAgIHwgMjA3ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KIG1haW4vY3VybC9DVkUtMjAxNi04 NjI0LWZpeGVkLnBhdGNoIHwgIDYxICsrKysrKysrKysrDQogMTEgZmlsZXMgY2hhbmdlZCwgMTA0 MiBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQ0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBtYWlu L2N1cmwvQ1ZFLTIwMTYtODYxNS5wYXRjaA0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBtYWluL2N1cmwv Q1ZFLTIwMTYtODYxNi5wYXRjaA0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBtYWluL2N1cmwvQ1ZFLTIw MTYtODYxNy5wYXRjaA0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBtYWluL2N1cmwvQ1ZFLTIwMTYtODYx OC5wYXRjaA0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBtYWluL2N1cmwvQ1ZFLTIwMTYtODYxOS5wYXRj aA0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBtYWluL2N1cmwvQ1ZFLTIwMTYtODYyMC5wYXRjaA0KIGNy ZWF0ZSBtb2RlIDEwMDY0NCBtYWluL2N1cmwvQ1ZFLTIwMTYtODYyMS5wYXRjaA0KIGNyZWF0ZSBt b2RlIDEwMDY0NCBtYWluL2N1cmwvQ1ZFLTIwMTYtODYyMi5wYXRjaA0KIGNyZWF0ZSBtb2RlIDEw MDY0NCBtYWluL2N1cmwvQ1ZFLTIwMTYtODYyMy5wYXRjaA0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBt YWluL2N1cmwvQ1ZFLTIwMTYtODYyNC1maXhlZC5wYXRjaA0KDQpkaWZmIC0tZ2l0IGEvbWFpbi9j dXJsL0FQS0JVSUxEIGIvbWFpbi9jdXJsL0FQS0JVSUxEDQppbmRleCBmYzMyYjIzLi4wZTU5YTg3 IDEwMDY0NA0KLS0tIGEvbWFpbi9jdXJsL0FQS0JVSUxEDQorKysgYi9tYWluL2N1cmwvQVBLQlVJ TEQNCkBAIC0xLDggKzEsOSBAQA0KICMgQ29udHJpYnV0b3I6IMWBdWthc3ogSmVuZHJ5c2lrIDxz Y2FkdUB5YW5kZXguY29tPg0KKyMgQ29udHJpYnV0b3I6IFNlcmdleSBMdWtpbiA8c2VyZ2VqLmx1 a2luQGdtYWlsLmNvbT4NCiAjIE1haW50YWluZXI6IE5hdGFuYWVsIENvcGEgPG5jb3BhQGFscGlu ZWxpbnV4Lm9yZz4NCiBwa2duYW1lPWN1cmwNCiBwa2d2ZXI9Ny40OS4xDQotcGtncmVsPTMNCitw a2dyZWw9NA0KIHBrZ2Rlc2M9IkFuIFVSTCByZXRyaXZhbCB1dGlsaXR5IGFuZCBsaWJyYXJ5Ig0K IHVybD0iaHR0cDovL2N1cmwuaGF4eC5zZSINCiBhcmNoPSJhbGwiDQpAQCAtMTcsNiArMTgsMTYg QEAgc291cmNlPSJodHRwOi8vY3VybC5oYXh4LnNlL2Rvd25sb2FkL2N1cmwtJHBrZ3Zlci50YXIu YnoyDQogCUNWRS0yMDE2LTU0MjEucGF0Y2gNCiAJQ1ZFLTIwMTYtNzE0MS5wYXRjaA0KIAlDVkUt MjAxNi03MTY3LnBhdGNoDQorCUNWRS0yMDE2LTg2MTUucGF0Y2gNCisJQ1ZFLTIwMTYtODYxNi5w YXRjaA0KKwlDVkUtMjAxNi04NjE3LnBhdGNoDQorCUNWRS0yMDE2LTg2MTgucGF0Y2gNCisJQ1ZF LTIwMTYtODYxOS5wYXRjaA0KKwlDVkUtMjAxNi04NjIwLnBhdGNoDQorCUNWRS0yMDE2LTg2MjEu cGF0Y2gNCisJQ1ZFLTIwMTYtODYyMi5wYXRjaA0KKwlDVkUtMjAxNi04NjIzLnBhdGNoDQorCUNW RS0yMDE2LTg2MjQtZml4ZWQucGF0Y2gNCiAJIg0KIA0KIF9idWlsZGRpcj0iJHNyY2Rpci8kcGtn bmFtZS0kcGtndmVyIg0KQEAgLTY1LDE2ICs3Niw0NiBAQCBtZDVzdW1zPSI2YmIxZjdhZjViNThi MzBlNGU2NDE0YjhjMWFiY2NhYiAgY3VybC03LjQ5LjEudGFyLmJ6Mg0KIDE1MGUzYzExMGQ2ZWI4 NTE4N2UxMDlkMDQzMTdiOWUzICBDVkUtMjAxNi01NDIwLnBhdGNoDQogMDUyNDY2NGJjOTI2Mzc0 ZjZhN2IwNTcwNDY5MjRiZDIgIENWRS0yMDE2LTU0MjEucGF0Y2gNCiA3ZWFkYTFlMzc0NWUzY2Zl OGY0MDU3ZGVjMjczZDgyMCAgQ1ZFLTIwMTYtNzE0MS5wYXRjaA0KLTEzZDVhZDZjZTJkYjliNWEy MzE0ZDMxMjI3NTc3ZjFmICBDVkUtMjAxNi03MTY3LnBhdGNoIg0KKzEzZDVhZDZjZTJkYjliNWEy MzE0ZDMxMjI3NTc3ZjFmICBDVkUtMjAxNi03MTY3LnBhdGNoDQorMjFkMWFjZjljM2E2MjAyMTVi YTJmY2FiZGJkZjNkMjcgIENWRS0yMDE2LTg2MTUucGF0Y2gNCitiMGNmNjYwMWNkNjg1ZTViNWQx MGExMGEyMmRmMWM4ZCAgQ1ZFLTIwMTYtODYxNi5wYXRjaA0KKzdmNTc3NWYzM2ExODc5MGU5Yjhk NWM3NmEyMjZiYWZlICBDVkUtMjAxNi04NjE3LnBhdGNoDQorMTUyMzA3YmY4ODAzYzYxNmVkNWM2 ZjZkMDZiMmVlNmEgIENWRS0yMDE2LTg2MTgucGF0Y2gNCithMDg4M2U5M2Q0ZDRiYTM2MTFmZDBi ZGRmZTVhYzkyOCAgQ1ZFLTIwMTYtODYxOS5wYXRjaA0KKzgwNzg3YmUyMzU0YThjNjM4NTE2NGM2 NmM5N2Y3ZjYxICBDVkUtMjAxNi04NjIwLnBhdGNoDQorNzY0MGU4MjgyZjcxYzA2ZjAwNzljMWEx OWQ5Y2ZmMjUgIENWRS0yMDE2LTg2MjEucGF0Y2gNCitkZmJjOGY0MzA2ZGJhYTRlNjIyMGQ5Yzdk YmFmNjkxYiAgQ1ZFLTIwMTYtODYyMi5wYXRjaA0KK2I3ZWVkYmRiYTA2OWY4YTNhNmVmYWFkZGNl MWEzOGVkICBDVkUtMjAxNi04NjIzLnBhdGNoDQorZWZjOTJjYzlkZmU5NGY3MGI4M2FiYTJlZDgz ZDk0YjYgIENWRS0yMDE2LTg2MjQtZml4ZWQucGF0Y2giDQogc2hhMjU2c3Vtcz0iZWI2M2NlYzRi ZWY2OTJlYWI5ZGI0NTkwMzNmNDA5NTMzZTZkMTBlMjA5NDJmNGIwNjBiMzI4MTllODE4ODVmMSAg Y3VybC03LjQ5LjEudGFyLmJ6Mg0KIGQzNDk5YWFmMzMxZmNhMjMwMzc0OWJkZmZiZWRmNTY3N2E1 NTVhMzdhZGExODdjMWE3MzQ5MjZjN2NiNzE4ZTUgIENWRS0yMDE2LTU0MTkucGF0Y2gNCiAyM2Ux ZmJkMjc4NjBjNmY0NmJlYzA5NGMwNmI1NjE4ZGEyYWI3MWIwOTE5NDVmNTg3YzBkN2U4ZDE0MzQ3 MmY3ICBDVkUtMjAxNi01NDIwLnBhdGNoDQogYmNhNzg2NjdhYzkxMTA5MjBjNWNlMzFjOGQ4MmE3 ODRmZTMyN2ViMTg0NDYwYzFiODdmYWI0ZGUwMDRlNjY5MiAgQ1ZFLTIwMTYtNTQyMS5wYXRjaA0K IGYwOTdkNmU1Yzc1ZWJkYWY1MzJhZWY1OWUzMTc5MGE2NTc4MTRiYmI3ZTUwMWRmYjJlYjY2ODZk ZGNhNGYxZWIgIENWRS0yMDE2LTcxNDEucGF0Y2gNCi1lZWRiZDNiMWYwNDRiYmM4ODQxNDBhNzVl NDBiZTBmOTdlYTNkMGRmNmE3YmM3OTU4ZGI3Y2UwMTU1NjQyZmNkICBDVkUtMjAxNi03MTY3LnBh dGNoIg0KK2VlZGJkM2IxZjA0NGJiYzg4NDE0MGE3NWU0MGJlMGY5N2VhM2QwZGY2YTdiYzc5NThk YjdjZTAxNTU2NDJmY2QgIENWRS0yMDE2LTcxNjcucGF0Y2gNCis2NDk2YWE2NDgyZWFhZTkxODdl NmMwM2VhMDcxOTdhMDJhZTM4MmM2ODRiMGFjMDBjZjZjNTBjOTZjYjE2NTkzICBDVkUtMjAxNi04 NjE1LnBhdGNoDQorMmJjMzczM2QwNmE2NDdhZmUwMTUxMzIxN2MwOTQzMTUyZmNlMWU4MjcwZjk3 YzQxOGNjZDJiYTBkZGVhNGYwMSAgQ1ZFLTIwMTYtODYxNi5wYXRjaA0KKzE4NjA2ODZkNDQ0ZjM3 MTBmYzljM2I1YWFiNjZiZWRlZThiZjc3NzUxNmM5MDViZjczM2EzZDM0MmIzMDM0ZTAgIENWRS0y MDE2LTg2MTcucGF0Y2gNCitmZjkxODk4YTkzNWJjOTI4NDA3Y2FjNDI4YmIyNmNmYWMyMDczZWM4 YWJhMmNiMzhjMDA1Y2ZjMmZlYzhmYmZjICBDVkUtMjAxNi04NjE4LnBhdGNoDQorZDg5YWVmZTRl NGRjNTkxYjFlMjM0MWVlNjNiMDlkMTg2YmI4NTI2OGVlN2IzMzIyZDJjNmM2MTAwYjg5ZmM2MSAg Q1ZFLTIwMTYtODYxOS5wYXRjaA0KK2RhZTI0Mzc5MjNjNzcwODVkMzdkODhhZTVlY2VkMzg4ZWIy YzkyNGMwMmMwYzRlMGY4ZTQ0ZjhjOGYyOTExZGIgIENWRS0yMDE2LTg2MjAucGF0Y2gNCiswNWMw MTRiMjVmMjVjZmU2ODlhMWNlNmQ4MjM4ZWY4OTA2ZjBjNmFkZmU2NDgzN2U1Yjc0NjkxZjBhNWRi Mjg3ICBDVkUtMjAxNi04NjIxLnBhdGNoDQorNTE2YTNjZWE2OTU3YzQzNTEzYTRlNTU0MjFkNzlk ZGZhMjZiYmFmMmFkY2JiNDJkN2VjMjcxZWM1ODM3NzBkOSAgQ1ZFLTIwMTYtODYyMi5wYXRjaA0K K2Y2Njc2NGY3YWRlMTQ2ZjhkZjUwMWQ1YTgwYmU3NzZkNzkwYjFkOGQxZTJmODc3NWQ4OTIzNDNm ZTg3YWNmYzEgIENWRS0yMDE2LTg2MjMucGF0Y2gNCitmNTNiZjJkOWQ3ZGRkYzhjNjcwZGRkNTBh YTZkY2QzMmE5ZjQ1ZmZjMTNlMTdjZDQ0ZGYzMWUxMTI3ZDk0MmIyICBDVkUtMjAxNi04NjI0LWZp eGVkLnBhdGNoIg0KIHNoYTUxMnN1bXM9IjY2NWVmMTc4YzI4MmMxNGY0Mjk0OTg1NDdiMzcxMWVm NzlmYWY4NWY2ZGI3ZjRlYzI0MjU5ZTJjNjI0N2Y2ZWUyMzRkZGExNThlYmMyMDdkMDNmMDhiNTE5 OGM1ODQ0NDgwZTA1NGYyNGYwNTRiMmRlNmM2YTE1ZDRmMWNlNmU2ICBjdXJsLTcuNDkuMS50YXIu YnoyDQogYTU5NmU0ODliMGI1NjZkOWRjYzgyOTJjY2VjNGQ5MGRmYmVhZTdjYjExZTI1MDg3MTIx N2ZmOTBkMWM5NTI1ZDYwMmY0MGUxMTJlYjBkNDdhMGE1OTdlNTc2OGMxMDU0MjNkMWNiMGNiMjgy NWMzOWEzMTllYTlkNTgyMjY5ZDAgIENWRS0yMDE2LTU0MTkucGF0Y2gNCiA5NTc4ZjEzYzVkOGU1 YTVkMTg0YjViMDhkZDdkNTlkZTU5NjY0NDA4NGYyZGUwNGMwMjVhZDhjZDc4ZTExZGFkY2ZmNDVi ZjRmYWIwMmI4OTQyZDdlZDE5OTc3ZGVjNGQyMjA4OTNmNjc1ZDY0ZWQxM2IyNzI4NGQ2M2RmYTVm MSAgQ1ZFLTIwMTYtNTQyMC5wYXRjaA0KIDJiNWU3N2RkYTExZGJiNzdjYmZlNzYwZGE1Mzc3Yzk0 YTE2NjRiMDRmMjU0YzlmYTY0MmY0OWRhMTE5ZDkzMTIzZWY2ZWUyN2U0YzA4ZDBiYTkwOTQyNDA3 OTFhYzA5MjczYzhiZTIzZmE4Y2E1OTgyZjhlZDE0ZDZiMjlhZDdlICBDVkUtMjAxNi01NDIxLnBh dGNoDQogN2VhZThiMzdmYjliYThkZmMwZDY2NThiMzcxOTE1NjA2Njg5MTRhODRhYmE0MTFjZmRh YzE1NWJkMTc0OWI5ODA1MTQxMjRjMDY1M2U4NTgyM2E4YTBlNzcwZjQ3Y2NjMmE0MTc3ODEwYjAy Y2ZjNjQxYzkwZjAwODYzOTg3OWUgIENWRS0yMDE2LTcxNDEucGF0Y2gNCi1jOTVkNTcxMWRiMDgw ODRlNmE1YzIwZWNkMmM4YWE4YTQ5NDI0MGE0NjM5NDA2OTJiMWQ5ZTNhODFjY2I4OTk4OTRjMWFj OGNhNjVlMzVkNzgzNDM1MjMwNWJmODg3MmM2ZTQ5MDdmZjY5NWU3MjE4MjRlOGU3YzExOTBmMTg2 MyAgQ1ZFLTIwMTYtNzE2Ny5wYXRjaCINCitjOTVkNTcxMWRiMDgwODRlNmE1YzIwZWNkMmM4YWE4 YTQ5NDI0MGE0NjM5NDA2OTJiMWQ5ZTNhODFjY2I4OTk4OTRjMWFjOGNhNjVlMzVkNzgzNDM1MjMw NWJmODg3MmM2ZTQ5MDdmZjY5NWU3MjE4MjRlOGU3YzExOTBmMTg2MyAgQ1ZFLTIwMTYtNzE2Ny5w YXRjaA0KKzAzZjQ3MzgwNWJjMzkyYzdjOGQxMzM2YWJiNjk4MTcxNTllZDI4OTIyMjBkZTgxYWZh YjM2ZjlkN2M0NzliZjZmMDFhNWM1ZjkwZDkzZTcwNzZkYzFjZDg1NWUxMWM1OTFlMzkzYmQzZjEy NWE2NzEyMjFjYWRlMTQ1NWI2MmQxICBDVkUtMjAxNi04NjE1LnBhdGNoDQorODY1NjI5YjI5NmIw Y2VjNWJiNzc0Y2Y0NmQ4NmIzZTY5YjFjMjBmMTE3NmZlZWMzYzk0NWM1NGZhN2UxMWY5NDRiODZk ZjJhNjVlNzJmZWZiOGE3NTg1NmQ1MTQ2NDA4MThmNjQ2YTM0NmJmNjgwODFkY2Y1YTBiMjgzYzE0 YWMgIENWRS0yMDE2LTg2MTYucGF0Y2gNCitiMDIwYzI3ZTllMjc1MjU4MGM2YWYxYTg5MDc4NWJm YzEzMDc4NjVlNzBiZDAwYTcxMzNlZTQ5NWIyN2E2YjExMmU3ZWM2NzBiODI0YzM0MmQyY2M1NmQ2 ZDZhZmEwMzg3ZTk2M2Q1OWExOGZjYzNkNzI0Zjg1ZDFmN2E5ZTk3ZCAgQ1ZFLTIwMTYtODYxNy5w YXRjaA0KK2VmN2M3NTUyMDU3ZDcwOTQyODJmYTJlYjQzMGYxNDZhMmU4NDNkYzc5YjEzZGVjYmY3 YmQ3ZjQ0YzlkZGQ4YjVmYzNkMGU1YTdmNzY0MmVhZGEwNDgzNzNjMDg0N2VhNjFiZmMwZjI4NGVk NjY5ODBlYzE1ZDI0ZTYzN2ExOTViICBDVkUtMjAxNi04NjE4LnBhdGNoDQorYzQxNGRhNWZmZmY0 NmY2ZWFlNzBjZGU5MGJlZjdhNjkxYzA5MzY0ZmJiMTM0N2U0NTlhYzYzYTJhM2E1NDlmZTIzZTFl MTk0OTBmMDU1Yjk3NjYwZWEyMzhlMmIwOGVkODc5MzgyOTQ0Nzk0NzY5YWRhOWQ4OWJhNTMyOTQ0 MjggIENWRS0yMDE2LTg2MTkucGF0Y2gNCis2OGI2MzEyZjAwNmY1ZmYzZTdmZjQyYjk2NjkzYmE1 ZDQ4ODg5YTBjZWU0ODVmM2I5N2EwNWY5YjQ3YjQ2Yjk1MDI0OTBlM2ZlZGE1Mjc5MDJiMDgwZTkw NWU0NWM0ZDZiNmQxMjJmYjZjYzM3NWJjMjFiMzBkMDg2ZDg0MWU3NiAgQ1ZFLTIwMTYtODYyMC5w YXRjaA0KKzdjOTBhMWIyNjY2YWE5YWNmMDU3NDRkMzBmNDM0MmVkMGE4ZjcyOTc3ODZlN2VkNDZk MTUyNTdlMmQ4MTAyOTY2OTgyODFiZTZhNzZmOTQ2YWQzOTM2OGE2NjMzOGNiNTMxNzY1MTAxNGQ2 MDI5NmJiMjE0NTk2N2UxMzk2YTQ2ICBDVkUtMjAxNi04NjIxLnBhdGNoDQorODUxY2U4ODZmMmNm ZmVjNTBhNDM4M2Q5YWI4Yjc1MzIwNGFjNjRlZjdiN2JiNDdmOWRkNDkxNGRhYWYxYjZkNWQ4YWU0 YmJkZGFhZjFlNDhhMzIzZmQwZWVmZjQwYTI2NDI5OTYzOTEyOWVjNzU1ZGJhOGQwNDM4MmE1MGUw ZTUgIENWRS0yMDE2LTg2MjIucGF0Y2gNCis3ODJmMzFiOTJhNTY4MDdlMjMyYTEyMzI4YzVkZGY5 Yjk1ODcxMTdlMjVmNzMwYzQ0MGY2ZmE0MGM3MjUwMWNkZDQxYjYxZjM2NzMxNGIzYjJkZTQ0YjM5 NDYwNWY0YTY3NjNkYmU4NGEzYzJmMGI1ZGJmMWNjYmM4ODJlMzk1MiAgQ1ZFLTIwMTYtODYyMy5w YXRjaA0KK2MxYjVlYmNlMTNlOWVhN2RhNjExZjVlZWU0M2JmM2NmMjgwMzRkZDBlMDA4Nzc0OTRj MDQ0NTlkZDI0ZjNiNTZlODUwMTQ3MGJiMDZmMjEwYWZkYTg2ZTU3YzlmZmJlNjFiYzljZGViOWM4 NjU5Y2I0NDE1YjdmNzE1ZjZhYWM3ICBDVkUtMjAxNi04NjI0LWZpeGVkLnBhdGNoIg0KZGlmZiAt LWdpdCBhL21haW4vY3VybC9DVkUtMjAxNi04NjE1LnBhdGNoIGIvbWFpbi9jdXJsL0NWRS0yMDE2 LTg2MTUucGF0Y2gNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwLi5kMWZkYTM1 DQotLS0gL2Rldi9udWxsDQorKysgYi9tYWluL2N1cmwvQ1ZFLTIwMTYtODYxNS5wYXRjaA0KQEAg LTAsMCArMSw3NSBAQA0KK0Zyb20gMTYyMGY1NTJhMjc3ZWQ1YjIzYTQ4YjljMjdkYmYwNzY2M2Nh YzA2OCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDENCitGcm9tOiBEYW5pZWwgU3RlbmJlcmcgPGRh bmllbEBoYXh4LnNlPg0KK0RhdGU6IFR1ZSwgMjcgU2VwIDIwMTYgMTc6MzY6MTkgKzAyMDANCitT dWJqZWN0OiBbUEFUQ0hdIGNvb2tpZTogcmVwbGFjZSB1c2Ugb2YgZmdldHMoKSB3aXRoIGN1c3Rv bSB2ZXJzaW9uDQorDQorLi4uIHRoYXQgd2lsbCBpZ25vcmUgbGluZXMgdGhhdCBhcmUgdG9vIGxv bmcgdG8gZml0IGluIHRoZSBidWZmZXIuDQorDQorQ1ZFLTIwMTYtODYxNQ0KKw0KK0J1ZzogaHR0 cHM6Ly9jdXJsLmhheHguc2UvZG9jcy9hZHZfMjAxNjExMDJBLmh0bWwNCitSZXBvcnRlZC1ieTog Q3VyZTUzDQorLS0tDQorIGxpYi9jb29raWUuYyB8IDMxICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKy0NCisgMSBmaWxlIGNoYW5nZWQsIDMwIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24o LSkNCisNCitkaWZmIC0tZ2l0IGEvbGliL2Nvb2tpZS5jIGIvbGliL2Nvb2tpZS5jDQoraW5kZXgg MGYwNWRhMi4uZTUwOTdkMyAxMDA2NDQNCistLS0gYS9saWIvY29va2llLmMNCisrKysgYi9saWIv Y29va2llLmMNCitAQCAtOTAxLDEwICs5MDEsMzkgQEAgQ3VybF9jb29raWVfYWRkKHN0cnVjdCBD dXJsX2Vhc3kgKmRhdGEsDQorICAgfQ0KKyANCisgICByZXR1cm4gY287DQorIH0NCisgDQorKy8q DQorKyAqIGdldF9saW5lKCkgbWFrZXMgc3VyZSB0byBvbmx5IHJldHVybiBjb21wbGV0ZSB3aG9s ZSBsaW5lcyB0aGF0IGZpdCBpbiAnbGVuJw0KKysgKiBieXRlcyBhbmQgZW5kIHdpdGggYSBuZXds aW5lLg0KKysgKi8NCisrc3RhdGljIGNoYXIgKmdldF9saW5lKGNoYXIgKmJ1ZiwgaW50IGxlbiwg RklMRSAqaW5wdXQpDQorK3sNCisrICBib29sIHBhcnRpYWwgPSBGQUxTRTsNCisrICB3aGlsZSgx KSB7DQorKyAgICBjaGFyICpiID0gZmdldHMoYnVmLCBsZW4sIGlucHV0KTsNCisrICAgIGlmKGIp IHsNCisrICAgICAgc2l6ZV90IHJsZW4gPSBzdHJsZW4oYik7DQorKyAgICAgIGlmKHJsZW4gJiYg KGJbcmxlbi0xXSA9PSAnXG4nKSkgew0KKysgICAgICAgIGlmKHBhcnRpYWwpIHsNCisrICAgICAg ICAgIHBhcnRpYWwgPSBGQUxTRTsNCisrICAgICAgICAgIGNvbnRpbnVlOw0KKysgICAgICAgIH0N CisrICAgICAgICByZXR1cm4gYjsNCisrICAgICAgfQ0KKysgICAgICBlbHNlDQorKyAgICAgICAg LyogcmVhZCBhIHBhcnRpYWwsIGRpc2NhcmQgdGhlIG5leHQgcGllY2UgdGhhdCBlbmRzIHdpdGgg bmV3bGluZSAqLw0KKysgICAgICAgIHBhcnRpYWwgPSBUUlVFOw0KKysgICAgfQ0KKysgICAgZWxz ZQ0KKysgICAgICBicmVhazsNCisrICB9DQorKyAgcmV0dXJuIE5VTEw7DQorK30NCisrDQorKw0K KyAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioNCisgICoNCisgICogQ3VybF9jb29raWVfaW5pdCgpDQor ICAqDQorICAqIEluaXRzIGEgY29va2llIHN0cnVjdCB0byByZWFkIGRhdGEgZnJvbSBhIGxvY2Fs IGZpbGUuIFRoaXMgaXMgYWx3YXlzDQorQEAgLTk1NywxMSArOTg2LDExIEBAIHN0cnVjdCBDb29r aWVJbmZvICpDdXJsX2Nvb2tpZV9pbml0KHN0cnVjdCBDdXJsX2Vhc3kgKmRhdGEsDQorICAgICBi b29sIGhlYWRlcmxpbmU7DQorIA0KKyAgICAgbGluZSA9IG1hbGxvYyhNQVhfQ09PS0lFX0xJTkUp Ow0KKyAgICAgaWYoIWxpbmUpDQorICAgICAgIGdvdG8gZmFpbDsNCistICAgIHdoaWxlKGZnZXRz KGxpbmUsIE1BWF9DT09LSUVfTElORSwgZnApKSB7DQorKyAgICB3aGlsZShnZXRfbGluZShsaW5l LCBNQVhfQ09PS0lFX0xJTkUsIGZwKSkgew0KKyAgICAgICBpZihjaGVja3ByZWZpeCgiU2V0LUNv b2tpZToiLCBsaW5lKSkgew0KKyAgICAgICAgIC8qIFRoaXMgaXMgYSBjb29raWUgbGluZSwgZ2V0 IGl0ISAqLw0KKyAgICAgICAgIGxpbmVwdHI9JmxpbmVbMTFdOw0KKyAgICAgICAgIGhlYWRlcmxp bmU9VFJVRTsNCisgICAgICAgfQ0KKy0tIA0KKzIuOS4zDQorDQpkaWZmIC0tZ2l0IGEvbWFpbi9j dXJsL0NWRS0yMDE2LTg2MTYucGF0Y2ggYi9tYWluL2N1cmwvQ1ZFLTIwMTYtODYxNi5wYXRjaA0K bmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAuLjY3MzA5YmYNCi0tLSAvZGV2L251 bGwNCisrKyBiL21haW4vY3VybC9DVkUtMjAxNi04NjE2LnBhdGNoDQpAQCAtMCwwICsxLDY2IEBA DQorRnJvbSBjZWY1MTBiZWIyMjJhYjU3NTBhZmNhYzJjNzRmY2JjZGMzMWFkYTY0IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQ0KK0Zyb206IERhbmllbCBTdGVuYmVyZyA8ZGFuaWVsQGhheHguc2U+ DQorRGF0ZTogVHVlLCAyNyBTZXAgMjAxNiAxODowMTo1MyArMDIwMA0KK1N1YmplY3Q6IFtQQVRD SF0gY29ubmVjdGlvbmV4aXN0czogdXNlIGNhc2Ugc2Vuc2l0aXZlIHVzZXIvcGFzc3dvcmQNCisg Y29tcGFyaXNvbnMNCisNCitDVkUtMjAxNi04NjE2DQorDQorQnVnOiBodHRwczovL2N1cmwuaGF4 eC5zZS9kb2NzL2Fkdl8yMDE2MTEwMkIuaHRtbA0KK1JlcG9ydGVkLWJ5OiBDdXJlNTMNCistLS0N CisgbGliL3VybC5jIHwgMTIgKysrKysrLS0tLS0tDQorIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2Vy dGlvbnMoKyksIDYgZGVsZXRpb25zKC0pDQorDQorZGlmZiAtLWdpdCBhL2xpYi91cmwuYyBiL2xp Yi91cmwuYw0KK2luZGV4IDkxYjJiZjguLmNkMzMzNWMgMTAwNjQ0DQorLS0tIGEvbGliL3VybC5j DQorKysrIGIvbGliL3VybC5jDQorQEAgLTM0MDEsMTIgKzM0MDEsMTIgQEAgQ29ubmVjdGlvbkV4 aXN0cyhzdHJ1Y3QgQ3VybF9lYXN5ICpkYXRhLA0KKyAgICAgICB9DQorIA0KKyAgICAgICBpZigh KG5lZWRsZS0+aGFuZGxlci0+ZmxhZ3MgJiBQUk9UT1BUX0NSRURTUEVSUkVRVUVTVCkpIHsNCisg ICAgICAgICAvKiBUaGlzIHByb3RvY29sIHJlcXVpcmVzIGNyZWRlbnRpYWxzIHBlciBjb25uZWN0 aW9uLA0KKyAgICAgICAgICAgIHNvIHZlcmlmeSB0aGF0IHdlJ3JlIHVzaW5nIHRoZSBzYW1lIG5h bWUgYW5kIHBhc3N3b3JkIGFzIHdlbGwgKi8NCistICAgICAgICBpZighc3RyZXF1YWwobmVlZGxl LT51c2VyLCBjaGVjay0+dXNlcikgfHwNCistICAgICAgICAgICAhc3RyZXF1YWwobmVlZGxlLT5w YXNzd2QsIGNoZWNrLT5wYXNzd2QpKSB7DQorKyAgICAgICAgaWYoc3RyY21wKG5lZWRsZS0+dXNl ciwgY2hlY2stPnVzZXIpIHx8DQorKyAgICAgICAgICAgc3RyY21wKG5lZWRsZS0+cGFzc3dkLCBj aGVjay0+cGFzc3dkKSkgew0KKyAgICAgICAgICAgLyogb25lIG9mIHRoZW0gd2FzIGRpZmZlcmVu dCAqLw0KKyAgICAgICAgICAgY29udGludWU7DQorICAgICAgICAgfQ0KKyAgICAgICB9DQorIA0K K0BAIC0zNDYyLDEyICszNDYyLDEyIEBAIENvbm5lY3Rpb25FeGlzdHMoc3RydWN0IEN1cmxfZWFz eSAqZGF0YSwNCisgICAgICAgICAgICBhbHJlYWR5IGF1dGhlbnRpY2F0aW5nIHdpdGggdGhlIHJp Z2h0IGNyZWRlbnRpYWxzLiBJZiBub3QsIGtlZXANCisgICAgICAgICAgICBsb29raW5nIHNvIHRo YXQgd2UgY2FuIHJldXNlIE5UTE0gY29ubmVjdGlvbnMgaWYNCisgICAgICAgICAgICBwb3NzaWJs ZS4gKEVzcGVjaWFsbHkgd2UgbXVzdCBub3QgcmV1c2UgdGhlIHNhbWUgY29ubmVjdGlvbiBpZg0K KyAgICAgICAgICAgIHBhcnR3YXkgdGhyb3VnaCBhIGhhbmRzaGFrZSEpICovDQorICAgICAgICAg aWYod2FudE5UTE1odHRwKSB7DQorLSAgICAgICAgICBpZighc3RyZXF1YWwobmVlZGxlLT51c2Vy LCBjaGVjay0+dXNlcikgfHwNCistICAgICAgICAgICAgICFzdHJlcXVhbChuZWVkbGUtPnBhc3N3 ZCwgY2hlY2stPnBhc3N3ZCkpDQorKyAgICAgICAgICBpZihzdHJjbXAobmVlZGxlLT51c2VyLCBj aGVjay0+dXNlcikgfHwNCisrICAgICAgICAgICAgIHN0cmNtcChuZWVkbGUtPnBhc3N3ZCwgY2hl Y2stPnBhc3N3ZCkpDQorICAgICAgICAgICAgIGNvbnRpbnVlOw0KKyAgICAgICAgIH0NCisgICAg ICAgICBlbHNlIGlmKGNoZWNrLT5udGxtLnN0YXRlICE9IE5UTE1TVEFURV9OT05FKSB7DQorICAg ICAgICAgICAvKiBDb25uZWN0aW9uIGlzIHVzaW5nIE5UTE0gYXV0aCBidXQgd2UgZG9uJ3Qgd2Fu dCBOVExNICovDQorICAgICAgICAgICBjb250aW51ZTsNCitAQCAtMzQ3NywxMiArMzQ3NywxMiBA QCBDb25uZWN0aW9uRXhpc3RzKHN0cnVjdCBDdXJsX2Vhc3kgKmRhdGEsDQorICAgICAgICAgaWYo d2FudFByb3h5TlRMTWh0dHApIHsNCisgICAgICAgICAgIC8qIEJvdGggY2hlY2stPnByb3h5dXNl ciBhbmQgY2hlY2stPnByb3h5cGFzc3dkIGNhbiBiZSBOVUxMICovDQorICAgICAgICAgICBpZigh Y2hlY2stPnByb3h5dXNlciB8fCAhY2hlY2stPnByb3h5cGFzc3dkKQ0KKyAgICAgICAgICAgICBj b250aW51ZTsNCisgDQorLSAgICAgICAgICBpZighc3RyZXF1YWwobmVlZGxlLT5wcm94eXVzZXIs IGNoZWNrLT5wcm94eXVzZXIpIHx8DQorLSAgICAgICAgICAgICAhc3RyZXF1YWwobmVlZGxlLT5w cm94eXBhc3N3ZCwgY2hlY2stPnByb3h5cGFzc3dkKSkNCisrICAgICAgICAgIGlmKHN0cmNtcChu ZWVkbGUtPnByb3h5dXNlciwgY2hlY2stPnByb3h5dXNlcikgfHwNCisrICAgICAgICAgICAgIHN0 cmNtcChuZWVkbGUtPnByb3h5cGFzc3dkLCBjaGVjay0+cHJveHlwYXNzd2QpKQ0KKyAgICAgICAg ICAgICBjb250aW51ZTsNCisgICAgICAgICB9DQorICAgICAgICAgZWxzZSBpZihjaGVjay0+cHJv eHludGxtLnN0YXRlICE9IE5UTE1TVEFURV9OT05FKSB7DQorICAgICAgICAgICAvKiBQcm94eSBj b25uZWN0aW9uIGlzIHVzaW5nIE5UTE0gYXV0aCBidXQgd2UgZG9uJ3Qgd2FudCBOVExNICovDQor ICAgICAgICAgICBjb250aW51ZTsNCistLSANCisyLjkuMw0KKw0KZGlmZiAtLWdpdCBhL21haW4v Y3VybC9DVkUtMjAxNi04NjE3LnBhdGNoIGIvbWFpbi9jdXJsL0NWRS0yMDE2LTg2MTcucGF0Y2gN Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwLi42NmM3ZjlhDQotLS0gL2Rldi9u dWxsDQorKysgYi9tYWluL2N1cmwvQ1ZFLTIwMTYtODYxNy5wYXRjaA0KQEAgLTAsMCArMSwzNiBA QA0KK0Zyb20gMzU5OTM0MWRkNjExMzAzZWU5NTQ0ODM5ZDMwZjYwM2Y2MDZkMTA4MiBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDENCitGcm9tOiBEYW5pZWwgU3RlbmJlcmcgPGRhbmllbEBoYXh4LnNl Pg0KK0RhdGU6IFdlZCwgMjggU2VwIDIwMTYgMDA6MDU6MTIgKzAyMDANCitTdWJqZWN0OiBbUEFU Q0hdIGJhc2U2NDogY2hlY2sgZm9yIGludGVnZXIgb3ZlcmZsb3cgb24gbGFyZ2UgaW5wdXQNCisN CitDVkUtMjAxNi04NjE3DQorDQorQnVnOiBodHRwczovL2N1cmwuaGF4eC5zZS9kb2NzL2Fkdl8y MDE2MTEwMkMuaHRtbA0KK1JlcG9ydGVkLWJ5OiBDdXJlNTMNCistLS0NCisgbGliL2Jhc2U2NC5j IHwgNSArKysrKw0KKyAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspDQorDQorZGlmZiAt LWdpdCBhL2xpYi9iYXNlNjQuYyBiL2xpYi9iYXNlNjQuYw0KK2luZGV4IGFkMjU0NTkuLjIwNGEy MjcgMTAwNjQ0DQorLS0tIGEvbGliL2Jhc2U2NC5jDQorKysrIGIvbGliL2Jhc2U2NC5jDQorQEAg LTE4OCwxMCArMTg4LDE1IEBAIHN0YXRpYyBDVVJMY29kZSBiYXNlNjRfZW5jb2RlKGNvbnN0IGNo YXIgKnRhYmxlNjQsDQorICAgKm91dGxlbiA9IDA7DQorIA0KKyAgIGlmKCFpbnNpemUpDQorICAg ICBpbnNpemUgPSBzdHJsZW4oaW5kYXRhKTsNCisgDQorKyNpZiBTSVpFT0ZfU0laRV9UID09IDQN CisrICBpZihpbnNpemUgPiBVSU5UX01BWC80KQ0KKysgICAgcmV0dXJuIENVUkxFX09VVF9PRl9N RU1PUlk7DQorKyNlbmRpZg0KKysNCisgICBiYXNlNjRkYXRhID0gb3V0cHV0ID0gbWFsbG9jKGlu c2l6ZSAqIDQgLyAzICsgNCk7DQorICAgaWYoIW91dHB1dCkNCisgICAgIHJldHVybiBDVVJMRV9P VVRfT0ZfTUVNT1JZOw0KKyANCisgICAvKg0KKy0tIA0KKzIuOS4zDQorDQpkaWZmIC0tZ2l0IGEv bWFpbi9jdXJsL0NWRS0yMDE2LTg2MTgucGF0Y2ggYi9tYWluL2N1cmwvQ1ZFLTIwMTYtODYxOC5w YXRjaA0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAuLjZkNGVhYWYNCi0tLSAv ZGV2L251bGwNCisrKyBiL21haW4vY3VybC9DVkUtMjAxNi04NjE4LnBhdGNoDQpAQCAtMCwwICsx LDUwIEBADQorRnJvbSAzMTEwNmEwNzM4ODI2NTZhMmE1YWI1NmM0Y2UyODQ3ZTlhMzM0YzNjIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQ0KK0Zyb206IERhbmllbCBTdGVuYmVyZyA8ZGFuaWVsQGhh eHguc2U+DQorRGF0ZTogV2VkLCAyOCBTZXAgMjAxNiAxMDoxNTozNCArMDIwMA0KK1N1YmplY3Q6 IFtQQVRDSF0gYXByaW50ZjogZGV0ZWN0IHdyYXAtYXJvdW5kIHdoZW4gZ3Jvd2luZyBhbGxvY2F0 aW9uDQorDQorT24gMzJiaXQgc3lzdGVtcyB3ZSBjb3VsZCBvdGhlcndpc2Ugd3JhcCBhcm91bmQg YWZ0ZXIgMkdCIGFuZCBhbGxvY2F0ZSAwDQorYnl0ZXMgYW5kIGNyYXNoLg0KKw0KK0NWRS0yMDE2 LTg2MTgNCisNCitCdWc6IGh0dHBzOi8vY3VybC5oYXh4LnNlL2RvY3MvYWR2XzIwMTYxMTAyRC5o dG1sDQorUmVwb3J0ZWQtYnk6IEN1cmU1Mw0KKy0tLQ0KKyBsaWIvbXByaW50Zi5jIHwgOSArKysr KystLS0NCisgMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkN CisNCitkaWZmIC0tZ2l0IGEvbGliL21wcmludGYuYyBiL2xpYi9tcHJpbnRmLmMNCitpbmRleCBk YmVkZWFhLi4yYzg4YWE4IDEwMDY0NA0KKy0tLSBhL2xpYi9tcHJpbnRmLmMNCisrKysgYi9saWIv bXByaW50Zi5jDQorQEAgLTEwMzQsMjAgKzEwMzQsMjMgQEAgc3RhdGljIGludCBhbGxvY19hZGRi eXRlcihpbnQgb3V0cHV0LCBGSUxFICpkYXRhKQ0KKyAgICAgfQ0KKyAgICAgaW5mb3AtPmFsbG9j ID0gMzI7DQorICAgICBpbmZvcC0+bGVuID0wOw0KKyAgIH0NCisgICBlbHNlIGlmKGluZm9wLT5s ZW4rMSA+PSBpbmZvcC0+YWxsb2MpIHsNCistICAgIGNoYXIgKm5ld3B0cjsNCisrICAgIGNoYXIg Km5ld3B0ciA9IE5VTEw7DQorKyAgICBzaXplX3QgbmV3c2l6ZSA9IGluZm9wLT5hbGxvYyoyOw0K KyANCistICAgIG5ld3B0ciA9IHJlYWxsb2MoaW5mb3AtPmJ1ZmZlciwgaW5mb3AtPmFsbG9jKjIp Ow0KKysgICAgLyogZGV0ZWN0IHdyYXAtYXJvdW5kIG9yIG90aGVyIG92ZXJmbG93IHByb2JsZW1z ICovDQorKyAgICBpZihuZXdzaXplID4gaW5mb3AtPmFsbG9jKQ0KKysgICAgICBuZXdwdHIgPSBy ZWFsbG9jKGluZm9wLT5idWZmZXIsIG5ld3NpemUpOw0KKyANCisgICAgIGlmKCFuZXdwdHIpIHsN CisgICAgICAgaW5mb3AtPmZhaWwgPSAxOw0KKyAgICAgICByZXR1cm4gLTE7IC8qIGZhaWwgKi8N CisgICAgIH0NCisgICAgIGluZm9wLT5idWZmZXIgPSBuZXdwdHI7DQorLSAgICBpbmZvcC0+YWxs b2MgKj0gMjsNCisrICAgIGluZm9wLT5hbGxvYyA9IG5ld3NpemU7DQorICAgfQ0KKyANCisgICBp bmZvcC0+YnVmZmVyWyBpbmZvcC0+bGVuIF0gPSBvdXRjOw0KKyANCisgICBpbmZvcC0+bGVuKys7 DQorLS0gDQorMi45LjMNCisNCmRpZmYgLS1naXQgYS9tYWluL2N1cmwvQ1ZFLTIwMTYtODYxOS5w YXRjaCBiL21haW4vY3VybC9DVkUtMjAxNi04NjE5LnBhdGNoDQpuZXcgZmlsZSBtb2RlIDEwMDY0 NA0KaW5kZXggMDAwMDAwMC4uODQ3MGIzNQ0KLS0tIC9kZXYvbnVsbA0KKysrIGIvbWFpbi9jdXJs L0NWRS0yMDE2LTg2MTkucGF0Y2gNCkBAIC0wLDAgKzEsNTAgQEANCitGcm9tIDkxMjM5ZjcwNDBi MWYwMjZkNGQxNTc2NWU3ZTNmNThlOTJlOTM3NjEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxDQor RnJvbTogRGFuaWVsIFN0ZW5iZXJnIDxkYW5pZWxAaGF4eC5zZT4NCitEYXRlOiBXZWQsIDI4IFNl cCAyMDE2IDEyOjU2OjAyICswMjAwDQorU3ViamVjdDogW1BBVENIXSBrcmI1OiBhdm9pZCByZWFs bG9jKDApDQorDQorSWYgdGhlIHJlcXVlc3RlZCBzaXplIGlzIHplcm8sIGJhaWwgb3V0IHdpdGgg ZXJyb3IgaW5zdGVhZCBvZiBkb2luZyBhDQorcmVhbGxvYygpIHRoYXQgd291bGQgY2F1c2UgYSBk b3VibGUtZnJlZTogcmVhbGxvYygwKSBhY3RzIGFzIGEgZnJlZSgpDQorYW5kIHRoZW4gdGhlcmUn cyBhIHNlY29uZCBmcmVlIGluIHRoZSBjbGVhbnVwIHBhdGguDQorDQorQ1ZFLTIwMTYtODYxOQ0K Kw0KK0J1ZzogaHR0cHM6Ly9jdXJsLmhheHguc2UvZG9jcy9hZHZfMjAxNjExMDJFLmh0bWwNCitS ZXBvcnRlZC1ieTogQ3VyZTUzDQorLS0tDQorIGxpYi9zZWN1cml0eS5jIHwgOSArKysrKystLS0N CisgMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkNCisNCitk aWZmIC0tZ2l0IGEvbGliL3NlY3VyaXR5LmMgYi9saWIvc2VjdXJpdHkuYw0KK2luZGV4IGEyNjhk NGEuLjRjZWY4ZjggMTAwNjQ0DQorLS0tIGEvbGliL3NlY3VyaXR5LmMNCisrKysgYi9saWIvc2Vj dXJpdHkuYw0KK0BAIC0xOTAsMTkgKzE5MCwyMiBAQCBzb2NrZXRfd3JpdGUoc3RydWN0IGNvbm5l Y3RkYXRhICpjb25uLCBjdXJsX3NvY2tldF90IGZkLCBjb25zdCB2b2lkICp0bywNCisgc3RhdGlj IENVUkxjb2RlIHJlYWRfZGF0YShzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4sDQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgY3VybF9zb2NrZXRfdCBmZCwNCisgICAgICAgICAgICAgICAgICAg ICAgICAgICBzdHJ1Y3Qga3JiNWJ1ZmZlciAqYnVmKQ0KKyB7DQorICAgaW50IGxlbjsNCistICB2 b2lkKiB0bXA7DQorKyAgdm9pZCAqdG1wID0gTlVMTDsNCisgICBDVVJMY29kZSByZXN1bHQ7DQor IA0KKyAgIHJlc3VsdCA9IHNvY2tldF9yZWFkKGZkLCAmbGVuLCBzaXplb2YobGVuKSk7DQorICAg aWYocmVzdWx0KQ0KKyAgICAgcmV0dXJuIHJlc3VsdDsNCisgDQorLSAgbGVuID0gbnRvaGwobGVu KTsNCistICB0bXAgPSByZWFsbG9jKGJ1Zi0+ZGF0YSwgbGVuKTsNCisrICBpZihsZW4pIHsNCisr ICAgIC8qIG9ubHkgcmVhbGxvYyBpZiB0aGVyZSB3YXMgYSBsZW5ndGggKi8NCisrICAgIGxlbiA9 IG50b2hsKGxlbik7DQorKyAgICB0bXAgPSByZWFsbG9jKGJ1Zi0+ZGF0YSwgbGVuKTsNCisrICB9 DQorICAgaWYodG1wID09IE5VTEwpDQorICAgICByZXR1cm4gQ1VSTEVfT1VUX09GX01FTU9SWTsN CisgDQorICAgYnVmLT5kYXRhID0gdG1wOw0KKyAgIHJlc3VsdCA9IHNvY2tldF9yZWFkKGZkLCBi dWYtPmRhdGEsIGxlbik7DQorLS0gDQorMi45LjMNCisNCmRpZmYgLS1naXQgYS9tYWluL2N1cmwv Q1ZFLTIwMTYtODYyMC5wYXRjaCBiL21haW4vY3VybC9DVkUtMjAxNi04NjIwLnBhdGNoDQpuZXcg ZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMC4uYzhjMmNkMQ0KLS0tIC9kZXYvbnVsbA0K KysrIGIvbWFpbi9jdXJsL0NWRS0yMDE2LTg2MjAucGF0Y2gNCkBAIC0wLDAgKzEsMjA1IEBADQor RnJvbSA1MmYzZTFkMTA5MmM4MWE0ZjU3NGM5ZmM2Y2IzODE4Yjg4NDM0YzhkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQ0KK0Zyb206IERhbmllbCBTdGVuYmVyZyA8ZGFuaWVsQGhheHguc2U+DQor RGF0ZTogTW9uLCAzIE9jdCAyMDE2IDE3OjI3OjE2ICswMjAwDQorU3ViamVjdDogW1BBVENIIDEv M10gcmFuZ2U6IHByZXZlbnQgbmVnYXRpdmUgZW5kIG51bWJlciBpbiBhIGdsb2IgcmFuZ2UNCitN SU1FLVZlcnNpb246IDEuMA0KK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYt OA0KK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQNCisNCitDVkUtMjAxNi04NjIwDQor DQorQnVnOiBodHRwczovL2N1cmwuaGF4eC5zZS9kb2NzL2Fkdl8yMDE2MTEwMkYuaHRtbA0KK1Jl cG9ydGVkLWJ5OiBMdeG6rXQgTmd1eeG7hW4NCistLS0NCisgc3JjL3Rvb2xfdXJsZ2xvYi5jIHwg NyArKysrKysrDQorIDEgZmlsZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKykNCisNCitkaWZmIC0t Z2l0IGEvc3JjL3Rvb2xfdXJsZ2xvYi5jIGIvc3JjL3Rvb2xfdXJsZ2xvYi5jDQoraW5kZXggYTM1 N2I4Yi4uNjRjNzViYSAxMDA2NDQNCistLS0gYS9zcmMvdG9vbF91cmxnbG9iLmMNCisrKysgYi9z cmMvdG9vbF91cmxnbG9iLmMNCitAQCAtMjU1LDEwICsyNTUsMTYgQEAgc3RhdGljIENVUkxjb2Rl IGdsb2JfcmFuZ2UoVVJMR2xvYiAqZ2xvYiwgY2hhciAqKnBhdHRlcm5wLA0KKyAgICAgZWxzZSB7 DQorICAgICAgIGlmKCplbmRwICE9ICctJykNCisgICAgICAgICBlbmRwID0gTlVMTDsNCisgICAg ICAgZWxzZSB7DQorICAgICAgICAgcGF0dGVybiA9IGVuZHArMTsNCisrICAgICAgICB3aGlsZSgq cGF0dGVybiAmJiBJU0JMQU5LKCpwYXR0ZXJuKSkNCisrICAgICAgICAgIHBhdHRlcm4rKzsNCisr ICAgICAgICBpZighSVNESUdJVCgqcGF0dGVybikpIHsNCisrICAgICAgICAgIGVuZHAgPSBOVUxM Ow0KKysgICAgICAgICAgZ290byBmYWlsOw0KKysgICAgICAgIH0NCisgICAgICAgICBlcnJubyA9 IDA7DQorICAgICAgICAgbWF4X24gPSBzdHJ0b3VsKHBhdHRlcm4sICZlbmRwLCAxMCk7DQorICAg ICAgICAgaWYoZXJybm8gfHwgKCplbmRwID09ICc6JykpIHsNCisgICAgICAgICAgIHBhdHRlcm4g PSBlbmRwKzE7DQorICAgICAgICAgICBlcnJubyA9IDA7DQorQEAgLTI3NSwxMCArMjgxLDExIEBA IHN0YXRpYyBDVVJMY29kZSBnbG9iX3JhbmdlKFVSTEdsb2IgKmdsb2IsIGNoYXIgKipwYXR0ZXJu cCwNCisgICAgICAgICBlbHNlDQorICAgICAgICAgICBlbmRwID0gTlVMTDsNCisgICAgICAgfQ0K KyAgICAgfQ0KKyANCisrICAgIGZhaWw6DQorICAgICAqcG9zcCArPSAocGF0dGVybiAtICpwYXR0 ZXJucCk7DQorIA0KKyAgICAgaWYoIWVuZHAgfHwgKG1pbl9uID4gbWF4X24pIHx8IChzdGVwX24g PiAobWF4X24gLSBtaW5fbikpIHx8ICFzdGVwX24pDQorICAgICAgIC8qIHRoZSBwYXR0ZXJuIGlz IG5vdCB3ZWxsLWZvcm1lZCAqLw0KKyAgICAgICByZXR1cm4gR0xPQkVSUk9SKCJiYWQgcmFuZ2Ui LCAqcG9zcCwgQ1VSTEVfVVJMX01BTEZPUk1BVCk7DQorLS0gDQorMi45LjMNCisNCisNCitGcm9t IGU5N2ViZTk3YzJiNTNkMzYxN2MxZjQwODJhMmFhYTRmMWI1OTNlZjkgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxDQorRnJvbTogRGFuaWVsIFN0ZW5iZXJnIDxkYW5pZWxAaGF4eC5zZT4NCitEYXRl OiBNb24sIDMgT2N0IDIwMTYgMTg6MjM6MjIgKzAyMDANCitTdWJqZWN0OiBbUEFUQ0ggMi8zXSBn bG9iX25leHRfdXJsOiBtYWtlIHN1cmUgdG8gc3RheSB3aXRoaW4gdGhlIGdpdmVuIG91dHB1dA0K KyBidWZmZXINCisNCistLS0NCisgc3JjL3Rvb2xfdXJsZ2xvYi5jIHwgMTcgKysrKysrKysrKyst LS0tLS0NCisgMSBmaWxlIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0p DQorDQorZGlmZiAtLWdpdCBhL3NyYy90b29sX3VybGdsb2IuYyBiL3NyYy90b29sX3VybGdsb2Iu Yw0KK2luZGV4IDY0Yzc1YmEuLmM0NWE3OGIgMTAwNjQ0DQorLS0tIGEvc3JjL3Rvb2xfdXJsZ2xv Yi5jDQorKysrIGIvc3JjL3Rvb2xfdXJsZ2xvYi5jDQorQEAgLTQyOSwxMCArNDI5LDExIEBAIENV Ukxjb2RlIGdsb2JfdXJsKFVSTEdsb2IqKiBnbG9iLCBjaGFyKiB1cmwsIHVuc2lnbmVkIGxvbmcg KnVybG51bSwNCisgICAqZ2xvYiA9IE5VTEw7DQorIA0KKyAgIGdsb2JfYnVmZmVyID0gbWFsbG9j KHN0cmxlbih1cmwpICsgMSk7DQorICAgaWYoIWdsb2JfYnVmZmVyKQ0KKyAgICAgcmV0dXJuIENV UkxFX09VVF9PRl9NRU1PUlk7DQorKyAgZ2xvYl9idWZmZXJbMF09MDsNCisgDQorICAgZ2xvYl9l eHBhbmQgPSBjYWxsb2MoMSwgc2l6ZW9mKFVSTEdsb2IpKTsNCisgICBpZighZ2xvYl9leHBhbmQp IHsNCisgICAgIEN1cmxfc2FmZWZyZWUoZ2xvYl9idWZmZXIpOw0KKyAgICAgcmV0dXJuIENVUkxF X09VVF9PRl9NRU1PUlk7DQorQEAgLTU0NiwzMyArNTQ3LDM3IEBAIENVUkxjb2RlIGdsb2JfbmV4 dF91cmwoY2hhciAqKmdsb2JiZWQsIFVSTEdsb2IgKmdsb2IpDQorICAgZm9yKGkgPSAwOyBpIDwg Z2xvYi0+c2l6ZTsgKytpKSB7DQorICAgICBwYXQgPSAmZ2xvYi0+cGF0dGVybltpXTsNCisgICAg IHN3aXRjaChwYXQtPnR5cGUpIHsNCisgICAgIGNhc2UgVVBUU2V0Og0KKyAgICAgICBpZihwYXQt PmNvbnRlbnQuU2V0LmVsZW1lbnRzKSB7DQorLSAgICAgICAgbGVuID0gc3RybGVuKHBhdC0+Y29u dGVudC5TZXQuZWxlbWVudHNbcGF0LT5jb250ZW50LlNldC5wdHJfc10pOw0KKyAgICAgICAgIHNu cHJpbnRmKGJ1ZiwgYnVmbGVuLCAiJXMiLA0KKyAgICAgICAgICAgICAgICAgIHBhdC0+Y29udGVu dC5TZXQuZWxlbWVudHNbcGF0LT5jb250ZW50LlNldC5wdHJfc10pOw0KKysgICAgICAgIGxlbiA9 IHN0cmxlbihidWYpOw0KKyAgICAgICAgIGJ1ZiArPSBsZW47DQorICAgICAgICAgYnVmbGVuIC09 IGxlbjsNCisgICAgICAgfQ0KKyAgICAgICBicmVhazsNCisgICAgIGNhc2UgVVBUQ2hhclJhbmdl Og0KKy0gICAgICAqYnVmKysgPSBwYXQtPmNvbnRlbnQuQ2hhclJhbmdlLnB0cl9jOw0KKysgICAg ICBpZihidWZsZW4pIHsNCisrICAgICAgICAqYnVmKysgPSBwYXQtPmNvbnRlbnQuQ2hhclJhbmdl LnB0cl9jOw0KKysgICAgICAgICpidWYgPSAnXDAnOw0KKysgICAgICAgIGJ1Zmxlbi0tOw0KKysg ICAgICB9DQorICAgICAgIGJyZWFrOw0KKyAgICAgY2FzZSBVUFROdW1SYW5nZToNCistICAgICAg bGVuID0gc25wcmludGYoYnVmLCBidWZsZW4sICIlMCpsZCIsDQorLSAgICAgICAgICAgICAgICAg ICAgIHBhdC0+Y29udGVudC5OdW1SYW5nZS5wYWRsZW5ndGgsDQorLSAgICAgICAgICAgICAgICAg ICAgIHBhdC0+Y29udGVudC5OdW1SYW5nZS5wdHJfbik7DQorKyAgICAgIHNucHJpbnRmKGJ1Ziwg YnVmbGVuLCAiJTAqbGQiLA0KKysgICAgICAgICAgICAgICBwYXQtPmNvbnRlbnQuTnVtUmFuZ2Uu cGFkbGVuZ3RoLA0KKysgICAgICAgICAgICAgICBwYXQtPmNvbnRlbnQuTnVtUmFuZ2UucHRyX24p Ow0KKysgICAgICBsZW4gPSBzdHJsZW4oYnVmKTsNCisgICAgICAgYnVmICs9IGxlbjsNCisgICAg ICAgYnVmbGVuIC09IGxlbjsNCisgICAgICAgYnJlYWs7DQorICAgICBkZWZhdWx0Og0KKyAgICAg ICBwcmludGYoImludGVybmFsIGVycm9yOiBpbnZhbGlkIHBhdHRlcm4gdHlwZSAoJWQpXG4iLCAo aW50KXBhdC0+dHlwZSk7DQorICAgICAgIHJldHVybiBDVVJMRV9GQUlMRURfSU5JVDsNCisgICAg IH0NCisgICB9DQorLSAgKmJ1ZiA9ICdcMCc7DQorIA0KKyAgICpnbG9iYmVkID0gc3RyZHVwKGds b2ItPmdsb2JfYnVmZmVyKTsNCisgICBpZighKmdsb2JiZWQpDQorICAgICByZXR1cm4gQ1VSTEVf T1VUX09GX01FTU9SWTsNCisgDQorLS0gDQorMi45LjMNCisNCisNCitGcm9tIDljZTM3NzA1MTI5 MGM4MzE3NmYyMzViNTI2Yjg3OTA0Y2FkNmIzODggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxDQor RnJvbTogRGFuaWVsIFN0ZW5iZXJnIDxkYW5pZWxAaGF4eC5zZT4NCitEYXRlOiBUdWUsIDQgT2N0 IDIwMTYgMTc6MjU6MDkgKzAyMDANCitTdWJqZWN0OiBbUEFUQ0ggMy8zXSByYW5nZTogcmVqZWN0 IGNoYXIgZ2xvYnMgd2l0aCBtaXNzaW5nIGVuZCBsaWtlICdbTC1dJw0KK01JTUUtVmVyc2lvbjog MS4wDQorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04DQorQ29udGVudC1U cmFuc2Zlci1FbmNvZGluZzogOGJpdA0KKw0KKy4uLiB3aGljaCBwcmV2aW91c2x5IHdvdWxkIGxl YWQgdG8gb3V0IG9mIGJvdW5kYXJ5IHJlYWRzLg0KKw0KK1JlcG9ydGVkLWJ5OiBMdeG6rXQgTmd1 eeG7hW4NCistLS0NCisgc3JjL3Rvb2xfdXJsZ2xvYi5jIHwgMzQgKysrKysrKysrKysrKysrKysr Ky0tLS0tLS0tLS0tLS0tLQ0KKyAxIGZpbGUgY2hhbmdlZCwgMTkgaW5zZXJ0aW9ucygrKSwgMTUg ZGVsZXRpb25zKC0pDQorDQorZGlmZiAtLWdpdCBhL3NyYy90b29sX3VybGdsb2IuYyBiL3NyYy90 b29sX3VybGdsb2IuYw0KK2luZGV4IGM0NWE3OGIuLjA5ZDIxYjYgMTAwNjQ0DQorLS0tIGEvc3Jj L3Rvb2xfdXJsZ2xvYi5jDQorKysrIGIvc3JjL3Rvb2xfdXJsZ2xvYi5jDQorQEAgLTE4NiwzNiAr MTg2LDQwIEBAIHN0YXRpYyBDVVJMY29kZSBnbG9iX3JhbmdlKFVSTEdsb2IgKmdsb2IsIGNoYXIg KipwYXR0ZXJucCwNCisgDQorICAgaWYoSVNBTFBIQSgqcGF0dGVybikpIHsNCisgICAgIC8qIGNo YXJhY3RlciByYW5nZSBkZXRlY3RlZCAqLw0KKyAgICAgY2hhciBtaW5fYzsNCisgICAgIGNoYXIg bWF4X2M7DQorKyAgICBjaGFyIGVuZF9jOw0KKyAgICAgaW50IHN0ZXA9MTsNCisgDQorICAgICBw YXQtPnR5cGUgPSBVUFRDaGFyUmFuZ2U7DQorIA0KKy0gICAgcmMgPSBzc2NhbmYocGF0dGVybiwg IiVjLSVjIiwgJm1pbl9jLCAmbWF4X2MpOw0KKysgICAgcmMgPSBzc2NhbmYocGF0dGVybiwgIiVj LSVjJWMiLCAmbWluX2MsICZtYXhfYywgJmVuZF9jKTsNCisgDQorLSAgICBpZigocmMgPT0gMikg JiYgKHBhdHRlcm5bM10gPT0gJzonKSkgew0KKy0gICAgICBjaGFyICplbmRwOw0KKy0gICAgICB1 bnNpZ25lZCBsb25nIGxzdGVwOw0KKy0gICAgICBlcnJubyA9IDA7DQorLSAgICAgIGxzdGVwID0g c3RydG91bCgmcGF0dGVybls0XSwgJmVuZHAsIDEwKTsNCistICAgICAgaWYoZXJybm8gfHwgKCpl bmRwICE9ICddJykpDQorLSAgICAgICAgc3RlcCA9IC0xOw0KKy0gICAgICBlbHNlIHsNCistICAg ICAgICBwYXR0ZXJuID0gZW5kcCsxOw0KKy0gICAgICAgIHN0ZXAgPSAoaW50KWxzdGVwOw0KKy0g ICAgICAgIGlmKHN0ZXAgPiAobWF4X2MgLSBtaW5fYykpDQorKyAgICBpZihyYyA9PSAzKSB7DQor KyAgICAgIGlmKGVuZF9jID09ICc6Jykgew0KKysgICAgICAgIGNoYXIgKmVuZHA7DQorKyAgICAg ICAgdW5zaWduZWQgbG9uZyBsc3RlcDsNCisrICAgICAgICBlcnJubyA9IDA7DQorKyAgICAgICAg bHN0ZXAgPSBzdHJ0b3VsKCZwYXR0ZXJuWzRdLCAmZW5kcCwgMTApOw0KKysgICAgICAgIGlmKGVy cm5vIHx8ICgqZW5kcCAhPSAnXScpKQ0KKyAgICAgICAgICAgc3RlcCA9IC0xOw0KKysgICAgICAg IGVsc2Ugew0KKysgICAgICAgICAgcGF0dGVybiA9IGVuZHArMTsNCisrICAgICAgICAgIHN0ZXAg PSAoaW50KWxzdGVwOw0KKysgICAgICAgICAgaWYoc3RlcCA+IChtYXhfYyAtIG1pbl9jKSkNCisr ICAgICAgICAgICAgc3RlcCA9IC0xOw0KKysgICAgICAgIH0NCisgICAgICAgfQ0KKysgICAgICBl bHNlIGlmKGVuZF9jICE9ICddJykNCisrICAgICAgICAvKiB0aGVuIHRoaXMgaXMgd3JvbmcgKi8N CisrICAgICAgICByYyA9IDA7DQorICAgICB9DQorLSAgICBlbHNlDQorLSAgICAgIHBhdHRlcm4g Kz0gNDsNCisgDQorICAgICAqcG9zcCArPSAocGF0dGVybiAtICpwYXR0ZXJucCk7DQorIA0KKy0g ICAgaWYoKHJjICE9IDIpIHx8IChtaW5fYyA+PSBtYXhfYykgfHwgKChtYXhfYyAtIG1pbl9jKSA+ ICgneicgLSAnYScpKSB8fA0KKysgICAgaWYoKHJjICE9IDMpIHx8IChtaW5fYyA+PSBtYXhfYykg fHwgKChtYXhfYyAtIG1pbl9jKSA+ICgneicgLSAnYScpKSB8fA0KKyAgICAgICAgKHN0ZXAgPD0g MCkgKQ0KKyAgICAgICAvKiB0aGUgcGF0dGVybiBpcyBub3Qgd2VsbC1mb3JtZWQgKi8NCisgICAg ICAgcmV0dXJuIEdMT0JFUlJPUigiYmFkIHJhbmdlIiwgKnBvc3AsIENVUkxFX1VSTF9NQUxGT1JN QVQpOw0KKyANCisgICAgIC8qIGlmIHRoZXJlIHdhcyBhICI6W251bV0iIHRoaW5nLCB1c2UgdGhh dCBhcyBzdGVwIG9yIGVsc2UgdXNlIDEgKi8NCistLSANCisyLjkuMw0KKw0KZGlmZiAtLWdpdCBh L21haW4vY3VybC9DVkUtMjAxNi04NjIxLnBhdGNoIGIvbWFpbi9jdXJsL0NWRS0yMDE2LTg2MjEu cGF0Y2gNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwLi42ODU1Y2U5DQotLS0g L2Rldi9udWxsDQorKysgYi9tYWluL2N1cmwvQ1ZFLTIwMTYtODYyMS5wYXRjaA0KQEAgLTAsMCAr MSwxMjEgQEANCitGcm9tIDhhNmQ5ZGVkNWYwMmYwMjk0YWU2M2EwMDdlMjYwODczMTZjMTk5OGUg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxDQorRnJvbTogRGFuaWVsIFN0ZW5iZXJnIDxkYW5pZWxA aGF4eC5zZT4NCitEYXRlOiBUdWUsIDQgT2N0IDIwMTYgMTY6NTk6MzggKzAyMDANCitTdWJqZWN0 OiBbUEFUQ0hdIHBhcnNlZGF0ZTogaGFuZGxlIGN1dCBvZmYgbnVtYmVycyBiZXR0ZXINCitNSU1F LVZlcnNpb246IDEuMA0KK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOA0K K0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQNCisNCisuLi4gYW5kIGRvbid0IHJlYWQg b3V0c2lkZSBvZiB0aGUgZ2l2ZW4gYnVmZmVyIQ0KKw0KK0NWRS0yMDE2LTg2MjENCisNCitidWc6 IGh0dHBzOi8vY3VybC5oYXh4LnNlL2RvY3MvYWR2XzIwMTYxMTAyRy5odG1sDQorUmVwb3J0ZWQt Ynk6IEx14bqtdCBOZ3V54buFbg0KKy0tLQ0KKyBsaWIvcGFyc2VkYXRlLmMgICAgICAgIHwgMTIg KysrKysrKy0tLS0tDQorIHRlc3RzL2RhdGEvdGVzdDUxNyAgICAgfCAgNiArKysrKysNCisgdGVz dHMvbGlidGVzdC9saWI1MTcuYyB8ICA4ICsrKysrKystDQorIDMgZmlsZXMgY2hhbmdlZCwgMjAg aW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkNCisNCitkaWZmIC0tZ2l0IGEvbGliL3BhcnNl ZGF0ZS5jIGIvbGliL3BhcnNlZGF0ZS5jDQoraW5kZXggZGZjZjg1NS4uOGU5MzJmNCAxMDA2NDQN CistLS0gYS9saWIvcGFyc2VkYXRlLmMNCisrKysgYi9saWIvcGFyc2VkYXRlLmMNCitAQCAtMywx MSArMywxMSBAQA0KKyAgKiAgUHJvamVjdCAgICAgICAgICAgICAgICAgICAgIF9fX3wgfCB8IHwg IF8gXHwgfA0KKyAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyBfX3wgfCB8IHwgfF8p IHwgfA0KKyAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IChfX3wgfF98IHwgIF8gPHwg fF9fXw0KKyAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9fX3xcX19fL3xffCBcX1xf X19fX3wNCisgICoNCistICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAxNCwgRGFuaWVsIFN0ZW5i ZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4NCisrICogQ29weXJpZ2h0IChDKSAxOTk4IC0g MjAxNiwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4NCisgICoNCisg ICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCBhcyBkZXNjcmliZWQgaW4gdGhlIGZpbGUgQ09Q WUlORywgd2hpY2gNCisgICogeW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGFzIHBhcnQgb2YgdGhp cyBkaXN0cmlidXRpb24uIFRoZSB0ZXJtcw0KKyAgKiBhcmUgYWxzbyBhdmFpbGFibGUgYXQgaHR0 cHM6Ly9jdXJsLmhheHguc2UvZG9jcy9jb3B5cmlnaHQuaHRtbC4NCisgICoNCitAQCAtMzg0LDE5 ICszODQsMjEgQEAgc3RhdGljIGludCBwYXJzZWRhdGUoY29uc3QgY2hhciAqZGF0ZSwgdGltZV90 ICpvdXRwdXQpDQorICAgICB9DQorICAgICBlbHNlIGlmKElTRElHSVQoKmRhdGUpKSB7DQorICAg ICAgIC8qIGEgZGlnaXQgKi8NCisgICAgICAgaW50IHZhbDsNCisgICAgICAgY2hhciAqZW5kOw0K KysgICAgICBpbnQgbGVuPTA7DQorICAgICAgIGlmKChzZWNudW0gPT0gLTEpICYmDQorLSAgICAg ICAgICgzID09IHNzY2FuZihkYXRlLCAiJTAyZDolMDJkOiUwMmQiLCAmaG91cm51bSwgJm1pbm51 bSwgJnNlY251bSkpKSB7DQorKyAgICAgICAgICgzID09IHNzY2FuZihkYXRlLCAiJTAyZDolMDJk OiUwMmQlbiIsDQorKyAgICAgICAgICAgICAgICAgICAgICAmaG91cm51bSwgJm1pbm51bSwgJnNl Y251bSwgJmxlbikpKSB7DQorICAgICAgICAgLyogdGltZSBzdGFtcCEgKi8NCistICAgICAgICBk YXRlICs9IDg7DQorKyAgICAgICAgZGF0ZSArPSBsZW47DQorICAgICAgIH0NCisgICAgICAgZWxz ZSBpZigoc2VjbnVtID09IC0xKSAmJg0KKy0gICAgICAgICAgICAgICgyID09IHNzY2FuZihkYXRl LCAiJTAyZDolMDJkIiwgJmhvdXJudW0sICZtaW5udW0pKSkgew0KKysgICAgICAgICAgICAgICgy ID09IHNzY2FuZihkYXRlLCAiJTAyZDolMDJkJW4iLCAmaG91cm51bSwgJm1pbm51bSwgJmxlbikp KSB7DQorICAgICAgICAgLyogdGltZSBzdGFtcCB3aXRob3V0IHNlY29uZHMgKi8NCistICAgICAg ICBkYXRlICs9IDU7DQorKyAgICAgICAgZGF0ZSArPSBsZW47DQorICAgICAgICAgc2VjbnVtID0g MDsNCisgICAgICAgfQ0KKyAgICAgICBlbHNlIHsNCisgICAgICAgICBsb25nIGx2YWw7DQorICAg ICAgICAgaW50IGVycm9yOw0KK2RpZmYgLS1naXQgYS90ZXN0cy9kYXRhL3Rlc3Q1MTcgYi90ZXN0 cy9kYXRhL3Rlc3Q1MTcNCitpbmRleCBjODFhNDVlLi41MTM2MzRmIDEwMDY0NA0KKy0tLSBhL3Rl c3RzL2RhdGEvdGVzdDUxNw0KKysrKyBiL3Rlc3RzL2RhdGEvdGVzdDUxNw0KK0BAIC0xMTQsMTAg KzExNCwxNiBAQCBub3RoaW5nDQorIDc5OiAyMDExMDYzMiAxMjozNDo1NiA9PiAtMQ0KKyA4MDog MjAxMTA2MjMgNTY6MzQ6NTYgPT4gLTENCisgODE6IDIwMTExMzIzIDEyOjM0OjU2ID0+IC0xDQor IDgyOiAyMDExMDYyMyAxMjozNDo3OSA9PiAtMQ0KKyA4MzogV2VkLCAzMSBEZWMgMjAwOCAyMzo1 OTo2MCBHTVQgPT4gMTIzMDc2ODAwMA0KKys4NDogMjAxMTA2MjMgMTI6MyA9PiAxMzA4ODMwNTgw DQorKzg1OiAyMDExMDYyMyAxOjMgPT4gMTMwODc5MDk4MA0KKys4NjogMjAxMTA2MjMgMTozMCA9 PiAxMzA4NzkyNjAwDQorKzg3OiAyMDExMDYyMyAxMjoxMjozID0+IDEzMDg4MzExMjMNCisrODg6 IDIwMTEwNjIzIDAxOjEyOjMgPT4gMTMwODc5MTUyMw0KKys4OTogMjAxMTA2MjMgMDE6OTk6MzAg PT4gLTENCisgPC9zdGRvdXQ+DQorIA0KKyAjIFRoaXMgdGVzdCBjYXNlIHByZXZpb3VzbHkgdGVz dGVkIGFuIG92ZXJmbG93IGNhc2UgKCIyMDk0IE5vdiA2ID0+DQorICMgMjE0NzQ4MzY0NyIpIGZv ciAzMmJpdCB0aW1lX3QsIGJ1dCBzaW5jZSBzb21lIHN5c3RlbXMgaGF2ZSA2NGJpdCB0aW1lX3Qg YW5kDQorICMgaGFuZGxlcyB0aGlzIChyZXR1cm5pbmcgMzkzOTg0MDAwMCksIGFuZCBzb21lIDY0 Yml0LXRpbWVfdCBzeXN0ZW1zIGRvbid0DQorZGlmZiAtLWdpdCBhL3Rlc3RzL2xpYnRlc3QvbGli NTE3LmMgYi90ZXN0cy9saWJ0ZXN0L2xpYjUxNy5jDQoraW5kZXggMmY2OGViZC4uMjIxNjJmZiAx MDA2NDQNCistLS0gYS90ZXN0cy9saWJ0ZXN0L2xpYjUxNy5jDQorKysrIGIvdGVzdHMvbGlidGVz dC9saWI1MTcuYw0KK0BAIC0zLDExICszLDExIEBADQorICAqICBQcm9qZWN0ICAgICAgICAgICAg ICAgICAgICAgX19ffCB8IHwgfCAgXyBcfCB8DQorICAqICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAvIF9ffCB8IHwgfCB8XykgfCB8DQorICAqICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgKF9ffCB8X3wgfCAgXyA8fCB8X19fDQorICAqICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBcX19ffFxfX18vfF98IFxfXF9fX19ffA0KKyAgKg0KKy0gKiBDb3B5cmlnaHQgKEMpIDE5OTgg LSAyMDExLCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLg0KKysgKiBD b3B5cmlnaHQgKEMpIDE5OTggLSAyMDE2LCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5z ZT4sIGV0IGFsLg0KKyAgKg0KKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIGFzIGRlc2Ny aWJlZCBpbiB0aGUgZmlsZSBDT1BZSU5HLCB3aGljaA0KKyAgKiB5b3Ugc2hvdWxkIGhhdmUgcmVj ZWl2ZWQgYXMgcGFydCBvZiB0aGlzIGRpc3RyaWJ1dGlvbi4gVGhlIHRlcm1zDQorICAqIGFyZSBh bHNvIGF2YWlsYWJsZSBhdCBodHRwczovL2N1cmwuaGF4eC5zZS9kb2NzL2NvcHlyaWdodC5odG1s Lg0KKyAgKg0KK0BAIC0xMTQsMTAgKzExNCwxNiBAQCBzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0 IGRhdGVzW109ew0KKyAgICIyMDExMDYzMiAxMjozNDo1NiIsDQorICAgIjIwMTEwNjIzIDU2OjM0 OjU2IiwNCisgICAiMjAxMTEzMjMgMTI6MzQ6NTYiLA0KKyAgICIyMDExMDYyMyAxMjozNDo3OSIs DQorICAgIldlZCwgMzEgRGVjIDIwMDggMjM6NTk6NjAgR01UIiwgLyogbGVhcCBzZWNvbmQgKi8N CisrICAiMjAxMTA2MjMgMTI6MyIsDQorKyAgIjIwMTEwNjIzIDE6MyIsDQorKyAgIjIwMTEwNjIz IDE6MzAiLA0KKysgICIyMDExMDYyMyAxMjoxMjozIiwNCisrICAiMjAxMTA2MjMgMDE6MTI6MyIs DQorKyAgIjIwMTEwNjIzIDAxOjk5OjMwIiwNCisgICBOVUxMDQorIH07DQorIA0KKyBpbnQgdGVz dChjaGFyICpVUkwpDQorIHsNCistLSANCisyLjkuMw0KKw0KZGlmZiAtLWdpdCBhL21haW4vY3Vy bC9DVkUtMjAxNi04NjIyLnBhdGNoIGIvbWFpbi9jdXJsL0NWRS0yMDE2LTg2MjIucGF0Y2gNCm5l dyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwLi5lNmRiYTY5DQotLS0gL2Rldi9udWxs DQorKysgYi9tYWluL2N1cmwvQ1ZFLTIwMTYtODYyMi5wYXRjaA0KQEAgLTAsMCArMSwxMjYgQEAN CitGcm9tIDcxZGE5MTQ1Mzg5OWJhMjBiMjhlZTk3MTI2MjBlMzIzMTQ1YTBlZTUgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxDQorRnJvbTogRGFuaWVsIFN0ZW5iZXJnIDxkYW5pZWxAaGF4eC5zZT4N CitEYXRlOiBUdWUsIDQgT2N0IDIwMTYgMTg6NTY6NDUgKzAyMDANCitTdWJqZWN0OiBbUEFUQ0hd IHVuZXNjYXBlOiBhdm9pZCBpbnRlZ2VyIG92ZXJmbG93DQorDQorQ1ZFLTIwMTYtODYyMg0KKw0K K0J1ZzogaHR0cHM6Ly9jdXJsLmhheHguc2UvZG9jcy9hZHZfMjAxNjExMDJILmh0bWwNCitSZXBv cnRlZC1ieTogQ3VyZTUzDQorLS0tDQorIGRvY3MvbGliY3VybC9jdXJsX2Vhc3lfdW5lc2NhcGUu MyB8ICA3ICsrKysrLS0NCisgbGliL2RpY3QuYyAgICAgICAgICAgICAgICAgICAgICAgIHwgMTAg KysrKystLS0tLQ0KKyBsaWIvZXNjYXBlLmMgICAgICAgICAgICAgICAgICAgICAgfCAxMCArKysr KysrKy0tDQorIDMgZmlsZXMgY2hhbmdlZCwgMTggaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMo LSkNCisNCitkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL2N1cmxfZWFzeV91bmVzY2FwZS4zIGIv ZG9jcy9saWJjdXJsL2N1cmxfZWFzeV91bmVzY2FwZS4zDQoraW5kZXggMDZmZDZmYy4uNTBjZTk3 ZCAxMDA2NDQNCistLS0gYS9kb2NzL2xpYmN1cmwvY3VybF9lYXN5X3VuZXNjYXBlLjMNCisrKysg Yi9kb2NzL2xpYmN1cmwvY3VybF9lYXN5X3VuZXNjYXBlLjMNCitAQCAtMywxMSArMywxMSBAQA0K KyAuXCIgKiAgUHJvamVjdCAgICAgICAgICAgICAgICAgICAgIF9fX3wgfCB8IHwgIF8gXHwgfA0K KyAuXCIgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyBfX3wgfCB8IHwgfF8pIHwgfA0K KyAuXCIgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IChfX3wgfF98IHwgIF8gPHwgfF9f Xw0KKyAuXCIgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9fX3xcX19fL3xffCBcX1xf X19fX3wNCisgLlwiICoNCistLlwiICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAxNSwgRGFuaWVs IFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4NCisrLlwiICogQ29weXJpZ2h0IChD KSAxOTk4IC0gMjAxNiwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4N CisgLlwiICoNCisgLlwiICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCBhcyBkZXNjcmliZWQg aW4gdGhlIGZpbGUgQ09QWUlORywgd2hpY2gNCisgLlwiICogeW91IHNob3VsZCBoYXZlIHJlY2Vp dmVkIGFzIHBhcnQgb2YgdGhpcyBkaXN0cmlidXRpb24uIFRoZSB0ZXJtcw0KKyAuXCIgKiBhcmUg YWxzbyBhdmFpbGFibGUgYXQgaHR0cHM6Ly9jdXJsLmhheHguc2UvZG9jcy9jb3B5cmlnaHQuaHRt bC4NCisgLlwiICoNCitAQCAtMzgsMTEgKzM4LDE0IEBAIHRoZWlyIGJpbmFyeSB2ZXJzaW9ucy4N CisgSWYgdGhlIFxmQmxlbmd0aFxmUCBhcmd1bWVudCBpcyBzZXQgdG8gMCAoemVybyksIFxmSWN1 cmxfZWFzeV91bmVzY2FwZSgzKVxmUA0KKyB3aWxsIHVzZSBzdHJsZW4oKSBvbiB0aGUgaW5wdXQg XGZJdXJsXGZQIHN0cmluZyB0byBmaW5kIG91dCB0aGUgc2l6ZS4NCisgDQorIElmIFxmQm91dGxl bmd0aFxmUCBpcyBub24tTlVMTCwgdGhlIGZ1bmN0aW9uIHdpbGwgd3JpdGUgdGhlIGxlbmd0aCBv ZiB0aGUNCisgcmV0dXJuZWQgc3RyaW5nIGluIHRoZSBpbnRlZ2VyIGl0IHBvaW50cyB0by4gVGhp cyBhbGxvd3MgYW4gZXNjYXBlZCBzdHJpbmcNCistY29udGFpbmluZyAlMDAgdG8gc3RpbGwgZ2V0 IHVzZWQgcHJvcGVybHkgYWZ0ZXIgdW5lc2NhcGluZy4NCisrY29udGFpbmluZyAlMDAgdG8gc3Rp bGwgZ2V0IHVzZWQgcHJvcGVybHkgYWZ0ZXIgdW5lc2NhcGluZy4gU2luY2UgdGhpcyBpcyBhDQor K3BvaW50ZXIgdG8gYW4gXGZJaW50XGZQIHR5cGUsIGl0IGNhbiBvbmx5IHJldHVybiBhIHZhbHVl IHVwIHRvIElOVF9NQVggc28gbm8NCisrbG9uZ2VyIHN0cmluZyBjYW4gYmUgdW5lc2NhcGVkIGlm IHRoZSBzdHJpbmcgbGVuZ3RoIGlzIHJldHVybmVkIGluIHRoaXMNCisrcGFyYW1ldGVyLg0KKyAN CisgWW91IG11c3QgXGZJY3VybF9mcmVlKDMpXGZQIHRoZSByZXR1cm5lZCBzdHJpbmcgd2hlbiB5 b3UncmUgZG9uZSB3aXRoIGl0Lg0KKyAuU0ggQVZBSUxBQklMSVRZDQorIEFkZGVkIGluIDcuMTUu NCBhbmQgcmVwbGFjZXMgdGhlIG9sZCBcZkljdXJsX3VuZXNjYXBlKDMpXGZQIGZ1bmN0aW9uLg0K KyAuU0ggUkVUVVJOIFZBTFVFDQorZGlmZiAtLWdpdCBhL2xpYi9kaWN0LmMgYi9saWIvZGljdC5j DQoraW5kZXggYTdiNTk2NS4uNDhhNGUwYSAxMDA2NDQNCistLS0gYS9saWIvZGljdC5jDQorKysr IGIvbGliL2RpY3QuYw0KK0BAIC0zLDExICszLDExIEBADQorICAqICBQcm9qZWN0ICAgICAgICAg ICAgICAgICAgICAgX19ffCB8IHwgfCAgXyBcfCB8DQorICAqICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAvIF9ffCB8IHwgfCB8XykgfCB8DQorICAqICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgKF9ffCB8X3wgfCAgXyA8fCB8X19fDQorICAqICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBcX19ffFxfX18vfF98IFxfXF9fX19ffA0KKyAgKg0KKy0gKiBDb3B5cmlnaHQgKEMpIDE5 OTggLSAyMDE1LCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLg0KKysg KiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDE2LCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4 eC5zZT4sIGV0IGFsLg0KKyAgKg0KKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIGFzIGRl c2NyaWJlZCBpbiB0aGUgZmlsZSBDT1BZSU5HLCB3aGljaA0KKyAgKiB5b3Ugc2hvdWxkIGhhdmUg cmVjZWl2ZWQgYXMgcGFydCBvZiB0aGlzIGRpc3RyaWJ1dGlvbi4gVGhlIHRlcm1zDQorICAqIGFy ZSBhbHNvIGF2YWlsYWJsZSBhdCBodHRwczovL2N1cmwuaGF4eC5zZS9kb2NzL2NvcHlyaWdodC5o dG1sLg0KKyAgKg0KK0BAIC01MCwxMSArNTAsMTEgQEANCisgDQorICNpbmNsdWRlICJ1cmxkYXRh LmgiDQorICNpbmNsdWRlIDxjdXJsL2N1cmwuaD4NCisgI2luY2x1ZGUgInRyYW5zZmVyLmgiDQor ICNpbmNsdWRlICJzZW5kZi5oIg0KKy0NCisrI2luY2x1ZGUgImVzY2FwZS5oIg0KKyAjaW5jbHVk ZSAicHJvZ3Jlc3MuaCINCisgI2luY2x1ZGUgInN0cmVxdWFsLmgiDQorICNpbmNsdWRlICJkaWN0 LmgiDQorICNpbmNsdWRlICJyYXdzdHIuaCINCisgI2luY2x1ZGUgImN1cmxfbWVtb3J5LmgiDQor QEAgLTk0LDE2ICs5NCwxNiBAQCBjb25zdCBzdHJ1Y3QgQ3VybF9oYW5kbGVyIEN1cmxfaGFuZGxl cl9kaWN0ID0gew0KKyBzdGF0aWMgY2hhciAqdW5lc2NhcGVfd29yZChzdHJ1Y3QgQ3VybF9lYXN5 ICpkYXRhLCBjb25zdCBjaGFyICppbnB1dGJ1ZmYpDQorIHsNCisgICBjaGFyICpuZXdwOw0KKyAg IGNoYXIgKmRpY3RwOw0KKyAgIGNoYXIgKnB0cjsNCistICBpbnQgbGVuOw0KKysgIHNpemVfdCBs ZW47DQorICAgY2hhciBjaDsNCisgICBpbnQgb2xlbj0wOw0KKyANCistICBuZXdwID0gY3VybF9l YXN5X3VuZXNjYXBlKGRhdGEsIGlucHV0YnVmZiwgMCwgJmxlbik7DQorLSAgaWYoIW5ld3ApDQor KyAgQ1VSTGNvZGUgcmVzdWx0ID0gQ3VybF91cmxkZWNvZGUoZGF0YSwgaW5wdXRidWZmLCAwLCAm bmV3cCwgJmxlbiwgRkFMU0UpOw0KKysgIGlmKCFuZXdwIHx8IHJlc3VsdCkNCisgICAgIHJldHVy biBOVUxMOw0KKyANCisgICBkaWN0cCA9IG1hbGxvYygoKHNpemVfdClsZW4pKjIgKyAxKTsgLyog YWRkIG9uZSBmb3IgdGVybWluYXRpbmcgemVybyAqLw0KKyAgIGlmKGRpY3RwKSB7DQorICAgICAv KiBBY2NvcmRpbmcgdG8gUkZDMjIyOSBzZWN0aW9uIDIuMiwgdGhlc2UgbGV0dGVycyBuZWVkIHRv IGJlIGVzY2FwZWQgd2l0aA0KK2RpZmYgLS1naXQgYS9saWIvZXNjYXBlLmMgYi9saWIvZXNjYXBl LmMNCitpbmRleCBlNjEyNjBkLi42NjU3MDA3IDEwMDY0NA0KKy0tLSBhL2xpYi9lc2NhcGUuYw0K KysrKyBiL2xpYi9lc2NhcGUuYw0KK0BAIC0yMjIsMTIgKzIyMiwxOCBAQCBjaGFyICpjdXJsX2Vh c3lfdW5lc2NhcGUoc3RydWN0IEN1cmxfZWFzeSAqZGF0YSwgY29uc3QgY2hhciAqc3RyaW5nLA0K KyAgICAgc2l6ZV90IG91dHB1dGxlbjsNCisgICAgIENVUkxjb2RlIHJlcyA9IEN1cmxfdXJsZGVj b2RlKGRhdGEsIHN0cmluZywgaW5wdXRsZW4sICZzdHIsICZvdXRwdXRsZW4sDQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBGQUxTRSk7DQorICAgICBpZihyZXMpDQorICAgICAg IHJldHVybiBOVUxMOw0KKy0gICAgaWYob2xlbikNCistICAgICAgKm9sZW4gPSBjdXJseF91enRv c2kob3V0cHV0bGVuKTsNCisrDQorKyAgICBpZihvbGVuKSB7DQorKyAgICAgIGlmKG91dHB1dGxl biA8PSAoc2l6ZV90KSBJTlRfTUFYKQ0KKysgICAgICAgICpvbGVuID0gY3VybHhfdXp0b3NpKG91 dHB1dGxlbik7DQorKyAgICAgIGVsc2UNCisrICAgICAgICAvKiB0b28gbGFyZ2UgdG8gcmV0dXJu IGluIGFuIGludCwgZmFpbCEgKi8NCisrICAgICAgICBDdXJsX3NhZmVmcmVlKHN0cik7DQorKyAg ICB9DQorICAgfQ0KKyAgIHJldHVybiBzdHI7DQorIH0NCisgDQorIC8qIEZvciBvcGVyYXRpbmcg c3lzdGVtcy9lbnZpcm9ubWVudHMgdGhhdCB1c2UgZGlmZmVyZW50IG1hbGxvYy9mcmVlDQorLS0g DQorMi45LjMNCisNCmRpZmYgLS1naXQgYS9tYWluL2N1cmwvQ1ZFLTIwMTYtODYyMy5wYXRjaCBi L21haW4vY3VybC9DVkUtMjAxNi04NjIzLnBhdGNoDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5k ZXggMDAwMDAwMC4uNGViODY3OA0KLS0tIC9kZXYvbnVsbA0KKysrIGIvbWFpbi9jdXJsL0NWRS0y MDE2LTg2MjMucGF0Y2gNCkBAIC0wLDAgKzEsMjA3IEBADQorRnJvbSBkOWQ1N2ZlMGRhNmYyNWQw NTU3MGZkNTgzNTIwZWNkMzIxZWQ5YzNmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQ0KK0Zyb206 IERhbmllbCBTdGVuYmVyZyA8ZGFuaWVsQGhheHguc2U+DQorRGF0ZTogVHVlLCA0IE9jdCAyMDE2 IDIzOjI2OjEzICswMjAwDQorU3ViamVjdDogW1BBVENIXSBjb29raWVzOiBnZXRsaXN0KCkgbm93 IGhvbGRzIGRlZXAgY29waWVzIG9mIGFsbCBjb29raWVzDQorDQorUHJldmlvdXNseSBpdCBvbmx5 IGhlbGQgcmVmZXJlbmNlcyB0byB0aGVtLCB3aGljaCB3YXMgcmVja2xlc3MgYXMgdGhlDQordGhy ZWFkIGxvY2sgd2FzIHJlbGVhc2VkIHNvIHRoZSBjb29raWVzIGNvdWxkIGdldCBtb2RpZmllZCBi eSBvdGhlcg0KK2hhbmRsZXMgdGhhdCBzaGFyZSB0aGUgc2FtZSBjb29raWUgamFyIG92ZXIgdGhl IHNoYXJlIGludGVyZmFjZS4NCisNCitDVkUtMjAxNi04NjIzDQorDQorQnVnOiBodHRwczovL2N1 cmwuaGF4eC5zZS9kb2NzL2Fkdl8yMDE2MTEwMkkuaHRtbA0KK1JlcG9ydGVkLWJ5OiBDdXJlNTMN CistLS0NCisgbGliL2Nvb2tpZS5jIHwgNjEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorIGxpYi9jb29raWUuaCB8ICA0ICsrLS0N CisgbGliL2h0dHAuYyAgIHwgIDIgKy0NCisgMyBmaWxlcyBjaGFuZ2VkLCA0MyBpbnNlcnRpb25z KCspLCAyNCBkZWxldGlvbnMoLSkNCisNCitkaWZmIC0tZ2l0IGEvbGliL2Nvb2tpZS5jIGIvbGli L2Nvb2tpZS5jDQoraW5kZXggMGYwNWRhMi4uODYwN2NlMyAxMDA2NDQNCistLS0gYS9saWIvY29v a2llLmMNCisrKysgYi9saWIvY29va2llLmMNCitAQCAtMTAyMiwxMCArMTAyMiw0NCBAQCBzdGF0 aWMgaW50IGNvb2tpZV9zb3J0KGNvbnN0IHZvaWQgKnAxLCBjb25zdCB2b2lkICpwMikNCisgDQor ICAgLyogc29ycnksIGNhbid0IGJlIG1vcmUgZGV0ZXJtaW5pc3RpYyAqLw0KKyAgIHJldHVybiAw Ow0KKyB9DQorIA0KKysjZGVmaW5lIENMT05FKGZpZWxkKSAgICAgICAgICAgICAgICAgICAgIFwN CisrICBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQorKyAgICBpZihz cmMtPmZpZWxkKSB7ICAgICAgICAgICAgICAgICAgICAgXA0KKysgICAgICBkdXAtPmZpZWxkID0g c3RyZHVwKHNyYy0+ZmllbGQpOyAgIFwNCisrICAgICAgaWYoIWR1cC0+ZmllbGQpICAgICAgICAg ICAgICAgICAgICBcDQorKyAgICAgICAgZ290byBmYWlsOyAgICAgICAgICAgICAgICAgICAgICAg XA0KKysgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCisrICB9IHdo aWxlKDApDQorKw0KKytzdGF0aWMgc3RydWN0IENvb2tpZSAqZHVwX2Nvb2tpZShzdHJ1Y3QgQ29v a2llICpzcmMpDQorK3sNCisrICBzdHJ1Y3QgQ29va2llICpkdXAgPSBjYWxsb2Moc2l6ZW9mKHN0 cnVjdCBDb29raWUpLCAxKTsNCisrICBpZihkdXApIHsNCisrICAgIENMT05FKGV4cGlyZXN0cik7 DQorKyAgICBDTE9ORShkb21haW4pOw0KKysgICAgQ0xPTkUocGF0aCk7DQorKyAgICBDTE9ORShz cGF0aCk7DQorKyAgICBDTE9ORShuYW1lKTsNCisrICAgIENMT05FKHZhbHVlKTsNCisrICAgIENM T05FKG1heGFnZSk7DQorKyAgICBDTE9ORSh2ZXJzaW9uKTsNCisrICAgIGR1cC0+ZXhwaXJlcyA9 IHNyYy0+ZXhwaXJlczsNCisrICAgIGR1cC0+dGFpbG1hdGNoID0gc3JjLT50YWlsbWF0Y2g7DQor KyAgICBkdXAtPnNlY3VyZSA9IHNyYy0+c2VjdXJlOw0KKysgICAgZHVwLT5saXZlY29va2llID0g c3JjLT5saXZlY29va2llOw0KKysgICAgZHVwLT5odHRwb25seSA9IHNyYy0+aHR0cG9ubHk7DQor KyAgfQ0KKysgIHJldHVybiBkdXA7DQorKw0KKysgIGZhaWw6DQorKyAgZnJlZWNvb2tpZShkdXAp Ow0KKysgIHJldHVybiBOVUxMOw0KKyt9DQorKw0KKyAvKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisg ICoNCisgICogQ3VybF9jb29raWVfZ2V0bGlzdCgpDQorICAqDQorICAqIEZvciBhIGdpdmVuIGhv c3QgYW5kIHBhdGgsIHJldHVybiBhIGxpbmtlZCBsaXN0IG9mIGNvb2tpZXMgdGhhdCB0aGUNCitA QCAtMTA3NywxNSArMTExMSwxMiBAQCBzdHJ1Y3QgQ29va2llICpDdXJsX2Nvb2tpZV9nZXRsaXN0 KHN0cnVjdCBDb29raWVJbmZvICpjLA0KKyAgICAgICAgIGlmKCFjby0+c3BhdGggfHwgcGF0aG1h dGNoKGNvLT5zcGF0aCwgcGF0aCkgKSB7DQorIA0KKyAgICAgICAgICAgLyogYW5kIG5vdywgd2Ug a25vdyB0aGlzIGlzIGEgbWF0Y2ggYW5kIHdlIHNob3VsZCBjcmVhdGUgYW4NCisgICAgICAgICAg ICAgIGVudHJ5IGZvciB0aGUgcmV0dXJuLWxpbmtlZC1saXN0ICovDQorIA0KKy0gICAgICAgICAg bmV3Y28gPSBtYWxsb2Moc2l6ZW9mKHN0cnVjdCBDb29raWUpKTsNCisrICAgICAgICAgIG5ld2Nv ID0gZHVwX2Nvb2tpZShjbyk7DQorICAgICAgICAgICBpZihuZXdjbykgew0KKy0gICAgICAgICAg ICAvKiBmaXJzdCwgY29weSB0aGUgd2hvbGUgc291cmNlIGNvb2tpZTogKi8NCistICAgICAgICAg ICAgbWVtY3B5KG5ld2NvLCBjbywgc2l6ZW9mKHN0cnVjdCBDb29raWUpKTsNCistDQorICAgICAg ICAgICAgIC8qIHRoZW4gbW9kaWZ5IG91ciBuZXh0ICovDQorICAgICAgICAgICAgIG5ld2NvLT5u ZXh0ID0gbWFpbmNvOw0KKyANCisgICAgICAgICAgICAgLyogcG9pbnQgdGhlIG1haW4gdG8gdXMg Ki8NCisgICAgICAgICAgICAgbWFpbmNvID0gbmV3Y287DQorQEAgLTEwOTMsMTYgKzExMjQsMTEg QEAgc3RydWN0IENvb2tpZSAqQ3VybF9jb29raWVfZ2V0bGlzdChzdHJ1Y3QgQ29va2llSW5mbyAq YywNCisgICAgICAgICAgICAgbWF0Y2hlcysrOw0KKyAgICAgICAgICAgfQ0KKyAgICAgICAgICAg ZWxzZSB7DQorICAgICAgICAgICAgIGZhaWw6DQorICAgICAgICAgICAgIC8qIGZhaWx1cmUsIGNs ZWFyIHVwIHRoZSBhbGxvY2F0ZWQgY2hhaW4gYW5kIHJldHVybiBOVUxMICovDQorLSAgICAgICAg ICAgIHdoaWxlKG1haW5jbykgew0KKy0gICAgICAgICAgICAgIGNvID0gbWFpbmNvLT5uZXh0Ow0K Ky0gICAgICAgICAgICAgIGZyZWUobWFpbmNvKTsNCistICAgICAgICAgICAgICBtYWluY28gPSBj bzsNCistICAgICAgICAgICAgfQ0KKy0NCisrICAgICAgICAgICAgQ3VybF9jb29raWVfZnJlZWxp c3QobWFpbmNvKTsNCisgICAgICAgICAgICAgcmV0dXJuIE5VTEw7DQorICAgICAgICAgICB9DQor ICAgICAgICAgfQ0KKyAgICAgICB9DQorICAgICB9DQorQEAgLTExNTAsMTEgKzExNzYsMTEgQEAg c3RydWN0IENvb2tpZSAqQ3VybF9jb29raWVfZ2V0bGlzdChzdHJ1Y3QgQ29va2llSW5mbyAqYywN CisgICoNCisgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQorIHZvaWQgQ3VybF9jb29raWVfY2xlYXJh bGwoc3RydWN0IENvb2tpZUluZm8gKmNvb2tpZXMpDQorIHsNCisgICBpZihjb29raWVzKSB7DQor LSAgICBDdXJsX2Nvb2tpZV9mcmVlbGlzdChjb29raWVzLT5jb29raWVzLCBUUlVFKTsNCisrICAg IEN1cmxfY29va2llX2ZyZWVsaXN0KGNvb2tpZXMtPmNvb2tpZXMpOw0KKyAgICAgY29va2llcy0+ Y29va2llcyA9IE5VTEw7DQorICAgICBjb29raWVzLT5udW1jb29raWVzID0gMDsNCisgICB9DQor IH0NCisgDQorQEAgLTExNjIsMjUgKzExODgsMTggQEAgdm9pZCBDdXJsX2Nvb2tpZV9jbGVhcmFs bChzdHJ1Y3QgQ29va2llSW5mbyAqY29va2llcykNCisgICoNCisgICogQ3VybF9jb29raWVfZnJl ZWxpc3QoKQ0KKyAgKg0KKyAgKiBGcmVlIGEgbGlzdCBvZiBjb29raWVzIHByZXZpb3VzbHkgcmV0 dXJuZWQgYnkgQ3VybF9jb29raWVfZ2V0bGlzdCgpOw0KKyAgKg0KKy0gKiBUaGUgJ2Nvb2tpZXN0 b28nIGFyZ3VtZW50IHRlbGxzIHRoaXMgZnVuY3Rpb24gd2hldGhlciB0byBqdXN0IGZyZWUgdGhl DQorLSAqIGxpc3Qgb3IgYWN0dWFsbHkgYWxzbyBmcmVlIGFsbCBjb29raWVzIHdpdGhpbiB0aGUg bGlzdCBhcyB3ZWxsLg0KKy0gKg0KKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCisgDQorLXZvaWQg Q3VybF9jb29raWVfZnJlZWxpc3Qoc3RydWN0IENvb2tpZSAqY28sIGJvb2wgY29va2llc3RvbykN Cisrdm9pZCBDdXJsX2Nvb2tpZV9mcmVlbGlzdChzdHJ1Y3QgQ29va2llICpjbykNCisgew0KKyAg IHN0cnVjdCBDb29raWUgKm5leHQ7DQorICAgd2hpbGUoY28pIHsNCisgICAgIG5leHQgPSBjby0+ bmV4dDsNCistICAgIGlmKGNvb2tpZXN0b28pDQorLSAgICAgIGZyZWVjb29raWUoY28pOw0KKy0g ICAgZWxzZQ0KKy0gICAgICBmcmVlKGNvKTsgLyogd2Ugb25seSBmcmVlIHRoZSBzdHJ1Y3Qgc2lu Y2UgdGhlICJtZW1iZXJzIiBhcmUgYWxsIGp1c3QNCistICAgICAgICAgICAgICAgICAgIHBvaW50 ZWQgb3V0IGluIHRoZSBtYWluIGNvb2tpZSBsaXN0ISAqLw0KKysgICAgZnJlZWNvb2tpZShjbyk7 DQorICAgICBjbyA9IG5leHQ7DQorICAgfQ0KKyB9DQorIA0KKyANCitAQCAtMTIzMSwxMSArMTI1 MCwxMSBAQCB2b2lkIEN1cmxfY29va2llX2NsZWFyc2VzcyhzdHJ1Y3QgQ29va2llSW5mbyAqY29v a2llcykNCisgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQorIHZvaWQgQ3VybF9jb29raWVfY2xlYW51 cChzdHJ1Y3QgQ29va2llSW5mbyAqYykNCisgew0KKyAgIGlmKGMpIHsNCisgICAgIGZyZWUoYy0+ ZmlsZW5hbWUpOw0KKy0gICAgQ3VybF9jb29raWVfZnJlZWxpc3QoYy0+Y29va2llcywgVFJVRSk7 DQorKyAgICBDdXJsX2Nvb2tpZV9mcmVlbGlzdChjLT5jb29raWVzKTsNCisgICAgIGZyZWUoYyk7 IC8qIGZyZWUgdGhlIGJhc2Ugc3RydWN0IGFzIHdlbGwgKi8NCisgICB9DQorIH0NCisgDQorIC8q IGdldF9uZXRzY2FwZV9mb3JtYXQoKQ0KK2RpZmYgLS1naXQgYS9saWIvY29va2llLmggYi9saWIv Y29va2llLmgNCitpbmRleCBjZDdjNTRhLi5hOWE0NTc4IDEwMDY0NA0KKy0tLSBhL2xpYi9jb29r aWUuaA0KKysrKyBiL2xpYi9jb29raWUuaA0KK0BAIC01LDExICs1LDExIEBADQorICAqICBQcm9q ZWN0ICAgICAgICAgICAgICAgICAgICAgX19ffCB8IHwgfCAgXyBcfCB8DQorICAqICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAvIF9ffCB8IHwgfCB8XykgfCB8DQorICAqICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgKF9ffCB8X3wgfCAgXyA8fCB8X19fDQorICAqICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcX19ffFxfX18vfF98IFxfXF9fX19ffA0KKyAgKg0KKy0gKiBDb3B5 cmlnaHQgKEMpIDE5OTggLSAyMDExLCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4s IGV0IGFsLg0KKysgKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDE2LCBEYW5pZWwgU3RlbmJlcmcs IDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLg0KKyAgKg0KKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxp Y2Vuc2VkIGFzIGRlc2NyaWJlZCBpbiB0aGUgZmlsZSBDT1BZSU5HLCB3aGljaA0KKyAgKiB5b3Ug c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYXMgcGFydCBvZiB0aGlzIGRpc3RyaWJ1dGlvbi4gVGhlIHRl cm1zDQorICAqIGFyZSBhbHNvIGF2YWlsYWJsZSBhdCBodHRwczovL2N1cmwuaGF4eC5zZS9kb2Nz L2NvcHlyaWdodC5odG1sLg0KKyAgKg0KK0BAIC04MCwxMSArODAsMTEgQEAgc3RydWN0IENvb2tp ZSAqQ3VybF9jb29raWVfYWRkKHN0cnVjdCBDdXJsX2Vhc3kgKmRhdGEsDQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgQ29va2llSW5mbyAqLCBib29sIGhlYWRlciwgY2hh ciAqbGluZXB0ciwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIg KmRvbWFpbiwgY29uc3QgY2hhciAqcGF0aCk7DQorIA0KKyBzdHJ1Y3QgQ29va2llICpDdXJsX2Nv b2tpZV9nZXRsaXN0KHN0cnVjdCBDb29raWVJbmZvICosIGNvbnN0IGNoYXIgKiwNCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICosIGJvb2wpOw0KKy12b2lk IEN1cmxfY29va2llX2ZyZWVsaXN0KHN0cnVjdCBDb29raWUgKmNvb2tpZXMsIGJvb2wgY29va2ll c3Rvbyk7DQorK3ZvaWQgQ3VybF9jb29raWVfZnJlZWxpc3Qoc3RydWN0IENvb2tpZSAqY29va2ll cyk7DQorIHZvaWQgQ3VybF9jb29raWVfY2xlYXJhbGwoc3RydWN0IENvb2tpZUluZm8gKmNvb2tp ZXMpOw0KKyB2b2lkIEN1cmxfY29va2llX2NsZWFyc2VzcyhzdHJ1Y3QgQ29va2llSW5mbyAqY29v a2llcyk7DQorIA0KKyAjaWYgZGVmaW5lZChDVVJMX0RJU0FCTEVfSFRUUCkgfHwgZGVmaW5lZChD VVJMX0RJU0FCTEVfQ09PS0lFUykNCisgI2RlZmluZSBDdXJsX2Nvb2tpZV9saXN0KHgpIE5VTEwN CitkaWZmIC0tZ2l0IGEvbGliL2h0dHAuYyBiL2xpYi9odHRwLmMNCitpbmRleCA2NWMxNDVhLi5l NmU3ZDM3IDEwMDY0NA0KKy0tLSBhL2xpYi9odHRwLmMNCisrKysgYi9saWIvaHR0cC5jDQorQEAg LTIzODIsMTEgKzIzODIsMTEgQEAgQ1VSTGNvZGUgQ3VybF9odHRwKHN0cnVjdCBjb25uZWN0ZGF0 YSAqY29ubiwgYm9vbCAqZG9uZSkNCisgICAgICAgICAgICAgYnJlYWs7DQorICAgICAgICAgICBj b3VudCsrOw0KKyAgICAgICAgIH0NCisgICAgICAgICBjbyA9IGNvLT5uZXh0OyAvKiBuZXh0IGNv b2tpZSBwbGVhc2UgKi8NCisgICAgICAgfQ0KKy0gICAgICBDdXJsX2Nvb2tpZV9mcmVlbGlzdChz dG9yZSwgRkFMU0UpOyAvKiBmcmVlIHRoZSBjb29raWUgbGlzdCAqLw0KKysgICAgICBDdXJsX2Nv b2tpZV9mcmVlbGlzdChzdG9yZSk7DQorICAgICB9DQorICAgICBpZihhZGRjb29raWVzICYmICFy ZXN1bHQpIHsNCisgICAgICAgaWYoIWNvdW50KQ0KKyAgICAgICAgIHJlc3VsdCA9IEN1cmxfYWRk X2J1ZmZlcmYocmVxX2J1ZmZlciwgIkNvb2tpZTogIik7DQorICAgICAgIGlmKCFyZXN1bHQpIHsN CistLSANCisyLjkuMw0KKw0KZGlmZiAtLWdpdCBhL21haW4vY3VybC9DVkUtMjAxNi04NjI0LWZp eGVkLnBhdGNoIGIvbWFpbi9jdXJsL0NWRS0yMDE2LTg2MjQtZml4ZWQucGF0Y2gNCm5ldyBmaWxl IG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwLi5iMjg4ZjllDQotLS0gL2Rldi9udWxsDQorKysg Yi9tYWluL2N1cmwvQ1ZFLTIwMTYtODYyNC1maXhlZC5wYXRjaA0KQEAgLTAsMCArMSw2MSBAQA0K K0Zyb20gNjYwNGQ0ZGYzMGFlYzY2ZGI2ZjViZDUxZWUzYzM0MWRkNzMyOWZjZiBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDENCitGcm9tOiBEYW5pZWwgU3RlbmJlcmcgPGRhbmllbEBoYXh4LnNlPg0K K0RhdGU6IFR1ZSwgMTEgT2N0IDIwMTYgMDA6NDg6MzUgKzAyMDANCitTdWJqZWN0OiBbUEFUQ0hd IHVybHBhcnNlOiBhY2NlcHQgJyMnIGFzIGVuZCBvZiBob3N0IG5hbWUNCitNSU1FLVZlcnNpb246 IDEuMA0KK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOA0KK0NvbnRlbnQt VHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQNCisNCisnaHR0cDovL2V4YW1wbGUuY29tI0AxMjcuMC4w LjEveC50eHQnIGVxdWFscyBhIHJlcXVlc3QgdG8gZXhhbXBsZS5jb20NCitmb3IgdGhlICcvJyBk b2N1bWVudCB3aXRoIHRoZSByZXN0IG9mIHRoZSBVUkwgYmVpbmcgYSBmcmFnbWVudC4NCisNCitD VkUtMjAxNi04NjI0DQorDQorQnVnOiBodHRwczovL2N1cmwuaGF4eC5zZS9kb2NzL2Fkdl8yMDE2 MTEwMkouaHRtbA0KK1JlcG9ydGVkLWJ5OiBGZXJuYW5kbyBNdcOxb3oNCistLS0NCisgbGliL3Vy bC5jIHwgMTAgKysrKystLS0tLQ0KKyAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCA1 IGRlbGV0aW9ucygtKQ0KKw0KK2RpZmYgLS1naXQgYS9saWIvdXJsLmMgYi9saWIvdXJsLmMNCitp bmRleCA5MWIyYmY4Li45ODIzNmUyIDEwMDY0NA0KKy0tLQ0KK1BhdGNoIHdhcyBzbGlnaHRseSBt b2RpZmllZCBieSBTZXJnZXkgTHVraW4gPHNlcmdlai5sdWtpbkBnbWFpbC5jb20+DQorT3JpZ2lu YWwgcGF0Y2ggKGh0dHBzOi8vY3VybC5oYXh4LnNlL0NWRS0yMDE2LTg2MjQucGF0Y2gpIGZhaWxl ZCB0byBhcHBseSB0bw0KK2N1cmwgNy40OS4xDQorDQorLS0tIGEvbGliL3VybC5jDQorKysrIGIv bGliL3VybC5jDQorQEAgLTQxNDQsNyArNDE0NCw3IEBADQorICAgICBwYXRoWzBdPTA7DQorIA0K KyAgICAgaWYoMiA+IHNzY2FuZihkYXRhLT5jaGFuZ2UudXJsLA0KKy0gICAgICAgICAgICAgICAg ICAgIiUxNVteXG46XTovLyVbXlxuLz9dJVteXG5dIiwNCisrICAgICAgICAgICAgICAgICAgICIl MTVbXlxuOl06Ly8lW15cbi8/I10lW15cbl0iLA0KKyAgICAgICAgICAgICAgICAgICAgcHJvdG9i dWYsDQorICAgICAgICAgICAgICAgICAgICBjb25uLT5ob3N0Lm5hbWUsIHBhdGgpKSB7DQorIA0K K0BAIC00MTUyLDcgKzQxNTIsNyBAQA0KKyAgICAgICAgKiBUaGUgVVJMIHdhcyBiYWRseSBmb3Jt YXR0ZWQsIGxldCdzIHRyeSB0aGUgYnJvd3Nlci1zdHlsZSBfd2l0aG91dF8NCisgICAgICAgICog cHJvdG9jb2wgc3BlY2lmaWVkIGxpa2UgJ2h0dHA6Ly8nLg0KKyAgICAgICAgKi8NCistICAgICAg cmMgPSBzc2NhbmYoZGF0YS0+Y2hhbmdlLnVybCwgIiVbXlxuLz9dJVteXG5dIiwgY29ubi0+aG9z dC5uYW1lLCBwYXRoKTsNCisrICAgICAgcmMgPSBzc2NhbmYoZGF0YS0+Y2hhbmdlLnVybCwgIiVb XlxuLz8jXSVbXlxuXSIsIGNvbm4tPmhvc3QubmFtZSwgcGF0aCk7DQorICAgICAgIGlmKDEgPiBy Yykgew0KKyAgICAgICAgIC8qDQorICAgICAgICAgICogV2UgY291bGRuJ3QgZXZlbiBnZXQgdGhp cyBmb3JtYXQuDQorQEAgLTQyNDIsMTAgKzQyNDIsMTAgQEANCisgICB9DQorIA0KKyAgIC8qIElm IHRoZSBVUkwgaXMgbWFsZm9ybWF0dGVkIChtaXNzaW5nIGEgJy8nIGFmdGVyIGhvc3RuYW1lIGJl Zm9yZSBwYXRoKSB3ZQ0KKy0gICAqIGluc2VydCBhIHNsYXNoIGhlcmUuIFRoZSBvbmx5IGxldHRl ciBleGNlcHQgJy8nIHdlIGFjY2VwdCB0byBzdGFydCBhIHBhdGgNCistICAgKiBpcyAnPycuDQor KyAgICogaW5zZXJ0IGEgc2xhc2ggaGVyZS4gVGhlIG9ubHkgbGV0dGVycyBleGNlcHQgJy8nIHRo YXQgY2FuIHN0YXJ0IGEgcGF0aCBpcw0KKysgICAqICc/JyBhbmQgJyMnIC0gYXMgY29udHJvbGxl ZCBieSB0aGUgdHdvIHNzY2FuZigpIHBhdHRlcm5zIGFib3ZlLg0KKyAgICAqLw0KKy0gIGlmKHBh dGhbMF0gPT0gJz8nKSB7DQorKyAgaWYocGF0aFswXSAhPSAnLycpIHsNCisgICAgIC8qIFdlIG5l ZWQgdGhpcyBmdW5jdGlvbiB0byBkZWFsIHdpdGggb3ZlcmxhcHBpbmcgbWVtb3J5IGFyZWFzLiBX ZSBrbm93DQorICAgICAgICB0aGF0IHRoZSBtZW1vcnkgYXJlYSAncGF0aCcgcG9pbnRzIHRvIGlz ICd1cmxsZW4nIGJ5dGVzIGJpZyBhbmQgdGhhdA0KKyAgICAgICAgaXMgYmlnZ2VyIHRoYW4gdGhl IHBhdGguIFVzZSArMSB0byBtb3ZlIHRoZSB6ZXJvIGJ5dGUgdG9vLiAqLw0KKw0KLS0gDQoyLjYu Ng0KDQoNCg0KLS0tDQpVbnN1YnNjcmliZTogIGFscGluZS1hcG9ydHMrdW5zdWJzY3JpYmVAbGlz dHMuYWxwaW5lbGludXgub3JnDQpIZWxwOiAgICAgICAgIGFscGluZS1hcG9ydHMraGVscEBsaXN0 cy5hbHBpbmVsaW51eC5vcmcNCi0tLQ0K