From nobody Fri Jul 12 04:15:41 2024 X-Original-To: elastic@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4WKyv16NvFz5QgQk for ; Fri, 12 Jul 2024 04:15:41 +0000 (UTC) (envelope-from portscout@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4WKyv11s53z4vSv for ; Fri, 12 Jul 2024 04:15:41 +0000 (UTC) (envelope-from portscout@FreeBSD.org) ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1720757741; a=rsa-sha256; cv=none; b=eTNrkxJPAPwXVIzAvaFeI4gEpsvDb8x6PbDAdHpkHUzg7MW3PNzI1JhV5ARwHveII2POA8 2J8JVOtG+4srDHcVFhBwmzeL6571iZhQ9GUj5qWzQCQmrlxLmeOBtQCdLXZrin3RaN9MQD RLTp0sATUr4QnvjCsnbrHznH2WQs+R2eiMZs3MHsWO637syWqv5s2WwQb9hHInc9e/wgvE c+u4cdvS7tIC82yVCA+FEqZrU9iG0t6+eDxcJJflM/ZeGgXU5erW4P7oJ//sYWkfud2A5k cQb2S8iPD/7HRkILIjn2P2D2dAkt/+6L8utewLLgTtUUriVwTeohazLULJ6mEw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1720757741; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=W++CVeyovZHNmuw+G3ehVcRkGUSoVeJsOpCm/85fav4=; b=uhPx51rgixAXTtA2Bw26Qdv6aZ4PUq3qLwKb5Pfr32iKgbCJXcBXV+ZcR8st6c9Kzz3Q47 B8zGAPE1daQaqUtCFNWA2UenQWdzj6lSM8tNMsNfqYRHydKg02stgUlItrQaVxQgMnMctL ZEOH24pPpR4oA5dNq9PB5s9lWWh0MZRX8byXdHAT7Ah8KFEGRWYznSAr9MjeVza5u0urTt 8NNiLsGnithouR1wlTLZLO1SjQQClq27prIbZ5DNsnIKfCoGIW+cqkUMs3UyRU/AD8kf3h DelZryahr/u5ekT0XuvXMsISsicUVuj1vWl2bR6DML+thTlaAu/CMyXlSlTT0A== Received: from portscout.nyi.freebsd.org (portscout.nyi.freebsd.org [IPv6:2610:1c1:1:606c::50:21]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4WKyv11TZSzTB6 for ; Fri, 12 Jul 2024 04:15:41 +0000 (UTC) (envelope-from portscout@FreeBSD.org) Received: from portscout.nyi.freebsd.org ([127.0.1.10]) by portscout.nyi.freebsd.org (8.17.1/8.17.1) with ESMTP id 46C4FfA9027248 for ; Fri, 12 Jul 2024 04:15:41 GMT (envelope-from portscout@FreeBSD.org) Received: (from portscout@localhost) by portscout.nyi.freebsd.org (8.17.1/8.17.1/Submit) id 46C4FfGn027247; Fri, 12 Jul 2024 04:15:41 GMT (envelope-from portscout@FreeBSD.org) Message-Id: <202407120415.46C4FfGn027247@portscout.nyi.freebsd.org> X-Authentication-Warning: portscout.nyi.freebsd.org: portscout set sender to portscout@FreeBSD.org using -f Content-Disposition: inline Content-Transfer-Encoding: 8bit Content-Type: text/plain List-Id: Support of ElasticSearch-related ports List-Archive: https://lists.freebsd.org/archives/freebsd-elastic List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-elastic@FreeBSD.org MIME-Version: 1.0 Date: Fri, 12 Jul 2024 04:15:41 +0000 From: portscout@FreeBSD.org To: elastic@freebsd.org Subject: FreeBSD ports you maintain which are out of date X-Mailer: portscout/0.8.1 Dear port maintainer, The portscout new distfile checker has detected that one or more of your ports appears to be out of date. Please take the opportunity to check each of the ports listed below, and if possible and appropriate, submit/commit an update. If any ports have already been updated, you can safely ignore the entry. You will not be e-mailed again for any of the port/version combinations below. Full details can be found at the following URL: http://portscout.freebsd.org/elastic@freebsd.org.html Port | Current version | New version ------------------------------------------------+-----------------+------------ sysutils/beats8 | 8.8.2 | 8.14.3 ------------------------------------------------+-----------------+------------ sysutils/logstash8 | 8.11.3 | 8.14.3 ------------------------------------------------+-----------------+------------ textproc/kibana8 | 8.11.3 | 8.14.3 ------------------------------------------------+-----------------+------------ If any of the above results are invalid, please check the following page for details on how to improve portscout's detection and selection of distfiles on a per-port basis: http://portscout.freebsd.org/info/portscout-portconfig.txt Reported by: portscout! From nobody Sat Jul 13 19:57:30 2024 X-Original-To: elastic@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4WLzlW4KF2z5R253 for ; Sat, 13 Jul 2024 19:57:43 +0000 (UTC) (envelope-from samm@freebsd.org) Received: from reindeer.net-art.cz (reindeer.net-art.cz [IPv6:2001:15e8:110:513c::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "reindeer.net-art.cz", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4WLzlV2157z42j7 for ; Sat, 13 Jul 2024 19:57:42 +0000 (UTC) (envelope-from samm@freebsd.org) Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=fail reason="No valid SPF, No valid DKIM" header.from=freebsd.org (policy=none); spf=softfail (mx1.freebsd.org: 2001:15e8:110:513c::1 is neither permitted nor denied by domain of samm@freebsd.org) smtp.mailfrom=samm@freebsd.org Received: by reindeer.net-art.cz (Postfix, from userid 65534) id 2C62C5F124; Sat, 13 Jul 2024 20:57:37 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-13) on reindeer X-Spam-Level: X-Spam-Status: No, score=-0.2 required=10.0 tests=BAYES_00,DMARC_NONE, SPF_HELO_NONE,SPF_SOFTFAIL,URIBL_SBL_A autolearn=no autolearn_force=no version=4.0.0 Received: from owl.net-art.cz (owl.net-art.cz [IPv6:2a03:6920:0:10::101]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (Client CN "owl.net-art.cz", Issuer "R3" (not verified)) by reindeer.net-art.cz (Postfix) with ESMTPS id 013E65EF0F for ; Sat, 13 Jul 2024 20:57:34 +0100 (BST) Received: from [185.71.233.107] (account samm@net-art.cz HELO [192.168.101.116]) by owl.net-art.cz (CommuniGate Pro SMTP 6.1.20) with ESMTPSA id 2540142 for elastic@FreeBSD.org; Sat, 13 Jul 2024 21:57:33 +0200 Content-Type: multipart/mixed; boundary="------------WqunSiK08hJ8YrcC72nHlyo1" Message-ID: <69051943-d83f-4663-9a7a-fe6f1d096a26@freebsd.org> Date: Sat, 13 Jul 2024 21:57:30 +0200 List-Id: Support of ElasticSearch-related ports List-Archive: https://lists.freebsd.org/archives/freebsd-elastic List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-elastic@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US To: elastic@FreeBSD.org From: Alex Samorukov Subject: Beats update X-Spamd-Bar: - X-Spamd-Result: default: False [-1.94 / 15.00]; MIME_BASE64_TEXT_BOGUS(1.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-0.96)[-0.960]; NEURAL_HAM_SHORT(-0.89)[-0.891]; RCVD_IN_DNSWL_MED(-0.20)[2001:15e8:110:513c::1:from]; MIME_GOOD(-0.10)[multipart/mixed,text/plain]; DMARC_POLICY_SOFTFAIL(0.10)[freebsd.org : No valid SPF, No valid DKIM,none]; MIME_BASE64_TEXT(0.10)[]; XM_UA_NO_VERSION(0.01)[]; HAS_ATTACHMENT(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; RCVD_TLS_LAST(0.00)[]; RCVD_COUNT_THREE(0.00)[3]; FROM_HAS_DN(0.00)[]; ASN(0.00)[asn:24806, ipnet:2001:15e8::/32, country:CZ]; ARC_NA(0.00)[]; TO_DN_NONE(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[elastic@freebsd.org]; R_SPF_SOFTFAIL(0.00)[~all]; FROM_EQ_ENVFROM(0.00)[]; FREEFALL_USER(0.00)[samm]; MLMMJ_DEST(0.00)[elastic@freebsd.org]; MID_RHS_MATCH_FROM(0.00)[]; R_DKIM_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; TO_DOM_EQ_FROM_DOM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:+] X-Rspamd-Queue-Id: 4WLzlV2157z42j7 This is a multi-part message in MIME format. --------------WqunSiK08hJ8YrcC72nHlyo1 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Dear elastic, I found that beats8 port is broken due to go-sysinfo version which fails on gethost call on startup. I patched port and updated it to the latest version. Patch is attached. Please update the port. Oleksij --------------WqunSiK08hJ8YrcC72nHlyo1 Content-Type: text/plain; charset=UTF-8; name="patch-beats.diff" Content-Disposition: attachment; filename="patch-beats.diff" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL3N5c3V0aWxzL2JlYXRzOC9NYWtlZmlsZSBiL3N5c3V0aWxzL2JlYXRz OC9NYWtlZmlsZQppbmRleCA2M2MyMjg3ZjkxZTMuLjliOWY0NjI1OTczNCAxMDA2NDQKLS0t IGEvc3lzdXRpbHMvYmVhdHM4L01ha2VmaWxlCisrKyBiL3N5c3V0aWxzL2JlYXRzOC9NYWtl ZmlsZQpAQCAtMSw3ICsxLDYgQEAKIFBPUlROQU1FPQliZWF0cwogRElTVFZFUlNJT05QUkVG SVg9CXYKLURJU1RWRVJTSU9OPQk4LjguMgotUE9SVFJFVklTSU9OPQk5CitESVNUVkVSU0lP Tj0JOC4xNC4zCiBDQVRFR09SSUVTPQlzeXN1dGlscwogTUFTVEVSX1NJVEVTPQlodHRwczov L3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vJHtHSF9BQ0NPVU5UfS8ke0dIX1BST0pFQ1R9 LyR7RElTVFZFUlNJT05GVUxMfS86Z29tb2QKIFBLR05BTUVTVUZGSVg/PQk4CmRpZmYgLS1n aXQgYS9zeXN1dGlscy9iZWF0czgvZGlzdGluZm8gYi9zeXN1dGlscy9iZWF0czgvZGlzdGlu Zm8KaW5kZXggN2Y2NDI5ZTExNjljLi4zM2QzMmU5NTQxMGIgMTAwNjQ0Ci0tLSBhL3N5c3V0 aWxzL2JlYXRzOC9kaXN0aW5mbworKysgYi9zeXN1dGlscy9iZWF0czgvZGlzdGluZm8KQEAg LTEsMTUgKzEsNyBAQAotVElNRVNUQU1QID0gMTY4ODg5NDEzMgotU0hBMjU2IChnby9zeXN1 dGlsc19iZWF0czgvZWxhc3RpYy1iZWF0cy12OC44LjJfR0gwL2dvLm1vZCkgPSAyMzYzMGFh NTQ4YWViYmUwMDIzNmIzYWQ2ZTE1NTA4YWNmZWM4ZGJhZTY4M2QwZDVlOTQ3NmU0OTc3Njkw M2NjCi1TSVpFIChnby9zeXN1dGlsc19iZWF0czgvZWxhc3RpYy1iZWF0cy12OC44LjJfR0gw L2dvLm1vZCkgPSAxOTMxNwotU0hBMjU2IChnby9zeXN1dGlsc19iZWF0czgvZWxhc3RpYy1i ZWF0cy12OC44LjJfR0gwL2F1ZGl0YmVhdC04LjguMi1kYXJ3aW4teDg2XzY0LnRhci5neikg PSBlNjBlNTEzMWMyMzQzMWY1YzA2Zjk4OWNkNGYxYTRmMjU0MGE4NjFiNzU5NjRkNjIxZGVh OTc5NDk2YTllMWU5Ci1TSVpFIChnby9zeXN1dGlsc19iZWF0czgvZWxhc3RpYy1iZWF0cy12 OC44LjJfR0gwL2F1ZGl0YmVhdC04LjguMi1kYXJ3aW4teDg2XzY0LnRhci5neikgPSAyODM2 ODkzNQotU0hBMjU2IChnby9zeXN1dGlsc19iZWF0czgvZWxhc3RpYy1iZWF0cy12OC44LjJf R0gwL2ZpbGViZWF0LTguOC4yLWRhcndpbi14ODZfNjQudGFyLmd6KSA9IGE3ZTEzMTM4N2My NzdjOTIyM2M5YjIzNTZlOTQ0NDUwYzM4ZGJhYWVkZjA2OWEwNTIxY2E3NWI0MGYwYTZjNzQK LVNJWkUgKGdvL3N5c3V0aWxzX2JlYXRzOC9lbGFzdGljLWJlYXRzLXY4LjguMl9HSDAvZmls ZWJlYXQtOC44LjItZGFyd2luLXg4Nl82NC50YXIuZ3opID0gMzg2NjkzNjIKLVNIQTI1NiAo Z28vc3lzdXRpbHNfYmVhdHM4L2VsYXN0aWMtYmVhdHMtdjguOC4yX0dIMC9oZWFydGJlYXQt OC44LjItZGFyd2luLXg4Nl82NC50YXIuZ3opID0gMGNjMzU4NWI5ZTg1ZDA5NDQxYjc0NmEz ZDgxMjg0OWY1MDcyN2QyZjU3ZjgyMWJmZWEwMWM5MzZkYzAwM2JiNAotU0laRSAoZ28vc3lz dXRpbHNfYmVhdHM4L2VsYXN0aWMtYmVhdHMtdjguOC4yX0dIMC9oZWFydGJlYXQtOC44LjIt ZGFyd2luLXg4Nl82NC50YXIuZ3opID0gMjgyNzgxMjUKLVNIQTI1NiAoZ28vc3lzdXRpbHNf YmVhdHM4L2VsYXN0aWMtYmVhdHMtdjguOC4yX0dIMC9tZXRyaWNiZWF0LTguOC4yLWRhcndp bi14ODZfNjQudGFyLmd6KSA9IDJkZTRjMWU2MDU3ZmE1YWFlMzU0YzUxMWY2ZDZhMDU1Mzkx MzU3M2YyNjNkZmU1YTZlYTBjNWI0ZmI1OTExNmUKLVNJWkUgKGdvL3N5c3V0aWxzX2JlYXRz OC9lbGFzdGljLWJlYXRzLXY4LjguMl9HSDAvbWV0cmljYmVhdC04LjguMi1kYXJ3aW4teDg2 XzY0LnRhci5neikgPSA0Mzc0Mzc2OQotU0hBMjU2IChnby9zeXN1dGlsc19iZWF0czgvZWxh c3RpYy1iZWF0cy12OC44LjJfR0gwL3BhY2tldGJlYXQtOC44LjItZGFyd2luLXg4Nl82NC50 YXIuZ3opID0gZGJmNTk2NDNkZDA2YmM3NTY2MzI1OWIwMTFlOTgwMTAzZWU0NDgwMTdmYTc3 MzE2Mzc5Mjg0NGQ3MjZmYTk0ZAotU0laRSAoZ28vc3lzdXRpbHNfYmVhdHM4L2VsYXN0aWMt YmVhdHMtdjguOC4yX0dIMC9wYWNrZXRiZWF0LTguOC4yLWRhcndpbi14ODZfNjQudGFyLmd6 KSA9IDI5NjUyMzkxCi1TSEEyNTYgKGdvL3N5c3V0aWxzX2JlYXRzOC9lbGFzdGljLWJlYXRz LXY4LjguMl9HSDAvZWxhc3RpYy1iZWF0cy12OC44LjJfR0gwLnRhci5neikgPSA3Zjg1ZWY3 MGNmYTg0ZTk5NTlhODAzZTFjYzQ5MGQyYTNkZWE3YmQyMzkwMmUzYzk5MmJiZWFlYzlkOGRh ZjBhCi1TSVpFIChnby9zeXN1dGlsc19iZWF0czgvZWxhc3RpYy1iZWF0cy12OC44LjJfR0gw L2VsYXN0aWMtYmVhdHMtdjguOC4yX0dIMC50YXIuZ3opID0gMTE1NTk0Mjg4CitUSU1FU1RB TVAgPSAxNzIwODk4MzIzCitTSEEyNTYgKGdvL3N5c3V0aWxzX2JlYXRzOC9lbGFzdGljLWJl YXRzLXY4LjE0LjNfR0gwL2dvLm1vZCkgPSA1YWM1M2Q3MmVjMDQ3Njg1MjU3ZTMwNTA1NWE2 MWMwZmU1OGRkNjRmYTQ4MDk0MDFiY2E0ZTljZDgyMDc2NWQxCitTSVpFIChnby9zeXN1dGls c19iZWF0czgvZWxhc3RpYy1iZWF0cy12OC4xNC4zX0dIMC9nby5tb2QpID0gMjIyODUKK1NI QTI1NiAoZ28vc3lzdXRpbHNfYmVhdHM4L2VsYXN0aWMtYmVhdHMtdjguMTQuM19HSDAvZmls ZWJlYXQtOC4xNC4zLWRhcndpbi14ODZfNjQudGFyLmd6KSA9IDQwZjFiOTEzZWFlZGU0M2Fm Y2Y3M2NiNjY5YjRkYjU3Zjk4ZjExNDdmNTJmZGE3YmZlZTA3NTJlYjAzMjU2NTEKK1NJWkUg KGdvL3N5c3V0aWxzX2JlYXRzOC9lbGFzdGljLWJlYXRzLXY4LjE0LjNfR0gwL2ZpbGViZWF0 LTguMTQuMy1kYXJ3aW4teDg2XzY0LnRhci5neikgPSA0NDIyNjAwNAorU0hBMjU2IChnby9z eXN1dGlsc19iZWF0czgvZWxhc3RpYy1iZWF0cy12OC4xNC4zX0dIMC9lbGFzdGljLWJlYXRz LXY4LjE0LjNfR0gwLnRhci5neikgPSAxNDZmY2QxZDdhOWVhOTUxZTM2MjY2MmM5ZDQzYmZk NjViYmRmYWQzZTU4ZGMzMTU1NzNiZDZlNjIwNjVlOGZlCitTSVpFIChnby9zeXN1dGlsc19i ZWF0czgvZWxhc3RpYy1iZWF0cy12OC4xNC4zX0dIMC9lbGFzdGljLWJlYXRzLXY4LjE0LjNf R0gwLnRhci5neikgPSAxMTIyNTgwMjMKZGlmZiAtLWdpdCBhL3N5c3V0aWxzL2JlYXRzOC9m aWxlcy9wYXRjaC1kZXYtdG9vbHNfbWFnZV9zZXR0aW5ncy5nbyBiL3N5c3V0aWxzL2JlYXRz OC9maWxlcy9wYXRjaC1kZXYtdG9vbHNfbWFnZV9zZXR0aW5ncy5nbwppbmRleCBkYjhjOWVk NGNiZTEuLjg2ZTQ3MGY5MDMxNSAxMDA2NDQKLS0tIGEvc3lzdXRpbHMvYmVhdHM4L2ZpbGVz L3BhdGNoLWRldi10b29sc19tYWdlX3NldHRpbmdzLmdvCisrKyBiL3N5c3V0aWxzL2JlYXRz OC9maWxlcy9wYXRjaC1kZXYtdG9vbHNfbWFnZV9zZXR0aW5ncy5nbwpAQCAtMSwyMCArMSwy MCBAQAotLS0tIGRldi10b29scy9tYWdlL3NldHRpbmdzLmdvLm9yaWcJMjAyMi0wOS0yNyAx MzoxOToyNyBVVEMKLSsrKyBkZXYtdG9vbHMvbWFnZS9zZXR0aW5ncy5nbwotQEAgLTMwLDcg KzMwLDYgQEAgaW1wb3J0ICgKKy0tLSBkZXYtdG9vbHMvbWFnZS9zZXR0aW5ncy5nby5vcmln CTIwMjQtMDctMDkgMDA6MDA6MzYuMDAwMDAwMDAwICswMjAwCisrKysgZGV2LXRvb2xzL21h Z2Uvc2V0dGluZ3MuZ28JMjAyNC0wNy0xMyAyMToyNjoxOS4zODM3NjgwMDAgKzAyMDAKK0BA IC0zMSw3ICszMSw2IEBACiAgCSJzeW5jIgogIAkidGltZSIKICAKIC0JImdpdGh1Yi5jb20v bWFnZWZpbGUvbWFnZS9zaCIKLSAJImdpdGh1Yi5jb20vcGtnL2Vycm9ycyIKICAJImdvbGFu Zy5vcmcveC90b29scy9nby92Y3MiCiAgCi1AQCAtMjQ5LDcgKzI0OCw4IEBAIHZhciAoCisg CSJnaXRodWIuY29tL2VsYXN0aWMvYmVhdHMvdjcvZGV2LXRvb2xzL21hZ2UvZ290b29sIgor QEAgLTI1MSw3ICsyNTAsOCBAQAogIGZ1bmMgQ29tbWl0SGFzaCgpIChzdHJpbmcsIGVycm9y KSB7CiAgCXZhciBlcnIgZXJyb3IKICAJY29tbWl0SGFzaE9uY2UuRG8oZnVuYygpIHsKIC0J CWNvbW1pdEhhc2gsIGVyciA9IHNoLk91dHB1dCgiZ2l0IiwgInJldi1wYXJzZSIsICJIRUFE IikKICsJCWVyciA9IG5pbAotKwkJY29tbWl0SGFzaCA9ICIlJUJFQVRTVkVSU0lPTiUlIgor KwkJY29tbWl0SGFzaCA9ICJ2OC4xNC4zIgogIAl9KQogIAlyZXR1cm4gY29tbWl0SGFzaCwg ZXJyCiAgfQpkaWZmIC0tZ2l0IGEvc3lzdXRpbHMvYmVhdHM4L2ZpbGVzL3BhdGNoLWdvLXN5 c2luZm8gYi9zeXN1dGlscy9iZWF0czgvZmlsZXMvcGF0Y2gtZ28tc3lzaW5mbwpuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjI0MGE1OTYzM2MzOAotLS0gL2Rl di9udWxsCisrKyBiL3N5c3V0aWxzL2JlYXRzOC9maWxlcy9wYXRjaC1nby1zeXNpbmZvCkBA IC0wLDAgKzEsMTMyNyBAQAorZGlmZiAtdXJOIHZlbmRvci5vcmlnL2dpdGh1Yi5jb20vZWxh c3RpYy9nby1zeXNpbmZvL2ludGVybmFsL2Nnby9kaXNhYmxlZC5nbyB2ZW5kb3IvZ2l0aHVi LmNvbS9lbGFzdGljL2dvLXN5c2luZm8vaW50ZXJuYWwvY2dvL2Rpc2FibGVkLmdvCistLS0g dmVuZG9yLm9yaWcvZ2l0aHViLmNvbS9lbGFzdGljL2dvLXN5c2luZm8vaW50ZXJuYWwvY2dv L2Rpc2FibGVkLmdvCTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKysg dmVuZG9yL2dpdGh1Yi5jb20vZWxhc3RpYy9nby1zeXNpbmZvL2ludGVybmFsL2Nnby9kaXNh YmxlZC5nbwkyMDI0LTA3LTEzIDIwOjI4OjM2LjA2MDg4MjAwMCArMDIwMAorQEAgLTAsMCAr MSwyMyBAQAorKy8vIExpY2Vuc2VkIHRvIEVsYXN0aWNzZWFyY2ggQi5WLiB1bmRlciBvbmUg b3IgbW9yZSBjb250cmlidXRvcgorKy8vIGxpY2Vuc2UgYWdyZWVtZW50cy4gU2VlIHRoZSBO T1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisrLy8gdGhpcyB3b3JrIGZvciBhZGRpdGlv bmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQKKysvLyBvd25lcnNoaXAuIEVs YXN0aWNzZWFyY2ggQi5WLiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8geW91IHVuZGVyCisrLy8g dGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7IHlvdSBt YXkKKysvLyBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRo ZSBMaWNlbnNlLgorKy8vIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBh dAorKy8vCisrLy8gICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNF LTIuMAorKy8vCisrLy8gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFn cmVlZCB0byBpbiB3cml0aW5nLAorKy8vIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRo ZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuCisrLy8gIkFTIElTIiBCQVNJUywgV0lU SE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZCisrLy8gS0lORCwgZWl0aGVy IGV4cHJlc3Mgb3IgaW1wbGllZC4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlCisrLy8gc3Bl Y2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZCBsaW1pdGF0aW9ucwor Ky8vIHVuZGVyIHRoZSBMaWNlbnNlLgorKworKy8vZ286YnVpbGQgIWNnbworKworK3BhY2th Z2UgY2dvCisrCisrLy8gRW5hYmxlZCBpcyB0cnVlIGlmIGNnbyB3YXMgZW5hYmxlZCBhdCBj b21waWxlLXRpbWUuCisrY29uc3QgRW5hYmxlZCA9IGZhbHNlCitkaWZmIC11ck4gdmVuZG9y Lm9yaWcvZ2l0aHViLmNvbS9lbGFzdGljL2dvLXN5c2luZm8vaW50ZXJuYWwvY2dvL2VuYWJs ZWQuZ28gdmVuZG9yL2dpdGh1Yi5jb20vZWxhc3RpYy9nby1zeXNpbmZvL2ludGVybmFsL2Nn by9lbmFibGVkLmdvCistLS0gdmVuZG9yLm9yaWcvZ2l0aHViLmNvbS9lbGFzdGljL2dvLXN5 c2luZm8vaW50ZXJuYWwvY2dvL2VuYWJsZWQuZ28JMTk3MC0wMS0wMSAwMTowMDowMC4wMDAw MDAwMDAgKzAxMDAKKysrKyB2ZW5kb3IvZ2l0aHViLmNvbS9lbGFzdGljL2dvLXN5c2luZm8v aW50ZXJuYWwvY2dvL2VuYWJsZWQuZ28JMjAyNC0wNy0xMyAyMDoyODozNi4wNjA5NTMwMDAg KzAyMDAKK0BAIC0wLDAgKzEsMjMgQEAKKysvLyBMaWNlbnNlZCB0byBFbGFzdGljc2VhcmNo IEIuVi4gdW5kZXIgb25lIG9yIG1vcmUgY29udHJpYnV0b3IKKysvLyBsaWNlbnNlIGFncmVl bWVudHMuIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorKy8vIHRoaXMg d29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0Cisr Ly8gb3duZXJzaGlwLiBFbGFzdGljc2VhcmNoIEIuVi4gbGljZW5zZXMgdGhpcyBmaWxlIHRv IHlvdSB1bmRlcgorKy8vIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAi TGljZW5zZSIpOyB5b3UgbWF5CisrLy8gbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNv bXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKysvLyBZb3UgbWF5IG9idGFpbiBhIGNvcHkg b2YgdGhlIExpY2Vuc2UgYXQKKysvLworKy8vICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcv bGljZW5zZXMvTElDRU5TRS0yLjAKKysvLworKy8vIFVubGVzcyByZXF1aXJlZCBieSBhcHBs aWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywKKysvLyBzb2Z0d2FyZSBkaXN0 cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbgorKy8vICJB UyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWQor Ky8vIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuICBTZWUgdGhlIExpY2Vuc2Ug Zm9yIHRoZQorKy8vIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBh bmQgbGltaXRhdGlvbnMKKysvLyB1bmRlciB0aGUgTGljZW5zZS4KKysKKysvL2dvOmJ1aWxk IGNnbworKworK3BhY2thZ2UgY2dvCisrCisrLy8gRW5hYmxlZCBpcyB0cnVlIGlmIGNnbyB3 YXMgZW5hYmxlZCBhdCBjb21waWxlLXRpbWUuCisrY29uc3QgRW5hYmxlZCA9IHRydWUKK2Rp ZmYgLXVyTiB2ZW5kb3Iub3JpZy9naXRodWIuY29tL2VsYXN0aWMvZ28tc3lzaW5mby9wcm92 aWRlcnMvZnJlZWJzZC9kZWZzX2ZyZWVic2QuZ28gdmVuZG9yL2dpdGh1Yi5jb20vZWxhc3Rp Yy9nby1zeXNpbmZvL3Byb3ZpZGVycy9mcmVlYnNkL2RlZnNfZnJlZWJzZC5nbworLS0tIHZl bmRvci5vcmlnL2dpdGh1Yi5jb20vZWxhc3RpYy9nby1zeXNpbmZvL3Byb3ZpZGVycy9mcmVl YnNkL2RlZnNfZnJlZWJzZC5nbwkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCArMDEw MAorKysrIHZlbmRvci9naXRodWIuY29tL2VsYXN0aWMvZ28tc3lzaW5mby9wcm92aWRlcnMv ZnJlZWJzZC9kZWZzX2ZyZWVic2QuZ28JMjAyNC0wNy0xMyAyMDoyODozNi4wNjUxMDYwMDAg KzAyMDAKK0BAIC0wLDAgKzEsMzMgQEAKKysvLyBMaWNlbnNlZCB0byBFbGFzdGljc2VhcmNo IEIuVi4gdW5kZXIgb25lIG9yIG1vcmUgY29udHJpYnV0b3IKKysvLyBsaWNlbnNlIGFncmVl bWVudHMuIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorKy8vIHRoaXMg d29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0Cisr Ly8gb3duZXJzaGlwLiBFbGFzdGljc2VhcmNoIEIuVi4gbGljZW5zZXMgdGhpcyBmaWxlIHRv IHlvdSB1bmRlcgorKy8vIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAi TGljZW5zZSIpOyB5b3UgbWF5CisrLy8gbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNv bXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKysvLyBZb3UgbWF5IG9idGFpbiBhIGNvcHkg b2YgdGhlIExpY2Vuc2UgYXQKKysvLworKy8vICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcv bGljZW5zZXMvTElDRU5TRS0yLjAKKysvLworKy8vIFVubGVzcyByZXF1aXJlZCBieSBhcHBs aWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywKKysvLyBzb2Z0d2FyZSBkaXN0 cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbgorKy8vICJB UyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWQor Ky8vIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuICBTZWUgdGhlIExpY2Vuc2Ug Zm9yIHRoZQorKy8vIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBh bmQgbGltaXRhdGlvbnMKKysvLyB1bmRlciB0aGUgTGljZW5zZS4KKysKKysvL2dvOmJ1aWxk IGlnbm9yZQorKy8vICtidWlsZCBpZ25vcmUKKysKKytwYWNrYWdlIGZyZWVic2QKKysKKysv KgorKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKysjaW5jbHVkZSA8c3lzL3ZtbWV0ZXIuaD4K KysjaW5jbHVkZSA8c3lzL3RpbWUuaD4KKysjaW5jbHVkZSA8a3ZtLmg+CisrKi8KKytpbXBv cnQgIkMiCisrCisrdHlwZSBrdm1Td2FwIEMuc3RydWN0X2t2bV9zd2FwCisrCisrdHlwZSBj bG9ja0luZm8gQy5zdHJ1Y3RfY2xvY2tpbmZvCitkaWZmIC11ck4gdmVuZG9yLm9yaWcvZ2l0 aHViLmNvbS9lbGFzdGljL2dvLXN5c2luZm8vcHJvdmlkZXJzL2ZyZWVic2QvZG9jLmdvIHZl bmRvci9naXRodWIuY29tL2VsYXN0aWMvZ28tc3lzaW5mby9wcm92aWRlcnMvZnJlZWJzZC9k b2MuZ28KKy0tLSB2ZW5kb3Iub3JpZy9naXRodWIuY29tL2VsYXN0aWMvZ28tc3lzaW5mby9w cm92aWRlcnMvZnJlZWJzZC9kb2MuZ28JMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAg KzAxMDAKKysrKyB2ZW5kb3IvZ2l0aHViLmNvbS9lbGFzdGljL2dvLXN5c2luZm8vcHJvdmlk ZXJzL2ZyZWVic2QvZG9jLmdvCTIwMjQtMDctMTMgMjA6Mjg6MzYuMDY1MjAzMDAwICswMjAw CitAQCAtMCwwICsxLDIyIEBACisrLy8gTGljZW5zZWQgdG8gRWxhc3RpY3NlYXJjaCBCLlYu IHVuZGVyIG9uZSBvciBtb3JlIGNvbnRyaWJ1dG9yCisrLy8gbGljZW5zZSBhZ3JlZW1lbnRz LiBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKysvLyB0aGlzIHdvcmsg Zm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodAorKy8vIG93 bmVyc2hpcC4gRWxhc3RpY3NlYXJjaCBCLlYuIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byB5b3Ug dW5kZXIKKysvLyB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vu c2UiKTsgeW91IG1heQorKy8vIG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlh bmNlIHdpdGggdGhlIExpY2Vuc2UuCisrLy8gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRo ZSBMaWNlbnNlIGF0CisrLy8KKysvLyAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vu c2VzL0xJQ0VOU0UtMi4wCisrLy8KKysvLyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJs ZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsCisrLy8gc29mdHdhcmUgZGlzdHJpYnV0 ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4KKysvLyAiQVMgSVMi IEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkKKysvLyBL SU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0 aGUKKysvLyBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kIGxp bWl0YXRpb25zCisrLy8gdW5kZXIgdGhlIExpY2Vuc2UuCisrCisrLy8gUGFja2FnZSBmcmVl YnNkIGltcGxlbWVudHMgdGhlIEhvc3RQcm92aWRlciBhbmQgUHJvY2Vzc1Byb3ZpZGVyIGlu dGVyZmFjZXMKKysvLyBmb3IgcHJvdmlkaW5nIGluZm9ybWF0aW9uIGFib3V0IEZyZWVCU0Qu CisrcGFja2FnZSBmcmVlYnNkCisrCisrLy9nbzpnZW5lcmF0ZSBzaCAtYyAiZ28gdG9vbCBj Z28gLWdvZGVmcyBkZWZzX2ZyZWVic2QuZ28gPiB6dHlwZXNfZnJlZWJzZC5nbyIKK2RpZmYg LXVyTiB2ZW5kb3Iub3JpZy9naXRodWIuY29tL2VsYXN0aWMvZ28tc3lzaW5mby9wcm92aWRl cnMvZnJlZWJzZC9ob3N0X2ZyZWVic2RfY2dvLmdvIHZlbmRvci9naXRodWIuY29tL2VsYXN0 aWMvZ28tc3lzaW5mby9wcm92aWRlcnMvZnJlZWJzZC9ob3N0X2ZyZWVic2RfY2dvLmdvCist LS0gdmVuZG9yLm9yaWcvZ2l0aHViLmNvbS9lbGFzdGljL2dvLXN5c2luZm8vcHJvdmlkZXJz L2ZyZWVic2QvaG9zdF9mcmVlYnNkX2Nnby5nbwkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAw MDAwMCArMDEwMAorKysrIHZlbmRvci9naXRodWIuY29tL2VsYXN0aWMvZ28tc3lzaW5mby9w cm92aWRlcnMvZnJlZWJzZC9ob3N0X2ZyZWVic2RfY2dvLmdvCTIwMjQtMDctMTMgMjA6Mjg6 MzYuMDY1MzE3MDAwICswMjAwCitAQCAtMCwwICsxLDIzOCBAQAorKy8vIExpY2Vuc2VkIHRv IEVsYXN0aWNzZWFyY2ggQi5WLiB1bmRlciBvbmUgb3IgbW9yZSBjb250cmlidXRvcgorKy8v IGxpY2Vuc2UgYWdyZWVtZW50cy4gU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3 aXRoCisrLy8gdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGlu ZyBjb3B5cmlnaHQKKysvLyBvd25lcnNoaXAuIEVsYXN0aWNzZWFyY2ggQi5WLiBsaWNlbnNl cyB0aGlzIGZpbGUgdG8geW91IHVuZGVyCisrLy8gdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJz aW9uIDIuMCAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkKKysvLyBub3QgdXNlIHRoaXMgZmls ZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorKy8vIFlvdSBtYXkg b2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorKy8vCisrLy8gICAgIGh0dHA6Ly93 d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorKy8vCisrLy8gVW5sZXNzIHJl cXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLAorKy8v IHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVk IG9uIGFuCisrLy8gIkFTIElTIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJ VElPTlMgT0YgQU5ZCisrLy8gS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gIFNl ZSB0aGUgTGljZW5zZSBmb3IgdGhlCisrLy8gc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5n IHBlcm1pc3Npb25zIGFuZCBsaW1pdGF0aW9ucworKy8vIHVuZGVyIHRoZSBMaWNlbnNlLgor KworKy8vZ286YnVpbGQgZnJlZWJzZCAmJiBjZ28KKysKKytwYWNrYWdlIGZyZWVic2QKKysK KytpbXBvcnQgKAorKwkiY29udGV4dCIKKysJImVycm9ycyIKKysJIm9zIgorKwkicGF0aC9m aWxlcGF0aCIKKysJInRpbWUiCisrCisrCSJnaXRodWIuY29tL3Byb21ldGhldXMvcHJvY2Zz IgorKworKwkiZ2l0aHViLmNvbS9lbGFzdGljL2dvLXN5c2luZm8vaW50ZXJuYWwvcmVnaXN0 cnkiCisrCSJnaXRodWIuY29tL2VsYXN0aWMvZ28tc3lzaW5mby9wcm92aWRlcnMvc2hhcmVk IgorKwkiZ2l0aHViLmNvbS9lbGFzdGljL2dvLXN5c2luZm8vdHlwZXMiCisrKQorKworK2Z1 bmMgaW5pdCgpIHsKKysJcmVnaXN0cnkuUmVnaXN0ZXIobmV3RnJlZUJTRFN5c3RlbSgpKQor K30KKysKKyt0eXBlIGZyZWVic2RTeXN0ZW0gc3RydWN0e30KKysKKytmdW5jIG5ld0ZyZWVC U0RTeXN0ZW0oKSBmcmVlYnNkU3lzdGVtIHsKKysJcmV0dXJuIGZyZWVic2RTeXN0ZW17fQor K30KKysKKytmdW5jIChzIGZyZWVic2RTeXN0ZW0pIEhvc3QoKSAodHlwZXMuSG9zdCwgZXJy b3IpIHsKKysJcmV0dXJuIG5ld0hvc3QoKQorK30KKysKKyt0eXBlIGhvc3Qgc3RydWN0IHsK KysJcHJvY0ZTIHByb2NGUworKwlpbmZvICAgdHlwZXMuSG9zdEluZm8KKyt9CisrCisrZnVu YyAoaCAqaG9zdCkgSW5mbygpIHR5cGVzLkhvc3RJbmZvIHsKKysJcmV0dXJuIGguaW5mbwor K30KKysKKytmdW5jIChoICpob3N0KSBDUFVUaW1lKCkgKHR5cGVzLkNQVVRpbWVzLCBlcnJv cikgeworKwljcHUgOj0gdHlwZXMuQ1BVVGltZXN7fQorKwlyIDo9ICZyZWFkZXJ7fQorKwly LmNwdVRpbWUoJmNwdSkKKysJcmV0dXJuIGNwdSwgci5FcnIoKQorK30KKysKKytmdW5jICho ICpob3N0KSBNZW1vcnkoKSAoKnR5cGVzLkhvc3RNZW1vcnlJbmZvLCBlcnJvcikgeworKwlt IDo9ICZ0eXBlcy5Ib3N0TWVtb3J5SW5mb3t9CisrCXIgOj0gJnJlYWRlcnt9CisrCXIubWVt SW5mbyhtKQorKwlyZXR1cm4gbSwgci5FcnIoKQorK30KKysKKytmdW5jIChoICpob3N0KSBG UUROV2l0aENvbnRleHQoY3R4IGNvbnRleHQuQ29udGV4dCkgKHN0cmluZywgZXJyb3IpIHsK KysJcmV0dXJuIHNoYXJlZC5GUUROV2l0aENvbnRleHQoY3R4KQorK30KKysKKytmdW5jICho ICpob3N0KSBGUUROKCkgKHN0cmluZywgZXJyb3IpIHsKKysJcmV0dXJuIGguRlFETldpdGhD b250ZXh0KGNvbnRleHQuQmFja2dyb3VuZCgpKQorK30KKysKKytmdW5jIG5ld0hvc3QoKSAo Kmhvc3QsIGVycm9yKSB7CisrCWggOj0gJmhvc3R7fQorKwlyIDo9ICZyZWFkZXJ7fQorKwly LmFyY2hpdGVjdHVyZShoKQorKwlyLmJvb3RUaW1lKGgpCisrCXIuaG9zdG5hbWUoaCkKKysJ ci5uZXR3b3JrKGgpCisrCXIua2VybmVsVmVyc2lvbihoKQorKwlyLm9zKGgpCisrCXIudGlt ZShoKQorKwlyLnVuaXF1ZUlEKGgpCisrCXJldHVybiBoLCByLkVycigpCisrfQorKworK3R5 cGUgcmVhZGVyIHN0cnVjdCB7CisrCWVycnMgW11lcnJvcgorK30KKysKKytmdW5jIChyICpy ZWFkZXIpIGFkZEVycihlcnIgZXJyb3IpIGJvb2wgeworKwlpZiBlcnIgIT0gbmlsIHsKKysJ CWlmICFlcnJvcnMuSXMoZXJyLCB0eXBlcy5FcnJOb3RJbXBsZW1lbnRlZCkgeworKwkJCXIu ZXJycyA9IGFwcGVuZChyLmVycnMsIGVycikKKysJCX0KKysJCXJldHVybiB0cnVlCisrCX0K KysJcmV0dXJuIGZhbHNlCisrfQorKworK2Z1bmMgKHIgKnJlYWRlcikgRXJyKCkgZXJyb3Ig eworKwlyZXR1cm4gZXJyb3JzLkpvaW4oci5lcnJzLi4uKQorK30KKysKKytmdW5jIChyICpy ZWFkZXIpIGNwdVRpbWUoY3B1ICp0eXBlcy5DUFVUaW1lcykgeworKwl0aW1lcywgZXJyIDo9 IGNwdVN0YXRlVGltZXMoKQorKwlpZiByLmFkZEVycihlcnIpIHsKKysJCXJldHVybgorKwl9 CisrCSpjcHUgPSAqdGltZXMKKyt9CisrCisrZnVuYyAociAqcmVhZGVyKSBtZW1JbmZvKG0g KnR5cGVzLkhvc3RNZW1vcnlJbmZvKSB7CisrCS8vIE1lbW9yeSBjb3VudGVyIGNhbGN1bGF0 aW9uczoKKysJLy8gICB0b3RhbCA9IHBoeXNpY2FsIG1lbW9yeQorKwkvLyAgIHVzZWQgPSBh Y3RpdmUgKyB3aXJlZAorKwkvLyAgIGZyZWUgPSBmcmVlCisrCS8vICAgYXZhaWxhYmxlID0g YnVmZmVycyArIGluYWN0aXZlICsgY2FjaGUgKyBmcmVlCisrCisrCXBhZ2VTaXplLCBlcnIg Oj0gcGFnZVNpemVCeXRlcygpCisrCWlmIHIuYWRkRXJyKGVycikgeworKwkJcmV0dXJuCisr CX0KKysKKysJbS5Ub3RhbCA9IHRvdGFsUGh5c2ljYWxNZW0ocikKKysJYWN0aXZlUGFnZXMg Oj0gYWN0aXZlUGFnZUNvdW50KHIpCisrCisrCW0uTWV0cmljcyA9IG1ha2UobWFwW3N0cmlu Z111aW50NjQsIDYpCisrCW0uTWV0cmljc1siYWN0aXZlX2J5dGVzIl0gPSBhY3RpdmVQYWdl cyAqIHBhZ2VTaXplCisrCisrCXdpcmVQYWdlcyA6PSB3aXJlUGFnZUNvdW50KHIpCisrCW0u TWV0cmljc1sid2lyZWRfYnl0ZXMiXSA9IHdpcmVQYWdlcyAqIHBhZ2VTaXplCisrCisrCWlu YWN0aXZlUGFnZXMgOj0gaW5hY3RpdmVQYWdlQ291bnQocikKKysJbS5NZXRyaWNzWyJpbmFj dGl2ZV9ieXRlcyJdID0gaW5hY3RpdmVQYWdlcyAqIHBhZ2VTaXplCisrCisrCWNhY2hlUGFn ZXMgOj0gY2FjaGVQYWdlQ291bnQocikKKysJbS5NZXRyaWNzWyJjYWNoZV9ieXRlcyJdID0g Y2FjaGVQYWdlcyAqIHBhZ2VTaXplCisrCisrCWZyZWVQYWdlcyA6PSBmcmVlUGFnZUNvdW50 KHIpCisrCW0uTWV0cmljc1siZnJlZV9ieXRlcyJdID0gZnJlZVBhZ2VzICogcGFnZVNpemUK KysKKysJYnVmZmVycyA6PSBidWZmZXJzVXNlZEJ5dGVzKHIpCisrCW0uTWV0cmljc1siYnVm ZmVyX2J5dGVzIl0gPSBidWZmZXJzCisrCisrCW0uVXNlZCA9IChhY3RpdmVQYWdlcyArIHdp cmVQYWdlcykgKiBwYWdlU2l6ZQorKwltLkZyZWUgPSBmcmVlUGFnZXMgKiBwYWdlU2l6ZQor KwltLkF2YWlsYWJsZSA9IChpbmFjdGl2ZVBhZ2VzK2NhY2hlUGFnZXMrZnJlZVBhZ2VzKSpw YWdlU2l6ZSArIGJ1ZmZlcnMKKysKKysJLy8gVmlydHVhbCAoc3dhcCkgTWVtb3J5CisrCXN3 YXAsIGVyciA6PSBrdm1HZXRTd2FwSW5mbygpCisrCWlmIHIuYWRkRXJyKGVycikgeworKwkJ cmV0dXJuCisrCX0KKysKKysJbS5WaXJ0dWFsVG90YWwgPSB1aW50NjQoc3dhcC5Ub3RhbCkg KiBwYWdlU2l6ZQorKwltLlZpcnR1YWxVc2VkID0gdWludDY0KHN3YXAuVXNlZCkgKiBwYWdl U2l6ZQorKwltLlZpcnR1YWxGcmVlID0gbS5WaXJ0dWFsVG90YWwgLSBtLlZpcnR1YWxVc2Vk CisrfQorKworK2Z1bmMgKHIgKnJlYWRlcikgYXJjaGl0ZWN0dXJlKGggKmhvc3QpIHsKKysJ diwgZXJyIDo9IGFyY2hpdGVjdHVyZSgpCisrCWlmIHIuYWRkRXJyKGVycikgeworKwkJcmV0 dXJuCisrCX0KKysJaC5pbmZvLkFyY2hpdGVjdHVyZSA9IHYKKyt9CisrCisrZnVuYyAociAq cmVhZGVyKSBib290VGltZShoICpob3N0KSB7CisrCXYsIGVyciA6PSBib290VGltZSgpCisr CWlmIHIuYWRkRXJyKGVycikgeworKwkJcmV0dXJuCisrCX0KKysJaC5pbmZvLkJvb3RUaW1l ID0gdgorK30KKysKKytmdW5jIChyICpyZWFkZXIpIGhvc3RuYW1lKGggKmhvc3QpIHsKKysJ diwgZXJyIDo9IG9zLkhvc3RuYW1lKCkKKysJaWYgci5hZGRFcnIoZXJyKSB7CisrCQlyZXR1 cm4KKysJfQorKwloLmluZm8uSG9zdG5hbWUgPSB2CisrfQorKworK2Z1bmMgKHIgKnJlYWRl cikgbmV0d29yayhoICpob3N0KSB7CisrCWlwcywgbWFjcywgZXJyIDo9IHNoYXJlZC5OZXR3 b3JrKCkKKysJaWYgci5hZGRFcnIoZXJyKSB7CisrCQlyZXR1cm4KKysJfQorKwloLmluZm8u SVBzID0gaXBzCisrCWguaW5mby5NQUNzID0gbWFjcworK30KKysKKytmdW5jIChyICpyZWFk ZXIpIGtlcm5lbFZlcnNpb24oaCAqaG9zdCkgeworKwl2LCBlcnIgOj0ga2VybmVsVmVyc2lv bigpCisrCWlmIHIuYWRkRXJyKGVycikgeworKwkJcmV0dXJuCisrCX0KKysJaC5pbmZvLktl cm5lbFZlcnNpb24gPSB2CisrfQorKworK2Z1bmMgKHIgKnJlYWRlcikgb3MoaCAqaG9zdCkg eworKwl2LCBlcnIgOj0gb3BlcmF0aW5nU3lzdGVtKCkKKysJaWYgci5hZGRFcnIoZXJyKSB7 CisrCQlyZXR1cm4KKysJfQorKwloLmluZm8uT1MgPSB2CisrfQorKworK2Z1bmMgKHIgKnJl YWRlcikgdGltZShoICpob3N0KSB7CisrCWguaW5mby5UaW1lem9uZSwgaC5pbmZvLlRpbWV6 b25lT2Zmc2V0U2VjID0gdGltZS5Ob3coKS5ab25lKCkKKyt9CisrCisrZnVuYyAociAqcmVh ZGVyKSB1bmlxdWVJRChoICpob3N0KSB7CisrCXYsIGVyciA6PSBtYWNoaW5lSUQoKQorKwlp ZiByLmFkZEVycihlcnIpIHsKKysJCXJldHVybgorKwl9CisrCWguaW5mby5VbmlxdWVJRCA9 IHYKKyt9CisrCisrdHlwZSBwcm9jRlMgc3RydWN0IHsKKysJcHJvY2ZzLkZTCisrCW1vdW50 UG9pbnQgc3RyaW5nCisrfQorKworK2Z1bmMgKGZzICpwcm9jRlMpIHBhdGgocCAuLi5zdHJp bmcpIHN0cmluZyB7CisrCWVsZW0gOj0gYXBwZW5kKFtdc3RyaW5ne2ZzLm1vdW50UG9pbnR9 LCBwLi4uKQorKwlyZXR1cm4gZmlsZXBhdGguSm9pbihlbGVtLi4uKQorK30KK2RpZmYgLXVy TiB2ZW5kb3Iub3JpZy9naXRodWIuY29tL2VsYXN0aWMvZ28tc3lzaW5mby9wcm92aWRlcnMv ZnJlZWJzZC9ob3N0X2ZyZWVic2RfY2dvX3Rlc3QuZ28gdmVuZG9yL2dpdGh1Yi5jb20vZWxh c3RpYy9nby1zeXNpbmZvL3Byb3ZpZGVycy9mcmVlYnNkL2hvc3RfZnJlZWJzZF9jZ29fdGVz dC5nbworLS0tIHZlbmRvci5vcmlnL2dpdGh1Yi5jb20vZWxhc3RpYy9nby1zeXNpbmZvL3By b3ZpZGVycy9mcmVlYnNkL2hvc3RfZnJlZWJzZF9jZ29fdGVzdC5nbwkxOTcwLTAxLTAxIDAx OjAwOjAwLjAwMDAwMDAwMCArMDEwMAorKysrIHZlbmRvci9naXRodWIuY29tL2VsYXN0aWMv Z28tc3lzaW5mby9wcm92aWRlcnMvZnJlZWJzZC9ob3N0X2ZyZWVic2RfY2dvX3Rlc3QuZ28J MjAyNC0wNy0xMyAyMDoyODozNi4wNjUzODUwMDAgKzAyMDAKK0BAIC0wLDAgKzEsNTMgQEAK KysvLyBMaWNlbnNlZCB0byBFbGFzdGljc2VhcmNoIEIuVi4gdW5kZXIgb25lIG9yIG1vcmUg Y29udHJpYnV0b3IKKysvLyBsaWNlbnNlIGFncmVlbWVudHMuIFNlZSB0aGUgTk9USUNFIGZp bGUgZGlzdHJpYnV0ZWQgd2l0aAorKy8vIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZv cm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0CisrLy8gb3duZXJzaGlwLiBFbGFzdGljc2Vh cmNoIEIuVi4gbGljZW5zZXMgdGhpcyBmaWxlIHRvIHlvdSB1bmRlcgorKy8vIHRoZSBBcGFj aGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5CisrLy8g bm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5z ZS4KKysvLyBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKysvLwor Ky8vICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKysv LworKy8vIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8g aW4gd3JpdGluZywKKysvLyBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5z ZSBpcyBkaXN0cmlidXRlZCBvbiBhbgorKy8vICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FS UkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWQorKy8vIEtJTkQsIGVpdGhlciBleHByZXNz IG9yIGltcGxpZWQuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZQorKy8vIHNwZWNpZmljIGxh bmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQgbGltaXRhdGlvbnMKKysvLyB1bmRl ciB0aGUgTGljZW5zZS4KKysKKysvL2dvOmJ1aWxkIGZyZWVic2QgJiYgY2dvCisrCisrcGFj a2FnZSBmcmVlYnNkCisrCisraW1wb3J0ICgKKysJImVuY29kaW5nL2pzb24iCisrCSJ0ZXN0 aW5nIgorKworKwkiZ2l0aHViLmNvbS9lbGFzdGljL2dvLXN5c2luZm8vaW50ZXJuYWwvcmVn aXN0cnkiCisrKQorKworK3ZhciBfIHJlZ2lzdHJ5Lkhvc3RQcm92aWRlciA9IGZyZWVic2RT eXN0ZW17fQorKworK2Z1bmMgVGVzdEhvc3QodCAqdGVzdGluZy5UKSB7CisrCWhvc3QsIGVy ciA6PSBuZXdGcmVlQlNEU3lzdGVtKCkuSG9zdCgpCisrCWlmIGVyciAhPSBuaWwgeworKwkJ dC5GYXRhbChlcnIpCisrCX0KKysKKysJdC5SdW4oIkluZm8iLCBmdW5jKHQgKnRlc3Rpbmcu VCkgeworKwkJaW5mbyA6PSBob3N0LkluZm8oKQorKworKwkJZGF0YSwgXyA6PSBqc29uLk1h cnNoYWxJbmRlbnQoaW5mbywgIiIsICIgICIpCisrCQl0LkxvZyhzdHJpbmcoZGF0YSkpCisr CX0pCisrCisrCXQuUnVuKCJNZW1vcnkiLCBmdW5jKHQgKnRlc3RpbmcuVCkgeworKwkJbWVt LCBlcnIgOj0gaG9zdC5NZW1vcnkoKQorKwkJaWYgZXJyICE9IG5pbCB7CisrCQkJdC5GYXRh bChlcnIpCisrCQl9CisrCisrCQlkYXRhLCBfIDo9IGpzb24uTWFyc2hhbEluZGVudChtZW0s ICIiLCAiICAiKQorKwkJdC5Mb2coc3RyaW5nKGRhdGEpKQorKwl9KQorK30KK2RpZmYgLXVy TiB2ZW5kb3Iub3JpZy9naXRodWIuY29tL2VsYXN0aWMvZ28tc3lzaW5mby9wcm92aWRlcnMv ZnJlZWJzZC9rdm1fZnJlZWJzZF9jZ28uZ28gdmVuZG9yL2dpdGh1Yi5jb20vZWxhc3RpYy9n by1zeXNpbmZvL3Byb3ZpZGVycy9mcmVlYnNkL2t2bV9mcmVlYnNkX2Nnby5nbworLS0tIHZl bmRvci5vcmlnL2dpdGh1Yi5jb20vZWxhc3RpYy9nby1zeXNpbmZvL3Byb3ZpZGVycy9mcmVl YnNkL2t2bV9mcmVlYnNkX2Nnby5nbwkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCAr MDEwMAorKysrIHZlbmRvci9naXRodWIuY29tL2VsYXN0aWMvZ28tc3lzaW5mby9wcm92aWRl cnMvZnJlZWJzZC9rdm1fZnJlZWJzZF9jZ28uZ28JMjAyNC0wNy0xMyAyMDoyODozNi4wNjU0 OTgwMDAgKzAyMDAKK0BAIC0wLDAgKzEsNTggQEAKKysvLyBMaWNlbnNlZCB0byBFbGFzdGlj c2VhcmNoIEIuVi4gdW5kZXIgb25lIG9yIG1vcmUgY29udHJpYnV0b3IKKysvLyBsaWNlbnNl IGFncmVlbWVudHMuIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorKy8v IHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJp Z2h0CisrLy8gb3duZXJzaGlwLiBFbGFzdGljc2VhcmNoIEIuVi4gbGljZW5zZXMgdGhpcyBm aWxlIHRvIHlvdSB1bmRlcgorKy8vIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAg KHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5CisrLy8gbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0 IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKysvLyBZb3UgbWF5IG9idGFpbiBh IGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKysvLworKy8vICAgICBodHRwOi8vd3d3LmFwYWNo ZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKysvLworKy8vIFVubGVzcyByZXF1aXJlZCBi eSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywKKysvLyBzb2Z0d2Fy ZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbgor Ky8vICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9G IEFOWQorKy8vIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuICBTZWUgdGhlIExp Y2Vuc2UgZm9yIHRoZQorKy8vIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNz aW9ucyBhbmQgbGltaXRhdGlvbnMKKysvLyB1bmRlciB0aGUgTGljZW5zZS4KKysKKysvL2dv OmJ1aWxkIGZyZWVic2QgJiYgY2dvCisrCisrcGFja2FnZSBmcmVlYnNkCisrCisrLyoKKysj Y2dvIExERkxBR1M6IC1sa3ZtCisrI2luY2x1ZGUgPHN5cy9jZGVmcy5oPgorKyNpbmNsdWRl IDxzeXMvdHlwZXMuaD4KKysjaW5jbHVkZSA8c3lzL3N5c2N0bC5oPgorKworKyNpbmNsdWRl IDxwYXRocy5oPgorKyNpbmNsdWRlIDxrdm0uaD4KKysjaW5jbHVkZSA8c3RkbGliLmg+Cisr Ki8KKytpbXBvcnQgIkMiCisrCisraW1wb3J0ICgKKysJImZtdCIKKysJInVuc2FmZSIKKysK KysJImdvbGFuZy5vcmcveC9zeXMvdW5peCIKKyspCisrCisrLy8ga3ZtR2V0U3dhcEluZm8g cmV0dXJucyBzd2FwIHN1bW1hcnkgc3RhdGlzdGljcyBmb3IgdGhlIHN5c3RlbS4gSXQgYWNj ZXNzZXMKKysvLyB0aGUga2VybmVsIHZpcnR1YWwgbWVtb3J5IChrdm0pIGltYWdlcyBieSB1 c2luZyBsaWJrdm0uCisrZnVuYyBrdm1HZXRTd2FwSW5mbygpICgqa3ZtU3dhcCwgZXJyb3Ip IHsKKysJLy8gT2J0YWluIGEgS1ZNIGZpbGUgZGVzY3JpcHRvci4KKysJdmFyIGVycnN0ciAq Qy5jaGFyCisrCWtkIDo9IEMua3ZtX29wZW4obmlsLCBuaWwsIG5pbCwgdW5peC5PX1JET05M WSwgZXJyc3RyKQorKwlpZiBlcnJzdHIgIT0gbmlsIHsKKysJCXJldHVybiBuaWwsIGZtdC5F cnJvcmYoImZhaWxlZCBjYWxsaW5nIGt2bV9vcGVuOiAlcyIsIEMuR29TdHJpbmcoZXJyc3Ry KSkKKysJfQorKwlkZWZlciBDLmt2bV9jbG9zZShrZCkKKysKKysJdmFyIHN3YXAga3ZtU3dh cAorKwlpZiBuLCBlcnIgOj0gQy5rdm1fZ2V0c3dhcGluZm8oa2QsICgqQy5zdHJ1Y3Rfa3Zt X3N3YXApKHVuc2FmZS5Qb2ludGVyKCZzd2FwKSksIDEsIDApOyBuICE9IDAgeworKwkJcmV0 dXJuIG5pbCwgZm10LkVycm9yZigiZmFpbGVkIHRvIGdldCBrdm1fZ2V0c3dhcGluZm86ICV3 IiwgZXJyKQorKwl9CisrCisrCXJldHVybiAmc3dhcCwgbmlsCisrfQorZGlmZiAtdXJOIHZl bmRvci5vcmlnL2dpdGh1Yi5jb20vZWxhc3RpYy9nby1zeXNpbmZvL3Byb3ZpZGVycy9mcmVl YnNkL3Byb2Nlc3NfZnJlZWJzZF9jZ28uZ28gdmVuZG9yL2dpdGh1Yi5jb20vZWxhc3RpYy9n by1zeXNpbmZvL3Byb3ZpZGVycy9mcmVlYnNkL3Byb2Nlc3NfZnJlZWJzZF9jZ28uZ28KKy0t LSB2ZW5kb3Iub3JpZy9naXRodWIuY29tL2VsYXN0aWMvZ28tc3lzaW5mby9wcm92aWRlcnMv ZnJlZWJzZC9wcm9jZXNzX2ZyZWVic2RfY2dvLmdvCTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAw MDAwMDAwICswMTAwCisrKysgdmVuZG9yL2dpdGh1Yi5jb20vZWxhc3RpYy9nby1zeXNpbmZv L3Byb3ZpZGVycy9mcmVlYnNkL3Byb2Nlc3NfZnJlZWJzZF9jZ28uZ28JMjAyNC0wNy0xMyAy MDoyODozNi4wNjU1NzgwMDAgKzAyMDAKK0BAIC0wLDAgKzEsMzg2IEBACisrLy8gTGljZW5z ZWQgdG8gRWxhc3RpY3NlYXJjaCBCLlYuIHVuZGVyIG9uZSBvciBtb3JlIGNvbnRyaWJ1dG9y CisrLy8gbGljZW5zZSBhZ3JlZW1lbnRzLiBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1 dGVkIHdpdGgKKysvLyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVn YXJkaW5nIGNvcHlyaWdodAorKy8vIG93bmVyc2hpcC4gRWxhc3RpY3NlYXJjaCBCLlYuIGxp Y2Vuc2VzIHRoaXMgZmlsZSB0byB5b3UgdW5kZXIKKysvLyB0aGUgQXBhY2hlIExpY2Vuc2Us IFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heQorKy8vIG5vdCB1c2UgdGhp cyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisrLy8gWW91 IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisrLy8KKysvLyAgICAgaHR0 cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisrLy8KKysvLyBVbmxl c3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcs CisrLy8gc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJp YnV0ZWQgb24gYW4KKysvLyAiQVMgSVMiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1Ig Q09ORElUSU9OUyBPRiBBTlkKKysvLyBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVk LiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUKKysvLyBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zl cm5pbmcgcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zCisrLy8gdW5kZXIgdGhlIExpY2Vu c2UuCisrCisrLy9nbzpidWlsZCBmcmVlYnNkICYmIGNnbworKworK3BhY2thZ2UgZnJlZWJz ZAorKworK2ltcG9ydCAiQyIKKysKKysvKgorKyNjZ28gTERGTEFHUzogLWxwcm9jc3RhdAor KyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKysjaW5jbHVkZSA8c3lzL3N5c2N0bC5oPgorKyNp bmNsdWRlIDxzeXMvdGltZS5oPgorKyNpbmNsdWRlIDxzeXMvcGFyYW0uaD4KKysjaW5jbHVk ZSA8c3lzL3F1ZXVlLmg+CisrI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KKysjaW5jbHVkZSA8 c3lzL3VzZXIuaD4KKysKKysjaW5jbHVkZSA8bGlicHJvY3N0YXQuaD4KKysjaW5jbHVkZSA8 c3RyaW5nLmg+CisrCisrc3RydWN0IGtpbmZvX3Byb2MgZ2V0UHJvY0luZm9BdChzdHJ1Y3Qg a2luZm9fcHJvYyAqcHJvY3MsIHVuc2lnbmVkIGludCBpbmRleCkgeworKyAgcmV0dXJuIHBy b2NzW2luZGV4XTsKKyt9CisrCisrdW5zaWduZWQgaW50IGNvdW50QXJyYXlJdGVtcyhjaGFy ICoqaXRlbXMpIHsKKysgIHVuc2lnbmVkIGludCBpID0gMDsKKysgIGZvciAoaSA9IDA7IGl0 ZW1zW2ldICE9IE5VTEw7ICsraSk7CisrICByZXR1cm4gaTsKKyt9CisrCisrY2hhciAqIGl0 ZW1BdEluZGV4KGNoYXIgKippdGVtcywgdW5zaWduZWQgaW50IGluZGV4KSB7CisrICByZXR1 cm4gaXRlbXNbaW5kZXhdOworK30KKysKKyt1bnNpZ25lZCBpbnQgY291bnRGaWxlU3RhdHMo c3RydWN0IGZpbGVzdGF0X2xpc3QgKmhlYWQpIHsKKysgIHVuc2lnbmVkIGludCBjb3VudCA9 IDA7CisrICBzdHJ1Y3QgZmlsZXN0YXQgKmZzdDsKKysgIFNUQUlMUV9GT1JFQUNIKGZzdCwg aGVhZCwgbmV4dCkgeworKyAgICArK2NvdW50OworKyAgfQorKworKyAgcmV0dXJuIGNvdW50 OworK30KKysKKyt2b2lkIGNvcHlGaWxlU3RhdHMoc3RydWN0IGZpbGVzdGF0X2xpc3QgKmhl YWQsIHN0cnVjdCBmaWxlc3RhdCAqb3V0LCB1bnNpZ25lZCBpbnQgc2l6ZSkgeworKyAgdW5z aWduZWQgaW50IGluZGV4ID0gMDsKKysgIHN0cnVjdCBmaWxlc3RhdCAqZnN0OworKyAgaWYg KHNpemUgPT0gMCkgeworKyAgICAgIHJldHVybjsKKysgIH0KKysgIFNUQUlMUV9GT1JFQUNI KGZzdCwgaGVhZCwgbmV4dCkgeworKyAgICBtZW1jcHkob3V0LCBmc3QsIHNpemVvZigqZnN0 KSk7CisrICAgICsrb3V0OworKyAgICAtLXNpemU7CisrICB9CisrfQorKyovCisraW1wb3J0 ICJDIgorKworK2ltcG9ydCAoCisrCSJlcnJvcnMiCisrCSJmbXQiCisrCSJvcyIKKysJInN0 cmNvbnYiCisrCSJzdHJpbmdzIgorKwkidGltZSIKKysKKysJImdpdGh1Yi5jb20vZWxhc3Rp Yy9nby1zeXNpbmZvL3R5cGVzIgorKykKKysKKytmdW5jIGdldFByb2NJbmZvKG9wLCBhcmcg aW50KSAoW11wcm9jZXNzLCBlcnJvcikgeworKwlwcm9jc3RhdCwgZXJyIDo9IEMucHJvY3N0 YXRfb3Blbl9zeXNjdGwoKQorKwlpZiBwcm9jc3RhdCA9PSBuaWwgeworKwkJcmV0dXJuIG5p bCwgZm10LkVycm9yZigiZmFpbGVkIHRvIG9wZW4gcHJvY3N0YXQgc3lzY3RsOiAldyIsIGVy cikKKysJfQorKwlkZWZlciBDLnByb2NzdGF0X2Nsb3NlKHByb2NzdGF0KQorKworKwl2YXIg Y291bnQgQy51aW50ID0gMAorKwlrcHJvY3MsIGVyciA6PSBDLnByb2NzdGF0X2dldHByb2Nz KHByb2NzdGF0LCBDLmludChvcCksIEMuaW50KGFyZyksICZjb3VudCkKKysJaWYga3Byb2Nz ID09IG5pbCB7CisrCQlyZXR1cm4gbmlsLCBmbXQuRXJyb3JmKCJnZXRwcm9jcyBmYWlsZWQ6 ICV3IiwgZXJyKQorKwl9CisrCWRlZmVyIEMucHJvY3N0YXRfZnJlZXByb2NzKHByb2NzdGF0 LCBrcHJvY3MpCisrCisrCXByb2NzIDo9IG1ha2UoW11wcm9jZXNzLCBjb3VudCkKKysJdmFy IGluZGV4IEMudWludAorKwlmb3IgaW5kZXggPSAwOyBpbmRleCA8IGNvdW50OyBpbmRleCsr IHsKKysJCXByb2MgOj0gQy5nZXRQcm9jSW5mb0F0KGtwcm9jcywgaW5kZXgpCisrCQlwcm9j c1tpbmRleF0ua2luZm8gPSBwcm9jCisrCQlwcm9jc1tpbmRleF0ucGlkID0gaW50KHByb2Mu a2lfcGlkKQorKwl9CisrCisrCXJldHVybiBwcm9jcywgbmlsCisrfQorKworK2Z1bmMgY29w eUFycmF5KGZyb20gKipDLmNoYXIpIFtdc3RyaW5nIHsKKysJaWYgZnJvbSA9PSBuaWwgewor KwkJcmV0dXJuIG5pbAorKwl9CisrCisrCWNvdW50IDo9IEMuY291bnRBcnJheUl0ZW1zKGZy b20pCisrCW91dCA6PSBtYWtlKFtdc3RyaW5nLCBjb3VudCkKKysKKysJZm9yIGluZGV4IDo9 IEMudWludCgwKTsgaW5kZXggPCBjb3VudDsgaW5kZXgrKyB7CisrCQlvdXRbaW5kZXhdID0g Qy5Hb1N0cmluZyhDLml0ZW1BdEluZGV4KGZyb20sIGluZGV4KSkKKysJfQorKworKwlyZXR1 cm4gb3V0CisrfQorKworK2Z1bmMgbWFrZU1hcChmcm9tIFtdc3RyaW5nKSBtYXBbc3RyaW5n XXN0cmluZyB7CisrCW91dCA6PSBtYWtlKG1hcFtzdHJpbmddc3RyaW5nLCBsZW4oZnJvbSkp CisrCisrCWZvciBfLCBlbnYgOj0gcmFuZ2UgZnJvbSB7CisrCQlwYXJ0cyA6PSBzdHJpbmdz LlNwbGl0KGVudiwgIj0iKQorKwkJaWYgbGVuKHBhcnRzKSA+IDEgeworKwkJCW91dFtwYXJ0 c1swXV0gPSBwYXJ0c1sxXQorKwkJfQorKwl9CisrCisrCXJldHVybiBvdXQKKyt9CisrCisr ZnVuYyBnZXRQcm9jRW52KHAgKnByb2Nlc3MpIChtYXBbc3RyaW5nXXN0cmluZywgZXJyb3Ip IHsKKysJcHJvY3N0YXQsIGVyciA6PSBDLnByb2NzdGF0X29wZW5fc3lzY3RsKCkKKysKKysJ aWYgcHJvY3N0YXQgPT0gbmlsIHsKKysJCXJldHVybiBuaWwsIGZtdC5FcnJvcmYoImZhaWxl ZCB0byBvcGVuIHByb2NzdGF0IHN5c2N0bDogJXciLCBlcnIpCisrCX0KKysJZGVmZXIgQy5w cm9jc3RhdF9jbG9zZShwcm9jc3RhdCkKKysKKysJZW52LCBlcnIgOj0gQy5wcm9jc3RhdF9n ZXRlbnZ2KHByb2NzdGF0LCAmcC5raW5mbywgMCkKKysJZGVmZXIgQy5wcm9jc3RhdF9mcmVl ZW52dihwcm9jc3RhdCkKKysKKysJcmV0dXJuIG1ha2VNYXAoY29weUFycmF5KGVudikpLCBl cnIKKyt9CisrCisrZnVuYyBnZXRQcm9jQXJncyhwICpwcm9jZXNzKSAoW11zdHJpbmcsIGVy cm9yKSB7CisrCXByb2NzdGF0LCBlcnIgOj0gQy5wcm9jc3RhdF9vcGVuX3N5c2N0bCgpCisr CisrCWlmIHByb2NzdGF0ID09IG5pbCB7CisrCQlyZXR1cm4gbmlsLCBmbXQuRXJyb3JmKCJm YWlsZWQgdG8gb3BlbiBwcm9jc3RhdCBzeXNjdGw6ICV3IiwgZXJyKQorKwl9CisrCWRlZmVy IEMucHJvY3N0YXRfY2xvc2UocHJvY3N0YXQpCisrCisrCWFyZ3MsIGVyciA6PSBDLnByb2Nz dGF0X2dldGFyZ3YocHJvY3N0YXQsICZwLmtpbmZvLCAwKQorKwlkZWZlciBDLnByb2NzdGF0 X2ZyZWVhcmd2KHByb2NzdGF0KQorKworKwlyZXR1cm4gY29weUFycmF5KGFyZ3MpLCBlcnIK Kyt9CisrCisrZnVuYyBnZXRQcm9jUGF0aG5hbWUocCAqcHJvY2VzcykgKHN0cmluZywgZXJy b3IpIHsKKysJcHJvY3N0YXQsIGVyciA6PSBDLnByb2NzdGF0X29wZW5fc3lzY3RsKCkKKysK KysJaWYgcHJvY3N0YXQgPT0gbmlsIHsKKysJCXJldHVybiAiIiwgZm10LkVycm9yZigiZmFp bGVkIHRvIG9wZW4gcHJvY3N0YXQgc3lzY3RsOiAldyIsIGVycikKKysJfQorKwlkZWZlciBD LnByb2NzdGF0X2Nsb3NlKHByb2NzdGF0KQorKworKwljb25zdCBtYXhsZW4gPSB1aW50KDEw MjQpCisrCW91dCA6PSBtYWtlKFtdQy5jaGFyLCBtYXhsZW4pCisrCWlmIHJlcywgZXJyIDo9 IEMucHJvY3N0YXRfZ2V0cGF0aG5hbWUocHJvY3N0YXQsICZwLmtpbmZvLCAmb3V0WzBdLCBD LnVsb25nKG1heGxlbikpOyByZXMgIT0gMCB7CisrCQlyZXR1cm4gIiIsIGVycgorKwl9Cisr CXJldHVybiBDLkdvU3RyaW5nKCZvdXRbMF0pLCBuaWwKKyt9CisrCisrZnVuYyBnZXRGaWxl U3RhdHMoZmlsZVN0YXRzICpDLnN0cnVjdF9maWxlc3RhdF9saXN0KSBbXUMuc3RydWN0X2Zp bGVzdGF0IHsKKysJY291bnQgOj0gQy5jb3VudEZpbGVTdGF0cyhmaWxlU3RhdHMpCisrCisr CWlmIGNvdW50IDwgMSB7CisrCQlyZXR1cm4gbmlsCisrCX0KKysKKysJb3V0IDo9IG1ha2Uo W11DLnN0cnVjdF9maWxlc3RhdCwgY291bnQpCisrCisrCUMuY29weUZpbGVTdGF0cyhmaWxl U3RhdHMsICZvdXRbMF0sIGNvdW50KQorKwlyZXR1cm4gb3V0CisrfQorKworK2Z1bmMgZ2V0 UHJvY0NXRChwICpwcm9jZXNzKSAoc3RyaW5nLCBlcnJvcikgeworKwlwcm9jc3RhdCwgZXJy IDo9IEMucHJvY3N0YXRfb3Blbl9zeXNjdGwoKQorKworKwlpZiBwcm9jc3RhdCA9PSBuaWwg eworKwkJcmV0dXJuICIiLCBmbXQuRXJyb3JmKCJmYWlsZWQgdG8gb3BlbiBwcm9jc3RhdCBz eXNjdGw6ICV3IiwgZXJyKQorKwl9CisrCWRlZmVyIEMucHJvY3N0YXRfY2xvc2UocHJvY3N0 YXQpCisrCisrCWZzLCBlcnIgOj0gQy5wcm9jc3RhdF9nZXRmaWxlcyhwcm9jc3RhdCwgJnAu a2luZm8sIDApCisrCWlmIGZzID09IG5pbCB7CisrCQlyZXR1cm4gIiIsIGZtdC5FcnJvcmYo ImZhaWxlZCB0byBnZXQgZmlsZXM6ICV3IiwgZXJyKQorKwl9CisrCisrCWRlZmVyIEMucHJv Y3N0YXRfZnJlZWZpbGVzKHByb2NzdGF0LCBmcykKKysKKysJZmlsZXMgOj0gZ2V0RmlsZVN0 YXRzKGZzKQorKwlmb3IgXywgZiA6PSByYW5nZSBmaWxlcyB7CisrCQlpZiBmLmZzX3VmbGFn cyA9PSBDLlBTX0ZTVF9VRkxBR19DRElSIHsKKysJCQlyZXR1cm4gQy5Hb1N0cmluZyhmLmZz X3BhdGgpLCBuaWwKKysJCX0KKysJfQorKworKwlyZXR1cm4gIiIsIG5pbAorK30KKysKKyt0 eXBlIHByb2Nlc3Mgc3RydWN0IHsKKysJcGlkICAgaW50CisrCWtpbmZvIEMuc3RydWN0X2tp bmZvX3Byb2MKKyt9CisrCisrZnVuYyB0aW1ldmFsVG9EdXJhdGlvbih0bSBDLnN0cnVjdF90 aW1ldmFsKSB0aW1lLkR1cmF0aW9uIHsKKysJcmV0dXJuIHRpbWUuRHVyYXRpb24odG0udHZf c2VjKSp0aW1lLlNlY29uZCArCisrCQl0aW1lLkR1cmF0aW9uKHRtLnR2X3VzZWMpKnRpbWUu TWljcm9zZWNvbmQKKyt9CisrCisrZnVuYyAocCAqcHJvY2VzcykgQ1BVVGltZSgpICh0eXBl cy5DUFVUaW1lcywgZXJyb3IpIHsKKysJcHJvY3MsIGVyciA6PSBnZXRQcm9jSW5mbyhDLktF Uk5fUFJPQ19QSUQsIHAuUElEKCkpCisrCWlmIGVyciAhPSBuaWwgeworKwkJcmV0dXJuIHR5 cGVzLkNQVVRpbWVze30sIGVycgorKwl9CisrCXAua2luZm8gPSBwcm9jc1swXS5raW5mbwor KworKwlyZXR1cm4gdHlwZXMuQ1BVVGltZXN7CisrCQlVc2VyOiAgIHRpbWV2YWxUb0R1cmF0 aW9uKHAua2luZm8ua2lfcnVzYWdlLnJ1X3V0aW1lKSwKKysJCVN5c3RlbTogdGltZXZhbFRv RHVyYXRpb24ocC5raW5mby5raV9ydXNhZ2UucnVfc3RpbWUpLAorKwl9LCBuaWwKKyt9Cisr CisrZnVuYyAocCAqcHJvY2VzcykgSW5mbygpICh0eXBlcy5Qcm9jZXNzSW5mbywgZXJyb3Ip IHsKKysJcHJvY3MsIGVyciA6PSBnZXRQcm9jSW5mbyhDLktFUk5fUFJPQ19QSUQsIHAuUElE KCkpCisrCWlmIGVyciAhPSBuaWwgeworKwkJcmV0dXJuIHR5cGVzLlByb2Nlc3NJbmZve30s IGVycgorKwl9CisrCXAua2luZm8gPSBwcm9jc1swXS5raW5mbworKworKwljd2QsIGVyciA6 PSBnZXRQcm9jQ1dEKHApCisrCWlmIGVyciAhPSBuaWwgeworKwkJcmV0dXJuIHR5cGVzLlBy b2Nlc3NJbmZve30sIGVycgorKwl9CisrCisrCWFyZ3MsIGVyciA6PSBnZXRQcm9jQXJncyhw KQorKwlpZiBlcnIgIT0gbmlsIHsKKysJCXJldHVybiB0eXBlcy5Qcm9jZXNzSW5mb3t9LCBl cnIKKysJfQorKworKwlleGUsIF8gOj0gZ2V0UHJvY1BhdGhuYW1lKHApCisrCisrCXJldHVy biB0eXBlcy5Qcm9jZXNzSW5mb3sKKysJCU5hbWU6ICAgICAgQy5Hb1N0cmluZygmcC5raW5m by5raV9jb21tWzBdKSwKKysJCVBJRDogICAgICAgaW50KHAua2luZm8ua2lfcGlkKSwKKysJ CVBQSUQ6ICAgICAgaW50KHAua2luZm8ua2lfcHBpZCksCisrCQlDV0Q6ICAgICAgIGN3ZCwK KysJCUV4ZTogICAgICAgZXhlLAorKwkJQXJnczogICAgICBhcmdzLAorKwkJU3RhcnRUaW1l OiB0aW1lLlVuaXgoaW50NjQocC5raW5mby5raV9zdGFydC50dl9zZWMpLCBpbnQ2NChwLmtp bmZvLmtpX3N0YXJ0LnR2X3VzZWMpKjEwMDApLAorKwl9LCBuaWwKKyt9CisrCisrZnVuYyAo cCAqcHJvY2VzcykgTWVtb3J5KCkgKHR5cGVzLk1lbW9yeUluZm8sIGVycm9yKSB7CisrCXBh Z2VTaXplLCBlcnIgOj0gcGFnZVNpemVCeXRlcygpCisrCWlmIGVyciAhPSBuaWwgeworKwkJ cmV0dXJuIHR5cGVzLk1lbW9yeUluZm97fSwgZXJyCisrCX0KKysKKysJcHJvY3MsIGVyciA6 PSBnZXRQcm9jSW5mbyhDLktFUk5fUFJPQ19QSUQsIHAuUElEKCkpCisrCWlmIGVyciAhPSBu aWwgeworKwkJcmV0dXJuIHR5cGVzLk1lbW9yeUluZm97fSwgZXJyCisrCX0KKysJcC5raW5m byA9IHByb2NzWzBdLmtpbmZvCisrCisrCXJldHVybiB0eXBlcy5NZW1vcnlJbmZveworKwkJ UmVzaWRlbnQ6IHVpbnQ2NChwLmtpbmZvLmtpX3Jzc2l6ZSkgKiBwYWdlU2l6ZSwKKysJCVZp cnR1YWw6ICB1aW50NjQocC5raW5mby5raV9zaXplKSwKKysJfSwgbmlsCisrfQorKworK2Z1 bmMgKHAgKnByb2Nlc3MpIFVzZXIoKSAodHlwZXMuVXNlckluZm8sIGVycm9yKSB7CisrCXBy b2NzLCBlcnIgOj0gZ2V0UHJvY0luZm8oQy5LRVJOX1BST0NfUElELCBwLlBJRCgpKQorKwlp ZiBlcnIgIT0gbmlsIHsKKysJCXJldHVybiB0eXBlcy5Vc2VySW5mb3t9LCBlcnIKKysJfQor KworKwlwLmtpbmZvID0gcHJvY3NbMF0ua2luZm8KKysKKysJcmV0dXJuIHR5cGVzLlVzZXJJ bmZveworKwkJVUlEOiAgc3RyY29udi5Gb3JtYXRVaW50KHVpbnQ2NChwLmtpbmZvLmtpX3J1 aWQpLCAxMCksCisrCQlFVUlEOiBzdHJjb252LkZvcm1hdFVpbnQodWludDY0KHAua2luZm8u a2lfdWlkKSwgMTApLAorKwkJU1VJRDogc3RyY29udi5Gb3JtYXRVaW50KHVpbnQ2NChwLmtp bmZvLmtpX3N2dWlkKSwgMTApLAorKwkJR0lEOiAgc3RyY29udi5Gb3JtYXRVaW50KHVpbnQ2 NChwLmtpbmZvLmtpX3JnaWQpLCAxMCksCisrCQlFR0lEOiBzdHJjb252LkZvcm1hdFVpbnQo dWludDY0KHAua2luZm8ua2lfZ3JvdXBzWzBdKSwgMTApLAorKwkJU0dJRDogc3RyY29udi5G b3JtYXRVaW50KHVpbnQ2NChwLmtpbmZvLmtpX3N2Z2lkKSwgMTApLAorKwl9LCBuaWwKKyt9 CisrCisrZnVuYyAocCAqcHJvY2VzcykgUElEKCkgaW50IHsKKysJcmV0dXJuIHAucGlkCisr fQorKworK2Z1bmMgKHAgKnByb2Nlc3MpIE9wZW5IYW5kbGVzKCkgKFtdc3RyaW5nLCBlcnJv cikgeworKwlwcm9jc3RhdCA6PSBDLnByb2NzdGF0X29wZW5fc3lzY3RsKCkKKysJaWYgcHJv Y3N0YXQgPT0gbmlsIHsKKysJCXJldHVybiBuaWwsIGVycm9ycy5OZXcoImZhaWxlZCB0byBv cGVuIHByb2NzdGF0IHN5c2N0bCIpCisrCX0KKysJZGVmZXIgQy5wcm9jc3RhdF9jbG9zZShw cm9jc3RhdCkKKysKKysJZnMgOj0gQy5wcm9jc3RhdF9nZXRmaWxlcyhwcm9jc3RhdCwgJnAu a2luZm8sIDApCisrCWRlZmVyIEMucHJvY3N0YXRfZnJlZWZpbGVzKHByb2NzdGF0LCBmcykK KysKKysJZmlsZXMgOj0gZ2V0RmlsZVN0YXRzKGZzKQorKwluYW1lcyA6PSBtYWtlKFtdc3Ry aW5nLCAwLCBsZW4oZmlsZXMpKQorKworKwlmb3IgXywgZmlsZSA6PSByYW5nZSBmaWxlcyB7 CisrCQlpZiBmaWxlLmZzX3R5cGUgPT0gMSB7CisrCQkJaWYgcGF0aCA6PSBDLkdvU3RyaW5n KGZpbGUuZnNfcGF0aCk7IHBhdGggIT0gIiIgeworKwkJCQluYW1lcyA9IGFwcGVuZChuYW1l cywgcGF0aCkKKysJCQl9CisrCQl9CisrCX0KKysKKysJcmV0dXJuIG5hbWVzLCBuaWwKKyt9 CisrCisrZnVuYyAocCAqcHJvY2VzcykgT3BlbkhhbmRsZUNvdW50KCkgKGludCwgZXJyb3Ip IHsKKysJcHJvY3N0YXQgOj0gQy5wcm9jc3RhdF9vcGVuX3N5c2N0bCgpCisrCWlmIHByb2Nz dGF0ID09IG5pbCB7CisrCQlyZXR1cm4gMCwgZXJyb3JzLk5ldygiZmFpbGVkIHRvIG9wZW4g cHJvY3N0YXQgc3lzY3RsIikKKysJfQorKwlkZWZlciBDLnByb2NzdGF0X2Nsb3NlKHByb2Nz dGF0KQorKworKwlmcyA6PSBDLnByb2NzdGF0X2dldGZpbGVzKHByb2NzdGF0LCAmcC5raW5m bywgMCkKKysJZGVmZXIgQy5wcm9jc3RhdF9mcmVlZmlsZXMocHJvY3N0YXQsIGZzKQorKwly ZXR1cm4gaW50KEMuY291bnRGaWxlU3RhdHMoZnMpKSwgbmlsCisrfQorKworK2Z1bmMgKHAg KnByb2Nlc3MpIEVudmlyb25tZW50KCkgKG1hcFtzdHJpbmddc3RyaW5nLCBlcnJvcikgewor KwlyZXR1cm4gZ2V0UHJvY0VudihwKQorK30KKysKKytmdW5jIChzIGZyZWVic2RTeXN0ZW0p IFByb2Nlc3NlcygpIChbXXR5cGVzLlByb2Nlc3MsIGVycm9yKSB7CisrCXByb2NzLCBlcnIg Oj0gZ2V0UHJvY0luZm8oQy5LRVJOX1BST0NfUFJPQywgMCkKKysJb3V0IDo9IG1ha2UoW110 eXBlcy5Qcm9jZXNzLCAwLCBsZW4ocHJvY3MpKQorKworKwlmb3IgXywgcHJvYyA6PSByYW5n ZSBwcm9jcyB7CisrCQlvdXQgPSBhcHBlbmQob3V0LCAmcHJvY2Vzc3sKKysJCQlwaWQ6ICAg cHJvYy5waWQsCisrCQkJa2luZm86IHByb2Mua2luZm8sCisrCQl9KQorKwl9CisrCisrCXJl dHVybiBvdXQsIGVycgorK30KKysKKytmdW5jIChzIGZyZWVic2RTeXN0ZW0pIFByb2Nlc3Mo cGlkIGludCkgKHR5cGVzLlByb2Nlc3MsIGVycm9yKSB7CisrCXJldHVybiAmcHJvY2Vzc3tw aWQ6IHBpZH0sIG5pbAorK30KKysKKytmdW5jIChzIGZyZWVic2RTeXN0ZW0pIFNlbGYoKSAo dHlwZXMuUHJvY2VzcywgZXJyb3IpIHsKKysJcmV0dXJuIHMuUHJvY2Vzcyhvcy5HZXRwaWQo KSkKKyt9CisrCisrZnVuYyAocCAqcHJvY2VzcykgUGFyZW50KCkgKHR5cGVzLlByb2Nlc3Ms IGVycm9yKSB7CisrCWluZm8sIGVyciA6PSBwLkluZm8oKQorKwlpZiBlcnIgIT0gbmlsIHsK KysJCXJldHVybiBuaWwsIGVycgorKwl9CisrCisrCXByb2MgOj0gcHJvY2Vzc3twaWQ6IGlu Zm8uUFBJRH0KKysKKysJcmV0dXJuICZwcm9jLCBuaWwKKyt9CitkaWZmIC11ck4gdmVuZG9y Lm9yaWcvZ2l0aHViLmNvbS9lbGFzdGljL2dvLXN5c2luZm8vcHJvdmlkZXJzL2ZyZWVic2Qv c3lzY3RsX2ZyZWVic2QuZ28gdmVuZG9yL2dpdGh1Yi5jb20vZWxhc3RpYy9nby1zeXNpbmZv L3Byb3ZpZGVycy9mcmVlYnNkL3N5c2N0bF9mcmVlYnNkLmdvCistLS0gdmVuZG9yLm9yaWcv Z2l0aHViLmNvbS9lbGFzdGljL2dvLXN5c2luZm8vcHJvdmlkZXJzL2ZyZWVic2Qvc3lzY3Rs X2ZyZWVic2QuZ28JMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrKyB2 ZW5kb3IvZ2l0aHViLmNvbS9lbGFzdGljL2dvLXN5c2luZm8vcHJvdmlkZXJzL2ZyZWVic2Qv c3lzY3RsX2ZyZWVic2QuZ28JMjAyNC0wNy0xMyAyMDoyODozNi4wNjU3MDAwMDAgKzAyMDAK K0BAIC0wLDAgKzEsMjQ4IEBACisrLy8gTGljZW5zZWQgdG8gRWxhc3RpY3NlYXJjaCBCLlYu IHVuZGVyIG9uZSBvciBtb3JlIGNvbnRyaWJ1dG9yCisrLy8gbGljZW5zZSBhZ3JlZW1lbnRz LiBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKysvLyB0aGlzIHdvcmsg Zm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodAorKy8vIG93 bmVyc2hpcC4gRWxhc3RpY3NlYXJjaCBCLlYuIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byB5b3Ug dW5kZXIKKysvLyB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vu c2UiKTsgeW91IG1heQorKy8vIG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlh bmNlIHdpdGggdGhlIExpY2Vuc2UuCisrLy8gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRo ZSBMaWNlbnNlIGF0CisrLy8KKysvLyAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vu c2VzL0xJQ0VOU0UtMi4wCisrLy8KKysvLyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJs ZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsCisrLy8gc29mdHdhcmUgZGlzdHJpYnV0 ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4KKysvLyAiQVMgSVMi IEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkKKysvLyBL SU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0 aGUKKysvLyBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kIGxp bWl0YXRpb25zCisrLy8gdW5kZXIgdGhlIExpY2Vuc2UuCisrCisrLy9nbzpidWlsZCBmcmVl YnNkCisrCisrcGFja2FnZSBmcmVlYnNkCisrCisraW1wb3J0ICgKKysJImZtdCIKKysJInN0 cmNvbnYiCisrCSJzdHJpbmdzIgorKwkic3luYyIKKysJInRpbWUiCisrCSJ1bnNhZmUiCisr CisrCSJnaXRodWIuY29tL2VsYXN0aWMvZ28tc3lzaW5mby90eXBlcyIKKysKKysJImdvbGFu Zy5vcmcveC9zeXMvdW5peCIKKyspCisrCisrdmFyIHRpY2tEdXJhdGlvbiA9IHN5bmMuT25j ZVZhbHVlcyhmdW5jKCkgKHRpbWUuRHVyYXRpb24sIGVycm9yKSB7CisrCWNvbnN0IG1pYiA9 ICJrZXJuLmNsb2NrcmF0ZSIKKysKKysJYywgZXJyIDo9IHVuaXguU3lzY3RsQ2xvY2tpbmZv KG1pYikKKysJaWYgZXJyICE9IG5pbCB7CisrCQlyZXR1cm4gMCwgZm10LkVycm9yZigiZmFp bGVkIHRvIGdldCAlczogJXciLCBtaWIsIGVycikKKysJfQorKwlyZXR1cm4gdGltZS5EdXJh dGlvbihjLlRpY2spICogdGltZS5NaWNyb3NlY29uZCwgbmlsCisrfSkKKysKKyt2YXIgcGFn ZVNpemVCeXRlcyA9IHN5bmMuT25jZVZhbHVlcyhmdW5jKCkgKHVpbnQ2NCwgZXJyb3IpIHsK KysJY29uc3QgbWliID0gInZtLnN0YXRzLnZtLnZfcGFnZV9zaXplIgorKworKwl2LCBlcnIg Oj0gdW5peC5TeXNjdGxVaW50MzIobWliKQorKwlpZiBlcnIgIT0gbmlsIHsKKysJCXJldHVy biAwLCBmbXQuRXJyb3JmKCJmYWlsZWQgdG8gZ2V0ICVzOiAldyIsIG1pYiwgZXJyKQorKwl9 CisrCisrCXJldHVybiB1aW50NjQodiksIG5pbAorK30pCisrCisrZnVuYyBhY3RpdmVQYWdl Q291bnQociAqcmVhZGVyKSB1aW50NjQgeworKwljb25zdCBtaWIgPSAidm0uc3RhdHMudm0u dl9hY3RpdmVfY291bnQiCisrCisrCXYsIGVyciA6PSB1bml4LlN5c2N0bFVpbnQzMihtaWIp CisrCWlmIHIuYWRkRXJyKGVycikgeworKwkJcmV0dXJuIDAKKysJfQorKwlyZXR1cm4gdWlu dDY0KHYpCisrfQorKworK2Z1bmMgYXJjaGl0ZWN0dXJlKCkgKHN0cmluZywgZXJyb3IpIHsK KysJY29uc3QgbWliID0gImh3Lm1hY2hpbmUiCisrCisrCWFyY2gsIGVyciA6PSB1bml4LlN5 c2N0bChtaWIpCisrCWlmIGVyciAhPSBuaWwgeworKwkJcmV0dXJuICIiLCBmbXQuRXJyb3Jm KCJmYWlsZWQgdG8gZ2V0IGFyY2hpdGVjdHVyZTogJXciLCBlcnIpCisrCX0KKysKKysJcmV0 dXJuIGFyY2gsIG5pbAorK30KKysKKytmdW5jIGJvb3RUaW1lKCkgKHRpbWUuVGltZSwgZXJy b3IpIHsKKysJY29uc3QgbWliID0gImtlcm4uYm9vdHRpbWUiCisrCisrCXR2LCBlcnIgOj0g dW5peC5TeXNjdGxUaW1ldmFsKG1pYikKKysJaWYgZXJyICE9IG5pbCB7CisrCQlyZXR1cm4g dGltZS5UaW1le30sIGZtdC5FcnJvcmYoImZhaWxlZCB0byBnZXQgaG9zdCB1cHRpbWU6ICV3 IiwgZXJyKQorKwl9CisrCisrCWJvb3RUaW1lIDo9IHRpbWUuVW5peCh0di5TZWMsIHR2LlVz ZWMqaW50NjQodGltZS5NaWNyb3NlY29uZCkpCisrCXJldHVybiBib290VGltZSwgbmlsCisr fQorKworKy8vIGJ1ZmZlcnNVc2VkQnl0ZXMgcmV0dXJucyB0aGUgbnVtYmVyIG1lbW9yeSBi eXRlcyB1c2VkIGFzIGRpc2sgY2FjaGUuCisrZnVuYyBidWZmZXJzVXNlZEJ5dGVzKHIgKnJl YWRlcikgdWludDY0IHsKKysJY29uc3QgbWliID0gInZmcy5idWZzcGFjZSIKKysKKysJdiwg ZXJyIDo9IHVuaXguU3lzY3RsVWludDY0KG1pYikKKysJaWYgci5hZGRFcnIoZXJyKSB7Cisr CQlyZXR1cm4gMAorKwl9CisrCisrCXJldHVybiB2CisrfQorKworK2Z1bmMgY2FjaGVQYWdl Q291bnQociAqcmVhZGVyKSB1aW50NjQgeworKwljb25zdCBtaWIgPSAidm0uc3RhdHMudm0u dl9jYWNoZV9jb3VudCIKKysKKysJdiwgZXJyIDo9IHVuaXguU3lzY3RsVWludDMyKG1pYikK KysJaWYgci5hZGRFcnIoZXJyKSB7CisrCQlyZXR1cm4gMAorKwl9CisrCisrCXJldHVybiB1 aW50NjQodikKKyt9CisrCisrY29uc3Qgc2l6ZU9mVWludDY0ID0gaW50KHVuc2FmZS5TaXpl b2YodWludDY0KDApKSkKKysKKysvLyBjcHVTdGF0ZVRpbWVzIHVzZXMgc3lzY3RsIGtlcm4u Y3BfdGltZSB0byBnZXQgdGhlIGFtb3VudCBvZiB0aW1lIHNwZW50IGluCisrLy8gZGlmZmVy ZW50IENQVSBzdGF0ZXMuCisrZnVuYyBjcHVTdGF0ZVRpbWVzKCkgKCp0eXBlcy5DUFVUaW1l cywgZXJyb3IpIHsKKysJdGlja0R1cmF0aW9uLCBlcnIgOj0gdGlja0R1cmF0aW9uKCkKKysJ aWYgZXJyICE9IG5pbCB7CisrCQlyZXR1cm4gbmlsLCBlcnIKKysJfQorKworKwljb25zdCBt aWIgPSAia2Vybi5jcF90aW1lIgorKwlidWYsIGVyciA6PSB1bml4LlN5c2N0bFJhdyhtaWIp CisrCWlmIGVyciAhPSBuaWwgeworKwkJcmV0dXJuIG5pbCwgZm10LkVycm9yZigiZmFpbGVk IHRvIGdldCAlczogJXciLCBtaWIsIGVycikKKysJfQorKworKwl2YXIgY2xvY2tUaWNrcyBb dW5peC5DUFVTVEFURVNddWludDY0CisrCWlmIGxlbihidWYpIDwgbGVuKGNsb2NrVGlja3Mp KnNpemVPZlVpbnQ2NCB7CisrCQlyZXR1cm4gbmlsLCBmbXQuRXJyb3JmKCJrZXJuLmNwX3Rp bWUgZGF0YSBpcyB0b28gc2hvcnQgKGdvdCAlZCBieXRlcykiLCBsZW4oYnVmKSkKKysJfQor Kwlmb3IgaSA6PSByYW5nZSBjbG9ja1RpY2tzIHsKKysJCXZhbCA6PSAqKCp1aW50NjQpKHVu c2FmZS5Qb2ludGVyKCZidWZbc2l6ZU9mVWludDY0KmldKSkKKysJCWNsb2NrVGlja3NbaV0g PSB2YWwKKysJfQorKworKwlyZXR1cm4gJnR5cGVzLkNQVVRpbWVzeworKwkJVXNlcjogICB0 aW1lLkR1cmF0aW9uKGNsb2NrVGlja3NbdW5peC5DUF9VU0VSXSkgKiB0aWNrRHVyYXRpb24s CisrCQlTeXN0ZW06IHRpbWUuRHVyYXRpb24oY2xvY2tUaWNrc1t1bml4LkNQX1NZU10pICog dGlja0R1cmF0aW9uLAorKwkJSWRsZTogICB0aW1lLkR1cmF0aW9uKGNsb2NrVGlja3NbdW5p eC5DUF9JRExFXSkgKiB0aWNrRHVyYXRpb24sCisrCQlJUlE6ICAgIHRpbWUuRHVyYXRpb24o Y2xvY2tUaWNrc1t1bml4LkNQX0lOVFJdKSAqIHRpY2tEdXJhdGlvbiwKKysJCU5pY2U6ICAg dGltZS5EdXJhdGlvbihjbG9ja1RpY2tzW3VuaXguQ1BfTklDRV0pICogdGlja0R1cmF0aW9u LAorKwl9LCBuaWwKKyt9CisrCisrZnVuYyBmcmVlUGFnZUNvdW50KHIgKnJlYWRlcikgdWlu dDY0IHsKKysJY29uc3QgbWliID0gInZtLnN0YXRzLnZtLnZfZnJlZV9jb3VudCIKKysKKysJ diwgZXJyIDo9IHVuaXguU3lzY3RsVWludDMyKG1pYikKKysJaWYgci5hZGRFcnIoZXJyKSB7 CisrCQlyZXR1cm4gMAorKwl9CisrCisrCXJldHVybiB1aW50NjQodikKKyt9CisrCisrZnVu YyBpbmFjdGl2ZVBhZ2VDb3VudChyICpyZWFkZXIpIHVpbnQ2NCB7CisrCWNvbnN0IG1pYiA9 ICJ2bS5zdGF0cy52bS52X2luYWN0aXZlX2NvdW50IgorKworKwl2LCBlcnIgOj0gdW5peC5T eXNjdGxVaW50MzIobWliKQorKwlpZiByLmFkZEVycihlcnIpIHsKKysJCXJldHVybiAwCisr CX0KKysKKysJcmV0dXJuIHVpbnQ2NCh2KQorK30KKysKKytmdW5jIGtlcm5lbFZlcnNpb24o KSAoc3RyaW5nLCBlcnJvcikgeworKwljb25zdCBtaWIgPSAia2Vybi5vc3JlbGVhc2UiCisr CisrCXZlcnNpb24sIGVyciA6PSB1bml4LlN5c2N0bChtaWIpCisrCWlmIGVyciAhPSBuaWwg eworKwkJcmV0dXJuICIiLCBmbXQuRXJyb3JmKCJmYWlsZWQgdG8gZ2V0IGtlcm5lbCB2ZXJz aW9uOiAldyIsIGVycikKKysJfQorKworKwlyZXR1cm4gdmVyc2lvbiwgbmlsCisrfQorKwor K2Z1bmMgbWFjaGluZUlEKCkgKHN0cmluZywgZXJyb3IpIHsKKysJY29uc3QgbWliID0gImtl cm4uaG9zdHV1aWQiCisrCisrCXV1aWQsIGVyciA6PSB1bml4LlN5c2N0bChtaWIpCisrCWlm IGVyciAhPSBuaWwgeworKwkJcmV0dXJuICIiLCBmbXQuRXJyb3JmKCJmYWlsZWQgdG8gZ2V0 IG1hY2hpbmUgaWQ6ICV3IiwgZXJyKQorKwl9CisrCisrCXJldHVybiB1dWlkLCBuaWwKKyt9 CisrCisrZnVuYyBvcGVyYXRpbmdTeXN0ZW0oKSAoKnR5cGVzLk9TSW5mbywgZXJyb3IpIHsK KysJaW5mbyA6PSAmdHlwZXMuT1NJbmZveworKwkJVHlwZTogICAgICJmcmVlYnNkIiwKKysJ CUZhbWlseTogICAiZnJlZWJzZCIsCisrCQlQbGF0Zm9ybTogImZyZWVic2QiLAorKwl9Cisr CisrCW9zVHlwZSwgZXJyIDo9IHVuaXguU3lzY3RsKCJrZXJuLm9zdHlwZSIpCisrCWlmIGVy ciAhPSBuaWwgeworKwkJcmV0dXJuIGluZm8sIGVycgorKwl9CisrCWluZm8uTmFtZSA9IG9z VHlwZQorKworKwkvLyBFeGFtcGxlOiAxMy4wLVJFTEVBU0UtcDExCisrCW9zUmVsZWFzZSwg ZXJyIDo9IHVuaXguU3lzY3RsKCJrZXJuLm9zcmVsZWFzZSIpCisrCWlmIGVyciAhPSBuaWwg eworKwkJcmV0dXJuIGluZm8sIGVycgorKwl9CisrCWluZm8uVmVyc2lvbiA9IG9zUmVsZWFz ZQorKworKwlyZWxlYXNlUGFydHMgOj0gc3RyaW5ncy5TcGxpdChvc1JlbGVhc2UsICItIikK KysKKysJbWFqb3JNaW5vciA6PSBzdHJpbmdzLlNwbGl0KHJlbGVhc2VQYXJ0c1swXSwgIi4i KQorKwlpZiBsZW4obWFqb3JNaW5vcikgPiAwIHsKKysJCWluZm8uTWFqb3IsIF8gPSBzdHJj b252LkF0b2kobWFqb3JNaW5vclswXSkKKysJfQorKwlpZiBsZW4obWFqb3JNaW5vcikgPiAx IHsKKysJCWluZm8uTWlub3IsIF8gPSBzdHJjb252LkF0b2kobWFqb3JNaW5vclsxXSkKKysJ fQorKworKwlpZiBsZW4ocmVsZWFzZVBhcnRzKSA+IDEgeworKwkJaW5mby5CdWlsZCA9IHJl bGVhc2VQYXJ0c1sxXQorKwl9CisrCWlmIGxlbihyZWxlYXNlUGFydHMpID4gMiB7CisrCQlp bmZvLlBhdGNoLCBfID0gc3RyY29udi5BdG9pKHN0cmluZ3MuVHJpbVByZWZpeChyZWxlYXNl UGFydHNbMl0sICJwIikpCisrCX0KKysKKysJcmV0dXJuIGluZm8sIG5pbAorK30KKysKKytm dW5jIHRvdGFsUGh5c2ljYWxNZW0ociAqcmVhZGVyKSB1aW50NjQgeworKwljb25zdCBtaWIg PSAiaHcucGh5c21lbSIKKysKKysJdiwgZXJyIDo9IHVuaXguU3lzY3RsVWludDY0KG1pYikK KysJaWYgci5hZGRFcnIoZXJyKSB7CisrCQlyZXR1cm4gMAorKwl9CisrCXJldHVybiB2Cisr fQorKworK2Z1bmMgd2lyZVBhZ2VDb3VudChyICpyZWFkZXIpIHVpbnQ2NCB7CisrCWNvbnN0 IG1pYiA9ICJ2bS5zdGF0cy52bS52X3dpcmVfY291bnQiCisrCisrCXYsIGVyciA6PSB1bml4 LlN5c2N0bFVpbnQzMihtaWIpCisrCWlmIHIuYWRkRXJyKGVycikgeworKwkJcmV0dXJuIDAK KysJfQorKwlyZXR1cm4gdWludDY0KHYpCisrfQorZGlmZiAtdXJOIHZlbmRvci5vcmlnL2dp dGh1Yi5jb20vZWxhc3RpYy9nby1zeXNpbmZvL3Byb3ZpZGVycy9mcmVlYnNkL3N5c2N0bF9m cmVlYnNkX3Rlc3QuZ28gdmVuZG9yL2dpdGh1Yi5jb20vZWxhc3RpYy9nby1zeXNpbmZvL3By b3ZpZGVycy9mcmVlYnNkL3N5c2N0bF9mcmVlYnNkX3Rlc3QuZ28KKy0tLSB2ZW5kb3Iub3Jp Zy9naXRodWIuY29tL2VsYXN0aWMvZ28tc3lzaW5mby9wcm92aWRlcnMvZnJlZWJzZC9zeXNj dGxfZnJlZWJzZF90ZXN0LmdvCTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAw CisrKysgdmVuZG9yL2dpdGh1Yi5jb20vZWxhc3RpYy9nby1zeXNpbmZvL3Byb3ZpZGVycy9m cmVlYnNkL3N5c2N0bF9mcmVlYnNkX3Rlc3QuZ28JMjAyNC0wNy0xMyAyMDoyODozNi4wNjU4 MDgwMDAgKzAyMDAKK0BAIC0wLDAgKzEsMTM3IEBACisrLy8gTGljZW5zZWQgdG8gRWxhc3Rp Y3NlYXJjaCBCLlYuIHVuZGVyIG9uZSBvciBtb3JlIGNvbnRyaWJ1dG9yCisrLy8gbGljZW5z ZSBhZ3JlZW1lbnRzLiBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKysv LyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHly aWdodAorKy8vIG93bmVyc2hpcC4gRWxhc3RpY3NlYXJjaCBCLlYuIGxpY2Vuc2VzIHRoaXMg ZmlsZSB0byB5b3UgdW5kZXIKKysvLyB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4w ICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heQorKy8vIG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2Vw dCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisrLy8gWW91IG1heSBvYnRhaW4g YSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisrLy8KKysvLyAgICAgaHR0cDovL3d3dy5hcGFj aGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisrLy8KKysvLyBVbmxlc3MgcmVxdWlyZWQg YnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsCisrLy8gc29mdHdh cmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4K KysvLyAiQVMgSVMiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBP RiBBTlkKKysvLyBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiAgU2VlIHRoZSBM aWNlbnNlIGZvciB0aGUKKysvLyBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlz c2lvbnMgYW5kIGxpbWl0YXRpb25zCisrLy8gdW5kZXIgdGhlIExpY2Vuc2UuCisrCisrLy9n bzpidWlsZCBmcmVlYnNkCisrCisrcGFja2FnZSBmcmVlYnNkCisrCisraW1wb3J0ICgKKysJ ImVuY29kaW5nL2pzb24iCisrCSJnaXRodWIuY29tL3N0cmV0Y2hyL3Rlc3RpZnkvYXNzZXJ0 IgorKwkiZ2l0aHViLmNvbS9zdHJldGNoci90ZXN0aWZ5L3JlcXVpcmUiCisrCSJvcy9leGVj IgorKwkic3RyaW5ncyIKKysJInRlc3RpbmciCisrCSJ0aW1lIgorKykKKysKKytmdW5jIFRl c3RBcmNoaXRlY3R1cmUodCAqdGVzdGluZy5UKSB7CisrCWFyY2gsIGVyciA6PSBhcmNoaXRl Y3R1cmUoKQorKwlpZiBlcnIgIT0gbmlsIHsKKysJCXQuRmF0YWwoZXJyKQorKwl9CisrCisr CWFzc2VydC5Ob3RFbXB0eSh0LCBhcmNoKQorKwlhc3NlcnQuUmVnZXhwKHQsIGAoYW1kNjR8 aTM4Nnxwb3dlcnBjfGFybSg2NCk/fHJpc2N2fG1pcHN8c3BhcmM2NHxwYzk4KWAsIGFyY2gp CisrfQorKworK2Z1bmMgVGVzdEJvb3RUaW1lKHQgKnRlc3RpbmcuVCkgeworKwlib290VGlt ZSwgZXJyIDo9IGJvb3RUaW1lKCkKKysJaWYgZXJyICE9IG5pbCB7CisrCQl0LkZhdGFsKGVy cikKKysJfQorKworKwlib290RGlmZiA6PSB0aW1lLlNpbmNlKGJvb3RUaW1lKQorKwkvLyB0 LkxvZ2YoImJvb3RUaW1lIGluIHNlY29uZHM6ICUjdiIsIGludDY0KGJvb3REaWZmLlNlY29u ZHMoKSkpCisrCisrCWNtZCA6PSBleGVjLkNvbW1hbmQoIi91c3IvYmluL3VwdGltZSIsICIt LWxpYnhvPWpzb24iKQorKwl1cGNtZCwgZXJyIDo9IGNtZC5PdXRwdXQoKQorKworKwlpZiBl cnIgIT0gbmlsIHsKKysJCXQuRmF0YWwoZXJyKQorKwl9CisrCisrCXQuTG9nZihzdHJpbmco dXBjbWQpKQorKworKwl0eXBlIFVwdGltZU91dHB1dCBzdHJ1Y3QgeworKwkJVXB0aW1lSW5m b3JtYXRpb24gc3RydWN0IHsKKysJCQlVcHRpbWUgaW50NjQgYGpzb246InVwdGltZSJgCisr CQl9IGBqc29uOiJ1cHRpbWUtaW5mb3JtYXRpb24iYAorKwl9CisrCisrCXZhciB1cEluZm8g VXB0aW1lT3V0cHV0CisrCWVyciA9IGpzb24uVW5tYXJzaGFsKHVwY21kLCAmdXBJbmZvKQor KworKwlpZiBlcnIgIT0gbmlsIHsKKysJCXQuRmF0YWwoZXJyKQorKwl9CisrCisrCXVwc2Vj IDo9IHVwSW5mby5VcHRpbWVJbmZvcm1hdGlvbi5VcHRpbWUKKysJdXB0aW1lIDo9IHRpbWUu RHVyYXRpb24odXBzZWMgKiBpbnQ2NCh0aW1lLlNlY29uZCkpCisrCS8vIHQuTG9nZigidXB0 aW1lIGluIHNlY29uZHM6ICUjdiIsIGludDY0KHVwdGltZS5TZWNvbmRzKCkpKQorKworKwlh c3NlcnQuSW5EZWx0YSh0LCB1cHRpbWUsIGJvb3REaWZmLCBmbG9hdDY0KDUqdGltZS5TZWNv bmQpKQorK30KKysKKytmdW5jIFRlc3RDUFVTdGF0ZVRpbWVzKHQgKnRlc3RpbmcuVCkgewor Kwl0aW1lcywgZXJyIDo9IGNwdVN0YXRlVGltZXMoKQorKwlpZiBlcnIgIT0gbmlsIHsKKysJ CXQuRmF0YWwoZXJyKQorKwl9CisrCisrCXJlcXVpcmUuTm90TmlsKHQsIHRpbWVzKQorKwlh c3NlcnQuTm90WmVybyh0LCAqdGltZXMpCisrfQorKworK2Z1bmMgVGVzdEtlcm5lbFZlcnNp b24odCAqdGVzdGluZy5UKSB7CisrCWtlcm5lbCwgZXJyIDo9IGtlcm5lbFZlcnNpb24oKQor KwlpZiBlcnIgIT0gbmlsIHsKKysJCXQuRmF0YWwoZXJyKQorKwl9CisrCisrCS8vIFJldHJp ZXZlIGN1cnJlbnRseSBydW5uaW5nIGtlcm5lbCB2ZXJzaW9uCisrCWNtZCA6PSBleGVjLkNv bW1hbmQoIi9iaW4vZnJlZWJzZC12ZXJzaW9uIiwgIi1yIikKKysJZmJzZG91dCwgZXJyIDo9 IGNtZC5PdXRwdXQoKQorKworKwlpZiBlcnIgIT0gbmlsIHsKKysJCXQuRmF0YWwoZXJyKQor Kwl9CisrCisrCWZic2R2ZXIgOj0gc3RyaW5ncy5UcmltU3VmZml4KHN0cmluZyhmYnNkb3V0 KSwgIlxuIikKKysKKysJYXNzZXJ0Lk5vdEVtcHR5KHQsIGtlcm5lbCkKKysJYXNzZXJ0LkVx dWFsVmFsdWVzKHQsIGtlcm5lbCwgZmJzZHZlcikKKyt9CisrCisrZnVuYyBUZXN0TWFjaGlu ZUlEKHQgKnRlc3RpbmcuVCkgeworKwltYWNoaW5lSUQsIGVyciA6PSBtYWNoaW5lSUQoKQor KwlpZiBlcnIgIT0gbmlsIHsKKysJCXQuRmF0YWwoZXJyKQorKwl9CisrCisrCWFzc2VydC5O b3RFbXB0eSh0LCBtYWNoaW5lSUQpCisrCWFzc2VydC5SZWdleHAodCwgIl5bYS16QS1aMC05 XXs4fS1bYS16QS1aMC05XXs0fS1bYS16QS1aMC05XXs0fS1bYS16QS1aMC05XXs0fS1bYS16 QS1aMC05XXsxMn0kIiwgbWFjaGluZUlEKQorK30KKysKKytmdW5jIFRlc3RPcGVyYXRpbmdT eXN0ZW0odCAqdGVzdGluZy5UKSB7CisrCXQuUnVuKCJmcmVlYnNkIiwgZnVuYyh0ICp0ZXN0 aW5nLlQpIHsKKysJCW9zLCBlcnIgOj0gb3BlcmF0aW5nU3lzdGVtKCkKKysJCWlmIGVyciAh PSBuaWwgeworKwkJCXQuRmF0YWwoZXJyKQorKwkJfQorKwkJYXNzZXJ0LkVxdWFsKHQsICJm cmVlYnNkIiwgb3MuVHlwZSkKKysJCWFzc2VydC5FcXVhbCh0LCAiZnJlZWJzZCIsIG9zLkZh bWlseSkKKysJCWFzc2VydC5FcXVhbCh0LCAiZnJlZWJzZCIsIG9zLlBsYXRmb3JtKQorKwkJ YXNzZXJ0LkVxdWFsKHQsICJGcmVlQlNEIiwgb3MuTmFtZSkKKysJCWFzc2VydC5SZWdleHAo dCwgYFxkezEsMn1cLlxkezEsMn0tKFJFTEVBU0V8U1RBQkxFfENVUlJFTlR8UkNbMC05XXxB TFBIQShcZHswLDJ9KXxCRVRBKFxkezAsMn0pKSgtcFxkKT9gLCBvcy5WZXJzaW9uKQorKwkJ YXNzZXJ0LlJlZ2V4cCh0LCBgXGR7MSwyfWAsIG9zLk1ham9yKQorKwkJYXNzZXJ0LlJlZ2V4 cCh0LCBgXGR7MSwyfWAsIG9zLk1pbm9yKQorKwkJYXNzZXJ0LlJlZ2V4cCh0LCBgXGR7MSwy fWAsIG9zLlBhdGNoKQorKwkJYXNzZXJ0LlJlZ2V4cCh0LCBgKFJFTEVBU0V8U1RBQkxFfENV UlJFTlR8UkNbMC05XXxBTFBIQShbMC05XXswLDJ9KXxCRVRBKFswLTldezAsMn0pKWAsIG9z LkJ1aWxkKQorKwkJdC5Mb2dmKCIlI3YiLCBvcykKKysJfSkKKyt9CitkaWZmIC11ck4gdmVu ZG9yLm9yaWcvZ2l0aHViLmNvbS9lbGFzdGljL2dvLXN5c2luZm8vcHJvdmlkZXJzL2ZyZWVi c2QvenR5cGVzX2ZyZWVic2QuZ28gdmVuZG9yL2dpdGh1Yi5jb20vZWxhc3RpYy9nby1zeXNp bmZvL3Byb3ZpZGVycy9mcmVlYnNkL3p0eXBlc19mcmVlYnNkLmdvCistLS0gdmVuZG9yLm9y aWcvZ2l0aHViLmNvbS9lbGFzdGljL2dvLXN5c2luZm8vcHJvdmlkZXJzL2ZyZWVic2QvenR5 cGVzX2ZyZWVic2QuZ28JMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysr KyB2ZW5kb3IvZ2l0aHViLmNvbS9lbGFzdGljL2dvLXN5c2luZm8vcHJvdmlkZXJzL2ZyZWVi c2QvenR5cGVzX2ZyZWVic2QuZ28JMjAyNC0wNy0xMyAyMDoyODozNi4wNjU4ODcwMDAgKzAy MDAKK0BAIC0wLDAgKzEsMzkgQEAKKysvLyBMaWNlbnNlZCB0byBFbGFzdGljc2VhcmNoIEIu Vi4gdW5kZXIgb25lIG9yIG1vcmUgY29udHJpYnV0b3IKKysvLyBsaWNlbnNlIGFncmVlbWVu dHMuIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorKy8vIHRoaXMgd29y ayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0CisrLy8g b3duZXJzaGlwLiBFbGFzdGljc2VhcmNoIEIuVi4gbGljZW5zZXMgdGhpcyBmaWxlIHRvIHlv dSB1bmRlcgorKy8vIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGlj ZW5zZSIpOyB5b3UgbWF5CisrLy8gbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBs aWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKysvLyBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2Yg dGhlIExpY2Vuc2UgYXQKKysvLworKy8vICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGlj ZW5zZXMvTElDRU5TRS0yLjAKKysvLworKy8vIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNh YmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywKKysvLyBzb2Z0d2FyZSBkaXN0cmli dXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbgorKy8vICJBUyBJ UyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWQorKy8v IEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuICBTZWUgdGhlIExpY2Vuc2UgZm9y IHRoZQorKy8vIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQg bGltaXRhdGlvbnMKKysvLyB1bmRlciB0aGUgTGljZW5zZS4KKysKKysvLyBDb2RlIGdlbmVy YXRlZCBieSBjbWQvY2dvIC1nb2RlZnM7IGFuZCB0aGVuIHBhdGNoZWQgdXAgdG8gZml4Cisr Ly8gYW4gYWxpZ25tZW50IGlzc3VlCisrLy8gY2dvIC1nb2RlZnMgZGVmc19mcmVlYnNkLmdv CisrCisrcGFja2FnZSBmcmVlYnNkCisrCisrdHlwZSBrdm1Td2FwIHN0cnVjdCB7CisrCURl dm5hbWUgICBbMzJdaW50OAorKwlVc2VkICAgICAgdWludDMyCisrCVRvdGFsICAgICB1aW50 MzIKKysJRmxhZ3MgICAgIGludDMyCisrCVJlc2VydmVkMSB1aW50MzIKKysJUmVzZXJ2ZWQy IHVpbnQzMgorK30KKysKKyt0eXBlIGNsb2NrSW5mbyBzdHJ1Y3QgeworKwlIeiAgICAgaW50 MzIKKysJVGljayAgIGludDMyCisrCVNwYXJlICBpbnQzMgorKwlTdGF0aHogaW50MzIKKysJ UHJvZmh6IGludDMyCisrfQorZGlmZiAtdXJOIHZlbmRvci5vcmlnL2dpdGh1Yi5jb20vZWxh c3RpYy9nby1zeXNpbmZvL3Byb3ZpZGVycy9zaGFyZWQvZnFkbi5nbyB2ZW5kb3IvZ2l0aHVi LmNvbS9lbGFzdGljL2dvLXN5c2luZm8vcHJvdmlkZXJzL3NoYXJlZC9mcWRuLmdvCistLS0g dmVuZG9yLm9yaWcvZ2l0aHViLmNvbS9lbGFzdGljL2dvLXN5c2luZm8vcHJvdmlkZXJzL3No YXJlZC9mcWRuLmdvCTIwMjQtMDctMTMgMjE6MzQ6MjkuMTA5NjU3MDAwICswMjAwCisrKysg dmVuZG9yL2dpdGh1Yi5jb20vZWxhc3RpYy9nby1zeXNpbmZvL3Byb3ZpZGVycy9zaGFyZWQv ZnFkbi5nbwkyMDI0LTA3LTEzIDIwOjI4OjM2LjA3NzQyMDAwMCArMDIwMAorQEAgLTE1LDcg KzE1LDcgQEAKKyAvLyBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMg YW5kIGxpbWl0YXRpb25zCisgLy8gdW5kZXIgdGhlIExpY2Vuc2UuCisgCistLy9nbzpidWls ZCBsaW51eCB8fCBkYXJ3aW4gfHwgYWl4CisrLy9nbzpidWlsZCBsaW51eCB8fCBkYXJ3aW4g fHwgYWl4IHx8IGZyZWVic2QKKyAKKyBwYWNrYWdlIHNoYXJlZAorIAorZGlmZiAtdXJOIHZl bmRvci5vcmlnL2dpdGh1Yi5jb20vZWxhc3RpYy9nby1zeXNpbmZvL3N5c3RlbS5nbyB2ZW5k b3IvZ2l0aHViLmNvbS9lbGFzdGljL2dvLXN5c2luZm8vc3lzdGVtLmdvCistLS0gdmVuZG9y Lm9yaWcvZ2l0aHViLmNvbS9lbGFzdGljL2dvLXN5c2luZm8vc3lzdGVtLmdvCTIwMjQtMDct MTMgMjE6MzQ6MjkuMTEwMDUxMDAwICswMjAwCisrKysgdmVuZG9yL2dpdGh1Yi5jb20vZWxh c3RpYy9nby1zeXNpbmZvL3N5c3RlbS5nbwkyMDI0LTA3LTEzIDIwOjI4OjM2LjA3OTU0NTAw MCArMDIwMAorQEAgLTI2LDYgKzI2LDcgQEAKKyAJLy8gUmVnaXN0ZXIgaG9zdCBhbmQgcHJv Y2VzcyBwcm92aWRlcnMuCisgCV8gImdpdGh1Yi5jb20vZWxhc3RpYy9nby1zeXNpbmZvL3By b3ZpZGVycy9haXgiCisgCV8gImdpdGh1Yi5jb20vZWxhc3RpYy9nby1zeXNpbmZvL3Byb3Zp ZGVycy9kYXJ3aW4iCisrCV8gImdpdGh1Yi5jb20vZWxhc3RpYy9nby1zeXNpbmZvL3Byb3Zp ZGVycy9mcmVlYnNkIgorIAlfICJnaXRodWIuY29tL2VsYXN0aWMvZ28tc3lzaW5mby9wcm92 aWRlcnMvbGludXgiCisgCV8gImdpdGh1Yi5jb20vZWxhc3RpYy9nby1zeXNpbmZvL3Byb3Zp ZGVycy93aW5kb3dzIgorICkKZGlmZiAtLWdpdCBhL3N5c3V0aWxzL2JlYXRzOC9maWxlcy9w YXRjaC1saWJiZWF0X2F1dG9kaXNjb3Zlcl9wcm92aWRlcnNfZG9ja2VyX2NvbmZpZy5nbyBi L3N5c3V0aWxzL2JlYXRzOC9maWxlcy9wYXRjaC1saWJiZWF0X2F1dG9kaXNjb3Zlcl9wcm92 aWRlcnNfZG9ja2VyX2NvbmZpZy5nbwppbmRleCBiNTdjZGQ0NjU4NGQuLmYzYzA3ZjBhYzU5 MyAxMDA2NDQKLS0tIGEvc3lzdXRpbHMvYmVhdHM4L2ZpbGVzL3BhdGNoLWxpYmJlYXRfYXV0 b2Rpc2NvdmVyX3Byb3ZpZGVyc19kb2NrZXJfY29uZmlnLmdvCisrKyBiL3N5c3V0aWxzL2Jl YXRzOC9maWxlcy9wYXRjaC1saWJiZWF0X2F1dG9kaXNjb3Zlcl9wcm92aWRlcnNfZG9ja2Vy X2NvbmZpZy5nbwpAQCAtMSwxMyArMSwxMSBAQAotLS0tIGxpYmJlYXQvYXV0b2Rpc2NvdmVy L3Byb3ZpZGVycy9kb2NrZXIvY29uZmlnLmdvLm9yaWcJMjAyMi0xMC0yNCAwNjo0OTozMSBV VEMKLSsrKyBsaWJiZWF0L2F1dG9kaXNjb3Zlci9wcm92aWRlcnMvZG9ja2VyL2NvbmZpZy5n bwotQEAgLTE1LDggKzE1LDggQEAKKy0tLSBsaWJiZWF0L2F1dG9kaXNjb3Zlci9wcm92aWRl cnMvZG9ja2VyL2NvbmZpZy5nby5vcmlnCTIwMjQtMDctMDkgMDA6MDA6MzYuMDAwMDAwMDAw ICswMjAwCisrKysgbGliYmVhdC9hdXRvZGlzY292ZXIvcHJvdmlkZXJzL2RvY2tlci9jb25m aWcuZ28JMjAyNC0wNy0xMyAyMTozODoxMi43MzkwOTAwMDAgKzAyMDAKK0BAIC0xNSw3ICsx NSw3IEBACiAgLy8gc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFu ZCBsaW1pdGF0aW9ucwogIC8vIHVuZGVyIHRoZSBMaWNlbnNlLgogIAogLS8vZ286YnVpbGQg bGludXggfHwgZGFyd2luIHx8IHdpbmRvd3MKLS0vLyArYnVpbGQgbGludXggZGFyd2luIHdp bmRvd3MKICsvL2dvOmJ1aWxkIGxpbnV4IHx8IGRhcndpbiB8fCB3aW5kb3dzIHx8IGZyZWVi c2QKLSsvLyArYnVpbGQgbGludXggZGFyd2luIHdpbmRvd3MgZnJlZWJzZAogIAogIHBhY2th Z2UgZG9ja2VyCiAgCmRpZmYgLS1naXQgYS9zeXN1dGlscy9iZWF0czgvZmlsZXMvcGF0Y2gt bGliYmVhdF9hdXRvZGlzY292ZXJfcHJvdmlkZXJzX2RvY2tlcl9kb2NrZXIuZ28gYi9zeXN1 dGlscy9iZWF0czgvZmlsZXMvcGF0Y2gtbGliYmVhdF9hdXRvZGlzY292ZXJfcHJvdmlkZXJz X2RvY2tlcl9kb2NrZXIuZ28KaW5kZXggNDY1ZWRkZTQ3ZDEyLi4zNGRjMDdiMDdkYzUgMTAw NjQ0Ci0tLSBhL3N5c3V0aWxzL2JlYXRzOC9maWxlcy9wYXRjaC1saWJiZWF0X2F1dG9kaXNj b3Zlcl9wcm92aWRlcnNfZG9ja2VyX2RvY2tlci5nbworKysgYi9zeXN1dGlscy9iZWF0czgv ZmlsZXMvcGF0Y2gtbGliYmVhdF9hdXRvZGlzY292ZXJfcHJvdmlkZXJzX2RvY2tlcl9kb2Nr ZXIuZ28KQEAgLTEsMTcgKzEsMTUgQEAKLS0tLSBsaWJiZWF0L2F1dG9kaXNjb3Zlci9wcm92 aWRlcnMvZG9ja2VyL2RvY2tlci5nby5vcmlnCTIwMjItMTAtMjQgMDY6NDk6MzEgVVRDCi0r KysgbGliYmVhdC9hdXRvZGlzY292ZXIvcHJvdmlkZXJzL2RvY2tlci9kb2NrZXIuZ28KLUBA IC0xNSw4ICsxNSw4IEBACistLS0gbGliYmVhdC9hdXRvZGlzY292ZXIvcHJvdmlkZXJzL2Rv Y2tlci9kb2NrZXIuZ28ub3JpZwkyMDI0LTA3LTA5IDAwOjAwOjM2LjAwMDAwMDAwMCArMDIw MAorKysrIGxpYmJlYXQvYXV0b2Rpc2NvdmVyL3Byb3ZpZGVycy9kb2NrZXIvZG9ja2VyLmdv CTIwMjQtMDctMTMgMjE6NDA6MjUuOTA4ODQ5MDAwICswMjAwCitAQCAtMTUsNyArMTUsNyBA QAogIC8vIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQgbGlt aXRhdGlvbnMKICAvLyB1bmRlciB0aGUgTGljZW5zZS4KICAKIC0vL2dvOmJ1aWxkIGxpbnV4 IHx8IGRhcndpbiB8fCB3aW5kb3dzCi0tLy8gK2J1aWxkIGxpbnV4IGRhcndpbiB3aW5kb3dz CiArLy9nbzpidWlsZCBsaW51eCB8fCBkYXJ3aW4gfHwgd2luZG93cyB8fCBmcmVlYnNkCi0r Ly8gK2J1aWxkIGxpbnV4IGRhcndpbiB3aW5kb3dzIGZyZWVic2QKICAKICBwYWNrYWdlIGRv Y2tlcgogIAotQEAgLTMzLDcgKzMzLDcgQEAgaW1wb3J0ICgKK0BAIC0zMiw3ICszMiw3IEBA CiAgCSJnaXRodWIuY29tL2VsYXN0aWMvYmVhdHMvdjcvbGliYmVhdC9jb21tb24iCiAgCiAg CSJnaXRodWIuY29tL2VsYXN0aWMvZWxhc3RpYy1hZ2VudC1hdXRvZGlzY292ZXIvYnVzIgpk aWZmIC0tZ2l0IGEvc3lzdXRpbHMvYmVhdHM4L2ZpbGVzL3BhdGNoLWxpYmJlYXRfYXV0b2Rp c2NvdmVyX3Byb3ZpZGVyc19rdWJlcm5ldGVzX2NvbmZpZy5nbyBiL3N5c3V0aWxzL2JlYXRz OC9maWxlcy9wYXRjaC1saWJiZWF0X2F1dG9kaXNjb3Zlcl9wcm92aWRlcnNfa3ViZXJuZXRl c19jb25maWcuZ28KaW5kZXggMzZlZWUwZjljZDkwLi5kOWExNzQzYmZkODcgMTAwNjQ0Ci0t LSBhL3N5c3V0aWxzL2JlYXRzOC9maWxlcy9wYXRjaC1saWJiZWF0X2F1dG9kaXNjb3Zlcl9w cm92aWRlcnNfa3ViZXJuZXRlc19jb25maWcuZ28KKysrIGIvc3lzdXRpbHMvYmVhdHM4L2Zp bGVzL3BhdGNoLWxpYmJlYXRfYXV0b2Rpc2NvdmVyX3Byb3ZpZGVyc19rdWJlcm5ldGVzX2Nv bmZpZy5nbwpAQCAtMSwxMyArMSwxMSBAQAotLS0tIGxpYmJlYXQvYXV0b2Rpc2NvdmVyL3By b3ZpZGVycy9rdWJlcm5ldGVzL2NvbmZpZy5nby5vcmlnCTIwMjEtMTItMTcgMTU6NTQ6NDEg VVRDCi0rKysgbGliYmVhdC9hdXRvZGlzY292ZXIvcHJvdmlkZXJzL2t1YmVybmV0ZXMvY29u ZmlnLmdvCi1AQCAtMTUsOCArMTUsOCBAQAorLS0tIGxpYmJlYXQvYXV0b2Rpc2NvdmVyL3By b3ZpZGVycy9rdWJlcm5ldGVzL2NvbmZpZy5nby5vcmlnCTIwMjQtMDctMDkgMDA6MDA6MzYu MDAwMDAwMDAwICswMjAwCisrKysgbGliYmVhdC9hdXRvZGlzY292ZXIvcHJvdmlkZXJzL2t1 YmVybmV0ZXMvY29uZmlnLmdvCTIwMjQtMDctMTMgMjE6NDI6MzIuNzk5MDAwMDAwICswMjAw CitAQCAtMTUsNyArMTUsNyBAQAogIC8vIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBw ZXJtaXNzaW9ucyBhbmQgbGltaXRhdGlvbnMKICAvLyB1bmRlciB0aGUgTGljZW5zZS4KICAK IC0vL2dvOmJ1aWxkIGxpbnV4IHx8IGRhcndpbiB8fCB3aW5kb3dzCi0tLy8gK2J1aWxkIGxp bnV4IGRhcndpbiB3aW5kb3dzCiArLy9nbzpidWlsZCBsaW51eCB8fCBkYXJ3aW4gfHwgd2lu ZG93cyB8fCBmcmVlYnNkCi0rLy8gK2J1aWxkIGxpbnV4IGRhcndpbiB3aW5kb3dzIGZyZWVi c2QKICAKICBwYWNrYWdlIGt1YmVybmV0ZXMKICAKZGlmZiAtLWdpdCBhL3N5c3V0aWxzL2Jl YXRzOC9maWxlcy9wYXRjaC1saWJiZWF0X2F1dG9kaXNjb3Zlcl9wcm92aWRlcnNfa3ViZXJu ZXRlc19rdWJlcm5ldGVzLmdvIGIvc3lzdXRpbHMvYmVhdHM4L2ZpbGVzL3BhdGNoLWxpYmJl YXRfYXV0b2Rpc2NvdmVyX3Byb3ZpZGVyc19rdWJlcm5ldGVzX2t1YmVybmV0ZXMuZ28KaW5k ZXggMDc5NWYyZGU3Yzk4Li44ZjQ0NmRkMGY4ZWIgMTAwNjQ0Ci0tLSBhL3N5c3V0aWxzL2Jl YXRzOC9maWxlcy9wYXRjaC1saWJiZWF0X2F1dG9kaXNjb3Zlcl9wcm92aWRlcnNfa3ViZXJu ZXRlc19rdWJlcm5ldGVzLmdvCisrKyBiL3N5c3V0aWxzL2JlYXRzOC9maWxlcy9wYXRjaC1s aWJiZWF0X2F1dG9kaXNjb3Zlcl9wcm92aWRlcnNfa3ViZXJuZXRlc19rdWJlcm5ldGVzLmdv CkBAIC0xLDEzICsxLDExIEBACi0tLS0gbGliYmVhdC9hdXRvZGlzY292ZXIvcHJvdmlkZXJz L2t1YmVybmV0ZXMva3ViZXJuZXRlcy5nby5vcmlnCTIwMjEtMTItMTcgMTU6NTQ6NDEgVVRD Ci0rKysgbGliYmVhdC9hdXRvZGlzY292ZXIvcHJvdmlkZXJzL2t1YmVybmV0ZXMva3ViZXJu ZXRlcy5nbwotQEAgLTE1LDggKzE1LDggQEAKKy0tLSBsaWJiZWF0L2F1dG9kaXNjb3Zlci9w cm92aWRlcnMva3ViZXJuZXRlcy9rdWJlcm5ldGVzLmdvLm9yaWcJMjAyNC0wNy0xMyAyMTo0 NDowMS45ODQxMDMwMDAgKzAyMDAKKysrKyBsaWJiZWF0L2F1dG9kaXNjb3Zlci9wcm92aWRl cnMva3ViZXJuZXRlcy9rdWJlcm5ldGVzLmdvCTIwMjQtMDctMTMgMjE6NDQ6MDcuNjMzNDcw MDAwICswMjAwCitAQCAtMTUsNyArMTUsNyBAQAogIC8vIHNwZWNpZmljIGxhbmd1YWdlIGdv dmVybmluZyBwZXJtaXNzaW9ucyBhbmQgbGltaXRhdGlvbnMKICAvLyB1bmRlciB0aGUgTGlj ZW5zZS4KICAKIC0vL2dvOmJ1aWxkIGxpbnV4IHx8IGRhcndpbiB8fCB3aW5kb3dzCi0tLy8g K2J1aWxkIGxpbnV4IGRhcndpbiB3aW5kb3dzCiArLy9nbzpidWlsZCBsaW51eCB8fCBkYXJ3 aW4gfHwgd2luZG93cyB8fCBmcmVlYnNkCi0rLy8gK2J1aWxkIGxpbnV4IGRhcndpbiB3aW5k b3dzIGZyZWVic2QKICAKICBwYWNrYWdlIGt1YmVybmV0ZXMKICAKZGlmZiAtLWdpdCBhL3N5 c3V0aWxzL2JlYXRzOC9maWxlcy9wYXRjaC1saWJiZWF0X3NjcmlwdHNfTWFrZWZpbGUgYi9z eXN1dGlscy9iZWF0czgvZmlsZXMvcGF0Y2gtbGliYmVhdF9zY3JpcHRzX01ha2VmaWxlCmlu ZGV4IDU5YzY5NWEwNDgyNC4uZjI5OGFkYzBjOWFkIDEwMDY0NAotLS0gYS9zeXN1dGlscy9i ZWF0czgvZmlsZXMvcGF0Y2gtbGliYmVhdF9zY3JpcHRzX01ha2VmaWxlCisrKyBiL3N5c3V0 aWxzL2JlYXRzOC9maWxlcy9wYXRjaC1saWJiZWF0X3NjcmlwdHNfTWFrZWZpbGUKQEAgLTEs MTUgKzEsMTUgQEAKLS0tLSBsaWJiZWF0L3NjcmlwdHMvTWFrZWZpbGUub3JpZwkyMDIyLTA5 LTI3IDEzOjE5OjI3IFVUQwotKysrIGxpYmJlYXQvc2NyaXB0cy9NYWtlZmlsZQotQEAgLTQ3 LDcgKzQ3LDcgQEAgR09GSUxFUyA9ICQoc2hlbGwgZmluZCAuIC10eXBlIGYgLW5hbWUgJyou Z28nIDI+L2Rldi9uCistLS0gbGliYmVhdC9zY3JpcHRzL01ha2VmaWxlLm9yaWcJMjAyNC0w Ny0wOSAwMDowMDozNi4wMDAwMDAwMDAgKzAyMDAKKysrKyBsaWJiZWF0L3NjcmlwdHMvTWFr ZWZpbGUJMjAyNC0wNy0xMyAyMTo0NTo0MC43ODg2MjEwMDAgKzAyMDAKK0BAIC00Nyw3ICs0 Nyw3IEBACiAgR09GSUxFU19OT1ZFTkRPUiA9ICQoc2hlbGwgZmluZCAuIC10eXBlIGYgLW5h bWUgJyouZ28nIC1ub3QgLXBhdGggIiovdmVuZG9yLyoiIDI+L2Rldi9udWxsKQogIEdPRklM RVNfQUxMID0gJChHT0ZJTEVTKSAkKHNoZWxsIGZpbmQgJChFU19CRUFUUykgLXR5cGUgZiAt bmFtZSAnKi5nbycgMj4vZGV2L251bGwpCi0gR09QQUNLQUdFU19TVFJFU1NURVNUUz0kKHNo ZWxsIGZpbmQgLiAtbmFtZSAnKi5nbycgMj4vZGV2L251bGwgfCB4YXJncyBncmVwIC1sICdc K2J1aWxkLipzdHJlc3N0ZXN0JyB8IHhhcmdzIC1uMSBkaXJuYW1lIHwgdW5pcSkKKyBHT1BB Q0tBR0VTX1NUUkVTU1RFU1RTPSQoc2hlbGwgZmluZCAuIC10eXBlIGQgXCggLW5hbWUgInN0 cmVzcyIgXCkgMj4vZGV2L251bGwpCiAtU0hFTEw9YmFzaAogK1NIRUxMPXNoCiAgRVNfSE9T VD89ZWxhc3RpY3NlYXJjaAogIEVTX1BPUlQ/PTkyMDAKICBFU19VU0VSPz1iZWF0cwotQEAg LTM1MiwxMiArMzUyLDEyIEBAIGlmbmRlZiBFWENMVURFX0NPTU1PTl9VUERBVEVfVEFSR0VU CitAQCAtMzUyLDEyICszNTIsMTIgQEAKICB1cGRhdGU6IHB5dGhvbi1lbnYgZmllbGRzIGNv bGxlY3QgY29uZmlnICMjIEBidWlsZCBVcGRhdGUgZXhwZWN0cyB0aGUgbW9zdCByZWNlbnQg dmVyc2lvbiBvZiBsaWJiZWF0IGluIHRoZSBHT1BBVEgKICAJQGVjaG8gIlVwZGF0aW5nIGdl bmVyYXRlZCBmaWxlcyBmb3IgJHtCRUFUX05BTUV9IgogIApkaWZmIC0tZ2l0IGEvc3lzdXRp bHMvYmVhdHM4L2ZpbGVzL3BhdGNoLXZlbmRvcl9naXRodWIuY29tX2dvZGJ1c19kYnVzX3Ry YW5zcG9ydF9fdW5peGNyZWRfX2ZyZWVic2QuZ28gYi9zeXN1dGlscy9iZWF0czgvZmlsZXMv cGF0Y2gtdmVuZG9yX2dpdGh1Yi5jb21fZ29kYnVzX2RidXNfdHJhbnNwb3J0X191bml4Y3Jl ZF9fZnJlZWJzZC5nbwppbmRleCBlOGFjZGYxNDc4MDYuLmNiZDgyNjQzZWZkZiAxMDA2NDQK LS0tIGEvc3lzdXRpbHMvYmVhdHM4L2ZpbGVzL3BhdGNoLXZlbmRvcl9naXRodWIuY29tX2dv ZGJ1c19kYnVzX3RyYW5zcG9ydF9fdW5peGNyZWRfX2ZyZWVic2QuZ28KKysrIGIvc3lzdXRp bHMvYmVhdHM4L2ZpbGVzL3BhdGNoLXZlbmRvcl9naXRodWIuY29tX2dvZGJ1c19kYnVzX3Ry YW5zcG9ydF9fdW5peGNyZWRfX2ZyZWVic2QuZ28KQEAgLTEsNSArMSw1IEBACi0tLS0gdmVu ZG9yL2dpdGh1Yi5jb20vZ29kYnVzL2RidXMvdHJhbnNwb3J0X3VuaXhjcmVkX2ZyZWVic2Qu Z28ub3JpZwkyMDIxLTA4LTA1IDEyOjQwOjM4IFVUQwotKysrIHZlbmRvci9naXRodWIuY29t L2dvZGJ1cy9kYnVzL3RyYW5zcG9ydF91bml4Y3JlZF9mcmVlYnNkLmdvCistLS0gdmVuZG9y L2dpdGh1Yi5jb20vZ29kYnVzL2RidXMvdjUvdHJhbnNwb3J0X3VuaXhjcmVkX2ZyZWVic2Qu Z28ub3JpZwkyMDIxLTA4LTA1IDEyOjQwOjM4IFVUQworKysrIHZlbmRvci9naXRodWIuY29t L2dvZGJ1cy9kYnVzL3Y1L3RyYW5zcG9ydF91bml4Y3JlZF9mcmVlYnNkLmdvCiBAQCAtOCw3 ICs4LDggQEAKICBwYWNrYWdlIGRidXMKICAK --------------WqunSiK08hJ8YrcC72nHlyo1-- From nobody Sat Jul 13 20:03:20 2024 X-Original-To: elastic@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4WLztL4Xdsz5R2kQ for ; Sat, 13 Jul 2024 20:03:38 +0000 (UTC) (envelope-from otis@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4WLztL2fFvz43ZT; Sat, 13 Jul 2024 20:03:38 +0000 (UTC) (envelope-from otis@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1720901018; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=YoYS5Q36pJXRXM2Unq2vMMC7Q7aCPV3lML2frXvpFto=; b=CRkZ7tiVQYFaSmyJJ97vJxWFFREcTA/PZJMkp5b39Yzk9BX8DfQZedU6u41BPoq439Lt0d Hq4eOFGwhtIJe6FmMchwxMb3RV1r8EYavqfcIMDRSOLQAeeNadsjOAtw/Fy2am3kG8vuaM Jwa/Sw3pJLCkXALHXLXAuZkKOqUy/TNQYE+H9k43psWLAUkVqWJbZQkG4ALn6fCA6ojLnA 3Z4+XdpW8NsB6dd8heJGSuMUHzfzBibe6b89rf/pnIw+NUoyDwYxzIpP2lbyCTi0w4ZzmI kmm75SkYuaYp1EQZXRvSCDWXriJ+uKhNoTheDDlzlodXemjUC7C7FvaPy4IYIw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1720901018; a=rsa-sha256; cv=none; b=n//ZaEp8H5yzaGE/WRjYpLRIEVUNW/CWXLN+lnINQE5nRnWEpGgpb4ZEWY3oVh/Vy6Ya3W /AR7m/KUOy4Ftcav7nNVZXBa1edphKt5ssLWEEIQCz26KprsnGlSpH6hY24Ku6vz8XBwV6 F26rvGB5td/8igV0E5nNI98C8GKHc9OlLYZzxebVMtARHJgYwixLomPdID2h4ZfKC9OWJS KtvFdIN5NhosqD7WibbQXokS1vepMaEoSoRFJpa91rrKog524VYNodP5wXoc8amyOZJer1 4YHUQpI/f5nwD463EiuVY9DJfDfYNlqjLyX3zX2Y9nHFFyhDH0UP8eZ6PSTdWQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1720901018; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=YoYS5Q36pJXRXM2Unq2vMMC7Q7aCPV3lML2frXvpFto=; b=rGy1V7Fh9PplyBqVIEKW2w85cMuxbB65He6CdNUmZKGoHP3fI4clafLGXbhwExH2gpOO5X UazzBDl/j5nV7f+X4nlCN8A76wD1ZDdyua/20l8ZT0+U70RpGpYYkmRWwcBuG4nkbGH+mH F092/ThxSm8BpV3Q1Vc/KP6MZsExRoAz5G9FdS+WAw48vAUS/auPwG0FdF7FEAWuVD3xkc ppL78Y4zTI0SRS+fm9c98FapH8Jd0uMd6SvhzmcCVsc3AAVjAZl4pYVrGaZ9VcfCcGBLtn u2Lkv5NTe8s2NYFDwGqxeOAzUlXI2/tKVEiI9hZm7Jxp/IKXpRoZjW1pMSW/2A== Received: from ns2.wilbury.net (ns2.wilbury.net [IPv6:2a01:b200:0:1:f816:3eff:fecd:13e6]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature ECDSA (P-256) client-digest SHA256) (Client CN "svc.wilbury.net", Issuer "E6" (verified OK)) (Authenticated sender: otis) by smtp.freebsd.org (Postfix) with ESMTPSA id 4WLztL1KtMz1RZk; Sat, 13 Jul 2024 20:03:38 +0000 (UTC) (envelope-from otis@FreeBSD.org) Received: from smtpclient.apple (bband-dyn19.178-40-241.t-com.sk [178.40.241.19]) (Authenticated sender: juraj@lutter.sk) by svc.wilbury.net (Postfix) with ESMTPSA id 39831621AB; Sat, 13 Jul 2024 22:03:31 +0200 (CEST) From: Juraj Lutter Message-Id: Content-Type: multipart/alternative; boundary="Apple-Mail=_03BB17BA-4C19-46B8-9C15-8C00D711D0B4" List-Id: Support of ElasticSearch-related ports List-Archive: https://lists.freebsd.org/archives/freebsd-elastic List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-elastic@FreeBSD.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.500.171.1.1\)) Subject: Re: Beats update Date: Sat, 13 Jul 2024 22:03:20 +0200 In-Reply-To: <69051943-d83f-4663-9a7a-fe6f1d096a26@freebsd.org> Cc: "elastic@freebsd.org" To: Alex Samorukov References: <69051943-d83f-4663-9a7a-fe6f1d096a26@freebsd.org> X-Mailer: Apple Mail (2.3774.500.171.1.1) --Apple-Mail=_03BB17BA-4C19-46B8-9C15-8C00D711D0B4 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 Hi Oleksij, > On 13 Jul 2024, at 21:57, Alex Samorukov wrote: >=20 > Dear elastic, >=20 > I found that beats8 port is broken due to go-sysinfo version which = fails on gethost call on startup. >=20 > I patched port and updated it to the latest version. Patch is = attached. Please update the port. Thanks. I haven=E2=80=99t look into the patch closely, but: Is it the = patch that is the part of PR126 from go-sysinfo? Thanks. =E2=80=94 Juraj Lutter otis@FreeBSD.org --Apple-Mail=_03BB17BA-4C19-46B8-9C15-8C00D711D0B4 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8 Hi Oleksij,

On 13 Jul 2024, at 21:57, Alex Samorukov = <samm@freebsd.org> wrote:

Dear elastic,

I = found that beats8 port is broken due to go-sysinfo version which fails = on gethost call on startup.

I patched port and updated it to the = latest version. Patch is attached. Please update the = port.

Thanks. I = haven=E2=80=99t look into the patch closely, but: Is it the patch that = is the part of PR126 from = go-sysinfo?

Thanks.

=E2=80=94
Juraj = Lutter
otis@FreeBSD.org

= --Apple-Mail=_03BB17BA-4C19-46B8-9C15-8C00D711D0B4-- From nobody Sat Jul 13 22:28:03 2024 X-Original-To: elastic@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4WM3574nFPz5RGG5 for ; Sat, 13 Jul 2024 22:28:11 +0000 (UTC) (envelope-from samm@freebsd.org) Received: from reindeer.net-art.cz (reindeer.net-art.cz [IPv6:2001:15e8:110:513c::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "reindeer.net-art.cz", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4WM3572XdNz4Lqw; Sat, 13 Jul 2024 22:28:11 +0000 (UTC) (envelope-from samm@freebsd.org) Authentication-Results: mx1.freebsd.org; none Received: by reindeer.net-art.cz (Postfix, from userid 65534) id 88D5F5F124; Sat, 13 Jul 2024 23:28:06 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-13) on reindeer X-Spam-Level: X-Spam-Status: No, score=-0.3 required=10.0 tests=BAYES_00,DMARC_NONE, HTML_MESSAGE,SPF_HELO_NONE,SPF_SOFTFAIL autolearn=no autolearn_force=no version=4.0.0 Received: from owl.net-art.cz (owl.net-art.cz [IPv6:2a03:6920:0:10::101]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (Client CN "owl.net-art.cz", Issuer "R3" (not verified)) by reindeer.net-art.cz (Postfix) with ESMTPS id 07C305EF0F; Sat, 13 Jul 2024 23:28:06 +0100 (BST) Received: from [185.71.233.107] (account samm@net-art.cz HELO [192.168.101.116]) by owl.net-art.cz (CommuniGate Pro SMTP 6.1.20) with ESMTPSA id 2540219; Sun, 14 Jul 2024 00:28:05 +0200 Content-Type: multipart/alternative; boundary="------------c1v9gdim2OrR1JnBTh8Z18qe" Message-ID: <170e448e-8e6b-4496-bceb-354450297136@freebsd.org> Date: Sun, 14 Jul 2024 00:28:03 +0200 List-Id: Support of ElasticSearch-related ports List-Archive: https://lists.freebsd.org/archives/freebsd-elastic List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-elastic@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Beats update To: Juraj Lutter Cc: "elastic@freebsd.org" References: <69051943-d83f-4663-9a7a-fe6f1d096a26@freebsd.org> Content-Language: en-US From: Alex Samorukov In-Reply-To: X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:24806, ipnet:2001:15e8::/32, country:CZ] X-Rspamd-Queue-Id: 4WM3572XdNz4Lqw This is a multi-part message in MIME format. --------------c1v9gdim2OrR1JnBTh8Z18qe Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 13.07.2024 22:03, Juraj Lutter wrote: > Hi Oleksij, > >> On 13 Jul 2024, at 21:57, Alex Samorukov wrote: >> >> Dear elastic, >> >> I found that beats8 port is broken due to go-sysinfo version which >> fails on gethost call on startup. >> >> I patched port and updated it to the latest version. Patch is >> attached. Please update the port. > > Thanks. I haven’t look into the patch closely, but: Is it the patch > that is the part of PR126 from go-sysinfo? > Hi Juraj, Yes, exactly, it is from PR. This is the reason why i decided to put patch as a single file, to easily remove it once PR is merged (hopefully) I was playing with victoria-logs which i just added to the ports tree, and found that many log ingestion tools are broken or missing. E.g. Vector - was abandoned long time back and removed from the tree. May be i will try to re-add it, it works very well on Linux. Fluentbit - crashing on http collector. I think it is very low quality on Linux too, so don't really want to touch it. Filebeat - that's where i found that it installs but does not work, with patch seems to be do the job well Logstash - java and was very problematic on all platforms I will see if its easy to get vector back, but i think that having at least working beats will be helpful for the users with similar goals. --------------c1v9gdim2OrR1JnBTh8Z18qe Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit


On 13.07.2024 22:03, Juraj Lutter wrote:
Hi Oleksij,

On 13 Jul 2024, at 21:57, Alex Samorukov <samm@freebsd.org> wrote:

Dear elastic,

I found that beats8 port is broken due to go-sysinfo version which fails on gethost call on startup.

I patched port and updated it to the latest version. Patch is attached. Please update the port.

Thanks. I haven’t look into the patch closely, but: Is it the patch that is the part of PR126 from go-sysinfo?

Hi Juraj,

Yes, exactly, it is from PR. This is the reason why i decided to put patch as a single file, to easily remove it once PR is merged (hopefully)

I was playing with victoria-logs which i just added to the ports tree, and found that many log ingestion tools are broken or missing. E.g.

Vector - was abandoned long time back and removed from the tree. May be i will try to re-add it, it works very well on Linux.

Fluentbit - crashing on http collector. I think it is very low quality on Linux too, so don't really want to touch it.

Filebeat - that's where i found that it installs but does not work, with patch seems to be do the job well

Logstash - java and was very problematic on all platforms

I will see if its easy to get vector back, but i think that having at least working beats will be helpful for the users with similar goals.


--------------c1v9gdim2OrR1JnBTh8Z18qe-- From nobody Sun Jul 14 21:00:48 2024 X-Original-To: elastic@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4WMd5r5949z5RPL1 for ; Sun, 14 Jul 2024 21:00:48 +0000 (UTC) (envelope-from bugzilla-noreply@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4WMd5r350Lz4wkl for ; Sun, 14 Jul 2024 21:00:48 +0000 (UTC) (envelope-from bugzilla-noreply@FreeBSD.org) ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1720990848; a=rsa-sha256; cv=none; b=omFBKkeprZCWeClE92m/dwWRGgOEKlCIatPk9hF6DcN2ipRjexmUfsfKXMmz+XGUWcLGiu 3H3cUZa9z40j9QTcmC4HQCXn/NlOIQXWOfNgKOZeJETKzN4mTWEI99aNzsh9q47AGt0JvG DpR7jad3LMe797ED1gWf65t4aMiNz/cRQva5sZUxWZK7JiZ5BTU9PYwTfJILF8g+iglu+6 j/Seemds1qnlnTCLUhSOJGshQX7aXIZaJsKnqryhIk63GeJtva9ugXKfVVlTh1MAB32kpu 4QU1Wyhz6W31D1LnyRKjxQ9kPeEZrKJNHQeDWgXtdNrbCgIngvHGs/e9097yUQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1720990848; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ge0xMTnk1Vf5z6K6VjmE4k/v15NZq545aXxQEj0a8+o=; b=bAKaetf52NnlXaL5QyPU8tr6q5Mv93YarTyz7NQdrQFU6aADZLxN0AmlgJc9ShED4qJcv6 f5MCoyz9l6cGAb7ddF6VJis/Ze48pHbmOyPZx1w8L9myEurXfWrBg822f1ctksgWP3UY8k A73ZPuDjxgUFfAiZF8x732x15KjG59ouLsOiynbzZgw3K5i/bxsLlR6zulDO8/viT9U7DC 5WEB4TP/XuwKq61W45Xu6u7jcb57F9MU/P1dren329En5Jg+9oFciWCbgn3kmgRfc+BoV/ ymOUEuKVExWQLR7q+XcJRyalqFTpVhanO0azAk/us2ZyfXcAvGtzuxOJEm+VoA== Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2610:1c1:1:606c::50:1d]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4WMd5r2fy9zPNM for ; Sun, 14 Jul 2024 21:00:48 +0000 (UTC) (envelope-from bugzilla-noreply@FreeBSD.org) Received: from kenobi.freebsd.org ([127.0.1.5]) by kenobi.freebsd.org (8.15.2/8.15.2) with ESMTP id 46EL0mOp093369 for ; Sun, 14 Jul 2024 21:00:48 GMT (envelope-from bugzilla-noreply@FreeBSD.org) Received: (from bugzilla@localhost) by kenobi.freebsd.org (8.15.2/8.15.2/Submit) id 46EL0mKn093368 for elastic@FreeBSD.org; Sun, 14 Jul 2024 21:00:48 GMT (envelope-from bugzilla-noreply@FreeBSD.org) Message-Id: <202407142100.46EL0mKn093368@kenobi.freebsd.org> X-Authentication-Warning: kenobi.freebsd.org: bugzilla set sender to bugzilla-noreply@FreeBSD.org using -f From: bugzilla-noreply@FreeBSD.org To: elastic@FreeBSD.org Subject: Problem reports for elastic@FreeBSD.org that need special attention Date: Sun, 14 Jul 2024 21:00:48 +0000 List-Id: Support of ElasticSearch-related ports List-Archive: https://lists.freebsd.org/archives/freebsd-elastic List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-elastic@FreeBSD.org MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="17209908481.edc1aFd8.86902" Content-Transfer-Encoding: 7bit --17209908481.edc1aFd8.86902 Date: Sun, 14 Jul 2024 21:00:48 +0000 MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" To view an individual PR, use: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=(Bug Id). The following is a listing of current problems submitted by FreeBSD users, which need special attention. These represent problem reports covering all versions including experimental development code and obsolete releases. Status | Bug Id | Description ------------+-----------+--------------------------------------------------- In Progress | 272466 | textproc/kibana8: Interactive setup doesn't work In Progress | 272701 | sysutils/beats8 filebeat tool fails with "Exiting 2 problems total for which you should take action. --17209908481.edc1aFd8.86902 Date: Sun, 14 Jul 2024 21:00:48 +0000 MIME-Version: 1.0 Content-Type: text/html; charset="UTF-8"
The following is a listing of current problems submitted by FreeBSD users,
which need special attention. These represent problem reports covering
all versions including experimental development code and obsolete releases.

Status      |    Bug Id | Description
------------+-----------+---------------------------------------------------
In Progress |    272466 | textproc/kibana8: Interactive setup doesn't work
In Progress |    272701 | sysutils/beats8 filebeat tool fails with "Exiting

2 problems total for which you should take action.
--17209908481.edc1aFd8.86902--