<?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>91448</bug_id>
          
          <creation_ts>2012-07-16 17:13:22 -0700</creation_ts>
          <short_desc>Unify allowfullscreen logic in Document::webkitFullScreenEnabled and fullScreenIsAllowedForElement.</short_desc>
          <delta_ts>2012-07-18 13:06:30 -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>New Bugs</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Vincent Scheib">scheib</reporter>
          <assigned_to name="Vincent Scheib">scheib</assigned_to>
          <cc>enne</cc>
    
    <cc>jer.noble</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>670795</commentid>
    <comment_count>0</comment_count>
    <who name="Vincent Scheib">scheib</who>
    <bug_when>2012-07-16 17:13:22 -0700</bug_when>
    <thetext>Simplify Document::webkitFullScreenEnabled element traversal.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671285</commentid>
    <comment_count>1</comment_count>
      <attachid>152766</attachid>
    <who name="Vincent Scheib">scheib</who>
    <bug_when>2012-07-17 08:11:51 -0700</bug_when>
    <thetext>Created attachment 152766
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671287</commentid>
    <comment_count>2</comment_count>
    <who name="Vincent Scheib">scheib</who>
    <bug_when>2012-07-17 08:14:37 -0700</bug_when>
    <thetext>Pointer lock will be using the same iframe allow logic. Reducing the code here first.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671311</commentid>
    <comment_count>3</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-07-17 09:18:51 -0700</bug_when>
    <thetext>This patch subtly changes the behavior of Document::requestFullScreenForElement().  Before, a JavaScript call &quot;iframe.webkitEnterFullScreen()&quot; on an iframe without an &quot;webkitallowfullscreen&quot; attribute would allow the iframe to enter full screen mode.  This makes sense, since it&apos;s the element owner that decides whether the full screen request will be accepted.

With this patch, element-&gt;allowFullScreen() is checked against the requested element if that element is an iframe.  This causes the above case (requesting full screen on an iframe directly) to fail.  I believe the Document::fullScreenIsAllowedForElement() function could still be simplified, but there would have to be one iteration of finding the element&apos;s owner element before the do/while loop.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671560</commentid>
    <comment_count>4</comment_count>
      <attachid>152817</attachid>
    <who name="Vincent Scheib">scheib</who>
    <bug_when>2012-07-17 13:48:16 -0700</bug_when>
    <thetext>Created attachment 152817
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671561</commentid>
    <comment_count>5</comment_count>
    <who name="Vincent Scheib">scheib</who>
    <bug_when>2012-07-17 13:49:43 -0700</bug_when>
    <thetext>Thanks Jer, I&apos;ve written a test to identify that particular case and adjusted the patch to handle it. Please take a look.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671570</commentid>
    <comment_count>6</comment_count>
      <attachid>152817</attachid>
    <who name="Vincent Scheib">scheib</who>
    <bug_when>2012-07-17 13:55:21 -0700</bug_when>
    <thetext>Comment on attachment 152817
Patch

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

&gt; Source/WebCore/html/HTMLFrameElementBase.cpp:253
&gt; +    return (hasAttribute(webkitallowfullscreenAttr) || !isFrameElementBase())

Jer, I migrated this logic of !isFrameElementBase(), but we do not have a test that detects this logic being in place. Can you describe what scenario this logic is handling?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671582</commentid>
    <comment_count>7</comment_count>
      <attachid>152817</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-07-17 14:11:14 -0700</bug_when>
    <thetext>Comment on attachment 152817
Patch

Attachment 152817 did not pass win-ews (win):
Output: http://queues.webkit.org/results/13282237</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671597</commentid>
    <comment_count>8</comment_count>
      <attachid>152830</attachid>
    <who name="Vincent Scheib">scheib</who>
    <bug_when>2012-07-17 14:23:33 -0700</bug_when>
    <thetext>Created attachment 152830
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671741</commentid>
    <comment_count>9</comment_count>
      <attachid>152872</attachid>
    <who name="Vincent Scheib">scheib</who>
    <bug_when>2012-07-17 16:37:21 -0700</bug_when>
    <thetext>Created attachment 152872
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671743</commentid>
    <comment_count>10</comment_count>
    <who name="Vincent Scheib">scheib</who>
    <bug_when>2012-07-17 16:38:16 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 152817 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=152817&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/html/HTMLFrameElementBase.cpp:253
&gt; &gt; +    return (hasAttribute(webkitallowfullscreenAttr) || !isFrameElementBase())
&gt; 
&gt; Jer, I migrated this logic of !isFrameElementBase(), but we do not have a test that detects this logic being in place. Can you describe what scenario this logic is handling?

Doh, nevermind. As I moved the implementation to FrameElementBase I&apos;ve removed that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671760</commentid>
    <comment_count>11</comment_count>
      <attachid>152872</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-07-17 16:58:09 -0700</bug_when>
    <thetext>Comment on attachment 152872
Patch

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

&gt; Source/WebCore/dom/Document.cpp:5371
&gt; +    HTMLFrameOwnerElement* owner = element-&gt;document()-&gt;ownerElement();
&gt; +    if (!owner)
&gt; +        return true;
&gt; +    return owner-&gt;fullscreenIsAllowedByAllOwners();

This could be more easily written as:

if (HTMLFrameOwnerElement* owner = element-&gt;document()-&gt;ownerElement())
    return owner-&gt;fullscreenIsAllowedByAllOwners();
return true;

&gt; Source/WebCore/dom/Document.cpp:5583
&gt;      HTMLFrameOwnerElement* owner = ownerElement();
&gt;      if (!owner)
&gt;          return true;
&gt; -
&gt; -    do {
&gt; -        if (!owner-&gt;isFrameElementBase())
&gt; -            continue;
&gt; -
&gt; -        if (!static_cast&lt;HTMLFrameElementBase*&gt;(owner)-&gt;allowFullScreen())
&gt; -            return false;
&gt; -    } while ((owner = owner-&gt;document()-&gt;ownerElement()));
&gt; -
&gt; -    return true;        
&gt; +    return owner-&gt;fullscreenIsAllowedByAllOwners();

This too.

&gt; Source/WebCore/html/HTMLFrameElementBase.cpp:253
&gt; +    HTMLFrameOwnerElement* owner = document()-&gt;ownerElement();
&gt; +    return hasAttribute(webkitallowfullscreenAttr) &amp;&amp; (!owner || owner-&gt;fullscreenIsAllowedByAllOwners());

Why recurse?  It&apos;d be trivial to walk up the owner chain instead.  This function could even exist as a free function in Document.cpp.  There&apos;s really no need for it to be a class function on HTMLFrameElementBase.

&gt; Source/WebCore/html/HTMLFrameOwnerElement.h:61
&gt; +#if ENABLE(FULLSCREEN_API)
&gt; +    virtual bool fullscreenIsAllowedByAllOwners() const { return false; }
&gt; +#endif

This is probably a good idea (to provide a base implementation in HTMLFrameOwnerElement that is overridden in HTMLFrameElementBase), but there&apos;s no need to rename the function and provide a new implementation (see above about the free function possibility).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>672496</commentid>
    <comment_count>12</comment_count>
      <attachid>153041</attachid>
    <who name="Vincent Scheib">scheib</who>
    <bug_when>2012-07-18 10:30:10 -0700</bug_when>
    <thetext>Created attachment 153041
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>672519</commentid>
    <comment_count>13</comment_count>
      <attachid>153044</attachid>
    <who name="Vincent Scheib">scheib</who>
    <bug_when>2012-07-18 10:46:33 -0700</bug_when>
    <thetext>Created attachment 153044
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>672529</commentid>
    <comment_count>14</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-07-18 10:55:53 -0700</bug_when>
    <thetext>View in context: https://bugs.webkit.org/attachment.cgi?id=153041&amp;action=review

Looking good!  Just a couple of nits.

&gt; Source/WebCore/dom/Document.cpp:591
&gt; +    // 4. The fullscreenEnabled attribute must return true if the context object and all ancestor
&gt; +    // browsing context&apos;s documents have their fullscreen enabled flag set, or false otherwise.

Nit: please leave this comment in Document::webkitFullscreenEnabled().

&gt; Source/WebCore/dom/Document.cpp:594
&gt; +    // Top-level browsing contexts are implied to have their allowFullScreen attribute set.
&gt; +    if (owner) {

Nit: please return (true) early in this case. Otherwise the comment doesn&apos;t make (as much) sense.  (Also, other reviewers tend to prefer early returns to indented conditionals like this one.)

Unofficial r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>672530</commentid>
    <comment_count>15</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-07-18 10:56:17 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; &gt; Source/WebCore/dom/Document.cpp:591
&gt; &gt; +    // 4. The fullscreenEnabled attribute must return true if the context object and all ancestor
&gt; &gt; +    // browsing context&apos;s documents have their fullscreen enabled flag set, or false otherwise.
&gt; 
&gt; Nit: please leave this comment in Document::webkitFullscreenEnabled().

Looks like your latest patch does this.  Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>672538</commentid>
    <comment_count>16</comment_count>
      <attachid>153044</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-07-18 10:59:24 -0700</bug_when>
    <thetext>Comment on attachment 153044
Patch

Attachment 153044 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/13271648</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>672541</commentid>
    <comment_count>17</comment_count>
      <attachid>153049</attachid>
    <who name="Vincent Scheib">scheib</who>
    <bug_when>2012-07-18 11:02:40 -0700</bug_when>
    <thetext>Created attachment 153049
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>672542</commentid>
    <comment_count>18</comment_count>
    <who name="Vincent Scheib">scheib</who>
    <bug_when>2012-07-18 11:04:27 -0700</bug_when>
    <thetext>Thanks Jer, looks nice and clean now - easy to reuse for pointer lock.
enne, take a look?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>672546</commentid>
    <comment_count>19</comment_count>
      <attachid>153050</attachid>
    <who name="Vincent Scheib">scheib</who>
    <bug_when>2012-07-18 11:07:14 -0700</bug_when>
    <thetext>Created attachment 153050
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>672554</commentid>
    <comment_count>20</comment_count>
      <attachid>153050</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-07-18 11:18:56 -0700</bug_when>
    <thetext>Comment on attachment 153050
Patch

R=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>672670</commentid>
    <comment_count>21</comment_count>
      <attachid>153050</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-18 13:06:25 -0700</bug_when>
    <thetext>Comment on attachment 153050
Patch

Clearing flags on attachment: 153050

Committed r123005: &lt;http://trac.webkit.org/changeset/123005&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>672671</commentid>
    <comment_count>22</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-18 13:06:30 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>152766</attachid>
            <date>2012-07-17 08:11:51 -0700</date>
            <delta_ts>2012-07-17 13:48:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-91448-20120717081150.patch</filename>
            <type>text/plain</type>
            <size>2337</size>
            <attacher name="Vincent Scheib">scheib</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyNzc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2M3NjcxYWQ5YmYyY2Fl
Njg3OGVmZWZiMTk0ZWU1NzQ3NWI2OTgwNy4uNTcxY2E1YmM3Y2Y0NzNmN2JhMTQ1Y2M1OGFhN2I2
YWQ4MzljYjI1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTA3LTE2ICBWaW5j
ZW50IFNjaGVpYiAgPHNjaGVpYkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgU2ltcGxpZnkgRG9j
dW1lbnQ6OndlYmtpdEZ1bGxTY3JlZW5FbmFibGVkIGVsZW1lbnQgdHJhdmVyc2FsLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTE0NDgKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmVzIHJlZHVuZGFu
dCB0cmF2ZXJzYWwgbG9naWMuCisKKyAgICAgICAgTm8gY2hhbmdlIGluIHRlc3RzLgorCisgICAg
ICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpmdWxs
U2NyZWVuSXNBbGxvd2VkRm9yRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6
d2Via2l0RnVsbHNjcmVlbkVuYWJsZWQpOgorCiAyMDEyLTA3LTE2ICBCZWFyIFRyYXZpcyAgPGJl
dHJhdmlzQGFkb2JlLmNvbT4KIAogICAgICAgICBSZXNvbHZlIENTUyBFeGNsdXNpb25zIHNoYXBl
SW5zaWRlLCBzaGFwZU91dHNpZGUgcHJvcGVydGllcyB0byBMZW5ndGggYmFzZWQgV3JhcFNoYXBl
IGNsYXNzZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDYzMGIxZDdmYjk1ZDYyY2VhNzFj
YWVhMWU1MDc2N2QzN2Q3NDExMjkuLjQ2MjA1ZTM2YjQ2OWU0MzZmNDI1N2Y4NDM0MWJjNmZhNDlm
MmU0YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtNTM0MywxNCArNTM0MywxMyBAQCBN
ZWRpYUNhblN0YXJ0TGlzdGVuZXIqIERvY3VtZW50Ojp0YWtlQW55TWVkaWFDYW5TdGFydExpc3Rl
bmVyKCkKIGJvb2wgRG9jdW1lbnQ6OmZ1bGxTY3JlZW5Jc0FsbG93ZWRGb3JFbGVtZW50KEVsZW1l
bnQqIGVsZW1lbnQpIGNvbnN0CiB7CiAgICAgQVNTRVJUKGVsZW1lbnQpOwotICAgIHdoaWxlIChI
VE1MRnJhbWVPd25lckVsZW1lbnQqIG93bmVyRWxlbWVudCA9IGVsZW1lbnQtPmRvY3VtZW50KCkt
Pm93bmVyRWxlbWVudCgpKSB7Ci0gICAgICAgIGlmICghb3duZXJFbGVtZW50LT5pc0ZyYW1lRWxl
bWVudEJhc2UoKSkKKyAgICBkbyB7CisgICAgICAgIGlmICghZWxlbWVudC0+aXNGcmFtZUVsZW1l
bnRCYXNlKCkpCiAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICBpZiAoIXN0YXRpY19j
YXN0PEhUTUxGcmFtZUVsZW1lbnRCYXNlKj4ob3duZXJFbGVtZW50KS0+YWxsb3dGdWxsU2NyZWVu
KCkpCisgICAgICAgIGlmICghc3RhdGljX2Nhc3Q8SFRNTEZyYW1lRWxlbWVudEJhc2UqPihlbGVt
ZW50KS0+YWxsb3dGdWxsU2NyZWVuKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAg
ICAgIGVsZW1lbnQgPSBvd25lckVsZW1lbnQ7Ci0gICAgfQorICAgIH0gd2hpbGUgKChlbGVtZW50
ID0gZWxlbWVudC0+ZG9jdW1lbnQoKS0+b3duZXJFbGVtZW50KCkpKTsKICAgICByZXR1cm4gdHJ1
ZTsKIH0KIApAQCAtNTU2NCwxNSArNTU2Myw3IEBAIGJvb2wgRG9jdW1lbnQ6OndlYmtpdEZ1bGxz
Y3JlZW5FbmFibGVkKCkgY29uc3QKICAgICBpZiAoIW93bmVyKQogICAgICAgICByZXR1cm4gdHJ1
ZTsKIAotICAgIGRvIHsKLSAgICAgICAgaWYgKCFvd25lci0+aXNGcmFtZUVsZW1lbnRCYXNlKCkp
Ci0gICAgICAgICAgICBjb250aW51ZTsKLQotICAgICAgICBpZiAoIXN0YXRpY19jYXN0PEhUTUxG
cmFtZUVsZW1lbnRCYXNlKj4ob3duZXIpLT5hbGxvd0Z1bGxTY3JlZW4oKSkKLSAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICB9IHdoaWxlICgob3duZXIgPSBvd25lci0+ZG9jdW1lbnQoKS0+
b3duZXJFbGVtZW50KCkpKTsKLQotICAgIHJldHVybiB0cnVlOyAgICAgICAgCisgICAgcmV0dXJu
IGZ1bGxTY3JlZW5Jc0FsbG93ZWRGb3JFbGVtZW50KG93bmVyKTsKIH0KIAogdm9pZCBEb2N1bWVu
dDo6d2Via2l0V2lsbEVudGVyRnVsbFNjcmVlbkZvckVsZW1lbnQoRWxlbWVudCogZWxlbWVudCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>152817</attachid>
            <date>2012-07-17 13:48:16 -0700</date>
            <delta_ts>2012-07-17 14:23:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-91448-20120717134815.patch</filename>
            <type>text/plain</type>
            <size>9279</size>
            <attacher name="Vincent Scheib">scheib</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyODU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGYyMGFjNzQ5YzU1ODgz
OGNiOWZkYTNjMTE0ZTVkN2ViYTYyYmM0OC4uOGYzMjY5ODRlYWFhMGE0ZGM4M2VmMGU3OGM4MmFh
MTE2NzgyMzY2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEyLTA3LTE3ICBWaW5j
ZW50IFNjaGVpYiAgPHNjaGVpYkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgVW5pZnkgYWxsb3dm
dWxsc2NyZWVuIGxvZ2ljIGluIERvY3VtZW50Ojp3ZWJraXRGdWxsU2NyZWVuRW5hYmxlZCBhbmQg
ZnVsbFNjcmVlbklzQWxsb3dlZEZvckVsZW1lbnQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MTQ0OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFVuaWZpZXMgcmVkdW5kYW50IHRyYXZlcnNhbCBsb2dpYyBh
bmQgc3RhdGljIGNhc3QgcHJldmlvdXNseSB1c2VkCisgICAgICAgIHRvIGRldGVybWluZSBpZiBh
biBlbGVtZW50IG9yIGRvY3VtZW50IGNhbiBiZSBtYWRlIGZ1bGxzY3JlZW4uCisgICAgICAgIFRo
aXMgY2xlYW4gdXAgcHJlcGFyZXMgZm9yIHBvaW50ZXIgbG9jaywgd2hpY2ggd2lsbCB1c2UgdGhl
IHNhbWUgbG9naWMuCisKKyAgICAgICAgQWRkZWQgYSB0ZXN0IHRvIGRldGVjdCBhbiBlZGdlIGNh
c2Ugb2YgYW4gb3duaW5nIGRvY3VtZW50IHdpdGgKKyAgICAgICAgZnVsbHNjcmVlbiBwZXJtaXNp
b24gbW92aW5nIGFuIGlmcmFtZSB0byBmdWxsc2NyZWVuLCB3aGlsZSB0aGF0IGlmcmFtZQorICAg
ICAgICBkb2VzIG5vdCBoYXZlIHBlcm1pc2lvbiBmb3IgaXRzIGNvbnRlbnRzIHRvIGJlIG1hZGUg
ZnVsbHNjcmVlbi4KKworICAgICAgICBUZXN0OiBmdWxsc2NyZWVuL2Z1bGwtc2NyZWVuLWlmcmFt
ZS13aXRob3V0LWFsbG93LWF0dHJpYnV0ZS1hbGxvd2VkLWZyb20tcGFyZW50Lmh0bWwKKworICAg
ICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6ZnVs
bFNjcmVlbklzQWxsb3dlZEZvckVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6
OndlYmtpdEZ1bGxzY3JlZW5FbmFibGVkKToKKyAgICAgICAgKiBodG1sL0hUTUxGcmFtZUVsZW1l
bnRCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxGcmFtZUVsZW1lbnRCYXNlOjpmdWxs
c2NyZWVuSXNBbGxvd2VkQnlBbGxPd25lcnMpOgorICAgICAgICAqIGh0bWwvSFRNTEZyYW1lRWxl
bWVudEJhc2UuaDoKKyAgICAgICAgKEhUTUxGcmFtZUVsZW1lbnRCYXNlKToKKyAgICAgICAgKiBo
dG1sL0hUTUxGcmFtZU93bmVyRWxlbWVudC5oOgorICAgICAgICAoSFRNTEZyYW1lT3duZXJFbGVt
ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxGcmFtZU93bmVyRWxlbWVudDo6ZnVsbHNjcmVl
bklzQWxsb3dlZEJ5QWxsT3duZXJzKToKKwogMjAxMi0wNy0xNyAgSGFucyBNdWxsZXIgIDxobXVs
bGVyQGFkb2JlLmNvbT4KIAogICAgICAgICBSZW5hbWUgQ1NTIEV4Y2x1c2lvbnMgQ1NTV3JhcFNo
YXBlIGNsYXNzIHByb3BlcnRpZXMgdG8gbWF0Y2ggRXhjbHVzaW9uIHNoYXBlIGZ1bmN0aW9uIHBh
cmFtZXRlcnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDcyNGYxMWQ4NThmOWRmMTMzM2Y4
NTE1ZjhkNjgyNDA3NDIwMDc4ODMuLmIxNjZhNzc2YmQyMTgxZWZmNDhkYjU4N2Q2MTVhYzAzYzU3
NDdhOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtNTM2NSwxNSArNTM2NSwxMCBAQCBN
ZWRpYUNhblN0YXJ0TGlzdGVuZXIqIERvY3VtZW50Ojp0YWtlQW55TWVkaWFDYW5TdGFydExpc3Rl
bmVyKCkKIGJvb2wgRG9jdW1lbnQ6OmZ1bGxTY3JlZW5Jc0FsbG93ZWRGb3JFbGVtZW50KEVsZW1l
bnQqIGVsZW1lbnQpIGNvbnN0CiB7CiAgICAgQVNTRVJUKGVsZW1lbnQpOwotICAgIHdoaWxlIChI
VE1MRnJhbWVPd25lckVsZW1lbnQqIG93bmVyRWxlbWVudCA9IGVsZW1lbnQtPmRvY3VtZW50KCkt
Pm93bmVyRWxlbWVudCgpKSB7Ci0gICAgICAgIGlmICghb3duZXJFbGVtZW50LT5pc0ZyYW1lRWxl
bWVudEJhc2UoKSkKLSAgICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAgIGlmICghc3RhdGlj
X2Nhc3Q8SFRNTEZyYW1lRWxlbWVudEJhc2UqPihvd25lckVsZW1lbnQpLT5hbGxvd0Z1bGxTY3Jl
ZW4oKSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgZWxlbWVudCA9IG93bmVy
RWxlbWVudDsKLSAgICB9Ci0gICAgcmV0dXJuIHRydWU7CisgICAgSFRNTEZyYW1lT3duZXJFbGVt
ZW50KiBvd25lciA9IGVsZW1lbnQtPmRvY3VtZW50KCktPm93bmVyRWxlbWVudCgpOworICAgIGlm
ICghb3duZXIpCisgICAgICAgIHJldHVybiB0cnVlOworICAgIHJldHVybiBvd25lci0+ZnVsbHNj
cmVlbklzQWxsb3dlZEJ5QWxsT3duZXJzKCk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OnJlcXVlc3RG
dWxsU2NyZWVuRm9yRWxlbWVudChFbGVtZW50KiBlbGVtZW50LCB1bnNpZ25lZCBzaG9ydCBmbGFn
cywgRnVsbFNjcmVlbkNoZWNrVHlwZSBjaGVja1R5cGUpCkBAIC01NTg1LDE2ICs1NTgwLDcgQEAg
Ym9vbCBEb2N1bWVudDo6d2Via2l0RnVsbHNjcmVlbkVuYWJsZWQoKSBjb25zdAogICAgIEhUTUxG
cmFtZU93bmVyRWxlbWVudCogb3duZXIgPSBvd25lckVsZW1lbnQoKTsKICAgICBpZiAoIW93bmVy
KQogICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIGRvIHsKLSAgICAgICAgaWYgKCFvd25lci0+
aXNGcmFtZUVsZW1lbnRCYXNlKCkpCi0gICAgICAgICAgICBjb250aW51ZTsKLQotICAgICAgICBp
ZiAoIXN0YXRpY19jYXN0PEhUTUxGcmFtZUVsZW1lbnRCYXNlKj4ob3duZXIpLT5hbGxvd0Z1bGxT
Y3JlZW4oKSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9IHdoaWxlICgob3duZXIg
PSBvd25lci0+ZG9jdW1lbnQoKS0+b3duZXJFbGVtZW50KCkpKTsKLQotICAgIHJldHVybiB0cnVl
OyAgICAgICAgCisgICAgcmV0dXJuIG93bmVyLT5mdWxsc2NyZWVuSXNBbGxvd2VkQnlBbGxPd25l
cnMoKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6d2Via2l0V2lsbEVudGVyRnVsbFNjcmVlbkZvckVs
ZW1lbnQoRWxlbWVudCogZWxlbWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEZyYW1lRWxlbWVudEJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVF
bGVtZW50QmFzZS5jcHAKaW5kZXggMTZjZjM2MDUxZTg5ZTEyNmVkODYxMTYxNDZhZjJmYzA5NjZk
MWNhZC4uNDk2ODgyZTk1NDIwNDZjNjE2MDM5Y2IwYzdhODkyNTA0ZWE5YTQzYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVFbGVtZW50QmFzZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVFbGVtZW50QmFzZS5jcHAKQEAgLTI0Nyw5ICsyNDcs
MTEgQEAgaW50IEhUTUxGcmFtZUVsZW1lbnRCYXNlOjpoZWlnaHQoKQogfQogCiAjaWYgRU5BQkxF
KEZVTExTQ1JFRU5fQVBJKQotYm9vbCBIVE1MRnJhbWVFbGVtZW50QmFzZTo6YWxsb3dGdWxsU2Ny
ZWVuKCkgY29uc3QKK2Jvb2wgSFRNTEZyYW1lRWxlbWVudEJhc2U6OmZ1bGxzY3JlZW5Jc0FsbG93
ZWRCeUFsbE93bmVycygpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGhhc0F0dHJpYnV0ZSh3ZWJraXRh
bGxvd2Z1bGxzY3JlZW5BdHRyKTsKKyAgICBIVE1MRnJhbWVPd25lckVsZW1lbnQqIG93bmVyID0g
ZG9jdW1lbnQoKS0+b3duZXJFbGVtZW50KCk7CisgICAgcmV0dXJuIChoYXNBdHRyaWJ1dGUod2Vi
a2l0YWxsb3dmdWxsc2NyZWVuQXR0cikgfHwgIWlzRnJhbWVFbGVtZW50QmFzZSgpKQorICAgICAg
ICAmJiAoIW93bmVyIHx8IG93bmVyLT5mdWxsc2NyZWVuSXNBbGxvd2VkQnlBbGxPd25lcnMoKSk7
CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVF
bGVtZW50QmFzZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVFbGVtZW50QmFzZS5o
CmluZGV4IDExZGM5NGQzZGI2NDc1ZTlkNDkwYmFjNDA1MzE3Zjk4NDZiNWI4NjAuLjVkYTMwMjBl
MDJjMmNlMWE1YjIxOTQyYTNhODRlNjY1MDRmZTlkMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEZyYW1lRWxlbWVudEJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxGcmFtZUVsZW1lbnRCYXNlLmgKQEAgLTQzLDcgKzQzLDcgQEAgcHVibGljOgogICAgIGlu
dCBoZWlnaHQoKTsKIAogI2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKLSAgICB2aXJ0dWFsIGJv
b2wgYWxsb3dGdWxsU2NyZWVuKCkgY29uc3Q7CisgICAgdmlydHVhbCBib29sIGZ1bGxzY3JlZW5J
c0FsbG93ZWRCeUFsbE93bmVycygpIGNvbnN0OyBPVkVSUklERQogI2VuZGlmCiAKICAgICB2aXJ0
dWFsIGJvb2wgY2FuQ29udGFpblJhbmdlRW5kUG9pbnQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVPd25lckVsZW1lbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1lT3duZXJFbGVtZW50LmgKaW5kZXggNWUy
NDI2YTdkOWU2ZTYzZGEzODY2YmIzOTJkY2FmMDMyNjU0YjgxMC4uOWUzNDUyNjU3MmQwOTA1YmZh
MWVmZTViYTEwMTA4YjU0MmQ4NmZkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MRnJhbWVPd25lckVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGcmFt
ZU93bmVyRWxlbWVudC5oCkBAIC01Niw2ICs1NiwxMCBAQCBwdWJsaWM6CiAgICAgU2FuZGJveEZs
YWdzIHNhbmRib3hGbGFncygpIGNvbnN0IHsgcmV0dXJuIG1fc2FuZGJveEZsYWdzOyB9CiAgICAg
dm9pZCBkaXNjb25uZWN0Q29udGVudEZyYW1lKCk7CiAKKyNpZiBFTkFCTEUoRlVMTFNDUkVFTl9B
UEkpCisgICAgdmlydHVhbCBib29sIGZ1bGxzY3JlZW5Jc0FsbG93ZWRCeUFsbE93bmVycygpIGNv
bnN0IHsgcmV0dXJuIGZhbHNlOyB9CisjZW5kaWYKKwogcHJvdGVjdGVkOgogICAgIEhUTUxGcmFt
ZU93bmVyRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCopOwog
ICAgIHZvaWQgc2V0U2FuZGJveEZsYWdzKFNhbmRib3hGbGFncyk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNmU3YzE2ZGI2
NDdmODRhNGFhOWM5NzFmODE4MzI4MjdlYjg0ZWZlMC4uMGE3OWNhOTVjYmI3ZTU3YTYwNTdmYTNh
MDkxNzE3MzMxNGI5ZDA5NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTA3LTE3ICBWaW5j
ZW50IFNjaGVpYiAgPHNjaGVpYkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgVW5pZnkgYWxsb3dm
dWxsc2NyZWVuIGxvZ2ljIGluIERvY3VtZW50Ojp3ZWJraXRGdWxsU2NyZWVuRW5hYmxlZCBhbmQg
ZnVsbFNjcmVlbklzQWxsb3dlZEZvckVsZW1lbnQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MTQ0OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFVuaWZpZXMgcmVkdW5kYW50IHRyYXZlcnNhbCBsb2dpYyBh
bmQgc3RhdGljIGNhc3QgcHJldmlvdXNseSB1c2VkCisgICAgICAgIHRvIGRldGVybWluZSBpZiBh
biBlbGVtZW50IG9yIGRvY3VtZW50IGNhbiBiZSBtYWRlIGZ1bGxzY3JlZW4uCisgICAgICAgIFRo
aXMgY2xlYW4gdXAgcHJlcGFyZXMgZm9yIHBvaW50ZXIgbG9jaywgd2hpY2ggd2lsbCB1c2UgdGhl
IHNhbWUgbG9naWMuCisKKyAgICAgICAgQWRkZWQgYSB0ZXN0IHRvIGRldGVjdCBhbiBlZGdlIGNh
c2Ugb2YgYW4gb3duaW5nIGRvY3VtZW50IHdpdGgKKyAgICAgICAgZnVsbHNjcmVlbiBwZXJtaXNp
b24gbW92aW5nIGFuIGlmcmFtZSB0byBmdWxsc2NyZWVuLCB3aGlsZSB0aGF0IGlmcmFtZQorICAg
ICAgICBkb2VzIG5vdCBoYXZlIHBlcm1pc2lvbiBmb3IgaXRzIGNvbnRlbnRzIHRvIGJlIG1hZGUg
ZnVsbHNjcmVlbi4KKworICAgICAgICAqIGZ1bGxzY3JlZW4vZnVsbC1zY3JlZW4taWZyYW1lLXdp
dGhvdXQtYWxsb3ctYXR0cmlidXRlLWFsbG93ZWQtZnJvbS1wYXJlbnQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBmdWxsc2NyZWVuL2Z1bGwtc2NyZWVuLWlmcmFtZS13aXRob3V0LWFs
bG93LWF0dHJpYnV0ZS1hbGxvd2VkLWZyb20tcGFyZW50Lmh0bWw6IEFkZGVkLgorCiAyMDEyLTA3
LTE3ICBUb255IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdl
ZCBnYXJkZW5pbmcuICBSZW1vdmUgdGVzdHMgdGhhdCBoYXZlIGJlZW4gcGFzc2luZyBjb25zaXN0
ZW50bHkgYWNjb3JkaW5nIHRvIHRoZSBmbGFraW5lc3MgZGFzaGJvYXJkLgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZnVsbHNjcmVlbi9mdWxsLXNjcmVlbi1pZnJhbWUtd2l0aG91dC1hbGxvdy1h
dHRyaWJ1dGUtYWxsb3dlZC1mcm9tLXBhcmVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9m
dWxsc2NyZWVuL2Z1bGwtc2NyZWVuLWlmcmFtZS13aXRob3V0LWFsbG93LWF0dHJpYnV0ZS1hbGxv
d2VkLWZyb20tcGFyZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNjM0M2E1OGJmN2UyMGM2
Y2MxOTUzOTllNjhmZDdjZjY1MmM4ZWZjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZnVsbHNjcmVlbi9mdWxsLXNjcmVlbi1pZnJhbWUtd2l0aG91dC1hbGxvdy1hdHRyaWJ1dGUtYWxs
b3dlZC1mcm9tLXBhcmVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorVGVzdCBlbnRl
cmluZyBmdWxsIHNjcmVlbiBzZWN1cml0eSByZXN0cmljdGlvbnMuIEFuIGlmcmFtZSB3aXRob3V0
IGFuIGFsbG93IGF0dHJpYnV0ZSBpcyBzdGlsbCBwZXJtaXR0ZWQgdG8gZnVsbHNjcmVlbiBpZiB0
aGUgcmVxdWVzdCBjb21lcyBmcm9tIHRoZSBjb250YWluaW5nIGRvY3VtZW50LgorCitUbyB0ZXN0
IG1hbnVhbGx5LCBwcmVzcyBhbnkga2V5IC0gdGhlIHBhZ2Ugc2hvdWxkIGVudGVyIGZ1bGwgc2Ny
ZWVuIG1vZGUuCisKK1RFU1QoZG9jdW1lbnQud2Via2l0RnVsbHNjcmVlbkVuYWJsZWQpIE9LCitp
ZnJhbWUncyB3ZWJraXRGdWxsc2NyZWVuRW5hYmxlZCBzaG91bGQgYmUgZmFsc2U6CitURVNUKGlm
cmFtZU1lc3NhZ2UgPT0gJ2RvY3VtZW50LndlYmtpdEZ1bGxzY3JlZW5FbmFibGVkID09IGZhbHNl
JykgT0sKK0VWRU5UKHdlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UpCitTVUNDRUVEIC0gZW50ZXJlZCBm
dWxsIHNjcmVlbiEKK0VORCBPRiBURVNUCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Z1bGxz
Y3JlZW4vZnVsbC1zY3JlZW4taWZyYW1lLXdpdGhvdXQtYWxsb3ctYXR0cmlidXRlLWFsbG93ZWQt
ZnJvbS1wYXJlbnQuaHRtbCBiL0xheW91dFRlc3RzL2Z1bGxzY3JlZW4vZnVsbC1zY3JlZW4taWZy
YW1lLXdpdGhvdXQtYWxsb3ctYXR0cmlidXRlLWFsbG93ZWQtZnJvbS1wYXJlbnQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi40YWE5MmMzMGU1NzMxYjA0NTdjNjU4ZTUxMjE4NjIzYzUzOGRkMjZhCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZnVsbHNjcmVlbi9mdWxsLXNjcmVlbi1pZnJhbWUtd2l0
aG91dC1hbGxvdy1hdHRyaWJ1dGUtYWxsb3dlZC1mcm9tLXBhcmVudC5odG1sCkBAIC0wLDAgKzEs
MzUgQEAKKzxwPlRlc3QgZW50ZXJpbmcgZnVsbCBzY3JlZW4gc2VjdXJpdHkgcmVzdHJpY3Rpb25z
LiBBbiBpZnJhbWUgd2l0aG91dCBhbiBhbGxvdyBhdHRyaWJ1dGUKK2lzIHN0aWxsIHBlcm1pdHRl
ZCB0byBmdWxsc2NyZWVuIGlmIHRoZSByZXF1ZXN0IGNvbWVzIGZyb20gdGhlIGNvbnRhaW5pbmcg
ZG9jdW1lbnQuPC9wPgorPHA+VG8gdGVzdCBtYW51YWxseSwgcHJlc3MgYW55IGtleSAtIHRoZSBw
YWdlIHNob3VsZCBlbnRlciBmdWxsIHNjcmVlbiBtb2RlLjwvcD4KKzxzY3JpcHQgc3JjPSJmdWxs
LXNjcmVlbi10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Cit3aW5kb3cub25tZXNzYWdlID0g
ZnVuY3Rpb24gKGUpIHsKKyAgICBmcmFtZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmcmFt
ZScpOworCisgICAgdGVzdCgiZG9jdW1lbnQud2Via2l0RnVsbHNjcmVlbkVuYWJsZWQiKTsKKyAg
ICBjb25zb2xlV3JpdGUoImlmcmFtZSdzIHdlYmtpdEZ1bGxzY3JlZW5FbmFibGVkIHNob3VsZCBi
ZSBmYWxzZToiKTsKKyAgICBpZnJhbWVNZXNzYWdlID0gZS5kYXRhOworICAgIHRlc3QoImlmcmFt
ZU1lc3NhZ2UgPT0gJ2RvY3VtZW50LndlYmtpdEZ1bGxzY3JlZW5FbmFibGVkID09IGZhbHNlJyIp
OworCisgICAgd2FpdEZvckV2ZW50KGRvY3VtZW50LCAnd2Via2l0ZnVsbHNjcmVlbmNoYW5nZScs
IGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgY29uc29sZVdyaXRlKCJTVUNDRUVEIC0gZW50ZXJl
ZCBmdWxsIHNjcmVlbiEiKTsKKyAgICAgICAgICAgIGVuZFRlc3QoKTsKKyAgICB9KTsKKworICAg
IHJ1bldpdGhLZXlEb3duKGZ1bmN0aW9uKCkgeworICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9u
KCkgeworICAgICAgICAgICAgY29uc29sZVdyaXRlKCJGQUlMIC0gZGlkIG5vdCBlbnRlciBmdWxs
IHNjcmVlbiEiKTsKKyAgICAgICAgICAgIGVuZFRlc3QoKTsKKyAgICAgICAgfSwgNTApOworICAg
ICAgICBmcmFtZS53ZWJraXRSZXF1ZXN0RnVsbFNjcmVlbigpOworICAgIH0pOworfQorPC9zY3Jp
cHQ+Cis8aWZyYW1lIGlkPSJmcmFtZSIgc3JjPSdkYXRhOnRleHQvaHRtbCwKKyAgICBpZnJhbWUK
KyAgICA8c2NyaXB0PgorICAgICAgICBwYXJlbnQucG9zdE1lc3NhZ2UoImRvY3VtZW50LndlYmtp
dEZ1bGxzY3JlZW5FbmFibGVkID09ICIgKyBkb2N1bWVudC53ZWJraXRGdWxsc2NyZWVuRW5hYmxl
ZCwgIioiKTsKKyAgICA8L3NjcmlwdD4KKyAgICAnPgorPC9pZnJhbWU+CisK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>152830</attachid>
            <date>2012-07-17 14:23:33 -0700</date>
            <delta_ts>2012-07-17 16:37:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-91448-20120717142333.patch</filename>
            <type>text/plain</type>
            <size>9279</size>
            <attacher name="Vincent Scheib">scheib</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyODU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGYyMGFjNzQ5YzU1ODgz
OGNiOWZkYTNjMTE0ZTVkN2ViYTYyYmM0OC4uOGYzMjY5ODRlYWFhMGE0ZGM4M2VmMGU3OGM4MmFh
MTE2NzgyMzY2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEyLTA3LTE3ICBWaW5j
ZW50IFNjaGVpYiAgPHNjaGVpYkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgVW5pZnkgYWxsb3dm
dWxsc2NyZWVuIGxvZ2ljIGluIERvY3VtZW50Ojp3ZWJraXRGdWxsU2NyZWVuRW5hYmxlZCBhbmQg
ZnVsbFNjcmVlbklzQWxsb3dlZEZvckVsZW1lbnQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MTQ0OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFVuaWZpZXMgcmVkdW5kYW50IHRyYXZlcnNhbCBsb2dpYyBh
bmQgc3RhdGljIGNhc3QgcHJldmlvdXNseSB1c2VkCisgICAgICAgIHRvIGRldGVybWluZSBpZiBh
biBlbGVtZW50IG9yIGRvY3VtZW50IGNhbiBiZSBtYWRlIGZ1bGxzY3JlZW4uCisgICAgICAgIFRo
aXMgY2xlYW4gdXAgcHJlcGFyZXMgZm9yIHBvaW50ZXIgbG9jaywgd2hpY2ggd2lsbCB1c2UgdGhl
IHNhbWUgbG9naWMuCisKKyAgICAgICAgQWRkZWQgYSB0ZXN0IHRvIGRldGVjdCBhbiBlZGdlIGNh
c2Ugb2YgYW4gb3duaW5nIGRvY3VtZW50IHdpdGgKKyAgICAgICAgZnVsbHNjcmVlbiBwZXJtaXNp
b24gbW92aW5nIGFuIGlmcmFtZSB0byBmdWxsc2NyZWVuLCB3aGlsZSB0aGF0IGlmcmFtZQorICAg
ICAgICBkb2VzIG5vdCBoYXZlIHBlcm1pc2lvbiBmb3IgaXRzIGNvbnRlbnRzIHRvIGJlIG1hZGUg
ZnVsbHNjcmVlbi4KKworICAgICAgICBUZXN0OiBmdWxsc2NyZWVuL2Z1bGwtc2NyZWVuLWlmcmFt
ZS13aXRob3V0LWFsbG93LWF0dHJpYnV0ZS1hbGxvd2VkLWZyb20tcGFyZW50Lmh0bWwKKworICAg
ICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6ZnVs
bFNjcmVlbklzQWxsb3dlZEZvckVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6
OndlYmtpdEZ1bGxzY3JlZW5FbmFibGVkKToKKyAgICAgICAgKiBodG1sL0hUTUxGcmFtZUVsZW1l
bnRCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxGcmFtZUVsZW1lbnRCYXNlOjpmdWxs
c2NyZWVuSXNBbGxvd2VkQnlBbGxPd25lcnMpOgorICAgICAgICAqIGh0bWwvSFRNTEZyYW1lRWxl
bWVudEJhc2UuaDoKKyAgICAgICAgKEhUTUxGcmFtZUVsZW1lbnRCYXNlKToKKyAgICAgICAgKiBo
dG1sL0hUTUxGcmFtZU93bmVyRWxlbWVudC5oOgorICAgICAgICAoSFRNTEZyYW1lT3duZXJFbGVt
ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxGcmFtZU93bmVyRWxlbWVudDo6ZnVsbHNjcmVl
bklzQWxsb3dlZEJ5QWxsT3duZXJzKToKKwogMjAxMi0wNy0xNyAgSGFucyBNdWxsZXIgIDxobXVs
bGVyQGFkb2JlLmNvbT4KIAogICAgICAgICBSZW5hbWUgQ1NTIEV4Y2x1c2lvbnMgQ1NTV3JhcFNo
YXBlIGNsYXNzIHByb3BlcnRpZXMgdG8gbWF0Y2ggRXhjbHVzaW9uIHNoYXBlIGZ1bmN0aW9uIHBh
cmFtZXRlcnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDcyNGYxMWQ4NThmOWRmMTMzM2Y4
NTE1ZjhkNjgyNDA3NDIwMDc4ODMuLmIxNjZhNzc2YmQyMTgxZWZmNDhkYjU4N2Q2MTVhYzAzYzU3
NDdhOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtNTM2NSwxNSArNTM2NSwxMCBAQCBN
ZWRpYUNhblN0YXJ0TGlzdGVuZXIqIERvY3VtZW50Ojp0YWtlQW55TWVkaWFDYW5TdGFydExpc3Rl
bmVyKCkKIGJvb2wgRG9jdW1lbnQ6OmZ1bGxTY3JlZW5Jc0FsbG93ZWRGb3JFbGVtZW50KEVsZW1l
bnQqIGVsZW1lbnQpIGNvbnN0CiB7CiAgICAgQVNTRVJUKGVsZW1lbnQpOwotICAgIHdoaWxlIChI
VE1MRnJhbWVPd25lckVsZW1lbnQqIG93bmVyRWxlbWVudCA9IGVsZW1lbnQtPmRvY3VtZW50KCkt
Pm93bmVyRWxlbWVudCgpKSB7Ci0gICAgICAgIGlmICghb3duZXJFbGVtZW50LT5pc0ZyYW1lRWxl
bWVudEJhc2UoKSkKLSAgICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAgIGlmICghc3RhdGlj
X2Nhc3Q8SFRNTEZyYW1lRWxlbWVudEJhc2UqPihvd25lckVsZW1lbnQpLT5hbGxvd0Z1bGxTY3Jl
ZW4oKSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgZWxlbWVudCA9IG93bmVy
RWxlbWVudDsKLSAgICB9Ci0gICAgcmV0dXJuIHRydWU7CisgICAgSFRNTEZyYW1lT3duZXJFbGVt
ZW50KiBvd25lciA9IGVsZW1lbnQtPmRvY3VtZW50KCktPm93bmVyRWxlbWVudCgpOworICAgIGlm
ICghb3duZXIpCisgICAgICAgIHJldHVybiB0cnVlOworICAgIHJldHVybiBvd25lci0+ZnVsbHNj
cmVlbklzQWxsb3dlZEJ5QWxsT3duZXJzKCk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OnJlcXVlc3RG
dWxsU2NyZWVuRm9yRWxlbWVudChFbGVtZW50KiBlbGVtZW50LCB1bnNpZ25lZCBzaG9ydCBmbGFn
cywgRnVsbFNjcmVlbkNoZWNrVHlwZSBjaGVja1R5cGUpCkBAIC01NTg1LDE2ICs1NTgwLDcgQEAg
Ym9vbCBEb2N1bWVudDo6d2Via2l0RnVsbHNjcmVlbkVuYWJsZWQoKSBjb25zdAogICAgIEhUTUxG
cmFtZU93bmVyRWxlbWVudCogb3duZXIgPSBvd25lckVsZW1lbnQoKTsKICAgICBpZiAoIW93bmVy
KQogICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIGRvIHsKLSAgICAgICAgaWYgKCFvd25lci0+
aXNGcmFtZUVsZW1lbnRCYXNlKCkpCi0gICAgICAgICAgICBjb250aW51ZTsKLQotICAgICAgICBp
ZiAoIXN0YXRpY19jYXN0PEhUTUxGcmFtZUVsZW1lbnRCYXNlKj4ob3duZXIpLT5hbGxvd0Z1bGxT
Y3JlZW4oKSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9IHdoaWxlICgob3duZXIg
PSBvd25lci0+ZG9jdW1lbnQoKS0+b3duZXJFbGVtZW50KCkpKTsKLQotICAgIHJldHVybiB0cnVl
OyAgICAgICAgCisgICAgcmV0dXJuIG93bmVyLT5mdWxsc2NyZWVuSXNBbGxvd2VkQnlBbGxPd25l
cnMoKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6d2Via2l0V2lsbEVudGVyRnVsbFNjcmVlbkZvckVs
ZW1lbnQoRWxlbWVudCogZWxlbWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEZyYW1lRWxlbWVudEJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVF
bGVtZW50QmFzZS5jcHAKaW5kZXggMTZjZjM2MDUxZTg5ZTEyNmVkODYxMTYxNDZhZjJmYzA5NjZk
MWNhZC4uNDk2ODgyZTk1NDIwNDZjNjE2MDM5Y2IwYzdhODkyNTA0ZWE5YTQzYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVFbGVtZW50QmFzZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVFbGVtZW50QmFzZS5jcHAKQEAgLTI0Nyw5ICsyNDcs
MTEgQEAgaW50IEhUTUxGcmFtZUVsZW1lbnRCYXNlOjpoZWlnaHQoKQogfQogCiAjaWYgRU5BQkxF
KEZVTExTQ1JFRU5fQVBJKQotYm9vbCBIVE1MRnJhbWVFbGVtZW50QmFzZTo6YWxsb3dGdWxsU2Ny
ZWVuKCkgY29uc3QKK2Jvb2wgSFRNTEZyYW1lRWxlbWVudEJhc2U6OmZ1bGxzY3JlZW5Jc0FsbG93
ZWRCeUFsbE93bmVycygpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGhhc0F0dHJpYnV0ZSh3ZWJraXRh
bGxvd2Z1bGxzY3JlZW5BdHRyKTsKKyAgICBIVE1MRnJhbWVPd25lckVsZW1lbnQqIG93bmVyID0g
ZG9jdW1lbnQoKS0+b3duZXJFbGVtZW50KCk7CisgICAgcmV0dXJuIChoYXNBdHRyaWJ1dGUod2Vi
a2l0YWxsb3dmdWxsc2NyZWVuQXR0cikgfHwgIWlzRnJhbWVFbGVtZW50QmFzZSgpKQorICAgICAg
ICAmJiAoIW93bmVyIHx8IG93bmVyLT5mdWxsc2NyZWVuSXNBbGxvd2VkQnlBbGxPd25lcnMoKSk7
CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVF
bGVtZW50QmFzZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVFbGVtZW50QmFzZS5o
CmluZGV4IDExZGM5NGQzZGI2NDc1ZTlkNDkwYmFjNDA1MzE3Zjk4NDZiNWI4NjAuLjIwMGE2YWU3
YTU4OWM0NWNjMjg1ZTgwYjRmZDQyNDE0ZDExMzUyMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEZyYW1lRWxlbWVudEJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxGcmFtZUVsZW1lbnRCYXNlLmgKQEAgLTQzLDcgKzQzLDcgQEAgcHVibGljOgogICAgIGlu
dCBoZWlnaHQoKTsKIAogI2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKLSAgICB2aXJ0dWFsIGJv
b2wgYWxsb3dGdWxsU2NyZWVuKCkgY29uc3Q7CisgICAgdmlydHVhbCBib29sIGZ1bGxzY3JlZW5J
c0FsbG93ZWRCeUFsbE93bmVycygpIGNvbnN0IE9WRVJSSURFOwogI2VuZGlmCiAKICAgICB2aXJ0
dWFsIGJvb2wgY2FuQ29udGFpblJhbmdlRW5kUG9pbnQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVPd25lckVsZW1lbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1lT3duZXJFbGVtZW50LmgKaW5kZXggNWUy
NDI2YTdkOWU2ZTYzZGEzODY2YmIzOTJkY2FmMDMyNjU0YjgxMC4uOWUzNDUyNjU3MmQwOTA1YmZh
MWVmZTViYTEwMTA4YjU0MmQ4NmZkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MRnJhbWVPd25lckVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGcmFt
ZU93bmVyRWxlbWVudC5oCkBAIC01Niw2ICs1NiwxMCBAQCBwdWJsaWM6CiAgICAgU2FuZGJveEZs
YWdzIHNhbmRib3hGbGFncygpIGNvbnN0IHsgcmV0dXJuIG1fc2FuZGJveEZsYWdzOyB9CiAgICAg
dm9pZCBkaXNjb25uZWN0Q29udGVudEZyYW1lKCk7CiAKKyNpZiBFTkFCTEUoRlVMTFNDUkVFTl9B
UEkpCisgICAgdmlydHVhbCBib29sIGZ1bGxzY3JlZW5Jc0FsbG93ZWRCeUFsbE93bmVycygpIGNv
bnN0IHsgcmV0dXJuIGZhbHNlOyB9CisjZW5kaWYKKwogcHJvdGVjdGVkOgogICAgIEhUTUxGcmFt
ZU93bmVyRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCopOwog
ICAgIHZvaWQgc2V0U2FuZGJveEZsYWdzKFNhbmRib3hGbGFncyk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNmU3YzE2ZGI2
NDdmODRhNGFhOWM5NzFmODE4MzI4MjdlYjg0ZWZlMC4uMGE3OWNhOTVjYmI3ZTU3YTYwNTdmYTNh
MDkxNzE3MzMxNGI5ZDA5NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTA3LTE3ICBWaW5j
ZW50IFNjaGVpYiAgPHNjaGVpYkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgVW5pZnkgYWxsb3dm
dWxsc2NyZWVuIGxvZ2ljIGluIERvY3VtZW50Ojp3ZWJraXRGdWxsU2NyZWVuRW5hYmxlZCBhbmQg
ZnVsbFNjcmVlbklzQWxsb3dlZEZvckVsZW1lbnQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MTQ0OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFVuaWZpZXMgcmVkdW5kYW50IHRyYXZlcnNhbCBsb2dpYyBh
bmQgc3RhdGljIGNhc3QgcHJldmlvdXNseSB1c2VkCisgICAgICAgIHRvIGRldGVybWluZSBpZiBh
biBlbGVtZW50IG9yIGRvY3VtZW50IGNhbiBiZSBtYWRlIGZ1bGxzY3JlZW4uCisgICAgICAgIFRo
aXMgY2xlYW4gdXAgcHJlcGFyZXMgZm9yIHBvaW50ZXIgbG9jaywgd2hpY2ggd2lsbCB1c2UgdGhl
IHNhbWUgbG9naWMuCisKKyAgICAgICAgQWRkZWQgYSB0ZXN0IHRvIGRldGVjdCBhbiBlZGdlIGNh
c2Ugb2YgYW4gb3duaW5nIGRvY3VtZW50IHdpdGgKKyAgICAgICAgZnVsbHNjcmVlbiBwZXJtaXNp
b24gbW92aW5nIGFuIGlmcmFtZSB0byBmdWxsc2NyZWVuLCB3aGlsZSB0aGF0IGlmcmFtZQorICAg
ICAgICBkb2VzIG5vdCBoYXZlIHBlcm1pc2lvbiBmb3IgaXRzIGNvbnRlbnRzIHRvIGJlIG1hZGUg
ZnVsbHNjcmVlbi4KKworICAgICAgICAqIGZ1bGxzY3JlZW4vZnVsbC1zY3JlZW4taWZyYW1lLXdp
dGhvdXQtYWxsb3ctYXR0cmlidXRlLWFsbG93ZWQtZnJvbS1wYXJlbnQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBmdWxsc2NyZWVuL2Z1bGwtc2NyZWVuLWlmcmFtZS13aXRob3V0LWFs
bG93LWF0dHJpYnV0ZS1hbGxvd2VkLWZyb20tcGFyZW50Lmh0bWw6IEFkZGVkLgorCiAyMDEyLTA3
LTE3ICBUb255IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdl
ZCBnYXJkZW5pbmcuICBSZW1vdmUgdGVzdHMgdGhhdCBoYXZlIGJlZW4gcGFzc2luZyBjb25zaXN0
ZW50bHkgYWNjb3JkaW5nIHRvIHRoZSBmbGFraW5lc3MgZGFzaGJvYXJkLgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZnVsbHNjcmVlbi9mdWxsLXNjcmVlbi1pZnJhbWUtd2l0aG91dC1hbGxvdy1h
dHRyaWJ1dGUtYWxsb3dlZC1mcm9tLXBhcmVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9m
dWxsc2NyZWVuL2Z1bGwtc2NyZWVuLWlmcmFtZS13aXRob3V0LWFsbG93LWF0dHJpYnV0ZS1hbGxv
d2VkLWZyb20tcGFyZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNjM0M2E1OGJmN2UyMGM2
Y2MxOTUzOTllNjhmZDdjZjY1MmM4ZWZjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZnVsbHNjcmVlbi9mdWxsLXNjcmVlbi1pZnJhbWUtd2l0aG91dC1hbGxvdy1hdHRyaWJ1dGUtYWxs
b3dlZC1mcm9tLXBhcmVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorVGVzdCBlbnRl
cmluZyBmdWxsIHNjcmVlbiBzZWN1cml0eSByZXN0cmljdGlvbnMuIEFuIGlmcmFtZSB3aXRob3V0
IGFuIGFsbG93IGF0dHJpYnV0ZSBpcyBzdGlsbCBwZXJtaXR0ZWQgdG8gZnVsbHNjcmVlbiBpZiB0
aGUgcmVxdWVzdCBjb21lcyBmcm9tIHRoZSBjb250YWluaW5nIGRvY3VtZW50LgorCitUbyB0ZXN0
IG1hbnVhbGx5LCBwcmVzcyBhbnkga2V5IC0gdGhlIHBhZ2Ugc2hvdWxkIGVudGVyIGZ1bGwgc2Ny
ZWVuIG1vZGUuCisKK1RFU1QoZG9jdW1lbnQud2Via2l0RnVsbHNjcmVlbkVuYWJsZWQpIE9LCitp
ZnJhbWUncyB3ZWJraXRGdWxsc2NyZWVuRW5hYmxlZCBzaG91bGQgYmUgZmFsc2U6CitURVNUKGlm
cmFtZU1lc3NhZ2UgPT0gJ2RvY3VtZW50LndlYmtpdEZ1bGxzY3JlZW5FbmFibGVkID09IGZhbHNl
JykgT0sKK0VWRU5UKHdlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UpCitTVUNDRUVEIC0gZW50ZXJlZCBm
dWxsIHNjcmVlbiEKK0VORCBPRiBURVNUCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Z1bGxz
Y3JlZW4vZnVsbC1zY3JlZW4taWZyYW1lLXdpdGhvdXQtYWxsb3ctYXR0cmlidXRlLWFsbG93ZWQt
ZnJvbS1wYXJlbnQuaHRtbCBiL0xheW91dFRlc3RzL2Z1bGxzY3JlZW4vZnVsbC1zY3JlZW4taWZy
YW1lLXdpdGhvdXQtYWxsb3ctYXR0cmlidXRlLWFsbG93ZWQtZnJvbS1wYXJlbnQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi40YWE5MmMzMGU1NzMxYjA0NTdjNjU4ZTUxMjE4NjIzYzUzOGRkMjZhCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZnVsbHNjcmVlbi9mdWxsLXNjcmVlbi1pZnJhbWUtd2l0
aG91dC1hbGxvdy1hdHRyaWJ1dGUtYWxsb3dlZC1mcm9tLXBhcmVudC5odG1sCkBAIC0wLDAgKzEs
MzUgQEAKKzxwPlRlc3QgZW50ZXJpbmcgZnVsbCBzY3JlZW4gc2VjdXJpdHkgcmVzdHJpY3Rpb25z
LiBBbiBpZnJhbWUgd2l0aG91dCBhbiBhbGxvdyBhdHRyaWJ1dGUKK2lzIHN0aWxsIHBlcm1pdHRl
ZCB0byBmdWxsc2NyZWVuIGlmIHRoZSByZXF1ZXN0IGNvbWVzIGZyb20gdGhlIGNvbnRhaW5pbmcg
ZG9jdW1lbnQuPC9wPgorPHA+VG8gdGVzdCBtYW51YWxseSwgcHJlc3MgYW55IGtleSAtIHRoZSBw
YWdlIHNob3VsZCBlbnRlciBmdWxsIHNjcmVlbiBtb2RlLjwvcD4KKzxzY3JpcHQgc3JjPSJmdWxs
LXNjcmVlbi10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Cit3aW5kb3cub25tZXNzYWdlID0g
ZnVuY3Rpb24gKGUpIHsKKyAgICBmcmFtZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmcmFt
ZScpOworCisgICAgdGVzdCgiZG9jdW1lbnQud2Via2l0RnVsbHNjcmVlbkVuYWJsZWQiKTsKKyAg
ICBjb25zb2xlV3JpdGUoImlmcmFtZSdzIHdlYmtpdEZ1bGxzY3JlZW5FbmFibGVkIHNob3VsZCBi
ZSBmYWxzZToiKTsKKyAgICBpZnJhbWVNZXNzYWdlID0gZS5kYXRhOworICAgIHRlc3QoImlmcmFt
ZU1lc3NhZ2UgPT0gJ2RvY3VtZW50LndlYmtpdEZ1bGxzY3JlZW5FbmFibGVkID09IGZhbHNlJyIp
OworCisgICAgd2FpdEZvckV2ZW50KGRvY3VtZW50LCAnd2Via2l0ZnVsbHNjcmVlbmNoYW5nZScs
IGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgY29uc29sZVdyaXRlKCJTVUNDRUVEIC0gZW50ZXJl
ZCBmdWxsIHNjcmVlbiEiKTsKKyAgICAgICAgICAgIGVuZFRlc3QoKTsKKyAgICB9KTsKKworICAg
IHJ1bldpdGhLZXlEb3duKGZ1bmN0aW9uKCkgeworICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9u
KCkgeworICAgICAgICAgICAgY29uc29sZVdyaXRlKCJGQUlMIC0gZGlkIG5vdCBlbnRlciBmdWxs
IHNjcmVlbiEiKTsKKyAgICAgICAgICAgIGVuZFRlc3QoKTsKKyAgICAgICAgfSwgNTApOworICAg
ICAgICBmcmFtZS53ZWJraXRSZXF1ZXN0RnVsbFNjcmVlbigpOworICAgIH0pOworfQorPC9zY3Jp
cHQ+Cis8aWZyYW1lIGlkPSJmcmFtZSIgc3JjPSdkYXRhOnRleHQvaHRtbCwKKyAgICBpZnJhbWUK
KyAgICA8c2NyaXB0PgorICAgICAgICBwYXJlbnQucG9zdE1lc3NhZ2UoImRvY3VtZW50LndlYmtp
dEZ1bGxzY3JlZW5FbmFibGVkID09ICIgKyBkb2N1bWVudC53ZWJraXRGdWxsc2NyZWVuRW5hYmxl
ZCwgIioiKTsKKyAgICA8L3NjcmlwdD4KKyAgICAnPgorPC9pZnJhbWU+CisK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>152872</attachid>
            <date>2012-07-17 16:37:21 -0700</date>
            <delta_ts>2012-07-18 10:30:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-91448-20120717163720.patch</filename>
            <type>text/plain</type>
            <size>9243</size>
            <attacher name="Vincent Scheib">scheib</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyODU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGYyMGFjNzQ5YzU1ODgz
OGNiOWZkYTNjMTE0ZTVkN2ViYTYyYmM0OC4uOGYzMjY5ODRlYWFhMGE0ZGM4M2VmMGU3OGM4MmFh
MTE2NzgyMzY2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEyLTA3LTE3ICBWaW5j
ZW50IFNjaGVpYiAgPHNjaGVpYkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgVW5pZnkgYWxsb3dm
dWxsc2NyZWVuIGxvZ2ljIGluIERvY3VtZW50Ojp3ZWJraXRGdWxsU2NyZWVuRW5hYmxlZCBhbmQg
ZnVsbFNjcmVlbklzQWxsb3dlZEZvckVsZW1lbnQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MTQ0OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFVuaWZpZXMgcmVkdW5kYW50IHRyYXZlcnNhbCBsb2dpYyBh
bmQgc3RhdGljIGNhc3QgcHJldmlvdXNseSB1c2VkCisgICAgICAgIHRvIGRldGVybWluZSBpZiBh
biBlbGVtZW50IG9yIGRvY3VtZW50IGNhbiBiZSBtYWRlIGZ1bGxzY3JlZW4uCisgICAgICAgIFRo
aXMgY2xlYW4gdXAgcHJlcGFyZXMgZm9yIHBvaW50ZXIgbG9jaywgd2hpY2ggd2lsbCB1c2UgdGhl
IHNhbWUgbG9naWMuCisKKyAgICAgICAgQWRkZWQgYSB0ZXN0IHRvIGRldGVjdCBhbiBlZGdlIGNh
c2Ugb2YgYW4gb3duaW5nIGRvY3VtZW50IHdpdGgKKyAgICAgICAgZnVsbHNjcmVlbiBwZXJtaXNp
b24gbW92aW5nIGFuIGlmcmFtZSB0byBmdWxsc2NyZWVuLCB3aGlsZSB0aGF0IGlmcmFtZQorICAg
ICAgICBkb2VzIG5vdCBoYXZlIHBlcm1pc2lvbiBmb3IgaXRzIGNvbnRlbnRzIHRvIGJlIG1hZGUg
ZnVsbHNjcmVlbi4KKworICAgICAgICBUZXN0OiBmdWxsc2NyZWVuL2Z1bGwtc2NyZWVuLWlmcmFt
ZS13aXRob3V0LWFsbG93LWF0dHJpYnV0ZS1hbGxvd2VkLWZyb20tcGFyZW50Lmh0bWwKKworICAg
ICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6ZnVs
bFNjcmVlbklzQWxsb3dlZEZvckVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6
OndlYmtpdEZ1bGxzY3JlZW5FbmFibGVkKToKKyAgICAgICAgKiBodG1sL0hUTUxGcmFtZUVsZW1l
bnRCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxGcmFtZUVsZW1lbnRCYXNlOjpmdWxs
c2NyZWVuSXNBbGxvd2VkQnlBbGxPd25lcnMpOgorICAgICAgICAqIGh0bWwvSFRNTEZyYW1lRWxl
bWVudEJhc2UuaDoKKyAgICAgICAgKEhUTUxGcmFtZUVsZW1lbnRCYXNlKToKKyAgICAgICAgKiBo
dG1sL0hUTUxGcmFtZU93bmVyRWxlbWVudC5oOgorICAgICAgICAoSFRNTEZyYW1lT3duZXJFbGVt
ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxGcmFtZU93bmVyRWxlbWVudDo6ZnVsbHNjcmVl
bklzQWxsb3dlZEJ5QWxsT3duZXJzKToKKwogMjAxMi0wNy0xNyAgSGFucyBNdWxsZXIgIDxobXVs
bGVyQGFkb2JlLmNvbT4KIAogICAgICAgICBSZW5hbWUgQ1NTIEV4Y2x1c2lvbnMgQ1NTV3JhcFNo
YXBlIGNsYXNzIHByb3BlcnRpZXMgdG8gbWF0Y2ggRXhjbHVzaW9uIHNoYXBlIGZ1bmN0aW9uIHBh
cmFtZXRlcnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDcyNGYxMWQ4NThmOWRmMTMzM2Y4
NTE1ZjhkNjgyNDA3NDIwMDc4ODMuLmIxNjZhNzc2YmQyMTgxZWZmNDhkYjU4N2Q2MTVhYzAzYzU3
NDdhOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtNTM2NSwxNSArNTM2NSwxMCBAQCBN
ZWRpYUNhblN0YXJ0TGlzdGVuZXIqIERvY3VtZW50Ojp0YWtlQW55TWVkaWFDYW5TdGFydExpc3Rl
bmVyKCkKIGJvb2wgRG9jdW1lbnQ6OmZ1bGxTY3JlZW5Jc0FsbG93ZWRGb3JFbGVtZW50KEVsZW1l
bnQqIGVsZW1lbnQpIGNvbnN0CiB7CiAgICAgQVNTRVJUKGVsZW1lbnQpOwotICAgIHdoaWxlIChI
VE1MRnJhbWVPd25lckVsZW1lbnQqIG93bmVyRWxlbWVudCA9IGVsZW1lbnQtPmRvY3VtZW50KCkt
Pm93bmVyRWxlbWVudCgpKSB7Ci0gICAgICAgIGlmICghb3duZXJFbGVtZW50LT5pc0ZyYW1lRWxl
bWVudEJhc2UoKSkKLSAgICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAgIGlmICghc3RhdGlj
X2Nhc3Q8SFRNTEZyYW1lRWxlbWVudEJhc2UqPihvd25lckVsZW1lbnQpLT5hbGxvd0Z1bGxTY3Jl
ZW4oKSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgZWxlbWVudCA9IG93bmVy
RWxlbWVudDsKLSAgICB9Ci0gICAgcmV0dXJuIHRydWU7CisgICAgSFRNTEZyYW1lT3duZXJFbGVt
ZW50KiBvd25lciA9IGVsZW1lbnQtPmRvY3VtZW50KCktPm93bmVyRWxlbWVudCgpOworICAgIGlm
ICghb3duZXIpCisgICAgICAgIHJldHVybiB0cnVlOworICAgIHJldHVybiBvd25lci0+ZnVsbHNj
cmVlbklzQWxsb3dlZEJ5QWxsT3duZXJzKCk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OnJlcXVlc3RG
dWxsU2NyZWVuRm9yRWxlbWVudChFbGVtZW50KiBlbGVtZW50LCB1bnNpZ25lZCBzaG9ydCBmbGFn
cywgRnVsbFNjcmVlbkNoZWNrVHlwZSBjaGVja1R5cGUpCkBAIC01NTg1LDE2ICs1NTgwLDcgQEAg
Ym9vbCBEb2N1bWVudDo6d2Via2l0RnVsbHNjcmVlbkVuYWJsZWQoKSBjb25zdAogICAgIEhUTUxG
cmFtZU93bmVyRWxlbWVudCogb3duZXIgPSBvd25lckVsZW1lbnQoKTsKICAgICBpZiAoIW93bmVy
KQogICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIGRvIHsKLSAgICAgICAgaWYgKCFvd25lci0+
aXNGcmFtZUVsZW1lbnRCYXNlKCkpCi0gICAgICAgICAgICBjb250aW51ZTsKLQotICAgICAgICBp
ZiAoIXN0YXRpY19jYXN0PEhUTUxGcmFtZUVsZW1lbnRCYXNlKj4ob3duZXIpLT5hbGxvd0Z1bGxT
Y3JlZW4oKSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9IHdoaWxlICgob3duZXIg
PSBvd25lci0+ZG9jdW1lbnQoKS0+b3duZXJFbGVtZW50KCkpKTsKLQotICAgIHJldHVybiB0cnVl
OyAgICAgICAgCisgICAgcmV0dXJuIG93bmVyLT5mdWxsc2NyZWVuSXNBbGxvd2VkQnlBbGxPd25l
cnMoKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6d2Via2l0V2lsbEVudGVyRnVsbFNjcmVlbkZvckVs
ZW1lbnQoRWxlbWVudCogZWxlbWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEZyYW1lRWxlbWVudEJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVF
bGVtZW50QmFzZS5jcHAKaW5kZXggMTZjZjM2MDUxZTg5ZTEyNmVkODYxMTYxNDZhZjJmYzA5NjZk
MWNhZC4uZGYyMDhhZGI4ZDgwNzgyOWYyNTc3YzVmN2ZmZGZiZjI5Mjk1NDIyYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVFbGVtZW50QmFzZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVFbGVtZW50QmFzZS5jcHAKQEAgLTI0Nyw5ICsyNDcs
MTAgQEAgaW50IEhUTUxGcmFtZUVsZW1lbnRCYXNlOjpoZWlnaHQoKQogfQogCiAjaWYgRU5BQkxF
KEZVTExTQ1JFRU5fQVBJKQotYm9vbCBIVE1MRnJhbWVFbGVtZW50QmFzZTo6YWxsb3dGdWxsU2Ny
ZWVuKCkgY29uc3QKK2Jvb2wgSFRNTEZyYW1lRWxlbWVudEJhc2U6OmZ1bGxzY3JlZW5Jc0FsbG93
ZWRCeUFsbE93bmVycygpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGhhc0F0dHJpYnV0ZSh3ZWJraXRh
bGxvd2Z1bGxzY3JlZW5BdHRyKTsKKyAgICBIVE1MRnJhbWVPd25lckVsZW1lbnQqIG93bmVyID0g
ZG9jdW1lbnQoKS0+b3duZXJFbGVtZW50KCk7CisgICAgcmV0dXJuIGhhc0F0dHJpYnV0ZSh3ZWJr
aXRhbGxvd2Z1bGxzY3JlZW5BdHRyKSAmJiAoIW93bmVyIHx8IG93bmVyLT5mdWxsc2NyZWVuSXNB
bGxvd2VkQnlBbGxPd25lcnMoKSk7CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MRnJhbWVFbGVtZW50QmFzZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MRnJhbWVFbGVtZW50QmFzZS5oCmluZGV4IDExZGM5NGQzZGI2NDc1ZTlkNDkwYmFjNDA1MzE3
Zjk4NDZiNWI4NjAuLjIwMGE2YWU3YTU4OWM0NWNjMjg1ZTgwYjRmZDQyNDE0ZDExMzUyMTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1lRWxlbWVudEJhc2UuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGcmFtZUVsZW1lbnRCYXNlLmgKQEAgLTQzLDcgKzQz
LDcgQEAgcHVibGljOgogICAgIGludCBoZWlnaHQoKTsKIAogI2lmIEVOQUJMRShGVUxMU0NSRUVO
X0FQSSkKLSAgICB2aXJ0dWFsIGJvb2wgYWxsb3dGdWxsU2NyZWVuKCkgY29uc3Q7CisgICAgdmly
dHVhbCBib29sIGZ1bGxzY3JlZW5Jc0FsbG93ZWRCeUFsbE93bmVycygpIGNvbnN0IE9WRVJSSURF
OwogI2VuZGlmCiAKICAgICB2aXJ0dWFsIGJvb2wgY2FuQ29udGFpblJhbmdlRW5kUG9pbnQoKSBj
b25zdCB7IHJldHVybiBmYWxzZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MRnJhbWVPd25lckVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1lT3du
ZXJFbGVtZW50LmgKaW5kZXggNWUyNDI2YTdkOWU2ZTYzZGEzODY2YmIzOTJkY2FmMDMyNjU0Yjgx
MC4uOWUzNDUyNjU3MmQwOTA1YmZhMWVmZTViYTEwMTA4YjU0MmQ4NmZkMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVPd25lckVsZW1lbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxGcmFtZU93bmVyRWxlbWVudC5oCkBAIC01Niw2ICs1NiwxMCBAQCBw
dWJsaWM6CiAgICAgU2FuZGJveEZsYWdzIHNhbmRib3hGbGFncygpIGNvbnN0IHsgcmV0dXJuIG1f
c2FuZGJveEZsYWdzOyB9CiAgICAgdm9pZCBkaXNjb25uZWN0Q29udGVudEZyYW1lKCk7CiAKKyNp
ZiBFTkFCTEUoRlVMTFNDUkVFTl9BUEkpCisgICAgdmlydHVhbCBib29sIGZ1bGxzY3JlZW5Jc0Fs
bG93ZWRCeUFsbE93bmVycygpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisjZW5kaWYKKwogcHJv
dGVjdGVkOgogICAgIEhUTUxGcmFtZU93bmVyRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0
YWdOYW1lLCBEb2N1bWVudCopOwogICAgIHZvaWQgc2V0U2FuZGJveEZsYWdzKFNhbmRib3hGbGFn
cyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggNmU3YzE2ZGI2NDdmODRhNGFhOWM5NzFmODE4MzI4MjdlYjg0ZWZlMC4uMGE3
OWNhOTVjYmI3ZTU3YTYwNTdmYTNhMDkxNzE3MzMxNGI5ZDA5NyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIx
IEBACisyMDEyLTA3LTE3ICBWaW5jZW50IFNjaGVpYiAgPHNjaGVpYkBjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgVW5pZnkgYWxsb3dmdWxsc2NyZWVuIGxvZ2ljIGluIERvY3VtZW50Ojp3ZWJraXRG
dWxsU2NyZWVuRW5hYmxlZCBhbmQgZnVsbFNjcmVlbklzQWxsb3dlZEZvckVsZW1lbnQuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MTQ0OAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVuaWZpZXMgcmVkdW5k
YW50IHRyYXZlcnNhbCBsb2dpYyBhbmQgc3RhdGljIGNhc3QgcHJldmlvdXNseSB1c2VkCisgICAg
ICAgIHRvIGRldGVybWluZSBpZiBhbiBlbGVtZW50IG9yIGRvY3VtZW50IGNhbiBiZSBtYWRlIGZ1
bGxzY3JlZW4uCisgICAgICAgIFRoaXMgY2xlYW4gdXAgcHJlcGFyZXMgZm9yIHBvaW50ZXIgbG9j
aywgd2hpY2ggd2lsbCB1c2UgdGhlIHNhbWUgbG9naWMuCisKKyAgICAgICAgQWRkZWQgYSB0ZXN0
IHRvIGRldGVjdCBhbiBlZGdlIGNhc2Ugb2YgYW4gb3duaW5nIGRvY3VtZW50IHdpdGgKKyAgICAg
ICAgZnVsbHNjcmVlbiBwZXJtaXNpb24gbW92aW5nIGFuIGlmcmFtZSB0byBmdWxsc2NyZWVuLCB3
aGlsZSB0aGF0IGlmcmFtZQorICAgICAgICBkb2VzIG5vdCBoYXZlIHBlcm1pc2lvbiBmb3IgaXRz
IGNvbnRlbnRzIHRvIGJlIG1hZGUgZnVsbHNjcmVlbi4KKworICAgICAgICAqIGZ1bGxzY3JlZW4v
ZnVsbC1zY3JlZW4taWZyYW1lLXdpdGhvdXQtYWxsb3ctYXR0cmlidXRlLWFsbG93ZWQtZnJvbS1w
YXJlbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmdWxsc2NyZWVuL2Z1bGwtc2Ny
ZWVuLWlmcmFtZS13aXRob3V0LWFsbG93LWF0dHJpYnV0ZS1hbGxvd2VkLWZyb20tcGFyZW50Lmh0
bWw6IEFkZGVkLgorCiAyMDEyLTA3LTE3ICBUb255IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgVW5yZXZpZXdlZCBnYXJkZW5pbmcuICBSZW1vdmUgdGVzdHMgdGhhdCBoYXZl
IGJlZW4gcGFzc2luZyBjb25zaXN0ZW50bHkgYWNjb3JkaW5nIHRvIHRoZSBmbGFraW5lc3MgZGFz
aGJvYXJkLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZnVsbHNjcmVlbi9mdWxsLXNjcmVlbi1p
ZnJhbWUtd2l0aG91dC1hbGxvdy1hdHRyaWJ1dGUtYWxsb3dlZC1mcm9tLXBhcmVudC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9mdWxsc2NyZWVuL2Z1bGwtc2NyZWVuLWlmcmFtZS13aXRob3V0
LWFsbG93LWF0dHJpYnV0ZS1hbGxvd2VkLWZyb20tcGFyZW50LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5jNjM0M2E1OGJmN2UyMGM2Y2MxOTUzOTllNjhmZDdjZjY1MmM4ZWZjCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZnVsbHNjcmVlbi9mdWxsLXNjcmVlbi1pZnJhbWUtd2l0aG91
dC1hbGxvdy1hdHRyaWJ1dGUtYWxsb3dlZC1mcm9tLXBhcmVudC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMSBAQAorVGVzdCBlbnRlcmluZyBmdWxsIHNjcmVlbiBzZWN1cml0eSByZXN0cmljdGlv
bnMuIEFuIGlmcmFtZSB3aXRob3V0IGFuIGFsbG93IGF0dHJpYnV0ZSBpcyBzdGlsbCBwZXJtaXR0
ZWQgdG8gZnVsbHNjcmVlbiBpZiB0aGUgcmVxdWVzdCBjb21lcyBmcm9tIHRoZSBjb250YWluaW5n
IGRvY3VtZW50LgorCitUbyB0ZXN0IG1hbnVhbGx5LCBwcmVzcyBhbnkga2V5IC0gdGhlIHBhZ2Ug
c2hvdWxkIGVudGVyIGZ1bGwgc2NyZWVuIG1vZGUuCisKK1RFU1QoZG9jdW1lbnQud2Via2l0RnVs
bHNjcmVlbkVuYWJsZWQpIE9LCitpZnJhbWUncyB3ZWJraXRGdWxsc2NyZWVuRW5hYmxlZCBzaG91
bGQgYmUgZmFsc2U6CitURVNUKGlmcmFtZU1lc3NhZ2UgPT0gJ2RvY3VtZW50LndlYmtpdEZ1bGxz
Y3JlZW5FbmFibGVkID09IGZhbHNlJykgT0sKK0VWRU5UKHdlYmtpdGZ1bGxzY3JlZW5jaGFuZ2Up
CitTVUNDRUVEIC0gZW50ZXJlZCBmdWxsIHNjcmVlbiEKK0VORCBPRiBURVNUCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Z1bGxzY3JlZW4vZnVsbC1zY3JlZW4taWZyYW1lLXdpdGhvdXQtYWxs
b3ctYXR0cmlidXRlLWFsbG93ZWQtZnJvbS1wYXJlbnQuaHRtbCBiL0xheW91dFRlc3RzL2Z1bGxz
Y3JlZW4vZnVsbC1zY3JlZW4taWZyYW1lLXdpdGhvdXQtYWxsb3ctYXR0cmlidXRlLWFsbG93ZWQt
ZnJvbS1wYXJlbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40YWE5MmMzMGU1NzMxYjA0NTdjNjU4ZTUxMjE4
NjIzYzUzOGRkMjZhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZnVsbHNjcmVlbi9m
dWxsLXNjcmVlbi1pZnJhbWUtd2l0aG91dC1hbGxvdy1hdHRyaWJ1dGUtYWxsb3dlZC1mcm9tLXBh
cmVudC5odG1sCkBAIC0wLDAgKzEsMzUgQEAKKzxwPlRlc3QgZW50ZXJpbmcgZnVsbCBzY3JlZW4g
c2VjdXJpdHkgcmVzdHJpY3Rpb25zLiBBbiBpZnJhbWUgd2l0aG91dCBhbiBhbGxvdyBhdHRyaWJ1
dGUKK2lzIHN0aWxsIHBlcm1pdHRlZCB0byBmdWxsc2NyZWVuIGlmIHRoZSByZXF1ZXN0IGNvbWVz
IGZyb20gdGhlIGNvbnRhaW5pbmcgZG9jdW1lbnQuPC9wPgorPHA+VG8gdGVzdCBtYW51YWxseSwg
cHJlc3MgYW55IGtleSAtIHRoZSBwYWdlIHNob3VsZCBlbnRlciBmdWxsIHNjcmVlbiBtb2RlLjwv
cD4KKzxzY3JpcHQgc3JjPSJmdWxsLXNjcmVlbi10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+
Cit3aW5kb3cub25tZXNzYWdlID0gZnVuY3Rpb24gKGUpIHsKKyAgICBmcmFtZSA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdmcmFtZScpOworCisgICAgdGVzdCgiZG9jdW1lbnQud2Via2l0RnVs
bHNjcmVlbkVuYWJsZWQiKTsKKyAgICBjb25zb2xlV3JpdGUoImlmcmFtZSdzIHdlYmtpdEZ1bGxz
Y3JlZW5FbmFibGVkIHNob3VsZCBiZSBmYWxzZToiKTsKKyAgICBpZnJhbWVNZXNzYWdlID0gZS5k
YXRhOworICAgIHRlc3QoImlmcmFtZU1lc3NhZ2UgPT0gJ2RvY3VtZW50LndlYmtpdEZ1bGxzY3Jl
ZW5FbmFibGVkID09IGZhbHNlJyIpOworCisgICAgd2FpdEZvckV2ZW50KGRvY3VtZW50LCAnd2Vi
a2l0ZnVsbHNjcmVlbmNoYW5nZScsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgY29uc29sZVdy
aXRlKCJTVUNDRUVEIC0gZW50ZXJlZCBmdWxsIHNjcmVlbiEiKTsKKyAgICAgICAgICAgIGVuZFRl
c3QoKTsKKyAgICB9KTsKKworICAgIHJ1bldpdGhLZXlEb3duKGZ1bmN0aW9uKCkgeworICAgICAg
ICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgY29uc29sZVdyaXRlKCJGQUlM
IC0gZGlkIG5vdCBlbnRlciBmdWxsIHNjcmVlbiEiKTsKKyAgICAgICAgICAgIGVuZFRlc3QoKTsK
KyAgICAgICAgfSwgNTApOworICAgICAgICBmcmFtZS53ZWJraXRSZXF1ZXN0RnVsbFNjcmVlbigp
OworICAgIH0pOworfQorPC9zY3JpcHQ+Cis8aWZyYW1lIGlkPSJmcmFtZSIgc3JjPSdkYXRhOnRl
eHQvaHRtbCwKKyAgICBpZnJhbWUKKyAgICA8c2NyaXB0PgorICAgICAgICBwYXJlbnQucG9zdE1l
c3NhZ2UoImRvY3VtZW50LndlYmtpdEZ1bGxzY3JlZW5FbmFibGVkID09ICIgKyBkb2N1bWVudC53
ZWJraXRGdWxsc2NyZWVuRW5hYmxlZCwgIioiKTsKKyAgICA8L3NjcmlwdD4KKyAgICAnPgorPC9p
ZnJhbWU+CisK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153041</attachid>
            <date>2012-07-18 10:30:10 -0700</date>
            <delta_ts>2012-07-18 10:46:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-91448-20120718103009.patch</filename>
            <type>text/plain</type>
            <size>9044</size>
            <attacher name="Vincent Scheib">scheib</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyOTQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTk5MjJiMTZlNTcxMzQ5
NGM2M2FjYmU3ODkxZmEwY2U2NDRmM2IyNi4uZWRmZDIwN2ZiZjgzNDE0NGViOWY3NmUzMDA3MTIz
YmJiZmEyMDhjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTA3LTE4ICBWaW5j
ZW50IFNjaGVpYiAgPHNjaGVpYkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgVW5pZnkgYWxsb3dm
dWxsc2NyZWVuIGxvZ2ljIGluIERvY3VtZW50Ojp3ZWJraXRGdWxsU2NyZWVuRW5hYmxlZCBhbmQg
ZnVsbFNjcmVlbklzQWxsb3dlZEZvckVsZW1lbnQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MTQ0OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFVuaWZpZXMgcmVkdW5kYW50IHRyYXZlcnNhbCBsb2dpYyBh
bmQgc3RhdGljIGNhc3QgcHJldmlvdXNseSB1c2VkCisgICAgICAgIHRvIGRldGVybWluZSBpZiBh
biBlbGVtZW50IG9yIGRvY3VtZW50IGNhbiBiZSBtYWRlIGZ1bGxzY3JlZW4uCisKKyAgICAgICAg
QWRkZWQgYSB0ZXN0IHRvIGRldGVjdCBhbiBlZGdlIGNhc2Ugb2YgYW4gb3duaW5nIGRvY3VtZW50
IHdpdGgKKyAgICAgICAgZnVsbHNjcmVlbiBwZXJtaXNpb24gbW92aW5nIGFuIGlmcmFtZSB0byBm
dWxsc2NyZWVuLCB3aGlsZSB0aGF0IGlmcmFtZQorICAgICAgICBkb2VzIG5vdCBoYXZlIHBlcm1p
c2lvbiBmb3IgaXRzIGNvbnRlbnRzIHRvIGJlIG1hZGUgZnVsbHNjcmVlbi4KKworICAgICAgICBU
ZXN0OiBmdWxsc2NyZWVuL2Z1bGwtc2NyZWVuLWlmcmFtZS13aXRob3V0LWFsbG93LWF0dHJpYnV0
ZS1hbGxvd2VkLWZyb20tcGFyZW50Lmh0bWwKKworICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpmdWxsc2NyZWVuSXNBbGxvd2VkQnlBbGxPd25lcnMpOgorICAg
ICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmZ1bGxTY3JlZW5Jc0FsbG93ZWRGb3JFbGVtZW50KToK
KyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp3ZWJraXRGdWxsc2NyZWVuRW5hYmxlZCk6CisK
IDIwMTItMDctMTggIFNpbW9uIEhhdXNtYW5uICA8c2ltb24uaGF1c21hbm5Abm9raWEuY29tPgog
CiAgICAgICAgIFtBTkdMRV0gT24gUVQsIHVzZSBCaXNvbiBhbmQgRmxleCBkdXJpbmcgQU5HTEUg
YnVpbGQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IGZjOGUxYjUzNzRlOWM3OGZiZjZlYjg1
YmE5Y2EyYzYwMjliMjY3MjAuLmE2ZTk4ZmQ3ZWE2OTIwZTJlNjBlNWJlYWU4NThhNjI5ZGZmNzJm
NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtNTg1LDYgKzU4NSwyMSBAQCBzdGF0aWMg
dm9pZCBoaXN0b2dyYW1NdXRhdGlvbkV2ZW50VXNhZ2UoY29uc3QgdW5zaWduZWQgc2hvcnQmIGxp
c3RlbmVyVHlwZXMpCiAgICAgSGlzdG9ncmFtU3VwcG9ydDo6aGlzdG9ncmFtRW51bWVyYXRpb24o
IkRPTUFQSS5QZXJEb2N1bWVudE11dGF0aW9uRXZlbnRVc2FnZS5ET01DaGFyYWN0ZXJEYXRhTW9k
aWZpZWQiLCBzdGF0aWNfY2FzdDxib29sPihsaXN0ZW5lclR5cGVzICYgRG9jdW1lbnQ6OkRPTUNI
QVJBQ1RFUkRBVEFNT0RJRklFRF9MSVNURU5FUiksIDIpOwogfQogCitzdGF0aWMgYm9vbCBmdWxs
c2NyZWVuSXNBbGxvd2VkQnlBbGxPd25lcnMoY29uc3QgSFRNTEZyYW1lT3duZXJFbGVtZW50KiBv
d25lcikKK3sKKyAgICAvLyA0LiBUaGUgZnVsbHNjcmVlbkVuYWJsZWQgYXR0cmlidXRlIG11c3Qg
cmV0dXJuIHRydWUgaWYgdGhlIGNvbnRleHQgb2JqZWN0IGFuZCBhbGwgYW5jZXN0b3IKKyAgICAv
LyBicm93c2luZyBjb250ZXh0J3MgZG9jdW1lbnRzIGhhdmUgdGhlaXIgZnVsbHNjcmVlbiBlbmFi
bGVkIGZsYWcgc2V0LCBvciBmYWxzZSBvdGhlcndpc2UuCisKKyAgICAvLyBUb3AtbGV2ZWwgYnJv
d3NpbmcgY29udGV4dHMgYXJlIGltcGxpZWQgdG8gaGF2ZSB0aGVpciBhbGxvd0Z1bGxTY3JlZW4g
YXR0cmlidXRlIHNldC4KKyAgICBpZiAob3duZXIpIHsKKyAgICAgICAgZG8geworICAgICAgICAg
ICAgaWYgKCFvd25lci0+aGFzQXR0cmlidXRlKHdlYmtpdGFsbG93ZnVsbHNjcmVlbkF0dHIpKQor
ICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfSB3aGlsZSAoKG93bmVyID0g
b3duZXItPmRvY3VtZW50KCktPm93bmVyRWxlbWVudCgpKSk7CisgICAgfQorICAgIHJldHVybiB0
cnVlOworfQorCiBEb2N1bWVudDo6fkRvY3VtZW50KCkKIHsKICAgICBBU1NFUlQoIXJlbmRlcmVy
KCkpOwpAQCAtNTM2NSwxNSArNTM4MCw3IEBAIE1lZGlhQ2FuU3RhcnRMaXN0ZW5lciogRG9jdW1l
bnQ6OnRha2VBbnlNZWRpYUNhblN0YXJ0TGlzdGVuZXIoKQogYm9vbCBEb2N1bWVudDo6ZnVsbFNj
cmVlbklzQWxsb3dlZEZvckVsZW1lbnQoRWxlbWVudCogZWxlbWVudCkgY29uc3QKIHsKICAgICBB
U1NFUlQoZWxlbWVudCk7Ci0gICAgd2hpbGUgKEhUTUxGcmFtZU93bmVyRWxlbWVudCogb3duZXJF
bGVtZW50ID0gZWxlbWVudC0+ZG9jdW1lbnQoKS0+b3duZXJFbGVtZW50KCkpIHsKLSAgICAgICAg
aWYgKCFvd25lckVsZW1lbnQtPmlzRnJhbWVFbGVtZW50QmFzZSgpKQotICAgICAgICAgICAgY29u
dGludWU7Ci0KLSAgICAgICAgaWYgKCFzdGF0aWNfY2FzdDxIVE1MRnJhbWVFbGVtZW50QmFzZSo+
KG93bmVyRWxlbWVudCktPmFsbG93RnVsbFNjcmVlbigpKQotICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOwotICAgICAgICBlbGVtZW50ID0gb3duZXJFbGVtZW50OwotICAgIH0KLSAgICByZXR1cm4g
dHJ1ZTsKKyAgICByZXR1cm4gZnVsbHNjcmVlbklzQWxsb3dlZEJ5QWxsT3duZXJzKGVsZW1lbnQt
PmRvY3VtZW50KCktPm93bmVyRWxlbWVudCgpKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6cmVxdWVz
dEZ1bGxTY3JlZW5Gb3JFbGVtZW50KEVsZW1lbnQqIGVsZW1lbnQsIHVuc2lnbmVkIHNob3J0IGZs
YWdzLCBGdWxsU2NyZWVuQ2hlY2tUeXBlIGNoZWNrVHlwZSkKQEAgLTU1NzgsMjMgKzU1ODUsNyBA
QCB2b2lkIERvY3VtZW50Ojp3ZWJraXRFeGl0RnVsbHNjcmVlbigpCiAKIGJvb2wgRG9jdW1lbnQ6
OndlYmtpdEZ1bGxzY3JlZW5FbmFibGVkKCkgY29uc3QKIHsKLSAgICAvLyA0LiBUaGUgZnVsbHNj
cmVlbkVuYWJsZWQgYXR0cmlidXRlIG11c3QgcmV0dXJuIHRydWUgaWYgdGhlIGNvbnRleHQgb2Jq
ZWN0IGFuZCBhbGwgYW5jZXN0b3IKLSAgICAvLyBicm93c2luZyBjb250ZXh0J3MgZG9jdW1lbnRz
IGhhdmUgdGhlaXIgZnVsbHNjcmVlbiBlbmFibGVkIGZsYWcgc2V0LCBvciBmYWxzZSBvdGhlcndp
c2UuCi0KLSAgICAvLyBUb3AtbGV2ZWwgYnJvd3NpbmcgY29udGV4dHMgYXJlIGltcGxpZWQgdG8g
aGF2ZSB0aGVpciBhbGxvd0Z1bGxTY3JlZW4gYXR0cmlidXRlIHNldC4KLSAgICBIVE1MRnJhbWVP
d25lckVsZW1lbnQqIG93bmVyID0gb3duZXJFbGVtZW50KCk7Ci0gICAgaWYgKCFvd25lcikKLSAg
ICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICBkbyB7Ci0gICAgICAgIGlmICghb3duZXItPmlzRnJh
bWVFbGVtZW50QmFzZSgpKQotICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAgaWYgKCFz
dGF0aWNfY2FzdDxIVE1MRnJhbWVFbGVtZW50QmFzZSo+KG93bmVyKS0+YWxsb3dGdWxsU2NyZWVu
KCkpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfSB3aGlsZSAoKG93bmVyID0gb3du
ZXItPmRvY3VtZW50KCktPm93bmVyRWxlbWVudCgpKSk7Ci0KLSAgICByZXR1cm4gdHJ1ZTsgICAg
ICAgIAorICAgIHJldHVybiBmdWxsc2NyZWVuSXNBbGxvd2VkQnlBbGxPd25lcnMob3duZXJFbGVt
ZW50KCkpOwogfQogCiB2b2lkIERvY3VtZW50Ojp3ZWJraXRXaWxsRW50ZXJGdWxsU2NyZWVuRm9y
RWxlbWVudChFbGVtZW50KiBlbGVtZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MRnJhbWVFbGVtZW50QmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGcmFt
ZUVsZW1lbnRCYXNlLmNwcAppbmRleCAxNmNmMzYwNTFlODllMTI2ZWQ4NjExNjE0NmFmMmZjMDk2
NmQxY2FkLi5kMTJlN2I0MzRhZGVhMDgwYThiZmU0YzkyN2JiNzdlMjFmZjQ4ODMzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGcmFtZUVsZW1lbnRCYXNlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGcmFtZUVsZW1lbnRCYXNlLmNwcApAQCAtMjQ2LDExICsy
NDYsNCBAQCBpbnQgSFRNTEZyYW1lRWxlbWVudEJhc2U6OmhlaWdodCgpCiAgICAgcmV0dXJuIHJl
bmRlckJveCgpLT5oZWlnaHQoKTsKIH0KIAotI2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKLWJv
b2wgSFRNTEZyYW1lRWxlbWVudEJhc2U6OmFsbG93RnVsbFNjcmVlbigpIGNvbnN0Ci17Ci0gICAg
cmV0dXJuIGhhc0F0dHJpYnV0ZSh3ZWJraXRhbGxvd2Z1bGxzY3JlZW5BdHRyKTsKLX0KLSNlbmRp
ZgotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxGcmFtZUVsZW1lbnRCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGcmFt
ZUVsZW1lbnRCYXNlLmgKaW5kZXggMTFkYzk0ZDNkYjY0NzVlOWQ0OTBiYWM0MDUzMTdmOTg0NmI1
Yjg2MC4uMGY4NGRmMzZlMGI5NjkyYTAxNWVjYjM3ZWQwODA0Y2I4MzU5YWNlNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVFbGVtZW50QmFzZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1lRWxlbWVudEJhc2UuaApAQCAtNDIsMTAgKzQyLDYgQEAg
cHVibGljOgogICAgIGludCB3aWR0aCgpOwogICAgIGludCBoZWlnaHQoKTsKIAotI2lmIEVOQUJM
RShGVUxMU0NSRUVOX0FQSSkKLSAgICB2aXJ0dWFsIGJvb2wgYWxsb3dGdWxsU2NyZWVuKCkgY29u
c3Q7Ci0jZW5kaWYKLQogICAgIHZpcnR1YWwgYm9vbCBjYW5Db250YWluUmFuZ2VFbmRQb2ludCgp
IGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKIHByb3RlY3RlZDoKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAyMjc4ZjU4ZjA3
MjY0MDY4MGUzMTdiZTkxNTM2ZDUyYTdiODliZmY2Li5iYjUzM2Q2MDY5NDBkZmIxMjAzMzA2YjQx
YWJiOWZjNmQzMTY2YmQ3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTItMDctMTggIFZpbmNl
bnQgU2NoZWliICA8c2NoZWliQGNocm9taXVtLm9yZz4KKworICAgICAgICBVbmlmeSBhbGxvd2Z1
bGxzY3JlZW4gbG9naWMgaW4gRG9jdW1lbnQ6OndlYmtpdEZ1bGxTY3JlZW5FbmFibGVkIGFuZCBm
dWxsU2NyZWVuSXNBbGxvd2VkRm9yRWxlbWVudC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTkxNDQ4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgVW5pZmllcyByZWR1bmRhbnQgdHJhdmVyc2FsIGxvZ2ljIGFu
ZCBzdGF0aWMgY2FzdCBwcmV2aW91c2x5IHVzZWQKKyAgICAgICAgdG8gZGV0ZXJtaW5lIGlmIGFu
IGVsZW1lbnQgb3IgZG9jdW1lbnQgY2FuIGJlIG1hZGUgZnVsbHNjcmVlbi4KKworICAgICAgICBB
ZGRlZCBhIHRlc3QgdG8gZGV0ZWN0IGFuIGVkZ2UgY2FzZSBvZiBhbiBvd25pbmcgZG9jdW1lbnQg
d2l0aAorICAgICAgICBmdWxsc2NyZWVuIHBlcm1pc2lvbiBtb3ZpbmcgYW4gaWZyYW1lIHRvIGZ1
bGxzY3JlZW4sIHdoaWxlIHRoYXQgaWZyYW1lCisgICAgICAgIGRvZXMgbm90IGhhdmUgcGVybWlz
aW9uIGZvciBpdHMgY29udGVudHMgdG8gYmUgbWFkZSBmdWxsc2NyZWVuLgorCisgICAgICAgICog
ZnVsbHNjcmVlbi9mdWxsLXNjcmVlbi1pZnJhbWUtd2l0aG91dC1hbGxvdy1hdHRyaWJ1dGUtYWxs
b3dlZC1mcm9tLXBhcmVudC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZ1bGxzY3Jl
ZW4vZnVsbC1zY3JlZW4taWZyYW1lLXdpdGhvdXQtYWxsb3ctYXR0cmlidXRlLWFsbG93ZWQtZnJv
bS1wYXJlbnQuaHRtbDogQWRkZWQuCisKIDIwMTItMDctMTggIE1hcmlvIFNhbmNoZXogUHJhZGEg
IDxtc2FuY2hlekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtXSzJdW0dUS10gSW1wbGVtZW50IEFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQgaW4gV0tUUiBmb3IgR1RLCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mdWxsc2NyZWVuL2Z1bGwtc2NyZWVuLWlmcmFtZS13aXRob3V0LWFsbG93LWF0dHJpYnV0
ZS1hbGxvd2VkLWZyb20tcGFyZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Z1bGxzY3Jl
ZW4vZnVsbC1zY3JlZW4taWZyYW1lLXdpdGhvdXQtYWxsb3ctYXR0cmlidXRlLWFsbG93ZWQtZnJv
bS1wYXJlbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM2MzQzYTU4YmY3ZTIwYzZjYzE5NTM5
OWU2OGZkN2NmNjUyYzhlZmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mdWxsc2Ny
ZWVuL2Z1bGwtc2NyZWVuLWlmcmFtZS13aXRob3V0LWFsbG93LWF0dHJpYnV0ZS1hbGxvd2VkLWZy
b20tcGFyZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitUZXN0IGVudGVyaW5nIGZ1
bGwgc2NyZWVuIHNlY3VyaXR5IHJlc3RyaWN0aW9ucy4gQW4gaWZyYW1lIHdpdGhvdXQgYW4gYWxs
b3cgYXR0cmlidXRlIGlzIHN0aWxsIHBlcm1pdHRlZCB0byBmdWxsc2NyZWVuIGlmIHRoZSByZXF1
ZXN0IGNvbWVzIGZyb20gdGhlIGNvbnRhaW5pbmcgZG9jdW1lbnQuCisKK1RvIHRlc3QgbWFudWFs
bHksIHByZXNzIGFueSBrZXkgLSB0aGUgcGFnZSBzaG91bGQgZW50ZXIgZnVsbCBzY3JlZW4gbW9k
ZS4KKworVEVTVChkb2N1bWVudC53ZWJraXRGdWxsc2NyZWVuRW5hYmxlZCkgT0sKK2lmcmFtZSdz
IHdlYmtpdEZ1bGxzY3JlZW5FbmFibGVkIHNob3VsZCBiZSBmYWxzZToKK1RFU1QoaWZyYW1lTWVz
c2FnZSA9PSAnZG9jdW1lbnQud2Via2l0RnVsbHNjcmVlbkVuYWJsZWQgPT0gZmFsc2UnKSBPSwor
RVZFTlQod2Via2l0ZnVsbHNjcmVlbmNoYW5nZSkKK1NVQ0NFRUQgLSBlbnRlcmVkIGZ1bGwgc2Ny
ZWVuIQorRU5EIE9GIFRFU1QKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZnVsbHNjcmVlbi9m
dWxsLXNjcmVlbi1pZnJhbWUtd2l0aG91dC1hbGxvdy1hdHRyaWJ1dGUtYWxsb3dlZC1mcm9tLXBh
cmVudC5odG1sIGIvTGF5b3V0VGVzdHMvZnVsbHNjcmVlbi9mdWxsLXNjcmVlbi1pZnJhbWUtd2l0
aG91dC1hbGxvdy1hdHRyaWJ1dGUtYWxsb3dlZC1mcm9tLXBhcmVudC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjRhYTkyYzMwZTU3MzFiMDQ1N2M2NThlNTEyMTg2MjNjNTM4ZGQyNmEKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mdWxsc2NyZWVuL2Z1bGwtc2NyZWVuLWlmcmFtZS13aXRob3V0LWFs
bG93LWF0dHJpYnV0ZS1hbGxvd2VkLWZyb20tcGFyZW50Lmh0bWwKQEAgLTAsMCArMSwzNSBAQAor
PHA+VGVzdCBlbnRlcmluZyBmdWxsIHNjcmVlbiBzZWN1cml0eSByZXN0cmljdGlvbnMuIEFuIGlm
cmFtZSB3aXRob3V0IGFuIGFsbG93IGF0dHJpYnV0ZQoraXMgc3RpbGwgcGVybWl0dGVkIHRvIGZ1
bGxzY3JlZW4gaWYgdGhlIHJlcXVlc3QgY29tZXMgZnJvbSB0aGUgY29udGFpbmluZyBkb2N1bWVu
dC48L3A+Cis8cD5UbyB0ZXN0IG1hbnVhbGx5LCBwcmVzcyBhbnkga2V5IC0gdGhlIHBhZ2Ugc2hv
dWxkIGVudGVyIGZ1bGwgc2NyZWVuIG1vZGUuPC9wPgorPHNjcmlwdCBzcmM9ImZ1bGwtc2NyZWVu
LXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK3dpbmRvdy5vbm1lc3NhZ2UgPSBmdW5jdGlv
biAoZSkgeworICAgIGZyYW1lID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZyYW1lJyk7CisK
KyAgICB0ZXN0KCJkb2N1bWVudC53ZWJraXRGdWxsc2NyZWVuRW5hYmxlZCIpOworICAgIGNvbnNv
bGVXcml0ZSgiaWZyYW1lJ3Mgd2Via2l0RnVsbHNjcmVlbkVuYWJsZWQgc2hvdWxkIGJlIGZhbHNl
OiIpOworICAgIGlmcmFtZU1lc3NhZ2UgPSBlLmRhdGE7CisgICAgdGVzdCgiaWZyYW1lTWVzc2Fn
ZSA9PSAnZG9jdW1lbnQud2Via2l0RnVsbHNjcmVlbkVuYWJsZWQgPT0gZmFsc2UnIik7CisKKyAg
ICB3YWl0Rm9yRXZlbnQoZG9jdW1lbnQsICd3ZWJraXRmdWxsc2NyZWVuY2hhbmdlJywgZnVuY3Rp
b24oKSB7CisgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlNVQ0NFRUQgLSBlbnRlcmVkIGZ1bGwg
c2NyZWVuISIpOworICAgICAgICAgICAgZW5kVGVzdCgpOworICAgIH0pOworCisgICAgcnVuV2l0
aEtleURvd24oZnVuY3Rpb24oKSB7CisgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7Cisg
ICAgICAgICAgICBjb25zb2xlV3JpdGUoIkZBSUwgLSBkaWQgbm90IGVudGVyIGZ1bGwgc2NyZWVu
ISIpOworICAgICAgICAgICAgZW5kVGVzdCgpOworICAgICAgICB9LCA1MCk7CisgICAgICAgIGZy
YW1lLndlYmtpdFJlcXVlc3RGdWxsU2NyZWVuKCk7CisgICAgfSk7Cit9Cis8L3NjcmlwdD4KKzxp
ZnJhbWUgaWQ9ImZyYW1lIiBzcmM9J2RhdGE6dGV4dC9odG1sLAorICAgIGlmcmFtZQorICAgIDxz
Y3JpcHQ+CisgICAgICAgIHBhcmVudC5wb3N0TWVzc2FnZSgiZG9jdW1lbnQud2Via2l0RnVsbHNj
cmVlbkVuYWJsZWQgPT0gIiArIGRvY3VtZW50LndlYmtpdEZ1bGxzY3JlZW5FbmFibGVkLCAiKiIp
OworICAgIDwvc2NyaXB0PgorICAgICc+Cis8L2lmcmFtZT4KKwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153044</attachid>
            <date>2012-07-18 10:46:33 -0700</date>
            <delta_ts>2012-07-18 11:02:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-91448-20120718104632.patch</filename>
            <type>text/plain</type>
            <size>8819</size>
            <attacher name="Vincent Scheib">scheib</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyOTQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTk5MjJiMTZlNTcxMzQ5
NGM2M2FjYmU3ODkxZmEwY2U2NDRmM2IyNi4uYjMzODA4NjY3ZmFjODE4ODU0NDE3NzBjMTljNmU0
MjIyMmJiZDJiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTA3LTE4ICBWaW5j
ZW50IFNjaGVpYiAgPHNjaGVpYkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgVW5pZnkgYWxsb3dm
dWxsc2NyZWVuIGxvZ2ljIGluIERvY3VtZW50Ojp3ZWJraXRGdWxsU2NyZWVuRW5hYmxlZCBhbmQg
ZnVsbFNjcmVlbklzQWxsb3dlZEZvckVsZW1lbnQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MTQ0OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFVuaWZpZXMgcmVkdW5kYW50IHRyYXZlcnNhbCBsb2dpYyBh
bmQgc3RhdGljIGNhc3QgcHJldmlvdXNseSB1c2VkCisgICAgICAgIHRvIGRldGVybWluZSBpZiBh
biBlbGVtZW50IG9yIGRvY3VtZW50IGNhbiBiZSBtYWRlIGZ1bGxzY3JlZW4uCisgICAgICAgIFRo
aXMgY2xlYW4gdXAgcHJlcGFyZXMgZm9yIHBvaW50ZXIgbG9jaywgd2hpY2ggd2lsbCB1c2UgdGhl
IHNhbWUgbG9naWMuCisKKyAgICAgICAgQWRkZWQgYSB0ZXN0IHRvIGRldGVjdCBhbiBlZGdlIGNh
c2Ugb2YgYW4gb3duaW5nIGRvY3VtZW50IHdpdGgKKyAgICAgICAgZnVsbHNjcmVlbiBwZXJtaXNp
b24gbW92aW5nIGFuIGlmcmFtZSB0byBmdWxsc2NyZWVuLCB3aGlsZSB0aGF0IGlmcmFtZQorICAg
ICAgICBkb2VzIG5vdCBoYXZlIHBlcm1pc2lvbiBmb3IgaXRzIGNvbnRlbnRzIHRvIGJlIG1hZGUg
ZnVsbHNjcmVlbi4KKworICAgICAgICBUZXN0OiBmdWxsc2NyZWVuL2Z1bGwtc2NyZWVuLWlmcmFt
ZS13aXRob3V0LWFsbG93LWF0dHJpYnV0ZS1hbGxvd2VkLWZyb20tcGFyZW50Lmh0bWwKKworICAg
ICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjppc0F0dHJpYnV0ZU9u
QWxsT3duZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpmdWxsU2NyZWVuSXNBbGxv
d2VkRm9yRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6d2Via2l0RnVsbHNj
cmVlbkVuYWJsZWQpOgorCiAyMDEyLTA3LTE4ICBTaW1vbiBIYXVzbWFubiAgPHNpbW9uLmhhdXNt
YW5uQG5va2lhLmNvbT4KIAogICAgICAgICBbQU5HTEVdIE9uIFFULCB1c2UgQmlzb24gYW5kIEZs
ZXggZHVyaW5nIEFOR0xFIGJ1aWxkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCBmYzhlMWI1
Mzc0ZTljNzhmYmY2ZWI4NWJhOWNhMmM2MDI5YjI2NzIwLi4zNzZjNTg2MTY4OTgxODhkMGQzNDQy
M2FlODM5ZjY4OGY0MDIyNGRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTU4NSw2ICs1
ODUsMTcgQEAgc3RhdGljIHZvaWQgaGlzdG9ncmFtTXV0YXRpb25FdmVudFVzYWdlKGNvbnN0IHVu
c2lnbmVkIHNob3J0JiBsaXN0ZW5lclR5cGVzKQogICAgIEhpc3RvZ3JhbVN1cHBvcnQ6Omhpc3Rv
Z3JhbUVudW1lcmF0aW9uKCJET01BUEkuUGVyRG9jdW1lbnRNdXRhdGlvbkV2ZW50VXNhZ2UuRE9N
Q2hhcmFjdGVyRGF0YU1vZGlmaWVkIiwgc3RhdGljX2Nhc3Q8Ym9vbD4obGlzdGVuZXJUeXBlcyAm
IERvY3VtZW50OjpET01DSEFSQUNURVJEQVRBTU9ESUZJRURfTElTVEVORVIpLCAyKTsKIH0KIAor
c3RhdGljIGJvb2wgaXNBdHRyaWJ1dGVPbkFsbE93bmVycyhjb25zdCBXZWJDb3JlOjpRdWFsaWZp
ZWROYW1lJiBhdHRyaWJ1dGUsIGNvbnN0IEhUTUxGcmFtZU93bmVyRWxlbWVudCogb3duZXIpCit7
CisgICAgaWYgKG93bmVyKSB7CisgICAgICAgIGRvIHsKKyAgICAgICAgICAgIGlmICghb3duZXIt
Pmhhc0F0dHJpYnV0ZShhdHRyaWJ1dGUpKQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICAgICAgfSB3aGlsZSAoKG93bmVyID0gb3duZXItPmRvY3VtZW50KCktPm93bmVyRWxlbWVu
dCgpKSk7CisgICAgfQorICAgIHJldHVybiB0cnVlOworfQorCiBEb2N1bWVudDo6fkRvY3VtZW50
KCkKIHsKICAgICBBU1NFUlQoIXJlbmRlcmVyKCkpOwpAQCAtNTM2NSwxNSArNTM3Niw3IEBAIE1l
ZGlhQ2FuU3RhcnRMaXN0ZW5lciogRG9jdW1lbnQ6OnRha2VBbnlNZWRpYUNhblN0YXJ0TGlzdGVu
ZXIoKQogYm9vbCBEb2N1bWVudDo6ZnVsbFNjcmVlbklzQWxsb3dlZEZvckVsZW1lbnQoRWxlbWVu
dCogZWxlbWVudCkgY29uc3QKIHsKICAgICBBU1NFUlQoZWxlbWVudCk7Ci0gICAgd2hpbGUgKEhU
TUxGcmFtZU93bmVyRWxlbWVudCogb3duZXJFbGVtZW50ID0gZWxlbWVudC0+ZG9jdW1lbnQoKS0+
b3duZXJFbGVtZW50KCkpIHsKLSAgICAgICAgaWYgKCFvd25lckVsZW1lbnQtPmlzRnJhbWVFbGVt
ZW50QmFzZSgpKQotICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAgaWYgKCFzdGF0aWNf
Y2FzdDxIVE1MRnJhbWVFbGVtZW50QmFzZSo+KG93bmVyRWxlbWVudCktPmFsbG93RnVsbFNjcmVl
bigpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICBlbGVtZW50ID0gb3duZXJF
bGVtZW50OwotICAgIH0KLSAgICByZXR1cm4gdHJ1ZTsKKyAgICByZXR1cm4gaXNBdHRyaWJ1dGVP
bkFsbE93bmVycyh3ZWJraXRhbGxvd2Z1bGxzY3JlZW5BdHRyLCBlbGVtZW50LT5kb2N1bWVudCgp
LT5vd25lckVsZW1lbnQoKSk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OnJlcXVlc3RGdWxsU2NyZWVu
Rm9yRWxlbWVudChFbGVtZW50KiBlbGVtZW50LCB1bnNpZ25lZCBzaG9ydCBmbGFncywgRnVsbFNj
cmVlbkNoZWNrVHlwZSBjaGVja1R5cGUpCkBAIC01NTgyLDE5ICs1NTg1LDcgQEAgYm9vbCBEb2N1
bWVudDo6d2Via2l0RnVsbHNjcmVlbkVuYWJsZWQoKSBjb25zdAogICAgIC8vIGJyb3dzaW5nIGNv
bnRleHQncyBkb2N1bWVudHMgaGF2ZSB0aGVpciBmdWxsc2NyZWVuIGVuYWJsZWQgZmxhZyBzZXQs
IG9yIGZhbHNlIG90aGVyd2lzZS4KIAogICAgIC8vIFRvcC1sZXZlbCBicm93c2luZyBjb250ZXh0
cyBhcmUgaW1wbGllZCB0byBoYXZlIHRoZWlyIGFsbG93RnVsbFNjcmVlbiBhdHRyaWJ1dGUgc2V0
LgotICAgIEhUTUxGcmFtZU93bmVyRWxlbWVudCogb3duZXIgPSBvd25lckVsZW1lbnQoKTsKLSAg
ICBpZiAoIW93bmVyKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIGRvIHsKLSAgICAgICAg
aWYgKCFvd25lci0+aXNGcmFtZUVsZW1lbnRCYXNlKCkpCi0gICAgICAgICAgICBjb250aW51ZTsK
LQotICAgICAgICBpZiAoIXN0YXRpY19jYXN0PEhUTUxGcmFtZUVsZW1lbnRCYXNlKj4ob3duZXIp
LT5hbGxvd0Z1bGxTY3JlZW4oKSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9IHdo
aWxlICgob3duZXIgPSBvd25lci0+ZG9jdW1lbnQoKS0+b3duZXJFbGVtZW50KCkpKTsKLQotICAg
IHJldHVybiB0cnVlOyAgICAgICAgCisgICAgcmV0dXJuIGlzQXR0cmlidXRlT25BbGxPd25lcnMo
d2Via2l0YWxsb3dmdWxsc2NyZWVuQXR0ciwgb3duZXJFbGVtZW50KCkpOwogfQogCiB2b2lkIERv
Y3VtZW50Ojp3ZWJraXRXaWxsRW50ZXJGdWxsU2NyZWVuRm9yRWxlbWVudChFbGVtZW50KiBlbGVt
ZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVFbGVtZW50QmFz
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGcmFtZUVsZW1lbnRCYXNlLmNwcAppbmRl
eCAxNmNmMzYwNTFlODllMTI2ZWQ4NjExNjE0NmFmMmZjMDk2NmQxY2FkLi5kMTJlN2I0MzRhZGVh
MDgwYThiZmU0YzkyN2JiNzdlMjFmZjQ4ODMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxGcmFtZUVsZW1lbnRCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxGcmFtZUVsZW1lbnRCYXNlLmNwcApAQCAtMjQ2LDExICsyNDYsNCBAQCBpbnQgSFRNTEZyYW1l
RWxlbWVudEJhc2U6OmhlaWdodCgpCiAgICAgcmV0dXJuIHJlbmRlckJveCgpLT5oZWlnaHQoKTsK
IH0KIAotI2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKLWJvb2wgSFRNTEZyYW1lRWxlbWVudEJh
c2U6OmFsbG93RnVsbFNjcmVlbigpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGhhc0F0dHJpYnV0ZSh3
ZWJraXRhbGxvd2Z1bGxzY3JlZW5BdHRyKTsKLX0KLSNlbmRpZgotCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGcmFtZUVsZW1lbnRC
YXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGcmFtZUVsZW1lbnRCYXNlLmgKaW5kZXgg
MTFkYzk0ZDNkYjY0NzVlOWQ0OTBiYWM0MDUzMTdmOTg0NmI1Yjg2MC4uMGY4NGRmMzZlMGI5Njky
YTAxNWVjYjM3ZWQwODA0Y2I4MzU5YWNlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MRnJhbWVFbGVtZW50QmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZy
YW1lRWxlbWVudEJhc2UuaApAQCAtNDIsMTAgKzQyLDYgQEAgcHVibGljOgogICAgIGludCB3aWR0
aCgpOwogICAgIGludCBoZWlnaHQoKTsKIAotI2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKLSAg
ICB2aXJ0dWFsIGJvb2wgYWxsb3dGdWxsU2NyZWVuKCkgY29uc3Q7Ci0jZW5kaWYKLQogICAgIHZp
cnR1YWwgYm9vbCBjYW5Db250YWluUmFuZ2VFbmRQb2ludCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNl
OyB9CiAKIHByb3RlY3RlZDoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAyMjc4ZjU4ZjA3MjY0MDY4MGUzMTdiZTkxNTM2ZDUy
YTdiODliZmY2Li41NTI2MzFkNTIzNDIxN2U0NjRlMjk0Y2ZhMzAwNGRlYzBmYTlkODVmIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMjEgQEAKKzIwMTItMDctMTggIFZpbmNlbnQgU2NoZWliICA8c2NoZWliQGNo
cm9taXVtLm9yZz4KKworICAgICAgICBVbmlmeSBhbGxvd2Z1bGxzY3JlZW4gbG9naWMgaW4gRG9j
dW1lbnQ6OndlYmtpdEZ1bGxTY3JlZW5FbmFibGVkIGFuZCBmdWxsU2NyZWVuSXNBbGxvd2VkRm9y
RWxlbWVudC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTkxNDQ4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VW5pZmllcyByZWR1bmRhbnQgdHJhdmVyc2FsIGxvZ2ljIGFuZCBzdGF0aWMgY2FzdCBwcmV2aW91
c2x5IHVzZWQKKyAgICAgICAgdG8gZGV0ZXJtaW5lIGlmIGFuIGVsZW1lbnQgb3IgZG9jdW1lbnQg
Y2FuIGJlIG1hZGUgZnVsbHNjcmVlbi4KKyAgICAgICAgVGhpcyBjbGVhbiB1cCBwcmVwYXJlcyBm
b3IgcG9pbnRlciBsb2NrLCB3aGljaCB3aWxsIHVzZSB0aGUgc2FtZSBsb2dpYy4KKworICAgICAg
ICBBZGRlZCBhIHRlc3QgdG8gZGV0ZWN0IGFuIGVkZ2UgY2FzZSBvZiBhbiBvd25pbmcgZG9jdW1l
bnQgd2l0aAorICAgICAgICBmdWxsc2NyZWVuIHBlcm1pc2lvbiBtb3ZpbmcgYW4gaWZyYW1lIHRv
IGZ1bGxzY3JlZW4sIHdoaWxlIHRoYXQgaWZyYW1lCisgICAgICAgIGRvZXMgbm90IGhhdmUgcGVy
bWlzaW9uIGZvciBpdHMgY29udGVudHMgdG8gYmUgbWFkZSBmdWxsc2NyZWVuLgorCisgICAgICAg
ICogZnVsbHNjcmVlbi9mdWxsLXNjcmVlbi1pZnJhbWUtd2l0aG91dC1hbGxvdy1hdHRyaWJ1dGUt
YWxsb3dlZC1mcm9tLXBhcmVudC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZ1bGxz
Y3JlZW4vZnVsbC1zY3JlZW4taWZyYW1lLXdpdGhvdXQtYWxsb3ctYXR0cmlidXRlLWFsbG93ZWQt
ZnJvbS1wYXJlbnQuaHRtbDogQWRkZWQuCisKIDIwMTItMDctMTggIE1hcmlvIFNhbmNoZXogUHJh
ZGEgIDxtc2FuY2hlekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtXSzJdW0dUS10gSW1wbGVtZW50
IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQgaW4gV0tUUiBmb3IgR1RLCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mdWxsc2NyZWVuL2Z1bGwtc2NyZWVuLWlmcmFtZS13aXRob3V0LWFsbG93LWF0dHJp
YnV0ZS1hbGxvd2VkLWZyb20tcGFyZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Z1bGxz
Y3JlZW4vZnVsbC1zY3JlZW4taWZyYW1lLXdpdGhvdXQtYWxsb3ctYXR0cmlidXRlLWFsbG93ZWQt
ZnJvbS1wYXJlbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM2MzQzYTU4YmY3ZTIwYzZjYzE5
NTM5OWU2OGZkN2NmNjUyYzhlZmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mdWxs
c2NyZWVuL2Z1bGwtc2NyZWVuLWlmcmFtZS13aXRob3V0LWFsbG93LWF0dHJpYnV0ZS1hbGxvd2Vk
LWZyb20tcGFyZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitUZXN0IGVudGVyaW5n
IGZ1bGwgc2NyZWVuIHNlY3VyaXR5IHJlc3RyaWN0aW9ucy4gQW4gaWZyYW1lIHdpdGhvdXQgYW4g
YWxsb3cgYXR0cmlidXRlIGlzIHN0aWxsIHBlcm1pdHRlZCB0byBmdWxsc2NyZWVuIGlmIHRoZSBy
ZXF1ZXN0IGNvbWVzIGZyb20gdGhlIGNvbnRhaW5pbmcgZG9jdW1lbnQuCisKK1RvIHRlc3QgbWFu
dWFsbHksIHByZXNzIGFueSBrZXkgLSB0aGUgcGFnZSBzaG91bGQgZW50ZXIgZnVsbCBzY3JlZW4g
bW9kZS4KKworVEVTVChkb2N1bWVudC53ZWJraXRGdWxsc2NyZWVuRW5hYmxlZCkgT0sKK2lmcmFt
ZSdzIHdlYmtpdEZ1bGxzY3JlZW5FbmFibGVkIHNob3VsZCBiZSBmYWxzZToKK1RFU1QoaWZyYW1l
TWVzc2FnZSA9PSAnZG9jdW1lbnQud2Via2l0RnVsbHNjcmVlbkVuYWJsZWQgPT0gZmFsc2UnKSBP
SworRVZFTlQod2Via2l0ZnVsbHNjcmVlbmNoYW5nZSkKK1NVQ0NFRUQgLSBlbnRlcmVkIGZ1bGwg
c2NyZWVuIQorRU5EIE9GIFRFU1QKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZnVsbHNjcmVl
bi9mdWxsLXNjcmVlbi1pZnJhbWUtd2l0aG91dC1hbGxvdy1hdHRyaWJ1dGUtYWxsb3dlZC1mcm9t
LXBhcmVudC5odG1sIGIvTGF5b3V0VGVzdHMvZnVsbHNjcmVlbi9mdWxsLXNjcmVlbi1pZnJhbWUt
d2l0aG91dC1hbGxvdy1hdHRyaWJ1dGUtYWxsb3dlZC1mcm9tLXBhcmVudC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjRhYTkyYzMwZTU3MzFiMDQ1N2M2NThlNTEyMTg2MjNjNTM4ZGQyNmEKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mdWxsc2NyZWVuL2Z1bGwtc2NyZWVuLWlmcmFtZS13aXRob3V0
LWFsbG93LWF0dHJpYnV0ZS1hbGxvd2VkLWZyb20tcGFyZW50Lmh0bWwKQEAgLTAsMCArMSwzNSBA
QAorPHA+VGVzdCBlbnRlcmluZyBmdWxsIHNjcmVlbiBzZWN1cml0eSByZXN0cmljdGlvbnMuIEFu
IGlmcmFtZSB3aXRob3V0IGFuIGFsbG93IGF0dHJpYnV0ZQoraXMgc3RpbGwgcGVybWl0dGVkIHRv
IGZ1bGxzY3JlZW4gaWYgdGhlIHJlcXVlc3QgY29tZXMgZnJvbSB0aGUgY29udGFpbmluZyBkb2N1
bWVudC48L3A+Cis8cD5UbyB0ZXN0IG1hbnVhbGx5LCBwcmVzcyBhbnkga2V5IC0gdGhlIHBhZ2Ug
c2hvdWxkIGVudGVyIGZ1bGwgc2NyZWVuIG1vZGUuPC9wPgorPHNjcmlwdCBzcmM9ImZ1bGwtc2Ny
ZWVuLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK3dpbmRvdy5vbm1lc3NhZ2UgPSBmdW5j
dGlvbiAoZSkgeworICAgIGZyYW1lID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZyYW1lJyk7
CisKKyAgICB0ZXN0KCJkb2N1bWVudC53ZWJraXRGdWxsc2NyZWVuRW5hYmxlZCIpOworICAgIGNv
bnNvbGVXcml0ZSgiaWZyYW1lJ3Mgd2Via2l0RnVsbHNjcmVlbkVuYWJsZWQgc2hvdWxkIGJlIGZh
bHNlOiIpOworICAgIGlmcmFtZU1lc3NhZ2UgPSBlLmRhdGE7CisgICAgdGVzdCgiaWZyYW1lTWVz
c2FnZSA9PSAnZG9jdW1lbnQud2Via2l0RnVsbHNjcmVlbkVuYWJsZWQgPT0gZmFsc2UnIik7CisK
KyAgICB3YWl0Rm9yRXZlbnQoZG9jdW1lbnQsICd3ZWJraXRmdWxsc2NyZWVuY2hhbmdlJywgZnVu
Y3Rpb24oKSB7CisgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlNVQ0NFRUQgLSBlbnRlcmVkIGZ1
bGwgc2NyZWVuISIpOworICAgICAgICAgICAgZW5kVGVzdCgpOworICAgIH0pOworCisgICAgcnVu
V2l0aEtleURvd24oZnVuY3Rpb24oKSB7CisgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7
CisgICAgICAgICAgICBjb25zb2xlV3JpdGUoIkZBSUwgLSBkaWQgbm90IGVudGVyIGZ1bGwgc2Ny
ZWVuISIpOworICAgICAgICAgICAgZW5kVGVzdCgpOworICAgICAgICB9LCA1MCk7CisgICAgICAg
IGZyYW1lLndlYmtpdFJlcXVlc3RGdWxsU2NyZWVuKCk7CisgICAgfSk7Cit9Cis8L3NjcmlwdD4K
KzxpZnJhbWUgaWQ9ImZyYW1lIiBzcmM9J2RhdGE6dGV4dC9odG1sLAorICAgIGlmcmFtZQorICAg
IDxzY3JpcHQ+CisgICAgICAgIHBhcmVudC5wb3N0TWVzc2FnZSgiZG9jdW1lbnQud2Via2l0RnVs
bHNjcmVlbkVuYWJsZWQgPT0gIiArIGRvY3VtZW50LndlYmtpdEZ1bGxzY3JlZW5FbmFibGVkLCAi
KiIpOworICAgIDwvc2NyaXB0PgorICAgICc+Cis8L2lmcmFtZT4KKwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153049</attachid>
            <date>2012-07-18 11:02:40 -0700</date>
            <delta_ts>2012-07-18 11:07:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-91448-20120718110239.patch</filename>
            <type>text/plain</type>
            <size>8817</size>
            <attacher name="Vincent Scheib">scheib</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyOTQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTk5MjJiMTZlNTcxMzQ5
NGM2M2FjYmU3ODkxZmEwY2U2NDRmM2IyNi4uYjMzODA4NjY3ZmFjODE4ODU0NDE3NzBjMTljNmU0
MjIyMmJiZDJiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTA3LTE4ICBWaW5j
ZW50IFNjaGVpYiAgPHNjaGVpYkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgVW5pZnkgYWxsb3dm
dWxsc2NyZWVuIGxvZ2ljIGluIERvY3VtZW50Ojp3ZWJraXRGdWxsU2NyZWVuRW5hYmxlZCBhbmQg
ZnVsbFNjcmVlbklzQWxsb3dlZEZvckVsZW1lbnQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MTQ0OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFVuaWZpZXMgcmVkdW5kYW50IHRyYXZlcnNhbCBsb2dpYyBh
bmQgc3RhdGljIGNhc3QgcHJldmlvdXNseSB1c2VkCisgICAgICAgIHRvIGRldGVybWluZSBpZiBh
biBlbGVtZW50IG9yIGRvY3VtZW50IGNhbiBiZSBtYWRlIGZ1bGxzY3JlZW4uCisgICAgICAgIFRo
aXMgY2xlYW4gdXAgcHJlcGFyZXMgZm9yIHBvaW50ZXIgbG9jaywgd2hpY2ggd2lsbCB1c2UgdGhl
IHNhbWUgbG9naWMuCisKKyAgICAgICAgQWRkZWQgYSB0ZXN0IHRvIGRldGVjdCBhbiBlZGdlIGNh
c2Ugb2YgYW4gb3duaW5nIGRvY3VtZW50IHdpdGgKKyAgICAgICAgZnVsbHNjcmVlbiBwZXJtaXNp
b24gbW92aW5nIGFuIGlmcmFtZSB0byBmdWxsc2NyZWVuLCB3aGlsZSB0aGF0IGlmcmFtZQorICAg
ICAgICBkb2VzIG5vdCBoYXZlIHBlcm1pc2lvbiBmb3IgaXRzIGNvbnRlbnRzIHRvIGJlIG1hZGUg
ZnVsbHNjcmVlbi4KKworICAgICAgICBUZXN0OiBmdWxsc2NyZWVuL2Z1bGwtc2NyZWVuLWlmcmFt
ZS13aXRob3V0LWFsbG93LWF0dHJpYnV0ZS1hbGxvd2VkLWZyb20tcGFyZW50Lmh0bWwKKworICAg
ICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjppc0F0dHJpYnV0ZU9u
QWxsT3duZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpmdWxsU2NyZWVuSXNBbGxv
d2VkRm9yRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6d2Via2l0RnVsbHNj
cmVlbkVuYWJsZWQpOgorCiAyMDEyLTA3LTE4ICBTaW1vbiBIYXVzbWFubiAgPHNpbW9uLmhhdXNt
YW5uQG5va2lhLmNvbT4KIAogICAgICAgICBbQU5HTEVdIE9uIFFULCB1c2UgQmlzb24gYW5kIEZs
ZXggZHVyaW5nIEFOR0xFIGJ1aWxkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCBmYzhlMWI1
Mzc0ZTljNzhmYmY2ZWI4NWJhOWNhMmM2MDI5YjI2NzIwLi4zZDE2MGU4Njc4Zjc1NTI3MDYzMmU1
YjMxN2JkNjUxZDA4YTM5NTg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTU4NSw2ICs1
ODUsMTcgQEAgc3RhdGljIHZvaWQgaGlzdG9ncmFtTXV0YXRpb25FdmVudFVzYWdlKGNvbnN0IHVu
c2lnbmVkIHNob3J0JiBsaXN0ZW5lclR5cGVzKQogICAgIEhpc3RvZ3JhbVN1cHBvcnQ6Omhpc3Rv
Z3JhbUVudW1lcmF0aW9uKCJET01BUEkuUGVyRG9jdW1lbnRNdXRhdGlvbkV2ZW50VXNhZ2UuRE9N
Q2hhcmFjdGVyRGF0YU1vZGlmaWVkIiwgc3RhdGljX2Nhc3Q8Ym9vbD4obGlzdGVuZXJUeXBlcyAm
IERvY3VtZW50OjpET01DSEFSQUNURVJEQVRBTU9ESUZJRURfTElTVEVORVIpLCAyKTsKIH0KIAor
c3RhdGljIGJvb2wgaXNBdHRyaWJ1dGVPbkFsbE93bmVycyhjb25zdCBXZWJDb3JlOjpRdWFsaWZp
ZWROYW1lJiBhdHRyaWJ1dGUsIGNvbnN0IEhUTUxGcmFtZU93bmVyRWxlbWVudCogb3duZXIpCit7
CisgICAgaWYgKCFvd25lcikKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgZG8geworICAgICAg
ICBpZiAoIW93bmVyLT5oYXNBdHRyaWJ1dGUoYXR0cmlidXRlKSkKKyAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICB9IHdoaWxlICgob3duZXIgPSBvd25lci0+ZG9jdW1lbnQoKS0+b3duZXJF
bGVtZW50KCkpKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogRG9jdW1lbnQ6On5Eb2N1bWVudCgp
CiB7CiAgICAgQVNTRVJUKCFyZW5kZXJlcigpKTsKQEAgLTUzNjUsMTUgKzUzNzYsNyBAQCBNZWRp
YUNhblN0YXJ0TGlzdGVuZXIqIERvY3VtZW50Ojp0YWtlQW55TWVkaWFDYW5TdGFydExpc3RlbmVy
KCkKIGJvb2wgRG9jdW1lbnQ6OmZ1bGxTY3JlZW5Jc0FsbG93ZWRGb3JFbGVtZW50KEVsZW1lbnQq
IGVsZW1lbnQpIGNvbnN0CiB7CiAgICAgQVNTRVJUKGVsZW1lbnQpOwotICAgIHdoaWxlIChIVE1M
RnJhbWVPd25lckVsZW1lbnQqIG93bmVyRWxlbWVudCA9IGVsZW1lbnQtPmRvY3VtZW50KCktPm93
bmVyRWxlbWVudCgpKSB7Ci0gICAgICAgIGlmICghb3duZXJFbGVtZW50LT5pc0ZyYW1lRWxlbWVu
dEJhc2UoKSkKLSAgICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAgIGlmICghc3RhdGljX2Nh
c3Q8SFRNTEZyYW1lRWxlbWVudEJhc2UqPihvd25lckVsZW1lbnQpLT5hbGxvd0Z1bGxTY3JlZW4o
KSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgZWxlbWVudCA9IG93bmVyRWxl
bWVudDsKLSAgICB9Ci0gICAgcmV0dXJuIHRydWU7CisgICAgcmV0dXJuIGlzQXR0cmlidXRlT25B
bGxPd25lcnMod2Via2l0YWxsb3dmdWxsc2NyZWVuQXR0ciwgZWxlbWVudC0+ZG9jdW1lbnQoKS0+
b3duZXJFbGVtZW50KCkpOwogfQogCiB2b2lkIERvY3VtZW50OjpyZXF1ZXN0RnVsbFNjcmVlbkZv
ckVsZW1lbnQoRWxlbWVudCogZWxlbWVudCwgdW5zaWduZWQgc2hvcnQgZmxhZ3MsIEZ1bGxTY3Jl
ZW5DaGVja1R5cGUgY2hlY2tUeXBlKQpAQCAtNTU4MiwxOSArNTU4NSw3IEBAIGJvb2wgRG9jdW1l
bnQ6OndlYmtpdEZ1bGxzY3JlZW5FbmFibGVkKCkgY29uc3QKICAgICAvLyBicm93c2luZyBjb250
ZXh0J3MgZG9jdW1lbnRzIGhhdmUgdGhlaXIgZnVsbHNjcmVlbiBlbmFibGVkIGZsYWcgc2V0LCBv
ciBmYWxzZSBvdGhlcndpc2UuCiAKICAgICAvLyBUb3AtbGV2ZWwgYnJvd3NpbmcgY29udGV4dHMg
YXJlIGltcGxpZWQgdG8gaGF2ZSB0aGVpciBhbGxvd0Z1bGxTY3JlZW4gYXR0cmlidXRlIHNldC4K
LSAgICBIVE1MRnJhbWVPd25lckVsZW1lbnQqIG93bmVyID0gb3duZXJFbGVtZW50KCk7Ci0gICAg
aWYgKCFvd25lcikKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICBkbyB7Ci0gICAgICAgIGlm
ICghb3duZXItPmlzRnJhbWVFbGVtZW50QmFzZSgpKQotICAgICAgICAgICAgY29udGludWU7Ci0K
LSAgICAgICAgaWYgKCFzdGF0aWNfY2FzdDxIVE1MRnJhbWVFbGVtZW50QmFzZSo+KG93bmVyKS0+
YWxsb3dGdWxsU2NyZWVuKCkpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfSB3aGls
ZSAoKG93bmVyID0gb3duZXItPmRvY3VtZW50KCktPm93bmVyRWxlbWVudCgpKSk7Ci0KLSAgICBy
ZXR1cm4gdHJ1ZTsgICAgICAgIAorICAgIHJldHVybiBpc0F0dHJpYnV0ZU9uQWxsT3duZXJzKHdl
YmtpdGFsbG93ZnVsbHNjcmVlbkF0dHIsIG93bmVyRWxlbWVudCgpKTsKIH0KIAogdm9pZCBEb2N1
bWVudDo6d2Via2l0V2lsbEVudGVyRnVsbFNjcmVlbkZvckVsZW1lbnQoRWxlbWVudCogZWxlbWVu
dCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1lRWxlbWVudEJhc2Uu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVFbGVtZW50QmFzZS5jcHAKaW5kZXgg
MTZjZjM2MDUxZTg5ZTEyNmVkODYxMTYxNDZhZjJmYzA5NjZkMWNhZC4uZDEyZTdiNDM0YWRlYTA4
MGE4YmZlNGM5MjdiYjc3ZTIxZmY0ODgzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MRnJhbWVFbGVtZW50QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
RnJhbWVFbGVtZW50QmFzZS5jcHAKQEAgLTI0NiwxMSArMjQ2LDQgQEAgaW50IEhUTUxGcmFtZUVs
ZW1lbnRCYXNlOjpoZWlnaHQoKQogICAgIHJldHVybiByZW5kZXJCb3goKS0+aGVpZ2h0KCk7CiB9
CiAKLSNpZiBFTkFCTEUoRlVMTFNDUkVFTl9BUEkpCi1ib29sIEhUTUxGcmFtZUVsZW1lbnRCYXNl
OjphbGxvd0Z1bGxTY3JlZW4oKSBjb25zdAotewotICAgIHJldHVybiBoYXNBdHRyaWJ1dGUod2Vi
a2l0YWxsb3dmdWxsc2NyZWVuQXR0cik7Ci19Ci0jZW5kaWYKLQogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVFbGVtZW50QmFz
ZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVFbGVtZW50QmFzZS5oCmluZGV4IDEx
ZGM5NGQzZGI2NDc1ZTlkNDkwYmFjNDA1MzE3Zjk4NDZiNWI4NjAuLjBmODRkZjM2ZTBiOTY5MmEw
MTVlY2IzN2VkMDgwNGNiODM1OWFjZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEZyYW1lRWxlbWVudEJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGcmFt
ZUVsZW1lbnRCYXNlLmgKQEAgLTQyLDEwICs0Miw2IEBAIHB1YmxpYzoKICAgICBpbnQgd2lkdGgo
KTsKICAgICBpbnQgaGVpZ2h0KCk7CiAKLSNpZiBFTkFCTEUoRlVMTFNDUkVFTl9BUEkpCi0gICAg
dmlydHVhbCBib29sIGFsbG93RnVsbFNjcmVlbigpIGNvbnN0OwotI2VuZGlmCi0KICAgICB2aXJ0
dWFsIGJvb2wgY2FuQ29udGFpblJhbmdlRW5kUG9pbnQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsg
fQogCiBwcm90ZWN0ZWQ6CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMjI3OGY1OGYwNzI2NDA2ODBlMzE3YmU5MTUzNmQ1MmE3
Yjg5YmZmNi4uNTUyNjMxZDUyMzQyMTdlNDY0ZTI5NGNmYTMwMDRkZWMwZmE5ZDg1ZiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDIxIEBACisyMDEyLTA3LTE4ICBWaW5jZW50IFNjaGVpYiAgPHNjaGVpYkBjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgVW5pZnkgYWxsb3dmdWxsc2NyZWVuIGxvZ2ljIGluIERvY3Vt
ZW50Ojp3ZWJraXRGdWxsU2NyZWVuRW5hYmxlZCBhbmQgZnVsbFNjcmVlbklzQWxsb3dlZEZvckVs
ZW1lbnQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05
MTQ0OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVu
aWZpZXMgcmVkdW5kYW50IHRyYXZlcnNhbCBsb2dpYyBhbmQgc3RhdGljIGNhc3QgcHJldmlvdXNs
eSB1c2VkCisgICAgICAgIHRvIGRldGVybWluZSBpZiBhbiBlbGVtZW50IG9yIGRvY3VtZW50IGNh
biBiZSBtYWRlIGZ1bGxzY3JlZW4uCisgICAgICAgIFRoaXMgY2xlYW4gdXAgcHJlcGFyZXMgZm9y
IHBvaW50ZXIgbG9jaywgd2hpY2ggd2lsbCB1c2UgdGhlIHNhbWUgbG9naWMuCisKKyAgICAgICAg
QWRkZWQgYSB0ZXN0IHRvIGRldGVjdCBhbiBlZGdlIGNhc2Ugb2YgYW4gb3duaW5nIGRvY3VtZW50
IHdpdGgKKyAgICAgICAgZnVsbHNjcmVlbiBwZXJtaXNpb24gbW92aW5nIGFuIGlmcmFtZSB0byBm
dWxsc2NyZWVuLCB3aGlsZSB0aGF0IGlmcmFtZQorICAgICAgICBkb2VzIG5vdCBoYXZlIHBlcm1p
c2lvbiBmb3IgaXRzIGNvbnRlbnRzIHRvIGJlIG1hZGUgZnVsbHNjcmVlbi4KKworICAgICAgICAq
IGZ1bGxzY3JlZW4vZnVsbC1zY3JlZW4taWZyYW1lLXdpdGhvdXQtYWxsb3ctYXR0cmlidXRlLWFs
bG93ZWQtZnJvbS1wYXJlbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmdWxsc2Ny
ZWVuL2Z1bGwtc2NyZWVuLWlmcmFtZS13aXRob3V0LWFsbG93LWF0dHJpYnV0ZS1hbGxvd2VkLWZy
b20tcGFyZW50Lmh0bWw6IEFkZGVkLgorCiAyMDEyLTA3LTE4ICBNYXJpbyBTYW5jaGV6IFByYWRh
ICA8bXNhbmNoZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBbV0syXVtHVEtdIEltcGxlbWVudCBB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50IGluIFdLVFIgZm9yIEdUSwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZnVsbHNjcmVlbi9mdWxsLXNjcmVlbi1pZnJhbWUtd2l0aG91dC1hbGxvdy1hdHRyaWJ1
dGUtYWxsb3dlZC1mcm9tLXBhcmVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mdWxsc2Ny
ZWVuL2Z1bGwtc2NyZWVuLWlmcmFtZS13aXRob3V0LWFsbG93LWF0dHJpYnV0ZS1hbGxvd2VkLWZy
b20tcGFyZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNjM0M2E1OGJmN2UyMGM2Y2MxOTUz
OTllNjhmZDdjZjY1MmM4ZWZjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZnVsbHNj
cmVlbi9mdWxsLXNjcmVlbi1pZnJhbWUtd2l0aG91dC1hbGxvdy1hdHRyaWJ1dGUtYWxsb3dlZC1m
cm9tLXBhcmVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorVGVzdCBlbnRlcmluZyBm
dWxsIHNjcmVlbiBzZWN1cml0eSByZXN0cmljdGlvbnMuIEFuIGlmcmFtZSB3aXRob3V0IGFuIGFs
bG93IGF0dHJpYnV0ZSBpcyBzdGlsbCBwZXJtaXR0ZWQgdG8gZnVsbHNjcmVlbiBpZiB0aGUgcmVx
dWVzdCBjb21lcyBmcm9tIHRoZSBjb250YWluaW5nIGRvY3VtZW50LgorCitUbyB0ZXN0IG1hbnVh
bGx5LCBwcmVzcyBhbnkga2V5IC0gdGhlIHBhZ2Ugc2hvdWxkIGVudGVyIGZ1bGwgc2NyZWVuIG1v
ZGUuCisKK1RFU1QoZG9jdW1lbnQud2Via2l0RnVsbHNjcmVlbkVuYWJsZWQpIE9LCitpZnJhbWUn
cyB3ZWJraXRGdWxsc2NyZWVuRW5hYmxlZCBzaG91bGQgYmUgZmFsc2U6CitURVNUKGlmcmFtZU1l
c3NhZ2UgPT0gJ2RvY3VtZW50LndlYmtpdEZ1bGxzY3JlZW5FbmFibGVkID09IGZhbHNlJykgT0sK
K0VWRU5UKHdlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UpCitTVUNDRUVEIC0gZW50ZXJlZCBmdWxsIHNj
cmVlbiEKK0VORCBPRiBURVNUCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Z1bGxzY3JlZW4v
ZnVsbC1zY3JlZW4taWZyYW1lLXdpdGhvdXQtYWxsb3ctYXR0cmlidXRlLWFsbG93ZWQtZnJvbS1w
YXJlbnQuaHRtbCBiL0xheW91dFRlc3RzL2Z1bGxzY3JlZW4vZnVsbC1zY3JlZW4taWZyYW1lLXdp
dGhvdXQtYWxsb3ctYXR0cmlidXRlLWFsbG93ZWQtZnJvbS1wYXJlbnQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li40YWE5MmMzMGU1NzMxYjA0NTdjNjU4ZTUxMjE4NjIzYzUzOGRkMjZhCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZnVsbHNjcmVlbi9mdWxsLXNjcmVlbi1pZnJhbWUtd2l0aG91dC1h
bGxvdy1hdHRyaWJ1dGUtYWxsb3dlZC1mcm9tLXBhcmVudC5odG1sCkBAIC0wLDAgKzEsMzUgQEAK
KzxwPlRlc3QgZW50ZXJpbmcgZnVsbCBzY3JlZW4gc2VjdXJpdHkgcmVzdHJpY3Rpb25zLiBBbiBp
ZnJhbWUgd2l0aG91dCBhbiBhbGxvdyBhdHRyaWJ1dGUKK2lzIHN0aWxsIHBlcm1pdHRlZCB0byBm
dWxsc2NyZWVuIGlmIHRoZSByZXF1ZXN0IGNvbWVzIGZyb20gdGhlIGNvbnRhaW5pbmcgZG9jdW1l
bnQuPC9wPgorPHA+VG8gdGVzdCBtYW51YWxseSwgcHJlc3MgYW55IGtleSAtIHRoZSBwYWdlIHNo
b3VsZCBlbnRlciBmdWxsIHNjcmVlbiBtb2RlLjwvcD4KKzxzY3JpcHQgc3JjPSJmdWxsLXNjcmVl
bi10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Cit3aW5kb3cub25tZXNzYWdlID0gZnVuY3Rp
b24gKGUpIHsKKyAgICBmcmFtZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmcmFtZScpOwor
CisgICAgdGVzdCgiZG9jdW1lbnQud2Via2l0RnVsbHNjcmVlbkVuYWJsZWQiKTsKKyAgICBjb25z
b2xlV3JpdGUoImlmcmFtZSdzIHdlYmtpdEZ1bGxzY3JlZW5FbmFibGVkIHNob3VsZCBiZSBmYWxz
ZToiKTsKKyAgICBpZnJhbWVNZXNzYWdlID0gZS5kYXRhOworICAgIHRlc3QoImlmcmFtZU1lc3Nh
Z2UgPT0gJ2RvY3VtZW50LndlYmtpdEZ1bGxzY3JlZW5FbmFibGVkID09IGZhbHNlJyIpOworCisg
ICAgd2FpdEZvckV2ZW50KGRvY3VtZW50LCAnd2Via2l0ZnVsbHNjcmVlbmNoYW5nZScsIGZ1bmN0
aW9uKCkgeworICAgICAgICAgICAgY29uc29sZVdyaXRlKCJTVUNDRUVEIC0gZW50ZXJlZCBmdWxs
IHNjcmVlbiEiKTsKKyAgICAgICAgICAgIGVuZFRlc3QoKTsKKyAgICB9KTsKKworICAgIHJ1bldp
dGhLZXlEb3duKGZ1bmN0aW9uKCkgeworICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewor
ICAgICAgICAgICAgY29uc29sZVdyaXRlKCJGQUlMIC0gZGlkIG5vdCBlbnRlciBmdWxsIHNjcmVl
biEiKTsKKyAgICAgICAgICAgIGVuZFRlc3QoKTsKKyAgICAgICAgfSwgNTApOworICAgICAgICBm
cmFtZS53ZWJraXRSZXF1ZXN0RnVsbFNjcmVlbigpOworICAgIH0pOworfQorPC9zY3JpcHQ+Cis8
aWZyYW1lIGlkPSJmcmFtZSIgc3JjPSdkYXRhOnRleHQvaHRtbCwKKyAgICBpZnJhbWUKKyAgICA8
c2NyaXB0PgorICAgICAgICBwYXJlbnQucG9zdE1lc3NhZ2UoImRvY3VtZW50LndlYmtpdEZ1bGxz
Y3JlZW5FbmFibGVkID09ICIgKyBkb2N1bWVudC53ZWJraXRGdWxsc2NyZWVuRW5hYmxlZCwgIioi
KTsKKyAgICA8L3NjcmlwdD4KKyAgICAnPgorPC9pZnJhbWU+CisK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153050</attachid>
            <date>2012-07-18 11:07:14 -0700</date>
            <delta_ts>2012-07-18 13:06:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-91448-20120718110714.patch</filename>
            <type>text/plain</type>
            <size>8853</size>
            <attacher name="Vincent Scheib">scheib</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyOTQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTk5MjJiMTZlNTcxMzQ5
NGM2M2FjYmU3ODkxZmEwY2U2NDRmM2IyNi4uYjMzODA4NjY3ZmFjODE4ODU0NDE3NzBjMTljNmU0
MjIyMmJiZDJiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTA3LTE4ICBWaW5j
ZW50IFNjaGVpYiAgPHNjaGVpYkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgVW5pZnkgYWxsb3dm
dWxsc2NyZWVuIGxvZ2ljIGluIERvY3VtZW50Ojp3ZWJraXRGdWxsU2NyZWVuRW5hYmxlZCBhbmQg
ZnVsbFNjcmVlbklzQWxsb3dlZEZvckVsZW1lbnQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MTQ0OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFVuaWZpZXMgcmVkdW5kYW50IHRyYXZlcnNhbCBsb2dpYyBh
bmQgc3RhdGljIGNhc3QgcHJldmlvdXNseSB1c2VkCisgICAgICAgIHRvIGRldGVybWluZSBpZiBh
biBlbGVtZW50IG9yIGRvY3VtZW50IGNhbiBiZSBtYWRlIGZ1bGxzY3JlZW4uCisgICAgICAgIFRo
aXMgY2xlYW4gdXAgcHJlcGFyZXMgZm9yIHBvaW50ZXIgbG9jaywgd2hpY2ggd2lsbCB1c2UgdGhl
IHNhbWUgbG9naWMuCisKKyAgICAgICAgQWRkZWQgYSB0ZXN0IHRvIGRldGVjdCBhbiBlZGdlIGNh
c2Ugb2YgYW4gb3duaW5nIGRvY3VtZW50IHdpdGgKKyAgICAgICAgZnVsbHNjcmVlbiBwZXJtaXNp
b24gbW92aW5nIGFuIGlmcmFtZSB0byBmdWxsc2NyZWVuLCB3aGlsZSB0aGF0IGlmcmFtZQorICAg
ICAgICBkb2VzIG5vdCBoYXZlIHBlcm1pc2lvbiBmb3IgaXRzIGNvbnRlbnRzIHRvIGJlIG1hZGUg
ZnVsbHNjcmVlbi4KKworICAgICAgICBUZXN0OiBmdWxsc2NyZWVuL2Z1bGwtc2NyZWVuLWlmcmFt
ZS13aXRob3V0LWFsbG93LWF0dHJpYnV0ZS1hbGxvd2VkLWZyb20tcGFyZW50Lmh0bWwKKworICAg
ICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjppc0F0dHJpYnV0ZU9u
QWxsT3duZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpmdWxsU2NyZWVuSXNBbGxv
d2VkRm9yRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6d2Via2l0RnVsbHNj
cmVlbkVuYWJsZWQpOgorCiAyMDEyLTA3LTE4ICBTaW1vbiBIYXVzbWFubiAgPHNpbW9uLmhhdXNt
YW5uQG5va2lhLmNvbT4KIAogICAgICAgICBbQU5HTEVdIE9uIFFULCB1c2UgQmlzb24gYW5kIEZs
ZXggZHVyaW5nIEFOR0xFIGJ1aWxkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCBmYzhlMWI1
Mzc0ZTljNzhmYmY2ZWI4NWJhOWNhMmM2MDI5YjI2NzIwLi5hZmE3MzJmYTEwMjVhYTA0MTY4NDEw
MDAzNTEyOTIxM2E4NmQ0NWJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTU4NSw2ICs1
ODUsMTkgQEAgc3RhdGljIHZvaWQgaGlzdG9ncmFtTXV0YXRpb25FdmVudFVzYWdlKGNvbnN0IHVu
c2lnbmVkIHNob3J0JiBsaXN0ZW5lclR5cGVzKQogICAgIEhpc3RvZ3JhbVN1cHBvcnQ6Omhpc3Rv
Z3JhbUVudW1lcmF0aW9uKCJET01BUEkuUGVyRG9jdW1lbnRNdXRhdGlvbkV2ZW50VXNhZ2UuRE9N
Q2hhcmFjdGVyRGF0YU1vZGlmaWVkIiwgc3RhdGljX2Nhc3Q8Ym9vbD4obGlzdGVuZXJUeXBlcyAm
IERvY3VtZW50OjpET01DSEFSQUNURVJEQVRBTU9ESUZJRURfTElTVEVORVIpLCAyKTsKIH0KIAor
I2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKK3N0YXRpYyBib29sIGlzQXR0cmlidXRlT25BbGxP
d25lcnMoY29uc3QgV2ViQ29yZTo6UXVhbGlmaWVkTmFtZSYgYXR0cmlidXRlLCBjb25zdCBIVE1M
RnJhbWVPd25lckVsZW1lbnQqIG93bmVyKQoreworICAgIGlmICghb3duZXIpCisgICAgICAgIHJl
dHVybiB0cnVlOworICAgIGRvIHsKKyAgICAgICAgaWYgKCFvd25lci0+aGFzQXR0cmlidXRlKGF0
dHJpYnV0ZSkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfSB3aGlsZSAoKG93bmVy
ID0gb3duZXItPmRvY3VtZW50KCktPm93bmVyRWxlbWVudCgpKSk7CisgICAgcmV0dXJuIHRydWU7
Cit9CisjZW5kaWYKKwogRG9jdW1lbnQ6On5Eb2N1bWVudCgpCiB7CiAgICAgQVNTRVJUKCFyZW5k
ZXJlcigpKTsKQEAgLTUzNjUsMTUgKzUzNzgsNyBAQCBNZWRpYUNhblN0YXJ0TGlzdGVuZXIqIERv
Y3VtZW50Ojp0YWtlQW55TWVkaWFDYW5TdGFydExpc3RlbmVyKCkKIGJvb2wgRG9jdW1lbnQ6OmZ1
bGxTY3JlZW5Jc0FsbG93ZWRGb3JFbGVtZW50KEVsZW1lbnQqIGVsZW1lbnQpIGNvbnN0CiB7CiAg
ICAgQVNTRVJUKGVsZW1lbnQpOwotICAgIHdoaWxlIChIVE1MRnJhbWVPd25lckVsZW1lbnQqIG93
bmVyRWxlbWVudCA9IGVsZW1lbnQtPmRvY3VtZW50KCktPm93bmVyRWxlbWVudCgpKSB7Ci0gICAg
ICAgIGlmICghb3duZXJFbGVtZW50LT5pc0ZyYW1lRWxlbWVudEJhc2UoKSkKLSAgICAgICAgICAg
IGNvbnRpbnVlOwotCi0gICAgICAgIGlmICghc3RhdGljX2Nhc3Q8SFRNTEZyYW1lRWxlbWVudEJh
c2UqPihvd25lckVsZW1lbnQpLT5hbGxvd0Z1bGxTY3JlZW4oKSkKLSAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKLSAgICAgICAgZWxlbWVudCA9IG93bmVyRWxlbWVudDsKLSAgICB9Ci0gICAgcmV0
dXJuIHRydWU7CisgICAgcmV0dXJuIGlzQXR0cmlidXRlT25BbGxPd25lcnMod2Via2l0YWxsb3dm
dWxsc2NyZWVuQXR0ciwgZWxlbWVudC0+ZG9jdW1lbnQoKS0+b3duZXJFbGVtZW50KCkpOwogfQog
CiB2b2lkIERvY3VtZW50OjpyZXF1ZXN0RnVsbFNjcmVlbkZvckVsZW1lbnQoRWxlbWVudCogZWxl
bWVudCwgdW5zaWduZWQgc2hvcnQgZmxhZ3MsIEZ1bGxTY3JlZW5DaGVja1R5cGUgY2hlY2tUeXBl
KQpAQCAtNTU4MiwxOSArNTU4Nyw3IEBAIGJvb2wgRG9jdW1lbnQ6OndlYmtpdEZ1bGxzY3JlZW5F
bmFibGVkKCkgY29uc3QKICAgICAvLyBicm93c2luZyBjb250ZXh0J3MgZG9jdW1lbnRzIGhhdmUg
dGhlaXIgZnVsbHNjcmVlbiBlbmFibGVkIGZsYWcgc2V0LCBvciBmYWxzZSBvdGhlcndpc2UuCiAK
ICAgICAvLyBUb3AtbGV2ZWwgYnJvd3NpbmcgY29udGV4dHMgYXJlIGltcGxpZWQgdG8gaGF2ZSB0
aGVpciBhbGxvd0Z1bGxTY3JlZW4gYXR0cmlidXRlIHNldC4KLSAgICBIVE1MRnJhbWVPd25lckVs
ZW1lbnQqIG93bmVyID0gb3duZXJFbGVtZW50KCk7Ci0gICAgaWYgKCFvd25lcikKLSAgICAgICAg
cmV0dXJuIHRydWU7Ci0KLSAgICBkbyB7Ci0gICAgICAgIGlmICghb3duZXItPmlzRnJhbWVFbGVt
ZW50QmFzZSgpKQotICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAgaWYgKCFzdGF0aWNf
Y2FzdDxIVE1MRnJhbWVFbGVtZW50QmFzZSo+KG93bmVyKS0+YWxsb3dGdWxsU2NyZWVuKCkpCi0g
ICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfSB3aGlsZSAoKG93bmVyID0gb3duZXItPmRv
Y3VtZW50KCktPm93bmVyRWxlbWVudCgpKSk7Ci0KLSAgICByZXR1cm4gdHJ1ZTsgICAgICAgIAor
ICAgIHJldHVybiBpc0F0dHJpYnV0ZU9uQWxsT3duZXJzKHdlYmtpdGFsbG93ZnVsbHNjcmVlbkF0
dHIsIG93bmVyRWxlbWVudCgpKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6d2Via2l0V2lsbEVudGVy
RnVsbFNjcmVlbkZvckVsZW1lbnQoRWxlbWVudCogZWxlbWVudCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1lRWxlbWVudEJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MRnJhbWVFbGVtZW50QmFzZS5jcHAKaW5kZXggMTZjZjM2MDUxZTg5ZTEyNmVkODYx
MTYxNDZhZjJmYzA5NjZkMWNhZC4uZDEyZTdiNDM0YWRlYTA4MGE4YmZlNGM5MjdiYjc3ZTIxZmY0
ODgzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVFbGVtZW50QmFz
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVFbGVtZW50QmFzZS5jcHAK
QEAgLTI0NiwxMSArMjQ2LDQgQEAgaW50IEhUTUxGcmFtZUVsZW1lbnRCYXNlOjpoZWlnaHQoKQog
ICAgIHJldHVybiByZW5kZXJCb3goKS0+aGVpZ2h0KCk7CiB9CiAKLSNpZiBFTkFCTEUoRlVMTFND
UkVFTl9BUEkpCi1ib29sIEhUTUxGcmFtZUVsZW1lbnRCYXNlOjphbGxvd0Z1bGxTY3JlZW4oKSBj
b25zdAotewotICAgIHJldHVybiBoYXNBdHRyaWJ1dGUod2Via2l0YWxsb3dmdWxsc2NyZWVuQXR0
cik7Ci19Ci0jZW5kaWYKLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVFbGVtZW50QmFzZS5oIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MRnJhbWVFbGVtZW50QmFzZS5oCmluZGV4IDExZGM5NGQzZGI2NDc1ZTlkNDkwYmFj
NDA1MzE3Zjk4NDZiNWI4NjAuLjBmODRkZjM2ZTBiOTY5MmEwMTVlY2IzN2VkMDgwNGNiODM1OWFj
ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1lRWxlbWVudEJhc2Uu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGcmFtZUVsZW1lbnRCYXNlLmgKQEAgLTQy
LDEwICs0Miw2IEBAIHB1YmxpYzoKICAgICBpbnQgd2lkdGgoKTsKICAgICBpbnQgaGVpZ2h0KCk7
CiAKLSNpZiBFTkFCTEUoRlVMTFNDUkVFTl9BUEkpCi0gICAgdmlydHVhbCBib29sIGFsbG93RnVs
bFNjcmVlbigpIGNvbnN0OwotI2VuZGlmCi0KICAgICB2aXJ0dWFsIGJvb2wgY2FuQ29udGFpblJh
bmdlRW5kUG9pbnQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogCiBwcm90ZWN0ZWQ6CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggMjI3OGY1OGYwNzI2NDA2ODBlMzE3YmU5MTUzNmQ1MmE3Yjg5YmZmNi4uNTUyNjMxZDUyMzQy
MTdlNDY0ZTI5NGNmYTMwMDRkZWMwZmE5ZDg1ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEy
LTA3LTE4ICBWaW5jZW50IFNjaGVpYiAgPHNjaGVpYkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
VW5pZnkgYWxsb3dmdWxsc2NyZWVuIGxvZ2ljIGluIERvY3VtZW50Ojp3ZWJraXRGdWxsU2NyZWVu
RW5hYmxlZCBhbmQgZnVsbFNjcmVlbklzQWxsb3dlZEZvckVsZW1lbnQuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MTQ0OAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVuaWZpZXMgcmVkdW5kYW50IHRyYXZl
cnNhbCBsb2dpYyBhbmQgc3RhdGljIGNhc3QgcHJldmlvdXNseSB1c2VkCisgICAgICAgIHRvIGRl
dGVybWluZSBpZiBhbiBlbGVtZW50IG9yIGRvY3VtZW50IGNhbiBiZSBtYWRlIGZ1bGxzY3JlZW4u
CisgICAgICAgIFRoaXMgY2xlYW4gdXAgcHJlcGFyZXMgZm9yIHBvaW50ZXIgbG9jaywgd2hpY2gg
d2lsbCB1c2UgdGhlIHNhbWUgbG9naWMuCisKKyAgICAgICAgQWRkZWQgYSB0ZXN0IHRvIGRldGVj
dCBhbiBlZGdlIGNhc2Ugb2YgYW4gb3duaW5nIGRvY3VtZW50IHdpdGgKKyAgICAgICAgZnVsbHNj
cmVlbiBwZXJtaXNpb24gbW92aW5nIGFuIGlmcmFtZSB0byBmdWxsc2NyZWVuLCB3aGlsZSB0aGF0
IGlmcmFtZQorICAgICAgICBkb2VzIG5vdCBoYXZlIHBlcm1pc2lvbiBmb3IgaXRzIGNvbnRlbnRz
IHRvIGJlIG1hZGUgZnVsbHNjcmVlbi4KKworICAgICAgICAqIGZ1bGxzY3JlZW4vZnVsbC1zY3Jl
ZW4taWZyYW1lLXdpdGhvdXQtYWxsb3ctYXR0cmlidXRlLWFsbG93ZWQtZnJvbS1wYXJlbnQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmdWxsc2NyZWVuL2Z1bGwtc2NyZWVuLWlmcmFt
ZS13aXRob3V0LWFsbG93LWF0dHJpYnV0ZS1hbGxvd2VkLWZyb20tcGFyZW50Lmh0bWw6IEFkZGVk
LgorCiAyMDEyLTA3LTE4ICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bXNhbmNoZXpAaWdhbGlhLmNv
bT4KIAogICAgICAgICBbV0syXVtHVEtdIEltcGxlbWVudCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
IGluIFdLVFIgZm9yIEdUSwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZnVsbHNjcmVlbi9mdWxs
LXNjcmVlbi1pZnJhbWUtd2l0aG91dC1hbGxvdy1hdHRyaWJ1dGUtYWxsb3dlZC1mcm9tLXBhcmVu
dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mdWxsc2NyZWVuL2Z1bGwtc2NyZWVuLWlmcmFt
ZS13aXRob3V0LWFsbG93LWF0dHJpYnV0ZS1hbGxvd2VkLWZyb20tcGFyZW50LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5jNjM0M2E1OGJmN2UyMGM2Y2MxOTUzOTllNjhmZDdjZjY1MmM4ZWZjCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZnVsbHNjcmVlbi9mdWxsLXNjcmVlbi1pZnJh
bWUtd2l0aG91dC1hbGxvdy1hdHRyaWJ1dGUtYWxsb3dlZC1mcm9tLXBhcmVudC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMSBAQAorVGVzdCBlbnRlcmluZyBmdWxsIHNjcmVlbiBzZWN1cml0eSBy
ZXN0cmljdGlvbnMuIEFuIGlmcmFtZSB3aXRob3V0IGFuIGFsbG93IGF0dHJpYnV0ZSBpcyBzdGls
bCBwZXJtaXR0ZWQgdG8gZnVsbHNjcmVlbiBpZiB0aGUgcmVxdWVzdCBjb21lcyBmcm9tIHRoZSBj
b250YWluaW5nIGRvY3VtZW50LgorCitUbyB0ZXN0IG1hbnVhbGx5LCBwcmVzcyBhbnkga2V5IC0g
dGhlIHBhZ2Ugc2hvdWxkIGVudGVyIGZ1bGwgc2NyZWVuIG1vZGUuCisKK1RFU1QoZG9jdW1lbnQu
d2Via2l0RnVsbHNjcmVlbkVuYWJsZWQpIE9LCitpZnJhbWUncyB3ZWJraXRGdWxsc2NyZWVuRW5h
YmxlZCBzaG91bGQgYmUgZmFsc2U6CitURVNUKGlmcmFtZU1lc3NhZ2UgPT0gJ2RvY3VtZW50Lndl
YmtpdEZ1bGxzY3JlZW5FbmFibGVkID09IGZhbHNlJykgT0sKK0VWRU5UKHdlYmtpdGZ1bGxzY3Jl
ZW5jaGFuZ2UpCitTVUNDRUVEIC0gZW50ZXJlZCBmdWxsIHNjcmVlbiEKK0VORCBPRiBURVNUCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Z1bGxzY3JlZW4vZnVsbC1zY3JlZW4taWZyYW1lLXdp
dGhvdXQtYWxsb3ctYXR0cmlidXRlLWFsbG93ZWQtZnJvbS1wYXJlbnQuaHRtbCBiL0xheW91dFRl
c3RzL2Z1bGxzY3JlZW4vZnVsbC1zY3JlZW4taWZyYW1lLXdpdGhvdXQtYWxsb3ctYXR0cmlidXRl
LWFsbG93ZWQtZnJvbS1wYXJlbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40YWE5MmMzMGU1NzMxYjA0NTdj
NjU4ZTUxMjE4NjIzYzUzOGRkMjZhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZnVs
bHNjcmVlbi9mdWxsLXNjcmVlbi1pZnJhbWUtd2l0aG91dC1hbGxvdy1hdHRyaWJ1dGUtYWxsb3dl
ZC1mcm9tLXBhcmVudC5odG1sCkBAIC0wLDAgKzEsMzUgQEAKKzxwPlRlc3QgZW50ZXJpbmcgZnVs
bCBzY3JlZW4gc2VjdXJpdHkgcmVzdHJpY3Rpb25zLiBBbiBpZnJhbWUgd2l0aG91dCBhbiBhbGxv
dyBhdHRyaWJ1dGUKK2lzIHN0aWxsIHBlcm1pdHRlZCB0byBmdWxsc2NyZWVuIGlmIHRoZSByZXF1
ZXN0IGNvbWVzIGZyb20gdGhlIGNvbnRhaW5pbmcgZG9jdW1lbnQuPC9wPgorPHA+VG8gdGVzdCBt
YW51YWxseSwgcHJlc3MgYW55IGtleSAtIHRoZSBwYWdlIHNob3VsZCBlbnRlciBmdWxsIHNjcmVl
biBtb2RlLjwvcD4KKzxzY3JpcHQgc3JjPSJmdWxsLXNjcmVlbi10ZXN0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQ+Cit3aW5kb3cub25tZXNzYWdlID0gZnVuY3Rpb24gKGUpIHsKKyAgICBmcmFtZSA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmcmFtZScpOworCisgICAgdGVzdCgiZG9jdW1lbnQu
d2Via2l0RnVsbHNjcmVlbkVuYWJsZWQiKTsKKyAgICBjb25zb2xlV3JpdGUoImlmcmFtZSdzIHdl
YmtpdEZ1bGxzY3JlZW5FbmFibGVkIHNob3VsZCBiZSBmYWxzZToiKTsKKyAgICBpZnJhbWVNZXNz
YWdlID0gZS5kYXRhOworICAgIHRlc3QoImlmcmFtZU1lc3NhZ2UgPT0gJ2RvY3VtZW50LndlYmtp
dEZ1bGxzY3JlZW5FbmFibGVkID09IGZhbHNlJyIpOworCisgICAgd2FpdEZvckV2ZW50KGRvY3Vt
ZW50LCAnd2Via2l0ZnVsbHNjcmVlbmNoYW5nZScsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAg
Y29uc29sZVdyaXRlKCJTVUNDRUVEIC0gZW50ZXJlZCBmdWxsIHNjcmVlbiEiKTsKKyAgICAgICAg
ICAgIGVuZFRlc3QoKTsKKyAgICB9KTsKKworICAgIHJ1bldpdGhLZXlEb3duKGZ1bmN0aW9uKCkg
eworICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgY29uc29sZVdy
aXRlKCJGQUlMIC0gZGlkIG5vdCBlbnRlciBmdWxsIHNjcmVlbiEiKTsKKyAgICAgICAgICAgIGVu
ZFRlc3QoKTsKKyAgICAgICAgfSwgNTApOworICAgICAgICBmcmFtZS53ZWJraXRSZXF1ZXN0RnVs
bFNjcmVlbigpOworICAgIH0pOworfQorPC9zY3JpcHQ+Cis8aWZyYW1lIGlkPSJmcmFtZSIgc3Jj
PSdkYXRhOnRleHQvaHRtbCwKKyAgICBpZnJhbWUKKyAgICA8c2NyaXB0PgorICAgICAgICBwYXJl
bnQucG9zdE1lc3NhZ2UoImRvY3VtZW50LndlYmtpdEZ1bGxzY3JlZW5FbmFibGVkID09ICIgKyBk
b2N1bWVudC53ZWJraXRGdWxsc2NyZWVuRW5hYmxlZCwgIioiKTsKKyAgICA8L3NjcmlwdD4KKyAg
ICAnPgorPC9pZnJhbWU+CisK
</data>

          </attachment>
      

    </bug>

</bugzilla>