<?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>78210</bug_id>
          
          <creation_ts>2012-02-09 00:18:07 -0800</creation_ts>
          <short_desc>Add support for unsigned long[] to IDL bindings to JSC.</short_desc>
          <delta_ts>2012-02-16 05:47:06 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</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></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>72010</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Kihong Kwon">kihong.kwon</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>donggwan.kim</cc>
    
    <cc>haraken</cc>
    
    <cc>morrita</cc>
    
    <cc>s.choi</cc>
    
    <cc>vimff0</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>552915</commentid>
    <comment_count>0</comment_count>
    <who name="Kihong Kwon">kihong.kwon</who>
    <bug_when>2012-02-09 00:18:07 -0800</bug_when>
    <thetext>There is needs for support long[] parameter in the idl.
I&apos;ll add this to the code generator for JSC.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557810</commentid>
    <comment_count>1</comment_count>
      <attachid>127292</attachid>
    <who name="Kihong Kwon">kihong.kwon</who>
    <bug_when>2012-02-15 18:43:14 -0800</bug_when>
    <thetext>Created attachment 127292
Patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557830</commentid>
    <comment_count>2</comment_count>
      <attachid>127292</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-02-15 19:16:58 -0800</bug_when>
    <thetext>Comment on attachment 127292
Patch.

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

&gt; Source/WebCore/ChangeLog:7
&gt; +

Please describe what this patch is doing.

&gt; Source/WebCore/bindings/js/JSDOMBinding.h:360
&gt; +            result.append(static_cast&lt;T&gt;(indexedValue.toNumber(exec)));

I am afraid that this conversion rule is wrong with the Web IDL spec: http://dev.w3.org/2006/webapi/WebIDL/#es-unsigned-long

It might be difficult to make such a template&lt;class T&gt; for all types due to complicated conversion rules in the spec. For now, maybe we can write jsUnsignedLongArrayToVector() for unsigned long[] only.

&gt; Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:281
&gt; +    } elsif ($type eq &quot;unsigned long[]&quot;) {

We want to avoid such hard-coding, but hard-coding might be a modest solution in this case. OK.

&gt; Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:2899
&gt; +        return &quot;jsNumberArrayToVector&lt;unsigned long&gt;(exec, $value)&quot;;

I cannot find any &quot;jsNumberArrayToVector()&quot; in your run-bindings-tests results...

&gt; Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp:45
&gt; +#include &quot;JSunsigned long[].h&quot;

This is wrong.

&gt; Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp:55
&gt; +#include &quot;unsigned long[].h&quot;

This is wrong.

&gt; Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:72
&gt; +    putDirect(exec-&gt;globalData(), exec-&gt;propertyNames().length, jsNumber(2), ReadOnly | DontDelete | DontEnum);

This is not the change caused by your patch. Maybe you need to rebaseline run-bindings-tests results before making your patch, if the results are not correct on trunk. (Sometimes people forget to update run-bindings-tests results.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557959</commentid>
    <comment_count>3</comment_count>
      <attachid>127292</attachid>
    <who name="Kihong Kwon">kihong.kwon</who>
    <bug_when>2012-02-16 00:16:03 -0800</bug_when>
    <thetext>Comment on attachment 127292
Patch.

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

Thank you for your comments.

&gt;&gt; Source/WebCore/ChangeLog:7
&gt;&gt; +
&gt; 
&gt; Please describe what this patch is doing.

OK.

&gt;&gt; Source/WebCore/bindings/js/JSDOMBinding.h:360
&gt;&gt; +            result.append(static_cast&lt;T&gt;(indexedValue.toNumber(exec))55);
&gt; 
&gt; I am afraid that this conversion rule is wrong with the Web IDL spec: http://dev.w3.org/2006/webapi/WebIDL/#es-unsigned-long
&gt; 
&gt; It might be difficult to make such a template&lt;class T&gt; for all types due to complicated conversion rules in the spec. For now, maybe we can write jsUnsignedLongArrayToVector() for unsigned long[] only.

Sure - I will change that way.

&gt;&gt; Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:281
&gt;&gt; +    } elsif ($type eq &quot;unsigned long[]&quot;) {
&gt; 
&gt; We want to avoid such hard-coding, but hard-coding might be a modest solution in this case. OK.

I think so.

&gt;&gt; Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:2899
&gt;&gt; +        return &quot;jsNumberArrayToVector&lt;unsigned long&gt;(exec, $value)&quot;;
&gt; 
&gt; I cannot find any &quot;jsNumberArrayToVector()&quot; in your run-bindings-tests results...

I got it. It will be added.

&gt;&gt; Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp:45
&gt;&gt; +#include &quot;JSunsigned long[].h&quot;
&gt; 
&gt; This is wrong.

Yes. It will be fixed.

&gt;&gt; Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp:55
&gt;&gt; +#include &quot;unsigned long[].h&quot;
&gt; 
&gt; This is wrong.

Yes. It will be fixed.

&gt;&gt; Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:72
&gt;&gt; +    putDirect(exec-&gt;globalData(), exec-&gt;propertyNames().length, jsNumber(2), ReadOnly | DontDelete | DontEnum);
&gt; 
&gt; This is not the change caused by your patch. Maybe you need to rebaseline run-bindings-tests results before making your patch, if the results are not correct on trunk. (Sometimes people forget to update run-bindings-tests results.)

You are right. I will remove them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557972</commentid>
    <comment_count>4</comment_count>
      <attachid>127325</attachid>
    <who name="Kihong Kwon">kihong.kwon</who>
    <bug_when>2012-02-16 00:41:08 -0800</bug_when>
    <thetext>Created attachment 127325
Fixed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557974</commentid>
    <comment_count>5</comment_count>
      <attachid>127325</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-02-16 00:56:36 -0800</bug_when>
    <thetext>Comment on attachment 127325
Fixed patch.

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

&gt; Source/WebCore/bindings/js/JSDOMBinding.h:350
&gt; +        if (!object)

&quot;if (exec-&gt;hadException())&quot; might be better. If &quot;!object&quot; is true, then &quot;exec-&gt;hadException()&quot; is true.

&gt; Source/WebCore/bindings/js/JSDOMBinding.h:354
&gt; +        JSC::JSValue indexedValue;

Nit: You can move this declaration into the loop.

&gt; Source/WebCore/bindings/js/JSDOMBinding.h:357
&gt; +            if (indexedValue == JSC::JSValue(JSC::JSValue::JSUndefined) || !indexedValue.isNumber())

Maybe &quot;if (exec-&gt;hadException() || indexedValue.isUndefinedOrNull() || !indexedValue.isUInt32())&quot;?

&gt; Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:2899
&gt; +        return &quot;jsUnsignedLongArrayToVector&lt;unsigned long&gt;(exec, $value)&quot;;

This should be &quot;jsUnsignedLongArrayToVector(exec, $value)&quot;, since the function is not a template.

&gt; Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp:2144
&gt; +    Vector&lt;unsigned long&gt; unsignedLongArray(jsUnsignedLongArrayToVector&lt;unsigned long&gt;(exec, MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined)));

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>558041</commentid>
    <comment_count>6</comment_count>
      <attachid>127325</attachid>
    <who name="Kihong Kwon">kihong.kwon</who>
    <bug_when>2012-02-16 03:12:30 -0800</bug_when>
    <thetext>Comment on attachment 127325
Fixed patch.

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

&gt;&gt; Source/WebCore/bindings/js/JSDOMBinding.h:350
&gt;&gt; +        if (!object)
&gt; 
&gt; &quot;if (exec-&gt;hadException())&quot; might be better. If &quot;!object&quot; is true, then &quot;exec-&gt;hadException()&quot; is true.

OK. You are right.

&gt;&gt; Source/WebCore/bindings/js/JSDOMBinding.h:354
&gt;&gt; +        JSC::JSValue indexedValue;
&gt; 
&gt; Nit: You can move this declaration into the loop.

OK.

&gt;&gt; Source/WebCore/bindings/js/JSDOMBinding.h:357
&gt;&gt; +            if (indexedValue == JSC::JSValue(JSC::JSValue::JSUndefined) || !indexedValue.isNumber())
&gt; 
&gt; Maybe &quot;if (exec-&gt;hadException() || indexedValue.isUndefinedOrNull() || !indexedValue.isUInt32())&quot;?

I will change this as follows: &quot;if (exec-&gt;hadException() || indexedValue.isUndefinedOrNull() || !indexedValue.isNumber())&quot;.
It returns false when indexedValue goes beyond 2147483647.
Please refer to the comments from Gavin Barraclough (https://bugs.webkit.org/show_bug.cgi?id=77317)

&gt;&gt; Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:2899
&gt;&gt; +        return &quot;jsUnsignedLongArrayToVector&lt;unsigned long&gt;(exec, $value)&quot;;
&gt; 
&gt; This should be &quot;jsUnsignedLongArrayToVector(exec, $value)&quot;, since the function is not a template.

Yes. It will be fixed.

&gt;&gt; Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp:2144
&gt;&gt; +    Vector&lt;unsigned long&gt; unsignedLongArray(jsUnsignedLongArrayToVector&lt;unsigned long&gt;(exec, MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined)));
&gt; 
&gt; Ditto.

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>558060</commentid>
    <comment_count>7</comment_count>
      <attachid>127352</attachid>
    <who name="Kihong Kwon">kihong.kwon</who>
    <bug_when>2012-02-16 03:50:38 -0800</bug_when>
    <thetext>Created attachment 127352
Fixed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>558063</commentid>
    <comment_count>8</comment_count>
      <attachid>127352</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-02-16 03:55:48 -0800</bug_when>
    <thetext>Comment on attachment 127352
Fixed patch.

OK!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>558074</commentid>
    <comment_count>9</comment_count>
      <attachid>127352</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-16 04:17:58 -0800</bug_when>
    <thetext>Comment on attachment 127352
Fixed patch.

Rejecting attachment 127352 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 1

ERROR: /mnt/git/webkit-commit-queue/Source/WebCore/ChangeLog neither lists a valid reviewer nor contains the string &quot;Unreviewed&quot; or &quot;Rubber stamp&quot; (case insensitive).

Full output: http://queues.webkit.org/results/11535167</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>558075</commentid>
    <comment_count>10</comment_count>
      <attachid>127352</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-02-16 04:21:40 -0800</bug_when>
    <thetext>Comment on attachment 127352
Fixed patch.

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

&gt; Source/WebCore/ChangeLog:6
&gt; +        reviewed by nobody (oops!).

Maybe you manually edited this line. It should be exactly &quot;Reviewed by NOBODY (OOPS!)&quot;.

Anyway, would you please rebase the patch (just in case), and upload it with correct ChangeLogs with &quot;--no-review --no-obsolete&quot; option?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>558077</commentid>
    <comment_count>11</comment_count>
      <attachid>127352</attachid>
    <who name="Kihong Kwon">kihong.kwon</who>
    <bug_when>2012-02-16 04:28:00 -0800</bug_when>
    <thetext>Comment on attachment 127352
Fixed patch.

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

&gt;&gt; Source/WebCore/ChangeLog:6
&gt;&gt; +        reviewed by nobody (oops!).
&gt; 
&gt; Maybe you manually edited this line. It should be exactly &quot;Reviewed by NOBODY (OOPS!)&quot;.
&gt; 
&gt; Anyway, would you please rebase the patch (just in case), and upload it with correct ChangeLogs with &quot;--no-review --no-obsolete&quot; option?

OK. Thank you for your review. Mr. Kentaro Hara.:)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>558079</commentid>
    <comment_count>12</comment_count>
      <attachid>127355</attachid>
    <who name="Kihong Kwon">kihong.kwon</who>
    <bug_when>2012-02-16 04:30:02 -0800</bug_when>
    <thetext>Created attachment 127355
Fixed patch for WebCore/ChangeLog</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>558110</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-16 05:44:16 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 127355:

perf/object-keys.html bug 63769 (author: ojan@chromium.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>558115</commentid>
    <comment_count>14</comment_count>
      <attachid>127355</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-16 05:46:52 -0800</bug_when>
    <thetext>Comment on attachment 127355
Fixed patch for WebCore/ChangeLog

Clearing flags on attachment: 127355

Committed r107926: &lt;http://trac.webkit.org/changeset/107926&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>558116</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-16 05:47:06 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>127292</attachid>
            <date>2012-02-15 18:43:14 -0800</date>
            <delta_ts>2012-02-16 00:41:08 -0800</delta_ts>
            <desc>Patch.</desc>
            <filename>unsignedLongArray.patch</filename>
            <type>text/plain</type>
            <size>11935</size>
            <attacher name="Kihong Kwon">kihong.kwon</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAyM2RiMmE1Li4zNDQ4YjRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzIg
QEAKKzIwMTItMDItMTUgIEtpaG9uZyBLd29uICA8a2lob25nLmt3b25Ac2Ftc3VuZy5jb20+CisK
KyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHVuc2lnbmVkIGxvbmdbXSB0byBJREwgYmluZGluZ3Mg
dG8gSlNDLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NzgyMTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBU
ZXN0cyBhZGRlZCB0byBUZXN0T2JqLmlkbC4KKworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9N
QmluZGluZy5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpqc051bWJl
ckFycmF5VG9WZWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRv
ckpTLnBtOgorICAgICAgICAoQWRkSW5jbHVkZXNGb3JUeXBlKToKKyAgICAgICAgKEpTVmFsdWVU
b05hdGl2ZSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50
Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0RXZlbnRDb25zdHJ1Y3Rv
ckNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RJ
bnRlcmZhY2VDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIGJpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgIChXZWJDb3JlOjpKU1Rlc3RPYmpDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAg
ICAgICAoV2ViQ29yZTo6anNUZXN0T2JqVW5zaWduZWRMb25nQXJyYXkpOgorICAgICAgICAqIGJp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouaDoKKyAgICAgICAgKFdlYkNvcmUpOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemVkU2NyaXB0
VmFsdWVJbnRlcmZhY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0U2VyaWFsaXplZFNj
cmlwdFZhbHVlSW50ZXJmYWNlQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5pZGw6CisKIDIwMTItMDItMTUgIFRvbW15
IFdpZGVuZmx5Y2h0ICA8dG9tbXl3QGdvb2dsZS5jb20+CiAKICAgICAgICAgTWVkaWFTdHJlYW0g
QVBJOiBSZW1vdmluZyBTZWN1cml0eUNvbnRleHQgZnJvbSB0aGUgZW1iZWRkZXIgQVBJCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5oCmluZGV4IDE1YTFmYTIuLjMzZDky
NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5oCkBAIC0zOCw2
ICszOCw3IEBACiAjaW5jbHVkZSA8cnVudGltZS9PYmplY3RQcm90b3R5cGUuaD4KICNpbmNsdWRl
IDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgorI2luY2x1ZGUg
PHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zNDIsNiArMzQzLDI0
IEBAIGVudW0gUGFyYW1ldGVyRGVmYXVsdFBvbGljeSB7CiAgICAgICAgIHJldHVybiBBdG9taWNT
dHJpbmcoaWRlbnRpZmllci5pbXBsKCkpOwogICAgIH0KIAorICAgIHRlbXBsYXRlIDxjbGFzcyBU
PgorICAgIGlubGluZSBWZWN0b3I8VD4ganNOdW1iZXJBcnJheVRvVmVjdG9yKEpTQzo6RXhlY1N0
YXRlKiBleGVjLCBKU0M6OkpTVmFsdWUgdmFsdWUpCisgICAgeworICAgICAgICB1bnNpZ25lZCBs
ZW5ndGg7CisgICAgICAgIEpTQzo6SlNPYmplY3QqIG9iamVjdCA9IHRvSlNTZXF1ZW5jZShleGVj
LCB2YWx1ZSwgbGVuZ3RoKTsKKyAgICAgICAgaWYgKCFvYmplY3QpCisgICAgICAgICAgICByZXR1
cm4gVmVjdG9yPFQ+KCk7CisKKyAgICAgICAgVmVjdG9yPFQ+IHJlc3VsdDsKKyAgICAgICAgSlND
OjpKU1ZhbHVlIGluZGV4ZWRWYWx1ZTsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8
IGxlbmd0aDsgaSsrKSB7CisgICAgICAgICAgICBpbmRleGVkVmFsdWUgPSBvYmplY3QtPmdldChl
eGVjLCBpKTsKKyAgICAgICAgICAgIGlmIChpbmRleGVkVmFsdWUgPT0gSlNDOjpKU1ZhbHVlKEpT
Qzo6SlNWYWx1ZTo6SlNVbmRlZmluZWQpIHx8ICFpbmRleGVkVmFsdWUuaXNOdW1iZXIoKSkKKyAg
ICAgICAgICAgICAgICByZXR1cm4gVmVjdG9yPFQ+KCk7CisgICAgICAgICAgICByZXN1bHQuYXBw
ZW5kKHN0YXRpY19jYXN0PFQ+KGluZGV4ZWRWYWx1ZS50b051bWJlcihleGVjKSkpOworICAgICAg
ICB9CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfQogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQogCiAjZW5kaWYgLy8gSlNET01CaW5kaW5nX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KaW5kZXggNjA2YmViZC4uY2I2ZjViOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
SlMucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
SlMucG0KQEAgLTI3OCw2ICsyNzgsOCBAQCBzdWIgQWRkSW5jbHVkZXNGb3JUeXBlCiAgICAgICAg
ICRpbmNsdWRlc1JlZi0+eyJKUyR7dHlwZX0uaCJ9ID0gMTsKICAgICB9IGVsc2lmIChJc1R5cGVk
QXJyYXlUeXBlKCR0eXBlKSkgewogICAgICAgICAkaW5jbHVkZXNSZWYtPnsiPHd0Zi8ke3R5cGV9
Lmg+In0gPSAxOworICAgIH0gZWxzaWYgKCR0eXBlIGVxICJ1bnNpZ25lZCBsb25nW10iKSB7Cisg
ICAgICAgICRpbmNsdWRlc1JlZi0+eyI8d3RmL1ZlY3Rvci5oPiJ9ID0gMTsKICAgICB9IGVsc2Ug
ewogICAgICAgICAjIGRlZmF1bHQsIGluY2x1ZGUgdGhlIHNhbWUgbmFtZWQgZmlsZQogICAgICAg
ICAkaW5jbHVkZXNSZWYtPnsiJHt0eXBlfS5oIn0gPSAxOwpAQCAtMjc2Miw3ICsyNzY0LDggQEAg
bXkgJW5hdGl2ZVR5cGUgPSAoCiAgICAgImxvbmcgbG9uZyIgPT4gImxvbmcgbG9uZyIsCiAgICAg
InVuc2lnbmVkIGxvbmcgbG9uZyIgPT4gInVuc2lnbmVkIGxvbmcgbG9uZyIsCiAgICAgIk1lZGlh
UXVlcnlMaXN0TGlzdGVuZXIiID0+ICJSZWZQdHI8TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcj4iLAot
ICAgICJET01UaW1lU3RhbXAiID0+ICJET01UaW1lU3RhbXAiCisgICAgIkRPTVRpbWVTdGFtcCIg
PT4gIkRPTVRpbWVTdGFtcCIsCisgICAgInVuc2lnbmVkIGxvbmdbXSIgPT4gIlZlY3Rvcjx1bnNp
Z25lZCBsb25nPiIKICk7CiAKIHN1YiBHZXROYXRpdmVUeXBlCkBAIC0yODkxLDYgKzI4OTQsMTEg
QEAgc3ViIEpTVmFsdWVUb05hdGl2ZQogICAgICAgICByZXR1cm4gInRvRE9NU3RyaW5nTGlzdCgk
dmFsdWUpIjsKICAgICB9CiAKKyAgICBpZiAoJHR5cGUgZXEgInVuc2lnbmVkIGxvbmdbXSIpIHsK
KyAgICAgICAgQWRkVG9JbXBsSW5jbHVkZXMoIkpTRE9NQmluZGluZy5oIiwgJGNvbmRpdGlvbmFs
KTsKKyAgICAgICAgcmV0dXJuICJqc051bWJlckFycmF5VG9WZWN0b3I8dW5zaWduZWQgbG9uZz4o
ZXhlYywgJHZhbHVlKSI7CisgICAgfQorCiAgICAgQWRkVG9JbXBsSW5jbHVkZXMoIkhUTUxPcHRp
b25FbGVtZW50LmgiLCAkY29uZGl0aW9uYWwpIGlmICR0eXBlIGVxICJIVE1MT3B0aW9uRWxlbWVu
dCI7CiAgICAgQWRkVG9JbXBsSW5jbHVkZXMoIkpTQ3VzdG9tVm9pZENhbGxiYWNrLmgiLCAkY29u
ZGl0aW9uYWwpIGlmICR0eXBlIGVxICJWb2lkQ2FsbGJhY2siOwogICAgIEFkZFRvSW1wbEluY2x1
ZGVzKCJFdmVudC5oIiwgJGNvbmRpdGlvbmFsKSBpZiAkdHlwZSBlcSAiRXZlbnQiOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50
Q29uc3RydWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdEV2ZW50Q29uc3RydWN0b3IuY3BwCmluZGV4IDk0Mjk5MjEuLmJkNzI3NDUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVu
dENvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHAKQEAgLTY0LDYgKzY0LDcgQEAgdm9pZCBK
U1Rlc3RFdmVudENvbnN0cnVjdG9yQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0
ZSogZXhlYywgSlNET01HbG8KICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihleGVjLT5nbG9iYWxE
YXRhKCkpOwogICAgIEFTU0VSVChpbmhlcml0cygmc19pbmZvKSk7CiAgICAgcHV0RGlyZWN0KGV4
ZWMtPmdsb2JhbERhdGEoKSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLnByb3RvdHlwZSwgSlNUZXN0
RXZlbnRDb25zdHJ1Y3RvclByb3RvdHlwZTo6c2VsZihleGVjLCBnbG9iYWxPYmplY3QpLCBEb250
RGVsZXRlIHwgUmVhZE9ubHkpOworICAgIHB1dERpcmVjdChleGVjLT5nbG9iYWxEYXRhKCksIGV4
ZWMtPnByb3BlcnR5TmFtZXMoKS5sZW5ndGgsIGpzTnVtYmVyKDIpLCBSZWFkT25seSB8IERvbnRE
ZWxldGUgfCBEb250RW51bSk7CiB9CiAKIGJvb2wgSlNUZXN0RXZlbnRDb25zdHJ1Y3RvckNvbnN0
cnVjdG9yOjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMs
IGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90JiBzbG90KQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdElu
dGVyZmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0SW50ZXJmYWNlLmNwcAppbmRleCAzYjllNjA4Li4zZDZjOWVjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJm
YWNlLmNwcApAQCAtOTYsNiArOTYsNyBAQCB2b2lkIEpTVGVzdEludGVyZmFjZUNvbnN0cnVjdG9y
OjpmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZQogICAgIEJh
c2U6OmZpbmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSk7CiAgICAgQVNTRVJUKGluaGVy
aXRzKCZzX2luZm8pKTsKICAgICBwdXREaXJlY3QoZXhlYy0+Z2xvYmFsRGF0YSgpLCBleGVjLT5w
cm9wZXJ0eU5hbWVzKCkucHJvdG90eXBlLCBKU1Rlc3RJbnRlcmZhY2VQcm90b3R5cGU6OnNlbGYo
ZXhlYywgZ2xvYmFsT2JqZWN0KSwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KTsKKyAgICBwdXREaXJl
Y3QoZXhlYy0+Z2xvYmFsRGF0YSgpLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkubGVuZ3RoLCBqc051
bWJlcigyKSwgUmVhZE9ubHkgfCBEb250RGVsZXRlIHwgRG9udEVudW0pOwogfQogCiBib29sIEpT
VGVzdEludGVyZmFjZUNvbnN0cnVjdG9yOjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDZWxsKiBjZWxs
LCBFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgUHJvcGVy
dHlTbG90JiBzbG90KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAppbmRleCA4N2U2ZWMyLi4xNjlmNTE2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNw
cApAQCAtNDIsNiArNDIsNyBAQAogI2luY2x1ZGUgIkpTZC5oIgogI2luY2x1ZGUgIkpTZS5oIgog
I2luY2x1ZGUgIkpTaW50LmgiCisjaW5jbHVkZSAiSlN1bnNpZ25lZCBsb25nW10uaCIKICNpbmNs
dWRlICJLVVJMLmgiCiAjaW5jbHVkZSAiU1ZHRG9jdW1lbnQuaCIKICNpbmNsdWRlICJTVkdTdGF0
aWNQcm9wZXJ0eVRlYXJPZmYuaCIKQEAgLTUxLDYgKzUyLDcgQEAKICNpbmNsdWRlICJTZXJpYWxp
emVkU2NyaXB0VmFsdWUuaCIKICNpbmNsdWRlICJUZXN0T2JqLmgiCiAjaW5jbHVkZSAiYm9vbC5o
IgorI2luY2x1ZGUgInVuc2lnbmVkIGxvbmdbXS5oIgogI2luY2x1ZGUgPHJ1bnRpbWUvRXJyb3Iu
aD4KICNpbmNsdWRlIDxydW50aW1lL0pTU3RyaW5nLmg+CiAjaW5jbHVkZSA8d3RmL0dldFB0ci5o
PgpAQCAtMTMxLDYgKzEzMyw3IEBAIHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3RP
YmpUYWJsZVZhbHVlc1tdID0KICNlbmRpZgogICAgIHsgImNhY2hlZEF0dHJpYnV0ZTEiLCBEb250
RGVsZXRlIHwgUmVhZE9ubHksIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6Okdl
dFZhbHVlRnVuYz4oanNUZXN0T2JqQ2FjaGVkQXR0cmlidXRlMSksIChpbnRwdHJfdCkwLCBOb0lu
dHJpbnNpYyB9LAogICAgIHsgImNhY2hlZEF0dHJpYnV0ZTIiLCBEb250RGVsZXRlIHwgUmVhZE9u
bHksIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNU
ZXN0T2JqQ2FjaGVkQXR0cmlidXRlMiksIChpbnRwdHJfdCkwLCBOb0ludHJpbnNpYyB9LAorICAg
IHsgInVuc2lnbmVkTG9uZ0FycmF5IiwgRG9udERlbGV0ZSB8IFJlYWRPbmx5LCAoaW50cHRyX3Qp
c3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9ialVuc2lnbmVk
TG9uZ0FycmF5KSwgKGludHB0cl90KTAsIE5vSW50cmluc2ljIH0sCiAgICAgeyAiY29udGVudERv
Y3VtZW50IiwgRG9udERlbGV0ZSB8IFJlYWRPbmx5LCAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJv
cGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9iakNvbnRlbnREb2N1bWVudCksIChpbnRw
dHJfdCkwLCBOb0ludHJpbnNpYyB9LAogICAgIHsgIm11dGFibGVQb2ludCIsIERvbnREZWxldGUs
IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0
T2JqTXV0YWJsZVBvaW50KSwgKGludHB0cl90KXNldEpTVGVzdE9iak11dGFibGVQb2ludCwgTm9J
bnRyaW5zaWMgfSwKICAgICB7ICJpbW11dGFibGVQb2ludCIsIERvbnREZWxldGUsIChpbnRwdHJf
dClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqSW1tdXRh
YmxlUG9pbnQpLCAoaW50cHRyX3Qpc2V0SlNUZXN0T2JqSW1tdXRhYmxlUG9pbnQsIE5vSW50cmlu
c2ljIH0sCkBAIC0xNDIsNyArMTQ1LDcgQEAgc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVlIEpT
VGVzdE9ialRhYmxlVmFsdWVzW10gPQogICAgIHsgMCwgMCwgMCwgMCwgTm9JbnRyaW5zaWMgfQog
fTsKIAotc3RhdGljIGNvbnN0IEhhc2hUYWJsZSBKU1Rlc3RPYmpUYWJsZSA9IHsgMTM3LCAxMjcs
IEpTVGVzdE9ialRhYmxlVmFsdWVzLCAwIH07CitzdGF0aWMgY29uc3QgSGFzaFRhYmxlIEpTVGVz
dE9ialRhYmxlID0geyAxMzgsIDEyNywgSlNUZXN0T2JqVGFibGVWYWx1ZXMsIDAgfTsKIC8qIEhh
c2ggdGFibGUgZm9yIGNvbnN0cnVjdG9yICovCiAKIHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1
ZSBKU1Rlc3RPYmpDb25zdHJ1Y3RvclRhYmxlVmFsdWVzW10gPQpAQCAtMjAwLDYgKzIwMyw3IEBA
IHZvaWQgSlNUZXN0T2JqQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSogZXhl
YywgSlNET01HbG9iYWxPYmplY3QqIGdsCiAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24oZXhlYy0+
Z2xvYmFsRGF0YSgpKTsKICAgICBBU1NFUlQoaW5oZXJpdHMoJnNfaW5mbykpOwogICAgIHB1dERp
cmVjdChleGVjLT5nbG9iYWxEYXRhKCksIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5wcm90b3R5cGUs
IEpTVGVzdE9ialByb3RvdHlwZTo6c2VsZihleGVjLCBnbG9iYWxPYmplY3QpLCBEb250RGVsZXRl
IHwgUmVhZE9ubHkpOworICAgIHB1dERpcmVjdChleGVjLT5nbG9iYWxEYXRhKCksIGV4ZWMtPnBy
b3BlcnR5TmFtZXMoKS5sZW5ndGgsIGpzTnVtYmVyKDApLCBSZWFkT25seSB8IERvbnREZWxldGUg
fCBEb250RW51bSk7CiB9CiAKIGJvb2wgSlNUZXN0T2JqQ29uc3RydWN0b3I6OmdldE93blByb3Bl
cnR5U2xvdChKU0NlbGwqIGNlbGwsIEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYg
cHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmIHNsb3QpCkBAIC04MTYsNiArODIwLDE2IEBAIEpT
VmFsdWUganNUZXN0T2JqQ2FjaGVkQXR0cmlidXRlMihFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUg
c2xvdEJhc2UsIGNvbnN0IElkZW50CiB9CiAKIAorSlNWYWx1ZSBqc1Rlc3RPYmpVbnNpZ25lZExv
bmdBcnJheShFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgc2xvdEJhc2UsIGNvbnN0IElkZW50aWZp
ZXImKQoreworICAgIEpTVGVzdE9iaiogY2FzdGVkVGhpcyA9IHN0YXRpY19jYXN0PEpTVGVzdE9i
aio+KGFzT2JqZWN0KHNsb3RCYXNlKSk7CisgICAgVU5VU0VEX1BBUkFNKGV4ZWMpOworICAgIFRl
c3RPYmoqIGltcGwgPSBzdGF0aWNfY2FzdDxUZXN0T2JqKj4oY2FzdGVkVGhpcy0+aW1wbCgpKTsK
KyAgICBKU1ZhbHVlIHJlc3VsdCA9IHRvSlMoZXhlYywgY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0
KCksIFdURjo6Z2V0UHRyKGltcGwtPnVuc2lnbmVkTG9uZ0FycmF5KCkpKTsKKyAgICByZXR1cm4g
cmVzdWx0OworfQorCisKIEpTVmFsdWUganNUZXN0T2JqQ29udGVudERvY3VtZW50KEV4ZWNTdGF0
ZSogZXhlYywgSlNWYWx1ZSBzbG90QmFzZSwgY29uc3QgSWRlbnRpZmllciYpCiB7CiAgICAgSlNU
ZXN0T2JqKiBjYXN0ZWRUaGlzID0gc3RhdGljX2Nhc3Q8SlNUZXN0T2JqKj4oYXNPYmplY3Qoc2xv
dEJhc2UpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RPYmouaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RPYmouaAppbmRleCA2ODRkNzQwLi5lMTdiZTA5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5oCkBAIC0yODMsNiAr
MjgzLDcgQEAgSlNDOjpKU1ZhbHVlIGpzVGVzdE9iakNvbmRpdGlvbmFsQXR0cjZDb25zdHJ1Y3Rv
cihKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNWYWx1ZSwKIHZvaWQgc2V0SlNUZXN0T2JqQ29uZGl0
aW9uYWxBdHRyNkNvbnN0cnVjdG9yKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU09iamVjdCosIEpT
Qzo6SlNWYWx1ZSk7CiBKU0M6OkpTVmFsdWUganNUZXN0T2JqQ2FjaGVkQXR0cmlidXRlMShKU0M6
OkV4ZWNTdGF0ZSosIEpTQzo6SlNWYWx1ZSwgY29uc3QgSlNDOjpJZGVudGlmaWVyJik7CiBKU0M6
OkpTVmFsdWUganNUZXN0T2JqQ2FjaGVkQXR0cmlidXRlMihKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6
SlNWYWx1ZSwgY29uc3QgSlNDOjpJZGVudGlmaWVyJik7CitKU0M6OkpTVmFsdWUganNUZXN0T2Jq
VW5zaWduZWRMb25nQXJyYXkoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTVmFsdWUsIGNvbnN0IEpT
Qzo6SWRlbnRpZmllciYpOwogSlNDOjpKU1ZhbHVlIGpzVGVzdE9iakNvbnRlbnREb2N1bWVudChK
U0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNWYWx1ZSwgY29uc3QgSlNDOjpJZGVudGlmaWVyJik7CiBK
U0M6OkpTVmFsdWUganNUZXN0T2JqTXV0YWJsZVBvaW50KEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpK
U1ZhbHVlLCBjb25zdCBKU0M6OklkZW50aWZpZXImKTsKIHZvaWQgc2V0SlNUZXN0T2JqTXV0YWJs
ZVBvaW50KEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU09iamVjdCosIEpTQzo6SlNWYWx1ZSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2Uu
Y3BwCmluZGV4IGMxY2FmNWMuLmMwZWE2ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZh
Y2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwCkBAIC02OSw2ICs2OSw3IEBAIHZv
aWQgSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlQ29uc3RydWN0b3I6OmZpbmlz
aENyZWF0aW9uKEV4ZWNTdGF0ZSoKICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihleGVjLT5nbG9i
YWxEYXRhKCkpOwogICAgIEFTU0VSVChpbmhlcml0cygmc19pbmZvKSk7CiAgICAgcHV0RGlyZWN0
KGV4ZWMtPmdsb2JhbERhdGEoKSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLnByb3RvdHlwZSwgSlNU
ZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlUHJvdG90eXBlOjpzZWxmKGV4ZWMsIGds
b2JhbE9iamVjdCksIERvbnREZWxldGUgfCBSZWFkT25seSk7CisgICAgcHV0RGlyZWN0KGV4ZWMt
Pmdsb2JhbERhdGEoKSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLmxlbmd0aCwganNOdW1iZXIoMiks
IFJlYWRPbmx5IHwgRG9udERlbGV0ZSB8IERvbnRFbnVtKTsKIH0KIAogYm9vbCBKU1Rlc3RTZXJp
YWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VDb25zdHJ1Y3Rvcjo6Z2V0T3duUHJvcGVydHlTbG90
KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0
eU5hbWUsIFByb3BlcnR5U2xvdCYgc2xvdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbAppbmRleCBiYmJmMjU2Li5kNmNhYmQwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5pZGwKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRsCkBAIC0x
OTQsNiArMTk0LDEwIEBAIG1vZHVsZSB0ZXN0IHsKICAgICAgICAgYXR0cmlidXRlIGRvdWJsZVtd
ICAgICAgICAgICAgICAgICAgZG91YmxlQXJyYXk7CiAjZW5kaWYKIAorI2lmIGRlZmluZWQoVEVT
VElOR19KUykKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmdbXSAgdW5z
aWduZWRMb25nQXJyYXk7CisjZW5kaWYKKwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0No
ZWNrQWNjZXNzVG9Ob2RlXSBEb2N1bWVudCBjb250ZW50RG9jdW1lbnQ7CiAgICAgICAgIFtDaGVj
a0FjY2Vzc1RvTm9kZV0gU1ZHRG9jdW1lbnQgZ2V0U1ZHRG9jdW1lbnQoKQogICAgICAgICAgICAg
cmFpc2VzKERPTUV4Y2VwdGlvbik7Cg==
</data>
<flag name="review"
          id="129385"
          type_id="1"
          status="-"
          setter="haraken"
    />
    <flag name="commit-queue"
          id="129386"
          type_id="3"
          status="-"
          setter="haraken"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>127325</attachid>
            <date>2012-02-16 00:41:08 -0800</date>
            <delta_ts>2012-02-16 03:50:38 -0800</delta_ts>
            <desc>Fixed patch.</desc>
            <filename>unsignedLongArray.patch</filename>
            <type>text/plain</type>
            <size>8746</size>
            <attacher name="Kihong Kwon">kihong.kwon</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBkNzdjYmI1Li5jMzM1OGIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkg
QEAKKzIwMTItMDItMTYgIEtpaG9uZyBLd29uICA8a2lob25nLmt3b25Ac2Ftc3VuZy5jb20+CisK
KyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHVuc2lnbmVkIGxvbmdbXSB0byBpZGwgYmluZGluZ3Mg
dG8gSlNDLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NzgyMTAKKworICAgICAgICByZXZpZXdlZCBieSBub2JvZHkgKG9vcHMhKS4KKworICAgICAgICBB
ZGQgc3VwcG9ydCBmb3IgdW5zaWduZWQgbG9uZ1tdIHBhcmFtZXRlciB0eXBlIGluIGlkbC4KKyAg
ICAgICAgVGhpcyBwYXRjaCBhZGRzIHN1cHBvcnQganVzdCBmb3IgdW5zaWduZWQgbG9uZ1tdIHBh
cmFtZXRlciB0eXBlLgorICAgICAgICAoc3VwcG9ydCBmb3Igb3RoZXIgdHlwZXMgb2YgYXJyYXkg
c2hvdWxkIGJlIGRvbmUgaW4gYW5vdGhlciBwYXRjaC4pCisKKyAgICAgICAgdGVzdHMgYWRkZWQg
dG8gdGVzdG9iai5pZGwuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaDoK
KyAgICAgICAgKFdlYkNvcmU6OmpzVW5zaWduZWRMb25nQXJyYXlUb1ZlY3Rvcik6CisgICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06CisgICAgICAgIChBZGRJbmNs
dWRlc0ZvclR5cGUpOgorICAgICAgICAoSlNWYWx1ZVRvTmF0aXZlKToKKyAgICAgICAgKE5hdGl2
ZVRvSlNWYWx1ZSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9i
ai5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OmpzVGVzdE9ialBy
b3RvdHlwZUZ1bmN0aW9uTWV0aG9kV2l0aFVuc2lnbmVkTG9uZ0FycmF5KToKKyAgICAgICAgKiBi
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmg6CisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5pZGw6CisKIDIwMTItMDIt
MTUgIFBhYmxvIEZsb3VyZXQgIDxwYWJsb2ZAbW90b3JvbGEuY29tPgogCiAgICAgICAgIEFkZCBz
dXBwb3J0IGZvciB0aGUgdHJhbnNsYXRlIGF0dHJpYnV0ZSBpbiBodG1sIGVsZW1lbnRzLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaAppbmRleCAxNWExZmEyLi4xMzU5
YzI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaApAQCAtMzgs
NiArMzgsNyBAQAogI2luY2x1ZGUgPHJ1bnRpbWUvT2JqZWN0UHJvdG90eXBlLmg+CiAjaW5jbHVk
ZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KKyNpbmNsdWRl
IDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzQyLDYgKzM0Mywy
MyBAQCBlbnVtIFBhcmFtZXRlckRlZmF1bHRQb2xpY3kgewogICAgICAgICByZXR1cm4gQXRvbWlj
U3RyaW5nKGlkZW50aWZpZXIuaW1wbCgpKTsKICAgICB9CiAKKyAgICBpbmxpbmUgVmVjdG9yPHVu
c2lnbmVkIGxvbmc+IGpzVW5zaWduZWRMb25nQXJyYXlUb1ZlY3RvcihKU0M6OkV4ZWNTdGF0ZSog
ZXhlYywgSlNDOjpKU1ZhbHVlIHZhbHVlKQorICAgIHsKKyAgICAgICAgdW5zaWduZWQgbGVuZ3Ro
OworICAgICAgICBKU0M6OkpTT2JqZWN0KiBvYmplY3QgPSB0b0pTU2VxdWVuY2UoZXhlYywgdmFs
dWUsIGxlbmd0aCk7CisgICAgICAgIGlmICghb2JqZWN0KQorICAgICAgICAgICAgcmV0dXJuIFZl
Y3Rvcjx1bnNpZ25lZCBsb25nPigpOworCisgICAgICAgIFZlY3Rvcjx1bnNpZ25lZCBsb25nPiBy
ZXN1bHQ7CisgICAgICAgIEpTQzo6SlNWYWx1ZSBpbmRleGVkVmFsdWU7CisgICAgICAgIGZvciAo
dW5zaWduZWQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykgeworICAgICAgICAgICAgaW5kZXhlZFZh
bHVlID0gb2JqZWN0LT5nZXQoZXhlYywgaSk7CisgICAgICAgICAgICBpZiAoaW5kZXhlZFZhbHVl
ID09IEpTQzo6SlNWYWx1ZShKU0M6OkpTVmFsdWU6OkpTVW5kZWZpbmVkKSB8fCAhaW5kZXhlZFZh
bHVlLmlzTnVtYmVyKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIFZlY3Rvcjx1bnNpZ25lZCBs
b25nPigpOworICAgICAgICAgICAgcmVzdWx0LmFwcGVuZChzdGF0aWNfY2FzdDx1bnNpZ25lZCBs
b25nPihpbmRleGVkVmFsdWUudG9VSW50MzIoZXhlYykpKTsKKyAgICAgICAgfQorICAgICAgICBy
ZXR1cm4gcmVzdWx0OworICAgIH0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8v
IEpTRE9NQmluZGluZ19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3JKUy5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
Q29kZUdlbmVyYXRvckpTLnBtCmluZGV4IDYwNmJlYmQuLjI5MzcxNGYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCkBAIC0yNzQs
NiArMjc0LDggQEAgc3ViIEFkZEluY2x1ZGVzRm9yVHlwZQogICAgIH0gZWxzaWYgKCR0eXBlIGVx
ICJET01TdHJpbmdbXSIpIHsKICAgICAgICAgIyBGSVhNRTogQWRkIHByb3BlciBzdXBwb3J0IGZv
ciBUW10sIFRbXT8sIHNlcXVlbmNlPFQ+CiAgICAgICAgICRpbmNsdWRlc1JlZi0+eyJKU0RPTVN0
cmluZ0xpc3QuaCJ9ID0gMTsKKyAgICB9IGVsc2lmICgkdHlwZSBlcSAidW5zaWduZWQgbG9uZ1td
IikgeworICAgICAgICAkaW5jbHVkZXNSZWYtPnsiPHd0Zi9WZWN0b3IuaD4ifSA9IDE7CiAgICAg
fSBlbHNpZiAoJGlzQ2FsbGJhY2spIHsKICAgICAgICAgJGluY2x1ZGVzUmVmLT57IkpTJHt0eXBl
fS5oIn0gPSAxOwogICAgIH0gZWxzaWYgKElzVHlwZWRBcnJheVR5cGUoJHR5cGUpKSB7CkBAIC0y
NzYyLDcgKzI3NjQsOCBAQCBteSAlbmF0aXZlVHlwZSA9ICgKICAgICAibG9uZyBsb25nIiA9PiAi
bG9uZyBsb25nIiwKICAgICAidW5zaWduZWQgbG9uZyBsb25nIiA9PiAidW5zaWduZWQgbG9uZyBs
b25nIiwKICAgICAiTWVkaWFRdWVyeUxpc3RMaXN0ZW5lciIgPT4gIlJlZlB0cjxNZWRpYVF1ZXJ5
TGlzdExpc3RlbmVyPiIsCi0gICAgIkRPTVRpbWVTdGFtcCIgPT4gIkRPTVRpbWVTdGFtcCIKKyAg
ICAiRE9NVGltZVN0YW1wIiA9PiAiRE9NVGltZVN0YW1wIiwKKyAgICAidW5zaWduZWQgbG9uZ1td
IiA9PiAiVmVjdG9yPHVuc2lnbmVkIGxvbmc+IgogKTsKIAogc3ViIEdldE5hdGl2ZVR5cGUKQEAg
LTI4OTEsNiArMjg5NCwxMSBAQCBzdWIgSlNWYWx1ZVRvTmF0aXZlCiAgICAgICAgIHJldHVybiAi
dG9ET01TdHJpbmdMaXN0KCR2YWx1ZSkiOwogICAgIH0KIAorICAgIGlmICgkdHlwZSBlcSAidW5z
aWduZWQgbG9uZ1tdIikgeworICAgICAgICBBZGRUb0ltcGxJbmNsdWRlcygiSlNET01CaW5kaW5n
LmgiLCAkY29uZGl0aW9uYWwpOworICAgICAgICByZXR1cm4gImpzVW5zaWduZWRMb25nQXJyYXlU
b1ZlY3Rvcjx1bnNpZ25lZCBsb25nPihleGVjLCAkdmFsdWUpIjsKKyAgICB9CisKICAgICBBZGRU
b0ltcGxJbmNsdWRlcygiSFRNTE9wdGlvbkVsZW1lbnQuaCIsICRjb25kaXRpb25hbCkgaWYgJHR5
cGUgZXEgIkhUTUxPcHRpb25FbGVtZW50IjsKICAgICBBZGRUb0ltcGxJbmNsdWRlcygiSlNDdXN0
b21Wb2lkQ2FsbGJhY2suaCIsICRjb25kaXRpb25hbCkgaWYgJHR5cGUgZXEgIlZvaWRDYWxsYmFj
ayI7CiAgICAgQWRkVG9JbXBsSW5jbHVkZXMoIkV2ZW50LmgiLCAkY29uZGl0aW9uYWwpIGlmICR0
eXBlIGVxICJFdmVudCI7CkBAIC0yOTY3LDYgKzI5NzUsOCBAQCBzdWIgTmF0aXZlVG9KU1ZhbHVl
CiAgICAgfSBlbHNpZiAoJHR5cGUgZXEgIlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSIgb3IgJHR5cGUg
ZXEgImFueSIpIHsKICAgICAgICAgQWRkVG9JbXBsSW5jbHVkZXMoIlNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZS5oIiwgJGNvbmRpdGlvbmFsKTsKICAgICAgICAgcmV0dXJuICIkdmFsdWUgPyAkdmFsdWUt
PmRlc2VyaWFsaXplKGV4ZWMsIGNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCAwKSA6IGpzTnVs
bCgpIjsKKyAgICB9IGVsc2lmICgkdHlwZSBlcSAidW5zaWduZWQgbG9uZ1tdIikgeworICAgICAg
ICBBZGRUb0ltcGxJbmNsdWRlcygiPHdydC9WZWN0b3IuaD4iLCAkY29uZGl0aW9uYWwpOwogICAg
IH0gZWxzZSB7CiAgICAgICAgICMgRGVmYXVsdCwgaW5jbHVkZSBoZWFkZXIgd2l0aCBzYW1lIG5h
bWUuCiAgICAgICAgIEFkZFRvSW1wbEluY2x1ZGVzKCJKUyR0eXBlLmgiLCAkY29uZGl0aW9uYWwp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdE9iai5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0T2JqLmNwcAppbmRleCA4N2U2ZWMyLi43OWU4NDA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcApAQCAtMjg3LDYg
KzI4Nyw3IEBAIHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3RPYmpQcm90b3R5cGVU
YWJsZVZhbHVlc1tdID0KICAgICB7ICJjb25kaXRpb25hbE1ldGhvZDMiLCBEb250RGVsZXRlIHwg
SlNDOjpGdW5jdGlvbiwgKGludHB0cl90KXN0YXRpY19jYXN0PE5hdGl2ZUZ1bmN0aW9uPihqc1Rl
c3RPYmpQcm90b3R5cGVGdW5jdGlvbkNvbmRpdGlvbmFsTWV0aG9kMyksIChpbnRwdHJfdCkwLCBO
b0ludHJpbnNpYyB9LAogI2VuZGlmCiAgICAgeyAib3ZlcmxvYWRlZE1ldGhvZCIsIERvbnREZWxl
dGUgfCBKU0M6OkZ1bmN0aW9uLCAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8TmF0aXZlRnVuY3Rpb24+
KGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uT3ZlcmxvYWRlZE1ldGhvZCksIChpbnRwdHJfdCky
LCBOb0ludHJpbnNpYyB9LAorICAgIHsgIm1ldGhvZFdpdGhVbnNpZ25lZExvbmdBcnJheSIsIERv
bnREZWxldGUgfCBKU0M6OkZ1bmN0aW9uLCAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8TmF0aXZlRnVu
Y3Rpb24+KGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uTWV0aG9kV2l0aFVuc2lnbmVkTG9uZ0Fy
cmF5KSwgKGludHB0cl90KTEsIE5vSW50cmluc2ljIH0sCiAgICAgeyAiZ2V0U1ZHRG9jdW1lbnQi
LCBEb250RGVsZXRlIHwgSlNDOjpGdW5jdGlvbiwgKGludHB0cl90KXN0YXRpY19jYXN0PE5hdGl2
ZUZ1bmN0aW9uPihqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbkdldFNWR0RvY3VtZW50KSwgKGlu
dHB0cl90KTAsIE5vSW50cmluc2ljIH0sCiAgICAgeyAiY29udmVydDEiLCBEb250RGVsZXRlIHwg
SlNDOjpGdW5jdGlvbiwgKGludHB0cl90KXN0YXRpY19jYXN0PE5hdGl2ZUZ1bmN0aW9uPihqc1Rl
c3RPYmpQcm90b3R5cGVGdW5jdGlvbkNvbnZlcnQxKSwgKGludHB0cl90KTEsIE5vSW50cmluc2lj
IH0sCiAgICAgeyAiY29udmVydDIiLCBEb250RGVsZXRlIHwgSlNDOjpGdW5jdGlvbiwgKGludHB0
cl90KXN0YXRpY19jYXN0PE5hdGl2ZUZ1bmN0aW9uPihqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlv
bkNvbnZlcnQyKSwgKGludHB0cl90KTEsIE5vSW50cmluc2ljIH0sCkBAIC0yMTMwLDYgKzIxMzEs
MjMgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpDb25zdHJ1Y3RvckZ1
bmN0aW9uT3ZlcmxvYWRlZE1ldGhvZDEoRXhlY1MKIAogI2VuZGlmCiAKK0VuY29kZWRKU1ZhbHVl
IEpTQ19IT1NUX0NBTEwganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25NZXRob2RXaXRoVW5zaWdu
ZWRMb25nQXJyYXkoRXhlY1N0YXRlKiBleGVjKQoreworICAgIEpTVmFsdWUgdGhpc1ZhbHVlID0g
ZXhlYy0+aG9zdFRoaXNWYWx1ZSgpOworICAgIGlmICghdGhpc1ZhbHVlLmluaGVyaXRzKCZKU1Rl
c3RPYmo6OnNfaW5mbykpCisgICAgICAgIHJldHVybiB0aHJvd1ZNVHlwZUVycm9yKGV4ZWMpOwor
ICAgIEpTVGVzdE9iaiogY2FzdGVkVGhpcyA9IHN0YXRpY19jYXN0PEpTVGVzdE9iaio+KGFzT2Jq
ZWN0KHRoaXNWYWx1ZSkpOworICAgIEFTU0VSVF9HQ19PQkpFQ1RfSU5IRVJJVFMoY2FzdGVkVGhp
cywgJkpTVGVzdE9iajo6c19pbmZvKTsKKyAgICBUZXN0T2JqKiBpbXBsID0gc3RhdGljX2Nhc3Q8
VGVzdE9iaio+KGNhc3RlZFRoaXMtPmltcGwoKSk7CisgICAgaWYgKGV4ZWMtPmFyZ3VtZW50Q291
bnQoKSA8IDEpCisgICAgICAgIHJldHVybiB0aHJvd1ZNRXJyb3IoZXhlYywgY3JlYXRlVHlwZUVy
cm9yKGV4ZWMsICJOb3QgZW5vdWdoIGFyZ3VtZW50cyIpKTsKKyAgICBWZWN0b3I8dW5zaWduZWQg
bG9uZz4gdW5zaWduZWRMb25nQXJyYXkoanNVbnNpZ25lZExvbmdBcnJheVRvVmVjdG9yPHVuc2ln
bmVkIGxvbmc+KGV4ZWMsIE1BWUJFX01JU1NJTkdfUEFSQU1FVEVSKGV4ZWMsIDAsIERlZmF1bHRJ
c1VuZGVmaW5lZCkpKTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgIHJl
dHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CisgICAgaW1wbC0+bWV0aG9kV2l0
aFVuc2lnbmVkTG9uZ0FycmF5KHVuc2lnbmVkTG9uZ0FycmF5KTsKKyAgICByZXR1cm4gSlNWYWx1
ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworfQorCiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9D
QUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uR2V0U1ZHRG9jdW1lbnQoRXhlY1N0YXRlKiBl
eGVjKQogewogICAgIEpTVmFsdWUgdGhpc1ZhbHVlID0gZXhlYy0+aG9zdFRoaXNWYWx1ZSgpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dE9iai5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9i
ai5oCmluZGV4IDY4NGQ3NDAuLjYwYTY1MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmgKQEAgLTE5MSw2ICsxOTEsNyBAQCBK
U0M6OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rp
b25PdmVybG9hZGVkTWV0aG9kKEpTQwogSlNDOjpFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxM
IGpzVGVzdE9iakNvbnN0cnVjdG9yRnVuY3Rpb25DbGFzc01ldGhvZChKU0M6OkV4ZWNTdGF0ZSop
OwogSlNDOjpFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9iakNvbnN0cnVjdG9y
RnVuY3Rpb25DbGFzc01ldGhvZFdpdGhPcHRpb25hbChKU0M6OkV4ZWNTdGF0ZSopOwogSlNDOjpF
bmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9iakNvbnN0cnVjdG9yRnVuY3Rpb25P
dmVybG9hZGVkTWV0aG9kMShKU0M6OkV4ZWNTdGF0ZSopOworSlNDOjpFbmNvZGVkSlNWYWx1ZSBK
U0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uTWV0aG9kV2l0aFVuc2lnbmVk
TG9uZ0FycmF5KEpTQzo6RXhlY1N0YXRlKik7CiBKU0M6OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NU
X0NBTEwganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25HZXRTVkdEb2N1bWVudChKU0M6OkV4ZWNT
dGF0ZSopOwogSlNDOjpFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3Rv
dHlwZUZ1bmN0aW9uQ29udmVydDEoSlNDOjpFeGVjU3RhdGUqKTsKIEpTQzo6RW5jb2RlZEpTVmFs
dWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbkNvbnZlcnQyKEpTQzo6
RXhlY1N0YXRlKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVGVzdE9iai5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
VGVzdE9iai5pZGwKaW5kZXggYmJiZjI1Ni4uMjQ1YTUwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbApAQCAtMTk0LDYgKzE5NCwxMCBA
QCBtb2R1bGUgdGVzdCB7CiAgICAgICAgIGF0dHJpYnV0ZSBkb3VibGVbXSAgICAgICAgICAgICAg
ICAgIGRvdWJsZUFycmF5OwogI2VuZGlmCiAKKyNpZiBkZWZpbmVkKFRFU1RJTkdfSlMpCisgICAg
ICAgIHZvaWQgbWV0aG9kV2l0aFVuc2lnbmVkTG9uZ0FycmF5KGluIHVuc2lnbmVkIGxvbmdbXSB1
bnNpZ25lZExvbmdBcnJheSk7CisjZW5kaWYKKwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUg
W0NoZWNrQWNjZXNzVG9Ob2RlXSBEb2N1bWVudCBjb250ZW50RG9jdW1lbnQ7CiAgICAgICAgIFtD
aGVja0FjY2Vzc1RvTm9kZV0gU1ZHRG9jdW1lbnQgZ2V0U1ZHRG9jdW1lbnQoKQogICAgICAgICAg
ICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7Cg==
</data>
<flag name="review"
          id="129419"
          type_id="1"
          status="-"
          setter="haraken"
    />
    <flag name="commit-queue"
          id="129420"
          type_id="3"
          status="-"
          setter="haraken"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>127352</attachid>
            <date>2012-02-16 03:50:38 -0800</date>
            <delta_ts>2012-02-16 04:30:02 -0800</delta_ts>
            <desc>Fixed patch.</desc>
            <filename>unsignedLongArray.patch</filename>
            <type>text/plain</type>
            <size>8708</size>
            <attacher name="Kihong Kwon">kihong.kwon</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBlNTY1MWVjLi5lN2Q5NmYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkg
QEAKKzIwMTItMDItMTYgIEtpaG9uZyBLd29uICA8a2lob25nLmt3b25Ac2Ftc3VuZy5jb20+CisK
KyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHVuc2lnbmVkIGxvbmdbXSB0byBpZGwgYmluZGluZ3Mg
dG8gSlNDLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NzgyMTAKKworICAgICAgICByZXZpZXdlZCBieSBub2JvZHkgKG9vcHMhKS4KKworICAgICAgICBB
ZGQgc3VwcG9ydCBmb3IgdW5zaWduZWQgbG9uZ1tdIHBhcmFtZXRlciB0eXBlIGluIGlkbC4KKyAg
ICAgICAgVGhpcyBwYXRjaCBhZGRzIHN1cHBvcnQganVzdCBmb3IgdW5zaWduZWQgbG9uZ1tdIHBh
cmFtZXRlciB0eXBlLgorICAgICAgICAoc3VwcG9ydCBmb3Igb3RoZXIgdHlwZXMgb2YgYXJyYXkg
c2hvdWxkIGJlIGRvbmUgaW4gYW5vdGhlciBwYXRjaC4pCisKKyAgICAgICAgdGVzdHMgYWRkZWQg
dG8gVGVzdE9iai5pZGwuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaDoK
KyAgICAgICAgKFdlYkNvcmU6OmpzVW5zaWduZWRMb25nQXJyYXlUb1ZlY3Rvcik6CisgICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06CisgICAgICAgIChBZGRJbmNs
dWRlc0ZvclR5cGUpOgorICAgICAgICAoSlNWYWx1ZVRvTmF0aXZlKToKKyAgICAgICAgKE5hdGl2
ZVRvSlNWYWx1ZSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9i
ai5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OmpzVGVzdE9ialBy
b3RvdHlwZUZ1bmN0aW9uTWV0aG9kV2l0aFVuc2lnbmVkTG9uZ0FycmF5KToKKyAgICAgICAgKiBi
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmg6CisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5pZGw6CisKIDIwMTItMDIt
MTUgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgV2lu
ZG93cyBidWlsZCBmaXggZm9yICFFTkFCTEUoQ1NTX0ZJTFRFUlMpIGFmdGVyIHIxMDY1OTMuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5oCmluZGV4IDE1YTFmYTIuLmRh
NTcyNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGlu
Zy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5oCkBAIC0z
OCw2ICszOCw3IEBACiAjaW5jbHVkZSA8cnVudGltZS9PYmplY3RQcm90b3R5cGUuaD4KICNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgorI2luY2x1
ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zNDIsNiArMzQz
LDIzIEBAIGVudW0gUGFyYW1ldGVyRGVmYXVsdFBvbGljeSB7CiAgICAgICAgIHJldHVybiBBdG9t
aWNTdHJpbmcoaWRlbnRpZmllci5pbXBsKCkpOwogICAgIH0KIAorICAgIGlubGluZSBWZWN0b3I8
dW5zaWduZWQgbG9uZz4ganNVbnNpZ25lZExvbmdBcnJheVRvVmVjdG9yKEpTQzo6RXhlY1N0YXRl
KiBleGVjLCBKU0M6OkpTVmFsdWUgdmFsdWUpCisgICAgeworICAgICAgICB1bnNpZ25lZCBsZW5n
dGg7CisgICAgICAgIEpTQzo6SlNPYmplY3QqIG9iamVjdCA9IHRvSlNTZXF1ZW5jZShleGVjLCB2
YWx1ZSwgbGVuZ3RoKTsKKyAgICAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAg
ICAgICAgcmV0dXJuIFZlY3Rvcjx1bnNpZ25lZCBsb25nPigpOworCisgICAgICAgIFZlY3Rvcjx1
bnNpZ25lZCBsb25nPiByZXN1bHQ7CisgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBs
ZW5ndGg7IGkrKykgeworICAgICAgICAgICAgSlNDOjpKU1ZhbHVlIGluZGV4ZWRWYWx1ZTsKKyAg
ICAgICAgICAgIGluZGV4ZWRWYWx1ZSA9IG9iamVjdC0+Z2V0KGV4ZWMsIGkpOworICAgICAgICAg
ICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpIHx8IGluZGV4ZWRWYWx1ZS5pc1VuZGVmaW5lZE9y
TnVsbCgpIHx8ICFpbmRleGVkVmFsdWUuaXNOdW1iZXIoKSkKKyAgICAgICAgICAgICAgICByZXR1
cm4gVmVjdG9yPHVuc2lnbmVkIGxvbmc+KCk7CisgICAgICAgICAgICByZXN1bHQuYXBwZW5kKGlu
ZGV4ZWRWYWx1ZS50b1VJbnQzMihleGVjKSk7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIHJl
c3VsdDsKKyAgICB9CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBKU0RPTUJp
bmRpbmdfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2Rl
R2VuZXJhdG9ySlMucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5l
cmF0b3JKUy5wbQppbmRleCA2MDZiZWJkLi41NDZiMmEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQpAQCAtMjc0LDYgKzI3NCw4
IEBAIHN1YiBBZGRJbmNsdWRlc0ZvclR5cGUKICAgICB9IGVsc2lmICgkdHlwZSBlcSAiRE9NU3Ry
aW5nW10iKSB7CiAgICAgICAgICMgRklYTUU6IEFkZCBwcm9wZXIgc3VwcG9ydCBmb3IgVFtdLCBU
W10/LCBzZXF1ZW5jZTxUPgogICAgICAgICAkaW5jbHVkZXNSZWYtPnsiSlNET01TdHJpbmdMaXN0
LmgifSA9IDE7CisgICAgfSBlbHNpZiAoJHR5cGUgZXEgInVuc2lnbmVkIGxvbmdbXSIpIHsKKyAg
ICAgICAgJGluY2x1ZGVzUmVmLT57Ijx3dGYvVmVjdG9yLmg+In0gPSAxOwogICAgIH0gZWxzaWYg
KCRpc0NhbGxiYWNrKSB7CiAgICAgICAgICRpbmNsdWRlc1JlZi0+eyJKUyR7dHlwZX0uaCJ9ID0g
MTsKICAgICB9IGVsc2lmIChJc1R5cGVkQXJyYXlUeXBlKCR0eXBlKSkgewpAQCAtMjc2Miw3ICsy
NzY0LDggQEAgbXkgJW5hdGl2ZVR5cGUgPSAoCiAgICAgImxvbmcgbG9uZyIgPT4gImxvbmcgbG9u
ZyIsCiAgICAgInVuc2lnbmVkIGxvbmcgbG9uZyIgPT4gInVuc2lnbmVkIGxvbmcgbG9uZyIsCiAg
ICAgIk1lZGlhUXVlcnlMaXN0TGlzdGVuZXIiID0+ICJSZWZQdHI8TWVkaWFRdWVyeUxpc3RMaXN0
ZW5lcj4iLAotICAgICJET01UaW1lU3RhbXAiID0+ICJET01UaW1lU3RhbXAiCisgICAgIkRPTVRp
bWVTdGFtcCIgPT4gIkRPTVRpbWVTdGFtcCIsCisgICAgInVuc2lnbmVkIGxvbmdbXSIgPT4gIlZl
Y3Rvcjx1bnNpZ25lZCBsb25nPiIKICk7CiAKIHN1YiBHZXROYXRpdmVUeXBlCkBAIC0yODkxLDYg
KzI4OTQsMTEgQEAgc3ViIEpTVmFsdWVUb05hdGl2ZQogICAgICAgICByZXR1cm4gInRvRE9NU3Ry
aW5nTGlzdCgkdmFsdWUpIjsKICAgICB9CiAKKyAgICBpZiAoJHR5cGUgZXEgInVuc2lnbmVkIGxv
bmdbXSIpIHsKKyAgICAgICAgQWRkVG9JbXBsSW5jbHVkZXMoIkpTRE9NQmluZGluZy5oIiwgJGNv
bmRpdGlvbmFsKTsKKyAgICAgICAgcmV0dXJuICJqc1Vuc2lnbmVkTG9uZ0FycmF5VG9WZWN0b3Io
ZXhlYywgJHZhbHVlKSI7CisgICAgfQorCiAgICAgQWRkVG9JbXBsSW5jbHVkZXMoIkhUTUxPcHRp
b25FbGVtZW50LmgiLCAkY29uZGl0aW9uYWwpIGlmICR0eXBlIGVxICJIVE1MT3B0aW9uRWxlbWVu
dCI7CiAgICAgQWRkVG9JbXBsSW5jbHVkZXMoIkpTQ3VzdG9tVm9pZENhbGxiYWNrLmgiLCAkY29u
ZGl0aW9uYWwpIGlmICR0eXBlIGVxICJWb2lkQ2FsbGJhY2siOwogICAgIEFkZFRvSW1wbEluY2x1
ZGVzKCJFdmVudC5oIiwgJGNvbmRpdGlvbmFsKSBpZiAkdHlwZSBlcSAiRXZlbnQiOwpAQCAtMjk2
Nyw2ICsyOTc1LDggQEAgc3ViIE5hdGl2ZVRvSlNWYWx1ZQogICAgIH0gZWxzaWYgKCR0eXBlIGVx
ICJTZXJpYWxpemVkU2NyaXB0VmFsdWUiIG9yICR0eXBlIGVxICJhbnkiKSB7CiAgICAgICAgIEFk
ZFRvSW1wbEluY2x1ZGVzKCJTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCIsICRjb25kaXRpb25hbCk7
CiAgICAgICAgIHJldHVybiAiJHZhbHVlID8gJHZhbHVlLT5kZXNlcmlhbGl6ZShleGVjLCBjYXN0
ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgMCkgOiBqc051bGwoKSI7CisgICAgfSBlbHNpZiAoJHR5
cGUgZXEgInVuc2lnbmVkIGxvbmdbXSIpIHsKKyAgICAgICAgQWRkVG9JbXBsSW5jbHVkZXMoIjx3
cnQvVmVjdG9yLmg+IiwgJGNvbmRpdGlvbmFsKTsKICAgICB9IGVsc2UgewogICAgICAgICAjIERl
ZmF1bHQsIGluY2x1ZGUgaGVhZGVyIHdpdGggc2FtZSBuYW1lLgogICAgICAgICBBZGRUb0ltcGxJ
bmNsdWRlcygiSlMkdHlwZS5oIiwgJGNvbmRpdGlvbmFsKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKaW5kZXggODdlNmVj
Mi4uMzg3MzdlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE9iai5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKQEAgLTI4Nyw2ICsyODcsNyBAQCBzdGF0aWMgY29uc3Qg
SGFzaFRhYmxlVmFsdWUgSlNUZXN0T2JqUHJvdG90eXBlVGFibGVWYWx1ZXNbXSA9CiAgICAgeyAi
Y29uZGl0aW9uYWxNZXRob2QzIiwgRG9udERlbGV0ZSB8IEpTQzo6RnVuY3Rpb24sIChpbnRwdHJf
dClzdGF0aWNfY2FzdDxOYXRpdmVGdW5jdGlvbj4oanNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25D
b25kaXRpb25hbE1ldGhvZDMpLCAoaW50cHRyX3QpMCwgTm9JbnRyaW5zaWMgfSwKICNlbmRpZgog
ICAgIHsgIm92ZXJsb2FkZWRNZXRob2QiLCBEb250RGVsZXRlIHwgSlNDOjpGdW5jdGlvbiwgKGlu
dHB0cl90KXN0YXRpY19jYXN0PE5hdGl2ZUZ1bmN0aW9uPihqc1Rlc3RPYmpQcm90b3R5cGVGdW5j
dGlvbk92ZXJsb2FkZWRNZXRob2QpLCAoaW50cHRyX3QpMiwgTm9JbnRyaW5zaWMgfSwKKyAgICB7
ICJtZXRob2RXaXRoVW5zaWduZWRMb25nQXJyYXkiLCBEb250RGVsZXRlIHwgSlNDOjpGdW5jdGlv
biwgKGludHB0cl90KXN0YXRpY19jYXN0PE5hdGl2ZUZ1bmN0aW9uPihqc1Rlc3RPYmpQcm90b3R5
cGVGdW5jdGlvbk1ldGhvZFdpdGhVbnNpZ25lZExvbmdBcnJheSksIChpbnRwdHJfdCkxLCBOb0lu
dHJpbnNpYyB9LAogICAgIHsgImdldFNWR0RvY3VtZW50IiwgRG9udERlbGV0ZSB8IEpTQzo6RnVu
Y3Rpb24sIChpbnRwdHJfdClzdGF0aWNfY2FzdDxOYXRpdmVGdW5jdGlvbj4oanNUZXN0T2JqUHJv
dG90eXBlRnVuY3Rpb25HZXRTVkdEb2N1bWVudCksIChpbnRwdHJfdCkwLCBOb0ludHJpbnNpYyB9
LAogICAgIHsgImNvbnZlcnQxIiwgRG9udERlbGV0ZSB8IEpTQzo6RnVuY3Rpb24sIChpbnRwdHJf
dClzdGF0aWNfY2FzdDxOYXRpdmVGdW5jdGlvbj4oanNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25D
b252ZXJ0MSksIChpbnRwdHJfdCkxLCBOb0ludHJpbnNpYyB9LAogICAgIHsgImNvbnZlcnQyIiwg
RG9udERlbGV0ZSB8IEpTQzo6RnVuY3Rpb24sIChpbnRwdHJfdClzdGF0aWNfY2FzdDxOYXRpdmVG
dW5jdGlvbj4oanNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25Db252ZXJ0MiksIChpbnRwdHJfdCkx
LCBOb0ludHJpbnNpYyB9LApAQCAtMjEzMCw2ICsyMTMxLDIzIEBAIEVuY29kZWRKU1ZhbHVlIEpT
Q19IT1NUX0NBTEwganNUZXN0T2JqQ29uc3RydWN0b3JGdW5jdGlvbk92ZXJsb2FkZWRNZXRob2Qx
KEV4ZWNTCiAKICNlbmRpZgogCitFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9i
alByb3RvdHlwZUZ1bmN0aW9uTWV0aG9kV2l0aFVuc2lnbmVkTG9uZ0FycmF5KEV4ZWNTdGF0ZSog
ZXhlYykKK3sKKyAgICBKU1ZhbHVlIHRoaXNWYWx1ZSA9IGV4ZWMtPmhvc3RUaGlzVmFsdWUoKTsK
KyAgICBpZiAoIXRoaXNWYWx1ZS5pbmhlcml0cygmSlNUZXN0T2JqOjpzX2luZm8pKQorICAgICAg
ICByZXR1cm4gdGhyb3dWTVR5cGVFcnJvcihleGVjKTsKKyAgICBKU1Rlc3RPYmoqIGNhc3RlZFRo
aXMgPSBzdGF0aWNfY2FzdDxKU1Rlc3RPYmoqPihhc09iamVjdCh0aGlzVmFsdWUpKTsKKyAgICBB
U1NFUlRfR0NfT0JKRUNUX0lOSEVSSVRTKGNhc3RlZFRoaXMsICZKU1Rlc3RPYmo6OnNfaW5mbyk7
CisgICAgVGVzdE9iaiogaW1wbCA9IHN0YXRpY19jYXN0PFRlc3RPYmoqPihjYXN0ZWRUaGlzLT5p
bXBsKCkpOworICAgIGlmIChleGVjLT5hcmd1bWVudENvdW50KCkgPCAxKQorICAgICAgICByZXR1
cm4gdGhyb3dWTUVycm9yKGV4ZWMsIGNyZWF0ZVR5cGVFcnJvcihleGVjLCAiTm90IGVub3VnaCBh
cmd1bWVudHMiKSk7CisgICAgVmVjdG9yPHVuc2lnbmVkIGxvbmc+IHVuc2lnbmVkTG9uZ0FycmF5
KGpzVW5zaWduZWRMb25nQXJyYXlUb1ZlY3RvcihleGVjLCBNQVlCRV9NSVNTSU5HX1BBUkFNRVRF
UihleGVjLCAwLCBEZWZhdWx0SXNVbmRlZmluZWQpKSk7CisgICAgaWYgKGV4ZWMtPmhhZEV4Y2Vw
dGlvbigpKQorICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwor
ICAgIGltcGwtPm1ldGhvZFdpdGhVbnNpZ25lZExvbmdBcnJheSh1bnNpZ25lZExvbmdBcnJheSk7
CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKK30KKwogRW5jb2Rl
ZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbkdldFNWR0Rv
Y3VtZW50KEV4ZWNTdGF0ZSogZXhlYykKIHsKICAgICBKU1ZhbHVlIHRoaXNWYWx1ZSA9IGV4ZWMt
Pmhvc3RUaGlzVmFsdWUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RPYmouaAppbmRleCA2ODRkNzQwLi42MGE2NTJjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5oCkBA
IC0xOTEsNiArMTkxLDcgQEAgSlNDOjpFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVz
dE9ialByb3RvdHlwZUZ1bmN0aW9uT3ZlcmxvYWRlZE1ldGhvZChKU0MKIEpTQzo6RW5jb2RlZEpT
VmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpDb25zdHJ1Y3RvckZ1bmN0aW9uQ2xhc3NNZXRo
b2QoSlNDOjpFeGVjU3RhdGUqKTsKIEpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBq
c1Rlc3RPYmpDb25zdHJ1Y3RvckZ1bmN0aW9uQ2xhc3NNZXRob2RXaXRoT3B0aW9uYWwoSlNDOjpF
eGVjU3RhdGUqKTsKIEpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpD
b25zdHJ1Y3RvckZ1bmN0aW9uT3ZlcmxvYWRlZE1ldGhvZDEoSlNDOjpFeGVjU3RhdGUqKTsKK0pT
Qzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlv
bk1ldGhvZFdpdGhVbnNpZ25lZExvbmdBcnJheShKU0M6OkV4ZWNTdGF0ZSopOwogSlNDOjpFbmNv
ZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uR2V0U1ZH
RG9jdW1lbnQoSlNDOjpFeGVjU3RhdGUqKTsKIEpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1Rf
Q0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbkNvbnZlcnQxKEpTQzo6RXhlY1N0YXRlKik7
CiBKU0M6OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0T2JqUHJvdG90eXBlRnVu
Y3Rpb25Db252ZXJ0MihKU0M6OkV4ZWNTdGF0ZSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRsIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRsCmluZGV4IGJiYmYyNTYuLjI0NWE1MDUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlk
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5pZGwK
QEAgLTE5NCw2ICsxOTQsMTAgQEAgbW9kdWxlIHRlc3QgewogICAgICAgICBhdHRyaWJ1dGUgZG91
YmxlW10gICAgICAgICAgICAgICAgICBkb3VibGVBcnJheTsKICNlbmRpZgogCisjaWYgZGVmaW5l
ZChURVNUSU5HX0pTKQorICAgICAgICB2b2lkIG1ldGhvZFdpdGhVbnNpZ25lZExvbmdBcnJheShp
biB1bnNpZ25lZCBsb25nW10gdW5zaWduZWRMb25nQXJyYXkpOworI2VuZGlmCisKICAgICAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIFtDaGVja0FjY2Vzc1RvTm9kZV0gRG9jdW1lbnQgY29udGVudERv
Y3VtZW50OwogICAgICAgICBbQ2hlY2tBY2Nlc3NUb05vZGVdIFNWR0RvY3VtZW50IGdldFNWR0Rv
Y3VtZW50KCkKICAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwo=
</data>
<flag name="review"
          id="129454"
          type_id="1"
          status="+"
          setter="haraken"
    />
    <flag name="commit-queue"
          id="129455"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>127355</attachid>
            <date>2012-02-16 04:30:02 -0800</date>
            <delta_ts>2012-02-16 05:46:51 -0800</delta_ts>
            <desc>Fixed patch for WebCore/ChangeLog</desc>
            <filename>unsignedLongArray.patch</filename>
            <type>text/plain</type>
            <size>8708</size>
            <attacher name="Kihong Kwon">kihong.kwon</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBlNTY1MWVjLi40NjhmMTRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkg
QEAKKzIwMTItMDItMTYgIEtpaG9uZyBLd29uICA8a2lob25nLmt3b25Ac2Ftc3VuZy5jb20+CisK
KyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHVuc2lnbmVkIGxvbmdbXSB0byBpZGwgYmluZGluZ3Mg
dG8gSlNDLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NzgyMTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGQgc3VwcG9ydCBmb3IgdW5zaWduZWQgbG9uZ1tdIHBhcmFtZXRlciB0eXBlIGluIGlkbC4KKyAg
ICAgICAgVGhpcyBwYXRjaCBhZGRzIHN1cHBvcnQganVzdCBmb3IgdW5zaWduZWQgbG9uZ1tdIHBh
cmFtZXRlciB0eXBlLgorICAgICAgICAoc3VwcG9ydCBmb3Igb3RoZXIgdHlwZXMgb2YgYXJyYXkg
c2hvdWxkIGJlIGRvbmUgaW4gYW5vdGhlciBwYXRjaC4pCisKKyAgICAgICAgdGVzdHMgYWRkZWQg
dG8gVGVzdE9iai5pZGwuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaDoK
KyAgICAgICAgKFdlYkNvcmU6OmpzVW5zaWduZWRMb25nQXJyYXlUb1ZlY3Rvcik6CisgICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06CisgICAgICAgIChBZGRJbmNs
dWRlc0ZvclR5cGUpOgorICAgICAgICAoSlNWYWx1ZVRvTmF0aXZlKToKKyAgICAgICAgKE5hdGl2
ZVRvSlNWYWx1ZSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9i
ai5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OmpzVGVzdE9ialBy
b3RvdHlwZUZ1bmN0aW9uTWV0aG9kV2l0aFVuc2lnbmVkTG9uZ0FycmF5KToKKyAgICAgICAgKiBi
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmg6CisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5pZGw6CisKIDIwMTItMDIt
MTUgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgV2lu
ZG93cyBidWlsZCBmaXggZm9yICFFTkFCTEUoQ1NTX0ZJTFRFUlMpIGFmdGVyIHIxMDY1OTMuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5oCmluZGV4IDE1YTFmYTIuLmRh
NTcyNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGlu
Zy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5oCkBAIC0z
OCw2ICszOCw3IEBACiAjaW5jbHVkZSA8cnVudGltZS9PYmplY3RQcm90b3R5cGUuaD4KICNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgorI2luY2x1
ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zNDIsNiArMzQz
LDIzIEBAIGVudW0gUGFyYW1ldGVyRGVmYXVsdFBvbGljeSB7CiAgICAgICAgIHJldHVybiBBdG9t
aWNTdHJpbmcoaWRlbnRpZmllci5pbXBsKCkpOwogICAgIH0KIAorICAgIGlubGluZSBWZWN0b3I8
dW5zaWduZWQgbG9uZz4ganNVbnNpZ25lZExvbmdBcnJheVRvVmVjdG9yKEpTQzo6RXhlY1N0YXRl
KiBleGVjLCBKU0M6OkpTVmFsdWUgdmFsdWUpCisgICAgeworICAgICAgICB1bnNpZ25lZCBsZW5n
dGg7CisgICAgICAgIEpTQzo6SlNPYmplY3QqIG9iamVjdCA9IHRvSlNTZXF1ZW5jZShleGVjLCB2
YWx1ZSwgbGVuZ3RoKTsKKyAgICAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAg
ICAgICAgcmV0dXJuIFZlY3Rvcjx1bnNpZ25lZCBsb25nPigpOworCisgICAgICAgIFZlY3Rvcjx1
bnNpZ25lZCBsb25nPiByZXN1bHQ7CisgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBs
ZW5ndGg7IGkrKykgeworICAgICAgICAgICAgSlNDOjpKU1ZhbHVlIGluZGV4ZWRWYWx1ZTsKKyAg
ICAgICAgICAgIGluZGV4ZWRWYWx1ZSA9IG9iamVjdC0+Z2V0KGV4ZWMsIGkpOworICAgICAgICAg
ICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpIHx8IGluZGV4ZWRWYWx1ZS5pc1VuZGVmaW5lZE9y
TnVsbCgpIHx8ICFpbmRleGVkVmFsdWUuaXNOdW1iZXIoKSkKKyAgICAgICAgICAgICAgICByZXR1
cm4gVmVjdG9yPHVuc2lnbmVkIGxvbmc+KCk7CisgICAgICAgICAgICByZXN1bHQuYXBwZW5kKGlu
ZGV4ZWRWYWx1ZS50b1VJbnQzMihleGVjKSk7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIHJl
c3VsdDsKKyAgICB9CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBKU0RPTUJp
bmRpbmdfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2Rl
R2VuZXJhdG9ySlMucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5l
cmF0b3JKUy5wbQppbmRleCA2MDZiZWJkLi41NDZiMmEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQpAQCAtMjc0LDYgKzI3NCw4
IEBAIHN1YiBBZGRJbmNsdWRlc0ZvclR5cGUKICAgICB9IGVsc2lmICgkdHlwZSBlcSAiRE9NU3Ry
aW5nW10iKSB7CiAgICAgICAgICMgRklYTUU6IEFkZCBwcm9wZXIgc3VwcG9ydCBmb3IgVFtdLCBU
W10/LCBzZXF1ZW5jZTxUPgogICAgICAgICAkaW5jbHVkZXNSZWYtPnsiSlNET01TdHJpbmdMaXN0
LmgifSA9IDE7CisgICAgfSBlbHNpZiAoJHR5cGUgZXEgInVuc2lnbmVkIGxvbmdbXSIpIHsKKyAg
ICAgICAgJGluY2x1ZGVzUmVmLT57Ijx3dGYvVmVjdG9yLmg+In0gPSAxOwogICAgIH0gZWxzaWYg
KCRpc0NhbGxiYWNrKSB7CiAgICAgICAgICRpbmNsdWRlc1JlZi0+eyJKUyR7dHlwZX0uaCJ9ID0g
MTsKICAgICB9IGVsc2lmIChJc1R5cGVkQXJyYXlUeXBlKCR0eXBlKSkgewpAQCAtMjc2Miw3ICsy
NzY0LDggQEAgbXkgJW5hdGl2ZVR5cGUgPSAoCiAgICAgImxvbmcgbG9uZyIgPT4gImxvbmcgbG9u
ZyIsCiAgICAgInVuc2lnbmVkIGxvbmcgbG9uZyIgPT4gInVuc2lnbmVkIGxvbmcgbG9uZyIsCiAg
ICAgIk1lZGlhUXVlcnlMaXN0TGlzdGVuZXIiID0+ICJSZWZQdHI8TWVkaWFRdWVyeUxpc3RMaXN0
ZW5lcj4iLAotICAgICJET01UaW1lU3RhbXAiID0+ICJET01UaW1lU3RhbXAiCisgICAgIkRPTVRp
bWVTdGFtcCIgPT4gIkRPTVRpbWVTdGFtcCIsCisgICAgInVuc2lnbmVkIGxvbmdbXSIgPT4gIlZl
Y3Rvcjx1bnNpZ25lZCBsb25nPiIKICk7CiAKIHN1YiBHZXROYXRpdmVUeXBlCkBAIC0yODkxLDYg
KzI4OTQsMTEgQEAgc3ViIEpTVmFsdWVUb05hdGl2ZQogICAgICAgICByZXR1cm4gInRvRE9NU3Ry
aW5nTGlzdCgkdmFsdWUpIjsKICAgICB9CiAKKyAgICBpZiAoJHR5cGUgZXEgInVuc2lnbmVkIGxv
bmdbXSIpIHsKKyAgICAgICAgQWRkVG9JbXBsSW5jbHVkZXMoIkpTRE9NQmluZGluZy5oIiwgJGNv
bmRpdGlvbmFsKTsKKyAgICAgICAgcmV0dXJuICJqc1Vuc2lnbmVkTG9uZ0FycmF5VG9WZWN0b3Io
ZXhlYywgJHZhbHVlKSI7CisgICAgfQorCiAgICAgQWRkVG9JbXBsSW5jbHVkZXMoIkhUTUxPcHRp
b25FbGVtZW50LmgiLCAkY29uZGl0aW9uYWwpIGlmICR0eXBlIGVxICJIVE1MT3B0aW9uRWxlbWVu
dCI7CiAgICAgQWRkVG9JbXBsSW5jbHVkZXMoIkpTQ3VzdG9tVm9pZENhbGxiYWNrLmgiLCAkY29u
ZGl0aW9uYWwpIGlmICR0eXBlIGVxICJWb2lkQ2FsbGJhY2siOwogICAgIEFkZFRvSW1wbEluY2x1
ZGVzKCJFdmVudC5oIiwgJGNvbmRpdGlvbmFsKSBpZiAkdHlwZSBlcSAiRXZlbnQiOwpAQCAtMjk2
Nyw2ICsyOTc1LDggQEAgc3ViIE5hdGl2ZVRvSlNWYWx1ZQogICAgIH0gZWxzaWYgKCR0eXBlIGVx
ICJTZXJpYWxpemVkU2NyaXB0VmFsdWUiIG9yICR0eXBlIGVxICJhbnkiKSB7CiAgICAgICAgIEFk
ZFRvSW1wbEluY2x1ZGVzKCJTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCIsICRjb25kaXRpb25hbCk7
CiAgICAgICAgIHJldHVybiAiJHZhbHVlID8gJHZhbHVlLT5kZXNlcmlhbGl6ZShleGVjLCBjYXN0
ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgMCkgOiBqc051bGwoKSI7CisgICAgfSBlbHNpZiAoJHR5
cGUgZXEgInVuc2lnbmVkIGxvbmdbXSIpIHsKKyAgICAgICAgQWRkVG9JbXBsSW5jbHVkZXMoIjx3
cnQvVmVjdG9yLmg+IiwgJGNvbmRpdGlvbmFsKTsKICAgICB9IGVsc2UgewogICAgICAgICAjIERl
ZmF1bHQsIGluY2x1ZGUgaGVhZGVyIHdpdGggc2FtZSBuYW1lLgogICAgICAgICBBZGRUb0ltcGxJ
bmNsdWRlcygiSlMkdHlwZS5oIiwgJGNvbmRpdGlvbmFsKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKaW5kZXggODdlNmVj
Mi4uMzg3MzdlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE9iai5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKQEAgLTI4Nyw2ICsyODcsNyBAQCBzdGF0aWMgY29uc3Qg
SGFzaFRhYmxlVmFsdWUgSlNUZXN0T2JqUHJvdG90eXBlVGFibGVWYWx1ZXNbXSA9CiAgICAgeyAi
Y29uZGl0aW9uYWxNZXRob2QzIiwgRG9udERlbGV0ZSB8IEpTQzo6RnVuY3Rpb24sIChpbnRwdHJf
dClzdGF0aWNfY2FzdDxOYXRpdmVGdW5jdGlvbj4oanNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25D
b25kaXRpb25hbE1ldGhvZDMpLCAoaW50cHRyX3QpMCwgTm9JbnRyaW5zaWMgfSwKICNlbmRpZgog
ICAgIHsgIm92ZXJsb2FkZWRNZXRob2QiLCBEb250RGVsZXRlIHwgSlNDOjpGdW5jdGlvbiwgKGlu
dHB0cl90KXN0YXRpY19jYXN0PE5hdGl2ZUZ1bmN0aW9uPihqc1Rlc3RPYmpQcm90b3R5cGVGdW5j
dGlvbk92ZXJsb2FkZWRNZXRob2QpLCAoaW50cHRyX3QpMiwgTm9JbnRyaW5zaWMgfSwKKyAgICB7
ICJtZXRob2RXaXRoVW5zaWduZWRMb25nQXJyYXkiLCBEb250RGVsZXRlIHwgSlNDOjpGdW5jdGlv
biwgKGludHB0cl90KXN0YXRpY19jYXN0PE5hdGl2ZUZ1bmN0aW9uPihqc1Rlc3RPYmpQcm90b3R5
cGVGdW5jdGlvbk1ldGhvZFdpdGhVbnNpZ25lZExvbmdBcnJheSksIChpbnRwdHJfdCkxLCBOb0lu
dHJpbnNpYyB9LAogICAgIHsgImdldFNWR0RvY3VtZW50IiwgRG9udERlbGV0ZSB8IEpTQzo6RnVu
Y3Rpb24sIChpbnRwdHJfdClzdGF0aWNfY2FzdDxOYXRpdmVGdW5jdGlvbj4oanNUZXN0T2JqUHJv
dG90eXBlRnVuY3Rpb25HZXRTVkdEb2N1bWVudCksIChpbnRwdHJfdCkwLCBOb0ludHJpbnNpYyB9
LAogICAgIHsgImNvbnZlcnQxIiwgRG9udERlbGV0ZSB8IEpTQzo6RnVuY3Rpb24sIChpbnRwdHJf
dClzdGF0aWNfY2FzdDxOYXRpdmVGdW5jdGlvbj4oanNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25D
b252ZXJ0MSksIChpbnRwdHJfdCkxLCBOb0ludHJpbnNpYyB9LAogICAgIHsgImNvbnZlcnQyIiwg
RG9udERlbGV0ZSB8IEpTQzo6RnVuY3Rpb24sIChpbnRwdHJfdClzdGF0aWNfY2FzdDxOYXRpdmVG
dW5jdGlvbj4oanNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25Db252ZXJ0MiksIChpbnRwdHJfdCkx
LCBOb0ludHJpbnNpYyB9LApAQCAtMjEzMCw2ICsyMTMxLDIzIEBAIEVuY29kZWRKU1ZhbHVlIEpT
Q19IT1NUX0NBTEwganNUZXN0T2JqQ29uc3RydWN0b3JGdW5jdGlvbk92ZXJsb2FkZWRNZXRob2Qx
KEV4ZWNTCiAKICNlbmRpZgogCitFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9i
alByb3RvdHlwZUZ1bmN0aW9uTWV0aG9kV2l0aFVuc2lnbmVkTG9uZ0FycmF5KEV4ZWNTdGF0ZSog
ZXhlYykKK3sKKyAgICBKU1ZhbHVlIHRoaXNWYWx1ZSA9IGV4ZWMtPmhvc3RUaGlzVmFsdWUoKTsK
KyAgICBpZiAoIXRoaXNWYWx1ZS5pbmhlcml0cygmSlNUZXN0T2JqOjpzX2luZm8pKQorICAgICAg
ICByZXR1cm4gdGhyb3dWTVR5cGVFcnJvcihleGVjKTsKKyAgICBKU1Rlc3RPYmoqIGNhc3RlZFRo
aXMgPSBzdGF0aWNfY2FzdDxKU1Rlc3RPYmoqPihhc09iamVjdCh0aGlzVmFsdWUpKTsKKyAgICBB
U1NFUlRfR0NfT0JKRUNUX0lOSEVSSVRTKGNhc3RlZFRoaXMsICZKU1Rlc3RPYmo6OnNfaW5mbyk7
CisgICAgVGVzdE9iaiogaW1wbCA9IHN0YXRpY19jYXN0PFRlc3RPYmoqPihjYXN0ZWRUaGlzLT5p
bXBsKCkpOworICAgIGlmIChleGVjLT5hcmd1bWVudENvdW50KCkgPCAxKQorICAgICAgICByZXR1
cm4gdGhyb3dWTUVycm9yKGV4ZWMsIGNyZWF0ZVR5cGVFcnJvcihleGVjLCAiTm90IGVub3VnaCBh
cmd1bWVudHMiKSk7CisgICAgVmVjdG9yPHVuc2lnbmVkIGxvbmc+IHVuc2lnbmVkTG9uZ0FycmF5
KGpzVW5zaWduZWRMb25nQXJyYXlUb1ZlY3RvcihleGVjLCBNQVlCRV9NSVNTSU5HX1BBUkFNRVRF
UihleGVjLCAwLCBEZWZhdWx0SXNVbmRlZmluZWQpKSk7CisgICAgaWYgKGV4ZWMtPmhhZEV4Y2Vw
dGlvbigpKQorICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwor
ICAgIGltcGwtPm1ldGhvZFdpdGhVbnNpZ25lZExvbmdBcnJheSh1bnNpZ25lZExvbmdBcnJheSk7
CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKK30KKwogRW5jb2Rl
ZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbkdldFNWR0Rv
Y3VtZW50KEV4ZWNTdGF0ZSogZXhlYykKIHsKICAgICBKU1ZhbHVlIHRoaXNWYWx1ZSA9IGV4ZWMt
Pmhvc3RUaGlzVmFsdWUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RPYmouaAppbmRleCA2ODRkNzQwLi42MGE2NTJjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5oCkBA
IC0xOTEsNiArMTkxLDcgQEAgSlNDOjpFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVz
dE9ialByb3RvdHlwZUZ1bmN0aW9uT3ZlcmxvYWRlZE1ldGhvZChKU0MKIEpTQzo6RW5jb2RlZEpT
VmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpDb25zdHJ1Y3RvckZ1bmN0aW9uQ2xhc3NNZXRo
b2QoSlNDOjpFeGVjU3RhdGUqKTsKIEpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBq
c1Rlc3RPYmpDb25zdHJ1Y3RvckZ1bmN0aW9uQ2xhc3NNZXRob2RXaXRoT3B0aW9uYWwoSlNDOjpF
eGVjU3RhdGUqKTsKIEpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpD
b25zdHJ1Y3RvckZ1bmN0aW9uT3ZlcmxvYWRlZE1ldGhvZDEoSlNDOjpFeGVjU3RhdGUqKTsKK0pT
Qzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlv
bk1ldGhvZFdpdGhVbnNpZ25lZExvbmdBcnJheShKU0M6OkV4ZWNTdGF0ZSopOwogSlNDOjpFbmNv
ZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uR2V0U1ZH
RG9jdW1lbnQoSlNDOjpFeGVjU3RhdGUqKTsKIEpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1Rf
Q0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbkNvbnZlcnQxKEpTQzo6RXhlY1N0YXRlKik7
CiBKU0M6OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0T2JqUHJvdG90eXBlRnVu
Y3Rpb25Db252ZXJ0MihKU0M6OkV4ZWNTdGF0ZSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRsIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRsCmluZGV4IGJiYmYyNTYuLjI0NWE1MDUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlk
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5pZGwK
QEAgLTE5NCw2ICsxOTQsMTAgQEAgbW9kdWxlIHRlc3QgewogICAgICAgICBhdHRyaWJ1dGUgZG91
YmxlW10gICAgICAgICAgICAgICAgICBkb3VibGVBcnJheTsKICNlbmRpZgogCisjaWYgZGVmaW5l
ZChURVNUSU5HX0pTKQorICAgICAgICB2b2lkIG1ldGhvZFdpdGhVbnNpZ25lZExvbmdBcnJheShp
biB1bnNpZ25lZCBsb25nW10gdW5zaWduZWRMb25nQXJyYXkpOworI2VuZGlmCisKICAgICAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIFtDaGVja0FjY2Vzc1RvTm9kZV0gRG9jdW1lbnQgY29udGVudERv
Y3VtZW50OwogICAgICAgICBbQ2hlY2tBY2Nlc3NUb05vZGVdIFNWR0RvY3VtZW50IGdldFNWR0Rv
Y3VtZW50KCkKICAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>