<?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>200134</bug_id>
          
          <creation_ts>2019-07-25 12:53:08 -0700</creation_ts>
          <short_desc>results.webkit.org: Add switch to filter results by expectation</short_desc>
          <delta_ts>2019-07-29 09:27:28 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>WebKit 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="Jonathan Bedard">jbedard</reporter>
          <assigned_to name="Jonathan Bedard">jbedard</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dewei_zhu</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>tsavell</cc>
    
    <cc>zhifei_fang</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1555873</commentid>
    <comment_count>0</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2019-07-25 12:53:08 -0700</bug_when>
    <thetext>Users of the results database should be able to filter results by whether or not a negative expectation is expected or not. In an effort to support this, we also need to re-write the descriptions in the Legend so that they the descriptions match what the timeline is displaying.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555875</commentid>
    <comment_count>1</comment_count>
      <attachid>374899</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2019-07-25 13:02:53 -0700</bug_when>
    <thetext>Created attachment 374899
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1556163</commentid>
    <comment_count>2</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2019-07-26 11:20:47 -0700</bug_when>
    <thetext>Zhifei, can you please review this one?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1556185</commentid>
    <comment_count>3</comment_count>
      <attachid>374899</attachid>
    <who name="Zhifei Fang">zhifei_fang</who>
    <bug_when>2019-07-26 11:53:15 -0700</bug_when>
    <thetext>Comment on attachment 374899
Patch

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

&gt; Tools/resultsdbpy/resultsdbpy/view/static/js/timeline.js:612
&gt; +    const successLabel = REF.createRef({

You can make all this ref and &lt;div class=&quot;label&quot; ref=&quot;${...}&quot;&gt;&lt;/div&gt; to a function, so that you don&apos;t need to repeatedly create the ref. 


You can use an event to let sub component update its state:

function LegnedLabel(event, willFilterExpected, filterExpectedText, filterUnexpectedText) {
    const ref = REF.createRef({
        state: willFilterExpected,
        onStateUpdate: (element, state) =&gt; {
            if (state) element.innerText = filterExpectedText;
            else element.innerText = filterUnExpectedText;
        }
    });
    event.action((willFilterExpected) =&gt; ref.setState(willFilterExpected));
   return &apos;&lt;div class=&quot;label&quot; ref=&quot;${ref}&quot;&gt;&lt;/div&gt;&apos;;
} 

then in legend 

function Legend(callback=null, plural=false) {
    let updateLabelsEs = new EventStream();
    const swtch = REF.createRef({
        onElementMount: (element) =&gt; {
            element.onchange = () =&gt; {
                if (element.checked)
                    willFilterExpected = true;
                else
                    willFilterExpected = false;
                updateLabelsEs.add(willFilterExpected);
                if (callback)
                    callback();
            };
        },
    });
    let result = `&lt;br&gt;
         &lt;div class=&quot;lengend timeline&quot;&gt;
            &lt;div class=&quot;item&quot;&gt;
                &lt;div class=&quot;dot success&quot;&gt;&lt;/div&gt;
                ${LegnedLabel(updateLabelsEs, plural ? &apos;No unexpected results&apos; : &apos;Result expected&apos;, plural ? &apos;All tests passed&apos; : &apos;Test passed&apos;)}
            &lt;/div&gt;
            &lt;div class=&quot;item&quot;&gt;
                &lt;div class=&quot;dot failed&quot;&gt;&lt;/div&gt;
                ${LegnedLabel(updateLabelsEs, plural ? &apos;Some tests unexpectedly failed&apos; : &apos;Unexpectedly failed&apos;, plural ? &apos;Some tests failed&apos; : &apos;Test failed&apos;)}
            &lt;/div&gt;
            &lt;div class=&quot;item&quot;&gt;
                &lt;div class=&quot;dot timeout&quot;&gt;&lt;/div&gt;
                ${LegnedLabel(updateLabelsEs, plural ? &apos;Some tests unexpectedly timed out&apos; : &apos;Unexpectedly timed out&apos;, plural ? &apos;Some tests timed out&apos; : &apos;Test timed out&apos;)}
            &lt;/div&gt;
            &lt;div class=&quot;item&quot;&gt;
                &lt;div class=&quot;dot crash&quot;&gt;&lt;/div&gt;
                ${LegnedLabel(updateLabelsEs, plural ? &apos;Some tests unexpectedly crashed&apos; : &apos;Unexpectedly crashed&apos;, plural ? &apos;Some tests crashed&apos; : &apos;Test crashed&apos;)}
            &lt;/div&gt;
            &lt;br&gt;
        &lt;/div&gt;`;

    if (callback)
         result += `&lt;div class=&quot;input&quot; style=&quot;width:400px&quot;&gt;
             &lt;label&gt;Filter expected results&lt;/label&gt;
             &lt;label class=&quot;switch&quot;&gt;
                 &lt;input type=&quot;checkbox&quot;${willFilterExpected ? &apos; checked&apos;: &apos;&apos;} ref=&quot;${swtch}&quot;&gt;
                 &lt;span class=&quot;slider&quot;&gt;&lt;/span&gt;
             &lt;/label&gt;
         &lt;/div&gt;`;
    return `&lt;div class=&quot;content&quot;&gt;${result}&lt;/div&gt;&lt;br&gt;`;
}

&gt; Tools/resultsdbpy/resultsdbpy/view/static/js/timeline.js:616
&gt; +                element.innerHTML = plural ? &apos;No unexpected results&apos; : &apos;Result expected&apos;;

Use innerText, since we don&apos;t need to render any HTML here.

&gt; Tools/resultsdbpy/resultsdbpy/view/static/js/timeline.js:659
&gt; +                callback();

We need to check if callback is null before call it</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1556206</commentid>
    <comment_count>4</comment_count>
      <attachid>374982</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2019-07-26 12:50:59 -0700</bug_when>
    <thetext>Created attachment 374982
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1556222</commentid>
    <comment_count>5</comment_count>
    <who name="Zhifei Fang">zhifei_fang</who>
    <bug_when>2019-07-26 13:35:10 -0700</bug_when>
    <thetext>r=me, will need aakashjain to make it real.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1556223</commentid>
    <comment_count>6</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2019-07-26 13:35:47 -0700</bug_when>
    <thetext>rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1556231</commentid>
    <comment_count>7</comment_count>
      <attachid>374988</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2019-07-26 13:55:42 -0700</bug_when>
    <thetext>Created attachment 374988
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1556239</commentid>
    <comment_count>8</comment_count>
      <attachid>374988</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-07-26 14:23:39 -0700</bug_when>
    <thetext>Comment on attachment 374988
Patch

Clearing flags on attachment: 374988

Committed r247877: &lt;https://trac.webkit.org/changeset/247877&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1556240</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-07-26 14:23:40 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1556585</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-07-29 09:27:28 -0700</bug_when>
    <thetext>&lt;rdar://problem/53664608&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>374899</attachid>
            <date>2019-07-25 13:02:53 -0700</date>
            <delta_ts>2019-07-26 12:50:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-200134-20190725130252.patch</filename>
            <type>text/plain</type>
            <size>9728</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI0NzgzNSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE5IEBACisyMDE5LTA3LTI1ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICByZXN1bHRzLndlYmtpdC5vcmc6IEFkZCBzd2l0Y2ggdG8gZmlsdGVyIHJl
c3VsdHMgYnkgZXhwZWN0YXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwMDEzNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFVzZXJzIG9mIHRoZSByZXN1bHRzIGRhdGFiYXNlIHNob3VsZCBiZSBhYmxl
IHRvIGVhc2lseSBkaWZmZXJlbnRpYXRlIHRlc3RzIHdoaWNoIGFyZSBleHBlY3RlZAorICAgICAg
ICB0byBmYWlsIHZlcnNlIHRlc3RzIHdoaWNoIGFyZSB1bmV4cGVjdGVkbHkgZmFpbGluZy4KKwor
ICAgICAgICAqIHJlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5L3ZpZXcvc3RhdGljL2pzL3RpbWVsaW5l
LmpzOgorICAgICAgICAoVGltZWxpbmUucmVuZGVyKTogUmVzcGVjdCB0aGUgd2lsbEZpbHRlckV4
cGVjdGVkIHZhcmlhYmxlLgorICAgICAgICAoTGVnZW5kKTogQWRkIHN3aXRjaCBmb3IgZmlsdGVy
IHJlc3VsdHMuCisgICAgICAgICogcmVzdWx0c2RicHkvcmVzdWx0c2RicHkvdmlldy90ZW1wbGF0
ZXMvc2VhcmNoLmh0bWw6IEdJdmUgTGVnZW5kIGNhbGxiYWNrIHRvIHJlLXJlbmRlciB0aW1lbGlu
ZXMuCisgICAgICAgICogcmVzdWx0c2RicHkvcmVzdWx0c2RicHkvdmlldy90ZW1wbGF0ZXMvc3Vp
dGVfcmVzdWx0cy5odG1sOgorCiAyMDE5LTA3LTI1ICBaaGlmZWkgRmFuZyAgPHpoaWZlaV9mYW5n
QGFwcGxlLmNvbT4KIAogICAgICAgICBbVGltZWxpbmVdOiBNYWtlIHRpbWVsaW5lIGhlYWRlciB3
aWR0aCBhdXRvbWF0aWMsIGluc3RlYWQgb2YgZml4ZWQgd2lkdGgKSW5kZXg6IFRvb2xzL3Jlc3Vs
dHNkYnB5L3Jlc3VsdHNkYnB5L3ZpZXcvc3RhdGljL2pzL3RpbWVsaW5lLmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFRvb2xzL3Jlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5L3ZpZXcvc3RhdGljL2pzL3RpbWVsaW5l
LmpzCShyZXZpc2lvbiAyNDc4MjIpCisrKyBUb29scy9yZXN1bHRzZGJweS9yZXN1bHRzZGJweS92
aWV3L3N0YXRpYy9qcy90aW1lbGluZS5qcwkod29ya2luZyBjb3B5KQpAQCAtNjksNiArNjksNyBA
QCBjbGFzcyBFeHBlY3RhdGlvbnMKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9CiB9Cits
ZXQgd2lsbEZpbHRlckV4cGVjdGVkID0gZmFsc2U7CiAKIGZ1bmN0aW9uIHRpY2tGb3JDb21taXQo
Y29tbWl0LCBzY2FsZSkgewogICAgIGxldCBwYXJhbXMgPSB7CkBAIC01MzgsMTcgKzUzOSwxOSBA
QCBjbGFzcyBUaW1lbGluZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
ZiAocGFpckZvckluZGV4LnJlc3VsdHNbcmVzdWx0SW5kZXhdLnN0YXRzKQogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvdHNbY29uZmlndXJhdGlvbktleV0ucHVzaChu
ZXcgRG90KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWly
Rm9ySW5kZXgucmVzdWx0c1tyZXN1bHRJbmRleF0uc3RhdHMudGVzdHNfcnVuLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWlyRm9ySW5kZXgucmVzdWx0c1ty
ZXN1bHRJbmRleF0uc3RhdHMudGVzdHNfdW5leHBlY3RlZF9mYWlsZWQsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhaXJGb3JJbmRleC5yZXN1bHRzW3Jlc3Vs
dEluZGV4XS5zdGF0cy50ZXN0c191bmV4cGVjdGVkX3RpbWVkb3V0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWlyRm9ySW5kZXgucmVzdWx0c1tyZXN1bHRJ
bmRleF0uc3RhdHMudGVzdHNfdW5leHBlY3RlZF9jcmFzaGVkLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwYWlyRm9ySW5kZXgucmVzdWx0c1tyZXN1bHRJbmRl
eF0uc3RhdHNbYHRlc3RzJHt3aWxsRmlsdGVyRXhwZWN0ZWQgPyAnX3VuZXhwZWN0ZWRfJyA6ICdf
J31mYWlsZWRgXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cGFpckZvckluZGV4LnJlc3VsdHNbcmVzdWx0SW5kZXhdLnN0YXRzW2B0ZXN0cyR7d2lsbEZpbHRl
ckV4cGVjdGVkID8gJ191bmV4cGVjdGVkXycgOiAnXyd9dGltZWRvdXRgXSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFpckZvckluZGV4LnJlc3VsdHNbcmVz
dWx0SW5kZXhdLnN0YXRzW2B0ZXN0cyR7d2lsbEZpbHRlckV4cGVjdGVkID8gJ191bmV4cGVjdGVk
XycgOiAnXyd9Y3Jhc2hlZGBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgYnVpbGRMaW5rLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkp
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0SWQgPSBFeHBlY3RhdGlv
bnMuc3RyaW5nVG9TdGF0ZUlkKEV4cGVjdGF0aW9ucy51bmV4cGVjdGVkUmVzdWx0cygKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFpckZvckluZGV4LnJlc3Vs
dHNbcmVzdWx0SW5kZXhdLmFjdHVhbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcGFpckZvckluZGV4LnJlc3VsdHNbcmVzdWx0SW5kZXhdLmV4cGVjdGVkLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkpOworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCByZXN1bHRJZCA9IEV4cGVjdGF0aW9ucy5z
dHJpbmdUb1N0YXRlSWQocGFpckZvckluZGV4LnJlc3VsdHNbcmVzdWx0SW5kZXhdLmFjdHVhbCk7
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHdpbGxGaWx0ZXJF
eHBlY3RlZCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVz
dWx0SWQgPSBFeHBlY3RhdGlvbnMuc3RyaW5nVG9TdGF0ZUlkKEV4cGVjdGF0aW9ucy51bmV4cGVj
dGVkUmVzdWx0cygKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHBhaXJGb3JJbmRleC5yZXN1bHRzW3Jlc3VsdEluZGV4XS5hY3R1YWwsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWlyRm9ySW5kZXgucmVzdWx0
c1tyZXN1bHRJbmRleF0uZXhwZWN0ZWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICkpOwogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZG90c1tjb25maWd1cmF0aW9uS2V5XS5wdXNoKG5ldyBEb3QoCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEsCkBAIC02MDUsMjkgKzYwOCw4OSBAQCBjbGFz
cyBUaW1lbGluZSB7CiAgICAgfQogfQogCi1mdW5jdGlvbiBMZWdlbmQoKSB7Ci0gICAgcmV0dXJu
IGA8ZGl2IGNsYXNzPSJjb250ZW50Ij4KLSAgICAgICAgICAgIDxicj4KLSAgICAgICAgICAgIDxk
aXYgY2xhc3M9ImxlbmdlbmQgdGltZWxpbmUiPgotICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9
Iml0ZW0iPgotICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkb3Qgc3VjY2VzcyI+PC9k
aXY+Ci0gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxhYmVsIj5BbGwgVGVzdHMgUGFz
c2VkPC9kaXY+Ci0gICAgICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAgICAgICAgICAgPGRpdiBj
bGFzcz0iaXRlbSI+Ci0gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRvdCBmYWlsZWQi
PjwvZGl2PgotICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsYWJlbCI+U29tZSBUZXN0
cyBGYWlsZWQ8L2Rpdj4KLSAgICAgICAgICAgICAgICA8L2Rpdj4KLSAgICAgICAgICAgICAgICA8
ZGl2IGNsYXNzPSJpdGVtIj4KLSAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZG90IHRp
bWVvdXQiPjwvZGl2PgotICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsYWJlbCI+U29t
ZSBUZXN0cyBUaW1lZC1PdXQ8L2Rpdj4KLSAgICAgICAgICAgICAgICA8L2Rpdj4KLSAgICAgICAg
ICAgICAgICA8ZGl2IGNsYXNzPSJpdGVtIj4KLSAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFz
cz0iZG90IGNyYXNoIj48L2Rpdj4KLSAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGFi
ZWwiPlNvbWUgVGVzdHMgQ3Jhc2hlZDwvZGl2PgotICAgICAgICAgICAgICAgIDwvZGl2PgorZnVu
Y3Rpb24gTGVnZW5kKGNhbGxiYWNrPW51bGwsIHBsdXJhbD1mYWxzZSkgeworICAgIGNvbnN0IHN1
Y2Nlc3NMYWJlbCA9IFJFRi5jcmVhdGVSZWYoeworICAgICAgICBzdGF0ZTogd2lsbEZpbHRlckV4
cGVjdGVkLAorICAgICAgICBvblN0YXRlVXBkYXRlOiAoZWxlbWVudCwgc3RhdGUpID0+IHsKKyAg
ICAgICAgICAgIGlmIChzdGF0ZSkKKyAgICAgICAgICAgICAgICBlbGVtZW50LmlubmVySFRNTCA9
IHBsdXJhbCA/ICdObyB1bmV4cGVjdGVkIHJlc3VsdHMnIDogJ1Jlc3VsdCBleHBlY3RlZCc7Cisg
ICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgZWxlbWVudC5pbm5lckhUTUwgPSBwbHVy
YWwgPyAnQWxsIHRlc3RzIHBhc3NlZCcgOiAnVGVzdCBwYXNzZWQnOworICAgICAgICB9LAorICAg
IH0pOworICAgIGNvbnN0IGZhaWxlZExhYmVsID0gUkVGLmNyZWF0ZVJlZih7CisgICAgICAgIHN0
YXRlOiB3aWxsRmlsdGVyRXhwZWN0ZWQsCisgICAgICAgIG9uU3RhdGVVcGRhdGU6IChlbGVtZW50
LCBzdGF0ZSkgPT4geworICAgICAgICAgICAgaWYgKHN0YXRlKQorICAgICAgICAgICAgICAgIGVs
ZW1lbnQuaW5uZXJIVE1MID0gcGx1cmFsID8gJ1NvbWUgdGVzdHMgdW5leHBlY3RlZGx5IGZhaWxl
ZCcgOiAnVW5leHBlY3RlZGx5IGZhaWxlZCc7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAg
ICAgICAgZWxlbWVudC5pbm5lckhUTUwgPSBwbHVyYWwgPyAnU29tZSB0ZXN0cyBmYWlsZWQnIDog
J1Rlc3QgZmFpbGVkJzsKKyAgICAgICAgfSwKKyAgICB9KTsKKyAgICBjb25zdCB0aW1lb3V0TGFi
ZWwgPSBSRUYuY3JlYXRlUmVmKHsKKyAgICAgICAgc3RhdGU6IHdpbGxGaWx0ZXJFeHBlY3RlZCwK
KyAgICAgICAgb25TdGF0ZVVwZGF0ZTogKGVsZW1lbnQsIHN0YXRlKSA9PiB7CisgICAgICAgICAg
ICBpZiAoc3RhdGUpCisgICAgICAgICAgICAgICAgZWxlbWVudC5pbm5lckhUTUwgPSBwbHVyYWwg
PyAnU29tZSB0ZXN0cyB1bmV4cGVjdGVkbHkgdGltZWQgb3V0JyA6ICdVbmV4cGVjdGVkbHkgdGlt
ZWQgb3V0JzsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBlbGVtZW50LmlubmVy
SFRNTCA9IHBsdXJhbCA/ICdTb21lIHRlc3RzIHRpbWVkIG91dCcgOiAnVGVzdCB0aW1lZCBvdXQn
OworICAgICAgICB9LAorICAgIH0pOworICAgIGNvbnN0IGNyYXNoTGFiZWwgPSBSRUYuY3JlYXRl
UmVmKHsKKyAgICAgICAgc3RhdGU6IHdpbGxGaWx0ZXJFeHBlY3RlZCwKKyAgICAgICAgb25TdGF0
ZVVwZGF0ZTogKGVsZW1lbnQsIHN0YXRlKSA9PiB7CisgICAgICAgICAgICBpZiAoc3RhdGUpCisg
ICAgICAgICAgICAgICAgZWxlbWVudC5pbm5lckhUTUwgPSBwbHVyYWwgPyAnU29tZSB0ZXN0cyB1
bmV4cGVjdGVkbHkgY3Jhc2hlZCcgOiAnVW5leHBlY3RlZGx5IGNyYXNoZWQnOworICAgICAgICAg
ICAgZWxzZQorICAgICAgICAgICAgICAgIGVsZW1lbnQuaW5uZXJIVE1MID0gcGx1cmFsID8gJ1Nv
bWUgdGVzdHMgY3Jhc2hlZCcgOiAnVGVzdCBjcmFzaGVkJzsKKyAgICAgICAgfSwKKyAgICB9KTsK
KyAgICBjb25zdCBzd3RjaCA9IFJFRi5jcmVhdGVSZWYoeworICAgICAgICBvbkVsZW1lbnRNb3Vu
dDogKGVsZW1lbnQpID0+IHsKKyAgICAgICAgICAgIGVsZW1lbnQub25jaGFuZ2UgPSAoKSA9PiB7
CisgICAgICAgICAgICAgICAgaWYgKGVsZW1lbnQuY2hlY2tlZCkKKyAgICAgICAgICAgICAgICAg
ICAgd2lsbEZpbHRlckV4cGVjdGVkID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICBlbHNlCisgICAg
ICAgICAgICAgICAgICAgIHdpbGxGaWx0ZXJFeHBlY3RlZCA9IGZhbHNlOworICAgICAgICAgICAg
ICAgIHN1Y2Nlc3NMYWJlbC5zZXRTdGF0ZSh3aWxsRmlsdGVyRXhwZWN0ZWQpOworICAgICAgICAg
ICAgICAgIGZhaWxlZExhYmVsLnNldFN0YXRlKHdpbGxGaWx0ZXJFeHBlY3RlZCk7CisgICAgICAg
ICAgICAgICAgdGltZW91dExhYmVsLnNldFN0YXRlKHdpbGxGaWx0ZXJFeHBlY3RlZCk7CisgICAg
ICAgICAgICAgICAgY3Jhc2hMYWJlbC5zZXRTdGF0ZSh3aWxsRmlsdGVyRXhwZWN0ZWQpOworICAg
ICAgICAgICAgICAgIGNhbGxiYWNrKCk7CisgICAgICAgICAgICB9OworICAgICAgICB9LAorICAg
IH0pOworCisgICAgbGV0IHJlc3VsdCA9IGA8YnI+CisgICAgICAgIDxkaXYgY2xhc3M9Imxlbmdl
bmQgdGltZWxpbmUiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iaXRlbSI+CisgICAgICAgICAg
ICAgICAgPGRpdiBjbGFzcz0iZG90IHN1Y2Nlc3MiPjwvZGl2PgorICAgICAgICAgICAgICAgIDxk
aXYgY2xhc3M9ImxhYmVsIiByZWY9IiR7c3VjY2Vzc0xhYmVsfSI+PC9kaXY+CisgICAgICAgICAg
ICA8L2Rpdj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9Iml0ZW0iPgorICAgICAgICAgICAgICAg
IDxkaXYgY2xhc3M9ImRvdCBmYWlsZWQiPjwvZGl2PgorICAgICAgICAgICAgICAgIDxkaXYgY2xh
c3M9ImxhYmVsIiByZWY9IiR7ZmFpbGVkTGFiZWx9Ij48L2Rpdj4KKyAgICAgICAgICAgIDwvZGl2
PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iaXRlbSI+CisgICAgICAgICAgICAgICAgPGRpdiBj
bGFzcz0iZG90IHRpbWVvdXQiPjwvZGl2PgorICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Imxh
YmVsIiByZWY9IiR7dGltZW91dExhYmVsfSI+PC9kaXY+CisgICAgICAgICAgICA8L2Rpdj4KKyAg
ICAgICAgICAgIDxkaXYgY2xhc3M9Iml0ZW0iPgorICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9
ImRvdCBjcmFzaCI+PC9kaXY+CisgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGFiZWwiIHJl
Zj0iJHtjcmFzaExhYmVsfSI+PC9kaXY+CiAgICAgICAgICAgICA8L2Rpdj4KLSAgICAgICAgICAg
IDxicj4KICAgICAgICAgPC9kaXY+YDsKKworICAgIGlmIChjYWxsYmFjaykKKyAgICAgICAgcmVz
dWx0ICs9IGA8ZGl2IGNsYXNzPSJpbnB1dCIgc3R5bGU9IndpZHRoOjQwMHB4Ij4KKyAgICAgICAg
ICAgIDxsYWJlbD5GaWx0ZXIgZXhwZWN0ZWQgcmVzdWx0czwvbGFiZWw+CisgICAgICAgICAgICA8
bGFiZWwgY2xhc3M9InN3aXRjaCI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImNoZWNr
Ym94IiR7d2lsbEZpbHRlckV4cGVjdGVkID8gJyBjaGVja2VkJzogJyd9IHJlZj0iJHtzd3RjaH0i
PgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzbGlkZXIiPjwvc3Bhbj4KKyAgICAgICAg
ICAgIDwvbGFiZWw+CisgICAgICAgIDwvZGl2PmA7CisKKyAgICByZXR1cm4gYDxkaXYgY2xhc3M9
ImNvbnRlbnQiPiR7cmVzdWx0fTwvZGl2Pjxicj5gOwogfQogCiBleHBvcnQge0xlZ2VuZCwgVGlt
ZWxpbmUsIEV4cGVjdGF0aW9uc307CkluZGV4OiBUb29scy9yZXN1bHRzZGJweS9yZXN1bHRzZGJw
eS92aWV3L3RlbXBsYXRlcy9zZWFyY2guaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9yZXN1bHRz
ZGJweS9yZXN1bHRzZGJweS92aWV3L3RlbXBsYXRlcy9zZWFyY2guaHRtbAkocmV2aXNpb24gMjQ3
ODIyKQorKysgVG9vbHMvcmVzdWx0c2RicHkvcmVzdWx0c2RicHkvdmlldy90ZW1wbGF0ZXMvc2Vh
cmNoLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEyNyw3ICsxMjcsMTEgQEAgY2xhc3MgU2VhcmNo
VmlldyB7CiAgICAgICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAgICAgaWYgKGRpZmYuY2hp
bGRyZW4pCi0gICAgICAgICAgICAgICAgICAgIERPTS5pbmplY3QoZWxlbWVudCwgTGVnZW5kKCkg
KyBkaWZmLmNoaWxkcmVuLm1hcChyZW5kZXJDaGlsZCkuam9pbignJykpOworICAgICAgICAgICAg
ICAgICAgICBET00uaW5qZWN0KGVsZW1lbnQsIExlZ2VuZCgoKSA9PiB7CisgICAgICAgICAgICAg
ICAgICAgICAgICBzZWxmLnJlZi5zdGF0ZS5jaGlsZHJlbi5mb3JFYWNoKChjaGlsZCkgPT4gewor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkLnRpbWVsaW5lLnJlcmVuZGVyKCk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgICAgICAgICAgfSwgZmFsc2Up
ICsgZGlmZi5jaGlsZHJlbi5tYXAocmVuZGVyQ2hpbGQpLmpvaW4oJycpKTsKICAgICAgICAgICAg
ICAgICBpZiAoZGlmZi5wcmVwZW5kaW5nKSB7CiAgICAgICAgICAgICAgICAgICAgIGRpZmYucHJl
cGVuZGluZy5mb3JFYWNoKGNoaWxkID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgIERPTS5h
ZnRlcihlbGVtZW50LmZpcnN0RWxlbWVudENoaWxkLCByZW5kZXJDaGlsZChjaGlsZCkpOwpJbmRl
eDogVG9vbHMvcmVzdWx0c2RicHkvcmVzdWx0c2RicHkvdmlldy90ZW1wbGF0ZXMvc3VpdGVfcmVz
dWx0cy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL3Jlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5L3Zp
ZXcvdGVtcGxhdGVzL3N1aXRlX3Jlc3VsdHMuaHRtbAkocmV2aXNpb24gMjQ3ODIyKQorKysgVG9v
bHMvcmVzdWx0c2RicHkvcmVzdWx0c2RicHkvdmlldy90ZW1wbGF0ZXMvc3VpdGVfcmVzdWx0cy5o
dG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xNDIsNyArMTQyLDExIEBAIGNsYXNzIE1haW5WaWV3IHsK
ICAgICB9CiAgICAgcmVuZGVyKHN1aXRlcykgewogICAgICAgICBsZXQgY2hpbGRyZW4gPSB0aGlz
LmNoaWxkcmVuOwotICAgICAgICByZXR1cm4gTGVnZW5kKCkgKyBzdWl0ZXMubWFwKHN1aXRlID0+
IHsKKyAgICAgICAgcmV0dXJuIExlZ2VuZCgoKSA9PiB7CisgICAgICAgICAgICBmb3IgKGxldCBz
dWl0ZSBpbiBjaGlsZHJlbikgeworICAgICAgICAgICAgICAgIGNoaWxkcmVuW3N1aXRlXS5yZXJl
bmRlcigpOworICAgICAgICAgICAgfQorICAgICAgICB9LCB0cnVlKSArIHN1aXRlcy5tYXAoc3Vp
dGUgPT4gewogICAgICAgICAgICAgcmV0dXJuIGA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAg
ICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAg
ICAgIDxkaXYgY2xhc3M9InRpdGxlIj4ke3N1aXRlfTwvZGl2Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>374982</attachid>
            <date>2019-07-26 12:50:59 -0700</date>
            <delta_ts>2019-07-26 13:55:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-200134-20190726125058.patch</filename>
            <type>text/plain</type>
            <size>9827</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI0Nzg2OCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDIwIEBACisyMDE5LTA3LTI2ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICByZXN1bHRzLndlYmtpdC5vcmc6IEFkZCBzd2l0Y2ggdG8gZmlsdGVyIHJl
c3VsdHMgYnkgZXhwZWN0YXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwMDEzNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFVzZXJzIG9mIHRoZSByZXN1bHRzIGRhdGFiYXNlIHNob3VsZCBiZSBhYmxl
IHRvIGVhc2lseSBkaWZmZXJlbnRpYXRlIHRlc3RzIHdoaWNoIGFyZSBleHBlY3RlZAorICAgICAg
ICB0byBmYWlsIHZlcnNlIHRlc3RzIHdoaWNoIGFyZSB1bmV4cGVjdGVkbHkgZmFpbGluZy4KKwor
ICAgICAgICAqIHJlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5L3ZpZXcvc3RhdGljL2pzL3RpbWVsaW5l
LmpzOgorICAgICAgICAoVGltZWxpbmUucmVuZGVyKTogUmVzcGVjdCB0aGUgd2lsbEZpbHRlckV4
cGVjdGVkIHZhcmlhYmxlLgorICAgICAgICAoTGVnZW5kTGFiZWwpOiBHZW5lcmF0ZXMgaHRtbCBm
b3IgbGFiZWwgaW4gdGhlIGxlZ2VuZC4KKyAgICAgICAgKExlZ2VuZCk6IEFkZCBzd2l0Y2ggZm9y
IGZpbHRlciByZXN1bHRzLgorICAgICAgICAqIHJlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5L3ZpZXcv
dGVtcGxhdGVzL3NlYXJjaC5odG1sOiBHSXZlIExlZ2VuZCBjYWxsYmFjayB0byByZS1yZW5kZXIg
dGltZWxpbmVzLgorICAgICAgICAqIHJlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5L3ZpZXcvdGVtcGxh
dGVzL3N1aXRlX3Jlc3VsdHMuaHRtbDoKKwogMjAxOS0wNy0yNiAgSm9uYXRoYW4gQmVkYXJkICA8
amJlZGFyZEBhcHBsZS5jb20+CiAKICAgICAgICAgRm9sbG93LXVwIGZpeDogcmVzdWx0cy53ZWJr
aXQub3JnOiBDb2xvciBzaG91bGQgYmUgdGhlIHdvcnN0IHJlc3VsdCwgY291bnQgc2hvdWxkIGlu
Y2x1ZGUgYWxsIHJlc3VsdHMKSW5kZXg6IFRvb2xzL3Jlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5L3Zp
ZXcvc3RhdGljL2pzL3RpbWVsaW5lLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL3Jlc3VsdHNkYnB5
L3Jlc3VsdHNkYnB5L3ZpZXcvc3RhdGljL2pzL3RpbWVsaW5lLmpzCShyZXZpc2lvbiAyNDc4Njgp
CisrKyBUb29scy9yZXN1bHRzZGJweS9yZXN1bHRzZGJweS92aWV3L3N0YXRpYy9qcy90aW1lbGlu
ZS5qcwkod29ya2luZyBjb3B5KQpAQCAtMjQsNyArMjQsNyBAQAogaW1wb3J0IHtDb21taXRCYW5r
fSBmcm9tICcvYXNzZXRzL2pzL2NvbW1pdC5qcyc7CiBpbXBvcnQge0NvbmZpZ3VyYXRpb259IGZy
b20gJy9hc3NldHMvanMvY29uZmlndXJhdGlvbi5qcyc7CiBpbXBvcnQge2RlZXBDb21wYXJlLCBF
cnJvckRpc3BsYXksIHBhcmFtc1RvUXVlcnksIHF1ZXJ5VG9QYXJhbXN9IGZyb20gJy9hc3NldHMv
anMvY29tbW9uLmpzJzsKLWltcG9ydCB7RE9NLCBSRUZ9IGZyb20gJy9saWJyYXJ5L2pzL1JlZi5q
cyc7CitpbXBvcnQge0RPTSwgRXZlbnRTdHJlYW0sIFJFRn0gZnJvbSAnL2xpYnJhcnkvanMvUmVm
LmpzJzsKIAogCiBjb25zdCBERUZBVUxUX0xJTUlUID0gMTAwOwpAQCAtNjksNiArNjksNyBAQCBj
bGFzcyBFeHBlY3RhdGlvbnMKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9CiB9CitsZXQg
d2lsbEZpbHRlckV4cGVjdGVkID0gZmFsc2U7CiAKIGZ1bmN0aW9uIHRpY2tGb3JDb21taXQoY29t
bWl0LCBzY2FsZSkgewogICAgIGxldCBwYXJhbXMgPSB7CkBAIC01MzMsMTcgKzUzNCwxOSBAQCBj
bGFzcyBUaW1lbGluZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAo
cGFpckZvckluZGV4LnJlc3VsdHNbcmVzdWx0SW5kZXhdLnN0YXRzKQogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGRvdHNbY29uZmlndXJhdGlvbktleV0ucHVzaChuZXcg
RG90KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWlyRm9y
SW5kZXgucmVzdWx0c1tyZXN1bHRJbmRleF0uc3RhdHMudGVzdHNfcnVuLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWlyRm9ySW5kZXgucmVzdWx0c1tyZXN1
bHRJbmRleF0uc3RhdHMudGVzdHNfdW5leHBlY3RlZF9mYWlsZWQsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhaXJGb3JJbmRleC5yZXN1bHRzW3Jlc3VsdElu
ZGV4XS5zdGF0cy50ZXN0c191bmV4cGVjdGVkX3RpbWVkb3V0LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwYWlyRm9ySW5kZXgucmVzdWx0c1tyZXN1bHRJbmRl
eF0uc3RhdHMudGVzdHNfdW5leHBlY3RlZF9jcmFzaGVkLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwYWlyRm9ySW5kZXgucmVzdWx0c1tyZXN1bHRJbmRleF0u
c3RhdHNbYHRlc3RzJHt3aWxsRmlsdGVyRXhwZWN0ZWQgPyAnX3VuZXhwZWN0ZWRfJyA6ICdfJ31m
YWlsZWRgXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFp
ckZvckluZGV4LnJlc3VsdHNbcmVzdWx0SW5kZXhdLnN0YXRzW2B0ZXN0cyR7d2lsbEZpbHRlckV4
cGVjdGVkID8gJ191bmV4cGVjdGVkXycgOiAnXyd9dGltZWRvdXRgXSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFpckZvckluZGV4LnJlc3VsdHNbcmVzdWx0
SW5kZXhdLnN0YXRzW2B0ZXN0cyR7d2lsbEZpbHRlckV4cGVjdGVkID8gJ191bmV4cGVjdGVkXycg
OiAnXyd9Y3Jhc2hlZGBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
YnVpbGRMaW5rLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkpOwog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0SWQgPSBFeHBlY3RhdGlvbnMu
c3RyaW5nVG9TdGF0ZUlkKEV4cGVjdGF0aW9ucy51bmV4cGVjdGVkUmVzdWx0cygKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFpckZvckluZGV4LnJlc3VsdHNb
cmVzdWx0SW5kZXhdLmFjdHVhbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcGFpckZvckluZGV4LnJlc3VsdHNbcmVzdWx0SW5kZXhdLmV4cGVjdGVkLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkpOworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGxldCByZXN1bHRJZCA9IEV4cGVjdGF0aW9ucy5zdHJp
bmdUb1N0YXRlSWQocGFpckZvckluZGV4LnJlc3VsdHNbcmVzdWx0SW5kZXhdLmFjdHVhbCk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHdpbGxGaWx0ZXJFeHBl
Y3RlZCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0
SWQgPSBFeHBlY3RhdGlvbnMuc3RyaW5nVG9TdGF0ZUlkKEV4cGVjdGF0aW9ucy51bmV4cGVjdGVk
UmVzdWx0cygKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHBhaXJGb3JJbmRleC5yZXN1bHRzW3Jlc3VsdEluZGV4XS5hY3R1YWwsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWlyRm9ySW5kZXgucmVzdWx0c1ty
ZXN1bHRJbmRleF0uZXhwZWN0ZWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICkpOwogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZG90c1tjb25maWd1cmF0aW9uS2V5XS5wdXNoKG5ldyBEb3QoCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDEsCkBAIC02MDAsMjkgKzYwMyw4MSBAQCBjbGFzcyBU
aW1lbGluZSB7CiAgICAgfQogfQogCi1mdW5jdGlvbiBMZWdlbmQoKSB7Ci0gICAgcmV0dXJuIGA8
ZGl2IGNsYXNzPSJjb250ZW50Ij4KLSAgICAgICAgICAgIDxicj4KLSAgICAgICAgICAgIDxkaXYg
Y2xhc3M9ImxlbmdlbmQgdGltZWxpbmUiPgotICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Iml0
ZW0iPgotICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkb3Qgc3VjY2VzcyI+PC9kaXY+
Ci0gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxhYmVsIj5BbGwgVGVzdHMgUGFzc2Vk
PC9kaXY+Ci0gICAgICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAgICAgICAgICAgPGRpdiBjbGFz
cz0iaXRlbSI+Ci0gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRvdCBmYWlsZWQiPjwv
ZGl2PgotICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsYWJlbCI+U29tZSBUZXN0cyBG
YWlsZWQ8L2Rpdj4KLSAgICAgICAgICAgICAgICA8L2Rpdj4KLSAgICAgICAgICAgICAgICA8ZGl2
IGNsYXNzPSJpdGVtIj4KLSAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZG90IHRpbWVv
dXQiPjwvZGl2PgotICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsYWJlbCI+U29tZSBU
ZXN0cyBUaW1lZC1PdXQ8L2Rpdj4KLSAgICAgICAgICAgICAgICA8L2Rpdj4KLSAgICAgICAgICAg
ICAgICA8ZGl2IGNsYXNzPSJpdGVtIj4KLSAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0i
ZG90IGNyYXNoIj48L2Rpdj4KLSAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGFiZWwi
PlNvbWUgVGVzdHMgQ3Jhc2hlZDwvZGl2PgotICAgICAgICAgICAgICAgIDwvZGl2PgorZnVuY3Rp
b24gTGVnZW5kTGFiZWwoZXZlbnRTdHJlYW0sIGZpbHRlckV4cGVjdGVkVGV4dCwgZmlsdGVyVW5l
eHBlY3RlZFRleHQpIHsKKyAgICBsZXQgcmVmID0gUkVGLmNyZWF0ZVJlZih7CisgICAgICAgIHN0
YXRlOiB3aWxsRmlsdGVyRXhwZWN0ZWQsCisgICAgICAgIG9uU3RhdGVVcGRhdGU6IChlbGVtZW50
LCBzdGF0ZSkgPT4geworICAgICAgICAgICAgaWYgKHN0YXRlKSBlbGVtZW50LmlubmVyVGV4dCA9
IGZpbHRlckV4cGVjdGVkVGV4dDsKKyAgICAgICAgICAgIGVsc2UgZWxlbWVudC5pbm5lclRleHQg
PSBmaWx0ZXJVbmV4cGVjdGVkVGV4dDsKKyAgICAgICAgfQorICAgIH0pOworICAgIGV2ZW50U3Ry
ZWFtLmFjdGlvbigod2lsbEZpbHRlckV4cGVjdGVkKSA9PiByZWYuc2V0U3RhdGUod2lsbEZpbHRl
ckV4cGVjdGVkKSk7CisgICAgcmV0dXJuIGA8ZGl2IGNsYXNzPSJsYWJlbCIgcmVmPSIke3JlZn0i
PjwvZGl2PmA7Cit9IAorCitmdW5jdGlvbiBMZWdlbmQoY2FsbGJhY2s9bnVsbCwgcGx1cmFsPWZh
bHNlKSB7CisgICAgbGV0IHVwZGF0ZUxhYmVsRXZlbnRzID0gbmV3IEV2ZW50U3RyZWFtKCk7Cisg
ICAgbGV0IHJlc3VsdCA9IGA8YnI+CisgICAgICAgICA8ZGl2IGNsYXNzPSJsZW5nZW5kIHRpbWVs
aW5lIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9Iml0ZW0iPgorICAgICAgICAgICAgICAgIDxk
aXYgY2xhc3M9ImRvdCBzdWNjZXNzIj48L2Rpdj4KKyAgICAgICAgICAgICAgICAke0xlZ2VuZExh
YmVsKAorICAgICAgICAgICAgICAgICAgICB1cGRhdGVMYWJlbEV2ZW50cywKKyAgICAgICAgICAg
ICAgICAgICAgcGx1cmFsID8gJ05vIHVuZXhwZWN0ZWQgcmVzdWx0cycgOiAnUmVzdWx0IGV4cGVj
dGVkJywKKyAgICAgICAgICAgICAgICAgICAgcGx1cmFsID8gJ0FsbCB0ZXN0cyBwYXNzZWQnIDog
J1Rlc3QgcGFzc2VkJywKKyAgICAgICAgICAgICAgICApfQorICAgICAgICAgICAgPC9kaXY+Cisg
ICAgICAgICAgICA8ZGl2IGNsYXNzPSJpdGVtIj4KKyAgICAgICAgICAgICAgICA8ZGl2IGNsYXNz
PSJkb3QgZmFpbGVkIj48L2Rpdj4KKyAgICAgICAgICAgICAgICAke0xlZ2VuZExhYmVsKAorICAg
ICAgICAgICAgICAgICAgICB1cGRhdGVMYWJlbEV2ZW50cywKKyAgICAgICAgICAgICAgICAgICAg
cGx1cmFsID8gJ1NvbWUgdGVzdHMgdW5leHBlY3RlZGx5IGZhaWxlZCcgOiAnVW5leHBlY3RlZGx5
IGZhaWxlZCcsCisgICAgICAgICAgICAgICAgICAgIHBsdXJhbCA/ICdTb21lIHRlc3RzIGZhaWxl
ZCcgOiAnVGVzdCBmYWlsZWQnLAorICAgICAgICAgICAgICAgICl9CisgICAgICAgICAgICA8L2Rp
dj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9Iml0ZW0iPgorICAgICAgICAgICAgICAgIDxkaXYg
Y2xhc3M9ImRvdCB0aW1lb3V0Ij48L2Rpdj4KKyAgICAgICAgICAgICAgICAke0xlZ2VuZExhYmVs
KAorICAgICAgICAgICAgICAgICAgICB1cGRhdGVMYWJlbEV2ZW50cywKKyAgICAgICAgICAgICAg
ICAgICAgcGx1cmFsID8gJ1NvbWUgdGVzdHMgdW5leHBlY3RlZGx5IHRpbWVkIG91dCcgOiAnVW5l
eHBlY3RlZGx5IHRpbWVkIG91dCcsCisgICAgICAgICAgICAgICAgICAgIHBsdXJhbCA/ICdTb21l
IHRlc3RzIHRpbWVkIG91dCcgOiAnVGVzdCB0aW1lZCBvdXQnLAorICAgICAgICAgICAgICAgICl9
CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9Iml0ZW0iPgorICAg
ICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRvdCBjcmFzaCI+PC9kaXY+CisgICAgICAgICAgICAg
ICAgJHtMZWdlbmRMYWJlbCgKKyAgICAgICAgICAgICAgICAgICAgdXBkYXRlTGFiZWxFdmVudHMs
CisgICAgICAgICAgICAgICAgICAgIHBsdXJhbCA/ICdTb21lIHRlc3RzIHVuZXhwZWN0ZWRseSBj
cmFzaGVkJyA6ICdVbmV4cGVjdGVkbHkgY3Jhc2hlZCcsCisgICAgICAgICAgICAgICAgICAgIHBs
dXJhbCA/ICdTb21lIHRlc3RzIGNyYXNoZWQnIDogJ1Rlc3QgY3Jhc2hlZCcsCisgICAgICAgICAg
ICAgICAgKX0KICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgPGJyPgogICAgICAgICA8
L2Rpdj5gOworCisgICAgaWYgKGNhbGxiYWNrKSB7CisgICAgICAgIGNvbnN0IHN3dGNoID0gUkVG
LmNyZWF0ZVJlZih7CisgICAgICAgICAgICBvbkVsZW1lbnRNb3VudDogKGVsZW1lbnQpID0+IHsK
KyAgICAgICAgICAgICAgICBlbGVtZW50Lm9uY2hhbmdlID0gKCkgPT4geworICAgICAgICAgICAg
ICAgICAgICBpZiAoZWxlbWVudC5jaGVja2VkKQorICAgICAgICAgICAgICAgICAgICAgICAgd2ls
bEZpbHRlckV4cGVjdGVkID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgZWxzZQorICAgICAg
ICAgICAgICAgICAgICAgICAgd2lsbEZpbHRlckV4cGVjdGVkID0gZmFsc2U7CisgICAgICAgICAg
ICAgICAgICAgIHVwZGF0ZUxhYmVsRXZlbnRzLmFkZCh3aWxsRmlsdGVyRXhwZWN0ZWQpOworICAg
ICAgICAgICAgICAgICAgICBjYWxsYmFjaygpOworICAgICAgICAgICAgICAgIH07CisgICAgICAg
ICAgICB9LAorICAgICAgICB9KTsKKworICAgICAgICByZXN1bHQgKz0gYDxkaXYgY2xhc3M9Imlu
cHV0IiBzdHlsZT0id2lkdGg6NDAwcHgiPgorICAgICAgICAgICAgPGxhYmVsPkZpbHRlciBleHBl
Y3RlZCByZXN1bHRzPC9sYWJlbD4KKyAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0ic3dpdGNoIj4K
KyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iY2hlY2tib3giJHt3aWxsRmlsdGVyRXhwZWN0
ZWQgPyAnIGNoZWNrZWQnOiAnJ30gcmVmPSIke3N3dGNofSI+CisgICAgICAgICAgICAgICAgPHNw
YW4gY2xhc3M9InNsaWRlciI+PC9zcGFuPgorICAgICAgICAgICAgPC9sYWJlbD4KKyAgICAgICAg
PC9kaXY+YDsKKyAgICB9CisKKyAgICByZXR1cm4gYDxkaXYgY2xhc3M9ImNvbnRlbnQiPiR7cmVz
dWx0fTwvZGl2Pjxicj5gOwogfQogCiBleHBvcnQge0xlZ2VuZCwgVGltZWxpbmUsIEV4cGVjdGF0
aW9uc307CkluZGV4OiBUb29scy9yZXN1bHRzZGJweS9yZXN1bHRzZGJweS92aWV3L3RlbXBsYXRl
cy9zZWFyY2guaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9yZXN1bHRzZGJweS9yZXN1bHRzZGJw
eS92aWV3L3RlbXBsYXRlcy9zZWFyY2guaHRtbAkocmV2aXNpb24gMjQ3ODY4KQorKysgVG9vbHMv
cmVzdWx0c2RicHkvcmVzdWx0c2RicHkvdmlldy90ZW1wbGF0ZXMvc2VhcmNoLmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTEyNyw3ICsxMjcsMTEgQEAgY2xhc3MgU2VhcmNoVmlldyB7CiAgICAgICAg
ICAgICAgICAgfQogCiAgICAgICAgICAgICAgICAgaWYgKGRpZmYuY2hpbGRyZW4pCi0gICAgICAg
ICAgICAgICAgICAgIERPTS5pbmplY3QoZWxlbWVudCwgTGVnZW5kKCkgKyBkaWZmLmNoaWxkcmVu
Lm1hcChyZW5kZXJDaGlsZCkuam9pbignJykpOworICAgICAgICAgICAgICAgICAgICBET00uaW5q
ZWN0KGVsZW1lbnQsIExlZ2VuZCgoKSA9PiB7CisgICAgICAgICAgICAgICAgICAgICAgICBzZWxm
LnJlZi5zdGF0ZS5jaGlsZHJlbi5mb3JFYWNoKChjaGlsZCkgPT4geworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNoaWxkLnRpbWVsaW5lLnJlcmVuZGVyKCk7CisgICAgICAgICAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgICAgICAgICAgfSwgZmFsc2UpICsgZGlmZi5jaGlsZHJl
bi5tYXAocmVuZGVyQ2hpbGQpLmpvaW4oJycpKTsKICAgICAgICAgICAgICAgICBpZiAoZGlmZi5w
cmVwZW5kaW5nKSB7CiAgICAgICAgICAgICAgICAgICAgIGRpZmYucHJlcGVuZGluZy5mb3JFYWNo
KGNoaWxkID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgIERPTS5hZnRlcihlbGVtZW50LmZp
cnN0RWxlbWVudENoaWxkLCByZW5kZXJDaGlsZChjaGlsZCkpOwpJbmRleDogVG9vbHMvcmVzdWx0
c2RicHkvcmVzdWx0c2RicHkvdmlldy90ZW1wbGF0ZXMvc3VpdGVfcmVzdWx0cy5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFRvb2xzL3Jlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5L3ZpZXcvdGVtcGxhdGVzL3N1
aXRlX3Jlc3VsdHMuaHRtbAkocmV2aXNpb24gMjQ3ODY4KQorKysgVG9vbHMvcmVzdWx0c2RicHkv
cmVzdWx0c2RicHkvdmlldy90ZW1wbGF0ZXMvc3VpdGVfcmVzdWx0cy5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC0xNDIsNyArMTQyLDExIEBAIGNsYXNzIE1haW5WaWV3IHsKICAgICB9CiAgICAgcmVu
ZGVyKHN1aXRlcykgewogICAgICAgICBsZXQgY2hpbGRyZW4gPSB0aGlzLmNoaWxkcmVuOwotICAg
ICAgICByZXR1cm4gTGVnZW5kKCkgKyBzdWl0ZXMubWFwKHN1aXRlID0+IHsKKyAgICAgICAgcmV0
dXJuIExlZ2VuZCgoKSA9PiB7CisgICAgICAgICAgICBmb3IgKGxldCBzdWl0ZSBpbiBjaGlsZHJl
bikgeworICAgICAgICAgICAgICAgIGNoaWxkcmVuW3N1aXRlXS5yZXJlbmRlcigpOworICAgICAg
ICAgICAgfQorICAgICAgICB9LCB0cnVlKSArIHN1aXRlcy5tYXAoc3VpdGUgPT4gewogICAgICAg
ICAgICAgcmV0dXJuIGA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICAgICAgICAgICAgICAg
PGRpdiBjbGFzcz0iaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9
InRpdGxlIj4ke3N1aXRlfTwvZGl2Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>374988</attachid>
            <date>2019-07-26 13:55:42 -0700</date>
            <delta_ts>2019-07-26 14:23:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-200134-20190726135541.patch</filename>
            <type>text/plain</type>
            <size>9778</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI0Nzg3NSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDIwIEBACisyMDE5LTA3LTI2ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICByZXN1bHRzLndlYmtpdC5vcmc6IEFkZCBzd2l0Y2ggdG8gZmlsdGVyIHJl
c3VsdHMgYnkgZXhwZWN0YXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwMDEzNAorCisgICAgICAgIFJ1YmJlci1zdGFtcGVkIGJ5IEFha2FzaCBK
YWluLgorCisgICAgICAgIFVzZXJzIG9mIHRoZSByZXN1bHRzIGRhdGFiYXNlIHNob3VsZCBiZSBh
YmxlIHRvIGVhc2lseSBkaWZmZXJlbnRpYXRlIHRlc3RzIHdoaWNoIGFyZSBleHBlY3RlZAorICAg
ICAgICB0byBmYWlsIHZlcnNlIHRlc3RzIHdoaWNoIGFyZSB1bmV4cGVjdGVkbHkgZmFpbGluZy4K
KworICAgICAgICAqIHJlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5L3ZpZXcvc3RhdGljL2pzL3RpbWVs
aW5lLmpzOgorICAgICAgICAoVGltZWxpbmUucmVuZGVyKTogUmVzcGVjdCB0aGUgd2lsbEZpbHRl
ckV4cGVjdGVkIHZhcmlhYmxlLgorICAgICAgICAoTGVnZW5kTGFiZWwpOiBHZW5lcmF0ZXMgaHRt
bCBmb3IgbGFiZWwgaW4gdGhlIGxlZ2VuZC4KKyAgICAgICAgKExlZ2VuZCk6IEFkZCBzd2l0Y2gg
Zm9yIGZpbHRlciByZXN1bHRzLgorICAgICAgICAqIHJlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5L3Zp
ZXcvdGVtcGxhdGVzL3NlYXJjaC5odG1sOiBHSXZlIExlZ2VuZCBjYWxsYmFjayB0byByZS1yZW5k
ZXIgdGltZWxpbmVzLgorICAgICAgICAqIHJlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5L3ZpZXcvdGVt
cGxhdGVzL3N1aXRlX3Jlc3VsdHMuaHRtbDoKKwogMjAxOS0wNy0yNiAgQWFrYXNoIEphaW4gIDxh
YWthc2hfamFpbkBhcHBsZS5jb20+CiAKICAgICAgICAgW2V3cy1idWlsZF0gVXNlIHVwZGF0ZS13
ZWJraXQgc2NyaXB0IGluIFN0eWxlIEVXUwpJbmRleDogVG9vbHMvcmVzdWx0c2RicHkvcmVzdWx0
c2RicHkvdmlldy9zdGF0aWMvanMvdGltZWxpbmUuanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvcmVz
dWx0c2RicHkvcmVzdWx0c2RicHkvdmlldy9zdGF0aWMvanMvdGltZWxpbmUuanMJKHJldmlzaW9u
IDI0Nzg3NSkKKysrIFRvb2xzL3Jlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5L3ZpZXcvc3RhdGljL2pz
L3RpbWVsaW5lLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw3ICsyNCw3IEBACiBpbXBvcnQge0Nv
bW1pdEJhbmt9IGZyb20gJy9hc3NldHMvanMvY29tbWl0LmpzJzsKIGltcG9ydCB7Q29uZmlndXJh
dGlvbn0gZnJvbSAnL2Fzc2V0cy9qcy9jb25maWd1cmF0aW9uLmpzJzsKIGltcG9ydCB7ZGVlcENv
bXBhcmUsIEVycm9yRGlzcGxheSwgcGFyYW1zVG9RdWVyeSwgcXVlcnlUb1BhcmFtc30gZnJvbSAn
L2Fzc2V0cy9qcy9jb21tb24uanMnOwotaW1wb3J0IHtET00sIFJFRn0gZnJvbSAnL2xpYnJhcnkv
anMvUmVmLmpzJzsKK2ltcG9ydCB7RE9NLCBFdmVudFN0cmVhbSwgUkVGfSBmcm9tICcvbGlicmFy
eS9qcy9SZWYuanMnOwogCiAKIGNvbnN0IERFRkFVTFRfTElNSVQgPSAxMDA7CkBAIC02OSw2ICs2
OSw3IEBAIGNsYXNzIEV4cGVjdGF0aW9ucwogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0K
IH0KK2xldCB3aWxsRmlsdGVyRXhwZWN0ZWQgPSBmYWxzZTsKIAogZnVuY3Rpb24gdGlja0ZvckNv
bW1pdChjb21taXQsIHNjYWxlKSB7CiAgICAgbGV0IHBhcmFtcyA9IHsKQEAgLTUzMywxNyArNTM0
LDE5IEBAIGNsYXNzIFRpbWVsaW5lIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGlmIChwYWlyRm9ySW5kZXgucmVzdWx0c1tyZXN1bHRJbmRleF0uc3RhdHMpCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG90c1tjb25maWd1cmF0aW9uS2V5XS5w
dXNoKG5ldyBEb3QoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHBhaXJGb3JJbmRleC5yZXN1bHRzW3Jlc3VsdEluZGV4XS5zdGF0cy50ZXN0c19ydW4sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhaXJGb3JJbmRleC5yZXN1
bHRzW3Jlc3VsdEluZGV4XS5zdGF0cy50ZXN0c191bmV4cGVjdGVkX2ZhaWxlZCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFpckZvckluZGV4LnJlc3VsdHNb
cmVzdWx0SW5kZXhdLnN0YXRzLnRlc3RzX3VuZXhwZWN0ZWRfdGltZWRvdXQsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhaXJGb3JJbmRleC5yZXN1bHRzW3Jl
c3VsdEluZGV4XS5zdGF0cy50ZXN0c191bmV4cGVjdGVkX2NyYXNoZWQsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhaXJGb3JJbmRleC5yZXN1bHRzW3Jlc3Vs
dEluZGV4XS5zdGF0c1tgdGVzdHMke3dpbGxGaWx0ZXJFeHBlY3RlZCA/ICdfdW5leHBlY3RlZF8n
IDogJ18nfWZhaWxlZGBdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBwYWlyRm9ySW5kZXgucmVzdWx0c1tyZXN1bHRJbmRleF0uc3RhdHNbYHRlc3RzJHt3aWxs
RmlsdGVyRXhwZWN0ZWQgPyAnX3VuZXhwZWN0ZWRfJyA6ICdfJ310aW1lZG91dGBdLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWlyRm9ySW5kZXgucmVzdWx0
c1tyZXN1bHRJbmRleF0uc3RhdHNbYHRlc3RzJHt3aWxsRmlsdGVyRXhwZWN0ZWQgPyAnX3VuZXhw
ZWN0ZWRfJyA6ICdfJ31jcmFzaGVkYF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBidWlsZExpbmssCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByZXN1bHRJZCA9IEV4cGVj
dGF0aW9ucy5zdHJpbmdUb1N0YXRlSWQoRXhwZWN0YXRpb25zLnVuZXhwZWN0ZWRSZXN1bHRzKAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWlyRm9ySW5kZXgu
cmVzdWx0c1tyZXN1bHRJbmRleF0uYWN0dWFsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwYWlyRm9ySW5kZXgucmVzdWx0c1tyZXN1bHRJbmRleF0uZXhwZWN0
ZWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSk7CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHJlc3VsdElkID0gRXhwZWN0YXRp
b25zLnN0cmluZ1RvU3RhdGVJZChwYWlyRm9ySW5kZXgucmVzdWx0c1tyZXN1bHRJbmRleF0uYWN0
dWFsKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAod2lsbEZp
bHRlckV4cGVjdGVkKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICByZXN1bHRJZCA9IEV4cGVjdGF0aW9ucy5zdHJpbmdUb1N0YXRlSWQoRXhwZWN0YXRpb25zLnVu
ZXhwZWN0ZWRSZXN1bHRzKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcGFpckZvckluZGV4LnJlc3VsdHNbcmVzdWx0SW5kZXhdLmFjdHVhbCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhaXJGb3JJbmRleC5y
ZXN1bHRzW3Jlc3VsdEluZGV4XS5leHBlY3RlZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgKSk7CiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBkb3RzW2NvbmZpZ3VyYXRpb25LZXldLnB1c2gobmV3IERvdCgKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSwKQEAgLTYwMCwyOSArNjAzLDgxIEBA
IGNsYXNzIFRpbWVsaW5lIHsKICAgICB9CiB9CiAKLWZ1bmN0aW9uIExlZ2VuZCgpIHsKLSAgICBy
ZXR1cm4gYDxkaXYgY2xhc3M9ImNvbnRlbnQiPgotICAgICAgICAgICAgPGJyPgotICAgICAgICAg
ICAgPGRpdiBjbGFzcz0ibGVuZ2VuZCB0aW1lbGluZSI+Ci0gICAgICAgICAgICAgICAgPGRpdiBj
bGFzcz0iaXRlbSI+Ci0gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRvdCBzdWNjZXNz
Ij48L2Rpdj4KLSAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGFiZWwiPkFsbCBUZXN0
cyBQYXNzZWQ8L2Rpdj4KLSAgICAgICAgICAgICAgICA8L2Rpdj4KLSAgICAgICAgICAgICAgICA8
ZGl2IGNsYXNzPSJpdGVtIj4KLSAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZG90IGZh
aWxlZCI+PC9kaXY+Ci0gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxhYmVsIj5Tb21l
IFRlc3RzIEZhaWxlZDwvZGl2PgotICAgICAgICAgICAgICAgIDwvZGl2PgotICAgICAgICAgICAg
ICAgIDxkaXYgY2xhc3M9Iml0ZW0iPgotICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJk
b3QgdGltZW91dCI+PC9kaXY+Ci0gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxhYmVs
Ij5Tb21lIFRlc3RzIFRpbWVkLU91dDwvZGl2PgotICAgICAgICAgICAgICAgIDwvZGl2PgotICAg
ICAgICAgICAgICAgIDxkaXYgY2xhc3M9Iml0ZW0iPgotICAgICAgICAgICAgICAgICAgICA8ZGl2
IGNsYXNzPSJkb3QgY3Jhc2giPjwvZGl2PgotICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNz
PSJsYWJlbCI+U29tZSBUZXN0cyBDcmFzaGVkPC9kaXY+Ci0gICAgICAgICAgICAgICAgPC9kaXY+
CitmdW5jdGlvbiBMZWdlbmRMYWJlbChldmVudFN0cmVhbSwgZmlsdGVyRXhwZWN0ZWRUZXh0LCBm
aWx0ZXJVbmV4cGVjdGVkVGV4dCkgeworICAgIGxldCByZWYgPSBSRUYuY3JlYXRlUmVmKHsKKyAg
ICAgICAgc3RhdGU6IHdpbGxGaWx0ZXJFeHBlY3RlZCwKKyAgICAgICAgb25TdGF0ZVVwZGF0ZTog
KGVsZW1lbnQsIHN0YXRlKSA9PiB7CisgICAgICAgICAgICBpZiAoc3RhdGUpIGVsZW1lbnQuaW5u
ZXJUZXh0ID0gZmlsdGVyRXhwZWN0ZWRUZXh0OworICAgICAgICAgICAgZWxzZSBlbGVtZW50Lmlu
bmVyVGV4dCA9IGZpbHRlclVuZXhwZWN0ZWRUZXh0OworICAgICAgICB9CisgICAgfSk7CisgICAg
ZXZlbnRTdHJlYW0uYWN0aW9uKCh3aWxsRmlsdGVyRXhwZWN0ZWQpID0+IHJlZi5zZXRTdGF0ZSh3
aWxsRmlsdGVyRXhwZWN0ZWQpKTsKKyAgICByZXR1cm4gYDxkaXYgY2xhc3M9ImxhYmVsIiByZWY9
IiR7cmVmfSI+PC9kaXY+YDsKK30gCisKK2Z1bmN0aW9uIExlZ2VuZChjYWxsYmFjaz1udWxsLCBw
bHVyYWw9ZmFsc2UpIHsKKyAgICBsZXQgdXBkYXRlTGFiZWxFdmVudHMgPSBuZXcgRXZlbnRTdHJl
YW0oKTsKKyAgICBsZXQgcmVzdWx0ID0gYDxicj4KKyAgICAgICAgIDxkaXYgY2xhc3M9Imxlbmdl
bmQgdGltZWxpbmUiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iaXRlbSI+CisgICAgICAgICAg
ICAgICAgPGRpdiBjbGFzcz0iZG90IHN1Y2Nlc3MiPjwvZGl2PgorICAgICAgICAgICAgICAgICR7
TGVnZW5kTGFiZWwoCisgICAgICAgICAgICAgICAgICAgIHVwZGF0ZUxhYmVsRXZlbnRzLAorICAg
ICAgICAgICAgICAgICAgICBwbHVyYWwgPyAnTm8gdW5leHBlY3RlZCByZXN1bHRzJyA6ICdSZXN1
bHQgZXhwZWN0ZWQnLAorICAgICAgICAgICAgICAgICAgICBwbHVyYWwgPyAnQWxsIHRlc3RzIHBh
c3NlZCcgOiAnVGVzdCBwYXNzZWQnLAorICAgICAgICAgICAgICAgICl9CisgICAgICAgICAgICA8
L2Rpdj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9Iml0ZW0iPgorICAgICAgICAgICAgICAgIDxk
aXYgY2xhc3M9ImRvdCBmYWlsZWQiPjwvZGl2PgorICAgICAgICAgICAgICAgICR7TGVnZW5kTGFi
ZWwoCisgICAgICAgICAgICAgICAgICAgIHVwZGF0ZUxhYmVsRXZlbnRzLAorICAgICAgICAgICAg
ICAgICAgICBwbHVyYWwgPyAnU29tZSB0ZXN0cyB1bmV4cGVjdGVkbHkgZmFpbGVkJyA6ICdVbmV4
cGVjdGVkbHkgZmFpbGVkJywKKyAgICAgICAgICAgICAgICAgICAgcGx1cmFsID8gJ1NvbWUgdGVz
dHMgZmFpbGVkJyA6ICdUZXN0IGZhaWxlZCcsCisgICAgICAgICAgICAgICAgKX0KKyAgICAgICAg
ICAgIDwvZGl2PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iaXRlbSI+CisgICAgICAgICAgICAg
ICAgPGRpdiBjbGFzcz0iZG90IHRpbWVvdXQiPjwvZGl2PgorICAgICAgICAgICAgICAgICR7TGVn
ZW5kTGFiZWwoCisgICAgICAgICAgICAgICAgICAgIHVwZGF0ZUxhYmVsRXZlbnRzLAorICAgICAg
ICAgICAgICAgICAgICBwbHVyYWwgPyAnU29tZSB0ZXN0cyB1bmV4cGVjdGVkbHkgdGltZWQgb3V0
JyA6ICdVbmV4cGVjdGVkbHkgdGltZWQgb3V0JywKKyAgICAgICAgICAgICAgICAgICAgcGx1cmFs
ID8gJ1NvbWUgdGVzdHMgdGltZWQgb3V0JyA6ICdUZXN0IHRpbWVkIG91dCcsCisgICAgICAgICAg
ICAgICAgKX0KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iaXRl
bSI+CisgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZG90IGNyYXNoIj48L2Rpdj4KKyAgICAg
ICAgICAgICAgICAke0xlZ2VuZExhYmVsKAorICAgICAgICAgICAgICAgICAgICB1cGRhdGVMYWJl
bEV2ZW50cywKKyAgICAgICAgICAgICAgICAgICAgcGx1cmFsID8gJ1NvbWUgdGVzdHMgdW5leHBl
Y3RlZGx5IGNyYXNoZWQnIDogJ1VuZXhwZWN0ZWRseSBjcmFzaGVkJywKKyAgICAgICAgICAgICAg
ICAgICAgcGx1cmFsID8gJ1NvbWUgdGVzdHMgY3Jhc2hlZCcgOiAnVGVzdCBjcmFzaGVkJywKKyAg
ICAgICAgICAgICAgICApfQogICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICA8YnI+CiAg
ICAgICAgIDwvZGl2PmA7CisKKyAgICBpZiAoY2FsbGJhY2spIHsKKyAgICAgICAgY29uc3Qgc3d0
Y2ggPSBSRUYuY3JlYXRlUmVmKHsKKyAgICAgICAgICAgIG9uRWxlbWVudE1vdW50OiAoZWxlbWVu
dCkgPT4geworICAgICAgICAgICAgICAgIGVsZW1lbnQub25jaGFuZ2UgPSAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgICAgIGlmIChlbGVtZW50LmNoZWNrZWQpCisgICAgICAgICAgICAgICAgICAg
ICAgICB3aWxsRmlsdGVyRXhwZWN0ZWQgPSB0cnVlOworICAgICAgICAgICAgICAgICAgICBlbHNl
CisgICAgICAgICAgICAgICAgICAgICAgICB3aWxsRmlsdGVyRXhwZWN0ZWQgPSBmYWxzZTsKKyAg
ICAgICAgICAgICAgICAgICAgdXBkYXRlTGFiZWxFdmVudHMuYWRkKHdpbGxGaWx0ZXJFeHBlY3Rl
ZCk7CisgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrKCk7CisgICAgICAgICAgICAgICAgfTsK
KyAgICAgICAgICAgIH0sCisgICAgICAgIH0pOworCisgICAgICAgIHJlc3VsdCArPSBgPGRpdiBj
bGFzcz0iaW5wdXQiIHN0eWxlPSJ3aWR0aDo0MDBweCI+CisgICAgICAgICAgICA8bGFiZWw+Rmls
dGVyIGV4cGVjdGVkIHJlc3VsdHM8L2xhYmVsPgorICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJz
d2l0Y2giPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJjaGVja2JveCIke3dpbGxGaWx0
ZXJFeHBlY3RlZCA/ICcgY2hlY2tlZCc6ICcnfSByZWY9IiR7c3d0Y2h9Ij4KKyAgICAgICAgICAg
ICAgICA8c3BhbiBjbGFzcz0ic2xpZGVyIj48L3NwYW4+CisgICAgICAgICAgICA8L2xhYmVsPgor
ICAgICAgICA8L2Rpdj5gOworICAgIH0KKworICAgIHJldHVybiBgPGRpdiBjbGFzcz0iY29udGVu
dCI+JHtyZXN1bHR9PC9kaXY+PGJyPmA7CiB9CiAKIGV4cG9ydCB7TGVnZW5kLCBUaW1lbGluZSwg
RXhwZWN0YXRpb25zfTsKSW5kZXg6IFRvb2xzL3Jlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5L3ZpZXcv
dGVtcGxhdGVzL3NlYXJjaC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL3Jlc3VsdHNkYnB5L3Jl
c3VsdHNkYnB5L3ZpZXcvdGVtcGxhdGVzL3NlYXJjaC5odG1sCShyZXZpc2lvbiAyNDc4NzUpCisr
KyBUb29scy9yZXN1bHRzZGJweS9yZXN1bHRzZGJweS92aWV3L3RlbXBsYXRlcy9zZWFyY2guaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMTI3LDcgKzEyNywxMSBAQCBjbGFzcyBTZWFyY2hWaWV3IHsK
ICAgICAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgICAgICBpZiAoZGlmZi5jaGlsZHJlbikK
LSAgICAgICAgICAgICAgICAgICAgRE9NLmluamVjdChlbGVtZW50LCBMZWdlbmQoKSArIGRpZmYu
Y2hpbGRyZW4ubWFwKHJlbmRlckNoaWxkKS5qb2luKCcnKSk7CisgICAgICAgICAgICAgICAgICAg
IERPTS5pbmplY3QoZWxlbWVudCwgTGVnZW5kKCgpID0+IHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIHNlbGYucmVmLnN0YXRlLmNoaWxkcmVuLmZvckVhY2goKGNoaWxkKSA9PiB7CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY2hpbGQudGltZWxpbmUucmVyZW5kZXIoKTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgICAgICAgICB9LCBmYWxzZSkgKyBkaWZm
LmNoaWxkcmVuLm1hcChyZW5kZXJDaGlsZCkuam9pbignJykpOwogICAgICAgICAgICAgICAgIGlm
IChkaWZmLnByZXBlbmRpbmcpIHsKICAgICAgICAgICAgICAgICAgICAgZGlmZi5wcmVwZW5kaW5n
LmZvckVhY2goY2hpbGQgPT4gewogICAgICAgICAgICAgICAgICAgICAgICAgRE9NLmFmdGVyKGVs
ZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQsIHJlbmRlckNoaWxkKGNoaWxkKSk7CkluZGV4OiBUb29s
cy9yZXN1bHRzZGJweS9yZXN1bHRzZGJweS92aWV3L3RlbXBsYXRlcy9zdWl0ZV9yZXN1bHRzLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvcmVzdWx0c2RicHkvcmVzdWx0c2RicHkvdmlldy90ZW1w
bGF0ZXMvc3VpdGVfcmVzdWx0cy5odG1sCShyZXZpc2lvbiAyNDc4NzUpCisrKyBUb29scy9yZXN1
bHRzZGJweS9yZXN1bHRzZGJweS92aWV3L3RlbXBsYXRlcy9zdWl0ZV9yZXN1bHRzLmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTE0MSw3ICsxNDEsMTEgQEAgY2xhc3MgTWFpblZpZXcgewogICAgIH0K
ICAgICByZW5kZXIoc3VpdGVzKSB7CiAgICAgICAgIGxldCBjaGlsZHJlbiA9IHRoaXMuY2hpbGRy
ZW47Ci0gICAgICAgIHJldHVybiBMZWdlbmQoKSArIHN1aXRlcy5tYXAoc3VpdGUgPT4geworICAg
ICAgICByZXR1cm4gTGVnZW5kKCgpID0+IHsKKyAgICAgICAgICAgIGZvciAobGV0IHN1aXRlIGlu
IGNoaWxkcmVuKSB7CisgICAgICAgICAgICAgICAgY2hpbGRyZW5bc3VpdGVdLnJlcmVuZGVyKCk7
CisgICAgICAgICAgICB9CisgICAgICAgIH0sIHRydWUpICsgc3VpdGVzLm1hcChzdWl0ZSA9PiB7
CiAgICAgICAgICAgICByZXR1cm4gYDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICAgICAgICAg
ICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgPGRp
diBjbGFzcz0idGl0bGUiPiR7c3VpdGV9PC9kaXY+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>