From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Cecilio Pardo Newsgroups: gmane.emacs.bugs Subject: bug#73730: 31.0.50; Support for color fonts on MS-Windows Date: Wed, 23 Oct 2024 00:14:12 +0200 Message-ID: <8e5ffc88-dda8-4b4d-a133-f80029825347@imayhem.com> References: <36a6b4d5-c719-44d6-957d-bcd7db5a854b@imayhem.com> <86o73s14x5.fsf@gnu.org> <0a0c622c-5b69-4f30-94b1-67a238e124b4@imayhem.com> <861q0gqpkf.fsf@gnu.org> <0d2238ff-5cf9-4ba7-97ab-11b76892198d@imayhem.com> <86bjzjp7vv.fsf@gnu.org> <80dc50bd-b2d4-4d21-ad38-322412588b3b@imayhem.com> <86o73ej2u7.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------5qUMQzuuu1UJMC8v0A9VT00k" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="26519"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla Thunderbird Cc: 73730@debbugs.gnu.org, kbrown@cornell.edu To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Wed Oct 23 00:14:59 2024 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1t3N9W-0006k9-R8 for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 23 Oct 2024 00:14:59 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t3N9B-0002EJ-SY; Tue, 22 Oct 2024 18:14:38 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t3N98-0002Dw-64 for bug-gnu-emacs@gnu.org; Tue, 22 Oct 2024 18:14:34 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1t3N97-0002NA-TZ for bug-gnu-emacs@gnu.org; Tue, 22 Oct 2024 18:14:33 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=In-Reply-To:From:References:MIME-Version:Date:To:Subject; bh=0dp2PfUiXqiDIt1l1DMU5e+xT1C5FV3HMWMF5Yrw7bE=; b=PEkN4HWJWn5cuASiNwMYA7/2ErSqBWljQYXu5wBrN4qTc7dATKf8TCYnyZ+AGWluipJ+xolX9tgbGDC29VHyLjn6reuXr9RPx2enXY/5bFJIXIIe7/EzBWNoksLiVqBzutpR3ZyCGokj4hAAnnjszesdTyftXOqey5Op8wrMZkKLW1yrStpKcV7bsrBpQrExfP1juOf5al5zru8P86OCjkC1VvFJONfQ7u6pXz37/yz1Uf1mvMl1dDF8Jyfx6BIzVr85kGWcvXfGz3wZCQ6QduihnbfgAaDm/VXPYQMywO4tBrEw1LIIZLw6w/jZugfJipd5TCPFBNurS7lk4BpH2Q==; Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1t3N9Z-0002wF-Sj for bug-gnu-emacs@gnu.org; Tue, 22 Oct 2024 18:15:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Cecilio Pardo Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 22 Oct 2024 22:15:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 73730 X-GNU-PR-Package: emacs Original-Received: via spool by 73730-submit@debbugs.gnu.org id=B73730.172963528911255 (code B ref 73730); Tue, 22 Oct 2024 22:15:01 +0000 Original-Received: (at 73730) by debbugs.gnu.org; 22 Oct 2024 22:14:49 +0000 Original-Received: from localhost ([127.0.0.1]:57729 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t3N9N-0002vS-JR for submit@debbugs.gnu.org; Tue, 22 Oct 2024 18:14:49 -0400 Original-Received: from mail.imayhem.com ([82.223.54.191]:39497 helo=zealous-pike.82-223-54-191.plesk.page) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t3N9L-0002vC-BD for 73730@debbugs.gnu.org; Tue, 22 Oct 2024 18:14:47 -0400 Original-Received: from [192.168.68.104] (111.red-88-21-7.staticip.rima-tde.net [88.21.7.111]) by zealous-pike.82-223-54-191.plesk.page (Postfix) with ESMTPSA id EA65A80138; Tue, 22 Oct 2024 22:14:12 +0000 (UTC) Authentication-Results: zealous-pike.82-223-54-191.plesk.page; spf=pass (sender IP is 88.21.7.111) smtp.mailfrom=cpardo@imayhem.com smtp.helo=[192.168.68.104] Received-SPF: pass (zealous-pike.82-223-54-191.plesk.page: connection is authenticated) Content-Language: es-ES In-Reply-To: <86o73ej2u7.fsf@gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:294128 Archived-At: This is a multi-part message in MIME format. --------------5qUMQzuuu1UJMC8v0A9VT00k Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Here is a new version with pending issues addressed. - No abort any more. Now, any failure marks the font as not usable, falling back to previous driver. If the error is general, then all of DirectWrite is disabled. eassert and DebPrint are called in these cases. - Added a NEWS entry. - The struct uniscribe_font_info is now in w32font.h - Build without warnings in both versions on MinGW. Some things I think we didn't discuss before: - DirectWrite is available since Windows 7, but color glyphs are available only since Windows 8.1. We only enable DirectWrite since Windows 8.1. This is stated on the NEWS entry. - The default value for the Gamma render parameter in DirectWrite gives very 'light' characters. I changed it to 1.4, which matches GDI and looks better. But that's just my opinion. I couldn't find any hebrew font with color glyphs to test RTL display. I found a latin+arabic one, Cairo Play: https://github.com/Gue3bara/Cairo https://fonts.google.com/specimen/Cairo+Play It displays diacritics in different colors on both scripts. It seems to work fine in emacs. I attach captures with and without DirectWrite, and compared to Courier New. --------------5qUMQzuuu1UJMC8v0A9VT00k Content-Type: image/png; name="emacs_KbWp4eBFOp.png" Content-Disposition: attachment; filename="emacs_KbWp4eBFOp.png" Content-Transfer-Encoding: base64 iVBORw0KGgoAAAANSUhEUgAAAqwAAAH3CAYAAAB+Yw2ZAAAAAXNSR0IArs4c6QAAAARnQU1B AACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAIRQSURBVHhe7b0JnBX1me/dc9/rneT2 +DI3Q/AlJh0CgahtMEIAWQIY7KRdegYCrYEEA4LBACJooxhkiQgILgSR4AKKigitiAoKIggJ YDQyGgIuaAA1oCaMMZEk05qZ+7z11HaeU/2c2k7VWbp/38/nC31qr39V/etX/1NVp+Lzn/8i nWxaZdrhS53oq12/Rl//ek/q2+8b1H/AwPTtn6wDzh5EA7/5LZiWZ+drTdEcACGELUStjiuc Wt1eILXzEkzZb8f27CAHWX5jwDnU86z+9LVuZ9GXv9KVvtjxNPpip9OoQ6dq0woZVk+r/ir1 +0Z/OuNrZ9Ipp51GHb/8Zar6UgcIIYQQQghTs+OXO9Op1acbgfXrRtD9FnU9s1dWaDUCqxVW uxkD9OjZizp17qxOCEIIIYQQwrTt1KUz9erdj87qM9AIq1ZoNQMrt6z26HmWOhKEEEIIIYSF lkOr09Jawfes8m0AaFmFEEIIIYSlIre0Djj7W+Y9rRVf/eoZ5j2r2oAQQgghhBAWS76n9Yxu Z1FF96/3NB+w0gaCEEIIIYSwWPKDWD3P+gZV8Kurwr4N4Itf+hJ9seOXzL+/XHU69Tn13+jb Xx9L3+4+hnqfWmd0s4KvOZyhHBdCCCGEEMIo8tsD+JVXFfweVG0Ar04A7VR1Cv1r7yvpqjHr aObUrTRr2nb68ZStdNXYjTSh/gGq7f5D6lBlBWCEVgghhBBCmI/8vtYKftG+1lP6xY4dzf9P /eLXafzQFXTDT3bT/BtfoDnG/wtueI7uueNleurxN2j5kl/TdT/aQpfU3EJfrqq2xkVohRBC CCGEMeX3soYKrGynz59Clw25ywiqv6Lrpv+cftywnWZevYNuv/lX9NhDr9HRtz8i5jYjxM4a t40uPns+VVVZQRdCCCGEEGZ778qV9F//9V9mftLgfjyMNm4xffvwIbrou99V+7Hc761DB9V+ cYwUWC/oOZHmzN5FM6fvoPvv+Q298foHdOSdj+gPv/8rvXP4T/T+0eP01hsf0k0NO2jGJZtp 5g+epAGnXaROy+vRd99VuxfaF371K1Ot360/XWTvPhYXjx7l9uO/D7xxIGv4OHrheXJ3XibG OzyXmzMMz//xJ57I6s+fcy2XF2c65ahTPg7OtuF1l3i3LZefVj5eZNn8+c9/trta8Gc5bq7h 5P4CIYQQshxIz/nWt+j0M7qq9h84wBxGG7eYciB9//331NDq1y+uoQPrlz9/Gl05ei3Nn/8C /fjKZ+mxxtfNk/DvjKD609m7ab4RUudOftYKqqM30axRT9Gc0Vtp7Dd/Sl/8Qu5bApxA5Zgr LCYhB4ig0MDzz7UMsjsvtxOyebmd9eB5xAl+PA4jl4+7OQGU583wPJz+bL6BVeteavL6+V3Q 8Pp5+zvr7C0TRm4f3l5a4GScv51t43z27kfOtpHdGDlfZxoIrRBCCKUMB1OtnyOjdS+2WjBN I6yyoQNrz6+cSzOmbKHrZ+ykG378C5o+aRs9eNdeOvzmH2nbhoO0cOoOuvb7T9KsMZtpNgdW 4++Z39tEDXWr6fQv5f4FLT6B84mdQ4A3bCWtN2ho+gVWKU/HCTr8NwejMNPPZdC4znLxcDJw tfbA6teP9ZaJ3L7cnf/Wys1bNs62dv72bitnOvw3/+/MQ+q3LSCEELZOmXINrKwMqGmFVTZ0 YB30tYtp1lXb6PppO2jGFdtoxsStdMuMXbTp4QPU9Le/m4X53ObDNGfs00ZQNcLq8I0086KN 9OO6R6hn52+r03R0woAMBRxCHGSYkHBYcUIAj8vjcJCQOMGB+zs4Acc7LH/m4VlneLlMUhmU +G9eBh7fLzzlMih0sc5y8bDecuJu/Dcvgzd4+YUkJld3Hs+BuznlIZeTpytxurM8nIOzDWQ3 73KyPJyEy5PXTeIdT1tnqbc/z8P57JSdVv6M8zcPL/tzWfCyOZ9ZOQ2tP8vdcu1PEEIIW6dM OQdW1gmqaYVVNnxgPcMIrJO30szJ2+jWWbvpt699YBbg3z/5b/r3nx+hNbe9RLdP+wXNvvgp mnHRBppZv4GuH/oUzTz30cDA6pUDghayGCecOfKwjBYQWMb5WwYJ/p/xjueEJqc7hxAZeBzl MPnK6yTX11knxgl7/L/zNw/r/O2ELqe7d1lzlSXrRXZ3xuH/GWdduQy924CVy8fL5Pzt6Lcc mnJ4GQa98jDa8jhyf6dM5DZnZXj0hkyJd7m9w7JyenK6XhmtO4QQwvwNizZusWQQWIO1A+sA tae051dqafplT9KMCVvp0OtWWD323l9o7vitNKXuUWr41/V09eDH6LqhT9CsoUZYHbyRbqzb QjO+2UjVHXqp08wln/wZGXpyhRYtCPFnidNdBo1cAUoGL+0zL4ecZlgl3oCVa93kvL3LwfC6 5BtYg7p7x5fzcLaTg7N8jDO8o7ZNNSXOfHOVD6uts5T7S5yy8pan9zPD/zvL7XRntcAql1Hr z3I3vzALIYSw9cngloBgQwfWL3/hNLqi/gGa+aNnadtjb5qF96cP/tNtWb31imdpwaVb6Ibv PkVz6p6kuec+RT897+c0ocdi+nyVPs0gOUAwHEhyhRYtUGnBg803sPI4uYJTvjLekCPnLf9m neVnc4WwXN0cmaDuWvlyN15WOZycj+zulYdheBrefoy2ffwCKw/nt02c5fV2533BiwyTjPM3 L7MsAy2Qcn9n/eXfUrlOEEIIIcvgoatgQwdW9rxu42i2EUp//P2NdPf1z9HLvzhCf/z9X+kP v/uI3nrlA/q9/R7Wowc+pNuGPEs3DdhMAzsPU6cVVnmSZ5xwpvVn+W8noPD/jNOPg40zvhO4 /EKi93OarWM8D8bbzZm3/NuRl4d11on/906D8a6j7BfUPVf58jRlefDfzvJxOXuXVeqdpqOc L0/DGcY7L6/czzs957OzvLIfl5M2Pe7mlKVcFuezU448nCxTnoecHvdj5HydbSPHgxBCCPmV VfzqKq0f27P3WXitlWGkwPqlL5xCYwctprmXPkvThj1OU//tUVp42RZas/BFenbV67R3y+/o V+sO04MTX6Clg3bRJV3n0OervqhOy08+0Uuc7k4QcOAQ4A0/TjBguDvj9OMQxTgtcnJYhqfv DYbys4YTcJLQu96M08+7XKyz/HIZvNOQocmrF7mezjDe8pUBkMvRgbvL5eMA58DdvcvlDCd1 thfDf8v5OtPLtT5yWRinu1xe2c1blix3c+Ypp+H0c0KpXDdGLqfUizYMhBDC1m05/nDAFzt+ yfxRAL9Ayv34xwW0fnEMHVh54fj/Uzp0o7EDF9Gs4U/S/B88Qz+b9Au68/KdtPQHO+im2q20 sNc2uvmsLXRp1/n0pS+eYo2Ln2aFEEIIIWwxOrmwUEZqYXWCZ0cjiJ7bdRxNOns5TR/0CP3k 7A00b8CTNK//E/Tjs1bSt7/yA6r6ovWTrAirEEIIIYQwH83Aet2MmWpPTQ6gTqru9MXTqFfn Wjrn1O/RoK+MoB4dz6EOX+ySGQ5hFUIIIYQQ5qkZWO+88261J4QQQgghhMXWDKxTr75G7Qkh hBBCCGGxjXQPK4QQQgghhIUWgRVCCCGEEJa0ZmC9+pppak8IIYQQQgiL7cCzjcB6x513qT0h hBBCCCEstmZgnXbtj9WeEEIIIYQQFlszsH4D97BCCCGEEMIS1QysQ4fV279YCwAAAAAAQGnh 3sMKAAAAAABAKWIG1rnz5tsfAQAAAAAAKC3ce1gBAAAAAAAoRRBYAQAAAABASRMysDZSfUUF VQhPm7WfaP8sOq3iNOI/rWGcv5Om+fzrG+1eWYhlyFq2hGmsz1oWsyzikOYyxiJsOSs4ZXLa LDJXx/u5wDTWZ6+HY7xtlda+nWu6YeaX1jIBAAAApUeEwFrME2jYaecaLsFlM4OYnNZ+mnVa 2CCUZhklgWf5zEBdb3QNgseT4db7uZgkUeZpbbdc0w0zv7SWCQAAACg9EFgjYYXTZkEsUrBL q4ySwLt8ccu9lNYziWVJa31yTTfM/EqpjAEAAIB0GXB2TT6BVXb3DGOGOOer2DBhzg+fk7OY z2mzZinLw/9nvhKuyKfZL2cw5SDrmW+jXC7uoS2HZ72yyszbYmkMNytzK0KmRdcK0c3HiYNn ebg12Z2gp5/7mf/PzN/aBvKzPYK6P1jTqK8/ze6W5Lo4eJY7ZxkbBJW/OY0Uy9vFb5mzy84a xv672T4HAAAAtAwiBNbMSTpzolZOms3+5o/1eZ5AvfOXJ+1MaNg/i4NPiOWJCwcH9Z5M2fJq L6sznBk2ci2HdxlFAGo2njFNp6d5W4JdBlmhMl/s+bg65cwELXuufozns7s/cHcRrhJdFwfv cvqXce5+9t+plrdUmbf5UZZd9rLr+xwAAABQ/qTTwmqeMD0n4LxO8jnmz/PJCpA5lifX+FEx 10uGOAelhVXMix8Aslbf2098VqYdfrykWtQ88zGn7Xz2WQbffgb2MjbfH/ThklkXBzEPvzL2 69dsGimVt0vz+fmXXfPpZJYdAAAAKH9SDKxasItLjvnzfAoZWM1gqgSBrPX1zsvb+ir7ic9K mYUKrDZW63K+ISXmsgctX879wTueRTLr4iDm4VfGkco/qWXU1z9omS3kuN7p5NhPAQAAgDIl pXtY+e8kW8r85p85Mad+SwDDXwlnBQjvuno+ZwUO73J4l1GEjNDjZeD1z6/MPdM1l8H57AlB ZjnIZfdbPv6s7Q/6ejD5r4uDnIe1HLnLOGz5WyRe3i7Nl9m/7DzDZC07AAAAUP4U6KEr52vM uFgnZHdahu7J2QxOTjftoStzKLO1zBwur+WwEfNksydpzdd6kKh5/+zl8Csz0d07nPyctSz5 hhSerjMt7zIYyHnV14tl8lk+B3V/8AyX6Lo4eOaRs4wNwpR/4uXtWQYTv2U2bFZ21t+59jkA AACg3AkZWEF4coUQANIC+xwAAICWDQJr4iA8gEKDfQ4AAEDLBoE1cRAeQKHBPgcAAKBlg8AK AAAAAABKGiuwfmMAffTRRxBCCCGEEJacbmD905/+BCGEEEIIYcnpBlYAAAAAAABKkazAqiVa CCGEEEIIi+VPf/pTBFYIIYQQQli6cmDlrIrACiGEEEIIS1IEVgghhBBCWNIisEIIIYQQwpIW gTUPK/6hIrba9CCE8a2oMI4toTYMhBDC8jRyYPWeFMKoTafc5dD53Aur6df71kd2yZ3XIbRC GFOtjmGffvpp+r//9//Sxx9/TFOnTlWHYbVpFlJtmYLUpgMhhK3JSIGVK859+/bR3/72N3NY P/ik8cYbb9B3v/vdFlfhcth8971fq2E0rOUeWjkQJKU2/SDvvfde2r17t9qvlE1qucOUW9yy LWW5LvnrX99v5oUXDjHrnZUrV9KSJUvouuuuM7vt3v1M1nAvP7cykfoo7nZEHQohhPGMHFjD VLQOv/zlL2nv3r306quvJlrh8rRyqQ2ftE7rqvTZn98T6MbNS10faryxbAMrB6HNmzfThg0b 6K677qJNmza5Pvnkk6ZPPfWU+T8P43Xjxo105513mv+vX78+VrBKK7CmvQ+Va2DlaUVVm06+ 8vbh4PnaS42u61YvoPNr+5l1zuWXX04TJ06ktWvX0jf6fI2WLZ5GP998hzvswmu/kcg2ziew lkIdCiGE5WbkwOoHfx3n/P/f//3ftGPHDnr77bfNce++++5EKtx/MELek5sfpCPv/aaZ8xde Td2/Xq2Ol6QcNGX49JODqWY5t7ByGOFAumbNGrM1i8PB6tWrTVetWuX+/+CDD5r/33///a73 3HOP6e23324Ot2zZsljhJo3Ayvtn2qEgieXm8uLg71du3G/r1q2xylaTp7Nu3TrauXNnoL/4 xS/oiSeeSGzeUt4+HFh3PnOX6fqHFtI53+xJn3zyCX344YdmwHv99dfpN7/5DU2fPp2+1rUL Lbhhojncrq130Q1X9khkG+cTWP0oRB0KIYTlaCKB1alc/+u//u7+//e//53Wr3+Ufv/735vD HD58mBYtWpR3hVtZWUnvHH2ZXt6/3vWlfY+aPvHUz+irX+2sjpekHDQ5dHKraZxW1gmXD28R gfWhhx6in/3sZ2YoZR944AFT5zOf1Pkz/8+fnbDKn3k8DrT8f5xgk0Twk/J++eHRLakHgiSW m8uLg8xNN92k9mfvuOOOxAMrh9Fnn302tEnNW8rbR7awcssqlyfviyyHam7153A3b948+uY3 v2kOw62wPPwNk7snso3jbkeet0Yh61AIISxH8wqsspLlyvWTTz52///44yYjpDxgjsf85S9/ oZdfftlsZYtb4Xb68hdoxb0/NQPrc79aTbteeJCee/Eh+uWeNfTCS2tN67/7bfrcyZ9Vx09K J7BySJWtpkFySGXP+9eBiQZWv/JM4+TGQYS/7ucWVv5qn0/cUeXxOLAuXbo0VrBJMrByGX34 3s/pj6/ONv+WasPnY5KBdfny5WrZOf35oiJO2WrydDiw8jZzLjz4flEOphwS+TP/zf/z57QD 6ws77jFbWLn19FuDelGP7qfRV6s7NVO2sD737Aq6/orSCqyFrkMhhLBcjRVYtUqWK9empv90 /2/6z7+ZJy8eJ5faPPzs0OFztP/VX9Czv1hJGzb/jB57cilt2LSMnnrmTnrGOIFt/fm99JO5 E6n/gG70D//wD+o8HbXph9UvsF73kx+aLaiO/JnDqTTpwMpq65TU+nrlIMKBlb/Szzew8q0B cYJNUoGVy+bDI0+ZYVX6yqaR9MTScxIvu6QC67Zt2+jRRx81D2Bvf25d3b59u9nimFRo5OmU Ygsry/ep+invYS2VwCrrUL4f/NvfHkD/+39/2vT88wfRxo0b6D//9tfE61AIISxXYwVWLahy QOUK1vn/b3/7C/3l+Ed06OBvad9vfk2bNj1J996zgiZfcQVdesmIWJUtt7C+cfB5Wr/xdmpc v4geeGgBrW68yfx77bpb6aGHb6FVaxbSfQ/eSI3rfkYbnnyQNj/TSFu2Pkw/3/kE/fJXm+hX //4Mbdm2Jq/K3i+wckj1dmMLEVjlOjmfvd2TkIOIDKz8dxQff/xxczwOVLfddlusYJNE8ONy 4dsAvGFVuvexIYmWX1JBe8WKFWorK//ttK7ecsstWePkI0+XAytfYCxevNgMpHw7h7dFNYra fILkbSFbWKWzrh1LF5zbj05q9xn6l8+0yZIfwOrf90w6peM/u8eEozafIPMNrE4dunbtGvr6 17sa2/MWevnlp2nXrvXGdptFPXp8jR55pJH+/KcPE61DIYSwXI0VWLWgygH1r3857v7PYfWj j/5ER468Q28ceI1ef/1V+vc9v6L1jz5CN94wPVZl+0//9Gk6ePhF+tndM2nF/fNo6R3X0c/u nEl3rfgJ3blitvn3ivtuoAeNELtq7UJ6YM0Cut8Irxxs739wPt37wDy6+545tOCWhrwq+6AW Vm83Nu3AyvI6Oevl/J3PeuaSwwYHT6eFlE/cUXUCK4efOOEl3+DH5bJj/VVqSPW6Y2VtYuWY VGDlMuOHm7iVdeHChW53DqkcWLl73FCoydPya2Hl/hxc5Tb2k1sV4ywfbwdvC6vjt885y3wY LQpxn77PN7A6dei3vjXAuOi4md5559f0wQfvGdvuEXriiXvp+usb6IILzjHrz7ffPpxYHQoh hOVqrMCqBVUOqMeP/9n9n8Pqhx9+QH/84Bh98B9/oN+//y69sn8f7dr5C1q08CexKlse5/U3 X6Ab5k2iGT/5EX223WfMbnHl2wZYbV5++gVWGUw1F9x6ZeqBVaoNl68cNDgYcGDN55YAbqHl HTBOcEki+HH53DHhH2nv7f+k+tamC8zAemCndYGTRHkmFVhZvof05z//uVmWXIY33HCDeSsA t65yy7U2Tlx5+t57WDmo8v/c2sv95fYNY5ztztuAA+umR39KjzfenGWvHtVm/RSVONs138DK dSjXn5/+9KfolVe209///olRvo8aF4L3G8fFUiPELqJPfeof6eWX/51+985b9B/Hfp9IHQoh hOVqrMD6t78aIfWvVkiVAfXPf/7Q/f/Pf/qjGVa5ov3D79+jo0feoSO/e4t+s/cluuXGmbEq Wx7ntTdeoGtnjKNvDPg6vfXWATr2wUF6/9iB0L73h9fpd+/up0Nv/5re+O0ew71Uffop6vxy 6QRWfuLfG0gdOZjmst/Abub/SQdWlsvIUeufhBw0ZGD1fuUfJI/rBNZi3hLAcjktGvu/1MDK vrLi82ZofXyJcZAkUKZJBlYuNw6sXKb8RDy/Iuyxxx5LvHWV5ekFtbDyevErzpxXmPH+wd14 e/Nn/pv/58/8d5xl5G2Qq4X1s23/2ayfuOWen6Zn+X5eh+eee87sxvD//JmJs13zDaxch3K9 +elPf5p+9asn6eBB/sp/FTU23kF3332TsQ0fMO9nfWbL02br6vvvHU2kDoUQwnI1VmA1Q+pH Vkj9kxFMuSWVA+qfxP8f/vE/zLBqVbRvmxXtO28forcP/5aW3XZjrMqWx3ntjefoiqsuphNP PJH+8pf/yHq9VS6d116xv3r5YXruxTX0i+dWmQ9qPfzYYurUuUqdXy6dwMrBlFtLo3rRd2vM wPr17qer048rl49Xbbh85aDBL/3P95YAHr9YtwRIuZyc0CrLzml9PbzpPNqz6fJEyjPJ5Wa5 7Dgwckjl11ylEVZZnqa8h1Xex1qMFtann1jSrIX1//zziWb9FJU42zXfwMp16J8+/CN9+9sD jYu2ObRlC7+S625jurfSI4/cRy+//CJdcEENbXjicfP+Va47k6hDIYSwXC1KYF11z5JYlS2P w4H13PO/Qb/97X76w38cpH//zTo3jDp/8/9e9+x9xAirjW5Y3bJ9BT359J30kzkT6R8/9b/U +eVStrBG1Qm6SQdWLptcasPnIwcNbiXjd6zy19L8zksOoF65xY9buLzdOeTwuzK5hfXmm2+O FVySDn5cThxQnfJyym7z9f+bDjzU1WxlTaIsk15ulsuPf0efLwD47zjlGSRPM1cLK7+xgPvz evE2dy5ieBvLFlXZ0srGWU7eBrlaWAcN7GHWT/xrV2PGjDH/vvrqq93WVqdFVba0MnG2a1KB 9fbbl9DXv34GzZ9/rXEs/dS44LjfKOdn3duVHn9sPf1m78vNAmvcOhRCCMvVWIHVCammRjB1 7lOVWmH1CL337u/od+8cpnfeOkhvv/Vbeuvwm3Tf8p/Gqmx5nFde30Xt2rUzwvIfzNZSDqHO /y8YJy3nf3436/P/vtaUQ+quF1bTz3c/QFt33EtPPXMXPbbxdlpx31waOqzGfJhLm18uZWDl /6PIYTXpFlYuF0etm+yehBw0+JeM7rvvPjMksRw++X/nRwP4bw603F3K3fn9rfw/f3XLrYJx gksawc9bVs5nbmUt9cDKv53PYZFvDYhTnkHyNEvpHtbGVTfRgyvn0X13zXI984wuZv0UlTjb Nd/AynXoB0a9efDgm7RgwY3mq6yc11qdffbZdNWVU9zQuuqB++jwoTcTqUMhhLBcjRVYuaJ1 QqnjsT+8T79//6j7P8stq+8a/u6dQ0aF+wYdOniADv72dbrv7viB9anND1FDw2T6j/94h3Y+ /yD94perLJ9bRTt232/+v33XfbTtFyvNz/z/09uW09PPrjDf2crvbl27jl+JtZBmz7mc/sf/ iP/QVdTA6tzf6tzDmkRg5TJx9Oun9Y8rBw1+NRUHVm5h5f85eLL8VTEHJ25F5R8F4NY2/vlW lvvxU+wLFiwwW9qcJ9zjBJc0gh/rLSf+/Nrq0+mXT4xPpAyTWG4ur6hq04kiT4PfSuBtXXXk /rxe8h5W/uz87bSycuB1+sVZLt4GQS2s8h5WxvmbdVpZueXf6R9nu+YbWLkO5Xrz7bcO0Yu/ eoGeePwxeuD++2jF8rvonhXLjemvcAMr+3DjQ/TbN1/Luw6FEMJyNVZgtULpu6b8lT+3pDqt qc7/7x3lBwQOm2GVWwScipYr3XwC6+q1d5i3A2zeercpf63PQdQJo+z6Dbe7PvLYYlrzyK20 uvFmuvf+eXT3vXPorhXX08JbptK/fWcQ/eM/nqDOy0+/wCp/NED74QAOqkkFVi4PR60/G9Q/ jhw0uIWVwyp76623mq2pW7ZsMX8OVAYZ7uY8aMUtr/yQFYdXDrUcejm8xgkuaQVWr1x2+x8f TA/cdmEi5ZhUYHX+d5T9ZDfv57jy+LzN5baVcn9eryjGWSbeBhxY16+5uVkL6wn/8/8x66eo xNmu+QZWpw599+jvzIeqnv/lLnrqqQ3mK6seW7+ONjzxGDVcNcUc3gmtK5bfaQz7Sl51KIQQ lquxAisH0neNQOrotKQePfKW+z+H1XfePuiGVa5k3zQq2wOv7aN777wlVmXL49xz72I6+u4b tO7x28yWUg6iD6692WwxZflHA+59YL4bTu9c8RNaesdMum3pdLp50dVGUG0wnXLVD+hTn/6U Op8gObBy+MwVWJ2/eRj5twysHGSTfuiqUDrhhU/aLLes8j2UfC8jt6hyKyrL79rkoMpPrvM7 Ojm48j2rPAy3vnK/+fPnxwouhQys77x4bWLhIN/l5rKS5eX9HHaYODrTySWvl3MPa5j7WHkc bT5+8nbI1cL6mf/z/5r1UzncwyrrUL5l6s03XqP9+35Nv375Rdr78h7a++s99MLzu2jChB9l tbS+9O8v0Kv7fx27DoUQwnI1cmD9+OOPzZv/uZLl1tMjxv9OOOXPzv98rxVrtqwaYfW3b7xq htXXX/0N3XNH/MD6u6MHaMfO9XT7HdfRoiXX0k2LptLCWxvoxpuvMp27YDLNWzCFrp83iWbP mUgzZv+Irr3uh3Tl1FE0pYH9AY03QuWgmrOMwPqP6nyC9AusHEi93Zyw2hIDK7ewcmB95pln zBfWy8DKbxLgVlQOrBxUONRyUHACK/cv5cDK+9sLGyfQLTPPSywcJBFYg7qFGSZpefq8XlGM s0y8HTiwrl21gB64Z25WC2u53MOq1aHON1Es3z7FvmIE0x3bt9L0H09zA+vWLU/RS3uepxXL bk5sn4QQwnIwcmD94IMPjCB60HxS1XkAwGlJdT7z/1zhvmWYHVb30muv7DUq25tiV7Y8XhKe cML/VKcfRr/AKsOpZksJrBxC+YEbPnHfeOONZmDlr4Y5qHIrKsuhlofjYCr7Oy1w3I/HjRNc 0g6svI88uvz79LN5/2b+rQ0TxyQCqywv7+ewwyQtT5/XqxD3sB5779dqC2u53MMatg5906g3 uaX1maefotWr7qN7lt9Jjzz8EP1y9y/o7qULEt0vIYSw1I0cWPfu3WtUtG+aYdR5kIorWPN/ 5zP//9vXTTmsstyy+poRWF/Z95JR2S4s68rWCawsP/Ef1ZYQWPmEzYGVf8uen0zftGmTqRNW WQ6k/KtLfKsA/wIT/8+B1bmPdf369SXfwpr0fprEcnN5Sf2Gcf729k9angevVxTjLBdvj9+8 YITenw6lW6/7Bt14bV+aPfEMmnZpNXX+4j+ZdVhU4mzjfAJrlDr0jdf3my2q27ZuNsLqGnri 8XX03K4ddOcSvIcVQti6jBxY77xjMT1wz23mewAfWHGbofHZ+J9fs3K/ofv/3YvMBwP4XiuW v8Ji7/7ZQho3ZnhZV7ZOYOXWUu9DVmEt58DKXnvtteZT//w2AN6JuFWLAyrfq8otqizfw+o8 hMUPXzlvBeDAyuOWemBNw0IHVr9hkpTnwdvbCaNB8rBxl4vrjly++uqrZj0WFh6ex9Pm42c+ gTVqHcrfSN1x2zxafPP1tOSWObTM+PuHl3w31nJDCGG5Gimwss6JIV+1aZeLHFi1ltMo8i9e fbnTF9Tpl4syEMWRf/ue/9emDctL77YNqzatfNTqmiC16aSptgxx1KYNIYQt1ciBFVpyaM1X bboQQgghhDBbBFYIIYQQQljSIrBCCCGEEMKSVgTW/gisEEIIIYSw5LQCa38EVgghhBBCWJoi sEIIIYQQwpI2K7DyBwghhBBCCEtNN7B+9NFHvgIAAAAAAOBFy43Sk046KW8RWAEAAAAAQGy0 3CjVAmhUEVgBAAAAAEBstNwo1QJoVBFYAQAAAABAbLTcKNUCaFQRWAEAAAAAQGy03CjVAmhU EVgBAAAAAEBstNwo1QJoVBFYAQAAAABAbLTcKNUCaFTNwNoPgRUAAAAAAMRAy41SLYBGlbMq AisAAAAAAIiFlhulWgCNKgIrAAAAAACIjZYbpVoAjaoZWAchsAIAAAAAgBhouVGqBdComoH1 e+fXqDOQAgAAAAAA4EXLjVItgEbVDKzTJo9TZyAFAAAAAADAi5YbpVoAjaoZWOffMEudgRQA AAAAAAAvWm6UagE0qmZgXXjTQnUGUgAAAAAAALxouVGqBdComoH1mukz1BlIAQAAAAAA8KLl RqkWQKNqBlb+R5uBFAAAAAAAAC9abpRqAVQ6a9YsU62fIwIrAAAAAACIjZYbpVoAjSoCKwAA AAAAiI2WG6VaAJWGbmFdeNMt6gykAAAAAAAAeNFyo1QLoNKlS5eaav0czcD6Yzx0BQAAAAAA YqDlRqkWQKWhAytuCQAAAAAAAHHQcqNUC6BSBFYAikDT8WN04MAB06PHjttdWzfHjx11y+TY 8Sa7azYoN9BawL6ebxkco3Xrttl/p0+pbq9SWi4tN0q1ACpFYAWgCDy/vIEqKipMhzQst7u2 bpY3DHHLpGH583bXbFBuoLWAfT2/Mlg5rd4c7/RBw2nPwfSDWqlur1JaLi03SrUAKkVgBaAI lOPJ6MM5l9OxyZZ/O2x3TJByCazHl1xN755XY3psyXqr4yvr3W7vT1tsdSslxPK9O+pqu+M+ et/pdt5I+tjuCkqDqPt60PGp7bcfP7bY7VaK+23c4/3Y8yupfaU1XkVFpVGf7LT7pEep1uml tFxabpRqAVSKwApAESjVys2PP3ynBx3tY/nRy3bHBCmXwPrRjZe55fCHG9dYHV9e43Z7b8Jc q1spIZbv6Hcuszu+RO853frUkX4TBigWUff1oONT22+bGue63Upxv413vDfRyL7t3fG61k0u yL5dqnV6KS2XlhulWgCVIrACUARKtXLzA4HVAoEVFIKo+zoCq8WmW8e541S060o7jxRmzy7V Or2UlkvLjVItgEoRWAGIwN/W3e5+7fbhul121+iUauXmx7FRztfHNXT8FbtjgpRLYFX3gcO7 3G4fLHvY6lZKiOU7Nud2pyN94HSbPJs+sbuC0iDqvh50fGr77Se7Hna7JbnfFq2ebHqF+rav dMcZOafR7pE+pVqnl9JyablRqgVQKQIrABFQW9diUKqVW9K8tOp66tixo+no61fZXXXw0BUA Gcp5Xy9WPSnrkPbd6umY3b0QlOr2KqXl0nKjVAugUgRWACKAwBqNKOuJwApAhnLe14tRTzYd 2USdxYNWt246YvcpDKW6vUppubTcKNUCqBSBFYAIqE+Ix6C1BK8o64nACkCGct7Xi1FP3jqu xh22c+0Eu2vhKNXtVUrLpeVGqRZApQisACSMDF65KohiVyI7HlhIdTX9qGNVe6qfttLu6s+Q rtbyVlR0JT1ONifKepZ+YG2i3RvX0viLasxbHNq4rTk+dh1ij5sLnuYKGl3H06yiSm0aXgOn mc2x13ZTw/jR1KO6I7Vtk7m/z88cxW++hHzPjo20cFYDXWguc/Nptm1fRdU9+lHDrNvptaK/ QF1us5Dl62PXIQ32dOOz9d65VNOvB1W1b0vjbt1kd21O1H09yvEZ51hOmiTryaZXGsVrrNoZ +28hbwawiFM38fG0ce29NH70hebxyfuEMw3TyjbmMVZTN5puX7uRcvyeii/hlyv9ukjLjVIt gEoRWAFImHIIrG82znHnH/Yk3JoDa9ORvXRBzyp33qH1qdDTmGY2TTRn9KBYIS1XYM16AjuU lTRoeAMV6EHtLI4f3EaDTo9Rvj4mEVhlGdaMu9Xu2pyo+3prDqxHdi6jdvZwXWoudX/Zyc84 4c+P6HVTE9VVW8OHtbJNFc28L9qvd4VZrvTrIgstN0q1ACpFYAUgYYodWDMno9zBw0isbgVf UR3ulUatNrA2HaEh3TLvdWQr27Q1Wz50RetErgo96jSrxLAhTxKLJ9RmTZ/DY5U2bVvZYpxr v5EXOqZ2C5C0WSuRYftuQ+hg0gnBh6YjO6mbeFqc9d9muZXr4x9Yn6eu7vxyHyPHNt3qTq9d 35F21+ZE3ddbc2Bllk2uc4cNZyWd2W8wrdtz0J5CfkSum45tog6e5dGOz+bfilRS/bTwdV/g chWgLnLQcqNUC6BSBFYAEiaVwNp03G0ZOHzU/+uuUIGV3qS+7Zzhwp20WmtgbZwz0p1nZftT aMma3QEBXwSXHBX66pkjok3z+eXu8GFOEseM4d0LEj7BNSwJbFEKtd8ce5U27thj7IeHfZf3 +LGjtGTmaPE1bQV1M8JeoSJrw5Cu7nzbVPWkFVv22H2iI/e5JAJrVlBp19c4EnWi7uutPbBy 8Krr2s4dPrTGRVfDsmitlhpRt5e8+OtQM87uqnN03w4aPuh0d3i+7WHZznAPlQUtV9p1kUTL jVItgEoRWAFImFQCq6gkgr6WDBdYiUb2zVTufsM5tM7A2mSsd6aFY+bqMC+gDQqsx6i2szPN kE8zRzxJyNZVv6+dJWH3mygc2bk86ycyF28twL2FMhBWtqfGV/KLyXKfSySwGtu/poMzXAfa lKNIou7rrT6wGhzZu90NNX6OH11Hndq2cacd+jj0Ieqyhr01JEOTcSHWzR0n7INl/suVfl0k 0XKjVAugUmf7af0cEVgBiEC5BFbZCpUrIEpaZWCV4adDTcj3OgYE1hi3Y0Q9SdR3y4TsZTvD BbY0AisTJzznQ5SWqzDIfS6ZwJp9sZhr+0Td1xFYI9J0hMbVZgJgO+O4yudyKuqyylsYQv/A wbGt4tVduS92JL7LVYC6SKLlRqkWQKUIrAAkTLkEVrmcYd4U0BoDq7zfsLpust01CP/A+tLK ae40g7alS6STxEvUzT2phd9WaQXWpANkEHIfqZu8zO4aHzm9pAJrmIvFqPs6AmsMjNBa47Yw VtCcxlw3aAQTdVmjNhg4jKvp4I4XZnn9liv9uigbLTdKtQAqRWAFIGHKJbCunFbvDhdmGVpj YJXz61Y/ze4ahH9glV8Fhg5UUU4SslU4wgklrcAaadkTQG6zviPn2F3jI6eXVGCV+/rkZTvt rtlE3dcRWOMh7+HM5xuAqMsqA2uU4y1qy6zfcqVeF3nQcqNUC6BSBFYAJMe20kV1F1LDrIV0 7/rtdsdolEtgTfOE6BBlHqUYWOUDV+Hn5x9Yw+wfzYhykoh5QmkpgVW2ild2rs3ra15G7nNp BNZc+0Cax2fegbVU68kYyP0ln28A4m+vaMdb1PrDb7lSr4s8aLlRqgVQKQIrAIKwr5zxI5WK GIHVJHK5qbxJl19onWzXbvR/IjZWhS6DCwJr7OWJTdMr1Mt9A0YF1Y5bkNc7N+U+h8BqUbL1 ZBxeWhn8GroQxN9eCKyOWgCVhg+s/RBYQctn57LJ7sEY9+vEVCpiBFaTyOWmEeEEhRbWBCh0 YDWQ241tU3W6+ctb+wJeCach9zkEVouSrSdj4X+8hiX+9kJgddQCqDRUYDWyKgIraBXI+4PC /mSpl1QqYgRWk8jlpiAfNAh6kErOD/ewxiTPwNrUFKd5tInumzla/fnctu270EXjG2jjjn2h noqW+wACq0XJ1pOxaL2BtUXew4rACloLk+uq3YNx2sqX7K7RKJ3A2o78HiJN84ToEGUehQqs 8mGzoEoabwlIgDwD67R6fvWQ9StA16+KdkweP7iHRg/upwZXln/RZ/DoBtr9Wu6WV7nPIbBa lGw9GYviBFb5tH+xAmuLfEsAAitoLSRx0i5uYA1/0kzzhOgQZR6FCqxWALKmkesJbZcyfQ9r mPd8einVwBrnnbLNaDpOG9feThfV9FN+6pKtpEHDG9Sfj5X7nO+x17STqp3pBewr5R5YS7ae jEVxAqt8S0CU0J9kYG2R72E1AyseugItnvBhz49iBtYmY7iw92emeUJ0iDKPQgXWaGGuPH/p SpZlMX/pyiSvwCp/Qjjci9KDaaJ9OzbS+ItqmoXX9t2G0BHPLiH3Ob9jL8rT5mnUEYULrCVc T8aiOIH11nE17vCBF86CMOUm8V+ulvpLV2hhBS0d+TBO2KtNhVQq4lCBtYkWjMlUgu261tFr x47b/ZqT5gnRIco8ZLmlF1jD/SymRD7AE+q3tkOcAFP//e5jxjK4Qa+S6huW0LGAR+VLMrDK Fm6f392PTdNxWrOkgapEcPXeqyz3uZzHnjGdiXWZFrPqgaPU1lqHsg6spVxPxqI4gTXqe7Ad kg2sBaiLBFpulGoBVBq+hRWBFbRwknhVCxO1Im7Ttj117Ngxy8oTP5Pdraq9Ozzfd5fVz7Z9 1m9j21a2UYdlq9q3dYdrtgzVPegLJ1dldcvcB9j8JLfq+tFZwzr6zsOjXP7UAmuEr21dmo7Q kG6Z8jf1KdeOHauCW7mVaebarqZi+zefdzV9pm07T7eOylff1n2g3uEc5X2e7auy+1Ua8+wg PkdSLnvUQCBOjpXd6u2OyXNk53Jq765/9r3fcp9L6tiTwydVR2S2X/PtnHvY6IG1pOvJWIY4 XkMQdVll3eh77HuU+453PtU9+jWrt+V81HLOpy5CYAWgOMgKx/detQCiVsTJW0lt1Pv0krL5 SU6ucxKmFlhjBqCmI3vpgp5V7rih9anQY0+znI14gkvqmAzDzBG93HnJr2ijHauVRrjXuue2 OHWEY/TAmtQ2KX49qZhQYC1Vc5VzGvWbhpYbpVoAlSKwAmAjv/oN/YoPhWJVxHy13aPfYFqx ZQ81HT9ICxpGU7W8Go6kX+At38Aa66lYwZ4ta817H7mlIdeT51kGVuhNtHvjChpdx9MULT0t 1YgnOPnanXx+NjMMud65G+ZYbdu+ivrVXETr9hw030zQMP4i6iJatvwsbliLHljLvZ70tewD q39DhX+dGaMuQmAFoDiEqUDDkNR0QPLIF56nF4CSuScui3zuAy1jCnks5Xsx1FpAPdnKwT2s ABSfKO/n9ENWxHFfqg3SoTAnSQTWpChkqIn7EExrA/VkKweBFYDiI78ubtdrROynX+ULoeO+ VBukgzxJ5nOy9UU+2JVQuHyzcY673EGvTGpJyGMy7fWeM7KvO68orxlqbaCebN3kUxdpuVGq BVApAisADk3PU1fxpG2od9J5aDqyiTq700jqvZHlzN/p0JYD9OikzbRq0nZ6actRo0vxkF/7 5vOEsx/yKepknmxvMk7und1ptqrWv2NbxfHUjpY/n9YBlf0+yuXPx41hrQDUk62Y/OoiLTdK tQAqRWAFQCBf5lzZvhttO5j7PabN8LweJO2nmkuej4/TQ0MaaX6X+zNWr6VX3y1iZPUEoGU7 o59sg5AtdX1HzrG7xqTpOC0YV+tOr6KyM23yvtm+hSPLs323WtqbwvrLh7vyaTVsLaCebIUk UBdpuVGqBVApAisAEk9lWtmmihqWrAs8gR3cs44GnS5eC9IKg4WXn1+zwQ6pq2jFD7fT5tnb af1Pw/xSVLrIAMQn250JbqedyxvE07WVtHhrrqajJhrZv5rqLryQRo9vcCvitRt30Ma195p/ jx9dR52y3u9ZSaPnN9rjtx6ajuykbu0zTz+3qTqdlqzbY/fNn233zRTvYK2kaSujPjffCkE9 2YIoXF2k5UapFkClzrJp/RwRWEGrgk+QPauyXwTOr4yqqRtNC+0D+cCBPXSv8feshvHU78xO WcNWVLanW5/Ya0+ttfJ3WjnQalVtvO23drcS4djzWQHIOtmuCfwlKD+OH3uNFkyoz3oVjPcX k7KQv+AUxso2NHrOanvk1seRnavpFLHN2Lbtu9BF9gl24449xjF5ILR8Il44q6HZsdttSANa V0OCerKFUMC6SMuNUi2AShFYAVDg95g2DB8U+b2YVacPoif2Jv81c/nxPi2ttgLrhlVH7W6l w/GD25qdbLnVoKqj1dJwYWjr1Hfddqsd1+w36SV/3LOeelQHv8uVf3Gm3+DRtCfKV64tFH65 +fBBp6vllIQDRs5BWI0I6snyp5B1kZYbpVoAlSKwAuDDwT1baPTgfsrPXEorqUuPfrRgxRac 8GyenvQ4LbQD603dH6JFfdZkHLrVHqq4xD3Z+lrZhoY3LIu0Hxw/dtRtiXIq5HvXbqQDh0sv 6JcCr+1eQ4P79Qj3ww0h7HRmv0RvMWiNoJ5sGaRdF2m5UaoFUKmzTFo/RwRWAAyOHj5Aa+/N HMjsjj0H8voquaWyYdTD1v2rmoOesocqDcyv8xvGh2pl0OSWB/4N74YFK7AvFJQmOuw5uUaR v7I+egwt10mDehLkQsuNUi2ASp39SevniMAKAIjE8ff+RL//7R913y7xkNB03L3X0Ve0gAIA QGi03CjVAqgUgRUAAEDZc3zJ1fTueTWmx5asN7t9/Nhit9v70xab3QAAxUHLjVItgEoRWAEA AJQ9H914GR3t08P0DzeuMbs1Nc51u703Ya7ZDQBQHLTcKNUCqBSBFQAAQNmDwApAaaPlRqkW QKUIrAAAAMqev627nY5Nvtz0w3W7zG6f7HrY7fbBsofNbgCA4qDlRqkWQKUIrAAAAAAAIFW0 3CjVAqgUgRUAAAAAAKSKlhulWgCVIrACAAAAAIBU0XKjVAugUgRWAAAAAACQKlpulGoBVIrA CgAAAAAAUkXLjVItgEoRWAEAAAAAQKpouVGqBVApAisAAAAAAEgVLTdKtQAqRWAFAAAAAACp ouVGqRZApQisAAAAAAAgVbTcKNUCqBSBFQAAAAAApIqWG6VaAJVGCKzfUGcgBQAAAAAAwIuW G6VaAJWGC6zfQGAFAAAAAADx0HKjVAugUgRWAAAAAACQKlpulGoBVIrACgAAAAAAUkXLjVIt gEoRWAEAAAAAQKpouVGqBVApAisAAAAAAEgVLTdKtQAqRWAFAAAAAACpouVGqRZApQisAAAA AAAgVbTcKNUCqBSBFQAAAAAApIqWG6VaAJUisAIAAAAAgFTRcqNUC6DS0IH1mwisAIAS4Z0d B2jD1Vtp1aTt9ML6w/R3uzsASYD9C4Dk0XKjVAug0tCBdcKoC9UZSAEAIF3+ThvHPkrzu9yf sXo1vfw6IgVIAuxfAKSFlhulWgCVhg6sc6+frs5ACgAAafLyLVvsELGKVozcShtmb6fGOS/Z fQHID+xfAKSHlhulWgCVhg6sC29aqM5ACgAAabLqWw+YgWL1ja/ZXQBIDuxfAKSHlhulWgCV RgisN6szkAIAQJrcP8j6mnbDqqN2FwCSA/sXAOmh5UapFkClCKwAgLLg6UmP08JqK1AsPGM1 LeqzJuPQrfZQAMQD+xcA6aLlRqkWQKUIrACAsmDDqIfNMKE66Cl7KADigf0LgHTRcqNUC6BS BFYAQFlw/L0/0e9/+0fdt4/bQwEQD+xfLZPjbxylzbO306pLN9Pm5Qfo+HG88aFYaLlRqgVQ KQIrAAAAAFocv5yzmRZ4Wstxf3Lx0HKjVAugUgRWAEqc48eO0oEDB0yPHtNbepqOHwscpqVQ 1uvadNxd9gOHc584k1rH1rRfJAXKrDnlWCbvPf68G1Z/NvRJ2jB7J626+vlIPwJR7vtCqS2/ lhulWgCVIrACUOIsbxhCFRUVpkMalttds3l+eUPgMC2Fsl7X55e7y17RdYjdsTlJrWNr2i+S AmXWnHIsk41jHzHD6pJRO+0u0Sn3faHUll/LjVItgEoRWEuMD6eNpHfPqzH98LF9ZrfjS652 ux1bst7sBloPCKzZlPW6ttbAengXHZt8uekHyx62O6bH8WWz3fkd33XY7hqOstq/Xlnvnhve HXW13XEfve90O28kfWx3zYdyPOach+hWXvdru0t0Snm9w+zjpbb8Wm6UagFUisBaYvxxQh0d 7dPD9I+N1i+sfHTjZW63P9y4xuwGWg8IrNmU9bq21sD68hq3Dntvwly7Y3po9WhYymr/EuV6 9DuX2R1fovecbn3qqMnumg9Jlsnhw4dp1qxZOeX+YYbxY8/NW+mmrtaPQCzouir7FWV9Hqd3 7OGCKOV9Icw+XmrLr+VGqRZApREC603qDKQgfxBYgRcE1mzKel0RWBFYk6QMA+v27dvdaWl+ 7WtfM9X6OfI0/Pjl7KfMsKr7MIVtcy/lfQGBVdcMrPPnzlRnIAX5ozXz/23d7W63D9ftMruB 1gMCazZlva6tNbCKr67fn7bY7pge2q1VYSmr/UvcanFszu1OR/rA6TZ5Nn1id82HJMvECazP PFNBn3yS8cUXK2jAgGy5mxyGx+FxgwJr0wfH9deTmf4p9INXpbwvhNnHS235tdwo1QKoNHRg nXzZCHUGUgBA8iCwZlPW64qHrkoelFlzkiwTJ7BefHEFzZjR3DfftNT68Tg8blBgTYpy3xdK bfm13CjVAqg0dGD9pvGPNgMpAKXIsaOHacfGtcaOvpBGX3ghXSgdPd48AHbsOZzIV2dpgMCa TVmvKwJryYMya04SZeLUw5Mnj3OnpcmtqE5Lai4RWMNRasuv5UapFkCloQMr/6PNQApAKXB0 3w6a1TCe+vWoprZtKt0DNsjKNm1p8OgG2nOwtN63h8CaTVmvKwJryYMya06cMolbD8vAWqhg moty3xdKbfm13CjVAqgUgbVkaKLdG1fQ6Loa6tixiirtncxXnxOew5CuzvBd6Xm7mxd+ufCe HRtp4awGutCcf8dmFUzb9lVU3aMfNcy6nV6L+QJins/GtffS+NEXUo/qjlTVvm3WPCoq25jz rqkbTbev3UjHYzZ5Tq6rzp5uZCvpggkLYs8/adIKrIXaHl54visWNJgnsvZt27jza9O2vbmP jW+YRTv25X6pflmfREo8sIapLyQNQ7q6029YnmOMpuPGfnY7XVTTjzpWtXeHZ9tXWfvXii17 7IHjcey13dQwfrS5H4cNR7kWN6myl8eto9zHd792zB4yHkmucxBxyiRuPSwDa+/B4yLWO8me R6Osd5hjIcl9Isz8om23dDKIRMuNUi2AShFYS4CmI3vpgp5V+g7hZ0KBddOt/l/RNLeSBg1v oCMRK5K6am1aua1sU0Uz79tmjx+eZZPrzNbSjh2rqe7CC42QvdDYye+lPfYvfmS7h+5dutA8 mXor/aqe9RHXMR3SCayF2x4ZmmhZw3BqU6lPX1o7IfeDOUkFiqLQqgJrE61b0kCdxEWJn6cP Gk57Ix9wTTRn9KBwJ1ePxQisXk8fNJoORr4STH6dg4hTJlHr4WvsWwVkYGXD1sNpnEejrHfc wOo17D6RZGBNM4NItNwo1QKoFIG12DQdoSHdslsdrIO8o65soUgosL7ZOCczTdZuWZM2a30z bN9tSPjK9tgm6pA1fiVVeebBNm8pqKT6afFPGpFoOk5LPIGqfd+RxumhuKQSWAu9PYz9fOSA UzzTslrY3Pm5+3Y7Wv1K7lJPKlAUhVYSWPkEWK9sb25NkvuX9+KlTVVP2hkhtC6eUJs1fq79 2FHOL+3Auur60coyNG+5KoV1DqIQx5zzMJY3sLKB9XBK59Eo6x0mQCa5TyQWWFPOIBItN0q1 ACpFYC0yq2eOyOwk7U+hJWt2+x+YIU94DqFOQMdepY079hhXuf4PHvFv2i+ZOZraiwqw25CG UIFOhuIONePsrjp879PwQae7w3OAWbbziN03fQ5uW5a1jiPnNNp9ikMagbWw26PJqFy7ifGt Fnrt1hLzNoUt/vetFeLkmRqtILA2HdlJPatkqypv7wn6153GReKaJQ1UJS6MutZNDlWnHDPK sp2YR33DksCvjzPrl35gzQXv49517mwcg8Vc5yAKccxpgfVfPpVZdr96OK3zaJT1DhMgcxFn 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 pwAAAABJRU5ErkJggg== --------------5qUMQzuuu1UJMC8v0A9VT00k Content-Type: image/png; name="emacs_SiXOdpA67i.png" Content-Disposition: attachment; filename="emacs_SiXOdpA67i.png" Content-Transfer-Encoding: base64 iVBORw0KGgoAAAANSUhEUgAAAqwAAAH3CAYAAAB+Yw2ZAAAAAXNSR0IArs4c6QAAAARnQU1B AACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAHN1SURBVHhe7b0JvCxVea99cr+ba7w3 yXdvIvjFoBwF1LAVjSDiwOCcwSSXz+xEjeJRUWQ6zARkOFtFEDg4gyDCEQGF7cA8j6JCcEJ0 Kwgyg/NI1ERN7rr1rqrqfqv6rapV1VXd1Xs/z+/3nH26a161aq1/r67uXrXJJpu6P/U+zrv6 8Zu5p271dLfNNtu65z5ve7fDjjt17w7tuuPzX+h2esFLsCufP64vnpo7IiIuE602bnJabfuE tPol7NiXNvb5Vb4wdvsdX+S23W4H9/RnbOc2f9JWbtMnbOk23WxLt3qzOe8qHVa3nHuqe972 O7inPf3P3ZO33NI9YfPN3eMevxoRERERsTOfsPkW7s/mnhIF1m2ioPsSt9WfPysTWqPAGofV Z0QzPHPbZ7nNttjCXBEiIiIiYtdu9sQt3LOe/Ty33XN2isJqHFp9YJWR1Wduu525ECIiIiLi pJXQmo60rpJ7VuU2AEZWEREREbEvykjrjs9/ib+nddVTn/o0f8+qNSMiIiIi4rSUe1qf9ozt 3Kqtt9nWf8DKmgkRERERcVrKB7G23W57t0q+uir02wA2ffzj3aZPeLz//+aPe4p7zp/9nXvp Nru6l279BvfsP/ub6Lk4+Pr5IvWyiIiIiIh1lG8PkK+8WiXfg2rNkDcNoJs97snub5+9vzvg DZ9yRx50tVt3yHXuLftd7Q7Y9WK35/yZ7i+2fpNb/bg4ABNaEREREXEc5ftaV8kX7VsTtZs+ 4Qn+759tuo3b4+WnuaPe+nl3zDtvdm+P/h571I3u9JNvcZdecIf78Pu/6g7f/Ur3+hef4DZ/ 3Fy8LKEVERERERsq38saFFjFzTZ5snvzzh+KguoX3OGHfca95cDr3JEHX+8+sP4L7vyP3+Ye uu9hJ7wvCrHrdrvG7fL8Y9zjHhcHXURERETMuuEjH3H/8R//4fOThUyTeaxlp+l999zt/vEV rzCniTLt3rvvMqc1sVZgfdm2e7m3L3zOHXnY9e6jp3/N3XH7j92D9z/sfvD9X7r77/mZ+95D /+ruveOn7vgDr3dHvP5yd+RrL3E7bvmP5rryPvSd75jPT9qbv/AFrzVNlGnves+7zWmhXnDh hUk1jPn5z38+mCbkty/bS8tnl9etycyfKs/JtPzzsi5NX8q5qXKcKbpM8uhlpPyEfPmUlU26 jMaqF/lz+a07vjUyDyIiYpESSF/0kpe4pzxtK9MddtrRz2MtO00lkH7ve981Q2vZtKYGB9bN N9nS7f+6c90xx9zs3rL/te78xdt9B/1AFFTfs/B5d0wUUt+x77VxUH3dZW7dmkvd2193tdv1 Be9xmz62+JYA6fClk0+1QkFbFoU6rWy/aB8E2V+ZboXGEOUY86FRh5wUvZ/jBtYuy7RN5RjL XgwIUv7pY/m/zJ8vEzleXcbp43w55MtGz6PLPFW2kV9v/lzIdH0+ERERyxQkmFrTUgXr+Wlr BdMuwqoYHFi3fdJfuiP2u9K97YjPuqPecoM7bO017uwP3eruufMn7pqL7nLHHXS9O/TVl7h1 b7jcLUhgjf5/5D9d5g78m4+5pzy++Be0JGxI8JCOX4eRLiwKddp8iElNl8uHljpaISivIOWg 5yOwxqG+qH5YZSKk/0/LJj9Pvmxk/enjonMl65Bpsj69jfw81rlARETMK8xqYBV1QO0qrIrB gfWFT9/FrTvgGve2Q653R+xzjTtir6vdCUd8zl32iW+5f//Vb31h3nj5Pe7tu14RBdUorL7y YnfkP17s3vI3n3TbbvFSc52paZDQgULCQooOKhoJDjJNwowsK8ukQSIlDSAyPUWHP408TkNM Or/eJ9mObFOmF4WnMstCV6ogf2Uf03l1eJJ91PuUKs9ZISk9nqLn0+NMjylFtpnOq9Gjh1b5 yXIp1n6KmnR9+nxbywn551KtMkkf67KTv/q48mUjy6TT9XLa9ByKuiyseaxpiIiIWmGWA6uY BtWuwqoYHlifFgXWfa92R+57jXvXus+7b9/2Y1+Av/3Nf7ovf+ZBd877vuI+cMgNbmGXS90R /3iRO3L+Ive2l1/qjvzLT1cG1rxFYUDQgUNMQ5YV1kQh/b8EknS+NGzll5MAo5+X0NJW+JBj 0vuvQ1q6PUH+pvsn/9fhSZ63Ap0+Nm16PClpQNPHmW4rLXM5Xiusiel20mXy2yzajyL1/LLN /PlNtY45VZbX0+U40mORv+n5y9erfNno/S4KrLKMKOtKy7JoHmsaIiJ2ZyjWstNSILBWmwTW Hc2J2m2f9BfusDdf4o7Y82p39+1xWP3hd3/h3rHH1W6/v/m0O/Bvz3MH/+/z3eEvv9Cte3kU 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 IQ/WFTnonH1wSp+zPnTl5/KjZX6+sfYjQW1TzK4y3m78QaLR6dn9KCsz9Xx+Pv04sy/jhhRZ b7qu/D5E6G3Nz6t9Ktm/FLM+5OZr9VhSctsoLOOIkPJvvbxz++Ap2+fIkbKL/19U5wAAAGad wMAK4RSFEICuoM4BAMDyhsDaOoQHmDTUOQAAWN4QWFuH8ACThjoHAADLGwIrAAAAAPSaOLBu v6N7+OGHERERERF75yCw/uxnP0NERERE7J2DwAoAAAAA0EcygdVKtIiIiIiI0/I973kPgRUR ERER+6sEVsmqBFZERERE7KUEVkRERETstQRWREREROy1BNYxXPU7qxprrQ8Rm7tqVXRtKa15 EBFxNq0dWPOdQojWemZdCZ033vwx99Wvn1fb959yOKEVsaFWGyNeccUV7v/8n//jfv3rX7uD DjrInEe01jlJrX2q0loPIuJKslZglYbz61//uvvVr37l5y1DOo077rjDveIVr1h2Da6Eze98 96tmGA111kOrBIK2tNZf5YYNG9znP/95c1qfbWu/Q8qtadn2WWlLfvnL7434D/+ws293PvKR j7j3v//97vDDD/fPff7zV2Xmu+XGj7TSHjU9j7ShiIjNrB1YQxralJtuusndeuut7pvf/Gar Da6sq0hr/rZNR1e1137m9EovvvzEgR9ffOfMBlYJQpdffrm76KKL3Ic+9CF32WWXDbzkkku8 l156qf8r8+S9+OKL3SmnnOL/nnfeeY2CVVeBtes6NKuBVdZVV2s94yrnR4LnbV9ZHPipjx3r /vovnufbnL333tvttdde7txzz3XbP+fp7oPvPcR95vKTB/Med+j2rZzjcQJrH9pQRMRZs3Zg LUPejkv//ud//qe7/vrr3X333eeXPfXUU1tpcH8nCnmXXH62e/C7XxvxmOMOdltvM2cu16YS NHX4LFOCqeUsj7BKGJFAes455/jRLAkHH/vYx7xnnXXW4O/ZZ5/t/370ox8dePrpp3s/8IEP +Pk++MEPNgo3XQRWqZ9dh4I29lvKS4J/WbnJtKuvvrpR2VrKej71qU+5z372s5XecMMN7sIL L2xt21o5PxJYP3vVh7znffw496IXbOt+85vfuJ/+9Kc+4N1+++3ua1/7mjvssMPc07d6ojv2 qL38fJ+7+kPuqP2f2co5HiewljGJNhQRcRZtJbCmjet//MdvB39/+9vfuvPO+7T7/ve/7+e5 55573Lvf/e6xG9z/8T/+h7v/oVvcLUvnDfzK1z/tvfDSk9xTn7qFuVybStCU0Cmjpk1GWffc +5XLIrB+/OMfdyeddJIPpeKZZ57pTR9Lpy6P5a88TsOqPJblJNDK3ybBpo3gp5V6+dOHruw8 ELSx31JeEmSOP/54c7p48skntx5YJYxee+21wba1ba2cHz3CKiOrUp5SF0UJ1TLqL+Hu6KOP di94wQv8PDIKK/Mfte/WrZzjpudRtm0xyTYUEXEWHSuw6kZWGtff/ObXg7+//vW/RyHlTL+c 8Itf/MLdcsstfpStaYO72eaPdadteI8PrDd+4WPuczef7W784sfdTV86x938lXO98694qXvM n25kLt+WaWCVkKpHTauUkCr+1d/u1GpgLSvPLjo3CSLydr+MsMpb+9Jx11WWk8B64oknNgo2 bQZWKaOffvcz7iffXPD/11rzj2ObgfXDH/6wWXbpdHlR0aRsLWU9EljlnKUvPOR+UQmmEhLl sfxf/srjrgPrzdef7kdYZfT0JS98lnvm1lu6p85tNqIeYb3x2tPc2/bpV2CddBuKiDirNgqs ViMrjeu///u/Df7++7/9yndeskyR1jbKXL36MW7pmze4a2/4iLvo8pPc+Zec6C667IPu0qtO cVdFHdjVn9ng3vqOvdwOOz7D/c7v/I65zVRr/aGWBdbD3/omP4KaKo8lnGrbDqyidUxtHW9e CSISWOUt/XEDq9wa0CTYtBVYpWx++uClPqxqv3HZa9yFJ76o9bJrK7Bec8017tOf/rS/gPPT ZXT1uuuu8yOObYVGWU8fR1hFuU+1TH0Pa18Cq25D5X7wl750R/ff//sjvX/91y90F198kfu3 X/2y9TYUEXFWbRRYraAqAVUa2PTvr371C/eLf33Y3X3Xt93Xv/ZVd9lll7gNp5/m9t1nH/fG 17+qUWMrI6x33PUv7ryLP+AWz3u3O/Pjx7qPLR7v/3/up97lPv6JE9xZ5xznzjj7nW7xUye5 iy45211+1aK78upPuM989kJ30xcuc1/48lXuymvOGauxLwusElLzz4mTCKz6mNLH+efbUIKI Dqzy/zpecMEFfjkJVO973/saBZs2gp+Ui9wGkA+r2lvP37nV8msraJ922mnmKKv8Px1dPeGE EzLLjKOsVwKrvMB473vf6wOp3M6RH1Gto7WdKuVc6BFW7bpDd3Uv+8vnuUdv/Efuj//o/80o H8Da4bl/7p78hP85uCZSre1UOW5gTdvQc889x22zzVbR+TzB3XLLFe5znzsvOm/r3DOf+XT3 yU8uup//7KettqGIiLNqo8BqBVUJqL/8xb8O/kpYffjhn7kHH7zf3fGt29ztt3/TfflLX3Dn ffqT7p1HHdaosf3933+ku+ueL7qTTj3SnfbRo92JJx/uTjrlSPeh097qTjltwf//tDOOcmdH Ifasc49zZ55zrPtoFF4l2H707GPchjOPdqee/nZ37AkHjtXYV42w5p8Tuw6sohxTelzp/8c5 ziIlbEjwTEdIpeOuaxpYJfw0CS/jBj8pl+vPO8AMqXmv/8hftFaObQVWKTP5cJOMsh533HGD 5yWkSmCV55uGQktZV9kIq0yX4KrPcZkyqthk/+Q85EdYU1/6ou38h9Hq0PTT9+MG1rQNfclL doxedKx399//VffjH383OnefdBdeuMG97W0Hupe97EW+/bzvvntaa0MREWfVRoHVCqoSUP/1 X38++Cth9ac//bH7yY9/6H78ox+473/vO+4bS193n/vsDe7dx721UWMry9x+583uqKPXuiPe urvbaOM/8s81VW4bEK1tlVkWWHUwtTz2Xft3Hli11nzjKkFDgoEE1nFuCZARWqmATYJLG8FP yufkPR/hbv3A75vee9nLfGD91mfjFzhtlGdbgVWUe0g/85nP+LKUMjzqqKP8rQAyuioj19Yy TZX15+9hlaAqf2W0V6br8xtik/Mu50AC62Wffo+7YHF9xmc9c863T3Vpcl7HDazShkr7+chH /p77xjeuc7/97W+i8v109ELwo9F1cWIUYt/tfu/3HuFuueXL7oH773U/+uH3W2lDERFn1UaB 9Ve/jELqL+OQqgPqz3/+08Hfn//sJz6sSkP7g+9/1z304P3uwQfudV+79SvuhHce2aixlWVu u+Nmd+gRu7ntd9zG3Xvvt9wPf3yX+94PvxXsd39wu3vgO0vu7vu+6u749pcib3VzT3myub0i 08Aqn/jPB9JUCaZFPm+nZ/i/bQdWUcoo1ZrehhI0dGDNv+VfpSybBtZp3hIgSjm9e9f/ZgZW 8RunbeJD6wXvjy6SFsq0zcAq5SaBVcpUPhEvXxF2/vnntz66Ksr6qkZY5bjkK87SrzCT+iHP yfmWx/J/+SuP5f9N9lHOQdEI60aP+p++fZKRe/k0vSj386bceOON/jlB/spjocl5HTewShsq 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 iSASGKQvAAAAAElFTkSuQmCC --------------5qUMQzuuu1UJMC8v0A9VT00k Content-Type: text/plain; charset=UTF-8; name="0001-Implement-drawing-text-with-DirectWrite-on-MS-Window.patch" Content-Disposition: attachment; filename*0="0001-Implement-drawing-text-with-DirectWrite-on-MS-Window.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSBhYThjNzc3N2RkYzljYTllOGRjMzIzYzBjYmQ5OTYzNmZjNTJmMGVlIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBDZWNpbGlvIFBhcmRvIDxjcGFyZG9AaW1heWhlbS5j b20+CkRhdGU6IFdlZCwgOSBPY3QgMjAyNCAxMTo0MDoyOCArMDIwMApTdWJqZWN0OiBbUEFU Q0hdIEltcGxlbWVudCBkcmF3aW5nIHRleHQgd2l0aCBEaXJlY3RXcml0ZSBvbiBNUy1XaW5k b3dzLgoKVGhpcyBhZGRzIHN1cHBvcnQgZm9yIGNvbG9yIGZvbnRzLgoKKiBjb25maWd1cmUu YWM6IEFkZCBzcmMvdzMyZHJpdGUgdG8gVzMyX09CSi4KKiBzcmMvdzMyZHdyaXRlLmM6IFRo aXMgaXMgYSBuZXcgZmlsZS4KKHczMi1pbml0aWFsaXplLWRpcmVjdC13cml0ZSk6IE5ldyBm dW5jdGlvbiwgaW5pdGlhbGl6ZSB0aGUgRGlyZWN0V3JpdGUKbGlicmFyeSBpZiBpdCBpcyBh dmFpbGFibGUsIGFuZCByZXF1aXJlZCBnbG9iYWwgdmFyaWFibGVzLgoodzMyX3VzZV9kaXJl Y3Rfd3JpdGUpOiBOZXcgZnVuY3Rpb24sIGNoZWNrIGlmIERpcmVjdFdyaXRlIGlzIGF2YWls YWJsZQphbmQgYWN0aXZhdGVkIGJ5IHRoZSB1c2VyLgoodzMyX2R3cml0ZV9lbmNvZGVfY2hh cik6IE5ldyBmdW5jdGlvbiwgcmVwbGFjZW1lbnQgZm9yIEhhcmZCdXp6J3MKZW5jb2RlX2No YXIuCih3MzJfZHdyaXRlX3RleHRfZXh0ZW50cyk6IE5ldyBmdW5jdGlvbiwgcmVwbGFjZW1l bnQgZm9yIHczMmZvbnQKdGV4dF9leHRlbnRzLgoodzMyX2R3cml0ZV9kcmF3KTogTmV3IGZ1 bmN0aW9uLCByZXBsYWNlbWVudCBmb3IgdzMyZm9udCBkcmF3LgoodzMyX2R3cml0ZV9mcmVl X2NhY2hlZF9mYWNlKTogTmV3IGZ1bmN0aW9uLCB1c2VkIG9uIHRoZSBmb250IGRlbGV0aW9u CnByb2Nlc3MgdG8gYWxzbyBkZWxldGUgRGlyZWN0V3JpdGUgZGF0YS4KKHZlcmlmeV9ocik6 IE5ldyBmdW5jdGlvbiwgdmVyaWZ5IENPTSBtZXRob2QgcmVzdWx0cy4KKiBzcmMvdzMyZm9u dC5jICh3MzJmb250X3RleHRfZXh0ZW50cyk6IElmIERpcmVjdFdyaXRlIGlzIGVuYWJsZWQs IGNhbGwKdzMyX2R3cml0ZV90ZXh0X2V4dGVudHMuCih3MzJmb250X2RyYXcpOiBJZiBEaXJl Y3RXcml0ZSBpcyBlbmFibGVkLCBjYWxsIHczMl9kd3JpdGVfZHJhdy4KKiBzcmMvdzMydW5p c2NyaWJlLmM6ICh3MzJoYl9lbmNvZGVfY2hhcik6IElmIERpcmVjdFdyaXRlIGlzIGVuYWJs ZWQsCmNhbGwgdzMyX2R3cml0ZV9lbmNvZGVfY2hhci4KKHN5bXNfb2ZfdzMydW5pc2NyaWJl X2Zvcl9wZHVtcGVyKTogSW5pdGlhbGl6ZSBEaXJlY3RXcml0ZS4KKHVuaXNjcmliZV9jbG9z ZSk6IEZyZWUgRGlyZWN0V3JpdGUgZGF0YSBmb3IgdGhlIGZvbnQuCi0tLQogY29uZmlndXJl LmFjICAgICAgIHwgICAyICstCiBldGMvTkVXUyAgICAgICAgICAgfCAgIDUgKwogc3JjL3cz MmR3cml0ZS5jICAgIHwgOTk3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKwogc3JjL3czMmZvbnQuYyAgICAgIHwgIDM5ICstCiBzcmMvdzMyZm9udC5o ICAgICAgfCAgMzAgKysKIHNyYy93MzJ1bmlzY3JpYmUuYyB8ICAzMyArLQogNiBmaWxlcyBj aGFuZ2VkLCAxMDgwIGluc2VydGlvbnMoKyksIDI2IGRlbGV0aW9ucygtKQogY3JlYXRlIG1v ZGUgMTAwNjQ0IHNyYy93MzJkd3JpdGUuYwoKZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBi L2NvbmZpZ3VyZS5hYwppbmRleCA4YTViYTdkYjNkMS4uYmE5Y2Q4ZjBjZDUgMTAwNjQ0Ci0t LSBhL2NvbmZpZ3VyZS5hYworKysgYi9jb25maWd1cmUuYWMKQEAgLTMxNzIsNyArMzE3Miw3 IEBAIEFDX0RFRlVOCiAgIEFDX0NIRUNLX1RPT0woW1dJTkRSRVNdLCBbd2luZHJlc10sCiAg ICAgICAgICAgICAgICAgW0FDX01TR19FUlJPUihbTm8gcmVzb3VyY2UgY29tcGlsZXIgZm91 bmQuXSldKQogICBXMzJfT0JKPSJ3MzJmbnMubyB3MzJtZW51Lm8gdzMycmVnLm8gdzMyZm9u dC5vIHczMnRlcm0ubyIKLSAgVzMyX09CSj0iJFczMl9PQkogdzMyeGZucy5vIHczMnNlbGVj dC5vIHczMnVuaXNjcmliZS5vIHczMmN5Z3dpbngubyIKKyAgVzMyX09CSj0iJFczMl9PQkog dzMyeGZucy5vIHczMnNlbGVjdC5vIHczMnVuaXNjcmliZS5vIHczMmR3cml0ZS5vIHczMmN5 Z3dpbngubyIKICAgRU1BQ1NSRVM9ImVtYWNzLnJlcyIKICAgY2FzZSAiJGNhbm9uaWNhbCIg aW4KICAgICB4ODZfNjQtKi0qKSBFTUFDU19NQU5JRkVTVD0iZW1hY3MteDY0Lm1hbmlmZXN0 IiA7OwpkaWZmIC0tZ2l0IGEvZXRjL05FV1MgYi9ldGMvTkVXUwppbmRleCA2M2MyOTRmYWM0 MS4uZjY1MzMzYTM2YzAgMTAwNjQ0Ci0tLSBhL2V0Yy9ORVdTCisrKyBiL2V0Yy9ORVdTCkBA IC03NTAsNiArNzUwLDExIEBAIGFuZCBsYXRlciB2ZXJzaW9ucy4KICoqIEVtYWNzIG9uIE1T LVdpbmRvd3Mgbm93IHN1cHBvcnRzIGRyYWctbi1kcm9wIG9mIHRleHQgaW50byBhIGJ1ZmZl ci4KIFRoaXMgaXMgaW4gYWRkaXRpb24gdG8gZHJhZy1uLWRyb3Agb2YgZmlsZXMsIHRoYXQg d2FzIGFscmVhZHkgc3VwcG9ydGVkLgogCisqKiBFbWFjcyBvbiBNUy1XaW5kb3dzIG5vdyBz dXBwb3J0cyBjb2xvciBmb250cy4KK09uIFdpbmRvd3MgOC4xIGFuZCBsYXRlciB2ZXJzaW9u cyBFbWFjcyBub3cgdXNlcyBEaXJlY3RXcml0ZSB0byBkcmF3Cit0ZXh0LCB3aGljaCBzdXBw b3J0cyBjb2xvciBmb250cy4gIFRoaXMgY2FuIGJlIGRpc2FibGVkIGJ5IHNldHRpbmcgdGhl Cit2YXJpYWJsZSB3MzItaW5oaWJpdC1kd3JpdGUgdG8gdC4KKwogDAogLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQogVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNzLgpkaWZmIC0tZ2l0IGEvc3Jj L3czMmR3cml0ZS5jIGIvc3JjL3czMmR3cml0ZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAwLi40N2I5M2E1MzQwZgotLS0gL2Rldi9udWxsCisrKyBiL3NyYy93 MzJkd3JpdGUuYwpAQCAtMCwwICsxLDk5NyBAQAorLyogU3VwcG9ydCBmb3IgdXNpbmcgRGly ZWN0V3JpdGUgb24gTVMtV2luZG93cyB0byBkcmF3IHRleHQuICBUaGlzCisgICBhbGxvd3Mg Zm9yIGNvbG9yIGZvbnRzLgorICAgQ29weXJpZ2h0IChDKSAyMDI0IEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbiwgSW5jLgorCitUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgRW1hY3MuCisK K0dOVSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh bmQvb3IgbW9kaWZ5CitpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQordGhlIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0Cit5b3VyIG9w dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKK0dOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBp biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorYnV0IFdJVEhPVVQgQU5ZIFdB UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKK01FUkNIQU5U QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUK K0dOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKK1lvdSBz aG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlCithbG9uZyB3aXRoIEdOVSBFbWFjcy4gIElmIG5vdCwgc2VlIDxodHRwczovL3d3 dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLworCisvKiBUaGlzIHJlcXVpcmVzIHRoZSBIYXJm QnV6eiBmb250IGJhY2tlbmQgdG8gYmUgYXZhaWxhYmxlLgorCisgICBJdCB3b3JrcyBieSBt b2RpZnlpbmcgdGhlIEhhcmZCdXp6IGJhY2tlbmQgdG8gdXNlIERpcmVjdFdyaXRlIGF0Cisg ICBzb21lIHBvaW50cywgaWYgaXQgaXMgYXZhaWxhYmxlOgorCisgICAtIFdoZW4gZW5jb2Rp bmcgY2hhcmFjdGVyczogdzMyaGJfZW5jb2RlX2NoYXIKKyAgIC0gV2hlbiBtZWFzdXJpbmcg dGV4dDogdzMyZm9udF90ZXh0X2V4dGVudHMKKyAgIC0gV2hlbiBkcmF3aW5nIHRleHQ6IHcz MmZvbnRfZHJhdworCisgICBEaXJlY3RXcml0ZSBpcyBzZXR1cCBieSBjYWxsaW5nIHczMl9p bml0aWFsaXplX2RpcmVjdF93cml0ZS4gIEZyb20KKyAgIHRoYXQgcG9pbnQsIHRoZSBmdW5j dGlvbiB3MzJfdXNlX2RpcmVjdF93cml0ZSB3aWxsIHJldHVybiB0cnVlIGlmCisgICBEaXJl Y3RXcml0ZSBpcyB0byBiZSB1c2VkLgorCisgICBEaXJlY3RXcml0ZSBpcyBhdmFpbGFibGUg c2luY2UgV2luZG93cyA3LCBidXQgd2UgZG9uJ3QgYWN0aXZhdGUgaXQgb24KKyAgIHZlcnNp b25zIGJlZm9yZSA4LjEsIGJlY2F1c2UgY29sb3IgZm9udHMgYXJlIG9ubHkgYXZhaWxhYmxl IHNpbmNlIHRoYXQuICAqLworCisjaW5jbHVkZSA8Y29uZmlnLmg+CisjaW5jbHVkZSA8bWF0 aC5oPgorI2luY2x1ZGUgPHdpbmRvd3MuaD4KKworI2lmbmRlZiBNSU5HV19XNjQKKyMgZGVm aW5lIElOSVRHVUlECisjZW5kaWYKKyNpbmNsdWRlIDxpbml0Z3VpZC5oPgorI2luY2x1ZGUg PG9sZTIuaD4KKyNpbmNsdWRlIDx1bmtud24uaD4KKworI2luY2x1ZGUgImZyYW1lLmgiCisj aW5jbHVkZSAidzMyZm9udC5oIgorI2luY2x1ZGUgInczMmNvbW1vbi5oIgorI2luY2x1ZGUg InczMnRlcm0uaCIKKworI2lmbmRlZiBNSU5HV19XNjQKKworLyogVGhlIGZvbGxvd2luZyBk ZWZpbml0aW9ucyB3b3VsZCBiZSBpbmNsdWRlZCBmcm9tIGR3cml0ZV8zLmgsIGJ1dCBpdAor ICAgaXMgbm90IGF2YWlsYWJsZSB3aGVuIGJ1aWxkaW5nIHdpdGggbWluZ3cub3JnJ3MgTWlu R1cuICBNZXRob2RzIHRoYXQKKyAgIHdlIGRvbid0IHVzZSBhcmUgZGVjbGFyZWQgd2l0aCB0 aGUgRU1BQ1NfRFdSSVRFX1VOVVNFRCBtYWNybywgdG8KKyAgIGF2b2lkIGJyaW5naW5nIGlu IG1vcmUgdHlwZXMgdGhhdCB3b3VsZCBuZWVkIHRvIGJlIGRlY2xhcmVkLiAgKi8KKworI2Rl ZmluZSBFTUFDU19EV1JJVEVfVU5VU0VEKG5hbWUpIHZvaWQgKFNURE1FVEhPRENBTExUWVBF ICpuYW1lKSh2b2lkKQorCisjZGVmaW5lIERXUklURV9FX05PQ09MT1IgX0hSRVNVTFRfVFlQ RURFRl8oMHg4ODk4NTAwQ0wpCisKK3R5cGVkZWYgZW51bSBEV1JJVEVfUElYRUxfR0VPTUVU UlkgeworICAgIERXUklURV9QSVhFTF9HRU9NRVRSWV9GTEFUID0gMCwKKyAgICBEV1JJVEVf UElYRUxfR0VPTUVUUllfUkdCID0gMSwKKyAgICBEV1JJVEVfUElYRUxfR0VPTUVUUllfQkdS ID0gMgorfSBEV1JJVEVfUElYRUxfR0VPTUVUUlk7CisKK3R5cGVkZWYgZW51bSBEV1JJVEVf UkVOREVSSU5HX01PREUgeworICAgIERXUklURV9SRU5ERVJJTkdfTU9ERV9ERUZBVUxUID0g MCwKKyAgICBEV1JJVEVfUkVOREVSSU5HX01PREVfQUxJQVNFRCA9IDEsCisgICAgRFdSSVRF X1JFTkRFUklOR19NT0RFX0dESV9DTEFTU0lDID0gMiwKKyAgICBEV1JJVEVfUkVOREVSSU5H X01PREVfR0RJX05BVFVSQUwgPSAzLAorICAgIERXUklURV9SRU5ERVJJTkdfTU9ERV9OQVRV UkFMID0gNCwKKyAgICBEV1JJVEVfUkVOREVSSU5HX01PREVfTkFUVVJBTF9TWU1NRVRSSUMg PSA1LAorICAgIERXUklURV9SRU5ERVJJTkdfTU9ERV9PVVRMSU5FID0gNgorfSBEV1JJVEVf UkVOREVSSU5HX01PREU7CisKK3R5cGVkZWYgZW51bSBEV1JJVEVfTUVBU1VSSU5HX01PREUg eworICAgIERXUklURV9NRUFTVVJJTkdfTU9ERV9OQVRVUkFMID0gMCwKKyAgICBEV1JJVEVf TUVBU1VSSU5HX01PREVfR0RJX0NMQVNTSUMgPSAxLAorICAgIERXUklURV9NRUFTVVJJTkdf TU9ERV9HRElfTkFUVVJBTCA9IDIKK30gRFdSSVRFX01FQVNVUklOR19NT0RFOworCit0eXBl ZGVmIGVudW0gRFdSSVRFX1RFWFRfQU5USUFMSUFTX01PREUgeworICAgIERXUklURV9URVhU X0FOVElBTElBU19NT0RFX0NMRUFSVFlQRSA9IDAsCisgICAgRFdSSVRFX1RFWFRfQU5USUFM SUFTX01PREVfR1JBWVNDQUxFID0gMQorfSBEV1JJVEVfVEVYVF9BTlRJQUxJQVNfTU9ERTsK KwordHlwZWRlZiBlbnVtIERXUklURV9GQUNUT1JZX1RZUEUgeworICAgIERXUklURV9GQUNU T1JZX1RZUEVfU0hBUkVEID0gMCwKKyAgICBEV1JJVEVfRkFDVE9SWV9UWVBFX0lTT0xBVEVE ID0gMQorfSBEV1JJVEVfRkFDVE9SWV9UWVBFOworCit0eXBlZGVmIHN0cnVjdCBEV1JJVEVf Rk9OVF9NRVRSSUNTIHsKKyAgICBVSU5UMTYgZGVzaWduVW5pdHNQZXJFbTsKKyAgICBVSU5U MTYgYXNjZW50OworICAgIFVJTlQxNiBkZXNjZW50OworICAgIElOVDE2IGxpbmVHYXA7Cisg ICAgVUlOVDE2IGNhcEhlaWdodDsKKyAgICBVSU5UMTYgeEhlaWdodDsKKyAgICBJTlQxNiB1 bmRlcmxpbmVQb3NpdGlvbjsKKyAgICBVSU5UMTYgdW5kZXJsaW5lVGhpY2tuZXNzOworICAg IElOVDE2IHN0cmlrZXRocm91Z2hQb3NpdGlvbjsKKyAgICBVSU5UMTYgc3RyaWtldGhyb3Vn aFRoaWNrbmVzczsKK30gRFdSSVRFX0ZPTlRfTUVUUklDUzsKKwordHlwZWRlZiBzdHJ1Y3Qg RFdSSVRFX0dMWVBIX01FVFJJQ1MgeworICAgIElOVDMyIGxlZnRTaWRlQmVhcmluZzsKKyAg ICBVSU5UMzIgYWR2YW5jZVdpZHRoOworICAgIElOVDMyIHJpZ2h0U2lkZUJlYXJpbmc7Cisg ICAgSU5UMzIgdG9wU2lkZUJlYXJpbmc7CisgICAgVUlOVDMyIGFkdmFuY2VIZWlnaHQ7Cisg ICAgSU5UMzIgYm90dG9tU2lkZUJlYXJpbmc7CisgICAgSU5UMzIgdmVydGljYWxPcmlnaW5Z OworfSBEV1JJVEVfR0xZUEhfTUVUUklDUzsKKwordHlwZWRlZiBpbnRlcmZhY2UgSURXcml0 ZVJlbmRlcmluZ1BhcmFtcyBJRFdyaXRlUmVuZGVyaW5nUGFyYW1zOwordHlwZWRlZiBpbnRl cmZhY2UgSURXcml0ZUZvbnQgSURXcml0ZUZvbnQ7Cit0eXBlZGVmIGludGVyZmFjZSBJRFdy aXRlR2RpSW50ZXJvcCBJRFdyaXRlR2RpSW50ZXJvcDsKK3R5cGVkZWYgaW50ZXJmYWNlIElE V3JpdGVGYWN0b3J5IElEV3JpdGVGYWN0b3J5OwordHlwZWRlZiBpbnRlcmZhY2UgSURXcml0 ZUZhY3RvcnkyIElEV3JpdGVGYWN0b3J5MjsKK3R5cGVkZWYgaW50ZXJmYWNlIElEV3JpdGVG b250RmFjZSBJRFdyaXRlRm9udEZhY2U7Cit0eXBlZGVmIGludGVyZmFjZSBJRFdyaXRlQml0 bWFwUmVuZGVyVGFyZ2V0IElEV3JpdGVCaXRtYXBSZW5kZXJUYXJnZXQ7Cit0eXBlZGVmIGlu dGVyZmFjZSBJRFdyaXRlQml0bWFwUmVuZGVyVGFyZ2V0MSBJRFdyaXRlQml0bWFwUmVuZGVy VGFyZ2V0MTsKK3R5cGVkZWYgaW50ZXJmYWNlIElEV3JpdGVDb2xvckdseXBoUnVuRW51bWVy YXRvciBJRFdyaXRlQ29sb3JHbHlwaFJ1bkVudW1lcmF0b3I7CisKK0RFRklORV9HVUlEKElJ RF9JRFdyaXRlQml0bWFwUmVuZGVyVGFyZ2V0MSwgMHg3OTFlODI5OCwgMHgzZWYzLCAweDQy MzAsIDB4OTgsMHg4MCwgMHhjOSwweGJkLDB4ZWMsMHhjNCwweDIwLDB4NjQpOworREVGSU5F X0dVSUQoSUlEX0lEV3JpdGVGYWN0b3J5MiwgMHgwNDM5ZmM2MCwgMHhjYTQ0LCAweDQ5OTQs IDB4OGQsMHhlZSwgMHgzYSwweDlhLDB4ZjcsMHhiNywweDMyLDB4ZWMpOworREVGSU5FX0dV SUQoSUlEX0lEV3JpdGVGYWN0b3J5LCAweGI4NTllZTVhLCAweGQ4MzgsIDB4NGI1YiwgMHhh MiwweGU4LCAweDFhLDB4ZGMsMHg3ZCwweDkzLDB4ZGIsMHg0OCk7CisKK3R5cGVkZWYgc3Ry dWN0IERXUklURV9HTFlQSF9PRkZTRVQgeworICAgIEZMT0FUIGFkdmFuY2VPZmZzZXQ7Cisg ICAgRkxPQVQgYXNjZW5kZXJPZmZzZXQ7Cit9IERXUklURV9HTFlQSF9PRkZTRVQ7CisKK3R5 cGVkZWYgc3RydWN0IERXUklURV9HTFlQSF9SVU4geworICAgIElEV3JpdGVGb250RmFjZSAq Zm9udEZhY2U7CisgICAgRkxPQVQgZm9udEVtU2l6ZTsKKyAgICBVSU5UMzIgZ2x5cGhDb3Vu dDsKKyAgICBjb25zdCBVSU5UMTYgKmdseXBoSW5kaWNlczsKKyAgICBjb25zdCBGTE9BVCAq Z2x5cGhBZHZhbmNlczsKKyAgICBjb25zdCBEV1JJVEVfR0xZUEhfT0ZGU0VUICpnbHlwaE9m ZnNldHM7CisgICAgV0lOQk9PTCBpc1NpZGV3YXlzOworICAgIFVJTlQzMiBiaWRpTGV2ZWw7 Cit9ICBEV1JJVEVfR0xZUEhfUlVOOworCit0eXBlZGVmIHN0cnVjdCBfRDNEQ09MT1JWQUxV RSB7CisgIGZsb2F0IHI7CisgIGZsb2F0IGc7CisgIGZsb2F0IGI7CisgIGZsb2F0IGE7Cit9 IEQzRENPTE9SVkFMVUU7CisKK3R5cGVkZWYgRDNEQ09MT1JWQUxVRSBEV1JJVEVfQ09MT1Jf RjsKKwordHlwZWRlZiBzdHJ1Y3QgRFdSSVRFX0NPTE9SX0dMWVBIX1JVTiB7CisgICAgRFdS SVRFX0dMWVBIX1JVTiBnbHlwaFJ1bjsKKyAgICB2b2lkICpnbHlwaFJ1bkRlc2NyaXB0aW9u OworICAgIEZMT0FUIGJhc2VsaW5lT3JpZ2luWDsKKyAgICBGTE9BVCBiYXNlbGluZU9yaWdp blk7CisgICAgRFdSSVRFX0NPTE9SX0YgcnVuQ29sb3I7CisgICAgVUlOVDE2IHBhbGV0dGVJ bmRleDsKK30gRFdSSVRFX0NPTE9SX0dMWVBIX1JVTjsKKwordHlwZWRlZiBzdHJ1Y3QgSURX cml0ZUZvbnRGYWNlVnRibCB7CisgIEJFR0lOX0lOVEVSRkFDRQorCisgIEhSRVNVTFQgKFNU RE1FVEhPRENBTExUWVBFICpRdWVyeUludGVyZmFjZSkKKyAgICAoSURXcml0ZUZvbnRGYWNl ICpUaGlzLCBSRUZJSUQgcmlpZCwgdm9pZCAqKnBwdk9iamVjdCk7CisgIFVMT05HIChTVERN RVRIT0RDQUxMVFlQRSAqQWRkUmVmKShJRFdyaXRlRm9udEZhY2UgKlRoaXMpOworICBVTE9O RyAoU1RETUVUSE9EQ0FMTFRZUEUgKlJlbGVhc2UpKElEV3JpdGVGb250RmFjZSAqVGhpcyk7 CisKKyAgRU1BQ1NfRFdSSVRFX1VOVVNFRChHZXRUeXBlKTsKKyAgRU1BQ1NfRFdSSVRFX1VO VVNFRChHZXRGaWxlcyk7CisgIEVNQUNTX0RXUklURV9VTlVTRUQoR2V0SW5kZXgpOworICBF TUFDU19EV1JJVEVfVU5VU0VEKEdldFNpbXVsYXRpb25zKTsKKyAgRU1BQ1NfRFdSSVRFX1VO VVNFRChJc1N5bWJvbEZvbnQpOworCisgIHZvaWQgKFNURE1FVEhPRENBTExUWVBFICpHZXRN ZXRyaWNzKQorICAgIChJRFdyaXRlRm9udEZhY2UgKlRoaXMsIERXUklURV9GT05UX01FVFJJ Q1MgKm1ldHJpY3MpOworCisgIEVNQUNTX0RXUklURV9VTlVTRUQgKEdldEdseXBoQ291bnQp OworICBFTUFDU19EV1JJVEVfVU5VU0VEIChHZXREZXNpZ25HbHlwaE1ldHJpY3MpOworCisg IEhSRVNVTFQgKFNURE1FVEhPRENBTExUWVBFICpHZXRHbHlwaEluZGljZXMpCisgICAgKElE V3JpdGVGb250RmFjZSAqVGhpcywgY29uc3QgVUlOVDMyICpjb2RlcG9pbnRzLCBVSU5UMzIg Y291bnQsCisgICAgIFVJTlQxNiAqZ2x5cGhfaW5kaWNlcyk7CisKKyAgRU1BQ1NfRFdSSVRF X1VOVVNFRCAoVHJ5R2V0Rm9udFRhYmxlKTsKKyAgRU1BQ1NfRFdSSVRFX1VOVVNFRCAoUmVs ZWFzZUZvbnRUYWJsZSk7CisgIEVNQUNTX0RXUklURV9VTlVTRUQgKEdldEdseXBoUnVuT3V0 bGluZSk7CisgIEVNQUNTX0RXUklURV9VTlVTRUQgKEdldFJlY29tbWVuZGVkUmVuZGVyaW5n TW9kZSk7CisgIEVNQUNTX0RXUklURV9VTlVTRUQgKEdldEdkaUNvbXBhdGlibGVNZXRyaWNz KTsKKworICBIUkVTVUxUIChTVERNRVRIT0RDQUxMVFlQRSAqR2V0R2RpQ29tcGF0aWJsZUds eXBoTWV0cmljcykKKyAgICAoSURXcml0ZUZvbnRGYWNlICpUaGlzLAorICAgICBGTE9BVCBl bVNpemUsCisgICAgIEZMT0FUIHBpeGVsc19wZXJfZGlwLAorICAgICB2b2lkICp0cmFuc2Zv cm0sCisgICAgIFdJTkJPT0wgdXNlX2dkaV9uYXR1cmFsLAorICAgICBjb25zdCBVSU5UMTYg KmdseXBoX2luZGljZXMsCisgICAgIFVJTlQzMiBnbHlwaF9jb3VudCwKKyAgICAgRFdSSVRF X0dMWVBIX01FVFJJQ1MgKm1ldHJpY3MsCisgICAgIFdJTkJPT0wgaXNfc2lkZXdheXMpOwor ICBFTkRfSU5URVJGQUNFCit9IElEV3JpdGVGb250RmFjZVZ0Ymw7CisKK2ludGVyZmFjZSBJ RFdyaXRlRm9udEZhY2UgeworICAgIENPTlNUX1ZUQkwgSURXcml0ZUZvbnRGYWNlVnRibCog bHBWdGJsOworfTsKKwordHlwZWRlZiBzdHJ1Y3QgSURXcml0ZVJlbmRlcmluZ1BhcmFtc1Z0 YmwgeworICBCRUdJTl9JTlRFUkZBQ0UKKworICBIUkVTVUxUIChTVERNRVRIT0RDQUxMVFlQ RSAqUXVlcnlJbnRlcmZhY2UpCisgICAgKElEV3JpdGVSZW5kZXJpbmdQYXJhbXMgKlRoaXMs IFJFRklJRCByaWlkLCB2b2lkICoqcHB2T2JqZWN0KTsKKyAgVUxPTkcgKFNURE1FVEhPRENB TExUWVBFICpBZGRSZWYpKElEV3JpdGVSZW5kZXJpbmdQYXJhbXMgKlRoaXMpOworICBVTE9O RyAoU1RETUVUSE9EQ0FMTFRZUEUgKlJlbGVhc2UpKElEV3JpdGVSZW5kZXJpbmdQYXJhbXMg KlRoaXMpOworCisgIEZMT0FUIChTVERNRVRIT0RDQUxMVFlQRSAqR2V0R2FtbWEpCisgICAg KElEV3JpdGVSZW5kZXJpbmdQYXJhbXMgKlRoaXMpOworICBGTE9BVCAoU1RETUVUSE9EQ0FM TFRZUEUgKkdldEVuaGFuY2VkQ29udHJhc3QpCisgICAgKElEV3JpdGVSZW5kZXJpbmdQYXJh bXMgKlRoaXMpOworICBGTE9BVCAoU1RETUVUSE9EQ0FMTFRZUEUgKkdldENsZWFyVHlwZUxl dmVsKQorICAgIChJRFdyaXRlUmVuZGVyaW5nUGFyYW1zICpUaGlzKTsKKyAgaW50IChTVERN RVRIT0RDQUxMVFlQRSAqR2V0UGl4ZWxHZW9tZXRyeSkKKyAgICAoSURXcml0ZVJlbmRlcmlu Z1BhcmFtcyAqVGhpcyk7CisgIEVORF9JTlRFUkZBQ0UKK30gSURXcml0ZVJlbmRlcmluZ1Bh cmFtc1Z0Ymw7CisKK2ludGVyZmFjZSBJRFdyaXRlUmVuZGVyaW5nUGFyYW1zIHsKKyAgICBD T05TVF9WVEJMIElEV3JpdGVSZW5kZXJpbmdQYXJhbXNWdGJsKiBscFZ0Ymw7Cit9OworCit0 eXBlZGVmIHN0cnVjdCBJRFdyaXRlRm9udFZ0YmwgeworICBCRUdJTl9JTlRFUkZBQ0UKKwor ICBIUkVTVUxUIChTVERNRVRIT0RDQUxMVFlQRSAqUXVlcnlJbnRlcmZhY2UpCisgICAgKElE V3JpdGVGb250ICpUaGlzLCBSRUZJSUQgcmlpZCwgdm9pZCAqKnBwdk9iamVjdCk7CisgIFVM T05HIChTVERNRVRIT0RDQUxMVFlQRSAqQWRkUmVmKShJRFdyaXRlRm9udCAqVGhpcyk7Cisg IFVMT05HIChTVERNRVRIT0RDQUxMVFlQRSAqUmVsZWFzZSkoSURXcml0ZUZvbnQgKlRoaXMp OworCisgIEVNQUNTX0RXUklURV9VTlVTRUQgKEdldEZvbnRGYW1pbHkpOworICBFTUFDU19E V1JJVEVfVU5VU0VEIChHZXRXZWlnaHQpOworICBFTUFDU19EV1JJVEVfVU5VU0VEIChHZXRT dHJldGNoKTsKKyAgRU1BQ1NfRFdSSVRFX1VOVVNFRCAoR2V0U3R5bGUpOworICBFTUFDU19E V1JJVEVfVU5VU0VEIChJc1N5bWJvbEZvbnQpOworICBFTUFDU19EV1JJVEVfVU5VU0VEIChH ZXRGYWNlTmFtZXMpOworICBFTUFDU19EV1JJVEVfVU5VU0VEIChHZXRJbmZvcm1hdGlvbmFs U3RyaW5ncyk7CisgIEVNQUNTX0RXUklURV9VTlVTRUQgKEdldFNpbXVsYXRpb25zKTsKKwor ICB2b2lkIChTVERNRVRIT0RDQUxMVFlQRSAqR2V0TWV0cmljcykKKyAgICAoSURXcml0ZUZv bnQgKlRoaXMsIERXUklURV9GT05UX01FVFJJQ1MgKm1ldHJpY3MpOworCisgIEVNQUNTX0RX UklURV9VTlVTRUQoSGFzQ2hhcmFjdGVyKTsKKworICBIUkVTVUxUIChTVERNRVRIT0RDQUxM VFlQRSAqQ3JlYXRlRm9udEZhY2UpCisgICAgKElEV3JpdGVGb250ICpUaGlzLCBJRFdyaXRl Rm9udEZhY2UgKipmYWNlKTsKKworICBFTkRfSU5URVJGQUNFCit9IElEV3JpdGVGb250VnRi bDsKKworaW50ZXJmYWNlIElEV3JpdGVGb250IHsKKyAgICBDT05TVF9WVEJMIElEV3JpdGVG b250VnRibCogbHBWdGJsOworfTsKKwordHlwZWRlZiBzdHJ1Y3QgSURXcml0ZUJpdG1hcFJl bmRlclRhcmdldFZ0YmwgeworICBCRUdJTl9JTlRFUkZBQ0UKKworICBIUkVTVUxUIChTVERN RVRIT0RDQUxMVFlQRSAqUXVlcnlJbnRlcmZhY2UpCisgICAgKElEV3JpdGVCaXRtYXBSZW5k ZXJUYXJnZXQgKlRoaXMsIFJFRklJRCByaWlkLCB2b2lkICoqcHB2T2JqZWN0KTsKKyAgVUxP TkcgKFNURE1FVEhPRENBTExUWVBFICpBZGRSZWYpKElEV3JpdGVCaXRtYXBSZW5kZXJUYXJn ZXQgKlRoaXMpOworICBVTE9ORyAoU1RETUVUSE9EQ0FMTFRZUEUgKlJlbGVhc2UpKElEV3Jp dGVCaXRtYXBSZW5kZXJUYXJnZXQgKlRoaXMpOworCisgIEhSRVNVTFQgKFNURE1FVEhPRENB TExUWVBFICpEcmF3R2x5cGhSdW4pCisgICAgKElEV3JpdGVCaXRtYXBSZW5kZXJUYXJnZXQg KlRoaXMsCisgICAgIEZMT0FUIGJhc2VsaW5lT3JpZ2luWCwKKyAgICAgRkxPQVQgYmFzZWxp bmVPcmlnaW5ZLAorICAgICBEV1JJVEVfTUVBU1VSSU5HX01PREUgbWVhc3VyaW5nX21vZGUs CisgICAgIGNvbnN0IERXUklURV9HTFlQSF9SVU4gKmdseXBoX3J1biwKKyAgICAgSURXcml0 ZVJlbmRlcmluZ1BhcmFtcyAqcGFyYW1zLAorICAgICBDT0xPUlJFRiB0ZXh0Q29sb3IsCisg ICAgIFJFQ1QgKmJsYWNrYm94X3JlY3QpOworCisgIEhEQyAoU1RETUVUSE9EQ0FMTFRZUEUg KkdldE1lbW9yeURDKShJRFdyaXRlQml0bWFwUmVuZGVyVGFyZ2V0ICpUaGlzKTsKKworICBF TUFDU19EV1JJVEVfVU5VU0VEIChHZXRQaXhlbHNQZXJEaXApOworCisgIEhSRVNVTFQgKFNU RE1FVEhPRENBTExUWVBFICpTZXRQaXhlbHNQZXJEaXApCisgICAgKElEV3JpdGVCaXRtYXBS ZW5kZXJUYXJnZXQgKlRoaXMsIEZMT0FUIHBpeGVsc19wZXJfZGlwKTsKKworICBFTUFDU19E V1JJVEVfVU5VU0VEIChHZXRDdXJyZW50VHJhbnNmb3JtKTsKKyAgRU1BQ1NfRFdSSVRFX1VO VVNFRCAoU2V0Q3VycmVudFRyYW5zZm9ybSk7CisgIEVNQUNTX0RXUklURV9VTlVTRUQgKEdl dFNpemUpOworICBFTUFDU19EV1JJVEVfVU5VU0VEIChSZXNpemUpOworICBFTkRfSU5URVJG QUNFCit9IElEV3JpdGVCaXRtYXBSZW5kZXJUYXJnZXRWdGJsOworCitpbnRlcmZhY2UgSURX cml0ZUJpdG1hcFJlbmRlclRhcmdldCB7CisgICAgQ09OU1RfVlRCTCBJRFdyaXRlQml0bWFw UmVuZGVyVGFyZ2V0VnRibCogbHBWdGJsOworfTsKKwordHlwZWRlZiBzdHJ1Y3QgSURXcml0 ZUJpdG1hcFJlbmRlclRhcmdldDFWdGJsIHsKKyAgQkVHSU5fSU5URVJGQUNFCisKKyAgSFJF U1VMVCAoU1RETUVUSE9EQ0FMTFRZUEUgKlF1ZXJ5SW50ZXJmYWNlKQorICAgIChJRFdyaXRl Qml0bWFwUmVuZGVyVGFyZ2V0MSAqVGhpcywgUkVGSUlEIHJpaWQsIHZvaWQgKipwcHZPYmpl Y3QpOworICBVTE9ORyAoU1RETUVUSE9EQ0FMTFRZUEUgKkFkZFJlZikgKElEV3JpdGVCaXRt YXBSZW5kZXJUYXJnZXQxICpUaGlzKTsKKyAgVUxPTkcgKFNURE1FVEhPRENBTExUWVBFICpS ZWxlYXNlKSAoSURXcml0ZUJpdG1hcFJlbmRlclRhcmdldDEgKlRoaXMpOworCisgIEVNQUNT X0RXUklURV9VTlVTRUQgKERyYXdHbHlwaFJ1bik7CisgIEVNQUNTX0RXUklURV9VTlVTRUQg KEdldE1lbW9yeURDKTsKKyAgRU1BQ1NfRFdSSVRFX1VOVVNFRCAoR2V0UGl4ZWxzUGVyRGlw KTsKKyAgRU1BQ1NfRFdSSVRFX1VOVVNFRCAoU2V0UGl4ZWxzUGVyRGlwKTsKKyAgRU1BQ1Nf RFdSSVRFX1VOVVNFRCAoR2V0Q3VycmVudFRyYW5zZm9ybSk7CisgIEVNQUNTX0RXUklURV9V TlVTRUQgKFNldEN1cnJlbnRUcmFuc2Zvcm0pOworICBFTUFDU19EV1JJVEVfVU5VU0VEIChH ZXRTaXplKTsKKyAgRU1BQ1NfRFdSSVRFX1VOVVNFRCAoUmVzaXplKTsKKyAgRU1BQ1NfRFdS SVRFX1VOVVNFRCAoR2V0VGV4dEFudGlhbGlhc01vZGUpOworCisgIEhSRVNVTFQgKFNURE1F VEhPRENBTExUWVBFICpTZXRUZXh0QW50aWFsaWFzTW9kZSkKKyAgICAoSURXcml0ZUJpdG1h cFJlbmRlclRhcmdldDEgKlRoaXMsIERXUklURV9URVhUX0FOVElBTElBU19NT0RFIG1vZGUp OworCisgIEVORF9JTlRFUkZBQ0UKK30gSURXcml0ZUJpdG1hcFJlbmRlclRhcmdldDFWdGJs OworCitpbnRlcmZhY2UgSURXcml0ZUJpdG1hcFJlbmRlclRhcmdldDEgeworICAgIENPTlNU X1ZUQkwgSURXcml0ZUJpdG1hcFJlbmRlclRhcmdldDFWdGJsKiBscFZ0Ymw7Cit9OworCit0 eXBlZGVmIHN0cnVjdCBJRFdyaXRlR2RpSW50ZXJvcFZ0YmwgeworICBCRUdJTl9JTlRFUkZB Q0UKKworICBIUkVTVUxUIChTVERNRVRIT0RDQUxMVFlQRSAqUXVlcnlJbnRlcmZhY2UpCisg ICAgKElEV3JpdGVHZGlJbnRlcm9wICpUaGlzLCBSRUZJSUQgcmlpZCwgdm9pZCAqKnBwdk9i amVjdCk7CisgIFVMT05HIChTVERNRVRIT0RDQUxMVFlQRSAqQWRkUmVmKShJRFdyaXRlR2Rp SW50ZXJvcCAqVGhpcyk7CisgIFVMT05HIChTVERNRVRIT0RDQUxMVFlQRSAqUmVsZWFzZSko SURXcml0ZUdkaUludGVyb3AgKlRoaXMpOworCisgIEhSRVNVTFQgKFNURE1FVEhPRENBTExU WVBFICpDcmVhdGVGb250RnJvbUxPR0ZPTlQpCisgICAgKElEV3JpdGVHZGlJbnRlcm9wICpU aGlzLCBjb25zdCBMT0dGT05UVyAqbG9nZm9udCwKKyAgICAgSURXcml0ZUZvbnQgKipmb250 KTsKKworICBFTUFDU19EV1JJVEVfVU5VU0VEIChDb252ZXJ0Rm9udFRvTE9HRk9OVCk7Cisg IEVNQUNTX0RXUklURV9VTlVTRUQgKENvbnZlcnRGb250RmFjZVRvTE9HRk9OVCk7CisgIEVN QUNTX0RXUklURV9VTlVTRUQgKENyZWF0ZUZvbnRGYWNlRnJvbUhkYyk7CisKKyAgSFJFU1VM VCAoU1RETUVUSE9EQ0FMTFRZUEUgKkNyZWF0ZUJpdG1hcFJlbmRlclRhcmdldCkKKyAgICAo SURXcml0ZUdkaUludGVyb3AgKlRoaXMsIEhEQyBoZGMsIFVJTlQzMiB3aWR0aCwgVUlOVDMy IGhlaWdodCwKKyAgICAgSURXcml0ZUJpdG1hcFJlbmRlclRhcmdldCAqKnRhcmdldCk7Cisg IEVORF9JTlRFUkZBQ0UKK30gSURXcml0ZUdkaUludGVyb3BWdGJsOworCitpbnRlcmZhY2Ug SURXcml0ZUdkaUludGVyb3AgeworICAgIENPTlNUX1ZUQkwgSURXcml0ZUdkaUludGVyb3BW dGJsKiBscFZ0Ymw7Cit9OworCit0eXBlZGVmIHN0cnVjdCBJRFdyaXRlRmFjdG9yeVZ0Ymwg eworICBCRUdJTl9JTlRFUkZBQ0UKKworICBIUkVTVUxUIChTVERNRVRIT0RDQUxMVFlQRSAq UXVlcnlJbnRlcmZhY2UpCisgICAgKElEV3JpdGVGYWN0b3J5ICpUaGlzLCBSRUZJSUQgcmlp ZCwgdm9pZCAqKnBwdk9iamVjdCk7CisgIFVMT05HIChTVERNRVRIT0RDQUxMVFlQRSAqQWRk UmVmKShJRFdyaXRlRmFjdG9yeSAqVGhpcyk7CisgIFVMT05HIChTVERNRVRIT0RDQUxMVFlQ RSAqUmVsZWFzZSkoSURXcml0ZUZhY3RvcnkgKlRoaXMpOworCisgIEVNQUNTX0RXUklURV9V TlVTRUQgKEdldFN5c3RlbUZvbnRDb2xsZWN0aW9uKTsKKyAgRU1BQ1NfRFdSSVRFX1VOVVNF RCAoQ3JlYXRlQ3VzdG9tRm9udENvbGxlY3Rpb24pOworICBFTUFDU19EV1JJVEVfVU5VU0VE IChSZWdpc3RlckZvbnRDb2xsZWN0aW9uTG9hZGVyKTsKKyAgRU1BQ1NfRFdSSVRFX1VOVVNF RCAoVW5yZWdpc3RlckZvbnRDb2xsZWN0aW9uTG9hZGVyKTsKKyAgRU1BQ1NfRFdSSVRFX1VO VVNFRCAoQ3JlYXRlRm9udEZpbGVSZWZlcmVuY2UpOworICBFTUFDU19EV1JJVEVfVU5VU0VE IChDcmVhdGVDdXN0b21Gb250RmlsZVJlZmVyZW5jZSk7CisgIEVNQUNTX0RXUklURV9VTlVT RUQgKENyZWF0ZUZvbnRGYWNlKTsKKyAgSFJFU1VMVCAoU1RETUVUSE9EQ0FMTFRZUEUgKkNy ZWF0ZVJlbmRlcmluZ1BhcmFtcykKKyAgICAoSURXcml0ZUZhY3RvcnkgKlRoaXMsIElEV3Jp dGVSZW5kZXJpbmdQYXJhbXMgKipwYXJhbXMpOworICBFTUFDU19EV1JJVEVfVU5VU0VEIChD cmVhdGVNb25pdG9yUmVuZGVyaW5nUGFyYW1zKTsKKyAgSFJFU1VMVCAoU1RETUVUSE9EQ0FM TFRZUEUgKkNyZWF0ZUN1c3RvbVJlbmRlcmluZ1BhcmFtcykKKyAgICAoSURXcml0ZUZhY3Rv cnkgKlRoaXMsIEZMT0FUIGdhbW1hLCBGTE9BVCBlbmhhbmNlZENvbnRyYXN0LAorICAgICBG TE9BVCBjbGVhcnR5cGVfbGV2ZWwsIERXUklURV9QSVhFTF9HRU9NRVRSWSBnZW9tZXRyeSwK KyAgICAgRFdSSVRFX1JFTkRFUklOR19NT0RFIG1vZGUsIElEV3JpdGVSZW5kZXJpbmdQYXJh bXMgKipwYXJhbXMpOworICBFTUFDU19EV1JJVEVfVU5VU0VEIChSZWdpc3RlckZvbnRGaWxl TG9hZGVyKTsKKyAgRU1BQ1NfRFdSSVRFX1VOVVNFRCAoVW5yZWdpc3RlckZvbnRGaWxlTG9h ZGVyKTsKKyAgRU1BQ1NfRFdSSVRFX1VOVVNFRCAoQ3JlYXRlVGV4dEZvcm1hdCk7CisgIEVN QUNTX0RXUklURV9VTlVTRUQgKENyZWF0ZVR5cG9ncmFwaHkpOworICBIUkVTVUxUIChTVERN RVRIT0RDQUxMVFlQRSAqR2V0R2RpSW50ZXJvcCkKKyAgICAoSURXcml0ZUZhY3RvcnkgKlRo aXMsIElEV3JpdGVHZGlJbnRlcm9wICoqZ2RpX2ludGVyb3ApOworICBFTUFDU19EV1JJVEVf VU5VU0VEIChDcmVhdGVUZXh0TGF5b3V0KTsKKyAgRU1BQ1NfRFdSSVRFX1VOVVNFRCAoQ3Jl YXRlR2RpQ29tcGF0aWJsZVRleHRMYXlvdXQpOworICBFTUFDU19EV1JJVEVfVU5VU0VEIChD cmVhdGVFbGxpcHNpc1RyaW1taW5nU2lnbik7CisgIEVNQUNTX0RXUklURV9VTlVTRUQgKENy ZWF0ZVRleHRBbmFseXplcik7CisgIEVNQUNTX0RXUklURV9VTlVTRUQgKENyZWF0ZU51bWJl clN1YnN0aXR1dGlvbik7CisgIEVNQUNTX0RXUklURV9VTlVTRUQgKENyZWF0ZUdseXBoUnVu QW5hbHlzaXMpOworICBFTkRfSU5URVJGQUNFCit9IElEV3JpdGVGYWN0b3J5VnRibDsKKwor aW50ZXJmYWNlIElEV3JpdGVGYWN0b3J5IHsgQ09OU1RfVlRCTCBJRFdyaXRlRmFjdG9yeVZ0 YmwqIGxwVnRibDsgfTsKKwordHlwZWRlZiBzdHJ1Y3QgSURXcml0ZUNvbG9yR2x5cGhSdW5F bnVtZXJhdG9yVnRibCB7CisgICAgQkVHSU5fSU5URVJGQUNFCisKKyAgICBIUkVTVUxUIChT VERNRVRIT0RDQUxMVFlQRSAqUXVlcnlJbnRlcmZhY2UpCisgICAgICAoSURXcml0ZUNvbG9y R2x5cGhSdW5FbnVtZXJhdG9yICpUaGlzLCBSRUZJSUQgcmlpZCwgdm9pZCAqKnBwdk9iamVj dCk7CisgICAgVUxPTkcgKFNURE1FVEhPRENBTExUWVBFICpBZGRSZWYpKElEV3JpdGVDb2xv ckdseXBoUnVuRW51bWVyYXRvciAqVGhpcyk7CisgICAgVUxPTkcgKFNURE1FVEhPRENBTExU WVBFICpSZWxlYXNlKShJRFdyaXRlQ29sb3JHbHlwaFJ1bkVudW1lcmF0b3IgKlRoaXMpOwor CisgICAgSFJFU1VMVCAoU1RETUVUSE9EQ0FMTFRZUEUgKk1vdmVOZXh0KSgKKyAgICAgICAg SURXcml0ZUNvbG9yR2x5cGhSdW5FbnVtZXJhdG9yICpUaGlzLAorICAgICAgICBXSU5CT09M ICpoYXNSdW4pOworCisgICAgSFJFU1VMVCAoU1RETUVUSE9EQ0FMTFRZUEUgKkdldEN1cnJl bnRSdW4pKAorICAgICAgICBJRFdyaXRlQ29sb3JHbHlwaFJ1bkVudW1lcmF0b3IgKlRoaXMs CisgICAgICAgIGNvbnN0IERXUklURV9DT0xPUl9HTFlQSF9SVU4gKipydW4pOworCisgICAg RU5EX0lOVEVSRkFDRQorfSBJRFdyaXRlQ29sb3JHbHlwaFJ1bkVudW1lcmF0b3JWdGJsOwor CitpbnRlcmZhY2UgSURXcml0ZUNvbG9yR2x5cGhSdW5FbnVtZXJhdG9yIHsKKyAgICBDT05T VF9WVEJMIElEV3JpdGVDb2xvckdseXBoUnVuRW51bWVyYXRvclZ0YmwqIGxwVnRibDsKK307 CisKK3R5cGVkZWYgc3RydWN0IElEV3JpdGVGYWN0b3J5MlZ0YmwgeworICBCRUdJTl9JTlRF UkZBQ0UKKyAgSFJFU1VMVCAoU1RETUVUSE9EQ0FMTFRZUEUgKlF1ZXJ5SW50ZXJmYWNlKQor ICAgICAgKElEV3JpdGVGYWN0b3J5MiAqVGhpcywgUkVGSUlEIHJpaWQsIHZvaWQgKipwcHZP YmplY3QpOworICBVTE9ORyAoU1RETUVUSE9EQ0FMTFRZUEUgKkFkZFJlZikoSURXcml0ZUZh Y3RvcnkyICpUaGlzKTsKKyAgVUxPTkcgKFNURE1FVEhPRENBTExUWVBFICpSZWxlYXNlKShJ RFdyaXRlRmFjdG9yeTIgKlRoaXMpOworICBFTUFDU19EV1JJVEVfVU5VU0VEIChHZXRTeXN0 ZW1Gb250Q29sbGVjdGlvbik7CisgIEVNQUNTX0RXUklURV9VTlVTRUQgKENyZWF0ZUN1c3Rv bUZvbnRDb2xsZWN0aW9uKTsKKyAgRU1BQ1NfRFdSSVRFX1VOVVNFRCAoUmVnaXN0ZXJGb250 Q29sbGVjdGlvbkxvYWRlcik7CisgIEVNQUNTX0RXUklURV9VTlVTRUQgKFVucmVnaXN0ZXJG b250Q29sbGVjdGlvbkxvYWRlcik7CisgIEVNQUNTX0RXUklURV9VTlVTRUQgKENyZWF0ZUZv bnRGaWxlUmVmZXJlbmNlKTsKKyAgRU1BQ1NfRFdSSVRFX1VOVVNFRCAoQ3JlYXRlQ3VzdG9t Rm9udEZpbGVSZWZlcmVuY2UpOworICBFTUFDU19EV1JJVEVfVU5VU0VEIChDcmVhdGVGb250 RmFjZSk7CisgIEVNQUNTX0RXUklURV9VTlVTRUQgKENyZWF0ZVJlbmRlcmluZ1BhcmFtcyk7 CisgIEVNQUNTX0RXUklURV9VTlVTRUQgKENyZWF0ZU1vbml0b3JSZW5kZXJpbmdQYXJhbXMp OworICBFTUFDU19EV1JJVEVfVU5VU0VEIChDcmVhdGVDdXN0b21SZW5kZXJpbmdQYXJhbXMp OworICBFTUFDU19EV1JJVEVfVU5VU0VEIChSZWdpc3RlckZvbnRGaWxlTG9hZGVyKTsKKyAg RU1BQ1NfRFdSSVRFX1VOVVNFRCAoVW5yZWdpc3RlckZvbnRGaWxlTG9hZGVyKTsKKyAgRU1B Q1NfRFdSSVRFX1VOVVNFRCAoQ3JlYXRlVGV4dEZvcm1hdCk7CisgIEVNQUNTX0RXUklURV9V TlVTRUQgKENyZWF0ZVR5cG9ncmFwaHkpOworICBFTUFDU19EV1JJVEVfVU5VU0VEIChHZXRH ZGlJbnRlcm9wKTsKKyAgRU1BQ1NfRFdSSVRFX1VOVVNFRCAoQ3JlYXRlVGV4dExheW91dCk7 CisgIEVNQUNTX0RXUklURV9VTlVTRUQgKENyZWF0ZUdkaUNvbXBhdGlibGVUZXh0TGF5b3V0 KTsKKyAgRU1BQ1NfRFdSSVRFX1VOVVNFRCAoQ3JlYXRlRWxsaXBzaXNUcmltbWluZ1NpZ24p OworICBFTUFDU19EV1JJVEVfVU5VU0VEIChDcmVhdGVUZXh0QW5hbHl6ZXIpOworICBFTUFD U19EV1JJVEVfVU5VU0VEIChDcmVhdGVOdW1iZXJTdWJzdGl0dXRpb24pOworICBFTUFDU19E V1JJVEVfVU5VU0VEIChDcmVhdGVHbHlwaFJ1bkFuYWx5c2lzKTsKKworICBFTUFDU19EV1JJ VEVfVU5VU0VEIChHZXRFdWRjRm9udENvbGxlY3Rpb24pOworICBFTUFDU19EV1JJVEVfVU5V U0VEIChJRFdyaXRlRmFjdG9yeTFfQ3JlYXRlQ3VzdG9tUmVuZGVyaW5nUGFyYW1zKTsKKwor ICBFTUFDU19EV1JJVEVfVU5VU0VEIChHZXRTeXN0ZW1Gb250RmFsbGJhY2spOworICBFTUFD U19EV1JJVEVfVU5VU0VEIChDcmVhdGVGb250RmFsbGJhY2tCdWlsZGVyKTsKKyAgSFJFU1VM VCAoU1RETUVUSE9EQ0FMTFRZUEUgKlRyYW5zbGF0ZUNvbG9yR2x5cGhSdW4pCisgICAgKElE V3JpdGVGYWN0b3J5MiAqVGhpcywKKyAgICAgRkxPQVQgb3JpZ2luWCwKKyAgICAgRkxPQVQg b3JpZ2luWSwKKyAgICAgY29uc3QgRFdSSVRFX0dMWVBIX1JVTiAqcnVuLAorICAgICB2b2lk ICpydW5kZXNjciwKKyAgICAgRFdSSVRFX01FQVNVUklOR19NT0RFIG1vZGUsCisgICAgIHZv aWQgKnRyYW5zZm9ybSwKKyAgICAgVUlOVDMyIHBhbGV0dGVfaW5kZXgsCisgICAgIElEV3Jp dGVDb2xvckdseXBoUnVuRW51bWVyYXRvciAqKmNvbG9ybGF5ZXJzKTsKKworICBFTUFDU19E V1JJVEVfVU5VU0VEIChJRFdyaXRlRmFjdG9yeTJfQ3JlYXRlQ3VzdG9tUmVuZGVyaW5nUGFy YW1zKTsKKyAgRU1BQ1NfRFdSSVRFX1VOVVNFRCAoSURXcml0ZUZhY3RvcnkyX0NyZWF0ZUds eXBoUnVuQW5hbHlzaXMpOworICBFTkRfSU5URVJGQUNFCit9IElEV3JpdGVGYWN0b3J5MlZ0 Ymw7CisKK2ludGVyZmFjZSBJRFdyaXRlRmFjdG9yeTIgeworICAgIENPTlNUX1ZUQkwgSURX cml0ZUZhY3RvcnkyVnRibCogbHBWdGJsOworfTsKKyNlbHNlIC8qIGlmbmRlZiBNSU5HV19X NjQgKi8KKyMgaW5jbHVkZSA8ZHdyaXRlXzMuaD4KKyNlbmRpZgorCisvKiBWYWx1ZXMgdG8g dXNlIGZvciBEaXJlY3RXcml0ZSByZW5kZXJpbmcuICAqLworI2RlZmluZSBNRUFTVVJJTkdf TU9ERSBEV1JJVEVfTUVBU1VSSU5HX01PREVfTkFUVVJBTAorI2RlZmluZSBSRU5ERVJJTkdf TU9ERSBEV1JJVEVfUkVOREVSSU5HX01PREVfTkFUVVJBTF9TWU1NRVRSSUMKKyNkZWZpbmUg QU5USUFMSUFTX01PREUgRFdSSVRFX1RFWFRfQU5USUFMSUFTX01PREVfQ0xFQVJUWVBFCisK KyNkZWZpbmUgUkVMRUFTRV9DT00oaSkgKGkpLT5scFZ0YmwtPlJlbGVhc2UgKGkpCisKKy8q IEdsb2JhbCB2YXJpYWJsZXMgZm9yIERpcmVjdFdyaXRlLiAgKi8KK3N0YXRpYyBib29sIGRp cmVjdF93cml0ZV9hdmFpbGFibGUgPSBmYWxzZTsKK3N0YXRpYyBJRFdyaXRlRmFjdG9yeSAq ZHdyaXRlX2ZhY3Rvcnk7CitzdGF0aWMgSURXcml0ZUZhY3RvcnkyICpkd3JpdGVfZmFjdG9y eTI7CitzdGF0aWMgSURXcml0ZUdkaUludGVyb3AgKmdkaV9pbnRlcm9wOworc3RhdGljIElE V3JpdGVSZW5kZXJpbmdQYXJhbXMgKnJlbmRlcmluZ19wYXJhbXM7CisKK3N0YXRpYyBib29s Cit2ZXJpZnlfaHIgKEhSRVNVTFQgaHIsIGNvbnN0IGNoYXIgKm1zZykKK3sKKyAgaWYgKEZB SUxFRCAoaHIpKQorICAgIHsKKyAgICAgIERlYlByaW50ICgoIkRpcmVjdFdyaXRlIEhSRVNV TFQgZmFpbGVkOiAoJWQpICVzXG4iLCBociwgbXNnKSk7CisgICAgICBlYXNzZXJ0IChTVUND RUVERUQgKGhyKSk7CisgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorICByZXR1cm4gdHJ1 ZTsKK30KKworLyogR2V0cyBhIElEV3JpdGVGb250RmFjZSBmcm9tIGEgc3RydWN0IGZvbnQg KGl0cyBIRk9OVCkuIFJldHVybnMgdGhlCisgICBmb250IHNpemUgaW4gcG9pbnRzLiAgSXQg bWF5IGZhaWwgdG8gZ2V0IGEgRGlyZWN0V3JpdGUgZm9udCwgYW5kIGZhY2UKKyAgIHdpbGwg YmUgTlVMTCBvbiByZXR1cm4uICBUaGlzIGhhcHBlbnMgZm9yIHNvbWUgZm9udHMgbGlrZSBD b3VyaWVyLgorCisgICBOZXZlciBjYWxsIFJlbGVhc2Ugb24gdGhlIHJlc3VsdCwgYXMgaXQg aXMgY2FjaGVkIGZvciByZXVzZSBvbiB0aGUKKyAgIHN0cnVjdCBmb250LiAgKi8KK3N0YXRp YyBmbG9hdAorZ2V0X2ZvbnRfZmFjZSAoc3RydWN0IGZvbnQgKmluZm9udCwgSURXcml0ZUZv bnRGYWNlICoqZmFjZSkKK3sKKyAgSFJFU1VMVCBocjsKKyAgTE9HRk9OVFcgbG9nZm9udDsK KyAgSURXcml0ZUZvbnQgKmZvbnQ7CisKKyAgc3RydWN0IHVuaXNjcmliZV9mb250X2luZm8g KnVuaXNjcmliZV9mb250ID0KKyAgICAoc3RydWN0IHVuaXNjcmliZV9mb250X2luZm8gKikg aW5mb250OworCisgIC8qIENoZWNrIHRoZSBjYWNoZS4gICovCisgICpmYWNlID0gdW5pc2Ny aWJlX2ZvbnQtPmR3cml0ZV9jYWNoZTsKKyAgaWYgKCpmYWNlKQorICAgIHJldHVybiB1bmlz Y3JpYmVfZm9udC0+ZHdyaXRlX2ZvbnRfc2l6ZTsKKworICBHZXRPYmplY3RXIChGT05UX0hB TkRMRShpbmZvbnQpLCBzaXplb2YgKExPR0ZPTlRXKSwgJmxvZ2ZvbnQpOworCisgIGhyID0g Z2RpX2ludGVyb3AtPmxwVnRibC0+Q3JlYXRlRm9udEZyb21MT0dGT05UIChnZGlfaW50ZXJv cCwKKwkJCQkJCSAgIChjb25zdCBMT0dGT05UVyAqKSAmbG9nZm9udCwKKwkJCQkJCSAgICZm b250KTsKKworICBpZiAoIXZlcmlmeV9ociAoaHIsICJGYWlsZWQgdG8gQ3JlYXRlRm9udEZy b21MT0dGT05UIikpCisgICAgeworICAgICAgdW5pc2NyaWJlX2ZvbnQtPmR3cml0ZV9za2lw X2ZvbnQgPSB0cnVlOworICAgICAgKmZhY2UgPSBOVUxMOworICAgICAgcmV0dXJuIDAuMDsK KyAgICB9CisKKyAgaHIgPSBmb250LT5scFZ0YmwtPkNyZWF0ZUZvbnRGYWNlIChmb250LCBm YWNlKTsKKyAgUkVMRUFTRV9DT00gKGZvbnQpOworICBpZiAoIXZlcmlmeV9ociAoaHIsICJG YWlsZWQgdG8gY3JlYXRlIERXcml0ZUZvbnRGYWNlIikpCisgICAgeworICAgICAgdW5pc2Ny aWJlX2ZvbnQtPmR3cml0ZV9za2lwX2ZvbnQgPSB0cnVlOworICAgICAgKmZhY2UgPSBOVUxM OworICAgICAgcmV0dXJuIDAuMDsKKyAgICB9CisKKyAgLyogQ2FjaGUgdGhpcyBGb250RmFj ZS4gICovCisgIHVuaXNjcmliZV9mb250LT5kd3JpdGVfZm9udF9zaXplID0gYWJzIChsb2dm b250LmxmSGVpZ2h0KTsKKyAgdW5pc2NyaWJlX2ZvbnQtPmR3cml0ZV9jYWNoZSA9ICpmYWNl OworCisgIHJldHVybiBhYnMgKGxvZ2ZvbnQubGZIZWlnaHQpOworfQorCit2b2lkCit3MzJf ZHdyaXRlX2ZyZWVfY2FjaGVkX2ZhY2UgKHZvaWQgKmNhY2hlKQoreworICBpZiAoY2FjaGUp CisgICAgUkVMRUFTRV9DT00gKChJRFdyaXRlRm9udEZhY2UgKikgY2FjaGUpOworfQorCitz dGF0aWMgZmxvYXQKK2NvbnZlcnRfbWV0cmljc19zeiAoaW50IHN6LCBmbG9hdCBmb250X3Np emUsIGludCB1bml0c19wZXJfZW0pCit7CisgIHJldHVybiAoZmxvYXQpIHN6ICogZm9udF9z aXplIC8gdW5pdHNfcGVyX2VtOworfQorCisvKiBEb2VzIG5vdCBmaWxsIGluIHRoZSBhc2Nl bnQgYW5kIGRlc2NlbnQgZmllbGRzIG9mIG1ldHJpY3MuICAqLworc3RhdGljIGJvb2wKK3Rl eHRfZXh0ZW50c19pbnRlcm5hbCAoSURXcml0ZUZvbnRGYWNlICpkd3JpdGVfZm9udF9mYWNl LAorCQkgICAgICAgZmxvYXQgZm9udF9zaXplLCBjb25zdCB1bnNpZ25lZCAqY29kZSwKKwkJ ICAgICAgIGludCBuZ2x5cGhzLCBzdHJ1Y3QgZm9udF9tZXRyaWNzICptZXRyaWNzKQorewor ICBIUkVTVUxUIGhyOworCisgIERXUklURV9GT05UX01FVFJJQ1MgZHdyaXRlX2ZvbnRfbWV0 cmljczsKKyAgZHdyaXRlX2ZvbnRfZmFjZS0+bHBWdGJsLT5HZXRNZXRyaWNzIChkd3JpdGVf Zm9udF9mYWNlLAorCQkJCQkmZHdyaXRlX2ZvbnRfbWV0cmljcyk7CisKKyAgVUlOVDE2ICpp bmRpY2VzID0gYWxsb2NhIChuZ2x5cGhzICogc2l6ZW9mIChVSU5UMTYpKTsKKyAgZm9yIChp bnQgaSA9IDA7IGkgPCBuZ2x5cGhzOyBpKyspCisgICAgaW5kaWNlc1tpXSA9IGNvZGVbaV07 CisKKyAgRFdSSVRFX0dMWVBIX01FVFJJQ1MqIGdtZXRyaWNzID0KKyAgICBhbGxvY2EgKG5n bHlwaHMgKiBzaXplb2YgKERXUklURV9HTFlQSF9NRVRSSUNTKSk7CisKKyAgaHIgPSBkd3Jp dGVfZm9udF9mYWNlLT5scFZ0YmwtPkdldEdkaUNvbXBhdGlibGVHbHlwaE1ldHJpY3MgKGR3 cml0ZV9mb250X2ZhY2UsCisJCQkJCQkJICAgICAgIGZvbnRfc2l6ZSwKKwkJCQkJCQkgICAg ICAgMS4wLAorCQkJCQkJCSAgICAgICBOVUxMLAorCQkJCQkJCSAgICAgICBUUlVFLAorCQkJ CQkJCSAgICAgICBpbmRpY2VzLAorCQkJCQkJCSAgICAgICBuZ2x5cGhzLAorCQkJCQkJCSAg ICAgICBnbWV0cmljcywKKwkJCQkJCQkgICAgICAgZmFsc2UpOworICBpZiAoIXZlcmlmeV9o ciAoaHIsICJGYWlsZWQgdG8gR2V0R2RpQ29tcGF0aWJsZUdseXBoTWV0cmljcyIpKQorICAg IHJldHVybiBmYWxzZTsKKworICBmbG9hdCB3aWR0aCA9IDA7CisgIGludCBkdV9wZXJfZW0g PSBkd3JpdGVfZm9udF9tZXRyaWNzLmRlc2lnblVuaXRzUGVyRW07CisKKyAgZm9yIChpbnQg aSA9IDA7IGkgPCBuZ2x5cGhzOyBpKyspCisgICAgeworICAgICAgZmxvYXQgYWR2YW5jZSA9 CisJY29udmVydF9tZXRyaWNzX3N6IChnbWV0cmljc1tpXS5hZHZhbmNlV2lkdGgsIGZvbnRf c2l6ZSwgZHVfcGVyX2VtKTsKKworICAgICAgd2lkdGggKz0gYWR2YW5jZTsKKworICAgICAg ZmxvYXQgbGJlYXJpbmcgPQorCXJvdW5kIChjb252ZXJ0X21ldHJpY3Nfc3ogKGdtZXRyaWNz W2ldLmxlZnRTaWRlQmVhcmluZywgZm9udF9zaXplLAorCQkJCSAgIGR1X3Blcl9lbSkpOwor ICAgICAgZmxvYXQgcmJlYXJpbmcgPQorCXJvdW5kIChhZHZhbmNlIC0KKwkgICAgICAgY29u dmVydF9tZXRyaWNzX3N6IChnbWV0cmljc1tpXS5yaWdodFNpZGVCZWFyaW5nLAorCQkJCSAg IGZvbnRfc2l6ZSwgZHVfcGVyX2VtKSk7CisgICAgICBpZiAoaSA9PSAwKQorCXsKKwkgIG1l dHJpY3MtPmxiZWFyaW5nID0gbGJlYXJpbmc7CisJICBtZXRyaWNzLT5yYmVhcmluZyA9IHJi ZWFyaW5nOworCX0KKyAgICAgIGlmIChtZXRyaWNzLT5sYmVhcmluZyA+IGxiZWFyaW5nKQor CW1ldHJpY3MtPmxiZWFyaW5nID0gbGJlYXJpbmc7CisgICAgICBpZiAobWV0cmljcy0+cmJl YXJpbmcgPCByYmVhcmluZykKKwltZXRyaWNzLT5yYmVhcmluZyA9IHJiZWFyaW5nOworICAg IH0KKyAgbWV0cmljcy0+d2lkdGggPSByb3VuZCh3aWR0aCk7CisKKyAgcmV0dXJuIHRydWU7 Cit9CisKK3Vuc2lnbmVkCit3MzJfZHdyaXRlX2VuY29kZV9jaGFyIChzdHJ1Y3QgZm9udCAq Zm9udCwgaW50IGMpCit7CisgIEhSRVNVTFQgaHI7CisgIElEV3JpdGVGb250RmFjZSAqZHdy aXRlX2ZvbnRfZmFjZTsKKyAgVUlOVDE2IGluZGV4OworCisgIGdldF9mb250X2ZhY2UgKGZv bnQsICZkd3JpdGVfZm9udF9mYWNlKTsKKyAgaWYgKGR3cml0ZV9mb250X2ZhY2UgPT0gTlVM TCkKKyAgICByZXR1cm4gRk9OVF9JTlZBTElEX0NPREU7CisgIGhyID0gZHdyaXRlX2ZvbnRf ZmFjZS0+bHBWdGJsLT5HZXRHbHlwaEluZGljZXMgKGR3cml0ZV9mb250X2ZhY2UsCisJCQkJ CQkgICZjLCAxLCAmaW5kZXgpOworICBpZiAodmVyaWZ5X2hyIChociwgIkZhaWxlZCB0byBH ZXRHbHlwaEluZGljZXMiKSkKKyAgICB7CisgICAgICBpZiAoaW5kZXggPT0gMCkKKwlyZXR1 cm4gRk9OVF9JTlZBTElEX0NPREU7CisgICAgICByZXR1cm4gaW5kZXg7CisgICAgfQorICAo KHN0cnVjdCB1bmlzY3JpYmVfZm9udF9pbmZvICopIGZvbnQpLT5kd3JpdGVfc2tpcF9mb250 ID0gdHJ1ZTsKKyAgcmV0dXJuIEZPTlRfSU5WQUxJRF9DT0RFOworfQorCitib29sCit3MzJf ZHdyaXRlX3RleHRfZXh0ZW50cyAoc3RydWN0IGZvbnQgKmZvbnQsIGNvbnN0IHVuc2lnbmVk ICpjb2RlLCBpbnQgbmdseXBocywKKwkJCSBzdHJ1Y3QgZm9udF9tZXRyaWNzICptZXRyaWNz KQoreworICBJRFdyaXRlRm9udEZhY2UgKmR3cml0ZV9mb250X2ZhY2U7CisKKyAgZmxvYXQg Zm9udF9zaXplID0gZ2V0X2ZvbnRfZmFjZSAoZm9udCwgJmR3cml0ZV9mb250X2ZhY2UpOwor CisgIGlmIChkd3JpdGVfZm9udF9mYWNlID09IE5VTEwpCisgICAgICByZXR1cm4gZmFsc2U7 CisKKyAgLyogV2UgY2FuIGdldCBmb250cyB3aXRoIGEgc2l6ZSBvZiAwLiAgR0RJIGhhbmRs ZXMgdGhpcyBieSB1c2luZyBhIGRlZmF1bHQKKyAgICAgc2l6ZS4gIFdlIGRvIHRoZSBzYW1l LiAgKi8KKyAgaWYgKGZvbnRfc2l6ZSA8PSAwLjBmKQorICAgICAgZm9udF9zaXplID0gRlJB TUVfTElORV9IRUlHSFQgKFhGUkFNRSAoc2VsZWN0ZWRfZnJhbWUpKTsKKworICBtZXRyaWNz LT5hc2NlbnQgPSBmb250LT5hc2NlbnQ7CisgIG1ldHJpY3MtPmRlc2NlbnQgPSBmb250LT5k ZXNjZW50OworCisgIHJldHVybiB0ZXh0X2V4dGVudHNfaW50ZXJuYWwgKGR3cml0ZV9mb250 X2ZhY2UsIGZvbnRfc2l6ZSwgY29kZSwgbmdseXBocywKKwkJCQltZXRyaWNzKTsKK30KKwor LyogTmV2ZXIgY2FsbCBSZWxlYXNlIG9uIHRoZSB2YWx1ZSByZXR1cm5lZCBieSB0aGlzIGZ1 bmN0aW9uLCBhcyBpdCBpcworICAgcmV1c2VkLiAgKi8KK3N0YXRpYyBJRFdyaXRlQml0bWFw UmVuZGVyVGFyZ2V0ICoKK2dldF9iaXRtYXBfcmVuZGVyX3RhcmdldCAoSERDIGhkYywgaW50 IHdpZHRoLCBpbnQgaGVpZ2h0KQoreworICBIUkVTVUxUIGhyOworICBzdGF0aWMgSURXcml0 ZUJpdG1hcFJlbmRlclRhcmdldCAqYnJ0ID0gTlVMTDsKKyAgc3RhdGljIFNJWkUgc2l6ZSA9 IHswLCAwfTsKKworICBpZiAoYnJ0KQorICAgIHsKKyAgICAgIC8qIENoZWNrIGlmIHdlIG5l ZWQgdG8gbWFrZSBhIGJpZ2dlciBvbmUuICAqLworICAgICAgaWYgKHdpZHRoIDw9IHNpemUu Y3ggJiYgaGVpZ2h0IDw9IHNpemUuY3kpCisJcmV0dXJuIGJydDsKKyAgICAgIFJFTEVBU0Vf Q09NIChicnQpOworICAgIH0KKworICBpZiAod2lkdGggPiBzaXplLmN4KQorICAgIHNpemUu Y3ggPSB3aWR0aDsKKyAgaWYgKGhlaWdodCA+IHNpemUuY3kpCisgICAgc2l6ZS5jeSA9IGhl aWdodDsKKworICBociA9IGdkaV9pbnRlcm9wLT5scFZ0YmwtPkNyZWF0ZUJpdG1hcFJlbmRl clRhcmdldCAoZ2RpX2ludGVyb3AsCisJCQkJCQkgICAgICBoZGMsCisJCQkJCQkgICAgICBz aXplLmN4LCBzaXplLmN5LAorCQkJCQkJICAgICAgJmJydCk7CisgIGlmICghdmVyaWZ5X2hy IChociwgIkZhaWxlZCB0byBDcmVhdGVCaXRtYXBSZW5kZXJUYXJnZXQiKSkKKyAgICAgIHJl dHVybiBOVUxMOworCisgIC8qIFdlIGhhbmRsZSBoaWdoIGRwaSBkaXNwbGF5cyBieSBpbmNy ZXNpbmcgZm9udCBzaXplLCBzbyBvdmVycmlkZQorICAgICBQaXhlbHNQZXJEaXAuICAqLwor ICBicnQtPmxwVnRibC0+U2V0UGl4ZWxzUGVyRGlwIChicnQsIDEuMCk7CisKKyAgLyogVGhl IFNldFRleHRBbnRpYWxpYXNNb2RlIG1ldGhvZCBpcyBvbmx5IGF2YWlsYWJsZSBpbgorICAg ICBJRFdyaXRlQml0bWFwUmVuZGVyVGFyZ2V0MS4gICovCisgIElEV3JpdGVCaXRtYXBSZW5k ZXJUYXJnZXQxICpicnQxOworICBociA9IGJydC0+bHBWdGJsLT5RdWVyeUludGVyZmFjZSAo YnJ0LAorCQkJCSAgICAmSUlEX0lEV3JpdGVCaXRtYXBSZW5kZXJUYXJnZXQxLAorCQkJCSAg ICAodm9pZCAqKikgJmJydDEpOworICAvKiBUaGlzIGVycm9yIHNob3VsZCBub3QgaGFwcGVu LCBidXQgaXMgbm90IGNhdGFzdHJvZmljICAqLworICBpZiAodmVyaWZ5X2hyIChociwgIkZh aWxlZCB0byBRdWVyeUludGVyZmFjZSBmb3IgSURXcml0ZUJpdG1hcFJlbmRlclRhcmdldDEi KSkKKyAgICB7CisgICAgICBicnQxLT5scFZ0YmwtPlNldFRleHRBbnRpYWxpYXNNb2RlIChi cnQxLCBBTlRJQUxJQVNfTU9ERSk7CisgICAgICBSRUxFQVNFX0NPTSAoYnJ0MSk7CisgICAg fQorCisgIHJldHVybiBicnQ7Cit9CisKK3ZvaWQKK3czMl9pbml0aWFsaXplX2RpcmVjdF93 cml0ZSAodm9pZCkKK3sKKyAgZGlyZWN0X3dyaXRlX2F2YWlsYWJsZSA9IGZhbHNlOworICBI TU9EVUxFIGRpcmVjdF93cml0ZSA9IExvYWRMaWJyYXJ5ICgiZHdyaXRlLmRsbCIpOworICBp ZiAoIWRpcmVjdF93cml0ZSkKKyAgICByZXR1cm47CisKKyAgLyogVGhpcyBpcyBvbmx5IHVz ZWQgaGVyZSwgbm8gbmVlZCB0byBkZWZpbmUgaXQgZ2xvYmFsbHkuICAqLworICB0eXBlZGVm IEhSRVNVTFQgKFdJTkFQSSAqRFdDcmVhdGVGYWN0b3J5KSAoRFdSSVRFX0ZBQ1RPUllfVFlQ RSBmLCBSRUZJSUQgciwgSVVua25vd24qKiB1KTsKKworICBEV0NyZWF0ZUZhY3RvcnkgZHdf Y3JlYXRlX2ZhY3RvcnkKKyAgICA9IChEV0NyZWF0ZUZhY3RvcnkpIGdldF9wcm9jX2FkZHIg KGRpcmVjdF93cml0ZSwKKwkJCQkgICAgICAgIkRXcml0ZUNyZWF0ZUZhY3RvcnkiKTsKKwor ICBpZiAoIWR3X2NyZWF0ZV9mYWN0b3J5KQorICAgIHsKKyAgICAgIEZyZWVMaWJyYXJ5IChk aXJlY3Rfd3JpdGUpOworICAgICAgcmV0dXJuOworICAgIH0KKworICBIUkVTVUxUIGhyID0g ZHdfY3JlYXRlX2ZhY3RvcnkgKERXUklURV9GQUNUT1JZX1RZUEVfU0hBUkVELAorCQkJCSAg JklJRF9JRFdyaXRlRmFjdG9yeSwKKwkJCQkgIChJVW5rbm93biAqKikgJmR3cml0ZV9mYWN0 b3J5KTsKKyAgaWYgKEZBSUxFRCAoaHIpKQorICAgIHsKKyAgICAgIERlYlByaW50ICgoIkRp cmVjdFdyaXRlIEhSRVNVTFQgZmFpbGVkOiAoJWQpIENyZWF0ZUZhY3RvcnlcbiIsIGhyKSk7 CisgICAgICBGcmVlTGlicmFyeSAoZGlyZWN0X3dyaXRlKTsKKyAgICAgIGVhc3NlcnQgKFNV Q0NFRURFRCAoaHIpKTsKKyAgICAgIHJldHVybjsKKyAgICB9CisKKyAgaHIgPSBkd3JpdGVf ZmFjdG9yeS0+bHBWdGJsLT5RdWVyeUludGVyZmFjZSAoZHdyaXRlX2ZhY3RvcnksCisJCQkJ CSAgICAgICAmSUlEX0lEV3JpdGVGYWN0b3J5MiwKKwkJCQkJICAgICAgICh2b2lkICoqKSAm ZHdyaXRlX2ZhY3RvcnkyKTsKKworICBpZiAoRkFJTEVEIChocikpCisgICAgeworICAgICAg RGViUHJpbnQgKCgiRGlyZWN0V3JpdGUgSFJFU1VMVCBmYWlsZWQ6ICglZCkgUXVlcnlJbnRl cmZhY2UgSURXcml0ZUZhY3RvcnkyXG4iLCBocikpOworICAgICAgUkVMRUFTRV9DT00gKGR3 cml0ZV9mYWN0b3J5KTsKKyAgICAgIEZyZWVMaWJyYXJ5IChkaXJlY3Rfd3JpdGUpOworICAg ICAgZWFzc2VydCAoU1VDQ0VFREVEIChocikpOworICAgICAgcmV0dXJuOworICAgIH0KKwor ICBociA9IGR3cml0ZV9mYWN0b3J5LT5scFZ0YmwtPkdldEdkaUludGVyb3AgKGR3cml0ZV9m YWN0b3J5LAorCQkJCQkgICAgICAmZ2RpX2ludGVyb3ApOworICBpZiAoRkFJTEVEIChocikp CisgICAgeworICAgICAgRGViUHJpbnQgKCgiRGlyZWN0V3JpdGUgSFJFU1VMVCBmYWlsZWQ6 ICglZCkgR2V0R2RpSW50ZXJvcFxuIiwgaHIpKTsKKyAgICAgIFJFTEVBU0VfQ09NIChkd3Jp dGVfZmFjdG9yeSk7CisgICAgICBSRUxFQVNFX0NPTSAoZHdyaXRlX2ZhY3RvcnkyKTsKKyAg ICAgIEZyZWVMaWJyYXJ5IChkaXJlY3Rfd3JpdGUpOworICAgICAgZWFzc2VydCAoU1VDQ0VF REVEIChocikpOworICAgICAgcmV0dXJuOworICAgIH0KKworICBJRFdyaXRlUmVuZGVyaW5n UGFyYW1zICpkZWY7CisKKyAgaHIgPSBkd3JpdGVfZmFjdG9yeS0+bHBWdGJsLT5DcmVhdGVS ZW5kZXJpbmdQYXJhbXMgKGR3cml0ZV9mYWN0b3J5LAorCQkJCQkJICAgICAgJmRlZik7Cisg IGlmIChGQUlMRUQgKGhyKSkKKyAgICB7CisgICAgICBEZWJQcmludCAoKCJEaXJlY3RXcml0 ZSBIUkVTVUxUIGZhaWxlZDogKCVkKSBDcmVhdGVSZW5kZXJpbmdQYXJhbXNcbiIsIGhyKSk7 CisgICAgICBSRUxFQVNFX0NPTSAoZHdyaXRlX2ZhY3RvcnkpOworICAgICAgUkVMRUFTRV9D T00gKGR3cml0ZV9mYWN0b3J5Mik7CisgICAgICBSRUxFQVNFX0NPTSAoZ2RpX2ludGVyb3Ap OworICAgICAgRnJlZUxpYnJhcnkgKGRpcmVjdF93cml0ZSk7CisgICAgICBlYXNzZXJ0IChT VUNDRUVERUQgKGhyKSk7CisgICAgICByZXR1cm47CisgICAgfQorCisgIC8qIHJhbmdlOiBb MC4wLCAxLjBdICAqLworICBmbG9hdCBlbmhhbmNlZF9jb250cmFzdCA9IGRlZi0+bHBWdGJs LT5HZXRFbmhhbmNlZENvbnRyYXN0IChkZWYpOworICAvKiByYW5nZTogWzAuMCwgMS4wXSAg Ki8KKyAgZmxvYXQgY2xlYXJfdHlwZV9sZXZlbCA9IGRlZi0+bHBWdGJsLT5HZXRDbGVhclR5 cGVMZXZlbCAoZGVmKTsKKyAgLyogcmFuZ2U6ICgwLjAsIDI1Ni4wXSAqLworICBmbG9hdCBn YW1tYSA9IDEuNDsgLyogZGVmLT5scFZ0YmwtPkdldEdhbW1hKGRlZik7ICovCisKKyAgaHIg PSBkd3JpdGVfZmFjdG9yeS0+bHBWdGJsLT5DcmVhdGVDdXN0b21SZW5kZXJpbmdQYXJhbXMg KGR3cml0ZV9mYWN0b3J5LAorCQkJCQkJCSAgICBnYW1tYSwKKwkJCQkJCQkgICAgZW5oYW5j ZWRfY29udHJhc3QsCisJCQkJCQkJICAgIGNsZWFyX3R5cGVfbGV2ZWwsCisJCQkJCQkJICAg IGRlZi0+bHBWdGJsLT5HZXRQaXhlbEdlb21ldHJ5KGRlZiksCisJCQkJCQkJICAgIFJFTkRF UklOR19NT0RFLAorCQkJCQkJCSAgICAmcmVuZGVyaW5nX3BhcmFtcyk7CisKKyAgUkVMRUFT RV9DT00gKGRlZik7CisKKyAgaWYgKEZBSUxFRCAoaHIpKQorICAgIHsKKyAgICAgIERlYlBy aW50ICgoIkRpcmVjdFdyaXRlIEhSRVNVTFQgZmFpbGVkOiAoJWQpIENyZWF0ZUN1c3RvbVJl bmRlcmluZ1BhcmFtc1xuIiwgaHIpKTsKKyAgICAgIFJFTEVBU0VfQ09NIChkd3JpdGVfZmFj dG9yeSk7CisgICAgICBSRUxFQVNFX0NPTSAoZHdyaXRlX2ZhY3RvcnkyKTsKKyAgICAgIFJF TEVBU0VfQ09NIChnZGlfaW50ZXJvcCk7CisgICAgICBGcmVlTGlicmFyeSAoZGlyZWN0X3dy aXRlKTsKKyAgICAgIGVhc3NlcnQgKFNVQ0NFRURFRCAoaHIpKTsKKyAgICAgIHJldHVybjsK KyAgICB9CisKKyAgZGlyZWN0X3dyaXRlX2F2YWlsYWJsZSA9IHRydWU7CisKKyAgdzMyX2lu aGliaXRfZHdyaXRlID0gZmFsc2U7Cit9CisKK2Jvb2wKK3czMl9kd3JpdGVfZHJhdyAoSERD IGhkYywgaW50IHgsIGludCB5LCB1bnNpZ25lZCAqZ2x5cGhzLCBpbnQgbGVuLAorCQkgQ09M T1JSRUYgY29sb3IsIHN0cnVjdCBmb250ICpmb250KQoreworICBIUkVTVUxUIGhyOworICBJ RFdyaXRlRm9udEZhY2UgKmR3cml0ZV9mb250X2ZhY2U7CisKKyAgc3RydWN0IHVuaXNjcmli ZV9mb250X2luZm8gKnVuaXNjcmliZV9mb250ID0KKyAgICAoc3RydWN0IHVuaXNjcmliZV9m b250X2luZm8gKikgZm9udDsKKworICAvKiBXaGF0IHdlIGdldCBhcyB5IGlzIHRoZSBiYXNl bGluZSBwb3NpdGlvbi4gICovCisgIHkgLT0gZm9udC0+YXNjZW50OworCisgIGZsb2F0IGZv bnRfc2l6ZSA9IGdldF9mb250X2ZhY2UgKGZvbnQsICZkd3JpdGVfZm9udF9mYWNlKTsKKyAg aWYgKGR3cml0ZV9mb250X2ZhY2UgPT0gTlVMTCkKKyAgICByZXR1cm4gZmFsc2U7CisKKyAg c3RydWN0IGZvbnRfbWV0cmljcyBtZXRyaWNzOworICBpZiAoIXRleHRfZXh0ZW50c19pbnRl cm5hbCAoZHdyaXRlX2ZvbnRfZmFjZSwgZm9udF9zaXplLCBnbHlwaHMsIGxlbiwKKwkJCSAg ICAgICZtZXRyaWNzKSkKKyAgICB7CisgICAgICB1bmlzY3JpYmVfZm9udC0+ZHdyaXRlX3Nr aXBfZm9udCA9IHRydWU7CisgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgIGludCBi aXRtYXBfd2lkdGggPSBtZXRyaWNzLndpZHRoICsgbWV0cmljcy5yYmVhcmluZzsKKyAgaW50 IGJpdG1hcF9oZWlnaHQgPSBmb250LT5hc2NlbnQgKyBmb250LT5kZXNjZW50OworCisgIC8q IFdlIG5ldmVyIHJlbGVhc2UgdGhpcywgZ2V0X2JpdG1hcF9yZW5kZXJfdGFyZ2V0IHJldXNl cyBpdC4gICovCisgIElEV3JpdGVCaXRtYXBSZW5kZXJUYXJnZXQgKmJpdG1hcF9yZW5kZXJf dGFyZ2V0ID0KKyAgICBnZXRfYml0bWFwX3JlbmRlcl90YXJnZXQgKGhkYywgYml0bWFwX3dp ZHRoLCBiaXRtYXBfaGVpZ2h0KTsKKworICAvKiBJZiB0aGlzIGZhaWxzLCBjb21wbGV0ZWx5 IGRpc2FibGUgRGlyZWN0V3JpdGUuICAqLworICBpZiAoYml0bWFwX3JlbmRlcl90YXJnZXQg PT0gTlVMTCkKKyAgICB7CisgICAgICBkaXJlY3Rfd3JpdGVfYXZhaWxhYmxlID0gZmFsc2U7 CisgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgIC8qIFRoaXMgREMgY2FuJ3QgYmUg cmVsZWFzZWQuICAqLworICBIREMgdGV4dF9kYyA9IGJpdG1hcF9yZW5kZXJfdGFyZ2V0LT5s cFZ0YmwtPkdldE1lbW9yeURDCisgICAgKGJpdG1hcF9yZW5kZXJfdGFyZ2V0KTsKKworICAv KiBDb3B5IHRoZSBiYWNrZ3JvdW5kIHBpeGVsIHRvIHRoZSByZW5kZXIgdGFyZ2V0IGJpdG1h cC4gICovCisgIEJpdEJsdCAodGV4dF9kYywgMCwgMCwgYml0bWFwX3dpZHRoLCBiaXRtYXBf aGVpZ2h0LCBoZGMsIHgsIHksIFNSQ0NPUFkpOworCisgIFVJTlQxNiAqaW5kaWNlcyA9IGFs bG9jYSAobGVuICogc2l6ZW9mIChVSU5UMTYpKTsKKworICBmb3IgKGludCBpID0gMDsgaSA8 IGxlbjsgaSsrKQorICAgIGluZGljZXNbaV0gPSBnbHlwaHNbaV07CisKKyAgRkxPQVQgKmFk dmFuY2VzID0gYWxsb2NhIChsZW4gKiBzaXplb2YgKEZMT0FUKSk7CisKKyAgZm9yIChpbnQg aSA9IDA7IGkgPCBsZW47IGkrKykKKyAgICB7CisgICAgICBpZiAoIXRleHRfZXh0ZW50c19p bnRlcm5hbCAoZHdyaXRlX2ZvbnRfZmFjZSwgZm9udF9zaXplLCBnbHlwaHMgKyBpLCAxLAor CQkJCSAmbWV0cmljcykpCisJeworCSAgdW5pc2NyaWJlX2ZvbnQtPmR3cml0ZV9za2lwX2Zv bnQgPSB0cnVlOworCSAgcmV0dXJuIGZhbHNlOworCX0KKyAgICAgIGFkdmFuY2VzW2ldID0g bWV0cmljcy53aWR0aDsKKyAgICB9CisKKyAgRFdSSVRFX0dMWVBIX1JVTiBnbHlwaF9ydW47 CisgIGdseXBoX3J1bi5mb250RmFjZSA9IGR3cml0ZV9mb250X2ZhY2U7CisgIGdseXBoX3J1 bi5mb250RW1TaXplID0gZm9udF9zaXplOworICBnbHlwaF9ydW4uZ2x5cGhJbmRpY2VzID0g aW5kaWNlczsKKyAgZ2x5cGhfcnVuLmdseXBoQ291bnQgPSBsZW47CisgIGdseXBoX3J1bi5p c1NpZGV3YXlzID0gZmFsc2U7CisgIGdseXBoX3J1bi5iaWRpTGV2ZWwgPSAwOworICBnbHlw aF9ydW4uZ2x5cGhPZmZzZXRzID0gTlVMTDsKKyAgZ2x5cGhfcnVuLmdseXBoQWR2YW5jZXMg PSBhZHZhbmNlczsKKworICBJRFdyaXRlQ29sb3JHbHlwaFJ1bkVudW1lcmF0b3IgKmxheWVy czsKKyAgLyogVGhpcyBjYWxsIHdpbGwgdGVsbCB1cyBpZiB3ZSBoYWNlIHRvIGhhbmRsZSBh bnkgY29sb3IgZ2x5cGguICAqLworICBociA9IGR3cml0ZV9mYWN0b3J5Mi0+bHBWdGJsLT5U cmFuc2xhdGVDb2xvckdseXBoUnVuIChkd3JpdGVfZmFjdG9yeTIsCisJCQkJCQkJMCwgZm9u dC0+YXNjZW50LAorCQkJCQkJCSZnbHlwaF9ydW4sCisJCQkJCQkJTlVMTCwKKwkJCQkJCQlN RUFTVVJJTkdfTU9ERSwKKwkJCQkJCQlOVUxMLAorCQkJCQkJCTAsCisJCQkJCQkJJmxheWVy cyk7CisKKyAgLyogTm8gY29sb3IuICBKdXN0IGRyYXcgdGhlIEdseXBoUnVuLiAgKi8KKyAg aWYgKGhyID09IERXUklURV9FX05PQ09MT1IpCisgICAgICBiaXRtYXBfcmVuZGVyX3Rhcmdl dC0+bHBWdGJsLT5EcmF3R2x5cGhSdW4gKGJpdG1hcF9yZW5kZXJfdGFyZ2V0LAorCQkJCQkJ ICAwLCBmb250LT5hc2NlbnQsCisJCQkJCQkgIE1FQVNVUklOR19NT0RFLAorCQkJCQkJICAm Z2x5cGhfcnVuLAorCQkJCQkJICByZW5kZXJpbmdfcGFyYW1zLAorCQkJCQkJICBjb2xvciwK KwkJCQkJCSAgTlVMTCk7CisgIGVsc2UKKyAgICB7CisgICAgICAvKiBJZiB0aGVyZSB3ZXJl IGNvbG9yIGdseXBocywgbGF5ZXJzIGNvbnRhaW5zIGEgbGlzdCBvZiBHbHlwaFJ1bgorCSB3 aXRoIGEgY29sb3IgYW5kIGEgcG9zaXRpb24gZm9yIGVhY2guICBXZSBkcmF3IHRoZW0KKwkg aW5kaXZpZHVhbGx5LiAgKi8KKyAgICAgIGlmICghdmVyaWZ5X2hyIChociwgIkZhaWxlZCBh dCBUcmFuc2xhdGVDb2xvckdseXBoUnVuIikpCisJeworCSAgdW5pc2NyaWJlX2ZvbnQtPmR3 cml0ZV9za2lwX2ZvbnQgPSB0cnVlOworCSAgUkVMRUFTRV9DT00gKGxheWVycyk7CisJICBy ZXR1cm4gZmFsc2U7CisJfQorICAgICAgZm9yICg7OykgeworCUhSRVNVTFQgaHI7CisJQk9P TCBtb3JlX2xheWVyczsKKwljb25zdCBEV1JJVEVfQ09MT1JfR0xZUEhfUlVOICpsYXllcjsK KworCWhyID0gbGF5ZXJzLT5scFZ0YmwtPk1vdmVOZXh0IChsYXllcnMsICZtb3JlX2xheWVy cyk7CisJaWYgKCF2ZXJpZnlfaHIgKGhyLCAiRmFpbGVkIGF0IE1vdmVOZXh0IikpCisJICB7 CisJICAgIHVuaXNjcmliZV9mb250LT5kd3JpdGVfc2tpcF9mb250ID0gdHJ1ZTsKKwkgICAg UkVMRUFTRV9DT00gKGxheWVycyk7CisJICAgIHJldHVybiBmYWxzZTsKKwkgIH0KKwlpZiAo IW1vcmVfbGF5ZXJzKQorCSAgYnJlYWs7CisJaHIgPSBsYXllcnMtPmxwVnRibC0+R2V0Q3Vy cmVudFJ1biAobGF5ZXJzLCAmbGF5ZXIpOworCWlmICghdmVyaWZ5X2hyIChociwgIkZhaWxl ZCBhdCBHZXRDdXJyZW50UnVuIikpCisJICB7CisJICAgIHVuaXNjcmliZV9mb250LT5kd3Jp dGVfc2tpcF9mb250ID0gdHJ1ZTsKKwkgICAgUkVMRUFTRV9DT00gKGxheWVycyk7CisJICAg IHJldHVybiBmYWxzZTsKKwkgIH0KKwlociA9IGJpdG1hcF9yZW5kZXJfdGFyZ2V0LT5scFZ0 YmwtPkRyYXdHbHlwaFJ1bgorCSAgKGJpdG1hcF9yZW5kZXJfdGFyZ2V0LAorCSAgIGxheWVy LT5iYXNlbGluZU9yaWdpblgsCisJICAgbGF5ZXItPmJhc2VsaW5lT3JpZ2luWSwKKwkgICBN RUFTVVJJTkdfTU9ERSwKKwkgICAmbGF5ZXItPmdseXBoUnVuLAorCSAgIHJlbmRlcmluZ19w YXJhbXMsCisJICAgUkdCIChsYXllci0+cnVuQ29sb3IuciAqIDI1NSwKKwkJbGF5ZXItPnJ1 bkNvbG9yLmcgKiAyNTUsCisJCWxheWVyLT5ydW5Db2xvci5iICogMjU1KSwKKwkgICBOVUxM KTsKKwlpZiAoIXZlcmlmeV9ociAoaHIsICJGYWlsZWQgYXQgR2V0Q3VycmVudFJ1biIpKQor CSAgeworCSAgICB1bmlzY3JpYmVfZm9udC0+ZHdyaXRlX3NraXBfZm9udCA9IHRydWU7CisJ ICAgIFJFTEVBU0VfQ09NIChsYXllcnMpOworCSAgICByZXR1cm4gZmFsc2U7CisJICB9Cisg ICAgICB9CisgICAgICBSRUxFQVNFX0NPTSAobGF5ZXJzKTsKKyAgICB9CisKKyAgLyogRmlu YWxseSwgY29weSB0aGUgcmVuZGVyZWQgdGV4dCBiYWNrIHRvIHRoZSBvcmlnaW5hbCBEQy4g ICovCisgIEJpdEJsdCAoaGRjLCB4LCB5LCBiaXRtYXBfd2lkdGgsIGJpdG1hcF9oZWlnaHQs IHRleHRfZGMsIDAsIDAsIFNSQ0NPUFkpOworCisgIHJldHVybiB0cnVlOworfQorCisvKiBS ZXR1cm5zIHRydWUgaWYgRGlyZWN0V3JpdGUgaXMgdG8gYmUgdXNlZDoKKyAgIC0gSXQgaXMg YXZhaWxhYmxlLgorICAgLSBUaGUgZm9udCBpcyBoYW5kbGVkIGJ5IEhhcmZCdXp6LgorICAg LSB3MzItaW5oaWJpdC1kd3JpdGUgaXMgZmFsc2UuCisgICAtIFRoZSBmb250IGhhcyBub3Qg YmVlbiBtYXJrZWQgYWZ0ZXIgYSBmYWlsZWQgRGlyZWN0V3JpdGUgb3BlcmF0aW9uLgorICov Citib29sCit3MzJfdXNlX2RpcmVjdF93cml0ZSAoc3RydWN0IHczMmZvbnRfaW5mbyAqdzMy Zm9udCkKK3sKKyNpZmRlZiBIQVZFX0hBUkZCVVpaCisgIHJldHVybiBkaXJlY3Rfd3JpdGVf YXZhaWxhYmxlCisgICAgJiYgdzMyZm9udC0+Zm9udC5kcml2ZXIgPT0gJmhhcmZidXp6X2Zv bnRfZHJpdmVyCisgICAgJiYgIXczMl9pbmhpYml0X2R3cml0ZQorICAgICYmICEoKHN0cnVj dCB1bmlzY3JpYmVfZm9udF9pbmZvICopIHczMmZvbnQpLT5kd3JpdGVfc2tpcF9mb250Owor I2Vsc2UKKyAgcmV0dXJuIGZhbHNlOworI2VuZGlmCit9CmRpZmYgLS1naXQgYS9zcmMvdzMy Zm9udC5jIGIvc3JjL3czMmZvbnQuYwppbmRleCBlZmI0MmQ4MDMzNi4uMDVlNWEwNjdmMjAg MTAwNjQ0Ci0tLSBhL3NyYy93MzJmb250LmMKKysrIGIvc3JjL3czMmZvbnQuYwpAQCAtNDUy LDYgKzQ1MiwxMCBAQCB3MzJmb250X3RleHRfZXh0ZW50cyAoc3RydWN0IGZvbnQgKmZvbnQs IGNvbnN0IHVuc2lnbmVkICpjb2RlLAogCiAgIG1lbXNldCAobWV0cmljcywgMCwgc2l6ZW9m IChzdHJ1Y3QgZm9udF9tZXRyaWNzKSk7CiAKKyAgaWYgKHczMl91c2VfZGlyZWN0X3dyaXRl ICh3MzJfZm9udCkpCisgICAgICBpZiAodzMyX2R3cml0ZV90ZXh0X2V4dGVudHMgKGZvbnQs IGNvZGUsIG5nbHlwaHMsIG1ldHJpY3MpKQorCXJldHVybjsKKwogICBmb3IgKGkgPSAwLCBm aXJzdCA9IHRydWU7IGkgPCBuZ2x5cGhzOyBpKyspCiAgICAgewogICAgICAgc3RydWN0IHcz Ml9tZXRyaWNfY2FjaGUgKmNoYXJfbWV0cmljOwpAQCAtNzA2LDIyICs3MTAsMzEgQEAgdzMy Zm9udF9kcmF3IChzdHJ1Y3QgZ2x5cGhfc3RyaW5nICpzLCBpbnQgZnJvbSwgaW50IHRvLAog ICAgICAgaW50IGk7CiAKICAgICAgIGZvciAoaSA9IDA7IGkgPCBsZW47IGkrKykKLQl7Ci0J ICBXQ0hBUiBjID0gcy0+Y2hhcjJiW2Zyb20gKyBpXSAmIDB4RkZGRjsKLQkgIEV4dFRleHRP dXRXIChzLT5oZGMsIHggKyBpLCB5LCBvcHRpb25zLCBOVUxMLCAmYywgMSwgTlVMTCk7Ci0J fQorCWlmICghdzMyX3VzZV9kaXJlY3Rfd3JpdGUgKHczMmZvbnQpIHx8CisJICAgICF3MzJf ZHdyaXRlX2RyYXcgKHMtPmhkYywgeCwgeSwgcy0+Y2hhcjJiICsgZnJvbSwgMSwKKwkJCSAg ICAgIEdldFRleHRDb2xvcihzLT5oZGMpLCBzLT5mb250KSkKKwkgIHsKKwkgICAgV0NIQVIg YyA9IHMtPmNoYXIyYltmcm9tICsgaV0gJiAweEZGRkY7CisJICAgIEV4dFRleHRPdXRXIChz LT5oZGMsIHggKyBpLCB5LCBvcHRpb25zLCBOVUxMLCAmYywgMSwgTlVMTCk7CisJICB9CiAg ICAgfQogICBlbHNlCiAgICAgewotICAgICAgLyogVGhlIG51bWJlciBvZiBnbHlwaHMgaW4g YSBnbHlwaF9zdHJpbmcgY2Fubm90IGJlIGxhcmdlciB0aGFuCi0JIHRoZSBtYXhpbXVtIHZh bHVlIG9mIHRoZSAndXNlZCcgbWVtYmVyIG9mIGEgZ2x5cGhfcm93LCBzbyB3ZQotCSBhcmUg T0sgdXNpbmcgYWxsb2NhIGhlcmUuICAqLwotICAgICAgZWFzc2VydCAobGVuIDw9IFNIUlRf TUFYKTsKLSAgICAgIFdDSEFSICpjaGFycyA9IGFsbG9jYSAobGVuICogc2l6ZW9mIChXQ0hB UikpOwotICAgICAgaW50IGo7Ci0gICAgICBmb3IgKGogPSAwOyBqIDwgbGVuOyBqKyspCi0J Y2hhcnNbal0gPSBzLT5jaGFyMmJbZnJvbSArIGpdICYgMHhGRkZGOwotICAgICAgRXh0VGV4 dE91dFcgKHMtPmhkYywgeCwgeSwgb3B0aW9ucywgTlVMTCwgY2hhcnMsIGxlbiwgTlVMTCk7 CisgICAgICBpZiAoIXczMl91c2VfZGlyZWN0X3dyaXRlICh3MzJmb250KSB8fAorCSAgIXcz Ml9kd3JpdGVfZHJhdyAocy0+aGRjLCB4LCB5LAorCQkJICAgIHMtPmNoYXIyYiArIGZyb20s IGxlbiwgR2V0VGV4dENvbG9yKHMtPmhkYyksCisJCQkgICAgcy0+Zm9udCkpCisJeworCSAg LyogVGhlIG51bWJlciBvZiBnbHlwaHMgaW4gYSBnbHlwaF9zdHJpbmcgY2Fubm90IGJlIGxh cmdlciB0aGFuCisJICAgICB0aGUgbWF4aW11bSB2YWx1ZSBvZiB0aGUgJ3VzZWQnIG1lbWJl ciBvZiBhIGdseXBoX3Jvdywgc28gd2UKKwkgICAgIGFyZSBPSyB1c2luZyBhbGxvY2EgaGVy ZS4gICovCisJICBlYXNzZXJ0IChsZW4gPD0gU0hSVF9NQVgpOworCSAgV0NIQVIgKmNoYXJz ID0gYWxsb2NhIChsZW4gKiBzaXplb2YgKFdDSEFSKSk7CisJICBpbnQgajsKKwkgIGZvciAo aiA9IDA7IGogPCBsZW47IGorKykKKwkgICAgY2hhcnNbal0gPSBzLT5jaGFyMmJbZnJvbSAr IGpdICYgMHhGRkZGOworCSAgRXh0VGV4dE91dFcgKHMtPmhkYywgeCwgeSwgb3B0aW9ucywg TlVMTCwgY2hhcnMsIGxlbiwgTlVMTCk7CisJfQogICAgIH0KIAogICAvKiBSZXN0b3JlIGNs aXAgcmVnaW9uLiAgKi8KZGlmZiAtLWdpdCBhL3NyYy93MzJmb250LmggYi9zcmMvdzMyZm9u dC5oCmluZGV4IDNmNzgwYzFkODY2Li42OGQyODE1NjEyNSAxMDA2NDQKLS0tIGEvc3JjL3cz MmZvbnQuaAorKysgYi9zcmMvdzMyZm9udC5oCkBAIC01Nyw2ICs1NywyNiBAQCAjZGVmaW5l IFczMk1FVFJJQ19GQUlMIDIKICAgSEZPTlQgaGZvbnQ7CiB9OwogCisvKiBFeHRlbnNpb24g b2YgdzMyZm9udF9pbmZvIHVzZWQgYnkgVW5pc2NyaWJlIGFuZCBIYXJmQnV6eiBiYWNrZW5k cy4gICovCitzdHJ1Y3QgdW5pc2NyaWJlX2ZvbnRfaW5mbworeworICBzdHJ1Y3QgdzMyZm9u dF9pbmZvIHczMl9mb250OworICAvKiBUaGlzIGlzIHVzZWQgYnkgdGhlIFVuaXNjcmliZSBi YWNrZW5kIGFzIGEgcG9pbnRlciB0byB0aGUgc2NyaXB0CisgICAgIGNhY2hlLCBhbmQgYnkg dGhlIEhhcmZCdXp6IGJhY2tlbmQgYXMgYSBwb2ludGVyIHRvIGEgaGJfZm9udF90CisgICAg IG9iamVjdC4gICovCisgIHZvaWQgKmNhY2hlOworICAvKiBUaGlzIGlzIHVzZWQgYnkgdGhl IEhhcmZCdXp6IGJhY2tlbmQgdG8gc3RvcmUgdGhlIGZvbnQgc2NhbGUuICAqLworICBkb3Vi bGUgc2NhbGU7CisgIC8qIFRoaXMgaXMgdXNlZCBieSBEaXJlY3RXcml0ZSB0byBzdG9yZSB0 aGUgRm9udEZhY2Ugb2JqZWN0LgorICAgICBEaXJlY3RXcml0ZSB3b3JrcyBvbiB0b3Agb2Yg dGhlIEhhcmZCdXp6IGJhY2tlbmQsIG1vZGlmeWluZyBzb21lCisgICAgIGNhbGxzLiAgSWYg dGhlcmUgYXJlIHByb2JsZW1zIG1hbmlwdWxhdGluZyB0aGlzIGZvbnQsCisgICAgIGR3cml0 ZV9za2lwX2ZvbnQgaXMgc2V0IHRvIHRydWUuICBGdXR1cmUgb3BlcmF0aW9ucyB3aWxsIG5v dCB1c2UKKyAgICAgRGlyZWN0V3JpdGUgYW5kIGZhbGwgYmFjayB0byB0aGUgSGFyZkJ1enog YmFja2VuZC4gICovCisgIHZvaWQgKmR3cml0ZV9jYWNoZTsKKyAgZmxvYXQgZHdyaXRlX2Zv bnRfc2l6ZTsKKyAgYm9vbCBkd3JpdGVfc2tpcF9mb250OworfTsKKwogLyogTWFjcm9zIGZv ciBnZXR0aW5nIE9TIHNwZWNpZmljIGluZm9ybWF0aW9uIGZyb20gYSBmb250IHN0cnVjdC4g ICovCiAjZGVmaW5lIEZPTlRfSEFORExFKGYpICgoKHN0cnVjdCB3MzJmb250X2luZm8gKiko ZikpLT5oZm9udCkKICNkZWZpbmUgRk9OVF9URVhUTUVUUklDKGYpICgoKHN0cnVjdCB3MzJm b250X2luZm8gKikoZikpLT5tZXRyaWNzKQpAQCAtODQsNiArMTA0LDE2IEBAICNkZWZpbmUg Q0FDSEVfQkxPQ0tTSVpFIDEyOAogCiBMaXNwX09iamVjdCBpbnRlcm5fZm9udF9uYW1lIChj aGFyICopOwogCisvKiBGdW5jdGlvbiBwcm90b3R5cGVzIGZvciBEaXJlY3RXcml0ZS4gICov Cit2b2lkIHczMl9pbml0aWFsaXplX2RpcmVjdF93cml0ZSAodm9pZCk7Citib29sIHczMl91 c2VfZGlyZWN0X3dyaXRlIChzdHJ1Y3QgdzMyZm9udF9pbmZvICp3MzJmb250KTsKK2Jvb2wg dzMyX2R3cml0ZV9kcmF3IChIREMgaGRjLCBpbnQgeCwgaW50IHksIHVuc2lnbmVkICpnbHlw aHMsIGludCBsZW4sCisJCSAgICAgIENPTE9SUkVGIGNvbG9yLCBzdHJ1Y3QgZm9udCAqZm9u dCApOworYm9vbCB3MzJfZHdyaXRlX3RleHRfZXh0ZW50cyAoc3RydWN0IGZvbnQgKmZvbnQs IGNvbnN0IHVuc2lnbmVkICpjb2RlLAorCQkJICAgICAgaW50IG5nbHlwaHMsIHN0cnVjdCBm b250X21ldHJpY3MgKm1ldHJpY3MpOwordW5zaWduZWQgdzMyX2R3cml0ZV9lbmNvZGVfY2hh ciAoc3RydWN0IGZvbnQgKmZvbnQsIGludCBjKTsKK3ZvaWQgdzMyX2R3cml0ZV9mcmVlX2Nh Y2hlZF9mYWNlKHZvaWQgKmNhY2hlKTsKKwogZXh0ZXJuIHZvaWQgZ2xvYmFsc19vZl93MzJm b250ICh2b2lkKTsKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9zcmMvdzMydW5pc2NyaWJlLmMg Yi9zcmMvdzMydW5pc2NyaWJlLmMKaW5kZXggYjc3YmY1NmI4Y2YuLjk4ZTA3MmNlMmJlIDEw MDY0NAotLS0gYS9zcmMvdzMydW5pc2NyaWJlLmMKKysrIGIvc3JjL3czMnVuaXNjcmliZS5j CkBAIC00NCwxOCArNDQsNiBAQCAjZGVmaW5lIF9XSU4zMl9XSU5OVCAweDA2MDAKICNpbmNs dWRlICJwZHVtcGVyLmgiCiAjaW5jbHVkZSAidzMyY29tbW9uLmgiCiAKLS8qIEV4dGVuc2lv biBvZiB3MzJmb250X2luZm8gdXNlZCBieSBVbmlzY3JpYmUgYW5kIEhhcmZCdXp6IGJhY2tl bmRzLiAgKi8KLXN0cnVjdCB1bmlzY3JpYmVfZm9udF9pbmZvCi17Ci0gIHN0cnVjdCB3MzJm b250X2luZm8gdzMyX2ZvbnQ7Ci0gIC8qIFRoaXMgaXMgdXNlZCBieSB0aGUgVW5pc2NyaWJl IGJhY2tlbmQgYXMgYSBwb2ludGVyIHRvIHRoZSBzY3JpcHQKLSAgICAgY2FjaGUsIGFuZCBi eSB0aGUgSGFyZkJ1enogYmFja2VuZCBhcyBhIHBvaW50ZXIgdG8gYSBoYl9mb250X3QKLSAg ICAgb2JqZWN0LiAgKi8KLSAgdm9pZCAqY2FjaGU7Ci0gIC8qIFRoaXMgaXMgdXNlZCBieSB0 aGUgSGFyZkJ1enogYmFja2VuZCB0byBzdG9yZSB0aGUgZm9udCBzY2FsZS4gICovCi0gIGRv dWJsZSBzY2FsZTsKLX07Ci0KIGludCB1bmlzY3JpYmVfYXZhaWxhYmxlID0gMDsKIAogLyog RW51bUZvbnRGYW1pbGllc0V4IGNhbGxiYWNrLiAgKi8KQEAgLTIwMCw2ICsxODgsOSBAQCB1 bmlzY3JpYmVfb3BlbiAoc3RydWN0IGZyYW1lICpmLCBMaXNwX09iamVjdCBmb250X2VudGl0 eSwgaW50IHBpeGVsX3NpemUpCiAKICAgLyogSW5pdGlhbGl6ZSB0aGUgY2FjaGUgZm9yIHRo aXMgZm9udC4gICovCiAgIHVuaXNjcmliZV9mb250LT5jYWNoZSA9IE5VTEw7CisgIHVuaXNj cmliZV9mb250LT5kd3JpdGVfY2FjaGUgPSBOVUxMOworCisgIHVuaXNjcmliZV9mb250LT5k d3JpdGVfc2tpcF9mb250ID0gZmFsc2U7CiAKICAgLyogVW5pc2NyaWJlIGFuZCBIYXJmQnV6 eiBiYWNrZW5kcyB1c2UgZ2x5cGggaW5kaWNlcy4gICovCiAgIHVuaXNjcmliZV9mb250LT53 MzJfZm9udC5nbHlwaF9pZHggPSBFVE9fR0xZUEhfSU5ERVg7CkBAIC0yMjEsNiArMjEyLDcg QEAgdW5pc2NyaWJlX2Nsb3NlIChzdHJ1Y3QgZm9udCAqZm9udCkKICAgICA9IChzdHJ1Y3Qg dW5pc2NyaWJlX2ZvbnRfaW5mbyAqKSBmb250OwogCiAjaWZkZWYgSEFWRV9IQVJGQlVaWgor ICB3MzJfZHdyaXRlX2ZyZWVfY2FjaGVkX2ZhY2UgKHVuaXNjcmliZV9mb250LT5kd3JpdGVf Y2FjaGUpOwogICBpZiAodW5pc2NyaWJlX2ZvbnQtPnczMl9mb250LmZvbnQuZHJpdmVyID09 ICZoYXJmYnV6el9mb250X2RyaXZlcgogICAgICAgJiYgdW5pc2NyaWJlX2ZvbnQtPmNhY2hl KQogICAgIGhiX2ZvbnRfZGVzdHJveSAoKGhiX2ZvbnRfdCAqKSB1bmlzY3JpYmVfZm9udC0+ Y2FjaGUpOwpAQCAtMTM3Miw2ICsxMzY0LDE3IEBAIHczMmhiX2VuY29kZV9jaGFyIChzdHJ1 Y3QgZm9udCAqZm9udCwgaW50IGMpCiAgIHN0cnVjdCB1bmlzY3JpYmVfZm9udF9pbmZvICp1 bmlzY3JpYmVfZm9udAogICAgID0gKHN0cnVjdCB1bmlzY3JpYmVfZm9udF9pbmZvICopIGZv bnQ7CiAgIGVhc3NlcnQgKHVuaXNjcmliZV9mb250LT53MzJfZm9udC5mb250LmRyaXZlciA9 PSAmaGFyZmJ1enpfZm9udF9kcml2ZXIpOworCisgIGlmICh3MzJfdXNlX2RpcmVjdF93cml0 ZSAoJnVuaXNjcmliZV9mb250LT53MzJfZm9udCkpCisgICAgeworICAgICAgdW5zaWduZWQg ZW5jb2RlZCA9IHczMl9kd3JpdGVfZW5jb2RlX2NoYXIgKGZvbnQsIGMpOworCisgICAgICAv KiBUaGUgY2FsbCB0byB3MzJfZHdyaXRlX2VuY29kZV9jaGFyIG1heSBmYWlsLCBkaXNhYmxp bmcKKwkgRGlyZWN0V3JpdGUgZm9yIHRoaXMgZm9udC4gIFNvIGNoZWNrIGFnYWluLiAgKi8K KyAgICAgIGlmICh3MzJfdXNlX2RpcmVjdF93cml0ZSAoJnVuaXNjcmliZV9mb250LT53MzJf Zm9udCkpCisJcmV0dXJuIGVuY29kZWQ7CisgICAgfQorCiAgIGhiX2ZvbnRfdCAqaGJfZm9u dCA9IHVuaXNjcmliZV9mb250LT5jYWNoZTsKIAogICAvKiBGaXJzdCB0aW1lIHdlIHVzZSB0 aGlzIGZvbnQgd2l0aCBIYXJmQnV6eiwgY3JlYXRlIHRoZSBoYl9mb250X3QKQEAgLTE1MTAs NiArMTUxMyw5IEBAIHczMmhiX2dldF92YXJpYXRpb25fZ2x5cGhzIChzdHJ1Y3QgZm9udCAq Zm9udCwgaW50IGMsIHVuc2lnbmVkIHZhcmlhdGlvbnNbMjU2XSkKIHZvaWQKIHN5bXNfb2Zf dzMydW5pc2NyaWJlICh2b2lkKQogeworICBERUZWQVJfQk9PTCAoInczMi1pbmhpYml0LWR3 cml0ZSIsIHczMl9pbmhpYml0X2R3cml0ZSwKKwkgICAgICAgZG9jOiAvKiBJZiB0LCBkb24n dCB1c2UgRGlyZWN0V3JpdGUuICAqLyk7CisKICAgcGR1bXBlcl9kb19ub3dfYW5kX2FmdGVy X2xvYWQgKHN5bXNfb2ZfdzMydW5pc2NyaWJlX2Zvcl9wZHVtcGVyKTsKIH0KIApAQCAtMTYy NCw1ICsxNjMwLDggQEAgc3ltc19vZl93MzJ1bmlzY3JpYmVfZm9yX3BkdW1wZXIgKHZvaWQp CiAgIGhhcmZidXp6X2ZvbnRfZHJpdmVyLmNvbWJpbmluZ19jYXBhYmlsaXR5ID0gaGJmb250 X2NvbWJpbmluZ19jYXBhYmlsaXR5OwogICBoYXJmYnV6el9mb250X2RyaXZlci5iZWdpbl9o Yl9mb250ID0gdzMyaGJfYmVnaW5fZm9udDsKICAgcmVnaXN0ZXJfZm9udF9kcml2ZXIgKCZo YXJmYnV6el9mb250X2RyaXZlciwgTlVMTCk7CisKKyAgdzMyX2luaXRpYWxpemVfZGlyZWN0 X3dyaXRlICgpOworCiAjZW5kaWYJLyogSEFWRV9IQVJGQlVaWiAqLwogfQotLSAKMi4zNS4x LndpbmRvd3MuMgoK --------------5qUMQzuuu1UJMC8v0A9VT00k--