<?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>200559</bug_id>
          
          <creation_ts>2019-08-08 19:46:52 -0700</creation_ts>
          <short_desc>Accessibility client cannot navigate to internal links targets on iOS.</short_desc>
          <delta_ts>2019-08-10 20:47:16 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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="Andres Gonzalez">andresg_22</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>apinheiro</cc>
    
    <cc>cfleizach</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>pvollan</cc>
    
    <cc>samuel_white</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1559780</commentid>
    <comment_count>0</comment_count>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2019-08-08 19:46:52 -0700</bug_when>
    <thetext>Accessibility client cannot navigate to internal links targets on iOS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1559783</commentid>
    <comment_count>1</comment_count>
      <attachid>375884</attachid>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2019-08-08 20:04:49 -0700</bug_when>
    <thetext>Created attachment 375884
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1559919</commentid>
    <comment_count>2</comment_count>
      <attachid>375884</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2019-08-09 09:46:02 -0700</bug_when>
    <thetext>Comment on attachment 375884
Patch

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

Looks good.

&gt; Source/WebCore/accessibility/AccessibilityObject.cpp:545
&gt; +    return WebCore::firstAccessibleObjectFromNode(node, [] (const AccessibilityObject&amp; acc) {
&gt; +        return !acc.accessibilityIsIgnored();
&gt; +    });

WebKit coding style says we should use words, not abbreviations, for variable names. So the name here could be &quot;object&quot;, &quot;accessibilityObject&quot;, &quot;candidate&quot;, or some other word, but shouldn’t be &quot;acc&quot;.

&gt; Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:1816
&gt; +    /* AccessibilityObject::linkedUIElements may return an object that is
&gt; +     exposed in other platforms but not on iOS, i.e., grouping or structure
&gt; +     elements like &lt;div&gt; or &lt;p&gt;. Thus find the next accessible object that is
&gt; +     exposed on iOS.
&gt; +     */

WebKit coding style calls for &quot;//&quot; comments, not &quot;/*&quot; comments.

&gt; Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:1820
&gt; +    if (auto linked = firstAccessibleObjectFromNode(linkedElements[0]-&gt;node(), [] (const AccessibilityObject&amp; acc) {
&gt; +        return acc.wrapper().isAccessibilityElement;
&gt; +    }))
&gt; +        return linked-&gt;wrapper();

Same issue with variable named &quot;acc&quot;.

Formatting here makes this hard to read. Might want to rearrange to avoid that. One way to do it is:

    auto linkedElement = firstAccessibleObjectFromNode(linkedElements[0]-&gt;node(), [] (const AccessibilityObject&amp; object) {
        return object.wrapper().isAccessibilityElement;
    });
    return linkedElement ? linkedElement-&gt;wrapper() : nullptr;

But I’m sure there are other ways to sidestep it too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1559985</commentid>
    <comment_count>3</comment_count>
      <attachid>375944</attachid>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2019-08-09 13:09:25 -0700</bug_when>
    <thetext>Created attachment 375944
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1559987</commentid>
    <comment_count>4</comment_count>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2019-08-09 13:20:18 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #2)
&gt; Comment on attachment 375884 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=375884&amp;action=review
&gt; 
&gt; Looks good.
&gt; 
Thanks very much Darin, for the prompt review and good points.

&gt; &gt; Source/WebCore/accessibility/AccessibilityObject.cpp:545
&gt; &gt; +    return WebCore::firstAccessibleObjectFromNode(node, [] (const AccessibilityObject&amp; acc) {
&gt; &gt; +        return !acc.accessibilityIsIgnored();
&gt; &gt; +    });
&gt; 
&gt; WebKit coding style says we should use words, not abbreviations, for
&gt; variable names. So the name here could be &quot;object&quot;, &quot;accessibilityObject&quot;,
&gt; &quot;candidate&quot;, or some other word, but shouldn’t be &quot;acc&quot;.
&gt; 
Changed it too accessible.

&gt; &gt; Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:1816
&gt; &gt; +    /* AccessibilityObject::linkedUIElements may return an object that is
&gt; &gt; +     exposed in other platforms but not on iOS, i.e., grouping or structure
&gt; &gt; +     elements like &lt;div&gt; or &lt;p&gt;. Thus find the next accessible object that is
&gt; &gt; +     exposed on iOS.
&gt; &gt; +     */
&gt; 
&gt; WebKit coding style calls for &quot;//&quot; comments, not &quot;/*&quot; comments.
&gt; 
Changed it to // comment. I personally prefer /* */ for multiline comments, so that I don&apos;t have to hear &quot;slash slash&quot; before every line of text. But I will of course adhere to the WebKit coding style conventions.

&gt; &gt; Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:1820
&gt; &gt; +    if (auto linked = firstAccessibleObjectFromNode(linkedElements[0]-&gt;node(), [] (const AccessibilityObject&amp; acc) {
&gt; &gt; +        return acc.wrapper().isAccessibilityElement;
&gt; &gt; +    }))
&gt; &gt; +        return linked-&gt;wrapper();
&gt; 
&gt; Same issue with variable named &quot;acc&quot;.
&gt; 
&gt; Formatting here makes this hard to read. Might want to rearrange to avoid
&gt; that. One way to do it is:
&gt; 
&gt;     auto linkedElement =
&gt; firstAccessibleObjectFromNode(linkedElements[0]-&gt;node(), [] (const
&gt; AccessibilityObject&amp; object) {
&gt;         return object.wrapper().isAccessibilityElement;
&gt;     });
&gt;     return linkedElement ? linkedElement-&gt;wrapper() : nullptr;
&gt; 
&gt; But I’m sure there are other ways to sidestep it too.
Thanks! agree this way is much more legible. Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1560304</commentid>
    <comment_count>5</comment_count>
      <attachid>375944</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-08-10 20:46:16 -0700</bug_when>
    <thetext>Comment on attachment 375944
Patch

Clearing flags on attachment: 375944

Committed r248513: &lt;https://trac.webkit.org/changeset/248513&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1560305</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-08-10 20:46:17 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1560306</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-08-10 20:47:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/54173330&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>375884</attachid>
            <date>2019-08-08 20:04:49 -0700</date>
            <delta_ts>2019-08-09 13:09:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-200559-20190808230447.patch</filename>
            <type>text/plain</type>
            <size>9475</size>
            <attacher name="Andres Gonzalez">andresg_22</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ4MjcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTliZjZiYmFiYjllOWJj
YWJkNzUzNmViNjJmZjE4NWRlM2VjZjdiYS4uNzE2ZDIxMDYxM2EwMzkzOTNkNjQzMTUzZDIzZjQ2
NWNlZGVjNGNjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE5LTA4LTA4ICBBbmRy
ZXMgR29uemFsZXogIDxhbmRyZXNnXzIyQGFwcGxlLmNvbT4KKworICAgICAgICBBY2Nlc3NpYmls
aXR5IGNsaWVudCBjYW5ub3QgbmF2aWdhdGUgdG8gaW50ZXJuYWwgbGlua3MgdGFyZ2V0cyBvbiBp
T1MuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDA1
NTkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ1MjQyNTM0PgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBjYXVzZSBvZiB0aGUgcHJvYmxlbSBv
biBpT1MgaXMgdGhhdCBBY2Nlc3NpYmlsaXR5T2JqZWN0OjpmaXJzdEFjY2Vzc2libGVPYmplY3RG
cm9tTm9kZQorICAgICAgICB1c2VkIGluIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6Omxpbmtl
ZFVJRWxlbWVudHMgbWF5IHJldHVybiBhbiBvYmplY3QKKyAgICAgICAgdGhhdCBpcyBpZ25vcmVk
IGJ5IGFjY2Vzc2liaWxpdHkgY2xpZW50cyBvbiBpT1MsIGFuZCB0aHVzIHRoZSBjbGllbnQKKyAg
ICAgICAgd291bGQgbm90IHRyYWNrIHRoZSB0YXJnZXQgb2YgYW4gaW50ZXJuYWwgbGluay4gVGhp
cyBjaGFuZ2UgZW5zdXJlcyB0aGF0CisgICAgICAgIGFjY2Vzc2liaWxpdHlMaW5rZWRFbGVtZW50
IHdpbGwgcmV0dXJuIGEgdmFsaWQgYWNjZXNzaWJpbGl0eSBlbGVtZW50IHRvCisgICAgICAgIHRo
ZSBjbGllbnQsIGlmIGl0IGlzIGV4aXN0cy4KKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVj
dDo6Zmlyc3RBY2Nlc3NpYmxlT2JqZWN0RnJvbU5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6Zmly
c3RBY2Nlc3NpYmxlT2JqZWN0RnJvbU5vZGUpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eU9iamVjdC5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvaW9zL1dlYkFjY2Vz
c2liaWxpdHlPYmplY3RXcmFwcGVySU9TLm1tOgorICAgICAgICAoLVtXZWJBY2Nlc3NpYmlsaXR5
T2JqZWN0V3JhcHBlciBhY2Nlc3NpYmlsaXR5TGlua2VkRWxlbWVudF0pOgorCiAyMDE5LTA4LTA1
ICBUYWthc2hpIEtvbW9yaSAgPFRha2FzaGkuS29tb3JpQHNvbnkuY29tPgogCiAgICAgICAgIFtD
dXJsXSBpbXBsZW1lbnQgQ2VydGlmaWNhdGVJbmZvOjpzdW1tYXJ5SW5mbwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKaW5kZXgg
ZWFmMjRkMjMxNzI0YjUwZTc3ZjE0NDgwNGNiNDk0YmE0OTYzNTk0Yy4uYjVkODRkZTcyNDRkNWM0
ZmNkNTc5ODZkNDA3MTc2YWVlOWVjYjgyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCkBAIC01MzksNiArNTM5LDEzIEBA
IEFjY2Vzc2liaWxpdHlPYmplY3QqIEFjY2Vzc2liaWxpdHlPYmplY3Q6Om5leHRTaWJsaW5nVW5p
Z25vcmVkKGludCBsaW1pdCkgY29uc3QKIH0KIAogQWNjZXNzaWJpbGl0eU9iamVjdCogQWNjZXNz
aWJpbGl0eU9iamVjdDo6Zmlyc3RBY2Nlc3NpYmxlT2JqZWN0RnJvbU5vZGUoY29uc3QgTm9kZSog
bm9kZSkKK3sKKyAgICByZXR1cm4gV2ViQ29yZTo6Zmlyc3RBY2Nlc3NpYmxlT2JqZWN0RnJvbU5v
ZGUobm9kZSwgW10gKGNvbnN0IEFjY2Vzc2liaWxpdHlPYmplY3QmIGFjYykgeworICAgICAgICBy
ZXR1cm4gIWFjYy5hY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKCk7CisgICAgfSk7Cit9CisKK0FjY2Vz
c2liaWxpdHlPYmplY3QqIGZpcnN0QWNjZXNzaWJsZU9iamVjdEZyb21Ob2RlKGNvbnN0IE5vZGUq
IG5vZGUsIGNvbnN0IFdURjo6RnVuY3Rpb248Ym9vbChjb25zdCBBY2Nlc3NpYmlsaXR5T2JqZWN0
Jik+JiBpc0FjY2Vzc2libGUpCiB7CiAgICAgaWYgKCFub2RlKQogICAgICAgICByZXR1cm4gbnVs
bHB0cjsKQEAgLTU0Niw5ICs1NTMsOSBAQCBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBBY2Nlc3NpYmls
aXR5T2JqZWN0OjpmaXJzdEFjY2Vzc2libGVPYmplY3RGcm9tTm9kZShjb25zdCBObwogICAgIEFY
T2JqZWN0Q2FjaGUqIGNhY2hlID0gbm9kZS0+ZG9jdW1lbnQoKS5heE9iamVjdENhY2hlKCk7CiAg
ICAgaWYgKCFjYWNoZSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgCisKICAgICBBY2Nl
c3NpYmlsaXR5T2JqZWN0KiBhY2Nlc3NpYmxlT2JqZWN0ID0gY2FjaGUtPmdldE9yQ3JlYXRlKG5v
ZGUtPnJlbmRlcmVyKCkpOwotICAgIHdoaWxlIChhY2Nlc3NpYmxlT2JqZWN0ICYmIGFjY2Vzc2li
bGVPYmplY3QtPmFjY2Vzc2liaWxpdHlJc0lnbm9yZWQoKSkgeworICAgIHdoaWxlIChhY2Nlc3Np
YmxlT2JqZWN0ICYmICFpc0FjY2Vzc2libGUoKmFjY2Vzc2libGVPYmplY3QpKSB7CiAgICAgICAg
IG5vZGUgPSBOb2RlVHJhdmVyc2FsOjpuZXh0KCpub2RlKTsKIAogICAgICAgICB3aGlsZSAobm9k
ZSAmJiAhbm9kZS0+cmVuZGVyZXIoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgKaW5kZXggOWZhYjJhZDkwZThiZmJmODY0ODc0M2Vk
YTUxOWVkNmU3NjRkOWRmOS4uMDRiMGEwOTQzZDVjMDA4YjRmMzhjYjI3MjIxMmMzZGQwMzU3ZmUx
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
T2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
T2JqZWN0LmgKQEAgLTEwNjksNiArMTA2OSw4IEBAIGlubGluZSBpbnQgQWNjZXNzaWJpbGl0eU9i
amVjdDo6bGluZUZvclBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiYpIGNvbnN0IHsKIGlu
bGluZSB2b2lkIEFjY2Vzc2liaWxpdHlPYmplY3Q6OnVwZGF0ZUJhY2tpbmdTdG9yZSgpIHsgfQog
I2VuZGlmCiAKK0FjY2Vzc2liaWxpdHlPYmplY3QqIGZpcnN0QWNjZXNzaWJsZU9iamVjdEZyb21O
b2RlKGNvbnN0IE5vZGUqLCBjb25zdCBXVEY6OkZ1bmN0aW9uPGJvb2woY29uc3QgQWNjZXNzaWJp
bGl0eU9iamVjdCYpPiYgaXNBY2Nlc3NpYmxlKTsKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQog
CiAjZGVmaW5lIFNQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQUNDRVNTSUJJTElUWShUb1ZhbHVlVHlw
ZU5hbWUsIHByZWRpY2F0ZSkgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9pb3MvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJJT1MubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L2lvcy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcklPUy5t
bQppbmRleCBjYjBkZDk3OWQxMzU4ZDAxNGYzYWNiZDhjMTA1NWFlNTM2YzViNzczLi5iZGFiM2U5
YjBmZjU2MWExZjQzN2EwMmM4OTQ3Y2U3M2RiNzg3ZGY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L2lvcy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcklPUy5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lvcy9XZWJBY2Nlc3NpYmlsaXR5
T2JqZWN0V3JhcHBlcklPUy5tbQpAQCAtMTc5OCwxOCArMTc5OCwyNyBAQCBzdGF0aWMgdm9pZCBh
cHBlbmRTdHJpbmdUb1Jlc3VsdChOU011dGFibGVTdHJpbmcgKnJlc3VsdCwgTlNTdHJpbmcgKnN0
cmluZykKIHsKICAgICBpZiAoIVtzZWxmIF9wcmVwYXJlQWNjZXNzaWJpbGl0eUNhbGxdKQogICAg
ICAgICByZXR1cm4gbmlsOwotICAgIAorCiAgICAgLy8gSWYgdGhpcyBzdGF0aWMgdGV4dCBpbnNp
ZGUgb2YgYSBsaW5rLCBpdCBzaG91bGQgdXNlIGl0cyBwYXJlbnQncyBsaW5rZWQgZWxlbWVudC4K
ICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBlbGVtZW50ID0gbV9vYmplY3Q7CiAgICAgaWYgKG1f
b2JqZWN0LT5yb2xlVmFsdWUoKSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6U3RhdGljVGV4dCAmJiBt
X29iamVjdC0+cGFyZW50T2JqZWN0VW5pZ25vcmVkKCktPmlzTGluaygpKQogICAgICAgICBlbGVt
ZW50ID0gbV9vYmplY3QtPnBhcmVudE9iamVjdFVuaWdub3JlZCgpOwotICAgIAotICAgIEFjY2Vz
c2liaWxpdHlPYmplY3Q6OkFjY2Vzc2liaWxpdHlDaGlsZHJlblZlY3RvciBjaGlsZHJlbjsKLSAg
ICBlbGVtZW50LT5saW5rZWRVSUVsZW1lbnRzKGNoaWxkcmVuKTsKLSAgICBpZiAoY2hpbGRyZW4u
c2l6ZSgpID09IDApCisKKyAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0OjpBY2Nlc3NpYmlsaXR5Q2hp
bGRyZW5WZWN0b3IgbGlua2VkRWxlbWVudHM7CisgICAgZWxlbWVudC0+bGlua2VkVUlFbGVtZW50
cyhsaW5rZWRFbGVtZW50cyk7CisgICAgaWYgKCFsaW5rZWRFbGVtZW50cy5zaXplKCkgfHwgIWxp
bmtlZEVsZW1lbnRzWzBdKQogICAgICAgICByZXR1cm4gbmlsOwotICAgIAotICAgIHJldHVybiBj
aGlsZHJlblswXS0+d3JhcHBlcigpOworCisgICAgLyogQWNjZXNzaWJpbGl0eU9iamVjdDo6bGlu
a2VkVUlFbGVtZW50cyBtYXkgcmV0dXJuIGFuIG9iamVjdCB0aGF0IGlzCisgICAgIGV4cG9zZWQg
aW4gb3RoZXIgcGxhdGZvcm1zIGJ1dCBub3Qgb24gaU9TLCBpLmUuLCBncm91cGluZyBvciBzdHJ1
Y3R1cmUKKyAgICAgZWxlbWVudHMgbGlrZSA8ZGl2PiBvciA8cD4uIFRodXMgZmluZCB0aGUgbmV4
dCBhY2Nlc3NpYmxlIG9iamVjdCB0aGF0IGlzCisgICAgIGV4cG9zZWQgb24gaU9TLgorICAgICAq
LworICAgIGlmIChhdXRvIGxpbmtlZCA9IGZpcnN0QWNjZXNzaWJsZU9iamVjdEZyb21Ob2RlKGxp
bmtlZEVsZW1lbnRzWzBdLT5ub2RlKCksIFtdIChjb25zdCBBY2Nlc3NpYmlsaXR5T2JqZWN0JiBh
Y2MpIHsKKyAgICAgICAgcmV0dXJuIGFjYy53cmFwcGVyKCkuaXNBY2Nlc3NpYmlsaXR5RWxlbWVu
dDsKKyAgICB9KSkKKyAgICAgICAgcmV0dXJuIGxpbmtlZC0+d3JhcHBlcigpOworICAgIHJldHVy
biBudWxscHRyOwogfQogCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA2NmQzOGY5Mjg2MmQ0YjJiNDRkNmRhZGMwZTcxMzJk
YjJkYmNlNmZhLi40NTQzY2ZkMjQ5M2JjOTUzYTU3YmI0ZjlmNTAzOTMzNjM1MWNhZjAwIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTcgQEAKKzIwMTktMDgtMDggIEFuZHJlcyBHb256YWxleiAgPGFuZHJlc2df
MjJAYXBwbGUuY29tPgorCisgICAgICAgIEFjY2Vzc2liaWxpdHkgY2xpZW50IGNhbm5vdCBuYXZp
Z2F0ZSB0byBpbnRlcm5hbCBsaW5rcyB0YXJnZXRzIG9uIGlPUy4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMDU1OQorICAgICAgICA8cmRhcjovL3By
b2JsZW0vNDUyNDI1MzQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgRXh0bmVkZWQgdGhpcyB0ZXN0IHRvIG5vdCBvbmx5IGNoZWNrIHRoYXQgaW50ZXJu
YWwgbGlua3MgZXhwb3NlIHRoZWlyCisgICAgICAgIHRhcmdldCwgYnV0IGFsc28gdGhhdCB0aGUg
dGFyZ2V0IGlzIGFuIGFjY2Vzc2libGUgZWxlbWVudC4gQWRkZWQgYQorICAgICAgICBzZWNvbmQg
dGVzdCBjYXNlIHdoZXJlIHRoZSB0YXJnZXQgaXMgY29udGFpbmVkIGluIGEgZ3JvdXBpbmcgZWxl
bWVudC4KKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2lvcy1zaW11bGF0b3IvaW50ZXJuYWwtbGlu
ay1leHBlY3RlZC50eHQ6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL2lu
dGVybmFsLWxpbmsuaHRtbDoKKwogMjAxOS0wOC0wNSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBh
cHBsZS5jb20+CiAKICAgICAgICAgRGlzYWJsZSBzcGVjdWxhdGl2ZSBsb2FkaW5nIGlmIGNhY2hl
IGlzIG5vdCB0byBiZSB1c2VkIGZvciB0aGUgbG9hZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
YWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL2ludGVybmFsLWxpbmstZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL2ludGVybmFsLWxpbmstZXhw
ZWN0ZWQudHh0CmluZGV4IDMzZjQwNGQyMjU5MjljYjg5YTExNDBjYWYwNTZjNzAzZDU2NTUxNWUu
LmEwNDcxNWUxY2IzNjlhMDAwZTg2YzBlZmI1NTRjNGE3YjMxYWU2NDIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvaW9zLXNpbXVsYXRvci9pbnRlcm5hbC1saW5rLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2lvcy1zaW11bGF0b3IvaW50
ZXJuYWwtbGluay1leHBlY3RlZC50eHQKQEAgLTEsMTcgKzEsMjIgQEAKIE5hbWUgCiAKIAorTGlu
a2VkIEVsZW1lbnQgCiAKIAorR28gdG8gZ3JlZXRpbmcgCiAKIAotTGlua2VkIEVsZW1lbnQKLVRo
aXMgdGVzdCB0aGF0cyBpbnRlcm5hbCBsaW5rcyByZXR1cm4gdGhlaXIgbGlua2VkIGVsZW1lbnRz
CitIZWxsbyBXb3JsZCEKK1RoaXMgdGVzdHMgdGhhdCBpbnRlcm5hbCBsaW5rcyByZXR1cm4gdGhl
aXIgbGlua2VkIGVsZW1lbnRzLCBhbmQgdGhhdCB0aGUgcmV0dXJuZWQgb2JqZWN0IGlzIGluZGVl
ZCBhbiBhY2Nlc3NpYmxlIGVsZW1lbnQuCiAKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KIAog
Ci1QQVNTIGxpbmsubGlua2VkRWxlbWVudCgpLmRlc2NyaXB0aW9uIGlzICdBWExhYmVsOiBMaW5r
ZWQgRWxlbWVudCcKK1BBU1MgbGlua2VkMS5kZXNjcmlwdGlvbiBpcyAnQVhMYWJlbDogTGlua2Vk
IEVsZW1lbnQnCitQQVNTIGxpbmtlZDEuaXNJZ25vcmVkIGlzIGZhbHNlCitQQVNTIGxpbmtlZDIu
ZGVzY3JpcHRpb24gaXMgJ0FYTGFiZWw6IEhlbGxvIFdvcmxkIScKK1BBU1MgbGlua2VkMi5pc0ln
bm9yZWQgaXMgZmFsc2UKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBD
T01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxh
dG9yL2ludGVybmFsLWxpbmsuaHRtbCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvaW9zLXNp
bXVsYXRvci9pbnRlcm5hbC1saW5rLmh0bWwKaW5kZXggYWYyNWRmMGRiMTU5NmNkZmJkZmZkNTIy
ZGMzYzU2NDNmYzFkNDdiNy4uOGEyYjk1NmE4YjRiZGZmMzRkMTgxMDFiOGNkMzQ4NDNkYjQwYTFh
YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL2lu
dGVybmFsLWxpbmsuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2lvcy1zaW11
bGF0b3IvaW50ZXJuYWwtbGluay5odG1sCkBAIC0zLDM5ICszLDQwIEBACiA8aGVhZD4KIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgogPHNjcmlw
dD4KLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSBmYWxzZTsKIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKLSAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4
dCgpOwogPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KIAotPGEgaHJlZj0iI25hbWUxIiBpZD0i
bmFtZSI+TmFtZTwvYT4KKzxhIGhyZWY9IiNsaW5rZWQxIiBpZD0ibmFtZSI+TmFtZTwvYT4KKzxC
Uj48QlI+PEJSPgorPGEgbmFtZT0ibGlua2VkMSI+TGlua2VkIEVsZW1lbnQ8L2E+CiAKLTxCUj48
QlI+PEJSPjxCUj4KIDxCUj48QlI+PEJSPgotPGEgbmFtZT0ibmFtZTEiPkxpbmtlZCBFbGVtZW50
PC9hPgogCis8YSBocmVmPSIjbGlua2VkMiIgaWQ9ImdvdG9HcmVldGluZyI+R28gdG8gZ3JlZXRp
bmc8L2E+Cis8QlI+PEJSPjxCUj4KKzxkaXYgaWQ9ImxpbmtlZDIiPkhlbGxvIFdvcmxkITwvZGl2
PgogCiA8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgog
CiA8c2NyaXB0PgotCi0gICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB0aGF0cyBpbnRlcm5hbCBs
aW5rcyByZXR1cm4gdGhlaXIgbGlua2VkIGVsZW1lbnRzIik7CisgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdHMgdGhhdCBpbnRlcm5hbCBsaW5rcyByZXR1cm4gdGhlaXIgbGlua2VkIGVsZW1lbnRz
LCBhbmQgdGhhdCB0aGUgcmV0dXJuZWQgb2JqZWN0IGlzIGluZGVlZCBhbiBhY2Nlc3NpYmxlIGVs
ZW1lbnQuIik7CiAKICAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7Ci0K
LSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5hbWUiKS5mb2N1cygpOwotICAgICAg
ICB2YXIgbGluayA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50OwotICAg
ICAgICBzaG91bGRCZSgibGluay5saW5rZWRFbGVtZW50KCkuZGVzY3JpcHRpb24iLCAiJ0FYTGFi
ZWw6IExpbmtlZCBFbGVtZW50JyIpOworICAgICAgICB2YXIgbGluazEgPSBhY2Nlc3NpYmlsaXR5
Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoIm5hbWUiKTsKKyAgICAgICAgdmFyIGxp
bmtlZDEgPSBsaW5rMS5saW5rZWRFbGVtZW50KCk7CisgICAgICAgIHNob3VsZEJlKCJsaW5rZWQx
LmRlc2NyaXB0aW9uIiwgIidBWExhYmVsOiBMaW5rZWQgRWxlbWVudCciKTsKKyAgICAgICAgc2hv
dWxkQmVGYWxzZSgibGlua2VkMS5pc0lnbm9yZWQiKTsKKworICAgICAgICB2YXIgbGluazIgPSBh
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoImdvdG9HcmVldGlu
ZyIpOworICAgICAgICB2YXIgbGlua2VkMiA9IGxpbmsyLmxpbmtlZEVsZW1lbnQoKTsKKyAgICAg
ICAgc2hvdWxkQmUoImxpbmtlZDIuZGVzY3JpcHRpb24iLCAiJ0FYTGFiZWw6IEhlbGxvIFdvcmxk
ISciKTsKKyAgICAgICAgc2hvdWxkQmVGYWxzZSgibGlua2VkMi5pc0lnbm9yZWQiKTsKICAgICB9
Ci0KLSAgICBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwogPC9zY3JpcHQ+Ci0KIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLQogPC9ib2R5
PgogPC9odG1sPgotCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>375944</attachid>
            <date>2019-08-09 13:09:25 -0700</date>
            <delta_ts>2019-08-10 20:46:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-200559-20190809160923.patch</filename>
            <type>text/plain</type>
            <size>9537</size>
            <attacher name="Andres Gonzalez">andresg_22</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ4MjcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTliZjZiYmFiYjllOWJj
YWJkNzUzNmViNjJmZjE4NWRlM2VjZjdiYS4uNzE2ZDIxMDYxM2EwMzkzOTNkNjQzMTUzZDIzZjQ2
NWNlZGVjNGNjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE5LTA4LTA4ICBBbmRy
ZXMgR29uemFsZXogIDxhbmRyZXNnXzIyQGFwcGxlLmNvbT4KKworICAgICAgICBBY2Nlc3NpYmls
aXR5IGNsaWVudCBjYW5ub3QgbmF2aWdhdGUgdG8gaW50ZXJuYWwgbGlua3MgdGFyZ2V0cyBvbiBp
T1MuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDA1
NTkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ1MjQyNTM0PgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBjYXVzZSBvZiB0aGUgcHJvYmxlbSBv
biBpT1MgaXMgdGhhdCBBY2Nlc3NpYmlsaXR5T2JqZWN0OjpmaXJzdEFjY2Vzc2libGVPYmplY3RG
cm9tTm9kZQorICAgICAgICB1c2VkIGluIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6Omxpbmtl
ZFVJRWxlbWVudHMgbWF5IHJldHVybiBhbiBvYmplY3QKKyAgICAgICAgdGhhdCBpcyBpZ25vcmVk
IGJ5IGFjY2Vzc2liaWxpdHkgY2xpZW50cyBvbiBpT1MsIGFuZCB0aHVzIHRoZSBjbGllbnQKKyAg
ICAgICAgd291bGQgbm90IHRyYWNrIHRoZSB0YXJnZXQgb2YgYW4gaW50ZXJuYWwgbGluay4gVGhp
cyBjaGFuZ2UgZW5zdXJlcyB0aGF0CisgICAgICAgIGFjY2Vzc2liaWxpdHlMaW5rZWRFbGVtZW50
IHdpbGwgcmV0dXJuIGEgdmFsaWQgYWNjZXNzaWJpbGl0eSBlbGVtZW50IHRvCisgICAgICAgIHRo
ZSBjbGllbnQsIGlmIGl0IGlzIGV4aXN0cy4KKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVj
dDo6Zmlyc3RBY2Nlc3NpYmxlT2JqZWN0RnJvbU5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6Zmly
c3RBY2Nlc3NpYmxlT2JqZWN0RnJvbU5vZGUpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eU9iamVjdC5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvaW9zL1dlYkFjY2Vz
c2liaWxpdHlPYmplY3RXcmFwcGVySU9TLm1tOgorICAgICAgICAoLVtXZWJBY2Nlc3NpYmlsaXR5
T2JqZWN0V3JhcHBlciBhY2Nlc3NpYmlsaXR5TGlua2VkRWxlbWVudF0pOgorCiAyMDE5LTA4LTA1
ICBUYWthc2hpIEtvbW9yaSAgPFRha2FzaGkuS29tb3JpQHNvbnkuY29tPgogCiAgICAgICAgIFtD
dXJsXSBpbXBsZW1lbnQgQ2VydGlmaWNhdGVJbmZvOjpzdW1tYXJ5SW5mbwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKaW5kZXgg
ZWFmMjRkMjMxNzI0YjUwZTc3ZjE0NDgwNGNiNDk0YmE0OTYzNTk0Yy4uMGU2ODQ0NWEyMzRhZTE0
Y2YzNjFlZDRiMTJjYzE2MjYxZjdhNmJlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCkBAIC01MzksNiArNTM5LDEzIEBA
IEFjY2Vzc2liaWxpdHlPYmplY3QqIEFjY2Vzc2liaWxpdHlPYmplY3Q6Om5leHRTaWJsaW5nVW5p
Z25vcmVkKGludCBsaW1pdCkgY29uc3QKIH0KIAogQWNjZXNzaWJpbGl0eU9iamVjdCogQWNjZXNz
aWJpbGl0eU9iamVjdDo6Zmlyc3RBY2Nlc3NpYmxlT2JqZWN0RnJvbU5vZGUoY29uc3QgTm9kZSog
bm9kZSkKK3sKKyAgICByZXR1cm4gV2ViQ29yZTo6Zmlyc3RBY2Nlc3NpYmxlT2JqZWN0RnJvbU5v
ZGUobm9kZSwgW10gKGNvbnN0IEFjY2Vzc2liaWxpdHlPYmplY3QmIGFjY2Vzc2libGUpIHsKKyAg
ICAgICAgcmV0dXJuICFhY2Nlc3NpYmxlLmFjY2Vzc2liaWxpdHlJc0lnbm9yZWQoKTsKKyAgICB9
KTsKK30KKworQWNjZXNzaWJpbGl0eU9iamVjdCogZmlyc3RBY2Nlc3NpYmxlT2JqZWN0RnJvbU5v
ZGUoY29uc3QgTm9kZSogbm9kZSwgY29uc3QgV1RGOjpGdW5jdGlvbjxib29sKGNvbnN0IEFjY2Vz
c2liaWxpdHlPYmplY3QmKT4mIGlzQWNjZXNzaWJsZSkKIHsKICAgICBpZiAoIW5vZGUpCiAgICAg
ICAgIHJldHVybiBudWxscHRyOwpAQCAtNTQ2LDkgKzU1Myw5IEBAIEFjY2Vzc2liaWxpdHlPYmpl
Y3QqIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmZpcnN0QWNjZXNzaWJsZU9iamVjdEZyb21Ob2RlKGNv
bnN0IE5vCiAgICAgQVhPYmplY3RDYWNoZSogY2FjaGUgPSBub2RlLT5kb2N1bWVudCgpLmF4T2Jq
ZWN0Q2FjaGUoKTsKICAgICBpZiAoIWNhY2hlKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAg
ICAKKwogICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIGFjY2Vzc2libGVPYmplY3QgPSBjYWNoZS0+
Z2V0T3JDcmVhdGUobm9kZS0+cmVuZGVyZXIoKSk7Ci0gICAgd2hpbGUgKGFjY2Vzc2libGVPYmpl
Y3QgJiYgYWNjZXNzaWJsZU9iamVjdC0+YWNjZXNzaWJpbGl0eUlzSWdub3JlZCgpKSB7CisgICAg
d2hpbGUgKGFjY2Vzc2libGVPYmplY3QgJiYgIWlzQWNjZXNzaWJsZSgqYWNjZXNzaWJsZU9iamVj
dCkpIHsKICAgICAgICAgbm9kZSA9IE5vZGVUcmF2ZXJzYWw6Om5leHQoKm5vZGUpOwogCiAgICAg
ICAgIHdoaWxlIChub2RlICYmICFub2RlLT5yZW5kZXJlcigpKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmggYi9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaAppbmRleCA5ZmFiMmFkOTBl
OGJmYmY4NjQ4NzQzZWRhNTE5ZWQ2ZTc2NGQ5ZGY5Li4wNGIwYTA5NDNkNWMwMDhiNGYzOGNiMjcy
MjEyYzNkZDAzNTdmZTEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlPYmplY3QuaApAQCAtMTA2OSw2ICsxMDY5LDggQEAgaW5saW5lIGludCBB
Y2Nlc3NpYmlsaXR5T2JqZWN0OjpsaW5lRm9yUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9u
JikgY29uc3QgewogaW5saW5lIHZvaWQgQWNjZXNzaWJpbGl0eU9iamVjdDo6dXBkYXRlQmFja2lu
Z1N0b3JlKCkgeyB9CiAjZW5kaWYKIAorQWNjZXNzaWJpbGl0eU9iamVjdCogZmlyc3RBY2Nlc3Np
YmxlT2JqZWN0RnJvbU5vZGUoY29uc3QgTm9kZSosIGNvbnN0IFdURjo6RnVuY3Rpb248Ym9vbChj
b25zdCBBY2Nlc3NpYmlsaXR5T2JqZWN0Jik+JiBpc0FjY2Vzc2libGUpOworCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCiAKICNkZWZpbmUgU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19BQ0NFU1NJQklM
SVRZKFRvVmFsdWVUeXBlTmFtZSwgcHJlZGljYXRlKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L2lvcy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcklPUy5t
bSBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaW9zL1dlYkFjY2Vzc2liaWxpdHlPYmpl
Y3RXcmFwcGVySU9TLm1tCmluZGV4IGNiMGRkOTc5ZDEzNThkMDE0ZjNhY2JkOGMxMDU1YWU1MzZj
NWI3NzMuLjNjNTAxOTNkNTRmN2QyMmIyYjA3MDUzMzhmYzRlNzAyMDk1ZGUyNDAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaW9zL1dlYkFjY2Vzc2liaWxpdHlPYmpl
Y3RXcmFwcGVySU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaW9zL1dl
YkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVySU9TLm1tCkBAIC0xNzk4LDIwICsxNzk4LDI2IEBA
IHN0YXRpYyB2b2lkIGFwcGVuZFN0cmluZ1RvUmVzdWx0KE5TTXV0YWJsZVN0cmluZyAqcmVzdWx0
LCBOU1N0cmluZyAqc3RyaW5nKQogewogICAgIGlmICghW3NlbGYgX3ByZXBhcmVBY2Nlc3NpYmls
aXR5Q2FsbF0pCiAgICAgICAgIHJldHVybiBuaWw7Ci0gICAgCisKICAgICAvLyBJZiB0aGlzIHN0
YXRpYyB0ZXh0IGluc2lkZSBvZiBhIGxpbmssIGl0IHNob3VsZCB1c2UgaXRzIHBhcmVudCdzIGxp
bmtlZCBlbGVtZW50LgogICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIGVsZW1lbnQgPSBtX29iamVj
dDsKICAgICBpZiAobV9vYmplY3QtPnJvbGVWYWx1ZSgpID09IEFjY2Vzc2liaWxpdHlSb2xlOjpT
dGF0aWNUZXh0ICYmIG1fb2JqZWN0LT5wYXJlbnRPYmplY3RVbmlnbm9yZWQoKS0+aXNMaW5rKCkp
CiAgICAgICAgIGVsZW1lbnQgPSBtX29iamVjdC0+cGFyZW50T2JqZWN0VW5pZ25vcmVkKCk7Ci0g
ICAgCi0gICAgQWNjZXNzaWJpbGl0eU9iamVjdDo6QWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9y
IGNoaWxkcmVuOwotICAgIGVsZW1lbnQtPmxpbmtlZFVJRWxlbWVudHMoY2hpbGRyZW4pOwotICAg
IGlmIChjaGlsZHJlbi5zaXplKCkgPT0gMCkKKworICAgIEFjY2Vzc2liaWxpdHlPYmplY3Q6OkFj
Y2Vzc2liaWxpdHlDaGlsZHJlblZlY3RvciBsaW5rZWRFbGVtZW50czsKKyAgICBlbGVtZW50LT5s
aW5rZWRVSUVsZW1lbnRzKGxpbmtlZEVsZW1lbnRzKTsKKyAgICBpZiAoIWxpbmtlZEVsZW1lbnRz
LnNpemUoKSB8fCAhbGlua2VkRWxlbWVudHNbMF0pCiAgICAgICAgIHJldHVybiBuaWw7Ci0gICAg
Ci0gICAgcmV0dXJuIGNoaWxkcmVuWzBdLT53cmFwcGVyKCk7Ci19CiAKKyAgICAvLyBBY2Nlc3Np
YmlsaXR5T2JqZWN0OjpsaW5rZWRVSUVsZW1lbnRzIG1heSByZXR1cm4gYW4gb2JqZWN0IHRoYXQg
aXMKKyAgICAvLyBleHBvc2VkIGluIG90aGVyIHBsYXRmb3JtcyBidXQgbm90IG9uIGlPUywgaS5l
LiwgZ3JvdXBpbmcgb3Igc3RydWN0dXJlCisgICAgLy8gZWxlbWVudHMgbGlrZSA8ZGl2PiBvciA8
cD4uIFRodXMgZmluZCB0aGUgbmV4dCBhY2Nlc3NpYmxlIG9iamVjdCB0aGF0IGlzCisgICAgLy8g
ZXhwb3NlZCBvbiBpT1MuCisgICAgYXV0byBsaW5rZWRFbGVtZW50ID0gZmlyc3RBY2Nlc3NpYmxl
T2JqZWN0RnJvbU5vZGUobGlua2VkRWxlbWVudHNbMF0tPm5vZGUoKSwgW10gKGNvbnN0IEFjY2Vz
c2liaWxpdHlPYmplY3QmIGFjY2Vzc2libGUpIHsKKyAgICAgICAgcmV0dXJuIGFjY2Vzc2libGUu
d3JhcHBlcigpLmlzQWNjZXNzaWJpbGl0eUVsZW1lbnQ7CisgICAgfSk7CisgICAgcmV0dXJuIGxp
bmtlZEVsZW1lbnQgPyBsaW5rZWRFbGVtZW50LT53cmFwcGVyKCkgOiBudWxscHRyOworfQogCiAt
IChCT09MKWlzQXR0YWNobWVudAogewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDY2ZDM4ZjkyODYyZDRiMmI0NGQ2ZGFkYzBl
NzEzMmRiMmRiY2U2ZmEuLjQ1NDNjZmQyNDkzYmM5NTNhNTdiYjRmOWY1MDM5MzM2MzUxY2FmMDAg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxOS0wOC0wOCAgQW5kcmVzIEdvbnphbGV6ICA8YW5k
cmVzZ18yMkBhcHBsZS5jb20+CisKKyAgICAgICAgQWNjZXNzaWJpbGl0eSBjbGllbnQgY2Fubm90
IG5hdmlnYXRlIHRvIGludGVybmFsIGxpbmtzIHRhcmdldHMgb24gaU9TLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAwNTU5CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS80NTI0MjUzND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBFeHRuZWRlZCB0aGlzIHRlc3QgdG8gbm90IG9ubHkgY2hlY2sgdGhhdCBp
bnRlcm5hbCBsaW5rcyBleHBvc2UgdGhlaXIKKyAgICAgICAgdGFyZ2V0LCBidXQgYWxzbyB0aGF0
IHRoZSB0YXJnZXQgaXMgYW4gYWNjZXNzaWJsZSBlbGVtZW50LiBBZGRlZCBhCisgICAgICAgIHNl
Y29uZCB0ZXN0IGNhc2Ugd2hlcmUgdGhlIHRhcmdldCBpcyBjb250YWluZWQgaW4gYSBncm91cGlu
ZyBlbGVtZW50LgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvaW9zLXNpbXVsYXRvci9pbnRlcm5h
bC1saW5rLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2lvcy1zaW11bGF0
b3IvaW50ZXJuYWwtbGluay5odG1sOgorCiAyMDE5LTA4LTA1ICBZb3Vlbm4gRmFibGV0ICA8eW91
ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBEaXNhYmxlIHNwZWN1bGF0aXZlIGxvYWRpbmcgaWYg
Y2FjaGUgaXMgbm90IHRvIGJlIHVzZWQgZm9yIHRoZSBsb2FkCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9hY2Nlc3NpYmlsaXR5L2lvcy1zaW11bGF0b3IvaW50ZXJuYWwtbGluay1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2lvcy1zaW11bGF0b3IvaW50ZXJuYWwtbGlu
ay1leHBlY3RlZC50eHQKaW5kZXggMzNmNDA0ZDIyNTkyOWNiODlhMTE0MGNhZjA1NmM3MDNkNTY1
NTE1ZS4uYTA0NzE1ZTFjYjM2OWEwMDBlODZjMGVmYjU1NGM0YTdiMzFhZTY0MiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL2ludGVybmFsLWxpbmst
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvaW9zLXNpbXVsYXRv
ci9pbnRlcm5hbC1saW5rLWV4cGVjdGVkLnR4dApAQCAtMSwxNyArMSwyMiBAQAogTmFtZSAKIAog
CitMaW5rZWQgRWxlbWVudCAKIAogCitHbyB0byBncmVldGluZyAKIAogCi1MaW5rZWQgRWxlbWVu
dAotVGhpcyB0ZXN0IHRoYXRzIGludGVybmFsIGxpbmtzIHJldHVybiB0aGVpciBsaW5rZWQgZWxl
bWVudHMKK0hlbGxvIFdvcmxkIQorVGhpcyB0ZXN0cyB0aGF0IGludGVybmFsIGxpbmtzIHJldHVy
biB0aGVpciBsaW5rZWQgZWxlbWVudHMsIGFuZCB0aGF0IHRoZSByZXR1cm5lZCBvYmplY3QgaXMg
aW5kZWVkIGFuIGFjY2Vzc2libGUgZWxlbWVudC4KIAogT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgogCiAKLVBBU1MgbGluay5saW5rZWRFbGVtZW50KCkuZGVzY3JpcHRpb24gaXMgJ0FYTGFiZWw6
IExpbmtlZCBFbGVtZW50JworUEFTUyBsaW5rZWQxLmRlc2NyaXB0aW9uIGlzICdBWExhYmVsOiBM
aW5rZWQgRWxlbWVudCcKK1BBU1MgbGlua2VkMS5pc0lnbm9yZWQgaXMgZmFsc2UKK1BBU1MgbGlu
a2VkMi5kZXNjcmlwdGlvbiBpcyAnQVhMYWJlbDogSGVsbG8gV29ybGQhJworUEFTUyBsaW5rZWQy
LmlzSWdub3JlZCBpcyBmYWxzZQogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBU
RVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2lvcy1z
aW11bGF0b3IvaW50ZXJuYWwtbGluay5odG1sIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9p
b3Mtc2ltdWxhdG9yL2ludGVybmFsLWxpbmsuaHRtbAppbmRleCBhZjI1ZGYwZGIxNTk2Y2RmYmRm
ZmQ1MjJkYzNjNTY0M2ZjMWQ0N2I3Li44YTJiOTU2YThiNGJkZmYzNGQxODEwMWI4Y2QzNDg0M2Ri
NDBhMWFhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2lvcy1zaW11bGF0
b3IvaW50ZXJuYWwtbGluay5odG1sCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvaW9z
LXNpbXVsYXRvci9pbnRlcm5hbC1saW5rLmh0bWwKQEAgLTMsMzkgKzMsNDAgQEAKIDxoZWFkPgog
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0PgotdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IGZhbHNlOwogaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQotICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgdGVzdFJ1bm5lci5kdW1w
QXNUZXh0KCk7CiA8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgogCi08YSBocmVmPSIjbmFtZTEi
IGlkPSJuYW1lIj5OYW1lPC9hPgorPGEgaHJlZj0iI2xpbmtlZDEiIGlkPSJuYW1lIj5OYW1lPC9h
PgorPEJSPjxCUj48QlI+Cis8YSBuYW1lPSJsaW5rZWQxIj5MaW5rZWQgRWxlbWVudDwvYT4KIAot
PEJSPjxCUj48QlI+PEJSPgogPEJSPjxCUj48QlI+Ci08YSBuYW1lPSJuYW1lMSI+TGlua2VkIEVs
ZW1lbnQ8L2E+CiAKKzxhIGhyZWY9IiNsaW5rZWQyIiBpZD0iZ290b0dyZWV0aW5nIj5HbyB0byBn
cmVldGluZzwvYT4KKzxCUj48QlI+PEJSPgorPGRpdiBpZD0ibGlua2VkMiI+SGVsbG8gV29ybGQh
PC9kaXY+CiAKIDxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgogPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CiAKIDxzY3JpcHQ+Ci0KLSAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHRoYXRzIGludGVy
bmFsIGxpbmtzIHJldHVybiB0aGVpciBsaW5rZWQgZWxlbWVudHMiKTsKKyAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0cyB0aGF0IGludGVybmFsIGxpbmtzIHJldHVybiB0aGVpciBsaW5rZWQgZWxl
bWVudHMsIGFuZCB0aGF0IHRoZSByZXR1cm5lZCBvYmplY3QgaXMgaW5kZWVkIGFuIGFjY2Vzc2li
bGUgZWxlbWVudC4iKTsKIAogICAgIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIp
IHsKLQotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibmFtZSIpLmZvY3VzKCk7Ci0g
ICAgICAgIHZhciBsaW5rID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7
Ci0gICAgICAgIHNob3VsZEJlKCJsaW5rLmxpbmtlZEVsZW1lbnQoKS5kZXNjcmlwdGlvbiIsICIn
QVhMYWJlbDogTGlua2VkIEVsZW1lbnQnIik7CisgICAgICAgIHZhciBsaW5rMSA9IGFjY2Vzc2li
aWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgibmFtZSIpOworICAgICAgICB2
YXIgbGlua2VkMSA9IGxpbmsxLmxpbmtlZEVsZW1lbnQoKTsKKyAgICAgICAgc2hvdWxkQmUoImxp
bmtlZDEuZGVzY3JpcHRpb24iLCAiJ0FYTGFiZWw6IExpbmtlZCBFbGVtZW50JyIpOworICAgICAg
ICBzaG91bGRCZUZhbHNlKCJsaW5rZWQxLmlzSWdub3JlZCIpOworCisgICAgICAgIHZhciBsaW5r
MiA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgiZ290b0dy
ZWV0aW5nIik7CisgICAgICAgIHZhciBsaW5rZWQyID0gbGluazIubGlua2VkRWxlbWVudCgpOwor
ICAgICAgICBzaG91bGRCZSgibGlua2VkMi5kZXNjcmlwdGlvbiIsICInQVhMYWJlbDogSGVsbG8g
V29ybGQhJyIpOworICAgICAgICBzaG91bGRCZUZhbHNlKCJsaW5rZWQyLmlzSWdub3JlZCIpOwog
ICAgIH0KLQotICAgIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CiA8L3NjcmlwdD4KLQogPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotCiA8
L2JvZHk+CiA8L2h0bWw+Ci0K
</data>

          </attachment>
      

    </bug>

</bugzilla>