<?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>192288</bug_id>
          
          <creation_ts>2018-12-02 08:26:45 -0800</creation_ts>
          <short_desc>Merge parseAccessControlExposeHeadersAllowList into parseAccessControlAllowList</short_desc>
          <delta_ts>2018-12-19 00:00:36 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>Other</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="Rob Buis">rbuis</reporter>
          <assigned_to name="Rob Buis">rbuis</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>japhet</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1484197</commentid>
    <comment_count>0</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2018-12-02 08:26:45 -0800</bug_when>
    <thetext>Merge parseAccessControlExposeHeadersAllowList into parseAccessControlAllowList as they do the same thing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1484198</commentid>
    <comment_count>1</comment_count>
      <attachid>356339</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2018-12-02 08:30:46 -0800</bug_when>
    <thetext>Created attachment 356339
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1484821</commentid>
    <comment_count>2</comment_count>
      <attachid>356339</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2018-12-04 07:39:38 -0800</bug_when>
    <thetext>Comment on attachment 356339
Patch

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

&gt; Source/WebCore/platform/network/HTTPParsers.h:-167
&gt; -    return set;

parseAccessControlAllowList + addToAccessControlAllowList are less readable than parseAccessControlExposeHeadersAllowList as they try to avoid creating unnecessary substrings. I think you can rewrite this in a more concise way using StringViews:

String::split(UChar separator, const SplitFunctor&amp; functor)
StringView::stripLeadingAndTrailingMatchedCharacters
StringView::isEmpty()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1486029</commentid>
    <comment_count>3</comment_count>
      <attachid>356339</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-12-07 10:33:50 -0800</bug_when>
    <thetext>Comment on attachment 356339
Patch

Clearing flags on attachment: 356339

Committed r238953: &lt;https://trac.webkit.org/changeset/238953&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1486030</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-12-07 10:33:51 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1486032</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-12-07 10:34:44 -0800</bug_when>
    <thetext>&lt;rdar://problem/46557902&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1486286</commentid>
    <comment_count>6</comment_count>
      <attachid>356339</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2018-12-07 23:59:11 -0800</bug_when>
    <thetext>Comment on attachment 356339
Patch

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

&gt; Source/WebCore/platform/network/HTTPParsers.h:152
&gt; -std::optional&lt;HashSet&lt;String, HashType&gt;&gt; parseAccessControlAllowList(const String&amp; string)
&gt; +void parseAccessControlAllowList(const String&amp; string, HashSet&lt;String, HashType&gt;&amp; set)

Why is this using a reference argument instead of a return value?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1486454</commentid>
    <comment_count>7</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2018-12-09 14:00:31 -0800</bug_when>
    <thetext>(In reply to Darin Adler from comment #6)
&gt; Comment on attachment 356339 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=356339&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/network/HTTPParsers.h:152
&gt; &gt; -std::optional&lt;HashSet&lt;String, HashType&gt;&gt; parseAccessControlAllowList(const String&amp; string)
&gt; &gt; +void parseAccessControlAllowList(const String&amp; string, HashSet&lt;String, HashType&gt;&amp; set)
&gt; 
&gt; Why is this using a reference argument instead of a return value?

It seemed more convenient and natural to use out parameters here. Are you thinking return value is more efficient here because then we can skip the clear()s? I can do a follow up patch if so...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1486469</commentid>
    <comment_count>8</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2018-12-09 17:17:04 -0800</bug_when>
    <thetext>I think return values are more natural.

We used out parameters for large things in the old days because we feared the cost of copying structures, but in modern C++ with the return value optimization and move semantics it seems we can use return values.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1486656</commentid>
    <comment_count>9</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2018-12-10 12:24:11 -0800</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1486657</commentid>
    <comment_count>10</comment_count>
      <attachid>356980</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2018-12-10 12:24:14 -0800</bug_when>
    <thetext>Created attachment 356980
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1486689</commentid>
    <comment_count>11</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2018-12-10 13:18:29 -0800</bug_when>
    <thetext>(In reply to Darin Adler from comment #8)
&gt; I think return values are more natural.
&gt; 
&gt; We used out parameters for large things in the old days because we feared
&gt; the cost of copying structures, but in modern C++ with the return value
&gt; optimization and move semantics it seems we can use return values.

True, I put up a patch for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489244</commentid>
    <comment_count>12</comment_count>
      <attachid>356980</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-12-19 00:00:34 -0800</bug_when>
    <thetext>Comment on attachment 356980
Patch

Clearing flags on attachment: 356980

Committed r239372: &lt;https://trac.webkit.org/changeset/239372&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489245</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-12-19 00:00:36 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>356339</attachid>
            <date>2018-12-02 08:30:46 -0800</date>
            <delta_ts>2018-12-10 12:24:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192288-20181202173046.patch</filename>
            <type>text/plain</type>
            <size>10593</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4Nzg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGNmNjAyZjdmYjI4OWM1
NTIwZDA3ZDAyZDVjN2Y1YWQ1ZjU5N2EzZS4uNzViMmRkZjI2NTlkNTIyZGZjM2Y2ZGRlNzZiZjA2
ZGZjYzg0OTE4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE4LTEyLTAyICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgTWVyZ2UgcGFyc2VBY2Nlc3NDb250
cm9sRXhwb3NlSGVhZGVyc0FsbG93TGlzdCBpbnRvIHBhcnNlQWNjZXNzQ29udHJvbEFsbG93TGlz
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkyMjg4
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWVyZ2Ug
cGFyc2VBY2Nlc3NDb250cm9sRXhwb3NlSGVhZGVyc0FsbG93TGlzdCBpbnRvIHBhcnNlQWNjZXNz
Q29udHJvbEFsbG93TGlzdAorICAgICAgICBhcyB0aGV5IGRvIHRoZSBzYW1lIHRoaW5nLiBBbHNv
IHJlbW92ZSBzdGQ6Om9wdGlvbmFsIGZyb20gcGFyc2VBY2Nlc3NDb250cm9sQWxsb3dMaXN0Cisg
ICAgICAgIHNpbmNlIHRoZSBmdW5jdGlvbiBjYW4ndCBmYWlsLgorCisgICAgICAgICogV2ViQ29y
ZS5vcmRlcjoKKyAgICAgICAgKiBsb2FkZXIvQ3Jvc3NPcmlnaW5BY2Nlc3NDb250cm9sLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OnZhbGlkYXRlUHJlZmxpZ2h0UmVzcG9uc2UpOgorICAgICAgICAq
IGxvYWRlci9Dcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkNyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVtOjpwYXJzZSk6CisgICAg
ICAgICogbG9hZGVyL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUuaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9uZXR3b3JrL0hUVFBQYXJzZXJzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnBh
cnNlQWNjZXNzQ29udHJvbEV4cG9zZUhlYWRlcnNBbGxvd0xpc3QpOiBEZWxldGVkLgorICAgICAg
ICAqIHBsYXRmb3JtL25ldHdvcmsvSFRUUFBhcnNlcnMuaDoKKyAgICAgICAgKFdlYkNvcmU6OnBh
cnNlQWNjZXNzQ29udHJvbEFsbG93TGlzdCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9S
ZXNvdXJjZVJlc3BvbnNlQmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3Bv
bnNlQmFzZTo6ZmlsdGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2VCYXNl
OjpzYW5pdGl6ZUhUVFBIZWFkZXJGaWVsZHNBY2NvcmRpbmdUb1RhaW50aW5nKToKKwogMjAxOC0x
Mi0wMSAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBMaWZl
dGltZSBvZiBIVE1MTWVkaWFFbGVtZW50IGlzIG5vdCBwcm9wZXJseSBoYW5kbGVkIGluIGFzeW5j
aHJvbm91cyBhY3Rpb25zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLm9yZGVy
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5vcmRlcgppbmRleCAyMTk3NDdlMzY4NTFmMDI5MGZk
NjM2MGZmODliZmRhNWZmOTUxNDdhLi5lOGE2Y2EzNDE4NjdjMjBiYjI2MmVkOTBkZGM4YzI4ZGU2
Y2FlNzkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLm9yZGVyCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUub3JkZXIKQEAgLTczMTMsNyArNzMxMyw2IEBAIF9fWk43V2Vi
Q29yZTIyanNYTUxIdHRwUmVxdWVzdFN0YXR1c0VQTjNKU0M5RXhlY1N0YXRlRU5TMF83SlNWYWx1
ZUVOUzBfMTJQcm9wZXJ0CiBfX1pOSzdXZWJDb3JlMTRYTUxIdHRwUmVxdWVzdDZzdGF0dXNFUmkK
IF9fWk43V2ViQ29yZTU0anNYTUxIdHRwUmVxdWVzdFByb3RvdHlwZUZ1bmN0aW9uR2V0QWxsUmVz
cG9uc2VIZWFkZXJzRVBOM0pTQzlFeGVjU3RhdGVFCiBfX1pOSzdXZWJDb3JlMTRYTUxIdHRwUmVx
dWVzdDIxZ2V0QWxsUmVzcG9uc2VIZWFkZXJzRVJpCi1fX1pON1dlYkNvcmU0MHBhcnNlQWNjZXNz
Q29udHJvbEV4cG9zZUhlYWRlcnNBbGxvd0xpc3RFUktOM1dURjZTdHJpbmdFUk5TMF83SGFzaFNl
dElTMV9OUzBfMTVDYXNlRm9sZGluZ0hhc2hFTlMwXzEwSGFzaFRyYWl0c0lTMV9FRUVFCiBfX1pO
N1dlYkNvcmUyN2pzWE1MSHR0cFJlcXVlc3RSZXNwb25zZVhNTEVQTjNKU0M5RXhlY1N0YXRlRU5T
MF83SlNWYWx1ZUVOUzBfMTJQcm9wZXJ0eU5hbWVFCiBfX1pON1dlYkNvcmUxNFhNTEh0dHBSZXF1
ZXN0MTFyZXNwb25zZVhNTEVSaQogX19aTks3V2ViQ29yZTE0WE1MSHR0cFJlcXVlc3QxNnJlc3Bv
bnNlTUlNRVR5cGVFdgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3Jp
Z2luQWNjZXNzQ29udHJvbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5B
Y2Nlc3NDb250cm9sLmNwcAppbmRleCAwZDI2YTFmYWFjMTgzNTc0MDQzZmFhN2I0YTllYzZkMTEx
ODBiODE3Li5lZmZiYjU3MzFmNTQzMDBhNzkwOGMwNGY1MmQ1YWU2ZDFkODMzNjIwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5BY2Nlc3NDb250cm9sLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5BY2Nlc3NDb250cm9sLmNwcApA
QCAtMjA2LDcgKzIwNiw3IEBAIGJvb2wgdmFsaWRhdGVQcmVmbGlnaHRSZXNwb25zZShjb25zdCBS
ZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVzCiAgICAgICAgIHJldHVy
biBmYWxzZTsKIAogICAgIGF1dG8gcmVzdWx0ID0gc3RkOjptYWtlX3VuaXF1ZTxDcm9zc09yaWdp
blByZWZsaWdodFJlc3VsdENhY2hlSXRlbT4oc3RvcmVkQ3JlZGVudGlhbHNQb2xpY3kpOwotICAg
IGlmICghcmVzdWx0LT5wYXJzZShyZXNwb25zZSwgZXJyb3JEZXNjcmlwdGlvbikKKyAgICBpZiAo
IXJlc3VsdC0+cGFyc2UocmVzcG9uc2UpCiAgICAgICAgIHx8ICFyZXN1bHQtPmFsbG93c0Nyb3Nz
T3JpZ2luTWV0aG9kKHJlcXVlc3QuaHR0cE1ldGhvZCgpLCBlcnJvckRlc2NyaXB0aW9uKQogICAg
ICAgICB8fCAhcmVzdWx0LT5hbGxvd3NDcm9zc09yaWdpbkhlYWRlcnMocmVxdWVzdC5odHRwSGVh
ZGVyRmllbGRzKCksIGVycm9yRGVzY3JpcHRpb24pKSB7CiAgICAgICAgIHJldHVybiBmYWxzZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpblByZWZsaWdodFJl
c3VsdENhY2hlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpblByZWZsaWdo
dFJlc3VsdENhY2hlLmNwcAppbmRleCA2MzJiNjhkYWE4MDg1OTgyZDIxMmE0NzJjZTc0ZWQ1Y2Zm
NTc4ZjRjLi45ZDQ1YjM3NDU3MzI4MTFjYjAxMTYzMjE0Mjc2MDg5ZTA1NTQ0M2Q2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNo
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0UmVz
dWx0Q2FjaGUuY3BwCkBAIC01MiwyMyArNTIsMTMgQEAgc3RhdGljIGJvb2wgcGFyc2VBY2Nlc3ND
b250cm9sTWF4QWdlKGNvbnN0IFN0cmluZyYgc3RyaW5nLCBTZWNvbmRzJiBleHBpcnlEZWx0YSkK
ICAgICByZXR1cm4gb2s7CiB9CiAKLWJvb2wgQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNo
ZUl0ZW06OnBhcnNlKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBTdHJpbmcmIGVy
cm9yRGVzY3JpcHRpb24pCitib29sIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVt
OjpwYXJzZShjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKIHsKICAgICBtX21ldGhv
ZHMuY2xlYXIoKTsKLSAgICBhdXRvIG1ldGhvZHMgPSBwYXJzZUFjY2Vzc0NvbnRyb2xBbGxvd0xp
c3QocmVzcG9uc2UuaHR0cEhlYWRlckZpZWxkKEhUVFBIZWFkZXJOYW1lOjpBY2Nlc3NDb250cm9s
QWxsb3dNZXRob2RzKSk7Ci0gICAgaWYgKCFtZXRob2RzKSB7Ci0gICAgICAgIGVycm9yRGVzY3Jp
cHRpb24gPSAiQ2Fubm90IHBhcnNlIEFjY2Vzcy1Db250cm9sLUFsbG93LU1ldGhvZHMgcmVzcG9u
c2UgaGVhZGVyIGZpZWxkLiI7Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0gICAgbV9t
ZXRob2RzID0gV1RGTW92ZShtZXRob2RzLnZhbHVlKCkpOworICAgIHBhcnNlQWNjZXNzQ29udHJv
bEFsbG93TGlzdChyZXNwb25zZS5odHRwSGVhZGVyRmllbGQoSFRUUEhlYWRlck5hbWU6OkFjY2Vz
c0NvbnRyb2xBbGxvd01ldGhvZHMpLCBtX21ldGhvZHMpOwogCiAgICAgbV9oZWFkZXJzLmNsZWFy
KCk7Ci0gICAgYXV0byBoZWFkZXJzID0gcGFyc2VBY2Nlc3NDb250cm9sQWxsb3dMaXN0PEFTQ0lJ
Q2FzZUluc2Vuc2l0aXZlSGFzaD4ocmVzcG9uc2UuaHR0cEhlYWRlckZpZWxkKEhUVFBIZWFkZXJO
YW1lOjpBY2Nlc3NDb250cm9sQWxsb3dIZWFkZXJzKSk7Ci0gICAgaWYgKCFoZWFkZXJzKSB7Ci0g
ICAgICAgIGVycm9yRGVzY3JpcHRpb24gPSAiQ2Fubm90IHBhcnNlIEFjY2Vzcy1Db250cm9sLUFs
bG93LUhlYWRlcnMgcmVzcG9uc2UgaGVhZGVyIGZpZWxkLiI7Ci0gICAgICAgIHJldHVybiBmYWxz
ZTsKLSAgICB9Ci0gICAgbV9oZWFkZXJzID0gV1RGTW92ZShoZWFkZXJzLnZhbHVlKCkpOworICAg
IHBhcnNlQWNjZXNzQ29udHJvbEFsbG93TGlzdDxBU0NJSUNhc2VJbnNlbnNpdGl2ZUhhc2g+KHJl
c3BvbnNlLmh0dHBIZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6QWNjZXNzQ29udHJvbEFsbG93
SGVhZGVycyksIG1faGVhZGVycyk7CiAKICAgICBTZWNvbmRzIGV4cGlyeURlbHRhID0gMF9zOwog
ICAgIGlmIChwYXJzZUFjY2Vzc0NvbnRyb2xNYXhBZ2UocmVzcG9uc2UuaHR0cEhlYWRlckZpZWxk
KEhUVFBIZWFkZXJOYW1lOjpBY2Nlc3NDb250cm9sTWF4QWdlKSwgZXhwaXJ5RGVsdGEpKSB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1
bHRDYWNoZS5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0UmVz
dWx0Q2FjaGUuaAppbmRleCA5NjVkZTZmOGEwN2JkYzc4YzA4ZTBmMWMyZTcyMTllMWVkYTQwNDcz
Li4zZmYzNWI3N2Y1NjRiNWE3YzAwY2NjYzMyMTcwZTM5MzkyNmY1NGRhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hl
LmgKQEAgLTQ1LDcgKzQ1LDcgQEAgcHVibGljOgogICAgIHsKICAgICB9CiAKLSAgICBXRUJDT1JF
X0VYUE9SVCBib29sIHBhcnNlKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmLCBTdHJpbmcmIGVycm9y
RGVzY3JpcHRpb24pOworICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgcGFyc2UoY29uc3QgUmVzb3Vy
Y2VSZXNwb25zZSYpOwogICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgYWxsb3dzQ3Jvc3NPcmlnaW5N
ZXRob2QoY29uc3QgU3RyaW5nJiwgU3RyaW5nJiBlcnJvckRlc2NyaXB0aW9uKSBjb25zdDsKICAg
ICBXRUJDT1JFX0VYUE9SVCBib29sIGFsbG93c0Nyb3NzT3JpZ2luSGVhZGVycyhjb25zdCBIVFRQ
SGVhZGVyTWFwJiwgU3RyaW5nJiBlcnJvckRlc2NyaXB0aW9uKSBjb25zdDsKICAgICBib29sIGFs
bG93c1JlcXVlc3QoU3RvcmVkQ3JlZGVudGlhbHNQb2xpY3ksIGNvbnN0IFN0cmluZyYgbWV0aG9k
LCBjb25zdCBIVFRQSGVhZGVyTWFwJiByZXF1ZXN0SGVhZGVycykgY29uc3Q7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0hUVFBQYXJzZXJzLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvSFRUUFBhcnNlcnMuY3BwCmluZGV4IDk0MmM3MDE3
ZjRkMTAwZDJhYzc0ZTA0YTczMzZkZTU5YTFjYWJlODkuLjliMDE4YjI4YzJhYTBmN2QxMjFlZDVi
YjE4NzZlZGE4ZWJkY2YxMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvSFRUUFBhcnNlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvSFRUUFBhcnNlcnMuY3BwCkBAIC03NjksMTUgKzc2OSw2IEBAIHNpemVfdCBwYXJzZUhUVFBS
ZXF1ZXN0Qm9keShjb25zdCBjaGFyKiBkYXRhLCBzaXplX3QgbGVuZ3RoLCBWZWN0b3I8dW5zaWdu
ZWQgY2hhCiAgICAgcmV0dXJuIGxlbmd0aDsKIH0KIAotdm9pZCBwYXJzZUFjY2Vzc0NvbnRyb2xF
eHBvc2VIZWFkZXJzQWxsb3dMaXN0KGNvbnN0IFN0cmluZyYgaGVhZGVyVmFsdWUsIEhUVFBIZWFk
ZXJTZXQmIGhlYWRlclNldCkKLXsKLSAgICBmb3IgKGF1dG8mIGhlYWRlciA6IGhlYWRlclZhbHVl
LnNwbGl0KCcsJykpIHsKLSAgICAgICAgU3RyaW5nIHN0cmlwcGVkSGVhZGVyID0gaGVhZGVyLnN0
cmlwV2hpdGVTcGFjZSgpOwotICAgICAgICBpZiAoIXN0cmlwcGVkSGVhZGVyLmlzRW1wdHkoKSkK
LSAgICAgICAgICAgIGhlYWRlclNldC5hZGQoc3RyaXBwZWRIZWFkZXIpOwotICAgIH0KLX0KLQog
Ly8gSW1wbGVtZW50cyA8aHR0cHM6Ly9mZXRjaC5zcGVjLndoYXR3Zy5vcmcvI2ZvcmJpZGRlbi1o
ZWFkZXItbmFtZT4uCiBib29sIGlzRm9yYmlkZGVuSGVhZGVyTmFtZShjb25zdCBTdHJpbmcmIG5h
bWUpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0hUVFBQ
YXJzZXJzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0hUVFBQYXJzZXJzLmgK
aW5kZXggYWJlNzM5ZDhlNzIyNzMzYzAzOGFlZmJjZWZlNGU3MDJkNDIyZDY2Yi4uMGM5ZmQ5N2Nm
MTdkN2VjMDc2NTQ0YmUzZDMzNTA2ZmE5ZmY3OGE0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9IVFRQUGFyc2Vycy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvSFRUUFBhcnNlcnMuaApAQCAtOTcsOCArOTcsNiBAQCBzaXplX3QgcGFy
c2VIVFRQUmVxdWVzdExpbmUoY29uc3QgY2hhciogZGF0YSwgc2l6ZV90IGxlbmd0aCwgU3RyaW5n
JiBmYWlsdXJlUmVhcwogc2l6ZV90IHBhcnNlSFRUUEhlYWRlcihjb25zdCBjaGFyKiBkYXRhLCBz
aXplX3QgbGVuZ3RoLCBTdHJpbmcmIGZhaWx1cmVSZWFzb24sIFN0cmluZ1ZpZXcmIG5hbWVTdHIs
IFN0cmluZyYgdmFsdWVTdHIsIGJvb2wgc3RyaWN0ID0gdHJ1ZSk7CiBzaXplX3QgcGFyc2VIVFRQ
UmVxdWVzdEJvZHkoY29uc3QgY2hhciogZGF0YSwgc2l6ZV90IGxlbmd0aCwgVmVjdG9yPHVuc2ln
bmVkIGNoYXI+JiBib2R5KTsKIAotdm9pZCBwYXJzZUFjY2Vzc0NvbnRyb2xFeHBvc2VIZWFkZXJz
QWxsb3dMaXN0KGNvbnN0IFN0cmluZyYgaGVhZGVyVmFsdWUsIEhUVFBIZWFkZXJTZXQmKTsKLQog
Ly8gSFRUUCBIZWFkZXIgcm91dGluZSBhcyBwZXIgaHR0cHM6Ly9mZXRjaC5zcGVjLndoYXR3Zy5v
cmcvI3Rlcm1pbm9sb2d5LWhlYWRlcnMKIGJvb2wgaXNGb3JiaWRkZW5IZWFkZXJOYW1lKGNvbnN0
IFN0cmluZyYpOwogYm9vbCBpc0ZvcmJpZGRlblJlc3BvbnNlSGVhZGVyTmFtZShjb25zdCBTdHJp
bmcmKTsKQEAgLTE1MSw5ICsxNDksOCBAQCB2b2lkIGFkZFRvQWNjZXNzQ29udHJvbEFsbG93TGlz
dChjb25zdCBTdHJpbmcmIHN0cmluZywgdW5zaWduZWQgc3RhcnQsIHVuc2lnbmVkCiB9CiAKIHRl
bXBsYXRlPGNsYXNzIEhhc2hUeXBlID0gRGVmYXVsdEhhc2g8U3RyaW5nPjo6SGFzaD4KLXN0ZDo6
b3B0aW9uYWw8SGFzaFNldDxTdHJpbmcsIEhhc2hUeXBlPj4gcGFyc2VBY2Nlc3NDb250cm9sQWxs
b3dMaXN0KGNvbnN0IFN0cmluZyYgc3RyaW5nKQordm9pZCBwYXJzZUFjY2Vzc0NvbnRyb2xBbGxv
d0xpc3QoY29uc3QgU3RyaW5nJiBzdHJpbmcsIEhhc2hTZXQ8U3RyaW5nLCBIYXNoVHlwZT4mIHNl
dCkKIHsKLSAgICBIYXNoU2V0PFN0cmluZywgSGFzaFR5cGU+IHNldDsKICAgICB1bnNpZ25lZCBz
dGFydCA9IDA7CiAgICAgc2l6ZV90IGVuZDsKICAgICB3aGlsZSAoKGVuZCA9IHN0cmluZy5maW5k
KCcsJywgc3RhcnQpKSAhPSBub3RGb3VuZCkgewpAQCAtMTYzLDggKzE2MCw2IEBAIHN0ZDo6b3B0
aW9uYWw8SGFzaFNldDxTdHJpbmcsIEhhc2hUeXBlPj4gcGFyc2VBY2Nlc3NDb250cm9sQWxsb3dM
aXN0KGNvbnN0IFN0cmluCiAgICAgfQogICAgIGlmIChzdGFydCAhPSBzdHJpbmcubGVuZ3RoKCkp
CiAgICAgICAgIGFkZFRvQWNjZXNzQ29udHJvbEFsbG93TGlzdChzdHJpbmcsIHN0YXJ0LCBzdHJp
bmcubGVuZ3RoKCkgLSAxLCBzZXQpOwotCi0gICAgcmV0dXJuIHNldDsKIH0KIAogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFz
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VC
YXNlLmNwcAppbmRleCA3NjY3MjE5MTY5OGYxYTZiM2IwYWU5ZmExZDUwNTQ3ZTEyMzM0Y2U5Li4z
NTM4YWJmZDliZThkYjI2ZmY5NWZhNzJjYzg1YzRiYjVlMzZlYjQzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmNw
cApAQCAtMTUyLDcgKzE1Miw3IEBAIFJlc291cmNlUmVzcG9uc2UgUmVzb3VyY2VSZXNwb25zZUJh
c2U6OmZpbHRlcihjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKICAgICBmaWx0ZXJl
ZFJlc3BvbnNlLnNldFR5cGUoVHlwZTo6Q29ycyk7CiAKICAgICBIVFRQSGVhZGVyU2V0IGFjY2Vz
c0NvbnRyb2xFeHBvc2VIZWFkZXJTZXQ7Ci0gICAgcGFyc2VBY2Nlc3NDb250cm9sRXhwb3NlSGVh
ZGVyc0FsbG93TGlzdChyZXNwb25zZS5odHRwSGVhZGVyRmllbGQoSFRUUEhlYWRlck5hbWU6OkFj
Y2Vzc0NvbnRyb2xFeHBvc2VIZWFkZXJzKSwgYWNjZXNzQ29udHJvbEV4cG9zZUhlYWRlclNldCk7
CisgICAgcGFyc2VBY2Nlc3NDb250cm9sQWxsb3dMaXN0KHJlc3BvbnNlLmh0dHBIZWFkZXJGaWVs
ZChIVFRQSGVhZGVyTmFtZTo6QWNjZXNzQ29udHJvbEV4cG9zZUhlYWRlcnMpLCBhY2Nlc3NDb250
cm9sRXhwb3NlSGVhZGVyU2V0KTsKICAgICBmaWx0ZXJlZFJlc3BvbnNlLm1faHR0cEhlYWRlckZp
ZWxkcy51bmNvbW1vbkhlYWRlcnMoKS5yZW1vdmVBbGxNYXRjaGluZyhbJl0oYXV0byYgZW50cnkp
IHsKICAgICAgICAgcmV0dXJuICFpc0Nyb3NzT3JpZ2luU2FmZUhlYWRlcihlbnRyeS5rZXksIGFj
Y2Vzc0NvbnRyb2xFeHBvc2VIZWFkZXJTZXQpOwogICAgIH0pOwpAQCAtNDE5LDEzICs0MTksMTMg
QEAgdm9pZCBSZXNvdXJjZVJlc3BvbnNlQmFzZTo6c2FuaXRpemVIVFRQSGVhZGVyRmllbGRzQWNj
b3JkaW5nVG9UYWludGluZygpCiAgICAgICAgICAgICBpZiAoaXNTYWZlQ3Jvc3NPcmlnaW5SZXNw
b25zZUhlYWRlcihoZWFkZXIua2V5KSkKICAgICAgICAgICAgICAgICBmaWx0ZXJlZEhlYWRlcnMu
YWRkKGhlYWRlci5rZXksIFdURk1vdmUoaGVhZGVyLnZhbHVlKSk7CiAgICAgICAgIH0KLSAgICAg
ICAgaWYgKGF1dG8gY29yc1NhZmVIZWFkZXJTZXQgPSBwYXJzZUFjY2Vzc0NvbnRyb2xBbGxvd0xp
c3QoaHR0cEhlYWRlckZpZWxkKEhUVFBIZWFkZXJOYW1lOjpBY2Nlc3NDb250cm9sRXhwb3NlSGVh
ZGVycykpKSB7Ci0gICAgICAgICAgICBmb3IgKGF1dG8mIGhlYWRlck5hbWUgOiAqY29yc1NhZmVI
ZWFkZXJTZXQpIHsKLSAgICAgICAgICAgICAgICBpZiAoIWZpbHRlcmVkSGVhZGVycy5jb250YWlu
cyhoZWFkZXJOYW1lKSkgewotICAgICAgICAgICAgICAgICAgICBhdXRvIHZhbHVlID0gbV9odHRw
SGVhZGVyRmllbGRzLmdldChoZWFkZXJOYW1lKTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKCF2
YWx1ZS5pc051bGwoKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcmVkSGVhZGVycy5h
ZGQoaGVhZGVyTmFtZSwgdmFsdWUpOwotICAgICAgICAgICAgICAgIH0KKyAgICAgICAgSFRUUEhl
YWRlclNldCBjb3JzU2FmZUhlYWRlclNldDsKKyAgICAgICAgcGFyc2VBY2Nlc3NDb250cm9sQWxs
b3dMaXN0KGh0dHBIZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6QWNjZXNzQ29udHJvbEV4cG9z
ZUhlYWRlcnMpLCBjb3JzU2FmZUhlYWRlclNldCk7CisgICAgICAgIGZvciAoYXV0byYgaGVhZGVy
TmFtZSA6IGNvcnNTYWZlSGVhZGVyU2V0KSB7CisgICAgICAgICAgICBpZiAoIWZpbHRlcmVkSGVh
ZGVycy5jb250YWlucyhoZWFkZXJOYW1lKSkgeworICAgICAgICAgICAgICAgIGF1dG8gdmFsdWUg
PSBtX2h0dHBIZWFkZXJGaWVsZHMuZ2V0KGhlYWRlck5hbWUpOworICAgICAgICAgICAgICAgIGlm
ICghdmFsdWUuaXNOdWxsKCkpCisgICAgICAgICAgICAgICAgICAgIGZpbHRlcmVkSGVhZGVycy5h
ZGQoaGVhZGVyTmFtZSwgdmFsdWUpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAg
IG1faHR0cEhlYWRlckZpZWxkcyA9IFdURk1vdmUoZmlsdGVyZWRIZWFkZXJzKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>356980</attachid>
            <date>2018-12-10 12:24:14 -0800</date>
            <delta_ts>2018-12-19 00:00:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192288-20181210212414.patch</filename>
            <type>text/plain</type>
            <size>5155</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5MDM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWU3ZWI2NTllNjM2YWZi
YzI0NzdmYzIxZDVlZmE2M2EyNGQ2YTFkZC4uZjg5Y2E1YTI3ZjhiMDk5N2U4N2M5MzNkNWMwMTdl
ZGQ0ZjQxYmU0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE4LTEyLTEwICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgTWVyZ2UgcGFyc2VBY2Nlc3NDb250
cm9sRXhwb3NlSGVhZGVyc0FsbG93TGlzdCBpbnRvIHBhcnNlQWNjZXNzQ29udHJvbEFsbG93TGlz
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkyMjg4
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUHJlZmVy
IHJldHVybiB2YWx1ZSB0byBvdXQgcGFyYW1ldGVyIGZvciBwYXJzZUFjY2Vzc0NvbnRyb2xBbGxv
d0xpc3QuCisKKyAgICAgICAgKiBsb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNo
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hl
SXRlbTo6cGFyc2UpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvSFRUUFBhcnNlcnMuaDoK
KyAgICAgICAgKFdlYkNvcmU6OnBhcnNlQWNjZXNzQ29udHJvbEFsbG93TGlzdCk6CisgICAgICAg
ICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlQmFzZTo6ZmlsdGVyKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlc291cmNlUmVzcG9uc2VCYXNlOjpzYW5pdGl6ZUhUVFBIZWFkZXJGaWVsZHNBY2NvcmRpbmdU
b1RhaW50aW5nKToKKwogMjAxOC0xMi0xMCAgVHJ1aXR0IFNhdmVsbCAgPHRzYXZlbGxAYXBwbGUu
Y29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyMzg5NjUuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNo
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRD
YWNoZS5jcHAKaW5kZXggOWQ0NWIzNzQ1NzMyODExY2IwMTE2MzIxNDI3NjA4OWUwNTU0NDNkNi4u
NWQ2ZTIwMWIyNzU0Mjc4NjBjMzRhNTQyNDRiMTU4ZjM5ZTlkNjE5NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hl
LmNwcApAQCAtNTQsMTEgKzU0LDggQEAgc3RhdGljIGJvb2wgcGFyc2VBY2Nlc3NDb250cm9sTWF4
QWdlKGNvbnN0IFN0cmluZyYgc3RyaW5nLCBTZWNvbmRzJiBleHBpcnlEZWx0YSkKIAogYm9vbCBD
cm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlSXRlbTo6cGFyc2UoY29uc3QgUmVzb3VyY2VS
ZXNwb25zZSYgcmVzcG9uc2UpCiB7Ci0gICAgbV9tZXRob2RzLmNsZWFyKCk7Ci0gICAgcGFyc2VB
Y2Nlc3NDb250cm9sQWxsb3dMaXN0KHJlc3BvbnNlLmh0dHBIZWFkZXJGaWVsZChIVFRQSGVhZGVy
TmFtZTo6QWNjZXNzQ29udHJvbEFsbG93TWV0aG9kcyksIG1fbWV0aG9kcyk7Ci0KLSAgICBtX2hl
YWRlcnMuY2xlYXIoKTsKLSAgICBwYXJzZUFjY2Vzc0NvbnRyb2xBbGxvd0xpc3Q8QVNDSUlDYXNl
SW5zZW5zaXRpdmVIYXNoPihyZXNwb25zZS5odHRwSGVhZGVyRmllbGQoSFRUUEhlYWRlck5hbWU6
OkFjY2Vzc0NvbnRyb2xBbGxvd0hlYWRlcnMpLCBtX2hlYWRlcnMpOworICAgIG1fbWV0aG9kcyA9
IHBhcnNlQWNjZXNzQ29udHJvbEFsbG93TGlzdChyZXNwb25zZS5odHRwSGVhZGVyRmllbGQoSFRU
UEhlYWRlck5hbWU6OkFjY2Vzc0NvbnRyb2xBbGxvd01ldGhvZHMpKTsKKyAgICBtX2hlYWRlcnMg
PSBwYXJzZUFjY2Vzc0NvbnRyb2xBbGxvd0xpc3Q8QVNDSUlDYXNlSW5zZW5zaXRpdmVIYXNoPihy
ZXNwb25zZS5odHRwSGVhZGVyRmllbGQoSFRUUEhlYWRlck5hbWU6OkFjY2Vzc0NvbnRyb2xBbGxv
d0hlYWRlcnMpKTsKIAogICAgIFNlY29uZHMgZXhwaXJ5RGVsdGEgPSAwX3M7CiAgICAgaWYgKHBh
cnNlQWNjZXNzQ29udHJvbE1heEFnZShyZXNwb25zZS5odHRwSGVhZGVyRmllbGQoSFRUUEhlYWRl
ck5hbWU6OkFjY2Vzc0NvbnRyb2xNYXhBZ2UpLCBleHBpcnlEZWx0YSkpIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvSFRUUFBhcnNlcnMuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvSFRUUFBhcnNlcnMuaAppbmRleCAwYzlmZDk3Y2YxN2Q3
ZWMwNzY1NDRiZTNkMzM1MDZmYTlmZjc4YTRmLi4yOGZkZmRhMDg0MjFkOWQ5MTRmZTRhYWY1NTQ0
ZWQ1YjFiNTIyODRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L0hUVFBQYXJzZXJzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9IVFRQ
UGFyc2Vycy5oCkBAIC0xNDksOCArMTQ5LDkgQEAgdm9pZCBhZGRUb0FjY2Vzc0NvbnRyb2xBbGxv
d0xpc3QoY29uc3QgU3RyaW5nJiBzdHJpbmcsIHVuc2lnbmVkIHN0YXJ0LCB1bnNpZ25lZAogfQog
CiB0ZW1wbGF0ZTxjbGFzcyBIYXNoVHlwZSA9IERlZmF1bHRIYXNoPFN0cmluZz46Okhhc2g+Ci12
b2lkIHBhcnNlQWNjZXNzQ29udHJvbEFsbG93TGlzdChjb25zdCBTdHJpbmcmIHN0cmluZywgSGFz
aFNldDxTdHJpbmcsIEhhc2hUeXBlPiYgc2V0KQorSGFzaFNldDxTdHJpbmcsIEhhc2hUeXBlPiBw
YXJzZUFjY2Vzc0NvbnRyb2xBbGxvd0xpc3QoY29uc3QgU3RyaW5nJiBzdHJpbmcpCiB7CisgICAg
SGFzaFNldDxTdHJpbmcsIEhhc2hUeXBlPiBzZXQ7CiAgICAgdW5zaWduZWQgc3RhcnQgPSAwOwog
ICAgIHNpemVfdCBlbmQ7CiAgICAgd2hpbGUgKChlbmQgPSBzdHJpbmcuZmluZCgnLCcsIHN0YXJ0
KSkgIT0gbm90Rm91bmQpIHsKQEAgLTE2MCw2ICsxNjEsNyBAQCB2b2lkIHBhcnNlQWNjZXNzQ29u
dHJvbEFsbG93TGlzdChjb25zdCBTdHJpbmcmIHN0cmluZywgSGFzaFNldDxTdHJpbmcsIEhhc2hU
eXBlPgogICAgIH0KICAgICBpZiAoc3RhcnQgIT0gc3RyaW5nLmxlbmd0aCgpKQogICAgICAgICBh
ZGRUb0FjY2Vzc0NvbnRyb2xBbGxvd0xpc3Qoc3RyaW5nLCBzdGFydCwgc3RyaW5nLmxlbmd0aCgp
IC0gMSwgc2V0KTsKKyAgICByZXR1cm4gc2V0OwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuY3BwCmluZGV4
IDM1MzhhYmZkOWJlOGRiMjZmZjk1ZmE3MmNjODVjNGJiNWUzNmViNDMuLmQ3MGM2M2YyODNkNmFl
OTM5ZjA0M2Y0YjUyNzcwZTllMWMxZjdlMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuY3BwCkBAIC0xNTEsOCAr
MTUxLDcgQEAgUmVzb3VyY2VSZXNwb25zZSBSZXNvdXJjZVJlc3BvbnNlQmFzZTo6ZmlsdGVyKGNv
bnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQogICAgIEFTU0VSVChyZXNwb25zZS50YWlu
dGluZygpID09IFRhaW50aW5nOjpDb3JzKTsKICAgICBmaWx0ZXJlZFJlc3BvbnNlLnNldFR5cGUo
VHlwZTo6Q29ycyk7CiAKLSAgICBIVFRQSGVhZGVyU2V0IGFjY2Vzc0NvbnRyb2xFeHBvc2VIZWFk
ZXJTZXQ7Ci0gICAgcGFyc2VBY2Nlc3NDb250cm9sQWxsb3dMaXN0KHJlc3BvbnNlLmh0dHBIZWFk
ZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6QWNjZXNzQ29udHJvbEV4cG9zZUhlYWRlcnMpLCBhY2Nl
c3NDb250cm9sRXhwb3NlSGVhZGVyU2V0KTsKKyAgICBhdXRvIGFjY2Vzc0NvbnRyb2xFeHBvc2VI
ZWFkZXJTZXQgPSBwYXJzZUFjY2Vzc0NvbnRyb2xBbGxvd0xpc3Q8QVNDSUlDYXNlSW5zZW5zaXRp
dmVIYXNoPihyZXNwb25zZS5odHRwSGVhZGVyRmllbGQoSFRUUEhlYWRlck5hbWU6OkFjY2Vzc0Nv
bnRyb2xFeHBvc2VIZWFkZXJzKSk7CiAgICAgZmlsdGVyZWRSZXNwb25zZS5tX2h0dHBIZWFkZXJG
aWVsZHMudW5jb21tb25IZWFkZXJzKCkucmVtb3ZlQWxsTWF0Y2hpbmcoWyZdKGF1dG8mIGVudHJ5
KSB7CiAgICAgICAgIHJldHVybiAhaXNDcm9zc09yaWdpblNhZmVIZWFkZXIoZW50cnkua2V5LCBh
Y2Nlc3NDb250cm9sRXhwb3NlSGVhZGVyU2V0KTsKICAgICB9KTsKQEAgLTQxOSw4ICs0MTgsNyBA
QCB2b2lkIFJlc291cmNlUmVzcG9uc2VCYXNlOjpzYW5pdGl6ZUhUVFBIZWFkZXJGaWVsZHNBY2Nv
cmRpbmdUb1RhaW50aW5nKCkKICAgICAgICAgICAgIGlmIChpc1NhZmVDcm9zc09yaWdpblJlc3Bv
bnNlSGVhZGVyKGhlYWRlci5rZXkpKQogICAgICAgICAgICAgICAgIGZpbHRlcmVkSGVhZGVycy5h
ZGQoaGVhZGVyLmtleSwgV1RGTW92ZShoZWFkZXIudmFsdWUpKTsKICAgICAgICAgfQotICAgICAg
ICBIVFRQSGVhZGVyU2V0IGNvcnNTYWZlSGVhZGVyU2V0OwotICAgICAgICBwYXJzZUFjY2Vzc0Nv
bnRyb2xBbGxvd0xpc3QoaHR0cEhlYWRlckZpZWxkKEhUVFBIZWFkZXJOYW1lOjpBY2Nlc3NDb250
cm9sRXhwb3NlSGVhZGVycyksIGNvcnNTYWZlSGVhZGVyU2V0KTsKKyAgICAgICAgYXV0byBjb3Jz
U2FmZUhlYWRlclNldCA9IHBhcnNlQWNjZXNzQ29udHJvbEFsbG93TGlzdDxBU0NJSUNhc2VJbnNl
bnNpdGl2ZUhhc2g+KGh0dHBIZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6QWNjZXNzQ29udHJv
bEV4cG9zZUhlYWRlcnMpKTsKICAgICAgICAgZm9yIChhdXRvJiBoZWFkZXJOYW1lIDogY29yc1Nh
ZmVIZWFkZXJTZXQpIHsKICAgICAgICAgICAgIGlmICghZmlsdGVyZWRIZWFkZXJzLmNvbnRhaW5z
KGhlYWRlck5hbWUpKSB7CiAgICAgICAgICAgICAgICAgYXV0byB2YWx1ZSA9IG1faHR0cEhlYWRl
ckZpZWxkcy5nZXQoaGVhZGVyTmFtZSk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>