<?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>28934</bug_id>
          
          <creation_ts>2009-09-02 22:42:46 -0700</creation_ts>
          <short_desc>Add &lt;input type=number&gt; validation support</short_desc>
          <delta_ts>2009-09-08 10:23:20 -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>Forms</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#number-state</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>19264</blocked>
    
    <blocked>27450</blocked>
    
    <blocked>27451</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Kent Tamura">tkent</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>adele</cc>
    
    <cc>darin</cc>
    
    <cc>eric</cc>
    
    <cc>hyatt</cc>
    
    <cc>ian</cc>
    
    <cc>michelangelo</cc>
    
    <cc>pkasting</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>144382</commentid>
    <comment_count>0</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2009-09-02 22:42:46 -0700</bug_when>
    <thetext>Also see http://www.whatwg.org/specs/web-apps/current-work/multipage/infrastructure.html#valid-floating-point-number</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144398</commentid>
    <comment_count>1</comment_count>
      <attachid>38969</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2009-09-03 00:17:08 -0700</bug_when>
    <thetext>Created attachment 38969
Proposed patch

stringToFloat() is in HTMLInputElement.cpp because it will be used to parse min= max= step= attributes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144424</commentid>
    <comment_count>2</comment_count>
      <attachid>38969</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-03 01:21:51 -0700</bug_when>
    <thetext>Comment on attachment 38969
Proposed patch

It seems stringToFloat should have HTML5 in teh name.  It&apos;s not a generic function, but rather a specific html5-compatible implementation.

html5CompatStringToFloat
html5SpecStingToFloat
?

This would be better as a single if unless there is a grand plan to add a bunch more types...
+    switch (input-&gt;inputType()) {
+    case HTMLInputElement::NUMBER:
+        return !HTMLInputElement::stringToFloat(value, 0);
+    default:
+        return false;
+    }

if (input-&gt;type() != HTMLInputElement::NUMBER)
    return false;
// Check to make sure the number is valid, ignore the parsed number.
return !HTMLInputElement::stringToFloat(value, 0);

Otherwise looks fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144453</commentid>
    <comment_count>3</comment_count>
      <attachid>38976</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2009-09-03 02:08:26 -0700</bug_when>
    <thetext>Created attachment 38976
Proposed patch (rev.2)

- Followed Eric&apos;s comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144548</commentid>
    <comment_count>4</comment_count>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2009-09-03 11:19:09 -0700</bug_when>
    <thetext>I disagree with Eric.  Putting &quot;HTML5&quot; in function names is completely inappropriate given that this functionality will also be required for HTML 6, 7, ... and in fact HTML is switching to be unversioned (see e.g. &quot;DOCTYPE HTML&quot; and some of Hixie&apos;s comments).  These functions should be called things like &quot;userInputToDouble&quot; or &quot;inputStringToDouble&quot; or something to indicate that the difference between them and a generic conversion to double is the fact that the origin is some kind of user input which needs additional validation or conversion.

Also, nitpick: &quot;numeber&quot; -&gt; &quot;number&quot; in at least one place.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144574</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-09-03 12:59:36 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; These functions should be called things like
&gt; &quot;userInputToDouble&quot; or &quot;inputStringToDouble&quot; or something to indicate that the
&gt; difference between them and a generic conversion to double is the fact that the
&gt; origin is some kind of user input which needs additional validation or
&gt; conversion.

That sounds right to me too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144613</commentid>
    <comment_count>6</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2009-09-03 15:50:18 -0700</bug_when>
    <thetext>Putting &quot;html5&quot; in method or file names will just mean that a few years from now someone will have to go and rename the methods or files, just like we did recently with html4.css.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144668</commentid>
    <comment_count>7</comment_count>
      <attachid>39031</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2009-09-03 19:06:56 -0700</bug_when>
    <thetext>Created attachment 39031
Proposed patch (rev.3)

Thank you for the comments.

- toDoubleForHtml5() -&gt; formStringToDouble()
 I didn&apos;t use &quot;input&quot; &quot;user&quot; because this method will be used for min= max= step= attributes.

- Fix a typo</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144766</commentid>
    <comment_count>8</comment_count>
      <attachid>39046</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2009-09-04 02:18:51 -0700</bug_when>
    <thetext>Created attachment 39046
Proposed patch (rev.4)

- Resolve conflict with type=color.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145398</commentid>
    <comment_count>9</comment_count>
      <attachid>39046</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-08 09:49:53 -0700</bug_when>
    <thetext>Comment on attachment 39046
Proposed patch (rev.4)

LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145406</commentid>
    <comment_count>10</comment_count>
      <attachid>39046</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-08 10:00:55 -0700</bug_when>
    <thetext>Comment on attachment 39046
Proposed patch (rev.4)

Rejecting patch 39046 from commit-queue.  This patch will require manual commit.

[&apos;WebKitTools/Scripts/run-webkit-tests&apos;, &apos;--no-launch-safari&apos;, &apos;--quiet&apos;, &apos;--exit-after-n-failures=1&apos;] failed with exit code 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145408</commentid>
    <comment_count>11</comment_count>
      <attachid>39046</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-08 10:02:48 -0700</bug_when>
    <thetext>Comment on attachment 39046
Proposed patch (rev.4)

Bitten by bug 29037.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145423</commentid>
    <comment_count>12</comment_count>
      <attachid>39046</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-08 10:23:15 -0700</bug_when>
    <thetext>Comment on attachment 39046
Proposed patch (rev.4)

Clearing flags on attachment: 39046

Committed r48163: &lt;http://trac.webkit.org/changeset/48163&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145424</commentid>
    <comment_count>13</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-08 10:23:20 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>38969</attachid>
            <date>2009-09-03 00:17:08 -0700</date>
            <delta_ts>2009-09-03 02:08:26 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>typemismatch-number-1.diff</filename>
            <type>text/plain</type>
            <size>9388</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1MWI5MzhhLi4xMWZjMGE3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMDktMDkt
MDMgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3RzIGZvciBWYWxpZGl0eVN0YXRlOjp0
eXBlTWlzbWF0Y2goKSBmb3IgPGlucHV0IHR5cGU9bnVtYmVyPi4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI4OTM0CisKKyAgICAgICAgKiBmYXN0L2Zv
cm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLW51bWJlci1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtbnVtYmVy
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvcmVzb3VyY2VzL1ZhbGlkaXR5U3Rh
dGUtdHlwZU1pc21hdGNoLW51bWJlci5qczogQWRkZWQuCisKIDIwMDktMDgtMzEgIEJyaWFuIFdl
aW5zdGVpbiAgPGJ3ZWluc3RlaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERh
cmluIEFkbGVyLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0
YXRlLXR5cGVNaXNtYXRjaC1udW1iZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1udW1iZXItZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ2ZmFjNmYKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLW51bWJl
ci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNyBAQAorVGhpcyB0ZXN0IGFpbXMgdG8gY2hlY2sg
Zm9yIHR5cGVNaXNtYXRjaCBmbGFnIHdpdGggdHlwZT1udW1iZXIgaW5wdXQgZmllbGRzCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIDAgaXMgYSBjb3JyZWN0IHZhbGlkIG51
bWJlci4KK1BBU1MgMTAgaXMgYSBjb3JyZWN0IHZhbGlkIG51bWJlci4KK1BBU1MgMDEgaXMgYSBj
b3JyZWN0IHZhbGlkIG51bWJlci4KK1BBU1MgLTAgaXMgYSBjb3JyZWN0IHZhbGlkIG51bWJlci4K
K1BBU1MgLTEuMiBpcyBhIGNvcnJlY3QgdmFsaWQgbnVtYmVyLgorUEFTUyAxLjJFMTAgaXMgYSBj
b3JyZWN0IHZhbGlkIG51bWJlci4KK1BBU1MgMS4yRS0xMCBpcyBhIGNvcnJlY3QgdmFsaWQgbnVt
YmVyLgorUEFTUyAxLjJFKzEwIGlzIGEgY29ycmVjdCB2YWxpZCBudW1iZXIuCitQQVNTIDEyMzQ1
Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwIGlzIGEgY29ycmVj
dCB2YWxpZCBudW1iZXIuCitQQVNTIDAuMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIz
NDU2Nzg5MDEyMzQ1Njc4OTAgaXMgYSBjb3JyZWN0IHZhbGlkIG51bWJlci4KK1BBU1MgYWJjIGlz
IGEgY29ycmVjdCBpbnZhbGlkIG51bWJlci4KK1BBU1MgMHhmZiBpcyBhIGNvcnJlY3QgaW52YWxp
ZCBudW1iZXIuCitQQVNTICsxIGlzIGEgY29ycmVjdCBpbnZhbGlkIG51bWJlci4KK1BBU1MgIDEw
IGlzIGEgY29ycmVjdCBpbnZhbGlkIG51bWJlci4KK1BBU1MgMTAgIGlzIGEgY29ycmVjdCBpbnZh
bGlkIG51bWJlci4KK1BBU1MgMSwyIGlzIGEgY29ycmVjdCBpbnZhbGlkIG51bWJlci4KK1BBU1Mg
LjIgaXMgYSBjb3JyZWN0IGludmFsaWQgbnVtYmVyLgorUEFTUyAxRSBpcyBhIGNvcnJlY3QgaW52
YWxpZCBudW1iZXIuCitQQVNTIE5hTiBpcyBhIGNvcnJlY3QgaW52YWxpZCBudW1iZXIuCitQQVNT
IG5hbiBpcyBhIGNvcnJlY3QgaW52YWxpZCBudW1iZXIuCitQQVNTIEluZiBpcyBhIGNvcnJlY3Qg
aW52YWxpZCBudW1iZXIuCitQQVNTIGluZiBpcyBhIGNvcnJlY3QgaW52YWxpZCBudW1iZXIuCitQ
QVNTIEluZmluaXR5IGlzIGEgY29ycmVjdCBpbnZhbGlkIG51bWJlci4KK1BBU1MgaW5maW5pdHkg
aXMgYSBjb3JyZWN0IGludmFsaWQgbnVtYmVyLgorUEFTUyAgaXMgYSBjb3JyZWN0IHZhbGlkIG51
bWJlci4KK1BBU1MgMS4yRTY1NTM1IGlzIGEgY29ycmVjdCBpbnZhbGlkIG51bWJlci4KK1BBU1Mg
MS4gaXMgYSBjb3JyZWN0IHZhbGlkIG51bWJlci4KK1BBU1MgMS4yZTEwIGlzIGEgY29ycmVjdCB2
YWxpZCBudW1iZXIuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRl
LXR5cGVNaXNtYXRjaC1udW1iZXIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRp
dHlTdGF0ZS10eXBlTWlzbWF0Y2gtbnVtYmVyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMC4uMjlkMWRlOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtbnVtYmVyLmh0bWwKQEAgLTAsMCArMSwx
MyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQg
c3JjPSJyZXNvdXJjZXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtbnVtYmVyLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9yZXNvdXJjZXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtbnVtYmVyLmpz
IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yZXNvdXJjZXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlz
bWF0Y2gtbnVtYmVyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJlOGEw
ODYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Jlc291cmNlcy9W
YWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1udW1iZXIuanMKQEAgLTAsMCArMSw1OCBAQAorZGVz
Y3JpcHRpb24oJ1RoaXMgdGVzdCBhaW1zIHRvIGNoZWNrIGZvciB0eXBlTWlzbWF0Y2ggZmxhZyB3
aXRoIHR5cGU9bnVtYmVyIGlucHV0IGZpZWxkcycpOworCit2YXIgaSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ2lucHV0Jyk7CitpLnR5cGUgPSAnbnVtYmVyJzsKKworZnVuY3Rpb24gY2hlY2so
dmFsdWUsIG1pc21hdGNoRXhwZWN0ZWQpCit7CisgICAgaS52YWx1ZSA9IHZhbHVlOworICAgIHZh
ciBhY3R1YWwgPSBpLnZhbGlkaXR5LnR5cGVNaXNtYXRjaDsKKyAgICB2YXIgZGlkUGFzcyA9IGFj
dHVhbCA9PSBtaXNtYXRjaEV4cGVjdGVkOworICAgIHZhciByZXN1bHRUZXh0ID0gdmFsdWUgKyAn
IGlzICcgKyAoZGlkUGFzcyA/ICdhIGNvcnJlY3QgJyA6ICdhbiBpbmNvcnJlY3QgJykgKyAoYWN0
dWFsID8gJ2ludmFsaWQnIDogJ3ZhbGlkJykgKyAnIG51bWJlci4nOworICAgIGlmIChkaWRQYXNz
KQorICAgICAgICB0ZXN0UGFzc2VkKHJlc3VsdFRleHQpOworICAgIGVsc2UKKyAgICAgICAgdGVz
dEZhaWxlZChyZXN1bHRUZXh0KTsKK30KKworLy8gVmFsaWQgdmFsdWVzCitjaGVjaygnMCcsIGZh
bHNlKTsKK2NoZWNrKCcxMCcsIGZhbHNlKTsKK2NoZWNrKCcwMScsIGZhbHNlKTsKK2NoZWNrKCct
MCcsIGZhbHNlKTsKK2NoZWNrKCctMS4yJywgZmFsc2UpOworY2hlY2soJzEuMkUxMCcsIGZhbHNl
KTsKK2NoZWNrKCcxLjJFLTEwJywgZmFsc2UpOworY2hlY2soJzEuMkUrMTAnLCBmYWxzZSk7Citj
aGVjaygnMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAn
LCBmYWxzZSk7CitjaGVjaygnMC4xMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3
ODkwMTIzNDU2Nzg5MCcsIGZhbHNlKTsKKworLy8gSW52YWxpZCB2YWx1ZXMKK2NoZWNrKCdhYmMn
LCB0cnVlKTsKK2NoZWNrKCcweGZmJywgdHJ1ZSk7CisKK2NoZWNrKCcrMScsIHRydWUpOworY2hl
Y2soJyAxMCcsIHRydWUpOworY2hlY2soJzEwICcsIHRydWUpOworY2hlY2soJzEsMicsIHRydWUp
OworY2hlY2soJy4yJywgdHJ1ZSk7CitjaGVjaygnMUUnLCB0cnVlKTsKK2NoZWNrKCdOYU4nLCB0
cnVlKTsKK2NoZWNrKCduYW4nLCB0cnVlKTsKK2NoZWNrKCdJbmYnLCB0cnVlKTsKK2NoZWNrKCdp
bmYnLCB0cnVlKTsKK2NoZWNrKCdJbmZpbml0eScsIHRydWUpOworY2hlY2soJ2luZmluaXR5Jywg
dHJ1ZSk7CisKKy8vIEFzc3VtZSBlbXB0eSBzdHJpbmcgYXMgdmFsaWQuCitjaGVjaygnJywgZmFs
c2UpOworCisvLyBUaGUgc3BlYyBhbGxvd3MsIGJ1dCBvdXIgaW1wbGVtZW50YXRpb24gZG9lc24n
dAorLy8gSHVnZSBleHBvbmVudC4KK2NoZWNrKCcxLjJFNjU1MzUnLCB0cnVlKTsKKworLy8gVGhl
IHNwZWMgZG9lc24ndCBhbGxvdywgYnV0IG91ciBpbXBsZW1lbnRhdGlvbiBkb2VzLgorY2hlY2so
JzEuJywgZmFsc2UpOworY2hlY2soJzEuMmUxMCcsIGZhbHNlKTsKKwordmFyIHN1Y2Nlc3NmdWxs
eVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUv
Q2hhbmdlTG9nCmluZGV4IGQwMTAyMWQuLmU1MzI5MzMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hh
bmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMDktMDkt
MDMgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBWYWxpZGl0eVN0YXRlOjp0
eXBlTWlzbWF0Y2goKSBmb3IgPGlucHV0IHR5cGU9bnVtYmVyPi4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI4OTM0CisKKyAgICAgICAgVGVzdDogZmFz
dC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1udW1iZXIuaHRtbAorCisgICAgICAg
ICogaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1
dEVsZW1lbnQ6OnN0cmluZ1RvRmxvYXQpOgorICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVu
dC5oOgorICAgICAgICAqIGh0bWwvVmFsaWRpdHlTdGF0ZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpWYWxpZGl0eVN0YXRlOjp0eXBlTWlzbWF0Y2gpOgorICAgICAgICAqIGh0bWwvVmFsaWRpdHlT
dGF0ZS5oOgorCiAyMDA5LTA4LTMxICBHdXN0YXZvIE5vcm9uaGEgU2lsdmEgIDxndXN0YXZvLm5v
cm9uaGFAY29sbGFib3JhLmNvLnVrPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFsZXhleSBQcm9z
a3VyeWFrb3YuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAg
Yi9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKaW5kZXggYjRkZjA5ZC4uODFiZTRl
YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCisrKyBiL1dl
YkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcApAQCAtNTksNiArNTksNyBAQAogI2luY2x1
ZGUgIlJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5oIgogI2luY2x1ZGUgIlJlbmRlclRoZW1l
LmgiCiAjaW5jbHVkZSAiVGV4dEV2ZW50LmgiCisjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4K
ICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CkBA
IC0xNzcyLDYgKzE3NzMsMjkgQEAgYm9vbCBIVE1MSW5wdXRFbGVtZW50OjpwbGFjZWhvbGRlclNo
b3VsZEJlVmlzaWJsZSgpIGNvbnN0CiAgICAgcmV0dXJuIElucHV0RWxlbWVudDo6cGxhY2Vob2xk
ZXJTaG91bGRCZVZpc2libGUodGhpcywgdGhpcyk7CiB9CiAKK2Jvb2wgSFRNTElucHV0RWxlbWVu
dDo6c3RyaW5nVG9GbG9hdChjb25zdCBTdHJpbmcmIHNyYywgZG91YmxlKiBvdXQpCit7CisgICAg
Ly8gU2VlIEhUTUw1IDIuNC40LjMgYFJlYWwgbnVtYmVycy4nCisKKyAgICBpZiAoc3JjLmlzRW1w
dHkoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIC8vIFN0cmluZzo6dG9Eb3VibGUoKSBh
Y2NlcHRzIGxlYWRpbmcgKyBcdCBcbiBcdiBcZiBcciBhbmQgU1BBQ0UsIHdoaWNoIGFyZSBpbnZh
bGlkIGluIEhUTUw1LgorICAgIC8vIFNvLCBjaGVjayB0aGUgZmlyc3QgY2hhcmFjdGVyLgorICAg
IGlmIChzcmNbMF0gIT0gJy0nICYmIChzcmNbMF0gPCAnMCcgfHwgc3JjWzBdID4gJzknKSkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgYm9vbCB2YWxpZCA9IGZhbHNlOworICAgIGRvdWJs
ZSB2YWx1ZSA9IHNyYy50b0RvdWJsZSgmdmFsaWQpOworICAgIGlmICghdmFsaWQpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICAvLyBOYU4gYW5kIEluZmluaXR5IGFyZSBub3QgdmFsaWQgbnVt
ZWJlcnMgYWNjb3JkaW5nIHRvIEhUTUw1LgorICAgIGlmIChpc25hbih2YWx1ZSkgfHwgaXNpbmYo
dmFsdWUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKG91dCkKKyAgICAgICAgKm91
dCA9IHZhbHVlOworICAgIHJldHVybiB0cnVlOworfQorCiAjaWYgRU5BQkxFKERBVEFMSVNUKQog
SFRNTEVsZW1lbnQqIEhUTUxJbnB1dEVsZW1lbnQ6Omxpc3QoKSBjb25zdAogewpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaCBiL1dlYkNvcmUvaHRtbC9IVE1MSW5w
dXRFbGVtZW50LmgKaW5kZXggNTA1NGM3Zi4uZjk3NTU2ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9o
dG1sL0hUTUxJbnB1dEVsZW1lbnQuaAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVu
dC5oCkBAIC0yMzAsNiArMjMwLDExIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgd2lsbFZh
bGlkYXRlKCkgY29uc3Q7CiAKICAgICB2aXJ0dWFsIGJvb2wgcGxhY2Vob2xkZXJTaG91bGRCZVZp
c2libGUoKSBjb25zdDsKKworICAgIC8vIENvbnZlcnRzIHRoZSBzcGVjaWZpZWQgc3RyaW5nIHRv
IGEgZmxvYXRpbmcgbnVtYmVyLgorICAgIC8vIElmIHRoZSBjb252ZXJzaW9uIGZhaWxzLCB0aGUg
cmV0dXJuIHZhbHVlIGlzIGZhbHNlLiBUYWtlIGNhcmUgdGhhdCBsZWFkaW5nIG9yIHRyYWlsaW5n
IHVubmVjZXNzYXJ5IGNoYXJhY3RlcnMgbWFrZSBmYWlsdXJlcy4gIFRoaXMgcmV0dXJucyBmYWxz
ZSBmb3IgYW4gZW1wdHkgc3RyaW5nIGlucHV0LgorICAgIC8vIFRoZSBkb3VibGUqIHBhcmFtZXRl
ciBtYXkgYmUgMC4KKyAgICBzdGF0aWMgYm9vbCBzdHJpbmdUb0Zsb2F0KGNvbnN0IFN0cmluZyYs
IGRvdWJsZSopOwogICAgIAogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCB3aWxsTW92ZVRv
TmV3T3duZXJEb2N1bWVudCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3Rh
dGUuY3BwIGIvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuY3BwCmluZGV4IDg2MjI3ZDQuLjJj
MmU2ZDkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmNwcAorKysgYi9X
ZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5jcHAKQEAgLTIzLDE0ICsyMywzOCBAQAogI2luY2x1
ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlZhbGlkaXR5U3RhdGUuaCIKIAorI2luY2x1ZGUgIkhU
TUxJbnB1dEVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MTmFtZXMuaCIKKwogbmFtZXNwYWNlIFdl
YkNvcmUgewogCit1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOworCiBWYWxpZGl0eVN0YXRlOjpW
YWxpZGl0eVN0YXRlKEhUTUxGb3JtQ29udHJvbEVsZW1lbnQqIHBhcmVudCkKICAgICA6IG1fY29u
dHJvbChwYXJlbnQpCiB7CiAgICAgQVNTRVJUKHBhcmVudCk7CiB9CiAKK2Jvb2wgVmFsaWRpdHlT
dGF0ZTo6dHlwZU1pc21hdGNoKCkKK3sKKyAgICBpZiAoIWNvbnRyb2woKS0+aGFzVGFnTmFtZShp
bnB1dFRhZykpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIEhUTUxJbnB1dEVsZW1lbnQq
IGlucHV0ID0gc3RhdGljX2Nhc3Q8SFRNTElucHV0RWxlbWVudCo+KGNvbnRyb2woKSk7CisgICAg
U3RyaW5nIHZhbHVlID0gaW5wdXQtPnZhbHVlKCk7CisKKyAgICBpZiAodmFsdWUuaXNFbXB0eSgp
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBzd2l0Y2ggKGlucHV0LT5pbnB1dFR5cGUo
KSkgeworICAgIGNhc2UgSFRNTElucHV0RWxlbWVudDo6TlVNQkVSOgorICAgICAgICByZXR1cm4g
IUhUTUxJbnB1dEVsZW1lbnQ6OnN0cmluZ1RvRmxvYXQodmFsdWUsIDApOworICAgIGRlZmF1bHQ6
CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9Cit9CisKIGJvb2wgVmFsaWRpdHlTdGF0ZTo6
dmFsaWQoKQogewogICAgIGJvb2wgc29tZUVycm9yID0gdHlwZU1pc21hdGNoKCkgfHwgc3RlcE1p
c21hdGNoKCkgfHwgcmFuZ2VVbmRlcmZsb3coKSB8fCByYW5nZU92ZXJmbG93KCkgfHwKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmggYi9XZWJDb3JlL2h0bWwvVmFsaWRp
dHlTdGF0ZS5oCmluZGV4IDc5NDgyMmEuLjE5YmVmNDEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRt
bC9WYWxpZGl0eVN0YXRlLmgKKysrIGIvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuaApAQCAt
NDEsNyArNDEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgc2V0Q3VzdG9t
RXJyb3JNZXNzYWdlKGNvbnN0IFN0cmluZyYgbWVzc2FnZSkgeyBtX2N1c3RvbUVycm9yTWVzc2Fn
ZSA9IG1lc3NhZ2U7IH0KIAogICAgICAgICBib29sIHZhbHVlTWlzc2luZygpIHsgcmV0dXJuIGNv
bnRyb2woKS0+dmFsdWVNaXNzaW5nKCk7IH0KLSAgICAgICAgYm9vbCB0eXBlTWlzbWF0Y2goKSB7
IHJldHVybiBmYWxzZTsgfQorICAgICAgICBib29sIHR5cGVNaXNtYXRjaCgpOwogICAgICAgICBi
b29sIHBhdHRlcm5NaXNtYXRjaCgpIHsgcmV0dXJuIGNvbnRyb2woKS0+cGF0dGVybk1pc21hdGNo
KCk7IH0KICAgICAgICAgYm9vbCB0b29Mb25nKCkgeyByZXR1cm4gZmFsc2U7IH0KICAgICAgICAg
Ym9vbCByYW5nZVVuZGVyZmxvdygpIHsgcmV0dXJuIGZhbHNlOyB9Cg==
</data>
<flag name="review"
          id="19976"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>38976</attachid>
            <date>2009-09-03 02:08:26 -0700</date>
            <delta_ts>2009-09-03 19:06:56 -0700</delta_ts>
            <desc>Proposed patch (rev.2)</desc>
            <filename>typemismatch-number-2.diff</filename>
            <type>text/plain</type>
            <size>9435</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1MWI5MzhhLi4xMWZjMGE3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMDktMDkt
MDMgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3RzIGZvciBWYWxpZGl0eVN0YXRlOjp0
eXBlTWlzbWF0Y2goKSBmb3IgPGlucHV0IHR5cGU9bnVtYmVyPi4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI4OTM0CisKKyAgICAgICAgKiBmYXN0L2Zv
cm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLW51bWJlci1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtbnVtYmVy
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvcmVzb3VyY2VzL1ZhbGlkaXR5U3Rh
dGUtdHlwZU1pc21hdGNoLW51bWJlci5qczogQWRkZWQuCisKIDIwMDktMDgtMzEgIEJyaWFuIFdl
aW5zdGVpbiAgPGJ3ZWluc3RlaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERh
cmluIEFkbGVyLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0
YXRlLXR5cGVNaXNtYXRjaC1udW1iZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1udW1iZXItZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ2ZmFjNmYKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLW51bWJl
ci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNyBAQAorVGhpcyB0ZXN0IGFpbXMgdG8gY2hlY2sg
Zm9yIHR5cGVNaXNtYXRjaCBmbGFnIHdpdGggdHlwZT1udW1iZXIgaW5wdXQgZmllbGRzCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIDAgaXMgYSBjb3JyZWN0IHZhbGlkIG51
bWJlci4KK1BBU1MgMTAgaXMgYSBjb3JyZWN0IHZhbGlkIG51bWJlci4KK1BBU1MgMDEgaXMgYSBj
b3JyZWN0IHZhbGlkIG51bWJlci4KK1BBU1MgLTAgaXMgYSBjb3JyZWN0IHZhbGlkIG51bWJlci4K
K1BBU1MgLTEuMiBpcyBhIGNvcnJlY3QgdmFsaWQgbnVtYmVyLgorUEFTUyAxLjJFMTAgaXMgYSBj
b3JyZWN0IHZhbGlkIG51bWJlci4KK1BBU1MgMS4yRS0xMCBpcyBhIGNvcnJlY3QgdmFsaWQgbnVt
YmVyLgorUEFTUyAxLjJFKzEwIGlzIGEgY29ycmVjdCB2YWxpZCBudW1iZXIuCitQQVNTIDEyMzQ1
Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwIGlzIGEgY29ycmVj
dCB2YWxpZCBudW1iZXIuCitQQVNTIDAuMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIz
NDU2Nzg5MDEyMzQ1Njc4OTAgaXMgYSBjb3JyZWN0IHZhbGlkIG51bWJlci4KK1BBU1MgYWJjIGlz
IGEgY29ycmVjdCBpbnZhbGlkIG51bWJlci4KK1BBU1MgMHhmZiBpcyBhIGNvcnJlY3QgaW52YWxp
ZCBudW1iZXIuCitQQVNTICsxIGlzIGEgY29ycmVjdCBpbnZhbGlkIG51bWJlci4KK1BBU1MgIDEw
IGlzIGEgY29ycmVjdCBpbnZhbGlkIG51bWJlci4KK1BBU1MgMTAgIGlzIGEgY29ycmVjdCBpbnZh
bGlkIG51bWJlci4KK1BBU1MgMSwyIGlzIGEgY29ycmVjdCBpbnZhbGlkIG51bWJlci4KK1BBU1Mg
LjIgaXMgYSBjb3JyZWN0IGludmFsaWQgbnVtYmVyLgorUEFTUyAxRSBpcyBhIGNvcnJlY3QgaW52
YWxpZCBudW1iZXIuCitQQVNTIE5hTiBpcyBhIGNvcnJlY3QgaW52YWxpZCBudW1iZXIuCitQQVNT
IG5hbiBpcyBhIGNvcnJlY3QgaW52YWxpZCBudW1iZXIuCitQQVNTIEluZiBpcyBhIGNvcnJlY3Qg
aW52YWxpZCBudW1iZXIuCitQQVNTIGluZiBpcyBhIGNvcnJlY3QgaW52YWxpZCBudW1iZXIuCitQ
QVNTIEluZmluaXR5IGlzIGEgY29ycmVjdCBpbnZhbGlkIG51bWJlci4KK1BBU1MgaW5maW5pdHkg
aXMgYSBjb3JyZWN0IGludmFsaWQgbnVtYmVyLgorUEFTUyAgaXMgYSBjb3JyZWN0IHZhbGlkIG51
bWJlci4KK1BBU1MgMS4yRTY1NTM1IGlzIGEgY29ycmVjdCBpbnZhbGlkIG51bWJlci4KK1BBU1Mg
MS4gaXMgYSBjb3JyZWN0IHZhbGlkIG51bWJlci4KK1BBU1MgMS4yZTEwIGlzIGEgY29ycmVjdCB2
YWxpZCBudW1iZXIuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRl
LXR5cGVNaXNtYXRjaC1udW1iZXIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRp
dHlTdGF0ZS10eXBlTWlzbWF0Y2gtbnVtYmVyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMC4uMjlkMWRlOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtbnVtYmVyLmh0bWwKQEAgLTAsMCArMSwx
MyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQg
c3JjPSJyZXNvdXJjZXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtbnVtYmVyLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9yZXNvdXJjZXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtbnVtYmVyLmpz
IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yZXNvdXJjZXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlz
bWF0Y2gtbnVtYmVyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJlOGEw
ODYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Jlc291cmNlcy9W
YWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1udW1iZXIuanMKQEAgLTAsMCArMSw1OCBAQAorZGVz
Y3JpcHRpb24oJ1RoaXMgdGVzdCBhaW1zIHRvIGNoZWNrIGZvciB0eXBlTWlzbWF0Y2ggZmxhZyB3
aXRoIHR5cGU9bnVtYmVyIGlucHV0IGZpZWxkcycpOworCit2YXIgaSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ2lucHV0Jyk7CitpLnR5cGUgPSAnbnVtYmVyJzsKKworZnVuY3Rpb24gY2hlY2so
dmFsdWUsIG1pc21hdGNoRXhwZWN0ZWQpCit7CisgICAgaS52YWx1ZSA9IHZhbHVlOworICAgIHZh
ciBhY3R1YWwgPSBpLnZhbGlkaXR5LnR5cGVNaXNtYXRjaDsKKyAgICB2YXIgZGlkUGFzcyA9IGFj
dHVhbCA9PSBtaXNtYXRjaEV4cGVjdGVkOworICAgIHZhciByZXN1bHRUZXh0ID0gdmFsdWUgKyAn
IGlzICcgKyAoZGlkUGFzcyA/ICdhIGNvcnJlY3QgJyA6ICdhbiBpbmNvcnJlY3QgJykgKyAoYWN0
dWFsID8gJ2ludmFsaWQnIDogJ3ZhbGlkJykgKyAnIG51bWJlci4nOworICAgIGlmIChkaWRQYXNz
KQorICAgICAgICB0ZXN0UGFzc2VkKHJlc3VsdFRleHQpOworICAgIGVsc2UKKyAgICAgICAgdGVz
dEZhaWxlZChyZXN1bHRUZXh0KTsKK30KKworLy8gVmFsaWQgdmFsdWVzCitjaGVjaygnMCcsIGZh
bHNlKTsKK2NoZWNrKCcxMCcsIGZhbHNlKTsKK2NoZWNrKCcwMScsIGZhbHNlKTsKK2NoZWNrKCct
MCcsIGZhbHNlKTsKK2NoZWNrKCctMS4yJywgZmFsc2UpOworY2hlY2soJzEuMkUxMCcsIGZhbHNl
KTsKK2NoZWNrKCcxLjJFLTEwJywgZmFsc2UpOworY2hlY2soJzEuMkUrMTAnLCBmYWxzZSk7Citj
aGVjaygnMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAn
LCBmYWxzZSk7CitjaGVjaygnMC4xMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3
ODkwMTIzNDU2Nzg5MCcsIGZhbHNlKTsKKworLy8gSW52YWxpZCB2YWx1ZXMKK2NoZWNrKCdhYmMn
LCB0cnVlKTsKK2NoZWNrKCcweGZmJywgdHJ1ZSk7CisKK2NoZWNrKCcrMScsIHRydWUpOworY2hl
Y2soJyAxMCcsIHRydWUpOworY2hlY2soJzEwICcsIHRydWUpOworY2hlY2soJzEsMicsIHRydWUp
OworY2hlY2soJy4yJywgdHJ1ZSk7CitjaGVjaygnMUUnLCB0cnVlKTsKK2NoZWNrKCdOYU4nLCB0
cnVlKTsKK2NoZWNrKCduYW4nLCB0cnVlKTsKK2NoZWNrKCdJbmYnLCB0cnVlKTsKK2NoZWNrKCdp
bmYnLCB0cnVlKTsKK2NoZWNrKCdJbmZpbml0eScsIHRydWUpOworY2hlY2soJ2luZmluaXR5Jywg
dHJ1ZSk7CisKKy8vIEFzc3VtZSBlbXB0eSBzdHJpbmcgYXMgdmFsaWQuCitjaGVjaygnJywgZmFs
c2UpOworCisvLyBUaGUgc3BlYyBhbGxvd3MsIGJ1dCBvdXIgaW1wbGVtZW50YXRpb24gZG9lc24n
dAorLy8gSHVnZSBleHBvbmVudC4KK2NoZWNrKCcxLjJFNjU1MzUnLCB0cnVlKTsKKworLy8gVGhl
IHNwZWMgZG9lc24ndCBhbGxvdywgYnV0IG91ciBpbXBsZW1lbnRhdGlvbiBkb2VzLgorY2hlY2so
JzEuJywgZmFsc2UpOworY2hlY2soJzEuMmUxMCcsIGZhbHNlKTsKKwordmFyIHN1Y2Nlc3NmdWxs
eVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUv
Q2hhbmdlTG9nCmluZGV4IGQwMTAyMWQuLmY3YzlhY2IgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hh
bmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMDktMDkt
MDMgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBWYWxpZGl0eVN0YXRlOjp0
eXBlTWlzbWF0Y2goKSBmb3IgPGlucHV0IHR5cGU9bnVtYmVyPi4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI4OTM0CisKKyAgICAgICAgVGVzdDogZmFz
dC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1udW1iZXIuaHRtbAorCisgICAgICAg
ICogaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1
dEVsZW1lbnQ6OnRvRG91YmxlRm9ySHRtbDUpOgorICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxl
bWVudC5oOgorICAgICAgICAqIGh0bWwvVmFsaWRpdHlTdGF0ZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpWYWxpZGl0eVN0YXRlOjp0eXBlTWlzbWF0Y2gpOgorICAgICAgICAqIGh0bWwvVmFsaWRp
dHlTdGF0ZS5oOgorCiAyMDA5LTA4LTMxICBHdXN0YXZvIE5vcm9uaGEgU2lsdmEgIDxndXN0YXZv
Lm5vcm9uaGFAY29sbGFib3JhLmNvLnVrPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFsZXhleSBQ
cm9za3VyeWFrb3YuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5j
cHAgYi9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKaW5kZXggYjRkZjA5ZC4uMjRi
YTBiYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCisrKyBi
L1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcApAQCAtNTksNiArNTksNyBAQAogI2lu
Y2x1ZGUgIlJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5oIgogI2luY2x1ZGUgIlJlbmRlclRo
ZW1lLmgiCiAjaW5jbHVkZSAiVGV4dEV2ZW50LmgiCisjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMu
aD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7
CkBAIC0xNzcyLDYgKzE3NzMsMjkgQEAgYm9vbCBIVE1MSW5wdXRFbGVtZW50OjpwbGFjZWhvbGRl
clNob3VsZEJlVmlzaWJsZSgpIGNvbnN0CiAgICAgcmV0dXJuIElucHV0RWxlbWVudDo6cGxhY2Vo
b2xkZXJTaG91bGRCZVZpc2libGUodGhpcywgdGhpcyk7CiB9CiAKK2Jvb2wgSFRNTElucHV0RWxl
bWVudDo6dG9Eb3VibGVGb3JIdG1sNShjb25zdCBTdHJpbmcmIHNyYywgZG91YmxlKiBvdXQpCit7
CisgICAgLy8gU2VlIEhUTUw1IDIuNC40LjMgYFJlYWwgbnVtYmVycy4nCisKKyAgICBpZiAoc3Jj
LmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIC8vIFN0cmluZzo6dG9Eb3Vi
bGUoKSBhY2NlcHRzIGxlYWRpbmcgKyBcdCBcbiBcdiBcZiBcciBhbmQgU1BBQ0UsIHdoaWNoIGFy
ZSBpbnZhbGlkIGluIEhUTUw1LgorICAgIC8vIFNvLCBjaGVjayB0aGUgZmlyc3QgY2hhcmFjdGVy
LgorICAgIGlmIChzcmNbMF0gIT0gJy0nICYmIChzcmNbMF0gPCAnMCcgfHwgc3JjWzBdID4gJzkn
KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgYm9vbCB2YWxpZCA9IGZhbHNlOworICAg
IGRvdWJsZSB2YWx1ZSA9IHNyYy50b0RvdWJsZSgmdmFsaWQpOworICAgIGlmICghdmFsaWQpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAvLyBOYU4gYW5kIEluZmluaXR5IGFyZSBub3QgdmFs
aWQgbnVtZWJlcnMgYWNjb3JkaW5nIHRvIEhUTUw1LgorICAgIGlmIChpc25hbih2YWx1ZSkgfHwg
aXNpbmYodmFsdWUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKG91dCkKKyAgICAg
ICAgKm91dCA9IHZhbHVlOworICAgIHJldHVybiB0cnVlOworfQorCiAjaWYgRU5BQkxFKERBVEFM
SVNUKQogSFRNTEVsZW1lbnQqIEhUTUxJbnB1dEVsZW1lbnQ6Omxpc3QoKSBjb25zdAogewpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaCBiL1dlYkNvcmUvaHRtbC9I
VE1MSW5wdXRFbGVtZW50LmgKaW5kZXggNTA1NGM3Zi4uNmNjMDU0YyAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTElucHV0
RWxlbWVudC5oCkBAIC0yMzAsNiArMjMwLDExIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wg
d2lsbFZhbGlkYXRlKCkgY29uc3Q7CiAKICAgICB2aXJ0dWFsIGJvb2wgcGxhY2Vob2xkZXJTaG91
bGRCZVZpc2libGUoKSBjb25zdDsKKworICAgIC8vIENvbnZlcnRzIHRoZSBzcGVjaWZpZWQgc3Ry
aW5nIHRvIGEgZmxvYXRpbmcgbnVtYmVyLgorICAgIC8vIElmIHRoZSBjb252ZXJzaW9uIGZhaWxz
LCB0aGUgcmV0dXJuIHZhbHVlIGlzIGZhbHNlLiBUYWtlIGNhcmUgdGhhdCBsZWFkaW5nIG9yIHRy
YWlsaW5nIHVubmVjZXNzYXJ5IGNoYXJhY3RlcnMgbWFrZSBmYWlsdXJlcy4gIFRoaXMgcmV0dXJu
cyBmYWxzZSBmb3IgYW4gZW1wdHkgc3RyaW5nIGlucHV0LgorICAgIC8vIFRoZSBkb3VibGUqIHBh
cmFtZXRlciBtYXkgYmUgMC4KKyAgICBzdGF0aWMgYm9vbCB0b0RvdWJsZUZvckh0bWw1KGNvbnN0
IFN0cmluZyYsIGRvdWJsZSopOwogICAgIAogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCB3
aWxsTW92ZVRvTmV3T3duZXJEb2N1bWVudCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL1Zh
bGlkaXR5U3RhdGUuY3BwIGIvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuY3BwCmluZGV4IDg2
MjI3ZDQuLjYwMzk2YzkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmNw
cAorKysgYi9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5jcHAKQEAgLTIzLDE0ICsyMywzNiBA
QAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlZhbGlkaXR5U3RhdGUuaCIKIAorI2lu
Y2x1ZGUgIkhUTUxJbnB1dEVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MTmFtZXMuaCIKKwogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCit1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOworCiBWYWxpZGl0
eVN0YXRlOjpWYWxpZGl0eVN0YXRlKEhUTUxGb3JtQ29udHJvbEVsZW1lbnQqIHBhcmVudCkKICAg
ICA6IG1fY29udHJvbChwYXJlbnQpCiB7CiAgICAgQVNTRVJUKHBhcmVudCk7CiB9CiAKK2Jvb2wg
VmFsaWRpdHlTdGF0ZTo6dHlwZU1pc21hdGNoKCkKK3sKKyAgICBpZiAoIWNvbnRyb2woKS0+aGFz
VGFnTmFtZShpbnB1dFRhZykpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIEhUTUxJbnB1
dEVsZW1lbnQqIGlucHV0ID0gc3RhdGljX2Nhc3Q8SFRNTElucHV0RWxlbWVudCo+KGNvbnRyb2wo
KSk7CisgICAgU3RyaW5nIHZhbHVlID0gaW5wdXQtPnZhbHVlKCk7CisKKyAgICBpZiAodmFsdWUu
aXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoaW5wdXQtPmlucHV0
VHlwZSgpICE9IEhUTUxJbnB1dEVsZW1lbnQ6Ok5VTUJFUikKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgIC8vIENoZWNrIHRvIG1ha2Ugc3VyZSB0aGUgbnVtYmVyIGlzIHZhbGlkLCBpZ25vcmUg
dGhlIHBhcnNlZCBudW1iZXIuCisgICAgcmV0dXJuICFIVE1MSW5wdXRFbGVtZW50Ojp0b0RvdWJs
ZUZvckh0bWw1KHZhbHVlLCAwKTsKK30KKwogYm9vbCBWYWxpZGl0eVN0YXRlOjp2YWxpZCgpCiB7
CiAgICAgYm9vbCBzb21lRXJyb3IgPSB0eXBlTWlzbWF0Y2goKSB8fCBzdGVwTWlzbWF0Y2goKSB8
fCByYW5nZVVuZGVyZmxvdygpIHx8IHJhbmdlT3ZlcmZsb3coKSB8fApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuaCBiL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmgK
aW5kZXggNzk0ODIyYS4uMTliZWY0MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL1ZhbGlkaXR5
U3RhdGUuaAorKysgYi9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5oCkBAIC00MSw3ICs0MSw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCBzZXRDdXN0b21FcnJvck1lc3Nh
Z2UoY29uc3QgU3RyaW5nJiBtZXNzYWdlKSB7IG1fY3VzdG9tRXJyb3JNZXNzYWdlID0gbWVzc2Fn
ZTsgfQogCiAgICAgICAgIGJvb2wgdmFsdWVNaXNzaW5nKCkgeyByZXR1cm4gY29udHJvbCgpLT52
YWx1ZU1pc3NpbmcoKTsgfQotICAgICAgICBib29sIHR5cGVNaXNtYXRjaCgpIHsgcmV0dXJuIGZh
bHNlOyB9CisgICAgICAgIGJvb2wgdHlwZU1pc21hdGNoKCk7CiAgICAgICAgIGJvb2wgcGF0dGVy
bk1pc21hdGNoKCkgeyByZXR1cm4gY29udHJvbCgpLT5wYXR0ZXJuTWlzbWF0Y2goKTsgfQogICAg
ICAgICBib29sIHRvb0xvbmcoKSB7IHJldHVybiBmYWxzZTsgfQogICAgICAgICBib29sIHJhbmdl
VW5kZXJmbG93KCkgeyByZXR1cm4gZmFsc2U7IH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39031</attachid>
            <date>2009-09-03 19:06:56 -0700</date>
            <delta_ts>2009-09-04 02:18:51 -0700</delta_ts>
            <desc>Proposed patch (rev.3)</desc>
            <filename>typemismatch-number-3.diff</filename>
            <type>text/plain</type>
            <size>9416</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAzNGYyNzNlLi5iY2UxYmY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMDktMDkt
MDMgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3RzIGZvciBWYWxpZGl0eVN0YXRlOjp0
eXBlTWlzbWF0Y2goKSBmb3IgPGlucHV0IHR5cGU9bnVtYmVyPi4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI4OTM0CisKKyAgICAgICAgKiBmYXN0L2Zv
cm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLW51bWJlci1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtbnVtYmVy
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvcmVzb3VyY2VzL1ZhbGlkaXR5U3Rh
dGUtdHlwZU1pc21hdGNoLW51bWJlci5qczogQWRkZWQuCisKIDIwMDktMDktMDMgIEFsZXhleSBQ
cm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4g
QWRsZXIuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUt
dHlwZU1pc21hdGNoLW51bWJlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLW51bWJlci1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDZmYWM2ZgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtbnVtYmVyLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM3IEBACitUaGlzIHRlc3QgYWltcyB0byBjaGVjayBmb3Ig
dHlwZU1pc21hdGNoIGZsYWcgd2l0aCB0eXBlPW51bWJlciBpbnB1dCBmaWVsZHMKKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgMCBpcyBhIGNvcnJlY3QgdmFsaWQgbnVtYmVy
LgorUEFTUyAxMCBpcyBhIGNvcnJlY3QgdmFsaWQgbnVtYmVyLgorUEFTUyAwMSBpcyBhIGNvcnJl
Y3QgdmFsaWQgbnVtYmVyLgorUEFTUyAtMCBpcyBhIGNvcnJlY3QgdmFsaWQgbnVtYmVyLgorUEFT
UyAtMS4yIGlzIGEgY29ycmVjdCB2YWxpZCBudW1iZXIuCitQQVNTIDEuMkUxMCBpcyBhIGNvcnJl
Y3QgdmFsaWQgbnVtYmVyLgorUEFTUyAxLjJFLTEwIGlzIGEgY29ycmVjdCB2YWxpZCBudW1iZXIu
CitQQVNTIDEuMkUrMTAgaXMgYSBjb3JyZWN0IHZhbGlkIG51bWJlci4KK1BBU1MgMTIzNDU2Nzg5
MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAgaXMgYSBjb3JyZWN0IHZh
bGlkIG51bWJlci4KK1BBU1MgMC4xMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3
ODkwMTIzNDU2Nzg5MCBpcyBhIGNvcnJlY3QgdmFsaWQgbnVtYmVyLgorUEFTUyBhYmMgaXMgYSBj
b3JyZWN0IGludmFsaWQgbnVtYmVyLgorUEFTUyAweGZmIGlzIGEgY29ycmVjdCBpbnZhbGlkIG51
bWJlci4KK1BBU1MgKzEgaXMgYSBjb3JyZWN0IGludmFsaWQgbnVtYmVyLgorUEFTUyAgMTAgaXMg
YSBjb3JyZWN0IGludmFsaWQgbnVtYmVyLgorUEFTUyAxMCAgaXMgYSBjb3JyZWN0IGludmFsaWQg
bnVtYmVyLgorUEFTUyAxLDIgaXMgYSBjb3JyZWN0IGludmFsaWQgbnVtYmVyLgorUEFTUyAuMiBp
cyBhIGNvcnJlY3QgaW52YWxpZCBudW1iZXIuCitQQVNTIDFFIGlzIGEgY29ycmVjdCBpbnZhbGlk
IG51bWJlci4KK1BBU1MgTmFOIGlzIGEgY29ycmVjdCBpbnZhbGlkIG51bWJlci4KK1BBU1MgbmFu
IGlzIGEgY29ycmVjdCBpbnZhbGlkIG51bWJlci4KK1BBU1MgSW5mIGlzIGEgY29ycmVjdCBpbnZh
bGlkIG51bWJlci4KK1BBU1MgaW5mIGlzIGEgY29ycmVjdCBpbnZhbGlkIG51bWJlci4KK1BBU1Mg
SW5maW5pdHkgaXMgYSBjb3JyZWN0IGludmFsaWQgbnVtYmVyLgorUEFTUyBpbmZpbml0eSBpcyBh
IGNvcnJlY3QgaW52YWxpZCBudW1iZXIuCitQQVNTICBpcyBhIGNvcnJlY3QgdmFsaWQgbnVtYmVy
LgorUEFTUyAxLjJFNjU1MzUgaXMgYSBjb3JyZWN0IGludmFsaWQgbnVtYmVyLgorUEFTUyAxLiBp
cyBhIGNvcnJlY3QgdmFsaWQgbnVtYmVyLgorUEFTUyAxLjJlMTAgaXMgYSBjb3JyZWN0IHZhbGlk
IG51bWJlci4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlw
ZU1pc21hdGNoLW51bWJlci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0
YXRlLXR5cGVNaXNtYXRjaC1udW1iZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwLi4yOWQxZGU4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1udW1iZXIuaHRtbApAQCAtMCwwICsxLDEzIEBA
Cis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4K
KzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9
InJlc291cmNlcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1udW1iZXIuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL3Jlc291cmNlcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1udW1iZXIuanMgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Jlc291cmNlcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRj
aC1udW1iZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmU4YTA4Ngot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcmVzb3VyY2VzL1ZhbGlk
aXR5U3RhdGUtdHlwZU1pc21hdGNoLW51bWJlci5qcwpAQCAtMCwwICsxLDU4IEBACitkZXNjcmlw
dGlvbignVGhpcyB0ZXN0IGFpbXMgdG8gY2hlY2sgZm9yIHR5cGVNaXNtYXRjaCBmbGFnIHdpdGgg
dHlwZT1udW1iZXIgaW5wdXQgZmllbGRzJyk7CisKK3ZhciBpID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgnaW5wdXQnKTsKK2kudHlwZSA9ICdudW1iZXInOworCitmdW5jdGlvbiBjaGVjayh2YWx1
ZSwgbWlzbWF0Y2hFeHBlY3RlZCkKK3sKKyAgICBpLnZhbHVlID0gdmFsdWU7CisgICAgdmFyIGFj
dHVhbCA9IGkudmFsaWRpdHkudHlwZU1pc21hdGNoOworICAgIHZhciBkaWRQYXNzID0gYWN0dWFs
ID09IG1pc21hdGNoRXhwZWN0ZWQ7CisgICAgdmFyIHJlc3VsdFRleHQgPSB2YWx1ZSArICcgaXMg
JyArIChkaWRQYXNzID8gJ2EgY29ycmVjdCAnIDogJ2FuIGluY29ycmVjdCAnKSArIChhY3R1YWwg
PyAnaW52YWxpZCcgOiAndmFsaWQnKSArICcgbnVtYmVyLic7CisgICAgaWYgKGRpZFBhc3MpCisg
ICAgICAgIHRlc3RQYXNzZWQocmVzdWx0VGV4dCk7CisgICAgZWxzZQorICAgICAgICB0ZXN0RmFp
bGVkKHJlc3VsdFRleHQpOworfQorCisvLyBWYWxpZCB2YWx1ZXMKK2NoZWNrKCcwJywgZmFsc2Up
OworY2hlY2soJzEwJywgZmFsc2UpOworY2hlY2soJzAxJywgZmFsc2UpOworY2hlY2soJy0wJywg
ZmFsc2UpOworY2hlY2soJy0xLjInLCBmYWxzZSk7CitjaGVjaygnMS4yRTEwJywgZmFsc2UpOwor
Y2hlY2soJzEuMkUtMTAnLCBmYWxzZSk7CitjaGVjaygnMS4yRSsxMCcsIGZhbHNlKTsKK2NoZWNr
KCcxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCcsIGZh
bHNlKTsKK2NoZWNrKCcwLjEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAx
MjM0NTY3ODkwJywgZmFsc2UpOworCisvLyBJbnZhbGlkIHZhbHVlcworY2hlY2soJ2FiYycsIHRy
dWUpOworY2hlY2soJzB4ZmYnLCB0cnVlKTsKKworY2hlY2soJysxJywgdHJ1ZSk7CitjaGVjaygn
IDEwJywgdHJ1ZSk7CitjaGVjaygnMTAgJywgdHJ1ZSk7CitjaGVjaygnMSwyJywgdHJ1ZSk7Citj
aGVjaygnLjInLCB0cnVlKTsKK2NoZWNrKCcxRScsIHRydWUpOworY2hlY2soJ05hTicsIHRydWUp
OworY2hlY2soJ25hbicsIHRydWUpOworY2hlY2soJ0luZicsIHRydWUpOworY2hlY2soJ2luZics
IHRydWUpOworY2hlY2soJ0luZmluaXR5JywgdHJ1ZSk7CitjaGVjaygnaW5maW5pdHknLCB0cnVl
KTsKKworLy8gQXNzdW1lIGVtcHR5IHN0cmluZyBhcyB2YWxpZC4KK2NoZWNrKCcnLCBmYWxzZSk7
CisKKy8vIFRoZSBzcGVjIGFsbG93cywgYnV0IG91ciBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0Cisv
LyBIdWdlIGV4cG9uZW50LgorY2hlY2soJzEuMkU2NTUzNScsIHRydWUpOworCisvLyBUaGUgc3Bl
YyBkb2Vzbid0IGFsbG93LCBidXQgb3VyIGltcGxlbWVudGF0aW9uIGRvZXMuCitjaGVjaygnMS4n
LCBmYWxzZSk7CitjaGVjaygnMS4yZTEwJywgZmFsc2UpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFy
c2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFu
Z2VMb2cKaW5kZXggOGU3ZTllOS4uMzUyOTM1YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VM
b2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAwOS0wOS0wMyAg
S2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IFZhbGlkaXR5U3RhdGU6OnR5cGVN
aXNtYXRjaCgpIGZvciA8aW5wdXQgdHlwZT1udW1iZXI+LgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mjg5MzQKKworICAgICAgICBUZXN0OiBmYXN0L2Zv
cm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLW51bWJlci5odG1sCisKKyAgICAgICAgKiBo
dG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxl
bWVudDo6Zm9ybVN0cmluZ1RvRG91YmxlKToKKyAgICAgICAgKiBodG1sL0hUTUxJbnB1dEVsZW1l
bnQuaDoKKyAgICAgICAgKiBodG1sL1ZhbGlkaXR5U3RhdGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6VmFsaWRpdHlTdGF0ZTo6dHlwZU1pc21hdGNoKToKKyAgICAgICAgKiBodG1sL1ZhbGlkaXR5
U3RhdGUuaDoKKwogMjAwOS0wOS0wMyAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNv
bT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KZGlmZiAtLWdpdCBhL1dlYkNv
cmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcCBiL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVt
ZW50LmNwcAppbmRleCBmNzRmNzg3Li5lODU5NzdmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwv
SFRNTElucHV0RWxlbWVudC5jcHAKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQu
Y3BwCkBAIC01OSw2ICs1OSw3IEBACiAjaW5jbHVkZSAiUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVM
aW5lLmgiCiAjaW5jbHVkZSAiUmVuZGVyVGhlbWUuaCIKICNpbmNsdWRlICJUZXh0RXZlbnQuaCIK
KyNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMu
aD4KIAogdXNpbmcgbmFtZXNwYWNlIHN0ZDsKQEAgLTE3NzIsNiArMTc3MywyOSBAQCBib29sIEhU
TUxJbnB1dEVsZW1lbnQ6OnBsYWNlaG9sZGVyU2hvdWxkQmVWaXNpYmxlKCkgY29uc3QKICAgICBy
ZXR1cm4gSW5wdXRFbGVtZW50OjpwbGFjZWhvbGRlclNob3VsZEJlVmlzaWJsZSh0aGlzLCB0aGlz
KTsKIH0KIAorYm9vbCBIVE1MSW5wdXRFbGVtZW50Ojpmb3JtU3RyaW5nVG9Eb3VibGUoY29uc3Qg
U3RyaW5nJiBzcmMsIGRvdWJsZSogb3V0KQoreworICAgIC8vIFNlZSBIVE1MNSAyLjQuNC4zIGBS
ZWFsIG51bWJlcnMuJworCisgICAgaWYgKHNyYy5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICAvLyBTdHJpbmc6OnRvRG91YmxlKCkgYWNjZXB0cyBsZWFkaW5nICsgXHQgXG4g
XHYgXGYgXHIgYW5kIFNQQUNFLCB3aGljaCBhcmUgaW52YWxpZCBpbiBIVE1MNS4KKyAgICAvLyBT
bywgY2hlY2sgdGhlIGZpcnN0IGNoYXJhY3Rlci4KKyAgICBpZiAoc3JjWzBdICE9ICctJyAmJiAo
c3JjWzBdIDwgJzAnIHx8IHNyY1swXSA+ICc5JykpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwor
ICAgIGJvb2wgdmFsaWQgPSBmYWxzZTsKKyAgICBkb3VibGUgdmFsdWUgPSBzcmMudG9Eb3VibGUo
JnZhbGlkKTsKKyAgICBpZiAoIXZhbGlkKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgLy8g
TmFOIGFuZCBJbmZpbml0eSBhcmUgbm90IHZhbGlkIG51bWJlcnMgYWNjb3JkaW5nIHRvIHRoZSBz
dGFuZGFyZC4KKyAgICBpZiAoaXNuYW4odmFsdWUpIHx8IGlzaW5mKHZhbHVlKSkKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgIGlmIChvdXQpCisgICAgICAgICpvdXQgPSB2YWx1ZTsKKyAgICBy
ZXR1cm4gdHJ1ZTsKK30KKwogI2lmIEVOQUJMRShEQVRBTElTVCkKIEhUTUxFbGVtZW50KiBIVE1M
SW5wdXRFbGVtZW50OjpsaXN0KCkgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9I
VE1MSW5wdXRFbGVtZW50LmggYi9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCmluZGV4
IDUwNTRjN2YuLmQ5NTFmNDAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVt
ZW50LmgKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaApAQCAtMjMwLDYgKzIz
MCwxMSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIHdpbGxWYWxpZGF0ZSgpIGNvbnN0Owog
CiAgICAgdmlydHVhbCBib29sIHBsYWNlaG9sZGVyU2hvdWxkQmVWaXNpYmxlKCkgY29uc3Q7CisK
KyAgICAvLyBDb252ZXJ0cyB0aGUgc3BlY2lmaWVkIHN0cmluZyB0byBhIGZsb2F0aW5nIG51bWJl
ci4KKyAgICAvLyBJZiB0aGUgY29udmVyc2lvbiBmYWlscywgdGhlIHJldHVybiB2YWx1ZSBpcyBm
YWxzZS4gVGFrZSBjYXJlIHRoYXQgbGVhZGluZyBvciB0cmFpbGluZyB1bm5lY2Vzc2FyeSBjaGFy
YWN0ZXJzIG1ha2UgZmFpbHVyZXMuICBUaGlzIHJldHVybnMgZmFsc2UgZm9yIGFuIGVtcHR5IHN0
cmluZyBpbnB1dC4KKyAgICAvLyBUaGUgZG91YmxlKiBwYXJhbWV0ZXIgbWF5IGJlIDAuCisgICAg
c3RhdGljIGJvb2wgZm9ybVN0cmluZ1RvRG91YmxlKGNvbnN0IFN0cmluZyYsIGRvdWJsZSopOwog
ICAgIAogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCB3aWxsTW92ZVRvTmV3T3duZXJEb2N1
bWVudCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuY3BwIGIvV2Vi
Q29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuY3BwCmluZGV4IDg2MjI3ZDQuLjRjOWMwYjAgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmNwcAorKysgYi9XZWJDb3JlL2h0bWwv
VmFsaWRpdHlTdGF0ZS5jcHAKQEAgLTIzLDE0ICsyMywzNiBAQAogI2luY2x1ZGUgImNvbmZpZy5o
IgogI2luY2x1ZGUgIlZhbGlkaXR5U3RhdGUuaCIKIAorI2luY2x1ZGUgIkhUTUxJbnB1dEVsZW1l
bnQuaCIKKyNpbmNsdWRlICJIVE1MTmFtZXMuaCIKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCit1
c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOworCiBWYWxpZGl0eVN0YXRlOjpWYWxpZGl0eVN0YXRl
KEhUTUxGb3JtQ29udHJvbEVsZW1lbnQqIHBhcmVudCkKICAgICA6IG1fY29udHJvbChwYXJlbnQp
CiB7CiAgICAgQVNTRVJUKHBhcmVudCk7CiB9CiAKK2Jvb2wgVmFsaWRpdHlTdGF0ZTo6dHlwZU1p
c21hdGNoKCkKK3sKKyAgICBpZiAoIWNvbnRyb2woKS0+aGFzVGFnTmFtZShpbnB1dFRhZykpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIEhUTUxJbnB1dEVsZW1lbnQqIGlucHV0ID0gc3Rh
dGljX2Nhc3Q8SFRNTElucHV0RWxlbWVudCo+KGNvbnRyb2woKSk7CisgICAgU3RyaW5nIHZhbHVl
ID0gaW5wdXQtPnZhbHVlKCk7CisKKyAgICBpZiAodmFsdWUuaXNFbXB0eSgpKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoaW5wdXQtPmlucHV0VHlwZSgpICE9IEhUTUxJbnB1dEVs
ZW1lbnQ6Ok5VTUJFUikKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIC8vIENoZWNrIHRvIG1h
a2Ugc3VyZSB0aGUgbnVtYmVyIGlzIHZhbGlkLCBpZ25vcmUgdGhlIHBhcnNlZCBudW1iZXIuCisg
ICAgcmV0dXJuICFIVE1MSW5wdXRFbGVtZW50Ojpmb3JtU3RyaW5nVG9Eb3VibGUodmFsdWUsIDAp
OworfQorCiBib29sIFZhbGlkaXR5U3RhdGU6OnZhbGlkKCkKIHsKICAgICBib29sIHNvbWVFcnJv
ciA9IHR5cGVNaXNtYXRjaCgpIHx8IHN0ZXBNaXNtYXRjaCgpIHx8IHJhbmdlVW5kZXJmbG93KCkg
fHwgcmFuZ2VPdmVyZmxvdygpIHx8CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlT
dGF0ZS5oIGIvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuaAppbmRleCA3OTQ4MjJhLi4xOWJl
ZjQxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5oCisrKyBiL1dlYkNv
cmUvaHRtbC9WYWxpZGl0eVN0YXRlLmgKQEAgLTQxLDcgKzQxLDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgICAgICB2b2lkIHNldEN1c3RvbUVycm9yTWVzc2FnZShjb25zdCBTdHJpbmcmIG1l
c3NhZ2UpIHsgbV9jdXN0b21FcnJvck1lc3NhZ2UgPSBtZXNzYWdlOyB9CiAKICAgICAgICAgYm9v
bCB2YWx1ZU1pc3NpbmcoKSB7IHJldHVybiBjb250cm9sKCktPnZhbHVlTWlzc2luZygpOyB9Ci0g
ICAgICAgIGJvb2wgdHlwZU1pc21hdGNoKCkgeyByZXR1cm4gZmFsc2U7IH0KKyAgICAgICAgYm9v
bCB0eXBlTWlzbWF0Y2goKTsKICAgICAgICAgYm9vbCBwYXR0ZXJuTWlzbWF0Y2goKSB7IHJldHVy
biBjb250cm9sKCktPnBhdHRlcm5NaXNtYXRjaCgpOyB9CiAgICAgICAgIGJvb2wgdG9vTG9uZygp
IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgICAgIGJvb2wgcmFuZ2VVbmRlcmZsb3coKSB7IHJldHVy
biBmYWxzZTsgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39046</attachid>
            <date>2009-09-04 02:18:51 -0700</date>
            <delta_ts>2009-09-08 10:23:15 -0700</delta_ts>
            <desc>Proposed patch (rev.4)</desc>
            <filename>typemismatch-number-4.diff</filename>
            <type>text/plain</type>
            <size>8372</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA2MDlhYzVmLi5jZTljZDJmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMDktMDkt
MDMgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3RzIGZvciBWYWxpZGl0eVN0YXRlOjp0
eXBlTWlzbWF0Y2goKSBmb3IgPGlucHV0IHR5cGU9bnVtYmVyPi4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI4OTM0CisKKyAgICAgICAgKiBmYXN0L2Zv
cm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLW51bWJlci1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtbnVtYmVy
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvcmVzb3VyY2VzL1ZhbGlkaXR5U3Rh
dGUtdHlwZU1pc21hdGNoLW51bWJlci5qczogQWRkZWQuCisKIDIwMDktMDktMDQgIEtlbnQgVGFt
dXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2Vp
ZGVsLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5
cGVNaXNtYXRjaC1udW1iZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9W
YWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1udW1iZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ2ZmFjNmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLW51bWJlci1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNyBAQAorVGhpcyB0ZXN0IGFpbXMgdG8gY2hlY2sgZm9yIHR5
cGVNaXNtYXRjaCBmbGFnIHdpdGggdHlwZT1udW1iZXIgaW5wdXQgZmllbGRzCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIDAgaXMgYSBjb3JyZWN0IHZhbGlkIG51bWJlci4K
K1BBU1MgMTAgaXMgYSBjb3JyZWN0IHZhbGlkIG51bWJlci4KK1BBU1MgMDEgaXMgYSBjb3JyZWN0
IHZhbGlkIG51bWJlci4KK1BBU1MgLTAgaXMgYSBjb3JyZWN0IHZhbGlkIG51bWJlci4KK1BBU1Mg
LTEuMiBpcyBhIGNvcnJlY3QgdmFsaWQgbnVtYmVyLgorUEFTUyAxLjJFMTAgaXMgYSBjb3JyZWN0
IHZhbGlkIG51bWJlci4KK1BBU1MgMS4yRS0xMCBpcyBhIGNvcnJlY3QgdmFsaWQgbnVtYmVyLgor
UEFTUyAxLjJFKzEwIGlzIGEgY29ycmVjdCB2YWxpZCBudW1iZXIuCitQQVNTIDEyMzQ1Njc4OTAx
MjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwIGlzIGEgY29ycmVjdCB2YWxp
ZCBudW1iZXIuCitQQVNTIDAuMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5
MDEyMzQ1Njc4OTAgaXMgYSBjb3JyZWN0IHZhbGlkIG51bWJlci4KK1BBU1MgYWJjIGlzIGEgY29y
cmVjdCBpbnZhbGlkIG51bWJlci4KK1BBU1MgMHhmZiBpcyBhIGNvcnJlY3QgaW52YWxpZCBudW1i
ZXIuCitQQVNTICsxIGlzIGEgY29ycmVjdCBpbnZhbGlkIG51bWJlci4KK1BBU1MgIDEwIGlzIGEg
Y29ycmVjdCBpbnZhbGlkIG51bWJlci4KK1BBU1MgMTAgIGlzIGEgY29ycmVjdCBpbnZhbGlkIG51
bWJlci4KK1BBU1MgMSwyIGlzIGEgY29ycmVjdCBpbnZhbGlkIG51bWJlci4KK1BBU1MgLjIgaXMg
YSBjb3JyZWN0IGludmFsaWQgbnVtYmVyLgorUEFTUyAxRSBpcyBhIGNvcnJlY3QgaW52YWxpZCBu
dW1iZXIuCitQQVNTIE5hTiBpcyBhIGNvcnJlY3QgaW52YWxpZCBudW1iZXIuCitQQVNTIG5hbiBp
cyBhIGNvcnJlY3QgaW52YWxpZCBudW1iZXIuCitQQVNTIEluZiBpcyBhIGNvcnJlY3QgaW52YWxp
ZCBudW1iZXIuCitQQVNTIGluZiBpcyBhIGNvcnJlY3QgaW52YWxpZCBudW1iZXIuCitQQVNTIElu
ZmluaXR5IGlzIGEgY29ycmVjdCBpbnZhbGlkIG51bWJlci4KK1BBU1MgaW5maW5pdHkgaXMgYSBj
b3JyZWN0IGludmFsaWQgbnVtYmVyLgorUEFTUyAgaXMgYSBjb3JyZWN0IHZhbGlkIG51bWJlci4K
K1BBU1MgMS4yRTY1NTM1IGlzIGEgY29ycmVjdCBpbnZhbGlkIG51bWJlci4KK1BBU1MgMS4gaXMg
YSBjb3JyZWN0IHZhbGlkIG51bWJlci4KK1BBU1MgMS4yZTEwIGlzIGEgY29ycmVjdCB2YWxpZCBu
dW1iZXIuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVN
aXNtYXRjaC1udW1iZXIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0
ZS10eXBlTWlzbWF0Y2gtbnVtYmVyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uMjlkMWRlOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
VmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtbnVtYmVyLmh0bWwKQEAgLTAsMCArMSwxMyBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJy
ZXNvdXJjZXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtbnVtYmVyLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9yZXNvdXJjZXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtbnVtYmVyLmpzIGIvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9yZXNvdXJjZXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gt
bnVtYmVyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJlOGEwODYKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Jlc291cmNlcy9WYWxpZGl0
eVN0YXRlLXR5cGVNaXNtYXRjaC1udW1iZXIuanMKQEAgLTAsMCArMSw1OCBAQAorZGVzY3JpcHRp
b24oJ1RoaXMgdGVzdCBhaW1zIHRvIGNoZWNrIGZvciB0eXBlTWlzbWF0Y2ggZmxhZyB3aXRoIHR5
cGU9bnVtYmVyIGlucHV0IGZpZWxkcycpOworCit2YXIgaSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ2lucHV0Jyk7CitpLnR5cGUgPSAnbnVtYmVyJzsKKworZnVuY3Rpb24gY2hlY2sodmFsdWUs
IG1pc21hdGNoRXhwZWN0ZWQpCit7CisgICAgaS52YWx1ZSA9IHZhbHVlOworICAgIHZhciBhY3R1
YWwgPSBpLnZhbGlkaXR5LnR5cGVNaXNtYXRjaDsKKyAgICB2YXIgZGlkUGFzcyA9IGFjdHVhbCA9
PSBtaXNtYXRjaEV4cGVjdGVkOworICAgIHZhciByZXN1bHRUZXh0ID0gdmFsdWUgKyAnIGlzICcg
KyAoZGlkUGFzcyA/ICdhIGNvcnJlY3QgJyA6ICdhbiBpbmNvcnJlY3QgJykgKyAoYWN0dWFsID8g
J2ludmFsaWQnIDogJ3ZhbGlkJykgKyAnIG51bWJlci4nOworICAgIGlmIChkaWRQYXNzKQorICAg
ICAgICB0ZXN0UGFzc2VkKHJlc3VsdFRleHQpOworICAgIGVsc2UKKyAgICAgICAgdGVzdEZhaWxl
ZChyZXN1bHRUZXh0KTsKK30KKworLy8gVmFsaWQgdmFsdWVzCitjaGVjaygnMCcsIGZhbHNlKTsK
K2NoZWNrKCcxMCcsIGZhbHNlKTsKK2NoZWNrKCcwMScsIGZhbHNlKTsKK2NoZWNrKCctMCcsIGZh
bHNlKTsKK2NoZWNrKCctMS4yJywgZmFsc2UpOworY2hlY2soJzEuMkUxMCcsIGZhbHNlKTsKK2No
ZWNrKCcxLjJFLTEwJywgZmFsc2UpOworY2hlY2soJzEuMkUrMTAnLCBmYWxzZSk7CitjaGVjaygn
MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAnLCBmYWxz
ZSk7CitjaGVjaygnMC4xMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIz
NDU2Nzg5MCcsIGZhbHNlKTsKKworLy8gSW52YWxpZCB2YWx1ZXMKK2NoZWNrKCdhYmMnLCB0cnVl
KTsKK2NoZWNrKCcweGZmJywgdHJ1ZSk7CisKK2NoZWNrKCcrMScsIHRydWUpOworY2hlY2soJyAx
MCcsIHRydWUpOworY2hlY2soJzEwICcsIHRydWUpOworY2hlY2soJzEsMicsIHRydWUpOworY2hl
Y2soJy4yJywgdHJ1ZSk7CitjaGVjaygnMUUnLCB0cnVlKTsKK2NoZWNrKCdOYU4nLCB0cnVlKTsK
K2NoZWNrKCduYW4nLCB0cnVlKTsKK2NoZWNrKCdJbmYnLCB0cnVlKTsKK2NoZWNrKCdpbmYnLCB0
cnVlKTsKK2NoZWNrKCdJbmZpbml0eScsIHRydWUpOworY2hlY2soJ2luZmluaXR5JywgdHJ1ZSk7
CisKKy8vIEFzc3VtZSBlbXB0eSBzdHJpbmcgYXMgdmFsaWQuCitjaGVjaygnJywgZmFsc2UpOwor
CisvLyBUaGUgc3BlYyBhbGxvd3MsIGJ1dCBvdXIgaW1wbGVtZW50YXRpb24gZG9lc24ndAorLy8g
SHVnZSBleHBvbmVudC4KK2NoZWNrKCcxLjJFNjU1MzUnLCB0cnVlKTsKKworLy8gVGhlIHNwZWMg
ZG9lc24ndCBhbGxvdywgYnV0IG91ciBpbXBsZW1lbnRhdGlvbiBkb2VzLgorY2hlY2soJzEuJywg
ZmFsc2UpOworY2hlY2soJzEuMmUxMCcsIGZhbHNlKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNl
ZCA9IHRydWU7CmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdl
TG9nCmluZGV4IGQ1NWFiMWYuLjFkMTg2YzMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9n
CisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMDktMDktMDMgIEtl
bnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBWYWxpZGl0eVN0YXRlOjp0eXBlTWlz
bWF0Y2goKSBmb3IgPGlucHV0IHR5cGU9bnVtYmVyPi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI4OTM0CisKKyAgICAgICAgVGVzdDogZmFzdC9mb3Jt
cy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1udW1iZXIuaHRtbAorCisgICAgICAgICogaHRt
bC9IVE1MSW5wdXRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1l
bnQ6OmZvcm1TdHJpbmdUb0RvdWJsZSk6CisgICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVtZW50
Lmg6CisgICAgICAgICogaHRtbC9WYWxpZGl0eVN0YXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlZhbGlkaXR5U3RhdGU6OnR5cGVNaXNtYXRjaCk6CisgICAgICAgICogaHRtbC9WYWxpZGl0eVN0
YXRlLmg6CisKIDIwMDktMDktMDQgIFRvbnkgQ2hhbmcgIDx0b255QGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRt
bC9IVE1MSW5wdXRFbGVtZW50LmNwcCBiL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNw
cAppbmRleCBhMjE1MjBmLi40YWUyZWM5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTElu
cHV0RWxlbWVudC5jcHAKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCkBA
IC01OSw2ICs1OSw3IEBACiAjaW5jbHVkZSAiUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmgi
CiAjaW5jbHVkZSAiUmVuZGVyVGhlbWUuaCIKICNpbmNsdWRlICJUZXh0RXZlbnQuaCIKKyNpbmNs
dWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KIAog
dXNpbmcgbmFtZXNwYWNlIHN0ZDsKQEAgLTE3OTIsNiArMTc5MywyOSBAQCBib29sIEhUTUxJbnB1
dEVsZW1lbnQ6OnBsYWNlaG9sZGVyU2hvdWxkQmVWaXNpYmxlKCkgY29uc3QKICAgICByZXR1cm4g
SW5wdXRFbGVtZW50OjpwbGFjZWhvbGRlclNob3VsZEJlVmlzaWJsZSh0aGlzLCB0aGlzKTsKIH0K
IAorYm9vbCBIVE1MSW5wdXRFbGVtZW50Ojpmb3JtU3RyaW5nVG9Eb3VibGUoY29uc3QgU3RyaW5n
JiBzcmMsIGRvdWJsZSogb3V0KQoreworICAgIC8vIFNlZSBIVE1MNSAyLjQuNC4zIGBSZWFsIG51
bWJlcnMuJworCisgICAgaWYgKHNyYy5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICAvLyBTdHJpbmc6OnRvRG91YmxlKCkgYWNjZXB0cyBsZWFkaW5nICsgXHQgXG4gXHYgXGYg
XHIgYW5kIFNQQUNFLCB3aGljaCBhcmUgaW52YWxpZCBpbiBIVE1MNS4KKyAgICAvLyBTbywgY2hl
Y2sgdGhlIGZpcnN0IGNoYXJhY3Rlci4KKyAgICBpZiAoc3JjWzBdICE9ICctJyAmJiAoc3JjWzBd
IDwgJzAnIHx8IHNyY1swXSA+ICc5JykpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGJv
b2wgdmFsaWQgPSBmYWxzZTsKKyAgICBkb3VibGUgdmFsdWUgPSBzcmMudG9Eb3VibGUoJnZhbGlk
KTsKKyAgICBpZiAoIXZhbGlkKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgLy8gTmFOIGFu
ZCBJbmZpbml0eSBhcmUgbm90IHZhbGlkIG51bWJlcnMgYWNjb3JkaW5nIHRvIHRoZSBzdGFuZGFy
ZC4KKyAgICBpZiAoaXNuYW4odmFsdWUpIHx8IGlzaW5mKHZhbHVlKSkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgIGlmIChvdXQpCisgICAgICAgICpvdXQgPSB2YWx1ZTsKKyAgICByZXR1cm4g
dHJ1ZTsKK30KKwogI2lmIEVOQUJMRShEQVRBTElTVCkKIEhUTUxFbGVtZW50KiBIVE1MSW5wdXRF
bGVtZW50OjpsaXN0KCkgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MSW5w
dXRFbGVtZW50LmggYi9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCmluZGV4IDdmNjNk
MWMuLmJhM2U1YTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgK
KysrIGIvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaApAQCAtMjMxLDYgKzIzMSwxMSBA
QCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIHdpbGxWYWxpZGF0ZSgpIGNvbnN0OwogCiAgICAg
dmlydHVhbCBib29sIHBsYWNlaG9sZGVyU2hvdWxkQmVWaXNpYmxlKCkgY29uc3Q7CisKKyAgICAv
LyBDb252ZXJ0cyB0aGUgc3BlY2lmaWVkIHN0cmluZyB0byBhIGZsb2F0aW5nIG51bWJlci4KKyAg
ICAvLyBJZiB0aGUgY29udmVyc2lvbiBmYWlscywgdGhlIHJldHVybiB2YWx1ZSBpcyBmYWxzZS4g
VGFrZSBjYXJlIHRoYXQgbGVhZGluZyBvciB0cmFpbGluZyB1bm5lY2Vzc2FyeSBjaGFyYWN0ZXJz
IG1ha2UgZmFpbHVyZXMuICBUaGlzIHJldHVybnMgZmFsc2UgZm9yIGFuIGVtcHR5IHN0cmluZyBp
bnB1dC4KKyAgICAvLyBUaGUgZG91YmxlKiBwYXJhbWV0ZXIgbWF5IGJlIDAuCisgICAgc3RhdGlj
IGJvb2wgZm9ybVN0cmluZ1RvRG91YmxlKGNvbnN0IFN0cmluZyYsIGRvdWJsZSopOwogICAgIAog
cHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCB3aWxsTW92ZVRvTmV3T3duZXJEb2N1bWVudCgp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuY3BwIGIvV2ViQ29yZS9o
dG1sL1ZhbGlkaXR5U3RhdGUuY3BwCmluZGV4IGEyYjZkOGUuLjk5OTI4NTEgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmNwcAorKysgYi9XZWJDb3JlL2h0bWwvVmFsaWRp
dHlTdGF0ZS5jcHAKQEAgLTQ3LDkgKzQ3LDE0IEBAIGJvb2wgVmFsaWRpdHlTdGF0ZTo6dHlwZU1p
c21hdGNoKCkKICAgICBpZiAodmFsdWUuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7
CiAKLSAgICBpZiAoaW5wdXQtPmlucHV0VHlwZSgpICE9IEhUTUxJbnB1dEVsZW1lbnQ6OkNPTE9S
KQorICAgIHN3aXRjaCAoaW5wdXQtPmlucHV0VHlwZSgpKSB7CisgICAgY2FzZSBIVE1MSW5wdXRF
bGVtZW50OjpDT0xPUjoKKyAgICAgICAgcmV0dXJuICFpc1ZhbGlkQ29sb3JTdHJpbmcodmFsdWUp
OworICAgIGNhc2UgSFRNTElucHV0RWxlbWVudDo6TlVNQkVSOgorICAgICAgICByZXR1cm4gIUhU
TUxJbnB1dEVsZW1lbnQ6OmZvcm1TdHJpbmdUb0RvdWJsZSh2YWx1ZSwgMCk7CisgICAgZGVmYXVs
dDoKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIHJldHVybiAhaXNWYWxpZENvbG9yU3RyaW5n
KHZhbHVlKTsKKyAgICB9CiB9CiAKIGJvb2wgVmFsaWRpdHlTdGF0ZTo6dmFsaWQoKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>