<?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>190497</bug_id>
          
          <creation_ts>2018-10-11 15:35:25 -0700</creation_ts>
          <short_desc>Web Inspector: Canvas Recording loading goes significantly slower when &quot;Frame&quot; tree element is expanded</short_desc>
          <delta_ts>2018-10-25 18:34:22 -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>Web Inspector</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=190484</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=190483</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>
          
          <blocked>175485</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>hi</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>joepeck</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1468213</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2018-10-11 15:35:25 -0700</bug_when>
    <thetext>Canvas Recording loading goes significantly slower when &quot;Frame&quot; tree element is expanded

Steps to Reproduce:
1. Inspect &lt;https://devinrousso.com/demo/DoubleHelixCircle.html&gt;
2. Make Inspector Window very large
3. Capture a single frame recording
  =&gt; Notice frame loading is going smoothly
4. Expand &quot;Frame 1&quot; tree element
  =&gt; Loading goes significantly slower</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1468380</commentid>
    <comment_count>1</comment_count>
      <attachid>352146</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2018-10-12 00:02:47 -0700</bug_when>
    <thetext>Created attachment 352146
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1468381</commentid>
    <comment_count>2</comment_count>
      <attachid>352147</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2018-10-12 00:21:11 -0700</bug_when>
    <thetext>Created attachment 352147
Patch

Remove the previous system of remembering the index in favor of thottling</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1468382</commentid>
    <comment_count>3</comment_count>
      <attachid>352148</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2018-10-12 00:29:10 -0700</bug_when>
    <thetext>Created attachment 352148
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1468680</commentid>
    <comment_count>4</comment_count>
      <attachid>352229</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2018-10-12 16:10:38 -0700</bug_when>
    <thetext>Created attachment 352229
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1469963</commentid>
    <comment_count>5</comment_count>
      <attachid>352229</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2018-10-16 17:07:03 -0700</bug_when>
    <thetext>Comment on attachment 352229
Patch

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

&gt; Source/WebInspectorUI/UserInterface/Base/Utilities.js:142
&gt; +Object.defineProperty(Set.prototype, &quot;contains&quot;,
&gt; +{
&gt; +    value(other)
&gt; +    {
&gt; +        if (!this.size || !other.size)
&gt; +            return false;

Nit: Should we name this `containsSet` or invert it and name `isSubsetOf`? Right now `contains` sounds just like `has` given the API name in other places...

Shouldn&apos;t a non-empty Set contain the empty Set?

    let s = new Set([1]);
    let x = new Set;
    s.contains(x); // expect true

In which case we would just drop this early return.

&gt; Source/WebInspectorUI/UserInterface/Views/TreeOutline.js:737
&gt; +                    return;

This early return seems super sketchy. It looks ike the spacers are being resized below, which I would expect might need to always happen.

&gt; LayoutTests/inspector/unit-tests/set-utilities.html:25
&gt; +            testFalse([], [], &quot;empy sets should not intersect.&quot;);

Typo: &quot;empy&quot; =&gt; &quot;empty&quot;

&gt; LayoutTests/inspector/unit-tests/set-utilities.html:49
&gt; +            testFalse([], [], &quot;an empy sets should not contain another empty set.&quot;);

Typo: &quot;empy&quot; =&gt; &quot;empty&quot;

&gt; LayoutTests/inspector/unit-tests/set-utilities.html:53
&gt; +

I&apos;d expect a non-empty set to contain the empty set. Need a test for that since currently the results doesn&apos;t match my expectations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1469982</commentid>
    <comment_count>6</comment_count>
      <attachid>352229</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2018-10-16 18:00:04 -0700</bug_when>
    <thetext>Comment on attachment 352229
Patch

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

&gt;&gt; Source/WebInspectorUI/UserInterface/Views/TreeOutline.js:737
&gt;&gt; +                    return;
&gt; 
&gt; This early return seems super sketchy. It looks ike the spacers are being resized below, which I would expect might need to always happen.

We don&apos;t want to update the spacers unless we are moving DOM nodes around.  If we aren&apos;t adding/removing DOM nodes, regular scrolling works as expected.  The only time we want to update spacers is when we are trying to add new elements that are in a different scroll position than what was shown before.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1469984</commentid>
    <comment_count>7</comment_count>
      <attachid>352529</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2018-10-16 18:01:27 -0700</bug_when>
    <thetext>Created attachment 352529
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1472181</commentid>
    <comment_count>8</comment_count>
      <attachid>352529</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2018-10-25 13:57:39 -0700</bug_when>
    <thetext>Comment on attachment 352529
Patch

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

r=me

&gt; Source/WebInspectorUI/UserInterface/Base/Utilities.js:134
&gt; +    },

Let&apos;s remove the trailing comma on these because we don&apos;t ever expect any other properties.

&gt; Source/WebInspectorUI/UserInterface/Base/Utilities.js:147
&gt; +    },

Let&apos;s remove the trailing comma on these because we don&apos;t ever expect any other properties.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1472240</commentid>
    <comment_count>9</comment_count>
      <attachid>353126</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2018-10-25 16:22:10 -0700</bug_when>
    <thetext>Created attachment 353126
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1472263</commentid>
    <comment_count>10</comment_count>
      <attachid>353126</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-10-25 16:59:51 -0700</bug_when>
    <thetext>Comment on attachment 353126
Patch

Clearing flags on attachment: 353126

Committed r237436: &lt;https://trac.webkit.org/changeset/237436&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1472264</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-10-25 16:59:53 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1472265</commentid>
    <comment_count>12</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-10-25 17:01:04 -0700</bug_when>
    <thetext>&lt;rdar://problem/45572257&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>352146</attachid>
            <date>2018-10-12 00:02:47 -0700</date>
            <delta_ts>2018-10-12 00:21:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190497-20181012000246.patch</filename>
            <type>text/plain</type>
            <size>10161</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDRiOTY4NmY3OGIzYTc5MzQwNTkyZDA4ZTEyMTRk
ZDI4NmUyYzNjMzIuLjIyYTVmZDBiMzk4OTBkZmZhNzAwOWIwOGZhZjg5OWNkM2U3MWIyOTEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE4LTEwLTExICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBD
YW52YXMgUmVjb3JkaW5nIGxvYWRpbmcgZ29lcyBzaWduaWZpY2FudGx5IHNsb3dlciB3aGVuICJG
cmFtZSIgdHJlZSBlbGVtZW50IGlzIGV4cGFuZGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA0OTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvQmFzZS9VdGlsaXRpZXMuanM6
CisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1RyZWVPdXRsaW5lLmpzOgorICAgICAg
ICAoV0kuVHJlZU91dGxpbmUpOgorICAgICAgICAoV0kuVHJlZU91dGxpbmUucHJvdG90eXBlLnJl
Z2lzdGVyU2Nyb2xsVmlydHVhbGl6ZXIpOgorICAgICAgICAoV0kuVHJlZU91dGxpbmUucHJvdG90
eXBlLnVwZGF0ZVZpcnR1YWxpemVkRWxlbWVudHMud2Fsayk6CisgICAgICAgIChXSS5UcmVlT3V0
bGluZS5wcm90b3R5cGUudXBkYXRlVmlydHVhbGl6ZWRFbGVtZW50cyk6CisgICAgICAgIFNhdmUg
YSBzZXQgb2YgYFdJLlRyZWVFbGVtZW50YCB0aGF0IGFyZSBjdXJyZW50bHkgaW4gdGhlIERPTSwg
YW5kIGNvbXBhcmUgdGhhdCB3aXRoIHRoZSBzZXQKKyAgICAgICAgdGhhdCB3b3VsZCBiZSBhZGRl
ZCB0byB0aGUgRE9NIGFmdGVyIHVwZGF0aW5nLiBJZiB0aGUgaW50ZXJzZWN0aW9uIG9mIHRoZSBl
eGlzdGluZyBzZXQgYW5kCisgICAgICAgIHRoZSBzZXQgdGhhdCB3b3VsZCBiZSBhZGRlZCBpcyBs
YXJnZXIgdGhhbiB0aGUgbnVtYmVyIHNob3dpbmcsIGRvbid0IHVwZGF0ZSAodGhlIGBleHRyYVJv
d3NgCisgICAgICAgICJwYWRkaW5nIiBvbiBlaXRoZXIgc2lkZSBtZWFucyB0aGVyZSB3aWxsIHN0
aWxsIGJlIGBXSS5UcmVlRWxlbWVudGAgdmlzaWJsZSkuCisKIDIwMTgtMTAtMTEgIERldmluIFJv
dXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IE5ldHdv
cms6IGRldGFpbCB2aWV3IHJldmVydHMgdG8gIlJlc3BvbnNlIiB3aGVuIG5ldyByZXF1ZXN0cyBh
cmUgYWRkZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L0Jhc2UvVXRpbGl0aWVzLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
QmFzZS9VdGlsaXRpZXMuanMKaW5kZXggYWEwNWQzNzJjODg2MGU5OWNhZjZlNGI5YWFjOWZhODRm
Yzg3YzYyMS4uM2JiNWQ3MmRjMjVlNjZjOTJlOTIzNTM2YzFmNjI5ZmMyNjcyYWNmOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9VdGlsaXRpZXMu
anMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9VdGlsaXRp
ZXMuanMKQEAgLTExOCw2ICsxMTgsMTkgQEAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE1hcC5wcm90
b3R5cGUsICJ0YWtlIiwKICAgICB9CiB9KTsKIAorT2JqZWN0LmRlZmluZVByb3BlcnR5KFNldC5w
cm90b3R5cGUsICJpbnRlcnNlY3Rpb24iLAoreworICAgIHZhbHVlKG90aGVyKQorICAgIHsKKyAg
ICAgICAgbGV0IHJlc3VsdCA9IG5ldyBTZXQ7CisgICAgICAgIGZvciAobGV0IGl0ZW0gb2YgdGhp
cykgeworICAgICAgICAgICAgaWYgKG90aGVyLmhhcyhpdGVtKSkKKyAgICAgICAgICAgICAgICBy
ZXN1bHQuYWRkKGl0ZW0pOworICAgICAgICB9CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAg
fSwKK30pOworCiBPYmplY3QuZGVmaW5lUHJvcGVydHkoTm9kZS5wcm90b3R5cGUsICJlbmNsb3Np
bmdOb2RlT3JTZWxmV2l0aENsYXNzIiwKIHsKICAgICB2YWx1ZShjbGFzc05hbWUpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UcmVlT3V0bGlu
ZS5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RyZWVPdXRs
aW5lLmpzCmluZGV4IGViNjNhYjAyOGVhZTIyOWVkMDUxNTZkN2E1Nzg5Nzk0NDUxY2Y0NGQuLjhi
YWZhOWQyMTZiYjMyMzA0YmE1ODM2ZWViMDI5MDllYWI1NWU5MTkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RyZWVPdXRsaW5lLmpzCisrKyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RyZWVPdXRsaW5lLmpz
CkBAIC01NSw2ICs1NSw3IEBAIFdJLlRyZWVPdXRsaW5lID0gY2xhc3MgVHJlZU91dGxpbmUgZXh0
ZW5kcyBXSS5PYmplY3QKICAgICAgICAgdGhpcy5fY3VzdG9tSW5kZW50ID0gZmFsc2U7CiAgICAg
ICAgIHRoaXMuX3NlbGVjdGFibGUgPSBzZWxlY3RhYmxlOwogCisgICAgICAgIHRoaXMuX3ZpcnR1
YWxpemVkU2hvd25UcmVlRWxlbWVudHMgPSBudWxsOwogICAgICAgICB0aGlzLl92aXJ0dWFsaXpl
ZEN1cnJlbnRNaWRkbGVJdGVtID0gTmFOOwogICAgICAgICB0aGlzLl92aXJ0dWFsaXplZFNjcm9s
bENvbnRhaW5lciA9IG51bGw7CiAgICAgICAgIHRoaXMuX3ZpcnR1YWxpemVkVHJlZUl0ZW1IZWln
aHQgPSBOYU47CkBAIC02NTQsNiArNjU1LDcgQEAgV0kuVHJlZU91dGxpbmUgPSBjbGFzcyBUcmVl
T3V0bGluZSBleHRlbmRzIFdJLk9iamVjdAogICAgIHsKICAgICAgICAgY29uc29sZS5hc3NlcnQo
IWlzTmFOKHRyZWVJdGVtSGVpZ2h0KSk7CiAKKyAgICAgICAgdGhpcy5fdmlydHVhbGl6ZWRTaG93
blRyZWVFbGVtZW50cyA9IG5ldyBTZXQ7CiAgICAgICAgIHRoaXMuX3ZpcnR1YWxpemVkU2Nyb2xs
Q29udGFpbmVyID0gc2Nyb2xsQ29udGFpbmVyOwogICAgICAgICB0aGlzLl92aXJ0dWFsaXplZFRy
ZWVJdGVtSGVpZ2h0ID0gdHJlZUl0ZW1IZWlnaHQ7CiAgICAgICAgIHRoaXMuX3ZpcnR1YWxpemVk
VG9wU3BhY2VyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CkBAIC02NzgsMTEgKzY4
MCw3IEBAIFdJLlRyZWVPdXRsaW5lID0gY2xhc3MgVHJlZU91dGxpbmUgZXh0ZW5kcyBXSS5PYmpl
Y3QKICAgICAgICAgICAgICAgICBpZiAoIWNoaWxkLnJldmVhbGVkKGZhbHNlKSkKICAgICAgICAg
ICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAgICAgICAgICAgICBzaG91bGRSZXR1cm4gPSBj
YWxsYmFjayh7Ci0gICAgICAgICAgICAgICAgICAgIHBhcmVudCwKLSAgICAgICAgICAgICAgICAg
ICAgdHJlZUVsZW1lbnQ6IGNoaWxkLAotICAgICAgICAgICAgICAgICAgICBjb3VudCwKLSAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgICAgICBzaG91bGRSZXR1cm4gPSBjYWxsYmFjayhj
aGlsZCwgY291bnQpOwogICAgICAgICAgICAgICAgIGlmIChzaG91bGRSZXR1cm4pCiAgICAgICAg
ICAgICAgICAgICAgIGJyZWFrOwogCkBAIC03MDEsNyArNjk5LDcgQEAgV0kuVHJlZU91dGxpbmUg
PSBjbGFzcyBUcmVlT3V0bGluZSBleHRlbmRzIFdJLk9iamVjdAogCiAgICAgICAgIGxldCBzaG91
bGRTY3JvbGwgPSBmYWxzZTsKICAgICAgICAgaWYgKGZvY3VzZWRUcmVlRWxlbWVudCAmJiBmb2N1
c2VkVHJlZUVsZW1lbnQucmV2ZWFsZWQoZmFsc2UpKSB7Ci0gICAgICAgICAgICBsZXQgaW5kZXgg
PSB3YWxrKHRoaXMsICh7dHJlZUVsZW1lbnR9KSA9PiB0cmVlRWxlbWVudCA9PT0gZm9jdXNlZFRy
ZWVFbGVtZW50KS5jb3VudDsKKyAgICAgICAgICAgIGxldCBpbmRleCA9IHdhbGsodGhpcywgKHRy
ZWVFbGVtZW50KSA9PiB0cmVlRWxlbWVudCA9PT0gZm9jdXNlZFRyZWVFbGVtZW50KS5jb3VudDsK
ICAgICAgICAgICAgIGlmIChpbmRleCA8IGZpcnN0SXRlbSkgewogICAgICAgICAgICAgICAgIGZp
cnN0SXRlbSA9IGluZGV4IC0gZXh0cmFSb3dzOwogICAgICAgICAgICAgICAgIGxhc3RJdGVtID0g
aW5kZXggKyBudW1iZXJWaXNpYmxlICsgZXh0cmFSb3dzOwpAQCAtNzE1LDIyICs3MTMsNDAgQEAg
V0kuVHJlZU91dGxpbmUgPSBjbGFzcyBUcmVlT3V0bGluZSBleHRlbmRzIFdJLk9iamVjdAogICAg
ICAgICAgICAgc2hvdWxkU2Nyb2xsID0gKGluZGV4IDwgZmlyc3RJdGVtICsgZXh0cmFSb3dzKSB8
fCAoaW5kZXggPiBsYXN0SXRlbSAtIGV4dHJhUm93cyk7CiAgICAgICAgIH0KIAotICAgICAgICBs
ZXQgdG90YWxJdGVtcyA9IHdhbGsodGhpcywgKHtwYXJlbnQsIHRyZWVFbGVtZW50LCBjb3VudH0p
ID0+IHsKKyAgICAgICAgbGV0IHZpc2libGVUcmVlRWxlbWVudHMgPSBuZXcgU2V0OworICAgICAg
ICBsZXQgdHJlZUVsZW1lbnRzVG9TaG93ID0gbmV3IFNldDsKKyAgICAgICAgbGV0IHRyZWVFbGVt
ZW50c1RvSGlkZSA9IG5ldyBTZXQ7CisgICAgICAgIGxldCB0b3RhbEl0ZW1zID0gd2Fsayh0aGlz
LCAodHJlZUVsZW1lbnQsIGNvdW50KSA9PiB7CiAgICAgICAgICAgICBpZiAoY291bnQgPj0gZmly
c3RJdGVtICYmIGNvdW50IDw9IGxhc3RJdGVtKSB7Ci0gICAgICAgICAgICAgICAgcGFyZW50Ll9j
aGlsZHJlbkxpc3ROb2RlLmFwcGVuZENoaWxkKHRyZWVFbGVtZW50LmVsZW1lbnQpOwotICAgICAg
ICAgICAgICAgIGlmICh0cmVlRWxlbWVudC5fY2hpbGRyZW5MaXN0Tm9kZSkKLSAgICAgICAgICAg
ICAgICAgICAgcGFyZW50Ll9jaGlsZHJlbkxpc3ROb2RlLmFwcGVuZENoaWxkKHRyZWVFbGVtZW50
Ll9jaGlsZHJlbkxpc3ROb2RlKTsKLSAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAg
IHRyZWVFbGVtZW50LmVsZW1lbnQucmVtb3ZlKCk7CisgICAgICAgICAgICAgICAgdHJlZUVsZW1l
bnRzVG9TaG93LmFkZCh0cmVlRWxlbWVudCk7CisgICAgICAgICAgICAgICAgaWYgKGNvdW50ID49
IGZpcnN0SXRlbSArIGV4dHJhUm93cyAmJiBjb3VudCA8PSBsYXN0SXRlbSAtIGV4dHJhUm93cykK
KyAgICAgICAgICAgICAgICAgICAgdmlzaWJsZVRyZWVFbGVtZW50cy5hZGQodHJlZUVsZW1lbnQp
OworICAgICAgICAgICAgfSBlbHNlIGlmICh0cmVlRWxlbWVudC5lbGVtZW50LnBhcmVudE5vZGUp
CisgICAgICAgICAgICAgICAgdHJlZUVsZW1lbnRzVG9IaWRlLmFkZCh0cmVlRWxlbWVudCk7CiAK
ICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfSkuY291bnQ7CiAKKyAgICAgICAg
aWYgKCFzaG91bGRTY3JvbGwgJiYgdHJlZUVsZW1lbnRzVG9TaG93LnNpemUgPiBsYXN0SXRlbSAt
IGZpcnN0SXRlbSAmJiB0aGlzLl92aXJ0dWFsaXplZFNob3duVHJlZUVsZW1lbnRzLmludGVyc2Vj
dGlvbih2aXNpYmxlVHJlZUVsZW1lbnRzKS5zaXplID4gbnVtYmVyVmlzaWJsZSkKKyAgICAgICAg
ICAgIHJldHVybjsKKworICAgICAgICBmb3IgKGxldCB0cmVlRWxlbWVudCBvZiB0cmVlRWxlbWVu
dHNUb0hpZGUpCisgICAgICAgICAgICB0cmVlRWxlbWVudC5lbGVtZW50LnJlbW92ZSgpOworCisg
ICAgICAgIHRoaXMuX3ZpcnR1YWxpemVkU2hvd25UcmVlRWxlbWVudHMgPSB0cmVlRWxlbWVudHNU
b1Nob3c7CisgICAgICAgIGZvciAobGV0IHRyZWVFbGVtZW50IG9mIHRoaXMuX3ZpcnR1YWxpemVk
U2hvd25UcmVlRWxlbWVudHMpIHsKKyAgICAgICAgICAgIHRyZWVFbGVtZW50LnBhcmVudC5fY2hp
bGRyZW5MaXN0Tm9kZS5hcHBlbmRDaGlsZCh0cmVlRWxlbWVudC5lbGVtZW50KTsKKyAgICAgICAg
ICAgIGlmICh0cmVlRWxlbWVudC5fY2hpbGRyZW5MaXN0Tm9kZSkKKyAgICAgICAgICAgICAgICB0
cmVlRWxlbWVudC5wYXJlbnQuX2NoaWxkcmVuTGlzdE5vZGUuYXBwZW5kQ2hpbGQodHJlZUVsZW1l
bnQuX2NoaWxkcmVuTGlzdE5vZGUpOworICAgICAgICB9CisKICAgICAgICAgdGhpcy5fdmlydHVh
bGl6ZWRUb3BTcGFjZXIuc3R5bGUuaGVpZ2h0ID0gKE1hdGgubWF4KGZpcnN0SXRlbSwgMCkgKiB0
aGlzLl92aXJ0dWFsaXplZFRyZWVJdGVtSGVpZ2h0KSArICJweCI7Ci0gICAgICAgIHRoaXMuZWxl
bWVudC5wYXJlbnROb2RlLmluc2VydEJlZm9yZSh0aGlzLl92aXJ0dWFsaXplZFRvcFNwYWNlciwg
dGhpcy5lbGVtZW50KTsKKyAgICAgICAgaWYgKHRoaXMuZWxlbWVudC5wcmV2aW91c0VsZW1lbnRT
aWJsaW5nICE9PSB0aGlzLl92aXJ0dWFsaXplZFRvcFNwYWNlcikKKyAgICAgICAgICAgIHRoaXMu
ZWxlbWVudC5wYXJlbnROb2RlLmluc2VydEJlZm9yZSh0aGlzLl92aXJ0dWFsaXplZFRvcFNwYWNl
ciwgdGhpcy5lbGVtZW50KTsKIAogICAgICAgICB0aGlzLl92aXJ0dWFsaXplZEJvdHRvbVNwYWNl
ci5zdHlsZS5oZWlnaHQgPSAoTWF0aC5tYXgodG90YWxJdGVtcyAtIGxhc3RJdGVtLCAwKSAqIHRo
aXMuX3ZpcnR1YWxpemVkVHJlZUl0ZW1IZWlnaHQpICsgInB4IjsKLSAgICAgICAgdGhpcy5lbGVt
ZW50LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHRoaXMuX3ZpcnR1YWxpemVkQm90dG9tU3BhY2Vy
LCB0aGlzLmVsZW1lbnQubmV4dEVsZW1lbnRTaWJsaW5nKTsKKyAgICAgICAgaWYgKHRoaXMuZWxl
bWVudC5uZXh0RWxlbWVudFNpYmxpbmcgIT09IHRoaXMuX3ZpcnR1YWxpemVkQm90dG9tU3BhY2Vy
KQorICAgICAgICAgICAgdGhpcy5lbGVtZW50LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHRoaXMu
X3ZpcnR1YWxpemVkQm90dG9tU3BhY2VyLCB0aGlzLmVsZW1lbnQubmV4dEVsZW1lbnRTaWJsaW5n
KTsKIAogICAgICAgICBpZiAoc2hvdWxkU2Nyb2xsKQogICAgICAgICAgICAgdGhpcy5fdmlydHVh
bGl6ZWRTY3JvbGxDb250YWluZXIuc2Nyb2xsVG9wID0gKGZpcnN0SXRlbSArIGV4dHJhUm93cykg
KiB0aGlzLl92aXJ0dWFsaXplZFRyZWVJdGVtSGVpZ2h0OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDQ0OGY1MGJkZDhlOGEz
YmZlYzI5ZGUyMmUxMmEwOGYwMzBjMzY0ZTQuLjczZDIzZjYxMTE4YTBhNWMyZDNhZWU3YWE4YTIz
MTI5ZGE5MmNiOTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxOC0xMC0xMSAgRGV2aW4gUm91
c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQ2FudmFz
IFJlY29yZGluZyBsb2FkaW5nIGdvZXMgc2lnbmlmaWNhbnRseSBzbG93ZXIgd2hlbiAiRnJhbWUi
IHRyZWUgZWxlbWVudCBpcyBleHBhbmRlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTkwNDk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvdW5pdC10ZXN0cy9zZXQtdXRpbGl0aWVzLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL3VuaXQtdGVzdHMvc2V0LXV0
aWxpdGllcy5odG1sOiBBZGRlZC4KKwogMjAxOC0xMC0wOCAgWXVzdWtlIFN1enVraSAgPHl1c3Vr
ZXN1enVraUBzbG93c3RhcnQub3JnPgogCiAgICAgICAgIFtKU0NdIEpTQyBzaG91bGQgaGF2ZSAi
cGFyc2VGdW5jdGlvbiIgdG8gb3B0aW1pemUgRnVuY3Rpb24gY29uc3RydWN0b3IKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci91bml0LXRlc3RzL3NldC11dGlsaXRpZXMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3VuaXQtdGVzdHMvc2V0LXV0aWxpdGllcy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDM3ZWI3Y2U4YTdkODM4MDZkZjhiOWZiMGU2YjdhMzUy
ODFlMDgxMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci91bml0LXRl
c3RzL3NldC11dGlsaXRpZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOCBAQAorCis9PSBSdW5u
aW5nIHRlc3Qgc3VpdGU6IFNldFV0aWxpdGllcworLS0gUnVubmluZyB0ZXN0IGNhc2U6IFNldC5w
cm90b3R5cGUuaW50ZXJzZWN0aW9uCitQQVNTOiBpbnRlcnNlY3Rpb24gb2YgZW1weSBzZXRzIHNo
b3VsZCBlcXVhbCBhbiBlbXB0eSBzZXQKK1BBU1M6IGludGVyc2VjdGlvbiBvZiBzZXRzIHdpdGgg
dGhlIHNhbWUgdmFsdWUgc2hvdWxkIGVxdWFsIGEgc2V0IHdpdGggdGhhdCB2YWx1ZQorUEFTUzog
aW50ZXJzZWN0aW9uIG9mIHNldHMgd2l0aCBkaWZmZXJlbnQgdmFsdWVzIHNob3VsZCBlcXVhbCBh
biBlbXB0eSBzZXQKK1BBU1M6IGludGVyc2VjdGlvbiBvZiBzZXRzIHdpdGggc2FtZSBhbmQgZGlm
ZmVyZW50IHZhbHVlcyBzaG91bGQgZXF1YWwgYSBzZXQgd2l0aCBvbmx5IHRoZSBzYW1lIHZhbHVl
cworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdW5pdC10ZXN0cy9zZXQtdXRp
bGl0aWVzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdW5pdC10ZXN0cy9zZXQtdXRpbGl0
aWVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZDNjN2QwN2UxZDJiODI1NjU3N2QyODBjZDM5YjNkNjk1NWZl
NGJhNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci91bml0LXRlc3Rz
L3NldC11dGlsaXRpZXMuaHRtbApAQCAtMCwwICsxLDM2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVz
b3VyY2VzL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiB0
ZXN0KCkKK3sKKyAgICBsZXQgc3VpdGUgPSBJbnNwZWN0b3JUZXN0LmNyZWF0ZVN5bmNTdWl0ZSgi
U2V0VXRpbGl0aWVzIik7CisKKyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAgICAgIG5hbWU6
ICJTZXQucHJvdG90eXBlLmludGVyc2VjdGlvbiIsCisgICAgICAgIHRlc3QoKSB7CisgICAgICAg
ICAgICBmdW5jdGlvbiB0ZXN0KGEsIGIsIHJlc3VsdEFycmF5LCBtZXNzYWdlKSB7CisgICAgICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RTaGFsbG93RXF1YWwoQXJyYXkuZnJvbSgobmV3
IFNldChhKSkuaW50ZXJzZWN0aW9uKG5ldyBTZXQoYikpKSwgcmVzdWx0QXJyYXksIG1lc3NhZ2Up
OworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBjb25zdCBvYmplY3QxID0ge2E6IDF9Owor
ICAgICAgICAgICAgY29uc3Qgb2JqZWN0MiA9IHtiOiAyfTsKKyAgICAgICAgICAgIGNvbnN0IG9i
amVjdDMgPSB7YzogM307CisKKyAgICAgICAgICAgIHRlc3QoW10sIFtdLCBbXSwgImludGVyc2Vj
dGlvbiBvZiBlbXB5IHNldHMgc2hvdWxkIGVxdWFsIGFuIGVtcHR5IHNldCIpOworICAgICAgICAg
ICAgdGVzdChbMSwgImEiLCBvYmplY3QxXSwgWzEsICJhIiwgb2JqZWN0MV0sIFsxLCAiYSIsIG9i
amVjdDFdLCAiaW50ZXJzZWN0aW9uIG9mIHNldHMgd2l0aCB0aGUgc2FtZSB2YWx1ZSBzaG91bGQg
ZXF1YWwgYSBzZXQgd2l0aCB0aGF0IHZhbHVlIik7CisgICAgICAgICAgICB0ZXN0KFsxLCAiYSIs
IG9iamVjdDFdLCBbMiwgImIiLCBvYmplY3QyXSwgW10sICJpbnRlcnNlY3Rpb24gb2Ygc2V0cyB3
aXRoIGRpZmZlcmVudCB2YWx1ZXMgc2hvdWxkIGVxdWFsIGFuIGVtcHR5IHNldCIpOworICAgICAg
ICAgICAgdGVzdChbMSwgMiwgImEiLCAiYiIsIG9iamVjdDEsIG9iamVjdDJdLCBbMSwgMywgImEi
LCAiYyIsIG9iamVjdDEsIG9iamVjdDNdLCBbMSwgImEiLCBvYmplY3QxXSwgImludGVyc2VjdGlv
biBvZiBzZXRzIHdpdGggc2FtZSBhbmQgZGlmZmVyZW50IHZhbHVlcyBzaG91bGQgZXF1YWwgYSBz
ZXQgd2l0aCBvbmx5IHRoZSBzYW1lIHZhbHVlcyIpOworCisgICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKKyAgICAgICAgfQorICAgIH0pOworCisgICAgc3VpdGUucnVuVGVzdENhc2VzQW5kRmluaXNo
KCk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9uTG9hZD0icnVuVGVzdCgpIj4KKzwv
Ym9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>352147</attachid>
            <date>2018-10-12 00:21:11 -0700</date>
            <delta_ts>2018-10-12 00:29:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190497-20181012002110.patch</filename>
            <type>text/plain</type>
            <size>10852</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDRiOTY4NmY3OGIzYTc5MzQwNTkyZDA4ZTEyMTRk
ZDI4NmUyYzNjMzIuLjIyYTVmZDBiMzk4OTBkZmZhNzAwOWIwOGZhZjg5OWNkM2U3MWIyOTEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE4LTEwLTExICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBD
YW52YXMgUmVjb3JkaW5nIGxvYWRpbmcgZ29lcyBzaWduaWZpY2FudGx5IHNsb3dlciB3aGVuICJG
cmFtZSIgdHJlZSBlbGVtZW50IGlzIGV4cGFuZGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA0OTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvQmFzZS9VdGlsaXRpZXMuanM6
CisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1RyZWVPdXRsaW5lLmpzOgorICAgICAg
ICAoV0kuVHJlZU91dGxpbmUpOgorICAgICAgICAoV0kuVHJlZU91dGxpbmUucHJvdG90eXBlLnJl
Z2lzdGVyU2Nyb2xsVmlydHVhbGl6ZXIpOgorICAgICAgICAoV0kuVHJlZU91dGxpbmUucHJvdG90
eXBlLnVwZGF0ZVZpcnR1YWxpemVkRWxlbWVudHMud2Fsayk6CisgICAgICAgIChXSS5UcmVlT3V0
bGluZS5wcm90b3R5cGUudXBkYXRlVmlydHVhbGl6ZWRFbGVtZW50cyk6CisgICAgICAgIFNhdmUg
YSBzZXQgb2YgYFdJLlRyZWVFbGVtZW50YCB0aGF0IGFyZSBjdXJyZW50bHkgaW4gdGhlIERPTSwg
YW5kIGNvbXBhcmUgdGhhdCB3aXRoIHRoZSBzZXQKKyAgICAgICAgdGhhdCB3b3VsZCBiZSBhZGRl
ZCB0byB0aGUgRE9NIGFmdGVyIHVwZGF0aW5nLiBJZiB0aGUgaW50ZXJzZWN0aW9uIG9mIHRoZSBl
eGlzdGluZyBzZXQgYW5kCisgICAgICAgIHRoZSBzZXQgdGhhdCB3b3VsZCBiZSBhZGRlZCBpcyBs
YXJnZXIgdGhhbiB0aGUgbnVtYmVyIHNob3dpbmcsIGRvbid0IHVwZGF0ZSAodGhlIGBleHRyYVJv
d3NgCisgICAgICAgICJwYWRkaW5nIiBvbiBlaXRoZXIgc2lkZSBtZWFucyB0aGVyZSB3aWxsIHN0
aWxsIGJlIGBXSS5UcmVlRWxlbWVudGAgdmlzaWJsZSkuCisKIDIwMTgtMTAtMTEgIERldmluIFJv
dXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IE5ldHdv
cms6IGRldGFpbCB2aWV3IHJldmVydHMgdG8gIlJlc3BvbnNlIiB3aGVuIG5ldyByZXF1ZXN0cyBh
cmUgYWRkZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L0Jhc2UvVXRpbGl0aWVzLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
QmFzZS9VdGlsaXRpZXMuanMKaW5kZXggYWEwNWQzNzJjODg2MGU5OWNhZjZlNGI5YWFjOWZhODRm
Yzg3YzYyMS4uM2JiNWQ3MmRjMjVlNjZjOTJlOTIzNTM2YzFmNjI5ZmMyNjcyYWNmOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9VdGlsaXRpZXMu
anMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9VdGlsaXRp
ZXMuanMKQEAgLTExOCw2ICsxMTgsMTkgQEAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE1hcC5wcm90
b3R5cGUsICJ0YWtlIiwKICAgICB9CiB9KTsKIAorT2JqZWN0LmRlZmluZVByb3BlcnR5KFNldC5w
cm90b3R5cGUsICJpbnRlcnNlY3Rpb24iLAoreworICAgIHZhbHVlKG90aGVyKQorICAgIHsKKyAg
ICAgICAgbGV0IHJlc3VsdCA9IG5ldyBTZXQ7CisgICAgICAgIGZvciAobGV0IGl0ZW0gb2YgdGhp
cykgeworICAgICAgICAgICAgaWYgKG90aGVyLmhhcyhpdGVtKSkKKyAgICAgICAgICAgICAgICBy
ZXN1bHQuYWRkKGl0ZW0pOworICAgICAgICB9CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAg
fSwKK30pOworCiBPYmplY3QuZGVmaW5lUHJvcGVydHkoTm9kZS5wcm90b3R5cGUsICJlbmNsb3Np
bmdOb2RlT3JTZWxmV2l0aENsYXNzIiwKIHsKICAgICB2YWx1ZShjbGFzc05hbWUpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UcmVlT3V0bGlu
ZS5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RyZWVPdXRs
aW5lLmpzCmluZGV4IGViNjNhYjAyOGVhZTIyOWVkMDUxNTZkN2E1Nzg5Nzk0NDUxY2Y0NGQuLmU3
MjVlOWQyM2IxZDAzODdlOWY2M2UwMjAzYmQzNTA2ZGE4YzlhZjIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RyZWVPdXRsaW5lLmpzCisrKyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RyZWVPdXRsaW5lLmpz
CkBAIC01NSw3ICs1NSw3IEBAIFdJLlRyZWVPdXRsaW5lID0gY2xhc3MgVHJlZU91dGxpbmUgZXh0
ZW5kcyBXSS5PYmplY3QKICAgICAgICAgdGhpcy5fY3VzdG9tSW5kZW50ID0gZmFsc2U7CiAgICAg
ICAgIHRoaXMuX3NlbGVjdGFibGUgPSBzZWxlY3RhYmxlOwogCi0gICAgICAgIHRoaXMuX3ZpcnR1
YWxpemVkQ3VycmVudE1pZGRsZUl0ZW0gPSBOYU47CisgICAgICAgIHRoaXMuX3ZpcnR1YWxpemVk
U2hvd25UcmVlRWxlbWVudHMgPSBudWxsOwogICAgICAgICB0aGlzLl92aXJ0dWFsaXplZFNjcm9s
bENvbnRhaW5lciA9IG51bGw7CiAgICAgICAgIHRoaXMuX3ZpcnR1YWxpemVkVHJlZUl0ZW1IZWln
aHQgPSBOYU47CiAgICAgICAgIHRoaXMuX3ZpcnR1YWxpemVkVG9wU3BhY2VyID0gbnVsbDsKQEAg
LTY1NCwxNiArNjU0LDE1IEBAIFdJLlRyZWVPdXRsaW5lID0gY2xhc3MgVHJlZU91dGxpbmUgZXh0
ZW5kcyBXSS5PYmplY3QKICAgICB7CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KCFpc05hTih0cmVl
SXRlbUhlaWdodCkpOwogCisgICAgICAgIHRoaXMuX3ZpcnR1YWxpemVkU2hvd25UcmVlRWxlbWVu
dHMgPSBuZXcgU2V0OwogICAgICAgICB0aGlzLl92aXJ0dWFsaXplZFNjcm9sbENvbnRhaW5lciA9
IHNjcm9sbENvbnRhaW5lcjsKICAgICAgICAgdGhpcy5fdmlydHVhbGl6ZWRUcmVlSXRlbUhlaWdo
dCA9IHRyZWVJdGVtSGVpZ2h0OwogICAgICAgICB0aGlzLl92aXJ0dWFsaXplZFRvcFNwYWNlciA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgICAgICB0aGlzLl92aXJ0dWFsaXpl
ZEJvdHRvbVNwYWNlciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogCisgICAgICAg
IGxldCB0aHJvdHRsZXIgPSB0aGlzLnRocm90dGxlKDEwMDAgLyAxNik7CiAgICAgICAgIHRoaXMu
X3ZpcnR1YWxpemVkU2Nyb2xsQ29udGFpbmVyLmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsIChl
dmVudCkgPT4gewotICAgICAgICAgICAgbGV0IHtudW1iZXJWaXNpYmxlLCBleHRyYVJvd3MsIGZp
cnN0SXRlbX0gPSB0aGlzLl9jYWxjdWxhdGVWaXJ0dWFsaXplZFZhbHVlcygpOwotCi0gICAgICAg
ICAgICBpZiAoTWF0aC5hYnMoZmlyc3RJdGVtICsgKG51bWJlclZpc2libGUgLyAyKSAtIHRoaXMu
X3ZpcnR1YWxpemVkQ3VycmVudE1pZGRsZUl0ZW0pID49IGV4dHJhUm93cykKLSAgICAgICAgICAg
ICAgICB0aGlzLnVwZGF0ZVZpcnR1YWxpemVkRWxlbWVudHMoKTsKKyAgICAgICAgICAgIHRocm90
dGxlci51cGRhdGVWaXJ0dWFsaXplZEVsZW1lbnRzKCk7CiAgICAgICAgIH0pOwogICAgIH0KIApA
QCAtNjc4LDExICs2NzcsNyBAQCBXSS5UcmVlT3V0bGluZSA9IGNsYXNzIFRyZWVPdXRsaW5lIGV4
dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgICAgICAgICAgaWYgKCFjaGlsZC5yZXZlYWxlZChmYWxz
ZSkpCiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgICAgICAgICAgc2hv
dWxkUmV0dXJuID0gY2FsbGJhY2soewotICAgICAgICAgICAgICAgICAgICBwYXJlbnQsCi0gICAg
ICAgICAgICAgICAgICAgIHRyZWVFbGVtZW50OiBjaGlsZCwKLSAgICAgICAgICAgICAgICAgICAg
Y291bnQsCi0gICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICAgICAgc2hvdWxkUmV0dXJu
ID0gY2FsbGJhY2soY2hpbGQsIGNvdW50KTsKICAgICAgICAgICAgICAgICBpZiAoc2hvdWxkUmV0
dXJuKQogICAgICAgICAgICAgICAgICAgICBicmVhazsKIApAQCAtNzAxLDcgKzY5Niw3IEBAIFdJ
LlRyZWVPdXRsaW5lID0gY2xhc3MgVHJlZU91dGxpbmUgZXh0ZW5kcyBXSS5PYmplY3QKIAogICAg
ICAgICBsZXQgc2hvdWxkU2Nyb2xsID0gZmFsc2U7CiAgICAgICAgIGlmIChmb2N1c2VkVHJlZUVs
ZW1lbnQgJiYgZm9jdXNlZFRyZWVFbGVtZW50LnJldmVhbGVkKGZhbHNlKSkgewotICAgICAgICAg
ICAgbGV0IGluZGV4ID0gd2Fsayh0aGlzLCAoe3RyZWVFbGVtZW50fSkgPT4gdHJlZUVsZW1lbnQg
PT09IGZvY3VzZWRUcmVlRWxlbWVudCkuY291bnQ7CisgICAgICAgICAgICBsZXQgaW5kZXggPSB3
YWxrKHRoaXMsICh0cmVlRWxlbWVudCkgPT4gdHJlZUVsZW1lbnQgPT09IGZvY3VzZWRUcmVlRWxl
bWVudCkuY291bnQ7CiAgICAgICAgICAgICBpZiAoaW5kZXggPCBmaXJzdEl0ZW0pIHsKICAgICAg
ICAgICAgICAgICBmaXJzdEl0ZW0gPSBpbmRleCAtIGV4dHJhUm93czsKICAgICAgICAgICAgICAg
ICBsYXN0SXRlbSA9IGluZGV4ICsgbnVtYmVyVmlzaWJsZSArIGV4dHJhUm93czsKQEAgLTcxNSwy
NyArNzEwLDQzIEBAIFdJLlRyZWVPdXRsaW5lID0gY2xhc3MgVHJlZU91dGxpbmUgZXh0ZW5kcyBX
SS5PYmplY3QKICAgICAgICAgICAgIHNob3VsZFNjcm9sbCA9IChpbmRleCA8IGZpcnN0SXRlbSAr
IGV4dHJhUm93cykgfHwgKGluZGV4ID4gbGFzdEl0ZW0gLSBleHRyYVJvd3MpOwogICAgICAgICB9
CiAKLSAgICAgICAgbGV0IHRvdGFsSXRlbXMgPSB3YWxrKHRoaXMsICh7cGFyZW50LCB0cmVlRWxl
bWVudCwgY291bnR9KSA9PiB7CisgICAgICAgIGxldCB2aXNpYmxlVHJlZUVsZW1lbnRzID0gbmV3
IFNldDsKKyAgICAgICAgbGV0IHRyZWVFbGVtZW50c1RvU2hvdyA9IG5ldyBTZXQ7CisgICAgICAg
IGxldCB0cmVlRWxlbWVudHNUb0hpZGUgPSBuZXcgU2V0OworICAgICAgICBsZXQgdG90YWxJdGVt
cyA9IHdhbGsodGhpcywgKHRyZWVFbGVtZW50LCBjb3VudCkgPT4gewogICAgICAgICAgICAgaWYg
KGNvdW50ID49IGZpcnN0SXRlbSAmJiBjb3VudCA8PSBsYXN0SXRlbSkgewotICAgICAgICAgICAg
ICAgIHBhcmVudC5fY2hpbGRyZW5MaXN0Tm9kZS5hcHBlbmRDaGlsZCh0cmVlRWxlbWVudC5lbGVt
ZW50KTsKLSAgICAgICAgICAgICAgICBpZiAodHJlZUVsZW1lbnQuX2NoaWxkcmVuTGlzdE5vZGUp
Ci0gICAgICAgICAgICAgICAgICAgIHBhcmVudC5fY2hpbGRyZW5MaXN0Tm9kZS5hcHBlbmRDaGls
ZCh0cmVlRWxlbWVudC5fY2hpbGRyZW5MaXN0Tm9kZSk7Ci0gICAgICAgICAgICB9IGVsc2UKLSAg
ICAgICAgICAgICAgICB0cmVlRWxlbWVudC5lbGVtZW50LnJlbW92ZSgpOworICAgICAgICAgICAg
ICAgIHRyZWVFbGVtZW50c1RvU2hvdy5hZGQodHJlZUVsZW1lbnQpOworICAgICAgICAgICAgICAg
IGlmIChjb3VudCA+PSBmaXJzdEl0ZW0gKyBleHRyYVJvd3MgJiYgY291bnQgPD0gbGFzdEl0ZW0g
LSBleHRyYVJvd3MpCisgICAgICAgICAgICAgICAgICAgIHZpc2libGVUcmVlRWxlbWVudHMuYWRk
KHRyZWVFbGVtZW50KTsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAodHJlZUVsZW1lbnQuZWxlbWVu
dC5wYXJlbnROb2RlKQorICAgICAgICAgICAgICAgIHRyZWVFbGVtZW50c1RvSGlkZS5hZGQodHJl
ZUVsZW1lbnQpOwogCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0pLmNvdW50
OwogCisgICAgICAgIGlmICghc2hvdWxkU2Nyb2xsICYmIHRyZWVFbGVtZW50c1RvU2hvdy5zaXpl
ID4gbGFzdEl0ZW0gLSBmaXJzdEl0ZW0gJiYgdGhpcy5fdmlydHVhbGl6ZWRTaG93blRyZWVFbGVt
ZW50cy5pbnRlcnNlY3Rpb24odmlzaWJsZVRyZWVFbGVtZW50cykuc2l6ZSA+IG51bWJlclZpc2li
bGUpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgZm9yIChsZXQgdHJlZUVsZW1lbnQg
b2YgdHJlZUVsZW1lbnRzVG9IaWRlKQorICAgICAgICAgICAgdHJlZUVsZW1lbnQuZWxlbWVudC5y
ZW1vdmUoKTsKKworICAgICAgICB0aGlzLl92aXJ0dWFsaXplZFNob3duVHJlZUVsZW1lbnRzID0g
dHJlZUVsZW1lbnRzVG9TaG93OworICAgICAgICBmb3IgKGxldCB0cmVlRWxlbWVudCBvZiB0aGlz
Ll92aXJ0dWFsaXplZFNob3duVHJlZUVsZW1lbnRzKSB7CisgICAgICAgICAgICB0cmVlRWxlbWVu
dC5wYXJlbnQuX2NoaWxkcmVuTGlzdE5vZGUuYXBwZW5kQ2hpbGQodHJlZUVsZW1lbnQuZWxlbWVu
dCk7CisgICAgICAgICAgICBpZiAodHJlZUVsZW1lbnQuX2NoaWxkcmVuTGlzdE5vZGUpCisgICAg
ICAgICAgICAgICAgdHJlZUVsZW1lbnQucGFyZW50Ll9jaGlsZHJlbkxpc3ROb2RlLmFwcGVuZENo
aWxkKHRyZWVFbGVtZW50Ll9jaGlsZHJlbkxpc3ROb2RlKTsKKyAgICAgICAgfQorCiAgICAgICAg
IHRoaXMuX3ZpcnR1YWxpemVkVG9wU3BhY2VyLnN0eWxlLmhlaWdodCA9IChNYXRoLm1heChmaXJz
dEl0ZW0sIDApICogdGhpcy5fdmlydHVhbGl6ZWRUcmVlSXRlbUhlaWdodCkgKyAicHgiOwotICAg
ICAgICB0aGlzLmVsZW1lbnQucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUodGhpcy5fdmlydHVhbGl6
ZWRUb3BTcGFjZXIsIHRoaXMuZWxlbWVudCk7CisgICAgICAgIGlmICh0aGlzLmVsZW1lbnQucHJl
dmlvdXNFbGVtZW50U2libGluZyAhPT0gdGhpcy5fdmlydHVhbGl6ZWRUb3BTcGFjZXIpCisgICAg
ICAgICAgICB0aGlzLmVsZW1lbnQucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUodGhpcy5fdmlydHVh
bGl6ZWRUb3BTcGFjZXIsIHRoaXMuZWxlbWVudCk7CiAKICAgICAgICAgdGhpcy5fdmlydHVhbGl6
ZWRCb3R0b21TcGFjZXIuc3R5bGUuaGVpZ2h0ID0gKE1hdGgubWF4KHRvdGFsSXRlbXMgLSBsYXN0
SXRlbSwgMCkgKiB0aGlzLl92aXJ0dWFsaXplZFRyZWVJdGVtSGVpZ2h0KSArICJweCI7Ci0gICAg
ICAgIHRoaXMuZWxlbWVudC5wYXJlbnROb2RlLmluc2VydEJlZm9yZSh0aGlzLl92aXJ0dWFsaXpl
ZEJvdHRvbVNwYWNlciwgdGhpcy5lbGVtZW50Lm5leHRFbGVtZW50U2libGluZyk7CisgICAgICAg
IGlmICh0aGlzLmVsZW1lbnQubmV4dEVsZW1lbnRTaWJsaW5nICE9PSB0aGlzLl92aXJ0dWFsaXpl
ZEJvdHRvbVNwYWNlcikKKyAgICAgICAgICAgIHRoaXMuZWxlbWVudC5wYXJlbnROb2RlLmluc2Vy
dEJlZm9yZSh0aGlzLl92aXJ0dWFsaXplZEJvdHRvbVNwYWNlciwgdGhpcy5lbGVtZW50Lm5leHRF
bGVtZW50U2libGluZyk7CiAKICAgICAgICAgaWYgKHNob3VsZFNjcm9sbCkKICAgICAgICAgICAg
IHRoaXMuX3ZpcnR1YWxpemVkU2Nyb2xsQ29udGFpbmVyLnNjcm9sbFRvcCA9IChmaXJzdEl0ZW0g
KyBleHRyYVJvd3MpICogdGhpcy5fdmlydHVhbGl6ZWRUcmVlSXRlbUhlaWdodDsKLQotICAgICAg
ICB0aGlzLl92aXJ0dWFsaXplZEN1cnJlbnRNaWRkbGVJdGVtID0gZmlyc3RJdGVtICsgKG51bWJl
clZpc2libGUgLyAyKTsKICAgICB9CiAKICAgICAvLyBQcm90ZWN0ZWQKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0NDhmNTBi
ZGQ4ZThhM2JmZWMyOWRlMjJlMTJhMDhmMDMwYzM2NGU0Li43M2QyM2Y2MTExOGEwYTVjMmQzYWVl
N2FhOGEyMzEyOWRhOTJjYjkxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTgtMTAtMTEgIERl
dmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6
IENhbnZhcyBSZWNvcmRpbmcgbG9hZGluZyBnb2VzIHNpZ25pZmljYW50bHkgc2xvd2VyIHdoZW4g
IkZyYW1lIiB0cmVlIGVsZW1lbnQgaXMgZXhwYW5kZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDQ5NworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogaW5zcGVjdG9yL3VuaXQtdGVzdHMvc2V0LXV0aWxp
dGllcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci91bml0LXRlc3Rz
L3NldC11dGlsaXRpZXMuaHRtbDogQWRkZWQuCisKIDIwMTgtMTAtMDggIFl1c3VrZSBTdXp1a2kg
IDx5dXN1a2VzdXp1a2lAc2xvd3N0YXJ0Lm9yZz4KIAogICAgICAgICBbSlNDXSBKU0Mgc2hvdWxk
IGhhdmUgInBhcnNlRnVuY3Rpb24iIHRvIG9wdGltaXplIEZ1bmN0aW9uIGNvbnN0cnVjdG9yCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdW5pdC10ZXN0cy9zZXQtdXRpbGl0aWVz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci91bml0LXRlc3RzL3NldC11dGls
aXRpZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQzN2ViN2NlOGE3ZDgzODA2ZGY4YjlmYjBl
NmI3YTM1MjgxZTA4MTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
dW5pdC10ZXN0cy9zZXQtdXRpbGl0aWVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDggQEAKKwor
PT0gUnVubmluZyB0ZXN0IHN1aXRlOiBTZXRVdGlsaXRpZXMKKy0tIFJ1bm5pbmcgdGVzdCBjYXNl
OiBTZXQucHJvdG90eXBlLmludGVyc2VjdGlvbgorUEFTUzogaW50ZXJzZWN0aW9uIG9mIGVtcHkg
c2V0cyBzaG91bGQgZXF1YWwgYW4gZW1wdHkgc2V0CitQQVNTOiBpbnRlcnNlY3Rpb24gb2Ygc2V0
cyB3aXRoIHRoZSBzYW1lIHZhbHVlIHNob3VsZCBlcXVhbCBhIHNldCB3aXRoIHRoYXQgdmFsdWUK
K1BBU1M6IGludGVyc2VjdGlvbiBvZiBzZXRzIHdpdGggZGlmZmVyZW50IHZhbHVlcyBzaG91bGQg
ZXF1YWwgYW4gZW1wdHkgc2V0CitQQVNTOiBpbnRlcnNlY3Rpb24gb2Ygc2V0cyB3aXRoIHNhbWUg
YW5kIGRpZmZlcmVudCB2YWx1ZXMgc2hvdWxkIGVxdWFsIGEgc2V0IHdpdGggb25seSB0aGUgc2Ft
ZSB2YWx1ZXMKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3VuaXQtdGVzdHMv
c2V0LXV0aWxpdGllcy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3VuaXQtdGVzdHMvc2V0
LXV0aWxpdGllcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQzYzdkMDdlMWQyYjgyNTY1NzdkMjgwY2QzOWIz
ZDY5NTVmZTRiYTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdW5p
dC10ZXN0cy9zZXQtdXRpbGl0aWVzLmh0bWwKQEAgLTAsMCArMSwzNiBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVj
dG9yL3Jlc291cmNlcy9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZnVu
Y3Rpb24gdGVzdCgpCit7CisgICAgbGV0IHN1aXRlID0gSW5zcGVjdG9yVGVzdC5jcmVhdGVTeW5j
U3VpdGUoIlNldFV0aWxpdGllcyIpOworCisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAg
ICBuYW1lOiAiU2V0LnByb3RvdHlwZS5pbnRlcnNlY3Rpb24iLAorICAgICAgICB0ZXN0KCkgewor
ICAgICAgICAgICAgZnVuY3Rpb24gdGVzdChhLCBiLCByZXN1bHRBcnJheSwgbWVzc2FnZSkgewor
ICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0U2hhbGxvd0VxdWFsKEFycmF5LmZy
b20oKG5ldyBTZXQoYSkpLmludGVyc2VjdGlvbihuZXcgU2V0KGIpKSksIHJlc3VsdEFycmF5LCBt
ZXNzYWdlKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgY29uc3Qgb2JqZWN0MSA9IHth
OiAxfTsKKyAgICAgICAgICAgIGNvbnN0IG9iamVjdDIgPSB7YjogMn07CisgICAgICAgICAgICBj
b25zdCBvYmplY3QzID0ge2M6IDN9OworCisgICAgICAgICAgICB0ZXN0KFtdLCBbXSwgW10sICJp
bnRlcnNlY3Rpb24gb2YgZW1weSBzZXRzIHNob3VsZCBlcXVhbCBhbiBlbXB0eSBzZXQiKTsKKyAg
ICAgICAgICAgIHRlc3QoWzEsICJhIiwgb2JqZWN0MV0sIFsxLCAiYSIsIG9iamVjdDFdLCBbMSwg
ImEiLCBvYmplY3QxXSwgImludGVyc2VjdGlvbiBvZiBzZXRzIHdpdGggdGhlIHNhbWUgdmFsdWUg
c2hvdWxkIGVxdWFsIGEgc2V0IHdpdGggdGhhdCB2YWx1ZSIpOworICAgICAgICAgICAgdGVzdChb
MSwgImEiLCBvYmplY3QxXSwgWzIsICJiIiwgb2JqZWN0Ml0sIFtdLCAiaW50ZXJzZWN0aW9uIG9m
IHNldHMgd2l0aCBkaWZmZXJlbnQgdmFsdWVzIHNob3VsZCBlcXVhbCBhbiBlbXB0eSBzZXQiKTsK
KyAgICAgICAgICAgIHRlc3QoWzEsIDIsICJhIiwgImIiLCBvYmplY3QxLCBvYmplY3QyXSwgWzEs
IDMsICJhIiwgImMiLCBvYmplY3QxLCBvYmplY3QzXSwgWzEsICJhIiwgb2JqZWN0MV0sICJpbnRl
cnNlY3Rpb24gb2Ygc2V0cyB3aXRoIHNhbWUgYW5kIGRpZmZlcmVudCB2YWx1ZXMgc2hvdWxkIGVx
dWFsIGEgc2V0IHdpdGggb25seSB0aGUgc2FtZSB2YWx1ZXMiKTsKKworICAgICAgICAgICAgcmV0
dXJuIHRydWU7CisgICAgICAgIH0KKyAgICB9KTsKKworICAgIHN1aXRlLnJ1blRlc3RDYXNlc0Fu
ZEZpbmlzaCgpOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbkxvYWQ9InJ1blRlc3Qo
KSI+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>352148</attachid>
            <date>2018-10-12 00:29:10 -0700</date>
            <delta_ts>2018-10-12 16:10:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190497-20181012002909.patch</filename>
            <type>text/plain</type>
            <size>10831</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDRiOTY4NmY3OGIzYTc5MzQwNTkyZDA4ZTEyMTRk
ZDI4NmUyYzNjMzIuLjQwNDdiMGVmYmYwMGYxNDNkMTcxMWNlNjhhZjAwNTdhNDRiMzdlZDEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE4LTEwLTEyICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBD
YW52YXMgUmVjb3JkaW5nIGxvYWRpbmcgZ29lcyBzaWduaWZpY2FudGx5IHNsb3dlciB3aGVuICJG
cmFtZSIgdHJlZSBlbGVtZW50IGlzIGV4cGFuZGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA0OTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvQmFzZS9VdGlsaXRpZXMuanM6
CisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1RyZWVPdXRsaW5lLmpzOgorICAgICAg
ICAoV0kuVHJlZU91dGxpbmUpOgorICAgICAgICAoV0kuVHJlZU91dGxpbmUucHJvdG90eXBlLnJl
Z2lzdGVyU2Nyb2xsVmlydHVhbGl6ZXIpOgorICAgICAgICAoV0kuVHJlZU91dGxpbmUucHJvdG90
eXBlLnVwZGF0ZVZpcnR1YWxpemVkRWxlbWVudHMud2Fsayk6CisgICAgICAgIChXSS5UcmVlT3V0
bGluZS5wcm90b3R5cGUudXBkYXRlVmlydHVhbGl6ZWRFbGVtZW50cyk6CisgICAgICAgIFNhdmUg
YSBzZXQgb2YgYFdJLlRyZWVFbGVtZW50YCB0aGF0IGFyZSBjdXJyZW50bHkgaW4gdGhlIERPTSwg
YW5kIGNvbXBhcmUgdGhhdCB3aXRoIHRoZSBzZXQKKyAgICAgICAgdGhhdCB3b3VsZCBiZSBhZGRl
ZCB0byB0aGUgRE9NIGFmdGVyIHVwZGF0aW5nLiBJZiB0aGUgaW50ZXJzZWN0aW9uIG9mIHRoZSBl
eGlzdGluZyBzZXQgYW5kCisgICAgICAgIHRoZSBzZXQgdGhhdCB3b3VsZCBiZSBhZGRlZCBpcyBs
YXJnZXIgdGhhbiB0aGUgbnVtYmVyIHNob3dpbmcsIGRvbid0IHVwZGF0ZSAodGhlIGBleHRyYVJv
d3NgCisgICAgICAgICJwYWRkaW5nIiBvbiBlaXRoZXIgc2lkZSBtZWFucyB0aGVyZSB3aWxsIHN0
aWxsIGJlIGBXSS5UcmVlRWxlbWVudGAgdmlzaWJsZSkuCisKIDIwMTgtMTAtMTEgIERldmluIFJv
dXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IE5ldHdv
cms6IGRldGFpbCB2aWV3IHJldmVydHMgdG8gIlJlc3BvbnNlIiB3aGVuIG5ldyByZXF1ZXN0cyBh
cmUgYWRkZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L0Jhc2UvVXRpbGl0aWVzLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
QmFzZS9VdGlsaXRpZXMuanMKaW5kZXggYWEwNWQzNzJjODg2MGU5OWNhZjZlNGI5YWFjOWZhODRm
Yzg3YzYyMS4uM2JiNWQ3MmRjMjVlNjZjOTJlOTIzNTM2YzFmNjI5ZmMyNjcyYWNmOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9VdGlsaXRpZXMu
anMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9VdGlsaXRp
ZXMuanMKQEAgLTExOCw2ICsxMTgsMTkgQEAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE1hcC5wcm90
b3R5cGUsICJ0YWtlIiwKICAgICB9CiB9KTsKIAorT2JqZWN0LmRlZmluZVByb3BlcnR5KFNldC5w
cm90b3R5cGUsICJpbnRlcnNlY3Rpb24iLAoreworICAgIHZhbHVlKG90aGVyKQorICAgIHsKKyAg
ICAgICAgbGV0IHJlc3VsdCA9IG5ldyBTZXQ7CisgICAgICAgIGZvciAobGV0IGl0ZW0gb2YgdGhp
cykgeworICAgICAgICAgICAgaWYgKG90aGVyLmhhcyhpdGVtKSkKKyAgICAgICAgICAgICAgICBy
ZXN1bHQuYWRkKGl0ZW0pOworICAgICAgICB9CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAg
fSwKK30pOworCiBPYmplY3QuZGVmaW5lUHJvcGVydHkoTm9kZS5wcm90b3R5cGUsICJlbmNsb3Np
bmdOb2RlT3JTZWxmV2l0aENsYXNzIiwKIHsKICAgICB2YWx1ZShjbGFzc05hbWUpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UcmVlT3V0bGlu
ZS5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RyZWVPdXRs
aW5lLmpzCmluZGV4IGViNjNhYjAyOGVhZTIyOWVkMDUxNTZkN2E1Nzg5Nzk0NDUxY2Y0NGQuLjU3
ZDg3NDY4YzBiNTc4NWNmODJjODVlZDMxNjg5MjcxYzM5ODQzYTYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RyZWVPdXRsaW5lLmpzCisrKyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RyZWVPdXRsaW5lLmpz
CkBAIC01NSw3ICs1NSw3IEBAIFdJLlRyZWVPdXRsaW5lID0gY2xhc3MgVHJlZU91dGxpbmUgZXh0
ZW5kcyBXSS5PYmplY3QKICAgICAgICAgdGhpcy5fY3VzdG9tSW5kZW50ID0gZmFsc2U7CiAgICAg
ICAgIHRoaXMuX3NlbGVjdGFibGUgPSBzZWxlY3RhYmxlOwogCi0gICAgICAgIHRoaXMuX3ZpcnR1
YWxpemVkQ3VycmVudE1pZGRsZUl0ZW0gPSBOYU47CisgICAgICAgIHRoaXMuX3ZpcnR1YWxpemVk
VmlzaWJsZVRyZWVFbGVtZW50cyA9IG51bGw7CiAgICAgICAgIHRoaXMuX3ZpcnR1YWxpemVkU2Ny
b2xsQ29udGFpbmVyID0gbnVsbDsKICAgICAgICAgdGhpcy5fdmlydHVhbGl6ZWRUcmVlSXRlbUhl
aWdodCA9IE5hTjsKICAgICAgICAgdGhpcy5fdmlydHVhbGl6ZWRUb3BTcGFjZXIgPSBudWxsOwpA
QCAtNjU0LDE2ICs2NTQsMTUgQEAgV0kuVHJlZU91dGxpbmUgPSBjbGFzcyBUcmVlT3V0bGluZSBl
eHRlbmRzIFdJLk9iamVjdAogICAgIHsKICAgICAgICAgY29uc29sZS5hc3NlcnQoIWlzTmFOKHRy
ZWVJdGVtSGVpZ2h0KSk7CiAKKyAgICAgICAgdGhpcy5fdmlydHVhbGl6ZWRWaXNpYmxlVHJlZUVs
ZW1lbnRzID0gbmV3IFNldDsKICAgICAgICAgdGhpcy5fdmlydHVhbGl6ZWRTY3JvbGxDb250YWlu
ZXIgPSBzY3JvbGxDb250YWluZXI7CiAgICAgICAgIHRoaXMuX3ZpcnR1YWxpemVkVHJlZUl0ZW1I
ZWlnaHQgPSB0cmVlSXRlbUhlaWdodDsKICAgICAgICAgdGhpcy5fdmlydHVhbGl6ZWRUb3BTcGFj
ZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgICAgICAgdGhpcy5fdmlydHVh
bGl6ZWRCb3R0b21TcGFjZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKIAorICAg
ICAgICBsZXQgdGhyb3R0bGVyID0gdGhpcy50aHJvdHRsZSgxMDAwIC8gMTYpOwogICAgICAgICB0
aGlzLl92aXJ0dWFsaXplZFNjcm9sbENvbnRhaW5lci5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwi
LCAoZXZlbnQpID0+IHsKLSAgICAgICAgICAgIGxldCB7bnVtYmVyVmlzaWJsZSwgZXh0cmFSb3dz
LCBmaXJzdEl0ZW19ID0gdGhpcy5fY2FsY3VsYXRlVmlydHVhbGl6ZWRWYWx1ZXMoKTsKLQotICAg
ICAgICAgICAgaWYgKE1hdGguYWJzKGZpcnN0SXRlbSArIChudW1iZXJWaXNpYmxlIC8gMikgLSB0
aGlzLl92aXJ0dWFsaXplZEN1cnJlbnRNaWRkbGVJdGVtKSA+PSBleHRyYVJvd3MpCi0gICAgICAg
ICAgICAgICAgdGhpcy51cGRhdGVWaXJ0dWFsaXplZEVsZW1lbnRzKCk7CisgICAgICAgICAgICB0
aHJvdHRsZXIudXBkYXRlVmlydHVhbGl6ZWRFbGVtZW50cygpOwogICAgICAgICB9KTsKICAgICB9
CiAKQEAgLTY3OCwxMSArNjc3LDcgQEAgV0kuVHJlZU91dGxpbmUgPSBjbGFzcyBUcmVlT3V0bGlu
ZSBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICAgICAgICAgIGlmICghY2hpbGQucmV2ZWFsZWQo
ZmFsc2UpKQogICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICAgICAgICAg
IHNob3VsZFJldHVybiA9IGNhbGxiYWNrKHsKLSAgICAgICAgICAgICAgICAgICAgcGFyZW50LAot
ICAgICAgICAgICAgICAgICAgICB0cmVlRWxlbWVudDogY2hpbGQsCi0gICAgICAgICAgICAgICAg
ICAgIGNvdW50LAotICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgICAgIHNob3VsZFJl
dHVybiA9IGNhbGxiYWNrKGNoaWxkLCBjb3VudCk7CiAgICAgICAgICAgICAgICAgaWYgKHNob3Vs
ZFJldHVybikKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAKQEAgLTcwMSw3ICs2OTYsNyBA
QCBXSS5UcmVlT3V0bGluZSA9IGNsYXNzIFRyZWVPdXRsaW5lIGV4dGVuZHMgV0kuT2JqZWN0CiAK
ICAgICAgICAgbGV0IHNob3VsZFNjcm9sbCA9IGZhbHNlOwogICAgICAgICBpZiAoZm9jdXNlZFRy
ZWVFbGVtZW50ICYmIGZvY3VzZWRUcmVlRWxlbWVudC5yZXZlYWxlZChmYWxzZSkpIHsKLSAgICAg
ICAgICAgIGxldCBpbmRleCA9IHdhbGsodGhpcywgKHt0cmVlRWxlbWVudH0pID0+IHRyZWVFbGVt
ZW50ID09PSBmb2N1c2VkVHJlZUVsZW1lbnQpLmNvdW50OworICAgICAgICAgICAgbGV0IGluZGV4
ID0gd2Fsayh0aGlzLCAodHJlZUVsZW1lbnQpID0+IHRyZWVFbGVtZW50ID09PSBmb2N1c2VkVHJl
ZUVsZW1lbnQpLmNvdW50OwogICAgICAgICAgICAgaWYgKGluZGV4IDwgZmlyc3RJdGVtKSB7CiAg
ICAgICAgICAgICAgICAgZmlyc3RJdGVtID0gaW5kZXggLSBleHRyYVJvd3M7CiAgICAgICAgICAg
ICAgICAgbGFzdEl0ZW0gPSBpbmRleCArIG51bWJlclZpc2libGUgKyBleHRyYVJvd3M7CkBAIC03
MTUsMjcgKzcxMCw0NCBAQCBXSS5UcmVlT3V0bGluZSA9IGNsYXNzIFRyZWVPdXRsaW5lIGV4dGVu
ZHMgV0kuT2JqZWN0CiAgICAgICAgICAgICBzaG91bGRTY3JvbGwgPSAoaW5kZXggPCBmaXJzdEl0
ZW0gKyBleHRyYVJvd3MpIHx8IChpbmRleCA+IGxhc3RJdGVtIC0gZXh0cmFSb3dzKTsKICAgICAg
ICAgfQogCi0gICAgICAgIGxldCB0b3RhbEl0ZW1zID0gd2Fsayh0aGlzLCAoe3BhcmVudCwgdHJl
ZUVsZW1lbnQsIGNvdW50fSkgPT4geworICAgICAgICBsZXQgdmlzaWJsZVRyZWVFbGVtZW50cyA9
IG5ldyBTZXQ7CisgICAgICAgIGxldCB0cmVlRWxlbWVudHNUb1Nob3cgPSBuZXcgU2V0OworICAg
ICAgICBsZXQgdHJlZUVsZW1lbnRzVG9IaWRlID0gbmV3IFNldDsKKyAgICAgICAgbGV0IHRvdGFs
SXRlbXMgPSB3YWxrKHRoaXMsICh0cmVlRWxlbWVudCwgY291bnQpID0+IHsKICAgICAgICAgICAg
IGlmIChjb3VudCA+PSBmaXJzdEl0ZW0gJiYgY291bnQgPD0gbGFzdEl0ZW0pIHsKLSAgICAgICAg
ICAgICAgICBwYXJlbnQuX2NoaWxkcmVuTGlzdE5vZGUuYXBwZW5kQ2hpbGQodHJlZUVsZW1lbnQu
ZWxlbWVudCk7Ci0gICAgICAgICAgICAgICAgaWYgKHRyZWVFbGVtZW50Ll9jaGlsZHJlbkxpc3RO
b2RlKQotICAgICAgICAgICAgICAgICAgICBwYXJlbnQuX2NoaWxkcmVuTGlzdE5vZGUuYXBwZW5k
Q2hpbGQodHJlZUVsZW1lbnQuX2NoaWxkcmVuTGlzdE5vZGUpOwotICAgICAgICAgICAgfSBlbHNl
Ci0gICAgICAgICAgICAgICAgdHJlZUVsZW1lbnQuZWxlbWVudC5yZW1vdmUoKTsKKyAgICAgICAg
ICAgICAgICB0cmVlRWxlbWVudHNUb1Nob3cuYWRkKHRyZWVFbGVtZW50KTsKKyAgICAgICAgICAg
ICAgICBpZiAoY291bnQgPj0gZmlyc3RJdGVtICsgZXh0cmFSb3dzICYmIGNvdW50IDw9IGxhc3RJ
dGVtIC0gZXh0cmFSb3dzKQorICAgICAgICAgICAgICAgICAgICB2aXNpYmxlVHJlZUVsZW1lbnRz
LmFkZCh0cmVlRWxlbWVudCk7CisgICAgICAgICAgICB9IGVsc2UgaWYgKHRyZWVFbGVtZW50LmVs
ZW1lbnQucGFyZW50Tm9kZSkKKyAgICAgICAgICAgICAgICB0cmVlRWxlbWVudHNUb0hpZGUuYWRk
KHRyZWVFbGVtZW50KTsKIAogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9KS5j
b3VudDsKIAorICAgICAgICBpZiAoIXNob3VsZFNjcm9sbCAmJiB0cmVlRWxlbWVudHNUb1Nob3cu
c2l6ZSA+IGxhc3RJdGVtIC0gZmlyc3RJdGVtICYmIHRoaXMuX3ZpcnR1YWxpemVkVmlzaWJsZVRy
ZWVFbGVtZW50cy5pbnRlcnNlY3Rpb24odmlzaWJsZVRyZWVFbGVtZW50cykuc2l6ZSkKKyAgICAg
ICAgICAgIHJldHVybjsKKworICAgICAgICB0aGlzLl92aXJ0dWFsaXplZFZpc2libGVUcmVlRWxl
bWVudHMgPSB2aXNpYmxlVHJlZUVsZW1lbnRzOworCisgICAgICAgIGZvciAobGV0IHRyZWVFbGVt
ZW50IG9mIHRyZWVFbGVtZW50c1RvSGlkZSkKKyAgICAgICAgICAgIHRyZWVFbGVtZW50LmVsZW1l
bnQucmVtb3ZlKCk7CisKKyAgICAgICAgZm9yIChsZXQgdHJlZUVsZW1lbnQgb2YgdHJlZUVsZW1l
bnRzVG9TaG93KSB7CisgICAgICAgICAgICB0cmVlRWxlbWVudC5wYXJlbnQuX2NoaWxkcmVuTGlz
dE5vZGUuYXBwZW5kQ2hpbGQodHJlZUVsZW1lbnQuZWxlbWVudCk7CisgICAgICAgICAgICBpZiAo
dHJlZUVsZW1lbnQuX2NoaWxkcmVuTGlzdE5vZGUpCisgICAgICAgICAgICAgICAgdHJlZUVsZW1l
bnQucGFyZW50Ll9jaGlsZHJlbkxpc3ROb2RlLmFwcGVuZENoaWxkKHRyZWVFbGVtZW50Ll9jaGls
ZHJlbkxpc3ROb2RlKTsKKyAgICAgICAgfQorCiAgICAgICAgIHRoaXMuX3ZpcnR1YWxpemVkVG9w
U3BhY2VyLnN0eWxlLmhlaWdodCA9IChNYXRoLm1heChmaXJzdEl0ZW0sIDApICogdGhpcy5fdmly
dHVhbGl6ZWRUcmVlSXRlbUhlaWdodCkgKyAicHgiOwotICAgICAgICB0aGlzLmVsZW1lbnQucGFy
ZW50Tm9kZS5pbnNlcnRCZWZvcmUodGhpcy5fdmlydHVhbGl6ZWRUb3BTcGFjZXIsIHRoaXMuZWxl
bWVudCk7CisgICAgICAgIGlmICh0aGlzLmVsZW1lbnQucHJldmlvdXNFbGVtZW50U2libGluZyAh
PT0gdGhpcy5fdmlydHVhbGl6ZWRUb3BTcGFjZXIpCisgICAgICAgICAgICB0aGlzLmVsZW1lbnQu
cGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUodGhpcy5fdmlydHVhbGl6ZWRUb3BTcGFjZXIsIHRoaXMu
ZWxlbWVudCk7CiAKICAgICAgICAgdGhpcy5fdmlydHVhbGl6ZWRCb3R0b21TcGFjZXIuc3R5bGUu
aGVpZ2h0ID0gKE1hdGgubWF4KHRvdGFsSXRlbXMgLSBsYXN0SXRlbSwgMCkgKiB0aGlzLl92aXJ0
dWFsaXplZFRyZWVJdGVtSGVpZ2h0KSArICJweCI7Ci0gICAgICAgIHRoaXMuZWxlbWVudC5wYXJl
bnROb2RlLmluc2VydEJlZm9yZSh0aGlzLl92aXJ0dWFsaXplZEJvdHRvbVNwYWNlciwgdGhpcy5l
bGVtZW50Lm5leHRFbGVtZW50U2libGluZyk7CisgICAgICAgIGlmICh0aGlzLmVsZW1lbnQubmV4
dEVsZW1lbnRTaWJsaW5nICE9PSB0aGlzLl92aXJ0dWFsaXplZEJvdHRvbVNwYWNlcikKKyAgICAg
ICAgICAgIHRoaXMuZWxlbWVudC5wYXJlbnROb2RlLmluc2VydEJlZm9yZSh0aGlzLl92aXJ0dWFs
aXplZEJvdHRvbVNwYWNlciwgdGhpcy5lbGVtZW50Lm5leHRFbGVtZW50U2libGluZyk7CiAKICAg
ICAgICAgaWYgKHNob3VsZFNjcm9sbCkKICAgICAgICAgICAgIHRoaXMuX3ZpcnR1YWxpemVkU2Ny
b2xsQ29udGFpbmVyLnNjcm9sbFRvcCA9IChmaXJzdEl0ZW0gKyBleHRyYVJvd3MpICogdGhpcy5f
dmlydHVhbGl6ZWRUcmVlSXRlbUhlaWdodDsKLQotICAgICAgICB0aGlzLl92aXJ0dWFsaXplZEN1
cnJlbnRNaWRkbGVJdGVtID0gZmlyc3RJdGVtICsgKG51bWJlclZpc2libGUgLyAyKTsKICAgICB9
CiAKICAgICAvLyBQcm90ZWN0ZWQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0NDhmNTBiZGQ4ZThhM2JmZWMyOWRlMjJlMTJh
MDhmMDMwYzM2NGU0Li40MzAyNWQxZjZiYjhkMTA2MmE3MDA0NjE2ZTE2N2M0OTJiNWJiMzUwIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTgtMTAtMTIgIERldmluIFJvdXNzbyAgPGRyb3Vzc29A
YXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IENhbnZhcyBSZWNvcmRpbmcgbG9h
ZGluZyBnb2VzIHNpZ25pZmljYW50bHkgc2xvd2VyIHdoZW4gIkZyYW1lIiB0cmVlIGVsZW1lbnQg
aXMgZXhwYW5kZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE5MDQ5NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogaW5zcGVjdG9yL3VuaXQtdGVzdHMvc2V0LXV0aWxpdGllcy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGluc3BlY3Rvci91bml0LXRlc3RzL3NldC11dGlsaXRpZXMuaHRtbDog
QWRkZWQuCisKIDIwMTgtMTAtMDggIFl1c3VrZSBTdXp1a2kgIDx5dXN1a2VzdXp1a2lAc2xvd3N0
YXJ0Lm9yZz4KIAogICAgICAgICBbSlNDXSBKU0Mgc2hvdWxkIGhhdmUgInBhcnNlRnVuY3Rpb24i
IHRvIG9wdGltaXplIEZ1bmN0aW9uIGNvbnN0cnVjdG9yCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvdW5pdC10ZXN0cy9zZXQtdXRpbGl0aWVzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci91bml0LXRlc3RzL3NldC11dGlsaXRpZXMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmQzN2ViN2NlOGE3ZDgzODA2ZGY4YjlmYjBlNmI3YTM1MjgxZTA4MTAKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdW5pdC10ZXN0cy9zZXQtdXRpbGl0
aWVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDggQEAKKworPT0gUnVubmluZyB0ZXN0IHN1aXRl
OiBTZXRVdGlsaXRpZXMKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBTZXQucHJvdG90eXBlLmludGVy
c2VjdGlvbgorUEFTUzogaW50ZXJzZWN0aW9uIG9mIGVtcHkgc2V0cyBzaG91bGQgZXF1YWwgYW4g
ZW1wdHkgc2V0CitQQVNTOiBpbnRlcnNlY3Rpb24gb2Ygc2V0cyB3aXRoIHRoZSBzYW1lIHZhbHVl
IHNob3VsZCBlcXVhbCBhIHNldCB3aXRoIHRoYXQgdmFsdWUKK1BBU1M6IGludGVyc2VjdGlvbiBv
ZiBzZXRzIHdpdGggZGlmZmVyZW50IHZhbHVlcyBzaG91bGQgZXF1YWwgYW4gZW1wdHkgc2V0CitQ
QVNTOiBpbnRlcnNlY3Rpb24gb2Ygc2V0cyB3aXRoIHNhbWUgYW5kIGRpZmZlcmVudCB2YWx1ZXMg
c2hvdWxkIGVxdWFsIGEgc2V0IHdpdGggb25seSB0aGUgc2FtZSB2YWx1ZXMKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3VuaXQtdGVzdHMvc2V0LXV0aWxpdGllcy5odG1sIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL3VuaXQtdGVzdHMvc2V0LXV0aWxpdGllcy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmQzYzdkMDdlMWQyYjgyNTY1NzdkMjgwY2QzOWIzZDY5NTVmZTRiYTYKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdW5pdC10ZXN0cy9zZXQtdXRpbGl0aWVz
Lmh0bWwKQEAgLTAsMCArMSwzNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy9pbnNwZWN0
b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gdGVzdCgpCit7CisgICAg
bGV0IHN1aXRlID0gSW5zcGVjdG9yVGVzdC5jcmVhdGVTeW5jU3VpdGUoIlNldFV0aWxpdGllcyIp
OworCisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiAiU2V0LnByb3RvdHlw
ZS5pbnRlcnNlY3Rpb24iLAorICAgICAgICB0ZXN0KCkgeworICAgICAgICAgICAgZnVuY3Rpb24g
dGVzdChhLCBiLCByZXN1bHRBcnJheSwgbWVzc2FnZSkgeworICAgICAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuZXhwZWN0U2hhbGxvd0VxdWFsKEFycmF5LmZyb20oKG5ldyBTZXQoYSkpLmludGVy
c2VjdGlvbihuZXcgU2V0KGIpKSksIHJlc3VsdEFycmF5LCBtZXNzYWdlKTsKKyAgICAgICAgICAg
IH0KKworICAgICAgICAgICAgY29uc3Qgb2JqZWN0MSA9IHthOiAxfTsKKyAgICAgICAgICAgIGNv
bnN0IG9iamVjdDIgPSB7YjogMn07CisgICAgICAgICAgICBjb25zdCBvYmplY3QzID0ge2M6IDN9
OworCisgICAgICAgICAgICB0ZXN0KFtdLCBbXSwgW10sICJpbnRlcnNlY3Rpb24gb2YgZW1weSBz
ZXRzIHNob3VsZCBlcXVhbCBhbiBlbXB0eSBzZXQiKTsKKyAgICAgICAgICAgIHRlc3QoWzEsICJh
Iiwgb2JqZWN0MV0sIFsxLCAiYSIsIG9iamVjdDFdLCBbMSwgImEiLCBvYmplY3QxXSwgImludGVy
c2VjdGlvbiBvZiBzZXRzIHdpdGggdGhlIHNhbWUgdmFsdWUgc2hvdWxkIGVxdWFsIGEgc2V0IHdp
dGggdGhhdCB2YWx1ZSIpOworICAgICAgICAgICAgdGVzdChbMSwgImEiLCBvYmplY3QxXSwgWzIs
ICJiIiwgb2JqZWN0Ml0sIFtdLCAiaW50ZXJzZWN0aW9uIG9mIHNldHMgd2l0aCBkaWZmZXJlbnQg
dmFsdWVzIHNob3VsZCBlcXVhbCBhbiBlbXB0eSBzZXQiKTsKKyAgICAgICAgICAgIHRlc3QoWzEs
IDIsICJhIiwgImIiLCBvYmplY3QxLCBvYmplY3QyXSwgWzEsIDMsICJhIiwgImMiLCBvYmplY3Qx
LCBvYmplY3QzXSwgWzEsICJhIiwgb2JqZWN0MV0sICJpbnRlcnNlY3Rpb24gb2Ygc2V0cyB3aXRo
IHNhbWUgYW5kIGRpZmZlcmVudCB2YWx1ZXMgc2hvdWxkIGVxdWFsIGEgc2V0IHdpdGggb25seSB0
aGUgc2FtZSB2YWx1ZXMiKTsKKworICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIH0K
KyAgICB9KTsKKworICAgIHN1aXRlLnJ1blRlc3RDYXNlc0FuZEZpbmlzaCgpOworfQorPC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbkxvYWQ9InJ1blRlc3QoKSI+Cis8L2JvZHk+Cis8L2h0bWw+
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>352229</attachid>
            <date>2018-10-12 16:10:38 -0700</date>
            <delta_ts>2018-10-16 18:01:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190497-20181012161037.patch</filename>
            <type>text/plain</type>
            <size>13362</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDRiOTY4NmY3OGIzYTc5MzQwNTkyZDA4ZTEyMTRk
ZDI4NmUyYzNjMzIuLjlmNzU2ODg0ZjM1M2Q4ZGVhZjk4ZmRiZjQ0ZWY1NzJmNDE4ZTkxOTAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE4LTEwLTEyICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBD
YW52YXMgUmVjb3JkaW5nIGxvYWRpbmcgZ29lcyBzaWduaWZpY2FudGx5IHNsb3dlciB3aGVuICJG
cmFtZSIgdHJlZSBlbGVtZW50IGlzIGV4cGFuZGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA0OTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBTYXZlIHRoZSBgV0kuVHJlZUVsZW1lbnRgIHRoYXQgYXJl
IGluIHRoZSBET00sIGFuZCBjb21wYXJlIHRoYXQgd2l0aCBhbnkgYFdJLlRyZWVFbGVtZW50YAor
ICAgICAgICB0aGF0IHdvdWxkIGJlIGFkZGVkIHRvIHRoZSBET00uIElmIGFsbCBvZiB0aGUgZm9s
bG93aW5nIGFyZSB0cnVlLCBkb24ndCBlZGl0IHRoZSBET006CisgICAgICAgICAtIG5vIGZvY3Vz
ZWQgYFdJLlRyZWVFbGVtZW50YCB0aGF0IGlzbid0IGN1cnJlbnRseSB2aXNpYmxlICh3ZSB3b3Vs
ZCBzY3JvbGwgb3RoZXJ3aXNlKQorICAgICAgICAgLSB0aGUgc2V0IG9mIHByZXZpb3VzbHkgdmlz
aWJsZSBgV0kuVHJlZUVsZW1lbnRgcyAoZS5nLiBub3QgdXNlZCBmb3Igc2Nyb2xsIHBhZGRpbmcp
IGhhcyBhdAorICAgICAgICAgICBsZWFzdCBvbmUgb2YgdGhlIGBXSS5UcmVlRWxlbWVudGBzIHRo
YXQgd291bGQgYmUgYWRkZWQgZnJvbSB0aGlzIHVwZGF0ZQorICAgICAgICAgICAgLSB0aGlzIG1l
YW5zIHRoYXQgdGhlIHVzZXIgaGFzbid0IHNjcm9sbGVkIGJleW9uZCB0aGUgcGFkZGluZyBgV0ku
VHJlZUVsZW1lbnRgCisgICAgICAgICAtIHRoZXJlIGFyZSBubyBgV0kuVHJlZUVsZW1lbnRgcyB0
aGF0IHdvdWxkIGJlIGFkZGVkIGZyb20gdGhpcyB1cGRhdGUgdGhhdCB3ZXJlIE5PVCBhZGRlZAor
ICAgICAgICAgICBpbiBhIHByZXZpb3VzIHVwZGF0ZQorICAgICAgICAgICAgLSB0aGlzIGNvdmVy
cyB0aGUgY2FzZSB0aGF0IGEgYFdJLlRyZWVFbGVtZW50YCBpcyBpbnNlcnRlZCBpbiB0aGUgdmlz
aWJsZSBhcmVhCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0Jhc2UvVXRpbGl0aWVzLmpzOgor
CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9UcmVlT3V0bGluZS5qczoKKyAgICAgICAg
KFdJLlRyZWVPdXRsaW5lKToKKyAgICAgICAgKFdJLlRyZWVPdXRsaW5lLnByb3RvdHlwZS5yZWdp
c3RlclNjcm9sbFZpcnR1YWxpemVyKToKKyAgICAgICAgKFdJLlRyZWVPdXRsaW5lLnByb3RvdHlw
ZS51cGRhdGVWaXJ0dWFsaXplZEVsZW1lbnRzLndhbGspOgorICAgICAgICAoV0kuVHJlZU91dGxp
bmUucHJvdG90eXBlLnVwZGF0ZVZpcnR1YWxpemVkRWxlbWVudHMpOgorCiAyMDE4LTEwLTExICBE
ZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9y
OiBOZXR3b3JrOiBkZXRhaWwgdmlldyByZXZlcnRzIHRvICJSZXNwb25zZSIgd2hlbiBuZXcgcmVx
dWVzdHMgYXJlIGFkZGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9CYXNlL1V0aWxpdGllcy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL0Jhc2UvVXRpbGl0aWVzLmpzCmluZGV4IGFhMDVkMzcyYzg4NjBlOTljYWY2ZTRiOWFh
YzlmYTg0ZmM4N2M2MjEuLjRhYzk1NDM0MDhkNTFlNWRhOTIwMTA0OGQ0OTA2Yjk3MjBkNWY3NDcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvVXRp
bGl0aWVzLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2Uv
VXRpbGl0aWVzLmpzCkBAIC0xMTgsNiArMTE4LDM4IEBAIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShN
YXAucHJvdG90eXBlLCAidGFrZSIsCiAgICAgfQogfSk7CiAKK09iamVjdC5kZWZpbmVQcm9wZXJ0
eShTZXQucHJvdG90eXBlLCAiaW50ZXJzZWN0cyIsCit7CisgICAgdmFsdWUob3RoZXIpCisgICAg
eworICAgICAgICBpZiAoIXRoaXMuc2l6ZSB8fCAhb3RoZXIuc2l6ZSkKKyAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKKworICAgICAgICBmb3IgKGxldCBpdGVtIG9mIHRoaXMpIHsKKyAgICAgICAg
ICAgIGlmIChvdGhlci5oYXMoaXRlbSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7Cisg
ICAgICAgIH0KKworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfSwKK30pOworCitPYmplY3Qu
ZGVmaW5lUHJvcGVydHkoU2V0LnByb3RvdHlwZSwgImNvbnRhaW5zIiwKK3sKKyAgICB2YWx1ZShv
dGhlcikKKyAgICB7CisgICAgICAgIGlmICghdGhpcy5zaXplIHx8ICFvdGhlci5zaXplKQorICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIGZvciAobGV0IGl0ZW0gb2Ygb3RoZXIp
IHsKKyAgICAgICAgICAgIGlmICghdGhpcy5oYXMoaXRlbSkpCisgICAgICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfSwKK30p
OworCiBPYmplY3QuZGVmaW5lUHJvcGVydHkoTm9kZS5wcm90b3R5cGUsICJlbmNsb3NpbmdOb2Rl
T3JTZWxmV2l0aENsYXNzIiwKIHsKICAgICB2YWx1ZShjbGFzc05hbWUpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UcmVlT3V0bGluZS5qcyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RyZWVPdXRsaW5lLmpz
CmluZGV4IGViNjNhYjAyOGVhZTIyOWVkMDUxNTZkN2E1Nzg5Nzk0NDUxY2Y0NGQuLjIyZThmNzRl
OTc0NjFjNTMyNzg1ZTBkYjc0OWQ4NjNlMTFkN2FmZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RyZWVPdXRsaW5lLmpzCisrKyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RyZWVPdXRsaW5lLmpzCkBAIC01
NSw3ICs1NSw4IEBAIFdJLlRyZWVPdXRsaW5lID0gY2xhc3MgVHJlZU91dGxpbmUgZXh0ZW5kcyBX
SS5PYmplY3QKICAgICAgICAgdGhpcy5fY3VzdG9tSW5kZW50ID0gZmFsc2U7CiAgICAgICAgIHRo
aXMuX3NlbGVjdGFibGUgPSBzZWxlY3RhYmxlOwogCi0gICAgICAgIHRoaXMuX3ZpcnR1YWxpemVk
Q3VycmVudE1pZGRsZUl0ZW0gPSBOYU47CisgICAgICAgIHRoaXMuX3ZpcnR1YWxpemVkVmlzaWJs
ZVRyZWVFbGVtZW50cyA9IG51bGw7CisgICAgICAgIHRoaXMuX3ZpcnR1YWxpemVkQXR0YWNoZWRU
cmVlRWxlbWVudHMgPSBudWxsOwogICAgICAgICB0aGlzLl92aXJ0dWFsaXplZFNjcm9sbENvbnRh
aW5lciA9IG51bGw7CiAgICAgICAgIHRoaXMuX3ZpcnR1YWxpemVkVHJlZUl0ZW1IZWlnaHQgPSBO
YU47CiAgICAgICAgIHRoaXMuX3ZpcnR1YWxpemVkVG9wU3BhY2VyID0gbnVsbDsKQEAgLTY1NCwx
NiArNjU1LDE2IEBAIFdJLlRyZWVPdXRsaW5lID0gY2xhc3MgVHJlZU91dGxpbmUgZXh0ZW5kcyBX
SS5PYmplY3QKICAgICB7CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KCFpc05hTih0cmVlSXRlbUhl
aWdodCkpOwogCisgICAgICAgIHRoaXMuX3ZpcnR1YWxpemVkVmlzaWJsZVRyZWVFbGVtZW50cyA9
IG5ldyBTZXQ7CisgICAgICAgIHRoaXMuX3ZpcnR1YWxpemVkQXR0YWNoZWRUcmVlRWxlbWVudHMg
PSBuZXcgU2V0OwogICAgICAgICB0aGlzLl92aXJ0dWFsaXplZFNjcm9sbENvbnRhaW5lciA9IHNj
cm9sbENvbnRhaW5lcjsKICAgICAgICAgdGhpcy5fdmlydHVhbGl6ZWRUcmVlSXRlbUhlaWdodCA9
IHRyZWVJdGVtSGVpZ2h0OwogICAgICAgICB0aGlzLl92aXJ0dWFsaXplZFRvcFNwYWNlciA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgICAgICB0aGlzLl92aXJ0dWFsaXplZEJv
dHRvbVNwYWNlciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogCisgICAgICAgIGxl
dCB0aHJvdHRsZXIgPSB0aGlzLnRocm90dGxlKDEwMDAgLyAxNik7CiAgICAgICAgIHRoaXMuX3Zp
cnR1YWxpemVkU2Nyb2xsQ29udGFpbmVyLmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsIChldmVu
dCkgPT4gewotICAgICAgICAgICAgbGV0IHtudW1iZXJWaXNpYmxlLCBleHRyYVJvd3MsIGZpcnN0
SXRlbX0gPSB0aGlzLl9jYWxjdWxhdGVWaXJ0dWFsaXplZFZhbHVlcygpOwotCi0gICAgICAgICAg
ICBpZiAoTWF0aC5hYnMoZmlyc3RJdGVtICsgKG51bWJlclZpc2libGUgLyAyKSAtIHRoaXMuX3Zp
cnR1YWxpemVkQ3VycmVudE1pZGRsZUl0ZW0pID49IGV4dHJhUm93cykKLSAgICAgICAgICAgICAg
ICB0aGlzLnVwZGF0ZVZpcnR1YWxpemVkRWxlbWVudHMoKTsKKyAgICAgICAgICAgIHRocm90dGxl
ci51cGRhdGVWaXJ0dWFsaXplZEVsZW1lbnRzKCk7CiAgICAgICAgIH0pOwogICAgIH0KIApAQCAt
Njc4LDExICs2NzksNyBAQCBXSS5UcmVlT3V0bGluZSA9IGNsYXNzIFRyZWVPdXRsaW5lIGV4dGVu
ZHMgV0kuT2JqZWN0CiAgICAgICAgICAgICAgICAgaWYgKCFjaGlsZC5yZXZlYWxlZChmYWxzZSkp
CiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgICAgICAgICAgc2hvdWxk
UmV0dXJuID0gY2FsbGJhY2soewotICAgICAgICAgICAgICAgICAgICBwYXJlbnQsCi0gICAgICAg
ICAgICAgICAgICAgIHRyZWVFbGVtZW50OiBjaGlsZCwKLSAgICAgICAgICAgICAgICAgICAgY291
bnQsCi0gICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICAgICAgc2hvdWxkUmV0dXJuID0g
Y2FsbGJhY2soY2hpbGQsIGNvdW50KTsKICAgICAgICAgICAgICAgICBpZiAoc2hvdWxkUmV0dXJu
KQogICAgICAgICAgICAgICAgICAgICBicmVhazsKIApAQCAtNzAxLDcgKzY5OCw3IEBAIFdJLlRy
ZWVPdXRsaW5lID0gY2xhc3MgVHJlZU91dGxpbmUgZXh0ZW5kcyBXSS5PYmplY3QKIAogICAgICAg
ICBsZXQgc2hvdWxkU2Nyb2xsID0gZmFsc2U7CiAgICAgICAgIGlmIChmb2N1c2VkVHJlZUVsZW1l
bnQgJiYgZm9jdXNlZFRyZWVFbGVtZW50LnJldmVhbGVkKGZhbHNlKSkgewotICAgICAgICAgICAg
bGV0IGluZGV4ID0gd2Fsayh0aGlzLCAoe3RyZWVFbGVtZW50fSkgPT4gdHJlZUVsZW1lbnQgPT09
IGZvY3VzZWRUcmVlRWxlbWVudCkuY291bnQ7CisgICAgICAgICAgICBsZXQgaW5kZXggPSB3YWxr
KHRoaXMsICh0cmVlRWxlbWVudCkgPT4gdHJlZUVsZW1lbnQgPT09IGZvY3VzZWRUcmVlRWxlbWVu
dCkuY291bnQ7CiAgICAgICAgICAgICBpZiAoaW5kZXggPCBmaXJzdEl0ZW0pIHsKICAgICAgICAg
ICAgICAgICBmaXJzdEl0ZW0gPSBpbmRleCAtIGV4dHJhUm93czsKICAgICAgICAgICAgICAgICBs
YXN0SXRlbSA9IGluZGV4ICsgbnVtYmVyVmlzaWJsZSArIGV4dHJhUm93czsKQEAgLTcxNSwyNyAr
NzEyLDU0IEBAIFdJLlRyZWVPdXRsaW5lID0gY2xhc3MgVHJlZU91dGxpbmUgZXh0ZW5kcyBXSS5P
YmplY3QKICAgICAgICAgICAgIHNob3VsZFNjcm9sbCA9IChpbmRleCA8IGZpcnN0SXRlbSArIGV4
dHJhUm93cykgfHwgKGluZGV4ID4gbGFzdEl0ZW0gLSBleHRyYVJvd3MpOwogICAgICAgICB9CiAK
LSAgICAgICAgbGV0IHRvdGFsSXRlbXMgPSB3YWxrKHRoaXMsICh7cGFyZW50LCB0cmVlRWxlbWVu
dCwgY291bnR9KSA9PiB7CisgICAgICAgIGNvbnNvbGUuYXNzZXJ0KGZpcnN0SXRlbSA8IGxhc3RJ
dGVtKTsKKworICAgICAgICBsZXQgdmlzaWJsZVRyZWVFbGVtZW50cyA9IG5ldyBTZXQ7CisgICAg
ICAgIGxldCB0cmVlRWxlbWVudHNUb0F0dGFjaCA9IG5ldyBTZXQ7CisgICAgICAgIGxldCB0cmVl
RWxlbWVudHNUb0RldGFjaCA9IG5ldyBTZXQ7CisgICAgICAgIGxldCB0b3RhbEl0ZW1zID0gd2Fs
ayh0aGlzLCAodHJlZUVsZW1lbnQsIGNvdW50KSA9PiB7CiAgICAgICAgICAgICBpZiAoY291bnQg
Pj0gZmlyc3RJdGVtICYmIGNvdW50IDw9IGxhc3RJdGVtKSB7Ci0gICAgICAgICAgICAgICAgcGFy
ZW50Ll9jaGlsZHJlbkxpc3ROb2RlLmFwcGVuZENoaWxkKHRyZWVFbGVtZW50LmVsZW1lbnQpOwot
ICAgICAgICAgICAgICAgIGlmICh0cmVlRWxlbWVudC5fY2hpbGRyZW5MaXN0Tm9kZSkKLSAgICAg
ICAgICAgICAgICAgICAgcGFyZW50Ll9jaGlsZHJlbkxpc3ROb2RlLmFwcGVuZENoaWxkKHRyZWVF
bGVtZW50Ll9jaGlsZHJlbkxpc3ROb2RlKTsKLSAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAg
ICAgICAgIHRyZWVFbGVtZW50LmVsZW1lbnQucmVtb3ZlKCk7CisgICAgICAgICAgICAgICAgdHJl
ZUVsZW1lbnRzVG9BdHRhY2guYWRkKHRyZWVFbGVtZW50KTsKKyAgICAgICAgICAgICAgICBpZiAo
Y291bnQgPj0gZmlyc3RJdGVtICsgZXh0cmFSb3dzICYmIGNvdW50IDw9IGxhc3RJdGVtIC0gZXh0
cmFSb3dzKQorICAgICAgICAgICAgICAgICAgICB2aXNpYmxlVHJlZUVsZW1lbnRzLmFkZCh0cmVl
RWxlbWVudCk7CisgICAgICAgICAgICB9IGVsc2UgaWYgKHRyZWVFbGVtZW50LmVsZW1lbnQucGFy
ZW50Tm9kZSkKKyAgICAgICAgICAgICAgICB0cmVlRWxlbWVudHNUb0RldGFjaC5hZGQodHJlZUVs
ZW1lbnQpOwogCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0pLmNvdW50Owog
CisgICAgICAgIC8vIFJlZHJhdyBpZiB3ZSBhcmUgYWJvdXQgdG8gc2Nyb2xsLgorICAgICAgICBp
ZiAoIXNob3VsZFNjcm9sbCkgeworICAgICAgICAgICAgLy8gUmVkcmF3IGlmIGFsbCBvZiB0aGUg
cHJldmlvdXNseSBjZW50ZXJlZCBgV0kuVHJlZUVsZW1lbnRgIGFyZSBubyBsb25nZXIgY2VudGVy
ZWQuCisgICAgICAgICAgICBpZiAodGhpcy5fdmlydHVhbGl6ZWRWaXNpYmxlVHJlZUVsZW1lbnRz
LmludGVyc2VjdHModmlzaWJsZVRyZWVFbGVtZW50cykpIHsKKyAgICAgICAgICAgICAgICAvLyBS
ZWRyYXcgaWYgdGhlcmUgaXMgYSBgV0kuVHJlZUVsZW1lbnRgIHRoYXQgc2hvdWxkIGJlIHNob3du
IHRoYXQgaXNuJ3QgYXR0YWNoZWQuCisgICAgICAgICAgICAgICAgaWYgKHRoaXMuX3ZpcnR1YWxp
emVkQXR0YWNoZWRUcmVlRWxlbWVudHMuY29udGFpbnModmlzaWJsZVRyZWVFbGVtZW50cykpCisg
ICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisg
ICAgICAgIHRoaXMuX3ZpcnR1YWxpemVkVmlzaWJsZVRyZWVFbGVtZW50cyA9IHZpc2libGVUcmVl
RWxlbWVudHM7CisgICAgICAgIHRoaXMuX3ZpcnR1YWxpemVkQXR0YWNoZWRUcmVlRWxlbWVudHMg
PSB0cmVlRWxlbWVudHNUb0F0dGFjaDsKKworICAgICAgICBmb3IgKGxldCB0cmVlRWxlbWVudCBv
ZiB0cmVlRWxlbWVudHNUb0RldGFjaCkKKyAgICAgICAgICAgIHRyZWVFbGVtZW50LmVsZW1lbnQu
cmVtb3ZlKCk7CisKKyAgICAgICAgZm9yIChsZXQgdHJlZUVsZW1lbnQgb2YgdHJlZUVsZW1lbnRz
VG9BdHRhY2gpIHsKKyAgICAgICAgICAgIHRyZWVFbGVtZW50LnBhcmVudC5fY2hpbGRyZW5MaXN0
Tm9kZS5hcHBlbmRDaGlsZCh0cmVlRWxlbWVudC5lbGVtZW50KTsKKyAgICAgICAgICAgIGlmICh0
cmVlRWxlbWVudC5fY2hpbGRyZW5MaXN0Tm9kZSkKKyAgICAgICAgICAgICAgICB0cmVlRWxlbWVu
dC5wYXJlbnQuX2NoaWxkcmVuTGlzdE5vZGUuYXBwZW5kQ2hpbGQodHJlZUVsZW1lbnQuX2NoaWxk
cmVuTGlzdE5vZGUpOworICAgICAgICB9CisKICAgICAgICAgdGhpcy5fdmlydHVhbGl6ZWRUb3BT
cGFjZXIuc3R5bGUuaGVpZ2h0ID0gKE1hdGgubWF4KGZpcnN0SXRlbSwgMCkgKiB0aGlzLl92aXJ0
dWFsaXplZFRyZWVJdGVtSGVpZ2h0KSArICJweCI7Ci0gICAgICAgIHRoaXMuZWxlbWVudC5wYXJl
bnROb2RlLmluc2VydEJlZm9yZSh0aGlzLl92aXJ0dWFsaXplZFRvcFNwYWNlciwgdGhpcy5lbGVt
ZW50KTsKKyAgICAgICAgaWYgKHRoaXMuZWxlbWVudC5wcmV2aW91c0VsZW1lbnRTaWJsaW5nICE9
PSB0aGlzLl92aXJ0dWFsaXplZFRvcFNwYWNlcikKKyAgICAgICAgICAgIHRoaXMuZWxlbWVudC5w
YXJlbnROb2RlLmluc2VydEJlZm9yZSh0aGlzLl92aXJ0dWFsaXplZFRvcFNwYWNlciwgdGhpcy5l
bGVtZW50KTsKIAogICAgICAgICB0aGlzLl92aXJ0dWFsaXplZEJvdHRvbVNwYWNlci5zdHlsZS5o
ZWlnaHQgPSAoTWF0aC5tYXgodG90YWxJdGVtcyAtIGxhc3RJdGVtLCAwKSAqIHRoaXMuX3ZpcnR1
YWxpemVkVHJlZUl0ZW1IZWlnaHQpICsgInB4IjsKLSAgICAgICAgdGhpcy5lbGVtZW50LnBhcmVu
dE5vZGUuaW5zZXJ0QmVmb3JlKHRoaXMuX3ZpcnR1YWxpemVkQm90dG9tU3BhY2VyLCB0aGlzLmVs
ZW1lbnQubmV4dEVsZW1lbnRTaWJsaW5nKTsKKyAgICAgICAgaWYgKHRoaXMuZWxlbWVudC5uZXh0
RWxlbWVudFNpYmxpbmcgIT09IHRoaXMuX3ZpcnR1YWxpemVkQm90dG9tU3BhY2VyKQorICAgICAg
ICAgICAgdGhpcy5lbGVtZW50LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHRoaXMuX3ZpcnR1YWxp
emVkQm90dG9tU3BhY2VyLCB0aGlzLmVsZW1lbnQubmV4dEVsZW1lbnRTaWJsaW5nKTsKIAogICAg
ICAgICBpZiAoc2hvdWxkU2Nyb2xsKQogICAgICAgICAgICAgdGhpcy5fdmlydHVhbGl6ZWRTY3Jv
bGxDb250YWluZXIuc2Nyb2xsVG9wID0gKGZpcnN0SXRlbSArIGV4dHJhUm93cykgKiB0aGlzLl92
aXJ0dWFsaXplZFRyZWVJdGVtSGVpZ2h0OwotCi0gICAgICAgIHRoaXMuX3ZpcnR1YWxpemVkQ3Vy
cmVudE1pZGRsZUl0ZW0gPSBmaXJzdEl0ZW0gKyAobnVtYmVyVmlzaWJsZSAvIDIpOwogICAgIH0K
IAogICAgIC8vIFByb3RlY3RlZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDQ0OGY1MGJkZDhlOGEzYmZlYzI5ZGUyMmUxMmEw
OGYwMzBjMzY0ZTQuLjQzMDI1ZDFmNmJiOGQxMDYyYTcwMDQ2MTZlMTY3YzQ5MmI1YmIzNTAgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxMyBAQAorMjAxOC0xMC0xMiAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0Bh
cHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQ2FudmFzIFJlY29yZGluZyBsb2Fk
aW5nIGdvZXMgc2lnbmlmaWNhbnRseSBzbG93ZXIgd2hlbiAiRnJhbWUiIHRyZWUgZWxlbWVudCBp
cyBleHBhbmRlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTkwNDk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBpbnNwZWN0b3IvdW5pdC10ZXN0cy9zZXQtdXRpbGl0aWVzLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogaW5zcGVjdG9yL3VuaXQtdGVzdHMvc2V0LXV0aWxpdGllcy5odG1sOiBB
ZGRlZC4KKwogMjAxOC0xMC0wOCAgWXVzdWtlIFN1enVraSAgPHl1c3VrZXN1enVraUBzbG93c3Rh
cnQub3JnPgogCiAgICAgICAgIFtKU0NdIEpTQyBzaG91bGQgaGF2ZSAicGFyc2VGdW5jdGlvbiIg
dG8gb3B0aW1pemUgRnVuY3Rpb24gY29uc3RydWN0b3IKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci91bml0LXRlc3RzL3NldC11dGlsaXRpZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL3VuaXQtdGVzdHMvc2V0LXV0aWxpdGllcy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZDMwNjZiMTZiZjA2MDUxMGRjNjlhODVkNjg0ODRhMzE1YTA3NWU4NAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci91bml0LXRlc3RzL3NldC11dGlsaXRp
ZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTQgQEAKKworPT0gUnVubmluZyB0ZXN0IHN1aXRl
OiBTZXRVdGlsaXRpZXMKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBTZXQucHJvdG90eXBlLmludGVy
c2VjdHMKK1BBU1M6IGVtcHkgc2V0cyBzaG91bGQgbm90IGludGVyc2VjdC4KK1BBU1M6IHNldHMg
d2l0aCB0aGUgc2FtZSB2YWx1ZXMgc2hvdWxkIGludGVyc2VjdC4KK1BBU1M6IHNldHMgd2l0aCB0
aGUgZGlmZmVyZW50IHZhbHVlcyBzaG91bGQgbm90IGludGVyc2VjdC4KK1BBU1M6IHNldHMgd2l0
aCBzYW1lIGFuZCBkaWZmZXJlbnQgdmFsdWVzIHNob3VsZCBpbnRlcnNlY3QuCisKKy0tIFJ1bm5p
bmcgdGVzdCBjYXNlOiBTZXQucHJvdG90eXBlLmNvbnRhaW5zCitQQVNTOiBhbiBlbXB5IHNldHMg
c2hvdWxkIG5vdCBjb250YWluIGFub3RoZXIgZW1wdHkgc2V0LgorUEFTUzogYSBzZXQgc2hvdWxk
IGNvbnRhaW4gYW5vdGhlciBzZXQgd2l0aCB0aGUgc2FtZSB2YWx1ZXMuCitQQVNTOiBhIHNldCBz
aG91bGQgbm90IGNvbnRhaW4gYW5vdGhlciBzZXQgd2l0aCBkaWZmZXJlbnQgdmFsdWVzLgorUEFT
UzogYSBzZXQgc2hvdWxkIG5vdCBjb250YWluIGFub3RoZXIgc2V0IHdpdGggc2FtZSBhbmQgZGlm
ZmVyZW50IHZhbHVlcy4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3VuaXQt
dGVzdHMvc2V0LXV0aWxpdGllcy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3VuaXQtdGVz
dHMvc2V0LXV0aWxpdGllcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdkZDc0MDVjNzdmMTFjZTdjODI5NzRi
MjVkOTUzYWQ4ZTljNTg3OWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvdW5pdC10ZXN0cy9zZXQtdXRpbGl0aWVzLmh0bWwKQEAgLTAsMCArMSw2NCBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL3Jlc291cmNlcy9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
PgorZnVuY3Rpb24gdGVzdCgpCit7CisgICAgbGV0IHN1aXRlID0gSW5zcGVjdG9yVGVzdC5jcmVh
dGVTeW5jU3VpdGUoIlNldFV0aWxpdGllcyIpOworCisgICAgc3VpdGUuYWRkVGVzdENhc2Uoewor
ICAgICAgICBuYW1lOiAiU2V0LnByb3RvdHlwZS5pbnRlcnNlY3RzIiwKKyAgICAgICAgdGVzdCgp
IHsKKyAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RUcnVlKGEsIGIsIG1lc3NhZ2UpIHsKKyAgICAg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQoKG5ldyBTZXQoYSkpLmludGVyc2Vj
dHMobmV3IFNldChiKSksIG1lc3NhZ2UpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBm
dW5jdGlvbiB0ZXN0RmFsc2UoYSwgYiwgbWVzc2FnZSkgeworICAgICAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuZXhwZWN0RmFsc2UoKG5ldyBTZXQoYSkpLmludGVyc2VjdHMobmV3IFNldChiKSks
IG1lc3NhZ2UpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBjb25zdCBvYmplY3QxID0g
e2E6IDF9OworICAgICAgICAgICAgY29uc3Qgb2JqZWN0MiA9IHtiOiAyfTsKKyAgICAgICAgICAg
IGNvbnN0IG9iamVjdDMgPSB7YzogM307CisKKyAgICAgICAgICAgIHRlc3RGYWxzZShbXSwgW10s
ICJlbXB5IHNldHMgc2hvdWxkIG5vdCBpbnRlcnNlY3QuIik7CisgICAgICAgICAgICB0ZXN0VHJ1
ZShbMSwgImEiLCBvYmplY3QxXSwgWzEsICJhIiwgb2JqZWN0MV0sICJzZXRzIHdpdGggdGhlIHNh
bWUgdmFsdWVzIHNob3VsZCBpbnRlcnNlY3QuIik7CisgICAgICAgICAgICB0ZXN0RmFsc2UoWzEs
ICJhIiwgb2JqZWN0MV0sIFsyLCAiYiIsIG9iamVjdDJdLCAic2V0cyB3aXRoIHRoZSBkaWZmZXJl
bnQgdmFsdWVzIHNob3VsZCBub3QgaW50ZXJzZWN0LiIpOworICAgICAgICAgICAgdGVzdFRydWUo
WzEsIDIsICJhIiwgImIiLCBvYmplY3QxLCBvYmplY3QyXSwgWzEsIDMsICJhIiwgImMiLCBvYmpl
Y3QxLCBvYmplY3QzXSwgInNldHMgd2l0aCBzYW1lIGFuZCBkaWZmZXJlbnQgdmFsdWVzIHNob3Vs
ZCBpbnRlcnNlY3QuIik7CisKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9Cisg
ICAgfSk7CisKKyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAgICAgIG5hbWU6ICJTZXQucHJv
dG90eXBlLmNvbnRhaW5zIiwKKyAgICAgICAgdGVzdCgpIHsKKyAgICAgICAgICAgIGZ1bmN0aW9u
IHRlc3RUcnVlKGEsIGIsIG1lc3NhZ2UpIHsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmV4cGVjdFRoYXQoKG5ldyBTZXQoYSkpLmNvbnRhaW5zKG5ldyBTZXQoYikpLCBtZXNzYWdlKTsK
KyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gdGVzdEZhbHNlKGEsIGIsIG1l
c3NhZ2UpIHsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEZhbHNlKChuZXcg
U2V0KGEpKS5jb250YWlucyhuZXcgU2V0KGIpKSwgbWVzc2FnZSk7CisgICAgICAgICAgICB9CisK
KyAgICAgICAgICAgIGNvbnN0IG9iamVjdDEgPSB7YTogMX07CisgICAgICAgICAgICBjb25zdCBv
YmplY3QyID0ge2I6IDJ9OworICAgICAgICAgICAgY29uc3Qgb2JqZWN0MyA9IHtjOiAzfTsKKwor
ICAgICAgICAgICAgdGVzdEZhbHNlKFtdLCBbXSwgImFuIGVtcHkgc2V0cyBzaG91bGQgbm90IGNv
bnRhaW4gYW5vdGhlciBlbXB0eSBzZXQuIik7CisgICAgICAgICAgICB0ZXN0VHJ1ZShbMSwgImEi
LCBvYmplY3QxXSwgWzEsICJhIiwgb2JqZWN0MV0sICJhIHNldCBzaG91bGQgY29udGFpbiBhbm90
aGVyIHNldCB3aXRoIHRoZSBzYW1lIHZhbHVlcy4iKTsKKyAgICAgICAgICAgIHRlc3RGYWxzZShb
MSwgImEiLCBvYmplY3QxXSwgWzIsICJiIiwgb2JqZWN0Ml0sICJhIHNldCBzaG91bGQgbm90IGNv
bnRhaW4gYW5vdGhlciBzZXQgd2l0aCBkaWZmZXJlbnQgdmFsdWVzLiIpOworICAgICAgICAgICAg
dGVzdEZhbHNlKFsxLCAyLCAiYSIsICJiIiwgb2JqZWN0MSwgb2JqZWN0Ml0sIFsxLCAzLCAiYSIs
ICJjIiwgb2JqZWN0MSwgb2JqZWN0M10sICJhIHNldCBzaG91bGQgbm90IGNvbnRhaW4gYW5vdGhl
ciBzZXQgd2l0aCBzYW1lIGFuZCBkaWZmZXJlbnQgdmFsdWVzLiIpOworCisgICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQorICAgIH0pOworCisgICAgc3VpdGUucnVuVGVzdENhc2Vz
QW5kRmluaXNoKCk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9uTG9hZD0icnVuVGVz
dCgpIj4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>352529</attachid>
            <date>2018-10-16 18:01:27 -0700</date>
            <delta_ts>2018-10-25 16:22:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190497-20181016180126.patch</filename>
            <type>text/plain</type>
            <size>14260</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDU2NzA0YzgxNzdiYmRhYTA0NjViOGZiZmU1OTJk
NWVhZGIwODQwZWIuLmI1ZDgxY2M4Mzc5ZDJkYzJiODY3OGVmYzY3MmZhNWQ3YjdmNDA5OGMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE4LTEwLTE2ICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBD
YW52YXMgUmVjb3JkaW5nIGxvYWRpbmcgZ29lcyBzaWduaWZpY2FudGx5IHNsb3dlciB3aGVuICJG
cmFtZSIgdHJlZSBlbGVtZW50IGlzIGV4cGFuZGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA0OTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBTYXZlIHRoZSBgV0kuVHJlZUVsZW1lbnRgIHRoYXQgYXJl
IGluIHRoZSBET00sIGFuZCBjb21wYXJlIHRoYXQgd2l0aCBhbnkgYFdJLlRyZWVFbGVtZW50YAor
ICAgICAgICB0aGF0IHdvdWxkIGJlIGFkZGVkIHRvIHRoZSBET00uIElmIGFsbCBvZiB0aGUgZm9s
bG93aW5nIGFyZSB0cnVlLCBkb24ndCBlZGl0IHRoZSBET006CisgICAgICAgICAtIG5vIGZvY3Vz
ZWQgYFdJLlRyZWVFbGVtZW50YCB0aGF0IGlzbid0IGN1cnJlbnRseSB2aXNpYmxlICh3ZSB3b3Vs
ZCBzY3JvbGwgb3RoZXJ3aXNlKQorICAgICAgICAgLSB0aGUgc2V0IG9mIHByZXZpb3VzbHkgdmlz
aWJsZSBgV0kuVHJlZUVsZW1lbnRgcyAoZS5nLiBub3QgdXNlZCBmb3Igc2Nyb2xsIHBhZGRpbmcp
IGhhcyBhdAorICAgICAgICAgICBsZWFzdCBvbmUgb2YgdGhlIGBXSS5UcmVlRWxlbWVudGBzIHRo
YXQgd291bGQgYmUgYWRkZWQgZnJvbSB0aGlzIHVwZGF0ZQorICAgICAgICAgICAgLSB0aGlzIG1l
YW5zIHRoYXQgdGhlIHVzZXIgaGFzbid0IHNjcm9sbGVkIGJleW9uZCB0aGUgcGFkZGluZyBgV0ku
VHJlZUVsZW1lbnRgCisgICAgICAgICAtIHRoZXJlIGFyZSBubyBgV0kuVHJlZUVsZW1lbnRgcyB0
aGF0IHdvdWxkIGJlIGFkZGVkIGZyb20gdGhpcyB1cGRhdGUgdGhhdCB3ZXJlIE5PVCBhZGRlZAor
ICAgICAgICAgICBpbiBhIHByZXZpb3VzIHVwZGF0ZQorICAgICAgICAgICAgLSB0aGlzIGNvdmVy
cyB0aGUgY2FzZSB0aGF0IGEgYFdJLlRyZWVFbGVtZW50YCBpcyBpbnNlcnRlZCBpbiB0aGUgdmlz
aWJsZSBhcmVhCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0Jhc2UvVXRpbGl0aWVzLmpzOgor
CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9UcmVlT3V0bGluZS5qczoKKyAgICAgICAg
KFdJLlRyZWVPdXRsaW5lKToKKyAgICAgICAgKFdJLlRyZWVPdXRsaW5lLnByb3RvdHlwZS5yZWdp
c3RlclNjcm9sbFZpcnR1YWxpemVyKToKKyAgICAgICAgKFdJLlRyZWVPdXRsaW5lLnByb3RvdHlw
ZS51cGRhdGVWaXJ0dWFsaXplZEVsZW1lbnRzLndhbGspOgorICAgICAgICAoV0kuVHJlZU91dGxp
bmUucHJvdG90eXBlLnVwZGF0ZVZpcnR1YWxpemVkRWxlbWVudHMpOgorCiAyMDE4LTEwLTE2ICBE
ZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9y
OiBDYW52YXM6IGNhcHR1cmUgcHJldmlvdXNseSBzYXZlZCBzdGF0ZXMgYW5kIGFkZCB0aGVtIHRv
IHRoZSByZWNvcmRpbmcgcGF5bG9hZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvQmFzZS9VdGlsaXRpZXMuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9CYXNlL1V0aWxpdGllcy5qcwppbmRleCBhYTA1ZDM3MmM4ODYwZTk5Y2Fm
NmU0YjlhYWM5ZmE4NGZjODdjNjIxLi5mMjdiMjMwNThjMjI0MDQzOTM5MjM3NDYyNWUzNmYxMzIy
MDI3NDAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9C
YXNlL1V0aWxpdGllcy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9CYXNlL1V0aWxpdGllcy5qcwpAQCAtMTE4LDYgKzExOCwzNSBAQCBPYmplY3QuZGVmaW5lUHJv
cGVydHkoTWFwLnByb3RvdHlwZSwgInRha2UiLAogICAgIH0KIH0pOwogCitPYmplY3QuZGVmaW5l
UHJvcGVydHkoU2V0LnByb3RvdHlwZSwgImludGVyc2VjdHMiLAoreworICAgIHZhbHVlKG90aGVy
KQorICAgIHsKKyAgICAgICAgaWYgKCF0aGlzLnNpemUgfHwgIW90aGVyLnNpemUpCisgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgZm9yIChsZXQgaXRlbSBvZiB0aGlzKSB7Cisg
ICAgICAgICAgICBpZiAob3RoZXIuaGFzKGl0ZW0pKQorICAgICAgICAgICAgICAgIHJldHVybiB0
cnVlOworICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0sCit9KTsKKwor
T2JqZWN0LmRlZmluZVByb3BlcnR5KFNldC5wcm90b3R5cGUsICJpc1N1YnNldE9mIiwKK3sKKyAg
ICB2YWx1ZShvdGhlcikKKyAgICB7CisgICAgICAgIGZvciAobGV0IGl0ZW0gb2YgdGhpcykgewor
ICAgICAgICAgICAgaWYgKCFvdGhlci5oYXMoaXRlbSkpCisgICAgICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfSwKK30pOwor
CiBPYmplY3QuZGVmaW5lUHJvcGVydHkoTm9kZS5wcm90b3R5cGUsICJlbmNsb3NpbmdOb2RlT3JT
ZWxmV2l0aENsYXNzIiwKIHsKICAgICB2YWx1ZShjbGFzc05hbWUpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UcmVlT3V0bGluZS5qcyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RyZWVPdXRsaW5lLmpzCmlu
ZGV4IGViNjNhYjAyOGVhZTIyOWVkMDUxNTZkN2E1Nzg5Nzk0NDUxY2Y0NGQuLjhlYzNmOTllNzEz
OGRkYzRlMTNjODdjOTI2NDI1NzQ2NTc2ZDE5YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RyZWVPdXRsaW5lLmpzCisrKyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RyZWVPdXRsaW5lLmpzCkBAIC01NSw3
ICs1NSw4IEBAIFdJLlRyZWVPdXRsaW5lID0gY2xhc3MgVHJlZU91dGxpbmUgZXh0ZW5kcyBXSS5P
YmplY3QKICAgICAgICAgdGhpcy5fY3VzdG9tSW5kZW50ID0gZmFsc2U7CiAgICAgICAgIHRoaXMu
X3NlbGVjdGFibGUgPSBzZWxlY3RhYmxlOwogCi0gICAgICAgIHRoaXMuX3ZpcnR1YWxpemVkQ3Vy
cmVudE1pZGRsZUl0ZW0gPSBOYU47CisgICAgICAgIHRoaXMuX3ZpcnR1YWxpemVkVmlzaWJsZVRy
ZWVFbGVtZW50cyA9IG51bGw7CisgICAgICAgIHRoaXMuX3ZpcnR1YWxpemVkQXR0YWNoZWRUcmVl
RWxlbWVudHMgPSBudWxsOwogICAgICAgICB0aGlzLl92aXJ0dWFsaXplZFNjcm9sbENvbnRhaW5l
ciA9IG51bGw7CiAgICAgICAgIHRoaXMuX3ZpcnR1YWxpemVkVHJlZUl0ZW1IZWlnaHQgPSBOYU47
CiAgICAgICAgIHRoaXMuX3ZpcnR1YWxpemVkVG9wU3BhY2VyID0gbnVsbDsKQEAgLTY1NCwxNiAr
NjU1LDE2IEBAIFdJLlRyZWVPdXRsaW5lID0gY2xhc3MgVHJlZU91dGxpbmUgZXh0ZW5kcyBXSS5P
YmplY3QKICAgICB7CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KCFpc05hTih0cmVlSXRlbUhlaWdo
dCkpOwogCisgICAgICAgIHRoaXMuX3ZpcnR1YWxpemVkVmlzaWJsZVRyZWVFbGVtZW50cyA9IG5l
dyBTZXQ7CisgICAgICAgIHRoaXMuX3ZpcnR1YWxpemVkQXR0YWNoZWRUcmVlRWxlbWVudHMgPSBu
ZXcgU2V0OwogICAgICAgICB0aGlzLl92aXJ0dWFsaXplZFNjcm9sbENvbnRhaW5lciA9IHNjcm9s
bENvbnRhaW5lcjsKICAgICAgICAgdGhpcy5fdmlydHVhbGl6ZWRUcmVlSXRlbUhlaWdodCA9IHRy
ZWVJdGVtSGVpZ2h0OwogICAgICAgICB0aGlzLl92aXJ0dWFsaXplZFRvcFNwYWNlciA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgICAgICB0aGlzLl92aXJ0dWFsaXplZEJvdHRv
bVNwYWNlciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogCisgICAgICAgIGxldCB0
aHJvdHRsZXIgPSB0aGlzLnRocm90dGxlKDEwMDAgLyAxNik7CiAgICAgICAgIHRoaXMuX3ZpcnR1
YWxpemVkU2Nyb2xsQ29udGFpbmVyLmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsIChldmVudCkg
PT4gewotICAgICAgICAgICAgbGV0IHtudW1iZXJWaXNpYmxlLCBleHRyYVJvd3MsIGZpcnN0SXRl
bX0gPSB0aGlzLl9jYWxjdWxhdGVWaXJ0dWFsaXplZFZhbHVlcygpOwotCi0gICAgICAgICAgICBp
ZiAoTWF0aC5hYnMoZmlyc3RJdGVtICsgKG51bWJlclZpc2libGUgLyAyKSAtIHRoaXMuX3ZpcnR1
YWxpemVkQ3VycmVudE1pZGRsZUl0ZW0pID49IGV4dHJhUm93cykKLSAgICAgICAgICAgICAgICB0
aGlzLnVwZGF0ZVZpcnR1YWxpemVkRWxlbWVudHMoKTsKKyAgICAgICAgICAgIHRocm90dGxlci51
cGRhdGVWaXJ0dWFsaXplZEVsZW1lbnRzKCk7CiAgICAgICAgIH0pOwogICAgIH0KIApAQCAtNjc4
LDExICs2NzksNyBAQCBXSS5UcmVlT3V0bGluZSA9IGNsYXNzIFRyZWVPdXRsaW5lIGV4dGVuZHMg
V0kuT2JqZWN0CiAgICAgICAgICAgICAgICAgaWYgKCFjaGlsZC5yZXZlYWxlZChmYWxzZSkpCiAg
ICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgICAgICAgICAgc2hvdWxkUmV0
dXJuID0gY2FsbGJhY2soewotICAgICAgICAgICAgICAgICAgICBwYXJlbnQsCi0gICAgICAgICAg
ICAgICAgICAgIHRyZWVFbGVtZW50OiBjaGlsZCwKLSAgICAgICAgICAgICAgICAgICAgY291bnQs
Ci0gICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICAgICAgc2hvdWxkUmV0dXJuID0gY2Fs
bGJhY2soY2hpbGQsIGNvdW50KTsKICAgICAgICAgICAgICAgICBpZiAoc2hvdWxkUmV0dXJuKQog
ICAgICAgICAgICAgICAgICAgICBicmVhazsKIApAQCAtNzAxLDcgKzY5OCw3IEBAIFdJLlRyZWVP
dXRsaW5lID0gY2xhc3MgVHJlZU91dGxpbmUgZXh0ZW5kcyBXSS5PYmplY3QKIAogICAgICAgICBs
ZXQgc2hvdWxkU2Nyb2xsID0gZmFsc2U7CiAgICAgICAgIGlmIChmb2N1c2VkVHJlZUVsZW1lbnQg
JiYgZm9jdXNlZFRyZWVFbGVtZW50LnJldmVhbGVkKGZhbHNlKSkgewotICAgICAgICAgICAgbGV0
IGluZGV4ID0gd2Fsayh0aGlzLCAoe3RyZWVFbGVtZW50fSkgPT4gdHJlZUVsZW1lbnQgPT09IGZv
Y3VzZWRUcmVlRWxlbWVudCkuY291bnQ7CisgICAgICAgICAgICBsZXQgaW5kZXggPSB3YWxrKHRo
aXMsICh0cmVlRWxlbWVudCkgPT4gdHJlZUVsZW1lbnQgPT09IGZvY3VzZWRUcmVlRWxlbWVudCku
Y291bnQ7CiAgICAgICAgICAgICBpZiAoaW5kZXggPCBmaXJzdEl0ZW0pIHsKICAgICAgICAgICAg
ICAgICBmaXJzdEl0ZW0gPSBpbmRleCAtIGV4dHJhUm93czsKICAgICAgICAgICAgICAgICBsYXN0
SXRlbSA9IGluZGV4ICsgbnVtYmVyVmlzaWJsZSArIGV4dHJhUm93czsKQEAgLTcxNSwyNyArNzEy
LDU0IEBAIFdJLlRyZWVPdXRsaW5lID0gY2xhc3MgVHJlZU91dGxpbmUgZXh0ZW5kcyBXSS5PYmpl
Y3QKICAgICAgICAgICAgIHNob3VsZFNjcm9sbCA9IChpbmRleCA8IGZpcnN0SXRlbSArIGV4dHJh
Um93cykgfHwgKGluZGV4ID4gbGFzdEl0ZW0gLSBleHRyYVJvd3MpOwogICAgICAgICB9CiAKLSAg
ICAgICAgbGV0IHRvdGFsSXRlbXMgPSB3YWxrKHRoaXMsICh7cGFyZW50LCB0cmVlRWxlbWVudCwg
Y291bnR9KSA9PiB7CisgICAgICAgIGNvbnNvbGUuYXNzZXJ0KGZpcnN0SXRlbSA8IGxhc3RJdGVt
KTsKKworICAgICAgICBsZXQgdmlzaWJsZVRyZWVFbGVtZW50cyA9IG5ldyBTZXQ7CisgICAgICAg
IGxldCB0cmVlRWxlbWVudHNUb0F0dGFjaCA9IG5ldyBTZXQ7CisgICAgICAgIGxldCB0cmVlRWxl
bWVudHNUb0RldGFjaCA9IG5ldyBTZXQ7CisgICAgICAgIGxldCB0b3RhbEl0ZW1zID0gd2Fsayh0
aGlzLCAodHJlZUVsZW1lbnQsIGNvdW50KSA9PiB7CiAgICAgICAgICAgICBpZiAoY291bnQgPj0g
Zmlyc3RJdGVtICYmIGNvdW50IDw9IGxhc3RJdGVtKSB7Ci0gICAgICAgICAgICAgICAgcGFyZW50
Ll9jaGlsZHJlbkxpc3ROb2RlLmFwcGVuZENoaWxkKHRyZWVFbGVtZW50LmVsZW1lbnQpOwotICAg
ICAgICAgICAgICAgIGlmICh0cmVlRWxlbWVudC5fY2hpbGRyZW5MaXN0Tm9kZSkKLSAgICAgICAg
ICAgICAgICAgICAgcGFyZW50Ll9jaGlsZHJlbkxpc3ROb2RlLmFwcGVuZENoaWxkKHRyZWVFbGVt
ZW50Ll9jaGlsZHJlbkxpc3ROb2RlKTsKLSAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAg
ICAgIHRyZWVFbGVtZW50LmVsZW1lbnQucmVtb3ZlKCk7CisgICAgICAgICAgICAgICAgdHJlZUVs
ZW1lbnRzVG9BdHRhY2guYWRkKHRyZWVFbGVtZW50KTsKKyAgICAgICAgICAgICAgICBpZiAoY291
bnQgPj0gZmlyc3RJdGVtICsgZXh0cmFSb3dzICYmIGNvdW50IDw9IGxhc3RJdGVtIC0gZXh0cmFS
b3dzKQorICAgICAgICAgICAgICAgICAgICB2aXNpYmxlVHJlZUVsZW1lbnRzLmFkZCh0cmVlRWxl
bWVudCk7CisgICAgICAgICAgICB9IGVsc2UgaWYgKHRyZWVFbGVtZW50LmVsZW1lbnQucGFyZW50
Tm9kZSkKKyAgICAgICAgICAgICAgICB0cmVlRWxlbWVudHNUb0RldGFjaC5hZGQodHJlZUVsZW1l
bnQpOwogCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0pLmNvdW50OwogCisg
ICAgICAgIC8vIFJlZHJhdyBpZiB3ZSBhcmUgYWJvdXQgdG8gc2Nyb2xsLgorICAgICAgICBpZiAo
IXNob3VsZFNjcm9sbCkgeworICAgICAgICAgICAgLy8gUmVkcmF3IGlmIGFsbCBvZiB0aGUgcHJl
dmlvdXNseSBjZW50ZXJlZCBgV0kuVHJlZUVsZW1lbnRgIGFyZSBubyBsb25nZXIgY2VudGVyZWQu
CisgICAgICAgICAgICBpZiAodmlzaWJsZVRyZWVFbGVtZW50cy5pbnRlcnNlY3RzKHRoaXMuX3Zp
cnR1YWxpemVkVmlzaWJsZVRyZWVFbGVtZW50cykpIHsKKyAgICAgICAgICAgICAgICAvLyBSZWRy
YXcgaWYgdGhlcmUgaXMgYSBgV0kuVHJlZUVsZW1lbnRgIHRoYXQgc2hvdWxkIGJlIHNob3duIHRo
YXQgaXNuJ3QgYXR0YWNoZWQuCisgICAgICAgICAgICAgICAgaWYgKHZpc2libGVUcmVlRWxlbWVu
dHMuaXNTdWJzZXRPZih0aGlzLl92aXJ0dWFsaXplZEF0dGFjaGVkVHJlZUVsZW1lbnRzKSkKKyAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAg
ICAgICAgdGhpcy5fdmlydHVhbGl6ZWRWaXNpYmxlVHJlZUVsZW1lbnRzID0gdmlzaWJsZVRyZWVF
bGVtZW50czsKKyAgICAgICAgdGhpcy5fdmlydHVhbGl6ZWRBdHRhY2hlZFRyZWVFbGVtZW50cyA9
IHRyZWVFbGVtZW50c1RvQXR0YWNoOworCisgICAgICAgIGZvciAobGV0IHRyZWVFbGVtZW50IG9m
IHRyZWVFbGVtZW50c1RvRGV0YWNoKQorICAgICAgICAgICAgdHJlZUVsZW1lbnQuZWxlbWVudC5y
ZW1vdmUoKTsKKworICAgICAgICBmb3IgKGxldCB0cmVlRWxlbWVudCBvZiB0cmVlRWxlbWVudHNU
b0F0dGFjaCkgeworICAgICAgICAgICAgdHJlZUVsZW1lbnQucGFyZW50Ll9jaGlsZHJlbkxpc3RO
b2RlLmFwcGVuZENoaWxkKHRyZWVFbGVtZW50LmVsZW1lbnQpOworICAgICAgICAgICAgaWYgKHRy
ZWVFbGVtZW50Ll9jaGlsZHJlbkxpc3ROb2RlKQorICAgICAgICAgICAgICAgIHRyZWVFbGVtZW50
LnBhcmVudC5fY2hpbGRyZW5MaXN0Tm9kZS5hcHBlbmRDaGlsZCh0cmVlRWxlbWVudC5fY2hpbGRy
ZW5MaXN0Tm9kZSk7CisgICAgICAgIH0KKwogICAgICAgICB0aGlzLl92aXJ0dWFsaXplZFRvcFNw
YWNlci5zdHlsZS5oZWlnaHQgPSAoTWF0aC5tYXgoZmlyc3RJdGVtLCAwKSAqIHRoaXMuX3ZpcnR1
YWxpemVkVHJlZUl0ZW1IZWlnaHQpICsgInB4IjsKLSAgICAgICAgdGhpcy5lbGVtZW50LnBhcmVu
dE5vZGUuaW5zZXJ0QmVmb3JlKHRoaXMuX3ZpcnR1YWxpemVkVG9wU3BhY2VyLCB0aGlzLmVsZW1l
bnQpOworICAgICAgICBpZiAodGhpcy5lbGVtZW50LnByZXZpb3VzRWxlbWVudFNpYmxpbmcgIT09
IHRoaXMuX3ZpcnR1YWxpemVkVG9wU3BhY2VyKQorICAgICAgICAgICAgdGhpcy5lbGVtZW50LnBh
cmVudE5vZGUuaW5zZXJ0QmVmb3JlKHRoaXMuX3ZpcnR1YWxpemVkVG9wU3BhY2VyLCB0aGlzLmVs
ZW1lbnQpOwogCiAgICAgICAgIHRoaXMuX3ZpcnR1YWxpemVkQm90dG9tU3BhY2VyLnN0eWxlLmhl
aWdodCA9IChNYXRoLm1heCh0b3RhbEl0ZW1zIC0gbGFzdEl0ZW0sIDApICogdGhpcy5fdmlydHVh
bGl6ZWRUcmVlSXRlbUhlaWdodCkgKyAicHgiOwotICAgICAgICB0aGlzLmVsZW1lbnQucGFyZW50
Tm9kZS5pbnNlcnRCZWZvcmUodGhpcy5fdmlydHVhbGl6ZWRCb3R0b21TcGFjZXIsIHRoaXMuZWxl
bWVudC5uZXh0RWxlbWVudFNpYmxpbmcpOworICAgICAgICBpZiAodGhpcy5lbGVtZW50Lm5leHRF
bGVtZW50U2libGluZyAhPT0gdGhpcy5fdmlydHVhbGl6ZWRCb3R0b21TcGFjZXIpCisgICAgICAg
ICAgICB0aGlzLmVsZW1lbnQucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUodGhpcy5fdmlydHVhbGl6
ZWRCb3R0b21TcGFjZXIsIHRoaXMuZWxlbWVudC5uZXh0RWxlbWVudFNpYmxpbmcpOwogCiAgICAg
ICAgIGlmIChzaG91bGRTY3JvbGwpCiAgICAgICAgICAgICB0aGlzLl92aXJ0dWFsaXplZFNjcm9s
bENvbnRhaW5lci5zY3JvbGxUb3AgPSAoZmlyc3RJdGVtICsgZXh0cmFSb3dzKSAqIHRoaXMuX3Zp
cnR1YWxpemVkVHJlZUl0ZW1IZWlnaHQ7Ci0KLSAgICAgICAgdGhpcy5fdmlydHVhbGl6ZWRDdXJy
ZW50TWlkZGxlSXRlbSA9IGZpcnN0SXRlbSArIChudW1iZXJWaXNpYmxlIC8gMik7CiAgICAgfQog
CiAgICAgLy8gUHJvdGVjdGVkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYmJkOTdjYmU3YTg2OTc2NjY1MzdmOWVmZTI4OGJm
MjAzOTJlNTI1YS4uNjRjYWE0ZjEyMmU5OTdjZTYyMjhiMDMzYmExZmVmZTAzMWQ5NDNlNyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDEzIEBACisyMDE4LTEwLTE2ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFw
cGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBDYW52YXMgUmVjb3JkaW5nIGxvYWRp
bmcgZ29lcyBzaWduaWZpY2FudGx5IHNsb3dlciB3aGVuICJGcmFtZSIgdHJlZSBlbGVtZW50IGlz
IGV4cGFuZGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xOTA0OTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIGluc3BlY3Rvci91bml0LXRlc3RzL3NldC11dGlsaXRpZXMtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvdW5pdC10ZXN0cy9zZXQtdXRpbGl0aWVzLmh0bWw6IEFk
ZGVkLgorCiAyMDE4LTEwLTE2ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAog
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBDYW52YXM6IGNhcHR1cmUgcHJldmlvdXNseSBzYXZlZCBz
dGF0ZXMgYW5kIGFkZCB0aGVtIHRvIHRoZSByZWNvcmRpbmcgcGF5bG9hZApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL3VuaXQtdGVzdHMvc2V0LXV0aWxpdGllcy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdW5pdC10ZXN0cy9zZXQtdXRpbGl0aWVzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi45OWNkMzFmOWNhNWNlY2NiOGJjOTU5YjI5NDM0YzQ5ZTc0NjQw
YjRhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3VuaXQtdGVzdHMv
c2V0LXV0aWxpdGllcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOCBAQAorCis9PSBSdW5uaW5n
IHRlc3Qgc3VpdGU6IFNldFV0aWxpdGllcworLS0gUnVubmluZyB0ZXN0IGNhc2U6IFNldC5wcm90
b3R5cGUuaW50ZXJzZWN0cworUEFTUzogYW4gZW1wdHkgc2V0IHNob3VsZCBub3QgaW50ZXJzZWN0
IGFub3RoZXIgZW1wdHkgc2V0LgorUEFTUzogYSBub24tZW1wdHkgc2V0IHNob3VsZCBub3QgaW50
ZXJzZWN0IGFuIGVtcHR5IHNldC4KK1BBU1M6IGEgc2V0IHNob3VsZCBpbnRlcnNlY3QgYW5vdGhl
ciBzZXQgd2l0aCB0aGUgc2FtZSB2YWx1ZXMuCitQQVNTOiBhIHNldCBzaG91bGQgbm90IGludGVy
c2VjdCBhbm90aGVyIHNldCB3aXRoIGRpZmZlcmVudCB2YWx1ZXMuCitQQVNTOiBhIHNldCBzaG91
bGQgaW50ZXJzZWN0IGFub3RoZXIgc2V0IHdpdGggc2FtZSBhbmQgYWRkaXRpb25hbCB2YWx1ZXMu
CitQQVNTOiBhIHNldCBzaG91bGQgaW50ZXJzZWN0IGFub3RoZXIgc2V0IHdpdGggc2FtZSBhbmQg
ZGlmZmVyZW50IHZhbHVlcy4KKworLS0gUnVubmluZyB0ZXN0IGNhc2U6IFNldC5wcm90b3R5cGUu
aXNTdWJzZXRPZgorUEFTUzogYW4gZW1wdHkgc2V0IHNob3VsZCBiZSBhIHN1YnNldCBvZiBhbm90
aGVyIGVtcHR5IHNldC4KK1BBU1M6IGFuIGVtcHR5IHNldCBzaG91bGQgYmUgYSBzdWJzZXQgb2Yg
YSBub24tZW1wdHkgc2V0LgorUEFTUzogYSBzZXQgc2hvdWxkIGJlIGEgc3Vic2V0IG9mIGFub3Ro
ZXIgc2V0IHdpdGggdGhlIHNhbWUgdmFsdWVzLgorUEFTUzogYSBzZXQgc2hvdWxkIG5vdCBiZSBh
IHN1YnNldCBvZiBhbm90aGVyIHNldCB3aXRoIGRpZmZlcmVudCB2YWx1ZXMuCitQQVNTOiBhIHNl
dCBzaG91bGQgYmUgYSBzdWJzZXQgb2YgYW5vdGhlciBzZXQgd2l0aCBzYW1lIGFuZCBhZGRpdGlv
bmFsIHZhbHVlcy4KK1BBU1M6IGEgc2V0IHNob3VsZCBub3QgYmUgYSBzdWJzZXQgb2YgYW5vdGhl
ciBzZXQgd2l0aCBzYW1lIGFuZCBkaWZmZXJlbnQgdmFsdWVzLgorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvdW5pdC10ZXN0cy9zZXQtdXRpbGl0aWVzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvdW5pdC10ZXN0cy9zZXQtdXRpbGl0aWVzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YmM2NzU4YWY2OGQwNzdmOThhMTc1N2ZiNjk0YjFjYjZlNzdjZGJiZQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci91bml0LXRlc3RzL3NldC11dGlsaXRpZXMuaHRtbApA
QCAtMCwwICsxLDY4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2luc3BlY3Rvci10ZXN0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBsZXQgc3Vp
dGUgPSBJbnNwZWN0b3JUZXN0LmNyZWF0ZVN5bmNTdWl0ZSgiU2V0VXRpbGl0aWVzIik7CisKKyAg
ICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAgICAgIG5hbWU6ICJTZXQucHJvdG90eXBlLmludGVy
c2VjdHMiLAorICAgICAgICB0ZXN0KCkgeworICAgICAgICAgICAgZnVuY3Rpb24gdGVzdFRydWUo
YSwgYiwgbWVzc2FnZSkgeworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0VGhh
dCgobmV3IFNldChhKSkuaW50ZXJzZWN0cyhuZXcgU2V0KGIpKSwgbWVzc2FnZSk7CisgICAgICAg
ICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RGYWxzZShhLCBiLCBtZXNzYWdlKSB7
CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RGYWxzZSgobmV3IFNldChhKSku
aW50ZXJzZWN0cyhuZXcgU2V0KGIpKSwgbWVzc2FnZSk7CisgICAgICAgICAgICB9CisKKyAgICAg
ICAgICAgIGNvbnN0IG9iamVjdDEgPSB7YTogMX07CisgICAgICAgICAgICBjb25zdCBvYmplY3Qy
ID0ge2I6IDJ9OworICAgICAgICAgICAgY29uc3Qgb2JqZWN0MyA9IHtjOiAzfTsKKworICAgICAg
ICAgICAgdGVzdEZhbHNlKFtdLCBbXSwgImFuIGVtcHR5IHNldCBzaG91bGQgbm90IGludGVyc2Vj
dCBhbm90aGVyIGVtcHR5IHNldC4iKTsKKyAgICAgICAgICAgIHRlc3RGYWxzZShbMSwgImEiLCBv
YmplY3QxXSwgW10sICJhIG5vbi1lbXB0eSBzZXQgc2hvdWxkIG5vdCBpbnRlcnNlY3QgYW4gZW1w
dHkgc2V0LiIpOworICAgICAgICAgICAgdGVzdFRydWUoWzEsICJhIiwgb2JqZWN0MV0sIFsxLCAi
YSIsIG9iamVjdDFdLCAiYSBzZXQgc2hvdWxkIGludGVyc2VjdCBhbm90aGVyIHNldCB3aXRoIHRo
ZSBzYW1lIHZhbHVlcy4iKTsKKyAgICAgICAgICAgIHRlc3RGYWxzZShbMSwgImEiLCBvYmplY3Qx
XSwgWzIsICJiIiwgb2JqZWN0Ml0sICJhIHNldCBzaG91bGQgbm90IGludGVyc2VjdCBhbm90aGVy
IHNldCB3aXRoIGRpZmZlcmVudCB2YWx1ZXMuIik7CisgICAgICAgICAgICB0ZXN0VHJ1ZShbMSwg
ImEiLCBvYmplY3QxXSwgWzEsIDMsICJhIiwgImMiLCBvYmplY3QxLCBvYmplY3QzXSwgImEgc2V0
IHNob3VsZCBpbnRlcnNlY3QgYW5vdGhlciBzZXQgd2l0aCBzYW1lIGFuZCBhZGRpdGlvbmFsIHZh
bHVlcy4iKTsKKyAgICAgICAgICAgIHRlc3RUcnVlKFsxLCAyLCAiYSIsICJiIiwgb2JqZWN0MSwg
b2JqZWN0Ml0sIFsxLCAzLCAiYSIsICJjIiwgb2JqZWN0MSwgb2JqZWN0M10sICJhIHNldCBzaG91
bGQgaW50ZXJzZWN0IGFub3RoZXIgc2V0IHdpdGggc2FtZSBhbmQgZGlmZmVyZW50IHZhbHVlcy4i
KTsKKworICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIH0KKyAgICB9KTsKKworICAg
IHN1aXRlLmFkZFRlc3RDYXNlKHsKKyAgICAgICAgbmFtZTogIlNldC5wcm90b3R5cGUuaXNTdWJz
ZXRPZiIsCisgICAgICAgIHRlc3QoKSB7CisgICAgICAgICAgICBmdW5jdGlvbiB0ZXN0VHJ1ZShh
LCBiLCBtZXNzYWdlKSB7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RUaGF0
KChuZXcgU2V0KGEpKS5pc1N1YnNldE9mKG5ldyBTZXQoYikpLCBtZXNzYWdlKTsKKyAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gdGVzdEZhbHNlKGEsIGIsIG1lc3NhZ2UpIHsK
KyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEZhbHNlKChuZXcgU2V0KGEpKS5p
c1N1YnNldE9mKG5ldyBTZXQoYikpLCBtZXNzYWdlKTsKKyAgICAgICAgICAgIH0KKworICAgICAg
ICAgICAgY29uc3Qgb2JqZWN0MSA9IHthOiAxfTsKKyAgICAgICAgICAgIGNvbnN0IG9iamVjdDIg
PSB7YjogMn07CisgICAgICAgICAgICBjb25zdCBvYmplY3QzID0ge2M6IDN9OworCisgICAgICAg
ICAgICB0ZXN0VHJ1ZShbXSwgW10sICJhbiBlbXB0eSBzZXQgc2hvdWxkIGJlIGEgc3Vic2V0IG9m
IGFub3RoZXIgZW1wdHkgc2V0LiIpOworICAgICAgICAgICAgdGVzdFRydWUoW10sIFsyLCAiYiIs
IG9iamVjdDJdLCAiYW4gZW1wdHkgc2V0IHNob3VsZCBiZSBhIHN1YnNldCBvZiBhIG5vbi1lbXB0
eSBzZXQuIik7CisgICAgICAgICAgICB0ZXN0VHJ1ZShbMSwgImEiLCBvYmplY3QxXSwgWzEsICJh
Iiwgb2JqZWN0MV0sICJhIHNldCBzaG91bGQgYmUgYSBzdWJzZXQgb2YgYW5vdGhlciBzZXQgd2l0
aCB0aGUgc2FtZSB2YWx1ZXMuIik7CisgICAgICAgICAgICB0ZXN0RmFsc2UoWzEsICJhIiwgb2Jq
ZWN0MV0sIFsyLCAiYiIsIG9iamVjdDJdLCAiYSBzZXQgc2hvdWxkIG5vdCBiZSBhIHN1YnNldCBv
ZiBhbm90aGVyIHNldCB3aXRoIGRpZmZlcmVudCB2YWx1ZXMuIik7CisgICAgICAgICAgICB0ZXN0
VHJ1ZShbMSwgImEiLCBvYmplY3QxXSwgWzEsIDMsICJhIiwgImMiLCBvYmplY3QxLCBvYmplY3Qz
XSwgImEgc2V0IHNob3VsZCBiZSBhIHN1YnNldCBvZiBhbm90aGVyIHNldCB3aXRoIHNhbWUgYW5k
IGFkZGl0aW9uYWwgdmFsdWVzLiIpOworICAgICAgICAgICAgdGVzdEZhbHNlKFsxLCAyLCAiYSIs
ICJiIiwgb2JqZWN0MSwgb2JqZWN0Ml0sIFsxLCAzLCAiYSIsICJjIiwgb2JqZWN0MSwgb2JqZWN0
M10sICJhIHNldCBzaG91bGQgbm90IGJlIGEgc3Vic2V0IG9mIGFub3RoZXIgc2V0IHdpdGggc2Ft
ZSBhbmQgZGlmZmVyZW50IHZhbHVlcy4iKTsKKworICAgICAgICAgICAgcmV0dXJuIHRydWU7Cisg
ICAgICAgIH0KKyAgICB9KTsKKworICAgIHN1aXRlLnJ1blRlc3RDYXNlc0FuZEZpbmlzaCgpOwor
fQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbkxvYWQ9InJ1blRlc3QoKSI+Cis8L2JvZHk+
Cis8L2h0bWw+Cg==
</data>
<flag name="review"
          id="369815"
          type_id="1"
          status="+"
          setter="joepeck"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>353126</attachid>
            <date>2018-10-25 16:22:10 -0700</date>
            <delta_ts>2018-10-25 16:59:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190497-20181016180126.patch.txt</filename>
            <type>text/plain</type>
            <size>14260</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDU2NzA0YzgxNzdiYmRhYTA0NjViOGZiZmU1OTJk
NWVhZGIwODQwZWIuLmI1ZDgxY2M4Mzc5ZDJkYzJiODY3OGVmYzY3MmZhNWQ3YjdmNDA5OGMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE4LTEwLTI1ICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBD
YW52YXMgUmVjb3JkaW5nIGxvYWRpbmcgZ29lcyBzaWduaWZpY2FudGx5IHNsb3dlciB3aGVuICJG
cmFtZSIgdHJlZSBlbGVtZW50IGlzIGV4cGFuZGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA0OTcKKworICAgICAgICBSZXZpZXdlZCBieSBKb3Nl
cGggUGVjb3Jhcm8uCisKKyAgICAgICAgU2F2ZSB0aGUgYFdJLlRyZWVFbGVtZW50YCB0aGF0IGFy
ZSBpbiB0aGUgRE9NLCBhbmQgY29tcGFyZSB0aGF0IHdpdGggYW55IGBXSS5UcmVlRWxlbWVudGAK
KyAgICAgICAgdGhhdCB3b3VsZCBiZSBhZGRlZCB0byB0aGUgRE9NLiBJZiBhbGwgb2YgdGhlIGZv
bGxvd2luZyBhcmUgdHJ1ZSwgZG9uJ3QgZWRpdCB0aGUgRE9NOgorICAgICAgICAgLSBubyBmb2N1
c2VkIGBXSS5UcmVlRWxlbWVudGAgdGhhdCBpc24ndCBjdXJyZW50bHkgdmlzaWJsZSAod2Ugd291
bGQgc2Nyb2xsIG90aGVyd2lzZSkKKyAgICAgICAgIC0gdGhlIHNldCBvZiBwcmV2aW91c2x5IHZp
c2libGUgYFdJLlRyZWVFbGVtZW50YHMgKGUuZy4gbm90IHVzZWQgZm9yIHNjcm9sbCBwYWRkaW5n
KSBoYXMgYXQKKyAgICAgICAgICAgbGVhc3Qgb25lIG9mIHRoZSBgV0kuVHJlZUVsZW1lbnRgcyB0
aGF0IHdvdWxkIGJlIGFkZGVkIGZyb20gdGhpcyB1cGRhdGUKKyAgICAgICAgICAgIC0gdGhpcyBt
ZWFucyB0aGF0IHRoZSB1c2VyIGhhc24ndCBzY3JvbGxlZCBiZXlvbmQgdGhlIHBhZGRpbmcgYFdJ
LlRyZWVFbGVtZW50YAorICAgICAgICAgLSB0aGVyZSBhcmUgbm8gYFdJLlRyZWVFbGVtZW50YHMg
dGhhdCB3b3VsZCBiZSBhZGRlZCBmcm9tIHRoaXMgdXBkYXRlIHRoYXQgd2VyZSBOT1QgYWRkZWQK
KyAgICAgICAgICAgaW4gYSBwcmV2aW91cyB1cGRhdGUKKyAgICAgICAgICAgIC0gdGhpcyBjb3Zl
cnMgdGhlIGNhc2UgdGhhdCBhIGBXSS5UcmVlRWxlbWVudGAgaXMgaW5zZXJ0ZWQgaW4gdGhlIHZp
c2libGUgYXJlYQorCisgICAgICAgICogVXNlckludGVyZmFjZS9CYXNlL1V0aWxpdGllcy5qczoK
KworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvVHJlZU91dGxpbmUuanM6CisgICAgICAg
IChXSS5UcmVlT3V0bGluZSk6CisgICAgICAgIChXSS5UcmVlT3V0bGluZS5wcm90b3R5cGUucmVn
aXN0ZXJTY3JvbGxWaXJ0dWFsaXplcik6CisgICAgICAgIChXSS5UcmVlT3V0bGluZS5wcm90b3R5
cGUudXBkYXRlVmlydHVhbGl6ZWRFbGVtZW50cy53YWxrKToKKyAgICAgICAgKFdJLlRyZWVPdXRs
aW5lLnByb3RvdHlwZS51cGRhdGVWaXJ0dWFsaXplZEVsZW1lbnRzKToKKwogMjAxOC0xMC0xNiAg
RGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3Rv
cjogQ2FudmFzOiBjYXB0dXJlIHByZXZpb3VzbHkgc2F2ZWQgc3RhdGVzIGFuZCBhZGQgdGhlbSB0
byB0aGUgcmVjb3JkaW5nIHBheWxvYWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL0Jhc2UvVXRpbGl0aWVzLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvQmFzZS9VdGlsaXRpZXMuanMKaW5kZXggYWEwNWQzNzJjODg2MGU5OWNh
ZjZlNGI5YWFjOWZhODRmYzg3YzYyMS4uZjI3YjIzMDU4YzIyNDA0MzkzOTIzNzQ2MjVlMzZmMTMy
MjAyNzQwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
QmFzZS9VdGlsaXRpZXMuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvQmFzZS9VdGlsaXRpZXMuanMKQEAgLTExOCw2ICsxMTgsMzUgQEAgT2JqZWN0LmRlZmluZVBy
b3BlcnR5KE1hcC5wcm90b3R5cGUsICJ0YWtlIiwKICAgICB9CiB9KTsKIAorT2JqZWN0LmRlZmlu
ZVByb3BlcnR5KFNldC5wcm90b3R5cGUsICJpbnRlcnNlY3RzIiwKK3sKKyAgICB2YWx1ZShvdGhl
cikKKyAgICB7CisgICAgICAgIGlmICghdGhpcy5zaXplIHx8ICFvdGhlci5zaXplKQorICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIGZvciAobGV0IGl0ZW0gb2YgdGhpcykgewor
ICAgICAgICAgICAgaWYgKG90aGVyLmhhcyhpdGVtKSkKKyAgICAgICAgICAgICAgICByZXR1cm4g
dHJ1ZTsKKyAgICAgICAgfQorCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9Cit9KTsKKwor
T2JqZWN0LmRlZmluZVByb3BlcnR5KFNldC5wcm90b3R5cGUsICJpc1N1YnNldE9mIiwKK3sKKyAg
ICB2YWx1ZShvdGhlcikKKyAgICB7CisgICAgICAgIGZvciAobGV0IGl0ZW0gb2YgdGhpcykgewor
ICAgICAgICAgICAgaWYgKCFvdGhlci5oYXMoaXRlbSkpCisgICAgICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorfSk7CisK
IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShOb2RlLnByb3RvdHlwZSwgImVuY2xvc2luZ05vZGVPclNl
bGZXaXRoQ2xhc3MiLAogewogICAgIHZhbHVlKGNsYXNzTmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RyZWVPdXRsaW5lLmpzIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVHJlZU91dGxpbmUuanMKaW5k
ZXggZWI2M2FiMDI4ZWFlMjI5ZWQwNTE1NmQ3YTU3ODk3OTQ0NTFjZjQ0ZC4uOGVjM2Y5OWU3MTM4
ZGRjNGUxM2M4N2M5MjY0MjU3NDY1NzZkMTliYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVHJlZU91dGxpbmUuanMKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVHJlZU91dGxpbmUuanMKQEAgLTU1LDcg
KzU1LDggQEAgV0kuVHJlZU91dGxpbmUgPSBjbGFzcyBUcmVlT3V0bGluZSBleHRlbmRzIFdJLk9i
amVjdAogICAgICAgICB0aGlzLl9jdXN0b21JbmRlbnQgPSBmYWxzZTsKICAgICAgICAgdGhpcy5f
c2VsZWN0YWJsZSA9IHNlbGVjdGFibGU7CiAKLSAgICAgICAgdGhpcy5fdmlydHVhbGl6ZWRDdXJy
ZW50TWlkZGxlSXRlbSA9IE5hTjsKKyAgICAgICAgdGhpcy5fdmlydHVhbGl6ZWRWaXNpYmxlVHJl
ZUVsZW1lbnRzID0gbnVsbDsKKyAgICAgICAgdGhpcy5fdmlydHVhbGl6ZWRBdHRhY2hlZFRyZWVF
bGVtZW50cyA9IG51bGw7CiAgICAgICAgIHRoaXMuX3ZpcnR1YWxpemVkU2Nyb2xsQ29udGFpbmVy
ID0gbnVsbDsKICAgICAgICAgdGhpcy5fdmlydHVhbGl6ZWRUcmVlSXRlbUhlaWdodCA9IE5hTjsK
ICAgICAgICAgdGhpcy5fdmlydHVhbGl6ZWRUb3BTcGFjZXIgPSBudWxsOwpAQCAtNjU0LDE2ICs2
NTUsMTYgQEAgV0kuVHJlZU91dGxpbmUgPSBjbGFzcyBUcmVlT3V0bGluZSBleHRlbmRzIFdJLk9i
amVjdAogICAgIHsKICAgICAgICAgY29uc29sZS5hc3NlcnQoIWlzTmFOKHRyZWVJdGVtSGVpZ2h0
KSk7CiAKKyAgICAgICAgdGhpcy5fdmlydHVhbGl6ZWRWaXNpYmxlVHJlZUVsZW1lbnRzID0gbmV3
IFNldDsKKyAgICAgICAgdGhpcy5fdmlydHVhbGl6ZWRBdHRhY2hlZFRyZWVFbGVtZW50cyA9IG5l
dyBTZXQ7CiAgICAgICAgIHRoaXMuX3ZpcnR1YWxpemVkU2Nyb2xsQ29udGFpbmVyID0gc2Nyb2xs
Q29udGFpbmVyOwogICAgICAgICB0aGlzLl92aXJ0dWFsaXplZFRyZWVJdGVtSGVpZ2h0ID0gdHJl
ZUl0ZW1IZWlnaHQ7CiAgICAgICAgIHRoaXMuX3ZpcnR1YWxpemVkVG9wU3BhY2VyID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgICAgICAgIHRoaXMuX3ZpcnR1YWxpemVkQm90dG9t
U3BhY2VyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAKKyAgICAgICAgbGV0IHRo
cm90dGxlciA9IHRoaXMudGhyb3R0bGUoMTAwMCAvIDE2KTsKICAgICAgICAgdGhpcy5fdmlydHVh
bGl6ZWRTY3JvbGxDb250YWluZXIuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIiwgKGV2ZW50KSA9
PiB7Ci0gICAgICAgICAgICBsZXQge251bWJlclZpc2libGUsIGV4dHJhUm93cywgZmlyc3RJdGVt
fSA9IHRoaXMuX2NhbGN1bGF0ZVZpcnR1YWxpemVkVmFsdWVzKCk7Ci0KLSAgICAgICAgICAgIGlm
IChNYXRoLmFicyhmaXJzdEl0ZW0gKyAobnVtYmVyVmlzaWJsZSAvIDIpIC0gdGhpcy5fdmlydHVh
bGl6ZWRDdXJyZW50TWlkZGxlSXRlbSkgPj0gZXh0cmFSb3dzKQotICAgICAgICAgICAgICAgIHRo
aXMudXBkYXRlVmlydHVhbGl6ZWRFbGVtZW50cygpOworICAgICAgICAgICAgdGhyb3R0bGVyLnVw
ZGF0ZVZpcnR1YWxpemVkRWxlbWVudHMoKTsKICAgICAgICAgfSk7CiAgICAgfQogCkBAIC02Nzgs
MTEgKzY3OSw3IEBAIFdJLlRyZWVPdXRsaW5lID0gY2xhc3MgVHJlZU91dGxpbmUgZXh0ZW5kcyBX
SS5PYmplY3QKICAgICAgICAgICAgICAgICBpZiAoIWNoaWxkLnJldmVhbGVkKGZhbHNlKSkKICAg
ICAgICAgICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAgICAgICAgICAgICBzaG91bGRSZXR1
cm4gPSBjYWxsYmFjayh7Ci0gICAgICAgICAgICAgICAgICAgIHBhcmVudCwKLSAgICAgICAgICAg
ICAgICAgICAgdHJlZUVsZW1lbnQ6IGNoaWxkLAotICAgICAgICAgICAgICAgICAgICBjb3VudCwK
LSAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgICAgICBzaG91bGRSZXR1cm4gPSBjYWxs
YmFjayhjaGlsZCwgY291bnQpOwogICAgICAgICAgICAgICAgIGlmIChzaG91bGRSZXR1cm4pCiAg
ICAgICAgICAgICAgICAgICAgIGJyZWFrOwogCkBAIC03MDEsNyArNjk4LDcgQEAgV0kuVHJlZU91
dGxpbmUgPSBjbGFzcyBUcmVlT3V0bGluZSBleHRlbmRzIFdJLk9iamVjdAogCiAgICAgICAgIGxl
dCBzaG91bGRTY3JvbGwgPSBmYWxzZTsKICAgICAgICAgaWYgKGZvY3VzZWRUcmVlRWxlbWVudCAm
JiBmb2N1c2VkVHJlZUVsZW1lbnQucmV2ZWFsZWQoZmFsc2UpKSB7Ci0gICAgICAgICAgICBsZXQg
aW5kZXggPSB3YWxrKHRoaXMsICh7dHJlZUVsZW1lbnR9KSA9PiB0cmVlRWxlbWVudCA9PT0gZm9j
dXNlZFRyZWVFbGVtZW50KS5jb3VudDsKKyAgICAgICAgICAgIGxldCBpbmRleCA9IHdhbGsodGhp
cywgKHRyZWVFbGVtZW50KSA9PiB0cmVlRWxlbWVudCA9PT0gZm9jdXNlZFRyZWVFbGVtZW50KS5j
b3VudDsKICAgICAgICAgICAgIGlmIChpbmRleCA8IGZpcnN0SXRlbSkgewogICAgICAgICAgICAg
ICAgIGZpcnN0SXRlbSA9IGluZGV4IC0gZXh0cmFSb3dzOwogICAgICAgICAgICAgICAgIGxhc3RJ
dGVtID0gaW5kZXggKyBudW1iZXJWaXNpYmxlICsgZXh0cmFSb3dzOwpAQCAtNzE1LDI3ICs3MTIs
NTQgQEAgV0kuVHJlZU91dGxpbmUgPSBjbGFzcyBUcmVlT3V0bGluZSBleHRlbmRzIFdJLk9iamVj
dAogICAgICAgICAgICAgc2hvdWxkU2Nyb2xsID0gKGluZGV4IDwgZmlyc3RJdGVtICsgZXh0cmFS
b3dzKSB8fCAoaW5kZXggPiBsYXN0SXRlbSAtIGV4dHJhUm93cyk7CiAgICAgICAgIH0KIAotICAg
ICAgICBsZXQgdG90YWxJdGVtcyA9IHdhbGsodGhpcywgKHtwYXJlbnQsIHRyZWVFbGVtZW50LCBj
b3VudH0pID0+IHsKKyAgICAgICAgY29uc29sZS5hc3NlcnQoZmlyc3RJdGVtIDwgbGFzdEl0ZW0p
OworCisgICAgICAgIGxldCB2aXNpYmxlVHJlZUVsZW1lbnRzID0gbmV3IFNldDsKKyAgICAgICAg
bGV0IHRyZWVFbGVtZW50c1RvQXR0YWNoID0gbmV3IFNldDsKKyAgICAgICAgbGV0IHRyZWVFbGVt
ZW50c1RvRGV0YWNoID0gbmV3IFNldDsKKyAgICAgICAgbGV0IHRvdGFsSXRlbXMgPSB3YWxrKHRo
aXMsICh0cmVlRWxlbWVudCwgY291bnQpID0+IHsKICAgICAgICAgICAgIGlmIChjb3VudCA+PSBm
aXJzdEl0ZW0gJiYgY291bnQgPD0gbGFzdEl0ZW0pIHsKLSAgICAgICAgICAgICAgICBwYXJlbnQu
X2NoaWxkcmVuTGlzdE5vZGUuYXBwZW5kQ2hpbGQodHJlZUVsZW1lbnQuZWxlbWVudCk7Ci0gICAg
ICAgICAgICAgICAgaWYgKHRyZWVFbGVtZW50Ll9jaGlsZHJlbkxpc3ROb2RlKQotICAgICAgICAg
ICAgICAgICAgICBwYXJlbnQuX2NoaWxkcmVuTGlzdE5vZGUuYXBwZW5kQ2hpbGQodHJlZUVsZW1l
bnQuX2NoaWxkcmVuTGlzdE5vZGUpOwotICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAg
ICAgdHJlZUVsZW1lbnQuZWxlbWVudC5yZW1vdmUoKTsKKyAgICAgICAgICAgICAgICB0cmVlRWxl
bWVudHNUb0F0dGFjaC5hZGQodHJlZUVsZW1lbnQpOworICAgICAgICAgICAgICAgIGlmIChjb3Vu
dCA+PSBmaXJzdEl0ZW0gKyBleHRyYVJvd3MgJiYgY291bnQgPD0gbGFzdEl0ZW0gLSBleHRyYVJv
d3MpCisgICAgICAgICAgICAgICAgICAgIHZpc2libGVUcmVlRWxlbWVudHMuYWRkKHRyZWVFbGVt
ZW50KTsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAodHJlZUVsZW1lbnQuZWxlbWVudC5wYXJlbnRO
b2RlKQorICAgICAgICAgICAgICAgIHRyZWVFbGVtZW50c1RvRGV0YWNoLmFkZCh0cmVlRWxlbWVu
dCk7CiAKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfSkuY291bnQ7CiAKKyAg
ICAgICAgLy8gUmVkcmF3IGlmIHdlIGFyZSBhYm91dCB0byBzY3JvbGwuCisgICAgICAgIGlmICgh
c2hvdWxkU2Nyb2xsKSB7CisgICAgICAgICAgICAvLyBSZWRyYXcgaWYgYWxsIG9mIHRoZSBwcmV2
aW91c2x5IGNlbnRlcmVkIGBXSS5UcmVlRWxlbWVudGAgYXJlIG5vIGxvbmdlciBjZW50ZXJlZC4K
KyAgICAgICAgICAgIGlmICh2aXNpYmxlVHJlZUVsZW1lbnRzLmludGVyc2VjdHModGhpcy5fdmly
dHVhbGl6ZWRWaXNpYmxlVHJlZUVsZW1lbnRzKSkgeworICAgICAgICAgICAgICAgIC8vIFJlZHJh
dyBpZiB0aGVyZSBpcyBhIGBXSS5UcmVlRWxlbWVudGAgdGhhdCBzaG91bGQgYmUgc2hvd24gdGhh
dCBpc24ndCBhdHRhY2hlZC4KKyAgICAgICAgICAgICAgICBpZiAodmlzaWJsZVRyZWVFbGVtZW50
cy5pc1N1YnNldE9mKHRoaXMuX3ZpcnR1YWxpemVkQXR0YWNoZWRUcmVlRWxlbWVudHMpKQorICAg
ICAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAg
ICAgICB0aGlzLl92aXJ0dWFsaXplZFZpc2libGVUcmVlRWxlbWVudHMgPSB2aXNpYmxlVHJlZUVs
ZW1lbnRzOworICAgICAgICB0aGlzLl92aXJ0dWFsaXplZEF0dGFjaGVkVHJlZUVsZW1lbnRzID0g
dHJlZUVsZW1lbnRzVG9BdHRhY2g7CisKKyAgICAgICAgZm9yIChsZXQgdHJlZUVsZW1lbnQgb2Yg
dHJlZUVsZW1lbnRzVG9EZXRhY2gpCisgICAgICAgICAgICB0cmVlRWxlbWVudC5lbGVtZW50LnJl
bW92ZSgpOworCisgICAgICAgIGZvciAobGV0IHRyZWVFbGVtZW50IG9mIHRyZWVFbGVtZW50c1Rv
QXR0YWNoKSB7CisgICAgICAgICAgICB0cmVlRWxlbWVudC5wYXJlbnQuX2NoaWxkcmVuTGlzdE5v
ZGUuYXBwZW5kQ2hpbGQodHJlZUVsZW1lbnQuZWxlbWVudCk7CisgICAgICAgICAgICBpZiAodHJl
ZUVsZW1lbnQuX2NoaWxkcmVuTGlzdE5vZGUpCisgICAgICAgICAgICAgICAgdHJlZUVsZW1lbnQu
cGFyZW50Ll9jaGlsZHJlbkxpc3ROb2RlLmFwcGVuZENoaWxkKHRyZWVFbGVtZW50Ll9jaGlsZHJl
bkxpc3ROb2RlKTsKKyAgICAgICAgfQorCiAgICAgICAgIHRoaXMuX3ZpcnR1YWxpemVkVG9wU3Bh
Y2VyLnN0eWxlLmhlaWdodCA9IChNYXRoLm1heChmaXJzdEl0ZW0sIDApICogdGhpcy5fdmlydHVh
bGl6ZWRUcmVlSXRlbUhlaWdodCkgKyAicHgiOwotICAgICAgICB0aGlzLmVsZW1lbnQucGFyZW50
Tm9kZS5pbnNlcnRCZWZvcmUodGhpcy5fdmlydHVhbGl6ZWRUb3BTcGFjZXIsIHRoaXMuZWxlbWVu
dCk7CisgICAgICAgIGlmICh0aGlzLmVsZW1lbnQucHJldmlvdXNFbGVtZW50U2libGluZyAhPT0g
dGhpcy5fdmlydHVhbGl6ZWRUb3BTcGFjZXIpCisgICAgICAgICAgICB0aGlzLmVsZW1lbnQucGFy
ZW50Tm9kZS5pbnNlcnRCZWZvcmUodGhpcy5fdmlydHVhbGl6ZWRUb3BTcGFjZXIsIHRoaXMuZWxl
bWVudCk7CiAKICAgICAgICAgdGhpcy5fdmlydHVhbGl6ZWRCb3R0b21TcGFjZXIuc3R5bGUuaGVp
Z2h0ID0gKE1hdGgubWF4KHRvdGFsSXRlbXMgLSBsYXN0SXRlbSwgMCkgKiB0aGlzLl92aXJ0dWFs
aXplZFRyZWVJdGVtSGVpZ2h0KSArICJweCI7Ci0gICAgICAgIHRoaXMuZWxlbWVudC5wYXJlbnRO
b2RlLmluc2VydEJlZm9yZSh0aGlzLl92aXJ0dWFsaXplZEJvdHRvbVNwYWNlciwgdGhpcy5lbGVt
ZW50Lm5leHRFbGVtZW50U2libGluZyk7CisgICAgICAgIGlmICh0aGlzLmVsZW1lbnQubmV4dEVs
ZW1lbnRTaWJsaW5nICE9PSB0aGlzLl92aXJ0dWFsaXplZEJvdHRvbVNwYWNlcikKKyAgICAgICAg
ICAgIHRoaXMuZWxlbWVudC5wYXJlbnROb2RlLmluc2VydEJlZm9yZSh0aGlzLl92aXJ0dWFsaXpl
ZEJvdHRvbVNwYWNlciwgdGhpcy5lbGVtZW50Lm5leHRFbGVtZW50U2libGluZyk7CiAKICAgICAg
ICAgaWYgKHNob3VsZFNjcm9sbCkKICAgICAgICAgICAgIHRoaXMuX3ZpcnR1YWxpemVkU2Nyb2xs
Q29udGFpbmVyLnNjcm9sbFRvcCA9IChmaXJzdEl0ZW0gKyBleHRyYVJvd3MpICogdGhpcy5fdmly
dHVhbGl6ZWRUcmVlSXRlbUhlaWdodDsKLQotICAgICAgICB0aGlzLl92aXJ0dWFsaXplZEN1cnJl
bnRNaWRkbGVJdGVtID0gZmlyc3RJdGVtICsgKG51bWJlclZpc2libGUgLyAyKTsKICAgICB9CiAK
ICAgICAvLyBQcm90ZWN0ZWQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBiYmQ5N2NiZTdhODY5NzY2NjUzN2Y5ZWZlMjg4YmYy
MDM5MmU1MjVhLi42NGNhYTRmMTIyZTk5N2NlNjIyOGIwMzNiYTFmZWZlMDMxZDk0M2U3IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTMgQEAKKzIwMTgtMTAtMjUgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBw
bGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IENhbnZhcyBSZWNvcmRpbmcgbG9hZGlu
ZyBnb2VzIHNpZ25pZmljYW50bHkgc2xvd2VyIHdoZW4gIkZyYW1lIiB0cmVlIGVsZW1lbnQgaXMg
ZXhwYW5kZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE5MDQ5NworCisgICAgICAgIFJldmlld2VkIGJ5IEpvc2VwaCBQZWNvcmFyby4KKworICAgICAg
ICAqIGluc3BlY3Rvci91bml0LXRlc3RzL3NldC11dGlsaXRpZXMtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvdW5pdC10ZXN0cy9zZXQtdXRpbGl0aWVzLmh0bWw6IEFk
ZGVkLgorCiAyMDE4LTEwLTE2ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAog
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBDYW52YXM6IGNhcHR1cmUgcHJldmlvdXNseSBzYXZlZCBz
dGF0ZXMgYW5kIGFkZCB0aGVtIHRvIHRoZSByZWNvcmRpbmcgcGF5bG9hZApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL3VuaXQtdGVzdHMvc2V0LXV0aWxpdGllcy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdW5pdC10ZXN0cy9zZXQtdXRpbGl0aWVzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi45OWNkMzFmOWNhNWNlY2NiOGJjOTU5YjI5NDM0YzQ5ZTc0NjQw
YjRhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3VuaXQtdGVzdHMv
c2V0LXV0aWxpdGllcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOCBAQAorCis9PSBSdW5uaW5n
IHRlc3Qgc3VpdGU6IFNldFV0aWxpdGllcworLS0gUnVubmluZyB0ZXN0IGNhc2U6IFNldC5wcm90
b3R5cGUuaW50ZXJzZWN0cworUEFTUzogYW4gZW1wdHkgc2V0IHNob3VsZCBub3QgaW50ZXJzZWN0
IGFub3RoZXIgZW1wdHkgc2V0LgorUEFTUzogYSBub24tZW1wdHkgc2V0IHNob3VsZCBub3QgaW50
ZXJzZWN0IGFuIGVtcHR5IHNldC4KK1BBU1M6IGEgc2V0IHNob3VsZCBpbnRlcnNlY3QgYW5vdGhl
ciBzZXQgd2l0aCB0aGUgc2FtZSB2YWx1ZXMuCitQQVNTOiBhIHNldCBzaG91bGQgbm90IGludGVy
c2VjdCBhbm90aGVyIHNldCB3aXRoIGRpZmZlcmVudCB2YWx1ZXMuCitQQVNTOiBhIHNldCBzaG91
bGQgaW50ZXJzZWN0IGFub3RoZXIgc2V0IHdpdGggc2FtZSBhbmQgYWRkaXRpb25hbCB2YWx1ZXMu
CitQQVNTOiBhIHNldCBzaG91bGQgaW50ZXJzZWN0IGFub3RoZXIgc2V0IHdpdGggc2FtZSBhbmQg
ZGlmZmVyZW50IHZhbHVlcy4KKworLS0gUnVubmluZyB0ZXN0IGNhc2U6IFNldC5wcm90b3R5cGUu
aXNTdWJzZXRPZgorUEFTUzogYW4gZW1wdHkgc2V0IHNob3VsZCBiZSBhIHN1YnNldCBvZiBhbm90
aGVyIGVtcHR5IHNldC4KK1BBU1M6IGFuIGVtcHR5IHNldCBzaG91bGQgYmUgYSBzdWJzZXQgb2Yg
YSBub24tZW1wdHkgc2V0LgorUEFTUzogYSBzZXQgc2hvdWxkIGJlIGEgc3Vic2V0IG9mIGFub3Ro
ZXIgc2V0IHdpdGggdGhlIHNhbWUgdmFsdWVzLgorUEFTUzogYSBzZXQgc2hvdWxkIG5vdCBiZSBh
IHN1YnNldCBvZiBhbm90aGVyIHNldCB3aXRoIGRpZmZlcmVudCB2YWx1ZXMuCitQQVNTOiBhIHNl
dCBzaG91bGQgYmUgYSBzdWJzZXQgb2YgYW5vdGhlciBzZXQgd2l0aCBzYW1lIGFuZCBhZGRpdGlv
bmFsIHZhbHVlcy4KK1BBU1M6IGEgc2V0IHNob3VsZCBub3QgYmUgYSBzdWJzZXQgb2YgYW5vdGhl
ciBzZXQgd2l0aCBzYW1lIGFuZCBkaWZmZXJlbnQgdmFsdWVzLgorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvdW5pdC10ZXN0cy9zZXQtdXRpbGl0aWVzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvdW5pdC10ZXN0cy9zZXQtdXRpbGl0aWVzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YmM2NzU4YWY2OGQwNzdmOThhMTc1N2ZiNjk0YjFjYjZlNzdjZGJiZQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci91bml0LXRlc3RzL3NldC11dGlsaXRpZXMuaHRtbApA
QCAtMCwwICsxLDY4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2luc3BlY3Rvci10ZXN0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBsZXQgc3Vp
dGUgPSBJbnNwZWN0b3JUZXN0LmNyZWF0ZVN5bmNTdWl0ZSgiU2V0VXRpbGl0aWVzIik7CisKKyAg
ICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAgICAgIG5hbWU6ICJTZXQucHJvdG90eXBlLmludGVy
c2VjdHMiLAorICAgICAgICB0ZXN0KCkgeworICAgICAgICAgICAgZnVuY3Rpb24gdGVzdFRydWUo
YSwgYiwgbWVzc2FnZSkgeworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0VGhh
dCgobmV3IFNldChhKSkuaW50ZXJzZWN0cyhuZXcgU2V0KGIpKSwgbWVzc2FnZSk7CisgICAgICAg
ICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RGYWxzZShhLCBiLCBtZXNzYWdlKSB7
CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RGYWxzZSgobmV3IFNldChhKSku
aW50ZXJzZWN0cyhuZXcgU2V0KGIpKSwgbWVzc2FnZSk7CisgICAgICAgICAgICB9CisKKyAgICAg
ICAgICAgIGNvbnN0IG9iamVjdDEgPSB7YTogMX07CisgICAgICAgICAgICBjb25zdCBvYmplY3Qy
ID0ge2I6IDJ9OworICAgICAgICAgICAgY29uc3Qgb2JqZWN0MyA9IHtjOiAzfTsKKworICAgICAg
ICAgICAgdGVzdEZhbHNlKFtdLCBbXSwgImFuIGVtcHR5IHNldCBzaG91bGQgbm90IGludGVyc2Vj
dCBhbm90aGVyIGVtcHR5IHNldC4iKTsKKyAgICAgICAgICAgIHRlc3RGYWxzZShbMSwgImEiLCBv
YmplY3QxXSwgW10sICJhIG5vbi1lbXB0eSBzZXQgc2hvdWxkIG5vdCBpbnRlcnNlY3QgYW4gZW1w
dHkgc2V0LiIpOworICAgICAgICAgICAgdGVzdFRydWUoWzEsICJhIiwgb2JqZWN0MV0sIFsxLCAi
YSIsIG9iamVjdDFdLCAiYSBzZXQgc2hvdWxkIGludGVyc2VjdCBhbm90aGVyIHNldCB3aXRoIHRo
ZSBzYW1lIHZhbHVlcy4iKTsKKyAgICAgICAgICAgIHRlc3RGYWxzZShbMSwgImEiLCBvYmplY3Qx
XSwgWzIsICJiIiwgb2JqZWN0Ml0sICJhIHNldCBzaG91bGQgbm90IGludGVyc2VjdCBhbm90aGVy
IHNldCB3aXRoIGRpZmZlcmVudCB2YWx1ZXMuIik7CisgICAgICAgICAgICB0ZXN0VHJ1ZShbMSwg
ImEiLCBvYmplY3QxXSwgWzEsIDMsICJhIiwgImMiLCBvYmplY3QxLCBvYmplY3QzXSwgImEgc2V0
IHNob3VsZCBpbnRlcnNlY3QgYW5vdGhlciBzZXQgd2l0aCBzYW1lIGFuZCBhZGRpdGlvbmFsIHZh
bHVlcy4iKTsKKyAgICAgICAgICAgIHRlc3RUcnVlKFsxLCAyLCAiYSIsICJiIiwgb2JqZWN0MSwg
b2JqZWN0Ml0sIFsxLCAzLCAiYSIsICJjIiwgb2JqZWN0MSwgb2JqZWN0M10sICJhIHNldCBzaG91
bGQgaW50ZXJzZWN0IGFub3RoZXIgc2V0IHdpdGggc2FtZSBhbmQgZGlmZmVyZW50IHZhbHVlcy4i
KTsKKworICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIH0KKyAgICB9KTsKKworICAg
IHN1aXRlLmFkZFRlc3RDYXNlKHsKKyAgICAgICAgbmFtZTogIlNldC5wcm90b3R5cGUuaXNTdWJz
ZXRPZiIsCisgICAgICAgIHRlc3QoKSB7CisgICAgICAgICAgICBmdW5jdGlvbiB0ZXN0VHJ1ZShh
LCBiLCBtZXNzYWdlKSB7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RUaGF0
KChuZXcgU2V0KGEpKS5pc1N1YnNldE9mKG5ldyBTZXQoYikpLCBtZXNzYWdlKTsKKyAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gdGVzdEZhbHNlKGEsIGIsIG1lc3NhZ2UpIHsK
KyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEZhbHNlKChuZXcgU2V0KGEpKS5p
c1N1YnNldE9mKG5ldyBTZXQoYikpLCBtZXNzYWdlKTsKKyAgICAgICAgICAgIH0KKworICAgICAg
ICAgICAgY29uc3Qgb2JqZWN0MSA9IHthOiAxfTsKKyAgICAgICAgICAgIGNvbnN0IG9iamVjdDIg
PSB7YjogMn07CisgICAgICAgICAgICBjb25zdCBvYmplY3QzID0ge2M6IDN9OworCisgICAgICAg
ICAgICB0ZXN0VHJ1ZShbXSwgW10sICJhbiBlbXB0eSBzZXQgc2hvdWxkIGJlIGEgc3Vic2V0IG9m
IGFub3RoZXIgZW1wdHkgc2V0LiIpOworICAgICAgICAgICAgdGVzdFRydWUoW10sIFsyLCAiYiIs
IG9iamVjdDJdLCAiYW4gZW1wdHkgc2V0IHNob3VsZCBiZSBhIHN1YnNldCBvZiBhIG5vbi1lbXB0
eSBzZXQuIik7CisgICAgICAgICAgICB0ZXN0VHJ1ZShbMSwgImEiLCBvYmplY3QxXSwgWzEsICJh
Iiwgb2JqZWN0MV0sICJhIHNldCBzaG91bGQgYmUgYSBzdWJzZXQgb2YgYW5vdGhlciBzZXQgd2l0
aCB0aGUgc2FtZSB2YWx1ZXMuIik7CisgICAgICAgICAgICB0ZXN0RmFsc2UoWzEsICJhIiwgb2Jq
ZWN0MV0sIFsyLCAiYiIsIG9iamVjdDJdLCAiYSBzZXQgc2hvdWxkIG5vdCBiZSBhIHN1YnNldCBv
ZiBhbm90aGVyIHNldCB3aXRoIGRpZmZlcmVudCB2YWx1ZXMuIik7CisgICAgICAgICAgICB0ZXN0
VHJ1ZShbMSwgImEiLCBvYmplY3QxXSwgWzEsIDMsICJhIiwgImMiLCBvYmplY3QxLCBvYmplY3Qz
XSwgImEgc2V0IHNob3VsZCBiZSBhIHN1YnNldCBvZiBhbm90aGVyIHNldCB3aXRoIHNhbWUgYW5k
IGFkZGl0aW9uYWwgdmFsdWVzLiIpOworICAgICAgICAgICAgdGVzdEZhbHNlKFsxLCAyLCAiYSIs
ICJiIiwgb2JqZWN0MSwgb2JqZWN0Ml0sIFsxLCAzLCAiYSIsICJjIiwgb2JqZWN0MSwgb2JqZWN0
M10sICJhIHNldCBzaG91bGQgbm90IGJlIGEgc3Vic2V0IG9mIGFub3RoZXIgc2V0IHdpdGggc2Ft
ZSBhbmQgZGlmZmVyZW50IHZhbHVlcy4iKTsKKworICAgICAgICAgICAgcmV0dXJuIHRydWU7Cisg
ICAgICAgIH0KKyAgICB9KTsKKworICAgIHN1aXRlLnJ1blRlc3RDYXNlc0FuZEZpbmlzaCgpOwor
fQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbkxvYWQ9InJ1blRlc3QoKSI+Cis8L2JvZHk+
Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>