<?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>178061</bug_id>
          
          <creation_ts>2017-10-07 23:02:19 -0700</creation_ts>
          <short_desc>Fix bugs related to setting reflected floating point DOM attributes</short_desc>
          <delta_ts>2017-10-08 15:18:24 -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>DOM</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1358038</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2017-10-07 23:02:19 -0700</bug_when>
    <thetext>Fix bugs related to setting reflected floating point DOM attributes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1358074</commentid>
    <comment_count>1</comment_count>
      <attachid>323129</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2017-10-08 01:41:35 -0700</bug_when>
    <thetext>Created attachment 323129
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1358076</commentid>
    <comment_count>2</comment_count>
      <attachid>323130</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2017-10-08 01:48:09 -0700</bug_when>
    <thetext>Created attachment 323130
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1358077</commentid>
    <comment_count>3</comment_count>
      <attachid>323131</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2017-10-08 01:52:50 -0700</bug_when>
    <thetext>Created attachment 323131
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1358087</commentid>
    <comment_count>4</comment_count>
      <attachid>323131</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-10-08 10:10:28 -0700</bug_when>
    <thetext>Comment on attachment 323131
Patch

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

&gt; Source/WebCore/ChangeLog:13
&gt; +        (WebCore::HTMLProgressElement::setMax): Changed the semantics to match what

May want to mention:
https://html.spec.whatwg.org/multipage/common-dom-interfaces.html#limited-to-numbers-greater-than-zero

&gt; Source/WebCore/html/HTMLProgressElement.cpp:101
&gt; +    setAttributeWithoutSynchronization(valueAttr, AtomicString::number(value));

The specification [1[ says to use the &quot;best representation of the number as a floating-point number&quot; [2]. It basically says to use Ecma&apos;s ToString(), so shouldn&apos;t it call String::numberToStringECMAScript() ?
Same for meter.value.

- https://html.spec.whatwg.org/multipage/form-elements.html#dom-progress-value
- https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#best-representation-of-the-number-as-a-floating-point-number</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1358097</commentid>
    <comment_count>5</comment_count>
      <attachid>323131</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2017-10-08 12:31:59 -0700</bug_when>
    <thetext>Comment on attachment 323131
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:13
&gt;&gt; +        (WebCore::HTMLProgressElement::setMax): Changed the semantics to match what
&gt; 
&gt; May want to mention:
&gt; https://html.spec.whatwg.org/multipage/common-dom-interfaces.html#limited-to-numbers-greater-than-zero

OK

&gt;&gt; Source/WebCore/html/HTMLProgressElement.cpp:101
&gt;&gt; +    setAttributeWithoutSynchronization(valueAttr, AtomicString::number(value));
&gt; 
&gt; The specification [1[ says to use the &quot;best representation of the number as a floating-point number&quot; [2]. It basically says to use Ecma&apos;s ToString(), so shouldn&apos;t it call String::numberToStringECMAScript() ?
&gt; Same for meter.value.
&gt; 
&gt; - https://html.spec.whatwg.org/multipage/form-elements.html#dom-progress-value
&gt; - https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#best-representation-of-the-number-as-a-floating-point-number

Yes, exactly.

AtomicSstring::number does exactly the same thing as String::numberToStringECMAScript. The String::number function needs to be renamed to include the words “fixed precision” and we will not use it that much any more going forward. I am trying to make the ECMAScript behavior, which is a great default anyway, the default stringifying for doubles throughout WebKit over time.

So yes, this is what this patch does and that’s why the tests are passing now.

I could have renamed the AtomicStriing::number function to add the word ECMAScript, but then I would’ve had to change all the call sites, and all of them want the ECMAScript semantic. I chose to do it this way: it’s a bit more subtle but I think it’s good forward-looking.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1358099</commentid>
    <comment_count>6</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2017-10-08 12:37:15 -0700</bug_when>
    <thetext>Maybe I should add more tests; not sure every last behavior change is sufficiently covered.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1358121</commentid>
    <comment_count>7</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2017-10-08 14:25:20 -0700</bug_when>
    <thetext>Now that EWS has run: review anyone?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1358134</commentid>
    <comment_count>8</comment_count>
      <attachid>323131</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-10-08 15:17:49 -0700</bug_when>
    <thetext>Comment on attachment 323131
Patch

Clearing flags on attachment: 323131

Committed r223035: &lt;http://trac.webkit.org/changeset/223035&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1358135</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-10-08 15:17:51 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1358137</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-10-08 15:18:24 -0700</bug_when>
    <thetext>&lt;rdar://problem/34877132&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>323129</attachid>
            <date>2017-10-08 01:41:35 -0700</date>
            <delta_ts>2017-10-08 01:48:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-178061-20171008014134.patch</filename>
            <type>text/plain</type>
            <size>48223</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIzMDMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDVlMjg2N2NhOGMxNzcwYjI3OGU1ZTFk
ZTYyODYyODNjYTQwMGM5ZGUuLmE3OTU2OWNhMzEyYTk0Yzk1OGU0YjFkMDQ1M2U2ZDg1N2UyMDFl
MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMzggQEAKKzIwMTctMTAtMDggIERhcmluIEFkbGVyICA8ZGFyaW5A
YXBwbGUuY29tPgorCisgICAgICAgIEZpeCBidWdzIHJlbGF0ZWQgdG8gc2V0dGluZyByZWZsZWN0
ZWQgZmxvYXRpbmcgcG9pbnQgRE9NIGF0dHJpYnV0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODA2MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogd3RmL2R0b2EuY3BwOgorICAgICAgICAoV1RGOjpm
b3JtYXRTdHJpbmdUcnVuY2F0aW5nVHJhaWxpbmdaZXJvc0lmTmVlZGVkKTogRml4IGEgYnVnIHdo
ZXJlCisgICAgICAgIHRoaXMgZnVuY3Rpb24gd291bGQgcmVtb3ZlIHRyYWlsaW5nIHplcm9lcyBm
cm9tIHRoZSBleHBvbmVudCBpZgorICAgICAgICBwcmVzZW50IGluc3RlYWQgb2YgZnJvbSB0aGUg
bWFudGlzc2EuIFRoaXMgbWVhbnQgdGhhdCBpdCB3b3VsZAorICAgICAgICBmb3JtYXQgMWUxMCBh
cyAiMS4wMDAwMGUrMSIgaW5zdGVhZCBvZiAiMWUrMTAiLiBBZGRlZCByZWdyZXNzaW9uCisgICAg
ICAgIHRlc3RzIGZvciB0aGlzIHRvIFRlc3RXZWJLaXRBUEkuCisKKyAgICAgICAgKiB3dGYvZHRv
YS91dGlscy5oOgorICAgICAgICAoV1RGOjpkb3VibGVfY29udmVyc2lvbjo6U3RyaW5nQnVpbGRl
cjo6UmVtb3ZlQ2hhcmFjdGVycyk6IEFkZGVkLgorICAgICAgICBVc2VkIGJ5IHRoZSBmaXggYWJv
dmUuCisKKyAgICAgICAgKiB3dGYvdGV4dC9BdG9taWNTdHJpbmcuY3BwOgorICAgICAgICAoV1RG
OjpBdG9taWNTdHJpbmc6Om51bWJlcik6IE5vdGU6IFRoaXMgZnVuY3Rpb24gaXMgdXNlZCBieSBj
b2RlCisgICAgICAgIHRoYXQgc2V0cyB0aGUgdmFsdWVzIG9mIHJlZmxlY3RlZCBmbG9hdGluZyBw
b2ludCBET00gYXR0cmlidXRlcy4KKyAgICAgICAgQ2hhbmdlZCB0aGUgZnVuY3Rpb24gdG8gdXNl
IHRoZSBydWxlcyBmcm9tIG51bWJlclRvU3RyaW5nIHJhdGhlcgorICAgICAgICBvbmVzIGZyb20g
bnVtYmVyVG9GaXhlZFByZWNpc2lvblN0cmluZy4gVGhpcyBpcyBhbmFsb2dvdXMgdG8KKyAgICAg
ICAgU3RyaW5nOjpudW1iZXJUb1N0cmluZ0VDTUFTY3JpcHQsIGFuZCBpbiB0aGUgZnV0dXJlIHdl
IHNob3VsZCBjaGFuZ2UKKyAgICAgICAgU3RyaW5nIGFuZCBTdHJpbmdCdWlsZGVyIHNvIHRoaXMg
IkVDTUFTY3JpcHQiIHNlbWFudGljIGlzIHRoZSBkZWZhdWx0CisgICAgICAgIHdheSB0byBjb252
ZXJ0IGEgZmxvYXRpbmcgcG9pbnQgbnVtYmVyIHRvIGEgc3RyaW5nLCBhbmQgcmVuYW1lIHRoZSBm
aXhlZAorICAgICAgICBwcmVjaXNpb24gdmVyc2lvbiB0aGF0IGlzIGN1cnJlbnRseSBjYWxsZWQg
U3RyaW5nOjpudW1iZXIuIEkgYXVkaXRlZAorICAgICAgICB0aGUgc21hbGwgbnVtYmVyIG9mIHNp
dGVzIGNhbGxpbmcgQXRvbWljU3RyaW5nOjpudW1iZXIsIGJ5IHRlbXBvcmFyaWx5CisgICAgICAg
IHJlbmFtaW5nIGl0LCBhbmQgZGlzY292ZXJlZCB0aGF0IHRoaXMgaXMgdGhlIGNvcnJlY3QgYmVo
YXZpb3IgZm9yIGFsbDsKKyAgICAgICAgbm9uZSBuZWVkZWQgZml4ZWQgcHJlY2lzaW9uLiBBbHNv
LCBmaXhlZCBhIG1pc3Rha2Ugd2hlcmUgdGhpcyBleHBsaWNpdGx5CisgICAgICAgIGNvbnZlcnRl
ZCB0byBTdHJpbmcuIFRoYXQgd2FzIGRlZmVhdGluZyB0aGUgcHVycG9zZSBvZiBoYXZpbmcgdGhl
c2UKKyAgICAgICAgZnVuY3Rpb25zIGluIEF0b21pY1N0cmluZzogSXQgd291bGQgYWxsb2NhdGUg
YSBuZXcgU3RyaW5nIGFuZCB0aGVuCisgICAgICAgIGRlc3Ryb3kgaXQgaW4gdGhlIGNhc2Ugd2hl
cmUgYW4gZXF1YWwgc3RyaW5nIHdhcyBhbHJlYWR5IGluIHRoZQorICAgICAgICBBdG9taWNTdHJp
bmcgdGFibGUuCisKIDIwMTctMTAtMDYgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJr
aXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyMjI3OTEgYW5kIHIy
MjI4NzMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKaW5kZXggOWIyOWVhMThhY2Q1MjkwMDJiNDBjZDU2NzkzOGYwMGJlMmRj
M2Y2ZS4uNTI2NjQ5OWFhZmVlMjQ3OGZkZDVhMjg4YjQyZWNmMjY1YzY0ZWNhOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDI1IEBACisyMDE3LTEwLTA4ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxl
LmNvbT4KKworICAgICAgICBGaXggYnVncyByZWxhdGVkIHRvIHNldHRpbmcgcmVmbGVjdGVkIGZs
b2F0aW5nIHBvaW50IERPTSBhdHRyaWJ1dGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgwNjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIGh0bWwvSFRNTFByb2dyZXNzRWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MUHJvZ3Jlc3NFbGVtZW50OjpzZXRWYWx1ZSk6IENoYW5nZWQgdGhl
IHNlbWFudGljcyB0byBtYXRjaCB3aGF0CisgICAgICAgIHRoZSBIVE1MIHNwZWNpZmljYXRpb24g
Y2FsbHMgZm9yLiBXaGVuIGEgY2FsbGVyIHBhc3NlcyBhIG5lZ2F0aXZlIG51bWJlciBvcgorICAg
ICAgICB6ZXJvLCB0aGlzIHNob3VsZCBsZWF2ZSB0aGUgYXR0cmlidXRlIHVuY2hhbmdlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxQcm9ncmVzc0VsZW1lbnQ6OnNldE1heCk6IERpdHRvLgorCisg
ICAgICAgICogaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudFR5cGVzLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFZvbHVtZVNsaWRlckVsZW1lbnQ6OnNldFZvbHVtZSk6
IFVzZQorICAgICAgICBTdHJpbmc6Om51bWJlclRvU3RyaW5nRUNNQVNjcmlwdCBpbnN0ZWFkIG9m
IFN0cmluZzo6bnVtYmVyIHNpbmNlIHRoYXQgaXMgd2hhdAorICAgICAgICB3ZSB3YW50IGFueSB0
aW1lIHdlIGFyZSBzZXR0aW5nIGFuIGF0dHJpYnV0ZSB2YWx1ZSBmcm9tIGEgZmxvYXRpbmcgcG9p
bnQgdmFsdWUuCisgICAgICAgICogaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sVGltZWxpbmVFbGVtZW50OjpzZXRQb3Np
dGlvbik6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sVGltZWxpbmVFbGVt
ZW50OjpzZXREdXJhdGlvbik6IFJlbW92ZWQgdW5uZWVkZWQgY2hlY2sKKyAgICAgICAgb2Ygc3Rk
Ojppc2Zpbml0ZSBzaW5jZSB0aGUgc2luZ2xlIGNhbGxlciBhbHJlYWR5IGNoZWNrcyB0aGF0Lgor
CiAyMDE3LTEwLTA4ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAg
IFNvdXJjZUJ1ZmZlciByZW1vdmUgdGhyb3dzIG91dCB3YXkgbW9yZSBjb250ZW50IHRoYW4gcmVx
dWVzdGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9kdG9hLmNwcCBiL1NvdXJjZS9XVEYv
d3RmL2R0b2EuY3BwCmluZGV4IDgyM2IxNjFiM2FkZmM5NWI0MWQ2NTY0NjIzMTY5N2QyYTg5MmU1
NDcuLjk3MmIyODk5ZGRhMzczNzJjY2E0ZDg5Y2U1OTk1OTI5OWY5Nzg0ZTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XVEYvd3RmL2R0b2EuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL2R0b2EuY3BwCkBA
IC0zLDcgKzMsNyBAQAogICogVGhlIGF1dGhvciBvZiB0aGlzIHNvZnR3YXJlIGlzIERhdmlkIE0u
IEdheS4KICAqCiAgKiBDb3B5cmlnaHQgKGMpIDE5OTEsIDIwMDAsIDIwMDEgYnkgTHVjZW50IFRl
Y2hub2xvZ2llcy4KLSAqIENvcHlyaWdodCAoQykgMjAwMiwgMjAwNSwgMjAwNiwgMjAwNywgMjAw
OCwgMjAxMCwgMjAxMiwgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMDItMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAg
KgogICogUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kIGRpc3RyaWJ1dGUgdGhp
cyBzb2Z0d2FyZSBmb3IgYW55CiAgKiBwdXJwb3NlIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFu
dGVkLCBwcm92aWRlZCB0aGF0IHRoaXMgZW50aXJlIG5vdGljZQpAQCAtMTIyNyw3ICsxMjI3LDcg
QEAgdm9pZCBkdG9hUm91bmREUChEdG9hQnVmZmVyIHJlc3VsdCwgZG91YmxlIGRkLCBpbnQgbmRp
Z2l0cywgYm9vbCYgc2lnbiwgaW50JiBleHAKIGNvbnN0IGNoYXIqIG51bWJlclRvU3RyaW5nKGRv
dWJsZSBkLCBOdW1iZXJUb1N0cmluZ0J1ZmZlciBidWZmZXIpCiB7CiAgICAgZG91YmxlX2NvbnZl
cnNpb246OlN0cmluZ0J1aWxkZXIgYnVpbGRlcihidWZmZXIsIE51bWJlclRvU3RyaW5nQnVmZmVy
TGVuZ3RoKTsKLSAgICBjb25zdCBkb3VibGVfY29udmVyc2lvbjo6RG91YmxlVG9TdHJpbmdDb252
ZXJ0ZXImIGNvbnZlcnRlciA9IGRvdWJsZV9jb252ZXJzaW9uOjpEb3VibGVUb1N0cmluZ0NvbnZl
cnRlcjo6RWNtYVNjcmlwdENvbnZlcnRlcigpOworICAgIGF1dG8mIGNvbnZlcnRlciA9IGRvdWJs
ZV9jb252ZXJzaW9uOjpEb3VibGVUb1N0cmluZ0NvbnZlcnRlcjo6RWNtYVNjcmlwdENvbnZlcnRl
cigpOwogICAgIGNvbnZlcnRlci5Ub1Nob3J0ZXN0KGQsICZidWlsZGVyKTsKICAgICByZXR1cm4g
YnVpbGRlci5GaW5hbGl6ZSgpOwogfQpAQCAtMTI0MSwyOCArMTI0MSwzMiBAQCBzdGF0aWMgaW5s
aW5lIGNvbnN0IGNoYXIqIGZvcm1hdFN0cmluZ1RydW5jYXRpbmdUcmFpbGluZ1plcm9zSWZOZWVk
ZWQoTnVtYmVyVG9TdAogICAgICAgICAgICAgYnJlYWs7CiAgICAgfQogCi0gICAgLy8gTm8gZGVj
aW1hbCBzZXBlcmF0b3IgZm91bmQsIGVhcmx5IGV4aXQuCisgICAgLy8gTm8gZGVjaW1hbCBzZXBh
cmF0b3IgZm91bmQsIGVhcmx5IGV4aXQuCiAgICAgaWYgKGRlY2ltYWxQb2ludFBvc2l0aW9uID09
IGxlbmd0aCkKICAgICAgICAgcmV0dXJuIGJ1aWxkZXIuRmluYWxpemUoKTsKIAotICAgIHNpemVf
dCB0cnVuY2F0ZWRMZW5ndGggPSBsZW5ndGggLSAxOwotICAgIGZvciAoOyB0cnVuY2F0ZWRMZW5n
dGggPiBkZWNpbWFsUG9pbnRQb3NpdGlvbjsgLS10cnVuY2F0ZWRMZW5ndGgpIHsKLSAgICAgICAg
aWYgKGJ1ZmZlclt0cnVuY2F0ZWRMZW5ndGhdICE9ICcwJykKKyAgICBzaXplX3QgcGFzdE1hbnRp
c3NhID0gZGVjaW1hbFBvaW50UG9zaXRpb24gKyAxOworICAgIGZvciAoOyBwYXN0TWFudGlzc2Eg
PCBsZW5ndGg7ICsrcGFzdE1hbnRpc3NhKSB7CisgICAgICAgIGlmIChidWZmZXJbcGFzdE1hbnRp
c3NhXSA9PSAnZScpCisgICAgICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICBzaXplX3QgdHJ1
bmNhdGVkTGVuZ3RoID0gcGFzdE1hbnRpc3NhOworICAgIGZvciAoOyB0cnVuY2F0ZWRMZW5ndGgg
PiBkZWNpbWFsUG9pbnRQb3NpdGlvbiArIDE7IC0tdHJ1bmNhdGVkTGVuZ3RoKSB7CisgICAgICAg
IGlmIChidWZmZXJbdHJ1bmNhdGVkTGVuZ3RoIC0gMV0gIT0gJzAnKQogICAgICAgICAgICAgYnJl
YWs7CiAgICAgfQogCiAgICAgLy8gTm8gdHJhaWxpbmcgemVyb3MgZm91bmQgdG8gc3RyaXAuCi0g
ICAgaWYgKHRydW5jYXRlZExlbmd0aCA9PSBsZW5ndGggLSAxKQorICAgIGlmICh0cnVuY2F0ZWRM
ZW5ndGggPT0gcGFzdE1hbnRpc3NhKQogICAgICAgICByZXR1cm4gYnVpbGRlci5GaW5hbGl6ZSgp
OwogCiAgICAgLy8gSWYgd2UgcmVtb3ZlZCBhbGwgdHJhaWxpbmcgemVyb3MsIHJlbW92ZSB0aGUg
ZGVjaW1hbCBwb2ludCBhcyB3ZWxsLgotICAgIGlmICh0cnVuY2F0ZWRMZW5ndGggPT0gZGVjaW1h
bFBvaW50UG9zaXRpb24pIHsKLSAgICAgICAgQVNTRVJUKHRydW5jYXRlZExlbmd0aCA+IDApOwot
ICAgICAgICAtLXRydW5jYXRlZExlbmd0aDsKLSAgICB9CisgICAgaWYgKHRydW5jYXRlZExlbmd0
aCA9PSBkZWNpbWFsUG9pbnRQb3NpdGlvbiArIDEpCisgICAgICAgIHRydW5jYXRlZExlbmd0aCA9
IGRlY2ltYWxQb2ludFBvc2l0aW9uOwogCi0gICAgLy8gVHJ1bmNhdGUgdGhlIFN0cmluZ0J1aWxk
ZXIsIGFuZCByZXR1cm4gdGhlIGZpbmFsIHJlc3VsdC4KLSAgICBidWlsZGVyLlNldFBvc2l0aW9u
KHRydW5jYXRlZExlbmd0aCArIDEpOworICAgIC8vIFRydW5jYXRlIHRoZSBtYW50aXNzYSwgYW5k
IHJldHVybiB0aGUgZmluYWwgcmVzdWx0LgorICAgIGJ1aWxkZXIuUmVtb3ZlQ2hhcmFjdGVycyh0
cnVuY2F0ZWRMZW5ndGgsIHBhc3RNYW50aXNzYSk7CiAgICAgcmV0dXJuIGJ1aWxkZXIuRmluYWxp
emUoKTsKIH0KIApAQCAtMTI3NCw3ICsxMjc4LDcgQEAgY29uc3QgY2hhciogbnVtYmVyVG9GaXhl
ZFByZWNpc2lvblN0cmluZyhkb3VibGUgZCwgdW5zaWduZWQgc2lnbmlmaWNhbnRGaWd1cmVzLAog
ICAgIC8vIHByZWNpc2lvbiBhcmd1bWVudC4gVHJhaWxpbmcgemVyb3MgYXJlIHRydW5jYXRlZCwg
YW5kIHRoZSBkZWNpbWFsIHBvaW50IGFwcGVhcnMgb25seSBpZiBvbmUgb3IgbW9yZSBkaWdpdHMg
Zm9sbG93IGl0LgogICAgIC8vICJwcmVjaXNpb24iOiBUaGUgcHJlY2lzaW9uIHNwZWNpZmllcyB0
aGUgbWF4aW11bSBudW1iZXIgb2Ygc2lnbmlmaWNhbnQgZGlnaXRzIHByaW50ZWQuCiAgICAgZG91
YmxlX2NvbnZlcnNpb246OlN0cmluZ0J1aWxkZXIgYnVpbGRlcihidWZmZXIsIE51bWJlclRvU3Ry
aW5nQnVmZmVyTGVuZ3RoKTsKLSAgICBjb25zdCBkb3VibGVfY29udmVyc2lvbjo6RG91YmxlVG9T
dHJpbmdDb252ZXJ0ZXImIGNvbnZlcnRlciA9IGRvdWJsZV9jb252ZXJzaW9uOjpEb3VibGVUb1N0
cmluZ0NvbnZlcnRlcjo6RWNtYVNjcmlwdENvbnZlcnRlcigpOworICAgIGF1dG8mIGNvbnZlcnRl
ciA9IGRvdWJsZV9jb252ZXJzaW9uOjpEb3VibGVUb1N0cmluZ0NvbnZlcnRlcjo6RWNtYVNjcmlw
dENvbnZlcnRlcigpOwogICAgIGNvbnZlcnRlci5Ub1ByZWNpc2lvbihkLCBzaWduaWZpY2FudEZp
Z3VyZXMsICZidWlsZGVyKTsKICAgICBpZiAoIXRydW5jYXRlVHJhaWxpbmdaZXJvcykKICAgICAg
ICAgcmV0dXJuIGJ1aWxkZXIuRmluYWxpemUoKTsKQEAgLTEyOTEsNyArMTI5NSw3IEBAIGNvbnN0
IGNoYXIqIG51bWJlclRvRml4ZWRXaWR0aFN0cmluZyhkb3VibGUgZCwgdW5zaWduZWQgZGVjaW1h
bFBsYWNlcywgTnVtYmVyVG9TCiAgICAgLy8gSWYgYSBkZWNpbWFsIHBvaW50IGFwcGVhcnMsIGF0
IGxlYXN0IG9uZSBkaWdpdCBhcHBlYXJzIGJlZm9yZSBpdC4KICAgICAvLyBUaGUgdmFsdWUgaXMg
cm91bmRlZCB0byB0aGUgYXBwcm9wcmlhdGUgbnVtYmVyIG9mIGRpZ2l0cy4gICAgCiAgICAgZG91
YmxlX2NvbnZlcnNpb246OlN0cmluZ0J1aWxkZXIgYnVpbGRlcihidWZmZXIsIE51bWJlclRvU3Ry
aW5nQnVmZmVyTGVuZ3RoKTsKLSAgICBjb25zdCBkb3VibGVfY29udmVyc2lvbjo6RG91YmxlVG9T
dHJpbmdDb252ZXJ0ZXImIGNvbnZlcnRlciA9IGRvdWJsZV9jb252ZXJzaW9uOjpEb3VibGVUb1N0
cmluZ0NvbnZlcnRlcjo6RWNtYVNjcmlwdENvbnZlcnRlcigpOworICAgIGF1dG8mIGNvbnZlcnRl
ciA9IGRvdWJsZV9jb252ZXJzaW9uOjpEb3VibGVUb1N0cmluZ0NvbnZlcnRlcjo6RWNtYVNjcmlw
dENvbnZlcnRlcigpOwogICAgIGNvbnZlcnRlci5Ub0ZpeGVkKGQsIGRlY2ltYWxQbGFjZXMsICZi
dWlsZGVyKTsKICAgICByZXR1cm4gYnVpbGRlci5GaW5hbGl6ZSgpOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi93dGYvZHRvYS91dGlscy5oIGIvU291cmNlL1dURi93dGYvZHRvYS91dGlscy5o
CmluZGV4IDg4OTY0MmNlZTcyMjY2N2JkNTk2MmIxMjJhY2Y1ZDQ5NDIyOWM5ZjcuLmVkYjE3MWJm
M2FhNGYwZjYzYmEzZDgxNzMwZTg5ODkzOWE2YmFhZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
d3RmL2R0b2EvdXRpbHMuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9kdG9hL3V0aWxzLmgKQEAgLTI0
Myw2ICsyNDMsMTYgQEAgbmFtZXNwYWNlIGRvdWJsZV9jb252ZXJzaW9uIHsKICAgICAgICAgICAg
IH0KICAgICAgICAgfQogICAgICAgICAKKyAgICAgICAgdm9pZCBSZW1vdmVDaGFyYWN0ZXJzKGlu
dCBzdGFydCwgaW50IGVuZCkKKyAgICAgICAgeworICAgICAgICAgICAgQVNTRVJUKHN0YXJ0ID49
IDApOworICAgICAgICAgICAgQVNTRVJUKGVuZCA+PSAwKTsKKyAgICAgICAgICAgIEFTU0VSVChz
dGFydCA8PSBlbmQpOworICAgICAgICAgICAgQVNTRVJUKGVuZCA8PSBwb3NpdGlvbl8pOworICAg
ICAgICAgICAgc3RkOjptZW1tb3ZlKCZidWZmZXJfW3N0YXJ0XSwgJmJ1ZmZlcl9bZW5kXSwgcG9z
aXRpb25fIC0gZW5kKTsKKyAgICAgICAgICAgIHBvc2l0aW9uXyAtPSBlbmQgLSBzdGFydDsKKyAg
ICAgICAgfQorCiAgICAgICAgIC8vIEZpbmFsaXplIHRoZSBzdHJpbmcgYnkgMC10ZXJtaW5hdGlu
ZyBpdCBhbmQgcmV0dXJuaW5nIHRoZSBidWZmZXIuCiAgICAgICAgIGNoYXIqIEZpbmFsaXplKCkg
ewogICAgICAgICAgICAgQVNTRVJUKCFpc19maW5hbGl6ZWQoKSAmJiBwb3NpdGlvbl8gPCBidWZm
ZXJfLmxlbmd0aCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3RleHQvQXRvbWljU3Ry
aW5nLmNwcCBiL1NvdXJjZS9XVEYvd3RmL3RleHQvQXRvbWljU3RyaW5nLmNwcAppbmRleCAyYTA2
NTEyODNhOTcyNzFlNTc2YTIyMmRkZjAyMzIwZDA2YTBkMmRlLi5iMTI1NzQyMDNlNjcyMDZiNmUy
OGYwYmQ2NjIyNWM0ZTkxYzIxMGZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0F0
b21pY1N0cmluZy5jcHAKKysrIGIvU291cmNlL1dURi93dGYvdGV4dC9BdG9taWNTdHJpbmcuY3Bw
CkBAIC0xMDQsNyArMTA0LDcgQEAgQXRvbWljU3RyaW5nIEF0b21pY1N0cmluZzo6bnVtYmVyKHVu
c2lnbmVkIGxvbmcgbG9uZyBudW1iZXIpCiBBdG9taWNTdHJpbmcgQXRvbWljU3RyaW5nOjpudW1i
ZXIoZG91YmxlIG51bWJlcikKIHsKICAgICBOdW1iZXJUb1N0cmluZ0J1ZmZlciBidWZmZXI7Ci0g
ICAgcmV0dXJuIFN0cmluZyhudW1iZXJUb0ZpeGVkUHJlY2lzaW9uU3RyaW5nKG51bWJlciwgNiwg
YnVmZmVyLCB0cnVlKSk7CisgICAgcmV0dXJuIG51bWJlclRvU3RyaW5nKG51bWJlciwgYnVmZmVy
KTsKIH0KIAogQXRvbWljU3RyaW5nIEF0b21pY1N0cmluZzo6ZnJvbVVURjhJbnRlcm5hbChjb25z
dCBjaGFyKiBjaGFyYWN0ZXJzU3RhcnQsIGNvbnN0IGNoYXIqIGNoYXJhY3RlcnNFbmQpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQcm9ncmVzc0VsZW1lbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MUHJvZ3Jlc3NFbGVtZW50LmNwcAppbmRleCA4YjQwZTFkYzI1
OGE5YmE0ZmFmY2YwODNiMzVmOTNiY2IyYzQ1ZTRmLi42YTcyMWQ1YmNiZWNiZmY4YjRhZmY1ZmFm
ODVkNGNmNGVlZjBmYWE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQcm9n
cmVzc0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFByb2dyZXNzRWxl
bWVudC5jcHAKQEAgLTk4LDcgKzk4LDcgQEAgZG91YmxlIEhUTUxQcm9ncmVzc0VsZW1lbnQ6OnZh
bHVlKCkgY29uc3QKIAogdm9pZCBIVE1MUHJvZ3Jlc3NFbGVtZW50OjpzZXRWYWx1ZShkb3VibGUg
dmFsdWUpCiB7Ci0gICAgc2V0QXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbih2YWx1ZUF0
dHIsIEF0b21pY1N0cmluZzo6bnVtYmVyKHZhbHVlID49IDAgPyB2YWx1ZSA6IDApKTsKKyAgICBz
ZXRBdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKHZhbHVlQXR0ciwgQXRvbWljU3RyaW5n
OjpudW1iZXIodmFsdWUpKTsKIH0KIAogZG91YmxlIEhUTUxQcm9ncmVzc0VsZW1lbnQ6Om1heCgp
IGNvbnN0CkBAIC0xMDksNyArMTA5LDggQEAgZG91YmxlIEhUTUxQcm9ncmVzc0VsZW1lbnQ6Om1h
eCgpIGNvbnN0CiAKIHZvaWQgSFRNTFByb2dyZXNzRWxlbWVudDo6c2V0TWF4KGRvdWJsZSBtYXgp
CiB7Ci0gICAgc2V0QXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihtYXhBdHRyLCBBdG9t
aWNTdHJpbmc6Om51bWJlcihtYXggPiAwID8gbWF4IDogMSkpOworICAgIGlmIChtYXggPiAwKQor
ICAgICAgICBzZXRBdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKG1heEF0dHIsIEF0b21p
Y1N0cmluZzo6bnVtYmVyKG1heCkpOwogfQogCiBkb3VibGUgSFRNTFByb2dyZXNzRWxlbWVudDo6
cG9zaXRpb24oKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cv
TWVkaWFDb250cm9sRWxlbWVudFR5cGVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93
L01lZGlhQ29udHJvbEVsZW1lbnRUeXBlcy5jcHAKaW5kZXggYTJhNjJhODkwOGI1MmY1YWYwOWZk
MmEwMWJkNjNhZjRlMGFhM2NkOS4uYjFjNzM2YzBhNmNkMDMwNjdhZWVlYjIyMmM0YTBiNGIxNjNm
ZTNlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9s
RWxlbWVudFR5cGVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNv
bnRyb2xFbGVtZW50VHlwZXMuY3BwCkBAIC0yMzQsNyArMjM0LDcgQEAgYm9vbCBNZWRpYUNvbnRy
b2xWb2x1bWVTbGlkZXJFbGVtZW50Ojp3aWxsUmVzcG9uZFRvTW91c2VDbGlja0V2ZW50cygpCiB2
b2lkIE1lZGlhQ29udHJvbFZvbHVtZVNsaWRlckVsZW1lbnQ6OnNldFZvbHVtZShkb3VibGUgdm9s
dW1lKQogewogICAgIGlmICh2YWx1ZSgpLnRvRG91YmxlKCkgIT0gdm9sdW1lKQotICAgICAgICBz
ZXRWYWx1ZShTdHJpbmc6Om51bWJlcih2b2x1bWUpKTsKKyAgICAgICAgc2V0VmFsdWUoU3RyaW5n
OjpudW1iZXJUb1N0cmluZ0VDTUFTY3JpcHQodm9sdW1lKSk7CiB9CiAKIHZvaWQgTWVkaWFDb250
cm9sVm9sdW1lU2xpZGVyRWxlbWVudDo6c2V0Q2xlYXJNdXRlZE9uVXNlckludGVyYWN0aW9uKGJv
b2wgY2xlYXJNdXRlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVk
aWFDb250cm9sRWxlbWVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFD
b250cm9sRWxlbWVudHMuY3BwCmluZGV4IDY0ZjJjMWFlNDgyZTdlYmMwMjBjOWJmYWNmOWE3MWJh
NjUyYjdkOWMuLjhlNjIyOWVkMmRlZTRhNDQxMTc3ZThiZjI3NmUzMmRhYjM3MmM0ZDAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5j
cHAKQEAgLTg4NSwxMiArODg1LDEyIEBAIGJvb2wgTWVkaWFDb250cm9sVGltZWxpbmVFbGVtZW50
Ojp3aWxsUmVzcG9uZFRvTW91c2VDbGlja0V2ZW50cygpCiAKIHZvaWQgTWVkaWFDb250cm9sVGlt
ZWxpbmVFbGVtZW50OjpzZXRQb3NpdGlvbihkb3VibGUgY3VycmVudFRpbWUpCiB7Ci0gICAgc2V0
VmFsdWUoU3RyaW5nOjpudW1iZXIoY3VycmVudFRpbWUpKTsKKyAgICBzZXRWYWx1ZShTdHJpbmc6
Om51bWJlclRvU3RyaW5nRUNNQVNjcmlwdChjdXJyZW50VGltZSkpOwogfQogCiB2b2lkIE1lZGlh
Q29udHJvbFRpbWVsaW5lRWxlbWVudDo6c2V0RHVyYXRpb24oZG91YmxlIGR1cmF0aW9uKQogewot
ICAgIHNldEF0dHJpYnV0ZShtYXhBdHRyLCBBdG9taWNTdHJpbmc6Om51bWJlcihzdGQ6OmlzZmlu
aXRlKGR1cmF0aW9uKSA/IGR1cmF0aW9uIDogMCkpOworICAgIHNldEF0dHJpYnV0ZShtYXhBdHRy
LCBBdG9taWNTdHJpbmc6Om51bWJlcihkdXJhdGlvbikpOwogfQogCiAvLyAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFu
Z2VMb2cKaW5kZXggOGE4MWIzMTFjMjZiNzYwZDZmZjE3Mzg3ODcxMzkxYmMyY2VhZTdjYi4uNTk2
OTg2OWNiYzRlYTM5YTFiMzc2ZWMyZTEwMmUwYjNiZjcwODI1OSAxMDA2NDQKLS0tIGEvVG9vbHMv
Q2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE3LTEw
LTA4ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBGaXggYnVncyBy
ZWxhdGVkIHRvIHNldHRpbmcgcmVmbGVjdGVkIGZsb2F0aW5nIHBvaW50IERPTSBhdHRyaWJ1dGVz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgwNjEK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RX
ZWJLaXRBUEkvVGVzdHMvV1RGL0F0b21pY1N0cmluZy5jcHA6IEFkZGVkIGEgdGVzdCBvZiB0aGUK
KyAgICAgICAgQXRvbWljU3RyaW5nOjpudW1iZXIgZnVuY3Rpb24sIGJhc2VkIG9uIHRoZSB0ZXN0
IGNhc2VzIHdlIGFscmVhZHkKKyAgICAgICAgaGFkIGZvciBTdHJpbmc6Om51bWJlclRvU3RyaW5n
RUNNQVNjcmlwdCwgYW5kIHdpdGggc29tZSBhZGRpdGlvbmFsCisgICAgICAgIGNhc2VzIHdpdGgg
cG93ZXJzIG9mIDEwIHRoYXQgY2hlY2sgaGFuZGxpbmcgb2YgdHJhaWxuZyB6ZXJvZXMuCisKKyAg
ICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9XVEZTdHJpbmcuY3BwOiBBZGRlZCB0ZXN0
IGNhc2VzIHRvIHRoZQorICAgICAgICBleGlzdGluZyB0ZXN0cyBvZiB0aGUgU3RyaW5nOjpudW1i
ZXJUb1N0cmluZ0VDTUFTY3JpcHQgZnVuY3Rpb24KKyAgICAgICAgYXMgYWJvdmUuIEFsc28gYWRk
ZWQgdGVzdHMgZm9yIFN0cmluZzo6bnVtYmVyIGFuZCBmb3IKKyAgICAgICAgU3RyaW5nOjpudW1i
ZXJUb1N0cmluZ0ZpeGVkV2lkdGguIEFsc28gY2hhbmdlZCB0aGUgdGVzdHMgdG8gYWxsIHVzZQor
ICAgICAgICBFWFBFQ1QgaW5zdGVhZCBvZiBBU1NFUlQgbWFjcm9zIHNpbmNlIHRoZXNlIGFyZSBh
bGwgbm9uLWZhdGFsLgorCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9JbmplY3RlZEJ1bmRsZVBhZ2UuY3BwOgorICAgICAgICAoV1RSOjpkdW1wRnJhbWVTY3JvbGxQ
b3NpdGlvbik6IFVzZSBTdHJpbmdCdWlsZGVyOjphcHBlbmRFQ01BU2NyaXB0TnVtYmVyCisgICAg
ICAgIGluc3RlYWQgb2YgU3RyaW5nOjpudW1iZXIuCisKIDIwMTctMDktMjkgIEZpbGlwIFBpemxv
ICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBFbmFibGUgZ2lnYWNhZ2Ugb24gaU9TCmRp
ZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9BdG9taWNTdHJpbmcuY3Bw
IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvQXRvbWljU3RyaW5nLmNwcAppbmRleCBk
ZTk2MmVjNDIyODkyNzRmMDZkODAyMzAzNmJlMzM0NzQ5ZmQxYWM4Li4xZDRhZTRlYjE0OTU1Yjgy
M2U4NmNiY2NiNmZkZWExZTZlYjQ0YjNjIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dURi9BdG9taWNTdHJpbmcuY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV1RGL0F0b21pY1N0cmluZy5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0
IChDKSAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAo
QykgMjAxMi0yMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNjEsNCArNjEsNTMgQEAgVEVTVChXVEYsIEF0b21pY1N0
cmluZ0V4aXN0aW5nSGFzaCkKICAgICBBU1NFUlRfRVEoc3RyaW5nMi5leGlzdGluZ0hhc2goKSwg
MHUpOwogfQogCitzdGF0aWMgaW5saW5lIGNvbnN0IGNoYXIqIHRlc3RBdG9taWNTdHJpbmdOdW1i
ZXIoZG91YmxlIG51bWJlcikKK3sKKyAgICBzdGF0aWMgY2hhciB0ZXN0QnVmZmVyWzEwMF07Cisg
ICAgc3RkOjpzdHJuY3B5KHRlc3RCdWZmZXIsIEF0b21pY1N0cmluZzo6bnVtYmVyKG51bWJlciku
c3RyaW5nKCkudXRmOCgpLmRhdGEoKSwgMTAwKTsKKyAgICByZXR1cm4gdGVzdEJ1ZmZlcjsKK30K
KworVEVTVChXVEYsIEF0b21pY1N0cmluZ051bWJlckRvdWJsZSkKK3sKKyAgICB1c2luZyBMaW1p
dHMgPSBzdGQ6Om51bWVyaWNfbGltaXRzPGRvdWJsZT47CisKKyAgICBFWFBFQ1RfU1RSRVEoIklu
ZmluaXR5IiwgdGVzdEF0b21pY1N0cmluZ051bWJlcihMaW1pdHM6OmluZmluaXR5KCkpKTsKKyAg
ICBFWFBFQ1RfU1RSRVEoIi1JbmZpbml0eSIsIHRlc3RBdG9taWNTdHJpbmdOdW1iZXIoLUxpbWl0
czo6aW5maW5pdHkoKSkpOworCisgICAgRVhQRUNUX1NUUkVRKCJOYU4iLCB0ZXN0QXRvbWljU3Ry
aW5nTnVtYmVyKC1MaW1pdHM6OnF1aWV0X05hTigpKSk7CisKKyAgICBFWFBFQ1RfU1RSRVEoIjAi
LCB0ZXN0QXRvbWljU3RyaW5nTnVtYmVyKDApKTsKKyAgICBFWFBFQ1RfU1RSRVEoIjAiLCB0ZXN0
QXRvbWljU3RyaW5nTnVtYmVyKC0wKSk7CisKKyAgICBFWFBFQ1RfU1RSRVEoIjIuMjI1MDczODU4
NTA3MjAxNGUtMzA4IiwgdGVzdEF0b21pY1N0cmluZ051bWJlcihMaW1pdHM6Om1pbigpKSk7Cisg
ICAgRVhQRUNUX1NUUkVRKCItMS43OTc2OTMxMzQ4NjIzMTU3ZSszMDgiLCB0ZXN0QXRvbWljU3Ry
aW5nTnVtYmVyKExpbWl0czo6bG93ZXN0KCkpKTsKKyAgICBFWFBFQ1RfU1RSRVEoIjEuNzk3Njkz
MTM0ODYyMzE1N2UrMzA4IiwgdGVzdEF0b21pY1N0cmluZ051bWJlcihMaW1pdHM6Om1heCgpKSk7
CisKKyAgICBFWFBFQ1RfU1RSRVEoIjMuMTQxNTkyNjUzNTg5NzkzIiwgdGVzdEF0b21pY1N0cmlu
Z051bWJlcihwaURvdWJsZSkpOworICAgIEVYUEVDVF9TVFJFUSgiMy4xNDE1OTI3NDEwMTI1NzMy
IiwgdGVzdEF0b21pY1N0cmluZ051bWJlcihwaUZsb2F0KSk7CisgICAgRVhQRUNUX1NUUkVRKCIx
LjU3MDc5NjMyNjc5NDg5NjYiLCB0ZXN0QXRvbWljU3RyaW5nTnVtYmVyKHBpT3ZlclR3b0RvdWJs
ZSkpOworICAgIEVYUEVDVF9TVFJFUSgiMS41NzA3OTYzNzA1MDYyODY2IiwgdGVzdEF0b21pY1N0
cmluZ051bWJlcihwaU92ZXJUd29GbG9hdCkpOworICAgIEVYUEVDVF9TVFJFUSgiMC43ODUzOTgx
NjMzOTc0NDgzIiwgdGVzdEF0b21pY1N0cmluZ051bWJlcihwaU92ZXJGb3VyRG91YmxlKSk7Cisg
ICAgRVhQRUNUX1NUUkVRKCIwLjc4NTM5ODE4NTI1MzE0MzMiLCB0ZXN0QXRvbWljU3RyaW5nTnVt
YmVyKHBpT3ZlckZvdXJGbG9hdCkpOworCisgICAgRVhQRUNUX1NUUkVRKCIyLjcxODI4MTgyODQ1
OTA0NSIsIHRlc3RBdG9taWNTdHJpbmdOdW1iZXIoMi43MTgyODE4Mjg0NTkwNDUyMzUzNjAyODc0
NzEzNTI2NjI0OTc3NTcyNDcwOTM2OTk5NSkpOworCisgICAgRVhQRUNUX1NUUkVRKCIyOTk3OTI0
NTgiLCB0ZXN0QXRvbWljU3RyaW5nTnVtYmVyKDI5OTc5MjQ1OCkpOworCisgICAgRVhQRUNUX1NU
UkVRKCIxLjYxODAzMzk4ODc0OTg5NSIsIHRlc3RBdG9taWNTdHJpbmdOdW1iZXIoMS42MTgwMzM5
ODg3NDk4OTQ4NDgyKSk7CisKKyAgICBFWFBFQ1RfU1RSRVEoIjEwMDAiLCB0ZXN0QXRvbWljU3Ry
aW5nTnVtYmVyKDFlMykpOworICAgIEVYUEVDVF9TVFJFUSgiMTAwMDAwMDAwMDAiLCB0ZXN0QXRv
bWljU3RyaW5nTnVtYmVyKDFlMTApKTsKKyAgICBFWFBFQ1RfU1RSRVEoIjEwMDAwMDAwMDAwMDAw
MDAwMDAwMCIsIHRlc3RBdG9taWNTdHJpbmdOdW1iZXIoMWUyMCkpOworICAgIEVYUEVDVF9TVFJF
USgiMWUrMjEiLCB0ZXN0QXRvbWljU3RyaW5nTnVtYmVyKDFlMjEpKTsKKyAgICBFWFBFQ1RfU1RS
RVEoIjFlKzMwIiwgdGVzdEF0b21pY1N0cmluZ051bWJlcigxZTMwKSk7CisKKyAgICBFWFBFQ1Rf
U1RSRVEoIjExMDAiLCB0ZXN0QXRvbWljU3RyaW5nTnVtYmVyKDEuMWUzKSk7CisgICAgRVhQRUNU
X1NUUkVRKCIxMTAwMDAwMDAwMCIsIHRlc3RBdG9taWNTdHJpbmdOdW1iZXIoMS4xZTEwKSk7Cisg
ICAgRVhQRUNUX1NUUkVRKCIxMTAwMDAwMDAwMDAwMDAwMDAwMDAiLCB0ZXN0QXRvbWljU3RyaW5n
TnVtYmVyKDEuMWUyMCkpOworICAgIEVYUEVDVF9TVFJFUSgiMS4xZSsyMSIsIHRlc3RBdG9taWNT
dHJpbmdOdW1iZXIoMS4xZTIxKSk7CisgICAgRVhQRUNUX1NUUkVRKCIxLjFlKzMwIiwgdGVzdEF0
b21pY1N0cmluZ051bWJlcigxLjFlMzApKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktp
dEFQSQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvV1RGU3RyaW5n
LmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1dURlN0cmluZy5jcHAKaW5kZXgg
NjE4NGM2MjMyYmJmNDI1NzcwYjc0NDk5MmI2NDYzY2FmYmE5ZWYxZS4uNGVjZmUyZmZlNmNkMzFk
OTU4MzQ4YTA2MTVhMGQwZTUxNTVjZjZjZCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XVEYvV1RGU3RyaW5nLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dURi9XVEZTdHJpbmcuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTItMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKQEAgLTM2LDE2ICszNiwxNiBAQCBuYW1lc3BhY2UgVGVzdFdlYktpdEFQ
SSB7CiBURVNUKFdURiwgU3RyaW5nQ3JlYXRpb25Gcm9tTGl0ZXJhbCkKIHsKICAgICBTdHJpbmcg
c3RyaW5nRnJvbUxpdGVyYWwoQVNDSUlMaXRlcmFsKCJFeHBsaWNpdCBjb25zdHJ1Y3Rpb24gc3lu
dGF4IikpOwotICAgIEFTU0VSVF9FUShzdHJsZW4oIkV4cGxpY2l0IGNvbnN0cnVjdGlvbiBzeW50
YXgiKSwgc3RyaW5nRnJvbUxpdGVyYWwubGVuZ3RoKCkpOwotICAgIEFTU0VSVF9UUlVFKHN0cmlu
Z0Zyb21MaXRlcmFsID09ICJFeHBsaWNpdCBjb25zdHJ1Y3Rpb24gc3ludGF4Iik7Ci0gICAgQVNT
RVJUX1RSVUUoc3RyaW5nRnJvbUxpdGVyYWwuaXM4Qml0KCkpOwotICAgIEFTU0VSVF9UUlVFKFN0
cmluZygiRXhwbGljaXQgY29uc3RydWN0aW9uIHN5bnRheCIpID09IHN0cmluZ0Zyb21MaXRlcmFs
KTsKKyAgICBFWFBFQ1RfRVEoc3RybGVuKCJFeHBsaWNpdCBjb25zdHJ1Y3Rpb24gc3ludGF4Iiks
IHN0cmluZ0Zyb21MaXRlcmFsLmxlbmd0aCgpKTsKKyAgICBFWFBFQ1RfRVEoIkV4cGxpY2l0IGNv
bnN0cnVjdGlvbiBzeW50YXgiLCBzdHJpbmdGcm9tTGl0ZXJhbCk7CisgICAgRVhQRUNUX1RSVUUo
c3RyaW5nRnJvbUxpdGVyYWwuaXM4Qml0KCkpOworICAgIEVYUEVDVF9FUShTdHJpbmcoIkV4cGxp
Y2l0IGNvbnN0cnVjdGlvbiBzeW50YXgiKSwgc3RyaW5nRnJvbUxpdGVyYWwpOwogCiAgICAgU3Ry
aW5nIHN0cmluZ1dpdGhUZW1wbGF0ZSgiVGVtcGxhdGUgTGl0ZXJhbCIsIFN0cmluZzo6Q29uc3Ry
dWN0RnJvbUxpdGVyYWwpOwotICAgIEFTU0VSVF9FUShzdHJsZW4oIlRlbXBsYXRlIExpdGVyYWwi
KSwgc3RyaW5nV2l0aFRlbXBsYXRlLmxlbmd0aCgpKTsKLSAgICBBU1NFUlRfVFJVRShzdHJpbmdX
aXRoVGVtcGxhdGUgPT0gIlRlbXBsYXRlIExpdGVyYWwiKTsKLSAgICBBU1NFUlRfVFJVRShzdHJp
bmdXaXRoVGVtcGxhdGUuaXM4Qml0KCkpOwotICAgIEFTU0VSVF9UUlVFKFN0cmluZygiVGVtcGxh
dGUgTGl0ZXJhbCIpID09IHN0cmluZ1dpdGhUZW1wbGF0ZSk7CisgICAgRVhQRUNUX0VRKHN0cmxl
bigiVGVtcGxhdGUgTGl0ZXJhbCIpLCBzdHJpbmdXaXRoVGVtcGxhdGUubGVuZ3RoKCkpOworICAg
IEVYUEVDVF9FUSgiVGVtcGxhdGUgTGl0ZXJhbCIsIHN0cmluZ1dpdGhUZW1wbGF0ZSk7CisgICAg
RVhQRUNUX1RSVUUoc3RyaW5nV2l0aFRlbXBsYXRlLmlzOEJpdCgpKTsKKyAgICBFWFBFQ1RfRVEo
U3RyaW5nKCJUZW1wbGF0ZSBMaXRlcmFsIiksIHN0cmluZ1dpdGhUZW1wbGF0ZSk7CiB9CiAKIFRF
U1QoV1RGLCBTdHJpbmdBU0NJSSkKQEAgLTU0LDExMSArNTQsMjA5IEBAIFRFU1QoV1RGLCBTdHJp
bmdBU0NJSSkKIAogICAgIC8vIE51bGwgU3RyaW5nLgogICAgIG91dHB1dCA9IFN0cmluZygpLmFz
Y2lpKCk7Ci0gICAgQVNTRVJUX1NUUkVRKCIiLCBvdXRwdXQuZGF0YSgpKTsKKyAgICBFWFBFQ1Rf
U1RSRVEoIiIsIG91dHB1dC5kYXRhKCkpOwogCiAgICAgLy8gRW1wdHkgU3RyaW5nLgogICAgIG91
dHB1dCA9IGVtcHR5U3RyaW5nKCkuYXNjaWkoKTsKLSAgICBBU1NFUlRfU1RSRVEoIiIsIG91dHB1
dC5kYXRhKCkpOworICAgIEVYUEVDVF9TVFJFUSgiIiwgb3V0cHV0LmRhdGEoKSk7CiAKICAgICAv
LyBSZWd1bGFyIFN0cmluZy4KICAgICBvdXRwdXQgPSBTdHJpbmcoQVNDSUlMaXRlcmFsKCJmb29i
YXIiKSkuYXNjaWkoKTsKLSAgICBBU1NFUlRfU1RSRVEoImZvb2JhciIsIG91dHB1dC5kYXRhKCkp
OworICAgIEVYUEVDVF9TVFJFUSgiZm9vYmFyIiwgb3V0cHV0LmRhdGEoKSk7CiB9CiAKLXN0YXRp
YyB2b2lkIHRlc3ROdW1iZXJUb1N0cmluZ0VDTUFTY3JpcHQoZG91YmxlIG51bWJlciwgY29uc3Qg
Y2hhciogcmVmZXJlbmNlKQorc3RhdGljIGlubGluZSBjb25zdCBjaGFyKiB0ZXN0U3RyaW5nTnVt
YmVyRml4ZWRQcmVjaXNpb24oZG91YmxlIG51bWJlcikKIHsKLSAgICBDU3RyaW5nIG51bWJlclN0
cmluZyA9IFN0cmluZzo6bnVtYmVyVG9TdHJpbmdFQ01BU2NyaXB0KG51bWJlcikubGF0aW4xKCk7
Ci0gICAgQVNTRVJUX1NUUkVRKHJlZmVyZW5jZSwgbnVtYmVyU3RyaW5nLmRhdGEoKSk7CisgICAg
c3RhdGljIGNoYXIgdGVzdEJ1ZmZlclsxMDBdOworICAgIHN0ZDo6c3RybmNweSh0ZXN0QnVmZmVy
LCBTdHJpbmc6Om51bWJlcihudW1iZXIpLnV0ZjgoKS5kYXRhKCksIDEwMCk7CisgICAgcmV0dXJu
IHRlc3RCdWZmZXI7CiB9CiAKLVRFU1QoV1RGLCBTdHJpbmdOdW1iZXJUb1N0cmluZ0VDTUFTY3Jp
cHRCb3VuZGFyaWVzKQorVEVTVChXVEYsIFN0cmluZ051bWJlckZpeGVkUHJlY2lzaW9uKQogewot
ICAgIHR5cGVkZWYgc3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+IExpbWl0czsKKyAgICB1c2lu
ZyBMaW1pdHMgPSBzdGQ6Om51bWVyaWNfbGltaXRzPGRvdWJsZT47CiAKLSAgICAvLyBJbmZpbml0
eS4KLSAgICB0ZXN0TnVtYmVyVG9TdHJpbmdFQ01BU2NyaXB0KExpbWl0czo6aW5maW5pdHkoKSwg
IkluZmluaXR5Iik7Ci0gICAgdGVzdE51bWJlclRvU3RyaW5nRUNNQVNjcmlwdCgtTGltaXRzOjpp
bmZpbml0eSgpLCAiLUluZmluaXR5Iik7CisgICAgRVhQRUNUX1NUUkVRKCJJbmZpbml0eSIsIHRl
c3RTdHJpbmdOdW1iZXJGaXhlZFByZWNpc2lvbihMaW1pdHM6OmluZmluaXR5KCkpKTsKKyAgICBF
WFBFQ1RfU1RSRVEoIi1JbmZpbml0eSIsIHRlc3RTdHJpbmdOdW1iZXJGaXhlZFByZWNpc2lvbigt
TGltaXRzOjppbmZpbml0eSgpKSk7CiAKLSAgICAvLyBOYU4uCi0gICAgdGVzdE51bWJlclRvU3Ry
aW5nRUNNQVNjcmlwdCgtTGltaXRzOjpxdWlldF9OYU4oKSwgIk5hTiIpOworICAgIEVYUEVDVF9T
VFJFUSgiTmFOIiwgdGVzdFN0cmluZ051bWJlckZpeGVkUHJlY2lzaW9uKC1MaW1pdHM6OnF1aWV0
X05hTigpKSk7CiAKLSAgICAvLyBaZXJvcy4KLSAgICB0ZXN0TnVtYmVyVG9TdHJpbmdFQ01BU2Ny
aXB0KDAsICIwIik7Ci0gICAgdGVzdE51bWJlclRvU3RyaW5nRUNNQVNjcmlwdCgtMCwgIjAiKTsK
KyAgICBFWFBFQ1RfU1RSRVEoIjAiLCB0ZXN0U3RyaW5nTnVtYmVyRml4ZWRQcmVjaXNpb24oMCkp
OworICAgIEVYUEVDVF9TVFJFUSgiMCIsIHRlc3RTdHJpbmdOdW1iZXJGaXhlZFByZWNpc2lvbigt
MCkpOwogCi0gICAgLy8gTWluLU1heC4KLSAgICB0ZXN0TnVtYmVyVG9TdHJpbmdFQ01BU2NyaXB0
KExpbWl0czo6bWluKCksICIyLjIyNTA3Mzg1ODUwNzIwMTRlLTMwOCIpOwotICAgIHRlc3ROdW1i
ZXJUb1N0cmluZ0VDTUFTY3JpcHQoTGltaXRzOjptYXgoKSwgIjEuNzk3NjkzMTM0ODYyMzE1N2Ur
MzA4Iik7CisgICAgRVhQRUNUX1NUUkVRKCIyLjIyNTA3ZS0zMDgiLCB0ZXN0U3RyaW5nTnVtYmVy
Rml4ZWRQcmVjaXNpb24oTGltaXRzOjptaW4oKSkpOworICAgIEVYUEVDVF9TVFJFUSgiLTEuNzk3
NjllKzMwOCIsIHRlc3RTdHJpbmdOdW1iZXJGaXhlZFByZWNpc2lvbihMaW1pdHM6Omxvd2VzdCgp
KSk7CisgICAgRVhQRUNUX1NUUkVRKCIxLjc5NzY5ZSszMDgiLCB0ZXN0U3RyaW5nTnVtYmVyRml4
ZWRQcmVjaXNpb24oTGltaXRzOjptYXgoKSkpOworCisgICAgRVhQRUNUX1NUUkVRKCIzLjE0MTU5
IiwgdGVzdFN0cmluZ051bWJlckZpeGVkUHJlY2lzaW9uKHBpRG91YmxlKSk7CisgICAgRVhQRUNU
X1NUUkVRKCIzLjE0MTU5IiwgdGVzdFN0cmluZ051bWJlckZpeGVkUHJlY2lzaW9uKHBpRmxvYXQp
KTsKKyAgICBFWFBFQ1RfU1RSRVEoIjEuNTcwOCIsIHRlc3RTdHJpbmdOdW1iZXJGaXhlZFByZWNp
c2lvbihwaU92ZXJUd29Eb3VibGUpKTsKKyAgICBFWFBFQ1RfU1RSRVEoIjEuNTcwOCIsIHRlc3RT
dHJpbmdOdW1iZXJGaXhlZFByZWNpc2lvbihwaU92ZXJUd29GbG9hdCkpOworICAgIEVYUEVDVF9T
VFJFUSgiMC43ODUzOTgiLCB0ZXN0U3RyaW5nTnVtYmVyRml4ZWRQcmVjaXNpb24ocGlPdmVyRm91
ckRvdWJsZSkpOworICAgIEVYUEVDVF9TVFJFUSgiMC43ODUzOTgiLCB0ZXN0U3RyaW5nTnVtYmVy
Rml4ZWRQcmVjaXNpb24ocGlPdmVyRm91ckZsb2F0KSk7CisKKyAgICBFWFBFQ1RfU1RSRVEoIjIu
NzE4MjgiLCB0ZXN0U3RyaW5nTnVtYmVyRml4ZWRQcmVjaXNpb24oMi43MTgyODE4Mjg0NTkwNDUy
MzUzNjAyODc0NzEzNTI2NjI0OTc3NTcyNDcwOTM2OTk5NSkpOworCisgICAgRVhQRUNUX1NUUkVR
KCIyLjk5NzkyZSs4IiwgdGVzdFN0cmluZ051bWJlckZpeGVkUHJlY2lzaW9uKDI5OTc5MjQ1OCkp
OworCisgICAgRVhQRUNUX1NUUkVRKCIxLjYxODAzIiwgdGVzdFN0cmluZ051bWJlckZpeGVkUHJl
Y2lzaW9uKDEuNjE4MDMzOTg4NzQ5ODk0ODQ4MikpOworCisgICAgRVhQRUNUX1NUUkVRKCIxMDAw
IiwgdGVzdFN0cmluZ051bWJlckZpeGVkUHJlY2lzaW9uKDFlMykpOworICAgIEVYUEVDVF9TVFJF
USgiMWUrMTAiLCB0ZXN0U3RyaW5nTnVtYmVyRml4ZWRQcmVjaXNpb24oMWUxMCkpOworICAgIEVY
UEVDVF9TVFJFUSgiMWUrMjAiLCB0ZXN0U3RyaW5nTnVtYmVyRml4ZWRQcmVjaXNpb24oMWUyMCkp
OworICAgIEVYUEVDVF9TVFJFUSgiMWUrMjEiLCB0ZXN0U3RyaW5nTnVtYmVyRml4ZWRQcmVjaXNp
b24oMWUyMSkpOworICAgIEVYUEVDVF9TVFJFUSgiMWUrMzAiLCB0ZXN0U3RyaW5nTnVtYmVyRml4
ZWRQcmVjaXNpb24oMWUzMCkpOworCisgICAgRVhQRUNUX1NUUkVRKCIxMTAwIiwgdGVzdFN0cmlu
Z051bWJlckZpeGVkUHJlY2lzaW9uKDEuMWUzKSk7CisgICAgRVhQRUNUX1NUUkVRKCIxLjFlKzEw
IiwgdGVzdFN0cmluZ051bWJlckZpeGVkUHJlY2lzaW9uKDEuMWUxMCkpOworICAgIEVYUEVDVF9T
VFJFUSgiMS4xZSsyMCIsIHRlc3RTdHJpbmdOdW1iZXJGaXhlZFByZWNpc2lvbigxLjFlMjApKTsK
KyAgICBFWFBFQ1RfU1RSRVEoIjEuMWUrMjEiLCB0ZXN0U3RyaW5nTnVtYmVyRml4ZWRQcmVjaXNp
b24oMS4xZTIxKSk7CisgICAgRVhQRUNUX1NUUkVRKCIxLjFlKzMwIiwgdGVzdFN0cmluZ051bWJl
ckZpeGVkUHJlY2lzaW9uKDEuMWUzMCkpOworfQorCitzdGF0aWMgaW5saW5lIGNvbnN0IGNoYXIq
IHRlc3RTdHJpbmdOdW1iZXJGaXhlZFdpZHRoKGRvdWJsZSBudW1iZXIpCit7CisgICAgc3RhdGlj
IGNoYXIgdGVzdEJ1ZmZlclsxMDBdOworICAgIHN0ZDo6c3RybmNweSh0ZXN0QnVmZmVyLCBTdHJp
bmc6Om51bWJlclRvU3RyaW5nRml4ZWRXaWR0aChudW1iZXIsIDYpLnV0ZjgoKS5kYXRhKCksIDEw
MCk7CisgICAgcmV0dXJuIHRlc3RCdWZmZXI7CiB9CiAKLVRFU1QoV1RGLCBTdHJpbmdOdW1iZXJU
b1N0cmluZ0VDTUFTY3JpcHRSZWd1bGFyTnVtYmVycykKK1RFU1QoV1RGLCBTdHJpbmdOdW1iZXJG
aXhlZFdpZHRoKQogewotICAgIC8vIFBpLgotICAgIHRlc3ROdW1iZXJUb1N0cmluZ0VDTUFTY3Jp
cHQocGlEb3VibGUsICIzLjE0MTU5MjY1MzU4OTc5MyIpOwotICAgIHRlc3ROdW1iZXJUb1N0cmlu
Z0VDTUFTY3JpcHQocGlGbG9hdCwgIjMuMTQxNTkyNzQxMDEyNTczMiIpOwotICAgIHRlc3ROdW1i
ZXJUb1N0cmluZ0VDTUFTY3JpcHQocGlPdmVyVHdvRG91YmxlLCAiMS41NzA3OTYzMjY3OTQ4OTY2
Iik7Ci0gICAgdGVzdE51bWJlclRvU3RyaW5nRUNNQVNjcmlwdChwaU92ZXJUd29GbG9hdCwgIjEu
NTcwNzk2MzcwNTA2Mjg2NiIpOwotICAgIHRlc3ROdW1iZXJUb1N0cmluZ0VDTUFTY3JpcHQocGlP
dmVyRm91ckRvdWJsZSwgIjAuNzg1Mzk4MTYzMzk3NDQ4MyIpOwotICAgIHRlc3ROdW1iZXJUb1N0
cmluZ0VDTUFTY3JpcHQocGlPdmVyRm91ckZsb2F0LCAiMC43ODUzOTgxODUyNTMxNDMzIik7Ci0K
LSAgICAvLyBlLgotICAgIGNvbnN0IGRvdWJsZSBlID0gMi43MTgyODE4Mjg0NTkwNDUyMzUzNjAy
ODc0NzEzNTI2NjI0OTc3NTcyNDcwOTM2OTk5NTsKLSAgICB0ZXN0TnVtYmVyVG9TdHJpbmdFQ01B
U2NyaXB0KGUsICIyLjcxODI4MTgyODQ1OTA0NSIpOwotCi0gICAgLy8gYywgc3BlZWQgb2YgbGln
aHQgaW4gbS9zLgotICAgIGNvbnN0IGRvdWJsZSBjID0gMjk5NzkyNDU4OwotICAgIHRlc3ROdW1i
ZXJUb1N0cmluZ0VDTUFTY3JpcHQoYywgIjI5OTc5MjQ1OCIpOwotCi0gICAgLy8gR29sZW4gcmF0
aW8uCi0gICAgY29uc3QgZG91YmxlIHBoaSA9IDEuNjE4MDMzOTg4NzQ5ODk0ODQ4MjsKLSAgICB0
ZXN0TnVtYmVyVG9TdHJpbmdFQ01BU2NyaXB0KHBoaSwgIjEuNjE4MDMzOTg4NzQ5ODk1Iik7Cisg
ICAgdXNpbmcgTGltaXRzID0gc3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+OworCisgICAgRVhQ
RUNUX1NUUkVRKCJJbmZpbml0eSIsIHRlc3RTdHJpbmdOdW1iZXJGaXhlZFdpZHRoKExpbWl0czo6
aW5maW5pdHkoKSkpOworICAgIEVYUEVDVF9TVFJFUSgiLUluZmluaXR5IiwgdGVzdFN0cmluZ051
bWJlckZpeGVkV2lkdGgoLUxpbWl0czo6aW5maW5pdHkoKSkpOworCisgICAgRVhQRUNUX1NUUkVR
KCJOYU4iLCB0ZXN0U3RyaW5nTnVtYmVyRml4ZWRXaWR0aCgtTGltaXRzOjpxdWlldF9OYU4oKSkp
OworCisgICAgRVhQRUNUX1NUUkVRKCIwLjAwMDAwMCIsIHRlc3RTdHJpbmdOdW1iZXJGaXhlZFdp
ZHRoKDApKTsKKyAgICBFWFBFQ1RfU1RSRVEoIjAuMDAwMDAwIiwgdGVzdFN0cmluZ051bWJlckZp
eGVkV2lkdGgoLTApKTsKKworICAgIEVYUEVDVF9TVFJFUSgiMC4wMDAwMDAiLCB0ZXN0U3RyaW5n
TnVtYmVyRml4ZWRXaWR0aChMaW1pdHM6Om1pbigpKSk7CisgICAgRVhQRUNUX1NUUkVRKCIiLCB0
ZXN0U3RyaW5nTnVtYmVyRml4ZWRXaWR0aChMaW1pdHM6Omxvd2VzdCgpKSk7CisgICAgRVhQRUNU
X1NUUkVRKCIiLCB0ZXN0U3RyaW5nTnVtYmVyRml4ZWRXaWR0aChMaW1pdHM6Om1heCgpKSk7CisK
KyAgICBFWFBFQ1RfU1RSRVEoIjMuMTQxNTkzIiwgdGVzdFN0cmluZ051bWJlckZpeGVkV2lkdGgo
cGlEb3VibGUpKTsKKyAgICBFWFBFQ1RfU1RSRVEoIjMuMTQxNTkzIiwgdGVzdFN0cmluZ051bWJl
ckZpeGVkV2lkdGgocGlGbG9hdCkpOworICAgIEVYUEVDVF9TVFJFUSgiMS41NzA3OTYiLCB0ZXN0
U3RyaW5nTnVtYmVyRml4ZWRXaWR0aChwaU92ZXJUd29Eb3VibGUpKTsKKyAgICBFWFBFQ1RfU1RS
RVEoIjEuNTcwNzk2IiwgdGVzdFN0cmluZ051bWJlckZpeGVkV2lkdGgocGlPdmVyVHdvRmxvYXQp
KTsKKyAgICBFWFBFQ1RfU1RSRVEoIjAuNzg1Mzk4IiwgdGVzdFN0cmluZ051bWJlckZpeGVkV2lk
dGgocGlPdmVyRm91ckRvdWJsZSkpOworICAgIEVYUEVDVF9TVFJFUSgiMC43ODUzOTgiLCB0ZXN0
U3RyaW5nTnVtYmVyRml4ZWRXaWR0aChwaU92ZXJGb3VyRmxvYXQpKTsKKworICAgIEVYUEVDVF9T
VFJFUSgiMi43MTgyODIiLCB0ZXN0U3RyaW5nTnVtYmVyRml4ZWRXaWR0aCgyLjcxODI4MTgyODQ1
OTA0NTIzNTM2MDI4NzQ3MTM1MjY2MjQ5Nzc1NzI0NzA5MzY5OTk1KSk7CisKKyAgICBFWFBFQ1Rf
U1RSRVEoIjI5OTc5MjQ1OC4wMDAwMDAiLCB0ZXN0U3RyaW5nTnVtYmVyRml4ZWRXaWR0aCgyOTk3
OTI0NTgpKTsKKworICAgIEVYUEVDVF9TVFJFUSgiMS42MTgwMzQiLCB0ZXN0U3RyaW5nTnVtYmVy
Rml4ZWRXaWR0aCgxLjYxODAzMzk4ODc0OTg5NDg0ODIpKTsKKworICAgIEVYUEVDVF9TVFJFUSgi
MTAwMC4wMDAwMDAiLCB0ZXN0U3RyaW5nTnVtYmVyRml4ZWRXaWR0aCgxZTMpKTsKKyAgICBFWFBF
Q1RfU1RSRVEoIjEwMDAwMDAwMDAwLjAwMDAwMCIsIHRlc3RTdHJpbmdOdW1iZXJGaXhlZFdpZHRo
KDFlMTApKTsKKyAgICBFWFBFQ1RfU1RSRVEoIjEwMDAwMDAwMDAwMDAwMDAwMDAwMC4wMDAwMDAi
LCB0ZXN0U3RyaW5nTnVtYmVyRml4ZWRXaWR0aCgxZTIwKSk7CisgICAgRVhQRUNUX1NUUkVRKCIx
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLjAwMDAwMCIsIHRlc3RTdHJpbmdOdW1iZXJGaXhlZFdpZHRo
KDFlMjEpKTsKKyAgICBFWFBFQ1RfU1RSRVEoIjEwMDAwMDAwMDAwMDAwMDAwMTk4ODQ2MjQ4Mzg2
NTYuMDAwMDAwIiwgdGVzdFN0cmluZ051bWJlckZpeGVkV2lkdGgoMWUzMCkpOworCisgICAgRVhQ
RUNUX1NUUkVRKCIxMTAwLjAwMDAwMCIsIHRlc3RTdHJpbmdOdW1iZXJGaXhlZFdpZHRoKDEuMWUz
KSk7CisgICAgRVhQRUNUX1NUUkVRKCIxMTAwMDAwMDAwMC4wMDAwMDAiLCB0ZXN0U3RyaW5nTnVt
YmVyRml4ZWRXaWR0aCgxLjFlMTApKTsKKyAgICBFWFBFQ1RfU1RSRVEoIjExMDAwMDAwMDAwMDAw
MDAwMDAwMC4wMDAwMDAiLCB0ZXN0U3RyaW5nTnVtYmVyRml4ZWRXaWR0aCgxLjFlMjApKTsKKyAg
ICBFWFBFQ1RfU1RSRVEoIjExMDAwMDAwMDAwMDAwMDAwMDAwMDAuMDAwMDAwIiwgdGVzdFN0cmlu
Z051bWJlckZpeGVkV2lkdGgoMS4xZTIxKSk7CisgICAgRVhQRUNUX1NUUkVRKCIxMDk5OTk5OTk5
OTk5OTk5OTkzNzI1NTg5NjUxNDU2LjAwMDAwMCIsIHRlc3RTdHJpbmdOdW1iZXJGaXhlZFdpZHRo
KDEuMWUzMCkpOworfQorCitzdGF0aWMgaW5saW5lIGNvbnN0IGNoYXIqIHRlc3RTdHJpbmdOdW1i
ZXIoZG91YmxlIG51bWJlcikKK3sKKyAgICBzdGF0aWMgY2hhciB0ZXN0QnVmZmVyWzEwMF07Cisg
ICAgc3RkOjpzdHJuY3B5KHRlc3RCdWZmZXIsIFN0cmluZzo6bnVtYmVyVG9TdHJpbmdFQ01BU2Ny
aXB0KG51bWJlcikudXRmOCgpLmRhdGEoKSwgMTAwKTsKKyAgICByZXR1cm4gdGVzdEJ1ZmZlcjsK
K30KKworVEVTVChXVEYsIFN0cmluZ051bWJlcikKK3sKKyAgICB1c2luZyBMaW1pdHMgPSBzdGQ6
Om51bWVyaWNfbGltaXRzPGRvdWJsZT47CisKKyAgICBFWFBFQ1RfU1RSRVEoIkluZmluaXR5Iiwg
dGVzdFN0cmluZ051bWJlcihMaW1pdHM6OmluZmluaXR5KCkpKTsKKyAgICBFWFBFQ1RfU1RSRVEo
Ii1JbmZpbml0eSIsIHRlc3RTdHJpbmdOdW1iZXIoLUxpbWl0czo6aW5maW5pdHkoKSkpOworCisg
ICAgRVhQRUNUX1NUUkVRKCJOYU4iLCB0ZXN0U3RyaW5nTnVtYmVyKC1MaW1pdHM6OnF1aWV0X05h
TigpKSk7CisKKyAgICBFWFBFQ1RfU1RSRVEoIjAiLCB0ZXN0U3RyaW5nTnVtYmVyKDApKTsKKyAg
ICBFWFBFQ1RfU1RSRVEoIjAiLCB0ZXN0U3RyaW5nTnVtYmVyKC0wKSk7CisKKyAgICBFWFBFQ1Rf
U1RSRVEoIjIuMjI1MDczODU4NTA3MjAxNGUtMzA4IiwgdGVzdFN0cmluZ051bWJlcihMaW1pdHM6
Om1pbigpKSk7CisgICAgRVhQRUNUX1NUUkVRKCItMS43OTc2OTMxMzQ4NjIzMTU3ZSszMDgiLCB0
ZXN0U3RyaW5nTnVtYmVyKExpbWl0czo6bG93ZXN0KCkpKTsKKyAgICBFWFBFQ1RfU1RSRVEoIjEu
Nzk3NjkzMTM0ODYyMzE1N2UrMzA4IiwgdGVzdFN0cmluZ051bWJlcihMaW1pdHM6Om1heCgpKSk7
CisKKyAgICBFWFBFQ1RfU1RSRVEoIjMuMTQxNTkyNjUzNTg5NzkzIiwgdGVzdFN0cmluZ051bWJl
cihwaURvdWJsZSkpOworICAgIEVYUEVDVF9TVFJFUSgiMy4xNDE1OTI3NDEwMTI1NzMyIiwgdGVz
dFN0cmluZ051bWJlcihwaUZsb2F0KSk7CisgICAgRVhQRUNUX1NUUkVRKCIxLjU3MDc5NjMyNjc5
NDg5NjYiLCB0ZXN0U3RyaW5nTnVtYmVyKHBpT3ZlclR3b0RvdWJsZSkpOworICAgIEVYUEVDVF9T
VFJFUSgiMS41NzA3OTYzNzA1MDYyODY2IiwgdGVzdFN0cmluZ051bWJlcihwaU92ZXJUd29GbG9h
dCkpOworICAgIEVYUEVDVF9TVFJFUSgiMC43ODUzOTgxNjMzOTc0NDgzIiwgdGVzdFN0cmluZ051
bWJlcihwaU92ZXJGb3VyRG91YmxlKSk7CisgICAgRVhQRUNUX1NUUkVRKCIwLjc4NTM5ODE4NTI1
MzE0MzMiLCB0ZXN0U3RyaW5nTnVtYmVyKHBpT3ZlckZvdXJGbG9hdCkpOworCisgICAgRVhQRUNU
X1NUUkVRKCIyLjcxODI4MTgyODQ1OTA0NSIsIHRlc3RTdHJpbmdOdW1iZXIoMi43MTgyODE4Mjg0
NTkwNDUyMzUzNjAyODc0NzEzNTI2NjI0OTc3NTcyNDcwOTM2OTk5NSkpOworCisgICAgRVhQRUNU
X1NUUkVRKCIyOTk3OTI0NTgiLCB0ZXN0U3RyaW5nTnVtYmVyKDI5OTc5MjQ1OCkpOworCisgICAg
RVhQRUNUX1NUUkVRKCIxLjYxODAzMzk4ODc0OTg5NSIsIHRlc3RTdHJpbmdOdW1iZXIoMS42MTgw
MzM5ODg3NDk4OTQ4NDgyKSk7CisKKyAgICBFWFBFQ1RfU1RSRVEoIjEwMDAiLCB0ZXN0U3RyaW5n
TnVtYmVyKDFlMykpOworICAgIEVYUEVDVF9TVFJFUSgiMTAwMDAwMDAwMDAiLCB0ZXN0U3RyaW5n
TnVtYmVyKDFlMTApKTsKKyAgICBFWFBFQ1RfU1RSRVEoIjEwMDAwMDAwMDAwMDAwMDAwMDAwMCIs
IHRlc3RTdHJpbmdOdW1iZXIoMWUyMCkpOworICAgIEVYUEVDVF9TVFJFUSgiMWUrMjEiLCB0ZXN0
U3RyaW5nTnVtYmVyKDFlMjEpKTsKKyAgICBFWFBFQ1RfU1RSRVEoIjFlKzMwIiwgdGVzdFN0cmlu
Z051bWJlcigxZTMwKSk7CisKKyAgICBFWFBFQ1RfU1RSRVEoIjExMDAiLCB0ZXN0U3RyaW5nTnVt
YmVyKDEuMWUzKSk7CisgICAgRVhQRUNUX1NUUkVRKCIxMTAwMDAwMDAwMCIsIHRlc3RTdHJpbmdO
dW1iZXIoMS4xZTEwKSk7CisgICAgRVhQRUNUX1NUUkVRKCIxMTAwMDAwMDAwMDAwMDAwMDAwMDAi
LCB0ZXN0U3RyaW5nTnVtYmVyKDEuMWUyMCkpOworICAgIEVYUEVDVF9TVFJFUSgiMS4xZSsyMSIs
IHRlc3RTdHJpbmdOdW1iZXIoMS4xZTIxKSk7CisgICAgRVhQRUNUX1NUUkVRKCIxLjFlKzMwIiwg
dGVzdFN0cmluZ051bWJlcigxLjFlMzApKTsKIH0KIAogVEVTVChXVEYsIFN0cmluZ1JlcGxhY2VX
aXRoTGl0ZXJhbCkKIHsKICAgICAvLyBDYXNlcyBmb3IgOEJpdCBzb3VyY2UuCiAgICAgU3RyaW5n
IHRlc3RTdHJpbmcgPSAiMTIyNCI7Ci0gICAgQVNTRVJUX1RSVUUodGVzdFN0cmluZy5pczhCaXQo
KSk7CisgICAgRVhQRUNUX1RSVUUodGVzdFN0cmluZy5pczhCaXQoKSk7CiAgICAgdGVzdFN0cmlu
Zy5yZXBsYWNlV2l0aExpdGVyYWwoJzInLCAiIik7Ci0gICAgQVNTRVJUX1NUUkVRKCIxNCIsIHRl
c3RTdHJpbmcudXRmOCgpLmRhdGEoKSk7CisgICAgRVhQRUNUX1NUUkVRKCIxNCIsIHRlc3RTdHJp
bmcudXRmOCgpLmRhdGEoKSk7CiAKICAgICB0ZXN0U3RyaW5nID0gIjEyMjQiOwotICAgIEFTU0VS
VF9UUlVFKHRlc3RTdHJpbmcuaXM4Qml0KCkpOworICAgIEVYUEVDVF9UUlVFKHRlc3RTdHJpbmcu
aXM4Qml0KCkpOwogICAgIHRlc3RTdHJpbmcucmVwbGFjZVdpdGhMaXRlcmFsKCcyJywgIjMiKTsK
LSAgICBBU1NFUlRfU1RSRVEoIjEzMzQiLCB0ZXN0U3RyaW5nLnV0ZjgoKS5kYXRhKCkpOworICAg
IEVYUEVDVF9TVFJFUSgiMTMzNCIsIHRlc3RTdHJpbmcudXRmOCgpLmRhdGEoKSk7CiAKICAgICB0
ZXN0U3RyaW5nID0gIjEyMjQiOwotICAgIEFTU0VSVF9UUlVFKHRlc3RTdHJpbmcuaXM4Qml0KCkp
OworICAgIEVYUEVDVF9UUlVFKHRlc3RTdHJpbmcuaXM4Qml0KCkpOwogICAgIHRlc3RTdHJpbmcu
cmVwbGFjZVdpdGhMaXRlcmFsKCcyJywgIjU1NSIpOwotICAgIEFTU0VSVF9TVFJFUSgiMTU1NTU1
NTQiLCB0ZXN0U3RyaW5nLnV0ZjgoKS5kYXRhKCkpOworICAgIEVYUEVDVF9TVFJFUSgiMTU1NTU1
NTQiLCB0ZXN0U3RyaW5nLnV0ZjgoKS5kYXRhKCkpOwogCiAgICAgdGVzdFN0cmluZyA9ICIxMjI0
IjsKLSAgICBBU1NFUlRfVFJVRSh0ZXN0U3RyaW5nLmlzOEJpdCgpKTsKKyAgICBFWFBFQ1RfVFJV
RSh0ZXN0U3RyaW5nLmlzOEJpdCgpKTsKICAgICB0ZXN0U3RyaW5nLnJlcGxhY2VXaXRoTGl0ZXJh
bCgnMycsICJOb3RGb3VuZCIpOwotICAgIEFTU0VSVF9TVFJFUSgiMTIyNCIsIHRlc3RTdHJpbmcu
dXRmOCgpLmRhdGEoKSk7CisgICAgRVhQRUNUX1NUUkVRKCIxMjI0IiwgdGVzdFN0cmluZy51dGY4
KCkuZGF0YSgpKTsKIAogICAgIC8vIENhc2VzIGZvciAxNkJpdCBzb3VyY2UuCiAgICAgdGVzdFN0
cmluZyA9IFN0cmluZzo6ZnJvbVVURjgoInLDqXN1bcOpIik7Ci0gICAgQVNTRVJUX0ZBTFNFKHRl
c3RTdHJpbmcuaXM4Qml0KCkpOworICAgIEVYUEVDVF9GQUxTRSh0ZXN0U3RyaW5nLmlzOEJpdCgp
KTsKICAgICB0ZXN0U3RyaW5nLnJlcGxhY2VXaXRoTGl0ZXJhbChVQ2hhcigweDAwRTkgLypVKzAw
RTkgaXMgJ8OpJyovKSwgImUiKTsKLSAgICBBU1NFUlRfU1RSRVEoInJlc3VtZSIsIHRlc3RTdHJp
bmcudXRmOCgpLmRhdGEoKSk7CisgICAgRVhQRUNUX1NUUkVRKCJyZXN1bWUiLCB0ZXN0U3RyaW5n
LnV0ZjgoKS5kYXRhKCkpOwogCiAgICAgdGVzdFN0cmluZyA9IFN0cmluZzo6ZnJvbVVURjgoInLD
qXN1bcOpIik7Ci0gICAgQVNTRVJUX0ZBTFNFKHRlc3RTdHJpbmcuaXM4Qml0KCkpOworICAgIEVY
UEVDVF9GQUxTRSh0ZXN0U3RyaW5nLmlzOEJpdCgpKTsKICAgICB0ZXN0U3RyaW5nLnJlcGxhY2VX
aXRoTGl0ZXJhbChVQ2hhcigweDAwRTkgLypVKzAwRTkgaXMgJ8OpJyovKSwgIiIpOwotICAgIEFT
U0VSVF9TVFJFUSgicnN1bSIsIHRlc3RTdHJpbmcudXRmOCgpLmRhdGEoKSk7CisgICAgRVhQRUNU
X1NUUkVRKCJyc3VtIiwgdGVzdFN0cmluZy51dGY4KCkuZGF0YSgpKTsKIAogICAgIHRlc3RTdHJp
bmcgPSBTdHJpbmc6OmZyb21VVEY4KCJyw6lzdW3DqSIpOwotICAgIEFTU0VSVF9GQUxTRSh0ZXN0
U3RyaW5nLmlzOEJpdCgpKTsKKyAgICBFWFBFQ1RfRkFMU0UodGVzdFN0cmluZy5pczhCaXQoKSk7
CiAgICAgdGVzdFN0cmluZy5yZXBsYWNlV2l0aExpdGVyYWwoJzMnLCAiTm90Rm91bmQiKTsKLSAg
ICBBU1NFUlRfU1RSRVEoInLDqXN1bcOpIiwgdGVzdFN0cmluZy51dGY4KCkuZGF0YSgpKTsKKyAg
ICBFWFBFQ1RfU1RSRVEoInLDqXN1bcOpIiwgdGVzdFN0cmluZy51dGY4KCkuZGF0YSgpKTsKIH0K
IAogVEVTVChXVEYsIFN0cmluZ0lzb2xhdGVkQ29weSkKIHsKICAgICBTdHJpbmcgb3JpZ2luYWwg
PSAiMTIzNCI7CiAgICAgYXV0byBjb3B5ID0gV1RGTW92ZShvcmlnaW5hbCkuaXNvbGF0ZWRDb3B5
KCk7Ci0gICAgQVNTRVJUX0ZBTFNFKG9yaWdpbmFsLmltcGwoKSA9PSBjb3B5LmltcGwoKSk7Cisg
ICAgRVhQRUNUX0ZBTFNFKG9yaWdpbmFsLmltcGwoKSA9PSBjb3B5LmltcGwoKSk7CiB9CiAKIFRF
U1QoV1RGLCBTdHJpbmdUb0ludCkKQEAgLTI4NSwzMyArMzgzLDMzIEBAIFRFU1QoV1RGLCBTdHJp
bmdoYXNJbmZpeFN0YXJ0aW5nQXQpCiBURVNUKFdURiwgU3RyaW5nRXhpc3RpbmdIYXNoKQogewog
ICAgIFN0cmluZyBzdHJpbmcxKCJUZW1wbGF0ZSBMaXRlcmFsIik7Ci0gICAgQVNTRVJUX0ZBTFNF
KHN0cmluZzEuaXNOdWxsKCkpOwotICAgIEFTU0VSVF9GQUxTRShzdHJpbmcxLmltcGwoKS0+aGFz
SGFzaCgpKTsKKyAgICBFWFBFQ1RfRkFMU0Uoc3RyaW5nMS5pc051bGwoKSk7CisgICAgRVhQRUNU
X0ZBTFNFKHN0cmluZzEuaW1wbCgpLT5oYXNIYXNoKCkpOwogICAgIHN0cmluZzEuaW1wbCgpLT5o
YXNoKCk7Ci0gICAgQVNTRVJUX0VRKHN0cmluZzEuZXhpc3RpbmdIYXNoKCksIHN0cmluZzEuaW1w
bCgpLT5leGlzdGluZ0hhc2goKSk7CisgICAgRVhQRUNUX0VRKHN0cmluZzEuZXhpc3RpbmdIYXNo
KCksIHN0cmluZzEuaW1wbCgpLT5leGlzdGluZ0hhc2goKSk7CiAgICAgU3RyaW5nIHN0cmluZzI7
Ci0gICAgQVNTRVJUX0VRKHN0cmluZzIuZXhpc3RpbmdIYXNoKCksIDB1KTsKKyAgICBFWFBFQ1Rf
RVEoc3RyaW5nMi5leGlzdGluZ0hhc2goKSwgMHUpOwogfQogCiBURVNUKFdURiwgU3RyaW5nVW5p
Y29kZUVxdWFsVUNoYXJBcnJheSkKIHsKICAgICBTdHJpbmcgc3RyaW5nMSgiYWJjIik7Ci0gICAg
QVNTRVJUX0ZBTFNFKHN0cmluZzEuaXNOdWxsKCkpOwotICAgIEFTU0VSVF9UUlVFKHN0cmluZzEu
aXM4Qml0KCkpOworICAgIEVYUEVDVF9GQUxTRShzdHJpbmcxLmlzTnVsbCgpKTsKKyAgICBFWFBF
Q1RfVFJVRShzdHJpbmcxLmlzOEJpdCgpKTsKICAgICBVQ2hhciBhYltdID0geyAnYScsICdiJyB9
OwogICAgIFVDaGFyIGFiY1tdID0geyAnYScsICdiJywgJ2MnIH07CiAgICAgVUNoYXIgYWJjZFtd
ID0geyAnYScsICdiJywgJ2MnLCAnZCcgfTsKICAgICBVQ2hhciBhQmNbXSA9IHsgJ2EnLCAnQics
ICdjJyB9OwotICAgIEFTU0VSVF9GQUxTRShlcXVhbChzdHJpbmcxLCBhYikpOwotICAgIEFTU0VS
VF9UUlVFKGVxdWFsKHN0cmluZzEsIGFiYykpOwotICAgIEFTU0VSVF9GQUxTRShlcXVhbChzdHJp
bmcxLCBhYmNkKSk7Ci0gICAgQVNTRVJUX0ZBTFNFKGVxdWFsKHN0cmluZzEsIGFCYykpOworICAg
IEVYUEVDVF9GQUxTRShlcXVhbChzdHJpbmcxLCBhYikpOworICAgIEVYUEVDVF9UUlVFKGVxdWFs
KHN0cmluZzEsIGFiYykpOworICAgIEVYUEVDVF9GQUxTRShlcXVhbChzdHJpbmcxLCBhYmNkKSk7
CisgICAgRVhQRUNUX0ZBTFNFKGVxdWFsKHN0cmluZzEsIGFCYykpOwogCiAgICAgU3RyaW5nIHN0
cmluZzIoYWJjLCAzKTsKLSAgICBBU1NFUlRfRkFMU0UoZXF1YWwoc3RyaW5nMiwgYWIpKTsKLSAg
ICBBU1NFUlRfVFJVRShlcXVhbChzdHJpbmcyLCBhYmMpKTsKLSAgICBBU1NFUlRfRkFMU0UoZXF1
YWwoc3RyaW5nMiwgYWJjZCkpOwotICAgIEFTU0VSVF9GQUxTRShlcXVhbChzdHJpbmcyLCBhQmMp
KTsKKyAgICBFWFBFQ1RfRkFMU0UoZXF1YWwoc3RyaW5nMiwgYWIpKTsKKyAgICBFWFBFQ1RfVFJV
RShlcXVhbChzdHJpbmcyLCBhYmMpKTsKKyAgICBFWFBFQ1RfRkFMU0UoZXF1YWwoc3RyaW5nMiwg
YWJjZCkpOworICAgIEVYUEVDVF9GQUxTRShlcXVhbChzdHJpbmcyLCBhQmMpKTsKIH0KIAogVEVT
VChXVEYsIFN0cmluZ1JpZ2h0QmFzaWMpCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZS5jcHAgYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZS5jcHAKaW5kZXggMTdi
Y2ZhM2MwNWIyNDNiZWRlMGIxNTg0ZTcxYjVjZWZhMDg2YTdlMC4uNDI5YTJjZjE4YjM4MTJmMzUy
NGNhOGY4OTZlM2U2YzBhMGQ2YWZmNSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2UuY3BwCisrKyBiL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlLmNwcApAQCAtNzUy
LDkgKzc1Miw5IEBAIHN0YXRpYyB2b2lkIGR1bXBGcmFtZVNjcm9sbFBvc2l0aW9uKFdLQnVuZGxl
RnJhbWVSZWYgZnJhbWUsIFN0cmluZ0J1aWxkZXImIHN0cmluCiAgICAgICAgIHN0cmluZ0J1aWxk
ZXIuYXBwZW5kTGl0ZXJhbCgiJyAiKTsKICAgICB9CiAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmRM
aXRlcmFsKCJzY3JvbGxlZCB0byAiKTsKLSAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChXVEY6OlN0
cmluZzo6bnVtYmVyKHgpKTsKKyAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZEVDTUFTY3JpcHROdW1i
ZXIoeCk7CiAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoJywnKTsKLSAgICBzdHJpbmdCdWlsZGVy
LmFwcGVuZChXVEY6OlN0cmluZzo6bnVtYmVyKHkpKTsKKyAgICBzdHJpbmdCdWlsZGVyLmFwcGVu
ZEVDTUFTY3JpcHROdW1iZXIoeSk7CiAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoJ1xuJyk7CiB9
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCBkNzcyZmZhNzRjOTBiOWExZjNjZDNhN2JmMTU1YjJjZGNhOTc4MzlkLi5hMGQ3
ZDI4MzYxMTM2YTdhYjZjYTFlOTM1MDExYjQ4Zjk2M2RiNmQ1IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMTctMTAtMDggIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgorCisgICAgICAg
IEZpeCBidWdzIHJlbGF0ZWQgdG8gc2V0dGluZyByZWZsZWN0ZWQgZmxvYXRpbmcgcG9pbnQgRE9N
IGF0dHJpYnV0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE3ODA2MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogZmFzdC9kb20vSFRNTFByb2dyZXNzRWxlbWVudC9zZXQtcHJvZ3Jlc3MtcHJvcGVydGll
cy1leHBlY3RlZC50eHQ6IFVwZGF0ZWQgdGVzdCB0byBleHBlY3QKKyAgICAgICAgc2V0dGluZyBI
VE1MUHJvZ3Jlc3NFbGVtZW50Lm1heCB0byAwIHRvIGhhdmUgbm8gZWZmZWN0LCByYXRoZXIgdGhh
biBzZXR0aW5nIG1heCB0byAiMSIuCisgICAgICAgICogZmFzdC9kb20vSFRNTFByb2dyZXNzRWxl
bWVudC9zZXQtcHJvZ3Jlc3MtcHJvcGVydGllcy5odG1sOiBEaXR0by4KKworICAgICAgICAqIHBs
YXRmb3JtL2lvcy13azIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2RvbS9y
ZWZsZWN0aW9uLWZvcm1zLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgVXBkYXRlZCB0byBleHBlY3Qg
bWV0ZXIgcmVmbGVjdGlvbiB0ZXN0cyB0byBwYXNzLgorCiAyMDE3LTEwLTA4ICBKZXIgTm9ibGUg
IDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFNvdXJjZUJ1ZmZlciByZW1vdmUgdGhy
b3dzIG91dCB3YXkgbW9yZSBjb250ZW50IHRoYW4gcmVxdWVzdGVkCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZwppbmRleCBmMWZhMzJjZGExNDI4MDlmOGIzOTcwYmQ5ZWUyM2Q3YjcyYTQ1Nzlk
Li4zMzI0OGE3YmIzZDA2NDgwMjMxYmExMzBjMGQ1YThkMjhhMjk3ZGFiIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxNy0xMC0wOCAgRGFyaW4gQWRs
ZXIgIDxkYXJpbkBhcHBsZS5jb20+CisKKyAgICAgICAgRml4IGJ1Z3MgcmVsYXRlZCB0byBzZXR0
aW5nIHJlZmxlY3RlZCBmbG9hdGluZyBwb2ludCBET00gYXR0cmlidXRlcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MDYxCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9kb20vcmVmbGVjdGlvbi1mb3Jtcy1leHBlY3RlZC50eHQ6CisgICAgICAgIFVwZGF0ZWQg
dG8gZXhwZWN0IG1ldGVyIHJlZmxlY3Rpb24gdGVzdHMgdG8gcGFzcy4KKwogMjAxNy0xMC0wNyAg
RGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgVXBkYXRlIERvY3VtZW50
LmNyZWF0ZUV2ZW50IGZvciByZWNlbnQgRE9NIHNwZWNpZmljYXRpb24gY2hhbmdlcwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTFByb2dyZXNzRWxlbWVudC9zZXQtcHJvZ3Jl
c3MtcHJvcGVydGllcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MUHJv
Z3Jlc3NFbGVtZW50L3NldC1wcm9ncmVzcy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dAppbmRleCA1
OWFkM2IzMTQ1YTAyMTgxN2QzMzdhZmE2ZjdiNjQ0YWUyNzAxMmJiLi43MWNmYWRiZDBmZGIyMDFm
ZDYxMDNjY2U3MGQ0NmE3ZDhjZTNlNTZmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9IVE1MUHJvZ3Jlc3NFbGVtZW50L3NldC1wcm9ncmVzcy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MUHJvZ3Jlc3NFbGVtZW50L3NldC1wcm9n
cmVzcy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dApAQCAtMjgsNyArMjgsNyBAQCBTZXQgdmFsdWUg
dG8gTmFOLCBzaG91bGQgdGhyb3cKIFBBU1MgcC52YWx1ZSA9IE5hTjsgdGhyZXcgZXhjZXB0aW9u
IFR5cGVFcnJvcjogVGhlIHByb3ZpZGVkIHZhbHVlIGlzIG5vbi1maW5pdGUuCiBTZXQgdmFsdWUg
dG8gbnVsbCBhbmQgbWF4IHRvIDAKIFBBU1MgcC52YWx1ZSBpcyAwCi1QQVNTIHAubWF4IGlzIDEK
K1BBU1MgcC5tYXggaXMgMTAwCiBQQVNTIHAucG9zaXRpb24gaXMgMAogU2V0IGF0dHJpYnV0ZXMg
dG8gdmFsaWQgbnVtYmVycwogUEFTUyBwLnZhbHVlIGlzIDUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvc2V0LXByb2dyZXNzLXByb3BlcnRpZXMu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvc2V0LXByb2dy
ZXNzLXByb3BlcnRpZXMuaHRtbAppbmRleCBlMzlmNTJjZWMyNzU3ZDI1N2EyNTUyZmMyYTcxM2Iz
YzU5MjhhZGY3Li4wNmFhNjUyMTk2ZDc4M2U3MTg0NjIzMDZlZDA5MDJjNzUzNWNmODYzIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MUHJvZ3Jlc3NFbGVtZW50L3NldC1wcm9n
cmVzcy1wcm9wZXJ0aWVzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTFByb2dy
ZXNzRWxlbWVudC9zZXQtcHJvZ3Jlc3MtcHJvcGVydGllcy5odG1sCkBAIC00OSw3ICs0OSw3IEBA
IGRlYnVnKCJTZXQgdmFsdWUgdG8gbnVsbCBhbmQgbWF4IHRvIDAiKTsKIHAudmFsdWUgPSBudWxs
OwogcC5tYXggPSAwOwogc2hvdWxkQmUoInAudmFsdWUiLCAiMCIpOwotc2hvdWxkQmUoInAubWF4
IiwgIjEiKTsKK3Nob3VsZEJlKCJwLm1heCIsICIxMDAiKTsKIHNob3VsZEJlKCJwLnBvc2l0aW9u
IiwgIjAiKTsKIAogZGVidWcoIlNldCBhdHRyaWJ1dGVzIHRvIHZhbGlkIG51bWJlcnMiKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9kb20vcmVmbGVjdGlvbi1mb3Jtcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvZG9tL3JlZmxlY3Rpb24tZm9ybXMtZXhwZWN0
ZWQudHh0CmluZGV4IGMwOTI4YTlhYzYxN2RjOWI4ZWNjZGJkYjliYTJmOWMwNTcyY2FlZGMuLjY4
MTM5Yjc0ZGNjNTJlMmNlYTBiNTFmYmM2NjkzYWZjNmFhOTE0NzMgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9kb20vcmVmbGVjdGlv
bi1mb3Jtcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL2RvbS9yZWZsZWN0aW9uLWZvcm1zLWV4cGVjdGVkLnR4dApAQCAt
Njk5Niw1MCArNjk5Niw1MCBAQCBQQVNTIG1ldGVyLnRhYkluZGV4OiBJREwgc2V0IHRvIDIxNDc0
ODM2NDcKIFBBU1MgbWV0ZXIudGFiSW5kZXg6IElETCBzZXQgdG8gLTIxNDc0ODM2NDggCiBQQVNT
IG1ldGVyLnZhbHVlOiB0eXBlb2YgSURMIGF0dHJpYnV0ZSAKIFBBU1MgbWV0ZXIudmFsdWU6IElE
TCBnZXQgd2l0aCBET00gYXR0cmlidXRlIHVuc2V0IAotRkFJTCBtZXRlci52YWx1ZTogSURMIHNl
dCB0byAtMTAwMDAwMDAwMDAgYXNzZXJ0X2VxdWFsczogZ2V0QXR0cmlidXRlKCkgZXhwZWN0ZWQg
Ii0xMDAwMDAwMDAwMCIgYnV0IGdvdCAiLTEuMDAwMDBlKzEiCitQQVNTIG1ldGVyLnZhbHVlOiBJ
REwgc2V0IHRvIC0xMDAwMDAwMDAwMCAKIFBBU1MgbWV0ZXIudmFsdWU6IElETCBzZXQgdG8gLTEg
CiBQQVNTIG1ldGVyLnZhbHVlOiBJREwgc2V0IHRvIC0wIAogUEFTUyBtZXRlci52YWx1ZTogSURM
IHNldCB0byAwIAogUEFTUyBtZXRlci52YWx1ZTogSURMIHNldCB0byAxIAotRkFJTCBtZXRlci52
YWx1ZTogSURMIHNldCB0byAxMDAwMDAwMDAwMCBhc3NlcnRfZXF1YWxzOiBnZXRBdHRyaWJ1dGUo
KSBleHBlY3RlZCAiMTAwMDAwMDAwMDAiIGJ1dCBnb3QgIjEuMDAwMDBlKzEiCitQQVNTIG1ldGVy
LnZhbHVlOiBJREwgc2V0IHRvIDEwMDAwMDAwMDAwIAogUEFTUyBtZXRlci5taW46IHR5cGVvZiBJ
REwgYXR0cmlidXRlIAogUEFTUyBtZXRlci5taW46IElETCBnZXQgd2l0aCBET00gYXR0cmlidXRl
IHVuc2V0IAotRkFJTCBtZXRlci5taW46IElETCBzZXQgdG8gLTEwMDAwMDAwMDAwIGFzc2VydF9l
cXVhbHM6IGdldEF0dHJpYnV0ZSgpIGV4cGVjdGVkICItMTAwMDAwMDAwMDAiIGJ1dCBnb3QgIi0x
LjAwMDAwZSsxIgorUEFTUyBtZXRlci5taW46IElETCBzZXQgdG8gLTEwMDAwMDAwMDAwIAogUEFT
UyBtZXRlci5taW46IElETCBzZXQgdG8gLTEgCiBQQVNTIG1ldGVyLm1pbjogSURMIHNldCB0byAt
MCAKIFBBU1MgbWV0ZXIubWluOiBJREwgc2V0IHRvIDAgCiBQQVNTIG1ldGVyLm1pbjogSURMIHNl
dCB0byAxIAotRkFJTCBtZXRlci5taW46IElETCBzZXQgdG8gMTAwMDAwMDAwMDAgYXNzZXJ0X2Vx
dWFsczogZ2V0QXR0cmlidXRlKCkgZXhwZWN0ZWQgIjEwMDAwMDAwMDAwIiBidXQgZ290ICIxLjAw
MDAwZSsxIgorUEFTUyBtZXRlci5taW46IElETCBzZXQgdG8gMTAwMDAwMDAwMDAgCiBQQVNTIG1l
dGVyLm1heDogdHlwZW9mIElETCBhdHRyaWJ1dGUgCiBGQUlMIG1ldGVyLm1heDogSURMIGdldCB3
aXRoIERPTSBhdHRyaWJ1dGUgdW5zZXQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMCBidXQgZ290
IDEKLUZBSUwgbWV0ZXIubWF4OiBJREwgc2V0IHRvIC0xMDAwMDAwMDAwMCBhc3NlcnRfZXF1YWxz
OiBnZXRBdHRyaWJ1dGUoKSBleHBlY3RlZCAiLTEwMDAwMDAwMDAwIiBidXQgZ290ICItMS4wMDAw
MGUrMSIKK1BBU1MgbWV0ZXIubWF4OiBJREwgc2V0IHRvIC0xMDAwMDAwMDAwMCAKIFBBU1MgbWV0
ZXIubWF4OiBJREwgc2V0IHRvIC0xIAogUEFTUyBtZXRlci5tYXg6IElETCBzZXQgdG8gLTAgCiBQ
QVNTIG1ldGVyLm1heDogSURMIHNldCB0byAwIAogUEFTUyBtZXRlci5tYXg6IElETCBzZXQgdG8g
MSAKLUZBSUwgbWV0ZXIubWF4OiBJREwgc2V0IHRvIDEwMDAwMDAwMDAwIGFzc2VydF9lcXVhbHM6
IGdldEF0dHJpYnV0ZSgpIGV4cGVjdGVkICIxMDAwMDAwMDAwMCIgYnV0IGdvdCAiMS4wMDAwMGUr
MSIKK1BBU1MgbWV0ZXIubWF4OiBJREwgc2V0IHRvIDEwMDAwMDAwMDAwIAogUEFTUyBtZXRlci5s
b3c6IHR5cGVvZiBJREwgYXR0cmlidXRlIAogUEFTUyBtZXRlci5sb3c6IElETCBnZXQgd2l0aCBE
T00gYXR0cmlidXRlIHVuc2V0IAotRkFJTCBtZXRlci5sb3c6IElETCBzZXQgdG8gLTEwMDAwMDAw
MDAwIGFzc2VydF9lcXVhbHM6IGdldEF0dHJpYnV0ZSgpIGV4cGVjdGVkICItMTAwMDAwMDAwMDAi
IGJ1dCBnb3QgIi0xLjAwMDAwZSsxIgorUEFTUyBtZXRlci5sb3c6IElETCBzZXQgdG8gLTEwMDAw
MDAwMDAwIAogUEFTUyBtZXRlci5sb3c6IElETCBzZXQgdG8gLTEgCiBQQVNTIG1ldGVyLmxvdzog
SURMIHNldCB0byAtMCAKIFBBU1MgbWV0ZXIubG93OiBJREwgc2V0IHRvIDAgCiBQQVNTIG1ldGVy
LmxvdzogSURMIHNldCB0byAxIAotRkFJTCBtZXRlci5sb3c6IElETCBzZXQgdG8gMTAwMDAwMDAw
MDAgYXNzZXJ0X2VxdWFsczogZ2V0QXR0cmlidXRlKCkgZXhwZWN0ZWQgIjEwMDAwMDAwMDAwIiBi
dXQgZ290ICIxLjAwMDAwZSsxIgorUEFTUyBtZXRlci5sb3c6IElETCBzZXQgdG8gMTAwMDAwMDAw
MDAgCiBQQVNTIG1ldGVyLmhpZ2g6IHR5cGVvZiBJREwgYXR0cmlidXRlIAogRkFJTCBtZXRlci5o
aWdoOiBJREwgZ2V0IHdpdGggRE9NIGF0dHJpYnV0ZSB1bnNldCBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAwIGJ1dCBnb3QgMQotRkFJTCBtZXRlci5oaWdoOiBJREwgc2V0IHRvIC0xMDAwMDAwMDAw
MCBhc3NlcnRfZXF1YWxzOiBnZXRBdHRyaWJ1dGUoKSBleHBlY3RlZCAiLTEwMDAwMDAwMDAwIiBi
dXQgZ290ICItMS4wMDAwMGUrMSIKK1BBU1MgbWV0ZXIuaGlnaDogSURMIHNldCB0byAtMTAwMDAw
MDAwMDAgCiBQQVNTIG1ldGVyLmhpZ2g6IElETCBzZXQgdG8gLTEgCiBQQVNTIG1ldGVyLmhpZ2g6
IElETCBzZXQgdG8gLTAgCiBQQVNTIG1ldGVyLmhpZ2g6IElETCBzZXQgdG8gMCAKIFBBU1MgbWV0
ZXIuaGlnaDogSURMIHNldCB0byAxIAotRkFJTCBtZXRlci5oaWdoOiBJREwgc2V0IHRvIDEwMDAw
MDAwMDAwIGFzc2VydF9lcXVhbHM6IGdldEF0dHJpYnV0ZSgpIGV4cGVjdGVkICIxMDAwMDAwMDAw
MCIgYnV0IGdvdCAiMS4wMDAwMGUrMSIKK1BBU1MgbWV0ZXIuaGlnaDogSURMIHNldCB0byAxMDAw
MDAwMDAwMCAKIFBBU1MgbWV0ZXIub3B0aW11bTogdHlwZW9mIElETCBhdHRyaWJ1dGUgCiBGQUlM
IG1ldGVyLm9wdGltdW06IElETCBnZXQgd2l0aCBET00gYXR0cmlidXRlIHVuc2V0IGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkIDAgYnV0IGdvdCAwLjUKLUZBSUwgbWV0ZXIub3B0aW11bTogSURMIHNl
dCB0byAtMTAwMDAwMDAwMDAgYXNzZXJ0X2VxdWFsczogZ2V0QXR0cmlidXRlKCkgZXhwZWN0ZWQg
Ii0xMDAwMDAwMDAwMCIgYnV0IGdvdCAiLTEuMDAwMDBlKzEiCitQQVNTIG1ldGVyLm9wdGltdW06
IElETCBzZXQgdG8gLTEwMDAwMDAwMDAwIAogUEFTUyBtZXRlci5vcHRpbXVtOiBJREwgc2V0IHRv
IC0xIAogUEFTUyBtZXRlci5vcHRpbXVtOiBJREwgc2V0IHRvIC0wIAogUEFTUyBtZXRlci5vcHRp
bXVtOiBJREwgc2V0IHRvIDAgCiBQQVNTIG1ldGVyLm9wdGltdW06IElETCBzZXQgdG8gMSAKLUZB
SUwgbWV0ZXIub3B0aW11bTogSURMIHNldCB0byAxMDAwMDAwMDAwMCBhc3NlcnRfZXF1YWxzOiBn
ZXRBdHRyaWJ1dGUoKSBleHBlY3RlZCAiMTAwMDAwMDAwMDAiIGJ1dCBnb3QgIjEuMDAwMDBlKzEi
CitQQVNTIG1ldGVyLm9wdGltdW06IElETCBzZXQgdG8gMTAwMDAwMDAwMDAgCiAoTm90ZTogbWlz
c2luZyB0ZXN0cyBmb3IgdHlwZXMgdG9rZW5saXN0LCBzZXR0YWJsZSB0b2tlbmxpc3QsIGxpbWl0
ZWQgZG91YmxlLikKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2RvbS9yZWZsZWN0aW9uLWZvcm1zLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL2RvbS9yZWZsZWN0aW9uLWZvcm1zLWV4cGVjdGVkLnR4dApp
bmRleCAwZjUwNDg2MzFjMGJiNjg3MjViODg3YWI1Y2RlZDQ0ODE1YmMyYWMxLi5jYzg4MGZjMWJi
Yjg1OGE1ZDY3NmI5ZmM5ZDVlYmFhZTVlNjYxNTg0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9pb3Mtd2syL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9kb20v
cmVmbGVjdGlvbi1mb3Jtcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aW9zLXdrMi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvZG9tL3JlZmxlY3Rp
b24tZm9ybXMtZXhwZWN0ZWQudHh0CkBAIC0yNDI2LDcgKzI0MjYsOCBAQCBQQVNTIGlucHV0Lm1h
eExlbmd0aDogc2V0QXR0cmlidXRlKCkgdG8gIu+7vzciCiBQQVNTIGlucHV0Lm1heExlbmd0aDog
c2V0QXR0cmlidXRlKCkgdG8gIlxuNyIgCiBQQVNTIGlucHV0Lm1heExlbmd0aDogc2V0QXR0cmli
dXRlKCkgdG8gIlxyNyIgCiBQQVNTIGlucHV0Lm1heExlbmd0aDogc2V0QXR0cmlidXRlKCkgdG8g
IuKAqDciIAotUEFTUyBpbnB1dC5tYXhMZW5ndGg6IHNldEF0dHJpYnV0ZSgpIHRvICLigKk3IiAK
K1BBU1MgaW5wdXQubWF4TGVuZ3RoOiBzZXRBdHRyaWJ1dGUoKSB0byAiCis3IiAKIFBBU1MgaW5w
dXQubWF4TGVuZ3RoOiBzZXRBdHRyaWJ1dGUoKSB0byAi4ZqANyIgCiBQQVNTIGlucHV0Lm1heExl
bmd0aDogc2V0QXR0cmlidXRlKCkgdG8gIuGgjjciIAogUEFTUyBpbnB1dC5tYXhMZW5ndGg6IHNl
dEF0dHJpYnV0ZSgpIHRvICLigIA3IiAKQEAgLTI1MTksNyArMjUyMCw4IEBAIFBBU1MgaW5wdXQu
bWluTGVuZ3RoOiBzZXRBdHRyaWJ1dGUoKSB0byAi77u/NyIKIFBBU1MgaW5wdXQubWluTGVuZ3Ro
OiBzZXRBdHRyaWJ1dGUoKSB0byAiXG43IiAKIFBBU1MgaW5wdXQubWluTGVuZ3RoOiBzZXRBdHRy
aWJ1dGUoKSB0byAiXHI3IiAKIFBBU1MgaW5wdXQubWluTGVuZ3RoOiBzZXRBdHRyaWJ1dGUoKSB0
byAi4oCoNyIgCi1QQVNTIGlucHV0Lm1pbkxlbmd0aDogc2V0QXR0cmlidXRlKCkgdG8gIuKAqTci
IAorUEFTUyBpbnB1dC5taW5MZW5ndGg6IHNldEF0dHJpYnV0ZSgpIHRvICIKKzciIAogUEFTUyBp
bnB1dC5taW5MZW5ndGg6IHNldEF0dHJpYnV0ZSgpIHRvICLhmoA3IiAKIFBBU1MgaW5wdXQubWlu
TGVuZ3RoOiBzZXRBdHRyaWJ1dGUoKSB0byAi4aCONyIgCiBQQVNTIGlucHV0Lm1pbkxlbmd0aDog
c2V0QXR0cmlidXRlKCkgdG8gIuKAgDciIApAQCAtMjc3Myw3ICsyNzc1LDggQEAgUEFTUyBpbnB1
dC5zaXplOiBzZXRBdHRyaWJ1dGUoKSB0byAi77u/NyIKIFBBU1MgaW5wdXQuc2l6ZTogc2V0QXR0
cmlidXRlKCkgdG8gIlxuNyIgCiBQQVNTIGlucHV0LnNpemU6IHNldEF0dHJpYnV0ZSgpIHRvICJc
cjciIAogUEFTUyBpbnB1dC5zaXplOiBzZXRBdHRyaWJ1dGUoKSB0byAi4oCoNyIgCi1QQVNTIGlu
cHV0LnNpemU6IHNldEF0dHJpYnV0ZSgpIHRvICLigKk3IiAKK1BBU1MgaW5wdXQuc2l6ZTogc2V0
QXR0cmlidXRlKCkgdG8gIgorNyIgCiBQQVNTIGlucHV0LnNpemU6IHNldEF0dHJpYnV0ZSgpIHRv
ICLhmoA3IiAKIFBBU1MgaW5wdXQuc2l6ZTogc2V0QXR0cmlidXRlKCkgdG8gIuGgjjciIAogUEFT
UyBpbnB1dC5zaXplOiBzZXRBdHRyaWJ1dGUoKSB0byAi4oCANyIgCkBAIC00MzU4LDcgKzQzNjEs
OCBAQCBQQVNTIHNlbGVjdC5zaXplOiBzZXRBdHRyaWJ1dGUoKSB0byAi77u/NyIKIFBBU1Mgc2Vs
ZWN0LnNpemU6IHNldEF0dHJpYnV0ZSgpIHRvICJcbjciIAogUEFTUyBzZWxlY3Quc2l6ZTogc2V0
QXR0cmlidXRlKCkgdG8gIlxyNyIgCiBQQVNTIHNlbGVjdC5zaXplOiBzZXRBdHRyaWJ1dGUoKSB0
byAi4oCoNyIgCi1QQVNTIHNlbGVjdC5zaXplOiBzZXRBdHRyaWJ1dGUoKSB0byAi4oCpNyIgCitQ
QVNTIHNlbGVjdC5zaXplOiBzZXRBdHRyaWJ1dGUoKSB0byAiCis3IiAKIFBBU1Mgc2VsZWN0LnNp
emU6IHNldEF0dHJpYnV0ZSgpIHRvICLhmoA3IiAKIFBBU1Mgc2VsZWN0LnNpemU6IHNldEF0dHJp
YnV0ZSgpIHRvICLhoI43IiAKIFBBU1Mgc2VsZWN0LnNpemU6IHNldEF0dHJpYnV0ZSgpIHRvICLi
gIA3IiAKQEAgLTU2MjIsNyArNTYyNiw4IEBAIFBBU1MgdGV4dGFyZWEuY29sczogc2V0QXR0cmli
dXRlKCkgdG8gIu+7vzciCiBQQVNTIHRleHRhcmVhLmNvbHM6IHNldEF0dHJpYnV0ZSgpIHRvICJc
bjciIAogUEFTUyB0ZXh0YXJlYS5jb2xzOiBzZXRBdHRyaWJ1dGUoKSB0byAiXHI3IiAKIFBBU1Mg
dGV4dGFyZWEuY29sczogc2V0QXR0cmlidXRlKCkgdG8gIuKAqDciIAotUEFTUyB0ZXh0YXJlYS5j
b2xzOiBzZXRBdHRyaWJ1dGUoKSB0byAi4oCpNyIgCitQQVNTIHRleHRhcmVhLmNvbHM6IHNldEF0
dHJpYnV0ZSgpIHRvICIKKzciIAogUEFTUyB0ZXh0YXJlYS5jb2xzOiBzZXRBdHRyaWJ1dGUoKSB0
byAi4ZqANyIgCiBQQVNTIHRleHRhcmVhLmNvbHM6IHNldEF0dHJpYnV0ZSgpIHRvICLhoI43IiAK
IFBBU1MgdGV4dGFyZWEuY29sczogc2V0QXR0cmlidXRlKCkgdG8gIuKAgDciIApAQCAtNTkwNiw3
ICs1OTExLDggQEAgUEFTUyB0ZXh0YXJlYS5tYXhMZW5ndGg6IHNldEF0dHJpYnV0ZSgpIHRvICLv
u783IgogUEFTUyB0ZXh0YXJlYS5tYXhMZW5ndGg6IHNldEF0dHJpYnV0ZSgpIHRvICJcbjciIAog
UEFTUyB0ZXh0YXJlYS5tYXhMZW5ndGg6IHNldEF0dHJpYnV0ZSgpIHRvICJccjciIAogUEFTUyB0
ZXh0YXJlYS5tYXhMZW5ndGg6IHNldEF0dHJpYnV0ZSgpIHRvICLigKg3IiAKLVBBU1MgdGV4dGFy
ZWEubWF4TGVuZ3RoOiBzZXRBdHRyaWJ1dGUoKSB0byAi4oCpNyIgCitQQVNTIHRleHRhcmVhLm1h
eExlbmd0aDogc2V0QXR0cmlidXRlKCkgdG8gIgorNyIgCiBQQVNTIHRleHRhcmVhLm1heExlbmd0
aDogc2V0QXR0cmlidXRlKCkgdG8gIuGagDciIAogUEFTUyB0ZXh0YXJlYS5tYXhMZW5ndGg6IHNl
dEF0dHJpYnV0ZSgpIHRvICLhoI43IiAKIFBBU1MgdGV4dGFyZWEubWF4TGVuZ3RoOiBzZXRBdHRy
aWJ1dGUoKSB0byAi4oCANyIgCkBAIC01OTY3LDcgKzU5NzMsOCBAQCBQQVNTIHRleHRhcmVhLm1p
bkxlbmd0aDogc2V0QXR0cmlidXRlKCkgdG8gIu+7vzciCiBQQVNTIHRleHRhcmVhLm1pbkxlbmd0
aDogc2V0QXR0cmlidXRlKCkgdG8gIlxuNyIgCiBQQVNTIHRleHRhcmVhLm1pbkxlbmd0aDogc2V0
QXR0cmlidXRlKCkgdG8gIlxyNyIgCiBQQVNTIHRleHRhcmVhLm1pbkxlbmd0aDogc2V0QXR0cmli
dXRlKCkgdG8gIuKAqDciIAotUEFTUyB0ZXh0YXJlYS5taW5MZW5ndGg6IHNldEF0dHJpYnV0ZSgp
IHRvICLigKk3IiAKK1BBU1MgdGV4dGFyZWEubWluTGVuZ3RoOiBzZXRBdHRyaWJ1dGUoKSB0byAi
Cis3IiAKIFBBU1MgdGV4dGFyZWEubWluTGVuZ3RoOiBzZXRBdHRyaWJ1dGUoKSB0byAi4ZqANyIg
CiBQQVNTIHRleHRhcmVhLm1pbkxlbmd0aDogc2V0QXR0cmlidXRlKCkgdG8gIuGgjjciIAogUEFT
UyB0ZXh0YXJlYS5taW5MZW5ndGg6IHNldEF0dHJpYnV0ZSgpIHRvICLigIA3IiAKQEAgLTYxNTYs
NyArNjE2Myw4IEBAIFBBU1MgdGV4dGFyZWEucm93czogc2V0QXR0cmlidXRlKCkgdG8gIu+7vzci
CiBQQVNTIHRleHRhcmVhLnJvd3M6IHNldEF0dHJpYnV0ZSgpIHRvICJcbjciIAogUEFTUyB0ZXh0
YXJlYS5yb3dzOiBzZXRBdHRyaWJ1dGUoKSB0byAiXHI3IiAKIFBBU1MgdGV4dGFyZWEucm93czog
c2V0QXR0cmlidXRlKCkgdG8gIuKAqDciIAotUEFTUyB0ZXh0YXJlYS5yb3dzOiBzZXRBdHRyaWJ1
dGUoKSB0byAi4oCpNyIgCitQQVNTIHRleHRhcmVhLnJvd3M6IHNldEF0dHJpYnV0ZSgpIHRvICIK
KzciIAogUEFTUyB0ZXh0YXJlYS5yb3dzOiBzZXRBdHRyaWJ1dGUoKSB0byAi4ZqANyIgCiBQQVNT
IHRleHRhcmVhLnJvd3M6IHNldEF0dHJpYnV0ZSgpIHRvICLhoI43IiAKIFBBU1MgdGV4dGFyZWEu
cm93czogc2V0QXR0cmlidXRlKCkgdG8gIuKAgDciIApAQCAtNjk5NCw1MiArNzAwMiw1MiBAQCBQ
QVNTIG1ldGVyLnRhYkluZGV4OiBJREwgc2V0IHRvIDAKIFBBU1MgbWV0ZXIudGFiSW5kZXg6IElE
TCBzZXQgdG8gMSAKIFBBU1MgbWV0ZXIudGFiSW5kZXg6IElETCBzZXQgdG8gMjE0NzQ4MzY0NyAK
IFBBU1MgbWV0ZXIudGFiSW5kZXg6IElETCBzZXQgdG8gLTIxNDc0ODM2NDggCi1QQVNTIG1ldGVy
LnZhbHVlOiB0eXBlb2YgSURMIGF0dHJpYnV0ZSAKLVBBU1MgbWV0ZXIudmFsdWU6IElETCBnZXQg
d2l0aCBET00gYXR0cmlidXRlIHVuc2V0IAotRkFJTCBtZXRlci52YWx1ZTogSURMIHNldCB0byAt
MTAwMDAwMDAwMDAgYXNzZXJ0X2VxdWFsczogZ2V0QXR0cmlidXRlKCkgZXhwZWN0ZWQgIi0xMDAw
MDAwMDAwMCIgYnV0IGdvdCAiLTEuMDAwMDBlKzEiCi1QQVNTIG1ldGVyLnZhbHVlOiBJREwgc2V0
IHRvIC0xIAotUEFTUyBtZXRlci52YWx1ZTogSURMIHNldCB0byAtMCAKLVBBU1MgbWV0ZXIudmFs
dWU6IElETCBzZXQgdG8gMCAKLVBBU1MgbWV0ZXIudmFsdWU6IElETCBzZXQgdG8gMSAKLUZBSUwg
bWV0ZXIudmFsdWU6IElETCBzZXQgdG8gMTAwMDAwMDAwMDAgYXNzZXJ0X2VxdWFsczogZ2V0QXR0
cmlidXRlKCkgZXhwZWN0ZWQgIjEwMDAwMDAwMDAwIiBidXQgZ290ICIxLjAwMDAwZSsxIgotUEFT
UyBtZXRlci5taW46IHR5cGVvZiBJREwgYXR0cmlidXRlIAotUEFTUyBtZXRlci5taW46IElETCBn
ZXQgd2l0aCBET00gYXR0cmlidXRlIHVuc2V0IAotRkFJTCBtZXRlci5taW46IElETCBzZXQgdG8g
LTEwMDAwMDAwMDAwIGFzc2VydF9lcXVhbHM6IGdldEF0dHJpYnV0ZSgpIGV4cGVjdGVkICItMTAw
MDAwMDAwMDAiIGJ1dCBnb3QgIi0xLjAwMDAwZSsxIgotUEFTUyBtZXRlci5taW46IElETCBzZXQg
dG8gLTEgCi1QQVNTIG1ldGVyLm1pbjogSURMIHNldCB0byAtMCAKLVBBU1MgbWV0ZXIubWluOiBJ
REwgc2V0IHRvIDAgCi1QQVNTIG1ldGVyLm1pbjogSURMIHNldCB0byAxIAotRkFJTCBtZXRlci5t
aW46IElETCBzZXQgdG8gMTAwMDAwMDAwMDAgYXNzZXJ0X2VxdWFsczogZ2V0QXR0cmlidXRlKCkg
ZXhwZWN0ZWQgIjEwMDAwMDAwMDAwIiBidXQgZ290ICIxLjAwMDAwZSsxIgotUEFTUyBtZXRlci5t
YXg6IHR5cGVvZiBJREwgYXR0cmlidXRlIAorUEFTUyBtZXRlci52YWx1ZTogdHlwZW9mIElETCBh
dHRyaWJ1dGUKK1BBU1MgbWV0ZXIudmFsdWU6IElETCBnZXQgd2l0aCBET00gYXR0cmlidXRlIHVu
c2V0CitQQVNTIG1ldGVyLnZhbHVlOiBJREwgc2V0IHRvIC0xMDAwMDAwMDAwMAorUEFTUyBtZXRl
ci52YWx1ZTogSURMIHNldCB0byAtMQorUEFTUyBtZXRlci52YWx1ZTogSURMIHNldCB0byAtMAor
UEFTUyBtZXRlci52YWx1ZTogSURMIHNldCB0byAwCitQQVNTIG1ldGVyLnZhbHVlOiBJREwgc2V0
IHRvIDEKK1BBU1MgbWV0ZXIudmFsdWU6IElETCBzZXQgdG8gMTAwMDAwMDAwMDAKK1BBU1MgbWV0
ZXIubWluOiB0eXBlb2YgSURMIGF0dHJpYnV0ZQorUEFTUyBtZXRlci5taW46IElETCBnZXQgd2l0
aCBET00gYXR0cmlidXRlIHVuc2V0CitQQVNTIG1ldGVyLm1pbjogSURMIHNldCB0byAtMTAwMDAw
MDAwMDAKK1BBU1MgbWV0ZXIubWluOiBJREwgc2V0IHRvIC0xCitQQVNTIG1ldGVyLm1pbjogSURM
IHNldCB0byAtMAorUEFTUyBtZXRlci5taW46IElETCBzZXQgdG8gMAorUEFTUyBtZXRlci5taW46
IElETCBzZXQgdG8gMQorUEFTUyBtZXRlci5taW46IElETCBzZXQgdG8gMTAwMDAwMDAwMDAKK1BB
U1MgbWV0ZXIubWF4OiB0eXBlb2YgSURMIGF0dHJpYnV0ZQogRkFJTCBtZXRlci5tYXg6IElETCBn
ZXQgd2l0aCBET00gYXR0cmlidXRlIHVuc2V0IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDAgYnV0
IGdvdCAxCi1GQUlMIG1ldGVyLm1heDogSURMIHNldCB0byAtMTAwMDAwMDAwMDAgYXNzZXJ0X2Vx
dWFsczogZ2V0QXR0cmlidXRlKCkgZXhwZWN0ZWQgIi0xMDAwMDAwMDAwMCIgYnV0IGdvdCAiLTEu
MDAwMDBlKzEiCi1QQVNTIG1ldGVyLm1heDogSURMIHNldCB0byAtMSAKLVBBU1MgbWV0ZXIubWF4
OiBJREwgc2V0IHRvIC0wIAotUEFTUyBtZXRlci5tYXg6IElETCBzZXQgdG8gMCAKLVBBU1MgbWV0
ZXIubWF4OiBJREwgc2V0IHRvIDEgCi1GQUlMIG1ldGVyLm1heDogSURMIHNldCB0byAxMDAwMDAw
MDAwMCBhc3NlcnRfZXF1YWxzOiBnZXRBdHRyaWJ1dGUoKSBleHBlY3RlZCAiMTAwMDAwMDAwMDAi
IGJ1dCBnb3QgIjEuMDAwMDBlKzEiCi1QQVNTIG1ldGVyLmxvdzogdHlwZW9mIElETCBhdHRyaWJ1
dGUgCi1QQVNTIG1ldGVyLmxvdzogSURMIGdldCB3aXRoIERPTSBhdHRyaWJ1dGUgdW5zZXQgCi1G
QUlMIG1ldGVyLmxvdzogSURMIHNldCB0byAtMTAwMDAwMDAwMDAgYXNzZXJ0X2VxdWFsczogZ2V0
QXR0cmlidXRlKCkgZXhwZWN0ZWQgIi0xMDAwMDAwMDAwMCIgYnV0IGdvdCAiLTEuMDAwMDBlKzEi
Ci1QQVNTIG1ldGVyLmxvdzogSURMIHNldCB0byAtMSAKLVBBU1MgbWV0ZXIubG93OiBJREwgc2V0
IHRvIC0wIAotUEFTUyBtZXRlci5sb3c6IElETCBzZXQgdG8gMCAKLVBBU1MgbWV0ZXIubG93OiBJ
REwgc2V0IHRvIDEgCi1GQUlMIG1ldGVyLmxvdzogSURMIHNldCB0byAxMDAwMDAwMDAwMCBhc3Nl
cnRfZXF1YWxzOiBnZXRBdHRyaWJ1dGUoKSBleHBlY3RlZCAiMTAwMDAwMDAwMDAiIGJ1dCBnb3Qg
IjEuMDAwMDBlKzEiCi1QQVNTIG1ldGVyLmhpZ2g6IHR5cGVvZiBJREwgYXR0cmlidXRlIAorUEFT
UyBtZXRlci5tYXg6IElETCBzZXQgdG8gLTEwMDAwMDAwMDAwCitQQVNTIG1ldGVyLm1heDogSURM
IHNldCB0byAtMQorUEFTUyBtZXRlci5tYXg6IElETCBzZXQgdG8gLTAKK1BBU1MgbWV0ZXIubWF4
OiBJREwgc2V0IHRvIDAKK1BBU1MgbWV0ZXIubWF4OiBJREwgc2V0IHRvIDEKK1BBU1MgbWV0ZXIu
bWF4OiBJREwgc2V0IHRvIDEwMDAwMDAwMDAwCitQQVNTIG1ldGVyLmxvdzogdHlwZW9mIElETCBh
dHRyaWJ1dGUKK1BBU1MgbWV0ZXIubG93OiBJREwgZ2V0IHdpdGggRE9NIGF0dHJpYnV0ZSB1bnNl
dAorUEFTUyBtZXRlci5sb3c6IElETCBzZXQgdG8gLTEwMDAwMDAwMDAwCitQQVNTIG1ldGVyLmxv
dzogSURMIHNldCB0byAtMQorUEFTUyBtZXRlci5sb3c6IElETCBzZXQgdG8gLTAKK1BBU1MgbWV0
ZXIubG93OiBJREwgc2V0IHRvIDAKK1BBU1MgbWV0ZXIubG93OiBJREwgc2V0IHRvIDEKK1BBU1Mg
bWV0ZXIubG93OiBJREwgc2V0IHRvIDEwMDAwMDAwMDAwCitQQVNTIG1ldGVyLmhpZ2g6IHR5cGVv
ZiBJREwgYXR0cmlidXRlCiBGQUlMIG1ldGVyLmhpZ2g6IElETCBnZXQgd2l0aCBET00gYXR0cmli
dXRlIHVuc2V0IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDAgYnV0IGdvdCAxCi1GQUlMIG1ldGVy
LmhpZ2g6IElETCBzZXQgdG8gLTEwMDAwMDAwMDAwIGFzc2VydF9lcXVhbHM6IGdldEF0dHJpYnV0
ZSgpIGV4cGVjdGVkICItMTAwMDAwMDAwMDAiIGJ1dCBnb3QgIi0xLjAwMDAwZSsxIgotUEFTUyBt
ZXRlci5oaWdoOiBJREwgc2V0IHRvIC0xIAotUEFTUyBtZXRlci5oaWdoOiBJREwgc2V0IHRvIC0w
IAotUEFTUyBtZXRlci5oaWdoOiBJREwgc2V0IHRvIDAgCi1QQVNTIG1ldGVyLmhpZ2g6IElETCBz
ZXQgdG8gMSAKLUZBSUwgbWV0ZXIuaGlnaDogSURMIHNldCB0byAxMDAwMDAwMDAwMCBhc3NlcnRf
ZXF1YWxzOiBnZXRBdHRyaWJ1dGUoKSBleHBlY3RlZCAiMTAwMDAwMDAwMDAiIGJ1dCBnb3QgIjEu
MDAwMDBlKzEiCi1QQVNTIG1ldGVyLm9wdGltdW06IHR5cGVvZiBJREwgYXR0cmlidXRlIAorUEFT
UyBtZXRlci5oaWdoOiBJREwgc2V0IHRvIC0xMDAwMDAwMDAwMAorUEFTUyBtZXRlci5oaWdoOiBJ
REwgc2V0IHRvIC0xCitQQVNTIG1ldGVyLmhpZ2g6IElETCBzZXQgdG8gLTAKK1BBU1MgbWV0ZXIu
aGlnaDogSURMIHNldCB0byAwCitQQVNTIG1ldGVyLmhpZ2g6IElETCBzZXQgdG8gMQorUEFTUyBt
ZXRlci5oaWdoOiBJREwgc2V0IHRvIDEwMDAwMDAwMDAwCitQQVNTIG1ldGVyLm9wdGltdW06IHR5
cGVvZiBJREwgYXR0cmlidXRlCiBGQUlMIG1ldGVyLm9wdGltdW06IElETCBnZXQgd2l0aCBET00g
YXR0cmlidXRlIHVuc2V0IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDAgYnV0IGdvdCAwLjUKLUZB
SUwgbWV0ZXIub3B0aW11bTogSURMIHNldCB0byAtMTAwMDAwMDAwMDAgYXNzZXJ0X2VxdWFsczog
Z2V0QXR0cmlidXRlKCkgZXhwZWN0ZWQgIi0xMDAwMDAwMDAwMCIgYnV0IGdvdCAiLTEuMDAwMDBl
KzEiCi1QQVNTIG1ldGVyLm9wdGltdW06IElETCBzZXQgdG8gLTEgCi1QQVNTIG1ldGVyLm9wdGlt
dW06IElETCBzZXQgdG8gLTAgCi1QQVNTIG1ldGVyLm9wdGltdW06IElETCBzZXQgdG8gMCAKLVBB
U1MgbWV0ZXIub3B0aW11bTogSURMIHNldCB0byAxIAotRkFJTCBtZXRlci5vcHRpbXVtOiBJREwg
c2V0IHRvIDEwMDAwMDAwMDAwIGFzc2VydF9lcXVhbHM6IGdldEF0dHJpYnV0ZSgpIGV4cGVjdGVk
ICIxMDAwMDAwMDAwMCIgYnV0IGdvdCAiMS4wMDAwMGUrMSIKK1BBU1MgbWV0ZXIub3B0aW11bTog
SURMIHNldCB0byAtMTAwMDAwMDAwMDAKK1BBU1MgbWV0ZXIub3B0aW11bTogSURMIHNldCB0byAt
MQorUEFTUyBtZXRlci5vcHRpbXVtOiBJREwgc2V0IHRvIC0wCitQQVNTIG1ldGVyLm9wdGltdW06
IElETCBzZXQgdG8gMAorUEFTUyBtZXRlci5vcHRpbXVtOiBJREwgc2V0IHRvIDEKK1BBU1MgbWV0
ZXIub3B0aW11bTogSURMIHNldCB0byAxMDAwMDAwMDAwMAogKE5vdGU6IG1pc3NpbmcgdGVzdHMg
Zm9yIHR5cGVzIHRva2VubGlzdCwgc2V0dGFibGUgdG9rZW5saXN0LCBsaW1pdGVkIGRvdWJsZS4p
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>323130</attachid>
            <date>2017-10-08 01:48:09 -0700</date>
            <delta_ts>2017-10-08 01:52:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-178061-20171008014808.patch</filename>
            <type>text/plain</type>
            <size>48492</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIzMDMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDVlMjg2N2NhOGMxNzcwYjI3OGU1ZTFk
ZTYyODYyODNjYTQwMGM5ZGUuLmE3OTU2OWNhMzEyYTk0Yzk1OGU0YjFkMDQ1M2U2ZDg1N2UyMDFl
MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMzggQEAKKzIwMTctMTAtMDggIERhcmluIEFkbGVyICA8ZGFyaW5A
YXBwbGUuY29tPgorCisgICAgICAgIEZpeCBidWdzIHJlbGF0ZWQgdG8gc2V0dGluZyByZWZsZWN0
ZWQgZmxvYXRpbmcgcG9pbnQgRE9NIGF0dHJpYnV0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODA2MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogd3RmL2R0b2EuY3BwOgorICAgICAgICAoV1RGOjpm
b3JtYXRTdHJpbmdUcnVuY2F0aW5nVHJhaWxpbmdaZXJvc0lmTmVlZGVkKTogRml4IGEgYnVnIHdo
ZXJlCisgICAgICAgIHRoaXMgZnVuY3Rpb24gd291bGQgcmVtb3ZlIHRyYWlsaW5nIHplcm9lcyBm
cm9tIHRoZSBleHBvbmVudCBpZgorICAgICAgICBwcmVzZW50IGluc3RlYWQgb2YgZnJvbSB0aGUg
bWFudGlzc2EuIFRoaXMgbWVhbnQgdGhhdCBpdCB3b3VsZAorICAgICAgICBmb3JtYXQgMWUxMCBh
cyAiMS4wMDAwMGUrMSIgaW5zdGVhZCBvZiAiMWUrMTAiLiBBZGRlZCByZWdyZXNzaW9uCisgICAg
ICAgIHRlc3RzIGZvciB0aGlzIHRvIFRlc3RXZWJLaXRBUEkuCisKKyAgICAgICAgKiB3dGYvZHRv
YS91dGlscy5oOgorICAgICAgICAoV1RGOjpkb3VibGVfY29udmVyc2lvbjo6U3RyaW5nQnVpbGRl
cjo6UmVtb3ZlQ2hhcmFjdGVycyk6IEFkZGVkLgorICAgICAgICBVc2VkIGJ5IHRoZSBmaXggYWJv
dmUuCisKKyAgICAgICAgKiB3dGYvdGV4dC9BdG9taWNTdHJpbmcuY3BwOgorICAgICAgICAoV1RG
OjpBdG9taWNTdHJpbmc6Om51bWJlcik6IE5vdGU6IFRoaXMgZnVuY3Rpb24gaXMgdXNlZCBieSBj
b2RlCisgICAgICAgIHRoYXQgc2V0cyB0aGUgdmFsdWVzIG9mIHJlZmxlY3RlZCBmbG9hdGluZyBw
b2ludCBET00gYXR0cmlidXRlcy4KKyAgICAgICAgQ2hhbmdlZCB0aGUgZnVuY3Rpb24gdG8gdXNl
IHRoZSBydWxlcyBmcm9tIG51bWJlclRvU3RyaW5nIHJhdGhlcgorICAgICAgICBvbmVzIGZyb20g
bnVtYmVyVG9GaXhlZFByZWNpc2lvblN0cmluZy4gVGhpcyBpcyBhbmFsb2dvdXMgdG8KKyAgICAg
ICAgU3RyaW5nOjpudW1iZXJUb1N0cmluZ0VDTUFTY3JpcHQsIGFuZCBpbiB0aGUgZnV0dXJlIHdl
IHNob3VsZCBjaGFuZ2UKKyAgICAgICAgU3RyaW5nIGFuZCBTdHJpbmdCdWlsZGVyIHNvIHRoaXMg
IkVDTUFTY3JpcHQiIHNlbWFudGljIGlzIHRoZSBkZWZhdWx0CisgICAgICAgIHdheSB0byBjb252
ZXJ0IGEgZmxvYXRpbmcgcG9pbnQgbnVtYmVyIHRvIGEgc3RyaW5nLCBhbmQgcmVuYW1lIHRoZSBm
aXhlZAorICAgICAgICBwcmVjaXNpb24gdmVyc2lvbiB0aGF0IGlzIGN1cnJlbnRseSBjYWxsZWQg
U3RyaW5nOjpudW1iZXIuIEkgYXVkaXRlZAorICAgICAgICB0aGUgc21hbGwgbnVtYmVyIG9mIHNp
dGVzIGNhbGxpbmcgQXRvbWljU3RyaW5nOjpudW1iZXIsIGJ5IHRlbXBvcmFyaWx5CisgICAgICAg
IHJlbmFtaW5nIGl0LCBhbmQgZGlzY292ZXJlZCB0aGF0IHRoaXMgaXMgdGhlIGNvcnJlY3QgYmVo
YXZpb3IgZm9yIGFsbDsKKyAgICAgICAgbm9uZSBuZWVkZWQgZml4ZWQgcHJlY2lzaW9uLiBBbHNv
LCBmaXhlZCBhIG1pc3Rha2Ugd2hlcmUgdGhpcyBleHBsaWNpdGx5CisgICAgICAgIGNvbnZlcnRl
ZCB0byBTdHJpbmcuIFRoYXQgd2FzIGRlZmVhdGluZyB0aGUgcHVycG9zZSBvZiBoYXZpbmcgdGhl
c2UKKyAgICAgICAgZnVuY3Rpb25zIGluIEF0b21pY1N0cmluZzogSXQgd291bGQgYWxsb2NhdGUg
YSBuZXcgU3RyaW5nIGFuZCB0aGVuCisgICAgICAgIGRlc3Ryb3kgaXQgaW4gdGhlIGNhc2Ugd2hl
cmUgYW4gZXF1YWwgc3RyaW5nIHdhcyBhbHJlYWR5IGluIHRoZQorICAgICAgICBBdG9taWNTdHJp
bmcgdGFibGUuCisKIDIwMTctMTAtMDYgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJr
aXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyMjI3OTEgYW5kIHIy
MjI4NzMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKaW5kZXggOWIyOWVhMThhY2Q1MjkwMDJiNDBjZDU2NzkzOGYwMGJlMmRj
M2Y2ZS4uNzg0YTEzY2I0NWU1M2Q4NmM2MjY5ZDZhNWFkYjU0MGUwYTJhNWMwMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDI4IEBACisyMDE3LTEwLTA4ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxl
LmNvbT4KKworICAgICAgICBGaXggYnVncyByZWxhdGVkIHRvIHNldHRpbmcgcmVmbGVjdGVkIGZs
b2F0aW5nIHBvaW50IERPTSBhdHRyaWJ1dGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgwNjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIGh0bWwvSFRNTFByb2dyZXNzRWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MUHJvZ3Jlc3NFbGVtZW50OjpzZXRWYWx1ZSk6IENoYW5nZWQgdGhl
IHNlbWFudGljcyB0byBtYXRjaCB3aGF0CisgICAgICAgIHRoZSBIVE1MIHNwZWNpZmljYXRpb24g
Y2FsbHMgZm9yLiBXaGVuIGEgY2FsbGVyIHBhc3NlcyBhIG5lZ2F0aXZlIG51bWJlciBvcgorICAg
ICAgICB6ZXJvLCB0aGUgdmFsdWUgZG9lcyBnZXQgc2V0IG9uIHRoZSBlbGVtZW50LiBOZWdhdGl2
ZSBudW1iZXJzIGFyZSBub3QgYWxsb3dlZAorICAgICAgICB3aGVuIHlvdSBnZXQgdGhlIGN1cnJl
bnQgdmFsdWUsIGJ1dCBhcmUgYWxsb3dlZCB0byBiZSBzZXQuCisgICAgICAgIChXZWJDb3JlOjpI
VE1MUHJvZ3Jlc3NFbGVtZW50OjpzZXRNYXgpOiBDaGFuZ2VkIHRoZSBzZW1hbnRpY3MgdG8gbWF0
Y2ggd2hhdAorICAgICAgICB0aGUgSFRNTCBzcGVjaWZpY2F0aW9uIGNhbGxzIGZvci4gV2hlbiBh
IGNhbGxlciBwYXNzZXMgYSBuZWdhdGl2ZSBudW1iZXIgb3IKKyAgICAgICAgemVybywgdGhpcyBz
aG91bGQgbGVhdmUgdGhlIGF0dHJpYnV0ZSB1bmNoYW5nZWQuCisKKyAgICAgICAgKiBodG1sL3No
YWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50VHlwZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFDb250cm9sVm9sdW1lU2xpZGVyRWxlbWVudDo6c2V0Vm9sdW1lKTogVXNlCisgICAgICAgIFN0
cmluZzo6bnVtYmVyVG9TdHJpbmdFQ01BU2NyaXB0IGluc3RlYWQgb2YgU3RyaW5nOjpudW1iZXIg
c2luY2UgdGhhdCBpcyB3aGF0CisgICAgICAgIHdlIHdhbnQgYW55IHRpbWUgd2UgYXJlIHNldHRp
bmcgYW4gYXR0cmlidXRlIHZhbHVlIGZyb20gYSBmbG9hdGluZyBwb2ludCB2YWx1ZS4KKyAgICAg
ICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYUNvbnRyb2xUaW1lbGluZUVsZW1lbnQ6OnNldFBvc2l0aW9uKTogRGl0dG8uCisg
ICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xUaW1lbGluZUVsZW1lbnQ6OnNldER1cmF0aW9u
KTogUmVtb3ZlZCB1bm5lZWRlZCBjaGVjaworICAgICAgICBvZiBzdGQ6OmlzZmluaXRlIHNpbmNl
IHRoZSBzaW5nbGUgY2FsbGVyIGFscmVhZHkgY2hlY2tzIHRoYXQuCisKIDIwMTctMTAtMDggIEpl
ciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgU291cmNlQnVmZmVyIHJl
bW92ZSB0aHJvd3Mgb3V0IHdheSBtb3JlIGNvbnRlbnQgdGhhbiByZXF1ZXN0ZWQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL2R0b2EuY3BwIGIvU291cmNlL1dURi93dGYvZHRvYS5jcHAKaW5k
ZXggODIzYjE2MWIzYWRmYzk1YjQxZDY1NjQ2MjMxNjk3ZDJhODkyZTU0Ny4uOTcyYjI4OTlkZGEz
NzM3MmNjYTRkODljZTU5OTU5Mjk5Zjk3ODRlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYv
ZHRvYS5jcHAKKysrIGIvU291cmNlL1dURi93dGYvZHRvYS5jcHAKQEAgLTMsNyArMyw3IEBACiAg
KiBUaGUgYXV0aG9yIG9mIHRoaXMgc29mdHdhcmUgaXMgRGF2aWQgTS4gR2F5LgogICoKICAqIENv
cHlyaWdodCAoYykgMTk5MSwgMjAwMCwgMjAwMSBieSBMdWNlbnQgVGVjaG5vbG9naWVzLgotICog
Q29weXJpZ2h0IChDKSAyMDAyLCAyMDA1LCAyMDA2LCAyMDA3LCAyMDA4LCAyMDEwLCAyMDEyLCAy
MDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAw
Mi0yMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBQZXJtaXNzaW9u
IHRvIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGZvciBh
bnkKICAqIHB1cnBvc2Ugd2l0aG91dCBmZWUgaXMgaGVyZWJ5IGdyYW50ZWQsIHByb3ZpZGVkIHRo
YXQgdGhpcyBlbnRpcmUgbm90aWNlCkBAIC0xMjI3LDcgKzEyMjcsNyBAQCB2b2lkIGR0b2FSb3Vu
ZERQKER0b2FCdWZmZXIgcmVzdWx0LCBkb3VibGUgZGQsIGludCBuZGlnaXRzLCBib29sJiBzaWdu
LCBpbnQmIGV4cAogY29uc3QgY2hhciogbnVtYmVyVG9TdHJpbmcoZG91YmxlIGQsIE51bWJlclRv
U3RyaW5nQnVmZmVyIGJ1ZmZlcikKIHsKICAgICBkb3VibGVfY29udmVyc2lvbjo6U3RyaW5nQnVp
bGRlciBidWlsZGVyKGJ1ZmZlciwgTnVtYmVyVG9TdHJpbmdCdWZmZXJMZW5ndGgpOwotICAgIGNv
bnN0IGRvdWJsZV9jb252ZXJzaW9uOjpEb3VibGVUb1N0cmluZ0NvbnZlcnRlciYgY29udmVydGVy
ID0gZG91YmxlX2NvbnZlcnNpb246OkRvdWJsZVRvU3RyaW5nQ29udmVydGVyOjpFY21hU2NyaXB0
Q29udmVydGVyKCk7CisgICAgYXV0byYgY29udmVydGVyID0gZG91YmxlX2NvbnZlcnNpb246OkRv
dWJsZVRvU3RyaW5nQ29udmVydGVyOjpFY21hU2NyaXB0Q29udmVydGVyKCk7CiAgICAgY29udmVy
dGVyLlRvU2hvcnRlc3QoZCwgJmJ1aWxkZXIpOwogICAgIHJldHVybiBidWlsZGVyLkZpbmFsaXpl
KCk7CiB9CkBAIC0xMjQxLDI4ICsxMjQxLDMyIEBAIHN0YXRpYyBpbmxpbmUgY29uc3QgY2hhciog
Zm9ybWF0U3RyaW5nVHJ1bmNhdGluZ1RyYWlsaW5nWmVyb3NJZk5lZWRlZChOdW1iZXJUb1N0CiAg
ICAgICAgICAgICBicmVhazsKICAgICB9CiAKLSAgICAvLyBObyBkZWNpbWFsIHNlcGVyYXRvciBm
b3VuZCwgZWFybHkgZXhpdC4KKyAgICAvLyBObyBkZWNpbWFsIHNlcGFyYXRvciBmb3VuZCwgZWFy
bHkgZXhpdC4KICAgICBpZiAoZGVjaW1hbFBvaW50UG9zaXRpb24gPT0gbGVuZ3RoKQogICAgICAg
ICByZXR1cm4gYnVpbGRlci5GaW5hbGl6ZSgpOwogCi0gICAgc2l6ZV90IHRydW5jYXRlZExlbmd0
aCA9IGxlbmd0aCAtIDE7Ci0gICAgZm9yICg7IHRydW5jYXRlZExlbmd0aCA+IGRlY2ltYWxQb2lu
dFBvc2l0aW9uOyAtLXRydW5jYXRlZExlbmd0aCkgewotICAgICAgICBpZiAoYnVmZmVyW3RydW5j
YXRlZExlbmd0aF0gIT0gJzAnKQorICAgIHNpemVfdCBwYXN0TWFudGlzc2EgPSBkZWNpbWFsUG9p
bnRQb3NpdGlvbiArIDE7CisgICAgZm9yICg7IHBhc3RNYW50aXNzYSA8IGxlbmd0aDsgKytwYXN0
TWFudGlzc2EpIHsKKyAgICAgICAgaWYgKGJ1ZmZlcltwYXN0TWFudGlzc2FdID09ICdlJykKKyAg
ICAgICAgICAgIGJyZWFrOworICAgIH0KKworICAgIHNpemVfdCB0cnVuY2F0ZWRMZW5ndGggPSBw
YXN0TWFudGlzc2E7CisgICAgZm9yICg7IHRydW5jYXRlZExlbmd0aCA+IGRlY2ltYWxQb2ludFBv
c2l0aW9uICsgMTsgLS10cnVuY2F0ZWRMZW5ndGgpIHsKKyAgICAgICAgaWYgKGJ1ZmZlclt0cnVu
Y2F0ZWRMZW5ndGggLSAxXSAhPSAnMCcpCiAgICAgICAgICAgICBicmVhazsKICAgICB9CiAKICAg
ICAvLyBObyB0cmFpbGluZyB6ZXJvcyBmb3VuZCB0byBzdHJpcC4KLSAgICBpZiAodHJ1bmNhdGVk
TGVuZ3RoID09IGxlbmd0aCAtIDEpCisgICAgaWYgKHRydW5jYXRlZExlbmd0aCA9PSBwYXN0TWFu
dGlzc2EpCiAgICAgICAgIHJldHVybiBidWlsZGVyLkZpbmFsaXplKCk7CiAKICAgICAvLyBJZiB3
ZSByZW1vdmVkIGFsbCB0cmFpbGluZyB6ZXJvcywgcmVtb3ZlIHRoZSBkZWNpbWFsIHBvaW50IGFz
IHdlbGwuCi0gICAgaWYgKHRydW5jYXRlZExlbmd0aCA9PSBkZWNpbWFsUG9pbnRQb3NpdGlvbikg
ewotICAgICAgICBBU1NFUlQodHJ1bmNhdGVkTGVuZ3RoID4gMCk7Ci0gICAgICAgIC0tdHJ1bmNh
dGVkTGVuZ3RoOwotICAgIH0KKyAgICBpZiAodHJ1bmNhdGVkTGVuZ3RoID09IGRlY2ltYWxQb2lu
dFBvc2l0aW9uICsgMSkKKyAgICAgICAgdHJ1bmNhdGVkTGVuZ3RoID0gZGVjaW1hbFBvaW50UG9z
aXRpb247CiAKLSAgICAvLyBUcnVuY2F0ZSB0aGUgU3RyaW5nQnVpbGRlciwgYW5kIHJldHVybiB0
aGUgZmluYWwgcmVzdWx0LgotICAgIGJ1aWxkZXIuU2V0UG9zaXRpb24odHJ1bmNhdGVkTGVuZ3Ro
ICsgMSk7CisgICAgLy8gVHJ1bmNhdGUgdGhlIG1hbnRpc3NhLCBhbmQgcmV0dXJuIHRoZSBmaW5h
bCByZXN1bHQuCisgICAgYnVpbGRlci5SZW1vdmVDaGFyYWN0ZXJzKHRydW5jYXRlZExlbmd0aCwg
cGFzdE1hbnRpc3NhKTsKICAgICByZXR1cm4gYnVpbGRlci5GaW5hbGl6ZSgpOwogfQogCkBAIC0x
Mjc0LDcgKzEyNzgsNyBAQCBjb25zdCBjaGFyKiBudW1iZXJUb0ZpeGVkUHJlY2lzaW9uU3RyaW5n
KGRvdWJsZSBkLCB1bnNpZ25lZCBzaWduaWZpY2FudEZpZ3VyZXMsCiAgICAgLy8gcHJlY2lzaW9u
IGFyZ3VtZW50LiBUcmFpbGluZyB6ZXJvcyBhcmUgdHJ1bmNhdGVkLCBhbmQgdGhlIGRlY2ltYWwg
cG9pbnQgYXBwZWFycyBvbmx5IGlmIG9uZSBvciBtb3JlIGRpZ2l0cyBmb2xsb3cgaXQuCiAgICAg
Ly8gInByZWNpc2lvbiI6IFRoZSBwcmVjaXNpb24gc3BlY2lmaWVzIHRoZSBtYXhpbXVtIG51bWJl
ciBvZiBzaWduaWZpY2FudCBkaWdpdHMgcHJpbnRlZC4KICAgICBkb3VibGVfY29udmVyc2lvbjo6
U3RyaW5nQnVpbGRlciBidWlsZGVyKGJ1ZmZlciwgTnVtYmVyVG9TdHJpbmdCdWZmZXJMZW5ndGgp
OwotICAgIGNvbnN0IGRvdWJsZV9jb252ZXJzaW9uOjpEb3VibGVUb1N0cmluZ0NvbnZlcnRlciYg
Y29udmVydGVyID0gZG91YmxlX2NvbnZlcnNpb246OkRvdWJsZVRvU3RyaW5nQ29udmVydGVyOjpF
Y21hU2NyaXB0Q29udmVydGVyKCk7CisgICAgYXV0byYgY29udmVydGVyID0gZG91YmxlX2NvbnZl
cnNpb246OkRvdWJsZVRvU3RyaW5nQ29udmVydGVyOjpFY21hU2NyaXB0Q29udmVydGVyKCk7CiAg
ICAgY29udmVydGVyLlRvUHJlY2lzaW9uKGQsIHNpZ25pZmljYW50RmlndXJlcywgJmJ1aWxkZXIp
OwogICAgIGlmICghdHJ1bmNhdGVUcmFpbGluZ1plcm9zKQogICAgICAgICByZXR1cm4gYnVpbGRl
ci5GaW5hbGl6ZSgpOwpAQCAtMTI5MSw3ICsxMjk1LDcgQEAgY29uc3QgY2hhciogbnVtYmVyVG9G
aXhlZFdpZHRoU3RyaW5nKGRvdWJsZSBkLCB1bnNpZ25lZCBkZWNpbWFsUGxhY2VzLCBOdW1iZXJU
b1MKICAgICAvLyBJZiBhIGRlY2ltYWwgcG9pbnQgYXBwZWFycywgYXQgbGVhc3Qgb25lIGRpZ2l0
IGFwcGVhcnMgYmVmb3JlIGl0LgogICAgIC8vIFRoZSB2YWx1ZSBpcyByb3VuZGVkIHRvIHRoZSBh
cHByb3ByaWF0ZSBudW1iZXIgb2YgZGlnaXRzLiAgICAKICAgICBkb3VibGVfY29udmVyc2lvbjo6
U3RyaW5nQnVpbGRlciBidWlsZGVyKGJ1ZmZlciwgTnVtYmVyVG9TdHJpbmdCdWZmZXJMZW5ndGgp
OwotICAgIGNvbnN0IGRvdWJsZV9jb252ZXJzaW9uOjpEb3VibGVUb1N0cmluZ0NvbnZlcnRlciYg
Y29udmVydGVyID0gZG91YmxlX2NvbnZlcnNpb246OkRvdWJsZVRvU3RyaW5nQ29udmVydGVyOjpF
Y21hU2NyaXB0Q29udmVydGVyKCk7CisgICAgYXV0byYgY29udmVydGVyID0gZG91YmxlX2NvbnZl
cnNpb246OkRvdWJsZVRvU3RyaW5nQ29udmVydGVyOjpFY21hU2NyaXB0Q29udmVydGVyKCk7CiAg
ICAgY29udmVydGVyLlRvRml4ZWQoZCwgZGVjaW1hbFBsYWNlcywgJmJ1aWxkZXIpOwogICAgIHJl
dHVybiBidWlsZGVyLkZpbmFsaXplKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9k
dG9hL3V0aWxzLmggYi9Tb3VyY2UvV1RGL3d0Zi9kdG9hL3V0aWxzLmgKaW5kZXggODg5NjQyY2Vl
NzIyNjY3YmQ1OTYyYjEyMmFjZjVkNDk0MjI5YzlmNy4uZWRiMTcxYmYzYWE0ZjBmNjNiYTNkODE3
MzBlODk4OTM5YTZiYWFlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvZHRvYS91dGlscy5o
CisrKyBiL1NvdXJjZS9XVEYvd3RmL2R0b2EvdXRpbHMuaApAQCAtMjQzLDYgKzI0MywxNiBAQCBu
YW1lc3BhY2UgZG91YmxlX2NvbnZlcnNpb24gewogICAgICAgICAgICAgfQogICAgICAgICB9CiAg
ICAgICAgIAorICAgICAgICB2b2lkIFJlbW92ZUNoYXJhY3RlcnMoaW50IHN0YXJ0LCBpbnQgZW5k
KQorICAgICAgICB7CisgICAgICAgICAgICBBU1NFUlQoc3RhcnQgPj0gMCk7CisgICAgICAgICAg
ICBBU1NFUlQoZW5kID49IDApOworICAgICAgICAgICAgQVNTRVJUKHN0YXJ0IDw9IGVuZCk7Cisg
ICAgICAgICAgICBBU1NFUlQoZW5kIDw9IHBvc2l0aW9uXyk7CisgICAgICAgICAgICBzdGQ6Om1l
bW1vdmUoJmJ1ZmZlcl9bc3RhcnRdLCAmYnVmZmVyX1tlbmRdLCBwb3NpdGlvbl8gLSBlbmQpOwor
ICAgICAgICAgICAgcG9zaXRpb25fIC09IGVuZCAtIHN0YXJ0OworICAgICAgICB9CisKICAgICAg
ICAgLy8gRmluYWxpemUgdGhlIHN0cmluZyBieSAwLXRlcm1pbmF0aW5nIGl0IGFuZCByZXR1cm5p
bmcgdGhlIGJ1ZmZlci4KICAgICAgICAgY2hhciogRmluYWxpemUoKSB7CiAgICAgICAgICAgICBB
U1NFUlQoIWlzX2ZpbmFsaXplZCgpICYmIHBvc2l0aW9uXyA8IGJ1ZmZlcl8ubGVuZ3RoKCkpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvdGV4dC9BdG9taWNTdHJpbmcuY3BwIGIvU291cmNl
L1dURi93dGYvdGV4dC9BdG9taWNTdHJpbmcuY3BwCmluZGV4IDJhMDY1MTI4M2E5NzI3MWU1NzZh
MjIyZGRmMDIzMjBkMDZhMGQyZGUuLmIxMjU3NDIwM2U2NzIwNmI2ZTI4ZjBiZDY2MjI1YzRlOTFj
MjEwZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvQXRvbWljU3RyaW5nLmNwcAor
KysgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0F0b21pY1N0cmluZy5jcHAKQEAgLTEwNCw3ICsxMDQs
NyBAQCBBdG9taWNTdHJpbmcgQXRvbWljU3RyaW5nOjpudW1iZXIodW5zaWduZWQgbG9uZyBsb25n
IG51bWJlcikKIEF0b21pY1N0cmluZyBBdG9taWNTdHJpbmc6Om51bWJlcihkb3VibGUgbnVtYmVy
KQogewogICAgIE51bWJlclRvU3RyaW5nQnVmZmVyIGJ1ZmZlcjsKLSAgICByZXR1cm4gU3RyaW5n
KG51bWJlclRvRml4ZWRQcmVjaXNpb25TdHJpbmcobnVtYmVyLCA2LCBidWZmZXIsIHRydWUpKTsK
KyAgICByZXR1cm4gbnVtYmVyVG9TdHJpbmcobnVtYmVyLCBidWZmZXIpOwogfQogCiBBdG9taWNT
dHJpbmcgQXRvbWljU3RyaW5nOjpmcm9tVVRGOEludGVybmFsKGNvbnN0IGNoYXIqIGNoYXJhY3Rl
cnNTdGFydCwgY29uc3QgY2hhciogY2hhcmFjdGVyc0VuZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFByb2dyZXNzRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxQcm9ncmVzc0VsZW1lbnQuY3BwCmluZGV4IDhiNDBlMWRjMjU4YTliYTRmYWZjZjA4M2Iz
NWY5M2JjYjJjNDVlNGYuLjZhNzIxZDViY2JlY2JmZjhiNGFmZjVmYWY4NWQ0Y2Y0ZWVmMGZhYTQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFByb2dyZXNzRWxlbWVudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUHJvZ3Jlc3NFbGVtZW50LmNwcApAQCAtOTgs
NyArOTgsNyBAQCBkb3VibGUgSFRNTFByb2dyZXNzRWxlbWVudDo6dmFsdWUoKSBjb25zdAogCiB2
b2lkIEhUTUxQcm9ncmVzc0VsZW1lbnQ6OnNldFZhbHVlKGRvdWJsZSB2YWx1ZSkKIHsKLSAgICBz
ZXRBdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKHZhbHVlQXR0ciwgQXRvbWljU3RyaW5n
OjpudW1iZXIodmFsdWUgPj0gMCA/IHZhbHVlIDogMCkpOworICAgIHNldEF0dHJpYnV0ZVdpdGhv
dXRTeW5jaHJvbml6YXRpb24odmFsdWVBdHRyLCBBdG9taWNTdHJpbmc6Om51bWJlcih2YWx1ZSkp
OwogfQogCiBkb3VibGUgSFRNTFByb2dyZXNzRWxlbWVudDo6bWF4KCkgY29uc3QKQEAgLTEwOSw3
ICsxMDksOCBAQCBkb3VibGUgSFRNTFByb2dyZXNzRWxlbWVudDo6bWF4KCkgY29uc3QKIAogdm9p
ZCBIVE1MUHJvZ3Jlc3NFbGVtZW50OjpzZXRNYXgoZG91YmxlIG1heCkKIHsKLSAgICBzZXRBdHRy
aWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKG1heEF0dHIsIEF0b21pY1N0cmluZzo6bnVtYmVy
KG1heCA+IDAgPyBtYXggOiAxKSk7CisgICAgaWYgKG1heCA+IDApCisgICAgICAgIHNldEF0dHJp
YnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24obWF4QXR0ciwgQXRvbWljU3RyaW5nOjpudW1iZXIo
bWF4KSk7CiB9CiAKIGRvdWJsZSBIVE1MUHJvZ3Jlc3NFbGVtZW50Ojpwb3NpdGlvbigpIGNvbnN0
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVt
ZW50VHlwZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxl
bWVudFR5cGVzLmNwcAppbmRleCBhMmE2MmE4OTA4YjUyZjVhZjA5ZmQyYTAxYmQ2M2FmNGUwYWEz
Y2Q5Li5iMWM3MzZjMGE2Y2QwMzA2N2FlZWViMjIyYzRhMGI0YjE2M2ZlM2UwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50VHlwZXMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRUeXBl
cy5jcHAKQEAgLTIzNCw3ICsyMzQsNyBAQCBib29sIE1lZGlhQ29udHJvbFZvbHVtZVNsaWRlckVs
ZW1lbnQ6OndpbGxSZXNwb25kVG9Nb3VzZUNsaWNrRXZlbnRzKCkKIHZvaWQgTWVkaWFDb250cm9s
Vm9sdW1lU2xpZGVyRWxlbWVudDo6c2V0Vm9sdW1lKGRvdWJsZSB2b2x1bWUpCiB7CiAgICAgaWYg
KHZhbHVlKCkudG9Eb3VibGUoKSAhPSB2b2x1bWUpCi0gICAgICAgIHNldFZhbHVlKFN0cmluZzo6
bnVtYmVyKHZvbHVtZSkpOworICAgICAgICBzZXRWYWx1ZShTdHJpbmc6Om51bWJlclRvU3RyaW5n
RUNNQVNjcmlwdCh2b2x1bWUpKTsKIH0KIAogdm9pZCBNZWRpYUNvbnRyb2xWb2x1bWVTbGlkZXJF
bGVtZW50OjpzZXRDbGVhck11dGVkT25Vc2VySW50ZXJhY3Rpb24oYm9vbCBjbGVhck11dGUpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50
cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5j
cHAKaW5kZXggNjRmMmMxYWU0ODJlN2ViYzAyMGM5YmZhY2Y5YTcxYmE2NTJiN2Q5Yy4uOGU2MjI5
ZWQyZGVlNGE0NDExNzdlOGJmMjc2ZTMyZGFiMzcyYzRkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcApAQCAtODg1LDEyICs4
ODUsMTIgQEAgYm9vbCBNZWRpYUNvbnRyb2xUaW1lbGluZUVsZW1lbnQ6OndpbGxSZXNwb25kVG9N
b3VzZUNsaWNrRXZlbnRzKCkKIAogdm9pZCBNZWRpYUNvbnRyb2xUaW1lbGluZUVsZW1lbnQ6OnNl
dFBvc2l0aW9uKGRvdWJsZSBjdXJyZW50VGltZSkKIHsKLSAgICBzZXRWYWx1ZShTdHJpbmc6Om51
bWJlcihjdXJyZW50VGltZSkpOworICAgIHNldFZhbHVlKFN0cmluZzo6bnVtYmVyVG9TdHJpbmdF
Q01BU2NyaXB0KGN1cnJlbnRUaW1lKSk7CiB9CiAKIHZvaWQgTWVkaWFDb250cm9sVGltZWxpbmVF
bGVtZW50OjpzZXREdXJhdGlvbihkb3VibGUgZHVyYXRpb24pCiB7Ci0gICAgc2V0QXR0cmlidXRl
KG1heEF0dHIsIEF0b21pY1N0cmluZzo6bnVtYmVyKHN0ZDo6aXNmaW5pdGUoZHVyYXRpb24pID8g
ZHVyYXRpb24gOiAwKSk7CisgICAgc2V0QXR0cmlidXRlKG1heEF0dHIsIEF0b21pY1N0cmluZzo6
bnVtYmVyKGR1cmF0aW9uKSk7CiB9CiAKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA4YTgx
YjMxMWMyNmI3NjBkNmZmMTczODc4NzEzOTFiYzJjZWFlN2NiLi41OTY5ODY5Y2JjNGVhMzlhMWIz
NzZlYzJlMTAyZTBiM2JmNzA4MjU5IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTctMTAtMDggIERhcmluIEFkbGVy
ICA8ZGFyaW5AYXBwbGUuY29tPgorCisgICAgICAgIEZpeCBidWdzIHJlbGF0ZWQgdG8gc2V0dGlu
ZyByZWZsZWN0ZWQgZmxvYXRpbmcgcG9pbnQgRE9NIGF0dHJpYnV0ZXMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODA2MQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9X
VEYvQXRvbWljU3RyaW5nLmNwcDogQWRkZWQgYSB0ZXN0IG9mIHRoZQorICAgICAgICBBdG9taWNT
dHJpbmc6Om51bWJlciBmdW5jdGlvbiwgYmFzZWQgb24gdGhlIHRlc3QgY2FzZXMgd2UgYWxyZWFk
eQorICAgICAgICBoYWQgZm9yIFN0cmluZzo6bnVtYmVyVG9TdHJpbmdFQ01BU2NyaXB0LCBhbmQg
d2l0aCBzb21lIGFkZGl0aW9uYWwKKyAgICAgICAgY2FzZXMgd2l0aCBwb3dlcnMgb2YgMTAgdGhh
dCBjaGVjayBoYW5kbGluZyBvZiB0cmFpbG5nIHplcm9lcy4KKworICAgICAgICAqIFRlc3RXZWJL
aXRBUEkvVGVzdHMvV1RGL1dURlN0cmluZy5jcHA6IEFkZGVkIHRlc3QgY2FzZXMgdG8gdGhlCisg
ICAgICAgIGV4aXN0aW5nIHRlc3RzIG9mIHRoZSBTdHJpbmc6Om51bWJlclRvU3RyaW5nRUNNQVNj
cmlwdCBmdW5jdGlvbgorICAgICAgICBhcyBhYm92ZS4gQWxzbyBhZGRlZCB0ZXN0cyBmb3IgU3Ry
aW5nOjpudW1iZXIgYW5kIGZvcgorICAgICAgICBTdHJpbmc6Om51bWJlclRvU3RyaW5nRml4ZWRX
aWR0aC4gQWxzbyBjaGFuZ2VkIHRoZSB0ZXN0cyB0byBhbGwgdXNlCisgICAgICAgIEVYUEVDVCBp
bnN0ZWFkIG9mIEFTU0VSVCBtYWNyb3Mgc2luY2UgdGhlc2UgYXJlIGFsbCBub24tZmF0YWwuCisK
KyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxl
UGFnZS5jcHA6CisgICAgICAgIChXVFI6OmR1bXBGcmFtZVNjcm9sbFBvc2l0aW9uKTogVXNlIFN0
cmluZ0J1aWxkZXI6OmFwcGVuZEVDTUFTY3JpcHROdW1iZXIKKyAgICAgICAgaW5zdGVhZCBvZiBT
dHJpbmc6Om51bWJlci4KKwogMjAxNy0wOS0yOSAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUu
Y29tPgogCiAgICAgICAgIEVuYWJsZSBnaWdhY2FnZSBvbiBpT1MKZGlmZiAtLWdpdCBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0F0b21pY1N0cmluZy5jcHAgYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dURi9BdG9taWNTdHJpbmcuY3BwCmluZGV4IGRlOTYyZWM0MjI4OTI3NGYw
NmQ4MDIzMDM2YmUzMzQ3NDlmZDFhYzguLjFkNGFlNGViMTQ5NTViODIzZTg2Y2JjY2I2ZmRlYTFl
NmViNDRiM2MgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0F0b21p
Y1N0cmluZy5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvQXRvbWljU3Ry
aW5nLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEyLTIwMTcgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCkBAIC02MSw0ICs2MSw1MyBAQCBURVNUKFdURiwgQXRvbWljU3RyaW5nRXhpc3RpbmdIYXNo
KQogICAgIEFTU0VSVF9FUShzdHJpbmcyLmV4aXN0aW5nSGFzaCgpLCAwdSk7CiB9CiAKK3N0YXRp
YyBpbmxpbmUgY29uc3QgY2hhciogdGVzdEF0b21pY1N0cmluZ051bWJlcihkb3VibGUgbnVtYmVy
KQoreworICAgIHN0YXRpYyBjaGFyIHRlc3RCdWZmZXJbMTAwXTsKKyAgICBzdGQ6OnN0cm5jcHko
dGVzdEJ1ZmZlciwgQXRvbWljU3RyaW5nOjpudW1iZXIobnVtYmVyKS5zdHJpbmcoKS51dGY4KCku
ZGF0YSgpLCAxMDApOworICAgIHJldHVybiB0ZXN0QnVmZmVyOworfQorCitURVNUKFdURiwgQXRv
bWljU3RyaW5nTnVtYmVyRG91YmxlKQoreworICAgIHVzaW5nIExpbWl0cyA9IHN0ZDo6bnVtZXJp
Y19saW1pdHM8ZG91YmxlPjsKKworICAgIEVYUEVDVF9TVFJFUSgiSW5maW5pdHkiLCB0ZXN0QXRv
bWljU3RyaW5nTnVtYmVyKExpbWl0czo6aW5maW5pdHkoKSkpOworICAgIEVYUEVDVF9TVFJFUSgi
LUluZmluaXR5IiwgdGVzdEF0b21pY1N0cmluZ051bWJlcigtTGltaXRzOjppbmZpbml0eSgpKSk7
CisKKyAgICBFWFBFQ1RfU1RSRVEoIk5hTiIsIHRlc3RBdG9taWNTdHJpbmdOdW1iZXIoLUxpbWl0
czo6cXVpZXRfTmFOKCkpKTsKKworICAgIEVYUEVDVF9TVFJFUSgiMCIsIHRlc3RBdG9taWNTdHJp
bmdOdW1iZXIoMCkpOworICAgIEVYUEVDVF9TVFJFUSgiMCIsIHRlc3RBdG9taWNTdHJpbmdOdW1i
ZXIoLTApKTsKKworICAgIEVYUEVDVF9TVFJFUSgiMi4yMjUwNzM4NTg1MDcyMDE0ZS0zMDgiLCB0
ZXN0QXRvbWljU3RyaW5nTnVtYmVyKExpbWl0czo6bWluKCkpKTsKKyAgICBFWFBFQ1RfU1RSRVEo
Ii0xLjc5NzY5MzEzNDg2MjMxNTdlKzMwOCIsIHRlc3RBdG9taWNTdHJpbmdOdW1iZXIoTGltaXRz
Ojpsb3dlc3QoKSkpOworICAgIEVYUEVDVF9TVFJFUSgiMS43OTc2OTMxMzQ4NjIzMTU3ZSszMDgi
LCB0ZXN0QXRvbWljU3RyaW5nTnVtYmVyKExpbWl0czo6bWF4KCkpKTsKKworICAgIEVYUEVDVF9T
VFJFUSgiMy4xNDE1OTI2NTM1ODk3OTMiLCB0ZXN0QXRvbWljU3RyaW5nTnVtYmVyKHBpRG91Ymxl
KSk7CisgICAgRVhQRUNUX1NUUkVRKCIzLjE0MTU5Mjc0MTAxMjU3MzIiLCB0ZXN0QXRvbWljU3Ry
aW5nTnVtYmVyKHBpRmxvYXQpKTsKKyAgICBFWFBFQ1RfU1RSRVEoIjEuNTcwNzk2MzI2Nzk0ODk2
NiIsIHRlc3RBdG9taWNTdHJpbmdOdW1iZXIocGlPdmVyVHdvRG91YmxlKSk7CisgICAgRVhQRUNU
X1NUUkVRKCIxLjU3MDc5NjM3MDUwNjI4NjYiLCB0ZXN0QXRvbWljU3RyaW5nTnVtYmVyKHBpT3Zl
clR3b0Zsb2F0KSk7CisgICAgRVhQRUNUX1NUUkVRKCIwLjc4NTM5ODE2MzM5NzQ0ODMiLCB0ZXN0
QXRvbWljU3RyaW5nTnVtYmVyKHBpT3ZlckZvdXJEb3VibGUpKTsKKyAgICBFWFBFQ1RfU1RSRVEo
IjAuNzg1Mzk4MTg1MjUzMTQzMyIsIHRlc3RBdG9taWNTdHJpbmdOdW1iZXIocGlPdmVyRm91ckZs
b2F0KSk7CisKKyAgICBFWFBFQ1RfU1RSRVEoIjIuNzE4MjgxODI4NDU5MDQ1IiwgdGVzdEF0b21p
Y1N0cmluZ051bWJlcigyLjcxODI4MTgyODQ1OTA0NTIzNTM2MDI4NzQ3MTM1MjY2MjQ5Nzc1NzI0
NzA5MzY5OTk1KSk7CisKKyAgICBFWFBFQ1RfU1RSRVEoIjI5OTc5MjQ1OCIsIHRlc3RBdG9taWNT
dHJpbmdOdW1iZXIoMjk5NzkyNDU4KSk7CisKKyAgICBFWFBFQ1RfU1RSRVEoIjEuNjE4MDMzOTg4
NzQ5ODk1IiwgdGVzdEF0b21pY1N0cmluZ051bWJlcigxLjYxODAzMzk4ODc0OTg5NDg0ODIpKTsK
KworICAgIEVYUEVDVF9TVFJFUSgiMTAwMCIsIHRlc3RBdG9taWNTdHJpbmdOdW1iZXIoMWUzKSk7
CisgICAgRVhQRUNUX1NUUkVRKCIxMDAwMDAwMDAwMCIsIHRlc3RBdG9taWNTdHJpbmdOdW1iZXIo
MWUxMCkpOworICAgIEVYUEVDVF9TVFJFUSgiMTAwMDAwMDAwMDAwMDAwMDAwMDAwIiwgdGVzdEF0
b21pY1N0cmluZ051bWJlcigxZTIwKSk7CisgICAgRVhQRUNUX1NUUkVRKCIxZSsyMSIsIHRlc3RB
dG9taWNTdHJpbmdOdW1iZXIoMWUyMSkpOworICAgIEVYUEVDVF9TVFJFUSgiMWUrMzAiLCB0ZXN0
QXRvbWljU3RyaW5nTnVtYmVyKDFlMzApKTsKKworICAgIEVYUEVDVF9TVFJFUSgiMTEwMCIsIHRl
c3RBdG9taWNTdHJpbmdOdW1iZXIoMS4xZTMpKTsKKyAgICBFWFBFQ1RfU1RSRVEoIjExMDAwMDAw
MDAwIiwgdGVzdEF0b21pY1N0cmluZ051bWJlcigxLjFlMTApKTsKKyAgICBFWFBFQ1RfU1RSRVEo
IjExMDAwMDAwMDAwMDAwMDAwMDAwMCIsIHRlc3RBdG9taWNTdHJpbmdOdW1iZXIoMS4xZTIwKSk7
CisgICAgRVhQRUNUX1NUUkVRKCIxLjFlKzIxIiwgdGVzdEF0b21pY1N0cmluZ051bWJlcigxLjFl
MjEpKTsKKyAgICBFWFBFQ1RfU1RSRVEoIjEuMWUrMzAiLCB0ZXN0QXRvbWljU3RyaW5nTnVtYmVy
KDEuMWUzMCkpOworfQorCiB9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCmRpZmYgLS1naXQg
YS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9XVEZTdHJpbmcuY3BwIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XVEYvV1RGU3RyaW5nLmNwcAppbmRleCA2MTg0YzYyMzJiYmY0MjU3
NzBiNzQ0OTkyYjY0NjNjYWZiYTllZjFlLi40ZWNmZTJmZmU2Y2QzMWQ5NTgzNDhhMDYxNWEwZDBl
NTE1NWNmNmNkIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9XVEZT
dHJpbmcuY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1dURlN0cmluZy5j
cHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMi0yMDE3IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpA
QCAtMzYsMTYgKzM2LDE2IEBAIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsKIFRFU1QoV1RGLCBT
dHJpbmdDcmVhdGlvbkZyb21MaXRlcmFsKQogewogICAgIFN0cmluZyBzdHJpbmdGcm9tTGl0ZXJh
bChBU0NJSUxpdGVyYWwoIkV4cGxpY2l0IGNvbnN0cnVjdGlvbiBzeW50YXgiKSk7Ci0gICAgQVNT
RVJUX0VRKHN0cmxlbigiRXhwbGljaXQgY29uc3RydWN0aW9uIHN5bnRheCIpLCBzdHJpbmdGcm9t
TGl0ZXJhbC5sZW5ndGgoKSk7Ci0gICAgQVNTRVJUX1RSVUUoc3RyaW5nRnJvbUxpdGVyYWwgPT0g
IkV4cGxpY2l0IGNvbnN0cnVjdGlvbiBzeW50YXgiKTsKLSAgICBBU1NFUlRfVFJVRShzdHJpbmdG
cm9tTGl0ZXJhbC5pczhCaXQoKSk7Ci0gICAgQVNTRVJUX1RSVUUoU3RyaW5nKCJFeHBsaWNpdCBj
b25zdHJ1Y3Rpb24gc3ludGF4IikgPT0gc3RyaW5nRnJvbUxpdGVyYWwpOworICAgIEVYUEVDVF9F
UShzdHJsZW4oIkV4cGxpY2l0IGNvbnN0cnVjdGlvbiBzeW50YXgiKSwgc3RyaW5nRnJvbUxpdGVy
YWwubGVuZ3RoKCkpOworICAgIEVYUEVDVF9FUSgiRXhwbGljaXQgY29uc3RydWN0aW9uIHN5bnRh
eCIsIHN0cmluZ0Zyb21MaXRlcmFsKTsKKyAgICBFWFBFQ1RfVFJVRShzdHJpbmdGcm9tTGl0ZXJh
bC5pczhCaXQoKSk7CisgICAgRVhQRUNUX0VRKFN0cmluZygiRXhwbGljaXQgY29uc3RydWN0aW9u
IHN5bnRheCIpLCBzdHJpbmdGcm9tTGl0ZXJhbCk7CiAKICAgICBTdHJpbmcgc3RyaW5nV2l0aFRl
bXBsYXRlKCJUZW1wbGF0ZSBMaXRlcmFsIiwgU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCk7
Ci0gICAgQVNTRVJUX0VRKHN0cmxlbigiVGVtcGxhdGUgTGl0ZXJhbCIpLCBzdHJpbmdXaXRoVGVt
cGxhdGUubGVuZ3RoKCkpOwotICAgIEFTU0VSVF9UUlVFKHN0cmluZ1dpdGhUZW1wbGF0ZSA9PSAi
VGVtcGxhdGUgTGl0ZXJhbCIpOwotICAgIEFTU0VSVF9UUlVFKHN0cmluZ1dpdGhUZW1wbGF0ZS5p
czhCaXQoKSk7Ci0gICAgQVNTRVJUX1RSVUUoU3RyaW5nKCJUZW1wbGF0ZSBMaXRlcmFsIikgPT0g
c3RyaW5nV2l0aFRlbXBsYXRlKTsKKyAgICBFWFBFQ1RfRVEoc3RybGVuKCJUZW1wbGF0ZSBMaXRl
cmFsIiksIHN0cmluZ1dpdGhUZW1wbGF0ZS5sZW5ndGgoKSk7CisgICAgRVhQRUNUX0VRKCJUZW1w
bGF0ZSBMaXRlcmFsIiwgc3RyaW5nV2l0aFRlbXBsYXRlKTsKKyAgICBFWFBFQ1RfVFJVRShzdHJp
bmdXaXRoVGVtcGxhdGUuaXM4Qml0KCkpOworICAgIEVYUEVDVF9FUShTdHJpbmcoIlRlbXBsYXRl
IExpdGVyYWwiKSwgc3RyaW5nV2l0aFRlbXBsYXRlKTsKIH0KIAogVEVTVChXVEYsIFN0cmluZ0FT
Q0lJKQpAQCAtNTQsMTExICs1NCwyMDkgQEAgVEVTVChXVEYsIFN0cmluZ0FTQ0lJKQogCiAgICAg
Ly8gTnVsbCBTdHJpbmcuCiAgICAgb3V0cHV0ID0gU3RyaW5nKCkuYXNjaWkoKTsKLSAgICBBU1NF
UlRfU1RSRVEoIiIsIG91dHB1dC5kYXRhKCkpOworICAgIEVYUEVDVF9TVFJFUSgiIiwgb3V0cHV0
LmRhdGEoKSk7CiAKICAgICAvLyBFbXB0eSBTdHJpbmcuCiAgICAgb3V0cHV0ID0gZW1wdHlTdHJp
bmcoKS5hc2NpaSgpOwotICAgIEFTU0VSVF9TVFJFUSgiIiwgb3V0cHV0LmRhdGEoKSk7CisgICAg
RVhQRUNUX1NUUkVRKCIiLCBvdXRwdXQuZGF0YSgpKTsKIAogICAgIC8vIFJlZ3VsYXIgU3RyaW5n
LgogICAgIG91dHB1dCA9IFN0cmluZyhBU0NJSUxpdGVyYWwoImZvb2JhciIpKS5hc2NpaSgpOwot
ICAgIEFTU0VSVF9TVFJFUSgiZm9vYmFyIiwgb3V0cHV0LmRhdGEoKSk7CisgICAgRVhQRUNUX1NU
UkVRKCJmb29iYXIiLCBvdXRwdXQuZGF0YSgpKTsKIH0KIAotc3RhdGljIHZvaWQgdGVzdE51bWJl
clRvU3RyaW5nRUNNQVNjcmlwdChkb3VibGUgbnVtYmVyLCBjb25zdCBjaGFyKiByZWZlcmVuY2Up
CitzdGF0aWMgaW5saW5lIGNvbnN0IGNoYXIqIHRlc3RTdHJpbmdOdW1iZXJGaXhlZFByZWNpc2lv
bihkb3VibGUgbnVtYmVyKQogewotICAgIENTdHJpbmcgbnVtYmVyU3RyaW5nID0gU3RyaW5nOjpu
dW1iZXJUb1N0cmluZ0VDTUFTY3JpcHQobnVtYmVyKS5sYXRpbjEoKTsKLSAgICBBU1NFUlRfU1RS
RVEocmVmZXJlbmNlLCBudW1iZXJTdHJpbmcuZGF0YSgpKTsKKyAgICBzdGF0aWMgY2hhciB0ZXN0
QnVmZmVyWzEwMF07CisgICAgc3RkOjpzdHJuY3B5KHRlc3RCdWZmZXIsIFN0cmluZzo6bnVtYmVy
KG51bWJlcikudXRmOCgpLmRhdGEoKSwgMTAwKTsKKyAgICByZXR1cm4gdGVzdEJ1ZmZlcjsKIH0K
IAotVEVTVChXVEYsIFN0cmluZ051bWJlclRvU3RyaW5nRUNNQVNjcmlwdEJvdW5kYXJpZXMpCitU
RVNUKFdURiwgU3RyaW5nTnVtYmVyRml4ZWRQcmVjaXNpb24pCiB7Ci0gICAgdHlwZWRlZiBzdGQ6
Om51bWVyaWNfbGltaXRzPGRvdWJsZT4gTGltaXRzOworICAgIHVzaW5nIExpbWl0cyA9IHN0ZDo6
bnVtZXJpY19saW1pdHM8ZG91YmxlPjsKIAotICAgIC8vIEluZmluaXR5LgotICAgIHRlc3ROdW1i
ZXJUb1N0cmluZ0VDTUFTY3JpcHQoTGltaXRzOjppbmZpbml0eSgpLCAiSW5maW5pdHkiKTsKLSAg
ICB0ZXN0TnVtYmVyVG9TdHJpbmdFQ01BU2NyaXB0KC1MaW1pdHM6OmluZmluaXR5KCksICItSW5m
aW5pdHkiKTsKKyAgICBFWFBFQ1RfU1RSRVEoIkluZmluaXR5IiwgdGVzdFN0cmluZ051bWJlckZp
eGVkUHJlY2lzaW9uKExpbWl0czo6aW5maW5pdHkoKSkpOworICAgIEVYUEVDVF9TVFJFUSgiLUlu
ZmluaXR5IiwgdGVzdFN0cmluZ051bWJlckZpeGVkUHJlY2lzaW9uKC1MaW1pdHM6OmluZmluaXR5
KCkpKTsKIAotICAgIC8vIE5hTi4KLSAgICB0ZXN0TnVtYmVyVG9TdHJpbmdFQ01BU2NyaXB0KC1M
aW1pdHM6OnF1aWV0X05hTigpLCAiTmFOIik7CisgICAgRVhQRUNUX1NUUkVRKCJOYU4iLCB0ZXN0
U3RyaW5nTnVtYmVyRml4ZWRQcmVjaXNpb24oLUxpbWl0czo6cXVpZXRfTmFOKCkpKTsKIAotICAg
IC8vIFplcm9zLgotICAgIHRlc3ROdW1iZXJUb1N0cmluZ0VDTUFTY3JpcHQoMCwgIjAiKTsKLSAg
ICB0ZXN0TnVtYmVyVG9TdHJpbmdFQ01BU2NyaXB0KC0wLCAiMCIpOworICAgIEVYUEVDVF9TVFJF
USgiMCIsIHRlc3RTdHJpbmdOdW1iZXJGaXhlZFByZWNpc2lvbigwKSk7CisgICAgRVhQRUNUX1NU
UkVRKCIwIiwgdGVzdFN0cmluZ051bWJlckZpeGVkUHJlY2lzaW9uKC0wKSk7CiAKLSAgICAvLyBN
aW4tTWF4LgotICAgIHRlc3ROdW1iZXJUb1N0cmluZ0VDTUFTY3JpcHQoTGltaXRzOjptaW4oKSwg
IjIuMjI1MDczODU4NTA3MjAxNGUtMzA4Iik7Ci0gICAgdGVzdE51bWJlclRvU3RyaW5nRUNNQVNj
cmlwdChMaW1pdHM6Om1heCgpLCAiMS43OTc2OTMxMzQ4NjIzMTU3ZSszMDgiKTsKKyAgICBFWFBF
Q1RfU1RSRVEoIjIuMjI1MDdlLTMwOCIsIHRlc3RTdHJpbmdOdW1iZXJGaXhlZFByZWNpc2lvbihM
aW1pdHM6Om1pbigpKSk7CisgICAgRVhQRUNUX1NUUkVRKCItMS43OTc2OWUrMzA4IiwgdGVzdFN0
cmluZ051bWJlckZpeGVkUHJlY2lzaW9uKExpbWl0czo6bG93ZXN0KCkpKTsKKyAgICBFWFBFQ1Rf
U1RSRVEoIjEuNzk3NjllKzMwOCIsIHRlc3RTdHJpbmdOdW1iZXJGaXhlZFByZWNpc2lvbihMaW1p
dHM6Om1heCgpKSk7CisKKyAgICBFWFBFQ1RfU1RSRVEoIjMuMTQxNTkiLCB0ZXN0U3RyaW5nTnVt
YmVyRml4ZWRQcmVjaXNpb24ocGlEb3VibGUpKTsKKyAgICBFWFBFQ1RfU1RSRVEoIjMuMTQxNTki
LCB0ZXN0U3RyaW5nTnVtYmVyRml4ZWRQcmVjaXNpb24ocGlGbG9hdCkpOworICAgIEVYUEVDVF9T
VFJFUSgiMS41NzA4IiwgdGVzdFN0cmluZ051bWJlckZpeGVkUHJlY2lzaW9uKHBpT3ZlclR3b0Rv
dWJsZSkpOworICAgIEVYUEVDVF9TVFJFUSgiMS41NzA4IiwgdGVzdFN0cmluZ051bWJlckZpeGVk
UHJlY2lzaW9uKHBpT3ZlclR3b0Zsb2F0KSk7CisgICAgRVhQRUNUX1NUUkVRKCIwLjc4NTM5OCIs
IHRlc3RTdHJpbmdOdW1iZXJGaXhlZFByZWNpc2lvbihwaU92ZXJGb3VyRG91YmxlKSk7CisgICAg
RVhQRUNUX1NUUkVRKCIwLjc4NTM5OCIsIHRlc3RTdHJpbmdOdW1iZXJGaXhlZFByZWNpc2lvbihw
aU92ZXJGb3VyRmxvYXQpKTsKKworICAgIEVYUEVDVF9TVFJFUSgiMi43MTgyOCIsIHRlc3RTdHJp
bmdOdW1iZXJGaXhlZFByZWNpc2lvbigyLjcxODI4MTgyODQ1OTA0NTIzNTM2MDI4NzQ3MTM1MjY2
MjQ5Nzc1NzI0NzA5MzY5OTk1KSk7CisKKyAgICBFWFBFQ1RfU1RSRVEoIjIuOTk3OTJlKzgiLCB0
ZXN0U3RyaW5nTnVtYmVyRml4ZWRQcmVjaXNpb24oMjk5NzkyNDU4KSk7CisKKyAgICBFWFBFQ1Rf
U1RSRVEoIjEuNjE4MDMiLCB0ZXN0U3RyaW5nTnVtYmVyRml4ZWRQcmVjaXNpb24oMS42MTgwMzM5
ODg3NDk4OTQ4NDgyKSk7CisKKyAgICBFWFBFQ1RfU1RSRVEoIjEwMDAiLCB0ZXN0U3RyaW5nTnVt
YmVyRml4ZWRQcmVjaXNpb24oMWUzKSk7CisgICAgRVhQRUNUX1NUUkVRKCIxZSsxMCIsIHRlc3RT
dHJpbmdOdW1iZXJGaXhlZFByZWNpc2lvbigxZTEwKSk7CisgICAgRVhQRUNUX1NUUkVRKCIxZSsy
MCIsIHRlc3RTdHJpbmdOdW1iZXJGaXhlZFByZWNpc2lvbigxZTIwKSk7CisgICAgRVhQRUNUX1NU
UkVRKCIxZSsyMSIsIHRlc3RTdHJpbmdOdW1iZXJGaXhlZFByZWNpc2lvbigxZTIxKSk7CisgICAg
RVhQRUNUX1NUUkVRKCIxZSszMCIsIHRlc3RTdHJpbmdOdW1iZXJGaXhlZFByZWNpc2lvbigxZTMw
KSk7CisKKyAgICBFWFBFQ1RfU1RSRVEoIjExMDAiLCB0ZXN0U3RyaW5nTnVtYmVyRml4ZWRQcmVj
aXNpb24oMS4xZTMpKTsKKyAgICBFWFBFQ1RfU1RSRVEoIjEuMWUrMTAiLCB0ZXN0U3RyaW5nTnVt
YmVyRml4ZWRQcmVjaXNpb24oMS4xZTEwKSk7CisgICAgRVhQRUNUX1NUUkVRKCIxLjFlKzIwIiwg
dGVzdFN0cmluZ051bWJlckZpeGVkUHJlY2lzaW9uKDEuMWUyMCkpOworICAgIEVYUEVDVF9TVFJF
USgiMS4xZSsyMSIsIHRlc3RTdHJpbmdOdW1iZXJGaXhlZFByZWNpc2lvbigxLjFlMjEpKTsKKyAg
ICBFWFBFQ1RfU1RSRVEoIjEuMWUrMzAiLCB0ZXN0U3RyaW5nTnVtYmVyRml4ZWRQcmVjaXNpb24o
MS4xZTMwKSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgY29uc3QgY2hhciogdGVzdFN0cmluZ051bWJl
ckZpeGVkV2lkdGgoZG91YmxlIG51bWJlcikKK3sKKyAgICBzdGF0aWMgY2hhciB0ZXN0QnVmZmVy
WzEwMF07CisgICAgc3RkOjpzdHJuY3B5KHRlc3RCdWZmZXIsIFN0cmluZzo6bnVtYmVyVG9TdHJp
bmdGaXhlZFdpZHRoKG51bWJlciwgNikudXRmOCgpLmRhdGEoKSwgMTAwKTsKKyAgICByZXR1cm4g
dGVzdEJ1ZmZlcjsKIH0KIAotVEVTVChXVEYsIFN0cmluZ051bWJlclRvU3RyaW5nRUNNQVNjcmlw
dFJlZ3VsYXJOdW1iZXJzKQorVEVTVChXVEYsIFN0cmluZ051bWJlckZpeGVkV2lkdGgpCiB7Ci0g
ICAgLy8gUGkuCi0gICAgdGVzdE51bWJlclRvU3RyaW5nRUNNQVNjcmlwdChwaURvdWJsZSwgIjMu
MTQxNTkyNjUzNTg5NzkzIik7Ci0gICAgdGVzdE51bWJlclRvU3RyaW5nRUNNQVNjcmlwdChwaUZs
b2F0LCAiMy4xNDE1OTI3NDEwMTI1NzMyIik7Ci0gICAgdGVzdE51bWJlclRvU3RyaW5nRUNNQVNj
cmlwdChwaU92ZXJUd29Eb3VibGUsICIxLjU3MDc5NjMyNjc5NDg5NjYiKTsKLSAgICB0ZXN0TnVt
YmVyVG9TdHJpbmdFQ01BU2NyaXB0KHBpT3ZlclR3b0Zsb2F0LCAiMS41NzA3OTYzNzA1MDYyODY2
Iik7Ci0gICAgdGVzdE51bWJlclRvU3RyaW5nRUNNQVNjcmlwdChwaU92ZXJGb3VyRG91YmxlLCAi
MC43ODUzOTgxNjMzOTc0NDgzIik7Ci0gICAgdGVzdE51bWJlclRvU3RyaW5nRUNNQVNjcmlwdChw
aU92ZXJGb3VyRmxvYXQsICIwLjc4NTM5ODE4NTI1MzE0MzMiKTsKLQotICAgIC8vIGUuCi0gICAg
Y29uc3QgZG91YmxlIGUgPSAyLjcxODI4MTgyODQ1OTA0NTIzNTM2MDI4NzQ3MTM1MjY2MjQ5Nzc1
NzI0NzA5MzY5OTk1OwotICAgIHRlc3ROdW1iZXJUb1N0cmluZ0VDTUFTY3JpcHQoZSwgIjIuNzE4
MjgxODI4NDU5MDQ1Iik7Ci0KLSAgICAvLyBjLCBzcGVlZCBvZiBsaWdodCBpbiBtL3MuCi0gICAg
Y29uc3QgZG91YmxlIGMgPSAyOTk3OTI0NTg7Ci0gICAgdGVzdE51bWJlclRvU3RyaW5nRUNNQVNj
cmlwdChjLCAiMjk5NzkyNDU4Iik7Ci0KLSAgICAvLyBHb2xlbiByYXRpby4KLSAgICBjb25zdCBk
b3VibGUgcGhpID0gMS42MTgwMzM5ODg3NDk4OTQ4NDgyOwotICAgIHRlc3ROdW1iZXJUb1N0cmlu
Z0VDTUFTY3JpcHQocGhpLCAiMS42MTgwMzM5ODg3NDk4OTUiKTsKKyAgICB1c2luZyBMaW1pdHMg
PSBzdGQ6Om51bWVyaWNfbGltaXRzPGRvdWJsZT47CisKKyAgICBFWFBFQ1RfU1RSRVEoIkluZmlu
aXR5IiwgdGVzdFN0cmluZ051bWJlckZpeGVkV2lkdGgoTGltaXRzOjppbmZpbml0eSgpKSk7Cisg
ICAgRVhQRUNUX1NUUkVRKCItSW5maW5pdHkiLCB0ZXN0U3RyaW5nTnVtYmVyRml4ZWRXaWR0aCgt
TGltaXRzOjppbmZpbml0eSgpKSk7CisKKyAgICBFWFBFQ1RfU1RSRVEoIk5hTiIsIHRlc3RTdHJp
bmdOdW1iZXJGaXhlZFdpZHRoKC1MaW1pdHM6OnF1aWV0X05hTigpKSk7CisKKyAgICBFWFBFQ1Rf
U1RSRVEoIjAuMDAwMDAwIiwgdGVzdFN0cmluZ051bWJlckZpeGVkV2lkdGgoMCkpOworICAgIEVY
UEVDVF9TVFJFUSgiMC4wMDAwMDAiLCB0ZXN0U3RyaW5nTnVtYmVyRml4ZWRXaWR0aCgtMCkpOwor
CisgICAgRVhQRUNUX1NUUkVRKCIwLjAwMDAwMCIsIHRlc3RTdHJpbmdOdW1iZXJGaXhlZFdpZHRo
KExpbWl0czo6bWluKCkpKTsKKyAgICBFWFBFQ1RfU1RSRVEoIiIsIHRlc3RTdHJpbmdOdW1iZXJG
aXhlZFdpZHRoKExpbWl0czo6bG93ZXN0KCkpKTsKKyAgICBFWFBFQ1RfU1RSRVEoIiIsIHRlc3RT
dHJpbmdOdW1iZXJGaXhlZFdpZHRoKExpbWl0czo6bWF4KCkpKTsKKworICAgIEVYUEVDVF9TVFJF
USgiMy4xNDE1OTMiLCB0ZXN0U3RyaW5nTnVtYmVyRml4ZWRXaWR0aChwaURvdWJsZSkpOworICAg
IEVYUEVDVF9TVFJFUSgiMy4xNDE1OTMiLCB0ZXN0U3RyaW5nTnVtYmVyRml4ZWRXaWR0aChwaUZs
b2F0KSk7CisgICAgRVhQRUNUX1NUUkVRKCIxLjU3MDc5NiIsIHRlc3RTdHJpbmdOdW1iZXJGaXhl
ZFdpZHRoKHBpT3ZlclR3b0RvdWJsZSkpOworICAgIEVYUEVDVF9TVFJFUSgiMS41NzA3OTYiLCB0
ZXN0U3RyaW5nTnVtYmVyRml4ZWRXaWR0aChwaU92ZXJUd29GbG9hdCkpOworICAgIEVYUEVDVF9T
VFJFUSgiMC43ODUzOTgiLCB0ZXN0U3RyaW5nTnVtYmVyRml4ZWRXaWR0aChwaU92ZXJGb3VyRG91
YmxlKSk7CisgICAgRVhQRUNUX1NUUkVRKCIwLjc4NTM5OCIsIHRlc3RTdHJpbmdOdW1iZXJGaXhl
ZFdpZHRoKHBpT3ZlckZvdXJGbG9hdCkpOworCisgICAgRVhQRUNUX1NUUkVRKCIyLjcxODI4MiIs
IHRlc3RTdHJpbmdOdW1iZXJGaXhlZFdpZHRoKDIuNzE4MjgxODI4NDU5MDQ1MjM1MzYwMjg3NDcx
MzUyNjYyNDk3NzU3MjQ3MDkzNjk5OTUpKTsKKworICAgIEVYUEVDVF9TVFJFUSgiMjk5NzkyNDU4
LjAwMDAwMCIsIHRlc3RTdHJpbmdOdW1iZXJGaXhlZFdpZHRoKDI5OTc5MjQ1OCkpOworCisgICAg
RVhQRUNUX1NUUkVRKCIxLjYxODAzNCIsIHRlc3RTdHJpbmdOdW1iZXJGaXhlZFdpZHRoKDEuNjE4
MDMzOTg4NzQ5ODk0ODQ4MikpOworCisgICAgRVhQRUNUX1NUUkVRKCIxMDAwLjAwMDAwMCIsIHRl
c3RTdHJpbmdOdW1iZXJGaXhlZFdpZHRoKDFlMykpOworICAgIEVYUEVDVF9TVFJFUSgiMTAwMDAw
MDAwMDAuMDAwMDAwIiwgdGVzdFN0cmluZ051bWJlckZpeGVkV2lkdGgoMWUxMCkpOworICAgIEVY
UEVDVF9TVFJFUSgiMTAwMDAwMDAwMDAwMDAwMDAwMDAwLjAwMDAwMCIsIHRlc3RTdHJpbmdOdW1i
ZXJGaXhlZFdpZHRoKDFlMjApKTsKKyAgICBFWFBFQ1RfU1RSRVEoIjEwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuMDAwMDAwIiwgdGVzdFN0cmluZ051bWJlckZpeGVkV2lkdGgoMWUyMSkpOworICAgIEVY
UEVDVF9TVFJFUSgiMTAwMDAwMDAwMDAwMDAwMDAxOTg4NDYyNDgzODY1Ni4wMDAwMDAiLCB0ZXN0
U3RyaW5nTnVtYmVyRml4ZWRXaWR0aCgxZTMwKSk7CisKKyAgICBFWFBFQ1RfU1RSRVEoIjExMDAu
MDAwMDAwIiwgdGVzdFN0cmluZ051bWJlckZpeGVkV2lkdGgoMS4xZTMpKTsKKyAgICBFWFBFQ1Rf
U1RSRVEoIjExMDAwMDAwMDAwLjAwMDAwMCIsIHRlc3RTdHJpbmdOdW1iZXJGaXhlZFdpZHRoKDEu
MWUxMCkpOworICAgIEVYUEVDVF9TVFJFUSgiMTEwMDAwMDAwMDAwMDAwMDAwMDAwLjAwMDAwMCIs
IHRlc3RTdHJpbmdOdW1iZXJGaXhlZFdpZHRoKDEuMWUyMCkpOworICAgIEVYUEVDVF9TVFJFUSgi
MTEwMDAwMDAwMDAwMDAwMDAwMDAwMC4wMDAwMDAiLCB0ZXN0U3RyaW5nTnVtYmVyRml4ZWRXaWR0
aCgxLjFlMjEpKTsKKyAgICBFWFBFQ1RfU1RSRVEoIjEwOTk5OTk5OTk5OTk5OTk5OTM3MjU1ODk2
NTE0NTYuMDAwMDAwIiwgdGVzdFN0cmluZ051bWJlckZpeGVkV2lkdGgoMS4xZTMwKSk7Cit9CisK
K3N0YXRpYyBpbmxpbmUgY29uc3QgY2hhciogdGVzdFN0cmluZ051bWJlcihkb3VibGUgbnVtYmVy
KQoreworICAgIHN0YXRpYyBjaGFyIHRlc3RCdWZmZXJbMTAwXTsKKyAgICBzdGQ6OnN0cm5jcHko
dGVzdEJ1ZmZlciwgU3RyaW5nOjpudW1iZXJUb1N0cmluZ0VDTUFTY3JpcHQobnVtYmVyKS51dGY4
KCkuZGF0YSgpLCAxMDApOworICAgIHJldHVybiB0ZXN0QnVmZmVyOworfQorCitURVNUKFdURiwg
U3RyaW5nTnVtYmVyKQoreworICAgIHVzaW5nIExpbWl0cyA9IHN0ZDo6bnVtZXJpY19saW1pdHM8
ZG91YmxlPjsKKworICAgIEVYUEVDVF9TVFJFUSgiSW5maW5pdHkiLCB0ZXN0U3RyaW5nTnVtYmVy
KExpbWl0czo6aW5maW5pdHkoKSkpOworICAgIEVYUEVDVF9TVFJFUSgiLUluZmluaXR5IiwgdGVz
dFN0cmluZ051bWJlcigtTGltaXRzOjppbmZpbml0eSgpKSk7CisKKyAgICBFWFBFQ1RfU1RSRVEo
Ik5hTiIsIHRlc3RTdHJpbmdOdW1iZXIoLUxpbWl0czo6cXVpZXRfTmFOKCkpKTsKKworICAgIEVY
UEVDVF9TVFJFUSgiMCIsIHRlc3RTdHJpbmdOdW1iZXIoMCkpOworICAgIEVYUEVDVF9TVFJFUSgi
MCIsIHRlc3RTdHJpbmdOdW1iZXIoLTApKTsKKworICAgIEVYUEVDVF9TVFJFUSgiMi4yMjUwNzM4
NTg1MDcyMDE0ZS0zMDgiLCB0ZXN0U3RyaW5nTnVtYmVyKExpbWl0czo6bWluKCkpKTsKKyAgICBF
WFBFQ1RfU1RSRVEoIi0xLjc5NzY5MzEzNDg2MjMxNTdlKzMwOCIsIHRlc3RTdHJpbmdOdW1iZXIo
TGltaXRzOjpsb3dlc3QoKSkpOworICAgIEVYUEVDVF9TVFJFUSgiMS43OTc2OTMxMzQ4NjIzMTU3
ZSszMDgiLCB0ZXN0U3RyaW5nTnVtYmVyKExpbWl0czo6bWF4KCkpKTsKKworICAgIEVYUEVDVF9T
VFJFUSgiMy4xNDE1OTI2NTM1ODk3OTMiLCB0ZXN0U3RyaW5nTnVtYmVyKHBpRG91YmxlKSk7Cisg
ICAgRVhQRUNUX1NUUkVRKCIzLjE0MTU5Mjc0MTAxMjU3MzIiLCB0ZXN0U3RyaW5nTnVtYmVyKHBp
RmxvYXQpKTsKKyAgICBFWFBFQ1RfU1RSRVEoIjEuNTcwNzk2MzI2Nzk0ODk2NiIsIHRlc3RTdHJp
bmdOdW1iZXIocGlPdmVyVHdvRG91YmxlKSk7CisgICAgRVhQRUNUX1NUUkVRKCIxLjU3MDc5NjM3
MDUwNjI4NjYiLCB0ZXN0U3RyaW5nTnVtYmVyKHBpT3ZlclR3b0Zsb2F0KSk7CisgICAgRVhQRUNU
X1NUUkVRKCIwLjc4NTM5ODE2MzM5NzQ0ODMiLCB0ZXN0U3RyaW5nTnVtYmVyKHBpT3ZlckZvdXJE
b3VibGUpKTsKKyAgICBFWFBFQ1RfU1RSRVEoIjAuNzg1Mzk4MTg1MjUzMTQzMyIsIHRlc3RTdHJp
bmdOdW1iZXIocGlPdmVyRm91ckZsb2F0KSk7CisKKyAgICBFWFBFQ1RfU1RSRVEoIjIuNzE4Mjgx
ODI4NDU5MDQ1IiwgdGVzdFN0cmluZ051bWJlcigyLjcxODI4MTgyODQ1OTA0NTIzNTM2MDI4NzQ3
MTM1MjY2MjQ5Nzc1NzI0NzA5MzY5OTk1KSk7CisKKyAgICBFWFBFQ1RfU1RSRVEoIjI5OTc5MjQ1
OCIsIHRlc3RTdHJpbmdOdW1iZXIoMjk5NzkyNDU4KSk7CisKKyAgICBFWFBFQ1RfU1RSRVEoIjEu
NjE4MDMzOTg4NzQ5ODk1IiwgdGVzdFN0cmluZ051bWJlcigxLjYxODAzMzk4ODc0OTg5NDg0ODIp
KTsKKworICAgIEVYUEVDVF9TVFJFUSgiMTAwMCIsIHRlc3RTdHJpbmdOdW1iZXIoMWUzKSk7Cisg
ICAgRVhQRUNUX1NUUkVRKCIxMDAwMDAwMDAwMCIsIHRlc3RTdHJpbmdOdW1iZXIoMWUxMCkpOwor
ICAgIEVYUEVDVF9TVFJFUSgiMTAwMDAwMDAwMDAwMDAwMDAwMDAwIiwgdGVzdFN0cmluZ051bWJl
cigxZTIwKSk7CisgICAgRVhQRUNUX1NUUkVRKCIxZSsyMSIsIHRlc3RTdHJpbmdOdW1iZXIoMWUy
MSkpOworICAgIEVYUEVDVF9TVFJFUSgiMWUrMzAiLCB0ZXN0U3RyaW5nTnVtYmVyKDFlMzApKTsK
KworICAgIEVYUEVDVF9TVFJFUSgiMTEwMCIsIHRlc3RTdHJpbmdOdW1iZXIoMS4xZTMpKTsKKyAg
ICBFWFBFQ1RfU1RSRVEoIjExMDAwMDAwMDAwIiwgdGVzdFN0cmluZ051bWJlcigxLjFlMTApKTsK
KyAgICBFWFBFQ1RfU1RSRVEoIjExMDAwMDAwMDAwMDAwMDAwMDAwMCIsIHRlc3RTdHJpbmdOdW1i
ZXIoMS4xZTIwKSk7CisgICAgRVhQRUNUX1NUUkVRKCIxLjFlKzIxIiwgdGVzdFN0cmluZ051bWJl
cigxLjFlMjEpKTsKKyAgICBFWFBFQ1RfU1RSRVEoIjEuMWUrMzAiLCB0ZXN0U3RyaW5nTnVtYmVy
KDEuMWUzMCkpOwogfQogCiBURVNUKFdURiwgU3RyaW5nUmVwbGFjZVdpdGhMaXRlcmFsKQogewog
ICAgIC8vIENhc2VzIGZvciA4Qml0IHNvdXJjZS4KICAgICBTdHJpbmcgdGVzdFN0cmluZyA9ICIx
MjI0IjsKLSAgICBBU1NFUlRfVFJVRSh0ZXN0U3RyaW5nLmlzOEJpdCgpKTsKKyAgICBFWFBFQ1Rf
VFJVRSh0ZXN0U3RyaW5nLmlzOEJpdCgpKTsKICAgICB0ZXN0U3RyaW5nLnJlcGxhY2VXaXRoTGl0
ZXJhbCgnMicsICIiKTsKLSAgICBBU1NFUlRfU1RSRVEoIjE0IiwgdGVzdFN0cmluZy51dGY4KCku
ZGF0YSgpKTsKKyAgICBFWFBFQ1RfU1RSRVEoIjE0IiwgdGVzdFN0cmluZy51dGY4KCkuZGF0YSgp
KTsKIAogICAgIHRlc3RTdHJpbmcgPSAiMTIyNCI7Ci0gICAgQVNTRVJUX1RSVUUodGVzdFN0cmlu
Zy5pczhCaXQoKSk7CisgICAgRVhQRUNUX1RSVUUodGVzdFN0cmluZy5pczhCaXQoKSk7CiAgICAg
dGVzdFN0cmluZy5yZXBsYWNlV2l0aExpdGVyYWwoJzInLCAiMyIpOwotICAgIEFTU0VSVF9TVFJF
USgiMTMzNCIsIHRlc3RTdHJpbmcudXRmOCgpLmRhdGEoKSk7CisgICAgRVhQRUNUX1NUUkVRKCIx
MzM0IiwgdGVzdFN0cmluZy51dGY4KCkuZGF0YSgpKTsKIAogICAgIHRlc3RTdHJpbmcgPSAiMTIy
NCI7Ci0gICAgQVNTRVJUX1RSVUUodGVzdFN0cmluZy5pczhCaXQoKSk7CisgICAgRVhQRUNUX1RS
VUUodGVzdFN0cmluZy5pczhCaXQoKSk7CiAgICAgdGVzdFN0cmluZy5yZXBsYWNlV2l0aExpdGVy
YWwoJzInLCAiNTU1Iik7Ci0gICAgQVNTRVJUX1NUUkVRKCIxNTU1NTU1NCIsIHRlc3RTdHJpbmcu
dXRmOCgpLmRhdGEoKSk7CisgICAgRVhQRUNUX1NUUkVRKCIxNTU1NTU1NCIsIHRlc3RTdHJpbmcu
dXRmOCgpLmRhdGEoKSk7CiAKICAgICB0ZXN0U3RyaW5nID0gIjEyMjQiOwotICAgIEFTU0VSVF9U
UlVFKHRlc3RTdHJpbmcuaXM4Qml0KCkpOworICAgIEVYUEVDVF9UUlVFKHRlc3RTdHJpbmcuaXM4
Qml0KCkpOwogICAgIHRlc3RTdHJpbmcucmVwbGFjZVdpdGhMaXRlcmFsKCczJywgIk5vdEZvdW5k
Iik7Ci0gICAgQVNTRVJUX1NUUkVRKCIxMjI0IiwgdGVzdFN0cmluZy51dGY4KCkuZGF0YSgpKTsK
KyAgICBFWFBFQ1RfU1RSRVEoIjEyMjQiLCB0ZXN0U3RyaW5nLnV0ZjgoKS5kYXRhKCkpOwogCiAg
ICAgLy8gQ2FzZXMgZm9yIDE2Qml0IHNvdXJjZS4KICAgICB0ZXN0U3RyaW5nID0gU3RyaW5nOjpm
cm9tVVRGOCgicsOpc3Vtw6kiKTsKLSAgICBBU1NFUlRfRkFMU0UodGVzdFN0cmluZy5pczhCaXQo
KSk7CisgICAgRVhQRUNUX0ZBTFNFKHRlc3RTdHJpbmcuaXM4Qml0KCkpOwogICAgIHRlc3RTdHJp
bmcucmVwbGFjZVdpdGhMaXRlcmFsKFVDaGFyKDB4MDBFOSAvKlUrMDBFOSBpcyAnw6knKi8pLCAi
ZSIpOwotICAgIEFTU0VSVF9TVFJFUSgicmVzdW1lIiwgdGVzdFN0cmluZy51dGY4KCkuZGF0YSgp
KTsKKyAgICBFWFBFQ1RfU1RSRVEoInJlc3VtZSIsIHRlc3RTdHJpbmcudXRmOCgpLmRhdGEoKSk7
CiAKICAgICB0ZXN0U3RyaW5nID0gU3RyaW5nOjpmcm9tVVRGOCgicsOpc3Vtw6kiKTsKLSAgICBB
U1NFUlRfRkFMU0UodGVzdFN0cmluZy5pczhCaXQoKSk7CisgICAgRVhQRUNUX0ZBTFNFKHRlc3RT
dHJpbmcuaXM4Qml0KCkpOwogICAgIHRlc3RTdHJpbmcucmVwbGFjZVdpdGhMaXRlcmFsKFVDaGFy
KDB4MDBFOSAvKlUrMDBFOSBpcyAnw6knKi8pLCAiIik7Ci0gICAgQVNTRVJUX1NUUkVRKCJyc3Vt
IiwgdGVzdFN0cmluZy51dGY4KCkuZGF0YSgpKTsKKyAgICBFWFBFQ1RfU1RSRVEoInJzdW0iLCB0
ZXN0U3RyaW5nLnV0ZjgoKS5kYXRhKCkpOwogCiAgICAgdGVzdFN0cmluZyA9IFN0cmluZzo6ZnJv
bVVURjgoInLDqXN1bcOpIik7Ci0gICAgQVNTRVJUX0ZBTFNFKHRlc3RTdHJpbmcuaXM4Qml0KCkp
OworICAgIEVYUEVDVF9GQUxTRSh0ZXN0U3RyaW5nLmlzOEJpdCgpKTsKICAgICB0ZXN0U3RyaW5n
LnJlcGxhY2VXaXRoTGl0ZXJhbCgnMycsICJOb3RGb3VuZCIpOwotICAgIEFTU0VSVF9TVFJFUSgi
csOpc3Vtw6kiLCB0ZXN0U3RyaW5nLnV0ZjgoKS5kYXRhKCkpOworICAgIEVYUEVDVF9TVFJFUSgi
csOpc3Vtw6kiLCB0ZXN0U3RyaW5nLnV0ZjgoKS5kYXRhKCkpOwogfQogCiBURVNUKFdURiwgU3Ry
aW5nSXNvbGF0ZWRDb3B5KQogewogICAgIFN0cmluZyBvcmlnaW5hbCA9ICIxMjM0IjsKICAgICBh
dXRvIGNvcHkgPSBXVEZNb3ZlKG9yaWdpbmFsKS5pc29sYXRlZENvcHkoKTsKLSAgICBBU1NFUlRf
RkFMU0Uob3JpZ2luYWwuaW1wbCgpID09IGNvcHkuaW1wbCgpKTsKKyAgICBFWFBFQ1RfRkFMU0Uo
b3JpZ2luYWwuaW1wbCgpID09IGNvcHkuaW1wbCgpKTsKIH0KIAogVEVTVChXVEYsIFN0cmluZ1Rv
SW50KQpAQCAtMjg1LDMzICszODMsMzMgQEAgVEVTVChXVEYsIFN0cmluZ2hhc0luZml4U3RhcnRp
bmdBdCkKIFRFU1QoV1RGLCBTdHJpbmdFeGlzdGluZ0hhc2gpCiB7CiAgICAgU3RyaW5nIHN0cmlu
ZzEoIlRlbXBsYXRlIExpdGVyYWwiKTsKLSAgICBBU1NFUlRfRkFMU0Uoc3RyaW5nMS5pc051bGwo
KSk7Ci0gICAgQVNTRVJUX0ZBTFNFKHN0cmluZzEuaW1wbCgpLT5oYXNIYXNoKCkpOworICAgIEVY
UEVDVF9GQUxTRShzdHJpbmcxLmlzTnVsbCgpKTsKKyAgICBFWFBFQ1RfRkFMU0Uoc3RyaW5nMS5p
bXBsKCktPmhhc0hhc2goKSk7CiAgICAgc3RyaW5nMS5pbXBsKCktPmhhc2goKTsKLSAgICBBU1NF
UlRfRVEoc3RyaW5nMS5leGlzdGluZ0hhc2goKSwgc3RyaW5nMS5pbXBsKCktPmV4aXN0aW5nSGFz
aCgpKTsKKyAgICBFWFBFQ1RfRVEoc3RyaW5nMS5leGlzdGluZ0hhc2goKSwgc3RyaW5nMS5pbXBs
KCktPmV4aXN0aW5nSGFzaCgpKTsKICAgICBTdHJpbmcgc3RyaW5nMjsKLSAgICBBU1NFUlRfRVEo
c3RyaW5nMi5leGlzdGluZ0hhc2goKSwgMHUpOworICAgIEVYUEVDVF9FUShzdHJpbmcyLmV4aXN0
aW5nSGFzaCgpLCAwdSk7CiB9CiAKIFRFU1QoV1RGLCBTdHJpbmdVbmljb2RlRXF1YWxVQ2hhckFy
cmF5KQogewogICAgIFN0cmluZyBzdHJpbmcxKCJhYmMiKTsKLSAgICBBU1NFUlRfRkFMU0Uoc3Ry
aW5nMS5pc051bGwoKSk7Ci0gICAgQVNTRVJUX1RSVUUoc3RyaW5nMS5pczhCaXQoKSk7CisgICAg
RVhQRUNUX0ZBTFNFKHN0cmluZzEuaXNOdWxsKCkpOworICAgIEVYUEVDVF9UUlVFKHN0cmluZzEu
aXM4Qml0KCkpOwogICAgIFVDaGFyIGFiW10gPSB7ICdhJywgJ2InIH07CiAgICAgVUNoYXIgYWJj
W10gPSB7ICdhJywgJ2InLCAnYycgfTsKICAgICBVQ2hhciBhYmNkW10gPSB7ICdhJywgJ2InLCAn
YycsICdkJyB9OwogICAgIFVDaGFyIGFCY1tdID0geyAnYScsICdCJywgJ2MnIH07Ci0gICAgQVNT
RVJUX0ZBTFNFKGVxdWFsKHN0cmluZzEsIGFiKSk7Ci0gICAgQVNTRVJUX1RSVUUoZXF1YWwoc3Ry
aW5nMSwgYWJjKSk7Ci0gICAgQVNTRVJUX0ZBTFNFKGVxdWFsKHN0cmluZzEsIGFiY2QpKTsKLSAg
ICBBU1NFUlRfRkFMU0UoZXF1YWwoc3RyaW5nMSwgYUJjKSk7CisgICAgRVhQRUNUX0ZBTFNFKGVx
dWFsKHN0cmluZzEsIGFiKSk7CisgICAgRVhQRUNUX1RSVUUoZXF1YWwoc3RyaW5nMSwgYWJjKSk7
CisgICAgRVhQRUNUX0ZBTFNFKGVxdWFsKHN0cmluZzEsIGFiY2QpKTsKKyAgICBFWFBFQ1RfRkFM
U0UoZXF1YWwoc3RyaW5nMSwgYUJjKSk7CiAKICAgICBTdHJpbmcgc3RyaW5nMihhYmMsIDMpOwot
ICAgIEFTU0VSVF9GQUxTRShlcXVhbChzdHJpbmcyLCBhYikpOwotICAgIEFTU0VSVF9UUlVFKGVx
dWFsKHN0cmluZzIsIGFiYykpOwotICAgIEFTU0VSVF9GQUxTRShlcXVhbChzdHJpbmcyLCBhYmNk
KSk7Ci0gICAgQVNTRVJUX0ZBTFNFKGVxdWFsKHN0cmluZzIsIGFCYykpOworICAgIEVYUEVDVF9G
QUxTRShlcXVhbChzdHJpbmcyLCBhYikpOworICAgIEVYUEVDVF9UUlVFKGVxdWFsKHN0cmluZzIs
IGFiYykpOworICAgIEVYUEVDVF9GQUxTRShlcXVhbChzdHJpbmcyLCBhYmNkKSk7CisgICAgRVhQ
RUNUX0ZBTFNFKGVxdWFsKHN0cmluZzIsIGFCYykpOwogfQogCiBURVNUKFdURiwgU3RyaW5nUmln
aHRCYXNpYykKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvSW5qZWN0ZWRCdW5kbGVQYWdlLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlLmNwcAppbmRleCAxN2JjZmEzYzA1YjI0M2JlZGUw
YjE1ODRlNzFiNWNlZmEwODZhN2UwLi40MjlhMmNmMThiMzgxMmYzNTI0Y2E4Zjg5NmUzZTZjMGEw
ZDZhZmY1IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L0luamVjdGVkQnVuZGxlUGFnZS5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2UuY3BwCkBAIC03NTIsOSArNzUyLDkgQEAgc3Rh
dGljIHZvaWQgZHVtcEZyYW1lU2Nyb2xsUG9zaXRpb24oV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwg
U3RyaW5nQnVpbGRlciYgc3RyaW4KICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmRMaXRlcmFs
KCInICIpOwogICAgIH0KICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZExpdGVyYWwoInNjcm9sbGVk
IHRvICIpOwotICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKFdURjo6U3RyaW5nOjpudW1iZXIoeCkp
OworICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kRUNNQVNjcmlwdE51bWJlcih4KTsKICAgICBzdHJp
bmdCdWlsZGVyLmFwcGVuZCgnLCcpOwotICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKFdURjo6U3Ry
aW5nOjpudW1iZXIoeSkpOworICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kRUNNQVNjcmlwdE51bWJl
cih5KTsKICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgnXG4nKTsKIH0KIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGQ3NzJm
ZmE3NGM5MGI5YTFmM2NkM2E3YmYxNTViMmNkY2E5NzgzOWQuLmEwZDdkMjgzNjExMzZhN2FiNmNh
MWU5MzUwMTFiNDhmOTYzZGI2ZDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxNy0xMC0wOCAg
RGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CisKKyAgICAgICAgRml4IGJ1Z3MgcmVsYXRl
ZCB0byBzZXR0aW5nIHJlZmxlY3RlZCBmbG9hdGluZyBwb2ludCBET00gYXR0cmlidXRlcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MDYxCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2RvbS9I
VE1MUHJvZ3Jlc3NFbGVtZW50L3NldC1wcm9ncmVzcy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dDog
VXBkYXRlZCB0ZXN0IHRvIGV4cGVjdAorICAgICAgICBzZXR0aW5nIEhUTUxQcm9ncmVzc0VsZW1l
bnQubWF4IHRvIDAgdG8gaGF2ZSBubyBlZmZlY3QsIHJhdGhlciB0aGFuIHNldHRpbmcgbWF4IHRv
ICIxIi4KKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MUHJvZ3Jlc3NFbGVtZW50L3NldC1wcm9ncmVz
cy1wcm9wZXJ0aWVzLmh0bWw6IERpdHRvLgorCisgICAgICAgICogcGxhdGZvcm0vaW9zLXdrMi9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvZG9tL3JlZmxlY3Rpb24tZm9ybXMt
ZXhwZWN0ZWQudHh0OgorICAgICAgICBVcGRhdGVkIHRvIGV4cGVjdCBtZXRlciByZWZsZWN0aW9u
IHRlc3RzIHRvIHBhc3MuCisKIDIwMTctMTAtMDggIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBs
ZS5jb20+CiAKICAgICAgICAgU291cmNlQnVmZmVyIHJlbW92ZSB0aHJvd3Mgb3V0IHdheSBtb3Jl
IGNvbnRlbnQgdGhhbiByZXF1ZXN0ZWQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4
IGYxZmEzMmNkYTE0MjgwOWY4YjM5NzBiZDllZTIzZDdiNzJhNDU3OWQuLjMzMjQ4YTdiYjNkMDY0
ODAyMzFiYTEzMGMwZDVhOGQyOGEyOTdkYWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDEzIEBACisyMDE3LTEwLTA4ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxl
LmNvbT4KKworICAgICAgICBGaXggYnVncyByZWxhdGVkIHRvIHNldHRpbmcgcmVmbGVjdGVkIGZs
b2F0aW5nIHBvaW50IERPTSBhdHRyaWJ1dGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgwNjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2RvbS9yZWZsZWN0
aW9uLWZvcm1zLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgVXBkYXRlZCB0byBleHBlY3QgbWV0ZXIg
cmVmbGVjdGlvbiB0ZXN0cyB0byBwYXNzLgorCiAyMDE3LTEwLTA3ICBEYXJpbiBBZGxlciAgPGRh
cmluQGFwcGxlLmNvbT4KIAogICAgICAgICBVcGRhdGUgRG9jdW1lbnQuY3JlYXRlRXZlbnQgZm9y
IHJlY2VudCBET00gc3BlY2lmaWNhdGlvbiBjaGFuZ2VzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9IVE1MUHJvZ3Jlc3NFbGVtZW50L3NldC1wcm9ncmVzcy1wcm9wZXJ0aWVzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvc2V0
LXByb2dyZXNzLXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CmluZGV4IDU5YWQzYjMxNDVhMDIxODE3
ZDMzN2FmYTZmN2I2NDRhZTI3MDEyYmIuLjcxY2ZhZGJkMGZkYjIwMWZkNjEwM2NjZTcwZDQ2YTdk
OGNlM2U1NmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxQcm9ncmVzc0Vs
ZW1lbnQvc2V0LXByb2dyZXNzLXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvc2V0LXByb2dyZXNzLXByb3BlcnRpZXMt
ZXhwZWN0ZWQudHh0CkBAIC0yOCw3ICsyOCw3IEBAIFNldCB2YWx1ZSB0byBOYU4sIHNob3VsZCB0
aHJvdwogUEFTUyBwLnZhbHVlID0gTmFOOyB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUaGUg
cHJvdmlkZWQgdmFsdWUgaXMgbm9uLWZpbml0ZS4KIFNldCB2YWx1ZSB0byBudWxsIGFuZCBtYXgg
dG8gMAogUEFTUyBwLnZhbHVlIGlzIDAKLVBBU1MgcC5tYXggaXMgMQorUEFTUyBwLm1heCBpcyAx
MDAKIFBBU1MgcC5wb3NpdGlvbiBpcyAwCiBTZXQgYXR0cmlidXRlcyB0byB2YWxpZCBudW1iZXJz
CiBQQVNTIHAudmFsdWUgaXMgNQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRN
TFByb2dyZXNzRWxlbWVudC9zZXQtcHJvZ3Jlc3MtcHJvcGVydGllcy5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vSFRNTFByb2dyZXNzRWxlbWVudC9zZXQtcHJvZ3Jlc3MtcHJvcGVydGllcy5o
dG1sCmluZGV4IGUzOWY1MmNlYzI3NTdkMjU3YTI1NTJmYzJhNzEzYjNjNTkyOGFkZjcuLjA2YWE2
NTIxOTZkNzgzZTcxODQ2MjMwNmVkMDkwMmM3NTM1Y2Y4NjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvc2V0LXByb2dyZXNzLXByb3BlcnRpZXMu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MUHJvZ3Jlc3NFbGVtZW50L3NldC1w
cm9ncmVzcy1wcm9wZXJ0aWVzLmh0bWwKQEAgLTQ5LDcgKzQ5LDcgQEAgZGVidWcoIlNldCB2YWx1
ZSB0byBudWxsIGFuZCBtYXggdG8gMCIpOwogcC52YWx1ZSA9IG51bGw7CiBwLm1heCA9IDA7CiBz
aG91bGRCZSgicC52YWx1ZSIsICIwIik7Ci1zaG91bGRCZSgicC5tYXgiLCAiMSIpOworc2hvdWxk
QmUoInAubWF4IiwgIjEwMCIpOwogc2hvdWxkQmUoInAucG9zaXRpb24iLCAiMCIpOwogCiBkZWJ1
ZygiU2V0IGF0dHJpYnV0ZXMgdG8gdmFsaWQgbnVtYmVycyIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2RvbS9yZWZsZWN0aW9u
LWZvcm1zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9kb20vcmVmbGVjdGlvbi1mb3Jtcy1leHBlY3RlZC50eHQKaW5kZXggYzA5
MjhhOWFjNjE3ZGM5YjhlY2NkYmRiOWJhMmY5YzA1NzJjYWVkYy4uNjgxMzliNzRkY2M1MmUyY2Vh
MGI1MWZiYzY2OTNhZmM2YWE5MTQ3MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2RvbS9yZWZsZWN0aW9uLWZvcm1zLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvZG9tL3JlZmxlY3Rpb24tZm9ybXMtZXhwZWN0ZWQudHh0CkBAIC02OTk2LDUwICs2OTk2LDUw
IEBAIFBBU1MgbWV0ZXIudGFiSW5kZXg6IElETCBzZXQgdG8gMjE0NzQ4MzY0NwogUEFTUyBtZXRl
ci50YWJJbmRleDogSURMIHNldCB0byAtMjE0NzQ4MzY0OCAKIFBBU1MgbWV0ZXIudmFsdWU6IHR5
cGVvZiBJREwgYXR0cmlidXRlIAogUEFTUyBtZXRlci52YWx1ZTogSURMIGdldCB3aXRoIERPTSBh
dHRyaWJ1dGUgdW5zZXQgCi1GQUlMIG1ldGVyLnZhbHVlOiBJREwgc2V0IHRvIC0xMDAwMDAwMDAw
MCBhc3NlcnRfZXF1YWxzOiBnZXRBdHRyaWJ1dGUoKSBleHBlY3RlZCAiLTEwMDAwMDAwMDAwIiBi
dXQgZ290ICItMS4wMDAwMGUrMSIKK1BBU1MgbWV0ZXIudmFsdWU6IElETCBzZXQgdG8gLTEwMDAw
MDAwMDAwIAogUEFTUyBtZXRlci52YWx1ZTogSURMIHNldCB0byAtMSAKIFBBU1MgbWV0ZXIudmFs
dWU6IElETCBzZXQgdG8gLTAgCiBQQVNTIG1ldGVyLnZhbHVlOiBJREwgc2V0IHRvIDAgCiBQQVNT
IG1ldGVyLnZhbHVlOiBJREwgc2V0IHRvIDEgCi1GQUlMIG1ldGVyLnZhbHVlOiBJREwgc2V0IHRv
IDEwMDAwMDAwMDAwIGFzc2VydF9lcXVhbHM6IGdldEF0dHJpYnV0ZSgpIGV4cGVjdGVkICIxMDAw
MDAwMDAwMCIgYnV0IGdvdCAiMS4wMDAwMGUrMSIKK1BBU1MgbWV0ZXIudmFsdWU6IElETCBzZXQg
dG8gMTAwMDAwMDAwMDAgCiBQQVNTIG1ldGVyLm1pbjogdHlwZW9mIElETCBhdHRyaWJ1dGUgCiBQ
QVNTIG1ldGVyLm1pbjogSURMIGdldCB3aXRoIERPTSBhdHRyaWJ1dGUgdW5zZXQgCi1GQUlMIG1l
dGVyLm1pbjogSURMIHNldCB0byAtMTAwMDAwMDAwMDAgYXNzZXJ0X2VxdWFsczogZ2V0QXR0cmli
dXRlKCkgZXhwZWN0ZWQgIi0xMDAwMDAwMDAwMCIgYnV0IGdvdCAiLTEuMDAwMDBlKzEiCitQQVNT
IG1ldGVyLm1pbjogSURMIHNldCB0byAtMTAwMDAwMDAwMDAgCiBQQVNTIG1ldGVyLm1pbjogSURM
IHNldCB0byAtMSAKIFBBU1MgbWV0ZXIubWluOiBJREwgc2V0IHRvIC0wIAogUEFTUyBtZXRlci5t
aW46IElETCBzZXQgdG8gMCAKIFBBU1MgbWV0ZXIubWluOiBJREwgc2V0IHRvIDEgCi1GQUlMIG1l
dGVyLm1pbjogSURMIHNldCB0byAxMDAwMDAwMDAwMCBhc3NlcnRfZXF1YWxzOiBnZXRBdHRyaWJ1
dGUoKSBleHBlY3RlZCAiMTAwMDAwMDAwMDAiIGJ1dCBnb3QgIjEuMDAwMDBlKzEiCitQQVNTIG1l
dGVyLm1pbjogSURMIHNldCB0byAxMDAwMDAwMDAwMCAKIFBBU1MgbWV0ZXIubWF4OiB0eXBlb2Yg
SURMIGF0dHJpYnV0ZSAKIEZBSUwgbWV0ZXIubWF4OiBJREwgZ2V0IHdpdGggRE9NIGF0dHJpYnV0
ZSB1bnNldCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAwIGJ1dCBnb3QgMQotRkFJTCBtZXRlci5t
YXg6IElETCBzZXQgdG8gLTEwMDAwMDAwMDAwIGFzc2VydF9lcXVhbHM6IGdldEF0dHJpYnV0ZSgp
IGV4cGVjdGVkICItMTAwMDAwMDAwMDAiIGJ1dCBnb3QgIi0xLjAwMDAwZSsxIgorUEFTUyBtZXRl
ci5tYXg6IElETCBzZXQgdG8gLTEwMDAwMDAwMDAwIAogUEFTUyBtZXRlci5tYXg6IElETCBzZXQg
dG8gLTEgCiBQQVNTIG1ldGVyLm1heDogSURMIHNldCB0byAtMCAKIFBBU1MgbWV0ZXIubWF4OiBJ
REwgc2V0IHRvIDAgCiBQQVNTIG1ldGVyLm1heDogSURMIHNldCB0byAxIAotRkFJTCBtZXRlci5t
YXg6IElETCBzZXQgdG8gMTAwMDAwMDAwMDAgYXNzZXJ0X2VxdWFsczogZ2V0QXR0cmlidXRlKCkg
ZXhwZWN0ZWQgIjEwMDAwMDAwMDAwIiBidXQgZ290ICIxLjAwMDAwZSsxIgorUEFTUyBtZXRlci5t
YXg6IElETCBzZXQgdG8gMTAwMDAwMDAwMDAgCiBQQVNTIG1ldGVyLmxvdzogdHlwZW9mIElETCBh
dHRyaWJ1dGUgCiBQQVNTIG1ldGVyLmxvdzogSURMIGdldCB3aXRoIERPTSBhdHRyaWJ1dGUgdW5z
ZXQgCi1GQUlMIG1ldGVyLmxvdzogSURMIHNldCB0byAtMTAwMDAwMDAwMDAgYXNzZXJ0X2VxdWFs
czogZ2V0QXR0cmlidXRlKCkgZXhwZWN0ZWQgIi0xMDAwMDAwMDAwMCIgYnV0IGdvdCAiLTEuMDAw
MDBlKzEiCitQQVNTIG1ldGVyLmxvdzogSURMIHNldCB0byAtMTAwMDAwMDAwMDAgCiBQQVNTIG1l
dGVyLmxvdzogSURMIHNldCB0byAtMSAKIFBBU1MgbWV0ZXIubG93OiBJREwgc2V0IHRvIC0wIAog
UEFTUyBtZXRlci5sb3c6IElETCBzZXQgdG8gMCAKIFBBU1MgbWV0ZXIubG93OiBJREwgc2V0IHRv
IDEgCi1GQUlMIG1ldGVyLmxvdzogSURMIHNldCB0byAxMDAwMDAwMDAwMCBhc3NlcnRfZXF1YWxz
OiBnZXRBdHRyaWJ1dGUoKSBleHBlY3RlZCAiMTAwMDAwMDAwMDAiIGJ1dCBnb3QgIjEuMDAwMDBl
KzEiCitQQVNTIG1ldGVyLmxvdzogSURMIHNldCB0byAxMDAwMDAwMDAwMCAKIFBBU1MgbWV0ZXIu
aGlnaDogdHlwZW9mIElETCBhdHRyaWJ1dGUgCiBGQUlMIG1ldGVyLmhpZ2g6IElETCBnZXQgd2l0
aCBET00gYXR0cmlidXRlIHVuc2V0IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDAgYnV0IGdvdCAx
Ci1GQUlMIG1ldGVyLmhpZ2g6IElETCBzZXQgdG8gLTEwMDAwMDAwMDAwIGFzc2VydF9lcXVhbHM6
IGdldEF0dHJpYnV0ZSgpIGV4cGVjdGVkICItMTAwMDAwMDAwMDAiIGJ1dCBnb3QgIi0xLjAwMDAw
ZSsxIgorUEFTUyBtZXRlci5oaWdoOiBJREwgc2V0IHRvIC0xMDAwMDAwMDAwMCAKIFBBU1MgbWV0
ZXIuaGlnaDogSURMIHNldCB0byAtMSAKIFBBU1MgbWV0ZXIuaGlnaDogSURMIHNldCB0byAtMCAK
IFBBU1MgbWV0ZXIuaGlnaDogSURMIHNldCB0byAwIAogUEFTUyBtZXRlci5oaWdoOiBJREwgc2V0
IHRvIDEgCi1GQUlMIG1ldGVyLmhpZ2g6IElETCBzZXQgdG8gMTAwMDAwMDAwMDAgYXNzZXJ0X2Vx
dWFsczogZ2V0QXR0cmlidXRlKCkgZXhwZWN0ZWQgIjEwMDAwMDAwMDAwIiBidXQgZ290ICIxLjAw
MDAwZSsxIgorUEFTUyBtZXRlci5oaWdoOiBJREwgc2V0IHRvIDEwMDAwMDAwMDAwIAogUEFTUyBt
ZXRlci5vcHRpbXVtOiB0eXBlb2YgSURMIGF0dHJpYnV0ZSAKIEZBSUwgbWV0ZXIub3B0aW11bTog
SURMIGdldCB3aXRoIERPTSBhdHRyaWJ1dGUgdW5zZXQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQg
MCBidXQgZ290IDAuNQotRkFJTCBtZXRlci5vcHRpbXVtOiBJREwgc2V0IHRvIC0xMDAwMDAwMDAw
MCBhc3NlcnRfZXF1YWxzOiBnZXRBdHRyaWJ1dGUoKSBleHBlY3RlZCAiLTEwMDAwMDAwMDAwIiBi
dXQgZ290ICItMS4wMDAwMGUrMSIKK1BBU1MgbWV0ZXIub3B0aW11bTogSURMIHNldCB0byAtMTAw
MDAwMDAwMDAgCiBQQVNTIG1ldGVyLm9wdGltdW06IElETCBzZXQgdG8gLTEgCiBQQVNTIG1ldGVy
Lm9wdGltdW06IElETCBzZXQgdG8gLTAgCiBQQVNTIG1ldGVyLm9wdGltdW06IElETCBzZXQgdG8g
MCAKIFBBU1MgbWV0ZXIub3B0aW11bTogSURMIHNldCB0byAxIAotRkFJTCBtZXRlci5vcHRpbXVt
OiBJREwgc2V0IHRvIDEwMDAwMDAwMDAwIGFzc2VydF9lcXVhbHM6IGdldEF0dHJpYnV0ZSgpIGV4
cGVjdGVkICIxMDAwMDAwMDAwMCIgYnV0IGdvdCAiMS4wMDAwMGUrMSIKK1BBU1MgbWV0ZXIub3B0
aW11bTogSURMIHNldCB0byAxMDAwMDAwMDAwMCAKIChOb3RlOiBtaXNzaW5nIHRlc3RzIGZvciB0
eXBlcyB0b2tlbmxpc3QsIHNldHRhYmxlIHRva2VubGlzdCwgbGltaXRlZCBkb3VibGUuKQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvZG9tL3JlZmxlY3Rpb24tZm9ybXMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvZG9tL3JlZmxlY3Rpb24tZm9ybXMtZXhwZWN0ZWQudHh0CmluZGV4IDBmNTA0ODYzMWMw
YmI2ODcyNWI4ODdhYjVjZGVkNDQ4MTViYzJhYzEuLmNjODgwZmMxYmJiODU4YTVkNjc2YjlmYzlk
NWViYWFlNWU2NjE1ODQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2RvbS9yZWZsZWN0aW9uLWZvcm1z
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9kb20vcmVmbGVjdGlvbi1mb3Jtcy1leHBlY3Rl
ZC50eHQKQEAgLTI0MjYsNyArMjQyNiw4IEBAIFBBU1MgaW5wdXQubWF4TGVuZ3RoOiBzZXRBdHRy
aWJ1dGUoKSB0byAi77u/NyIKIFBBU1MgaW5wdXQubWF4TGVuZ3RoOiBzZXRBdHRyaWJ1dGUoKSB0
byAiXG43IiAKIFBBU1MgaW5wdXQubWF4TGVuZ3RoOiBzZXRBdHRyaWJ1dGUoKSB0byAiXHI3IiAK
IFBBU1MgaW5wdXQubWF4TGVuZ3RoOiBzZXRBdHRyaWJ1dGUoKSB0byAi4oCoNyIgCi1QQVNTIGlu
cHV0Lm1heExlbmd0aDogc2V0QXR0cmlidXRlKCkgdG8gIuKAqTciIAorUEFTUyBpbnB1dC5tYXhM
ZW5ndGg6IHNldEF0dHJpYnV0ZSgpIHRvICIKKzciIAogUEFTUyBpbnB1dC5tYXhMZW5ndGg6IHNl
dEF0dHJpYnV0ZSgpIHRvICLhmoA3IiAKIFBBU1MgaW5wdXQubWF4TGVuZ3RoOiBzZXRBdHRyaWJ1
dGUoKSB0byAi4aCONyIgCiBQQVNTIGlucHV0Lm1heExlbmd0aDogc2V0QXR0cmlidXRlKCkgdG8g
IuKAgDciIApAQCAtMjUxOSw3ICsyNTIwLDggQEAgUEFTUyBpbnB1dC5taW5MZW5ndGg6IHNldEF0
dHJpYnV0ZSgpIHRvICLvu783IgogUEFTUyBpbnB1dC5taW5MZW5ndGg6IHNldEF0dHJpYnV0ZSgp
IHRvICJcbjciIAogUEFTUyBpbnB1dC5taW5MZW5ndGg6IHNldEF0dHJpYnV0ZSgpIHRvICJccjci
IAogUEFTUyBpbnB1dC5taW5MZW5ndGg6IHNldEF0dHJpYnV0ZSgpIHRvICLigKg3IiAKLVBBU1Mg
aW5wdXQubWluTGVuZ3RoOiBzZXRBdHRyaWJ1dGUoKSB0byAi4oCpNyIgCitQQVNTIGlucHV0Lm1p
bkxlbmd0aDogc2V0QXR0cmlidXRlKCkgdG8gIgorNyIgCiBQQVNTIGlucHV0Lm1pbkxlbmd0aDog
c2V0QXR0cmlidXRlKCkgdG8gIuGagDciIAogUEFTUyBpbnB1dC5taW5MZW5ndGg6IHNldEF0dHJp
YnV0ZSgpIHRvICLhoI43IiAKIFBBU1MgaW5wdXQubWluTGVuZ3RoOiBzZXRBdHRyaWJ1dGUoKSB0
byAi4oCANyIgCkBAIC0yNzczLDcgKzI3NzUsOCBAQCBQQVNTIGlucHV0LnNpemU6IHNldEF0dHJp
YnV0ZSgpIHRvICLvu783IgogUEFTUyBpbnB1dC5zaXplOiBzZXRBdHRyaWJ1dGUoKSB0byAiXG43
IiAKIFBBU1MgaW5wdXQuc2l6ZTogc2V0QXR0cmlidXRlKCkgdG8gIlxyNyIgCiBQQVNTIGlucHV0
LnNpemU6IHNldEF0dHJpYnV0ZSgpIHRvICLigKg3IiAKLVBBU1MgaW5wdXQuc2l6ZTogc2V0QXR0
cmlidXRlKCkgdG8gIuKAqTciIAorUEFTUyBpbnB1dC5zaXplOiBzZXRBdHRyaWJ1dGUoKSB0byAi
Cis3IiAKIFBBU1MgaW5wdXQuc2l6ZTogc2V0QXR0cmlidXRlKCkgdG8gIuGagDciIAogUEFTUyBp
bnB1dC5zaXplOiBzZXRBdHRyaWJ1dGUoKSB0byAi4aCONyIgCiBQQVNTIGlucHV0LnNpemU6IHNl
dEF0dHJpYnV0ZSgpIHRvICLigIA3IiAKQEAgLTQzNTgsNyArNDM2MSw4IEBAIFBBU1Mgc2VsZWN0
LnNpemU6IHNldEF0dHJpYnV0ZSgpIHRvICLvu783IgogUEFTUyBzZWxlY3Quc2l6ZTogc2V0QXR0
cmlidXRlKCkgdG8gIlxuNyIgCiBQQVNTIHNlbGVjdC5zaXplOiBzZXRBdHRyaWJ1dGUoKSB0byAi
XHI3IiAKIFBBU1Mgc2VsZWN0LnNpemU6IHNldEF0dHJpYnV0ZSgpIHRvICLigKg3IiAKLVBBU1Mg
c2VsZWN0LnNpemU6IHNldEF0dHJpYnV0ZSgpIHRvICLigKk3IiAKK1BBU1Mgc2VsZWN0LnNpemU6
IHNldEF0dHJpYnV0ZSgpIHRvICIKKzciIAogUEFTUyBzZWxlY3Quc2l6ZTogc2V0QXR0cmlidXRl
KCkgdG8gIuGagDciIAogUEFTUyBzZWxlY3Quc2l6ZTogc2V0QXR0cmlidXRlKCkgdG8gIuGgjjci
IAogUEFTUyBzZWxlY3Quc2l6ZTogc2V0QXR0cmlidXRlKCkgdG8gIuKAgDciIApAQCAtNTYyMiw3
ICs1NjI2LDggQEAgUEFTUyB0ZXh0YXJlYS5jb2xzOiBzZXRBdHRyaWJ1dGUoKSB0byAi77u/NyIK
IFBBU1MgdGV4dGFyZWEuY29sczogc2V0QXR0cmlidXRlKCkgdG8gIlxuNyIgCiBQQVNTIHRleHRh
cmVhLmNvbHM6IHNldEF0dHJpYnV0ZSgpIHRvICJccjciIAogUEFTUyB0ZXh0YXJlYS5jb2xzOiBz
ZXRBdHRyaWJ1dGUoKSB0byAi4oCoNyIgCi1QQVNTIHRleHRhcmVhLmNvbHM6IHNldEF0dHJpYnV0
ZSgpIHRvICLigKk3IiAKK1BBU1MgdGV4dGFyZWEuY29sczogc2V0QXR0cmlidXRlKCkgdG8gIgor
NyIgCiBQQVNTIHRleHRhcmVhLmNvbHM6IHNldEF0dHJpYnV0ZSgpIHRvICLhmoA3IiAKIFBBU1Mg
dGV4dGFyZWEuY29sczogc2V0QXR0cmlidXRlKCkgdG8gIuGgjjciIAogUEFTUyB0ZXh0YXJlYS5j
b2xzOiBzZXRBdHRyaWJ1dGUoKSB0byAi4oCANyIgCkBAIC01OTA2LDcgKzU5MTEsOCBAQCBQQVNT
IHRleHRhcmVhLm1heExlbmd0aDogc2V0QXR0cmlidXRlKCkgdG8gIu+7vzciCiBQQVNTIHRleHRh
cmVhLm1heExlbmd0aDogc2V0QXR0cmlidXRlKCkgdG8gIlxuNyIgCiBQQVNTIHRleHRhcmVhLm1h
eExlbmd0aDogc2V0QXR0cmlidXRlKCkgdG8gIlxyNyIgCiBQQVNTIHRleHRhcmVhLm1heExlbmd0
aDogc2V0QXR0cmlidXRlKCkgdG8gIuKAqDciIAotUEFTUyB0ZXh0YXJlYS5tYXhMZW5ndGg6IHNl
dEF0dHJpYnV0ZSgpIHRvICLigKk3IiAKK1BBU1MgdGV4dGFyZWEubWF4TGVuZ3RoOiBzZXRBdHRy
aWJ1dGUoKSB0byAiCis3IiAKIFBBU1MgdGV4dGFyZWEubWF4TGVuZ3RoOiBzZXRBdHRyaWJ1dGUo
KSB0byAi4ZqANyIgCiBQQVNTIHRleHRhcmVhLm1heExlbmd0aDogc2V0QXR0cmlidXRlKCkgdG8g
IuGgjjciIAogUEFTUyB0ZXh0YXJlYS5tYXhMZW5ndGg6IHNldEF0dHJpYnV0ZSgpIHRvICLigIA3
IiAKQEAgLTU5NjcsNyArNTk3Myw4IEBAIFBBU1MgdGV4dGFyZWEubWluTGVuZ3RoOiBzZXRBdHRy
aWJ1dGUoKSB0byAi77u/NyIKIFBBU1MgdGV4dGFyZWEubWluTGVuZ3RoOiBzZXRBdHRyaWJ1dGUo
KSB0byAiXG43IiAKIFBBU1MgdGV4dGFyZWEubWluTGVuZ3RoOiBzZXRBdHRyaWJ1dGUoKSB0byAi
XHI3IiAKIFBBU1MgdGV4dGFyZWEubWluTGVuZ3RoOiBzZXRBdHRyaWJ1dGUoKSB0byAi4oCoNyIg
Ci1QQVNTIHRleHRhcmVhLm1pbkxlbmd0aDogc2V0QXR0cmlidXRlKCkgdG8gIuKAqTciIAorUEFT
UyB0ZXh0YXJlYS5taW5MZW5ndGg6IHNldEF0dHJpYnV0ZSgpIHRvICIKKzciIAogUEFTUyB0ZXh0
YXJlYS5taW5MZW5ndGg6IHNldEF0dHJpYnV0ZSgpIHRvICLhmoA3IiAKIFBBU1MgdGV4dGFyZWEu
bWluTGVuZ3RoOiBzZXRBdHRyaWJ1dGUoKSB0byAi4aCONyIgCiBQQVNTIHRleHRhcmVhLm1pbkxl
bmd0aDogc2V0QXR0cmlidXRlKCkgdG8gIuKAgDciIApAQCAtNjE1Niw3ICs2MTYzLDggQEAgUEFT
UyB0ZXh0YXJlYS5yb3dzOiBzZXRBdHRyaWJ1dGUoKSB0byAi77u/NyIKIFBBU1MgdGV4dGFyZWEu
cm93czogc2V0QXR0cmlidXRlKCkgdG8gIlxuNyIgCiBQQVNTIHRleHRhcmVhLnJvd3M6IHNldEF0
dHJpYnV0ZSgpIHRvICJccjciIAogUEFTUyB0ZXh0YXJlYS5yb3dzOiBzZXRBdHRyaWJ1dGUoKSB0
byAi4oCoNyIgCi1QQVNTIHRleHRhcmVhLnJvd3M6IHNldEF0dHJpYnV0ZSgpIHRvICLigKk3IiAK
K1BBU1MgdGV4dGFyZWEucm93czogc2V0QXR0cmlidXRlKCkgdG8gIgorNyIgCiBQQVNTIHRleHRh
cmVhLnJvd3M6IHNldEF0dHJpYnV0ZSgpIHRvICLhmoA3IiAKIFBBU1MgdGV4dGFyZWEucm93czog
c2V0QXR0cmlidXRlKCkgdG8gIuGgjjciIAogUEFTUyB0ZXh0YXJlYS5yb3dzOiBzZXRBdHRyaWJ1
dGUoKSB0byAi4oCANyIgCkBAIC02OTk0LDUyICs3MDAyLDUyIEBAIFBBU1MgbWV0ZXIudGFiSW5k
ZXg6IElETCBzZXQgdG8gMAogUEFTUyBtZXRlci50YWJJbmRleDogSURMIHNldCB0byAxIAogUEFT
UyBtZXRlci50YWJJbmRleDogSURMIHNldCB0byAyMTQ3NDgzNjQ3IAogUEFTUyBtZXRlci50YWJJ
bmRleDogSURMIHNldCB0byAtMjE0NzQ4MzY0OCAKLVBBU1MgbWV0ZXIudmFsdWU6IHR5cGVvZiBJ
REwgYXR0cmlidXRlIAotUEFTUyBtZXRlci52YWx1ZTogSURMIGdldCB3aXRoIERPTSBhdHRyaWJ1
dGUgdW5zZXQgCi1GQUlMIG1ldGVyLnZhbHVlOiBJREwgc2V0IHRvIC0xMDAwMDAwMDAwMCBhc3Nl
cnRfZXF1YWxzOiBnZXRBdHRyaWJ1dGUoKSBleHBlY3RlZCAiLTEwMDAwMDAwMDAwIiBidXQgZ290
ICItMS4wMDAwMGUrMSIKLVBBU1MgbWV0ZXIudmFsdWU6IElETCBzZXQgdG8gLTEgCi1QQVNTIG1l
dGVyLnZhbHVlOiBJREwgc2V0IHRvIC0wIAotUEFTUyBtZXRlci52YWx1ZTogSURMIHNldCB0byAw
IAotUEFTUyBtZXRlci52YWx1ZTogSURMIHNldCB0byAxIAotRkFJTCBtZXRlci52YWx1ZTogSURM
IHNldCB0byAxMDAwMDAwMDAwMCBhc3NlcnRfZXF1YWxzOiBnZXRBdHRyaWJ1dGUoKSBleHBlY3Rl
ZCAiMTAwMDAwMDAwMDAiIGJ1dCBnb3QgIjEuMDAwMDBlKzEiCi1QQVNTIG1ldGVyLm1pbjogdHlw
ZW9mIElETCBhdHRyaWJ1dGUgCi1QQVNTIG1ldGVyLm1pbjogSURMIGdldCB3aXRoIERPTSBhdHRy
aWJ1dGUgdW5zZXQgCi1GQUlMIG1ldGVyLm1pbjogSURMIHNldCB0byAtMTAwMDAwMDAwMDAgYXNz
ZXJ0X2VxdWFsczogZ2V0QXR0cmlidXRlKCkgZXhwZWN0ZWQgIi0xMDAwMDAwMDAwMCIgYnV0IGdv
dCAiLTEuMDAwMDBlKzEiCi1QQVNTIG1ldGVyLm1pbjogSURMIHNldCB0byAtMSAKLVBBU1MgbWV0
ZXIubWluOiBJREwgc2V0IHRvIC0wIAotUEFTUyBtZXRlci5taW46IElETCBzZXQgdG8gMCAKLVBB
U1MgbWV0ZXIubWluOiBJREwgc2V0IHRvIDEgCi1GQUlMIG1ldGVyLm1pbjogSURMIHNldCB0byAx
MDAwMDAwMDAwMCBhc3NlcnRfZXF1YWxzOiBnZXRBdHRyaWJ1dGUoKSBleHBlY3RlZCAiMTAwMDAw
MDAwMDAiIGJ1dCBnb3QgIjEuMDAwMDBlKzEiCi1QQVNTIG1ldGVyLm1heDogdHlwZW9mIElETCBh
dHRyaWJ1dGUgCitQQVNTIG1ldGVyLnZhbHVlOiB0eXBlb2YgSURMIGF0dHJpYnV0ZQorUEFTUyBt
ZXRlci52YWx1ZTogSURMIGdldCB3aXRoIERPTSBhdHRyaWJ1dGUgdW5zZXQKK1BBU1MgbWV0ZXIu
dmFsdWU6IElETCBzZXQgdG8gLTEwMDAwMDAwMDAwCitQQVNTIG1ldGVyLnZhbHVlOiBJREwgc2V0
IHRvIC0xCitQQVNTIG1ldGVyLnZhbHVlOiBJREwgc2V0IHRvIC0wCitQQVNTIG1ldGVyLnZhbHVl
OiBJREwgc2V0IHRvIDAKK1BBU1MgbWV0ZXIudmFsdWU6IElETCBzZXQgdG8gMQorUEFTUyBtZXRl
ci52YWx1ZTogSURMIHNldCB0byAxMDAwMDAwMDAwMAorUEFTUyBtZXRlci5taW46IHR5cGVvZiBJ
REwgYXR0cmlidXRlCitQQVNTIG1ldGVyLm1pbjogSURMIGdldCB3aXRoIERPTSBhdHRyaWJ1dGUg
dW5zZXQKK1BBU1MgbWV0ZXIubWluOiBJREwgc2V0IHRvIC0xMDAwMDAwMDAwMAorUEFTUyBtZXRl
ci5taW46IElETCBzZXQgdG8gLTEKK1BBU1MgbWV0ZXIubWluOiBJREwgc2V0IHRvIC0wCitQQVNT
IG1ldGVyLm1pbjogSURMIHNldCB0byAwCitQQVNTIG1ldGVyLm1pbjogSURMIHNldCB0byAxCitQ
QVNTIG1ldGVyLm1pbjogSURMIHNldCB0byAxMDAwMDAwMDAwMAorUEFTUyBtZXRlci5tYXg6IHR5
cGVvZiBJREwgYXR0cmlidXRlCiBGQUlMIG1ldGVyLm1heDogSURMIGdldCB3aXRoIERPTSBhdHRy
aWJ1dGUgdW5zZXQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMCBidXQgZ290IDEKLUZBSUwgbWV0
ZXIubWF4OiBJREwgc2V0IHRvIC0xMDAwMDAwMDAwMCBhc3NlcnRfZXF1YWxzOiBnZXRBdHRyaWJ1
dGUoKSBleHBlY3RlZCAiLTEwMDAwMDAwMDAwIiBidXQgZ290ICItMS4wMDAwMGUrMSIKLVBBU1Mg
bWV0ZXIubWF4OiBJREwgc2V0IHRvIC0xIAotUEFTUyBtZXRlci5tYXg6IElETCBzZXQgdG8gLTAg
Ci1QQVNTIG1ldGVyLm1heDogSURMIHNldCB0byAwIAotUEFTUyBtZXRlci5tYXg6IElETCBzZXQg
dG8gMSAKLUZBSUwgbWV0ZXIubWF4OiBJREwgc2V0IHRvIDEwMDAwMDAwMDAwIGFzc2VydF9lcXVh
bHM6IGdldEF0dHJpYnV0ZSgpIGV4cGVjdGVkICIxMDAwMDAwMDAwMCIgYnV0IGdvdCAiMS4wMDAw
MGUrMSIKLVBBU1MgbWV0ZXIubG93OiB0eXBlb2YgSURMIGF0dHJpYnV0ZSAKLVBBU1MgbWV0ZXIu
bG93OiBJREwgZ2V0IHdpdGggRE9NIGF0dHJpYnV0ZSB1bnNldCAKLUZBSUwgbWV0ZXIubG93OiBJ
REwgc2V0IHRvIC0xMDAwMDAwMDAwMCBhc3NlcnRfZXF1YWxzOiBnZXRBdHRyaWJ1dGUoKSBleHBl
Y3RlZCAiLTEwMDAwMDAwMDAwIiBidXQgZ290ICItMS4wMDAwMGUrMSIKLVBBU1MgbWV0ZXIubG93
OiBJREwgc2V0IHRvIC0xIAotUEFTUyBtZXRlci5sb3c6IElETCBzZXQgdG8gLTAgCi1QQVNTIG1l
dGVyLmxvdzogSURMIHNldCB0byAwIAotUEFTUyBtZXRlci5sb3c6IElETCBzZXQgdG8gMSAKLUZB
SUwgbWV0ZXIubG93OiBJREwgc2V0IHRvIDEwMDAwMDAwMDAwIGFzc2VydF9lcXVhbHM6IGdldEF0
dHJpYnV0ZSgpIGV4cGVjdGVkICIxMDAwMDAwMDAwMCIgYnV0IGdvdCAiMS4wMDAwMGUrMSIKLVBB
U1MgbWV0ZXIuaGlnaDogdHlwZW9mIElETCBhdHRyaWJ1dGUgCitQQVNTIG1ldGVyLm1heDogSURM
IHNldCB0byAtMTAwMDAwMDAwMDAKK1BBU1MgbWV0ZXIubWF4OiBJREwgc2V0IHRvIC0xCitQQVNT
IG1ldGVyLm1heDogSURMIHNldCB0byAtMAorUEFTUyBtZXRlci5tYXg6IElETCBzZXQgdG8gMAor
UEFTUyBtZXRlci5tYXg6IElETCBzZXQgdG8gMQorUEFTUyBtZXRlci5tYXg6IElETCBzZXQgdG8g
MTAwMDAwMDAwMDAKK1BBU1MgbWV0ZXIubG93OiB0eXBlb2YgSURMIGF0dHJpYnV0ZQorUEFTUyBt
ZXRlci5sb3c6IElETCBnZXQgd2l0aCBET00gYXR0cmlidXRlIHVuc2V0CitQQVNTIG1ldGVyLmxv
dzogSURMIHNldCB0byAtMTAwMDAwMDAwMDAKK1BBU1MgbWV0ZXIubG93OiBJREwgc2V0IHRvIC0x
CitQQVNTIG1ldGVyLmxvdzogSURMIHNldCB0byAtMAorUEFTUyBtZXRlci5sb3c6IElETCBzZXQg
dG8gMAorUEFTUyBtZXRlci5sb3c6IElETCBzZXQgdG8gMQorUEFTUyBtZXRlci5sb3c6IElETCBz
ZXQgdG8gMTAwMDAwMDAwMDAKK1BBU1MgbWV0ZXIuaGlnaDogdHlwZW9mIElETCBhdHRyaWJ1dGUK
IEZBSUwgbWV0ZXIuaGlnaDogSURMIGdldCB3aXRoIERPTSBhdHRyaWJ1dGUgdW5zZXQgYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgMCBidXQgZ290IDEKLUZBSUwgbWV0ZXIuaGlnaDogSURMIHNldCB0
byAtMTAwMDAwMDAwMDAgYXNzZXJ0X2VxdWFsczogZ2V0QXR0cmlidXRlKCkgZXhwZWN0ZWQgIi0x
MDAwMDAwMDAwMCIgYnV0IGdvdCAiLTEuMDAwMDBlKzEiCi1QQVNTIG1ldGVyLmhpZ2g6IElETCBz
ZXQgdG8gLTEgCi1QQVNTIG1ldGVyLmhpZ2g6IElETCBzZXQgdG8gLTAgCi1QQVNTIG1ldGVyLmhp
Z2g6IElETCBzZXQgdG8gMCAKLVBBU1MgbWV0ZXIuaGlnaDogSURMIHNldCB0byAxIAotRkFJTCBt
ZXRlci5oaWdoOiBJREwgc2V0IHRvIDEwMDAwMDAwMDAwIGFzc2VydF9lcXVhbHM6IGdldEF0dHJp
YnV0ZSgpIGV4cGVjdGVkICIxMDAwMDAwMDAwMCIgYnV0IGdvdCAiMS4wMDAwMGUrMSIKLVBBU1Mg
bWV0ZXIub3B0aW11bTogdHlwZW9mIElETCBhdHRyaWJ1dGUgCitQQVNTIG1ldGVyLmhpZ2g6IElE
TCBzZXQgdG8gLTEwMDAwMDAwMDAwCitQQVNTIG1ldGVyLmhpZ2g6IElETCBzZXQgdG8gLTEKK1BB
U1MgbWV0ZXIuaGlnaDogSURMIHNldCB0byAtMAorUEFTUyBtZXRlci5oaWdoOiBJREwgc2V0IHRv
IDAKK1BBU1MgbWV0ZXIuaGlnaDogSURMIHNldCB0byAxCitQQVNTIG1ldGVyLmhpZ2g6IElETCBz
ZXQgdG8gMTAwMDAwMDAwMDAKK1BBU1MgbWV0ZXIub3B0aW11bTogdHlwZW9mIElETCBhdHRyaWJ1
dGUKIEZBSUwgbWV0ZXIub3B0aW11bTogSURMIGdldCB3aXRoIERPTSBhdHRyaWJ1dGUgdW5zZXQg
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMCBidXQgZ290IDAuNQotRkFJTCBtZXRlci5vcHRpbXVt
OiBJREwgc2V0IHRvIC0xMDAwMDAwMDAwMCBhc3NlcnRfZXF1YWxzOiBnZXRBdHRyaWJ1dGUoKSBl
eHBlY3RlZCAiLTEwMDAwMDAwMDAwIiBidXQgZ290ICItMS4wMDAwMGUrMSIKLVBBU1MgbWV0ZXIu
b3B0aW11bTogSURMIHNldCB0byAtMSAKLVBBU1MgbWV0ZXIub3B0aW11bTogSURMIHNldCB0byAt
MCAKLVBBU1MgbWV0ZXIub3B0aW11bTogSURMIHNldCB0byAwIAotUEFTUyBtZXRlci5vcHRpbXVt
OiBJREwgc2V0IHRvIDEgCi1GQUlMIG1ldGVyLm9wdGltdW06IElETCBzZXQgdG8gMTAwMDAwMDAw
MDAgYXNzZXJ0X2VxdWFsczogZ2V0QXR0cmlidXRlKCkgZXhwZWN0ZWQgIjEwMDAwMDAwMDAwIiBi
dXQgZ290ICIxLjAwMDAwZSsxIgorUEFTUyBtZXRlci5vcHRpbXVtOiBJREwgc2V0IHRvIC0xMDAw
MDAwMDAwMAorUEFTUyBtZXRlci5vcHRpbXVtOiBJREwgc2V0IHRvIC0xCitQQVNTIG1ldGVyLm9w
dGltdW06IElETCBzZXQgdG8gLTAKK1BBU1MgbWV0ZXIub3B0aW11bTogSURMIHNldCB0byAwCitQ
QVNTIG1ldGVyLm9wdGltdW06IElETCBzZXQgdG8gMQorUEFTUyBtZXRlci5vcHRpbXVtOiBJREwg
c2V0IHRvIDEwMDAwMDAwMDAwCiAoTm90ZTogbWlzc2luZyB0ZXN0cyBmb3IgdHlwZXMgdG9rZW5s
aXN0LCBzZXR0YWJsZSB0b2tlbmxpc3QsIGxpbWl0ZWQgZG91YmxlLikK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>323131</attachid>
            <date>2017-10-08 01:52:50 -0700</date>
            <delta_ts>2017-10-08 15:17:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-178061-20171008015249.patch</filename>
            <type>text/plain</type>
            <size>43684</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIzMDMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDVlMjg2N2NhOGMxNzcwYjI3OGU1ZTFk
ZTYyODYyODNjYTQwMGM5ZGUuLmE3OTU2OWNhMzEyYTk0Yzk1OGU0YjFkMDQ1M2U2ZDg1N2UyMDFl
MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMzggQEAKKzIwMTctMTAtMDggIERhcmluIEFkbGVyICA8ZGFyaW5A
YXBwbGUuY29tPgorCisgICAgICAgIEZpeCBidWdzIHJlbGF0ZWQgdG8gc2V0dGluZyByZWZsZWN0
ZWQgZmxvYXRpbmcgcG9pbnQgRE9NIGF0dHJpYnV0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODA2MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogd3RmL2R0b2EuY3BwOgorICAgICAgICAoV1RGOjpm
b3JtYXRTdHJpbmdUcnVuY2F0aW5nVHJhaWxpbmdaZXJvc0lmTmVlZGVkKTogRml4IGEgYnVnIHdo
ZXJlCisgICAgICAgIHRoaXMgZnVuY3Rpb24gd291bGQgcmVtb3ZlIHRyYWlsaW5nIHplcm9lcyBm
cm9tIHRoZSBleHBvbmVudCBpZgorICAgICAgICBwcmVzZW50IGluc3RlYWQgb2YgZnJvbSB0aGUg
bWFudGlzc2EuIFRoaXMgbWVhbnQgdGhhdCBpdCB3b3VsZAorICAgICAgICBmb3JtYXQgMWUxMCBh
cyAiMS4wMDAwMGUrMSIgaW5zdGVhZCBvZiAiMWUrMTAiLiBBZGRlZCByZWdyZXNzaW9uCisgICAg
ICAgIHRlc3RzIGZvciB0aGlzIHRvIFRlc3RXZWJLaXRBUEkuCisKKyAgICAgICAgKiB3dGYvZHRv
YS91dGlscy5oOgorICAgICAgICAoV1RGOjpkb3VibGVfY29udmVyc2lvbjo6U3RyaW5nQnVpbGRl
cjo6UmVtb3ZlQ2hhcmFjdGVycyk6IEFkZGVkLgorICAgICAgICBVc2VkIGJ5IHRoZSBmaXggYWJv
dmUuCisKKyAgICAgICAgKiB3dGYvdGV4dC9BdG9taWNTdHJpbmcuY3BwOgorICAgICAgICAoV1RG
OjpBdG9taWNTdHJpbmc6Om51bWJlcik6IE5vdGU6IFRoaXMgZnVuY3Rpb24gaXMgdXNlZCBieSBj
b2RlCisgICAgICAgIHRoYXQgc2V0cyB0aGUgdmFsdWVzIG9mIHJlZmxlY3RlZCBmbG9hdGluZyBw
b2ludCBET00gYXR0cmlidXRlcy4KKyAgICAgICAgQ2hhbmdlZCB0aGUgZnVuY3Rpb24gdG8gdXNl
IHRoZSBydWxlcyBmcm9tIG51bWJlclRvU3RyaW5nIHJhdGhlcgorICAgICAgICBvbmVzIGZyb20g
bnVtYmVyVG9GaXhlZFByZWNpc2lvblN0cmluZy4gVGhpcyBpcyBhbmFsb2dvdXMgdG8KKyAgICAg
ICAgU3RyaW5nOjpudW1iZXJUb1N0cmluZ0VDTUFTY3JpcHQsIGFuZCBpbiB0aGUgZnV0dXJlIHdl
IHNob3VsZCBjaGFuZ2UKKyAgICAgICAgU3RyaW5nIGFuZCBTdHJpbmdCdWlsZGVyIHNvIHRoaXMg
IkVDTUFTY3JpcHQiIHNlbWFudGljIGlzIHRoZSBkZWZhdWx0CisgICAgICAgIHdheSB0byBjb252
ZXJ0IGEgZmxvYXRpbmcgcG9pbnQgbnVtYmVyIHRvIGEgc3RyaW5nLCBhbmQgcmVuYW1lIHRoZSBm
aXhlZAorICAgICAgICBwcmVjaXNpb24gdmVyc2lvbiB0aGF0IGlzIGN1cnJlbnRseSBjYWxsZWQg
U3RyaW5nOjpudW1iZXIuIEkgYXVkaXRlZAorICAgICAgICB0aGUgc21hbGwgbnVtYmVyIG9mIHNp
dGVzIGNhbGxpbmcgQXRvbWljU3RyaW5nOjpudW1iZXIsIGJ5IHRlbXBvcmFyaWx5CisgICAgICAg
IHJlbmFtaW5nIGl0LCBhbmQgZGlzY292ZXJlZCB0aGF0IHRoaXMgaXMgdGhlIGNvcnJlY3QgYmVo
YXZpb3IgZm9yIGFsbDsKKyAgICAgICAgbm9uZSBuZWVkZWQgZml4ZWQgcHJlY2lzaW9uLiBBbHNv
LCBmaXhlZCBhIG1pc3Rha2Ugd2hlcmUgdGhpcyBleHBsaWNpdGx5CisgICAgICAgIGNvbnZlcnRl
ZCB0byBTdHJpbmcuIFRoYXQgd2FzIGRlZmVhdGluZyB0aGUgcHVycG9zZSBvZiBoYXZpbmcgdGhl
c2UKKyAgICAgICAgZnVuY3Rpb25zIGluIEF0b21pY1N0cmluZzogSXQgd291bGQgYWxsb2NhdGUg
YSBuZXcgU3RyaW5nIGFuZCB0aGVuCisgICAgICAgIGRlc3Ryb3kgaXQgaW4gdGhlIGNhc2Ugd2hl
cmUgYW4gZXF1YWwgc3RyaW5nIHdhcyBhbHJlYWR5IGluIHRoZQorICAgICAgICBBdG9taWNTdHJp
bmcgdGFibGUuCisKIDIwMTctMTAtMDYgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJr
aXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyMjI3OTEgYW5kIHIy
MjI4NzMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKaW5kZXggOWIyOWVhMThhY2Q1MjkwMDJiNDBjZDU2NzkzOGYwMGJlMmRj
M2Y2ZS4uNzg0YTEzY2I0NWU1M2Q4NmM2MjY5ZDZhNWFkYjU0MGUwYTJhNWMwMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDI4IEBACisyMDE3LTEwLTA4ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxl
LmNvbT4KKworICAgICAgICBGaXggYnVncyByZWxhdGVkIHRvIHNldHRpbmcgcmVmbGVjdGVkIGZs
b2F0aW5nIHBvaW50IERPTSBhdHRyaWJ1dGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgwNjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIGh0bWwvSFRNTFByb2dyZXNzRWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MUHJvZ3Jlc3NFbGVtZW50OjpzZXRWYWx1ZSk6IENoYW5nZWQgdGhl
IHNlbWFudGljcyB0byBtYXRjaCB3aGF0CisgICAgICAgIHRoZSBIVE1MIHNwZWNpZmljYXRpb24g
Y2FsbHMgZm9yLiBXaGVuIGEgY2FsbGVyIHBhc3NlcyBhIG5lZ2F0aXZlIG51bWJlciBvcgorICAg
ICAgICB6ZXJvLCB0aGUgdmFsdWUgZG9lcyBnZXQgc2V0IG9uIHRoZSBlbGVtZW50LiBOZWdhdGl2
ZSBudW1iZXJzIGFyZSBub3QgYWxsb3dlZAorICAgICAgICB3aGVuIHlvdSBnZXQgdGhlIGN1cnJl
bnQgdmFsdWUsIGJ1dCBhcmUgYWxsb3dlZCB0byBiZSBzZXQuCisgICAgICAgIChXZWJDb3JlOjpI
VE1MUHJvZ3Jlc3NFbGVtZW50OjpzZXRNYXgpOiBDaGFuZ2VkIHRoZSBzZW1hbnRpY3MgdG8gbWF0
Y2ggd2hhdAorICAgICAgICB0aGUgSFRNTCBzcGVjaWZpY2F0aW9uIGNhbGxzIGZvci4gV2hlbiBh
IGNhbGxlciBwYXNzZXMgYSBuZWdhdGl2ZSBudW1iZXIgb3IKKyAgICAgICAgemVybywgdGhpcyBz
aG91bGQgbGVhdmUgdGhlIGF0dHJpYnV0ZSB1bmNoYW5nZWQuCisKKyAgICAgICAgKiBodG1sL3No
YWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50VHlwZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFDb250cm9sVm9sdW1lU2xpZGVyRWxlbWVudDo6c2V0Vm9sdW1lKTogVXNlCisgICAgICAgIFN0
cmluZzo6bnVtYmVyVG9TdHJpbmdFQ01BU2NyaXB0IGluc3RlYWQgb2YgU3RyaW5nOjpudW1iZXIg
c2luY2UgdGhhdCBpcyB3aGF0CisgICAgICAgIHdlIHdhbnQgYW55IHRpbWUgd2UgYXJlIHNldHRp
bmcgYW4gYXR0cmlidXRlIHZhbHVlIGZyb20gYSBmbG9hdGluZyBwb2ludCB2YWx1ZS4KKyAgICAg
ICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYUNvbnRyb2xUaW1lbGluZUVsZW1lbnQ6OnNldFBvc2l0aW9uKTogRGl0dG8uCisg
ICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xUaW1lbGluZUVsZW1lbnQ6OnNldER1cmF0aW9u
KTogUmVtb3ZlZCB1bm5lZWRlZCBjaGVjaworICAgICAgICBvZiBzdGQ6OmlzZmluaXRlIHNpbmNl
IHRoZSBzaW5nbGUgY2FsbGVyIGFscmVhZHkgY2hlY2tzIHRoYXQuCisKIDIwMTctMTAtMDggIEpl
ciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgU291cmNlQnVmZmVyIHJl
bW92ZSB0aHJvd3Mgb3V0IHdheSBtb3JlIGNvbnRlbnQgdGhhbiByZXF1ZXN0ZWQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL2R0b2EuY3BwIGIvU291cmNlL1dURi93dGYvZHRvYS5jcHAKaW5k
ZXggODIzYjE2MWIzYWRmYzk1YjQxZDY1NjQ2MjMxNjk3ZDJhODkyZTU0Ny4uOTcyYjI4OTlkZGEz
NzM3MmNjYTRkODljZTU5OTU5Mjk5Zjk3ODRlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYv
ZHRvYS5jcHAKKysrIGIvU291cmNlL1dURi93dGYvZHRvYS5jcHAKQEAgLTMsNyArMyw3IEBACiAg
KiBUaGUgYXV0aG9yIG9mIHRoaXMgc29mdHdhcmUgaXMgRGF2aWQgTS4gR2F5LgogICoKICAqIENv
cHlyaWdodCAoYykgMTk5MSwgMjAwMCwgMjAwMSBieSBMdWNlbnQgVGVjaG5vbG9naWVzLgotICog
Q29weXJpZ2h0IChDKSAyMDAyLCAyMDA1LCAyMDA2LCAyMDA3LCAyMDA4LCAyMDEwLCAyMDEyLCAy
MDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAw
Mi0yMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBQZXJtaXNzaW9u
IHRvIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGZvciBh
bnkKICAqIHB1cnBvc2Ugd2l0aG91dCBmZWUgaXMgaGVyZWJ5IGdyYW50ZWQsIHByb3ZpZGVkIHRo
YXQgdGhpcyBlbnRpcmUgbm90aWNlCkBAIC0xMjI3LDcgKzEyMjcsNyBAQCB2b2lkIGR0b2FSb3Vu
ZERQKER0b2FCdWZmZXIgcmVzdWx0LCBkb3VibGUgZGQsIGludCBuZGlnaXRzLCBib29sJiBzaWdu
LCBpbnQmIGV4cAogY29uc3QgY2hhciogbnVtYmVyVG9TdHJpbmcoZG91YmxlIGQsIE51bWJlclRv
U3RyaW5nQnVmZmVyIGJ1ZmZlcikKIHsKICAgICBkb3VibGVfY29udmVyc2lvbjo6U3RyaW5nQnVp
bGRlciBidWlsZGVyKGJ1ZmZlciwgTnVtYmVyVG9TdHJpbmdCdWZmZXJMZW5ndGgpOwotICAgIGNv
bnN0IGRvdWJsZV9jb252ZXJzaW9uOjpEb3VibGVUb1N0cmluZ0NvbnZlcnRlciYgY29udmVydGVy
ID0gZG91YmxlX2NvbnZlcnNpb246OkRvdWJsZVRvU3RyaW5nQ29udmVydGVyOjpFY21hU2NyaXB0
Q29udmVydGVyKCk7CisgICAgYXV0byYgY29udmVydGVyID0gZG91YmxlX2NvbnZlcnNpb246OkRv
dWJsZVRvU3RyaW5nQ29udmVydGVyOjpFY21hU2NyaXB0Q29udmVydGVyKCk7CiAgICAgY29udmVy
dGVyLlRvU2hvcnRlc3QoZCwgJmJ1aWxkZXIpOwogICAgIHJldHVybiBidWlsZGVyLkZpbmFsaXpl
KCk7CiB9CkBAIC0xMjQxLDI4ICsxMjQxLDMyIEBAIHN0YXRpYyBpbmxpbmUgY29uc3QgY2hhciog
Zm9ybWF0U3RyaW5nVHJ1bmNhdGluZ1RyYWlsaW5nWmVyb3NJZk5lZWRlZChOdW1iZXJUb1N0CiAg
ICAgICAgICAgICBicmVhazsKICAgICB9CiAKLSAgICAvLyBObyBkZWNpbWFsIHNlcGVyYXRvciBm
b3VuZCwgZWFybHkgZXhpdC4KKyAgICAvLyBObyBkZWNpbWFsIHNlcGFyYXRvciBmb3VuZCwgZWFy
bHkgZXhpdC4KICAgICBpZiAoZGVjaW1hbFBvaW50UG9zaXRpb24gPT0gbGVuZ3RoKQogICAgICAg
ICByZXR1cm4gYnVpbGRlci5GaW5hbGl6ZSgpOwogCi0gICAgc2l6ZV90IHRydW5jYXRlZExlbmd0
aCA9IGxlbmd0aCAtIDE7Ci0gICAgZm9yICg7IHRydW5jYXRlZExlbmd0aCA+IGRlY2ltYWxQb2lu
dFBvc2l0aW9uOyAtLXRydW5jYXRlZExlbmd0aCkgewotICAgICAgICBpZiAoYnVmZmVyW3RydW5j
YXRlZExlbmd0aF0gIT0gJzAnKQorICAgIHNpemVfdCBwYXN0TWFudGlzc2EgPSBkZWNpbWFsUG9p
bnRQb3NpdGlvbiArIDE7CisgICAgZm9yICg7IHBhc3RNYW50aXNzYSA8IGxlbmd0aDsgKytwYXN0
TWFudGlzc2EpIHsKKyAgICAgICAgaWYgKGJ1ZmZlcltwYXN0TWFudGlzc2FdID09ICdlJykKKyAg
ICAgICAgICAgIGJyZWFrOworICAgIH0KKworICAgIHNpemVfdCB0cnVuY2F0ZWRMZW5ndGggPSBw
YXN0TWFudGlzc2E7CisgICAgZm9yICg7IHRydW5jYXRlZExlbmd0aCA+IGRlY2ltYWxQb2ludFBv
c2l0aW9uICsgMTsgLS10cnVuY2F0ZWRMZW5ndGgpIHsKKyAgICAgICAgaWYgKGJ1ZmZlclt0cnVu
Y2F0ZWRMZW5ndGggLSAxXSAhPSAnMCcpCiAgICAgICAgICAgICBicmVhazsKICAgICB9CiAKICAg
ICAvLyBObyB0cmFpbGluZyB6ZXJvcyBmb3VuZCB0byBzdHJpcC4KLSAgICBpZiAodHJ1bmNhdGVk
TGVuZ3RoID09IGxlbmd0aCAtIDEpCisgICAgaWYgKHRydW5jYXRlZExlbmd0aCA9PSBwYXN0TWFu
dGlzc2EpCiAgICAgICAgIHJldHVybiBidWlsZGVyLkZpbmFsaXplKCk7CiAKICAgICAvLyBJZiB3
ZSByZW1vdmVkIGFsbCB0cmFpbGluZyB6ZXJvcywgcmVtb3ZlIHRoZSBkZWNpbWFsIHBvaW50IGFz
IHdlbGwuCi0gICAgaWYgKHRydW5jYXRlZExlbmd0aCA9PSBkZWNpbWFsUG9pbnRQb3NpdGlvbikg
ewotICAgICAgICBBU1NFUlQodHJ1bmNhdGVkTGVuZ3RoID4gMCk7Ci0gICAgICAgIC0tdHJ1bmNh
dGVkTGVuZ3RoOwotICAgIH0KKyAgICBpZiAodHJ1bmNhdGVkTGVuZ3RoID09IGRlY2ltYWxQb2lu
dFBvc2l0aW9uICsgMSkKKyAgICAgICAgdHJ1bmNhdGVkTGVuZ3RoID0gZGVjaW1hbFBvaW50UG9z
aXRpb247CiAKLSAgICAvLyBUcnVuY2F0ZSB0aGUgU3RyaW5nQnVpbGRlciwgYW5kIHJldHVybiB0
aGUgZmluYWwgcmVzdWx0LgotICAgIGJ1aWxkZXIuU2V0UG9zaXRpb24odHJ1bmNhdGVkTGVuZ3Ro
ICsgMSk7CisgICAgLy8gVHJ1bmNhdGUgdGhlIG1hbnRpc3NhLCBhbmQgcmV0dXJuIHRoZSBmaW5h
bCByZXN1bHQuCisgICAgYnVpbGRlci5SZW1vdmVDaGFyYWN0ZXJzKHRydW5jYXRlZExlbmd0aCwg
cGFzdE1hbnRpc3NhKTsKICAgICByZXR1cm4gYnVpbGRlci5GaW5hbGl6ZSgpOwogfQogCkBAIC0x
Mjc0LDcgKzEyNzgsNyBAQCBjb25zdCBjaGFyKiBudW1iZXJUb0ZpeGVkUHJlY2lzaW9uU3RyaW5n
KGRvdWJsZSBkLCB1bnNpZ25lZCBzaWduaWZpY2FudEZpZ3VyZXMsCiAgICAgLy8gcHJlY2lzaW9u
IGFyZ3VtZW50LiBUcmFpbGluZyB6ZXJvcyBhcmUgdHJ1bmNhdGVkLCBhbmQgdGhlIGRlY2ltYWwg
cG9pbnQgYXBwZWFycyBvbmx5IGlmIG9uZSBvciBtb3JlIGRpZ2l0cyBmb2xsb3cgaXQuCiAgICAg
Ly8gInByZWNpc2lvbiI6IFRoZSBwcmVjaXNpb24gc3BlY2lmaWVzIHRoZSBtYXhpbXVtIG51bWJl
ciBvZiBzaWduaWZpY2FudCBkaWdpdHMgcHJpbnRlZC4KICAgICBkb3VibGVfY29udmVyc2lvbjo6
U3RyaW5nQnVpbGRlciBidWlsZGVyKGJ1ZmZlciwgTnVtYmVyVG9TdHJpbmdCdWZmZXJMZW5ndGgp
OwotICAgIGNvbnN0IGRvdWJsZV9jb252ZXJzaW9uOjpEb3VibGVUb1N0cmluZ0NvbnZlcnRlciYg
Y29udmVydGVyID0gZG91YmxlX2NvbnZlcnNpb246OkRvdWJsZVRvU3RyaW5nQ29udmVydGVyOjpF
Y21hU2NyaXB0Q29udmVydGVyKCk7CisgICAgYXV0byYgY29udmVydGVyID0gZG91YmxlX2NvbnZl
cnNpb246OkRvdWJsZVRvU3RyaW5nQ29udmVydGVyOjpFY21hU2NyaXB0Q29udmVydGVyKCk7CiAg
ICAgY29udmVydGVyLlRvUHJlY2lzaW9uKGQsIHNpZ25pZmljYW50RmlndXJlcywgJmJ1aWxkZXIp
OwogICAgIGlmICghdHJ1bmNhdGVUcmFpbGluZ1plcm9zKQogICAgICAgICByZXR1cm4gYnVpbGRl
ci5GaW5hbGl6ZSgpOwpAQCAtMTI5MSw3ICsxMjk1LDcgQEAgY29uc3QgY2hhciogbnVtYmVyVG9G
aXhlZFdpZHRoU3RyaW5nKGRvdWJsZSBkLCB1bnNpZ25lZCBkZWNpbWFsUGxhY2VzLCBOdW1iZXJU
b1MKICAgICAvLyBJZiBhIGRlY2ltYWwgcG9pbnQgYXBwZWFycywgYXQgbGVhc3Qgb25lIGRpZ2l0
IGFwcGVhcnMgYmVmb3JlIGl0LgogICAgIC8vIFRoZSB2YWx1ZSBpcyByb3VuZGVkIHRvIHRoZSBh
cHByb3ByaWF0ZSBudW1iZXIgb2YgZGlnaXRzLiAgICAKICAgICBkb3VibGVfY29udmVyc2lvbjo6
U3RyaW5nQnVpbGRlciBidWlsZGVyKGJ1ZmZlciwgTnVtYmVyVG9TdHJpbmdCdWZmZXJMZW5ndGgp
OwotICAgIGNvbnN0IGRvdWJsZV9jb252ZXJzaW9uOjpEb3VibGVUb1N0cmluZ0NvbnZlcnRlciYg
Y29udmVydGVyID0gZG91YmxlX2NvbnZlcnNpb246OkRvdWJsZVRvU3RyaW5nQ29udmVydGVyOjpF
Y21hU2NyaXB0Q29udmVydGVyKCk7CisgICAgYXV0byYgY29udmVydGVyID0gZG91YmxlX2NvbnZl
cnNpb246OkRvdWJsZVRvU3RyaW5nQ29udmVydGVyOjpFY21hU2NyaXB0Q29udmVydGVyKCk7CiAg
ICAgY29udmVydGVyLlRvRml4ZWQoZCwgZGVjaW1hbFBsYWNlcywgJmJ1aWxkZXIpOwogICAgIHJl
dHVybiBidWlsZGVyLkZpbmFsaXplKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9k
dG9hL3V0aWxzLmggYi9Tb3VyY2UvV1RGL3d0Zi9kdG9hL3V0aWxzLmgKaW5kZXggODg5NjQyY2Vl
NzIyNjY3YmQ1OTYyYjEyMmFjZjVkNDk0MjI5YzlmNy4uZWRiMTcxYmYzYWE0ZjBmNjNiYTNkODE3
MzBlODk4OTM5YTZiYWFlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvZHRvYS91dGlscy5o
CisrKyBiL1NvdXJjZS9XVEYvd3RmL2R0b2EvdXRpbHMuaApAQCAtMjQzLDYgKzI0MywxNiBAQCBu
YW1lc3BhY2UgZG91YmxlX2NvbnZlcnNpb24gewogICAgICAgICAgICAgfQogICAgICAgICB9CiAg
ICAgICAgIAorICAgICAgICB2b2lkIFJlbW92ZUNoYXJhY3RlcnMoaW50IHN0YXJ0LCBpbnQgZW5k
KQorICAgICAgICB7CisgICAgICAgICAgICBBU1NFUlQoc3RhcnQgPj0gMCk7CisgICAgICAgICAg
ICBBU1NFUlQoZW5kID49IDApOworICAgICAgICAgICAgQVNTRVJUKHN0YXJ0IDw9IGVuZCk7Cisg
ICAgICAgICAgICBBU1NFUlQoZW5kIDw9IHBvc2l0aW9uXyk7CisgICAgICAgICAgICBzdGQ6Om1l
bW1vdmUoJmJ1ZmZlcl9bc3RhcnRdLCAmYnVmZmVyX1tlbmRdLCBwb3NpdGlvbl8gLSBlbmQpOwor
ICAgICAgICAgICAgcG9zaXRpb25fIC09IGVuZCAtIHN0YXJ0OworICAgICAgICB9CisKICAgICAg
ICAgLy8gRmluYWxpemUgdGhlIHN0cmluZyBieSAwLXRlcm1pbmF0aW5nIGl0IGFuZCByZXR1cm5p
bmcgdGhlIGJ1ZmZlci4KICAgICAgICAgY2hhciogRmluYWxpemUoKSB7CiAgICAgICAgICAgICBB
U1NFUlQoIWlzX2ZpbmFsaXplZCgpICYmIHBvc2l0aW9uXyA8IGJ1ZmZlcl8ubGVuZ3RoKCkpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvdGV4dC9BdG9taWNTdHJpbmcuY3BwIGIvU291cmNl
L1dURi93dGYvdGV4dC9BdG9taWNTdHJpbmcuY3BwCmluZGV4IDJhMDY1MTI4M2E5NzI3MWU1NzZh
MjIyZGRmMDIzMjBkMDZhMGQyZGUuLmIxMjU3NDIwM2U2NzIwNmI2ZTI4ZjBiZDY2MjI1YzRlOTFj
MjEwZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvQXRvbWljU3RyaW5nLmNwcAor
KysgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0F0b21pY1N0cmluZy5jcHAKQEAgLTEwNCw3ICsxMDQs
NyBAQCBBdG9taWNTdHJpbmcgQXRvbWljU3RyaW5nOjpudW1iZXIodW5zaWduZWQgbG9uZyBsb25n
IG51bWJlcikKIEF0b21pY1N0cmluZyBBdG9taWNTdHJpbmc6Om51bWJlcihkb3VibGUgbnVtYmVy
KQogewogICAgIE51bWJlclRvU3RyaW5nQnVmZmVyIGJ1ZmZlcjsKLSAgICByZXR1cm4gU3RyaW5n
KG51bWJlclRvRml4ZWRQcmVjaXNpb25TdHJpbmcobnVtYmVyLCA2LCBidWZmZXIsIHRydWUpKTsK
KyAgICByZXR1cm4gbnVtYmVyVG9TdHJpbmcobnVtYmVyLCBidWZmZXIpOwogfQogCiBBdG9taWNT
dHJpbmcgQXRvbWljU3RyaW5nOjpmcm9tVVRGOEludGVybmFsKGNvbnN0IGNoYXIqIGNoYXJhY3Rl
cnNTdGFydCwgY29uc3QgY2hhciogY2hhcmFjdGVyc0VuZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFByb2dyZXNzRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxQcm9ncmVzc0VsZW1lbnQuY3BwCmluZGV4IDhiNDBlMWRjMjU4YTliYTRmYWZjZjA4M2Iz
NWY5M2JjYjJjNDVlNGYuLjZhNzIxZDViY2JlY2JmZjhiNGFmZjVmYWY4NWQ0Y2Y0ZWVmMGZhYTQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFByb2dyZXNzRWxlbWVudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUHJvZ3Jlc3NFbGVtZW50LmNwcApAQCAtOTgs
NyArOTgsNyBAQCBkb3VibGUgSFRNTFByb2dyZXNzRWxlbWVudDo6dmFsdWUoKSBjb25zdAogCiB2
b2lkIEhUTUxQcm9ncmVzc0VsZW1lbnQ6OnNldFZhbHVlKGRvdWJsZSB2YWx1ZSkKIHsKLSAgICBz
ZXRBdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKHZhbHVlQXR0ciwgQXRvbWljU3RyaW5n
OjpudW1iZXIodmFsdWUgPj0gMCA/IHZhbHVlIDogMCkpOworICAgIHNldEF0dHJpYnV0ZVdpdGhv
dXRTeW5jaHJvbml6YXRpb24odmFsdWVBdHRyLCBBdG9taWNTdHJpbmc6Om51bWJlcih2YWx1ZSkp
OwogfQogCiBkb3VibGUgSFRNTFByb2dyZXNzRWxlbWVudDo6bWF4KCkgY29uc3QKQEAgLTEwOSw3
ICsxMDksOCBAQCBkb3VibGUgSFRNTFByb2dyZXNzRWxlbWVudDo6bWF4KCkgY29uc3QKIAogdm9p
ZCBIVE1MUHJvZ3Jlc3NFbGVtZW50OjpzZXRNYXgoZG91YmxlIG1heCkKIHsKLSAgICBzZXRBdHRy
aWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKG1heEF0dHIsIEF0b21pY1N0cmluZzo6bnVtYmVy
KG1heCA+IDAgPyBtYXggOiAxKSk7CisgICAgaWYgKG1heCA+IDApCisgICAgICAgIHNldEF0dHJp
YnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24obWF4QXR0ciwgQXRvbWljU3RyaW5nOjpudW1iZXIo
bWF4KSk7CiB9CiAKIGRvdWJsZSBIVE1MUHJvZ3Jlc3NFbGVtZW50Ojpwb3NpdGlvbigpIGNvbnN0
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVt
ZW50VHlwZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxl
bWVudFR5cGVzLmNwcAppbmRleCBhMmE2MmE4OTA4YjUyZjVhZjA5ZmQyYTAxYmQ2M2FmNGUwYWEz
Y2Q5Li5iMWM3MzZjMGE2Y2QwMzA2N2FlZWViMjIyYzRhMGI0YjE2M2ZlM2UwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50VHlwZXMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRUeXBl
cy5jcHAKQEAgLTIzNCw3ICsyMzQsNyBAQCBib29sIE1lZGlhQ29udHJvbFZvbHVtZVNsaWRlckVs
ZW1lbnQ6OndpbGxSZXNwb25kVG9Nb3VzZUNsaWNrRXZlbnRzKCkKIHZvaWQgTWVkaWFDb250cm9s
Vm9sdW1lU2xpZGVyRWxlbWVudDo6c2V0Vm9sdW1lKGRvdWJsZSB2b2x1bWUpCiB7CiAgICAgaWYg
KHZhbHVlKCkudG9Eb3VibGUoKSAhPSB2b2x1bWUpCi0gICAgICAgIHNldFZhbHVlKFN0cmluZzo6
bnVtYmVyKHZvbHVtZSkpOworICAgICAgICBzZXRWYWx1ZShTdHJpbmc6Om51bWJlclRvU3RyaW5n
RUNNQVNjcmlwdCh2b2x1bWUpKTsKIH0KIAogdm9pZCBNZWRpYUNvbnRyb2xWb2x1bWVTbGlkZXJF
bGVtZW50OjpzZXRDbGVhck11dGVkT25Vc2VySW50ZXJhY3Rpb24oYm9vbCBjbGVhck11dGUpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50
cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5j
cHAKaW5kZXggNjRmMmMxYWU0ODJlN2ViYzAyMGM5YmZhY2Y5YTcxYmE2NTJiN2Q5Yy4uOGU2MjI5
ZWQyZGVlNGE0NDExNzdlOGJmMjc2ZTMyZGFiMzcyYzRkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcApAQCAtODg1LDEyICs4
ODUsMTIgQEAgYm9vbCBNZWRpYUNvbnRyb2xUaW1lbGluZUVsZW1lbnQ6OndpbGxSZXNwb25kVG9N
b3VzZUNsaWNrRXZlbnRzKCkKIAogdm9pZCBNZWRpYUNvbnRyb2xUaW1lbGluZUVsZW1lbnQ6OnNl
dFBvc2l0aW9uKGRvdWJsZSBjdXJyZW50VGltZSkKIHsKLSAgICBzZXRWYWx1ZShTdHJpbmc6Om51
bWJlcihjdXJyZW50VGltZSkpOworICAgIHNldFZhbHVlKFN0cmluZzo6bnVtYmVyVG9TdHJpbmdF
Q01BU2NyaXB0KGN1cnJlbnRUaW1lKSk7CiB9CiAKIHZvaWQgTWVkaWFDb250cm9sVGltZWxpbmVF
bGVtZW50OjpzZXREdXJhdGlvbihkb3VibGUgZHVyYXRpb24pCiB7Ci0gICAgc2V0QXR0cmlidXRl
KG1heEF0dHIsIEF0b21pY1N0cmluZzo6bnVtYmVyKHN0ZDo6aXNmaW5pdGUoZHVyYXRpb24pID8g
ZHVyYXRpb24gOiAwKSk7CisgICAgc2V0QXR0cmlidXRlKG1heEF0dHIsIEF0b21pY1N0cmluZzo6
bnVtYmVyKGR1cmF0aW9uKSk7CiB9CiAKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA4YTgx
YjMxMWMyNmI3NjBkNmZmMTczODc4NzEzOTFiYzJjZWFlN2NiLi41OTY5ODY5Y2JjNGVhMzlhMWIz
NzZlYzJlMTAyZTBiM2JmNzA4MjU5IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTctMTAtMDggIERhcmluIEFkbGVy
ICA8ZGFyaW5AYXBwbGUuY29tPgorCisgICAgICAgIEZpeCBidWdzIHJlbGF0ZWQgdG8gc2V0dGlu
ZyByZWZsZWN0ZWQgZmxvYXRpbmcgcG9pbnQgRE9NIGF0dHJpYnV0ZXMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODA2MQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9X
VEYvQXRvbWljU3RyaW5nLmNwcDogQWRkZWQgYSB0ZXN0IG9mIHRoZQorICAgICAgICBBdG9taWNT
dHJpbmc6Om51bWJlciBmdW5jdGlvbiwgYmFzZWQgb24gdGhlIHRlc3QgY2FzZXMgd2UgYWxyZWFk
eQorICAgICAgICBoYWQgZm9yIFN0cmluZzo6bnVtYmVyVG9TdHJpbmdFQ01BU2NyaXB0LCBhbmQg
d2l0aCBzb21lIGFkZGl0aW9uYWwKKyAgICAgICAgY2FzZXMgd2l0aCBwb3dlcnMgb2YgMTAgdGhh
dCBjaGVjayBoYW5kbGluZyBvZiB0cmFpbG5nIHplcm9lcy4KKworICAgICAgICAqIFRlc3RXZWJL
aXRBUEkvVGVzdHMvV1RGL1dURlN0cmluZy5jcHA6IEFkZGVkIHRlc3QgY2FzZXMgdG8gdGhlCisg
ICAgICAgIGV4aXN0aW5nIHRlc3RzIG9mIHRoZSBTdHJpbmc6Om51bWJlclRvU3RyaW5nRUNNQVNj
cmlwdCBmdW5jdGlvbgorICAgICAgICBhcyBhYm92ZS4gQWxzbyBhZGRlZCB0ZXN0cyBmb3IgU3Ry
aW5nOjpudW1iZXIgYW5kIGZvcgorICAgICAgICBTdHJpbmc6Om51bWJlclRvU3RyaW5nRml4ZWRX
aWR0aC4gQWxzbyBjaGFuZ2VkIHRoZSB0ZXN0cyB0byBhbGwgdXNlCisgICAgICAgIEVYUEVDVCBp
bnN0ZWFkIG9mIEFTU0VSVCBtYWNyb3Mgc2luY2UgdGhlc2UgYXJlIGFsbCBub24tZmF0YWwuCisK
KyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxl
UGFnZS5jcHA6CisgICAgICAgIChXVFI6OmR1bXBGcmFtZVNjcm9sbFBvc2l0aW9uKTogVXNlIFN0
cmluZ0J1aWxkZXI6OmFwcGVuZEVDTUFTY3JpcHROdW1iZXIKKyAgICAgICAgaW5zdGVhZCBvZiBT
dHJpbmc6Om51bWJlci4KKwogMjAxNy0wOS0yOSAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUu
Y29tPgogCiAgICAgICAgIEVuYWJsZSBnaWdhY2FnZSBvbiBpT1MKZGlmZiAtLWdpdCBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0F0b21pY1N0cmluZy5jcHAgYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dURi9BdG9taWNTdHJpbmcuY3BwCmluZGV4IGRlOTYyZWM0MjI4OTI3NGYw
NmQ4MDIzMDM2YmUzMzQ3NDlmZDFhYzguLjFkNGFlNGViMTQ5NTViODIzZTg2Y2JjY2I2ZmRlYTFl
NmViNDRiM2MgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0F0b21p
Y1N0cmluZy5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvQXRvbWljU3Ry
aW5nLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEyLTIwMTcgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCkBAIC02MSw0ICs2MSw1MyBAQCBURVNUKFdURiwgQXRvbWljU3RyaW5nRXhpc3RpbmdIYXNo
KQogICAgIEFTU0VSVF9FUShzdHJpbmcyLmV4aXN0aW5nSGFzaCgpLCAwdSk7CiB9CiAKK3N0YXRp
YyBpbmxpbmUgY29uc3QgY2hhciogdGVzdEF0b21pY1N0cmluZ051bWJlcihkb3VibGUgbnVtYmVy
KQoreworICAgIHN0YXRpYyBjaGFyIHRlc3RCdWZmZXJbMTAwXTsKKyAgICBzdGQ6OnN0cm5jcHko
dGVzdEJ1ZmZlciwgQXRvbWljU3RyaW5nOjpudW1iZXIobnVtYmVyKS5zdHJpbmcoKS51dGY4KCku
ZGF0YSgpLCAxMDApOworICAgIHJldHVybiB0ZXN0QnVmZmVyOworfQorCitURVNUKFdURiwgQXRv
bWljU3RyaW5nTnVtYmVyRG91YmxlKQoreworICAgIHVzaW5nIExpbWl0cyA9IHN0ZDo6bnVtZXJp
Y19saW1pdHM8ZG91YmxlPjsKKworICAgIEVYUEVDVF9TVFJFUSgiSW5maW5pdHkiLCB0ZXN0QXRv
bWljU3RyaW5nTnVtYmVyKExpbWl0czo6aW5maW5pdHkoKSkpOworICAgIEVYUEVDVF9TVFJFUSgi
LUluZmluaXR5IiwgdGVzdEF0b21pY1N0cmluZ051bWJlcigtTGltaXRzOjppbmZpbml0eSgpKSk7
CisKKyAgICBFWFBFQ1RfU1RSRVEoIk5hTiIsIHRlc3RBdG9taWNTdHJpbmdOdW1iZXIoLUxpbWl0
czo6cXVpZXRfTmFOKCkpKTsKKworICAgIEVYUEVDVF9TVFJFUSgiMCIsIHRlc3RBdG9taWNTdHJp
bmdOdW1iZXIoMCkpOworICAgIEVYUEVDVF9TVFJFUSgiMCIsIHRlc3RBdG9taWNTdHJpbmdOdW1i
ZXIoLTApKTsKKworICAgIEVYUEVDVF9TVFJFUSgiMi4yMjUwNzM4NTg1MDcyMDE0ZS0zMDgiLCB0
ZXN0QXRvbWljU3RyaW5nTnVtYmVyKExpbWl0czo6bWluKCkpKTsKKyAgICBFWFBFQ1RfU1RSRVEo
Ii0xLjc5NzY5MzEzNDg2MjMxNTdlKzMwOCIsIHRlc3RBdG9taWNTdHJpbmdOdW1iZXIoTGltaXRz
Ojpsb3dlc3QoKSkpOworICAgIEVYUEVDVF9TVFJFUSgiMS43OTc2OTMxMzQ4NjIzMTU3ZSszMDgi
LCB0ZXN0QXRvbWljU3RyaW5nTnVtYmVyKExpbWl0czo6bWF4KCkpKTsKKworICAgIEVYUEVDVF9T
VFJFUSgiMy4xNDE1OTI2NTM1ODk3OTMiLCB0ZXN0QXRvbWljU3RyaW5nTnVtYmVyKHBpRG91Ymxl
KSk7CisgICAgRVhQRUNUX1NUUkVRKCIzLjE0MTU5Mjc0MTAxMjU3MzIiLCB0ZXN0QXRvbWljU3Ry
aW5nTnVtYmVyKHBpRmxvYXQpKTsKKyAgICBFWFBFQ1RfU1RSRVEoIjEuNTcwNzk2MzI2Nzk0ODk2
NiIsIHRlc3RBdG9taWNTdHJpbmdOdW1iZXIocGlPdmVyVHdvRG91YmxlKSk7CisgICAgRVhQRUNU
X1NUUkVRKCIxLjU3MDc5NjM3MDUwNjI4NjYiLCB0ZXN0QXRvbWljU3RyaW5nTnVtYmVyKHBpT3Zl
clR3b0Zsb2F0KSk7CisgICAgRVhQRUNUX1NUUkVRKCIwLjc4NTM5ODE2MzM5NzQ0ODMiLCB0ZXN0
QXRvbWljU3RyaW5nTnVtYmVyKHBpT3ZlckZvdXJEb3VibGUpKTsKKyAgICBFWFBFQ1RfU1RSRVEo
IjAuNzg1Mzk4MTg1MjUzMTQzMyIsIHRlc3RBdG9taWNTdHJpbmdOdW1iZXIocGlPdmVyRm91ckZs
b2F0KSk7CisKKyAgICBFWFBFQ1RfU1RSRVEoIjIuNzE4MjgxODI4NDU5MDQ1IiwgdGVzdEF0b21p
Y1N0cmluZ051bWJlcigyLjcxODI4MTgyODQ1OTA0NTIzNTM2MDI4NzQ3MTM1MjY2MjQ5Nzc1NzI0
NzA5MzY5OTk1KSk7CisKKyAgICBFWFBFQ1RfU1RSRVEoIjI5OTc5MjQ1OCIsIHRlc3RBdG9taWNT
dHJpbmdOdW1iZXIoMjk5NzkyNDU4KSk7CisKKyAgICBFWFBFQ1RfU1RSRVEoIjEuNjE4MDMzOTg4
NzQ5ODk1IiwgdGVzdEF0b21pY1N0cmluZ051bWJlcigxLjYxODAzMzk4ODc0OTg5NDg0ODIpKTsK
KworICAgIEVYUEVDVF9TVFJFUSgiMTAwMCIsIHRlc3RBdG9taWNTdHJpbmdOdW1iZXIoMWUzKSk7
CisgICAgRVhQRUNUX1NUUkVRKCIxMDAwMDAwMDAwMCIsIHRlc3RBdG9taWNTdHJpbmdOdW1iZXIo
MWUxMCkpOworICAgIEVYUEVDVF9TVFJFUSgiMTAwMDAwMDAwMDAwMDAwMDAwMDAwIiwgdGVzdEF0
b21pY1N0cmluZ051bWJlcigxZTIwKSk7CisgICAgRVhQRUNUX1NUUkVRKCIxZSsyMSIsIHRlc3RB
dG9taWNTdHJpbmdOdW1iZXIoMWUyMSkpOworICAgIEVYUEVDVF9TVFJFUSgiMWUrMzAiLCB0ZXN0
QXRvbWljU3RyaW5nTnVtYmVyKDFlMzApKTsKKworICAgIEVYUEVDVF9TVFJFUSgiMTEwMCIsIHRl
c3RBdG9taWNTdHJpbmdOdW1iZXIoMS4xZTMpKTsKKyAgICBFWFBFQ1RfU1RSRVEoIjExMDAwMDAw
MDAwIiwgdGVzdEF0b21pY1N0cmluZ051bWJlcigxLjFlMTApKTsKKyAgICBFWFBFQ1RfU1RSRVEo
IjExMDAwMDAwMDAwMDAwMDAwMDAwMCIsIHRlc3RBdG9taWNTdHJpbmdOdW1iZXIoMS4xZTIwKSk7
CisgICAgRVhQRUNUX1NUUkVRKCIxLjFlKzIxIiwgdGVzdEF0b21pY1N0cmluZ051bWJlcigxLjFl
MjEpKTsKKyAgICBFWFBFQ1RfU1RSRVEoIjEuMWUrMzAiLCB0ZXN0QXRvbWljU3RyaW5nTnVtYmVy
KDEuMWUzMCkpOworfQorCiB9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCmRpZmYgLS1naXQg
YS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9XVEZTdHJpbmcuY3BwIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XVEYvV1RGU3RyaW5nLmNwcAppbmRleCA2MTg0YzYyMzJiYmY0MjU3
NzBiNzQ0OTkyYjY0NjNjYWZiYTllZjFlLi40ZWNmZTJmZmU2Y2QzMWQ5NTgzNDhhMDYxNWEwZDBl
NTE1NWNmNmNkIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9XVEZT
dHJpbmcuY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1dURlN0cmluZy5j
cHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMi0yMDE3IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpA
QCAtMzYsMTYgKzM2LDE2IEBAIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsKIFRFU1QoV1RGLCBT
dHJpbmdDcmVhdGlvbkZyb21MaXRlcmFsKQogewogICAgIFN0cmluZyBzdHJpbmdGcm9tTGl0ZXJh
bChBU0NJSUxpdGVyYWwoIkV4cGxpY2l0IGNvbnN0cnVjdGlvbiBzeW50YXgiKSk7Ci0gICAgQVNT
RVJUX0VRKHN0cmxlbigiRXhwbGljaXQgY29uc3RydWN0aW9uIHN5bnRheCIpLCBzdHJpbmdGcm9t
TGl0ZXJhbC5sZW5ndGgoKSk7Ci0gICAgQVNTRVJUX1RSVUUoc3RyaW5nRnJvbUxpdGVyYWwgPT0g
IkV4cGxpY2l0IGNvbnN0cnVjdGlvbiBzeW50YXgiKTsKLSAgICBBU1NFUlRfVFJVRShzdHJpbmdG
cm9tTGl0ZXJhbC5pczhCaXQoKSk7Ci0gICAgQVNTRVJUX1RSVUUoU3RyaW5nKCJFeHBsaWNpdCBj
b25zdHJ1Y3Rpb24gc3ludGF4IikgPT0gc3RyaW5nRnJvbUxpdGVyYWwpOworICAgIEVYUEVDVF9F
UShzdHJsZW4oIkV4cGxpY2l0IGNvbnN0cnVjdGlvbiBzeW50YXgiKSwgc3RyaW5nRnJvbUxpdGVy
YWwubGVuZ3RoKCkpOworICAgIEVYUEVDVF9FUSgiRXhwbGljaXQgY29uc3RydWN0aW9uIHN5bnRh
eCIsIHN0cmluZ0Zyb21MaXRlcmFsKTsKKyAgICBFWFBFQ1RfVFJVRShzdHJpbmdGcm9tTGl0ZXJh
bC5pczhCaXQoKSk7CisgICAgRVhQRUNUX0VRKFN0cmluZygiRXhwbGljaXQgY29uc3RydWN0aW9u
IHN5bnRheCIpLCBzdHJpbmdGcm9tTGl0ZXJhbCk7CiAKICAgICBTdHJpbmcgc3RyaW5nV2l0aFRl
bXBsYXRlKCJUZW1wbGF0ZSBMaXRlcmFsIiwgU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCk7
Ci0gICAgQVNTRVJUX0VRKHN0cmxlbigiVGVtcGxhdGUgTGl0ZXJhbCIpLCBzdHJpbmdXaXRoVGVt
cGxhdGUubGVuZ3RoKCkpOwotICAgIEFTU0VSVF9UUlVFKHN0cmluZ1dpdGhUZW1wbGF0ZSA9PSAi
VGVtcGxhdGUgTGl0ZXJhbCIpOwotICAgIEFTU0VSVF9UUlVFKHN0cmluZ1dpdGhUZW1wbGF0ZS5p
czhCaXQoKSk7Ci0gICAgQVNTRVJUX1RSVUUoU3RyaW5nKCJUZW1wbGF0ZSBMaXRlcmFsIikgPT0g
c3RyaW5nV2l0aFRlbXBsYXRlKTsKKyAgICBFWFBFQ1RfRVEoc3RybGVuKCJUZW1wbGF0ZSBMaXRl
cmFsIiksIHN0cmluZ1dpdGhUZW1wbGF0ZS5sZW5ndGgoKSk7CisgICAgRVhQRUNUX0VRKCJUZW1w
bGF0ZSBMaXRlcmFsIiwgc3RyaW5nV2l0aFRlbXBsYXRlKTsKKyAgICBFWFBFQ1RfVFJVRShzdHJp
bmdXaXRoVGVtcGxhdGUuaXM4Qml0KCkpOworICAgIEVYUEVDVF9FUShTdHJpbmcoIlRlbXBsYXRl
IExpdGVyYWwiKSwgc3RyaW5nV2l0aFRlbXBsYXRlKTsKIH0KIAogVEVTVChXVEYsIFN0cmluZ0FT
Q0lJKQpAQCAtNTQsMTExICs1NCwyMDkgQEAgVEVTVChXVEYsIFN0cmluZ0FTQ0lJKQogCiAgICAg
Ly8gTnVsbCBTdHJpbmcuCiAgICAgb3V0cHV0ID0gU3RyaW5nKCkuYXNjaWkoKTsKLSAgICBBU1NF
UlRfU1RSRVEoIiIsIG91dHB1dC5kYXRhKCkpOworICAgIEVYUEVDVF9TVFJFUSgiIiwgb3V0cHV0
LmRhdGEoKSk7CiAKICAgICAvLyBFbXB0eSBTdHJpbmcuCiAgICAgb3V0cHV0ID0gZW1wdHlTdHJp
bmcoKS5hc2NpaSgpOwotICAgIEFTU0VSVF9TVFJFUSgiIiwgb3V0cHV0LmRhdGEoKSk7CisgICAg
RVhQRUNUX1NUUkVRKCIiLCBvdXRwdXQuZGF0YSgpKTsKIAogICAgIC8vIFJlZ3VsYXIgU3RyaW5n
LgogICAgIG91dHB1dCA9IFN0cmluZyhBU0NJSUxpdGVyYWwoImZvb2JhciIpKS5hc2NpaSgpOwot
ICAgIEFTU0VSVF9TVFJFUSgiZm9vYmFyIiwgb3V0cHV0LmRhdGEoKSk7CisgICAgRVhQRUNUX1NU
UkVRKCJmb29iYXIiLCBvdXRwdXQuZGF0YSgpKTsKIH0KIAotc3RhdGljIHZvaWQgdGVzdE51bWJl
clRvU3RyaW5nRUNNQVNjcmlwdChkb3VibGUgbnVtYmVyLCBjb25zdCBjaGFyKiByZWZlcmVuY2Up
CitzdGF0aWMgaW5saW5lIGNvbnN0IGNoYXIqIHRlc3RTdHJpbmdOdW1iZXJGaXhlZFByZWNpc2lv
bihkb3VibGUgbnVtYmVyKQogewotICAgIENTdHJpbmcgbnVtYmVyU3RyaW5nID0gU3RyaW5nOjpu
dW1iZXJUb1N0cmluZ0VDTUFTY3JpcHQobnVtYmVyKS5sYXRpbjEoKTsKLSAgICBBU1NFUlRfU1RS
RVEocmVmZXJlbmNlLCBudW1iZXJTdHJpbmcuZGF0YSgpKTsKKyAgICBzdGF0aWMgY2hhciB0ZXN0
QnVmZmVyWzEwMF07CisgICAgc3RkOjpzdHJuY3B5KHRlc3RCdWZmZXIsIFN0cmluZzo6bnVtYmVy
KG51bWJlcikudXRmOCgpLmRhdGEoKSwgMTAwKTsKKyAgICByZXR1cm4gdGVzdEJ1ZmZlcjsKIH0K
IAotVEVTVChXVEYsIFN0cmluZ051bWJlclRvU3RyaW5nRUNNQVNjcmlwdEJvdW5kYXJpZXMpCitU
RVNUKFdURiwgU3RyaW5nTnVtYmVyRml4ZWRQcmVjaXNpb24pCiB7Ci0gICAgdHlwZWRlZiBzdGQ6
Om51bWVyaWNfbGltaXRzPGRvdWJsZT4gTGltaXRzOworICAgIHVzaW5nIExpbWl0cyA9IHN0ZDo6
bnVtZXJpY19saW1pdHM8ZG91YmxlPjsKIAotICAgIC8vIEluZmluaXR5LgotICAgIHRlc3ROdW1i
ZXJUb1N0cmluZ0VDTUFTY3JpcHQoTGltaXRzOjppbmZpbml0eSgpLCAiSW5maW5pdHkiKTsKLSAg
ICB0ZXN0TnVtYmVyVG9TdHJpbmdFQ01BU2NyaXB0KC1MaW1pdHM6OmluZmluaXR5KCksICItSW5m
aW5pdHkiKTsKKyAgICBFWFBFQ1RfU1RSRVEoIkluZmluaXR5IiwgdGVzdFN0cmluZ051bWJlckZp
eGVkUHJlY2lzaW9uKExpbWl0czo6aW5maW5pdHkoKSkpOworICAgIEVYUEVDVF9TVFJFUSgiLUlu
ZmluaXR5IiwgdGVzdFN0cmluZ051bWJlckZpeGVkUHJlY2lzaW9uKC1MaW1pdHM6OmluZmluaXR5
KCkpKTsKIAotICAgIC8vIE5hTi4KLSAgICB0ZXN0TnVtYmVyVG9TdHJpbmdFQ01BU2NyaXB0KC1M
aW1pdHM6OnF1aWV0X05hTigpLCAiTmFOIik7CisgICAgRVhQRUNUX1NUUkVRKCJOYU4iLCB0ZXN0
U3RyaW5nTnVtYmVyRml4ZWRQcmVjaXNpb24oLUxpbWl0czo6cXVpZXRfTmFOKCkpKTsKIAotICAg
IC8vIFplcm9zLgotICAgIHRlc3ROdW1iZXJUb1N0cmluZ0VDTUFTY3JpcHQoMCwgIjAiKTsKLSAg
ICB0ZXN0TnVtYmVyVG9TdHJpbmdFQ01BU2NyaXB0KC0wLCAiMCIpOworICAgIEVYUEVDVF9TVFJF
USgiMCIsIHRlc3RTdHJpbmdOdW1iZXJGaXhlZFByZWNpc2lvbigwKSk7CisgICAgRVhQRUNUX1NU
UkVRKCIwIiwgdGVzdFN0cmluZ051bWJlckZpeGVkUHJlY2lzaW9uKC0wKSk7CiAKLSAgICAvLyBN
aW4tTWF4LgotICAgIHRlc3ROdW1iZXJUb1N0cmluZ0VDTUFTY3JpcHQoTGltaXRzOjptaW4oKSwg
IjIuMjI1MDczODU4NTA3MjAxNGUtMzA4Iik7Ci0gICAgdGVzdE51bWJlclRvU3RyaW5nRUNNQVNj
cmlwdChMaW1pdHM6Om1heCgpLCAiMS43OTc2OTMxMzQ4NjIzMTU3ZSszMDgiKTsKKyAgICBFWFBF
Q1RfU1RSRVEoIjIuMjI1MDdlLTMwOCIsIHRlc3RTdHJpbmdOdW1iZXJGaXhlZFByZWNpc2lvbihM
aW1pdHM6Om1pbigpKSk7CisgICAgRVhQRUNUX1NUUkVRKCItMS43OTc2OWUrMzA4IiwgdGVzdFN0
cmluZ051bWJlckZpeGVkUHJlY2lzaW9uKExpbWl0czo6bG93ZXN0KCkpKTsKKyAgICBFWFBFQ1Rf
U1RSRVEoIjEuNzk3NjllKzMwOCIsIHRlc3RTdHJpbmdOdW1iZXJGaXhlZFByZWNpc2lvbihMaW1p
dHM6Om1heCgpKSk7CisKKyAgICBFWFBFQ1RfU1RSRVEoIjMuMTQxNTkiLCB0ZXN0U3RyaW5nTnVt
YmVyRml4ZWRQcmVjaXNpb24ocGlEb3VibGUpKTsKKyAgICBFWFBFQ1RfU1RSRVEoIjMuMTQxNTki
LCB0ZXN0U3RyaW5nTnVtYmVyRml4ZWRQcmVjaXNpb24ocGlGbG9hdCkpOworICAgIEVYUEVDVF9T
VFJFUSgiMS41NzA4IiwgdGVzdFN0cmluZ051bWJlckZpeGVkUHJlY2lzaW9uKHBpT3ZlclR3b0Rv
dWJsZSkpOworICAgIEVYUEVDVF9TVFJFUSgiMS41NzA4IiwgdGVzdFN0cmluZ051bWJlckZpeGVk
UHJlY2lzaW9uKHBpT3ZlclR3b0Zsb2F0KSk7CisgICAgRVhQRUNUX1NUUkVRKCIwLjc4NTM5OCIs
IHRlc3RTdHJpbmdOdW1iZXJGaXhlZFByZWNpc2lvbihwaU92ZXJGb3VyRG91YmxlKSk7CisgICAg
RVhQRUNUX1NUUkVRKCIwLjc4NTM5OCIsIHRlc3RTdHJpbmdOdW1iZXJGaXhlZFByZWNpc2lvbihw
aU92ZXJGb3VyRmxvYXQpKTsKKworICAgIEVYUEVDVF9TVFJFUSgiMi43MTgyOCIsIHRlc3RTdHJp
bmdOdW1iZXJGaXhlZFByZWNpc2lvbigyLjcxODI4MTgyODQ1OTA0NTIzNTM2MDI4NzQ3MTM1MjY2
MjQ5Nzc1NzI0NzA5MzY5OTk1KSk7CisKKyAgICBFWFBFQ1RfU1RSRVEoIjIuOTk3OTJlKzgiLCB0
ZXN0U3RyaW5nTnVtYmVyRml4ZWRQcmVjaXNpb24oMjk5NzkyNDU4KSk7CisKKyAgICBFWFBFQ1Rf
U1RSRVEoIjEuNjE4MDMiLCB0ZXN0U3RyaW5nTnVtYmVyRml4ZWRQcmVjaXNpb24oMS42MTgwMzM5
ODg3NDk4OTQ4NDgyKSk7CisKKyAgICBFWFBFQ1RfU1RSRVEoIjEwMDAiLCB0ZXN0U3RyaW5nTnVt
YmVyRml4ZWRQcmVjaXNpb24oMWUzKSk7CisgICAgRVhQRUNUX1NUUkVRKCIxZSsxMCIsIHRlc3RT
dHJpbmdOdW1iZXJGaXhlZFByZWNpc2lvbigxZTEwKSk7CisgICAgRVhQRUNUX1NUUkVRKCIxZSsy
MCIsIHRlc3RTdHJpbmdOdW1iZXJGaXhlZFByZWNpc2lvbigxZTIwKSk7CisgICAgRVhQRUNUX1NU
UkVRKCIxZSsyMSIsIHRlc3RTdHJpbmdOdW1iZXJGaXhlZFByZWNpc2lvbigxZTIxKSk7CisgICAg
RVhQRUNUX1NUUkVRKCIxZSszMCIsIHRlc3RTdHJpbmdOdW1iZXJGaXhlZFByZWNpc2lvbigxZTMw
KSk7CisKKyAgICBFWFBFQ1RfU1RSRVEoIjExMDAiLCB0ZXN0U3RyaW5nTnVtYmVyRml4ZWRQcmVj
aXNpb24oMS4xZTMpKTsKKyAgICBFWFBFQ1RfU1RSRVEoIjEuMWUrMTAiLCB0ZXN0U3RyaW5nTnVt
YmVyRml4ZWRQcmVjaXNpb24oMS4xZTEwKSk7CisgICAgRVhQRUNUX1NUUkVRKCIxLjFlKzIwIiwg
dGVzdFN0cmluZ051bWJlckZpeGVkUHJlY2lzaW9uKDEuMWUyMCkpOworICAgIEVYUEVDVF9TVFJF
USgiMS4xZSsyMSIsIHRlc3RTdHJpbmdOdW1iZXJGaXhlZFByZWNpc2lvbigxLjFlMjEpKTsKKyAg
ICBFWFBFQ1RfU1RSRVEoIjEuMWUrMzAiLCB0ZXN0U3RyaW5nTnVtYmVyRml4ZWRQcmVjaXNpb24o
MS4xZTMwKSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgY29uc3QgY2hhciogdGVzdFN0cmluZ051bWJl
ckZpeGVkV2lkdGgoZG91YmxlIG51bWJlcikKK3sKKyAgICBzdGF0aWMgY2hhciB0ZXN0QnVmZmVy
WzEwMF07CisgICAgc3RkOjpzdHJuY3B5KHRlc3RCdWZmZXIsIFN0cmluZzo6bnVtYmVyVG9TdHJp
bmdGaXhlZFdpZHRoKG51bWJlciwgNikudXRmOCgpLmRhdGEoKSwgMTAwKTsKKyAgICByZXR1cm4g
dGVzdEJ1ZmZlcjsKIH0KIAotVEVTVChXVEYsIFN0cmluZ051bWJlclRvU3RyaW5nRUNNQVNjcmlw
dFJlZ3VsYXJOdW1iZXJzKQorVEVTVChXVEYsIFN0cmluZ051bWJlckZpeGVkV2lkdGgpCiB7Ci0g
ICAgLy8gUGkuCi0gICAgdGVzdE51bWJlclRvU3RyaW5nRUNNQVNjcmlwdChwaURvdWJsZSwgIjMu
MTQxNTkyNjUzNTg5NzkzIik7Ci0gICAgdGVzdE51bWJlclRvU3RyaW5nRUNNQVNjcmlwdChwaUZs
b2F0LCAiMy4xNDE1OTI3NDEwMTI1NzMyIik7Ci0gICAgdGVzdE51bWJlclRvU3RyaW5nRUNNQVNj
cmlwdChwaU92ZXJUd29Eb3VibGUsICIxLjU3MDc5NjMyNjc5NDg5NjYiKTsKLSAgICB0ZXN0TnVt
YmVyVG9TdHJpbmdFQ01BU2NyaXB0KHBpT3ZlclR3b0Zsb2F0LCAiMS41NzA3OTYzNzA1MDYyODY2
Iik7Ci0gICAgdGVzdE51bWJlclRvU3RyaW5nRUNNQVNjcmlwdChwaU92ZXJGb3VyRG91YmxlLCAi
MC43ODUzOTgxNjMzOTc0NDgzIik7Ci0gICAgdGVzdE51bWJlclRvU3RyaW5nRUNNQVNjcmlwdChw
aU92ZXJGb3VyRmxvYXQsICIwLjc4NTM5ODE4NTI1MzE0MzMiKTsKLQotICAgIC8vIGUuCi0gICAg
Y29uc3QgZG91YmxlIGUgPSAyLjcxODI4MTgyODQ1OTA0NTIzNTM2MDI4NzQ3MTM1MjY2MjQ5Nzc1
NzI0NzA5MzY5OTk1OwotICAgIHRlc3ROdW1iZXJUb1N0cmluZ0VDTUFTY3JpcHQoZSwgIjIuNzE4
MjgxODI4NDU5MDQ1Iik7Ci0KLSAgICAvLyBjLCBzcGVlZCBvZiBsaWdodCBpbiBtL3MuCi0gICAg
Y29uc3QgZG91YmxlIGMgPSAyOTk3OTI0NTg7Ci0gICAgdGVzdE51bWJlclRvU3RyaW5nRUNNQVNj
cmlwdChjLCAiMjk5NzkyNDU4Iik7Ci0KLSAgICAvLyBHb2xlbiByYXRpby4KLSAgICBjb25zdCBk
b3VibGUgcGhpID0gMS42MTgwMzM5ODg3NDk4OTQ4NDgyOwotICAgIHRlc3ROdW1iZXJUb1N0cmlu
Z0VDTUFTY3JpcHQocGhpLCAiMS42MTgwMzM5ODg3NDk4OTUiKTsKKyAgICB1c2luZyBMaW1pdHMg
PSBzdGQ6Om51bWVyaWNfbGltaXRzPGRvdWJsZT47CisKKyAgICBFWFBFQ1RfU1RSRVEoIkluZmlu
aXR5IiwgdGVzdFN0cmluZ051bWJlckZpeGVkV2lkdGgoTGltaXRzOjppbmZpbml0eSgpKSk7Cisg
ICAgRVhQRUNUX1NUUkVRKCItSW5maW5pdHkiLCB0ZXN0U3RyaW5nTnVtYmVyRml4ZWRXaWR0aCgt
TGltaXRzOjppbmZpbml0eSgpKSk7CisKKyAgICBFWFBFQ1RfU1RSRVEoIk5hTiIsIHRlc3RTdHJp
bmdOdW1iZXJGaXhlZFdpZHRoKC1MaW1pdHM6OnF1aWV0X05hTigpKSk7CisKKyAgICBFWFBFQ1Rf
U1RSRVEoIjAuMDAwMDAwIiwgdGVzdFN0cmluZ051bWJlckZpeGVkV2lkdGgoMCkpOworICAgIEVY
UEVDVF9TVFJFUSgiMC4wMDAwMDAiLCB0ZXN0U3RyaW5nTnVtYmVyRml4ZWRXaWR0aCgtMCkpOwor
CisgICAgRVhQRUNUX1NUUkVRKCIwLjAwMDAwMCIsIHRlc3RTdHJpbmdOdW1iZXJGaXhlZFdpZHRo
KExpbWl0czo6bWluKCkpKTsKKyAgICBFWFBFQ1RfU1RSRVEoIiIsIHRlc3RTdHJpbmdOdW1iZXJG
aXhlZFdpZHRoKExpbWl0czo6bG93ZXN0KCkpKTsKKyAgICBFWFBFQ1RfU1RSRVEoIiIsIHRlc3RT
dHJpbmdOdW1iZXJGaXhlZFdpZHRoKExpbWl0czo6bWF4KCkpKTsKKworICAgIEVYUEVDVF9TVFJF
USgiMy4xNDE1OTMiLCB0ZXN0U3RyaW5nTnVtYmVyRml4ZWRXaWR0aChwaURvdWJsZSkpOworICAg
IEVYUEVDVF9TVFJFUSgiMy4xNDE1OTMiLCB0ZXN0U3RyaW5nTnVtYmVyRml4ZWRXaWR0aChwaUZs
b2F0KSk7CisgICAgRVhQRUNUX1NUUkVRKCIxLjU3MDc5NiIsIHRlc3RTdHJpbmdOdW1iZXJGaXhl
ZFdpZHRoKHBpT3ZlclR3b0RvdWJsZSkpOworICAgIEVYUEVDVF9TVFJFUSgiMS41NzA3OTYiLCB0
ZXN0U3RyaW5nTnVtYmVyRml4ZWRXaWR0aChwaU92ZXJUd29GbG9hdCkpOworICAgIEVYUEVDVF9T
VFJFUSgiMC43ODUzOTgiLCB0ZXN0U3RyaW5nTnVtYmVyRml4ZWRXaWR0aChwaU92ZXJGb3VyRG91
YmxlKSk7CisgICAgRVhQRUNUX1NUUkVRKCIwLjc4NTM5OCIsIHRlc3RTdHJpbmdOdW1iZXJGaXhl
ZFdpZHRoKHBpT3ZlckZvdXJGbG9hdCkpOworCisgICAgRVhQRUNUX1NUUkVRKCIyLjcxODI4MiIs
IHRlc3RTdHJpbmdOdW1iZXJGaXhlZFdpZHRoKDIuNzE4MjgxODI4NDU5MDQ1MjM1MzYwMjg3NDcx
MzUyNjYyNDk3NzU3MjQ3MDkzNjk5OTUpKTsKKworICAgIEVYUEVDVF9TVFJFUSgiMjk5NzkyNDU4
LjAwMDAwMCIsIHRlc3RTdHJpbmdOdW1iZXJGaXhlZFdpZHRoKDI5OTc5MjQ1OCkpOworCisgICAg
RVhQRUNUX1NUUkVRKCIxLjYxODAzNCIsIHRlc3RTdHJpbmdOdW1iZXJGaXhlZFdpZHRoKDEuNjE4
MDMzOTg4NzQ5ODk0ODQ4MikpOworCisgICAgRVhQRUNUX1NUUkVRKCIxMDAwLjAwMDAwMCIsIHRl
c3RTdHJpbmdOdW1iZXJGaXhlZFdpZHRoKDFlMykpOworICAgIEVYUEVDVF9TVFJFUSgiMTAwMDAw
MDAwMDAuMDAwMDAwIiwgdGVzdFN0cmluZ051bWJlckZpeGVkV2lkdGgoMWUxMCkpOworICAgIEVY
UEVDVF9TVFJFUSgiMTAwMDAwMDAwMDAwMDAwMDAwMDAwLjAwMDAwMCIsIHRlc3RTdHJpbmdOdW1i
ZXJGaXhlZFdpZHRoKDFlMjApKTsKKyAgICBFWFBFQ1RfU1RSRVEoIjEwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuMDAwMDAwIiwgdGVzdFN0cmluZ051bWJlckZpeGVkV2lkdGgoMWUyMSkpOworICAgIEVY
UEVDVF9TVFJFUSgiMTAwMDAwMDAwMDAwMDAwMDAxOTg4NDYyNDgzODY1Ni4wMDAwMDAiLCB0ZXN0
U3RyaW5nTnVtYmVyRml4ZWRXaWR0aCgxZTMwKSk7CisKKyAgICBFWFBFQ1RfU1RSRVEoIjExMDAu
MDAwMDAwIiwgdGVzdFN0cmluZ051bWJlckZpeGVkV2lkdGgoMS4xZTMpKTsKKyAgICBFWFBFQ1Rf
U1RSRVEoIjExMDAwMDAwMDAwLjAwMDAwMCIsIHRlc3RTdHJpbmdOdW1iZXJGaXhlZFdpZHRoKDEu
MWUxMCkpOworICAgIEVYUEVDVF9TVFJFUSgiMTEwMDAwMDAwMDAwMDAwMDAwMDAwLjAwMDAwMCIs
IHRlc3RTdHJpbmdOdW1iZXJGaXhlZFdpZHRoKDEuMWUyMCkpOworICAgIEVYUEVDVF9TVFJFUSgi
MTEwMDAwMDAwMDAwMDAwMDAwMDAwMC4wMDAwMDAiLCB0ZXN0U3RyaW5nTnVtYmVyRml4ZWRXaWR0
aCgxLjFlMjEpKTsKKyAgICBFWFBFQ1RfU1RSRVEoIjEwOTk5OTk5OTk5OTk5OTk5OTM3MjU1ODk2
NTE0NTYuMDAwMDAwIiwgdGVzdFN0cmluZ051bWJlckZpeGVkV2lkdGgoMS4xZTMwKSk7Cit9CisK
K3N0YXRpYyBpbmxpbmUgY29uc3QgY2hhciogdGVzdFN0cmluZ051bWJlcihkb3VibGUgbnVtYmVy
KQoreworICAgIHN0YXRpYyBjaGFyIHRlc3RCdWZmZXJbMTAwXTsKKyAgICBzdGQ6OnN0cm5jcHko
dGVzdEJ1ZmZlciwgU3RyaW5nOjpudW1iZXJUb1N0cmluZ0VDTUFTY3JpcHQobnVtYmVyKS51dGY4
KCkuZGF0YSgpLCAxMDApOworICAgIHJldHVybiB0ZXN0QnVmZmVyOworfQorCitURVNUKFdURiwg
U3RyaW5nTnVtYmVyKQoreworICAgIHVzaW5nIExpbWl0cyA9IHN0ZDo6bnVtZXJpY19saW1pdHM8
ZG91YmxlPjsKKworICAgIEVYUEVDVF9TVFJFUSgiSW5maW5pdHkiLCB0ZXN0U3RyaW5nTnVtYmVy
KExpbWl0czo6aW5maW5pdHkoKSkpOworICAgIEVYUEVDVF9TVFJFUSgiLUluZmluaXR5IiwgdGVz
dFN0cmluZ051bWJlcigtTGltaXRzOjppbmZpbml0eSgpKSk7CisKKyAgICBFWFBFQ1RfU1RSRVEo
Ik5hTiIsIHRlc3RTdHJpbmdOdW1iZXIoLUxpbWl0czo6cXVpZXRfTmFOKCkpKTsKKworICAgIEVY
UEVDVF9TVFJFUSgiMCIsIHRlc3RTdHJpbmdOdW1iZXIoMCkpOworICAgIEVYUEVDVF9TVFJFUSgi
MCIsIHRlc3RTdHJpbmdOdW1iZXIoLTApKTsKKworICAgIEVYUEVDVF9TVFJFUSgiMi4yMjUwNzM4
NTg1MDcyMDE0ZS0zMDgiLCB0ZXN0U3RyaW5nTnVtYmVyKExpbWl0czo6bWluKCkpKTsKKyAgICBF
WFBFQ1RfU1RSRVEoIi0xLjc5NzY5MzEzNDg2MjMxNTdlKzMwOCIsIHRlc3RTdHJpbmdOdW1iZXIo
TGltaXRzOjpsb3dlc3QoKSkpOworICAgIEVYUEVDVF9TVFJFUSgiMS43OTc2OTMxMzQ4NjIzMTU3
ZSszMDgiLCB0ZXN0U3RyaW5nTnVtYmVyKExpbWl0czo6bWF4KCkpKTsKKworICAgIEVYUEVDVF9T
VFJFUSgiMy4xNDE1OTI2NTM1ODk3OTMiLCB0ZXN0U3RyaW5nTnVtYmVyKHBpRG91YmxlKSk7Cisg
ICAgRVhQRUNUX1NUUkVRKCIzLjE0MTU5Mjc0MTAxMjU3MzIiLCB0ZXN0U3RyaW5nTnVtYmVyKHBp
RmxvYXQpKTsKKyAgICBFWFBFQ1RfU1RSRVEoIjEuNTcwNzk2MzI2Nzk0ODk2NiIsIHRlc3RTdHJp
bmdOdW1iZXIocGlPdmVyVHdvRG91YmxlKSk7CisgICAgRVhQRUNUX1NUUkVRKCIxLjU3MDc5NjM3
MDUwNjI4NjYiLCB0ZXN0U3RyaW5nTnVtYmVyKHBpT3ZlclR3b0Zsb2F0KSk7CisgICAgRVhQRUNU
X1NUUkVRKCIwLjc4NTM5ODE2MzM5NzQ0ODMiLCB0ZXN0U3RyaW5nTnVtYmVyKHBpT3ZlckZvdXJE
b3VibGUpKTsKKyAgICBFWFBFQ1RfU1RSRVEoIjAuNzg1Mzk4MTg1MjUzMTQzMyIsIHRlc3RTdHJp
bmdOdW1iZXIocGlPdmVyRm91ckZsb2F0KSk7CisKKyAgICBFWFBFQ1RfU1RSRVEoIjIuNzE4Mjgx
ODI4NDU5MDQ1IiwgdGVzdFN0cmluZ051bWJlcigyLjcxODI4MTgyODQ1OTA0NTIzNTM2MDI4NzQ3
MTM1MjY2MjQ5Nzc1NzI0NzA5MzY5OTk1KSk7CisKKyAgICBFWFBFQ1RfU1RSRVEoIjI5OTc5MjQ1
OCIsIHRlc3RTdHJpbmdOdW1iZXIoMjk5NzkyNDU4KSk7CisKKyAgICBFWFBFQ1RfU1RSRVEoIjEu
NjE4MDMzOTg4NzQ5ODk1IiwgdGVzdFN0cmluZ051bWJlcigxLjYxODAzMzk4ODc0OTg5NDg0ODIp
KTsKKworICAgIEVYUEVDVF9TVFJFUSgiMTAwMCIsIHRlc3RTdHJpbmdOdW1iZXIoMWUzKSk7Cisg
ICAgRVhQRUNUX1NUUkVRKCIxMDAwMDAwMDAwMCIsIHRlc3RTdHJpbmdOdW1iZXIoMWUxMCkpOwor
ICAgIEVYUEVDVF9TVFJFUSgiMTAwMDAwMDAwMDAwMDAwMDAwMDAwIiwgdGVzdFN0cmluZ051bWJl
cigxZTIwKSk7CisgICAgRVhQRUNUX1NUUkVRKCIxZSsyMSIsIHRlc3RTdHJpbmdOdW1iZXIoMWUy
MSkpOworICAgIEVYUEVDVF9TVFJFUSgiMWUrMzAiLCB0ZXN0U3RyaW5nTnVtYmVyKDFlMzApKTsK
KworICAgIEVYUEVDVF9TVFJFUSgiMTEwMCIsIHRlc3RTdHJpbmdOdW1iZXIoMS4xZTMpKTsKKyAg
ICBFWFBFQ1RfU1RSRVEoIjExMDAwMDAwMDAwIiwgdGVzdFN0cmluZ051bWJlcigxLjFlMTApKTsK
KyAgICBFWFBFQ1RfU1RSRVEoIjExMDAwMDAwMDAwMDAwMDAwMDAwMCIsIHRlc3RTdHJpbmdOdW1i
ZXIoMS4xZTIwKSk7CisgICAgRVhQRUNUX1NUUkVRKCIxLjFlKzIxIiwgdGVzdFN0cmluZ051bWJl
cigxLjFlMjEpKTsKKyAgICBFWFBFQ1RfU1RSRVEoIjEuMWUrMzAiLCB0ZXN0U3RyaW5nTnVtYmVy
KDEuMWUzMCkpOwogfQogCiBURVNUKFdURiwgU3RyaW5nUmVwbGFjZVdpdGhMaXRlcmFsKQogewog
ICAgIC8vIENhc2VzIGZvciA4Qml0IHNvdXJjZS4KICAgICBTdHJpbmcgdGVzdFN0cmluZyA9ICIx
MjI0IjsKLSAgICBBU1NFUlRfVFJVRSh0ZXN0U3RyaW5nLmlzOEJpdCgpKTsKKyAgICBFWFBFQ1Rf
VFJVRSh0ZXN0U3RyaW5nLmlzOEJpdCgpKTsKICAgICB0ZXN0U3RyaW5nLnJlcGxhY2VXaXRoTGl0
ZXJhbCgnMicsICIiKTsKLSAgICBBU1NFUlRfU1RSRVEoIjE0IiwgdGVzdFN0cmluZy51dGY4KCku
ZGF0YSgpKTsKKyAgICBFWFBFQ1RfU1RSRVEoIjE0IiwgdGVzdFN0cmluZy51dGY4KCkuZGF0YSgp
KTsKIAogICAgIHRlc3RTdHJpbmcgPSAiMTIyNCI7Ci0gICAgQVNTRVJUX1RSVUUodGVzdFN0cmlu
Zy5pczhCaXQoKSk7CisgICAgRVhQRUNUX1RSVUUodGVzdFN0cmluZy5pczhCaXQoKSk7CiAgICAg
dGVzdFN0cmluZy5yZXBsYWNlV2l0aExpdGVyYWwoJzInLCAiMyIpOwotICAgIEFTU0VSVF9TVFJF
USgiMTMzNCIsIHRlc3RTdHJpbmcudXRmOCgpLmRhdGEoKSk7CisgICAgRVhQRUNUX1NUUkVRKCIx
MzM0IiwgdGVzdFN0cmluZy51dGY4KCkuZGF0YSgpKTsKIAogICAgIHRlc3RTdHJpbmcgPSAiMTIy
NCI7Ci0gICAgQVNTRVJUX1RSVUUodGVzdFN0cmluZy5pczhCaXQoKSk7CisgICAgRVhQRUNUX1RS
VUUodGVzdFN0cmluZy5pczhCaXQoKSk7CiAgICAgdGVzdFN0cmluZy5yZXBsYWNlV2l0aExpdGVy
YWwoJzInLCAiNTU1Iik7Ci0gICAgQVNTRVJUX1NUUkVRKCIxNTU1NTU1NCIsIHRlc3RTdHJpbmcu
dXRmOCgpLmRhdGEoKSk7CisgICAgRVhQRUNUX1NUUkVRKCIxNTU1NTU1NCIsIHRlc3RTdHJpbmcu
dXRmOCgpLmRhdGEoKSk7CiAKICAgICB0ZXN0U3RyaW5nID0gIjEyMjQiOwotICAgIEFTU0VSVF9U
UlVFKHRlc3RTdHJpbmcuaXM4Qml0KCkpOworICAgIEVYUEVDVF9UUlVFKHRlc3RTdHJpbmcuaXM4
Qml0KCkpOwogICAgIHRlc3RTdHJpbmcucmVwbGFjZVdpdGhMaXRlcmFsKCczJywgIk5vdEZvdW5k
Iik7Ci0gICAgQVNTRVJUX1NUUkVRKCIxMjI0IiwgdGVzdFN0cmluZy51dGY4KCkuZGF0YSgpKTsK
KyAgICBFWFBFQ1RfU1RSRVEoIjEyMjQiLCB0ZXN0U3RyaW5nLnV0ZjgoKS5kYXRhKCkpOwogCiAg
ICAgLy8gQ2FzZXMgZm9yIDE2Qml0IHNvdXJjZS4KICAgICB0ZXN0U3RyaW5nID0gU3RyaW5nOjpm
cm9tVVRGOCgicsOpc3Vtw6kiKTsKLSAgICBBU1NFUlRfRkFMU0UodGVzdFN0cmluZy5pczhCaXQo
KSk7CisgICAgRVhQRUNUX0ZBTFNFKHRlc3RTdHJpbmcuaXM4Qml0KCkpOwogICAgIHRlc3RTdHJp
bmcucmVwbGFjZVdpdGhMaXRlcmFsKFVDaGFyKDB4MDBFOSAvKlUrMDBFOSBpcyAnw6knKi8pLCAi
ZSIpOwotICAgIEFTU0VSVF9TVFJFUSgicmVzdW1lIiwgdGVzdFN0cmluZy51dGY4KCkuZGF0YSgp
KTsKKyAgICBFWFBFQ1RfU1RSRVEoInJlc3VtZSIsIHRlc3RTdHJpbmcudXRmOCgpLmRhdGEoKSk7
CiAKICAgICB0ZXN0U3RyaW5nID0gU3RyaW5nOjpmcm9tVVRGOCgicsOpc3Vtw6kiKTsKLSAgICBB
U1NFUlRfRkFMU0UodGVzdFN0cmluZy5pczhCaXQoKSk7CisgICAgRVhQRUNUX0ZBTFNFKHRlc3RT
dHJpbmcuaXM4Qml0KCkpOwogICAgIHRlc3RTdHJpbmcucmVwbGFjZVdpdGhMaXRlcmFsKFVDaGFy
KDB4MDBFOSAvKlUrMDBFOSBpcyAnw6knKi8pLCAiIik7Ci0gICAgQVNTRVJUX1NUUkVRKCJyc3Vt
IiwgdGVzdFN0cmluZy51dGY4KCkuZGF0YSgpKTsKKyAgICBFWFBFQ1RfU1RSRVEoInJzdW0iLCB0
ZXN0U3RyaW5nLnV0ZjgoKS5kYXRhKCkpOwogCiAgICAgdGVzdFN0cmluZyA9IFN0cmluZzo6ZnJv
bVVURjgoInLDqXN1bcOpIik7Ci0gICAgQVNTRVJUX0ZBTFNFKHRlc3RTdHJpbmcuaXM4Qml0KCkp
OworICAgIEVYUEVDVF9GQUxTRSh0ZXN0U3RyaW5nLmlzOEJpdCgpKTsKICAgICB0ZXN0U3RyaW5n
LnJlcGxhY2VXaXRoTGl0ZXJhbCgnMycsICJOb3RGb3VuZCIpOwotICAgIEFTU0VSVF9TVFJFUSgi
csOpc3Vtw6kiLCB0ZXN0U3RyaW5nLnV0ZjgoKS5kYXRhKCkpOworICAgIEVYUEVDVF9TVFJFUSgi
csOpc3Vtw6kiLCB0ZXN0U3RyaW5nLnV0ZjgoKS5kYXRhKCkpOwogfQogCiBURVNUKFdURiwgU3Ry
aW5nSXNvbGF0ZWRDb3B5KQogewogICAgIFN0cmluZyBvcmlnaW5hbCA9ICIxMjM0IjsKICAgICBh
dXRvIGNvcHkgPSBXVEZNb3ZlKG9yaWdpbmFsKS5pc29sYXRlZENvcHkoKTsKLSAgICBBU1NFUlRf
RkFMU0Uob3JpZ2luYWwuaW1wbCgpID09IGNvcHkuaW1wbCgpKTsKKyAgICBFWFBFQ1RfRkFMU0Uo
b3JpZ2luYWwuaW1wbCgpID09IGNvcHkuaW1wbCgpKTsKIH0KIAogVEVTVChXVEYsIFN0cmluZ1Rv
SW50KQpAQCAtMjg1LDMzICszODMsMzMgQEAgVEVTVChXVEYsIFN0cmluZ2hhc0luZml4U3RhcnRp
bmdBdCkKIFRFU1QoV1RGLCBTdHJpbmdFeGlzdGluZ0hhc2gpCiB7CiAgICAgU3RyaW5nIHN0cmlu
ZzEoIlRlbXBsYXRlIExpdGVyYWwiKTsKLSAgICBBU1NFUlRfRkFMU0Uoc3RyaW5nMS5pc051bGwo
KSk7Ci0gICAgQVNTRVJUX0ZBTFNFKHN0cmluZzEuaW1wbCgpLT5oYXNIYXNoKCkpOworICAgIEVY
UEVDVF9GQUxTRShzdHJpbmcxLmlzTnVsbCgpKTsKKyAgICBFWFBFQ1RfRkFMU0Uoc3RyaW5nMS5p
bXBsKCktPmhhc0hhc2goKSk7CiAgICAgc3RyaW5nMS5pbXBsKCktPmhhc2goKTsKLSAgICBBU1NF
UlRfRVEoc3RyaW5nMS5leGlzdGluZ0hhc2goKSwgc3RyaW5nMS5pbXBsKCktPmV4aXN0aW5nSGFz
aCgpKTsKKyAgICBFWFBFQ1RfRVEoc3RyaW5nMS5leGlzdGluZ0hhc2goKSwgc3RyaW5nMS5pbXBs
KCktPmV4aXN0aW5nSGFzaCgpKTsKICAgICBTdHJpbmcgc3RyaW5nMjsKLSAgICBBU1NFUlRfRVEo
c3RyaW5nMi5leGlzdGluZ0hhc2goKSwgMHUpOworICAgIEVYUEVDVF9FUShzdHJpbmcyLmV4aXN0
aW5nSGFzaCgpLCAwdSk7CiB9CiAKIFRFU1QoV1RGLCBTdHJpbmdVbmljb2RlRXF1YWxVQ2hhckFy
cmF5KQogewogICAgIFN0cmluZyBzdHJpbmcxKCJhYmMiKTsKLSAgICBBU1NFUlRfRkFMU0Uoc3Ry
aW5nMS5pc051bGwoKSk7Ci0gICAgQVNTRVJUX1RSVUUoc3RyaW5nMS5pczhCaXQoKSk7CisgICAg
RVhQRUNUX0ZBTFNFKHN0cmluZzEuaXNOdWxsKCkpOworICAgIEVYUEVDVF9UUlVFKHN0cmluZzEu
aXM4Qml0KCkpOwogICAgIFVDaGFyIGFiW10gPSB7ICdhJywgJ2InIH07CiAgICAgVUNoYXIgYWJj
W10gPSB7ICdhJywgJ2InLCAnYycgfTsKICAgICBVQ2hhciBhYmNkW10gPSB7ICdhJywgJ2InLCAn
YycsICdkJyB9OwogICAgIFVDaGFyIGFCY1tdID0geyAnYScsICdCJywgJ2MnIH07Ci0gICAgQVNT
RVJUX0ZBTFNFKGVxdWFsKHN0cmluZzEsIGFiKSk7Ci0gICAgQVNTRVJUX1RSVUUoZXF1YWwoc3Ry
aW5nMSwgYWJjKSk7Ci0gICAgQVNTRVJUX0ZBTFNFKGVxdWFsKHN0cmluZzEsIGFiY2QpKTsKLSAg
ICBBU1NFUlRfRkFMU0UoZXF1YWwoc3RyaW5nMSwgYUJjKSk7CisgICAgRVhQRUNUX0ZBTFNFKGVx
dWFsKHN0cmluZzEsIGFiKSk7CisgICAgRVhQRUNUX1RSVUUoZXF1YWwoc3RyaW5nMSwgYWJjKSk7
CisgICAgRVhQRUNUX0ZBTFNFKGVxdWFsKHN0cmluZzEsIGFiY2QpKTsKKyAgICBFWFBFQ1RfRkFM
U0UoZXF1YWwoc3RyaW5nMSwgYUJjKSk7CiAKICAgICBTdHJpbmcgc3RyaW5nMihhYmMsIDMpOwot
ICAgIEFTU0VSVF9GQUxTRShlcXVhbChzdHJpbmcyLCBhYikpOwotICAgIEFTU0VSVF9UUlVFKGVx
dWFsKHN0cmluZzIsIGFiYykpOwotICAgIEFTU0VSVF9GQUxTRShlcXVhbChzdHJpbmcyLCBhYmNk
KSk7Ci0gICAgQVNTRVJUX0ZBTFNFKGVxdWFsKHN0cmluZzIsIGFCYykpOworICAgIEVYUEVDVF9G
QUxTRShlcXVhbChzdHJpbmcyLCBhYikpOworICAgIEVYUEVDVF9UUlVFKGVxdWFsKHN0cmluZzIs
IGFiYykpOworICAgIEVYUEVDVF9GQUxTRShlcXVhbChzdHJpbmcyLCBhYmNkKSk7CisgICAgRVhQ
RUNUX0ZBTFNFKGVxdWFsKHN0cmluZzIsIGFCYykpOwogfQogCiBURVNUKFdURiwgU3RyaW5nUmln
aHRCYXNpYykKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvSW5qZWN0ZWRCdW5kbGVQYWdlLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlLmNwcAppbmRleCAxN2JjZmEzYzA1YjI0M2JlZGUw
YjE1ODRlNzFiNWNlZmEwODZhN2UwLi40MjlhMmNmMThiMzgxMmYzNTI0Y2E4Zjg5NmUzZTZjMGEw
ZDZhZmY1IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L0luamVjdGVkQnVuZGxlUGFnZS5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2UuY3BwCkBAIC03NTIsOSArNzUyLDkgQEAgc3Rh
dGljIHZvaWQgZHVtcEZyYW1lU2Nyb2xsUG9zaXRpb24oV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwg
U3RyaW5nQnVpbGRlciYgc3RyaW4KICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmRMaXRlcmFs
KCInICIpOwogICAgIH0KICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZExpdGVyYWwoInNjcm9sbGVk
IHRvICIpOwotICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKFdURjo6U3RyaW5nOjpudW1iZXIoeCkp
OworICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kRUNNQVNjcmlwdE51bWJlcih4KTsKICAgICBzdHJp
bmdCdWlsZGVyLmFwcGVuZCgnLCcpOwotICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKFdURjo6U3Ry
aW5nOjpudW1iZXIoeSkpOworICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kRUNNQVNjcmlwdE51bWJl
cih5KTsKICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgnXG4nKTsKIH0KIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGQ3NzJm
ZmE3NGM5MGI5YTFmM2NkM2E3YmYxNTViMmNkY2E5NzgzOWQuLmEwZDdkMjgzNjExMzZhN2FiNmNh
MWU5MzUwMTFiNDhmOTYzZGI2ZDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxNy0xMC0wOCAg
RGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CisKKyAgICAgICAgRml4IGJ1Z3MgcmVsYXRl
ZCB0byBzZXR0aW5nIHJlZmxlY3RlZCBmbG9hdGluZyBwb2ludCBET00gYXR0cmlidXRlcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MDYxCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2RvbS9I
VE1MUHJvZ3Jlc3NFbGVtZW50L3NldC1wcm9ncmVzcy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dDog
VXBkYXRlZCB0ZXN0IHRvIGV4cGVjdAorICAgICAgICBzZXR0aW5nIEhUTUxQcm9ncmVzc0VsZW1l
bnQubWF4IHRvIDAgdG8gaGF2ZSBubyBlZmZlY3QsIHJhdGhlciB0aGFuIHNldHRpbmcgbWF4IHRv
ICIxIi4KKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MUHJvZ3Jlc3NFbGVtZW50L3NldC1wcm9ncmVz
cy1wcm9wZXJ0aWVzLmh0bWw6IERpdHRvLgorCisgICAgICAgICogcGxhdGZvcm0vaW9zLXdrMi9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvZG9tL3JlZmxlY3Rpb24tZm9ybXMt
ZXhwZWN0ZWQudHh0OgorICAgICAgICBVcGRhdGVkIHRvIGV4cGVjdCBtZXRlciByZWZsZWN0aW9u
IHRlc3RzIHRvIHBhc3MuCisKIDIwMTctMTAtMDggIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBs
ZS5jb20+CiAKICAgICAgICAgU291cmNlQnVmZmVyIHJlbW92ZSB0aHJvd3Mgb3V0IHdheSBtb3Jl
IGNvbnRlbnQgdGhhbiByZXF1ZXN0ZWQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4
IGYxZmEzMmNkYTE0MjgwOWY4YjM5NzBiZDllZTIzZDdiNzJhNDU3OWQuLjMzMjQ4YTdiYjNkMDY0
ODAyMzFiYTEzMGMwZDVhOGQyOGEyOTdkYWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDEzIEBACisyMDE3LTEwLTA4ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxl
LmNvbT4KKworICAgICAgICBGaXggYnVncyByZWxhdGVkIHRvIHNldHRpbmcgcmVmbGVjdGVkIGZs
b2F0aW5nIHBvaW50IERPTSBhdHRyaWJ1dGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgwNjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2RvbS9yZWZsZWN0
aW9uLWZvcm1zLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgVXBkYXRlZCB0byBleHBlY3QgbWV0ZXIg
cmVmbGVjdGlvbiB0ZXN0cyB0byBwYXNzLgorCiAyMDE3LTEwLTA3ICBEYXJpbiBBZGxlciAgPGRh
cmluQGFwcGxlLmNvbT4KIAogICAgICAgICBVcGRhdGUgRG9jdW1lbnQuY3JlYXRlRXZlbnQgZm9y
IHJlY2VudCBET00gc3BlY2lmaWNhdGlvbiBjaGFuZ2VzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9IVE1MUHJvZ3Jlc3NFbGVtZW50L3NldC1wcm9ncmVzcy1wcm9wZXJ0aWVzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvc2V0
LXByb2dyZXNzLXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CmluZGV4IDU5YWQzYjMxNDVhMDIxODE3
ZDMzN2FmYTZmN2I2NDRhZTI3MDEyYmIuLjcxY2ZhZGJkMGZkYjIwMWZkNjEwM2NjZTcwZDQ2YTdk
OGNlM2U1NmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxQcm9ncmVzc0Vs
ZW1lbnQvc2V0LXByb2dyZXNzLXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvc2V0LXByb2dyZXNzLXByb3BlcnRpZXMt
ZXhwZWN0ZWQudHh0CkBAIC0yOCw3ICsyOCw3IEBAIFNldCB2YWx1ZSB0byBOYU4sIHNob3VsZCB0
aHJvdwogUEFTUyBwLnZhbHVlID0gTmFOOyB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUaGUg
cHJvdmlkZWQgdmFsdWUgaXMgbm9uLWZpbml0ZS4KIFNldCB2YWx1ZSB0byBudWxsIGFuZCBtYXgg
dG8gMAogUEFTUyBwLnZhbHVlIGlzIDAKLVBBU1MgcC5tYXggaXMgMQorUEFTUyBwLm1heCBpcyAx
MDAKIFBBU1MgcC5wb3NpdGlvbiBpcyAwCiBTZXQgYXR0cmlidXRlcyB0byB2YWxpZCBudW1iZXJz
CiBQQVNTIHAudmFsdWUgaXMgNQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRN
TFByb2dyZXNzRWxlbWVudC9zZXQtcHJvZ3Jlc3MtcHJvcGVydGllcy5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vSFRNTFByb2dyZXNzRWxlbWVudC9zZXQtcHJvZ3Jlc3MtcHJvcGVydGllcy5o
dG1sCmluZGV4IGUzOWY1MmNlYzI3NTdkMjU3YTI1NTJmYzJhNzEzYjNjNTkyOGFkZjcuLjA2YWE2
NTIxOTZkNzgzZTcxODQ2MjMwNmVkMDkwMmM3NTM1Y2Y4NjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvc2V0LXByb2dyZXNzLXByb3BlcnRpZXMu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MUHJvZ3Jlc3NFbGVtZW50L3NldC1w
cm9ncmVzcy1wcm9wZXJ0aWVzLmh0bWwKQEAgLTQ5LDcgKzQ5LDcgQEAgZGVidWcoIlNldCB2YWx1
ZSB0byBudWxsIGFuZCBtYXggdG8gMCIpOwogcC52YWx1ZSA9IG51bGw7CiBwLm1heCA9IDA7CiBz
aG91bGRCZSgicC52YWx1ZSIsICIwIik7Ci1zaG91bGRCZSgicC5tYXgiLCAiMSIpOworc2hvdWxk
QmUoInAubWF4IiwgIjEwMCIpOwogc2hvdWxkQmUoInAucG9zaXRpb24iLCAiMCIpOwogCiBkZWJ1
ZygiU2V0IGF0dHJpYnV0ZXMgdG8gdmFsaWQgbnVtYmVycyIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2RvbS9yZWZsZWN0aW9u
LWZvcm1zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9kb20vcmVmbGVjdGlvbi1mb3Jtcy1leHBlY3RlZC50eHQKaW5kZXggYzA5
MjhhOWFjNjE3ZGM5YjhlY2NkYmRiOWJhMmY5YzA1NzJjYWVkYy4uNjgxMzliNzRkY2M1MmUyY2Vh
MGI1MWZiYzY2OTNhZmM2YWE5MTQ3MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2RvbS9yZWZsZWN0aW9uLWZvcm1zLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvZG9tL3JlZmxlY3Rpb24tZm9ybXMtZXhwZWN0ZWQudHh0CkBAIC02OTk2LDUwICs2OTk2LDUw
IEBAIFBBU1MgbWV0ZXIudGFiSW5kZXg6IElETCBzZXQgdG8gMjE0NzQ4MzY0NwogUEFTUyBtZXRl
ci50YWJJbmRleDogSURMIHNldCB0byAtMjE0NzQ4MzY0OCAKIFBBU1MgbWV0ZXIudmFsdWU6IHR5
cGVvZiBJREwgYXR0cmlidXRlIAogUEFTUyBtZXRlci52YWx1ZTogSURMIGdldCB3aXRoIERPTSBh
dHRyaWJ1dGUgdW5zZXQgCi1GQUlMIG1ldGVyLnZhbHVlOiBJREwgc2V0IHRvIC0xMDAwMDAwMDAw
MCBhc3NlcnRfZXF1YWxzOiBnZXRBdHRyaWJ1dGUoKSBleHBlY3RlZCAiLTEwMDAwMDAwMDAwIiBi
dXQgZ290ICItMS4wMDAwMGUrMSIKK1BBU1MgbWV0ZXIudmFsdWU6IElETCBzZXQgdG8gLTEwMDAw
MDAwMDAwIAogUEFTUyBtZXRlci52YWx1ZTogSURMIHNldCB0byAtMSAKIFBBU1MgbWV0ZXIudmFs
dWU6IElETCBzZXQgdG8gLTAgCiBQQVNTIG1ldGVyLnZhbHVlOiBJREwgc2V0IHRvIDAgCiBQQVNT
IG1ldGVyLnZhbHVlOiBJREwgc2V0IHRvIDEgCi1GQUlMIG1ldGVyLnZhbHVlOiBJREwgc2V0IHRv
IDEwMDAwMDAwMDAwIGFzc2VydF9lcXVhbHM6IGdldEF0dHJpYnV0ZSgpIGV4cGVjdGVkICIxMDAw
MDAwMDAwMCIgYnV0IGdvdCAiMS4wMDAwMGUrMSIKK1BBU1MgbWV0ZXIudmFsdWU6IElETCBzZXQg
dG8gMTAwMDAwMDAwMDAgCiBQQVNTIG1ldGVyLm1pbjogdHlwZW9mIElETCBhdHRyaWJ1dGUgCiBQ
QVNTIG1ldGVyLm1pbjogSURMIGdldCB3aXRoIERPTSBhdHRyaWJ1dGUgdW5zZXQgCi1GQUlMIG1l
dGVyLm1pbjogSURMIHNldCB0byAtMTAwMDAwMDAwMDAgYXNzZXJ0X2VxdWFsczogZ2V0QXR0cmli
dXRlKCkgZXhwZWN0ZWQgIi0xMDAwMDAwMDAwMCIgYnV0IGdvdCAiLTEuMDAwMDBlKzEiCitQQVNT
IG1ldGVyLm1pbjogSURMIHNldCB0byAtMTAwMDAwMDAwMDAgCiBQQVNTIG1ldGVyLm1pbjogSURM
IHNldCB0byAtMSAKIFBBU1MgbWV0ZXIubWluOiBJREwgc2V0IHRvIC0wIAogUEFTUyBtZXRlci5t
aW46IElETCBzZXQgdG8gMCAKIFBBU1MgbWV0ZXIubWluOiBJREwgc2V0IHRvIDEgCi1GQUlMIG1l
dGVyLm1pbjogSURMIHNldCB0byAxMDAwMDAwMDAwMCBhc3NlcnRfZXF1YWxzOiBnZXRBdHRyaWJ1
dGUoKSBleHBlY3RlZCAiMTAwMDAwMDAwMDAiIGJ1dCBnb3QgIjEuMDAwMDBlKzEiCitQQVNTIG1l
dGVyLm1pbjogSURMIHNldCB0byAxMDAwMDAwMDAwMCAKIFBBU1MgbWV0ZXIubWF4OiB0eXBlb2Yg
SURMIGF0dHJpYnV0ZSAKIEZBSUwgbWV0ZXIubWF4OiBJREwgZ2V0IHdpdGggRE9NIGF0dHJpYnV0
ZSB1bnNldCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAwIGJ1dCBnb3QgMQotRkFJTCBtZXRlci5t
YXg6IElETCBzZXQgdG8gLTEwMDAwMDAwMDAwIGFzc2VydF9lcXVhbHM6IGdldEF0dHJpYnV0ZSgp
IGV4cGVjdGVkICItMTAwMDAwMDAwMDAiIGJ1dCBnb3QgIi0xLjAwMDAwZSsxIgorUEFTUyBtZXRl
ci5tYXg6IElETCBzZXQgdG8gLTEwMDAwMDAwMDAwIAogUEFTUyBtZXRlci5tYXg6IElETCBzZXQg
dG8gLTEgCiBQQVNTIG1ldGVyLm1heDogSURMIHNldCB0byAtMCAKIFBBU1MgbWV0ZXIubWF4OiBJ
REwgc2V0IHRvIDAgCiBQQVNTIG1ldGVyLm1heDogSURMIHNldCB0byAxIAotRkFJTCBtZXRlci5t
YXg6IElETCBzZXQgdG8gMTAwMDAwMDAwMDAgYXNzZXJ0X2VxdWFsczogZ2V0QXR0cmlidXRlKCkg
ZXhwZWN0ZWQgIjEwMDAwMDAwMDAwIiBidXQgZ290ICIxLjAwMDAwZSsxIgorUEFTUyBtZXRlci5t
YXg6IElETCBzZXQgdG8gMTAwMDAwMDAwMDAgCiBQQVNTIG1ldGVyLmxvdzogdHlwZW9mIElETCBh
dHRyaWJ1dGUgCiBQQVNTIG1ldGVyLmxvdzogSURMIGdldCB3aXRoIERPTSBhdHRyaWJ1dGUgdW5z
ZXQgCi1GQUlMIG1ldGVyLmxvdzogSURMIHNldCB0byAtMTAwMDAwMDAwMDAgYXNzZXJ0X2VxdWFs
czogZ2V0QXR0cmlidXRlKCkgZXhwZWN0ZWQgIi0xMDAwMDAwMDAwMCIgYnV0IGdvdCAiLTEuMDAw
MDBlKzEiCitQQVNTIG1ldGVyLmxvdzogSURMIHNldCB0byAtMTAwMDAwMDAwMDAgCiBQQVNTIG1l
dGVyLmxvdzogSURMIHNldCB0byAtMSAKIFBBU1MgbWV0ZXIubG93OiBJREwgc2V0IHRvIC0wIAog
UEFTUyBtZXRlci5sb3c6IElETCBzZXQgdG8gMCAKIFBBU1MgbWV0ZXIubG93OiBJREwgc2V0IHRv
IDEgCi1GQUlMIG1ldGVyLmxvdzogSURMIHNldCB0byAxMDAwMDAwMDAwMCBhc3NlcnRfZXF1YWxz
OiBnZXRBdHRyaWJ1dGUoKSBleHBlY3RlZCAiMTAwMDAwMDAwMDAiIGJ1dCBnb3QgIjEuMDAwMDBl
KzEiCitQQVNTIG1ldGVyLmxvdzogSURMIHNldCB0byAxMDAwMDAwMDAwMCAKIFBBU1MgbWV0ZXIu
aGlnaDogdHlwZW9mIElETCBhdHRyaWJ1dGUgCiBGQUlMIG1ldGVyLmhpZ2g6IElETCBnZXQgd2l0
aCBET00gYXR0cmlidXRlIHVuc2V0IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDAgYnV0IGdvdCAx
Ci1GQUlMIG1ldGVyLmhpZ2g6IElETCBzZXQgdG8gLTEwMDAwMDAwMDAwIGFzc2VydF9lcXVhbHM6
IGdldEF0dHJpYnV0ZSgpIGV4cGVjdGVkICItMTAwMDAwMDAwMDAiIGJ1dCBnb3QgIi0xLjAwMDAw
ZSsxIgorUEFTUyBtZXRlci5oaWdoOiBJREwgc2V0IHRvIC0xMDAwMDAwMDAwMCAKIFBBU1MgbWV0
ZXIuaGlnaDogSURMIHNldCB0byAtMSAKIFBBU1MgbWV0ZXIuaGlnaDogSURMIHNldCB0byAtMCAK
IFBBU1MgbWV0ZXIuaGlnaDogSURMIHNldCB0byAwIAogUEFTUyBtZXRlci5oaWdoOiBJREwgc2V0
IHRvIDEgCi1GQUlMIG1ldGVyLmhpZ2g6IElETCBzZXQgdG8gMTAwMDAwMDAwMDAgYXNzZXJ0X2Vx
dWFsczogZ2V0QXR0cmlidXRlKCkgZXhwZWN0ZWQgIjEwMDAwMDAwMDAwIiBidXQgZ290ICIxLjAw
MDAwZSsxIgorUEFTUyBtZXRlci5oaWdoOiBJREwgc2V0IHRvIDEwMDAwMDAwMDAwIAogUEFTUyBt
ZXRlci5vcHRpbXVtOiB0eXBlb2YgSURMIGF0dHJpYnV0ZSAKIEZBSUwgbWV0ZXIub3B0aW11bTog
SURMIGdldCB3aXRoIERPTSBhdHRyaWJ1dGUgdW5zZXQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQg
MCBidXQgZ290IDAuNQotRkFJTCBtZXRlci5vcHRpbXVtOiBJREwgc2V0IHRvIC0xMDAwMDAwMDAw
MCBhc3NlcnRfZXF1YWxzOiBnZXRBdHRyaWJ1dGUoKSBleHBlY3RlZCAiLTEwMDAwMDAwMDAwIiBi
dXQgZ290ICItMS4wMDAwMGUrMSIKK1BBU1MgbWV0ZXIub3B0aW11bTogSURMIHNldCB0byAtMTAw
MDAwMDAwMDAgCiBQQVNTIG1ldGVyLm9wdGltdW06IElETCBzZXQgdG8gLTEgCiBQQVNTIG1ldGVy
Lm9wdGltdW06IElETCBzZXQgdG8gLTAgCiBQQVNTIG1ldGVyLm9wdGltdW06IElETCBzZXQgdG8g
MCAKIFBBU1MgbWV0ZXIub3B0aW11bTogSURMIHNldCB0byAxIAotRkFJTCBtZXRlci5vcHRpbXVt
OiBJREwgc2V0IHRvIDEwMDAwMDAwMDAwIGFzc2VydF9lcXVhbHM6IGdldEF0dHJpYnV0ZSgpIGV4
cGVjdGVkICIxMDAwMDAwMDAwMCIgYnV0IGdvdCAiMS4wMDAwMGUrMSIKK1BBU1MgbWV0ZXIub3B0
aW11bTogSURMIHNldCB0byAxMDAwMDAwMDAwMCAKIChOb3RlOiBtaXNzaW5nIHRlc3RzIGZvciB0
eXBlcyB0b2tlbmxpc3QsIHNldHRhYmxlIHRva2VubGlzdCwgbGltaXRlZCBkb3VibGUuKQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvZG9tL3JlZmxlY3Rpb24tZm9ybXMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvZG9tL3JlZmxlY3Rpb24tZm9ybXMtZXhwZWN0ZWQudHh0CmluZGV4IDBmNTA0ODYzMWMw
YmI2ODcyNWI4ODdhYjVjZGVkNDQ4MTViYzJhYzEuLjFmMjYxNjcwY2UzNTI5NDM4N2FlZTUyMDdk
MjMzNTc1NWM5NzZmNzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2RvbS9yZWZsZWN0aW9uLWZvcm1z
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9kb20vcmVmbGVjdGlvbi1mb3Jtcy1leHBlY3Rl
ZC50eHQKQEAgLTY5OTYsNTAgKzY5OTYsNTAgQEAgUEFTUyBtZXRlci50YWJJbmRleDogSURMIHNl
dCB0byAyMTQ3NDgzNjQ3CiBQQVNTIG1ldGVyLnRhYkluZGV4OiBJREwgc2V0IHRvIC0yMTQ3NDgz
NjQ4IAogUEFTUyBtZXRlci52YWx1ZTogdHlwZW9mIElETCBhdHRyaWJ1dGUgCiBQQVNTIG1ldGVy
LnZhbHVlOiBJREwgZ2V0IHdpdGggRE9NIGF0dHJpYnV0ZSB1bnNldCAKLUZBSUwgbWV0ZXIudmFs
dWU6IElETCBzZXQgdG8gLTEwMDAwMDAwMDAwIGFzc2VydF9lcXVhbHM6IGdldEF0dHJpYnV0ZSgp
IGV4cGVjdGVkICItMTAwMDAwMDAwMDAiIGJ1dCBnb3QgIi0xLjAwMDAwZSsxIgorUEFTUyBtZXRl
ci52YWx1ZTogSURMIHNldCB0byAtMTAwMDAwMDAwMDAgCiBQQVNTIG1ldGVyLnZhbHVlOiBJREwg
c2V0IHRvIC0xIAogUEFTUyBtZXRlci52YWx1ZTogSURMIHNldCB0byAtMCAKIFBBU1MgbWV0ZXIu
dmFsdWU6IElETCBzZXQgdG8gMCAKIFBBU1MgbWV0ZXIudmFsdWU6IElETCBzZXQgdG8gMSAKLUZB
SUwgbWV0ZXIudmFsdWU6IElETCBzZXQgdG8gMTAwMDAwMDAwMDAgYXNzZXJ0X2VxdWFsczogZ2V0
QXR0cmlidXRlKCkgZXhwZWN0ZWQgIjEwMDAwMDAwMDAwIiBidXQgZ290ICIxLjAwMDAwZSsxIgor
UEFTUyBtZXRlci52YWx1ZTogSURMIHNldCB0byAxMDAwMDAwMDAwMCAKIFBBU1MgbWV0ZXIubWlu
OiB0eXBlb2YgSURMIGF0dHJpYnV0ZSAKIFBBU1MgbWV0ZXIubWluOiBJREwgZ2V0IHdpdGggRE9N
IGF0dHJpYnV0ZSB1bnNldCAKLUZBSUwgbWV0ZXIubWluOiBJREwgc2V0IHRvIC0xMDAwMDAwMDAw
MCBhc3NlcnRfZXF1YWxzOiBnZXRBdHRyaWJ1dGUoKSBleHBlY3RlZCAiLTEwMDAwMDAwMDAwIiBi
dXQgZ290ICItMS4wMDAwMGUrMSIKK1BBU1MgbWV0ZXIubWluOiBJREwgc2V0IHRvIC0xMDAwMDAw
MDAwMCAKIFBBU1MgbWV0ZXIubWluOiBJREwgc2V0IHRvIC0xIAogUEFTUyBtZXRlci5taW46IElE
TCBzZXQgdG8gLTAgCiBQQVNTIG1ldGVyLm1pbjogSURMIHNldCB0byAwIAogUEFTUyBtZXRlci5t
aW46IElETCBzZXQgdG8gMSAKLUZBSUwgbWV0ZXIubWluOiBJREwgc2V0IHRvIDEwMDAwMDAwMDAw
IGFzc2VydF9lcXVhbHM6IGdldEF0dHJpYnV0ZSgpIGV4cGVjdGVkICIxMDAwMDAwMDAwMCIgYnV0
IGdvdCAiMS4wMDAwMGUrMSIKK1BBU1MgbWV0ZXIubWluOiBJREwgc2V0IHRvIDEwMDAwMDAwMDAw
IAogUEFTUyBtZXRlci5tYXg6IHR5cGVvZiBJREwgYXR0cmlidXRlIAogRkFJTCBtZXRlci5tYXg6
IElETCBnZXQgd2l0aCBET00gYXR0cmlidXRlIHVuc2V0IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
IDAgYnV0IGdvdCAxCi1GQUlMIG1ldGVyLm1heDogSURMIHNldCB0byAtMTAwMDAwMDAwMDAgYXNz
ZXJ0X2VxdWFsczogZ2V0QXR0cmlidXRlKCkgZXhwZWN0ZWQgIi0xMDAwMDAwMDAwMCIgYnV0IGdv
dCAiLTEuMDAwMDBlKzEiCitQQVNTIG1ldGVyLm1heDogSURMIHNldCB0byAtMTAwMDAwMDAwMDAg
CiBQQVNTIG1ldGVyLm1heDogSURMIHNldCB0byAtMSAKIFBBU1MgbWV0ZXIubWF4OiBJREwgc2V0
IHRvIC0wIAogUEFTUyBtZXRlci5tYXg6IElETCBzZXQgdG8gMCAKIFBBU1MgbWV0ZXIubWF4OiBJ
REwgc2V0IHRvIDEgCi1GQUlMIG1ldGVyLm1heDogSURMIHNldCB0byAxMDAwMDAwMDAwMCBhc3Nl
cnRfZXF1YWxzOiBnZXRBdHRyaWJ1dGUoKSBleHBlY3RlZCAiMTAwMDAwMDAwMDAiIGJ1dCBnb3Qg
IjEuMDAwMDBlKzEiCitQQVNTIG1ldGVyLm1heDogSURMIHNldCB0byAxMDAwMDAwMDAwMCAKIFBB
U1MgbWV0ZXIubG93OiB0eXBlb2YgSURMIGF0dHJpYnV0ZSAKIFBBU1MgbWV0ZXIubG93OiBJREwg
Z2V0IHdpdGggRE9NIGF0dHJpYnV0ZSB1bnNldCAKLUZBSUwgbWV0ZXIubG93OiBJREwgc2V0IHRv
IC0xMDAwMDAwMDAwMCBhc3NlcnRfZXF1YWxzOiBnZXRBdHRyaWJ1dGUoKSBleHBlY3RlZCAiLTEw
MDAwMDAwMDAwIiBidXQgZ290ICItMS4wMDAwMGUrMSIKK1BBU1MgbWV0ZXIubG93OiBJREwgc2V0
IHRvIC0xMDAwMDAwMDAwMCAKIFBBU1MgbWV0ZXIubG93OiBJREwgc2V0IHRvIC0xIAogUEFTUyBt
ZXRlci5sb3c6IElETCBzZXQgdG8gLTAgCiBQQVNTIG1ldGVyLmxvdzogSURMIHNldCB0byAwIAog
UEFTUyBtZXRlci5sb3c6IElETCBzZXQgdG8gMSAKLUZBSUwgbWV0ZXIubG93OiBJREwgc2V0IHRv
IDEwMDAwMDAwMDAwIGFzc2VydF9lcXVhbHM6IGdldEF0dHJpYnV0ZSgpIGV4cGVjdGVkICIxMDAw
MDAwMDAwMCIgYnV0IGdvdCAiMS4wMDAwMGUrMSIKK1BBU1MgbWV0ZXIubG93OiBJREwgc2V0IHRv
IDEwMDAwMDAwMDAwIAogUEFTUyBtZXRlci5oaWdoOiB0eXBlb2YgSURMIGF0dHJpYnV0ZSAKIEZB
SUwgbWV0ZXIuaGlnaDogSURMIGdldCB3aXRoIERPTSBhdHRyaWJ1dGUgdW5zZXQgYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgMCBidXQgZ290IDEKLUZBSUwgbWV0ZXIuaGlnaDogSURMIHNldCB0byAt
MTAwMDAwMDAwMDAgYXNzZXJ0X2VxdWFsczogZ2V0QXR0cmlidXRlKCkgZXhwZWN0ZWQgIi0xMDAw
MDAwMDAwMCIgYnV0IGdvdCAiLTEuMDAwMDBlKzEiCitQQVNTIG1ldGVyLmhpZ2g6IElETCBzZXQg
dG8gLTEwMDAwMDAwMDAwIAogUEFTUyBtZXRlci5oaWdoOiBJREwgc2V0IHRvIC0xIAogUEFTUyBt
ZXRlci5oaWdoOiBJREwgc2V0IHRvIC0wIAogUEFTUyBtZXRlci5oaWdoOiBJREwgc2V0IHRvIDAg
CiBQQVNTIG1ldGVyLmhpZ2g6IElETCBzZXQgdG8gMSAKLUZBSUwgbWV0ZXIuaGlnaDogSURMIHNl
dCB0byAxMDAwMDAwMDAwMCBhc3NlcnRfZXF1YWxzOiBnZXRBdHRyaWJ1dGUoKSBleHBlY3RlZCAi
MTAwMDAwMDAwMDAiIGJ1dCBnb3QgIjEuMDAwMDBlKzEiCitQQVNTIG1ldGVyLmhpZ2g6IElETCBz
ZXQgdG8gMTAwMDAwMDAwMDAgCiBQQVNTIG1ldGVyLm9wdGltdW06IHR5cGVvZiBJREwgYXR0cmli
dXRlIAogRkFJTCBtZXRlci5vcHRpbXVtOiBJREwgZ2V0IHdpdGggRE9NIGF0dHJpYnV0ZSB1bnNl
dCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAwIGJ1dCBnb3QgMC41Ci1GQUlMIG1ldGVyLm9wdGlt
dW06IElETCBzZXQgdG8gLTEwMDAwMDAwMDAwIGFzc2VydF9lcXVhbHM6IGdldEF0dHJpYnV0ZSgp
IGV4cGVjdGVkICItMTAwMDAwMDAwMDAiIGJ1dCBnb3QgIi0xLjAwMDAwZSsxIgorUEFTUyBtZXRl
ci5vcHRpbXVtOiBJREwgc2V0IHRvIC0xMDAwMDAwMDAwMCAKIFBBU1MgbWV0ZXIub3B0aW11bTog
SURMIHNldCB0byAtMSAKIFBBU1MgbWV0ZXIub3B0aW11bTogSURMIHNldCB0byAtMCAKIFBBU1Mg
bWV0ZXIub3B0aW11bTogSURMIHNldCB0byAwIAogUEFTUyBtZXRlci5vcHRpbXVtOiBJREwgc2V0
IHRvIDEgCi1GQUlMIG1ldGVyLm9wdGltdW06IElETCBzZXQgdG8gMTAwMDAwMDAwMDAgYXNzZXJ0
X2VxdWFsczogZ2V0QXR0cmlidXRlKCkgZXhwZWN0ZWQgIjEwMDAwMDAwMDAwIiBidXQgZ290ICIx
LjAwMDAwZSsxIgorUEFTUyBtZXRlci5vcHRpbXVtOiBJREwgc2V0IHRvIDEwMDAwMDAwMDAwIAog
KE5vdGU6IG1pc3NpbmcgdGVzdHMgZm9yIHR5cGVzIHRva2VubGlzdCwgc2V0dGFibGUgdG9rZW5s
aXN0LCBsaW1pdGVkIGRvdWJsZS4pCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>