<?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>187613</bug_id>
          
          <creation_ts>2018-07-12 12:06:50 -0700</creation_ts>
          <short_desc>Web Inspector: Basic blocks highlighting should use line/column locations instead of offsets</short_desc>
          <delta_ts>2018-07-13 15:27:39 -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>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>186453</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Matt Baker">mattbaker</reporter>
          <assigned_to name="Matt Baker">mattbaker</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>joepeck</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1441611</commentid>
    <comment_count>0</comment_count>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2018-07-12 12:06:50 -0700</bug_when>
    <thetext>Basic blocks highlighting should use line/column locations instead of offsets.

BasicBlockAnnotator uses start and end offsets from the backend to calculate execution ranges to highlight. Once CodeMirror returns to auto-detecting line endings (see https://webkit.org/b/186453), these ranges won&apos;t correspond to the same ranges in CodeMirror.

This isn&apos;t a simple matter of using line/column locations from the AST instead of offsets. This may require sending line/column locations from the backend, in which case compatibility with older backends would be an issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1441612</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-07-12 12:07:02 -0700</bug_when>
    <thetext>&lt;rdar://problem/42131808&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1441910</commentid>
    <comment_count>2</comment_count>
      <attachid>344955</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2018-07-13 10:46:40 -0700</bug_when>
    <thetext>Created attachment 344955
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1441921</commentid>
    <comment_count>3</comment_count>
      <attachid>344955</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2018-07-13 11:08:10 -0700</bug_when>
    <thetext>Comment on attachment 344955
Patch

Found a small issue. Fixing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1441925</commentid>
    <comment_count>4</comment_count>
      <attachid>344959</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2018-07-13 11:16:19 -0700</bug_when>
    <thetext>Created attachment 344959
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1441960</commentid>
    <comment_count>5</comment_count>
      <attachid>344959</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2018-07-13 12:35:07 -0700</bug_when>
    <thetext>Comment on attachment 344959
Patch

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

r=me if the formatted case continues to behave as we expect (which I suspect it will given

&gt; Source/WebInspectorUI/UserInterface/Controllers/BasicBlockAnnotator.js:62
&gt; +        let lineEndings = [];
&gt; +        let lineEndingLengths = [];
&gt; +        let pattern = /\r\n?|\n/g;
&gt; +        let match = pattern.exec(content);

This reminds me that we have `String.prototype.lineEndings` in FormatterUtilities.js, which only uses &quot;\n&quot; and not &quot;\r\n&quot;. Lets double check that things behave as expected in a pretty printed resource.

My test for that is typically:
1. Inspect http://bogojoker.com/shell/
2. Resources &gt; easySlider.min.js
3. Set a breakpoint on Line 56:21 (the first line inside $next.click callback
4. Click the down arrow on the page
5. Step through code (step all around the code include the calling code which is jquery and ensure ranges are correct)

Shouldn&apos;t matter for the majority of cases (\r\n and \n) end in \n. It seems we might only have differences in \r only eliminated content.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1442029</commentid>
    <comment_count>6</comment_count>
      <attachid>344986</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2018-07-13 14:48:39 -0700</bug_when>
    <thetext>Created attachment 344986
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1442052</commentid>
    <comment_count>7</comment_count>
      <attachid>344986</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-07-13 15:27:38 -0700</bug_when>
    <thetext>Comment on attachment 344986
Patch for landing

Clearing flags on attachment: 344986

Committed r233820: &lt;https://trac.webkit.org/changeset/233820&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1442053</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-07-13 15:27:39 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>344955</attachid>
            <date>2018-07-13 10:46:40 -0700</date>
            <delta_ts>2018-07-13 11:16:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-187613-20180713104639.patch</filename>
            <type>text/plain</type>
            <size>8127</size>
            <attacher name="Matt Baker">mattbaker</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMzNzkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCA3
MGFmODBmZTAxMzI1YWI4MmRkYjU2ZTk2MDlhYThjZTE4MGNjNjAzLi5jMWMzMzY5NmYyNjVmODk4
ZjQyMTRmYmI5NWVhM2NlMWE3M2ZjMTc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMiBAQAorMjAxOC0wNy0xMyAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQmFzaWMgYmxvY2tzIGhpZ2hsaWdodGluZyBzaG91
bGQgdXNlIGxpbmUvY29sdW1uIGxvY2F0aW9ucyBpbnN0ZWFkIG9mIG9mZnNldHMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NzYxMworICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNDIxMzE4MDg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0Jhc2ljQmxvY2tB
bm5vdGF0b3IuanM6CisgICAgICAgIEJhc2ljIGJsb2NrcyBzZW50IGZyb20gdGhlIGJhY2tlbmQg
aW5jbHVkZSBvZmZzZXRzIGludG8gdGhlIG9yaWdpbmFsCisgICAgICAgIGZpbGUsIHJhdGhlciB0
aGFuIGxpbmUvY29sdW1uIGxvY2F0aW9ucy4gSW4gb3JkZXIgdG8gdHJhbnNsYXRlIHRvIHBvc2l0
aW9ucworICAgICAgICB3aXRoaW4gQ29kZU1pcnJvciwgd2UgbmVlZCB0byBjYWxjdWxhdGUgdGhl
IG9yaWdpbmFsIGxpbmUgYW5kIGNvbHVtbgorICAgICAgICBmb3IgZWFjaCBibG9jay4KKworICAg
ICAgICAoV0kuQmFzaWNCbG9ja0Fubm90YXRvci5wcm90b3R5cGUuaW5zZXJ0QW5ub3RhdGlvbnMp
OgorICAgICAgICAoV0kuQmFzaWNCbG9ja0Fubm90YXRvci5wcm90b3R5cGUuX2NhbGN1bGF0ZUJh
c2ljQmxvY2tQb3NpdGlvbnMub2Zmc2V0VG9Qb3NpdGlvbik6CisgICAgICAgIChXSS5CYXNpY0Js
b2NrQW5ub3RhdG9yLnByb3RvdHlwZS5fY2FsY3VsYXRlQmFzaWNCbG9ja1Bvc2l0aW9ucyk6Cisg
ICAgICAgIChXSS5CYXNpY0Jsb2NrQW5ub3RhdG9yLnByb3RvdHlwZS5fYW5ub3RhdGVCYXNpY0Js
b2NrRXhlY3V0aW9uUmFuZ2VzLik6CisgICAgICAgIChXSS5CYXNpY0Jsb2NrQW5ub3RhdG9yLnBy
b3RvdHlwZS5fYW5ub3RhdGVCYXNpY0Jsb2NrRXhlY3V0aW9uUmFuZ2VzKToKKyAgICAgICAgKFdJ
LkJhc2ljQmxvY2tBbm5vdGF0b3IucHJvdG90eXBlLl9oaWdobGlnaHRUZXh0Rm9yQmFzaWNCbG9j
ayk6CisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL01vZGVscy9Tb3VyY2VDb2RlUG9zaXRpb24u
anM6CisgICAgICAgIChXSS5Tb3VyY2VDb2RlUG9zaXRpb24ucHJvdG90eXBlLm9mZnNldENvbHVt
bik6CisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1RleHRFZGl0b3IuanM6CisgICAg
ICAgIChXSS5UZXh0RWRpdG9yLnByb3RvdHlwZS5nZXRUZXh0SW5SYW5nZSk6CisgICAgICAgIChX
SS5UZXh0RWRpdG9yLnByb3RvdHlwZS5hZGRTdHlsZVRvVGV4dFJhbmdlKToKKyAgICAgICAgQmV0
dGVyIGVuY2Fwc3VsdGlvbiBmb3IgQ29kZU1pcnJvciBwb3NpdGlvbnMuCisKIDIwMTgtMDctMTIg
IE1hdHQgQmFrZXIgIDxtYXR0YmFrZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFR5cGUgdG9rZW4gcG9zaXRpb25pbmcgc2hvdWxkIHVzZSBsaW5lL2NvbHVtbiBsb2NhdGlv
bnMgZnJvbSBFc3ByaW1hIGluc3RlYWQgb2Ygb2Zmc2V0cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvQmFzaWNCbG9ja0Fubm90YXRv
ci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0Jh
c2ljQmxvY2tBbm5vdGF0b3IuanMKaW5kZXggYTc4MzdhYmU5M2ZhZjc4ZTE0Njg4MWFkOWMwMDdm
MTZiYjk0ODBmOS4uNTQyYWRjNDVkN2I2M2VlOWQ3ZjIyZjEzYjhmNzEwZWNmMTgxYzM1MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMv
QmFzaWNCbG9ja0Fubm90YXRvci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9Db250cm9sbGVycy9CYXNpY0Jsb2NrQW5ub3RhdG9yLmpzCkBAIC00NiwxMyArNDYs
NDMgQEAgV0kuQmFzaWNCbG9ja0Fubm90YXRvciA9IGNsYXNzIEJhc2ljQmxvY2tBbm5vdGF0b3Ig
ZXh0ZW5kcyBXSS5Bbm5vdGF0b3IKICAgICB7CiAgICAgICAgIGlmICghdGhpcy5pc0FjdGl2ZSgp
KQogICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB0aGlzLl9hbm5vdGF0ZUJhc2ljQmxvY2tF
eGVjdXRpb25SYW5nZXMoKTsKKyAgICAgICAgdGhpcy5fc2NyaXB0LnJlcXVlc3RDb250ZW50KCku
dGhlbih0aGlzLl9hbm5vdGF0ZUJhc2ljQmxvY2tFeGVjdXRpb25SYW5nZXMuYmluZCh0aGlzKSk7
CiAgICAgfQogCiAgICAgLy8gUHJpdmF0ZQogCisgICAgX2NhbGN1bGF0ZUJhc2ljQmxvY2tQb3Np
dGlvbnMoYmFzaWNCbG9ja3MsIGNvbnRlbnQpCisgICAgeworICAgICAgICBpZiAoIWJhc2ljQmxv
Y2tzIHx8ICFiYXNpY0Jsb2Nrcy5sZW5ndGgpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAg
ICAgbGV0IGxpbmVFbmRpbmdzID0gW107CisgICAgICAgIGxldCBwYXR0ZXJuID0gLyhcclxuP3xc
bikvZzsKKyAgICAgICAgbGV0IG1hdGNoID0gcGF0dGVybi5leGVjKGNvbnRlbnQpOworICAgICAg
ICB3aGlsZSAobWF0Y2gpIHsKKyAgICAgICAgICAgIGxpbmVFbmRpbmdzLnB1c2gobWF0Y2guaW5k
ZXgpOworICAgICAgICAgICAgbWF0Y2ggPSBwYXR0ZXJuLmV4ZWMoY29udGVudCkKKyAgICAgICAg
fQorCisgICAgICAgIGZ1bmN0aW9uIG9mZnNldFRvUG9zaXRpb24ob2Zmc2V0KSB7CisgICAgICAg
ICAgICBsZXQgbGluZU51bWJlciA9IGxpbmVFbmRpbmdzLnVwcGVyQm91bmQob2Zmc2V0IC0gMSk7
CisgICAgICAgICAgICBsZXQgY29sdW1uTnVtYmVyID0gbGluZU51bWJlciA/IG9mZnNldCAtIGxp
bmVFbmRpbmdzW2xpbmVOdW1iZXIgLSAxXSAtIDEgOiBvZmZzZXQ7CisgICAgICAgICAgICByZXR1
cm4gbmV3IFdJLlNvdXJjZUNvZGVQb3NpdGlvbihsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIpOwor
ICAgICAgICB9CisKKyAgICAgICAgZm9yIChsZXQgYmxvY2sgb2YgYmFzaWNCbG9ja3MpIHsKKyAg
ICAgICAgICAgIGJsb2NrLnN0YXJ0UG9zaXRpb24gPSBvZmZzZXRUb1Bvc2l0aW9uKGJsb2NrLnN0
YXJ0T2Zmc2V0KTsKKyAgICAgICAgICAgIGJsb2NrLmVuZFBvc2l0aW9uID0gb2Zmc2V0VG9Qb3Np
dGlvbihibG9jay5lbmRPZmZzZXQpOworICAgICAgICB9CisgICAgfQorCiAgICAgX2Fubm90YXRl
QmFzaWNCbG9ja0V4ZWN1dGlvblJhbmdlcygpCiAgICAgeworICAgICAgICBsZXQgY29udGVudCA9
IHRoaXMuX3NjcmlwdC5jb250ZW50OworICAgICAgICBjb25zb2xlLmFzc2VydChjb250ZW50LCAi
TWlzc2luZyBzY3JpcHQgY29udGVudCBmb3IgYmFzaWMgYmxvY2sgYW5ub3RhdGlvbnMuIik7Cisg
ICAgICAgIGlmICghY29udGVudCkKKyAgICAgICAgICAgIHJldHVybjsKKwogICAgICAgICB2YXIg
c291cmNlSUQgPSB0aGlzLl9zY3JpcHQuaWQ7CiAgICAgICAgIHZhciBzdGFydFRpbWUgPSBEYXRl
Lm5vdygpOwogCkBAIC02NSwxNiArOTUsMTggQEAgV0kuQmFzaWNCbG9ja0Fubm90YXRvciA9IGNs
YXNzIEJhc2ljQmxvY2tBbm5vdGF0b3IgZXh0ZW5kcyBXSS5Bbm5vdGF0b3IKICAgICAgICAgICAg
IGlmICghdGhpcy5pc0FjdGl2ZSgpKQogICAgICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAg
ICAgICAgdmFyIHtzdGFydE9mZnNldCwgZW5kT2Zmc2V0fSA9IHRoaXMuc291cmNlQ29kZVRleHRF
ZGl0b3IudmlzaWJsZVJhbmdlT2Zmc2V0cygpOworICAgICAgICAgICAgdGhpcy5fY2FsY3VsYXRl
QmFzaWNCbG9ja1Bvc2l0aW9ucyhiYXNpY0Jsb2NrcywgY29udGVudCk7CisKKyAgICAgICAgICAg
IGxldCB7c3RhcnRQb3NpdGlvbiwgZW5kUG9zaXRpb259ID0gdGhpcy5zb3VyY2VDb2RlVGV4dEVk
aXRvci52aXNpYmxlUmFuZ2VQb3NpdGlvbnMoKTsKICAgICAgICAgICAgIGJhc2ljQmxvY2tzID0g
YmFzaWNCbG9ja3MuZmlsdGVyKGZ1bmN0aW9uKGJsb2NrKSB7CiAgICAgICAgICAgICAgICAgLy8g
Vmlld3BvcnQ6IFstLV0KICAgICAgICAgICAgICAgICAvLyBCbG9jazogICAgICAgICBbLS1dCi0g
ICAgICAgICAgICAgICAgaWYgKGJsb2NrLnN0YXJ0T2Zmc2V0ID4gZW5kT2Zmc2V0KQorICAgICAg
ICAgICAgICAgIGlmIChibG9jay5zdGFydFBvc2l0aW9uLmlzQWZ0ZXIoZW5kUG9zaXRpb24pKQog
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICAgICAgICAgICAgICAvLyBW
aWV3cG9ydDogICAgICBbLS1dCiAgICAgICAgICAgICAgICAgLy8gQmxvY2s6ICAgIFstLV0KLSAg
ICAgICAgICAgICAgICBpZiAoYmxvY2suZW5kT2Zmc2V0IDwgc3RhcnRPZmZzZXQpCisgICAgICAg
ICAgICAgICAgaWYgKGJsb2NrLmVuZFBvc2l0aW9uLmlzQmVmb3JlKHN0YXJ0UG9zaXRpb24pKQog
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICAgICAgICAgICAgICByZXR1
cm4gdHJ1ZTsKQEAgLTEwMywxMyArMTM1LDEyIEBAIFdJLkJhc2ljQmxvY2tBbm5vdGF0b3IgPSBj
bGFzcyBCYXNpY0Jsb2NrQW5ub3RhdG9yIGV4dGVuZHMgV0kuQW5ub3RhdG9yCiAgICAgICAgIGNv
bnNvbGUuYXNzZXJ0KGJhc2ljQmxvY2suc3RhcnRPZmZzZXQgPD0gYmFzaWNCbG9jay5lbmRPZmZz
ZXQgJiYgYmFzaWNCbG9jay5zdGFydE9mZnNldCA+PSAwICYmIGJhc2ljQmxvY2suZW5kT2Zmc2V0
ID49IDAsICIiICsgYmFzaWNCbG9jay5zdGFydE9mZnNldCArICI6IiArIGJhc2ljQmxvY2suZW5k
T2Zmc2V0KTsKICAgICAgICAgY29uc29sZS5hc3NlcnQoIWJhc2ljQmxvY2suaGFzRXhlY3V0ZWQp
OwogCi0gICAgICAgIHZhciBzdGFydFBvc2l0aW9uID0gdGhpcy5zb3VyY2VDb2RlVGV4dEVkaXRv
ci5vcmlnaW5hbE9mZnNldFRvQ3VycmVudFBvc2l0aW9uKGJhc2ljQmxvY2suc3RhcnRPZmZzZXQp
OwotICAgICAgICB2YXIgZW5kUG9zaXRpb24gPSB0aGlzLnNvdXJjZUNvZGVUZXh0RWRpdG9yLm9y
aWdpbmFsT2Zmc2V0VG9DdXJyZW50UG9zaXRpb24oYmFzaWNCbG9jay5lbmRPZmZzZXQpOworICAg
ICAgICBsZXQgc3RhcnRQb3NpdGlvbiA9IHRoaXMuc291cmNlQ29kZVRleHRFZGl0b3Iub3JpZ2lu
YWxQb3NpdGlvblRvQ3VycmVudFBvc2l0aW9uKGJhc2ljQmxvY2suc3RhcnRQb3NpdGlvbik7Cisg
ICAgICAgIGxldCBlbmRQb3NpdGlvbiA9IHRoaXMuc291cmNlQ29kZVRleHRFZGl0b3Iub3JpZ2lu
YWxQb3NpdGlvblRvQ3VycmVudFBvc2l0aW9uKGJhc2ljQmxvY2suZW5kUG9zaXRpb24pOwogICAg
ICAgICBpZiAodGhpcy5faXNUZXh0UmFuZ2VPbmx5Q2xvc2luZ0JyYWNlKHN0YXJ0UG9zaXRpb24s
IGVuZFBvc2l0aW9uKSkKICAgICAgICAgICAgIHJldHVybiBudWxsOwogCi0gICAgICAgIHZhciBt
YXJrZXIgPSB0aGlzLnNvdXJjZUNvZGVUZXh0RWRpdG9yLmFkZFN0eWxlVG9UZXh0UmFuZ2Uoc3Rh
cnRQb3NpdGlvbiwgZW5kUG9zaXRpb24sIFdJLkJhc2ljQmxvY2tBbm5vdGF0b3IuSGFzTm90RXhl
Y3V0ZWRDbGFzc05hbWUpOwotICAgICAgICByZXR1cm4gbWFya2VyOworICAgICAgICByZXR1cm4g
dGhpcy5zb3VyY2VDb2RlVGV4dEVkaXRvci5hZGRTdHlsZVRvVGV4dFJhbmdlKHN0YXJ0UG9zaXRp
b24sIGVuZFBvc2l0aW9uLCBXSS5CYXNpY0Jsb2NrQW5ub3RhdG9yLkhhc05vdEV4ZWN1dGVkQ2xh
c3NOYW1lKTsKICAgICB9CiAKICAgICBfaXNUZXh0UmFuZ2VPbmx5Q2xvc2luZ0JyYWNlKHN0YXJ0
UG9zaXRpb24sIGVuZFBvc2l0aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvTW9kZWxzL1NvdXJjZUNvZGVQb3NpdGlvbi5qcyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9Tb3VyY2VDb2RlUG9zaXRpb24uanMKaW5k
ZXggNTViNWU3OTIwMzNmZWZlZGRkZjg2OTdmNjZiN2RhNzBmNWRjNzI5ZC4uN2Q0OTI4OTJmZWIx
ZWI5YzMxMTllNDRjN2M4NGZmMjRhMGY5Mjk5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1NvdXJjZUNvZGVQb3NpdGlvbi5qcworKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvU291cmNlQ29kZVBvc2l0
aW9uLmpzCkBAIC0zNiw2ICszNiwxMiBAQCBXSS5Tb3VyY2VDb2RlUG9zaXRpb24gPSBjbGFzcyBT
b3VyY2VDb2RlUG9zaXRpb24KICAgICBnZXQgbGluZU51bWJlcigpIHsgcmV0dXJuIHRoaXMuX2xp
bmVOdW1iZXI7IH0KICAgICBnZXQgY29sdW1uTnVtYmVyKCkgeyByZXR1cm4gdGhpcy5fY29sdW1u
TnVtYmVyOyB9CiAKKyAgICBvZmZzZXRDb2x1bW4oZGVsdGEpCisgICAgeworICAgICAgICBjb25z
b2xlLmFzc2VydCh0aGlzLl9jb2x1bW5OdW1iZXIgKyBkZWx0YSA+PSAwKTsKKyAgICAgICAgcmV0
dXJuIG5ldyBXSS5Tb3VyY2VDb2RlUG9zaXRpb24odGhpcy5fbGluZU51bWJlciwgdGhpcy5fY29s
dW1uTnVtYmVyICsgZGVsdGEpOworICAgIH0KKwogICAgIGVxdWFscyhwb3NpdGlvbikKICAgICB7
CiAgICAgICAgIHJldHVybiB0aGlzLl9saW5lTnVtYmVyID09PSBwb3NpdGlvbi5saW5lTnVtYmVy
ICYmIHRoaXMuX2NvbHVtbk51bWJlciA9PT0gcG9zaXRpb24uY29sdW1uTnVtYmVyOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGV4dEVkaXRv
ci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RleHRFZGl0
b3IuanMKaW5kZXggNmU1ZTI2MzQxMzQ1ZDY5MGU0ZjQxMDQ5OTJlYzMyMTJlNTY0NzFhNy4uNWFh
NDAwYTRkNWViMTVlODA0MDk4ZjhmMzc1Yjc4MjQ2ZDcwZmFjMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGV4dEVkaXRvci5qcworKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UZXh0RWRpdG9yLmpzCkBA
IC00NjcsMTMgKzQ2NywxMyBAQCBXSS5UZXh0RWRpdG9yID0gY2xhc3MgVGV4dEVkaXRvciBleHRl
bmRzIFdJLlZpZXcKIAogICAgIGdldFRleHRJblJhbmdlKHN0YXJ0UG9zaXRpb24sIGVuZFBvc2l0
aW9uKQogICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX2NvZGVNaXJyb3IuZ2V0UmFuZ2Uoc3Rh
cnRQb3NpdGlvbiwgZW5kUG9zaXRpb24pOworICAgICAgICByZXR1cm4gdGhpcy5fY29kZU1pcnJv
ci5nZXRSYW5nZShzdGFydFBvc2l0aW9uLnRvQ29kZU1pcnJvcigpLCBlbmRQb3NpdGlvbi50b0Nv
ZGVNaXJyb3IoKSk7CiAgICAgfQogCiAgICAgYWRkU3R5bGVUb1RleHRSYW5nZShzdGFydFBvc2l0
aW9uLCBlbmRQb3NpdGlvbiwgc3R5bGVDbGFzc05hbWUpCiAgICAgewotICAgICAgICBlbmRQb3Np
dGlvbi5jaCArPSAxOwotICAgICAgICByZXR1cm4gdGhpcy5fY29kZU1pcnJvci5nZXREb2MoKS5t
YXJrVGV4dChzdGFydFBvc2l0aW9uLCBlbmRQb3NpdGlvbiwge2NsYXNzTmFtZTogc3R5bGVDbGFz
c05hbWUsIGluY2x1c2l2ZUxlZnQ6IHRydWUsIGluY2x1c2l2ZVJpZ2h0OiB0cnVlfSk7CisgICAg
ICAgIGVuZFBvc2l0aW9uID0gZW5kUG9zaXRpb24ub2Zmc2V0Q29sdW1uKDEpOworICAgICAgICBy
ZXR1cm4gdGhpcy5fY29kZU1pcnJvci5nZXREb2MoKS5tYXJrVGV4dChzdGFydFBvc2l0aW9uLnRv
Q29kZU1pcnJvcigpLCBlbmRQb3NpdGlvbi50b0NvZGVNaXJyb3IoKSwge2NsYXNzTmFtZTogc3R5
bGVDbGFzc05hbWUsIGluY2x1c2l2ZUxlZnQ6IHRydWUsIGluY2x1c2l2ZVJpZ2h0OiB0cnVlfSk7
CiAgICAgfQogCiAgICAgcmV2ZWFsUG9zaXRpb24ocG9zaXRpb24sIHRleHRSYW5nZVRvU2VsZWN0
LCBmb3JjZVVuZm9ybWF0dGVkLCBub0hpZ2hsaWdodCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>344959</attachid>
            <date>2018-07-13 11:16:19 -0700</date>
            <delta_ts>2018-07-13 14:48:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-187613-20180713111618.patch</filename>
            <type>text/plain</type>
            <size>8374</size>
            <attacher name="Matt Baker">mattbaker</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMzNzkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCA3
MGFmODBmZTAxMzI1YWI4MmRkYjU2ZTk2MDlhYThjZTE4MGNjNjAzLi5jMWMzMzY5NmYyNjVmODk4
ZjQyMTRmYmI5NWVhM2NlMWE3M2ZjMTc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMiBAQAorMjAxOC0wNy0xMyAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQmFzaWMgYmxvY2tzIGhpZ2hsaWdodGluZyBzaG91
bGQgdXNlIGxpbmUvY29sdW1uIGxvY2F0aW9ucyBpbnN0ZWFkIG9mIG9mZnNldHMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NzYxMworICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNDIxMzE4MDg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0Jhc2ljQmxvY2tB
bm5vdGF0b3IuanM6CisgICAgICAgIEJhc2ljIGJsb2NrcyBzZW50IGZyb20gdGhlIGJhY2tlbmQg
aW5jbHVkZSBvZmZzZXRzIGludG8gdGhlIG9yaWdpbmFsCisgICAgICAgIGZpbGUsIHJhdGhlciB0
aGFuIGxpbmUvY29sdW1uIGxvY2F0aW9ucy4gSW4gb3JkZXIgdG8gdHJhbnNsYXRlIHRvIHBvc2l0
aW9ucworICAgICAgICB3aXRoaW4gQ29kZU1pcnJvciwgd2UgbmVlZCB0byBjYWxjdWxhdGUgdGhl
IG9yaWdpbmFsIGxpbmUgYW5kIGNvbHVtbgorICAgICAgICBmb3IgZWFjaCBibG9jay4KKworICAg
ICAgICAoV0kuQmFzaWNCbG9ja0Fubm90YXRvci5wcm90b3R5cGUuaW5zZXJ0QW5ub3RhdGlvbnMp
OgorICAgICAgICAoV0kuQmFzaWNCbG9ja0Fubm90YXRvci5wcm90b3R5cGUuX2NhbGN1bGF0ZUJh
c2ljQmxvY2tQb3NpdGlvbnMub2Zmc2V0VG9Qb3NpdGlvbik6CisgICAgICAgIChXSS5CYXNpY0Js
b2NrQW5ub3RhdG9yLnByb3RvdHlwZS5fY2FsY3VsYXRlQmFzaWNCbG9ja1Bvc2l0aW9ucyk6Cisg
ICAgICAgIChXSS5CYXNpY0Jsb2NrQW5ub3RhdG9yLnByb3RvdHlwZS5fYW5ub3RhdGVCYXNpY0Js
b2NrRXhlY3V0aW9uUmFuZ2VzLik6CisgICAgICAgIChXSS5CYXNpY0Jsb2NrQW5ub3RhdG9yLnBy
b3RvdHlwZS5fYW5ub3RhdGVCYXNpY0Jsb2NrRXhlY3V0aW9uUmFuZ2VzKToKKyAgICAgICAgKFdJ
LkJhc2ljQmxvY2tBbm5vdGF0b3IucHJvdG90eXBlLl9oaWdobGlnaHRUZXh0Rm9yQmFzaWNCbG9j
ayk6CisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL01vZGVscy9Tb3VyY2VDb2RlUG9zaXRpb24u
anM6CisgICAgICAgIChXSS5Tb3VyY2VDb2RlUG9zaXRpb24ucHJvdG90eXBlLm9mZnNldENvbHVt
bik6CisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1RleHRFZGl0b3IuanM6CisgICAg
ICAgIChXSS5UZXh0RWRpdG9yLnByb3RvdHlwZS5nZXRUZXh0SW5SYW5nZSk6CisgICAgICAgIChX
SS5UZXh0RWRpdG9yLnByb3RvdHlwZS5hZGRTdHlsZVRvVGV4dFJhbmdlKToKKyAgICAgICAgQmV0
dGVyIGVuY2Fwc3VsdGlvbiBmb3IgQ29kZU1pcnJvciBwb3NpdGlvbnMuCisKIDIwMTgtMDctMTIg
IE1hdHQgQmFrZXIgIDxtYXR0YmFrZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFR5cGUgdG9rZW4gcG9zaXRpb25pbmcgc2hvdWxkIHVzZSBsaW5lL2NvbHVtbiBsb2NhdGlv
bnMgZnJvbSBFc3ByaW1hIGluc3RlYWQgb2Ygb2Zmc2V0cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvQmFzaWNCbG9ja0Fubm90YXRv
ci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0Jh
c2ljQmxvY2tBbm5vdGF0b3IuanMKaW5kZXggYTc4MzdhYmU5M2ZhZjc4ZTE0Njg4MWFkOWMwMDdm
MTZiYjk0ODBmOS4uOWNhOWEyMmViYmY4MjM0ODMxNTM4NzU5ZWZjOThmM2VjZGE2Y2EwNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMv
QmFzaWNCbG9ja0Fubm90YXRvci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9Db250cm9sbGVycy9CYXNpY0Jsb2NrQW5ub3RhdG9yLmpzCkBAIC00NiwxMyArNDYs
NDkgQEAgV0kuQmFzaWNCbG9ja0Fubm90YXRvciA9IGNsYXNzIEJhc2ljQmxvY2tBbm5vdGF0b3Ig
ZXh0ZW5kcyBXSS5Bbm5vdGF0b3IKICAgICB7CiAgICAgICAgIGlmICghdGhpcy5pc0FjdGl2ZSgp
KQogICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB0aGlzLl9hbm5vdGF0ZUJhc2ljQmxvY2tF
eGVjdXRpb25SYW5nZXMoKTsKKyAgICAgICAgdGhpcy5fc2NyaXB0LnJlcXVlc3RDb250ZW50KCku
dGhlbih0aGlzLl9hbm5vdGF0ZUJhc2ljQmxvY2tFeGVjdXRpb25SYW5nZXMuYmluZCh0aGlzKSk7
CiAgICAgfQogCiAgICAgLy8gUHJpdmF0ZQogCisgICAgX2NhbGN1bGF0ZUJhc2ljQmxvY2tQb3Np
dGlvbnMoYmFzaWNCbG9ja3MsIGNvbnRlbnQpCisgICAgeworICAgICAgICBpZiAoIWJhc2ljQmxv
Y2tzIHx8ICFiYXNpY0Jsb2Nrcy5sZW5ndGgpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAg
ICAgbGV0IGxpbmVFbmRpbmdzID0gW107CisgICAgICAgIGxldCBsaW5lRW5kaW5nTGVuZ3RocyA9
IFtdOworICAgICAgICBsZXQgcGF0dGVybiA9IC9cclxuP3xcbi9nOworICAgICAgICBsZXQgbWF0
Y2ggPSBwYXR0ZXJuLmV4ZWMoY29udGVudCk7CisgICAgICAgIHdoaWxlIChtYXRjaCkgeworICAg
ICAgICAgICAgbGluZUVuZGluZ3MucHVzaChtYXRjaC5pbmRleCk7CisgICAgICAgICAgICBsaW5l
RW5kaW5nTGVuZ3Rocy5wdXNoKG1hdGNoWzBdLmxlbmd0aCk7CisgICAgICAgICAgICBtYXRjaCA9
IHBhdHRlcm4uZXhlYyhjb250ZW50KQorICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24gb2Zm
c2V0VG9Qb3NpdGlvbihvZmZzZXQpIHsKKyAgICAgICAgICAgIGxldCBsaW5lTnVtYmVyID0gbGlu
ZUVuZGluZ3MudXBwZXJCb3VuZChvZmZzZXQgLSAxKTsKKyAgICAgICAgICAgIGlmIChsaW5lTnVt
YmVyKSB7CisgICAgICAgICAgICAgICAgbGV0IHByZXZpb3VzTGluZSA9IGxpbmVOdW1iZXIgLSAx
OworICAgICAgICAgICAgICAgIHZhciBjb2x1bW5OdW1iZXIgPSBvZmZzZXQgLSBsaW5lRW5kaW5n
c1twcmV2aW91c0xpbmVdIC0gbGluZUVuZGluZ0xlbmd0aHNbcHJldmlvdXNMaW5lXTsKKyAgICAg
ICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgIHZhciBjb2x1bW5OdW1iZXIgPSBvZmZzZXQ7
CisgICAgICAgICAgICByZXR1cm4gbmV3IFdJLlNvdXJjZUNvZGVQb3NpdGlvbihsaW5lTnVtYmVy
LCBjb2x1bW5OdW1iZXIpOworICAgICAgICB9CisKKyAgICAgICAgZm9yIChsZXQgYmxvY2sgb2Yg
YmFzaWNCbG9ja3MpIHsKKyAgICAgICAgICAgIGJsb2NrLnN0YXJ0UG9zaXRpb24gPSBvZmZzZXRU
b1Bvc2l0aW9uKGJsb2NrLnN0YXJ0T2Zmc2V0KTsKKyAgICAgICAgICAgIGJsb2NrLmVuZFBvc2l0
aW9uID0gb2Zmc2V0VG9Qb3NpdGlvbihibG9jay5lbmRPZmZzZXQpOworICAgICAgICB9CisgICAg
fQorCiAgICAgX2Fubm90YXRlQmFzaWNCbG9ja0V4ZWN1dGlvblJhbmdlcygpCiAgICAgeworICAg
ICAgICBsZXQgY29udGVudCA9IHRoaXMuX3NjcmlwdC5jb250ZW50OworICAgICAgICBjb25zb2xl
LmFzc2VydChjb250ZW50LCAiTWlzc2luZyBzY3JpcHQgY29udGVudCBmb3IgYmFzaWMgYmxvY2sg
YW5ub3RhdGlvbnMuIik7CisgICAgICAgIGlmICghY29udGVudCkKKyAgICAgICAgICAgIHJldHVy
bjsKKwogICAgICAgICB2YXIgc291cmNlSUQgPSB0aGlzLl9zY3JpcHQuaWQ7CiAgICAgICAgIHZh
ciBzdGFydFRpbWUgPSBEYXRlLm5vdygpOwogCkBAIC02NSwxNiArMTAxLDE4IEBAIFdJLkJhc2lj
QmxvY2tBbm5vdGF0b3IgPSBjbGFzcyBCYXNpY0Jsb2NrQW5ub3RhdG9yIGV4dGVuZHMgV0kuQW5u
b3RhdG9yCiAgICAgICAgICAgICBpZiAoIXRoaXMuaXNBY3RpdmUoKSkKICAgICAgICAgICAgICAg
ICByZXR1cm47CiAKLSAgICAgICAgICAgIHZhciB7c3RhcnRPZmZzZXQsIGVuZE9mZnNldH0gPSB0
aGlzLnNvdXJjZUNvZGVUZXh0RWRpdG9yLnZpc2libGVSYW5nZU9mZnNldHMoKTsKKyAgICAgICAg
ICAgIHRoaXMuX2NhbGN1bGF0ZUJhc2ljQmxvY2tQb3NpdGlvbnMoYmFzaWNCbG9ja3MsIGNvbnRl
bnQpOworCisgICAgICAgICAgICBsZXQge3N0YXJ0UG9zaXRpb24sIGVuZFBvc2l0aW9ufSA9IHRo
aXMuc291cmNlQ29kZVRleHRFZGl0b3IudmlzaWJsZVJhbmdlUG9zaXRpb25zKCk7CiAgICAgICAg
ICAgICBiYXNpY0Jsb2NrcyA9IGJhc2ljQmxvY2tzLmZpbHRlcihmdW5jdGlvbihibG9jaykgewog
ICAgICAgICAgICAgICAgIC8vIFZpZXdwb3J0OiBbLS1dCiAgICAgICAgICAgICAgICAgLy8gQmxv
Y2s6ICAgICAgICAgWy0tXQotICAgICAgICAgICAgICAgIGlmIChibG9jay5zdGFydE9mZnNldCA+
IGVuZE9mZnNldCkKKyAgICAgICAgICAgICAgICBpZiAoYmxvY2suc3RhcnRQb3NpdGlvbi5pc0Fm
dGVyKGVuZFBvc2l0aW9uKSkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAg
ICAgICAgICAgICAgICAgLy8gVmlld3BvcnQ6ICAgICAgWy0tXQogICAgICAgICAgICAgICAgIC8v
IEJsb2NrOiAgICBbLS1dCi0gICAgICAgICAgICAgICAgaWYgKGJsb2NrLmVuZE9mZnNldCA8IHN0
YXJ0T2Zmc2V0KQorICAgICAgICAgICAgICAgIGlmIChibG9jay5lbmRQb3NpdGlvbi5pc0JlZm9y
ZShzdGFydFBvc2l0aW9uKSkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAg
ICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CkBAIC0xMDMsMTMgKzE0MSwxMiBAQCBXSS5CYXNp
Y0Jsb2NrQW5ub3RhdG9yID0gY2xhc3MgQmFzaWNCbG9ja0Fubm90YXRvciBleHRlbmRzIFdJLkFu
bm90YXRvcgogICAgICAgICBjb25zb2xlLmFzc2VydChiYXNpY0Jsb2NrLnN0YXJ0T2Zmc2V0IDw9
IGJhc2ljQmxvY2suZW5kT2Zmc2V0ICYmIGJhc2ljQmxvY2suc3RhcnRPZmZzZXQgPj0gMCAmJiBi
YXNpY0Jsb2NrLmVuZE9mZnNldCA+PSAwLCAiIiArIGJhc2ljQmxvY2suc3RhcnRPZmZzZXQgKyAi
OiIgKyBiYXNpY0Jsb2NrLmVuZE9mZnNldCk7CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KCFiYXNp
Y0Jsb2NrLmhhc0V4ZWN1dGVkKTsKIAotICAgICAgICB2YXIgc3RhcnRQb3NpdGlvbiA9IHRoaXMu
c291cmNlQ29kZVRleHRFZGl0b3Iub3JpZ2luYWxPZmZzZXRUb0N1cnJlbnRQb3NpdGlvbihiYXNp
Y0Jsb2NrLnN0YXJ0T2Zmc2V0KTsKLSAgICAgICAgdmFyIGVuZFBvc2l0aW9uID0gdGhpcy5zb3Vy
Y2VDb2RlVGV4dEVkaXRvci5vcmlnaW5hbE9mZnNldFRvQ3VycmVudFBvc2l0aW9uKGJhc2ljQmxv
Y2suZW5kT2Zmc2V0KTsKKyAgICAgICAgbGV0IHN0YXJ0UG9zaXRpb24gPSB0aGlzLnNvdXJjZUNv
ZGVUZXh0RWRpdG9yLm9yaWdpbmFsUG9zaXRpb25Ub0N1cnJlbnRQb3NpdGlvbihiYXNpY0Jsb2Nr
LnN0YXJ0UG9zaXRpb24pOworICAgICAgICBsZXQgZW5kUG9zaXRpb24gPSB0aGlzLnNvdXJjZUNv
ZGVUZXh0RWRpdG9yLm9yaWdpbmFsUG9zaXRpb25Ub0N1cnJlbnRQb3NpdGlvbihiYXNpY0Jsb2Nr
LmVuZFBvc2l0aW9uKTsKICAgICAgICAgaWYgKHRoaXMuX2lzVGV4dFJhbmdlT25seUNsb3NpbmdC
cmFjZShzdGFydFBvc2l0aW9uLCBlbmRQb3NpdGlvbikpCiAgICAgICAgICAgICByZXR1cm4gbnVs
bDsKIAotICAgICAgICB2YXIgbWFya2VyID0gdGhpcy5zb3VyY2VDb2RlVGV4dEVkaXRvci5hZGRT
dHlsZVRvVGV4dFJhbmdlKHN0YXJ0UG9zaXRpb24sIGVuZFBvc2l0aW9uLCBXSS5CYXNpY0Jsb2Nr
QW5ub3RhdG9yLkhhc05vdEV4ZWN1dGVkQ2xhc3NOYW1lKTsKLSAgICAgICAgcmV0dXJuIG1hcmtl
cjsKKyAgICAgICAgcmV0dXJuIHRoaXMuc291cmNlQ29kZVRleHRFZGl0b3IuYWRkU3R5bGVUb1Rl
eHRSYW5nZShzdGFydFBvc2l0aW9uLCBlbmRQb3NpdGlvbiwgV0kuQmFzaWNCbG9ja0Fubm90YXRv
ci5IYXNOb3RFeGVjdXRlZENsYXNzTmFtZSk7CiAgICAgfQogCiAgICAgX2lzVGV4dFJhbmdlT25s
eUNsb3NpbmdCcmFjZShzdGFydFBvc2l0aW9uLCBlbmRQb3NpdGlvbikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9Tb3VyY2VDb2RlUG9zaXRp
b24uanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvU291cmNl
Q29kZVBvc2l0aW9uLmpzCmluZGV4IDU1YjVlNzkyMDMzZmVmZWRkZGY4Njk3ZjY2YjdkYTcwZjVk
YzcyOWQuLjdkNDkyODkyZmViMWViOWMzMTE5ZTQ0YzdjODRmZjI0YTBmOTI5OTMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9Tb3VyY2VDb2Rl
UG9zaXRpb24uanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9k
ZWxzL1NvdXJjZUNvZGVQb3NpdGlvbi5qcwpAQCAtMzYsNiArMzYsMTIgQEAgV0kuU291cmNlQ29k
ZVBvc2l0aW9uID0gY2xhc3MgU291cmNlQ29kZVBvc2l0aW9uCiAgICAgZ2V0IGxpbmVOdW1iZXIo
KSB7IHJldHVybiB0aGlzLl9saW5lTnVtYmVyOyB9CiAgICAgZ2V0IGNvbHVtbk51bWJlcigpIHsg
cmV0dXJuIHRoaXMuX2NvbHVtbk51bWJlcjsgfQogCisgICAgb2Zmc2V0Q29sdW1uKGRlbHRhKQor
ICAgIHsKKyAgICAgICAgY29uc29sZS5hc3NlcnQodGhpcy5fY29sdW1uTnVtYmVyICsgZGVsdGEg
Pj0gMCk7CisgICAgICAgIHJldHVybiBuZXcgV0kuU291cmNlQ29kZVBvc2l0aW9uKHRoaXMuX2xp
bmVOdW1iZXIsIHRoaXMuX2NvbHVtbk51bWJlciArIGRlbHRhKTsKKyAgICB9CisKICAgICBlcXVh
bHMocG9zaXRpb24pCiAgICAgewogICAgICAgICByZXR1cm4gdGhpcy5fbGluZU51bWJlciA9PT0g
cG9zaXRpb24ubGluZU51bWJlciAmJiB0aGlzLl9jb2x1bW5OdW1iZXIgPT09IHBvc2l0aW9uLmNv
bHVtbk51bWJlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL1RleHRFZGl0b3IuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9UZXh0RWRpdG9yLmpzCmluZGV4IDZlNWUyNjM0MTM0NWQ2OTBlNGY0MTA0OTky
ZWMzMjEyZTU2NDcxYTcuLjVhYTQwMGE0ZDVlYjE1ZTgwNDA5OGY4ZjM3NWI3ODI0NmQ3MGZhYzEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Rl
eHRFZGl0b3IuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvVGV4dEVkaXRvci5qcwpAQCAtNDY3LDEzICs0NjcsMTMgQEAgV0kuVGV4dEVkaXRvciA9IGNs
YXNzIFRleHRFZGl0b3IgZXh0ZW5kcyBXSS5WaWV3CiAKICAgICBnZXRUZXh0SW5SYW5nZShzdGFy
dFBvc2l0aW9uLCBlbmRQb3NpdGlvbikKICAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl9jb2Rl
TWlycm9yLmdldFJhbmdlKHN0YXJ0UG9zaXRpb24sIGVuZFBvc2l0aW9uKTsKKyAgICAgICAgcmV0
dXJuIHRoaXMuX2NvZGVNaXJyb3IuZ2V0UmFuZ2Uoc3RhcnRQb3NpdGlvbi50b0NvZGVNaXJyb3Io
KSwgZW5kUG9zaXRpb24udG9Db2RlTWlycm9yKCkpOwogICAgIH0KIAogICAgIGFkZFN0eWxlVG9U
ZXh0UmFuZ2Uoc3RhcnRQb3NpdGlvbiwgZW5kUG9zaXRpb24sIHN0eWxlQ2xhc3NOYW1lKQogICAg
IHsKLSAgICAgICAgZW5kUG9zaXRpb24uY2ggKz0gMTsKLSAgICAgICAgcmV0dXJuIHRoaXMuX2Nv
ZGVNaXJyb3IuZ2V0RG9jKCkubWFya1RleHQoc3RhcnRQb3NpdGlvbiwgZW5kUG9zaXRpb24sIHtj
bGFzc05hbWU6IHN0eWxlQ2xhc3NOYW1lLCBpbmNsdXNpdmVMZWZ0OiB0cnVlLCBpbmNsdXNpdmVS
aWdodDogdHJ1ZX0pOworICAgICAgICBlbmRQb3NpdGlvbiA9IGVuZFBvc2l0aW9uLm9mZnNldENv
bHVtbigxKTsKKyAgICAgICAgcmV0dXJuIHRoaXMuX2NvZGVNaXJyb3IuZ2V0RG9jKCkubWFya1Rl
eHQoc3RhcnRQb3NpdGlvbi50b0NvZGVNaXJyb3IoKSwgZW5kUG9zaXRpb24udG9Db2RlTWlycm9y
KCksIHtjbGFzc05hbWU6IHN0eWxlQ2xhc3NOYW1lLCBpbmNsdXNpdmVMZWZ0OiB0cnVlLCBpbmNs
dXNpdmVSaWdodDogdHJ1ZX0pOwogICAgIH0KIAogICAgIHJldmVhbFBvc2l0aW9uKHBvc2l0aW9u
LCB0ZXh0UmFuZ2VUb1NlbGVjdCwgZm9yY2VVbmZvcm1hdHRlZCwgbm9IaWdobGlnaHQpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>344986</attachid>
            <date>2018-07-13 14:48:39 -0700</date>
            <delta_ts>2018-07-13 15:27:38 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-187613-20180713144836.patch</filename>
            <type>text/plain</type>
            <size>9504</size>
            <attacher name="Matt Baker">mattbaker</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMzNzkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCA3
MGFmODBmZTAxMzI1YWI4MmRkYjU2ZTk2MDlhYThjZTE4MGNjNjAzLi4xM2Y2YmZiZTk2ODlhZmI5
ODUwYWNkZWZiOGYxNTRmNWRkYTVlNjg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNiBAQAorMjAxOC0wNy0xMyAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQmFzaWMgYmxvY2tzIGhpZ2hsaWdodGluZyBzaG91
bGQgdXNlIGxpbmUvY29sdW1uIGxvY2F0aW9ucyBpbnN0ZWFkIG9mIG9mZnNldHMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NzYxMworICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNDIxMzE4MDg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSm9zZXBoIFBl
Y29yYXJvLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Db250cm9sbGVycy9CYXNpY0Jsb2Nr
QW5ub3RhdG9yLmpzOgorICAgICAgICBCYXNpYyBibG9ja3Mgc2VudCBmcm9tIHRoZSBiYWNrZW5k
IGluY2x1ZGUgb2Zmc2V0cyBpbnRvIHRoZSBvcmlnaW5hbAorICAgICAgICBmaWxlLCByYXRoZXIg
dGhhbiBsaW5lL2NvbHVtbiBsb2NhdGlvbnMuIEluIG9yZGVyIHRvIHRyYW5zbGF0ZSB0byBwb3Np
dGlvbnMKKyAgICAgICAgd2l0aGluIENvZGVNaXJyb3IsIHdlIG5lZWQgdG8gY2FsY3VsYXRlIHRo
ZSBvcmlnaW5hbCBsaW5lIGFuZCBjb2x1bW4KKyAgICAgICAgZm9yIGVhY2ggYmxvY2suCisKKyAg
ICAgICAgKFdJLkJhc2ljQmxvY2tBbm5vdGF0b3IucHJvdG90eXBlLmluc2VydEFubm90YXRpb25z
KToKKyAgICAgICAgKFdJLkJhc2ljQmxvY2tBbm5vdGF0b3IucHJvdG90eXBlLl9jYWxjdWxhdGVC
YXNpY0Jsb2NrUG9zaXRpb25zLm9mZnNldFRvUG9zaXRpb24pOgorICAgICAgICAoV0kuQmFzaWNC
bG9ja0Fubm90YXRvci5wcm90b3R5cGUuX2NhbGN1bGF0ZUJhc2ljQmxvY2tQb3NpdGlvbnMpOgor
ICAgICAgICAoV0kuQmFzaWNCbG9ja0Fubm90YXRvci5wcm90b3R5cGUuX2Fubm90YXRlQmFzaWNC
bG9ja0V4ZWN1dGlvblJhbmdlcy4pOgorICAgICAgICAoV0kuQmFzaWNCbG9ja0Fubm90YXRvci5w
cm90b3R5cGUuX2Fubm90YXRlQmFzaWNCbG9ja0V4ZWN1dGlvblJhbmdlcyk6CisgICAgICAgIChX
SS5CYXNpY0Jsb2NrQW5ub3RhdG9yLnByb3RvdHlwZS5faGlnaGxpZ2h0VGV4dEZvckJhc2ljQmxv
Y2spOgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Nb2RlbHMvU291cmNlQ29kZVBvc2l0aW9u
LmpzOgorICAgICAgICAoV0kuU291cmNlQ29kZVBvc2l0aW9uLnByb3RvdHlwZS5vZmZzZXRDb2x1
bW4pOgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9UZXh0RWRpdG9yLmpzOgorICAg
ICAgICAoV0kuVGV4dEVkaXRvci5wcm90b3R5cGUuZ2V0VGV4dEluUmFuZ2UpOgorICAgICAgICAo
V0kuVGV4dEVkaXRvci5wcm90b3R5cGUuYWRkU3R5bGVUb1RleHRSYW5nZSk6CisgICAgICAgIEJl
dHRlciBlbmNhcHN1bGF0aW9uIGZvciBDb2RlTWlycm9yIHBvc2l0aW9ucy4KKworICAgICAgICAq
IFVzZXJJbnRlcmZhY2UvV29ya2Vycy9Gb3JtYXR0ZXIvRm9ybWF0dGVyVXRpbGl0aWVzLmpzOgor
ICAgICAgICAoZ2V0IGlmKToKKyAgICAgICAgVXBkYXRlIFN0cmluZy5wcm90b3R5cGUubGluZUVu
ZGluZ3MgdG8gc3VwcG9ydCBhZGRpdGlvbmFsIGxpbmUgc2VwYXJhdG9ycy4KKwogMjAxOC0wNy0x
MiAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3Bl
Y3RvcjogVHlwZSB0b2tlbiBwb3NpdGlvbmluZyBzaG91bGQgdXNlIGxpbmUvY29sdW1uIGxvY2F0
aW9ucyBmcm9tIEVzcHJpbWEgaW5zdGVhZCBvZiBvZmZzZXRzCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9CYXNpY0Jsb2NrQW5ub3Rh
dG9yLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMv
QmFzaWNCbG9ja0Fubm90YXRvci5qcwppbmRleCBhNzgzN2FiZTkzZmFmNzhlMTQ2ODgxYWQ5YzAw
N2YxNmJiOTQ4MGY5Li45Y2E5YTIyZWJiZjgyMzQ4MzE1Mzg3NTllZmM5OGYzZWNkYTZjYTA2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVy
cy9CYXNpY0Jsb2NrQW5ub3RhdG9yLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL0NvbnRyb2xsZXJzL0Jhc2ljQmxvY2tBbm5vdGF0b3IuanMKQEAgLTQ2LDEzICs0
Niw0OSBAQCBXSS5CYXNpY0Jsb2NrQW5ub3RhdG9yID0gY2xhc3MgQmFzaWNCbG9ja0Fubm90YXRv
ciBleHRlbmRzIFdJLkFubm90YXRvcgogICAgIHsKICAgICAgICAgaWYgKCF0aGlzLmlzQWN0aXZl
KCkpCiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIHRoaXMuX2Fubm90YXRlQmFzaWNCbG9j
a0V4ZWN1dGlvblJhbmdlcygpOworICAgICAgICB0aGlzLl9zY3JpcHQucmVxdWVzdENvbnRlbnQo
KS50aGVuKHRoaXMuX2Fubm90YXRlQmFzaWNCbG9ja0V4ZWN1dGlvblJhbmdlcy5iaW5kKHRoaXMp
KTsKICAgICB9CiAKICAgICAvLyBQcml2YXRlCiAKKyAgICBfY2FsY3VsYXRlQmFzaWNCbG9ja1Bv
c2l0aW9ucyhiYXNpY0Jsb2NrcywgY29udGVudCkKKyAgICB7CisgICAgICAgIGlmICghYmFzaWNC
bG9ja3MgfHwgIWJhc2ljQmxvY2tzLmxlbmd0aCkKKyAgICAgICAgICAgIHJldHVybjsKKworICAg
ICAgICBsZXQgbGluZUVuZGluZ3MgPSBbXTsKKyAgICAgICAgbGV0IGxpbmVFbmRpbmdMZW5ndGhz
ID0gW107CisgICAgICAgIGxldCBwYXR0ZXJuID0gL1xyXG4/fFxuL2c7CisgICAgICAgIGxldCBt
YXRjaCA9IHBhdHRlcm4uZXhlYyhjb250ZW50KTsKKyAgICAgICAgd2hpbGUgKG1hdGNoKSB7Cisg
ICAgICAgICAgICBsaW5lRW5kaW5ncy5wdXNoKG1hdGNoLmluZGV4KTsKKyAgICAgICAgICAgIGxp
bmVFbmRpbmdMZW5ndGhzLnB1c2gobWF0Y2hbMF0ubGVuZ3RoKTsKKyAgICAgICAgICAgIG1hdGNo
ID0gcGF0dGVybi5leGVjKGNvbnRlbnQpCisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiBv
ZmZzZXRUb1Bvc2l0aW9uKG9mZnNldCkgeworICAgICAgICAgICAgbGV0IGxpbmVOdW1iZXIgPSBs
aW5lRW5kaW5ncy51cHBlckJvdW5kKG9mZnNldCAtIDEpOworICAgICAgICAgICAgaWYgKGxpbmVO
dW1iZXIpIHsKKyAgICAgICAgICAgICAgICBsZXQgcHJldmlvdXNMaW5lID0gbGluZU51bWJlciAt
IDE7CisgICAgICAgICAgICAgICAgdmFyIGNvbHVtbk51bWJlciA9IG9mZnNldCAtIGxpbmVFbmRp
bmdzW3ByZXZpb3VzTGluZV0gLSBsaW5lRW5kaW5nTGVuZ3Roc1twcmV2aW91c0xpbmVdOworICAg
ICAgICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAgdmFyIGNvbHVtbk51bWJlciA9IG9mZnNl
dDsKKyAgICAgICAgICAgIHJldHVybiBuZXcgV0kuU291cmNlQ29kZVBvc2l0aW9uKGxpbmVOdW1i
ZXIsIGNvbHVtbk51bWJlcik7CisgICAgICAgIH0KKworICAgICAgICBmb3IgKGxldCBibG9jayBv
ZiBiYXNpY0Jsb2NrcykgeworICAgICAgICAgICAgYmxvY2suc3RhcnRQb3NpdGlvbiA9IG9mZnNl
dFRvUG9zaXRpb24oYmxvY2suc3RhcnRPZmZzZXQpOworICAgICAgICAgICAgYmxvY2suZW5kUG9z
aXRpb24gPSBvZmZzZXRUb1Bvc2l0aW9uKGJsb2NrLmVuZE9mZnNldCk7CisgICAgICAgIH0KKyAg
ICB9CisKICAgICBfYW5ub3RhdGVCYXNpY0Jsb2NrRXhlY3V0aW9uUmFuZ2VzKCkKICAgICB7Cisg
ICAgICAgIGxldCBjb250ZW50ID0gdGhpcy5fc2NyaXB0LmNvbnRlbnQ7CisgICAgICAgIGNvbnNv
bGUuYXNzZXJ0KGNvbnRlbnQsICJNaXNzaW5nIHNjcmlwdCBjb250ZW50IGZvciBiYXNpYyBibG9j
ayBhbm5vdGF0aW9ucy4iKTsKKyAgICAgICAgaWYgKCFjb250ZW50KQorICAgICAgICAgICAgcmV0
dXJuOworCiAgICAgICAgIHZhciBzb3VyY2VJRCA9IHRoaXMuX3NjcmlwdC5pZDsKICAgICAgICAg
dmFyIHN0YXJ0VGltZSA9IERhdGUubm93KCk7CiAKQEAgLTY1LDE2ICsxMDEsMTggQEAgV0kuQmFz
aWNCbG9ja0Fubm90YXRvciA9IGNsYXNzIEJhc2ljQmxvY2tBbm5vdGF0b3IgZXh0ZW5kcyBXSS5B
bm5vdGF0b3IKICAgICAgICAgICAgIGlmICghdGhpcy5pc0FjdGl2ZSgpKQogICAgICAgICAgICAg
ICAgIHJldHVybjsKIAotICAgICAgICAgICAgdmFyIHtzdGFydE9mZnNldCwgZW5kT2Zmc2V0fSA9
IHRoaXMuc291cmNlQ29kZVRleHRFZGl0b3IudmlzaWJsZVJhbmdlT2Zmc2V0cygpOworICAgICAg
ICAgICAgdGhpcy5fY2FsY3VsYXRlQmFzaWNCbG9ja1Bvc2l0aW9ucyhiYXNpY0Jsb2NrcywgY29u
dGVudCk7CisKKyAgICAgICAgICAgIGxldCB7c3RhcnRQb3NpdGlvbiwgZW5kUG9zaXRpb259ID0g
dGhpcy5zb3VyY2VDb2RlVGV4dEVkaXRvci52aXNpYmxlUmFuZ2VQb3NpdGlvbnMoKTsKICAgICAg
ICAgICAgIGJhc2ljQmxvY2tzID0gYmFzaWNCbG9ja3MuZmlsdGVyKGZ1bmN0aW9uKGJsb2NrKSB7
CiAgICAgICAgICAgICAgICAgLy8gVmlld3BvcnQ6IFstLV0KICAgICAgICAgICAgICAgICAvLyBC
bG9jazogICAgICAgICBbLS1dCi0gICAgICAgICAgICAgICAgaWYgKGJsb2NrLnN0YXJ0T2Zmc2V0
ID4gZW5kT2Zmc2V0KQorICAgICAgICAgICAgICAgIGlmIChibG9jay5zdGFydFBvc2l0aW9uLmlz
QWZ0ZXIoZW5kUG9zaXRpb24pKQogICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAK
ICAgICAgICAgICAgICAgICAvLyBWaWV3cG9ydDogICAgICBbLS1dCiAgICAgICAgICAgICAgICAg
Ly8gQmxvY2s6ICAgIFstLV0KLSAgICAgICAgICAgICAgICBpZiAoYmxvY2suZW5kT2Zmc2V0IDwg
c3RhcnRPZmZzZXQpCisgICAgICAgICAgICAgICAgaWYgKGJsb2NrLmVuZFBvc2l0aW9uLmlzQmVm
b3JlKHN0YXJ0UG9zaXRpb24pKQogICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAK
ICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKQEAgLTEwMywxMyArMTQxLDEyIEBAIFdJLkJh
c2ljQmxvY2tBbm5vdGF0b3IgPSBjbGFzcyBCYXNpY0Jsb2NrQW5ub3RhdG9yIGV4dGVuZHMgV0ku
QW5ub3RhdG9yCiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KGJhc2ljQmxvY2suc3RhcnRPZmZzZXQg
PD0gYmFzaWNCbG9jay5lbmRPZmZzZXQgJiYgYmFzaWNCbG9jay5zdGFydE9mZnNldCA+PSAwICYm
IGJhc2ljQmxvY2suZW5kT2Zmc2V0ID49IDAsICIiICsgYmFzaWNCbG9jay5zdGFydE9mZnNldCAr
ICI6IiArIGJhc2ljQmxvY2suZW5kT2Zmc2V0KTsKICAgICAgICAgY29uc29sZS5hc3NlcnQoIWJh
c2ljQmxvY2suaGFzRXhlY3V0ZWQpOwogCi0gICAgICAgIHZhciBzdGFydFBvc2l0aW9uID0gdGhp
cy5zb3VyY2VDb2RlVGV4dEVkaXRvci5vcmlnaW5hbE9mZnNldFRvQ3VycmVudFBvc2l0aW9uKGJh
c2ljQmxvY2suc3RhcnRPZmZzZXQpOwotICAgICAgICB2YXIgZW5kUG9zaXRpb24gPSB0aGlzLnNv
dXJjZUNvZGVUZXh0RWRpdG9yLm9yaWdpbmFsT2Zmc2V0VG9DdXJyZW50UG9zaXRpb24oYmFzaWNC
bG9jay5lbmRPZmZzZXQpOworICAgICAgICBsZXQgc3RhcnRQb3NpdGlvbiA9IHRoaXMuc291cmNl
Q29kZVRleHRFZGl0b3Iub3JpZ2luYWxQb3NpdGlvblRvQ3VycmVudFBvc2l0aW9uKGJhc2ljQmxv
Y2suc3RhcnRQb3NpdGlvbik7CisgICAgICAgIGxldCBlbmRQb3NpdGlvbiA9IHRoaXMuc291cmNl
Q29kZVRleHRFZGl0b3Iub3JpZ2luYWxQb3NpdGlvblRvQ3VycmVudFBvc2l0aW9uKGJhc2ljQmxv
Y2suZW5kUG9zaXRpb24pOwogICAgICAgICBpZiAodGhpcy5faXNUZXh0UmFuZ2VPbmx5Q2xvc2lu
Z0JyYWNlKHN0YXJ0UG9zaXRpb24sIGVuZFBvc2l0aW9uKSkKICAgICAgICAgICAgIHJldHVybiBu
dWxsOwogCi0gICAgICAgIHZhciBtYXJrZXIgPSB0aGlzLnNvdXJjZUNvZGVUZXh0RWRpdG9yLmFk
ZFN0eWxlVG9UZXh0UmFuZ2Uoc3RhcnRQb3NpdGlvbiwgZW5kUG9zaXRpb24sIFdJLkJhc2ljQmxv
Y2tBbm5vdGF0b3IuSGFzTm90RXhlY3V0ZWRDbGFzc05hbWUpOwotICAgICAgICByZXR1cm4gbWFy
a2VyOworICAgICAgICByZXR1cm4gdGhpcy5zb3VyY2VDb2RlVGV4dEVkaXRvci5hZGRTdHlsZVRv
VGV4dFJhbmdlKHN0YXJ0UG9zaXRpb24sIGVuZFBvc2l0aW9uLCBXSS5CYXNpY0Jsb2NrQW5ub3Rh
dG9yLkhhc05vdEV4ZWN1dGVkQ2xhc3NOYW1lKTsKICAgICB9CiAKICAgICBfaXNUZXh0UmFuZ2VP
bmx5Q2xvc2luZ0JyYWNlKHN0YXJ0UG9zaXRpb24sIGVuZFBvc2l0aW9uKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1NvdXJjZUNvZGVQb3Np
dGlvbi5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9Tb3Vy
Y2VDb2RlUG9zaXRpb24uanMKaW5kZXggNTViNWU3OTIwMzNmZWZlZGRkZjg2OTdmNjZiN2RhNzBm
NWRjNzI5ZC4uN2Q0OTI4OTJmZWIxZWI5YzMxMTllNDRjN2M4NGZmMjRhMGY5Mjk5MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1NvdXJjZUNv
ZGVQb3NpdGlvbi5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9N
b2RlbHMvU291cmNlQ29kZVBvc2l0aW9uLmpzCkBAIC0zNiw2ICszNiwxMiBAQCBXSS5Tb3VyY2VD
b2RlUG9zaXRpb24gPSBjbGFzcyBTb3VyY2VDb2RlUG9zaXRpb24KICAgICBnZXQgbGluZU51bWJl
cigpIHsgcmV0dXJuIHRoaXMuX2xpbmVOdW1iZXI7IH0KICAgICBnZXQgY29sdW1uTnVtYmVyKCkg
eyByZXR1cm4gdGhpcy5fY29sdW1uTnVtYmVyOyB9CiAKKyAgICBvZmZzZXRDb2x1bW4oZGVsdGEp
CisgICAgeworICAgICAgICBjb25zb2xlLmFzc2VydCh0aGlzLl9jb2x1bW5OdW1iZXIgKyBkZWx0
YSA+PSAwKTsKKyAgICAgICAgcmV0dXJuIG5ldyBXSS5Tb3VyY2VDb2RlUG9zaXRpb24odGhpcy5f
bGluZU51bWJlciwgdGhpcy5fY29sdW1uTnVtYmVyICsgZGVsdGEpOworICAgIH0KKwogICAgIGVx
dWFscyhwb3NpdGlvbikKICAgICB7CiAgICAgICAgIHJldHVybiB0aGlzLl9saW5lTnVtYmVyID09
PSBwb3NpdGlvbi5saW5lTnVtYmVyICYmIHRoaXMuX2NvbHVtbk51bWJlciA9PT0gcG9zaXRpb24u
Y29sdW1uTnVtYmVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvVGV4dEVkaXRvci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL1RleHRFZGl0b3IuanMKaW5kZXggNmU1ZTI2MzQxMzQ1ZDY5MGU0ZjQxMDQ5
OTJlYzMyMTJlNTY0NzFhNy4uNWFhNDAwYTRkNWViMTVlODA0MDk4ZjhmMzc1Yjc4MjQ2ZDcwZmFj
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
VGV4dEVkaXRvci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9UZXh0RWRpdG9yLmpzCkBAIC00NjcsMTMgKzQ2NywxMyBAQCBXSS5UZXh0RWRpdG9yID0g
Y2xhc3MgVGV4dEVkaXRvciBleHRlbmRzIFdJLlZpZXcKIAogICAgIGdldFRleHRJblJhbmdlKHN0
YXJ0UG9zaXRpb24sIGVuZFBvc2l0aW9uKQogICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX2Nv
ZGVNaXJyb3IuZ2V0UmFuZ2Uoc3RhcnRQb3NpdGlvbiwgZW5kUG9zaXRpb24pOworICAgICAgICBy
ZXR1cm4gdGhpcy5fY29kZU1pcnJvci5nZXRSYW5nZShzdGFydFBvc2l0aW9uLnRvQ29kZU1pcnJv
cigpLCBlbmRQb3NpdGlvbi50b0NvZGVNaXJyb3IoKSk7CiAgICAgfQogCiAgICAgYWRkU3R5bGVU
b1RleHRSYW5nZShzdGFydFBvc2l0aW9uLCBlbmRQb3NpdGlvbiwgc3R5bGVDbGFzc05hbWUpCiAg
ICAgewotICAgICAgICBlbmRQb3NpdGlvbi5jaCArPSAxOwotICAgICAgICByZXR1cm4gdGhpcy5f
Y29kZU1pcnJvci5nZXREb2MoKS5tYXJrVGV4dChzdGFydFBvc2l0aW9uLCBlbmRQb3NpdGlvbiwg
e2NsYXNzTmFtZTogc3R5bGVDbGFzc05hbWUsIGluY2x1c2l2ZUxlZnQ6IHRydWUsIGluY2x1c2l2
ZVJpZ2h0OiB0cnVlfSk7CisgICAgICAgIGVuZFBvc2l0aW9uID0gZW5kUG9zaXRpb24ub2Zmc2V0
Q29sdW1uKDEpOworICAgICAgICByZXR1cm4gdGhpcy5fY29kZU1pcnJvci5nZXREb2MoKS5tYXJr
VGV4dChzdGFydFBvc2l0aW9uLnRvQ29kZU1pcnJvcigpLCBlbmRQb3NpdGlvbi50b0NvZGVNaXJy
b3IoKSwge2NsYXNzTmFtZTogc3R5bGVDbGFzc05hbWUsIGluY2x1c2l2ZUxlZnQ6IHRydWUsIGlu
Y2x1c2l2ZVJpZ2h0OiB0cnVlfSk7CiAgICAgfQogCiAgICAgcmV2ZWFsUG9zaXRpb24ocG9zaXRp
b24sIHRleHRSYW5nZVRvU2VsZWN0LCBmb3JjZVVuZm9ybWF0dGVkLCBub0hpZ2hsaWdodCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1dvcmtlcnMvRm9y
bWF0dGVyL0Zvcm1hdHRlclV0aWxpdGllcy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1dvcmtlcnMvRm9ybWF0dGVyL0Zvcm1hdHRlclV0aWxpdGllcy5qcwppbmRleCAz
ZDc3YzE0ZDIxMTkwNTE3OWQyMGVkNDY5NTA3OThmMWU1Y2M0M2ExLi44YTg5NDZjYTRlMjQxNmZl
MzdhMWQ3ZWE2ZWUwYjEyMDQxYTNhMDY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9Xb3JrZXJzL0Zvcm1hdHRlci9Gb3JtYXR0ZXJVdGlsaXRpZXMuanMK
KysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvV29ya2Vycy9Gb3JtYXR0
ZXIvRm9ybWF0dGVyVXRpbGl0aWVzLmpzCkBAIC0zOCwxMSArMzgsMTEgQEAgT2JqZWN0LmRlZmlu
ZVByb3BlcnR5KFN0cmluZy5wcm90b3R5cGUsICJsaW5lRW5kaW5ncyIsCiAgICAgdmFsdWUoKQog
ICAgIHsKICAgICAgICAgbGV0IGxpbmVFbmRpbmdzID0gW107Ci0KLSAgICAgICAgbGV0IGluZGV4
ID0gdGhpcy5pbmRleE9mKCJcbiIpOwotICAgICAgICB3aGlsZSAoaW5kZXggIT09IC0xKSB7Ci0g
ICAgICAgICAgICBsaW5lRW5kaW5ncy5wdXNoKGluZGV4KTsKLSAgICAgICAgICAgIGluZGV4ID0g
dGhpcy5pbmRleE9mKCJcbiIsIGluZGV4ICsgMSk7CisgICAgICAgIGxldCBwYXR0ZXJuID0gL1xy
XG4/fFxuL2c7CisgICAgICAgIGxldCBtYXRjaCA9IHBhdHRlcm4uZXhlYyh0aGlzKTsKKyAgICAg
ICAgd2hpbGUgKG1hdGNoKSB7CisgICAgICAgICAgICBsaW5lRW5kaW5ncy5wdXNoKG1hdGNoLmlu
ZGV4KTsKKyAgICAgICAgICAgIG1hdGNoID0gcGF0dGVybi5leGVjKHRoaXMpCiAgICAgICAgIH0K
IAogICAgICAgICBsaW5lRW5kaW5ncy5wdXNoKHRoaXMubGVuZ3RoKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>