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

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>47885</bug_id>
          
          <creation_ts>2010-10-18 23:15:57 -0700</creation_ts>
          <short_desc>[Win][DRT] should have LayoutTestController.hasSpellingMarker()</short_desc>
          <delta_ts>2010-10-21 22:35:38 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Hajime Morrita">morrita</reporter>
          <assigned_to name="Hajime Morrita">morrita</assigned_to>
          <cc>rniwa</cc>
    
    <cc>tkent</cc>
    
    <cc>tony</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>296023</commentid>
    <comment_count>0</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-10-18 23:15:57 -0700</bug_when>
    <thetext>Implement LayoutTestController.hasSpellingMarker() on windows port.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>296157</commentid>
    <comment_count>1</comment_count>
      <attachid>71162</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-10-19 06:50:43 -0700</bug_when>
    <thetext>Created attachment 71162
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>296159</commentid>
    <comment_count>2</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-10-19 06:51:55 -0700</bug_when>
    <thetext>The word list is ported from Chromium&apos;s MockSpellChecker which is used to Chromium DRT 
and known to work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>296231</commentid>
    <comment_count>3</comment_count>
      <attachid>71162</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-10-19 09:33:11 -0700</bug_when>
    <thetext>Comment on attachment 71162
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=71162&amp;action=review

&gt; WebKitTools/DumpRenderTree/win/EditingDelegate.cpp:357
&gt; +static int findIndexOfAlpha(const TCHAR* str)

Please spell out alphabet.  indexOfFirstAlphabet sounds better.

&gt; WebKitTools/DumpRenderTree/win/EditingDelegate.cpp:365
&gt; +static int findIndexOfNonAlpha(const TCHAR* str)

Ditto.

&gt; WebKitTools/DumpRenderTree/win/EditingDelegate.cpp:410
&gt; +        // The following words are used by unit tests.
&gt; +        TEXT(&quot;ifmmp&quot;),
&gt; +        TEXT(&quot;qwertyuiopasd&quot;),
&gt; +        TEXT(&quot;qwertyuiopasdf&quot;),

Aren&apos;t these chromium specific misspelled words?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>296611</commentid>
    <comment_count>4</comment_count>
      <attachid>71242</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-10-19 20:24:29 -0700</bug_when>
    <thetext>Created attachment 71242
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>296612</commentid>
    <comment_count>5</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-10-19 20:25:45 -0700</bug_when>
    <thetext>Hi Ryosuke, thank you for taking a look!
I updated the patch.

&gt; &gt; WebKitTools/DumpRenderTree/win/EditingDelegate.cpp:357
&gt; &gt; +static int findIndexOfAlpha(const TCHAR* str)
&gt; 
&gt; Please spell out alphabet.  indexOfFirstAlphabet sounds better.
Done.

&gt; 
&gt; &gt; WebKitTools/DumpRenderTree/win/EditingDelegate.cpp:365
&gt; &gt; +static int findIndexOfNonAlpha(const TCHAR* str)
&gt; 
&gt; Ditto.
Done.

&gt; 
&gt; &gt; WebKitTools/DumpRenderTree/win/EditingDelegate.cpp:410
&gt; &gt; +        // The following words are used by unit tests.
&gt; &gt; +        TEXT(&quot;ifmmp&quot;),
&gt; &gt; +        TEXT(&quot;qwertyuiopasd&quot;),
&gt; &gt; +        TEXT(&quot;qwertyuiopasdf&quot;),
&gt; 
&gt; Aren&apos;t these chromium specific misspelled words?
Yes, I removed them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>296615</commentid>
    <comment_count>6</comment_count>
      <attachid>71242</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-10-19 20:32:16 -0700</bug_when>
    <thetext>Comment on attachment 71242
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=71242&amp;action=review

&gt; WebKitTools/DumpRenderTree/win/EditingDelegate.cpp:371
&gt; +static int indexOfFirstNonAlphabet(const TCHAR* text)
&gt; +{
&gt; +    const TCHAR* cursor = text;
&gt; +    while (*cursor &amp;&amp; isalpha(*cursor))
&gt; +        ++cursor;
&gt; +    return *cursor ? (cursor - text) : -1;
&gt; +};

Might be better to rename text to startOfWord and rename this function to lengthOfWord?  &quot;first non-alphabet&quot; sounds confusing.  If we do that, we can modify this function to always return cursor - text.

&gt; WebKitTools/DumpRenderTree/win/EditingDelegate.cpp:416
&gt; +    if (-1 == wordLength)
&gt; +        wordLength = textString.size() - wordStart;

so that we can get rid of these two statements.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297787</commentid>
    <comment_count>7</comment_count>
      <attachid>71242</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-10-21 19:10:16 -0700</bug_when>
    <thetext>Comment on attachment 71242
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=71242&amp;action=review

&gt; WebKitTools/DumpRenderTree/win/EditingDelegate.cpp:357
&gt; +static int indexOfFirstAlphabet(const TCHAR* text)

The function names should be indexOfFirstWordCharacter because misspelled words might contain digits in the future.
We don&apos;t need to change the implementation for now.

&gt; WebKitTools/DumpRenderTree/win/EditingDelegate.cpp:365
&gt; +static int indexOfFirstNonAlphabet(const TCHAR* text)

ditto. This should be indexOfFirstNonWordCharacter, or lengthOfWord as Niwa-san&apos;s suggestion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297809</commentid>
    <comment_count>8</comment_count>
      <attachid>71522</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-10-21 20:49:01 -0700</bug_when>
    <thetext>Created attachment 71522
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297810</commentid>
    <comment_count>9</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-10-21 20:50:00 -0700</bug_when>
    <thetext>Nisa-san, Kent-san, thank you for reviewing this!
I update the patch.

&gt; &gt; WebKitTools/DumpRenderTree/win/EditingDelegate.cpp:357
&gt; &gt; +static int indexOfFirstAlphabet(const TCHAR* text)
&gt; 
&gt; The function names should be indexOfFirstWordCharacter because misspelled words might contain digits in the future.
&gt; We don&apos;t need to change the implementation for now.
Agreed and renamed.

&gt; 
&gt; &gt; WebKitTools/DumpRenderTree/win/EditingDelegate.cpp:365
&gt; &gt; +static int indexOfFirstNonAlphabet(const TCHAR* text)
&gt; 
&gt; ditto. This should be indexOfFirstNonWordCharacter, or lengthOfWord as Niwa-san&apos;s suggestion.
Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297827</commentid>
    <comment_count>10</comment_count>
      <attachid>71522</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-10-21 22:28:43 -0700</bug_when>
    <thetext>Comment on attachment 71522
Patch

Looks good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297830</commentid>
    <comment_count>11</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-10-21 22:35:38 -0700</bug_when>
    <thetext>Committed r70291: &lt;http://trac.webkit.org/changeset/70291&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71162</attachid>
            <date>2010-10-19 06:50:43 -0700</date>
            <delta_ts>2010-10-19 20:24:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-47885-20101019225041.patch</filename>
            <type>text/plain</type>
            <size>8812</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vQ2hhbmdlTG9nIGIvV2ViS2l0L3dpbi9DaGFuZ2VMb2cK
aW5kZXggMmVhYmU4OTQ0Y2ZiNzE4MjQwNmQ3MTJlNzhlYWRkNjdjNTdlOGVmNC4uMmNmZTg2Mjgy
MmJjYzNmZTg3OWEwODI2ZTJhMTZmYTMwNjlhZTFkYiAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9D
aGFuZ2VMb2cKKysrIGIvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAx
MC0xMC0xOSAgTU9SSVRBIEhhamltZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbV2luXVtEUlRdIHNob3VsZCBo
YXZlIExheW91dFRlc3RDb250cm9sbGVyLmhhc1NwZWxsaW5nTWFya2VyKCkKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ3ODg1CisKKyAgICAgICAgQWRk
ZWQgSVdlYkZyYW1lUHJpdmF0ZTo6aGFzU3BlbGxpbmdNYXJrZXIoKSBhbmQgaW1wZWxtZW50ZWQg
aXQgZm9yCisgICAgICAgIExheW91dFRlc3RDb250cm9sbGVyLgorCisgICAgICAgICogSW50ZXJm
YWNlcy9JV2ViRnJhbWVQcml2YXRlLmlkbDoKKyAgICAgICAgKiBXZWJGcmFtZS5jcHA6CisgICAg
ICAgIChXZWJGcmFtZTo6aGFzU3BlbGxpbmdNYXJrZXIpOgorICAgICAgICAqIFdlYkZyYW1lLmg6
CisKIDIwMTAtMTAtMTggIFBhdmVsIFBvZGl2aWxvdiAgPHBvZGl2aWxvdkBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgVGltb3RoeSBIYXRjaGVyLgpkaWZmIC0tZ2l0IGEvV2Vi
S2l0L3dpbi9JbnRlcmZhY2VzL0lXZWJGcmFtZVByaXZhdGUuaWRsIGIvV2ViS2l0L3dpbi9JbnRl
cmZhY2VzL0lXZWJGcmFtZVByaXZhdGUuaWRsCmluZGV4IDE5MDY4MWMxNzRhYWRiYzBmOWRiMTZm
NjJlM2Y1NmM1Nzc1OWIwMGMuLjI3OWNiYmY3ZGY3YzhlZmIwY2I3YjZkM2YzZWE4MmMyNDk4MzJj
NGYgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vSW50ZXJmYWNlcy9JV2ViRnJhbWVQcml2YXRlLmlk
bAorKysgYi9XZWJLaXQvd2luL0ludGVyZmFjZXMvSVdlYkZyYW1lUHJpdmF0ZS5pZGwKQEAgLTEx
Nyw0ICsxMTcsNiBAQCBpbnRlcmZhY2UgSVdlYkZyYW1lUHJpdmF0ZSA6IElVbmtub3duCiAgICAg
SFJFU1VMVCByZXN1bWVBbmltYXRpb25zKCk7CiAKICAgICBIUkVTVUxUIGxvYWRQbGFpblRleHRT
dHJpbmcoW2luXSBCU1RSIHN0cmluZywgW2luXSBCU1RSIHVybCk7CisKKyAgICBIUkVTVUxUIGhh
c1NwZWxsaW5nTWFya2VyKFtpbl0gVUlOVCBmcm9tLCBbaW5dIFVJTlQgbGVuZ3RoLCBbb3V0LCBy
ZXR2YWxdIEJPT0wqIHJlc3VsdCk7CiB9CmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL1dlYkZyYW1l
LmNwcCBiL1dlYktpdC93aW4vV2ViRnJhbWUuY3BwCmluZGV4IDhkZmU4YmI4NDE2ZWM2OGUxYjdh
YjQxNDI5ZTM0MDNmYjgyZWNiZWYuLjE5MmI1Mjg3NTNmMDgzYjYwMTIwM2M1ZjZhZDVhNjQxYjk3
MDBiODYgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViRnJhbWUuY3BwCisrKyBiL1dlYktpdC93
aW4vV2ViRnJhbWUuY3BwCkBAIC0xMDE5LDYgKzEwMTksMTggQEAgSFJFU1VMVCBTVERNRVRIT0RD
QUxMVFlQRSBXZWJGcmFtZTo6dW51c2VkMigpCiAgICAgcmV0dXJuIEVfTk9USU1QTDsKIH0KIAor
SFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBXZWJGcmFtZTo6aGFzU3BlbGxpbmdNYXJrZXIoCisg
ICAgICAgIC8qIFtpbl0gKi8gVUlOVCBmcm9tLAorICAgICAgICAvKiBbaW5dICovIFVJTlQgbGVu
Z3RoLAorICAgICAgICAvKiBbcmV0dmFsXVtvdXRdICovIEJPT0wqIHJlc3VsdCkKK3sKKyAgICBG
cmFtZSogY29yZUZyYW1lID0gY29yZSh0aGlzKTsKKyAgICBpZiAoIWNvcmVGcmFtZSkKKyAgICAg
ICAgcmV0dXJuIEVfRkFJTDsKKyAgICAqcmVzdWx0ID0gY29yZUZyYW1lLT5lZGl0b3IoKS0+c2Vs
ZWN0aW9uU3RhcnRIYXNTcGVsbGluZ01hcmtlckZvcihmcm9tLCBsZW5ndGgpOworICAgIHJldHVy
biBTX09LOworfQorCiAvLyBJV2ViRG9jdW1lbnRUZXh0IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKIEhSRVNVTFQgU1RETUVUSE9E
Q0FMTFRZUEUgV2ViRnJhbWU6OnN1cHBvcnRzVGV4dEVuY29kaW5nKCAKZGlmZiAtLWdpdCBhL1dl
YktpdC93aW4vV2ViRnJhbWUuaCBiL1dlYktpdC93aW4vV2ViRnJhbWUuaAppbmRleCAxNDdkYWE4
M2UzN2Q1OWQ3M2JiNGM0YjE1M2RhYmU4ODAwMDFiMzM2Li4zN2NiMjA1YzhjOTQ2OGY1ZGZmMWY2
MGIwZmNiNjhhYzRjODUxZDc4IDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL1dlYkZyYW1lLmgKKysr
IGIvV2ViS2l0L3dpbi9XZWJGcmFtZS5oCkBAIC0yNzMsNiArMjczLDExIEBAIHB1YmxpYzoKIAog
ICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBsYXllclRyZWVBc1RleHQoQlNU
UiopOwogCisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGhhc1NwZWxsaW5n
TWFya2VyKAorICAgICAgICAvKiBbaW5dICovIFVJTlQgZnJvbSwKKyAgICAgICAgLyogW2luXSAq
LyBVSU5UIGxlbmd0aCwKKyAgICAgICAgLyogW3JldHZhbF1bb3V0XSAqLyBCT09MICpyZXN1bHQp
OworCiAgICAgLy8gSVdlYkRvY3VtZW50VGV4dAogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRI
T0RDQUxMVFlQRSBzdXBwb3J0c1RleHRFbmNvZGluZyggCiAgICAgICAgIC8qIFtyZXR2YWxdW291
dF0gKi8gQk9PTCogcmVzdWx0KTsKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBi
L1dlYktpdFRvb2xzL0NoYW5nZUxvZwppbmRleCA4OGY1YjBmMWU5NWQ2ZWI0OTM4MzgwYTM3Mjhm
YmRlZTUwYjVkNzBiLi5jYmZmNmEyNTgzMWIzODczYjgyMTkxZWUxYmIxZmQ1MTNiMmU1NzI5IDEw
MDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTAtMTAtMTkgIE1PUklUQSBIYWppbWUgIDxtb3JyaXRh
QGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgW1dpbl1bRFJUXSBzaG91bGQgaGF2ZSBMYXlvdXRUZXN0Q29udHJvbGxlci5oYXNTcGVs
bGluZ01hcmtlcigpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD00Nzg4NQorCisgICAgICAgIC0gSW1wbGVtZW50ZWQgTGF5b3V0VGVzdENvbnRyb2xsZXIu
aGFzU3BlbGxpbmdNYXJrZXIoKSwKKyAgICAgICAgLSBBZGRlZCBmYWtlIHNwZWxsY2hlY2sgaW1w
bGVtZW50YXRpb24uCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRy
ZWUuY3BwOgorICAgICAgICAobWFpbik6IEVuYWJsZWQgc3BlbGxjaGVja2luZy4KKyAgICAgICAg
KiBEdW1wUmVuZGVyVHJlZS93aW4vRWRpdGluZ0RlbGVnYXRlLmNwcDoKKyAgICAgICAgKGZpbmRJ
bmRleE9mQWxwaGEpOgorICAgICAgICAoZmluZEluZGV4T2ZOb25BbHBoYSk6CisgICAgICAgIChF
ZGl0aW5nRGVsZWdhdGU6OmNoZWNrU3BlbGxpbmdPZlN0cmluZyk6IEFkZGVkIGEgZmFrZSBpbXBs
ZW1lbnRhdGlvbi4KKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS93aW4vRWRpdGluZ0RlbGVnYXRl
Lmg6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvd2luL0xheW91dFRlc3RDb250cm9sbGVyV2lu
LmNwcDoKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpoYXNTcGVsbGluZ01hcmtlcik6
IEltcGxlbWVudGVkLgorCiAyMDEwLTEwLTE4ICBKb2NlbHluIFR1cmNvdHRlICA8am9jZWx5bi50
dXJjb3R0ZUBub2tpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW5kcmVhcyBLbGluZy4K
ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJl
ZS5jcHAgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3Bw
CmluZGV4IDY3ZTVkNGJiOGMwY2U2YWMzMWE4MGE0YWEwNTNhNDRhMTdmM2Q2ZmMuLjJiZmU2NjBm
MWZjMmFiZDEwNzhiYWU5ZmFmMzJhYzZjNjU2ZDIzMjkgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAKKysrIGIvV2ViS2l0VG9vbHMv
RHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcApAQCAtMTMwMiw2ICsxMzAyLDcg
QEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkKICAgICBzdGFuZGFyZFByZWZlcmVu
Y2VzLT5zZXRKYXZhU2NyaXB0RW5hYmxlZChUUlVFKTsKICAgICBzdGFuZGFyZFByZWZlcmVuY2Vz
LT5zZXREZWZhdWx0Rm9udFNpemUoMTYpOwogICAgIHN0YW5kYXJkUHJlZmVyZW5jZXMtPnNldEFj
Y2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKHRydWUpOworICAgIHN0YW5kYXJkUHJlZmVyZW5j
ZXMtPnNldENvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZChUUlVFKTsKIAogICAgIGlmIChw
cmludFN1cHBvcnRlZEZlYXR1cmVzKSB7CiAgICAgICAgIEJPT0wgYWNjZWxlcmF0ZWRDb21wb3Np
dGluZ0F2YWlsYWJsZTsKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dp
bi9FZGl0aW5nRGVsZWdhdGUuY3BwIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0Vk
aXRpbmdEZWxlZ2F0ZS5jcHAKaW5kZXggMzJjMDJiZDAxOGVlMmY3ZjkwNzg1YmNiNTdiZTYwMzhj
YTE5YTM4Mi4uZjAyMGEzODEyN2JkNmNlMTE0ZmJiMTk2YmI1Yjg4MTc3NjVkM2FkYyAxMDA2NDQK
LS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0VkaXRpbmdEZWxlZ2F0ZS5jcHAK
KysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0VkaXRpbmdEZWxlZ2F0ZS5jcHAK
QEAgLTM1MywzICszNTMsNzkgQEAgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBFZGl0aW5nRGVs
ZWdhdGU6OndlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb24oCiAgICAgfQogICAgIHJldHVybiBTX09L
OwogfQorCitzdGF0aWMgaW50IGZpbmRJbmRleE9mQWxwaGEoY29uc3QgVENIQVIqIHN0cikKK3sK
KyAgICBjb25zdCBUQ0hBUiogY3Vyc29yID0gc3RyOworICAgIHdoaWxlICgqY3Vyc29yICYmICFp
c2FscGhhKCpjdXJzb3IpKQorICAgICAgICArK2N1cnNvcjsKKyAgICByZXR1cm4gKmN1cnNvciA/
IChjdXJzb3IgLSBzdHIpIDogLTE7Cit9CisKK3N0YXRpYyBpbnQgZmluZEluZGV4T2ZOb25BbHBo
YShjb25zdCBUQ0hBUiogc3RyKQoreworICAgIGNvbnN0IFRDSEFSKiBjdXJzb3IgPSBzdHI7Cisg
ICAgd2hpbGUgKCpjdXJzb3IgJiYgaXNhbHBoYSgqY3Vyc29yKSkKKyAgICAgICAgKytjdXJzb3I7
CisgICAgcmV0dXJuICpjdXJzb3IgPyAoY3Vyc29yIC0gc3RyKSA6IC0xOworfQorCitIUkVTVUxU
IFNURE1FVEhPRENBTExUWVBFIEVkaXRpbmdEZWxlZ2F0ZTo6Y2hlY2tTcGVsbGluZ09mU3RyaW5n
KAorICAgICAgICAgICAgLyogW2luXSAqLyBJV2ViVmlldyogdmlldywKKyAgICAgICAgICAgIC8q
IFtpbl0gKi8gTFBDVFNUUiB0ZXh0LAorICAgICAgICAgICAgLyogW2luXSAqLyBpbnQgbGVuZ3Ro
LAorICAgICAgICAgICAgLyogW291dF0gKi8gaW50KiBtaXNzcGVsbGluZ0xvY2F0aW9uLAorICAg
ICAgICAgICAgLyogW291dF0gKi8gaW50KiBtaXNzcGVsbGluZ0xlbmd0aCkKK3sKKyAgICBzdGF0
aWMgY29uc3QgVENIQVIqIG1pc3NwZWxsZWRXb3Jkc1tdID0geworICAgICAgICAvLyBUaGVzZSB3
b3JkcyBhcmUga25vd24gbWlzc3BlbGxlZCB3b3JkcyBpbiB3ZWJraXQgdGVzdHMuCisgICAgICAg
IC8vIElmIHRoZXJlIGFyZSBvdGhlciBtaXNzcGVsbGVkIHdvcmRzIGluIHdlYmtpdCB0ZXN0cywg
cGxlYXNlIGFkZCB0aGVtIGluCisgICAgICAgIC8vIHRoaXMgYXJyYXkuCisgICAgICAgIFRFWFQo
ImZvbyIpLAorICAgICAgICBURVhUKCJGb28iKSwKKyAgICAgICAgVEVYVCgiYmF6IiksCisgICAg
ICAgIFRFWFQoImZvIiksCisgICAgICAgIFRFWFQoIkxpYmVydHlGIiksCisgICAgICAgIFRFWFQo
ImNoZWxsbyIpLAorICAgICAgICBURVhUKCJ4eHh0ZXN0eHh4IiksCisgICAgICAgIFRFWFQoIlhY
eHh4IiksCisgICAgICAgIFRFWFQoIlRleHR4IiksCisgICAgICAgIFRFWFQoImJsb2NrcXVvdGVk
IiksCisgICAgICAgIFRFWFQoImFzZCIpLAorICAgICAgICBURVhUKCJMb3JlbSIpLAorICAgICAg
ICBURVhUKCJOdW5jIiksCisgICAgICAgIFRFWFQoIkN1cmFiaXR1ciIpLAorICAgICAgICBURVhU
KCJldSIpLAorICAgICAgICBURVhUKCJhZGxqIiksCisgICAgICAgIFRFWFQoImFkYWFzaiIpLAor
ICAgICAgICBURVhUKCJzZGtsaiIpLAorICAgICAgICBURVhUKCJqbGtkcyIpLAorICAgICAgICBU
RVhUKCJqc2FhZGEiKSwKKyAgICAgICAgVEVYVCgiamxkYSIpLAorICAgICAgICBURVhUKCJ6eiIp
LAorICAgICAgICBURVhUKCJjb250ZW50RWRpdGFibGUiKSwKKyAgICAgICAgLy8gVGhlIGZvbGxv
d2luZyB3b3JkcyBhcmUgdXNlZCBieSB1bml0IHRlc3RzLgorICAgICAgICBURVhUKCJpZm1tcCIp
LAorICAgICAgICBURVhUKCJxd2VydHl1aW9wYXNkIiksCisgICAgICAgIFRFWFQoInF3ZXJ0eXVp
b3Bhc2RmIiksCisgICAgICAgIDAsCisgICAgfTsKKworICAgIHdzdHJpbmcgdGV4dFN0cmluZyh0
ZXh0LCBsZW5ndGgpOworICAgIGludCB3b3JkU3RhcnQgPSBmaW5kSW5kZXhPZkFscGhhKHRleHRT
dHJpbmcuY19zdHIoKSk7CisgICAgaWYgKC0xID09IHdvcmRTdGFydCkKKyAgICAgICAgcmV0dXJu
IFNfT0s7CisgICAgaW50IHdvcmRMZW5ndGggPSBmaW5kSW5kZXhPZk5vbkFscGhhKHRleHRTdHJp
bmcuY19zdHIoKSArIHdvcmRTdGFydCk7CisgICAgaWYgKC0xID09IHdvcmRMZW5ndGgpCisgICAg
ICAgIHdvcmRMZW5ndGggPSB0ZXh0U3RyaW5nLnNpemUoKSAtIHdvcmRTdGFydDsKKyAgICB3c3Ry
aW5nIHdvcmQgPSB0ZXh0U3RyaW5nLnN1YnN0cih3b3JkU3RhcnQsIHdvcmRMZW5ndGgpOworICAg
IGZvciAoc2l6ZV90IGkgPSAwOyBtaXNzcGVsbGVkV29yZHNbaV07ICsraSkgeworICAgICAgICBp
ZiAod29yZCA9PSBtaXNzcGVsbGVkV29yZHNbaV0pIHsKKyAgICAgICAgICAgICptaXNzcGVsbGlu
Z0xvY2F0aW9uID0gd29yZFN0YXJ0OworICAgICAgICAgICAgKm1pc3NwZWxsaW5nTGVuZ3RoID0g
d29yZExlbmd0aDsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorCisgICAg
cmV0dXJuIFNfT0s7Cit9CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93
aW4vRWRpdGluZ0RlbGVnYXRlLmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRWRp
dGluZ0RlbGVnYXRlLmgKaW5kZXggNmRiYTY3NWVmYTUyOWM1ZTE3YTJiNWVjYjdkMjVlYzliZmY1
YzU3ZS4uN2I3ZjQxOGFhYzVhNGIyNGE3MDRhYWZhZTg3MDYyZWU2MzE1MWUyNiAxMDA2NDQKLS0t
IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0VkaXRpbmdEZWxlZ2F0ZS5oCisrKyBi
L1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9FZGl0aW5nRGVsZWdhdGUuaApAQCAtMTI3
LDcgKzEyNyw3IEBAIHB1YmxpYzoKICAgICAgICAgICAgIC8qIFtpbl0gKi8gTFBDVFNUUiB0ZXh0
LAogICAgICAgICAgICAgLyogW2luXSAqLyBpbnQgbGVuZ3RoLAogICAgICAgICAgICAgLyogW291
dF0gKi8gaW50ICptaXNzcGVsbGluZ0xvY2F0aW9uLAotICAgICAgICAgICAgLyogW291dF0gKi8g
aW50ICptaXNzcGVsbGluZ0xlbmd0aCkgeyByZXR1cm4gRV9OT1RJTVBMOyB9CisgICAgICAgICAg
ICAvKiBbb3V0XSAqLyBpbnQgKm1pc3NwZWxsaW5nTGVuZ3RoKTsKICAgICAgICAgCiAgICAgICAg
IHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBjaGVja0dyYW1tYXJPZlN0cmluZygg
CiAgICAgICAgICAgICAvKiBbaW5dICovIElXZWJWaWV3ICp2aWV3LApkaWZmIC0tZ2l0IGEvV2Vi
S2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0xheW91dFRlc3RDb250cm9sbGVyV2luLmNwcCBi
L1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9MYXlvdXRUZXN0Q29udHJvbGxlcldpbi5j
cHAKaW5kZXggZDIxNDBkMTA1MzJmMjhkNzNmY2JlMTM5MWMyMTM1Mzk0ZWQxODI4ZC4uOWU4ZWQx
ZTY5NTdkN2Y3Y2E0ZmVhZDkxZDg3YjliNTZmYjQyMTQ1OSAxMDA2NDQKLS0tIGEvV2ViS2l0VG9v
bHMvRHVtcFJlbmRlclRyZWUvd2luL0xheW91dFRlc3RDb250cm9sbGVyV2luLmNwcAorKysgYi9X
ZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vTGF5b3V0VGVzdENvbnRyb2xsZXJXaW4uY3Bw
CkBAIC0xMzkxLDggKzEzOTEsMTMgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6YWJvcnRN
b2RhbCgpCiB7CiB9CiAKLWJvb2wgTGF5b3V0VGVzdENvbnRyb2xsZXI6Omhhc1NwZWxsaW5nTWFy
a2VyKGludCwgaW50KQorYm9vbCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6aGFzU3BlbGxpbmdNYXJr
ZXIoaW50IGZyb20sIGludCBsZW5ndGgpCiB7Ci0gICAgLy8gRklYTUU6IEltcGxlbWVudCB0aGlz
LgotICAgIHJldHVybiBmYWxzZTsKKyAgICBDT01QdHI8SVdlYkZyYW1lUHJpdmF0ZT4gZnJhbWVQ
cml2YXRlKFF1ZXJ5LCBmcmFtZSk7CisgICAgaWYgKCFmcmFtZVByaXZhdGUpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICBCT09MIHJldCA9IEZBTFNFOworICAgIGlmIChGQUlMRUQoZnJhbWVQ
cml2YXRlLT5oYXNTcGVsbGluZ01hcmtlcihmcm9tLCBsZW5ndGgsICZyZXQpKSkKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgIHJldHVybiByZXQ7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71242</attachid>
            <date>2010-10-19 20:24:29 -0700</date>
            <delta_ts>2010-10-21 20:48:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-47885-20101020122427.patch</filename>
            <type>text/plain</type>
            <size>7572</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vQ2hhbmdlTG9nIGIvV2ViS2l0L3dpbi9DaGFuZ2VMb2cK
aW5kZXggMmVhYmU4OTQ0Y2ZiNzE4MjQwNmQ3MTJlNzhlYWRkNjdjNTdlOGVmNC4uMmNmZTg2Mjgy
MmJjYzNmZTg3OWEwODI2ZTJhMTZmYTMwNjlhZTFkYiAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9D
aGFuZ2VMb2cKKysrIGIvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAx
MC0xMC0xOSAgTU9SSVRBIEhhamltZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbV2luXVtEUlRdIHNob3VsZCBo
YXZlIExheW91dFRlc3RDb250cm9sbGVyLmhhc1NwZWxsaW5nTWFya2VyKCkKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ3ODg1CisKKyAgICAgICAgQWRk
ZWQgSVdlYkZyYW1lUHJpdmF0ZTo6aGFzU3BlbGxpbmdNYXJrZXIoKSBhbmQgaW1wZWxtZW50ZWQg
aXQgZm9yCisgICAgICAgIExheW91dFRlc3RDb250cm9sbGVyLgorCisgICAgICAgICogSW50ZXJm
YWNlcy9JV2ViRnJhbWVQcml2YXRlLmlkbDoKKyAgICAgICAgKiBXZWJGcmFtZS5jcHA6CisgICAg
ICAgIChXZWJGcmFtZTo6aGFzU3BlbGxpbmdNYXJrZXIpOgorICAgICAgICAqIFdlYkZyYW1lLmg6
CisKIDIwMTAtMTAtMTggIFBhdmVsIFBvZGl2aWxvdiAgPHBvZGl2aWxvdkBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgVGltb3RoeSBIYXRjaGVyLgpkaWZmIC0tZ2l0IGEvV2Vi
S2l0L3dpbi9JbnRlcmZhY2VzL0lXZWJGcmFtZVByaXZhdGUuaWRsIGIvV2ViS2l0L3dpbi9JbnRl
cmZhY2VzL0lXZWJGcmFtZVByaXZhdGUuaWRsCmluZGV4IDE5MDY4MWMxNzRhYWRiYzBmOWRiMTZm
NjJlM2Y1NmM1Nzc1OWIwMGMuLjI3OWNiYmY3ZGY3YzhlZmIwY2I3YjZkM2YzZWE4MmMyNDk4MzJj
NGYgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vSW50ZXJmYWNlcy9JV2ViRnJhbWVQcml2YXRlLmlk
bAorKysgYi9XZWJLaXQvd2luL0ludGVyZmFjZXMvSVdlYkZyYW1lUHJpdmF0ZS5pZGwKQEAgLTEx
Nyw0ICsxMTcsNiBAQCBpbnRlcmZhY2UgSVdlYkZyYW1lUHJpdmF0ZSA6IElVbmtub3duCiAgICAg
SFJFU1VMVCByZXN1bWVBbmltYXRpb25zKCk7CiAKICAgICBIUkVTVUxUIGxvYWRQbGFpblRleHRT
dHJpbmcoW2luXSBCU1RSIHN0cmluZywgW2luXSBCU1RSIHVybCk7CisKKyAgICBIUkVTVUxUIGhh
c1NwZWxsaW5nTWFya2VyKFtpbl0gVUlOVCBmcm9tLCBbaW5dIFVJTlQgbGVuZ3RoLCBbb3V0LCBy
ZXR2YWxdIEJPT0wqIHJlc3VsdCk7CiB9CmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL1dlYkZyYW1l
LmNwcCBiL1dlYktpdC93aW4vV2ViRnJhbWUuY3BwCmluZGV4IDhkZmU4YmI4NDE2ZWM2OGUxYjdh
YjQxNDI5ZTM0MDNmYjgyZWNiZWYuLjE5MmI1Mjg3NTNmMDgzYjYwMTIwM2M1ZjZhZDVhNjQxYjk3
MDBiODYgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViRnJhbWUuY3BwCisrKyBiL1dlYktpdC93
aW4vV2ViRnJhbWUuY3BwCkBAIC0xMDE5LDYgKzEwMTksMTggQEAgSFJFU1VMVCBTVERNRVRIT0RD
QUxMVFlQRSBXZWJGcmFtZTo6dW51c2VkMigpCiAgICAgcmV0dXJuIEVfTk9USU1QTDsKIH0KIAor
SFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBXZWJGcmFtZTo6aGFzU3BlbGxpbmdNYXJrZXIoCisg
ICAgICAgIC8qIFtpbl0gKi8gVUlOVCBmcm9tLAorICAgICAgICAvKiBbaW5dICovIFVJTlQgbGVu
Z3RoLAorICAgICAgICAvKiBbcmV0dmFsXVtvdXRdICovIEJPT0wqIHJlc3VsdCkKK3sKKyAgICBG
cmFtZSogY29yZUZyYW1lID0gY29yZSh0aGlzKTsKKyAgICBpZiAoIWNvcmVGcmFtZSkKKyAgICAg
ICAgcmV0dXJuIEVfRkFJTDsKKyAgICAqcmVzdWx0ID0gY29yZUZyYW1lLT5lZGl0b3IoKS0+c2Vs
ZWN0aW9uU3RhcnRIYXNTcGVsbGluZ01hcmtlckZvcihmcm9tLCBsZW5ndGgpOworICAgIHJldHVy
biBTX09LOworfQorCiAvLyBJV2ViRG9jdW1lbnRUZXh0IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKIEhSRVNVTFQgU1RETUVUSE9E
Q0FMTFRZUEUgV2ViRnJhbWU6OnN1cHBvcnRzVGV4dEVuY29kaW5nKCAKZGlmZiAtLWdpdCBhL1dl
YktpdC93aW4vV2ViRnJhbWUuaCBiL1dlYktpdC93aW4vV2ViRnJhbWUuaAppbmRleCAxNDdkYWE4
M2UzN2Q1OWQ3M2JiNGM0YjE1M2RhYmU4ODAwMDFiMzM2Li4zN2NiMjA1YzhjOTQ2OGY1ZGZmMWY2
MGIwZmNiNjhhYzRjODUxZDc4IDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL1dlYkZyYW1lLmgKKysr
IGIvV2ViS2l0L3dpbi9XZWJGcmFtZS5oCkBAIC0yNzMsNiArMjczLDExIEBAIHB1YmxpYzoKIAog
ICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBsYXllclRyZWVBc1RleHQoQlNU
UiopOwogCisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGhhc1NwZWxsaW5n
TWFya2VyKAorICAgICAgICAvKiBbaW5dICovIFVJTlQgZnJvbSwKKyAgICAgICAgLyogW2luXSAq
LyBVSU5UIGxlbmd0aCwKKyAgICAgICAgLyogW3JldHZhbF1bb3V0XSAqLyBCT09MICpyZXN1bHQp
OworCiAgICAgLy8gSVdlYkRvY3VtZW50VGV4dAogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRI
T0RDQUxMVFlQRSBzdXBwb3J0c1RleHRFbmNvZGluZyggCiAgICAgICAgIC8qIFtyZXR2YWxdW291
dF0gKi8gQk9PTCogcmVzdWx0KTsKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJU
cmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93
aW4vRHVtcFJlbmRlclRyZWUuY3BwCmluZGV4IDY3ZTVkNGJiOGMwY2U2YWMzMWE4MGE0YWEwNTNh
NDRhMTdmM2Q2ZmMuLjJiZmU2NjBmMWZjMmFiZDEwNzhiYWU5ZmFmMzJhYzZjNjU2ZDIzMjkgMTAw
NjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5j
cHAKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNw
cApAQCAtMTMwMiw2ICsxMzAyLDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkK
ICAgICBzdGFuZGFyZFByZWZlcmVuY2VzLT5zZXRKYXZhU2NyaXB0RW5hYmxlZChUUlVFKTsKICAg
ICBzdGFuZGFyZFByZWZlcmVuY2VzLT5zZXREZWZhdWx0Rm9udFNpemUoMTYpOwogICAgIHN0YW5k
YXJkUHJlZmVyZW5jZXMtPnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKHRydWUpOwor
ICAgIHN0YW5kYXJkUHJlZmVyZW5jZXMtPnNldENvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxl
ZChUUlVFKTsKIAogICAgIGlmIChwcmludFN1cHBvcnRlZEZlYXR1cmVzKSB7CiAgICAgICAgIEJP
T0wgYWNjZWxlcmF0ZWRDb21wb3NpdGluZ0F2YWlsYWJsZTsKZGlmZiAtLWdpdCBhL1dlYktpdFRv
b2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9FZGl0aW5nRGVsZWdhdGUuY3BwIGIvV2ViS2l0VG9vbHMv
RHVtcFJlbmRlclRyZWUvd2luL0VkaXRpbmdEZWxlZ2F0ZS5jcHAKaW5kZXggMzJjMDJiZDAxOGVl
MmY3ZjkwNzg1YmNiNTdiZTYwMzhjYTE5YTM4Mi4uNzhlNTc5MmVkNDg3M2EzZjc5MWM1ZTQ1Mjkx
YjNiMWE2NTA5OWQ0NiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2lu
L0VkaXRpbmdEZWxlZ2F0ZS5jcHAKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2lu
L0VkaXRpbmdEZWxlZ2F0ZS5jcHAKQEAgLTM1MywzICszNTMsNzUgQEAgSFJFU1VMVCBTVERNRVRI
T0RDQUxMVFlQRSBFZGl0aW5nRGVsZWdhdGU6OndlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb24oCiAg
ICAgfQogICAgIHJldHVybiBTX09LOwogfQorCitzdGF0aWMgaW50IGluZGV4T2ZGaXJzdEFscGhh
YmV0KGNvbnN0IFRDSEFSKiB0ZXh0KQoreworICAgIGNvbnN0IFRDSEFSKiBjdXJzb3IgPSB0ZXh0
OworICAgIHdoaWxlICgqY3Vyc29yICYmICFpc2FscGhhKCpjdXJzb3IpKQorICAgICAgICArK2N1
cnNvcjsKKyAgICByZXR1cm4gKmN1cnNvciA/IChjdXJzb3IgLSB0ZXh0KSA6IC0xOworfTsKKwor
c3RhdGljIGludCBpbmRleE9mRmlyc3ROb25BbHBoYWJldChjb25zdCBUQ0hBUiogdGV4dCkKK3sK
KyAgICBjb25zdCBUQ0hBUiogY3Vyc29yID0gdGV4dDsKKyAgICB3aGlsZSAoKmN1cnNvciAmJiBp
c2FscGhhKCpjdXJzb3IpKQorICAgICAgICArK2N1cnNvcjsKKyAgICByZXR1cm4gKmN1cnNvciA/
IChjdXJzb3IgLSB0ZXh0KSA6IC0xOworfTsKKworSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBF
ZGl0aW5nRGVsZWdhdGU6OmNoZWNrU3BlbGxpbmdPZlN0cmluZygKKyAgICAgICAgICAgIC8qIFtp
bl0gKi8gSVdlYlZpZXcqIHZpZXcsCisgICAgICAgICAgICAvKiBbaW5dICovIExQQ1RTVFIgdGV4
dCwKKyAgICAgICAgICAgIC8qIFtpbl0gKi8gaW50IGxlbmd0aCwKKyAgICAgICAgICAgIC8qIFtv
dXRdICovIGludCogbWlzc3BlbGxpbmdMb2NhdGlvbiwKKyAgICAgICAgICAgIC8qIFtvdXRdICov
IGludCogbWlzc3BlbGxpbmdMZW5ndGgpCit7CisgICAgc3RhdGljIGNvbnN0IFRDSEFSKiBtaXNz
cGVsbGVkV29yZHNbXSA9IHsKKyAgICAgICAgLy8gVGhlc2Ugd29yZHMgYXJlIGtub3duIG1pc3Nw
ZWxsZWQgd29yZHMgaW4gd2Via2l0IHRlc3RzLgorICAgICAgICAvLyBJZiB0aGVyZSBhcmUgb3Ro
ZXIgbWlzc3BlbGxlZCB3b3JkcyBpbiB3ZWJraXQgdGVzdHMsIHBsZWFzZSBhZGQgdGhlbSBpbgor
ICAgICAgICAvLyB0aGlzIGFycmF5LgorICAgICAgICBURVhUKCJmb28iKSwKKyAgICAgICAgVEVY
VCgiRm9vIiksCisgICAgICAgIFRFWFQoImJheiIpLAorICAgICAgICBURVhUKCJmbyIpLAorICAg
ICAgICBURVhUKCJMaWJlcnR5RiIpLAorICAgICAgICBURVhUKCJjaGVsbG8iKSwKKyAgICAgICAg
VEVYVCgieHh4dGVzdHh4eCIpLAorICAgICAgICBURVhUKCJYWHh4eCIpLAorICAgICAgICBURVhU
KCJUZXh0eCIpLAorICAgICAgICBURVhUKCJibG9ja3F1b3RlZCIpLAorICAgICAgICBURVhUKCJh
c2QiKSwKKyAgICAgICAgVEVYVCgiTG9yZW0iKSwKKyAgICAgICAgVEVYVCgiTnVuYyIpLAorICAg
ICAgICBURVhUKCJDdXJhYml0dXIiKSwKKyAgICAgICAgVEVYVCgiZXUiKSwKKyAgICAgICAgVEVY
VCgiYWRsaiIpLAorICAgICAgICBURVhUKCJhZGFhc2oiKSwKKyAgICAgICAgVEVYVCgic2RrbGoi
KSwKKyAgICAgICAgVEVYVCgiamxrZHMiKSwKKyAgICAgICAgVEVYVCgianNhYWRhIiksCisgICAg
ICAgIFRFWFQoImpsZGEiKSwKKyAgICAgICAgVEVYVCgienoiKSwKKyAgICAgICAgVEVYVCgiY29u
dGVudEVkaXRhYmxlIiksCisgICAgICAgIDAsCisgICAgfTsKKworICAgIHdzdHJpbmcgdGV4dFN0
cmluZyh0ZXh0LCBsZW5ndGgpOworICAgIGludCB3b3JkU3RhcnQgPSBpbmRleE9mRmlyc3RBbHBo
YWJldCh0ZXh0U3RyaW5nLmNfc3RyKCkpOworICAgIGlmICgtMSA9PSB3b3JkU3RhcnQpCisgICAg
ICAgIHJldHVybiBTX09LOworICAgIGludCB3b3JkTGVuZ3RoID0gaW5kZXhPZkZpcnN0Tm9uQWxw
aGFiZXQodGV4dFN0cmluZy5jX3N0cigpICsgd29yZFN0YXJ0KTsKKyAgICBpZiAoLTEgPT0gd29y
ZExlbmd0aCkKKyAgICAgICAgd29yZExlbmd0aCA9IHRleHRTdHJpbmcuc2l6ZSgpIC0gd29yZFN0
YXJ0OworICAgIHdzdHJpbmcgd29yZCA9IHRleHRTdHJpbmcuc3Vic3RyKHdvcmRTdGFydCwgd29y
ZExlbmd0aCk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IG1pc3NwZWxsZWRXb3Jkc1tpXTsgKytp
KSB7CisgICAgICAgIGlmICh3b3JkID09IG1pc3NwZWxsZWRXb3Jkc1tpXSkgeworICAgICAgICAg
ICAgKm1pc3NwZWxsaW5nTG9jYXRpb24gPSB3b3JkU3RhcnQ7CisgICAgICAgICAgICAqbWlzc3Bl
bGxpbmdMZW5ndGggPSB3b3JkTGVuZ3RoOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0K
KyAgICB9CisKKyAgICByZXR1cm4gU19PSzsKK30KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1
bXBSZW5kZXJUcmVlL3dpbi9FZGl0aW5nRGVsZWdhdGUuaCBiL1dlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL3dpbi9FZGl0aW5nRGVsZWdhdGUuaAppbmRleCA2ZGJhNjc1ZWZhNTI5YzVlMTdhMmI1
ZWNiN2QyNWVjOWJmZjVjNTdlLi43YjdmNDE4YWFjNWE0YjI0YTcwNGFhZmFlODcwNjJlZTYzMTUx
ZTI2IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRWRpdGluZ0Rl
bGVnYXRlLmgKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0VkaXRpbmdEZWxl
Z2F0ZS5oCkBAIC0xMjcsNyArMTI3LDcgQEAgcHVibGljOgogICAgICAgICAgICAgLyogW2luXSAq
LyBMUENUU1RSIHRleHQsCiAgICAgICAgICAgICAvKiBbaW5dICovIGludCBsZW5ndGgsCiAgICAg
ICAgICAgICAvKiBbb3V0XSAqLyBpbnQgKm1pc3NwZWxsaW5nTG9jYXRpb24sCi0gICAgICAgICAg
ICAvKiBbb3V0XSAqLyBpbnQgKm1pc3NwZWxsaW5nTGVuZ3RoKSB7IHJldHVybiBFX05PVElNUEw7
IH0KKyAgICAgICAgICAgIC8qIFtvdXRdICovIGludCAqbWlzc3BlbGxpbmdMZW5ndGgpOwogICAg
ICAgICAKICAgICAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGNoZWNrR3Jh
bW1hck9mU3RyaW5nKCAKICAgICAgICAgICAgIC8qIFtpbl0gKi8gSVdlYlZpZXcgKnZpZXcsCmRp
ZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vTGF5b3V0VGVzdENvbnRy
b2xsZXJXaW4uY3BwIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0xheW91dFRlc3RD
b250cm9sbGVyV2luLmNwcAppbmRleCBkMjE0MGQxMDUzMmYyOGQ3M2ZjYmUxMzkxYzIxMzUzOTRl
ZDE4MjhkLi45ZThlZDFlNjk1N2Q3ZjdjYTRmZWFkOTFkODdiOWI1NmZiNDIxNDU5IDEwMDY0NAot
LS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vTGF5b3V0VGVzdENvbnRyb2xsZXJX
aW4uY3BwCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9MYXlvdXRUZXN0Q29u
dHJvbGxlcldpbi5jcHAKQEAgLTEzOTEsOCArMTM5MSwxMyBAQCB2b2lkIExheW91dFRlc3RDb250
cm9sbGVyOjphYm9ydE1vZGFsKCkKIHsKIH0KIAotYm9vbCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6
aGFzU3BlbGxpbmdNYXJrZXIoaW50LCBpbnQpCitib29sIExheW91dFRlc3RDb250cm9sbGVyOjpo
YXNTcGVsbGluZ01hcmtlcihpbnQgZnJvbSwgaW50IGxlbmd0aCkKIHsKLSAgICAvLyBGSVhNRTog
SW1wbGVtZW50IHRoaXMuCi0gICAgcmV0dXJuIGZhbHNlOworICAgIENPTVB0cjxJV2ViRnJhbWVQ
cml2YXRlPiBmcmFtZVByaXZhdGUoUXVlcnksIGZyYW1lKTsKKyAgICBpZiAoIWZyYW1lUHJpdmF0
ZSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIEJPT0wgcmV0ID0gRkFMU0U7CisgICAgaWYg
KEZBSUxFRChmcmFtZVByaXZhdGUtPmhhc1NwZWxsaW5nTWFya2VyKGZyb20sIGxlbmd0aCwgJnJl
dCkpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIHJldDsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71522</attachid>
            <date>2010-10-21 20:49:01 -0700</date>
            <delta_ts>2010-10-21 22:28:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-47885-20101022124859.patch</filename>
            <type>text/plain</type>
            <size>8504</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vQ2hhbmdlTG9nIGIvV2ViS2l0L3dpbi9DaGFuZ2VMb2cK
aW5kZXggMGY0YzMyY2Q5ZmQ3ZGY2NjQzYTAxNjc5NjVjMmE1NDM2NWY5YzVjNy4uMjk0MmQ4NTYw
YTZmZGM1ZjFlNTRkNWJjY2Y3M2JmYmRiNjg4ZTIyZCAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9D
aGFuZ2VMb2cKKysrIGIvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAx
MC0xMC0yMSAgTU9SSVRBIEhhamltZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbV2luXVtEUlRdIHNob3VsZCBo
YXZlIExheW91dFRlc3RDb250cm9sbGVyLmhhc1NwZWxsaW5nTWFya2VyKCkKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ3ODg1CisKKyAgICAgICAgQWRk
ZWQgSVdlYkZyYW1lUHJpdmF0ZTo6aGFzU3BlbGxpbmdNYXJrZXIoKSBhbmQgaW1wZWxtZW50ZWQg
aXQgZm9yCisgICAgICAgIExheW91dFRlc3RDb250cm9sbGVyLgorCisgICAgICAgICogSW50ZXJm
YWNlcy9JV2ViRnJhbWVQcml2YXRlLmlkbDoKKyAgICAgICAgKiBXZWJGcmFtZS5jcHA6CisgICAg
ICAgIChXZWJGcmFtZTo6aGFzU3BlbGxpbmdNYXJrZXIpOgorICAgICAgICAqIFdlYkZyYW1lLmg6
CisKIDIwMTAtMTAtMjAgIER1bWl0cnUgRGFuaWxpdWMgIDxkdW1pQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBEYXZpZCBMZXZpbi4KZGlmZiAtLWdpdCBhL1dlYktpdC93aW4v
SW50ZXJmYWNlcy9JV2ViRnJhbWVQcml2YXRlLmlkbCBiL1dlYktpdC93aW4vSW50ZXJmYWNlcy9J
V2ViRnJhbWVQcml2YXRlLmlkbAppbmRleCAxOTA2ODFjMTc0YWFkYmMwZjlkYjE2ZjYyZTNmNTZj
NTc3NTliMDBjLi4yNzljYmJmN2RmN2M4ZWZiMGNiN2I2ZDNmM2VhODJjMjQ5ODMyYzRmIDEwMDY0
NAotLS0gYS9XZWJLaXQvd2luL0ludGVyZmFjZXMvSVdlYkZyYW1lUHJpdmF0ZS5pZGwKKysrIGIv
V2ViS2l0L3dpbi9JbnRlcmZhY2VzL0lXZWJGcmFtZVByaXZhdGUuaWRsCkBAIC0xMTcsNCArMTE3
LDYgQEAgaW50ZXJmYWNlIElXZWJGcmFtZVByaXZhdGUgOiBJVW5rbm93bgogICAgIEhSRVNVTFQg
cmVzdW1lQW5pbWF0aW9ucygpOwogCiAgICAgSFJFU1VMVCBsb2FkUGxhaW5UZXh0U3RyaW5nKFtp
bl0gQlNUUiBzdHJpbmcsIFtpbl0gQlNUUiB1cmwpOworCisgICAgSFJFU1VMVCBoYXNTcGVsbGlu
Z01hcmtlcihbaW5dIFVJTlQgZnJvbSwgW2luXSBVSU5UIGxlbmd0aCwgW291dCwgcmV0dmFsXSBC
T09MKiByZXN1bHQpOwogfQpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9XZWJGcmFtZS5jcHAgYi9X
ZWJLaXQvd2luL1dlYkZyYW1lLmNwcAppbmRleCA4ZGZlOGJiODQxNmVjNjhlMWI3YWI0MTQyOWUz
NDAzZmI4MmVjYmVmLi4xOTJiNTI4NzUzZjA4M2I2MDEyMDNjNWY2YWQ1YTY0MWI5NzAwYjg2IDEw
MDY0NAotLS0gYS9XZWJLaXQvd2luL1dlYkZyYW1lLmNwcAorKysgYi9XZWJLaXQvd2luL1dlYkZy
YW1lLmNwcApAQCAtMTAxOSw2ICsxMDE5LDE4IEBAIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUg
V2ViRnJhbWU6OnVudXNlZDIoKQogICAgIHJldHVybiBFX05PVElNUEw7CiB9CiAKK0hSRVNVTFQg
U1RETUVUSE9EQ0FMTFRZUEUgV2ViRnJhbWU6Omhhc1NwZWxsaW5nTWFya2VyKAorICAgICAgICAv
KiBbaW5dICovIFVJTlQgZnJvbSwKKyAgICAgICAgLyogW2luXSAqLyBVSU5UIGxlbmd0aCwKKyAg
ICAgICAgLyogW3JldHZhbF1bb3V0XSAqLyBCT09MKiByZXN1bHQpCit7CisgICAgRnJhbWUqIGNv
cmVGcmFtZSA9IGNvcmUodGhpcyk7CisgICAgaWYgKCFjb3JlRnJhbWUpCisgICAgICAgIHJldHVy
biBFX0ZBSUw7CisgICAgKnJlc3VsdCA9IGNvcmVGcmFtZS0+ZWRpdG9yKCktPnNlbGVjdGlvblN0
YXJ0SGFzU3BlbGxpbmdNYXJrZXJGb3IoZnJvbSwgbGVuZ3RoKTsKKyAgICByZXR1cm4gU19PSzsK
K30KKwogLy8gSVdlYkRvY3VtZW50VGV4dCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBF
IFdlYkZyYW1lOjpzdXBwb3J0c1RleHRFbmNvZGluZyggCmRpZmYgLS1naXQgYS9XZWJLaXQvd2lu
L1dlYkZyYW1lLmggYi9XZWJLaXQvd2luL1dlYkZyYW1lLmgKaW5kZXggMTQ3ZGFhODNlMzdkNTlk
NzNiYjRjNGIxNTNkYWJlODgwMDAxYjMzNi4uMzdjYjIwNWM4Yzk0NjhmNWRmZjFmNjBiMGZjYjY4
YWM0Yzg1MWQ3OCAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9XZWJGcmFtZS5oCisrKyBiL1dlYktp
dC93aW4vV2ViRnJhbWUuaApAQCAtMjczLDYgKzI3MywxMSBAQCBwdWJsaWM6CiAKICAgICB2aXJ0
dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgbGF5ZXJUcmVlQXNUZXh0KEJTVFIqKTsKIAor
ICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBoYXNTcGVsbGluZ01hcmtlcigK
KyAgICAgICAgLyogW2luXSAqLyBVSU5UIGZyb20sCisgICAgICAgIC8qIFtpbl0gKi8gVUlOVCBs
ZW5ndGgsCisgICAgICAgIC8qIFtyZXR2YWxdW291dF0gKi8gQk9PTCAqcmVzdWx0KTsKKwogICAg
IC8vIElXZWJEb2N1bWVudFRleHQKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZ
UEUgc3VwcG9ydHNUZXh0RW5jb2RpbmcoIAogICAgICAgICAvKiBbcmV0dmFsXVtvdXRdICovIEJP
T0wqIHJlc3VsdCk7CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cgYi9XZWJLaXRU
b29scy9DaGFuZ2VMb2cKaW5kZXggM2YzYWEwODY3Yzg5NmFjZjM2OWUwNzYxMzM5OWRmNGQ1ZWQ4
NjY2Yi4uNzRkMGIxYTY2YThjMTgxZGE5MzdhODg3OGRiMjZiMWY1N2NmN2U1MyAxMDA2NDQKLS0t
IGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCisrKyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDIzIEBACisyMDEwLTEwLTIxICBNT1JJVEEgSGFqaW1lICA8bW9ycml0YUBnb29nbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtX
aW5dW0RSVF0gc2hvdWxkIGhhdmUgTGF5b3V0VGVzdENvbnRyb2xsZXIuaGFzU3BlbGxpbmdNYXJr
ZXIoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDc4
ODUKKworICAgICAgICAtIEltcGxlbWVudGVkIExheW91dFRlc3RDb250cm9sbGVyLmhhc1NwZWxs
aW5nTWFya2VyKCksCisgICAgICAgIC0gQWRkZWQgZmFrZSBzcGVsbGNoZWNrIGltcGxlbWVudGF0
aW9uLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcDoK
KyAgICAgICAgKG1haW4pOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9FZGl0aW5nRGVs
ZWdhdGUuY3BwOgorICAgICAgICAoaW5kZXhPZkZpcnN0V29yZENoYXJhY3Rlcik6CisgICAgICAg
ICh3b3JkTGVuZ3RoKToKKyAgICAgICAgKEVkaXRpbmdEZWxlZ2F0ZTo6Y2hlY2tTcGVsbGluZ09m
U3RyaW5nKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS93aW4vRWRpdGluZ0RlbGVnYXRlLmg6
CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvd2luL0xheW91dFRlc3RDb250cm9sbGVyV2luLmNw
cDoKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpoYXNTcGVsbGluZ01hcmtlcik6CisK
IDIwMTAtMTAtMjEgIE1paGFpIFBhcnBhcml0YSAgPG1paGFpcEBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgVW5yZXZpZXdlZC4gUmUtZW5hYmxlIHRlc3QgdGhhdCB3YXMgbWlzdGFrZW5seSBkaXNh
YmxlZCBieSByNjc5NzQuCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93
aW4vRHVtcFJlbmRlclRyZWUuY3BwIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1
bXBSZW5kZXJUcmVlLmNwcAppbmRleCA2N2U1ZDRiYjhjMGNlNmFjMzFhODBhNGFhMDUzYTQ0YTE3
ZjNkNmZjLi4yYmZlNjYwZjFmYzJhYmQxMDc4YmFlOWZhZjMyYWM2YzY1NmQyMzI5IDEwMDY0NAot
LS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwCisr
KyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAKQEAg
LTEzMDIsNiArMTMwMiw3IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyKiBhcmd2W10pCiAgICAg
c3RhbmRhcmRQcmVmZXJlbmNlcy0+c2V0SmF2YVNjcmlwdEVuYWJsZWQoVFJVRSk7CiAgICAgc3Rh
bmRhcmRQcmVmZXJlbmNlcy0+c2V0RGVmYXVsdEZvbnRTaXplKDE2KTsKICAgICBzdGFuZGFyZFBy
ZWZlcmVuY2VzLT5zZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCh0cnVlKTsKKyAgICBz
dGFuZGFyZFByZWZlcmVuY2VzLT5zZXRDb250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJsZWQoVFJV
RSk7CiAKICAgICBpZiAocHJpbnRTdXBwb3J0ZWRGZWF0dXJlcykgewogICAgICAgICBCT09MIGFj
Y2VsZXJhdGVkQ29tcG9zaXRpbmdBdmFpbGFibGU7CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9E
dW1wUmVuZGVyVHJlZS93aW4vRWRpdGluZ0RlbGVnYXRlLmNwcCBiL1dlYktpdFRvb2xzL0R1bXBS
ZW5kZXJUcmVlL3dpbi9FZGl0aW5nRGVsZWdhdGUuY3BwCmluZGV4IDMyYzAyYmQwMThlZTJmN2Y5
MDc4NWJjYjU3YmU2MDM4Y2ExOWEzODIuLjcxODU5Y2JiNjkwYTk5Yjk3NjA1M2E4YWYyNjhmYmVj
ZjgxYjY0NjggMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9FZGl0
aW5nRGVsZWdhdGUuY3BwCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9FZGl0
aW5nRGVsZWdhdGUuY3BwCkBAIC0zNTMsMyArMzUzLDcyIEBAIEhSRVNVTFQgU1RETUVUSE9EQ0FM
TFRZUEUgRWRpdGluZ0RlbGVnYXRlOjp3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uKAogICAgIH0K
ICAgICByZXR1cm4gU19PSzsKIH0KKworc3RhdGljIGludCBpbmRleE9mRmlyc3RXb3JkQ2hhcmFj
dGVyKGNvbnN0IFRDSEFSKiB0ZXh0KQoreworICAgIGNvbnN0IFRDSEFSKiBjdXJzb3IgPSB0ZXh0
OworICAgIHdoaWxlICgqY3Vyc29yICYmICFpc2FscGhhKCpjdXJzb3IpKQorICAgICAgICArK2N1
cnNvcjsKKyAgICByZXR1cm4gKmN1cnNvciA/IChjdXJzb3IgLSB0ZXh0KSA6IC0xOworfTsKKwor
c3RhdGljIGludCB3b3JkTGVuZ3RoKGNvbnN0IFRDSEFSKiB0ZXh0KQoreworICAgIGNvbnN0IFRD
SEFSKiBjdXJzb3IgPSB0ZXh0OworICAgIHdoaWxlICgqY3Vyc29yICYmIGlzYWxwaGEoKmN1cnNv
cikpCisgICAgICAgICsrY3Vyc29yOworICAgIHJldHVybiBjdXJzb3IgLSB0ZXh0OworfTsKKwor
SFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBFZGl0aW5nRGVsZWdhdGU6OmNoZWNrU3BlbGxpbmdP
ZlN0cmluZygKKyAgICAgICAgICAgIC8qIFtpbl0gKi8gSVdlYlZpZXcqIHZpZXcsCisgICAgICAg
ICAgICAvKiBbaW5dICovIExQQ1RTVFIgdGV4dCwKKyAgICAgICAgICAgIC8qIFtpbl0gKi8gaW50
IGxlbmd0aCwKKyAgICAgICAgICAgIC8qIFtvdXRdICovIGludCogbWlzc3BlbGxpbmdMb2NhdGlv
biwKKyAgICAgICAgICAgIC8qIFtvdXRdICovIGludCogbWlzc3BlbGxpbmdMZW5ndGgpCit7Cisg
ICAgc3RhdGljIGNvbnN0IFRDSEFSKiBtaXNzcGVsbGVkV29yZHNbXSA9IHsKKyAgICAgICAgLy8g
VGhlc2Ugd29yZHMgYXJlIGtub3duIG1pc3NwZWxsZWQgd29yZHMgaW4gd2Via2l0IHRlc3RzLgor
ICAgICAgICAvLyBJZiB0aGVyZSBhcmUgb3RoZXIgbWlzc3BlbGxlZCB3b3JkcyBpbiB3ZWJraXQg
dGVzdHMsIHBsZWFzZSBhZGQgdGhlbSBpbgorICAgICAgICAvLyB0aGlzIGFycmF5LgorICAgICAg
ICBURVhUKCJmb28iKSwKKyAgICAgICAgVEVYVCgiRm9vIiksCisgICAgICAgIFRFWFQoImJheiIp
LAorICAgICAgICBURVhUKCJmbyIpLAorICAgICAgICBURVhUKCJMaWJlcnR5RiIpLAorICAgICAg
ICBURVhUKCJjaGVsbG8iKSwKKyAgICAgICAgVEVYVCgieHh4dGVzdHh4eCIpLAorICAgICAgICBU
RVhUKCJYWHh4eCIpLAorICAgICAgICBURVhUKCJUZXh0eCIpLAorICAgICAgICBURVhUKCJibG9j
a3F1b3RlZCIpLAorICAgICAgICBURVhUKCJhc2QiKSwKKyAgICAgICAgVEVYVCgiTG9yZW0iKSwK
KyAgICAgICAgVEVYVCgiTnVuYyIpLAorICAgICAgICBURVhUKCJDdXJhYml0dXIiKSwKKyAgICAg
ICAgVEVYVCgiZXUiKSwKKyAgICAgICAgVEVYVCgiYWRsaiIpLAorICAgICAgICBURVhUKCJhZGFh
c2oiKSwKKyAgICAgICAgVEVYVCgic2RrbGoiKSwKKyAgICAgICAgVEVYVCgiamxrZHMiKSwKKyAg
ICAgICAgVEVYVCgianNhYWRhIiksCisgICAgICAgIFRFWFQoImpsZGEiKSwKKyAgICAgICAgVEVY
VCgienoiKSwKKyAgICAgICAgVEVYVCgiY29udGVudEVkaXRhYmxlIiksCisgICAgICAgIDAsCisg
ICAgfTsKKworICAgIHdzdHJpbmcgdGV4dFN0cmluZyh0ZXh0LCBsZW5ndGgpOworICAgIGludCB3
b3JkU3RhcnQgPSBpbmRleE9mRmlyc3RXb3JkQ2hhcmFjdGVyKHRleHRTdHJpbmcuY19zdHIoKSk7
CisgICAgaWYgKC0xID09IHdvcmRTdGFydCkKKyAgICAgICAgcmV0dXJuIFNfT0s7CisgICAgd3N0
cmluZyB3b3JkID0gdGV4dFN0cmluZy5zdWJzdHIod29yZFN0YXJ0LCB3b3JkTGVuZ3RoKHRleHRT
dHJpbmcuY19zdHIoKSArIHdvcmRTdGFydCkpOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBtaXNz
cGVsbGVkV29yZHNbaV07ICsraSkgeworICAgICAgICBpZiAod29yZCA9PSBtaXNzcGVsbGVkV29y
ZHNbaV0pIHsKKyAgICAgICAgICAgICptaXNzcGVsbGluZ0xvY2F0aW9uID0gd29yZFN0YXJ0Owor
ICAgICAgICAgICAgKm1pc3NwZWxsaW5nTGVuZ3RoID0gd29yZC5zaXplKCk7CisgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKworICAgIHJldHVybiBTX09LOworfQpkaWZmIC0t
Z2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0VkaXRpbmdEZWxlZ2F0ZS5oIGIv
V2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0VkaXRpbmdEZWxlZ2F0ZS5oCmluZGV4IDZk
YmE2NzVlZmE1MjljNWUxN2EyYjVlY2I3ZDI1ZWM5YmZmNWM1N2UuLjdiN2Y0MThhYWM1YTRiMjRh
NzA0YWFmYWU4NzA2MmVlNjMxNTFlMjYgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL3dpbi9FZGl0aW5nRGVsZWdhdGUuaAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVy
VHJlZS93aW4vRWRpdGluZ0RlbGVnYXRlLmgKQEAgLTEyNyw3ICsxMjcsNyBAQCBwdWJsaWM6CiAg
ICAgICAgICAgICAvKiBbaW5dICovIExQQ1RTVFIgdGV4dCwKICAgICAgICAgICAgIC8qIFtpbl0g
Ki8gaW50IGxlbmd0aCwKICAgICAgICAgICAgIC8qIFtvdXRdICovIGludCAqbWlzc3BlbGxpbmdM
b2NhdGlvbiwKLSAgICAgICAgICAgIC8qIFtvdXRdICovIGludCAqbWlzc3BlbGxpbmdMZW5ndGgp
IHsgcmV0dXJuIEVfTk9USU1QTDsgfQorICAgICAgICAgICAgLyogW291dF0gKi8gaW50ICptaXNz
cGVsbGluZ0xlbmd0aCk7CiAgICAgICAgIAogICAgICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVU
SE9EQ0FMTFRZUEUgY2hlY2tHcmFtbWFyT2ZTdHJpbmcoIAogICAgICAgICAgICAgLyogW2luXSAq
LyBJV2ViVmlldyAqdmlldywKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L3dpbi9MYXlvdXRUZXN0Q29udHJvbGxlcldpbi5jcHAgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVy
VHJlZS93aW4vTGF5b3V0VGVzdENvbnRyb2xsZXJXaW4uY3BwCmluZGV4IGQyMTQwZDEwNTMyZjI4
ZDczZmNiZTEzOTFjMjEzNTM5NGVkMTgyOGQuLjllOGVkMWU2OTU3ZDdmN2NhNGZlYWQ5MWQ4N2I5
YjU2ZmI0MjE0NTkgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9M
YXlvdXRUZXN0Q29udHJvbGxlcldpbi5jcHAKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRy
ZWUvd2luL0xheW91dFRlc3RDb250cm9sbGVyV2luLmNwcApAQCAtMTM5MSw4ICsxMzkxLDEzIEBA
IHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmFib3J0TW9kYWwoKQogewogfQogCi1ib29sIExh
eW91dFRlc3RDb250cm9sbGVyOjpoYXNTcGVsbGluZ01hcmtlcihpbnQsIGludCkKK2Jvb2wgTGF5
b3V0VGVzdENvbnRyb2xsZXI6Omhhc1NwZWxsaW5nTWFya2VyKGludCBmcm9tLCBpbnQgbGVuZ3Ro
KQogewotICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgdGhpcy4KLSAgICByZXR1cm4gZmFsc2U7Cisg
ICAgQ09NUHRyPElXZWJGcmFtZVByaXZhdGU+IGZyYW1lUHJpdmF0ZShRdWVyeSwgZnJhbWUpOwor
ICAgIGlmICghZnJhbWVQcml2YXRlKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgQk9PTCBy
ZXQgPSBGQUxTRTsKKyAgICBpZiAoRkFJTEVEKGZyYW1lUHJpdmF0ZS0+aGFzU3BlbGxpbmdNYXJr
ZXIoZnJvbSwgbGVuZ3RoLCAmcmV0KSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1
cm4gcmV0OwogfQo=
</data>
<flag name="review"
          id="61590"
          type_id="1"
          status="+"
          setter="tkent"
    />
          </attachment>
      

    </bug>

</bugzilla>