<?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>215493</bug_id>
          
          <creation_ts>2020-08-13 23:33:21 -0700</creation_ts>
          <short_desc>Web Inspector: use `WI.DropZoneView` instead of `handleFileDrop`</short_desc>
          <delta_ts>2020-08-20 23:54:31 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Devin Rousso">hi</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>hi</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>joepeck</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1680228</commentid>
    <comment_count>0</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2020-08-13 23:33:21 -0700</bug_when>
    <thetext>`WI.DropZoneView` shows UI to indicate that something can be dropped, whereas `handleFileDrop` is invisible</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1680229</commentid>
    <comment_count>1</comment_count>
      <attachid>406573</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2020-08-13 23:36:59 -0700</bug_when>
    <thetext>Created attachment 406573
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1680345</commentid>
    <comment_count>2</comment_count>
      <attachid>406573</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2020-08-14 10:49:21 -0700</bug_when>
    <thetext>Comment on attachment 406573
Patch

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

r=me

&gt; Source/WebInspectorUI/UserInterface/Views/AuditTabContentView.js:104
&gt; +        WI.FileUtilities.readJSON(files, (result) =&gt; WI.auditManager.processJSON(result))

Style: Semicolon.

&gt; Source/WebInspectorUI/UserInterface/Views/GraphicsTabContentView.js:154
&gt; +        WI.FileUtilities.readJSON(files, (result) =&gt; WI.canvasManager.processJSON(result))

Style: Semicolon.

&gt; Source/WebInspectorUI/UserInterface/Views/NetworkTabContentView.js:135
&gt; +    dropZoneShouldAppearForDragEvent(dropZone, event)
&gt; +    {
&gt; +        return event.dataTransfer.types.includes(&quot;Files&quot;);
&gt; +    }

Given so many of these are the same, maybe could make an alternate convenience delegate to make this pattern simpler:

    dropZoneShouldAppearForDragEventWithFiles()
    {
        return true;
    }

And `WI.DropZoneView` could check this delegate first. Probably unimportant.

&gt; Source/WebInspectorUI/UserInterface/Views/TimelineTabContentView.js:388
&gt; +        WI.FileUtilities.readJSON(files, (result) =&gt; WI.timelineManager.processJSON(result))

Style: Semicolon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1680432</commentid>
    <comment_count>3</comment_count>
      <attachid>406573</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2020-08-14 14:29:07 -0700</bug_when>
    <thetext>Comment on attachment 406573
Patch

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

&gt;&gt; Source/WebInspectorUI/UserInterface/Views/AuditTabContentView.js:104
&gt;&gt; +        WI.FileUtilities.readJSON(files, (result) =&gt; WI.auditManager.processJSON(result))
&gt; 
&gt; Style: Semicolon.

... crap

&gt;&gt; Source/WebInspectorUI/UserInterface/Views/GraphicsTabContentView.js:154
&gt;&gt; +        WI.FileUtilities.readJSON(files, (result) =&gt; WI.canvasManager.processJSON(result))
&gt; 
&gt; Style: Semicolon.

crap

&gt;&gt; Source/WebInspectorUI/UserInterface/Views/TimelineTabContentView.js:388
&gt;&gt; +        WI.FileUtilities.readJSON(files, (result) =&gt; WI.timelineManager.processJSON(result))
&gt; 
&gt; Style: Semicolon.

CRAP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1680433</commentid>
    <comment_count>4</comment_count>
      <attachid>406573</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2020-08-14 14:31:45 -0700</bug_when>
    <thetext>Comment on attachment 406573
Patch

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

&gt;&gt; Source/WebInspectorUI/UserInterface/Views/NetworkTabContentView.js:135
&gt;&gt; +    }
&gt; 
&gt; Given so many of these are the same, maybe could make an alternate convenience delegate to make this pattern simpler:
&gt; 
&gt;     dropZoneShouldAppearForDragEventWithFiles()
&gt;     {
&gt;         return true;
&gt;     }
&gt; 
&gt; And `WI.DropZoneView` could check this delegate first. Probably unimportant.

Eh, sure, but I think we&apos;ve covered most (if not all) of the bases with this patch already, so meh. I kinda like the verbosity/explicitness :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1680434</commentid>
    <comment_count>5</comment_count>
      <attachid>406621</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2020-08-14 14:33:08 -0700</bug_when>
    <thetext>Created attachment 406621
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1680448</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-08-14 15:00:58 -0700</bug_when>
    <thetext>Committed r265707: &lt;https://trac.webkit.org/changeset/265707&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 406621.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1680449</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-08-14 15:01:21 -0700</bug_when>
    <thetext>&lt;rdar://problem/67099902&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1681945</commentid>
    <comment_count>8</comment_count>
    <who name="Greg Marriott">greggy</who>
    <bug_when>2020-08-20 23:54:31 -0700</bug_when>
    <thetext>*** Bug 215492 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406573</attachid>
            <date>2020-08-13 23:36:59 -0700</date>
            <delta_ts>2020-08-14 14:33:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215493-20200813233658.patch</filename>
            <type>text/plain</type>
            <size>13740</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IGY1N2Q2NzJhY2IyMWIyMjA1MjZhOGVjODU3ODIw
MzdlMzk3ZGI0ZjMuLjMzZWFiMmI3ZjFlNjBkYjdlOTAzOTJkZTI4Y2I1OTRkNWY3MGY3YzUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDIwLTA4LTEzICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiB1
c2UgYFdJLkRyb3Bab25lVmlld2AgaW5zdGVhZCBvZiBgaGFuZGxlRmlsZURyb3BgCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTU0OTMKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBgV0kuRHJvcFpvbmVWaWV3
YCBpbmRpY2F0ZXMgdGhhdCB0aGluZ3MgY2FuIGJlIGRyb3BwZWQsIHdoZXJlYXMgYGhhbmRsZUZp
bGVEcm9wYCBoYXMgbm8gVUkuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0Jhc2UvTWFpbi5q
czoKKyAgICAgICAgKFdJLmNvbnRlbnRMb2FkZWQpOgorICAgICAgICAoV0kuX2hhbmRsZURyb3Ap
OiBEZWxldGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvQXVkaXRUYWJDb250ZW50
Vmlldy5qczoKKyAgICAgICAgKFdJLkF1ZGl0VGFiQ29udGVudFZpZXcucHJvdG90eXBlLmRyb3Ba
b25lU2hvdWxkQXBwZWFyRm9yRHJhZ0V2ZW50KTogQWRkZWQuCisgICAgICAgIChXSS5BdWRpdFRh
YkNvbnRlbnRWaWV3LnByb3RvdHlwZS5kcm9wWm9uZUhhbmRsZURyb3ApOiBBZGRlZC4KKyAgICAg
ICAgKFdJLkF1ZGl0VGFiQ29udGVudFZpZXcucHJvdG90eXBlLmluaXRpYWxMYXlvdXQpOgorICAg
ICAgICAoV0kuQXVkaXRUYWJDb250ZW50Vmlldy5wcm90b3R5cGUuYXN5bmMgaGFuZGxlRmlsZURy
b3ApOiBEZWxldGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvR3JhcGhpY3NUYWJD
b250ZW50Vmlldy5qczoKKyAgICAgICAgKFdJLkdyYXBoaWNzVGFiQ29udGVudFZpZXcucHJvdG90
eXBlLmRyb3Bab25lU2hvdWxkQXBwZWFyRm9yRHJhZ0V2ZW50KTogQWRkZWQuCisgICAgICAgIChX
SS5HcmFwaGljc1RhYkNvbnRlbnRWaWV3LnByb3RvdHlwZS5kcm9wWm9uZUhhbmRsZURyb3ApOiBB
ZGRlZC4KKyAgICAgICAgKFdJLkdyYXBoaWNzVGFiQ29udGVudFZpZXcucHJvdG90eXBlLmluaXRp
YWxMYXlvdXQpOgorICAgICAgICAoV0kuR3JhcGhpY3NUYWJDb250ZW50Vmlldy5wcm90b3R5cGUu
YXN5bmMgaGFuZGxlRmlsZURyb3ApOiBEZWxldGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2Uv
Vmlld3MvTmV0d29ya1RhYkNvbnRlbnRWaWV3LmpzOgorICAgICAgICAoV0kuTmV0d29ya1RhYkNv
bnRlbnRWaWV3LnByb3RvdHlwZS5pbml0aWFsTGF5b3V0KToKKyAgICAgICAgKFdJLk5ldHdvcmtU
YWJDb250ZW50Vmlldy5wcm90b3R5cGUuZHJvcFpvbmVTaG91bGRBcHBlYXJGb3JEcmFnRXZlbnQp
OiBBZGRlZC4KKyAgICAgICAgKFdJLk5ldHdvcmtUYWJDb250ZW50Vmlldy5wcm90b3R5cGUuZHJv
cFpvbmVIYW5kbGVEcm9wKTogQWRkZWQuCisgICAgICAgIChXSS5OZXR3b3JrVGFiQ29udGVudFZp
ZXcucHJvdG90eXBlLmFzeW5jIGhhbmRsZUZpbGVEcm9wKTogRGVsZXRlZC4KKyAgICAgICAgKiBV
c2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lVGFiQ29udGVudFZpZXcuanM6CisgICAgICAgIChX
SS5UaW1lbGluZVRhYkNvbnRlbnRWaWV3LnByb3RvdHlwZS5kcm9wWm9uZVNob3VsZEFwcGVhckZv
ckRyYWdFdmVudCk6IEFkZGVkLgorICAgICAgICAoV0kuVGltZWxpbmVUYWJDb250ZW50Vmlldy5w
cm90b3R5cGUuZHJvcFpvbmVIYW5kbGVEcm9wKTogQWRkZWQuCisgICAgICAgIChXSS5UaW1lbGlu
ZVRhYkNvbnRlbnRWaWV3LnByb3RvdHlwZS5pbml0aWFsTGF5b3V0KToKKyAgICAgICAgKFdJLlRp
bWVsaW5lVGFiQ29udGVudFZpZXcucHJvdG90eXBlLmFzeW5jIGhhbmRsZUZpbGVEcm9wKTogRGVs
ZXRlZC4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvR3JhcGhpY3NPdmVydmlld0Nv
bnRlbnRWaWV3LmpzOgorICAgICAgICAoV0kuR3JhcGhpY3NPdmVydmlld0NvbnRlbnRWaWV3LnBy
b3RvdHlwZS5pbml0aWFsTGF5b3V0KToKKyAgICAgICAgKFdJLkdyYXBoaWNzT3ZlcnZpZXdDb250
ZW50Vmlldy5wcm90b3R5cGUuZHJvcFpvbmVTaG91bGRBcHBlYXJGb3JEcmFnRXZlbnQpOiBEZWxl
dGVkLgorICAgICAgICAoV0kuR3JhcGhpY3NPdmVydmlld0NvbnRlbnRWaWV3LnByb3RvdHlwZS5k
cm9wWm9uZUhhbmRsZURyb3ApOiBEZWxldGVkLgorICAgICAgICBSZW1vdmUgdGhpcyBgV0kuRHJv
cFpvbmVWaWV3YCBhcyBpdCdzIG5vdyBoYW5kbGVkIGJ5IGBXSS5HcmFwaGljc1RhYkNvbnRlbnRW
aWV3YC4KKworICAgICAgICAqIExvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5n
cy5qczoKKwogMjAyMC0wOC0xMiAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAK
ICAgICAgICAgV2ViIEluc3BlY3RvcjogUkVHUkVTU0lPTihyMjU5MTcwKTogdGV4dCBpbnB1dHMg
aW4gYm94LXNoYWRvdyBlZGl0b3IgcHVzaCBzbGlkZXJzIG9mZnNjcmVlbgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3Ry
aW5ncy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xv
Y2FsaXplZFN0cmluZ3MuanMKaW5kZXggNWU5MzQ1YjYyYThmYjBkNjJiYTVhMzhiMjJmY2VkNzNk
YTMwNGEwOS4uNzdlMGU1NmZjYmY2ZmJmZWRlMGVhNTMxNzQ0YTY2ZDIxYzMzZDljMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxp
emVkU3RyaW5ncy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0aW9ucy9l
bi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCkBAIC02ODAsNiArNjgwLDggQEAgbG9jYWxpemVk
U3RyaW5nc1siSW1hZ2VzIl0gPSAiSW1hZ2VzIjsKIGxvY2FsaXplZFN0cmluZ3NbIkltYWdlczoi
XSA9ICJJbWFnZXM6IjsKIGxvY2FsaXplZFN0cmluZ3NbIkltbWVkaWF0ZSBQYXVzZSBSZXF1ZXN0
ZWQiXSA9ICJJbW1lZGlhdGUgUGF1c2UgUmVxdWVzdGVkIjsKIGxvY2FsaXplZFN0cmluZ3NbIklt
cG9ydCJdID0gIkltcG9ydCI7Citsb2NhbGl6ZWRTdHJpbmdzWyJJbXBvcnQgQXVkaXQiXSA9ICJJ
bXBvcnQgQXVkaXQiOworbG9jYWxpemVkU3RyaW5nc1siSW1wb3J0IEhBUiJdID0gIkltcG9ydCBI
QVIiOwogbG9jYWxpemVkU3RyaW5nc1siSW1wb3J0IFJlY29yZGluZyJdID0gIkltcG9ydCBSZWNv
cmRpbmciOwogbG9jYWxpemVkU3RyaW5nc1siSW1wb3J0ZWQiXSA9ICJJbXBvcnRlZCI7CiBsb2Nh
bGl6ZWRTdHJpbmdzWyJJbXBvcnRlZCAtICVzIl0gPSAiSW1wb3J0ZWQgLSAlcyI7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL01haW4uanMgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL01haW4uanMKaW5kZXggNjgy
N2U1NjgxNjNkZDdjYTg1OTQ0ZGFlZGYyM2I0MzE4YjdhYjY4Zi4uYmQ0MjlkNTNjYzJlMzVlNzYx
YWRiYmM2NDQyNTY1YTQwOGNiMjNlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvQmFzZS9NYWluLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL0Jhc2UvTWFpbi5qcwpAQCAtMjM0LDcgKzIzNCw2IEBAIFdJLmNvbnRlbnRM
b2FkZWQgPSBmdW5jdGlvbigpCiAKICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIFdJLl9tb3VzZVdhc0NsaWNrZWQpOwogICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIo
ImRyYWdvdmVyIiwgV0kuX2hhbmRsZURyYWdPdmVyKTsKLSAgICBkb2N1bWVudC5hZGRFdmVudExp
c3RlbmVyKCJkcm9wIiwgV0kuX2hhbmRsZURyb3ApOwogICAgIGRvY3VtZW50LmFkZEV2ZW50TGlz
dGVuZXIoImZvY3VzIiwgV0kuX2ZvY3VzQ2hhbmdlZCwgdHJ1ZSk7CiAKICAgICB3aW5kb3cuYWRk
RXZlbnRMaXN0ZW5lcigiZm9jdXMiLCBXSS5fd2luZG93Rm9jdXNlZCk7CkBAIC0xNjU5LDM2ICsx
NjU4LDExIEBAIFdJLl9oYW5kbGVEcmFnT3ZlciA9IGZ1bmN0aW9uKGV2ZW50KQogICAgIGlmIChX
SS5pc0V2ZW50VGFyZ2V0QW5FZGl0YWJsZUZpZWxkKGV2ZW50KSkKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgbGV0IHRhYkNvbnRlbnRWaWV3ID0gV0kudGFiQnJvd3Nlci5zZWxlY3RlZFRhYkNvbnRl
bnRWaWV3OwotICAgIGlmICghdGFiQ29udGVudFZpZXcgfHwgIXRhYkNvbnRlbnRWaWV3LmhhbmRs
ZUZpbGVEcm9wIHx8ICFldmVudC5kYXRhVHJhbnNmZXIudHlwZXMuaW5jbHVkZXMoIkZpbGVzIikp
IHsKLSAgICAgICAgLy8gUHJldmVudCB0aGUgZHJvcCBmcm9tIGJlaW5nIGFjY2VwdGVkLgotICAg
ICAgICBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCA9ICJub25lIjsKLSAgICB9Ci0KKyAg
ICAvLyBQcmV2ZW50IHRoZSBkcm9wIGZyb20gYmVpbmcgYWNjZXB0ZWQuCisgICAgZXZlbnQuZGF0
YVRyYW5zZmVyLmRyb3BFZmZlY3QgPSAibm9uZSI7CiAgICAgZXZlbnQucHJldmVudERlZmF1bHQo
KTsKIH07CiAKLVdJLl9oYW5kbGVEcm9wID0gZnVuY3Rpb24oZXZlbnQpCi17Ci0gICAgLy8gRG8g
bm90aGluZyBpZiBhbm90aGVyIGV2ZW50IGxpc3RlbmVyIGhhbmRsZWQgdGhlIGV2ZW50IGFscmVh
ZHkuCi0gICAgaWYgKGV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpCi0gICAgICAgIHJldHVybjsKLQot
ICAgIC8vIEFsbG93IGRyb3BwaW5nIGludG8gZWRpdGFibGUgYXJlYXMuCi0gICAgaWYgKFdJLmlz
RXZlbnRUYXJnZXRBbkVkaXRhYmxlRmllbGQoZXZlbnQpKQotICAgICAgICByZXR1cm47Ci0KLSAg
ICBsZXQgdGFiQ29udGVudFZpZXcgPSBXSS50YWJCcm93c2VyLnNlbGVjdGVkVGFiQ29udGVudFZp
ZXc7Ci0gICAgaWYgKHRhYkNvbnRlbnRWaWV3ICYmIHRhYkNvbnRlbnRWaWV3LmhhbmRsZUZpbGVE
cm9wICYmIGV2ZW50LmRhdGFUcmFuc2Zlci5maWxlcykgewotICAgICAgICBldmVudC5wcmV2ZW50
RGVmYXVsdCgpOwotCi0gICAgICAgIHRhYkNvbnRlbnRWaWV3LmhhbmRsZUZpbGVEcm9wKGV2ZW50
LmRhdGFUcmFuc2Zlci5maWxlcykKLSAgICAgICAgLnRoZW4oKCkgPT4gewotICAgICAgICAgICAg
ZXZlbnQuZGF0YVRyYW5zZmVyLmNsZWFyRGF0YSgpOwotICAgICAgICB9KTsKLSAgICB9Ci19Owot
CiBXSS5fZGVidWdnZXJEaWRQYXVzZSA9IGZ1bmN0aW9uKGV2ZW50KQogewogICAgIFdJLnNob3dT
b3VyY2VzVGFiKHtzaG93U2NvcGVDaGFpblNpZGViYXI6IFdJLnNldHRpbmdzLnNob3dTY29wZUNo
YWluT25QYXVzZS52YWx1ZX0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvQXVkaXRUYWJDb250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0F1ZGl0VGFiQ29udGVudFZpZXcuanMKaW5kZXgg
YzhhNjgzMDI5MWI0NTc0Yjc4NmYxY2YyOWFjNDYwMGQzOGU5NDE0OC4uNmM4Y2RhYmQ5YWNkOTZi
ODJhZGFiNTNlMjFmNjFlZDYzZmNlYmUzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQXVkaXRUYWJDb250ZW50Vmlldy5qcworKysgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9BdWRpdFRhYkNvbnRlbnRWaWV3
LmpzCkBAIC04Niw5ICs4NiwyMiBAQCBXSS5BdWRpdFRhYkNvbnRlbnRWaWV3ID0gY2xhc3MgQXVk
aXRUYWJDb250ZW50VmlldyBleHRlbmRzIFdJLkNvbnRlbnRCcm93c2VyVGFiQwogICAgICAgICBz
dXBlci5oaWRkZW4oKTsKICAgICB9CiAKLSAgICBhc3luYyBoYW5kbGVGaWxlRHJvcChmaWxlcykK
KyAgICAvLyBEcm9wWm9uZVZpZXcgZGVsZWdhdGUKKworICAgIGRyb3Bab25lU2hvdWxkQXBwZWFy
Rm9yRHJhZ0V2ZW50KGRyb3Bab25lLCBldmVudCkKICAgICB7Ci0gICAgICAgIGF3YWl0IFdJLkZp
bGVVdGlsaXRpZXMucmVhZEpTT04oZmlsZXMsIChyZXN1bHQpID0+IFdJLmF1ZGl0TWFuYWdlci5w
cm9jZXNzSlNPTihyZXN1bHQpKTsKKyAgICAgICAgcmV0dXJuIGV2ZW50LmRhdGFUcmFuc2Zlci50
eXBlcy5pbmNsdWRlcygiRmlsZXMiKTsKKyAgICB9CisKKyAgICBkcm9wWm9uZUhhbmRsZURyb3Ao
ZHJvcFpvbmUsIGV2ZW50KQorICAgIHsKKyAgICAgICAgbGV0IGZpbGVzID0gZXZlbnQuZGF0YVRy
YW5zZmVyLmZpbGVzOworICAgICAgICBpZiAoZmlsZXMubGVuZ3RoICE9PSAxKSB7CisgICAgICAg
ICAgICBJbnNwZWN0b3JGcm9udGVuZEhvc3QuYmVlcCgpOworICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICB9CisKKyAgICAgICAgV0kuRmlsZVV0aWxpdGllcy5yZWFkSlNPTihmaWxlcywgKHJl
c3VsdCkgPT4gV0kuYXVkaXRNYW5hZ2VyLnByb2Nlc3NKU09OKHJlc3VsdCkpCiAgICAgfQogCiAg
ICAgLy8gUHJvdGVjdGVkCkBAIC05Nyw2ICsxMTAsMTEgQEAgV0kuQXVkaXRUYWJDb250ZW50Vmll
dyA9IGNsYXNzIEF1ZGl0VGFiQ29udGVudFZpZXcgZXh0ZW5kcyBXSS5Db250ZW50QnJvd3NlclRh
YkMKICAgICB7CiAgICAgICAgIHN1cGVyLmluaXRpYWxMYXlvdXQoKTsKIAorICAgICAgICBsZXQg
ZHJvcFpvbmVWaWV3ID0gbmV3IFdJLkRyb3Bab25lVmlldyh0aGlzKTsKKyAgICAgICAgZHJvcFpv
bmVWaWV3LnRleHQgPSBXSS5VSVN0cmluZygiSW1wb3J0IEF1ZGl0Iik7CisgICAgICAgIGRyb3Ba
b25lVmlldy50YXJnZXRFbGVtZW50ID0gdGhpcy5lbGVtZW50OworICAgICAgICB0aGlzLmFkZFN1
YnZpZXcoZHJvcFpvbmVWaWV3KTsKKwogICAgICAgICBXSS5hdWRpdE1hbmFnZXIubG9hZFN0b3Jl
ZFRlc3RzKCk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9HcmFwaGljc092ZXJ2aWV3Q29udGVudFZpZXcuanMgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9HcmFwaGljc092ZXJ2aWV3Q29udGVu
dFZpZXcuanMKaW5kZXggYTg4MTg2MzMzOWU2MmFkN2M3Yjc2NzI3NWQxYzdmNTM5MWEyZGUxYy4u
M2M1MjA0NzE0ZjUyZTRlMTRiNDFkNTk3OGNkYTRjNzlhZmJhNDBkNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvR3JhcGhpY3NPdmVydmlld0Nv
bnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL0dyYXBoaWNzT3ZlcnZpZXdDb250ZW50Vmlldy5qcwpAQCAtMTMwLDI5ICsxMzAsNiBAQCBX
SS5HcmFwaGljc092ZXJ2aWV3Q29udGVudFZpZXcgPSBjbGFzcyBHcmFwaGljc092ZXJ2aWV3Q29u
dGVudFZpZXcgZXh0ZW5kcyBXSS5DbwogICAgICAgICAgICAgdGhpcy5lbGVtZW50LmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgdGhpcy5faGFuZGxlQ2xpY2suYmluZCh0aGlzKSk7CiAgICAgICAg
IH0gZWxzZQogICAgICAgICAgICAgdGhpcy5hZGRTdWJ2aWV3KHRoaXMuX2NhbnZhc092ZXJ2aWV3
Q29udGVudFZpZXcpOwotCi0gICAgICAgIGxldCBkcm9wWm9uZVZpZXcgPSBuZXcgV0kuRHJvcFpv
bmVWaWV3KHRoaXMpOwotICAgICAgICBkcm9wWm9uZVZpZXcudGV4dCA9IFdJLlVJU3RyaW5nKCJJ
bXBvcnQgUmVjb3JkaW5nIik7Ci0gICAgICAgIGRyb3Bab25lVmlldy50YXJnZXRFbGVtZW50ID0g
dGhpcy5lbGVtZW50OwotICAgICAgICB0aGlzLmFkZFN1YnZpZXcoZHJvcFpvbmVWaWV3KTsKLSAg
ICB9Ci0KLSAgICAvLyBEcm9wWm9uZVZpZXcgZGVsZWdhdGUKLQotICAgIGRyb3Bab25lU2hvdWxk
QXBwZWFyRm9yRHJhZ0V2ZW50KGRyb3Bab25lLCBldmVudCkKLSAgICB7Ci0gICAgICAgIHJldHVy
biBldmVudC5kYXRhVHJhbnNmZXIudHlwZXMuaW5jbHVkZXMoIkZpbGVzIik7Ci0gICAgfQotCi0g
ICAgZHJvcFpvbmVIYW5kbGVEcm9wKGRyb3Bab25lLCBldmVudCkKLSAgICB7Ci0gICAgICAgIGxl
dCBmaWxlcyA9IGV2ZW50LmRhdGFUcmFuc2Zlci5maWxlczsKLSAgICAgICAgaWYgKGZpbGVzLmxl
bmd0aCAhPT0gMSkgewotICAgICAgICAgICAgSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmJlZXAoKTsK
LSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotCi0gICAgICAgIFdJLkZpbGVVdGlsaXRp
ZXMucmVhZEpTT04oZmlsZXMsIChyZXN1bHQpID0+IFdJLmNhbnZhc01hbmFnZXIucHJvY2Vzc0pT
T04ocmVzdWx0KSk7CiAgICAgfQogCiAgICAgLy8gUHJpdmF0ZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvR3JhcGhpY3NUYWJDb250ZW50Vmll
dy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0dyYXBoaWNz
VGFiQ29udGVudFZpZXcuanMKaW5kZXggZDc5NGRmNGZhOWUxZjJlNTY3YmZlMzIxNDc1M2IyNDNh
OTYzMTcxNy4uOWM4M2NkMTM5OWZhNTIxNmFlNWVlMjQ3ZTE4YWM3MzNmZmYyNDY3YiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvR3JhcGhpY3NU
YWJDb250ZW50Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9HcmFwaGljc1RhYkNvbnRlbnRWaWV3LmpzCkBAIC0xMzYsOSArMTM2LDIyIEBAIFdJ
LkdyYXBoaWNzVGFiQ29udGVudFZpZXcgPSBjbGFzcyBHcmFwaGljc1RhYkNvbnRlbnRWaWV3IGV4
dGVuZHMgV0kuQ29udGVudEJyb3dzCiAgICAgICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQgb25jZSA8
aHR0cHM6Ly93ZWJraXQub3JnL2IvMTc3NjA2PiBpcyBjb21wbGV0ZS4KICAgICB9CiAKLSAgICBh
c3luYyBoYW5kbGVGaWxlRHJvcChmaWxlcykKKyAgICAvLyBEcm9wWm9uZVZpZXcgZGVsZWdhdGUK
KworICAgIGRyb3Bab25lU2hvdWxkQXBwZWFyRm9yRHJhZ0V2ZW50KGRyb3Bab25lLCBldmVudCkK
ICAgICB7Ci0gICAgICAgIGF3YWl0IFdJLkZpbGVVdGlsaXRpZXMucmVhZEpTT04oZmlsZXMsIChy
ZXN1bHQpID0+IFdJLmNhbnZhc01hbmFnZXIucHJvY2Vzc0pTT04ocmVzdWx0KSk7CisgICAgICAg
IHJldHVybiBldmVudC5kYXRhVHJhbnNmZXIudHlwZXMuaW5jbHVkZXMoIkZpbGVzIik7CisgICAg
fQorCisgICAgZHJvcFpvbmVIYW5kbGVEcm9wKGRyb3Bab25lLCBldmVudCkKKyAgICB7CisgICAg
ICAgIGxldCBmaWxlcyA9IGV2ZW50LmRhdGFUcmFuc2Zlci5maWxlczsKKyAgICAgICAgaWYgKGZp
bGVzLmxlbmd0aCAhPT0gMSkgeworICAgICAgICAgICAgSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmJl
ZXAoKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIFdJLkZpbGVV
dGlsaXRpZXMucmVhZEpTT04oZmlsZXMsIChyZXN1bHQpID0+IFdJLmNhbnZhc01hbmFnZXIucHJv
Y2Vzc0pTT04ocmVzdWx0KSkKICAgICB9CiAKICAgICAvLyBQcm90ZWN0ZWQKQEAgLTE4Nyw4ICsy
MDAsMTUgQEAgV0kuR3JhcGhpY3NUYWJDb250ZW50VmlldyA9IGNsYXNzIEdyYXBoaWNzVGFiQ29u
dGVudFZpZXcgZXh0ZW5kcyBXSS5Db250ZW50QnJvd3MKIAogICAgIGluaXRpYWxMYXlvdXQoKQog
ICAgIHsKKyAgICAgICAgc3VwZXIuaW5pdGlhbExheW91dCgpOworCiAgICAgICAgIHRoaXMuX292
ZXJ2aWV3Q29udGVudFZpZXcgPSBuZXcgV0kuR3JhcGhpY3NPdmVydmlld0NvbnRlbnRWaWV3Owog
ICAgICAgICB0aGlzLmNvbnRlbnRCcm93c2VyLnNob3dDb250ZW50Vmlldyh0aGlzLl9vdmVydmll
d0NvbnRlbnRWaWV3KTsKKworICAgICAgICBsZXQgZHJvcFpvbmVWaWV3ID0gbmV3IFdJLkRyb3Ba
b25lVmlldyh0aGlzKTsKKyAgICAgICAgZHJvcFpvbmVWaWV3LnRleHQgPSBXSS5VSVN0cmluZygi
SW1wb3J0IFJlY29yZGluZyIpOworICAgICAgICBkcm9wWm9uZVZpZXcudGFyZ2V0RWxlbWVudCA9
IHRoaXMuZWxlbWVudDsKKyAgICAgICAgdGhpcy5hZGRTdWJ2aWV3KGRyb3Bab25lVmlldyk7CiAg
ICAgfQogCiAgICAgLy8gUHJpdmF0ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvTmV0d29ya1RhYkNvbnRlbnRWaWV3LmpzIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTmV0d29ya1RhYkNvbnRlbnRWaWV3Lmpz
CmluZGV4IDdiMTZjMDgzNmRlMjg4ZTA1M2I3NWQ4ZGU4YjJkZmFlM2I1MTdkMTUuLjlkMTY4ZmRm
Zjk5MjllMjEyZDAxMjYzNDRjNTRiMzUwMWRhN2RlZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL05ldHdvcmtUYWJDb250ZW50Vmlldy5qcwor
KysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9OZXR3b3JrVGFi
Q29udGVudFZpZXcuanMKQEAgLTgyLDYgKzgyLDE2IEBAIFdJLk5ldHdvcmtUYWJDb250ZW50Vmll
dyA9IGNsYXNzIE5ldHdvcmtUYWJDb250ZW50VmlldyBleHRlbmRzIFdJLlRhYkNvbnRlbnRWaWV3
CiAgICAgICAgIHN1cGVyLmNsb3NlZCgpOwogICAgIH0KIAorICAgIGluaXRpYWxMYXlvdXQoKQor
ICAgIHsKKyAgICAgICAgc3VwZXIuaW5pdGlhbExheW91dCgpOworCisgICAgICAgIGxldCBkcm9w
Wm9uZVZpZXcgPSBuZXcgV0kuRHJvcFpvbmVWaWV3KHRoaXMpOworICAgICAgICBkcm9wWm9uZVZp
ZXcudGV4dCA9IFdJLlVJU3RyaW5nKCJJbXBvcnQgSEFSIik7CisgICAgICAgIGRyb3Bab25lVmll
dy50YXJnZXRFbGVtZW50ID0gdGhpcy5lbGVtZW50OworICAgICAgICB0aGlzLmFkZFN1YnZpZXco
ZHJvcFpvbmVWaWV3KTsKKyAgICB9CisKICAgICBnZXQgY2FuSGFuZGxlRmluZEV2ZW50KCkKICAg
ICB7CiAgICAgICAgIHJldHVybiB0aGlzLl9uZXR3b3JrVGFibGVDb250ZW50Vmlldy5jYW5Gb2N1
c0ZpbHRlckJhcjsKQEAgLTkyLDExICsxMDIsNiBAQCBXSS5OZXR3b3JrVGFiQ29udGVudFZpZXcg
PSBjbGFzcyBOZXR3b3JrVGFiQ29udGVudFZpZXcgZXh0ZW5kcyBXSS5UYWJDb250ZW50Vmlldwog
ICAgICAgICB0aGlzLl9uZXR3b3JrVGFibGVDb250ZW50Vmlldy5mb2N1c0ZpbHRlckJhcigpOwog
ICAgIH0KIAotICAgIGFzeW5jIGhhbmRsZUZpbGVEcm9wKGZpbGVzKQotICAgIHsKLSAgICAgICAg
YXdhaXQgV0kuRmlsZVV0aWxpdGllcy5yZWFkSlNPTihmaWxlcywgKHJlc3VsdCkgPT4gdGhpcy5f
bmV0d29ya1RhYmxlQ29udGVudFZpZXcucHJvY2Vzc0hBUihyZXN1bHQpKTsKLSAgICB9Ci0KICAg
ICAvLyBQdWJsaWMKIAogICAgIGdldCBjb250ZW50QnJvd3NlcigpIHsgcmV0dXJuIHRoaXMuX2Nv
bnRlbnRCcm93c2VyOyB9CkBAIC0xMjEsNiArMTI2LDI0IEBAIFdJLk5ldHdvcmtUYWJDb250ZW50
VmlldyA9IGNsYXNzIE5ldHdvcmtUYWJDb250ZW50VmlldyBleHRlbmRzIFdJLlRhYkNvbnRlbnRW
aWV3CiAgICAgewogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CisKKyAgICAvLyBEcm9wWm9u
ZVZpZXcgZGVsZWdhdGUKKworICAgIGRyb3Bab25lU2hvdWxkQXBwZWFyRm9yRHJhZ0V2ZW50KGRy
b3Bab25lLCBldmVudCkKKyAgICB7CisgICAgICAgIHJldHVybiBldmVudC5kYXRhVHJhbnNmZXIu
dHlwZXMuaW5jbHVkZXMoIkZpbGVzIik7CisgICAgfQorCisgICAgZHJvcFpvbmVIYW5kbGVEcm9w
KGRyb3Bab25lLCBldmVudCkKKyAgICB7CisgICAgICAgIGxldCBmaWxlcyA9IGV2ZW50LmRhdGFU
cmFuc2Zlci5maWxlczsKKyAgICAgICAgaWYgKGZpbGVzLmxlbmd0aCAhPT0gMSkgeworICAgICAg
ICAgICAgSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmJlZXAoKTsKKyAgICAgICAgICAgIHJldHVybjsK
KyAgICAgICAgfQorCisgICAgICAgIFdJLkZpbGVVdGlsaXRpZXMucmVhZEpTT04oZmlsZXMsIChy
ZXN1bHQpID0+IHRoaXMuX25ldHdvcmtUYWJsZUNvbnRlbnRWaWV3LnByb2Nlc3NIQVIocmVzdWx0
KSkKKyAgICB9CiB9OwogCiBXSS5OZXR3b3JrVGFiQ29udGVudFZpZXcuVHlwZSA9ICJuZXR3b3Jr
IjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L1RpbWVsaW5lVGFiQ29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9UaW1lbGluZVRhYkNvbnRlbnRWaWV3LmpzCmluZGV4IDI3NTJlN2E4YTdi
M2NjN2I4N2U1NTQxMjliNDEwYWNjOGI2NDQ1NGIuLmY1MzE4YTU3OGZmNGRiMTQyNjhjYzZmNTcy
ZDg5ZWZhOGVjNzk2NTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lVGFiQ29udGVudFZpZXcuanMKKysrIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVUYWJDb250ZW50Vmlldy5qcwpA
QCAtMzcwLDEzICszNzAsMzYgQEAgV0kuVGltZWxpbmVUYWJDb250ZW50VmlldyA9IGNsYXNzIFRp
bWVsaW5lVGFiQ29udGVudFZpZXcgZXh0ZW5kcyBXSS5Db250ZW50QnJvd3MKICAgICAgICAgdGhp
cy5fZGlzcGxheWVkQ29udGVudFZpZXcuZm9jdXNGaWx0ZXJCYXIoKTsKICAgICB9CiAKLSAgICBh
c3luYyBoYW5kbGVGaWxlRHJvcChmaWxlcykKKyAgICAvLyBEcm9wWm9uZVZpZXcgZGVsZWdhdGUK
KworICAgIGRyb3Bab25lU2hvdWxkQXBwZWFyRm9yRHJhZ0V2ZW50KGRyb3Bab25lLCBldmVudCkK
ICAgICB7Ci0gICAgICAgIGF3YWl0IFdJLkZpbGVVdGlsaXRpZXMucmVhZEpTT04oZmlsZXMsIChy
ZXN1bHQpID0+IFdJLnRpbWVsaW5lTWFuYWdlci5wcm9jZXNzSlNPTihyZXN1bHQpKTsKKyAgICAg
ICAgcmV0dXJuIGV2ZW50LmRhdGFUcmFuc2Zlci50eXBlcy5pbmNsdWRlcygiRmlsZXMiKTsKKyAg
ICB9CisKKyAgICBkcm9wWm9uZUhhbmRsZURyb3AoZHJvcFpvbmUsIGV2ZW50KQorICAgIHsKKyAg
ICAgICAgbGV0IGZpbGVzID0gZXZlbnQuZGF0YVRyYW5zZmVyLmZpbGVzOworICAgICAgICBpZiAo
ZmlsZXMubGVuZ3RoICE9PSAxKSB7CisgICAgICAgICAgICBJbnNwZWN0b3JGcm9udGVuZEhvc3Qu
YmVlcCgpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgV0kuRmls
ZVV0aWxpdGllcy5yZWFkSlNPTihmaWxlcywgKHJlc3VsdCkgPT4gV0kudGltZWxpbmVNYW5hZ2Vy
LnByb2Nlc3NKU09OKHJlc3VsdCkpCiAgICAgfQogCiAgICAgLy8gUHJvdGVjdGVkCiAKKyAgICBp
bml0aWFsTGF5b3V0KCkKKyAgICB7CisgICAgICAgIHN1cGVyLmluaXRpYWxMYXlvdXQoKTsKKwor
ICAgICAgICBsZXQgZHJvcFpvbmVWaWV3ID0gbmV3IFdJLkRyb3Bab25lVmlldyh0aGlzKTsKKyAg
ICAgICAgZHJvcFpvbmVWaWV3LnRleHQgPSBXSS5VSVN0cmluZygiSW1wb3J0IFJlY29yZGluZyIp
OworICAgICAgICBkcm9wWm9uZVZpZXcudGFyZ2V0RWxlbWVudCA9IHRoaXMuZWxlbWVudDsKKyAg
ICAgICAgdGhpcy5hZGRTdWJ2aWV3KGRyb3Bab25lVmlldyk7CisgICAgfQorCiAgICAgcmVzdG9y
ZUZyb21Db29raWUoY29va2llKQogICAgIHsKICAgICAgICAgY29uc29sZS5hc3NlcnQoY29va2ll
KTsK
</data>
<flag name="review"
          id="421957"
          type_id="1"
          status="+"
          setter="joepeck"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406621</attachid>
            <date>2020-08-14 14:33:08 -0700</date>
            <delta_ts>2020-08-14 15:00:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215493.patch</filename>
            <type>text/plain</type>
            <size>13745</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IGY1N2Q2NzJhY2IyMWIyMjA1MjZhOGVjODU3ODIw
MzdlMzk3ZGI0ZjMuLjMzZWFiMmI3ZjFlNjBkYjdlOTAzOTJkZTI4Y2I1OTRkNWY3MGY3YzUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDIwLTA4LTE0ICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiB1
c2UgYFdJLkRyb3Bab25lVmlld2AgaW5zdGVhZCBvZiBgaGFuZGxlRmlsZURyb3BgCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTU0OTMKKworICAgICAg
ICBSZXZpZXdlZCBieSBKb3NlcGggUGVjb3Jhcm8uCisKKyAgICAgICAgYFdJLkRyb3Bab25lVmll
d2AgaW5kaWNhdGVzIHRoYXQgdGhpbmdzIGNhbiBiZSBkcm9wcGVkLCB3aGVyZWFzIGBoYW5kbGVG
aWxlRHJvcGAgaGFzIG5vIFVJLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9CYXNlL01haW4u
anM6CisgICAgICAgIChXSS5jb250ZW50TG9hZGVkKToKKyAgICAgICAgKFdJLl9oYW5kbGVEcm9w
KTogRGVsZXRlZC4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0F1ZGl0VGFiQ29udGVu
dFZpZXcuanM6CisgICAgICAgIChXSS5BdWRpdFRhYkNvbnRlbnRWaWV3LnByb3RvdHlwZS5kcm9w
Wm9uZVNob3VsZEFwcGVhckZvckRyYWdFdmVudCk6IEFkZGVkLgorICAgICAgICAoV0kuQXVkaXRU
YWJDb250ZW50Vmlldy5wcm90b3R5cGUuZHJvcFpvbmVIYW5kbGVEcm9wKTogQWRkZWQuCisgICAg
ICAgIChXSS5BdWRpdFRhYkNvbnRlbnRWaWV3LnByb3RvdHlwZS5pbml0aWFsTGF5b3V0KToKKyAg
ICAgICAgKFdJLkF1ZGl0VGFiQ29udGVudFZpZXcucHJvdG90eXBlLmFzeW5jIGhhbmRsZUZpbGVE
cm9wKTogRGVsZXRlZC4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0dyYXBoaWNzVGFi
Q29udGVudFZpZXcuanM6CisgICAgICAgIChXSS5HcmFwaGljc1RhYkNvbnRlbnRWaWV3LnByb3Rv
dHlwZS5kcm9wWm9uZVNob3VsZEFwcGVhckZvckRyYWdFdmVudCk6IEFkZGVkLgorICAgICAgICAo
V0kuR3JhcGhpY3NUYWJDb250ZW50Vmlldy5wcm90b3R5cGUuZHJvcFpvbmVIYW5kbGVEcm9wKTog
QWRkZWQuCisgICAgICAgIChXSS5HcmFwaGljc1RhYkNvbnRlbnRWaWV3LnByb3RvdHlwZS5pbml0
aWFsTGF5b3V0KToKKyAgICAgICAgKFdJLkdyYXBoaWNzVGFiQ29udGVudFZpZXcucHJvdG90eXBl
LmFzeW5jIGhhbmRsZUZpbGVEcm9wKTogRGVsZXRlZC4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNl
L1ZpZXdzL05ldHdvcmtUYWJDb250ZW50Vmlldy5qczoKKyAgICAgICAgKFdJLk5ldHdvcmtUYWJD
b250ZW50Vmlldy5wcm90b3R5cGUuaW5pdGlhbExheW91dCk6CisgICAgICAgIChXSS5OZXR3b3Jr
VGFiQ29udGVudFZpZXcucHJvdG90eXBlLmRyb3Bab25lU2hvdWxkQXBwZWFyRm9yRHJhZ0V2ZW50
KTogQWRkZWQuCisgICAgICAgIChXSS5OZXR3b3JrVGFiQ29udGVudFZpZXcucHJvdG90eXBlLmRy
b3Bab25lSGFuZGxlRHJvcCk6IEFkZGVkLgorICAgICAgICAoV0kuTmV0d29ya1RhYkNvbnRlbnRW
aWV3LnByb3RvdHlwZS5hc3luYyBoYW5kbGVGaWxlRHJvcCk6IERlbGV0ZWQuCisgICAgICAgICog
VXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVRhYkNvbnRlbnRWaWV3LmpzOgorICAgICAgICAo
V0kuVGltZWxpbmVUYWJDb250ZW50Vmlldy5wcm90b3R5cGUuZHJvcFpvbmVTaG91bGRBcHBlYXJG
b3JEcmFnRXZlbnQpOiBBZGRlZC4KKyAgICAgICAgKFdJLlRpbWVsaW5lVGFiQ29udGVudFZpZXcu
cHJvdG90eXBlLmRyb3Bab25lSGFuZGxlRHJvcCk6IEFkZGVkLgorICAgICAgICAoV0kuVGltZWxp
bmVUYWJDb250ZW50Vmlldy5wcm90b3R5cGUuaW5pdGlhbExheW91dCk6CisgICAgICAgIChXSS5U
aW1lbGluZVRhYkNvbnRlbnRWaWV3LnByb3RvdHlwZS5hc3luYyBoYW5kbGVGaWxlRHJvcCk6IERl
bGV0ZWQuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0dyYXBoaWNzT3ZlcnZpZXdD
b250ZW50Vmlldy5qczoKKyAgICAgICAgKFdJLkdyYXBoaWNzT3ZlcnZpZXdDb250ZW50Vmlldy5w
cm90b3R5cGUuaW5pdGlhbExheW91dCk6CisgICAgICAgIChXSS5HcmFwaGljc092ZXJ2aWV3Q29u
dGVudFZpZXcucHJvdG90eXBlLmRyb3Bab25lU2hvdWxkQXBwZWFyRm9yRHJhZ0V2ZW50KTogRGVs
ZXRlZC4KKyAgICAgICAgKFdJLkdyYXBoaWNzT3ZlcnZpZXdDb250ZW50Vmlldy5wcm90b3R5cGUu
ZHJvcFpvbmVIYW5kbGVEcm9wKTogRGVsZXRlZC4KKyAgICAgICAgUmVtb3ZlIHRoaXMgYFdJLkRy
b3Bab25lVmlld2AgYXMgaXQncyBub3cgaGFuZGxlZCBieSBgV0kuR3JhcGhpY3NUYWJDb250ZW50
Vmlld2AuCisKKyAgICAgICAgKiBMb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmlu
Z3MuanM6CisKIDIwMjAtMDgtMTIgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgog
CiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFJFR1JFU1NJT04ocjI1OTE3MCk6IHRleHQgaW5wdXRz
IGluIGJveC1zaGFkb3cgZWRpdG9yIHB1c2ggc2xpZGVycyBvZmZzY3JlZW4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0
cmluZ3MuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJvai9s
b2NhbGl6ZWRTdHJpbmdzLmpzCmluZGV4IDVlOTM0NWI2MmE4ZmIwZDYyYmE1YTM4YjIyZmNlZDcz
ZGEzMDRhMDkuLjc3ZTBlNTZmY2JmNmZiZmVkZTBlYTUzMTc0NGE2NmQyMWMzM2Q5YzIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2Fs
aXplZFN0cmluZ3MuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMv
ZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcwpAQCAtNjgwLDYgKzY4MCw4IEBAIGxvY2FsaXpl
ZFN0cmluZ3NbIkltYWdlcyJdID0gIkltYWdlcyI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJJbWFnZXM6
Il0gPSAiSW1hZ2VzOiI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJJbW1lZGlhdGUgUGF1c2UgUmVxdWVz
dGVkIl0gPSAiSW1tZWRpYXRlIFBhdXNlIFJlcXVlc3RlZCI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJJ
bXBvcnQiXSA9ICJJbXBvcnQiOworbG9jYWxpemVkU3RyaW5nc1siSW1wb3J0IEF1ZGl0Il0gPSAi
SW1wb3J0IEF1ZGl0IjsKK2xvY2FsaXplZFN0cmluZ3NbIkltcG9ydCBIQVIiXSA9ICJJbXBvcnQg
SEFSIjsKIGxvY2FsaXplZFN0cmluZ3NbIkltcG9ydCBSZWNvcmRpbmciXSA9ICJJbXBvcnQgUmVj
b3JkaW5nIjsKIGxvY2FsaXplZFN0cmluZ3NbIkltcG9ydGVkIl0gPSAiSW1wb3J0ZWQiOwogbG9j
YWxpemVkU3RyaW5nc1siSW1wb3J0ZWQgLSAlcyJdID0gIkltcG9ydGVkIC0gJXMiOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9NYWluLmpzIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9NYWluLmpzCmluZGV4IDY4
MjdlNTY4MTYzZGQ3Y2E4NTk0NGRhZWRmMjNiNDMxOGI3YWI2OGYuLmJkNDI5ZDUzY2MyZTM1ZTc2
MWFkYmJjNjQ0MjU2NWE0MDhjYjIzZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL0Jhc2UvTWFpbi5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9CYXNlL01haW4uanMKQEAgLTIzNCw3ICsyMzQsNiBAQCBXSS5jb250ZW50
TG9hZGVkID0gZnVuY3Rpb24oKQogCiAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBXSS5fbW91c2VXYXNDbGlja2VkKTsKICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVy
KCJkcmFnb3ZlciIsIFdJLl9oYW5kbGVEcmFnT3Zlcik7Ci0gICAgZG9jdW1lbnQuYWRkRXZlbnRM
aXN0ZW5lcigiZHJvcCIsIFdJLl9oYW5kbGVEcm9wKTsKICAgICBkb2N1bWVudC5hZGRFdmVudExp
c3RlbmVyKCJmb2N1cyIsIFdJLl9mb2N1c0NoYW5nZWQsIHRydWUpOwogCiAgICAgd2luZG93LmFk
ZEV2ZW50TGlzdGVuZXIoImZvY3VzIiwgV0kuX3dpbmRvd0ZvY3VzZWQpOwpAQCAtMTY1OSwzNiAr
MTY1OCwxMSBAQCBXSS5faGFuZGxlRHJhZ092ZXIgPSBmdW5jdGlvbihldmVudCkKICAgICBpZiAo
V0kuaXNFdmVudFRhcmdldEFuRWRpdGFibGVGaWVsZChldmVudCkpCiAgICAgICAgIHJldHVybjsK
IAotICAgIGxldCB0YWJDb250ZW50VmlldyA9IFdJLnRhYkJyb3dzZXIuc2VsZWN0ZWRUYWJDb250
ZW50VmlldzsKLSAgICBpZiAoIXRhYkNvbnRlbnRWaWV3IHx8ICF0YWJDb250ZW50Vmlldy5oYW5k
bGVGaWxlRHJvcCB8fCAhZXZlbnQuZGF0YVRyYW5zZmVyLnR5cGVzLmluY2x1ZGVzKCJGaWxlcyIp
KSB7Ci0gICAgICAgIC8vIFByZXZlbnQgdGhlIGRyb3AgZnJvbSBiZWluZyBhY2NlcHRlZC4KLSAg
ICAgICAgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgPSAibm9uZSI7Ci0gICAgfQotCisg
ICAgLy8gUHJldmVudCB0aGUgZHJvcCBmcm9tIGJlaW5nIGFjY2VwdGVkLgorICAgIGV2ZW50LmRh
dGFUcmFuc2Zlci5kcm9wRWZmZWN0ID0gIm5vbmUiOwogICAgIGV2ZW50LnByZXZlbnREZWZhdWx0
KCk7CiB9OwogCi1XSS5faGFuZGxlRHJvcCA9IGZ1bmN0aW9uKGV2ZW50KQotewotICAgIC8vIERv
IG5vdGhpbmcgaWYgYW5vdGhlciBldmVudCBsaXN0ZW5lciBoYW5kbGVkIHRoZSBldmVudCBhbHJl
YWR5LgotICAgIGlmIChldmVudC5kZWZhdWx0UHJldmVudGVkKQotICAgICAgICByZXR1cm47Ci0K
LSAgICAvLyBBbGxvdyBkcm9wcGluZyBpbnRvIGVkaXRhYmxlIGFyZWFzLgotICAgIGlmIChXSS5p
c0V2ZW50VGFyZ2V0QW5FZGl0YWJsZUZpZWxkKGV2ZW50KSkKLSAgICAgICAgcmV0dXJuOwotCi0g
ICAgbGV0IHRhYkNvbnRlbnRWaWV3ID0gV0kudGFiQnJvd3Nlci5zZWxlY3RlZFRhYkNvbnRlbnRW
aWV3OwotICAgIGlmICh0YWJDb250ZW50VmlldyAmJiB0YWJDb250ZW50Vmlldy5oYW5kbGVGaWxl
RHJvcCAmJiBldmVudC5kYXRhVHJhbnNmZXIuZmlsZXMpIHsKLSAgICAgICAgZXZlbnQucHJldmVu
dERlZmF1bHQoKTsKLQotICAgICAgICB0YWJDb250ZW50Vmlldy5oYW5kbGVGaWxlRHJvcChldmVu
dC5kYXRhVHJhbnNmZXIuZmlsZXMpCi0gICAgICAgIC50aGVuKCgpID0+IHsKLSAgICAgICAgICAg
IGV2ZW50LmRhdGFUcmFuc2Zlci5jbGVhckRhdGEoKTsKLSAgICAgICAgfSk7Ci0gICAgfQotfTsK
LQogV0kuX2RlYnVnZ2VyRGlkUGF1c2UgPSBmdW5jdGlvbihldmVudCkKIHsKICAgICBXSS5zaG93
U291cmNlc1RhYih7c2hvd1Njb3BlQ2hhaW5TaWRlYmFyOiBXSS5zZXR0aW5ncy5zaG93U2NvcGVD
aGFpbk9uUGF1c2UudmFsdWV9KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL0F1ZGl0VGFiQ29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9BdWRpdFRhYkNvbnRlbnRWaWV3LmpzCmluZGV4
IGM4YTY4MzAyOTFiNDU3NGI3ODZmMWNmMjlhYzQ2MDBkMzhlOTQxNDguLjZjOGNkYWJkOWFjZDk2
YjgyYWRhYjUzZTIxZjYxZWQ2M2ZjZWJlM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0F1ZGl0VGFiQ29udGVudFZpZXcuanMKKysrIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQXVkaXRUYWJDb250ZW50Vmll
dy5qcwpAQCAtODYsOSArODYsMjIgQEAgV0kuQXVkaXRUYWJDb250ZW50VmlldyA9IGNsYXNzIEF1
ZGl0VGFiQ29udGVudFZpZXcgZXh0ZW5kcyBXSS5Db250ZW50QnJvd3NlclRhYkMKICAgICAgICAg
c3VwZXIuaGlkZGVuKCk7CiAgICAgfQogCi0gICAgYXN5bmMgaGFuZGxlRmlsZURyb3AoZmlsZXMp
CisgICAgLy8gRHJvcFpvbmVWaWV3IGRlbGVnYXRlCisKKyAgICBkcm9wWm9uZVNob3VsZEFwcGVh
ckZvckRyYWdFdmVudChkcm9wWm9uZSwgZXZlbnQpCiAgICAgewotICAgICAgICBhd2FpdCBXSS5G
aWxlVXRpbGl0aWVzLnJlYWRKU09OKGZpbGVzLCAocmVzdWx0KSA9PiBXSS5hdWRpdE1hbmFnZXIu
cHJvY2Vzc0pTT04ocmVzdWx0KSk7CisgICAgICAgIHJldHVybiBldmVudC5kYXRhVHJhbnNmZXIu
dHlwZXMuaW5jbHVkZXMoIkZpbGVzIik7CisgICAgfQorCisgICAgZHJvcFpvbmVIYW5kbGVEcm9w
KGRyb3Bab25lLCBldmVudCkKKyAgICB7CisgICAgICAgIGxldCBmaWxlcyA9IGV2ZW50LmRhdGFU
cmFuc2Zlci5maWxlczsKKyAgICAgICAgaWYgKGZpbGVzLmxlbmd0aCAhPT0gMSkgeworICAgICAg
ICAgICAgSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmJlZXAoKTsKKyAgICAgICAgICAgIHJldHVybjsK
KyAgICAgICAgfQorCisgICAgICAgIFdJLkZpbGVVdGlsaXRpZXMucmVhZEpTT04oZmlsZXMsIChy
ZXN1bHQpID0+IFdJLmF1ZGl0TWFuYWdlci5wcm9jZXNzSlNPTihyZXN1bHQpKTsKICAgICB9CiAK
ICAgICAvLyBQcm90ZWN0ZWQKQEAgLTk3LDYgKzExMCwxMSBAQCBXSS5BdWRpdFRhYkNvbnRlbnRW
aWV3ID0gY2xhc3MgQXVkaXRUYWJDb250ZW50VmlldyBleHRlbmRzIFdJLkNvbnRlbnRCcm93c2Vy
VGFiQwogICAgIHsKICAgICAgICAgc3VwZXIuaW5pdGlhbExheW91dCgpOwogCisgICAgICAgIGxl
dCBkcm9wWm9uZVZpZXcgPSBuZXcgV0kuRHJvcFpvbmVWaWV3KHRoaXMpOworICAgICAgICBkcm9w
Wm9uZVZpZXcudGV4dCA9IFdJLlVJU3RyaW5nKCJJbXBvcnQgQXVkaXQiKTsKKyAgICAgICAgZHJv
cFpvbmVWaWV3LnRhcmdldEVsZW1lbnQgPSB0aGlzLmVsZW1lbnQ7CisgICAgICAgIHRoaXMuYWRk
U3Vidmlldyhkcm9wWm9uZVZpZXcpOworCiAgICAgICAgIFdJLmF1ZGl0TWFuYWdlci5sb2FkU3Rv
cmVkVGVzdHMoKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL0dyYXBoaWNzT3ZlcnZpZXdDb250ZW50Vmlldy5qcyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0dyYXBoaWNzT3ZlcnZpZXdDb250
ZW50Vmlldy5qcwppbmRleCBhODgxODYzMzM5ZTYyYWQ3YzdiNzY3Mjc1ZDFjN2Y1MzkxYTJkZTFj
Li4zYzUyMDQ3MTRmNTJlNGUxNGI0MWQ1OTc4Y2RhNGM3OWFmYmE0MGQ0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9HcmFwaGljc092ZXJ2aWV3
Q29udGVudFZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvR3JhcGhpY3NPdmVydmlld0NvbnRlbnRWaWV3LmpzCkBAIC0xMzAsMjkgKzEzMCw2IEBA
IFdJLkdyYXBoaWNzT3ZlcnZpZXdDb250ZW50VmlldyA9IGNsYXNzIEdyYXBoaWNzT3ZlcnZpZXdD
b250ZW50VmlldyBleHRlbmRzIFdJLkNvCiAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCB0aGlzLl9oYW5kbGVDbGljay5iaW5kKHRoaXMpKTsKICAgICAg
ICAgfSBlbHNlCiAgICAgICAgICAgICB0aGlzLmFkZFN1YnZpZXcodGhpcy5fY2FudmFzT3ZlcnZp
ZXdDb250ZW50Vmlldyk7Ci0KLSAgICAgICAgbGV0IGRyb3Bab25lVmlldyA9IG5ldyBXSS5Ecm9w
Wm9uZVZpZXcodGhpcyk7Ci0gICAgICAgIGRyb3Bab25lVmlldy50ZXh0ID0gV0kuVUlTdHJpbmco
IkltcG9ydCBSZWNvcmRpbmciKTsKLSAgICAgICAgZHJvcFpvbmVWaWV3LnRhcmdldEVsZW1lbnQg
PSB0aGlzLmVsZW1lbnQ7Ci0gICAgICAgIHRoaXMuYWRkU3Vidmlldyhkcm9wWm9uZVZpZXcpOwot
ICAgIH0KLQotICAgIC8vIERyb3Bab25lVmlldyBkZWxlZ2F0ZQotCi0gICAgZHJvcFpvbmVTaG91
bGRBcHBlYXJGb3JEcmFnRXZlbnQoZHJvcFpvbmUsIGV2ZW50KQotICAgIHsKLSAgICAgICAgcmV0
dXJuIGV2ZW50LmRhdGFUcmFuc2Zlci50eXBlcy5pbmNsdWRlcygiRmlsZXMiKTsKLSAgICB9Ci0K
LSAgICBkcm9wWm9uZUhhbmRsZURyb3AoZHJvcFpvbmUsIGV2ZW50KQotICAgIHsKLSAgICAgICAg
bGV0IGZpbGVzID0gZXZlbnQuZGF0YVRyYW5zZmVyLmZpbGVzOwotICAgICAgICBpZiAoZmlsZXMu
bGVuZ3RoICE9PSAxKSB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JGcm9udGVuZEhvc3QuYmVlcCgp
OwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0KLSAgICAgICAgV0kuRmlsZVV0aWxp
dGllcy5yZWFkSlNPTihmaWxlcywgKHJlc3VsdCkgPT4gV0kuY2FudmFzTWFuYWdlci5wcm9jZXNz
SlNPTihyZXN1bHQpKTsKICAgICB9CiAKICAgICAvLyBQcml2YXRlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9HcmFwaGljc1RhYkNvbnRlbnRW
aWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvR3JhcGhp
Y3NUYWJDb250ZW50Vmlldy5qcwppbmRleCBkNzk0ZGY0ZmE5ZTFmMmU1NjdiZmUzMjE0NzUzYjI0
M2E5NjMxNzE3Li45YzgzY2QxMzk5ZmE1MjE2YWU1ZWUyNDdlMThhYzczM2ZmZjI0NjdiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9HcmFwaGlj
c1RhYkNvbnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL0dyYXBoaWNzVGFiQ29udGVudFZpZXcuanMKQEAgLTEzNiw5ICsxMzYsMjIgQEAg
V0kuR3JhcGhpY3NUYWJDb250ZW50VmlldyA9IGNsYXNzIEdyYXBoaWNzVGFiQ29udGVudFZpZXcg
ZXh0ZW5kcyBXSS5Db250ZW50QnJvd3MKICAgICAgICAgLy8gRklYTUU6IGltcGxlbWVudCBvbmNl
IDxodHRwczovL3dlYmtpdC5vcmcvYi8xNzc2MDY+IGlzIGNvbXBsZXRlLgogICAgIH0KIAotICAg
IGFzeW5jIGhhbmRsZUZpbGVEcm9wKGZpbGVzKQorICAgIC8vIERyb3Bab25lVmlldyBkZWxlZ2F0
ZQorCisgICAgZHJvcFpvbmVTaG91bGRBcHBlYXJGb3JEcmFnRXZlbnQoZHJvcFpvbmUsIGV2ZW50
KQogICAgIHsKLSAgICAgICAgYXdhaXQgV0kuRmlsZVV0aWxpdGllcy5yZWFkSlNPTihmaWxlcywg
KHJlc3VsdCkgPT4gV0kuY2FudmFzTWFuYWdlci5wcm9jZXNzSlNPTihyZXN1bHQpKTsKKyAgICAg
ICAgcmV0dXJuIGV2ZW50LmRhdGFUcmFuc2Zlci50eXBlcy5pbmNsdWRlcygiRmlsZXMiKTsKKyAg
ICB9CisKKyAgICBkcm9wWm9uZUhhbmRsZURyb3AoZHJvcFpvbmUsIGV2ZW50KQorICAgIHsKKyAg
ICAgICAgbGV0IGZpbGVzID0gZXZlbnQuZGF0YVRyYW5zZmVyLmZpbGVzOworICAgICAgICBpZiAo
ZmlsZXMubGVuZ3RoICE9PSAxKSB7CisgICAgICAgICAgICBJbnNwZWN0b3JGcm9udGVuZEhvc3Qu
YmVlcCgpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgV0kuRmls
ZVV0aWxpdGllcy5yZWFkSlNPTihmaWxlcywgKHJlc3VsdCkgPT4gV0kuY2FudmFzTWFuYWdlci5w
cm9jZXNzSlNPTihyZXN1bHQpKTsKICAgICB9CiAKICAgICAvLyBQcm90ZWN0ZWQKQEAgLTE4Nyw4
ICsyMDAsMTUgQEAgV0kuR3JhcGhpY3NUYWJDb250ZW50VmlldyA9IGNsYXNzIEdyYXBoaWNzVGFi
Q29udGVudFZpZXcgZXh0ZW5kcyBXSS5Db250ZW50QnJvd3MKIAogICAgIGluaXRpYWxMYXlvdXQo
KQogICAgIHsKKyAgICAgICAgc3VwZXIuaW5pdGlhbExheW91dCgpOworCiAgICAgICAgIHRoaXMu
X292ZXJ2aWV3Q29udGVudFZpZXcgPSBuZXcgV0kuR3JhcGhpY3NPdmVydmlld0NvbnRlbnRWaWV3
OwogICAgICAgICB0aGlzLmNvbnRlbnRCcm93c2VyLnNob3dDb250ZW50Vmlldyh0aGlzLl9vdmVy
dmlld0NvbnRlbnRWaWV3KTsKKworICAgICAgICBsZXQgZHJvcFpvbmVWaWV3ID0gbmV3IFdJLkRy
b3Bab25lVmlldyh0aGlzKTsKKyAgICAgICAgZHJvcFpvbmVWaWV3LnRleHQgPSBXSS5VSVN0cmlu
ZygiSW1wb3J0IFJlY29yZGluZyIpOworICAgICAgICBkcm9wWm9uZVZpZXcudGFyZ2V0RWxlbWVu
dCA9IHRoaXMuZWxlbWVudDsKKyAgICAgICAgdGhpcy5hZGRTdWJ2aWV3KGRyb3Bab25lVmlldyk7
CiAgICAgfQogCiAgICAgLy8gUHJpdmF0ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTmV0d29ya1RhYkNvbnRlbnRWaWV3LmpzIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTmV0d29ya1RhYkNvbnRlbnRWaWV3
LmpzCmluZGV4IDdiMTZjMDgzNmRlMjg4ZTA1M2I3NWQ4ZGU4YjJkZmFlM2I1MTdkMTUuLjlkMTY4
ZmRmZjk5MjllMjEyZDAxMjYzNDRjNTRiMzUwMWRhN2RlZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL05ldHdvcmtUYWJDb250ZW50Vmlldy5q
cworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9OZXR3b3Jr
VGFiQ29udGVudFZpZXcuanMKQEAgLTgyLDYgKzgyLDE2IEBAIFdJLk5ldHdvcmtUYWJDb250ZW50
VmlldyA9IGNsYXNzIE5ldHdvcmtUYWJDb250ZW50VmlldyBleHRlbmRzIFdJLlRhYkNvbnRlbnRW
aWV3CiAgICAgICAgIHN1cGVyLmNsb3NlZCgpOwogICAgIH0KIAorICAgIGluaXRpYWxMYXlvdXQo
KQorICAgIHsKKyAgICAgICAgc3VwZXIuaW5pdGlhbExheW91dCgpOworCisgICAgICAgIGxldCBk
cm9wWm9uZVZpZXcgPSBuZXcgV0kuRHJvcFpvbmVWaWV3KHRoaXMpOworICAgICAgICBkcm9wWm9u
ZVZpZXcudGV4dCA9IFdJLlVJU3RyaW5nKCJJbXBvcnQgSEFSIik7CisgICAgICAgIGRyb3Bab25l
Vmlldy50YXJnZXRFbGVtZW50ID0gdGhpcy5lbGVtZW50OworICAgICAgICB0aGlzLmFkZFN1YnZp
ZXcoZHJvcFpvbmVWaWV3KTsKKyAgICB9CisKICAgICBnZXQgY2FuSGFuZGxlRmluZEV2ZW50KCkK
ICAgICB7CiAgICAgICAgIHJldHVybiB0aGlzLl9uZXR3b3JrVGFibGVDb250ZW50Vmlldy5jYW5G
b2N1c0ZpbHRlckJhcjsKQEAgLTkyLDExICsxMDIsNiBAQCBXSS5OZXR3b3JrVGFiQ29udGVudFZp
ZXcgPSBjbGFzcyBOZXR3b3JrVGFiQ29udGVudFZpZXcgZXh0ZW5kcyBXSS5UYWJDb250ZW50Vmll
dwogICAgICAgICB0aGlzLl9uZXR3b3JrVGFibGVDb250ZW50Vmlldy5mb2N1c0ZpbHRlckJhcigp
OwogICAgIH0KIAotICAgIGFzeW5jIGhhbmRsZUZpbGVEcm9wKGZpbGVzKQotICAgIHsKLSAgICAg
ICAgYXdhaXQgV0kuRmlsZVV0aWxpdGllcy5yZWFkSlNPTihmaWxlcywgKHJlc3VsdCkgPT4gdGhp
cy5fbmV0d29ya1RhYmxlQ29udGVudFZpZXcucHJvY2Vzc0hBUihyZXN1bHQpKTsKLSAgICB9Ci0K
ICAgICAvLyBQdWJsaWMKIAogICAgIGdldCBjb250ZW50QnJvd3NlcigpIHsgcmV0dXJuIHRoaXMu
X2NvbnRlbnRCcm93c2VyOyB9CkBAIC0xMjEsNiArMTI2LDI0IEBAIFdJLk5ldHdvcmtUYWJDb250
ZW50VmlldyA9IGNsYXNzIE5ldHdvcmtUYWJDb250ZW50VmlldyBleHRlbmRzIFdJLlRhYkNvbnRl
bnRWaWV3CiAgICAgewogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CisKKyAgICAvLyBEcm9w
Wm9uZVZpZXcgZGVsZWdhdGUKKworICAgIGRyb3Bab25lU2hvdWxkQXBwZWFyRm9yRHJhZ0V2ZW50
KGRyb3Bab25lLCBldmVudCkKKyAgICB7CisgICAgICAgIHJldHVybiBldmVudC5kYXRhVHJhbnNm
ZXIudHlwZXMuaW5jbHVkZXMoIkZpbGVzIik7CisgICAgfQorCisgICAgZHJvcFpvbmVIYW5kbGVE
cm9wKGRyb3Bab25lLCBldmVudCkKKyAgICB7CisgICAgICAgIGxldCBmaWxlcyA9IGV2ZW50LmRh
dGFUcmFuc2Zlci5maWxlczsKKyAgICAgICAgaWYgKGZpbGVzLmxlbmd0aCAhPT0gMSkgeworICAg
ICAgICAgICAgSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmJlZXAoKTsKKyAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgfQorCisgICAgICAgIFdJLkZpbGVVdGlsaXRpZXMucmVhZEpTT04oZmlsZXMs
IChyZXN1bHQpID0+IHRoaXMuX25ldHdvcmtUYWJsZUNvbnRlbnRWaWV3LnByb2Nlc3NIQVIocmVz
dWx0KSk7CisgICAgfQogfTsKIAogV0kuTmV0d29ya1RhYkNvbnRlbnRWaWV3LlR5cGUgPSAibmV0
d29yayI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9UaW1lbGluZVRhYkNvbnRlbnRWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVUYWJDb250ZW50Vmlldy5qcwppbmRleCAyNzUyZTdh
OGE3YjNjYzdiODdlNTU0MTI5YjQxMGFjYzhiNjQ0NTRiLi5mNTMxOGE1NzhmZjRkYjE0MjY4Y2M2
ZjU3MmQ4OWVmYThlYzc5NjUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVRhYkNvbnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lVGFiQ29udGVudFZpZXcu
anMKQEAgLTM3MCwxMyArMzcwLDM2IEBAIFdJLlRpbWVsaW5lVGFiQ29udGVudFZpZXcgPSBjbGFz
cyBUaW1lbGluZVRhYkNvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udGVudEJyb3dzCiAgICAgICAg
IHRoaXMuX2Rpc3BsYXllZENvbnRlbnRWaWV3LmZvY3VzRmlsdGVyQmFyKCk7CiAgICAgfQogCi0g
ICAgYXN5bmMgaGFuZGxlRmlsZURyb3AoZmlsZXMpCisgICAgLy8gRHJvcFpvbmVWaWV3IGRlbGVn
YXRlCisKKyAgICBkcm9wWm9uZVNob3VsZEFwcGVhckZvckRyYWdFdmVudChkcm9wWm9uZSwgZXZl
bnQpCiAgICAgewotICAgICAgICBhd2FpdCBXSS5GaWxlVXRpbGl0aWVzLnJlYWRKU09OKGZpbGVz
LCAocmVzdWx0KSA9PiBXSS50aW1lbGluZU1hbmFnZXIucHJvY2Vzc0pTT04ocmVzdWx0KSk7Cisg
ICAgICAgIHJldHVybiBldmVudC5kYXRhVHJhbnNmZXIudHlwZXMuaW5jbHVkZXMoIkZpbGVzIik7
CisgICAgfQorCisgICAgZHJvcFpvbmVIYW5kbGVEcm9wKGRyb3Bab25lLCBldmVudCkKKyAgICB7
CisgICAgICAgIGxldCBmaWxlcyA9IGV2ZW50LmRhdGFUcmFuc2Zlci5maWxlczsKKyAgICAgICAg
aWYgKGZpbGVzLmxlbmd0aCAhPT0gMSkgeworICAgICAgICAgICAgSW5zcGVjdG9yRnJvbnRlbmRI
b3N0LmJlZXAoKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIFdJ
LkZpbGVVdGlsaXRpZXMucmVhZEpTT04oZmlsZXMsIChyZXN1bHQpID0+IFdJLnRpbWVsaW5lTWFu
YWdlci5wcm9jZXNzSlNPTihyZXN1bHQpKTsKICAgICB9CiAKICAgICAvLyBQcm90ZWN0ZWQKIAor
ICAgIGluaXRpYWxMYXlvdXQoKQorICAgIHsKKyAgICAgICAgc3VwZXIuaW5pdGlhbExheW91dCgp
OworCisgICAgICAgIGxldCBkcm9wWm9uZVZpZXcgPSBuZXcgV0kuRHJvcFpvbmVWaWV3KHRoaXMp
OworICAgICAgICBkcm9wWm9uZVZpZXcudGV4dCA9IFdJLlVJU3RyaW5nKCJJbXBvcnQgUmVjb3Jk
aW5nIik7CisgICAgICAgIGRyb3Bab25lVmlldy50YXJnZXRFbGVtZW50ID0gdGhpcy5lbGVtZW50
OworICAgICAgICB0aGlzLmFkZFN1YnZpZXcoZHJvcFpvbmVWaWV3KTsKKyAgICB9CisKICAgICBy
ZXN0b3JlRnJvbUNvb2tpZShjb29raWUpCiAgICAgewogICAgICAgICBjb25zb2xlLmFzc2VydChj
b29raWUpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>