<?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>182719</bug_id>
          
          <creation_ts>2018-02-12 16:09:45 -0800</creation_ts>
          <short_desc>Make WebResourceLoadStatisticsStore::processStatisticsAndDataRecords() call WebProcessProxy::notifyPageStatisticsAndDataRecordsProcessed() in a proper callback</short_desc>
          <delta_ts>2018-02-21 16:21:24 -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>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=182624</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=183024</see_also>
          <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="Matt Lewis">jlewis3</reporter>
          <assigned_to name="John Wilander">wilander</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jlewis3</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wilander</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1398524</commentid>
    <comment_count>0</comment_count>
    <who name="Matt Lewis">jlewis3</who>
    <bug_when>2018-02-12 16:09:45 -0800</bug_when>
    <thetext>The following layout test is flaky on High Sierra WK2

http/tests/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-deletion.html

Probable cause:

The failures started after https://trac.webkit.org/changeset/228294

Flakiness Dashboard:

https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#showAllRuns=true&amp;tests=http%2Ftests%2FresourceLoadStatistics%2Fpartitioned-and-unpartitioned-cookie-deletion.html


https://build.webkit.org/results/Apple%20High%20Sierra%20Debug%20WK2%20(Tests)/r228318%20(2007)/results.html

Diff:

--- /Volumes/Data/slave/highsierra-debug-tests-wk2/build/layout-test-results/http/tests/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-deletion-expected.txt
+++ /Volumes/Data/slave/highsierra-debug-tests-wk2/build/layout-test-results/http/tests/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-deletion-actual.txt
@@ -27,13 +27,13 @@
 --------
 After removal, should receive no cookies.
 Did not receive cookie named &apos;firstPartyCookie&apos;.
-Did not receive cookie named &apos;thirdPartyCookie&apos;.
-Client-side document.cookie:
+Received cookie named &apos;thirdPartyCookie&apos;.
+Client-side document.cookie: thirdPartyCookie=value
 
 --------
 Frame: &apos;&lt;!--framePath //&lt;!--frame4--&gt;--&gt;&apos;
 --------
 After user interaction, should receive no cookies.
-Did not receive cookie named &apos;firstPartyCookie&apos;.
+Received cookie named &apos;firstPartyCookie&apos;.
 Did not receive cookie named &apos;thirdPartyCookie&apos;.
-Client-side document.cookie:
+Client-side document.cookie: firstPartyCookie=value</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1398525</commentid>
    <comment_count>1</comment_count>
    <who name="Matt Lewis">jlewis3</who>
    <bug_when>2018-02-12 16:10:05 -0800</bug_when>
    <thetext>Marked as flaky in: https://trac.webkit.org/changeset/228403/webkit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1398829</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-02-13 15:57:44 -0800</bug_when>
    <thetext>&lt;rdar://problem/37517370&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1399743</commentid>
    <comment_count>3</comment_count>
      <attachid>333988</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2018-02-15 19:17:36 -0800</bug_when>
    <thetext>Created attachment 333988
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1399893</commentid>
    <comment_count>4</comment_count>
      <attachid>333988</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2018-02-16 08:53:37 -0800</bug_when>
    <thetext>Comment on attachment 333988
Patch

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

I think this is close, but not quite right. r- to move the last few steps of the method inside the completion handlers.

&gt; Source/WebKit/UIProcess/WebResourceLoadStatisticsStore.cpp:282
&gt; +    pruneStatisticsIfNeeded();

Shouldn&apos;t &quot;pruneStatisticsIfNeeded()&quot; and &quot;m_persistentStorage.scheduleOrWriteMemoryStore&quot; be part of the completion handler?

I think part of the flakiness is that &apos;removeDataRecords&apos; can take time to complete (hopping from work queue, to main thread, to work queue, to main thread). I think after this patch, removeDataRecords will be called at the expected time now, but that &apos;pruneStatisticsIfNeeded&apos; might run before removeDataRecords completes (since removeDataRecords hops to the main thread before doing the delete, which might allow the work queue to return and call &apos;pruneStatisticsIfNeeded&apos; before the deletes happen.

Likewise, I don&apos;t think we want to schedule the write of the in-memory store until these bits of work are finished, so they should be inside the completion handler, too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1399928</commentid>
    <comment_count>5</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2018-02-16 10:39:03 -0800</bug_when>
    <thetext>(In reply to Brent Fulgham from comment #4)
&gt; Comment on attachment 333988 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=333988&amp;action=review
&gt; 
&gt; I think this is close, but not quite right. r- to move the last few steps of
&gt; the method inside the completion handlers.
&gt; 
&gt; &gt; Source/WebKit/UIProcess/WebResourceLoadStatisticsStore.cpp:282
&gt; &gt; +    pruneStatisticsIfNeeded();
&gt; 
&gt; Shouldn&apos;t &quot;pruneStatisticsIfNeeded()&quot; and
&gt; &quot;m_persistentStorage.scheduleOrWriteMemoryStore&quot; be part of the completion
&gt; handler?
&gt; 
&gt; I think part of the flakiness is that &apos;removeDataRecords&apos; can take time to
&gt; complete (hopping from work queue, to main thread, to work queue, to main
&gt; thread). I think after this patch, removeDataRecords will be called at the
&gt; expected time now, but that &apos;pruneStatisticsIfNeeded&apos; might run before
&gt; removeDataRecords completes (since removeDataRecords hops to the main thread
&gt; before doing the delete, which might allow the work queue to return and call
&gt; &apos;pruneStatisticsIfNeeded&apos; before the deletes happen.
&gt; 
&gt; Likewise, I don&apos;t think we want to schedule the write of the in-memory store
&gt; until these bits of work are finished, so they should be inside the
&gt; completion handler, too.
Thanks, Brent! I was thinking along those lines too but would you be fine landing this as a first step? The benefit would be to address the flakiness that’s hitting the bots.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1399945</commentid>
    <comment_count>6</comment_count>
      <attachid>333988</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2018-02-16 11:10:54 -0800</bug_when>
    <thetext>Comment on attachment 333988
Patch

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

&gt;&gt;&gt; Source/WebKit/UIProcess/WebResourceLoadStatisticsStore.cpp:282
&gt;&gt;&gt; +    pruneStatisticsIfNeeded();
&gt;&gt; 
&gt;&gt; Shouldn&apos;t &quot;pruneStatisticsIfNeeded()&quot; and &quot;m_persistentStorage.scheduleOrWriteMemoryStore&quot; be part of the completion handler?
&gt;&gt; 
&gt;&gt; I think part of the flakiness is that &apos;removeDataRecords&apos; can take time to complete (hopping from work queue, to main thread, to work queue, to main thread). I think after this patch, removeDataRecords will be called at the expected time now, but that &apos;pruneStatisticsIfNeeded&apos; might run before removeDataRecords completes (since removeDataRecords hops to the main thread before doing the delete, which might allow the work queue to return and call &apos;pruneStatisticsIfNeeded&apos; before the deletes happen.
&gt;&gt; 
&gt;&gt; Likewise, I don&apos;t think we want to schedule the write of the in-memory store until these bits of work are finished, so they should be inside the completion handler, too.
&gt; 
&gt; Thanks, Brent! I was thinking along those lines too but would you be fine landing this as a first step? The benefit would be to address the flakiness that’s hitting the bots.

No -- the change I&apos;m asking for would only be copying two lines and adding them to the two completion handlers here. I guess you&apos;ll need to capture &apos;this&apos; and so forth, but it&apos;s not a big change. I think that should be done as part of this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1400396</commentid>
    <comment_count>7</comment_count>
      <attachid>334165</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2018-02-19 10:20:12 -0800</bug_when>
    <thetext>Created attachment 334165
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1400397</commentid>
    <comment_count>8</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2018-02-19 10:20:47 -0800</bug_when>
    <thetext>Sorry for the delay in updating the patch. I was out for a conference.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1400841</commentid>
    <comment_count>9</comment_count>
      <attachid>334165</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2018-02-20 11:02:15 -0800</bug_when>
    <thetext>Comment on attachment 334165
Patch

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

r=me. Thanks for being patient with these changes!

&gt; Source/WebKit/UIProcess/WebResourceLoadStatisticsStore.cpp:291
&gt; +    }

Great! I think that&apos;s what we needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1400843</commentid>
    <comment_count>10</comment_count>
      <attachid>334165</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2018-02-20 11:03:25 -0800</bug_when>
    <thetext>Comment on attachment 334165
Patch

Thanks, Brent!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1400849</commentid>
    <comment_count>11</comment_count>
      <attachid>334165</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-02-20 11:27:31 -0800</bug_when>
    <thetext>Comment on attachment 334165
Patch

Clearing flags on attachment: 334165

Committed r228828: &lt;https://trac.webkit.org/changeset/228828&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1400850</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-02-20 11:27:33 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1401326</commentid>
    <comment_count>13</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2018-02-21 16:21:24 -0800</bug_when>
    <thetext>Added a delay in the test case to see if that stabilizes it. https://bugs.webkit.org/show_bug.cgi?id=183024</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>333988</attachid>
            <date>2018-02-15 19:17:36 -0800</date>
            <delta_ts>2018-02-19 10:20:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182719-20180215191735.patch</filename>
            <type>text/plain</type>
            <size>9504</size>
            <attacher name="John Wilander">wilander</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMjg1NDgpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBACisyMDE4LTAyLTE1ICBKb2huIFdpbGFu
ZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgorCisgICAgICAgIE1ha2UgV2ViUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc1N0b3JlOjpwcm9jZXNzU3RhdGlzdGljc0FuZERhdGFSZWNvcmRzKCkgY2FsbCBX
ZWJQcm9jZXNzUHJveHk6Om5vdGlmeVBhZ2VTdGF0aXN0aWNzQW5kRGF0YVJlY29yZHNQcm9jZXNz
ZWQoKSBpbiBhIHByb3BlciBjYWxsYmFjaworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTgyNzE5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zNzUxNzM3
MD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlz
IHdpbGwgYWxsb3cgdGhlIHBhZ2Ugbm90aWZpY2F0aW9uIHRvIGJlIHNlbnQgYXQgdGhlIHJpZ2h0
IHRpbWUgYW5kCisgICAgICAgIGhvcGVmdWxseSBzdGFiaWxpemUgdGhlIGxheW91dCB0ZXN0cyBp
bmNsdWRpbmc6CisgICAgICAgIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wYXJ0
aXRpb25lZC1hbmQtdW5wYXJ0aXRpb25lZC1jb29raWUtZGVsZXRpb24uaHRtbAorCisgICAgICAg
ICogVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6cmVtb3ZlRGF0YVJlY29y
ZHMpOgorICAgICAgICAgICAgTm93IHRha2VzIGEgY2FsbGJhY2sgcGFyYW1ldGVyLgorICAgICAg
ICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnByb2Nlc3NTdGF0aXN0
aWNzQW5kRGF0YVJlY29yZHMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzU3RvcmUuaDoKKyAgICAgICAgICAgIE5vdyBjYWxscyBXZWJQcm9jZXNzUHJveHk6
Om5vdGlmeVBhZ2VTdGF0aXN0aWNzQW5kRGF0YVJlY29yZHNQcm9jZXNzZWQoKQorICAgICAgICAg
ICAgaW4gYSBjYWxsYmFjayBwcm92aWRlZCB0byBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3Rv
cmU6OnJlbW92ZURhdGFSZWNvcmRzKCkuCisKIDIwMTgtMDItMTUgIEpvaG4gV2lsYW5kZXIgIDx3
aWxhbmRlckBhcHBsZS5jb20+CiAKICAgICAgICAgUmVzb3VyY2UgTG9hZCBTdGF0aXN0aWNzOiBN
YWtlIHN1cmUgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjptZXJnZVdpdGhEYXRhRnJv
bURlY29kZXIoKSBjYW4gaW5nZXN0IG9sZGVyIHBsaXN0IHZlcnNpb25zIGFuZCBub3QgcmVzZXQg
dGhlIGRhdGFiYXNlCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzU3RvcmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHAJKHJldmlzaW9uIDIyODU0OCkK
KysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9y
ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE4NSwxMiArMTg1LDE0IEBAIFdlYlJlc291cmNlTG9h
ZFN0YXRpc3RpY3NTdG9yZTo6fldlYlJlc28KICAgICBtX3BlcnNpc3RlbnRTdG9yYWdlLmZpbmlz
aEFsbFBlbmRpbmdXb3JrU3luY2hyb25vdXNseSgpOwogfQogICAgIAotdm9pZCBXZWJSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnJlbW92ZURhdGFSZWNvcmRzKCkKK3ZvaWQgV2ViUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc1N0b3JlOjpyZW1vdmVEYXRhUmVjb3JkcyhDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKCk+JiYgY2FsbGJhY2spCiB7CiAgICAgQVNTRVJUKCFSdW5Mb29wOjppc01haW4oKSk7
CiAgICAgCi0gICAgaWYgKCFzaG91bGRSZW1vdmVEYXRhUmVjb3JkcygpKQorICAgIGlmICghc2hv
dWxkUmVtb3ZlRGF0YVJlY29yZHMoKSkgeworICAgICAgICBjYWxsYmFjaygpOwogICAgICAgICBy
ZXR1cm47CisgICAgfQogCiAjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAgICAgbV9h
Y3RpdmVQbHVnaW5Ub2tlbnMuY2xlYXIoKTsKQEAgLTE5OSwxOSArMjAxLDIyIEBAIHZvaWQgV2Vi
UmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpyZW0KICNlbmRpZgogCiAgICAgYXV0byBwcmV2
YWxlbnRSZXNvdXJjZURvbWFpbnMgPSB0b3BQcml2YXRlbHlDb250cm9sbGVkRG9tYWluc1RvUmVt
b3ZlV2Vic2l0ZURhdGFGb3IoKTsKLSAgICBpZiAocHJldmFsZW50UmVzb3VyY2VEb21haW5zLmlz
RW1wdHkoKSkKKyAgICBpZiAocHJldmFsZW50UmVzb3VyY2VEb21haW5zLmlzRW1wdHkoKSkgewor
ICAgICAgICBjYWxsYmFjaygpOwogICAgICAgICByZXR1cm47Ci0gICAgCisgICAgfQorCiAgICAg
c2V0RGF0YVJlY29yZHNCZWluZ1JlbW92ZWQodHJ1ZSk7CiAKLSAgICBSdW5Mb29wOjptYWluKCku
ZGlzcGF0Y2goW3ByZXZhbGVudFJlc291cmNlRG9tYWlucyA9IGNyb3NzVGhyZWFkQ29weShwcmV2
YWxlbnRSZXNvdXJjZURvbWFpbnMpLCB0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhp
cyldICgpIG11dGFibGUgewotICAgICAgICBXZWJQcm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVE
YXRhRm9yVG9wUHJpdmF0ZWx5Q29udHJvbGxlZERvbWFpbnNJbkFsbFBlcnNpc3RlbnREYXRhU3Rv
cmVzKFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6bW9uaXRvcmVkRGF0YVR5cGVzKCks
IFdURk1vdmUocHJldmFsZW50UmVzb3VyY2VEb21haW5zKSwgbV9wYXJhbWV0ZXJzLnNob3VsZE5v
dGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQsIFt0aGlzLCBwcm90ZWN0ZWRUaGlz
ID0gV1RGTW92ZShwcm90ZWN0ZWRUaGlzKV0oY29uc3QgSGFzaFNldDxTdHJpbmc+JiBkb21haW5z
V2l0aERlbGV0ZWRXZWJzaXRlRGF0YSkgbXV0YWJsZSB7Ci0gICAgICAgICAgICBtX3N0YXRpc3Rp
Y3NRdWV1ZS0+ZGlzcGF0Y2goW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBXVEZNb3ZlKHByb3RlY3Rl
ZFRoaXMpLCB0b3BEb21haW5zID0gY3Jvc3NUaHJlYWRDb3B5KGRvbWFpbnNXaXRoRGVsZXRlZFdl
YnNpdGVEYXRhKV0gKCkgbXV0YWJsZSB7CisgICAgUnVuTG9vcDo6bWFpbigpLmRpc3BhdGNoKFtw
cmV2YWxlbnRSZXNvdXJjZURvbWFpbnMgPSBjcm9zc1RocmVhZENvcHkocHJldmFsZW50UmVzb3Vy
Y2VEb21haW5zKSwgY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKSwgdGhpcywgcHJvdGVjdGVk
VGhpcyA9IG1ha2VSZWYoKnRoaXMpXSAoKSBtdXRhYmxlIHsKKyAgICAgICAgV2ViUHJvY2Vzc1By
b3h5OjpkZWxldGVXZWJzaXRlRGF0YUZvclRvcFByaXZhdGVseUNvbnRyb2xsZWREb21haW5zSW5B
bGxQZXJzaXN0ZW50RGF0YVN0b3JlcyhXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6Om1v
bml0b3JlZERhdGFUeXBlcygpLCBXVEZNb3ZlKHByZXZhbGVudFJlc291cmNlRG9tYWlucyksIG1f
cGFyYW1ldGVycy5zaG91bGROb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkLCBb
Y2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKSwgdGhpcywgcHJvdGVjdGVkVGhpcyA9IFdURk1v
dmUocHJvdGVjdGVkVGhpcyldKGNvbnN0IEhhc2hTZXQ8U3RyaW5nPiYgZG9tYWluc1dpdGhEZWxl
dGVkV2Vic2l0ZURhdGEpIG11dGFibGUgeworICAgICAgICAgICAgbV9zdGF0aXN0aWNzUXVldWUt
PmRpc3BhdGNoKFt0b3BEb21haW5zID0gY3Jvc3NUaHJlYWRDb3B5KGRvbWFpbnNXaXRoRGVsZXRl
ZFdlYnNpdGVEYXRhKSwgY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKSwgdGhpcywgcHJvdGVj
dGVkVGhpcyA9IFdURk1vdmUocHJvdGVjdGVkVGhpcyldICgpIG11dGFibGUgewogICAgICAgICAg
ICAgICAgIGZvciAoYXV0byYgcHJldmFsZW50UmVzb3VyY2VEb21haW4gOiB0b3BEb21haW5zKSB7
CiAgICAgICAgICAgICAgICAgICAgIGF1dG8mIHN0YXRpc3RpYyA9IGVuc3VyZVJlc291cmNlU3Rh
dGlzdGljc0ZvclByaW1hcnlEb21haW4ocHJldmFsZW50UmVzb3VyY2VEb21haW4pOwogICAgICAg
ICAgICAgICAgICAgICArK3N0YXRpc3RpYy5kYXRhUmVjb3Jkc1JlbW92ZWQ7CiAgICAgICAgICAg
ICAgICAgfQogICAgICAgICAgICAgICAgIHNldERhdGFSZWNvcmRzQmVpbmdSZW1vdmVkKGZhbHNl
KTsKKyAgICAgICAgICAgICAgICBjYWxsYmFjaygpOwogICAgICAgICAgICAgfSk7CiAgICAgICAg
IH0pOwogICAgIH0pOwpAQCAtMjY0LDE1ICsyNjksMTcgQEAgdm9pZCBXZWJSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzU3RvcmU6OnBybwogICAgICAgICAgICAgICAgIHNldFByZXZhbGVudFJlc291cmNl
KHJlc291cmNlU3RhdGlzdGljKTsKICAgICAgICAgfQogICAgIH0KLSAgICByZW1vdmVEYXRhUmVj
b3JkcygpOwotCi0gICAgcHJ1bmVTdGF0aXN0aWNzSWZOZWVkZWQoKTsKLQorICAgIAogICAgIGlm
IChtX3BhcmFtZXRlcnMuc2hvdWxkTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5l
ZCkgewotICAgICAgICBSdW5Mb29wOjptYWluKCkuZGlzcGF0Y2goW10gewotICAgICAgICAgICAg
V2ViUHJvY2Vzc1Byb3h5Ojpub3RpZnlQYWdlU3RhdGlzdGljc0FuZERhdGFSZWNvcmRzUHJvY2Vz
c2VkKCk7CisgICAgICAgIHJlbW92ZURhdGFSZWNvcmRzKFtdIHsKKyAgICAgICAgICAgIFJ1bkxv
b3A6Om1haW4oKS5kaXNwYXRjaChbXSB7CisgICAgICAgICAgICAgICAgV2ViUHJvY2Vzc1Byb3h5
Ojpub3RpZnlQYWdlU3RhdGlzdGljc0FuZERhdGFSZWNvcmRzUHJvY2Vzc2VkKCk7CisgICAgICAg
ICAgICB9KTsKICAgICAgICAgfSk7Ci0gICAgfQorICAgIH0gZWxzZQorICAgICAgICByZW1vdmVE
YXRhUmVjb3JkcyhbXSB7IH0pOworCisgICAgcHJ1bmVTdGF0aXN0aWNzSWZOZWVkZWQoKTsKIAog
ICAgIG1fcGVyc2lzdGVudFN0b3JhZ2Uuc2NoZWR1bGVPcldyaXRlTWVtb3J5U3RvcmUoUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlOjpGb3JjZUltbWVkaWF0ZVdyaXRlOjpO
byk7CiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzU3RvcmUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuaAkocmV2aXNpb24gMjI4NTQ4KQorKysgU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmgJKHdvcmtp
bmcgY29weSkKQEAgLTE1MCw3ICsxNTAsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFdlYlJl
c291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZShjb25zdCBTdHJpbmcmLCBGdW5jdGlvbjx2b2lkKGNv
bnN0IFN0cmluZyYpPiYmIHRlc3RpbmdDYWxsYmFjaywgYm9vbCBpc0VwaGVtZXJhbCwgVXBkYXRl
UHJldmFsZW50RG9tYWluc1RvUGFydGl0aW9uT3JCbG9ja0Nvb2tpZXNIYW5kbGVyJiYsIEhhc1N0
b3JhZ2VBY2Nlc3NGb3JGcmFtZUhhbmRsZXImJiwgR3JhbnRTdG9yYWdlQWNjZXNzRm9yRnJhbWVI
YW5kbGVyJiYsIFJlbW92ZVByZXZhbGVudERvbWFpbnNIYW5kbGVyJiYpOwogCi0gICAgdm9pZCBy
ZW1vdmVEYXRhUmVjb3JkcygpOworICAgIHZvaWQgcmVtb3ZlRGF0YVJlY29yZHMoQ29tcGxldGlv
bkhhbmRsZXI8dm9pZCgpPiYmKTsKIAogICAgIC8vIElQQzo6TWVzc2FnZVJlY2VpdmVyCiAgICAg
dm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKSBv
dmVycmlkZTsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIyODU0OCkKKysrIExheW91dFRlc3RzL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDE4LTAyLTE1ICBKb2huIFdp
bGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgorCisgICAgICAgIE1ha2UgV2ViUmVzb3VyY2VM
b2FkU3RhdGlzdGljc1N0b3JlOjpwcm9jZXNzU3RhdGlzdGljc0FuZERhdGFSZWNvcmRzKCkgY2Fs
bCBXZWJQcm9jZXNzUHJveHk6Om5vdGlmeVBhZ2VTdGF0aXN0aWNzQW5kRGF0YVJlY29yZHNQcm9j
ZXNzZWQoKSBpbiBhIHByb3BlciBjYWxsYmFjaworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgyNzE5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zNzUx
NzM3MD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IHBsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgICAgIE1hcmtlZCBo
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcGFydGl0aW9uZWQtYW5kLXVucGFydGl0
aW9uZWQtY29va2llLWRlbGV0aW9uLmh0bWwKKyAgICAgICAgICAgIGFzIFsgUGFzcyBdLgorICAg
ICAgICAqIHBsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAgICAgTWFya2Vk
IGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGVhci1pbi1tZW1vcnktYW5kLXBl
cnNpc3RlbnQtc3RvcmUuaHRtbAorICAgICAgICAgICAgYXMgWyBQYXNzIF0uIFRoaXMgc2hvdWxk
IGhhdmUgYmVlbiBkb25lIGFscmVhZHkgaW4gcjIyNzIyMzoKKyAgICAgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODE4MjIKKwogMjAxOC0wMi0xNSAgUnlh
biBIYWRkYWQgIDxyeWFuaGFkZGFkQGFwcGxlLmNvbT4KIAogICAgICAgICBNYXJrIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jl
Z2lzdGVyLWNsb3NlZC13aW5kb3cuaHR0cHMuaHRtbCBhcyBmbGFreS4KSW5kZXg6IExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMJKHJldmlzaW9uIDIyODU0
OCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucwkod29y
a2luZyBjb3B5KQpAQCAtODAzLDcgKzgwMyw3IEBAIHdlYmtpdC5vcmcvYi8xNzYxMjIgbWVkaWEv
dmlkZW8tY29udHJvbHMKIFsgSGlnaFNpZXJyYSsgXSBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvcGFydGl0aW9uZWQtY29va2llcy13aXRoLWFuZC13aXRob3V0LXVzZXItaW50ZXJh
Y3Rpb24uaHRtbCBbIFBhc3MgXQogWyBIaWdoU2llcnJhKyBdIGh0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9wYXJ0aXRpb25lZC1hbmQtdW5wYXJ0aXRpb25lZC1jb29raWUtd2l0aC1w
YXJ0aXRpb25pbmctdGltZW91dC5odG1sIFsgUGFzcyBdCiBbIEhpZ2hTaWVycmErIF0gaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RoaXJkLXBhcnR5LWNvb2tpZS13aXRoLWFuZC13
aXRob3V0LXVzZXItaW50ZXJhY3Rpb24uaHRtbCBbIFBhc3MgXQotWyBIaWdoU2llcnJhKyBdIGh0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wYXJ0aXRpb25lZC1hbmQtdW5wYXJ0aXRp
b25lZC1jb29raWUtZGVsZXRpb24uaHRtbCBbIFBhc3MgRmFpbHVyZSBdCitbIEhpZ2hTaWVycmEr
IF0gaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3BhcnRpdGlvbmVkLWFuZC11bnBh
cnRpdGlvbmVkLWNvb2tpZS1kZWxldGlvbi5odG1sIFsgUGFzcyBdCiBbIEhpZ2hTaWVycmErIF0g
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1wcmV2YWxlbnQtcmVzb3VyY2Vz
LWNhbi1hY2Nlc3MtY29va2llcy1pbi1hLXRoaXJkLXBhcnR5LWNvbnRleHQuaHRtbCBbIFBhc3Mg
XQogWyBIaWdoU2llcnJhKyBdIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9hZGQt
cGFydGl0aW9uaW5nLXRvLXJlZGlyZWN0Lmh0bWwgWyBQYXNzIF0KIFsgSGlnaFNpZXJyYSsgXSBo
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvYWRkLWJsb2NraW5nLXRvLXJlZGlyZWN0
Lmh0bWwgWyBQYXNzIF0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0RXhwZWN0
YXRpb25zCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0RXhwZWN0
YXRpb25zCShyZXZpc2lvbiAyMjg1NDgpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvVGVz
dEV4cGVjdGF0aW9ucwkod29ya2luZyBjb3B5KQpAQCAtNjkyLDcgKzY5Miw3IEBAIGh0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2kKIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtcmVk
aXJlY3QtY29sbHVzaW9uLmh0bWwgWyBQYXNzIF0KIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tdG9wLWZyYW1lLXJlZGlyZWN0
LWNvbGx1c2lvbi5odG1sIFsgUGFzcyBdCiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXRvcC1mcmFtZS11bmlxdWUtcmVkaXJl
Y3RzLXRvLmh0bWwgWyBQYXNzIF0KLXdlYmtpdC5vcmcvYi8xODEyMjMgaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL2NsZWFyLWluLW1lbW9yeS1hbmQtcGVyc2lzdGVudC1zdG9yZS5o
dG1sIFsgU2tpcCBdCitodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xlYXItaW4t
bWVtb3J5LWFuZC1wZXJzaXN0ZW50LXN0b3JlLmh0bWwgWyBQYXNzIF0KIGh0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9ncmFuZGZhdGhlcmluZy5odG1sIFsgUGFzcyBdCiB3ZWJraXQu
b3JnL2IvMTgwNzAzIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy90ZWxlbWV0cnkt
Z2VuZXJhdGlvbi5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9wcnVuZS1zdGF0aXN0aWNzLmh0bWwgWyBQYXNzIF0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>334165</attachid>
            <date>2018-02-19 10:20:12 -0800</date>
            <delta_ts>2018-02-20 11:27:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182719-20180219102012.patch</filename>
            <type>text/plain</type>
            <size>10064</size>
            <attacher name="John Wilander">wilander</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMjg2OTQpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBACisyMDE4LTAyLTE5ICBKb2huIFdpbGFu
ZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgorCisgICAgICAgIE1ha2UgV2ViUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc1N0b3JlOjpwcm9jZXNzU3RhdGlzdGljc0FuZERhdGFSZWNvcmRzKCkgY2FsbCBX
ZWJQcm9jZXNzUHJveHk6Om5vdGlmeVBhZ2VTdGF0aXN0aWNzQW5kRGF0YVJlY29yZHNQcm9jZXNz
ZWQoKSBpbiBhIHByb3BlciBjYWxsYmFjaworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTgyNzE5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zNzUxNzM3
MD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlz
IHdpbGwgYWxsb3cgdGhlIHBhZ2Ugbm90aWZpY2F0aW9uLCBzdGF0aXN0aWNzIHBydW5pbmcsIGFu
ZCBwZXJzaXN0ZW5jZSB3cml0ZQorICAgICAgICB0byBiZSBkb25lIGF0IHRoZSByaWdodCB0aW1l
IGFuZCBob3BlZnVsbHkgc3RhYmlsaXplIHRoZSBsYXlvdXQgdGVzdHMgaW5jbHVkaW5nOgorICAg
ICAgICBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcGFydGl0aW9uZWQtYW5kLXVu
cGFydGl0aW9uZWQtY29va2llLWRlbGV0aW9uLmh0bWwKKworICAgICAgICAqIFVJUHJvY2Vzcy9X
ZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnJlbW92ZURhdGFSZWNvcmRzKToKKyAgICAgICAg
ICAgIE5vdyB0YWtlcyBhIGNhbGxiYWNrIHBhcmFtZXRlci4KKyAgICAgICAgKFdlYktpdDo6V2Vi
UmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpwcm9jZXNzU3RhdGlzdGljc0FuZERhdGFSZWNv
cmRzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3Jl
Lmg6CisgICAgICAgICAgICBOb3cgY2FsbHMgV2ViUHJvY2Vzc1Byb3h5Ojpub3RpZnlQYWdlU3Rh
dGlzdGljc0FuZERhdGFSZWNvcmRzUHJvY2Vzc2VkKCkKKyAgICAgICAgICAgIGluIGEgY2FsbGJh
Y2sgcHJvdmlkZWQgdG8gV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpyZW1vdmVEYXRh
UmVjb3JkcygpLgorCiAyMDE4LTAyLTE5ICBNczJnZXIgIDxNczJnZXJAaWdhbGlhLmNvbT4KIAog
ICAgICAgICBFeHBsaWNpdGx5IHF1YWxpZnkgc29tZSBtZXRob2QgY2FsbHMgb24gdGhpcyBpbiBs
YW1kYXMgaW4gU2VydmljZSBXb3JrZXIgY29kZS4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmNwcAko
cmV2aXNpb24gMjI4NTQ4KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUmVzb3VyY2VM
b2FkU3RhdGlzdGljc1N0b3JlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTg1LDEyICsxODUsMTQg
QEAgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjp+V2ViUmVzbwogICAgIG1fcGVyc2lz
dGVudFN0b3JhZ2UuZmluaXNoQWxsUGVuZGluZ1dvcmtTeW5jaHJvbm91c2x5KCk7CiB9CiAgICAg
Ci12b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6cmVtb3ZlRGF0YVJlY29yZHMo
KQordm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnJlbW92ZURhdGFSZWNvcmRz
KENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjYWxsYmFjaykKIHsKICAgICBBU1NFUlQoIVJ1
bkxvb3A6OmlzTWFpbigpKTsKICAgICAKLSAgICBpZiAoIXNob3VsZFJlbW92ZURhdGFSZWNvcmRz
KCkpCisgICAgaWYgKCFzaG91bGRSZW1vdmVEYXRhUmVjb3JkcygpKSB7CisgICAgICAgIGNhbGxi
YWNrKCk7CiAgICAgICAgIHJldHVybjsKKyAgICB9CiAKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExV
R0lOX0FQSSkKICAgICBtX2FjdGl2ZVBsdWdpblRva2Vucy5jbGVhcigpOwpAQCAtMTk5LDE5ICsy
MDEsMjIgQEAgdm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnJlbQogI2VuZGlm
CiAKICAgICBhdXRvIHByZXZhbGVudFJlc291cmNlRG9tYWlucyA9IHRvcFByaXZhdGVseUNvbnRy
b2xsZWREb21haW5zVG9SZW1vdmVXZWJzaXRlRGF0YUZvcigpOwotICAgIGlmIChwcmV2YWxlbnRS
ZXNvdXJjZURvbWFpbnMuaXNFbXB0eSgpKQorICAgIGlmIChwcmV2YWxlbnRSZXNvdXJjZURvbWFp
bnMuaXNFbXB0eSgpKSB7CisgICAgICAgIGNhbGxiYWNrKCk7CiAgICAgICAgIHJldHVybjsKLSAg
ICAKKyAgICB9CisKICAgICBzZXREYXRhUmVjb3Jkc0JlaW5nUmVtb3ZlZCh0cnVlKTsKIAotICAg
IFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRjaChbcHJldmFsZW50UmVzb3VyY2VEb21haW5zID0gY3Jv
c3NUaHJlYWRDb3B5KHByZXZhbGVudFJlc291cmNlRG9tYWlucyksIHRoaXMsIHByb3RlY3RlZFRo
aXMgPSBtYWtlUmVmKCp0aGlzKV0gKCkgbXV0YWJsZSB7Ci0gICAgICAgIFdlYlByb2Nlc3NQcm94
eTo6ZGVsZXRlV2Vic2l0ZURhdGFGb3JUb3BQcml2YXRlbHlDb250cm9sbGVkRG9tYWluc0luQWxs
UGVyc2lzdGVudERhdGFTdG9yZXMoV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjptb25p
dG9yZWREYXRhVHlwZXMoKSwgV1RGTW92ZShwcmV2YWxlbnRSZXNvdXJjZURvbWFpbnMpLCBtX3Bh
cmFtZXRlcnMuc2hvdWxkTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZCwgW3Ro
aXMsIHByb3RlY3RlZFRoaXMgPSBXVEZNb3ZlKHByb3RlY3RlZFRoaXMpXShjb25zdCBIYXNoU2V0
PFN0cmluZz4mIGRvbWFpbnNXaXRoRGVsZXRlZFdlYnNpdGVEYXRhKSBtdXRhYmxlIHsKLSAgICAg
ICAgICAgIG1fc3RhdGlzdGljc1F1ZXVlLT5kaXNwYXRjaChbdGhpcywgcHJvdGVjdGVkVGhpcyA9
IFdURk1vdmUocHJvdGVjdGVkVGhpcyksIHRvcERvbWFpbnMgPSBjcm9zc1RocmVhZENvcHkoZG9t
YWluc1dpdGhEZWxldGVkV2Vic2l0ZURhdGEpXSAoKSBtdXRhYmxlIHsKKyAgICBSdW5Mb29wOjpt
YWluKCkuZGlzcGF0Y2goW3ByZXZhbGVudFJlc291cmNlRG9tYWlucyA9IGNyb3NzVGhyZWFkQ29w
eShwcmV2YWxlbnRSZXNvdXJjZURvbWFpbnMpLCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2sp
LCB0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyldICgpIG11dGFibGUgeworICAg
ICAgICBXZWJQcm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhRm9yVG9wUHJpdmF0ZWx5Q29u
dHJvbGxlZERvbWFpbnNJbkFsbFBlcnNpc3RlbnREYXRhU3RvcmVzKFdlYlJlc291cmNlTG9hZFN0
YXRpc3RpY3NTdG9yZTo6bW9uaXRvcmVkRGF0YVR5cGVzKCksIFdURk1vdmUocHJldmFsZW50UmVz
b3VyY2VEb21haW5zKSwgbV9wYXJhbWV0ZXJzLnNob3VsZE5vdGlmeVBhZ2VzV2hlbkRhdGFSZWNv
cmRzV2VyZVNjYW5uZWQsIFtjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spLCB0aGlzLCBwcm90
ZWN0ZWRUaGlzID0gV1RGTW92ZShwcm90ZWN0ZWRUaGlzKV0oY29uc3QgSGFzaFNldDxTdHJpbmc+
JiBkb21haW5zV2l0aERlbGV0ZWRXZWJzaXRlRGF0YSkgbXV0YWJsZSB7CisgICAgICAgICAgICBt
X3N0YXRpc3RpY3NRdWV1ZS0+ZGlzcGF0Y2goW3RvcERvbWFpbnMgPSBjcm9zc1RocmVhZENvcHko
ZG9tYWluc1dpdGhEZWxldGVkV2Vic2l0ZURhdGEpLCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJh
Y2spLCB0aGlzLCBwcm90ZWN0ZWRUaGlzID0gV1RGTW92ZShwcm90ZWN0ZWRUaGlzKV0gKCkgbXV0
YWJsZSB7CiAgICAgICAgICAgICAgICAgZm9yIChhdXRvJiBwcmV2YWxlbnRSZXNvdXJjZURvbWFp
biA6IHRvcERvbWFpbnMpIHsKICAgICAgICAgICAgICAgICAgICAgYXV0byYgc3RhdGlzdGljID0g
ZW5zdXJlUmVzb3VyY2VTdGF0aXN0aWNzRm9yUHJpbWFyeURvbWFpbihwcmV2YWxlbnRSZXNvdXJj
ZURvbWFpbik7CiAgICAgICAgICAgICAgICAgICAgICsrc3RhdGlzdGljLmRhdGFSZWNvcmRzUmVt
b3ZlZDsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgc2V0RGF0YVJlY29yZHNC
ZWluZ1JlbW92ZWQoZmFsc2UpOworICAgICAgICAgICAgICAgIGNhbGxiYWNrKCk7CiAgICAgICAg
ICAgICB9KTsKICAgICAgICAgfSk7CiAgICAgfSk7CkBAIC0yNjQsMTcgKzI2OSwyNiBAQCB2b2lk
IFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6cHJvCiAgICAgICAgICAgICAgICAgc2V0
UHJldmFsZW50UmVzb3VyY2UocmVzb3VyY2VTdGF0aXN0aWMpOwogICAgICAgICB9CiAgICAgfQot
ICAgIHJlbW92ZURhdGFSZWNvcmRzKCk7CisgICAgCisgICAgaWYgKG1fcGFyYW1ldGVycy5zaG91
bGROb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKSB7CisgICAgICAgIHJlbW92
ZURhdGFSZWNvcmRzKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyldIHsKKyAg
ICAgICAgICAgIEFTU0VSVCghUnVuTG9vcDo6aXNNYWluKCkpOwogCi0gICAgcHJ1bmVTdGF0aXN0
aWNzSWZOZWVkZWQoKTsKKyAgICAgICAgICAgIHBydW5lU3RhdGlzdGljc0lmTmVlZGVkKCk7Cisg
ICAgICAgICAgICBtX3BlcnNpc3RlbnRTdG9yYWdlLnNjaGVkdWxlT3JXcml0ZU1lbW9yeVN0b3Jl
KFJlc291cmNlTG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZTo6Rm9yY2VJbW1lZGlhdGVX
cml0ZTo6Tm8pOwogCi0gICAgaWYgKG1fcGFyYW1ldGVycy5zaG91bGROb3RpZnlQYWdlc1doZW5E
YXRhUmVjb3Jkc1dlcmVTY2FubmVkKSB7Ci0gICAgICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRj
aChbXSB7Ci0gICAgICAgICAgICBXZWJQcm9jZXNzUHJveHk6Om5vdGlmeVBhZ2VTdGF0aXN0aWNz
QW5kRGF0YVJlY29yZHNQcm9jZXNzZWQoKTsKKyAgICAgICAgICAgIFJ1bkxvb3A6Om1haW4oKS5k
aXNwYXRjaChbXSB7CisgICAgICAgICAgICAgICAgV2ViUHJvY2Vzc1Byb3h5Ojpub3RpZnlQYWdl
U3RhdGlzdGljc0FuZERhdGFSZWNvcmRzUHJvY2Vzc2VkKCk7CisgICAgICAgICAgICB9KTsKICAg
ICAgICAgfSk7Ci0gICAgfQorICAgIH0gZWxzZSB7CisgICAgICAgIHJlbW92ZURhdGFSZWNvcmRz
KFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyldIHsKKyAgICAgICAgICAgIEFT
U0VSVCghUnVuTG9vcDo6aXNNYWluKCkpOwogCi0gICAgbV9wZXJzaXN0ZW50U3RvcmFnZS5zY2hl
ZHVsZU9yV3JpdGVNZW1vcnlTdG9yZShSZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGVyc2lzdGVudFN0
b3JhZ2U6OkZvcmNlSW1tZWRpYXRlV3JpdGU6Ok5vKTsKKyAgICAgICAgICAgIHBydW5lU3RhdGlz
dGljc0lmTmVlZGVkKCk7CisgICAgICAgICAgICBtX3BlcnNpc3RlbnRTdG9yYWdlLnNjaGVkdWxl
T3JXcml0ZU1lbW9yeVN0b3JlKFJlc291cmNlTG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFn
ZTo6Rm9yY2VJbW1lZGlhdGVXcml0ZTo6Tm8pOworICAgICAgICB9KTsKKyAgICB9CiB9CiAKIHZv
aWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpyZXNvdXJjZUxvYWRTdGF0aXN0aWNz
VXBkYXRlZChWZWN0b3I8V2ViQ29yZTo6UmVzb3VyY2VMb2FkU3RhdGlzdGljcz4mJiBvcmlnaW5z
KQpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c1N0b3JlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc1N0b3JlLmgJKHJldmlzaW9uIDIyODU0OCkKKysrIFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oCSh3b3JraW5nIGNv
cHkpCkBAIC0xNTAsNyArMTUwLDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBXZWJSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzU3RvcmUoY29uc3QgU3RyaW5nJiwgRnVuY3Rpb248dm9pZChjb25zdCBT
dHJpbmcmKT4mJiB0ZXN0aW5nQ2FsbGJhY2ssIGJvb2wgaXNFcGhlbWVyYWwsIFVwZGF0ZVByZXZh
bGVudERvbWFpbnNUb1BhcnRpdGlvbk9yQmxvY2tDb29raWVzSGFuZGxlciYmLCBIYXNTdG9yYWdl
QWNjZXNzRm9yRnJhbWVIYW5kbGVyJiYsIEdyYW50U3RvcmFnZUFjY2Vzc0ZvckZyYW1lSGFuZGxl
ciYmLCBSZW1vdmVQcmV2YWxlbnREb21haW5zSGFuZGxlciYmKTsKIAotICAgIHZvaWQgcmVtb3Zl
RGF0YVJlY29yZHMoKTsKKyAgICB2b2lkIHJlbW92ZURhdGFSZWNvcmRzKENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoKT4mJik7CiAKICAgICAvLyBJUEM6Ok1lc3NhZ2VSZWNlaXZlcgogICAgIHZvaWQg
ZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJikgb3ZlcnJp
ZGU7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMjg2OTQpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOSBAQAorMjAxOC0wMi0xOSAgSm9obiBXaWxhbmRl
ciAgPHdpbGFuZGVyQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIFdlYlJlc291cmNlTG9hZFN0
YXRpc3RpY3NTdG9yZTo6cHJvY2Vzc1N0YXRpc3RpY3NBbmREYXRhUmVjb3JkcygpIGNhbGwgV2Vi
UHJvY2Vzc1Byb3h5Ojpub3RpZnlQYWdlU3RhdGlzdGljc0FuZERhdGFSZWNvcmRzUHJvY2Vzc2Vk
KCkgaW4gYSBwcm9wZXIgY2FsbGJhY2sKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE4MjcxOQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzc1MTczNzA+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICAgICBNYXJrZWQgaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3BhcnRpdGlvbmVkLWFuZC11bnBhcnRpdGlvbmVk
LWNvb2tpZS1kZWxldGlvbi5odG1sCisgICAgICAgICAgICBhcyBbIFBhc3MgXS4KKyAgICAgICAg
KiBwbGF0Zm9ybS93azIvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgICAgIE1hcmtlZCBodHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xlYXItaW4tbWVtb3J5LWFuZC1wZXJzaXN0
ZW50LXN0b3JlLmh0bWwKKyAgICAgICAgICAgIGFzIFsgUGFzcyBdLiBUaGlzIHNob3VsZCBoYXZl
IGJlZW4gZG9uZSBhbHJlYWR5IGluIHIyMjcyMjM6CisgICAgICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgxODIyCisKIDIwMTgtMDItMTkgIEZyZWRlcmlj
IFdhbmcgIDxmd2FuZ0BpZ2FsaWEuY29tPgogCiAgICAgICAgIElGcmFtZSBpcyByZXNpemVkIGlu
Y29ycmVjdGx5IG9uIG9yaWVudGF0aW9uIGNoYW5nZQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucwkocmV2aXNpb24gMjI4NTQ4KQorKysgTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCSh3b3JraW5nIGNvcHkp
CkBAIC04MDMsNyArODAzLDcgQEAgd2Via2l0Lm9yZy9iLzE3NjEyMiBtZWRpYS92aWRlby1jb250
cm9scwogWyBIaWdoU2llcnJhKyBdIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9w
YXJ0aXRpb25lZC1jb29raWVzLXdpdGgtYW5kLXdpdGhvdXQtdXNlci1pbnRlcmFjdGlvbi5odG1s
IFsgUGFzcyBdCiBbIEhpZ2hTaWVycmErIF0gaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL3BhcnRpdGlvbmVkLWFuZC11bnBhcnRpdGlvbmVkLWNvb2tpZS13aXRoLXBhcnRpdGlvbmlu
Zy10aW1lb3V0Lmh0bWwgWyBQYXNzIF0KIFsgSGlnaFNpZXJyYSsgXSBodHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvdGhpcmQtcGFydHktY29va2llLXdpdGgtYW5kLXdpdGhvdXQtdXNl
ci1pbnRlcmFjdGlvbi5odG1sIFsgUGFzcyBdCi1bIEhpZ2hTaWVycmErIF0gaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3BhcnRpdGlvbmVkLWFuZC11bnBhcnRpdGlvbmVkLWNvb2tp
ZS1kZWxldGlvbi5odG1sIFsgUGFzcyBGYWlsdXJlIF0KK1sgSGlnaFNpZXJyYSsgXSBodHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcGFydGl0aW9uZWQtYW5kLXVucGFydGl0aW9uZWQt
Y29va2llLWRlbGV0aW9uLmh0bWwgWyBQYXNzIF0KIFsgSGlnaFNpZXJyYSsgXSBodHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXByZXZhbGVudC1yZXNvdXJjZXMtY2FuLWFjY2Vz
cy1jb29raWVzLWluLWEtdGhpcmQtcGFydHktY29udGV4dC5odG1sIFsgUGFzcyBdCiBbIEhpZ2hT
aWVycmErIF0gaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2FkZC1wYXJ0aXRpb25p
bmctdG8tcmVkaXJlY3QuaHRtbCBbIFBhc3MgXQogWyBIaWdoU2llcnJhKyBdIGh0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9hZGQtYmxvY2tpbmctdG8tcmVkaXJlY3QuaHRtbCBbIFBh
c3MgXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnMJKHJl
dmlzaW9uIDIyODU0OCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRp
b25zCSh3b3JraW5nIGNvcHkpCkBAIC02OTIsNyArNjkyLDcgQEAgaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL2NsYXNzaQogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS1yZWRpcmVjdC1jb2xs
dXNpb24uaHRtbCBbIFBhc3MgXQogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Ns
YXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi10b3AtZnJhbWUtcmVkaXJlY3QtY29sbHVzaW9u
Lmh0bWwgWyBQYXNzIF0KIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lm
eS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tdG9wLWZyYW1lLXVuaXF1ZS1yZWRpcmVjdHMtdG8uaHRt
bCBbIFBhc3MgXQotd2Via2l0Lm9yZy9iLzE4MTIyMyBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvY2xlYXItaW4tbWVtb3J5LWFuZC1wZXJzaXN0ZW50LXN0b3JlLmh0bWwgWyBTa2lw
IF0KK2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGVhci1pbi1tZW1vcnktYW5k
LXBlcnNpc3RlbnQtc3RvcmUuaHRtbCBbIFBhc3MgXQogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2dyYW5kZmF0aGVyaW5nLmh0bWwgWyBQYXNzIF0KIHdlYmtpdC5vcmcvYi8xODA3
MDMgaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RlbGVtZXRyeS1nZW5lcmF0aW9u
Lmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L3BydW5lLXN0YXRpc3RpY3MuaHRtbCBbIFBhc3MgXQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>