From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id 5JOkHHOH21+vTQAAWB0awg (envelope-from ) for ; Thu, 17 Dec 2020 11:29:39 -0500 Received: by simark.ca (Postfix, from userid 112) id 513BB1F0AA; Thu, 17 Dec 2020 11:29:39 -0500 (EST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,MAILING_LIST_MULTI,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.2 Received: from lists.lttng.org (lists.lttng.org [167.114.26.123]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 376A11E99A for ; Thu, 17 Dec 2020 11:29:22 -0500 (EST) Received: from lists-lttng01.efficios.com (localhost [IPv6:::1]) by lists.lttng.org (Postfix) with ESMTP id 4Cxcrx3rbvzFpJ; Thu, 17 Dec 2020 11:29:21 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=lists.lttng.org; s=default; t=1608222561; bh=qrsvDQjOyGdTtTK+1JYf7uqFsoAth6+252oEE+LmcqQ=; h=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=hyR30eooXRV2Vwl+QqXBK6Pabz9ti+b0/sHZ0ZDsa7OnDji4AhEiHOGqdbVfGxWRG dOzC36OgU1762BKmnKvERwoTjv/LMgaGJV/8q2RwgoWABQUnXHcsd2l1OQlSgGN9in jAW/BzK3NRcURgf2B6XaAOI4AkIdWLzceL6yHOuxMkKkKwue1Y2Krv3DGxzHzJTzZL eQAoBCSHvxtCO16FaURtIW1h3TYOQIhZ7V/zAC5coSK4MyodeWO3sFCjSXZZddqmc1 f0H7NMhJiJKHC2HBCUh9ak5bTEFVJu2CyLJ8DqPke87AAvjdyQPQ8/20xdXWUBz/8p 4FMYXSp74q6+A== Received: from mail-qk1-x731.google.com (mail-qk1-x731.google.com [IPv6:2607:f8b0:4864:20::731]) by lists.lttng.org (Postfix) with ESMTPS id 4Cxcrw0f7FzFmd for ; Thu, 17 Dec 2020 11:29:19 -0500 (EST) Received: by mail-qk1-x731.google.com with SMTP id p14so17765801qke.6 for ; Thu, 17 Dec 2020 08:29:19 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=S71/ge513tTqxgLz7UtAi3rJC5A6l8GB8TZ6DhGqyWE=; b=hki1iatG5tjYeh90mpan98yHBv7p1GZJ2tDRTV6zSBROrGRYYC2zHs0QM0SSHvdy1n ObKSx88w5TRkZ2LPcsjO0KUcxZL2gKfJOoH/FqvaVd3uUr0k0QCGQuSIYaGExrU1g3Go qmsFyvj0ZGTjYLOVpv5FDA84n6Q3rLKfhL+EygrYVVtvhcnzkTjHvJqafLFbX1hQMaNj tL9eXbqPKZPum5/8DHj+Uy4nEfrrJIN0gdkFdcnTaEDxVe5mao/RhP6Z6Gz32o/HCixH 2ZQimrSyWOFBTngsdIkDPSaGU3OfC8XCZ+NnsuDgjd4G8UXd0W+JH/u05SxsAFPNtT+D ensQ== X-Gm-Message-State: AOAM530Xx8Te67+1/1CtSVJLhXnnLpAlf8z6x2QNV6dAVuY/QXTXAVWl aA5VoG6zIez42cxBF9WOdN+KE9SWFAY= X-Google-Smtp-Source: ABdhPJwYkcwe2YymMmgGz5uwX2GJOtBJgo+UBXmiPVYJ1WNBRPpEND80gfz6rKDzekTNzuONG6WlHA== X-Received: by 2002:a05:620a:218e:: with SMTP id g14mr53719279qka.243.1608222555617; Thu, 17 Dec 2020 08:29:15 -0800 (PST) Received: from mbedesk.sonatest.net (ipagstaticip-d73c7528-4de5-0861-800b-03d8b15e3869.sdsl.bell.ca. [174.94.156.236]) by smtp.gmail.com with ESMTPSA id s21sm3517283qtn.13.2020.12.17.08.29.14 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 17 Dec 2020 08:29:14 -0800 (PST) To: lttng-dev@lists.lttng.org Date: Thu, 17 Dec 2020 11:29:14 -0500 Message-Id: <20201217162914.10674-1-maxime.roussinbelanger@gmail.com> X-Mailer: git-send-email 2.28.0 MIME-Version: 1.0 Subject: [lttng-dev] [PATCH lttng-tools] clean-up: fix typos by running codespell X-BeenThere: lttng-dev@lists.lttng.org X-Mailman-Version: 2.1.31 Precedence: list List-Id: LTTng development list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: =?utf-8?q?Maxime_Roussin-B=C3=A9langer_via_lttng-dev?= Reply-To: =?UTF-8?q?Maxime=20Roussin-B=C3=A9langer?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: lttng-dev-bounces@lists.lttng.org Sender: "lttng-dev" U2lnbmVkLW9mZi1ieTogTWF4aW1lIFJvdXNzaW4tQsOpbGFuZ2VyIDxtYXhpbWUucm91c3NpbmJl bGFuZ2VyQGdtYWlsLmNvbT4KLS0tCiBDb2RpbmdTdHlsZSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCAgNCArLS0KIGNvbmZpZy90YXAtZHJpdmVyLnNoICAgICAgICAgICAgICAg ICAgICAgICAgICB8ICAyICstCiBjb25maWd1cmUuYWMgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgMiArLQogZG9jL2tlcm5lbC1Db2RpbmdTdHlsZS50eHQgICAgICAgICAgICAg ICAgICAgIHwgIDIgKy0KIGRvYy9saXZlLXJlYWRpbmctcHJvdG9jb2wudHh0ICAgICAgICAgICAg ICAgICB8ICAyICstCiBkb2MvcHl0aG9uLWhvd3RvLnR4dCAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgMiArLQogZG9jL3F1aWNrc3RhcnQudHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgIDIgKy0KIGV4dHJhcy9iaW5kaW5ncy9zd2lnL3B5dGhvbi9sdHRuZy5pLmluICAgICAgICB8 ICAyICstCiBleHRyYXMvY2hlY2twYXRjaC5wbCAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg OCArKystLS0KIGluY2x1ZGUvTWFrZWZpbGUuYW0gICAgICAgICAgICAgICAgICAgICAgICAgICB8 ICA0ICstLQogaW5jbHVkZS9sdHRuZy9jb25kaXRpb24vYnVmZmVyLXVzYWdlLmggICAgICAgIHwg MTQgKysrKystLS0tLQogaW5jbHVkZS9sdHRuZy9jb25kaXRpb24vc2Vzc2lvbi1yb3RhdGlvbi5o ICAgIHwgIDIgKy0KIGluY2x1ZGUvbHR0bmcvbHR0bmcuaCAgICAgICAgICAgICAgICAgICAgICAg ICB8ICAyICstCiBpbmNsdWRlL2x0dG5nL3Nlc3Npb24uaCAgICAgICAgICAgICAgICAgICAgICAg fCAgMiArLQogaW5jbHVkZS9sdHRuZy90cmFja2VyLmggICAgICAgICAgICAgICAgICAgICAgIHwg IDIgKy0KIGluY2x1ZGUvbHR0bmcvdHJpZ2dlci90cmlnZ2VyLWludGVybmFsLmggICAgICB8ICAy ICstCiBpbmNsdWRlL2x0dG5nL3VzZXJzcGFjZS1wcm9iZS5oICAgICAgICAgICAgICAgfCAgMiAr LQogc3JjL2Jpbi9sdHRuZy1jb25zdW1lcmQvaGVhbHRoLWNvbnN1bWVyZC5jICAgIHwgIDIgKy0K IHNyYy9iaW4vbHR0bmctcmVsYXlkL2hlYWx0aC1yZWxheWQuYyAgICAgICAgICB8ICAyICstCiBz cmMvYmluL2x0dG5nLXJlbGF5ZC9pbmRleC5jICAgICAgICAgICAgICAgICAgfCAgNCArLS0KIHNy Yy9iaW4vbHR0bmctcmVsYXlkL2xpdmUuYyAgICAgICAgICAgICAgICAgICB8ICAyICstCiBzcmMv YmluL2x0dG5nLXJlbGF5ZC9sdHRuZy12aWV3ZXItYWJpLmggICAgICAgfCAgMiArLQogc3JjL2Jp bi9sdHRuZy1yZWxheWQvbWFpbi5jICAgICAgICAgICAgICAgICAgIHwgIDQgKy0tCiBzcmMvYmlu L2x0dG5nLXJlbGF5ZC9zZXNzaW9uLmMgICAgICAgICAgICAgICAgfCAgMiArLQogc3JjL2Jpbi9s dHRuZy1yZWxheWQvc2Vzc2lvbmQtdHJhY2UtY2h1bmtzLmMgIHwgIDYgKystLS0KIHNyYy9iaW4v bHR0bmctcmVsYXlkL3N0cmVhbS5jICAgICAgICAgICAgICAgICB8ICA0ICstLQogc3JjL2Jpbi9s dHRuZy1yZWxheWQvdmlld2VyLXNlc3Npb24uYyAgICAgICAgIHwgIDIgKy0KIHNyYy9iaW4vbHR0 bmctc2Vzc2lvbmQvYWN0aW9uLWV4ZWN1dG9yLmMgICAgICB8ICAyICstCiBzcmMvYmluL2x0dG5n LXNlc3Npb25kL2FnZW50LXRocmVhZC5jICAgICAgICAgfCAgMiArLQogc3JjL2Jpbi9sdHRuZy1z ZXNzaW9uZC9jbGllbnQuYyAgICAgICAgICAgICAgIHwgIDQgKy0tCiBzcmMvYmluL2x0dG5nLXNl c3Npb25kL2NtZC5jICAgICAgICAgICAgICAgICAgfCAxMiArKysrLS0tLS0KIHNyYy9iaW4vbHR0 bmctc2Vzc2lvbmQvY29uc3VtZXIuYyAgICAgICAgICAgICB8ICA0ICstLQogc3JjL2Jpbi9sdHRu Zy1zZXNzaW9uZC9rZXJuZWwuYyAgICAgICAgICAgICAgIHwgIDIgKy0KIHNyYy9iaW4vbHR0bmct c2Vzc2lvbmQvbHR0bmctc3lzY2FsbC5jICAgICAgICB8ICAyICstCiBzcmMvYmluL2x0dG5nLXNl c3Npb25kL21haW4uYyAgICAgICAgICAgICAgICAgfCAgMiArLQogc3JjL2Jpbi9sdHRuZy1zZXNz aW9uZC9tYW5hZ2UtYXBwcy5jICAgICAgICAgIHwgIDIgKy0KIHNyYy9iaW4vbHR0bmctc2Vzc2lv bmQvbW9kcHJvYmUuYyAgICAgICAgICAgICB8ICA4ICsrKy0tLQogLi4uL25vdGlmaWNhdGlvbi10 aHJlYWQtZXZlbnRzLmMgICAgICAgICAgICAgIHwgMTQgKysrKystLS0tLQogc3JjL2Jpbi9sdHRu Zy1zZXNzaW9uZC9ub3RpZnktYXBwcy5jICAgICAgICAgIHwgIDIgKy0KIHNyYy9iaW4vbHR0bmct c2Vzc2lvbmQvcmVnaXN0ZXIuYyAgICAgICAgICAgICB8ICAyICstCiBzcmMvYmluL2x0dG5nLXNl c3Npb25kL3Nlc3Npb24uYyAgICAgICAgICAgICAgfCAgMiArLQogc3JjL2Jpbi9sdHRuZy1zZXNz aW9uZC9zZXNzaW9uLmggICAgICAgICAgICAgIHwgIDIgKy0KIHNyYy9iaW4vbHR0bmctc2Vzc2lv bmQvdGltZXIuYyAgICAgICAgICAgICAgICB8ICAyICstCiBzcmMvYmluL2x0dG5nLXNlc3Npb25k L3VzdC1hcHAuYyAgICAgICAgICAgICAgfCAxMCArKystLS0tCiBzcmMvYmluL2x0dG5nLXNlc3Np b25kL3VzdC1hcHAuaCAgICAgICAgICAgICAgfCAgNiArKy0tLQogc3JjL2Jpbi9sdHRuZy1zZXNz aW9uZC91c3QtcmVnaXN0cnkuYyAgICAgICAgIHwgIDQgKy0tCiBzcmMvYmluL2x0dG5nLXNlc3Np b25kL3VzdC1yZWdpc3RyeS5oICAgICAgICAgfCAgMiArLQogc3JjL2Jpbi9sdHRuZy9jb21tYW5k cy9hZGRfY29udGV4dC5jICAgICAgICAgIHwgIDIgKy0KIHNyYy9iaW4vbHR0bmcvY29tbWFuZHMv ZGlzYWJsZV9jaGFubmVscy5jICAgICB8ICAyICstCiBzcmMvYmluL2x0dG5nL2NvbW1hbmRzL2Vu YWJsZV9ldmVudHMuYyAgICAgICAgfCAgNCArLS0KIHNyYy9iaW4vbHR0bmcvY29tbWFuZHMvbGlz dC5jICAgICAgICAgICAgICAgICB8ICA4ICsrKy0tLQogc3JjL2Jpbi9sdHRuZy9jb21tYW5kcy9s b2FkLmMgICAgICAgICAgICAgICAgIHwgIDIgKy0KIHNyYy9jb21tb24vYWxpZ24uaCAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBzcmMvY29tbW9uL2NvbXBhdC9wb2xsLmMgICAg ICAgICAgICAgICAgICAgICAgfCAgMiArLQogc3JjL2NvbW1vbi9jb21wYXQvcG9sbC5oICAgICAg ICAgICAgICAgICAgICAgIHwgIDYgKystLS0KIHNyYy9jb21tb24vY29uZmlnL3Nlc3Npb24tY29u ZmlnLmMgICAgICAgICAgICB8ICAyICstCiBzcmMvY29tbW9uL2NvbnN1bWVyL2NvbnN1bWVyLXN0 cmVhbS5jICAgICAgICAgfCAgNCArLS0KIHNyYy9jb21tb24vY29uc3VtZXIvY29uc3VtZXItc3Ry ZWFtLmggICAgICAgICB8ICAyICstCiBzcmMvY29tbW9uL2NvbnN1bWVyL2NvbnN1bWVyLmMgICAg ICAgICAgICAgICAgfCAyMCArKysrKysrLS0tLS0tLQogc3JjL2NvbW1vbi9jb25zdW1lci9jb25z dW1lci5oICAgICAgICAgICAgICAgIHwgIDIgKy0KIHNyYy9jb21tb24vY29uc3VtZXIvbWV0YWRh dGEtYnVja2V0LmMgICAgICAgICB8ICAyICstCiBzcmMvY29tbW9uL2RlZmF1bHRzLmggICAgICAg ICAgICAgICAgICAgICAgICAgfCAgNCArLS0KIHNyYy9jb21tb24vZHluYW1pYy1hcnJheS5oICAg ICAgICAgICAgICAgICAgICB8ICAyICstCiBzcmMvY29tbW9uL2R5bmFtaWMtYnVmZmVyLmggICAg ICAgICAgICAgICAgICAgfCAgMiArLQogc3JjL2NvbW1vbi9mZC10cmFja2VyL2ZkLXRyYWNrZXIu YyAgICAgICAgICAgIHwgIDIgKy0KIHNyYy9jb21tb24vZmQtdHJhY2tlci9mZC10cmFja2VyLmgg ICAgICAgICAgICB8ICAyICstCiBzcmMvY29tbW9uL2ZkLXRyYWNrZXIvaW5vZGUuaCAgICAgICAg ICAgICAgICAgfCAgMiArLQogc3JjL2NvbW1vbi9oYXNodGFibGUvdXRpbHMuYyAgICAgICAgICAg ICAgICAgIHwgIDIgKy0KIHNyYy9jb21tb24vaGVhbHRoL2hlYWx0aC5jICAgICAgICAgICAgICAg ICAgICB8ICAyICstCiBzcmMvY29tbW9uL2tlcm5lbC1jb25zdW1lci9rZXJuZWwtY29uc3VtZXIu YyAgfCAgMiArLQogc3JjL2NvbW1vbi9rZXJuZWwtY3RsL2tlcm5lbC1pb2N0bC5oICAgICAgICAg IHwgIDIgKy0KIHNyYy9jb21tb24vbHR0bmctZWxmLmMgICAgICAgICAgICAgICAgICAgICAgICB8 ICA4ICsrKy0tLQogc3JjL2NvbW1vbi9taS1sdHRuZy5jICAgICAgICAgICAgICAgICAgICAgICAg IHwgIDYgKystLS0KIHNyYy9jb21tb24vbWktbHR0bmcuaCAgICAgICAgICAgICAgICAgICAgICAg ICB8ICA2ICsrLS0tCiBzcmMvY29tbW9uL29wdGlvbmFsLmggICAgICAgICAgICAgICAgICAgICAg ICAgfCAgMiArLQogc3JjL2NvbW1vbi9ydW5hcy5jICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgIDIgKy0KIHNyYy9jb21tb24vc2Vzc2lvbmQtY29tbS9yZWxheWQuaCAgICAgICAgICAgICB8 ICAyICstCiBzcmMvY29tbW9uL3NwYXduLXZpZXdlci5jICAgICAgICAgICAgICAgICAgICAgfCAg NCArLS0KIHNyYy9jb21tb24vdHJhY2UtY2h1bmsuYyAgICAgICAgICAgICAgICAgICAgICB8ICAy ICstCiBzcmMvY29tbW9uL3RyYWNlLWNodW5rLmggICAgICAgICAgICAgICAgICAgICAgfCAgMiAr LQogc3JjL2NvbW1vbi91bml4LmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0K IHNyYy9jb21tb24vdXJpLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBz cmMvY29tbW9uL3VzdC1jb25zdW1lci91c3QtY29uc3VtZXIuYyAgICAgICAgfCAxMiArKysrLS0t LS0KIHNyYy9jb21tb24vdXRpbHMuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA2ICsr LS0tCiBzcmMvbGliL2x0dG5nLWN0bC9sdHRuZy1jdGwtaGVscGVyLmggICAgICAgICAgfCAgMiAr LQogc3JjL2xpYi9sdHRuZy1jdGwvbHR0bmctY3RsLmMgICAgICAgICAgICAgICAgIHwgIDIgKy0K IHNyYy9saWIvbHR0bmctY3RsL3JvdGF0ZS5jICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBz cmMvbGliL2x0dG5nLWN0bC90cmFja2VyLmMgICAgICAgICAgICAgICAgICAgfCAgMiArLQogdGVz dHMvcGVyZi9maW5kX2V2ZW50LmMgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIHRlc3Rz L3JlZ3Jlc3Npb24va2VybmVsL3Rlc3RfY2FsbHN0YWNrICAgICAgICB8ICAyICstCiAuLi4vcmVn cmVzc2lvbi9rZXJuZWwvdGVzdF9zZWxlY3RfcG9sbF9lcG9sbCAgfCAgMiArLQogdGVzdHMvcmVn cmVzc2lvbi9rZXJuZWwvdGVzdF91c2Vyc3BhY2VfcHJvYmUgIHwgMTAgKysrLS0tLQogLi4uL2tl cm5lbC92YWxpZGF0ZV9zZWxlY3RfcG9sbF9lcG9sbC5weSAgICAgIHwgIDggKysrLS0tCiB0ZXN0 cy9yZWdyZXNzaW9uL3Rvb2xzL2xpdmUvbGl2ZV90ZXN0LmMgICAgICAgfCAgMiArLQogdGVzdHMv cmVncmVzc2lvbi90b29scy9taS90ZXN0X21pICAgICAgICAgICAgIHwgMjYgKysrKysrKysrLS0t LS0tLS0tLQogdGVzdHMvcmVncmVzc2lvbi90b29scy9taS92YWxpZGF0ZV94bWwuYyAgICAgIHwg IDIgKy0KIC4uLi9yZWdyZXNzaW9uL3Rvb2xzL3JvdGF0aW9uL3JvdGF0ZV91dGlscy5zaCB8ICA0 ICstLQogLi4uL3N0cmVhbWluZy90ZXN0X2hpZ2hfdGhyb3VnaHB1dF9saW1pdHMgICAgIHwgIDQg Ky0tCiAuLi4vdG9vbHMvdHJhY2tlci90ZXN0X2V2ZW50X3RyYWNrZXIgICAgICAgICAgfCAgMiAr LQogdGVzdHMvcmVncmVzc2lvbi91c3QvZGFlbW9uL3Rlc3RfZGFlbW9uLnB5ICAgIHwgIDQgKy0t CiAuLi4vbHR0bmctdXN0LWdldGNwdS1vdmVycmlkZS10ZXN0LmMgICAgICAgICAgfCAgMiArLQog dGVzdHMvcmVncmVzc2lvbi91c3QvbGlua2luZy9SRUFETUUgICAgICAgICAgIHwgIDIgKy0KIC4u Li91c3QvbG93LXRocm91Z2hwdXQvdGVzdF9sb3dfdGhyb3VnaHB1dCAgICB8ICAyICstCiB0ZXN0 cy9yZWdyZXNzaW9uL3VzdC9tdWx0aS1saWIvUkVBRE1FICAgICAgICAgfCAgMiArLQogdGVzdHMv cmVncmVzc2lvbi91c3QvbXVsdGktbGliL3Byb2Jlcy5oICAgICAgIHwgIDIgKy0KIHRlc3RzL3Jl Z3Jlc3Npb24vdXN0L211bHRpLWxpYi90ZXN0X211bHRpX2xpYiB8ICAyICstCiB0ZXN0cy91dGls cy9wYXJzZS1jYWxsc3RhY2sucHkgICAgICAgICAgICAgICAgfCAgNCArLS0KIHRlc3RzL3V0aWxz L3RhcC90YXAuaCAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiB0ZXN0cy91dGlscy90 ZXN0X3V0aWxzLnB5ICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogLi4uL2dlbi11c3QtZXZl bnRzLW5zL2dlbi11c3QtZXZlbnRzLW5zLmMgICAgIHwgIDIgKy0KIHRlc3RzL3V0aWxzL3V0aWxz LmMgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiB0ZXN0cy91dGlscy91dGlscy5z aCAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgOCArKystLS0KIDExMiBmaWxlcyBjaGFuZ2Vk LCAyMDkgaW5zZXJ0aW9ucygrKSwgMjA5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL0NvZGlu Z1N0eWxlIGIvQ29kaW5nU3R5bGUKaW5kZXggNmZmOTMxYjEuLjJmOGFhZjI2IDEwMDY0NAotLS0g YS9Db2RpbmdTdHlsZQorKysgYi9Db2RpbmdTdHlsZQpAQCAtOCw3ICs4LDcgQEAgVGFicyBWUyBT cGFjZXM6CiAKIFJpZ2h0LCBzbyBvdXIgdHdvIGNlbnRzIGluIHRoaXMgZW5kbGVzcyB3YXIhIFRo aXMgcHJvamVjdCB1c2VzIFRBQlMgZm9yIG9uZQogc2ltcGxlIHJlYXNvbiwgdGhlIGNvZGVyIGNh biBjaG9vc2Ugd2hhdGV2ZXIgc2l6ZSBvciB0eXBlIGhpcy9oZXIgaW5kZW50YXRpb24KLWlzIGFu ZCBjYW4gc2V0IHRoZSBwcmVmZXJlZCBjb2Rpbmcgc3R5bGUgYnkgcmVwbGFjaW5nIHRoZSB0YWJz IHdoaWNoIGVhY2gKK2lzIGFuZCBjYW4gc2V0IHRoZSBwcmVmZXJyZWQgY29kaW5nIHN0eWxlIGJ5 IHJlcGxhY2luZyB0aGUgdGFicyB3aGljaCBlYWNoCiBub3JtYWxseSByZXNwZWN0ZWQgSURFL2Vk aXRvciBjYW4gZG8uCiAKIEZvciB2aW0sIGhlcmUgaXMgd2hhdCBJIHVzZWQ6CkBAIC04Nyw3ICs4 Nyw3IEBAIEZvciBoZWFkZXIgZmlsZXMsIHBsZWFzZSBkZWNsYXJlIHRoZSBmb2xsb3dpbmcgaW4g dGhpcyBvcmRlcjoKIDMpIEZ1bmN0aW9uIHByb3RvdHlwZQogCiBGdXJ0aGVybW9yZSwgcmVzcGVj dCB0aGUgbmFtZSBzcGFjaW5nIG9mIGZpbGVzIGZvciBlYWNoIG5vbi1zdGF0aWMgc3ltYm9sCi12 aXNpYWJsZSBvdXRzaWRlIHRoZSBzY29wZSBvZiB0aGUgQyBmaWxlLiBGb3IgaW5zdGFuY2UsIGZv ciB0aGUgdXRpbHMuYyBmaWxlIGluCit2aXNpYmxlIG91dHNpZGUgdGhlIHNjb3BlIG9mIHRoZSBD IGZpbGUuIEZvciBpbnN0YW5jZSwgZm9yIHRoZSB1dGlscy5jIGZpbGUgaW4KIGxpYmNvbW1vbiwg ZXZlcnkgY2FsbCBzaG91bGQgYmUgcHJlZml4ZWQgYnkgInV0aWxzXyoiLgogCiBFcnJvciBoYW5k bGluZzoKZGlmZiAtLWdpdCBhL2NvbmZpZy90YXAtZHJpdmVyLnNoIGIvY29uZmlnL3RhcC1kcml2 ZXIuc2gKaW5kZXggNjUwMzdhYjYuLjU4MTNmNmFmIDEwMDc1NQotLS0gYS9jb25maWcvdGFwLWRy aXZlci5zaAorKysgYi9jb25maWcvdGFwLWRyaXZlci5zaApAQCAtMzc0LDcgKzM3NCw3IEBAIGZ1 bmN0aW9uIHNldHVwX3Jlc3VsdF9vYmoobGluZSkKICAgc3ViKCJeKG5vdCApP29rWyBcdF0qIiwg IiIsIGxpbmUpCiAKICAgIyBJZiB0aGUgcmVzdWx0IGhhcyBhbiBleHBsaWNpdCBudW1iZXIsIGdl dCBpdCBhbmQgc3RyaXAgaXQ7IG90aGVyd2lzZSwKLSAgIyBhdXRvbWF0aWNhbGx5IGFzc2luZyB0 aGUgbmV4dCBwcm9ncmVzaXZlIG51bWJlciB0byBpdC4KKyAgIyBhdXRvbWF0aWNhbGx5IGFzc2ln biB0aGUgbmV4dCBwcm9ncmVzaXZlIG51bWJlciB0byBpdC4KICAgaWYgKGxpbmUgfiAvXlswLTld KyQvIHx8IGxpbmUgfiAvXlswLTldK1teYS16QS1aMC05X10vKQogICAgIHsKICAgICAgIG1hdGNo KGxpbmUsICJeWzAtOV0rIikKZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5h YwppbmRleCA2NmRkMDE2OS4uYmNiODNhNzYgMTAwNjQ0Ci0tLSBhL2NvbmZpZ3VyZS5hYworKysg Yi9jb25maWd1cmUuYWMKQEAgLTIwMiw3ICsyMDIsNyBAQCBBU19JRihbdGVzdCAieCRsaWJ0b29s X2ZpeHVwIiA9ICJ4eWVzIl0sCiAJICAgIFsKIAkgICAgbGlidG9vbF9tND0iJHNyY2Rpci9tNC9s aWJ0b29sLm00IgogCSAgICBsaWJ0b29sX2ZsYWdfcGF0dGVybj0iLipsaW5rX2FsbF9kZXBsaWJz XHMqLFxzKlwkMVxzKikiCi0JICAgIEFDX01TR19DSEVDS0lORyhbZm9yIG9jY3VyZW5jZShzKSBv ZiBsaW5rX2FsbF9kZXBsaWJzID0gbm8gaW4gJGxpYnRvb2xfbTRdKQorCSAgICBBQ19NU0dfQ0hF Q0tJTkcoW2ZvciBvY2N1cnJlbmNlKHMpIG9mIGxpbmtfYWxsX2RlcGxpYnMgPSBubyBpbiAkbGli dG9vbF9tNF0pCiAJICAgIGxpYnRvb2xfZmxhZ19wYXR0ZXJuX2NvdW50PSQoJEdSRVAgLWMgIiRs aWJ0b29sX2ZsYWdfcGF0dGVyblxzKj1ccypubyIgJGxpYnRvb2xfbTQpCiAJICAgIEFTX0lGKFt0 ZXN0ICRsaWJ0b29sX2ZsYWdfcGF0dGVybl9jb3VudCAtbmUgMF0sCiAJICAgIFsKZGlmZiAtLWdp dCBhL2RvYy9rZXJuZWwtQ29kaW5nU3R5bGUudHh0IGIvZG9jL2tlcm5lbC1Db2RpbmdTdHlsZS50 eHQKaW5kZXggYzU4YjIzNmIuLjYxZmZkYWM1IDEwMDY0NAotLS0gYS9kb2Mva2VybmVsLUNvZGlu Z1N0eWxlLnR4dAorKysgYi9kb2Mva2VybmVsLUNvZGluZ1N0eWxlLnR4dApAQCAtNzAxLDcgKzcw MSw3IEBAIHRoYXQgY2FuIGdvIGludG8gdGhlc2UgNSBtaWxsaXNlY29uZHMuCiAKIEEgcmVhc29u YWJsZSBydWxlIG9mIHRodW1iIGlzIHRvIG5vdCBwdXQgaW5saW5lIGF0IGZ1bmN0aW9ucyB0aGF0 IGhhdmUgbW9yZQogdGhhbiAzIGxpbmVzIG9mIGNvZGUgaW4gdGhlbS4gQW4gZXhjZXB0aW9uIHRv IHRoaXMgcnVsZSBhcmUgdGhlIGNhc2VzIHdoZXJlCi1hIHBhcmFtZXRlciBpcyBrbm93biB0byBi ZSBhIGNvbXBpbGV0aW1lIGNvbnN0YW50LCBhbmQgYXMgYSByZXN1bHQgb2YgdGhpcworYSBwYXJh bWV0ZXIgaXMga25vd24gdG8gYmUgYSBjb21waWxlIHRpbWUgY29uc3RhbnQsIGFuZCBhcyBhIHJl c3VsdCBvZiB0aGlzCiBjb25zdGFudG5lc3MgeW91ICprbm93KiB0aGUgY29tcGlsZXIgd2lsbCBi ZSBhYmxlIHRvIG9wdGltaXplIG1vc3Qgb2YgeW91cgogZnVuY3Rpb24gYXdheSBhdCBjb21waWxl IHRpbWUuIEZvciBhIGdvb2QgZXhhbXBsZSBvZiB0aGlzIGxhdGVyIGNhc2UsIHNlZQogdGhlIGtt YWxsb2MoKSBpbmxpbmUgZnVuY3Rpb24uCmRpZmYgLS1naXQgYS9kb2MvbGl2ZS1yZWFkaW5nLXBy b3RvY29sLnR4dCBiL2RvYy9saXZlLXJlYWRpbmctcHJvdG9jb2wudHh0CmluZGV4IDI1MWYyN2My Li43MjY1NjhkMCAxMDA2NDQKLS0tIGEvZG9jL2xpdmUtcmVhZGluZy1wcm90b2NvbC50eHQKKysr IGIvZG9jL2xpdmUtcmVhZGluZy1wcm90b2NvbC50eHQKQEAgLTE0LDcgKzE0LDcgQEAgdGltZS4K IAogVGhpcyBmZWF0dXJlIGlzIGltcGxlbWVudGVkIHN0YXJ0aW5nIGF0IGx0dG5nLXRvb2xzIDIu NAogCi0qIEdlbmVyYWwgaW5mb3JtYXRpb25zCisqIEdlbmVyYWwgaW5mb3JtYXRpb24KIEFsbCB0 aGUgZGF0YSBzdHJ1Y3R1cmVzIHJlcXVpcmVkIHRvIGltcGxlbWVudCB0aGlzIHByb3RvY29sZSBh cmUgcHJvdmlkZWQgaW4KIHRoZSBsdHRuZy12aWV3ZXItYWJpLmggaGVhZGVyLiBBbGwgaW50ZWdl ciBhcmUgZW5jb2RlZCBpbiBiaWcgZW5kaWFuIGR1cmluZyB0aGUKIHRyYW5zZmVyLgpkaWZmIC0t Z2l0IGEvZG9jL3B5dGhvbi1ob3d0by50eHQgYi9kb2MvcHl0aG9uLWhvd3RvLnR4dAppbmRleCA1 ZjdmY2ZiYS4uZjM0ZjcwODQgMTAwNjQ0Ci0tLSBhL2RvYy9weXRob24taG93dG8udHh0CisrKyBi L2RvYy9weXRob24taG93dG8udHh0CkBAIC0xMCw3ICsxMCw3IEBAIElmIHlvdSB3aXNoIHRoZSBQ eXRob24gYmluZGluZ3MsIHlvdSBjYW4gY29uZmlndXJlIHdpdGggdGhlCiAgICQgLi9jb25maWd1 cmUgLS1lbmFibGUtcHl0aG9uLWJpbmRpbmdzCiAKIFRoZSBQeXRob24gbW9kdWxlIGlzIGF1dG9t YXRpY2FsbHkgZ2VuZXJhdGVkIHVzaW5nIFNXSUcsIHRoZXJlZm9yZSB0aGUKLXN3aWcyLjAgcGFj a2FnZSBvbiBEZWJpYW4vVWJ1bnR1IGlzIHJlcXVpZWQuCitzd2lnMi4wIHBhY2thZ2Ugb24gRGVi aWFuL1VidW50dSBpcyByZXF1aXJlZC4KIAogT25jZSBpbnN0YWxsZWQsIHRoZSBQeXRob24gbW9k dWxlIGNhbiBiZSB1c2VkIGJ5IGltcG9ydGluZyBpdCBpbiBQeXRob24uCiBJbiB0aGUgUHl0aG9u IGludGVycHJldGVyOgpkaWZmIC0tZ2l0IGEvZG9jL3F1aWNrc3RhcnQudHh0IGIvZG9jL3F1aWNr c3RhcnQudHh0CmluZGV4IDliY2I4NDYwLi45MzA3NThjOSAxMDA2NDQKLS0tIGEvZG9jL3F1aWNr c3RhcnQudHh0CisrKyBiL2RvYy9xdWlja3N0YXJ0LnR4dApAQCAtMTYyLDcgKzE2Miw3IEBAIHJp Z2h0cywgb25seSBhcHBsaWNhdGlvbnMgb2YgdGhhdCB1c2VyIHdpbGwgYmUgdHJhY2VkLgogCiBT bywgYWZ0ZXIgaW5zdHJ1bWVudGluZyB5b3UgYXBwbGljYXRpb25zIHdpdGggTFRUbmctdXN0IDIu MAogKGh0dHBzOi8vbHR0bmcub3JnL2x0dG5nMi4wKSwgdXBvbiBzdGFydHVwLCBpdCB3aWxsIGF1 dG9tYXRpY2FsbHkgcmVnaXN0ZXIgdG8KLXRoZSBzZXNzaW9uIGRhZW1vbi4gSWYgdGhlcmUgaXMg bm9uZSBydW5uaW5nLCBpdCB3aWxsIHNpbXBseSB3YWl0IG9uIGEgc2VwZXJhdGUKK3RoZSBzZXNz aW9uIGRhZW1vbi4gSWYgdGhlcmUgaXMgbm9uZSBydW5uaW5nLCBpdCB3aWxsIHNpbXBseSB3YWl0 IG9uIGEgc2VwYXJhdGUKIHRocmVhZCBmb3IgYSBzZXNzaW9uIGRhZW1vbiB0byBhcHBlYXIgYW5k IHRoZW4gcmVnaXN0ZXIuCiAKIFN0YXJ0IHlvdXIgaW5zdHJ1bWVudGVkIGFwcGxpY2F0aW9uIGF0 IGFueSB0aW1lIGJ1dCBhdCBsZWFzdCBiZWZvcmUgc3RhcnRpbmcKZGlmZiAtLWdpdCBhL2V4dHJh cy9iaW5kaW5ncy9zd2lnL3B5dGhvbi9sdHRuZy5pLmluIGIvZXh0cmFzL2JpbmRpbmdzL3N3aWcv cHl0aG9uL2x0dG5nLmkuaW4KaW5kZXggNjg0NDgyZTEuLjMzZDcyZTNmIDEwMDY0NAotLS0gYS9l eHRyYXMvYmluZGluZ3Mvc3dpZy9weXRob24vbHR0bmcuaS5pbgorKysgYi9leHRyYXMvYmluZGlu Z3Mvc3dpZy9weXRob24vbHR0bmcuaS5pbgpAQCAtMjYsNyArMjYsNyBAQCBtdWx0aXBsZSBjb25j dXJyZW50IHByb2Nlc3NlcyBhbmQgdGhyZWFkcy4gVHJhY2luZyBhY3Jvc3MgbXVsdGlwbGUgc3lz dGVtcyBpcyBhbAogJXsKICNpZiBQWV9NQUpPUl9WRVJTSU9OID49IDMKIC8vIFRoZSBQeUludCBh bmQgUHlMb25nIHR5cGVzIHdlcmUgdW5pZmllZCBhcyBvZiBQeXRob24gMwotLy8gVGhpcyBtYWtl cyB0aGUgdHlwZW1hcCBjb2RlIHVzZWFibGUgd2l0aCBib3RoIFB5dGhvbiAyIGFuZCAzLgorLy8g VGhpcyBtYWtlcyB0aGUgdHlwZW1hcCBjb2RlIHVzYWJsZSB3aXRoIGJvdGggUHl0aG9uIDIgYW5k IDMuCiAjZGVmaW5lIFB5SW50X0FzU3NpemVfdCBQeUxvbmdfQXNTc2l6ZV90CiAjZW5kaWYKIApk aWZmIC0tZ2l0IGEvZXh0cmFzL2NoZWNrcGF0Y2gucGwgYi9leHRyYXMvY2hlY2twYXRjaC5wbApp bmRleCAxNGUxNmZhZS4uMjE3YWEwZGYgMTAwNzU1Ci0tLSBhL2V4dHJhcy9jaGVja3BhdGNoLnBs CisrKyBiL2V4dHJhcy9jaGVja3BhdGNoLnBsCkBAIC01NTcsNyArNTU3LDcgQEAgc3ViIHNhbml0 aXNlX2xpbmUgewogCWZvciAoJG9mZiA9IDE7ICRvZmYgPCBsZW5ndGgoJGxpbmUpOyAkb2ZmKysp IHsKIAkJJGMgPSBzdWJzdHIoJGxpbmUsICRvZmYsIDEpOwogCi0JCSMgQ29tbWVudHMgd2UgYXJl IHdhY2tpbmcgY29tcGxldGx5IGluY2x1ZGluZyB0aGUgYmVnaW4KKwkJIyBDb21tZW50cyB3ZSBh cmUgd2Fja2luZyBjb21wbGV0ZWx5IGluY2x1ZGluZyB0aGUgYmVnaW4KIAkJIyBhbmQgZW5kLCBh bGwgdG8gJDsuCiAJCWlmICgkc2FuaXRpc2VfcXVvdGUgZXEgJycgJiYgc3Vic3RyKCRsaW5lLCAk b2ZmLCAyKSBlcSAnLyonKSB7CiAJCQkkc2FuaXRpc2VfcXVvdGUgPSAnKi8nOwpAQCAtMjA5Miw3 ICsyMDkyLDcgQEAgc3ViIHByb2Nlc3MgewogCQkJc3Vic3RyKCRzLCAwLCBsZW5ndGgoJGMpLCAn Jyk7CiAKIAkJCSMgTWFrZSBzdXJlIHdlIHJlbW92ZSB0aGUgbGluZSBwcmVmaXhlcyBhcyB3ZSBo YXZlCi0JCQkjIG5vbmUgb24gdGhlIGZpcnN0IGxpbmUsIGFuZCBhcmUgZ29pbmcgdG8gcmVhZGQg dGhlbQorCQkJIyBub25lIG9uIHRoZSBmaXJzdCBsaW5lLCBhbmQgYXJlIGdvaW5nIHRvIHJlYWQg dGhlbQogCQkJIyB3aGVyZSBuZWNlc3NhcnkuCiAJCQkkcyA9fiBzL1xuLi9cbi9nczsKIApAQCAt MjY5OCw3ICsyNjk4LDcgQEAgc3ViIHByb2Nlc3MgewogIyMgCQkgICAgJGxpbmUgIX4gL14uXHMq JFR5cGVccyskSWRlbnQoPzpccyo9W14se10qKT9ccyosXHMqJFR5cGVccyokSWRlbnQuKi8pIHsK ICMjCiAjIyAJCQkjIFJlbW92ZSBhbnkgYnJhY2tldGVkIHNlY3Rpb25zIHRvIGVuc3VyZSB3ZSBk byBub3QKLSMjIAkJCSMgZmFsc2x5IHJlcG9ydCB0aGUgcGFyYW1ldGVycyBvZiBmdW5jdGlvbnMu CisjIyAJCQkjIGZhbHNlbHkgcmVwb3J0IHRoZSBwYXJhbWV0ZXJzIG9mIGZ1bmN0aW9ucy4KICMj IAkJCW15ICRsbiA9ICRsaW5lOwogIyMgCQkJd2hpbGUgKCRsbiA9fiBzL1woW15cKFwpXSpcKS8v ZykgewogIyMgCQkJfQpAQCAtMjk3NSw3ICsyOTc1LDcgQEAgc3ViIHByb2Nlc3MgewogCQkJewog CQkJfQogCi0JCQkjIEZsYXR0ZW4gYW55IG9idmlvdXMgc3RyaW5nIGNvbmNhdGVudGF0aW9uLgor CQkJIyBGbGF0dGVuIGFueSBvYnZpb3VzIHN0cmluZyBjb25jYXRlbmF0aW9uLgogCQkJd2hpbGUg KCRkc3RhdCA9fiBzLygiWCoiKVxzKiRJZGVudC8kMS8gfHwKIAkJCSAgICAgICAkZHN0YXQgPX4g cy8kSWRlbnRccyooIlgqIikvJDEvKQogCQkJewpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9NYWtlZmls ZS5hbSBiL2luY2x1ZGUvTWFrZWZpbGUuYW0KaW5kZXggOTU3YTAxZDIuLjVkZDNmOWNhIDEwMDY0 NAotLS0gYS9pbmNsdWRlL01ha2VmaWxlLmFtCisrKyBiL2luY2x1ZGUvTWFrZWZpbGUuYW0KQEAg LTI5LDE3ICsyOSwxNyBAQAogIyMKICMjIEZldGNoIHRoZSBFWFRSQV9WRVJTSU9OX0RFU0NSSVBU SU9OIGRlZmluZSBmcm9tICJ2ZXJzaW9uL2V4dHJhX3ZlcnNpb25fZGVzY3JpcHRpb24iLAogIyMg c2FuaXRpemUgYW5kIGZvcm1hdCBpdCB3aXRoIGEgc2VkIHNjcmlwdCB0byByZXBsYWNlIGFsbCBu b24tYWxwaGEtbnVtZXJpYyB2YWx1ZXMKLSMjIHdpdGggIi0iIGFuZCBqb2luIGFsbCBsaW5lcyBi eSByZXBsYWNpbmcgIlxuIiB3aXRoIGxpdHRlcmFsIHN0cmluZyBjLXN0eWxlICJcblx0IiBhbmQK KyMjIHdpdGggIi0iIGFuZCBqb2luIGFsbCBsaW5lcyBieSByZXBsYWNpbmcgIlxuIiB3aXRoIGxp dGVyYWwgc3RyaW5nIGMtc3R5bGUgIlxuXHQiIGFuZAogIyMgb3V0cHV0IGl0IHRvICJ2ZXJzaW9u LmkudG1wIi4KICMjCiAjIyBSZXBlYXQgdGhlIHNhbWUgbG9naWMgZm9yIHRoZSAidmVyc2lvbi9l eHRyYV9wYXRjaGVzIiBkaXJlY3RvcnkuCiAjIyBEYXRhIGZldGNoZWQgZnJvbSAidmVyc2lvbi9l eHRyYV9wYXRjaGVzIiBtdXN0IGJlIHNhbml0aXplZCBhbmQKICMjIGZvcm1hdHRlZC4KICMjIFRo ZSBkYXRhIGlzIGZldGNoZWQgdXNpbmcgImxzIiB3aXRoIGFuIGlnbm9yZSBwYXR0ZXJuIGZvciB0 aGUgUkVBRE1FIGZpbGUuCiAjIyBUaGUgc2FuaXRpemUgc3RlcCB1c2VzIHNlZCB3aXRoIGEgc2Ny aXB0IHRvIHJlcGxhY2UgYWxsCiAjIyBub24tYWxwaGEtbnVtZXJpYyB2YWx1ZXMsIGV4Y2VwdCAi ICIgKHNwYWNlKSwgdG8gIi0iLgogIyMgVGhlIGZvcm1hdHRpbmcgc3RlcCB1c2VzIHNlZCB3aXRo IGEgc2NyaXB0IHRvIGpvaW4gYWxsIGxpbmVzCi0jIyBieSByZXBsYWNpbmcgIlxuIiB3aXRoIGxp dHRlcmFsIHN0cmluZyBjLXN0eWxlICJcblx0Ii4KKyMjIGJ5IHJlcGxhY2luZyAiXG4iIHdpdGgg bGl0ZXJhbCBzdHJpbmcgYy1zdHlsZSAiXG5cdCIuCiAjIwogIyMgSWYgd2UgZG9uJ3QgaGF2ZSBh ICJ2ZXJzaW9uLmkiIG9yIHdlIGhhdmUgYm90aCBmaWxlcyAodmVyc2lvbi5pLCB2ZXJzaW9uLmku dG1wKQogIyMgYW5kIHRoZXkgYXJlIGRpZmZlcmVudCwgY29weSAidmVyc2lvbi5pLnRtcCIgb3Zl ciAidmVyc2lvbi5pIi4KZGlmZiAtLWdpdCBhL2luY2x1ZGUvbHR0bmcvY29uZGl0aW9uL2J1ZmZl ci11c2FnZS5oIGIvaW5jbHVkZS9sdHRuZy9jb25kaXRpb24vYnVmZmVyLXVzYWdlLmgKaW5kZXgg MGJjZjRjN2EuLjI1MzFjNjlhIDEwMDY0NAotLS0gYS9pbmNsdWRlL2x0dG5nL2NvbmRpdGlvbi9i dWZmZXItdXNhZ2UuaAorKysgYi9pbmNsdWRlL2x0dG5nL2NvbmRpdGlvbi9idWZmZXItdXNhZ2Uu aApAQCAtMjUsOSArMjUsOSBAQCBleHRlcm4gIkMiIHsKICAqIHVzYWdlIHN0YXRpc3RpY3MuIFRo ZSBwZXJpb2QgYXQgd2hpY2ggdGhlc2UgY29uZGl0aW9ucyBhcmUgZXZhbHVhdGVkIGlzCiAgKiBn b3Zlcm5lZCBieSB0aGUgY2hhbm5lbHMnIG1vbml0b3IgdGltZXIuCiAgKgotICogTm90ZSB0aGF0 IHRoZSB1c2Ugb2YgdGhlc2UgY29uZGl0b25zIGRvZXMgbm90IGltcGx5IGFueSBoeXN0ZXJlc2lz LWxvb3AKKyAqIE5vdGUgdGhhdCB0aGUgdXNlIG9mIHRoZXNlIGNvbmRpdGlvbnMgZG9lcyBub3Qg aW1wbHkgYW55IGh5c3RlcmVzaXMtbG9vcAogICogbWVjaGFuaXNtLiBGb3IgaW5zdGFuY2UsIGFu IHVwcGVyLWJvdW5kIGJ1ZmZlciB1c2FnZSBjb25kaXRpb24gc2V0IHRvIDc1JQotICogd2lsbCBm aXJlIGV2ZXJ5dGltZSB0aGUgYnVmZmVyIHVzYWdlIGdvZXMgZnJvbSBhIHZhbHVlIDwgNzUlIHRv IGEgdmFsdWUgdGhhdAorICogd2lsbCBmaXJlIGV2ZXJ5IHRpbWUgdGhlIGJ1ZmZlciB1c2FnZSBn b2VzIGZyb20gYSB2YWx1ZSA8IDc1JSB0byBhIHZhbHVlIHRoYXQKICAqIGlzID49IDc1JS4gVGhl IGV2YWx1YXRpb24gcmVzdWx0IGRvZXMgbm90IGRlcGVuZCBvbiBhbnkgbG93ZXItYm91bmQgY29u ZGl0aW9uCiAgKiBiZWluZyByZWFjaGVkIGJlZm9yZSB0aGUgY29uZGl0aW9uIGlzIGV2YWx1YXRl ZCB0byB0cnVlIGFnYWluLgogICoKQEAgLTEwMSw3ICsxMDEsNyBAQCBsdHRuZ19jb25kaXRpb25f YnVmZmVyX3VzYWdlX2dldF90aHJlc2hvbGRfcmF0aW8oCiAgKiBwcmV2aW91c2x5IHNldCB0aHJl c2hvbGQuCiAgKgogICogUmV0dXJucyBMVFROR19DT05ESVRJT05fU1RBVFVTX09LIG9uIHN1Y2Nl c3MsIExUVE5HX0NPTkRJVElPTl9TVEFUVVNfSU5WQUxJRAotICogaWYgaW52YWxpZCBwYXJhbWVu dGVycyBhcmUgcGFzc2VkLgorICogaWYgaW52YWxpZCBwYXJhbWV0ZXJzIGFyZSBwYXNzZWQuCiAg Ki8KIGV4dGVybiBlbnVtIGx0dG5nX2NvbmRpdGlvbl9zdGF0dXMKIGx0dG5nX2NvbmRpdGlvbl9i dWZmZXJfdXNhZ2Vfc2V0X3RocmVzaG9sZF9yYXRpbygKQEAgLTEzMSw3ICsxMzEsNyBAQCBsdHRu Z19jb25kaXRpb25fYnVmZmVyX3VzYWdlX2dldF90aHJlc2hvbGQoCiAgKiB3aWxsIG92ZXJyaWRl IGFueSBwcmV2aW91c2x5IHNldCB0aHJlc2hvbGQuCiAgKgogICogUmV0dXJucyBMVFROR19DT05E SVRJT05fU1RBVFVTX09LIG9uIHN1Y2Nlc3MsIExUVE5HX0NPTkRJVElPTl9TVEFUVVNfSU5WQUxJ RAotICogaWYgaW52YWxpZCBwYXJhbWVudGVycyBhcmUgcGFzc2VkLgorICogaWYgaW52YWxpZCBw YXJhbWV0ZXJzIGFyZSBwYXNzZWQuCiAgKi8KIGV4dGVybiBlbnVtIGx0dG5nX2NvbmRpdGlvbl9z dGF0dXMKIGx0dG5nX2NvbmRpdGlvbl9idWZmZXJfdXNhZ2Vfc2V0X3RocmVzaG9sZCgKQEAgLTE2 MSw3ICsxNjEsNyBAQCBsdHRuZ19jb25kaXRpb25fYnVmZmVyX3VzYWdlX2dldF9zZXNzaW9uX25h bWUoCiAgKiBUaGUgcGFzc2VkIHNlc3Npb24gbmFtZSBwYXJhbWV0ZXIgd2lsbCBiZSBjb3BpZWQg dG8gdGhlIGNvbmRpdGlvbi4KICAqCiAgKiBSZXR1cm5zIExUVE5HX0NPTkRJVElPTl9TVEFUVVNf T0sgb24gc3VjY2VzcywgTFRUTkdfQ09ORElUSU9OX1NUQVRVU19JTlZBTElECi0gKiBpZiBpbnZh bGlkIHBhcmFtZW50ZXJzIGFyZSBwYXNzZWQuCisgKiBpZiBpbnZhbGlkIHBhcmFtZXRlcnMgYXJl IHBhc3NlZC4KICAqLwogZXh0ZXJuIGVudW0gbHR0bmdfY29uZGl0aW9uX3N0YXR1cwogbHR0bmdf Y29uZGl0aW9uX2J1ZmZlcl91c2FnZV9zZXRfc2Vzc2lvbl9uYW1lKApAQCAtMTkxLDcgKzE5MSw3 IEBAIGx0dG5nX2NvbmRpdGlvbl9idWZmZXJfdXNhZ2VfZ2V0X2NoYW5uZWxfbmFtZSgKICAqIFRo ZSBwYXNzZWQgY2hhbm5lbCBuYW1lIHBhcmFtZXRlciB3aWxsIGJlIGNvcGllZCB0byB0aGUgY29u ZGl0aW9uLgogICoKICAqIFJldHVybnMgTFRUTkdfQ09ORElUSU9OX1NUQVRVU19PSyBvbiBzdWNj ZXNzLCBMVFROR19DT05ESVRJT05fU1RBVFVTX0lOVkFMSUQKLSAqIGlmIGludmFsaWQgcGFyYW1l bnRlcnMgYXJlIHBhc3NlZC4KKyAqIGlmIGludmFsaWQgcGFyYW1ldGVycyBhcmUgcGFzc2VkLgog ICovCiBleHRlcm4gZW51bSBsdHRuZ19jb25kaXRpb25fc3RhdHVzCiBsdHRuZ19jb25kaXRpb25f YnVmZmVyX3VzYWdlX3NldF9jaGFubmVsX25hbWUoCkBAIC0yMTUsNyArMjE1LDcgQEAgbHR0bmdf Y29uZGl0aW9uX2J1ZmZlcl91c2FnZV9nZXRfZG9tYWluX3R5cGUoCiAgKiBTZXQgdGhlIGRvbWFp biB0eXBlIHByb3BlcnR5IG9mIGEgYnVmZmVyIHVzYWdlIGNvbmRpdGlvbi4KICAqCiAgKiBSZXR1 cm5zIExUVE5HX0NPTkRJVElPTl9TVEFUVVNfT0sgb24gc3VjY2VzcywgTFRUTkdfQ09ORElUSU9O X1NUQVRVU19JTlZBTElECi0gKiBpZiBpbnZhbGlkIHBhcmFtZW50ZXJzIGFyZSBwYXNzZWQuCisg KiBpZiBpbnZhbGlkIHBhcmFtZXRlcnMgYXJlIHBhc3NlZC4KICAqLwogZXh0ZXJuIGVudW0gbHR0 bmdfY29uZGl0aW9uX3N0YXR1cwogbHR0bmdfY29uZGl0aW9uX2J1ZmZlcl91c2FnZV9zZXRfZG9t YWluX3R5cGUoCmRpZmYgLS1naXQgYS9pbmNsdWRlL2x0dG5nL2NvbmRpdGlvbi9zZXNzaW9uLXJv dGF0aW9uLmggYi9pbmNsdWRlL2x0dG5nL2NvbmRpdGlvbi9zZXNzaW9uLXJvdGF0aW9uLmgKaW5k ZXggY2EyZTc1NzcuLjk1OTVmNzdjIDEwMDY0NAotLS0gYS9pbmNsdWRlL2x0dG5nL2NvbmRpdGlv bi9zZXNzaW9uLXJvdGF0aW9uLmgKKysrIGIvaW5jbHVkZS9sdHRuZy9jb25kaXRpb24vc2Vzc2lv bi1yb3RhdGlvbi5oCkBAIC03OSw3ICs3OSw3IEBAIGx0dG5nX2NvbmRpdGlvbl9zZXNzaW9uX3Jv dGF0aW9uX2dldF9zZXNzaW9uX25hbWUoCiAgKiBUaGUgcGFzc2VkIHNlc3Npb24gbmFtZSBwYXJh bWV0ZXIgd2lsbCBiZSBjb3BpZWQgdG8gdGhlIGNvbmRpdGlvbi4KICAqCiAgKiBSZXR1cm5zIExU VE5HX0NPTkRJVElPTl9TVEFUVVNfT0sgb24gc3VjY2VzcywgTFRUTkdfQ09ORElUSU9OX1NUQVRV U19JTlZBTElECi0gKiBpZiBpbnZhbGlkIHBhcmFtZW50ZXJzIGFyZSBwYXNzZWQuCisgKiBpZiBp bnZhbGlkIHBhcmFtZXRlcnMgYXJlIHBhc3NlZC4KICAqLwogZXh0ZXJuIGVudW0gbHR0bmdfY29u ZGl0aW9uX3N0YXR1cwogbHR0bmdfY29uZGl0aW9uX3Nlc3Npb25fcm90YXRpb25fc2V0X3Nlc3Np b25fbmFtZSgKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbHR0bmcvbHR0bmcuaCBiL2luY2x1ZGUvbHR0 bmcvbHR0bmcuaAppbmRleCBiYzkwMGU3Zi4uYWQxZmMyOGEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUv bHR0bmcvbHR0bmcuaAorKysgYi9pbmNsdWRlL2x0dG5nL2x0dG5nLmgKQEAgLTExNSw3ICsxMTUs NyBAQCBleHRlcm4gaW50IGx0dG5nX3N0YXJ0X3RyYWNpbmcoY29uc3QgY2hhciAqc2Vzc2lvbl9u YW1lKTsKICAqIFN0b3AgdHJhY2luZyBmb3IgKmFsbCogZG9tYWluKHMpIGluIHRoZSBzZXNzaW9u LgogICoKICAqIFRoaXMgY2FsbCB3aWxsIHdhaXQgZm9yIGRhdGEgYXZhaWxhYmlsaXR5IGZvciBl YWNoIGRvbWFpbiBvZiB0aGUgc2Vzc2lvbiBzbwotICogdGhpcyBjYW4gdGFrZSBhbiBhYnJpdHJh cnkgYW1vdW50IG9mIHRpbWUuIEhvd2V2ZXIsIHdoZW4gcmV0dXJuaW5nIHlvdSBoYXZlCisgKiB0 aGlzIGNhbiB0YWtlIGFuIGFyYml0cmFyeSBhbW91bnQgb2YgdGltZS4gSG93ZXZlciwgd2hlbiBy ZXR1cm5pbmcgeW91IGhhdmUKICAqIHRoZSBndWFyYW50ZWUgdGhhdCB0aGUgZGF0YSBpcyByZWFk eSB0byBiZSByZWFkIGFuZCBhbmFseXplLiBVc2UgdGhlCiAgKiBfbm9fd2FpdCBjYWxsIGJlbG93 IHRvIGF2b2lkIHRoaXMgYmVoYXZpb3IuCiAgKgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9sdHRuZy9z ZXNzaW9uLmggYi9pbmNsdWRlL2x0dG5nL3Nlc3Npb24uaAppbmRleCBmMTNmODM5MS4uYjc2MWE1 NDUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbHR0bmcvc2Vzc2lvbi5oCisrKyBiL2luY2x1ZGUvbHR0 bmcvc2Vzc2lvbi5oCkBAIC01Nyw3ICs1Nyw3IEBAIHN0cnVjdCBsdHRuZ19zZXNzaW9uIHsKIAkg KiBmb3IgYm90aCBiaXRuZXNzZXMuCiAJICoKIAkgKiBUaGlzIHdhcyBhZGRlZCBzaW5jZSBub3Qg YWxsIGNvbXBpbGVycyBhcHBlYXIgdG8gYWxpZ24gdW5pb25zIGluIHRoZQotCSAqIHNhbWUgd2F5 LiBTb21lIChlLmcuIE1TVkMpIGRvIG5vdCBzZWVtIHRvIGltcG9zZSBhbiBhbGlnbmVtZW50CisJ ICogc2FtZSB3YXkuIFNvbWUgKGUuZy4gTVNWQykgZG8gbm90IHNlZW0gdG8gaW1wb3NlIGFuIGFs aWdubWVudAogCSAqIGNvbnN0cmFpbnQgd2hpbGUgb3RoZXJzIChlLmcuIGdjYywgY2xhbmcsIGlj Yykgc2VlbSB0byBhbGlnbiBpdCB0bwogCSAqIGVuc3VyZSAncHRyJyBpcyBuYXR1cmFsbHkgYWxp Z25lZC4KIAkgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvbHR0bmcvdHJhY2tlci5oIGIvaW5jbHVk ZS9sdHRuZy90cmFja2VyLmgKaW5kZXggZmE5MWFiYWIuLjFmZmIxMGY1IDEwMDY0NAotLS0gYS9p bmNsdWRlL2x0dG5nL3RyYWNrZXIuaAorKysgYi9pbmNsdWRlL2x0dG5nL3RyYWNrZXIuaApAQCAt MTEyLDcgKzExMiw3IEBAIHN0cnVjdCBsdHRuZ19wcm9jZXNzX2F0dHJfdmFsdWVzOwogICogUmV0 dXJucyBMVFROR19PSyBhbmQgYSBwcm9jZXNzIGF0dHJpYnV0ZSB0cmFja2VyIGhhbmRsZSBvbiBz dWNjZXNzLAogICogb3IgYW4gbHR0bmdfZXJyb3JfY29kZSBvbiBlcnJvci4KICAqCi0gKiBUaGUg dHJhY2tlcidzIG93bmVyc2hpcCBpcyB0cmFuc2ZlcmVkIHRvIHRoZSBjYWxsZXIuIFVzZQorICog VGhlIHRyYWNrZXIncyBvd25lcnNoaXAgaXMgdHJhbnNmZXJyZWQgdG8gdGhlIGNhbGxlci4gVXNl CiAgKiBsdHRuZ19wcm9jZXNzX2F0dHJfdHJhY2tlcl9oYW5kbGVfZGVzdHJveSgpIHRvIGRpc3Bv c2Ugb2YgaXQuCiAgKi8KIGV4dGVybiBlbnVtIGx0dG5nX2Vycm9yX2NvZGUgbHR0bmdfc2Vzc2lv bl9nZXRfdHJhY2tlcl9oYW5kbGUoCmRpZmYgLS1naXQgYS9pbmNsdWRlL2x0dG5nL3RyaWdnZXIv dHJpZ2dlci1pbnRlcm5hbC5oIGIvaW5jbHVkZS9sdHRuZy90cmlnZ2VyL3RyaWdnZXItaW50ZXJu YWwuaAppbmRleCAzYjc2MGUxNi4uODdiNTI1M2UgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbHR0bmcv dHJpZ2dlci90cmlnZ2VyLWludGVybmFsLmgKKysrIGIvaW5jbHVkZS9sdHRuZy90cmlnZ2VyL3Ry aWdnZXItaW50ZXJuYWwuaApAQCAtMTMzLDcgKzEzMyw3IEBAIHN0cnVjdCBsdHRuZ190cmlnZ2Vy cyAqbHR0bmdfdHJpZ2dlcnNfY3JlYXRlKHZvaWQpOwogICogVGhpcyBkaWZmZXJzIGZyb20gdGhl IHB1YmxpYyBgbHR0bmdfdHJpZ2dlcnNfZ2V0X2F0X2luZGV4YCBpbiB0aGF0CiAgKiB0aGUgcmV0 dXJuZWQgcG9pbnRlciB0byBhIG11dGFibGUgdHJpZ2dlci4KICAqCi0gKiBUaGUgb3duZXJzaGlw IG9mIHRoZSB0cmlnZ2VyIHNldCBlbGVtZW50IGlzIE5PVCB0cmFuc2ZlcmVkLgorICogVGhlIG93 bmVyc2hpcCBvZiB0aGUgdHJpZ2dlciBzZXQgZWxlbWVudCBpcyBOT1QgdHJhbnNmZXJyZWQuCiAg KiBUaGUgcmV0dXJuZWQgb2JqZWN0IGNhbiBOT1QgYmUgZnJlZWQgdmlhIGx0dG5nX3RyaWdnZXJf ZGVzdHJveS4KICAqLwogTFRUTkdfSElEREVOCmRpZmYgLS1naXQgYS9pbmNsdWRlL2x0dG5nL3Vz ZXJzcGFjZS1wcm9iZS5oIGIvaW5jbHVkZS9sdHRuZy91c2Vyc3BhY2UtcHJvYmUuaAppbmRleCA1 YTZmYTUxYS4uYjk1NTQ1ZDggMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbHR0bmcvdXNlcnNwYWNlLXBy b2JlLmgKKysrIGIvaW5jbHVkZS9sdHRuZy91c2Vyc3BhY2UtcHJvYmUuaApAQCAtNTUsNyArNTUs NyBAQCBsdHRuZ191c2Vyc3BhY2VfcHJvYmVfbG9jYXRpb25fbG9va3VwX21ldGhvZF90cmFjZXBv aW50X3NkdF9jcmVhdGUodm9pZCk7CiAKIC8qCiAgKiBDb250YWlucyBhbGwgdGhlIGluZm9ybWF0 aW9uIG5lZWRlZCB0byBjb21wdXRlIHRoZSBpbnN0cnVtZW50YXRpb24gcG9pbnQgaW4KLSAqIHRo ZSBiaW5hcnkuIEl0IGlzIHVzZWQgaW4gY29uam9uY3Rpb24gd2l0aCBhIGxvb2t1cCBtZXRob2Qu CisgKiB0aGUgYmluYXJ5LiBJdCBpcyB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggYSBsb29rdXAg bWV0aG9kLgogICovCiBzdHJ1Y3QgbHR0bmdfdXNlcnNwYWNlX3Byb2JlX2xvY2F0aW9uOwogCmRp ZmYgLS1naXQgYS9zcmMvYmluL2x0dG5nLWNvbnN1bWVyZC9oZWFsdGgtY29uc3VtZXJkLmMgYi9z cmMvYmluL2x0dG5nLWNvbnN1bWVyZC9oZWFsdGgtY29uc3VtZXJkLmMKaW5kZXggZmZhMGYzZDAu LjVkYzljODQyIDEwMDY0NAotLS0gYS9zcmMvYmluL2x0dG5nLWNvbnN1bWVyZC9oZWFsdGgtY29u c3VtZXJkLmMKKysrIGIvc3JjL2Jpbi9sdHRuZy1jb25zdW1lcmQvaGVhbHRoLWNvbnN1bWVyZC5j CkBAIC0yMzYsNyArMjM2LDcgQEAgdm9pZCAqdGhyZWFkX21hbmFnZV9oZWFsdGgodm9pZCAqZGF0 YSkKIAl3aGlsZSAoMSkgewogCQlEQkcoIkhlYWx0aCBjaGVjayByZWFkeSIpOwogCi0JCS8qIElu aWZpbml0ZSBibG9ja2luZyBjYWxsLCB3YWl0aW5nIGZvciB0cmFuc21pc3Npb24gKi8KKwkJLyog SW5maW5pdGUgYmxvY2tpbmcgY2FsbCwgd2FpdGluZyBmb3IgdHJhbnNtaXNzaW9uICovCiByZXN0 YXJ0OgogCQlyZXQgPSBsdHRuZ19wb2xsX3dhaXQoJmV2ZW50cywgLTEpOwogCQlpZiAocmV0IDwg MCkgewpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9sdHRuZy1yZWxheWQvaGVhbHRoLXJlbGF5ZC5jIGIv c3JjL2Jpbi9sdHRuZy1yZWxheWQvaGVhbHRoLXJlbGF5ZC5jCmluZGV4IDNmZmI5Yjc1Li40OGNh NDliMyAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9sdHRuZy1yZWxheWQvaGVhbHRoLXJlbGF5ZC5jCisr KyBiL3NyYy9iaW4vbHR0bmctcmVsYXlkL2hlYWx0aC1yZWxheWQuYwpAQCAtMzYzLDcgKzM2Myw3 IEBAIHZvaWQgKnRocmVhZF9tYW5hZ2VfaGVhbHRoKHZvaWQgKmRhdGEpCiAKIAkJREJHKCJIZWFs dGggY2hlY2sgcmVhZHkiKTsKIAotCQkvKiBJbmlmaW5pdGUgYmxvY2tpbmcgY2FsbCwgd2FpdGlu ZyBmb3IgdHJhbnNtaXNzaW9uICovCisJCS8qIEluZmluaXRlIGJsb2NraW5nIGNhbGwsIHdhaXRp bmcgZm9yIHRyYW5zbWlzc2lvbiAqLwogcmVzdGFydDoKIAkJcmV0ID0gbHR0bmdfcG9sbF93YWl0 KCZldmVudHMsIC0xKTsKIAkJaWYgKHJldCA8IDApIHsKZGlmZiAtLWdpdCBhL3NyYy9iaW4vbHR0 bmctcmVsYXlkL2luZGV4LmMgYi9zcmMvYmluL2x0dG5nLXJlbGF5ZC9pbmRleC5jCmluZGV4IGZm MjdkOTU4Li44N2IxNWM1NiAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9sdHRuZy1yZWxheWQvaW5kZXgu YworKysgYi9zcmMvYmluL2x0dG5nLXJlbGF5ZC9pbmRleC5jCkBAIC0yMzksNyArMjM5LDcgQEAg dm9pZCByZWxheV9pbmRleF9wdXQoc3RydWN0IHJlbGF5X2luZGV4ICppbmRleCkKIAkJCWluZGV4 LT5zdHJlYW0tPnN0cmVhbV9oYW5kbGUsIGluZGV4LT5pbmRleF9uLmtleSwKIAkJCShpbnQpIGlu ZGV4LT5yZWYucmVmY291bnQpOwogCS8qCi0JICogRW5zdXJlIGV4aXN0YW5jZSBvZiBpbmRleC0+ bG9jayBmb3IgaW5kZXggdW5sb2NrLgorCSAqIEVuc3VyZSBleGlzdGVuY2Ugb2YgaW5kZXgtPmxv Y2sgZm9yIGluZGV4IHVubG9jay4KIAkgKi8KIAlyY3VfcmVhZF9sb2NrKCk7CiAJLyoKQEAgLTM3 Nyw3ICszNzcsNyBAQCBlbmQ6CiAKIC8qCiAgKiBTd2l0Y2ggdGhlIGluZGV4IGZpbGUgb2YgYWxs IHBlbmRpbmcgaW5kZXhlcyBmb3IgYSBzdHJlYW0gYW5kIHVwZGF0ZSB0aGUKLSAqIGRhdGEgb2Zm c2V0IGJ5IHN1YnN0cmFjdGluZyB0aGUgbGFzdCBzYWZlIHBvc2l0aW9uLgorICogZGF0YSBvZmZz ZXQgYnkgc3VidHJhY3RpbmcgdGhlIGxhc3Qgc2FmZSBwb3NpdGlvbi4KICAqIFN0cmVhbSBsb2Nr IG11c3QgYmUgaGVsZC4KICAqLwogaW50IHJlbGF5X2luZGV4X3N3aXRjaF9hbGxfZmlsZXMoc3Ry dWN0IHJlbGF5X3N0cmVhbSAqc3RyZWFtKQpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9sdHRuZy1yZWxh eWQvbGl2ZS5jIGIvc3JjL2Jpbi9sdHRuZy1yZWxheWQvbGl2ZS5jCmluZGV4IDU4Nzc0NjdjLi4y NWQ1YTVkYyAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9sdHRuZy1yZWxheWQvbGl2ZS5jCisrKyBiL3Ny Yy9iaW4vbHR0bmctcmVsYXlkL2xpdmUuYwpAQCAtMjAyNyw3ICsyMDI3LDcgQEAgaW50IHZpZXdl cl9nZXRfbWV0YWRhdGEoc3RydWN0IHJlbGF5X2Nvbm5lY3Rpb24gKmNvbm4pCiAKIAkvKgogCSAq IEVpdGhlciB0aGlzIGlzIHRoZSBmaXJzdCB0aW1lIHRoZSBtZXRhZGF0YSBmaWxlIGlzIHJlYWQs IG9yIGEKLQkgKiByb3RhdGlvbiBvZiB0aGUgY29ycmVzcG9uZGluZyByZWxheSBzdHJlYW0gaGFz IG9jY3VyZWQuCisJICogcm90YXRpb24gb2YgdGhlIGNvcnJlc3BvbmRpbmcgcmVsYXkgc3RyZWFt IGhhcyBvY2N1cnJlZC4KIAkgKi8KIAlpZiAoIXZzdHJlYW0tPnN0cmVhbV9maWxlLmhhbmRsZSAm JiBsZW4gPiAwKSB7CiAJCXN0cnVjdCBmc19oYW5kbGUgKmZzX2hhbmRsZTsKZGlmZiAtLWdpdCBh L3NyYy9iaW4vbHR0bmctcmVsYXlkL2x0dG5nLXZpZXdlci1hYmkuaCBiL3NyYy9iaW4vbHR0bmct cmVsYXlkL2x0dG5nLXZpZXdlci1hYmkuaAppbmRleCBmNWY2MWI0ZC4uNWVjNGUzMDMgMTAwNjQ0 Ci0tLSBhL3NyYy9iaW4vbHR0bmctcmVsYXlkL2x0dG5nLXZpZXdlci1hYmkuaAorKysgYi9zcmMv YmluL2x0dG5nLXJlbGF5ZC9sdHRuZy12aWV3ZXItYWJpLmgKQEAgLTUwLDcgKzUwLDcgQEAgZW51 bSBsdHRuZ192aWV3ZXJfbmV4dF9pbmRleF9yZXR1cm5fY29kZSB7CiAJTFRUTkdfVklFV0VSX0lO REVYX09LCQk9IDEsIC8qIEluZGV4IGlzIGF2YWlsYWJsZS4gKi8KIAlMVFROR19WSUVXRVJfSU5E RVhfUkVUUlkJPSAyLCAvKiBJbmRleCBub3QgeWV0IGF2YWlsYWJsZS4gKi8KIAlMVFROR19WSUVX RVJfSU5ERVhfSFVQCQk9IDMsIC8qIEluZGV4IGNsb3NlZCAodHJhY2UgZGVzdHJveWVkKS4gKi8K LQlMVFROR19WSUVXRVJfSU5ERVhfRVJSCQk9IDQsIC8qIFVua25vdyBlcnJvci4gKi8KKwlMVFRO R19WSUVXRVJfSU5ERVhfRVJSCQk9IDQsIC8qIFVua25vd24gZXJyb3IuICovCiAJTFRUTkdfVklF V0VSX0lOREVYX0lOQUNUSVZFCT0gNSwgLyogSW5hY3RpdmUgc3RyZWFtIGJlYWNvbi4gKi8KIAlM VFROR19WSUVXRVJfSU5ERVhfRU9GCQk9IDYsIC8qIEVuZCBvZiBpbmRleCBmaWxlLiAqLwogfTsK ZGlmZiAtLWdpdCBhL3NyYy9iaW4vbHR0bmctcmVsYXlkL21haW4uYyBiL3NyYy9iaW4vbHR0bmct cmVsYXlkL21haW4uYwppbmRleCA5ZjA5NGY1NC4uZmIxYjc0ZDcgMTAwNjQ0Ci0tLSBhL3NyYy9i aW4vbHR0bmctcmVsYXlkL21haW4uYworKysgYi9zcmMvYmluL2x0dG5nLXJlbGF5ZC9tYWluLmMK QEAgLTE1NCw3ICsxNTQsNyBAQCBzdGF0aWMgdWludDY0X3QgbGFzdF9yZWxheV9zdHJlYW1faWQ7 CiAgKi8KIHN0YXRpYyBzdHJ1Y3QgcmVsYXlfY29ubl9xdWV1ZSByZWxheV9jb25uX3F1ZXVlOwog Ci0vKiBDYXAgb2YgZmlsZSBkZXNyaXB0b3JzIHRvIGJlIGluIHNpbXVsdGFuZW91cyB1c2UgYnkg dGhlIHJlbGF5IGRhZW1vbi4gKi8KKy8qIENhcCBvZiBmaWxlIGRlc2NyaXB0b3JzIHRvIGJlIGlu IHNpbXVsdGFuZW91cyB1c2UgYnkgdGhlIHJlbGF5IGRhZW1vbi4gKi8KIHN0YXRpYyB1bnNpZ25l ZCBpbnQgbHR0bmdfb3B0X2ZkX3Bvb2xfc2l6ZSA9IC0xOwogCiAvKiBHbG9iYWwgcmVsYXkgc3Ry ZWFtIGhhc2ggdGFibGUuICovCkBAIC0zMTEyLDcgKzMxMTIsNyBAQCBzdGF0aWMgaW50IHJlbGF5 X3RyYWNlX2NodW5rX2V4aXN0cyhjb25zdCBzdHJ1Y3QgbHR0Y29tbV9yZWxheWRfaGRyICpyZWN2 X2hkciwKIAlib29sIGNodW5rX2V4aXN0czsKIAogCWlmICghc2Vzc2lvbiB8fCAhY29ubi0+dmVy c2lvbl9jaGVja19kb25lKSB7Ci0JCUVSUigiVHJ5aW5nIHRvIGNoZWNrIGZvciB0aGUgZXhpc3Rh bmNlIG9mIGEgdHJhY2UgY2h1bmsgYmVmb3JlIHZlcnNpb24gY2hlY2siKTsKKwkJRVJSKCJUcnlp bmcgdG8gY2hlY2sgZm9yIHRoZSBleGlzdGVuY2Ugb2YgYSB0cmFjZSBjaHVuayBiZWZvcmUgdmVy c2lvbiBjaGVjayIpOwogCQlyZXQgPSAtMTsKIAkJZ290byBlbmRfbm9fcmVwbHk7CiAJfQpkaWZm IC0tZ2l0IGEvc3JjL2Jpbi9sdHRuZy1yZWxheWQvc2Vzc2lvbi5jIGIvc3JjL2Jpbi9sdHRuZy1y ZWxheWQvc2Vzc2lvbi5jCmluZGV4IGUxMDY1NTQ5Li4xZmJkZmFhZCAxMDA2NDQKLS0tIGEvc3Jj L2Jpbi9sdHRuZy1yZWxheWQvc2Vzc2lvbi5jCisrKyBiL3NyYy9iaW4vbHR0bmctcmVsYXlkL3Nl c3Npb24uYwpAQCAtMjQ1LDcgKzI0NSw3IEBAIGVuZDoKICAqIENoZWNrIGlmIGEgbmFtZSBpcyBz YWZlIHRvIHVzZSBpbiBhIHBhdGguCiAgKgogICogQSBuYW1lIHRoYXQgaXMgZGVlbWVkICJwYXRo LXNhZmUiOgotICogICAtIERvZXMgbm90IGNvbnRhaW5zIGEgcGF0aCBzZXBhcmF0b3IgKC8gb3Ig XCwgcGxhdGZvcm0gZGVwZW5kYW50KSwKKyAqICAgLSBEb2VzIG5vdCBjb250YWlucyBhIHBhdGgg c2VwYXJhdG9yICgvIG9yIFwsIHBsYXRmb3JtIGRlcGVuZGVudCksCiAgKiAgIC0gRG9lcyBub3Qg c3RhcnQgd2l0aCBhICcuJyAoaGlkZGVuIGZpbGUvZm9sZGVyKSwKICAqICAgLSBJcyBub3QgZW1w dHkuCiAgKi8KZGlmZiAtLWdpdCBhL3NyYy9iaW4vbHR0bmctcmVsYXlkL3Nlc3Npb25kLXRyYWNl LWNodW5rcy5jIGIvc3JjL2Jpbi9sdHRuZy1yZWxheWQvc2Vzc2lvbmQtdHJhY2UtY2h1bmtzLmMK aW5kZXggMTA2NTIzNDcuLmM1NTE0Nzg4IDEwMDY0NAotLS0gYS9zcmMvYmluL2x0dG5nLXJlbGF5 ZC9zZXNzaW9uZC10cmFjZS1jaHVua3MuYworKysgYi9zcmMvYmluL2x0dG5nLXJlbGF5ZC9zZXNz aW9uZC10cmFjZS1jaHVua3MuYwpAQCAtMjIsNyArMjIsNyBAQAogLyoKICAqIExpZmV0aW1lIG9m IHRyYWNlIGNodW5rcyB3aXRoaW4gdGhlIHJlbGF5IGRhZW1vbi4KICAqCi0gKiBUcmFjZSBjaHVu a3MgYXJlIHNoYXJlZCBhY2Nyb3NzIGNvbm5lY3Rpb25zIGluaXRpYXRlZCBmcm9tIGEgZ2l2ZW4K KyAqIFRyYWNlIGNodW5rcyBhcmUgc2hhcmVkIGFjcm9zcyBjb25uZWN0aW9ucyBpbml0aWF0ZWQg ZnJvbSBhIGdpdmVuCiAgKiBzZXNzaW9uIGRhZW1vbi4gV2hlbiBhIHNlc3Npb24gaXMgY3JlYXRl ZCBieSBhIGNvbnN1bWVyIGRhZW1vbiwgdGhlCiAgKiBVVUlEIG9mIGl0cyBhc3NvY2lhdGVkIHNl c3Npb24gZGFlbW9uIGlzIHRyYW5zbWl0dGVkIChpbiB0aGUgY2FzZSBvZgogICogMi4xMSsgY29u c3VtZXIgZGFlbW9ucykuCkBAIC02NSw3ICs2NSw3IEBAIHN0cnVjdCB0cmFjZV9jaHVua19yZWdp c3RyeV9odF9lbGVtZW50IHsKIAlzdHJ1Y3QgdXJjdV9yZWYgcmVmOwogCS8qIE5vZGUgaW50byB0 aGUgc2Vzc2lvbmRfdHJhY2VfY2h1bmtfcmVnaXN0cnkncyBoYXNoIHRhYmxlLiAqLwogCXN0cnVj dCBjZHNfbGZodF9ub2RlIGh0X25vZGU7Ci0JLyogVXNlZCBmb3IgZGVmZXJlZCBjYWxsX3JjdSBy ZWNsYWltLiAqLworCS8qIFVzZWQgZm9yIGRlZmVycmVkIGNhbGxfcmN1IHJlY2xhaW0uICovCiAJ c3RydWN0IHJjdV9oZWFkIHJjdV9ub2RlOwogCXN0cnVjdCBsdHRuZ190cmFjZV9jaHVua19yZWdp c3RyeSAqdHJhY2VfY2h1bmtfcmVnaXN0cnk7CiAJc3RydWN0IHNlc3Npb25kX3RyYWNlX2NodW5r X3JlZ2lzdHJ5ICpzZXNzaW9uZF90cmFjZV9jaHVua19yZWdpc3RyeTsKQEAgLTEyNiw3ICsxMjYs NyBAQCB2b2lkIHRyYWNlX2NodW5rX3JlZ2lzdHJ5X2h0X2VsZW1lbnRfcmVsZWFzZShzdHJ1Y3Qg dXJjdV9yZWYgKnJlZikKIAl9CiAKIAlsdHRuZ190cmFjZV9jaHVua19yZWdpc3RyeV9kZXN0cm95 KGVsZW1lbnQtPnRyYWNlX2NodW5rX3JlZ2lzdHJ5KTsKLQkvKiBEZWZlcmVkIHJlY2xhaW0gb2Yg dGhlIG9iamVjdCAqLworCS8qIERlZmVycmVkIHJlY2xhaW0gb2YgdGhlIG9iamVjdCAqLwogCWNh bGxfcmN1KCZlbGVtZW50LT5yY3Vfbm9kZSwgdHJhY2VfY2h1bmtfcmVnaXN0cnlfaHRfZWxlbWVu dF9mcmVlKTsKIH0KIApkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9sdHRuZy1yZWxheWQvc3RyZWFtLmMg Yi9zcmMvYmluL2x0dG5nLXJlbGF5ZC9zdHJlYW0uYwppbmRleCA2NzU5YmVkMS4uMThjMzFjYjMg MTAwNjQ0Ci0tLSBhL3NyYy9iaW4vbHR0bmctcmVsYXlkL3N0cmVhbS5jCisrKyBiL3NyYy9iaW4v bHR0bmctcmVsYXlkL3N0cmVhbS5jCkBAIC0xOTgsNyArMTk4LDcgQEAgc3RhdGljIGludCByb3Rh dGVfdHJ1bmNhdGVfc3RyZWFtKHN0cnVjdCByZWxheV9zdHJlYW0gKnN0cmVhbSkKIAlzdHJ1Y3Qg bHR0bmdfdHJhY2VfY2h1bmsgKnByZXZpb3VzX2NodW5rID0gTlVMTDsKIAogCWlmICghTFRUTkdf T1BUSU9OQUxfR0VUKHN0cmVhbS0+b25nb2luZ19yb3RhdGlvbikubmV4dF90cmFjZV9jaHVuaykg ewotCQlFUlIoIlByb3RvY29sIGVycm9yIGVuY291dGVyZWQgaW4gJXMoKTogc3RyZWFtIHJvdGF0 aW9uICIKKwkJRVJSKCJQcm90b2NvbCBlcnJvciBlbmNvdW50ZXJlZCBpbiAlcygpOiBzdHJlYW0g cm90YXRpb24gIgogCQkJInNlcXVlbmNlIG51bWJlciBpcyBiZWZvcmUgdGhlIGN1cnJlbnQgc2Vx dWVuY2UgbnVtYmVyICIKIAkJCSJhbmQgdGhlIG5leHQgdHJhY2UgY2h1bmsgaXMgdW5zZXQuIEhv bm9yaW5nIHRoaXMgIgogCQkJInJvdGF0aW9uIGNvbW1hbmQgd291bGQgcmVzdWx0IGluIGRhdGEg bG9zcyIsCkBAIC04ODgsNyArODg4LDcgQEAgdm9pZCB0cnlfc3RyZWFtX2Nsb3NlKHN0cnVjdCBy ZWxheV9zdHJlYW0gKnN0cmVhbSkKIAogCXB0aHJlYWRfbXV0ZXhfbG9jaygmc3RyZWFtLT5sb2Nr KTsKIAkvKgotCSAqIENhbiBiZSBjYWxsZWQgY29uY3VyZW50bHkgYnkgY29ubmVjdGlvbiBjbG9z ZSBhbmQgcmVjZXB0aW9uIG9mIGxhc3QKKwkgKiBDYW4gYmUgY2FsbGVkIGNvbmN1cnJlbnRseSBi eSBjb25uZWN0aW9uIGNsb3NlIGFuZCByZWNlcHRpb24gb2YgbGFzdAogCSAqIHBlbmRpbmcgZGF0 YS4KIAkgKi8KIAlpZiAoc3RyZWFtLT5jbG9zZWQpIHsKZGlmZiAtLWdpdCBhL3NyYy9iaW4vbHR0 bmctcmVsYXlkL3ZpZXdlci1zZXNzaW9uLmMgYi9zcmMvYmluL2x0dG5nLXJlbGF5ZC92aWV3ZXIt c2Vzc2lvbi5jCmluZGV4IGVkNWE5NGVhLi4yYjZlMmM1OSAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9s dHRuZy1yZWxheWQvdmlld2VyLXNlc3Npb24uYworKysgYi9zcmMvYmluL2x0dG5nLXJlbGF5ZC92 aWV3ZXItc2Vzc2lvbi5jCkBAIC05Nyw3ICs5Nyw3IEBAIGVudW0gbHR0bmdfdmlld2VyX2F0dGFj aF9yZXR1cm5fY29kZSB2aWV3ZXJfc2Vzc2lvbl9hdHRhY2goCiAKIAlpZiAodmlld2VyX2F0dGFj aF9zdGF0dXMgPT0gTFRUTkdfVklFV0VSX0FUVEFDSF9PSykgewogCQlwdGhyZWFkX211dGV4X2xv Y2soJnZzZXNzaW9uLT5zZXNzaW9uX2xpc3RfbG9jayk7Ci0JCS8qIE93bmVyc2hpcCBpcyB0cmFu c2ZlcmVkIHRvIHRoZSBsaXN0LiAqLworCQkvKiBPd25lcnNoaXAgaXMgdHJhbnNmZXJyZWQgdG8g dGhlIGxpc3QuICovCiAJCWNkc19saXN0X2FkZF9yY3UoJnNlc3Npb24tPnZpZXdlcl9zZXNzaW9u X25vZGUsCiAJCQkJJnZzZXNzaW9uLT5zZXNzaW9uX2xpc3QpOwogCQlwdGhyZWFkX211dGV4X3Vu bG9jaygmdnNlc3Npb24tPnNlc3Npb25fbGlzdF9sb2NrKTsKZGlmZiAtLWdpdCBhL3NyYy9iaW4v bHR0bmctc2Vzc2lvbmQvYWN0aW9uLWV4ZWN1dG9yLmMgYi9zcmMvYmluL2x0dG5nLXNlc3Npb25k L2FjdGlvbi1leGVjdXRvci5jCmluZGV4IDJhMGFhYjQ1Li5hMWVjZjE2OSAxMDA2NDQKLS0tIGEv c3JjL2Jpbi9sdHRuZy1zZXNzaW9uZC9hY3Rpb24tZXhlY3V0b3IuYworKysgYi9zcmMvYmluL2x0 dG5nLXNlc3Npb25kL2FjdGlvbi1leGVjdXRvci5jCkBAIC0xNzMsNyArMTczLDcgQEAgc3RhdGlj IGludCBjbGllbnRfaGFuZGxlX3RyYW5zbWlzc2lvbl9zdGF0dXMoCiAJCQkJY2xpZW50LT5pZCk7 CiAJCWJyZWFrOwogCWRlZmF1bHQ6Ci0JCUVSUigiRmF0YWwgZXJyb3IgZW5jb3V0ZXJlZCB3aGls ZSBzZW5kaW5nIG5vdGlmaWNhdGlvbiB0byBjbGllbnQsIGNsaWVudF9pZCA9ICUiIFBSSXU2NCwK KwkJRVJSKCJGYXRhbCBlcnJvciBlbmNvdW50ZXJlZCB3aGlsZSBzZW5kaW5nIG5vdGlmaWNhdGlv biB0byBjbGllbnQsIGNsaWVudF9pZCA9ICUiIFBSSXU2NCwKIAkJCQljbGllbnQtPmlkKTsKIAkJ cmV0ID0gLTE7CiAJCWdvdG8gZW5kOwpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9sdHRuZy1zZXNzaW9u ZC9hZ2VudC10aHJlYWQuYyBiL3NyYy9iaW4vbHR0bmctc2Vzc2lvbmQvYWdlbnQtdGhyZWFkLmMK aW5kZXggMDZlZjM3N2EuLmZmMzliYTIyIDEwMDY0NAotLS0gYS9zcmMvYmluL2x0dG5nLXNlc3Np b25kL2FnZW50LXRocmVhZC5jCisrKyBiL3NyYy9iaW4vbHR0bmctc2Vzc2lvbmQvYWdlbnQtdGhy ZWFkLmMKQEAgLTQwNSw3ICs0MDUsNyBAQCBzdGF0aWMgdm9pZCAqdGhyZWFkX2FnZW50X21hbmFn ZW1lbnQodm9pZCAqZGF0YSkKIAl3aGlsZSAoMSkgewogCQlEQkczKCJbYWdlbnQtdGhyZWFkXSBN YW5hZ2UgYWdlbnQgcG9sbGluZyIpOwogCi0JCS8qIEluaWZpbml0ZSBibG9ja2luZyBjYWxsLCB3 YWl0aW5nIGZvciB0cmFuc21pc3Npb24gKi8KKwkJLyogSW5maW5pdGUgYmxvY2tpbmcgY2FsbCwg d2FpdGluZyBmb3IgdHJhbnNtaXNzaW9uICovCiByZXN0YXJ0OgogCQlyZXQgPSBsdHRuZ19wb2xs X3dhaXQoJmV2ZW50cywgLTEpOwogCQlEQkczKCJbYWdlbnQtdGhyZWFkXSBNYW5hZ2UgYWdlbnQg cmV0dXJuIGZyb20gcG9sbCBvbiAlZCBmZHMiLApkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9sdHRuZy1z ZXNzaW9uZC9jbGllbnQuYyBiL3NyYy9iaW4vbHR0bmctc2Vzc2lvbmQvY2xpZW50LmMKaW5kZXgg M2NjYzI5ZWYuLjA0OTk4ZmUyIDEwMDY0NAotLS0gYS9zcmMvYmluL2x0dG5nLXNlc3Npb25kL2Ns aWVudC5jCisrKyBiL3NyYy9iaW4vbHR0bmctc2Vzc2lvbmQvY2xpZW50LmMKQEAgLTI0MDEsNyAr MjQwMSw3IEBAIHN0YXRpYyB2b2lkICp0aHJlYWRfbWFuYWdlX2NsaWVudHModm9pZCAqZGF0YSkK IAogCQlEQkcoIkFjY2VwdGluZyBjbGllbnQgY29tbWFuZCAuLi4iKTsKIAotCQkvKiBJbmlmaW5p dGUgYmxvY2tpbmcgY2FsbCwgd2FpdGluZyBmb3IgdHJhbnNtaXNzaW9uICovCisJCS8qIEluZmlu aXRlIGJsb2NraW5nIGNhbGwsIHdhaXRpbmcgZm9yIHRyYW5zbWlzc2lvbiAqLwogCXJlc3RhcnQ6 CiAJCWhlYWx0aF9wb2xsX2VudHJ5KCk7CiAJCXJldCA9IGx0dG5nX3BvbGxfd2FpdCgmZXZlbnRz LCAtMSk7CkBAIC0yNDkxLDcgKzI0OTEsNyBAQCBzdGF0aWMgdm9pZCAqdGhyZWFkX21hbmFnZV9j bGllbnRzKHZvaWQgKmRhdGEpCiAJCS8qCiAJCSAqIFRoaXMgZnVuY3Rpb24gZGlzcGF0Y2ggdGhl IHdvcmsgdG8gdGhlIGtlcm5lbCBvciB1c2Vyc3BhY2UgdHJhY2VyCiAJCSAqIGxpYnMgYW5kIGZp bGwgdGhlIGx0dGNvbW1fbHR0bmdfbXNnIGRhdGEgc3RydWN0dXJlIG9mIGFsbCB0aGUgbmVlZGVk Ci0JCSAqIGluZm9ybWF0aW9ucyBmb3IgdGhlIGNsaWVudC4gVGhlIGNvbW1hbmQgY29udGV4dCBz dHJ1Y3QgY29udGFpbnMKKwkJICogaW5mb3JtYXRpb24gZm9yIHRoZSBjbGllbnQuIFRoZSBjb21t YW5kIGNvbnRleHQgc3RydWN0IGNvbnRhaW5zCiAJCSAqIGV2ZXJ5dGhpbmcgdGhpcyBmdW5jdGlv biBtYXkgbmVlZHMuCiAJCSAqLwogCQlyZXQgPSBwcm9jZXNzX2NsaWVudF9tc2coJmNtZF9jdHgs ICZzb2NrLCAmc29ja19lcnJvcik7CmRpZmYgLS1naXQgYS9zcmMvYmluL2x0dG5nLXNlc3Npb25k L2NtZC5jIGIvc3JjL2Jpbi9sdHRuZy1zZXNzaW9uZC9jbWQuYwppbmRleCAyYWUwYmE2OC4uM2I3 NGFkYTEgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vbHR0bmctc2Vzc2lvbmQvY21kLmMKKysrIGIvc3Jj L2Jpbi9sdHRuZy1zZXNzaW9uZC9jbWQuYwpAQCAtMTczNiw3ICsxNzM2LDcgQEAgaW50IGNtZF9k aXNhYmxlX2V2ZW50KHN0cnVjdCBsdHRfc2Vzc2lvbiAqc2Vzc2lvbiwKIAogCQkvKgogCQkgKiBJ ZiBhIG5vbi1kZWZhdWx0IGNoYW5uZWwgaGFzIGJlZW4gY3JlYXRlZCBpbiB0aGUKLQkJICogc2Vz c2lvbiwgZXhwbGljaXRlbHkgcmVxdWlyZSB0aGF0IC1jIGNoYW5fbmFtZSBuZWVkcworCQkgKiBz ZXNzaW9uLCBleHBsaWNpdGx5IHJlcXVpcmUgdGhhdCAtYyBjaGFuX25hbWUgbmVlZHMKIAkJICog dG8gYmUgcHJvdmlkZWQuCiAJCSAqLwogCQlpZiAoa3Nlc3MtPmhhc19ub25fZGVmYXVsdF9jaGFu bmVsICYmIGNoYW5uZWxfbmFtZVswXSA9PSAnXDAnKSB7CkBAIC0xOTI5LDcgKzE5MjksNyBAQCBp bnQgY21kX2FkZF9jb250ZXh0KHN0cnVjdCBsdHRfc2Vzc2lvbiAqc2Vzc2lvbiwgZW51bSBsdHRu Z19kb21haW5fdHlwZSBkb21haW4sCiAJCSAqIFZhbGlkYXRlIGNoYW5uZWwgbmFtZS4KIAkJICog SWYgbm8gY2hhbm5lbCBuYW1lIGlzIGdpdmVuIGFuZCB0aGUgZG9tYWluIGlzIEpVTCBvciBMT0c0 SiwKIAkJICogc2V0IGl0IHRvIHRoZSBhcHByb3ByaWF0ZSBkb21haW4tc3BlY2lmaWMgY2hhbm5l bCBuYW1lLiBJZgotCQkgKiBhIG5hbWUgaXMgcHJvdmlkZWQgYnV0IGRvZXMgbm90IG1hdGNoIHRo ZSBleHBleHRlZCBjaGFubmVsCisJCSAqIGEgbmFtZSBpcyBwcm92aWRlZCBidXQgZG9lcyBub3Qg bWF0Y2ggdGhlIGV4cGVjdGVkIGNoYW5uZWwKIAkJICogbmFtZSwgcmV0dXJuIGFuIGVycm9yLgog CQkgKi8KIAkJaWYgKGRvbWFpbiA9PSBMVFROR19ET01BSU5fSlVMICYmICpjaGFubmVsX25hbWUg JiYKQEAgLTIwOTcsNyArMjA5Nyw3IEBAIHN0YXRpYyBpbnQgX2NtZF9lbmFibGVfZXZlbnQoc3Ry dWN0IGx0dF9zZXNzaW9uICpzZXNzaW9uLAogCiAJCS8qCiAJCSAqIElmIGEgbm9uLWRlZmF1bHQg Y2hhbm5lbCBoYXMgYmVlbiBjcmVhdGVkIGluIHRoZQotCQkgKiBzZXNzaW9uLCBleHBsaWNpdGVs eSByZXF1aXJlIHRoYXQgLWMgY2hhbl9uYW1lIG5lZWRzCisJCSAqIHNlc3Npb24sIGV4cGxpY2l0 bHkgcmVxdWlyZSB0aGF0IC1jIGNoYW5fbmFtZSBuZWVkcwogCQkgKiB0byBiZSBwcm92aWRlZC4K IAkJICovCiAJCWlmIChzZXNzaW9uLT5rZXJuZWxfc2Vzc2lvbi0+aGFzX25vbl9kZWZhdWx0X2No YW5uZWwKQEAgLTIxMzIsNyArMjEzMiw3IEBAIHN0YXRpYyBpbnQgX2NtZF9lbmFibGVfZXZlbnQo c3RydWN0IGx0dF9zZXNzaW9uICpzZXNzaW9uLAogCQlrY2hhbiA9IHRyYWNlX2tlcm5lbF9nZXRf Y2hhbm5lbF9ieV9uYW1lKGNoYW5uZWxfbmFtZSwKIAkJCQlzZXNzaW9uLT5rZXJuZWxfc2Vzc2lv bik7CiAJCWlmIChrY2hhbiA9PSBOVUxMKSB7Ci0JCQkvKiBUaGlzIHNvdWxkIG5vdCBoYXBwZW4u Li4gKi8KKwkJCS8qIFRoaXMgc2hvdWxkIG5vdCBoYXBwZW4uLi4gKi8KIAkJCXJldCA9IExUVE5H X0VSUl9GQVRBTDsKIAkJCWdvdG8gZXJyb3I7CiAJCX0KQEAgLTIyMzUsNyArMjIzNSw3IEBAIHN0 YXRpYyBpbnQgX2NtZF9lbmFibGVfZXZlbnQoc3RydWN0IGx0dF9zZXNzaW9uICpzZXNzaW9uLAog CiAJCS8qCiAJCSAqIElmIGEgbm9uLWRlZmF1bHQgY2hhbm5lbCBoYXMgYmVlbiBjcmVhdGVkIGlu IHRoZQotCQkgKiBzZXNzaW9uLCBleHBsaWNpdGVseSByZXF1aXJlIHRoYXQgLWMgY2hhbl9uYW1l IG5lZWRzCisJCSAqIHNlc3Npb24sIGV4cGxpY2l0bHkgcmVxdWlyZSB0aGF0IC1jIGNoYW5fbmFt ZSBuZWVkcwogCQkgKiB0byBiZSBwcm92aWRlZC4KIAkJICovCiAJCWlmICh1c2Vzcy0+aGFzX25v bl9kZWZhdWx0X2NoYW5uZWwgJiYgY2hhbm5lbF9uYW1lWzBdID09ICdcMCcpIHsKQEAgLTU0Mjks NyArNTQyOSw3IEBAIGludCBjbWRfcm90YXRpb25fc2V0X3NjaGVkdWxlKHN0cnVjdCBsdHRfc2Vz c2lvbiAqc2Vzc2lvbiwKIAkgKiBkb2Vzbid0IGV4aXN0LgogCSAqLwogCWlmICghYWN0aXZhdGUg JiYgKnBhcmFtZXRlcl92YWx1ZSAhPSBuZXdfdmFsdWUpIHsKLQkJREJHKCJGYWlsaW5nIFJPVEFU SU9OX1NFVF9TQ0hFRFVMRSAoZGVhY3RpdmF0ZSkgY29tbWFuZCBhcyBhbiBpbmV4aXN0YW50IHNj aGVkdWxlIHdhcyBwcm92aWRlZCIpOworCQlEQkcoIkZhaWxpbmcgUk9UQVRJT05fU0VUX1NDSEVE VUxFIChkZWFjdGl2YXRlKSBjb21tYW5kIGFzIGFuIGluZXhpc3RlbnQgc2NoZWR1bGUgd2FzIHBy b3ZpZGVkIik7CiAJCXJldCA9IExUVE5HX0VSUl9ST1RBVElPTl9TQ0hFRFVMRV9OT1RfU0VUOwog CQlnb3RvIGVuZDsKIAl9CmRpZmYgLS1naXQgYS9zcmMvYmluL2x0dG5nLXNlc3Npb25kL2NvbnN1 bWVyLmMgYi9zcmMvYmluL2x0dG5nLXNlc3Npb25kL2NvbnN1bWVyLmMKaW5kZXggMTE1YTQ2ZTIu LjJlNjY5NTRkIDEwMDY0NAotLS0gYS9zcmMvYmluL2x0dG5nLXNlc3Npb25kL2NvbnN1bWVyLmMK KysrIGIvc3JjL2Jpbi9sdHRuZy1zZXNzaW9uZC9jb25zdW1lci5jCkBAIC02NjQsNyArNjY0LDcg QEAgaW50IGNvbnN1bWVyX2NvcHlfc29ja2V0cyhzdHJ1Y3QgY29uc3VtZXJfb3V0cHV0ICpkc3Qs CiAKIAkJY29weV9zb2NrLT5yZWdpc3RlcmVkID0gc29ja2V0LT5yZWdpc3RlcmVkOwogCQkvKgot CQkgKiBUaGlzIGlzIHZhbGlkIGJlY2F1c2UgdGhpcyBsb2NrIGlzIHNoYXJlZCBhY2Nyb3NzIGFs bCBjb25zdW1lcgorCQkgKiBUaGlzIGlzIHZhbGlkIGJlY2F1c2UgdGhpcyBsb2NrIGlzIHNoYXJl ZCBhY3Jvc3MgYWxsIGNvbnN1bWVyCiAJCSAqIG9iamVjdCBiZWluZyB0aGUgZ2xvYmFsIGxvY2sg b2YgdGhlIGNvbnN1bWVyIGRhdGEgc3RydWN0dXJlIG9mIHRoZQogCQkgKiBzZXNzaW9uIGRhZW1v bi4KIAkJICovCkBAIC0xNDEyLDcgKzE0MTIsNyBAQCBlbmQ6CiB9CiAKIC8qCi0gKiBTZW5kIGEg c2V0dXAgbWV0ZGF0YSBjb21tYW5kIHRvIGNvbnN1bWVyIHVzaW5nIHRoZSBnaXZlbiBjaGFubmVs IGtleS4KKyAqIFNlbmQgYSBzZXR1cCBtZXRhZGF0YSBjb21tYW5kIHRvIGNvbnN1bWVyIHVzaW5n IHRoZSBnaXZlbiBjaGFubmVsIGtleS4KICAqCiAgKiBSZXR1cm4gMCBvbiBzdWNjZXNzIGVsc2Ug YSBuZWdhdGl2ZSB2YWx1ZS4KICAqLwpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9sdHRuZy1zZXNzaW9u ZC9rZXJuZWwuYyBiL3NyYy9iaW4vbHR0bmctc2Vzc2lvbmQva2VybmVsLmMKaW5kZXggZDkzNDc4 ZWQuLjU3ZjAxZjdkIDEwMDY0NAotLS0gYS9zcmMvYmluL2x0dG5nLXNlc3Npb25kL2tlcm5lbC5j CisrKyBiL3NyYy9iaW4vbHR0bmctc2Vzc2lvbmQva2VybmVsLmMKQEAgLTE5NDEsNyArMTk0MSw3 IEBAIGVudW0gbHR0bmdfZXJyb3JfY29kZSBrZXJuZWxfY2xlYXJfc2Vzc2lvbihzdHJ1Y3QgbHR0 X3Nlc3Npb24gKnNlc3Npb24pCiAJCQkvKgogCQkJICogTm90aGluZyB0byBkbyBmb3IgdGhlIG1l dGFkYXRhLgogCQkJICogVGhpcyBpcyBhIHNuYXBzaG90IHNlc3Npb24uCi0JCQkgKiBUaGUgbWV0 YWRhdGEgaXMgZ2VuZXJlcmF0ZWQgb24gdGhlIGZseS4KKwkJCSAqIFRoZSBtZXRhZGF0YSBpcyBn ZW5lcmF0ZWQgb24gdGhlIGZseS4KIAkJCSAqLwogCQkJY29udGludWU7CiAJCX0KZGlmZiAtLWdp dCBhL3NyYy9iaW4vbHR0bmctc2Vzc2lvbmQvbHR0bmctc3lzY2FsbC5jIGIvc3JjL2Jpbi9sdHRu Zy1zZXNzaW9uZC9sdHRuZy1zeXNjYWxsLmMKaW5kZXggMTZlZWFkNjIuLjQ4MzNlNWQ3IDEwMDY0 NAotLS0gYS9zcmMvYmluL2x0dG5nLXNlc3Npb25kL2x0dG5nLXN5c2NhbGwuYworKysgYi9zcmMv YmluL2x0dG5nLXNlc3Npb25kL2x0dG5nLXN5c2NhbGwuYwpAQCAtMTQ1LDcgKzE0NSw3IEBAIGVy cm9yX2lvY3RsOgogICogc3lzY2FsbCBoYXNodGFibGUgdXNlZCB0byB0cmFjayBkdXBsaWNhdGUg YmV0d2VlbiAzMiBhbmQgNjQgYml0IGFyY2guCiAgKgogICogVGhpcyBlbXB0eSB0aGUgaGFzaCB0 YWJsZSBhbmQgZGVzdHJveXMgaXQgYWZ0ZXIuIEFmdGVyIHRoaXMsIHRoZSBwb2ludGVyIGlzCi0g KiB1bnN1YWJsZS4gUkNVIHJlYWQgc2lkZSBsb2NrIE1VU1QgYmUgYWNxdWlyZWQgYmVmb3JlIGNh bGxpbmcgdGhpcy4KKyAqIHVudXNhYmxlLiBSQ1UgcmVhZCBzaWRlIGxvY2sgTVVTVCBiZSBhY3F1 aXJlZCBiZWZvcmUgY2FsbGluZyB0aGlzLgogICovCiBzdGF0aWMgdm9pZCBkZXN0cm95X3N5c2Nh bGxfaHQoc3RydWN0IGx0dG5nX2h0ICpodCkKIHsKZGlmZiAtLWdpdCBhL3NyYy9iaW4vbHR0bmct c2Vzc2lvbmQvbWFpbi5jIGIvc3JjL2Jpbi9sdHRuZy1zZXNzaW9uZC9tYWluLmMKaW5kZXggNGJk YWM1MjEuLmVkNTdjY2EyIDEwMDY0NAotLS0gYS9zcmMvYmluL2x0dG5nLXNlc3Npb25kL21haW4u YworKysgYi9zcmMvYmluL2x0dG5nLXNlc3Npb25kL21haW4uYwpAQCAtOTAyLDcgKzkwMiw3IEBA IHN0YXRpYyB2b2lkIHNlc3Npb25kX2NsZWFudXBfbG9ja19maWxlKHZvaWQpCiAJaW50IHJldDsK IAogCS8qCi0JICogQ2xlYW51cCBsb2NrIGZpbGUgYnkgZGVsZXRpbmcgaXQgYW5kIGZpbmFseSBj bG9zaW5nIGl0IHdoaWNoIHdpbGwKKwkgKiBDbGVhbnVwIGxvY2sgZmlsZSBieSBkZWxldGluZyBp dCBhbmQgZmluYWxseSBjbG9zaW5nIGl0IHdoaWNoIHdpbGwKIAkgKiByZWxlYXNlIHRoZSBmaWxl IHN5c3RlbSBsb2NrLgogCSAqLwogCWlmIChsb2NrZmlsZV9mZCA+PSAwKSB7CmRpZmYgLS1naXQg YS9zcmMvYmluL2x0dG5nLXNlc3Npb25kL21hbmFnZS1hcHBzLmMgYi9zcmMvYmluL2x0dG5nLXNl c3Npb25kL21hbmFnZS1hcHBzLmMKaW5kZXggYjViNzdkODkuLjdjZGYwMzZkIDEwMDY0NAotLS0g YS9zcmMvYmluL2x0dG5nLXNlc3Npb25kL21hbmFnZS1hcHBzLmMKKysrIGIvc3JjL2Jpbi9sdHRu Zy1zZXNzaW9uZC9tYW5hZ2UtYXBwcy5jCkBAIC04Nyw3ICs4Nyw3IEBAIHN0YXRpYyB2b2lkICp0 aHJlYWRfYXBwbGljYXRpb25fbWFuYWdlbWVudCh2b2lkICpkYXRhKQogCXdoaWxlICgxKSB7CiAJ CURCRygiQXBwcyB0aHJlYWQgcG9sbGluZyIpOwogCi0JCS8qIEluaWZpbml0ZSBibG9ja2luZyBj YWxsLCB3YWl0aW5nIGZvciB0cmFuc21pc3Npb24gKi8KKwkJLyogSW5maW5pdGUgYmxvY2tpbmcg Y2FsbCwgd2FpdGluZyBmb3IgdHJhbnNtaXNzaW9uICovCiAJcmVzdGFydDoKIAkJaGVhbHRoX3Bv bGxfZW50cnkoKTsKIAkJcmV0ID0gbHR0bmdfcG9sbF93YWl0KCZldmVudHMsIC0xKTsKZGlmZiAt LWdpdCBhL3NyYy9iaW4vbHR0bmctc2Vzc2lvbmQvbW9kcHJvYmUuYyBiL3NyYy9iaW4vbHR0bmct c2Vzc2lvbmQvbW9kcHJvYmUuYwppbmRleCBjZjljMTJiMy4uMTdiOWVlMTYgMTAwNjQ0Ci0tLSBh L3NyYy9iaW4vbHR0bmctc2Vzc2lvbmQvbW9kcHJvYmUuYworKysgYi9zcmMvYmluL2x0dG5nLXNl c3Npb25kL21vZHByb2JlLmMKQEAgLTExMyw3ICsxMTMsNyBAQCBzdGF0aWMgdm9pZCBsb2dfa21v ZCh2b2lkICpkYXRhLCBpbnQgcHJpb3JpdHksIGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lLAog ICogQGJyaWVmIFNldHVwIHRoZSBsaWJrbW9kIGNvbnRleHQuCiAgKgogICogQ3JlYXRlIHRoZSBj b250ZXh0LCBhZGQgYSBjdXN0b20gbG9nZ2luZyBmdW5jdGlvbiBhbmQgcHJlbG9hZCB0aGUKLSAq IHJlc3NvdXJjZXMgZm9yIGZhc3RlciBvcGVyYXRpb24uCisgKiByZXNvdXJjZXMgZm9yIGZhc3Rl ciBvcGVyYXRpb24uCiAgKgogICogQHJldHVybnMJXGMgMCBvbiBzdWNjZXNzCiAgKiAJCVxjIDwg MCBvbiBlcnJvcgpAQCAtMTQ1LDcgKzE0NSw3IEBAIGVycm9yOgogICoKICAqIEBwYXJhbSBtb2R1 bGVzCUxpc3Qgb2YgbW9kdWxlcyB0byBsb2FkCiAgKiBAcGFyYW0gZW50cmllcwlOdW1iZXIgb2Yg bW9kdWxlcyBpbiB0aGUgbGlzdAotICogQHBhcmFtIHJlcXVpcmVkCUFyZSB0aGUgbW9kdWxlcyBy ZXF1aXJlZCBvciBvcHRpb25uYWwKKyAqIEBwYXJhbSByZXF1aXJlZAlBcmUgdGhlIG1vZHVsZXMg cmVxdWlyZWQgb3Igb3B0aW9uYWwKICAqCiAgKiBJZiB0aGUgbW9kdWxlcyBhcmUgcmVxdWlyZWQs IHdlIHdpbGwgcmV0dXJuIHdpdGggZXJyb3IgYWZ0ZXIgdGhlCiAgKiBmaXJzdCBmYWlsZWQgbW9k dWxlIGxvYWQsIG90aGVyd2lzZSB3ZSBjb250aW51ZSBsb2FkaW5nLgpAQCAtMjA3LDcgKzIwNyw3 IEBAIGVycm9yOgogICogQGJyaWVmIFJlY3Vyc2l2ZWx5IHVubG9hZCBtb2R1bGVzLgogICoKICAq IFRoaXMgZnVuY3Rpb24gaW1wbGVtZW50cyB0aGUgc2FtZSBtb2R1bGVzIHVubG9hZGluZyBiZWhh dmlvciBhcwotICogJ21vZHByb2JlIC1yJyBvciBybW1vZCwgaXQgd2lsbCByZWN1cnNldmlseSBn byB0cm91Z2h0IHRoZSBccCBtb2R1bGUKKyAqICdtb2Rwcm9iZSAtcicgb3Igcm1tb2QsIGl0IHdp bGwgcmVjdXJzZXZpbHkgZ28gdGhyb3VnaCB0aGUgXHAgbW9kdWxlCiAgKiBkZXBlbmRlbmNpZXMg YW5kIHVubG9hZCBtb2R1bGVzIHdpdGggYSByZWZjb3VudCBvZiAwLgogICoKICAqIEBwYXJhbSBt b2QJCVRoZSBtb2R1bGUgdG8gdW5sb2FkCkBAIC0yNDgsNyArMjQ4LDcgQEAgc3RhdGljIGludCBy bW1vZF9yZWN1cnNlKHN0cnVjdCBrbW9kX21vZHVsZSAqbW9kKSB7CiAgKgogICogQHBhcmFtIG1v ZHVsZXMJTGlzdCBvZiBtb2R1bGVzIHRvIHVubG9hZAogICogQHBhcmFtIGVudHJpZXMJTnVtYmVy IG9mIG1vZHVsZXMgaW4gdGhlIGxpc3QKLSAqIEBwYXJhbSByZXF1aXJlZAlBcmUgdGhlIG1vZHVs ZXMgcmVxdWlyZWQgb3Igb3B0aW9ubmFsCisgKiBAcGFyYW0gcmVxdWlyZWQJQXJlIHRoZSBtb2R1 bGVzIHJlcXVpcmVkIG9yIG9wdGlvbmFsCiAgKgogICovCiBzdGF0aWMgdm9pZCBtb2Rwcm9iZV9y ZW1vdmVfbHR0bmcoY29uc3Qgc3RydWN0IGtlcm5fbW9kdWxlc19wYXJhbSAqbW9kdWxlcywKZGlm ZiAtLWdpdCBhL3NyYy9iaW4vbHR0bmctc2Vzc2lvbmQvbm90aWZpY2F0aW9uLXRocmVhZC1ldmVu dHMuYyBiL3NyYy9iaW4vbHR0bmctc2Vzc2lvbmQvbm90aWZpY2F0aW9uLXRocmVhZC1ldmVudHMu YwppbmRleCA1OTU2ZDUzYy4uZTc4NDJiYWMgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vbHR0bmctc2Vz c2lvbmQvbm90aWZpY2F0aW9uLXRocmVhZC1ldmVudHMuYworKysgYi9zcmMvYmluL2x0dG5nLXNl c3Npb25kL25vdGlmaWNhdGlvbi10aHJlYWQtZXZlbnRzLmMKQEAgLTE5NywxOCArMTk3LDE4IEBA IHZvaWQgZnJlZV9sdHRuZ190cmlnZ2VyX2h0X2VsZW1lbnRfcmN1KHN0cnVjdCByY3VfaGVhZCAq bm9kZSk7CiBzdGF0aWMKIGludCBtYXRjaF9jbGllbnRfc29ja2V0KHN0cnVjdCBjZHNfbGZodF9u b2RlICpub2RlLCBjb25zdCB2b2lkICprZXkpCiB7Ci0JLyogVGhpcyBkb3VibGUtY2FzdCBpcyBp bnRlbmRlZCB0byBzdXByZXNzIHBvaW50ZXItdG8tY2FzdCB3YXJuaW5nLiAqLworCS8qIFRoaXMg ZG91YmxlLWNhc3QgaXMgaW50ZW5kZWQgdG8gc3VwcHJlc3MgcG9pbnRlci10by1jYXN0IHdhcm5p bmcuICovCiAJY29uc3QgaW50IHNvY2tldCA9IChpbnQpIChpbnRwdHJfdCkga2V5OwogCWNvbnN0 IHN0cnVjdCBub3RpZmljYXRpb25fY2xpZW50ICpjbGllbnQgPSBjYWFfY29udGFpbmVyX29mKG5v ZGUsCiAJCQlzdHJ1Y3Qgbm90aWZpY2F0aW9uX2NsaWVudCwgY2xpZW50X3NvY2tldF9odF9ub2Rl KTsKIAogCXJldHVybiBjbGllbnQtPnNvY2tldCA9PSBzb2NrZXQ7CiB9CiAKIHN0YXRpYwogaW50 IG1hdGNoX2NsaWVudF9pZChzdHJ1Y3QgY2RzX2xmaHRfbm9kZSAqbm9kZSwgY29uc3Qgdm9pZCAq a2V5KQogewotCS8qIFRoaXMgZG91YmxlLWNhc3QgaXMgaW50ZW5kZWQgdG8gc3VwcmVzcyBwb2lu dGVyLXRvLWNhc3Qgd2FybmluZy4gKi8KKwkvKiBUaGlzIGRvdWJsZS1jYXN0IGlzIGludGVuZGVk IHRvIHN1cHByZXNzIHBvaW50ZXItdG8tY2FzdCB3YXJuaW5nLiAqLwogCWNvbnN0IG5vdGlmaWNh dGlvbl9jbGllbnRfaWQgaWQgPSAqKChub3RpZmljYXRpb25fY2xpZW50X2lkICopIGtleSk7CiAJ Y29uc3Qgc3RydWN0IG5vdGlmaWNhdGlvbl9jbGllbnQgKmNsaWVudCA9IGNhYV9jb250YWluZXJf b2YoCiAJCQlub2RlLCBzdHJ1Y3Qgbm90aWZpY2F0aW9uX2NsaWVudCwgY2xpZW50X2lkX2h0X25v ZGUpOwpAQCAtNTE2LDcgKzUxNiw3IEBAIHVuc2lnbmVkIGxvbmcgaGFzaF9jbGllbnRfaWQobm90 aWZpY2F0aW9uX2NsaWVudF9pZCBpZCkKICAqIHRoZSBub3RpZmljYXRpb24gc3lzdGVtIGV2YWx1 YXRlIGEgdHJpZ2dlcidzIGNvbmRpdGlvbiB3aGVuIGEgZ2l2ZW4KICAqIG9iamVjdCdzIHN0YXRl IGlzIHVwZGF0ZWQuCiAgKgotICogRm9yIGluc3RhbmNlLCBhIGNvbmRpdGlvbiBib3VuZCB0byBh IGNoYW5uZWwgd2lsbCBiZSBldmFsdWF0ZWQgZXZlcnl0aW1lCisgKiBGb3IgaW5zdGFuY2UsIGEg Y29uZGl0aW9uIGJvdW5kIHRvIGEgY2hhbm5lbCB3aWxsIGJlIGV2YWx1YXRlZCBldmVyeSB0aW1l CiAgKiB0aGUgY2hhbm5lbCdzIHN0YXRlIGlzIGNoYW5nZWQgYnkgYSBjaGFubmVsIG1vbml0b3Jp bmcgc2FtcGxlLgogICovCiBzdGF0aWMKQEAgLTE0ODMsNyArMTQ4Myw3IEBAIGVuZDoKICAqICdz ZXNzaW9uX25hbWUnLgogICoKICAqIE5vIG93bmVyc2hpcCBvZiAnc2Vzc2lvbl9uYW1lJyBpcyBh c3N1bWVkIGJ5IHRoZSBzZXNzaW9uIHRyaWdnZXIgbGlzdC4KLSAqIEl0IGlzIHRoZSBjYWxsZXIn cyByZXNwb25zYWJpbGl0eSB0byBlbnN1cmUgdGhlIHNlc3Npb24gbmFtZSBpcyBhbGl2ZQorICog SXQgaXMgdGhlIGNhbGxlcidzIHJlc3BvbnNpYmlsaXR5IHRvIGVuc3VyZSB0aGUgc2Vzc2lvbiBu YW1lIGlzIGFsaXZlCiAgKiBmb3IgYXMgbG9uZyBhcyB0aGlzIGxpc3QgaXMuCiAgKi8KIHN0YXRp YwpAQCAtMTU5NSw3ICsxNTk1LDcgQEAgZW5kOgogICogYWxsIHRyaWdnZXJzIHRoYXQgYXBwbHkg dG8gdGhlIHNlc3Npb24gbmFtZWQgJ3Nlc3Npb25fbmFtZScuCiAgKgogICogTm8gb3duZXJzaGlw IG9mICdzZXNzaW9uX25hbWUnIGlzIGFzc3VtZWQgYnkgdGhlIHNlc3Npb24gdHJpZ2dlciBsaXN0 LgotICogSXQgaXMgdGhlIGNhbGxlcidzIHJlc3BvbnNhYmlsaXR5IHRvIGVuc3VyZSB0aGUgc2Vz c2lvbiBuYW1lIGlzIGFsaXZlCisgKiBJdCBpcyB0aGUgY2FsbGVyJ3MgcmVzcG9uc2liaWxpdHkg dG8gZW5zdXJlIHRoZSBzZXNzaW9uIG5hbWUgaXMgYWxpdmUKICAqIGZvciBhcyBsb25nIGFzIHRo aXMgbGlzdCBpcy4KICAqLwogc3RhdGljCkBAIC0yNDA3LDcgKzI0MDcsNyBAQCBpbnQgaGFuZGxl X25vdGlmaWNhdGlvbl90aHJlYWRfY29tbWFuZF9yZWdpc3Rlcl90cmlnZ2VyKAogCX0KIAogCS8q Ci0JICogT3duZXJzaGlwIG9mIHRoZSB0cmlnZ2VyIGFuZCBvZiBpdHMgd3JhcHBlciB3YXMgdHJh bnNmZXJlZCB0bworCSAqIE93bmVyc2hpcCBvZiB0aGUgdHJpZ2dlciBhbmQgb2YgaXRzIHdyYXBw ZXIgd2FzIHRyYW5zZmVycmVkIHRvCiAJICogdGhlIHRyaWdnZXJzX2h0LgogCSAqLwogCXRyaWdn ZXJfaHRfZWxlbWVudCA9IE5VTEw7CkBAIC00MDczLDcgKzQwNzMsNyBAQCBpbnQgaGFuZGxlX25v dGlmaWNhdGlvbl90aHJlYWRfY2hhbm5lbF9zYW1wbGUoCiAKIAlyY3VfcmVhZF9sb2NrKCk7CiAK LQkvKiBSZXRyaWV2ZSB0aGUgY2hhbm5lbCdzIGluZm9ybWF0aW9ucyAqLworCS8qIFJldHJpZXZl IHRoZSBjaGFubmVsJ3MgaW5mb3JtYXRpb24gKi8KIAljZHNfbGZodF9sb29rdXAoc3RhdGUtPmNo YW5uZWxzX2h0LAogCQkJaGFzaF9jaGFubmVsX2tleSgmbGF0ZXN0X3NhbXBsZS5rZXkpLAogCQkJ bWF0Y2hfY2hhbm5lbF9pbmZvLApkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9sdHRuZy1zZXNzaW9uZC9u b3RpZnktYXBwcy5jIGIvc3JjL2Jpbi9sdHRuZy1zZXNzaW9uZC9ub3RpZnktYXBwcy5jCmluZGV4 IDlhNjMxNDFkLi40Y2YxMDllZCAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9sdHRuZy1zZXNzaW9uZC9u b3RpZnktYXBwcy5jCisrKyBiL3NyYy9iaW4vbHR0bmctc2Vzc2lvbmQvbm90aWZ5LWFwcHMuYwpA QCAtNzMsNyArNzMsNyBAQCBzdGF0aWMgdm9pZCAqdGhyZWFkX2FwcGxpY2F0aW9uX25vdGlmaWNh dGlvbih2b2lkICpkYXRhKQogCXdoaWxlICgxKSB7CiAJCURCRzMoIlt1c3QtdGhyZWFkXSBNYW5h Z2Ugbm90aWZ5IHBvbGxpbmciKTsKIAotCQkvKiBJbmlmaW5pdGUgYmxvY2tpbmcgY2FsbCwgd2Fp dGluZyBmb3IgdHJhbnNtaXNzaW9uICovCisJCS8qIEluZmluaXRlIGJsb2NraW5nIGNhbGwsIHdh aXRpbmcgZm9yIHRyYW5zbWlzc2lvbiAqLwogcmVzdGFydDoKIAkJaGVhbHRoX3BvbGxfZW50cnko KTsKIAkJcmV0ID0gbHR0bmdfcG9sbF93YWl0KCZldmVudHMsIC0xKTsKZGlmZiAtLWdpdCBhL3Ny Yy9iaW4vbHR0bmctc2Vzc2lvbmQvcmVnaXN0ZXIuYyBiL3NyYy9iaW4vbHR0bmctc2Vzc2lvbmQv cmVnaXN0ZXIuYwppbmRleCA2MzgxYzExNy4uOTMwZWE3NTQgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4v bHR0bmctc2Vzc2lvbmQvcmVnaXN0ZXIuYworKysgYi9zcmMvYmluL2x0dG5nLXNlc3Npb25kL3Jl Z2lzdGVyLmMKQEAgLTIwNCw3ICsyMDQsNyBAQCBzdGF0aWMgdm9pZCAqdGhyZWFkX2FwcGxpY2F0 aW9uX3JlZ2lzdHJhdGlvbih2b2lkICpkYXRhKQogCXdoaWxlICgxKSB7CiAJCURCRygiQWNjZXB0 aW5nIGFwcGxpY2F0aW9uIHJlZ2lzdHJhdGlvbiIpOwogCi0JCS8qIEluaWZpbml0ZSBibG9ja2lu ZyBjYWxsLCB3YWl0aW5nIGZvciB0cmFuc21pc3Npb24gKi8KKwkJLyogSW5maW5pdGUgYmxvY2tp bmcgY2FsbCwgd2FpdGluZyBmb3IgdHJhbnNtaXNzaW9uICovCiAJcmVzdGFydDoKIAkJaGVhbHRo X3BvbGxfZW50cnkoKTsKIAkJcmV0ID0gbHR0bmdfcG9sbF93YWl0KCZldmVudHMsIC0xKTsKZGlm ZiAtLWdpdCBhL3NyYy9iaW4vbHR0bmctc2Vzc2lvbmQvc2Vzc2lvbi5jIGIvc3JjL2Jpbi9sdHRu Zy1zZXNzaW9uZC9zZXNzaW9uLmMKaW5kZXggNmVkYTYyNGUuLmE4ZTZiMjE3IDEwMDY0NAotLS0g YS9zcmMvYmluL2x0dG5nLXNlc3Npb25kL3Nlc3Npb24uYworKysgYi9zcmMvYmluL2x0dG5nLXNl c3Npb25kL3Nlc3Npb24uYwpAQCAtNDUsNyArNDUsNyBAQCBzdHJ1Y3QgbHR0X3Nlc3Npb25fY2xl YXJfbm90aWZpZXJfZWxlbWVudCB7CiAgKiBOT1RFUzoKICAqCiAgKiBObyBsdHRfc2Vzc2lvbi5s b2NrIGlzIHRha2VuIGhlcmUgYmVjYXVzZSB0aG9zZSBkYXRhIHN0cnVjdHVyZSBhcmUgd2lkZWx5 Ci0gKiBzcHJlYWQgYWNyb3NzIHRoZSBsdHRuZy10b29scyBjb2RlIGJhc2Ugc28gYmVmb3JlIGNh bGluZyBmdW5jdGlvbnMgYmVsb3cKKyAqIHNwcmVhZCBhY3Jvc3MgdGhlIGx0dG5nLXRvb2xzIGNv ZGUgYmFzZSBzbyBiZWZvcmUgY2FsbGluZyBmdW5jdGlvbnMgYmVsb3cKICAqIHRoYXQgY2FuIHJl YWQvd3JpdGUgYSBzZXNzaW9uLCB0aGUgY2FsbGVyIE1VU1QgYWNxdWlyZSB0aGUgc2Vzc2lvbiBs b2NrCiAgKiB1c2luZyBzZXNzaW9uX2xvY2soKSBhbmQgc2Vzc2lvbl91bmxvY2soKS4KICAqLwpk aWZmIC0tZ2l0IGEvc3JjL2Jpbi9sdHRuZy1zZXNzaW9uZC9zZXNzaW9uLmggYi9zcmMvYmluL2x0 dG5nLXNlc3Npb25kL3Nlc3Npb24uaAppbmRleCA5Yjc5MGMxZi4uNmRhNzUxN2EgMTAwNjQ0Ci0t LSBhL3NyYy9iaW4vbHR0bmctc2Vzc2lvbmQvc2Vzc2lvbi5oCisrKyBiL3NyYy9iaW4vbHR0bmct c2Vzc2lvbmQvc2Vzc2lvbi5oCkBAIC0yMDIsNyArMjAyLDcgQEAgdm9pZCBzZXNzaW9uX3VubG9j ayhzdHJ1Y3QgbHR0X3Nlc3Npb24gKnNlc3Npb24pOwogCiAvKgogICogVGhlIHNlc3Npb24gbGlz dCBsb2NrIGNvdmVycyBtb3JlIGdyb3VuZCB0aGFuIGl0cyBuYW1lIGltcGxpZXMuIFdoaWxlCi0g KiBpdCBkb2VzIHByb3RlY3QgYWdhaW5zdCBjb25jdXJlbnQgbXV0YXRpb25zIG9mIHRoZSBzZXNz aW9uIGxpc3QsIGl0IGlzCisgKiBpdCBkb2VzIHByb3RlY3QgYWdhaW5zdCBjb25jdXJyZW50IG11 dGF0aW9ucyBvZiB0aGUgc2Vzc2lvbiBsaXN0LCBpdCBpcwogICogYWxzbyB1c2VkIGFzIGEgbXVs dGktc2Vzc2lvbiBsb2NrIHdoZW4gc3luY2hyb25pemluZyBuZXdseS1yZWdpc3RlcmVkCiAgKiAn dXNlciBzcGFjZSB0cmFjZXInIGFuZCAnYWdlbnQnIGFwcGxpY2F0aW9ucy4KICAqCmRpZmYgLS1n aXQgYS9zcmMvYmluL2x0dG5nLXNlc3Npb25kL3RpbWVyLmMgYi9zcmMvYmluL2x0dG5nLXNlc3Np b25kL3RpbWVyLmMKaW5kZXggNTZmYzQ2MzUuLmE2ZjA0ODc4IDEwMDY0NAotLS0gYS9zcmMvYmlu L2x0dG5nLXNlc3Npb25kL3RpbWVyLmMKKysrIGIvc3JjL2Jpbi9sdHRuZy1zZXNzaW9uZC90aW1l ci5jCkBAIC0yMTgsNyArMjE4LDcgQEAgaW50IHRpbWVyX3Nlc3Npb25fcm90YXRpb25fcGVuZGlu Z19jaGVja19zdGFydChzdHJ1Y3QgbHR0X3Nlc3Npb24gKnNlc3Npb24sCiAJICoKIAkgKiBJbnN0 ZWFkLCB3ZSByZS1hcm0gaXQgaWYgbmVlZGVkIGFmdGVyIHRoZSByb3RhdGlvbl9wZW5kaW5nIGNo ZWNrIGFzCiAJICogcmV0dXJuZWQuIEFsc28sIHRoaXMgdGltZXIgaXMgdXN1YWxseSBvbmx5IG5l ZWRlZCBvbmNlLCBzbyB0aGVyZSBpcwotCSAqIG5vIG5lZWQgdG8gZ28gdGhyb3VnaCB0aGUgd2hv bGUgc2lnbmFsIHRlYXJkb3duIHNjaGVtZSBldmVyeXRpbWUuCisJICogbm8gbmVlZCB0byBnbyB0 aHJvdWdoIHRoZSB3aG9sZSBzaWduYWwgdGVhcmRvd24gc2NoZW1lIGV2ZXJ5IHRpbWUuCiAJICov CiAJcmV0ID0gdGltZXJfc3RhcnQoJnNlc3Npb24tPnJvdGF0aW9uX3BlbmRpbmdfY2hlY2tfdGlt ZXIsCiAJCQlzZXNzaW9uLCBpbnRlcnZhbF91cywKZGlmZiAtLWdpdCBhL3NyYy9iaW4vbHR0bmct c2Vzc2lvbmQvdXN0LWFwcC5jIGIvc3JjL2Jpbi9sdHRuZy1zZXNzaW9uZC91c3QtYXBwLmMKaW5k ZXggZjRlNGJlZGIuLjlkMWM5YTYxIDEwMDY0NAotLS0gYS9zcmMvYmluL2x0dG5nLXNlc3Npb25k L3VzdC1hcHAuYworKysgYi9zcmMvYmluL2x0dG5nLXNlc3Npb25kL3VzdC1hcHAuYwpAQCAtNTQ1 LDcgKzU0NSw3IEBAIGludCB1c3RfYXBwX3JlbGVhc2Vfb2JqZWN0KHN0cnVjdCB1c3RfYXBwICph cHAsIHN0cnVjdCBsdHRuZ191c3Rfb2JqZWN0X2RhdGEgKmRhCiAvKgogICogUHVzaCBtZXRhZGF0 YSB0byBjb25zdW1lciBzb2NrZXQuCiAgKgotICogUkNVIHJlYWQtc2lkZSBsb2NrIG11c3QgYmUg aGVsZCB0byBndWFyYW50ZWUgZXhpc3RhbmNlIG9mIHNvY2tldC4KKyAqIFJDVSByZWFkLXNpZGUg bG9jayBtdXN0IGJlIGhlbGQgdG8gZ3VhcmFudGVlIGV4aXN0ZW5jZSBvZiBzb2NrZXQuCiAgKiBN dXN0IGJlIGNhbGxlZCB3aXRoIHRoZSB1c3QgYXBwIHNlc3Npb24gbG9jayBoZWxkLgogICogTXVz dCBiZSBjYWxsZWQgd2l0aCB0aGUgcmVnaXN0cnkgbG9jayBoZWxkLgogICoKQEAgLTY4NCw3ICs2 ODQsNyBAQCBlcnJvcl9wdXNoOgogICogc29ja2V0IHRvIHNlbmQgdGhlIG1ldGFkYXRhIGlzIHJl dHJpZXZlZCBmcm9tIGNvbnN1bWVyLCBpZiBzb2NrCiAgKiBpcyBub3QgTlVMTCB3ZSB1c2UgaXQg dG8gc2VuZCB0aGUgbWV0YWRhdGEuCiAgKiBSQ1UgcmVhZC1zaWRlIGxvY2sgbXVzdCBiZSBoZWxk IHdoaWxlIGNhbGxpbmcgdGhpcyBmdW5jdGlvbiwKLSAqIHRoZXJlZm9yZSBlbnN1cmluZyBleGlz dGFuY2Ugb2YgcmVnaXN0cnkuIEl0IGFsc28gZW5zdXJlcyBleGlzdGFuY2UKKyAqIHRoZXJlZm9y ZSBlbnN1cmluZyBleGlzdGVuY2Ugb2YgcmVnaXN0cnkuIEl0IGFsc28gZW5zdXJlcyBleGlzdGVu Y2UKICAqIG9mIHNvY2tldCB0aHJvdWdob3V0IHRoaXMgZnVuY3Rpb24uCiAgKgogICogUmV0dXJu IDAgb24gc3VjY2VzcyBlbHNlIGEgbmVnYXRpdmUgZXJyb3IuCkBAIC0yNDg5LDggKzI0ODksOCBA QCBzdGF0aWMgaW50IGRvX2NvbnN1bWVyX2NyZWF0ZV9jaGFubmVsKHN0cnVjdCBsdHRfdXN0X3Nl c3Npb24gKnVzZXNzLAogCWhlYWx0aF9jb2RlX3VwZGF0ZSgpOwogCiAJLyoKLQkgKiBOb3cgZ2V0 IHRoZSBjaGFubmVsIGZyb20gdGhlIGNvbnN1bWVyLiBUaGlzIGNhbGwgd2lsIHBvcHVsYXRlIHRo ZSBzdHJlYW0KLQkgKiBsaXN0IG9mIHRoYXQgY2hhbm5lbCBhbmQgc2V0IHRoZSB1c3Qgb2JqZWN0 cy4KKwkgKiBOb3cgZ2V0IHRoZSBjaGFubmVsIGZyb20gdGhlIGNvbnN1bWVyLiBUaGlzIGNhbGwg d2lsbCBwb3B1bGF0ZSB0aGUKKwkgKiBzdHJlYW0gbGlzdCBvZiB0aGF0IGNoYW5uZWwgYW5kIHNl dCB0aGUgdXN0IG9iamVjdHMuCiAJICovCiAJaWYgKHVzZXNzLT5jb25zdW1lci0+ZW5hYmxlZCkg ewogCQlyZXQgPSB1c3RfY29uc3VtZXJfZ2V0X2NoYW5uZWwoc29ja2V0LCB1YV9jaGFuKTsKQEAg LTU3MDUsNyArNTcwNSw3IEBAIGludCB1c3RfYXBwX3JlY3Zfbm90aWZ5KGludCBzb2NrKQogCQl9 CiAKIAkJLyoKLQkJICogVGhlIGZpZWxkcyBvd25lcnNoaXAgYXJlIHRyYW5zZmVyZWQgdG8gdGhp cyBmdW5jdGlvbiBjYWxsIG1lYW5pbmcKKwkJICogVGhlIGZpZWxkcyBvd25lcnNoaXAgYXJlIHRy YW5zZmVycmVkIHRvIHRoaXMgZnVuY3Rpb24gY2FsbCBtZWFuaW5nCiAJCSAqIHRoYXQgaWYgbmVl ZGVkIGl0IHdpbGwgYmUgZnJlZWQuIEFmdGVyIHRoaXMsIGl0J3MgaW52YWxpZCB0byBhY2Nlc3MK IAkJICogZmllbGRzIG9yIGNsZWFuIGl0IHVwLgogCQkgKi8KZGlmZiAtLWdpdCBhL3NyYy9iaW4v bHR0bmctc2Vzc2lvbmQvdXN0LWFwcC5oIGIvc3JjL2Jpbi9sdHRuZy1zZXNzaW9uZC91c3QtYXBw LmgKaW5kZXggMTY0YmMyYzYuLjhlZjg3ZmEwIDEwMDY0NAotLS0gYS9zcmMvYmluL2x0dG5nLXNl c3Npb25kL3VzdC1hcHAuaAorKysgYi9zcmMvYmluL2x0dG5nLXNlc3Npb25kL3VzdC1hcHAuaApA QCAtMjksNyArMjksNyBAQCBleHRlcm4gaW50IHVzdF9jb25zdW1lcmQ2NF9mZCwgdXN0X2NvbnN1 bWVyZDMyX2ZkOwogCiAvKgogICogT2JqZWN0IHVzZWQgdG8gY2xvc2UgdGhlIG5vdGlmeSBzb2Nr ZXQgaW4gYSBjYWxsX3JjdSgpLiBTaW5jZSB0aGUKLSAqIGFwcGxpY2F0aW9uIG1pZ2h0IG5vdCBi ZSBmb3VuZCwgd2UgbmVlZCBhbiBpbmRlcGVuZGFudCBvYmplY3QgY29udGFpbmluZyB0aGUKKyAq IGFwcGxpY2F0aW9uIG1pZ2h0IG5vdCBiZSBmb3VuZCwgd2UgbmVlZCBhbiBpbmRlcGVuZGVudCBv YmplY3QgY29udGFpbmluZyB0aGUKICAqIG5vdGlmeSBzb2NrZXQgZmQuCiAgKi8KIHN0cnVjdCB1 c3RfYXBwX25vdGlmeV9zb2NrX29iaiB7CkBAIC0yMTMsNyArMjEzLDcgQEAgc3RydWN0IHVzdF9h cHBfc2Vzc2lvbiB7CiAJdWludDMyX3QgYml0c19wZXJfbG9uZzsKIAkvKiBGb3IgZGVsYXllZCBy ZWNsYWltICovCiAJc3RydWN0IHJjdV9oZWFkIHJjdV9oZWFkOwotCS8qIElmIHRoZSBjaGFubmVs J3Mgc3RyZWFtcyBoYXZlIHRvIGJlIG91dHB1dGVkIG9yIG5vdC4gKi8KKwkvKiBJZiB0aGUgY2hh bm5lbCdzIHN0cmVhbXMgaGF2ZSB0byBiZSBvdXRwdXR0ZWQgb3Igbm90LiAqLwogCXVuc2lnbmVk IGludCBvdXRwdXRfdHJhY2VzOwogCXVuc2lnbmVkIGludCBsaXZlX3RpbWVyX2ludGVydmFsOwkv KiB1c2VjICovCiAKQEAgLTI4OCw3ICsyODgsNyBAQCBzdHJ1Y3QgdXN0X2FwcCB7CiAJICovCiAJ aW50IGFnZW50X2FwcF9zb2NrOwogCS8qCi0JICogVGltZSBhdCB3aGljaCB0aGUgYXBwIGlzIHJl Z2lzdHJlZC4KKwkgKiBUaW1lIGF0IHdoaWNoIHRoZSBhcHAgaXMgcmVnaXN0ZXJlZC4KIAkgKiBV c2VkIGZvciBwYXRoIGNyZWF0aW9uCiAJICovCiAJdGltZV90IHJlZ2lzdHJhdGlvbl90aW1lOwpk aWZmIC0tZ2l0IGEvc3JjL2Jpbi9sdHRuZy1zZXNzaW9uZC91c3QtcmVnaXN0cnkuYyBiL3NyYy9i aW4vbHR0bmctc2Vzc2lvbmQvdXN0LXJlZ2lzdHJ5LmMKaW5kZXggMmUzM2I5NTcuLjgwZGIzODZm IDEwMDY0NAotLS0gYS9zcmMvYmluL2x0dG5nLXNlc3Npb25kL3VzdC1yZWdpc3RyeS5jCisrKyBi L3NyYy9iaW4vbHR0bmctc2Vzc2lvbmQvdXN0LXJlZ2lzdHJ5LmMKQEAgLTMyNCw3ICszMjQsNyBA QCBlcnJvcjoKIAogLyoKICAqIEZyZWUgZXZlbnQgZGF0YSBzdHJ1Y3R1cmUuIFRoaXMgZG9lcyBO T1QgZGVsZXRlIGl0IGZyb20gYW55IGhhc2ggdGFibGUuIEl0J3MKLSAqIHNhZmUgdG8gcGFzcyBh IE5VTEwgcG9pbnRlci4gVGhpcyBzaG91ZGwgYmUgY2FsbGVkIGluc2lkZSBhIGNhbGwgUkNVIGlm IHRoZQorICogc2FmZSB0byBwYXNzIGEgTlVMTCBwb2ludGVyLiBUaGlzIHNob3VsZCBiZSBjYWxs ZWQgaW5zaWRlIGEgY2FsbCBSQ1UgaWYgdGhlCiAgKiBldmVudCBpcyBwcmV2aW91c2x5IGRlbGV0 ZWQgZnJvbSBhIHJjdSBoYXNoIHRhYmxlLgogICovCiBzdGF0aWMgdm9pZCBkZXN0cm95X2V2ZW50 KHN0cnVjdCB1c3RfcmVnaXN0cnlfZXZlbnQgKmV2ZW50KQpAQCAtNzIwLDcgKzcyMCw3IEBAIHZv aWQgZGVzdHJveV9jaGFubmVsX3JjdShzdHJ1Y3QgcmN1X2hlYWQgKmhlYWQpCiAvKgogICogRGVz dHJveSBldmVyeSBlbGVtZW50IG9mIHRoZSByZWdpc3RyeSBhbmQgZnJlZSB0aGUgbWVtb3J5LiBU aGlzIGRvZXMgTk9UCiAgKiBmcmVlIHRoZSByZWdpc3RyeSBwb2ludGVyIHNpbmNlIGl0IG1pZ2h0 IG5vdCBoYXZlIGJlZW4gYWxsb2NhdGVkIGJlZm9yZSBzbwotICogaXQncyB0aGUgY2FsbGVyIHJl c3BvbnNhYmlsaXR5LgorICogaXQncyB0aGUgY2FsbGVyIHJlc3BvbnNpYmlsaXR5LgogICovCiBz dGF0aWMgdm9pZCBkZXN0cm95X2NoYW5uZWwoc3RydWN0IHVzdF9yZWdpc3RyeV9jaGFubmVsICpj aGFuLCBib29sIG5vdGlmKQogewpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9sdHRuZy1zZXNzaW9uZC91 c3QtcmVnaXN0cnkuaCBiL3NyYy9iaW4vbHR0bmctc2Vzc2lvbmQvdXN0LXJlZ2lzdHJ5LmgKaW5k ZXggMTI2MTRjNWQuLjIzM2Q3Zjc5IDEwMDY0NAotLS0gYS9zcmMvYmluL2x0dG5nLXNlc3Npb25k L3VzdC1yZWdpc3RyeS5oCisrKyBiL3NyYy9iaW4vbHR0bmctc2Vzc2lvbmQvdXN0LXJlZ2lzdHJ5 LmgKQEAgLTY0LDcgKzY0LDcgQEAgc3RydWN0IHVzdF9yZWdpc3RyeV9zZXNzaW9uIHsKIAkvKgog CSAqIFRob3NlIGZpZWxkcyBhcmUgb25seSB1c2VkIHdoZW4gYSBzZXNzaW9uIGlzIGNyZWF0ZWQg d2l0aAogCSAqIHRoZSAtLXNobS1wYXRoIG9wdGlvbi4gSW4gdGhpcyBjYXNlLCB0aGUgbWV0YWRh dGEgaXMgb3V0cHV0Ci0JICogdHdpY2U6IG9uY2UgdG8gdGhlIGNvbnN1bWVyLCBhcyB1c3VzYWws IGJ1dCBhIHNlY29uZCB0aW1lCisJICogdHdpY2U6IG9uY2UgdG8gdGhlIGNvbnN1bWVyLCBhcyB1 c3VhbCwgYnV0IGEgc2Vjb25kIHRpbWUKIAkgKiBhbHNvIGluIHRoZSBzaG0gcGF0aCBkaXJlY3Rs eS4gVGhpcyBpcyBkb25lIHNvIHRoYXQgYSBjb3B5CiAJICogb2YgdGhlIG1ldGFkYXRhIHRoYXQg aXMgYXMgZnJlc2ggYXMgcG9zc2libGUgaXMgYXZhaWxhYmxlCiAJICogb24gdGhlIGV2ZW50IG9m IGEgY3Jhc2guCmRpZmYgLS1naXQgYS9zcmMvYmluL2x0dG5nL2NvbW1hbmRzL2FkZF9jb250ZXh0 LmMgYi9zcmMvYmluL2x0dG5nL2NvbW1hbmRzL2FkZF9jb250ZXh0LmMKaW5kZXggYjMzZWIxZDEu LmYwNGUzZjkyIDEwMDY0NAotLS0gYS9zcmMvYmluL2x0dG5nL2NvbW1hbmRzL2FkZF9jb250ZXh0 LmMKKysrIGIvc3JjL2Jpbi9sdHRuZy9jb21tYW5kcy9hZGRfY29udGV4dC5jCkBAIC00MjQsNyAr NDI0LDcgQEAgY29uc3Qgc3RydWN0IGN0eF9vcHRzIHsKIAkJQ09OVEVYVF9QRVJGX1RIUkVBRF9D T1VOVEVSLCAwKSwKIAogCS8qCi0JICogUGVyZiBwZXItQ1BVIGNvdW50ZXJzLCBiYWNrd2FyZCBj b21wYXRpYmlsdHkgZm9yIG5hbWVzLgorCSAqIFBlcmYgcGVyLUNQVSBjb3VudGVycywgYmFja3dh cmQgY29tcGF0aWJpbGl0eSBmb3IgbmFtZXMuCiAJICogSGlkZGVuIGZyb20gaGVscCBsaXN0aW5n LgogCSAqLwogCVBFUkZfSFcoInBlcmY6Y3B1LWN5Y2xlcyIsIENQVV9DWUNMRVMsCmRpZmYgLS1n aXQgYS9zcmMvYmluL2x0dG5nL2NvbW1hbmRzL2Rpc2FibGVfY2hhbm5lbHMuYyBiL3NyYy9iaW4v bHR0bmcvY29tbWFuZHMvZGlzYWJsZV9jaGFubmVscy5jCmluZGV4IDM0NGJlMjM3Li4zNmExY2U2 YyAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9sdHRuZy9jb21tYW5kcy9kaXNhYmxlX2NoYW5uZWxzLmMK KysrIGIvc3JjL2Jpbi9sdHRuZy9jb21tYW5kcy9kaXNhYmxlX2NoYW5uZWxzLmMKQEAgLTE0OCw3 ICsxNDgsNyBAQCBzdGF0aWMgaW50IGRpc2FibGVfY2hhbm5lbHMoY2hhciAqc2Vzc2lvbl9uYW1l KQogCQkJICogV2UgYXNzdW1lIHRoYXQgaWYgYW4gZXJyb3Igb2NjdXJyZWQgdGhlIGNoYW5uZWwg aXMgc3RpbGwgYWN0aXZlLgogCQkJICogVGhpcyBtaWdodCBub3QgYmUgdGhlIGNhc2UgYnV0IGlz IGEgZ29vZCBhc3N1bXB0aW9uLgogCQkJICogVGhlIGNsaWVudCBzaG91bGQgbG9vayBhdCB0aGUg c3RkZXJyIHN0cmVhbQotCQkJICogZm9yIG1vcmUgaW5mb3JtYXRpb25zLgorCQkJICogZm9yIG1v cmUgaW5mb3JtYXRpb24uCiAJCQkgKi8KIAkJCWVuYWJsZWQgPSAxOwogCQkJc3VjY2VzcyA9IDA7 CmRpZmYgLS1naXQgYS9zcmMvYmluL2x0dG5nL2NvbW1hbmRzL2VuYWJsZV9ldmVudHMuYyBiL3Ny Yy9iaW4vbHR0bmcvY29tbWFuZHMvZW5hYmxlX2V2ZW50cy5jCmluZGV4IGY0MWRjOWVjLi5iZGI0 YmQ3MiAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9sdHRuZy9jb21tYW5kcy9lbmFibGVfZXZlbnRzLmMK KysrIGIvc3JjL2Jpbi9sdHRuZy9jb21tYW5kcy9lbmFibGVfZXZlbnRzLmMKQEAgLTIzLDcgKzIz LDcgQEAKICNpbmNsdWRlIDxjb21tb24vdXRpbHMuaD4KIAogI2luY2x1ZGUgPGx0dG5nL2NvbnN0 YW50Lmg+Ci0vKiBNaSBkZXBlbmRhbmN5ICovCisvKiBNaSBkZXBlbmRlbmN5ICovCiAjaW5jbHVk ZSA8Y29tbW9uL21pLWx0dG5nLmg+CiAKICNpbmNsdWRlICIuLi9jb21tYW5kLmgiCkBAIC01NTIs NyArNTUyLDcgQEAgZW5kX2Rlc3Ryb3lfbG9va3VwX21ldGhvZDoKIGVuZF9zdHJpbmc6CiAJc3Ry dXRpbHNfZnJlZV9udWxsX3Rlcm1pbmF0ZWRfYXJyYXlfb2Zfc3RyaW5ncyh0b2tlbnMpOwogCS8q Ci0JICogRnJlZWluZyBib3RoIGNoYXIgKiBoZXJlIG1ha2VzIHRoZSBlcnJvciBoYW5kbGluZyBz aW1wbGllci4gZnJlZSgpCisJICogRnJlZWluZyBib3RoIGNoYXIgKiBoZXJlIG1ha2VzIHRoZSBl cnJvciBoYW5kbGluZyBzaW1wbGVyLiBmcmVlKCkKIAkgKiBwZXJmb3JtcyBub3QgYWN0aW9uIGlm IHRoZSBwb2ludGVyIGlzIE5VTEwuCiAJICovCiAJZnJlZShyZWFsX3RhcmdldF9wYXRoKTsKZGlm ZiAtLWdpdCBhL3NyYy9iaW4vbHR0bmcvY29tbWFuZHMvbGlzdC5jIGIvc3JjL2Jpbi9sdHRuZy9j b21tYW5kcy9saXN0LmMKaW5kZXggZTk2ZmUzNWQuLmVhMDQ4OGI3IDEwMDY0NAotLS0gYS9zcmMv YmluL2x0dG5nL2NvbW1hbmRzL2xpc3QuYworKysgYi9zcmMvYmluL2x0dG5nL2NvbW1hbmRzL2xp c3QuYwpAQCAtMTY0Niw3ICsxNjQ2LDcgQEAgc3RhdGljIGludCBsaXN0X3Byb2Nlc3NfYXR0cl90 cmFja2VyKGVudW0gbHR0bmdfcHJvY2Vzc19hdHRyIHByb2Nlc3NfYXR0cikKIAkJcmV0ID0gQ01E X1NVQ0NFU1M7CiAJCWdvdG8gZW5kOwogCWRlZmF1bHQ6Ci0JCUVSUigiVW5rbm93biB0cmFja2lu ZyBwb2xpY3kgZW5jb3V0ZXJlZCB3aGlsZSBsaXN0aW5nIHRoZSAlcyBwcm9jZXNzIGF0dHJpYnV0 ZSB0cmFja2VyIG9mIHNlc3Npb24gYCVzYCIsCisJCUVSUigiVW5rbm93biB0cmFja2luZyBwb2xp Y3kgZW5jb3VudGVyZWQgd2hpbGUgbGlzdGluZyB0aGUgJXMgcHJvY2VzcyBhdHRyaWJ1dGUgdHJh Y2tlciBvZiBzZXNzaW9uIGAlc2AiLAogCQkJCWx0dG5nX3Byb2Nlc3NfYXR0cl90b19zdHJpbmco cHJvY2Vzc19hdHRyKSwKIAkJCQloYW5kbGUtPnNlc3Npb25fbmFtZSk7CiAJCXJldCA9IENNRF9G QVRBTDsKQEAgLTIwMTIsNyArMjAxMiw3IEBAIGVuZDoKIC8qCiAgKiBNYWNoaW5lIGludGVyZmFj ZQogICogRmluZCB0aGUgc2Vzc2lvbiB3aXRoIHNlc3Npb25fbmFtZSBhcyBuYW1lCi0gKiBhbmQg cHJpbnQgaGlzIGluZm9ybWF0aW9ucy4KKyAqIGFuZCBwcmludCBoaXMgaW5mb3JtYXRpb24uCiAg Ki8KIHN0YXRpYyBpbnQgbWlfbGlzdF9zZXNzaW9uKGNvbnN0IGNoYXIgKnNlc3Npb25fbmFtZSwK IAkJc3RydWN0IGx0dG5nX3Nlc3Npb24gKnNlc3Npb25zLCBpbnQgY291bnQpCkBAIC0yMDI3LDcg KzIwMjcsNyBAQCBzdGF0aWMgaW50IG1pX2xpc3Rfc2Vzc2lvbihjb25zdCBjaGFyICpzZXNzaW9u X25hbWUsCiAKIAlmb3IgKGkgPSAwOyBpIDwgY291bnQ7IGkrKykgewogCQlpZiAoc3RybmNtcChz ZXNzaW9uc1tpXS5uYW1lLCBzZXNzaW9uX25hbWUsIE5BTUVfTUFYKSA9PSAwKSB7Ci0JCQkvKiBX ZSBuZWVkIHRvIGxlYXZlIGl0IG9wZW4gdG8gYXBwZW5kIG90aGVyIGluZm9ybWF0aW9ucworCQkJ LyogV2UgbmVlZCB0byBsZWF2ZSBpdCBvcGVuIHRvIGFwcGVuZCBvdGhlciBpbmZvcm1hdGlvbgog CQkJICogbGlrZSBkb21haW4sIGNoYW5uZWwsIGV2ZW50cyBldGMuKi8KIAkJCXNlc3Npb25fZm91 bmQgPSAxOwogCQkJcmV0ID0gbWlfbHR0bmdfc2Vzc2lvbih3cml0ZXIsICZzZXNzaW9uc1tpXSwg MSk7CkBAIC0yNDExLDcgKzI0MTEsNyBAQCBpbnQgY21kX2xpc3QoaW50IGFyZ2MsIGNvbnN0IGNo YXIgKiphcmd2KQogCQkJCWdvdG8gZW5kOwogCQkJfQogCQl9Ci0JCS8qIE1JOiB0aGUgb3VwdHV0 IG9mIGxpc3Rfc2Vzc2lvbnMgaXMgYW4gdW5jbG9zZWQgc2Vzc2lvbiBlbGVtZW50ICovCisJCS8q IE1JOiB0aGUgb3V0cHV0IG9mIGxpc3Rfc2Vzc2lvbnMgaXMgYW4gdW5jbG9zZWQgc2Vzc2lvbiBl bGVtZW50ICovCiAJCXJldCA9IGxpc3Rfc2Vzc2lvbnMoc2Vzc2lvbl9uYW1lKTsKIAkJaWYgKHJl dCkgewogCQkJZ290byBlbmQ7CmRpZmYgLS1naXQgYS9zcmMvYmluL2x0dG5nL2NvbW1hbmRzL2xv YWQuYyBiL3NyYy9iaW4vbHR0bmcvY29tbWFuZHMvbG9hZC5jCmluZGV4IDAwMmVjNDk1Li5mNzcw ZWI5YiAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9sdHRuZy9jb21tYW5kcy9sb2FkLmMKKysrIGIvc3Jj L2Jpbi9sdHRuZy9jb21tYW5kcy9sb2FkLmMKQEAgLTIzOSw3ICsyMzksNyBAQCBpbnQgY21kX2xv YWQoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2KQogCiAJLyoKIAkgKiBTZXQgdGhlIGlucHV0 IHVybAotCSAqIGx0dG5nX2xvYWRfc2Vzc2lvbl9hdHRyX3NldF9pbnB1dF91cmwgb25seSBzdXBw cG9ydHMgYWJzb2x1dGUgcGF0aC4KKwkgKiBsdHRuZ19sb2FkX3Nlc3Npb25fYXR0cl9zZXRfaW5w dXRfdXJsIG9ubHkgc3VwcG9ydHMgYWJzb2x1dGUgcGF0aC4KIAkgKiBVc2UgcmVhbHBhdGggdG8g cmVzb2x2ZSBhbnkgcmVsYXRpdmUgcGF0aC4KIAkgKiAqLwogCWlmIChvcHRfaW5wdXRfcGF0aCkg ewpkaWZmIC0tZ2l0IGEvc3JjL2NvbW1vbi9hbGlnbi5oIGIvc3JjL2NvbW1vbi9hbGlnbi5oCmlu ZGV4IDgxYjkyZjg2Li5lYTM4NGU4MyAxMDA2NDQKLS0tIGEvc3JjL2NvbW1vbi9hbGlnbi5oCisr KyBiL3NyYy9jb21tb24vYWxpZ24uaApAQCAtNTYsNyArNTYsNyBAQAogICogQGFsaWduX2RyaWZ0 OiAgb2JqZWN0IG9mZnNldCBmcm9tIGFuICJhbGlnbm1lbnQiLWFsaWduZWQgYWRkcmVzcy4KICAq IEBhbGlnbm1lbnQ6ICAgIG5hdHVyYWwgb2JqZWN0IGFsaWdubWVudC4gTXVzdCBiZSBub24temVy bywgcG93ZXIgb2YgMi4KICAqCi0gKiBSZXR1cm5zIHRoZSBvZmZzZXQgdGhhdCBtdXN0IGJlIHN1 YnN0cmFjdGVkIHRvIGFsaWduIHRvd2FyZHMgbG93ZXIgYWRkcmVzc2VzLgorICogUmV0dXJucyB0 aGUgb2Zmc2V0IHRoYXQgbXVzdCBiZSBzdWJ0cmFjdGVkIHRvIGFsaWduIHRvd2FyZHMgbG93ZXIg YWRkcmVzc2VzLgogICovCiAjZGVmaW5lIG9mZnNldF9hbGlnbl9mbG9vcihhbGlnbl9kcmlmdCwg YWxpZ25tZW50KQkJCSAgICAgICBcCiAJKHsJCQkJCQkJCSAgICAgICBcCmRpZmYgLS1naXQgYS9z cmMvY29tbW9uL2NvbXBhdC9wb2xsLmMgYi9zcmMvY29tbW9uL2NvbXBhdC9wb2xsLmMKaW5kZXgg YzVkZDQ5NGIuLmJmY2Q5ODQzIDEwMDY0NAotLS0gYS9zcmMvY29tbW9uL2NvbXBhdC9wb2xsLmMK KysrIGIvc3JjL2NvbW1vbi9jb21wYXQvcG9sbC5jCkBAIC00NTYsNyArNDU2LDcgQEAgaW50IGNv bXBhdF9wb2xsX2NyZWF0ZShzdHJ1Y3QgbHR0bmdfcG9sbF9ldmVudCAqZXZlbnRzLCBpbnQgc2l6 ZSkKIAkJc2l6ZSA9IHBvbGxfbWF4X3NpemU7CiAJfQogCi0JLyogUmVzZXQgZXZlcnl0aGluZyBi ZWZvcmUgYmVnaW5pbmcgdGhlIGFsbG9jYXRpb24uICovCisJLyogUmVzZXQgZXZlcnl0aGluZyBi ZWZvcmUgYmVnaW5uaW5nIHRoZSBhbGxvY2F0aW9uLiAqLwogCW1lbXNldChldmVudHMsIDAsIHNp emVvZihzdHJ1Y3QgbHR0bmdfcG9sbF9ldmVudCkpOwogCiAJY3VycmVudCA9ICZldmVudHMtPmN1 cnJlbnQ7CmRpZmYgLS1naXQgYS9zcmMvY29tbW9uL2NvbXBhdC9wb2xsLmggYi9zcmMvY29tbW9u L2NvbXBhdC9wb2xsLmgKaW5kZXggN2RjZTRlNmUuLjQ5ZDY2NDE0IDEwMDY0NAotLS0gYS9zcmMv Y29tbW9uL2NvbXBhdC9wb2xsLmgKKysrIGIvc3JjL2NvbW1vbi9jb21wYXQvcG9sbC5oCkBAIC0x MTEsNyArMTExLDcgQEAgc3RhdGljIGlubGluZSBpbnQgY29tcGF0X2dsaWJjX2Vwb2xsX2NyZWF0 ZShpbnQgc2l6ZSBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSwKIHN0YXRpYyBpbmxpbmUgaW50IGNv bXBhdF9nbGliY19lcG9sbF9jcmVhdGUoaW50IHNpemUsIGludCBmbGFncykKIHsKIAkvKgotCSAq IGVwb2xsX2NyZWF0ZTEgd2FzIGFkZGVkIGluIGdsaWJjIDIuOSwgYnV0IHVuZm9ydHVuYXRseSBy ZXZlcnRpbmcgdG8KKwkgKiBlcG9sbF9jcmVhdGUxIHdhcyBhZGRlZCBpbiBnbGliYyAyLjksIGJ1 dCB1bmZvcnR1bmF0ZWx5IHJldmVydGluZyB0bwogCSAqIGVwb2xsX2NyZWF0ZSguLikgYWxzbyBt ZWFucyB0aGF0IHdlIGxvc2UgdGhlIHBvc3NpYmlsaXR5IHRvCiAJICogZGlyZWN0bHkgc2V0IHRo ZSBFUE9MTF9DTE9FWEVDLCBzbyB0cnkgYW5kIGRvIGl0IGFueXdheSBidXQgdGhyb3VnaAogCSAq IGZjbnRsKC4uKS4KQEAgLTE4OSw3ICsxODksNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgbHR0bmdf cG9sbF9pbml0KHN0cnVjdCBsdHRuZ19wb2xsX2V2ZW50ICpldmVudHMpCiAKIC8qCiAgKiBDbGVh biB0aGUgZXZlbnRzIHN0cnVjdHVyZSBvZiBhIGx0dG5nX3BvbGxfZXZlbnQuIEl0J3MgdGhlIGNh bGxlcgotICogcmVzcG9uc2FiaWxpdHkgdG8gZnJlZSB0aGUgbHR0bmdfcG9sbF9ldmVudCBtZW1v cnkuCisgKiByZXNwb25zaWJpbGl0eSB0byBmcmVlIHRoZSBsdHRuZ19wb2xsX2V2ZW50IG1lbW9y eS4KICAqLwogc3RhdGljIGlubGluZSB2b2lkIGx0dG5nX3BvbGxfY2xlYW4oc3RydWN0IGx0dG5n X3BvbGxfZXZlbnQgKmV2ZW50cykKIHsKQEAgLTM2OCw3ICszNjgsNyBAQCBzdGF0aWMgaW5saW5l IHZvaWQgbHR0bmdfcG9sbF9pbml0KHN0cnVjdCBsdHRuZ19wb2xsX2V2ZW50ICpldmVudHMpCiAK IC8qCiAgKiBDbGVhbiB0aGUgZXZlbnRzIHN0cnVjdHVyZSBvZiBhIGx0dG5nX3BvbGxfZXZlbnQu IEl0J3MgdGhlIGNhbGxlcgotICogcmVzcG9uc2FiaWxpdHkgdG8gZnJlZSB0aGUgbHR0bmdfcG9s bF9ldmVudCBtZW1vcnkuCisgKiByZXNwb25zaWJpbGl0eSB0byBmcmVlIHRoZSBsdHRuZ19wb2xs X2V2ZW50IG1lbW9yeS4KICAqLwogc3RhdGljIGlubGluZSB2b2lkIGx0dG5nX3BvbGxfY2xlYW4o c3RydWN0IGx0dG5nX3BvbGxfZXZlbnQgKmV2ZW50cykKIHsKZGlmZiAtLWdpdCBhL3NyYy9jb21t b24vY29uZmlnL3Nlc3Npb24tY29uZmlnLmMgYi9zcmMvY29tbW9uL2NvbmZpZy9zZXNzaW9uLWNv bmZpZy5jCmluZGV4IDM3YzVjZTM4Li4zYzFhYWU3NyAxMDA2NDQKLS0tIGEvc3JjL2NvbW1vbi9j b25maWcvc2Vzc2lvbi1jb25maWcuYworKysgYi9zcmMvY29tbW9uL2NvbmZpZy9zZXNzaW9uLWNv bmZpZy5jCkBAIC04NDgsNyArODQ4LDcgQEAgaW50IHBhcnNlX2Jvb2woeG1sQ2hhciAqc3RyLCBp bnQgKnZhbCkKIAl9IGVsc2UgaWYgKCFzdHJjbXAoKGNvbnN0IGNoYXIgKikgc3RyLCBjb25maWdf eG1sX2ZhbHNlKSkgewogCQkqdmFsID0gMDsKIAl9IGVsc2UgewotCQlXQVJOKCJJbnZhbGlkIGJv b2xlYW4gdmFsdWUgZW5jb3V0ZXJlZCAoJXMpLiIsCisJCVdBUk4oIkludmFsaWQgYm9vbGVhbiB2 YWx1ZSBlbmNvdW50ZXJlZCAoJXMpLiIsCiAJCQkoY29uc3QgY2hhciAqKSBzdHIpOwogCQlyZXQg PSAtMTsKIAl9CmRpZmYgLS1naXQgYS9zcmMvY29tbW9uL2NvbnN1bWVyL2NvbnN1bWVyLXN0cmVh bS5jIGIvc3JjL2NvbW1vbi9jb25zdW1lci9jb25zdW1lci1zdHJlYW0uYwppbmRleCAxZTNiZmU3 OC4uMmVkOWJkZDIgMTAwNjQ0Ci0tLSBhL3NyYy9jb21tb24vY29uc3VtZXIvY29uc3VtZXItc3Ry ZWFtLmMKKysrIGIvc3JjL2NvbW1vbi9jb25zdW1lci9jb25zdW1lci1zdHJlYW0uYwpAQCAtMjIy LDcgKzIyMiw3IEBAIHN0YXRpYyBpbnQgY29uc3VtZXJfc3RyZWFtX3NlbmRfaW5kZXgoCiAJc3Ry dWN0IGN0Zl9wYWNrZXRfaW5kZXggaW5kZXggPSB7fTsKIAogCS8qCi0JICogVGhpcyBpcyBjYWxs ZWQgYWZ0ZXIgY29uc3VtaW5nIHRoZSBzdWItYnVmZmVyOyBzdWJzdHJhY3QgdGhlCisJICogVGhp cyBpcyBjYWxsZWQgYWZ0ZXIgY29uc3VtaW5nIHRoZSBzdWItYnVmZmVyOyBzdWJ0cmFjdCB0aGUK IAkgKiBlZmZlY3QgdGhpcyBzdWItYnVmZmVyIGZyb20gdGhlIG9mZnNldC4KIAkgKi8KIAlpZiAo c3RyZWFtLT5uZXRfc2VxX2lkeCA9PSAodWludDY0X3QpIC0xVUxMKSB7CkBAIC01MzYsNyArNTM2 LDcgQEAgZW51bSBjb25zdW1lcl9zdHJlYW1fb3Blbl9wYWNrZXRfc3RhdHVzIGNvbnN1bWVyX3N0 cmVhbV9vcGVuX3BhY2tldCgKIAogCS8qCiAJICogRGV0ZXJtaW5lIGlmIHRoZSBmbHVzaCBoYWQg YW4gZWZmZWN0IGJ5IGNvbXBhcmluZyB0aGUgcHJvZHVjZWQKLQkgKiBwb3NpdG9ucyBiZWZvcmUg YW5kIGFmdGVyIHRoZSBmbHVzaC4KKwkgKiBwb3NpdGlvbnMgYmVmb3JlIGFuZCBhZnRlciB0aGUg Zmx1c2guCiAJICovCiAJc3RhdHVzID0gcHJvZHVjZWRfcG9zX2JlZm9yZSAhPSBwcm9kdWNlZF9w b3NfYWZ0ZXIgPwogCQkJQ09OU1VNRVJfU1RSRUFNX09QRU5fUEFDS0VUX1NUQVRVU19PUEVORUQg OgpkaWZmIC0tZ2l0IGEvc3JjL2NvbW1vbi9jb25zdW1lci9jb25zdW1lci1zdHJlYW0uaCBiL3Ny Yy9jb21tb24vY29uc3VtZXIvY29uc3VtZXItc3RyZWFtLmgKaW5kZXggYzlhZjYzY2QuLmUxZDUx NWU0IDEwMDY0NAotLS0gYS9zcmMvY29tbW9uL2NvbnN1bWVyL2NvbnN1bWVyLXN0cmVhbS5oCisr KyBiL3NyYy9jb21tb24vY29uc3VtZXIvY29uc3VtZXItc3RyZWFtLmgKQEAgLTExMCw3ICsxMTAs NyBAQCBpbnQgY29uc3VtZXJfc3RyZWFtX3JvdGF0ZV9vdXRwdXRfZmlsZXMoc3RydWN0IGx0dG5n X2NvbnN1bWVyX3N0cmVhbSAqc3RyZWFtKTsKIAogLyoKICAqIEluZGljYXRlcyB3aGV0aGVyIG9y IG5vdCBhIHN0cmVhbSBpcyBsb2dpY2FsbHkgZGVsZXRlZC4gQSBkZWxldGVkIHN0cmVhbQotICog c2hvdWxkIG5vIGxvbmdlciBiZSB1c2VkOyBpdHMgZXhpc3RlbmNlIGlzIG9ubHkgZ2FyYW50ZWVk IGJ5IHRoZSBSQ1UgbG9jaworICogc2hvdWxkIG5vIGxvbmdlciBiZSB1c2VkOyBpdHMgZXhpc3Rl bmNlIGlzIG9ubHkgZ3VhcmFudGVlZCBieSB0aGUgUkNVIGxvY2sKICAqIGhlbGQgYnkgdGhlIGNh bGxlci4KICAqCiAgKiBUaGlzIGZ1bmN0aW9uIG11c3QgYmUgY2FsbGVkIHdpdGggdGhlIFJDVSBy ZWFkIHNpZGUgbG9jayBoZWxkLgpkaWZmIC0tZ2l0IGEvc3JjL2NvbW1vbi9jb25zdW1lci9jb25z dW1lci5jIGIvc3JjL2NvbW1vbi9jb25zdW1lci9jb25zdW1lci5jCmluZGV4IDIzODUzZTVjLi5i NGU2ZTVjZCAxMDA2NDQKLS0tIGEvc3JjL2NvbW1vbi9jb25zdW1lci9jb25zdW1lci5jCisrKyBi L3NyYy9jb21tb24vY29uc3VtZXIvY29uc3VtZXIuYwpAQCAtNTIxLDcgKzUyMSw3IEBAIHZvaWQg bHR0bmdfY29uc3VtZXJfY2xlYW51cF9yZWxheWQoc3RydWN0IGNvbnN1bWVyX3JlbGF5ZF9zb2Nr X3BhaXIgKnJlbGF5ZCkKICAqIEZsYWcgYSByZWxheWQgc29ja2V0IHBhaXIgZm9yIGRlc3RydWN0 aW9uLiBEZXN0cm95IGl0IGlmIHRoZSByZWZjb3VudAogICogcmVhY2hlcyB6ZXJvLgogICoKLSAq IFJDVSByZWFkIHNpZGUgbG9jayBNVVNUIGJlIGFxdWlyZWQgYmVmb3JlIGNhbGxpbmcgdGhpcyBm dW5jdGlvbi4KKyAqIFJDVSByZWFkIHNpZGUgbG9jayBNVVNUIGJlIGFjcXVpcmVkIGJlZm9yZSBj YWxsaW5nIHRoaXMgZnVuY3Rpb24uCiAgKi8KIHZvaWQgY29uc3VtZXJfZmxhZ19yZWxheWRfZm9y X2Rlc3Ryb3koc3RydWN0IGNvbnN1bWVyX3JlbGF5ZF9zb2NrX3BhaXIgKnJlbGF5ZCkKIHsKQEAg LTUzNyw3ICs1MzcsNyBAQCB2b2lkIGNvbnN1bWVyX2ZsYWdfcmVsYXlkX2Zvcl9kZXN0cm95KHN0 cnVjdCBjb25zdW1lcl9yZWxheWRfc29ja19wYWlyICpyZWxheWQpCiB9CiAKIC8qCi0gKiBDb21w bGV0bHkgZGVzdHJveSBzdHJlYW0gZnJvbSBldmVyeSB2aXNpYWJsZSBkYXRhIHN0cnVjdHVyZSBh bmQgdGhlIGdpdmVuCisgKiBDb21wbGV0ZWx5IGRlc3Ryb3kgc3RyZWFtIGZyb20gZXZlcnkgdmlz aWJsZSBkYXRhIHN0cnVjdHVyZSBhbmQgdGhlIGdpdmVuCiAgKiBoYXNoIHRhYmxlIGlmIG9uZS4K ICAqCiAgKiBPbmUgdGhpcyBjYWxsIHJldHVybnMsIHRoZSBzdHJlYW0gb2JqZWN0IGlzIG5vdCBs b25nZXIgdXNhYmxlIG5vciB2aXNpYmxlLgpAQCAtODU1LDcgKzg1NSw3IEBAIHN0YXRpYyBpbnQg d3JpdGVfcmVsYXlkX3N0cmVhbV9oZWFkZXIoc3RydWN0IGx0dG5nX2NvbnN1bWVyX3N0cmVhbSAq c3RyZWFtLAogCQkgKiBOb3RlIHRoYXQgbmV0X3NlcV9udW0gYmVsb3cgaXMgYXNzaWduZWQgd2l0 aCB0aGUgKmN1cnJlbnQqIHZhbHVlIG9mCiAJCSAqIG5leHRfbmV0X3NlcV9udW0gYW5kIG9ubHkg YWZ0ZXIgdGhhdCB0aGUgbmV4dF9uZXRfc2VxX251bSB3aWxsIGJlCiAJCSAqIGluY3JlbWVudC4g VGhpcyBpcyB3aHkgd2hlbiBpc3N1aW5nIGEgY29tbWFuZCBvbiB0aGUgcmVsYXlkIHVzaW5nCi0J CSAqIHRoaXMgbmV4dCB2YWx1ZSwgMSBzaG91bGQgYWx3YXlzIGJlIHN1YnN0cmFjdGVkIGluIG9y ZGVyIHRvIGNvbXBhcmUKKwkJICogdGhpcyBuZXh0IHZhbHVlLCAxIHNob3VsZCBhbHdheXMgYmUg c3VidHJhY3RlZCBpbiBvcmRlciB0byBjb21wYXJlCiAJCSAqIHRoZSBsYXN0IHNlZW4gc2VxdWVu Y2UgbnVtYmVyIG9uIHRoZSByZWxheWQgc2lkZSB0byB0aGUgbGFzdCBzZW50LgogCQkgKi8KIAkJ ZGF0YV9oZHIubmV0X3NlcV9udW0gPSBodG9iZTY0KHN0cmVhbS0+bmV4dF9uZXRfc2VxX251bSk7 CkBAIC04NzgsNyArODc4LDcgQEAgZXJyb3I6CiB9CiAKIC8qCi0gKiBUcmlnZ2VyIGEgZHVtcCBv ZiB0aGUgbWV0YWRhdGEgY29udGVudC4gRm9sbG93aW5nL2R1cmluZyB0aGUgc3VjY2VzZnVsCisg KiBUcmlnZ2VyIGEgZHVtcCBvZiB0aGUgbWV0YWRhdGEgY29udGVudC4gRm9sbG93aW5nL2R1cmlu ZyB0aGUgc3VjY2Vzc2Z1bAogICogY29tcGxldGlvbiBvZiB0aGlzIGNhbGwsIHRoZSBtZXRhZGF0 YSBwb2xsIHRocmVhZCB3aWxsIHN0YXJ0IHJlY2VpdmluZwogICogbWV0YWRhdGEgcGFja2V0cyB0 byBjb25zdW1lLgogICoKQEAgLTEzNjAsNyArMTM2MCw3IEBAIHZvaWQgbHR0bmdfY29uc3VtZXJf c3luY190cmFjZV9maWxlKHN0cnVjdCBsdHRuZ19jb25zdW1lcl9zdHJlYW0gKnN0cmVhbSwKIH0K IAogLyoKLSAqIEluaXRpYWxpc2UgdGhlIG5lY2Vzc2FyeSBlbnZpcm9ubmVtZW50IDoKKyAqIElu aXRpYWxpc2UgdGhlIG5lY2Vzc2FyeSBlbnZpcm9ubWVudCA6CiAgKiAtIGNyZWF0ZSBhIG5ldyBj b250ZXh0CiAgKiAtIGNyZWF0ZSB0aGUgcG9sbF9waXBlCiAgKiAtIGNyZWF0ZSB0aGUgc2hvdWxk X3F1aXQgcGlwZSAoZm9yIHNpZ25hbCBoYW5kbGVyKQpAQCAtMTU1OCw3ICsxNTU4LDcgQEAgc3Rh dGljIGludCB3cml0ZV9yZWxheWRfbWV0YWRhdGFfaWQoaW50IGZkLAogCQlEQkczKCJDb25zdW1l ciBmYWlsZWQgdG8gd3JpdGUgcmVsYXlkIG1ldGFkYXRhIGlkIChlcnJubzogJWQpIiwgZXJybm8p OwogCQkvKgogCQkgKiBTZXQgcmV0IHRvIGEgbmVnYXRpdmUgdmFsdWUgYmVjYXVzZSBpZiByZXQg IT0gc2l6ZW9mKGhkciksIHdlIGRvbid0Ci0JCSAqIGhhbmRsZSB3cml0dGluZyB0aGUgbWlzc2lu ZyBwYXJ0IHNvIHJlcG9ydCB0aGF0IGFzIGFuIGVycm9yIGFuZAorCQkgKiBoYW5kbGUgd3JpdGlu ZyB0aGUgbWlzc2luZyBwYXJ0IHNvIHJlcG9ydCB0aGF0IGFzIGFuIGVycm9yIGFuZAogCQkgKiBk b24ndCBsaWUgdG8gdGhlIGNhbGxlci4KIAkJICovCiAJCXJldCA9IC0xOwpAQCAtMTkwMCw3ICsx OTAwLDcgQEAgc3NpemVfdCBsdHRuZ19jb25zdW1lcl9vbl9yZWFkX3N1YmJ1ZmZlcl9zcGxpY2Uo CiAJCX0gZWxzZSBpZiAocmV0X3NwbGljZSA+IGxlbikgewogCQkJLyoKIAkJCSAqIFdlIGRvbid0 IGV4cGVjdCB0aGlzIGNvZGUgcGF0aCB0byBiZSBleGVjdXRlZCBidXQgeW91IG5ldmVyIGtub3cK LQkJCSAqIHNvIHRoaXMgaXMgYW4gZXh0cmEgcHJvdGVjdGlvbiBhZ2FpbnMgYSBidWdneSBzcGxp Y2UoKS4KKwkJCSAqIHNvIHRoaXMgaXMgYW4gZXh0cmEgcHJvdGVjdGlvbiBhZ2FpbnN0IGEgYnVn Z3kgc3BsaWNlKCkuCiAJCQkgKi8KIAkJCXJldCA9IGVycm5vOwogCQkJd3JpdHRlbiArPSByZXRf c3BsaWNlOwpAQCAtNDE4OCwxMyArNDE4OCwxMyBAQCBpbnQgbHR0bmdfY29uc3VtZXJfcm90YXRl X2NoYW5uZWwoc3RydWN0IGx0dG5nX2NvbnN1bWVyX2NoYW5uZWwgKmNoYW5uZWwsCiAJCQkgKiBy b3RhdGlvbiBwb2ludCBhcyBwb3NzaWJsZS4gSW4gdGhlIGV2ZW50IHdoZXJlIGEKIAkJCSAqIHN0 cmVhbSByZW1haW5zIGluYWN0aXZlIGFmdGVyIHRoZSByb3RhdGlvbiBwb2ludCwKIAkJCSAqIHRo aXMgZW5zdXJlcyB0aGF0IHRoZSBuZXcgdHJhY2UgY2h1bmsgaGFzIGEKLQkJCSAqIGJlZ2lubmlu ZyB0aW1lc3RhbXAgc2V0IGF0IHRoZSBiZWdpbmluZyBvZiB0aGUKKwkJCSAqIGJlZ2lubmluZyB0 aW1lc3RhbXAgc2V0IGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlCiAJCQkgKiB0cmFjZSBjaHVuayBp bnN0ZWFkIG9mIG9ubHkgY3JlYXRpbmcgYW4gZW1wdHkKIAkJCSAqIHBhY2tldCB3aGVuIHRoZSB0 cmFjZSBjaHVuayBpcyBzdG9wcGVkLgogCQkJICoKIAkJCSAqIFRoaXMgaW5kaWNhdGVzIHRvIHRo ZSB2aWV3ZXJzIHRoYXQgdGhlIHN0cmVhbQogCQkJICogd2FzIGJlaW5nIHJlY29yZGVkLCBidXQg bW9yZSBpbXBvcnRhbnRseSBpdAotCQkJICogYWxsb3dzIHZpZXdlcnMgdG8gZGV0ZXJtaW5lIGEg dXNlYWJsZSB0cmFjZQorCQkJICogYWxsb3dzIHZpZXdlcnMgdG8gZGV0ZXJtaW5lIGEgdXNhYmxl IHRyYWNlCiAJCQkgKiBpbnRlcnNlY3Rpb24uCiAJCQkgKgogCQkJICogVGhpcyBwcmVzZW50cyBh IHByb2JsZW0gaW4gdGhlIGNhc2Ugd2hlcmUgdGhlCkBAIC00MjE1LDcgKzQyMTUsNyBAQCBpbnQg bHR0bmdfY29uc3VtZXJfcm90YXRlX2NoYW5uZWwoc3RydWN0IGx0dG5nX2NvbnN1bWVyX2NoYW5u ZWwgKmNoYW5uZWwsCiAJCQkgKiAgICAgcHJvZHVjZWQJaW4gdGhpcyBzdHJlYW0ncyBidWZmZXJz LgogCQkJICoKIAkJCSAqIFRoZSByZXN1bHRpbmcgdHJhY2UgY2h1bmsgd2lsbCBoYXZlIGEgc2lu Z2xlIHBhY2tldAotCQkJICogdGVtcG9yYWx5IGF0IHRoZSBlbmQgb2YgdGhlIHRyYWNlIGNodW5r IGZvciB0aGlzCisJCQkgKiB0ZW1wb3JhcmlseSBhdCB0aGUgZW5kIG9mIHRoZSB0cmFjZSBjaHVu ayBmb3IgdGhpcwogCQkJICogc3RyZWFtIG1ha2luZyB0aGUgc3RyZWFtIGludGVyc2VjdGlvbiBt b3JlIG5hcnJvdwogCQkJICogdGhhbiBpdCBzaG91bGQgYmUuCiAJCQkgKgpkaWZmIC0tZ2l0IGEv c3JjL2NvbW1vbi9jb25zdW1lci9jb25zdW1lci5oIGIvc3JjL2NvbW1vbi9jb25zdW1lci9jb25z dW1lci5oCmluZGV4IGI0NWY4OGI3Li4wNTMwYmNkYSAxMDA2NDQKLS0tIGEvc3JjL2NvbW1vbi9j b25zdW1lci9jb25zdW1lci5oCisrKyBiL3NyYy9jb21tb24vY29uc3VtZXIvY29uc3VtZXIuaApA QCAtNjc3LDcgKzY3Nyw3IEBAIHN0cnVjdCBjb25zdW1lcl9yZWxheWRfc29ja19wYWlyIHsKIAog CS8qCiAJICogV2UgZG9uJ3QgbmVlZCBhIG11dGV4IGF0IHRoaXMgcG9pbnQgc2luY2Ugd2Ugb25s eSBzcGxpY2Ugb3Igd3JpdGUgc2luZ2xlCi0JICogbGFyZ2UgY2h1bmsgb2YgZGF0YSB3aXRoIGEg aGVhZGVyIGFwcGVuZGVkIGF0IHRoZSBiZWdpbmluZy4gTW9yZW92ZXIsCisJICogbGFyZ2UgY2h1 bmsgb2YgZGF0YSB3aXRoIGEgaGVhZGVyIGFwcGVuZGVkIGF0IHRoZSBiZWdpbm5pbmcuIE1vcmVv dmVyLAogCSAqIHRoaXMgc29ja2V0IGlzIGZvciBub3cgb25seSB1c2VkIGluIGEgc2luZ2xlIHRo cmVhZC4KIAkgKi8KIAlzdHJ1Y3QgbHR0Y29tbV9yZWxheWRfc29jayBkYXRhX3NvY2s7CmRpZmYg LS1naXQgYS9zcmMvY29tbW9uL2NvbnN1bWVyL21ldGFkYXRhLWJ1Y2tldC5jIGIvc3JjL2NvbW1v bi9jb25zdW1lci9tZXRhZGF0YS1idWNrZXQuYwppbmRleCAxZWU1MDIyZS4uYjcyOTU4ODggMTAw NjQ0Ci0tLSBhL3NyYy9jb21tb24vY29uc3VtZXIvbWV0YWRhdGEtYnVja2V0LmMKKysrIGIvc3Jj L2NvbW1vbi9jb25zdW1lci9tZXRhZGF0YS1idWNrZXQuYwpAQCAtODMsNyArODMsNyBAQCBlbnVt IG1ldGFkYXRhX2J1Y2tldF9zdGF0dXMgbWV0YWRhdGFfYnVja2V0X2ZpbGwoc3RydWN0IG1ldGFk YXRhX2J1Y2tldCAqYnVja2V0LAogCQkJYnVmZmVyLT5pbmZvLm1ldGFkYXRhLmNvaGVyZW50LnZh bHVlID8gInRydWUiIDogImZhbHNlIik7CiAJLyoKIAkgKiBJZiBubyBtZXRhZGF0YSB3YXMgYWNj dW11bGF0ZWQgYW5kIHRoaXMgYnVmZmVyIHNob3VsZCBiZQotCSAqIGZsdXNoZWQsIGRvbid0IGNv cHkgaXQgdW5lY2Vzc2FyaWx5OyBqdXN0IGZsdXNoIGl0IGRpcmVjdGx5LgorCSAqIGZsdXNoZWQs IGRvbid0IGNvcHkgaXQgdW5uZWNlc3NhcmlseTsganVzdCBmbHVzaCBpdCBkaXJlY3RseS4KIAkg Ki8KIAlpZiAoIXNob3VsZF9mbHVzaCB8fCBidWNrZXQtPmJ1ZmZlcl9jb3VudCAhPSAwKSB7CiAJ CS8qCmRpZmYgLS1naXQgYS9zcmMvY29tbW9uL2RlZmF1bHRzLmggYi9zcmMvY29tbW9uL2RlZmF1 bHRzLmgKaW5kZXggMWU0YjdmYWMuLjE4NzI2YjQ4IDEwMDY0NAotLS0gYS9zcmMvY29tbW9uL2Rl ZmF1bHRzLmgKKysrIGIvc3JjL2NvbW1vbi9kZWZhdWx0cy5oCkBAIC05MSw3ICs5MSw3IEBACiAg KiB3aGVuIHF1ZXJ5aW5nIHRoZSB1c2VyJ3MgZ3JvdXAuIE90aGVyIGNhbGxzIGFsc28gcHJvYmFi bHkgbWFrZSB1c2Ugb2YKICAqIHNob3J0LWxpdmVkIEZEcy4KICAqCi0gKiBUaGUgdGhlb3JpdGlj YWwgbWF4aW1hbCByZXNlcnZlIGNvcnJlc3BvbmRzIHRvIHRoZSBudW1iZXIgb2YgdGhyZWFkcyBh cywKKyAqIFRoZSB0aGVvcmV0aWNhbCBtYXhpbWFsIHJlc2VydmUgY29ycmVzcG9uZHMgdG8gdGhl IG51bWJlciBvZiB0aHJlYWRzIGFzLAogICogaW4gdGhlIHdvcnN0IGNhc2UsIHRoZXkgY291bGQg YWxsIGJlIG1ha2luZyBzdWNoIGNhbGxzLgogICoKICAqIFRoaXMgdmFsdWUgbXVzdCBiZSBsZXNz IHRoYW4gREVGQVVMVF9SRUxBWURfTUlOX0ZEX1BPT0xfU0laRS4KQEAgLTE3Miw3ICsxNzIsNyBA QAogI2RlZmluZSBERUZBVUxUX1BPTExfU0laRSA2NTUzNQogCiAvKgotICogRm9ybWF0IGlzICVz XyVkIHJlc3BlY3RpdmVseSBjaGFubmVsIG5hbWUgYW5kIENQVSBudW1iZXIuIEVpZ3RoIGJ5dGVz CisgKiBGb3JtYXQgaXMgJXNfJWQgcmVzcGVjdGl2ZWx5IGNoYW5uZWwgbmFtZSBhbmQgQ1BVIG51 bWJlci4gRWlnaHQgYnl0ZXMKICAqIGFyZSBhZGRlZCBoZXJlIHRvIGFkZCBzcGFjZSBmb3IgdGhl IENQVSBudW1iZXIuIEkgZ3Vlc3MgMl44IENQVXMgaXMgbW9yZQogICogdGhhbiBlbm91Z2guIFdl IG1pZ2h0IGVuZCB1cCB3aXRoIHF1YW50dW0gY29tcHV0aW5nIGluIGEgY2VsbCBwaG9uZSB3aGVu CiAgKiByZWFjaGluZyB0aGlzIGxpbWl0LgpkaWZmIC0tZ2l0IGEvc3JjL2NvbW1vbi9keW5hbWlj LWFycmF5LmggYi9zcmMvY29tbW9uL2R5bmFtaWMtYXJyYXkuaAppbmRleCAwYjQ4OGEzOS4uZTdm NWZiNGYgMTAwNjQ0Ci0tLSBhL3NyYy9jb21tb24vZHluYW1pYy1hcnJheS5oCisrKyBiL3NyYy9j b21tb24vZHluYW1pYy1hcnJheS5oCkBAIC02OCw3ICs2OCw3IEBAIHZvaWQgKmx0dG5nX2R5bmFt aWNfYXJyYXlfZ2V0X2VsZW1lbnQoY29uc3Qgc3RydWN0IGx0dG5nX2R5bmFtaWNfYXJyYXkgKmFy cmF5LAogICogc2Vuc2l0aXR2ZSBpbmZvcm1hdGlvbiwgaXQgbXVzdCBiZSBjbGVhcmVkIG1hbnVh bGx5IF9iZWZvcmVfIGNoYW5naW5nIHRoZQogICogc2l6ZS4KICAqCi0gKiBOT1RFOiBJdCBpcyBz dHJpY2x0eSBfaW52YWxpZF8gdG8gYWNjZXNzIG1lbW9yeSBhZnRlciBfc2l6ZV8sIHJlZ2FyZGxl c3MKKyAqIE5PVEU6IEl0IGlzIHN0cmljdGx5IF9pbnZhbGlkXyB0byBhY2Nlc3MgbWVtb3J5IGFm dGVyIF9zaXplXywgcmVnYXJkbGVzcwogICogICAgICAgb2YgcHJpb3IgY2FsbHMgdG8gc2V0X2Nh cGFjaXR5KCkuCiAgKi8KIExUVE5HX0hJRERFTgpkaWZmIC0tZ2l0IGEvc3JjL2NvbW1vbi9keW5h bWljLWJ1ZmZlci5oIGIvc3JjL2NvbW1vbi9keW5hbWljLWJ1ZmZlci5oCmluZGV4IDM0MzVjODQ2 Li5jM2E3YjdhZCAxMDA2NDQKLS0tIGEvc3JjL2NvbW1vbi9keW5hbWljLWJ1ZmZlci5oCisrKyBi L3NyYy9jb21tb24vZHluYW1pYy1idWZmZXIuaApAQCAtNzIsNyArNzIsNyBAQCBpbnQgbHR0bmdf ZHluYW1pY19idWZmZXJfYXBwZW5kX3ZpZXcoc3RydWN0IGx0dG5nX2R5bmFtaWNfYnVmZmVyICpi dWZmZXIsCiAgKiBzZW5zaXRpdHZlIGluZm9ybWF0aW9uLCBpdCBtdXN0IGJlIGNsZWFyZWQgbWFu dWFsbHkgX2JlZm9yZV8gY2hhbmdpbmcgdGhlCiAgKiBzaXplLgogICoKLSAqIE5PVEU6IEl0IGlz IHN0cmljbHR5IF9pbnZhbGlkXyB0byBhY2Nlc3MgbWVtb3J5IGFmdGVyIF9zaXplXywgcmVnYXJk bGVzcworICogTk9URTogSXQgaXMgc3RyaWN0bHkgX2ludmFsaWRfIHRvIGFjY2VzcyBtZW1vcnkg YWZ0ZXIgX3NpemVfLCByZWdhcmRsZXNzCiAgKiAgICAgICBvZiBwcmlvciBjYWxscyB0byBzZXRf Y2FwYWNpdHkoKS4KICAqLwogTFRUTkdfSElEREVOCmRpZmYgLS1naXQgYS9zcmMvY29tbW9uL2Zk LXRyYWNrZXIvZmQtdHJhY2tlci5jIGIvc3JjL2NvbW1vbi9mZC10cmFja2VyL2ZkLXRyYWNrZXIu YwppbmRleCA3NzJiZjA0Yi4uYmU2NTBkMWEgMTAwNjQ0Ci0tLSBhL3NyYy9jb21tb24vZmQtdHJh Y2tlci9mZC10cmFja2VyLmMKKysrIGIvc3JjL2NvbW1vbi9mZC10cmFja2VyL2ZkLXRyYWNrZXIu YwpAQCAtMzQ1LDcgKzM0NSw3IEBAIHN0YXRpYyBpbnQgb3Blbl9mcm9tX3Byb3BlcnRpZXMoY29u c3Qgc3RydWN0IGx0dG5nX2RpcmVjdG9yeV9oYW5kbGUgKmRpcl9oYW5kbGUsCiAJICogU29tZSBm bGFncyBzaG91bGQgbm90IGJlIHVzZWQgYmV5b25kIHRoZSBpbml0aWFsIG9wZW4oKSBvZiBhCiAJ ICogcmVzdG9yYWJsZSBmaWxlIHN5c3RlbSBoYW5kbGUuIE9fQ1JFQVQgYW5kIE9fVFJVTkMgbXVz dAogCSAqIGJlIGNsZWFyZWQgc2luY2UgaXQgd291bGQgYmUgdW5leHBlY3RlZCB0byByZS11c2Ug dGhlbQotCSAqIHdoZW4gdGhlIGhhbmRsZSBpcyByZXRvcmVkOgorCSAqIHdoZW4gdGhlIGhhbmRs ZSBpcyByZXN0b3JlZDoKIAkgKiAgLSBPX0NSRUFUIHNob3VsZCBub3QgYmUgbmVlZGVkIGFzIHRo ZSBmaWxlIGhhcyBiZWVuIGNyZWF0ZWQKIAkgKiAgICBvbiB0aGUgaW5pdGlhbCBjYWxsIHRvIG9w ZW4oKSwKIAkgKiAgLSBPX1RSVU5DIHdvdWxkIGRlc3Ryb3kgdGhlIGZpbGUncyBjb250ZW50cyBi eSB0cnVuY2F0aW5nIGl0CmRpZmYgLS1naXQgYS9zcmMvY29tbW9uL2ZkLXRyYWNrZXIvZmQtdHJh Y2tlci5oIGIvc3JjL2NvbW1vbi9mZC10cmFja2VyL2ZkLXRyYWNrZXIuaAppbmRleCAzNDhhYzU5 Ni4uMjZkYmI2ZTEgMTAwNjQ0Ci0tLSBhL3NyYy9jb21tb24vZmQtdHJhY2tlci9mZC10cmFja2Vy LmgKKysrIGIvc3JjL2NvbW1vbi9mZC10cmFja2VyL2ZkLXRyYWNrZXIuaApAQCAtNzUsNyArNzUs NyBAQCBpbnQgZmRfdHJhY2tlcl9kZXN0cm95KHN0cnVjdCBmZF90cmFja2VyICp0cmFja2VyKTsK ICAqCiAgKiBOb3RlIHRoYXQgYSBzdXNwZW5kYWJsZSBmaWxlIGRlc2NyaXB0b3IgY2FuIGJlIGNs b3NlZCBieSB0aGUgZmQgdHJhY2tlciBhdAogICogYW55dGltZSB3aGVuIGl0IGlzIG5vdCBpbiB1 c2UuIFRoaXMgbWVhbnMgdGhhdCB0aGUgdXNlciBzaG91bGQgbm90IHJlbHkgb24gaXQKLSAqIGJl aW5nIHNhZmUgdG8gdW5saW5rIHRoZSBmaWxlLiBNb3Jlb3ZlciwgY29uY3VyZW50IG1vZGlmaWNh dGlvbnMgdG8gdGhlIGZpbGUKKyAqIGJlaW5nIHNhZmUgdG8gdW5saW5rIHRoZSBmaWxlLiBNb3Jl b3ZlciwgY29uY3VycmVudCBtb2RpZmljYXRpb25zIHRvIHRoZSBmaWxlCiAgKiAoZS5nLiB0cnVu Y2F0aW9uKSBtYXkgcmVhY3QgZGlmZmVyZW50bHkgdGhhbiBpZiB0aGUgZmlsZSBkZXNjcmlwdG9y IHdhcyBrZXB0CiAgKiBvcGVuLgogICovCmRpZmYgLS1naXQgYS9zcmMvY29tbW9uL2ZkLXRyYWNr ZXIvaW5vZGUuaCBiL3NyYy9jb21tb24vZmQtdHJhY2tlci9pbm9kZS5oCmluZGV4IDY3ZTYzZWNh Li43MjVkYjlkYSAxMDA2NDQKLS0tIGEvc3JjL2NvbW1vbi9mZC10cmFja2VyL2lub2RlLmgKKysr IGIvc3JjL2NvbW1vbi9mZC10cmFja2VyL2lub2RlLmgKQEAgLTE5LDcgKzE5LDcgQEAgc3RydWN0 IGx0dG5nX2RpcmVjdG9yeV9oYW5kbGU7CiAvKgogICogVGhlIHVubGlua2VkIGZpbGUgcG9vbCBp cyBwcm90ZWN0ZWQgYnkgdGhlIGZkLXRyYWNrZXIncyBsb2NrLgogICoKLSAqIE5PVEU6IHRoZSB1 bmxpbmtlZCBmaWxlIHBvb2wgY2FuIHVzZSBhIHNpbmdsZSBmaWxlIGRlc3JpcHRvciB3aGVuIHVu bGlua2VkCisgKiBOT1RFOiB0aGUgdW5saW5rZWQgZmlsZSBwb29sIGNhbiB1c2UgYSBzaW5nbGUg ZmlsZSBkZXNjcmlwdG9yIHdoZW4gdW5saW5rZWQKICAqIGZpbGVzIGFyZSBwcmVzZW50IGluIHRo ZSBwb29sLiBUaGlzIGZpbGUgZGVzY3JpcHRvciBpcyBub3QgYWNjb3VudGVkLWZvcgogICogYnkg dGhlIGZkLXRyYWNrZXIuIFVzZXJzIG9mIHRoZSBmZC10cmFja2VyIHNob3VsZCBhY2NvdW50IGZv ciB0aGlzIGV4dHJhCiAgKiBmaWxlIGRlc2NyaXB0b3IuCmRpZmYgLS1naXQgYS9zcmMvY29tbW9u L2hhc2h0YWJsZS91dGlscy5jIGIvc3JjL2NvbW1vbi9oYXNodGFibGUvdXRpbHMuYwppbmRleCAy ZDAyN2JhZS4uYmU2MzgyZjcgMTAwNjQ0Ci0tLSBhL3NyYy9jb21tb24vaGFzaHRhYmxlL3V0aWxz LmMKKysrIGIvc3JjL2NvbW1vbi9oYXNodGFibGUvdXRpbHMuYwpAQCAtMjk3LDcgKzI5Nyw3IEBA IHN0YXRpYyB1aW50MzJfdCBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSBoYXNobGl0dGxlKGNvbnN0 IHZvaWQgKmtleSwKIAkJICogcmVzdCBvZiB0aGUgc3RyaW5nLiAgRXZlcnkgbWFjaGluZSB3aXRo IG1lbW9yeSBwcm90ZWN0aW9uIEkndmUgc2VlbgogCQkgKiBkb2VzIGl0IG9uIHdvcmQgYm91bmRh cmllcywgc28gaXMgT0sgd2l0aCB0aGlzLiAgQnV0IFZBTEdSSU5EIHdpbGwKIAkJICogc3RpbGwg Y2F0Y2ggaXQgYW5kIGNvbXBsYWluLiAgVGhlIG1hc2tpbmcgdHJpY2sgZG9lcyBtYWtlIHRoZSBo YXNoCi0JCSAqIG5vdGljYWJseSBmYXN0ZXIgZm9yIHNob3J0IHN0cmluZ3MgKGxpa2UgRW5nbGlz aCB3b3JkcykuCisJCSAqIG5vdGljZWFibHkgZmFzdGVyIGZvciBzaG9ydCBzdHJpbmdzIChsaWtl IEVuZ2xpc2ggd29yZHMpLgogCQkgKi8KICNpZm5kZWYgVkFMR1JJTkQKIApkaWZmIC0tZ2l0IGEv c3JjL2NvbW1vbi9oZWFsdGgvaGVhbHRoLmMgYi9zcmMvY29tbW9uL2hlYWx0aC9oZWFsdGguYwpp bmRleCA2MmUyMTE0MS4uYmYwYmNiY2IgMTAwNjQ0Ci0tLSBhL3NyYy9jb21tb24vaGVhbHRoL2hl YWx0aC5jCisrKyBiL3NyYy9jb21tb24vaGVhbHRoL2hlYWx0aC5jCkBAIC00Nyw3ICs0Nyw3IEBA IHN0cnVjdCBoZWFsdGhfYXBwIHsKIERFRklORV9VUkNVX1RMUyhzdHJ1Y3QgaGVhbHRoX3N0YXRl LCBoZWFsdGhfc3RhdGUpOwogCiAvKgotICogSW5pdGlhbGl6ZSBoZWFsdGggY2hlY2sgc3Vic3l0 ZW0uCisgKiBJbml0aWFsaXplIGhlYWx0aCBjaGVjayBzdWJzeXN0ZW0uCiAgKi8KIHN0YXRpYwog dm9pZCBoZWFsdGhfaW5pdChzdHJ1Y3QgaGVhbHRoX2FwcCAqaGEpCmRpZmYgLS1naXQgYS9zcmMv Y29tbW9uL2tlcm5lbC1jb25zdW1lci9rZXJuZWwtY29uc3VtZXIuYyBiL3NyYy9jb21tb24va2Vy bmVsLWNvbnN1bWVyL2tlcm5lbC1jb25zdW1lci5jCmluZGV4IGI5ZDg0MzcxLi40NTMxYmQzMyAx MDA2NDQKLS0tIGEvc3JjL2NvbW1vbi9rZXJuZWwtY29uc3VtZXIva2VybmVsLWNvbnN1bWVyLmMK KysrIGIvc3JjL2NvbW1vbi9rZXJuZWwtY29uc3VtZXIva2VybmVsLWNvbnN1bWVyLmMKQEAgLTEy MjcsNyArMTIyNyw3IEBAIGVycm9yX3JvdGF0ZV9jaGFubmVsOgogCQlpZiAoaXNfbG9jYWxfdHJh Y2UpIHsKIAkJCWludCBjaHVua19kaXJmZDsKIAotCQkJLyogQWNub3dsZWRnZSB0aGUgcmVjZXB0 aW9uIG9mIHRoZSBjb21tYW5kLiAqLworCQkJLyogQWNrbm93bGVkZ2UgdGhlIHJlY2VwdGlvbiBv ZiB0aGUgY29tbWFuZC4gKi8KIAkJCXJldCA9IGNvbnN1bWVyX3NlbmRfc3RhdHVzX21zZyhzb2Nr LAogCQkJCQlMVFRDT01NX0NPTlNVTUVSRF9TVUNDRVNTKTsKIAkJCWlmIChyZXQgPCAwKSB7CmRp ZmYgLS1naXQgYS9zcmMvY29tbW9uL2tlcm5lbC1jdGwva2VybmVsLWlvY3RsLmggYi9zcmMvY29t bW9uL2tlcm5lbC1jdGwva2VybmVsLWlvY3RsLmgKaW5kZXggZWQ2NTU1ZTEuLjcwOTY5ZTkyIDEw MDY0NAotLS0gYS9zcmMvY29tbW9uL2tlcm5lbC1jdGwva2VybmVsLWlvY3RsLmgKKysrIGIvc3Jj L2NvbW1vbi9rZXJuZWwtY3RsL2tlcm5lbC1pb2N0bC5oCkBAIC0xMDcsNyArMTA3LDcgQEAKICNk ZWZpbmUgTFRUTkdfS0VSTkVMX09MRF9ESVNBQkxFICAgICAgICAgICAgICAgIF9JTygweEY2LCAw eDgxKQogCiAKLS8qIEN1cnJlbnQgQUJJICh3aXRoIHN1cG9ydCBmb3IgMzIvNjQgYml0cyBjb21w YXQpICovCisvKiBDdXJyZW50IEFCSSAod2l0aCBzdXBwb3J0IGZvciAzMi82NCBiaXRzIGNvbXBh dCkgKi8KIC8qIExUVG5nIGZpbGUgZGVzY3JpcHRvciBpb2N0bCAqLwogI2RlZmluZSBMVFROR19L RVJORUxfU0VTU0lPTgkJCV9JTygweEY2LCAweDQ1KQogI2RlZmluZSBMVFROR19LRVJORUxfVFJB Q0VSX1ZFUlNJT04JCVwKZGlmZiAtLWdpdCBhL3NyYy9jb21tb24vbHR0bmctZWxmLmMgYi9zcmMv Y29tbW9uL2x0dG5nLWVsZi5jCmluZGV4IGQ2Y2VmMmZlLi40YzQzYTliZSAxMDA2NDQKLS0tIGEv c3JjL2NvbW1vbi9sdHRuZy1lbGYuYworKysgYi9zcmMvY29tbW9uL2x0dG5nLWVsZi5jCkBAIC0z MDksNyArMzA5LDcgQEAgZXJyb3I6CiAgKiBSZXRyaWV2ZSB0aGUgbnRoICh3aGVyZSBuIGlzIHRo ZSBgaW5kZXhgIGFyZ3VtZW50KSBzaGRyIChzZWN0aW9uCiAgKiBoZWFkZXIpIGZyb20gdGhlIGdp dmVuIGVsZiBpbnN0YW5jZS4KICAqCi0gKiAwIGlzIHJldHVybmVkIG9uIHN1Y2NlcywgLTEgb24g ZmFpbHVyZS4KKyAqIDAgaXMgcmV0dXJuZWQgb24gc3VjY2VzcywgLTEgb24gZmFpbHVyZS4KICAq Lwogc3RhdGljCiBpbnQgbHR0bmdfZWxmX2dldF9zZWN0aW9uX2hkcihzdHJ1Y3QgbHR0bmdfZWxm ICplbGYsCkBAIC03NDQsNyArNzQ0LDcgQEAgZXJyb3I6CiB9CiAKIC8qCi0gKiBDb21wdXRlIHRo ZSBvZmZzZXQgb2YgYSBzeW1ib2wgZnJvbSB0aGUgYmVnaW5pbmcgb2YgdGhlIEVMRiBiaW5hcnku CisgKiBDb21wdXRlIHRoZSBvZmZzZXQgb2YgYSBzeW1ib2wgZnJvbSB0aGUgYmVnaW5uaW5nIG9m IHRoZSBFTEYgYmluYXJ5LgogICoKICAqIE9uIHN1Y2Nlc3MsIHJldHVybnMgMCBvZmZzZXQgcGFy YW1ldGVyIGlzIHNldCB0byB0aGUgY29tcHV0ZWQgdmFsdWUKICAqIE9uIGZhaWx1cmUsIHJldHVy bnMgLTEuCkBAIC04OTksNyArODk5LDcgQEAgZW5kOgogfQogCiAvKgotICogQ29tcHV0ZSB0aGUg b2Zmc2V0cyBvZiBTRFQgcHJvYmVzIGZyb20gdGhlIGJlZ2luaW5nIG9mIHRoZSBFTEYgYmluYXJ5 LgorICogQ29tcHV0ZSB0aGUgb2Zmc2V0cyBvZiBTRFQgcHJvYmVzIGZyb20gdGhlIGJlZ2lubmlu ZyBvZiB0aGUgRUxGIGJpbmFyeS4KICAqCiAgKiBPbiBzdWNjZXNzLCByZXR1cm5zIDAgYW5kIHRo ZSBuYl9wcm9iZXMgcGFyYW1ldGVyIGlzIHNldCB0byB0aGUgbnVtYmVyIG9mCiAgKiBvZmZzZXRz IGZvdW5kIGFuZCB0aGUgb2Zmc2V0cyBwYXJhbWV0ZXIgcG9pbnRzIHRvIGFuIGFycmF5IG9mIG9m ZnNldHMgd2hlcmUKQEAgLTk5Niw3ICs5OTYsNyBAQCBpbnQgbHR0bmdfZWxmX2dldF9zZHRfcHJv YmVfb2Zmc2V0cyhpbnQgZmQsIGNvbnN0IGNoYXIgKnByb3ZpZGVyX25hbWUsCiAKIAkJLyoKIAkJ ICogTW92ZSBwdHIgdG8gdGhlIGVuZCBvZiB0aGUgbmFtZSBzdHJpbmcgKHdlIGRvbid0IG5lZWQg aXQpCi0JCSAqIGFuZCBnbyB0byB0aGUgbmV4dCA0IGJ5dGUgYWxpZ25lbWVudC4KKwkJICogYW5k IGdvIHRvIHRoZSBuZXh0IDQgYnl0ZSBhbGlnbm1lbnQuCiAJCSAqLwogCQlpZiAobm90ZV90eXBl ICE9IE5PVEVfU1RBUFNEVF9UWVBFIHx8CiAJCQlzdHJuY21wKGN1cnJfZGF0YV9wdHIsIE5PVEVf U1RBUFNEVF9OQU1FLCBuYW1lX3NpemUpICE9IDApIHsKZGlmZiAtLWdpdCBhL3NyYy9jb21tb24v bWktbHR0bmcuYyBiL3NyYy9jb21tb24vbWktbHR0bmcuYwppbmRleCBiZGQ2ZGNlYS4uMTY4ZTRj OTAgMTAwNjQ0Ci0tLSBhL3NyYy9jb21tb24vbWktbHR0bmcuYworKysgYi9zcmMvY29tbW9uL21p LWx0dG5nLmMKQEAgLTUxNiw3ICs1MTYsNyBAQCBjb25zdCBjaGFyICptaV9sdHRuZ19idWZmZXJ0 eXBlX3N0cmluZyhlbnVtIGx0dG5nX2J1ZmZlcl90eXBlIHZhbHVlKQogCWNhc2UgTFRUTkdfQlVG RkVSX0dMT0JBTDoKIAkJcmV0dXJuIGNvbmZpZ19idWZmZXJfdHlwZV9nbG9iYWw7CiAJZGVmYXVs dDoKLQkJLyogU2hvdWxkIG5vdCBoYXZlIGFuIHVua25vdyBidWZmZXIgdHlwZSAqLworCQkvKiBT aG91bGQgbm90IGhhdmUgYW4gdW5rbm93biBidWZmZXIgdHlwZSAqLwogCQlhc3NlcnQoMCk7CiAJ CXJldHVybiBOVUxMOwogCX0KQEAgLTUzNSw3ICs1MzUsNyBAQCBjb25zdCBjaGFyICptaV9sdHRu Z19yb3RhdGlvbl9zdGF0ZV9zdHJpbmcoZW51bSBsdHRuZ19yb3RhdGlvbl9zdGF0ZSB2YWx1ZSkK IAljYXNlIExUVE5HX1JPVEFUSU9OX1NUQVRFX0VSUk9SOgogCQlyZXR1cm4gbWlfbHR0bmdfcm90 YXRpb25fc3RhdGVfc3RyX2Vycm9yOwogCWRlZmF1bHQ6Ci0JCS8qIFNob3VsZCBub3QgaGF2ZSBh biB1bmtub3cgcm90YXRpb24gc3RhdGUuICovCisJCS8qIFNob3VsZCBub3QgaGF2ZSBhbiB1bmtu b3duIHJvdGF0aW9uIHN0YXRlLiAqLwogCQlhc3NlcnQoMCk7CiAJCXJldHVybiBOVUxMOwogCX0K QEAgLTU0OSw3ICs1NDksNyBAQCBjb25zdCBjaGFyICptaV9sdHRuZ190cmFjZV9hcmNoaXZlX2xv Y2F0aW9uX3JlbGF5X3Byb3RvY29sX3R5cGVfc3RyaW5nKAogCWNhc2UgTFRUTkdfVFJBQ0VfQVJD SElWRV9MT0NBVElPTl9SRUxBWV9QUk9UT0NPTF9UWVBFX1RDUDoKIAkJcmV0dXJuIG1pX2x0dG5n X3JvdGF0aW9uX2xvY2F0aW9uX3JlbGF5X3Byb3RvY29sX3N0cl90Y3A7CiAJZGVmYXVsdDoKLQkJ LyogU2hvdWxkIG5vdCBoYXZlIGFuIHVua25vdyByZWxheSBwcm90b2NvbC4gKi8KKwkJLyogU2hv dWxkIG5vdCBoYXZlIGFuIHVua25vd24gcmVsYXkgcHJvdG9jb2wuICovCiAJCWFzc2VydCgwKTsK IAkJcmV0dXJuIE5VTEw7CiAJfQpkaWZmIC0tZ2l0IGEvc3JjL2NvbW1vbi9taS1sdHRuZy5oIGIv c3JjL2NvbW1vbi9taS1sdHRuZy5oCmluZGV4IDljOTg1ZjZiLi44ODA2YzFkYiAxMDA2NDQKLS0t IGEvc3JjL2NvbW1vbi9taS1sdHRuZy5oCisrKyBiL3NyYy9jb21tb24vbWktbHR0bmcuaApAQCAt ODIyLDcgKzgyMiw3IEBAIGludCBtaV9sdHRuZ19zbmFwc2hvdF9kZWxfb3V0cHV0KHN0cnVjdCBt aV93cml0ZXIgKndyaXRlciwgaW50IGlkLAogICogbl9wdHI6CiAgKgogICogb3V0cHV0OiBpdGVy YXRvciBvdmVyIGEgbHR0bmdfc25hcHNob3Rfb3V0cHV0X2xpc3Qgd2hpY2ggY29udGFpbgotICog dGhlIHNuYXBzaG90IG91dHB1dCBpbmZvcm1hdGlvbnMuCisgKiB0aGUgc25hcHNob3Qgb3V0cHV0 IGluZm9ybWF0aW9uLgogICoKICAqIFJldHVybnMgemVybyBpZiB0aGUgZWxlbWVudCdzIHZhbHVl IGNvdWxkIGJlIHdyaXR0ZW4uCiAgKiBOZWdhdGl2ZSB2YWx1ZXMgaW5kaWNhdGUgYW4gZXJyb3Iu CkBAIC04ODQsNyArODg0LDcgQEAgaW50IG1pX2x0dG5nX3JvdGF0aW9uX3NjaGVkdWxlKHN0cnVj dCBtaV93cml0ZXIgKndyaXRlciwKICAqCiAgKiBzY2hlZHVsZTogQW4gbHR0bmcgcm90YXRpb24g c2NoZWR1bGUgZGVzY3JpcHRvciBvYmplY3QuCiAgKgotICogc3VjY2VzczogV2hldGhlciB0aGUg c3ViLWNvbW1hbmQgc3VjZWVkZWQuCisgKiBzdWNjZXNzOiBXaGV0aGVyIHRoZSBzdWItY29tbWFu ZCBzdWNjZWVkZWQuCiAgKgogICogUmV0dXJucyB6ZXJvIGlmIHRoZSBlbGVtZW50J3MgdmFsdWUg Y291bGQgYmUgd3JpdHRlbi4KICAqIE5lZ2F0aXZlIHZhbHVlcyBpbmRpY2F0ZSBhbiBlcnJvci4K QEAgLTkwOCw3ICs5MDgsNyBAQCBpbnQgbWlfbHR0bmdfcm90YXRpb25fc2NoZWR1bGVfcmVzdWx0 KHN0cnVjdCBtaV93cml0ZXIgKndyaXRlciwKICAqCiAgKiBsb2NhdGlvbjogQSBsb2NhdGlvbiBk ZXNjcmlwdG9yIG9iamVjdC4KICAqCi0gKiBzdWNjZXNzOiBXaGV0aGVyIHRoZSBzdWItY29tbWFu ZCBzdWNlZWRlZC4KKyAqIHN1Y2Nlc3M6IFdoZXRoZXIgdGhlIHN1Yi1jb21tYW5kIHN1Y2NlZWRl ZC4KICAqCiAgKiBSZXR1cm5zIHplcm8gaWYgdGhlIGVsZW1lbnQncyB2YWx1ZSBjb3VsZCBiZSB3 cml0dGVuLgogICogTmVnYXRpdmUgdmFsdWVzIGluZGljYXRlIGFuIGVycm9yLgpkaWZmIC0tZ2l0 IGEvc3JjL2NvbW1vbi9vcHRpb25hbC5oIGIvc3JjL2NvbW1vbi9vcHRpb25hbC5oCmluZGV4IGNh N2QxZjA0Li45ODFlYmQyOSAxMDA2NDQKLS0tIGEvc3JjL2NvbW1vbi9vcHRpb25hbC5oCisrKyBi L3NyYy9jb21tb24vb3B0aW9uYWwuaApAQCAtNjksNyArNjksNyBAQAogCiAvKgogICogVGhpcyBt YWNybyBpcyBhdmFpbGFibGUgYXMgYSAnY29udmVuaWVuY2UnIHRvIGFsbG93IHNpdGVzIHRoYXQg YXNzdW1lCi0gKiBhbiBvcHRpb25hbCB2YWx1ZSBpcyBzZXQgdG8gYXNzZXJ0KCkgdGhhdCBpdCBp cyBzZXQgd2hlbiBmZWN0aGluZyB0aGUKKyAqIGFuIG9wdGlvbmFsIHZhbHVlIGlzIHNldCB0byBh c3NlcnQoKSB0aGF0IGl0IGlzIHNldCB3aGVuIGZldGNoaW5nIHRoZQogICogdW5kZXJseWluZyB2 YWx1ZSdzIGFkZHJlc3MuCiAgKi8KICNkZWZpbmUgTFRUTkdfT1BUSU9OQUxfR0VUX1BUUihvcHRp b25hbCkJCQlcCmRpZmYgLS1naXQgYS9zcmMvY29tbW9uL3J1bmFzLmMgYi9zcmMvY29tbW9uL3J1 bmFzLmMKaW5kZXggMTE0NzI5NmEuLjNhYmFlMjgyIDEwMDY0NAotLS0gYS9zcmMvY29tbW9uL3J1 bmFzLmMKKysrIGIvc3JjL2NvbW1vbi9ydW5hcy5jCkBAIC01OTQsNyArNTk0LDcgQEAgaW50IF9l eHRyYWN0X3NkdF9wcm9iZV9vZmZzZXRzKHN0cnVjdCBydW5fYXNfZGF0YSAqZGF0YSwKIAogCXJl dF92YWx1ZS0+X2Vycm9yID0gZmFsc2U7CiAKLQkvKiBPbiBzdWNjZXNzLCB0aGlzIGNhbGwgYWxs b2NhdGVzIHRoZSBvZmZzZXRzIHBhcmFtYXRlci4gKi8KKwkvKiBPbiBzdWNjZXNzLCB0aGlzIGNh bGwgYWxsb2NhdGVzIHRoZSBvZmZzZXRzIHBhcmFtZXRlci4gKi8KIAlyZXQgPSBsdHRuZ19lbGZf Z2V0X3NkdF9wcm9iZV9vZmZzZXRzKAogCQkJZGF0YS0+dS5leHRyYWN0X3NkdF9wcm9iZV9vZmZz ZXRzLmZkLAogCQkJZGF0YS0+dS5leHRyYWN0X3NkdF9wcm9iZV9vZmZzZXRzLnByb3ZpZGVyX25h bWUsCmRpZmYgLS1naXQgYS9zcmMvY29tbW9uL3Nlc3Npb25kLWNvbW0vcmVsYXlkLmggYi9zcmMv Y29tbW9uL3Nlc3Npb25kLWNvbW0vcmVsYXlkLmgKaW5kZXggZmU3ZDI5MzYuLjQyODA1OGE1IDEw MDY0NAotLS0gYS9zcmMvY29tbW9uL3Nlc3Npb25kLWNvbW0vcmVsYXlkLmgKKysrIGIvc3JjL2Nv bW1vbi9zZXNzaW9uZC1jb21tL3JlbGF5ZC5oCkBAIC0xODQsNyArMTg0LDcgQEAgc3RhdGljIGlu bGluZSBzaXplX3QgbHR0Y29tbV9yZWxheWRfaW5kZXhfbGVuKHVpbnQzMl90IG1ham9yLCB1aW50 MzJfdCBtaW5vcikKIH0KIAogLyoKLSAqIENyZWF0ZSBzZXNzaW9uIGluIDIuNCBhZGRzIGFkZGl0 aW9ubmFsIHBhcmFtZXRlcnMgZm9yIGxpdmUgcmVhZGluZy4KKyAqIENyZWF0ZSBzZXNzaW9uIGlu IDIuNCBhZGRzIGFkZGl0aW9uYWwgcGFyYW1ldGVycyBmb3IgbGl2ZSByZWFkaW5nLgogICovCiBz dHJ1Y3QgbHR0Y29tbV9yZWxheWRfY3JlYXRlX3Nlc3Npb25fMl80IHsKIAljaGFyIHNlc3Npb25f bmFtZVtSRUxBWURfQ09NTV9MVFROR19OQU1FX01BWF8yXzRdOwpkaWZmIC0tZ2l0IGEvc3JjL2Nv bW1vbi9zcGF3bi12aWV3ZXIuYyBiL3NyYy9jb21tb24vc3Bhd24tdmlld2VyLmMKaW5kZXggNzgx ODg2NTAuLjhkNmNlODY0IDEwMDY0NAotLS0gYS9zcmMvY29tbW9uL3NwYXduLXZpZXdlci5jCisr KyBiL3NyYy9jb21tb24vc3Bhd24tdmlld2VyLmMKQEAgLTYxLDcgKzYxLDcgQEAgc3RhdGljIGNv bnN0IHN0cnVjdCB2aWV3ZXIgKnBhcnNlX3ZpZXdlcl9vcHRpb24oY29uc3QgY2hhciAqb3B0X3Zp ZXdlcikKIAogLyoKICAqIEFsbG9jIGFuIGFycmF5IG9mIHN0cmluZyBwb2ludGVyIGZyb20gYSBz aW1wbGUgc3RyaW5nIGhhdmluZyBhbGwgb3B0aW9ucwotICogc2VwZXJhdGVkIGJ5IHNwYWNlcy4g QWxzbyBhZGRzIHRoZSB0cmFjZSBwYXRoIHRvIHRoZSBhcmd1bWVudHMuCisgKiBzZXBhcmF0ZWQg Ynkgc3BhY2VzLiBBbHNvIGFkZHMgdGhlIHRyYWNlIHBhdGggdG8gdGhlIGFyZ3VtZW50cy4KICAq CiAgKiBUaGUgcmV0dXJuaW5nIHBvaW50ZXIgaXMgcmVhZHkgdG8gYmUgcGFzc2VkIHRvIGV4ZWN2 cCgpLgogICovCkBAIC0yNDYsNyArMjQ2LDcgQEAgcmV0cnlfdmlld2VyOgogCX0KIAogCS8qCi0J ICogVGhpcyBmdW5jdGlvbiBzaG91bGQgbmV2ZXIgcmV0dXJuIGlmIHN1Y2Nlc3NmdWxsIGJlY2F1 c2UgYGV4ZWN2cCgzKWAKKwkgKiBUaGlzIGZ1bmN0aW9uIHNob3VsZCBuZXZlciByZXR1cm4gaWYg c3VjY2Vzc2Z1bCBiZWNhdXNlIGBleGVjdnAoMylgCiAJICogb25sZSByZXR1cm5zIGlmIGFuIGVy cm9yIGhhcyBvY2N1cnJlZC4KIAkgKi8KIAlhc3NlcnQocmV0ICE9IDApOwpkaWZmIC0tZ2l0IGEv c3JjL2NvbW1vbi90cmFjZS1jaHVuay5jIGIvc3JjL2NvbW1vbi90cmFjZS1jaHVuay5jCmluZGV4 IDhhODQ4MWI1Li43MzY5MTZmMyAxMDA2NDQKLS0tIGEvc3JjL2NvbW1vbi90cmFjZS1jaHVuay5j CisrKyBiL3NyYy9jb21tb24vdHJhY2UtY2h1bmsuYwpAQCAtMzEsNyArMzEsNyBAQAogI2luY2x1 ZGUgPHVyY3UvcmVmLmg+CiAKIC8qCi0gKiBUd28gSVNPIDg2MDEtY29tcGF0aWJsZSB0aW1lc3Rh bXBzLCBzZXBhcmF0ZWQgYnkgYSBoeXBlbiwgZm9sbG93ZWQgYW4KKyAqIFR3byBJU08gODYwMS1j b21wYXRpYmxlIHRpbWVzdGFtcHMsIHNlcGFyYXRlZCBieSBhIGh5cGhlbiwgZm9sbG93ZWQgYW4K ICAqIGluZGV4LCBpLmUuIDxzdGFydC1pc28tODYwMT4tPGVuZC1pc28tODYwMT4tPGlkLXVpbnQ2 NF90Pi4KICAqLwogI2RlZmluZSBHRU5FUkFURURfQ0hVTktfTkFNRV9MRU4gKDIgKiBzaXplb2Yo IllZWVltbWRkVEhITU1TUytISE1NIikgKyBNQVhfSU5UX0RFQ19MRU4odWludDY0X3QpKQpkaWZm IC0tZ2l0IGEvc3JjL2NvbW1vbi90cmFjZS1jaHVuay5oIGIvc3JjL2NvbW1vbi90cmFjZS1jaHVu ay5oCmluZGV4IDRhYjBiMTFjLi4xOTAxZmYyYSAxMDA2NDQKLS0tIGEvc3JjL2NvbW1vbi90cmFj ZS1jaHVuay5oCisrKyBiL3NyYy9jb21tb24vdHJhY2UtY2h1bmsuaApAQCAtMTgsNyArMTgsNyBA QAogCiAvKgogICogQSB0cmFjZSBjaHVuayBpcyBhIGdyb3VwIG9mIGRpcmVjdG9yaWVzIGFuZCBm aWxlcyBmb3JtaW5nIGEgKG9yIGEgc2V0IG9mKQotICogY29tcGxldGUgYW5kIGluZGVwZW5kYW50 IHRyYWNlKHMpLiBGb3IgaW5zdGFuY2UsIGEgdHJhY2UgYXJjaGl2ZSBjaHVuaywKKyAqIGNvbXBs ZXRlIGFuZCBpbmRlcGVuZGVudCB0cmFjZShzKS4gRm9yIGluc3RhbmNlLCBhIHRyYWNlIGFyY2hp dmUgY2h1bmssCiAgKiBhIHNuYXBzaG90LCBvciBhIHJlZ3VsYXIgTFRUbmcgdHJhY2UgYXJlIGFs bCBpbnN0YW5jZXMgb2YgYSB0cmFjZSBhcmNoaXZlLgogICoKICAqIEEgdHJhY2UgY2h1bmsgaXMg YWx3YXlzIGNvbnRhaW5lZCB3aXRoaW4gYSBzZXNzaW9uIG91dHB1dCBkaXJlY3RvcnkuCmRpZmYg LS1naXQgYS9zcmMvY29tbW9uL3VuaXguYyBiL3NyYy9jb21tb24vdW5peC5jCmluZGV4IDBlNmMz MjljLi40MmQwMTJkMCAxMDA2NDQKLS0tIGEvc3JjL2NvbW1vbi91bml4LmMKKysrIGIvc3JjL2Nv bW1vbi91bml4LmMKQEAgLTkwOSw3ICs5MDksNyBAQCByZXRyeToKIAkJfQogCQlpZiAoY21zZy0+ Y21zZ190eXBlID09IFNDTV9SSUdIVFMpIHsKIAkJCS8qCi0JCQkgKiBXZSBmb3VuZCB0aGUgY29u dHJvbGUgbWVzc2FnZSBmb3IgZmlsZSBkZXNjcmlwdG9ycywKKwkJCSAqIFdlIGZvdW5kIHRoZSBj b250cm9sIG1lc3NhZ2UgZm9yIGZpbGUgZGVzY3JpcHRvcnMsCiAJCQkgKiBub3cgY29weSB0aGUg ZmRzIHRvIHRoZSBmZHMgcHRyIGFuZCByZXR1cm4gc3VjY2Vzcy4KIAkJCSAqLwogCQkJaWYgKGNt c2ctPmNtc2dfbGVuICE9IENNU0dfTEVOKHNpemVvZl9mZHMpKSB7CmRpZmYgLS1naXQgYS9zcmMv Y29tbW9uL3VyaS5jIGIvc3JjL2NvbW1vbi91cmkuYwppbmRleCAwNjM4YWViZC4uYjE1MTk1MzUg MTAwNjQ0Ci0tLSBhL3NyYy9jb21tb24vdXJpLmMKKysrIGIvc3JjL2NvbW1vbi91cmkuYwpAQCAt MzYwLDcgKzM2MCw3IEBAIHNzaXplX3QgdXJpX3BhcnNlKGNvbnN0IGNoYXIgKnN0cl91cmksIHN0 cnVjdCBsdHRuZ191cmkgKip1cmlzKQogCQlwdXJsID0gYWRkcl9lICsgMTsKIAogCQkvKgotCQkg KiBUaGUgY2xvc2luZyBicmFja2V0IG11c3QgYmUgZm9sbG93ZWQgYnkgYSBzZXBlcmF0b3Igb3Ig TlVMTCBjaGFyLgorCQkgKiBUaGUgY2xvc2luZyBicmFja2V0IG11c3QgYmUgZm9sbG93ZWQgYnkg YSBzZXBhcmF0b3Igb3IgTlVMTCBjaGFyLgogCQkgKi8KIAkJaWYgKHN0cmNocihzZXBzLCAqcHVy bCkgPT0gTlVMTCkgewogCQkJRVJSKCJVbmtub3duIHN5bWJvbCBhZnRlciBJUHY2IGFkZHJlc3M6 ICVzIiwgcHVybCk7CmRpZmYgLS1naXQgYS9zcmMvY29tbW9uL3VzdC1jb25zdW1lci91c3QtY29u c3VtZXIuYyBiL3NyYy9jb21tb24vdXN0LWNvbnN1bWVyL3VzdC1jb25zdW1lci5jCmluZGV4IDll YzU3NjNjLi4yZDhkOTU3YiAxMDA2NDQKLS0tIGEvc3JjL2NvbW1vbi91c3QtY29uc3VtZXIvdXN0 LWNvbnN1bWVyLmMKKysrIGIvc3JjL2NvbW1vbi91c3QtY29uc3VtZXIvdXN0LWNvbnN1bWVyLmMK QEAgLTM2Nyw3ICszNjcsNyBAQCBpbnQgY3JlYXRlX3Bvc2l4X3NobSh2b2lkKQogCQlyZXR1cm4g LTE7CiAJfQogCS8qCi0JICogQWxsb2NhdGUgc2htLCBhbmQgaW1tZWRpYXRlbHkgdW5saW5rIGl0 cyBzaG0gb2plY3QsIGtlZXBpbmcKKwkgKiBBbGxvY2F0ZSBzaG0sIGFuZCBpbW1lZGlhdGVseSB1 bmxpbmsgaXRzIHNobSBvYmplY3QsIGtlZXBpbmcKIAkgKiBvbmx5IHRoZSBmaWxlIGRlc2NyaXB0 b3IgYXMgYSByZWZlcmVuY2UgdG8gdGhlIG9iamVjdC4KIAkgKiBXZSBzcGVjaWZpY2FsbHkgZG8g X25vdF8gdXNlIHRoZSAvIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlCiAJICogcGF0aG5hbWUgc28g dGhhdCBzb21lIE9TIGltcGxlbWVudGF0aW9ucyBjYW4ga2VlcCBpdCBsb2NhbCB0bwpAQCAtNTY2 LDcgKzU2Niw3IEBAIHN0YXRpYyBpbnQgc2VuZF9jaGFubmVsX3RvX3Nlc3Npb25kX2FuZF9yZWxh eWQoaW50IHNvY2ssCiAJCQlpZiAocmV0IDwgMCkgewogCQkJCS8qCiAJCQkJICogRmxhZyB0aGF0 IHRoZSByZWxheWQgd2FzIHRoZSBwcm9ibGVtIGhlcmUgcHJvYmFibHkgZHVlIHRvIGEKLQkJCQkg KiBjb21tdW5pY2F0b24gZXJyb3Igb24gdGhlIHNvY2tldC4KKwkJCQkgKiBjb21tdW5pY2F0aW9u IGVycm9yIG9uIHRoZSBzb2NrZXQuCiAJCQkJICovCiAJCQkJaWYgKHJlbGF5ZF9lcnJvcikgewog CQkJCQkqcmVsYXlkX2Vycm9yID0gMTsKQEAgLTY1OCw3ICs2NTgsNyBAQCBzdGF0aWMgaW50IGFz a19jaGFubmVsKHN0cnVjdCBsdHRuZ19jb25zdW1lcl9sb2NhbF9kYXRhICpjdHgsCiAJICogb25j ZSBldmVyeSBzdHJlYW0gb2YgYSBjaGFubmVsIGlzIHJlY2VpdmVkIG1ha2luZyB0aGlzIHZhbHVl IHVzZWxlc3MKIAkgKiBiZWNhdXNlIHdlIHRoZXkgd2lsbCBiZSBhZGRlZCB0byB0aGUgcG9sbCB0 aHJlYWQgYmVmb3JlIHRoZSBhcHBsaWNhdGlvbgogCSAqIHJlY2VpdmVzIHRoZW0uIFRoaXMgZW5z dXJlcyB0aGF0IGEgc3RyZWFtIGNhbiBub3QgaGFuZyB1cCBkdXJpbmcKLQkgKiBpbml0aWxpemF0 aW9uIG9mIGEgY2hhbm5lbC4KKwkgKiBpbml0aWFsaXphdGlvbiBvZiBhIGNoYW5uZWwuCiAJICov CiAJY2hhbm5lbC0+bmJfaW5pdF9zdHJlYW1fbGVmdCA9IDA7CiAKQEAgLTEwNjAsNyArMTA2MCw3 IEBAIHN0YXRpYyBpbnQgc25hcHNob3RfbWV0YWRhdGEoc3RydWN0IGx0dG5nX2NvbnN1bWVyX2No YW5uZWwgKm1ldGFkYXRhX2NoYW5uZWwsCiAKIGVycm9yX3N0cmVhbToKIAkvKgotCSAqIENsZWFu IHVwIHRoZSBzdHJlYW0gY29tcGxldGx5IGJlY2F1c2UgdGhlIG5leHQgc25hcHNob3Qgd2lsbCB1 c2UgYSBuZXcKKwkgKiBDbGVhbiB1cCB0aGUgc3RyZWFtIGNvbXBsZXRlbHkgYmVjYXVzZSB0aGUg bmV4dCBzbmFwc2hvdCB3aWxsIHVzZSBhIG5ldwogCSAqIG1ldGFkYXRhIHN0cmVhbS4KIAkgKi8K IAljb25zdW1lcl9zdHJlYW1fZGVzdHJveShtZXRhZGF0YV9zdHJlYW0sIE5VTEwpOwpAQCAtMTY0 Miw3ICsxNjQyLDcgQEAgaW50IGx0dG5nX3VzdGNvbnN1bWVyX3JlY3ZfY21kKHN0cnVjdCBsdHRu Z19jb25zdW1lcl9sb2NhbF9kYXRhICpjdHgsCiAJCQkJZ290byBlbmRfZ2V0X2NoYW5uZWxfbm9z aWduYWw7CiAJCQl9CiAJCQkvKgotCQkJICogVGhlIGNvbW11bmljYXRvbiB3YXMgYnJva2VuIGhl bmNlIHRoZXJlIGlzIGEgYmFkIHN0YXRlIGJldHdlZW4KKwkJCSAqIFRoZSBjb21tdW5pY2F0aW9u IHdhcyBicm9rZW4gaGVuY2UgdGhlcmUgaXMgYSBiYWQgc3RhdGUgYmV0d2VlbgogCQkJICogdGhl IGNvbnN1bWVyIGFuZCBzZXNzaW9uZCBzbyBzdG9wIGV2ZXJ5dGhpbmcuCiAJCQkgKi8KIAkJCWdv dG8gZXJyb3JfZ2V0X2NoYW5uZWxfZmF0YWw7CkBAIC0yMDk3LDcgKzIwOTcsNyBAQCBlbmRfcm90 YXRlX2NoYW5uZWxfbm9zaWduYWw6CiAJCWlmIChpc19sb2NhbF90cmFjZSkgewogCQkJaW50IGNo dW5rX2RpcmZkOwogCi0JCQkvKiBBY25vd2xlZGdlIHRoZSByZWNlcHRpb24gb2YgdGhlIGNvbW1h bmQuICovCisJCQkvKiBBY2tub3dsZWRnZSB0aGUgcmVjZXB0aW9uIG9mIHRoZSBjb21tYW5kLiAq LwogCQkJcmV0ID0gY29uc3VtZXJfc2VuZF9zdGF0dXNfbXNnKHNvY2ssCiAJCQkJCUxUVENPTU1f Q09OU1VNRVJEX1NVQ0NFU1MpOwogCQkJaWYgKHJldCA8IDApIHsKZGlmZiAtLWdpdCBhL3NyYy9j b21tb24vdXRpbHMuYyBiL3NyYy9jb21tb24vdXRpbHMuYwppbmRleCBiZDYxZmZmMy4uNDY0NmZi ZWIgMTAwNjQ0Ci0tLSBhL3NyYy9jb21tb24vdXRpbHMuYworKysgYi9zcmMvY29tbW9uL3V0aWxz LmMKQEAgLTU3LDcgKzU3LDcgQEAKIC8qCiAgKiBSZXR1cm4gYSBwYXJ0aWFsIHJlYWxwYXRoKDMp IG9mIHRoZSBwYXRoIGV2ZW4gaWYgdGhlIGZ1bGwgcGF0aCBkb2VzIG5vdAogICogZXhpc3QuIEZv ciBpbnN0YW5jZSwgd2l0aCAvdG1wL3Rlc3QxL3Rlc3QyL3Rlc3QzLCBpZiB0ZXN0Mi8gZG9lcyBu b3QgZXhpc3QKLSAqIGJ1dCB0aGUgL3RtcC90ZXN0MSBkb2VzLCB0aGUgcmVhbCBwYXRoIGZvciAv dG1wL3Rlc3QxIGlzIGNvbmNhdGVuZWQgd2l0aAorICogYnV0IHRoZSAvdG1wL3Rlc3QxIGRvZXMs IHRoZSByZWFsIHBhdGggZm9yIC90bXAvdGVzdDEgaXMgY29uY2F0ZW5hdGVkIHdpdGgKICAqIC90 ZXN0Mi90ZXN0MyB0aGVuIHJldHVybmVkLiBJbiBub3JtYWwgdGltZSwgcmVhbHBhdGgoMykgZmFp bHMgaWYgdGhlIGVuZAogICogcG9pbnQgZGlyZWN0b3J5IGRvZXMgbm90IGV4aXN0LgogICogSW4g Y2FzZSByZXNvbHZlZF9wYXRoIGlzIE5VTEwsIHRoZSBzdHJpbmcgcmV0dXJuZWQgd2FzIGFsbG9j YXRlZCBpbiB0aGUKQEAgLTI3MSw3ICsyNzEsNyBAQCBpbnQgZXhwYW5kX2RvdWJsZV9zbGFzaGVz X2RvdF9hbmRfZG90ZG90KGNoYXIgKnBhdGgpCiAJCQkJLyoKIAkJCQkgKiBGaW5kIHRoZSBwcmV2 aW91cyBwYXRoIGNvbXBvbmVudCBieQogCQkJCSAqIHVzaW5nIHRoZSBtZW1yY2hyIGZ1bmN0aW9u IHRvIGZpbmQgdGhlCi0JCQkJICogcHJldmlvdXMgZm9yd2FyZCBzbGFzaCBhbmQgc3Vic3RyYWN0 IHRoYXQKKwkJCQkgKiBwcmV2aW91cyBmb3J3YXJkIHNsYXNoIGFuZCBzdWJ0cmFjdCB0aGF0CiAJ CQkJICogbGVuIHRvIHRoZSByZXN1bHRpbmcgcGF0aC4KIAkJCQkgKi8KIAkJCQlwcmV2X3NsYXNo ID0gbHR0bmdfbWVtcmNocihwYXRoLCAnLycsIGV4cGFuZGVkX3BhdGhfbGVuKTsKQEAgLTMxMiw3 ICszMTIsNyBAQCBlcnJvcjoKICAqIE1ha2UgYSBmdWxsIHJlc29sdXRpb24gb2YgdGhlIGdpdmVu IHBhdGggZXZlbiBpZiBpdCBkb2Vzbid0IGV4aXN0LgogICogVGhpcyBmdW5jdGlvbiB1c2VzIHRo ZSB1dGlsc19wYXJ0aWFsX3JlYWxwYXRoIGZ1bmN0aW9uIHRvIHJlc29sdmUKICAqIHN5bWxpbmtz IGFuZCByZWxhdGl2ZXMgcGF0aHMgYXQgdGhlIHN0YXJ0IG9mIHRoZSBzdHJpbmcsIGFuZAotICog aW1wbGVtZW50cyBmdW5jdGlvbm5hbGl0aWVzIHRvIHJlc29sdmUgdGhlICcuLycgYW5kICcuLi8n IHN0cmluZ3MKKyAqIGltcGxlbWVudHMgZnVuY3Rpb25hbGl0aWVzIHRvIHJlc29sdmUgdGhlICcu LycgYW5kICcuLi8nIHN0cmluZ3MKICAqIGluIHRoZSBtaWRkbGUgb2YgYSBwYXRoLiBUaGlzIGZ1 bmN0aW9uIGlzIG9ubHkgbmVjZXNzYXJ5IGJlY2F1c2UKICAqIHJlYWxwYXRoKDMpIGRvZXMgbm90 IGFjY2VwdCB0byByZXNvbHZlIHVuZXhpc3RlbnQgcGF0aHMuCiAgKiBUaGUgcmV0dXJuZWQgc3Ry aW5nIHdhcyBhbGxvY2F0ZWQgaW4gdGhlIGZ1bmN0aW9uLCBpdCBpcyB0aHVzIG9mCmRpZmYgLS1n aXQgYS9zcmMvbGliL2x0dG5nLWN0bC9sdHRuZy1jdGwtaGVscGVyLmggYi9zcmMvbGliL2x0dG5n LWN0bC9sdHRuZy1jdGwtaGVscGVyLmgKaW5kZXggZDFjNWFhODYuLjExNmI0MjUwIDEwMDY0NAot LS0gYS9zcmMvbGliL2x0dG5nLWN0bC9sdHRuZy1jdGwtaGVscGVyLmgKKysrIGIvc3JjL2xpYi9s dHRuZy1jdGwvbHR0bmctY3RsLWhlbHBlci5oCkBAIC0xNSw3ICsxNSw3IEBACiAKIC8qCiAgKiBO T1RFOiBFdmVyeSBzeW1ib2wgaW4gdGhpcyBoZWxwZXIgaGVhZGVyIE1VU1QgYmUgc2V0IHRvIGhp ZGRlbiBzbyBub3QgdG8KLSAqIHBvbHV0ZSB0aGUgbGlicmFyeSBuYW1lIHNwYWNlLiBVc2UgTFRU TkdfSElEREVOIG1hY3JvIGJlZm9yZSBkZWNsYXJpbmcgdGhlCisgKiBwb2xsdXRlIHRoZSBsaWJy YXJ5IG5hbWUgc3BhY2UuIFVzZSBMVFROR19ISURERU4gbWFjcm8gYmVmb3JlIGRlY2xhcmluZyB0 aGUKICAqIGZ1bmN0aW9uIGluIHRoZSBDIGZpbGUuCiAgKi8KIApkaWZmIC0tZ2l0IGEvc3JjL2xp Yi9sdHRuZy1jdGwvbHR0bmctY3RsLmMgYi9zcmMvbGliL2x0dG5nLWN0bC9sdHRuZy1jdGwuYwpp bmRleCBhMjk1NjY3Zi4uMDQ2NWRmODYgMTAwNjQ0Ci0tLSBhL3NyYy9saWIvbHR0bmctY3RsL2x0 dG5nLWN0bC5jCisrKyBiL3NyYy9saWIvbHR0bmctY3RsL2x0dG5nLWN0bC5jCkBAIC00NTIsNyAr NDUyLDcgQEAgTFRUTkdfSElEREVOIGludCBjb25uZWN0X3Nlc3Npb25kKHZvaWQpCiAJCWdvdG8g ZXJyb3I7CiAJfQogCi0JLyogQ29ubmVjdCB0byB0aGUgc2Vzc3Npb24gZGFlbW9uLiAqLworCS8q IENvbm5lY3QgdG8gdGhlIHNlc3Npb24gZGFlbW9uLiAqLwogCXJldCA9IGx0dGNvbW1fY29ubmVj dF91bml4X3NvY2soc2Vzc2lvbmRfc29ja19wYXRoKTsKIAlpZiAocmV0IDwgMCkgewogCQlnb3Rv IGVycm9yOwpkaWZmIC0tZ2l0IGEvc3JjL2xpYi9sdHRuZy1jdGwvcm90YXRlLmMgYi9zcmMvbGli L2x0dG5nLWN0bC9yb3RhdGUuYwppbmRleCAyZGJhYTQ2YS4uNmJjNDU0NDEgMTAwNjQ0Ci0tLSBh L3NyYy9saWIvbHR0bmctY3RsL3JvdGF0ZS5jCisrKyBiL3NyYy9saWIvbHR0bmctY3RsL3JvdGF0 ZS5jCkBAIC0yNDUsNyArMjQ1LDcgQEAgZW5kOgogCiAvKgogICogVXBkYXRlIHRoZSBhdXRvbWF0 aWMgcm90YXRpb24gcGFyYW1ldGVycy4KLSAqICdhZGQnIGFzIHRydWUgZW5hYmxlcyB0aGUgcHJv dmlkZWQgc2NoZWR1bGUsIGZhbHNlIHJlbW92ZXMgdGhlIHNoZWR1bGUuCisgKiAnYWRkJyBhcyB0 cnVlIGVuYWJsZXMgdGhlIHByb3ZpZGVkIHNjaGVkdWxlLCBmYWxzZSByZW1vdmVzIHRoZSBzY2hl ZHVsZS4KICAqCiAgKiBUaGUgZXh0ZXJuYWwgQVBJIG1ha2VzIGl0IGFwcGVhciBhcyB0aG91Z2gg YXJiaXRyYXJ5IHNjaGVkdWxlcyBjYW4KICAqIGJlIGFkZGVkIG9yIHJlbW92ZWQgYXQgd2lsbC4g SG93ZXZlciwgdGhlIHNlc3Npb24gZGFlbW9uIGlzCmRpZmYgLS1naXQgYS9zcmMvbGliL2x0dG5n LWN0bC90cmFja2VyLmMgYi9zcmMvbGliL2x0dG5nLWN0bC90cmFja2VyLmMKaW5kZXggNGY3MjBl YWQuLmNkYmU3NjczIDEwMDY0NAotLS0gYS9zcmMvbGliL2x0dG5nLWN0bC90cmFja2VyLmMKKysr IGIvc3JjL2xpYi9sdHRuZy1jdGwvdHJhY2tlci5jCkBAIC02OCw3ICs2OCw3IEBAIGVudW0gbHR0 bmdfZXJyb3JfY29kZSBsdHRuZ19zZXNzaW9uX2dldF90cmFja2VyX2hhbmRsZShjb25zdCBjaGFy ICpzZXNzaW9uX25hbWUsCiAKIAkvKgogCSAqIFVzZSB0aGUgYGdldF90cmFja2luZ19wb2xpY3lg IGNvbW1hbmQgdG8gdmFsaWRhdGUgdGhlIHRyYWNrZXIncwotCSAqIGV4aXN0YW5jZS4KKwkgKiBl eGlzdGVuY2UuCiAJICovCiAJc3RhdHVzID0gbHR0bmdfcHJvY2Vzc19hdHRyX3RyYWNrZXJfaGFu ZGxlX2dldF90cmFja2luZ19wb2xpY3koCiAJCQloYW5kbGUsICZwb2xpY3kpOwpkaWZmIC0tZ2l0 IGEvdGVzdHMvcGVyZi9maW5kX2V2ZW50LmMgYi90ZXN0cy9wZXJmL2ZpbmRfZXZlbnQuYwppbmRl eCAzOGFjNmMxMy4uNDFlOGYyYTMgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3BlcmYvZmluZF9ldmVudC5j CisrKyBiL3Rlc3RzL3BlcmYvZmluZF9ldmVudC5jCkBAIC0xOCw3ICsxOCw3IEBAIGludCBtYWlu KGludCBhcmdjLCBjaGFyICoqYXJndikKIAlpZiAoYXJnYyAhPSAyKSB7CiAJCWZwcmludGYoc3Rk ZXJyLCAiVXNhZ2U6ICVzIDxwbXUgY291bnRlciB0byBmaW5kPlxuIgogCQkJCSJleDogJXMgVU5I QUxURURfUkVGRVJFTkNFX0NZQ0xFU1xuIgotCQkJCSJSZXR1cm5zIHRoZSBmaXJzdCBvY2N1cmVu Y2UgaXQgZmluZHMgd2l0aCAiCisJCQkJIlJldHVybnMgdGhlIGZpcnN0IG9jY3VycmVuY2UgaXQg ZmluZHMgd2l0aCAiCiAJCQkJInJldHVybiBjb2RlIDAuXG4iCiAJCQkJIklmIG5vdCBmb3VuZCBy ZXR1cm5zIDEsIG9uIGVycm9yIHJldHVybnMgLTFcbiIsCiAJCQkJYXJndlswXSwgYXJndlswXSk7 CmRpZmYgLS1naXQgYS90ZXN0cy9yZWdyZXNzaW9uL2tlcm5lbC90ZXN0X2NhbGxzdGFjayBiL3Rl c3RzL3JlZ3Jlc3Npb24va2VybmVsL3Rlc3RfY2FsbHN0YWNrCmluZGV4IGM0YTYyMDBkLi44NGJk NzcwOSAxMDA3NTUKLS0tIGEvdGVzdHMvcmVncmVzc2lvbi9rZXJuZWwvdGVzdF9jYWxsc3RhY2sK KysrIGIvdGVzdHMvcmVncmVzc2lvbi9rZXJuZWwvdGVzdF9jYWxsc3RhY2sKQEAgLTkzLDcgKzkz LDcgQEAgZnVuY3Rpb24gdGVzdF9rZXJuZWxfY2FsbHN0YWNrKCkKIAkjCSBvbWl0dGVkIGZyb20g dGhlIGNhbGxzdGFjayBpdHNlbGYsIGFuZAogCSMKIAkjCTIuIHRoZSBjb2RlIChvZiB0aGlzIGNv bW1pdCkgY2FuIHRyaWdnZXIgVGFpbCBDYWxsIE9wdGltaXphdGlvbgotCSMJd2hpY2ggbWVzcyB1 cCB3aXRoIHRoZSBzdGFja3RyYWNlIGJ5IG9taXRpbmcgdGhlIHdyb25nIGFkZHJlc3MKKwkjCXdo aWNoIG1lc3MgdXAgd2l0aCB0aGUgc3RhY2t0cmFjZSBieSBvbWl0dGluZyB0aGUgd3JvbmcgYWRk cmVzcwogCSMJZnJvbSB0aGUgc3RhY2t0cmFjZS4KIAkjIFdoZW4gdGhpcyBpcyBmaXhlZCwgd2Ug c2hvdWxkIGFkZCBib3RoIHNhdmVfc3RhY2tfdHJhY2UgYW5kCiAJIyBsdHRuZ19jYWxsc3RhY2tf Z2V0X3NpemUgc3ltYm9scyBiYWNrIGluIHRoZSBsaXN0IG9mIGV4cGVjdGVkCmRpZmYgLS1naXQg YS90ZXN0cy9yZWdyZXNzaW9uL2tlcm5lbC90ZXN0X3NlbGVjdF9wb2xsX2Vwb2xsIGIvdGVzdHMv cmVncmVzc2lvbi9rZXJuZWwvdGVzdF9zZWxlY3RfcG9sbF9lcG9sbAppbmRleCAyYWE0ZDZmZS4u ODdkNWU5MTQgMTAwNzU1Ci0tLSBhL3Rlc3RzL3JlZ3Jlc3Npb24va2VybmVsL3Rlc3Rfc2VsZWN0 X3BvbGxfZXBvbGwKKysrIGIvdGVzdHMvcmVncmVzc2lvbi9rZXJuZWwvdGVzdF9zZWxlY3RfcG9s bF9lcG9sbApAQCAtMjAsNyArMjAsNyBAQCBmaQogCiBESVNBQkxFX1ZBTElEQVRFPTAKICMgQmFi ZWx0cmFjZSBweXRob24gYmluZGluZ3MgYXJlIHJlcXVpcmVkIGZvciB0aGUgdmFsaWRhdGlvbiwg YnV0Ci0jIGl0IGlzIG5vdCBhIG1hbmRhdG9yeSBkZXBlbmRhbmN5IG9mIHRoZSBwcm9qZWN0LCBz byBmYWlsIHJ1biB0aGUKKyMgaXQgaXMgbm90IGEgbWFuZGF0b3J5IGRlcGVuZGVuY3kgb2YgdGhl IHByb2plY3QsIHNvIGZhaWwgcnVuIHRoZQogIyB3aXRob3V0IHRoZSBjb250ZW50IHZhbGlkYXRp b24sIGF0IGxlYXN0IHdlIHRlc3QgdGhhdCB3ZSBhcmUgbm90CiAjIGNyYXNoaW5nIHRoZSBrZXJu ZWwuCiAkVkFMSURBVEVfU0NSSVBUIC0taGVscCA+L2Rldi9udWxsIDI+JjEKZGlmZiAtLWdpdCBh L3Rlc3RzL3JlZ3Jlc3Npb24va2VybmVsL3Rlc3RfdXNlcnNwYWNlX3Byb2JlIGIvdGVzdHMvcmVn cmVzc2lvbi9rZXJuZWwvdGVzdF91c2Vyc3BhY2VfcHJvYmUKaW5kZXggOTg4NmYxZTEuLjI3M2Zm ODE3IDEwMDc1NQotLS0gYS90ZXN0cy9yZWdyZXNzaW9uL2tlcm5lbC90ZXN0X3VzZXJzcGFjZV9w cm9iZQorKysgYi90ZXN0cy9yZWdyZXNzaW9uL2tlcm5lbC90ZXN0X3VzZXJzcGFjZV9wcm9iZQpA QCAtNDgsNyArNDgsNyBAQCBmdW5jdGlvbiB0ZXN0X3VzZXJzcGFjZV9wcm9iZV9lbmFibGVfZmls ZV9ub2V4aXN0ICgpCiAJU0VTU0lPTl9OQU1FPSJ0ZXN0X3VzZXJzcGFjZV9wcm9iZV9lbmFibGVf ZmlsZV9ub2V4aXN0IgogCUVOQUJMRV9FWFBSPSJlbGY6L2V0Yy9maWxlLW5vdC1leGlzdDokRUxG X1NZTUJPTCIKIAotCWRpYWcgIlVzZXJzcGFjZSBwcm9iZSBlbmFibGUgb24gbm9uLWV4aXN0YW50 IGZpbGUiCisJZGlhZyAiVXNlcnNwYWNlIHByb2JlIGVuYWJsZSBvbiBub24tZXhpc3RlbnQgZmls ZSIKIAogCWNyZWF0ZV9sdHRuZ19zZXNzaW9uX29rICRTRVNTSU9OX05BTUUgIiRUUkFDRV9QQVRI IgogCkBAIC0xMDAsNyArMTAwLDcgQEAgZnVuY3Rpb24gdGVzdF91c2Vyc3BhY2VfcHJvYmVfZW5h YmxlX2VsZl9ub25leGlzdGFudF9zeW1ib2wgKCkKIAlFTEZfU1lNQk9MX05PX0VYSVNUPSJmdW5j dGlvbl9kb2VzbnRfZXhpc3QiCiAJRU5BQkxFX0VYUFI9ImVsZjokRUxGX1RFU1RfQklOOiRFTEZf U1lNQk9MX05PX0VYSVNUIgogCi0JZGlhZyAiVXNlcnNwYWNlIHByb2JlIGVuYWJsZSB3aXRoIG5v bmV4aXN0YW50IEVMRiBzeW1ib2wiCisJZGlhZyAiVXNlcnNwYWNlIHByb2JlIGVuYWJsZSB3aXRo IG5vbmV4aXN0ZW50IEVMRiBzeW1ib2wiCiAKIAljcmVhdGVfbHR0bmdfc2Vzc2lvbl9vayAkU0VT U0lPTl9OQU1FICIkVFJBQ0VfUEFUSCIKIApAQCAtNTk3LDcgKzU5Nyw3IEBAIGZ1bmN0aW9uIHRl c3RfdXNlcnNwYWNlX3Byb2JlX2VuYWJsZV9zZHRfbm9uZXhpc3RhbnRfcHJvdmlkZXIgKCkKIAlQ Uk9CRT0idHAxIgogCUVOQUJMRV9FWFBSPSJzZHQ6JFNEVF9URVNUX0JJTjokUFJPVklERVI6JFBS T0JFIgogCi0JZGlhZyAiVXNlcnNwYWNlIHByb2JlIFNEVCBvbiB0cmFjZXBvaW50IG5vbiBleGlz dGFudCBwcm92aWRlciIKKwlkaWFnICJVc2Vyc3BhY2UgcHJvYmUgU0RUIG9uIHRyYWNlcG9pbnQg bm9uIGV4aXN0ZW50IHByb3ZpZGVyIgogCiAJY3JlYXRlX2x0dG5nX3Nlc3Npb25fb2sgJFNFU1NJ T05fTkFNRSAiJFRSQUNFX1BBVEgiCiAKQEAgLTYxNiw3ICs2MTYsNyBAQCBmdW5jdGlvbiB0ZXN0 X3VzZXJzcGFjZV9wcm9iZV9lbmFibGVfc2R0X25vbmV4aXN0YW50X3Byb2JlICgpCiAJUFJPQkU9 Im5vdF9hX3RyYWNlcG9pbnQiCiAJRU5BQkxFX0VYUFI9InNkdDokU0RUX1RFU1RfQklOOiRQUk9W SURFUjokUFJPQkUiCiAKLQlkaWFnICJVc2Vyc3BhY2UgcHJvYmUgU0RUIG9uIG5vbiBleGlzdGFu dCBwcm9iZSIKKwlkaWFnICJVc2Vyc3BhY2UgcHJvYmUgU0RUIG9uIG5vbiBleGlzdGVudCBwcm9i ZSIKIAogCWNyZWF0ZV9sdHRuZ19zZXNzaW9uX29rICRTRVNTSU9OX05BTUUgIiRUUkFDRV9QQVRI IgogCkBAIC02MzUsNyArNjM1LDcgQEAgZnVuY3Rpb24gdGVzdF91c2Vyc3BhY2VfcHJvYmVfZW5h YmxlX3NkdF93aXRoX3NlbWEgKCkKIAlQUk9CRT0idHBfd2l0aF9zZW1hcGhvcmUiCiAJRU5BQkxF X0VYUFI9InNkdDokU0RUX1RFU1RfQklOOiRQUk9WSURFUjokUFJPQkUiCiAKLQlkaWFnICJVc2Vy c3BhY2UgcHJvYmUgU0RUIG9uIG5vbiBleGlzdGFudCBwcm9iZSIKKwlkaWFnICJVc2Vyc3BhY2Ug cHJvYmUgU0RUIG9uIG5vbiBleGlzdGVudCBwcm9iZSIKIAogCWNyZWF0ZV9sdHRuZ19zZXNzaW9u X29rICRTRVNTSU9OX05BTUUgIiRUUkFDRV9QQVRIIgogCmRpZmYgLS1naXQgYS90ZXN0cy9yZWdy ZXNzaW9uL2tlcm5lbC92YWxpZGF0ZV9zZWxlY3RfcG9sbF9lcG9sbC5weSBiL3Rlc3RzL3JlZ3Jl c3Npb24va2VybmVsL3ZhbGlkYXRlX3NlbGVjdF9wb2xsX2Vwb2xsLnB5CmluZGV4IDNhNjJhMWYx Li5hOTA1MDNmMyAxMDA3NTUKLS0tIGEvdGVzdHMvcmVncmVzc2lvbi9rZXJuZWwvdmFsaWRhdGVf c2VsZWN0X3BvbGxfZXBvbGwucHkKKysrIGIvdGVzdHMvcmVncmVzc2lvbi9rZXJuZWwvdmFsaWRh dGVfc2VsZWN0X3BvbGxfZXBvbGwucHkKQEAgLTI4LDE4ICsyOCwxOCBAQCBjbGFzcyBUcmFjZVBh cnNlcjoKICAgICAgICAgc2VsZi50cmFjZSA9IHRyYWNlCiAgICAgICAgIHNlbGYucGlkID0gcGlk CiAKLSAgICAgICAgIyBUaGlzIGRpY3Rpb25uYXJ5IGhvbGRzIHRoZSByZXN1bHRzIG9mIGVhY2gg dGVzdGNhc2VzIG9mIGEgdGVzdC4KKyAgICAgICAgIyBUaGlzIGRpY3Rpb25hcnkgaG9sZHMgdGhl IHJlc3VsdHMgb2YgZWFjaCB0ZXN0Y2FzZXMgb2YgYSB0ZXN0LgogICAgICAgICAjIEl0cyBsYXlv dXQgaXMgdGhlIGZvbGxvd2luZzoKICAgICAgICAgIyAgICAgICBzZWxmLmV4cGVjdD17CiAgICAg ICAgICMgICAgICAgICAgICAgICAgICAgICAgICdldmVudF9uYW1lXzEnOiB7J2NoZWNrXzEnOiAw LCAnY2hlY2tfMjogMX0sCiAgICAgICAgICMgICAgICAgICAgICAgICAgICAgICAgICdldmVudF9u YW1lXzInOiB7J2NoZWNrXzEnOiAxfQogICAgICAgICAjICAgICAgICAgICAgICAgICAgIH0KICAg ICAgICAgIyBFYWNoIHRlc3QgY2xhc3NlcyBjaGVja3MgdGhlIHBheWxvYWQgb2YgZGlmZmVyZW50 IGV2ZW50cy4gRWFjaCBvZgotICAgICAgICAjIHRob3NlIGNoZWNrcyBhcmUgc3RvcmVkIGluIGEg ZXZlbnRfbmFtZSBzcGVjaWZpYyBkaWN0aW9ubmFyeSBpbiB0aGlzCisgICAgICAgICMgdGhvc2Ug Y2hlY2tzIGFyZSBzdG9yZWQgaW4gYSBldmVudF9uYW1lIHNwZWNpZmljIGRpY3Rpb25hcnkgaW4g dGhpcwogICAgICAgICAjIGRhdGEgc3RydWN0dXJlLgogICAgICAgICBzZWxmLmV4cGVjdCA9IGRl ZmF1bHRkaWN0KGxhbWJkYSA6IGRlZmF1bHRkaWN0KGludCkpCiAKLSAgICAgICAgIyBUaGlzIGRp Y3Rpb25uYXJ5IGhvbGRzIHRoZSB2YWx1ZSByZWNvcmRlZCBpbiB0aGUgdHJhY2UgdGhhdCBhcmUK KyAgICAgICAgIyBUaGlzIGRpY3Rpb25hcnkgaG9sZHMgdGhlIHZhbHVlIHJlY29yZGVkIGluIHRo ZSB0cmFjZSB0aGF0IGFyZQogICAgICAgICAjIHRlc3RlZC4gSXRzIGNvbnRlbnQgaXMgdXNlIHRv IHByaW50IHRoZSB2YWx1ZXMgdGhhdCBjYXVzZWQgYSB0ZXN0IHRvCiAgICAgICAgICMgZmFpbC4K ICAgICAgICAgc2VsZi5yZWNvcmRlZF92YWx1ZXMgPSB7fQpAQCAtNjksNyArNjksNyBAQCBjbGFz cyBUcmFjZVBhcnNlcjoKICAgICAgICAgICAgICAgICBpZiBzZWxmLmV4cGVjdFtldmVudF9uYW1l XVt2YWxdID09IDA6CiAgICAgICAgICAgICAgICAgICAgIHByaW50KCIlcyBub3QgdmFsaWRhdGVk IiAlIHZhbCkKICAgICAgICAgICAgICAgICAgICAgcHJpbnQoIlZhbHVlcyBvZiB0aGUgbG9jYWwg dmFyaWFibGVzIG9mIHRoaXMgdGVzdDoiKQotICAgICAgICAgICAgICAgICAgICAjIHVzaW5nIHBw cmludCBmb3IgcHJldHR5IHByaW50aW5nIHRoZSBkaWN0aW9ubmFyeQorICAgICAgICAgICAgICAg ICAgICAjIHVzaW5nIHBwcmludCBmb3IgcHJldHR5IHByaW50aW5nIHRoZSBkaWN0aW9uYXJ5CiAg ICAgICAgICAgICAgICAgICAgIHBwcmludC5wcHJpbnQoc2VsZi5yZWNvcmRlZF92YWx1ZXNbZXZl bnRfbmFtZV0pCiAgICAgICAgICAgICAgICAgICAgIHJldCA9IDEKIApkaWZmIC0tZ2l0IGEvdGVz dHMvcmVncmVzc2lvbi90b29scy9saXZlL2xpdmVfdGVzdC5jIGIvdGVzdHMvcmVncmVzc2lvbi90 b29scy9saXZlL2xpdmVfdGVzdC5jCmluZGV4IDRjNTZkZWVjLi5mZjU0Y2U4ZiAxMDA2NDQKLS0t IGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9saXZlL2xpdmVfdGVzdC5jCisrKyBiL3Rlc3RzL3Jl Z3Jlc3Npb24vdG9vbHMvbGl2ZS9saXZlX3Rlc3QuYwpAQCAtNTI0LDcgKzUyNCw3IEBAIHJldHJ5 OgogCQlpZiAoZmlyc3RfcGFja2V0X3N0cmVhbV9pZCA8IDApIHsKIAkJCS8qCiAJCQkgKiBJbml0 aWFsaXplIHRoZSBmaXJzdCBwYWNrZXQgc3RyZWFtIGlkLiBUaGF0IGlzLAotCQkJICogdGhlIGZp cnN0IGFjdGl2ZSBzdHJlYW0gZW5jb3V0ZXJlZC4KKwkJCSAqIHRoZSBmaXJzdCBhY3RpdmUgc3Ry ZWFtIGVuY291bnRlcmVkLgogCQkJICovCiAJCQlmaXJzdF9wYWNrZXRfb2Zmc2V0ID0gYmU2NHRv aChycC5vZmZzZXQpOwogCQkJZmlyc3RfcGFja2V0X2xlbiA9IGJlNjR0b2gocnAucGFja2V0X3Np emUpIC8gQ0hBUl9CSVQ7CmRpZmYgLS1naXQgYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL21pL3Rl c3RfbWkgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL21pL3Rlc3RfbWkKaW5kZXggYWY3Y2E3NjUu LjI2NWMyMWI4IDEwMDc1NQotLS0gYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL21pL3Rlc3RfbWkK KysrIGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9taS90ZXN0X21pCkBAIC0yMTEsNyArMjExLDcg QEAgZnVuY3Rpb24gdGVzdF9saXN0X3Nlc3Npb25zICgpCiAKIAlPVVRQVVRfRklMRT0ibGlzdF9z ZXNzaW9ucy54bWwiCiAKLQkjVGVzdCBidWlkIHVwCisJI1Rlc3QgYnVpbGQgdXAKIAlPVVRQVVRf REVTVD0kREVWTlVMTAogCWZvciAoKCBpID0gMDsgaSA8IDM7IGkrKyApKTsgZG8KIAkJY3JlYXRl X2x0dG5nX3Nlc3Npb25fb2sgJHtzZXNzaW9uX25hbWVbJGldfSAkT1VUUFVUX0RJUgpAQCAtMzM0 LDcgKzMzNCw3IEBAIGZ1bmN0aW9uIHRlc3RfdXN0X2x0dG5nX2V2ZW50ICgpCiAJb2sgJD8gIk1p IHRlc3Q6IEVuYWJsZV9ldmVudCBmb3IgdXN0IGRvbWFpbiB4c2QgdmFsaWRhdGlvbiIKIAlpc19j b21tYW5kX3N1Y2Nlc3MgJE9VVFBVVF9ERVNUIGZhbHNlCiAKLQkjVHJ5IHRvIHJlZW5hYmxlIGFu IGVuYWJsZWQgZXZlbnQuIFNob3VsZCBmYWlsCisJI1RyeSB0byByZS1lbmFibGUgYW4gZW5hYmxl ZCBldmVudC4gU2hvdWxkIGZhaWwKIAllbmFibGVfdXN0X2x0dG5nX2V2ZW50X2ZhaWwgJHNlc3Np b25fbmFtZSAke2V2ZW50WzBdfSAkY2hhbm5lbF9uYW1lCiAJJFhNTF9WQUxJREFURSAkT1VUUFVU X0RFU1QKIAlvayAkPyAiTWkgdGVzdDogRmFpbCBlbmFibGVfZXZlbnQgZm9yIHVzdCBkb21haW4g eHNkIHZhbGlkYXRpb24iCkBAIC0zOTQsNyArMzk0LDcgQEAgZnVuY3Rpb24gdGVzdF9saXN0X2No YW5uZWwgKCkKIAogCU9VVFBVVF9GSUxFPSJsaXN0X2NoYW5uZWwueG1sIgogCi0JI1Rlc3QgYnVp ZCB1cAorCSNUZXN0IGJ1aWxkIHVwCiAJT1VUUFVUX0RFU1Q9JERFVk5VTEwKIAljcmVhdGVfbHR0 bmdfc2Vzc2lvbl9vayAkc2Vzc2lvbl9uYW1lICRPVVRQVVRfRElSCiAJZW5hYmxlX3VzdF9sdHRu Z19jaGFubmVsX29rICRzZXNzaW9uX25hbWUgJGNoYW5uZWxfbmFtZQpAQCAtNDQxLDcgKzQ0MSw3 IEBAIGZ1bmN0aW9uIHRlc3RfbGlzdF9kb21haW4gKCkKIAogCU9VVFBVVF9GSUxFPSJsaXN0X2Rv bWFpbi54bWwiCiAKLQkjVGVzdCBidWlkIHVwCisJI1Rlc3QgYnVpbGQgdXAKIAlPVVRQVVRfREVT VD0kREVWTlVMTAogCWNyZWF0ZV9sdHRuZ19zZXNzaW9uX29rICRzZXNzaW9uX25hbWUgJE9VVFBV VF9ESVIKIAllbmFibGVfdXN0X2x0dG5nX2NoYW5uZWxfb2sgJHNlc3Npb25fbmFtZSAkY2hhbm5l bF9uYW1lCkBAIC00ODksNyArNDg5LDcgQEAgZnVuY3Rpb24gdGVzdF9saXN0X3Nlc3Npb24gKCkK IAogCU9VVFBVVF9GSUxFPSJsaXN0X3Nlc3Npb24ueG1sIgogCi0JI1Rlc3QgYnVpZCB1cAorCSNU ZXN0IGJ1aWxkIHVwCiAJT1VUUFVUX0RFU1Q9JERFVk5VTEwKIAljcmVhdGVfbHR0bmdfc2Vzc2lv bl9vayAkc2Vzc2lvbl9uYW1lICRPVVRQVVRfRElSCiAJZW5hYmxlX3VzdF9sdHRuZ19jaGFubmVs X29rICRzZXNzaW9uX25hbWUgJGNoYW5uZWxfbmFtZQpAQCAtNTI5LDcgKzUyOSw3IEBAIGZ1bmN0 aW9uIHRlc3RfbGlzdF91c3RfZXZlbnQgKCkKIAogCU9VVFBVVF9GSUxFPSJsaXN0X3VzdF9ldmVu dC54bWwiCiAKLQkjVGVzdCBidWlkIHVwCisJI1Rlc3QgYnVpbGQgdXAKIAlPVVRQVVRfREVTVD0k T1VUUFVUX0RJUi8kT1VUUFVUX0ZJTEUKIAogCSNCZWdpbiB0ZXN0aW5nCkBAIC01NzgsNyArNTc4 LDcgQEAgZnVuY3Rpb24gdGVzdF9zdGFydF9zdG9wICgpIHsKIAogCU9VVFBVVF9GSUxFPSJsaXN0 X3N0YXJ0X3N0b3AueG1sIgogCi0JI1Rlc3QgYnVpZCB1cAorCSNUZXN0IGJ1aWxkIHVwCiAJT1VU UFVUX0RFU1Q9JERFVk5VTEwKIAljcmVhdGVfbHR0bmdfc2Vzc2lvbl9vayAkc2Vzc2lvbl9uYW1l ICRPVVRQVVRfRElSCiAKQEAgLTY2MCw3ICs2NjAsNyBAQCBmdW5jdGlvbiB0ZXN0X3NuYXBzaG90 ICgpIHsKIAlPVVRQVVRfRklMRT0ic25hcHNob3QueG1sIgogCiAKLQkjVGVzdCBidWlkIHVwCisJ I1Rlc3QgYnVpbGQgdXAKIAlPVVRQVVRfREVTVD0kREVWTlVMTAogCWNyZWF0ZV9sdHRuZ19zZXNz aW9uX25vX291dHB1dCAkc2Vzc2lvbl9uYW1lCiAKQEAgLTc0MCw3ICs3NDAsNyBAQCBmdW5jdGlv biB0ZXN0X3RyYWNrX3VudHJhY2sgKCkKIAlsb2NhbCBwaWQ9IjEsMiwzIgogCU9VVFBVVF9GSUxF PSJ0cmFjay54bWwiCiAKLQkjVGVzdCBidWlkIHVwCisJI1Rlc3QgYnVpbGQgdXAKIAlPVVRQVVRf REVTVD0kREVWTlVMTAogCWNyZWF0ZV9sdHRuZ19zZXNzaW9uX25vX291dHB1dCAkc2Vzc2lvbl9u YW1lCiAKQEAgLTgxOCw3ICs4MTgsNyBAQCBmdW5jdGlvbiB0ZXN0X3RyYWNrX3VudHJhY2sgKCkK IAl0ZXN0ICIkcmVzdWx0IiA9ICJ0cnVlIgogCW9rICQ/ICJNaSB0ZXN0OiBwaWQgZXhwZWN0ZWQg aXMgdHJ1ZSBnb3QgJHJlc3VsdCIKIAotCSNUZXN0IGlmIHBpZF90cmFja2VyIGlzIGVuYWJsZWQg YXMgZGVmaW5pZWQgYnkgcGlkX3RyYWNrZXIKKwkjVGVzdCBpZiBwaWRfdHJhY2tlciBpcyBlbmFi bGVkIGFzIGRlZmluZWQgYnkgcGlkX3RyYWNrZXIKIAkjYmVoYXZpb3IuIElmIGFsbCBwaWQgYXJl IHVudHJhY2sgdGhhbiB0aGUgcGlkX3RyYWNrZXIgaXMgc3RpbGwKIAkjZW5hYmxlZCAocGlkX3Ry YWNrZXIgbm9kZSBpcyBwcmVzZW50KS4KIAlsaXN0X2x0dG5nX3dpdGhfb3B0cyAkc2Vzc2lvbl9u YW1lCkBAIC04NDcsMTIgKzg0NywxMiBAQCBmdW5jdGlvbiB0ZXN0X3RyYWNrX3VudHJhY2sgKCkK IAl0ZXN0ICIkbnVtIiAtZXEgIjEiCiAJb2sgJD8gIk1pIHRlc3Q6IHRyYWNrIHBpZCBleHBlY3Rp bmcgMSBwcm9jZXNzIGdvdCAkbnVtIgogCi0JI1Rlc3QgaWYgdGhlIGlkIGlzIHRydWUgd2ljaCBy ZXByZXNlbnQgdGhlIGFsbCBhcmd1bWVudAorCSNUZXN0IGlmIHRoZSBpZCBpcyB0cnVlIHdoaWNo IHJlcHJlc2VudCB0aGUgYWxsIGFyZ3VtZW50CiAJdGVzdCAiJHJlc3VsdCIgPSAidHJ1ZSIKIAlv ayAkPyAiTWkgdGVzdDogcGlkIGV4cGVjdGVkIGlzIHRydWUgZ290ICRyZXN1bHQiCiAKLQkjVGVz dCBpZiBwaWRfdHJhY2tlciBpcyBlbmFibGVkIGFzIGRlZmluaWVkIGJ5IHBpZF90cmFja2VyCi0J I2JlaGF2aW9yLiBJZiBhbGwgcGlkIGFyZSB1bnRyYWNrIHRoYW50IHRoZSBwaWRfdHJhY2tlciBp cworCSNUZXN0IGlmIHBpZF90cmFja2VyIGlzIGVuYWJsZWQgYXMgZGVmaW5lZCBieSBwaWRfdHJh Y2tlcgorCSNiZWhhdmlvci4gSWYgYWxsIHBpZCBhcmUgdW50cmFjayB0aGFuIHRoZSBwaWRfdHJh Y2tlciBpcwogCSNkaXNhYmxlZCAobm9kZSBwaWRfdHJhY2tlciBkbyBub3QgZXhpc3QpCiAJbGlz dF9sdHRuZ193aXRoX29wdHMgJHNlc3Npb25fbmFtZQogCSRYTUxfVkFMSURBVEUgJE9VVFBVVF9E RVNUCmRpZmYgLS1naXQgYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL21pL3ZhbGlkYXRlX3htbC5j IGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9taS92YWxpZGF0ZV94bWwuYwppbmRleCBlYWZlOGI3 Ny4uOGI3ZTE4YTggMTAwNjQ0Ci0tLSBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvbWkvdmFsaWRh dGVfeG1sLmMKKysrIGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9taS92YWxpZGF0ZV94bWwuYwpA QCAtMTM3LDcgKzEzNyw3IEBAIHN0YXRpYyBpbnQgdmFsaWRhdGVfeG1sKGNvbnN0IGNoYXIgKnht bF9maWxlX3BhdGgsIHN0cnVjdCB2YWxpZGF0aW9uX2N0eCAqY3R4KQogCS8qIFZhbGlkYXRlIGFn YWluc3QgdGhlIHZhbGlkYXRpb24gY3R4ICh4c2QpICovCiAJcmV0ID0geG1sU2NoZW1hVmFsaWRh dGVEb2MoY3R4LT5zY2hlbWFfdmFsaWRhdGlvbl9jdHgsIGRvYyk7CiAJaWYgKHJldCkgewotCQlm cHJpbnRmKHN0ZGVyciwgIkVSUjogJXNcbiIsICJYTUwgaXMgbm90IHZhbGlkIGFnYWludCBwcm92 aWRlZCBYU0QiKTsKKwkJZnByaW50ZihzdGRlcnIsICJFUlI6ICVzXG4iLCAiWE1MIGlzIG5vdCB2 YWxpZCBhZ2FpbnN0IHByb3ZpZGVkIFhTRCIpOwogCQlyZXQgPSBDTURfRVJST1I7CiAJCWdvdG8g ZW5kOwogCX0KZGlmZiAtLWdpdCBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvcm90YXRpb24vcm90 YXRlX3V0aWxzLnNoIGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9yb3RhdGlvbi9yb3RhdGVfdXRp bHMuc2gKaW5kZXggOGZmOTNmOTEuLjEwNWIyZWQ5IDEwMDY0NAotLS0gYS90ZXN0cy9yZWdyZXNz aW9uL3Rvb2xzL3JvdGF0aW9uL3JvdGF0ZV91dGlscy5zaAorKysgYi90ZXN0cy9yZWdyZXNzaW9u L3Rvb2xzL3JvdGF0aW9uL3JvdGF0ZV91dGlscy5zaApAQCAtMjUsMTEgKzI1LDExIEBAIGZ1bmN0 aW9uIGNsZWFuX3BhdGggKCkKIGZ1bmN0aW9uIGdldF9jaHVua19wYXR0ZXJuICgpCiB7CiAJbG9j YWwgdG9kYXk9JDEKLQl0b21tb3Jvdz0kKGRhdGUgKyVZJW0lZCAtZCAiJHt0b2RheX0rMWRheXMi KQorCXRvbW9ycm93PSQoZGF0ZSArJVklbSVkIC1kICIke3RvZGF5fSsxZGF5cyIpCiAJcGF0dGVy bl9ob3VyX21pbj0iWzAtOV1bMC05XVswLTldWzAtOV0iCiAJcGF0dGVybl9ob3VyX21pbl9zZWM9 IiR7cGF0dGVybl9ob3VyX21pbn1bMC05XVswLTldIgogCi0JYmFzZV9wYXR0ZXJuPSJAKCR7dG9k YXl9fCR7dG9tbW9yb3d9KVQke3BhdHRlcm5faG91cl9taW5fc2VjfVsrLV0ke3BhdHRlcm5faG91 cl9taW59IgorCWJhc2VfcGF0dGVybj0iQCgke3RvZGF5fXwke3RvbW9ycm93fSlUJHtwYXR0ZXJu X2hvdXJfbWluX3NlY31bKy1dJHtwYXR0ZXJuX2hvdXJfbWlufSIKIAogCSMgUmV0dXJuIHRoZSBw YXR0ZXJuCiAJIyBZWVlZTU1ERFRISE1NU1NbKy1dSEhNTS1ZWVlZTU1ERFRISE1NU1NbKy1dSEhN TQpkaWZmIC0tZ2l0IGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9zdHJlYW1pbmcvdGVzdF9oaWdo X3Rocm91Z2hwdXRfbGltaXRzIGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9zdHJlYW1pbmcvdGVz dF9oaWdoX3Rocm91Z2hwdXRfbGltaXRzCmluZGV4IDM1MmNmOWFhLi4wNjUwZTU0MCAxMDA3NTUK LS0tIGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9zdHJlYW1pbmcvdGVzdF9oaWdoX3Rocm91Z2hw dXRfbGltaXRzCisrKyBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc3RyZWFtaW5nL3Rlc3RfaGln aF90aHJvdWdocHV0X2xpbWl0cwpAQCAtMTc3LDcgKzE3Nyw3IEBAIGVsc2UKIAlpc3Jvb3Q9MAog ZmkKIAotc2tpcCAkaXNyb290ICJSb290IGFjY2VzcyBpcyBuZWVkZWQgdG8gc2V0IGJhbmR3aXRo IGxpbWl0cy4gU2tpcHBpbmcgYWxsIHRlc3RzLiIgJE5VTV9URVNUUyB8fAorc2tpcCAkaXNyb290 ICJSb290IGFjY2VzcyBpcyBuZWVkZWQgdG8gc2V0IGJhbmR3aWR0aCBsaW1pdHMuIFNraXBwaW5n IGFsbCB0ZXN0cy4iICROVU1fVEVTVFMgfHwKIHsKIAogCSMgQ2F0Y2ggc2lnaW50IGFuZCB0cnkg dG8gY2xlYW51cCBsaW1pdHMKQEAgLTE5OCw2ICsxOTgsNiBAQCBza2lwICRpc3Jvb3QgIlJvb3Qg YWNjZXNzIGlzIG5lZWRlZCB0byBzZXQgYmFuZHdpdGggbGltaXRzLiBTa2lwcGluZyBhbGwgdGVz dHMuIgogCQlzdG9wX2x0dG5nX3JlbGF5ZAogCQlzdG9wX2x0dG5nX3Nlc3Npb25kCiAJCXJlc2V0 X2J3X2xpbWl0Ci0JCW9rICQ/ICJSZXNldCBiYW5kd2l0aCBsaW1pdHMiCisJCW9rICQ/ICJSZXNl dCBiYW5kd2lkdGggbGltaXRzIgogCWRvbmUKIH0KZGlmZiAtLWdpdCBhL3Rlc3RzL3JlZ3Jlc3Np b24vdG9vbHMvdHJhY2tlci90ZXN0X2V2ZW50X3RyYWNrZXIgYi90ZXN0cy9yZWdyZXNzaW9uL3Rv b2xzL3RyYWNrZXIvdGVzdF9ldmVudF90cmFja2VyCmluZGV4IDcxMTY5MGFmLi5hNTY5NzVmOCAx MDA3NTUKLS0tIGEvdGVzdHMvcmVncmVzc2lvbi90b29scy90cmFja2VyL3Rlc3RfZXZlbnRfdHJh Y2tlcgorKysgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3RyYWNrZXIvdGVzdF9ldmVudF90cmFj a2VyCkBAIC01LDcgKzUsNyBAQAogIwogIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIu MC1vbmx5CiAKLVRFU1RfREVTQz0iTFRUbmcgLSBFdmVudCB0cmFrZXIgdGVzdCIKK1RFU1RfREVT Qz0iTFRUbmcgLSBFdmVudCB0cmFja2VyIHRlc3QiCiAKIENVUkRJUj0kKGRpcm5hbWUgIiQwIikv CiBURVNURElSPSIkQ1VSRElSLy4uLy4uLy4uIgpkaWZmIC0tZ2l0IGEvdGVzdHMvcmVncmVzc2lv bi91c3QvZGFlbW9uL3Rlc3RfZGFlbW9uLnB5IGIvdGVzdHMvcmVncmVzc2lvbi91c3QvZGFlbW9u L3Rlc3RfZGFlbW9uLnB5CmluZGV4IDAzNTFmMWQyLi5hODgxNTA1MyAxMDA2NDQKLS0tIGEvdGVz dHMvcmVncmVzc2lvbi91c3QvZGFlbW9uL3Rlc3RfZGFlbW9uLnB5CisrKyBiL3Rlc3RzL3JlZ3Jl c3Npb24vdXN0L2RhZW1vbi90ZXN0X2RhZW1vbi5weQpAQCAtNzEsMTYgKzcxLDE2IEBAIGZvciBl dmVudF9saW5lIGluIGJhYmVsdHJhY2VfcHJvY2Vzcy5zdGRvdXQ6CiAKICAgICBpZiByZS5zZWFy Y2gociJiZWZvcmVfZGFlbW9uIiwgZXZlbnRfbGluZSkgaXMgbm90IE5vbmU6CiAgICAgICAgIGlm IGJlZm9yZV9kYWVtb25fZXZlbnRfZm91bmQ6Ci0gICAgICAgICAgICBiYWlsKCJNdWx0aXBsZSBp bnN0YW5jZXMgb2YgdGhlIGJlZm9yZV9kYWVtb24gZXZlbnQgZm91bmQuIFBsZWFzZSBtYWtlIHN1 cmUgb25seSBvbmUgaW5zdGFuY2Ugb2YgdGhpcyB0ZXN0IGlzIHJ1bm5uaW5nLiIpCisgICAgICAg ICAgICBiYWlsKCJNdWx0aXBsZSBpbnN0YW5jZXMgb2YgdGhlIGJlZm9yZV9kYWVtb24gZXZlbnQg Zm91bmQuIFBsZWFzZSBtYWtlIHN1cmUgb25seSBvbmUgaW5zdGFuY2Ugb2YgdGhpcyB0ZXN0IGlz IHJ1bm5pbmcuIikKICAgICAgICAgYmVmb3JlX2RhZW1vbl9ldmVudF9mb3VuZCA9IFRydWUKICAg ICAgICAgbWF0Y2ggPSByZS5zZWFyY2gociIoPzw9cGlkID0gKVxkKyIsIGV2ZW50X2xpbmUpCiAK ICAgICAgICAgaWYgbWF0Y2ggaXMgbm90IE5vbmU6CiAgICAgICAgICAgICBiZWZvcmVfZGFlbW9u X2V2ZW50X3BpZCA9IGludChtYXRjaC5ncm91cCgwKSkKIAogICAgIGlmIHJlLnNlYXJjaChyImFm dGVyX2RhZW1vbiIsIGV2ZW50X2xpbmUpIGlzIG5vdCBOb25lOgogICAgICAgICBpZiBhZnRlcl9k YWVtb25fZXZlbnRfZm91bmQ6Ci0gICAgICAgICAgICBiYWlsKCJNdWx0aXBsZSBpbnN0YW5jZXMg b2YgdGhlIGFmdGVyX2RhZW1vbiBldmVudCBmb3VuZC4gUGxlYXNlIG1ha2Ugc3VyZSBvbmx5IG9u ZSBpbnN0YW5jZSBvZiB0aGlzIHRlc3QgaXMgcnVubm5pbmcuIikKKyAgICAgICAgICAgIGJhaWwo Ik11bHRpcGxlIGluc3RhbmNlcyBvZiB0aGUgYWZ0ZXJfZGFlbW9uIGV2ZW50IGZvdW5kLiBQbGVh c2UgbWFrZSBzdXJlIG9ubHkgb25lIGluc3RhbmNlIG9mIHRoaXMgdGVzdCBpcyBydW5uaW5nLiIp CiAgICAgICAgIGFmdGVyX2RhZW1vbl9ldmVudF9mb3VuZCA9IFRydWUKICAgICAgICAgbWF0Y2gg PSByZS5zZWFyY2gociIoPzw9cGlkID0gKVxkKyIsIGV2ZW50X2xpbmUpCiAKZGlmZiAtLWdpdCBh L3Rlc3RzL3JlZ3Jlc3Npb24vdXN0L2dldGNwdS1vdmVycmlkZS9sdHRuZy11c3QtZ2V0Y3B1LW92 ZXJyaWRlLXRlc3QuYyBiL3Rlc3RzL3JlZ3Jlc3Npb24vdXN0L2dldGNwdS1vdmVycmlkZS9sdHRu Zy11c3QtZ2V0Y3B1LW92ZXJyaWRlLXRlc3QuYwppbmRleCA5NzZiY2IyMy4uOGRlMDI3NDIgMTAw NjQ0Ci0tLSBhL3Rlc3RzL3JlZ3Jlc3Npb24vdXN0L2dldGNwdS1vdmVycmlkZS9sdHRuZy11c3Qt Z2V0Y3B1LW92ZXJyaWRlLXRlc3QuYworKysgYi90ZXN0cy9yZWdyZXNzaW9uL3VzdC9nZXRjcHUt b3ZlcnJpZGUvbHR0bmctdXN0LWdldGNwdS1vdmVycmlkZS10ZXN0LmMKQEAgLTEsNiArMSw2IEBA CiAvKgogICogbHR0bmctdXN0LWdldGNwdS1vdmVycmlkZS10ZXN0LmMKLSAqIEJhc2VkIG9uIGx0 dG5nLWdldGNwdS1vdmVycmlkZS1leGFtcGxlLmMgZnJvbSBMVFRuZy11c3QgZXhlbXBsZQorICog QmFzZWQgb24gbHR0bmctZ2V0Y3B1LW92ZXJyaWRlLWV4YW1wbGUuYyBmcm9tIExUVG5nLXVzdCBl eGFtcGxlCiAgKgogICogQ29weXJpZ2h0IChDKSAyMDE0IE1hdGhpZXUgRGVzbm95ZXJzIDxtYXRo aWV1LmRlc25veWVyc0BlZmZpY2lvcy5jb20+CiAgKiBDb3B5cmlnaHQgKEMpIDIwMTUgSm9uYXRo YW4gUmFqb3R0ZSA8am9uYXRoYW4ucmFqb3R0ZS1qdWxpZW5AZWZmaWNpb3MuY29tPgpkaWZmIC0t Z2l0IGEvdGVzdHMvcmVncmVzc2lvbi91c3QvbGlua2luZy9SRUFETUUgYi90ZXN0cy9yZWdyZXNz aW9uL3VzdC9saW5raW5nL1JFQURNRQppbmRleCBiYmYzYTRkOC4uOTZhNDc5YmQgMTAwNjQ0Ci0t LSBhL3Rlc3RzL3JlZ3Jlc3Npb24vdXN0L2xpbmtpbmcvUkVBRE1FCisrKyBiL3Rlc3RzL3JlZ3Jl c3Npb24vdXN0L2xpbmtpbmcvUkVBRE1FCkBAIC0xMyw3ICsxMyw3IEBAIHByb3ZpZGVycyBsaW5r ZWQgZGlyZWN0bHkgYW5kIHN0YXRpY2FsbHkuIFRoZSBzYW1lIHRlc3Qgc3VpdGUgaXMgZXhlY3V0 ZWQKIGZvciBldmVyeSB2ZXJzaW9uIG9mIHRoZSBiaW5hcnkuCiAKIFRoZSByZXN1bHRpbmcgdHJh Y2UgaXMgdmVyaWZpZWQgdG8gbWFrZSBzdXJlIGl0IGlzIHZhbGlkIGFuZCBjb250YWlucyB0aGUK LWV4cGVjdGVkIHZhbHVlc3MuIFRoaXMgdGVzdCBhbHNvIHZlcmlmaWVzIHRoYXQgdGhlIGV4ZWN1 dGlvbiBvZiB0aGUgZGVtbyB0ZXN0CitleHBlY3RlZCB2YWx1ZXMuIFRoaXMgdGVzdCBhbHNvIHZl cmlmaWVzIHRoYXQgdGhlIGV4ZWN1dGlvbiBvZiB0aGUgZGVtbyB0ZXN0CiB3aXRob3V0IExEX1BS RUxPQUQgaGFzIG5vdCBwcm9kdWNlZCBhbnkgbG9nZ2VkIGV2ZW50cy4KIAogQWxzbyBzZXJ2ZXMg YXMgYW4gZXhhbXBsZSBvZiBidWlsZGluZyBhbmQgdHJhY2luZyBhbiBhcHBsaWNhdGlvbiB3aXRo IGFsbCB0eXBlcwpkaWZmIC0tZ2l0IGEvdGVzdHMvcmVncmVzc2lvbi91c3QvbG93LXRocm91Z2hw dXQvdGVzdF9sb3dfdGhyb3VnaHB1dCBiL3Rlc3RzL3JlZ3Jlc3Npb24vdXN0L2xvdy10aHJvdWdo cHV0L3Rlc3RfbG93X3Rocm91Z2hwdXQKaW5kZXggMTZlZjI3MzQuLjUwMTRmY2M4IDEwMDc1NQot LS0gYS90ZXN0cy9yZWdyZXNzaW9uL3VzdC9sb3ctdGhyb3VnaHB1dC90ZXN0X2xvd190aHJvdWdo cHV0CisrKyBiL3Rlc3RzL3JlZ3Jlc3Npb24vdXN0L2xvdy10aHJvdWdocHV0L3Rlc3RfbG93X3Ro cm91Z2hwdXQKQEAgLTU1LDcgKzU1LDcgQEAgZG8KIAogCWlmIFsgJHRoID0gJyJvbmUiJyBdOyB0 aGVuCiAJCSgobGFzdF92YWwrKykpCi0JCSMgV2UgZXhwZWN0IGhlcmUgYSBjb250aW5vdXMgdmFs dWUgZnJvbSAxIHRvIDIwCisJCSMgV2UgZXhwZWN0IGhlcmUgYSBjb250aW51b3VzIHZhbHVlIGZy b20gMSB0byAyMAogCQlpZiBbICRsYXN0X3ZhbCAtbmUgJHZhbCBdOyB0aGVuCiAJCQlkaWFnICJP bmUgbWludXRlIGV2ZW50IGZhaWxlZCAoJHZhbCkiCiAJCQlvdXQ9MQpkaWZmIC0tZ2l0IGEvdGVz dHMvcmVncmVzc2lvbi91c3QvbXVsdGktbGliL1JFQURNRSBiL3Rlc3RzL3JlZ3Jlc3Npb24vdXN0 L211bHRpLWxpYi9SRUFETUUKaW5kZXggMTViOTY5ZjguLjI4MTZiMWY0IDEwMDY0NAotLS0gYS90 ZXN0cy9yZWdyZXNzaW9uL3VzdC9tdWx0aS1saWIvUkVBRE1FCisrKyBiL3Rlc3RzL3JlZ3Jlc3Np b24vdXN0L211bHRpLWxpYi9SRUFETUUKQEAgLTEsNiArMSw2IEBACiBUaG9zZSB0ZXN0IGNhc2Vz IGFyZSBkZXNpZ25lZCB0byB0ZXN0IHRoZSBzdXBwb3J0IGZvciBsb2FkaW5nIGFuZCB1bmxvYWRp bmcKIHByb2JlIHByb3ZpZGVycyBhbmQgY2FsbHNpdGVzIGF0IHJ1biB0aW1lIGR1cmluZyB0cmFj aW5nLiBPbmUgdGVzdCBjYXNlIGFsc28KLXRlc3RzIHRoZSBldmVudCBwYXlsb2FkIGNvbXBhcmFp c29uIGZ1bmN0aW9ucy4KK3Rlc3RzIHRoZSBldmVudCBwYXlsb2FkIGNvbXBhcmlzb24gZnVuY3Rp b25zLgogCiBUZXN0aW5nIGJ1aWxkIGFydGVmYWN0czoKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQpkaWZmIC0tZ2l0IGEvdGVzdHMvcmVncmVzc2lvbi91c3QvbXVsdGktbGliL3Byb2Jlcy5oIGIv dGVzdHMvcmVncmVzc2lvbi91c3QvbXVsdGktbGliL3Byb2Jlcy5oCmluZGV4IDRlYzQyMzhiLi4z NTE4NGE0YSAxMDA2NDQKLS0tIGEvdGVzdHMvcmVncmVzc2lvbi91c3QvbXVsdGktbGliL3Byb2Jl cy5oCisrKyBiL3Rlc3RzL3JlZ3Jlc3Npb24vdXN0L211bHRpLWxpYi9wcm9iZXMuaApAQCAtNjcs NyArNjcsNyBAQCBUUkFDRVBPSU5UX0VWRU5UKG11bHRpLCB0cCwKICNlbGlmIGRlZmluZWQoQUNU SVZBVEVfUFJPQkVTX0UpCiAvKgogICogSGVyZSB3ZSBkZWNsYXJlIHRyYWNlcG9pbnRzIHJlYWxs eSBzaW1pbGFyIHRvIG9uZSBhbm90aGVyIGJ1dCBhcmUgZGlmZmVyZW50LgotICogVGhpcyBpcyBt ZWFudCB0byB0ZXN0IHRyYWNlcG9pbnQgY29tcGFyYWlzb24gY29kZS4KKyAqIFRoaXMgaXMgbWVh bnQgdG8gdGVzdCB0cmFjZXBvaW50IGNvbXBhcmlzb24gY29kZS4KICAqLwogVFJBQ0VQT0lOVF9F VkVOVChtdWx0aSwgdHAsCiAJVFBfQVJHUyh1aW50NjRfdCwgYXJnKSwKZGlmZiAtLWdpdCBhL3Rl c3RzL3JlZ3Jlc3Npb24vdXN0L211bHRpLWxpYi90ZXN0X211bHRpX2xpYiBiL3Rlc3RzL3JlZ3Jl c3Npb24vdXN0L211bHRpLWxpYi90ZXN0X211bHRpX2xpYgppbmRleCBmMWVkNjI0NS4uMmJkOTZk OTggMTAwNzU1Ci0tLSBhL3Rlc3RzL3JlZ3Jlc3Npb24vdXN0L211bHRpLWxpYi90ZXN0X211bHRp X2xpYgorKysgYi90ZXN0cy9yZWdyZXNzaW9uL3VzdC9tdWx0aS1saWIvdGVzdF9tdWx0aV9saWIK QEAgLTE4NCw3ICsxODQsNyBAQCB0ZXN0X3VwZ3JhZGVfY2FsbHNpdGVzX2Rsb3Blbl9kY2xvc2Uo KQogdGVzdF9ldmVudF9maWVsZF9jb21wYXJpc29uKCkKIHsKIAlsb2NhbCBldmVudF9uYW1lPSJt dWx0aTp0cCIKLQlkaWFnICJMb2FkIG11dGxpcGxlIGV2ZW50cyB3aXRoIHNsaWdodCB2YXJpYXRp b25zIGluIHRoZSBmaWVsZCBkZXNjcmlwdGlvbnMuIgorCWRpYWcgIkxvYWQgbXVsdGlwbGUgZXZl bnRzIHdpdGggc2xpZ2h0IHZhcmlhdGlvbnMgaW4gdGhlIGZpZWxkIGRlc2NyaXB0aW9ucy4iCiAK IAlsb2NhbCBsaWJyYXJ5X3ByZWZpeD0ibGlicHJvYmVzXyIKIAlsb2NhbCBuYl9saWJzPTAKZGlm ZiAtLWdpdCBhL3Rlc3RzL3V0aWxzL3BhcnNlLWNhbGxzdGFjay5weSBiL3Rlc3RzL3V0aWxzL3Bh cnNlLWNhbGxzdGFjay5weQppbmRleCAzYmZkZGQ5ZS4uMzVkYjhiYmEgMTAwNzU1Ci0tLSBhL3Rl c3RzL3V0aWxzL3BhcnNlLWNhbGxzdGFjay5weQorKysgYi90ZXN0cy91dGlscy9wYXJzZS1jYWxs c3RhY2sucHkKQEAgLTcxLDkgKzcxLDkgQEAgZGVmIGV4dHJhY3Rfa2VybmVsX2Z1bmNfbmFtZXMo cmF3X2NhbGxzdGFjayk6CiAgICAgICAgICAgICBhZGRyZXNzZXMuYXBwZW5kKGludChhZGRyLCAx NikpCiAgICAgICAgICAgICBzeW1zLmFwcGVuZCh7J2FkZHInOmludChhZGRyLCAxNiksICdzeW1i b2wnOnN5bWJvbH0pCiAKLSAgICAjIFNhdmUgdGhlIGFkZHJlc3MgYW5kIHN5bWJvbCBpbiBhIHNv cnRlZCBsaXN0IG9mIHR1cHBsZQorICAgICMgU2F2ZSB0aGUgYWRkcmVzcyBhbmQgc3ltYm9sIGlu IGEgc29ydGVkIGxpc3Qgb2YgdHVwbGUKICAgICBzeW1zID0gc29ydGVkKHN5bXMsIGtleT1sYW1i ZGEgazprWydhZGRyJ10pCi0gICAgIyBXZSBzYXZlIHRoZSBsaXN0IG9mIGFkZHJlc3NlcyBpbiBh IHNlcGVyYXRlIHNvcnRlZCBsaXN0IHRvIGVhc2lseSBiaXNlY3QKKyAgICAjIFdlIHNhdmUgdGhl IGxpc3Qgb2YgYWRkcmVzc2VzIGluIGEgc2VwYXJhdGUgc29ydGVkIGxpc3QgdG8gZWFzaWx5IGJp c2VjdAogICAgICMgdGhlIGNsb3NlciBhZGRyZXNzIG9mIGEgc3ltYm9sLgogICAgIGFkZHJlc3Nl cyA9IHNvcnRlZChhZGRyZXNzZXMpCiAKZGlmZiAtLWdpdCBhL3Rlc3RzL3V0aWxzL3RhcC90YXAu aCBiL3Rlc3RzL3V0aWxzL3RhcC90YXAuaAppbmRleCBhYjlhYWQxYS4uNzAwOGI0NDAgMTAwNjQ0 Ci0tLSBhL3Rlc3RzL3V0aWxzL3RhcC90YXAuaAorKysgYi90ZXN0cy91dGlscy90YXAvdGFwLmgK QEAgLTI3LDcgKzI3LDcgQEAKICAqLwogCiAvKiAnIyMgX19WQV9BUkdTX18nIGlzIGEgZ2NjJ2lz bS4gQzk5IGRvZXNuJ3QgYWxsb3cgdGhlIHRva2VuIHBhc3RpbmcKLSAgIGFuZCByZXF1aXJlcyB0 aGUgY2FsbGVyIHRvIGFkZCB0aGUgZmluYWwgY29tbWEgaWYgdGhleSd2ZSBvbW1pdHRlZAorICAg YW5kIHJlcXVpcmVzIHRoZSBjYWxsZXIgdG8gYWRkIHRoZSBmaW5hbCBjb21tYSBpZiB0aGV5J3Zl IG9taXR0ZWQKICAgIHRoZSBvcHRpb25hbCBhcmd1bWVudHMgKi8KICNpZmRlZiBfX0dOVUNfXwog IyBkZWZpbmUgb2soZSwgdGVzdCwgLi4uKSAoKGUpID8JCQkJCVwKZGlmZiAtLWdpdCBhL3Rlc3Rz L3V0aWxzL3Rlc3RfdXRpbHMucHkgYi90ZXN0cy91dGlscy90ZXN0X3V0aWxzLnB5CmluZGV4IDM4 NWY4NTQ0Li4wOTkwZmM3MiAxMDA2NDQKLS0tIGEvdGVzdHMvdXRpbHMvdGVzdF91dGlscy5weQor KysgYi90ZXN0cy91dGlscy90ZXN0X3V0aWxzLnB5CkBAIC05Miw3ICs5Miw3IEBAIGRlZiBzdGFy dF9zZXNzaW9uKHNlc3Npb25faW5mbyk6CiAgICAgc3RhcnQoc2Vzc2lvbl9pbmZvLm5hbWUpCiAK IGRlZiBzdG9wX3Nlc3Npb24oc2Vzc2lvbl9pbmZvLCBiYWlsaW5nID0gRmFsc2UpOgotICAgICMg V29ya2Fyb3VuZCBsdHRuZy1jdGwgb3V0cHV0aW5nIGRpcmVjdGx5IHRvIHN0ZG91dCBieSBzcGF3 bmluZyBhIHN1YnByb2Nlc3MuCisgICAgIyBXb3JrYXJvdW5kIGx0dG5nLWN0bCBvdXRwdXR0aW5n IGRpcmVjdGx5IHRvIHN0ZG91dCBieSBzcGF3bmluZyBhIHN1YnByb2Nlc3MuCiAgICAgbHR0bmdf YmluYXJ5X3BhdGggPSBvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5hYnNwYXRoKF9fZmlsZV9fKSkg KyAiLyIKICAgICBmb3IgaSBpbiByYW5nZSgzKToKICAgICAgICAgbHR0bmdfYmluYXJ5X3BhdGgg PSBvcy5wYXRoLmRpcm5hbWUobHR0bmdfYmluYXJ5X3BhdGgpCmRpZmYgLS1naXQgYS90ZXN0cy91 dGlscy90ZXN0YXBwL2dlbi11c3QtZXZlbnRzLW5zL2dlbi11c3QtZXZlbnRzLW5zLmMgYi90ZXN0 cy91dGlscy90ZXN0YXBwL2dlbi11c3QtZXZlbnRzLW5zL2dlbi11c3QtZXZlbnRzLW5zLmMKaW5k ZXggOTA3NjUxZDcuLjdhMzAyYjRjIDEwMDY0NAotLS0gYS90ZXN0cy91dGlscy90ZXN0YXBwL2dl bi11c3QtZXZlbnRzLW5zL2dlbi11c3QtZXZlbnRzLW5zLmMKKysrIGIvdGVzdHMvdXRpbHMvdGVz dGFwcC9nZW4tdXN0LWV2ZW50cy1ucy9nZW4tdXN0LWV2ZW50cy1ucy5jCkBAIC0xNTgsNyArMTU4 LDcgQEAgc3RhdGljIGludCBkb190aGVfbmVlZGZ1bChpbnQgbnNfZmxhZywgY29uc3QgY2hhciAq bnNfc3RyKQogCWRlYnVnX3ByaW50ZigiUG9zdCB1bnNoYXJlICVzIG5zIGlub2RlIG51bWJlcjog JWx1XG4iLCBuc19zdHIsIG5zMik7CiAKIAkvKgotCSAqIFNpZ25hbCB0aGF0IHdlIGVtaXRlZCB0 aGUgZmlyc3QgZXZlbnQgZ3JvdXAgYW5kIHRoYXQgdGhlCisJICogU2lnbmFsIHRoYXQgd2UgZW1p dHRlZCB0aGUgZmlyc3QgZXZlbnQgZ3JvdXAgYW5kIHRoYXQgdGhlCiAJICogdW5zaGFyZSBjYWxs IGlzIGNvbXBsZXRlZC4KIAkgKi8KIAlpZiAoYWZ0ZXJfdW5zaGFyZV9maWxlX3BhdGgpIHsKZGlm ZiAtLWdpdCBhL3Rlc3RzL3V0aWxzL3V0aWxzLmMgYi90ZXN0cy91dGlscy91dGlscy5jCmluZGV4 IGQ1NGM2Y2M5Li41YTBjZjRhZCAxMDA2NDQKLS0tIGEvdGVzdHMvdXRpbHMvdXRpbHMuYworKysg Yi90ZXN0cy91dGlscy91dGlscy5jCkBAIC0xMDIsNyArMTAyLDcgQEAgaW50IHdhaXRfb25fZmls ZShjb25zdCBjaGFyICpwYXRoKQogCQlyZXQgPSBzdGF0KHBhdGgsICZidWYpOwogCQlpZiAocmV0 ID09IC0xICYmIGVycm5vID09IEVOT0VOVCkgewogCQkJcmV0ID0gcG9sbChOVUxMLCAwLCAxMCk7 CS8qIDEwIG1zIGRlbGF5ICovCi0JCQkvKiBTaG91bGQgcmV0dXJuIDAgZXZlcnl0aW1lICovCisJ CQkvKiBTaG91bGQgcmV0dXJuIDAgZXZlcnkgdGltZSAqLwogCQkJaWYgKHJldCkgewogCQkJCWlm IChyZXQgPCAwKSB7CiAJCQkJCXBlcnJvcigicGVycm9yIik7CmRpZmYgLS1naXQgYS90ZXN0cy91 dGlscy91dGlscy5zaCBiL3Rlc3RzL3V0aWxzL3V0aWxzLnNoCmluZGV4IDMxMDg3ODc3Li4yNjc0 ZTY5YyAxMDA2NDQKLS0tIGEvdGVzdHMvdXRpbHMvdXRpbHMuc2gKKysrIGIvdGVzdHMvdXRpbHMv dXRpbHMuc2gKQEAgLTE3NjMsNyArMTc2Myw3IEBAIGZ1bmN0aW9uIHZhbGlkYXRlX3RyYWNlCiAJ CQlwYXNzICJWYWxpZGF0ZSB0cmFjZSBmb3IgZXZlbnQgJGksICR0cmFjZWQgZXZlbnRzIgogCQll bHNlCiAJCQlmYWlsICJWYWxpZGF0ZSB0cmFjZSBmb3IgZXZlbnQgJGkiCi0JCQlkaWFnICJGb3Vu ZCAkdHJhY2VkIG9jY3VyZW5jZXMgb2YgJGkiCisJCQlkaWFnICJGb3VuZCAkdHJhY2VkIG9jY3Vy cmVuY2VzIG9mICRpIgogCQlmaQogCWRvbmUKIAlyZXQ9JD8KQEAgLTE3OTEsNyArMTc5MSw3IEBA IGZ1bmN0aW9uIHZhbGlkYXRlX3RyYWNlX2NvdW50CiAJCQlwYXNzICJWYWxpZGF0ZSB0cmFjZSBm b3IgZXZlbnQgJGksICR0cmFjZWQgZXZlbnRzIgogCQllbHNlCiAJCQlmYWlsICJWYWxpZGF0ZSB0 cmFjZSBmb3IgZXZlbnQgJGkiCi0JCQlkaWFnICJGb3VuZCAkdHJhY2VkIG9jY3VyZW5jZXMgb2Yg JGkiCisJCQlkaWFnICJGb3VuZCAkdHJhY2VkIG9jY3VycmVuY2VzIG9mICRpIgogCQlmaQogCQlj bnQ9JCgoJGNudCArICR0cmFjZWQpKQogCWRvbmUKQEAgLTE4MjEsNyArMTgyMSw3IEBAIGZ1bmN0 aW9uIHZhbGlkYXRlX3RyYWNlX2NvdW50X3JhbmdlX2luY2xfbWluX2V4Y2xfbWF4CiAJCQlwYXNz ICJWYWxpZGF0ZSB0cmFjZSBmb3IgZXZlbnQgJGksICR0cmFjZWQgZXZlbnRzIgogCQllbHNlCiAJ CQlmYWlsICJWYWxpZGF0ZSB0cmFjZSBmb3IgZXZlbnQgJGkiCi0JCQlkaWFnICJGb3VuZCAkdHJh Y2VkIG9jY3VyZW5jZXMgb2YgJGkiCisJCQlkaWFnICJGb3VuZCAkdHJhY2VkIG9jY3VycmVuY2Vz IG9mICRpIgogCQlmaQogCQljbnQ9JCgoJGNudCArICR0cmFjZWQpKQogCWRvbmUKQEAgLTE4NTUs NyArMTg1NSw3IEBAIGZ1bmN0aW9uIHZhbGlkYXRlX3RyYWNlX2V4cCgpCiAJCXBhc3MgIlZhbGlk YXRlIHRyYWNlIGZvciBleHByZXNzaW9uICcke2V2ZW50X2V4cH0nLCAkdHJhY2VkIGV2ZW50cyIK IAllbHNlCiAJCWZhaWwgIlZhbGlkYXRlIHRyYWNlIGZvciBleHByZXNzaW9uICcke2V2ZW50X2V4 cH0nIgotCQlkaWFnICJGb3VuZCAkdHJhY2VkIG9jY3VyZW5jZXMgb2YgJyR7ZXZlbnRfZXhwfSci CisJCWRpYWcgIkZvdW5kICR0cmFjZWQgb2NjdXJyZW5jZXMgb2YgJyR7ZXZlbnRfZXhwfSciCiAJ ZmkKIAlyZXQ9JD8KIAlyZXR1cm4gJHJldAotLSAKMi4yOC4wCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsdHRuZy1kZXYgbWFpbGluZyBsaXN0Cmx0dG5n LWRldkBsaXN0cy5sdHRuZy5vcmcKaHR0cHM6Ly9saXN0cy5sdHRuZy5vcmcvY2dpLWJpbi9tYWls bWFuL2xpc3RpbmZvL2x0dG5nLWRldgo=