<?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>89410</bug_id>
          
          <creation_ts>2012-06-18 19:08:25 -0700</creation_ts>
          <short_desc>JSC needs to record line numbers for exception stack traces</short_desc>
          <delta_ts>2012-06-20 18:58:02 -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>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Mark Lam">mark.lam</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>651966</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2012-06-18 19:08:25 -0700</bug_when>
    <thetext>The current implementation of JSC only records line number information if the web inspector is attached.  This needs to be changed so that that exception traces will always have the proper line number info regardless of whether the inspector is attached or not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>651967</commentid>
    <comment_count>1</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2012-06-18 19:09:10 -0700</bug_when>
    <thetext>Reference: &lt;rdar://problem/11561479&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>651977</commentid>
    <comment_count>2</comment_count>
      <attachid>148229</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2012-06-18 19:44:37 -0700</bug_when>
    <thetext>Created attachment 148229
Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>651978</commentid>
    <comment_count>3</comment_count>
      <attachid>148229</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-18 19:46:33 -0700</bug_when>
    <thetext>Comment on attachment 148229
Fix

Rejecting attachment 148229 from commit-queue.

mark.lam@apple.com does not have committer permissions according to http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/committers.py.

- If you do not have committer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags.

- If you have committer rights please correct the error in Tools/Scripts/webkitpy/common/config/committers.py by adding yourself to the file (no review needed).  The commit-queue restarts itself every 2 hours.  After restart the commit-queue will correctly respect your committer rights.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>651990</commentid>
    <comment_count>4</comment_count>
      <attachid>148229</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-06-18 20:20:27 -0700</bug_when>
    <thetext>Comment on attachment 148229
Fix

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

Approach looks good, but this patch could use some tweaks before landing.

&gt; Source/JavaScriptCore/bytecode/CodeBlock.cpp:1603
&gt; +    , m_lineInfo()

&quot;m_lineInfo(other.m_lineInfo)&quot; would be better here, to avoid zero-initializing m_lineInfo just to overwrite it later.

&gt; Source/JavaScriptCore/bytecode/CodeBlock.cpp:1653
&gt; +    , m_lineInfo()

WebKit style is to omit implicit initializers like this one.

&gt; Source/JavaScriptCore/bytecode/CodeBlock.h:726
&gt; +            return m_lineInfo.size() || (m_rareData

m_lineInfo.size() is always &gt; 0 now, right? If so, I think you should just return true here, and we can remove this optimization in another patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>652019</commentid>
    <comment_count>5</comment_count>
      <attachid>148241</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2012-06-18 21:39:29 -0700</bug_when>
    <thetext>Created attachment 148241
Revised with Geoff&apos;s feedback applied.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>652023</commentid>
    <comment_count>6</comment_count>
      <attachid>148241</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-06-18 21:49:10 -0700</bug_when>
    <thetext>Comment on attachment 148241
Revised with Geoff&apos;s feedback applied.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>652065</commentid>
    <comment_count>7</comment_count>
      <attachid>148241</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-18 23:07:44 -0700</bug_when>
    <thetext>Comment on attachment 148241
Revised with Geoff&apos;s feedback applied.

Clearing flags on attachment: 148241

Committed r120676: &lt;http://trac.webkit.org/changeset/120676&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>652068</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-18 23:07:49 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>654128</commentid>
    <comment_count>9</comment_count>
      <attachid>148241</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-06-20 18:51:44 -0700</bug_when>
    <thetext>Comment on attachment 148241
Revised with Geoff&apos;s feedback applied.

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

&gt; Source/JavaScriptCore/bytecode/CodeBlock.h:727
&gt; +            return true || (m_rareData
&gt; +                &amp;&amp; (m_rareData-&gt;m_expressionInfo.size() || m_rareData-&gt;m_exceptionHandlers.size()));

What’s the true || doing here?!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>654138</commentid>
    <comment_count>10</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2012-06-20 18:58:02 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 148241 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=148241&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/bytecode/CodeBlock.h:727
&gt; &gt; +            return true || (m_rareData
&gt; &gt; +                &amp;&amp; (m_rareData-&gt;m_expressionInfo.size() || m_rareData-&gt;m_exceptionHandlers.size()));
&gt; 
&gt; What’s the true || doing here?!

This was left there temporarily so as to not perturb the tested code for this change set too much before committing.  This was done deliberately with the intention to fix it in a subsequent change set.  See:
   https://bugs.webkit.org/show_bug.cgi?id=89490</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>148229</attachid>
            <date>2012-06-18 19:44:37 -0700</date>
            <delta_ts>2012-06-18 21:39:29 -0700</delta_ts>
            <desc>Fix</desc>
            <filename>bug-89410.patch</filename>
            <type>text/plain</type>
            <size>10279</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTIwNjU4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBA
CisyMDEyLTA2LTE4ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBD
aGFuZ2VkIEpTQyB0byBhbHdheXMgcmVjb3JkIGxpbmUgbnVtYmVyIGluZm9ybWF0aW9uIHNvIHRo
YXQgZXJyb3Iuc3RhY2sKKyAgICAgICAgYW5kIHdpbmRvdy5vbmVycm9yKCkgY2FuIHJlcG9ydCBw
cm9wZXIgbGluZSBudW1iZXJzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9ODk0MTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9jay5jcHA6CisgICAgICAgIChKU0M6OkNvZGVC
bG9jazo6Q29kZUJsb2NrKToKKyAgICAgICAgKEpTQzo6Q29kZUJsb2NrOjpsaW5lTnVtYmVyRm9y
Qnl0ZWNvZGVPZmZzZXQpOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OnNocmlua1RvRml0KTog
bV9saW5lSW5mbyBpcyBub3cgYXZhaWxhYmxlIHVuY29uZGl0aW9uYWxseS4KKworICAgICAgICAq
IGJ5dGVjb2RlL0NvZGVCbG9jay5oOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OmFkZExpbmVJ
bmZvKToKKyAgICAgICAgKEpTQzo6Q29kZUJsb2NrOjpoYXNMaW5lSW5mbyk6IFVudXNlZC4gIE5v
dyByZW1vdmVkLgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6Om5lZWRzQ2FsbFJldHVybkluZGlj
ZXMpOgorICAgICAgICAoQ29kZUJsb2NrKToKKyAgICAgICAgKFJhcmVEYXRhKTogIEhvaXN0ZWQg
bV9saW5lSW5mbyBvdXQgb2YgbV9yYXJlRGF0YS4gIG1fbGluZUluZm8gaXMgbm93CisgICAgICAg
IGZpbGxlZCBpbiB1bmNvbmRpdGlvbmFsbHkuCisKKyAgICAgICAgKiBieXRlY29tcGlsZXIvQnl0
ZWNvZGVHZW5lcmF0b3IuaDoKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OmFkZExp
bmVJbmZvKToKKwogMjAxMi0wNi0xNyAgR2VvZmZyZXkgR2FyZW4gIDxnZ2FyZW5AYXBwbGUuY29t
PgogCiAgICAgICAgIEdDIGNvcHkgcGhhc2Ugc3BlbmRzIG5lZWRsZXNzIGN5Y2xlcyB6ZXJvLWZp
bGxpbmcgYmxvY2tzCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJs
b2NrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29k
ZUJsb2NrLmNwcAkocmV2aXNpb24gMTIwNjU4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0NvZGVCbG9jay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2MDAsNiArMTYwMCw3IEBA
IENvZGVCbG9jazo6Q29kZUJsb2NrKENvcHlQYXJzZWRCbG9ja1RhZywKICAgICAsIG1fZm9yY2Vk
T1NSRXhpdENvdW50ZXIoMCkKICAgICAsIG1fb3B0aW1pemF0aW9uRGVsYXlDb3VudGVyKDApCiAg
ICAgLCBtX3Jlb3B0aW1pemF0aW9uUmV0cnlDb3VudGVyKDApCisgICAgLCBtX2xpbmVJbmZvKCkK
ICNpZiBFTkFCTEUoSklUKQogICAgICwgbV9jYW5Db21waWxlV2l0aERGR1N0YXRlKERGRzo6Q2Fw
YWJpbGl0eUxldmVsTm90U2V0KQogI2VuZGlmCkBAIC0xNjA4LDYgKzE2MDksOCBAQCBDb2RlQmxv
Y2s6OkNvZGVCbG9jayhDb3B5UGFyc2VkQmxvY2tUYWcsCiAgICAgb3B0aW1pemVBZnRlcldhcm1V
cCgpOwogICAgIGppdEFmdGVyV2FybVVwKCk7CiAgICAgCisgICAgbV9saW5lSW5mbyA9IG90aGVy
Lm1fbGluZUluZm87CisKICAgICBpZiAob3RoZXIubV9yYXJlRGF0YSkgewogICAgICAgICBjcmVh
dGVSYXJlRGF0YUlmTmVjZXNzYXJ5KCk7CiAgICAgICAgIApAQCAtMTYxOCw3ICsxNjIxLDYgQEAg
Q29kZUJsb2NrOjpDb2RlQmxvY2soQ29weVBhcnNlZEJsb2NrVGFnLAogICAgICAgICBtX3JhcmVE
YXRhLT5tX2NoYXJhY3RlclN3aXRjaEp1bXBUYWJsZXMgPSBvdGhlci5tX3JhcmVEYXRhLT5tX2No
YXJhY3RlclN3aXRjaEp1bXBUYWJsZXM7CiAgICAgICAgIG1fcmFyZURhdGEtPm1fc3RyaW5nU3dp
dGNoSnVtcFRhYmxlcyA9IG90aGVyLm1fcmFyZURhdGEtPm1fc3RyaW5nU3dpdGNoSnVtcFRhYmxl
czsKICAgICAgICAgbV9yYXJlRGF0YS0+bV9leHByZXNzaW9uSW5mbyA9IG90aGVyLm1fcmFyZURh
dGEtPm1fZXhwcmVzc2lvbkluZm87Ci0gICAgICAgIG1fcmFyZURhdGEtPm1fbGluZUluZm8gPSBv
dGhlci5tX3JhcmVEYXRhLT5tX2xpbmVJbmZvOwogICAgIH0KIH0KIApAQCAtMTY0OCw2ICsxNjUw
LDcgQEAgQ29kZUJsb2NrOjpDb2RlQmxvY2soU2NyaXB0RXhlY3V0YWJsZSogbwogICAgICwgbV9z
cGVjdWxhdGl2ZUZhaWxDb3VudGVyKDApCiAgICAgLCBtX29wdGltaXphdGlvbkRlbGF5Q291bnRl
cigwKQogICAgICwgbV9yZW9wdGltaXphdGlvblJldHJ5Q291bnRlcigwKQorICAgICwgbV9saW5l
SW5mbygpCiB7CiAgICAgQVNTRVJUKG1fc291cmNlKTsKICAgICAKQEAgLTIxNjMsMTAgKzIxNjYs
NyBAQCBpbnQgQ29kZUJsb2NrOjpsaW5lTnVtYmVyRm9yQnl0ZWNvZGVPZmZzCiB7CiAgICAgQVNT
RVJUKGJ5dGVjb2RlT2Zmc2V0IDwgaW5zdHJ1Y3Rpb25zKCkuc2l6ZSgpKTsKIAotICAgIGlmICgh
bV9yYXJlRGF0YSkKLSAgICAgICAgcmV0dXJuIG1fb3duZXJFeGVjdXRhYmxlLT5zb3VyY2UoKS5m
aXJzdExpbmUoKTsKLQotICAgIFZlY3RvcjxMaW5lSW5mbz4mIGxpbmVJbmZvID0gbV9yYXJlRGF0
YS0+bV9saW5lSW5mbzsKKyAgICBWZWN0b3I8TGluZUluZm8+JiBsaW5lSW5mbyA9IG1fbGluZUlu
Zm87CiAKICAgICBpbnQgbG93ID0gMDsKICAgICBpbnQgaGlnaCA9IGxpbmVJbmZvLnNpemUoKTsK
QEAgLTIyOTEsNiArMjI5MSw3IEBAIHZvaWQgQ29kZUJsb2NrOjpzaHJpbmtUb0ZpdChTaHJpbmtN
b2RlIHMKICAgICAgICAgbV9jb25zdGFudFJlZ2lzdGVycy5zaHJpbmtUb0ZpdCgpOwogICAgIH0g
Ly8gZWxzZSBkb24ndCBzaHJpbmsgdGhlc2UsIGJlY2F1c2Ugd2Ugd291bGQgaGF2ZSBhbHJlYWR5
IHBvaW50ZWQgcG9pbnRlcnMgaW50byB0aGVzZSB0YWJsZXMuCiAKKyAgICBtX2xpbmVJbmZvLnNo
cmlua1RvRml0KCk7CiAgICAgaWYgKG1fcmFyZURhdGEpIHsKICAgICAgICAgbV9yYXJlRGF0YS0+
bV9leGNlcHRpb25IYW5kbGVycy5zaHJpbmtUb0ZpdCgpOwogICAgICAgICBtX3JhcmVEYXRhLT5t
X3JlZ2V4cHMuc2hyaW5rVG9GaXQoKTsKQEAgLTIyOTgsNyArMjI5OSw2IEBAIHZvaWQgQ29kZUJs
b2NrOjpzaHJpbmtUb0ZpdChTaHJpbmtNb2RlIHMKICAgICAgICAgbV9yYXJlRGF0YS0+bV9jaGFy
YWN0ZXJTd2l0Y2hKdW1wVGFibGVzLnNocmlua1RvRml0KCk7CiAgICAgICAgIG1fcmFyZURhdGEt
Pm1fc3RyaW5nU3dpdGNoSnVtcFRhYmxlcy5zaHJpbmtUb0ZpdCgpOwogICAgICAgICBtX3JhcmVE
YXRhLT5tX2V4cHJlc3Npb25JbmZvLnNocmlua1RvRml0KCk7Ci0gICAgICAgIG1fcmFyZURhdGEt
Pm1fbGluZUluZm8uc2hyaW5rVG9GaXQoKTsKICNpZiBFTkFCTEUoSklUKQogICAgICAgICBtX3Jh
cmVEYXRhLT5tX2NhbGxSZXR1cm5JbmRleFZlY3Rvci5zaHJpbmtUb0ZpdCgpOwogI2VuZGlmCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCShyZXZpc2lv
biAxMjA2NTgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTcxMSw4ICs3MTEsNyBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAg
ICAgICB2b2lkIGFkZExpbmVJbmZvKHVuc2lnbmVkIGJ5dGVjb2RlT2Zmc2V0LCBpbnQgbGluZU5v
KQogICAgICAgICB7Ci0gICAgICAgICAgICBjcmVhdGVSYXJlRGF0YUlmTmVjZXNzYXJ5KCk7Ci0g
ICAgICAgICAgICBWZWN0b3I8TGluZUluZm8+JiBsaW5lSW5mbyA9IG1fcmFyZURhdGEtPm1fbGlu
ZUluZm87CisgICAgICAgICAgICBWZWN0b3I8TGluZUluZm8+JiBsaW5lSW5mbyA9IG1fbGluZUlu
Zm87CiAgICAgICAgICAgICBpZiAoIWxpbmVJbmZvLnNpemUoKSB8fCBsaW5lSW5mby5sYXN0KCku
bGluZU51bWJlciAhPSBsaW5lTm8pIHsKICAgICAgICAgICAgICAgICBMaW5lSW5mbyBpbmZvID0g
eyBieXRlY29kZU9mZnNldCwgbGluZU5vIH07CiAgICAgICAgICAgICAgICAgbGluZUluZm8uYXBw
ZW5kKGluZm8pOwpAQCAtNzIwLDEzICs3MTksMTIgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAg
IH0KIAogICAgICAgICBib29sIGhhc0V4cHJlc3Npb25JbmZvKCkgeyByZXR1cm4gbV9yYXJlRGF0
YSAmJiBtX3JhcmVEYXRhLT5tX2V4cHJlc3Npb25JbmZvLnNpemUoKTsgfQotICAgICAgICBib29s
IGhhc0xpbmVJbmZvKCkgeyByZXR1cm4gbV9yYXJlRGF0YSAmJiBtX3JhcmVEYXRhLT5tX2xpbmVJ
bmZvLnNpemUoKTsgfQogICAgICAgICAvLyAgV2Ugb25seSBnZW5lcmF0ZSBleGNlcHRpb24gaGFu
ZGxpbmcgaW5mbyBpZiB0aGUgdXNlciBpcyBkZWJ1Z2dpbmcKICAgICAgICAgLy8gKGFuZCBtYXkg
d2FudCBsaW5lIG51bWJlciBpbmZvKSwgb3IgaWYgdGhlIGZ1bmN0aW9uIGNvbnRhaW5zIGV4Y2Vw
dGlvbiBoYW5kbGVyLgogICAgICAgICBib29sIG5lZWRzQ2FsbFJldHVybkluZGljZXMoKQogICAg
ICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gbV9yYXJlRGF0YSAmJgotICAgICAgICAgICAgICAg
IChtX3JhcmVEYXRhLT5tX2V4cHJlc3Npb25JbmZvLnNpemUoKSB8fCBtX3JhcmVEYXRhLT5tX2xp
bmVJbmZvLnNpemUoKSB8fCBtX3JhcmVEYXRhLT5tX2V4Y2VwdGlvbkhhbmRsZXJzLnNpemUoKSk7
CisgICAgICAgICAgICByZXR1cm4gbV9saW5lSW5mby5zaXplKCkgfHwgKG1fcmFyZURhdGEKKyAg
ICAgICAgICAgICAgICAmJiAobV9yYXJlRGF0YS0+bV9leHByZXNzaW9uSW5mby5zaXplKCkgfHwg
bV9yYXJlRGF0YS0+bV9leGNlcHRpb25IYW5kbGVycy5zaXplKCkpKTsKICAgICAgICAgfQogCiAj
aWYgRU5BQkxFKEpJVCkKQEAgLTEzMTEsNyArMTMwOSw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAg
ICAgICB1aW50MzJfdCBtX2ZvcmNlZE9TUkV4aXRDb3VudGVyOwogICAgICAgICB1aW50MTZfdCBt
X29wdGltaXphdGlvbkRlbGF5Q291bnRlcjsKICAgICAgICAgdWludDE2X3QgbV9yZW9wdGltaXph
dGlvblJldHJ5Q291bnRlcjsKLSAgICAgICAgCisKKyAgICAgICAgVmVjdG9yPExpbmVJbmZvPiBt
X2xpbmVJbmZvOworCiAgICAgICAgIHN0cnVjdCBSYXJlRGF0YSB7CiAgICAgICAgICAgIFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgICAgICBwdWJsaWM6CkBAIC0xMzMzLDcgKzEzMzMsNiBA
QCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgICAgIC8vIEV4cHJlc3Npb24gaW5mbyAtIHByZXNl
bnQgaWYgZGVidWdnaW5nLgogICAgICAgICAgICAgVmVjdG9yPEV4cHJlc3Npb25SYW5nZUluZm8+
IG1fZXhwcmVzc2lvbkluZm87CiAgICAgICAgICAgICAvLyBMaW5lIGluZm8gLSBwcmVzZW50IGlm
IHByb2ZpbGluZyBvciBkZWJ1Z2dpbmcuCi0gICAgICAgICAgICBWZWN0b3I8TGluZUluZm8+IG1f
bGluZUluZm87CiAjaWYgRU5BQkxFKEpJVCkKICAgICAgICAgICAgIFZlY3RvcjxDYWxsUmV0dXJu
T2Zmc2V0VG9CeXRlY29kZU9mZnNldD4gbV9jYWxsUmV0dXJuSW5kZXhWZWN0b3I7CiAjZW5kaWYK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0
b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5
dGVjb2RlR2VuZXJhdG9yLmgJKHJldmlzaW9uIDEyMDY1OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaAkod29ya2luZyBjb3B5KQpAQCAt
NjE2LDEwICs2MTYsNyBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAgICB2b2lkIGFkZExpbmVJ
bmZvKHVuc2lnbmVkIGxpbmVObykKICAgICAgICAgewotI2lmICFFTkFCTEUoT1BDT0RFX1NBTVBM
SU5HKQotICAgICAgICAgICAgaWYgKG1fc2hvdWxkRW1pdFJpY2hTb3VyY2VJbmZvKQotI2VuZGlm
Ci0gICAgICAgICAgICAgICAgbV9jb2RlQmxvY2stPmFkZExpbmVJbmZvKGluc3RydWN0aW9ucygp
LnNpemUoKSwgbGluZU5vKTsKKyAgICAgICAgICAgIG1fY29kZUJsb2NrLT5hZGRMaW5lSW5mbyhp
bnN0cnVjdGlvbnMoKS5zaXplKCksIGxpbmVObyk7CiAgICAgICAgIH0KIAogICAgICAgICBSZWdp
c3RlcklEKiBlbWl0SW5pdExhenlSZWdpc3RlcihSZWdpc3RlcklEKik7CkluZGV4OiBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZp
c2lvbiAxMjA2NTgpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAg
LTEsMyArMSwxNyBAQAorMjAxMi0wNi0xOCAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+
CisKKyAgICAgICAgRW5zdXJlIHRoYXQgZXJyb3Iuc3RhY2sgYW5kIHdpbmRvdy5vbmVycm9yIGFs
d2F5cyBoYXZlIHRoZSBhcHByb3ByaWF0ZQorICAgICAgICBsaW5lIG51bWJlcnMgb2YgdGhlIGV4
Y2VwdGlvbiBiZWluZyB0aHJvd24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD04OTQxMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogZmFzdC9qcy9leGNlcHRpb24tbGluZS1udW1iZXItZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL2V4Y2VwdGlvbi1saW5lLW51bWJlci5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL3NjcmlwdC10ZXN0cy9leGNlcHRpb24tbGluZS1udW1i
ZXIuanM6IEFkZGVkLgorICAgICAgICAoZm9vKToKKyAgICAgICAgKHdpbmRvdy5vbmVycm9yKToK
KwogMjAxMi0wNi0xOCAgSGFqaW1lIE1vcnJpdGEgIDxtb3JyaXRhQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBVbnJldmlld2VkIHRlc3QgbWFya2luZy4gTWFya2VkIGJvcmRlci1yYWRpdXMtY2xp
cC0wMDIuaHRtIGFzIGEgZmFpbHVyZS4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvanMvZXhjZXB0
aW9uLWxpbmUtbnVtYmVyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L2pzL2V4Y2VwdGlvbi1saW5lLW51bWJlci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisr
KyBMYXlvdXRUZXN0cy9mYXN0L2pzL2V4Y2VwdGlvbi1saW5lLW51bWJlci1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTEgQEAKK1RoaXMgdGVzdCBtYWtlcyBzdXJlIHRoZSBl
eGNlcHRpb24gc3RhY2sgaGFzIGxpbmUgbnVtYmVyIGluZm9ybWF0aW9uLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKKworUEFTUyByZXN1bHQgaXMgIkxheW91dFRlc3RzL2Zhc3QvanMv
c2NyaXB0LXRlc3RzL2V4Y2VwdGlvbi1saW5lLW51bWJlci5qczo2LExheW91dFRlc3RzL2Zhc3Qv
anMvc2NyaXB0LXRlc3RzL2V4Y2VwdGlvbi1saW5lLW51bWJlci5qczoxMSIKK1BBU1MgcmVzdWx0
IGlzICJMYXlvdXRUZXN0cy9mYXN0L2pzL3NjcmlwdC10ZXN0cy9leGNlcHRpb24tbGluZS1udW1i
ZXIuanM6MzYiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9qcy9leGNlcHRpb24tbGluZS1udW1iZXIuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2pzL2V4Y2VwdGlvbi1saW5lLW51bWJl
ci5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9qcy9leGNlcHRpb24tbGlu
ZS1udW1iZXIuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMCBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSJyZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2V4Y2VwdGlvbi1saW5lLW51bWJlci5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2pzL3NjcmlwdC10
ZXN0cy9leGNlcHRpb24tbGluZS1udW1iZXIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
ZmFzdC9qcy9zY3JpcHQtdGVzdHMvZXhjZXB0aW9uLWxpbmUtbnVtYmVyLmpzCShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvZmFzdC9qcy9zY3JpcHQtdGVzdHMvZXhjZXB0aW9uLWxpbmUtbnVt
YmVyLmpzCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDM2IEBACitkZXNjcmlwdGlvbignVGhpcyB0
ZXN0IG1ha2VzIHN1cmUgdGhlIGV4Y2VwdGlvbiBzdGFjayBoYXMgbGluZSBudW1iZXIgaW5mb3Jt
YXRpb24uJyk7CisKKy8vIFRlc3QgZXJyb3Iuc3RhY2s6CitmdW5jdGlvbiBmb28oKSB7ICAgIC8v
IGxpbmUgNAorICAgIHRyeSB7CisgICAgICAgIGRvRXJyb3IoKTsgIC8vIGxpbmUgNgorICAgIH0g
Y2F0Y2goZXJyKSB7CisgICAgICAgIHRlbXAgPSBlcnIuc3RhY2s7CisgICAgfQorfQorZm9vKCk7
ICAgICAgICAgICAgICAvLyBsaW5lIDExCisKKy8vIFRoZSBzdGFjayB0cmFjZSBjb250YWlucyB0
aGUgZnVsbCBwYXRoIHRvIHRoZSBmaWxlLiAgV2UgbmVlZCB0byB0cmltIGl0IHRvCisvLyBvbmx5
IHRoZSBwYXJ0IGJlbG93IExheW91dFRlc3Qgc28gdGhhdCB0aGUgdGVzdCByZXN1bHRzIGFyZSBj
b25zaXN0ZW50CisvLyByZWdhcmRsZXNzIG9mIHdoaWNoIHNlcnZlciBpdCBpcyBzZXJ2ZWQgZnJv
bS4KKy8vCisvLyBTdHJpbmcubWF0Y2goKSBnZW5lcmF0ZXMgYW4gYXJyYXkgb2YgbWF0Y2hlcy4g
IFdlJ2xsIGp1c3QgY29udmVydCBhbGwgdGhlCisvLyBlbGVtZW50cyBiYWNrIGludG8gYSBjb21t
YSBzZXBhcmF0ZWQgc3RyaW5nIGJ5IHNpbXBseSBzdHJpbmdpZnlpbmcgdGhlCisvLyBhcnJheS4g
IFRoaXMgbWFrZXMgaXQgZWFzaWVyIHRvIGNvbXBhcmUgdGhlIHJlc3VsdGFudCBzdGFjayB0cmFj
ZSBpbmZvLgorCityZXN1bHQgPSBTdHJpbmcodGVtcC5tYXRjaCgvTGF5b3V0VGVzdHNcL1teOl0r
XDpbMC05XSsvZykpOworCitzaG91bGRCZSgicmVzdWx0IiwgJyJMYXlvdXRUZXN0cy9mYXN0L2pz
L3NjcmlwdC10ZXN0cy9leGNlcHRpb24tbGluZS1udW1iZXIuanM6NixMYXlvdXRUZXN0cy9mYXN0
L2pzL3NjcmlwdC10ZXN0cy9leGNlcHRpb24tbGluZS1udW1iZXIuanM6MTEiJyk7CisKKworLy8g
VGVzdCB3aW5kb3cub25lcnJvcjoKKword2luZG93Lm9uZXJyb3IgPSBmdW5jdGlvbihtc2csIHVy
bCwgbGluZSkgeworICAgIHVybCA9IFN0cmluZyh1cmwubWF0Y2goL0xheW91dFRlc3RzXC9bXjpd
Ky9nKSk7CisgICAgcmVzdWx0ID0gdXJsICsgJzonICsgbGluZTsKKyAgICBzaG91bGRCZSgicmVz
dWx0IiwgJyJMYXlvdXRUZXN0cy9mYXN0L2pzL3NjcmlwdC10ZXN0cy9leGNlcHRpb24tbGluZS1u
dW1iZXIuanM6MzYiJyk7CisgICAgcmV0dXJuIHRydWU7ICAvLyBXZSBoYW5kbGVkIGl0LgorfQor
Cit0aGlzLmVyciA9IEVycm9yKDEyLCAibGluZSBudW1iZXIgdGVzdCIpOwordGhyb3cgdGhpcy5l
cnI7ICAgLy8gTGluZSAzNi4KCg==
</data>
<flag name="review"
          id="155891"
          type_id="1"
          status="-"
          setter="ggaren"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>148241</attachid>
            <date>2012-06-18 21:39:29 -0700</date>
            <delta_ts>2012-06-20 18:51:43 -0700</delta_ts>
            <desc>Revised with Geoff&apos;s feedback applied.</desc>
            <filename>bug-89410-revised.patch</filename>
            <type>text/plain</type>
            <size>10065</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTIwNjU4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBA
CisyMDEyLTA2LTE4ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBD
aGFuZ2VkIEpTQyB0byBhbHdheXMgcmVjb3JkIGxpbmUgbnVtYmVyIGluZm9ybWF0aW9uIHNvIHRo
YXQgZXJyb3Iuc3RhY2sKKyAgICAgICAgYW5kIHdpbmRvdy5vbmVycm9yKCkgY2FuIHJlcG9ydCBw
cm9wZXIgbGluZSBudW1iZXJzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9ODk0MTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9jay5jcHA6CisgICAgICAgIChKU0M6OkNvZGVC
bG9jazo6Q29kZUJsb2NrKToKKyAgICAgICAgKEpTQzo6Q29kZUJsb2NrOjpsaW5lTnVtYmVyRm9y
Qnl0ZWNvZGVPZmZzZXQpOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OnNocmlua1RvRml0KTog
bV9saW5lSW5mbyBpcyBub3cgYXZhaWxhYmxlIHVuY29uZGl0aW9uYWxseS4KKworICAgICAgICAq
IGJ5dGVjb2RlL0NvZGVCbG9jay5oOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OmFkZExpbmVJ
bmZvKToKKyAgICAgICAgKEpTQzo6Q29kZUJsb2NrOjpoYXNMaW5lSW5mbyk6IFVudXNlZC4gIE5v
dyByZW1vdmVkLgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6Om5lZWRzQ2FsbFJldHVybkluZGlj
ZXMpOgorICAgICAgICAoQ29kZUJsb2NrKToKKyAgICAgICAgKFJhcmVEYXRhKTogIEhvaXN0ZWQg
bV9saW5lSW5mbyBvdXQgb2YgbV9yYXJlRGF0YS4gIG1fbGluZUluZm8gaXMgbm93CisgICAgICAg
IGZpbGxlZCBpbiB1bmNvbmRpdGlvbmFsbHkuCisKKyAgICAgICAgKiBieXRlY29tcGlsZXIvQnl0
ZWNvZGVHZW5lcmF0b3IuaDoKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OmFkZExp
bmVJbmZvKToKKwogMjAxMi0wNi0xNyAgR2VvZmZyZXkgR2FyZW4gIDxnZ2FyZW5AYXBwbGUuY29t
PgogCiAgICAgICAgIEdDIGNvcHkgcGhhc2Ugc3BlbmRzIG5lZWRsZXNzIGN5Y2xlcyB6ZXJvLWZp
bGxpbmcgYmxvY2tzCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJs
b2NrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29k
ZUJsb2NrLmNwcAkocmV2aXNpb24gMTIwNjU4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0NvZGVCbG9jay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2MDAsNiArMTYwMCw3IEBA
IENvZGVCbG9jazo6Q29kZUJsb2NrKENvcHlQYXJzZWRCbG9ja1RhZywKICAgICAsIG1fZm9yY2Vk
T1NSRXhpdENvdW50ZXIoMCkKICAgICAsIG1fb3B0aW1pemF0aW9uRGVsYXlDb3VudGVyKDApCiAg
ICAgLCBtX3Jlb3B0aW1pemF0aW9uUmV0cnlDb3VudGVyKDApCisgICAgLCBtX2xpbmVJbmZvKG90
aGVyLm1fbGluZUluZm8pCiAjaWYgRU5BQkxFKEpJVCkKICAgICAsIG1fY2FuQ29tcGlsZVdpdGhE
RkdTdGF0ZShERkc6OkNhcGFiaWxpdHlMZXZlbE5vdFNldCkKICNlbmRpZgpAQCAtMTYwNyw3ICsx
NjA4LDcgQEAgQ29kZUJsb2NrOjpDb2RlQmxvY2soQ29weVBhcnNlZEJsb2NrVGFnLAogICAgIHNl
dE51bVBhcmFtZXRlcnMob3RoZXIubnVtUGFyYW1ldGVycygpKTsKICAgICBvcHRpbWl6ZUFmdGVy
V2FybVVwKCk7CiAgICAgaml0QWZ0ZXJXYXJtVXAoKTsKLSAgICAKKwogICAgIGlmIChvdGhlci5t
X3JhcmVEYXRhKSB7CiAgICAgICAgIGNyZWF0ZVJhcmVEYXRhSWZOZWNlc3NhcnkoKTsKICAgICAg
ICAgCkBAIC0xNjE4LDcgKzE2MTksNiBAQCBDb2RlQmxvY2s6OkNvZGVCbG9jayhDb3B5UGFyc2Vk
QmxvY2tUYWcsCiAgICAgICAgIG1fcmFyZURhdGEtPm1fY2hhcmFjdGVyU3dpdGNoSnVtcFRhYmxl
cyA9IG90aGVyLm1fcmFyZURhdGEtPm1fY2hhcmFjdGVyU3dpdGNoSnVtcFRhYmxlczsKICAgICAg
ICAgbV9yYXJlRGF0YS0+bV9zdHJpbmdTd2l0Y2hKdW1wVGFibGVzID0gb3RoZXIubV9yYXJlRGF0
YS0+bV9zdHJpbmdTd2l0Y2hKdW1wVGFibGVzOwogICAgICAgICBtX3JhcmVEYXRhLT5tX2V4cHJl
c3Npb25JbmZvID0gb3RoZXIubV9yYXJlRGF0YS0+bV9leHByZXNzaW9uSW5mbzsKLSAgICAgICAg
bV9yYXJlRGF0YS0+bV9saW5lSW5mbyA9IG90aGVyLm1fcmFyZURhdGEtPm1fbGluZUluZm87CiAg
ICAgfQogfQogCkBAIC0yMTYzLDEwICsyMTYzLDcgQEAgaW50IENvZGVCbG9jazo6bGluZU51bWJl
ckZvckJ5dGVjb2RlT2ZmcwogewogICAgIEFTU0VSVChieXRlY29kZU9mZnNldCA8IGluc3RydWN0
aW9ucygpLnNpemUoKSk7CiAKLSAgICBpZiAoIW1fcmFyZURhdGEpCi0gICAgICAgIHJldHVybiBt
X293bmVyRXhlY3V0YWJsZS0+c291cmNlKCkuZmlyc3RMaW5lKCk7Ci0KLSAgICBWZWN0b3I8TGlu
ZUluZm8+JiBsaW5lSW5mbyA9IG1fcmFyZURhdGEtPm1fbGluZUluZm87CisgICAgVmVjdG9yPExp
bmVJbmZvPiYgbGluZUluZm8gPSBtX2xpbmVJbmZvOwogCiAgICAgaW50IGxvdyA9IDA7CiAgICAg
aW50IGhpZ2ggPSBsaW5lSW5mby5zaXplKCk7CkBAIC0yMjkxLDYgKzIyODgsNyBAQCB2b2lkIENv
ZGVCbG9jazo6c2hyaW5rVG9GaXQoU2hyaW5rTW9kZSBzCiAgICAgICAgIG1fY29uc3RhbnRSZWdp
c3RlcnMuc2hyaW5rVG9GaXQoKTsKICAgICB9IC8vIGVsc2UgZG9uJ3Qgc2hyaW5rIHRoZXNlLCBi
ZWNhdXNlIHdlIHdvdWxkIGhhdmUgYWxyZWFkeSBwb2ludGVkIHBvaW50ZXJzIGludG8gdGhlc2Ug
dGFibGVzLgogCisgICAgbV9saW5lSW5mby5zaHJpbmtUb0ZpdCgpOwogICAgIGlmIChtX3JhcmVE
YXRhKSB7CiAgICAgICAgIG1fcmFyZURhdGEtPm1fZXhjZXB0aW9uSGFuZGxlcnMuc2hyaW5rVG9G
aXQoKTsKICAgICAgICAgbV9yYXJlRGF0YS0+bV9yZWdleHBzLnNocmlua1RvRml0KCk7CkBAIC0y
Mjk4LDcgKzIyOTYsNiBAQCB2b2lkIENvZGVCbG9jazo6c2hyaW5rVG9GaXQoU2hyaW5rTW9kZSBz
CiAgICAgICAgIG1fcmFyZURhdGEtPm1fY2hhcmFjdGVyU3dpdGNoSnVtcFRhYmxlcy5zaHJpbmtU
b0ZpdCgpOwogICAgICAgICBtX3JhcmVEYXRhLT5tX3N0cmluZ1N3aXRjaEp1bXBUYWJsZXMuc2hy
aW5rVG9GaXQoKTsKICAgICAgICAgbV9yYXJlRGF0YS0+bV9leHByZXNzaW9uSW5mby5zaHJpbmtU
b0ZpdCgpOwotICAgICAgICBtX3JhcmVEYXRhLT5tX2xpbmVJbmZvLnNocmlua1RvRml0KCk7CiAj
aWYgRU5BQkxFKEpJVCkKICAgICAgICAgbV9yYXJlRGF0YS0+bV9jYWxsUmV0dXJuSW5kZXhWZWN0
b3Iuc2hyaW5rVG9GaXQoKTsKICNlbmRpZgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0NvZGVCbG9jay5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9Db2RlQmxvY2suaAkocmV2aXNpb24gMTIwNjU4KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCSh3b3JraW5nIGNvcHkpCkBAIC03MTEsOCArNzEx
LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAgdm9pZCBhZGRMaW5lSW5mbyh1bnNpZ25l
ZCBieXRlY29kZU9mZnNldCwgaW50IGxpbmVObykKICAgICAgICAgewotICAgICAgICAgICAgY3Jl
YXRlUmFyZURhdGFJZk5lY2Vzc2FyeSgpOwotICAgICAgICAgICAgVmVjdG9yPExpbmVJbmZvPiYg
bGluZUluZm8gPSBtX3JhcmVEYXRhLT5tX2xpbmVJbmZvOworICAgICAgICAgICAgVmVjdG9yPExp
bmVJbmZvPiYgbGluZUluZm8gPSBtX2xpbmVJbmZvOwogICAgICAgICAgICAgaWYgKCFsaW5lSW5m
by5zaXplKCkgfHwgbGluZUluZm8ubGFzdCgpLmxpbmVOdW1iZXIgIT0gbGluZU5vKSB7CiAgICAg
ICAgICAgICAgICAgTGluZUluZm8gaW5mbyA9IHsgYnl0ZWNvZGVPZmZzZXQsIGxpbmVObyB9Owog
ICAgICAgICAgICAgICAgIGxpbmVJbmZvLmFwcGVuZChpbmZvKTsKQEAgLTcyMCwxMyArNzE5LDEy
IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB9CiAKICAgICAgICAgYm9vbCBoYXNFeHByZXNz
aW9uSW5mbygpIHsgcmV0dXJuIG1fcmFyZURhdGEgJiYgbV9yYXJlRGF0YS0+bV9leHByZXNzaW9u
SW5mby5zaXplKCk7IH0KLSAgICAgICAgYm9vbCBoYXNMaW5lSW5mbygpIHsgcmV0dXJuIG1fcmFy
ZURhdGEgJiYgbV9yYXJlRGF0YS0+bV9saW5lSW5mby5zaXplKCk7IH0KICAgICAgICAgLy8gIFdl
IG9ubHkgZ2VuZXJhdGUgZXhjZXB0aW9uIGhhbmRsaW5nIGluZm8gaWYgdGhlIHVzZXIgaXMgZGVi
dWdnaW5nCiAgICAgICAgIC8vIChhbmQgbWF5IHdhbnQgbGluZSBudW1iZXIgaW5mbyksIG9yIGlm
IHRoZSBmdW5jdGlvbiBjb250YWlucyBleGNlcHRpb24gaGFuZGxlci4KICAgICAgICAgYm9vbCBu
ZWVkc0NhbGxSZXR1cm5JbmRpY2VzKCkKICAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIG1f
cmFyZURhdGEgJiYKLSAgICAgICAgICAgICAgICAobV9yYXJlRGF0YS0+bV9leHByZXNzaW9uSW5m
by5zaXplKCkgfHwgbV9yYXJlRGF0YS0+bV9saW5lSW5mby5zaXplKCkgfHwgbV9yYXJlRGF0YS0+
bV9leGNlcHRpb25IYW5kbGVycy5zaXplKCkpOworICAgICAgICAgICAgcmV0dXJuIHRydWUgfHwg
KG1fcmFyZURhdGEKKyAgICAgICAgICAgICAgICAmJiAobV9yYXJlRGF0YS0+bV9leHByZXNzaW9u
SW5mby5zaXplKCkgfHwgbV9yYXJlRGF0YS0+bV9leGNlcHRpb25IYW5kbGVycy5zaXplKCkpKTsK
ICAgICAgICAgfQogCiAjaWYgRU5BQkxFKEpJVCkKQEAgLTEzMTEsNyArMTMwOSw5IEBAIG5hbWVz
cGFjZSBKU0MgewogICAgICAgICB1aW50MzJfdCBtX2ZvcmNlZE9TUkV4aXRDb3VudGVyOwogICAg
ICAgICB1aW50MTZfdCBtX29wdGltaXphdGlvbkRlbGF5Q291bnRlcjsKICAgICAgICAgdWludDE2
X3QgbV9yZW9wdGltaXphdGlvblJldHJ5Q291bnRlcjsKLSAgICAgICAgCisKKyAgICAgICAgVmVj
dG9yPExpbmVJbmZvPiBtX2xpbmVJbmZvOworCiAgICAgICAgIHN0cnVjdCBSYXJlRGF0YSB7CiAg
ICAgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgICAgICBwdWJsaWM6CkBAIC0x
MzMzLDcgKzEzMzMsNiBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgICAgIC8vIEV4cHJlc3Np
b24gaW5mbyAtIHByZXNlbnQgaWYgZGVidWdnaW5nLgogICAgICAgICAgICAgVmVjdG9yPEV4cHJl
c3Npb25SYW5nZUluZm8+IG1fZXhwcmVzc2lvbkluZm87CiAgICAgICAgICAgICAvLyBMaW5lIGlu
Zm8gLSBwcmVzZW50IGlmIHByb2ZpbGluZyBvciBkZWJ1Z2dpbmcuCi0gICAgICAgICAgICBWZWN0
b3I8TGluZUluZm8+IG1fbGluZUluZm87CiAjaWYgRU5BQkxFKEpJVCkKICAgICAgICAgICAgIFZl
Y3RvcjxDYWxsUmV0dXJuT2Zmc2V0VG9CeXRlY29kZU9mZnNldD4gbV9jYWxsUmV0dXJuSW5kZXhW
ZWN0b3I7CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIv
Qnl0ZWNvZGVHZW5lcmF0b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgJKHJldmlzaW9uIDEyMDY1OCkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaAkod29y
a2luZyBjb3B5KQpAQCAtNjE2LDEwICs2MTYsNyBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAg
ICB2b2lkIGFkZExpbmVJbmZvKHVuc2lnbmVkIGxpbmVObykKICAgICAgICAgewotI2lmICFFTkFC
TEUoT1BDT0RFX1NBTVBMSU5HKQotICAgICAgICAgICAgaWYgKG1fc2hvdWxkRW1pdFJpY2hTb3Vy
Y2VJbmZvKQotI2VuZGlmCi0gICAgICAgICAgICAgICAgbV9jb2RlQmxvY2stPmFkZExpbmVJbmZv
KGluc3RydWN0aW9ucygpLnNpemUoKSwgbGluZU5vKTsKKyAgICAgICAgICAgIG1fY29kZUJsb2Nr
LT5hZGRMaW5lSW5mbyhpbnN0cnVjdGlvbnMoKS5zaXplKCksIGxpbmVObyk7CiAgICAgICAgIH0K
IAogICAgICAgICBSZWdpc3RlcklEKiBlbWl0SW5pdExhenlSZWdpc3RlcihSZWdpc3RlcklEKik7
CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCShyZXZpc2lvbiAxMjA2NTgpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0wNi0xOCAgTWFyayBMYW0gIDxtYXJr
LmxhbUBhcHBsZS5jb20+CisKKyAgICAgICAgRW5zdXJlIHRoYXQgZXJyb3Iuc3RhY2sgYW5kIHdp
bmRvdy5vbmVycm9yIGFsd2F5cyBoYXZlIHRoZSBhcHByb3ByaWF0ZQorICAgICAgICBsaW5lIG51
bWJlcnMgb2YgdGhlIGV4Y2VwdGlvbiBiZWluZyB0aHJvd24uCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTQxMAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9qcy9leGNlcHRpb24tbGluZS1udW1i
ZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL2V4Y2VwdGlvbi1saW5l
LW51bWJlci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL3NjcmlwdC10ZXN0cy9leGNl
cHRpb24tbGluZS1udW1iZXIuanM6IEFkZGVkLgorICAgICAgICAoZm9vKToKKyAgICAgICAgKHdp
bmRvdy5vbmVycm9yKToKKwogMjAxMi0wNi0xOCAgSGFqaW1lIE1vcnJpdGEgIDxtb3JyaXRhQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkIHRlc3QgbWFya2luZy4gTWFya2VkIGJv
cmRlci1yYWRpdXMtY2xpcC0wMDIuaHRtIGFzIGEgZmFpbHVyZS4KSW5kZXg6IExheW91dFRlc3Rz
L2Zhc3QvanMvZXhjZXB0aW9uLWxpbmUtbnVtYmVyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L2pzL2V4Y2VwdGlvbi1saW5lLW51bWJlci1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2pzL2V4Y2VwdGlvbi1saW5lLW51bWJl
ci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTEgQEAKK1RoaXMgdGVzdCBt
YWtlcyBzdXJlIHRoZSBleGNlcHRpb24gc3RhY2sgaGFzIGxpbmUgbnVtYmVyIGluZm9ybWF0aW9u
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyByZXN1bHQgaXMgIkxheW91
dFRlc3RzL2Zhc3QvanMvc2NyaXB0LXRlc3RzL2V4Y2VwdGlvbi1saW5lLW51bWJlci5qczo2LExh
eW91dFRlc3RzL2Zhc3QvanMvc2NyaXB0LXRlc3RzL2V4Y2VwdGlvbi1saW5lLW51bWJlci5qczox
MSIKK1BBU1MgcmVzdWx0IGlzICJMYXlvdXRUZXN0cy9mYXN0L2pzL3NjcmlwdC10ZXN0cy9leGNl
cHRpb24tbGluZS1udW1iZXIuanM6MzYiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9qcy9leGNlcHRpb24t
bGluZS1udW1iZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2pzL2V4Y2Vw
dGlvbi1saW5lLW51bWJlci5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9q
cy9leGNlcHRpb24tbGluZS1udW1iZXIuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMCBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2V4Y2VwdGlvbi1s
aW5lLW51bWJlci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9m
YXN0L2pzL3NjcmlwdC10ZXN0cy9leGNlcHRpb24tbGluZS1udW1iZXIuanMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvZmFzdC9qcy9zY3JpcHQtdGVzdHMvZXhjZXB0aW9uLWxpbmUtbnVtYmVy
LmpzCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9qcy9zY3JpcHQtdGVzdHMvZXhj
ZXB0aW9uLWxpbmUtbnVtYmVyLmpzCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDM2IEBACitkZXNj
cmlwdGlvbignVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhlIGV4Y2VwdGlvbiBzdGFjayBoYXMgbGlu
ZSBudW1iZXIgaW5mb3JtYXRpb24uJyk7CisKKy8vIFRlc3QgZXJyb3Iuc3RhY2s6CitmdW5jdGlv
biBmb28oKSB7ICAgIC8vIGxpbmUgNAorICAgIHRyeSB7CisgICAgICAgIGRvRXJyb3IoKTsgIC8v
IGxpbmUgNgorICAgIH0gY2F0Y2goZXJyKSB7CisgICAgICAgIHRlbXAgPSBlcnIuc3RhY2s7Cisg
ICAgfQorfQorZm9vKCk7ICAgICAgICAgICAgICAvLyBsaW5lIDExCisKKy8vIFRoZSBzdGFjayB0
cmFjZSBjb250YWlucyB0aGUgZnVsbCBwYXRoIHRvIHRoZSBmaWxlLiAgV2UgbmVlZCB0byB0cmlt
IGl0IHRvCisvLyBvbmx5IHRoZSBwYXJ0IGJlbG93IExheW91dFRlc3Qgc28gdGhhdCB0aGUgdGVz
dCByZXN1bHRzIGFyZSBjb25zaXN0ZW50CisvLyByZWdhcmRsZXNzIG9mIHdoaWNoIHNlcnZlciBp
dCBpcyBzZXJ2ZWQgZnJvbS4KKy8vCisvLyBTdHJpbmcubWF0Y2goKSBnZW5lcmF0ZXMgYW4gYXJy
YXkgb2YgbWF0Y2hlcy4gIFdlJ2xsIGp1c3QgY29udmVydCBhbGwgdGhlCisvLyBlbGVtZW50cyBi
YWNrIGludG8gYSBjb21tYSBzZXBhcmF0ZWQgc3RyaW5nIGJ5IHNpbXBseSBzdHJpbmdpZnlpbmcg
dGhlCisvLyBhcnJheS4gIFRoaXMgbWFrZXMgaXQgZWFzaWVyIHRvIGNvbXBhcmUgdGhlIHJlc3Vs
dGFudCBzdGFjayB0cmFjZSBpbmZvLgorCityZXN1bHQgPSBTdHJpbmcodGVtcC5tYXRjaCgvTGF5
b3V0VGVzdHNcL1teOl0rXDpbMC05XSsvZykpOworCitzaG91bGRCZSgicmVzdWx0IiwgJyJMYXlv
dXRUZXN0cy9mYXN0L2pzL3NjcmlwdC10ZXN0cy9leGNlcHRpb24tbGluZS1udW1iZXIuanM6NixM
YXlvdXRUZXN0cy9mYXN0L2pzL3NjcmlwdC10ZXN0cy9leGNlcHRpb24tbGluZS1udW1iZXIuanM6
MTEiJyk7CisKKworLy8gVGVzdCB3aW5kb3cub25lcnJvcjoKKword2luZG93Lm9uZXJyb3IgPSBm
dW5jdGlvbihtc2csIHVybCwgbGluZSkgeworICAgIHVybCA9IFN0cmluZyh1cmwubWF0Y2goL0xh
eW91dFRlc3RzXC9bXjpdKy9nKSk7CisgICAgcmVzdWx0ID0gdXJsICsgJzonICsgbGluZTsKKyAg
ICBzaG91bGRCZSgicmVzdWx0IiwgJyJMYXlvdXRUZXN0cy9mYXN0L2pzL3NjcmlwdC10ZXN0cy9l
eGNlcHRpb24tbGluZS1udW1iZXIuanM6MzYiJyk7CisgICAgcmV0dXJuIHRydWU7ICAvLyBXZSBo
YW5kbGVkIGl0LgorfQorCit0aGlzLmVyciA9IEVycm9yKDEyLCAibGluZSBudW1iZXIgdGVzdCIp
OwordGhyb3cgdGhpcy5lcnI7ICAgLy8gTGluZSAzNi4K
</data>

          </attachment>
      

    </bug>

</bugzilla>