<?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>176762</bug_id>
          
          <creation_ts>2017-09-11 18:59:38 -0700</creation_ts>
          <short_desc>Web Inspector: Canvas: improve recording controls and state management</short_desc>
          <delta_ts>2017-09-15 22:39:22 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>173807</blocked>
    
    <blocked>176893</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Matt Baker">mattbaker</reporter>
          <assigned_to name="Matt Baker">mattbaker</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>hi</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1347768</commentid>
    <comment_count>0</comment_count>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2017-09-11 18:59:38 -0700</bug_when>
    <thetext>Summary:
Improve recording controls and state management.

Issue #1:
The Canvas model toggles the recording, and call methods on CanvasAgent.
  - Fixing the layering issue by moving this into CanvasManager will make it simple to address issue #2.

Issue #2:
The record button can become out of sync with the current recording state:
  - Update to reflect the current state when CanvasContentView is shown
  - Disable when the CanvasContentView is not the active recording

Steps to Reproduce:
1. Goto devinrousso.com
2. Start a canvas recording
3. Close the Resources tab
4. Reopen tab and canvas view
  =&gt; Recording is still in progress, record button is red (not toggled)

1. Goto https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Basic_animations
2. Start a canvas recording
3. Switch to another canvas view
  =&gt; Record button is enabled, even though another canvas is recording</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1347770</commentid>
    <comment_count>1</comment_count>
      <attachid>320511</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2017-09-11 19:04:14 -0700</bug_when>
    <thetext>Created attachment 320511
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1347772</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-09-11 19:05:06 -0700</bug_when>
    <thetext>&lt;rdar://problem/34382294&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1347786</commentid>
    <comment_count>3</comment_count>
      <attachid>320511</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2017-09-11 21:04:11 -0700</bug_when>
    <thetext>Comment on attachment 320511
Patch

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

r=me, with a few questions/clarifications

&gt; Source/WebInspectorUI/UserInterface/Controllers/CanvasManager.js:58
&gt; +        console.assert(!this._recordingCanvas, &quot;Recording already started.&quot;);

Are we only going to allow one recording to be captured at a time?  Totally fine either way.  I just want to clarify.

&gt; Source/WebInspectorUI/UserInterface/Controllers/CanvasManager.js:71
&gt; +            this.dispatchEventToListeners(WI.CanvasManager.RecordingFinished, {canvas, recording: null});

Typo: WI.CanvasManager.Event.RecordingFinished

Does this cause any issues when calling `WI.showRepresentedObject(event.data.recording);` since `recording` is `null`?

&gt; Source/WebInspectorUI/UserInterface/Views/CanvasContentView.css:44
&gt; +.navigation-bar &gt; .item.canvas-record.disabled {

Does the `.disabled` state not already apply styling, or is it just not obvious enough?

&gt; Source/WebInspectorUI/UserInterface/Views/CanvasContentView.js:103
&gt; +        if (this._recordButtonNavigationItem.toggled)

Instead of checking the state of the NavigationItem, I think it&apos;s cleaner to check to see if `WI.canvasManager.recordingCanvas` is truthy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1347788</commentid>
    <comment_count>4</comment_count>
      <attachid>320511</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2017-09-11 21:11:58 -0700</bug_when>
    <thetext>Comment on attachment 320511
Patch

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

&gt;&gt; Source/WebInspectorUI/UserInterface/Controllers/CanvasManager.js:58
&gt;&gt; +        console.assert(!this._recordingCanvas, &quot;Recording already started.&quot;);
&gt; 
&gt; Are we only going to allow one recording to be captured at a time?  Totally fine either way.  I just want to clarify.

We don&apos;t have plans to support multiple recordings anytime soon, but that isn&apos;t to say it will never happen. I made these changes with scaling in mind.

&gt;&gt; Source/WebInspectorUI/UserInterface/Controllers/CanvasManager.js:71
&gt;&gt; +            this.dispatchEventToListeners(WI.CanvasManager.RecordingFinished, {canvas, recording: null});
&gt; 
&gt; Typo: WI.CanvasManager.Event.RecordingFinished
&gt; 
&gt; Does this cause any issues when calling `WI.showRepresentedObject(event.data.recording);` since `recording` is `null`?

Will add a check in the event handler.

&gt;&gt; Source/WebInspectorUI/UserInterface/Views/CanvasContentView.css:44
&gt;&gt; +.navigation-bar &gt; .item.canvas-record.disabled {
&gt; 
&gt; Does the `.disabled` state not already apply styling, or is it just not obvious enough?

Surprisingly, there was no styling.

&gt; Source/WebInspectorUI/UserInterface/Views/CanvasContentView.js:120
&gt;          WI.showRepresentedObject(event.data.recording);

Will add a check for a null recording here, since RecordingFinished now notifies for recordings that were requested but failed to start in the backend. I don&apos;t think we need to do anything fancy in the null case, just log the error.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1347793</commentid>
    <comment_count>5</comment_count>
      <attachid>320515</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2017-09-11 21:22:20 -0700</bug_when>
    <thetext>Created attachment 320515
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1347794</commentid>
    <comment_count>6</comment_count>
      <attachid>320516</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2017-09-11 21:24:46 -0700</bug_when>
    <thetext>Created attachment 320516
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1347802</commentid>
    <comment_count>7</comment_count>
      <attachid>320516</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-09-11 22:06:10 -0700</bug_when>
    <thetext>Comment on attachment 320516
Patch for landing

Clearing flags on attachment: 320516

Committed r221901: &lt;http://trac.webkit.org/changeset/221901&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1347803</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-09-11 22:06:11 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>320511</attachid>
            <date>2017-09-11 19:04:14 -0700</date>
            <delta_ts>2017-09-11 21:22:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-176762-20170911190413.patch</filename>
            <type>text/plain</type>
            <size>7306</size>
            <attacher name="Matt Baker">mattbaker</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIxODc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCA3
MTY0OTY3MmU5ZmE1YTA2ZWMwNDUwZTVmOTlmYmNiNmVlZGI5YjUzLi44MWRjMDRiYjdiOTI1MzA5
NzcwY2JhN2FmYmE4NTI5NmYwZDJmMjc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMiBAQAorMjAxNy0wOS0xMSAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQ2FudmFzOiBpbXByb3ZlIHJlY29yZGluZyBjb250
cm9scyBhbmQgc3RhdGUgbWFuYWdlbWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTc2NzYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQ2FudmFzTWFuYWdlciBzaG91bGQgYmUgcmVzcG9uc2libGUgZm9y
IHN0YXJ0aW5nL3N0b3BwaW5nIHJlY29yZGluZ3MKKyAgICAgICAgYW5kIHRyYWNraW5nIHN0YXRl
LiBGaXhpbmcgdGhpcyBsYXllcmluZyBpc3N1ZSBsZXRzIENhbnZhc0NvbnRlbnRWaWV3CisgICAg
ICAgIGJldHRlciBtYW5hZ2UgaXRzIHJlY29yZGluZyBVSS4KKworICAgICAgICAqIFVzZXJJbnRl
cmZhY2UvQ29udHJvbGxlcnMvQ2FudmFzTWFuYWdlci5qczoKKyAgICAgICAgKFdJLkNhbnZhc01h
bmFnZXIpOgorICAgICAgICAoV0kuQ2FudmFzTWFuYWdlci5wcm90b3R5cGUuZ2V0IHJlY29yZGlu
Z0NhbnZhcyk6CisgICAgICAgIChXSS5DYW52YXNNYW5hZ2VyLnByb3RvdHlwZS5zdGFydFJlY29y
ZGluZyk6CisgICAgICAgIChXSS5DYW52YXNNYW5hZ2VyLnByb3RvdHlwZS5zdG9wUmVjb3JkaW5n
KToKKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvTW9kZWxzL0NhbnZhcy5qczoKKyAgICAgICAg
KFdJLkNhbnZhcy5wcm90b3R5cGUudG9nZ2xlUmVjb3JkaW5nKTogRGVsZXRlZC4KKworICAgICAg
ICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvQ2FudmFzQ29udGVudFZpZXcuY3NzOgorICAgICAgICAo
Lm5hdmlnYXRpb24tYmFyID4gLml0ZW0uY2FudmFzLXJlY29yZC5kaXNhYmxlZCk6CisKKyAgICAg
ICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0NhbnZhc0NvbnRlbnRWaWV3LmpzOgorICAgICAgICAo
V0kuQ2FudmFzQ29udGVudFZpZXcucHJvdG90eXBlLnNob3duKToKKyAgICAgICAgKFdJLkNhbnZh
c0NvbnRlbnRWaWV3LnByb3RvdHlwZS5fdG9nZ2xlUmVjb3JkaW5nKToKKyAgICAgICAgKFdJLkNh
bnZhc0NvbnRlbnRWaWV3LnByb3RvdHlwZS5fcmVjb3JkaW5nRmluaXNoZWQpOgorICAgICAgICAo
V0kuQ2FudmFzQ29udGVudFZpZXcucHJvdG90eXBlLl91cGRhdGVSZWNvcmROYXZpZ2F0aW9uSXRl
bSk6CisKIDIwMTctMDktMTEgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4K
IAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBNYWtlIERhc2hib2FyZCBUaW1lbGluZSBpY29uIGFu
ZCBUaW1lbGluZSB0YWIgaWNvbiBtb3JlIHNpbWlsYXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0NhbnZhc01hbmFnZXIuanMgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9DYW52YXNNYW5h
Z2VyLmpzCmluZGV4IDY2ODFlZWU4MDg0MzZmOTczZGVmMzE4YTk5NmZlNGEwYzQ5OTYxNjguLmE0
MzYwMWFkNTFmMDk3MDdmZTAwMDIyMThjYWNlZjgxNmZkZDBjMDUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0NhbnZhc01hbmFnZXIu
anMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMv
Q2FudmFzTWFuYWdlci5qcwpAQCAtMzMsNiArMzMsNyBAQCBXSS5DYW52YXNNYW5hZ2VyID0gY2xh
c3MgQ2FudmFzTWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAogCiAgICAgICAgIHRoaXMuX2NhbnZh
c0lkZW50aWZpZXJNYXAgPSBuZXcgTWFwOwogICAgICAgICB0aGlzLl9zaGFkZXJQcm9ncmFtSWRl
bnRpZmllck1hcCA9IG5ldyBNYXA7CisgICAgICAgIHRoaXMuX3JlY29yZGluZ0NhbnZhcyA9IG51
bGw7CiAKICAgICAgICAgaWYgKHdpbmRvdy5DYW52YXNBZ2VudCkKICAgICAgICAgICAgIENhbnZh
c0FnZW50LmVuYWJsZSgpOwpAQCAtNTAsNiArNTEsNDIgQEAgV0kuQ2FudmFzTWFuYWdlciA9IGNs
YXNzIENhbnZhc01hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAgcmV0dXJuIFsuLi50
aGlzLl9zaGFkZXJQcm9ncmFtSWRlbnRpZmllck1hcC52YWx1ZXMoKV07CiAgICAgfQogCisgICAg
Z2V0IHJlY29yZGluZ0NhbnZhcygpIHsgcmV0dXJuIHRoaXMuX3JlY29yZGluZ0NhbnZhczsgfQor
CisgICAgc3RhcnRSZWNvcmRpbmcoY2FudmFzLCBzaW5nbGVGcmFtZSkKKyAgICB7CisgICAgICAg
IGNvbnNvbGUuYXNzZXJ0KCF0aGlzLl9yZWNvcmRpbmdDYW52YXMsICJSZWNvcmRpbmcgYWxyZWFk
eSBzdGFydGVkLiIpOworICAgICAgICBpZiAodGhpcy5fcmVjb3JkaW5nQ2FudmFzKQorICAgICAg
ICAgICAgcmV0dXJuOworCisgICAgICAgIHRoaXMuX3JlY29yZGluZ0NhbnZhcyA9IGNhbnZhczsK
KworICAgICAgICBDYW52YXNBZ2VudC5yZXF1ZXN0UmVjb3JkaW5nKGNhbnZhcy5pZGVudGlmaWVy
LCBzaW5nbGVGcmFtZSwgKGVycm9yKSA9PiB7CisgICAgICAgICAgICBpZiAoIWVycm9yKQorICAg
ICAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7
CisgICAgICAgICAgICB0aGlzLl9yZWNvcmRpbmdDYW52YXMgPSBudWxsOworCisgICAgICAgICAg
ICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXSS5DYW52YXNNYW5hZ2VyLlJlY29yZGlu
Z0ZpbmlzaGVkLCB7Y2FudmFzLCByZWNvcmRpbmc6IG51bGx9KTsKKyAgICAgICAgfSk7CisgICAg
fQorCisgICAgc3RvcFJlY29yZGluZygpCisgICAgeworICAgICAgICBjb25zb2xlLmFzc2VydCh0
aGlzLl9yZWNvcmRpbmdDYW52YXMsICJObyByZWNvcmRpbmcgc3RhcnRlZC4iKTsKKyAgICAgICAg
aWYgKCF0aGlzLl9yZWNvcmRpbmdDYW52YXMpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAg
ICAgbGV0IGNhbnZhc0lkZW50aWZpZXIgPSB0aGlzLl9yZWNvcmRpbmdDYW52YXMuaWRlbnRpZmll
cjsKKyAgICAgICAgdGhpcy5fcmVjb3JkaW5nQ2FudmFzID0gbnVsbDsKKworICAgICAgICBDYW52
YXNBZ2VudC5jYW5jZWxSZWNvcmRpbmcoY2FudmFzSWRlbnRpZmllciwgKGVycm9yKSA9PiB7Cisg
ICAgICAgICAgICBpZiAoZXJyb3IpCisgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnJv
cik7CisgICAgICAgIH0pOworICAgIH0KKwogICAgIGNhbnZhc0FkZGVkKGNhbnZhc1BheWxvYWQp
CiAgICAgewogICAgICAgICAvLyBDYWxsZWQgZnJvbSBXSS5DYW52YXNPYnNlcnZlci4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9DYW52YXMu
anMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvQ2FudmFzLmpz
CmluZGV4IGZmY2Q5MjE5M2Y3YmI1MmJmYWEwYjJmYmE3ODEzZGQwZjdlZDJhYWQuLjkzNTI3ZTE1
MTIwNDE4Mzg1MzU1MmE3OWIwNWZiZjc1ZTU2YWI4OTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9DYW52YXMuanMKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0NhbnZhcy5qcwpAQCAtMTk4LDE0ICsx
OTgsNiBAQCBXSS5DYW52YXMgPSBjbGFzcyBDYW52YXMgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAg
ICAgfSk7CiAgICAgfQogCi0gICAgdG9nZ2xlUmVjb3JkaW5nKGZsYWcsIHNpbmdsZUZyYW1lLCBj
YWxsYmFjaykKLSAgICB7Ci0gICAgICAgIGlmIChmbGFnKQotICAgICAgICAgICAgQ2FudmFzQWdl
bnQucmVxdWVzdFJlY29yZGluZyh0aGlzLl9pZGVudGlmaWVyLCBzaW5nbGVGcmFtZSwgY2FsbGJh
Y2spOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBDYW52YXNBZ2VudC5jYW5jZWxSZWNvcmRp
bmcodGhpcy5faWRlbnRpZmllciwgY2FsbGJhY2spOwotICAgIH0KLQogICAgIHNhdmVJZGVudGl0
eVRvQ29va2llKGNvb2tpZSkKICAgICB7CiAgICAgICAgIGNvb2tpZVtXSS5DYW52YXMuRnJhbWVV
UkxDb29raWVLZXldID0gdGhpcy5fZnJhbWUudXJsLmhhc2g7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9DYW52YXNDb250ZW50Vmlldy5jc3Mg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9DYW52YXNDb250ZW50
Vmlldy5jc3MKaW5kZXggNmI1NWU0MjYyN2RmZGM4ZGU1NTZhZDc2NTNiYzY2YWZhNjYyNjdhZC4u
MTNlNjcyYzU0OWZhNzk5M2IzZTNjNzM4NDUxN2FjYjk2Y2FkYjRlMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ2FudmFzQ29udGVudFZpZXcu
Y3NzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NhbnZh
c0NvbnRlbnRWaWV3LmNzcwpAQCAtNDAsMyArNDAsOCBAQAogICAgIG1heC13aWR0aDogMTAwJTsK
ICAgICBtYXgtaGVpZ2h0OiAxMDAlOwogfQorCisubmF2aWdhdGlvbi1iYXIgPiAuaXRlbS5jYW52
YXMtcmVjb3JkLmRpc2FibGVkIHsKKyAgICBmaWx0ZXI6IGdyYXlzY2FsZSgpOworICAgIG9wYWNp
dHk6IDAuNTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL0NhbnZhc0NvbnRlbnRWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvQ2FudmFzQ29udGVudFZpZXcuanMKaW5kZXggOTg1ZWM0NTVhOTNj
MTViYzNlNjEyNDkzOWM0NjZkOTNlNjMyZmU0MS4uY2NhOTMyZjNhOTc4Y2JiOGYzYzk2OGJmZjVl
OWU2OGVlNGNlNjQzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvQ2FudmFzQ29udGVudFZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ2FudmFzQ29udGVudFZpZXcuanMKQEAgLTc3LDYgKzc3
LDcgQEAgV0kuQ2FudmFzQ29udGVudFZpZXcgPSBjbGFzcyBDYW52YXNDb250ZW50VmlldyBleHRl
bmRzIFdJLkNvbnRlbnRWaWV3CiAgICAgICAgIHN1cGVyLnNob3duKCk7CiAKICAgICAgICAgdGhp
cy5fc2hvd1ByZXZpZXcoKTsKKyAgICAgICAgdGhpcy5fdXBkYXRlUmVjb3JkTmF2aWdhdGlvbkl0
ZW0oKTsKIAogICAgICAgICBXSS5zZXR0aW5ncy5zaG93SW1hZ2VHcmlkLmFkZEV2ZW50TGlzdGVu
ZXIoV0kuU2V0dGluZy5FdmVudC5DaGFuZ2VkLCB0aGlzLl91cGRhdGVJbWFnZUdyaWQsIHRoaXMp
OwogICAgIH0KQEAgLTk5LDIzICsxMDAsMjMgQEAgV0kuQ2FudmFzQ29udGVudFZpZXcgPSBjbGFz
cyBDYW52YXNDb250ZW50VmlldyBleHRlbmRzIFdJLkNvbnRlbnRWaWV3CiAKICAgICBfdG9nZ2xl
UmVjb3JkaW5nKGV2ZW50KQogICAgIHsKLSAgICAgICAgbGV0IHRvZ2dsZWQgPSB0aGlzLl9yZWNv
cmRCdXR0b25OYXZpZ2F0aW9uSXRlbS50b2dnbGVkOwotICAgICAgICBsZXQgc2luZ2xlRnJhbWUg
PSBldmVudC5kYXRhLm5hdGl2ZUV2ZW50LnNoaWZ0S2V5OwotICAgICAgICB0aGlzLnJlcHJlc2Vu
dGVkT2JqZWN0LnRvZ2dsZVJlY29yZGluZyghdG9nZ2xlZCwgc2luZ2xlRnJhbWUsIChlcnJvcikg
PT4gewotICAgICAgICAgICAgY29uc29sZS5hc3NlcnQoIWVycm9yKTsKKyAgICAgICAgaWYgKHRo
aXMuX3JlY29yZEJ1dHRvbk5hdmlnYXRpb25JdGVtLnRvZ2dsZWQpCisgICAgICAgICAgICBXSS5j
YW52YXNNYW5hZ2VyLnN0b3BSZWNvcmRpbmcoKTsKKyAgICAgICAgZWxzZSB7CisgICAgICAgICAg
ICBsZXQgc2luZ2xlRnJhbWUgPSBldmVudC5kYXRhLm5hdGl2ZUV2ZW50LnNoaWZ0S2V5OworICAg
ICAgICAgICAgV0kuY2FudmFzTWFuYWdlci5zdGFydFJlY29yZGluZyh0aGlzLnJlcHJlc2VudGVk
T2JqZWN0LCBzaW5nbGVGcmFtZSk7CisgICAgICAgIH0KIAotICAgICAgICAgICAgdGhpcy5fcmVj
b3JkQnV0dG9uTmF2aWdhdGlvbkl0ZW0udG9nZ2xlZCA9ICF0b2dnbGVkOwotICAgICAgICB9KTsK
KyAgICAgICAgdGhpcy5fdXBkYXRlUmVjb3JkTmF2aWdhdGlvbkl0ZW0oKTsKICAgICB9CiAKICAg
ICBfcmVjb3JkaW5nRmluaXNoZWQoZXZlbnQpCiAgICAgeworICAgICAgICB0aGlzLl91cGRhdGVS
ZWNvcmROYXZpZ2F0aW9uSXRlbSgpOworCiAgICAgICAgIGlmIChldmVudC5kYXRhLmNhbnZhcyAh
PT0gdGhpcy5yZXByZXNlbnRlZE9iamVjdCkKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAg
ICBpZiAodGhpcy5fcmVjb3JkQnV0dG9uTmF2aWdhdGlvbkl0ZW0pCi0gICAgICAgICAgICB0aGlz
Ll9yZWNvcmRCdXR0b25OYXZpZ2F0aW9uSXRlbS50b2dnbGVkID0gZmFsc2U7Ci0KICAgICAgICAg
V0kuc2hvd1JlcHJlc2VudGVkT2JqZWN0KGV2ZW50LmRhdGEucmVjb3JkaW5nKTsKICAgICB9CiAK
QEAgLTE1OSw2ICsxNjAsMTYgQEAgV0kuQ2FudmFzQ29udGVudFZpZXcgPSBjbGFzcyBDYW52YXND
b250ZW50VmlldyBleHRlbmRzIFdJLkNvbnRlbnRWaWV3CiAgICAgICAgIH0pOwogICAgIH0KIAor
ICAgIF91cGRhdGVSZWNvcmROYXZpZ2F0aW9uSXRlbSgpCisgICAgeworICAgICAgICBpZiAoIXRo
aXMuX3JlY29yZEJ1dHRvbk5hdmlnYXRpb25JdGVtKQorICAgICAgICAgICAgcmV0dXJuOworCisg
ICAgICAgIGxldCBpc1JlY29yZGluZ0NhbnZhcyA9IHRoaXMucmVwcmVzZW50ZWRPYmplY3QgPT09
IFdJLmNhbnZhc01hbmFnZXIucmVjb3JkaW5nQ2FudmFzOworICAgICAgICB0aGlzLl9yZWNvcmRC
dXR0b25OYXZpZ2F0aW9uSXRlbS5lbmFibGVkID0gaXNSZWNvcmRpbmdDYW52YXMgfHwgIVdJLmNh
bnZhc01hbmFnZXIucmVjb3JkaW5nQ2FudmFzOworICAgICAgICB0aGlzLl9yZWNvcmRCdXR0b25O
YXZpZ2F0aW9uSXRlbS50b2dnbGVkID0gaXNSZWNvcmRpbmdDYW52YXM7CisgICAgfQorCiAgICAg
X3VwZGF0ZUltYWdlR3JpZCgpCiAgICAgewogICAgICAgICBpZiAoIXRoaXMuX3ByZXZpZXdJbWFn
ZUVsZW1lbnQpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>320515</attachid>
            <date>2017-09-11 21:22:20 -0700</date>
            <delta_ts>2017-09-11 21:24:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-176762-20170911212220.patch</filename>
            <type>text/plain</type>
            <size>7865</size>
            <attacher name="Matt Baker">mattbaker</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIxODc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCA3
MTY0OTY3MmU5ZmE1YTA2ZWMwNDUwZTVmOTlmYmNiNmVlZGI5YjUzLi45NDNlNDY0M2E1MmE2YmMx
YjRkNjA2ZGQ3NjI0NjU0NjA0N2IxNzdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNCBAQAorMjAxNy0wOS0xMSAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQ2FudmFzOiBpbXByb3ZlIHJlY29yZGluZyBjb250
cm9scyBhbmQgc3RhdGUgbWFuYWdlbWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTc2NzYyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zNDM4MjI5
ND4KKworICAgICAgICBSZXZpZXdlZCBieSBSZXZpZXdlZCBieSBEZXZpbiBSb3Vzc28uCisKKyAg
ICAgICAgQ2FudmFzTWFuYWdlciBzaG91bGQgYmUgcmVzcG9uc2libGUgZm9yIHN0YXJ0aW5nL3N0
b3BwaW5nIHJlY29yZGluZ3MKKyAgICAgICAgYW5kIHRyYWNraW5nIHN0YXRlLiBGaXhpbmcgdGhp
cyBsYXllcmluZyBpc3N1ZSBsZXRzIENhbnZhc0NvbnRlbnRWaWV3CisgICAgICAgIGJldHRlciBt
YW5hZ2UgaXRzIHJlY29yZGluZyBVSS4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvQ29udHJv
bGxlcnMvQ2FudmFzTWFuYWdlci5qczoKKyAgICAgICAgKFdJLkNhbnZhc01hbmFnZXIpOgorICAg
ICAgICAoV0kuQ2FudmFzTWFuYWdlci5wcm90b3R5cGUuZ2V0IHJlY29yZGluZ0NhbnZhcyk6Cisg
ICAgICAgIChXSS5DYW52YXNNYW5hZ2VyLnByb3RvdHlwZS5zdGFydFJlY29yZGluZyk6CisgICAg
ICAgIChXSS5DYW52YXNNYW5hZ2VyLnByb3RvdHlwZS5zdG9wUmVjb3JkaW5nKToKKworICAgICAg
ICAqIFVzZXJJbnRlcmZhY2UvTW9kZWxzL0NhbnZhcy5qczoKKyAgICAgICAgKFdJLkNhbnZhcy5w
cm90b3R5cGUuZ2V0IGlzUmVjb3JkaW5nKToKKyAgICAgICAgKFdJLkNhbnZhcy5wcm90b3R5cGUu
dG9nZ2xlUmVjb3JkaW5nKTogRGVsZXRlZC4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmll
d3MvQ2FudmFzQ29udGVudFZpZXcuY3NzOgorICAgICAgICAoLm5hdmlnYXRpb24tYmFyID4gLml0
ZW0uY2FudmFzLXJlY29yZC5kaXNhYmxlZCk6CisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1Zp
ZXdzL0NhbnZhc0NvbnRlbnRWaWV3LmpzOgorICAgICAgICAoV0kuQ2FudmFzQ29udGVudFZpZXcu
cHJvdG90eXBlLnNob3duKToKKyAgICAgICAgKFdJLkNhbnZhc0NvbnRlbnRWaWV3LnByb3RvdHlw
ZS5fdG9nZ2xlUmVjb3JkaW5nKToKKyAgICAgICAgKFdJLkNhbnZhc0NvbnRlbnRWaWV3LnByb3Rv
dHlwZS5fcmVjb3JkaW5nRmluaXNoZWQpOgorICAgICAgICAoV0kuQ2FudmFzQ29udGVudFZpZXcu
cHJvdG90eXBlLl91cGRhdGVSZWNvcmROYXZpZ2F0aW9uSXRlbSk6CisKIDIwMTctMDktMTEgIEpv
c2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVj
dG9yOiBNYWtlIERhc2hib2FyZCBUaW1lbGluZSBpY29uIGFuZCBUaW1lbGluZSB0YWIgaWNvbiBt
b3JlIHNpbWlsYXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL0NvbnRyb2xsZXJzL0NhbnZhc01hbmFnZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9Db250cm9sbGVycy9DYW52YXNNYW5hZ2VyLmpzCmluZGV4IDY2ODFlZWU4
MDg0MzZmOTczZGVmMzE4YTk5NmZlNGEwYzQ5OTYxNjguLjU3N2RmMjEzNzJkNzc1MDQ4OTVkOWQ1
NTQ0MDNlZGQ5YmVlNWIwMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL0NvbnRyb2xsZXJzL0NhbnZhc01hbmFnZXIuanMKKysrIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvQ2FudmFzTWFuYWdlci5qcwpAQCAt
MzMsNiArMzMsNyBAQCBXSS5DYW52YXNNYW5hZ2VyID0gY2xhc3MgQ2FudmFzTWFuYWdlciBleHRl
bmRzIFdJLk9iamVjdAogCiAgICAgICAgIHRoaXMuX2NhbnZhc0lkZW50aWZpZXJNYXAgPSBuZXcg
TWFwOwogICAgICAgICB0aGlzLl9zaGFkZXJQcm9ncmFtSWRlbnRpZmllck1hcCA9IG5ldyBNYXA7
CisgICAgICAgIHRoaXMuX3JlY29yZGluZ0NhbnZhcyA9IG51bGw7CiAKICAgICAgICAgaWYgKHdp
bmRvdy5DYW52YXNBZ2VudCkKICAgICAgICAgICAgIENhbnZhc0FnZW50LmVuYWJsZSgpOwpAQCAt
NTAsNiArNTEsNDIgQEAgV0kuQ2FudmFzTWFuYWdlciA9IGNsYXNzIENhbnZhc01hbmFnZXIgZXh0
ZW5kcyBXSS5PYmplY3QKICAgICAgICAgcmV0dXJuIFsuLi50aGlzLl9zaGFkZXJQcm9ncmFtSWRl
bnRpZmllck1hcC52YWx1ZXMoKV07CiAgICAgfQogCisgICAgZ2V0IHJlY29yZGluZ0NhbnZhcygp
IHsgcmV0dXJuIHRoaXMuX3JlY29yZGluZ0NhbnZhczsgfQorCisgICAgc3RhcnRSZWNvcmRpbmco
Y2FudmFzLCBzaW5nbGVGcmFtZSkKKyAgICB7CisgICAgICAgIGNvbnNvbGUuYXNzZXJ0KCF0aGlz
Ll9yZWNvcmRpbmdDYW52YXMsICJSZWNvcmRpbmcgYWxyZWFkeSBzdGFydGVkLiIpOworICAgICAg
ICBpZiAodGhpcy5fcmVjb3JkaW5nQ2FudmFzKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAg
ICAgIHRoaXMuX3JlY29yZGluZ0NhbnZhcyA9IGNhbnZhczsKKworICAgICAgICBDYW52YXNBZ2Vu
dC5yZXF1ZXN0UmVjb3JkaW5nKGNhbnZhcy5pZGVudGlmaWVyLCBzaW5nbGVGcmFtZSwgKGVycm9y
KSA9PiB7CisgICAgICAgICAgICBpZiAoIWVycm9yKQorICAgICAgICAgICAgICAgIHJldHVybjsK
KworICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7CisgICAgICAgICAgICB0aGlzLl9y
ZWNvcmRpbmdDYW52YXMgPSBudWxsOworCisgICAgICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRU
b0xpc3RlbmVycyhXSS5DYW52YXNNYW5hZ2VyLkV2ZW50LlJlY29yZGluZ0ZpbmlzaGVkLCB7Y2Fu
dmFzLCByZWNvcmRpbmc6IG51bGx9KTsKKyAgICAgICAgfSk7CisgICAgfQorCisgICAgc3RvcFJl
Y29yZGluZygpCisgICAgeworICAgICAgICBjb25zb2xlLmFzc2VydCh0aGlzLl9yZWNvcmRpbmdD
YW52YXMsICJObyByZWNvcmRpbmcgc3RhcnRlZC4iKTsKKyAgICAgICAgaWYgKCF0aGlzLl9yZWNv
cmRpbmdDYW52YXMpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgbGV0IGNhbnZhc0lk
ZW50aWZpZXIgPSB0aGlzLl9yZWNvcmRpbmdDYW52YXMuaWRlbnRpZmllcjsKKyAgICAgICAgdGhp
cy5fcmVjb3JkaW5nQ2FudmFzID0gbnVsbDsKKworICAgICAgICBDYW52YXNBZ2VudC5jYW5jZWxS
ZWNvcmRpbmcoY2FudmFzSWRlbnRpZmllciwgKGVycm9yKSA9PiB7CisgICAgICAgICAgICBpZiAo
ZXJyb3IpCisgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7CisgICAgICAgIH0p
OworICAgIH0KKwogICAgIGNhbnZhc0FkZGVkKGNhbnZhc1BheWxvYWQpCiAgICAgewogICAgICAg
ICAvLyBDYWxsZWQgZnJvbSBXSS5DYW52YXNPYnNlcnZlci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9DYW52YXMuanMgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvQ2FudmFzLmpzCmluZGV4IGZmY2Q5MjE5
M2Y3YmI1MmJmYWEwYjJmYmE3ODEzZGQwZjdlZDJhYWQuLjMzZWRjYzg5ZTcwZjUzNTViNzI1MmUz
MTdjZWE3NDAzZmQwZGQ4MzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL01vZGVscy9DYW52YXMuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvTW9kZWxzL0NhbnZhcy5qcwpAQCAtMTA4LDYgKzEwOCwxMSBAQCBXSS5DYW52
YXMgPSBjbGFzcyBDYW52YXMgZXh0ZW5kcyBXSS5PYmplY3QKICAgICBnZXQgY29udGV4dEF0dHJp
YnV0ZXMoKSB7IHJldHVybiB0aGlzLl9jb250ZXh0QXR0cmlidXRlczsgfQogICAgIGdldCBzaGFk
ZXJQcm9ncmFtQ29sbGVjdGlvbigpIHsgcmV0dXJuIHRoaXMuX3NoYWRlclByb2dyYW1Db2xsZWN0
aW9uOyB9CiAKKyAgICBnZXQgaXNSZWNvcmRpbmcoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFdJ
LmNhbnZhc01hbmFnZXIucmVjb3JkaW5nQ2FudmFzID09PSB0aGlzOworICAgIH0KKwogICAgIGdl
dCBtZW1vcnlDb3N0KCkKICAgICB7CiAgICAgICAgIHJldHVybiB0aGlzLl9tZW1vcnlDb3N0OwpA
QCAtMTk4LDE0ICsyMDMsNiBAQCBXSS5DYW52YXMgPSBjbGFzcyBDYW52YXMgZXh0ZW5kcyBXSS5P
YmplY3QKICAgICAgICAgfSk7CiAgICAgfQogCi0gICAgdG9nZ2xlUmVjb3JkaW5nKGZsYWcsIHNp
bmdsZUZyYW1lLCBjYWxsYmFjaykKLSAgICB7Ci0gICAgICAgIGlmIChmbGFnKQotICAgICAgICAg
ICAgQ2FudmFzQWdlbnQucmVxdWVzdFJlY29yZGluZyh0aGlzLl9pZGVudGlmaWVyLCBzaW5nbGVG
cmFtZSwgY2FsbGJhY2spOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBDYW52YXNBZ2VudC5j
YW5jZWxSZWNvcmRpbmcodGhpcy5faWRlbnRpZmllciwgY2FsbGJhY2spOwotICAgIH0KLQogICAg
IHNhdmVJZGVudGl0eVRvQ29va2llKGNvb2tpZSkKICAgICB7CiAgICAgICAgIGNvb2tpZVtXSS5D
YW52YXMuRnJhbWVVUkxDb29raWVLZXldID0gdGhpcy5fZnJhbWUudXJsLmhhc2g7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9DYW52YXNDb250
ZW50Vmlldy5jc3MgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9D
YW52YXNDb250ZW50Vmlldy5jc3MKaW5kZXggNmI1NWU0MjYyN2RmZGM4ZGU1NTZhZDc2NTNiYzY2
YWZhNjYyNjdhZC4uMTNlNjcyYzU0OWZhNzk5M2IzZTNjNzM4NDUxN2FjYjk2Y2FkYjRlMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ2FudmFz
Q29udGVudFZpZXcuY3NzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL0NhbnZhc0NvbnRlbnRWaWV3LmNzcwpAQCAtNDAsMyArNDAsOCBAQAogICAgIG1heC13
aWR0aDogMTAwJTsKICAgICBtYXgtaGVpZ2h0OiAxMDAlOwogfQorCisubmF2aWdhdGlvbi1iYXIg
PiAuaXRlbS5jYW52YXMtcmVjb3JkLmRpc2FibGVkIHsKKyAgICBmaWx0ZXI6IGdyYXlzY2FsZSgp
OworICAgIG9wYWNpdHk6IDAuNTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NhbnZhc0NvbnRlbnRWaWV3LmpzIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ2FudmFzQ29udGVudFZpZXcuanMKaW5kZXgg
OTg1ZWM0NTVhOTNjMTViYzNlNjEyNDkzOWM0NjZkOTNlNjMyZmU0MS4uNWM3ZjhjMDk3ZDIwZjU2
OGY5YzVhZDM3MWQyNjZlNDA1MDM2NzUwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ2FudmFzQ29udGVudFZpZXcuanMKKysrIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ2FudmFzQ29udGVudFZpZXcuanMK
QEAgLTc3LDYgKzc3LDcgQEAgV0kuQ2FudmFzQ29udGVudFZpZXcgPSBjbGFzcyBDYW52YXNDb250
ZW50VmlldyBleHRlbmRzIFdJLkNvbnRlbnRWaWV3CiAgICAgICAgIHN1cGVyLnNob3duKCk7CiAK
ICAgICAgICAgdGhpcy5fc2hvd1ByZXZpZXcoKTsKKyAgICAgICAgdGhpcy5fdXBkYXRlUmVjb3Jk
TmF2aWdhdGlvbkl0ZW0oKTsKIAogICAgICAgICBXSS5zZXR0aW5ncy5zaG93SW1hZ2VHcmlkLmFk
ZEV2ZW50TGlzdGVuZXIoV0kuU2V0dGluZy5FdmVudC5DaGFuZ2VkLCB0aGlzLl91cGRhdGVJbWFn
ZUdyaWQsIHRoaXMpOwogICAgIH0KQEAgLTk5LDIyICsxMDAsMjcgQEAgV0kuQ2FudmFzQ29udGVu
dFZpZXcgPSBjbGFzcyBDYW52YXNDb250ZW50VmlldyBleHRlbmRzIFdJLkNvbnRlbnRWaWV3CiAK
ICAgICBfdG9nZ2xlUmVjb3JkaW5nKGV2ZW50KQogICAgIHsKLSAgICAgICAgbGV0IHRvZ2dsZWQg
PSB0aGlzLl9yZWNvcmRCdXR0b25OYXZpZ2F0aW9uSXRlbS50b2dnbGVkOwotICAgICAgICBsZXQg
c2luZ2xlRnJhbWUgPSBldmVudC5kYXRhLm5hdGl2ZUV2ZW50LnNoaWZ0S2V5OwotICAgICAgICB0
aGlzLnJlcHJlc2VudGVkT2JqZWN0LnRvZ2dsZVJlY29yZGluZyghdG9nZ2xlZCwgc2luZ2xlRnJh
bWUsIChlcnJvcikgPT4gewotICAgICAgICAgICAgY29uc29sZS5hc3NlcnQoIWVycm9yKTsKKyAg
ICAgICAgaWYgKHRoaXMucmVwcmVzZW50ZWRPYmplY3QuaXNSZWNvcmRpbmcpCisgICAgICAgICAg
ICBXSS5jYW52YXNNYW5hZ2VyLnN0b3BSZWNvcmRpbmcoKTsKKyAgICAgICAgZWxzZSBpZiAoIVdJ
LmNhbnZhc01hbmFnZXIucmVjb3JkaW5nQ2FudmFzKSB7CisgICAgICAgICAgICBsZXQgc2luZ2xl
RnJhbWUgPSBldmVudC5kYXRhLm5hdGl2ZUV2ZW50LnNoaWZ0S2V5OworICAgICAgICAgICAgV0ku
Y2FudmFzTWFuYWdlci5zdGFydFJlY29yZGluZyh0aGlzLnJlcHJlc2VudGVkT2JqZWN0LCBzaW5n
bGVGcmFtZSk7CisgICAgICAgIH0KIAotICAgICAgICAgICAgdGhpcy5fcmVjb3JkQnV0dG9uTmF2
aWdhdGlvbkl0ZW0udG9nZ2xlZCA9ICF0b2dnbGVkOwotICAgICAgICB9KTsKKyAgICAgICAgdGhp
cy5fdXBkYXRlUmVjb3JkTmF2aWdhdGlvbkl0ZW0oKTsKICAgICB9CiAKICAgICBfcmVjb3JkaW5n
RmluaXNoZWQoZXZlbnQpCiAgICAgeworICAgICAgICB0aGlzLl91cGRhdGVSZWNvcmROYXZpZ2F0
aW9uSXRlbSgpOworCiAgICAgICAgIGlmIChldmVudC5kYXRhLmNhbnZhcyAhPT0gdGhpcy5yZXBy
ZXNlbnRlZE9iamVjdCkKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICBpZiAodGhpcy5f
cmVjb3JkQnV0dG9uTmF2aWdhdGlvbkl0ZW0pCi0gICAgICAgICAgICB0aGlzLl9yZWNvcmRCdXR0
b25OYXZpZ2F0aW9uSXRlbS50b2dnbGVkID0gZmFsc2U7CisgICAgICAgIGlmICghZXZlbnQuZGF0
YS5yZWNvcmRpbmcpIHsKKyAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoIk1pc3NpbmcgcmVjb3Jk
aW5nLiIpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CiAKICAgICAgICAgV0kuc2hv
d1JlcHJlc2VudGVkT2JqZWN0KGV2ZW50LmRhdGEucmVjb3JkaW5nKTsKICAgICB9CkBAIC0xNTks
NiArMTY1LDE1IEBAIFdJLkNhbnZhc0NvbnRlbnRWaWV3ID0gY2xhc3MgQ2FudmFzQ29udGVudFZp
ZXcgZXh0ZW5kcyBXSS5Db250ZW50VmlldwogICAgICAgICB9KTsKICAgICB9CiAKKyAgICBfdXBk
YXRlUmVjb3JkTmF2aWdhdGlvbkl0ZW0oKQorICAgIHsKKyAgICAgICAgaWYgKCF0aGlzLl9yZWNv
cmRCdXR0b25OYXZpZ2F0aW9uSXRlbSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICB0
aGlzLl9yZWNvcmRCdXR0b25OYXZpZ2F0aW9uSXRlbS5lbmFibGVkID0gdGhpcy5yZXByZXNlbnRl
ZE9iamVjdC5pc1JlY29yZGluZyB8fCAhV0kuY2FudmFzTWFuYWdlci5yZWNvcmRpbmdDYW52YXM7
CisgICAgICAgIHRoaXMuX3JlY29yZEJ1dHRvbk5hdmlnYXRpb25JdGVtLnRvZ2dsZWQgPSB0aGlz
LnJlcHJlc2VudGVkT2JqZWN0LmlzUmVjb3JkaW5nOworICAgIH0KKwogICAgIF91cGRhdGVJbWFn
ZUdyaWQoKQogICAgIHsKICAgICAgICAgaWYgKCF0aGlzLl9wcmV2aWV3SW1hZ2VFbGVtZW50KQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>320516</attachid>
            <date>2017-09-11 21:24:46 -0700</date>
            <delta_ts>2017-09-11 22:06:10 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-176762-20170911212445.patch</filename>
            <type>text/plain</type>
            <size>7853</size>
            <attacher name="Matt Baker">mattbaker</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIxODc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCA3
MTY0OTY3MmU5ZmE1YTA2ZWMwNDUwZTVmOTlmYmNiNmVlZGI5YjUzLi4yZjJkNTQzYmNkMjJiZDU5
ZGZhODkzOTMxNjBiZThiNzljZmYzOGVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNCBAQAorMjAxNy0wOS0xMSAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQ2FudmFzOiBpbXByb3ZlIHJlY29yZGluZyBjb250
cm9scyBhbmQgc3RhdGUgbWFuYWdlbWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTc2NzYyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zNDM4MjI5
ND4KKworICAgICAgICBSZXZpZXdlZCBieSBEZXZpbiBSb3Vzc28uCisKKyAgICAgICAgQ2FudmFz
TWFuYWdlciBzaG91bGQgYmUgcmVzcG9uc2libGUgZm9yIHN0YXJ0aW5nL3N0b3BwaW5nIHJlY29y
ZGluZ3MKKyAgICAgICAgYW5kIHRyYWNraW5nIHN0YXRlLiBGaXhpbmcgdGhpcyBsYXllcmluZyBp
c3N1ZSBsZXRzIENhbnZhc0NvbnRlbnRWaWV3CisgICAgICAgIGJldHRlciBtYW5hZ2UgaXRzIHJl
Y29yZGluZyBVSS4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvQ2FudmFz
TWFuYWdlci5qczoKKyAgICAgICAgKFdJLkNhbnZhc01hbmFnZXIpOgorICAgICAgICAoV0kuQ2Fu
dmFzTWFuYWdlci5wcm90b3R5cGUuZ2V0IHJlY29yZGluZ0NhbnZhcyk6CisgICAgICAgIChXSS5D
YW52YXNNYW5hZ2VyLnByb3RvdHlwZS5zdGFydFJlY29yZGluZyk6CisgICAgICAgIChXSS5DYW52
YXNNYW5hZ2VyLnByb3RvdHlwZS5zdG9wUmVjb3JkaW5nKToKKworICAgICAgICAqIFVzZXJJbnRl
cmZhY2UvTW9kZWxzL0NhbnZhcy5qczoKKyAgICAgICAgKFdJLkNhbnZhcy5wcm90b3R5cGUuZ2V0
IGlzUmVjb3JkaW5nKToKKyAgICAgICAgKFdJLkNhbnZhcy5wcm90b3R5cGUudG9nZ2xlUmVjb3Jk
aW5nKTogRGVsZXRlZC4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvQ2FudmFzQ29u
dGVudFZpZXcuY3NzOgorICAgICAgICAoLm5hdmlnYXRpb24tYmFyID4gLml0ZW0uY2FudmFzLXJl
Y29yZC5kaXNhYmxlZCk6CisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0NhbnZhc0Nv
bnRlbnRWaWV3LmpzOgorICAgICAgICAoV0kuQ2FudmFzQ29udGVudFZpZXcucHJvdG90eXBlLnNo
b3duKToKKyAgICAgICAgKFdJLkNhbnZhc0NvbnRlbnRWaWV3LnByb3RvdHlwZS5fdG9nZ2xlUmVj
b3JkaW5nKToKKyAgICAgICAgKFdJLkNhbnZhc0NvbnRlbnRWaWV3LnByb3RvdHlwZS5fcmVjb3Jk
aW5nRmluaXNoZWQpOgorICAgICAgICAoV0kuQ2FudmFzQ29udGVudFZpZXcucHJvdG90eXBlLl91
cGRhdGVSZWNvcmROYXZpZ2F0aW9uSXRlbSk6CisKIDIwMTctMDktMTEgIEpvc2VwaCBQZWNvcmFy
byAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBNYWtlIERh
c2hib2FyZCBUaW1lbGluZSBpY29uIGFuZCBUaW1lbGluZSB0YWIgaWNvbiBtb3JlIHNpbWlsYXIK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xs
ZXJzL0NhbnZhc01hbmFnZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9Db250cm9sbGVycy9DYW52YXNNYW5hZ2VyLmpzCmluZGV4IDY2ODFlZWU4MDg0MzZmOTczZGVm
MzE4YTk5NmZlNGEwYzQ5OTYxNjguLjU3N2RmMjEzNzJkNzc1MDQ4OTVkOWQ1NTQ0MDNlZGQ5YmVl
NWIwMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Nv
bnRyb2xsZXJzL0NhbnZhc01hbmFnZXIuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvQ2FudmFzTWFuYWdlci5qcwpAQCAtMzMsNiArMzMsNyBA
QCBXSS5DYW52YXNNYW5hZ2VyID0gY2xhc3MgQ2FudmFzTWFuYWdlciBleHRlbmRzIFdJLk9iamVj
dAogCiAgICAgICAgIHRoaXMuX2NhbnZhc0lkZW50aWZpZXJNYXAgPSBuZXcgTWFwOwogICAgICAg
ICB0aGlzLl9zaGFkZXJQcm9ncmFtSWRlbnRpZmllck1hcCA9IG5ldyBNYXA7CisgICAgICAgIHRo
aXMuX3JlY29yZGluZ0NhbnZhcyA9IG51bGw7CiAKICAgICAgICAgaWYgKHdpbmRvdy5DYW52YXNB
Z2VudCkKICAgICAgICAgICAgIENhbnZhc0FnZW50LmVuYWJsZSgpOwpAQCAtNTAsNiArNTEsNDIg
QEAgV0kuQ2FudmFzTWFuYWdlciA9IGNsYXNzIENhbnZhc01hbmFnZXIgZXh0ZW5kcyBXSS5PYmpl
Y3QKICAgICAgICAgcmV0dXJuIFsuLi50aGlzLl9zaGFkZXJQcm9ncmFtSWRlbnRpZmllck1hcC52
YWx1ZXMoKV07CiAgICAgfQogCisgICAgZ2V0IHJlY29yZGluZ0NhbnZhcygpIHsgcmV0dXJuIHRo
aXMuX3JlY29yZGluZ0NhbnZhczsgfQorCisgICAgc3RhcnRSZWNvcmRpbmcoY2FudmFzLCBzaW5n
bGVGcmFtZSkKKyAgICB7CisgICAgICAgIGNvbnNvbGUuYXNzZXJ0KCF0aGlzLl9yZWNvcmRpbmdD
YW52YXMsICJSZWNvcmRpbmcgYWxyZWFkeSBzdGFydGVkLiIpOworICAgICAgICBpZiAodGhpcy5f
cmVjb3JkaW5nQ2FudmFzKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIHRoaXMuX3Jl
Y29yZGluZ0NhbnZhcyA9IGNhbnZhczsKKworICAgICAgICBDYW52YXNBZ2VudC5yZXF1ZXN0UmVj
b3JkaW5nKGNhbnZhcy5pZGVudGlmaWVyLCBzaW5nbGVGcmFtZSwgKGVycm9yKSA9PiB7CisgICAg
ICAgICAgICBpZiAoIWVycm9yKQorICAgICAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAg
ICAgY29uc29sZS5lcnJvcihlcnJvcik7CisgICAgICAgICAgICB0aGlzLl9yZWNvcmRpbmdDYW52
YXMgPSBudWxsOworCisgICAgICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhX
SS5DYW52YXNNYW5hZ2VyLkV2ZW50LlJlY29yZGluZ0ZpbmlzaGVkLCB7Y2FudmFzLCByZWNvcmRp
bmc6IG51bGx9KTsKKyAgICAgICAgfSk7CisgICAgfQorCisgICAgc3RvcFJlY29yZGluZygpCisg
ICAgeworICAgICAgICBjb25zb2xlLmFzc2VydCh0aGlzLl9yZWNvcmRpbmdDYW52YXMsICJObyBy
ZWNvcmRpbmcgc3RhcnRlZC4iKTsKKyAgICAgICAgaWYgKCF0aGlzLl9yZWNvcmRpbmdDYW52YXMp
CisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgbGV0IGNhbnZhc0lkZW50aWZpZXIgPSB0
aGlzLl9yZWNvcmRpbmdDYW52YXMuaWRlbnRpZmllcjsKKyAgICAgICAgdGhpcy5fcmVjb3JkaW5n
Q2FudmFzID0gbnVsbDsKKworICAgICAgICBDYW52YXNBZ2VudC5jYW5jZWxSZWNvcmRpbmcoY2Fu
dmFzSWRlbnRpZmllciwgKGVycm9yKSA9PiB7CisgICAgICAgICAgICBpZiAoZXJyb3IpCisgICAg
ICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7CisgICAgICAgIH0pOworICAgIH0KKwog
ICAgIGNhbnZhc0FkZGVkKGNhbnZhc1BheWxvYWQpCiAgICAgewogICAgICAgICAvLyBDYWxsZWQg
ZnJvbSBXSS5DYW52YXNPYnNlcnZlci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL01vZGVscy9DYW52YXMuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9Nb2RlbHMvQ2FudmFzLmpzCmluZGV4IGZmY2Q5MjE5M2Y3YmI1MmJmYWEw
YjJmYmE3ODEzZGQwZjdlZDJhYWQuLjMzZWRjYzg5ZTcwZjUzNTViNzI1MmUzMTdjZWE3NDAzZmQw
ZGQ4MzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01v
ZGVscy9DYW52YXMuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
TW9kZWxzL0NhbnZhcy5qcwpAQCAtMTA4LDYgKzEwOCwxMSBAQCBXSS5DYW52YXMgPSBjbGFzcyBD
YW52YXMgZXh0ZW5kcyBXSS5PYmplY3QKICAgICBnZXQgY29udGV4dEF0dHJpYnV0ZXMoKSB7IHJl
dHVybiB0aGlzLl9jb250ZXh0QXR0cmlidXRlczsgfQogICAgIGdldCBzaGFkZXJQcm9ncmFtQ29s
bGVjdGlvbigpIHsgcmV0dXJuIHRoaXMuX3NoYWRlclByb2dyYW1Db2xsZWN0aW9uOyB9CiAKKyAg
ICBnZXQgaXNSZWNvcmRpbmcoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFdJLmNhbnZhc01hbmFn
ZXIucmVjb3JkaW5nQ2FudmFzID09PSB0aGlzOworICAgIH0KKwogICAgIGdldCBtZW1vcnlDb3N0
KCkKICAgICB7CiAgICAgICAgIHJldHVybiB0aGlzLl9tZW1vcnlDb3N0OwpAQCAtMTk4LDE0ICsy
MDMsNiBAQCBXSS5DYW52YXMgPSBjbGFzcyBDYW52YXMgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAg
ICAgfSk7CiAgICAgfQogCi0gICAgdG9nZ2xlUmVjb3JkaW5nKGZsYWcsIHNpbmdsZUZyYW1lLCBj
YWxsYmFjaykKLSAgICB7Ci0gICAgICAgIGlmIChmbGFnKQotICAgICAgICAgICAgQ2FudmFzQWdl
bnQucmVxdWVzdFJlY29yZGluZyh0aGlzLl9pZGVudGlmaWVyLCBzaW5nbGVGcmFtZSwgY2FsbGJh
Y2spOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBDYW52YXNBZ2VudC5jYW5jZWxSZWNvcmRp
bmcodGhpcy5faWRlbnRpZmllciwgY2FsbGJhY2spOwotICAgIH0KLQogICAgIHNhdmVJZGVudGl0
eVRvQ29va2llKGNvb2tpZSkKICAgICB7CiAgICAgICAgIGNvb2tpZVtXSS5DYW52YXMuRnJhbWVV
UkxDb29raWVLZXldID0gdGhpcy5fZnJhbWUudXJsLmhhc2g7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9DYW52YXNDb250ZW50Vmlldy5jc3Mg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9DYW52YXNDb250ZW50
Vmlldy5jc3MKaW5kZXggNmI1NWU0MjYyN2RmZGM4ZGU1NTZhZDc2NTNiYzY2YWZhNjYyNjdhZC4u
MTNlNjcyYzU0OWZhNzk5M2IzZTNjNzM4NDUxN2FjYjk2Y2FkYjRlMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ2FudmFzQ29udGVudFZpZXcu
Y3NzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NhbnZh
c0NvbnRlbnRWaWV3LmNzcwpAQCAtNDAsMyArNDAsOCBAQAogICAgIG1heC13aWR0aDogMTAwJTsK
ICAgICBtYXgtaGVpZ2h0OiAxMDAlOwogfQorCisubmF2aWdhdGlvbi1iYXIgPiAuaXRlbS5jYW52
YXMtcmVjb3JkLmRpc2FibGVkIHsKKyAgICBmaWx0ZXI6IGdyYXlzY2FsZSgpOworICAgIG9wYWNp
dHk6IDAuNTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL0NhbnZhc0NvbnRlbnRWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvQ2FudmFzQ29udGVudFZpZXcuanMKaW5kZXggOTg1ZWM0NTVhOTNj
MTViYzNlNjEyNDkzOWM0NjZkOTNlNjMyZmU0MS4uNWM3ZjhjMDk3ZDIwZjU2OGY5YzVhZDM3MWQy
NjZlNDA1MDM2NzUwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvQ2FudmFzQ29udGVudFZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ2FudmFzQ29udGVudFZpZXcuanMKQEAgLTc3LDYgKzc3
LDcgQEAgV0kuQ2FudmFzQ29udGVudFZpZXcgPSBjbGFzcyBDYW52YXNDb250ZW50VmlldyBleHRl
bmRzIFdJLkNvbnRlbnRWaWV3CiAgICAgICAgIHN1cGVyLnNob3duKCk7CiAKICAgICAgICAgdGhp
cy5fc2hvd1ByZXZpZXcoKTsKKyAgICAgICAgdGhpcy5fdXBkYXRlUmVjb3JkTmF2aWdhdGlvbkl0
ZW0oKTsKIAogICAgICAgICBXSS5zZXR0aW5ncy5zaG93SW1hZ2VHcmlkLmFkZEV2ZW50TGlzdGVu
ZXIoV0kuU2V0dGluZy5FdmVudC5DaGFuZ2VkLCB0aGlzLl91cGRhdGVJbWFnZUdyaWQsIHRoaXMp
OwogICAgIH0KQEAgLTk5LDIyICsxMDAsMjcgQEAgV0kuQ2FudmFzQ29udGVudFZpZXcgPSBjbGFz
cyBDYW52YXNDb250ZW50VmlldyBleHRlbmRzIFdJLkNvbnRlbnRWaWV3CiAKICAgICBfdG9nZ2xl
UmVjb3JkaW5nKGV2ZW50KQogICAgIHsKLSAgICAgICAgbGV0IHRvZ2dsZWQgPSB0aGlzLl9yZWNv
cmRCdXR0b25OYXZpZ2F0aW9uSXRlbS50b2dnbGVkOwotICAgICAgICBsZXQgc2luZ2xlRnJhbWUg
PSBldmVudC5kYXRhLm5hdGl2ZUV2ZW50LnNoaWZ0S2V5OwotICAgICAgICB0aGlzLnJlcHJlc2Vu
dGVkT2JqZWN0LnRvZ2dsZVJlY29yZGluZyghdG9nZ2xlZCwgc2luZ2xlRnJhbWUsIChlcnJvcikg
PT4gewotICAgICAgICAgICAgY29uc29sZS5hc3NlcnQoIWVycm9yKTsKKyAgICAgICAgaWYgKHRo
aXMucmVwcmVzZW50ZWRPYmplY3QuaXNSZWNvcmRpbmcpCisgICAgICAgICAgICBXSS5jYW52YXNN
YW5hZ2VyLnN0b3BSZWNvcmRpbmcoKTsKKyAgICAgICAgZWxzZSBpZiAoIVdJLmNhbnZhc01hbmFn
ZXIucmVjb3JkaW5nQ2FudmFzKSB7CisgICAgICAgICAgICBsZXQgc2luZ2xlRnJhbWUgPSBldmVu
dC5kYXRhLm5hdGl2ZUV2ZW50LnNoaWZ0S2V5OworICAgICAgICAgICAgV0kuY2FudmFzTWFuYWdl
ci5zdGFydFJlY29yZGluZyh0aGlzLnJlcHJlc2VudGVkT2JqZWN0LCBzaW5nbGVGcmFtZSk7Cisg
ICAgICAgIH0KIAotICAgICAgICAgICAgdGhpcy5fcmVjb3JkQnV0dG9uTmF2aWdhdGlvbkl0ZW0u
dG9nZ2xlZCA9ICF0b2dnbGVkOwotICAgICAgICB9KTsKKyAgICAgICAgdGhpcy5fdXBkYXRlUmVj
b3JkTmF2aWdhdGlvbkl0ZW0oKTsKICAgICB9CiAKICAgICBfcmVjb3JkaW5nRmluaXNoZWQoZXZl
bnQpCiAgICAgeworICAgICAgICB0aGlzLl91cGRhdGVSZWNvcmROYXZpZ2F0aW9uSXRlbSgpOwor
CiAgICAgICAgIGlmIChldmVudC5kYXRhLmNhbnZhcyAhPT0gdGhpcy5yZXByZXNlbnRlZE9iamVj
dCkKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICBpZiAodGhpcy5fcmVjb3JkQnV0dG9u
TmF2aWdhdGlvbkl0ZW0pCi0gICAgICAgICAgICB0aGlzLl9yZWNvcmRCdXR0b25OYXZpZ2F0aW9u
SXRlbS50b2dnbGVkID0gZmFsc2U7CisgICAgICAgIGlmICghZXZlbnQuZGF0YS5yZWNvcmRpbmcp
IHsKKyAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoIk1pc3NpbmcgcmVjb3JkaW5nLiIpOworICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICB9CiAKICAgICAgICAgV0kuc2hvd1JlcHJlc2VudGVk
T2JqZWN0KGV2ZW50LmRhdGEucmVjb3JkaW5nKTsKICAgICB9CkBAIC0xNTksNiArMTY1LDE1IEBA
IFdJLkNhbnZhc0NvbnRlbnRWaWV3ID0gY2xhc3MgQ2FudmFzQ29udGVudFZpZXcgZXh0ZW5kcyBX
SS5Db250ZW50VmlldwogICAgICAgICB9KTsKICAgICB9CiAKKyAgICBfdXBkYXRlUmVjb3JkTmF2
aWdhdGlvbkl0ZW0oKQorICAgIHsKKyAgICAgICAgaWYgKCF0aGlzLl9yZWNvcmRCdXR0b25OYXZp
Z2F0aW9uSXRlbSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICB0aGlzLl9yZWNvcmRC
dXR0b25OYXZpZ2F0aW9uSXRlbS5lbmFibGVkID0gdGhpcy5yZXByZXNlbnRlZE9iamVjdC5pc1Jl
Y29yZGluZyB8fCAhV0kuY2FudmFzTWFuYWdlci5yZWNvcmRpbmdDYW52YXM7CisgICAgICAgIHRo
aXMuX3JlY29yZEJ1dHRvbk5hdmlnYXRpb25JdGVtLnRvZ2dsZWQgPSB0aGlzLnJlcHJlc2VudGVk
T2JqZWN0LmlzUmVjb3JkaW5nOworICAgIH0KKwogICAgIF91cGRhdGVJbWFnZUdyaWQoKQogICAg
IHsKICAgICAgICAgaWYgKCF0aGlzLl9wcmV2aWV3SW1hZ2VFbGVtZW50KQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>