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 1iPOOH-0003Dk-BE for pgsql-hackers@arkaria.postgresql.org; Tue, 29 Oct 2019 10:06:17 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1iPOOF-0008BT-Jm for pgsql-hackers@arkaria.postgresql.org; Tue, 29 Oct 2019 10:06:15 +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 1iPOOE-0008BL-6V for pgsql-hackers@lists.postgresql.org; Tue, 29 Oct 2019 10:06:15 +0000 Received: from out2-smtp.messagingengine.com ([66.111.4.26]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1iPOO9-0004Ao-1P for pgsql-hackers@postgresql.org; Tue, 29 Oct 2019 10:06:12 +0000 Received: from compute7.internal (compute7.nyi.internal [10.202.2.47]) by mailout.nyi.internal (Postfix) with ESMTP id E8C0A2102F for ; Tue, 29 Oct 2019 06:06:07 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute7.internal (MEProxy); Tue, 29 Oct 2019 06:06:07 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-type:date:from:message-id :mime-version:subject:to:x-me-proxy:x-me-proxy:x-me-sender :x-me-sender:x-sasl-enc; s=fm1; bh=ZtOlySZGpTGG+w917PNOaHWSxEFDP HuAW31oqNd4HRk=; b=K41CSwNsq77knAt9ix0L1MxNPK+b8asXGPvaEfdKy3U26 yFCCYpqWpOVW+eZcFhdfGITaOBM3kHCLW2L816gQjUk+SMhPxRtj43ziXGhCfjA0 bpY5AnOLrt1awzQ6RV350oM7ZW0mHvx+TbDBclf5aNkHRQvy2QPl5zlUKQypqmxu 783ljr7nEZDT/xbwqreSA+95Uu8xjEUI1iFvo1uSr3RSh5ojqTa432r99jR4hSMc YANvPeBAQ77DH4Lowmbjn8ItUNn9QDlC5hqV+KE4k9fMkkhFk0U5K5ntPPRNWyz0 Ll9tTFYzfBNomO2zn2R8Ias/dcSfU1ciq6D+up0Bw== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedufedruddtuddgtdelucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefhuffvohfkffgfgggtsehmtderre dtfeejnecuhfhrohhmpefrvghtvghrucfgihhsvghnthhrrghuthcuoehpvghtvghrrdgv ihhsvghnthhrrghuthesvdhnughquhgrughrrghnthdrtghomheqnecuffhomhgrihhnpe dvnhguqhhurggurhgrnhhtrdgtohhmpdhpohhsthhgrhgvshhqlhdrohhrghenucfkphep leefrddvgedvrddugeejrdejleenucfrrghrrghmpehmrghilhhfrhhomhepphgvthgvrh drvghishgvnhhtrhgruhhtsedvnhguqhhurggurhgrnhhtrdgtohhmnecuvehluhhsthgv rhfuihiivgeptd X-ME-Proxy: Received: from april.pezone.net (p5df2934f.dip0.t-ipconnect.de [93.242.147.79]) by mail.messagingengine.com (Postfix) with ESMTPA id 9E37FD6006D for ; Tue, 29 Oct 2019 06:06:06 -0400 (EDT) From: Peter Eisentraut Subject: Add support for automatically updating Unicode derived files To: pgsql-hackers Organization: 2ndQuadrant Message-ID: Date: Tue, 29 Oct 2019 11:06:05 +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 Content-Type: multipart/mixed; boundary="------------815006D5A137BEFFC542B319" 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. --------------815006D5A137BEFFC542B319 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Continuing the discussion from [0] and [1], here is a patch that automates the process of updating Unicode derived files. Summary: - Edit UNICODE_VERSION and/or CLDR_VERSION in src/Makefile.global.in - Run make update-unicode - Commit I have added that to the release checklist in RELEASE_NOTES. This also includes the script used in [0] that was not committed at that time. Other than that, this just refactors existing build code. Open questions that are currently not handled consistently: - Should the downloaded files be listed in .gitignore? - Should the downloaded files be cleaned by make clean (or distclean or maintainer-clean or none)? - Should the generated files be excluded from pgindent? Currently, the generated files will not pass pgindent unchanged, so that could cause annoying whitespace battles when these files are updated and re-indented around release time. [0]: https://www.postgresql.org/message-id/flat/bbb19114-af1e-513b-08a9-61272794bd5c%402ndquadrant.com [1]: https://www.postgresql.org/message-id/flat/77f69366-ca31-6437-079f-47fce69bae1b%402ndquadrant.com -- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services --------------815006D5A137BEFFC542B319 Content-Type: text/plain; charset=UTF-8; x-mac-type="0"; x-mac-creator="0"; name="0001-Add-support-for-automatically-updating-Unicode-deriv.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="0001-Add-support-for-automatically-updating-Unicode-deriv.pa"; filename*1="tch" RnJvbSA1NGE2ZDk1NmNiNDkxODVhZjcxNGU5NzM5YjQ3Y2FiMjdiN2YyN2YxIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogVHVlLCAyOSBPY3QgMjAxOSAxMDo0MzoyNyArMDEwMApTdWJqZWN0 OiBbUEFUQ0hdIEFkZCBzdXBwb3J0IGZvciBhdXRvbWF0aWNhbGx5IHVwZGF0aW5nIFVuaWNv ZGUgZGVyaXZlZCBmaWxlcwoKV2UgY3VycmVudGx5IGhhdmUgc2V2ZXJhbCBzZXRzIG9mIGZp bGVzIGdlbmVyYXRlZCBmcm9tIGRhdGEgcHJvdmlkZWQKYnkgVW5pY29kZS4gIFRoZXNlIGFs bCBoYXZlIGFkIGhvYyBydWxlcyBhbmQgaW5zdHJ1Y3Rpb25zIGZvciB1cGRhdGluZwp3aGVu IG5ldyBVbmljb2RlIHZlcnNpb25zIGFwcGVhciwgYW5kIGl0J3Mgbm90IGRvbmUgY29uc2lz dGVudGx5LgoKVGhpcyBwYXRjaCBjZW50cmFsaXplcyBhbmQgYXV0b21hdGVzIHRoZSBwcm9j ZXNzIGFuZCBtYWtlcyBpdCBwYXJ0IG9mCnRoZSByZWxlYXNlIGNoZWNrbGlzdC4gIFRoZSBV bmljb2RlIGFuZCBDTERSIHZlcnNpb25zIGFyZSBzcGVjaWZpZWQgaW4KTWFrZWZpbGUuZ2xv YmFsLmluLiAgVGhlcmUgaXMgYSBuZXcgbWFrZSB0YXJnZXQgInVwZGF0ZS11bmljb2RlIiB0 aGF0CmRvd25sb2FkcyBhbGwgdGhlIHJlbGV2YW50IGZpbGVzIGFuZCBydW5zIHRoZSBnZW5l cmF0aW9uIHNjcmlwdC4KClRoZXJlIGlzIGFsc28gYSBuZXcgc2NyaXB0IGZvciBnZW5lcmF0 aW5nIHRoZSB0YWJsZSBvZiBjb21iaW5pbmcKY2hhcmFjdGVycyBmb3IgdWNzX3djd2lkdGgo KS4gIFRoYXQgdGFibGUgaXMgbm93IGluIGEgc2VwYXJhdGUgaW5jbHVkZQpmaWxlIHJhdGhl ciB0aGFuIGhhcmRjb2RlZCBpbnRvIHRoZSBtaWRkbGUgb2Ygb3RoZXIgY29kZS4gIFRoaXMg aXMKYmFzZWQgb24gdGhlIHNjcmlwdCB0aGF0IHdhcyB1c2VkIGZvciBnZW5lcmF0aW5nCmQ4 NTk0ZDEyM2MxNTVhZWVjZDQ3ZmMyNDUwZjYyZjUxMDBiMmZiZjAsIGJ1dCB0aGUgc2NyaXB0 IGl0c2VsZiB3YXNuJ3QKY29tbWl0dGVkIGF0IHRoYXQgdGltZS4KLS0tCiBHTlVtYWtlZmls ZS5pbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDQgKwogY29udHJpYi91 bmFjY2VudC9NYWtlZmlsZSAgICAgICAgICAgICAgICAgICAgIHwgIDE0ICsrCiBjb250cmli L3VuYWNjZW50L2dlbmVyYXRlX3VuYWNjZW50X3J1bGVzLnB5ICAgfCAgMTAgKy0KIHNyYy9N YWtlZmlsZS5nbG9iYWwuaW4gICAgICAgICAgICAgICAgICAgICAgICB8ICAxOCArLQogc3Jj L2JhY2tlbmQvdXRpbHMvbWIvVW5pY29kZS9NYWtlZmlsZSAgICAgICAgIHwgICAzIC0KIHNy Yy9iYWNrZW5kL3V0aWxzL21iL3djaGFyLmMgICAgICAgICAgICAgICAgICB8ICA2OCArLS0t LS0KIHNyYy9jb21tb24vdW5pY29kZS8uZ2l0aWdub3JlICAgICAgICAgICAgICAgICB8ICAg NSAtCiBzcmMvY29tbW9uL3VuaWNvZGUvTWFrZWZpbGUgICAgICAgICAgICAgICAgICAgfCAg MTUgKy0KIC4uLi9nZW5lcmF0ZS11bmljb2RlX2NvbWJpbmluZ190YWJsZS5wbCAgICAgICB8 ICA1MiArKysrKwogc3JjL2luY2x1ZGUvY29tbW9uL3VuaWNvZGVfY29tYmluaW5nX3RhYmxl LmggIHwgMTk0ICsrKysrKysrKysrKysrKysrKwogc3JjL3Rvb2xzL1JFTEVBU0VfQ0hBTkdF UyAgICAgICAgICAgICAgICAgICAgIHwgICAzICsKIDExIGZpbGVzIGNoYW5nZWQsIDMwMCBp bnNlcnRpb25zKCspLCA4NiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMv Y29tbW9uL3VuaWNvZGUvZ2VuZXJhdGUtdW5pY29kZV9jb21iaW5pbmdfdGFibGUucGwKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBzcmMvaW5jbHVkZS9jb21tb24vdW5pY29kZV9jb21iaW5pbmdf dGFibGUuaAoKZGlmZiAtLWdpdCBhL0dOVW1ha2VmaWxlLmluIGIvR05VbWFrZWZpbGUuaW4K aW5kZXggOWRjMzczYzc5Yy4uNjE3NGQyMmIwYyAxMDA2NDQKLS0tIGEvR05VbWFrZWZpbGUu aW4KKysrIGIvR05VbWFrZWZpbGUuaW4KQEAgLTc1LDYgKzc1LDEwIEBAICQoY2FsbCByZWN1 cnNlLGluc3RhbGxjaGVjay13b3JsZCxzcmMvdGVzdCBzcmMvcGwgc3JjL2ludGVyZmFjZXMv ZWNwZyBjb250cmliIHNyCiBHTlVtYWtlZmlsZTogR05VbWFrZWZpbGUuaW4gJCh0b3BfYnVp bGRkaXIpL2NvbmZpZy5zdGF0dXMKIAkuL2NvbmZpZy5zdGF0dXMgJEAKIAordXBkYXRlLXVu aWNvZGU6CisJJChNQUtFKSAtQyBzcmMvY29tbW9uL3VuaWNvZGUgJEAKKwkkKE1BS0UpIC1D IGNvbnRyaWIvdW5hY2NlbnQgJEAKKwogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYg LS1naXQgYS9jb250cmliL3VuYWNjZW50L01ha2VmaWxlIGIvY29udHJpYi91bmFjY2VudC9N YWtlZmlsZQppbmRleCBmOGUzODYwOTI2Li4zNzI1N2E3ZTM1IDEwMDY0NAotLS0gYS9jb250 cmliL3VuYWNjZW50L01ha2VmaWxlCisrKyBiL2NvbnRyaWIvdW5hY2NlbnQvTWFrZWZpbGUK QEAgLTI0LDMgKzI0LDE3IEBAIHRvcF9idWlsZGRpciA9IC4uLy4uCiBpbmNsdWRlICQodG9w X2J1aWxkZGlyKS9zcmMvTWFrZWZpbGUuZ2xvYmFsCiBpbmNsdWRlICQodG9wX3NyY2Rpcikv Y29udHJpYi9jb250cmliLWdsb2JhbC5tawogZW5kaWYKKwordXBkYXRlLXVuaWNvZGU6CisJ JChNQUtFKSB1bmFjY2VudC5ydWxlcworCit1bmFjY2VudC5ydWxlczogZ2VuZXJhdGVfdW5h Y2NlbnRfcnVsZXMucHkgLi4vLi4vc3JjL2NvbW1vbi91bmljb2RlL1VuaWNvZGVEYXRhLnR4 dCBMYXRpbi1BU0NJSS54bWwKKwkkKFBZVEhPTikgJDwgLS11bmljb2RlLWRhdGEtZmlsZSAk KHdvcmQgMiwkXikgLS1sYXRpbi1hc2NpaS1maWxlICQod29yZCAzLCReKSA+JEAKKworIyBv bmx5IGRvd25sb2FkIGl0IG9uY2UKKy4uLy4uL3NyYy9jb21tb24vdW5pY29kZS9Vbmljb2Rl RGF0YS50eHQ6CisJJChNQUtFKSAtQyAkKEBEKSAkKEBGKQorCisjIGRlcGVuZGVuY3kgb24g TWFrZWZpbGUuZ2xvYmFsIGlzIGZvciBDTERSX1ZFUlNJT04KK0xhdGluLUFTQ0lJLnhtbDog JCh0b3BfYnVpbGRkaXIpL3NyYy9NYWtlZmlsZS5nbG9iYWwKKwkkKERPV05MT0FEKSBodHRw czovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vdW5pY29kZS1vcmcvY2xkci9yZWxlYXNl LSQoc3Vic3QgLiwtLCQoQ0xEUl9WRVJTSU9OKSkvY29tbW9uL3RyYW5zZm9ybXMvTGF0aW4t QVNDSUkueG1sCmRpZmYgLS1naXQgYS9jb250cmliL3VuYWNjZW50L2dlbmVyYXRlX3VuYWNj ZW50X3J1bGVzLnB5IGIvY29udHJpYi91bmFjY2VudC9nZW5lcmF0ZV91bmFjY2VudF9ydWxl cy5weQppbmRleCBhY2ZiNGYwYjY4Li5hOTUyZGU1MTBjIDEwMDY0NAotLS0gYS9jb250cmli L3VuYWNjZW50L2dlbmVyYXRlX3VuYWNjZW50X3J1bGVzLnB5CisrKyBiL2NvbnRyaWIvdW5h Y2NlbnQvZ2VuZXJhdGVfdW5hY2NlbnRfcnVsZXMucHkKQEAgLTIwLDEzICsyMCwxMSBAQAog IyBvcHRpb24gaXMgZW5hYmxlZCwgdGhlIFhNTCBmaWxlIG9mIHRoaXMgdHJhbnNsaXRlcmF0 b3IgWzJdIC0tIGdpdmVuIGFzIGEKICMgY29tbWFuZCBsaW5lIGFyZ3VtZW50IC0tIHdpbGwg YmUgcGFyc2VkIGFuZCB1c2VkLgogIwotIyBJZGVhbGx5IHlvdSBzaG91bGQgdXNlIHRoZSBs YXRlc3QgcmVsZWFzZSBmb3IgZWFjaCBkYXRhIHNldC4gIEZvcgotIyBMYXRpbi1BU0NJSS54 bWwsIHRoZSBsYXRlc3QgZGF0YSBzZXRzIHJlbGVhc2VkIGNhbiBiZSBicm93c2VkIGRpcmVj dGx5Ci0jIHZpYSBbM10uICBOb3RlIHRoYXQgdGhpcyBzY3JpcHQgaXMgY29tcGF0aWJsZSB3 aXRoIGF0IGxlYXN0IHJlbGVhc2UgMjkuCisjIElkZWFsbHkgeW91IHNob3VsZCB1c2UgdGhl IGxhdGVzdCByZWxlYXNlIGZvciBlYWNoIGRhdGEgc2V0LiAgVGhpcworIyBzY3JpcHQgaXMg Y29tcGF0aWJsZSB3aXRoIGF0IGxlYXN0IENMRFIgcmVsZWFzZSAyOS4KICMKLSMgWzFdIGh0 dHBzOi8vd3d3LnVuaWNvZGUub3JnL1B1YmxpYy84LjAuMC91Y2QvVW5pY29kZURhdGEudHh0 Ci0jIFsyXSBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vdW5pY29kZS1vcmcv Y2xkci9yZWxlYXNlLTM0L2NvbW1vbi90cmFuc2Zvcm1zL0xhdGluLUFTQ0lJLnhtbAotIyBb M10gaHR0cHM6Ly9naXRodWIuY29tL3VuaWNvZGUtb3JnL2NsZHIvdGFncworIyBbMV0gaHR0 cHM6Ly93d3cudW5pY29kZS5vcmcvUHVibGljLyR7VU5JQ09ERV9WRVJTSU9OfS91Y2QvVW5p Y29kZURhdGEudHh0CisjIFsyXSBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20v dW5pY29kZS1vcmcvY2xkci8ke1RBR30vY29tbW9uL3RyYW5zZm9ybXMvTGF0aW4tQVNDSUku eG1sCiAKICMgQkVHSU46IFB5dGhvbiAyLzMgY29tcGF0aWJpbGl0eSAtIHJlbW92ZSB3aGVu IFB5dGhvbiAyIGNvbXBhdGliaWxpdHkgZHJvcHBlZAogIyBUaGUgYXBwcm9hY2ggaXMgdG8g YmUgUHl0aG9uMyBjb21wYXRpYmxlIHdpdGggUHl0aG9uMiAiYmFja3BvcnRzIi4KZGlmZiAt LWdpdCBhL3NyYy9NYWtlZmlsZS5nbG9iYWwuaW4gYi9zcmMvTWFrZWZpbGUuZ2xvYmFsLmlu CmluZGV4IDA1YjY2MzgwZTAuLjFlMmY0ZWU0MDUgMTAwNjQ0Ci0tLSBhL3NyYy9NYWtlZmls ZS5nbG9iYWwuaW4KKysrIGIvc3JjL01ha2VmaWxlLmdsb2JhbC5pbgpAQCAtMjMsNyArMjMs NyBAQCBzdGFuZGFyZF90YXJnZXRzID0gYWxsIGluc3RhbGwgaW5zdGFsbGRpcnMgdW5pbnN0 YWxsIGRpc3RwcmVwIGNsZWFuIGRpc3RjbGVhbiBtYQogIyB0aGVzZSB0YXJnZXRzIHNob3Vs ZCByZWN1cnNlIGV2ZW4gaW50byBzdWJkaXJlY3RvcmllcyBub3QgYmVpbmcgYnVpbHQ6CiBz dGFuZGFyZF9hbHdheXNfdGFyZ2V0cyA9IGRpc3RwcmVwIGNsZWFuIGRpc3RjbGVhbiBtYWlu dGFpbmVyLWNsZWFuCiAKLS5QSE9OWTogJChzdGFuZGFyZF90YXJnZXRzKSBpbnN0YWxsLXN0 cmlwIGh0bWwgbWFuIGluc3RhbGxjaGVjay1wYXJhbGxlbAorLlBIT05ZOiAkKHN0YW5kYXJk X3RhcmdldHMpIGluc3RhbGwtc3RyaXAgaHRtbCBtYW4gaW5zdGFsbGNoZWNrLXBhcmFsbGVs IHVwZGF0ZS11bmljb2RlCiAKICMgbWFrZSBgYWxsJyB0aGUgZGVmYXVsdCB0YXJnZXQKIGFs bDoKQEAgLTM1MSw2ICszNTEsMjIgQEAgWEdFVFRFWFQgPSBAWEdFVFRFWFRACiBHWklQCT0g Z3ppcAogQlpJUDIJPSBiemlwMgogCitET1dOTE9BRCA9IHdnZXQgLU8gJEAgLS1uby11c2Ut c2VydmVyLXRpbWVzdGFtcHMKKyNET1dOTE9BRCA9IGN1cmwgLW8gJEAKKworCisjIFVuaWNv ZGUgZGF0YSBpbmZvcm1hdGlvbgorCisjIEJlZm9yZSBlYWNoIG1ham9yIHJlbGVhc2UsIHVw ZGF0ZSB0aGVzZSBhbmQgcnVuIG1ha2UgdXBkYXRlLXVuaWNvZGUuCisKKyMgUGljayBhIHJl bGVhc2UgZnJvbSBoZXJlOiA8aHR0cHM6Ly93d3cudW5pY29kZS5vcmcvUHVibGljLz4uICBO b3RlCisjIHRoYXQgdGhlIG1vc3QgcmVjZW50IHJlbGVhc2UgbGlzdGVkIHRoZXJlIGlzIG9m dGVuIGEgcHJlLXJlbGVhc2U7CisjIGRvbid0IHBpY2sgdGhhdCBvbmUsIGV4Y2VwdCBmb3Ig dGVzdGluZy4KK1VOSUNPREVfVkVSU0lPTiA9IDEyLjEuMAorCisjIFBpY2sgYSByZWxlYXNl IGZyb20gaGVyZTogPGh0dHA6Ly9jbGRyLnVuaWNvZGUub3JnL2luZGV4L2Rvd25sb2Fkcz4K K0NMRFJfVkVSU0lPTiA9IDM0CisKIAogIyBUcmVlLXdpZGUgYnVpbGQgc3VwcG9ydAogCmRp ZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9tYi9Vbmljb2RlL01ha2VmaWxlIGIvc3Jj L2JhY2tlbmQvdXRpbHMvbWIvVW5pY29kZS9NYWtlZmlsZQppbmRleCA2MzcxMGY5ZWE3Li4y MGM2ODQ5YTY1IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9tYi9Vbmljb2RlL01h a2VmaWxlCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL21iL1VuaWNvZGUvTWFrZWZpbGUKQEAg LTExNSw5ICsxMTUsNiBAQCBtYWludGFpbmVyLWNsZWFuOiBkaXN0Y2xlYW4KIAlybSAtZiAk KE1BUFMpCiAKIAotRE9XTkxPQUQgPSB3Z2V0IC1PICRAIC0tbm8tdXNlLXNlcnZlci10aW1l c3RhbXBzCi0jRE9XTkxPQUQgPSBjdXJsIC1vICRACi0KIEJJRzUuVFhUIENOUzExNjQzLlRY VDoKIAkkKERPV05MT0FEKSBodHRwczovL3d3dy51bmljb2RlLm9yZy9QdWJsaWMvTUFQUElO R1MvT0JTT0xFVEUvRUFTVEFTSUEvT1RIRVIvJChARikKIApkaWZmIC0tZ2l0IGEvc3JjL2Jh Y2tlbmQvdXRpbHMvbWIvd2NoYXIuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL21iL3djaGFyLmMK aW5kZXggYjJkNTk4Y2JlZS4uMDJlMjU4OGZmZSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQv dXRpbHMvbWIvd2NoYXIuYworKysgYi9zcmMvYmFja2VuZC91dGlscy9tYi93Y2hhci5jCkBA IC02NDMsNzMgKzY0Myw3IEBAIG1iYmlzZWFyY2gocGdfd2NoYXIgdWNzLCBjb25zdCBzdHJ1 Y3QgbWJpbnRlcnZhbCAqdGFibGUsIGludCBtYXgpCiBzdGF0aWMgaW50CiB1Y3Nfd2N3aWR0 aChwZ193Y2hhciB1Y3MpCiB7Ci0JLyogc29ydGVkIGxpc3Qgb2Ygbm9uLW92ZXJsYXBwaW5n IGludGVydmFscyBvZiBub24tc3BhY2luZyBjaGFyYWN0ZXJzICovCi0Jc3RhdGljIGNvbnN0 IHN0cnVjdCBtYmludGVydmFsIGNvbWJpbmluZ1tdID0gewotCQl7MHgwMzAwLCAweDAzNkZ9 LCB7MHgwNDgzLCAweDA0ODl9LCB7MHgwNTkxLCAweDA1QkR9LAotCQl7MHgwNUJGLCAweDA1 QkZ9LCB7MHgwNUMxLCAweDA1QzJ9LCB7MHgwNUM0LCAweDA1QzV9LAotCQl7MHgwNUM3LCAw eDA1Qzd9LCB7MHgwNjEwLCAweDA2MUF9LCB7MHgwNjRCLCAweDA2NUZ9LAotCQl7MHgwNjcw LCAweDA2NzB9LCB7MHgwNkQ2LCAweDA2REN9LCB7MHgwNkRGLCAweDA2RTR9LAotCQl7MHgw NkU3LCAweDA2RTh9LCB7MHgwNkVBLCAweDA2RUR9LCB7MHgwNzExLCAweDA3MTF9LAotCQl7 MHgwNzMwLCAweDA3NEF9LCB7MHgwN0E2LCAweDA3QjB9LCB7MHgwN0VCLCAweDA3RjN9LAot CQl7MHgwN0ZELCAweDA3RkR9LCB7MHgwODE2LCAweDA4MTl9LCB7MHgwODFCLCAweDA4MjN9 LAotCQl7MHgwODI1LCAweDA4Mjd9LCB7MHgwODI5LCAweDA4MkR9LCB7MHgwODU5LCAweDA4 NUJ9LAotCQl7MHgwOEQzLCAweDA4RTF9LCB7MHgwOEUzLCAweDA5MDJ9LCB7MHgwOTNBLCAw eDA5M0F9LAotCQl7MHgwOTNDLCAweDA5M0N9LCB7MHgwOTQxLCAweDA5NDh9LCB7MHgwOTRE LCAweDA5NER9LAotCQl7MHgwOTUxLCAweDA5NTd9LCB7MHgwOTYyLCAweDA5NjN9LCB7MHgw OTgxLCAweDA5ODF9LAotCQl7MHgwOUJDLCAweDA5QkN9LCB7MHgwOUMxLCAweDA5QzR9LCB7 MHgwOUNELCAweDA5Q0R9LAotCQl7MHgwOUUyLCAweDA5RTN9LCB7MHgwOUZFLCAweDBBMDJ9 LCB7MHgwQTNDLCAweDBBM0N9LAotCQl7MHgwQTQxLCAweDBBNTF9LCB7MHgwQTcwLCAweDBB NzF9LCB7MHgwQTc1LCAweDBBNzV9LAotCQl7MHgwQTgxLCAweDBBODJ9LCB7MHgwQUJDLCAw eDBBQkN9LCB7MHgwQUMxLCAweDBBQzh9LAotCQl7MHgwQUNELCAweDBBQ0R9LCB7MHgwQUUy LCAweDBBRTN9LCB7MHgwQUZBLCAweDBCMDF9LAotCQl7MHgwQjNDLCAweDBCM0N9LCB7MHgw QjNGLCAweDBCM0Z9LCB7MHgwQjQxLCAweDBCNDR9LAotCQl7MHgwQjRELCAweDBCNTZ9LCB7 MHgwQjYyLCAweDBCNjN9LCB7MHgwQjgyLCAweDBCODJ9LAotCQl7MHgwQkMwLCAweDBCQzB9 LCB7MHgwQkNELCAweDBCQ0R9LCB7MHgwQzAwLCAweDBDMDB9LAotCQl7MHgwQzA0LCAweDBD MDR9LCB7MHgwQzNFLCAweDBDNDB9LCB7MHgwQzQ2LCAweDBDNTZ9LAotCQl7MHgwQzYyLCAw eDBDNjN9LCB7MHgwQzgxLCAweDBDODF9LCB7MHgwQ0JDLCAweDBDQkN9LAotCQl7MHgwQ0JG LCAweDBDQkZ9LCB7MHgwQ0M2LCAweDBDQzZ9LCB7MHgwQ0NDLCAweDBDQ0R9LAotCQl7MHgw Q0UyLCAweDBDRTN9LCB7MHgwRDAwLCAweDBEMDF9LCB7MHgwRDNCLCAweDBEM0N9LAotCQl7 MHgwRDQxLCAweDBENDR9LCB7MHgwRDRELCAweDBENER9LCB7MHgwRDYyLCAweDBENjN9LAot CQl7MHgwRENBLCAweDBEQ0F9LCB7MHgwREQyLCAweDBERDZ9LCB7MHgwRTMxLCAweDBFMzF9 LAotCQl7MHgwRTM0LCAweDBFM0F9LCB7MHgwRTQ3LCAweDBFNEV9LCB7MHgwRUIxLCAweDBF QjF9LAotCQl7MHgwRUI0LCAweDBFQkN9LCB7MHgwRUM4LCAweDBFQ0R9LCB7MHgwRjE4LCAw eDBGMTl9LAotCQl7MHgwRjM1LCAweDBGMzV9LCB7MHgwRjM3LCAweDBGMzd9LCB7MHgwRjM5 LCAweDBGMzl9LAotCQl7MHgwRjcxLCAweDBGN0V9LCB7MHgwRjgwLCAweDBGODR9LCB7MHgw Rjg2LCAweDBGODd9LAotCQl7MHgwRjhELCAweDBGQkN9LCB7MHgwRkM2LCAweDBGQzZ9LCB7 MHgxMDJELCAweDEwMzB9LAotCQl7MHgxMDMyLCAweDEwMzd9LCB7MHgxMDM5LCAweDEwM0F9 LCB7MHgxMDNELCAweDEwM0V9LAotCQl7MHgxMDU4LCAweDEwNTl9LCB7MHgxMDVFLCAweDEw NjB9LCB7MHgxMDcxLCAweDEwNzR9LAotCQl7MHgxMDgyLCAweDEwODJ9LCB7MHgxMDg1LCAw eDEwODZ9LCB7MHgxMDhELCAweDEwOER9LAotCQl7MHgxMDlELCAweDEwOUR9LCB7MHgxMzVE LCAweDEzNUZ9LCB7MHgxNzEyLCAweDE3MTR9LAotCQl7MHgxNzMyLCAweDE3MzR9LCB7MHgx NzUyLCAweDE3NTN9LCB7MHgxNzcyLCAweDE3NzN9LAotCQl7MHgxN0I0LCAweDE3QjV9LCB7 MHgxN0I3LCAweDE3QkR9LCB7MHgxN0M2LCAweDE3QzZ9LAotCQl7MHgxN0M5LCAweDE3RDN9 LCB7MHgxN0RELCAweDE3RER9LCB7MHgxODBCLCAweDE4MER9LAotCQl7MHgxODg1LCAweDE4 ODZ9LCB7MHgxOEE5LCAweDE4QTl9LCB7MHgxOTIwLCAweDE5MjJ9LAotCQl7MHgxOTI3LCAw eDE5Mjh9LCB7MHgxOTMyLCAweDE5MzJ9LCB7MHgxOTM5LCAweDE5M0J9LAotCQl7MHgxQTE3 LCAweDFBMTh9LCB7MHgxQTFCLCAweDFBMUJ9LCB7MHgxQTU2LCAweDFBNTZ9LAotCQl7MHgx QTU4LCAweDFBNjB9LCB7MHgxQTYyLCAweDFBNjJ9LCB7MHgxQTY1LCAweDFBNkN9LAotCQl7 MHgxQTczLCAweDFBN0Z9LCB7MHgxQUIwLCAweDFCMDN9LCB7MHgxQjM0LCAweDFCMzR9LAot CQl7MHgxQjM2LCAweDFCM0F9LCB7MHgxQjNDLCAweDFCM0N9LCB7MHgxQjQyLCAweDFCNDJ9 LAotCQl7MHgxQjZCLCAweDFCNzN9LCB7MHgxQjgwLCAweDFCODF9LCB7MHgxQkEyLCAweDFC QTV9LAotCQl7MHgxQkE4LCAweDFCQTl9LCB7MHgxQkFCLCAweDFCQUR9LCB7MHgxQkU2LCAw eDFCRTZ9LAotCQl7MHgxQkU4LCAweDFCRTl9LCB7MHgxQkVELCAweDFCRUR9LCB7MHgxQkVG LCAweDFCRjF9LAotCQl7MHgxQzJDLCAweDFDMzN9LCB7MHgxQzM2LCAweDFDMzd9LCB7MHgx Q0QwLCAweDFDRDJ9LAotCQl7MHgxQ0Q0LCAweDFDRTB9LCB7MHgxQ0UyLCAweDFDRTh9LCB7 MHgxQ0VELCAweDFDRUR9LAotCQl7MHgxQ0Y0LCAweDFDRjR9LCB7MHgxQ0Y4LCAweDFDRjl9 LCB7MHgxREMwLCAweDFERkZ9LAotCQl7MHgyMEQwLCAweDIwRjB9LCB7MHgyQ0VGLCAweDJD RjF9LCB7MHgyRDdGLCAweDJEN0Z9LAotCQl7MHgyREUwLCAweDJERkZ9LCB7MHgzMDJBLCAw eDMwMkR9LCB7MHgzMDk5LCAweDMwOUF9LAotCQl7MHhBNjZGLCAweEE2NzJ9LCB7MHhBNjc0 LCAweEE2N0R9LCB7MHhBNjlFLCAweEE2OUZ9LAotCQl7MHhBNkYwLCAweEE2RjF9LCB7MHhB ODAyLCAweEE4MDJ9LCB7MHhBODA2LCAweEE4MDZ9LAotCQl7MHhBODBCLCAweEE4MEJ9LCB7 MHhBODI1LCAweEE4MjZ9LCB7MHhBOEM0LCAweEE4QzV9LAotCQl7MHhBOEUwLCAweEE4RjF9 LCB7MHhBOEZGLCAweEE4RkZ9LCB7MHhBOTI2LCAweEE5MkR9LAotCQl7MHhBOTQ3LCAweEE5 NTF9LCB7MHhBOTgwLCAweEE5ODJ9LCB7MHhBOUIzLCAweEE5QjN9LAotCQl7MHhBOUI2LCAw eEE5Qjl9LCB7MHhBOUJDLCAweEE5QkR9LCB7MHhBOUU1LCAweEE5RTV9LAotCQl7MHhBQTI5 LCAweEFBMkV9LCB7MHhBQTMxLCAweEFBMzJ9LCB7MHhBQTM1LCAweEFBMzZ9LAotCQl7MHhB QTQzLCAweEFBNDN9LCB7MHhBQTRDLCAweEFBNEN9LCB7MHhBQTdDLCAweEFBN0N9LAotCQl7 MHhBQUIwLCAweEFBQjB9LCB7MHhBQUIyLCAweEFBQjR9LCB7MHhBQUI3LCAweEFBQjh9LAot CQl7MHhBQUJFLCAweEFBQkZ9LCB7MHhBQUMxLCAweEFBQzF9LCB7MHhBQUVDLCAweEFBRUR9 LAotCQl7MHhBQUY2LCAweEFBRjZ9LCB7MHhBQkU1LCAweEFCRTV9LCB7MHhBQkU4LCAweEFC RTh9LAotCQl7MHhBQkVELCAweEFCRUR9LCB7MHhGQjFFLCAweEZCMUV9LCB7MHhGRTAwLCAw eEZFMEZ9LAotCQl7MHhGRTIwLCAweEZFMkZ9LAotCX07CisjaW5jbHVkZSAiY29tbW9uL3Vu aWNvZGVfY29tYmluaW5nX3RhYmxlLmgiCiAKIAkvKiB0ZXN0IGZvciA4LWJpdCBjb250cm9s IGNoYXJhY3RlcnMgKi8KIAlpZiAodWNzID09IDApCmRpZmYgLS1naXQgYS9zcmMvY29tbW9u L3VuaWNvZGUvLmdpdGlnbm9yZSBiL3NyYy9jb21tb24vdW5pY29kZS8uZ2l0aWdub3JlCmlu ZGV4IDVlNTgzZTJjY2MuLjY3ZjYyZDFhY2EgMTAwNjQ0Ci0tLSBhL3NyYy9jb21tb24vdW5p Y29kZS8uZ2l0aWdub3JlCisrKyBiL3NyYy9jb21tb24vdW5pY29kZS8uZ2l0aWdub3JlCkBA IC0xLDcgKzEsMiBAQAogL25vcm1fdGVzdAogL25vcm1fdGVzdF90YWJsZS5oCi0KLSMgRmls ZXMgZG93bmxvYWRlZCBmcm9tIHRoZSBVbmljb2RlIENoYXJhY3RlciBEYXRhYmFzZQotL0Nv bXBvc2l0aW9uRXhjbHVzaW9ucy50eHQKLS9Ob3JtYWxpemF0aW9uVGVzdC50eHQKLS9Vbmlj b2RlRGF0YS50eHQKZGlmZiAtLWdpdCBhL3NyYy9jb21tb24vdW5pY29kZS9NYWtlZmlsZSBi L3NyYy9jb21tb24vdW5pY29kZS9NYWtlZmlsZQppbmRleCAzMzQ4NTljOTg0Li41MzI4NDZh YjU4IDEwMDY0NAotLS0gYS9zcmMvY29tbW9uL3VuaWNvZGUvTWFrZWZpbGUKKysrIGIvc3Jj L2NvbW1vbi91bmljb2RlL01ha2VmaWxlCkBAIC0xOCwxOCArMTgsMjUgQEAgTElCUyArPSAk KFBUSFJFQURfTElCUykKICMgQnkgZGVmYXVsdCwgZG8gbm90aGluZy4KIGFsbDoKIAotRE9X TkxPQUQgPSB3Z2V0IC1PICRAIC0tbm8tdXNlLXNlcnZlci10aW1lc3RhbXBzCit1cGRhdGUt dW5pY29kZToKKwkkKE1BS0UpIHVuaWNvZGVfbm9ybV90YWJsZS5oIHVuaWNvZGVfY29tYmlu aW5nX3RhYmxlLmgKKwkkKE1BS0UpIG5vcm1hbGl6YXRpb24tY2hlY2sKKwltdiB1bmljb2Rl X25vcm1fdGFibGUuaCB1bmljb2RlX2NvbWJpbmluZ190YWJsZS5oIC4uLy4uLy4uL3NyYy9p bmNsdWRlL2NvbW1vbi8KIAogIyBUaGVzZSBmaWxlcyBhcmUgcGFydCBvZiB0aGUgVW5pY29k ZSBDaGFyYWN0ZXIgRGF0YWJhc2UuIERvd25sb2FkCi0jIHRoZW0gb24gZGVtYW5kLgotVW5p Y29kZURhdGEudHh0IENvbXBvc2l0aW9uRXhjbHVzaW9ucy50eHQgTm9ybWFsaXphdGlvblRl c3QudHh0OgotCSQoRE9XTkxPQUQpIGh0dHBzOi8vd3d3LnVuaWNvZGUub3JnL1B1YmxpYy9V TklEQVRBLyQoQEYpCisjIHRoZW0gb24gZGVtYW5kLiAgVGhlIGRlcGVuZGVuY3kgb24gTWFr ZWZpbGUuZ2xvYmFsIGlzIGZvcgorIyBVTklDT0RFX1ZFUlNJT04uCitVbmljb2RlRGF0YS50 eHQgQ29tcG9zaXRpb25FeGNsdXNpb25zLnR4dCBOb3JtYWxpemF0aW9uVGVzdC50eHQ6ICQo dG9wX2J1aWxkZGlyKS9zcmMvTWFrZWZpbGUuZ2xvYmFsCisJJChET1dOTE9BRCkgaHR0cHM6 Ly93d3cudW5pY29kZS5vcmcvUHVibGljLyQoVU5JQ09ERV9WRVJTSU9OKS91Y2QvJChARikK IAogIyBHZW5lcmF0aW9uIG9mIGNvbnZlcnNpb24gdGFibGVzIHVzZWQgZm9yIHN0cmluZyBu b3JtYWxpemF0aW9uIHdpdGgKICMgVVRGLTggc3RyaW5ncy4KIHVuaWNvZGVfbm9ybV90YWJs ZS5oOiBnZW5lcmF0ZS11bmljb2RlX25vcm1fdGFibGUucGwgVW5pY29kZURhdGEudHh0IENv bXBvc2l0aW9uRXhjbHVzaW9ucy50eHQKIAkkKFBFUkwpIGdlbmVyYXRlLXVuaWNvZGVfbm9y bV90YWJsZS5wbAogCit1bmljb2RlX2NvbWJpbmluZ190YWJsZS5oOiBnZW5lcmF0ZS11bmlj b2RlX2NvbWJpbmluZ190YWJsZS5wbCBVbmljb2RlRGF0YS50eHQKKwkkKFBFUkwpICReID4k QAorCiAjIFRlc3Qgc3VpdGUKIG5vcm1hbGl6YXRpb24tY2hlY2s6IG5vcm1fdGVzdAogCS4v bm9ybV90ZXN0CmRpZmYgLS1naXQgYS9zcmMvY29tbW9uL3VuaWNvZGUvZ2VuZXJhdGUtdW5p Y29kZV9jb21iaW5pbmdfdGFibGUucGwgYi9zcmMvY29tbW9uL3VuaWNvZGUvZ2VuZXJhdGUt dW5pY29kZV9jb21iaW5pbmdfdGFibGUucGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwMC4uZTQ2OGE1ZjhjOQotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9jb21tb24v dW5pY29kZS9nZW5lcmF0ZS11bmljb2RlX2NvbWJpbmluZ190YWJsZS5wbApAQCAtMCwwICsx LDUyIEBACisjIS91c3IvYmluL3BlcmwKKyMKKyMgR2VuZXJhdGUgc29ydGVkIGxpc3Qgb2Yg bm9uLW92ZXJsYXBwaW5nIGludGVydmFscyBvZiBub24tc3BhY2luZworIyBjaGFyYWN0ZXJz LCB1c2luZyBVbmljb2RlIGRhdGEgZmlsZXMgYXMgaW5wdXQuICBQYXNzIFVuaWNvZGVEYXRh LnR4dAorIyBhcyBhcmd1bWVudC4gIFRoZSBvdXRwdXQgaXMgb24gc3Rkb3V0LgorIworIyBD b3B5cmlnaHQgKGMpIDIwMTksIFBvc3RncmVTUUwgR2xvYmFsIERldmVsb3BtZW50IEdyb3Vw CisKK3VzZSBzdHJpY3Q7Cit1c2Ugd2FybmluZ3M7CisKK215ICRyYW5nZV9zdGFydCA9IHVu ZGVmOworbXkgJGNvZGVwb2ludDsKK215ICRwcmV2X2NvZGVwb2ludDsKK215ICRjb3VudCA9 IDA7CisKK3ByaW50ICIvKiBnZW5lcmF0ZWQgYnkgc3JjL2NvbW1vbi91bmljb2RlL2dlbmVy YXRlLXVuaWNvZGVfY29tYmluaW5nX3RhYmxlLnBsLCBkbyBub3QgZWRpdCAqL1xuXG4iOwor CitwcmludCAic3RhdGljIGNvbnN0IHN0cnVjdCBtYmludGVydmFsIGNvbWJpbmluZ1tdID0g e1xuIjsKKworZm9yZWFjaCBteSAkbGluZSAoPEFSR1Y+KQoreworICAgIGNob21wICRsaW5l OworICAgIG15IEBmaWVsZHMgPSBzcGxpdCAnOycsICRsaW5lOworICAgICRjb2RlcG9pbnQg PSBoZXggJGZpZWxkc1swXTsKKworICAgIG5leHQgaWYgJGNvZGVwb2ludCA+IDB4RkZGRjsK KworICAgIGlmICgkZmllbGRzWzJdIGVxICdNZScgfHwgJGZpZWxkc1syXSBlcSAnTW4nKQor ICAgIHsKKyAgICAgICAgIyBjb21iaW5pbmcgY2hhcmFjdGVyLCBzYXZlIGZvciBzdGFydCBv ZiByYW5nZQorICAgICAgICBpZiAoIWRlZmluZWQoJHJhbmdlX3N0YXJ0KSkKKyAgICAgICAg eworICAgICAgICAgICAgJHJhbmdlX3N0YXJ0ID0gJGNvZGVwb2ludDsKKyAgICAgICAgfQor ICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICAjIG5vdCBhIGNvbWJpbmluZyBjaGFy YWN0ZXIsIHByaW50IG91dCBwcmV2aW91cyByYW5nZSBpZiBhbnkKKyAgICAgICAgaWYgKGRl ZmluZWQoJHJhbmdlX3N0YXJ0KSkKKyAgICAgICAgeworICAgICAgICAgICAgcHJpbnRmICJc dHsweCUwNFgsIDB4JTA0WH0sXG4iLCAkcmFuZ2Vfc3RhcnQsICRwcmV2X2NvZGVwb2ludDsK KyAgICAgICAgICAgICRyYW5nZV9zdGFydCA9IHVuZGVmOworICAgICAgICB9CisgICAgfQor fQorY29udGludWUKK3sKKyAgICAkcHJldl9jb2RlcG9pbnQgPSAkY29kZXBvaW50OworfQor CitwcmludCAifTtcbiI7CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jb21tb24vdW5pY29k ZV9jb21iaW5pbmdfdGFibGUuaCBiL3NyYy9pbmNsdWRlL2NvbW1vbi91bmljb2RlX2NvbWJp bmluZ190YWJsZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLmI0 YTg1ODgyMzgKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvaW5jbHVkZS9jb21tb24vdW5pY29k ZV9jb21iaW5pbmdfdGFibGUuaApAQCAtMCwwICsxLDE5NCBAQAorLyogZ2VuZXJhdGVkIGJ5 IHNyYy9jb21tb24vdW5pY29kZS9nZW5lcmF0ZS11bmljb2RlX2NvbWJpbmluZ190YWJsZS5w bCwgZG8gbm90IGVkaXQgKi8KKworc3RhdGljIGNvbnN0IHN0cnVjdCBtYmludGVydmFsIGNv bWJpbmluZ1tdID0geworCXsweDAzMDAsIDB4MDM2Rn0sCisJezB4MDQ4MywgMHgwNDg5fSwK Kwl7MHgwNTkxLCAweDA1QkR9LAorCXsweDA1QkYsIDB4MDVCRn0sCisJezB4MDVDMSwgMHgw NUMyfSwKKwl7MHgwNUM0LCAweDA1QzV9LAorCXsweDA1QzcsIDB4MDVDN30sCisJezB4MDYx MCwgMHgwNjFBfSwKKwl7MHgwNjRCLCAweDA2NUZ9LAorCXsweDA2NzAsIDB4MDY3MH0sCisJ ezB4MDZENiwgMHgwNkRDfSwKKwl7MHgwNkRGLCAweDA2RTR9LAorCXsweDA2RTcsIDB4MDZF OH0sCisJezB4MDZFQSwgMHgwNkVEfSwKKwl7MHgwNzExLCAweDA3MTF9LAorCXsweDA3MzAs IDB4MDc0QX0sCisJezB4MDdBNiwgMHgwN0IwfSwKKwl7MHgwN0VCLCAweDA3RjN9LAorCXsw eDA3RkQsIDB4MDdGRH0sCisJezB4MDgxNiwgMHgwODE5fSwKKwl7MHgwODFCLCAweDA4MjN9 LAorCXsweDA4MjUsIDB4MDgyN30sCisJezB4MDgyOSwgMHgwODJEfSwKKwl7MHgwODU5LCAw eDA4NUJ9LAorCXsweDA4RDMsIDB4MDhFMX0sCisJezB4MDhFMywgMHgwOTAyfSwKKwl7MHgw OTNBLCAweDA5M0F9LAorCXsweDA5M0MsIDB4MDkzQ30sCisJezB4MDk0MSwgMHgwOTQ4fSwK Kwl7MHgwOTRELCAweDA5NER9LAorCXsweDA5NTEsIDB4MDk1N30sCisJezB4MDk2MiwgMHgw OTYzfSwKKwl7MHgwOTgxLCAweDA5ODF9LAorCXsweDA5QkMsIDB4MDlCQ30sCisJezB4MDlD MSwgMHgwOUM0fSwKKwl7MHgwOUNELCAweDA5Q0R9LAorCXsweDA5RTIsIDB4MDlFM30sCisJ ezB4MDlGRSwgMHgwQTAyfSwKKwl7MHgwQTNDLCAweDBBM0N9LAorCXsweDBBNDEsIDB4MEE1 MX0sCisJezB4MEE3MCwgMHgwQTcxfSwKKwl7MHgwQTc1LCAweDBBNzV9LAorCXsweDBBODEs IDB4MEE4Mn0sCisJezB4MEFCQywgMHgwQUJDfSwKKwl7MHgwQUMxLCAweDBBQzh9LAorCXsw eDBBQ0QsIDB4MEFDRH0sCisJezB4MEFFMiwgMHgwQUUzfSwKKwl7MHgwQUZBLCAweDBCMDF9 LAorCXsweDBCM0MsIDB4MEIzQ30sCisJezB4MEIzRiwgMHgwQjNGfSwKKwl7MHgwQjQxLCAw eDBCNDR9LAorCXsweDBCNEQsIDB4MEI1Nn0sCisJezB4MEI2MiwgMHgwQjYzfSwKKwl7MHgw QjgyLCAweDBCODJ9LAorCXsweDBCQzAsIDB4MEJDMH0sCisJezB4MEJDRCwgMHgwQkNEfSwK Kwl7MHgwQzAwLCAweDBDMDB9LAorCXsweDBDMDQsIDB4MEMwNH0sCisJezB4MEMzRSwgMHgw QzQwfSwKKwl7MHgwQzQ2LCAweDBDNTZ9LAorCXsweDBDNjIsIDB4MEM2M30sCisJezB4MEM4 MSwgMHgwQzgxfSwKKwl7MHgwQ0JDLCAweDBDQkN9LAorCXsweDBDQkYsIDB4MENCRn0sCisJ ezB4MENDNiwgMHgwQ0M2fSwKKwl7MHgwQ0NDLCAweDBDQ0R9LAorCXsweDBDRTIsIDB4MENF M30sCisJezB4MEQwMCwgMHgwRDAxfSwKKwl7MHgwRDNCLCAweDBEM0N9LAorCXsweDBENDEs IDB4MEQ0NH0sCisJezB4MEQ0RCwgMHgwRDREfSwKKwl7MHgwRDYyLCAweDBENjN9LAorCXsw eDBEQ0EsIDB4MERDQX0sCisJezB4MEREMiwgMHgwREQ2fSwKKwl7MHgwRTMxLCAweDBFMzF9 LAorCXsweDBFMzQsIDB4MEUzQX0sCisJezB4MEU0NywgMHgwRTRFfSwKKwl7MHgwRUIxLCAw eDBFQjF9LAorCXsweDBFQjQsIDB4MEVCQ30sCisJezB4MEVDOCwgMHgwRUNEfSwKKwl7MHgw RjE4LCAweDBGMTl9LAorCXsweDBGMzUsIDB4MEYzNX0sCisJezB4MEYzNywgMHgwRjM3fSwK Kwl7MHgwRjM5LCAweDBGMzl9LAorCXsweDBGNzEsIDB4MEY3RX0sCisJezB4MEY4MCwgMHgw Rjg0fSwKKwl7MHgwRjg2LCAweDBGODd9LAorCXsweDBGOEQsIDB4MEZCQ30sCisJezB4MEZD NiwgMHgwRkM2fSwKKwl7MHgxMDJELCAweDEwMzB9LAorCXsweDEwMzIsIDB4MTAzN30sCisJ ezB4MTAzOSwgMHgxMDNBfSwKKwl7MHgxMDNELCAweDEwM0V9LAorCXsweDEwNTgsIDB4MTA1 OX0sCisJezB4MTA1RSwgMHgxMDYwfSwKKwl7MHgxMDcxLCAweDEwNzR9LAorCXsweDEwODIs IDB4MTA4Mn0sCisJezB4MTA4NSwgMHgxMDg2fSwKKwl7MHgxMDhELCAweDEwOER9LAorCXsw eDEwOUQsIDB4MTA5RH0sCisJezB4MTM1RCwgMHgxMzVGfSwKKwl7MHgxNzEyLCAweDE3MTR9 LAorCXsweDE3MzIsIDB4MTczNH0sCisJezB4MTc1MiwgMHgxNzUzfSwKKwl7MHgxNzcyLCAw eDE3NzN9LAorCXsweDE3QjQsIDB4MTdCNX0sCisJezB4MTdCNywgMHgxN0JEfSwKKwl7MHgx N0M2LCAweDE3QzZ9LAorCXsweDE3QzksIDB4MTdEM30sCisJezB4MTdERCwgMHgxN0REfSwK Kwl7MHgxODBCLCAweDE4MER9LAorCXsweDE4ODUsIDB4MTg4Nn0sCisJezB4MThBOSwgMHgx OEE5fSwKKwl7MHgxOTIwLCAweDE5MjJ9LAorCXsweDE5MjcsIDB4MTkyOH0sCisJezB4MTkz MiwgMHgxOTMyfSwKKwl7MHgxOTM5LCAweDE5M0J9LAorCXsweDFBMTcsIDB4MUExOH0sCisJ ezB4MUExQiwgMHgxQTFCfSwKKwl7MHgxQTU2LCAweDFBNTZ9LAorCXsweDFBNTgsIDB4MUE2 MH0sCisJezB4MUE2MiwgMHgxQTYyfSwKKwl7MHgxQTY1LCAweDFBNkN9LAorCXsweDFBNzMs IDB4MUE3Rn0sCisJezB4MUFCMCwgMHgxQjAzfSwKKwl7MHgxQjM0LCAweDFCMzR9LAorCXsw eDFCMzYsIDB4MUIzQX0sCisJezB4MUIzQywgMHgxQjNDfSwKKwl7MHgxQjQyLCAweDFCNDJ9 LAorCXsweDFCNkIsIDB4MUI3M30sCisJezB4MUI4MCwgMHgxQjgxfSwKKwl7MHgxQkEyLCAw eDFCQTV9LAorCXsweDFCQTgsIDB4MUJBOX0sCisJezB4MUJBQiwgMHgxQkFEfSwKKwl7MHgx QkU2LCAweDFCRTZ9LAorCXsweDFCRTgsIDB4MUJFOX0sCisJezB4MUJFRCwgMHgxQkVEfSwK Kwl7MHgxQkVGLCAweDFCRjF9LAorCXsweDFDMkMsIDB4MUMzM30sCisJezB4MUMzNiwgMHgx QzM3fSwKKwl7MHgxQ0QwLCAweDFDRDJ9LAorCXsweDFDRDQsIDB4MUNFMH0sCisJezB4MUNF MiwgMHgxQ0U4fSwKKwl7MHgxQ0VELCAweDFDRUR9LAorCXsweDFDRjQsIDB4MUNGNH0sCisJ ezB4MUNGOCwgMHgxQ0Y5fSwKKwl7MHgxREMwLCAweDFERkZ9LAorCXsweDIwRDAsIDB4MjBG MH0sCisJezB4MkNFRiwgMHgyQ0YxfSwKKwl7MHgyRDdGLCAweDJEN0Z9LAorCXsweDJERTAs IDB4MkRGRn0sCisJezB4MzAyQSwgMHgzMDJEfSwKKwl7MHgzMDk5LCAweDMwOUF9LAorCXsw eEE2NkYsIDB4QTY3Mn0sCisJezB4QTY3NCwgMHhBNjdEfSwKKwl7MHhBNjlFLCAweEE2OUZ9 LAorCXsweEE2RjAsIDB4QTZGMX0sCisJezB4QTgwMiwgMHhBODAyfSwKKwl7MHhBODA2LCAw eEE4MDZ9LAorCXsweEE4MEIsIDB4QTgwQn0sCisJezB4QTgyNSwgMHhBODI2fSwKKwl7MHhB OEM0LCAweEE4QzV9LAorCXsweEE4RTAsIDB4QThGMX0sCisJezB4QThGRiwgMHhBOEZGfSwK Kwl7MHhBOTI2LCAweEE5MkR9LAorCXsweEE5NDcsIDB4QTk1MX0sCisJezB4QTk4MCwgMHhB OTgyfSwKKwl7MHhBOUIzLCAweEE5QjN9LAorCXsweEE5QjYsIDB4QTlCOX0sCisJezB4QTlC QywgMHhBOUJEfSwKKwl7MHhBOUU1LCAweEE5RTV9LAorCXsweEFBMjksIDB4QUEyRX0sCisJ ezB4QUEzMSwgMHhBQTMyfSwKKwl7MHhBQTM1LCAweEFBMzZ9LAorCXsweEFBNDMsIDB4QUE0 M30sCisJezB4QUE0QywgMHhBQTRDfSwKKwl7MHhBQTdDLCAweEFBN0N9LAorCXsweEFBQjAs IDB4QUFCMH0sCisJezB4QUFCMiwgMHhBQUI0fSwKKwl7MHhBQUI3LCAweEFBQjh9LAorCXsw eEFBQkUsIDB4QUFCRn0sCisJezB4QUFDMSwgMHhBQUMxfSwKKwl7MHhBQUVDLCAweEFBRUR9 LAorCXsweEFBRjYsIDB4QUFGNn0sCisJezB4QUJFNSwgMHhBQkU1fSwKKwl7MHhBQkU4LCAw eEFCRTh9LAorCXsweEFCRUQsIDB4QUJFRH0sCisJezB4RkIxRSwgMHhGQjFFfSwKKwl7MHhG RTAwLCAweEZFMEZ9LAorCXsweEZFMjAsIDB4RkUyRn0sCit9OwpkaWZmIC0tZ2l0IGEvc3Jj L3Rvb2xzL1JFTEVBU0VfQ0hBTkdFUyBiL3NyYy90b29scy9SRUxFQVNFX0NIQU5HRVMKaW5k ZXggNDYxMzk4NzdlZC4uYTdiZmY3NmI3NiAxMDA2NDQKLS0tIGEvc3JjL3Rvb2xzL1JFTEVB U0VfQ0hBTkdFUworKysgYi9zcmMvdG9vbHMvUkVMRUFTRV9DSEFOR0VTCkBAIC03Nyw2ICs3 Nyw5IEBAIGJ1dCB0aGVyZSBtYXkgYmUgcmVhc29ucyB0byBkbyB0aGVtIGF0IG90aGVyIHRp bWVzIGFzIHdlbGwuCiAKICogVXBkYXRlIGluZXQvY2lkciBkYXRhIHR5cGVzIHdpdGggbmV3 ZXN0IEJpbmQgcGF0Y2hlcwogCisqIFVwZGF0ZSBVbmljb2RlIGRhdGE6IEVkaXQgVU5JQ09E RV9WRVJTSU9OIGFuZCBDTERSX1ZFUlNJT04gaW4KKyAgc3JjL01ha2VmaWxlLmdsb2JhbC5p biwgcnVuIG1ha2UgdXBkYXRlLXVuaWNvZGUsIGFuZCBjb21taXQuCisKIAogU3RhcnRpbmcg YSBOZXcgRGV2ZWxvcG1lbnQgQ3ljbGUKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tIAoyLjIzLjAKCg== --------------815006D5A137BEFFC542B319--