<?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>105546</bug_id>
          
          <creation_ts>2012-12-20 09:41:40 -0800</creation_ts>
          <short_desc>Add window.internals.nonFastScrollableRects for testing scrollable areas in fast/slow paths</short_desc>
          <delta_ts>2013-01-07 14:15:02 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</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>
          
          <blocked>104950</blocked>
    
    <blocked>105075</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Xianzhu Wang">wangxianzhu</reporter>
          <assigned_to name="Xianzhu Wang">wangxianzhu</assigned_to>
          <cc>andersca</cc>
    
    <cc>bdakin</cc>
    
    <cc>eric</cc>
    
    <cc>jamesr</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>philn</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>skyostil</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>trchen</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>795499</commentid>
    <comment_count>0</comment_count>
    <who name="Xianzhu Wang">wangxianzhu</who>
    <bug_when>2012-12-20 09:41:40 -0800</bug_when>
    <thetext>We need to test if a scrollable area will be scrolled in fast/slow path in bug 105075 and bug 104950.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795555</commentid>
    <comment_count>1</comment_count>
      <attachid>180364</attachid>
    <who name="Xianzhu Wang">wangxianzhu</who>
    <bug_when>2012-12-20 10:42:57 -0800</bug_when>
    <thetext>Created attachment 180364
Patch to grab missing symbols on ews</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795579</commentid>
    <comment_count>2</comment_count>
      <attachid>180364</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-12-20 11:06:46 -0800</bug_when>
    <thetext>Comment on attachment 180364
Patch to grab missing symbols on ews

Attachment 180364 did not pass win-ews (win):
Output: http://queues.webkit.org/results/15459060</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795588</commentid>
    <comment_count>3</comment_count>
      <attachid>180375</attachid>
    <who name="Xianzhu Wang">wangxianzhu</who>
    <bug_when>2012-12-20 11:15:49 -0800</bug_when>
    <thetext>Created attachment 180375
Patch to grab win symbol</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795620</commentid>
    <comment_count>4</comment_count>
      <attachid>180375</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-12-20 11:52:39 -0800</bug_when>
    <thetext>Comment on attachment 180375
Patch to grab win symbol

Attachment 180375 did not pass win-ews (win):
Output: http://queues.webkit.org/results/15461038</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795713</commentid>
    <comment_count>5</comment_count>
      <attachid>180396</attachid>
    <who name="Xianzhu Wang">wangxianzhu</who>
    <bug_when>2012-12-20 13:09:52 -0800</bug_when>
    <thetext>Created attachment 180396
Patch for review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>796056</commentid>
    <comment_count>6</comment_count>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2012-12-20 19:16:41 -0800</bug_when>
    <thetext>I think it would be more useful to export the rects as javascript arrays. That way it is easier to write test scripts to generate absolute &lt;divs&gt; on the page, in case we want to make it a pixel test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>796354</commentid>
    <comment_count>7</comment_count>
    <who name="Xianzhu Wang">wangxianzhu</who>
    <bug_when>2012-12-21 10:01:32 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; I think it would be more useful to export the rects as javascript arrays. That way it is easier to write test scripts to generate absolute &lt;divs&gt; on the page, in case we want to make it a pixel test.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>796355</commentid>
    <comment_count>8</comment_count>
      <attachid>180531</attachid>
    <who name="Xianzhu Wang">wangxianzhu</who>
    <bug_when>2012-12-21 10:01:53 -0800</bug_when>
    <thetext>Created attachment 180531
Patch to fail to grab win symbol</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>796365</commentid>
    <comment_count>9</comment_count>
      <attachid>180531</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-12-21 10:31:55 -0800</bug_when>
    <thetext>Comment on attachment 180531
Patch to fail to grab win symbol

Attachment 180531 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/15455461</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>796480</commentid>
    <comment_count>10</comment_count>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2012-12-21 14:53:58 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; &gt; I think it would be more useful to export the rects as javascript arrays. That way it is easier to write test scripts to generate absolute &lt;divs&gt; on the page, in case we want to make it a pixel test.
&gt; 
&gt; Done.

Thanks! I really like this patch!

nits: By the way, the rects returned will be in absolute coordinates right? I think we can reuse ClientRect as the return type -- not worth the trouble to create another rect type, and some other internal functions are already doing this. However I think we should document it somehow. Maybe a line of comment? Or change the function name to nonFastScrollableAbsoluteRects? I don&apos;t have a strong opinion to either. Your call.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>796550</commentid>
    <comment_count>11</comment_count>
    <who name="Xianzhu Wang">wangxianzhu</who>
    <bug_when>2012-12-21 16:48:54 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; Thanks! I really like this patch!
&gt; 
&gt; nits: By the way, the rects returned will be in absolute coordinates right? I think we can reuse ClientRect as the return type -- not worth the trouble to create another rect type, and some other internal functions are already doing this. However I think we should document it somehow. Maybe a line of comment? Or change the function name to nonFastScrollableAbsoluteRects? I don&apos;t have a strong opinion to either. Your call.

The rects will be in the coordinates of the frame corresponding to the document parameter of the function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>796567</commentid>
    <comment_count>12</comment_count>
      <attachid>180580</attachid>
    <who name="Xianzhu Wang">wangxianzhu</who>
    <bug_when>2012-12-21 17:35:05 -0800</bug_when>
    <thetext>Created attachment 180580
Retry ews-win to grab symbol</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>796569</commentid>
    <comment_count>13</comment_count>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2012-12-21 17:36:37 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; (In reply to comment #10)
&gt; &gt; Thanks! I really like this patch!
&gt; &gt; 
&gt; &gt; nits: By the way, the rects returned will be in absolute coordinates right? I think we can reuse ClientRect as the return type -- not worth the trouble to create another rect type, and some other internal functions are already doing this. However I think we should document it somehow. Maybe a line of comment? Or change the function name to nonFastScrollableAbsoluteRects? I don&apos;t have a strong opinion to either. Your call.
&gt; 
&gt; The rects will be in the coordinates of the frame corresponding to the document parameter of the function.

It is absolute rect, as seen from:
IntRect RenderLayer::scrollableAreaBoundingBox() const
{
    return renderer()-&gt;absoluteBoundingBoxRect();
}

The definition of absolute rect is simple. Means its position is the same as if you add a position:absolute box on the document body.

It becomes complicated with the Chromium Android scaling model (applyPageScaleFactorInCompositor() == false) though. In this mode RenderObject::absoluteRect WILL BE SCALED by the page scale factor. That is why we have another term &quot;normalized coordinate&quot; to describe the unscaled absolute rect. It is unlikely to fix absolute rect without breaking everything. Sorry. :(

Bonus: We also have this client coordinate, which is measured relative to the upper left of the viewport, in CSS pixels. It is essentially the same as if you add a position:fixed box on the document body. (Not entirely true, FrameView::scrollOffsetForFixedPosition() can return arbitrary offset to layout fixed position) For Chromium Android M18 the client coordinates have similar scaling problem as absolute coordinates. I submitted a few patches recently to make sure most of the DOM object to correctly input/output unscaled coordinate. In next release they will work properly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>796629</commentid>
    <comment_count>14</comment_count>
      <attachid>180580</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-12-21 22:55:49 -0800</bug_when>
    <thetext>Comment on attachment 180580
Retry ews-win to grab symbol

Attachment 180580 did not pass win-ews (win):
Output: http://queues.webkit.org/results/15451681</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>800386</commentid>
    <comment_count>15</comment_count>
      <attachid>181333</attachid>
    <who name="Xianzhu Wang">wangxianzhu</who>
    <bug_when>2013-01-04 10:52:40 -0800</bug_when>
    <thetext>Created attachment 181333
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>800393</commentid>
    <comment_count>16</comment_count>
      <attachid>181333</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-01-04 11:00:50 -0800</bug_when>
    <thetext>Comment on attachment 181333
Patch

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

&gt; Source/WebCore/dom/ClientRectList.h:43
&gt;          static PassRefPtr&lt;ClientRectList&gt; create(const Vector&lt;FloatQuad&gt;&amp; quads) { return adoptRef(new ClientRectList(quads)); }
&gt; +        static PassRefPtr&lt;ClientRectList&gt; create(const Vector&lt;FloatRect&gt;&amp; rects) { return adoptRef(new ClientRectList(rects)); }

Is this necessary?  All FloatRects are also FloatQuads and I don&apos;t think this case is performance sensitive enough to need special casing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>800458</commentid>
    <comment_count>17</comment_count>
      <attachid>181350</attachid>
    <who name="Xianzhu Wang">wangxianzhu</who>
    <bug_when>2013-01-04 11:48:05 -0800</bug_when>
    <thetext>Created attachment 181350
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>800463</commentid>
    <comment_count>18</comment_count>
    <who name="Xianzhu Wang">wangxianzhu</who>
    <bug_when>2013-01-04 11:50:13 -0800</bug_when>
    <thetext>(In reply to comment #16)
&gt; (From update of attachment 181333 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=181333&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/dom/ClientRectList.h:43
&gt; &gt;          static PassRefPtr&lt;ClientRectList&gt; create(const Vector&lt;FloatQuad&gt;&amp; quads) { return adoptRef(new ClientRectList(quads)); }
&gt; &gt; +        static PassRefPtr&lt;ClientRectList&gt; create(const Vector&lt;FloatRect&gt;&amp; rects) { return adoptRef(new ClientRectList(rects)); }
&gt; 
&gt; Is this necessary?  All FloatRects are also FloatQuads and I don&apos;t think this case is performance sensitive enough to need special casing.

Agreed. Removed the added create() and constructor.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>801521</commentid>
    <comment_count>19</comment_count>
    <who name="Xianzhu Wang">wangxianzhu</who>
    <bug_when>2013-01-07 12:02:09 -0800</bug_when>
    <thetext>@jamesr, does the latest patch look good to you?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>801615</commentid>
    <comment_count>20</comment_count>
      <attachid>181350</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-01-07 13:44:51 -0800</bug_when>
    <thetext>Comment on attachment 181350
Patch

R=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>801648</commentid>
    <comment_count>21</comment_count>
      <attachid>181350</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-07 14:14:55 -0800</bug_when>
    <thetext>Comment on attachment 181350
Patch

Clearing flags on attachment: 181350

Committed r138991: &lt;http://trac.webkit.org/changeset/138991&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>801649</commentid>
    <comment_count>22</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-07 14:15:02 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180364</attachid>
            <date>2012-12-20 10:42:57 -0800</date>
            <delta_ts>2012-12-20 11:15:46 -0800</delta_ts>
            <desc>Patch to grab missing symbols on ews</desc>
            <filename>bug-105546-20121220184013.patch</filename>
            <type>text/plain</type>
            <size>10450</size>
            <attacher name="Xianzhu Wang">wangxianzhu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4MjU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWRkNDUzNGEzYmNkYmFl
OWQxZDBkNDNmM2JhM2I3MjIxYWIyN2YwNi4uZmJjM2VlYWJlNjcyY2UyZGIyOGVlYjVhM2UyODAw
NjRiNzI0ODRhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEyLTEyLTIwICBYaWFu
emh1IFdhbmcgIDx3YW5neGlhbnpodUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIHdpbmRv
dy5pbnRlcm5hbHMubm9uRmFzdFNjcm9sbGFibGVSZWdpb25Bc1RleHQgZm9yIHRlc3Rpbmcgc2Ny
b2xsYWJsZSBhcmVhcyBpbiBmYXN0L3Nsb3cgcGF0aHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTU0NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gQWRkZWQgdGVzdCBBUEkgZm9y
IG5ldyB0ZXN0cyBvZiBvdGhlciBidWdzLgorCisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlBhZ2U6Om5vbkZhc3RTY3JvbGxhYmxlUmVnaW9uQXNUZXh0KToKKyAg
ICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorICAgICAgICAoUGFnZSk6
CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3I6OmNvbXB1dGVOb25GYXN0U2Nyb2xs
YWJsZVJlZ2lvbik6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdDb29yZGluYXRvcjo6bm9u
RmFzdFNjcm9sbGFibGVSZWdpb25Bc1RleHQpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
ICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaDoKKyAgICAgICAgKFNjcm9s
bGluZ0Nvb3JkaW5hdG9yKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9SZWdpb24uY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVnaW9uOjpTaGFwZTo6ZHVtcCk6CisgICAgICAgIChXZWJD
b3JlOjpSZWdpb246OnRvU3RyaW5nKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVnaW9uOjpkdW1wKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9SZWdpb24u
aDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoUmVnaW9uKToKKyAgICAgICAgKFNoYXBl
KToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJ
bnRlcm5hbHM6Om5vbkZhc3RTY3JvbGxhYmxlUmVnaW9uQXNUZXh0KToKKyAgICAgICAgKFdlYkNv
cmUpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGluZy9J
bnRlcm5hbHMuaWRsOgorCiAyMDEyLTEyLTIwICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJj
aWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbUXRdUkVHUkVTU0lPTihyMTM4MjIyKTogSXQgbWFk
ZSBmYXN0L2Zvcm1zL251bWJlci9udW1iZXItc3BpbmJ1dHRvbi1jbGljay1pbi1pZnJhbWUuaHRt
bCBjcmFzaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXggZWEwOGRlNmQyZmMwMWFkMjgzZWZjMWZkMDNh
YWQ3NDY5M2I2YTlhNi4uM2NjMDIxNDc4ODhmYjI4MmNmZDc5ZjkxNjQ5ZjRmNGVkNmViMzQ1NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BhZ2UuY3BwCkBAIC0yNjksNiArMjY5LDE3IEBAIFN0cmluZyBQYWdlOjptYWlu
VGhyZWFkU2Nyb2xsaW5nUmVhc29uc0FzVGV4dCgpCiAgICAgcmV0dXJuIFN0cmluZygpOwogfQog
CitTdHJpbmcgUGFnZTo6bm9uRmFzdFNjcm9sbGFibGVSZWdpb25Bc1RleHQoY29uc3QgRnJhbWUq
IGZyYW1lKQoreworICAgIGlmIChEb2N1bWVudCogZG9jdW1lbnQgPSBtX21haW5GcmFtZS0+ZG9j
dW1lbnQoKSkKKyAgICAgICAgZG9jdW1lbnQtPnVwZGF0ZUxheW91dCgpOworCisgICAgaWYgKFNj
cm9sbGluZ0Nvb3JkaW5hdG9yKiBzY3JvbGxpbmdDb29yZGluYXRvciA9IHRoaXMtPnNjcm9sbGlu
Z0Nvb3JkaW5hdG9yKCkpCisgICAgICAgIHJldHVybiBzY3JvbGxpbmdDb29yZGluYXRvci0+bm9u
RmFzdFNjcm9sbGFibGVSZWdpb25Bc1RleHQoZnJhbWUpOworCisgICAgcmV0dXJuIFN0cmluZygp
OworfQorCiBzdHJ1Y3QgVmlld01vZGVJbmZvIHsKICAgICBjb25zdCBjaGFyKiBuYW1lOwogICAg
IFBhZ2U6OlZpZXdNb2RlIHR5cGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCmluZGV4IDJjMGI4YjhjNWVkMmY5Yzgx
ZWZmNzhhNGIwOGE2MjM0MzIwM2YwYzQuLjFkMDliOGYwMGQzNGM1ZGI3Njk3NzY2NzExZjI4ZTE0
MWQ3MzNkZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCkBAIC0yMDAsNiArMjAwLDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiAgICAgICAgIFN0cmluZyBzY3JvbGxpbmdTdGF0ZVRyZWVBc1RleHQoKTsKICAg
ICAgICAgU3RyaW5nIG1haW5UaHJlYWRTY3JvbGxpbmdSZWFzb25zQXNUZXh0KCk7CisgICAgICAg
IFN0cmluZyBub25GYXN0U2Nyb2xsYWJsZVJlZ2lvbkFzVGV4dChjb25zdCBGcmFtZSopOwogCiAg
ICAgICAgIFNldHRpbmdzKiBzZXR0aW5ncygpIGNvbnN0IHsgcmV0dXJuIG1fc2V0dGluZ3MuZ2V0
KCk7IH0KICAgICAgICAgUHJvZ3Jlc3NUcmFja2VyKiBwcm9ncmVzcygpIGNvbnN0IHsgcmV0dXJu
IG1fcHJvZ3Jlc3MuZ2V0KCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcAppbmRleCAyMDQ1ODdlNmJlM2Y5NjIyMjYw
OWVkMDM0MTY3MTg5YTBiNDI3YTFkLi5jMWIzZGIzNjEzZTQ5MzcyYjRiMGRkNWJjNzRlMjRjZDE4
ZGMxNzA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxp
bmdDb29yZGluYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nQ29vcmRpbmF0b3IuY3BwCkBAIC0xMzYsNyArMTM2LDcgQEAgYm9vbCBTY3JvbGxpbmdD
b29yZGluYXRvcjo6Y29vcmRpbmF0ZXNTY3JvbGxpbmdGb3JGcmFtZVZpZXcoRnJhbWVWaWV3KiBm
cmFtZVZpZXcKICNlbmRpZgogfQogCi1SZWdpb24gU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OmNvbXB1
dGVOb25GYXN0U2Nyb2xsYWJsZVJlZ2lvbihGcmFtZSogZnJhbWUsIGNvbnN0IEludFBvaW50JiBm
cmFtZUxvY2F0aW9uKQorUmVnaW9uIFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpjb21wdXRlTm9uRmFz
dFNjcm9sbGFibGVSZWdpb24oY29uc3QgRnJhbWUqIGZyYW1lLCBjb25zdCBJbnRQb2ludCYgZnJh
bWVMb2NhdGlvbikgY29uc3QKIHsKICAgICBSZWdpb24gbm9uRmFzdFNjcm9sbGFibGVSZWdpb247
CiAgICAgRnJhbWVWaWV3KiBmcmFtZVZpZXcgPSBmcmFtZS0+dmlldygpOwpAQCAtMTc4LDYgKzE3
OCwxMSBAQCBSZWdpb24gU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OmNvbXB1dGVOb25GYXN0U2Nyb2xs
YWJsZVJlZ2lvbihGcmFtZSogZnJhbWUsIGNvbnN0CiAgICAgcmV0dXJuIG5vbkZhc3RTY3JvbGxh
YmxlUmVnaW9uOwogfQogCitTdHJpbmcgU2Nyb2xsaW5nQ29vcmRpbmF0b3I6Om5vbkZhc3RTY3Jv
bGxhYmxlUmVnaW9uQXNUZXh0KGNvbnN0IEZyYW1lKiBmcmFtZSkgY29uc3QKK3sKKyAgICByZXR1
cm4gY29tcHV0ZU5vbkZhc3RTY3JvbGxhYmxlUmVnaW9uKGZyYW1lLCBJbnRQb2ludCgpKS50b1N0
cmluZygpOworfQorCiAjaWYgRU5BQkxFKFRPVUNIX0VWRU5UX1RSQUNLSU5HKQogc3RhdGljIHZv
aWQgYWNjdW11bGF0ZVJlbmRlcmVyVG91Y2hFdmVudFRhcmdldFJlY3RzKFZlY3RvcjxJbnRSZWN0
PiYgcmVjdHMsIGNvbnN0IFJlbmRlck9iamVjdCogcmVuZGVyZXIpCiB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5oIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaAppbmRleCAy
ZDI3MmVjZWYyYjBkZDg5YzQ0MGE5NzFhZTdlZDZhMTlkMmU0MzgxLi5hMmZkZjNlNDQ5OTE2YzRl
OTYyMjYzMjRmMGFlYTI1OGQxYTk3YTBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmgKQEAgLTE2MCwxMCArMTYwLDEyIEBA
IHB1YmxpYzoKICAgICBzdGF0aWMgU3RyaW5nIG1haW5UaHJlYWRTY3JvbGxpbmdSZWFzb25zQXNU
ZXh0KE1haW5UaHJlYWRTY3JvbGxpbmdSZWFzb25zKTsKICAgICBTdHJpbmcgbWFpblRocmVhZFNj
cm9sbGluZ1JlYXNvbnNBc1RleHQoKSBjb25zdDsKIAorICAgIFN0cmluZyBub25GYXN0U2Nyb2xs
YWJsZVJlZ2lvbkFzVGV4dChjb25zdCBGcmFtZSopIGNvbnN0OworCiBwcm90ZWN0ZWQ6CiAgICAg
ZXhwbGljaXQgU2Nyb2xsaW5nQ29vcmRpbmF0b3IoUGFnZSopOwogCi0gICAgUmVnaW9uIGNvbXB1
dGVOb25GYXN0U2Nyb2xsYWJsZVJlZ2lvbihGcmFtZSosIGNvbnN0IEludFBvaW50JiBmcmFtZUxv
Y2F0aW9uKTsKKyAgICBSZWdpb24gY29tcHV0ZU5vbkZhc3RTY3JvbGxhYmxlUmVnaW9uKGNvbnN0
IEZyYW1lKiwgY29uc3QgSW50UG9pbnQmIGZyYW1lTG9jYXRpb24pIGNvbnN0OwogICAgIHVuc2ln
bmVkIGNvbXB1dGVDdXJyZW50V2hlZWxFdmVudEhhbmRsZXJDb3VudCgpOwogICAgIEdyYXBoaWNz
TGF5ZXIqIHNjcm9sbExheWVyRm9yRnJhbWVWaWV3KEZyYW1lVmlldyopOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9SZWdpb24uY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUmVnaW9uLmNwcAppbmRleCA1ZTRjMDQ2YzNjZWIwOTAy
NzZkMzQ3ZGNjNTU4Nzc3M2RiMjgyMTA5Li5hN2Y0NWYyNmJmOTA1NmRiMjBkNDA2YjU5NjJiMTBj
NDhkYTgyOTMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9S
ZWdpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1JlZ2lvbi5j
cHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJSZWdp
b24uaCIKIAorI2luY2x1ZGUgIlRleHRTdHJlYW0uaCIKICNpbmNsdWRlIDxzdGRpby5oPgogCiAv
LyBBIHJlZ2lvbiBjbGFzcyBiYXNlZCBvbiB0aGUgcGFwZXIgIlNjYW5saW5lIENvaGVyZW50IFNo
YXBlIEFsZ2VicmEiCkBAIC0zMTYsMjAgKzMxNywxNiBAQCBSZWdpb246OlNoYXBlOjpTZWdtZW50
SXRlcmF0b3IgUmVnaW9uOjpTaGFwZTo6c2VnbWVudHNfZW5kKFNwYW5JdGVyYXRvciBpdCkgY29u
cwogICAgIHJldHVybiBtX3NlZ21lbnRzLmRhdGEoKSArIHNlZ21lbnRJbmRleDsKIH0KIAotI2lm
bmRlZiBOREVCVUcKLXZvaWQgUmVnaW9uOjpTaGFwZTo6ZHVtcCgpIGNvbnN0Cit2b2lkIFJlZ2lv
bjo6U2hhcGU6OmR1bXAoVGV4dFN0cmVhbSYgdHMpIGNvbnN0CiB7CiAgICAgZm9yIChTaGFwZTo6
U3Bhbkl0ZXJhdG9yIHNwYW4gPSBzcGFuc19iZWdpbigpLCBlbmQgPSBzcGFuc19lbmQoKTsgc3Bh
biAhPSBlbmQ7ICsrc3BhbikgewotICAgICAgICBwcmludGYoIiU2ZDogKCIsIHNwYW4tPnkpOwor
ICAgICAgICB0cyA8PCBzcGFuLT55IDw8ICI6ICgiOwogCi0gICAgICAgIGZvciAoU2hhcGU6OlNl
Z21lbnRJdGVyYXRvciBzZWdtZW50ID0gc2VnbWVudHNfYmVnaW4oc3BhbiksIGVuZCA9IHNlZ21l
bnRzX2VuZChzcGFuKTsgc2VnbWVudCAhPSBlbmQ7ICsrc2VnbWVudCkKLSAgICAgICAgICAgIHBy
aW50ZigiJWQgIiwgKnNlZ21lbnQpOwotICAgICAgICBwcmludGYoIilcbiIpOworICAgICAgICBm
b3IgKFNoYXBlOjpTZWdtZW50SXRlcmF0b3IgYmVnaW4gPSBzZWdtZW50c19iZWdpbihzcGFuKSwg
c2VnbWVudCA9IGJlZ2luLCBlbmQgPSBzZWdtZW50c19lbmQoc3Bhbik7IHNlZ21lbnQgIT0gZW5k
OyArK3NlZ21lbnQpCisgICAgICAgICAgICB0cyA8PCAoc2VnbWVudCA9PSBiZWdpbiA/ICIiIDog
IiAiKSA8PCAqc2VnbWVudDsKKyAgICAgICAgdHMgPDwgIilcbiI7CiAgICAgfQotCi0gICAgcHJp
bnRmKCJcbiIpOwogfQotI2VuZGlmCiAKIEludFJlY3QgUmVnaW9uOjpTaGFwZTo6Ym91bmRzKCkg
Y29uc3QKIHsKQEAgLTU0MSwxMiArNTM4LDIzIEBAIFJlZ2lvbjo6U2hhcGUgUmVnaW9uOjpTaGFw
ZTo6c3VidHJhY3RTaGFwZXMoY29uc3QgU2hhcGUmIHNoYXBlMSwgY29uc3QgU2hhcGUmIHNoCiAg
ICAgcmV0dXJuIHNoYXBlT3BlcmF0aW9uPFN1YnRyYWN0T3BlcmF0aW9uPihzaGFwZTEsIHNoYXBl
Mik7CiB9CiAKK1N0cmluZyBSZWdpb246OnRvU3RyaW5nKCkgY29uc3QKK3sKKyAgICBUZXh0U3Ry
ZWFtIHRzOworICAgIGR1bXAodHMpOworICAgIHJldHVybiB0cy5yZWxlYXNlKCk7Cit9CisKK3Zv
aWQgUmVnaW9uOjpkdW1wKFRleHRTdHJlYW0mIHRzKSBjb25zdAoreworICAgIHRzIDw8ICJCb3Vu
ZHM6ICgiIDw8IG1fYm91bmRzLngoKSA8PCAiLCAiIDw8IG1fYm91bmRzLnkoKSA8PCAiLCAiIDw8
IG1fYm91bmRzLndpZHRoKCkgPDwgIiwgIiA8PCBtX2JvdW5kcy5oZWlnaHQoKSA8PCAiKVxuIjsK
KyAgICBtX3NoYXBlLmR1bXAodHMpOworfQorCiAjaWZuZGVmIE5ERUJVRwogdm9pZCBSZWdpb246
OmR1bXAoKSBjb25zdAogewotICAgIHByaW50ZigiQm91bmRzOiAoJWQsICVkLCAlZCwgJWQpXG4i
LAotICAgICAgICAgICBtX2JvdW5kcy54KCksIG1fYm91bmRzLnkoKSwgbV9ib3VuZHMud2lkdGgo
KSwgbV9ib3VuZHMuaGVpZ2h0KCkpOwotICAgIG1fc2hhcGUuZHVtcCgpOworICAgIHByaW50Zigi
JXNcbiIsIHRvU3RyaW5nKCkuYXNjaWkoKS5kYXRhKCkpOwogfQogI2VuZGlmCiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1JlZ2lvbi5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUmVnaW9uLmgKaW5kZXggOTBhYjQzNDgyMzljMzUzNWNh
OTQ1N2ZhNmE4MTFkYjdhOWYxYTJmMy4uMTFhZDRkYTZlMDJjMmMwNDViMWNiNDc5YWYxNDBlZGI0
N2E2ZTAxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUmVn
aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUmVnaW9uLmgKQEAg
LTI4LDkgKzI4LDEyIEBACiAKICNpbmNsdWRlICJJbnRSZWN0LmgiCiAjaW5jbHVkZSA8d3RmL1Zl
Y3Rvci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKK2NsYXNzIFRleHRTdHJlYW07CisKIGNsYXNzIFJlZ2lvbiB7CiBwdWJsaWM6CiAg
ICAgUmVnaW9uKCk7CkBAIC01OCw2ICs2MSw4IEBAIHB1YmxpYzoKIAogICAgIHVuc2lnbmVkIHRv
dGFsQXJlYSgpIGNvbnN0OwogCisgICAgU3RyaW5nIHRvU3RyaW5nKCkgY29uc3Q7CisgICAgdm9p
ZCBkdW1wKFRleHRTdHJlYW0mKSBjb25zdDsKICNpZm5kZWYgTkRFQlVHCiAgICAgdm9pZCBkdW1w
KCkgY29uc3Q7CiAjZW5kaWYKQEAgLTEwMyw5ICsxMDgsNyBAQCBwcml2YXRlOgogICAgICAgICB0
ZW1wbGF0ZTx0eXBlbmFtZSBDb21wYXJlT3BlcmF0aW9uPgogICAgICAgICBzdGF0aWMgYm9vbCBj
b21wYXJlU2hhcGVzKGNvbnN0IFNoYXBlJiBzaGFwZTEsIGNvbnN0IFNoYXBlJiBzaGFwZTIpOwog
Ci0jaWZuZGVmIE5ERUJVRwotICAgICAgICB2b2lkIGR1bXAoKSBjb25zdDsKLSNlbmRpZgorICAg
ICAgICB2b2lkIGR1bXAoVGV4dFN0cmVhbSYpIGNvbnN0OwogCiAgICAgcHJpdmF0ZToKICAgICAg
ICAgc3RydWN0IFVuaW9uT3BlcmF0aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3Bw
CmluZGV4IDBiZmM2YTZmMWFkNTc1N2YwODc1YWNkY2Y3NzQ4N2E4NmE4ZjViMGIuLjgzYWFmNGFh
MzMxNWI3MmE5ZjU2MDkxMjljOTk3ZGE5YWFhMTZmYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5jcHAKQEAgLTE1MTQsNiArMTUxNCwyMCBAQCBTdHJpbmcgSW50ZXJuYWxzOjptYWlu
VGhyZWFkU2Nyb2xsaW5nUmVhc29ucyhEb2N1bWVudCogZG9jdW1lbnQsIEV4Y2VwdGlvbkNvZGUm
CiAgICAgcmV0dXJuIHBhZ2UtPm1haW5UaHJlYWRTY3JvbGxpbmdSZWFzb25zQXNUZXh0KCk7CiB9
CiAKK1N0cmluZyBJbnRlcm5hbHM6Om5vbkZhc3RTY3JvbGxhYmxlUmVnaW9uQXNUZXh0KERvY3Vt
ZW50KiBkb2N1bWVudCwgRXhjZXB0aW9uQ29kZSYgZWMpIGNvbnN0Cit7CisgICAgaWYgKCFkb2N1
bWVudCB8fCAhZG9jdW1lbnQtPmZyYW1lKCkpIHsKKyAgICAgICAgZWMgPSBJTlZBTElEX0FDQ0VT
U19FUlI7CisgICAgICAgIHJldHVybiBTdHJpbmcoKTsKKyAgICB9CisKKyAgICBQYWdlKiBwYWdl
ID0gZG9jdW1lbnQtPnBhZ2UoKTsKKyAgICBpZiAoIXBhZ2UpCisgICAgICAgIHJldHVybiBTdHJp
bmcoKTsKKworICAgIHJldHVybiBwYWdlLT5ub25GYXN0U2Nyb2xsYWJsZVJlZ2lvbkFzVGV4dChk
b2N1bWVudC0+ZnJhbWUoKSk7Cit9CisKIHZvaWQgSW50ZXJuYWxzOjpnYXJiYWdlQ29sbGVjdERv
Y3VtZW50UmVzb3VyY2VzKERvY3VtZW50KiBkb2N1bWVudCwgRXhjZXB0aW9uQ29kZSYgZWMpIGNv
bnN0CiB7CiAgICAgaWYgKCFkb2N1bWVudCkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgK
aW5kZXggYjA2Nzk0OGMzNmZlZWJlNWQ2ZDU5YjVkYWNlMzdiODNhMzQ1MTEyNi4uMTliYjZlNDZm
ZGU2Nzc3ZTg5MTk1MjY0ZTdkMzMzMTBkNTJiN2MwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5oCkBAIC0yMTEsOCArMjExLDggQEAgcHVibGljOgogICAgIFN0cmluZyBsYXllclRyZWVB
c1RleHQoRG9jdW1lbnQqLCBFeGNlcHRpb25Db2RlJikgY29uc3Q7CiAgICAgU3RyaW5nIHJlcGFp
bnRSZWN0c0FzVGV4dChEb2N1bWVudCosIEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsKICAgICBTdHJp
bmcgc2Nyb2xsaW5nU3RhdGVUcmVlQXNUZXh0KERvY3VtZW50KiwgRXhjZXB0aW9uQ29kZSYpIGNv
bnN0OwotCiAgICAgU3RyaW5nIG1haW5UaHJlYWRTY3JvbGxpbmdSZWFzb25zKERvY3VtZW50Kiwg
RXhjZXB0aW9uQ29kZSYpIGNvbnN0OworICAgIFN0cmluZyBub25GYXN0U2Nyb2xsYWJsZVJlZ2lv
bkFzVGV4dChEb2N1bWVudCosIEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsKIAogICAgIHZvaWQgZ2Fy
YmFnZUNvbGxlY3REb2N1bWVudFJlc291cmNlcyhEb2N1bWVudCosIEV4Y2VwdGlvbkNvZGUmKSBj
b25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRs
IGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4IDQ5ZWVjN2MyNjFh
M2RmN2E3NzQ5NWQ0Y2UyMDMzNjU5Y2IyM2EwODIuLjY5YTk1OWRhMTQ2OGJlZTExMzczMDU5YzUz
MDE1NDY0YzNjNzUyYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAgLTE3
MSw2ICsxNzEsNyBAQAogCiAgICAgRE9NU3RyaW5nIHNjcm9sbGluZ1N0YXRlVHJlZUFzVGV4dChp
biBEb2N1bWVudCBkb2N1bWVudCkgcmFpc2VzIChET01FeGNlcHRpb24pOwogICAgIERPTVN0cmlu
ZyBtYWluVGhyZWFkU2Nyb2xsaW5nUmVhc29ucyhpbiBEb2N1bWVudCBkb2N1bWVudCkgcmFpc2Vz
IChET01FeGNlcHRpb24pOworICAgIERPTVN0cmluZyBub25GYXN0U2Nyb2xsYWJsZVJlZ2lvbkFz
VGV4dChpbiBEb2N1bWVudCBkb2N1bWVudCkgcmFpc2VzIChET01FeGNlcHRpb24pOwogCiAgICAg
RE9NU3RyaW5nIHJlcGFpbnRSZWN0c0FzVGV4dChpbiBEb2N1bWVudCBkb2N1bWVudCkgcmFpc2Vz
IChET01FeGNlcHRpb24pOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180375</attachid>
            <date>2012-12-20 11:15:49 -0800</date>
            <delta_ts>2012-12-20 13:09:49 -0800</delta_ts>
            <desc>Patch to grab win symbol</desc>
            <filename>bug-105546-20121220191305.patch</filename>
            <type>text/plain</type>
            <size>12622</size>
            <attacher name="Xianzhu Wang">wangxianzhu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4MjU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWRkNDUzNGEzYmNkYmFl
OWQxZDBkNDNmM2JhM2I3MjIxYWIyN2YwNi4uODI3NTlhNTQ4OGNmNzc4NjVkZWJkZjBiYmE4YjFh
ZjAwOWU2ODY5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDEyLTEyLTIwICBYaWFu
emh1IFdhbmcgIDx3YW5neGlhbnpodUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIHdpbmRv
dy5pbnRlcm5hbHMubm9uRmFzdFNjcm9sbGFibGVSZWdpb25Bc1RleHQgZm9yIHRlc3Rpbmcgc2Ny
b2xsYWJsZSBhcmVhcyBpbiBmYXN0L3Nsb3cgcGF0aHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTU0NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gQWRkZWQgdGVzdCBBUEkgZm9y
IG5ldyB0ZXN0cyBvZiBvdGhlciBidWdzLgorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46Cisg
ICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6Om5vbkZhc3RT
Y3JvbGxhYmxlUmVnaW9uQXNUZXh0KToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHBh
Z2UvUGFnZS5oOgorICAgICAgICAoUGFnZSk6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nQ29vcmRpbmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRp
bmF0b3I6OmNvbXB1dGVOb25GYXN0U2Nyb2xsYWJsZVJlZ2lvbik6CisgICAgICAgIChXZWJDb3Jl
OjpTY3JvbGxpbmdDb29yZGluYXRvcjo6bm9uRmFzdFNjcm9sbGFibGVSZWdpb25Bc1RleHQpOgor
ICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29v
cmRpbmF0b3IuaDoKKyAgICAgICAgKFNjcm9sbGluZ0Nvb3JkaW5hdG9yKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9SZWdpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVnaW9uOjpT
aGFwZTo6ZHVtcCk6CisgICAgICAgIChXZWJDb3JlOjpSZWdpb246OnRvU3RyaW5nKToKKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6UmVnaW9uOjpkdW1wKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9SZWdpb24uaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAoUmVnaW9uKToKKyAgICAgICAgKFNoYXBlKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFs
cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6Om5vbkZhc3RTY3JvbGxhYmxlUmVn
aW9uQXNUZXh0KToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJu
YWxzLmg6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaWRsOgorCiAyMDEyLTEyLTIwICBD
YXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbUXRd
UkVHUkVTU0lPTihyMTM4MjIyKTogSXQgbWFkZSBmYXN0L2Zvcm1zL251bWJlci9udW1iZXItc3Bp
bmJ1dHRvbi1jbGljay1pbi1pZnJhbWUuaHRtbCBjcmFzaApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRl
eCAwYzczMDZlMmUzM2FjYWFmZGE5M2UwZDNiZWE2ZTk4ZmI2ZGZjYWUyLi4zMTg5YWIzMTcwMjc2
ZGRiZDM3NDJhYmZmMTMzNTkwOTA0ZWY2YmFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtNzYy
LDYgKzc2Miw3IEBAIF9fWk43V2ViQ29yZTRQYWdlMjNjbGVhclVuZG9SZWRvT3BlcmF0aW9uc0V2
CiBfX1pON1dlYkNvcmU0UGFnZTI0cmVzdW1lU2NyaXB0ZWRBbmltYXRpb25zRXYKIF9fWk43V2Vi
Q29yZTRQYWdlMjRzY3JvbGxpbmdTdGF0ZVRyZWVBc1RleHRFdgogX19aTjdXZWJDb3JlNFBhZ2Uy
NXN1c3BlbmRTY3JpcHRlZEFuaW1hdGlvbnNFdgorX19aTjdXZWJDb3JlNFBhZ2UyOW5vbkZhc3RT
Y3JvbGxhYmxlUmVnaW9uQXNUZXh0RVBLTlNfNUZyYW1lRQogX19aTjdXZWJDb3JlNFBhZ2UzMXNl
dEN1c3RvbUhUTUxUb2tlbml6ZXJDaHVua1NpemVFaQogX19aTjdXZWJDb3JlNFBhZ2UzMXNldEN1
c3RvbUhUTUxUb2tlbml6ZXJUaW1lRGVsYXlFZAogX19aTjdXZWJDb3JlNFBhZ2UzMm1haW5UaHJl
YWRTY3JvbGxpbmdSZWFzb25zQXNUZXh0RXYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IGVhMDhkZTZk
MmZjMDFhZDI4M2VmYzFmZDAzYWFkNzQ2OTNiNmE5YTYuLjNjYzAyMTQ3ODg4ZmIyODJjZmQ3OWY5
MTY0OWY0ZjRlZDZlYjM0NTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApAQCAtMjY5LDYgKzI2OSwxNyBA
QCBTdHJpbmcgUGFnZTo6bWFpblRocmVhZFNjcm9sbGluZ1JlYXNvbnNBc1RleHQoKQogICAgIHJl
dHVybiBTdHJpbmcoKTsKIH0KIAorU3RyaW5nIFBhZ2U6Om5vbkZhc3RTY3JvbGxhYmxlUmVnaW9u
QXNUZXh0KGNvbnN0IEZyYW1lKiBmcmFtZSkKK3sKKyAgICBpZiAoRG9jdW1lbnQqIGRvY3VtZW50
ID0gbV9tYWluRnJhbWUtPmRvY3VtZW50KCkpCisgICAgICAgIGRvY3VtZW50LT51cGRhdGVMYXlv
dXQoKTsKKworICAgIGlmIChTY3JvbGxpbmdDb29yZGluYXRvciogc2Nyb2xsaW5nQ29vcmRpbmF0
b3IgPSB0aGlzLT5zY3JvbGxpbmdDb29yZGluYXRvcigpKQorICAgICAgICByZXR1cm4gc2Nyb2xs
aW5nQ29vcmRpbmF0b3ItPm5vbkZhc3RTY3JvbGxhYmxlUmVnaW9uQXNUZXh0KGZyYW1lKTsKKwor
ICAgIHJldHVybiBTdHJpbmcoKTsKK30KKwogc3RydWN0IFZpZXdNb2RlSW5mbyB7CiAgICAgY29u
c3QgY2hhciogbmFtZTsKICAgICBQYWdlOjpWaWV3TW9kZSB0eXBlOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAppbmRl
eCAyYzBiOGI4YzVlZDJmOWM4MWVmZjc4YTRiMDhhNjIzNDMyMDNmMGM0Li4xZDA5YjhmMDBkMzRj
NWRiNzY5Nzc2NjcxMWYyOGUxNDFkNzMzZGRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaApAQCAtMjAwLDYgKzIw
MCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICBTdHJpbmcgc2Nyb2xsaW5nU3Rh
dGVUcmVlQXNUZXh0KCk7CiAgICAgICAgIFN0cmluZyBtYWluVGhyZWFkU2Nyb2xsaW5nUmVhc29u
c0FzVGV4dCgpOworICAgICAgICBTdHJpbmcgbm9uRmFzdFNjcm9sbGFibGVSZWdpb25Bc1RleHQo
Y29uc3QgRnJhbWUqKTsKIAogICAgICAgICBTZXR0aW5ncyogc2V0dGluZ3MoKSBjb25zdCB7IHJl
dHVybiBtX3NldHRpbmdzLmdldCgpOyB9CiAgICAgICAgIFByb2dyZXNzVHJhY2tlciogcHJvZ3Jl
c3MoKSBjb25zdCB7IHJldHVybiBtX3Byb2dyZXNzLmdldCgpOyB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5jcHAKaW5kZXgg
MjA0NTg3ZTZiZTNmOTYyMjI2MDllZDAzNDE2NzE4OWEwYjQyN2ExZC4uYzFiM2RiMzYxM2U0OTM3
MmI0YjBkZDViYzc0ZTI0Y2QxOGRjMTcwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcApAQCAtMTM2LDcgKzEzNiw3
IEBAIGJvb2wgU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OmNvb3JkaW5hdGVzU2Nyb2xsaW5nRm9yRnJh
bWVWaWV3KEZyYW1lVmlldyogZnJhbWVWaWV3CiAjZW5kaWYKIH0KIAotUmVnaW9uIFNjcm9sbGlu
Z0Nvb3JkaW5hdG9yOjpjb21wdXRlTm9uRmFzdFNjcm9sbGFibGVSZWdpb24oRnJhbWUqIGZyYW1l
LCBjb25zdCBJbnRQb2ludCYgZnJhbWVMb2NhdGlvbikKK1JlZ2lvbiBTY3JvbGxpbmdDb29yZGlu
YXRvcjo6Y29tcHV0ZU5vbkZhc3RTY3JvbGxhYmxlUmVnaW9uKGNvbnN0IEZyYW1lKiBmcmFtZSwg
Y29uc3QgSW50UG9pbnQmIGZyYW1lTG9jYXRpb24pIGNvbnN0CiB7CiAgICAgUmVnaW9uIG5vbkZh
c3RTY3JvbGxhYmxlUmVnaW9uOwogICAgIEZyYW1lVmlldyogZnJhbWVWaWV3ID0gZnJhbWUtPnZp
ZXcoKTsKQEAgLTE3OCw2ICsxNzgsMTEgQEAgUmVnaW9uIFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpj
b21wdXRlTm9uRmFzdFNjcm9sbGFibGVSZWdpb24oRnJhbWUqIGZyYW1lLCBjb25zdAogICAgIHJl
dHVybiBub25GYXN0U2Nyb2xsYWJsZVJlZ2lvbjsKIH0KIAorU3RyaW5nIFNjcm9sbGluZ0Nvb3Jk
aW5hdG9yOjpub25GYXN0U2Nyb2xsYWJsZVJlZ2lvbkFzVGV4dChjb25zdCBGcmFtZSogZnJhbWUp
IGNvbnN0Cit7CisgICAgcmV0dXJuIGNvbXB1dGVOb25GYXN0U2Nyb2xsYWJsZVJlZ2lvbihmcmFt
ZSwgSW50UG9pbnQoKSkudG9TdHJpbmcoKTsKK30KKwogI2lmIEVOQUJMRShUT1VDSF9FVkVOVF9U
UkFDS0lORykKIHN0YXRpYyB2b2lkIGFjY3VtdWxhdGVSZW5kZXJlclRvdWNoRXZlbnRUYXJnZXRS
ZWN0cyhWZWN0b3I8SW50UmVjdD4mIHJlY3RzLCBjb25zdCBSZW5kZXJPYmplY3QqIHJlbmRlcmVy
KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5n
Q29vcmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nv
b3JkaW5hdG9yLmgKaW5kZXggMmQyNzJlY2VmMmIwZGQ4OWM0NDBhOTcxYWU3ZWQ2YTE5ZDJlNDM4
MS4uYTJmZGYzZTQ0OTkxNmM0ZTk2MjI2MzI0ZjBhZWEyNThkMWE5N2EwZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5oCkBA
IC0xNjAsMTAgKzE2MCwxMiBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFN0cmluZyBtYWluVGhyZWFk
U2Nyb2xsaW5nUmVhc29uc0FzVGV4dChNYWluVGhyZWFkU2Nyb2xsaW5nUmVhc29ucyk7CiAgICAg
U3RyaW5nIG1haW5UaHJlYWRTY3JvbGxpbmdSZWFzb25zQXNUZXh0KCkgY29uc3Q7CiAKKyAgICBT
dHJpbmcgbm9uRmFzdFNjcm9sbGFibGVSZWdpb25Bc1RleHQoY29uc3QgRnJhbWUqKSBjb25zdDsK
KwogcHJvdGVjdGVkOgogICAgIGV4cGxpY2l0IFNjcm9sbGluZ0Nvb3JkaW5hdG9yKFBhZ2UqKTsK
IAotICAgIFJlZ2lvbiBjb21wdXRlTm9uRmFzdFNjcm9sbGFibGVSZWdpb24oRnJhbWUqLCBjb25z
dCBJbnRQb2ludCYgZnJhbWVMb2NhdGlvbik7CisgICAgUmVnaW9uIGNvbXB1dGVOb25GYXN0U2Ny
b2xsYWJsZVJlZ2lvbihjb25zdCBGcmFtZSosIGNvbnN0IEludFBvaW50JiBmcmFtZUxvY2F0aW9u
KSBjb25zdDsKICAgICB1bnNpZ25lZCBjb21wdXRlQ3VycmVudFdoZWVsRXZlbnRIYW5kbGVyQ291
bnQoKTsKICAgICBHcmFwaGljc0xheWVyKiBzY3JvbGxMYXllckZvckZyYW1lVmlldyhGcmFtZVZp
ZXcqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUmVn
aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1JlZ2lvbi5jcHAKaW5k
ZXggNWU0YzA0NmMzY2ViMDkwMjc2ZDM0N2RjYzU1ODc3NzNkYjI4MjEwOS4uOTc4ODJiOTE1NDIw
YWZlYjY2NzE4YTMyZjJlNjA3NTkyOWVkYzhjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvUmVnaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9SZWdpb24uY3BwCkBAIC0yNiw3ICsyNiw5IEBACiAjaW5jbHVkZSAiY29uZmln
LmgiCiAjaW5jbHVkZSAiUmVnaW9uLmgiCiAKKyNpbmNsdWRlICJUZXh0U3RyZWFtLmgiCiAjaW5j
bHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKIC8vIEEgcmVn
aW9uIGNsYXNzIGJhc2VkIG9uIHRoZSBwYXBlciAiU2NhbmxpbmUgQ29oZXJlbnQgU2hhcGUgQWxn
ZWJyYSIKIC8vIGJ5IEpvbmF0aGFuIEUuIFN0ZWluaGFydCBmcm9tIHRoZSBib29rICJHcmFwaGlj
cyBHZW1zIElJIi4KQEAgLTMxNiwyMCArMzE4LDE2IEBAIFJlZ2lvbjo6U2hhcGU6OlNlZ21lbnRJ
dGVyYXRvciBSZWdpb246OlNoYXBlOjpzZWdtZW50c19lbmQoU3Bhbkl0ZXJhdG9yIGl0KSBjb25z
CiAgICAgcmV0dXJuIG1fc2VnbWVudHMuZGF0YSgpICsgc2VnbWVudEluZGV4OwogfQogCi0jaWZu
ZGVmIE5ERUJVRwotdm9pZCBSZWdpb246OlNoYXBlOjpkdW1wKCkgY29uc3QKK3ZvaWQgUmVnaW9u
OjpTaGFwZTo6ZHVtcChUZXh0U3RyZWFtJiB0cykgY29uc3QKIHsKICAgICBmb3IgKFNoYXBlOjpT
cGFuSXRlcmF0b3Igc3BhbiA9IHNwYW5zX2JlZ2luKCksIGVuZCA9IHNwYW5zX2VuZCgpOyBzcGFu
ICE9IGVuZDsgKytzcGFuKSB7Ci0gICAgICAgIHByaW50ZigiJTZkOiAoIiwgc3Bhbi0+eSk7Cisg
ICAgICAgIHRzIDw8IHNwYW4tPnkgPDwgIjogKCI7CiAKLSAgICAgICAgZm9yIChTaGFwZTo6U2Vn
bWVudEl0ZXJhdG9yIHNlZ21lbnQgPSBzZWdtZW50c19iZWdpbihzcGFuKSwgZW5kID0gc2VnbWVu
dHNfZW5kKHNwYW4pOyBzZWdtZW50ICE9IGVuZDsgKytzZWdtZW50KQotICAgICAgICAgICAgcHJp
bnRmKCIlZCAiLCAqc2VnbWVudCk7Ci0gICAgICAgIHByaW50ZigiKVxuIik7CisgICAgICAgIGZv
ciAoU2hhcGU6OlNlZ21lbnRJdGVyYXRvciBiZWdpbiA9IHNlZ21lbnRzX2JlZ2luKHNwYW4pLCBz
ZWdtZW50ID0gYmVnaW4sIGVuZCA9IHNlZ21lbnRzX2VuZChzcGFuKTsgc2VnbWVudCAhPSBlbmQ7
ICsrc2VnbWVudCkKKyAgICAgICAgICAgIHRzIDw8IChzZWdtZW50ID09IGJlZ2luID8gIiIgOiAi
ICIpIDw8ICpzZWdtZW50OworICAgICAgICB0cyA8PCAiKVxuIjsKICAgICB9Ci0KLSAgICBwcmlu
dGYoIlxuIik7CiB9Ci0jZW5kaWYKIAogSW50UmVjdCBSZWdpb246OlNoYXBlOjpib3VuZHMoKSBj
b25zdAogewpAQCAtNTQxLDEyICs1MzksMjMgQEAgUmVnaW9uOjpTaGFwZSBSZWdpb246OlNoYXBl
OjpzdWJ0cmFjdFNoYXBlcyhjb25zdCBTaGFwZSYgc2hhcGUxLCBjb25zdCBTaGFwZSYgc2gKICAg
ICByZXR1cm4gc2hhcGVPcGVyYXRpb248U3VidHJhY3RPcGVyYXRpb24+KHNoYXBlMSwgc2hhcGUy
KTsKIH0KIAorU3RyaW5nIFJlZ2lvbjo6dG9TdHJpbmcoKSBjb25zdAoreworICAgIFRleHRTdHJl
YW0gdHM7CisgICAgZHVtcCh0cyk7CisgICAgcmV0dXJuIHRzLnJlbGVhc2UoKTsKK30KKwordm9p
ZCBSZWdpb246OmR1bXAoVGV4dFN0cmVhbSYgdHMpIGNvbnN0Cit7CisgICAgdHMgPDwgIkJvdW5k
czogKCIgPDwgbV9ib3VuZHMueCgpIDw8ICIsICIgPDwgbV9ib3VuZHMueSgpIDw8ICIsICIgPDwg
bV9ib3VuZHMud2lkdGgoKSA8PCAiLCAiIDw8IG1fYm91bmRzLmhlaWdodCgpIDw8ICIpXG4iOwor
ICAgIG1fc2hhcGUuZHVtcCh0cyk7Cit9CisKICNpZm5kZWYgTkRFQlVHCiB2b2lkIFJlZ2lvbjo6
ZHVtcCgpIGNvbnN0CiB7Ci0gICAgcHJpbnRmKCJCb3VuZHM6ICglZCwgJWQsICVkLCAlZClcbiIs
Ci0gICAgICAgICAgIG1fYm91bmRzLngoKSwgbV9ib3VuZHMueSgpLCBtX2JvdW5kcy53aWR0aCgp
LCBtX2JvdW5kcy5oZWlnaHQoKSk7Ci0gICAgbV9zaGFwZS5kdW1wKCk7CisgICAgcHJpbnRmKCIl
c1xuIiwgdG9TdHJpbmcoKS5hc2NpaSgpLmRhdGEoKSk7CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUmVnaW9uLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9SZWdpb24uaAppbmRleCA5MGFiNDM0ODIzOWMzNTM1Y2E5
NDU3ZmE2YTgxMWRiN2E5ZjFhMmYzLi4xMWFkNGRhNmUwMmMyYzA0NWIxY2I0NzlhZjE0MGVkYjQ3
YTZlMDEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9SZWdp
b24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9SZWdpb24uaApAQCAt
MjgsOSArMjgsMTIgQEAKIAogI2luY2x1ZGUgIkludFJlY3QuaCIKICNpbmNsdWRlIDx3dGYvVmVj
dG9yLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAorY2xhc3MgVGV4dFN0cmVhbTsKKwogY2xhc3MgUmVnaW9uIHsKIHB1YmxpYzoKICAg
ICBSZWdpb24oKTsKQEAgLTU4LDYgKzYxLDggQEAgcHVibGljOgogCiAgICAgdW5zaWduZWQgdG90
YWxBcmVhKCkgY29uc3Q7CiAKKyAgICBTdHJpbmcgdG9TdHJpbmcoKSBjb25zdDsKKyAgICB2b2lk
IGR1bXAoVGV4dFN0cmVhbSYpIGNvbnN0OwogI2lmbmRlZiBOREVCVUcKICAgICB2b2lkIGR1bXAo
KSBjb25zdDsKICNlbmRpZgpAQCAtMTAzLDkgKzEwOCw3IEBAIHByaXZhdGU6CiAgICAgICAgIHRl
bXBsYXRlPHR5cGVuYW1lIENvbXBhcmVPcGVyYXRpb24+CiAgICAgICAgIHN0YXRpYyBib29sIGNv
bXBhcmVTaGFwZXMoY29uc3QgU2hhcGUmIHNoYXBlMSwgY29uc3QgU2hhcGUmIHNoYXBlMik7CiAK
LSNpZm5kZWYgTkRFQlVHCi0gICAgICAgIHZvaWQgZHVtcCgpIGNvbnN0OwotI2VuZGlmCisgICAg
ICAgIHZvaWQgZHVtcChUZXh0U3RyZWFtJikgY29uc3Q7CiAKICAgICBwcml2YXRlOgogICAgICAg
ICBzdHJ1Y3QgVW5pb25PcGVyYXRpb247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAK
aW5kZXggMGJmYzZhNmYxYWQ1NzU3ZjA4NzVhY2RjZjc3NDg3YTg2YThmNWIwYi4uODNhYWY0YWEz
MzE1YjcyYTlmNTYwOTEyOWM5OTdkYTlhYWExNmZjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmNwcApAQCAtMTUxNCw2ICsxNTE0LDIwIEBAIFN0cmluZyBJbnRlcm5hbHM6Om1haW5U
aHJlYWRTY3JvbGxpbmdSZWFzb25zKERvY3VtZW50KiBkb2N1bWVudCwgRXhjZXB0aW9uQ29kZSYK
ICAgICByZXR1cm4gcGFnZS0+bWFpblRocmVhZFNjcm9sbGluZ1JlYXNvbnNBc1RleHQoKTsKIH0K
IAorU3RyaW5nIEludGVybmFsczo6bm9uRmFzdFNjcm9sbGFibGVSZWdpb25Bc1RleHQoRG9jdW1l
bnQqIGRvY3VtZW50LCBFeGNlcHRpb25Db2RlJiBlYykgY29uc3QKK3sKKyAgICBpZiAoIWRvY3Vt
ZW50IHx8ICFkb2N1bWVudC0+ZnJhbWUoKSkgeworICAgICAgICBlYyA9IElOVkFMSURfQUNDRVNT
X0VSUjsKKyAgICAgICAgcmV0dXJuIFN0cmluZygpOworICAgIH0KKworICAgIFBhZ2UqIHBhZ2Ug
PSBkb2N1bWVudC0+cGFnZSgpOworICAgIGlmICghcGFnZSkKKyAgICAgICAgcmV0dXJuIFN0cmlu
ZygpOworCisgICAgcmV0dXJuIHBhZ2UtPm5vbkZhc3RTY3JvbGxhYmxlUmVnaW9uQXNUZXh0KGRv
Y3VtZW50LT5mcmFtZSgpKTsKK30KKwogdm9pZCBJbnRlcm5hbHM6OmdhcmJhZ2VDb2xsZWN0RG9j
dW1lbnRSZXNvdXJjZXMoRG9jdW1lbnQqIGRvY3VtZW50LCBFeGNlcHRpb25Db2RlJiBlYykgY29u
c3QKIHsKICAgICBpZiAoIWRvY3VtZW50KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaApp
bmRleCBiMDY3OTQ4YzM2ZmVlYmU1ZDZkNTliNWRhY2UzN2I4M2EzNDUxMTI2Li4xOWJiNmU0NmZk
ZTY3NzdlODkxOTUyNjRlN2QzMzMxMGQ1MmI3YzA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmgKQEAgLTIxMSw4ICsyMTEsOCBAQCBwdWJsaWM6CiAgICAgU3RyaW5nIGxheWVyVHJlZUFz
VGV4dChEb2N1bWVudCosIEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsKICAgICBTdHJpbmcgcmVwYWlu
dFJlY3RzQXNUZXh0KERvY3VtZW50KiwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0OwogICAgIFN0cmlu
ZyBzY3JvbGxpbmdTdGF0ZVRyZWVBc1RleHQoRG9jdW1lbnQqLCBFeGNlcHRpb25Db2RlJikgY29u
c3Q7Ci0KICAgICBTdHJpbmcgbWFpblRocmVhZFNjcm9sbGluZ1JlYXNvbnMoRG9jdW1lbnQqLCBF
eGNlcHRpb25Db2RlJikgY29uc3Q7CisgICAgU3RyaW5nIG5vbkZhc3RTY3JvbGxhYmxlUmVnaW9u
QXNUZXh0KERvY3VtZW50KiwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0OwogCiAgICAgdm9pZCBnYXJi
YWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzKERvY3VtZW50KiwgRXhjZXB0aW9uQ29kZSYpIGNv
bnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKaW5kZXggNDllZWM3YzI2MWEz
ZGY3YTc3NDk1ZDRjZTIwMzM2NTljYjIzYTA4Mi4uNjlhOTU5ZGExNDY4YmVlMTEzNzMwNTljNTMw
MTU0NjRjM2M3NTJhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtMTcx
LDYgKzE3MSw3IEBACiAKICAgICBET01TdHJpbmcgc2Nyb2xsaW5nU3RhdGVUcmVlQXNUZXh0KGlu
IERvY3VtZW50IGRvY3VtZW50KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAgICAgRE9NU3RyaW5n
IG1haW5UaHJlYWRTY3JvbGxpbmdSZWFzb25zKGluIERvY3VtZW50IGRvY3VtZW50KSByYWlzZXMg
KERPTUV4Y2VwdGlvbik7CisgICAgRE9NU3RyaW5nIG5vbkZhc3RTY3JvbGxhYmxlUmVnaW9uQXNU
ZXh0KGluIERvY3VtZW50IGRvY3VtZW50KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAKICAgICBE
T01TdHJpbmcgcmVwYWludFJlY3RzQXNUZXh0KGluIERvY3VtZW50IGRvY3VtZW50KSByYWlzZXMg
KERPTUV4Y2VwdGlvbik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5m
aWx0ZXIgYi9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyCmluZGV4IGY4N2Y4MzQ4MGY5
ZjNhNjdiOThhY2JjYmNlYzBjZWY1ZTU4MGYyM2MuLjdjMzZmYWNhNjVlZWQ2YzU5NWM5OTMzMmFl
M2E5ZmRhYjA2NWJlZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0
ZXIKKysrIGIvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlcgpAQCAtMzIsNiArMzIsNyBA
QCBfWk43V2ViQ29yZTRQYWdlMThzZXRQYWdlU2NhbGVGYWN0b3JFZlJLTlNfOEludFBvaW50RTsK
IF9aTjdXZWJDb3JlNFBhZ2UyMHNldERldmljZVNjYWxlRmFjdG9yRWY7CiBfWk43V2ViQ29yZTRQ
YWdlMjRzY3JvbGxpbmdTdGF0ZVRyZWVBc1RleHRFdjsKIF9aTjdXZWJDb3JlNFBhZ2UzMm1haW5U
aHJlYWRTY3JvbGxpbmdSZWFzb25zQXNUZXh0RXY7CitfWk43V2ViQ29yZTRQYWdlMjlub25GYXN0
U2Nyb2xsYWJsZVJlZ2lvbkFzVGV4dEVQS05TXzVGcmFtZUU7CiBfWk43V2ViQ29yZTRQYWdlMTZz
ZXRDYW5TdGFydE1lZGlhRWI7CiBfWk43V2ViQ29yZTR0b0pTRVBOM0pTQzlFeGVjU3RhdGVFUE5T
XzE3SlNET01HbG9iYWxPYmplY3RFUE5TXzEwQ2xpZW50UmVjdEU7CiBfWk43V2ViQ29yZTR0b0pT
RVBOM0pTQzlFeGVjU3RhdGVFUE5TXzE3SlNET01HbG9iYWxPYmplY3RFUE5TXzEwU2hhZG93Um9v
dEU7CmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggMzAwNzZkMTk3MTZk
YWMyYThkOWU3YTc4ODMwOTE4ZmM3NDhiMzc3Yi4uYjZhMjkxODI4MjgyZDE2NDVhMzIwN2FjMWM5
YzVjYzk0OTQzMmE0ZCAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE0IEBACisyMDEyLTEyLTIwICBYaWFuemh1IFdhbmcgIDx3YW5neGlhbnpodUBjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgQWRkIHdpbmRvdy5pbnRlcm5hbHMubm9uRmFzdFNjcm9sbGFi
bGVSZWdpb25Bc1RleHQgZm9yIHRlc3Rpbmcgc2Nyb2xsYWJsZSBhcmVhcyBpbiBmYXN0L3Nsb3cg
cGF0aHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEw
NTU0NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEV4
cG9ydCB0aGUgbmV3IHN5bWJvbC4KKworICAgICAgICAqIFNvdXJjZS9hdXRvdG9vbHMvc3ltYm9s
cy5maWx0ZXI6CisKIDIwMTItMTItMjAgIFphbiBEb2JlcnNlayAgPHphbmRvYmVyc2VrQGdtYWls
LmNvbT4KIAogICAgICAgICBbR1RLXSBSZW1vdmUgdGhlIC0tZW5hYmxlLXVuc3RhYmxlLWZlYXR1
cmVzIGNvbmZpZ3VyYXRpb24gb3B0aW9uCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180396</attachid>
            <date>2012-12-20 13:09:52 -0800</date>
            <delta_ts>2012-12-21 10:01:50 -0800</delta_ts>
            <desc>Patch for review</desc>
            <filename>bug-105546-20121220210708.patch</filename>
            <type>text/plain</type>
            <size>14251</size>
            <attacher name="Xianzhu Wang">wangxianzhu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4MjU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWRkNDUzNGEzYmNkYmFl
OWQxZDBkNDNmM2JhM2I3MjIxYWIyN2YwNi4uODI3NTlhNTQ4OGNmNzc4NjVkZWJkZjBiYmE4YjFh
ZjAwOWU2ODY5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDEyLTEyLTIwICBYaWFu
emh1IFdhbmcgIDx3YW5neGlhbnpodUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIHdpbmRv
dy5pbnRlcm5hbHMubm9uRmFzdFNjcm9sbGFibGVSZWdpb25Bc1RleHQgZm9yIHRlc3Rpbmcgc2Ny
b2xsYWJsZSBhcmVhcyBpbiBmYXN0L3Nsb3cgcGF0aHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTU0NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gQWRkZWQgdGVzdCBBUEkgZm9y
IG5ldyB0ZXN0cyBvZiBvdGhlciBidWdzLgorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46Cisg
ICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6Om5vbkZhc3RT
Y3JvbGxhYmxlUmVnaW9uQXNUZXh0KToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHBh
Z2UvUGFnZS5oOgorICAgICAgICAoUGFnZSk6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nQ29vcmRpbmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRp
bmF0b3I6OmNvbXB1dGVOb25GYXN0U2Nyb2xsYWJsZVJlZ2lvbik6CisgICAgICAgIChXZWJDb3Jl
OjpTY3JvbGxpbmdDb29yZGluYXRvcjo6bm9uRmFzdFNjcm9sbGFibGVSZWdpb25Bc1RleHQpOgor
ICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29v
cmRpbmF0b3IuaDoKKyAgICAgICAgKFNjcm9sbGluZ0Nvb3JkaW5hdG9yKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9SZWdpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVnaW9uOjpT
aGFwZTo6ZHVtcCk6CisgICAgICAgIChXZWJDb3JlOjpSZWdpb246OnRvU3RyaW5nKToKKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6UmVnaW9uOjpkdW1wKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9SZWdpb24uaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAoUmVnaW9uKToKKyAgICAgICAgKFNoYXBlKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFs
cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6Om5vbkZhc3RTY3JvbGxhYmxlUmVn
aW9uQXNUZXh0KToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJu
YWxzLmg6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaWRsOgorCiAyMDEyLTEyLTIwICBD
YXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbUXRd
UkVHUkVTU0lPTihyMTM4MjIyKTogSXQgbWFkZSBmYXN0L2Zvcm1zL251bWJlci9udW1iZXItc3Bp
bmJ1dHRvbi1jbGljay1pbi1pZnJhbWUuaHRtbCBjcmFzaApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDlmNWQ0MDRj
YjliNWQ3Njg4ZThkNzM5OWY5Mzk1MDE4NmI0ZmNmYmYuLmFkODY2N2ZmZDc5MWJkZjllOTI3Yzhh
YzdjMWNmNTQ3OWE4YTczY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMi0xMi0y
MCAgWGlhbnpodSBXYW5nICA8d2FuZ3hpYW56aHVAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFk
ZCB3aW5kb3cuaW50ZXJuYWxzLm5vbkZhc3RTY3JvbGxhYmxlUmVnaW9uQXNUZXh0IGZvciB0ZXN0
aW5nIHNjcm9sbGFibGUgYXJlYXMgaW4gZmFzdC9zbG93IHBhdGhzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDU1NDYKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFeHBvcnQgdGhlIG5ldyBzeW1ib2wuCisK
KyAgICAgICAgKiB3aW4vV2ViS2l0Mi5kZWYuaW46CisKIDIwMTItMTItMjAgIERvbWluaWsgUsO2
dHRzY2hlcyAgPGRvbWluaWsucm90dHNjaGVzQGludGVsLmNvbT4KIAogICAgICAgICBbRUZMXSBN
aW5pQnJvd3NlciBkb2VzIG5vdCBwbGF5IEluZmluaXRlIEdhbmduYW0gU3R5bGUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5leHAuaW4KaW5kZXggMGM3MzA2ZTJlMzNhY2FhZmRhOTNlMGQzYmVhNmU5OGZiNmRmY2FlMi4u
MzE4OWFiMzE3MDI3NmRkYmQzNzQyYWJmZjEzMzU5MDkwNGVmNmJhZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5l
eHAuaW4KQEAgLTc2Miw2ICs3NjIsNyBAQCBfX1pON1dlYkNvcmU0UGFnZTIzY2xlYXJVbmRvUmVk
b09wZXJhdGlvbnNFdgogX19aTjdXZWJDb3JlNFBhZ2UyNHJlc3VtZVNjcmlwdGVkQW5pbWF0aW9u
c0V2CiBfX1pON1dlYkNvcmU0UGFnZTI0c2Nyb2xsaW5nU3RhdGVUcmVlQXNUZXh0RXYKIF9fWk43
V2ViQ29yZTRQYWdlMjVzdXNwZW5kU2NyaXB0ZWRBbmltYXRpb25zRXYKK19fWk43V2ViQ29yZTRQ
YWdlMjlub25GYXN0U2Nyb2xsYWJsZVJlZ2lvbkFzVGV4dEVQS05TXzVGcmFtZUUKIF9fWk43V2Vi
Q29yZTRQYWdlMzFzZXRDdXN0b21IVE1MVG9rZW5pemVyQ2h1bmtTaXplRWkKIF9fWk43V2ViQ29y
ZTRQYWdlMzFzZXRDdXN0b21IVE1MVG9rZW5pemVyVGltZURlbGF5RWQKIF9fWk43V2ViQ29yZTRQ
YWdlMzJtYWluVGhyZWFkU2Nyb2xsaW5nUmVhc29uc0FzVGV4dEV2CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApp
bmRleCBlYTA4ZGU2ZDJmYzAxYWQyODNlZmMxZmQwM2FhZDc0NjkzYjZhOWE2Li4zY2MwMjE0Nzg4
OGZiMjgyY2ZkNzlmOTE2NDlmNGY0ZWQ2ZWIzNDU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKQEAgLTI2
OSw2ICsyNjksMTcgQEAgU3RyaW5nIFBhZ2U6Om1haW5UaHJlYWRTY3JvbGxpbmdSZWFzb25zQXNU
ZXh0KCkKICAgICByZXR1cm4gU3RyaW5nKCk7CiB9CiAKK1N0cmluZyBQYWdlOjpub25GYXN0U2Ny
b2xsYWJsZVJlZ2lvbkFzVGV4dChjb25zdCBGcmFtZSogZnJhbWUpCit7CisgICAgaWYgKERvY3Vt
ZW50KiBkb2N1bWVudCA9IG1fbWFpbkZyYW1lLT5kb2N1bWVudCgpKQorICAgICAgICBkb2N1bWVu
dC0+dXBkYXRlTGF5b3V0KCk7CisKKyAgICBpZiAoU2Nyb2xsaW5nQ29vcmRpbmF0b3IqIHNjcm9s
bGluZ0Nvb3JkaW5hdG9yID0gdGhpcy0+c2Nyb2xsaW5nQ29vcmRpbmF0b3IoKSkKKyAgICAgICAg
cmV0dXJuIHNjcm9sbGluZ0Nvb3JkaW5hdG9yLT5ub25GYXN0U2Nyb2xsYWJsZVJlZ2lvbkFzVGV4
dChmcmFtZSk7CisKKyAgICByZXR1cm4gU3RyaW5nKCk7Cit9CisKIHN0cnVjdCBWaWV3TW9kZUlu
Zm8gewogICAgIGNvbnN0IGNoYXIqIG5hbWU7CiAgICAgUGFnZTo6Vmlld01vZGUgdHlwZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlLmgKaW5kZXggMmMwYjhiOGM1ZWQyZjljODFlZmY3OGE0YjA4YTYyMzQzMjAzZjBjNC4u
MWQwOWI4ZjAwZDM0YzVkYjc2OTc3NjY3MTFmMjhlMTQxZDczM2RkZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgK
QEAgLTIwMCw2ICsyMDAsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgU3RyaW5n
IHNjcm9sbGluZ1N0YXRlVHJlZUFzVGV4dCgpOwogICAgICAgICBTdHJpbmcgbWFpblRocmVhZFNj
cm9sbGluZ1JlYXNvbnNBc1RleHQoKTsKKyAgICAgICAgU3RyaW5nIG5vbkZhc3RTY3JvbGxhYmxl
UmVnaW9uQXNUZXh0KGNvbnN0IEZyYW1lKik7CiAKICAgICAgICAgU2V0dGluZ3MqIHNldHRpbmdz
KCkgY29uc3QgeyByZXR1cm4gbV9zZXR0aW5ncy5nZXQoKTsgfQogICAgICAgICBQcm9ncmVzc1Ry
YWNrZXIqIHByb2dyZXNzKCkgY29uc3QgeyByZXR1cm4gbV9wcm9ncmVzcy5nZXQoKTsgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0
b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0
b3IuY3BwCmluZGV4IDIwNDU4N2U2YmUzZjk2MjIyNjA5ZWQwMzQxNjcxODlhMGI0MjdhMWQuLmMx
YjNkYjM2MTNlNDkzNzJiNGIwZGQ1YmM3NGUyNGNkMThkYzE3MDggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5jcHAKQEAg
LTEzNiw3ICsxMzYsNyBAQCBib29sIFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpjb29yZGluYXRlc1Nj
cm9sbGluZ0ZvckZyYW1lVmlldyhGcmFtZVZpZXcqIGZyYW1lVmlldwogI2VuZGlmCiB9CiAKLVJl
Z2lvbiBTY3JvbGxpbmdDb29yZGluYXRvcjo6Y29tcHV0ZU5vbkZhc3RTY3JvbGxhYmxlUmVnaW9u
KEZyYW1lKiBmcmFtZSwgY29uc3QgSW50UG9pbnQmIGZyYW1lTG9jYXRpb24pCitSZWdpb24gU2Ny
b2xsaW5nQ29vcmRpbmF0b3I6OmNvbXB1dGVOb25GYXN0U2Nyb2xsYWJsZVJlZ2lvbihjb25zdCBG
cmFtZSogZnJhbWUsIGNvbnN0IEludFBvaW50JiBmcmFtZUxvY2F0aW9uKSBjb25zdAogewogICAg
IFJlZ2lvbiBub25GYXN0U2Nyb2xsYWJsZVJlZ2lvbjsKICAgICBGcmFtZVZpZXcqIGZyYW1lVmll
dyA9IGZyYW1lLT52aWV3KCk7CkBAIC0xNzgsNiArMTc4LDExIEBAIFJlZ2lvbiBTY3JvbGxpbmdD
b29yZGluYXRvcjo6Y29tcHV0ZU5vbkZhc3RTY3JvbGxhYmxlUmVnaW9uKEZyYW1lKiBmcmFtZSwg
Y29uc3QKICAgICByZXR1cm4gbm9uRmFzdFNjcm9sbGFibGVSZWdpb247CiB9CiAKK1N0cmluZyBT
Y3JvbGxpbmdDb29yZGluYXRvcjo6bm9uRmFzdFNjcm9sbGFibGVSZWdpb25Bc1RleHQoY29uc3Qg
RnJhbWUqIGZyYW1lKSBjb25zdAoreworICAgIHJldHVybiBjb21wdXRlTm9uRmFzdFNjcm9sbGFi
bGVSZWdpb24oZnJhbWUsIEludFBvaW50KCkpLnRvU3RyaW5nKCk7Cit9CisKICNpZiBFTkFCTEUo
VE9VQ0hfRVZFTlRfVFJBQ0tJTkcpCiBzdGF0aWMgdm9pZCBhY2N1bXVsYXRlUmVuZGVyZXJUb3Vj
aEV2ZW50VGFyZ2V0UmVjdHMoVmVjdG9yPEludFJlY3Q+JiByZWN0cywgY29uc3QgUmVuZGVyT2Jq
ZWN0KiByZW5kZXJlcikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9TY3JvbGxpbmdDb29yZGluYXRvci5oCmluZGV4IDJkMjcyZWNlZjJiMGRkODljNDQwYTk3MWFl
N2VkNmExOWQyZTQzODEuLmEyZmRmM2U0NDk5MTZjNGU5NjIyNjMyNGYwYWVhMjU4ZDFhOTdhMGUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3Jk
aW5hdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29v
cmRpbmF0b3IuaApAQCAtMTYwLDEwICsxNjAsMTIgQEAgcHVibGljOgogICAgIHN0YXRpYyBTdHJp
bmcgbWFpblRocmVhZFNjcm9sbGluZ1JlYXNvbnNBc1RleHQoTWFpblRocmVhZFNjcm9sbGluZ1Jl
YXNvbnMpOwogICAgIFN0cmluZyBtYWluVGhyZWFkU2Nyb2xsaW5nUmVhc29uc0FzVGV4dCgpIGNv
bnN0OwogCisgICAgU3RyaW5nIG5vbkZhc3RTY3JvbGxhYmxlUmVnaW9uQXNUZXh0KGNvbnN0IEZy
YW1lKikgY29uc3Q7CisKIHByb3RlY3RlZDoKICAgICBleHBsaWNpdCBTY3JvbGxpbmdDb29yZGlu
YXRvcihQYWdlKik7CiAKLSAgICBSZWdpb24gY29tcHV0ZU5vbkZhc3RTY3JvbGxhYmxlUmVnaW9u
KEZyYW1lKiwgY29uc3QgSW50UG9pbnQmIGZyYW1lTG9jYXRpb24pOworICAgIFJlZ2lvbiBjb21w
dXRlTm9uRmFzdFNjcm9sbGFibGVSZWdpb24oY29uc3QgRnJhbWUqLCBjb25zdCBJbnRQb2ludCYg
ZnJhbWVMb2NhdGlvbikgY29uc3Q7CiAgICAgdW5zaWduZWQgY29tcHV0ZUN1cnJlbnRXaGVlbEV2
ZW50SGFuZGxlckNvdW50KCk7CiAgICAgR3JhcGhpY3NMYXllciogc2Nyb2xsTGF5ZXJGb3JGcmFt
ZVZpZXcoRnJhbWVWaWV3Kik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL1JlZ2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9S
ZWdpb24uY3BwCmluZGV4IDVlNGMwNDZjM2NlYjA5MDI3NmQzNDdkY2M1NTg3NzczZGIyODIxMDku
Ljk3ODgyYjkxNTQyMGFmZWI2NjcxOGEzMmYyZTYwNzU5MjllZGM4Y2IgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1JlZ2lvbi5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUmVnaW9uLmNwcApAQCAtMjYsNyArMjYsOSBAQAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlJlZ2lvbi5oIgogCisjaW5jbHVkZSAiVGV4dFN0
cmVhbS5oIgogI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5o
PgogCiAvLyBBIHJlZ2lvbiBjbGFzcyBiYXNlZCBvbiB0aGUgcGFwZXIgIlNjYW5saW5lIENvaGVy
ZW50IFNoYXBlIEFsZ2VicmEiCiAvLyBieSBKb25hdGhhbiBFLiBTdGVpbmhhcnQgZnJvbSB0aGUg
Ym9vayAiR3JhcGhpY3MgR2VtcyBJSSIuCkBAIC0zMTYsMjAgKzMxOCwxNiBAQCBSZWdpb246OlNo
YXBlOjpTZWdtZW50SXRlcmF0b3IgUmVnaW9uOjpTaGFwZTo6c2VnbWVudHNfZW5kKFNwYW5JdGVy
YXRvciBpdCkgY29ucwogICAgIHJldHVybiBtX3NlZ21lbnRzLmRhdGEoKSArIHNlZ21lbnRJbmRl
eDsKIH0KIAotI2lmbmRlZiBOREVCVUcKLXZvaWQgUmVnaW9uOjpTaGFwZTo6ZHVtcCgpIGNvbnN0
Cit2b2lkIFJlZ2lvbjo6U2hhcGU6OmR1bXAoVGV4dFN0cmVhbSYgdHMpIGNvbnN0CiB7CiAgICAg
Zm9yIChTaGFwZTo6U3Bhbkl0ZXJhdG9yIHNwYW4gPSBzcGFuc19iZWdpbigpLCBlbmQgPSBzcGFu
c19lbmQoKTsgc3BhbiAhPSBlbmQ7ICsrc3BhbikgewotICAgICAgICBwcmludGYoIiU2ZDogKCIs
IHNwYW4tPnkpOworICAgICAgICB0cyA8PCBzcGFuLT55IDw8ICI6ICgiOwogCi0gICAgICAgIGZv
ciAoU2hhcGU6OlNlZ21lbnRJdGVyYXRvciBzZWdtZW50ID0gc2VnbWVudHNfYmVnaW4oc3Bhbiks
IGVuZCA9IHNlZ21lbnRzX2VuZChzcGFuKTsgc2VnbWVudCAhPSBlbmQ7ICsrc2VnbWVudCkKLSAg
ICAgICAgICAgIHByaW50ZigiJWQgIiwgKnNlZ21lbnQpOwotICAgICAgICBwcmludGYoIilcbiIp
OworICAgICAgICBmb3IgKFNoYXBlOjpTZWdtZW50SXRlcmF0b3IgYmVnaW4gPSBzZWdtZW50c19i
ZWdpbihzcGFuKSwgc2VnbWVudCA9IGJlZ2luLCBlbmQgPSBzZWdtZW50c19lbmQoc3Bhbik7IHNl
Z21lbnQgIT0gZW5kOyArK3NlZ21lbnQpCisgICAgICAgICAgICB0cyA8PCAoc2VnbWVudCA9PSBi
ZWdpbiA/ICIiIDogIiAiKSA8PCAqc2VnbWVudDsKKyAgICAgICAgdHMgPDwgIilcbiI7CiAgICAg
fQotCi0gICAgcHJpbnRmKCJcbiIpOwogfQotI2VuZGlmCiAKIEludFJlY3QgUmVnaW9uOjpTaGFw
ZTo6Ym91bmRzKCkgY29uc3QKIHsKQEAgLTU0MSwxMiArNTM5LDIzIEBAIFJlZ2lvbjo6U2hhcGUg
UmVnaW9uOjpTaGFwZTo6c3VidHJhY3RTaGFwZXMoY29uc3QgU2hhcGUmIHNoYXBlMSwgY29uc3Qg
U2hhcGUmIHNoCiAgICAgcmV0dXJuIHNoYXBlT3BlcmF0aW9uPFN1YnRyYWN0T3BlcmF0aW9uPihz
aGFwZTEsIHNoYXBlMik7CiB9CiAKK1N0cmluZyBSZWdpb246OnRvU3RyaW5nKCkgY29uc3QKK3sK
KyAgICBUZXh0U3RyZWFtIHRzOworICAgIGR1bXAodHMpOworICAgIHJldHVybiB0cy5yZWxlYXNl
KCk7Cit9CisKK3ZvaWQgUmVnaW9uOjpkdW1wKFRleHRTdHJlYW0mIHRzKSBjb25zdAoreworICAg
IHRzIDw8ICJCb3VuZHM6ICgiIDw8IG1fYm91bmRzLngoKSA8PCAiLCAiIDw8IG1fYm91bmRzLnko
KSA8PCAiLCAiIDw8IG1fYm91bmRzLndpZHRoKCkgPDwgIiwgIiA8PCBtX2JvdW5kcy5oZWlnaHQo
KSA8PCAiKVxuIjsKKyAgICBtX3NoYXBlLmR1bXAodHMpOworfQorCiAjaWZuZGVmIE5ERUJVRwog
dm9pZCBSZWdpb246OmR1bXAoKSBjb25zdAogewotICAgIHByaW50ZigiQm91bmRzOiAoJWQsICVk
LCAlZCwgJWQpXG4iLAotICAgICAgICAgICBtX2JvdW5kcy54KCksIG1fYm91bmRzLnkoKSwgbV9i
b3VuZHMud2lkdGgoKSwgbV9ib3VuZHMuaGVpZ2h0KCkpOwotICAgIG1fc2hhcGUuZHVtcCgpOwor
ICAgIHByaW50ZigiJXNcbiIsIHRvU3RyaW5nKCkuYXNjaWkoKS5kYXRhKCkpOwogfQogI2VuZGlm
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1JlZ2lvbi5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUmVnaW9uLmgKaW5kZXggOTBhYjQz
NDgyMzljMzUzNWNhOTQ1N2ZhNmE4MTFkYjdhOWYxYTJmMy4uMTFhZDRkYTZlMDJjMmMwNDViMWNi
NDc5YWYxNDBlZGI0N2E2ZTAxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvUmVnaW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
UmVnaW9uLmgKQEAgLTI4LDkgKzI4LDEyIEBACiAKICNpbmNsdWRlICJJbnRSZWN0LmgiCiAjaW5j
bHVkZSA8d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIFRleHRTdHJlYW07CisKIGNsYXNzIFJlZ2lvbiB7
CiBwdWJsaWM6CiAgICAgUmVnaW9uKCk7CkBAIC01OCw2ICs2MSw4IEBAIHB1YmxpYzoKIAogICAg
IHVuc2lnbmVkIHRvdGFsQXJlYSgpIGNvbnN0OwogCisgICAgU3RyaW5nIHRvU3RyaW5nKCkgY29u
c3Q7CisgICAgdm9pZCBkdW1wKFRleHRTdHJlYW0mKSBjb25zdDsKICNpZm5kZWYgTkRFQlVHCiAg
ICAgdm9pZCBkdW1wKCkgY29uc3Q7CiAjZW5kaWYKQEAgLTEwMyw5ICsxMDgsNyBAQCBwcml2YXRl
OgogICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDb21wYXJlT3BlcmF0aW9uPgogICAgICAgICBz
dGF0aWMgYm9vbCBjb21wYXJlU2hhcGVzKGNvbnN0IFNoYXBlJiBzaGFwZTEsIGNvbnN0IFNoYXBl
JiBzaGFwZTIpOwogCi0jaWZuZGVmIE5ERUJVRwotICAgICAgICB2b2lkIGR1bXAoKSBjb25zdDsK
LSNlbmRpZgorICAgICAgICB2b2lkIGR1bXAoVGV4dFN0cmVhbSYpIGNvbnN0OwogCiAgICAgcHJp
dmF0ZToKICAgICAgICAgc3RydWN0IFVuaW9uT3BlcmF0aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuY3BwCmluZGV4IDBiZmM2YTZmMWFkNTc1N2YwODc1YWNkY2Y3NzQ4N2E4NmE4ZjVi
MGIuLjgzYWFmNGFhMzMxNWI3MmE5ZjU2MDkxMjljOTk3ZGE5YWFhMTZmYzYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTE1MTQsNiArMTUxNCwyMCBAQCBTdHJpbmcgSW50
ZXJuYWxzOjptYWluVGhyZWFkU2Nyb2xsaW5nUmVhc29ucyhEb2N1bWVudCogZG9jdW1lbnQsIEV4
Y2VwdGlvbkNvZGUmCiAgICAgcmV0dXJuIHBhZ2UtPm1haW5UaHJlYWRTY3JvbGxpbmdSZWFzb25z
QXNUZXh0KCk7CiB9CiAKK1N0cmluZyBJbnRlcm5hbHM6Om5vbkZhc3RTY3JvbGxhYmxlUmVnaW9u
QXNUZXh0KERvY3VtZW50KiBkb2N1bWVudCwgRXhjZXB0aW9uQ29kZSYgZWMpIGNvbnN0Cit7Cisg
ICAgaWYgKCFkb2N1bWVudCB8fCAhZG9jdW1lbnQtPmZyYW1lKCkpIHsKKyAgICAgICAgZWMgPSBJ
TlZBTElEX0FDQ0VTU19FUlI7CisgICAgICAgIHJldHVybiBTdHJpbmcoKTsKKyAgICB9CisKKyAg
ICBQYWdlKiBwYWdlID0gZG9jdW1lbnQtPnBhZ2UoKTsKKyAgICBpZiAoIXBhZ2UpCisgICAgICAg
IHJldHVybiBTdHJpbmcoKTsKKworICAgIHJldHVybiBwYWdlLT5ub25GYXN0U2Nyb2xsYWJsZVJl
Z2lvbkFzVGV4dChkb2N1bWVudC0+ZnJhbWUoKSk7Cit9CisKIHZvaWQgSW50ZXJuYWxzOjpnYXJi
YWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzKERvY3VtZW50KiBkb2N1bWVudCwgRXhjZXB0aW9u
Q29kZSYgZWMpIGNvbnN0CiB7CiAgICAgaWYgKCFkb2N1bWVudCkgewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmgKaW5kZXggYjA2Nzk0OGMzNmZlZWJlNWQ2ZDU5YjVkYWNlMzdiODNhMzQ1MTEy
Ni4uMTliYjZlNDZmZGU2Nzc3ZTg5MTk1MjY0ZTdkMzMzMTBkNTJiN2MwOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5oCkBAIC0yMTEsOCArMjExLDggQEAgcHVibGljOgogICAgIFN0cmlu
ZyBsYXllclRyZWVBc1RleHQoRG9jdW1lbnQqLCBFeGNlcHRpb25Db2RlJikgY29uc3Q7CiAgICAg
U3RyaW5nIHJlcGFpbnRSZWN0c0FzVGV4dChEb2N1bWVudCosIEV4Y2VwdGlvbkNvZGUmKSBjb25z
dDsKICAgICBTdHJpbmcgc2Nyb2xsaW5nU3RhdGVUcmVlQXNUZXh0KERvY3VtZW50KiwgRXhjZXB0
aW9uQ29kZSYpIGNvbnN0OwotCiAgICAgU3RyaW5nIG1haW5UaHJlYWRTY3JvbGxpbmdSZWFzb25z
KERvY3VtZW50KiwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0OworICAgIFN0cmluZyBub25GYXN0U2Ny
b2xsYWJsZVJlZ2lvbkFzVGV4dChEb2N1bWVudCosIEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsKIAog
ICAgIHZvaWQgZ2FyYmFnZUNvbGxlY3REb2N1bWVudFJlc291cmNlcyhEb2N1bWVudCosIEV4Y2Vw
dGlvbkNvZGUmKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4
IDQ5ZWVjN2MyNjFhM2RmN2E3NzQ5NWQ0Y2UyMDMzNjU5Y2IyM2EwODIuLjY5YTk1OWRhMTQ2OGJl
ZTExMzczMDU5YzUzMDE1NDY0YzNjNzUyYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5pZGwKQEAgLTE3MSw2ICsxNzEsNyBAQAogCiAgICAgRE9NU3RyaW5nIHNjcm9sbGluZ1N0YXRl
VHJlZUFzVGV4dChpbiBEb2N1bWVudCBkb2N1bWVudCkgcmFpc2VzIChET01FeGNlcHRpb24pOwog
ICAgIERPTVN0cmluZyBtYWluVGhyZWFkU2Nyb2xsaW5nUmVhc29ucyhpbiBEb2N1bWVudCBkb2N1
bWVudCkgcmFpc2VzIChET01FeGNlcHRpb24pOworICAgIERPTVN0cmluZyBub25GYXN0U2Nyb2xs
YWJsZVJlZ2lvbkFzVGV4dChpbiBEb2N1bWVudCBkb2N1bWVudCkgcmFpc2VzIChET01FeGNlcHRp
b24pOwogCiAgICAgRE9NU3RyaW5nIHJlcGFpbnRSZWN0c0FzVGV4dChpbiBEb2N1bWVudCBkb2N1
bWVudCkgcmFpc2VzIChET01FeGNlcHRpb24pOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi93aW4vV2ViS2l0Mi5kZWYuaW4gYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYuaW4K
aW5kZXggNGU4YWFkZTgwNWY4MjMwNmYxOGM4ODM1MTY2YTM4Mzk2MjE2ZTQ1YS4uOTBlMjdkNDY0
ZGRkODdmZjlmODVjMTg0MzQzNmRjZjZkYzM0OGE5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvd2luL1dlYktpdDIuZGVmLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRl
Zi5pbgpAQCAtMjI5LDYgKzIyOSw3IEBAIEVYUE9SVFMKICAgICAgICAgP2pzQXJyYXlAV2ViQ29y
ZUBAWUE/QVZKU1ZhbHVlQEpTQ0BAUEFWRXhlY1N0YXRlQDNAUEFWSlNET01HbG9iYWxPYmplY3RA
MUBWPyRQYXNzUmVmUHRyQFZET01TdHJpbmdMaXN0QFdlYkNvcmVAQEBXVEZAQEBaCiAgICAgICAg
ID9sYXN0Q2hhbmdlV2FzVXNlckVkaXRASFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnRAV2ViQ29y
ZUBAUUJFX05YWgogICAgICAgICA/bWFpblRocmVhZFNjcm9sbGluZ1JlYXNvbnNBc1RleHRAUGFn
ZUBXZWJDb3JlQEBRQUU/QVZTdHJpbmdAV1RGQEBYWgorICAgICAgICA/bm9uRmFzdFNjcm9sbGFi
bGVSZWdpb25Bc1RleHRAUGFnZUBXZWJDb3JlQEBRQUU/QVZTdHJpbmdAV1RGQEBQQlZGcmFtZUAy
QEBaCiAgICAgICAgID9tYXJrZXJzRm9yQERvY3VtZW50TWFya2VyQ29udHJvbGxlckBXZWJDb3Jl
QEBRQUU/QVY/JFZlY3RvckBQQVZEb2N1bWVudE1hcmtlckBXZWJDb3JlQEAkMEFAQFdURkBAUEFW
Tm9kZUAyQFZNYXJrZXJUeXBlc0BEb2N1bWVudE1hcmtlckAyQEBaCiAgICAgICAgID9uZXh0U2li
bGluZ0BDb21wb3NlZFNoYWRvd1RyZWVXYWxrZXJAV2ViQ29yZUBAUUFFWFhaCiAgICAgICAgID9m
aXJzdENoaWxkQENvbXBvc2VkU2hhZG93VHJlZVdhbGtlckBXZWJDb3JlQEBRQUVYWFoKZGlmZiAt
LWdpdCBhL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIgYi9Tb3VyY2UvYXV0b3Rvb2xz
L3N5bWJvbHMuZmlsdGVyCmluZGV4IGY4N2Y4MzQ4MGY5ZjNhNjdiOThhY2JjYmNlYzBjZWY1ZTU4
MGYyM2MuLjdjMzZmYWNhNjVlZWQ2YzU5NWM5OTMzMmFlM2E5ZmRhYjA2NWJlZDEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIKKysrIGIvU291cmNlL2F1dG90b29s
cy9zeW1ib2xzLmZpbHRlcgpAQCAtMzIsNiArMzIsNyBAQCBfWk43V2ViQ29yZTRQYWdlMThzZXRQ
YWdlU2NhbGVGYWN0b3JFZlJLTlNfOEludFBvaW50RTsKIF9aTjdXZWJDb3JlNFBhZ2UyMHNldERl
dmljZVNjYWxlRmFjdG9yRWY7CiBfWk43V2ViQ29yZTRQYWdlMjRzY3JvbGxpbmdTdGF0ZVRyZWVB
c1RleHRFdjsKIF9aTjdXZWJDb3JlNFBhZ2UzMm1haW5UaHJlYWRTY3JvbGxpbmdSZWFzb25zQXNU
ZXh0RXY7CitfWk43V2ViQ29yZTRQYWdlMjlub25GYXN0U2Nyb2xsYWJsZVJlZ2lvbkFzVGV4dEVQ
S05TXzVGcmFtZUU7CiBfWk43V2ViQ29yZTRQYWdlMTZzZXRDYW5TdGFydE1lZGlhRWI7CiBfWk43
V2ViQ29yZTR0b0pTRVBOM0pTQzlFeGVjU3RhdGVFUE5TXzE3SlNET01HbG9iYWxPYmplY3RFUE5T
XzEwQ2xpZW50UmVjdEU7CiBfWk43V2ViQ29yZTR0b0pTRVBOM0pTQzlFeGVjU3RhdGVFUE5TXzE3
SlNET01HbG9iYWxPYmplY3RFUE5TXzEwU2hhZG93Um9vdEU7CmRpZmYgLS1naXQgYS9DaGFuZ2VM
b2cgYi9DaGFuZ2VMb2cKaW5kZXggMzAwNzZkMTk3MTZkYWMyYThkOWU3YTc4ODMwOTE4ZmM3NDhi
Mzc3Yi4uYjZhMjkxODI4MjgyZDE2NDVhMzIwN2FjMWM5YzVjYzk0OTQzMmE0ZCAxMDA2NDQKLS0t
IGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEyLTEyLTIw
ICBYaWFuemh1IFdhbmcgIDx3YW5neGlhbnpodUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRk
IHdpbmRvdy5pbnRlcm5hbHMubm9uRmFzdFNjcm9sbGFibGVSZWdpb25Bc1RleHQgZm9yIHRlc3Rp
bmcgc2Nyb2xsYWJsZSBhcmVhcyBpbiBmYXN0L3Nsb3cgcGF0aHMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTU0NgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEV4cG9ydCB0aGUgbmV3IHN5bWJvbC4KKwor
ICAgICAgICAqIFNvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXI6CisKIDIwMTItMTItMjAg
IFphbiBEb2JlcnNlayAgPHphbmRvYmVyc2VrQGdtYWlsLmNvbT4KIAogICAgICAgICBbR1RLXSBS
ZW1vdmUgdGhlIC0tZW5hYmxlLXVuc3RhYmxlLWZlYXR1cmVzIGNvbmZpZ3VyYXRpb24gb3B0aW9u
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180531</attachid>
            <date>2012-12-21 10:01:53 -0800</date>
            <delta_ts>2012-12-21 17:35:02 -0800</delta_ts>
            <desc>Patch to fail to grab win symbol</desc>
            <filename>bug-105546-20121221175908.patch</filename>
            <type>text/plain</type>
            <size>11834</size>
            <attacher name="Xianzhu Wang">wangxianzhu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4MjU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWRkNDUzNGEzYmNkYmFl
OWQxZDBkNDNmM2JhM2I3MjIxYWIyN2YwNi4uZjE0MmMwMGQxMzdhMjIxOWExY2FhYTAzYmRiMGI5
MGRiMTg2NjRlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDEyLTEyLTIxICBYaWFu
emh1IFdhbmcgIDx3YW5neGlhbnpodUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIHdpbmRv
dy5pbnRlcm5hbHMubm9uRmFzdFNjcm9sbGFibGVSZWN0cyBmb3IgdGVzdGluZyBzY3JvbGxhYmxl
IGFyZWFzIGluIGZhc3Qvc2xvdyBwYXRocworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTA1NTQ2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBBZGRlZCB0ZXN0IEFQSSBmb3IgbmV3IHRl
c3RzIG9mIG90aGVyIGJ1Z3MuCisKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAg
KiBkb20vQ2xpZW50UmVjdExpc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2xpZW50UmVjdExp
c3Q6OkNsaWVudFJlY3RMaXN0KToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGRvbS9D
bGllbnRSZWN0TGlzdC5oOgorICAgICAgICAoV2ViQ29yZTo6Q2xpZW50UmVjdExpc3Q6OmNyZWF0
ZSk6CisgICAgICAgIChDbGllbnRSZWN0TGlzdCk6CisgICAgICAgICogcGFnZS9QYWdlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6Om5vbkZhc3RTY3JvbGxhYmxlUmVjdHMpOgorICAgICAg
ICAoV2ViQ29yZSk6CisgICAgICAgICogcGFnZS9QYWdlLmg6CisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKFBhZ2UpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3Jk
aW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpjb21w
dXRlTm9uRmFzdFNjcm9sbGFibGVSZWdpb24pOiBDaGFuZ2UgdG8gcHVibGljIHRvIGFsbG93IFBh
Z2U6Om5vbkZhc3RTY3JvbGxhYmxlUmVjdHMgdG8gYWNjZXNzLgorICAgICAgICAqIHBhZ2Uvc2Ny
b2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmg6CisgICAgICAgIChTY3JvbGxpbmdDb29yZGlu
YXRvcik6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SW50ZXJuYWxzOjpub25GYXN0U2Nyb2xsYWJsZVJlY3RzKToKKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGluZy9JbnRl
cm5hbHMuaWRsOgorCiAyMDEyLTEyLTIwICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFA
aWdhbGlhLmNvbT4KIAogICAgICAgICBbUXRdUkVHUkVTU0lPTihyMTM4MjIyKTogSXQgbWFkZSBm
YXN0L2Zvcm1zL251bWJlci9udW1iZXItc3BpbmJ1dHRvbi1jbGljay1pbi1pZnJhbWUuaHRtbCBj
cmFzaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCmluZGV4IDlmNWQ0MDRjYjliNWQ3Njg4ZThkNzM5OWY5Mzk1MDE4NmI0ZmNm
YmYuLmE1MGUwMmMzNzdhZTkwNzAyOGNhNDIwMTFmZmU2ODQzYmQ3M2RlYjMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNCBAQAorMjAxMi0xMi0yMCAgWGlhbnpodSBXYW5nICA8d2FuZ3hpYW56aHVA
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZCB3aW5kb3cuaW50ZXJuYWxzLm5vbkZhc3RTY3Jv
bGxhYmxlUmVjdHMgZm9yIHRlc3Rpbmcgc2Nyb2xsYWJsZSBhcmVhcyBpbiBmYXN0L3Nsb3cgcGF0
aHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTU0
NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEV4cG9y
dCB0aGUgbmV3IHN5bWJvbC4KKworICAgICAgICAqIHdpbi9XZWJLaXQyLmRlZi5pbjoKKwogMjAx
Mi0xMi0yMCAgRG9taW5payBSw7Z0dHNjaGVzICA8ZG9taW5pay5yb3R0c2NoZXNAaW50ZWwuY29t
PgogCiAgICAgICAgIFtFRkxdIE1pbmlCcm93c2VyIGRvZXMgbm90IHBsYXkgSW5maW5pdGUgR2Fu
Z25hbSBTdHlsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCAwYzczMDZlMmUzM2FjYWFmZGE5M2Uw
ZDNiZWE2ZTk4ZmI2ZGZjYWUyLi5hZTNhNjM1ODQ1MWM0ZWMxNTAxOTdiNzgxOTVjODQ0N2ZhNzZh
NDUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtNzU4LDYgKzc1OCw3IEBAIF9fWk43V2ViQ29y
ZTRQYWdlMjBzZXREZXZpY2VTY2FsZUZhY3RvckVmCiBfX1pON1dlYkNvcmU0UGFnZTIwdW5tYXJr
QWxsVGV4dE1hdGNoZXNFdgogX19aTjdXZWJDb3JlNFBhZ2UyMW1hcmtBbGxNYXRjaGVzRm9yVGV4
dEVSS04zV1RGNlN0cmluZ0VqYmoKIF9fWk43V2ViQ29yZTRQYWdlMjJhbGxWaXNpdGVkU3RhdGVD
aGFuZ2VkRVBOU185UGFnZUdyb3VwRQorX19aTjdXZWJDb3JlNFBhZ2UyMm5vbkZhc3RTY3JvbGxh
YmxlUmVjdHNFUEtOU181RnJhbWVFOwogX19aTjdXZWJDb3JlNFBhZ2UyM2NsZWFyVW5kb1JlZG9P
cGVyYXRpb25zRXYKIF9fWk43V2ViQ29yZTRQYWdlMjRyZXN1bWVTY3JpcHRlZEFuaW1hdGlvbnNF
dgogX19aTjdXZWJDb3JlNFBhZ2UyNHNjcm9sbGluZ1N0YXRlVHJlZUFzVGV4dEV2CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ2xpZW50UmVjdExpc3QuY3BwIGIvU291cmNlL1dlYkNv
cmUvZG9tL0NsaWVudFJlY3RMaXN0LmNwcAppbmRleCA5NWVjNzU4MDJhMDk3MzUxNTI3ODdkZTg0
OWExYmJiY2VjODgzNmE5Li4xZThhMzM3YjhmNWI1N2QzZDc3MTBiYjVhY2IxYzk0NjkzMzc0ZjZh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ2xpZW50UmVjdExpc3QuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9DbGllbnRSZWN0TGlzdC5jcHAKQEAgLTQzLDYgKzQzLDEzIEBA
IENsaWVudFJlY3RMaXN0OjpDbGllbnRSZWN0TGlzdChjb25zdCBWZWN0b3I8RmxvYXRRdWFkPiYg
cXVhZHMpCiAgICAgICAgIG1fbGlzdC5hcHBlbmQoQ2xpZW50UmVjdDo6Y3JlYXRlKHF1YWRzW2ld
LmVuY2xvc2luZ0JvdW5kaW5nQm94KCkpKTsKIH0KIAorQ2xpZW50UmVjdExpc3Q6OkNsaWVudFJl
Y3RMaXN0KGNvbnN0IFZlY3RvcjxGbG9hdFJlY3Q+JiByZWN0cykKK3sKKyAgICBtX2xpc3QucmVz
ZXJ2ZUluaXRpYWxDYXBhY2l0eShyZWN0cy5zaXplKCkpOworICAgIGZvciAoc2l6ZV90IGkgPSAw
OyBpIDwgcmVjdHMuc2l6ZSgpOyArK2kpCisgICAgICAgIG1fbGlzdC5hcHBlbmQoQ2xpZW50UmVj
dDo6Y3JlYXRlKHJlY3RzW2ldKSk7Cit9CisKIENsaWVudFJlY3RMaXN0Ojp+Q2xpZW50UmVjdExp
c3QoKQogewogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0NsaWVudFJlY3RMaXN0
LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ2xpZW50UmVjdExpc3QuaAppbmRleCA1MTNjM2JkYTZj
Mjk0NzVlZWQxMWZiNmUyZTQyMmM2NDY1NjE5YjU4Li43MThhODM3ZjcyY2Y5YWFlNDUyNjgwYjA5
MGJkMGQyOGQ4NWVmMWVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ2xpZW50UmVj
dExpc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ2xpZW50UmVjdExpc3QuaApAQCAtNDAs
NiArNDAsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0
aWMgUGFzc1JlZlB0cjxDbGllbnRSZWN0TGlzdD4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYo
bmV3IENsaWVudFJlY3RMaXN0KTsgfQogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDbGllbnRS
ZWN0TGlzdD4gY3JlYXRlKGNvbnN0IFZlY3RvcjxGbG9hdFF1YWQ+JiBxdWFkcykgeyByZXR1cm4g
YWRvcHRSZWYobmV3IENsaWVudFJlY3RMaXN0KHF1YWRzKSk7IH0KKyAgICAgICAgc3RhdGljIFBh
c3NSZWZQdHI8Q2xpZW50UmVjdExpc3Q+IGNyZWF0ZShjb25zdCBWZWN0b3I8RmxvYXRSZWN0PiYg
cmVjdHMpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBDbGllbnRSZWN0TGlzdChyZWN0cykpOyB9CiAg
ICAgICAgIH5DbGllbnRSZWN0TGlzdCgpOwogCiAgICAgICAgIHVuc2lnbmVkIGxlbmd0aCgpIGNv
bnN0OwpAQCAtNDgsNiArNDksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgcHJpdmF0ZToK
ICAgICAgICAgQ2xpZW50UmVjdExpc3QoKTsKICAgICAgICAgZXhwbGljaXQgQ2xpZW50UmVjdExp
c3QoY29uc3QgVmVjdG9yPEZsb2F0UXVhZD4mKTsKKyAgICAgICAgZXhwbGljaXQgQ2xpZW50UmVj
dExpc3QoY29uc3QgVmVjdG9yPEZsb2F0UmVjdD4mKTsKIAogICAgICAgICBWZWN0b3I8UmVmUHRy
PENsaWVudFJlY3Q+ID4gbV9saXN0OwogICAgIH07IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXggZWEw
OGRlNmQyZmMwMWFkMjgzZWZjMWZkMDNhYWQ3NDY5M2I2YTlhNi4uYzZhOWQ0YWViNzljZTU2MmY5
NWFmNDFhZGY2NDUwM2M3NjA5MTZkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Q
YWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC0yNSw2ICsyNSw3
IEBACiAjaW5jbHVkZSAiQmFja0ZvcndhcmRMaXN0LmgiCiAjaW5jbHVkZSAiQ2hyb21lLmgiCiAj
aW5jbHVkZSAiQ2hyb21lQ2xpZW50LmgiCisjaW5jbHVkZSAiQ2xpZW50UmVjdExpc3QuaCIKICNp
bmNsdWRlICJDb250ZXh0TWVudUNsaWVudC5oIgogI2luY2x1ZGUgIkNvbnRleHRNZW51Q29udHJv
bGxlci5oIgogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgpAQCAtMjY5LDYgKzI3MCwyMSBAQCBTdHJp
bmcgUGFnZTo6bWFpblRocmVhZFNjcm9sbGluZ1JlYXNvbnNBc1RleHQoKQogICAgIHJldHVybiBT
dHJpbmcoKTsKIH0KIAorUGFzc1JlZlB0cjxDbGllbnRSZWN0TGlzdD4gUGFnZTo6bm9uRmFzdFNj
cm9sbGFibGVSZWN0cyhjb25zdCBGcmFtZSogZnJhbWUpCit7CisgICAgaWYgKERvY3VtZW50KiBk
b2N1bWVudCA9IG1fbWFpbkZyYW1lLT5kb2N1bWVudCgpKQorICAgICAgICBkb2N1bWVudC0+dXBk
YXRlTGF5b3V0KCk7CisKKyAgICBWZWN0b3I8SW50UmVjdD4gcmVjdHM7CisgICAgaWYgKFNjcm9s
bGluZ0Nvb3JkaW5hdG9yKiBzY3JvbGxpbmdDb29yZGluYXRvciA9IHRoaXMtPnNjcm9sbGluZ0Nv
b3JkaW5hdG9yKCkpCisgICAgICAgIHJlY3RzID0gc2Nyb2xsaW5nQ29vcmRpbmF0b3ItPmNvbXB1
dGVOb25GYXN0U2Nyb2xsYWJsZVJlZ2lvbihmcmFtZSwgSW50UG9pbnQoKSkucmVjdHMoKTsKKwor
ICAgIFZlY3RvcjxGbG9hdFJlY3Q+IGZsb2F0UmVjdHMocmVjdHMuc2l6ZSgpKTsKKyAgICBmb3Ig
KHNpemVfdCBpID0gMDsgaSA8IHJlY3RzLnNpemUoKTsgKytpKQorICAgICAgICBmbG9hdFJlY3Rz
W2ldID0gcmVjdHNbaV07CisgICAgcmV0dXJuIENsaWVudFJlY3RMaXN0OjpjcmVhdGUoZmxvYXRS
ZWN0cyk7Cit9CisKIHN0cnVjdCBWaWV3TW9kZUluZm8gewogICAgIGNvbnN0IGNoYXIqIG5hbWU7
CiAgICAgUGFnZTo6Vmlld01vZGUgdHlwZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGFnZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKaW5kZXggMmMwYjhiOGM1ZWQy
ZjljODFlZmY3OGE0YjA4YTYyMzQzMjAzZjBjNC4uOWYyMGQwZjA4NmM2ZmUzZmU4ZmQwZTM3Njhl
NDAwYWJlNjQxNWI0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKQEAgLTU3LDYgKzU3LDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgIGNsYXNzIEJhY2tGb3J3YXJkTGlzdDsKICAgICBjbGFzcyBDaHJvbWU7
CiAgICAgY2xhc3MgQ2hyb21lQ2xpZW50OworICAgIGNsYXNzIENsaWVudFJlY3RMaXN0OwogI2lm
IEVOQUJMRShDT05URVhUX01FTlVTKQogICAgIGNsYXNzIENvbnRleHRNZW51Q2xpZW50OwogICAg
IGNsYXNzIENvbnRleHRNZW51Q29udHJvbGxlcjsKQEAgLTIwMCw2ICsyMDEsNyBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKICAgICAgICAgU3RyaW5nIHNjcm9sbGluZ1N0YXRlVHJlZUFzVGV4dCgp
OwogICAgICAgICBTdHJpbmcgbWFpblRocmVhZFNjcm9sbGluZ1JlYXNvbnNBc1RleHQoKTsKKyAg
ICAgICAgUGFzc1JlZlB0cjxDbGllbnRSZWN0TGlzdD4gbm9uRmFzdFNjcm9sbGFibGVSZWN0cyhj
b25zdCBGcmFtZSopOwogCiAgICAgICAgIFNldHRpbmdzKiBzZXR0aW5ncygpIGNvbnN0IHsgcmV0
dXJuIG1fc2V0dGluZ3MuZ2V0KCk7IH0KICAgICAgICAgUHJvZ3Jlc3NUcmFja2VyKiBwcm9ncmVz
cygpIGNvbnN0IHsgcmV0dXJuIG1fcHJvZ3Jlc3MuZ2V0KCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcAppbmRleCAy
MDQ1ODdlNmJlM2Y5NjIyMjYwOWVkMDM0MTY3MTg5YTBiNDI3YTFkLi5kYmMzNWY1NmQwMjgzODgw
ZGYyMWU2MDRkOTAxMDFiZWJmMGZmZjcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwCkBAIC0xMzYsNyArMTM2LDcg
QEAgYm9vbCBTY3JvbGxpbmdDb29yZGluYXRvcjo6Y29vcmRpbmF0ZXNTY3JvbGxpbmdGb3JGcmFt
ZVZpZXcoRnJhbWVWaWV3KiBmcmFtZVZpZXcKICNlbmRpZgogfQogCi1SZWdpb24gU2Nyb2xsaW5n
Q29vcmRpbmF0b3I6OmNvbXB1dGVOb25GYXN0U2Nyb2xsYWJsZVJlZ2lvbihGcmFtZSogZnJhbWUs
IGNvbnN0IEludFBvaW50JiBmcmFtZUxvY2F0aW9uKQorUmVnaW9uIFNjcm9sbGluZ0Nvb3JkaW5h
dG9yOjpjb21wdXRlTm9uRmFzdFNjcm9sbGFibGVSZWdpb24oY29uc3QgRnJhbWUqIGZyYW1lLCBj
b25zdCBJbnRQb2ludCYgZnJhbWVMb2NhdGlvbikgY29uc3QKIHsKICAgICBSZWdpb24gbm9uRmFz
dFNjcm9sbGFibGVSZWdpb247CiAgICAgRnJhbWVWaWV3KiBmcmFtZVZpZXcgPSBmcmFtZS0+dmll
dygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5n
Q29vcmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nv
b3JkaW5hdG9yLmgKaW5kZXggMmQyNzJlY2VmMmIwZGQ4OWM0NDBhOTcxYWU3ZWQ2YTE5ZDJlNDM4
MS4uOWMwNjcxNzkyNzcwMmYzOTljZTRjNWE0ODEwYWM4MTM3MTEzYjg5MSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5oCkBA
IC0xNjAsMTAgKzE2MCwxMSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFN0cmluZyBtYWluVGhyZWFk
U2Nyb2xsaW5nUmVhc29uc0FzVGV4dChNYWluVGhyZWFkU2Nyb2xsaW5nUmVhc29ucyk7CiAgICAg
U3RyaW5nIG1haW5UaHJlYWRTY3JvbGxpbmdSZWFzb25zQXNUZXh0KCkgY29uc3Q7CiAKKyAgICBS
ZWdpb24gY29tcHV0ZU5vbkZhc3RTY3JvbGxhYmxlUmVnaW9uKGNvbnN0IEZyYW1lKiwgY29uc3Qg
SW50UG9pbnQmIGZyYW1lTG9jYXRpb24pIGNvbnN0OworCiBwcm90ZWN0ZWQ6CiAgICAgZXhwbGlj
aXQgU2Nyb2xsaW5nQ29vcmRpbmF0b3IoUGFnZSopOwogCi0gICAgUmVnaW9uIGNvbXB1dGVOb25G
YXN0U2Nyb2xsYWJsZVJlZ2lvbihGcmFtZSosIGNvbnN0IEludFBvaW50JiBmcmFtZUxvY2F0aW9u
KTsKICAgICB1bnNpZ25lZCBjb21wdXRlQ3VycmVudFdoZWVsRXZlbnRIYW5kbGVyQ291bnQoKTsK
ICAgICBHcmFwaGljc0xheWVyKiBzY3JvbGxMYXllckZvckZyYW1lVmlldyhGcmFtZVZpZXcqKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IDBiZmM2YTZmMWFkNTc1N2Yw
ODc1YWNkY2Y3NzQ4N2E4NmE4ZjViMGIuLjJlNzJhNTk0OWU2ZTRhZDAzN2UxN2QzMDU1Y2NiYzU0
YWRlY2M2NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTE1MTQsNiAr
MTUxNCwyMCBAQCBTdHJpbmcgSW50ZXJuYWxzOjptYWluVGhyZWFkU2Nyb2xsaW5nUmVhc29ucyhE
b2N1bWVudCogZG9jdW1lbnQsIEV4Y2VwdGlvbkNvZGUmCiAgICAgcmV0dXJuIHBhZ2UtPm1haW5U
aHJlYWRTY3JvbGxpbmdSZWFzb25zQXNUZXh0KCk7CiB9CiAKK1Bhc3NSZWZQdHI8Q2xpZW50UmVj
dExpc3Q+IEludGVybmFsczo6bm9uRmFzdFNjcm9sbGFibGVSZWN0cyhEb2N1bWVudCogZG9jdW1l
bnQsIEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAoreworICAgIGlmICghZG9jdW1lbnQgfHwgIWRv
Y3VtZW50LT5mcmFtZSgpKSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJSOworICAg
ICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAgICBQYWdlKiBwYWdlID0gZG9jdW1lbnQtPnBhZ2Uo
KTsKKyAgICBpZiAoIXBhZ2UpCisgICAgICAgIHJldHVybiAwOworCisgICAgcmV0dXJuIHBhZ2Ut
Pm5vbkZhc3RTY3JvbGxhYmxlUmVjdHMoZG9jdW1lbnQtPmZyYW1lKCkpOworfQorCiB2b2lkIElu
dGVybmFsczo6Z2FyYmFnZUNvbGxlY3REb2N1bWVudFJlc291cmNlcyhEb2N1bWVudCogZG9jdW1l
bnQsIEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAogewogICAgIGlmICghZG9jdW1lbnQpIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmggYi9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5oCmluZGV4IGIwNjc5NDhjMzZmZWViZTVkNmQ1OWI1ZGFj
ZTM3YjgzYTM0NTExMjYuLjlhYTg4YzZjZjIzODg2NzgwZGM1MDk5OTgxMDBiYzljNmJhNTU5NjYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaApAQCAtMjExLDggKzIxMSw4IEBAIHB1Ymxp
YzoKICAgICBTdHJpbmcgbGF5ZXJUcmVlQXNUZXh0KERvY3VtZW50KiwgRXhjZXB0aW9uQ29kZSYp
IGNvbnN0OwogICAgIFN0cmluZyByZXBhaW50UmVjdHNBc1RleHQoRG9jdW1lbnQqLCBFeGNlcHRp
b25Db2RlJikgY29uc3Q7CiAgICAgU3RyaW5nIHNjcm9sbGluZ1N0YXRlVHJlZUFzVGV4dChEb2N1
bWVudCosIEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsKLQogICAgIFN0cmluZyBtYWluVGhyZWFkU2Ny
b2xsaW5nUmVhc29ucyhEb2N1bWVudCosIEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsKKyAgICBQYXNz
UmVmUHRyPENsaWVudFJlY3RMaXN0PiBub25GYXN0U2Nyb2xsYWJsZVJlY3RzKERvY3VtZW50Kiwg
RXhjZXB0aW9uQ29kZSYpIGNvbnN0OwogCiAgICAgdm9pZCBnYXJiYWdlQ29sbGVjdERvY3VtZW50
UmVzb3VyY2VzKERvY3VtZW50KiwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0OwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5pZGwKaW5kZXggNDllZWM3YzI2MWEzZGY3YTc3NDk1ZDRjZTIwMzM2
NTljYjIzYTA4Mi4uODBlNTk2ZDY4MzE2NjBmMWZmZGU1OTZiYmYwOGRiNjI0YzMzN2ZhOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtMTcxLDYgKzE3MSw3IEBACiAKICAg
ICBET01TdHJpbmcgc2Nyb2xsaW5nU3RhdGVUcmVlQXNUZXh0KGluIERvY3VtZW50IGRvY3VtZW50
KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAgICAgRE9NU3RyaW5nIG1haW5UaHJlYWRTY3JvbGxp
bmdSZWFzb25zKGluIERvY3VtZW50IGRvY3VtZW50KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7Cisg
ICAgQ2xpZW50UmVjdExpc3Qgbm9uRmFzdFNjcm9sbGFibGVSZWN0cyhpbiBEb2N1bWVudCBkb2N1
bWVudCkgcmFpc2VzIChET01FeGNlcHRpb24pOwogCiAgICAgRE9NU3RyaW5nIHJlcGFpbnRSZWN0
c0FzVGV4dChpbiBEb2N1bWVudCBkb2N1bWVudCkgcmFpc2VzIChET01FeGNlcHRpb24pOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyIGIvU291cmNlL2F1dG90
b29scy9zeW1ib2xzLmZpbHRlcgppbmRleCBmODdmODM0ODBmOWYzYTY3Yjk4YWNiY2JjZWMwY2Vm
NWU1ODBmMjNjLi44MTA5NDA5OGU3YzNiMzY4YTNlMDIyYzkyMTg0ODEzYmM1YjIzZmM3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyCisrKyBiL1NvdXJjZS9hdXRv
dG9vbHMvc3ltYm9scy5maWx0ZXIKQEAgLTMwLDYgKzMwLDcgQEAgX1pOMjREdW1wUmVuZGVyVHJl
ZVN1cHBvcnRHdGsqOwogX1pON1dlYkNvcmU0UGFnZTEzc2V0UGFnaW5hdGlvbkVSS05TXzEwUGFn
aW5hdGlvbkU7CiBfWk43V2ViQ29yZTRQYWdlMThzZXRQYWdlU2NhbGVGYWN0b3JFZlJLTlNfOElu
dFBvaW50RTsKIF9aTjdXZWJDb3JlNFBhZ2UyMHNldERldmljZVNjYWxlRmFjdG9yRWY7CitfWk43
V2ViQ29yZTRQYWdlMjJub25GYXN0U2Nyb2xsYWJsZVJlY3RzRVBLTlNfNUZyYW1lRTsKIF9aTjdX
ZWJDb3JlNFBhZ2UyNHNjcm9sbGluZ1N0YXRlVHJlZUFzVGV4dEV2OwogX1pON1dlYkNvcmU0UGFn
ZTMybWFpblRocmVhZFNjcm9sbGluZ1JlYXNvbnNBc1RleHRFdjsKIF9aTjdXZWJDb3JlNFBhZ2Ux
NnNldENhblN0YXJ0TWVkaWFFYjsKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwpp
bmRleCAzMDA3NmQxOTcxNmRhYzJhOGQ5ZTdhNzg4MzA5MThmYzc0OGIzNzdiLi42YjUyZjFkODcw
NmE5YWMxYjMzODA3ZTY4ZDA1YWYyZjU1ZTYyMDc4IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysr
IGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMTItMjEgIFhpYW56aHUgV2FuZyAg
PHdhbmd4aWFuemh1QGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgd2luZG93LmludGVybmFs
cy5ub25GYXN0U2Nyb2xsYWJsZVJlY3RzIGZvciB0ZXN0aW5nIHNjcm9sbGFibGUgYXJlYXMgaW4g
ZmFzdC9zbG93IHBhdGhzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMDU1NDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBFeHBvcnQgdGhlIG5ldyBzeW1ib2wuCisKKyAgICAgICAgKiBTb3VyY2UvYXV0b3Rv
b2xzL3N5bWJvbHMuZmlsdGVyOgorCiAyMDEyLTEyLTIwICBaYW4gRG9iZXJzZWsgIDx6YW5kb2Jl
cnNla0BnbWFpbC5jb20+CiAKICAgICAgICAgW0dUS10gUmVtb3ZlIHRoZSAtLWVuYWJsZS11bnN0
YWJsZS1mZWF0dXJlcyBjb25maWd1cmF0aW9uIG9wdGlvbgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180580</attachid>
            <date>2012-12-21 17:35:05 -0800</date>
            <delta_ts>2013-01-04 10:52:37 -0800</delta_ts>
            <desc>Retry ews-win to grab symbol</desc>
            <filename>bug-105546-20121222013220.patch</filename>
            <type>text/plain</type>
            <size>11749</size>
            <attacher name="Xianzhu Wang">wangxianzhu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4MzkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDZiNTY5NDFkYjk3NTNk
MTA1YzJiNGEzNWYxNjhiYjA5YWRiYjc4Zi4uODg1YzkxNDJlYzY0ZDJiYTAwZGExZDY4NDY4ZjZk
MjhiNWZiODdjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDEyLTEyLTIxICBYaWFu
emh1IFdhbmcgIDx3YW5neGlhbnpodUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIHdpbmRv
dy5pbnRlcm5hbHMubm9uRmFzdFNjcm9sbGFibGVSZWN0cyBmb3IgdGVzdGluZyBzY3JvbGxhYmxl
IGFyZWFzIGluIGZhc3Qvc2xvdyBwYXRocworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTA1NTQ2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBBZGRlZCB0ZXN0IEFQSSBmb3IgbmV3IHRl
c3RzIG9mIG90aGVyIGJ1Z3MuCisKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAg
KiBkb20vQ2xpZW50UmVjdExpc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2xpZW50UmVjdExp
c3Q6OkNsaWVudFJlY3RMaXN0KToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGRvbS9D
bGllbnRSZWN0TGlzdC5oOgorICAgICAgICAoV2ViQ29yZTo6Q2xpZW50UmVjdExpc3Q6OmNyZWF0
ZSk6CisgICAgICAgIChDbGllbnRSZWN0TGlzdCk6CisgICAgICAgICogcGFnZS9QYWdlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6Om5vbkZhc3RTY3JvbGxhYmxlUmVjdHMpOgorICAgICAg
ICAoV2ViQ29yZSk6CisgICAgICAgICogcGFnZS9QYWdlLmg6CisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKFBhZ2UpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3Jk
aW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpjb21w
dXRlTm9uRmFzdFNjcm9sbGFibGVSZWdpb24pOiBDaGFuZ2UgdG8gcHVibGljIHRvIGFsbG93IFBh
Z2U6Om5vbkZhc3RTY3JvbGxhYmxlUmVjdHMgdG8gYWNjZXNzLgorICAgICAgICAqIHBhZ2Uvc2Ny
b2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmg6CisgICAgICAgIChTY3JvbGxpbmdDb29yZGlu
YXRvcik6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SW50ZXJuYWxzOjpub25GYXN0U2Nyb2xsYWJsZVJlY3RzKToKKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGluZy9JbnRl
cm5hbHMuaWRsOgorCiAyMDEyLTEyLTIxICBLZW5uZXRoIFJ1c3NlbGwgIDxrYnJAZ29vZ2xlLmNv
bT4KIAogICAgICAgICBFeHBvc2UgQXJyYXlCdWZmZXJWaWV3IGNvbnN0cnVjdG9yIG9uIERPTVdp
bmRvdwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCmluZGV4IGM2ZDIzMjJlMDdlZWZjNGNmMTUxMjNlZTY0NWY1ODJmZGI2ZTEz
MjcuLjZhMDQzZWVjNmFjYjNkZGEzODllZWVjM2Y5NmVmZGM0Mzc4MzI3OTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNCBAQAorMjAxMi0xMi0yMCAgWGlhbnpodSBXYW5nICA8d2FuZ3hpYW56aHVA
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZCB3aW5kb3cuaW50ZXJuYWxzLm5vbkZhc3RTY3Jv
bGxhYmxlUmVjdHMgZm9yIHRlc3Rpbmcgc2Nyb2xsYWJsZSBhcmVhcyBpbiBmYXN0L3Nsb3cgcGF0
aHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTU0
NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEV4cG9y
dCB0aGUgbmV3IHN5bWJvbC4KKworICAgICAgICAqIHdpbi9XZWJLaXQyLmRlZi5pbjoKKwogMjAx
Mi0xMi0yMSAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmVt
b3ZlIFJlc291cmNlTG9hZFNjaGVkdWxlcjo6YWRkTWFpblJlc291cmNlTG9hZCBhbmQgYWxsIHJl
bGF0ZWQgY29kZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCA2N2EyY2EyYmM5MjdjNGY5MDljYjBj
MjAxMmMyNDAyYjliMTljMTMyLi5kNDQ2NWM2OTc1NTQzMzg0ZTdhYmM1ZWEzOWUyODFmZTI4MzRi
YzMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtNzU3LDYgKzc1Nyw3IEBAIF9fWk43V2ViQ29y
ZTRQYWdlMjBzZXREZXZpY2VTY2FsZUZhY3RvckVmCiBfX1pON1dlYkNvcmU0UGFnZTIwdW5tYXJr
QWxsVGV4dE1hdGNoZXNFdgogX19aTjdXZWJDb3JlNFBhZ2UyMW1hcmtBbGxNYXRjaGVzRm9yVGV4
dEVSS04zV1RGNlN0cmluZ0VqYmoKIF9fWk43V2ViQ29yZTRQYWdlMjJhbGxWaXNpdGVkU3RhdGVD
aGFuZ2VkRVBOU185UGFnZUdyb3VwRQorX19aTjdXZWJDb3JlNFBhZ2UyMm5vbkZhc3RTY3JvbGxh
YmxlUmVjdHNFUEtOU181RnJhbWVFCiBfX1pON1dlYkNvcmU0UGFnZTIzY2xlYXJVbmRvUmVkb09w
ZXJhdGlvbnNFdgogX19aTjdXZWJDb3JlNFBhZ2UyNHJlc3VtZVNjcmlwdGVkQW5pbWF0aW9uc0V2
CiBfX1pON1dlYkNvcmU0UGFnZTI0c2Nyb2xsaW5nU3RhdGVUcmVlQXNUZXh0RXYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9DbGllbnRSZWN0TGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vQ2xpZW50UmVjdExpc3QuY3BwCmluZGV4IDk1ZWM3NTgwMmEwOTczNTE1Mjc4N2RlODQ5
YTFiYmJjZWM4ODM2YTkuLjFlOGEzMzdiOGY1YjU3ZDNkNzcxMGJiNWFjYjFjOTQ2OTMzNzRmNmEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9DbGllbnRSZWN0TGlzdC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL0NsaWVudFJlY3RMaXN0LmNwcApAQCAtNDMsNiArNDMsMTMgQEAg
Q2xpZW50UmVjdExpc3Q6OkNsaWVudFJlY3RMaXN0KGNvbnN0IFZlY3RvcjxGbG9hdFF1YWQ+JiBx
dWFkcykKICAgICAgICAgbV9saXN0LmFwcGVuZChDbGllbnRSZWN0OjpjcmVhdGUocXVhZHNbaV0u
ZW5jbG9zaW5nQm91bmRpbmdCb3goKSkpOwogfQogCitDbGllbnRSZWN0TGlzdDo6Q2xpZW50UmVj
dExpc3QoY29uc3QgVmVjdG9yPEZsb2F0UmVjdD4mIHJlY3RzKQoreworICAgIG1fbGlzdC5yZXNl
cnZlSW5pdGlhbENhcGFjaXR5KHJlY3RzLnNpemUoKSk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7
IGkgPCByZWN0cy5zaXplKCk7ICsraSkKKyAgICAgICAgbV9saXN0LmFwcGVuZChDbGllbnRSZWN0
OjpjcmVhdGUocmVjdHNbaV0pKTsKK30KKwogQ2xpZW50UmVjdExpc3Q6On5DbGllbnRSZWN0TGlz
dCgpCiB7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ2xpZW50UmVjdExpc3Qu
aCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9DbGllbnRSZWN0TGlzdC5oCmluZGV4IDUxM2MzYmRhNmMy
OTQ3NWVlZDExZmI2ZTJlNDIyYzY0NjU2MTliNTguLjcxOGE4MzdmNzJjZjlhYWU0NTI2ODBiMDkw
YmQwZDI4ZDg1ZWYxZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9DbGllbnRSZWN0
TGlzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9DbGllbnRSZWN0TGlzdC5oCkBAIC00MCw2
ICs0MCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRp
YyBQYXNzUmVmUHRyPENsaWVudFJlY3RMaXN0PiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZihu
ZXcgQ2xpZW50UmVjdExpc3QpOyB9CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPENsaWVudFJl
Y3RMaXN0PiBjcmVhdGUoY29uc3QgVmVjdG9yPEZsb2F0UXVhZD4mIHF1YWRzKSB7IHJldHVybiBh
ZG9wdFJlZihuZXcgQ2xpZW50UmVjdExpc3QocXVhZHMpKTsgfQorICAgICAgICBzdGF0aWMgUGFz
c1JlZlB0cjxDbGllbnRSZWN0TGlzdD4gY3JlYXRlKGNvbnN0IFZlY3RvcjxGbG9hdFJlY3Q+JiBy
ZWN0cykgeyByZXR1cm4gYWRvcHRSZWYobmV3IENsaWVudFJlY3RMaXN0KHJlY3RzKSk7IH0KICAg
ICAgICAgfkNsaWVudFJlY3RMaXN0KCk7CiAKICAgICAgICAgdW5zaWduZWQgbGVuZ3RoKCkgY29u
c3Q7CkBAIC00OCw2ICs0OSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBwcml2YXRlOgog
ICAgICAgICBDbGllbnRSZWN0TGlzdCgpOwogICAgICAgICBleHBsaWNpdCBDbGllbnRSZWN0TGlz
dChjb25zdCBWZWN0b3I8RmxvYXRRdWFkPiYpOworICAgICAgICBleHBsaWNpdCBDbGllbnRSZWN0
TGlzdChjb25zdCBWZWN0b3I8RmxvYXRSZWN0PiYpOwogCiAgICAgICAgIFZlY3RvcjxSZWZQdHI8
Q2xpZW50UmVjdD4gPiBtX2xpc3Q7CiAgICAgfTsgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAppbmRleCBlYTA4
ZGU2ZDJmYzAxYWQyODNlZmMxZmQwM2FhZDc0NjkzYjZhOWE2Li5jNmE5ZDRhZWI3OWNlNTYyZjk1
YWY0MWFkZjY0NTAzYzc2MDkxNmQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKQEAgLTI1LDYgKzI1LDcg
QEAKICNpbmNsdWRlICJCYWNrRm9yd2FyZExpc3QuaCIKICNpbmNsdWRlICJDaHJvbWUuaCIKICNp
bmNsdWRlICJDaHJvbWVDbGllbnQuaCIKKyNpbmNsdWRlICJDbGllbnRSZWN0TGlzdC5oIgogI2lu
Y2x1ZGUgIkNvbnRleHRNZW51Q2xpZW50LmgiCiAjaW5jbHVkZSAiQ29udGV4dE1lbnVDb250cm9s
bGVyLmgiCiAjaW5jbHVkZSAiRE9NV2luZG93LmgiCkBAIC0yNjksNiArMjcwLDIxIEBAIFN0cmlu
ZyBQYWdlOjptYWluVGhyZWFkU2Nyb2xsaW5nUmVhc29uc0FzVGV4dCgpCiAgICAgcmV0dXJuIFN0
cmluZygpOwogfQogCitQYXNzUmVmUHRyPENsaWVudFJlY3RMaXN0PiBQYWdlOjpub25GYXN0U2Ny
b2xsYWJsZVJlY3RzKGNvbnN0IEZyYW1lKiBmcmFtZSkKK3sKKyAgICBpZiAoRG9jdW1lbnQqIGRv
Y3VtZW50ID0gbV9tYWluRnJhbWUtPmRvY3VtZW50KCkpCisgICAgICAgIGRvY3VtZW50LT51cGRh
dGVMYXlvdXQoKTsKKworICAgIFZlY3RvcjxJbnRSZWN0PiByZWN0czsKKyAgICBpZiAoU2Nyb2xs
aW5nQ29vcmRpbmF0b3IqIHNjcm9sbGluZ0Nvb3JkaW5hdG9yID0gdGhpcy0+c2Nyb2xsaW5nQ29v
cmRpbmF0b3IoKSkKKyAgICAgICAgcmVjdHMgPSBzY3JvbGxpbmdDb29yZGluYXRvci0+Y29tcHV0
ZU5vbkZhc3RTY3JvbGxhYmxlUmVnaW9uKGZyYW1lLCBJbnRQb2ludCgpKS5yZWN0cygpOworCisg
ICAgVmVjdG9yPEZsb2F0UmVjdD4gZmxvYXRSZWN0cyhyZWN0cy5zaXplKCkpOworICAgIGZvciAo
c2l6ZV90IGkgPSAwOyBpIDwgcmVjdHMuc2l6ZSgpOyArK2kpCisgICAgICAgIGZsb2F0UmVjdHNb
aV0gPSByZWN0c1tpXTsKKyAgICByZXR1cm4gQ2xpZW50UmVjdExpc3Q6OmNyZWF0ZShmbG9hdFJl
Y3RzKTsKK30KKwogc3RydWN0IFZpZXdNb2RlSW5mbyB7CiAgICAgY29uc3QgY2hhciogbmFtZTsK
ICAgICBQYWdlOjpWaWV3TW9kZSB0eXBlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAppbmRleCAyYzBiOGI4YzVlZDJm
OWM4MWVmZjc4YTRiMDhhNjIzNDMyMDNmMGM0Li45ZjIwZDBmMDg2YzZmZTNmZThmZDBlMzc2OGU0
MDBhYmU2NDE1YjQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaApAQCAtNTcsNiArNTcsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgY2xhc3MgQmFja0ZvcndhcmRMaXN0OwogICAgIGNsYXNzIENocm9tZTsK
ICAgICBjbGFzcyBDaHJvbWVDbGllbnQ7CisgICAgY2xhc3MgQ2xpZW50UmVjdExpc3Q7CiAjaWYg
RU5BQkxFKENPTlRFWFRfTUVOVVMpCiAgICAgY2xhc3MgQ29udGV4dE1lbnVDbGllbnQ7CiAgICAg
Y2xhc3MgQ29udGV4dE1lbnVDb250cm9sbGVyOwpAQCAtMjAwLDYgKzIwMSw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogICAgICAgICBTdHJpbmcgc2Nyb2xsaW5nU3RhdGVUcmVlQXNUZXh0KCk7
CiAgICAgICAgIFN0cmluZyBtYWluVGhyZWFkU2Nyb2xsaW5nUmVhc29uc0FzVGV4dCgpOworICAg
ICAgICBQYXNzUmVmUHRyPENsaWVudFJlY3RMaXN0PiBub25GYXN0U2Nyb2xsYWJsZVJlY3RzKGNv
bnN0IEZyYW1lKik7CiAKICAgICAgICAgU2V0dGluZ3MqIHNldHRpbmdzKCkgY29uc3QgeyByZXR1
cm4gbV9zZXR0aW5ncy5nZXQoKTsgfQogICAgICAgICBQcm9ncmVzc1RyYWNrZXIqIHByb2dyZXNz
KCkgY29uc3QgeyByZXR1cm4gbV9wcm9ncmVzcy5nZXQoKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwCmluZGV4IDIw
NDU4N2U2YmUzZjk2MjIyNjA5ZWQwMzQxNjcxODlhMGI0MjdhMWQuLmRiYzM1ZjU2ZDAyODM4ODBk
ZjIxZTYwNGQ5MDEwMWJlYmYwZmZmNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5jcHAKQEAgLTEzNiw3ICsxMzYsNyBA
QCBib29sIFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpjb29yZGluYXRlc1Njcm9sbGluZ0ZvckZyYW1l
VmlldyhGcmFtZVZpZXcqIGZyYW1lVmlldwogI2VuZGlmCiB9CiAKLVJlZ2lvbiBTY3JvbGxpbmdD
b29yZGluYXRvcjo6Y29tcHV0ZU5vbkZhc3RTY3JvbGxhYmxlUmVnaW9uKEZyYW1lKiBmcmFtZSwg
Y29uc3QgSW50UG9pbnQmIGZyYW1lTG9jYXRpb24pCitSZWdpb24gU2Nyb2xsaW5nQ29vcmRpbmF0
b3I6OmNvbXB1dGVOb25GYXN0U2Nyb2xsYWJsZVJlZ2lvbihjb25zdCBGcmFtZSogZnJhbWUsIGNv
bnN0IEludFBvaW50JiBmcmFtZUxvY2F0aW9uKSBjb25zdAogewogICAgIFJlZ2lvbiBub25GYXN0
U2Nyb2xsYWJsZVJlZ2lvbjsKICAgICBGcmFtZVZpZXcqIGZyYW1lVmlldyA9IGZyYW1lLT52aWV3
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdD
b29yZGluYXRvci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29v
cmRpbmF0b3IuaAppbmRleCAyZDI3MmVjZWYyYjBkZDg5YzQ0MGE5NzFhZTdlZDZhMTlkMmU0Mzgx
Li45YzA2NzE3OTI3NzAyZjM5OWNlNGM1YTQ4MTBhYzgxMzcxMTNiODkxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmgKQEAg
LTE2MCwxMCArMTYwLDExIEBAIHB1YmxpYzoKICAgICBzdGF0aWMgU3RyaW5nIG1haW5UaHJlYWRT
Y3JvbGxpbmdSZWFzb25zQXNUZXh0KE1haW5UaHJlYWRTY3JvbGxpbmdSZWFzb25zKTsKICAgICBT
dHJpbmcgbWFpblRocmVhZFNjcm9sbGluZ1JlYXNvbnNBc1RleHQoKSBjb25zdDsKIAorICAgIFJl
Z2lvbiBjb21wdXRlTm9uRmFzdFNjcm9sbGFibGVSZWdpb24oY29uc3QgRnJhbWUqLCBjb25zdCBJ
bnRQb2ludCYgZnJhbWVMb2NhdGlvbikgY29uc3Q7CisKIHByb3RlY3RlZDoKICAgICBleHBsaWNp
dCBTY3JvbGxpbmdDb29yZGluYXRvcihQYWdlKik7CiAKLSAgICBSZWdpb24gY29tcHV0ZU5vbkZh
c3RTY3JvbGxhYmxlUmVnaW9uKEZyYW1lKiwgY29uc3QgSW50UG9pbnQmIGZyYW1lTG9jYXRpb24p
OwogICAgIHVuc2lnbmVkIGNvbXB1dGVDdXJyZW50V2hlZWxFdmVudEhhbmRsZXJDb3VudCgpOwog
ICAgIEdyYXBoaWNzTGF5ZXIqIHNjcm9sbExheWVyRm9yRnJhbWVWaWV3KEZyYW1lVmlldyopOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggMGJmYzZhNmYxYWQ1NzU3ZjA4
NzVhY2RjZjc3NDg3YTg2YThmNWIwYi4uMmU3MmE1OTQ5ZTZlNGFkMDM3ZTE3ZDMwNTVjY2JjNTRh
ZGVjYzY0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtMTUxNCw2ICsx
NTE0LDIwIEBAIFN0cmluZyBJbnRlcm5hbHM6Om1haW5UaHJlYWRTY3JvbGxpbmdSZWFzb25zKERv
Y3VtZW50KiBkb2N1bWVudCwgRXhjZXB0aW9uQ29kZSYKICAgICByZXR1cm4gcGFnZS0+bWFpblRo
cmVhZFNjcm9sbGluZ1JlYXNvbnNBc1RleHQoKTsKIH0KIAorUGFzc1JlZlB0cjxDbGllbnRSZWN0
TGlzdD4gSW50ZXJuYWxzOjpub25GYXN0U2Nyb2xsYWJsZVJlY3RzKERvY3VtZW50KiBkb2N1bWVu
dCwgRXhjZXB0aW9uQ29kZSYgZWMpIGNvbnN0Cit7CisgICAgaWYgKCFkb2N1bWVudCB8fCAhZG9j
dW1lbnQtPmZyYW1lKCkpIHsKKyAgICAgICAgZWMgPSBJTlZBTElEX0FDQ0VTU19FUlI7CisgICAg
ICAgIHJldHVybiAwOworICAgIH0KKworICAgIFBhZ2UqIHBhZ2UgPSBkb2N1bWVudC0+cGFnZSgp
OworICAgIGlmICghcGFnZSkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICByZXR1cm4gcGFnZS0+
bm9uRmFzdFNjcm9sbGFibGVSZWN0cyhkb2N1bWVudC0+ZnJhbWUoKSk7Cit9CisKIHZvaWQgSW50
ZXJuYWxzOjpnYXJiYWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzKERvY3VtZW50KiBkb2N1bWVu
dCwgRXhjZXB0aW9uQ29kZSYgZWMpIGNvbnN0CiB7CiAgICAgaWYgKCFkb2N1bWVudCkgewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaCBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKaW5kZXggYjA2Nzk0OGMzNmZlZWJlNWQ2ZDU5YjVkYWNl
MzdiODNhMzQ1MTEyNi4uOWFhODhjNmNmMjM4ODY3ODBkYzUwOTk5ODEwMGJjOWM2YmE1NTk2NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBAIC0yMTEsOCArMjExLDggQEAgcHVibGlj
OgogICAgIFN0cmluZyBsYXllclRyZWVBc1RleHQoRG9jdW1lbnQqLCBFeGNlcHRpb25Db2RlJikg
Y29uc3Q7CiAgICAgU3RyaW5nIHJlcGFpbnRSZWN0c0FzVGV4dChEb2N1bWVudCosIEV4Y2VwdGlv
bkNvZGUmKSBjb25zdDsKICAgICBTdHJpbmcgc2Nyb2xsaW5nU3RhdGVUcmVlQXNUZXh0KERvY3Vt
ZW50KiwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0OwotCiAgICAgU3RyaW5nIG1haW5UaHJlYWRTY3Jv
bGxpbmdSZWFzb25zKERvY3VtZW50KiwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0OworICAgIFBhc3NS
ZWZQdHI8Q2xpZW50UmVjdExpc3Q+IG5vbkZhc3RTY3JvbGxhYmxlUmVjdHMoRG9jdW1lbnQqLCBF
eGNlcHRpb25Db2RlJikgY29uc3Q7CiAKICAgICB2b2lkIGdhcmJhZ2VDb2xsZWN0RG9jdW1lbnRS
ZXNvdXJjZXMoRG9jdW1lbnQqLCBFeGNlcHRpb25Db2RlJikgY29uc3Q7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmlkbAppbmRleCA0OWVlYzdjMjYxYTNkZjdhNzc0OTVkNGNlMjAzMzY1
OWNiMjNhMDgyLi44MGU1OTZkNjgzMTY2MGYxZmZkZTU5NmJiZjA4ZGI2MjRjMzM3ZmE5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCkBAIC0xNzEsNiArMTcxLDcgQEAKIAogICAg
IERPTVN0cmluZyBzY3JvbGxpbmdTdGF0ZVRyZWVBc1RleHQoaW4gRG9jdW1lbnQgZG9jdW1lbnQp
IHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKICAgICBET01TdHJpbmcgbWFpblRocmVhZFNjcm9sbGlu
Z1JlYXNvbnMoaW4gRG9jdW1lbnQgZG9jdW1lbnQpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKKyAg
ICBDbGllbnRSZWN0TGlzdCBub25GYXN0U2Nyb2xsYWJsZVJlY3RzKGluIERvY3VtZW50IGRvY3Vt
ZW50KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAKICAgICBET01TdHJpbmcgcmVwYWludFJlY3Rz
QXNUZXh0KGluIERvY3VtZW50IGRvY3VtZW50KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIgYi9Tb3VyY2UvYXV0b3Rv
b2xzL3N5bWJvbHMuZmlsdGVyCmluZGV4IGY4N2Y4MzQ4MGY5ZjNhNjdiOThhY2JjYmNlYzBjZWY1
ZTU4MGYyM2MuLjgxMDk0MDk4ZTdjM2IzNjhhM2UwMjJjOTIxODQ4MTNiYzViMjNmYzcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIKKysrIGIvU291cmNlL2F1dG90
b29scy9zeW1ib2xzLmZpbHRlcgpAQCAtMzAsNiArMzAsNyBAQCBfWk4yNER1bXBSZW5kZXJUcmVl
U3VwcG9ydEd0ayo7CiBfWk43V2ViQ29yZTRQYWdlMTNzZXRQYWdpbmF0aW9uRVJLTlNfMTBQYWdp
bmF0aW9uRTsKIF9aTjdXZWJDb3JlNFBhZ2UxOHNldFBhZ2VTY2FsZUZhY3RvckVmUktOU184SW50
UG9pbnRFOwogX1pON1dlYkNvcmU0UGFnZTIwc2V0RGV2aWNlU2NhbGVGYWN0b3JFZjsKK19aTjdX
ZWJDb3JlNFBhZ2UyMm5vbkZhc3RTY3JvbGxhYmxlUmVjdHNFUEtOU181RnJhbWVFOwogX1pON1dl
YkNvcmU0UGFnZTI0c2Nyb2xsaW5nU3RhdGVUcmVlQXNUZXh0RXY7CiBfWk43V2ViQ29yZTRQYWdl
MzJtYWluVGhyZWFkU2Nyb2xsaW5nUmVhc29uc0FzVGV4dEV2OwogX1pON1dlYkNvcmU0UGFnZTE2
c2V0Q2FuU3RhcnRNZWRpYUViOwpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmlu
ZGV4IGZiYWY0ZGNiZDRjZDllNzFlOTM5OWQ2NTZiOGJkY2JhMTNiYjE4MTcuLjhkMzU0YzcxNmQw
MDhhOGFlNTcwNGIxODQ2YjFmM2NmOTYwMTIzYTAgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysg
Yi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMi0xMi0yMSAgWGlhbnpodSBXYW5nICA8
d2FuZ3hpYW56aHVAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZCB3aW5kb3cuaW50ZXJuYWxz
Lm5vbkZhc3RTY3JvbGxhYmxlUmVjdHMgZm9yIHRlc3Rpbmcgc2Nyb2xsYWJsZSBhcmVhcyBpbiBm
YXN0L3Nsb3cgcGF0aHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEwNTU0NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEV4cG9ydCB0aGUgbmV3IHN5bWJvbC4KKworICAgICAgICAqIFNvdXJjZS9hdXRvdG9v
bHMvc3ltYm9scy5maWx0ZXI6CisKIDIwMTItMTItMjEgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJl
dmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIx
MzgzMzguCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>181333</attachid>
            <date>2013-01-04 10:52:40 -0800</date>
            <delta_ts>2013-01-04 11:48:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105546-20130104184946.patch</filename>
            <type>text/plain</type>
            <size>12464</size>
            <attacher name="Xianzhu Wang">wangxianzhu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4ODEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjliMjk5ZTlmMjRiY2Uy
NDhkODg5MTIxZWM2Y2UwODFkZTkzZWI0My4uMWVlYTk5ZDk1MTkyOGNhOWQ0MjYyYmQ5N2QyODk2
MWU4ZmRhNTgzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDEyLTEyLTIxICBYaWFu
emh1IFdhbmcgIDx3YW5neGlhbnpodUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIHdpbmRv
dy5pbnRlcm5hbHMubm9uRmFzdFNjcm9sbGFibGVSZWN0cyBmb3IgdGVzdGluZyBzY3JvbGxhYmxl
IGFyZWFzIGluIGZhc3Qvc2xvdyBwYXRocworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTA1NTQ2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBBZGRlZCB0ZXN0IEFQSSBmb3IgbmV3IHRl
c3RzIG9mIG90aGVyIGJ1Z3MuCisKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAg
KiBkb20vQ2xpZW50UmVjdExpc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2xpZW50UmVjdExp
c3Q6OkNsaWVudFJlY3RMaXN0KToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGRvbS9D
bGllbnRSZWN0TGlzdC5oOgorICAgICAgICAoV2ViQ29yZTo6Q2xpZW50UmVjdExpc3Q6OmNyZWF0
ZSk6CisgICAgICAgIChDbGllbnRSZWN0TGlzdCk6CisgICAgICAgICogcGFnZS9QYWdlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6Om5vbkZhc3RTY3JvbGxhYmxlUmVjdHMpOgorICAgICAg
ICAoV2ViQ29yZSk6CisgICAgICAgICogcGFnZS9QYWdlLmg6CisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKFBhZ2UpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3Jk
aW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpjb21w
dXRlTm9uRmFzdFNjcm9sbGFibGVSZWdpb24pOiBDaGFuZ2UgdG8gcHVibGljIHRvIGFsbG93IFBh
Z2U6Om5vbkZhc3RTY3JvbGxhYmxlUmVjdHMgdG8gYWNjZXNzLgorICAgICAgICAqIHBhZ2Uvc2Ny
b2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmg6CisgICAgICAgIChTY3JvbGxpbmdDb29yZGlu
YXRvcik6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SW50ZXJuYWxzOjpub25GYXN0U2Nyb2xsYWJsZVJlY3RzKToKKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGluZy9JbnRl
cm5hbHMuaWRsOgorCiAyMDEzLTAxLTA0ICBKb2huIE1lbGxvciAgPGpvaG5tZUBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgRWFybHkgb3V0IGZyb20gRm9udENhY2hlOjpyZWxlYXNlRm9udERhdGEg
aWYgY2FjaGVkIGZvbnQgZGF0YSBub3QgZm91bmQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggY2NiN2ViZmQ4YjVh
YWIyYjYxNzhjOGNhY2RmZjZlN2QzYmY5YzZjYy4uMTY4M2QxYmEyZjRlNDI4N2VkYTM5NTQ4MGZj
MTNhYzNlY2I4YjdiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEyLTEyLTIwICBY
aWFuemh1IFdhbmcgIDx3YW5neGlhbnpodUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIHdp
bmRvdy5pbnRlcm5hbHMubm9uRmFzdFNjcm9sbGFibGVSZWN0cyBmb3IgdGVzdGluZyBzY3JvbGxh
YmxlIGFyZWFzIGluIGZhc3Qvc2xvdyBwYXRocworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1NTQ2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgRXhwb3J0IHRoZSBuZXcgc3ltYm9sLgorCisgICAgICAgICog
d2luL1dlYktpdDIuZGVmLmluOgorCiAyMDEzLTAxLTA0ICBBZGFtIEtsZWluICA8YWRhbWtAY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFJlbW92ZSBFTkFCTEVfTVVUQVRJT05fT0JTRVJWRVJTICNk
ZWZpbmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggYTFlYTZiNTM2MjhkYjE1ODRiZjhiYWMyNWQw
ZjgxZDk2Yjg1ZTAyMC4uOTY2YjNhY2IwNGE4NGU5Zjc5NDVhYTYzN2Y2MTI0MjU3ZjM1ZDYxNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTc2MCw2ICs3NjAsNyBAQCBfX1pON1dlYkNvcmU0UGFn
ZTIwc2V0RGV2aWNlU2NhbGVGYWN0b3JFZgogX19aTjdXZWJDb3JlNFBhZ2UyMHVubWFya0FsbFRl
eHRNYXRjaGVzRXYKIF9fWk43V2ViQ29yZTRQYWdlMjFtYXJrQWxsTWF0Y2hlc0ZvclRleHRFUktO
M1dURjZTdHJpbmdFamJqCiBfX1pON1dlYkNvcmU0UGFnZTIyYWxsVmlzaXRlZFN0YXRlQ2hhbmdl
ZEVQTlNfOVBhZ2VHcm91cEUKK19fWk43V2ViQ29yZTRQYWdlMjJub25GYXN0U2Nyb2xsYWJsZVJl
Y3RzRVBLTlNfNUZyYW1lRQogX19aTjdXZWJDb3JlNFBhZ2UyM2NsZWFyVW5kb1JlZG9PcGVyYXRp
b25zRXYKIF9fWk43V2ViQ29yZTRQYWdlMjRyZXN1bWVTY3JpcHRlZEFuaW1hdGlvbnNFdgogX19a
TjdXZWJDb3JlNFBhZ2UyNHNjcm9sbGluZ1N0YXRlVHJlZUFzVGV4dEV2CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vQ2xpZW50UmVjdExpc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9t
L0NsaWVudFJlY3RMaXN0LmNwcAppbmRleCA5NWVjNzU4MDJhMDk3MzUxNTI3ODdkZTg0OWExYmJi
Y2VjODgzNmE5Li4xZThhMzM3YjhmNWI1N2QzZDc3MTBiYjVhY2IxYzk0NjkzMzc0ZjZhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ2xpZW50UmVjdExpc3QuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9DbGllbnRSZWN0TGlzdC5jcHAKQEAgLTQzLDYgKzQzLDEzIEBAIENsaWVu
dFJlY3RMaXN0OjpDbGllbnRSZWN0TGlzdChjb25zdCBWZWN0b3I8RmxvYXRRdWFkPiYgcXVhZHMp
CiAgICAgICAgIG1fbGlzdC5hcHBlbmQoQ2xpZW50UmVjdDo6Y3JlYXRlKHF1YWRzW2ldLmVuY2xv
c2luZ0JvdW5kaW5nQm94KCkpKTsKIH0KIAorQ2xpZW50UmVjdExpc3Q6OkNsaWVudFJlY3RMaXN0
KGNvbnN0IFZlY3RvcjxGbG9hdFJlY3Q+JiByZWN0cykKK3sKKyAgICBtX2xpc3QucmVzZXJ2ZUlu
aXRpYWxDYXBhY2l0eShyZWN0cy5zaXplKCkpOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwg
cmVjdHMuc2l6ZSgpOyArK2kpCisgICAgICAgIG1fbGlzdC5hcHBlbmQoQ2xpZW50UmVjdDo6Y3Jl
YXRlKHJlY3RzW2ldKSk7Cit9CisKIENsaWVudFJlY3RMaXN0Ojp+Q2xpZW50UmVjdExpc3QoKQog
ewogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0NsaWVudFJlY3RMaXN0LmggYi9T
b3VyY2UvV2ViQ29yZS9kb20vQ2xpZW50UmVjdExpc3QuaAppbmRleCA1MTNjM2JkYTZjMjk0NzVl
ZWQxMWZiNmUyZTQyMmM2NDY1NjE5YjU4Li43MThhODM3ZjcyY2Y5YWFlNDUyNjgwYjA5MGJkMGQy
OGQ4NWVmMWVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ2xpZW50UmVjdExpc3Qu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ2xpZW50UmVjdExpc3QuaApAQCAtNDAsNiArNDAs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFz
c1JlZlB0cjxDbGllbnRSZWN0TGlzdD4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IENs
aWVudFJlY3RMaXN0KTsgfQogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDbGllbnRSZWN0TGlz
dD4gY3JlYXRlKGNvbnN0IFZlY3RvcjxGbG9hdFF1YWQ+JiBxdWFkcykgeyByZXR1cm4gYWRvcHRS
ZWYobmV3IENsaWVudFJlY3RMaXN0KHF1YWRzKSk7IH0KKyAgICAgICAgc3RhdGljIFBhc3NSZWZQ
dHI8Q2xpZW50UmVjdExpc3Q+IGNyZWF0ZShjb25zdCBWZWN0b3I8RmxvYXRSZWN0PiYgcmVjdHMp
IHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBDbGllbnRSZWN0TGlzdChyZWN0cykpOyB9CiAgICAgICAg
IH5DbGllbnRSZWN0TGlzdCgpOwogCiAgICAgICAgIHVuc2lnbmVkIGxlbmd0aCgpIGNvbnN0OwpA
QCAtNDgsNiArNDksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgcHJpdmF0ZToKICAgICAg
ICAgQ2xpZW50UmVjdExpc3QoKTsKICAgICAgICAgZXhwbGljaXQgQ2xpZW50UmVjdExpc3QoY29u
c3QgVmVjdG9yPEZsb2F0UXVhZD4mKTsKKyAgICAgICAgZXhwbGljaXQgQ2xpZW50UmVjdExpc3Qo
Y29uc3QgVmVjdG9yPEZsb2F0UmVjdD4mKTsKIAogICAgICAgICBWZWN0b3I8UmVmUHRyPENsaWVu
dFJlY3Q+ID4gbV9saXN0OwogICAgIH07IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXggNDJjNjBmMmM2
ZGEyN2E4N2EzNDMyMzllMGE3ZmRiOTA1MWM4MzNmNi4uZGZhNDg1MDA1ZTAzN2FmZTk0MDU5NGRm
ZTgzNGE0YTI1MmI5MDdhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC0yNSw2ICsyNSw3IEBACiAj
aW5jbHVkZSAiQmFja0ZvcndhcmRMaXN0LmgiCiAjaW5jbHVkZSAiQ2hyb21lLmgiCiAjaW5jbHVk
ZSAiQ2hyb21lQ2xpZW50LmgiCisjaW5jbHVkZSAiQ2xpZW50UmVjdExpc3QuaCIKICNpbmNsdWRl
ICJDb250ZXh0TWVudUNsaWVudC5oIgogI2luY2x1ZGUgIkNvbnRleHRNZW51Q29udHJvbGxlci5o
IgogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgpAQCAtMjY5LDYgKzI3MCwyMSBAQCBTdHJpbmcgUGFn
ZTo6bWFpblRocmVhZFNjcm9sbGluZ1JlYXNvbnNBc1RleHQoKQogICAgIHJldHVybiBTdHJpbmco
KTsKIH0KIAorUGFzc1JlZlB0cjxDbGllbnRSZWN0TGlzdD4gUGFnZTo6bm9uRmFzdFNjcm9sbGFi
bGVSZWN0cyhjb25zdCBGcmFtZSogZnJhbWUpCit7CisgICAgaWYgKERvY3VtZW50KiBkb2N1bWVu
dCA9IG1fbWFpbkZyYW1lLT5kb2N1bWVudCgpKQorICAgICAgICBkb2N1bWVudC0+dXBkYXRlTGF5
b3V0KCk7CisKKyAgICBWZWN0b3I8SW50UmVjdD4gcmVjdHM7CisgICAgaWYgKFNjcm9sbGluZ0Nv
b3JkaW5hdG9yKiBzY3JvbGxpbmdDb29yZGluYXRvciA9IHRoaXMtPnNjcm9sbGluZ0Nvb3JkaW5h
dG9yKCkpCisgICAgICAgIHJlY3RzID0gc2Nyb2xsaW5nQ29vcmRpbmF0b3ItPmNvbXB1dGVOb25G
YXN0U2Nyb2xsYWJsZVJlZ2lvbihmcmFtZSwgSW50UG9pbnQoKSkucmVjdHMoKTsKKworICAgIFZl
Y3RvcjxGbG9hdFJlY3Q+IGZsb2F0UmVjdHMocmVjdHMuc2l6ZSgpKTsKKyAgICBmb3IgKHNpemVf
dCBpID0gMDsgaSA8IHJlY3RzLnNpemUoKTsgKytpKQorICAgICAgICBmbG9hdFJlY3RzW2ldID0g
cmVjdHNbaV07CisgICAgcmV0dXJuIENsaWVudFJlY3RMaXN0OjpjcmVhdGUoZmxvYXRSZWN0cyk7
Cit9CisKIHN0cnVjdCBWaWV3TW9kZUluZm8gewogICAgIGNvbnN0IGNoYXIqIG5hbWU7CiAgICAg
UGFnZTo6Vmlld01vZGUgdHlwZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFn
ZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKaW5kZXggMmMwYjhiOGM1ZWQyZjljODFl
ZmY3OGE0YjA4YTYyMzQzMjAzZjBjNC4uOWYyMGQwZjA4NmM2ZmUzZmU4ZmQwZTM3NjhlNDAwYWJl
NjQxNWI0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKQEAgLTU3LDYgKzU3LDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIGNsYXNzIEJhY2tGb3J3YXJkTGlzdDsKICAgICBjbGFzcyBDaHJvbWU7CiAgICAg
Y2xhc3MgQ2hyb21lQ2xpZW50OworICAgIGNsYXNzIENsaWVudFJlY3RMaXN0OwogI2lmIEVOQUJM
RShDT05URVhUX01FTlVTKQogICAgIGNsYXNzIENvbnRleHRNZW51Q2xpZW50OwogICAgIGNsYXNz
IENvbnRleHRNZW51Q29udHJvbGxlcjsKQEAgLTIwMCw2ICsyMDEsNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKICAgICAgICAgU3RyaW5nIHNjcm9sbGluZ1N0YXRlVHJlZUFzVGV4dCgpOwogICAg
ICAgICBTdHJpbmcgbWFpblRocmVhZFNjcm9sbGluZ1JlYXNvbnNBc1RleHQoKTsKKyAgICAgICAg
UGFzc1JlZlB0cjxDbGllbnRSZWN0TGlzdD4gbm9uRmFzdFNjcm9sbGFibGVSZWN0cyhjb25zdCBG
cmFtZSopOwogCiAgICAgICAgIFNldHRpbmdzKiBzZXR0aW5ncygpIGNvbnN0IHsgcmV0dXJuIG1f
c2V0dGluZ3MuZ2V0KCk7IH0KICAgICAgICAgUHJvZ3Jlc3NUcmFja2VyKiBwcm9ncmVzcygpIGNv
bnN0IHsgcmV0dXJuIG1fcHJvZ3Jlc3MuZ2V0KCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcAppbmRleCAwZmZkOWMx
MjJiNTA0YzhhMzdhNDAxOGFkMDQ1NWU5YzI4MWQ5NDNjLi5mZDA2OTI4ZmE0ZTJmNDQ0MWMxZjkw
NTAxYmY5NDk1MTVhMmEwZDYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9s
bGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwCkBAIC0xMzYsNyArMTM2LDcgQEAgYm9v
bCBTY3JvbGxpbmdDb29yZGluYXRvcjo6Y29vcmRpbmF0ZXNTY3JvbGxpbmdGb3JGcmFtZVZpZXco
RnJhbWVWaWV3KiBmcmFtZVZpZXcKICNlbmRpZgogfQogCi1SZWdpb24gU2Nyb2xsaW5nQ29vcmRp
bmF0b3I6OmNvbXB1dGVOb25GYXN0U2Nyb2xsYWJsZVJlZ2lvbihGcmFtZSogZnJhbWUsIGNvbnN0
IEludFBvaW50JiBmcmFtZUxvY2F0aW9uKQorUmVnaW9uIFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpj
b21wdXRlTm9uRmFzdFNjcm9sbGFibGVSZWdpb24oY29uc3QgRnJhbWUqIGZyYW1lLCBjb25zdCBJ
bnRQb2ludCYgZnJhbWVMb2NhdGlvbikgY29uc3QKIHsKICAgICBSZWdpb24gbm9uRmFzdFNjcm9s
bGFibGVSZWdpb247CiAgICAgRnJhbWVWaWV3KiBmcmFtZVZpZXcgPSBmcmFtZS0+dmlldygpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRp
bmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5h
dG9yLmgKaW5kZXggMmQyNzJlY2VmMmIwZGQ4OWM0NDBhOTcxYWU3ZWQ2YTE5ZDJlNDM4MS4uOWMw
NjcxNzkyNzcwMmYzOTljZTRjNWE0ODEwYWM4MTM3MTEzYjg5MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5oCkBAIC0xNjAs
MTAgKzE2MCwxMSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFN0cmluZyBtYWluVGhyZWFkU2Nyb2xs
aW5nUmVhc29uc0FzVGV4dChNYWluVGhyZWFkU2Nyb2xsaW5nUmVhc29ucyk7CiAgICAgU3RyaW5n
IG1haW5UaHJlYWRTY3JvbGxpbmdSZWFzb25zQXNUZXh0KCkgY29uc3Q7CiAKKyAgICBSZWdpb24g
Y29tcHV0ZU5vbkZhc3RTY3JvbGxhYmxlUmVnaW9uKGNvbnN0IEZyYW1lKiwgY29uc3QgSW50UG9p
bnQmIGZyYW1lTG9jYXRpb24pIGNvbnN0OworCiBwcm90ZWN0ZWQ6CiAgICAgZXhwbGljaXQgU2Ny
b2xsaW5nQ29vcmRpbmF0b3IoUGFnZSopOwogCi0gICAgUmVnaW9uIGNvbXB1dGVOb25GYXN0U2Ny
b2xsYWJsZVJlZ2lvbihGcmFtZSosIGNvbnN0IEludFBvaW50JiBmcmFtZUxvY2F0aW9uKTsKICAg
ICB1bnNpZ25lZCBjb21wdXRlQ3VycmVudFdoZWVsRXZlbnRIYW5kbGVyQ291bnQoKTsKICAgICBH
cmFwaGljc0xheWVyKiBzY3JvbGxMYXllckZvckZyYW1lVmlldyhGcmFtZVZpZXcqKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IDUxY2M3MjllNTg3NDliZGJmNGIzYmIx
YjBkZWNjNGFkODRhNjQzZmIuLmZlNjQ1ZTUxM2NjY2QxZTJlYzIzZTQzMDBjMTgzM2U3ZGNkZjVk
MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTE1NTcsNiArMTU1Nywy
MCBAQCBTdHJpbmcgSW50ZXJuYWxzOjptYWluVGhyZWFkU2Nyb2xsaW5nUmVhc29ucyhEb2N1bWVu
dCogZG9jdW1lbnQsIEV4Y2VwdGlvbkNvZGUmCiAgICAgcmV0dXJuIHBhZ2UtPm1haW5UaHJlYWRT
Y3JvbGxpbmdSZWFzb25zQXNUZXh0KCk7CiB9CiAKK1Bhc3NSZWZQdHI8Q2xpZW50UmVjdExpc3Q+
IEludGVybmFsczo6bm9uRmFzdFNjcm9sbGFibGVSZWN0cyhEb2N1bWVudCogZG9jdW1lbnQsIEV4
Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAoreworICAgIGlmICghZG9jdW1lbnQgfHwgIWRvY3VtZW50
LT5mcmFtZSgpKSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJSOworICAgICAgICBy
ZXR1cm4gMDsKKyAgICB9CisKKyAgICBQYWdlKiBwYWdlID0gZG9jdW1lbnQtPnBhZ2UoKTsKKyAg
ICBpZiAoIXBhZ2UpCisgICAgICAgIHJldHVybiAwOworCisgICAgcmV0dXJuIHBhZ2UtPm5vbkZh
c3RTY3JvbGxhYmxlUmVjdHMoZG9jdW1lbnQtPmZyYW1lKCkpOworfQorCiB2b2lkIEludGVybmFs
czo6Z2FyYmFnZUNvbGxlY3REb2N1bWVudFJlc291cmNlcyhEb2N1bWVudCogZG9jdW1lbnQsIEV4
Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAogewogICAgIGlmICghZG9jdW1lbnQpIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmggYi9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5oCmluZGV4IDAzMGQzMDMxNjRkZjQ0ODkyNDI0MmMxOGFhNjhhODgw
NTExZDA1YWMuLjllZmVhOTVkMjA1NzVlY2MyYWViMzc0NTczM2EzNWMzZTQyMTIzYzQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaApAQCAtMjE0LDggKzIxNCw4IEBAIHB1YmxpYzoKICAg
ICBTdHJpbmcgbGF5ZXJUcmVlQXNUZXh0KERvY3VtZW50KiwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0
OwogICAgIFN0cmluZyByZXBhaW50UmVjdHNBc1RleHQoRG9jdW1lbnQqLCBFeGNlcHRpb25Db2Rl
JikgY29uc3Q7CiAgICAgU3RyaW5nIHNjcm9sbGluZ1N0YXRlVHJlZUFzVGV4dChEb2N1bWVudCos
IEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsKLQogICAgIFN0cmluZyBtYWluVGhyZWFkU2Nyb2xsaW5n
UmVhc29ucyhEb2N1bWVudCosIEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsKKyAgICBQYXNzUmVmUHRy
PENsaWVudFJlY3RMaXN0PiBub25GYXN0U2Nyb2xsYWJsZVJlY3RzKERvY3VtZW50KiwgRXhjZXB0
aW9uQ29kZSYpIGNvbnN0OwogCiAgICAgdm9pZCBnYXJiYWdlQ29sbGVjdERvY3VtZW50UmVzb3Vy
Y2VzKERvY3VtZW50KiwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5pZGwKaW5kZXggODlmYTQ0YzQ4MjMyZDcwOWEzZGU0ZjcwMzY4YTdjOGM4NDE5
NWU1Mi4uOTc0ZjM1YmU3YTMyNWNhZjMxMWExZjI1NTg1MWU5NDQzZDBjMDYwNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtMTc0LDYgKzE3NCw3IEBACiAKICAgICBET01T
dHJpbmcgc2Nyb2xsaW5nU3RhdGVUcmVlQXNUZXh0KGluIERvY3VtZW50IGRvY3VtZW50KSByYWlz
ZXMgKERPTUV4Y2VwdGlvbik7CiAgICAgRE9NU3RyaW5nIG1haW5UaHJlYWRTY3JvbGxpbmdSZWFz
b25zKGluIERvY3VtZW50IGRvY3VtZW50KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CisgICAgQ2xp
ZW50UmVjdExpc3Qgbm9uRmFzdFNjcm9sbGFibGVSZWN0cyhpbiBEb2N1bWVudCBkb2N1bWVudCkg
cmFpc2VzIChET01FeGNlcHRpb24pOwogCiAgICAgRE9NU3RyaW5nIHJlcGFpbnRSZWN0c0FzVGV4
dChpbiBEb2N1bWVudCBkb2N1bWVudCkgcmFpc2VzIChET01FeGNlcHRpb24pOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJLaXQudmNwcm9qL1dlYktpdC5kZWYuaW4gYi9Tb3Vy
Y2UvV2ViS2l0L3dpbi9XZWJLaXQudmNwcm9qL1dlYktpdC5kZWYuaW4KaW5kZXggZWU3MGU5ZTUw
OTU3NzU5MjdkNzNhYzExZjBkNTgwMjMwNGQ0ZTg1Mi4uMzAzYjY3MzEwY2YxOWM5NjYwOTAyM2E3
NTQ3YjMxYTYxMzM2MGY0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViS2l0LnZj
cHJvai9XZWJLaXQuZGVmLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYktpdC52Y3Byb2ov
V2ViS2l0LmRlZi5pbgpAQCAtMTU2NiwzICsxNTY2LDQgQEAgRVhQT1JUUwogICAgICAgICA/cHNl
dWRvRWxlbWVudEBFbGVtZW50QFdlYkNvcmVAQFFCRVBBVlBzZXVkb0VsZW1lbnRAMkBXNFBzZXVk
b0lkQDJAQFoKICAgICAgICAgP3BhdXNlVHJhbnNpdGlvbkF0VGltZUBBbmltYXRpb25Db250cm9s
bGVyQFdlYkNvcmVAQFFBRV9OUEFWUmVuZGVyT2JqZWN0QDJAQUJWU3RyaW5nQFdURkBATkBaCiAg
ICAgICAgID9hZGRGcm9tTGl0ZXJhbERhdGFAQXRvbWljU3RyaW5nQFdURkBAQ0E/QVY/JFBhc3NS
ZWZQdHJAVlN0cmluZ0ltcGxAV1RGQEBAMkBQQkRJQFoKKyAgICAgICAgP25vbkZhc3RTY3JvbGxh
YmxlUmVjdHNAUGFnZUBXZWJDb3JlQEBRQUU/QVY/JFBhc3NSZWZQdHJAVkNsaWVudFJlY3RMaXN0
QFdlYkNvcmVAQEBXVEZAQFBCVkZyYW1lQDJAQFoKZGlmZiAtLWdpdCBhL1NvdXJjZS9hdXRvdG9v
bHMvc3ltYm9scy5maWx0ZXIgYi9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyCmluZGV4
IDMxZWE5ZTEzYjZlMGUwODg2NzgxY2RmY2JhNDAzZGRhNjc1MjAzOGIuLmNmM2ZkNjMzMWJiMWEz
OWQ4MDRmMjI0ZWY0ZmZkYTc2YzRjZGU3ODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9hdXRvdG9vbHMv
c3ltYm9scy5maWx0ZXIKKysrIGIvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlcgpAQCAt
MzAsNiArMzAsNyBAQCBfWk4yNER1bXBSZW5kZXJUcmVlU3VwcG9ydEd0ayo7CiBfWk43V2ViQ29y
ZTRQYWdlMTNzZXRQYWdpbmF0aW9uRVJLTlNfMTBQYWdpbmF0aW9uRTsKIF9aTjdXZWJDb3JlNFBh
Z2UxOHNldFBhZ2VTY2FsZUZhY3RvckVmUktOU184SW50UG9pbnRFOwogX1pON1dlYkNvcmU0UGFn
ZTIwc2V0RGV2aWNlU2NhbGVGYWN0b3JFZjsKK19aTjdXZWJDb3JlNFBhZ2UyMm5vbkZhc3RTY3Jv
bGxhYmxlUmVjdHNFUEtOU181RnJhbWVFOwogX1pON1dlYkNvcmU0UGFnZTI0c2Nyb2xsaW5nU3Rh
dGVUcmVlQXNUZXh0RXY7CiBfWk43V2ViQ29yZTRQYWdlMzJtYWluVGhyZWFkU2Nyb2xsaW5nUmVh
c29uc0FzVGV4dEV2OwogX1pON1dlYkNvcmU0UGFnZTE2c2V0Q2FuU3RhcnRNZWRpYUViOwpkaWZm
IC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IDEzMzU1OWM0NjExY2NkMmRhMDM2
NmQ5YThjNzdiYjkxNDUyMmE2ZTAuLjcyYTc1MTA1MDk3MzUzOGEwNDAwN2VlNzBjMWQyMzEyNDYw
ZDlmMmQgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NCBAQAorMjAxMi0xMi0yMSAgWGlhbnpodSBXYW5nICA8d2FuZ3hpYW56aHVAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIEFkZCB3aW5kb3cuaW50ZXJuYWxzLm5vbkZhc3RTY3JvbGxhYmxlUmVjdHMg
Zm9yIHRlc3Rpbmcgc2Nyb2xsYWJsZSBhcmVhcyBpbiBmYXN0L3Nsb3cgcGF0aHMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTU0NgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEV4cG9ydCB0aGUgbmV3IHN5
bWJvbC4KKworICAgICAgICAqIFNvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXI6CisKIDIw
MTMtMDEtMDQgIEFkYW0gS2xlaW4gIDxhZGFta0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmVt
b3ZlIEVOQUJMRV9NVVRBVElPTl9PQlNFUlZFUlMgI2RlZmluZQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>181350</attachid>
            <date>2013-01-04 11:48:05 -0800</date>
            <delta_ts>2013-01-07 14:14:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105546-20130104194512.patch</filename>
            <type>text/plain</type>
            <size>10556</size>
            <attacher name="Xianzhu Wang">wangxianzhu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4ODEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjliMjk5ZTlmMjRiY2Uy
NDhkODg5MTIxZWM2Y2UwODFkZTkzZWI0My4uY2E0ODAwMDBjNTVlYWVlMWIzMDYxZTdhMDg3ZTBl
NjAyODFjZTZiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEyLTEyLTIxICBYaWFu
emh1IFdhbmcgIDx3YW5neGlhbnpodUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIHdpbmRv
dy5pbnRlcm5hbHMubm9uRmFzdFNjcm9sbGFibGVSZWN0cyBmb3IgdGVzdGluZyBzY3JvbGxhYmxl
IGFyZWFzIGluIGZhc3Qvc2xvdyBwYXRocworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTA1NTQ2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBBZGRlZCB0ZXN0IEFQSSBmb3IgbmV3IHRl
c3RzIG9mIG90aGVyIGJ1Z3MuCisKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAg
KiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6bm9uRmFzdFNjcm9sbGFi
bGVSZWN0cyk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBwYWdlL1BhZ2UuaDoKKyAg
ICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoUGFnZSk6CisgICAgICAgICogcGFnZS9zY3JvbGxp
bmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5n
Q29vcmRpbmF0b3I6OmNvbXB1dGVOb25GYXN0U2Nyb2xsYWJsZVJlZ2lvbik6IENoYW5nZSB0byBw
dWJsaWMgdG8gYWxsb3cgUGFnZTo6bm9uRmFzdFNjcm9sbGFibGVSZWN0cyB0byBhY2Nlc3MuCisg
ICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaDoKKyAgICAgICAg
KFNjcm9sbGluZ0Nvb3JkaW5hdG9yKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6Om5vbkZhc3RTY3JvbGxhYmxlUmVjdHMpOgor
ICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAg
ICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisKIDIwMTMtMDEtMDQgIEpvaG4gTWVsbG9yICA8
am9obm1lQGNocm9taXVtLm9yZz4KIAogICAgICAgICBFYXJseSBvdXQgZnJvbSBGb250Q2FjaGU6
OnJlbGVhc2VGb250RGF0YSBpZiBjYWNoZWQgZm9udCBkYXRhIG5vdCBmb3VuZC4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpp
bmRleCBjY2I3ZWJmZDhiNWFhYjJiNjE3OGM4Y2FjZGZmNmU3ZDNiZjljNmNjLi4xNjgzZDFiYTJm
NGU0Mjg3ZWRhMzk1NDgwZmMxM2FjM2VjYjhiN2I3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQg
QEAKKzIwMTItMTItMjAgIFhpYW56aHUgV2FuZyAgPHdhbmd4aWFuemh1QGNocm9taXVtLm9yZz4K
KworICAgICAgICBBZGQgd2luZG93LmludGVybmFscy5ub25GYXN0U2Nyb2xsYWJsZVJlY3RzIGZv
ciB0ZXN0aW5nIHNjcm9sbGFibGUgYXJlYXMgaW4gZmFzdC9zbG93IHBhdGhzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDU1NDYKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFeHBvcnQgdGhlIG5ldyBzeW1i
b2wuCisKKyAgICAgICAgKiB3aW4vV2ViS2l0Mi5kZWYuaW46CisKIDIwMTMtMDEtMDQgIEFkYW0g
S2xlaW4gIDxhZGFta0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmVtb3ZlIEVOQUJMRV9NVVRB
VElPTl9PQlNFUlZFUlMgI2RlZmluZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCBhMWVhNmI1MzYy
OGRiMTU4NGJmOGJhYzI1ZDBmODFkOTZiODVlMDIwLi45NjZiM2FjYjA0YTg0ZTlmNzk0NWFhNjM3
ZjYxMjQyNTdmMzVkNjE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5p
bgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtNzYwLDYgKzc2MCw3IEBA
IF9fWk43V2ViQ29yZTRQYWdlMjBzZXREZXZpY2VTY2FsZUZhY3RvckVmCiBfX1pON1dlYkNvcmU0
UGFnZTIwdW5tYXJrQWxsVGV4dE1hdGNoZXNFdgogX19aTjdXZWJDb3JlNFBhZ2UyMW1hcmtBbGxN
YXRjaGVzRm9yVGV4dEVSS04zV1RGNlN0cmluZ0VqYmoKIF9fWk43V2ViQ29yZTRQYWdlMjJhbGxW
aXNpdGVkU3RhdGVDaGFuZ2VkRVBOU185UGFnZUdyb3VwRQorX19aTjdXZWJDb3JlNFBhZ2UyMm5v
bkZhc3RTY3JvbGxhYmxlUmVjdHNFUEtOU181RnJhbWVFCiBfX1pON1dlYkNvcmU0UGFnZTIzY2xl
YXJVbmRvUmVkb09wZXJhdGlvbnNFdgogX19aTjdXZWJDb3JlNFBhZ2UyNHJlc3VtZVNjcmlwdGVk
QW5pbWF0aW9uc0V2CiBfX1pON1dlYkNvcmU0UGFnZTI0c2Nyb2xsaW5nU3RhdGVUcmVlQXNUZXh0
RXYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IDQyYzYwZjJjNmRhMjdhODdhMzQzMjM5ZTBhN2ZkYjkw
NTFjODMzZjYuLjI5ODljYmJmZWIyOWM4NDhlZmVkNDViNWY5ZDkxYTA5NzQ0YWYwYzEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9QYWdlLmNwcApAQCAtMjUsNiArMjUsNyBAQAogI2luY2x1ZGUgIkJhY2tGb3J3YXJkTGlz
dC5oIgogI2luY2x1ZGUgIkNocm9tZS5oIgogI2luY2x1ZGUgIkNocm9tZUNsaWVudC5oIgorI2lu
Y2x1ZGUgIkNsaWVudFJlY3RMaXN0LmgiCiAjaW5jbHVkZSAiQ29udGV4dE1lbnVDbGllbnQuaCIK
ICNpbmNsdWRlICJDb250ZXh0TWVudUNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJET01XaW5kb3cu
aCIKQEAgLTI2OSw2ICsyNzAsMjEgQEAgU3RyaW5nIFBhZ2U6Om1haW5UaHJlYWRTY3JvbGxpbmdS
ZWFzb25zQXNUZXh0KCkKICAgICByZXR1cm4gU3RyaW5nKCk7CiB9CiAKK1Bhc3NSZWZQdHI8Q2xp
ZW50UmVjdExpc3Q+IFBhZ2U6Om5vbkZhc3RTY3JvbGxhYmxlUmVjdHMoY29uc3QgRnJhbWUqIGZy
YW1lKQoreworICAgIGlmIChEb2N1bWVudCogZG9jdW1lbnQgPSBtX21haW5GcmFtZS0+ZG9jdW1l
bnQoKSkKKyAgICAgICAgZG9jdW1lbnQtPnVwZGF0ZUxheW91dCgpOworCisgICAgVmVjdG9yPElu
dFJlY3Q+IHJlY3RzOworICAgIGlmIChTY3JvbGxpbmdDb29yZGluYXRvciogc2Nyb2xsaW5nQ29v
cmRpbmF0b3IgPSB0aGlzLT5zY3JvbGxpbmdDb29yZGluYXRvcigpKQorICAgICAgICByZWN0cyA9
IHNjcm9sbGluZ0Nvb3JkaW5hdG9yLT5jb21wdXRlTm9uRmFzdFNjcm9sbGFibGVSZWdpb24oZnJh
bWUsIEludFBvaW50KCkpLnJlY3RzKCk7CisKKyAgICBWZWN0b3I8RmxvYXRRdWFkPiBxdWFkcyhy
ZWN0cy5zaXplKCkpOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcmVjdHMuc2l6ZSgpOyAr
K2kpCisgICAgICAgIHF1YWRzW2ldID0gRmxvYXRSZWN0KHJlY3RzW2ldKTsKKyAgICByZXR1cm4g
Q2xpZW50UmVjdExpc3Q6OmNyZWF0ZShxdWFkcyk7Cit9CisKIHN0cnVjdCBWaWV3TW9kZUluZm8g
ewogICAgIGNvbnN0IGNoYXIqIG5hbWU7CiAgICAgUGFnZTo6Vmlld01vZGUgdHlwZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Q
YWdlLmgKaW5kZXggMmMwYjhiOGM1ZWQyZjljODFlZmY3OGE0YjA4YTYyMzQzMjAzZjBjNC4uOWYy
MGQwZjA4NmM2ZmUzZmU4ZmQwZTM3NjhlNDAwYWJlNjQxNWI0MyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKQEAg
LTU3LDYgKzU3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEJhY2tGb3J3YXJk
TGlzdDsKICAgICBjbGFzcyBDaHJvbWU7CiAgICAgY2xhc3MgQ2hyb21lQ2xpZW50OworICAgIGNs
YXNzIENsaWVudFJlY3RMaXN0OwogI2lmIEVOQUJMRShDT05URVhUX01FTlVTKQogICAgIGNsYXNz
IENvbnRleHRNZW51Q2xpZW50OwogICAgIGNsYXNzIENvbnRleHRNZW51Q29udHJvbGxlcjsKQEAg
LTIwMCw2ICsyMDEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgU3RyaW5nIHNj
cm9sbGluZ1N0YXRlVHJlZUFzVGV4dCgpOwogICAgICAgICBTdHJpbmcgbWFpblRocmVhZFNjcm9s
bGluZ1JlYXNvbnNBc1RleHQoKTsKKyAgICAgICAgUGFzc1JlZlB0cjxDbGllbnRSZWN0TGlzdD4g
bm9uRmFzdFNjcm9sbGFibGVSZWN0cyhjb25zdCBGcmFtZSopOwogCiAgICAgICAgIFNldHRpbmdz
KiBzZXR0aW5ncygpIGNvbnN0IHsgcmV0dXJuIG1fc2V0dGluZ3MuZ2V0KCk7IH0KICAgICAgICAg
UHJvZ3Jlc3NUcmFja2VyKiBwcm9ncmVzcygpIGNvbnN0IHsgcmV0dXJuIG1fcHJvZ3Jlc3MuZ2V0
KCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGlu
Z0Nvb3JkaW5hdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGlu
Z0Nvb3JkaW5hdG9yLmNwcAppbmRleCAwZmZkOWMxMjJiNTA0YzhhMzdhNDAxOGFkMDQ1NWU5YzI4
MWQ5NDNjLi5mZDA2OTI4ZmE0ZTJmNDQ0MWMxZjkwNTAxYmY5NDk1MTVhMmEwZDYyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0
b3IuY3BwCkBAIC0xMzYsNyArMTM2LDcgQEAgYm9vbCBTY3JvbGxpbmdDb29yZGluYXRvcjo6Y29v
cmRpbmF0ZXNTY3JvbGxpbmdGb3JGcmFtZVZpZXcoRnJhbWVWaWV3KiBmcmFtZVZpZXcKICNlbmRp
ZgogfQogCi1SZWdpb24gU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OmNvbXB1dGVOb25GYXN0U2Nyb2xs
YWJsZVJlZ2lvbihGcmFtZSogZnJhbWUsIGNvbnN0IEludFBvaW50JiBmcmFtZUxvY2F0aW9uKQor
UmVnaW9uIFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpjb21wdXRlTm9uRmFzdFNjcm9sbGFibGVSZWdp
b24oY29uc3QgRnJhbWUqIGZyYW1lLCBjb25zdCBJbnRQb2ludCYgZnJhbWVMb2NhdGlvbikgY29u
c3QKIHsKICAgICBSZWdpb24gbm9uRmFzdFNjcm9sbGFibGVSZWdpb247CiAgICAgRnJhbWVWaWV3
KiBmcmFtZVZpZXcgPSBmcmFtZS0+dmlldygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmgKaW5kZXggMmQyNzJlY2VmMmIwZGQ4
OWM0NDBhOTcxYWU3ZWQ2YTE5ZDJlNDM4MS4uOWMwNjcxNzkyNzcwMmYzOTljZTRjNWE0ODEwYWM4
MTM3MTEzYjg5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nQ29vcmRpbmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9T
Y3JvbGxpbmdDb29yZGluYXRvci5oCkBAIC0xNjAsMTAgKzE2MCwxMSBAQCBwdWJsaWM6CiAgICAg
c3RhdGljIFN0cmluZyBtYWluVGhyZWFkU2Nyb2xsaW5nUmVhc29uc0FzVGV4dChNYWluVGhyZWFk
U2Nyb2xsaW5nUmVhc29ucyk7CiAgICAgU3RyaW5nIG1haW5UaHJlYWRTY3JvbGxpbmdSZWFzb25z
QXNUZXh0KCkgY29uc3Q7CiAKKyAgICBSZWdpb24gY29tcHV0ZU5vbkZhc3RTY3JvbGxhYmxlUmVn
aW9uKGNvbnN0IEZyYW1lKiwgY29uc3QgSW50UG9pbnQmIGZyYW1lTG9jYXRpb24pIGNvbnN0Owor
CiBwcm90ZWN0ZWQ6CiAgICAgZXhwbGljaXQgU2Nyb2xsaW5nQ29vcmRpbmF0b3IoUGFnZSopOwog
Ci0gICAgUmVnaW9uIGNvbXB1dGVOb25GYXN0U2Nyb2xsYWJsZVJlZ2lvbihGcmFtZSosIGNvbnN0
IEludFBvaW50JiBmcmFtZUxvY2F0aW9uKTsKICAgICB1bnNpZ25lZCBjb21wdXRlQ3VycmVudFdo
ZWVsRXZlbnRIYW5kbGVyQ291bnQoKTsKICAgICBHcmFwaGljc0xheWVyKiBzY3JvbGxMYXllckZv
ckZyYW1lVmlldyhGcmFtZVZpZXcqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3Bw
CmluZGV4IDUxY2M3MjllNTg3NDliZGJmNGIzYmIxYjBkZWNjNGFkODRhNjQzZmIuLmZlNjQ1ZTUx
M2NjY2QxZTJlYzIzZTQzMDBjMTgzM2U3ZGNkZjVkMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5jcHAKQEAgLTE1NTcsNiArMTU1NywyMCBAQCBTdHJpbmcgSW50ZXJuYWxzOjptYWlu
VGhyZWFkU2Nyb2xsaW5nUmVhc29ucyhEb2N1bWVudCogZG9jdW1lbnQsIEV4Y2VwdGlvbkNvZGUm
CiAgICAgcmV0dXJuIHBhZ2UtPm1haW5UaHJlYWRTY3JvbGxpbmdSZWFzb25zQXNUZXh0KCk7CiB9
CiAKK1Bhc3NSZWZQdHI8Q2xpZW50UmVjdExpc3Q+IEludGVybmFsczo6bm9uRmFzdFNjcm9sbGFi
bGVSZWN0cyhEb2N1bWVudCogZG9jdW1lbnQsIEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAorewor
ICAgIGlmICghZG9jdW1lbnQgfHwgIWRvY3VtZW50LT5mcmFtZSgpKSB7CisgICAgICAgIGVjID0g
SU5WQUxJRF9BQ0NFU1NfRVJSOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAgICBQYWdl
KiBwYWdlID0gZG9jdW1lbnQtPnBhZ2UoKTsKKyAgICBpZiAoIXBhZ2UpCisgICAgICAgIHJldHVy
biAwOworCisgICAgcmV0dXJuIHBhZ2UtPm5vbkZhc3RTY3JvbGxhYmxlUmVjdHMoZG9jdW1lbnQt
PmZyYW1lKCkpOworfQorCiB2b2lkIEludGVybmFsczo6Z2FyYmFnZUNvbGxlY3REb2N1bWVudFJl
c291cmNlcyhEb2N1bWVudCogZG9jdW1lbnQsIEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAogewog
ICAgIGlmICghZG9jdW1lbnQpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCmluZGV4IDAz
MGQzMDMxNjRkZjQ0ODkyNDI0MmMxOGFhNjhhODgwNTExZDA1YWMuLjllZmVhOTVkMjA1NzVlY2My
YWViMzc0NTczM2EzNWMzZTQyMTIzYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaApA
QCAtMjE0LDggKzIxNCw4IEBAIHB1YmxpYzoKICAgICBTdHJpbmcgbGF5ZXJUcmVlQXNUZXh0KERv
Y3VtZW50KiwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0OwogICAgIFN0cmluZyByZXBhaW50UmVjdHNB
c1RleHQoRG9jdW1lbnQqLCBFeGNlcHRpb25Db2RlJikgY29uc3Q7CiAgICAgU3RyaW5nIHNjcm9s
bGluZ1N0YXRlVHJlZUFzVGV4dChEb2N1bWVudCosIEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsKLQog
ICAgIFN0cmluZyBtYWluVGhyZWFkU2Nyb2xsaW5nUmVhc29ucyhEb2N1bWVudCosIEV4Y2VwdGlv
bkNvZGUmKSBjb25zdDsKKyAgICBQYXNzUmVmUHRyPENsaWVudFJlY3RMaXN0PiBub25GYXN0U2Ny
b2xsYWJsZVJlY3RzKERvY3VtZW50KiwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0OwogCiAgICAgdm9p
ZCBnYXJiYWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzKERvY3VtZW50KiwgRXhjZXB0aW9uQ29k
ZSYpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKaW5kZXggODlmYTQ0
YzQ4MjMyZDcwOWEzZGU0ZjcwMzY4YTdjOGM4NDE5NWU1Mi4uOTc0ZjM1YmU3YTMyNWNhZjMxMWEx
ZjI1NTg1MWU5NDQzZDBjMDYwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApA
QCAtMTc0LDYgKzE3NCw3IEBACiAKICAgICBET01TdHJpbmcgc2Nyb2xsaW5nU3RhdGVUcmVlQXNU
ZXh0KGluIERvY3VtZW50IGRvY3VtZW50KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAgICAgRE9N
U3RyaW5nIG1haW5UaHJlYWRTY3JvbGxpbmdSZWFzb25zKGluIERvY3VtZW50IGRvY3VtZW50KSBy
YWlzZXMgKERPTUV4Y2VwdGlvbik7CisgICAgQ2xpZW50UmVjdExpc3Qgbm9uRmFzdFNjcm9sbGFi
bGVSZWN0cyhpbiBEb2N1bWVudCBkb2N1bWVudCkgcmFpc2VzIChET01FeGNlcHRpb24pOwogCiAg
ICAgRE9NU3RyaW5nIHJlcGFpbnRSZWN0c0FzVGV4dChpbiBEb2N1bWVudCBkb2N1bWVudCkgcmFp
c2VzIChET01FeGNlcHRpb24pOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJL
aXQudmNwcm9qL1dlYktpdC5kZWYuaW4gYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJLaXQudmNwcm9q
L1dlYktpdC5kZWYuaW4KaW5kZXggZWU3MGU5ZTUwOTU3NzU5MjdkNzNhYzExZjBkNTgwMjMwNGQ0
ZTg1Mi4uMzAzYjY3MzEwY2YxOWM5NjYwOTAyM2E3NTQ3YjMxYTYxMzM2MGY0NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC93aW4vV2ViS2l0LnZjcHJvai9XZWJLaXQuZGVmLmluCisrKyBiL1Nv
dXJjZS9XZWJLaXQvd2luL1dlYktpdC52Y3Byb2ovV2ViS2l0LmRlZi5pbgpAQCAtMTU2NiwzICsx
NTY2LDQgQEAgRVhQT1JUUwogICAgICAgICA/cHNldWRvRWxlbWVudEBFbGVtZW50QFdlYkNvcmVA
QFFCRVBBVlBzZXVkb0VsZW1lbnRAMkBXNFBzZXVkb0lkQDJAQFoKICAgICAgICAgP3BhdXNlVHJh
bnNpdGlvbkF0VGltZUBBbmltYXRpb25Db250cm9sbGVyQFdlYkNvcmVAQFFBRV9OUEFWUmVuZGVy
T2JqZWN0QDJAQUJWU3RyaW5nQFdURkBATkBaCiAgICAgICAgID9hZGRGcm9tTGl0ZXJhbERhdGFA
QXRvbWljU3RyaW5nQFdURkBAQ0E/QVY/JFBhc3NSZWZQdHJAVlN0cmluZ0ltcGxAV1RGQEBAMkBQ
QkRJQFoKKyAgICAgICAgP25vbkZhc3RTY3JvbGxhYmxlUmVjdHNAUGFnZUBXZWJDb3JlQEBRQUU/
QVY/JFBhc3NSZWZQdHJAVkNsaWVudFJlY3RMaXN0QFdlYkNvcmVAQEBXVEZAQFBCVkZyYW1lQDJA
QFoKZGlmZiAtLWdpdCBhL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIgYi9Tb3VyY2Uv
YXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyCmluZGV4IDMxZWE5ZTEzYjZlMGUwODg2NzgxY2RmY2Jh
NDAzZGRhNjc1MjAzOGIuLmNmM2ZkNjMzMWJiMWEzOWQ4MDRmMjI0ZWY0ZmZkYTc2YzRjZGU3ODEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIKKysrIGIvU291cmNl
L2F1dG90b29scy9zeW1ib2xzLmZpbHRlcgpAQCAtMzAsNiArMzAsNyBAQCBfWk4yNER1bXBSZW5k
ZXJUcmVlU3VwcG9ydEd0ayo7CiBfWk43V2ViQ29yZTRQYWdlMTNzZXRQYWdpbmF0aW9uRVJLTlNf
MTBQYWdpbmF0aW9uRTsKIF9aTjdXZWJDb3JlNFBhZ2UxOHNldFBhZ2VTY2FsZUZhY3RvckVmUktO
U184SW50UG9pbnRFOwogX1pON1dlYkNvcmU0UGFnZTIwc2V0RGV2aWNlU2NhbGVGYWN0b3JFZjsK
K19aTjdXZWJDb3JlNFBhZ2UyMm5vbkZhc3RTY3JvbGxhYmxlUmVjdHNFUEtOU181RnJhbWVFOwog
X1pON1dlYkNvcmU0UGFnZTI0c2Nyb2xsaW5nU3RhdGVUcmVlQXNUZXh0RXY7CiBfWk43V2ViQ29y
ZTRQYWdlMzJtYWluVGhyZWFkU2Nyb2xsaW5nUmVhc29uc0FzVGV4dEV2OwogX1pON1dlYkNvcmU0
UGFnZTE2c2V0Q2FuU3RhcnRNZWRpYUViOwpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdl
TG9nCmluZGV4IDEzMzU1OWM0NjExY2NkMmRhMDM2NmQ5YThjNzdiYjkxNDUyMmE2ZTAuLjcyYTc1
MTA1MDk3MzUzOGEwNDAwN2VlNzBjMWQyMzEyNDYwZDlmMmQgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxv
ZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMi0xMi0yMSAgWGlhbnpodSBX
YW5nICA8d2FuZ3hpYW56aHVAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZCB3aW5kb3cuaW50
ZXJuYWxzLm5vbkZhc3RTY3JvbGxhYmxlUmVjdHMgZm9yIHRlc3Rpbmcgc2Nyb2xsYWJsZSBhcmVh
cyBpbiBmYXN0L3Nsb3cgcGF0aHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEwNTU0NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEV4cG9ydCB0aGUgbmV3IHN5bWJvbC4KKworICAgICAgICAqIFNvdXJjZS9h
dXRvdG9vbHMvc3ltYm9scy5maWx0ZXI6CisKIDIwMTMtMDEtMDQgIEFkYW0gS2xlaW4gIDxhZGFt
a0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmVtb3ZlIEVOQUJMRV9NVVRBVElPTl9PQlNFUlZF
UlMgI2RlZmluZQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>