<?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>48953</bug_id>
          
          <creation_ts>2010-11-03 14:13:28 -0700</creation_ts>
          <short_desc>REGRESSION: Can&apos;t shadow/overwrite window.constructor (causes TypeError exception)</short_desc>
          <delta_ts>2011-03-22 16:22:22 -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>Mac (Intel)</rep_platform>
          <op_sys>OS X 10.6</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, Regression</keywords>
          <priority>P1</priority>
          <bug_severity>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Matt Cooper">matt11ag-webkitbugs</reporter>
          <assigned_to name="Michael Saboff">msaboff</assigned_to>
          <cc>ap</cc>
    
    <cc>ggaren</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>304282</commentid>
    <comment_count>0</comment_count>
    <who name="Matt Cooper">matt11ag-webkitbugs</who>
    <bug_when>2010-11-03 14:13:28 -0700</bug_when>
    <thetext>In the latest WebKit nightly, I am seeing an unexpected error message:

TypeError: Result of expression &apos;TestSample&apos; [[object DOMWindowConstructor]] is not a constructor.

for code that works just fine in Apple Safari 5.0.2, Google Chrome 7.0.517.41, and Firefox 3.6.11.

----

var constructor = new Function(&quot;id&quot;, &quot;desc&quot;, &quot;this.id = id; this.description = desc;&quot;);
constructor.prototype.setDescription = function(desc){this.description = desc};
constructor.prototype.getDescription = function(){return this.description};

// Changing the order of the following 2 lines does not make a difference:
window[&quot;TestSample&quot;] = constructor;
constructor.getInstanceFromFactory = function (id, desc){return new TestSample(id, desc);};

var sample = TestSample.getInstanceFromFactory(&quot;hello&quot;,&quot;success if you see this&quot;);
alert(sample.getDescription());

----

Expected result is that you see an alert with the text &quot;success if you see this&quot; but in WebKit nightly, the above JavaScript TypeError is logged in the JavaScript console instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>304285</commentid>
    <comment_count>1</comment_count>
      <attachid>72868</attachid>
    <who name="Matt Cooper">matt11ag-webkitbugs</who>
    <bug_when>2010-11-03 14:14:30 -0700</bug_when>
    <thetext>Created attachment 72868
This attachment is simply an html test page that houses the code that throws the unexpected TypeError in WebKit nightly only</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324542</commentid>
    <comment_count>2</comment_count>
    <who name="Matt Cooper">matt11ag-webkitbugs</who>
    <bug_when>2010-12-20 13:29:27 -0800</bug_when>
    <thetext>This issue is still reproducing over a month later in r74228 (today&apos;s latest nightly).

I also see the problem manifest on pages like this one:
http://jdevadf.oracle.com/adf-richclient-demo/faces/index.jspx</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324543</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-12-20 13:32:37 -0800</bug_when>
    <thetext>&lt;rdar://problem/8790587&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324585</commentid>
    <comment_count>4</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2010-12-20 14:46:27 -0800</bug_when>
    <thetext>The bug here is that window.constructor (a property that exists on all objects by default) can&apos;t be shadowed / overwritten.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324586</commentid>
    <comment_count>5</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2010-12-20 14:48:08 -0800</bug_when>
    <thetext>I believe this may have been caused by Michael&apos;s recent change to the DOMWindow constructor object.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324655</commentid>
    <comment_count>6</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2010-12-20 16:45:32 -0800</bug_when>
    <thetext>It appears that this was caused with change set &lt;http://trac.webkit.org/changeset/69553&gt;, the change to https://bugs.webkit.org/show_bug.cgi?id=47422  &quot;DOMWindow constructor directly callable&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325781</commentid>
    <comment_count>7</comment_count>
      <attachid>77274</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2010-12-22 16:29:15 -0800</bug_when>
    <thetext>Created attachment 77274
Patch to allow setting window.constructor.

Added a new extended attribute to the JavaScript code generator called ReplaceableConstructor that will generate a setJS&lt;class&gt;Constructor() method.  Added this attribute to the DOMWindow interface.
Updated a test and added a new regression test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325789</commentid>
    <comment_count>8</comment_count>
      <attachid>77277</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2010-12-22 16:45:02 -0800</bug_when>
    <thetext>Created attachment 77277
Updated patch with whitespace fixes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326117</commentid>
    <comment_count>9</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2010-12-23 09:44:36 -0800</bug_when>
    <thetext>Committed revision http://trac.webkit.org/changeset/74537</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>371786</commentid>
    <comment_count>10</comment_count>
    <who name="Matt Cooper">matt11ag-webkitbugs</who>
    <bug_when>2011-03-22 16:22:22 -0700</bug_when>
    <thetext>Note that while this bug was fixed in WebKit, the issue still manifests in the mobile version of Safari on iOS 4.3.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>72868</attachid>
            <date>2010-11-03 14:14:30 -0700</date>
            <delta_ts>2010-11-03 14:14:30 -0700</delta_ts>
            <desc>This attachment is simply an html test page that houses the code that throws the unexpected TypeError in WebKit nightly only</desc>
            <filename>domwindowconstructor.html</filename>
            <type>text/html</type>
            <size>1084</size>
            <attacher name="Matt Cooper">matt11ag-webkitbugs</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFs
Ly9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L2xvb3NlLmR0ZCI+CjxodG1sPgo8aGVh
ZD4KPHRpdGxlPkRPTVdpbmRvd0NvbnN0cnVjdG9yIFRlc3Q8L3RpdGxlPgo8L2hlYWQ+Cjxib2R5
Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CnZhciBjb25zdHJ1Y3RvciA9IG5ldyBG
dW5jdGlvbigiaWQiLCAiZGVzYyIsICJ0aGlzLmlkID0gaWQ7IHRoaXMuZGVzY3JpcHRpb24gPSBk
ZXNjOyIpOwpjb25zdHJ1Y3Rvci5wcm90b3R5cGUuc2V0RGVzY3JpcHRpb24gPSBmdW5jdGlvbihk
ZXNjKXt0aGlzLmRlc2NyaXB0aW9uID0gZGVzY307CmNvbnN0cnVjdG9yLnByb3RvdHlwZS5nZXRE
ZXNjcmlwdGlvbiA9IGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZGVzY3JpcHRpb259OwoKLy8gQ2hh
bmdpbmcgdGhlIG9yZGVyIG9mIHRoZSBmb2xsb3dpbmcgMiBsaW5lcyBkb2VzIG5vdCBtYWtlIGEg
ZGlmZmVyZW5jZToKd2luZG93WyJUZXN0U2FtcGxlIl0gPSBjb25zdHJ1Y3RvcjsKY29uc3RydWN0
b3IuZ2V0SW5zdGFuY2VGcm9tRmFjdG9yeSA9IGZ1bmN0aW9uIChpZCwgZGVzYyl7cmV0dXJuIG5l
dyBUZXN0U2FtcGxlKGlkLCBkZXNjKTt9OwoKdmFyIHNhbXBsZSA9IFRlc3RTYW1wbGUuZ2V0SW5z
dGFuY2VGcm9tRmFjdG9yeSgiaGVsbG8iLCJzdWNjZXNzIGlmIHlvdSBzZWUgdGhpcyIpOwphbGVy
dChzYW1wbGUuZ2V0RGVzY3JpcHRpb24oKSk7Cjwvc2NyaXB0Pgo8ZGl2PldoZW4gdmlld2luZyB0
aGlzIHBhZ2UsIGlmIHlvdSBzZWUgYW4gYWxlcnQgd2l0aCBhIHN1Y2Nlc3MgbWVzc2FnZSwgdGhl
IHRlc3QgcGFzc2VkLjwvZGl2Pgo8ZGl2PklmIG5vdCB0aGVuIHlvdSBtYXkgaGF2ZSBhbiBlcnJv
ciBsaWtlIHRoaXMgaW4gdGhlIEphdmFTY3JpcHQgY29uc29sZTo8L2Rpdj4KPGNvZGU+VHlwZUVy
cm9yOiBSZXN1bHQgb2YgZXhwcmVzc2lvbiAnVGVzdFNhbXBsZScgW1tvYmplY3QgRE9NV2luZG93
Q29uc3RydWN0b3JdXSBpcyBub3QgYSBjb25zdHJ1Y3Rvci48L2NvZGU+CjwvYm9keT4KPC9odG1s
Pg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77274</attachid>
            <date>2010-12-22 16:29:15 -0800</date>
            <delta_ts>2010-12-22 16:45:02 -0800</delta_ts>
            <desc>Patch to allow setting window.constructor.</desc>
            <filename>48953.patch</filename>
            <type>text/plain</type>
            <size>9909</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3NDUxNSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTggQEAKKzIwMTAtMTItMjIgIE1pY2hhZWwgU2Fib2ZmICA8bXNhYm9mZkBhcHBs
ZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
UkVHUkVTU0lPTjogQ2FuJ3Qgc2hhZG93L292ZXJ3cml0ZSB3aW5kb3cuY29uc3RydWN0b3IgCisg
ICAgICAgIChjYXVzZXMgVHlwZUVycm9yIGV4Y2VwdGlvbikKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ4OTUzCisKKyAgICAgICAgQWRkZWQgY29kZSBp
biB0aGUgamF2YXNjcmlwdCBjb2RlIGdlbmVyYXRvciB0byBjcmVhdGUgYSBzZXR0ZXIgZm9yCisg
ICAgICAgIGEgY29uc3RydWN0b3IgaWYgdGhlIG5ldyBleHRlbmRlZCBhdHRyaWJ1dGUgUmVwbGFj
ZWFibGVDb25zdHJ1Y3RvcgorICAgICAgICBpcyBwcmVzZW50IGZvciB0aGUgaW50ZXJmYWNlLgor
CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06CisgICAgICAg
ICogcGFnZS9ET01XaW5kb3cuaWRsOgorCiAyMDEwLTEyLTIyICBBZGFtIEJlcmdrdmlzdCAgPGFk
YW0uYmVyZ2t2aXN0QGVyaWNzc29uLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBNYXJ0aW4g
Um9iaW5zb24uCkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpT
LnBtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
SlMucG0JKHJldmlzaW9uIDc0NTE1KQorKysgV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JKUy5wbQkod29ya2luZyBjb3B5KQpAQCAtMTAxNyw2ICsxMDE3LDExIEBAIHN1YiBH
ZW5lcmF0ZUhlYWRlcgogICAgICAgICAgICAgbXkgJGdldHRlciA9ICJqcyIgLiAkaW50ZXJmYWNl
TmFtZSAuICJDb25zdHJ1Y3RvciI7CiAgICAgICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAi
SlNDOjpKU1ZhbHVlICR7Z2V0dGVyfShKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNWYWx1ZSwgY29u
c3QgSlNDOjpJZGVudGlmaWVyJik7XG4iKTsKICAgICAgICAgfQorCisgICAgICAgIGlmICgkZGF0
YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJSZXBsYWNlYWJsZUNvbnN0cnVjdG9yIn0pIHsK
KyAgICAgICAgICAgIG15ICRjb25zdHJ1Y3RvckZ1bmN0aW9uTmFtZSA9ICJzZXRKUyIgLiAkaW50
ZXJmYWNlTmFtZSAuICJDb25zdHJ1Y3RvciI7CisgICAgICAgICAgICBwdXNoKEBoZWFkZXJDb250
ZW50LCAidm9pZCAke2NvbnN0cnVjdG9yRnVuY3Rpb25OYW1lfShKU0M6OkV4ZWNTdGF0ZSosIEpT
Qzo6SlNPYmplY3QqLCBKU0M6OkpTVmFsdWUpO1xuIik7CisgICAgICAgIH0KICAgICB9CiAKICAg
ICBpZiAoJG51bUNvbnN0YW50cyA+IDApIHsKQEAgLTEwOTUsOCArMTEwMCwxNCBAQCBzdWIgR2Vu
ZXJhdGVBdHRyaWJ1dGVzSGFzaFRhYmxlKCQkKQogICAgICAgICBwdXNoKEBoYXNoS2V5cywgImNv
bnN0cnVjdG9yIik7CiAgICAgICAgIG15ICRnZXR0ZXIgPSAianMiIC4gJGludGVyZmFjZU5hbWUg
LiAiQ29uc3RydWN0b3IiOwogICAgICAgICBwdXNoKEBoYXNoVmFsdWUxLCAkZ2V0dGVyKTsKLSAg
ICAgICAgcHVzaChAaGFzaFZhbHVlMiwgIjAiKTsKLSAgICAgICAgcHVzaChAaGFzaFNwZWNpYWxz
LCAiRG9udEVudW0gfCBSZWFkT25seSIpOyAjIEZJWE1FOiBTZXR0aW5nIHRoZSBjb25zdHJ1Y3Rv
ciBzaG91bGQgYmUgcG9zc2libGUuCisgICAgICAgIGlmICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0
cmlidXRlcy0+eyJSZXBsYWNlYWJsZUNvbnN0cnVjdG9yIn0pIHsKKyAgICAgICAgICAgIG15ICRz
ZXR0ZXIgPSAic2V0SlMiIC4gJGludGVyZmFjZU5hbWUgLiAiQ29uc3RydWN0b3IiOworICAgICAg
ICAgICAgcHVzaChAaGFzaFZhbHVlMiwgJHNldHRlcik7CisgICAgICAgICAgICBwdXNoKEBoYXNo
U3BlY2lhbHMsICJEb250RW51bSB8IERvbnREZWxldGUiKTsKKyAgICAgICAgfSBlbHNlIHsgICAg
ICAgICAgICAKKyAgICAgICAgICAgIHB1c2goQGhhc2hWYWx1ZTIsICIwIik7CisgICAgICAgICAg
ICBwdXNoKEBoYXNoU3BlY2lhbHMsICJEb250RW51bSB8IFJlYWRPbmx5Iik7CisgICAgICAgIH0K
ICAgICB9CiAKICAgICAkb2JqZWN0LT5HZW5lcmF0ZUhhc2hUYWJsZSgkaGFzaE5hbWUsICRoYXNo
U2l6ZSwKQEAgLTE2MjksNiArMTY0MCw3IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAK
ICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICByZXR1cm4gJHtjbGFzc05h
bWV9OjpnZXRDb25zdHJ1Y3RvcihleGVjLCBkb21PYmplY3QtPmdsb2JhbE9iamVjdCgpKTtcbiIp
OwogICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAifVxuIik7CisgICAgICAgICAg
ICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJcbiIpOwogICAgICAgICAgICAgfQogICAgICAgICB9
CiAKQEAgLTE3MjIsNyArMTczNCwxMSBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW1wbEluY2x1ZGVzeyJKUyIgLiAkY29uc3Ry
dWN0b3JUeXBlIC4gIi5oIn0gPSAxOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAvLyBTaGFk
b3dpbmcgYSBidWlsdC1pbiBjb25zdHJ1Y3RvclxuIik7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgc3RhdGljX2Nhc3Q8JGNsYXNzTmFtZSo+KHRo
aXNPYmplY3QpLT5wdXREaXJlY3QoSWRlbnRpZmllcihleGVjLCBcIiRuYW1lXCIpLCB2YWx1ZSk7
XG4iKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJGludGVyZmFjZU5hbWUgZXEg
IkRPTVdpbmRvdyIgJiYgJGNsYXNzTmFtZSBlcSAiSlNibGFoIikgeworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBzdGF0aWNfY2FzdDwkY2xh
c3NOYW1lKj4odGhpc09iamVjdCktPnB1dERpcmVjdChleGVjLT5wcm9wZXJ0eU5hbWVzKCkuY29u
c3RydWN0b3IsIHZhbHVlKTtcbiIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxz
ZSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAi
ICAgIHN0YXRpY19jYXN0PCRjbGFzc05hbWUqPih0aGlzT2JqZWN0KS0+cHV0RGlyZWN0KElkZW50
aWZpZXIoZXhlYywgXCIkbmFtZVwiKSwgdmFsdWUpO1xuIik7CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAoJGF0dHJpYnV0ZS0+
c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiUmVwbGFjZWFibGUifSkgewogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIC8vIFNoYWRvd2lu
ZyBhIGJ1aWx0LWluIG9iamVjdFxuIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVz
aChAaW1wbENvbnRlbnQsICIgICAgc3RhdGljX2Nhc3Q8JGNsYXNzTmFtZSo+KHRoaXNPYmplY3Qp
LT5wdXREaXJlY3QoSWRlbnRpZmllcihleGVjLCBcIiRuYW1lXCIpLCB2YWx1ZSk7XG4iKTsKQEAg
LTE3ODYsMTAgKzE4MDIsMzUgQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KIAogICAgICAg
ICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIjZW5kaWZcbiIpIGlmICRhdHRy
aWJ1dGVDb25kaXRpb25hbFN0cmluZzsKIAotICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChA
aW1wbENvbnRlbnQsICJcbiIpOworIAogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICAgfQogICAgICAgICAgICAgfQorICAgICAgICAgICAgCisgICAgICAgICAgICBpZiAoJGRh
dGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiUmVwbGFjZWFibGVDb25zdHJ1Y3RvciJ9KSB7
CisgICAgICAgICAgICAgICAgbXkgJGNvbnN0cnVjdG9yRnVuY3Rpb25OYW1lID0gInNldEpTIiAu
ICRpbnRlcmZhY2VOYW1lIC4gIkNvbnN0cnVjdG9yIjsKKyAgICAgICAgICAgICAgICAKKyAgICAg
ICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgInZvaWQgJHtjb25zdHJ1Y3RvckZ1bmN0aW9u
TmFtZX0oRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCogdGhpc09iamVjdCwgSlNWYWx1ZSB2YWx1
ZSlcbiIpOworICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAie1xuIik7CisgICAg
ICAgICAgICAgICAgaWYgKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNoZWNrRG9t
YWluU2VjdXJpdHkifSkgeworICAgICAgICAgICAgICAgICAgICBpZiAoJGludGVyZmFjZU5hbWUg
ZXEgIkRPTVdpbmRvdyIpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250
ZW50LCAiICAgIGlmICghc3RhdGljX2Nhc3Q8JGNsYXNzTmFtZSo+KHRoaXNPYmplY3QpLT5hbGxv
d3NBY2Nlc3NGcm9tKGV4ZWMpKVxuIik7CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Cisg
ICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBpZiAoIWFsbG93
c0FjY2Vzc0Zyb21GcmFtZShleGVjLCBzdGF0aWNfY2FzdDwkY2xhc3NOYW1lKj4odGhpc09iamVj
dCktPmltcGwoKS0+ZnJhbWUoKSkpXG4iKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgcmV0dXJuO1xuIik7Cisg
ICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIg
ICAgLy8gU2hhZG93aW5nIGEgYnVpbHQtaW4gY29uc3RydWN0b3JcbiIpOworCisgICAgICAgICAg
ICAgICAgaWYgKCRpbnRlcmZhY2VOYW1lIGVxICJET01XaW5kb3ciKSB7CisgICAgICAgICAgICAg
ICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIHN0YXRpY19jYXN0PCRjbGFzc05hbWUqPih0
aGlzT2JqZWN0KS0+cHV0RGlyZWN0KGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5jb25zdHJ1Y3Rvciwg
dmFsdWUpO1xuIik7CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAg
ICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgc3RhdGljX2Nhc3Q8JGNsYXNzTmFtZSo+KHRoaXNP
YmplY3QpLT5wdXREaXJlY3QoSWRlbnRpZmllcihleGVjLCBcIiRuYW1lXCIpLCB2YWx1ZSk7XG4i
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQs
ICJ9XG4iKTsKKyAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIlxuIik7CisgICAg
ICAgICAgICB9ICAgICAgICAKICAgICAgICAgfQogICAgIH0KIApJbmRleDogV2ViQ29yZS9wYWdl
L0RPTVdpbmRvdy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwJ
KHJldmlzaW9uIDc0NTE1KQorKysgV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwJKHdvcmtpbmcg
Y29weSkKQEAgLTQwLDYgKzQwLDcgQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIEV2ZW50VGFy
Z2V0LAogICAgICAgICBFeHRlbmRzRE9NR2xvYmFsT2JqZWN0LAogICAgICAgICBHZW5lcmF0ZU5h
dGl2ZUNvbnZlcnRlciwKKyAgICAgICAgUmVwbGFjZWFibGVDb25zdHJ1Y3RvciwKICAgICAgICAg
TGVnYWN5UGFyZW50PUpTRE9NV2luZG93QmFzZQogICAgIF0gRE9NV2luZG93IHsKICAgICAgICAg
Ly8gRE9NIExldmVsIDAKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDc0NTE1KQorKysgTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTAtMTItMjIgIE1p
Y2hhZWwgU2Fib2ZmICA8bXNhYm9mZkBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUkVHUkVTU0lPTjogQ2FuJ3Qgc2hhZG93L292ZXJ3
cml0ZSB3aW5kb3cuY29uc3RydWN0b3IgCisgICAgICAgIChjYXVzZXMgVHlwZUVycm9yIGV4Y2Vw
dGlvbikKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ4
OTUzCisKKyAgICAgICAgQ2hhbmdlZCBjcm9zcy1mcmFtZS1hY2Nlc3MtcHV0IHRlc3QgcmVzdWx0
cyB0byByZWZsZWN0IHRoYXQgc2V0dGluZworICAgICAgICB0aGUgd2luZG93IGNvbnN0cnVjdG9y
IHdpbGwgYmUgZGlzYWxsb3dlZCBkdWUgdG8gY3Jvc3MgZnJhbWUgc2VjdXJpdHkKKyAgICAgICAg
Y2hlY2tpbmcuCisgICAgICAgIEFkZGVkIGEgbmV3IHRlc3QgdG8gY2hlY2sgdGhhdCB3ZSBjYW4g
Y2hhbmdlIHdpbmRvdy5jb25zdHJ1Y3Rvci4KKworICAgICAgICAqIGZhc3QvZG9tL1dpbmRvdy93
aW5kb3ctY29uc3RydWN0b3Itc2V0dGFibGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L2RvbS9XaW5kb3cvd2luZG93LWNvbnN0cnVjdG9yLXNldHRhYmxlLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3MtZnJhbWUtYWNjZXNzLXB1dC1l
eHBlY3RlZC50eHQ6CisKIDIwMTAtMTItMjIgIEFyaXlhIEhpZGF5YXQgIDxhcml5YUBzZW5jaGEu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KSW5kZXg6IExheW91dFRl
c3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctY29uc3RydWN0b3Itc2V0dGFibGUtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctY29u
c3RydWN0b3Itc2V0dGFibGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVz
dHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1jb25zdHJ1Y3Rvci1zZXR0YWJsZS1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMyBAQAorVGVzdCBmb3IgYnVnIDQ4OTUzOiBDYW4n
dCBzaGFkb3cvb3ZlcndyaXRlIHdpbmRvdy5jb25zdHJ1Y3Rvci4KKworQ2FuIHJlcGxhY2Ugd2lu
ZG93IGNvbnN0cnVjdG9yOiBQQVNTCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cv
d2luZG93LWNvbnN0cnVjdG9yLXNldHRhYmxlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1jb25zdHJ1Y3Rvci1zZXR0YWJsZS5odG1sCShyZXZp
c2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1jb25zdHJ1Y3Rv
ci1zZXR0YWJsZS5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMzIEBACis8aHRtbD4KKzxo
ZWFkPjwvaGVhZD4KKzxib2R5PgorPHA+VGVzdCBmb3IgPGEgaHJlZj0iaHR0cDovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDg5NTMiPmJ1ZyA0ODk1MzwvYT46CitDYW4ndCBzaGFk
b3cvb3ZlcndyaXRlIHdpbmRvdy5jb25zdHJ1Y3Rvci48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQ+CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAg
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKK30KKworZnVuY3Rpb24g
bG9nKG1lc3NhZ2UsIGNvbG9yKSAKK3sKKyAgICB2YXIgcGFyYWdyYXBoID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgiZGl2Iik7CisgICAgcGFyYWdyYXBoLmFwcGVuZENoaWxkKGRvY3VtZW50LmNy
ZWF0ZVRleHROb2RlKG1lc3NhZ2UpKTsKKyAgICBwYXJhZ3JhcGguc3R5bGUuZm9udEZhbWlseSA9
ICJtb25vc3BhY2UiOworICAgIGlmIChjb2xvcikKKyAgICBwYXJhZ3JhcGguc3R5bGUuY29sb3Ig
PSBjb2xvcjsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmFwcGVuZENo
aWxkKHBhcmFncmFwaCk7Cit9CisgICAgCit2YXIgdGVzdE5hbWUgPSAiQ2FuIHJlcGxhY2Ugd2lu
ZG93IGNvbnN0cnVjdG9yIgordmFyIG5ld0NvbnN0cnVjdG9yID0gIk15Q29uc3RydWN0b3IiOwor
dmFyIGNvbnN0cnVjdG9yID0gbmV3Q29uc3RydWN0b3I7CisKK2lmICgoY29uc3RydWN0b3IgPT0g
bmV3Q29uc3RydWN0b3IpICYmICh3aW5kb3cuY29uc3RydWN0b3IgPT0gbmV3Q29uc3RydWN0b3Ip
KQorICAgIGxvZyh0ZXN0TmFtZSArICI6IFBBU1MiLCAiZ3JlZW4iKTsKK2Vsc2UKKyAgICBsb2co
dGVzdE5hbWUgKyAiOiBGQUlMIiwgInJlZCIpOworCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3MtZnJhbWUtYWNj
ZXNzLXB1dC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS9jcm9zcy1mcmFtZS1hY2Nlc3MtcHV0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
NzQ1MTUpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLWZyYW1lLWFj
Y2Vzcy1wdXQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zNzIsNiArMzcyLDggQEAg
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IFVuc2FmZSBKYXZhU2NyaQogCiBDT05TT0xFIE1FU1NB
R0U6IGxpbmUgMTogVW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0byBhY2Nlc3MgZnJhbWUgd2l0
aCBVUkwgaHR0cDovL2xvY2FsaG9zdDo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9jcm9zcy1mcmFt
ZS1pZnJhbWUtZm9yLXB1dC10ZXN0Lmh0bWwgZnJvbSBmcmFtZSB3aXRoIFVSTCBodHRwOi8vMTI3
LjAuMC4xOjgwMDAvc2VjdXJpdHkvY3Jvc3MtZnJhbWUtYWNjZXNzLXB1dC5odG1sLiBEb21haW5z
LCBwcm90b2NvbHMgYW5kIHBvcnRzIG11c3QgbWF0Y2guCiAKK0NPTlNPTEUgTUVTU0FHRTogbGlu
ZSAxOiBVbnNhZmUgSmF2YVNjcmlwdCBhdHRlbXB0IHRvIGFjY2VzcyBmcmFtZSB3aXRoIFVSTCBo
dHRwOi8vbG9jYWxob3N0OjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL2Nyb3NzLWZyYW1lLWlmcmFt
ZS1mb3ItcHV0LXRlc3QuaHRtbCBmcm9tIGZyYW1lIHdpdGggVVJMIGh0dHA6Ly8xMjcuMC4wLjE6
ODAwMC9zZWN1cml0eS9jcm9zcy1mcmFtZS1hY2Nlc3MtcHV0Lmh0bWwuIERvbWFpbnMsIHByb3Rv
Y29scyBhbmQgcG9ydHMgbXVzdCBtYXRjaC4KKwogQUxFUlQ6IFBBU1M6IHdpbmRvdy5BdHRyIHNo
b3VsZCBiZSAnW29iamVjdCBBdHRyQ29uc3RydWN0b3JdJyBhbmQgaXMuCiBBTEVSVDogUEFTUzog
d2luZG93LkNEQVRBU2VjdGlvbiBzaG91bGQgYmUgJ1tvYmplY3QgQ0RBVEFTZWN0aW9uQ29uc3Ry
dWN0b3JdJyBhbmQgaXMuCiBBTEVSVDogUEFTUzogd2luZG93LkNoYXJhY3RlckRhdGEgc2hvdWxk
IGJlICdbb2JqZWN0IENoYXJhY3RlckRhdGFDb25zdHJ1Y3Rvcl0nIGFuZCBpcy4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77277</attachid>
            <date>2010-12-22 16:45:02 -0800</date>
            <delta_ts>2010-12-22 19:31:11 -0800</delta_ts>
            <desc>Updated patch with whitespace fixes.</desc>
            <filename>48953-1.patch</filename>
            <type>text/plain</type>
            <size>9757</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3NDUxNSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTggQEAKKzIwMTAtMTItMjIgIE1pY2hhZWwgU2Fib2ZmICA8bXNhYm9mZkBhcHBs
ZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
UkVHUkVTU0lPTjogQ2FuJ3Qgc2hhZG93L292ZXJ3cml0ZSB3aW5kb3cuY29uc3RydWN0b3IgCisg
ICAgICAgIChjYXVzZXMgVHlwZUVycm9yIGV4Y2VwdGlvbikKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ4OTUzCisKKyAgICAgICAgQWRkZWQgY29kZSBp
biB0aGUgamF2YXNjcmlwdCBjb2RlIGdlbmVyYXRvciB0byBjcmVhdGUgYSBzZXR0ZXIgZm9yCisg
ICAgICAgIGEgY29uc3RydWN0b3IgaWYgdGhlIG5ldyBleHRlbmRlZCBhdHRyaWJ1dGUgUmVwbGFj
ZWFibGVDb25zdHJ1Y3RvcgorICAgICAgICBpcyBwcmVzZW50IGZvciB0aGUgaW50ZXJmYWNlLgor
CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06CisgICAgICAg
ICogcGFnZS9ET01XaW5kb3cuaWRsOgorCiAyMDEwLTEyLTIyICBBZGFtIEJlcmdrdmlzdCAgPGFk
YW0uYmVyZ2t2aXN0QGVyaWNzc29uLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBNYXJ0aW4g
Um9iaW5zb24uCkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpT
LnBtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
SlMucG0JKHJldmlzaW9uIDc0NTE1KQorKysgV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JKUy5wbQkod29ya2luZyBjb3B5KQpAQCAtMTAxNyw2ICsxMDE3LDExIEBAIHN1YiBH
ZW5lcmF0ZUhlYWRlcgogICAgICAgICAgICAgbXkgJGdldHRlciA9ICJqcyIgLiAkaW50ZXJmYWNl
TmFtZSAuICJDb25zdHJ1Y3RvciI7CiAgICAgICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAi
SlNDOjpKU1ZhbHVlICR7Z2V0dGVyfShKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNWYWx1ZSwgY29u
c3QgSlNDOjpJZGVudGlmaWVyJik7XG4iKTsKICAgICAgICAgfQorCisgICAgICAgIGlmICgkZGF0
YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJSZXBsYWNlYWJsZUNvbnN0cnVjdG9yIn0pIHsK
KyAgICAgICAgICAgIG15ICRjb25zdHJ1Y3RvckZ1bmN0aW9uTmFtZSA9ICJzZXRKUyIgLiAkaW50
ZXJmYWNlTmFtZSAuICJDb25zdHJ1Y3RvciI7CisgICAgICAgICAgICBwdXNoKEBoZWFkZXJDb250
ZW50LCAidm9pZCAke2NvbnN0cnVjdG9yRnVuY3Rpb25OYW1lfShKU0M6OkV4ZWNTdGF0ZSosIEpT
Qzo6SlNPYmplY3QqLCBKU0M6OkpTVmFsdWUpO1xuIik7CisgICAgICAgIH0KICAgICB9CiAKICAg
ICBpZiAoJG51bUNvbnN0YW50cyA+IDApIHsKQEAgLTEwOTUsOCArMTEwMCwxNCBAQCBzdWIgR2Vu
ZXJhdGVBdHRyaWJ1dGVzSGFzaFRhYmxlKCQkKQogICAgICAgICBwdXNoKEBoYXNoS2V5cywgImNv
bnN0cnVjdG9yIik7CiAgICAgICAgIG15ICRnZXR0ZXIgPSAianMiIC4gJGludGVyZmFjZU5hbWUg
LiAiQ29uc3RydWN0b3IiOwogICAgICAgICBwdXNoKEBoYXNoVmFsdWUxLCAkZ2V0dGVyKTsKLSAg
ICAgICAgcHVzaChAaGFzaFZhbHVlMiwgIjAiKTsKLSAgICAgICAgcHVzaChAaGFzaFNwZWNpYWxz
LCAiRG9udEVudW0gfCBSZWFkT25seSIpOyAjIEZJWE1FOiBTZXR0aW5nIHRoZSBjb25zdHJ1Y3Rv
ciBzaG91bGQgYmUgcG9zc2libGUuCisgICAgICAgIGlmICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0
cmlidXRlcy0+eyJSZXBsYWNlYWJsZUNvbnN0cnVjdG9yIn0pIHsKKyAgICAgICAgICAgIG15ICRz
ZXR0ZXIgPSAic2V0SlMiIC4gJGludGVyZmFjZU5hbWUgLiAiQ29uc3RydWN0b3IiOworICAgICAg
ICAgICAgcHVzaChAaGFzaFZhbHVlMiwgJHNldHRlcik7CisgICAgICAgICAgICBwdXNoKEBoYXNo
U3BlY2lhbHMsICJEb250RW51bSB8IERvbnREZWxldGUiKTsKKyAgICAgICAgfSBlbHNlIHsgICAg
ICAgICAgICAKKyAgICAgICAgICAgIHB1c2goQGhhc2hWYWx1ZTIsICIwIik7CisgICAgICAgICAg
ICBwdXNoKEBoYXNoU3BlY2lhbHMsICJEb250RW51bSB8IFJlYWRPbmx5Iik7CisgICAgICAgIH0K
ICAgICB9CiAKICAgICAkb2JqZWN0LT5HZW5lcmF0ZUhhc2hUYWJsZSgkaGFzaE5hbWUsICRoYXNo
U2l6ZSwKQEAgLTE2MjksNiArMTY0MCw3IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAK
ICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICByZXR1cm4gJHtjbGFzc05h
bWV9OjpnZXRDb25zdHJ1Y3RvcihleGVjLCBkb21PYmplY3QtPmdsb2JhbE9iamVjdCgpKTtcbiIp
OwogICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAifVxuIik7CisgICAgICAgICAg
ICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJcbiIpOwogICAgICAgICAgICAgfQogICAgICAgICB9
CiAKQEAgLTE3MjIsNyArMTczNCwxMSBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW1wbEluY2x1ZGVzeyJKUyIgLiAkY29uc3Ry
dWN0b3JUeXBlIC4gIi5oIn0gPSAxOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAvLyBTaGFk
b3dpbmcgYSBidWlsdC1pbiBjb25zdHJ1Y3RvclxuIik7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgc3RhdGljX2Nhc3Q8JGNsYXNzTmFtZSo+KHRo
aXNPYmplY3QpLT5wdXREaXJlY3QoSWRlbnRpZmllcihleGVjLCBcIiRuYW1lXCIpLCB2YWx1ZSk7
XG4iKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJGludGVyZmFjZU5hbWUgZXEg
IkRPTVdpbmRvdyIgJiYgJGNsYXNzTmFtZSBlcSAiSlNibGFoIikgeworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBzdGF0aWNfY2FzdDwkY2xh
c3NOYW1lKj4odGhpc09iamVjdCktPnB1dERpcmVjdChleGVjLT5wcm9wZXJ0eU5hbWVzKCkuY29u
c3RydWN0b3IsIHZhbHVlKTtcbiIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxz
ZSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAi
ICAgIHN0YXRpY19jYXN0PCRjbGFzc05hbWUqPih0aGlzT2JqZWN0KS0+cHV0RGlyZWN0KElkZW50
aWZpZXIoZXhlYywgXCIkbmFtZVwiKSwgdmFsdWUpO1xuIik7CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAoJGF0dHJpYnV0ZS0+
c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiUmVwbGFjZWFibGUifSkgewogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIC8vIFNoYWRvd2lu
ZyBhIGJ1aWx0LWluIG9iamVjdFxuIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVz
aChAaW1wbENvbnRlbnQsICIgICAgc3RhdGljX2Nhc3Q8JGNsYXNzTmFtZSo+KHRoaXNPYmplY3Qp
LT5wdXREaXJlY3QoSWRlbnRpZmllcihleGVjLCBcIiRuYW1lXCIpLCB2YWx1ZSk7XG4iKTsKQEAg
LTE3OTAsNiArMTgwNiwzMSBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgICAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQorICAgICAgICAg
ICAgCisgICAgICAgICAgICBpZiAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiUmVw
bGFjZWFibGVDb25zdHJ1Y3RvciJ9KSB7CisgICAgICAgICAgICAgICAgbXkgJGNvbnN0cnVjdG9y
RnVuY3Rpb25OYW1lID0gInNldEpTIiAuICRpbnRlcmZhY2VOYW1lIC4gIkNvbnN0cnVjdG9yIjsK
KyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgInZv
aWQgJHtjb25zdHJ1Y3RvckZ1bmN0aW9uTmFtZX0oRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCog
dGhpc09iamVjdCwgSlNWYWx1ZSB2YWx1ZSlcbiIpOworICAgICAgICAgICAgICAgIHB1c2goQGlt
cGxDb250ZW50LCAie1xuIik7CisgICAgICAgICAgICAgICAgaWYgKCRkYXRhTm9kZS0+ZXh0ZW5k
ZWRBdHRyaWJ1dGVzLT57IkNoZWNrRG9tYWluU2VjdXJpdHkifSkgeworICAgICAgICAgICAgICAg
ICAgICBpZiAoJGludGVyZmFjZU5hbWUgZXEgIkRPTVdpbmRvdyIpIHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIGlmICghc3RhdGljX2Nhc3Q8JGNsYXNz
TmFtZSo+KHRoaXNPYmplY3QpLT5hbGxvd3NBY2Nlc3NGcm9tKGV4ZWMpKVxuIik7CisgICAgICAg
ICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBs
Q29udGVudCwgIiAgICBpZiAoIWFsbG93c0FjY2Vzc0Zyb21GcmFtZShleGVjLCBzdGF0aWNfY2Fz
dDwkY2xhc3NOYW1lKj4odGhpc09iamVjdCktPmltcGwoKS0+ZnJhbWUoKSkpXG4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwg
IiAgICAgICAgcmV0dXJuO1xuIik7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAg
ICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgLy8gU2hhZG93aW5nIGEgYnVpbHQtaW4gY29uc3Ry
dWN0b3JcbiIpOworCisgICAgICAgICAgICAgICAgaWYgKCRpbnRlcmZhY2VOYW1lIGVxICJET01X
aW5kb3ciKSB7CisgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIHN0
YXRpY19jYXN0PCRjbGFzc05hbWUqPih0aGlzT2JqZWN0KS0+cHV0RGlyZWN0KGV4ZWMtPnByb3Bl
cnR5TmFtZXMoKS5jb25zdHJ1Y3RvciwgdmFsdWUpO1xuIik7CisgICAgICAgICAgICAgICAgfSBl
bHNlIHsKKyAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgc3RhdGlj
X2Nhc3Q8JGNsYXNzTmFtZSo+KHRoaXNPYmplY3QpLT5wdXREaXJlY3QoSWRlbnRpZmllcihleGVj
LCBcIiRuYW1lXCIpLCB2YWx1ZSk7XG4iKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ9XG4iKTsKKyAgICAgICAgICAgICAgICBwdXNoKEBp
bXBsQ29udGVudCwgIlxuIik7CisgICAgICAgICAgICB9ICAgICAgICAKICAgICAgICAgfQogICAg
IH0KIApJbmRleDogV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9wYWdlL0RPTVdpbmRvdy5pZGwJKHJldmlzaW9uIDc0NTE1KQorKysgV2ViQ29yZS9wYWdl
L0RPTVdpbmRvdy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQwLDYgKzQwLDcgQEAgbW9kdWxlIHdp
bmRvdyB7CiAgICAgICAgIEV2ZW50VGFyZ2V0LAogICAgICAgICBFeHRlbmRzRE9NR2xvYmFsT2Jq
ZWN0LAogICAgICAgICBHZW5lcmF0ZU5hdGl2ZUNvbnZlcnRlciwKKyAgICAgICAgUmVwbGFjZWFi
bGVDb25zdHJ1Y3RvciwKICAgICAgICAgTGVnYWN5UGFyZW50PUpTRE9NV2luZG93QmFzZQogICAg
IF0gRE9NV2luZG93IHsKICAgICAgICAgLy8gRE9NIExldmVsIDAKSW5kZXg6IExheW91dFRlc3Rz
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9u
IDc0NTE1KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMjAgQEAKKzIwMTAtMTItMjIgIE1pY2hhZWwgU2Fib2ZmICA8bXNhYm9mZkBhcHBsZS5jb20+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUkVHUkVT
U0lPTjogQ2FuJ3Qgc2hhZG93L292ZXJ3cml0ZSB3aW5kb3cuY29uc3RydWN0b3IgCisgICAgICAg
IChjYXVzZXMgVHlwZUVycm9yIGV4Y2VwdGlvbikKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTQ4OTUzCisKKyAgICAgICAgQ2hhbmdlZCBjcm9zcy1mcmFt
ZS1hY2Nlc3MtcHV0IHRlc3QgcmVzdWx0cyB0byByZWZsZWN0IHRoYXQgc2V0dGluZworICAgICAg
ICB0aGUgd2luZG93IGNvbnN0cnVjdG9yIHdpbGwgYmUgZGlzYWxsb3dlZCBkdWUgdG8gY3Jvc3Mg
ZnJhbWUgc2VjdXJpdHkKKyAgICAgICAgY2hlY2tpbmcuCisgICAgICAgIEFkZGVkIGEgbmV3IHRl
c3QgdG8gY2hlY2sgdGhhdCB3ZSBjYW4gY2hhbmdlIHdpbmRvdy5jb25zdHJ1Y3Rvci4KKworICAg
ICAgICAqIGZhc3QvZG9tL1dpbmRvdy93aW5kb3ctY29uc3RydWN0b3Itc2V0dGFibGUtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvd2luZG93LWNvbnN0cnVj
dG9yLXNldHRhYmxlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkv
Y3Jvc3MtZnJhbWUtYWNjZXNzLXB1dC1leHBlY3RlZC50eHQ6CisKIDIwMTAtMTItMjIgIEFyaXlh
IEhpZGF5YXQgIDxhcml5YUBzZW5jaGEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNpbW9u
IEZyYXNlci4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctY29uc3Ry
dWN0b3Itc2V0dGFibGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zh
c3QvZG9tL1dpbmRvdy93aW5kb3ctY29uc3RydWN0b3Itc2V0dGFibGUtZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1jb25zdHJ1
Y3Rvci1zZXR0YWJsZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMyBAQAor
VGVzdCBmb3IgYnVnIDQ4OTUzOiBDYW4ndCBzaGFkb3cvb3ZlcndyaXRlIHdpbmRvdy5jb25zdHJ1
Y3Rvci4KKworQ2FuIHJlcGxhY2Ugd2luZG93IGNvbnN0cnVjdG9yOiBQQVNTCkluZGV4OiBMYXlv
dXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LWNvbnN0cnVjdG9yLXNldHRhYmxlLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1jb25zdHJ1
Y3Rvci1zZXR0YWJsZS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20v
V2luZG93L3dpbmRvdy1jb25zdHJ1Y3Rvci1zZXR0YWJsZS5odG1sCShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDMzIEBACis8aHRtbD4KKzxoZWFkPjwvaGVhZD4KKzxib2R5PgorPHA+VGVzdCBmb3Ig
PGEgaHJlZj0iaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDg5NTMiPmJ1
ZyA0ODk1MzwvYT46CitDYW4ndCBzaGFkb3cvb3ZlcndyaXRlIHdpbmRvdy5jb25zdHJ1Y3Rvci48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CitpZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKSB7CisgICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLmR1bXBB
c1RleHQoKTsKK30KKworZnVuY3Rpb24gbG9nKG1lc3NhZ2UsIGNvbG9yKQoreworICAgIHZhciBw
YXJhZ3JhcGggPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICBwYXJhZ3JhcGgu
YXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUobWVzc2FnZSkpOworICAgIHBhcmFn
cmFwaC5zdHlsZS5mb250RmFtaWx5ID0gIm1vbm9zcGFjZSI7CisgICAgaWYgKGNvbG9yKQorICAg
IHBhcmFncmFwaC5zdHlsZS5jb2xvciA9IGNvbG9yOworICAgIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb25zb2xlIikuYXBwZW5kQ2hpbGQocGFyYWdyYXBoKTsKK30KKwordmFyIHRlc3ROYW1l
ID0gIkNhbiByZXBsYWNlIHdpbmRvdyBjb25zdHJ1Y3RvciIKK3ZhciBuZXdDb25zdHJ1Y3RvciA9
ICJNeUNvbnN0cnVjdG9yIjsKK3ZhciBjb25zdHJ1Y3RvciA9IG5ld0NvbnN0cnVjdG9yOworCitp
ZiAoKGNvbnN0cnVjdG9yID09IG5ld0NvbnN0cnVjdG9yKSAmJiAod2luZG93LmNvbnN0cnVjdG9y
ID09IG5ld0NvbnN0cnVjdG9yKSkKKyAgICBsb2codGVzdE5hbWUgKyAiOiBQQVNTIiwgImdyZWVu
Iik7CitlbHNlCisgICAgbG9nKHRlc3ROYW1lICsgIjogRkFJTCIsICJyZWQiKTsKKworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L2Nyb3NzLWZyYW1lLWFjY2Vzcy1wdXQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3MtZnJhbWUtYWNjZXNzLXB1dC1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDc0NTE1KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9jcm9zcy1mcmFtZS1hY2Nlc3MtcHV0LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMzcyLDYgKzM3Miw4IEBAIENPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBVbnNhZmUgSmF2YVNj
cmkKIAogQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IFVuc2FmZSBKYXZhU2NyaXB0IGF0dGVtcHQg
dG8gYWNjZXNzIGZyYW1lIHdpdGggVVJMIGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zZWN1cml0eS9y
ZXNvdXJjZXMvY3Jvc3MtZnJhbWUtaWZyYW1lLWZvci1wdXQtdGVzdC5odG1sIGZyb20gZnJhbWUg
d2l0aCBVUkwgaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L2Nyb3NzLWZyYW1lLWFjY2Vz
cy1wdXQuaHRtbC4gRG9tYWlucywgcHJvdG9jb2xzIGFuZCBwb3J0cyBtdXN0IG1hdGNoLgogCitD
T05TT0xFIE1FU1NBR0U6IGxpbmUgMTogVW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0byBhY2Nl
c3MgZnJhbWUgd2l0aCBVUkwgaHR0cDovL2xvY2FsaG9zdDo4MDAwL3NlY3VyaXR5L3Jlc291cmNl
cy9jcm9zcy1mcmFtZS1pZnJhbWUtZm9yLXB1dC10ZXN0Lmh0bWwgZnJvbSBmcmFtZSB3aXRoIFVS
TCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvY3Jvc3MtZnJhbWUtYWNjZXNzLXB1dC5o
dG1sLiBEb21haW5zLCBwcm90b2NvbHMgYW5kIHBvcnRzIG11c3QgbWF0Y2guCisKIEFMRVJUOiBQ
QVNTOiB3aW5kb3cuQXR0ciBzaG91bGQgYmUgJ1tvYmplY3QgQXR0ckNvbnN0cnVjdG9yXScgYW5k
IGlzLgogQUxFUlQ6IFBBU1M6IHdpbmRvdy5DREFUQVNlY3Rpb24gc2hvdWxkIGJlICdbb2JqZWN0
IENEQVRBU2VjdGlvbkNvbnN0cnVjdG9yXScgYW5kIGlzLgogQUxFUlQ6IFBBU1M6IHdpbmRvdy5D
aGFyYWN0ZXJEYXRhIHNob3VsZCBiZSAnW29iamVjdCBDaGFyYWN0ZXJEYXRhQ29uc3RydWN0b3Jd
JyBhbmQgaXMuCg==
</data>
<flag name="review"
          id="68348"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>