<?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>198938</bug_id>
          
          <creation_ts>2019-06-17 16:26:41 -0700</creation_ts>
          <short_desc>[lldb-webkit] Show whether frame is focused in Frame and Document summaries</short_desc>
          <delta_ts>2019-08-23 09:51:38 -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>Tools / Tests</component>
          <version>WebKit Local Build</version>
          <rep_platform>iPhone / iPad</rep_platform>
          <op_sys>iOS 12</op_sys>
          <bug_status>ASSIGNED</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>simon.fraser</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1545445</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2019-06-17 16:26:41 -0700</bug_when>
    <thetext>I found it useful to know whether a Frame is focused or not when investigating bug #198922. Add this info to the Frame and Document summaries.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1545454</commentid>
    <comment_count>1</comment_count>
      <attachid>372288</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2019-06-17 16:30:52 -0700</bug_when>
    <thetext>Created attachment 372288
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1545460</commentid>
    <comment_count>2</comment_count>
      <attachid>372288</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-06-17 16:37:14 -0700</bug_when>
    <thetext>Comment on attachment 372288
Patch

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

&gt; Tools/lldb/lldb_webkit.py:725
&gt; +    def is_focused(self):
&gt; +        page_ptr = self.valobj.GetChildMemberWithName(&apos;m_page&apos;)
&gt; +        if not page_ptr or not bool(page_ptr.GetValueAsUnsigned(0)):
&gt; +            return False
&gt; +        # Every page has a FocusController.
&gt; +        focus_controller_ptr = StdUniquePtrWrapper(page_ptr.GetChildMemberWithName(&apos;m_focusController&apos;), dict())
&gt; +        focused_frame_ptr = focus_controller_ptr.value().GetChildMemberWithName(&apos;m_focusedFrame&apos;).GetChildMemberWithName(&apos;m_ptr&apos;)
&gt; +        return focused_frame_ptr.GetValueAsUnsigned(0) == self.valobj.GetAddress().GetFileAddress()

This seems very prone to breakage, for example if someone renamed m_focusedFrame. Can we instead add String Document::debugDescription() const, and call it from here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1545465</commentid>
    <comment_count>3</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2019-06-17 16:42:56 -0700</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #2)
&gt; Comment on attachment 372288 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=372288&amp;action=review
&gt; 
&gt; &gt; Tools/lldb/lldb_webkit.py:725
&gt; &gt; +    def is_focused(self):
&gt; &gt; +        page_ptr = self.valobj.GetChildMemberWithName(&apos;m_page&apos;)
&gt; &gt; +        if not page_ptr or not bool(page_ptr.GetValueAsUnsigned(0)):
&gt; &gt; +            return False
&gt; &gt; +        # Every page has a FocusController.
&gt; &gt; +        focus_controller_ptr = StdUniquePtrWrapper(page_ptr.GetChildMemberWithName(&apos;m_focusController&apos;), dict())
&gt; &gt; +        focused_frame_ptr = focus_controller_ptr.value().GetChildMemberWithName(&apos;m_focusedFrame&apos;).GetChildMemberWithName(&apos;m_ptr&apos;)
&gt; &gt; +        return focused_frame_ptr.GetValueAsUnsigned(0) == self.valobj.GetAddress().GetFileAddress()
&gt; 
&gt; This seems very prone to breakage, for example if someone renamed
&gt; m_focusedFrame. Can we instead add String Document::debugDescription()
&gt; const, and call it from here?

With time... I can do anything you want 😀 I don&apos;t have such a luxury at the moment. R- the patch if this is a deal breaker and cannot be addressed at another junction.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1564479</commentid>
    <comment_count>4</comment_count>
      <attachid>377130</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2019-08-23 09:51:38 -0700</bug_when>
    <thetext>Created attachment 377130
Patch

I haven&apos;t had a chance to address Simon&apos;s remarks. Just posted an updated patch that I use locally for archiving.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>372288</attachid>
            <date>2019-06-17 16:30:52 -0700</date>
            <delta_ts>2019-08-23 09:51:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-198938-20190617163052.patch</filename>
            <type>text/plain</type>
            <size>4177</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ2MzI1CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYjY0OTY4ZTc2MWExYThiYmJjYmMzZTA2ZTY2MjBkMmIx
YmE2NWViMC4uYmU5NTM1MDYzNjA1NzU1NzA5OGE0ZDQ3YWJlYzc3OWVlM2JkY2Y1NiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2
IEBACisyMDE5LTA2LTE3ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAg
ICAgICBbbGxkYi13ZWJraXRdIFNob3cgd2hldGhlciBmcmFtZSBpcyBmb2N1c2VkIGluIEZyYW1l
IGFuZCBEb2N1bWVudCBzdW1tYXJpZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE5ODkzOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEtub3dpbmcgd2hhdCBmcmFtZSBpcyBmb2N1c2VkIGFuZCBoYXZpbmcg
dGhpcyBpbmZvIGF2YWlsYWJsZSBkaXJlY3RseSBpbiB0aGUKKyAgICAgICAgRnJhbWUgYW5kIERv
Y3VtZW50IHN1bW1hcmllcyBjYW4gYmUgaGVscGZ1bCB3aGVuIHRyYWNraW5nIGRvd24gZm9jdXNp
bmcgaXNzdWVzLgorICAgICAgICBBdCBsZWFzdCBJIGZvdW5kIHN1Y2ggaW5mbyBoZWxwZnVsIHRv
IG1lLgorCisgICAgICAgICogbGxkYi9sbGRiX3dlYmtpdC5weToKKyAgICAgICAgKF9fbGxkYl9p
bml0X21vZHVsZSk6CisgICAgICAgIChXZWJDb3JlRnJhbWVfU3VtbWFyeVByb3ZpZGVyKTogUHJp
bnQgd2hldGhlciB0aGUgZnJhbWUgaXMgZm9jdXNlZC4KKyAgICAgICAgKFdlYkNvcmVEb2N1bWVu
dF9TdW1tYXJ5UHJvdmlkZXIpOiBQcmludCB3aGV0aGVyIHRoZSBkb2N1bWVudCdzIGZyYW1lIGlz
IGZvY3VzZWQuCisgICAgICAgIChTdGRVbmlxdWVQdHJXcmFwcGVyKToKKyAgICAgICAgKFN0ZFVu
aXF1ZVB0cldyYXBwZXIuX19pbml0X18pOgorICAgICAgICAoU3RkVW5pcXVlUHRyV3JhcHBlci5o
YXNfdmFsdWUpOgorICAgICAgICAoU3RkVW5pcXVlUHRyV3JhcHBlci52YWx1ZSk6CisgICAgICAg
IEhlbHBlciBjbGFzcyB0byBkZXJlZmVyZW5jZSBhIHN0ZDo6dW5pcXVlX3B0cjw+LgorCisgICAg
ICAgIChXZWJDb3JlRnJhbWVQcm92aWRlci5pc19mb2N1c2VkKTogQWRkZWQuCisKIDIwMTktMDYt
MDYgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFtsbGRiLXdl
YmtpdF0gUHJldHR5LXByaW50IGFsbCBraW5kcyBvZiBEb2N1bWVudHMKZGlmZiAtLWdpdCBhL1Rv
b2xzL2xsZGIvbGxkYl93ZWJraXQucHkgYi9Ub29scy9sbGRiL2xsZGJfd2Via2l0LnB5CmluZGV4
IDhhNmM5ZTQ3ZTIxMzBkNTdiNDJkY2I1Nzg0ZmJjYzJhYTk4OWU0YmIuLjA3MWU3Y2M3NDFkMTdh
OWM2NjU1MzZiNGFhZTdjMWFlMjFhMTIzNjIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL2xsZGIvbGxkYl93
ZWJraXQucHkKKysrIGIvVG9vbHMvbGxkYi9sbGRiX3dlYmtpdC5weQpAQCAtMjQ0LDE0ICsyNDQs
MTQgQEAgZGVmIFdlYkNvcmVGcmFtZV9TdW1tYXJ5UHJvdmlkZXIodmFsb2JqLCBkaWN0KToKICAg
ICAgICAgb3JpZ2luID0gJycKICAgICAgICAgdXJsID0gJycKICAgICAgICAgcGFnZUNhY2hlU3Rh
dGUgPSAnJwotICAgIHJldHVybiAneyBvcmlnaW4gPSAlcywgdXJsID0gJXMsIGlzTWFpbkZyYW1l
ID0gJWQsIHBhZ2VDYWNoZVN0YXRlID0gJXMgfScgJSAob3JpZ2luLCB1cmwsIHByb3ZpZGVyLmlz
X21haW5fZnJhbWUoKSwgcGFnZUNhY2hlU3RhdGUpCisgICAgcmV0dXJuICd7IG9yaWdpbiA9ICVz
LCB1cmwgPSAlcywgaXNNYWluRnJhbWUgPSAlZCwgaXNGb2N1c2VkID0gJWQsIHBhZ2VDYWNoZVN0
YXRlID0gJXMgfScgJSAob3JpZ2luLCB1cmwsIHByb3ZpZGVyLmlzX21haW5fZnJhbWUoKSwgcHJv
dmlkZXIuaXNfZm9jdXNlZCgpLCBwYWdlQ2FjaGVTdGF0ZSkKIAogCiBkZWYgV2ViQ29yZURvY3Vt
ZW50X1N1bW1hcnlQcm92aWRlcih2YWxvYmosIGRpY3QpOgogICAgIHByb3ZpZGVyID0gV2ViQ29y
ZURvY3VtZW50UHJvdmlkZXIodmFsb2JqLCBkaWN0KQogICAgIGZyYW1lID0gcHJvdmlkZXIuZnJh
bWUoKQogICAgIGluX21haW5fZnJhbWUgPSAnJWQnICUgZnJhbWUuaXNfbWFpbl9mcmFtZSgpIGlm
IGZyYW1lIGVsc2UgJ0RldGFjaGVkJwotICAgIHJldHVybiAneyBvcmlnaW4gPSAlcywgdXJsID0g
JXMsIGluTWFpbkZyYW1lID0gJXMsIHBhZ2VDYWNoZVN0YXRlID0gJXMgfScgJSAocHJvdmlkZXIu
b3JpZ2luKCksIHByb3ZpZGVyLnVybCgpLCBpbl9tYWluX2ZyYW1lLCBwcm92aWRlci5wYWdlX2Nh
Y2hlX3N0YXRlKCkpCisgICAgcmV0dXJuICd7IG9yaWdpbiA9ICVzLCB1cmwgPSAlcywgaW5NYWlu
RnJhbWUgPSAlcywgaXNGb2N1c2VkID0gJWQsIHBhZ2VDYWNoZVN0YXRlID0gJXMgfScgJSAocHJv
dmlkZXIub3JpZ2luKCksIHByb3ZpZGVyLnVybCgpLCBpbl9tYWluX2ZyYW1lLCBmcmFtZS5pc19m
b2N1c2VkKCksIHByb3ZpZGVyLnBhZ2VfY2FjaGVfc3RhdGUoKSkKIAogCiBkZWYgYnRqcyhkZWJ1
Z2dlciwgY29tbWFuZCwgcmVzdWx0LCBpbnRlcm5hbF9kaWN0KToKQEAgLTY0NCw2ICs2NDQsMTcg
QEAgY2xhc3MgV1RGVVJMUHJvdmlkZXI6CiAgICAgICAgIHJldHVybiBXVEZTdHJpbmdQcm92aWRl
cihzZWxmLnZhbG9iai5HZXRDaGlsZE1lbWJlcldpdGhOYW1lKCdtX3N0cmluZycpLCBkaWN0KS50
b19zdHJpbmcoKQogCiAKK2NsYXNzIFN0ZFVuaXF1ZVB0cldyYXBwZXI6CisgICAgZGVmIF9faW5p
dF9fKHNlbGYsIHZhbG9iaiwgaW50ZXJuYWxfZGljdCk6CisgICAgICAgIHNlbGYudmFsb2JqID0g
dmFsb2JqCisKKyAgICBkZWYgaGFzX3ZhbHVlKHNlbGYpOgorICAgICAgICByZXR1cm4gYm9vbChz
ZWxmLnZhbHVlKCkuR2V0VmFsdWVBc1Vuc2lnbmVkKDApKQorCisgICAgZGVmIHZhbHVlKHNlbGYp
OgorICAgICAgICByZXR1cm4gc2VsZi52YWxvYmouR2V0Q2hpbGRNZW1iZXJXaXRoTmFtZSgnX19w
dHJfJykuR2V0Q2hpbGRNZW1iZXJXaXRoTmFtZSgnX192YWx1ZV8nKQorCisKIGNsYXNzIFN0ZE9w
dGlvbmFsV3JhcHBlcjoKICAgICBkZWYgX19pbml0X18oc2VsZiwgdmFsb2JqLCBpbnRlcm5hbF9k
aWN0KToKICAgICAgICAgc2VsZi52YWxvYmogPSB2YWxvYmoKQEAgLTcwNCw2ICs3MTUsMTUgQEAg
Y2xhc3MgV2ViQ29yZUZyYW1lUHJvdmlkZXI6CiAgICAgZGVmIGlzX21haW5fZnJhbWUoc2VsZik6
CiAgICAgICAgIHJldHVybiBzZWxmLnZhbG9iai5HZXRBZGRyZXNzKCkuR2V0RmlsZUFkZHJlc3Mo
KSA9PSBzZWxmLnZhbG9iai5HZXRDaGlsZE1lbWJlcldpdGhOYW1lKCdtX21haW5GcmFtZScpLkdl
dEFkZHJlc3MoKS5HZXRGaWxlQWRkcmVzcygpCiAKKyAgICBkZWYgaXNfZm9jdXNlZChzZWxmKToK
KyAgICAgICAgcGFnZV9wdHIgPSBzZWxmLnZhbG9iai5HZXRDaGlsZE1lbWJlcldpdGhOYW1lKCdt
X3BhZ2UnKQorICAgICAgICBpZiBub3QgcGFnZV9wdHIgb3Igbm90IGJvb2wocGFnZV9wdHIuR2V0
VmFsdWVBc1Vuc2lnbmVkKDApKToKKyAgICAgICAgICAgIHJldHVybiBGYWxzZQorICAgICAgICAj
IEV2ZXJ5IHBhZ2UgaGFzIGEgRm9jdXNDb250cm9sbGVyLgorICAgICAgICBmb2N1c19jb250cm9s
bGVyX3B0ciA9IFN0ZFVuaXF1ZVB0cldyYXBwZXIocGFnZV9wdHIuR2V0Q2hpbGRNZW1iZXJXaXRo
TmFtZSgnbV9mb2N1c0NvbnRyb2xsZXInKSwgZGljdCgpKQorICAgICAgICBmb2N1c2VkX2ZyYW1l
X3B0ciA9IGZvY3VzX2NvbnRyb2xsZXJfcHRyLnZhbHVlKCkuR2V0Q2hpbGRNZW1iZXJXaXRoTmFt
ZSgnbV9mb2N1c2VkRnJhbWUnKS5HZXRDaGlsZE1lbWJlcldpdGhOYW1lKCdtX3B0cicpCisgICAg
ICAgIHJldHVybiBmb2N1c2VkX2ZyYW1lX3B0ci5HZXRWYWx1ZUFzVW5zaWduZWQoMCkgPT0gc2Vs
Zi52YWxvYmouR2V0QWRkcmVzcygpLkdldEZpbGVBZGRyZXNzKCkKKwogICAgIGRlZiBkb2N1bWVu
dChzZWxmKToKICAgICAgICAgZG9jdW1lbnRfcHRyID0gc2VsZi52YWxvYmouR2V0Q2hpbGRNZW1i
ZXJXaXRoTmFtZSgnbV9kb2MnKS5HZXRDaGlsZE1lbWJlcldpdGhOYW1lKCdtX3B0cicpCiAgICAg
ICAgIGlmIG5vdCBkb2N1bWVudF9wdHIgb3Igbm90IGJvb2woZG9jdW1lbnRfcHRyLkdldFZhbHVl
QXNVbnNpZ25lZCgwKSk6Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>377130</attachid>
            <date>2019-08-23 09:51:38 -0700</date>
            <delta_ts>2019-08-23 09:51:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>Simplified_082319.patch</filename>
            <type>text/plain</type>
            <size>4345</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">RnJvbSA4NjY1Y2I0MjZmNjA0OWIwNzc2MGUyODljNzk4NmU3MGNhYWQyMWRhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBEYW5pZWwgQmF0ZXMgPGRhYmF0ZXNAYXBwbGUuY29tPgpEYXRl
OiBGcmksIDIzIEF1ZyAyMDE5IDA5OjQ3OjQ0IC0wNzAwClN1YmplY3Q6IFtQQVRDSF0gW2xsZGIt
d2Via2l0XSBTaG93IHdoZXRoZXIgZnJhbWUgaXMgZm9jdXNlZCBpbiBGcmFtZSBhbmQKIERvY3Vt
ZW50IHN1bW1hcmllcyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4
OTM4CgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCktub3dpbmcgd2hhdCBmcmFtZSBpcyBm
b2N1c2VkIGFuZCBoYXZpbmcgdGhpcyBpbmZvIGF2YWlsYWJsZSBkaXJlY3RseSBpbiB0aGUKRnJh
bWUgYW5kIERvY3VtZW50IHN1bW1hcmllcyBjYW4gYmUgaGVscGZ1bCB3aGVuIHRyYWNraW5nIGRv
d24gZm9jdXNpbmcgaXNzdWVzLgpBdCBsZWFzdCBJIGZvdW5kIHN1Y2ggaW5mbyBoZWxwZnVsIHRv
IG1lLgoKKiBsbGRiL2xsZGJfd2Via2l0LnB5OgooV2ViQ29yZUZyYW1lX1N1bW1hcnlQcm92aWRl
cik6IFByaW50IHdoZXRoZXIgdGhlIGZyYW1lIGlzIGZvY3VzZWQuCihXZWJDb3JlRG9jdW1lbnRf
U3VtbWFyeVByb3ZpZGVyKTogUHJpbnQgd2hldGhlciB0aGUgZG9jdW1lbnQncyBmcmFtZSBpcyBm
b2N1c2VkLgooV2ViQ29yZUZyYW1lUHJvdmlkZXIuaXNfbWFpbl9mcmFtZSk6IFNpbXBsaWZpZWQg
aW1wbGVtZW50YXRpb24uCihXZWJDb3JlRnJhbWVQcm92aWRlcik6CihXZWJDb3JlRnJhbWVQcm92
aWRlci5pc19mb2N1c2VkKTogQWRkZWQuCihXZWJDb3JlRnJhbWVQcm92aWRlci5kb2N1bWVudCk6
IFNpbXBsaWZpZWQgaW1wbGVtZW50YXRpb24uCi0tLQogVG9vbHMvQ2hhbmdlTG9nICAgICAgICAg
ICB8IDE5ICsrKysrKysrKysrKysrKysrKysKIFRvb2xzL2xsZGIvbGxkYl93ZWJraXQucHkgfCAx
MSArKysrKysrLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCAyNiBpbnNlcnRpb25zKCspLCA0IGRlbGV0
aW9ucygtKQoKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwpp
bmRleCA2MDBhNjJhZDJmZS4uNDBlZTRiNzhlZjggMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxv
ZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxOS0wOC0yMyAgRGFu
aWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CisKKyAgICAgICAgW2xsZGItd2Via2l0XSBT
aG93IHdoZXRoZXIgZnJhbWUgaXMgZm9jdXNlZCBpbiBGcmFtZSBhbmQgRG9jdW1lbnQgc3VtbWFy
aWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTg5
MzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBLbm93
aW5nIHdoYXQgZnJhbWUgaXMgZm9jdXNlZCBhbmQgaGF2aW5nIHRoaXMgaW5mbyBhdmFpbGFibGUg
ZGlyZWN0bHkgaW4gdGhlCisgICAgICAgIEZyYW1lIGFuZCBEb2N1bWVudCBzdW1tYXJpZXMgY2Fu
IGJlIGhlbHBmdWwgd2hlbiB0cmFja2luZyBkb3duIGZvY3VzaW5nIGlzc3Vlcy4KKyAgICAgICAg
QXQgbGVhc3QgSSBmb3VuZCBzdWNoIGluZm8gaGVscGZ1bCB0byBtZS4KKworICAgICAgICAqIGxs
ZGIvbGxkYl93ZWJraXQucHk6CisgICAgICAgIChXZWJDb3JlRnJhbWVfU3VtbWFyeVByb3ZpZGVy
KTogUHJpbnQgd2hldGhlciB0aGUgZnJhbWUgaXMgZm9jdXNlZC4KKyAgICAgICAgKFdlYkNvcmVE
b2N1bWVudF9TdW1tYXJ5UHJvdmlkZXIpOiBQcmludCB3aGV0aGVyIHRoZSBkb2N1bWVudCdzIGZy
YW1lIGlzIGZvY3VzZWQuCisgICAgICAgIChXZWJDb3JlRnJhbWVQcm92aWRlci5pc19tYWluX2Zy
YW1lKTogU2ltcGxpZmllZCBpbXBsZW1lbnRhdGlvbi4KKyAgICAgICAgKFdlYkNvcmVGcmFtZVBy
b3ZpZGVyKToKKyAgICAgICAgKFdlYkNvcmVGcmFtZVByb3ZpZGVyLmlzX2ZvY3VzZWQpOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmVGcmFtZVByb3ZpZGVyLmRvY3VtZW50KTogU2ltcGxpZmllZCBp
bXBsZW1lbnRhdGlvbi4KKwogMjAxOS0wOC0yMyAgQWFrYXNoIEphaW4gIDxhYWthc2hfamFpbkBh
cHBsZS5jb20+CiAKICAgICAgICAgW2V3c10gRW5hYmxlIFN0eWxlIHF1ZXVlIG9uIG5ldyBFV1MK
ZGlmZiAtLWdpdCBhL1Rvb2xzL2xsZGIvbGxkYl93ZWJraXQucHkgYi9Ub29scy9sbGRiL2xsZGJf
d2Via2l0LnB5CmluZGV4IGY1YWUyYzE5MzhiLi40ZGQ4OTBkNWMxNSAxMDA2NDQKLS0tIGEvVG9v
bHMvbGxkYi9sbGRiX3dlYmtpdC5weQorKysgYi9Ub29scy9sbGRiL2xsZGJfd2Via2l0LnB5CkBA
IC0yNDQsMTQgKzI0NCwxNCBAQCBkZWYgV2ViQ29yZUZyYW1lX1N1bW1hcnlQcm92aWRlcih2YWxv
YmosIGRpY3QpOgogICAgICAgICBvcmlnaW4gPSAnJwogICAgICAgICB1cmwgPSAnJwogICAgICAg
ICBwYWdlQ2FjaGVTdGF0ZSA9ICcnCi0gICAgcmV0dXJuICd7IG9yaWdpbiA9ICVzLCB1cmwgPSAl
cywgaXNNYWluRnJhbWUgPSAlZCwgcGFnZUNhY2hlU3RhdGUgPSAlcyB9JyAlIChvcmlnaW4sIHVy
bCwgcHJvdmlkZXIuaXNfbWFpbl9mcmFtZSgpLCBwYWdlQ2FjaGVTdGF0ZSkKKyAgICByZXR1cm4g
J3sgb3JpZ2luID0gJXMsIHVybCA9ICVzLCBpc01haW5GcmFtZSA9ICVkLCBpc0ZvY3VzZWQgPSAl
ZCwgcGFnZUNhY2hlU3RhdGUgPSAlcyB9JyAlIChvcmlnaW4sIHVybCwgcHJvdmlkZXIuaXNfbWFp
bl9mcmFtZSgpLCBwcm92aWRlci5pc19mb2N1c2VkKCksIHBhZ2VDYWNoZVN0YXRlKQogCiAKIGRl
ZiBXZWJDb3JlRG9jdW1lbnRfU3VtbWFyeVByb3ZpZGVyKHZhbG9iaiwgZGljdCk6CiAgICAgcHJv
dmlkZXIgPSBXZWJDb3JlRG9jdW1lbnRQcm92aWRlcih2YWxvYmosIGRpY3QpCiAgICAgZnJhbWUg
PSBwcm92aWRlci5mcmFtZSgpCiAgICAgaW5fbWFpbl9mcmFtZSA9ICclZCcgJSBmcmFtZS5pc19t
YWluX2ZyYW1lKCkgaWYgZnJhbWUgZWxzZSAnRGV0YWNoZWQnCi0gICAgcmV0dXJuICd7IG9yaWdp
biA9ICVzLCB1cmwgPSAlcywgaW5NYWluRnJhbWUgPSAlcywgcGFnZUNhY2hlU3RhdGUgPSAlcyB9
JyAlIChwcm92aWRlci5vcmlnaW4oKSwgcHJvdmlkZXIudXJsKCksIGluX21haW5fZnJhbWUsIHBy
b3ZpZGVyLnBhZ2VfY2FjaGVfc3RhdGUoKSkKKyAgICByZXR1cm4gJ3sgb3JpZ2luID0gJXMsIHVy
bCA9ICVzLCBpbk1haW5GcmFtZSA9ICVzLCBpc0ZvY3VzZWQgPSAlZCwgcGFnZUNhY2hlU3RhdGUg
PSAlcyB9JyAlIChwcm92aWRlci5vcmlnaW4oKSwgcHJvdmlkZXIudXJsKCksIGluX21haW5fZnJh
bWUsIGZyYW1lLmlzX2ZvY3VzZWQoKSwgcHJvdmlkZXIucGFnZV9jYWNoZV9zdGF0ZSgpKQogCiAK
IGRlZiBidGpzKGRlYnVnZ2VyLCBjb21tYW5kLCByZXN1bHQsIGludGVybmFsX2RpY3QpOgpAQCAt
NzAyLDEwICs3MDIsMTMgQEAgY2xhc3MgV2ViQ29yZUZyYW1lUHJvdmlkZXI6CiAgICAgICAgIHNl
bGYudmFsb2JqID0gdmFsb2JqCiAKICAgICBkZWYgaXNfbWFpbl9mcmFtZShzZWxmKToKLSAgICAg
ICAgcmV0dXJuIHNlbGYudmFsb2JqLkdldEFkZHJlc3MoKS5HZXRGaWxlQWRkcmVzcygpID09IHNl
bGYudmFsb2JqLkdldENoaWxkTWVtYmVyV2l0aE5hbWUoJ21fbWFpbkZyYW1lJykuR2V0QWRkcmVz
cygpLkdldEZpbGVBZGRyZXNzKCkKKyAgICAgICAgcmV0dXJuIGJvb2woc2VsZi52YWxvYmouQ3Jl
YXRlVmFsdWVGcm9tRXhwcmVzc2lvbihOb25lLCAnaXNNYWluRnJhbWUoKScpLkdldFZhbHVlQXNV
bnNpZ25lZCgwKSkKKworICAgIGRlZiBpc19mb2N1c2VkKHNlbGYpOgorICAgICAgICByZXR1cm4g
Ym9vbChzZWxmLnZhbG9iai5DcmVhdGVWYWx1ZUZyb21FeHByZXNzaW9uKE5vbmUsICdwYWdlKCkt
PmZvY3VzQ29udHJvbGxlcigpLmZvY3VzZWRGcmFtZSgpID09IHRoaXMnKS5HZXRWYWx1ZUFzVW5z
aWduZWQoMCkpCiAKICAgICBkZWYgZG9jdW1lbnQoc2VsZik6Ci0gICAgICAgIGRvY3VtZW50X3B0
ciA9IHNlbGYudmFsb2JqLkdldENoaWxkTWVtYmVyV2l0aE5hbWUoJ21fZG9jJykuR2V0Q2hpbGRN
ZW1iZXJXaXRoTmFtZSgnbV9wdHInKQorICAgICAgICBkb2N1bWVudF9wdHIgPSBzZWxmLnZhbG9i
ai5DcmVhdGVWYWx1ZUZyb21FeHByZXNzaW9uKE5vbmUsICdkb2N1bWVudCgpJykKICAgICAgICAg
aWYgbm90IGRvY3VtZW50X3B0ciBvciBub3QgYm9vbChkb2N1bWVudF9wdHIuR2V0VmFsdWVBc1Vu
c2lnbmVkKDApKToKICAgICAgICAgICAgIHJldHVybiBOb25lCiAgICAgICAgIHJldHVybiBXZWJD
b3JlRG9jdW1lbnRQcm92aWRlcihkb2N1bWVudF9wdHIsIGRpY3QoKSkKLS0gCjIuMjEuMCAoQXBw
bGUgR2l0LTEyMikKCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>