Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1igpEt-0002jK-S2 for pgsql-hackers@arkaria.postgresql.org; Mon, 16 Dec 2019 12:12:40 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1igpEr-0003g6-Bi for pgsql-hackers@arkaria.postgresql.org; Mon, 16 Dec 2019 12:12:37 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1igpEq-0003bv-4R for pgsql-hackers@lists.postgresql.org; Mon, 16 Dec 2019 12:12:37 +0000 Received: from out1-smtp.messagingengine.com ([66.111.4.25]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1igpEl-0001D3-Qk for pgsql-hackers@postgresql.org; Mon, 16 Dec 2019 12:12:34 +0000 Received: from compute7.internal (compute7.nyi.internal [10.202.2.47]) by mailout.nyi.internal (Postfix) with ESMTP id AFB6721E1C; Mon, 16 Dec 2019 07:12:30 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute7.internal (MEProxy); Mon, 16 Dec 2019 07:12:30 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=DRVyoz q3cd/jlXlgWTk9Q3g9YYErf+cvLRjJz6KNgac=; b=MH+f/WTeeaYCCz3UGAeEhC azxn95vTd7Ra8cWgTVX9twV6QHeI9vvQcrUESJdYDRwDnPonQu5gped8OudFsX8I ZRjjtvNXAAFl+zcx0Bjh68+reZ1IkpTVTMlCPK86+5oBSyGql7iYDLgKr2WdyMQD sR2ztUVoDCPdqgN8E5lzCl3ExWWapVWylXuI9bN0aws7Pv4TX/bVAQxb2ZGu/8bH PvkME6zzRqHl6Xk9dK8VzjgaZRV/JouFkWZEEfkpAHkRyqmFkjKqMlrpy0LyW7qx Y3nvb2fi1+AMLIF7OOCEQz6MCZJCtjIDuQsia7uhBCh8PSQdOls42Q1EQzE1rvtg == X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedufedrvddthedgfeejucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepuffvfhfhohfkffgfgggjtgesmhdtreertdefjeenucfhrhhomheprfgvthgv rhcugfhishgvnhhtrhgruhhtuceophgvthgvrhdrvghishgvnhhtrhgruhhtsedvnhguqh hurggurhgrnhhtrdgtohhmqeenucffohhmrghinhepvdhnughquhgrughrrghnthdrtgho mhenucfkphepleefrddvgedvrdduiedurddufedtnecurfgrrhgrmhepmhgrihhlfhhroh hmpehpvghtvghrrdgvihhsvghnthhrrghuthesvdhnughquhgrughrrghnthdrtghomhen ucevlhhushhtvghrufhiiigvpedt X-ME-Proxy: Received: from april.pezone.net (p5df2a182.dip0.t-ipconnect.de [93.242.161.130]) by mail.messagingengine.com (Postfix) with ESMTPA id 9DC408005C; Mon, 16 Dec 2019 07:12:28 -0500 (EST) Subject: Re: automating pg_config.h.win32 maintenance To: Tom Lane , Michael Paquier References: <1441b834-f434-e0bf-46ed-9c4d5c29c2d4@2ndquadrant.com> <594b0e2a-6343-039a-1bac-a3ec7e74f2bf@iki.fi> <20191213134416.GB103520@paquier.xyz> <21839.1576245392@sss.pgh.pa.us> Cc: Heikki Linnakangas , pgsql-hackers From: Peter Eisentraut Organization: 2ndQuadrant Message-ID: <2ccaf97f-5bdc-cc9c-5441-706469642776@2ndquadrant.com> Date: Mon, 16 Dec 2019 13:12:27 +0100 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <21839.1576245392@sss.pgh.pa.us> Content-Type: multipart/mixed; boundary="------------C4CC40A471641C78C6C140D1" Content-Language: en-US List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk This is a multi-part message in MIME format. --------------C4CC40A471641C78C6C140D1 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit On 2019-12-13 14:56, Tom Lane wrote: > One thing that disturbs me slightly is that the plan seems to be to > not mention variables in this list at all if they're to be undefined > on Windows. I realize that we've frequently done that by omission in > pg_config.h.win32, but I don't think it's good practice: it encourages > failure to think about how such variables need to be set on Windows. OK, here is an updated patch set that has all defines in one big Perl hash, and also requires that all symbols in pg_config.h.in are accounted for. (The indentation is from pgperltidy.) -- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services --------------C4CC40A471641C78C6C140D1 Content-Type: text/plain; charset=UTF-8; x-mac-type="0"; x-mac-creator="0"; name="v2-0001-Generate-pg_config.h-from-pg_config.h.in-on-Windo.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="v2-0001-Generate-pg_config.h-from-pg_config.h.in-on-Windo.pa"; filename*1="tch" RnJvbSA1MGU0MGNjMDA1NDMwOWM5M2EzYTgyNDZmMmI4NGM3ZjY4MWE5ZDMxIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogVGh1LCA3IE5vdiAyMDE5IDE1OjU2OjIyICswMTAwClN1YmplY3Q6 IFtQQVRDSCB2MiAxLzJdIEdlbmVyYXRlIHBnX2NvbmZpZy5oIGZyb20gcGdfY29uZmlnLmgu aW4gb24gV2luZG93cwoKLS0tCiBzcmMvdG9vbHMvbXN2Yy9Tb2x1dGlvbi5wbSB8IDQ1MCAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tCiAxIGZpbGUgY2hhbmdlZCwg MzkxIGluc2VydGlvbnMoKyksIDU5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy90 b29scy9tc3ZjL1NvbHV0aW9uLnBtIGIvc3JjL3Rvb2xzL21zdmMvU29sdXRpb24ucG0KaW5k ZXggOTRjYzRiOTUwZS4uZTdiODkzNzA0YSAxMDA2NDQKLS0tIGEvc3JjL3Rvb2xzL21zdmMv U29sdXRpb24ucG0KKysrIGIvc3JjL3Rvb2xzL21zdmMvU29sdXRpb24ucG0KQEAgLTIwLDcg KzIwLDYgQEAgc3ViIF9uZXcKIAkJcHJvamVjdHMgICAgICAgICAgICAgICAgICAgPT4ge30s CiAJCW9wdGlvbnMgICAgICAgICAgICAgICAgICAgID0+ICRvcHRpb25zLAogCQludW12ZXIg ICAgICAgICAgICAgICAgICAgICA9PiAnJywKLQkJc3RydmVyICAgICAgICAgICAgICAgICAg ICAgPT4gJycsCiAJCVZpc3VhbFN0dWRpb1ZlcnNpb24gICAgICAgID0+IHVuZGVmLAogCQlN aW5pbXVtVmlzdWFsU3R1ZGlvVmVyc2lvbiA9PiB1bmRlZiwKIAkJdmN2ZXIgICAgICAgICAg ICAgICAgICAgICAgPT4gdW5kZWYsCkBAIC0xNDAsMTYgKzEzOSwyMiBAQCBzdWIgR2VuZXJh dGVGaWxlcwogewogCW15ICRzZWxmID0gc2hpZnQ7CiAJbXkgJGJpdHMgPSAkc2VsZi0+e3Bs YXRmb3JtfSBlcSAnV2luMzInID8gMzIgOiA2NDsKKwlteSAkcGFja2FnZV9uYW1lOworCW15 ICRwYWNrYWdlX3ZlcnNpb247CisJbXkgJHBhY2thZ2VfYnVncmVwb3J0OwogCiAJIyBQYXJz ZSBjb25maWd1cmUuaW4gdG8gZ2V0IHZlcnNpb24gbnVtYmVycwogCW9wZW4obXkgJGMsICc8 JywgImNvbmZpZ3VyZS5pbiIpCiAJICB8fCBjb25mZXNzKCJDb3VsZCBub3Qgb3BlbiBjb25m aWd1cmUuaW4gZm9yIHJlYWRpbmdcbiIpOwogCXdoaWxlICg8JGM+KQogCXsKLQkJaWYgKC9e QUNfSU5JVFwoXFtQb3N0Z3JlU1FMXF0sIFxbKFteXF1dKylcXS8pCisJCWlmICgvXkFDX0lO SVRcKFxbKFteXF1dKylcXSwgXFsoW15cXV0rKVxdLCBcWyhbXlxdXSspXF0vKQogCQl7Ci0J CQkkc2VsZi0+e3N0cnZlcn0gPSAkMTsKLQkJCWlmICgkc2VsZi0+e3N0cnZlcn0gIX4gL14o XGQrKSg/OlwuKFxkKykpPy8pCisJCQkkcGFja2FnZV9uYW1lICAgICAgPSAkMTsKKwkJCSRw YWNrYWdlX3ZlcnNpb24gICA9ICQyOworCQkJJHBhY2thZ2VfYnVncmVwb3J0ID0gJDM7CisK KwkJCWlmICgkcGFja2FnZV92ZXJzaW9uICF+IC9eKFxkKykoPzpcLihcZCspKT8vKQogCQkJ ewogCQkJCWNvbmZlc3MgIkJhZCBmb3JtYXQgb2YgdmVyc2lvbjogJHNlbGYtPntzdHJ2ZXJ9 XG4iOwogCQkJfQpAQCAtMTU5LDcgKzE2NCwxMCBAQCBzdWIgR2VuZXJhdGVGaWxlcwogCX0K IAljbG9zZSgkYyk7CiAJY29uZmVzcyAiVW5hYmxlIHRvIHBhcnNlIGNvbmZpZ3VyZS5pbiBm b3IgYWxsIHZhcmlhYmxlcyEiCi0JICBpZiAoJHNlbGYtPntzdHJ2ZXJ9IGVxICcnIHx8ICRz ZWxmLT57bnVtdmVyfSBlcSAnJyk7CisJICBpZiAoICRwYWNrYWdlX25hbWUgZXEgJycKKwkJ fHwgJHBhY2thZ2VfdmVyc2lvbiBlcSAnJworCQl8fCAkc2VsZi0+e251bXZlcn0gZXEgJycK KwkJfHwgJHBhY2thZ2VfYnVncmVwb3J0IGVxICcnKTsKIAogCWlmIChJc05ld2VyKCJzcmMv aW5jbHVkZS9wZ19jb25maWdfb3MuaCIsICJzcmMvaW5jbHVkZS9wb3J0L3dpbjMyLmgiKSkK IAl7CkBAIC0xNjcsODkgKzE3NSw0MTMgQEAgc3ViIEdlbmVyYXRlRmlsZXMKIAkJY29weUZp bGUoInNyYy9pbmNsdWRlL3BvcnQvd2luMzIuaCIsICJzcmMvaW5jbHVkZS9wZ19jb25maWdf b3MuaCIpOwogCX0KIAotCWlmIChJc05ld2VyKCJzcmMvaW5jbHVkZS9wZ19jb25maWcuaCIs ICJzcmMvaW5jbHVkZS9wZ19jb25maWcuaC53aW4zMiIpKQorCWlmIChJc05ld2VyKCJzcmMv aW5jbHVkZS9wZ19jb25maWcuaCIsICJzcmMvaW5jbHVkZS9wZ19jb25maWcuaC5pbiIpKQog CXsKIAkJcHJpbnQgIkdlbmVyYXRpbmcgcGdfY29uZmlnLmguLi5cbiI7Ci0JCW9wZW4obXkg JGksICc8JywgInNyYy9pbmNsdWRlL3BnX2NvbmZpZy5oLndpbjMyIikKLQkJICB8fCBjb25m ZXNzICJDb3VsZCBub3Qgb3BlbiBwZ19jb25maWcuaC53aW4zMlxuIjsKLQkJb3BlbihteSAk bywgJz4nLCAic3JjL2luY2x1ZGUvcGdfY29uZmlnLmgiKQotCQkgIHx8IGNvbmZlc3MgIkNv dWxkIG5vdCB3cml0ZSB0byBwZ19jb25maWcuaFxuIjsKKwogCQlteSAkZXh0cmF2ZXIgPSAk c2VsZi0+e29wdGlvbnN9LT57ZXh0cmF2ZXJ9OwogCQkkZXh0cmF2ZXIgPSAnJyB1bmxlc3Mg ZGVmaW5lZCAkZXh0cmF2ZXI7Ci0JCXdoaWxlICg8JGk+KQotCQl7Ci0JCQlze1BHX1ZFUlNJ T04gIlteIl0rIn17UEdfVkVSU0lPTiAiJHNlbGYtPntzdHJ2ZXJ9JGV4dHJhdmVyIn07Ci0J CQlze1BHX1ZFUlNJT05fTlVNIFxkK317UEdfVkVSU0lPTl9OVU0gJHNlbGYtPntudW12ZXJ9 fTsKLQkJCXN7UEdfVkVSU0lPTl9TVFIgIlteIl0rIn17UEdfVkVSU0lPTl9TVFIgIlBvc3Rn cmVTUUwgJHNlbGYtPntzdHJ2ZXJ9JGV4dHJhdmVyLCBjb21waWxlZCBieSBWaXN1YWwgQysr IGJ1aWxkICIgQ3BwQXNTdHJpbmcyKF9NU0NfVkVSKSAiLCAkYml0cy1iaXQifTsKLQkJCXBy aW50ICRvICRfOwotCQl9Ci0JCXByaW50ICRvICIjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiBc IiRzZWxmLT57bWFqb3J2ZXJ9XCJcbiI7Ci0JCXByaW50ICRvICIvKiBkZWZpbmVzIGFkZGVk IGJ5IGNvbmZpZyBzdGVwcyAqL1xuIjsKLQkJcHJpbnQgJG8gIiNpZm5kZWYgSUdOT1JFX0NP TkZJR1VSRURfU0VUVElOR1NcbiI7Ci0JCXByaW50ICRvICIjZGVmaW5lIFVTRV9BU1NFUlRf Q0hFQ0tJTkcgMVxuIgotCQkgIGlmICgkc2VsZi0+e29wdGlvbnN9LT57YXNzZXJ0c30pOwot CQlwcmludCAkbyAiI2RlZmluZSBVU0VfTERBUCAxXG4iICAgaWYgKCRzZWxmLT57b3B0aW9u c30tPntsZGFwfSk7Ci0JCXByaW50ICRvICIjZGVmaW5lIEhBVkVfTElCWiAxXG4iICBpZiAo JHNlbGYtPntvcHRpb25zfS0+e3psaWJ9KTsKLQkJcHJpbnQgJG8gIiNkZWZpbmUgRU5BQkxF X05MUyAxXG4iIGlmICgkc2VsZi0+e29wdGlvbnN9LT57bmxzfSk7Ci0KLQkJcHJpbnQgJG8g IiNkZWZpbmUgQkxDS1NaICIsIDEwMjQgKiAkc2VsZi0+e29wdGlvbnN9LT57YmxvY2tzaXpl fSwKLQkJICAiXG4iOwotCQlwcmludCAkbyAiI2RlZmluZSBSRUxTRUdfU0laRSAiLAotCQkg ICgxMDI0IC8gJHNlbGYtPntvcHRpb25zfS0+e2Jsb2Nrc2l6ZX0pICoKLQkJICAkc2VsZi0+ e29wdGlvbnN9LT57c2Vnc2l6ZX0gKiAxMDI0LCAiXG4iOwotCQlwcmludCAkbyAiI2RlZmlu ZSBYTE9HX0JMQ0tTWiAiLAotCQkgIDEwMjQgKiAkc2VsZi0+e29wdGlvbnN9LT57d2FsX2Js b2Nrc2l6ZX0sICJcbiI7CisJCW15ICRwb3J0ID0gJHNlbGYtPntvcHRpb25zfS0+eyItLXdp dGgtcGdwb3J0In0gfHwgNTQzMjsKKworCQkjIEV2ZXJ5IHN5bWJvbCBpbiBwZ19jb25maWcu aC5pbiBtdXN0IGJlIGFjY291bnRlZCBmb3IgaGVyZS4KKwkJIyBTZXQgdG8gdW5kZWYgaWYg dGhlIHN5bWJvbCBzaG91bGQgbm90IGJlIGRlZmluZWQuCisJCW15ICVkZWZpbmUgPSAoCisJ CQlBQ0NFUFRfVFlQRV9BUkcxICAgICAgICAgPT4gJ3Vuc2lnbmVkIGludCcsCisJCQlBQ0NF UFRfVFlQRV9BUkcyICAgICAgICAgPT4gJ3N0cnVjdCBzb2NrYWRkciAqJywKKwkJCUFDQ0VQ VF9UWVBFX0FSRzMgICAgICAgICA9PiAnaW50JywKKwkJCUFDQ0VQVF9UWVBFX1JFVFVSTiAg ICAgICA9PiAndW5zaWduZWQgaW50IFBBU0NBTCcsCisJCQlBTElHTk9GX0RPVUJMRSAgICAg ICAgICAgPT4gOCwKKwkJCUFMSUdOT0ZfSU5UICAgICAgICAgICAgICA9PiA0LAorCQkJQUxJ R05PRl9MT05HICAgICAgICAgICAgID0+IDQsCisJCQlBTElHTk9GX0xPTkdfTE9OR19JTlQg ICAgPT4gOCwKKwkJCUFMSUdOT0ZfUEdfSU5UMTI4X1RZUEUgICA9PiB1bmRlZiwKKwkJCUFM SUdOT0ZfU0hPUlQgICAgICAgICAgICA9PiAyLAorCQkJQUNfQVBQTEVfVU5JVkVSU0FMX0JV SUxEID0+IHVuZGVmLAorCQkJQkxDS1NaICAgICAgICAgICAgICAgICAgID0+IDEwMjQgKiAk c2VsZi0+e29wdGlvbnN9LT57YmxvY2tzaXplfSwKKwkJCURFRl9QR1BPUlQgICAgICAgICAg ICAgICA9PiAkcG9ydCwKKwkJCURFRl9QR1BPUlRfU1RSICAgICAgICAgICA9PiBxcXsiJHBv cnQifSwKKwkJCUVOQUJMRV9HU1MgICAgICAgICAgICAgICA9PiAkc2VsZi0+e29wdGlvbnN9 LT57Z3NzfSA/IDEgOiB1bmRlZiwKKwkJCUVOQUJMRV9OTFMgICAgICAgICAgICAgICA9PiAk c2VsZi0+e29wdGlvbnN9LT57bmxzfSA/IDEgOiB1bmRlZiwKKwkJCUVOQUJMRV9USFJFQURf U0FGRVRZICAgICA9PiAxLAorCQkJRkxFWElCTEVfQVJSQVlfTUVNQkVSICAgID0+ICcvKiov JywKKwkJCUdFVFRJTUVPRkRBWV8xQVJHICAgICAgICA9PiB1bmRlZiwKKwkJCUhBVkVfQVBQ RU5EX0hJU1RPUlkgICAgICA9PiB1bmRlZiwKKwkJCUhBVkVfQVNOMV9TVFJJTkdfR0VUMF9E QVRBICAgICAgICAgICAgICAgICAgPT4gdW5kZWYsCisJCQlIQVZFX0FUT01JQ1MgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgID0+IDEsCisJCQlIQVZFX0FUT01JQ19IICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgID0+IHVuZGVmLAorCQkJSEFWRV9CQUNLVFJBQ0Vf U1lNQk9MUyAgICAgICAgICAgICAgICAgICAgICA9PiB1bmRlZiwKKwkJCUhBVkVfQklPX0dF VF9EQVRBICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gdW5kZWYsCisJCQlIQVZFX0JJ T19NRVRIX05FVyAgICAgICAgICAgICAgICAgICAgICAgICAgID0+IHVuZGVmLAorCQkJSEFW RV9DQlJUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiB1bmRlZiwKKwkJ CUhBVkVfQ0xBU1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gdW5kZWYs CisJCQlIQVZFX0NMT0NLX0dFVFRJTUUgICAgICAgICAgICAgICAgICAgICAgICAgID0+IHVu ZGVmLAorCQkJSEFWRV9DT01QVVRFRF9HT1RPICAgICAgICAgICAgICAgICAgICAgICAgICA9 PiB1bmRlZiwKKwkJCUhBVkVfQ09QWUZJTEUgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgPT4gdW5kZWYsCisJCQlIQVZFX0NPUFlGSUxFX0ggICAgICAgICAgICAgICAgICAgICAg ICAgICAgID0+IHVuZGVmLAorCQkJSEFWRV9DUlRERUZTX0ggICAgICAgICAgICAgICAgICAg ICAgICAgICAgICA9PiB1bmRlZiwKKwkJCUhBVkVfQ1JZUFRPX0xPQ0sgICAgICAgICAgICAg ICAgICAgICAgICAgICAgPT4gdW5kZWYsCisJCQlIQVZFX0RFQ0xfRkRBVEFTWU5DICAgICAg ICAgICAgICAgICAgICAgICAgID0+IDAsCisJCQlIQVZFX0RFQ0xfRl9GVUxMRlNZTkMgICAg ICAgICAgICAgICAgICAgICAgID0+IDAsCisJCQlIQVZFX0RFQ0xfTExWTUNSRUFURUdEQlJF R0lTVFJBVElPTkxJU1RFTkVSID0+IHVuZGVmLAorCQkJSEFWRV9ERUNMX0xMVk1DUkVBVEVQ RVJGSklURVZFTlRMSVNURU5FUiAgICA9PiB1bmRlZiwKKwkJCUhBVkVfREVDTF9MTFZNR0VU SE9TVENQVU5BTUUgICAgICAgICAgICAgICAgPT4gMCwKKwkJCUhBVkVfREVDTF9MTFZNR0VU SE9TVENQVUZFQVRVUkVTICAgICAgICAgICAgPT4gMCwKKwkJCUhBVkVfREVDTF9MTFZNT1JD R0VUU1lNQk9MQUREUkVTU0lOICAgICAgICAgPT4gMCwKKwkJCUhBVkVfREVDTF9QT1NJWF9G QURWSVNFICAgICAgICAgICAgICAgICAgICAgPT4gdW5kZWYsCisJCQlIQVZFX0RFQ0xfUlRM RF9HTE9CQUwgICAgICAgICAgICAgICAgICAgICAgID0+IDAsCisJCQlIQVZFX0RFQ0xfUlRM RF9OT1cgICAgICAgICAgICAgICAgICAgICAgICAgID0+IDAsCisJCQlIQVZFX0RFQ0xfU1RS TENBVCAgICAgICAgICAgICAgICAgICAgICAgICAgID0+IHVuZGVmLAorCQkJSEFWRV9ERUNM X1NUUkxDUFkgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiB1bmRlZiwKKwkJCUhBVkVf REVDTF9TVFJOTEVOICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gMSwKKwkJCUhBVkVf REVDTF9TVFJUT0xMICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gMSwKKwkJCUhBVkVf REVDTF9TVFJUT1VMTCAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gMSwKKwkJCUhBVkVf RExPUEVOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gdW5kZWYsCisJCQlI QVZFX0VESVRMSU5FX0hJU1RPUllfSCAgICAgICAgICAgICAgICAgICAgID0+IHVuZGVmLAor CQkJSEFWRV9FRElUTElORV9SRUFETElORV9IICAgICAgICAgICAgICAgICAgICA9PiB1bmRl ZiwKKwkJCUhBVkVfRVhFQ0lORk9fSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4g dW5kZWYsCisJCQlIQVZFX0VYUExJQ0lUX0JaRVJPICAgICAgICAgICAgICAgICAgICAgICAg ID0+IHVuZGVmLAorCQkJSEFWRV9GREFUQVNZTkMgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICA9PiB1bmRlZiwKKwkJCUhBVkVfRkxTICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgPT4gdW5kZWYsCisJCQlIQVZFX0ZQQ0xBU1MgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgID0+IHVuZGVmLAorCQkJSEFWRV9GUF9DTEFTUyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICA9PiB1bmRlZiwKKwkJCUhBVkVfRlBfQ0xBU1NfRCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgPT4gdW5kZWYsCisJCQlIQVZFX0ZQX0NMQVNTX0ggICAg ICAgICAgICAgICAgICAgICAgICAgICAgID0+IHVuZGVmLAorCQkJSEFWRV9GU0VFS08gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAxLAorCQkJSEFWRV9GVU5DTkFNRV9f RlVOQyAgICAgICAgICAgICAgICAgICAgICAgICA9PiB1bmRlZiwKKwkJCUhBVkVfRlVOQ05B TUVfX0ZVTkNUSU9OICAgICAgICAgICAgICAgICAgICAgPT4gMSwKKwkJCUhBVkVfR0NDX19B VE9NSUNfSU5UMzJfQ0FTICAgICAgICAgICAgICAgICAgPT4gdW5kZWYsCisJCQlIQVZFX0dD Q19fQVRPTUlDX0lOVDY0X0NBUyAgICAgICAgICAgICAgICAgID0+IHVuZGVmLAorCQkJSEFW RV9HQ0NfX1NZTkNfQ0hBUl9UQVMgICAgICAgICAgICAgICAgICAgICA9PiB1bmRlZiwKKwkJ CUhBVkVfR0NDX19TWU5DX0lOVDMyX0NBUyAgICAgICAgICAgICAgICAgICAgPT4gdW5kZWYs CisJCQlIQVZFX0dDQ19fU1lOQ19JTlQzMl9UQVMgICAgICAgICAgICAgICAgICAgID0+IHVu ZGVmLAorCQkJSEFWRV9HQ0NfX1NZTkNfSU5UNjRfQ0FTICAgICAgICAgICAgICAgICAgICA9 PiB1bmRlZiwKKwkJCUhBVkVfR0VUQUREUklORk8gICAgICAgICAgICAgICAgICAgICAgICAg ICAgPT4gdW5kZWYsCisJCQlIQVZFX0dFVEhPU1RCWU5BTUVfUiAgICAgICAgICAgICAgICAg ICAgICAgID0+IHVuZGVmLAorCQkJSEFWRV9HRVRJRkFERFJTICAgICAgICAgICAgICAgICAg ICAgICAgICAgICA9PiB1bmRlZiwKKwkJCUhBVkVfR0VUT1BUICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgPT4gdW5kZWYsCisJCQlIQVZFX0dFVE9QVF9IICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgID0+IHVuZGVmLAorCQkJSEFWRV9HRVRPUFRfTE9ORyAgICAg ICAgICAgICAgICAgICAgICAgICAgICA9PiB1bmRlZiwKKwkJCUhBVkVfR0VUUEVFUkVJRCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gdW5kZWYsCisJCQlIQVZFX0dFVFBFRVJV Q1JFRCAgICAgICAgICAgICAgICAgICAgICAgICAgID0+IHVuZGVmLAorCQkJSEFWRV9HRVRQ V1VJRF9SICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiB1bmRlZiwKKwkJCUhBVkVf R0VUUkxJTUlUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gdW5kZWYsCisJCQlI QVZFX0dFVFJVU0FHRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+IHVuZGVmLAor CQkJSEFWRV9HRVRUSU1FT0ZEQVkgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiB1bmRl ZiwKKwkJCUhBVkVfR1NTQVBJX0dTU0FQSV9IICAgICAgICAgICAgICAgICAgICAgICAgPT4g dW5kZWYsCisJCQlIQVZFX0dTU0FQSV9IICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ID0+IHVuZGVmLAorCQkJSEFWRV9ISVNUT1JZX0ggICAgICAgICAgICAgICAgICAgICAgICAg ICAgICA9PiB1bmRlZiwKKwkJCUhBVkVfSElTVE9SWV9UUlVOQ0FURV9GSUxFICAgICAgICAg ICAgICAgICAgPT4gdW5kZWYsCisJCQlIQVZFX0lFRUVGUF9IICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgID0+IHVuZGVmLAorCQkJSEFWRV9JRkFERFJTX0ggICAgICAgICAgICAg ICAgICAgICAgICAgICAgICA9PiB1bmRlZiwKKwkJCUhBVkVfSU5FVF9BVE9OICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgPT4gdW5kZWYsCisJCQlIQVZFX0lOVF9USU1FWk9ORSAg ICAgICAgICAgICAgICAgICAgICAgICAgID0+IDEsCisJCQlIQVZFX0lOVDY0ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgID0+IHVuZGVmLAorCQkJSEFWRV9JTlQ4ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiB1bmRlZiwKKwkJCUhBVkVfSU5UUFRS X1QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gdW5kZWYsCisJCQlIQVZFX0lO VFRZUEVTX0ggICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+IHVuZGVmLAorCQkJSEFW RV9JTlRfT1BURVJSICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiB1bmRlZiwKKwkJ CUhBVkVfSU5UX09QVFJFU0VUICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gdW5kZWYs CisJCQlIQVZFX0lQVjYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+IDEs CisJCQlIQVZFX0lTSU5GICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+IDEs CisJCQlIQVZFX0lfQ09OU1RSQUlOVF9fQlVJTFRJTl9DT05TVEFOVF9QICAgICAgID0+IHVu ZGVmLAorCQkJSEFWRV9MQU5HSU5GT19IICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9 PiB1bmRlZiwKKwkJCUhBVkVfTERBUF9IICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgPT4gdW5kZWYsCisJCQlIQVZFX0xEQVBfSU5JVElBTElaRSAgICAgICAgICAgICAgICAg ICAgICAgID0+IHVuZGVmLAorCQkJSEFWRV9MSUJDUllQVE8gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICA9PiB1bmRlZiwKKwkJCUhBVkVfTElCTERBUCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgPT4gdW5kZWYsCisJCQlIQVZFX0xJQkxEQVBfUiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgID0+IHVuZGVmLAorCQkJSEFWRV9MSUJNICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICA9PiB1bmRlZiwKKwkJCUhBVkVfTElCUEFNICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gdW5kZWYsCisJCQlIQVZFX0xJQlJFQURM SU5FICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+IHVuZGVmLAorCQkJSEFWRV9MSUJT RUxJTlVYICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiB1bmRlZiwKKwkJCUhBVkVf TElCU1NMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gdW5kZWYsCisJCQlI QVZFX0xJQldMREFQMzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+IHVuZGVmLAor CQkJSEFWRV9MSUJYTUwyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiB1bmRl ZiwKKwkJCUhBVkVfTElCWFNMVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4g dW5kZWYsCisJCQlIQVZFX0xJQlogICAgICAgICAgICAgICAgID0+ICRzZWxmLT57b3B0aW9u c30tPnt6bGlifSA/IDEgOiB1bmRlZiwKKwkJCUhBVkVfTE9DQUxFX1QgICAgICAgICAgICAg PT4gMSwKKwkJCUhBVkVfTE9OR19JTlRfNjQgICAgICAgICAgPT4gdW5kZWYsCisJCQlIQVZF X0xPTkdfTE9OR19JTlRfNjQgICAgID0+IDEsCisJCQlIQVZFX01CQVJSSUVSX0ggICAgICAg ICAgID0+IHVuZGVmLAorCQkJSEFWRV9NQlNUT1dDU19MICAgICAgICAgICA9PiAxLAorCQkJ SEFWRV9NRU1NT1ZFICAgICAgICAgICAgICA9PiAxLAorCQkJSEFWRV9NRU1PUllfSCAgICAg ICAgICAgICA9PiAxLAorCQkJSEFWRV9NRU1TRVRfUyAgICAgICAgICAgICA9PiB1bmRlZiwK KwkJCUhBVkVfTUlOSURVTVBfVFlQRSAgICAgICAgPT4gMSwKKwkJCUhBVkVfTUtEVEVNUCAg ICAgICAgICAgICAgPT4gdW5kZWYsCisJCQlIQVZFX05FVElORVRfVENQX0ggICAgICAgID0+ IHVuZGVmLAorCQkJSEFWRV9ORVRfSUZfSCAgICAgICAgICAgICA9PiB1bmRlZiwKKwkJCUhB VkVfT1BFTlNTTF9JTklUX1NTTCAgICAgPT4gdW5kZWYsCisJCQlIQVZFX09TU1BfVVVJRF9I ICAgICAgICAgID0+IHVuZGVmLAorCQkJSEFWRV9QQU1fUEFNX0FQUExfSCAgICAgICA9PiB1 bmRlZiwKKwkJCUhBVkVfUE9MTCAgICAgICAgICAgICAgICAgPT4gdW5kZWYsCisJCQlIQVZF X1BPTExfSCAgICAgICAgICAgICAgID0+IHVuZGVmLAorCQkJSEFWRV9QT1NJWF9GQURWSVNF ICAgICAgICA9PiB1bmRlZiwKKwkJCUhBVkVfUE9TSVhfRkFMTE9DQVRFICAgICAgPT4gdW5k ZWYsCisJCQlIQVZFX1BQQ19MV0FSWF9NVVRFWF9ISU5UID0+IHVuZGVmLAorCQkJSEFWRV9Q UE9MTCAgICAgICAgICAgICAgICA9PiB1bmRlZiwKKwkJCUhBVkVfUFJFQUQgICAgICAgICAg ICAgICAgPT4gdW5kZWYsCisJCQlIQVZFX1BTVEFUICAgICAgICAgICAgICAgID0+IHVuZGVm LAorCQkJSEFWRV9QU19TVFJJTkdTICAgICAgICAgICA9PiB1bmRlZiwKKwkJCUhBVkVfUFRI UkVBRCAgICAgICAgICAgICAgPT4gdW5kZWYsCisJCQlIQVZFX1BUSFJFQURfSVNfVEhSRUFE RURfTlAgICAgICAgICAgICAgID0+IHVuZGVmLAorCQkJSEFWRV9QVEhSRUFEX1BSSU9fSU5I RVJJVCAgICAgICAgICAgICAgICA9PiB1bmRlZiwKKwkJCUhBVkVfUFdSSVRFICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgPT4gdW5kZWYsCisJCQlIQVZFX1JBTkRPTSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgID0+IHVuZGVmLAorCQkJSEFWRV9SRUFETElORV9IICAg ICAgICAgICAgICAgICAgICAgICAgICA9PiB1bmRlZiwKKwkJCUhBVkVfUkVBRExJTkVfSElT VE9SWV9IICAgICAgICAgICAgICAgICAgPT4gdW5kZWYsCisJCQlIQVZFX1JFQURMSU5FX1JF QURMSU5FX0ggICAgICAgICAgICAgICAgID0+IHVuZGVmLAorCQkJSEFWRV9SRUFETElOSyAg ICAgICAgICAgICAgICAgICAgICAgICAgICA9PiB1bmRlZiwKKwkJCUhBVkVfUklOVCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gMSwKKwkJCUhBVkVfUkxfQ09NUExFVElP Tl9BUFBFTkRfQ0hBUkFDVEVSICAgICAgPT4gdW5kZWYsCisJCQlIQVZFX1JMX0NPTVBMRVRJ T05fTUFUQ0hFUyAgICAgICAgICAgICAgID0+IHVuZGVmLAorCQkJSEFWRV9STF9GSUxFTkFN RV9DT01QTEVUSU9OX0ZVTkNUSU9OICAgICA9PiB1bmRlZiwKKwkJCUhBVkVfUkxfUkVTRVRf U0NSRUVOX1NJWkUgICAgICAgICAgICAgICAgPT4gdW5kZWYsCisJCQlIQVZFX1NFQ1VSSVRZ X1BBTV9BUFBMX0ggICAgICAgICAgICAgICAgID0+IHVuZGVmLAorCQkJSEFWRV9TRVRQUk9D VElUTEUgICAgICAgICAgICAgICAgICAgICAgICA9PiB1bmRlZiwKKwkJCUhBVkVfU0VUUFJP Q1RJVExFX0ZBU1QgICAgICAgICAgICAgICAgICAgPT4gdW5kZWYsCisJCQlIQVZFX1NFVFNJ RCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+IHVuZGVmLAorCQkJSEFWRV9TSE1f T1BFTiAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiB1bmRlZiwKKwkJCUhBVkVfU1BJ TkxPQ0tTICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gMSwKKwkJCUhBVkVfU1JBTkRP TSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gdW5kZWYsCisJCQlIQVZFX1NUREJP T0xfSCAgICAgICAgICAgICAgICAgICAgICAgICAgID0+IDEsCisJCQlIQVZFX1NURElOVF9I ICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+IHVuZGVmLAorCQkJSEFWRV9TVERMSUJf SCAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAxLAorCQkJSEFWRV9TVFJDSFJOVUwg ICAgICAgICAgICAgICAgICAgICAgICAgICA9PiB1bmRlZiwKKwkJCUhBVkVfU1RSRVJST1Jf UiAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gdW5kZWYsCisJCQlIQVZFX1NUUklOR1Nf SCAgICAgICAgICAgICAgICAgICAgICAgICAgID0+IHVuZGVmLAorCQkJSEFWRV9TVFJJTkdf SCAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAxLAorCQkJSEFWRV9TVFJMQ0FUICAg ICAgICAgICAgICAgICAgICAgICAgICAgICA9PiB1bmRlZiwKKwkJCUhBVkVfU1RSTENQWSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gdW5kZWYsCisJCQlIQVZFX1NUUk5MRU4g ICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+IDEsCisJCQlIQVZFX1NUUlNJR05BTCAg ICAgICAgICAgICAgICAgICAgICAgICAgID0+IHVuZGVmLAorCQkJSEFWRV9TVFJUT0YgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAxLAorCQkJSEFWRV9TVFJUT0xMICAgICAg ICAgICAgICAgICAgICAgICAgICAgICA9PiAxLAorCQkJSEFWRV9TVFJUT1EgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA9PiB1bmRlZiwKKwkJCUhBVkVfU1RSVE9VTEwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgPT4gMSwKKwkJCUhBVkVfU1RSVE9VUSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgPT4gdW5kZWYsCisJCQlIQVZFX1NUUlVDVF9BRERSSU5GTyAg ICAgICAgICAgICAgICAgICAgID0+IDEsCisJCQlIQVZFX1NUUlVDVF9DTVNHQ1JFRCAgICAg ICAgICAgICAgICAgICAgID0+IHVuZGVmLAorCQkJSEFWRV9TVFJVQ1RfT1BUSU9OICAgICAg ICAgICAgICAgICAgICAgICA9PiB1bmRlZiwKKwkJCUhBVkVfU1RSVUNUX1NPQ0tBRERSX1NB X0xFTiAgICAgICAgICAgICAgPT4gdW5kZWYsCisJCQlIQVZFX1NUUlVDVF9TT0NLQUREUl9T VE9SQUdFICAgICAgICAgICAgID0+IDEsCisJCQlIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9S QUdFX1NTX0ZBTUlMWSAgID0+IDEsCisJCQlIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdF X1NTX0xFTiAgICAgID0+IHVuZGVmLAorCQkJSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFH RV9fX1NTX0ZBTUlMWSA9PiB1bmRlZiwKKwkJCUhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JB R0VfX19TU19MRU4gICAgPT4gdW5kZWYsCisJCQlIQVZFX1NUUlVDVF9UTV9UTV9aT05FICAg ICAgICAgICAgICAgICAgID0+IHVuZGVmLAorCQkJSEFWRV9TWU5DX0ZJTEVfUkFOR0UgICAg ICAgICAgICAgICAgICAgICA9PiB1bmRlZiwKKwkJCUhBVkVfU1lNTElOSyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgPT4gMSwKKwkJCUhBVkVfU1lTTE9HICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgPT4gdW5kZWYsCisJCQlIQVZFX1NZU19FUE9MTF9IICAgICAgICAg ICAgICAgICAgICAgICAgID0+IHVuZGVmLAorCQkJSEFWRV9TWVNfSVBDX0ggICAgICAgICAg ICAgICAgICAgICAgICAgICA9PiB1bmRlZiwKKwkJCUhBVkVfU1lTX1BSQ1RMX0ggICAgICAg ICAgICAgICAgICAgICAgICAgPT4gdW5kZWYsCisJCQlIQVZFX1NZU19QUk9DQ1RMX0ggICAg ICAgICAgICAgICAgICAgICAgID0+IHVuZGVmLAorCQkJSEFWRV9TWVNfUFNUQVRfSCAgICAg ICAgICAgICAgICAgICAgICAgICA9PiB1bmRlZiwKKwkJCUhBVkVfU1lTX1JFU09VUkNFX0gg ICAgICAgICAgICAgICAgICAgICAgPT4gdW5kZWYsCisJCQlIQVZFX1NZU19TRUxFQ1RfSCAg ICAgICAgICAgICAgICAgICAgICAgID0+IHVuZGVmLAorCQkJSEFWRV9TWVNfU0VNX0ggICAg ICAgICAgICAgICAgICAgICAgICAgICA9PiB1bmRlZiwKKwkJCUhBVkVfU1lTX1NITV9IICAg ICAgICAgICAgICAgICAgICAgICAgICAgPT4gdW5kZWYsCisJCQlIQVZFX1NZU19TT0NLSU9f SCAgICAgICAgICAgICAgICAgICAgICAgID0+IHVuZGVmLAorCQkJSEFWRV9TWVNfU1RBVF9I ICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAxLAorCQkJSEFWRV9TWVNfVEFTX0ggICAg ICAgICAgICAgICAgICAgICAgICAgICA9PiB1bmRlZiwKKwkJCUhBVkVfU1lTX1RZUEVTX0gg ICAgICAgICAgICAgICAgICAgICAgICAgPT4gMSwKKwkJCUhBVkVfU1lTX1VDUkVEX0ggICAg ICAgICAgICAgICAgICAgICAgICAgPT4gdW5kZWYsCisJCQlIQVZFX1NZU19VTl9IICAgICAg ICAgICAgICAgICAgICAgICAgICAgID0+IHVuZGVmLAorCQkJSEFWRV9URVJNSU9TX0ggICAg ICAgICAgICAgICAgICAgICAgICAgICA9PiB1bmRlZiwKKwkJCUhBVkVfVFlQRU9GICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgPT4gdW5kZWYsCisJCQlIQVZFX1VDUkVEX0ggICAg ICAgICAgICAgICAgICAgICAgICAgICAgID0+IHVuZGVmLAorCQkJSEFWRV9VSU5UNjQgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICA9PiB1bmRlZiwKKwkJCUhBVkVfVUlOVDggICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gdW5kZWYsCisJCQlIQVZFX1VJTlRQVFJf VCAgICAgICAgICAgICAgICAgICAgICAgICAgID0+IHVuZGVmLAorCQkJSEFWRV9VTklPTl9T RU1VTiAgICAgICAgICAgICAgICAgICAgICAgICA9PiB1bmRlZiwKKwkJCUhBVkVfVU5JU1RE X0ggICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gMSwKKwkJCUhBVkVfVU5JWF9TT0NL RVRTICAgICAgICAgICAgICAgICAgICAgICAgPT4gdW5kZWYsCisJCQlIQVZFX1VOU0VURU5W ICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+IHVuZGVmLAorCQkJSEFWRV9VU0VMT0NB TEUgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiB1bmRlZiwKKwkJCUhBVkVfVVRJTUUg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gMSwKKwkJCUhBVkVfVVRJTUVTICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gdW5kZWYsCisJCQlIQVZFX1VUSU1FX0gg ICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+IDEsCisJCQlIQVZFX1VVSURfQlNEICAg ICAgICAgICAgICAgICAgICAgICAgICAgID0+IHVuZGVmLAorCQkJSEFWRV9VVUlEX0UyRlMg ICAgICAgICAgICAgICAgICAgICAgICAgICA9PiB1bmRlZiwKKwkJCUhBVkVfVVVJRF9PU1NQ ICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gdW5kZWYsCisJCQlIQVZFX1VVSURfSCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+IHVuZGVmLAorCQkJSEFWRV9VVUlEX1VV SURfSCAgICAgICAgICAgICAgICAgICAgICAgICA9PiB1bmRlZiwKKwkJCUhBVkVfV0lOTERB UF9IICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gdW5kZWYsCisJCQlIQVZFX1dDSEFS X0ggICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+IDEsCisJCQlIQVZFX1dDU1RPTUJT X0wgICAgICAgICAgICAgICAgICAgICAgICAgID0+IDEsCisJCQlIQVZFX1dDVFlQRV9IICAg ICAgICAgICAgICAgICAgICAgICAgICAgID0+IDEsCisJCQlIQVZFX1g1MDlfR0VUX1NJR05B VFVSRV9OSUQgICAgICAgICAgICAgID0+IDEsCisJCQlIQVZFX1g4Nl82NF9QT1BDTlRRICAg ICAgICAgICAgICAgICAgICAgID0+IHVuZGVmLAorCQkJSEFWRV9fQk9PTCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA9PiB1bmRlZiwKKwkJCUhBVkVfX0JVSUxUSU5fQlNXQVAx NiAgICAgICAgICAgICAgICAgICAgPT4gdW5kZWYsCisJCQlIQVZFX19CVUlMVElOX0JTV0FQ MzIgICAgICAgICAgICAgICAgICAgID0+IHVuZGVmLAorCQkJSEFWRV9fQlVJTFRJTl9CU1dB UDY0ICAgICAgICAgICAgICAgICAgICA9PiB1bmRlZiwKKwkJCUhBVkVfX0JVSUxUSU5fQ0xa ICAgICAgICAgICAgICAgICAgICAgICAgPT4gdW5kZWYsCisJCQlIQVZFX19CVUlMVElOX0NP TlNUQU5UX1AgICAgICAgICAgICAgICAgID0+IHVuZGVmLAorCQkJSEFWRV9fQlVJTFRJTl9D VFogICAgICAgICAgICAgICAgICAgICAgICA9PiB1bmRlZiwKKwkJCUhBVkVfX0JVSUxUSU5f T1BfT1ZFUkZMT1cgICAgICAgICAgICAgICAgPT4gdW5kZWYsCisJCQlIQVZFX19CVUlMVElO X1BPUENPVU5UICAgICAgICAgICAgICAgICAgID0+IHVuZGVmLAorCQkJSEFWRV9fQlVJTFRJ Tl9UWVBFU19DT01QQVRJQkxFX1AgICAgICAgICA9PiB1bmRlZiwKKwkJCUhBVkVfX0JVSUxU SU5fVU5SRUFDSEFCTEUgICAgICAgICAgICAgICAgPT4gdW5kZWYsCisJCQlIQVZFX19DT05G SUdUSFJFQURMT0NBTEUgICAgICAgICAgICAgICAgID0+IDEsCisJCQlIQVZFX19DUFVJRCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+IDEsCisJCQlIQVZFX19HRVRfQ1BVSUQg ICAgICAgICAgICAgICAgICAgICAgICAgID0+IHVuZGVmLAorCQkJSEFWRV9fU1RBVElDX0FT U0VSVCAgICAgICAgICAgICAgICAgICAgICA9PiB1bmRlZiwKKwkJCUhBVkVfX19TVFJUT0xM ICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gdW5kZWYsCisJCQlIQVZFX19fU1RSVE9V TEwgICAgICAgICAgICAgICAgICAgICAgICAgID0+IHVuZGVmLAorCQkJSU5UNjRfTU9ESUZJ RVIgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiBxcXsibGwifSwKKwkJCUxPQ0FMRV9U X0lOX1hMT0NBTEUgICAgICAgICAgICAgICAgICAgICAgPT4gdW5kZWYsCisJCQlNQVhJTVVN X0FMSUdOT0YgICAgICAgICAgICAgICAgICAgICAgICAgID0+IDgsCisJCQlNRU1TRVRfTE9P UF9MSU1JVCAgICAgICAgICAgICAgICAgICAgICAgID0+IDEwMjQsCisJCQlQQUNLQUdFX0JV R1JFUE9SVCAgID0+IHFxeyIkcGFja2FnZV9idWdyZXBvcnQifSwKKwkJCVBBQ0tBR0VfTkFN RSAgICAgICAgPT4gcXF7IiRwYWNrYWdlX25hbWUifSwKKwkJCVBBQ0tBR0VfU1RSSU5HICAg ICAgPT4gcXF7IiRwYWNrYWdlX25hbWUgJHBhY2thZ2VfdmVyc2lvbiJ9LAorCQkJUEFDS0FH RV9UQVJOQU1FICAgICA9PiBsYyBxcXsiJHBhY2thZ2VfbmFtZSJ9LAorCQkJUEFDS0FHRV9V UkwgICAgICAgICA9PiB1bmRlZiwKKwkJCVBBQ0tBR0VfVkVSU0lPTiAgICAgPT4gcXF7IiRw YWNrYWdlX3ZlcnNpb24ifSwKKwkJCVBHX0lOVDEyOF9UWVBFICAgICAgPT4gdW5kZWYsCisJ CQlQR19JTlQ2NF9UWVBFICAgICAgID0+ICdsb25nIGxvbmcgaW50JywKKwkJCVBHX0tSQl9T UlZOQU0gICAgICAgPT4gcXF7InBvc3RncmVzIn0sCisJCQlQR19NQUpPUlZFUlNJT04gICAg ID0+IHFxeyIkc2VsZi0+e21ham9ydmVyfSJ9LAorCQkJUEdfUFJJTlRGX0FUVFJJQlVURSA9 PiB1bmRlZiwKKwkJCVBHX1VTRV9TVERCT09MICAgICAgPT4gMSwKKwkJCVBHX1ZFUlNJT04g ICAgICAgICAgPT4gcXF7IiRwYWNrYWdlX3ZlcnNpb24kZXh0cmF2ZXIifSwKKwkJCVBHX1ZF UlNJT05fTlVNICAgICAgPT4gJHNlbGYtPntudW12ZXJ9LAorCQkJUEdfVkVSU0lPTl9TVFIg PT4KKwkJCSAgcXF7IlBvc3RncmVTUUwgJHBhY2thZ2VfdmVyc2lvbiRleHRyYXZlciwgY29t cGlsZWQgYnkgVmlzdWFsIEMrKyBidWlsZCAiIENwcEFzU3RyaW5nMihfTVNDX1ZFUikgIiwg JGJpdHMtYml0In0sCisJCQlQUk9GSUxFX1BJRF9ESVIgICAgICAgICA9PiB1bmRlZiwKKwkJ CVBUSFJFQURfQ1JFQVRFX0pPSU5BQkxFID0+IHVuZGVmLAorCQkJUkVMU0VHX1NJWkUgICAg ICAgICAgICAgPT4gKDEwMjQgLyAkc2VsZi0+e29wdGlvbnN9LT57YmxvY2tzaXplfSkgKgor CQkJCSAgJHNlbGYtPntvcHRpb25zfS0+e3NlZ3NpemV9ICogMTAyNCwKKwkJCVNJWkVPRl9C T09MICAgICAgICAgICAgICAgICAgICAgICAgID0+IDEsCisJCQlTSVpFT0ZfTE9ORyAgICAg ICAgICAgICAgICAgICAgICAgICA9PiA0LAorCQkJU0laRU9GX09GRl9UICAgICAgICAgICAg ICAgICAgICAgICAgPT4gdW5kZWYsCisJCQlTSVpFT0ZfU0laRV9UICAgICAgICAgICAgICAg ICAgICAgICA9PiAkYml0cyAvIDgsCisJCQlTSVpFT0ZfVk9JRF9QICAgICAgICAgICAgICAg ICAgICAgICA9PiAkYml0cyAvIDgsCisJCQlTVERDX0hFQURFUlMgICAgICAgICAgICAgICAg ICAgICAgICA9PiAxLAorCQkJU1RSRVJST1JfUl9JTlQgICAgICAgICAgICAgICAgICAgICAg PT4gdW5kZWYsCisJCQlVU0VfQVJNVjhfQ1JDMzJDICAgICAgICAgICAgICAgICAgICA9PiB1 bmRlZiwKKwkJCVVTRV9BUk1WOF9DUkMzMkNfV0lUSF9SVU5USU1FX0NIRUNLID0+IHVuZGVm LAorCQkJVVNFX0FTU0VSVF9DSEVDS0lORyA9PiAkc2VsZi0+e29wdGlvbnN9LT57YXNzZXJ0 c30gPyAxIDogdW5kZWYsCisJCQlVU0VfQk9OSk9VUiAgICAgICAgID0+IHVuZGVmLAorCQkJ VVNFX0JTRF9BVVRIICAgICAgICA9PiB1bmRlZiwKKwkJCVVTRV9ERVZfVVJBTkRPTSAgICAg PT4gdW5kZWYsCisJCQlVU0VfSUNVICAgICAgICAgICAgID0+ICRzZWxmLT57b3B0aW9uc30t PntpY3V9ID8gMSA6IHVuZGVmLAorCQkJVVNFX0xJQlhNTCAgICAgICAgICA9PiB1bmRlZiwK KwkJCVVTRV9MSUJYU0xUICAgICAgICAgPT4gdW5kZWYsCisJCQlVU0VfTERBUCA9PiAkc2Vs Zi0+e29wdGlvbnN9LT57bGRhcH0gPyAxIDogdW5kZWYsCisJCQlVU0VfTExWTSA9PiB1bmRl ZiwKKwkJCVVTRV9OQU1FRF9QT1NJWF9TRU1BUEhPUkVTICAgICAgICAgID0+IHVuZGVmLAor CQkJVVNFX09QRU5TU0wgICAgICAgICAgICAgICAgICAgICAgICAgPT4gdW5kZWYsCisJCQlV U0VfT1BFTlNTTF9SQU5ET00gICAgICAgICAgICAgICAgICA9PiB1bmRlZiwKKwkJCVVTRV9Q QU0gICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+IHVuZGVmLAorCQkJVVNFX1NMSUNJ TkdfQllfOF9DUkMzMkMgICAgICAgICAgICAgPT4gdW5kZWYsCisJCQlVU0VfU1NFNDJfQ1JD MzJDICAgICAgICAgICAgICAgICAgICA9PiB1bmRlZiwKKwkJCVVTRV9TU0U0Ml9DUkMzMkNf V0lUSF9SVU5USU1FX0NIRUNLID0+IDEsCisJCQlVU0VfU1lTVEVNRCAgICAgICAgICAgICAg ICAgICAgICAgICA9PiB1bmRlZiwKKwkJCVVTRV9TWVNWX1NFTUFQSE9SRVMgICAgICAgICAg ICAgICAgID0+IHVuZGVmLAorCQkJVVNFX1NZU1ZfU0hBUkVEX01FTU9SWSAgICAgICAgICAg ICAgPT4gdW5kZWYsCisJCQlVU0VfVU5OQU1FRF9QT1NJWF9TRU1BUEhPUkVTICAgICAgICA9 PiB1bmRlZiwKKwkJCVVTRV9XSU4zMl9SQU5ET00gICAgICAgICAgICAgICAgICAgID0+IDEs CisJCQlVU0VfV0lOMzJfU0VNQVBIT1JFUyAgICAgICAgICAgICAgICA9PiAxLAorCQkJVVNF X1dJTjMyX1NIQVJFRF9NRU1PUlkgICAgICAgICAgICAgPT4gMSwKKwkJCVdDU1RPTUJTX0xf SU5fWExPQ0FMRSAgICAgICAgICAgICAgID0+IHVuZGVmLAorCQkJV09SRFNfQklHRU5ESUFO ICAgICAgICAgICAgICAgICAgICAgPT4gdW5kZWYsCisJCQlYTE9HX0JMQ0tTWiAgICAgICA9 PiAxMDI0ICogJHNlbGYtPntvcHRpb25zfS0+e3dhbF9ibG9ja3NpemV9LAorCQkJX0ZJTEVf T0ZGU0VUX0JJVFMgPT4gdW5kZWYsCisJCQlfTEFSR0VGSUxFX1NPVVJDRSA9PiB1bmRlZiwK KwkJCV9MQVJHRV9GSUxFUyAgICAgID0+IHVuZGVmLAorCQkJaW5saW5lICAgICAgICAgICAg PT4gJ19faW5saW5lJywKKwkJCWludHB0cl90ICAgICAgICAgID0+IHVuZGVmLAorCQkJcGdf cmVzdHJpY3QgICAgICAgPT4gJ19fcmVzdHJpY3QnLAorCQkJIyBub3QgZGVmaW5lZCwgYmVj YXVzZSBpdCdkIGNvbmZsaWN0IHdpdGggX19kZWNsc3BlYyhyZXN0cmljdCkKKwkJCXJlc3Ry aWN0ICAgICAgICAgID0+IHVuZGVmLAorCQkJc2lnbmVkICAgICAgICAgICAgPT4gdW5kZWYs CisJCQl0eXBlb2YgICAgICAgICAgICA9PiB1bmRlZiwKKwkJCXVpbnRwdHJfdCAgICAgICAg ID0+IHVuZGVmLCk7CiAKIAkJaWYgKCRzZWxmLT57b3B0aW9uc30tPnt1dWlkfSkKIAkJewot CQkJcHJpbnQgJG8gIiNkZWZpbmUgSEFWRV9VVUlEX09TU1BcbiI7Ci0JCQlwcmludCAkbyAi I2RlZmluZSBIQVZFX1VVSURfSFxuIjsKKwkJCSRkZWZpbmV7SEFWRV9VVUlEX09TU1B9ID0g MTsKKwkJCSRkZWZpbmV7SEFWRV9VVUlEX0h9ICAgID0gMTsKIAkJfQogCQlpZiAoJHNlbGYt PntvcHRpb25zfS0+e3htbH0pCiAJCXsKLQkJCXByaW50ICRvICIjZGVmaW5lIEhBVkVfTElC WE1MMlxuIjsKLQkJCXByaW50ICRvICIjZGVmaW5lIFVTRV9MSUJYTUxcbiI7CisJCQkkZGVm aW5le0hBVkVfTElCWE1MMn0gPSAxOworCQkJJGRlZmluZXtVU0VfTElCWE1MfSAgID0gMTsK IAkJfQogCQlpZiAoJHNlbGYtPntvcHRpb25zfS0+e3hzbHR9KQogCQl7Ci0JCQlwcmludCAk byAiI2RlZmluZSBIQVZFX0xJQlhTTFRcbiI7Ci0JCQlwcmludCAkbyAiI2RlZmluZSBVU0Vf TElCWFNMVFxuIjsKLQkJfQotCQlpZiAoJHNlbGYtPntvcHRpb25zfS0+e2dzc30pCi0JCXsK LQkJCXByaW50ICRvICIjZGVmaW5lIEVOQUJMRV9HU1MgMVxuIjsKKwkJCSRkZWZpbmV7SEFW RV9MSUJYU0xUfSA9IDE7CisJCQkkZGVmaW5le1VTRV9MSUJYU0xUfSAgPSAxOwogCQl9CiAJ CWlmICgkc2VsZi0+e29wdGlvbnN9LT57b3BlbnNzbH0pCiAJCXsKLQkJCXByaW50ICRvICIj ZGVmaW5lIFVTRV9PUEVOU1NMIDFcbiI7CisJCQkkZGVmaW5le1VTRV9PUEVOU1NMfSA9IDE7 CiAKIAkJCW15ICgkZGlnaXQxLCAkZGlnaXQyLCAkZGlnaXQzKSA9ICRzZWxmLT5HZXRPcGVu U1NMVmVyc2lvbigpOwogCiAJCQkjIE1vcmUgc3ltYm9scyBhcmUgbmVlZGVkIHdpdGggT3Bl blNTTCAxLjEuMCBhbmQgYWJvdmUuCiAJCQlpZiAoJGRpZ2l0MSA+PSAnMScgJiYgJGRpZ2l0 MiA+PSAnMScgJiYgJGRpZ2l0MyA+PSAnMCcpCiAJCQl7Ci0JCQkJcHJpbnQgJG8gIiNkZWZp bmUgSEFWRV9BU04xX1NUUklOR19HRVQwX0RBVEEgMVxuIjsKLQkJCQlwcmludCAkbyAiI2Rl ZmluZSBIQVZFX0JJT19HRVRfREFUQSAxXG4iOwotCQkJCXByaW50ICRvICIjZGVmaW5lIEhB VkVfQklPX01FVEhfTkVXIDFcbiI7Ci0JCQkJcHJpbnQgJG8gIiNkZWZpbmUgSEFWRV9PUEVO U1NMX0lOSVRfU1NMIDFcbiI7CisJCQkJJGRlZmluZXtIQVZFX0FTTjFfU1RSSU5HX0dFVDBf REFUQX0gPSAxOworCQkJCSRkZWZpbmV7SEFWRV9CSU9fR0VUX0RBVEF9ICAgICAgICAgID0g MTsKKwkJCQkkZGVmaW5le0hBVkVfQklPX01FVEhfTkVXfSAgICAgICAgICA9IDE7CisJCQkJ JGRlZmluZXtIQVZFX09QRU5TU0xfSU5JVF9TU0x9ICAgICAgPSAxOwogCQkJfQogCQl9Ci0J CWlmICgkc2VsZi0+e29wdGlvbnN9LT57aWN1fSkKLQkJewotCQkJcHJpbnQgJG8gIiNkZWZp bmUgVVNFX0lDVSAxXG4iOwotCQl9Ci0JCWlmIChteSAkcG9ydCA9ICRzZWxmLT57b3B0aW9u c30tPnsiLS13aXRoLXBncG9ydCJ9KQorCisJCW9wZW4obXkgJGksICc8JywgInNyYy9pbmNs dWRlL3BnX2NvbmZpZy5oLmluIikKKwkJICB8fCBjb25mZXNzICJDb3VsZCBub3Qgb3BlbiBw Z19jb25maWcuaC5pblxuIjsKKwkJb3BlbihteSAkbywgJz4nLCAic3JjL2luY2x1ZGUvcGdf Y29uZmlnLmgiKQorCQkgIHx8IGNvbmZlc3MgIkNvdWxkIG5vdCB3cml0ZSB0byBwZ19jb25m aWcuaFxuIjsKKworCQlwcmludCAkbworCQkgICIvKiBzcmMvaW5jbHVkZS9wZ19jb25maWcu aC4gIEdlbmVyYXRlZCBmcm9tIHBnX2NvbmZpZy5oLmluIGJ5IHNyYy90b29scy9tc3ZjL1Nv bHV0aW9uLnBtLiAgKi9cbiI7CisKKwkJIyBSZWFkIGxpbmVzIGZyb20gcGdfY29uZmlnLmgu aW4gYW5kIHN1YnN0aXR1dGUgc3ltYm9scyB1c2luZworCQkjIHRoZSBzYW1lIGxvZ2ljIHRo YXQgY29uZmlnLnN0YXR1cyB1c2VzLiAgV2UgYWxzbyBrZWVwIHRyYWNrCisJCSMgd2hpY2gg b2Ygb3VyIGRlZmluZXMgaGF2ZSBiZWVuIGZvdW5kIGFuZCBlcnJvciBvdXQgaWYgYW55CisJ CSMgYXJlIGxlZnQgdW51c2VkIGF0IHRoZSBlbmQgc28gdGhhdCBkb24ndCBhY2N1bXVsYXRl IGRlZmluZXMKKwkJIyBpbiB0aGlzIGZpbGUgdGhhdCBhcmUgbm8gbG9uZ2VyIHVzZWQgYnkg Y29uZmlndXJlLgorCQl3aGlsZSAoPCRpPikKIAkJewotCQkJcHJpbnQgJG8gIiN1bmRlZiBE RUZfUEdQT1JUXG4iOwotCQkJcHJpbnQgJG8gIiN1bmRlZiBERUZfUEdQT1JUX1NUUlxuIjsK LQkJCXByaW50ICRvICIjZGVmaW5lIERFRl9QR1BPUlQgJHBvcnRcbiI7Ci0JCQlwcmludCAk byAiI2RlZmluZSBERUZfUEdQT1JUX1NUUiBcIiRwb3J0XCJcbiI7CisJCQlpZiAobS9eIyhc cyopdW5kZWZccysoXHcrKS8pCisJCQl7CisJCQkJbXkgJHdzICAgID0gJDE7CisJCQkJbXkg JG1hY3JvID0gJDI7CisJCQkJaWYgKGV4aXN0cyAkZGVmaW5leyRtYWNyb30pCisJCQkJewor CQkJCQlpZiAoZGVmaW5lZCAkZGVmaW5leyRtYWNyb30pCisJCQkJCXsKKwkJCQkJCXByaW50 ICRvICIjJHt3c31kZWZpbmUgJG1hY3JvICIsICRkZWZpbmV7JG1hY3JvfSwgIlxuIjsKKwkJ CQkJfQorCQkJCQllbHNlCisJCQkJCXsKKwkJCQkJCXByaW50ICRvICIvKiAjJHt3c311bmRl ZiAkbWFjcm8gKi9cbiI7CisJCQkJCX0KKwkJCQkJZGVsZXRlICRkZWZpbmV7JG1hY3JvfTsK KwkJCQl9CisJCQkJZWxzZQorCQkJCXsKKwkJCQkJY3JvYWsgIm1pc3Npbmc6ICRtYWNybyI7 CisJCQkJfQorCQkJfQorCQkJZWxzZQorCQkJeworCQkJCXByaW50ICRvICRfOworCQkJfQog CQl9CisJCXByaW50ICRvICJcbiI7CiAJCXByaW50ICRvICIjZGVmaW5lIFZBTF9DT05GSUdV UkUgXCIiCiAJCSAgLiAkc2VsZi0+R2V0RmFrZUNvbmZpZ3VyZSgpIC4gIlwiXG4iOwotCQlw cmludCAkbyAiI2VuZGlmIC8qIElHTk9SRV9DT05GSUdVUkVEX1NFVFRJTkdTICovXG4iOwog CQljbG9zZSgkbyk7CiAJCWNsb3NlKCRpKTsKKwkJaWYgKHNjYWxhcihrZXlzICVkZWZpbmUp ID4gMCkKKwkJeworCQkJY3JvYWsgInVudXNlZCBkZWZpbmVzOiBAe1slZGVmaW5lXX0iOwor CQl9CiAJfQogCiAJaWYgKElzTmV3ZXIoCkBAIC01ODEsNyArOTEzLDcgQEAgRU9GCiAJb3Bl bihteSAkbywgJz4nLCAiZG9jL3NyYy9zZ21sL3ZlcnNpb24uc2dtbCIpCiAJICB8fCBjcm9h ayAiQ291bGQgbm90IHdyaXRlIHRvIHZlcnNpb24uc2dtbFxuIjsKIAlwcmludCAkbyA8PEVP RjsKLTwhRU5USVRZIHZlcnNpb24gIiRzZWxmLT57c3RydmVyfSI+Cis8IUVOVElUWSB2ZXJz aW9uICIkcGFja2FnZV92ZXJzaW9uIj4KIDwhRU5USVRZIG1ham9ydmVyc2lvbiAiJHNlbGYt PnttYWpvcnZlcn0iPgogRU9GCiAJY2xvc2UoJG8pOwotLSAKMi4yNC4xCgo= --------------C4CC40A471641C78C6C140D1 Content-Type: text/plain; charset=UTF-8; x-mac-type="0"; x-mac-creator="0"; name="v2-0002-Remove-pg_config.h.win32.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="v2-0002-Remove-pg_config.h.win32.patch" RnJvbSAxMzVmNmEyNmEyYTFhODgyNjJiNDg2ZGI2NzVhYjdhNjQ3MmQ1N2YwIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogVGh1LCA3IE5vdiAyMDE5IDE1OjU5OjU5ICswMTAwClN1YmplY3Q6 IFtQQVRDSCB2MiAyLzJdIFJlbW92ZSBwZ19jb25maWcuaC53aW4zMgoKLS0tCiBzcmMvaW5j bHVkZS9wZ19jb25maWcuaC53aW4zMiB8IDczNiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCiBzcmMvdG9vbHMvdmVyc2lvbl9zdGFtcC5wbCAgICB8ICAgNyAtCiAyIGZp bGVzIGNoYW5nZWQsIDc0MyBkZWxldGlvbnMoLSkKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmMv aW5jbHVkZS9wZ19jb25maWcuaC53aW4zMgoKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3Bn X2NvbmZpZy5oLndpbjMyIGIvc3JjL2luY2x1ZGUvcGdfY29uZmlnLmgud2luMzIKZGVsZXRl ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgwOGY1YWJjZGIuLjAwMDAwMDAwMDAKLS0tIGEv c3JjL2luY2x1ZGUvcGdfY29uZmlnLmgud2luMzIKKysrIC9kZXYvbnVsbApAQCAtMSw3MzYg KzAsMCBAQAotLyogc3JjL2luY2x1ZGUvcGdfY29uZmlnLmguICBHZW5lcmF0ZWQgYnkgY29u ZmlndXJlLiAgKi8KLS8qIHNyYy9pbmNsdWRlL3BnX2NvbmZpZy5oLmluLiAgR2VuZXJhdGVk IGZyb20gY29uZmlndXJlLmluIGJ5IGF1dG9oZWFkZXIuICAqLwotCi0vKiBUaGlzIGZpbGUg aXMgZ2VuZXJhdGVkIGZyb20gTWluZ1cgLi9jb25maWd1cmUsIGFuZCB3aXRoIHRoZSBmb2xs b3dpbmcKLSAqIGNoYW5nZXMgdG8gYmUgdmFsaWQgZm9yIFZpc3VhbCBDKysgKGFuZCBjb21w YXRpYmxlKToKLSAqCi0gKiBIQVZFX0NCUlQsIEhBVkVfRlVOQ05BTUVfRlVOQywgSEFWRV9H RVRPUFQsIEhBVkVfR0VUT1BUX0gsIEhBVkVfSU5UVFlQRVNfSCwKLSAqIEhBVkVfR0VUT1BU X0xPTkcsIEhBVkVfTE9DQUxFX1QsIEhBVkVfUklOVCwgSEFWRV9TVFJJTkdTX0gsIEhBVkVf U1RSVE9MTCwKLSAqIEhBVkVfU1RSVE9VTEwsIEhBVkVfU1RSVUNUX09QVElPTiwgRU5BQkxF X1RIUkVBRF9TQUZFVFksCi0gKiBpbmxpbmUsIFVTRV9TU0U0Ml9DUkMzMkNfV0lUSF9SVU5U SU1FX0NIRUNLCi0gKi8KLQotLyogRGVmaW5lIHRvIHRoZSB0eXBlIG9mIGFyZyAxIG9mICdh Y2NlcHQnICovCi0jZGVmaW5lIEFDQ0VQVF9UWVBFX0FSRzEgdW5zaWduZWQgaW50Ci0KLS8q IERlZmluZSB0byB0aGUgdHlwZSBvZiBhcmcgMiBvZiAnYWNjZXB0JyAqLwotI2RlZmluZSBB Q0NFUFRfVFlQRV9BUkcyIHN0cnVjdCBzb2NrYWRkciAqCi0KLS8qIERlZmluZSB0byB0aGUg dHlwZSBvZiBhcmcgMyBvZiAnYWNjZXB0JyAqLwotI2RlZmluZSBBQ0NFUFRfVFlQRV9BUkcz IGludAotCi0vKiBEZWZpbmUgdG8gdGhlIHJldHVybiB0eXBlIG9mICdhY2NlcHQnICovCi0j ZGVmaW5lIEFDQ0VQVF9UWVBFX1JFVFVSTiB1bnNpZ25lZCBpbnQgUEFTQ0FMCi0KLS8qIFRo ZSBub3JtYWwgYWxpZ25tZW50IG9mIGBkb3VibGUnLCBpbiBieXRlcy4gKi8KLSNkZWZpbmUg QUxJR05PRl9ET1VCTEUgOAotCi0vKiBUaGUgbm9ybWFsIGFsaWdubWVudCBvZiBgaW50Jywg aW4gYnl0ZXMuICovCi0jZGVmaW5lIEFMSUdOT0ZfSU5UIDQKLQotLyogVGhlIG5vcm1hbCBh bGlnbm1lbnQgb2YgYGxvbmcnLCBpbiBieXRlcy4gKi8KLSNkZWZpbmUgQUxJR05PRl9MT05H IDQKLQotLyogVGhlIG5vcm1hbCBhbGlnbm1lbnQgb2YgYGxvbmcgbG9uZyBpbnQnLCBpbiBi eXRlcy4gKi8KLSNkZWZpbmUgQUxJR05PRl9MT05HX0xPTkdfSU5UIDgKLQotLyogVGhlIG5v cm1hbCBhbGlnbm1lbnQgb2YgYFBHX0lOVDEyOF9UWVBFJywgaW4gYnl0ZXMuICovCi0jdW5k ZWYgQUxJR05PRl9QR19JTlQxMjhfVFlQRQotCi0vKiBUaGUgbm9ybWFsIGFsaWdubWVudCBv ZiBgc2hvcnQnLCBpbiBieXRlcy4gKi8KLSNkZWZpbmUgQUxJR05PRl9TSE9SVCAyCi0KLS8q IERlZmluZSB0byB0aGUgZGVmYXVsdCBUQ1AgcG9ydCBudW1iZXIgb24gd2hpY2ggdGhlIHNl cnZlciBsaXN0ZW5zIGFuZCB0bwotICAgd2hpY2ggY2xpZW50cyB3aWxsIHRyeSB0byBjb25u ZWN0LiBUaGlzIGNhbiBiZSBvdmVycmlkZGVuIGF0IHJ1bi10aW1lLCBidXQKLSAgIGl0J3Mg Y29udmVuaWVudCBpZiB5b3VyIGNsaWVudHMgaGF2ZSB0aGUgcmlnaHQgZGVmYXVsdCBjb21w aWxlZCBpbi4KLSAgICgtLXdpdGgtcGdwb3J0PVBPUlROVU0pICovCi0jZGVmaW5lIERFRl9Q R1BPUlQgNTQzMgotCi0vKiBEZWZpbmUgdG8gdGhlIGRlZmF1bHQgVENQIHBvcnQgbnVtYmVy IGFzIGEgc3RyaW5nIGNvbnN0YW50LiAqLwotI2RlZmluZSBERUZfUEdQT1JUX1NUUiAiNTQz MiIKLQotLyogRGVmaW5lIHRvIDEgaWYgeW91IHdhbnQgTmF0aW9uYWwgTGFuZ3VhZ2UgU3Vw cG9ydC4gKC0tZW5hYmxlLW5scykgKi8KLS8qICN1bmRlZiBFTkFCTEVfTkxTICovCi0KLS8q IERlZmluZSB0byAxIHRvIGJ1aWxkIGNsaWVudCBsaWJyYXJpZXMgYXMgdGhyZWFkLXNhZmUg Y29kZS4KLSAgICgtLWVuYWJsZS10aHJlYWQtc2FmZXR5KSAqLwotI2RlZmluZSBFTkFCTEVf VEhSRUFEX1NBRkVUWSAxCi0KLS8qIERlZmluZSB0byBub3RoaW5nIGlmIEMgc3VwcG9ydHMg ZmxleGlibGUgYXJyYXkgbWVtYmVycywgYW5kIHRvIDEgaWYgaXQgZG9lcwotICAgbm90LiBU aGF0IHdheSwgd2l0aCBhIGRlY2xhcmF0aW9uIGxpa2UgYHN0cnVjdCBzIHsgaW50IG47IGRv dWJsZQotICAgZFtGTEVYSUJMRV9BUlJBWV9NRU1CRVJdOyB9OycsIHRoZSBzdHJ1Y3QgaGFj ayBjYW4gYmUgdXNlZCB3aXRoIHByZS1DOTkKLSAgIGNvbXBpbGVycy4gV2hlbiBjb21wdXRp bmcgdGhlIHNpemUgb2Ygc3VjaCBhbiBvYmplY3QsIGRvbid0IHVzZSAnc2l6ZW9mCi0gICAo c3RydWN0IHMpJyBhcyBpdCBvdmVyZXN0aW1hdGVzIHRoZSBzaXplLiBVc2UgJ29mZnNldG9m IChzdHJ1Y3QgcywgZCknCi0gICBpbnN0ZWFkLiBEb24ndCB1c2UgJ29mZnNldG9mIChzdHJ1 Y3QgcywgZFswXSknLCBhcyB0aGlzIGRvZXNuJ3Qgd29yayB3aXRoCi0gICBNU1ZDIGFuZCB3 aXRoIEMrKyBjb21waWxlcnMuICovCi0jZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01FTUJFUgot Ci0vKiBEZWZpbmUgdG8gMSBpZiBnZXR0aW1lb2ZkYXkoKSB0YWtlcyBvbmx5IDEgYXJndW1l bnQuICovCi0vKiAjdW5kZWYgR0VUVElNRU9GREFZXzFBUkcgKi8KLQotI2lmZGVmIEdFVFRJ TUVPRkRBWV8xQVJHCi0jIGRlZmluZSBnZXR0aW1lb2ZkYXkoYSxiKSBnZXR0aW1lb2ZkYXko YSkKLSNlbmRpZgotCi0vKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYEFTTjFfU1RS SU5HX2dldDBfZGF0YScgZnVuY3Rpb24uICovCi0vKiAjdW5kZWYgSEFWRV9BU04xX1NUUklO R19HRVQwX0RBVEEgKi8KLQotLyogRGVmaW5lIHRvIDEgaWYgeW91IHdhbnQgdG8gdXNlIGF0 b21pY3MgaWYgYXZhaWxhYmxlLiAqLwotI2RlZmluZSBIQVZFX0FUT01JQ1MgMQotCi0vKiBE ZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYEJJT19nZXRfZGF0YScgZnVuY3Rpb24uICov Ci0vKiAjdW5kZWYgSEFWRV9CSU9fR0VUX0RBVEEgKi8KLQotLyogRGVmaW5lIHRvIDEgaWYg eW91IGhhdmUgdGhlIGBCSU9fbWV0aF9uZXcnIGZ1bmN0aW9uLiAqLwotLyogI3VuZGVmIEhB VkVfQklPX01FVEhfTkVXICovCi0KLS8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBg Y2JydCcgZnVuY3Rpb24uICovCi0vLyNkZWZpbmUgSEFWRV9DQlJUIDEKLQotLyogRGVmaW5l IHRvIDEgaWYgeW91IGhhdmUgdGhlIGBjbGFzcycgZnVuY3Rpb24uICovCi0vKiAjdW5kZWYg SEFWRV9DTEFTUyAqLwotCi0vKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGNsb2Nr X2dldHRpbWUnIGZ1bmN0aW9uLiAqLwotLyogI3VuZGVmIEhBVkVfQ0xPQ0tfR0VUVElNRSAq LwotCi0vKiBEZWZpbmUgdG8gMSBpZiB5b3VyIGNvbXBpbGVyIGhhbmRsZXMgY29tcHV0ZWQg Z290b3MuICovCi0vKiAjdW5kZWYgSEFWRV9DT01QVVRFRF9HT1RPICovCi0KLS8qIERlZmlu ZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBkZWNsYXJhdGlvbiBvZiBgZmRhdGFzeW5jJywgYW5k IHRvIDAgaWYgeW91Ci0gICBkb24ndC4gKi8KLSNkZWZpbmUgSEFWRV9ERUNMX0ZEQVRBU1lO QyAwCi0KLS8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBkZWNsYXJhdGlvbiBvZiBg Rl9GVUxMRlNZTkMnLCBhbmQgdG8gMCBpZiB5b3UKLSAgIGRvbid0LiAqLwotI2RlZmluZSBI QVZFX0RFQ0xfRl9GVUxMRlNZTkMgMAotCi0vKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0 aGUgZGVjbGFyYXRpb24gb2YKLSAgIGBMTFZNQ3JlYXRlR0RCUmVnaXN0cmF0aW9uTGlzdGVu ZXInLCBhbmQgdG8gMCBpZiB5b3UgZG9uJ3QuICovCi0jdW5kZWYgSEFWRV9ERUNMX0xMVk1D UkVBVEVHREJSRUdJU1RSQVRJT05MSVNURU5FUgotCi0vKiBEZWZpbmUgdG8gMSBpZiB5b3Ug aGF2ZSB0aGUgZGVjbGFyYXRpb24gb2YKLSAgIGBMTFZNQ3JlYXRlUGVyZkpJVEV2ZW50TGlz dGVuZXInLCBhbmQgdG8gMCBpZiB5b3UgZG9uJ3QuICovCi0jdW5kZWYgSEFWRV9ERUNMX0xM Vk1DUkVBVEVQRVJGSklURVZFTlRMSVNURU5FUgotCi0vKiBEZWZpbmUgdG8gMSBpZiB5b3Ug aGF2ZSB0aGUgZGVjbGFyYXRpb24gb2YgYExMVk1HZXRIb3N0Q1BVRmVhdHVyZXMnLCBhbmQg dG8KLSAgIDAgaWYgeW91IGRvbid0LiAqLwotI2RlZmluZSBIQVZFX0RFQ0xfTExWTUdFVEhP U1RDUFVGRUFUVVJFUyAwCi0KLS8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBkZWNs YXJhdGlvbiBvZiBgTExWTUdldEhvc3RDUFVOYW1lJywgYW5kIHRvIDAKLSAgIGlmIHlvdSBk b24ndC4gKi8KLSNkZWZpbmUgSEFWRV9ERUNMX0xMVk1HRVRIT1NUQ1BVTkFNRSAwCi0KLS8q IERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBkZWNsYXJhdGlvbiBvZiBgTExWTU9yY0dl dFN5bWJvbEFkZHJlc3NJbicsIGFuZAotICAgdG8gMCBpZiB5b3UgZG9uJ3QuICovCi0jZGVm aW5lIEhBVkVfREVDTF9MTFZNT1JDR0VUU1lNQk9MQUREUkVTU0lOIDAKLQotLyogRGVmaW5l IHRvIDEgaWYgeW91IGhhdmUgdGhlIGRlY2xhcmF0aW9uIG9mIGBSVExEX0dMT0JBTCcsIGFu ZCB0byAwIGlmIHlvdQotICAgZG9uJ3QuICovCi0jZGVmaW5lIEhBVkVfREVDTF9SVExEX0dM T0JBTCAwCi0KLS8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBkZWNsYXJhdGlvbiBv ZiBgUlRMRF9OT1cnLCBhbmQgdG8gMCBpZiB5b3UKLSAgIGRvbid0LiAqLwotI2RlZmluZSBI QVZFX0RFQ0xfUlRMRF9OT1cgMAotCi0vKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUg ZGVjbGFyYXRpb24gb2YgYHN0cm5sZW4nLCBhbmQgdG8gMCBpZiB5b3UKLSAgIGRvbid0LiAq LwotI2RlZmluZSBIQVZFX0RFQ0xfU1RSTkxFTiAxCi0KLS8qIERlZmluZSB0byAxIGlmIHlv dSBoYXZlIHRoZSBkZWNsYXJhdGlvbiBvZiBgc3RydG9sbCcsIGFuZCB0byAwIGlmIHlvdQot ICAgZG9uJ3QuICovCi0jZGVmaW5lIEhBVkVfREVDTF9TVFJUT0xMIDEKLQotLyogRGVmaW5l IHRvIDEgaWYgeW91IGhhdmUgdGhlIGRlY2xhcmF0aW9uIG9mIGBzdHJ0b3VsbCcsIGFuZCB0 byAwIGlmIHlvdQotICAgZG9uJ3QuICovCi0jZGVmaW5lIEhBVkVfREVDTF9TVFJUT1VMTCAx Ci0KLS8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZGxvcGVuJyBmdW5jdGlvbi4g Ki8KLS8qICN1bmRlZiBIQVZFX0RMT1BFTiAqLwotCi0vKiBEZWZpbmUgdG8gMSBpZiB5b3Ug aGF2ZSB0aGUgPGVkaXRsaW5lL2hpc3RvcnkuaD4gaGVhZGVyIGZpbGUuICovCi0vKiAjdW5k ZWYgSEFWRV9FRElUTElORV9ISVNUT1JZX0ggKi8KLQotLyogRGVmaW5lIHRvIDEgaWYgeW91 IGhhdmUgdGhlIDxlZGl0bGluZS9yZWFkbGluZS5oPiBoZWFkZXIgZmlsZS4gKi8KLS8qICN1 bmRlZiBIQVZFX0VESVRMSU5FX1JFQURMSU5FX0ggKi8KLQotLyogRGVmaW5lIHRvIDEgaWYg eW91IGhhdmUgdGhlIGBleHBsaWNpdF9iemVybycgZnVuY3Rpb24uICovCi0vKiAjdW5kZWYg SEFWRV9FWFBMSUNJVF9CWkVSTyAqLwotCi0vKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0 aGUgYGZkYXRhc3luYycgZnVuY3Rpb24uICovCi0vKiAjdW5kZWYgSEFWRV9GREFUQVNZTkMg Ki8KLQotLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBmcGNsYXNzJyBmdW5jdGlv bi4gKi8KLS8qICN1bmRlZiBIQVZFX0ZQQ0xBU1MgKi8KLQotLyogRGVmaW5lIHRvIDEgaWYg eW91IGhhdmUgdGhlIGBmcF9jbGFzcycgZnVuY3Rpb24uICovCi0vKiAjdW5kZWYgSEFWRV9G UF9DTEFTUyAqLwotCi0vKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGZwX2NsYXNz X2QnIGZ1bmN0aW9uLiAqLwotLyogI3VuZGVmIEhBVkVfRlBfQ0xBU1NfRCAqLwotCi0vKiBE ZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGZwX2NsYXNzLmg+IGhlYWRlciBmaWxlLiAq LwotLyogI3VuZGVmIEhBVkVfRlBfQ0xBU1NfSCAqLwotCi0vKiBEZWZpbmUgdG8gMSBpZiBm c2Vla28gKGFuZCBwcmVzdW1hYmx5IGZ0ZWxsbykgZXhpc3RzIGFuZCBpcyBkZWNsYXJlZC4g Ki8KLSNkZWZpbmUgSEFWRV9GU0VFS08gMQotCi0vKiBEZWZpbmUgdG8gMSBpZiB5b3VyIGNv bXBpbGVyIHVuZGVyc3RhbmRzIF9fZnVuY19fLiAqLwotLy8jZGVmaW5lIEhBVkVfRlVOQ05B TUVfX0ZVTkMgMQotCi0vKiBEZWZpbmUgdG8gMSBpZiB5b3VyIGNvbXBpbGVyIHVuZGVyc3Rh bmRzIF9fRlVOQ1RJT05fXy4gKi8KLSNkZWZpbmUgSEFWRV9GVU5DTkFNRV9fRlVOQ1RJT04g MQotCi0vKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGdldGFkZHJpbmZvJyBmdW5j dGlvbi4gKi8KLS8qICN1bmRlZiBIQVZFX0dFVEFERFJJTkZPICovCi0KLS8qIERlZmluZSB0 byAxIGlmIHlvdSBoYXZlIHRoZSBgZ2V0aG9zdGJ5bmFtZV9yJyBmdW5jdGlvbi4gKi8KLS8q ICN1bmRlZiBIQVZFX0dFVEhPU1RCWU5BTUVfUiAqLwotCi0vKiBEZWZpbmUgdG8gMSBpZiB5 b3UgaGF2ZSB0aGUgYGdldG9wdCcgZnVuY3Rpb24uICovCi0vLyNkZWZpbmUgSEFWRV9HRVRP UFQgMQotCi0vKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGdldG9wdC5oPiBoZWFk ZXIgZmlsZS4gKi8KLS8vI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKLQotLyogRGVmaW5lIHRv IDEgaWYgeW91IGhhdmUgdGhlIGBnZXRvcHRfbG9uZycgZnVuY3Rpb24uICovCi0vLyNkZWZp bmUgSEFWRV9HRVRPUFRfTE9ORyAxCi0KLS8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRo ZSBgZ2V0cGVlcmVpZCcgZnVuY3Rpb24uICovCi0vKiAjdW5kZWYgSEFWRV9HRVRQRUVSRUlE ICovCi0KLS8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZ2V0cHd1aWRfcicgZnVu Y3Rpb24uICovCi0vKiAjdW5kZWYgSEFWRV9HRVRQV1VJRF9SICovCi0KLS8qIERlZmluZSB0 byAxIGlmIHlvdSBoYXZlIHRoZSBgZ2V0cnVzYWdlJyBmdW5jdGlvbi4gKi8KLS8qICN1bmRl ZiBIQVZFX0dFVFJVU0FHRSAqLwotCi0vKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUg PGhpc3RvcnkuaD4gaGVhZGVyIGZpbGUuICovCi0vKiAjdW5kZWYgSEFWRV9ISVNUT1JZX0gg Ki8KLQotLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxpZWVlZnAuaD4gaGVhZGVy IGZpbGUuICovCi0vKiAjdW5kZWYgSEFWRV9JRUVFRlBfSCAqLwotCi0vKiBEZWZpbmUgdG8g MSBpZiB5b3UgaGF2ZSB0aGUgYGluZXRfYXRvbicgZnVuY3Rpb24uICovCi0vKiAjdW5kZWYg SEFWRV9JTkVUX0FUT04gKi8KLQotLyogRGVmaW5lIHRvIDEgaWYgdGhlIHN5c3RlbSBoYXMg dGhlIHR5cGUgYGludDY0Jy4gKi8KLS8qICN1bmRlZiBIQVZFX0lOVDY0ICovCi0KLS8qIERl ZmluZSB0byAxIGlmIHRoZSBzeXN0ZW0gaGFzIHRoZSB0eXBlIGBpbnQ4Jy4gKi8KLS8qICN1 bmRlZiBIQVZFX0lOVDggKi8KLQotLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxp bnR0eXBlcy5oPiBoZWFkZXIgZmlsZS4gKi8KLS8vI2RlZmluZSBIQVZFX0lOVFRZUEVTX0gg MQotCi0vKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgZ2xvYmFsIHZhcmlhYmxlICdp bnQgdGltZXpvbmUnLiAqLwotI2RlZmluZSBIQVZFX0lOVF9USU1FWk9ORSAxCi0KLS8qIERl ZmluZSB0byAxIGlmIHlvdSBoYXZlIHN1cHBvcnQgZm9yIElQdjYuICovCi0jZGVmaW5lIEhB VkVfSVBWNiAxCi0KLS8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIGlzaW5mKCkuICovCi0j ZGVmaW5lIEhBVkVfSVNJTkYgMQotCi0vKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUg PGxhbmdpbmZvLmg+IGhlYWRlciBmaWxlLiAqLwotLyogI3VuZGVmIEhBVkVfTEFOR0lORk9f SCAqLwotCi0vKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGxkYXAuaD4gaGVhZGVy IGZpbGUuICovCi0vKiAjdW5kZWYgSEFWRV9MREFQX0ggKi8KLQotLyogRGVmaW5lIHRvIDEg aWYgeW91IGhhdmUgdGhlIGBsZGFwX2luaXRpYWxpemUnIGZ1bmN0aW9uLiAqLwotLyogI3Vu ZGVmIEhBVkVfTERBUF9JTklUSUFMSVpFICovCi0KLS8qIERlZmluZSB0byAxIGlmIHlvdSBo YXZlIHRoZSBgY3J5cHRvJyBsaWJyYXJ5ICgtbGNyeXB0bykuICovCi0vKiAjdW5kZWYgSEFW RV9MSUJDUllQVE8gKi8KLQotLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBsZGFw JyBsaWJyYXJ5ICgtbGxkYXApLiAqLwotLyogI3VuZGVmIEhBVkVfTElCTERBUCAqLwotCi0v KiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHBhbScgbGlicmFyeSAoLWxwYW0pLiAq LwotLyogI3VuZGVmIEhBVkVfTElCUEFNICovCi0KLS8qIERlZmluZSBpZiB5b3UgaGF2ZSBh IGZ1bmN0aW9uIHJlYWRsaW5lIGxpYnJhcnkgKi8KLS8qICN1bmRlZiBIQVZFX0xJQlJFQURM SU5FICovCi0KLS8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgc3NsJyBsaWJyYXJ5 ICgtbHNzbCkuICovCi0vKiAjdW5kZWYgSEFWRV9MSUJTU0wgKi8KLQotLyogRGVmaW5lIHRv IDEgaWYgeW91IGhhdmUgdGhlIGB3bGRhcDMyJyBsaWJyYXJ5ICgtbHdsZGFwMzIpLiAqLwot LyogI3VuZGVmIEhBVkVfTElCV0xEQVAzMiAqLwotCi0vKiBEZWZpbmUgdG8gMSBpZiB5b3Ug aGF2ZSB0aGUgYHonIGxpYnJhcnkgKC1seikuICovCi0vKiAjdW5kZWYgSEFWRV9MSUJaICov Ci0KLS8qIERlZmluZSB0byAxIGlmIHRoZSBzeXN0ZW0gaGFzIHRoZSB0eXBlIGBsb2NhbGVf dCcuICovCi0jZGVmaW5lIEhBVkVfTE9DQUxFX1QgMQotCi0vKiBEZWZpbmUgdG8gMSBpZiBg bG9uZyBpbnQnIHdvcmtzIGFuZCBpcyA2NCBiaXRzLiAqLwotLyogI3VuZGVmIEhBVkVfTE9O R19JTlRfNjQgKi8KLQotLyogRGVmaW5lIHRvIDEgaWYgYGxvbmcgbG9uZyBpbnQnIHdvcmtz IGFuZCBpcyA2NCBiaXRzLiAqLwotI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlRfNjQgMQot Ci0vKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYG1ic3Rvd2NzX2wnIGZ1bmN0aW9u LiAqLwotI2RlZmluZSBIQVZFX01CU1RPV0NTX0wgMQotCi0vKiBEZWZpbmUgdG8gMSBpZiB5 b3UgaGF2ZSB0aGUgYG1lbW1vdmUnIGZ1bmN0aW9uLiAqLwotI2RlZmluZSBIQVZFX01FTU1P VkUgMQotCi0vKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPG1lbW9yeS5oPiBoZWFk ZXIgZmlsZS4gKi8KLSNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCi0KLS8qIERlZmluZSB0byAx IGlmIHlvdSBoYXZlIHRoZSBgbWVtc2V0X3MnIGZ1bmN0aW9uLiAqLwotLyogI3VuZGVmIEhB VkVfTUVNU0VUX1MgKi8KLQotLyogRGVmaW5lIHRvIDEgaWYgdGhlIHN5c3RlbSBoYXMgdGhl IHR5cGUgYE1JTklEVU1QX1RZUEUnLiAqLwotI2RlZmluZSBIQVZFX01JTklEVU1QX1RZUEUg MQotCi0vKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYG1rZHRlbXAnIGZ1bmN0aW9u LiAqLwotLyogI3VuZGVmIEhBVkVfTUtEVEVNUCAqLwotCi0vKiBEZWZpbmUgdG8gMSBpZiB5 b3UgaGF2ZSB0aGUgPG5ldGluZXQvdGNwLmg+IGhlYWRlciBmaWxlLiAqLwotLyogI3VuZGVm IEhBVkVfTkVUSU5FVF9UQ1BfSCAqLwotCi0vKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0 aGUgYE9QRU5TU0xfaW5pdF9zc2wnIGZ1bmN0aW9uLiAqLwotLyogI3VuZGVmIEhBVkVfT1BF TlNTTF9JTklUX1NTTCAqLwotCi0vKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHBh bS9wYW1fYXBwbC5oPiBoZWFkZXIgZmlsZS4gKi8KLS8qICN1bmRlZiBIQVZFX1BBTV9QQU1f QVBQTF9IICovCi0KLS8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgcG9sbCcgZnVu Y3Rpb24uICovCi0vKiAjdW5kZWYgSEFWRV9QT0xMICovCi0KLS8qIERlZmluZSB0byAxIGlm IHlvdSBoYXZlIHRoZSA8cG9sbC5oPiBoZWFkZXIgZmlsZS4gKi8KLS8qICN1bmRlZiBIQVZF X1BPTExfSCAqLwotCi0vKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHBvc2l4X2Zh bGxvY2F0ZScgZnVuY3Rpb24uICovCi0vKiAjdW5kZWYgSEFWRV9QT1NJWF9GQUxMT0NBVEUg Ki8KLQotLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBwcG9sbCcgZnVuY3Rpb24u ICovCi0vKiAjdW5kZWYgSEFWRV9QUE9MTCAqLwotCi0vKiBEZWZpbmUgdG8gMSBpZiB5b3Ug aGF2ZSB0aGUgYHByZWFkJyBmdW5jdGlvbi4gKi8KLS8qICN1bmRlZiBIQVZFX1BSRUFEICov Ci0KLS8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgcHN0YXQnIGZ1bmN0aW9uLiAq LwotLyogI3VuZGVmIEhBVkVfUFNUQVQgKi8KLQotLyogRGVmaW5lIHRvIDEgaWYgdGhlIFBT X1NUUklOR1MgdGhpbmcgZXhpc3RzLiAqLwotLyogI3VuZGVmIEhBVkVfUFNfU1RSSU5HUyAq LwotCi0vKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHB3cml0ZScgZnVuY3Rpb24u ICovCi0vKiAjdW5kZWYgSEFWRV9QV1JJVEUgKi8KLQotLyogRGVmaW5lIHRvIDEgaWYgeW91 IGhhdmUgdGhlIGByYW5kb20nIGZ1bmN0aW9uLiAqLwotLyogI3VuZGVmIEhBVkVfUkFORE9N ICovCi0KLS8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8cmVhZGxpbmUuaD4gaGVh ZGVyIGZpbGUuICovCi0vKiAjdW5kZWYgSEFWRV9SRUFETElORV9IICovCi0KLS8qIERlZmlu ZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8cmVhZGxpbmUvaGlzdG9yeS5oPiBoZWFkZXIgZmls ZS4gKi8KLS8qICN1bmRlZiBIQVZFX1JFQURMSU5FX0hJU1RPUllfSCAqLwotCi0vKiBEZWZp bmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHJlYWRsaW5lL3JlYWRsaW5lLmg+IGhlYWRlciBm aWxlLiAqLwotLyogI3VuZGVmIEhBVkVfUkVBRExJTkVfUkVBRExJTkVfSCAqLwotCi0vKiBE ZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHJlYWRsaW5rJyBmdW5jdGlvbi4gKi8KLS8q ICN1bmRlZiBIQVZFX1JFQURMSU5LICovCi0KLS8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZl IHRoZSBgcmludCcgZnVuY3Rpb24uICovCi0jZGVmaW5lIEhBVkVfUklOVCAxCi0KLS8qIERl ZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBnbG9iYWwgdmFyaWFibGUKLSAgICdybF9jb21w bGV0aW9uX2FwcGVuZF9jaGFyYWN0ZXInLiAqLwotLyogI3VuZGVmIEhBVkVfUkxfQ09NUExF VElPTl9BUFBFTkRfQ0hBUkFDVEVSICovCi0KLS8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZl IHRoZSBgcmxfY29tcGxldGlvbl9tYXRjaGVzJyBmdW5jdGlvbi4gKi8KLS8qICN1bmRlZiBI QVZFX1JMX0NPTVBMRVRJT05fTUFUQ0hFUyAqLwotCi0vKiBEZWZpbmUgdG8gMSBpZiB5b3Ug aGF2ZSB0aGUgYHJsX2ZpbGVuYW1lX2NvbXBsZXRpb25fZnVuY3Rpb24nIGZ1bmN0aW9uLiAq LwotLyogI3VuZGVmIEhBVkVfUkxfRklMRU5BTUVfQ09NUExFVElPTl9GVU5DVElPTiAqLwot Ci0vKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHNlY3VyaXR5L3BhbV9hcHBsLmg+ IGhlYWRlciBmaWxlLiAqLwotLyogI3VuZGVmIEhBVkVfU0VDVVJJVFlfUEFNX0FQUExfSCAq LwotCi0vKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHNldHByb2N0aXRsZScgZnVu Y3Rpb24uICovCi0vKiAjdW5kZWYgSEFWRV9TRVRQUk9DVElUTEUgKi8KLQotLyogRGVmaW5l IHRvIDEgaWYgeW91IGhhdmUgdGhlIGBzZXRzaWQnIGZ1bmN0aW9uLiAqLwotLyogI3VuZGVm IEhBVkVfU0VUU0lEICovCi0KLS8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHNwaW5sb2Nr cy4gKi8KLSNkZWZpbmUgSEFWRV9TUElOTE9DS1MgMQotCi0vKiBEZWZpbmUgdG8gMSBpZiB5 b3UgaGF2ZSB0aGUgYHNyYW5kb20nIGZ1bmN0aW9uLiAqLwotLyogI3VuZGVmIEhBVkVfU1JB TkRPTSAqLwotCi0vKiBEZWZpbmUgdG8gMSBpZiBzdGRib29sLmggY29uZm9ybXMgdG8gQzk5 LiAqLwotI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCi0KLS8qIERlZmluZSB0byAxIGlmIHlv dSBoYXZlIHRoZSA8c3RkaW50Lmg+IGhlYWRlciBmaWxlLiAqLwotLyogI3VuZGVmIEhBVkVf U1RESU5UX0ggKi8KLQotLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzdGRsaWIu aD4gaGVhZGVyIGZpbGUuICovCi0jZGVmaW5lIEhBVkVfU1RETElCX0ggMQotCi0vKiBEZWZp bmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHN0cmNocm51bCcgZnVuY3Rpb24uICovCi0vKiAj dW5kZWYgSEFWRV9TVFJDSFJOVUwgKi8KLQotLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUg dGhlIGBzdHJlcnJvcl9yJyBmdW5jdGlvbi4gKi8KLS8qICN1bmRlZiBIQVZFX1NUUkVSUk9S X1IgKi8KLQotLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzdHJpbmdzLmg+IGhl YWRlciBmaWxlLiAqLwotLyojZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEgKi8KLQotLyogRGVm aW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzdHJpbmcuaD4gaGVhZGVyIGZpbGUuICovCi0j ZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQotCi0vKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0 aGUgYHN0cm5sZW4nIGZ1bmN0aW9uLiAqLwotI2RlZmluZSBIQVZFX1NUUk5MRU4gMQotCi0v KiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHN0cnNpZ25hbCcgZnVuY3Rpb24uICov Ci0vKiAjdW5kZWYgSEFWRV9TVFJTSUdOQUwgKi8KLQotLyogRGVmaW5lIHRvIDEgaWYgeW91 IGhhdmUgdGhlIGBzdHJ0b2YnIGZ1bmN0aW9uLiAqLwotI2RlZmluZSBIQVZFX1NUUlRPRiAx Ci0KLS8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgc3RydG9sbCcgZnVuY3Rpb24u ICovCi0jaWZkZWYgSEFWRV9MT05HX0xPTkdfSU5UXzY0Ci0jZGVmaW5lIEhBVkVfU1RSVE9M TCAxCi0jZW5kaWYKLQotLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBzdHJ0b3Vs bCcgZnVuY3Rpb24uICovCi0jaWZkZWYgSEFWRV9MT05HX0xPTkdfSU5UXzY0Ci0jZGVmaW5l IEhBVkVfU1RSVE9VTEwgMQotI2VuZGlmCi0KLS8qIERlZmluZSB0byAxIGlmIHRoZSBzeXN0 ZW0gaGFzIHRoZSB0eXBlIGBzdHJ1Y3QgYWRkcmluZm8nLiAqLwotI2RlZmluZSBIQVZFX1NU UlVDVF9BRERSSU5GTyAxCi0KLS8qIERlZmluZSB0byAxIGlmIHRoZSBzeXN0ZW0gaGFzIHRo ZSB0eXBlIGBzdHJ1Y3QgY21zZ2NyZWQnLiAqLwotLyogI3VuZGVmIEhBVkVfU1RSVUNUX0NN U0dDUkVEICovCi0KLS8qIERlZmluZSB0byAxIGlmIHRoZSBzeXN0ZW0gaGFzIHRoZSB0eXBl IGBzdHJ1Y3Qgb3B0aW9uJy4gKi8KLS8vI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQot Ci0vKiBEZWZpbmUgdG8gMSBpZiBgc2FfbGVuJyBpcyBhIG1lbWJlciBvZiBgc3RydWN0IHNv Y2thZGRyJy4gKi8KLS8qICN1bmRlZiBIQVZFX1NUUlVDVF9TT0NLQUREUl9TQV9MRU4gKi8K LQotLyogRGVmaW5lIHRvIDEgaWYgdGhlIHN5c3RlbSBoYXMgdGhlIHR5cGUgYHN0cnVjdCBz b2NrYWRkcl9zdG9yYWdlJy4gKi8KLSNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RP UkFHRSAxCi0KLS8qIERlZmluZSB0byAxIGlmIGBzc19mYW1pbHknIGlzIGEgbWVtYmVyIG9m IGBzdHJ1Y3Qgc29ja2FkZHJfc3RvcmFnZScuICovCi0jZGVmaW5lIEhBVkVfU1RSVUNUX1NP Q0tBRERSX1NUT1JBR0VfU1NfRkFNSUxZIDEKLQotLyogRGVmaW5lIHRvIDEgaWYgYHNzX2xl bicgaXMgYSBtZW1iZXIgb2YgYHN0cnVjdCBzb2NrYWRkcl9zdG9yYWdlJy4gKi8KLS8qICN1 bmRlZiBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFX1NTX0xFTiAqLwotCi0vKiBEZWZp bmUgdG8gMSBpZiBgX19zc19mYW1pbHknIGlzIGEgbWVtYmVyIG9mIGBzdHJ1Y3Qgc29ja2Fk ZHJfc3RvcmFnZScuICovCi0vKiAjdW5kZWYgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFH RV9fX1NTX0ZBTUlMWSAqLwotCi0vKiBEZWZpbmUgdG8gMSBpZiBgX19zc19sZW4nIGlzIGEg bWVtYmVyIG9mIGBzdHJ1Y3Qgc29ja2FkZHJfc3RvcmFnZScuICovCi0vKiAjdW5kZWYgSEFW RV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRV9fX1NTX0xFTiAqLwotCi0vKiBEZWZpbmUgdG8g MSBpZiBgdG1fem9uZScgaXMgYSBtZW1iZXIgb2YgYHN0cnVjdCB0bScuICovCi0vKiAjdW5k ZWYgSEFWRV9TVFJVQ1RfVE1fVE1fWk9ORSAqLwotCi0vKiBEZWZpbmUgdG8gMSBpZiB5b3Ug aGF2ZSB0aGUgYHN5bWxpbmsnIGZ1bmN0aW9uLiAqLwotI2RlZmluZSBIQVZFX1NZTUxJTksg MQotCi0vKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHN5bmNfZmlsZV9yYW5nZScg ZnVuY3Rpb24uICovCi0vKiAjdW5kZWYgSEFWRV9TWU5DX0ZJTEVfUkFOR0UgKi8KLQotLyog RGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIHN5c2xvZyBpbnRlcmZhY2UuICovCi0vKiAj dW5kZWYgSEFWRV9TWVNMT0cgKi8KLQotLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhl IDxzeXMvaXBjLmg+IGhlYWRlciBmaWxlLiAqLwotLyogI3VuZGVmIEhBVkVfU1lTX0lQQ19I ICovCi0KLS8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL3ByY3RsLmg+IGhl YWRlciBmaWxlLiAqLwotLyogI3VuZGVmIEhBVkVfU1lTX1BSQ1RMX0ggKi8KLQotLyogRGVm aW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzeXMvcHN0YXQuaD4gaGVhZGVyIGZpbGUuICov Ci0vKiAjdW5kZWYgSEFWRV9TWVNfUFNUQVRfSCAqLwotCi0vKiBEZWZpbmUgdG8gMSBpZiB5 b3UgaGF2ZSB0aGUgPHN5cy9zZWxlY3QuaD4gaGVhZGVyIGZpbGUuICovCi0vKiAjdW5kZWYg SEFWRV9TWVNfU0VMRUNUX0ggKi8KLQotLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhl IDxzeXMvc2VtLmg+IGhlYWRlciBmaWxlLiAqLwotLyogI3VuZGVmIEhBVkVfU1lTX1NFTV9I ICovCi0KLS8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL3NobS5oPiBoZWFk ZXIgZmlsZS4gKi8KLS8qICN1bmRlZiBIQVZFX1NZU19TSE1fSCAqLwotCi0vKiBEZWZpbmUg dG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy9zdGF0Lmg+IGhlYWRlciBmaWxlLiAqLwotI2Rl ZmluZSBIQVZFX1NZU19TVEFUX0ggMQotCi0vKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0 aGUgPHN5cy90eXBlcy5oPiBoZWFkZXIgZmlsZS4gKi8KLSNkZWZpbmUgSEFWRV9TWVNfVFlQ RVNfSCAxCi0KLS8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL3VjcmVkLmg+ IGhlYWRlciBmaWxlLiAqLwotLyogI3VuZGVmIEhBVkVfU1lTX1VDUkVEX0ggKi8KLQotLyog RGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzeXMvdW4uaD4gaGVhZGVyIGZpbGUuICov Ci0vKiAjdW5kZWYgSEFWRV9TWVNfVU5fSCAqLwotCi0vKiBEZWZpbmUgdG8gMSBpZiB5b3Ug aGF2ZSB0aGUgPHRlcm1pb3MuaD4gaGVhZGVyIGZpbGUuICovCi0vKiAjdW5kZWYgSEFWRV9U RVJNSU9TX0ggKi8KLQotLyogRGVmaW5lIHRvIDEgaWYgeW91ciBjb21waWxlciB1bmRlcnN0 YW5kcyBgdHlwZW9mJyBvciBzb21ldGhpbmcgc2ltaWxhci4gKi8KLS8qICN1bmRlZiBIQVZF X1RZUEVPRiAqLwotCi0vKiBEZWZpbmUgdG8gMSBpZiB0aGUgc3lzdGVtIGhhcyB0aGUgdHlw ZSBgdWludDY0Jy4gKi8KLS8qICN1bmRlZiBIQVZFX1VJTlQ2NCAqLwotCi0vKiBEZWZpbmUg dG8gMSBpZiB0aGUgc3lzdGVtIGhhcyB0aGUgdHlwZSBgdWludDgnLiAqLwotLyogI3VuZGVm IEhBVkVfVUlOVDggKi8KLQotLyogRGVmaW5lIHRvIDEgaWYgdGhlIHN5c3RlbSBoYXMgdGhl IHR5cGUgYHVuaW9uIHNlbXVuJy4gKi8KLS8qICN1bmRlZiBIQVZFX1VOSU9OX1NFTVVOICov Ci0KLS8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8dW5pc3RkLmg+IGhlYWRlciBm aWxlLiAqLwotI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKLQotLyogRGVmaW5lIHRvIDEgaWYg eW91IGhhdmUgdW5peCBzb2NrZXRzLiAqLwotLyogI3VuZGVmIEhBVkVfVU5JWF9TT0NLRVRT ICovCi0KLS8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgdW5zZXRlbnYnIGZ1bmN0 aW9uLiAqLwotLyogI3VuZGVmIEhBVkVfVU5TRVRFTlYgKi8KLQotLyogRGVmaW5lIHRvIDEg aWYgeW91IGhhdmUgdGhlIGB1c2Vsb2NhbGUnIGZ1bmN0aW9uLiAqLwotLyogI3VuZGVmIEhB VkVfVVNFTE9DQUxFICovCi0KLS8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgdXRp bWUnIGZ1bmN0aW9uLiAqLwotI2RlZmluZSBIQVZFX1VUSU1FIDEKLQotLyogRGVmaW5lIHRv IDEgaWYgeW91IGhhdmUgdGhlIGB1dGltZXMnIGZ1bmN0aW9uLiAqLwotLyogI3VuZGVmIEhB VkVfVVRJTUVTICovCi0KLS8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8dXRpbWUu aD4gaGVhZGVyIGZpbGUuICovCi0jZGVmaW5lIEhBVkVfVVRJTUVfSCAxCi0KLS8qIERlZmlu ZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8d2NoYXIuaD4gaGVhZGVyIGZpbGUuICovCi0jZGVm aW5lIEhBVkVfV0NIQVJfSCAxCi0KLS8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBg d2NzdG9tYnNfbCcgZnVuY3Rpb24uICovCi0jZGVmaW5lIEhBVkVfV0NTVE9NQlNfTCAxCi0K LS8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8d2N0eXBlLmg+IGhlYWRlciBmaWxl LiAqLwotI2RlZmluZSBIQVZFX1dDVFlQRV9IIDEKLQotLyogRGVmaW5lIHRvIDEgaWYgeW91 IGhhdmUgdGhlIDx3aW5sZGFwLmg+IGhlYWRlciBmaWxlLiAqLwotLyogI3VuZGVmIEhBVkVf V0lOTERBUF9IICovCi0KLS8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgWDUwOV9n ZXRfc2lnbmF0dXJlX25pZCcgZnVuY3Rpb24uICovCi0jZGVmaW5lIEhBVkVfWDUwOV9HRVRf U0lHTkFUVVJFX05JRCAxCi0KLS8qIERlZmluZSB0byAxIGlmIHRoZSBhc3NlbWJsZXIgc3Vw cG9ydHMgWDg2XzY0J3MgUE9QQ05UUSBpbnN0cnVjdGlvbi4gKi8KLS8qICN1bmRlZiBIQVZF X1g4Nl82NF9QT1BDTlRRICovCi0KLS8qIERlZmluZSB0byAxIGlmIHRoZSBzeXN0ZW0gaGFz IHRoZSB0eXBlIGBfQm9vbCcuICovCi0vKiAjdW5kZWYgSEFWRV9fQk9PTCAqLwotCi0vKiBE ZWZpbmUgdG8gMSBpZiB5b3VyIGNvbXBpbGVyIHVuZGVyc3RhbmRzIF9fYnVpbHRpbl9ic3dh cDE2LiAqLwotLyogI3VuZGVmIEhBVkVfX0JVSUxUSU5fQlNXQVAxNiAqLwotCi0vKiBEZWZp bmUgdG8gMSBpZiB5b3VyIGNvbXBpbGVyIHVuZGVyc3RhbmRzIF9fYnVpbHRpbl9ic3dhcDMy LiAqLwotLyogI3VuZGVmIEhBVkVfX0JVSUxUSU5fQlNXQVAzMiAqLwotCi0vKiBEZWZpbmUg dG8gMSBpZiB5b3VyIGNvbXBpbGVyIHVuZGVyc3RhbmRzIF9fYnVpbHRpbl9ic3dhcDY0LiAq LwotLyogI3VuZGVmIEhBVkVfX0JVSUxUSU5fQlNXQVA2NCAqLwotCi0vKiBEZWZpbmUgdG8g MSBpZiB5b3VyIGNvbXBpbGVyIHVuZGVyc3RhbmRzIF9fYnVpbHRpbl9jbHouICovCi0vKiAj dW5kZWYgSEFWRV9fQlVJTFRJTl9DTFogKi8KLQotLyogRGVmaW5lIHRvIDEgaWYgeW91ciBj b21waWxlciB1bmRlcnN0YW5kcyBfX2J1aWx0aW5fY29uc3RhbnRfcC4gKi8KLS8qICN1bmRl ZiBIQVZFX19CVUlMVElOX0NPTlNUQU5UX1AgKi8KLQotLyogRGVmaW5lIHRvIDEgaWYgeW91 ciBjb21waWxlciB1bmRlcnN0YW5kcyBfX2J1aWx0aW5fY3R6LiAqLwotLyogI3VuZGVmIEhB VkVfX0JVSUxUSU5fQ1RaICovCi0KLS8qIERlZmluZSB0byAxIGlmIHlvdXIgY29tcGlsZXIg dW5kZXJzdGFuZHMgX19idWlsdGluXyRvcF9vdmVyZmxvdy4gKi8KLS8qICN1bmRlZiBIQVZF X19CVUlMVElOX09QX09WRVJGTE9XICovCi0KLS8qIERlZmluZSB0byAxIGlmIHlvdXIgY29t cGlsZXIgdW5kZXJzdGFuZHMgX19idWlsdGluX3BvcGNvdW50LiAqLwotLyogI3VuZGVmIEhB VkVfX0JVSUxUSU5fUE9QQ09VTlQgKi8KLQotLyogRGVmaW5lIHRvIDEgaWYgeW91ciBjb21w aWxlciB1bmRlcnN0YW5kcyBfX2J1aWx0aW5fdHlwZXNfY29tcGF0aWJsZV9wLiAqLwotLyog I3VuZGVmIEhBVkVfX0JVSUxUSU5fVFlQRVNfQ09NUEFUSUJMRV9QICovCi0KLS8qIERlZmlu ZSB0byAxIGlmIHlvdXIgY29tcGlsZXIgdW5kZXJzdGFuZHMgX19idWlsdGluX3VucmVhY2hh YmxlLiAqLwotLyogI3VuZGVmIEhBVkVfX0JVSUxUSU5fVU5SRUFDSEFCTEUgKi8KLQotLyog RGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBfY29uZmlndGhyZWFkbG9jYWxlJyBmdW5j dGlvbi4gKi8KLSNkZWZpbmUgSEFWRV9fQ09ORklHVEhSRUFETE9DQUxFIDEKLQotLyogRGVm aW5lIHRvIDEgaWYgeW91IGhhdmUgX19jcHVpZC4gKi8KLSNkZWZpbmUgSEFWRV9fQ1BVSUQg MQotCi0vKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSBfX2dldF9jcHVpZC4gKi8KLSN1bmRl ZiBIQVZFX19HRVRfQ1BVSUQKLQotLyogRGVmaW5lIHRvIDEgaWYgeW91ciBjb21waWxlciB1 bmRlcnN0YW5kcyBfU3RhdGljX2Fzc2VydC4gKi8KLS8qICN1bmRlZiBIQVZFX19TVEFUSUNf QVNTRVJUICovCi0KLS8qIERlZmluZSB0byB0aGUgYXBwcm9wcmlhdGUgcHJpbnRmIGxlbmd0 aCBtb2RpZmllciBmb3IgNjQtYml0IGludHMuICovCi0jZGVmaW5lIElOVDY0X01PRElGSUVS ICJsbCIKLQotLyogRGVmaW5lIHRvIDEgaWYgYGxvY2FsZV90JyByZXF1aXJlcyA8eGxvY2Fs ZS5oPi4gKi8KLS8qICN1bmRlZiBMT0NBTEVfVF9JTl9YTE9DQUxFICovCi0KLS8qIERlZmlu ZSBhcyB0aGUgbWF4aW11bSBhbGlnbm1lbnQgcmVxdWlyZW1lbnQgb2YgYW55IEMgZGF0YSB0 eXBlLiAqLwotI2RlZmluZSBNQVhJTVVNX0FMSUdOT0YgOAotCi0vKiBEZWZpbmUgYnl0ZXMg dG8gdXNlIGxpYmMgbWVtc2V0KCkuICovCi0jZGVmaW5lIE1FTVNFVF9MT09QX0xJTUlUIDEw MjQKLQotLyogRGVmaW5lIHRvIHRoZSBhZGRyZXNzIHdoZXJlIGJ1ZyByZXBvcnRzIGZvciB0 aGlzIHBhY2thZ2Ugc2hvdWxkIGJlIHNlbnQuICovCi0jZGVmaW5lIFBBQ0tBR0VfQlVHUkVQ T1JUICJwZ3NxbC1idWdzQGxpc3RzLnBvc3RncmVzcWwub3JnIgotCi0vKiBEZWZpbmUgdG8g dGhlIGZ1bGwgbmFtZSBvZiB0aGlzIHBhY2thZ2UuICovCi0jZGVmaW5lIFBBQ0tBR0VfTkFN RSAiUG9zdGdyZVNRTCIKLQotLyogRGVmaW5lIHRvIHRoZSBmdWxsIG5hbWUgYW5kIHZlcnNp b24gb2YgdGhpcyBwYWNrYWdlLiAqLwotI2RlZmluZSBQQUNLQUdFX1NUUklORyAiUG9zdGdy ZVNRTCAxM2RldmVsIgotCi0vKiBEZWZpbmUgdG8gdGhlIG9uZSBzeW1ib2wgc2hvcnQgbmFt ZSBvZiB0aGlzIHBhY2thZ2UuICovCi0jZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdy ZXNxbCIKLQotLyogRGVmaW5lIHRvIHRoZSB2ZXJzaW9uIG9mIHRoaXMgcGFja2FnZS4gKi8K LSNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxM2RldmVsIgotCi0vKiBEZWZpbmUgdG8gdGhl IG5hbWUgb2YgYSBzaWduZWQgMTI4LWJpdCBpbnRlZ2VyIHR5cGUuICovCi0jdW5kZWYgUEdf SU5UMTI4X1RZUEUKLQotLyogRGVmaW5lIHRvIHRoZSBuYW1lIG9mIGEgc2lnbmVkIDY0LWJp dCBpbnRlZ2VyIHR5cGUuICovCi0jZGVmaW5lIFBHX0lOVDY0X1RZUEUgbG9uZyBsb25nIGlu dAotCi0vKiBEZWZpbmUgdG8gdGhlIG5hbWUgb2YgdGhlIGRlZmF1bHQgUG9zdGdyZVNRTCBz ZXJ2aWNlIHByaW5jaXBhbCBpbiBLZXJiZXJvcwotICAgKEdTU0FQSSkuICgtLXdpdGgta3Ji LXNydm5hbT1OQU1FKSAqLwotI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKLQot LyogRGVmaW5lIHRvIDEgdG8gdXNlIDxzdGRib29sLmg+IHRvIGRlZmluZSB0eXBlIGJvb2wu ICovCi0jZGVmaW5lIFBHX1VTRV9TVERCT09MIDEKLQotLyogUG9zdGdyZVNRTCB2ZXJzaW9u IGFzIGEgc3RyaW5nICovCi0jZGVmaW5lIFBHX1ZFUlNJT04gIjEzZGV2ZWwiCi0KLS8qIFBv c3RncmVTUUwgdmVyc2lvbiBhcyBhIG51bWJlciAqLwotI2RlZmluZSBQR19WRVJTSU9OX05V TSAxMzAwMDAKLQotLyogQSBzdHJpbmcgY29udGFpbmluZyB0aGUgdmVyc2lvbiBudW1iZXIs IHBsYXRmb3JtLCBhbmQgQyBjb21waWxlciAqLwotI2RlZmluZSBQR19WRVJTSU9OX1NUUiAi VW5pbml0aWFsaXplZCB2ZXJzaW9uIHN0cmluZyAod2luMzIpIgotCi0vKiBUaGUgc2l6ZSBv ZiBgYm9vbCcsIGFzIGNvbXB1dGVkIGJ5IHNpemVvZi4gKi8KLSNkZWZpbmUgU0laRU9GX0JP T0wgMQotCi0vKiBUaGUgc2l6ZSBvZiBgbG9uZycsIGFzIGNvbXB1dGVkIGJ5IHNpemVvZi4g Ki8KLSNkZWZpbmUgU0laRU9GX0xPTkcgNAotCi0vKiBUaGUgc2l6ZSBvZiBgc2l6ZV90Jywg YXMgY29tcHV0ZWQgYnkgc2l6ZW9mLiAqLwotI2lmbmRlZiBfV0lONjQKLSNkZWZpbmUgU0la RU9GX1NJWkVfVCA0Ci0jZWxzZQotI2RlZmluZSBTSVpFT0ZfU0laRV9UIDgKLSNlbmRpZgot Ci0vKiBUaGUgc2l6ZSBvZiBgdm9pZCAqJywgYXMgY29tcHV0ZWQgYnkgc2l6ZW9mLiAqLwot I2lmbmRlZiBfV0lONjQKLSNkZWZpbmUgU0laRU9GX1ZPSURfUCA0Ci0jZWxzZQotI2RlZmlu ZSBTSVpFT0ZfVk9JRF9QIDgKLSNlbmRpZgotCi0vKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2 ZSB0aGUgQU5TSSBDIGhlYWRlciBmaWxlcy4gKi8KLSNkZWZpbmUgU1REQ19IRUFERVJTIDEK LQotLyogRGVmaW5lIHRvIDEgaWYgc3RyZXJyb3JfcigpIHJldHVybnMgaW50LiAqLwotLyog I3VuZGVmIFNUUkVSUk9SX1JfSU5UICovCi0KLS8qIERlZmluZSB0byAxIHRvIGJ1aWxkIHdp dGggYXNzZXJ0aW9uIGNoZWNrcy4gKC0tZW5hYmxlLWNhc3NlcnQpICovCi0vKiAjdW5kZWYg VVNFX0FTU0VSVF9DSEVDS0lORyAqLwotCi0vKiBEZWZpbmUgdG8gMSB0byBidWlsZCB3aXRo IEJvbmpvdXIgc3VwcG9ydC4gKC0td2l0aC1ib25qb3VyKSAqLwotLyogI3VuZGVmIFVTRV9C T05KT1VSICovCi0KLS8qIERlZmluZSB0byAxIHRvIGJ1aWxkIHdpdGggQlNEIEF1dGhlbnRp Y2F0aW9uIHN1cHBvcnQuICgtLXdpdGgtYnNkLWF1dGgpICovCi0vKiAjdW5kZWYgVVNFX0JT RF9BVVRIICovCi0KLS8qIERlZmluZSB0byB1c2UgL2Rldi91cmFuZG9tIGZvciByYW5kb20g bnVtYmVyIGdlbmVyYXRpb24gKi8KLS8qICN1bmRlZiBVU0VfREVWX1VSQU5ET00gKi8KLQot LyogRGVmaW5lIHRvIDEgdG8gYnVpbGQgd2l0aCBMREFQIHN1cHBvcnQuICgtLXdpdGgtbGRh cCkgKi8KLS8qICN1bmRlZiBVU0VfTERBUCAqLwotCi0vKiBEZWZpbmUgdG8gMSB0byBidWls ZCB3aXRoIExMVk0gYmFzZWQgSklUIHN1cHBvcnQuICgtLXdpdGgtbGx2bSkgKi8KLS8qICN1 bmRlZiBVU0VfTExWTSAqLwotCi0vKiBEZWZpbmUgdG8gc2VsZWN0IG5hbWVkIFBPU0lYIHNl bWFwaG9yZXMuICovCi0vKiAjdW5kZWYgVVNFX05BTUVEX1BPU0lYX1NFTUFQSE9SRVMgKi8K LQotLyogRGVmaW5lIHRvIGJ1aWxkIHdpdGggT3BlblNTTCBzdXBwb3J0LiAoLS13aXRoLW9w ZW5zc2wpICovCi0vKiAjdW5kZWYgVVNFX09QRU5TU0wgKi8KLQotLyogRGVmaW5lIHRvIHVz ZSBPcGVuU1NMIGZvciByYW5kb20gbnVtYmVyIGdlbmVyYXRpb24gKi8KLS8qICN1bmRlZiBV U0VfT1BFTlNTTF9SQU5ET00gKi8KLQotLyogRGVmaW5lIHRvIDEgdG8gYnVpbGQgd2l0aCBQ QU0gc3VwcG9ydC4gKC0td2l0aC1wYW0pICovCi0vKiAjdW5kZWYgVVNFX1BBTSAqLwotCi0v KiBEZWZpbmUgdG8gMSB0byB1c2Ugc29mdHdhcmUgQ1JDLTMyQyBpbXBsZW1lbnRhdGlvbiAo c2xpY2luZy1ieS04KS4gKi8KLS8qICN1bmRlZiBVU0VfU0xJQ0lOR19CWV84X0NSQzMyQyAq LwotCi0vKiBEZWZpbmUgdG8gMSB1c2UgSW50ZWwgU1NFIDQuMiBDUkMgaW5zdHJ1Y3Rpb25z LiAqLwotLyogI3VuZGVmIFVTRV9TU0U0Ml9DUkMzMkMgKi8KLQotLyogRGVmaW5lIHRvIDEg dG8gdXNlIEludGVsIFNTRSA0LjIgQ1JDIGluc3RydWN0aW9ucyB3aXRoIGEgcnVudGltZSBj aGVjay4gKi8KLSNkZWZpbmUgVVNFX1NTRTQyX0NSQzMyQ19XSVRIX1JVTlRJTUVfQ0hFQ0sK LQotLyogRGVmaW5lIHRvIHNlbGVjdCBTeXNWLXN0eWxlIHNlbWFwaG9yZXMuICovCi0vKiAj dW5kZWYgVVNFX1NZU1ZfU0VNQVBIT1JFUyAqLwotCi0vKiBEZWZpbmUgdG8gc2VsZWN0IFN5 c1Ytc3R5bGUgc2hhcmVkIG1lbW9yeS4gKi8KLSNkZWZpbmUgVVNFX1NZU1ZfU0hBUkVEX01F TU9SWSAxCi0KLS8qIERlZmluZSB0byBzZWxlY3QgdW5uYW1lZCBQT1NJWCBzZW1hcGhvcmVz LiAqLwotLyogI3VuZGVmIFVTRV9VTk5BTUVEX1BPU0lYX1NFTUFQSE9SRVMgKi8KLQotLyog RGVmaW5lIHRvIHVzZSBuYXRpdmUgV2luZG93cyBBUEkgZm9yIHJhbmRvbSBudW1iZXIgZ2Vu ZXJhdGlvbiAqLwotI2RlZmluZSBVU0VfV0lOMzJfUkFORE9NIDEKLQotLyogRGVmaW5lIHRv IHNlbGVjdCBXaW4zMi1zdHlsZSBzZW1hcGhvcmVzLiAqLwotI2RlZmluZSBVU0VfV0lOMzJf U0VNQVBIT1JFUyAxCi0KLS8qIERlZmluZSB0byAxIGlmIGB3Y3N0b21ic19sJyByZXF1aXJl cyA8eGxvY2FsZS5oPi4gKi8KLS8qICN1bmRlZiBXQ1NUT01CU19MX0lOX1hMT0NBTEUgKi8K LQotLyogTnVtYmVyIG9mIGJpdHMgaW4gYSBmaWxlIG9mZnNldCwgb24gaG9zdHMgd2hlcmUg dGhpcyBpcyBzZXR0YWJsZS4gKi8KLS8qICN1bmRlZiBfRklMRV9PRkZTRVRfQklUUyAqLwot Ci0vKiBEZWZpbmUgdG8gMSB0byBtYWtlIGZzZWVrbyB2aXNpYmxlIG9uIHNvbWUgaG9zdHMg KGUuZy4gZ2xpYmMgMi4yKS4gKi8KLS8qICN1bmRlZiBfTEFSR0VGSUxFX1NPVVJDRSAqLwot Ci0vKiBEZWZpbmUgZm9yIGxhcmdlIGZpbGVzLCBvbiBBSVgtc3R5bGUgaG9zdHMuICovCi0v KiAjdW5kZWYgX0xBUkdFX0ZJTEVTICovCi0KLS8qIERlZmluZSB0byBgX19pbmxpbmVfXycg b3IgYF9faW5saW5lJyBpZiB0aGF0J3Mgd2hhdCB0aGUgQyBjb21waWxlcgotICAgY2FsbHMg aXQsIG9yIHRvIG5vdGhpbmcgaWYgJ2lubGluZScgaXMgbm90IHN1cHBvcnRlZCB1bmRlciBh bnkgbmFtZS4gICovCi0jaWZuZGVmIF9fY3BsdXNwbHVzCi0jZGVmaW5lIGlubGluZSBfX2lu bGluZQotI2VuZGlmCi0KLS8qIERlZmluZSB0byBrZXl3b3JkIHRvIHVzZSBmb3IgQzk5IHJl c3RyaWN0IHN1cHBvcnQsIG9yIHRvIG5vdGhpbmcgaWYgbm90Ci0gICBzdXBwb3J0ZWQgKi8K LS8qIFdvcmtzIGZvciBDIGFuZCBDKysgaW4gVmlzdWFsIFN0dWRpbyAyMDA4IGFuZCB1cHdh cmRzICovCi0jZGVmaW5lIHBnX3Jlc3RyaWN0IF9fcmVzdHJpY3QKLQotLyogRGVmaW5lIHRv IHRoZSBlcXVpdmFsZW50IG9mIHRoZSBDOTkgJ3Jlc3RyaWN0JyBrZXl3b3JkLCBvciB0bwot ICAgbm90aGluZyBpZiB0aGlzIGlzIG5vdCBzdXBwb3J0ZWQuICBEbyBub3QgZGVmaW5lIGlm IHJlc3RyaWN0IGlzCi0gICBzdXBwb3J0ZWQgZGlyZWN0bHkuICAqLwotLyogbm90IGRlZmlu ZWQsIGJlY2F1c2UgaXQnZCBjb25mbGljdCB3aXRoIF9fZGVjbHNwZWMocmVzdHJpY3QpICov Ci0KLS8qIERlZmluZSB0byBlbXB0eSBpZiB0aGUgQyBjb21waWxlciBkb2VzIG5vdCB1bmRl cnN0YW5kIHNpZ25lZCB0eXBlcy4gKi8KLS8qICN1bmRlZiBzaWduZWQgKi8KLQotLyogRGVm aW5lIHRvIGhvdyB0aGUgY29tcGlsZXIgc3BlbGxzIGB0eXBlb2YnLiAqLwotLyogI3VuZGVm IHR5cGVvZiAqLwpkaWZmIC0tZ2l0IGEvc3JjL3Rvb2xzL3ZlcnNpb25fc3RhbXAucGwgYi9z cmMvdG9vbHMvdmVyc2lvbl9zdGFtcC5wbAppbmRleCAxMGRkYzc5ZDQ5Li41MDg5ODU0OTdm IDEwMDc1NQotLS0gYS9zcmMvdG9vbHMvdmVyc2lvbl9zdGFtcC5wbAorKysgYi9zcmMvdG9v bHMvdmVyc2lvbl9zdGFtcC5wbApAQCAtMTAyLDEzICsxMDIsNiBAQAogCSItZSAncy9BQ19J TklUKFxcW1Bvc3RncmVTUUxcXF0sIFxcW1swLTlhLXouXSpcXF0vQUNfSU5JVChbUG9zdGdy ZVNRTF0sIFskZnVsbHZlcnNpb25dLyciCiApOwogCi1zZWRfZmlsZSgic3JjL2luY2x1ZGUv cGdfY29uZmlnLmgud2luMzIiLAotCSItZSAncy8jZGVmaW5lIFBBQ0tBR0VfU1RSSU5HIFwi UG9zdGdyZVNRTCAuKlwiLyNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgXCJQb3N0Z3JlU1FMICRm dWxsdmVyc2lvblwiLycgIgotCSAgLiAiLWUgJ3MvI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04g XCIuKlwiLyNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OIFwiJGZ1bGx2ZXJzaW9uXCIvJyAiCi0J ICAuICItZSAncy8jZGVmaW5lIFBHX1ZFUlNJT04gXCIuKlwiLyNkZWZpbmUgUEdfVkVSU0lP TiBcIiRmdWxsdmVyc2lvblwiLycgIgotCSAgLiAiLWUgJ3MvI2RlZmluZSBQR19WRVJTSU9O X05VTSAuKi8jZGVmaW5lIFBHX1ZFUlNJT05fTlVNICRwYWRudW1lcmljdmVyc2lvbi8nIgot KTsKLQogc2VkX2ZpbGUoInNyYy9pbnRlcmZhY2VzL2xpYnBxL2xpYnBxLnJjLmluIiwKIAki LWUgJ3MvRklMRVZFUlNJT04gWzAtOV0qLFswLTldKixbMC05XSosMC9GSUxFVkVSU0lPTiAk bWFqb3J2ZXJzaW9uLDAsJG51bWVyaWNtaW5vciwwLycgIgogCSAgLiAiLWUgJ3MvUFJPRFVD VFZFUlNJT04gWzAtOV0qLFswLTldKixbMC05XSosMC9QUk9EVUNUVkVSU0lPTiAkbWFqb3J2 ZXJzaW9uLDAsJG51bWVyaWNtaW5vciwwLycgIgotLSAKMi4yNC4xCgo= --------------C4CC40A471641C78C6C140D1--