<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.kde.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugs.kde.org/"
          
          maintainer="sysadmin@kde.org"
>

    <bug>
          <bug_id>58083</bug_id>
          
          <creation_ts>2003-05-04 00:02:24 +0000</creation_ts>
          <short_desc>KMid doesn&apos;t support international characters (AT ALL; I&apos;ve checked source code and there are errors)</short_desc>
          <delta_ts>2010-04-02 16:04:42 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>10</classification_id>
          <classification>Unmaintained</classification>
          <product>kmid</product>
          <component>general</component>
          <version>unspecified</version>
          <rep_platform>Compiled Sources</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>UNMAINTAINED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>NOR</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Sergey A. Galin">thelivingone</reporter>
          <assigned_to name="Antonio Larrosa">larrosa</assigned_to>
          <cc>chalex20</cc>
    
    <cc>fitzcarraldo1</cc>
    
    <cc>grundleborg</cc>
    
    <cc>null</cc>
    
    <cc>stephan</cc>
          
          <cf_commitlink></cf_commitlink>
          <cf_versionfixedin>2.2.2</cf_versionfixedin>
          <cf_sentryurl></cf_sentryurl>
          <votes>1</votes>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>131973</commentid>
    <comment_count>0</comment_count>
    <who name="Sergey A. Galin">thelivingone</who>
    <bug_when>2003-05-04 00:02:24 +0000</bug_when>
    <thetext>Version:            (using KDE KDE 3.1.1)
Installed from:    Compiled From Sources
Compiler:          any 
OS:          Linux

Investigating how to make KMid playing Russian karaoke files, I&apos;ve found that it doesn&apos;t support any non-ASCII characters. Not in lyrics nor in comments nor in file names nor in collection editor!!!!! Even if system locale is set to e.g. KOI8R, I cannot display any Cyrillic characters!

Investigating sources, I&apos;ve found that the problem is because when KMid passes lyrics or filenames to GUI, it simply passes it as char* instead of calling QString::fromLocal8bit(). 

Unfortunately, I don&apos;t know enough about making patches and I don&apos;t know submit a fix myself :( It took me about 2 hours just to make it working for myself. However, any experienced programmer could make a fix in about half an hour.

It would be also great if someone added an option to select charset of karaoke lyrics manually from list because all karaoke files are in 8bit-ASCII, not UTF.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144689</commentid>
    <comment_count>1</comment_count>
    <who name="Sergey A. Galin">thelivingone</who>
    <bug_when>2003-07-08 16:02:23 +0000</bug_when>
    <thetext>For Russian users who wants to use Windows karaoke files, please also look at:
http://bugs.kde.org/show_bug.cgi?id=33152
http://sage.hellmachine.net/oss/KMid-Russian.php

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147326</commentid>
    <comment_count>2</comment_count>
      <attachid>2045</attachid>
    <who name="Artem Astafyev">ace</who>
    <bug_when>2003-07-23 08:54:21 +0000</bug_when>
    <thetext>Created attachment 2045
recodes lyrics from cp1251 to display properly

Here is a patch for kdemultimedia-3.1.1. It works for me  
fine. It may work for other versions, even you can try to  
modify sources by hands (only 2 additional lines and 1	
changed). I can&apos;t get Sergey Galin&apos;s sources, but as it seems 
he used recoding tables while mine used standart QT libraries 
capabilities.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147331</commentid>
    <comment_count>3</comment_count>
    <who name="Sergey A. Galin">thelivingone</who>
    <bug_when>2003-07-23 09:39:21 +0000</bug_when>
    <thetext>Yes, mine first uses table to convert lyrics from Windows-1251 and then calls
QString::fromLocale8Bit() to convert lyrics, so it is dependent on locale. I
found documentation on QTextCodec much later after I wrote that patch. I guess
Artem&apos;s patch is better for temporary solution although it still doesn&apos;t make
KMid internationalized.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147333</commentid>
    <comment_count>4</comment_count>
    <who name="Sergey A. Galin">thelivingone</who>
    <bug_when>2003-07-23 09:45:58 +0000</bug_when>
    <thetext>The URL I posted 2003-07-08 16:02 is wrong.

The address for my Russian KMid patch is:
http://sageshome.net/oss/KMid-Russian.php 
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147335</commentid>
    <comment_count>5</comment_count>
    <who name="Sergey A. Galin">thelivingone</who>
    <bug_when>2003-07-23 10:03:23 +0000</bug_when>
    <thetext>Just checked new patch. Works perfectly for lyrics does not depend on locale
settings. But there are problems with file names containing non-ASCII
characters. For example, these files are dropped from collections after few
restarts of the program (somehow Russian letters get replaced with %HH
notation). Also, these names are not recoded properly for KMid&apos;s man window
caption. 

So, for users who have many files with Russian names it is more reasonable to
use my patch. If you are sure that all your filenames use latin characters only,
Artem&apos;s one will go better because it allows to use proportional fonts.

I wish I had time to make proper patches instead of all that temporarty stuff...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147349</commentid>
    <comment_count>6</comment_count>
    <who name="Thiago Macieira">thiago</who>
    <bug_when>2003-07-23 11:59:22 +0000</bug_when>
    <thetext>Again, both are hacks. 
 
The karaoke files we&apos;re talking about, they don&apos;t have any 
information on encoding, right? In that case, we should use 
QString::fromLocal8Bit and let it do the work. If you try to open a file 
that is not encoded in your locale, it won&apos;t work. 
 
The only way for it to work would be to do like Kate: select the 
encoding in the file open dialog. </thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147352</commentid>
    <comment_count>7</comment_count>
    <who name="Thiago Macieira">thiago</who>
    <bug_when>2003-07-23 12:01:29 +0000</bug_when>
    <thetext>*** Bug 33152 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147355</commentid>
    <comment_count>8</comment_count>
      <attachid>2046</attachid>
    <who name="Sergey A. Galin">thelivingone</who>
    <bug_when>2003-07-23 12:06:18 +0000</bug_when>
    <thetext>Created attachment 2046
KMid patch supporting national encodings. Tuned for Russian but can be changed to support other language by modifying one line.

Here is a new patch. Perfect Russian support including filenames stuff. 
For other languages, you have to change a line in kdisptext.cpp (from line 64):


 // SG
 // TODO: make this to select encoding from drop-down box
 lyrics_codec=QTextCodec::codecForName(&quot;CP1251&quot;);

Should be changed to
 
  lyrics_codec=QTextCodec::codecForName(&quot;your-encoding-name&quot;);

or

  lyrics_codec=QTextCodec::codecForLocale();

In latter case, the patch can be considered for official KMid version.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147356</commentid>
    <comment_count>9</comment_count>
    <who name="Sergey A. Galin">thelivingone</who>
    <bug_when>2003-07-23 12:12:27 +0000</bug_when>
    <thetext>Re 2 Thiago Macieira : Yes, there is no way to detect encoding of lyrics in
karaoke files. This makes big problem for Russian users, because 100% of Russian
karaoke files are encoded in CP1251 and cannot be displayed properly under
Linux. That&apos;s why I set up my Russian patch to consider that all files are in
CP1251. 

Complete solution would be to add combo-box with list of supported encodings to
main window so users could select charset manually (like in Web browser).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147433</commentid>
    <comment_count>10</comment_count>
      <attachid>2050</attachid>
    <who name="Sergey A. Galin">thelivingone</who>
    <bug_when>2003-07-23 20:44:45 +0000</bug_when>
    <thetext>Created attachment 2050
KMid internationalization patch!

I just couldn&apos;t stop! ;-)

Here is the 100% internationalized version with combo-box of available
encodings. By default encoding = system locale.

Bugs with improperly displayed file are names fixed too (thanks to Artem&apos;s
patch).

I hope to see the stuff in next KDE release!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147476</commentid>
    <comment_count>11</comment_count>
      <attachid>2051</attachid>
    <who name="Sergey A. Galin">thelivingone</who>
    <bug_when>2003-07-23 22:32:10 +0000</bug_when>
    <thetext>Created attachment 2051
KMid internationalization patch r2

Updated internationalization patch. I removed (commented out) all encodings
which were not actually working and &quot;Hebrew, visually ordered&quot; (crashed KMid).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147485</commentid>
    <comment_count>12</comment_count>
    <who name="Antonio Larrosa">larrosa</who>
    <bug_when>2003-07-23 23:00:57 +0000</bug_when>
    <thetext>Subject: Re:  KMid doesn&apos;t support international characters (AT ALL; I&apos;ve checked source code and there are errors)

El Mi</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154898</commentid>
    <comment_count>13</comment_count>
    <who name="Antonio Larrosa">larrosa</who>
    <bug_when>2003-08-29 12:29:10 +0000</bug_when>
    <thetext>*** Bug 52188 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>219091</commentid>
    <comment_count>14</comment_count>
    <who name="Waldo Bastian">bastian</who>
    <bug_when>2004-03-26 13:15:42 +0000</bug_when>
    <thetext>CVS commit by waba: 

Make kmid work with Russian files (BR58083)
Based on patch by Sergey A. Galin
CCMAIL: 58083-done@bugs.kde.org


  M +36 -18    kdisptext.cpp   1.32
  M +4 -1      kdisptext.h   1.17
  M +26 -12    kmidclient.cpp   1.82
  M +3 -1      kmidclient.h   1.32
  M +4 -1      main.cpp   1.27



</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221539</commentid>
    <comment_count>15</comment_count>
    <who name="Sergey A. Galin">thelivingone</who>
    <bug_when>2004-04-04 22:16:15 +0000</bug_when>
    <thetext>The patch still doesn&apos;t exist in KDE 3.2.1 :( Is it going be avaiable in the next &quot;stable&quot; release? I&apos;m a bit tired to recompile kde-multimedia after each KDE upgrade... P.S. I put binaries for KDE 3.2.1 / ASP Linux 9.2 to http://sageshome.net/oss/KMid-Russian.php .</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>236348</commentid>
    <comment_count>16</comment_count>
    <who name="Sergey A. Galin">thelivingone</who>
    <bug_when>2004-05-26 20:56:36 +0000</bug_when>
    <thetext>Alex Chudnovsky reported that the patch was not properly applied in KDE 3.2.2!
He also made a patch to apply to KDE 3.2.2 to get the correct version. 

It can be downloaded from http://sageshome.net/oss/KMid-Russian.php; here is a download link:
http://sageshome.net/Download.php?url=ZG93bmxvYWRzL29zcy9rbWlkLWludDItR2FsaW4tQ2h1ZG5vdnNreS1LREUzLjIuMi0yMDA0MDUwNC5wYXRjaC5iejI=</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>236349</commentid>
    <comment_count>17</comment_count>
    <who name="Sergey A. Galin">thelivingone</who>
    <bug_when>2004-05-26 20:57:24 +0000</bug_when>
    <thetext>Oops, forgot to re-open...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>581076</commentid>
    <comment_count>18</comment_count>
    <who name="George Goldberg">grundleborg</who>
    <bug_when>2008-02-18 03:54:39 +0000</bug_when>
    <thetext>Is this bug still present in a recent KDE version, such as 3.5.9 or 4.0.1?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>650062</commentid>
    <comment_count>19</comment_count>
    <who name="Fitzcarraldo">fitzcarraldo1</who>
    <bug_when>2008-09-30 23:57:16 +0000</bug_when>
    <thetext>(In reply to comment #18)
&gt; Is this bug still present in a recent KDE version, such as 3.5.9 or 4.0.1?
&gt; 

Yes, this bug is still present. I am using KMid 2.0 on KDE 3.5.9 and KMid still does not display &apos;international&apos; characters. For example, it does not display any characters that have diacritic marks, such as the acute accent (á), grave accent (à), tilde accent (ã), circumflex accent (â) or cedilla (ç) to name but a few. Thus lyrics in French, Spanish, Portuguese, Turkish, etc. are not displayed correctly by KMid. (This bug is surprising given that the author of KMid is Spanish.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>943882</commentid>
    <comment_count>20</comment_count>
    <who name="Unknown">null</who>
    <bug_when>2010-04-02 16:04:42 +0000</bug_when>
    <thetext>KMid 2.0 is now unmaintained.

There is a new KMid2 version for KDE4, released as KMid 2.2.2 in 2010 March 14th. It is a rewrite from scratch, with a different architecture and some new functionalities.

I&apos;m closing this bug report because the old version is not going to be fixed, and the bug can&apos;t be reproduced in KMid2. Specifically, KMid2 handles many international character sets, most of them automatically. Some examples that have been tested are

Greek
http://www.greekmidi.com/songs/theodorakis/doxatotheo.html
http://www.greekmidi.com/songs/theodorakis/manamoukepanagia.html
Cyrillic
http://midi-karaoke.info/21cd09bd.html
http://midi-karaoke.info/21cd0bb1.html
Chinese/Korean
http://www.angelfire.com/ok/francisyeow/midi8.html

Please test. Thanks.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>2045</attachid>
            <date>2003-07-23 08:54:21 +0000</date>
            <delta_ts>2003-07-23 08:54:21 +0000</delta_ts>
            <desc>recodes lyrics from cp1251 to display properly</desc>
            <filename>kdemultimedia-3.1.1-win1251recode.patch</filename>
            <type>text/plain</type>
            <size>919</size>
            <attacher name="Artem Astafyev">ace</attacher>
            
              <data encoding="base64">LS0tIGtkZW11bHRpbWVkaWEtMy4xLjEub3JpZy9rbWlkL2tkaXNwdGV4dC5jcHAJMjAwMi0xMC0y
NyAwMToyMDoxMi4wMDAwMDAwMDAgKzAzMDAKKysrIGtkZW11bHRpbWVkaWEtMy4xLjEva21pZC9r
ZGlzcHRleHQuY3BwCTIwMDMtMDctMTggMjI6NDE6NTUuMDAwMDAwMDAwICswMzAwCkBAIC0zMCw2
ICszMCw3IEBACiAjaW5jbHVkZSA8a2luc3RhbmNlLmg+CiAjaW5jbHVkZSA8a2NvbmZpZy5oPgog
I2luY2x1ZGUgInZlcnNpb24uaCIKKyNpbmNsdWRlIDxxdGV4dGNvZGVjLmg+CiAKIAogI2RlZmlu
ZSBOVU1QUkVWTElORVMgMgpAQCAtNTksNiArNjAsNyBAQAogICBxZm1ldHI9bmV3IFFGb250TWV0
cmljcygqcXRleHRmb250KTsKICAgbnZpc2libGVsaW5lcz1oZWlnaHQoKS9xZm1ldHItPmxpbmVT
cGFjaW5nKCk7CiAgIGF1dG9zY3JvbGx2PTA7CisgIFFUZXh0Q29kZWM6OnNldENvZGVjRm9yQ1N0
cmluZ3MoUVRleHRDb2RlYzo6Y29kZWNGb3JOYW1lKCJDUDEyNTEiKSk7CiB9CiAKIEtEaXNwbGF5
VGV4dDo6fktEaXNwbGF5VGV4dCgpCkBAIC0yOTcsNyArMjk5LDcgQEAKICAgICAgICAgICAgIGlm
IChJc0xpbmVGZWVkKHRtcC0+c3Bldi0+dGV4dFswXSx0bXAtPnNwZXYtPnR5cGUpKQogICAgICAg
ICAgICAgICAgIHAtPmRyYXdUZXh0KHRtcC0+eHBvcyx0bXBsLT55cG9zLCZ0bXAtPnNwZXYtPnRl
eHRbMV0pOwogICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHAtPmRyYXdUZXh0KHRt
cC0+eHBvcyx0bXBsLT55cG9zLHRtcC0+c3Bldi0+dGV4dCk7CisgICAgICAgICAgICAgICAgcC0+
ZHJhd1RleHQodG1wLT54cG9zLHRtcGwtPnlwb3MsIFFTdHJpbmc6OmZyb21Bc2NpaSh0bXAtPnNw
ZXYtPnRleHQpKTsKIAogI2lmZGVmIERSQVdfQk9VTkRJTkdfUkVDVFMKIAkgICAgcC0+c2V0UGVu
KHJlZCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>2046</attachid>
            <date>2003-07-23 12:06:18 +0000</date>
            <delta_ts>2003-07-23 22:32:10 +0000</delta_ts>
            <desc>KMid patch supporting national encodings. Tuned for Russian but can be changed to support other language by modifying one line.</desc>
            <filename>kmid-russian-patch-2.patch</filename>
            <type>text/plain</type>
            <size>4541</size>
            <attacher name="Sergey A. Galin">thelivingone</attacher>
            
              <data encoding="base64">ZGlmZiAtdSBrbWlkLW9yaWdpbmFsL2tkaXNwdGV4dC5oIGtkZW11bHRpbWVkaWEtMy4xLjEva21p
ZC9rZGlzcHRleHQuaAotLS0ga21pZC1vcmlnaW5hbC9rZGlzcHRleHQuaAkyMDAxLTA1LTAxIDA2
OjMzOjQ2LjAwMDAwMDAwMCArMDcwMAorKysga2RlbXVsdGltZWRpYS0zLjEuMS9rbWlkL2tkaXNw
dGV4dC5oCTIwMDMtMDctMjMgMTY6MTg6MjAuMDAwMDAwMDAwICswNzAwCkBAIC01Miw3ICs1Miw4
IEBACiB7CiAgICAgUV9PQkpFQ1QKIHByaXZhdGU6Ci0gICAgCisgICAgUVRleHRDb2RlYyAqbHly
aWNzX2NvZGVjOyAgICAKKwogICAgIFFGb250TWV0cmljcyAqcWZtZXRyOwogICAgIFFGb250ICpx
dGV4dGZvbnQ7CiAgICAgCmRpZmYgLXUga21pZC1vcmlnaW5hbC9rZGlzcHRleHQuY3BwIGtkZW11
bHRpbWVkaWEtMy4xLjEva21pZC9rZGlzcHRleHQuY3BwCi0tLSBrbWlkLW9yaWdpbmFsL2tkaXNw
dGV4dC5jcHAJMjAwMi0xMC0yNyAwNDoyMDoxMi4wMDAwMDAwMDAgKzA2MDAKKysrIGtkZW11bHRp
bWVkaWEtMy4xLjEva21pZC9rZGlzcHRleHQuY3BwCTIwMDMtMDctMjMgMTY6MjM6MTMuMDAwMDAw
MDAwICswNzAwCkBAIC0yNSw2ICsyNSw3IEBACiAjaW5jbHVkZSA8cXBhaW50ZXIuaD4KICNpbmNs
dWRlIDxxZm9udC5oPgogI2luY2x1ZGUgPHFmb250bWV0cmljcy5oPgorI2luY2x1ZGUgPHF0ZXh0
Y29kZWMuaD4KICNpbmNsdWRlIDxxcmVjdC5oPgogI2luY2x1ZGUgPGtnbG9iYWwuaD4KICNpbmNs
dWRlIDxraW5zdGFuY2UuaD4KQEAgLTU5LDYgKzYwLDEwIEBACiAgIHFmbWV0cj1uZXcgUUZvbnRN
ZXRyaWNzKCpxdGV4dGZvbnQpOwogICBudmlzaWJsZWxpbmVzPWhlaWdodCgpL3FmbWV0ci0+bGlu
ZVNwYWNpbmcoKTsKICAgYXV0b3Njcm9sbHY9MDsKKyAgCisgIC8vIFNHCisgIC8vIFRPRE86IG1h
a2UgdGhpcyB0byBzZWxlY3QgZW5jb2RpbmcgZnJvbSBkcm9wLWRvd24gYm94CisgIGx5cmljc19j
b2RlYz1RVGV4dENvZGVjOjpjb2RlY0Zvck5hbWUoIkNQMTI1MSIpOwogfQogCiBLRGlzcGxheVRl
eHQ6On5LRGlzcGxheVRleHQoKQpAQCAtMjA4LDE1ICsyMTMsMTUgQEAKICAgICAgICAgICAgICAg
ICAgICAgICAgIHRtcHg9NTsKIAogICAgICAgICAgICAgICAgICAgICAgICAgdG1wLT54cG9zPXRt
cHg7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wLT5zcGV2LT50ZXh0WzBdIT0wKSB0
bXB3PXFmbWV0ci0+d2lkdGgoJnRtcC0+c3Bldi0+dGV4dFsxXSk7CisgICAgICAgICAgICAgICAg
ICAgICAgICBpZiAodG1wLT5zcGV2LT50ZXh0WzBdIT0wKSB0bXB3PXFmbWV0ci0+d2lkdGgobHly
aWNzX2NvZGVjLT50b1VuaWNvZGUoJnRtcC0+c3Bldi0+dGV4dFsxXSkpOwogCQkJCWVsc2UgdG1w
dz0wOwotICAgICAgICAgICAgICAgICAgICAgICAgdG1wLT5yPXFmbWV0ci0+Ym91bmRpbmdSZWN0
KCZ0bXAtPnNwZXYtPnRleHRbMV0pOworICAgICAgICAgICAgICAgICAgICAgICAgdG1wLT5yPXFm
bWV0ci0+Ym91bmRpbmdSZWN0KGx5cmljc19jb2RlYy0+dG9Vbmljb2RlKCZ0bXAtPnNwZXYtPnRl
eHRbMV0pKTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICBlbHNl
CiAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgIHRtcC0+eHBv
cz10bXB4OwotICAgICAgICAgICAgICAgICAgICAgICAgdG1wdz1xZm1ldHItPndpZHRoKHRtcC0+
c3Bldi0+dGV4dCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAtPnI9cWZtZXRyLT5ib3Vu
ZGluZ1JlY3QodG1wLT5zcGV2LT50ZXh0KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRtcHc9
cWZtZXRyLT53aWR0aChseXJpY3NfY29kZWMtPnRvVW5pY29kZSh0bXAtPnNwZXYtPnRleHQpKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgIHRtcC0+cj1xZm1ldHItPmJvdW5kaW5nUmVjdChseXJp
Y3NfY29kZWMtPnRvVW5pY29kZSh0bXAtPnNwZXYtPnRleHQpKTsKICAgICAgICAgICAgICAgICAg
ICAgfQogCS8vIFdlIGFkZCA1IHBpeGVscyBhYm92ZSwgYmVsb3cgYW5kIHRvIHRoZSByaWdodCBi
ZWNhdXNlIG9mIGEKIAkvLyBwcm9ibGVtIHdpdGggbGF0ZXN0IHJlbGVhc2VkIFhmdApAQCAtMjM1
LDcgKzI0MCw3IEBACiAgICAgICAgIG1heFhbKHR5cGVvZnRleHRldmVudHM9PTEpPzA6MV09bWF4
eCsxMDsKICAgICAgICAgbWF4WVsodHlwZW9mdGV4dGV2ZW50cz09MSk/MDoxXT0KIAkJbmxpbmVz
X1sodHlwZW9mdGV4dGV2ZW50cz09MSk/MDoxXSpsaW5lU3BhY2luZytkZXNjZW50KzEwOwotIAor
CiAgICAgICAgIGlmICh0eXBlb2Z0ZXh0ZXZlbnRzPT0xKSB0eXBlb2Z0ZXh0ZXZlbnRzPTU7CiAg
ICAgICAgIGVsc2UgZmluPTE7CiAgICAgfQpAQCAtMjc4LDcgKzI4Myw3IEBACiAgICAgICAgbmxp
bmVzdG9kcmF3Kys7CiAgICAgICAgdD10LT5uZXh0OwogICAgICAgIH0KLSAgICAKKwogICAgIGk9
MDsKICAgICB3aGlsZSAoKGk8bmxpbmVzdG9kcmF3KSYmKHRtcGwhPU5VTEwpKQogICAgIHsKQEAg
LTI4NiwxOCArMjkxLDE4IEBACiAgICAgICAgIHdoaWxlICgodG1wIT1OVUxMKSYmKHRtcC0+c3Bl
di0+dHlwZSE9dHlwZW9mdGV4dGV2ZW50cykpIHRtcD10bXAtPm5leHQ7CiAgICAgICAgIHdoaWxl
ICh0bXAhPU5VTEwpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGlmICggY29sb3JwbGF5ZWQgJiYg
CisgICAgICAgICAgICBpZiAoIGNvbG9ycGxheWVkICYmCiAgICAgICAgICAgICAgICAgIC8vCSh0
bXAtPnNwZXYtPmFic21pbGxpc2Vjb25kcz49Y3Vyc29yLT5zcGV2LT5hYnNtaWxsaXNlY29uZHMp
KQogICAgICAgICAgICAgICAgICAodG1wLT5zcGV2LT5pZD49Y3Vyc29yLT5zcGV2LT5pZCkpCiAg
ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgcC0+c2V0UGVuKGJsYWNrKTsKICAgICAgICAg
ICAgICAgICBjb2xvcnBsYXllZD0wOwotICAgICAgICAgICAgfQkKLSAgICAgICAgICAgIAorICAg
ICAgICAgICAgfQorCiAgICAgICAgICAgICBpZiAoSXNMaW5lRmVlZCh0bXAtPnNwZXYtPnRleHRb
MF0sdG1wLT5zcGV2LT50eXBlKSkKLSAgICAgICAgICAgICAgICBwLT5kcmF3VGV4dCh0bXAtPnhw
b3MsdG1wbC0+eXBvcywmdG1wLT5zcGV2LT50ZXh0WzFdKTsKKyAgICAgICAgICAgICAgICBwLT5k
cmF3VGV4dCh0bXAtPnhwb3MsdG1wbC0+eXBvcyxseXJpY3NfY29kZWMtPnRvVW5pY29kZSgmdG1w
LT5zcGV2LT50ZXh0WzFdKSk7CiAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgcC0+
ZHJhd1RleHQodG1wLT54cG9zLHRtcGwtPnlwb3MsdG1wLT5zcGV2LT50ZXh0KTsKKyAgICAgICAg
ICAgICAgICBwLT5kcmF3VGV4dCh0bXAtPnhwb3MsdG1wbC0+eXBvcyxseXJpY3NfY29kZWMtPnRv
VW5pY29kZSh0bXAtPnNwZXYtPnRleHQpKTsKIAogI2lmZGVmIERSQVdfQk9VTkRJTkdfUkVDVFMK
IAkgICAgcC0+c2V0UGVuKHJlZCk7CkBAIC0zMTAsMTMgKzMxNSwxMyBAQAogICAgICAgICBpKys7
CiAgICAgICAgIHRtcGw9dG1wbC0+bmV4dDsKICAgICB9Ci0gICAgCisKIH0KIAogCiB2b2lkIEtE
aXNwbGF5VGV4dDo6cmVzaXplRXZlbnQoUVJlc2l6ZUV2ZW50ICplKQogewotICAgIFFTY3JvbGxW
aWV3OjpyZXNpemVFdmVudChlKTsgIAorICAgIFFTY3JvbGxWaWV3OjpyZXNpemVFdmVudChlKTsK
ICAgICBudmlzaWJsZWxpbmVzPXZpc2libGVIZWlnaHQoKS9xZm1ldHItPmxpbmVTcGFjaW5nKCk7
CiAgICAgaWYgKCAobmxpbmVzPm52aXNpYmxlbGluZXMpIHx8IChudmlzaWJsZWxpbmVzPT0wKSAp
CiAgICAgICAgIHJlc2l6ZUNvbnRlbnRzKG1heFhbKHR5cGVvZnRleHRldmVudHM9PTEpPzA6MV0s
bWF4WVsodHlwZW9mdGV4dGV2ZW50cz09MSk/MDoxXSk7CmRpZmYgLXUga21pZC1vcmlnaW5hbC9t
YWluLmNwcCBrZGVtdWx0aW1lZGlhLTMuMS4xL2ttaWQvbWFpbi5jcHAKLS0tIGttaWQtb3JpZ2lu
YWwvbWFpbi5jcHAJMjAwMi0wMS0yNiAyMzoyNjo0Mi4wMDAwMDAwMDAgKzA2MDAKKysrIGtkZW11
bHRpbWVkaWEtMy4xLjEva21pZC9tYWluLmNwcAkyMDAzLTA3LTIzIDE2OjI0OjQ5LjAwMDAwMDAw
MCArMDcwMApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgPHNpZ25hbC5oPgogCiAjaW5jbHVk
ZSA8cXdpZGdldC5oPgorI2luY2x1ZGUgPHF0ZXh0Y29kZWMuaD4KIAogI2luY2x1ZGUgPGthcHBs
aWNhdGlvbi5oPgogI2luY2x1ZGUgPGtsb2NhbGUuaD4KQEAgLTQ0LDYgKzQ1LDcgQEAKICAgICBw
cmludGYoIlRoaXMgaXMgZnJlZSBzb2Z0d2FyZSwgYW5kIHlvdSBhcmUgd2VsY29tZSB0byByZWRp
c3RyaWJ1dGUgaXRcbiIpOwogICAgIHByaW50ZigidW5kZXIgY2VydGFpbiBjb25kaXRpb25zXG4i
KTsKIAorICAgIFFUZXh0Q29kZWM6OnNldENvZGVjRm9yQ1N0cmluZ3MoUVRleHRDb2RlYzo6Y29k
ZWNGb3JMb2NhbGUoKSk7CiAvKgogICAgIHN0cnVjdCBzaWdhY3Rpb24gYWN0OwogICAgIGFjdC5z
YV9oYW5kbGVyID0gU0lHX0RGTDsKQEAgLTkzLDYgKzk1LDggQEAKICAgICAgICAgfTsKICovCiAK
KworICAgIAogICAgIHJldHVybiBhcHAuZXhlYygpOwogfTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>2050</attachid>
            <date>2003-07-23 20:44:45 +0000</date>
            <delta_ts>2003-07-23 22:32:10 +0000</delta_ts>
            <desc>KMid internationalization patch!</desc>
            <filename>kmid-international-1.patch</filename>
            <type>text/plain</type>
            <size>9961</size>
            <attacher name="Sergey A. Galin">thelivingone</attacher>
            
              <data encoding="base64">ZGlmZiAtdSBrbWlkLW9yaWdpbmFsL2tkaXNwdGV4dC5oIGtkZW11bHRpbWVkaWEtMy4xLjEva21p
ZC9rZGlzcHRleHQuaAotLS0ga21pZC1vcmlnaW5hbC9rZGlzcHRleHQuaAkyMDAxLTA1LTAxIDA2
OjMzOjQ2LjAwMDAwMDAwMCArMDcwMAorKysga2RlbXVsdGltZWRpYS0zLjEuMS9rbWlkL2tkaXNw
dGV4dC5oCTIwMDMtMDctMjQgMDE6MTM6NDcuMDAwMDAwMDAwICswNzAwCkBAIC01Miw3ICs1Miw4
IEBACiB7CiAgICAgUV9PQkpFQ1QKIHByaXZhdGU6Ci0gICAgCisgICAgUVRleHRDb2RlYyAqbHly
aWNzX2NvZGVjOyAgICAKKwogICAgIFFGb250TWV0cmljcyAqcWZtZXRyOwogICAgIFFGb250ICpx
dGV4dGZvbnQ7CiAgICAgCkBAIC0xMDgsNiArMTA5LDkgQEAKICAgICB2b2lkIGZvbnRDaGFuZ2Vk
KHZvaWQpOwogICAgIAogICAgIHZvaWQgc2F2ZUx5cmljcyhGSUxFICpmaCk7CisgICAgCisgICAg
Ly8gcmVjZWl2ZXMgbnVtYmVyIG9mIGVuY29kaW5nIGluIFFUZXh0Q29kZWNzIGluIHF0ZXh0Y29k
ZWNsaXN0LmggICAgICAgCisgICAgdm9pZCBzZXRMeXJpY3NFbmNvZGluZyhpbnQgbnVtKTsKIAog
Ly8gICAgUVNpemUgc2l6ZUhpbnQoKTsKICAKZGlmZiAtdSBrbWlkLW9yaWdpbmFsL2tkaXNwdGV4
dC5jcHAga2RlbXVsdGltZWRpYS0zLjEuMS9rbWlkL2tkaXNwdGV4dC5jcHAKLS0tIGttaWQtb3Jp
Z2luYWwva2Rpc3B0ZXh0LmNwcAkyMDAyLTEwLTI3IDA0OjIwOjEyLjAwMDAwMDAwMCArMDYwMAor
Kysga2RlbXVsdGltZWRpYS0zLjEuMS9rbWlkL2tkaXNwdGV4dC5jcHAJMjAwMy0wNy0yNCAwMToz
NDoxNC4wMDAwMDAwMDAgKzA3MDAKQEAgLTI1LDExICsyNSwxMyBAQAogI2luY2x1ZGUgPHFwYWlu
dGVyLmg+CiAjaW5jbHVkZSA8cWZvbnQuaD4KICNpbmNsdWRlIDxxZm9udG1ldHJpY3MuaD4KKyNp
bmNsdWRlIDxxdGV4dGNvZGVjLmg+CiAjaW5jbHVkZSA8cXJlY3QuaD4KICNpbmNsdWRlIDxrZ2xv
YmFsLmg+CiAjaW5jbHVkZSA8a2luc3RhbmNlLmg+CiAjaW5jbHVkZSA8a2NvbmZpZy5oPgogI2lu
Y2x1ZGUgInZlcnNpb24uaCIKKyNpbmNsdWRlICJxdGV4dGNvZGVjc2xpc3QuaCIKIAogCiAjZGVm
aW5lIE5VTVBSRVZMSU5FUyAyCkBAIC01OSw2ICs2MSwxMCBAQAogICBxZm1ldHI9bmV3IFFGb250
TWV0cmljcygqcXRleHRmb250KTsKICAgbnZpc2libGVsaW5lcz1oZWlnaHQoKS9xZm1ldHItPmxp
bmVTcGFjaW5nKCk7CiAgIGF1dG9zY3JvbGx2PTA7CisgIAorICAvLyBTRworICBseXJpY3NfY29k
ZWM9UVRleHRDb2RlYzo6Y29kZWNGb3JMb2NhbGUoKTsKKyAgLy9mb250Q2hhbmdlZCgpOwogfQog
CiBLRGlzcGxheVRleHQ6On5LRGlzcGxheVRleHQoKQpAQCAtMjA4LDE1ICsyMTQsMTUgQEAKICAg
ICAgICAgICAgICAgICAgICAgICAgIHRtcHg9NTsKIAogICAgICAgICAgICAgICAgICAgICAgICAg
dG1wLT54cG9zPXRtcHg7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wLT5zcGV2LT50
ZXh0WzBdIT0wKSB0bXB3PXFmbWV0ci0+d2lkdGgoJnRtcC0+c3Bldi0+dGV4dFsxXSk7CisgICAg
ICAgICAgICAgICAgICAgICAgICBpZiAodG1wLT5zcGV2LT50ZXh0WzBdIT0wKSB0bXB3PXFmbWV0
ci0+d2lkdGgobHlyaWNzX2NvZGVjLT50b1VuaWNvZGUoJnRtcC0+c3Bldi0+dGV4dFsxXSkpOwog
CQkJCWVsc2UgdG1wdz0wOwotICAgICAgICAgICAgICAgICAgICAgICAgdG1wLT5yPXFmbWV0ci0+
Ym91bmRpbmdSZWN0KCZ0bXAtPnNwZXYtPnRleHRbMV0pOworICAgICAgICAgICAgICAgICAgICAg
ICAgdG1wLT5yPXFmbWV0ci0+Ym91bmRpbmdSZWN0KGx5cmljc19jb2RlYy0+dG9Vbmljb2RlKCZ0
bXAtPnNwZXYtPnRleHRbMV0pKTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
ICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg
ICAgIHRtcC0+eHBvcz10bXB4OwotICAgICAgICAgICAgICAgICAgICAgICAgdG1wdz1xZm1ldHIt
PndpZHRoKHRtcC0+c3Bldi0+dGV4dCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAtPnI9
cWZtZXRyLT5ib3VuZGluZ1JlY3QodG1wLT5zcGV2LT50ZXh0KTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHRtcHc9cWZtZXRyLT53aWR0aChseXJpY3NfY29kZWMtPnRvVW5pY29kZSh0bXAtPnNw
ZXYtPnRleHQpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRtcC0+cj1xZm1ldHItPmJvdW5k
aW5nUmVjdChseXJpY3NfY29kZWMtPnRvVW5pY29kZSh0bXAtPnNwZXYtPnRleHQpKTsKICAgICAg
ICAgICAgICAgICAgICAgfQogCS8vIFdlIGFkZCA1IHBpeGVscyBhYm92ZSwgYmVsb3cgYW5kIHRv
IHRoZSByaWdodCBiZWNhdXNlIG9mIGEKIAkvLyBwcm9ibGVtIHdpdGggbGF0ZXN0IHJlbGVhc2Vk
IFhmdApAQCAtMjM1LDcgKzI0MSw3IEBACiAgICAgICAgIG1heFhbKHR5cGVvZnRleHRldmVudHM9
PTEpPzA6MV09bWF4eCsxMDsKICAgICAgICAgbWF4WVsodHlwZW9mdGV4dGV2ZW50cz09MSk/MDox
XT0KIAkJbmxpbmVzX1sodHlwZW9mdGV4dGV2ZW50cz09MSk/MDoxXSpsaW5lU3BhY2luZytkZXNj
ZW50KzEwOwotIAorCiAgICAgICAgIGlmICh0eXBlb2Z0ZXh0ZXZlbnRzPT0xKSB0eXBlb2Z0ZXh0
ZXZlbnRzPTU7CiAgICAgICAgIGVsc2UgZmluPTE7CiAgICAgfQpAQCAtMjc4LDcgKzI4NCw3IEBA
CiAgICAgICAgbmxpbmVzdG9kcmF3Kys7CiAgICAgICAgdD10LT5uZXh0OwogICAgICAgIH0KLSAg
ICAKKwogICAgIGk9MDsKICAgICB3aGlsZSAoKGk8bmxpbmVzdG9kcmF3KSYmKHRtcGwhPU5VTEwp
KQogICAgIHsKQEAgLTI4NiwxOCArMjkyLDE4IEBACiAgICAgICAgIHdoaWxlICgodG1wIT1OVUxM
KSYmKHRtcC0+c3Bldi0+dHlwZSE9dHlwZW9mdGV4dGV2ZW50cykpIHRtcD10bXAtPm5leHQ7CiAg
ICAgICAgIHdoaWxlICh0bXAhPU5VTEwpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGlmICggY29s
b3JwbGF5ZWQgJiYgCisgICAgICAgICAgICBpZiAoIGNvbG9ycGxheWVkICYmCiAgICAgICAgICAg
ICAgICAgIC8vCSh0bXAtPnNwZXYtPmFic21pbGxpc2Vjb25kcz49Y3Vyc29yLT5zcGV2LT5hYnNt
aWxsaXNlY29uZHMpKQogICAgICAgICAgICAgICAgICAodG1wLT5zcGV2LT5pZD49Y3Vyc29yLT5z
cGV2LT5pZCkpCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgcC0+c2V0UGVuKGJsYWNr
KTsKICAgICAgICAgICAgICAgICBjb2xvcnBsYXllZD0wOwotICAgICAgICAgICAgfQkKLSAgICAg
ICAgICAgIAorICAgICAgICAgICAgfQorCiAgICAgICAgICAgICBpZiAoSXNMaW5lRmVlZCh0bXAt
PnNwZXYtPnRleHRbMF0sdG1wLT5zcGV2LT50eXBlKSkKLSAgICAgICAgICAgICAgICBwLT5kcmF3
VGV4dCh0bXAtPnhwb3MsdG1wbC0+eXBvcywmdG1wLT5zcGV2LT50ZXh0WzFdKTsKKyAgICAgICAg
ICAgICAgICBwLT5kcmF3VGV4dCh0bXAtPnhwb3MsdG1wbC0+eXBvcyxseXJpY3NfY29kZWMtPnRv
VW5pY29kZSgmdG1wLT5zcGV2LT50ZXh0WzFdKSk7CiAgICAgICAgICAgICBlbHNlCi0gICAgICAg
ICAgICAgICAgcC0+ZHJhd1RleHQodG1wLT54cG9zLHRtcGwtPnlwb3MsdG1wLT5zcGV2LT50ZXh0
KTsKKyAgICAgICAgICAgICAgICBwLT5kcmF3VGV4dCh0bXAtPnhwb3MsdG1wbC0+eXBvcyxseXJp
Y3NfY29kZWMtPnRvVW5pY29kZSh0bXAtPnNwZXYtPnRleHQpKTsKIAogI2lmZGVmIERSQVdfQk9V
TkRJTkdfUkVDVFMKIAkgICAgcC0+c2V0UGVuKHJlZCk7CkBAIC0zMTAsMTMgKzMxNiwxMyBAQAog
ICAgICAgICBpKys7CiAgICAgICAgIHRtcGw9dG1wbC0+bmV4dDsKICAgICB9Ci0gICAgCisKIH0K
IAogCiB2b2lkIEtEaXNwbGF5VGV4dDo6cmVzaXplRXZlbnQoUVJlc2l6ZUV2ZW50ICplKQogewot
ICAgIFFTY3JvbGxWaWV3OjpyZXNpemVFdmVudChlKTsgIAorICAgIFFTY3JvbGxWaWV3OjpyZXNp
emVFdmVudChlKTsKICAgICBudmlzaWJsZWxpbmVzPXZpc2libGVIZWlnaHQoKS9xZm1ldHItPmxp
bmVTcGFjaW5nKCk7CiAgICAgaWYgKCAobmxpbmVzPm52aXNpYmxlbGluZXMpIHx8IChudmlzaWJs
ZWxpbmVzPT0wKSApCiAgICAgICAgIHJlc2l6ZUNvbnRlbnRzKG1heFhbKHR5cGVvZnRleHRldmVu
dHM9PTEpPzA6MV0sbWF4WVsodHlwZW9mdGV4dGV2ZW50cz09MSk/MDoxXSk7CkBAIC02MTMsNiAr
NjE5LDI1IEBACiAgICAgCiB9CiAKK3ZvaWQgS0Rpc3BsYXlUZXh0OjpzZXRMeXJpY3NFbmNvZGlu
ZyhpbnQgaSl7CisgIGNoYXIgdG1wWzEyOF0sICpwMjsKKyAgY29uc3QgY2hhciAqcDE7CisgIFFU
ZXh0Q29kZWMgKm5ld2NvZGVjOyAgCisgIAorICBpZiAoaT09MCkKKyAgICBuZXdjb2RlYz1RVGV4
dENvZGVjOjpjb2RlY0ZvckxvY2FsZSgpOworICBlbHNleworICAgIGZvcihwMj10bXAsIHAxPVFU
ZXh0Q29kZWNzW2ldOyAqcDEgJiYgKnAxIT0nICc7ICpwMisrPSpwMSsrKTsKKyAgICAqcDI9J1ww
JzsKKyAgICBuZXdjb2RlYz1RVGV4dENvZGVjOjpjb2RlY0Zvck5hbWUodG1wKTsgCisgIH0gICAg
CisgIGlmIChuZXdjb2RlYyAmJiBuZXdjb2RlYyE9bHlyaWNzX2NvZGVjKXsKKyAgICBseXJpY3Nf
Y29kZWM9bmV3Y29kZWM7CisgICAgZm9udENoYW5nZWQoKTsKKyAgfWVsc2UKKyAgICBwcmludGYo
IkNvZGVjIG5vdCBmb3VuZCBmb3IgJXNcbiIsIFFUZXh0Q29kZWNzW2ldKTsgICAgCit9CisKIAog
LypRU2l6ZSBLRGlzcGxheVRleHQ6OnNpemVIaW50KCkKIHsKZGlmZiAtdSBrbWlkLW9yaWdpbmFs
L21haW4uY3BwIGtkZW11bHRpbWVkaWEtMy4xLjEva21pZC9tYWluLmNwcAotLS0ga21pZC1vcmln
aW5hbC9tYWluLmNwcAkyMDAyLTAxLTI2IDIzOjI2OjQyLjAwMDAwMDAwMCArMDYwMAorKysga2Rl
bXVsdGltZWRpYS0zLjEuMS9rbWlkL21haW4uY3BwCTIwMDMtMDctMjMgMTY6MjQ6NDkuMDAwMDAw
MDAwICswNzAwCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSA8c2lnbmFsLmg+CiAKICNpbmNs
dWRlIDxxd2lkZ2V0Lmg+CisjaW5jbHVkZSA8cXRleHRjb2RlYy5oPgogCiAjaW5jbHVkZSA8a2Fw
cGxpY2F0aW9uLmg+CiAjaW5jbHVkZSA8a2xvY2FsZS5oPgpAQCAtNDQsNiArNDUsNyBAQAogICAg
IHByaW50ZigiVGhpcyBpcyBmcmVlIHNvZnR3YXJlLCBhbmQgeW91IGFyZSB3ZWxjb21lIHRvIHJl
ZGlzdHJpYnV0ZSBpdFxuIik7CiAgICAgcHJpbnRmKCJ1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnNc
biIpOwogCisgICAgUVRleHRDb2RlYzo6c2V0Q29kZWNGb3JDU3RyaW5ncyhRVGV4dENvZGVjOjpj
b2RlY0ZvckxvY2FsZSgpKTsKIC8qCiAgICAgc3RydWN0IHNpZ2FjdGlvbiBhY3Q7CiAgICAgYWN0
LnNhX2hhbmRsZXIgPSBTSUdfREZMOwpAQCAtOTMsNiArOTUsOCBAQAogICAgICAgICB9OwogKi8K
IAorCisgICAgCiAgICAgcmV0dXJuIGFwcC5leGVjKCk7CiB9OwogCmRpZmYgLXUga21pZC1vcmln
aW5hbC9rbWlkY2xpZW50Lmgga2RlbXVsdGltZWRpYS0zLjEuMS9rbWlkL2ttaWRjbGllbnQuaAot
LS0ga21pZC1vcmlnaW5hbC9rbWlkY2xpZW50LmgJMjAwMS0wNS0wMSAwNjozMzo0Ni4wMDAwMDAw
MDAgKzA3MDAKKysrIGtkZW11bHRpbWVkaWEtMy4xLjEva21pZC9rbWlkY2xpZW50LmgJMjAwMy0w
Ny0yNCAwMTowOTo1OC4wMDAwMDAwMDAgKzA3MDAKQEAgLTEwMSw2ICsxMDEsNyBAQAogICAgIGlu
dCBzZWFyY2hJbkNQTChpbnQgc29uZyk7IC8vIFJldHVybnMgdGhlIGluZGV4IG9mIHNvbmcKIAog
ICAgIHZvaWQgZmlsbEluQ29tYm9Tb25ncyh2b2lkKTsKKyAgICB2b2lkIGZpbGxJbkVuY29kaW5n
cyh2b2lkKTsgICAgCiAKICAgICBpbnQgb3BlbkZpbGUoY29uc3QgY2hhciAqZmlsZW5hbWUpOwog
ICAgIHZvaWQgYWxsTm90ZXNPZmYodm9pZCk7CkBAIC0xNjksNiArMTcwLDcgQEAKICAgICB2b2lk
IHNsb3RTZWVrKGludCBpKTsKICAgICB2b2lkIHNsb3RTZXRWb2x1bWUoaW50IGkpOwogICAgIHZv
aWQgc2xvdFNlbGVjdFNvbmcoaW50IGkpOworICAgIHZvaWQgc2xvdFNlbGVjdEVuY29kaW5nKGlu
dCBpKTsKIAogICAgIHZvaWQgZG93bmxvYWRGaW5pc2hlZCggS0lPOjpKb2IgKiApOwogCkBAIC0y
MjUsNiArMjI3LDcgQEAKICAgICBLRGlzcGxheVRleHQgKmtkaXNwdDsKICAgICBRTGFiZWwgKnFs
YWJlbFRlbXBvOwogICAgIFFDb21ib0JveCAqY29tYm9Tb25nczsKKyAgICBRQ29tYm9Cb3ggKmNv
bWJvRW5jb2RpbmdzOwogICAgIFJoeXRobVZpZXcgKnJoeXRobXZpZXc7CiAKICAgICAKZGlmZiAt
dSBrbWlkLW9yaWdpbmFsL2ttaWRjbGllbnQuY3BwIGtkZW11bHRpbWVkaWEtMy4xLjEva21pZC9r
bWlkY2xpZW50LmNwcAotLS0ga21pZC1vcmlnaW5hbC9rbWlkY2xpZW50LmNwcAkyMDAyLTEyLTA2
IDAyOjQ4OjMxLjAwMDAwMDAwMCArMDYwMAorKysga2RlbXVsdGltZWRpYS0zLjEuMS9rbWlkL2tt
aWRjbGllbnQuY3BwCTIwMDMtMDctMjQgMDE6MzQ6MjUuMDAwMDAwMDAwICswNzAwCkBAIC02MCw5
ICs2MCwxMSBAQAogI2luY2x1ZGUgImNoYW5uZWwuaCIKICNpbmNsdWRlICJ2ZXJzaW9uLmgiCiAj
aW5jbHVkZSAicmh5dGhtdmlldy5oIgorI2luY2x1ZGUgInF0ZXh0Y29kZWNzbGlzdC5oIgogCiAv
LyNkZWZpbmUgVEVNUEhBQ0sKIAorCiBrbWlkQ2xpZW50OjprbWlkQ2xpZW50KFFXaWRnZXQgKnBh
cmVudCwgS0FjdGlvbkNvbGxlY3Rpb24gKmFjLCBjb25zdCBjaGFyICpuYW1lKQogICAgIDpRV2lk
Z2V0KHBhcmVudCxuYW1lKSwgRENPUE9iamVjdCgiS01pZElmYWNlIikKIHsKQEAgLTExMSw2ICsx
MTMsMTAgQEAKIAogICAgIGNvbWJvU29uZ3MgPSBuZXcgUUNvbWJvQm94KEZBTFNFLCB0aGlzLCJT
b25ncyIpOwogICAgIGNvbm5lY3QgKGNvbWJvU29uZ3MsU0lHTkFMKGFjdGl2YXRlZChpbnQpKSx0
aGlzLFNMT1Qoc2xvdFNlbGVjdFNvbmcoaW50KSkpOworICAgIAorICAgIGNvbWJvRW5jb2Rpbmdz
ID0gbmV3IFFDb21ib0JveChGQUxTRSwgdGhpcywgIkVuY29kaW5ncyIpOworICAgIGNvbm5lY3Qg
KGNvbWJvRW5jb2RpbmdzLFNJR05BTChhY3RpdmF0ZWQoaW50KSksdGhpcyxTTE9UKHNsb3RTZWxl
Y3RFbmNvZGluZyhpbnQpKSk7CisgICAgY29tYm9FbmNvZGluZ3MtPnNldFNpemVMaW1pdChRVGV4
dENvZGVjc0NvdW50LzIpOwogCiAgICAgcmh5dGhtdmlldz0gbmV3IFJoeXRobVZpZXcoIHRoaXMs
ICJSaHl0aG1WaWV3Iik7CiAgICAgcmh5dGhtdmlldy0+c2V0TWF4aW11bUhlaWdodCg3KTsgICAK
QEAgLTE5NSwxNCArMjAxLDE3IEBACiAgICAgUUhCb3hMYXlvdXQgKmxoPW5ldyBRSEJveExheW91
dCggbHYgKTsKICAgICBsaC0+YWRkV2lkZ2V0KCBxbGFiZWxUZW1wbyApOwogICAgIGxoLT5hZGRX
aWRnZXQoIHRlbXBvTENEICk7Ci0gICAgbGgtPmFkZFdpZGdldCggY29tYm9Tb25ncywgMSApOwot
ICAgIGx2LT5hZGRTcGFjaW5nKDUpOworICAgIGxoLT5hZGRXaWRnZXQoIGNvbWJvU29uZ3MsIDYg
KTsKKyAgICBsdi0+YWRkU3BhY2luZyg1KTsgICAgCisgICAgbGgtPmFkZFdpZGdldCggY29tYm9F
bmNvZGluZ3MsIDEgKTsgICAgCisgICAgbHYtPmFkZFNwYWNpbmcoNSk7ICAgICAgICAKICAgICBs
di0+YWRkV2lkZ2V0KCByaHl0aG12aWV3ICk7CiAgICAgbHYtPmFkZFNwYWNpbmcoMik7CiAgICAg
UUhCb3hMYXlvdXQgKmxoMj1uZXcgUUhCb3hMYXlvdXQoIGx2ICk7CiAgICAgbGgyLT5hZGRXaWRn
ZXQoIHZvbHVtZWJhciApOwogICAgIGxoMi0+YWRkV2lkZ2V0KCBrZGlzcHQgKTsKIAorICAgIGZp
bGxJbkVuY29kaW5ncygpOwogfQogCiAvKnZvaWQga21pZENsaWVudDo6cmVzaXplRXZlbnQoUVJl
c2l6ZUV2ZW50ICopIApAQCAtMTIwOCw2ICsxMjE3LDcgQEAKICAgICBnZW5lcmF0ZUNQTCgpOwog
ICAgIGluaXRpYWxpemluZ19zb25ncz0xOwogICAgIGZpbGxJbkNvbWJvU29uZ3MoKTsKKyAgICAv
LyBTRyAhISEKICAgICBpbml0aWFsaXppbmdfc29uZ3M9MDsKIH0KIApAQCAtMTU4OSw0ICsxNTk5
LDEzIEBACiB7CiAgICgoS0xpc3RBY3Rpb24qKWFjdGlvbkNvbGxlY3Rpb24tPmFjdGlvbigicGxh
eV9vcmRlciIpKS0+c2V0Q3VycmVudEl0ZW0oaSk7IAogfQordm9pZCBrbWlkQ2xpZW50OjpmaWxs
SW5FbmNvZGluZ3MoKXsKKyAgZm9yKGludCBpPTA7IGk8UVRleHRDb2RlY3NDb3VudDsgaSsrKQor
ICAgIGNvbWJvRW5jb2RpbmdzLT5pbnNlcnRJdGVtKFFUZXh0Q29kZWNzW2ldKTsKK30KK3ZvaWQg
a21pZENsaWVudDo6c2xvdFNlbGVjdEVuY29kaW5nKGludCBpKQoreworLy8gIHByaW50ZigiU0VM
RUNUIEVOQ09ESU5HOiAlZFxuIiwgaSk7CisgIGtkaXNwdC0+c2V0THlyaWNzRW5jb2RpbmcoaSk7
Cit9CiAjaW5jbHVkZSAia21pZGNsaWVudC5tb2MiCmRpZmYgLU4gLXUga21pZC1vcmlnaW5hbC9x
dGV4dGNvZGVjc2xpc3QuaCBrZGVtdWx0aW1lZGlhLTMuMS4xL2ttaWQvcXRleHRjb2RlY3NsaXN0
LmgKLS0tIGttaWQtb3JpZ2luYWwvcXRleHRjb2RlY3NsaXN0LmgJMTk3MC0wMS0wMSAwNzowMDow
MC4wMDAwMDAwMDAgKzA3MDAKKysrIGtkZW11bHRpbWVkaWEtMy4xLjEva21pZC9xdGV4dGNvZGVj
c2xpc3QuaAkyMDAzLTA3LTI0IDAxOjM2OjM2LjAwMDAwMDAwMCArMDcwMApAQCAtMCwwICsxLDU0
IEBACisvLyBxdGV4dGNvZGVjc2xpc3QuaCAtIGxpc3Qgb2YgZW5jb2RpbmdzIHN1cHBvcnRlZCBi
eSBRVAorI2lmICFkZWZpbmVkKFFURVhUQ09ERUNTTElTVCkKKyNkZWZpbmUgUVRFWFRDT0RFQ1NM
SVNUCisKK2NvbnN0IGNoYXIgKmNvbnN0IFFUZXh0Q29kZWNzW109eworICAgICJEZWZhdWx0IChT
eXN0ZW0gTG9jYWxlKSIsCisgICAgIkNQMTI1MCAtLSBDZW50cmFsIEV1cm9wZWFuIiwKKyAgICAi
Q1AxMjUxIC0tIEN5cmlsbGljIiwKKyAgICAiQ1AxMjUyIC0tIFdlc3Rlcm4iLCAgICAgICAgCisg
ICAgIkNQMTI1MyAtLSBHcmVlayIsCisgICAgIkNQMTI1NCAtLSBUdXJraXNoIiwKKyAgICAiQ1Ax
MjU1IC0tIEhlYnJldyIsCisgICAgIkNQMTI1NiAtLSBBcmFiaWMiLAorICAgICJDUDEyNTcgLS0g
QmFsdGljIiwKKyAgICAiQ1AxMjU4IiwKKyAgICAiSVNPODg1OS0xIC0tIFdlc3Rlcm4iLAorICAg
ICJJU084ODU5LTIgLS0gQ2VudHJhbCBFdXJvcGVhbiIsCisgICAgIklTTzg4NTktMyAtLSBDZW50
cmFsIEV1cm9wZWFuIiwKKyAgICAiSVNPODg1OS00IC0tIEJhbHRpYyIsCisgICAgIklTTzg4NTkt
NSAtLSBDeXJpbGxpYyIsCisgICAgIklTTzg4NTktNiAtLSBBcmFiaWMiLAorICAgICJJU084ODU5
LTcgLS0gR3JlZWsiLAorICAgICJJU084ODU5LTggLS0gSGVicmV3LCB2aXN1YWxseSBvcmRlcmVk
IiwKKyAgICAiSVNPODg1OS04LWkgLS0gSGVicmV3LCBsb2dpY2FsbHkgb3JkZXJlZCIsCisgICAg
IklTTzg4NTktOSAtLSBUdXJraXNoIiwKKyAgICAiSVNPODg1OS0xMCIsCisgICAgIklTTzg4NTkt
MTMiLAorICAgICJJU084ODU5LTE0IiwKKyAgICAiSVNPODg1OS0xNSAtLSBXZXN0ZXJuIiwKKyAg
ICAiSUJNIDg1MCIsCisgICAgIklCTSA4NjYiLAorICAgICJDUDg3NCIsICAgIAorICAgICJBcHBs
ZSBSb21hbiIsCisgICAgIlRJUy02MjAgLS0gVGhhaSIsCisgICAgIkJpZzUgLS0gQ2hpbmVzZSIs
CisgICAgIkJpZzUtSEtTQ1MgLS0gQ2hpbmVzZSIsCisgICAgImV1Y0pQIC0tIEphcGFuZXNlIiwK
KyAgICAiZXVjS1IgLS0gS29yZWFuIiwKKyAgICAiR0IyMzEyIC0tIENoaW5lc2UiLAorICAgICJH
QksgLS0gQ2hpbmVzZSIsCisgICAgIkdCMTgwMzAgLS0gQ2hpbmVzZSIsCisgICAgIkpJUzcgLS0g
SmFwYW5lc2UiLAorICAgICJTaGlmdC1KSVMgLS0gSmFwYW5lc2UiLAorICAgICJUU0NJSSAtLSBU
YW1pbCIsCisgICAgIlVURjggLS0gVW5pY29kZSwgOC1iaXQiLAorICAgICJVVEYxNiAtLSBVbmlj
b2RlIiwKKyAgICAiS09JOC1SIC0tIFJ1c3NpYW4iLAorICAgICJLT0k4LVUgLS0gVWtyYWluaWFu
IiwKKyAgICAiTGF0aW4xIiAgICAKK307CisKK2NvbnN0IGludCBRVGV4dENvZGVjc0NvdW50PXNp
emVvZihRVGV4dENvZGVjcykvc2l6ZW9mKGNoYXIqKTsKKworI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>2051</attachid>
            <date>2003-07-23 22:32:10 +0000</date>
            <delta_ts>2003-07-23 22:32:10 +0000</delta_ts>
            <desc>KMid internationalization patch r2</desc>
            <filename>kmid-international-2.patch</filename>
            <type>text/plain</type>
            <size>10072</size>
            <attacher name="Sergey A. Galin">thelivingone</attacher>
            
              <data encoding="base64">ZGlmZiAtdSBrbWlkLW9yaWdpbmFsL2tkaXNwdGV4dC5oIGtkZW11bHRpbWVkaWEtMy4xLjEva21p
ZC9rZGlzcHRleHQuaAotLS0ga21pZC1vcmlnaW5hbC9rZGlzcHRleHQuaAkyMDAxLTA1LTAxIDA2
OjMzOjQ2LjAwMDAwMDAwMCArMDcwMAorKysga2RlbXVsdGltZWRpYS0zLjEuMS9rbWlkL2tkaXNw
dGV4dC5oCTIwMDMtMDctMjQgMDE6MTM6NDcuMDAwMDAwMDAwICswNzAwCkBAIC01Miw3ICs1Miw4
IEBACiB7CiAgICAgUV9PQkpFQ1QKIHByaXZhdGU6Ci0gICAgCisgICAgUVRleHRDb2RlYyAqbHly
aWNzX2NvZGVjOyAgICAKKwogICAgIFFGb250TWV0cmljcyAqcWZtZXRyOwogICAgIFFGb250ICpx
dGV4dGZvbnQ7CiAgICAgCkBAIC0xMDgsNiArMTA5LDkgQEAKICAgICB2b2lkIGZvbnRDaGFuZ2Vk
KHZvaWQpOwogICAgIAogICAgIHZvaWQgc2F2ZUx5cmljcyhGSUxFICpmaCk7CisgICAgCisgICAg
Ly8gcmVjZWl2ZXMgbnVtYmVyIG9mIGVuY29kaW5nIGluIFFUZXh0Q29kZWNzIGluIHF0ZXh0Y29k
ZWNsaXN0LmggICAgICAgCisgICAgdm9pZCBzZXRMeXJpY3NFbmNvZGluZyhpbnQgbnVtKTsKIAog
Ly8gICAgUVNpemUgc2l6ZUhpbnQoKTsKICAKZGlmZiAtdSBrbWlkLW9yaWdpbmFsL2tkaXNwdGV4
dC5jcHAga2RlbXVsdGltZWRpYS0zLjEuMS9rbWlkL2tkaXNwdGV4dC5jcHAKLS0tIGttaWQtb3Jp
Z2luYWwva2Rpc3B0ZXh0LmNwcAkyMDAyLTEwLTI3IDA0OjIwOjEyLjAwMDAwMDAwMCArMDYwMAor
Kysga2RlbXVsdGltZWRpYS0zLjEuMS9rbWlkL2tkaXNwdGV4dC5jcHAJMjAwMy0wNy0yNCAwMzoy
MTo1NS4wMDAwMDAwMDAgKzA3MDAKQEAgLTI1LDExICsyNSwxMyBAQAogI2luY2x1ZGUgPHFwYWlu
dGVyLmg+CiAjaW5jbHVkZSA8cWZvbnQuaD4KICNpbmNsdWRlIDxxZm9udG1ldHJpY3MuaD4KKyNp
bmNsdWRlIDxxdGV4dGNvZGVjLmg+CiAjaW5jbHVkZSA8cXJlY3QuaD4KICNpbmNsdWRlIDxrZ2xv
YmFsLmg+CiAjaW5jbHVkZSA8a2luc3RhbmNlLmg+CiAjaW5jbHVkZSA8a2NvbmZpZy5oPgogI2lu
Y2x1ZGUgInZlcnNpb24uaCIKKyNpbmNsdWRlICJxdGV4dGNvZGVjc2xpc3QuaCIKIAogCiAjZGVm
aW5lIE5VTVBSRVZMSU5FUyAyCkBAIC01OSw2ICs2MSwxMCBAQAogICBxZm1ldHI9bmV3IFFGb250
TWV0cmljcygqcXRleHRmb250KTsKICAgbnZpc2libGVsaW5lcz1oZWlnaHQoKS9xZm1ldHItPmxp
bmVTcGFjaW5nKCk7CiAgIGF1dG9zY3JvbGx2PTA7CisgIAorICAvLyBTRworICBseXJpY3NfY29k
ZWM9UVRleHRDb2RlYzo6Y29kZWNGb3JMb2NhbGUoKTsKKyAgLy9mb250Q2hhbmdlZCgpOwogfQog
CiBLRGlzcGxheVRleHQ6On5LRGlzcGxheVRleHQoKQpAQCAtMjA4LDE1ICsyMTQsMTUgQEAKICAg
ICAgICAgICAgICAgICAgICAgICAgIHRtcHg9NTsKIAogICAgICAgICAgICAgICAgICAgICAgICAg
dG1wLT54cG9zPXRtcHg7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wLT5zcGV2LT50
ZXh0WzBdIT0wKSB0bXB3PXFmbWV0ci0+d2lkdGgoJnRtcC0+c3Bldi0+dGV4dFsxXSk7CisgICAg
ICAgICAgICAgICAgICAgICAgICBpZiAodG1wLT5zcGV2LT50ZXh0WzBdIT0wKSB0bXB3PXFmbWV0
ci0+d2lkdGgobHlyaWNzX2NvZGVjLT50b1VuaWNvZGUoJnRtcC0+c3Bldi0+dGV4dFsxXSkpOwog
CQkJCWVsc2UgdG1wdz0wOwotICAgICAgICAgICAgICAgICAgICAgICAgdG1wLT5yPXFmbWV0ci0+
Ym91bmRpbmdSZWN0KCZ0bXAtPnNwZXYtPnRleHRbMV0pOworICAgICAgICAgICAgICAgICAgICAg
ICAgdG1wLT5yPXFmbWV0ci0+Ym91bmRpbmdSZWN0KGx5cmljc19jb2RlYy0+dG9Vbmljb2RlKCZ0
bXAtPnNwZXYtPnRleHRbMV0pKTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
ICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg
ICAgIHRtcC0+eHBvcz10bXB4OwotICAgICAgICAgICAgICAgICAgICAgICAgdG1wdz1xZm1ldHIt
PndpZHRoKHRtcC0+c3Bldi0+dGV4dCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAtPnI9
cWZtZXRyLT5ib3VuZGluZ1JlY3QodG1wLT5zcGV2LT50ZXh0KTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHRtcHc9cWZtZXRyLT53aWR0aChseXJpY3NfY29kZWMtPnRvVW5pY29kZSh0bXAtPnNw
ZXYtPnRleHQpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRtcC0+cj1xZm1ldHItPmJvdW5k
aW5nUmVjdChseXJpY3NfY29kZWMtPnRvVW5pY29kZSh0bXAtPnNwZXYtPnRleHQpKTsKICAgICAg
ICAgICAgICAgICAgICAgfQogCS8vIFdlIGFkZCA1IHBpeGVscyBhYm92ZSwgYmVsb3cgYW5kIHRv
IHRoZSByaWdodCBiZWNhdXNlIG9mIGEKIAkvLyBwcm9ibGVtIHdpdGggbGF0ZXN0IHJlbGVhc2Vk
IFhmdApAQCAtMjM1LDcgKzI0MSw3IEBACiAgICAgICAgIG1heFhbKHR5cGVvZnRleHRldmVudHM9
PTEpPzA6MV09bWF4eCsxMDsKICAgICAgICAgbWF4WVsodHlwZW9mdGV4dGV2ZW50cz09MSk/MDox
XT0KIAkJbmxpbmVzX1sodHlwZW9mdGV4dGV2ZW50cz09MSk/MDoxXSpsaW5lU3BhY2luZytkZXNj
ZW50KzEwOwotIAorCiAgICAgICAgIGlmICh0eXBlb2Z0ZXh0ZXZlbnRzPT0xKSB0eXBlb2Z0ZXh0
ZXZlbnRzPTU7CiAgICAgICAgIGVsc2UgZmluPTE7CiAgICAgfQpAQCAtMjc4LDcgKzI4NCw3IEBA
CiAgICAgICAgbmxpbmVzdG9kcmF3Kys7CiAgICAgICAgdD10LT5uZXh0OwogICAgICAgIH0KLSAg
ICAKKwogICAgIGk9MDsKICAgICB3aGlsZSAoKGk8bmxpbmVzdG9kcmF3KSYmKHRtcGwhPU5VTEwp
KQogICAgIHsKQEAgLTI4NiwxOCArMjkyLDE4IEBACiAgICAgICAgIHdoaWxlICgodG1wIT1OVUxM
KSYmKHRtcC0+c3Bldi0+dHlwZSE9dHlwZW9mdGV4dGV2ZW50cykpIHRtcD10bXAtPm5leHQ7CiAg
ICAgICAgIHdoaWxlICh0bXAhPU5VTEwpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGlmICggY29s
b3JwbGF5ZWQgJiYgCisgICAgICAgICAgICBpZiAoIGNvbG9ycGxheWVkICYmCiAgICAgICAgICAg
ICAgICAgIC8vCSh0bXAtPnNwZXYtPmFic21pbGxpc2Vjb25kcz49Y3Vyc29yLT5zcGV2LT5hYnNt
aWxsaXNlY29uZHMpKQogICAgICAgICAgICAgICAgICAodG1wLT5zcGV2LT5pZD49Y3Vyc29yLT5z
cGV2LT5pZCkpCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgcC0+c2V0UGVuKGJsYWNr
KTsKICAgICAgICAgICAgICAgICBjb2xvcnBsYXllZD0wOwotICAgICAgICAgICAgfQkKLSAgICAg
ICAgICAgIAorICAgICAgICAgICAgfQorCiAgICAgICAgICAgICBpZiAoSXNMaW5lRmVlZCh0bXAt
PnNwZXYtPnRleHRbMF0sdG1wLT5zcGV2LT50eXBlKSkKLSAgICAgICAgICAgICAgICBwLT5kcmF3
VGV4dCh0bXAtPnhwb3MsdG1wbC0+eXBvcywmdG1wLT5zcGV2LT50ZXh0WzFdKTsKKyAgICAgICAg
ICAgICAgICBwLT5kcmF3VGV4dCh0bXAtPnhwb3MsdG1wbC0+eXBvcyxseXJpY3NfY29kZWMtPnRv
VW5pY29kZSgmdG1wLT5zcGV2LT50ZXh0WzFdKSk7CiAgICAgICAgICAgICBlbHNlCi0gICAgICAg
ICAgICAgICAgcC0+ZHJhd1RleHQodG1wLT54cG9zLHRtcGwtPnlwb3MsdG1wLT5zcGV2LT50ZXh0
KTsKKyAgICAgICAgICAgICAgICBwLT5kcmF3VGV4dCh0bXAtPnhwb3MsdG1wbC0+eXBvcyxseXJp
Y3NfY29kZWMtPnRvVW5pY29kZSh0bXAtPnNwZXYtPnRleHQpKTsKIAogI2lmZGVmIERSQVdfQk9V
TkRJTkdfUkVDVFMKIAkgICAgcC0+c2V0UGVuKHJlZCk7CkBAIC0zMTAsMTMgKzMxNiwxMyBAQAog
ICAgICAgICBpKys7CiAgICAgICAgIHRtcGw9dG1wbC0+bmV4dDsKICAgICB9Ci0gICAgCisKIH0K
IAogCiB2b2lkIEtEaXNwbGF5VGV4dDo6cmVzaXplRXZlbnQoUVJlc2l6ZUV2ZW50ICplKQogewot
ICAgIFFTY3JvbGxWaWV3OjpyZXNpemVFdmVudChlKTsgIAorICAgIFFTY3JvbGxWaWV3OjpyZXNp
emVFdmVudChlKTsKICAgICBudmlzaWJsZWxpbmVzPXZpc2libGVIZWlnaHQoKS9xZm1ldHItPmxp
bmVTcGFjaW5nKCk7CiAgICAgaWYgKCAobmxpbmVzPm52aXNpYmxlbGluZXMpIHx8IChudmlzaWJs
ZWxpbmVzPT0wKSApCiAgICAgICAgIHJlc2l6ZUNvbnRlbnRzKG1heFhbKHR5cGVvZnRleHRldmVu
dHM9PTEpPzA6MV0sbWF4WVsodHlwZW9mdGV4dGV2ZW50cz09MSk/MDoxXSk7CkBAIC02MTMsNiAr
NjE5LDI3IEBACiAgICAgCiB9CiAKK3ZvaWQgS0Rpc3BsYXlUZXh0OjpzZXRMeXJpY3NFbmNvZGlu
ZyhpbnQgaSl7CisgIGNoYXIgdG1wWzEyOF0sICpwMjsKKyAgY29uc3QgY2hhciAqcDE7CisgIFFU
ZXh0Q29kZWMgKm5ld2NvZGVjOyAgCisgIAorICBpZiAoaTw9MCB8fCBpPj1RVGV4dENvZGVjc0Nv
dW50KQorICAgIG5ld2NvZGVjPVFUZXh0Q29kZWM6OmNvZGVjRm9yTG9jYWxlKCk7CisgIGVsc2V7
CisgICAgZm9yKHAyPXRtcCwgcDE9UVRleHRDb2RlY3NbaV07ICpwMSAmJiAqcDEhPScgJzsgKnAy
Kys9KnAxKyspOworICAgICpwMj0nXDAnOworICAgIG5ld2NvZGVjPVFUZXh0Q29kZWM6OmNvZGVj
Rm9yTmFtZSh0bXApOyAKKyAgfSAgICAKKyAgaWYgKG5ld2NvZGVjIT1seXJpY3NfY29kZWMpewor
ICAgIGlmIChuZXdjb2RlYyl7CisgICAgICBseXJpY3NfY29kZWM9bmV3Y29kZWM7CisgICAgICBm
b250Q2hhbmdlZCgpOworICAgIH1lbHNlCisgICAgICBwcmludGYoIkNvZGVjIG5vdCBmb3VuZCBm
b3IgJXNcbiIsIFFUZXh0Q29kZWNzW2ldKTsgICAgCisgIH0gICAgICAKK30KKwogCiAvKlFTaXpl
IEtEaXNwbGF5VGV4dDo6c2l6ZUhpbnQoKQogewpkaWZmIC11IGttaWQtb3JpZ2luYWwvbWFpbi5j
cHAga2RlbXVsdGltZWRpYS0zLjEuMS9rbWlkL21haW4uY3BwCi0tLSBrbWlkLW9yaWdpbmFsL21h
aW4uY3BwCTIwMDItMDEtMjYgMjM6MjY6NDIuMDAwMDAwMDAwICswNjAwCisrKyBrZGVtdWx0aW1l
ZGlhLTMuMS4xL2ttaWQvbWFpbi5jcHAJMjAwMy0wNy0yMyAxNjoyNDo0OS4wMDAwMDAwMDAgKzA3
MDAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlIDxzaWduYWwuaD4KIAogI2luY2x1ZGUgPHF3
aWRnZXQuaD4KKyNpbmNsdWRlIDxxdGV4dGNvZGVjLmg+CiAKICNpbmNsdWRlIDxrYXBwbGljYXRp
b24uaD4KICNpbmNsdWRlIDxrbG9jYWxlLmg+CkBAIC00NCw2ICs0NSw3IEBACiAgICAgcHJpbnRm
KCJUaGlzIGlzIGZyZWUgc29mdHdhcmUsIGFuZCB5b3UgYXJlIHdlbGNvbWUgdG8gcmVkaXN0cmli
dXRlIGl0XG4iKTsKICAgICBwcmludGYoInVuZGVyIGNlcnRhaW4gY29uZGl0aW9uc1xuIik7CiAK
KyAgICBRVGV4dENvZGVjOjpzZXRDb2RlY0ZvckNTdHJpbmdzKFFUZXh0Q29kZWM6OmNvZGVjRm9y
TG9jYWxlKCkpOwogLyoKICAgICBzdHJ1Y3Qgc2lnYWN0aW9uIGFjdDsKICAgICBhY3Quc2FfaGFu
ZGxlciA9IFNJR19ERkw7CkBAIC05Myw2ICs5NSw4IEBACiAgICAgICAgIH07CiAqLwogCisKKyAg
ICAKICAgICByZXR1cm4gYXBwLmV4ZWMoKTsKIH07CiAKZGlmZiAtdSBrbWlkLW9yaWdpbmFsL2tt
aWRjbGllbnQuaCBrZGVtdWx0aW1lZGlhLTMuMS4xL2ttaWQva21pZGNsaWVudC5oCi0tLSBrbWlk
LW9yaWdpbmFsL2ttaWRjbGllbnQuaAkyMDAxLTA1LTAxIDA2OjMzOjQ2LjAwMDAwMDAwMCArMDcw
MAorKysga2RlbXVsdGltZWRpYS0zLjEuMS9rbWlkL2ttaWRjbGllbnQuaAkyMDAzLTA3LTI0IDAx
OjA5OjU4LjAwMDAwMDAwMCArMDcwMApAQCAtMTAxLDYgKzEwMSw3IEBACiAgICAgaW50IHNlYXJj
aEluQ1BMKGludCBzb25nKTsgLy8gUmV0dXJucyB0aGUgaW5kZXggb2Ygc29uZwogCiAgICAgdm9p
ZCBmaWxsSW5Db21ib1NvbmdzKHZvaWQpOworICAgIHZvaWQgZmlsbEluRW5jb2RpbmdzKHZvaWQp
OyAgICAKIAogICAgIGludCBvcGVuRmlsZShjb25zdCBjaGFyICpmaWxlbmFtZSk7CiAgICAgdm9p
ZCBhbGxOb3Rlc09mZih2b2lkKTsKQEAgLTE2OSw2ICsxNzAsNyBAQAogICAgIHZvaWQgc2xvdFNl
ZWsoaW50IGkpOwogICAgIHZvaWQgc2xvdFNldFZvbHVtZShpbnQgaSk7CiAgICAgdm9pZCBzbG90
U2VsZWN0U29uZyhpbnQgaSk7CisgICAgdm9pZCBzbG90U2VsZWN0RW5jb2RpbmcoaW50IGkpOwog
CiAgICAgdm9pZCBkb3dubG9hZEZpbmlzaGVkKCBLSU86OkpvYiAqICk7CiAKQEAgLTIyNSw2ICsy
MjcsNyBAQAogICAgIEtEaXNwbGF5VGV4dCAqa2Rpc3B0OwogICAgIFFMYWJlbCAqcWxhYmVsVGVt
cG87CiAgICAgUUNvbWJvQm94ICpjb21ib1NvbmdzOworICAgIFFDb21ib0JveCAqY29tYm9FbmNv
ZGluZ3M7CiAgICAgUmh5dGhtVmlldyAqcmh5dGhtdmlldzsKIAogICAgIApkaWZmIC11IGttaWQt
b3JpZ2luYWwva21pZGNsaWVudC5jcHAga2RlbXVsdGltZWRpYS0zLjEuMS9rbWlkL2ttaWRjbGll
bnQuY3BwCi0tLSBrbWlkLW9yaWdpbmFsL2ttaWRjbGllbnQuY3BwCTIwMDItMTItMDYgMDI6NDg6
MzEuMDAwMDAwMDAwICswNjAwCisrKyBrZGVtdWx0aW1lZGlhLTMuMS4xL2ttaWQva21pZGNsaWVu
dC5jcHAJMjAwMy0wNy0yNCAwMTozNDoyNS4wMDAwMDAwMDAgKzA3MDAKQEAgLTYwLDkgKzYwLDEx
IEBACiAjaW5jbHVkZSAiY2hhbm5lbC5oIgogI2luY2x1ZGUgInZlcnNpb24uaCIKICNpbmNsdWRl
ICJyaHl0aG12aWV3LmgiCisjaW5jbHVkZSAicXRleHRjb2RlY3NsaXN0LmgiCiAKIC8vI2RlZmlu
ZSBURU1QSEFDSwogCisKIGttaWRDbGllbnQ6OmttaWRDbGllbnQoUVdpZGdldCAqcGFyZW50LCBL
QWN0aW9uQ29sbGVjdGlvbiAqYWMsIGNvbnN0IGNoYXIgKm5hbWUpCiAgICAgOlFXaWRnZXQocGFy
ZW50LG5hbWUpLCBEQ09QT2JqZWN0KCJLTWlkSWZhY2UiKQogewpAQCAtMTExLDYgKzExMywxMCBA
QAogCiAgICAgY29tYm9Tb25ncyA9IG5ldyBRQ29tYm9Cb3goRkFMU0UsIHRoaXMsIlNvbmdzIik7
CiAgICAgY29ubmVjdCAoY29tYm9Tb25ncyxTSUdOQUwoYWN0aXZhdGVkKGludCkpLHRoaXMsU0xP
VChzbG90U2VsZWN0U29uZyhpbnQpKSk7CisgICAgCisgICAgY29tYm9FbmNvZGluZ3MgPSBuZXcg
UUNvbWJvQm94KEZBTFNFLCB0aGlzLCAiRW5jb2RpbmdzIik7CisgICAgY29ubmVjdCAoY29tYm9F
bmNvZGluZ3MsU0lHTkFMKGFjdGl2YXRlZChpbnQpKSx0aGlzLFNMT1Qoc2xvdFNlbGVjdEVuY29k
aW5nKGludCkpKTsKKyAgICBjb21ib0VuY29kaW5ncy0+c2V0U2l6ZUxpbWl0KFFUZXh0Q29kZWNz
Q291bnQvMik7CiAKICAgICByaHl0aG12aWV3PSBuZXcgUmh5dGhtVmlldyggdGhpcywgIlJoeXRo
bVZpZXciKTsKICAgICByaHl0aG12aWV3LT5zZXRNYXhpbXVtSGVpZ2h0KDcpOyAgIApAQCAtMTk1
LDE0ICsyMDEsMTcgQEAKICAgICBRSEJveExheW91dCAqbGg9bmV3IFFIQm94TGF5b3V0KCBsdiAp
OwogICAgIGxoLT5hZGRXaWRnZXQoIHFsYWJlbFRlbXBvICk7CiAgICAgbGgtPmFkZFdpZGdldCgg
dGVtcG9MQ0QgKTsKLSAgICBsaC0+YWRkV2lkZ2V0KCBjb21ib1NvbmdzLCAxICk7Ci0gICAgbHYt
PmFkZFNwYWNpbmcoNSk7CisgICAgbGgtPmFkZFdpZGdldCggY29tYm9Tb25ncywgNiApOworICAg
IGx2LT5hZGRTcGFjaW5nKDUpOyAgICAKKyAgICBsaC0+YWRkV2lkZ2V0KCBjb21ib0VuY29kaW5n
cywgMSApOyAgICAKKyAgICBsdi0+YWRkU3BhY2luZyg1KTsgICAgICAgIAogICAgIGx2LT5hZGRX
aWRnZXQoIHJoeXRobXZpZXcgKTsKICAgICBsdi0+YWRkU3BhY2luZygyKTsKICAgICBRSEJveExh
eW91dCAqbGgyPW5ldyBRSEJveExheW91dCggbHYgKTsKICAgICBsaDItPmFkZFdpZGdldCggdm9s
dW1lYmFyICk7CiAgICAgbGgyLT5hZGRXaWRnZXQoIGtkaXNwdCApOwogCisgICAgZmlsbEluRW5j
b2RpbmdzKCk7CiB9CiAKIC8qdm9pZCBrbWlkQ2xpZW50OjpyZXNpemVFdmVudChRUmVzaXplRXZl
bnQgKikgCkBAIC0xMjA4LDYgKzEyMTcsNyBAQAogICAgIGdlbmVyYXRlQ1BMKCk7CiAgICAgaW5p
dGlhbGl6aW5nX3NvbmdzPTE7CiAgICAgZmlsbEluQ29tYm9Tb25ncygpOworICAgIC8vIFNHICEh
IQogICAgIGluaXRpYWxpemluZ19zb25ncz0wOwogfQogCkBAIC0xNTg5LDQgKzE1OTksMTMgQEAK
IHsKICAgKChLTGlzdEFjdGlvbiopYWN0aW9uQ29sbGVjdGlvbi0+YWN0aW9uKCJwbGF5X29yZGVy
IikpLT5zZXRDdXJyZW50SXRlbShpKTsgCiB9Cit2b2lkIGttaWRDbGllbnQ6OmZpbGxJbkVuY29k
aW5ncygpeworICBmb3IoaW50IGk9MDsgaTxRVGV4dENvZGVjc0NvdW50OyBpKyspCisgICAgY29t
Ym9FbmNvZGluZ3MtPmluc2VydEl0ZW0oUVRleHRDb2RlY3NbaV0pOworfQordm9pZCBrbWlkQ2xp
ZW50OjpzbG90U2VsZWN0RW5jb2RpbmcoaW50IGkpCit7CisvLyAgcHJpbnRmKCJTRUxFQ1QgRU5D
T0RJTkc6ICVkXG4iLCBpKTsKKyAga2Rpc3B0LT5zZXRMeXJpY3NFbmNvZGluZyhpKTsKK30KICNp
bmNsdWRlICJrbWlkY2xpZW50Lm1vYyIKZGlmZiAtTiAtdSBrbWlkLW9yaWdpbmFsL3F0ZXh0Y29k
ZWNzbGlzdC5oIGtkZW11bHRpbWVkaWEtMy4xLjEva21pZC9xdGV4dGNvZGVjc2xpc3QuaAotLS0g
a21pZC1vcmlnaW5hbC9xdGV4dGNvZGVjc2xpc3QuaAkxOTcwLTAxLTAxIDA3OjAwOjAwLjAwMDAw
MDAwMCArMDcwMAorKysga2RlbXVsdGltZWRpYS0zLjEuMS9rbWlkL3F0ZXh0Y29kZWNzbGlzdC5o
CTIwMDMtMDctMjQgMDM6Mjk6NDkuMDAwMDAwMDAwICswNzAwCkBAIC0wLDAgKzEsNTYgQEAKKy8v
IHF0ZXh0Y29kZWNzbGlzdC5oIC0gbGlzdCBvZiBlbmNvZGluZ3Mgc3VwcG9ydGVkIGJ5IFFUCisj
aWYgIWRlZmluZWQoUVRFWFRDT0RFQ1NMSVNUKQorI2RlZmluZSBRVEVYVENPREVDU0xJU1QKKwor
Ly8gQ29tbWVudGVkIGNvZGVjcyBkb24ndCB3b3JrCisKK2NvbnN0IGNoYXIgKmNvbnN0IFFUZXh0
Q29kZWNzW109eworICAgICJEZWZhdWx0IChTeXN0ZW0gTG9jYWxlKSIsCisgICAgIkNQMTI1MCAt
LSBDZW50cmFsIEV1cm9wZWFuIiwKKyAgICAiQ1AxMjUxIC0tIEN5cmlsbGljIiwKKyAgICAiQ1Ax
MjUyIC0tIFdlc3Rlcm4iLCAgICAgICAgCisgICAgIkNQMTI1MyAtLSBHcmVlayIsCisgICAgIkNQ
MTI1NCAtLSBUdXJraXNoIiwKKyAgICAiQ1AxMjU1IC0tIEhlYnJldyIsCisgICAgIkNQMTI1NiAt
LSBBcmFiaWMiLAorICAgICJDUDEyNTcgLS0gQmFsdGljIiwKKyAgICAiQ1AxMjU4IiwKKyAgICAi
SVNPODg1OS0xIC0tIFdlc3Rlcm4iLAorICAgICJJU084ODU5LTIgLS0gQ2VudHJhbCBFdXJvcGVh
biIsCisgICAgIklTTzg4NTktMyAtLSBDZW50cmFsIEV1cm9wZWFuIiwKKyAgICAiSVNPODg1OS00
IC0tIEJhbHRpYyIsCisgICAgIklTTzg4NTktNSAtLSBDeXJpbGxpYyIsCisgICAgIklTTzg4NTkt
NiAtLSBBcmFiaWMiLAorICAgICJJU084ODU5LTcgLS0gR3JlZWsiLAorICAgIC8vICJJU084ODU5
LTggLS0gSGVicmV3LCB2aXN1YWxseSBvcmRlcmVkIiwgLSBjcmFzaGVzIEtNaWQKKyAgICAiSVNP
ODg1OS04LWkgLS0gSGVicmV3LCBsb2dpY2FsbHkgb3JkZXJlZCIsCisgICAgIklTTzg4NTktOSAt
LSBUdXJraXNoIiwKKyAgICAiSVNPODg1OS0xMCIsCisgICAgIklTTzg4NTktMTMiLAorICAgICJJ
U084ODU5LTE0IiwKKyAgICAiSVNPODg1OS0xNSAtLSBXZXN0ZXJuIiwKKyAgICAvLyAiODUwIiwK
KyAgICAvLyAiODY2IiwKKyAgICAiQ1A4NzQiLCAgICAKKyAgICAvLyAiQXBwbGUgUm9tYW4iLAor
ICAgICJUSVMtNjIwIC0tIFRoYWkiLAorICAgICJCaWc1IC0tIENoaW5lc2UiLAorICAgICJCaWc1
LUhLU0NTIC0tIENoaW5lc2UiLAorICAgICJldWNKUCAtLSBKYXBhbmVzZSIsCisgICAgImV1Y0tS
IC0tIEtvcmVhbiIsCisgICAgIkdCMjMxMiAtLSBDaGluZXNlIiwKKyAgICAiR0JLIC0tIENoaW5l
c2UiLAorICAgICJHQjE4MDMwIC0tIENoaW5lc2UiLAorICAgICJKSVM3IC0tIEphcGFuZXNlIiwK
KyAgICAiU2hpZnQtSklTIC0tIEphcGFuZXNlIiwKKyAgICAiVFNDSUkgLS0gVGFtaWwiLAorICAg
ICJVVEY4IC0tIFVuaWNvZGUsIDgtYml0IiwKKyAgICAgLy8gInV0ZjE2IC0tIFVuaWNvZGUiLAor
ICAgICJLT0k4LVIgLS0gUnVzc2lhbiIsCisgICAgIktPSTgtVSAtLSBVa3JhaW5pYW4iLAorICAg
ICAvLyAiTGF0aW4xIiAgICAKK307CisKK2NvbnN0IGludCBRVGV4dENvZGVjc0NvdW50PXNpemVv
ZihRVGV4dENvZGVjcykvc2l6ZW9mKGNoYXIqKTsKKworI2VuZGlmCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>