<?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>207898</bug_id>
          
          <creation_ts>2020-02-18 10:51:16 -0800</creation_ts>
          <short_desc>Add an os_log PrintStream</short_desc>
          <delta_ts>2020-02-18 21:38:19 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <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="Keith Miller">keith_miller</reporter>
          <assigned_to name="Keith Miller">keith_miller</assigned_to>
          <cc>annulen</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>saam</cc>
    
    <cc>sergio</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1620221</commentid>
    <comment_count>0</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2020-02-18 10:51:16 -0800</bug_when>
    <thetext>Add an os_log PrintStream</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1620227</commentid>
    <comment_count>1</comment_count>
      <attachid>391066</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2020-02-18 11:00:31 -0800</bug_when>
    <thetext>Created attachment 391066
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1620229</commentid>
    <comment_count>2</comment_count>
      <attachid>391068</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2020-02-18 11:02:32 -0800</bug_when>
    <thetext>Created attachment 391068
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1620232</commentid>
    <comment_count>3</comment_count>
      <attachid>391068</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2020-02-18 11:06:14 -0800</bug_when>
    <thetext>Comment on attachment 391068
Patch

Patch missing files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1620233</commentid>
    <comment_count>4</comment_count>
      <attachid>391069</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2020-02-18 11:07:13 -0800</bug_when>
    <thetext>Created attachment 391069
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1620274</commentid>
    <comment_count>5</comment_count>
      <attachid>391077</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2020-02-18 12:43:44 -0800</bug_when>
    <thetext>Created attachment 391077
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1620291</commentid>
    <comment_count>6</comment_count>
      <attachid>391077</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2020-02-18 13:15:16 -0800</bug_when>
    <thetext>Comment on attachment 391077
Patch

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

r=me with JSC options added.

&gt; Source/JavaScriptCore/jsc.cpp:2941
&gt; +#if OS(DARWIN)
&gt; +            setDataFile(OSLogPrintStream::open(&quot;com.apple.JavaScriptCore&quot;, &quot;DataLog&quot;, OS_LOG_TYPE_INFO));
&gt; +#else

Please add a JSC option to invoke this so that we can also enable this os logging for the WebProcess, or whatever process is using JSC.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1620468</commentid>
    <comment_count>7</comment_count>
      <attachid>391127</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2020-02-18 18:58:47 -0800</bug_when>
    <thetext>Created attachment 391127
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1620475</commentid>
    <comment_count>8</comment_count>
      <attachid>391127</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2020-02-18 19:32:53 -0800</bug_when>
    <thetext>Comment on attachment 391127
Patch for landing

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

&gt; Source/JavaScriptCore/runtime/Options.cpp:621
&gt; +                RELEASE_ASSERT(useOSLog());

Shouldn&apos;t this be Options::useOSLog()?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1620501</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-18 20:24:12 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 391127:

editing/spelling/spellcheck-async-remove-frame.html bug 158401 (authors: morrita@google.com, rniwa@webkit.org, and tony@chromium.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1620506</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-18 20:24:42 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 391127:

imported/w3c/web-platform-tests/IndexedDB/fire-success-event-exception.html bug 206554 (authors: shvaikalesh@gmail.com and youennf@gmail.com)
editing/spelling/spellcheck-attribute.html bug 206178 (authors: g.czajkowski@samsung.com, mark.lam@apple.com, and rniwa@webkit.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1620532</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-18 21:37:15 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 391127:

editing/spelling/spellcheck-attribute.html bug 206178 (authors: g.czajkowski@samsung.com, mark.lam@apple.com, and rniwa@webkit.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1620533</commentid>
    <comment_count>12</comment_count>
      <attachid>391127</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-18 21:37:49 -0800</bug_when>
    <thetext>Comment on attachment 391127
Patch for landing

Clearing flags on attachment: 391127

Committed r256910: &lt;https://trac.webkit.org/changeset/256910&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1620534</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-18 21:37:51 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1620535</commentid>
    <comment_count>14</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-02-18 21:38:19 -0800</bug_when>
    <thetext>&lt;rdar://problem/59579166&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>391066</attachid>
            <date>2020-02-18 11:00:31 -0800</date>
            <delta_ts>2020-02-18 11:02:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-207898-20200218110030.patch</filename>
            <type>text/plain</type>
            <size>12221</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU2Nzg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
NTVlOTIwMjBlMzczMjRhOGJjZjBjYWEzNTNmNzc4ZmUxYTMxYWQwLi4zMjJjNDZjMDQyYWRjNGUx
NWIwZjkyYjkzMTk5ZmQ4MjgxNjY1OGZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAyMC0wMi0xOCAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KKworICAgICAgICBBZGQgYW4gb3NfbG9nIFByaW50U3RyZWFtCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDc4OTgKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgY2xpIG9wdGlvbiB0byB3cml0
ZSBkYXRhTG9ncyB0byBvc19sb2cuCisKKyAgICAgICAgKiBqc2MuY3BwOgorICAgICAgICAocHJp
bnRVc2FnZVN0YXRlbWVudCk6CisgICAgICAgIChDb21tYW5kTGluZTo6cGFyc2VBcmd1bWVudHMp
OgorCiAyMDIwLTAyLTE3ICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAg
ICAgICAgW0pTQ10gSklUVGh1bmsgc2hvdWxkIGJlIEhhc2hTZXQ8V2VhazxOYXRpdmVFeGVjdXRh
YmxlPj4gd2l0aCBhcHByb3ByaWF0ZSBHQyB3ZWFrbmVzcyBoYW5kbGluZwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRleCA4YjI4MjI4
YmI3NzMxZDAxNzAwNTZlOWUyZmRjNDkxNzQ5MDkyNjEwLi41YzgzZjEzYThhZDU3ZDVmYmFhOWUw
ODIyMmM0NjJlYjYyMmMwMDNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIwLTAyLTE4ICBLZWl0
aCBNaWxsZXIgIDxrZWl0aF9taWxsZXJAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhbiBvc19s
b2cgUHJpbnRTdHJlYW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIwNzg5OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFdoZW4gZGVidWdnaW5nIG9uIGlPUyB3cml0aW5nIHRvIGEgZmlsZSBjYW4gYmUgaGFy
ZCAodGhhbmtzCisgICAgICAgIFNhbmRib3hpbmchKSAgc28gbG9nZ2luZyBvdXIgZGF0YUxvZ3Mg
dG8gb3NfbG9nIHdvdWxkIG1ha2UgdGhpbmdzCisgICAgICAgIGVhc2llci4gVGhpcyBwYXRjaCBh
ZGRzIGEgbmV3IHN1YmNsYXNzIG9mIFByaW50U3RyZWFtLAorICAgICAgICBPU0xvZ1ByaW50U3Ry
ZWFtLCB0aGF0IGNvbnZlcnRzIG91ciBmaWxlIHdyaXRlcyB0bworICAgICAgICBvc19sb2cuIFVu
Zm9ydHVuYXRlbHksIG9zX2xvZyBkb2Vzbid0IGJ1ZmZlciB3cml0ZXMgc28KKyAgICAgICAgT1NM
b2dQcmludFN0cmVhbSBuZWVkcyB0byBkbyBpdHMgb3duIGJ1ZmZlcmluZy4gZS5nLiBpZiB5b3Ug
Y2FsbAorICAgICAgICBgZGF0YUxvZ0xuKCJzb21lIHRleHQgd2l0aCBhICIsIG51bWJlciwgIiBh
bmQgYSAiLCBzdHJpbmcpO2AKKyAgICAgICAgb3NfbG9nIHdpbGwgbG9nIHRoYXQgYXMgNSBzZXBh
cmF0ZSBsb2dzLgorCisgICAgICAgICogV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6Cisg
ICAgICAgICogd3RmL0RhdGFMb2cuY3BwOgorICAgICAgICAoV1RGOjpzZXREYXRhRmlsZSk6Cisg
ICAgICAgICogd3RmL0RhdGFMb2cuaDoKKyAgICAgICAgKiB3dGYvUHJpbnRTdHJlYW0uY3BwOgor
ICAgICAgICAoV1RGOjpwcmludEV4cGVjdGVkQ1N0cmluZ0hlbHBlcik6CisgICAgICAgIChXVEY6
OnByaW50SW50ZXJuYWwpOgorICAgICAgICAqIHd0Zi90ZXh0L0NTdHJpbmcuY3BwOgorICAgICAg
ICAoV1RGOjpDU3RyaW5nOjpncm93KToKKyAgICAgICAgKiB3dGYvdGV4dC9DU3RyaW5nLmg6CisK
IDIwMjAtMDItMTcgIERlYW4gSmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgogCiAgICAgICAgIFtX
ZWJHTF0gRW5hYmxlIEFOR0xFIGJ5IGRlZmF1bHQgZm9yIENvY29hIHBsYXRmb3JtcwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvanNjLmNwcAppbmRleCA5MTY2ZDUyY2Y1NGE1Y2FkYTBkMzg1YzMyZjAyZGM5OTMxNjY3YzJi
Li5iOTkyMmIyMWExOTY5OGQwMDZmNmMyMjM1ZTIzMjE5NDZlMWRjYTA4IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
anNjLmNwcApAQCAtOTQsNiArOTQsNyBAQAogI2luY2x1ZGUgPHd0Zi9NZW1vcnlQcmVzc3VyZUhh
bmRsZXIuaD4KICNpbmNsdWRlIDx3dGYvTW9ub3RvbmljVGltZS5oPgogI2luY2x1ZGUgPHd0Zi9O
ZXZlckRlc3Ryb3llZC5oPgorI2luY2x1ZGUgPHd0Zi9PU0xvZ1ByaW50U3RyZWFtLmg+CiAjaW5j
bHVkZSA8d3RmL1Njb3BlLmg+CiAjaW5jbHVkZSA8d3RmL1N0cmluZ1ByaW50U3RyZWFtLmg+CiAj
aW5jbHVkZSA8d3RmL1VSTC5oPgpAQCAtMjgyMSw2ICsyODIyLDcgQEAgc3RhdGljIE5PX1JFVFVS
TiB2b2lkIHByaW50VXNhZ2VTdGF0ZW1lbnQoYm9vbCBoZWxwID0gZmFsc2UpCiAgICAgZnByaW50
ZihzdGRlcnIsICIgIC0tZHVtcE9wdGlvbnMgICAgICAgICAgICAgIER1bXBzIGFsbCBub24tZGVm
YXVsdCBKU0MgVk0gb3B0aW9ucyBiZWZvcmUgY29udGludWluZ1xuIik7CiAgICAgZnByaW50Zihz
dGRlcnIsICIgIC0tPGpzYyBWTSBvcHRpb24+PTx2YWx1ZT4gIFNldHMgdGhlIHNwZWNpZmllZCBK
U0MgVk0gb3B0aW9uXG4iKTsKICAgICBmcHJpbnRmKHN0ZGVyciwgIiAgLS1kZXN0cm95LXZtICAg
ICAgICAgICAgICAgRGVzdHJveSBWTSBiZWZvcmUgZXhpdGluZ1xuIik7CisgICAgZnByaW50Zihz
dGRlcnIsICIgIC0tb3MtbG9nICAgICAgICAgICAgICAgICAgIHBpcGUgZGF0YUxvZyBjYWxscyB0
byBvc19sb2cgKERhcndpbiBvbmx5KVxuIik7CiAgICAgZnByaW50ZihzdGRlcnIsICJcbiIpOwog
ICAgIGZwcmludGYoc3RkZXJyLCAiRmlsZXMgd2l0aCBhIC5tanMgZXh0ZW5zaW9uIHdpbGwgYWx3
YXlzIGJlIGV2YWx1YXRlZCBhcyBtb2R1bGVzLlxuIik7CiAgICAgZnByaW50ZihzdGRlcnIsICJc
biIpOwpAQCAtMjkzMyw2ICsyOTM1LDE0IEBAIHZvaWQgQ29tbWFuZExpbmU6OnBhcnNlQXJndW1l
bnRzKGludCBhcmdjLCBjaGFyKiogYXJndikKICAgICAgICAgICAgIG1fZGVzdHJveVZNID0gdHJ1
ZTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CisgICAgICAgIGlmICghc3RyY21w
KGFyZywgIi0tb3MtbG9nIikpIHsKKyNpZiBPUyhEQVJXSU4pCisgICAgICAgICAgICBzZXREYXRh
RmlsZShPU0xvZ1ByaW50U3RyZWFtOjpvcGVuKCJjb20uYXBwbGUuSmF2YVNjcmlwdENvcmUiLCAi
RGF0YUxvZyIsIE9TX0xPR19UWVBFX0lORk8pKTsKKyNlbHNlCisgICAgICAgICAgICBwcmludFVz
YWdlU3RhdGVtZW50KCk7CisjZW5kaWYKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9
CiAgICAgICAgIGlmICghc3RyY21wKGFyZywgIi0tZGlzYWJsZU9wdGlvbnNGcmVlemluZ0ZvclRl
c3RpbmciKSkgewogICAgICAgICAgICAgQ29uZmlnOjpkaXNhYmxlRnJlZXppbmdGb3JUZXN0aW5n
KCk7CiAgICAgICAgICAgICBjb250aW51ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvV1RGLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IGRiMDk2YWMzMGEzMzMyYzU0YTYzMzhkMWVlMjYzZWRkZWM1M2VmODIu
Ljg5NmVhZTZhZTBiZGU3Y2RkNDY5Njg5MGQ2ZWVlMDIwYjNiY2JjYzcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dURi9X
VEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNzgsNiArNzgsNyBAQAogCQk1MzExQkQ1
MzFFQTcxQ0FEMDA1MjUyODEgLyogU2lnbmFscy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MzExQkQ1MTFFQTcxQ0FEMDA1MjUyODEgLyogU2lnbmFs
cy5jcHAgKi87IH07CiAJCTUzMTFCRDVDMUVBODIyRjkwMDUyNTI4MSAvKiBUaHJlYWRNZXNzYWdl
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUzMTFC
RDVCMUVBODIyRjkwMDUyNTI4MSAvKiBUaHJlYWRNZXNzYWdlLmNwcCAqLzsgfTsKIAkJNTM1MzRG
MkExRUMwRTEwRTAwMTQxQjJGIC8qIE1hY2hFeGNlcHRpb25zLmRlZnMgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MzUzNEYyOTFFQzBFMTBFMDAxNDFCMkYg
LyogTWFjaEV4Y2VwdGlvbnMuZGVmcyAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChDbGll
bnQsIFNlcnZlciwgKTsgfTsgfTsKKwkJNTNGQzcwRDAyM0ZCOTUwQzAwNUIxOTkwIC8qIE9TTG9n
UHJpbnRTdHJlYW0uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNTNGQzcwQ0YyM0ZCOTUwQzAwNUIxOTkwIC8qIE9TTG9nUHJpbnRTdHJlYW0uY3BwICov
OyB9OwogCQk1QzFGMDU5MzIxNjQzNTZCMDAzOTMwMkMgLyogQ0ZVUkxFeHRyYXMuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUMxRjA1OTEyMTY0MzU2
QjAwMzkzMDJDIC8qIENGVVJMRXh0cmFzLmNwcCAqLzsgfTsKIAkJNUMxRjA1OTUyMTY0MzdCMzAw
MzkzMDJDIC8qIFVSTENGLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDVDMUYwNTk0MjE2NDM3QjMwMDM5MzAyQyAvKiBVUkxDRi5jcHAgKi87IH07CiAJ
CTVDQzBFRTc1MjE2MjlGMTkwMEExQTg0MiAvKiBVUkxQYXJzZXIuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUNDMEVFNzMyMTYyOUYxOTAwQTFBODQy
IC8qIFVSTFBhcnNlci5jcHAgKi87IH07CkBAIC0zOTksNiArNDAwLDggQEAKIAkJNTNFQzI1M0Mx
RTk1QUQzMDAwMDgzMUI5IC8qIFByaW9yaXR5UXVldWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gUHJpb3JpdHlRdWV1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk1M0YwOEExQkEzOUQ0OUE4QkFEMzY5QTEgLyogU3RkU2V0LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFN0ZFNldC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1
M0YxRDk4NjIwNDc3Qjk4MDBFQkM2QkYgLyogRnVuY3Rpb25UcmFpdHMuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBleHBsaWNpdEZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuaDsgcGF0
aCA9IEZ1bmN0aW9uVHJhaXRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUzRkM3
MENFMjNGQjk1MEMwMDVCMTk5MCAvKiBPU0xvZ1ByaW50U3RyZWFtLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IE9TTG9nUHJpbnRTdHJlYW0uaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJNTNGQzcwQ0YyM0ZCOTUwQzAwNUIxOTkwIC8qIE9TTG9nUHJpbnRTdHJlYW0u
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gT1NMb2dQcmludFN0cmVh
bS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU1MzA3MUM5MUM0MDQyNzIwMDM4
NDg5OCAvKiBUaW55TFJVQ2FjaGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
VGlueUxSVUNhY2hlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU1OTdGODJDMUQ5
NEI5OTcwMDY2QkMyMSAvKiBTeW5jaHJvbml6ZWRGaXhlZFF1ZXVlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFN5bmNocm9uaXplZEZpeGVkUXVldWUuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNUI0MzM4M0E1RDBCNDYzQzk0MzNEOTMzIC8qIEluZGV4TWFwLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluZGV4TWFwLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC0xMTEyLDYgKzExMTUsOCBAQAogCQkJCTI3NURGQjZCMjM4QkRG
NzIwMDEyMzBFMiAvKiBPcHRpb25TZXRIYXNoLmggKi8sCiAJCQkJMEY5NDk1ODMxQzU3MUNDOTAw
NDEzQTQ4IC8qIE9yZGVyTWFrZXIuaCAqLywKIAkJCQlBOEE0NzJENzE1MUE4MjVCMDA0MTIzRkYg
LyogT1NBbGxvY2F0b3IuaCAqLywKKwkJCQk1M0ZDNzBDRjIzRkI5NTBDMDA1QjE5OTAgLyogT1NM
b2dQcmludFN0cmVhbS5jcHAgKi8sCisJCQkJNTNGQzcwQ0UyM0ZCOTUwQzAwNUIxOTkwIC8qIE9T
TG9nUHJpbnRTdHJlYW0uaCAqLywKIAkJCQk3Q0JCQTA3MzE5QkI3RkRDMDBCQkYwMjUgLyogT1NP
YmplY3RQdHIuaCAqLywKIAkJCQlBOEE0NzJEQTE1MUE4MjVCMDA0MTIzRkYgLyogT1NSYW5kb21T
b3VyY2UuY3BwICovLAogCQkJCUE4QTQ3MkRCMTUxQTgyNUIwMDQxMjNGRiAvKiBPU1JhbmRvbVNv
dXJjZS5oICovLApAQCAtMTY2NCw2ICsxNjY5LDcgQEAKIAkJCQlBOEE0NzNGNDE1MUE4MjVCMDA0
MTIzRkYgLyogTnVtYmVyT2ZDb3Jlcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4MzQ4QkEwRTIx
RkJDMEQ1MDBGRDMwNTQgLyogT2JqZWN0SWRlbnRpZmllci5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlBM0VFNUMzQTIxRkZBQzVGMDBGQUJENjEgLyogT1NBbGxvY2F0b3JQT1NJWC5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQk1M0ZDNzBEMDIzRkI5NTBDMDA1QjE5OTAgLyogT1NMb2dQcmludFN0cmVh
bS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOEE0NzNGOTE1MUE4MjVCMDA0MTIzRkYgLyogT1NS
YW5kb21Tb3VyY2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThBNDc0MDIxNTFBODI1QjAwNDEy
M0ZGIC8qIFBhZ2VCbG9jay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkZGMTlEQzFCQjMzNEVC
MDA4ODZEOTEgLyogUGFyYWxsZWxIZWxwZXJQb29sLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi93dGYvRGF0YUxvZy5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9EYXRhTG9n
LmNwcAppbmRleCAwMmQzMjRiNTcxMzJhMDBiMThmNjczOTcyOGJkMWY1MzY2ODNlN2YyLi5iOTU1
NzcwZTUzMmIwMzk5YjMyOGUxMTNjNDQ1NzNmYjc4MjU0ZTIyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V1RGL3d0Zi9EYXRhTG9nLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9EYXRhTG9nLmNwcApAQCAt
MTY2LDYgKzE2NiwxMSBAQCB2b2lkIHNldERhdGFGaWxlKGNvbnN0IGNoYXIqIHBhdGgpCiAgICAg
c19maWxlID0gbmV3IChzX2xvY2tlZEZpbGVEYXRhKSBMb2NrZWRQcmludFN0cmVhbShzdGQ6OnVu
aXF1ZV9wdHI8RmlsZVByaW50U3RyZWFtPihmaWxlKSk7CiB9CiAKK3ZvaWQgc2V0RGF0YUZpbGUo
c3RkOjp1bmlxdWVfcHRyPFByaW50U3RyZWFtPiYmIGZpbGUpCit7CisgICAgc19maWxlID0gZmls
ZS5yZWxlYXNlKCk7Cit9CisKIFByaW50U3RyZWFtJiBkYXRhRmlsZSgpCiB7CiAgICAgaW5pdGlh
bGl6ZUxvZ0ZpbGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0RhdGFMb2cuaCBiL1Nv
dXJjZS9XVEYvd3RmL0RhdGFMb2cuaAppbmRleCA5ZTNjNzY2YmQ5N2YzNWExYWUxNzc5MjdkZTA4
ZGZjNTYwYjgyY2NlLi4wODFkMGMxNzE5Njc3NDcwYTg0MzcxZTUwMTI1OTQxZGI3MGMxYmYwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9EYXRhTG9nLmgKKysrIGIvU291cmNlL1dURi93dGYv
RGF0YUxvZy5oCkBAIC0zNCw2ICszNCw3IEBAIG5hbWVzcGFjZSBXVEYgewogCiBXVEZfRVhQT1JU
X1BSSVZBVEUgUHJpbnRTdHJlYW0mIGRhdGFGaWxlKCk7CiBXVEZfRVhQT1JUX1BSSVZBVEUgdm9p
ZCBzZXREYXRhRmlsZShjb25zdCBjaGFyKiBwYXRoKTsKK1dURl9FWFBPUlRfUFJJVkFURSB2b2lk
IHNldERhdGFGaWxlKHN0ZDo6dW5pcXVlX3B0cjxQcmludFN0cmVhbT4mJik7CiAKIFdURl9FWFBP
UlRfUFJJVkFURSB2b2lkIGRhdGFMb2dGVihjb25zdCBjaGFyKiBmb3JtYXQsIHZhX2xpc3QpIFdU
Rl9BVFRSSUJVVEVfUFJJTlRGKDEsIDApOwogV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgZGF0YUxv
Z0YoY29uc3QgY2hhciogZm9ybWF0LCAuLi4pIFdURl9BVFRSSUJVVEVfUFJJTlRGKDEsIDIpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUHJpbnRTdHJlYW0uY3BwIGIvU291cmNlL1dURi93
dGYvUHJpbnRTdHJlYW0uY3BwCmluZGV4IDcxZDgxOWYwMzNmYTExZGJlMDYyNDA1NDdiZDIwY2I5
NmRmOWRkZTkuLjNiMTQ3OWM4NzU3MmUwYjAxODNjMzBlMjAxMTA5OTNhYTFkMTlmYjkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1ByaW50U3RyZWFtLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0
Zi9QcmludFN0cmVhbS5jcHAKQEAgLTc3LDEzICs3NywxOCBAQCB2b2lkIHByaW50SW50ZXJuYWwo
UHJpbnRTdHJlYW0mIG91dCwgY29uc3QgY2hhciogc3RyaW5nKQogc3RhdGljIHZvaWQgcHJpbnRF
eHBlY3RlZENTdHJpbmdIZWxwZXIoUHJpbnRTdHJlYW0mIG91dCwgY29uc3QgY2hhciogdHlwZSwg
RXhwZWN0ZWQ8Q1N0cmluZywgVVRGOENvbnZlcnNpb25FcnJvcj4gZXhwZWN0ZWRDU3RyaW5nKQog
ewogICAgIGlmIChVTkxJS0VMWSghZXhwZWN0ZWRDU3RyaW5nKSkgewotICAgICAgICBpZiAoZXhw
ZWN0ZWRDU3RyaW5nLmVycm9yKCkgPT0gVVRGOENvbnZlcnNpb25FcnJvcjo6T3V0T2ZNZW1vcnkp
Ci0gICAgICAgICAgICBvdXQucHJpbnQoIihPdXQgb2YgbWVtb3J5IHdoaWxlIGNvbnZlcnRpbmcg
IiwgdHlwZSwgIiB0byB1dGY4KSIpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBvdXQucHJp
bnQoIihmYWlsZWQgdG8gY29udmVydCAiLCB0eXBlLCAiIHRvIHV0ZjgpIik7CisgICAgICAgIGlm
IChleHBlY3RlZENTdHJpbmcuZXJyb3IoKSA9PSBVVEY4Q29udmVyc2lvbkVycm9yOjpPdXRPZk1l
bW9yeSkgeworICAgICAgICAgICAgcHJpbnRJbnRlcm5hbChvdXQsICIoT3V0IG9mIG1lbW9yeSB3
aGlsZSBjb252ZXJ0aW5nICIpOworICAgICAgICAgICAgcHJpbnRJbnRlcm5hbChvdXQsIHR5cGUp
OworICAgICAgICAgICAgcHJpbnRJbnRlcm5hbChvdXQsICIgdG8gdXRmOCkiKTsKKyAgICAgICAg
fSBlbHNlIHsKKyAgICAgICAgICAgIHByaW50SW50ZXJuYWwob3V0LCAiKGZhaWxlZCB0byBjb252
ZXJ0ICIpOworICAgICAgICAgICAgcHJpbnRJbnRlcm5hbChvdXQsIHR5cGUpOworICAgICAgICAg
ICAgcHJpbnRJbnRlcm5hbChvdXQsICIgdG8gdXRmOCkiKTsKKyAgICAgICAgfQogICAgICAgICBy
ZXR1cm47CiAgICAgfQotICAgIG91dC5wcmludChleHBlY3RlZENTdHJpbmcudmFsdWUoKSk7Cisg
ICAgcHJpbnRJbnRlcm5hbChvdXQsIGV4cGVjdGVkQ1N0cmluZy52YWx1ZSgpKTsKIH0KIAogdm9p
ZCBwcmludEludGVybmFsKFByaW50U3RyZWFtJiBvdXQsIGNvbnN0IFN0cmluZ1ZpZXcmIHN0cmlu
ZykKQEAgLTkzLDcgKzk4LDcgQEAgdm9pZCBwcmludEludGVybmFsKFByaW50U3RyZWFtJiBvdXQs
IGNvbnN0IFN0cmluZ1ZpZXcmIHN0cmluZykKIAogdm9pZCBwcmludEludGVybmFsKFByaW50U3Ry
ZWFtJiBvdXQsIGNvbnN0IENTdHJpbmcmIHN0cmluZykKIHsKLSAgICBvdXQucHJpbnQoc3RyaW5n
LmRhdGEoKSk7CisgICAgcHJpbnRJbnRlcm5hbChvdXQsIHN0cmluZy5kYXRhKCkpOwogfQogCiB2
b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mIG91dCwgY29uc3QgU3RyaW5nJiBzdHJpbmcp
CkBAIC0xMDQsNyArMTA5LDcgQEAgdm9pZCBwcmludEludGVybmFsKFByaW50U3RyZWFtJiBvdXQs
IGNvbnN0IFN0cmluZyYgc3RyaW5nKQogdm9pZCBwcmludEludGVybmFsKFByaW50U3RyZWFtJiBv
dXQsIGNvbnN0IFN0cmluZ0ltcGwqIHN0cmluZykKIHsKICAgICBpZiAoIXN0cmluZykgewotICAg
ICAgICBvdXQucHJpbnQoIihudWxsIFN0cmluZ0ltcGwqKSIpOworICAgICAgICBwcmludEludGVy
bmFsKG91dCwgIihudWxsIFN0cmluZ0ltcGwqKSIpOwogICAgICAgICByZXR1cm47CiAgICAgfQog
ICAgIHByaW50RXhwZWN0ZWRDU3RyaW5nSGVscGVyKG91dCwgIlN0cmluZ0ltcGwqIiwgc3RyaW5n
LT50cnlHZXRVdGY4KCkpOwpAQCAtMTY3LDcgKzE3Miw3IEBAIHZvaWQgcHJpbnRJbnRlcm5hbChQ
cmludFN0cmVhbSYgb3V0LCB1bnNpZ25lZCBsb25nIGxvbmcgdmFsdWUpCiAKIHZvaWQgcHJpbnRJ
bnRlcm5hbChQcmludFN0cmVhbSYgb3V0LCBmbG9hdCB2YWx1ZSkKIHsKLSAgICBvdXQucHJpbnQo
c3RhdGljX2Nhc3Q8ZG91YmxlPih2YWx1ZSkpOworICAgIHByaW50SW50ZXJuYWwob3V0LCBzdGF0
aWNfY2FzdDxkb3VibGU+KHZhbHVlKSk7CiB9CiAKIHZvaWQgcHJpbnRJbnRlcm5hbChQcmludFN0
cmVhbSYgb3V0LCBkb3VibGUgdmFsdWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0
L0NTdHJpbmcuY3BwIGIvU291cmNlL1dURi93dGYvdGV4dC9DU3RyaW5nLmNwcAppbmRleCAwMzJk
ZjY1NmFmYzZjODM1NDFiMGRiYjAzNTUxYTNmNWFiOGJhMGFlLi4zNjFmMjY4NDhhZTNjNmY3ZWYy
ZmRhN2RjNTdjNmQ3MDhmM2NmMGJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0NT
dHJpbmcuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQvQ1N0cmluZy5jcHAKQEAgLTEwNiw2
ICsxMDYsMTUgQEAgYm9vbCBDU3RyaW5nOjppc1NhZmVUb1NlbmRUb0Fub3RoZXJUaHJlYWQoKSBj
b25zdAogICAgIHJldHVybiAhbV9idWZmZXIgfHwgbV9idWZmZXItPmhhc09uZVJlZigpOwogfQog
Cit2b2lkIENTdHJpbmc6Omdyb3coc2l6ZV90IG5ld0xlbmd0aCkKK3sKKyAgICBBU1NFUlQobmV3
TGVuZ3RoID4gbGVuZ3RoKCkpOworCisgICAgYXV0byBuZXdCdWZmZXIgPSBDU3RyaW5nQnVmZmVy
OjpjcmVhdGVVbmluaXRpYWxpemVkKG5ld0xlbmd0aCk7CisgICAgbWVtY3B5KG5ld0J1ZmZlci0+
bXV0YWJsZURhdGEoKSwgbV9idWZmZXItPmRhdGEoKSwgbGVuZ3RoKCkgKyAxKTsKKyAgICBtX2J1
ZmZlciA9IFdURk1vdmUobmV3QnVmZmVyKTsKK30KKwogYm9vbCBvcGVyYXRvcj09KGNvbnN0IENT
dHJpbmcmIGEsIGNvbnN0IENTdHJpbmcmIGIpCiB7CiAgICAgaWYgKGEuaXNOdWxsKCkgIT0gYi5p
c051bGwoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3RleHQvQ1N0cmluZy5oIGIvU291
cmNlL1dURi93dGYvdGV4dC9DU3RyaW5nLmgKaW5kZXggY2RiZWFhMzM0ZWY2MDE0NjY1NmZiNzli
NzQzNzE0NTM2ZWE0NzQ3ZS4uMTE2YjQyM2Y3ZjQ3NzBkMWE0OTY4M2EyY2VhNjdmMzc4OTcyMWIx
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvdGV4dC9DU3RyaW5nLmgKKysrIGIvU291cmNl
L1dURi93dGYvdGV4dC9DU3RyaW5nLmgKQEAgLTg0LDYgKzg0LDkgQEAgcHVibGljOgogICAgIAog
ICAgIFdURl9FWFBPUlRfUFJJVkFURSB1bnNpZ25lZCBoYXNoKCkgY29uc3Q7CiAKKyAgICAvLyBV
c2VmdWwgaWYgeW91IHdhbnQgeW91ciBDU3RyaW5nIHRvIGhvbGQgZHluYW1pYyBkYXRhLgorICAg
IFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIGdyb3coc2l6ZV90IG5ld0xlbmd0aCk7CisKIHByaXZh
dGU6CiAgICAgdm9pZCBjb3B5QnVmZmVySWZOZWVkZWQoKTsKICAgICB2b2lkIGluaXQoY29uc3Qg
Y2hhciosIHNpemVfdCBsZW5ndGgpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>391068</attachid>
            <date>2020-02-18 11:02:32 -0800</date>
            <delta_ts>2020-02-18 11:07:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-207898-20200218110231.patch</filename>
            <type>text/plain</type>
            <size>12221</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU2Nzg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
NTVlOTIwMjBlMzczMjRhOGJjZjBjYWEzNTNmNzc4ZmUxYTMxYWQwLi4zMjJjNDZjMDQyYWRjNGUx
NWIwZjkyYjkzMTk5ZmQ4MjgxNjY1OGZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAyMC0wMi0xOCAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KKworICAgICAgICBBZGQgYW4gb3NfbG9nIFByaW50U3RyZWFtCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDc4OTgKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgY2xpIG9wdGlvbiB0byB3cml0
ZSBkYXRhTG9ncyB0byBvc19sb2cuCisKKyAgICAgICAgKiBqc2MuY3BwOgorICAgICAgICAocHJp
bnRVc2FnZVN0YXRlbWVudCk6CisgICAgICAgIChDb21tYW5kTGluZTo6cGFyc2VBcmd1bWVudHMp
OgorCiAyMDIwLTAyLTE3ICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAg
ICAgICAgW0pTQ10gSklUVGh1bmsgc2hvdWxkIGJlIEhhc2hTZXQ8V2VhazxOYXRpdmVFeGVjdXRh
YmxlPj4gd2l0aCBhcHByb3ByaWF0ZSBHQyB3ZWFrbmVzcyBoYW5kbGluZwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRleCA4YjI4MjI4
YmI3NzMxZDAxNzAwNTZlOWUyZmRjNDkxNzQ5MDkyNjEwLi41YzgzZjEzYThhZDU3ZDVmYmFhOWUw
ODIyMmM0NjJlYjYyMmMwMDNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIwLTAyLTE4ICBLZWl0
aCBNaWxsZXIgIDxrZWl0aF9taWxsZXJAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhbiBvc19s
b2cgUHJpbnRTdHJlYW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIwNzg5OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFdoZW4gZGVidWdnaW5nIG9uIGlPUyB3cml0aW5nIHRvIGEgZmlsZSBjYW4gYmUgaGFy
ZCAodGhhbmtzCisgICAgICAgIFNhbmRib3hpbmchKSAgc28gbG9nZ2luZyBvdXIgZGF0YUxvZ3Mg
dG8gb3NfbG9nIHdvdWxkIG1ha2UgdGhpbmdzCisgICAgICAgIGVhc2llci4gVGhpcyBwYXRjaCBh
ZGRzIGEgbmV3IHN1YmNsYXNzIG9mIFByaW50U3RyZWFtLAorICAgICAgICBPU0xvZ1ByaW50U3Ry
ZWFtLCB0aGF0IGNvbnZlcnRzIG91ciBmaWxlIHdyaXRlcyB0bworICAgICAgICBvc19sb2cuIFVu
Zm9ydHVuYXRlbHksIG9zX2xvZyBkb2Vzbid0IGJ1ZmZlciB3cml0ZXMgc28KKyAgICAgICAgT1NM
b2dQcmludFN0cmVhbSBuZWVkcyB0byBkbyBpdHMgb3duIGJ1ZmZlcmluZy4gZS5nLiBpZiB5b3Ug
Y2FsbAorICAgICAgICBgZGF0YUxvZ0xuKCJzb21lIHRleHQgd2l0aCBhICIsIG51bWJlciwgIiBh
bmQgYSAiLCBzdHJpbmcpO2AKKyAgICAgICAgb3NfbG9nIHdpbGwgbG9nIHRoYXQgYXMgNSBzZXBh
cmF0ZSBsb2dzLgorCisgICAgICAgICogV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6Cisg
ICAgICAgICogd3RmL0RhdGFMb2cuY3BwOgorICAgICAgICAoV1RGOjpzZXREYXRhRmlsZSk6Cisg
ICAgICAgICogd3RmL0RhdGFMb2cuaDoKKyAgICAgICAgKiB3dGYvUHJpbnRTdHJlYW0uY3BwOgor
ICAgICAgICAoV1RGOjpwcmludEV4cGVjdGVkQ1N0cmluZ0hlbHBlcik6CisgICAgICAgIChXVEY6
OnByaW50SW50ZXJuYWwpOgorICAgICAgICAqIHd0Zi90ZXh0L0NTdHJpbmcuY3BwOgorICAgICAg
ICAoV1RGOjpDU3RyaW5nOjpncm93KToKKyAgICAgICAgKiB3dGYvdGV4dC9DU3RyaW5nLmg6CisK
IDIwMjAtMDItMTcgIERlYW4gSmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgogCiAgICAgICAgIFtX
ZWJHTF0gRW5hYmxlIEFOR0xFIGJ5IGRlZmF1bHQgZm9yIENvY29hIHBsYXRmb3JtcwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvanNjLmNwcAppbmRleCA5MTY2ZDUyY2Y1NGE1Y2FkYTBkMzg1YzMyZjAyZGM5OTMxNjY3YzJi
Li5iOTkyMmIyMWExOTY5OGQwMDZmNmMyMjM1ZTIzMjE5NDZlMWRjYTA4IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
anNjLmNwcApAQCAtOTQsNiArOTQsNyBAQAogI2luY2x1ZGUgPHd0Zi9NZW1vcnlQcmVzc3VyZUhh
bmRsZXIuaD4KICNpbmNsdWRlIDx3dGYvTW9ub3RvbmljVGltZS5oPgogI2luY2x1ZGUgPHd0Zi9O
ZXZlckRlc3Ryb3llZC5oPgorI2luY2x1ZGUgPHd0Zi9PU0xvZ1ByaW50U3RyZWFtLmg+CiAjaW5j
bHVkZSA8d3RmL1Njb3BlLmg+CiAjaW5jbHVkZSA8d3RmL1N0cmluZ1ByaW50U3RyZWFtLmg+CiAj
aW5jbHVkZSA8d3RmL1VSTC5oPgpAQCAtMjgyMSw2ICsyODIyLDcgQEAgc3RhdGljIE5PX1JFVFVS
TiB2b2lkIHByaW50VXNhZ2VTdGF0ZW1lbnQoYm9vbCBoZWxwID0gZmFsc2UpCiAgICAgZnByaW50
ZihzdGRlcnIsICIgIC0tZHVtcE9wdGlvbnMgICAgICAgICAgICAgIER1bXBzIGFsbCBub24tZGVm
YXVsdCBKU0MgVk0gb3B0aW9ucyBiZWZvcmUgY29udGludWluZ1xuIik7CiAgICAgZnByaW50Zihz
dGRlcnIsICIgIC0tPGpzYyBWTSBvcHRpb24+PTx2YWx1ZT4gIFNldHMgdGhlIHNwZWNpZmllZCBK
U0MgVk0gb3B0aW9uXG4iKTsKICAgICBmcHJpbnRmKHN0ZGVyciwgIiAgLS1kZXN0cm95LXZtICAg
ICAgICAgICAgICAgRGVzdHJveSBWTSBiZWZvcmUgZXhpdGluZ1xuIik7CisgICAgZnByaW50Zihz
dGRlcnIsICIgIC0tb3MtbG9nICAgICAgICAgICAgICAgICAgIHBpcGUgZGF0YUxvZyBjYWxscyB0
byBvc19sb2cgKERhcndpbiBvbmx5KVxuIik7CiAgICAgZnByaW50ZihzdGRlcnIsICJcbiIpOwog
ICAgIGZwcmludGYoc3RkZXJyLCAiRmlsZXMgd2l0aCBhIC5tanMgZXh0ZW5zaW9uIHdpbGwgYWx3
YXlzIGJlIGV2YWx1YXRlZCBhcyBtb2R1bGVzLlxuIik7CiAgICAgZnByaW50ZihzdGRlcnIsICJc
biIpOwpAQCAtMjkzMyw2ICsyOTM1LDE0IEBAIHZvaWQgQ29tbWFuZExpbmU6OnBhcnNlQXJndW1l
bnRzKGludCBhcmdjLCBjaGFyKiogYXJndikKICAgICAgICAgICAgIG1fZGVzdHJveVZNID0gdHJ1
ZTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CisgICAgICAgIGlmICghc3RyY21w
KGFyZywgIi0tb3MtbG9nIikpIHsKKyNpZiBPUyhEQVJXSU4pCisgICAgICAgICAgICBzZXREYXRh
RmlsZShPU0xvZ1ByaW50U3RyZWFtOjpvcGVuKCJjb20uYXBwbGUuSmF2YVNjcmlwdENvcmUiLCAi
RGF0YUxvZyIsIE9TX0xPR19UWVBFX0lORk8pKTsKKyNlbHNlCisgICAgICAgICAgICBwcmludFVz
YWdlU3RhdGVtZW50KCk7CisjZW5kaWYKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9
CiAgICAgICAgIGlmICghc3RyY21wKGFyZywgIi0tZGlzYWJsZU9wdGlvbnNGcmVlemluZ0ZvclRl
c3RpbmciKSkgewogICAgICAgICAgICAgQ29uZmlnOjpkaXNhYmxlRnJlZXppbmdGb3JUZXN0aW5n
KCk7CiAgICAgICAgICAgICBjb250aW51ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvV1RGLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IGRiMDk2YWMzMGEzMzMyYzU0YTYzMzhkMWVlMjYzZWRkZWM1M2VmODIu
Ljg5NmVhZTZhZTBiZGU3Y2RkNDY5Njg5MGQ2ZWVlMDIwYjNiY2JjYzcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dURi9X
VEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNzgsNiArNzgsNyBAQAogCQk1MzExQkQ1
MzFFQTcxQ0FEMDA1MjUyODEgLyogU2lnbmFscy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MzExQkQ1MTFFQTcxQ0FEMDA1MjUyODEgLyogU2lnbmFs
cy5jcHAgKi87IH07CiAJCTUzMTFCRDVDMUVBODIyRjkwMDUyNTI4MSAvKiBUaHJlYWRNZXNzYWdl
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUzMTFC
RDVCMUVBODIyRjkwMDUyNTI4MSAvKiBUaHJlYWRNZXNzYWdlLmNwcCAqLzsgfTsKIAkJNTM1MzRG
MkExRUMwRTEwRTAwMTQxQjJGIC8qIE1hY2hFeGNlcHRpb25zLmRlZnMgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MzUzNEYyOTFFQzBFMTBFMDAxNDFCMkYg
LyogTWFjaEV4Y2VwdGlvbnMuZGVmcyAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChDbGll
bnQsIFNlcnZlciwgKTsgfTsgfTsKKwkJNTNGQzcwRDAyM0ZCOTUwQzAwNUIxOTkwIC8qIE9TTG9n
UHJpbnRTdHJlYW0uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNTNGQzcwQ0YyM0ZCOTUwQzAwNUIxOTkwIC8qIE9TTG9nUHJpbnRTdHJlYW0uY3BwICov
OyB9OwogCQk1QzFGMDU5MzIxNjQzNTZCMDAzOTMwMkMgLyogQ0ZVUkxFeHRyYXMuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUMxRjA1OTEyMTY0MzU2
QjAwMzkzMDJDIC8qIENGVVJMRXh0cmFzLmNwcCAqLzsgfTsKIAkJNUMxRjA1OTUyMTY0MzdCMzAw
MzkzMDJDIC8qIFVSTENGLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDVDMUYwNTk0MjE2NDM3QjMwMDM5MzAyQyAvKiBVUkxDRi5jcHAgKi87IH07CiAJ
CTVDQzBFRTc1MjE2MjlGMTkwMEExQTg0MiAvKiBVUkxQYXJzZXIuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUNDMEVFNzMyMTYyOUYxOTAwQTFBODQy
IC8qIFVSTFBhcnNlci5jcHAgKi87IH07CkBAIC0zOTksNiArNDAwLDggQEAKIAkJNTNFQzI1M0Mx
RTk1QUQzMDAwMDgzMUI5IC8qIFByaW9yaXR5UXVldWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gUHJpb3JpdHlRdWV1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk1M0YwOEExQkEzOUQ0OUE4QkFEMzY5QTEgLyogU3RkU2V0LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFN0ZFNldC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1
M0YxRDk4NjIwNDc3Qjk4MDBFQkM2QkYgLyogRnVuY3Rpb25UcmFpdHMuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBleHBsaWNpdEZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuaDsgcGF0
aCA9IEZ1bmN0aW9uVHJhaXRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUzRkM3
MENFMjNGQjk1MEMwMDVCMTk5MCAvKiBPU0xvZ1ByaW50U3RyZWFtLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IE9TTG9nUHJpbnRTdHJlYW0uaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJNTNGQzcwQ0YyM0ZCOTUwQzAwNUIxOTkwIC8qIE9TTG9nUHJpbnRTdHJlYW0u
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gT1NMb2dQcmludFN0cmVh
bS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU1MzA3MUM5MUM0MDQyNzIwMDM4
NDg5OCAvKiBUaW55TFJVQ2FjaGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
VGlueUxSVUNhY2hlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU1OTdGODJDMUQ5
NEI5OTcwMDY2QkMyMSAvKiBTeW5jaHJvbml6ZWRGaXhlZFF1ZXVlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFN5bmNocm9uaXplZEZpeGVkUXVldWUuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNUI0MzM4M0E1RDBCNDYzQzk0MzNEOTMzIC8qIEluZGV4TWFwLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluZGV4TWFwLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC0xMTEyLDYgKzExMTUsOCBAQAogCQkJCTI3NURGQjZCMjM4QkRG
NzIwMDEyMzBFMiAvKiBPcHRpb25TZXRIYXNoLmggKi8sCiAJCQkJMEY5NDk1ODMxQzU3MUNDOTAw
NDEzQTQ4IC8qIE9yZGVyTWFrZXIuaCAqLywKIAkJCQlBOEE0NzJENzE1MUE4MjVCMDA0MTIzRkYg
LyogT1NBbGxvY2F0b3IuaCAqLywKKwkJCQk1M0ZDNzBDRjIzRkI5NTBDMDA1QjE5OTAgLyogT1NM
b2dQcmludFN0cmVhbS5jcHAgKi8sCisJCQkJNTNGQzcwQ0UyM0ZCOTUwQzAwNUIxOTkwIC8qIE9T
TG9nUHJpbnRTdHJlYW0uaCAqLywKIAkJCQk3Q0JCQTA3MzE5QkI3RkRDMDBCQkYwMjUgLyogT1NP
YmplY3RQdHIuaCAqLywKIAkJCQlBOEE0NzJEQTE1MUE4MjVCMDA0MTIzRkYgLyogT1NSYW5kb21T
b3VyY2UuY3BwICovLAogCQkJCUE4QTQ3MkRCMTUxQTgyNUIwMDQxMjNGRiAvKiBPU1JhbmRvbVNv
dXJjZS5oICovLApAQCAtMTY2NCw2ICsxNjY5LDcgQEAKIAkJCQlBOEE0NzNGNDE1MUE4MjVCMDA0
MTIzRkYgLyogTnVtYmVyT2ZDb3Jlcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4MzQ4QkEwRTIx
RkJDMEQ1MDBGRDMwNTQgLyogT2JqZWN0SWRlbnRpZmllci5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlBM0VFNUMzQTIxRkZBQzVGMDBGQUJENjEgLyogT1NBbGxvY2F0b3JQT1NJWC5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQk1M0ZDNzBEMDIzRkI5NTBDMDA1QjE5OTAgLyogT1NMb2dQcmludFN0cmVh
bS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOEE0NzNGOTE1MUE4MjVCMDA0MTIzRkYgLyogT1NS
YW5kb21Tb3VyY2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThBNDc0MDIxNTFBODI1QjAwNDEy
M0ZGIC8qIFBhZ2VCbG9jay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkZGMTlEQzFCQjMzNEVC
MDA4ODZEOTEgLyogUGFyYWxsZWxIZWxwZXJQb29sLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi93dGYvRGF0YUxvZy5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9EYXRhTG9n
LmNwcAppbmRleCAwMmQzMjRiNTcxMzJhMDBiMThmNjczOTcyOGJkMWY1MzY2ODNlN2YyLi5iOTU1
NzcwZTUzMmIwMzk5YjMyOGUxMTNjNDQ1NzNmYjc4MjU0ZTIyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V1RGL3d0Zi9EYXRhTG9nLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9EYXRhTG9nLmNwcApAQCAt
MTY2LDYgKzE2NiwxMSBAQCB2b2lkIHNldERhdGFGaWxlKGNvbnN0IGNoYXIqIHBhdGgpCiAgICAg
c19maWxlID0gbmV3IChzX2xvY2tlZEZpbGVEYXRhKSBMb2NrZWRQcmludFN0cmVhbShzdGQ6OnVu
aXF1ZV9wdHI8RmlsZVByaW50U3RyZWFtPihmaWxlKSk7CiB9CiAKK3ZvaWQgc2V0RGF0YUZpbGUo
c3RkOjp1bmlxdWVfcHRyPFByaW50U3RyZWFtPiYmIGZpbGUpCit7CisgICAgc19maWxlID0gZmls
ZS5yZWxlYXNlKCk7Cit9CisKIFByaW50U3RyZWFtJiBkYXRhRmlsZSgpCiB7CiAgICAgaW5pdGlh
bGl6ZUxvZ0ZpbGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0RhdGFMb2cuaCBiL1Nv
dXJjZS9XVEYvd3RmL0RhdGFMb2cuaAppbmRleCA5ZTNjNzY2YmQ5N2YzNWExYWUxNzc5MjdkZTA4
ZGZjNTYwYjgyY2NlLi4wODFkMGMxNzE5Njc3NDcwYTg0MzcxZTUwMTI1OTQxZGI3MGMxYmYwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9EYXRhTG9nLmgKKysrIGIvU291cmNlL1dURi93dGYv
RGF0YUxvZy5oCkBAIC0zNCw2ICszNCw3IEBAIG5hbWVzcGFjZSBXVEYgewogCiBXVEZfRVhQT1JU
X1BSSVZBVEUgUHJpbnRTdHJlYW0mIGRhdGFGaWxlKCk7CiBXVEZfRVhQT1JUX1BSSVZBVEUgdm9p
ZCBzZXREYXRhRmlsZShjb25zdCBjaGFyKiBwYXRoKTsKK1dURl9FWFBPUlRfUFJJVkFURSB2b2lk
IHNldERhdGFGaWxlKHN0ZDo6dW5pcXVlX3B0cjxQcmludFN0cmVhbT4mJik7CiAKIFdURl9FWFBP
UlRfUFJJVkFURSB2b2lkIGRhdGFMb2dGVihjb25zdCBjaGFyKiBmb3JtYXQsIHZhX2xpc3QpIFdU
Rl9BVFRSSUJVVEVfUFJJTlRGKDEsIDApOwogV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgZGF0YUxv
Z0YoY29uc3QgY2hhciogZm9ybWF0LCAuLi4pIFdURl9BVFRSSUJVVEVfUFJJTlRGKDEsIDIpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUHJpbnRTdHJlYW0uY3BwIGIvU291cmNlL1dURi93
dGYvUHJpbnRTdHJlYW0uY3BwCmluZGV4IDcxZDgxOWYwMzNmYTExZGJlMDYyNDA1NDdiZDIwY2I5
NmRmOWRkZTkuLjNiMTQ3OWM4NzU3MmUwYjAxODNjMzBlMjAxMTA5OTNhYTFkMTlmYjkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1ByaW50U3RyZWFtLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0
Zi9QcmludFN0cmVhbS5jcHAKQEAgLTc3LDEzICs3NywxOCBAQCB2b2lkIHByaW50SW50ZXJuYWwo
UHJpbnRTdHJlYW0mIG91dCwgY29uc3QgY2hhciogc3RyaW5nKQogc3RhdGljIHZvaWQgcHJpbnRF
eHBlY3RlZENTdHJpbmdIZWxwZXIoUHJpbnRTdHJlYW0mIG91dCwgY29uc3QgY2hhciogdHlwZSwg
RXhwZWN0ZWQ8Q1N0cmluZywgVVRGOENvbnZlcnNpb25FcnJvcj4gZXhwZWN0ZWRDU3RyaW5nKQog
ewogICAgIGlmIChVTkxJS0VMWSghZXhwZWN0ZWRDU3RyaW5nKSkgewotICAgICAgICBpZiAoZXhw
ZWN0ZWRDU3RyaW5nLmVycm9yKCkgPT0gVVRGOENvbnZlcnNpb25FcnJvcjo6T3V0T2ZNZW1vcnkp
Ci0gICAgICAgICAgICBvdXQucHJpbnQoIihPdXQgb2YgbWVtb3J5IHdoaWxlIGNvbnZlcnRpbmcg
IiwgdHlwZSwgIiB0byB1dGY4KSIpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBvdXQucHJp
bnQoIihmYWlsZWQgdG8gY29udmVydCAiLCB0eXBlLCAiIHRvIHV0ZjgpIik7CisgICAgICAgIGlm
IChleHBlY3RlZENTdHJpbmcuZXJyb3IoKSA9PSBVVEY4Q29udmVyc2lvbkVycm9yOjpPdXRPZk1l
bW9yeSkgeworICAgICAgICAgICAgcHJpbnRJbnRlcm5hbChvdXQsICIoT3V0IG9mIG1lbW9yeSB3
aGlsZSBjb252ZXJ0aW5nICIpOworICAgICAgICAgICAgcHJpbnRJbnRlcm5hbChvdXQsIHR5cGUp
OworICAgICAgICAgICAgcHJpbnRJbnRlcm5hbChvdXQsICIgdG8gdXRmOCkiKTsKKyAgICAgICAg
fSBlbHNlIHsKKyAgICAgICAgICAgIHByaW50SW50ZXJuYWwob3V0LCAiKGZhaWxlZCB0byBjb252
ZXJ0ICIpOworICAgICAgICAgICAgcHJpbnRJbnRlcm5hbChvdXQsIHR5cGUpOworICAgICAgICAg
ICAgcHJpbnRJbnRlcm5hbChvdXQsICIgdG8gdXRmOCkiKTsKKyAgICAgICAgfQogICAgICAgICBy
ZXR1cm47CiAgICAgfQotICAgIG91dC5wcmludChleHBlY3RlZENTdHJpbmcudmFsdWUoKSk7Cisg
ICAgcHJpbnRJbnRlcm5hbChvdXQsIGV4cGVjdGVkQ1N0cmluZy52YWx1ZSgpKTsKIH0KIAogdm9p
ZCBwcmludEludGVybmFsKFByaW50U3RyZWFtJiBvdXQsIGNvbnN0IFN0cmluZ1ZpZXcmIHN0cmlu
ZykKQEAgLTkzLDcgKzk4LDcgQEAgdm9pZCBwcmludEludGVybmFsKFByaW50U3RyZWFtJiBvdXQs
IGNvbnN0IFN0cmluZ1ZpZXcmIHN0cmluZykKIAogdm9pZCBwcmludEludGVybmFsKFByaW50U3Ry
ZWFtJiBvdXQsIGNvbnN0IENTdHJpbmcmIHN0cmluZykKIHsKLSAgICBvdXQucHJpbnQoc3RyaW5n
LmRhdGEoKSk7CisgICAgcHJpbnRJbnRlcm5hbChvdXQsIHN0cmluZy5kYXRhKCkpOwogfQogCiB2
b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mIG91dCwgY29uc3QgU3RyaW5nJiBzdHJpbmcp
CkBAIC0xMDQsNyArMTA5LDcgQEAgdm9pZCBwcmludEludGVybmFsKFByaW50U3RyZWFtJiBvdXQs
IGNvbnN0IFN0cmluZyYgc3RyaW5nKQogdm9pZCBwcmludEludGVybmFsKFByaW50U3RyZWFtJiBv
dXQsIGNvbnN0IFN0cmluZ0ltcGwqIHN0cmluZykKIHsKICAgICBpZiAoIXN0cmluZykgewotICAg
ICAgICBvdXQucHJpbnQoIihudWxsIFN0cmluZ0ltcGwqKSIpOworICAgICAgICBwcmludEludGVy
bmFsKG91dCwgIihudWxsIFN0cmluZ0ltcGwqKSIpOwogICAgICAgICByZXR1cm47CiAgICAgfQog
ICAgIHByaW50RXhwZWN0ZWRDU3RyaW5nSGVscGVyKG91dCwgIlN0cmluZ0ltcGwqIiwgc3RyaW5n
LT50cnlHZXRVdGY4KCkpOwpAQCAtMTY3LDcgKzE3Miw3IEBAIHZvaWQgcHJpbnRJbnRlcm5hbChQ
cmludFN0cmVhbSYgb3V0LCB1bnNpZ25lZCBsb25nIGxvbmcgdmFsdWUpCiAKIHZvaWQgcHJpbnRJ
bnRlcm5hbChQcmludFN0cmVhbSYgb3V0LCBmbG9hdCB2YWx1ZSkKIHsKLSAgICBvdXQucHJpbnQo
c3RhdGljX2Nhc3Q8ZG91YmxlPih2YWx1ZSkpOworICAgIHByaW50SW50ZXJuYWwob3V0LCBzdGF0
aWNfY2FzdDxkb3VibGU+KHZhbHVlKSk7CiB9CiAKIHZvaWQgcHJpbnRJbnRlcm5hbChQcmludFN0
cmVhbSYgb3V0LCBkb3VibGUgdmFsdWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0
L0NTdHJpbmcuY3BwIGIvU291cmNlL1dURi93dGYvdGV4dC9DU3RyaW5nLmNwcAppbmRleCAwMzJk
ZjY1NmFmYzZjODM1NDFiMGRiYjAzNTUxYTNmNWFiOGJhMGFlLi4zNjFmMjY4NDhhZTNjNmY3ZWYy
ZmRhN2RjNTdjNmQ3MDhmM2NmMGJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0NT
dHJpbmcuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQvQ1N0cmluZy5jcHAKQEAgLTEwNiw2
ICsxMDYsMTUgQEAgYm9vbCBDU3RyaW5nOjppc1NhZmVUb1NlbmRUb0Fub3RoZXJUaHJlYWQoKSBj
b25zdAogICAgIHJldHVybiAhbV9idWZmZXIgfHwgbV9idWZmZXItPmhhc09uZVJlZigpOwogfQog
Cit2b2lkIENTdHJpbmc6Omdyb3coc2l6ZV90IG5ld0xlbmd0aCkKK3sKKyAgICBBU1NFUlQobmV3
TGVuZ3RoID4gbGVuZ3RoKCkpOworCisgICAgYXV0byBuZXdCdWZmZXIgPSBDU3RyaW5nQnVmZmVy
OjpjcmVhdGVVbmluaXRpYWxpemVkKG5ld0xlbmd0aCk7CisgICAgbWVtY3B5KG5ld0J1ZmZlci0+
bXV0YWJsZURhdGEoKSwgbV9idWZmZXItPmRhdGEoKSwgbGVuZ3RoKCkgKyAxKTsKKyAgICBtX2J1
ZmZlciA9IFdURk1vdmUobmV3QnVmZmVyKTsKK30KKwogYm9vbCBvcGVyYXRvcj09KGNvbnN0IENT
dHJpbmcmIGEsIGNvbnN0IENTdHJpbmcmIGIpCiB7CiAgICAgaWYgKGEuaXNOdWxsKCkgIT0gYi5p
c051bGwoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3RleHQvQ1N0cmluZy5oIGIvU291
cmNlL1dURi93dGYvdGV4dC9DU3RyaW5nLmgKaW5kZXggY2RiZWFhMzM0ZWY2MDE0NjY1NmZiNzli
NzQzNzE0NTM2ZWE0NzQ3ZS4uMTE2YjQyM2Y3ZjQ3NzBkMWE0OTY4M2EyY2VhNjdmMzc4OTcyMWIx
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvdGV4dC9DU3RyaW5nLmgKKysrIGIvU291cmNl
L1dURi93dGYvdGV4dC9DU3RyaW5nLmgKQEAgLTg0LDYgKzg0LDkgQEAgcHVibGljOgogICAgIAog
ICAgIFdURl9FWFBPUlRfUFJJVkFURSB1bnNpZ25lZCBoYXNoKCkgY29uc3Q7CiAKKyAgICAvLyBV
c2VmdWwgaWYgeW91IHdhbnQgeW91ciBDU3RyaW5nIHRvIGhvbGQgZHluYW1pYyBkYXRhLgorICAg
IFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIGdyb3coc2l6ZV90IG5ld0xlbmd0aCk7CisKIHByaXZh
dGU6CiAgICAgdm9pZCBjb3B5QnVmZmVySWZOZWVkZWQoKTsKICAgICB2b2lkIGluaXQoY29uc3Qg
Y2hhciosIHNpemVfdCBsZW5ndGgpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>391069</attachid>
            <date>2020-02-18 11:07:13 -0800</date>
            <delta_ts>2020-02-18 12:43:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-207898-20200218110712.patch</filename>
            <type>text/plain</type>
            <size>18711</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU2Nzg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
NTVlOTIwMjBlMzczMjRhOGJjZjBjYWEzNTNmNzc4ZmUxYTMxYWQwLi4zMjJjNDZjMDQyYWRjNGUx
NWIwZjkyYjkzMTk5ZmQ4MjgxNjY1OGZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAyMC0wMi0xOCAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KKworICAgICAgICBBZGQgYW4gb3NfbG9nIFByaW50U3RyZWFtCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDc4OTgKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgY2xpIG9wdGlvbiB0byB3cml0
ZSBkYXRhTG9ncyB0byBvc19sb2cuCisKKyAgICAgICAgKiBqc2MuY3BwOgorICAgICAgICAocHJp
bnRVc2FnZVN0YXRlbWVudCk6CisgICAgICAgIChDb21tYW5kTGluZTo6cGFyc2VBcmd1bWVudHMp
OgorCiAyMDIwLTAyLTE3ICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAg
ICAgICAgW0pTQ10gSklUVGh1bmsgc2hvdWxkIGJlIEhhc2hTZXQ8V2VhazxOYXRpdmVFeGVjdXRh
YmxlPj4gd2l0aCBhcHByb3ByaWF0ZSBHQyB3ZWFrbmVzcyBoYW5kbGluZwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRleCA4YjI4MjI4
YmI3NzMxZDAxNzAwNTZlOWUyZmRjNDkxNzQ5MDkyNjEwLi5iNmJhNjMxODU1ODVlNDk4OTJlZTFi
ZmNhMmFkZDk0ZWY2MDM4YjhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDIwLTAyLTE4ICBLZWl0
aCBNaWxsZXIgIDxrZWl0aF9taWxsZXJAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhbiBvc19s
b2cgUHJpbnRTdHJlYW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIwNzg5OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFdoZW4gZGVidWdnaW5nIG9uIGlPUyB3cml0aW5nIHRvIGEgZmlsZSBjYW4gYmUgaGFy
ZCAodGhhbmtzCisgICAgICAgIFNhbmRib3hpbmchKSAgc28gbG9nZ2luZyBvdXIgZGF0YUxvZ3Mg
dG8gb3NfbG9nIHdvdWxkIG1ha2UgdGhpbmdzCisgICAgICAgIGVhc2llci4gVGhpcyBwYXRjaCBh
ZGRzIGEgbmV3IHN1YmNsYXNzIG9mIFByaW50U3RyZWFtLAorICAgICAgICBPU0xvZ1ByaW50U3Ry
ZWFtLCB0aGF0IGNvbnZlcnRzIG91ciBmaWxlIHdyaXRlcyB0bworICAgICAgICBvc19sb2cuIFVu
Zm9ydHVuYXRlbHksIG9zX2xvZyBkb2Vzbid0IGJ1ZmZlciB3cml0ZXMgc28KKyAgICAgICAgT1NM
b2dQcmludFN0cmVhbSBuZWVkcyB0byBkbyBpdHMgb3duIGJ1ZmZlcmluZy4gZS5nLiBpZiB5b3Ug
Y2FsbAorICAgICAgICBgZGF0YUxvZ0xuKCJzb21lIHRleHQgd2l0aCBhICIsIG51bWJlciwgIiBh
bmQgYSAiLCBzdHJpbmcpO2AKKyAgICAgICAgb3NfbG9nIHdpbGwgbG9nIHRoYXQgYXMgNSBzZXBh
cmF0ZSBsb2dzLgorCisgICAgICAgICogV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6Cisg
ICAgICAgICogd3RmL0RhdGFMb2cuY3BwOgorICAgICAgICAoV1RGOjpzZXREYXRhRmlsZSk6Cisg
ICAgICAgICogd3RmL0RhdGFMb2cuaDoKKyAgICAgICAgKiB3dGYvT1NMb2dQcmludFN0cmVhbS5j
cHA6IEFkZGVkLgorICAgICAgICAoV1RGOjpPU0xvZ1ByaW50U3RyZWFtOjpPU0xvZ1ByaW50U3Ry
ZWFtKToKKyAgICAgICAgKFdURjo6T1NMb2dQcmludFN0cmVhbTo6fk9TTG9nUHJpbnRTdHJlYW0p
OgorICAgICAgICAoV1RGOjpPU0xvZ1ByaW50U3RyZWFtOjpvcGVuKToKKyAgICAgICAgKFdURjo6
T1NMb2dQcmludFN0cmVhbTo6dnByaW50Zik6CisgICAgICAgICogd3RmL09TTG9nUHJpbnRTdHJl
YW0uaDogQ29waWVkIGZyb20gU291cmNlL1dURi93dGYvRGF0YUxvZy5oLgorICAgICAgICAqIHd0
Zi9QcmludFN0cmVhbS5jcHA6CisgICAgICAgIChXVEY6OnByaW50RXhwZWN0ZWRDU3RyaW5nSGVs
cGVyKToKKyAgICAgICAgKFdURjo6cHJpbnRJbnRlcm5hbCk6CisgICAgICAgICogd3RmL3RleHQv
Q1N0cmluZy5jcHA6CisgICAgICAgIChXVEY6OkNTdHJpbmc6Omdyb3cpOgorICAgICAgICAqIHd0
Zi90ZXh0L0NTdHJpbmcuaDoKKwogMjAyMC0wMi0xNyAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBs
ZS5jb20+CiAKICAgICAgICAgW1dlYkdMXSBFbmFibGUgQU5HTEUgYnkgZGVmYXVsdCBmb3IgQ29j
b2EgcGxhdGZvcm1zCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCmluZGV4IDkxNjZkNTJjZjU0YTVjYWRhMGQz
ODVjMzJmMDJkYzk5MzE2NjdjMmIuLmI5OTIyYjIxYTE5Njk4ZDAwNmY2YzIyMzVlMjMyMTk0NmUx
ZGNhMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCkBAIC05NCw2ICs5NCw3IEBACiAjaW5jbHVkZSA8
d3RmL01lbW9yeVByZXNzdXJlSGFuZGxlci5oPgogI2luY2x1ZGUgPHd0Zi9Nb25vdG9uaWNUaW1l
Lmg+CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CisjaW5jbHVkZSA8d3RmL09TTG9n
UHJpbnRTdHJlYW0uaD4KICNpbmNsdWRlIDx3dGYvU2NvcGUuaD4KICNpbmNsdWRlIDx3dGYvU3Ry
aW5nUHJpbnRTdHJlYW0uaD4KICNpbmNsdWRlIDx3dGYvVVJMLmg+CkBAIC0yODIxLDYgKzI4MjIs
NyBAQCBzdGF0aWMgTk9fUkVUVVJOIHZvaWQgcHJpbnRVc2FnZVN0YXRlbWVudChib29sIGhlbHAg
PSBmYWxzZSkKICAgICBmcHJpbnRmKHN0ZGVyciwgIiAgLS1kdW1wT3B0aW9ucyAgICAgICAgICAg
ICAgRHVtcHMgYWxsIG5vbi1kZWZhdWx0IEpTQyBWTSBvcHRpb25zIGJlZm9yZSBjb250aW51aW5n
XG4iKTsKICAgICBmcHJpbnRmKHN0ZGVyciwgIiAgLS08anNjIFZNIG9wdGlvbj49PHZhbHVlPiAg
U2V0cyB0aGUgc3BlY2lmaWVkIEpTQyBWTSBvcHRpb25cbiIpOwogICAgIGZwcmludGYoc3RkZXJy
LCAiICAtLWRlc3Ryb3ktdm0gICAgICAgICAgICAgICBEZXN0cm95IFZNIGJlZm9yZSBleGl0aW5n
XG4iKTsKKyAgICBmcHJpbnRmKHN0ZGVyciwgIiAgLS1vcy1sb2cgICAgICAgICAgICAgICAgICAg
cGlwZSBkYXRhTG9nIGNhbGxzIHRvIG9zX2xvZyAoRGFyd2luIG9ubHkpXG4iKTsKICAgICBmcHJp
bnRmKHN0ZGVyciwgIlxuIik7CiAgICAgZnByaW50ZihzdGRlcnIsICJGaWxlcyB3aXRoIGEgLm1q
cyBleHRlbnNpb24gd2lsbCBhbHdheXMgYmUgZXZhbHVhdGVkIGFzIG1vZHVsZXMuXG4iKTsKICAg
ICBmcHJpbnRmKHN0ZGVyciwgIlxuIik7CkBAIC0yOTMzLDYgKzI5MzUsMTQgQEAgdm9pZCBDb21t
YW5kTGluZTo6cGFyc2VBcmd1bWVudHMoaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQogICAgICAgICAg
ICAgbV9kZXN0cm95Vk0gPSB0cnVlOwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0K
KyAgICAgICAgaWYgKCFzdHJjbXAoYXJnLCAiLS1vcy1sb2ciKSkgeworI2lmIE9TKERBUldJTikK
KyAgICAgICAgICAgIHNldERhdGFGaWxlKE9TTG9nUHJpbnRTdHJlYW06Om9wZW4oImNvbS5hcHBs
ZS5KYXZhU2NyaXB0Q29yZSIsICJEYXRhTG9nIiwgT1NfTE9HX1RZUEVfSU5GTykpOworI2Vsc2UK
KyAgICAgICAgICAgIHByaW50VXNhZ2VTdGF0ZW1lbnQoKTsKKyNlbmRpZgorICAgICAgICAgICAg
Y29udGludWU7CisgICAgICAgIH0KICAgICAgICAgaWYgKCFzdHJjbXAoYXJnLCAiLS1kaXNhYmxl
T3B0aW9uc0ZyZWV6aW5nRm9yVGVzdGluZyIpKSB7CiAgICAgICAgICAgICBDb25maWc6OmRpc2Fi
bGVGcmVlemluZ0ZvclRlc3RpbmcoKTsKICAgICAgICAgICAgIGNvbnRpbnVlOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XVEYv
V1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZGIwOTZhYzMwYTMzMzJjNTRhNjMz
OGQxZWUyNjNlZGRlYzUzZWY4Mi4uODk2ZWFlNmFlMGJkZTdjZGQ0Njk2ODkwZDZlZWUwMjBiM2Jj
YmNjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agorKysgYi9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC03OCw2
ICs3OCw3IEBACiAJCTUzMTFCRDUzMUVBNzFDQUQwMDUyNTI4MSAvKiBTaWduYWxzLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUzMTFCRDUxMUVBNzFD
QUQwMDUyNTI4MSAvKiBTaWduYWxzLmNwcCAqLzsgfTsKIAkJNTMxMUJENUMxRUE4MjJGOTAwNTI1
MjgxIC8qIFRocmVhZE1lc3NhZ2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNTMxMUJENUIxRUE4MjJGOTAwNTI1MjgxIC8qIFRocmVhZE1lc3NhZ2Uu
Y3BwICovOyB9OwogCQk1MzUzNEYyQTFFQzBFMTBFMDAxNDFCMkYgLyogTWFjaEV4Y2VwdGlvbnMu
ZGVmcyBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUzNTM0
RjI5MUVDMEUxMEUwMDE0MUIyRiAvKiBNYWNoRXhjZXB0aW9ucy5kZWZzICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKENsaWVudCwgU2VydmVyLCApOyB9OyB9OworCQk1M0ZDNzBEMDIzRkI5
NTBDMDA1QjE5OTAgLyogT1NMb2dQcmludFN0cmVhbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1M0ZDNzBDRjIzRkI5NTBDMDA1QjE5OTAgLyogT1NM
b2dQcmludFN0cmVhbS5jcHAgKi87IH07CiAJCTVDMUYwNTkzMjE2NDM1NkIwMDM5MzAyQyAvKiBD
RlVSTEV4dHJhcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA1QzFGMDU5MTIxNjQzNTZCMDAzOTMwMkMgLyogQ0ZVUkxFeHRyYXMuY3BwICovOyB9Owog
CQk1QzFGMDU5NTIxNjQzN0IzMDAzOTMwMkMgLyogVVJMQ0YuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUMxRjA1OTQyMTY0MzdCMzAwMzkzMDJDIC8q
IFVSTENGLmNwcCAqLzsgfTsKIAkJNUNDMEVFNzUyMTYyOUYxOTAwQTFBODQyIC8qIFVSTFBhcnNl
ci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1Q0Mw
RUU3MzIxNjI5RjE5MDBBMUE4NDIgLyogVVJMUGFyc2VyLmNwcCAqLzsgfTsKQEAgLTM5OSw2ICs0
MDAsOCBAQAogCQk1M0VDMjUzQzFFOTVBRDMwMDAwODMxQjkgLyogUHJpb3JpdHlRdWV1ZS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQcmlvcml0eVF1ZXVlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUzRjA4QTFCQTM5RDQ5QThCQUQzNjlBMSAvKiBTdGRTZXQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3RkU2V0Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTUzRjFEOTg2MjA0NzdCOTgwMEVCQzZCRiAvKiBGdW5jdGlvblRy
YWl0cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGV4cGxpY2l0RmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5oOyBwYXRoID0gRnVuY3Rpb25UcmFpdHMuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJNTNGQzcwQ0UyM0ZCOTUwQzAwNUIxOTkwIC8qIE9TTG9nUHJpbnRTdHJl
YW0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gT1NMb2dQcmludFN0cmVhbS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1M0ZDNzBDRjIzRkI5NTBDMDA1QjE5OTAg
LyogT1NMb2dQcmludFN0cmVhbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBPU0xvZ1ByaW50U3RyZWFtLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NTUzMDcxQzkxQzQwNDI3MjAwMzg0ODk4IC8qIFRpbnlMUlVDYWNoZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBUaW55TFJVQ2FjaGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNTU5N0Y4MkMxRDk0Qjk5NzAwNjZCQzIxIC8qIFN5bmNocm9uaXplZEZpeGVkUXVl
dWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3luY2hyb25pemVkRml4ZWRR
dWV1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1QjQzMzgzQTVEMEI0NjNDOTQz
M0Q5MzMgLyogSW5kZXhNYXAuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5k
ZXhNYXAuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTExMTIsNiArMTExNSw4IEBA
CiAJCQkJMjc1REZCNkIyMzhCREY3MjAwMTIzMEUyIC8qIE9wdGlvblNldEhhc2guaCAqLywKIAkJ
CQkwRjk0OTU4MzFDNTcxQ0M5MDA0MTNBNDggLyogT3JkZXJNYWtlci5oICovLAogCQkJCUE4QTQ3
MkQ3MTUxQTgyNUIwMDQxMjNGRiAvKiBPU0FsbG9jYXRvci5oICovLAorCQkJCTUzRkM3MENGMjNG
Qjk1MEMwMDVCMTk5MCAvKiBPU0xvZ1ByaW50U3RyZWFtLmNwcCAqLywKKwkJCQk1M0ZDNzBDRTIz
RkI5NTBDMDA1QjE5OTAgLyogT1NMb2dQcmludFN0cmVhbS5oICovLAogCQkJCTdDQkJBMDczMTlC
QjdGREMwMEJCRjAyNSAvKiBPU09iamVjdFB0ci5oICovLAogCQkJCUE4QTQ3MkRBMTUxQTgyNUIw
MDQxMjNGRiAvKiBPU1JhbmRvbVNvdXJjZS5jcHAgKi8sCiAJCQkJQThBNDcyREIxNTFBODI1QjAw
NDEyM0ZGIC8qIE9TUmFuZG9tU291cmNlLmggKi8sCkBAIC0xNjY0LDYgKzE2NjksNyBAQAogCQkJ
CUE4QTQ3M0Y0MTUxQTgyNUIwMDQxMjNGRiAvKiBOdW1iZXJPZkNvcmVzLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTgzNDhCQTBFMjFGQkMwRDUwMEZEMzA1NCAvKiBPYmplY3RJZGVudGlmaWVyLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUEzRUU1QzNBMjFGRkFDNUYwMEZBQkQ2MSAvKiBPU0FsbG9j
YXRvclBPU0lYLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUzRkM3MEQwMjNGQjk1MEMwMDVCMTk5
MCAvKiBPU0xvZ1ByaW50U3RyZWFtLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4QTQ3M0Y5MTUx
QTgyNUIwMDQxMjNGRiAvKiBPU1JhbmRvbVNvdXJjZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlB
OEE0NzQwMjE1MUE4MjVCMDA0MTIzRkYgLyogUGFnZUJsb2NrLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTBGRkYxOURDMUJCMzM0RUIwMDg4NkQ5MSAvKiBQYXJhbGxlbEhlbHBlclBvb2wuY3BwIGlu
IFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9EYXRhTG9nLmNwcCBiL1Nv
dXJjZS9XVEYvd3RmL0RhdGFMb2cuY3BwCmluZGV4IDAyZDMyNGI1NzEzMmEwMGIxOGY2NzM5NzI4
YmQxZjUzNjY4M2U3ZjIuLmI5NTU3NzBlNTMyYjAzOTliMzI4ZTExM2M0NDU3M2ZiNzgyNTRlMjIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0RhdGFMb2cuY3BwCisrKyBiL1NvdXJjZS9XVEYv
d3RmL0RhdGFMb2cuY3BwCkBAIC0xNjYsNiArMTY2LDExIEBAIHZvaWQgc2V0RGF0YUZpbGUoY29u
c3QgY2hhciogcGF0aCkKICAgICBzX2ZpbGUgPSBuZXcgKHNfbG9ja2VkRmlsZURhdGEpIExvY2tl
ZFByaW50U3RyZWFtKHN0ZDo6dW5pcXVlX3B0cjxGaWxlUHJpbnRTdHJlYW0+KGZpbGUpKTsKIH0K
IAordm9pZCBzZXREYXRhRmlsZShzdGQ6OnVuaXF1ZV9wdHI8UHJpbnRTdHJlYW0+JiYgZmlsZSkK
K3sKKyAgICBzX2ZpbGUgPSBmaWxlLnJlbGVhc2UoKTsKK30KKwogUHJpbnRTdHJlYW0mIGRhdGFG
aWxlKCkKIHsKICAgICBpbml0aWFsaXplTG9nRmlsZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dU
Ri93dGYvRGF0YUxvZy5oIGIvU291cmNlL1dURi93dGYvRGF0YUxvZy5oCmluZGV4IDllM2M3NjZi
ZDk3ZjM1YTFhZTE3NzkyN2RlMDhkZmM1NjBiODJjY2UuLjA4MWQwYzE3MTk2Nzc0NzBhODQzNzFl
NTAxMjU5NDFkYjcwYzFiZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0RhdGFMb2cuaAor
KysgYi9Tb3VyY2UvV1RGL3d0Zi9EYXRhTG9nLmgKQEAgLTM0LDYgKzM0LDcgQEAgbmFtZXNwYWNl
IFdURiB7CiAKIFdURl9FWFBPUlRfUFJJVkFURSBQcmludFN0cmVhbSYgZGF0YUZpbGUoKTsKIFdU
Rl9FWFBPUlRfUFJJVkFURSB2b2lkIHNldERhdGFGaWxlKGNvbnN0IGNoYXIqIHBhdGgpOworV1RG
X0VYUE9SVF9QUklWQVRFIHZvaWQgc2V0RGF0YUZpbGUoc3RkOjp1bmlxdWVfcHRyPFByaW50U3Ry
ZWFtPiYmKTsKIAogV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgZGF0YUxvZ0ZWKGNvbnN0IGNoYXIq
IGZvcm1hdCwgdmFfbGlzdCkgV1RGX0FUVFJJQlVURV9QUklOVEYoMSwgMCk7CiBXVEZfRVhQT1JU
X1BSSVZBVEUgdm9pZCBkYXRhTG9nRihjb25zdCBjaGFyKiBmb3JtYXQsIC4uLikgV1RGX0FUVFJJ
QlVURV9QUklOVEYoMSwgMik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9PU0xvZ1ByaW50
U3RyZWFtLmNwcCBiL1NvdXJjZS9XVEYvd3RmL09TTG9nUHJpbnRTdHJlYW0uY3BwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjg0ZjRmOWZlNzRhM2EzYzM1ZmNiM2U2MjU2ODk5M2JmZDU2ZDVkM2EKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9PU0xvZ1ByaW50U3RyZWFtLmNwcApAQCAtMCwwICsxLDkx
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisg
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpbmNsdWRlIDx3dGYvT1NMb2dQcmludFN0cmVhbS5oPgorCisjaW5j
bHVkZSA8d3RmL1N0cmluZ1ByaW50U3RyZWFtLmg+CisKK25hbWVzcGFjZSBXVEYgeworCisjaWYg
T1MoREFSV0lOKQorCitPU0xvZ1ByaW50U3RyZWFtOjpPU0xvZ1ByaW50U3RyZWFtKG9zX2xvZ190
IGxvZywgb3NfbG9nX3R5cGVfdCBsb2dUeXBlKQorICAgIDogbV9sb2cobG9nKQorICAgICwgbV9s
b2dUeXBlKGxvZ1R5cGUpCisgICAgLCBtX3N0cmluZygiaW5pdGlhbCBzdHJpbmcuLi4gbG9sIikK
K3sKK30KKworT1NMb2dQcmludFN0cmVhbTo6fk9TTG9nUHJpbnRTdHJlYW0oKQoreyB9CisKK3N0
ZDo6dW5pcXVlX3B0cjxPU0xvZ1ByaW50U3RyZWFtPiBPU0xvZ1ByaW50U3RyZWFtOjpvcGVuKGNv
bnN0IGNoYXIqIHN1YnN5c3RlbSwgY29uc3QgY2hhciogY2F0ZWdvcnksIG9zX2xvZ190eXBlX3Qg
bG9nVHlwZSkKK3sKKyAgICBvc19sb2dfdCBsb2cgPSBvc19sb2dfY3JlYXRlKHN1YnN5c3RlbSwg
Y2F0ZWdvcnkpOworICAgIHJldHVybiBtYWtlVW5pcXVlPE9TTG9nUHJpbnRTdHJlYW0+KGxvZywg
bG9nVHlwZSk7Cit9CisKK3ZvaWQgT1NMb2dQcmludFN0cmVhbTo6dnByaW50Zihjb25zdCBjaGFy
KiBmb3JtYXQsIHZhX2xpc3QgYXJnTGlzdCkKK3sKKyAgICBhdXRvIGxvY2sgPSBob2xkTG9jayht
X3N0cmluZ0xvY2spOworICAgIHNpemVfdCBvZmZzZXQgPSBtX29mZnNldDsKKyAgICBzaXplX3Qg
ZnJlZUJ5dGVzID0gbV9zdHJpbmcubGVuZ3RoKCkgLSBvZmZzZXQ7CisgICAgdmFfbGlzdCBiYWNr
dXA7CisgICAgdmFfY29weShiYWNrdXAsIGFyZ0xpc3QpOworICAgIHNpemVfdCBieXRlc1dyaXR0
ZW4gPSB2c25wcmludGYobV9zdHJpbmcubXV0YWJsZURhdGEoKSArIG9mZnNldCwgZnJlZUJ5dGVz
LCBmb3JtYXQsIGFyZ0xpc3QpOworICAgIGlmIChVTkxJS0VMWShieXRlc1dyaXR0ZW4gPj0gZnJl
ZUJ5dGVzKSkgeworICAgICAgICBzaXplX3QgbmV3TGVuZ3RoID0gc3RkOjptYXgoYnl0ZXNXcml0
dGVuICsgbV9zdHJpbmcubGVuZ3RoKCksIG1fc3RyaW5nLmxlbmd0aCgpICogMik7CisgICAgICAg
IG1fc3RyaW5nLmdyb3cobmV3TGVuZ3RoKTsKKyAgICAgICAgZnJlZUJ5dGVzID0gbmV3TGVuZ3Ro
IC0gb2Zmc2V0OworICAgICAgICBieXRlc1dyaXR0ZW4gPSB2c25wcmludGYobV9zdHJpbmcubXV0
YWJsZURhdGEoKSArIG9mZnNldCwgZnJlZUJ5dGVzLCBmb3JtYXQsIGJhY2t1cCk7CisgICAgICAg
IEFTU0VSVChieXRlc1dyaXR0ZW4gPCBmcmVlQnl0ZXMpOworICAgIH0KKworICAgIHNpemVfdCBu
ZXdPZmZzZXQgPSBvZmZzZXQgKyBieXRlc1dyaXR0ZW47CisgICAgY2hhciogYnVmZmVyID0gbV9z
dHJpbmcubXV0YWJsZURhdGEoKTsKKyAgICBib29sIGxvZ2dlZFRleHQgPSBmYWxzZTsKKyAgICBk
byB7CisgICAgICAgIGlmIChidWZmZXJbb2Zmc2V0XSA9PSAnXG4nKSB7CisgICAgICAgICAgICAv
LyBTZXQgdGhlIG5ldyBsaW5lIHRvIGEgbnVsbCBjaGFyYWN0ZXIgc28gb3NfbG9nIHN0b3BzIGNv
cHlpbmcgdGhlcmUuCisgICAgICAgICAgICBidWZmZXJbb2Zmc2V0XSA9ICdcMCc7CisgICAgICAg
ICAgICBvc19sb2dfd2l0aF90eXBlKG1fbG9nLCBtX2xvZ1R5cGUsICIle3B1YmxpY31zIiwgYnVm
ZmVyKTsKKyAgICAgICAgICAgIGJ1ZmZlciArPSBvZmZzZXQgKyAxOworICAgICAgICAgICAgbmV3
T2Zmc2V0IC09IG9mZnNldCArIDE7CisgICAgICAgICAgICBvZmZzZXQgPSAwOworICAgICAgICAg
ICAgbG9nZ2VkVGV4dCA9IHRydWU7CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgb2Zmc2V0
Kys7CisgICAgfSB3aGlsZSAob2Zmc2V0IDwgbmV3T2Zmc2V0KTsKKworICAgIGlmIChsb2dnZWRU
ZXh0KQorICAgICAgICBtZW1tb3ZlKG1fc3RyaW5nLm11dGFibGVEYXRhKCksIGJ1ZmZlciwgbmV3
T2Zmc2V0KTsKKyAgICBtX29mZnNldCA9IG5ld09mZnNldDsKK30KKworI2VuZGlmCisKK30gLy8g
bmFtZXNwYWNlIFdURgorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9PU0xvZ1ByaW50U3Ry
ZWFtLmggYi9Tb3VyY2UvV1RGL3d0Zi9PU0xvZ1ByaW50U3RyZWFtLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzg3
ZWVmNzljNzBiNTE0ZjhkY2U3ZTk1NWZhMmU2ZGQ5NjhiZDUyNgotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XVEYvd3RmL09TTG9nUHJpbnRTdHJlYW0uaApAQCAtMCwwICsxLDYyIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNwcmFnbWEgb25jZQor
CisjaWYgT1MoREFSV0lOKQorCisjaW5jbHVkZSA8d3RmL0xvY2suaD4KKyNpbmNsdWRlIDx3dGYv
UHJpbnRTdHJlYW0uaD4KKyNpbmNsdWRlIDx3dGYvUmVjdXJzaXZlTG9ja0FkYXB0ZXIuaD4KKyNp
bmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorCisj
aW5jbHVkZSA8b3MvbG9nLmg+CisKK25hbWVzcGFjZSBXVEYgeworCitjbGFzcyBXVEZfRVhQT1JU
X1BSSVZBVEUgT1NMb2dQcmludFN0cmVhbSBmaW5hbCA6IHB1YmxpYyBQcmludFN0cmVhbSB7Citw
dWJsaWM6CisgICAgT1NMb2dQcmludFN0cmVhbShvc19sb2dfdCwgb3NfbG9nX3R5cGVfdCk7Cisg
ICAgdmlydHVhbCB+T1NMb2dQcmludFN0cmVhbSgpOworICAgIAorICAgIHN0YXRpYyBzdGQ6OnVu
aXF1ZV9wdHI8T1NMb2dQcmludFN0cmVhbT4gb3Blbihjb25zdCBjaGFyKiBzdWJzeXN0ZW0sIGNv
bnN0IGNoYXIqIGNhdGVnb3J5LCBvc19sb2dfdHlwZV90ID0gT1NfTE9HX1RZUEVfREVGQVVMVCk7
CisgICAgCisgICAgdm9pZCB2cHJpbnRmKGNvbnN0IGNoYXIqIGZvcm1hdCwgdmFfbGlzdCkgb3Zl
cnJpZGUgV1RGX0FUVFJJQlVURV9QUklOVEYoMiwgMCk7CisKK3ByaXZhdGU6CisgICAgb3NfbG9n
X3QgbV9sb2c7CisgICAgb3NfbG9nX3R5cGVfdCBtX2xvZ1R5cGU7CisgICAgTG9jayBtX3N0cmlu
Z0xvY2s7CisgICAgLy8gV2UgbmVlZCBhIGJ1ZmZlciBiZWNhdXNlIG9zX2xvZyBkb2Vzbid0IHdh
aXQgZm9yIGEgbmV3IGxpbmUgdG8gcHJpbnQgdGhlIGNoYXJhY3RlcnMuCisgICAgQ1N0cmluZyBt
X3N0cmluZzsKKyAgICBzaXplX3QgbV9vZmZzZXQgeyAwIH07Cit9OworCit9IC8vIG5hbWVzcGFj
ZSBXVEYKKwordXNpbmcgV1RGOjpPU0xvZ1ByaW50U3RyZWFtOworCisjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL1ByaW50U3RyZWFtLmNwcCBiL1NvdXJjZS9XVEYvd3RmL1ByaW50
U3RyZWFtLmNwcAppbmRleCA3MWQ4MTlmMDMzZmExMWRiZTA2MjQwNTQ3YmQyMGNiOTZkZjlkZGU5
Li4zYjE0NzljODc1NzJlMGIwMTgzYzMwZTIwMTEwOTkzYWExZDE5ZmI5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL3d0Zi9QcmludFN0cmVhbS5jcHAKKysrIGIvU291cmNlL1dURi93dGYvUHJpbnRT
dHJlYW0uY3BwCkBAIC03NywxMyArNzcsMTggQEAgdm9pZCBwcmludEludGVybmFsKFByaW50U3Ry
ZWFtJiBvdXQsIGNvbnN0IGNoYXIqIHN0cmluZykKIHN0YXRpYyB2b2lkIHByaW50RXhwZWN0ZWRD
U3RyaW5nSGVscGVyKFByaW50U3RyZWFtJiBvdXQsIGNvbnN0IGNoYXIqIHR5cGUsIEV4cGVjdGVk
PENTdHJpbmcsIFVURjhDb252ZXJzaW9uRXJyb3I+IGV4cGVjdGVkQ1N0cmluZykKIHsKICAgICBp
ZiAoVU5MSUtFTFkoIWV4cGVjdGVkQ1N0cmluZykpIHsKLSAgICAgICAgaWYgKGV4cGVjdGVkQ1N0
cmluZy5lcnJvcigpID09IFVURjhDb252ZXJzaW9uRXJyb3I6Ok91dE9mTWVtb3J5KQotICAgICAg
ICAgICAgb3V0LnByaW50KCIoT3V0IG9mIG1lbW9yeSB3aGlsZSBjb252ZXJ0aW5nICIsIHR5cGUs
ICIgdG8gdXRmOCkiKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgb3V0LnByaW50KCIoZmFp
bGVkIHRvIGNvbnZlcnQgIiwgdHlwZSwgIiB0byB1dGY4KSIpOworICAgICAgICBpZiAoZXhwZWN0
ZWRDU3RyaW5nLmVycm9yKCkgPT0gVVRGOENvbnZlcnNpb25FcnJvcjo6T3V0T2ZNZW1vcnkpIHsK
KyAgICAgICAgICAgIHByaW50SW50ZXJuYWwob3V0LCAiKE91dCBvZiBtZW1vcnkgd2hpbGUgY29u
dmVydGluZyAiKTsKKyAgICAgICAgICAgIHByaW50SW50ZXJuYWwob3V0LCB0eXBlKTsKKyAgICAg
ICAgICAgIHByaW50SW50ZXJuYWwob3V0LCAiIHRvIHV0ZjgpIik7CisgICAgICAgIH0gZWxzZSB7
CisgICAgICAgICAgICBwcmludEludGVybmFsKG91dCwgIihmYWlsZWQgdG8gY29udmVydCAiKTsK
KyAgICAgICAgICAgIHByaW50SW50ZXJuYWwob3V0LCB0eXBlKTsKKyAgICAgICAgICAgIHByaW50
SW50ZXJuYWwob3V0LCAiIHRvIHV0ZjgpIik7CisgICAgICAgIH0KICAgICAgICAgcmV0dXJuOwog
ICAgIH0KLSAgICBvdXQucHJpbnQoZXhwZWN0ZWRDU3RyaW5nLnZhbHVlKCkpOworICAgIHByaW50
SW50ZXJuYWwob3V0LCBleHBlY3RlZENTdHJpbmcudmFsdWUoKSk7CiB9CiAKIHZvaWQgcHJpbnRJ
bnRlcm5hbChQcmludFN0cmVhbSYgb3V0LCBjb25zdCBTdHJpbmdWaWV3JiBzdHJpbmcpCkBAIC05
Myw3ICs5OCw3IEBAIHZvaWQgcHJpbnRJbnRlcm5hbChQcmludFN0cmVhbSYgb3V0LCBjb25zdCBT
dHJpbmdWaWV3JiBzdHJpbmcpCiAKIHZvaWQgcHJpbnRJbnRlcm5hbChQcmludFN0cmVhbSYgb3V0
LCBjb25zdCBDU3RyaW5nJiBzdHJpbmcpCiB7Ci0gICAgb3V0LnByaW50KHN0cmluZy5kYXRhKCkp
OworICAgIHByaW50SW50ZXJuYWwob3V0LCBzdHJpbmcuZGF0YSgpKTsKIH0KIAogdm9pZCBwcmlu
dEludGVybmFsKFByaW50U3RyZWFtJiBvdXQsIGNvbnN0IFN0cmluZyYgc3RyaW5nKQpAQCAtMTA0
LDcgKzEwOSw3IEBAIHZvaWQgcHJpbnRJbnRlcm5hbChQcmludFN0cmVhbSYgb3V0LCBjb25zdCBT
dHJpbmcmIHN0cmluZykKIHZvaWQgcHJpbnRJbnRlcm5hbChQcmludFN0cmVhbSYgb3V0LCBjb25z
dCBTdHJpbmdJbXBsKiBzdHJpbmcpCiB7CiAgICAgaWYgKCFzdHJpbmcpIHsKLSAgICAgICAgb3V0
LnByaW50KCIobnVsbCBTdHJpbmdJbXBsKikiKTsKKyAgICAgICAgcHJpbnRJbnRlcm5hbChvdXQs
ICIobnVsbCBTdHJpbmdJbXBsKikiKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBwcmlu
dEV4cGVjdGVkQ1N0cmluZ0hlbHBlcihvdXQsICJTdHJpbmdJbXBsKiIsIHN0cmluZy0+dHJ5R2V0
VXRmOCgpKTsKQEAgLTE2Nyw3ICsxNzIsNyBAQCB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJl
YW0mIG91dCwgdW5zaWduZWQgbG9uZyBsb25nIHZhbHVlKQogCiB2b2lkIHByaW50SW50ZXJuYWwo
UHJpbnRTdHJlYW0mIG91dCwgZmxvYXQgdmFsdWUpCiB7Ci0gICAgb3V0LnByaW50KHN0YXRpY19j
YXN0PGRvdWJsZT4odmFsdWUpKTsKKyAgICBwcmludEludGVybmFsKG91dCwgc3RhdGljX2Nhc3Q8
ZG91YmxlPih2YWx1ZSkpOwogfQogCiB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mIG91
dCwgZG91YmxlIHZhbHVlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvdGV4dC9DU3RyaW5n
LmNwcCBiL1NvdXJjZS9XVEYvd3RmL3RleHQvQ1N0cmluZy5jcHAKaW5kZXggMDMyZGY2NTZhZmM2
YzgzNTQxYjBkYmIwMzU1MWEzZjVhYjhiYTBhZS4uMzYxZjI2ODQ4YWUzYzZmN2VmMmZkYTdkYzU3
YzZkNzA4ZjNjZjBiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvdGV4dC9DU3RyaW5nLmNw
cAorKysgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0NTdHJpbmcuY3BwCkBAIC0xMDYsNiArMTA2LDE1
IEBAIGJvb2wgQ1N0cmluZzo6aXNTYWZlVG9TZW5kVG9Bbm90aGVyVGhyZWFkKCkgY29uc3QKICAg
ICByZXR1cm4gIW1fYnVmZmVyIHx8IG1fYnVmZmVyLT5oYXNPbmVSZWYoKTsKIH0KIAordm9pZCBD
U3RyaW5nOjpncm93KHNpemVfdCBuZXdMZW5ndGgpCit7CisgICAgQVNTRVJUKG5ld0xlbmd0aCA+
IGxlbmd0aCgpKTsKKworICAgIGF1dG8gbmV3QnVmZmVyID0gQ1N0cmluZ0J1ZmZlcjo6Y3JlYXRl
VW5pbml0aWFsaXplZChuZXdMZW5ndGgpOworICAgIG1lbWNweShuZXdCdWZmZXItPm11dGFibGVE
YXRhKCksIG1fYnVmZmVyLT5kYXRhKCksIGxlbmd0aCgpICsgMSk7CisgICAgbV9idWZmZXIgPSBX
VEZNb3ZlKG5ld0J1ZmZlcik7Cit9CisKIGJvb2wgb3BlcmF0b3I9PShjb25zdCBDU3RyaW5nJiBh
LCBjb25zdCBDU3RyaW5nJiBiKQogewogICAgIGlmIChhLmlzTnVsbCgpICE9IGIuaXNOdWxsKCkp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0NTdHJpbmcuaCBiL1NvdXJjZS9XVEYv
d3RmL3RleHQvQ1N0cmluZy5oCmluZGV4IGNkYmVhYTMzNGVmNjAxNDY2NTZmYjc5Yjc0MzcxNDUz
NmVhNDc0N2UuLjExNmI0MjNmN2Y0NzcwZDFhNDk2ODNhMmNlYTY3ZjM3ODk3MjFiMWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvQ1N0cmluZy5oCisrKyBiL1NvdXJjZS9XVEYvd3Rm
L3RleHQvQ1N0cmluZy5oCkBAIC04NCw2ICs4NCw5IEBAIHB1YmxpYzoKICAgICAKICAgICBXVEZf
RVhQT1JUX1BSSVZBVEUgdW5zaWduZWQgaGFzaCgpIGNvbnN0OwogCisgICAgLy8gVXNlZnVsIGlm
IHlvdSB3YW50IHlvdXIgQ1N0cmluZyB0byBob2xkIGR5bmFtaWMgZGF0YS4KKyAgICBXVEZfRVhQ
T1JUX1BSSVZBVEUgdm9pZCBncm93KHNpemVfdCBuZXdMZW5ndGgpOworCiBwcml2YXRlOgogICAg
IHZvaWQgY29weUJ1ZmZlcklmTmVlZGVkKCk7CiAgICAgdm9pZCBpbml0KGNvbnN0IGNoYXIqLCBz
aXplX3QgbGVuZ3RoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>391077</attachid>
            <date>2020-02-18 12:43:44 -0800</date>
            <delta_ts>2020-02-18 18:58:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-207898-20200218124343.patch</filename>
            <type>text/plain</type>
            <size>19374</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU2Nzg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
NTVlOTIwMjBlMzczMjRhOGJjZjBjYWEzNTNmNzc4ZmUxYTMxYWQwLi4zMjJjNDZjMDQyYWRjNGUx
NWIwZjkyYjkzMTk5ZmQ4MjgxNjY1OGZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAyMC0wMi0xOCAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KKworICAgICAgICBBZGQgYW4gb3NfbG9nIFByaW50U3RyZWFtCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDc4OTgKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgY2xpIG9wdGlvbiB0byB3cml0
ZSBkYXRhTG9ncyB0byBvc19sb2cuCisKKyAgICAgICAgKiBqc2MuY3BwOgorICAgICAgICAocHJp
bnRVc2FnZVN0YXRlbWVudCk6CisgICAgICAgIChDb21tYW5kTGluZTo6cGFyc2VBcmd1bWVudHMp
OgorCiAyMDIwLTAyLTE3ICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAg
ICAgICAgW0pTQ10gSklUVGh1bmsgc2hvdWxkIGJlIEhhc2hTZXQ8V2VhazxOYXRpdmVFeGVjdXRh
YmxlPj4gd2l0aCBhcHByb3ByaWF0ZSBHQyB3ZWFrbmVzcyBoYW5kbGluZwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRleCA4YjI4MjI4
YmI3NzMxZDAxNzAwNTZlOWUyZmRjNDkxNzQ5MDkyNjEwLi40OTVlMzQ2Y2JhOWI1NWY2ZDQ5ZTNh
MzZjODRlMGE1OTgxNGNmMDFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDIwLTAyLTE4ICBLZWl0
aCBNaWxsZXIgIDxrZWl0aF9taWxsZXJAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhbiBvc19s
b2cgUHJpbnRTdHJlYW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIwNzg5OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFdoZW4gZGVidWdnaW5nIG9uIGlPUyB3cml0aW5nIHRvIGEgZmlsZSBjYW4gYmUgaGFy
ZCAodGhhbmtzCisgICAgICAgIFNhbmRib3hpbmchKSAgc28gbG9nZ2luZyBvdXIgZGF0YUxvZ3Mg
dG8gb3NfbG9nIHdvdWxkIG1ha2UgdGhpbmdzCisgICAgICAgIGVhc2llci4gVGhpcyBwYXRjaCBh
ZGRzIGEgbmV3IHN1YmNsYXNzIG9mIFByaW50U3RyZWFtLAorICAgICAgICBPU0xvZ1ByaW50U3Ry
ZWFtLCB0aGF0IGNvbnZlcnRzIG91ciBmaWxlIHdyaXRlcyB0bworICAgICAgICBvc19sb2cuIFVu
Zm9ydHVuYXRlbHksIG9zX2xvZyBkb2Vzbid0IGJ1ZmZlciB3cml0ZXMgc28KKyAgICAgICAgT1NM
b2dQcmludFN0cmVhbSBuZWVkcyB0byBkbyBpdHMgb3duIGJ1ZmZlcmluZy4gZS5nLiBpZiB5b3Ug
Y2FsbAorICAgICAgICBgZGF0YUxvZ0xuKCJzb21lIHRleHQgd2l0aCBhICIsIG51bWJlciwgIiBh
bmQgYSAiLCBzdHJpbmcpO2AKKyAgICAgICAgb3NfbG9nIHdpbGwgbG9nIHRoYXQgYXMgNSBzZXBh
cmF0ZSBsb2dzLgorCisgICAgICAgICogV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6Cisg
ICAgICAgICogd3RmL0NNYWtlTGlzdHMudHh0OgorICAgICAgICAqIHd0Zi9EYXRhTG9nLmNwcDoK
KyAgICAgICAgKFdURjo6c2V0RGF0YUZpbGUpOgorICAgICAgICAqIHd0Zi9EYXRhTG9nLmg6Cisg
ICAgICAgICogd3RmL09TTG9nUHJpbnRTdHJlYW0uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdURjo6
T1NMb2dQcmludFN0cmVhbTo6T1NMb2dQcmludFN0cmVhbSk6CisgICAgICAgIChXVEY6Ok9TTG9n
UHJpbnRTdHJlYW06On5PU0xvZ1ByaW50U3RyZWFtKToKKyAgICAgICAgKFdURjo6T1NMb2dQcmlu
dFN0cmVhbTo6b3Blbik6CisgICAgICAgIChXVEY6Ok9TTG9nUHJpbnRTdHJlYW06OnZwcmludGYp
OgorICAgICAgICAqIHd0Zi9PU0xvZ1ByaW50U3RyZWFtLmg6IENvcGllZCBmcm9tIFNvdXJjZS9X
VEYvd3RmL0RhdGFMb2cuaC4KKyAgICAgICAgKiB3dGYvUHJpbnRTdHJlYW0uY3BwOgorICAgICAg
ICAoV1RGOjpwcmludEV4cGVjdGVkQ1N0cmluZ0hlbHBlcik6CisgICAgICAgIChXVEY6OnByaW50
SW50ZXJuYWwpOgorICAgICAgICAqIHd0Zi90ZXh0L0NTdHJpbmcuY3BwOgorICAgICAgICAoV1RG
OjpDU3RyaW5nOjpncm93KToKKyAgICAgICAgKiB3dGYvdGV4dC9DU3RyaW5nLmg6CisKIDIwMjAt
MDItMTcgIERlYW4gSmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWJHTF0g
RW5hYmxlIEFOR0xFIGJ5IGRlZmF1bHQgZm9yIENvY29hIHBsYXRmb3JtcwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvanNj
LmNwcAppbmRleCA5MTY2ZDUyY2Y1NGE1Y2FkYTBkMzg1YzMyZjAyZGM5OTMxNjY3YzJiLi5iOTky
MmIyMWExOTY5OGQwMDZmNmMyMjM1ZTIzMjE5NDZlMWRjYTA4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvanNjLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNw
cApAQCAtOTQsNiArOTQsNyBAQAogI2luY2x1ZGUgPHd0Zi9NZW1vcnlQcmVzc3VyZUhhbmRsZXIu
aD4KICNpbmNsdWRlIDx3dGYvTW9ub3RvbmljVGltZS5oPgogI2luY2x1ZGUgPHd0Zi9OZXZlckRl
c3Ryb3llZC5oPgorI2luY2x1ZGUgPHd0Zi9PU0xvZ1ByaW50U3RyZWFtLmg+CiAjaW5jbHVkZSA8
d3RmL1Njb3BlLmg+CiAjaW5jbHVkZSA8d3RmL1N0cmluZ1ByaW50U3RyZWFtLmg+CiAjaW5jbHVk
ZSA8d3RmL1VSTC5oPgpAQCAtMjgyMSw2ICsyODIyLDcgQEAgc3RhdGljIE5PX1JFVFVSTiB2b2lk
IHByaW50VXNhZ2VTdGF0ZW1lbnQoYm9vbCBoZWxwID0gZmFsc2UpCiAgICAgZnByaW50ZihzdGRl
cnIsICIgIC0tZHVtcE9wdGlvbnMgICAgICAgICAgICAgIER1bXBzIGFsbCBub24tZGVmYXVsdCBK
U0MgVk0gb3B0aW9ucyBiZWZvcmUgY29udGludWluZ1xuIik7CiAgICAgZnByaW50ZihzdGRlcnIs
ICIgIC0tPGpzYyBWTSBvcHRpb24+PTx2YWx1ZT4gIFNldHMgdGhlIHNwZWNpZmllZCBKU0MgVk0g
b3B0aW9uXG4iKTsKICAgICBmcHJpbnRmKHN0ZGVyciwgIiAgLS1kZXN0cm95LXZtICAgICAgICAg
ICAgICAgRGVzdHJveSBWTSBiZWZvcmUgZXhpdGluZ1xuIik7CisgICAgZnByaW50ZihzdGRlcnIs
ICIgIC0tb3MtbG9nICAgICAgICAgICAgICAgICAgIHBpcGUgZGF0YUxvZyBjYWxscyB0byBvc19s
b2cgKERhcndpbiBvbmx5KVxuIik7CiAgICAgZnByaW50ZihzdGRlcnIsICJcbiIpOwogICAgIGZw
cmludGYoc3RkZXJyLCAiRmlsZXMgd2l0aCBhIC5tanMgZXh0ZW5zaW9uIHdpbGwgYWx3YXlzIGJl
IGV2YWx1YXRlZCBhcyBtb2R1bGVzLlxuIik7CiAgICAgZnByaW50ZihzdGRlcnIsICJcbiIpOwpA
QCAtMjkzMyw2ICsyOTM1LDE0IEBAIHZvaWQgQ29tbWFuZExpbmU6OnBhcnNlQXJndW1lbnRzKGlu
dCBhcmdjLCBjaGFyKiogYXJndikKICAgICAgICAgICAgIG1fZGVzdHJveVZNID0gdHJ1ZTsKICAg
ICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CisgICAgICAgIGlmICghc3RyY21wKGFyZywg
Ii0tb3MtbG9nIikpIHsKKyNpZiBPUyhEQVJXSU4pCisgICAgICAgICAgICBzZXREYXRhRmlsZShP
U0xvZ1ByaW50U3RyZWFtOjpvcGVuKCJjb20uYXBwbGUuSmF2YVNjcmlwdENvcmUiLCAiRGF0YUxv
ZyIsIE9TX0xPR19UWVBFX0lORk8pKTsKKyNlbHNlCisgICAgICAgICAgICBwcmludFVzYWdlU3Rh
dGVtZW50KCk7CisjZW5kaWYKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CiAgICAg
ICAgIGlmICghc3RyY21wKGFyZywgIi0tZGlzYWJsZU9wdGlvbnNGcmVlemluZ0ZvclRlc3Rpbmci
KSkgewogICAgICAgICAgICAgQ29uZmlnOjpkaXNhYmxlRnJlZXppbmdGb3JUZXN0aW5nKCk7CiAg
ICAgICAgICAgICBjb250aW51ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCmluZGV4IGRiMDk2YWMzMGEzMzMyYzU0YTYzMzhkMWVlMjYzZWRkZWM1M2VmODIuLjg5NmVh
ZTZhZTBiZGU3Y2RkNDY5Njg5MGQ2ZWVlMDIwYjNiY2JjYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
VEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dURi9XVEYueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNzgsNiArNzgsNyBAQAogCQk1MzExQkQ1MzFFQTcx
Q0FEMDA1MjUyODEgLyogU2lnbmFscy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1MzExQkQ1MTFFQTcxQ0FEMDA1MjUyODEgLyogU2lnbmFscy5jcHAg
Ki87IH07CiAJCTUzMTFCRDVDMUVBODIyRjkwMDUyNTI4MSAvKiBUaHJlYWRNZXNzYWdlLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUzMTFCRDVCMUVB
ODIyRjkwMDUyNTI4MSAvKiBUaHJlYWRNZXNzYWdlLmNwcCAqLzsgfTsKIAkJNTM1MzRGMkExRUMw
RTEwRTAwMTQxQjJGIC8qIE1hY2hFeGNlcHRpb25zLmRlZnMgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MzUzNEYyOTFFQzBFMTBFMDAxNDFCMkYgLyogTWFj
aEV4Y2VwdGlvbnMuZGVmcyAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChDbGllbnQsIFNl
cnZlciwgKTsgfTsgfTsKKwkJNTNGQzcwRDAyM0ZCOTUwQzAwNUIxOTkwIC8qIE9TTG9nUHJpbnRT
dHJlYW0uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NTNGQzcwQ0YyM0ZCOTUwQzAwNUIxOTkwIC8qIE9TTG9nUHJpbnRTdHJlYW0uY3BwICovOyB9Owog
CQk1QzFGMDU5MzIxNjQzNTZCMDAzOTMwMkMgLyogQ0ZVUkxFeHRyYXMuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUMxRjA1OTEyMTY0MzU2QjAwMzkz
MDJDIC8qIENGVVJMRXh0cmFzLmNwcCAqLzsgfTsKIAkJNUMxRjA1OTUyMTY0MzdCMzAwMzkzMDJD
IC8qIFVSTENGLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDVDMUYwNTk0MjE2NDM3QjMwMDM5MzAyQyAvKiBVUkxDRi5jcHAgKi87IH07CiAJCTVDQzBF
RTc1MjE2MjlGMTkwMEExQTg0MiAvKiBVUkxQYXJzZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUNDMEVFNzMyMTYyOUYxOTAwQTFBODQyIC8qIFVS
TFBhcnNlci5jcHAgKi87IH07CkBAIC0zOTksNiArNDAwLDggQEAKIAkJNTNFQzI1M0MxRTk1QUQz
MDAwMDgzMUI5IC8qIFByaW9yaXR5UXVldWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gUHJpb3JpdHlRdWV1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1M0Yw
OEExQkEzOUQ0OUE4QkFEMzY5QTEgLyogU3RkU2V0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFN0ZFNldC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1M0YxRDk4
NjIwNDc3Qjk4MDBFQkM2QkYgLyogRnVuY3Rpb25UcmFpdHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBleHBsaWNpdEZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuaDsgcGF0aCA9IEZ1
bmN0aW9uVHJhaXRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUzRkM3MENFMjNG
Qjk1MEMwMDVCMTk5MCAvKiBPU0xvZ1ByaW50U3RyZWFtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IE9TTG9nUHJpbnRTdHJlYW0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNTNGQzcwQ0YyM0ZCOTUwQzAwNUIxOTkwIC8qIE9TTG9nUHJpbnRTdHJlYW0uY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gT1NMb2dQcmludFN0cmVhbS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU1MzA3MUM5MUM0MDQyNzIwMDM4NDg5OCAv
KiBUaW55TFJVQ2FjaGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVGlueUxS
VUNhY2hlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU1OTdGODJDMUQ5NEI5OTcw
MDY2QkMyMSAvKiBTeW5jaHJvbml6ZWRGaXhlZFF1ZXVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFN5bmNocm9uaXplZEZpeGVkUXVldWUuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNUI0MzM4M0E1RDBCNDYzQzk0MzNEOTMzIC8qIEluZGV4TWFwLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluZGV4TWFwLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC0xMTEyLDYgKzExMTUsOCBAQAogCQkJCTI3NURGQjZCMjM4QkRGNzIwMDEy
MzBFMiAvKiBPcHRpb25TZXRIYXNoLmggKi8sCiAJCQkJMEY5NDk1ODMxQzU3MUNDOTAwNDEzQTQ4
IC8qIE9yZGVyTWFrZXIuaCAqLywKIAkJCQlBOEE0NzJENzE1MUE4MjVCMDA0MTIzRkYgLyogT1NB
bGxvY2F0b3IuaCAqLywKKwkJCQk1M0ZDNzBDRjIzRkI5NTBDMDA1QjE5OTAgLyogT1NMb2dQcmlu
dFN0cmVhbS5jcHAgKi8sCisJCQkJNTNGQzcwQ0UyM0ZCOTUwQzAwNUIxOTkwIC8qIE9TTG9nUHJp
bnRTdHJlYW0uaCAqLywKIAkJCQk3Q0JCQTA3MzE5QkI3RkRDMDBCQkYwMjUgLyogT1NPYmplY3RQ
dHIuaCAqLywKIAkJCQlBOEE0NzJEQTE1MUE4MjVCMDA0MTIzRkYgLyogT1NSYW5kb21Tb3VyY2Uu
Y3BwICovLAogCQkJCUE4QTQ3MkRCMTUxQTgyNUIwMDQxMjNGRiAvKiBPU1JhbmRvbVNvdXJjZS5o
ICovLApAQCAtMTY2NCw2ICsxNjY5LDcgQEAKIAkJCQlBOEE0NzNGNDE1MUE4MjVCMDA0MTIzRkYg
LyogTnVtYmVyT2ZDb3Jlcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4MzQ4QkEwRTIxRkJDMEQ1
MDBGRDMwNTQgLyogT2JqZWN0SWRlbnRpZmllci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBM0VF
NUMzQTIxRkZBQzVGMDBGQUJENjEgLyogT1NBbGxvY2F0b3JQT1NJWC5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQk1M0ZDNzBEMDIzRkI5NTBDMDA1QjE5OTAgLyogT1NMb2dQcmludFN0cmVhbS5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlBOEE0NzNGOTE1MUE4MjVCMDA0MTIzRkYgLyogT1NSYW5kb21T
b3VyY2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThBNDc0MDIxNTFBODI1QjAwNDEyM0ZGIC8q
IFBhZ2VCbG9jay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkZGMTlEQzFCQjMzNEVCMDA4ODZE
OTEgLyogUGFyYWxsZWxIZWxwZXJQb29sLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3Rz
LnR4dAppbmRleCA2YmRlNmI3MDQwOWQyMDliOWE3NGEwMWY5YTcyY2E0MWE4YWExMGI4Li44NGY4
YmVkOTI1ZWU4NGZmNmM0ZDhkNGIwZDU4MDAzNjk3MmJjZDQxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V1RGL3d0Zi9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4
dApAQCAtMTQ4LDYgKzE0OCw3IEBAIHNldChXVEZfUFVCTElDX0hFQURFUlMKICAgICBOb3RGb3Vu
ZC5oCiAgICAgTnVtYmVyT2ZDb3Jlcy5oCiAgICAgT1NBbGxvY2F0b3IuaAorICAgIE9TTG9nUHJp
bnRTdHJlYW0uaAogICAgIE9TT2JqZWN0UHRyLmgKICAgICBPU1JhbmRvbVNvdXJjZS5oCiAgICAg
T2JqQ1J1bnRpbWVFeHRyYXMuaApAQCAtNDAwLDYgKzQwMSw3IEBAIHNldChXVEZfU09VUkNFUwog
ICAgIE1ldGFBbGxvY2F0b3IuY3BwCiAgICAgTW9ub3RvbmljVGltZS5jcHAKICAgICBOdW1iZXJP
ZkNvcmVzLmNwcAorICAgIE9TTG9nUHJpbnRTdHJlYW0uY3BwCiAgICAgT1NSYW5kb21Tb3VyY2Uu
Y3BwCiAgICAgT2JqZWN0SWRlbnRpZmllci5jcHAKICAgICBQYWdlQmxvY2suY3BwCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL3d0Zi9EYXRhTG9nLmNwcCBiL1NvdXJjZS9XVEYvd3RmL0RhdGFMb2cu
Y3BwCmluZGV4IDAyZDMyNGI1NzEzMmEwMGIxOGY2NzM5NzI4YmQxZjUzNjY4M2U3ZjIuLmI5NTU3
NzBlNTMyYjAzOTliMzI4ZTExM2M0NDU3M2ZiNzgyNTRlMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
VEYvd3RmL0RhdGFMb2cuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL0RhdGFMb2cuY3BwCkBAIC0x
NjYsNiArMTY2LDExIEBAIHZvaWQgc2V0RGF0YUZpbGUoY29uc3QgY2hhciogcGF0aCkKICAgICBz
X2ZpbGUgPSBuZXcgKHNfbG9ja2VkRmlsZURhdGEpIExvY2tlZFByaW50U3RyZWFtKHN0ZDo6dW5p
cXVlX3B0cjxGaWxlUHJpbnRTdHJlYW0+KGZpbGUpKTsKIH0KIAordm9pZCBzZXREYXRhRmlsZShz
dGQ6OnVuaXF1ZV9wdHI8UHJpbnRTdHJlYW0+JiYgZmlsZSkKK3sKKyAgICBzX2ZpbGUgPSBmaWxl
LnJlbGVhc2UoKTsKK30KKwogUHJpbnRTdHJlYW0mIGRhdGFGaWxlKCkKIHsKICAgICBpbml0aWFs
aXplTG9nRmlsZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvRGF0YUxvZy5oIGIvU291
cmNlL1dURi93dGYvRGF0YUxvZy5oCmluZGV4IDllM2M3NjZiZDk3ZjM1YTFhZTE3NzkyN2RlMDhk
ZmM1NjBiODJjY2UuLjA4MWQwYzE3MTk2Nzc0NzBhODQzNzFlNTAxMjU5NDFkYjcwYzFiZjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0RhdGFMb2cuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9E
YXRhTG9nLmgKQEAgLTM0LDYgKzM0LDcgQEAgbmFtZXNwYWNlIFdURiB7CiAKIFdURl9FWFBPUlRf
UFJJVkFURSBQcmludFN0cmVhbSYgZGF0YUZpbGUoKTsKIFdURl9FWFBPUlRfUFJJVkFURSB2b2lk
IHNldERhdGFGaWxlKGNvbnN0IGNoYXIqIHBhdGgpOworV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQg
c2V0RGF0YUZpbGUoc3RkOjp1bmlxdWVfcHRyPFByaW50U3RyZWFtPiYmKTsKIAogV1RGX0VYUE9S
VF9QUklWQVRFIHZvaWQgZGF0YUxvZ0ZWKGNvbnN0IGNoYXIqIGZvcm1hdCwgdmFfbGlzdCkgV1RG
X0FUVFJJQlVURV9QUklOVEYoMSwgMCk7CiBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBkYXRhTG9n
Rihjb25zdCBjaGFyKiBmb3JtYXQsIC4uLikgV1RGX0FUVFJJQlVURV9QUklOVEYoMSwgMik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9PU0xvZ1ByaW50U3RyZWFtLmNwcCBiL1NvdXJjZS9X
VEYvd3RmL09TTG9nUHJpbnRTdHJlYW0uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg0ZjRmOWZlNzRhM2EzYzM1
ZmNiM2U2MjU2ODk5M2JmZDU2ZDVkM2EKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV1RGL3d0
Zi9PU0xvZ1ByaW50U3RyZWFtLmNwcApAQCAtMCwwICsxLDkxIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBB
TlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
ICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNs
dWRlIDx3dGYvT1NMb2dQcmludFN0cmVhbS5oPgorCisjaW5jbHVkZSA8d3RmL1N0cmluZ1ByaW50
U3RyZWFtLmg+CisKK25hbWVzcGFjZSBXVEYgeworCisjaWYgT1MoREFSV0lOKQorCitPU0xvZ1By
aW50U3RyZWFtOjpPU0xvZ1ByaW50U3RyZWFtKG9zX2xvZ190IGxvZywgb3NfbG9nX3R5cGVfdCBs
b2dUeXBlKQorICAgIDogbV9sb2cobG9nKQorICAgICwgbV9sb2dUeXBlKGxvZ1R5cGUpCisgICAg
LCBtX3N0cmluZygiaW5pdGlhbCBzdHJpbmcuLi4gbG9sIikKK3sKK30KKworT1NMb2dQcmludFN0
cmVhbTo6fk9TTG9nUHJpbnRTdHJlYW0oKQoreyB9CisKK3N0ZDo6dW5pcXVlX3B0cjxPU0xvZ1By
aW50U3RyZWFtPiBPU0xvZ1ByaW50U3RyZWFtOjpvcGVuKGNvbnN0IGNoYXIqIHN1YnN5c3RlbSwg
Y29uc3QgY2hhciogY2F0ZWdvcnksIG9zX2xvZ190eXBlX3QgbG9nVHlwZSkKK3sKKyAgICBvc19s
b2dfdCBsb2cgPSBvc19sb2dfY3JlYXRlKHN1YnN5c3RlbSwgY2F0ZWdvcnkpOworICAgIHJldHVy
biBtYWtlVW5pcXVlPE9TTG9nUHJpbnRTdHJlYW0+KGxvZywgbG9nVHlwZSk7Cit9CisKK3ZvaWQg
T1NMb2dQcmludFN0cmVhbTo6dnByaW50Zihjb25zdCBjaGFyKiBmb3JtYXQsIHZhX2xpc3QgYXJn
TGlzdCkKK3sKKyAgICBhdXRvIGxvY2sgPSBob2xkTG9jayhtX3N0cmluZ0xvY2spOworICAgIHNp
emVfdCBvZmZzZXQgPSBtX29mZnNldDsKKyAgICBzaXplX3QgZnJlZUJ5dGVzID0gbV9zdHJpbmcu
bGVuZ3RoKCkgLSBvZmZzZXQ7CisgICAgdmFfbGlzdCBiYWNrdXA7CisgICAgdmFfY29weShiYWNr
dXAsIGFyZ0xpc3QpOworICAgIHNpemVfdCBieXRlc1dyaXR0ZW4gPSB2c25wcmludGYobV9zdHJp
bmcubXV0YWJsZURhdGEoKSArIG9mZnNldCwgZnJlZUJ5dGVzLCBmb3JtYXQsIGFyZ0xpc3QpOwor
ICAgIGlmIChVTkxJS0VMWShieXRlc1dyaXR0ZW4gPj0gZnJlZUJ5dGVzKSkgeworICAgICAgICBz
aXplX3QgbmV3TGVuZ3RoID0gc3RkOjptYXgoYnl0ZXNXcml0dGVuICsgbV9zdHJpbmcubGVuZ3Ro
KCksIG1fc3RyaW5nLmxlbmd0aCgpICogMik7CisgICAgICAgIG1fc3RyaW5nLmdyb3cobmV3TGVu
Z3RoKTsKKyAgICAgICAgZnJlZUJ5dGVzID0gbmV3TGVuZ3RoIC0gb2Zmc2V0OworICAgICAgICBi
eXRlc1dyaXR0ZW4gPSB2c25wcmludGYobV9zdHJpbmcubXV0YWJsZURhdGEoKSArIG9mZnNldCwg
ZnJlZUJ5dGVzLCBmb3JtYXQsIGJhY2t1cCk7CisgICAgICAgIEFTU0VSVChieXRlc1dyaXR0ZW4g
PCBmcmVlQnl0ZXMpOworICAgIH0KKworICAgIHNpemVfdCBuZXdPZmZzZXQgPSBvZmZzZXQgKyBi
eXRlc1dyaXR0ZW47CisgICAgY2hhciogYnVmZmVyID0gbV9zdHJpbmcubXV0YWJsZURhdGEoKTsK
KyAgICBib29sIGxvZ2dlZFRleHQgPSBmYWxzZTsKKyAgICBkbyB7CisgICAgICAgIGlmIChidWZm
ZXJbb2Zmc2V0XSA9PSAnXG4nKSB7CisgICAgICAgICAgICAvLyBTZXQgdGhlIG5ldyBsaW5lIHRv
IGEgbnVsbCBjaGFyYWN0ZXIgc28gb3NfbG9nIHN0b3BzIGNvcHlpbmcgdGhlcmUuCisgICAgICAg
ICAgICBidWZmZXJbb2Zmc2V0XSA9ICdcMCc7CisgICAgICAgICAgICBvc19sb2dfd2l0aF90eXBl
KG1fbG9nLCBtX2xvZ1R5cGUsICIle3B1YmxpY31zIiwgYnVmZmVyKTsKKyAgICAgICAgICAgIGJ1
ZmZlciArPSBvZmZzZXQgKyAxOworICAgICAgICAgICAgbmV3T2Zmc2V0IC09IG9mZnNldCArIDE7
CisgICAgICAgICAgICBvZmZzZXQgPSAwOworICAgICAgICAgICAgbG9nZ2VkVGV4dCA9IHRydWU7
CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgb2Zmc2V0Kys7CisgICAgfSB3aGlsZSAob2Zm
c2V0IDwgbmV3T2Zmc2V0KTsKKworICAgIGlmIChsb2dnZWRUZXh0KQorICAgICAgICBtZW1tb3Zl
KG1fc3RyaW5nLm11dGFibGVEYXRhKCksIGJ1ZmZlciwgbmV3T2Zmc2V0KTsKKyAgICBtX29mZnNl
dCA9IG5ld09mZnNldDsKK30KKworI2VuZGlmCisKK30gLy8gbmFtZXNwYWNlIFdURgorCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9PU0xvZ1ByaW50U3RyZWFtLmggYi9Tb3VyY2UvV1RGL3d0
Zi9PU0xvZ1ByaW50U3RyZWFtLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzg3ZWVmNzljNzBiNTE0ZjhkY2U3ZTk1
NWZhMmU2ZGQ5NjhiZDUyNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XVEYvd3RmL09TTG9n
UHJpbnRTdHJlYW0uaApAQCAtMCwwICsxLDYyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIw
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIAorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgT1MoREFSV0lOKQorCisj
aW5jbHVkZSA8d3RmL0xvY2suaD4KKyNpbmNsdWRlIDx3dGYvUHJpbnRTdHJlYW0uaD4KKyNpbmNs
dWRlIDx3dGYvUmVjdXJzaXZlTG9ja0FkYXB0ZXIuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9DU3Ry
aW5nLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorCisjaW5jbHVkZSA8b3MvbG9nLmg+CisK
K25hbWVzcGFjZSBXVEYgeworCitjbGFzcyBXVEZfRVhQT1JUX1BSSVZBVEUgT1NMb2dQcmludFN0
cmVhbSBmaW5hbCA6IHB1YmxpYyBQcmludFN0cmVhbSB7CitwdWJsaWM6CisgICAgT1NMb2dQcmlu
dFN0cmVhbShvc19sb2dfdCwgb3NfbG9nX3R5cGVfdCk7CisgICAgdmlydHVhbCB+T1NMb2dQcmlu
dFN0cmVhbSgpOworICAgIAorICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8T1NMb2dQcmludFN0
cmVhbT4gb3Blbihjb25zdCBjaGFyKiBzdWJzeXN0ZW0sIGNvbnN0IGNoYXIqIGNhdGVnb3J5LCBv
c19sb2dfdHlwZV90ID0gT1NfTE9HX1RZUEVfREVGQVVMVCk7CisgICAgCisgICAgdm9pZCB2cHJp
bnRmKGNvbnN0IGNoYXIqIGZvcm1hdCwgdmFfbGlzdCkgb3ZlcnJpZGUgV1RGX0FUVFJJQlVURV9Q
UklOVEYoMiwgMCk7CisKK3ByaXZhdGU6CisgICAgb3NfbG9nX3QgbV9sb2c7CisgICAgb3NfbG9n
X3R5cGVfdCBtX2xvZ1R5cGU7CisgICAgTG9jayBtX3N0cmluZ0xvY2s7CisgICAgLy8gV2UgbmVl
ZCBhIGJ1ZmZlciBiZWNhdXNlIG9zX2xvZyBkb2Vzbid0IHdhaXQgZm9yIGEgbmV3IGxpbmUgdG8g
cHJpbnQgdGhlIGNoYXJhY3RlcnMuCisgICAgQ1N0cmluZyBtX3N0cmluZzsKKyAgICBzaXplX3Qg
bV9vZmZzZXQgeyAwIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBXVEYKKwordXNpbmcgV1RGOjpP
U0xvZ1ByaW50U3RyZWFtOworCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1By
aW50U3RyZWFtLmNwcCBiL1NvdXJjZS9XVEYvd3RmL1ByaW50U3RyZWFtLmNwcAppbmRleCA3MWQ4
MTlmMDMzZmExMWRiZTA2MjQwNTQ3YmQyMGNiOTZkZjlkZGU5Li4zYjE0NzljODc1NzJlMGIwMTgz
YzMwZTIwMTEwOTkzYWExZDE5ZmI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QcmludFN0
cmVhbS5jcHAKKysrIGIvU291cmNlL1dURi93dGYvUHJpbnRTdHJlYW0uY3BwCkBAIC03NywxMyAr
NzcsMTggQEAgdm9pZCBwcmludEludGVybmFsKFByaW50U3RyZWFtJiBvdXQsIGNvbnN0IGNoYXIq
IHN0cmluZykKIHN0YXRpYyB2b2lkIHByaW50RXhwZWN0ZWRDU3RyaW5nSGVscGVyKFByaW50U3Ry
ZWFtJiBvdXQsIGNvbnN0IGNoYXIqIHR5cGUsIEV4cGVjdGVkPENTdHJpbmcsIFVURjhDb252ZXJz
aW9uRXJyb3I+IGV4cGVjdGVkQ1N0cmluZykKIHsKICAgICBpZiAoVU5MSUtFTFkoIWV4cGVjdGVk
Q1N0cmluZykpIHsKLSAgICAgICAgaWYgKGV4cGVjdGVkQ1N0cmluZy5lcnJvcigpID09IFVURjhD
b252ZXJzaW9uRXJyb3I6Ok91dE9mTWVtb3J5KQotICAgICAgICAgICAgb3V0LnByaW50KCIoT3V0
IG9mIG1lbW9yeSB3aGlsZSBjb252ZXJ0aW5nICIsIHR5cGUsICIgdG8gdXRmOCkiKTsKLSAgICAg
ICAgZWxzZQotICAgICAgICAgICAgb3V0LnByaW50KCIoZmFpbGVkIHRvIGNvbnZlcnQgIiwgdHlw
ZSwgIiB0byB1dGY4KSIpOworICAgICAgICBpZiAoZXhwZWN0ZWRDU3RyaW5nLmVycm9yKCkgPT0g
VVRGOENvbnZlcnNpb25FcnJvcjo6T3V0T2ZNZW1vcnkpIHsKKyAgICAgICAgICAgIHByaW50SW50
ZXJuYWwob3V0LCAiKE91dCBvZiBtZW1vcnkgd2hpbGUgY29udmVydGluZyAiKTsKKyAgICAgICAg
ICAgIHByaW50SW50ZXJuYWwob3V0LCB0eXBlKTsKKyAgICAgICAgICAgIHByaW50SW50ZXJuYWwo
b3V0LCAiIHRvIHV0ZjgpIik7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBwcmludElu
dGVybmFsKG91dCwgIihmYWlsZWQgdG8gY29udmVydCAiKTsKKyAgICAgICAgICAgIHByaW50SW50
ZXJuYWwob3V0LCB0eXBlKTsKKyAgICAgICAgICAgIHByaW50SW50ZXJuYWwob3V0LCAiIHRvIHV0
ZjgpIik7CisgICAgICAgIH0KICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICBvdXQucHJpbnQo
ZXhwZWN0ZWRDU3RyaW5nLnZhbHVlKCkpOworICAgIHByaW50SW50ZXJuYWwob3V0LCBleHBlY3Rl
ZENTdHJpbmcudmFsdWUoKSk7CiB9CiAKIHZvaWQgcHJpbnRJbnRlcm5hbChQcmludFN0cmVhbSYg
b3V0LCBjb25zdCBTdHJpbmdWaWV3JiBzdHJpbmcpCkBAIC05Myw3ICs5OCw3IEBAIHZvaWQgcHJp
bnRJbnRlcm5hbChQcmludFN0cmVhbSYgb3V0LCBjb25zdCBTdHJpbmdWaWV3JiBzdHJpbmcpCiAK
IHZvaWQgcHJpbnRJbnRlcm5hbChQcmludFN0cmVhbSYgb3V0LCBjb25zdCBDU3RyaW5nJiBzdHJp
bmcpCiB7Ci0gICAgb3V0LnByaW50KHN0cmluZy5kYXRhKCkpOworICAgIHByaW50SW50ZXJuYWwo
b3V0LCBzdHJpbmcuZGF0YSgpKTsKIH0KIAogdm9pZCBwcmludEludGVybmFsKFByaW50U3RyZWFt
JiBvdXQsIGNvbnN0IFN0cmluZyYgc3RyaW5nKQpAQCAtMTA0LDcgKzEwOSw3IEBAIHZvaWQgcHJp
bnRJbnRlcm5hbChQcmludFN0cmVhbSYgb3V0LCBjb25zdCBTdHJpbmcmIHN0cmluZykKIHZvaWQg
cHJpbnRJbnRlcm5hbChQcmludFN0cmVhbSYgb3V0LCBjb25zdCBTdHJpbmdJbXBsKiBzdHJpbmcp
CiB7CiAgICAgaWYgKCFzdHJpbmcpIHsKLSAgICAgICAgb3V0LnByaW50KCIobnVsbCBTdHJpbmdJ
bXBsKikiKTsKKyAgICAgICAgcHJpbnRJbnRlcm5hbChvdXQsICIobnVsbCBTdHJpbmdJbXBsKiki
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBwcmludEV4cGVjdGVkQ1N0cmluZ0hlbHBl
cihvdXQsICJTdHJpbmdJbXBsKiIsIHN0cmluZy0+dHJ5R2V0VXRmOCgpKTsKQEAgLTE2Nyw3ICsx
NzIsNyBAQCB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mIG91dCwgdW5zaWduZWQgbG9u
ZyBsb25nIHZhbHVlKQogCiB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mIG91dCwgZmxv
YXQgdmFsdWUpCiB7Ci0gICAgb3V0LnByaW50KHN0YXRpY19jYXN0PGRvdWJsZT4odmFsdWUpKTsK
KyAgICBwcmludEludGVybmFsKG91dCwgc3RhdGljX2Nhc3Q8ZG91YmxlPih2YWx1ZSkpOwogfQog
CiB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mIG91dCwgZG91YmxlIHZhbHVlKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dURi93dGYvdGV4dC9DU3RyaW5nLmNwcCBiL1NvdXJjZS9XVEYvd3Rm
L3RleHQvQ1N0cmluZy5jcHAKaW5kZXggMDMyZGY2NTZhZmM2YzgzNTQxYjBkYmIwMzU1MWEzZjVh
YjhiYTBhZS4uMzYxZjI2ODQ4YWUzYzZmN2VmMmZkYTdkYzU3YzZkNzA4ZjNjZjBiYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dURi93dGYvdGV4dC9DU3RyaW5nLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0
Zi90ZXh0L0NTdHJpbmcuY3BwCkBAIC0xMDYsNiArMTA2LDE1IEBAIGJvb2wgQ1N0cmluZzo6aXNT
YWZlVG9TZW5kVG9Bbm90aGVyVGhyZWFkKCkgY29uc3QKICAgICByZXR1cm4gIW1fYnVmZmVyIHx8
IG1fYnVmZmVyLT5oYXNPbmVSZWYoKTsKIH0KIAordm9pZCBDU3RyaW5nOjpncm93KHNpemVfdCBu
ZXdMZW5ndGgpCit7CisgICAgQVNTRVJUKG5ld0xlbmd0aCA+IGxlbmd0aCgpKTsKKworICAgIGF1
dG8gbmV3QnVmZmVyID0gQ1N0cmluZ0J1ZmZlcjo6Y3JlYXRlVW5pbml0aWFsaXplZChuZXdMZW5n
dGgpOworICAgIG1lbWNweShuZXdCdWZmZXItPm11dGFibGVEYXRhKCksIG1fYnVmZmVyLT5kYXRh
KCksIGxlbmd0aCgpICsgMSk7CisgICAgbV9idWZmZXIgPSBXVEZNb3ZlKG5ld0J1ZmZlcik7Cit9
CisKIGJvb2wgb3BlcmF0b3I9PShjb25zdCBDU3RyaW5nJiBhLCBjb25zdCBDU3RyaW5nJiBiKQog
ewogICAgIGlmIChhLmlzTnVsbCgpICE9IGIuaXNOdWxsKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL3d0Zi90ZXh0L0NTdHJpbmcuaCBiL1NvdXJjZS9XVEYvd3RmL3RleHQvQ1N0cmluZy5oCmlu
ZGV4IGNkYmVhYTMzNGVmNjAxNDY2NTZmYjc5Yjc0MzcxNDUzNmVhNDc0N2UuLjExNmI0MjNmN2Y0
NzcwZDFhNDk2ODNhMmNlYTY3ZjM3ODk3MjFiMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3Rm
L3RleHQvQ1N0cmluZy5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQvQ1N0cmluZy5oCkBAIC04
NCw2ICs4NCw5IEBAIHB1YmxpYzoKICAgICAKICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgdW5zaWdu
ZWQgaGFzaCgpIGNvbnN0OwogCisgICAgLy8gVXNlZnVsIGlmIHlvdSB3YW50IHlvdXIgQ1N0cmlu
ZyB0byBob2xkIGR5bmFtaWMgZGF0YS4KKyAgICBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBncm93
KHNpemVfdCBuZXdMZW5ndGgpOworCiBwcml2YXRlOgogICAgIHZvaWQgY29weUJ1ZmZlcklmTmVl
ZGVkKCk7CiAgICAgdm9pZCBpbml0KGNvbnN0IGNoYXIqLCBzaXplX3QgbGVuZ3RoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>391127</attachid>
            <date>2020-02-18 18:58:47 -0800</date>
            <delta_ts>2020-02-18 21:37:49 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-207898-20200218185846.patch</filename>
            <type>text/plain</type>
            <size>19698</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU2ODk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
MWEyYjcyNWMyMTE2ZmRjMmQ5MmRlMGExN2IwZGY5Mjg0OTcwNzRlLi5iOWY4OTE0MTIyOTU0OWYx
MzBlM2Y0NjVmNGUxMTcyZDY5ZDE2OWExIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAyMC0wMi0xOCAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KKworICAgICAgICBBZGQgYW4gb3NfbG9nIFByaW50U3RyZWFtCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDc4OTgKKworICAgICAgICBSZXZp
ZXdlZCBieSBNYXJrIExhbS4KKworICAgICAgICBBZGQganNjIG9wdGlvbiB0byB3cml0ZSBkYXRh
TG9ncyB0byBvc19sb2cuCisKKyAgICAgICAgKiBydW50aW1lL09wdGlvbnMuY3BwOgorICAgICAg
ICAoSlNDOjpPcHRpb25zOjppbml0aWFsaXplKToKKyAgICAgICAgKiBydW50aW1lL09wdGlvbnNM
aXN0Lmg6CisKIDIwMjAtMDItMTggIFBhdWxvIE1hdG9zICA8cG1hdG9zQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgRml4IG9yZGVyIChpbiBNSVBTKSB1bmRlciB3aGljaCBDUy1yZWdpc3RlcnMgYXJl
IHNhdmVkL3Jlc3RvcmVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGYxNzQ2NzEwYjFiZDAzYzcwZTgxZjdkZTRlYjM3NjI1Nzlk
MmMzNDQuLmRiODY1MTRkNjhmZWQ3MWEzNTA3MzAxNTVkMTY5YTIxNzZjMGZiMmUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMzcgQEAKKzIwMjAtMDItMTggIEtlaXRoIE1pbGxlciAgPGtlaXRoX21pbGxlckBhcHBs
ZS5jb20+CisKKyAgICAgICAgQWRkIGFuIG9zX2xvZyBQcmludFN0cmVhbQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA3ODk4CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTWFyayBMYW0uCisKKyAgICAgICAgV2hlbiBkZWJ1Z2dpbmcgb24gaU9TIHdyaXRp
bmcgdG8gYSBmaWxlIGNhbiBiZSBoYXJkICh0aGFua3MKKyAgICAgICAgU2FuZGJveGluZyEpICBz
byBsb2dnaW5nIG91ciBkYXRhTG9ncyB0byBvc19sb2cgd291bGQgbWFrZSB0aGluZ3MKKyAgICAg
ICAgZWFzaWVyLiBUaGlzIHBhdGNoIGFkZHMgYSBuZXcgc3ViY2xhc3Mgb2YgUHJpbnRTdHJlYW0s
CisgICAgICAgIE9TTG9nUHJpbnRTdHJlYW0sIHRoYXQgY29udmVydHMgb3VyIGZpbGUgd3JpdGVz
IHRvCisgICAgICAgIG9zX2xvZy4gVW5mb3J0dW5hdGVseSwgb3NfbG9nIGRvZXNuJ3QgYnVmZmVy
IHdyaXRlcyBzbworICAgICAgICBPU0xvZ1ByaW50U3RyZWFtIG5lZWRzIHRvIGRvIGl0cyBvd24g
YnVmZmVyaW5nLiBlLmcuIGlmIHlvdSBjYWxsCisgICAgICAgIGBkYXRhTG9nTG4oInNvbWUgdGV4
dCB3aXRoIGEgIiwgbnVtYmVyLCAiIGFuZCBhICIsIHN0cmluZyk7YAorICAgICAgICBvc19sb2cg
d2lsbCBsb2cgdGhhdCBhcyA1IHNlcGFyYXRlIGxvZ3MuCisKKyAgICAgICAgKiBXVEYueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiB3dGYvQ01ha2VMaXN0cy50eHQ6CisgICAg
ICAgICogd3RmL0RhdGFMb2cuY3BwOgorICAgICAgICAoV1RGOjpzZXREYXRhRmlsZSk6CisgICAg
ICAgICogd3RmL0RhdGFMb2cuaDoKKyAgICAgICAgKiB3dGYvT1NMb2dQcmludFN0cmVhbS5jcHA6
IEFkZGVkLgorICAgICAgICAoV1RGOjpPU0xvZ1ByaW50U3RyZWFtOjpPU0xvZ1ByaW50U3RyZWFt
KToKKyAgICAgICAgKFdURjo6T1NMb2dQcmludFN0cmVhbTo6fk9TTG9nUHJpbnRTdHJlYW0pOgor
ICAgICAgICAoV1RGOjpPU0xvZ1ByaW50U3RyZWFtOjpvcGVuKToKKyAgICAgICAgKFdURjo6T1NM
b2dQcmludFN0cmVhbTo6dnByaW50Zik6CisgICAgICAgICogd3RmL09TTG9nUHJpbnRTdHJlYW0u
aDogQ29waWVkIGZyb20gU291cmNlL1dURi93dGYvRGF0YUxvZy5oLgorICAgICAgICAqIHd0Zi9Q
cmludFN0cmVhbS5jcHA6CisgICAgICAgIChXVEY6OnByaW50RXhwZWN0ZWRDU3RyaW5nSGVscGVy
KToKKyAgICAgICAgKFdURjo6cHJpbnRJbnRlcm5hbCk6CisgICAgICAgICogd3RmL3RleHQvQ1N0
cmluZy5jcHA6CisgICAgICAgIChXVEY6OkNTdHJpbmc6Omdyb3cpOgorICAgICAgICAqIHd0Zi90
ZXh0L0NTdHJpbmcuaDoKKwogMjAyMC0wMi0xOCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2Vy
QGFwcGxlLmNvbT4KIAogICAgICAgICBNb3ZlIGZyb20gImxheWVyIGZsdXNoIiB0ZXJtaW5vbG9n
eSB0byAicmVuZGVyaW5nIHVwZGF0ZSIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL09wdGlvbnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0
aW9ucy5jcHAKaW5kZXggMDU5MWE4ZmYxYzczOWZlYTE0Yzc1NTU4MGZhMzYyYjAyMmRjY2VjYS4u
ZTcwNmQwMGM2MGFjZjNjNjlhZWJlZjY3OTFiMjVjZDVkZGU1OWQ4MyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5jcHAKQEAgLTQyLDYgKzQyLDcgQEAKICNpbmNsdWRl
IDx3dGYvRGF0YUxvZy5oPgogI2luY2x1ZGUgPHd0Zi9OdW1iZXJPZkNvcmVzLmg+CiAjaW5jbHVk
ZSA8d3RmL09wdGlvbmFsLmg+CisjaW5jbHVkZSA8d3RmL09TTG9nUHJpbnRTdHJlYW0uaD4KICNp
bmNsdWRlIDx3dGYvUG9pbnRlclByZXBhcmF0aW9ucy5oPgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJF
eHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CkBAIC02MTMsNiAr
NjE0LDE0IEBAIHZvaWQgT3B0aW9uczo6aW5pdGlhbGl6ZSgpCiAgICAgICAgICAgICAgICAgaGFu
ZGxlU2lnbmFsc1dpdGhNYWNoKCk7CiAjZW5kaWYKIAorI2lmIE9TKERBUldJTikKKyAgICAgICAg
ICAgIGlmIChPcHRpb25zOjp1c2VPU0xvZygpKSB7CisgICAgICAgICAgICAgICAgV1RGOjpzZXRE
YXRhRmlsZShPU0xvZ1ByaW50U3RyZWFtOjpvcGVuKCJjb20uYXBwbGUuSmF2YVNjcmlwdENvcmUi
LCAiRGF0YUxvZyIsIE9TX0xPR19UWVBFX0lORk8pKTsKKyAgICAgICAgICAgICAgICAvLyBNYWtl
IHN1cmUgbm8gb25lIGp1bXBlZCBoZXJlIGZvciBuZWZhcmlvdXMgcmVhc29ucy4uLgorICAgICAg
ICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKHVzZU9TTG9nKCkpOworICAgICAgICAgICAgfQorI2Vu
ZGlmCisKICNpZiBBU0FOX0VOQUJMRUQgJiYgT1MoTElOVVgpICYmIEVOQUJMRShXRUJBU1NFTUJM
WV9GQVNUX01FTU9SWSkKICAgICAgICAgICAgIGlmIChPcHRpb25zOjp1c2VXZWJBc3NlbWJseUZh
c3RNZW1vcnkoKSkgewogICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIGFzYW5PcHRpb25zID0g
Z2V0ZW52KCJBU0FOX09QVElPTlMiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL09wdGlvbnNMaXN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9P
cHRpb25zTGlzdC5oCmluZGV4IGZkZjY1ZTgxZDMzNWE5YTQ5ZjY3ZTUyM2NlZDY4ZjYyZGNiMzI0
OGIuLjA5OTI1NzM4OTA4NmU4NzY1ZGZlNzdmY2FkM2VmZTJlNDc1M2U4OGQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnNMaXN0LmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9uc0xpc3QuaApAQCAtMTE5LDYgKzExOSw3IEBA
IGNvbnN0ZXhwciBib29sIGVuYWJsZVdlYkFzc2VtYmx5U3RyZWFtaW5nQXBpID0gZmFsc2U7CiAg
ICAgdihVbnNpZ25lZCwgc2hhZG93Q2hpY2tlbkxvZ1NpemUsIDEwMDAsIE5vcm1hbCwgbnVsbHB0
cikgXAogICAgIHYoVW5zaWduZWQsIHNoYWRvd0NoaWNrZW5NYXhUYWlsRGVsZXRlZEZyYW1lc1Np
emUsIDEyOCwgTm9ybWFsLCBudWxscHRyKSBcCiAgICAgXAorICAgIHYoQm9vbCwgdXNlT1NMb2cs
IGZhbHNlLCBOb3JtYWwsICJMb2cgZGF0YUxvZygpcyB0byBvc19sb2cgaW5zdGVhZCBvZiBzdGRl
cnIiKSBcCiAgICAgLyogZHVtcERpc2Fzc2VtYmx5IGltcGxpZXMgZHVtcERGR0Rpc2Fzc2VtYmx5
LiAqLyBcCiAgICAgdihCb29sLCBkdW1wRGlzYXNzZW1ibHksIGZhbHNlLCBOb3JtYWwsICJkdW1w
cyBkaXNhc3NlbWJseSBvZiBhbGwgSklUIGNvbXBpbGVkIGNvZGUgdXBvbiBjb21waWxhdGlvbiIp
IFwKICAgICB2KEJvb2wsIGFzeW5jRGlzYXNzZW1ibHksIGZhbHNlLCBOb3JtYWwsIG51bGxwdHIp
IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGRiMDk2YWMz
MGEzMzMyYzU0YTYzMzhkMWVlMjYzZWRkZWM1M2VmODIuLjg5NmVhZTZhZTBiZGU3Y2RkNDY5Njg5
MGQ2ZWVlMDIwYjNiY2JjYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagpAQCAtNzgsNiArNzgsNyBAQAogCQk1MzExQkQ1MzFFQTcxQ0FEMDA1MjUyODEgLyogU2ln
bmFscy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
MzExQkQ1MTFFQTcxQ0FEMDA1MjUyODEgLyogU2lnbmFscy5jcHAgKi87IH07CiAJCTUzMTFCRDVD
MUVBODIyRjkwMDUyNTI4MSAvKiBUaHJlYWRNZXNzYWdlLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUzMTFCRDVCMUVBODIyRjkwMDUyNTI4MSAvKiBU
aHJlYWRNZXNzYWdlLmNwcCAqLzsgfTsKIAkJNTM1MzRGMkExRUMwRTEwRTAwMTQxQjJGIC8qIE1h
Y2hFeGNlcHRpb25zLmRlZnMgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA1MzUzNEYyOTFFQzBFMTBFMDAxNDFCMkYgLyogTWFjaEV4Y2VwdGlvbnMuZGVmcyAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChDbGllbnQsIFNlcnZlciwgKTsgfTsgfTsKKwkJ
NTNGQzcwRDAyM0ZCOTUwQzAwNUIxOTkwIC8qIE9TTG9nUHJpbnRTdHJlYW0uY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTNGQzcwQ0YyM0ZCOTUwQzAw
NUIxOTkwIC8qIE9TTG9nUHJpbnRTdHJlYW0uY3BwICovOyB9OwogCQk1QzFGMDU5MzIxNjQzNTZC
MDAzOTMwMkMgLyogQ0ZVUkxFeHRyYXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNUMxRjA1OTEyMTY0MzU2QjAwMzkzMDJDIC8qIENGVVJMRXh0cmFz
LmNwcCAqLzsgfTsKIAkJNUMxRjA1OTUyMTY0MzdCMzAwMzkzMDJDIC8qIFVSTENGLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDMUYwNTk0MjE2NDM3
QjMwMDM5MzAyQyAvKiBVUkxDRi5jcHAgKi87IH07CiAJCTVDQzBFRTc1MjE2MjlGMTkwMEExQTg0
MiAvKiBVUkxQYXJzZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNUNDMEVFNzMyMTYyOUYxOTAwQTFBODQyIC8qIFVSTFBhcnNlci5jcHAgKi87IH07
CkBAIC0zOTksNiArNDAwLDggQEAKIAkJNTNFQzI1M0MxRTk1QUQzMDAwMDgzMUI5IC8qIFByaW9y
aXR5UXVldWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHJpb3JpdHlRdWV1
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1M0YwOEExQkEzOUQ0OUE4QkFEMzY5
QTEgLyogU3RkU2V0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0ZFNldC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1M0YxRDk4NjIwNDc3Qjk4MDBFQkM2QkYg
LyogRnVuY3Rpb25UcmFpdHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBleHBsaWNp
dEZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuaDsgcGF0aCA9IEZ1bmN0aW9uVHJhaXRzLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUzRkM3MENFMjNGQjk1MEMwMDVCMTk5MCAvKiBP
U0xvZ1ByaW50U3RyZWFtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE9TTG9n
UHJpbnRTdHJlYW0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTNGQzcwQ0YyM0ZC
OTUwQzAwNUIxOTkwIC8qIE9TTG9nUHJpbnRTdHJlYW0uY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gT1NMb2dQcmludFN0cmVhbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTU1MzA3MUM5MUM0MDQyNzIwMDM4NDg5OCAvKiBUaW55TFJVQ2FjaGUuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVGlueUxSVUNhY2hlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU1OTdGODJDMUQ5NEI5OTcwMDY2QkMyMSAvKiBTeW5jaHJv
bml6ZWRGaXhlZFF1ZXVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN5bmNo
cm9uaXplZEZpeGVkUXVldWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUI0MzM4
M0E1RDBCNDYzQzk0MzNEOTMzIC8qIEluZGV4TWFwLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEluZGV4TWFwLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMTEy
LDYgKzExMTUsOCBAQAogCQkJCTI3NURGQjZCMjM4QkRGNzIwMDEyMzBFMiAvKiBPcHRpb25TZXRI
YXNoLmggKi8sCiAJCQkJMEY5NDk1ODMxQzU3MUNDOTAwNDEzQTQ4IC8qIE9yZGVyTWFrZXIuaCAq
LywKIAkJCQlBOEE0NzJENzE1MUE4MjVCMDA0MTIzRkYgLyogT1NBbGxvY2F0b3IuaCAqLywKKwkJ
CQk1M0ZDNzBDRjIzRkI5NTBDMDA1QjE5OTAgLyogT1NMb2dQcmludFN0cmVhbS5jcHAgKi8sCisJ
CQkJNTNGQzcwQ0UyM0ZCOTUwQzAwNUIxOTkwIC8qIE9TTG9nUHJpbnRTdHJlYW0uaCAqLywKIAkJ
CQk3Q0JCQTA3MzE5QkI3RkRDMDBCQkYwMjUgLyogT1NPYmplY3RQdHIuaCAqLywKIAkJCQlBOEE0
NzJEQTE1MUE4MjVCMDA0MTIzRkYgLyogT1NSYW5kb21Tb3VyY2UuY3BwICovLAogCQkJCUE4QTQ3
MkRCMTUxQTgyNUIwMDQxMjNGRiAvKiBPU1JhbmRvbVNvdXJjZS5oICovLApAQCAtMTY2NCw2ICsx
NjY5LDcgQEAKIAkJCQlBOEE0NzNGNDE1MUE4MjVCMDA0MTIzRkYgLyogTnVtYmVyT2ZDb3Jlcy5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk4MzQ4QkEwRTIxRkJDMEQ1MDBGRDMwNTQgLyogT2JqZWN0
SWRlbnRpZmllci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBM0VFNUMzQTIxRkZBQzVGMDBGQUJE
NjEgLyogT1NBbGxvY2F0b3JQT1NJWC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk1M0ZDNzBEMDIz
RkI5NTBDMDA1QjE5OTAgLyogT1NMb2dQcmludFN0cmVhbS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlBOEE0NzNGOTE1MUE4MjVCMDA0MTIzRkYgLyogT1NSYW5kb21Tb3VyY2UuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJQThBNDc0MDIxNTFBODI1QjAwNDEyM0ZGIC8qIFBhZ2VCbG9jay5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQkwRkZGMTlEQzFCQjMzNEVCMDA4ODZEOTEgLyogUGFyYWxsZWxIZWxw
ZXJQb29sLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvQ01h
a2VMaXN0cy50eHQgYi9Tb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dAppbmRleCA2YmRlNmI3
MDQwOWQyMDliOWE3NGEwMWY5YTcyY2E0MWE4YWExMGI4Li44NGY4YmVkOTI1ZWU4NGZmNmM0ZDhk
NGIwZDU4MDAzNjk3MmJjZDQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3Rz
LnR4dAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dApAQCAtMTQ4LDYgKzE0OCw3
IEBAIHNldChXVEZfUFVCTElDX0hFQURFUlMKICAgICBOb3RGb3VuZC5oCiAgICAgTnVtYmVyT2ZD
b3Jlcy5oCiAgICAgT1NBbGxvY2F0b3IuaAorICAgIE9TTG9nUHJpbnRTdHJlYW0uaAogICAgIE9T
T2JqZWN0UHRyLmgKICAgICBPU1JhbmRvbVNvdXJjZS5oCiAgICAgT2JqQ1J1bnRpbWVFeHRyYXMu
aApAQCAtNDAwLDYgKzQwMSw3IEBAIHNldChXVEZfU09VUkNFUwogICAgIE1ldGFBbGxvY2F0b3Iu
Y3BwCiAgICAgTW9ub3RvbmljVGltZS5jcHAKICAgICBOdW1iZXJPZkNvcmVzLmNwcAorICAgIE9T
TG9nUHJpbnRTdHJlYW0uY3BwCiAgICAgT1NSYW5kb21Tb3VyY2UuY3BwCiAgICAgT2JqZWN0SWRl
bnRpZmllci5jcHAKICAgICBQYWdlQmxvY2suY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0
Zi9EYXRhTG9nLmNwcCBiL1NvdXJjZS9XVEYvd3RmL0RhdGFMb2cuY3BwCmluZGV4IDAyZDMyNGI1
NzEzMmEwMGIxOGY2NzM5NzI4YmQxZjUzNjY4M2U3ZjIuLmI5NTU3NzBlNTMyYjAzOTliMzI4ZTEx
M2M0NDU3M2ZiNzgyNTRlMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0RhdGFMb2cuY3Bw
CisrKyBiL1NvdXJjZS9XVEYvd3RmL0RhdGFMb2cuY3BwCkBAIC0xNjYsNiArMTY2LDExIEBAIHZv
aWQgc2V0RGF0YUZpbGUoY29uc3QgY2hhciogcGF0aCkKICAgICBzX2ZpbGUgPSBuZXcgKHNfbG9j
a2VkRmlsZURhdGEpIExvY2tlZFByaW50U3RyZWFtKHN0ZDo6dW5pcXVlX3B0cjxGaWxlUHJpbnRT
dHJlYW0+KGZpbGUpKTsKIH0KIAordm9pZCBzZXREYXRhRmlsZShzdGQ6OnVuaXF1ZV9wdHI8UHJp
bnRTdHJlYW0+JiYgZmlsZSkKK3sKKyAgICBzX2ZpbGUgPSBmaWxlLnJlbGVhc2UoKTsKK30KKwog
UHJpbnRTdHJlYW0mIGRhdGFGaWxlKCkKIHsKICAgICBpbml0aWFsaXplTG9nRmlsZSgpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dURi93dGYvRGF0YUxvZy5oIGIvU291cmNlL1dURi93dGYvRGF0YUxv
Zy5oCmluZGV4IDllM2M3NjZiZDk3ZjM1YTFhZTE3NzkyN2RlMDhkZmM1NjBiODJjY2UuLjA4MWQw
YzE3MTk2Nzc0NzBhODQzNzFlNTAxMjU5NDFkYjcwYzFiZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
VEYvd3RmL0RhdGFMb2cuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9EYXRhTG9nLmgKQEAgLTM0LDYg
KzM0LDcgQEAgbmFtZXNwYWNlIFdURiB7CiAKIFdURl9FWFBPUlRfUFJJVkFURSBQcmludFN0cmVh
bSYgZGF0YUZpbGUoKTsKIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIHNldERhdGFGaWxlKGNvbnN0
IGNoYXIqIHBhdGgpOworV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgc2V0RGF0YUZpbGUoc3RkOjp1
bmlxdWVfcHRyPFByaW50U3RyZWFtPiYmKTsKIAogV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgZGF0
YUxvZ0ZWKGNvbnN0IGNoYXIqIGZvcm1hdCwgdmFfbGlzdCkgV1RGX0FUVFJJQlVURV9QUklOVEYo
MSwgMCk7CiBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBkYXRhTG9nRihjb25zdCBjaGFyKiBmb3Jt
YXQsIC4uLikgV1RGX0FUVFJJQlVURV9QUklOVEYoMSwgMik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL3d0Zi9PU0xvZ1ByaW50U3RyZWFtLmNwcCBiL1NvdXJjZS9XVEYvd3RmL09TTG9nUHJpbnRT
dHJlYW0uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg0ZjRmOWZlNzRhM2EzYzM1ZmNiM2U2MjU2ODk5M2JmZDU2
ZDVkM2EKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9PU0xvZ1ByaW50U3RyZWFt
LmNwcApAQCAtMCwwICsxLDkxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisg
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIAorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlIDx3dGYvT1NMb2dQcmlu
dFN0cmVhbS5oPgorCisjaW5jbHVkZSA8d3RmL1N0cmluZ1ByaW50U3RyZWFtLmg+CisKK25hbWVz
cGFjZSBXVEYgeworCisjaWYgT1MoREFSV0lOKQorCitPU0xvZ1ByaW50U3RyZWFtOjpPU0xvZ1By
aW50U3RyZWFtKG9zX2xvZ190IGxvZywgb3NfbG9nX3R5cGVfdCBsb2dUeXBlKQorICAgIDogbV9s
b2cobG9nKQorICAgICwgbV9sb2dUeXBlKGxvZ1R5cGUpCisgICAgLCBtX3N0cmluZygiaW5pdGlh
bCBzdHJpbmcuLi4gbG9sIikKK3sKK30KKworT1NMb2dQcmludFN0cmVhbTo6fk9TTG9nUHJpbnRT
dHJlYW0oKQoreyB9CisKK3N0ZDo6dW5pcXVlX3B0cjxPU0xvZ1ByaW50U3RyZWFtPiBPU0xvZ1By
aW50U3RyZWFtOjpvcGVuKGNvbnN0IGNoYXIqIHN1YnN5c3RlbSwgY29uc3QgY2hhciogY2F0ZWdv
cnksIG9zX2xvZ190eXBlX3QgbG9nVHlwZSkKK3sKKyAgICBvc19sb2dfdCBsb2cgPSBvc19sb2df
Y3JlYXRlKHN1YnN5c3RlbSwgY2F0ZWdvcnkpOworICAgIHJldHVybiBtYWtlVW5pcXVlPE9TTG9n
UHJpbnRTdHJlYW0+KGxvZywgbG9nVHlwZSk7Cit9CisKK3ZvaWQgT1NMb2dQcmludFN0cmVhbTo6
dnByaW50Zihjb25zdCBjaGFyKiBmb3JtYXQsIHZhX2xpc3QgYXJnTGlzdCkKK3sKKyAgICBhdXRv
IGxvY2sgPSBob2xkTG9jayhtX3N0cmluZ0xvY2spOworICAgIHNpemVfdCBvZmZzZXQgPSBtX29m
ZnNldDsKKyAgICBzaXplX3QgZnJlZUJ5dGVzID0gbV9zdHJpbmcubGVuZ3RoKCkgLSBvZmZzZXQ7
CisgICAgdmFfbGlzdCBiYWNrdXA7CisgICAgdmFfY29weShiYWNrdXAsIGFyZ0xpc3QpOworICAg
IHNpemVfdCBieXRlc1dyaXR0ZW4gPSB2c25wcmludGYobV9zdHJpbmcubXV0YWJsZURhdGEoKSAr
IG9mZnNldCwgZnJlZUJ5dGVzLCBmb3JtYXQsIGFyZ0xpc3QpOworICAgIGlmIChVTkxJS0VMWShi
eXRlc1dyaXR0ZW4gPj0gZnJlZUJ5dGVzKSkgeworICAgICAgICBzaXplX3QgbmV3TGVuZ3RoID0g
c3RkOjptYXgoYnl0ZXNXcml0dGVuICsgbV9zdHJpbmcubGVuZ3RoKCksIG1fc3RyaW5nLmxlbmd0
aCgpICogMik7CisgICAgICAgIG1fc3RyaW5nLmdyb3cobmV3TGVuZ3RoKTsKKyAgICAgICAgZnJl
ZUJ5dGVzID0gbmV3TGVuZ3RoIC0gb2Zmc2V0OworICAgICAgICBieXRlc1dyaXR0ZW4gPSB2c25w
cmludGYobV9zdHJpbmcubXV0YWJsZURhdGEoKSArIG9mZnNldCwgZnJlZUJ5dGVzLCBmb3JtYXQs
IGJhY2t1cCk7CisgICAgICAgIEFTU0VSVChieXRlc1dyaXR0ZW4gPCBmcmVlQnl0ZXMpOworICAg
IH0KKworICAgIHNpemVfdCBuZXdPZmZzZXQgPSBvZmZzZXQgKyBieXRlc1dyaXR0ZW47CisgICAg
Y2hhciogYnVmZmVyID0gbV9zdHJpbmcubXV0YWJsZURhdGEoKTsKKyAgICBib29sIGxvZ2dlZFRl
eHQgPSBmYWxzZTsKKyAgICBkbyB7CisgICAgICAgIGlmIChidWZmZXJbb2Zmc2V0XSA9PSAnXG4n
KSB7CisgICAgICAgICAgICAvLyBTZXQgdGhlIG5ldyBsaW5lIHRvIGEgbnVsbCBjaGFyYWN0ZXIg
c28gb3NfbG9nIHN0b3BzIGNvcHlpbmcgdGhlcmUuCisgICAgICAgICAgICBidWZmZXJbb2Zmc2V0
XSA9ICdcMCc7CisgICAgICAgICAgICBvc19sb2dfd2l0aF90eXBlKG1fbG9nLCBtX2xvZ1R5cGUs
ICIle3B1YmxpY31zIiwgYnVmZmVyKTsKKyAgICAgICAgICAgIGJ1ZmZlciArPSBvZmZzZXQgKyAx
OworICAgICAgICAgICAgbmV3T2Zmc2V0IC09IG9mZnNldCArIDE7CisgICAgICAgICAgICBvZmZz
ZXQgPSAwOworICAgICAgICAgICAgbG9nZ2VkVGV4dCA9IHRydWU7CisgICAgICAgIH0gZWxzZQor
ICAgICAgICAgICAgb2Zmc2V0Kys7CisgICAgfSB3aGlsZSAob2Zmc2V0IDwgbmV3T2Zmc2V0KTsK
KworICAgIGlmIChsb2dnZWRUZXh0KQorICAgICAgICBtZW1tb3ZlKG1fc3RyaW5nLm11dGFibGVE
YXRhKCksIGJ1ZmZlciwgbmV3T2Zmc2V0KTsKKyAgICBtX29mZnNldCA9IG5ld09mZnNldDsKK30K
KworI2VuZGlmCisKK30gLy8gbmFtZXNwYWNlIFdURgorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RG
L3d0Zi9PU0xvZ1ByaW50U3RyZWFtLmggYi9Tb3VyY2UvV1RGL3d0Zi9PU0xvZ1ByaW50U3RyZWFt
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYzg3ZWVmNzljNzBiNTE0ZjhkY2U3ZTk1NWZhMmU2ZGQ5NjhiZDUyNgot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XVEYvd3RmL09TTG9nUHJpbnRTdHJlYW0uaApAQCAt
MCwwICsxLDYyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICog
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICov
CisKKyNwcmFnbWEgb25jZQorCisjaWYgT1MoREFSV0lOKQorCisjaW5jbHVkZSA8d3RmL0xvY2su
aD4KKyNpbmNsdWRlIDx3dGYvUHJpbnRTdHJlYW0uaD4KKyNpbmNsdWRlIDx3dGYvUmVjdXJzaXZl
TG9ja0FkYXB0ZXIuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CisjaW5jbHVkZSA8
d3RmL1ZlY3Rvci5oPgorCisjaW5jbHVkZSA8b3MvbG9nLmg+CisKK25hbWVzcGFjZSBXVEYgewor
CitjbGFzcyBXVEZfRVhQT1JUX1BSSVZBVEUgT1NMb2dQcmludFN0cmVhbSBmaW5hbCA6IHB1Ymxp
YyBQcmludFN0cmVhbSB7CitwdWJsaWM6CisgICAgT1NMb2dQcmludFN0cmVhbShvc19sb2dfdCwg
b3NfbG9nX3R5cGVfdCk7CisgICAgdmlydHVhbCB+T1NMb2dQcmludFN0cmVhbSgpOworICAgIAor
ICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8T1NMb2dQcmludFN0cmVhbT4gb3Blbihjb25zdCBj
aGFyKiBzdWJzeXN0ZW0sIGNvbnN0IGNoYXIqIGNhdGVnb3J5LCBvc19sb2dfdHlwZV90ID0gT1Nf
TE9HX1RZUEVfREVGQVVMVCk7CisgICAgCisgICAgdm9pZCB2cHJpbnRmKGNvbnN0IGNoYXIqIGZv
cm1hdCwgdmFfbGlzdCkgb3ZlcnJpZGUgV1RGX0FUVFJJQlVURV9QUklOVEYoMiwgMCk7CisKK3By
aXZhdGU6CisgICAgb3NfbG9nX3QgbV9sb2c7CisgICAgb3NfbG9nX3R5cGVfdCBtX2xvZ1R5cGU7
CisgICAgTG9jayBtX3N0cmluZ0xvY2s7CisgICAgLy8gV2UgbmVlZCBhIGJ1ZmZlciBiZWNhdXNl
IG9zX2xvZyBkb2Vzbid0IHdhaXQgZm9yIGEgbmV3IGxpbmUgdG8gcHJpbnQgdGhlIGNoYXJhY3Rl
cnMuCisgICAgQ1N0cmluZyBtX3N0cmluZzsKKyAgICBzaXplX3QgbV9vZmZzZXQgeyAwIH07Cit9
OworCit9IC8vIG5hbWVzcGFjZSBXVEYKKwordXNpbmcgV1RGOjpPU0xvZ1ByaW50U3RyZWFtOwor
CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1ByaW50U3RyZWFtLmNwcCBiL1Nv
dXJjZS9XVEYvd3RmL1ByaW50U3RyZWFtLmNwcAppbmRleCA3MWQ4MTlmMDMzZmExMWRiZTA2MjQw
NTQ3YmQyMGNiOTZkZjlkZGU5Li4zYjE0NzljODc1NzJlMGIwMTgzYzMwZTIwMTEwOTkzYWExZDE5
ZmI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QcmludFN0cmVhbS5jcHAKKysrIGIvU291
cmNlL1dURi93dGYvUHJpbnRTdHJlYW0uY3BwCkBAIC03NywxMyArNzcsMTggQEAgdm9pZCBwcmlu
dEludGVybmFsKFByaW50U3RyZWFtJiBvdXQsIGNvbnN0IGNoYXIqIHN0cmluZykKIHN0YXRpYyB2
b2lkIHByaW50RXhwZWN0ZWRDU3RyaW5nSGVscGVyKFByaW50U3RyZWFtJiBvdXQsIGNvbnN0IGNo
YXIqIHR5cGUsIEV4cGVjdGVkPENTdHJpbmcsIFVURjhDb252ZXJzaW9uRXJyb3I+IGV4cGVjdGVk
Q1N0cmluZykKIHsKICAgICBpZiAoVU5MSUtFTFkoIWV4cGVjdGVkQ1N0cmluZykpIHsKLSAgICAg
ICAgaWYgKGV4cGVjdGVkQ1N0cmluZy5lcnJvcigpID09IFVURjhDb252ZXJzaW9uRXJyb3I6Ok91
dE9mTWVtb3J5KQotICAgICAgICAgICAgb3V0LnByaW50KCIoT3V0IG9mIG1lbW9yeSB3aGlsZSBj
b252ZXJ0aW5nICIsIHR5cGUsICIgdG8gdXRmOCkiKTsKLSAgICAgICAgZWxzZQotICAgICAgICAg
ICAgb3V0LnByaW50KCIoZmFpbGVkIHRvIGNvbnZlcnQgIiwgdHlwZSwgIiB0byB1dGY4KSIpOwor
ICAgICAgICBpZiAoZXhwZWN0ZWRDU3RyaW5nLmVycm9yKCkgPT0gVVRGOENvbnZlcnNpb25FcnJv
cjo6T3V0T2ZNZW1vcnkpIHsKKyAgICAgICAgICAgIHByaW50SW50ZXJuYWwob3V0LCAiKE91dCBv
ZiBtZW1vcnkgd2hpbGUgY29udmVydGluZyAiKTsKKyAgICAgICAgICAgIHByaW50SW50ZXJuYWwo
b3V0LCB0eXBlKTsKKyAgICAgICAgICAgIHByaW50SW50ZXJuYWwob3V0LCAiIHRvIHV0ZjgpIik7
CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBwcmludEludGVybmFsKG91dCwgIihmYWls
ZWQgdG8gY29udmVydCAiKTsKKyAgICAgICAgICAgIHByaW50SW50ZXJuYWwob3V0LCB0eXBlKTsK
KyAgICAgICAgICAgIHByaW50SW50ZXJuYWwob3V0LCAiIHRvIHV0ZjgpIik7CisgICAgICAgIH0K
ICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICBvdXQucHJpbnQoZXhwZWN0ZWRDU3RyaW5nLnZh
bHVlKCkpOworICAgIHByaW50SW50ZXJuYWwob3V0LCBleHBlY3RlZENTdHJpbmcudmFsdWUoKSk7
CiB9CiAKIHZvaWQgcHJpbnRJbnRlcm5hbChQcmludFN0cmVhbSYgb3V0LCBjb25zdCBTdHJpbmdW
aWV3JiBzdHJpbmcpCkBAIC05Myw3ICs5OCw3IEBAIHZvaWQgcHJpbnRJbnRlcm5hbChQcmludFN0
cmVhbSYgb3V0LCBjb25zdCBTdHJpbmdWaWV3JiBzdHJpbmcpCiAKIHZvaWQgcHJpbnRJbnRlcm5h
bChQcmludFN0cmVhbSYgb3V0LCBjb25zdCBDU3RyaW5nJiBzdHJpbmcpCiB7Ci0gICAgb3V0LnBy
aW50KHN0cmluZy5kYXRhKCkpOworICAgIHByaW50SW50ZXJuYWwob3V0LCBzdHJpbmcuZGF0YSgp
KTsKIH0KIAogdm9pZCBwcmludEludGVybmFsKFByaW50U3RyZWFtJiBvdXQsIGNvbnN0IFN0cmlu
ZyYgc3RyaW5nKQpAQCAtMTA0LDcgKzEwOSw3IEBAIHZvaWQgcHJpbnRJbnRlcm5hbChQcmludFN0
cmVhbSYgb3V0LCBjb25zdCBTdHJpbmcmIHN0cmluZykKIHZvaWQgcHJpbnRJbnRlcm5hbChQcmlu
dFN0cmVhbSYgb3V0LCBjb25zdCBTdHJpbmdJbXBsKiBzdHJpbmcpCiB7CiAgICAgaWYgKCFzdHJp
bmcpIHsKLSAgICAgICAgb3V0LnByaW50KCIobnVsbCBTdHJpbmdJbXBsKikiKTsKKyAgICAgICAg
cHJpbnRJbnRlcm5hbChvdXQsICIobnVsbCBTdHJpbmdJbXBsKikiKTsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KICAgICBwcmludEV4cGVjdGVkQ1N0cmluZ0hlbHBlcihvdXQsICJTdHJpbmdJbXBs
KiIsIHN0cmluZy0+dHJ5R2V0VXRmOCgpKTsKQEAgLTE2Nyw3ICsxNzIsNyBAQCB2b2lkIHByaW50
SW50ZXJuYWwoUHJpbnRTdHJlYW0mIG91dCwgdW5zaWduZWQgbG9uZyBsb25nIHZhbHVlKQogCiB2
b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mIG91dCwgZmxvYXQgdmFsdWUpCiB7Ci0gICAg
b3V0LnByaW50KHN0YXRpY19jYXN0PGRvdWJsZT4odmFsdWUpKTsKKyAgICBwcmludEludGVybmFs
KG91dCwgc3RhdGljX2Nhc3Q8ZG91YmxlPih2YWx1ZSkpOwogfQogCiB2b2lkIHByaW50SW50ZXJu
YWwoUHJpbnRTdHJlYW0mIG91dCwgZG91YmxlIHZhbHVlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dU
Ri93dGYvdGV4dC9DU3RyaW5nLmNwcCBiL1NvdXJjZS9XVEYvd3RmL3RleHQvQ1N0cmluZy5jcHAK
aW5kZXggMDMyZGY2NTZhZmM2YzgzNTQxYjBkYmIwMzU1MWEzZjVhYjhiYTBhZS4uMzYxZjI2ODQ4
YWUzYzZmN2VmMmZkYTdkYzU3YzZkNzA4ZjNjZjBiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93
dGYvdGV4dC9DU3RyaW5nLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0NTdHJpbmcuY3Bw
CkBAIC0xMDYsNiArMTA2LDE1IEBAIGJvb2wgQ1N0cmluZzo6aXNTYWZlVG9TZW5kVG9Bbm90aGVy
VGhyZWFkKCkgY29uc3QKICAgICByZXR1cm4gIW1fYnVmZmVyIHx8IG1fYnVmZmVyLT5oYXNPbmVS
ZWYoKTsKIH0KIAordm9pZCBDU3RyaW5nOjpncm93KHNpemVfdCBuZXdMZW5ndGgpCit7CisgICAg
QVNTRVJUKG5ld0xlbmd0aCA+IGxlbmd0aCgpKTsKKworICAgIGF1dG8gbmV3QnVmZmVyID0gQ1N0
cmluZ0J1ZmZlcjo6Y3JlYXRlVW5pbml0aWFsaXplZChuZXdMZW5ndGgpOworICAgIG1lbWNweShu
ZXdCdWZmZXItPm11dGFibGVEYXRhKCksIG1fYnVmZmVyLT5kYXRhKCksIGxlbmd0aCgpICsgMSk7
CisgICAgbV9idWZmZXIgPSBXVEZNb3ZlKG5ld0J1ZmZlcik7Cit9CisKIGJvb2wgb3BlcmF0b3I9
PShjb25zdCBDU3RyaW5nJiBhLCBjb25zdCBDU3RyaW5nJiBiKQogewogICAgIGlmIChhLmlzTnVs
bCgpICE9IGIuaXNOdWxsKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0NTdHJp
bmcuaCBiL1NvdXJjZS9XVEYvd3RmL3RleHQvQ1N0cmluZy5oCmluZGV4IGNkYmVhYTMzNGVmNjAx
NDY2NTZmYjc5Yjc0MzcxNDUzNmVhNDc0N2UuLjExNmI0MjNmN2Y0NzcwZDFhNDk2ODNhMmNlYTY3
ZjM3ODk3MjFiMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvQ1N0cmluZy5oCisr
KyBiL1NvdXJjZS9XVEYvd3RmL3RleHQvQ1N0cmluZy5oCkBAIC04NCw2ICs4NCw5IEBAIHB1Ymxp
YzoKICAgICAKICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgdW5zaWduZWQgaGFzaCgpIGNvbnN0Owog
CisgICAgLy8gVXNlZnVsIGlmIHlvdSB3YW50IHlvdXIgQ1N0cmluZyB0byBob2xkIGR5bmFtaWMg
ZGF0YS4KKyAgICBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBncm93KHNpemVfdCBuZXdMZW5ndGgp
OworCiBwcml2YXRlOgogICAgIHZvaWQgY29weUJ1ZmZlcklmTmVlZGVkKCk7CiAgICAgdm9pZCBp
bml0KGNvbnN0IGNoYXIqLCBzaXplX3QgbGVuZ3RoKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>