<?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>135010</bug_id>
          
          <creation_ts>2014-07-16 22:59:10 -0700</creation_ts>
          <short_desc>[iOS][WK2] Add SPI to do a dynamic viewport update without showing any content</short_desc>
          <delta_ts>2014-07-17 15:09:10 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          <cc>ian</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1022963</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-07-16 22:59:10 -0700</bug_when>
    <thetext>[iOS][WK2] Add SPI to do a dynamic viewport update without showing any content</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1022967</commentid>
    <comment_count>1</comment_count>
      <attachid>235053</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-07-16 23:16:23 -0700</bug_when>
    <thetext>Created attachment 235053
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1022968</commentid>
    <comment_count>2</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-07-16 23:17:37 -0700</bug_when>
    <thetext>I welcome any better name for the SPI :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1022999</commentid>
    <comment_count>3</comment_count>
    <who name="Ian Henderson">ian</who>
    <bug_when>2014-07-17 04:16:07 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; I welcome any better name for the SPI :)

Maybe _resizeImmediatelyWithUpdates:?  Or just _resizeWithUpdates:?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1023012</commentid>
    <comment_count>4</comment_count>
      <attachid>235053</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-07-17 08:59:32 -0700</bug_when>
    <thetext>Comment on attachment 235053
Patch

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

&gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm:169
&gt; +    BOOL _hasCommitedAnyPageLoad;

Spelling error in this. The word committed has two &quot;t&quot;s.

&gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm:173
&gt; +    BOOL _isResizingWithDynamicViewportUpdate;
&gt; +    BOOL _isDocumentHiddenDuringResize;

This would be better as a single field with three values. NotResizing, ResizingWithAnimation, or ResizingWithDocumentHidden.

The flag _isDocumentHiddenDuringResize means nothing unless _isResizingWithDynamicViewportUpdate is also YES, but the _beginAnimatedResizeWithUpdates method relies on _isDocumentHiddenDuringResize being NO already. 

Another possibility is to not have the _isDocumentHiddenDuringResize flag at all, since we can tell if the content view is hidden by calling [_contentView hidden]. Can&apos;t think of a good reason to keep our own separate copy of that state.

&gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm:776
&gt; +    _hasCommitedAnyPageLoad = YES;

I think _hasCommittedLoadForMainFrame would be a better name since it matches the method name. No reason to use similar but different terminology for the same concept.

&gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm:2287
&gt; +    [self _beginAnimatedResizeWithUpdates:updateBlock];

I think it’s strange that you went to the trouble to rename _isAnimatingResize but not to rename these methods, but the methods are used in both cases; presumably because the methods are directly exposed as SPI. I’m not sure the renaming is necessary. Treating the hidden document version as a special case of animating resizing seems OK to me.

&gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h:140
&gt; +- (void)_resizeWhileHiddingContentWithUpdates:(void (^)(void))updateBlock;

Spelling mistake here. The word hiding has only one &quot;d&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1023096</commentid>
    <comment_count>5</comment_count>
      <attachid>235091</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-07-17 14:08:14 -0700</bug_when>
    <thetext>Created attachment 235091
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1023104</commentid>
    <comment_count>6</comment_count>
      <attachid>235091</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-07-17 14:18:50 -0700</bug_when>
    <thetext>Comment on attachment 235091
Patch

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

Seems fine to me. Too bad the mechanism I added in r171191 to hide the content until the next commit didn&apos;t also work to hide the content until an arbitrary commit ID too. I suppose you might have non-Web-layer-tree WKContentView children that you want to (and do) hide as well.

&gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm:122
&gt; +enum class DynamicViewportUpdateMode {

is this a State or a Mode?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1023118</commentid>
    <comment_count>7</comment_count>
      <attachid>235091</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-07-17 15:09:07 -0700</bug_when>
    <thetext>Comment on attachment 235091
Patch

Clearing flags on attachment: 235091

Committed r171201: &lt;http://trac.webkit.org/changeset/171201&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1023119</commentid>
    <comment_count>8</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-07-17 15:09:10 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>235053</attachid>
            <date>2014-07-16 23:16:23 -0700</date>
            <delta_ts>2014-07-17 14:08:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-135010-20140716231539.patch</filename>
            <type>text/plain</type>
            <size>13284</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcxMTcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZjljYjcwOGNlZjMxMTlm
MjRkMjA1Mjg0NTA4NGFkNmIzMmJjMzhiOS4uYjc4NWEwNDE1MTBiODRmMmZkNGU0M2UyNWQwNGQ1
M2M0OWYzZDgwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDE0LTA3LTE2ICBCZW5q
YW1pbiBQb3VsYWluICA8YmVuamFtaW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBbaU9TXVtXSzJd
IEFkZCBTUEkgdG8gZG8gYSBkeW5hbWljIHZpZXdwb3J0IHVwZGF0ZSB3aXRob3V0IHNob3dpbmcg
YW55IGNvbnRlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEzNTAxMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRoaXMgcGF0Y2ggYWRkIGEgbmV3IFNQSSwgW1dLV2ViVmlldyBfcmVzaXplV2hpbGVIaWRk
aW5nQ29udGVudFdpdGhVcGRhdGVzOl0gdG8gcGVyZm9ybSBhbGwgdGhlIHdvcmsKKyAgICAgICAg
b2YgYSBkeW5hbWljIHZpZXdwb3J0IHNpemUgdXBkYXRlLCBidXQgaW5zdGVhZCBvZiBhbmltYXRp
bmcgdGhlIG9sZCBjb250ZW50LCBpdCBpcyBoaWRkZW4uCisKKyAgICAgICAgVGhlIHBhdGNoIGlz
IGJ1aWx0IG9uIHRvcCBvZiB0aGUgYW5pbWF0ZWQgcmVzaXplIG1lY2hhbmlzbS4gSW5zdGVhZCBv
ZiBoYXZpbmcgYW4gYW5pbWF0aW9uIGRyaXZpbmcKKyAgICAgICAgdGhlIGJlZ2lubmluZyBhbmQg
ZW5kLCB3ZSBsZXQgdGhlIGNvbnRlbnQgZG8gdGhhdC4gVGhlIGR5bmFtaWMgcmVzaXplIGJlZ2lu
cywgaXQgcnVucyBmb3IgYXMgbG9uZyBhcworICAgICAgICB0aGUgV2ViUHJvY2VzcyBuZWVkcywg
YW5kIGl0IGVuZHMgd2hlbiBmaXJzdCBsYXllciB0cmVlIGNvbW1pdCB3aXRoIHRoZSBuZXcgY29u
dGVudCBpcyBwcm9jZXNzZWQuCisKKyAgICAgICAgVGhlIGF0dHJpYnV0ZSAiX2lzQW5pbWF0aW5n
UmVzaXplIiBpcyByZW5hbWVkICJfaXNSZXNpemluZ1dpdGhEeW5hbWljVmlld3BvcnRVcGRhdGUi
IHRvIGF2b2lkIGNvbmZ1c2lvbgorICAgICAgICBhcyB0aGlzIGJhcnJpZXIgaXMgdXNlZCBieSBi
b3RoIHJlc2l6aW5nIG1vZGUuCisKKyAgICAgICAgVGhlIGF0dHJpYnV0ZSAiX2hhc0NvbW1pdGVk
QW55UGFnZUxvYWQiIGlzIHJhdGhlciBzaWxseS4gSXQgaXMgb25seSBuZWVkZWQgYmVjYXVzZQor
ICAgICAgICBbV0tXZWJWaWV3IF9yZXNpemVXaGlsZUhpZGRpbmdDb250ZW50V2l0aFVwZGF0ZXM6
XSBpcyBpbnRlbmRlZCB0byBiZSBjYWxsZWQgYSBsb3QgYmVmb3JlIHRoZSBwYWdlCisgICAgICAg
IGlzIGluaXRpYWxpemVkLCBhbmQgZG9pbmcgYW4gYW5pbWF0ZWQgcmVzaXplIHdvdWxkIHRyYXNo
IHRoZSBXZWJQcm9jZXNzIHN0YXRlLgorICAgICAgICBJIHdpc2ggSSBoYWQgYSBiZXR0ZXIgc29s
dXRpb24sIHRoaXMgaXMgbm90IGdyZWF0LgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXcubW06CisgICAgICAgICgtW1dLV2ViVmlldyBfcHJvY2Vzc0RpZEV4aXRdKToK
KyAgICAgICAgKC1bV0tXZWJWaWV3IF9kaWRDb21taXRMb2FkRm9yTWFpbkZyYW1lXSk6CisgICAg
ICAgICgtW1dLV2ViVmlldyBfZGlkQ29tbWl0TGF5ZXJUcmVlOl0pOgorICAgICAgICBUaGlzIGlz
IHRoZSBrZXkgdG8gbWFrZSB0aGlzIHdvcmsgcHJvcGVybHkuIFdlIHdhbnQgX3Jlc2l6ZVdoaWxl
SGlkZGluZ0NvbnRlbnRXaXRoVXBkYXRlczogdG8gYmVoYXZlCisgICAgICAgIGV4YWN0bHkgbGlr
ZSBhbiBhbmltYXRlZCByZXNpemUgdG8gYXZvaWQgYnVncy4gU28gd2Ugd2VudCB0byB0aGUgd2hv
bGUgdXBkYXRlIG1lY2hhbmlzbSB1c2luZworICAgICAgICBfcmVzaXplQW5pbWF0aW9uVHJhbnNm
b3JtQWRqdXN0bWVudHMgdG8gYWNjdW11bGF0ZSB0aGUgYWRqdXN0bWVudHMsIG5vdyB3ZSBuZWVk
IHRvIHJlc3RvcmUgYSBjb3JyZWN0CisgICAgICAgIHZpZXcgc3RhdGUuCisKKyAgICAgICAgQ2Fs
bGluZyBbV0tXZWJWaWV3IF9lbmRBbmltYXRlZFJlc2l6ZV0gd2lsbCBkbyBleGFjdGx5IHRoYXQs
IGJ1dCB3ZSBuZWVkIHRvIG1ha2Ugc3VyZSB3ZSBkbyBub3QgaGl0CisgICAgICAgIHRoZSBzeW5j
aHJvbml6YXRpb24gcGF0aCBvciB3ZSB3b3VsZCBiZSBibG9ja2VkIHRoZXJlIGZvciBhIHdoaWxl
LCB3aGljaCBpcyB3aGF0IHdlIGFyZSB0cnlpbmcgdG8gYXZvaWQuCisKKyAgICAgICAgQWZ0ZXIg
cjE3MTE1NCwgV2ViUGFnZVByb3h5IGtlZXBzIHRyYWNrIG9mIHdoYXQgc3RhZ2Ugb2YgZHluYW1p
YyB2aWV3cG9ydCB1cGRhdGUgd2UgYXJlIGluLiBTaW5jZSB3ZSBhcmUKKyAgICAgICAgZXhlY3V0
aW5nIHRoZSBsYXllciB0cmVlIHVwZGF0ZSBzdGFnZSwgd2l0aCB0aGUgcmlnaHQgdHJhbnNhY3Rp
b24gSUQsIFdlYlBhZ2VQcm94eSBhbHJlYWR5IGtub3dzIHdlIGhhdmUKKyAgICAgICAgZXZlcnl0
aGluZyB3ZSBuZWVkIGFuZCBkb2VzIG5vdCB1c2UgYW55IHN5bmNocm9ub3VzIG1lc3NhZ2VzLgor
CisgICAgICAgICgtW1dLV2ViVmlldyBfZHluYW1pY1ZpZXdwb3J0VXBkYXRlQ2hhbmdlZFRhcmdl
dFRvU2NhbGU6cG9zaXRpb246bmV4dFZhbGlkTGF5ZXJUcmVlVHJhbnNhY3Rpb25JRDpdKToKKyAg
ICAgICAgKC1bV0tXZWJWaWV3IF9yZXN0b3JlUGFnZVN0YXRlVG9FeHBvc2VkUmVjdDpzY2FsZTpd
KToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9yZXN0b3JlUGFnZVN0YXRlVG9Vbm9ic2N1cmVkQ2Vu
dGVyOnNjYWxlOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXcgX3Njcm9sbFRvQ29udGVudE9mZnNl
dDpdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9mcmFtZU9yQm91bmRzQ2hhbmdlZF0pOgorICAg
ICAgICAoLVtXS1dlYlZpZXcgX3VwZGF0ZVZpc2libGVDb250ZW50UmVjdHNdKToKKyAgICAgICAg
KC1bV0tXZWJWaWV3IF9zZXRNaW5pbXVtTGF5b3V0U2l6ZU92ZXJyaWRlOl0pOgorICAgICAgICAo
LVtXS1dlYlZpZXcgX3NldE1pbmltdW1MYXlvdXRTaXplT3ZlcnJpZGVGb3JNaW5pbWFsVUk6XSk6
CisgICAgICAgICgtW1dLV2ViVmlldyBfc2V0SW50ZXJmYWNlT3JpZW50YXRpb25PdmVycmlkZTpd
KToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9zZXRNYXhpbXVtVW5vYnNjdXJlZFNpemVPdmVycmlk
ZTpdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9iZWdpbkFuaW1hdGVkUmVzaXplV2l0aFVwZGF0
ZXM6XSk6CisgICAgICAgICgtW1dLV2ViVmlldyBfZW5kQW5pbWF0ZWRSZXNpemVdKToKKyAgICAg
ICAgKC1bV0tXZWJWaWV3IF9yZXNpemVXaGlsZUhpZGRpbmdDb250ZW50V2l0aFVwZGF0ZXM6XSk6
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmg6CisKIDIw
MTQtMDctMTYgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCiAgICAgICAgIFJl
aW50cm9kdWNlIHRoZSBTUEkgX3dlYnNpdGVEYXRhVVJMRm9yQ29udGFpbmVyV2l0aFVSTDogdGhh
dCB3YXMgcmVtb3ZlZCBpbiByMTcxMTYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tXZWJWaWV3Lm1tCmluZGV4IGM1OTZmYTFjZmFhZjRkNTllODQ3NmJjMzU3Njhm
ZDMwMTI5ZGVjNzQuLjE3Y2M2OGQ4NTI0N2IxMDhmNGY1ZjdmNWFmYTJiOTIzZTQ5NWM3ZmIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBA
IC0xNjYsOSArMTY2LDExIEBAIFdLV2ViVmlldyogZnJvbVdlYlBhZ2VQcm94eShXZWJLaXQ6Oldl
YlBhZ2VQcm94eSYgcGFnZSkKICAgICBVSUludGVyZmFjZU9yaWVudGF0aW9uIF9pbnRlcmZhY2VP
cmllbnRhdGlvbk92ZXJyaWRlOwogICAgIEJPT0wgX292ZXJyaWRlc0ludGVyZmFjZU9yaWVudGF0
aW9uOwogCisgICAgQk9PTCBfaGFzQ29tbWl0ZWRBbnlQYWdlTG9hZDsKICAgICBCT09MIF9uZWVk
c1Jlc2V0Vmlld1N0YXRlQWZ0ZXJDb21taXRMb2FkRm9yTWFpbkZyYW1lOwogICAgIHVpbnQ2NF90
IF9maXJzdFBhaW50QWZ0ZXJDb21taXRMb2FkVHJhbnNhY3Rpb25JRDsKLSAgICBCT09MIF9pc0Fu
aW1hdGluZ1Jlc2l6ZTsKKyAgICBCT09MIF9pc1Jlc2l6aW5nV2l0aER5bmFtaWNWaWV3cG9ydFVw
ZGF0ZTsKKyAgICBCT09MIF9pc0RvY3VtZW50SGlkZGVuRHVyaW5nUmVzaXplOwogICAgIENBVHJh
bnNmb3JtM0QgX3Jlc2l6ZUFuaW1hdGlvblRyYW5zZm9ybUFkanVzdG1lbnRzOwogICAgIHVpbnQ2
NF90IF9yZXNpemVBbmltYXRpb25UcmFuc2Zvcm1UcmFuc2FjdGlvbklEOwogICAgIFJldGFpblB0
cjxVSVZpZXc+IF9yZXNpemVBbmltYXRpb25WaWV3OwpAQCAtNzQwLDE0ICs3NDIsMTMgQEAgc3Rh
dGljIFdlYkNvcmU6OkNvbG9yIHNjcm9sbFZpZXdCYWNrZ3JvdW5kQ29sb3IoV0tXZWJWaWV3ICp3
ZWJWaWV3KQogCiAtICh2b2lkKV9wcm9jZXNzRGlkRXhpdAogewotICAgIGlmICghX2N1c3RvbUNv
bnRlbnRWaWV3ICYmIF9pc0FuaW1hdGluZ1Jlc2l6ZSkgeworICAgIGlmICghX2N1c3RvbUNvbnRl
bnRWaWV3ICYmIF9pc1Jlc2l6aW5nV2l0aER5bmFtaWNWaWV3cG9ydFVwZGF0ZSkgewogICAgICAg
ICBOU1VJbnRlZ2VyIGluZGV4T2ZSZXNpemVBbmltYXRpb25WaWV3ID0gW1tfc2Nyb2xsVmlldyBz
dWJ2aWV3c10gaW5kZXhPZk9iamVjdDpfcmVzaXplQW5pbWF0aW9uVmlldy5nZXQoKV07CiAgICAg
ICAgIFtfc2Nyb2xsVmlldyBpbnNlcnRTdWJ2aWV3Ol9jb250ZW50Vmlldy5nZXQoKSBhdEluZGV4
OmluZGV4T2ZSZXNpemVBbmltYXRpb25WaWV3XTsKICAgICAgICAgW19zY3JvbGxWaWV3IGluc2Vy
dFN1YnZpZXc6W19jb250ZW50VmlldyB1bnNjYWxlZFZpZXddIGF0SW5kZXg6aW5kZXhPZlJlc2l6
ZUFuaW1hdGlvblZpZXcgKyAxXTsKICAgICAgICAgW19yZXNpemVBbmltYXRpb25WaWV3IHJlbW92
ZUZyb21TdXBlcnZpZXddOwogICAgICAgICBfcmVzaXplQW5pbWF0aW9uVmlldyA9IG5pbDsKIAot
ICAgICAgICBfaXNBbmltYXRpbmdSZXNpemUgPSBOTzsKICAgICAgICAgX3Jlc2l6ZUFuaW1hdGlv
blRyYW5zZm9ybUFkanVzdG1lbnRzID0gQ0FUcmFuc2Zvcm0zRElkZW50aXR5OwogICAgIH0KICAg
ICBbX2NvbnRlbnRWaWV3IHNldEZyYW1lOnNlbGYuYm91bmRzXTsKQEAgLTc1Niw3ICs3NTcsMTEg
QEAgc3RhdGljIFdlYkNvcmU6OkNvbG9yIHNjcm9sbFZpZXdCYWNrZ3JvdW5kQ29sb3IoV0tXZWJW
aWV3ICp3ZWJWaWV3KQogICAgIFtfc2Nyb2xsVmlldyBzZXRab29tU2NhbGU6MV07CiAKICAgICBf
dmlld3BvcnRNZXRhVGFnV2lkdGggPSAtMTsKKyAgICBfaGFzQ29tbWl0ZWRBbnlQYWdlTG9hZCA9
IE5POwogICAgIF9uZWVkc1Jlc2V0Vmlld1N0YXRlQWZ0ZXJDb21taXRMb2FkRm9yTWFpbkZyYW1l
ID0gTk87CisgICAgX2lzUmVzaXppbmdXaXRoRHluYW1pY1ZpZXdwb3J0VXBkYXRlID0gTk87Cisg
ICAgX2lzRG9jdW1lbnRIaWRkZW5EdXJpbmdSZXNpemUgPSBOTzsKKyAgICBbX2NvbnRlbnRWaWV3
IHNldEhpZGRlbjpOT107CiAgICAgX25lZWRzVG9SZXN0b3JlRXhwb3NlZFJlY3QgPSBOTzsKICAg
ICBfbmVlZHNUb1Jlc3RvcmVVbm9ic2N1cmVkQ2VudGVyID0gTk87CiAgICAgX3Njcm9sbFZpZXdC
YWNrZ3JvdW5kQ29sb3IgPSBXZWJDb3JlOjpDb2xvcigpOwpAQCAtNzY4LDYgKzc3Myw3IEBAIHN0
YXRpYyBXZWJDb3JlOjpDb2xvciBzY3JvbGxWaWV3QmFja2dyb3VuZENvbG9yKFdLV2ViVmlldyAq
d2ViVmlldykKIHsKICAgICBfZmlyc3RQYWludEFmdGVyQ29tbWl0TG9hZFRyYW5zYWN0aW9uSUQg
PSB0b1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHkoX3BhZ2UtPmRyYXdpbmdBcmVhKCkp
LT5uZXh0TGF5ZXJUcmVlVHJhbnNhY3Rpb25JRCgpOwogCisgICAgX2hhc0NvbW1pdGVkQW55UGFn
ZUxvYWQgPSBZRVM7CiAgICAgX25lZWRzUmVzZXRWaWV3U3RhdGVBZnRlckNvbW1pdExvYWRGb3JN
YWluRnJhbWUgPSBZRVM7CiAgICAgX3VzZXNNaW5pbWFsVUkgPSBOTzsKIH0KQEAgLTgwNCw5ICs4
MTAsMTQgQEAgc3RhdGljIGlubGluZSBib29sIHdpdGhpbkVwc2lsb24oVHlwZUEgYSwgVHlwZUIg
YikKICAgICBpZiAoX2N1c3RvbUNvbnRlbnRWaWV3KQogICAgICAgICByZXR1cm47CiAKLSAgICBp
ZiAoX2lzQW5pbWF0aW5nUmVzaXplKSB7Ci0gICAgICAgIGlmIChsYXllclRyZWVUcmFuc2FjdGlv
bi50cmFuc2FjdGlvbklEKCkgPj0gX3Jlc2l6ZUFuaW1hdGlvblRyYW5zZm9ybVRyYW5zYWN0aW9u
SUQpCisgICAgaWYgKF9pc1Jlc2l6aW5nV2l0aER5bmFtaWNWaWV3cG9ydFVwZGF0ZSkgeworICAg
ICAgICBpZiAobGF5ZXJUcmVlVHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JRCgpID49IF9yZXNpemVB
bmltYXRpb25UcmFuc2Zvcm1UcmFuc2FjdGlvbklEKSB7CiAgICAgICAgICAgICBbX3Jlc2l6ZUFu
aW1hdGlvblZpZXcgbGF5ZXJdLnN1YmxheWVyVHJhbnNmb3JtID0gX3Jlc2l6ZUFuaW1hdGlvblRy
YW5zZm9ybUFkanVzdG1lbnRzOworICAgICAgICAgICAgaWYgKF9pc0RvY3VtZW50SGlkZGVuRHVy
aW5nUmVzaXplKSB7CisgICAgICAgICAgICAgICAgW19jb250ZW50VmlldyBzZXRIaWRkZW46Tk9d
OworICAgICAgICAgICAgICAgIFtzZWxmIF9lbmRBbmltYXRlZFJlc2l6ZV07CisgICAgICAgICAg
ICB9CisgICAgICAgIH0KICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtODY5LDcgKzg4MCw3
IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCB3aXRoaW5FcHNpbG9uKFR5cGVBIGEsIFR5cGVCIGIpCiAK
IC0gKHZvaWQpX2R5bmFtaWNWaWV3cG9ydFVwZGF0ZUNoYW5nZWRUYXJnZXRUb1NjYWxlOihkb3Vi
bGUpbmV3U2NhbGUgcG9zaXRpb246KENHUG9pbnQpbmV3U2Nyb2xsUG9zaXRpb24gbmV4dFZhbGlk
TGF5ZXJUcmVlVHJhbnNhY3Rpb25JRDoodWludDY0X3QpbmV4dFZhbGlkTGF5ZXJUcmVlVHJhbnNh
Y3Rpb25JRAogewotICAgIGlmIChfaXNBbmltYXRpbmdSZXNpemUpIHsKKyAgICBpZiAoX2lzUmVz
aXppbmdXaXRoRHluYW1pY1ZpZXdwb3J0VXBkYXRlKSB7CiAgICAgICAgIENHRmxvYXQgYW5pbWF0
aW5nU2NhbGVUYXJnZXQgPSBbW19yZXNpemVBbmltYXRpb25WaWV3IGxheWVyXSB0cmFuc2Zvcm1d
Lm0xMTsKICAgICAgICAgZG91YmxlIGN1cnJlbnRUYXJnZXRTY2FsZSA9IGFuaW1hdGluZ1NjYWxl
VGFyZ2V0ICogW1tfY29udGVudFZpZXcgbGF5ZXJdIHRyYW5zZm9ybV0ubTExOwogICAgICAgICBk
b3VibGUgc2NhbGUgPSBuZXdTY2FsZSAvIGN1cnJlbnRUYXJnZXRTY2FsZTsKQEAgLTg4Niw3ICs4
OTcsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgd2l0aGluRXBzaWxvbihUeXBlQSBhLCBUeXBlQiBi
KQogCiAtICh2b2lkKV9yZXN0b3JlUGFnZVN0YXRlVG9FeHBvc2VkUmVjdDooV2ViQ29yZTo6Rmxv
YXRSZWN0KWV4cG9zZWRSZWN0IHNjYWxlOihkb3VibGUpc2NhbGUKIHsKLSAgICBpZiAoX2lzQW5p
bWF0aW5nUmVzaXplKQorICAgIGlmIChfaXNSZXNpemluZ1dpdGhEeW5hbWljVmlld3BvcnRVcGRh
dGUpCiAgICAgICAgIHJldHVybjsKIAogICAgIGlmIChfY3VzdG9tQ29udGVudFZpZXcpCkBAIC05
MDEsNyArOTEyLDcgQEAgc3RhdGljIGlubGluZSBib29sIHdpdGhpbkVwc2lsb24oVHlwZUEgYSwg
VHlwZUIgYikKIAogLSAodm9pZClfcmVzdG9yZVBhZ2VTdGF0ZVRvVW5vYnNjdXJlZENlbnRlcjoo
V2ViQ29yZTo6RmxvYXRQb2ludCljZW50ZXIgc2NhbGU6KGRvdWJsZSlzY2FsZQogewotICAgIGlm
IChfaXNBbmltYXRpbmdSZXNpemUpCisgICAgaWYgKF9pc1Jlc2l6aW5nV2l0aER5bmFtaWNWaWV3
cG9ydFVwZGF0ZSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKF9jdXN0b21Db250ZW50Vmll
dykKQEAgLTk4Nyw3ICs5OTgsNyBAQCBzdGF0aWMgV2ViQ29yZTo6RmxvYXRQb2ludCBjb25zdHJh
aW5Db250ZW50T2Zmc2V0KFdlYkNvcmU6OkZsb2F0UG9pbnQgY29udGVudE9mZgogCiAtICh2b2lk
KV9zY3JvbGxUb0NvbnRlbnRPZmZzZXQ6KFdlYkNvcmU6OkZsb2F0UG9pbnQpY29udGVudE9mZnNl
dAogewotICAgIGlmIChfaXNBbmltYXRpbmdSZXNpemUpCisgICAgaWYgKF9pc1Jlc2l6aW5nV2l0
aER5bmFtaWNWaWV3cG9ydFVwZGF0ZSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgV2ViQ29yZTo6
RmxvYXRQb2ludCBzY2FsZWRPZmZzZXQgPSBjb250ZW50T2Zmc2V0OwpAQCAtMTMzMiw3ICsxMzQz
LDcgQEAgc3RhdGljIFdlYkNvcmU6OkZsb2F0UG9pbnQgY29uc3RyYWluQ29udGVudE9mZnNldChX
ZWJDb3JlOjpGbG9hdFBvaW50IGNvbnRlbnRPZmYKICAgICBDR1JlY3QgYm91bmRzID0gc2VsZi5i
b3VuZHM7CiAgICAgW19zY3JvbGxWaWV3IHNldEZyYW1lOmJvdW5kc107CiAKLSAgICBpZiAoIV9p
c0FuaW1hdGluZ1Jlc2l6ZSkgeworICAgIGlmICghX2lzUmVzaXppbmdXaXRoRHluYW1pY1ZpZXdw
b3J0VXBkYXRlKSB7CiAgICAgICAgIGlmICghX292ZXJyaWRlc01pbmltdW1MYXlvdXRTaXplKQog
ICAgICAgICAgICAgX3BhZ2UtPnNldFZpZXdwb3J0Q29uZmlndXJhdGlvbk1pbmltdW1MYXlvdXRT
aXplKFdlYkNvcmU6OkZsb2F0U2l6ZShib3VuZHMuc2l6ZSkpOwogICAgICAgICBpZiAoIV9vdmVy
cmlkZXNNaW5pbXVtTGF5b3V0U2l6ZUZvck1pbmltYWxVSSkKQEAgLTEzNjgsNyArMTM3OSw3IEBA
IHN0YXRpYyBXZWJDb3JlOjpGbG9hdFBvaW50IGNvbnN0cmFpbkNvbnRlbnRPZmZzZXQoV2ViQ29y
ZTo6RmxvYXRQb2ludCBjb250ZW50T2ZmCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBp
ZiAoX2lzQW5pbWF0aW5nUmVzaXplKQorICAgIGlmIChfaXNSZXNpemluZ1dpdGhEeW5hbWljVmll
d3BvcnRVcGRhdGUpCiAgICAgICAgIHJldHVybjsKIAogICAgIGlmIChfbmVlZHNSZXNldFZpZXdT
dGF0ZUFmdGVyQ29tbWl0TG9hZEZvck1haW5GcmFtZSkKQEAgLTIwMjcsNyArMjAzOCw3IEBAIHN0
YXRpYyBpbmxpbmUgV2ViS2l0OjpGaW5kT3B0aW9ucyB0b0ZpbmRPcHRpb25zKF9XS0ZpbmRPcHRp
b25zIHdrRmluZE9wdGlvbnMpCiAgICAgICAgIHJldHVybjsKIAogICAgIF9taW5pbXVtTGF5b3V0
U2l6ZU92ZXJyaWRlID0gbWluaW11bUxheW91dFNpemVPdmVycmlkZTsKLSAgICBpZiAoIV9pc0Fu
aW1hdGluZ1Jlc2l6ZSkKKyAgICBpZiAoIV9pc1Jlc2l6aW5nV2l0aER5bmFtaWNWaWV3cG9ydFVw
ZGF0ZSkKICAgICAgICAgX3BhZ2UtPnNldFZpZXdwb3J0Q29uZmlndXJhdGlvbk1pbmltdW1MYXlv
dXRTaXplKFdlYkNvcmU6OkZsb2F0U2l6ZShtaW5pbXVtTGF5b3V0U2l6ZU92ZXJyaWRlKSk7CiB9
CiAKQEAgLTIwNDQsNyArMjA1NSw3IEBAIHN0YXRpYyBpbmxpbmUgV2ViS2l0OjpGaW5kT3B0aW9u
cyB0b0ZpbmRPcHRpb25zKF9XS0ZpbmRPcHRpb25zIHdrRmluZE9wdGlvbnMpCiAgICAgICAgIHJl
dHVybjsKIAogICAgIF9taW5pbXVtTGF5b3V0U2l6ZU92ZXJyaWRlRm9yTWluaW1hbFVJID0gc2l6
ZTsKLSAgICBpZiAoIV9pc0FuaW1hdGluZ1Jlc2l6ZSkKKyAgICBpZiAoIV9pc1Jlc2l6aW5nV2l0
aER5bmFtaWNWaWV3cG9ydFVwZGF0ZSkKICAgICAgICAgX3BhZ2UtPnNldFZpZXdwb3J0Q29uZmln
dXJhdGlvbk1pbmltdW1MYXlvdXRTaXplRm9yTWluaW1hbFVJKFdlYkNvcmU6OkZsb2F0U2l6ZShz
aXplKSk7CiB9CiAKQEAgLTIwODAsNyArMjA5MSw3IEBAIHN0YXRpYyBpbmxpbmUgV2ViS2l0OjpG
aW5kT3B0aW9ucyB0b0ZpbmRPcHRpb25zKF9XS0ZpbmRPcHRpb25zIHdrRmluZE9wdGlvbnMpCiAK
ICAgICBfaW50ZXJmYWNlT3JpZW50YXRpb25PdmVycmlkZSA9IGludGVyZmFjZU9yaWVudGF0aW9u
OwogCi0gICAgaWYgKCFfaXNBbmltYXRpbmdSZXNpemUpCisgICAgaWYgKCFfaXNSZXNpemluZ1dp
dGhEeW5hbWljVmlld3BvcnRVcGRhdGUpCiAgICAgICAgIF9wYWdlLT5zZXREZXZpY2VPcmllbnRh
dGlvbihkZXZpY2VPcmllbnRhdGlvbkZvclVJSW50ZXJmYWNlT3JpZW50YXRpb24oX2ludGVyZmFj
ZU9yaWVudGF0aW9uT3ZlcnJpZGUpKTsKIH0KIApAQCAtMjEwNCw3ICsyMTE1LDcgQEAgc3RhdGlj
IGlubGluZSBXZWJLaXQ6OkZpbmRPcHRpb25zIHRvRmluZE9wdGlvbnMoX1dLRmluZE9wdGlvbnMg
d2tGaW5kT3B0aW9ucykKICAgICAgICAgcmV0dXJuOwogCiAgICAgX21heGltdW1Vbm9ic2N1cmVk
U2l6ZU92ZXJyaWRlID0gc2l6ZTsKLSAgICBpZiAoIV9pc0FuaW1hdGluZ1Jlc2l6ZSkKKyAgICBp
ZiAoIV9pc1Jlc2l6aW5nV2l0aER5bmFtaWNWaWV3cG9ydFVwZGF0ZSkKICAgICAgICAgX3BhZ2Ut
PnNldE1heGltdW1Vbm9ic2N1cmVkU2l6ZShXZWJDb3JlOjpGbG9hdFNpemUoc2l6ZSkpOwogfQog
CkBAIC0yMTMzLDEyICsyMTQ0LDEyIEBAIHN0YXRpYyBpbmxpbmUgV2ViS2l0OjpGaW5kT3B0aW9u
cyB0b0ZpbmRPcHRpb25zKF9XS0ZpbmRPcHRpb25zIHdrRmluZE9wdGlvbnMpCiAKIC0gKHZvaWQp
X2JlZ2luQW5pbWF0ZWRSZXNpemVXaXRoVXBkYXRlczoodm9pZCAoXikodm9pZCkpdXBkYXRlQmxv
Y2sKIHsKLSAgICBpZiAoX2N1c3RvbUNvbnRlbnRWaWV3KSB7CisgICAgaWYgKF9jdXN0b21Db250
ZW50VmlldyB8fCAhX2hhc0NvbW1pdGVkQW55UGFnZUxvYWQpIHsKICAgICAgICAgdXBkYXRlQmxv
Y2soKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIF9pc0FuaW1hdGluZ1Jlc2l6ZSA9
IFlFUzsKKyAgICBfaXNSZXNpemluZ1dpdGhEeW5hbWljVmlld3BvcnRVcGRhdGUgPSBZRVM7CiAK
ICAgICBDR1JlY3Qgb2xkQm91bmRzID0gc2VsZi5ib3VuZHM7CiAgICAgV2ViQ29yZTo6RmxvYXRT
aXplIG9sZE1pbmltdW1MYXlvdXRTaXplID0gYWN0aXZlTWluaW11bUxheW91dFNpemUoc2VsZiwg
b2xkQm91bmRzKTsKQEAgLTIxNjMsNyArMjE3NCw3IEBAIHN0YXRpYyBpbmxpbmUgV2ViS2l0OjpG
aW5kT3B0aW9ucyB0b0ZpbmRPcHRpb25zKF9XS0ZpbmRPcHRpb25zIHdrRmluZE9wdGlvbnMpCiAg
ICAgICAgICYmIG9sZE1heGltdW1Vbm9ic2N1cmVkU2l6ZSA9PSBuZXdNYXhpbXVtVW5vYnNjdXJl
ZFNpemUKICAgICAgICAgJiYgb2xkT3JpZW50YXRpb24gPT0gbmV3T3JpZW50YXRpb24KICAgICAg
ICAgJiYgVUlFZGdlSW5zZXRzRXF1YWxUb0VkZ2VJbnNldHMob2xkT2JzY3VyZWRJbnNldHMsIG5l
d09ic2N1cmVkSW5zZXRzKSkgewotICAgICAgICBfaXNBbmltYXRpbmdSZXNpemUgPSBOTzsKKyAg
ICAgICAgX2lzUmVzaXppbmdXaXRoRHluYW1pY1ZpZXdwb3J0VXBkYXRlID0gTk87CiAgICAgICAg
IFtzZWxmIF91cGRhdGVWaXNpYmxlQ29udGVudFJlY3RzXTsKICAgICAgICAgcmV0dXJuOwogICAg
IH0KQEAgLTIyMjcsNyArMjIzOCw3IEBAIHN0YXRpYyBpbmxpbmUgV2ViS2l0OjpGaW5kT3B0aW9u
cyB0b0ZpbmRPcHRpb25zKF9XS0ZpbmRPcHRpb25zIHdrRmluZE9wdGlvbnMpCiAKIC0gKHZvaWQp
X2VuZEFuaW1hdGVkUmVzaXplCiB7Ci0gICAgaWYgKCFfaXNBbmltYXRpbmdSZXNpemUpCisgICAg
aWYgKCFfaXNSZXNpemluZ1dpdGhEeW5hbWljVmlld3BvcnRVcGRhdGUpCiAgICAgICAgIHJldHVy
bjsKIAogICAgIF9wYWdlLT5zeW5jaHJvbml6ZUR5bmFtaWNWaWV3cG9ydFVwZGF0ZSgpOwpAQCAt
MjI2NSwxMCArMjI3NiwyMSBAQCBzdGF0aWMgaW5saW5lIFdlYktpdDo6RmluZE9wdGlvbnMgdG9G
aW5kT3B0aW9ucyhfV0tGaW5kT3B0aW9ucyB3a0ZpbmRPcHRpb25zKQogICAgIF9yZXNpemVBbmlt
YXRpb25WaWV3ID0gbmlsOwogICAgIF9yZXNpemVBbmltYXRpb25UcmFuc2Zvcm1BZGp1c3RtZW50
cyA9IENBVHJhbnNmb3JtM0RJZGVudGl0eTsKIAotICAgIF9pc0FuaW1hdGluZ1Jlc2l6ZSA9IE5P
OworICAgIF9pc1Jlc2l6aW5nV2l0aER5bmFtaWNWaWV3cG9ydFVwZGF0ZSA9IE5POworICAgIF9p
c0RvY3VtZW50SGlkZGVuRHVyaW5nUmVzaXplID0gTk87CisgICAgW19jb250ZW50VmlldyBzZXRI
aWRkZW46Tk9dOwogICAgIFtzZWxmIF91cGRhdGVWaXNpYmxlQ29udGVudFJlY3RzXTsKIH0KIAor
LSAodm9pZClfcmVzaXplV2hpbGVIaWRkaW5nQ29udGVudFdpdGhVcGRhdGVzOih2b2lkICheKSh2
b2lkKSl1cGRhdGVCbG9jaworeworICAgIFtzZWxmIF9iZWdpbkFuaW1hdGVkUmVzaXplV2l0aFVw
ZGF0ZXM6dXBkYXRlQmxvY2tdOworICAgIGlmIChfaXNSZXNpemluZ1dpdGhEeW5hbWljVmlld3Bv
cnRVcGRhdGUpIHsKKyAgICAgICAgW19jb250ZW50VmlldyBzZXRIaWRkZW46WUVTXTsKKyAgICAg
ICAgX2lzRG9jdW1lbnRIaWRkZW5EdXJpbmdSZXNpemUgPSBZRVM7CisgICAgfQorfQorCiAtICh2
b2lkKV9zZXRPdmVybGFpZEFjY2Vzc29yeVZpZXdzSW5zZXQ6KENHU2l6ZSlpbnNldAogewogICAg
IFtfY3VzdG9tQ29udGVudFZpZXcgd2ViX3NldE92ZXJsYWlkQWNjZXNzb3J5Vmlld3NJbnNldDpp
bnNldF07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlld1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJWaWV3UHJpdmF0ZS5oCmluZGV4IDYxNTIxNmJjOTMxNjU2MGI1NDVkYjFjOTIxOTRmN2U2OTAz
NmY4MTMuLjJkNjJlNzUwOTk1NGE2MTgwYTFiZTMzNGYwMDdlNmJkNzhmZjc4OWUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0
ZS5oCkBAIC0xMzcsNiArMTM3LDcgQEAgdHlwZWRlZiBOU19PUFRJT05TKE5TVUludGVnZXIsIF9X
S0ZpbmRPcHRpb25zKSB7CiAKIC0gKHZvaWQpX2JlZ2luQW5pbWF0ZWRSZXNpemVXaXRoVXBkYXRl
czoodm9pZCAoXikodm9pZCkpdXBkYXRlQmxvY2s7CiAtICh2b2lkKV9lbmRBbmltYXRlZFJlc2l6
ZTsKKy0gKHZvaWQpX3Jlc2l6ZVdoaWxlSGlkZGluZ0NvbnRlbnRXaXRoVXBkYXRlczoodm9pZCAo
Xikodm9pZCkpdXBkYXRlQmxvY2s7CiAKIC0gKHZvaWQpX3NuYXBzaG90UmVjdDooQ0dSZWN0KXJl
Y3RJblZpZXdDb29yZGluYXRlcyBpbnRvSW1hZ2VPZldpZHRoOihDR0Zsb2F0KWltYWdlV2lkdGgg
Y29tcGxldGlvbkhhbmRsZXI6KHZvaWQoXikoQ0dJbWFnZVJlZikpY29tcGxldGlvbkhhbmRsZXI7
CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>235091</attachid>
            <date>2014-07-17 14:08:14 -0700</date>
            <delta_ts>2014-07-17 15:09:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-135010-20140717140729.patch</filename>
            <type>text/plain</type>
            <size>14130</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcxMTcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZjljYjcwOGNlZjMxMTlm
MjRkMjA1Mjg0NTA4NGFkNmIzMmJjMzhiOS4uZGI4NGUxZWRhMGYyM2IwOWIxZTM1YjNlMWVlNTc3
OTdjZjI5ZjAzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDE0LTA3LTE2ICBCZW5q
YW1pbiBQb3VsYWluICA8YmVuamFtaW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBbaU9TXVtXSzJd
IEFkZCBTUEkgdG8gZG8gYSBkeW5hbWljIHZpZXdwb3J0IHVwZGF0ZSB3aXRob3V0IHNob3dpbmcg
YW55IGNvbnRlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEzNTAxMAorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAg
IFRoaXMgcGF0Y2ggYWRkIGEgbmV3IFNQSSwgW1dLV2ViVmlldyBfcmVzaXplV2hpbGVIaWRpbmdD
b250ZW50V2l0aFVwZGF0ZXM6XSB0byBwZXJmb3JtIGFsbCB0aGUgd29yaworICAgICAgICBvZiBh
IGR5bmFtaWMgdmlld3BvcnQgc2l6ZSB1cGRhdGUsIGJ1dCBpbnN0ZWFkIG9mIGFuaW1hdGluZyB0
aGUgb2xkIGNvbnRlbnQsIGl0IGlzIGhpZGRlbi4KKworICAgICAgICBUaGUgcGF0Y2ggaXMgYnVp
bHQgb24gdG9wIG9mIHRoZSBhbmltYXRlZCByZXNpemUgbWVjaGFuaXNtLiBJbnN0ZWFkIG9mIGhh
dmluZyBhbiBhbmltYXRpb24gZHJpdmluZworICAgICAgICB0aGUgYmVnaW5uaW5nIGFuZCBlbmQs
IHdlIGxldCB0aGUgY29udGVudCBkbyB0aGF0LiBUaGUgZHluYW1pYyByZXNpemUgYmVnaW5zLCBp
dCBydW5zIGZvciBhcyBsb25nIGFzCisgICAgICAgIHRoZSBXZWJQcm9jZXNzIG5lZWRzLCBhbmQg
aXQgZW5kcyB3aGVuIGZpcnN0IGxheWVyIHRyZWUgY29tbWl0IHdpdGggdGhlIG5ldyBjb250ZW50
IGlzIHByb2Nlc3NlZC4KKworICAgICAgICBUaGUgYXR0cmlidXRlICJfaXNBbmltYXRpbmdSZXNp
emUiIGlzIGdlbmVyYWxpemVkIHRvIHN1cHBvcnQgdHdvIG1vZGVzIG9mIHJlc2l6aW5nOiBhbmlt
YXRlZCBhbmQKKyAgICAgICAgaGlkaW5nIGNvbnRlbnQuCisKKyAgICAgICAgVGhlIGF0dHJpYnV0
ZSAiX2hhc0NvbW1pdHRlZExvYWRGb3JNYWluRnJhbWUiIGlzIHJhdGhlciBzaWxseS4gSXQgaXMg
b25seSBuZWVkZWQgYmVjYXVzZQorICAgICAgICBbV0tXZWJWaWV3IF9yZXNpemVXaGlsZUhpZGlu
Z0NvbnRlbnRXaXRoVXBkYXRlczpdIGlzIGludGVuZGVkIHRvIGJlIGNhbGxlZCBhIGxvdCBiZWZv
cmUgdGhlIHBhZ2UKKyAgICAgICAgaXMgaW5pdGlhbGl6ZWQsIGFuZCBkb2luZyBhbiBhbmltYXRl
ZCByZXNpemUgd291bGQgdHJhc2ggdGhlIFdlYlByb2Nlc3Mgc3RhdGUuCisgICAgICAgIEkgd2lz
aCBJIGhhZCBhIGJldHRlciBzb2x1dGlvbiwgdGhpcyBpcyBub3QgZ3JlYXQuCisKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3
IF9wcm9jZXNzRGlkRXhpdF0pOgorICAgICAgICAoLVtXS1dlYlZpZXcgX2RpZENvbW1pdExvYWRG
b3JNYWluRnJhbWVdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9kaWRDb21taXRMYXllclRyZWU6
XSk6CisgICAgICAgIFRoaXMgaXMgdGhlIGtleSB0byBtYWtlIHRoaXMgd29yayBwcm9wZXJseS4g
V2Ugd2FudCBfcmVzaXplV2hpbGVIaWRpbmdDb250ZW50V2l0aFVwZGF0ZXM6IHRvIGJlaGF2ZQor
ICAgICAgICBleGFjdGx5IGxpa2UgYW4gYW5pbWF0ZWQgcmVzaXplIHRvIGF2b2lkIGJ1Z3MuIFNv
IHdlIHdlbnQgdG8gdGhlIHdob2xlIHVwZGF0ZSBtZWNoYW5pc20gdXNpbmcKKyAgICAgICAgX3Jl
c2l6ZUFuaW1hdGlvblRyYW5zZm9ybUFkanVzdG1lbnRzIHRvIGFjY3VtdWxhdGUgdGhlIGFkanVz
dG1lbnRzLCBub3cgd2UgbmVlZCB0byByZXN0b3JlIGEgY29ycmVjdAorICAgICAgICB2aWV3IHN0
YXRlLgorCisgICAgICAgIENhbGxpbmcgW1dLV2ViVmlldyBfZW5kQW5pbWF0ZWRSZXNpemVdIHdp
bGwgZG8gZXhhY3RseSB0aGF0LCBidXQgd2UgbmVlZCB0byBtYWtlIHN1cmUgd2UgZG8gbm90IGhp
dAorICAgICAgICB0aGUgc3luY2hyb25pemF0aW9uIHBhdGggb3Igd2Ugd291bGQgYmUgYmxvY2tl
ZCB0aGVyZSBmb3IgYSB3aGlsZSwgd2hpY2ggaXMgd2hhdCB3ZSBhcmUgdHJ5aW5nIHRvIGF2b2lk
LgorCisgICAgICAgIEFmdGVyIHIxNzExNTQsIFdlYlBhZ2VQcm94eSBrZWVwcyB0cmFjayBvZiB3
aGF0IHN0YWdlIG9mIGR5bmFtaWMgdmlld3BvcnQgdXBkYXRlIHdlIGFyZSBpbi4gU2luY2Ugd2Ug
YXJlCisgICAgICAgIGV4ZWN1dGluZyB0aGUgbGF5ZXIgdHJlZSB1cGRhdGUgc3RhZ2UsIHdpdGgg
dGhlIHJpZ2h0IHRyYW5zYWN0aW9uIElELCBXZWJQYWdlUHJveHkgYWxyZWFkeSBrbm93cyB3ZSBo
YXZlCisgICAgICAgIGV2ZXJ5dGhpbmcgd2UgbmVlZCBhbmQgZG9lcyBub3QgdXNlIGFueSBzeW5j
aHJvbm91cyBtZXNzYWdlcy4KKworICAgICAgICAoLVtXS1dlYlZpZXcgX2R5bmFtaWNWaWV3cG9y
dFVwZGF0ZUNoYW5nZWRUYXJnZXRUb1NjYWxlOnBvc2l0aW9uOm5leHRWYWxpZExheWVyVHJlZVRy
YW5zYWN0aW9uSUQ6XSk6CisgICAgICAgICgtW1dLV2ViVmlldyBfcmVzdG9yZVBhZ2VTdGF0ZVRv
RXhwb3NlZFJlY3Q6c2NhbGU6XSk6CisgICAgICAgICgtW1dLV2ViVmlldyBfcmVzdG9yZVBhZ2VT
dGF0ZVRvVW5vYnNjdXJlZENlbnRlcjpzY2FsZTpdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9z
Y3JvbGxUb0NvbnRlbnRPZmZzZXQ6XSk6CisgICAgICAgICgtW1dLV2ViVmlldyBfZnJhbWVPckJv
dW5kc0NoYW5nZWRdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF91cGRhdGVWaXNpYmxlQ29udGVu
dFJlY3RzXSk6CisgICAgICAgICgtW1dLV2ViVmlldyBfc2V0TWluaW11bUxheW91dFNpemVPdmVy
cmlkZTpdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9zZXRNaW5pbXVtTGF5b3V0U2l6ZU92ZXJy
aWRlRm9yTWluaW1hbFVJOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXcgX3NldEludGVyZmFjZU9y
aWVudGF0aW9uT3ZlcnJpZGU6XSk6CisgICAgICAgICgtW1dLV2ViVmlldyBfc2V0TWF4aW11bVVu
b2JzY3VyZWRTaXplT3ZlcnJpZGU6XSk6CisgICAgICAgICgtW1dLV2ViVmlldyBfYmVnaW5Bbmlt
YXRlZFJlc2l6ZVdpdGhVcGRhdGVzOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXcgX2VuZEFuaW1h
dGVkUmVzaXplXSk6CisgICAgICAgICgtW1dLV2ViVmlldyBfcmVzaXplV2hpbGVIaWRpbmdDb250
ZW50V2l0aFVwZGF0ZXM6XSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXdQcml2YXRlLmg6CisKIDIwMTQtMDctMTYgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUu
Y29tPgogCiAgICAgICAgIFJlaW50cm9kdWNlIHRoZSBTUEkgX3dlYnNpdGVEYXRhVVJMRm9yQ29u
dGFpbmVyV2l0aFVSTDogdGhhdCB3YXMgcmVtb3ZlZCBpbiByMTcxMTYwCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCmluZGV4IGM1OTZmYTFjZmFh
ZjRkNTllODQ3NmJjMzU3NjhmZDMwMTI5ZGVjNzQuLjU4MTVjODg4MTllZmM3N2UzMzFhNWExOWQ2
MjhmYjVjZmVjNWNiYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tXZWJWaWV3Lm1tCkBAIC0xMTgsNiArMTE4LDEzIEBACiAtIChVSVZpZXdDb250cm9sbGVy
ICopX3Jvb3RBbmNlc3RvclZpZXdDb250cm9sbGVyOwogLSAoVUlWaWV3Q29udHJvbGxlciAqKV92
aWV3Q29udHJvbGxlckZvclN1cHBvcnRlZEludGVyZmFjZU9yaWVudGF0aW9uczsKIEBlbmQKKwor
ZW51bSBjbGFzcyBEeW5hbWljVmlld3BvcnRVcGRhdGVNb2RlIHsKKyAgICBOb3RSZXNpemluZywK
KyAgICBSZXNpemluZ1dpdGhBbmltYXRpb24sCisgICAgUmVzaXppbmdXaXRoRG9jdW1lbnRIaWRk
ZW4sCit9OworCiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKE1BQykKQEAgLTE2Niw5ICsxNzMsMTAg
QEAgV0tXZWJWaWV3KiBmcm9tV2ViUGFnZVByb3h5KFdlYktpdDo6V2ViUGFnZVByb3h5JiBwYWdl
KQogICAgIFVJSW50ZXJmYWNlT3JpZW50YXRpb24gX2ludGVyZmFjZU9yaWVudGF0aW9uT3ZlcnJp
ZGU7CiAgICAgQk9PTCBfb3ZlcnJpZGVzSW50ZXJmYWNlT3JpZW50YXRpb247CiAKKyAgICBCT09M
IF9oYXNDb21taXR0ZWRMb2FkRm9yTWFpbkZyYW1lOwogICAgIEJPT0wgX25lZWRzUmVzZXRWaWV3
U3RhdGVBZnRlckNvbW1pdExvYWRGb3JNYWluRnJhbWU7CiAgICAgdWludDY0X3QgX2ZpcnN0UGFp
bnRBZnRlckNvbW1pdExvYWRUcmFuc2FjdGlvbklEOwotICAgIEJPT0wgX2lzQW5pbWF0aW5nUmVz
aXplOworICAgIER5bmFtaWNWaWV3cG9ydFVwZGF0ZU1vZGUgX2R5bmFtaWNWaWV3cG9ydFVwZGF0
ZU1vZGU7CiAgICAgQ0FUcmFuc2Zvcm0zRCBfcmVzaXplQW5pbWF0aW9uVHJhbnNmb3JtQWRqdXN0
bWVudHM7CiAgICAgdWludDY0X3QgX3Jlc2l6ZUFuaW1hdGlvblRyYW5zZm9ybVRyYW5zYWN0aW9u
SUQ7CiAgICAgUmV0YWluUHRyPFVJVmlldz4gX3Jlc2l6ZUFuaW1hdGlvblZpZXc7CkBAIC03NDAs
MTQgKzc0OCwxMyBAQCBzdGF0aWMgV2ViQ29yZTo6Q29sb3Igc2Nyb2xsVmlld0JhY2tncm91bmRD
b2xvcihXS1dlYlZpZXcgKndlYlZpZXcpCiAKIC0gKHZvaWQpX3Byb2Nlc3NEaWRFeGl0CiB7Ci0g
ICAgaWYgKCFfY3VzdG9tQ29udGVudFZpZXcgJiYgX2lzQW5pbWF0aW5nUmVzaXplKSB7CisgICAg
aWYgKCFfY3VzdG9tQ29udGVudFZpZXcgJiYgX2R5bmFtaWNWaWV3cG9ydFVwZGF0ZU1vZGUgIT0g
RHluYW1pY1ZpZXdwb3J0VXBkYXRlTW9kZTo6Tm90UmVzaXppbmcpIHsKICAgICAgICAgTlNVSW50
ZWdlciBpbmRleE9mUmVzaXplQW5pbWF0aW9uVmlldyA9IFtbX3Njcm9sbFZpZXcgc3Vidmlld3Nd
IGluZGV4T2ZPYmplY3Q6X3Jlc2l6ZUFuaW1hdGlvblZpZXcuZ2V0KCldOwogICAgICAgICBbX3Nj
cm9sbFZpZXcgaW5zZXJ0U3VidmlldzpfY29udGVudFZpZXcuZ2V0KCkgYXRJbmRleDppbmRleE9m
UmVzaXplQW5pbWF0aW9uVmlld107CiAgICAgICAgIFtfc2Nyb2xsVmlldyBpbnNlcnRTdWJ2aWV3
OltfY29udGVudFZpZXcgdW5zY2FsZWRWaWV3XSBhdEluZGV4OmluZGV4T2ZSZXNpemVBbmltYXRp
b25WaWV3ICsgMV07CiAgICAgICAgIFtfcmVzaXplQW5pbWF0aW9uVmlldyByZW1vdmVGcm9tU3Vw
ZXJ2aWV3XTsKICAgICAgICAgX3Jlc2l6ZUFuaW1hdGlvblZpZXcgPSBuaWw7CiAKLSAgICAgICAg
X2lzQW5pbWF0aW5nUmVzaXplID0gTk87CiAgICAgICAgIF9yZXNpemVBbmltYXRpb25UcmFuc2Zv
cm1BZGp1c3RtZW50cyA9IENBVHJhbnNmb3JtM0RJZGVudGl0eTsKICAgICB9CiAgICAgW19jb250
ZW50VmlldyBzZXRGcmFtZTpzZWxmLmJvdW5kc107CkBAIC03NTYsNyArNzYzLDEwIEBAIHN0YXRp
YyBXZWJDb3JlOjpDb2xvciBzY3JvbGxWaWV3QmFja2dyb3VuZENvbG9yKFdLV2ViVmlldyAqd2Vi
VmlldykKICAgICBbX3Njcm9sbFZpZXcgc2V0Wm9vbVNjYWxlOjFdOwogCiAgICAgX3ZpZXdwb3J0
TWV0YVRhZ1dpZHRoID0gLTE7CisgICAgX2hhc0NvbW1pdHRlZExvYWRGb3JNYWluRnJhbWUgPSBO
TzsKICAgICBfbmVlZHNSZXNldFZpZXdTdGF0ZUFmdGVyQ29tbWl0TG9hZEZvck1haW5GcmFtZSA9
IE5POworICAgIF9keW5hbWljVmlld3BvcnRVcGRhdGVNb2RlID0gRHluYW1pY1ZpZXdwb3J0VXBk
YXRlTW9kZTo6Tm90UmVzaXppbmc7CisgICAgW19jb250ZW50VmlldyBzZXRIaWRkZW46Tk9dOwog
ICAgIF9uZWVkc1RvUmVzdG9yZUV4cG9zZWRSZWN0ID0gTk87CiAgICAgX25lZWRzVG9SZXN0b3Jl
VW5vYnNjdXJlZENlbnRlciA9IE5POwogICAgIF9zY3JvbGxWaWV3QmFja2dyb3VuZENvbG9yID0g
V2ViQ29yZTo6Q29sb3IoKTsKQEAgLTc2OCw2ICs3NzgsNyBAQCBzdGF0aWMgV2ViQ29yZTo6Q29s
b3Igc2Nyb2xsVmlld0JhY2tncm91bmRDb2xvcihXS1dlYlZpZXcgKndlYlZpZXcpCiB7CiAgICAg
X2ZpcnN0UGFpbnRBZnRlckNvbW1pdExvYWRUcmFuc2FjdGlvbklEID0gdG9SZW1vdGVMYXllclRy
ZWVEcmF3aW5nQXJlYVByb3h5KF9wYWdlLT5kcmF3aW5nQXJlYSgpKS0+bmV4dExheWVyVHJlZVRy
YW5zYWN0aW9uSUQoKTsKIAorICAgIF9oYXNDb21taXR0ZWRMb2FkRm9yTWFpbkZyYW1lID0gWUVT
OwogICAgIF9uZWVkc1Jlc2V0Vmlld1N0YXRlQWZ0ZXJDb21taXRMb2FkRm9yTWFpbkZyYW1lID0g
WUVTOwogICAgIF91c2VzTWluaW1hbFVJID0gTk87CiB9CkBAIC04MDQsOSArODE1LDE0IEBAIHN0
YXRpYyBpbmxpbmUgYm9vbCB3aXRoaW5FcHNpbG9uKFR5cGVBIGEsIFR5cGVCIGIpCiAgICAgaWYg
KF9jdXN0b21Db250ZW50VmlldykKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKF9pc0FuaW1h
dGluZ1Jlc2l6ZSkgewotICAgICAgICBpZiAobGF5ZXJUcmVlVHJhbnNhY3Rpb24udHJhbnNhY3Rp
b25JRCgpID49IF9yZXNpemVBbmltYXRpb25UcmFuc2Zvcm1UcmFuc2FjdGlvbklEKQorICAgIGlm
IChfZHluYW1pY1ZpZXdwb3J0VXBkYXRlTW9kZSAhPSBEeW5hbWljVmlld3BvcnRVcGRhdGVNb2Rl
OjpOb3RSZXNpemluZykgeworICAgICAgICBpZiAobGF5ZXJUcmVlVHJhbnNhY3Rpb24udHJhbnNh
Y3Rpb25JRCgpID49IF9yZXNpemVBbmltYXRpb25UcmFuc2Zvcm1UcmFuc2FjdGlvbklEKSB7CiAg
ICAgICAgICAgICBbX3Jlc2l6ZUFuaW1hdGlvblZpZXcgbGF5ZXJdLnN1YmxheWVyVHJhbnNmb3Jt
ID0gX3Jlc2l6ZUFuaW1hdGlvblRyYW5zZm9ybUFkanVzdG1lbnRzOworICAgICAgICAgICAgaWYg
KF9keW5hbWljVmlld3BvcnRVcGRhdGVNb2RlID09IER5bmFtaWNWaWV3cG9ydFVwZGF0ZU1vZGU6
OlJlc2l6aW5nV2l0aERvY3VtZW50SGlkZGVuKSB7CisgICAgICAgICAgICAgICAgW19jb250ZW50
VmlldyBzZXRIaWRkZW46Tk9dOworICAgICAgICAgICAgICAgIFtzZWxmIF9lbmRBbmltYXRlZFJl
c2l6ZV07CisgICAgICAgICAgICB9CisgICAgICAgIH0KICAgICAgICAgcmV0dXJuOwogICAgIH0K
IApAQCAtODY5LDcgKzg4NSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCB3aXRoaW5FcHNpbG9uKFR5
cGVBIGEsIFR5cGVCIGIpCiAKIC0gKHZvaWQpX2R5bmFtaWNWaWV3cG9ydFVwZGF0ZUNoYW5nZWRU
YXJnZXRUb1NjYWxlOihkb3VibGUpbmV3U2NhbGUgcG9zaXRpb246KENHUG9pbnQpbmV3U2Nyb2xs
UG9zaXRpb24gbmV4dFZhbGlkTGF5ZXJUcmVlVHJhbnNhY3Rpb25JRDoodWludDY0X3QpbmV4dFZh
bGlkTGF5ZXJUcmVlVHJhbnNhY3Rpb25JRAogewotICAgIGlmIChfaXNBbmltYXRpbmdSZXNpemUp
IHsKKyAgICBpZiAoX2R5bmFtaWNWaWV3cG9ydFVwZGF0ZU1vZGUgIT0gRHluYW1pY1ZpZXdwb3J0
VXBkYXRlTW9kZTo6Tm90UmVzaXppbmcpIHsKICAgICAgICAgQ0dGbG9hdCBhbmltYXRpbmdTY2Fs
ZVRhcmdldCA9IFtbX3Jlc2l6ZUFuaW1hdGlvblZpZXcgbGF5ZXJdIHRyYW5zZm9ybV0ubTExOwog
ICAgICAgICBkb3VibGUgY3VycmVudFRhcmdldFNjYWxlID0gYW5pbWF0aW5nU2NhbGVUYXJnZXQg
KiBbW19jb250ZW50VmlldyBsYXllcl0gdHJhbnNmb3JtXS5tMTE7CiAgICAgICAgIGRvdWJsZSBz
Y2FsZSA9IG5ld1NjYWxlIC8gY3VycmVudFRhcmdldFNjYWxlOwpAQCAtODg2LDcgKzkwMiw3IEBA
IHN0YXRpYyBpbmxpbmUgYm9vbCB3aXRoaW5FcHNpbG9uKFR5cGVBIGEsIFR5cGVCIGIpCiAKIC0g
KHZvaWQpX3Jlc3RvcmVQYWdlU3RhdGVUb0V4cG9zZWRSZWN0OihXZWJDb3JlOjpGbG9hdFJlY3Qp
ZXhwb3NlZFJlY3Qgc2NhbGU6KGRvdWJsZSlzY2FsZQogewotICAgIGlmIChfaXNBbmltYXRpbmdS
ZXNpemUpCisgICAgaWYgKF9keW5hbWljVmlld3BvcnRVcGRhdGVNb2RlICE9IER5bmFtaWNWaWV3
cG9ydFVwZGF0ZU1vZGU6Ok5vdFJlc2l6aW5nKQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAo
X2N1c3RvbUNvbnRlbnRWaWV3KQpAQCAtOTAxLDcgKzkxNyw3IEBAIHN0YXRpYyBpbmxpbmUgYm9v
bCB3aXRoaW5FcHNpbG9uKFR5cGVBIGEsIFR5cGVCIGIpCiAKIC0gKHZvaWQpX3Jlc3RvcmVQYWdl
U3RhdGVUb1Vub2JzY3VyZWRDZW50ZXI6KFdlYkNvcmU6OkZsb2F0UG9pbnQpY2VudGVyIHNjYWxl
Oihkb3VibGUpc2NhbGUKIHsKLSAgICBpZiAoX2lzQW5pbWF0aW5nUmVzaXplKQorICAgIGlmIChf
ZHluYW1pY1ZpZXdwb3J0VXBkYXRlTW9kZSAhPSBEeW5hbWljVmlld3BvcnRVcGRhdGVNb2RlOjpO
b3RSZXNpemluZykKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKF9jdXN0b21Db250ZW50Vmll
dykKQEAgLTk4Nyw3ICsxMDAzLDcgQEAgc3RhdGljIFdlYkNvcmU6OkZsb2F0UG9pbnQgY29uc3Ry
YWluQ29udGVudE9mZnNldChXZWJDb3JlOjpGbG9hdFBvaW50IGNvbnRlbnRPZmYKIAogLSAodm9p
ZClfc2Nyb2xsVG9Db250ZW50T2Zmc2V0OihXZWJDb3JlOjpGbG9hdFBvaW50KWNvbnRlbnRPZmZz
ZXQKIHsKLSAgICBpZiAoX2lzQW5pbWF0aW5nUmVzaXplKQorICAgIGlmIChfZHluYW1pY1ZpZXdw
b3J0VXBkYXRlTW9kZSAhPSBEeW5hbWljVmlld3BvcnRVcGRhdGVNb2RlOjpOb3RSZXNpemluZykK
ICAgICAgICAgcmV0dXJuOwogCiAgICAgV2ViQ29yZTo6RmxvYXRQb2ludCBzY2FsZWRPZmZzZXQg
PSBjb250ZW50T2Zmc2V0OwpAQCAtMTMzMiw3ICsxMzQ4LDcgQEAgc3RhdGljIFdlYkNvcmU6OkZs
b2F0UG9pbnQgY29uc3RyYWluQ29udGVudE9mZnNldChXZWJDb3JlOjpGbG9hdFBvaW50IGNvbnRl
bnRPZmYKICAgICBDR1JlY3QgYm91bmRzID0gc2VsZi5ib3VuZHM7CiAgICAgW19zY3JvbGxWaWV3
IHNldEZyYW1lOmJvdW5kc107CiAKLSAgICBpZiAoIV9pc0FuaW1hdGluZ1Jlc2l6ZSkgeworICAg
IGlmIChfZHluYW1pY1ZpZXdwb3J0VXBkYXRlTW9kZSA9PSBEeW5hbWljVmlld3BvcnRVcGRhdGVN
b2RlOjpOb3RSZXNpemluZykgewogICAgICAgICBpZiAoIV9vdmVycmlkZXNNaW5pbXVtTGF5b3V0
U2l6ZSkKICAgICAgICAgICAgIF9wYWdlLT5zZXRWaWV3cG9ydENvbmZpZ3VyYXRpb25NaW5pbXVt
TGF5b3V0U2l6ZShXZWJDb3JlOjpGbG9hdFNpemUoYm91bmRzLnNpemUpKTsKICAgICAgICAgaWYg
KCFfb3ZlcnJpZGVzTWluaW11bUxheW91dFNpemVGb3JNaW5pbWFsVUkpCkBAIC0xMzY4LDcgKzEz
ODQsNyBAQCBzdGF0aWMgV2ViQ29yZTo6RmxvYXRQb2ludCBjb25zdHJhaW5Db250ZW50T2Zmc2V0
KFdlYkNvcmU6OkZsb2F0UG9pbnQgY29udGVudE9mZgogICAgICAgICByZXR1cm47CiAgICAgfQog
Ci0gICAgaWYgKF9pc0FuaW1hdGluZ1Jlc2l6ZSkKKyAgICBpZiAoX2R5bmFtaWNWaWV3cG9ydFVw
ZGF0ZU1vZGUgIT0gRHluYW1pY1ZpZXdwb3J0VXBkYXRlTW9kZTo6Tm90UmVzaXppbmcpCiAgICAg
ICAgIHJldHVybjsKIAogICAgIGlmIChfbmVlZHNSZXNldFZpZXdTdGF0ZUFmdGVyQ29tbWl0TG9h
ZEZvck1haW5GcmFtZSkKQEAgLTIwMjcsNyArMjA0Myw3IEBAIHN0YXRpYyBpbmxpbmUgV2ViS2l0
OjpGaW5kT3B0aW9ucyB0b0ZpbmRPcHRpb25zKF9XS0ZpbmRPcHRpb25zIHdrRmluZE9wdGlvbnMp
CiAgICAgICAgIHJldHVybjsKIAogICAgIF9taW5pbXVtTGF5b3V0U2l6ZU92ZXJyaWRlID0gbWlu
aW11bUxheW91dFNpemVPdmVycmlkZTsKLSAgICBpZiAoIV9pc0FuaW1hdGluZ1Jlc2l6ZSkKKyAg
ICBpZiAoX2R5bmFtaWNWaWV3cG9ydFVwZGF0ZU1vZGUgPT0gRHluYW1pY1ZpZXdwb3J0VXBkYXRl
TW9kZTo6Tm90UmVzaXppbmcpCiAgICAgICAgIF9wYWdlLT5zZXRWaWV3cG9ydENvbmZpZ3VyYXRp
b25NaW5pbXVtTGF5b3V0U2l6ZShXZWJDb3JlOjpGbG9hdFNpemUobWluaW11bUxheW91dFNpemVP
dmVycmlkZSkpOwogfQogCkBAIC0yMDQ0LDcgKzIwNjAsNyBAQCBzdGF0aWMgaW5saW5lIFdlYktp
dDo6RmluZE9wdGlvbnMgdG9GaW5kT3B0aW9ucyhfV0tGaW5kT3B0aW9ucyB3a0ZpbmRPcHRpb25z
KQogICAgICAgICByZXR1cm47CiAKICAgICBfbWluaW11bUxheW91dFNpemVPdmVycmlkZUZvck1p
bmltYWxVSSA9IHNpemU7Ci0gICAgaWYgKCFfaXNBbmltYXRpbmdSZXNpemUpCisgICAgaWYgKF9k
eW5hbWljVmlld3BvcnRVcGRhdGVNb2RlID09IER5bmFtaWNWaWV3cG9ydFVwZGF0ZU1vZGU6Ok5v
dFJlc2l6aW5nKQogICAgICAgICBfcGFnZS0+c2V0Vmlld3BvcnRDb25maWd1cmF0aW9uTWluaW11
bUxheW91dFNpemVGb3JNaW5pbWFsVUkoV2ViQ29yZTo6RmxvYXRTaXplKHNpemUpKTsKIH0KIApA
QCAtMjA4MCw3ICsyMDk2LDcgQEAgc3RhdGljIGlubGluZSBXZWJLaXQ6OkZpbmRPcHRpb25zIHRv
RmluZE9wdGlvbnMoX1dLRmluZE9wdGlvbnMgd2tGaW5kT3B0aW9ucykKIAogICAgIF9pbnRlcmZh
Y2VPcmllbnRhdGlvbk92ZXJyaWRlID0gaW50ZXJmYWNlT3JpZW50YXRpb247CiAKLSAgICBpZiAo
IV9pc0FuaW1hdGluZ1Jlc2l6ZSkKKyAgICBpZiAoX2R5bmFtaWNWaWV3cG9ydFVwZGF0ZU1vZGUg
PT0gRHluYW1pY1ZpZXdwb3J0VXBkYXRlTW9kZTo6Tm90UmVzaXppbmcpCiAgICAgICAgIF9wYWdl
LT5zZXREZXZpY2VPcmllbnRhdGlvbihkZXZpY2VPcmllbnRhdGlvbkZvclVJSW50ZXJmYWNlT3Jp
ZW50YXRpb24oX2ludGVyZmFjZU9yaWVudGF0aW9uT3ZlcnJpZGUpKTsKIH0KIApAQCAtMjEwNCw3
ICsyMTIwLDcgQEAgc3RhdGljIGlubGluZSBXZWJLaXQ6OkZpbmRPcHRpb25zIHRvRmluZE9wdGlv
bnMoX1dLRmluZE9wdGlvbnMgd2tGaW5kT3B0aW9ucykKICAgICAgICAgcmV0dXJuOwogCiAgICAg
X21heGltdW1Vbm9ic2N1cmVkU2l6ZU92ZXJyaWRlID0gc2l6ZTsKLSAgICBpZiAoIV9pc0FuaW1h
dGluZ1Jlc2l6ZSkKKyAgICBpZiAoX2R5bmFtaWNWaWV3cG9ydFVwZGF0ZU1vZGUgPT0gRHluYW1p
Y1ZpZXdwb3J0VXBkYXRlTW9kZTo6Tm90UmVzaXppbmcpCiAgICAgICAgIF9wYWdlLT5zZXRNYXhp
bXVtVW5vYnNjdXJlZFNpemUoV2ViQ29yZTo6RmxvYXRTaXplKHNpemUpKTsKIH0KIApAQCAtMjEz
MywxMiArMjE0OSwxMiBAQCBzdGF0aWMgaW5saW5lIFdlYktpdDo6RmluZE9wdGlvbnMgdG9GaW5k
T3B0aW9ucyhfV0tGaW5kT3B0aW9ucyB3a0ZpbmRPcHRpb25zKQogCiAtICh2b2lkKV9iZWdpbkFu
aW1hdGVkUmVzaXplV2l0aFVwZGF0ZXM6KHZvaWQgKF4pKHZvaWQpKXVwZGF0ZUJsb2NrCiB7Ci0g
ICAgaWYgKF9jdXN0b21Db250ZW50VmlldykgeworICAgIGlmIChfY3VzdG9tQ29udGVudFZpZXcg
fHwgIV9oYXNDb21taXR0ZWRMb2FkRm9yTWFpbkZyYW1lKSB7CiAgICAgICAgIHVwZGF0ZUJsb2Nr
KCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBfaXNBbmltYXRpbmdSZXNpemUgPSBZ
RVM7CisgICAgX2R5bmFtaWNWaWV3cG9ydFVwZGF0ZU1vZGUgPSBEeW5hbWljVmlld3BvcnRVcGRh
dGVNb2RlOjpSZXNpemluZ1dpdGhBbmltYXRpb247CiAKICAgICBDR1JlY3Qgb2xkQm91bmRzID0g
c2VsZi5ib3VuZHM7CiAgICAgV2ViQ29yZTo6RmxvYXRTaXplIG9sZE1pbmltdW1MYXlvdXRTaXpl
ID0gYWN0aXZlTWluaW11bUxheW91dFNpemUoc2VsZiwgb2xkQm91bmRzKTsKQEAgLTIxNjMsNyAr
MjE3OSw3IEBAIHN0YXRpYyBpbmxpbmUgV2ViS2l0OjpGaW5kT3B0aW9ucyB0b0ZpbmRPcHRpb25z
KF9XS0ZpbmRPcHRpb25zIHdrRmluZE9wdGlvbnMpCiAgICAgICAgICYmIG9sZE1heGltdW1Vbm9i
c2N1cmVkU2l6ZSA9PSBuZXdNYXhpbXVtVW5vYnNjdXJlZFNpemUKICAgICAgICAgJiYgb2xkT3Jp
ZW50YXRpb24gPT0gbmV3T3JpZW50YXRpb24KICAgICAgICAgJiYgVUlFZGdlSW5zZXRzRXF1YWxU
b0VkZ2VJbnNldHMob2xkT2JzY3VyZWRJbnNldHMsIG5ld09ic2N1cmVkSW5zZXRzKSkgewotICAg
ICAgICBfaXNBbmltYXRpbmdSZXNpemUgPSBOTzsKKyAgICAgICAgX2R5bmFtaWNWaWV3cG9ydFVw
ZGF0ZU1vZGUgPSBEeW5hbWljVmlld3BvcnRVcGRhdGVNb2RlOjpOb3RSZXNpemluZzsKICAgICAg
ICAgW3NlbGYgX3VwZGF0ZVZpc2libGVDb250ZW50UmVjdHNdOwogICAgICAgICByZXR1cm47CiAg
ICAgfQpAQCAtMjIyNyw3ICsyMjQzLDcgQEAgc3RhdGljIGlubGluZSBXZWJLaXQ6OkZpbmRPcHRp
b25zIHRvRmluZE9wdGlvbnMoX1dLRmluZE9wdGlvbnMgd2tGaW5kT3B0aW9ucykKIAogLSAodm9p
ZClfZW5kQW5pbWF0ZWRSZXNpemUKIHsKLSAgICBpZiAoIV9pc0FuaW1hdGluZ1Jlc2l6ZSkKKyAg
ICBpZiAoX2R5bmFtaWNWaWV3cG9ydFVwZGF0ZU1vZGUgPT0gRHluYW1pY1ZpZXdwb3J0VXBkYXRl
TW9kZTo6Tm90UmVzaXppbmcpCiAgICAgICAgIHJldHVybjsKIAogICAgIF9wYWdlLT5zeW5jaHJv
bml6ZUR5bmFtaWNWaWV3cG9ydFVwZGF0ZSgpOwpAQCAtMjI2NSwxMCArMjI4MSwyMCBAQCBzdGF0
aWMgaW5saW5lIFdlYktpdDo6RmluZE9wdGlvbnMgdG9GaW5kT3B0aW9ucyhfV0tGaW5kT3B0aW9u
cyB3a0ZpbmRPcHRpb25zKQogICAgIF9yZXNpemVBbmltYXRpb25WaWV3ID0gbmlsOwogICAgIF9y
ZXNpemVBbmltYXRpb25UcmFuc2Zvcm1BZGp1c3RtZW50cyA9IENBVHJhbnNmb3JtM0RJZGVudGl0
eTsKIAotICAgIF9pc0FuaW1hdGluZ1Jlc2l6ZSA9IE5POworICAgIF9keW5hbWljVmlld3BvcnRV
cGRhdGVNb2RlID0gRHluYW1pY1ZpZXdwb3J0VXBkYXRlTW9kZTo6Tm90UmVzaXppbmc7CisgICAg
W19jb250ZW50VmlldyBzZXRIaWRkZW46Tk9dOwogICAgIFtzZWxmIF91cGRhdGVWaXNpYmxlQ29u
dGVudFJlY3RzXTsKIH0KIAorLSAodm9pZClfcmVzaXplV2hpbGVIaWRpbmdDb250ZW50V2l0aFVw
ZGF0ZXM6KHZvaWQgKF4pKHZvaWQpKXVwZGF0ZUJsb2NrCit7CisgICAgW3NlbGYgX2JlZ2luQW5p
bWF0ZWRSZXNpemVXaXRoVXBkYXRlczp1cGRhdGVCbG9ja107CisgICAgaWYgKF9keW5hbWljVmll
d3BvcnRVcGRhdGVNb2RlID09IER5bmFtaWNWaWV3cG9ydFVwZGF0ZU1vZGU6OlJlc2l6aW5nV2l0
aEFuaW1hdGlvbikgeworICAgICAgICBbX2NvbnRlbnRWaWV3IHNldEhpZGRlbjpZRVNdOworICAg
ICAgICBfZHluYW1pY1ZpZXdwb3J0VXBkYXRlTW9kZSA9IER5bmFtaWNWaWV3cG9ydFVwZGF0ZU1v
ZGU6OlJlc2l6aW5nV2l0aERvY3VtZW50SGlkZGVuOworICAgIH0KK30KKwogLSAodm9pZClfc2V0
T3ZlcmxhaWRBY2Nlc3NvcnlWaWV3c0luc2V0OihDR1NpemUpaW5zZXQKIHsKICAgICBbX2N1c3Rv
bUNvbnRlbnRWaWV3IHdlYl9zZXRPdmVybGFpZEFjY2Vzc29yeVZpZXdzSW5zZXQ6aW5zZXRdOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQ
cml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1By
aXZhdGUuaAppbmRleCA2MTUyMTZiYzkzMTY1NjBiNTQ1ZGIxYzkyMTk0ZjdlNjkwMzZmODEzLi45
MDM2NGJmMDM0YzI2YTJiODRlM2QwZGVjNDc2YTE0NWJiNmU0ZWQxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaApAQCAt
MTM3LDYgKzEzNyw3IEBAIHR5cGVkZWYgTlNfT1BUSU9OUyhOU1VJbnRlZ2VyLCBfV0tGaW5kT3B0
aW9ucykgewogCiAtICh2b2lkKV9iZWdpbkFuaW1hdGVkUmVzaXplV2l0aFVwZGF0ZXM6KHZvaWQg
KF4pKHZvaWQpKXVwZGF0ZUJsb2NrOwogLSAodm9pZClfZW5kQW5pbWF0ZWRSZXNpemU7CistICh2
b2lkKV9yZXNpemVXaGlsZUhpZGluZ0NvbnRlbnRXaXRoVXBkYXRlczoodm9pZCAoXikodm9pZCkp
dXBkYXRlQmxvY2s7CiAKIC0gKHZvaWQpX3NuYXBzaG90UmVjdDooQ0dSZWN0KXJlY3RJblZpZXdD
b29yZGluYXRlcyBpbnRvSW1hZ2VPZldpZHRoOihDR0Zsb2F0KWltYWdlV2lkdGggY29tcGxldGlv
bkhhbmRsZXI6KHZvaWQoXikoQ0dJbWFnZVJlZikpY29tcGxldGlvbkhhbmRsZXI7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>