<?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>192059</bug_id>
          
          <creation_ts>2018-11-27 17:07:44 -0800</creation_ts>
          <short_desc>Web Inspector: Elements tab should allow selecting/deleting multiple DOM nodes</short_desc>
          <delta_ts>2018-12-03 22:13:10 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>P3</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>191483</dependson>
          <blocked>192121</blocked>
    
    <blocked>192112</blocked>
    
    <blocked>192114</blocked>
    
    <blocked>192116</blocked>
    
    <blocked>192118</blocked>
    
    <blocked>192119</blocked>
    
    <blocked>192120</blocked>
    
    <blocked>192353</blocked>
    
    <blocked>192354</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>1482266</commentid>
    <comment_count>0</comment_count>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2018-11-27 17:07:44 -0800</bug_when>
    <thetext>Summary:
Elements tab should allow selecting/deleting multiple DOM nodes.

This will enable deleting multiple nodes, but other operations (hiding, copying, etc) will be disabled if more than one node is selected.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1482267</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-11-27 17:08:22 -0800</bug_when>
    <thetext>&lt;rdar://problem/46294827&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1482319</commentid>
    <comment_count>2</comment_count>
      <attachid>355838</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2018-11-27 18:55:36 -0800</bug_when>
    <thetext>Created attachment 355838
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1482322</commentid>
    <comment_count>3</comment_count>
      <attachid>355839</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2018-11-27 19:04:53 -0800</bug_when>
    <thetext>Created attachment 355839
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1482329</commentid>
    <comment_count>4</comment_count>
      <attachid>355839</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2018-11-27 19:34:04 -0800</bug_when>
    <thetext>Comment on attachment 355839
Patch

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

r=me, with a few followups:
 - deleting multiple DOM nodes will cause a significant number of errors to appear from StyleDetailsPanel.js:77:
 - the styling of the child list bar (the one under the disclosure arrow) needs to be adjusted to not contrast with multiple selections (e.g. selecting a parent and it&apos;s children)
 - expanding/collapsing with arrow keys only affects the most recently selected item
 - deleting an element that is hidden will revert the selection to the first child of the root (e.g. select a child element, collapse the parent, hit delete)
 - deleting an element will put the previous/next element (whichever is available) into a permanently selected state until the user manually selects it again
 - ⌘-A selects the details sidebar instead of the DOM tree
 - ER: I should be able to drag to start a selection after the end (or before the beginning)

&gt; Source/WebInspectorUI/UserInterface/Controllers/SelectionController.js:-197
&gt; -        this._adjustIndexesAfter(index - 1, 1);

Oh lol yeah this would&apos;ve been an infinite loop 😅

&gt; Source/WebInspectorUI/UserInterface/Views/DOMTreeContentView.js:67
&gt; +        this._domTreeOutline.allowsEmptySelection = false;

I think this is something we should do for all `WI.TreeOutline`, not just `WI.DOMTreeOutline`.

&gt; Source/WebInspectorUI/UserInterface/Views/DOMTreeElement.js:370
&gt; -        let indicatesTreeOutlineState = this.treeOutline &amp;&amp; (this.treeOutline.dragOverTreeElement === this || this.treeOutline.selectedTreeElement === this || this._animatingHighlight);
&gt; +        let indicatesTreeOutlineState = this.treeOutline &amp;&amp; (this.treeOutline.dragOverTreeElement === this || this.selected || this._animatingHighlight);

Are you sure that these are always equivalent?

&gt; Source/WebInspectorUI/UserInterface/Views/TreeOutline.js:-613
&gt; -            if (!handled &amp;&amp; this.treeOutline.ondelete)
&gt; -                handled = this.treeOutline.ondelete(this.selectedTreeElement);

This is used by the breakpoints list in `WI.DebuggerSidebarPanel`.

    for (let treeElement of this.selectedTreeElements) {
        if (treeElement.ondelete &amp;&amp; treeElement.ondelete())
            handled = true;
    }

    if (!handled &amp;&amp; this.treeOutline.ondelete)
        handled = this.treeOutline.ondelete(this.selectedTreeElement);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1482330</commentid>
    <comment_count>5</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2018-11-27 19:36:19 -0800</bug_when>
    <thetext>(In reply to Devin Rousso from comment #4)
&gt; r=me, with a few followups:
Another one I just discovered:
 - expanding with right/left arrows will put the element into a permanently selected state until the user manually selects it again</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1482358</commentid>
    <comment_count>6</comment_count>
      <attachid>355848</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2018-11-27 21:59:34 -0800</bug_when>
    <thetext>Created attachment 355848
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1482367</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-11-27 22:48:59 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 355848:

workers/bomb.html bug 171985 (author: fpizlo@apple.com)
webgl/1.0.2/conformance/more/functions/uniformMatrixBadArgs.html bug 192072 (author: roger_fong@apple.com)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1482368</commentid>
    <comment_count>8</comment_count>
      <attachid>355848</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-11-27 22:49:42 -0800</bug_when>
    <thetext>Comment on attachment 355848
Patch for landing

Clearing flags on attachment: 355848

Committed r238602: &lt;https://trac.webkit.org/changeset/238602&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1482369</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-11-27 22:49:43 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>355838</attachid>
            <date>2018-11-27 18:55:36 -0800</date>
            <delta_ts>2018-11-27 19:04:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192059-20181127185532.patch</filename>
            <type>text/plain</type>
            <size>10332</size>
            <attacher name="Matt Baker">mattbaker</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4NTc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCAy
MDMwNDc0OGMxZTdhMzY5YWI1YWVkNjhhZWY1NGRlZTIxMjVhOGUwLi4zZDkwZDc1NGViOWY2ZjM0
YTA4ZWE2MDIzYjRlMWIyMTVhZTYxNDE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzOCBAQAorMjAxOC0xMS0yNyAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogRWxlbWVudHMgdGFiIHNob3VsZCBhbGxvdyBzZWxl
Y3RpbmcvZGVsZXRpbmcgbXVsdGlwbGUgRE9NIG5vZGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTIwNTkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzQ2Mjk0ODI3PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEVuYWJsZSBtdWx0aXBsZSBET00gbm9kZSBzZWxlY3Rpb24gaW4gdGhlIERPTVRyZWVDb250
ZW50Vmlldy4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvU2VsZWN0aW9u
Q29udHJvbGxlci5qczoKKyAgICAgICAgKFdJLlNlbGVjdGlvbkNvbnRyb2xsZXIpOgorICAgICAg
ICAoV0kuU2VsZWN0aW9uQ29udHJvbGxlci5wcm90b3R5cGUuZ2V0IGFsbG93c0VtcHR5U2VsZWN0
aW9uKToKKyAgICAgICAgKFdJLlNlbGVjdGlvbkNvbnRyb2xsZXIucHJvdG90eXBlLnNldCBhbGxv
d3NFbXB0eVNlbGVjdGlvbik6CisgICAgICAgIChXSS5TZWxlY3Rpb25Db250cm9sbGVyLnByb3Rv
dHlwZS5kZXNlbGVjdEl0ZW0pOgorICAgICAgICAoV0kuU2VsZWN0aW9uQ29udHJvbGxlci5wcm90
b3R5cGUuZGlkSW5zZXJ0SXRlbSk6CisgICAgICAgIChXSS5TZWxlY3Rpb25Db250cm9sbGVyLnBy
b3RvdHlwZS5kaWRSZW1vdmVJdGVtKToKKyAgICAgICAgKFdJLlNlbGVjdGlvbkNvbnRyb2xsZXIu
cHJvdG90eXBlLl91cGRhdGVTZWxlY3RlZEl0ZW1zKToKKyAgICAgICAgKFdJLlNlbGVjdGlvbkNv
bnRyb2xsZXIucHJvdG90eXBlLl9hZGp1c3RJbmRleGVzQWZ0ZXIpOiBEZWxldGVkLgorCisgICAg
ICAgICogVXNlckludGVyZmFjZS9WaWV3cy9ET01UcmVlQ29udGVudFZpZXcuanM6CisgICAgICAg
IChXSS5ET01UcmVlQ29udGVudFZpZXcpOgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3
cy9ET01UcmVlRWxlbWVudC5qczoKKyAgICAgICAgKFdJLkRPTVRyZWVFbGVtZW50LnByb3RvdHlw
ZS51cGRhdGVTZWxlY3Rpb25BcmVhKToKKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3Mv
RE9NVHJlZU91dGxpbmUuanM6CisgICAgICAgIChXSS5ET01UcmVlT3V0bGluZS5wcm90b3R5cGUu
dXBkYXRlU2VsZWN0aW9uKToKKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvVHJlZU91
dGxpbmUuanM6CisgICAgICAgIChXSS5UcmVlT3V0bGluZS5wcm90b3R5cGUuZ2V0IGFsbG93c0Vt
cHR5U2VsZWN0aW9uKToKKyAgICAgICAgKFdJLlRyZWVPdXRsaW5lLnByb3RvdHlwZS5zZXQgYWxs
b3dzRW1wdHlTZWxlY3Rpb24pOgorICAgICAgICAoV0kuVHJlZU91dGxpbmUucHJvdG90eXBlLmdl
dCBzZWxlY3RlZFRyZWVFbGVtZW50cyk6CisgICAgICAgIChXSS5UcmVlT3V0bGluZS5wcm90b3R5
cGUuX3RyZWVLZXlEb3duKToKKwogMjAxOC0xMS0yNyAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBh
cHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogVHJlZU91dGxpbmUgc2hvdWxkIHJl
LXVzZSBtdWx0aXBsZS1zZWxlY3Rpb24gbG9naWMgZnJvbSBUYWJsZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvU2VsZWN0aW9uQ29u
dHJvbGxlci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xs
ZXJzL1NlbGVjdGlvbkNvbnRyb2xsZXIuanMKaW5kZXggZGRmYmY1MzQ1NmExMjBkZDU1MTljZTI4
NjlmZDBhY2I1ZTNiMzAwMC4uOTQ1NjkwNTgxYjdmODc1YmYxMTNiZGIzNzU0ZGY1MmZlMmFlYjcw
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJv
bGxlcnMvU2VsZWN0aW9uQ29udHJvbGxlci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9Db250cm9sbGVycy9TZWxlY3Rpb25Db250cm9sbGVyLmpzCkBAIC0zMiw2
ICszMiw3IEBAIFdJLlNlbGVjdGlvbkNvbnRyb2xsZXIgPSBjbGFzcyBTZWxlY3Rpb25Db250cm9s
bGVyIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KGRlbGVnYXRlKTsK
ICAgICAgICAgdGhpcy5fZGVsZWdhdGUgPSBkZWxlZ2F0ZTsKIAorICAgICAgICB0aGlzLl9hbGxv
d3NFbXB0eVNlbGVjdGlvbiA9IHRydWU7CiAgICAgICAgIHRoaXMuX2FsbG93c011bHRpcGxlU2Vs
ZWN0aW9uID0gZmFsc2U7CiAgICAgICAgIHRoaXMuX2xhc3RTZWxlY3RlZEluZGV4ID0gTmFOOwog
ICAgICAgICB0aGlzLl9zaGlmdEFuY2hvckluZGV4ID0gTmFOOwpAQCAtNDgsNiArNDksOSBAQCBX
SS5TZWxlY3Rpb25Db250cm9sbGVyID0gY2xhc3MgU2VsZWN0aW9uQ29udHJvbGxlciBleHRlbmRz
IFdJLk9iamVjdAogICAgIGdldCBsYXN0U2VsZWN0ZWRJdGVtKCkgeyByZXR1cm4gdGhpcy5fbGFz
dFNlbGVjdGVkSW5kZXg7IH0KICAgICBnZXQgc2VsZWN0ZWRJdGVtcygpIHsgcmV0dXJuIHRoaXMu
X3NlbGVjdGVkSW5kZXhlczsgfQogCisgICAgZ2V0IGFsbG93c0VtcHR5U2VsZWN0aW9uKCkgeyBy
ZXR1cm4gdGhpcy5fYWxsb3dzRW1wdHlTZWxlY3Rpb247IH0KKyAgICBzZXQgYWxsb3dzRW1wdHlT
ZWxlY3Rpb24oZmxhZykgeyB0aGlzLl9hbGxvd3NFbXB0eVNlbGVjdGlvbiA9IGZsYWc7IH0KKwog
ICAgIGdldCBhbGxvd3NNdWx0aXBsZVNlbGVjdGlvbigpCiAgICAgewogICAgICAgICByZXR1cm4g
dGhpcy5fYWxsb3dzTXVsdGlwbGVTZWxlY3Rpb247CkBAIC0xMDUsNiArMTA5LDkgQEAgV0kuU2Vs
ZWN0aW9uQ29udHJvbGxlciA9IGNsYXNzIFNlbGVjdGlvbkNvbnRyb2xsZXIgZXh0ZW5kcyBXSS5P
YmplY3QKICAgICAgICAgaWYgKCF0aGlzLmhhc1NlbGVjdGVkSXRlbShpbmRleCkpCiAgICAgICAg
ICAgICByZXR1cm47CiAKKyAgICAgICAgaWYgKCF0aGlzLl9hbGxvd3NFbXB0eVNlbGVjdGlvbiAm
JiB0aGlzLl9zZWxlY3RlZEluZGV4ZXMuc2l6ZSA9PT0gMSkKKyAgICAgICAgICAgIHJldHVybjsK
KwogICAgICAgICBsZXQgbmV3U2VsZWN0ZWRJdGVtcyA9IHRoaXMuX3NlbGVjdGVkSW5kZXhlcy5j
b3B5KCk7CiAgICAgICAgIG5ld1NlbGVjdGVkSXRlbXMuZGVsZXRlKGluZGV4KTsKIApAQCAtMTk0
LDcgKzIwMSwxMyBAQCBXSS5TZWxlY3Rpb25Db250cm9sbGVyID0gY2xhc3MgU2VsZWN0aW9uQ29u
dHJvbGxlciBleHRlbmRzIFdJLk9iamVjdAogCiAgICAgZGlkSW5zZXJ0SXRlbShpbmRleCkKICAg
ICB7Ci0gICAgICAgIHRoaXMuX2FkanVzdEluZGV4ZXNBZnRlcihpbmRleCAtIDEsIDEpOworICAg
ICAgICBsZXQgY3VycmVudCA9IHRoaXMuX3NlbGVjdGVkSW5kZXhlcy5sYXN0SW5kZXg7CisgICAg
ICAgIHdoaWxlIChjdXJyZW50ID49IGluZGV4KSB7CisgICAgICAgICAgICB0aGlzLl9zZWxlY3Rl
ZEluZGV4ZXMuZGVsZXRlKGluZGV4KTsKKyAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkSW5kZXhl
cy5hZGQoaW5kZXggKyAxKTsKKworICAgICAgICAgICAgY3VycmVudCA9IHRoaXMuX3NlbGVjdGVk
SW5kZXhlcy5pbmRleExlc3NUaGFuKGN1cnJlbnQpOworICAgICAgICB9CiAgICAgfQogCiAgICAg
ZGlkUmVtb3ZlSXRlbShpbmRleCkKQEAgLTIwMiw3ICsyMTUsMTAgQEAgV0kuU2VsZWN0aW9uQ29u
dHJvbGxlciA9IGNsYXNzIFNlbGVjdGlvbkNvbnRyb2xsZXIgZXh0ZW5kcyBXSS5PYmplY3QKICAg
ICAgICAgaWYgKHRoaXMuaGFzU2VsZWN0ZWRJdGVtKGluZGV4KSkKICAgICAgICAgICAgIHRoaXMu
ZGVzZWxlY3RJdGVtKGluZGV4KTsKIAotICAgICAgICB0aGlzLl9hZGp1c3RJbmRleGVzQWZ0ZXIo
aW5kZXgsIC0xKTsKKyAgICAgICAgd2hpbGUgKGluZGV4ID0gdGhpcy5fc2VsZWN0ZWRJbmRleGVz
LmluZGV4R3JlYXRlclRoYW4oaW5kZXgpKSB7CisgICAgICAgICAgICB0aGlzLl9zZWxlY3RlZElu
ZGV4ZXMuZGVsZXRlKGluZGV4KTsKKyAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkSW5kZXhlcy5h
ZGQoaW5kZXggLSAxKTsKKyAgICAgICAgfQogICAgIH0KIAogICAgIGhhbmRsZUtleURvd24oZXZl
bnQpCkBAIC0zNzQsMTIgKzM5MCw0IEBAIFdJLlNlbGVjdGlvbkNvbnRyb2xsZXIgPSBjbGFzcyBT
ZWxlY3Rpb25Db250cm9sbGVyIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgIGxldCBzZWxlY3Rl
ZEl0ZW1zID0gaW5kZXhlcy5kaWZmZXJlbmNlKG9sZFNlbGVjdGVkSW5kZXhlcyk7CiAgICAgICAg
IHRoaXMuX2RlbGVnYXRlLnNlbGVjdGlvbkNvbnRyb2xsZXJTZWxlY3Rpb25EaWRDaGFuZ2UodGhp
cywgZGVzZWxlY3RlZEl0ZW1zLCBzZWxlY3RlZEl0ZW1zKTsKICAgICB9Ci0KLSAgICBfYWRqdXN0
SW5kZXhlc0FmdGVyKGluZGV4LCBkZWx0YSkKLSAgICB7Ci0gICAgICAgIHdoaWxlIChpbmRleCA9
IHRoaXMuX3NlbGVjdGVkSW5kZXhlcy5pbmRleEdyZWF0ZXJUaGFuKGluZGV4KSkgewotICAgICAg
ICAgICAgdGhpcy5fc2VsZWN0ZWRJbmRleGVzLmRlbGV0ZShpbmRleCk7Ci0gICAgICAgICAgICB0
aGlzLl9zZWxlY3RlZEluZGV4ZXMuYWRkKGluZGV4ICsgZGVsdGEpOwotICAgICAgICB9Ci0gICAg
fQogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL0RPTVRyZWVDb250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL0RPTVRyZWVDb250ZW50Vmlldy5qcwppbmRleCBjN2E2ZmUwMDU4NzM1OGQ5
ZDIzNzNiMzcwZDA1NTBkOTMzZmQwZGUyLi5hYjg2NzhmYzJiNjMzYjBkYTM5YTNhODIyNTU0NWFk
YjgzM2VkNzljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9ET01UcmVlQ29udGVudFZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvRE9NVHJlZUNvbnRlbnRWaWV3LmpzCkBAIC02NCw2ICs2NCw4
IEBAIFdJLkRPTVRyZWVDb250ZW50VmlldyA9IGNsYXNzIERPTVRyZWVDb250ZW50VmlldyBleHRl
bmRzIFdJLkNvbnRlbnRWaWV3CiAgICAgICAgIHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIHRoaXMuX21vdXNlV2FzQ2xpY2tlZC5iaW5kKHRoaXMpLCBmYWxzZSk7CiAKICAg
ICAgICAgdGhpcy5fZG9tVHJlZU91dGxpbmUgPSBuZXcgV0kuRE9NVHJlZU91dGxpbmUodHJ1ZSwg
dHJ1ZSwgdHJ1ZSk7CisgICAgICAgIHRoaXMuX2RvbVRyZWVPdXRsaW5lLmFsbG93c0VtcHR5U2Vs
ZWN0aW9uID0gZmFsc2U7CisgICAgICAgIHRoaXMuX2RvbVRyZWVPdXRsaW5lLmFsbG93c011bHRp
cGxlU2VsZWN0aW9uID0gdHJ1ZTsKICAgICAgICAgdGhpcy5fZG9tVHJlZU91dGxpbmUuYWRkRXZl
bnRMaXN0ZW5lcihXSS5UcmVlT3V0bGluZS5FdmVudC5FbGVtZW50QWRkZWQsIHRoaXMuX2RvbVRy
ZWVFbGVtZW50QWRkZWQsIHRoaXMpOwogICAgICAgICB0aGlzLl9kb21UcmVlT3V0bGluZS5hZGRF
dmVudExpc3RlbmVyKFdJLkRPTVRyZWVPdXRsaW5lLkV2ZW50LlNlbGVjdGVkTm9kZUNoYW5nZWQs
IHRoaXMuX3NlbGVjdGVkTm9kZURpZENoYW5nZSwgdGhpcyk7CiAgICAgICAgIHRoaXMuX2RvbVRy
ZWVPdXRsaW5lLndpcmVUb0RvbUFnZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01UcmVlRWxlbWVudC5qcyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTVRyZWVFbGVtZW50LmpzCmluZGV4IDZj
OTdhMGE0YzQ5ZmVlODNlMDdlOWZjZmYxODIxMTliMmI4ZmViNGUuLmVkYWI4YTc2YWY4OGIxNjNh
ZTk2ZWEwZjZlYmM3OTRkODRmNmJmMmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTVRyZWVFbGVtZW50LmpzCisrKyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTVRyZWVFbGVtZW50LmpzCkBAIC0zNjcs
NyArMzY3LDcgQEAgV0kuRE9NVHJlZUVsZW1lbnQgPSBjbGFzcyBET01UcmVlRWxlbWVudCBleHRl
bmRzIFdJLlRyZWVFbGVtZW50CiAgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgLy8gSWYg
dGhlcmUncyBubyByZWFzb24gdG8gaGF2ZSBhIHNlbGVjdGlvbiBhcmVhLCByZW1vdmUgdGhlIERP
TSBlbGVtZW50LgotICAgICAgICBsZXQgaW5kaWNhdGVzVHJlZU91dGxpbmVTdGF0ZSA9IHRoaXMu
dHJlZU91dGxpbmUgJiYgKHRoaXMudHJlZU91dGxpbmUuZHJhZ092ZXJUcmVlRWxlbWVudCA9PT0g
dGhpcyB8fCB0aGlzLnRyZWVPdXRsaW5lLnNlbGVjdGVkVHJlZUVsZW1lbnQgPT09IHRoaXMgfHwg
dGhpcy5fYW5pbWF0aW5nSGlnaGxpZ2h0KTsKKyAgICAgICAgbGV0IGluZGljYXRlc1RyZWVPdXRs
aW5lU3RhdGUgPSB0aGlzLnRyZWVPdXRsaW5lICYmICh0aGlzLnRyZWVPdXRsaW5lLmRyYWdPdmVy
VHJlZUVsZW1lbnQgPT09IHRoaXMgfHwgdGhpcy5zZWxlY3RlZCB8fCB0aGlzLl9hbmltYXRpbmdI
aWdobGlnaHQpOwogICAgICAgICBpZiAoIXRoaXMuaG92ZXJlZCAmJiAhdGhpcy5wc2V1ZG9DbGFz
c2VzRW5hYmxlZCAmJiAhaW5kaWNhdGVzVHJlZU91dGxpbmVTdGF0ZSkgewogICAgICAgICAgICAg
aWYgKHRoaXMuX3NlbGVjdGlvbkVsZW1lbnQpIHsKICAgICAgICAgICAgICAgICB0aGlzLl9zZWxl
Y3Rpb25FbGVtZW50LnJlbW92ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvRE9NVHJlZU91dGxpbmUuanMgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01UcmVlT3V0bGluZS5qcwppbmRleCBkNWVhYTE2
MWY4YWZhNDkxMmJjNWNiZDU0NDljYTUyYjlkYTU0OGIzLi41NDFlMmY5M2UzNGJlMGJjZGYxNTgy
NjA0MGIyMzU4ZTQ5MTFlZjNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9ET01UcmVlT3V0bGluZS5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01UcmVlT3V0bGluZS5qcwpAQCAtMTkxLDggKzE5
MSw5IEBAIFdJLkRPTVRyZWVPdXRsaW5lID0gY2xhc3MgRE9NVHJlZU91dGxpbmUgZXh0ZW5kcyBX
SS5UcmVlT3V0bGluZQogICAgICAgICAvLyBhbmQgdGhvc2UgdXNlZCB0byBzaG93IGZvcmNlZCBw
c2V1ZG8gY2xhc3MgaW5kaWNhdG9ycywgYnV0IHRoaXMgc2hvdWxkIGJlIG9rYXkuCiAgICAgICAg
IC8vIFRoZSBob3ZlcmVkIGVsZW1lbnQgd2lsbCB1cGRhdGUgd2hlbiB1c2VyIG1vdmVzIHRoZSBt
b3VzZSwgYW5kIGluZGljYXRvcnMgZG9uJ3QgbmVlZCB0aGUKICAgICAgICAgLy8gc2VsZWN0aW9u
IGFyZWEgaGVpZ2h0IHRvIGJlIGFjY3VyYXRlIHNpbmNlIHRoZXkgdXNlIDo6YmVmb3JlIHRvIHBs
YWNlIHRoZSBpbmRpY2F0b3IuCi0gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkVHJlZUVsZW1lbnQp
Ci0gICAgICAgICAgICB0aGlzLnNlbGVjdGVkVHJlZUVsZW1lbnQudXBkYXRlU2VsZWN0aW9uQXJl
YSgpOworICAgICAgICBsZXQgc2VsZWN0ZWRUcmVlRWxlbWVudHMgPSB0aGlzLnNlbGVjdGVkVHJl
ZUVsZW1lbnRzOworICAgICAgICBmb3IgKGxldCB0cmVlRWxlbWVudCBvZiBzZWxlY3RlZFRyZWVF
bGVtZW50cykKKyAgICAgICAgICAgIHRyZWVFbGVtZW50LnVwZGF0ZVNlbGVjdGlvbkFyZWEoKTsK
ICAgICB9CiAKICAgICBfc2VsZWN0ZWROb2RlQ2hhbmdlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UcmVlT3V0bGluZS5qcyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RyZWVPdXRsaW5lLmpzCmluZGV4
IGRhMmQyYmRkODY5MGQxNTY3ZDgzMzhmZmQ0ZTA5MTE1MGZkMGEzMTUuLmE5ZGFmNWRiYjZlZWYy
MDcyNjBkMDhmYjIzNjcxZjRkY2ViYjFjYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RyZWVPdXRsaW5lLmpzCisrKyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RyZWVPdXRsaW5lLmpzCkBAIC04MSw2ICs4
MSwxNiBAQCBXSS5UcmVlT3V0bGluZSA9IGNsYXNzIFRyZWVPdXRsaW5lIGV4dGVuZHMgV0kuT2Jq
ZWN0CiAKICAgICAvLyBQdWJsaWMKIAorICAgIGdldCBhbGxvd3NFbXB0eVNlbGVjdGlvbigpCisg
ICAgeworICAgICAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uQ29udHJvbGxlci5hbGxvd3NFbXB0
eVNlbGVjdGlvbjsKKyAgICB9CisKKyAgICBzZXQgYWxsb3dzRW1wdHlTZWxlY3Rpb24oZmxhZykK
KyAgICB7CisgICAgICAgIHRoaXMuX3NlbGVjdGlvbkNvbnRyb2xsZXIuYWxsb3dzRW1wdHlTZWxl
Y3Rpb24gPSBmbGFnOworICAgIH0KKwogICAgIGdldCBhbGxvd3NNdWx0aXBsZVNlbGVjdGlvbigp
CiAgICAgewogICAgICAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uQ29udHJvbGxlci5hbGxvd3NN
dWx0aXBsZVNlbGVjdGlvbjsKQEAgLTEwMyw2ICsxMTMsMjIgQEAgV0kuVHJlZU91dGxpbmUgPSBj
bGFzcyBUcmVlT3V0bGluZSBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICB0aGlzLl9zZWxlY3Rp
b25Db250cm9sbGVyLnNlbGVjdEl0ZW0oaW5kZXgpOwogICAgIH0KIAorICAgIGdldCBzZWxlY3Rl
ZFRyZWVFbGVtZW50cygpCisgICAgeworICAgICAgICBpZiAodGhpcy5hbGxvd3NNdWx0aXBsZVNl
bGVjdGlvbikgeworICAgICAgICAgICAgbGV0IHRyZWVFbGVtZW50cyA9IFtdOworICAgICAgICAg
ICAgZm9yIChsZXQgaW5kZXggb2YgdGhpcy5fc2VsZWN0aW9uQ29udHJvbGxlci5zZWxlY3RlZEl0
ZW1zKQorICAgICAgICAgICAgICAgIHRyZWVFbGVtZW50cy5wdXNoKHRoaXMuX3RyZWVFbGVtZW50
QXRJbmRleChpbmRleCkpOworICAgICAgICAgICAgcmV0dXJuIHRyZWVFbGVtZW50czsKKyAgICAg
ICAgfQorCisgICAgICAgIGxldCBzZWxlY3RlZFRyZWVFbGVtZW50ID0gdGhpcy5zZWxlY3RlZFRy
ZWVFbGVtZW50OworICAgICAgICBpZiAoc2VsZWN0ZWRUcmVlRWxlbWVudCkKKyAgICAgICAgICAg
IHJldHVybiBbc2VsZWN0ZWRUcmVlRWxlbWVudF07CisKKyAgICAgICAgcmV0dXJuIFtdOworICAg
IH0KKwogICAgIGdldCBoaWRkZW4oKQogICAgIHsKICAgICAgICAgcmV0dXJuIHRoaXMuX2hpZGRl
bjsKQEAgLTYwNywxMCArNjMzLDExIEBAIFdJLlRyZWVPdXRsaW5lID0gY2xhc3MgVHJlZU91dGxp
bmUgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAg
ICAgICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5Q29kZSA9PT0gOCAvKiBCYWNrc3BhY2UgKi8gfHwg
ZXZlbnQua2V5Q29kZSA9PT0gNDYgLyogRGVsZXRlICovKSB7Ci0gICAgICAgICAgICBpZiAodGhp
cy5zZWxlY3RlZFRyZWVFbGVtZW50Lm9uZGVsZXRlKQotICAgICAgICAgICAgICAgIGhhbmRsZWQg
PSB0aGlzLnNlbGVjdGVkVHJlZUVsZW1lbnQub25kZWxldGUoKTsKLSAgICAgICAgICAgIGlmICgh
aGFuZGxlZCAmJiB0aGlzLnRyZWVPdXRsaW5lLm9uZGVsZXRlKQotICAgICAgICAgICAgICAgIGhh
bmRsZWQgPSB0aGlzLnRyZWVPdXRsaW5lLm9uZGVsZXRlKHRoaXMuc2VsZWN0ZWRUcmVlRWxlbWVu
dCk7CisgICAgICAgICAgICBmb3IgKGxldCB0cmVlRWxlbWVudCBvZiB0aGlzLnNlbGVjdGVkVHJl
ZUVsZW1lbnRzKSB7CisgICAgICAgICAgICAgICAgaWYgKHRyZWVFbGVtZW50Lm9uZGVsZXRlKQor
ICAgICAgICAgICAgICAgICAgICB0cmVlRWxlbWVudC5vbmRlbGV0ZSgpOworICAgICAgICAgICAg
fQorICAgICAgICAgICAgaGFuZGxlZCA9IHRydWU7CiAgICAgICAgIH0gZWxzZSBpZiAoaXNFbnRl
cktleShldmVudCkpIHsKICAgICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGVkVHJlZUVsZW1lbnQu
b25lbnRlcikKICAgICAgICAgICAgICAgICBoYW5kbGVkID0gdGhpcy5zZWxlY3RlZFRyZWVFbGVt
ZW50Lm9uZW50ZXIoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>355839</attachid>
            <date>2018-11-27 19:04:53 -0800</date>
            <delta_ts>2018-11-27 21:59:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192059-20181127190449.patch</filename>
            <type>text/plain</type>
            <size>10332</size>
            <attacher name="Matt Baker">mattbaker</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4NTk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCAy
ZTZlY2RjNzhlM2MxZjBlNzkwZTYwNDNkNzg5YjQzNGQyNTMxOWM3Li5hMmYzNzk5YzJkYjJhMzcw
NjgyMTNiN2NhNzZjZTNhYTk4ZjQ4MWU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzOCBAQAorMjAxOC0xMS0yNyAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogRWxlbWVudHMgdGFiIHNob3VsZCBhbGxvdyBzZWxl
Y3RpbmcvZGVsZXRpbmcgbXVsdGlwbGUgRE9NIG5vZGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTIwNTkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzQ2Mjk0ODI3PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEVuYWJsZSBtdWx0aXBsZSBET00gbm9kZSBzZWxlY3Rpb24gaW4gdGhlIERPTVRyZWVDb250
ZW50Vmlldy4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvU2VsZWN0aW9u
Q29udHJvbGxlci5qczoKKyAgICAgICAgKFdJLlNlbGVjdGlvbkNvbnRyb2xsZXIpOgorICAgICAg
ICAoV0kuU2VsZWN0aW9uQ29udHJvbGxlci5wcm90b3R5cGUuZ2V0IGFsbG93c0VtcHR5U2VsZWN0
aW9uKToKKyAgICAgICAgKFdJLlNlbGVjdGlvbkNvbnRyb2xsZXIucHJvdG90eXBlLnNldCBhbGxv
d3NFbXB0eVNlbGVjdGlvbik6CisgICAgICAgIChXSS5TZWxlY3Rpb25Db250cm9sbGVyLnByb3Rv
dHlwZS5kZXNlbGVjdEl0ZW0pOgorICAgICAgICAoV0kuU2VsZWN0aW9uQ29udHJvbGxlci5wcm90
b3R5cGUuZGlkSW5zZXJ0SXRlbSk6CisgICAgICAgIChXSS5TZWxlY3Rpb25Db250cm9sbGVyLnBy
b3RvdHlwZS5kaWRSZW1vdmVJdGVtKToKKyAgICAgICAgKFdJLlNlbGVjdGlvbkNvbnRyb2xsZXIu
cHJvdG90eXBlLl91cGRhdGVTZWxlY3RlZEl0ZW1zKToKKyAgICAgICAgKFdJLlNlbGVjdGlvbkNv
bnRyb2xsZXIucHJvdG90eXBlLl9hZGp1c3RJbmRleGVzQWZ0ZXIpOiBEZWxldGVkLgorCisgICAg
ICAgICogVXNlckludGVyZmFjZS9WaWV3cy9ET01UcmVlQ29udGVudFZpZXcuanM6CisgICAgICAg
IChXSS5ET01UcmVlQ29udGVudFZpZXcpOgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3
cy9ET01UcmVlRWxlbWVudC5qczoKKyAgICAgICAgKFdJLkRPTVRyZWVFbGVtZW50LnByb3RvdHlw
ZS51cGRhdGVTZWxlY3Rpb25BcmVhKToKKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3Mv
RE9NVHJlZU91dGxpbmUuanM6CisgICAgICAgIChXSS5ET01UcmVlT3V0bGluZS5wcm90b3R5cGUu
dXBkYXRlU2VsZWN0aW9uKToKKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvVHJlZU91
dGxpbmUuanM6CisgICAgICAgIChXSS5UcmVlT3V0bGluZS5wcm90b3R5cGUuZ2V0IGFsbG93c0Vt
cHR5U2VsZWN0aW9uKToKKyAgICAgICAgKFdJLlRyZWVPdXRsaW5lLnByb3RvdHlwZS5zZXQgYWxs
b3dzRW1wdHlTZWxlY3Rpb24pOgorICAgICAgICAoV0kuVHJlZU91dGxpbmUucHJvdG90eXBlLmdl
dCBzZWxlY3RlZFRyZWVFbGVtZW50cyk6CisgICAgICAgIChXSS5UcmVlT3V0bGluZS5wcm90b3R5
cGUuX3RyZWVLZXlEb3duKToKKwogMjAxOC0xMS0yNyAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBh
cHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogVHJlZU91dGxpbmUgc2hvdWxkIHJl
LXVzZSBtdWx0aXBsZS1zZWxlY3Rpb24gbG9naWMgZnJvbSBUYWJsZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvU2VsZWN0aW9uQ29u
dHJvbGxlci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xs
ZXJzL1NlbGVjdGlvbkNvbnRyb2xsZXIuanMKaW5kZXggZGRmYmY1MzQ1NmExMjBkZDU1MTljZTI4
NjlmZDBhY2I1ZTNiMzAwMC4uOTQ1NjkwNTgxYjdmODc1YmYxMTNiZGIzNzU0ZGY1MmZlMmFlYjcw
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJv
bGxlcnMvU2VsZWN0aW9uQ29udHJvbGxlci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9Db250cm9sbGVycy9TZWxlY3Rpb25Db250cm9sbGVyLmpzCkBAIC0zMiw2
ICszMiw3IEBAIFdJLlNlbGVjdGlvbkNvbnRyb2xsZXIgPSBjbGFzcyBTZWxlY3Rpb25Db250cm9s
bGVyIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KGRlbGVnYXRlKTsK
ICAgICAgICAgdGhpcy5fZGVsZWdhdGUgPSBkZWxlZ2F0ZTsKIAorICAgICAgICB0aGlzLl9hbGxv
d3NFbXB0eVNlbGVjdGlvbiA9IHRydWU7CiAgICAgICAgIHRoaXMuX2FsbG93c011bHRpcGxlU2Vs
ZWN0aW9uID0gZmFsc2U7CiAgICAgICAgIHRoaXMuX2xhc3RTZWxlY3RlZEluZGV4ID0gTmFOOwog
ICAgICAgICB0aGlzLl9zaGlmdEFuY2hvckluZGV4ID0gTmFOOwpAQCAtNDgsNiArNDksOSBAQCBX
SS5TZWxlY3Rpb25Db250cm9sbGVyID0gY2xhc3MgU2VsZWN0aW9uQ29udHJvbGxlciBleHRlbmRz
IFdJLk9iamVjdAogICAgIGdldCBsYXN0U2VsZWN0ZWRJdGVtKCkgeyByZXR1cm4gdGhpcy5fbGFz
dFNlbGVjdGVkSW5kZXg7IH0KICAgICBnZXQgc2VsZWN0ZWRJdGVtcygpIHsgcmV0dXJuIHRoaXMu
X3NlbGVjdGVkSW5kZXhlczsgfQogCisgICAgZ2V0IGFsbG93c0VtcHR5U2VsZWN0aW9uKCkgeyBy
ZXR1cm4gdGhpcy5fYWxsb3dzRW1wdHlTZWxlY3Rpb247IH0KKyAgICBzZXQgYWxsb3dzRW1wdHlT
ZWxlY3Rpb24oZmxhZykgeyB0aGlzLl9hbGxvd3NFbXB0eVNlbGVjdGlvbiA9IGZsYWc7IH0KKwog
ICAgIGdldCBhbGxvd3NNdWx0aXBsZVNlbGVjdGlvbigpCiAgICAgewogICAgICAgICByZXR1cm4g
dGhpcy5fYWxsb3dzTXVsdGlwbGVTZWxlY3Rpb247CkBAIC0xMDUsNiArMTA5LDkgQEAgV0kuU2Vs
ZWN0aW9uQ29udHJvbGxlciA9IGNsYXNzIFNlbGVjdGlvbkNvbnRyb2xsZXIgZXh0ZW5kcyBXSS5P
YmplY3QKICAgICAgICAgaWYgKCF0aGlzLmhhc1NlbGVjdGVkSXRlbShpbmRleCkpCiAgICAgICAg
ICAgICByZXR1cm47CiAKKyAgICAgICAgaWYgKCF0aGlzLl9hbGxvd3NFbXB0eVNlbGVjdGlvbiAm
JiB0aGlzLl9zZWxlY3RlZEluZGV4ZXMuc2l6ZSA9PT0gMSkKKyAgICAgICAgICAgIHJldHVybjsK
KwogICAgICAgICBsZXQgbmV3U2VsZWN0ZWRJdGVtcyA9IHRoaXMuX3NlbGVjdGVkSW5kZXhlcy5j
b3B5KCk7CiAgICAgICAgIG5ld1NlbGVjdGVkSXRlbXMuZGVsZXRlKGluZGV4KTsKIApAQCAtMTk0
LDcgKzIwMSwxMyBAQCBXSS5TZWxlY3Rpb25Db250cm9sbGVyID0gY2xhc3MgU2VsZWN0aW9uQ29u
dHJvbGxlciBleHRlbmRzIFdJLk9iamVjdAogCiAgICAgZGlkSW5zZXJ0SXRlbShpbmRleCkKICAg
ICB7Ci0gICAgICAgIHRoaXMuX2FkanVzdEluZGV4ZXNBZnRlcihpbmRleCAtIDEsIDEpOworICAg
ICAgICBsZXQgY3VycmVudCA9IHRoaXMuX3NlbGVjdGVkSW5kZXhlcy5sYXN0SW5kZXg7CisgICAg
ICAgIHdoaWxlIChjdXJyZW50ID49IGluZGV4KSB7CisgICAgICAgICAgICB0aGlzLl9zZWxlY3Rl
ZEluZGV4ZXMuZGVsZXRlKGluZGV4KTsKKyAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkSW5kZXhl
cy5hZGQoaW5kZXggKyAxKTsKKworICAgICAgICAgICAgY3VycmVudCA9IHRoaXMuX3NlbGVjdGVk
SW5kZXhlcy5pbmRleExlc3NUaGFuKGN1cnJlbnQpOworICAgICAgICB9CiAgICAgfQogCiAgICAg
ZGlkUmVtb3ZlSXRlbShpbmRleCkKQEAgLTIwMiw3ICsyMTUsMTAgQEAgV0kuU2VsZWN0aW9uQ29u
dHJvbGxlciA9IGNsYXNzIFNlbGVjdGlvbkNvbnRyb2xsZXIgZXh0ZW5kcyBXSS5PYmplY3QKICAg
ICAgICAgaWYgKHRoaXMuaGFzU2VsZWN0ZWRJdGVtKGluZGV4KSkKICAgICAgICAgICAgIHRoaXMu
ZGVzZWxlY3RJdGVtKGluZGV4KTsKIAotICAgICAgICB0aGlzLl9hZGp1c3RJbmRleGVzQWZ0ZXIo
aW5kZXgsIC0xKTsKKyAgICAgICAgd2hpbGUgKGluZGV4ID0gdGhpcy5fc2VsZWN0ZWRJbmRleGVz
LmluZGV4R3JlYXRlclRoYW4oaW5kZXgpKSB7CisgICAgICAgICAgICB0aGlzLl9zZWxlY3RlZElu
ZGV4ZXMuZGVsZXRlKGluZGV4KTsKKyAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkSW5kZXhlcy5h
ZGQoaW5kZXggLSAxKTsKKyAgICAgICAgfQogICAgIH0KIAogICAgIGhhbmRsZUtleURvd24oZXZl
bnQpCkBAIC0zNzQsMTIgKzM5MCw0IEBAIFdJLlNlbGVjdGlvbkNvbnRyb2xsZXIgPSBjbGFzcyBT
ZWxlY3Rpb25Db250cm9sbGVyIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgIGxldCBzZWxlY3Rl
ZEl0ZW1zID0gaW5kZXhlcy5kaWZmZXJlbmNlKG9sZFNlbGVjdGVkSW5kZXhlcyk7CiAgICAgICAg
IHRoaXMuX2RlbGVnYXRlLnNlbGVjdGlvbkNvbnRyb2xsZXJTZWxlY3Rpb25EaWRDaGFuZ2UodGhp
cywgZGVzZWxlY3RlZEl0ZW1zLCBzZWxlY3RlZEl0ZW1zKTsKICAgICB9Ci0KLSAgICBfYWRqdXN0
SW5kZXhlc0FmdGVyKGluZGV4LCBkZWx0YSkKLSAgICB7Ci0gICAgICAgIHdoaWxlIChpbmRleCA9
IHRoaXMuX3NlbGVjdGVkSW5kZXhlcy5pbmRleEdyZWF0ZXJUaGFuKGluZGV4KSkgewotICAgICAg
ICAgICAgdGhpcy5fc2VsZWN0ZWRJbmRleGVzLmRlbGV0ZShpbmRleCk7Ci0gICAgICAgICAgICB0
aGlzLl9zZWxlY3RlZEluZGV4ZXMuYWRkKGluZGV4ICsgZGVsdGEpOwotICAgICAgICB9Ci0gICAg
fQogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL0RPTVRyZWVDb250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL0RPTVRyZWVDb250ZW50Vmlldy5qcwppbmRleCBjN2E2ZmUwMDU4NzM1OGQ5
ZDIzNzNiMzcwZDA1NTBkOTMzZmQwZGUyLi5hYjg2NzhmYzJiNjMzYjBkYTM5YTNhODIyNTU0NWFk
YjgzM2VkNzljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9ET01UcmVlQ29udGVudFZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvRE9NVHJlZUNvbnRlbnRWaWV3LmpzCkBAIC02NCw2ICs2NCw4
IEBAIFdJLkRPTVRyZWVDb250ZW50VmlldyA9IGNsYXNzIERPTVRyZWVDb250ZW50VmlldyBleHRl
bmRzIFdJLkNvbnRlbnRWaWV3CiAgICAgICAgIHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIHRoaXMuX21vdXNlV2FzQ2xpY2tlZC5iaW5kKHRoaXMpLCBmYWxzZSk7CiAKICAg
ICAgICAgdGhpcy5fZG9tVHJlZU91dGxpbmUgPSBuZXcgV0kuRE9NVHJlZU91dGxpbmUodHJ1ZSwg
dHJ1ZSwgdHJ1ZSk7CisgICAgICAgIHRoaXMuX2RvbVRyZWVPdXRsaW5lLmFsbG93c0VtcHR5U2Vs
ZWN0aW9uID0gZmFsc2U7CisgICAgICAgIHRoaXMuX2RvbVRyZWVPdXRsaW5lLmFsbG93c011bHRp
cGxlU2VsZWN0aW9uID0gdHJ1ZTsKICAgICAgICAgdGhpcy5fZG9tVHJlZU91dGxpbmUuYWRkRXZl
bnRMaXN0ZW5lcihXSS5UcmVlT3V0bGluZS5FdmVudC5FbGVtZW50QWRkZWQsIHRoaXMuX2RvbVRy
ZWVFbGVtZW50QWRkZWQsIHRoaXMpOwogICAgICAgICB0aGlzLl9kb21UcmVlT3V0bGluZS5hZGRF
dmVudExpc3RlbmVyKFdJLkRPTVRyZWVPdXRsaW5lLkV2ZW50LlNlbGVjdGVkTm9kZUNoYW5nZWQs
IHRoaXMuX3NlbGVjdGVkTm9kZURpZENoYW5nZSwgdGhpcyk7CiAgICAgICAgIHRoaXMuX2RvbVRy
ZWVPdXRsaW5lLndpcmVUb0RvbUFnZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01UcmVlRWxlbWVudC5qcyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTVRyZWVFbGVtZW50LmpzCmluZGV4IDZj
OTdhMGE0YzQ5ZmVlODNlMDdlOWZjZmYxODIxMTliMmI4ZmViNGUuLmVkYWI4YTc2YWY4OGIxNjNh
ZTk2ZWEwZjZlYmM3OTRkODRmNmJmMmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTVRyZWVFbGVtZW50LmpzCisrKyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTVRyZWVFbGVtZW50LmpzCkBAIC0zNjcs
NyArMzY3LDcgQEAgV0kuRE9NVHJlZUVsZW1lbnQgPSBjbGFzcyBET01UcmVlRWxlbWVudCBleHRl
bmRzIFdJLlRyZWVFbGVtZW50CiAgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgLy8gSWYg
dGhlcmUncyBubyByZWFzb24gdG8gaGF2ZSBhIHNlbGVjdGlvbiBhcmVhLCByZW1vdmUgdGhlIERP
TSBlbGVtZW50LgotICAgICAgICBsZXQgaW5kaWNhdGVzVHJlZU91dGxpbmVTdGF0ZSA9IHRoaXMu
dHJlZU91dGxpbmUgJiYgKHRoaXMudHJlZU91dGxpbmUuZHJhZ092ZXJUcmVlRWxlbWVudCA9PT0g
dGhpcyB8fCB0aGlzLnRyZWVPdXRsaW5lLnNlbGVjdGVkVHJlZUVsZW1lbnQgPT09IHRoaXMgfHwg
dGhpcy5fYW5pbWF0aW5nSGlnaGxpZ2h0KTsKKyAgICAgICAgbGV0IGluZGljYXRlc1RyZWVPdXRs
aW5lU3RhdGUgPSB0aGlzLnRyZWVPdXRsaW5lICYmICh0aGlzLnRyZWVPdXRsaW5lLmRyYWdPdmVy
VHJlZUVsZW1lbnQgPT09IHRoaXMgfHwgdGhpcy5zZWxlY3RlZCB8fCB0aGlzLl9hbmltYXRpbmdI
aWdobGlnaHQpOwogICAgICAgICBpZiAoIXRoaXMuaG92ZXJlZCAmJiAhdGhpcy5wc2V1ZG9DbGFz
c2VzRW5hYmxlZCAmJiAhaW5kaWNhdGVzVHJlZU91dGxpbmVTdGF0ZSkgewogICAgICAgICAgICAg
aWYgKHRoaXMuX3NlbGVjdGlvbkVsZW1lbnQpIHsKICAgICAgICAgICAgICAgICB0aGlzLl9zZWxl
Y3Rpb25FbGVtZW50LnJlbW92ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvRE9NVHJlZU91dGxpbmUuanMgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01UcmVlT3V0bGluZS5qcwppbmRleCBkNWVhYTE2
MWY4YWZhNDkxMmJjNWNiZDU0NDljYTUyYjlkYTU0OGIzLi41NDFlMmY5M2UzNGJlMGJjZGYxNTgy
NjA0MGIyMzU4ZTQ5MTFlZjNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9ET01UcmVlT3V0bGluZS5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01UcmVlT3V0bGluZS5qcwpAQCAtMTkxLDggKzE5
MSw5IEBAIFdJLkRPTVRyZWVPdXRsaW5lID0gY2xhc3MgRE9NVHJlZU91dGxpbmUgZXh0ZW5kcyBX
SS5UcmVlT3V0bGluZQogICAgICAgICAvLyBhbmQgdGhvc2UgdXNlZCB0byBzaG93IGZvcmNlZCBw
c2V1ZG8gY2xhc3MgaW5kaWNhdG9ycywgYnV0IHRoaXMgc2hvdWxkIGJlIG9rYXkuCiAgICAgICAg
IC8vIFRoZSBob3ZlcmVkIGVsZW1lbnQgd2lsbCB1cGRhdGUgd2hlbiB1c2VyIG1vdmVzIHRoZSBt
b3VzZSwgYW5kIGluZGljYXRvcnMgZG9uJ3QgbmVlZCB0aGUKICAgICAgICAgLy8gc2VsZWN0aW9u
IGFyZWEgaGVpZ2h0IHRvIGJlIGFjY3VyYXRlIHNpbmNlIHRoZXkgdXNlIDo6YmVmb3JlIHRvIHBs
YWNlIHRoZSBpbmRpY2F0b3IuCi0gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkVHJlZUVsZW1lbnQp
Ci0gICAgICAgICAgICB0aGlzLnNlbGVjdGVkVHJlZUVsZW1lbnQudXBkYXRlU2VsZWN0aW9uQXJl
YSgpOworICAgICAgICBsZXQgc2VsZWN0ZWRUcmVlRWxlbWVudHMgPSB0aGlzLnNlbGVjdGVkVHJl
ZUVsZW1lbnRzOworICAgICAgICBmb3IgKGxldCB0cmVlRWxlbWVudCBvZiBzZWxlY3RlZFRyZWVF
bGVtZW50cykKKyAgICAgICAgICAgIHRyZWVFbGVtZW50LnVwZGF0ZVNlbGVjdGlvbkFyZWEoKTsK
ICAgICB9CiAKICAgICBfc2VsZWN0ZWROb2RlQ2hhbmdlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UcmVlT3V0bGluZS5qcyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RyZWVPdXRsaW5lLmpzCmluZGV4
IGRhMmQyYmRkODY5MGQxNTY3ZDgzMzhmZmQ0ZTA5MTE1MGZkMGEzMTUuLmE5ZGFmNWRiYjZlZWYy
MDcyNjBkMDhmYjIzNjcxZjRkY2ViYjFjYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RyZWVPdXRsaW5lLmpzCisrKyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RyZWVPdXRsaW5lLmpzCkBAIC04MSw2ICs4
MSwxNiBAQCBXSS5UcmVlT3V0bGluZSA9IGNsYXNzIFRyZWVPdXRsaW5lIGV4dGVuZHMgV0kuT2Jq
ZWN0CiAKICAgICAvLyBQdWJsaWMKIAorICAgIGdldCBhbGxvd3NFbXB0eVNlbGVjdGlvbigpCisg
ICAgeworICAgICAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uQ29udHJvbGxlci5hbGxvd3NFbXB0
eVNlbGVjdGlvbjsKKyAgICB9CisKKyAgICBzZXQgYWxsb3dzRW1wdHlTZWxlY3Rpb24oZmxhZykK
KyAgICB7CisgICAgICAgIHRoaXMuX3NlbGVjdGlvbkNvbnRyb2xsZXIuYWxsb3dzRW1wdHlTZWxl
Y3Rpb24gPSBmbGFnOworICAgIH0KKwogICAgIGdldCBhbGxvd3NNdWx0aXBsZVNlbGVjdGlvbigp
CiAgICAgewogICAgICAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uQ29udHJvbGxlci5hbGxvd3NN
dWx0aXBsZVNlbGVjdGlvbjsKQEAgLTEwMyw2ICsxMTMsMjIgQEAgV0kuVHJlZU91dGxpbmUgPSBj
bGFzcyBUcmVlT3V0bGluZSBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICB0aGlzLl9zZWxlY3Rp
b25Db250cm9sbGVyLnNlbGVjdEl0ZW0oaW5kZXgpOwogICAgIH0KIAorICAgIGdldCBzZWxlY3Rl
ZFRyZWVFbGVtZW50cygpCisgICAgeworICAgICAgICBpZiAodGhpcy5hbGxvd3NNdWx0aXBsZVNl
bGVjdGlvbikgeworICAgICAgICAgICAgbGV0IHRyZWVFbGVtZW50cyA9IFtdOworICAgICAgICAg
ICAgZm9yIChsZXQgaW5kZXggb2YgdGhpcy5fc2VsZWN0aW9uQ29udHJvbGxlci5zZWxlY3RlZEl0
ZW1zKQorICAgICAgICAgICAgICAgIHRyZWVFbGVtZW50cy5wdXNoKHRoaXMuX3RyZWVFbGVtZW50
QXRJbmRleChpbmRleCkpOworICAgICAgICAgICAgcmV0dXJuIHRyZWVFbGVtZW50czsKKyAgICAg
ICAgfQorCisgICAgICAgIGxldCBzZWxlY3RlZFRyZWVFbGVtZW50ID0gdGhpcy5zZWxlY3RlZFRy
ZWVFbGVtZW50OworICAgICAgICBpZiAoc2VsZWN0ZWRUcmVlRWxlbWVudCkKKyAgICAgICAgICAg
IHJldHVybiBbc2VsZWN0ZWRUcmVlRWxlbWVudF07CisKKyAgICAgICAgcmV0dXJuIFtdOworICAg
IH0KKwogICAgIGdldCBoaWRkZW4oKQogICAgIHsKICAgICAgICAgcmV0dXJuIHRoaXMuX2hpZGRl
bjsKQEAgLTYwNywxMCArNjMzLDExIEBAIFdJLlRyZWVPdXRsaW5lID0gY2xhc3MgVHJlZU91dGxp
bmUgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAg
ICAgICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5Q29kZSA9PT0gOCAvKiBCYWNrc3BhY2UgKi8gfHwg
ZXZlbnQua2V5Q29kZSA9PT0gNDYgLyogRGVsZXRlICovKSB7Ci0gICAgICAgICAgICBpZiAodGhp
cy5zZWxlY3RlZFRyZWVFbGVtZW50Lm9uZGVsZXRlKQotICAgICAgICAgICAgICAgIGhhbmRsZWQg
PSB0aGlzLnNlbGVjdGVkVHJlZUVsZW1lbnQub25kZWxldGUoKTsKLSAgICAgICAgICAgIGlmICgh
aGFuZGxlZCAmJiB0aGlzLnRyZWVPdXRsaW5lLm9uZGVsZXRlKQotICAgICAgICAgICAgICAgIGhh
bmRsZWQgPSB0aGlzLnRyZWVPdXRsaW5lLm9uZGVsZXRlKHRoaXMuc2VsZWN0ZWRUcmVlRWxlbWVu
dCk7CisgICAgICAgICAgICBmb3IgKGxldCB0cmVlRWxlbWVudCBvZiB0aGlzLnNlbGVjdGVkVHJl
ZUVsZW1lbnRzKSB7CisgICAgICAgICAgICAgICAgaWYgKHRyZWVFbGVtZW50Lm9uZGVsZXRlKQor
ICAgICAgICAgICAgICAgICAgICB0cmVlRWxlbWVudC5vbmRlbGV0ZSgpOworICAgICAgICAgICAg
fQorICAgICAgICAgICAgaGFuZGxlZCA9IHRydWU7CiAgICAgICAgIH0gZWxzZSBpZiAoaXNFbnRl
cktleShldmVudCkpIHsKICAgICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGVkVHJlZUVsZW1lbnQu
b25lbnRlcikKICAgICAgICAgICAgICAgICBoYW5kbGVkID0gdGhpcy5zZWxlY3RlZFRyZWVFbGVt
ZW50Lm9uZW50ZXIoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>355848</attachid>
            <date>2018-11-27 21:59:34 -0800</date>
            <delta_ts>2018-11-27 22:49:42 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-192059-20181127215931.patch</filename>
            <type>text/plain</type>
            <size>11756</size>
            <attacher name="Matt Baker">mattbaker</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4NTk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCAy
ZTZlY2RjNzhlM2MxZjBlNzkwZTYwNDNkNzg5YjQzNGQyNTMxOWM3Li5mNmVlZDk5MGNlOTg4NGIz
YTE1OTI2YjZjMDFlZTQ4ZmUwZmFkMDY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0NyBAQAorMjAxOC0xMS0yNyAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogRWxlbWVudHMgdGFiIHNob3VsZCBhbGxvdyBzZWxl
Y3RpbmcvZGVsZXRpbmcgbXVsdGlwbGUgRE9NIG5vZGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTIwNTkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzQ2Mjk0ODI3PgorCisgICAgICAgIFJldmlld2VkIGJ5IERldmluIFJvdXNzby4KKworICAgICAg
ICBFbmFibGUgbXVsdGlwbGUgRE9NIG5vZGUgc2VsZWN0aW9uIGluIHRoZSBET01UcmVlQ29udGVu
dFZpZXcuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL1NlbGVjdGlvbkNv
bnRyb2xsZXIuanM6CisgICAgICAgIChXSS5TZWxlY3Rpb25Db250cm9sbGVyKToKKyAgICAgICAg
KFdJLlNlbGVjdGlvbkNvbnRyb2xsZXIucHJvdG90eXBlLmdldCBhbGxvd3NFbXB0eVNlbGVjdGlv
bik6CisgICAgICAgIChXSS5TZWxlY3Rpb25Db250cm9sbGVyLnByb3RvdHlwZS5zZXQgYWxsb3dz
RW1wdHlTZWxlY3Rpb24pOgorICAgICAgICBBbGxvdyBjbGllbnRzIHRvIGNvbnRyb2wgd2hldGhl
ciB0aGUgbGFzdCBzZWxlY3RlZCBpdGVtIGNhbiBiZSBkZXNlbGVjdGVkLgorICAgICAgICAoV0ku
U2VsZWN0aW9uQ29udHJvbGxlci5wcm90b3R5cGUuZGVzZWxlY3RJdGVtKToKKyAgICAgICAgKFdJ
LlNlbGVjdGlvbkNvbnRyb2xsZXIucHJvdG90eXBlLmRpZEluc2VydEl0ZW0pOgorICAgICAgICBS
ZXdyaXR0ZW4gdG8gcHJldmVudCBpbmZpbml0ZSBsb29wLgorICAgICAgICAoV0kuU2VsZWN0aW9u
Q29udHJvbGxlci5wcm90b3R5cGUuZGlkUmVtb3ZlSXRlbSk6CisgICAgICAgIChXSS5TZWxlY3Rp
b25Db250cm9sbGVyLnByb3RvdHlwZS5fdXBkYXRlU2VsZWN0ZWRJdGVtcyk6CisgICAgICAgIChX
SS5TZWxlY3Rpb25Db250cm9sbGVyLnByb3RvdHlwZS5fYWRqdXN0SW5kZXhlc0FmdGVyKTogRGVs
ZXRlZC4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvRE9NVHJlZUNvbnRlbnRWaWV3
LmpzOgorICAgICAgICAoV0kuRE9NVHJlZUNvbnRlbnRWaWV3KToKKworICAgICAgICAqIFVzZXJJ
bnRlcmZhY2UvVmlld3MvRE9NVHJlZUVsZW1lbnQuanM6CisgICAgICAgIChXSS5ET01UcmVlRWxl
bWVudC5wcm90b3R5cGUudXBkYXRlU2VsZWN0aW9uQXJlYSk6CisgICAgICAgICogVXNlckludGVy
ZmFjZS9WaWV3cy9ET01UcmVlT3V0bGluZS5qczoKKyAgICAgICAgKFdJLkRPTVRyZWVPdXRsaW5l
LnByb3RvdHlwZS51cGRhdGVTZWxlY3Rpb24pOgorICAgICAgICBVcGRhdGluZyB0aGUgc2VsZWN0
aW9uIGFyZWEgRE9NIGVsZW1lbnQgc2hvdWxkIG5vdCBhc3N1bWUgdGhhdCBvbmx5IG9uZQorICAg
ICAgICBUcmVlRWxlbWVudCBpcyBzZWxlY3RlZCBhdCBhIHRpbWUuCisKKyAgICAgICAgKiBVc2Vy
SW50ZXJmYWNlL1ZpZXdzL1RyZWVPdXRsaW5lLmpzOgorICAgICAgICAoV0kuVHJlZU91dGxpbmUu
cHJvdG90eXBlLmdldCBhbGxvd3NFbXB0eVNlbGVjdGlvbik6CisgICAgICAgIChXSS5UcmVlT3V0
bGluZS5wcm90b3R5cGUuc2V0IGFsbG93c0VtcHR5U2VsZWN0aW9uKToKKyAgICAgICAgKFdJLlRy
ZWVPdXRsaW5lLnByb3RvdHlwZS5zZXQgc2VsZWN0ZWRUcmVlRWxlbWVudCk6CisgICAgICAgIChX
SS5UcmVlT3V0bGluZS5wcm90b3R5cGUuZ2V0IHNlbGVjdGVkVHJlZUVsZW1lbnRzKToKKyAgICAg
ICAgKFdJLlRyZWVPdXRsaW5lLnByb3RvdHlwZS5fdHJlZUtleURvd24pOgorCisgICAgICAgICog
VXNlckludGVyZmFjZS9WaWV3cy9UcmVlT3V0bGluZUdyb3VwLmpzOgorICAgICAgICAoV0kuVHJl
ZU91dGxpbmVHcm91cCk6CisgICAgICAgIChXSS5UcmVlT3V0bGluZUdyb3VwLnByb3RvdHlwZS5f
cmVtb3ZlQ29uZmxpY3RpbmdUcmVlU2VsZWN0aW9ucyk6CisgICAgICAgIEVsaW1pbmF0ZSB1c2Ug
b2YgYFRyZWVFbGVtZW50LnByb3RvdHlwZS5kZXNlbGVjdGAuCisKIDIwMTgtMTEtMjcgIE1hdHQg
QmFrZXIgIDxtYXR0YmFrZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFRy
ZWVPdXRsaW5lIHNob3VsZCByZS11c2UgbXVsdGlwbGUtc2VsZWN0aW9uIGxvZ2ljIGZyb20gVGFi
bGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRy
b2xsZXJzL1NlbGVjdGlvbkNvbnRyb2xsZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9Db250cm9sbGVycy9TZWxlY3Rpb25Db250cm9sbGVyLmpzCmluZGV4IGRkZmJm
NTM0NTZhMTIwZGQ1NTE5Y2UyODY5ZmQwYWNiNWUzYjMwMDAuLjk0NTY5MDU4MWI3Zjg3NWJmMTEz
YmRiMzc1NGRmNTJmZTJhZWI3MGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL1NlbGVjdGlvbkNvbnRyb2xsZXIuanMKKysrIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvU2VsZWN0aW9uQ29u
dHJvbGxlci5qcwpAQCAtMzIsNiArMzIsNyBAQCBXSS5TZWxlY3Rpb25Db250cm9sbGVyID0gY2xh
c3MgU2VsZWN0aW9uQ29udHJvbGxlciBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICBjb25zb2xl
LmFzc2VydChkZWxlZ2F0ZSk7CiAgICAgICAgIHRoaXMuX2RlbGVnYXRlID0gZGVsZWdhdGU7CiAK
KyAgICAgICAgdGhpcy5fYWxsb3dzRW1wdHlTZWxlY3Rpb24gPSB0cnVlOwogICAgICAgICB0aGlz
Ll9hbGxvd3NNdWx0aXBsZVNlbGVjdGlvbiA9IGZhbHNlOwogICAgICAgICB0aGlzLl9sYXN0U2Vs
ZWN0ZWRJbmRleCA9IE5hTjsKICAgICAgICAgdGhpcy5fc2hpZnRBbmNob3JJbmRleCA9IE5hTjsK
QEAgLTQ4LDYgKzQ5LDkgQEAgV0kuU2VsZWN0aW9uQ29udHJvbGxlciA9IGNsYXNzIFNlbGVjdGlv
bkNvbnRyb2xsZXIgZXh0ZW5kcyBXSS5PYmplY3QKICAgICBnZXQgbGFzdFNlbGVjdGVkSXRlbSgp
IHsgcmV0dXJuIHRoaXMuX2xhc3RTZWxlY3RlZEluZGV4OyB9CiAgICAgZ2V0IHNlbGVjdGVkSXRl
bXMoKSB7IHJldHVybiB0aGlzLl9zZWxlY3RlZEluZGV4ZXM7IH0KIAorICAgIGdldCBhbGxvd3NF
bXB0eVNlbGVjdGlvbigpIHsgcmV0dXJuIHRoaXMuX2FsbG93c0VtcHR5U2VsZWN0aW9uOyB9Cisg
ICAgc2V0IGFsbG93c0VtcHR5U2VsZWN0aW9uKGZsYWcpIHsgdGhpcy5fYWxsb3dzRW1wdHlTZWxl
Y3Rpb24gPSBmbGFnOyB9CisKICAgICBnZXQgYWxsb3dzTXVsdGlwbGVTZWxlY3Rpb24oKQogICAg
IHsKICAgICAgICAgcmV0dXJuIHRoaXMuX2FsbG93c011bHRpcGxlU2VsZWN0aW9uOwpAQCAtMTA1
LDYgKzEwOSw5IEBAIFdJLlNlbGVjdGlvbkNvbnRyb2xsZXIgPSBjbGFzcyBTZWxlY3Rpb25Db250
cm9sbGVyIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgIGlmICghdGhpcy5oYXNTZWxlY3RlZEl0
ZW0oaW5kZXgpKQogICAgICAgICAgICAgcmV0dXJuOwogCisgICAgICAgIGlmICghdGhpcy5fYWxs
b3dzRW1wdHlTZWxlY3Rpb24gJiYgdGhpcy5fc2VsZWN0ZWRJbmRleGVzLnNpemUgPT09IDEpCisg
ICAgICAgICAgICByZXR1cm47CisKICAgICAgICAgbGV0IG5ld1NlbGVjdGVkSXRlbXMgPSB0aGlz
Ll9zZWxlY3RlZEluZGV4ZXMuY29weSgpOwogICAgICAgICBuZXdTZWxlY3RlZEl0ZW1zLmRlbGV0
ZShpbmRleCk7CiAKQEAgLTE5NCw3ICsyMDEsMTMgQEAgV0kuU2VsZWN0aW9uQ29udHJvbGxlciA9
IGNsYXNzIFNlbGVjdGlvbkNvbnRyb2xsZXIgZXh0ZW5kcyBXSS5PYmplY3QKIAogICAgIGRpZElu
c2VydEl0ZW0oaW5kZXgpCiAgICAgewotICAgICAgICB0aGlzLl9hZGp1c3RJbmRleGVzQWZ0ZXIo
aW5kZXggLSAxLCAxKTsKKyAgICAgICAgbGV0IGN1cnJlbnQgPSB0aGlzLl9zZWxlY3RlZEluZGV4
ZXMubGFzdEluZGV4OworICAgICAgICB3aGlsZSAoY3VycmVudCA+PSBpbmRleCkgeworICAgICAg
ICAgICAgdGhpcy5fc2VsZWN0ZWRJbmRleGVzLmRlbGV0ZShpbmRleCk7CisgICAgICAgICAgICB0
aGlzLl9zZWxlY3RlZEluZGV4ZXMuYWRkKGluZGV4ICsgMSk7CisKKyAgICAgICAgICAgIGN1cnJl
bnQgPSB0aGlzLl9zZWxlY3RlZEluZGV4ZXMuaW5kZXhMZXNzVGhhbihjdXJyZW50KTsKKyAgICAg
ICAgfQogICAgIH0KIAogICAgIGRpZFJlbW92ZUl0ZW0oaW5kZXgpCkBAIC0yMDIsNyArMjE1LDEw
IEBAIFdJLlNlbGVjdGlvbkNvbnRyb2xsZXIgPSBjbGFzcyBTZWxlY3Rpb25Db250cm9sbGVyIGV4
dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgIGlmICh0aGlzLmhhc1NlbGVjdGVkSXRlbShpbmRleCkp
CiAgICAgICAgICAgICB0aGlzLmRlc2VsZWN0SXRlbShpbmRleCk7CiAKLSAgICAgICAgdGhpcy5f
YWRqdXN0SW5kZXhlc0FmdGVyKGluZGV4LCAtMSk7CisgICAgICAgIHdoaWxlIChpbmRleCA9IHRo
aXMuX3NlbGVjdGVkSW5kZXhlcy5pbmRleEdyZWF0ZXJUaGFuKGluZGV4KSkgeworICAgICAgICAg
ICAgdGhpcy5fc2VsZWN0ZWRJbmRleGVzLmRlbGV0ZShpbmRleCk7CisgICAgICAgICAgICB0aGlz
Ll9zZWxlY3RlZEluZGV4ZXMuYWRkKGluZGV4IC0gMSk7CisgICAgICAgIH0KICAgICB9CiAKICAg
ICBoYW5kbGVLZXlEb3duKGV2ZW50KQpAQCAtMzc0LDEyICszOTAsNCBAQCBXSS5TZWxlY3Rpb25D
b250cm9sbGVyID0gY2xhc3MgU2VsZWN0aW9uQ29udHJvbGxlciBleHRlbmRzIFdJLk9iamVjdAog
ICAgICAgICBsZXQgc2VsZWN0ZWRJdGVtcyA9IGluZGV4ZXMuZGlmZmVyZW5jZShvbGRTZWxlY3Rl
ZEluZGV4ZXMpOwogICAgICAgICB0aGlzLl9kZWxlZ2F0ZS5zZWxlY3Rpb25Db250cm9sbGVyU2Vs
ZWN0aW9uRGlkQ2hhbmdlKHRoaXMsIGRlc2VsZWN0ZWRJdGVtcywgc2VsZWN0ZWRJdGVtcyk7CiAg
ICAgfQotCi0gICAgX2FkanVzdEluZGV4ZXNBZnRlcihpbmRleCwgZGVsdGEpCi0gICAgewotICAg
ICAgICB3aGlsZSAoaW5kZXggPSB0aGlzLl9zZWxlY3RlZEluZGV4ZXMuaW5kZXhHcmVhdGVyVGhh
bihpbmRleCkpIHsKLSAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkSW5kZXhlcy5kZWxldGUoaW5k
ZXgpOwotICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRJbmRleGVzLmFkZChpbmRleCArIGRlbHRh
KTsKLSAgICAgICAgfQotICAgIH0KIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01UcmVlQ29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01UcmVlQ29udGVudFZpZXcuanMKaW5k
ZXggYzdhNmZlMDA1ODczNThkOWQyMzczYjM3MGQwNTUwZDkzM2ZkMGRlMi4uYWI4Njc4ZmMyYjYz
M2IwZGEzOWEzYTgyMjU1NDVhZGI4MzNlZDc5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRE9NVHJlZUNvbnRlbnRWaWV3LmpzCisrKyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTVRyZWVDb250ZW50Vmll
dy5qcwpAQCAtNjQsNiArNjQsOCBAQCBXSS5ET01UcmVlQ29udGVudFZpZXcgPSBjbGFzcyBET01U
cmVlQ29udGVudFZpZXcgZXh0ZW5kcyBXSS5Db250ZW50VmlldwogICAgICAgICB0aGlzLmVsZW1l
bnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCB0aGlzLl9tb3VzZVdhc0NsaWNrZWQuYmluZCh0
aGlzKSwgZmFsc2UpOwogCiAgICAgICAgIHRoaXMuX2RvbVRyZWVPdXRsaW5lID0gbmV3IFdJLkRP
TVRyZWVPdXRsaW5lKHRydWUsIHRydWUsIHRydWUpOworICAgICAgICB0aGlzLl9kb21UcmVlT3V0
bGluZS5hbGxvd3NFbXB0eVNlbGVjdGlvbiA9IGZhbHNlOworICAgICAgICB0aGlzLl9kb21UcmVl
T3V0bGluZS5hbGxvd3NNdWx0aXBsZVNlbGVjdGlvbiA9IHRydWU7CiAgICAgICAgIHRoaXMuX2Rv
bVRyZWVPdXRsaW5lLmFkZEV2ZW50TGlzdGVuZXIoV0kuVHJlZU91dGxpbmUuRXZlbnQuRWxlbWVu
dEFkZGVkLCB0aGlzLl9kb21UcmVlRWxlbWVudEFkZGVkLCB0aGlzKTsKICAgICAgICAgdGhpcy5f
ZG9tVHJlZU91dGxpbmUuYWRkRXZlbnRMaXN0ZW5lcihXSS5ET01UcmVlT3V0bGluZS5FdmVudC5T
ZWxlY3RlZE5vZGVDaGFuZ2VkLCB0aGlzLl9zZWxlY3RlZE5vZGVEaWRDaGFuZ2UsIHRoaXMpOwog
ICAgICAgICB0aGlzLl9kb21UcmVlT3V0bGluZS53aXJlVG9Eb21BZ2VudCgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRE9NVHJlZUVsZW1l
bnQuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01UcmVl
RWxlbWVudC5qcwppbmRleCA2Yzk3YTBhNGM0OWZlZTgzZTA3ZTlmY2ZmMTgyMTE5YjJiOGZlYjRl
Li5lZGFiOGE3NmFmODhiMTYzYWU5NmVhMGY2ZWJjNzk0ZDg0ZjZiZjJlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01UcmVlRWxlbWVudC5q
cworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01UcmVl
RWxlbWVudC5qcwpAQCAtMzY3LDcgKzM2Nyw3IEBAIFdJLkRPTVRyZWVFbGVtZW50ID0gY2xhc3Mg
RE9NVHJlZUVsZW1lbnQgZXh0ZW5kcyBXSS5UcmVlRWxlbWVudAogICAgICAgICAgICAgcmV0dXJu
OwogCiAgICAgICAgIC8vIElmIHRoZXJlJ3Mgbm8gcmVhc29uIHRvIGhhdmUgYSBzZWxlY3Rpb24g
YXJlYSwgcmVtb3ZlIHRoZSBET00gZWxlbWVudC4KLSAgICAgICAgbGV0IGluZGljYXRlc1RyZWVP
dXRsaW5lU3RhdGUgPSB0aGlzLnRyZWVPdXRsaW5lICYmICh0aGlzLnRyZWVPdXRsaW5lLmRyYWdP
dmVyVHJlZUVsZW1lbnQgPT09IHRoaXMgfHwgdGhpcy50cmVlT3V0bGluZS5zZWxlY3RlZFRyZWVF
bGVtZW50ID09PSB0aGlzIHx8IHRoaXMuX2FuaW1hdGluZ0hpZ2hsaWdodCk7CisgICAgICAgIGxl
dCBpbmRpY2F0ZXNUcmVlT3V0bGluZVN0YXRlID0gdGhpcy50cmVlT3V0bGluZSAmJiAodGhpcy50
cmVlT3V0bGluZS5kcmFnT3ZlclRyZWVFbGVtZW50ID09PSB0aGlzIHx8IHRoaXMuc2VsZWN0ZWQg
fHwgdGhpcy5fYW5pbWF0aW5nSGlnaGxpZ2h0KTsKICAgICAgICAgaWYgKCF0aGlzLmhvdmVyZWQg
JiYgIXRoaXMucHNldWRvQ2xhc3Nlc0VuYWJsZWQgJiYgIWluZGljYXRlc1RyZWVPdXRsaW5lU3Rh
dGUpIHsKICAgICAgICAgICAgIGlmICh0aGlzLl9zZWxlY3Rpb25FbGVtZW50KSB7CiAgICAgICAg
ICAgICAgICAgdGhpcy5fc2VsZWN0aW9uRWxlbWVudC5yZW1vdmUoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTVRyZWVPdXRsaW5lLmpz
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRE9NVHJlZU91dGxp
bmUuanMKaW5kZXggZDVlYWExNjFmOGFmYTQ5MTJiYzVjYmQ1NDQ5Y2E1MmI5ZGE1NDhiMy4uNTQx
ZTJmOTNlMzRiZTBiY2RmMTU4MjYwNDBiMjM1OGU0OTExZWYzYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRE9NVHJlZU91dGxpbmUuanMKKysr
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRE9NVHJlZU91dGxp
bmUuanMKQEAgLTE5MSw4ICsxOTEsOSBAQCBXSS5ET01UcmVlT3V0bGluZSA9IGNsYXNzIERPTVRy
ZWVPdXRsaW5lIGV4dGVuZHMgV0kuVHJlZU91dGxpbmUKICAgICAgICAgLy8gYW5kIHRob3NlIHVz
ZWQgdG8gc2hvdyBmb3JjZWQgcHNldWRvIGNsYXNzIGluZGljYXRvcnMsIGJ1dCB0aGlzIHNob3Vs
ZCBiZSBva2F5LgogICAgICAgICAvLyBUaGUgaG92ZXJlZCBlbGVtZW50IHdpbGwgdXBkYXRlIHdo
ZW4gdXNlciBtb3ZlcyB0aGUgbW91c2UsIGFuZCBpbmRpY2F0b3JzIGRvbid0IG5lZWQgdGhlCiAg
ICAgICAgIC8vIHNlbGVjdGlvbiBhcmVhIGhlaWdodCB0byBiZSBhY2N1cmF0ZSBzaW5jZSB0aGV5
IHVzZSA6OmJlZm9yZSB0byBwbGFjZSB0aGUgaW5kaWNhdG9yLgotICAgICAgICBpZiAodGhpcy5z
ZWxlY3RlZFRyZWVFbGVtZW50KQotICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFRyZWVFbGVtZW50
LnVwZGF0ZVNlbGVjdGlvbkFyZWEoKTsKKyAgICAgICAgbGV0IHNlbGVjdGVkVHJlZUVsZW1lbnRz
ID0gdGhpcy5zZWxlY3RlZFRyZWVFbGVtZW50czsKKyAgICAgICAgZm9yIChsZXQgdHJlZUVsZW1l
bnQgb2Ygc2VsZWN0ZWRUcmVlRWxlbWVudHMpCisgICAgICAgICAgICB0cmVlRWxlbWVudC51cGRh
dGVTZWxlY3Rpb25BcmVhKCk7CiAgICAgfQogCiAgICAgX3NlbGVjdGVkTm9kZUNoYW5nZWQoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVHJl
ZU91dGxpbmUuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9U
cmVlT3V0bGluZS5qcwppbmRleCBkYTJkMmJkZDg2OTBkMTU2N2Q4MzM4ZmZkNGUwOTExNTBmZDBh
MzE1Li41ZTFiOTkwZTdmM2QzZTg1M2VlYTZmMmZlNDRhNzk1OTZhMTM4ZDFkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UcmVlT3V0bGluZS5q
cworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UcmVlT3V0
bGluZS5qcwpAQCAtODEsNiArODEsMTYgQEAgV0kuVHJlZU91dGxpbmUgPSBjbGFzcyBUcmVlT3V0
bGluZSBleHRlbmRzIFdJLk9iamVjdAogCiAgICAgLy8gUHVibGljCiAKKyAgICBnZXQgYWxsb3dz
RW1wdHlTZWxlY3Rpb24oKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdGlvbkNv
bnRyb2xsZXIuYWxsb3dzRW1wdHlTZWxlY3Rpb247CisgICAgfQorCisgICAgc2V0IGFsbG93c0Vt
cHR5U2VsZWN0aW9uKGZsYWcpCisgICAgeworICAgICAgICB0aGlzLl9zZWxlY3Rpb25Db250cm9s
bGVyLmFsbG93c0VtcHR5U2VsZWN0aW9uID0gZmxhZzsKKyAgICB9CisKICAgICBnZXQgYWxsb3dz
TXVsdGlwbGVTZWxlY3Rpb24oKQogICAgIHsKICAgICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdGlv
bkNvbnRyb2xsZXIuYWxsb3dzTXVsdGlwbGVTZWxlY3Rpb247CkBAIC05OSw4ICsxMDksMjcgQEAg
V0kuVHJlZU91dGxpbmUgPSBjbGFzcyBUcmVlT3V0bGluZSBleHRlbmRzIFdJLk9iamVjdAogCiAg
ICAgc2V0IHNlbGVjdGVkVHJlZUVsZW1lbnQodHJlZUVsZW1lbnQpCiAgICAgewotICAgICAgICBs
ZXQgaW5kZXggPSB0aGlzLl9pbmRleE9mVHJlZUVsZW1lbnQodHJlZUVsZW1lbnQpOwotICAgICAg
ICB0aGlzLl9zZWxlY3Rpb25Db250cm9sbGVyLnNlbGVjdEl0ZW0oaW5kZXgpOworICAgICAgICBp
ZiAodHJlZUVsZW1lbnQpIHsKKyAgICAgICAgICAgIGxldCBpbmRleCA9IHRoaXMuX2luZGV4T2ZU
cmVlRWxlbWVudCh0cmVlRWxlbWVudCk7CisgICAgICAgICAgICB0aGlzLl9zZWxlY3Rpb25Db250
cm9sbGVyLnNlbGVjdEl0ZW0oaW5kZXgpOworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIHRo
aXMuX3NlbGVjdGlvbkNvbnRyb2xsZXIuZGVzZWxlY3RBbGwoKTsKKyAgICB9CisKKyAgICBnZXQg
c2VsZWN0ZWRUcmVlRWxlbWVudHMoKQorICAgIHsKKyAgICAgICAgaWYgKHRoaXMuYWxsb3dzTXVs
dGlwbGVTZWxlY3Rpb24pIHsKKyAgICAgICAgICAgIGxldCB0cmVlRWxlbWVudHMgPSBbXTsKKyAg
ICAgICAgICAgIGZvciAobGV0IGluZGV4IG9mIHRoaXMuX3NlbGVjdGlvbkNvbnRyb2xsZXIuc2Vs
ZWN0ZWRJdGVtcykKKyAgICAgICAgICAgICAgICB0cmVlRWxlbWVudHMucHVzaCh0aGlzLl90cmVl
RWxlbWVudEF0SW5kZXgoaW5kZXgpKTsKKyAgICAgICAgICAgIHJldHVybiB0cmVlRWxlbWVudHM7
CisgICAgICAgIH0KKworICAgICAgICBsZXQgc2VsZWN0ZWRUcmVlRWxlbWVudCA9IHRoaXMuc2Vs
ZWN0ZWRUcmVlRWxlbWVudDsKKyAgICAgICAgaWYgKHNlbGVjdGVkVHJlZUVsZW1lbnQpCisgICAg
ICAgICAgICByZXR1cm4gW3NlbGVjdGVkVHJlZUVsZW1lbnRdOworCisgICAgICAgIHJldHVybiBb
XTsKICAgICB9CiAKICAgICBnZXQgaGlkZGVuKCkKQEAgLTYwNyw4ICs2MzYsMTAgQEAgV0kuVHJl
ZU91dGxpbmUgPSBjbGFzcyBUcmVlT3V0bGluZSBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgIH0KICAgICAgICAgfSBlbHNlIGlmIChldmVudC5rZXlDb2Rl
ID09PSA4IC8qIEJhY2tzcGFjZSAqLyB8fCBldmVudC5rZXlDb2RlID09PSA0NiAvKiBEZWxldGUg
Ki8pIHsKLSAgICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGVkVHJlZUVsZW1lbnQub25kZWxldGUp
Ci0gICAgICAgICAgICAgICAgaGFuZGxlZCA9IHRoaXMuc2VsZWN0ZWRUcmVlRWxlbWVudC5vbmRl
bGV0ZSgpOworICAgICAgICAgICAgZm9yIChsZXQgdHJlZUVsZW1lbnQgb2YgdGhpcy5zZWxlY3Rl
ZFRyZWVFbGVtZW50cykgeworICAgICAgICAgICAgICAgIGlmICh0cmVlRWxlbWVudC5vbmRlbGV0
ZSAmJiB0cmVlRWxlbWVudC5vbmRlbGV0ZSgpKQorICAgICAgICAgICAgICAgICAgICBoYW5kbGVk
ID0gdHJ1ZTsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAgIGlmICghaGFuZGxlZCAmJiB0aGlz
LnRyZWVPdXRsaW5lLm9uZGVsZXRlKQogICAgICAgICAgICAgICAgIGhhbmRsZWQgPSB0aGlzLnRy
ZWVPdXRsaW5lLm9uZGVsZXRlKHRoaXMuc2VsZWN0ZWRUcmVlRWxlbWVudCk7CiAgICAgICAgIH0g
ZWxzZSBpZiAoaXNFbnRlcktleShldmVudCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RyZWVPdXRsaW5lR3JvdXAuanMgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UcmVlT3V0bGluZUdyb3VwLmpzCmlu
ZGV4IDEyYzE2MTU5NDg3YWQ0ODAyMjQxNjYzYWYyMzlkNDNiZWFhMWEwMjYuLmI5MTk1YzE3YjRh
NzkwMDA1MjZiMzRlMmZhYTFmMTAzY2NmNmFlNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RyZWVPdXRsaW5lR3JvdXAuanMKKysrIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVHJlZU91dGxpbmVHcm91cC5q
cwpAQCAtODcsOCArODcsNyBAQCBXSS5UcmVlT3V0bGluZUdyb3VwID0gY2xhc3MgVHJlZU91dGxp
bmVHcm91cCBleHRlbmRzIFdJLkNvbGxlY3Rpb24KICAgICAgICAgICAgIGlmIChzZWxlY3RlZFRy
ZWVPdXRsaW5lID09PSB0cmVlT3V0bGluZSkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKIAot
ICAgICAgICAgICAgaWYgKHRyZWVPdXRsaW5lLnNlbGVjdGVkVHJlZUVsZW1lbnQpCi0gICAgICAg
ICAgICAgICAgdHJlZU91dGxpbmUuc2VsZWN0ZWRUcmVlRWxlbWVudC5kZXNlbGVjdCgpOworICAg
ICAgICAgICAgdHJlZU91dGxpbmUuc2VsZWN0ZWRUcmVlRWxlbWVudCA9IG51bGw7CiAgICAgICAg
IH0KICAgICB9CiB9Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>