<?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>129919</bug_id>
          
          <creation_ts>2014-03-07 14:33:25 -0800</creation_ts>
          <short_desc>Set background color of WK2&apos;s UIScrollView to the pageExtendedBackgroundColor</short_desc>
          <delta_ts>2014-03-10 15:43:40 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Beth Dakin">bdakin</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bdakin</cc>
    
    <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>988354</commentid>
    <comment_count>0</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2014-03-07 14:33:25 -0800</bug_when>
    <thetext>We should set background color of WK2&apos;s UIScrollView to the pageExtendedBackgroundColor, and that information should be passed to the UIProcess via a RemoteLayerTreeTransaction.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>988362</commentid>
    <comment_count>1</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2014-03-07 14:37:31 -0800</bug_when>
    <thetext>*** Bug 129921 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>988374</commentid>
    <comment_count>2</comment_count>
      <attachid>226171</attachid>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2014-03-07 15:03:33 -0800</bug_when>
    <thetext>Created attachment 226171
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>988409</commentid>
    <comment_count>3</comment_count>
      <attachid>226181</attachid>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2014-03-07 16:06:03 -0800</bug_when>
    <thetext>Created attachment 226181
Patch

Should fix the build failure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>988427</commentid>
    <comment_count>4</comment_count>
      <attachid>226181</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-03-07 16:45:04 -0800</bug_when>
    <thetext>Comment on attachment 226181
Patch

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

&gt; Source/WebKit2/Shared/mac/RemoteLayerTreeTransaction.h:207
&gt; +    WebCore::Color m_pageExtendedBackgroundColor;

Let&apos;s move this above with content size.

&gt; Source/WebKit2/Shared/mac/RemoteLayerTreeTransaction.mm:426
&gt; +    encoder &lt;&lt; m_pageExtendedBackgroundColor;

And update this accordingly.

&gt; Source/WebKit2/Shared/mac/RemoteLayerTreeTransaction.mm:492
&gt; +    if (!decoder.decode(result.m_pageExtendedBackgroundColor))
&gt; +        return false;
&gt; +

And this.

&gt; Source/WebKit2/UIProcess/WebPageProxy.h:432
&gt; +    void setPageExtendedBackgroundColor(const WebCore::Color&amp; color) { m_pageExtendedBackgroundColor = color; }

You should not need this.

&gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm:340
&gt; +    _page-&gt;setPageExtendedBackgroundColor(layerTreeTransaction.pageExtendedBackgroundColor());

This should be done in WebPageProxy::didCommitLayerTree().

&gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm:342
&gt; +        if ([self _backgroundExtendsBeyondPage] &amp;&amp; pageExtendedBackgroundColor != [_scrollView backgroundColor])

You may not need pageExtendedBackgroundColor != [_scrollView backgroundColor], UIScrollView might do that already.

&gt; Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp:880
&gt; +    if (m_page-&gt;drawingArea())
&gt; +        m_page-&gt;drawingArea()-&gt;scheduleCompositingLayerFlush();

Do we really need this? I would think a flush must be scheduled already since the style would invalidate the full frame rect.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>988994</commentid>
    <comment_count>5</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2014-03-10 11:58:34 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 226181 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=226181&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/Shared/mac/RemoteLayerTreeTransaction.h:207
&gt; &gt; +    WebCore::Color m_pageExtendedBackgroundColor;
&gt; 
&gt; Let&apos;s move this above with content size.
&gt; 

Okay!

&gt; &gt; Source/WebKit2/Shared/mac/RemoteLayerTreeTransaction.mm:426
&gt; &gt; +    encoder &lt;&lt; m_pageExtendedBackgroundColor;
&gt; 
&gt; And update this accordingly.
&gt; 

Done.

&gt; &gt; Source/WebKit2/Shared/mac/RemoteLayerTreeTransaction.mm:492
&gt; &gt; +    if (!decoder.decode(result.m_pageExtendedBackgroundColor))
&gt; &gt; +        return false;
&gt; &gt; +
&gt; 
&gt; And this.
&gt; 

Done.

&gt; &gt; Source/WebKit2/UIProcess/WebPageProxy.h:432
&gt; &gt; +    void setPageExtendedBackgroundColor(const WebCore::Color&amp; color) { m_pageExtendedBackgroundColor = color; }
&gt; 
&gt; You should not need this.
&gt; 

Removed.

&gt; &gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm:340
&gt; &gt; +    _page-&gt;setPageExtendedBackgroundColor(layerTreeTransaction.pageExtendedBackgroundColor());
&gt; 
&gt; This should be done in WebPageProxy::didCommitLayerTree().
&gt; 

Moved.

&gt; &gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm:342
&gt; &gt; +        if ([self _backgroundExtendsBeyondPage] &amp;&amp; pageExtendedBackgroundColor != [_scrollView backgroundColor])
&gt; 
&gt; You may not need pageExtendedBackgroundColor != [_scrollView backgroundColor], UIScrollView might do that already.
&gt; 

Okay, I will remove it if it&apos;s not needed.

&gt; &gt; Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp:880
&gt; &gt; +    if (m_page-&gt;drawingArea())
&gt; &gt; +        m_page-&gt;drawingArea()-&gt;scheduleCompositingLayerFlush();
&gt; 
&gt; Do we really need this? I would think a flush must be scheduled already since the style would invalidate the full frame rect.

It&apos;s true that in my testing it doesn&apos;t seem like we need to do anything here…</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>989085</commentid>
    <comment_count>6</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2014-03-10 15:43:40 -0700</bug_when>
    <thetext>Committed change with http://trac.webkit.org/changeset/165409</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>226171</attachid>
            <date>2014-03-07 15:03:33 -0800</date>
            <delta_ts>2014-03-07 16:06:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>for-review.txt</filename>
            <type>text/plain</type>
            <size>11288</size>
            <attacher name="Beth Dakin">bdakin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2NTI5NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDE0LTAzLTA3ICBCZXRoIERh
a2luICA8YmRha2luQGFwcGxlLmNvbT4KKworICAgICAgICBTZXQgYmFja2dyb3VuZCBjb2xvciBv
ZiBXSzIncyBVSVNjcm9sbFZpZXcgdG8gdGhlIHBhZ2VFeHRlbmRlZEJhY2tncm91bmRDb2xvcgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI5OTE5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV0syIG5lZWRz
IHRvIGJlIGFibGUgdG8gYXNrIGZvciB0aGUgcGFnZUV4dGVuZGVkQmFja2dyb3VuZENvbG9yLCBz
byB0aGlzIHBhdGNoIAorICAgICAgICBhZGRzIGEgZnVuY3Rpb24gdG8gUGFnZSB0aGF0IHdpbGwg
cmV0dXJuIGl0LgorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogcGFnZS9Q
YWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnBhZ2VFeHRlbmRlZEJhY2tncm91bmRD
b2xvcik6CisgICAgICAgICogcGFnZS9QYWdlLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ckxheWVyQ29tcG9zaXRvci5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3Np
dG9yOjpyb290RXh0ZW5kZWRCYWNrZ3JvdW5kQ29sb3IpOgorCiAyMDE0LTAzLTA3ICBBbmRyZWFz
IEtsaW5nICA8YWtsaW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBbTWFjXSBOb3RpZnkgc3lzdGVt
IG1hbGxvYyBvZiBmYWtlIG1lbW9yeSBwcmVzc3VyZS4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZXhwLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmlu
CShyZXZpc2lvbiAxNjUyOTUpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgkod29y
a2luZyBjb3B5KQpAQCAtMTc3NSw2ICsxNzc1LDcgQEAgX19aTks3V2ViQ29yZTRQYWdlMTRyZW5k
ZXJUcmVlU2l6ZUV2CiBfX1pOSzdXZWJDb3JlNFBhZ2UxNXZpc2liaWxpdHlTdGF0ZUV2CiBfX1pO
SzdXZWJDb3JlNFBhZ2UxNmhhc1NlZW5BbnlQbHVnaW5FdgogX19aTks3V2ViQ29yZTRQYWdlMTd2
aWV3cG9ydEFyZ3VtZW50c0V2CitfX1pOSzdXZWJDb3JlNFBhZ2UyN3BhZ2VFeHRlbmRlZEJhY2tn
cm91bmRDb2xvckV2CiBfX1pOSzdXZWJDb3JlNFBhZ2UzNGluTG93UXVhbGl0eUltYWdlSW50ZXJw
b2xhdGlvbk1vZGVFdgogX19aTks3V2ViQ29yZTRQYWdlOWdyb3VwTmFtZUV2CiBfX1pOSzdXZWJD
b3JlNFBhZ2U5cGFnZUNvdW50RXYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAkocmV2aXNpb24gMTY1
Mjk1KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTI3MSw2ICsxMjcxLDE5IEBAIHZvaWQgUGFnZTo6cmVtb3ZlTGF5b3V0TWlsZXN0b25lcyhMYXlv
dXQKICAgICBtX3JlcXVlc3RlZExheW91dE1pbGVzdG9uZXMgJj0gfm1pbGVzdG9uZXM7CiB9CiAK
K0NvbG9yIFBhZ2U6OnBhZ2VFeHRlbmRlZEJhY2tncm91bmRDb2xvcigpIGNvbnN0Cit7CisgICAg
RnJhbWVWaWV3KiBmcmFtZVZpZXcgPSBtYWluRnJhbWUoKS52aWV3KCk7CisgICAgaWYgKCFmcmFt
ZVZpZXcpCisgICAgICAgIHJldHVybiBDb2xvcigpOworCisgICAgUmVuZGVyVmlldyogcmVuZGVy
VmlldyA9IGZyYW1lVmlldy0+cmVuZGVyVmlldygpOworICAgIGlmICghcmVuZGVyVmlldykKKyAg
ICAgICAgcmV0dXJuIENvbG9yKCk7CisKKyAgICByZXR1cm4gcmVuZGVyVmlldy0+Y29tcG9zaXRv
cigpLnJvb3RFeHRlbmRlZEJhY2tncm91bmRDb2xvcigpOworfQorCiAvLyBUaGVzZSBhcmUgbWFn
aWNhbCBjb25zdGFudHMgdGhhdCBtaWdodCBiZSB0d2Vha2VkIG92ZXIgdGltZS4KIHN0YXRpYyBk
b3VibGUgZ01pbmltdW1QYWludGVkQXJlYVJhdGlvID0gMC4xOwogc3RhdGljIGRvdWJsZSBnTWF4
aW11bVVucGFpbnRlZEFyZWFSYXRpbyA9IDAuMDQ7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdl
L1BhZ2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAkocmV2aXNp
b24gMTY1Mjk1KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgJKHdvcmtpbmcgY29weSkK
QEAgLTYyLDYgKzYyLDcgQEAgY2xhc3MgQmFja0ZvcndhcmRDbGllbnQ7CiBjbGFzcyBDaHJvbWU7
CiBjbGFzcyBDaHJvbWVDbGllbnQ7CiBjbGFzcyBDbGllbnRSZWN0TGlzdDsKK2NsYXNzIENvbG9y
OwogY2xhc3MgQ29udGV4dE1lbnVDbGllbnQ7CiBjbGFzcyBDb250ZXh0TWVudUNvbnRyb2xsZXI7
CiBjbGFzcyBEb2N1bWVudDsKQEAgLTM1NSw2ICszNTYsOCBAQCBwdWJsaWM6CiAgICAgaW50IGhl
YWRlckhlaWdodCgpIGNvbnN0IHsgcmV0dXJuIG1faGVhZGVySGVpZ2h0OyB9CiAgICAgaW50IGZv
b3RlckhlaWdodCgpIGNvbnN0IHsgcmV0dXJuIG1fZm9vdGVySGVpZ2h0OyB9CiAKKyAgICBDb2xv
ciBwYWdlRXh0ZW5kZWRCYWNrZ3JvdW5kQ29sb3IoKSBjb25zdDsKKwogICAgIGJvb2wgaXNDb3Vu
dGluZ1JlbGV2YW50UmVwYWludGVkT2JqZWN0cygpIGNvbnN0OwogICAgIHZvaWQgc3RhcnRDb3Vu
dGluZ1JlbGV2YW50UmVwYWludGVkT2JqZWN0cygpOwogICAgIHZvaWQgcmVzZXRSZWxldmFudFBh
aW50ZWRPYmplY3RDb3VudGVyKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJDb21wb3NpdG9yLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oCShyZXZpc2lvbiAxNjUyOTUpCisrKyBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmgJKHdvcmtpbmcgY29weSkK
QEAgLTI5Nyw2ICsyOTcsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaWRQYWludEJhY2tpbmcoUmVu
ZGVyTGF5ZXJCYWNraW5nKik7CiAKICAgICB2b2lkIHNldFJvb3RFeHRlbmRlZEJhY2tncm91bmRD
b2xvcihjb25zdCBDb2xvciYpOworICAgIENvbG9yIHJvb3RFeHRlbmRlZEJhY2tncm91bmRDb2xv
cigpIGNvbnN0IHsgcmV0dXJuIG1fcm9vdEV4dGVuZGVkQmFja2dyb3VuZENvbG9yOyB9CiAKIHBy
aXZhdGU6CiAgICAgY2xhc3MgT3ZlcmxhcE1hcDsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2
NTI5NSkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDMyIEBACisyMDE0LTAzLTA3ICBCZXRoIERha2luICA8YmRha2luQGFwcGxlLmNvbT4KKwor
ICAgICAgICBTZXQgYmFja2dyb3VuZCBjb2xvciBvZiBXSzIncyBVSVNjcm9sbFZpZXcgdG8gdGhl
IHBhZ2VFeHRlbmRlZEJhY2tncm91bmRDb2xvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI5OTE5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgTWFrZSB0aGUgcGFnZUV4dGVuZGVkQmFja2dyb3VuZENvbG9y
IHBhcnQgb2YgYSBSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi4KKyAgICAgICAgKiBTaGFyZWQv
bWFjL1JlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLmg6CisgICAgICAgIChXZWJLaXQ6OlJlbW90
ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjpwYWdlRXh0ZW5kZWRCYWNrZ3JvdW5kQ29sb3IpOgorICAg
ICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbjo6c2V0UGFnZUV4dGVuZGVk
QmFja2dyb3VuZENvbG9yKToKKyAgICAgICAgKiBTaGFyZWQvbWFjL1JlbW90ZUxheWVyVHJlZVRy
YW5zYWN0aW9uLm1tOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlv
bjo6ZW5jb2RlKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb246
OmRlY29kZSk6CisKKyAgICAgICAgU2V0IHRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBVSVNj
cm9sbFZpZXcgYmFzZWQgb24gdGhlIAorICAgICAgICBwYWdlRXh0ZW5kZWRCYWNrZ3JvdW5kQ29s
b3IuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAg
ICgtW1dLV2ViVmlldyBfZGlkQ29tbWl0TGF5ZXJUcmVlOldlYktpdDo6XSk6CisKKyAgICAgICAg
Rm9yIHRoZSBzYWtlIG9mIFBMQVRGT1JNKE1BQyksIGNvbnRpbnVlIHRvIHN1cHBvcnQgdGhlIGZh
Y3QgdGhhdCB0aGlzIGNvbG9yIGNhbiBiZSAKKyAgICAgICAgc2V0IHZpYSBhIG1lc3NhZ2UgZnJv
bSB0aGUgV2ViUHJvY2VzcyBvciB0aGUgbmV3IFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLgor
ICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZVByb3h5OjpzZXRQYWdlRXh0ZW5kZWRCYWNrZ3JvdW5kQ29sb3IpOgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViQ2hyb21lQ2xpZW50OjpwYWdlRXh0ZW5kZWRCYWNrZ3JvdW5kQ29sb3JEaWRDaGFu
Z2UpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViUGFnZTo6d2lsbENvbW1pdExheWVyVHJlZSk6CisKIDIwMTQtMDMtMDcgIEFu
ZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIEluc3RhbGwgV2Vi
S2l0MiBYUEMgc2VydmljZXMgdG8gdGhlIGNvcnJlY3QgcGxhY2UgZHVyaW5nIGlPUyBTaW11bGF0
b3IgYnVpbGRzCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyVHJl
ZVRyYW5zYWN0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9S
ZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5oCShyZXZpc2lvbiAxNjUyOTUpCisrKyBTb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTE4Niw2ICsxODYsOSBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1ZpZGVvTGF5ZXJJ
RFBlbmRpbmdGdWxsc2NyZWVuKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OlBsYXRmb3JtTGF5ZXJJ
RCBsYXllcklEKSBjb25zdCB7IHJldHVybiBtX3ZpZGVvTGF5ZXJJRHNQZW5kaW5nRnVsbHNjcmVl
bi5jb250YWlucyhsYXllcklEKTsgfQogICAgIHZvaWQgYWRkVmlkZW9MYXllcklEUGVuZGluZ0Z1
bGxzY3JlZW4oV2ViQ29yZTo6R3JhcGhpY3NMYXllcjo6UGxhdGZvcm1MYXllcklEIGxheWVySUQp
IHsgbV92aWRlb0xheWVySURzUGVuZGluZ0Z1bGxzY3JlZW4uYXBwZW5kKGxheWVySUQpOyB9CiAK
KyAgICBXZWJDb3JlOjpDb2xvciBwYWdlRXh0ZW5kZWRCYWNrZ3JvdW5kQ29sb3IoKSBjb25zdCB7
IHJldHVybiBtX3BhZ2VFeHRlbmRlZEJhY2tncm91bmRDb2xvcjsgfQorICAgIHZvaWQgc2V0UGFn
ZUV4dGVuZGVkQmFja2dyb3VuZENvbG9yKFdlYkNvcmU6OkNvbG9yIGNvbG9yKSB7IG1fcGFnZUV4
dGVuZGVkQmFja2dyb3VuZENvbG9yID0gY29sb3I7IH0KKwogcHJpdmF0ZToKICAgICBXZWJDb3Jl
OjpHcmFwaGljc0xheWVyOjpQbGF0Zm9ybUxheWVySUQgbV9yb290TGF5ZXJJRDsKICAgICBMYXll
clByb3BlcnRpZXNNYXAgbV9jaGFuZ2VkTGF5ZXJQcm9wZXJ0aWVzOwpAQCAtMjAxLDYgKzIwNCw3
IEBAIHByaXZhdGU6CiAgICAgdWludDY0X3QgbV9yZW5kZXJUcmVlU2l6ZTsKICAgICBib29sIG1f
c2NhbGVXYXNTZXRCeVVJUHJvY2VzczsKICAgICBib29sIG1fYWxsb3dzVXNlclNjYWxpbmc7Cisg
ICAgV2ViQ29yZTo6Q29sb3IgbV9wYWdlRXh0ZW5kZWRCYWNrZ3JvdW5kQ29sb3I7CiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJLaXQKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVt
b3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24ubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIv
U2hhcmVkL21hYy9SZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5tbQkocmV2aXNpb24gMTY1Mjk1
KQorKysgU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllclRyZWVUcmFuc2FjdGlv
bi5tbQkod29ya2luZyBjb3B5KQpAQCAtNDIzLDYgKzQyMyw3IEBAIHZvaWQgUmVtb3RlTGF5ZXJU
cmVlVHJhbnNhY3Rpb246OmVuY29kZSgKIAogICAgIGVuY29kZXIgPDwgbV9zY2FsZVdhc1NldEJ5
VUlQcm9jZXNzOwogICAgIGVuY29kZXIgPDwgbV9hbGxvd3NVc2VyU2NhbGluZzsKKyAgICBlbmNv
ZGVyIDw8IG1fcGFnZUV4dGVuZGVkQmFja2dyb3VuZENvbG9yOwogfQogCiBib29sIFJlbW90ZUxh
eWVyVHJlZVRyYW5zYWN0aW9uOjpkZWNvZGUoSVBDOjpBcmd1bWVudERlY29kZXImIGRlY29kZXIs
IFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uJiByZXN1bHQpCkBAIC00ODYsNiArNDg3LDkgQEAg
Ym9vbCBSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbjo6ZGVjb2RlKAogICAgIGlmICghZGVjb2Rl
ci5kZWNvZGUocmVzdWx0Lm1fYWxsb3dzVXNlclNjYWxpbmcpKQogICAgICAgICByZXR1cm4gZmFs
c2U7CiAKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5tX3BhZ2VFeHRlbmRlZEJhY2tn
cm91bmRDb2xvcikpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgIHJldHVybiB0cnVlOwog
fQogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCShyZXZpc2lv
biAxNjUyOTUpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgJKHdv
cmtpbmcgY29weSkKQEAgLTQyMyw3ICs0MjMsMTMgQEAgcHVibGljOgogICAgIFdlYkNvcmU6OkNv
bG9yIHVuZGVybGF5Q29sb3IoKSBjb25zdCB7IHJldHVybiBtX3VuZGVybGF5Q29sb3I7IH0KICAg
ICB2b2lkIHNldFVuZGVybGF5Q29sb3IoY29uc3QgV2ViQ29yZTo6Q29sb3ImKTsKIAorICAgIC8v
IEF0IHRoaXMgdGltZSwgbV9wYWdlRXh0ZW5kZWRCYWNrZ3JvdW5kQ29sb3IgY2FuIGJlIHNldCB2
aWEgcGFnZUV4dGVuZGVkQmFja2dyb3VuZENvbG9yRGlkQ2hhbmdlKCkgd2hpY2ggaXMgYSBtZXNz
YWdlCisgICAgLy8gZnJvbSB0aGUgVUlQcm9jZXNzLCBvciBieSBzZXRQYWdlRXh0ZW5kZWRCYWNr
Z3JvdW5kQ29sb3IoKSwgd2hpY2ggd2lsbCBiZSBjYWxsZWQgd2hlbiBhIFJlbW90ZUxheWVyVHJl
ZVRyYW5zYWN0aW9uCisgICAgLy8gaXMgY29tbWl0ZWQuIFdoZW4gUExBVEZPUk0oTUFDKSBhZG9w
dHMgVUkgc2lkZSBjb21wb3NpdGluZywgd2Ugc2hvdWxkIGdldCByaWQgb2YgdGhlIG1lc3NhZ2Ug
ZW50aXJlbHkuIEluIHRoZSBtZWFudGltZSwKKyAgICAvLyB0aGUgbWVzc2FnZSBpcyB1c2VkIHRv
IHNldCBtX3BhZ2VFeHRlbmRlZEJhY2tncm91bmRDb2xvciBvbiBNYWMsIGFuZCBzZXRQYWdlRXh0
ZW5kZWRCYWNrZ3JvdW5kQ29sb3IoKSBpcyB1c2VkIHRvIHNldAorICAgIC8vIHRoZSB2YXJpYWJs
ZSBvbiBpT1MuCiAgICAgV2ViQ29yZTo6Q29sb3IgcGFnZUV4dGVuZGVkQmFja2dyb3VuZENvbG9y
KCkgY29uc3QgeyByZXR1cm4gbV9wYWdlRXh0ZW5kZWRCYWNrZ3JvdW5kQ29sb3I7IH0KKyAgICB2
b2lkIHNldFBhZ2VFeHRlbmRlZEJhY2tncm91bmRDb2xvcihjb25zdCBXZWJDb3JlOjpDb2xvciYg
Y29sb3IpIHsgbV9wYWdlRXh0ZW5kZWRCYWNrZ3JvdW5kQ29sb3IgPSBjb2xvcjsgfQogCiAgICAg
dm9pZCB2aWV3V2lsbFN0YXJ0TGl2ZVJlc2l6ZSgpOwogICAgIHZvaWQgdmlld1dpbGxFbmRMaXZl
UmVzaXplKCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vi
Vmlldy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLV2ViVmlldy5tbQkocmV2aXNpb24gMTY1Mjk1KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0JKHdvcmtpbmcgY29weSkKQEAgLTMzNSw2ICszMzUs
MTQgQEAgLSAodm9pZClfZGlkQ29tbWl0TGF5ZXJUcmVlOihjb25zdCBXZWJLaQogICAgIGlmICgh
bGF5ZXJUcmVlVHJhbnNhY3Rpb24uc2NhbGVXYXNTZXRCeVVJUHJvY2VzcygpICYmICFbX3Njcm9s
bFZpZXcgaXNab29taW5nXSAmJiAhW19zY3JvbGxWaWV3IGlzWm9vbUJvdW5jaW5nXSAmJiAhW19z
Y3JvbGxWaWV3IF9pc0FuaW1hdGluZ1pvb21dKQogICAgICAgICBbX3Njcm9sbFZpZXcgc2V0Wm9v
bVNjYWxlOmxheWVyVHJlZVRyYW5zYWN0aW9uLnBhZ2VTY2FsZUZhY3RvcigpXTsKIAorICAgIC8v
IFdlYlBhZ2VQcm94eSBtYW5hZ2VzIHRoZSBwYWdlRXh0ZW5kZWRCYWNrZ3JvdW5kQ29sb3Igc2lu
Y2UsIGF0IHRoaXMgdGltZSwgaXQgY2FuIGJlIHNldCB2aWEgYSBtZXNzZ2UKKyAgICAvLyBvciB0
aGlzIFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLgorICAgIF9wYWdlLT5zZXRQYWdlRXh0ZW5k
ZWRCYWNrZ3JvdW5kQ29sb3IobGF5ZXJUcmVlVHJhbnNhY3Rpb24ucGFnZUV4dGVuZGVkQmFja2dy
b3VuZENvbG9yKCkpOworICAgIGlmIChVSUNvbG9yICpwYWdlRXh0ZW5kZWRCYWNrZ3JvdW5kQ29s
b3IgPSBbc2VsZiBfcGFnZUV4dGVuZGVkQmFja2dyb3VuZENvbG9yXSkgeworICAgICAgICBpZiAo
W3NlbGYgX2JhY2tncm91bmRFeHRlbmRzQmV5b25kUGFnZV0gJiYgcGFnZUV4dGVuZGVkQmFja2dy
b3VuZENvbG9yICE9IFtfc2Nyb2xsVmlldyBiYWNrZ3JvdW5kQ29sb3JdKQorICAgICAgICAgICAg
W19zY3JvbGxWaWV3IHNldEJhY2tncm91bmRDb2xvcjpwYWdlRXh0ZW5kZWRCYWNrZ3JvdW5kQ29s
b3JdOworICAgIH0KKwogICAgIGlmIChfZ2VzdHVyZUNvbnRyb2xsZXIpCiAgICAgICAgIF9nZXN0
dXJlQ29udHJvbGxlci0+c2V0UmVuZGVyVHJlZVNpemUobGF5ZXJUcmVlVHJhbnNhY3Rpb24ucmVu
ZGVyVHJlZVNpemUoKSk7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAJKHJldmlzaW9u
IDE2NTI5NSkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODcyLDcgKzg3MiwxMiBAQCBDb2xv
ciBXZWJDaHJvbWVDbGllbnQ6OnVuZGVybGF5Q29sb3IoKSBjCiAKIHZvaWQgV2ViQ2hyb21lQ2xp
ZW50OjpwYWdlRXh0ZW5kZWRCYWNrZ3JvdW5kQ29sb3JEaWRDaGFuZ2UoQ29sb3IgYmFja2dyb3Vu
ZENvbG9yKSBjb25zdAogeworI2lmIFBMQVRGT1JNKE1BQykKICAgICBtX3BhZ2UtPnNlbmQoTWVz
c2FnZXM6OldlYlBhZ2VQcm94eTo6UGFnZUV4dGVuZGVkQmFja2dyb3VuZENvbG9yRGlkQ2hhbmdl
KGJhY2tncm91bmRDb2xvcikpOworI2Vsc2VpZiBQTEFURk9STShJT1MpCisgICAgVU5VU0VEX1BB
UkFNKGJhY2tncm91bmRDb2xvcik7CisgICAgc2NoZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1c2go
KTsKKyNlbmRpZgogfQogCiB2b2lkIFdlYkNocm9tZUNsaWVudDo6bnVtV2hlZWxFdmVudEhhbmRs
ZXJzQ2hhbmdlZCh1bnNpZ25lZCBjb3VudCkKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAJKHJldmlzaW9uIDE2NTI5NSkKKysrIFNvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MjYzMiw2ICsyNjMyLDcgQEAgdm9pZCBXZWJQYWdlOjp3aWxsQ29tbWl0TGF5ZXJUcmVlKFJlbW90
ZQogICAgIGxheWVyVHJhbnNhY3Rpb24uc2V0Q29udGVudHNTaXplKGNvcmVQYWdlKCktPm1haW5G
cmFtZSgpLnZpZXcoKS0+Y29udGVudHNTaXplKCkpOwogICAgIGxheWVyVHJhbnNhY3Rpb24uc2V0
UGFnZVNjYWxlRmFjdG9yKGNvcmVQYWdlKCktPnBhZ2VTY2FsZUZhY3RvcigpKTsKICAgICBsYXll
clRyYW5zYWN0aW9uLnNldFJlbmRlclRyZWVTaXplKGNvcmVQYWdlKCktPnJlbmRlclRyZWVTaXpl
KCkpOworICAgIGxheWVyVHJhbnNhY3Rpb24uc2V0UGFnZUV4dGVuZGVkQmFja2dyb3VuZENvbG9y
KGNvcmVQYWdlKCktPnBhZ2VFeHRlbmRlZEJhY2tncm91bmRDb2xvcigpKTsKICNpZiBQTEFURk9S
TShJT1MpCiAgICAgbGF5ZXJUcmFuc2FjdGlvbi5zZXRMYXN0VmlzaWJsZUNvbnRlbnRSZWN0VXBk
YXRlSUQobV9sYXN0VmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSUQpOwogICAgIGxheWVyVHJhbnNh
Y3Rpb24uc2V0U2NhbGVXYXNTZXRCeVVJUHJvY2VzcyhzY2FsZVdhc1NldEJ5VUlQcm9jZXNzKCkp
Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>226181</attachid>
            <date>2014-03-07 16:06:03 -0800</date>
            <delta_ts>2014-03-07 16:45:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>for-review-2.txt</filename>
            <type>text/plain</type>
            <size>11345</size>
            <attacher name="Beth Dakin">bdakin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2NTI5NykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDE0LTAzLTA3ICBCZXRoIERh
a2luICA8YmRha2luQGFwcGxlLmNvbT4KKworICAgICAgICBTZXQgYmFja2dyb3VuZCBjb2xvciBv
ZiBXSzIncyBVSVNjcm9sbFZpZXcgdG8gdGhlIHBhZ2VFeHRlbmRlZEJhY2tncm91bmRDb2xvcgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI5OTE5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV0syIG5lZWRz
IHRvIGJlIGFibGUgdG8gYXNrIGZvciB0aGUgcGFnZUV4dGVuZGVkQmFja2dyb3VuZENvbG9yLCBz
byB0aGlzIHBhdGNoIAorICAgICAgICBhZGRzIGEgZnVuY3Rpb24gdG8gUGFnZSB0aGF0IHdpbGwg
cmV0dXJuIGl0LgorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogcGFnZS9Q
YWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnBhZ2VFeHRlbmRlZEJhY2tncm91bmRD
b2xvcik6CisgICAgICAgICogcGFnZS9QYWdlLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ckxheWVyQ29tcG9zaXRvci5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3Np
dG9yOjpyb290RXh0ZW5kZWRCYWNrZ3JvdW5kQ29sb3IpOgorCiAyMDE0LTAzLTA3ICBBbmRyZWFz
IEtsaW5nICA8YWtsaW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBbTWFjXSBOb3RpZnkgc3lzdGVt
IG1hbGxvYyBvZiBmYWtlIG1lbW9yeSBwcmVzc3VyZS4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZXhwLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmlu
CShyZXZpc2lvbiAxNjUyOTUpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgkod29y
a2luZyBjb3B5KQpAQCAtMTc3NSw2ICsxNzc1LDcgQEAgX19aTks3V2ViQ29yZTRQYWdlMTRyZW5k
ZXJUcmVlU2l6ZUV2CiBfX1pOSzdXZWJDb3JlNFBhZ2UxNXZpc2liaWxpdHlTdGF0ZUV2CiBfX1pO
SzdXZWJDb3JlNFBhZ2UxNmhhc1NlZW5BbnlQbHVnaW5FdgogX19aTks3V2ViQ29yZTRQYWdlMTd2
aWV3cG9ydEFyZ3VtZW50c0V2CitfX1pOSzdXZWJDb3JlNFBhZ2UyN3BhZ2VFeHRlbmRlZEJhY2tn
cm91bmRDb2xvckV2CiBfX1pOSzdXZWJDb3JlNFBhZ2UzNGluTG93UXVhbGl0eUltYWdlSW50ZXJw
b2xhdGlvbk1vZGVFdgogX19aTks3V2ViQ29yZTRQYWdlOWdyb3VwTmFtZUV2CiBfX1pOSzdXZWJD
b3JlNFBhZ2U5cGFnZUNvdW50RXYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAkocmV2aXNpb24gMTY1
Mjk1KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTI3MSw2ICsxMjcxLDE5IEBAIHZvaWQgUGFnZTo6cmVtb3ZlTGF5b3V0TWlsZXN0b25lcyhMYXlv
dXQKICAgICBtX3JlcXVlc3RlZExheW91dE1pbGVzdG9uZXMgJj0gfm1pbGVzdG9uZXM7CiB9CiAK
K0NvbG9yIFBhZ2U6OnBhZ2VFeHRlbmRlZEJhY2tncm91bmRDb2xvcigpIGNvbnN0Cit7CisgICAg
RnJhbWVWaWV3KiBmcmFtZVZpZXcgPSBtYWluRnJhbWUoKS52aWV3KCk7CisgICAgaWYgKCFmcmFt
ZVZpZXcpCisgICAgICAgIHJldHVybiBDb2xvcigpOworCisgICAgUmVuZGVyVmlldyogcmVuZGVy
VmlldyA9IGZyYW1lVmlldy0+cmVuZGVyVmlldygpOworICAgIGlmICghcmVuZGVyVmlldykKKyAg
ICAgICAgcmV0dXJuIENvbG9yKCk7CisKKyAgICByZXR1cm4gcmVuZGVyVmlldy0+Y29tcG9zaXRv
cigpLnJvb3RFeHRlbmRlZEJhY2tncm91bmRDb2xvcigpOworfQorCiAvLyBUaGVzZSBhcmUgbWFn
aWNhbCBjb25zdGFudHMgdGhhdCBtaWdodCBiZSB0d2Vha2VkIG92ZXIgdGltZS4KIHN0YXRpYyBk
b3VibGUgZ01pbmltdW1QYWludGVkQXJlYVJhdGlvID0gMC4xOwogc3RhdGljIGRvdWJsZSBnTWF4
aW11bVVucGFpbnRlZEFyZWFSYXRpbyA9IDAuMDQ7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdl
L1BhZ2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAkocmV2aXNp
b24gMTY1Mjk1KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgJKHdvcmtpbmcgY29weSkK
QEAgLTYyLDYgKzYyLDcgQEAgY2xhc3MgQmFja0ZvcndhcmRDbGllbnQ7CiBjbGFzcyBDaHJvbWU7
CiBjbGFzcyBDaHJvbWVDbGllbnQ7CiBjbGFzcyBDbGllbnRSZWN0TGlzdDsKK2NsYXNzIENvbG9y
OwogY2xhc3MgQ29udGV4dE1lbnVDbGllbnQ7CiBjbGFzcyBDb250ZXh0TWVudUNvbnRyb2xsZXI7
CiBjbGFzcyBEb2N1bWVudDsKQEAgLTM1NSw2ICszNTYsOCBAQCBwdWJsaWM6CiAgICAgaW50IGhl
YWRlckhlaWdodCgpIGNvbnN0IHsgcmV0dXJuIG1faGVhZGVySGVpZ2h0OyB9CiAgICAgaW50IGZv
b3RlckhlaWdodCgpIGNvbnN0IHsgcmV0dXJuIG1fZm9vdGVySGVpZ2h0OyB9CiAKKyAgICBDb2xv
ciBwYWdlRXh0ZW5kZWRCYWNrZ3JvdW5kQ29sb3IoKSBjb25zdDsKKwogICAgIGJvb2wgaXNDb3Vu
dGluZ1JlbGV2YW50UmVwYWludGVkT2JqZWN0cygpIGNvbnN0OwogICAgIHZvaWQgc3RhcnRDb3Vu
dGluZ1JlbGV2YW50UmVwYWludGVkT2JqZWN0cygpOwogICAgIHZvaWQgcmVzZXRSZWxldmFudFBh
aW50ZWRPYmplY3RDb3VudGVyKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJDb21wb3NpdG9yLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oCShyZXZpc2lvbiAxNjUyOTUpCisrKyBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmgJKHdvcmtpbmcgY29weSkK
QEAgLTI5Nyw2ICsyOTcsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaWRQYWludEJhY2tpbmcoUmVu
ZGVyTGF5ZXJCYWNraW5nKik7CiAKICAgICB2b2lkIHNldFJvb3RFeHRlbmRlZEJhY2tncm91bmRD
b2xvcihjb25zdCBDb2xvciYpOworICAgIENvbG9yIHJvb3RFeHRlbmRlZEJhY2tncm91bmRDb2xv
cigpIGNvbnN0IHsgcmV0dXJuIG1fcm9vdEV4dGVuZGVkQmFja2dyb3VuZENvbG9yOyB9CiAKIHBy
aXZhdGU6CiAgICAgY2xhc3MgT3ZlcmxhcE1hcDsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2
NTI5NSkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDMyIEBACisyMDE0LTAzLTA3ICBCZXRoIERha2luICA8YmRha2luQGFwcGxlLmNvbT4KKwor
ICAgICAgICBTZXQgYmFja2dyb3VuZCBjb2xvciBvZiBXSzIncyBVSVNjcm9sbFZpZXcgdG8gdGhl
IHBhZ2VFeHRlbmRlZEJhY2tncm91bmRDb2xvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI5OTE5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgTWFrZSB0aGUgcGFnZUV4dGVuZGVkQmFja2dyb3VuZENvbG9y
IHBhcnQgb2YgYSBSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi4KKyAgICAgICAgKiBTaGFyZWQv
bWFjL1JlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLmg6CisgICAgICAgIChXZWJLaXQ6OlJlbW90
ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjpwYWdlRXh0ZW5kZWRCYWNrZ3JvdW5kQ29sb3IpOgorICAg
ICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbjo6c2V0UGFnZUV4dGVuZGVk
QmFja2dyb3VuZENvbG9yKToKKyAgICAgICAgKiBTaGFyZWQvbWFjL1JlbW90ZUxheWVyVHJlZVRy
YW5zYWN0aW9uLm1tOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlv
bjo6ZW5jb2RlKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb246
OmRlY29kZSk6CisKKyAgICAgICAgU2V0IHRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBVSVNj
cm9sbFZpZXcgYmFzZWQgb24gdGhlIAorICAgICAgICBwYWdlRXh0ZW5kZWRCYWNrZ3JvdW5kQ29s
b3IuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAg
ICgtW1dLV2ViVmlldyBfZGlkQ29tbWl0TGF5ZXJUcmVlOldlYktpdDo6XSk6CisKKyAgICAgICAg
Rm9yIHRoZSBzYWtlIG9mIFBMQVRGT1JNKE1BQyksIGNvbnRpbnVlIHRvIHN1cHBvcnQgdGhlIGZh
Y3QgdGhhdCB0aGlzIGNvbG9yIGNhbiBiZSAKKyAgICAgICAgc2V0IHZpYSBhIG1lc3NhZ2UgZnJv
bSB0aGUgV2ViUHJvY2VzcyBvciB0aGUgbmV3IFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLgor
ICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZVByb3h5OjpzZXRQYWdlRXh0ZW5kZWRCYWNrZ3JvdW5kQ29sb3IpOgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViQ2hyb21lQ2xpZW50OjpwYWdlRXh0ZW5kZWRCYWNrZ3JvdW5kQ29sb3JEaWRDaGFu
Z2UpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViUGFnZTo6d2lsbENvbW1pdExheWVyVHJlZSk6CisKIDIwMTQtMDMtMDcgIEFu
ZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIEluc3RhbGwgV2Vi
S2l0MiBYUEMgc2VydmljZXMgdG8gdGhlIGNvcnJlY3QgcGxhY2UgZHVyaW5nIGlPUyBTaW11bGF0
b3IgYnVpbGRzCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyVHJl
ZVRyYW5zYWN0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9S
ZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5oCShyZXZpc2lvbiAxNjUyOTUpCisrKyBTb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTE4Niw2ICsxODYsOSBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1ZpZGVvTGF5ZXJJ
RFBlbmRpbmdGdWxsc2NyZWVuKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OlBsYXRmb3JtTGF5ZXJJ
RCBsYXllcklEKSBjb25zdCB7IHJldHVybiBtX3ZpZGVvTGF5ZXJJRHNQZW5kaW5nRnVsbHNjcmVl
bi5jb250YWlucyhsYXllcklEKTsgfQogICAgIHZvaWQgYWRkVmlkZW9MYXllcklEUGVuZGluZ0Z1
bGxzY3JlZW4oV2ViQ29yZTo6R3JhcGhpY3NMYXllcjo6UGxhdGZvcm1MYXllcklEIGxheWVySUQp
IHsgbV92aWRlb0xheWVySURzUGVuZGluZ0Z1bGxzY3JlZW4uYXBwZW5kKGxheWVySUQpOyB9CiAK
KyAgICBXZWJDb3JlOjpDb2xvciBwYWdlRXh0ZW5kZWRCYWNrZ3JvdW5kQ29sb3IoKSBjb25zdCB7
IHJldHVybiBtX3BhZ2VFeHRlbmRlZEJhY2tncm91bmRDb2xvcjsgfQorICAgIHZvaWQgc2V0UGFn
ZUV4dGVuZGVkQmFja2dyb3VuZENvbG9yKFdlYkNvcmU6OkNvbG9yIGNvbG9yKSB7IG1fcGFnZUV4
dGVuZGVkQmFja2dyb3VuZENvbG9yID0gY29sb3I7IH0KKwogcHJpdmF0ZToKICAgICBXZWJDb3Jl
OjpHcmFwaGljc0xheWVyOjpQbGF0Zm9ybUxheWVySUQgbV9yb290TGF5ZXJJRDsKICAgICBMYXll
clByb3BlcnRpZXNNYXAgbV9jaGFuZ2VkTGF5ZXJQcm9wZXJ0aWVzOwpAQCAtMjAxLDYgKzIwNCw3
IEBAIHByaXZhdGU6CiAgICAgdWludDY0X3QgbV9yZW5kZXJUcmVlU2l6ZTsKICAgICBib29sIG1f
c2NhbGVXYXNTZXRCeVVJUHJvY2VzczsKICAgICBib29sIG1fYWxsb3dzVXNlclNjYWxpbmc7Cisg
ICAgV2ViQ29yZTo6Q29sb3IgbV9wYWdlRXh0ZW5kZWRCYWNrZ3JvdW5kQ29sb3I7CiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJLaXQKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVt
b3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24ubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIv
U2hhcmVkL21hYy9SZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5tbQkocmV2aXNpb24gMTY1Mjk1
KQorKysgU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllclRyZWVUcmFuc2FjdGlv
bi5tbQkod29ya2luZyBjb3B5KQpAQCAtNDIzLDYgKzQyMyw3IEBAIHZvaWQgUmVtb3RlTGF5ZXJU
cmVlVHJhbnNhY3Rpb246OmVuY29kZSgKIAogICAgIGVuY29kZXIgPDwgbV9zY2FsZVdhc1NldEJ5
VUlQcm9jZXNzOwogICAgIGVuY29kZXIgPDwgbV9hbGxvd3NVc2VyU2NhbGluZzsKKyAgICBlbmNv
ZGVyIDw8IG1fcGFnZUV4dGVuZGVkQmFja2dyb3VuZENvbG9yOwogfQogCiBib29sIFJlbW90ZUxh
eWVyVHJlZVRyYW5zYWN0aW9uOjpkZWNvZGUoSVBDOjpBcmd1bWVudERlY29kZXImIGRlY29kZXIs
IFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uJiByZXN1bHQpCkBAIC00ODYsNiArNDg3LDkgQEAg
Ym9vbCBSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbjo6ZGVjb2RlKAogICAgIGlmICghZGVjb2Rl
ci5kZWNvZGUocmVzdWx0Lm1fYWxsb3dzVXNlclNjYWxpbmcpKQogICAgICAgICByZXR1cm4gZmFs
c2U7CiAKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5tX3BhZ2VFeHRlbmRlZEJhY2tn
cm91bmRDb2xvcikpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgIHJldHVybiB0cnVlOwog
fQogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCShyZXZpc2lv
biAxNjUyOTUpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgJKHdv
cmtpbmcgY29weSkKQEAgLTQyMyw3ICs0MjMsMTMgQEAgcHVibGljOgogICAgIFdlYkNvcmU6OkNv
bG9yIHVuZGVybGF5Q29sb3IoKSBjb25zdCB7IHJldHVybiBtX3VuZGVybGF5Q29sb3I7IH0KICAg
ICB2b2lkIHNldFVuZGVybGF5Q29sb3IoY29uc3QgV2ViQ29yZTo6Q29sb3ImKTsKIAorICAgIC8v
IEF0IHRoaXMgdGltZSwgbV9wYWdlRXh0ZW5kZWRCYWNrZ3JvdW5kQ29sb3IgY2FuIGJlIHNldCB2
aWEgcGFnZUV4dGVuZGVkQmFja2dyb3VuZENvbG9yRGlkQ2hhbmdlKCkgd2hpY2ggaXMgYSBtZXNz
YWdlCisgICAgLy8gZnJvbSB0aGUgVUlQcm9jZXNzLCBvciBieSBzZXRQYWdlRXh0ZW5kZWRCYWNr
Z3JvdW5kQ29sb3IoKSwgd2hpY2ggd2lsbCBiZSBjYWxsZWQgd2hlbiBhIFJlbW90ZUxheWVyVHJl
ZVRyYW5zYWN0aW9uCisgICAgLy8gaXMgY29tbWl0ZWQuIFdoZW4gUExBVEZPUk0oTUFDKSBhZG9w
dHMgVUkgc2lkZSBjb21wb3NpdGluZywgd2Ugc2hvdWxkIGdldCByaWQgb2YgdGhlIG1lc3NhZ2Ug
ZW50aXJlbHkuIEluIHRoZSBtZWFudGltZSwKKyAgICAvLyB0aGUgbWVzc2FnZSBpcyB1c2VkIHRv
IHNldCBtX3BhZ2VFeHRlbmRlZEJhY2tncm91bmRDb2xvciBvbiBNYWMsIGFuZCBzZXRQYWdlRXh0
ZW5kZWRCYWNrZ3JvdW5kQ29sb3IoKSBpcyB1c2VkIHRvIHNldAorICAgIC8vIHRoZSB2YXJpYWJs
ZSBvbiBpT1MuCiAgICAgV2ViQ29yZTo6Q29sb3IgcGFnZUV4dGVuZGVkQmFja2dyb3VuZENvbG9y
KCkgY29uc3QgeyByZXR1cm4gbV9wYWdlRXh0ZW5kZWRCYWNrZ3JvdW5kQ29sb3I7IH0KKyAgICB2
b2lkIHNldFBhZ2VFeHRlbmRlZEJhY2tncm91bmRDb2xvcihjb25zdCBXZWJDb3JlOjpDb2xvciYg
Y29sb3IpIHsgbV9wYWdlRXh0ZW5kZWRCYWNrZ3JvdW5kQ29sb3IgPSBjb2xvcjsgfQogCiAgICAg
dm9pZCB2aWV3V2lsbFN0YXJ0TGl2ZVJlc2l6ZSgpOwogICAgIHZvaWQgdmlld1dpbGxFbmRMaXZl
UmVzaXplKCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vi
Vmlldy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLV2ViVmlldy5tbQkocmV2aXNpb24gMTY1Mjk1KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0JKHdvcmtpbmcgY29weSkKQEAgLTMzNSw2ICszMzUs
MTQgQEAgLSAodm9pZClfZGlkQ29tbWl0TGF5ZXJUcmVlOihjb25zdCBXZWJLaQogICAgIGlmICgh
bGF5ZXJUcmVlVHJhbnNhY3Rpb24uc2NhbGVXYXNTZXRCeVVJUHJvY2VzcygpICYmICFbX3Njcm9s
bFZpZXcgaXNab29taW5nXSAmJiAhW19zY3JvbGxWaWV3IGlzWm9vbUJvdW5jaW5nXSAmJiAhW19z
Y3JvbGxWaWV3IF9pc0FuaW1hdGluZ1pvb21dKQogICAgICAgICBbX3Njcm9sbFZpZXcgc2V0Wm9v
bVNjYWxlOmxheWVyVHJlZVRyYW5zYWN0aW9uLnBhZ2VTY2FsZUZhY3RvcigpXTsKIAorICAgIC8v
IFdlYlBhZ2VQcm94eSBtYW5hZ2VzIHRoZSBwYWdlRXh0ZW5kZWRCYWNrZ3JvdW5kQ29sb3Igc2lu
Y2UsIGF0IHRoaXMgdGltZSwgaXQgY2FuIGJlIHNldCB2aWEgYSBtZXNzZ2UKKyAgICAvLyBvciB0
aGlzIFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLgorICAgIF9wYWdlLT5zZXRQYWdlRXh0ZW5k
ZWRCYWNrZ3JvdW5kQ29sb3IobGF5ZXJUcmVlVHJhbnNhY3Rpb24ucGFnZUV4dGVuZGVkQmFja2dy
b3VuZENvbG9yKCkpOworICAgIGlmIChVSUNvbG9yICpwYWdlRXh0ZW5kZWRCYWNrZ3JvdW5kQ29s
b3IgPSBbc2VsZiBfcGFnZUV4dGVuZGVkQmFja2dyb3VuZENvbG9yXSkgeworICAgICAgICBpZiAo
W3NlbGYgX2JhY2tncm91bmRFeHRlbmRzQmV5b25kUGFnZV0gJiYgcGFnZUV4dGVuZGVkQmFja2dy
b3VuZENvbG9yICE9IFtfc2Nyb2xsVmlldyBiYWNrZ3JvdW5kQ29sb3JdKQorICAgICAgICAgICAg
W19zY3JvbGxWaWV3IHNldEJhY2tncm91bmRDb2xvcjpwYWdlRXh0ZW5kZWRCYWNrZ3JvdW5kQ29s
b3JdOworICAgIH0KKwogICAgIGlmIChfZ2VzdHVyZUNvbnRyb2xsZXIpCiAgICAgICAgIF9nZXN0
dXJlQ29udHJvbGxlci0+c2V0UmVuZGVyVHJlZVNpemUobGF5ZXJUcmVlVHJhbnNhY3Rpb24ucmVu
ZGVyVHJlZVNpemUoKSk7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAJKHJldmlzaW9u
IDE2NTI5NSkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODcyLDcgKzg3MiwxMyBAQCBDb2xv
ciBXZWJDaHJvbWVDbGllbnQ6OnVuZGVybGF5Q29sb3IoKSBjCiAKIHZvaWQgV2ViQ2hyb21lQ2xp
ZW50OjpwYWdlRXh0ZW5kZWRCYWNrZ3JvdW5kQ29sb3JEaWRDaGFuZ2UoQ29sb3IgYmFja2dyb3Vu
ZENvbG9yKSBjb25zdAogeworI2lmIFBMQVRGT1JNKE1BQykKICAgICBtX3BhZ2UtPnNlbmQoTWVz
c2FnZXM6OldlYlBhZ2VQcm94eTo6UGFnZUV4dGVuZGVkQmFja2dyb3VuZENvbG9yRGlkQ2hhbmdl
KGJhY2tncm91bmRDb2xvcikpOworI2VsaWYgUExBVEZPUk0oSU9TKQorICAgIFVOVVNFRF9QQVJB
TShiYWNrZ3JvdW5kQ29sb3IpOworICAgIGlmIChtX3BhZ2UtPmRyYXdpbmdBcmVhKCkpCisgICAg
ICAgIG1fcGFnZS0+ZHJhd2luZ0FyZWEoKS0+c2NoZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1c2go
KTsKKyNlbmRpZgogfQogCiB2b2lkIFdlYkNocm9tZUNsaWVudDo6bnVtV2hlZWxFdmVudEhhbmRs
ZXJzQ2hhbmdlZCh1bnNpZ25lZCBjb3VudCkKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAJKHJldmlzaW9uIDE2NTI5NSkKKysrIFNvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MjYzMiw2ICsyNjMyLDcgQEAgdm9pZCBXZWJQYWdlOjp3aWxsQ29tbWl0TGF5ZXJUcmVlKFJlbW90
ZQogICAgIGxheWVyVHJhbnNhY3Rpb24uc2V0Q29udGVudHNTaXplKGNvcmVQYWdlKCktPm1haW5G
cmFtZSgpLnZpZXcoKS0+Y29udGVudHNTaXplKCkpOwogICAgIGxheWVyVHJhbnNhY3Rpb24uc2V0
UGFnZVNjYWxlRmFjdG9yKGNvcmVQYWdlKCktPnBhZ2VTY2FsZUZhY3RvcigpKTsKICAgICBsYXll
clRyYW5zYWN0aW9uLnNldFJlbmRlclRyZWVTaXplKGNvcmVQYWdlKCktPnJlbmRlclRyZWVTaXpl
KCkpOworICAgIGxheWVyVHJhbnNhY3Rpb24uc2V0UGFnZUV4dGVuZGVkQmFja2dyb3VuZENvbG9y
KGNvcmVQYWdlKCktPnBhZ2VFeHRlbmRlZEJhY2tncm91bmRDb2xvcigpKTsKICNpZiBQTEFURk9S
TShJT1MpCiAgICAgbGF5ZXJUcmFuc2FjdGlvbi5zZXRMYXN0VmlzaWJsZUNvbnRlbnRSZWN0VXBk
YXRlSUQobV9sYXN0VmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSUQpOwogICAgIGxheWVyVHJhbnNh
Y3Rpb24uc2V0U2NhbGVXYXNTZXRCeVVJUHJvY2VzcyhzY2FsZVdhc1NldEJ5VUlQcm9jZXNzKCkp
Owo=
</data>
<flag name="review"
          id="250383"
          type_id="1"
          status="+"
          setter="benjamin"
    />
          </attachment>
      

    </bug>

</bugzilla>