<?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>206261</bug_id>
          
          <creation_ts>2020-01-14 14:37:04 -0800</creation_ts>
          <short_desc>Keep RefPtr instead of raw pointer to message queue on WebCoreResourceHandleAsOperationQueueDelegate</short_desc>
          <delta_ts>2020-01-16 04:45:49 -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="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>beidson</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fujii</cc>
    
    <cc>galpeter</cc>
    
    <cc>ggaren</cc>
    
    <cc>rniwa</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1606607</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-01-14 14:37:04 -0800</bug_when>
    <thetext>Keep WeakPtrs instead of raw pointers on WebCoreResourceHandleAsOperationQueueDelegate</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1606619</commentid>
    <comment_count>1</comment_count>
      <attachid>387708</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-01-14 15:08:07 -0800</bug_when>
    <thetext>Created attachment 387708
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1606625</commentid>
    <comment_count>2</comment_count>
      <attachid>387710</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-01-14 15:09:47 -0800</bug_when>
    <thetext>Created attachment 387710
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1606630</commentid>
    <comment_count>3</comment_count>
      <attachid>387711</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-01-14 15:13:55 -0800</bug_when>
    <thetext>Created attachment 387711
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1606638</commentid>
    <comment_count>4</comment_count>
      <attachid>387714</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-01-14 15:38:19 -0800</bug_when>
    <thetext>Created attachment 387714
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1606650</commentid>
    <comment_count>5</comment_count>
      <attachid>387717</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-01-14 15:54:30 -0800</bug_when>
    <thetext>Created attachment 387717
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1606771</commentid>
    <comment_count>6</comment_count>
      <attachid>387748</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-01-14 19:43:17 -0800</bug_when>
    <thetext>Created attachment 387748
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1606775</commentid>
    <comment_count>7</comment_count>
      <attachid>387749</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-01-14 20:46:52 -0800</bug_when>
    <thetext>Created attachment 387749
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1606793</commentid>
    <comment_count>8</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2020-01-14 21:48:21 -0800</bug_when>
    <thetext>&lt;rdar://problem/57562592&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1606993</commentid>
    <comment_count>9</comment_count>
      <attachid>387749</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2020-01-15 10:43:23 -0800</bug_when>
    <thetext>Comment on attachment 387749
Patch

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

r=me if code in CurlRequest.h is okay.

&gt; Source/WebCore/platform/network/curl/CurlRequest.h:67
&gt; +    static Ref&lt;CurlRequest&gt; create(const ResourceRequest&amp; request, CurlRequestClient&amp; client, ShouldSuspend shouldSuspend = ShouldSuspend::No, EnableMultipart enableMultipart = EnableMultipart::No, CaptureNetworkLoadMetrics captureMetrics = CaptureNetworkLoadMetrics::Basic, RefPtr&lt;SynchronousLoaderMessageQueue&gt;&amp;&amp; messageQueue = nullptr)

Is assigning `nullptr` to the default value of a RefPtr&lt;...&gt;&amp;&amp; type allowed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607092</commentid>
    <comment_count>10</comment_count>
      <attachid>387824</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-01-15 12:45:37 -0800</bug_when>
    <thetext>Created attachment 387824
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607214</commentid>
    <comment_count>11</comment_count>
      <attachid>387862</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-01-15 16:04:05 -0800</bug_when>
    <thetext>Created attachment 387862
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607215</commentid>
    <comment_count>12</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-01-15 16:07:57 -0800</bug_when>
    <thetext>(In reply to David Kilzer (:ddkilzer) from comment #9)
&gt; Is assigning `nullptr` to the default value of a RefPtr&lt;...&gt;&amp;&amp; type allowed?
It is!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607285</commentid>
    <comment_count>13</comment_count>
      <attachid>387862</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-15 18:00:21 -0800</bug_when>
    <thetext>Comment on attachment 387862
Patch

Clearing flags on attachment: 387862

Committed r254659: &lt;https://trac.webkit.org/changeset/254659&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607286</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-15 18:00:23 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607418</commentid>
    <comment_count>15</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-01-16 04:45:49 -0800</bug_when>
    <thetext>Committed r254673: &lt;https://trac.webkit.org/changeset/254673&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>387708</attachid>
            <date>2020-01-14 15:08:07 -0800</date>
            <delta_ts>2020-01-14 15:09:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206261-20200114150806.patch</filename>
            <type>text/plain</type>
            <size>11175</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1NDUzOCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBACisyMDIwLTAxLTE0ICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgS2VlcCBSZWZQ
dHIgaW5zdGVhZCBvZiByYXcgcG9pbnRlciB0byBtZXNzYWdlIHF1ZXVlIG9uIFdlYkNvcmVSZXNv
dXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2MjYxCisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS81NzU2MjU5Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUaGVyZSdzIG5vIHJlYXNvbiB0byBrZWVwIGEgcmF3IHBvaW50ZXIgd2hlbiB3ZSBjYW4g
a2VlcCBhIHNtYXJ0IHBvaW50ZXIuCisgICAgICAgIFRoaXMgd2lsbCBtYWtlIHRoaXMgbW9yZSBy
b2J1c3QgYWdhaW5zdCBzb21lb25lIGZvcmdldHRpbmcgdG8gY2xlYXIgdGhpcyBwb2ludGVyIHZh
bHVlLgorCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oOgorICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvU3luY2hyb25vdXNMb2FkZXJDbGllbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U3luY2hyb25vdXNMb2FkZXJDbGllbnQ6OlN5bmNocm9ub3VzTG9hZGVy
Q2xpZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlN5bmNocm9ub3VzTG9hZGVyQ2xpZW50OjpkaWRG
aW5pc2hMb2FkaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlN5bmNocm9ub3VzTG9hZGVyQ2xpZW50
OjpkaWRGYWlsKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1N5bmNocm9ub3VzTG9hZGVy
Q2xpZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpTeW5jaHJvbm91c0xvYWRlck1lc3NhZ2VRdWV1
ZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlN5bmNocm9ub3VzTG9hZGVyTWVzc2FnZVF1
ZXVlOjphcHBlbmQpOgorICAgICAgICAoV2ViQ29yZTo6U3luY2hyb25vdXNMb2FkZXJNZXNzYWdl
UXVldWU6OmtpbGwpOgorICAgICAgICAoV2ViQ29yZTo6U3luY2hyb25vdXNMb2FkZXJNZXNzYWdl
UXVldWU6OmtpbGxlZCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpTeW5jaHJvbm91c0xvYWRl
ck1lc3NhZ2VRdWV1ZTo6d2FpdEZvck1lc3NhZ2UpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdv
cmsvbWFjL1Jlc291cmNlSGFuZGxlTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VI
YW5kbGU6Om1ha2VEZWxlZ2F0ZSk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9tYWMvV2Vi
Q29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlLmg6CisgICAgICAgICog
cGxhdGZvcm0vbmV0d29yay9tYWMvV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1
ZURlbGVnYXRlLm1tOgorICAgICAgICAoLVtXZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlv
blF1ZXVlRGVsZWdhdGUgY2FsbEZ1bmN0aW9uT25NYWluVGhyZWFkOl0pOgorICAgICAgICAoLVtX
ZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUgaW5pdFdpdGhIYW5k
bGU6bWVzc2FnZVF1ZXVlOl0pOgorICAgICAgICAoLVtXZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09w
ZXJhdGlvblF1ZXVlRGVsZWdhdGUgY29ubmVjdGlvbjp3aWxsU2VuZFJlcXVlc3Q6cmVkaXJlY3RS
ZXNwb25zZTpdKToKKwogMjAyMC0wMS0xNCAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRA
YXBwbGUuY29tPgogCiAgICAgICAgIFtDb2NvYV0gR2x5cGggbG9va3VwIHNob3VsZCBiZSBsYW5n
dWFnZS1zZW5zaXRpdmUgKHNwZWNpZmljYWxseSBiZXR3ZWVuIFlpZGRpc2ggYW5kIEhlYnJldykK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFu
ZGxlLmgJKHJldmlzaW9uIDI1NDQzOSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvUmVzb3VyY2VIYW5kbGUuaAkod29ya2luZyBjb3B5KQpAQCAtODYsNiArODYsNyBAQCBjbGFz
cyBOZXR3b3JrTG9hZE1ldHJpY3M7CiBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiBjbGFzcyBSZXNv
dXJjZVJlc3BvbnNlOwogY2xhc3MgU2hhcmVkQnVmZmVyOworY2xhc3MgU3luY2hyb25vdXNMb2Fk
ZXJNZXNzYWdlUXVldWU7CiBjbGFzcyBUaW1lcjsKIAogI2lmIFVTRShDVVJMKQpAQCAtMTIzLDcg
KzEyNCw3IEBAIHB1YmxpYzoKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIFdFQkNPUkVfRVhQ
T1JUIE5TVVJMQ29ubmVjdGlvbiAqY29ubmVjdGlvbigpIGNvbnN0OwotICAgIGlkIG1ha2VEZWxl
Z2F0ZShib29sLCBXVEY6Ok1lc3NhZ2VRdWV1ZTxXVEY6OkZ1bmN0aW9uPHZvaWQoKT4+Kik7Cisg
ICAgaWQgbWFrZURlbGVnYXRlKGJvb2wsIFJlZlB0cjxTeW5jaHJvbm91c0xvYWRlck1lc3NhZ2VR
dWV1ZT4mJik7CiAgICAgaWQgZGVsZWdhdGUoKTsKICAgICB2b2lkIHJlbGVhc2VEZWxlZ2F0ZSgp
OwogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1N5bmNocm9u
b3VzTG9hZGVyQ2xpZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL1N5bmNocm9ub3VzTG9hZGVyQ2xpZW50LmNwcAkocmV2aXNpb24gMjU0NDM5KQor
KysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9TeW5jaHJvbm91c0xvYWRlckNsaWVu
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMzLDYgKzMzLDkgQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCitTeW5jaHJvbm91c0xvYWRlckNsaWVudDo6U3luY2hyb25vdXNMb2FkZXJDbGllbnQo
KQorICAgIDogbV9tZXNzYWdlUXVldWUoU3luY2hyb25vdXNMb2FkZXJNZXNzYWdlUXVldWU6OmNy
ZWF0ZSgpKSB7IH0KKwogU3luY2hyb25vdXNMb2FkZXJDbGllbnQ6On5TeW5jaHJvbm91c0xvYWRl
ckNsaWVudCgpID0gZGVmYXVsdDsKIAogdm9pZCBTeW5jaHJvbm91c0xvYWRlckNsaWVudDo6d2ls
bFNlbmRSZXF1ZXN0QXN5bmMoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSwgUmVzb3VyY2VSZXF1ZXN0
JiYgcmVxdWVzdCwgUmVzb3VyY2VSZXNwb25zZSYmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFJl
c291cmNlUmVxdWVzdCYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKQEAgLTc1LDcgKzc4LDcgQEAg
dm9pZCBTeW5jaHJvbm91c0xvYWRlckNsaWVudDo6ZGlkUmVjZWl2ZQogCiB2b2lkIFN5bmNocm9u
b3VzTG9hZGVyQ2xpZW50OjpkaWRGaW5pc2hMb2FkaW5nKFJlc291cmNlSGFuZGxlKikKIHsKLSAg
ICBtX21lc3NhZ2VRdWV1ZS5raWxsKCk7CisgICAgbV9tZXNzYWdlUXVldWUtPmtpbGwoKTsKIH0K
IAogdm9pZCBTeW5jaHJvbm91c0xvYWRlckNsaWVudDo6ZGlkRmFpbChSZXNvdXJjZUhhbmRsZSos
IGNvbnN0IFJlc291cmNlRXJyb3ImIGVycm9yKQpAQCAtODQsNyArODcsNyBAQCB2b2lkIFN5bmNo
cm9ub3VzTG9hZGVyQ2xpZW50OjpkaWRGYWlsKFJlCiAKICAgICBtX2Vycm9yID0gZXJyb3I7CiAg
ICAgCi0gICAgbV9tZXNzYWdlUXVldWUua2lsbCgpOworICAgIG1fbWVzc2FnZVF1ZXVlLT5raWxs
KCk7CiB9CiAKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvU3luY2hy
b25vdXNMb2FkZXJDbGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL1N5bmNocm9ub3VzTG9hZGVyQ2xpZW50LmgJKHJldmlzaW9uIDI1NDQzOSkKKysr
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvU3luY2hyb25vdXNMb2FkZXJDbGllbnQu
aAkod29ya2luZyBjb3B5KQpAQCAtMzAsMTggKzMwLDM0IEBACiAjaW5jbHVkZSAiUmVzb3VyY2VS
ZXNwb25zZS5oIgogI2luY2x1ZGUgPHd0Zi9GdW5jdGlvbi5oPgogI2luY2x1ZGUgPHd0Zi9NZXNz
YWdlUXVldWUuaD4KKyNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBTeW5jaHJvbm91c0xvYWRlck1lc3NhZ2VRdWV1ZSA6
IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxTeW5jaHJvbm91c0xvYWRlck1lc3NhZ2VRdWV1
ZT4geworcHVibGljOgorICAgIHN0YXRpYyBSZWY8U3luY2hyb25vdXNMb2FkZXJNZXNzYWdlUXVl
dWU+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3luY2hyb25vdXNMb2FkZXJNZXNz
YWdlUXVldWUpOyB9CisKKyAgICB2b2lkIGFwcGVuZChGdW5jdGlvbjx2b2lkKCk+JiYgdGFzaykg
eyBtX3F1ZXVlLmFwcGVuZChtYWtlVW5pcXVlPEZ1bmN0aW9uPHZvaWQoKT4+KFdURk1vdmUodGFz
aykpKTsgfQorICAgIHZvaWQga2lsbCgpIHsgbV9xdWV1ZS5raWxsKCk7IH0KKyAgICBib29sIGtp
bGxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fcXVldWUua2lsbGVkKCk7IH0KKyAgICBzdGQ6OnVuaXF1
ZV9wdHI8RnVuY3Rpb248dm9pZCgpPj4gd2FpdEZvck1lc3NhZ2UoKSB7IHJldHVybiBtX3F1ZXVl
LndhaXRGb3JNZXNzYWdlKCk7IH0KKworcHJpdmF0ZToKKyAgICBTeW5jaHJvbm91c0xvYWRlck1l
c3NhZ2VRdWV1ZSgpID0gZGVmYXVsdDsKKyAgICBNZXNzYWdlUXVldWU8RnVuY3Rpb248dm9pZCgp
Pj4gbV9xdWV1ZTsKK307CisKIGNsYXNzIFN5bmNocm9ub3VzTG9hZGVyQ2xpZW50IGZpbmFsIDog
cHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKIHB1YmxpYzoKKyAgICBTeW5jaHJvbm91c0xv
YWRlckNsaWVudCgpOwogICAgIHZpcnR1YWwgflN5bmNocm9ub3VzTG9hZGVyQ2xpZW50KCk7CiAK
ICAgICB2b2lkIHNldEFsbG93U3RvcmVkQ3JlZGVudGlhbHMoYm9vbCBhbGxvdykgeyBtX2FsbG93
U3RvcmVkQ3JlZGVudGlhbHMgPSBhbGxvdzsgfQogICAgIGNvbnN0IFJlc291cmNlUmVzcG9uc2Um
IHJlc3BvbnNlKCkgY29uc3QgeyByZXR1cm4gbV9yZXNwb25zZTsgfQogICAgIFZlY3RvcjxjaGFy
PiYgbXV0YWJsZURhdGEoKSB7IHJldHVybiBtX2RhdGE7IH0KICAgICBjb25zdCBSZXNvdXJjZUVy
cm9yJiBlcnJvcigpIGNvbnN0IHsgcmV0dXJuIG1fZXJyb3I7IH0KLSAgICBNZXNzYWdlUXVldWU8
RnVuY3Rpb248dm9pZCgpPj4mIG1lc3NhZ2VRdWV1ZSgpIHsgcmV0dXJuIG1fbWVzc2FnZVF1ZXVl
OyB9CisgICAgU3luY2hyb25vdXNMb2FkZXJNZXNzYWdlUXVldWUmIG1lc3NhZ2VRdWV1ZSgpIHsg
cmV0dXJuIG1fbWVzc2FnZVF1ZXVlLmdldCgpOyB9CiAKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0
aWMgUmVzb3VyY2VFcnJvciBwbGF0Zm9ybUJhZFJlc3BvbnNlRXJyb3IoKTsKIApAQCAtNjEsNiAr
NzcsNiBAQCBwcml2YXRlOgogICAgIFJlc291cmNlUmVzcG9uc2UgbV9yZXNwb25zZTsKICAgICBW
ZWN0b3I8Y2hhcj4gbV9kYXRhOwogICAgIFJlc291cmNlRXJyb3IgbV9lcnJvcjsKLSAgICBNZXNz
YWdlUXVldWU8RnVuY3Rpb248dm9pZCgpPj4gbV9tZXNzYWdlUXVldWU7CisgICAgUmVmPFN5bmNo
cm9ub3VzTG9hZGVyTWVzc2FnZVF1ZXVlPiBtX21lc3NhZ2VRdWV1ZTsKIH07CiB9CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUhhbmRsZU1hYy5tbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJj
ZUhhbmRsZU1hYy5tbQkocmV2aXNpb24gMjU0NDM5KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9tYWMvUmVzb3VyY2VIYW5kbGVNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTMw
OSwxNSArMzA5LDE1IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6OnVuc2NoZWR1bGUoU2NoZWR1bGUK
ICAgICAgICAgW2QtPm1fY29ubmVjdGlvbi5nZXQoKSB1bnNjaGVkdWxlRnJvbVJ1bkxvb3A6cnVu
TG9vcCBmb3JNb2RlOihfX2JyaWRnZSBOU1N0cmluZyAqKXBhaXIubW9kZSgpXTsKIH0KIAotaWQg
UmVzb3VyY2VIYW5kbGU6Om1ha2VEZWxlZ2F0ZShib29sIHNob3VsZFVzZUNyZWRlbnRpYWxTdG9y
YWdlLCBNZXNzYWdlUXVldWU8RnVuY3Rpb248dm9pZCgpPj4qIHF1ZXVlKQoraWQgUmVzb3VyY2VI
YW5kbGU6Om1ha2VEZWxlZ2F0ZShib29sIHNob3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlLCBSZWZQ
dHI8U3luY2hyb25vdXNMb2FkZXJNZXNzYWdlUXVldWU+JiYgcXVldWUpCiB7CiAgICAgQVNTRVJU
KCFkLT5tX2RlbGVnYXRlKTsKIAogICAgIGlkIDxOU1VSTENvbm5lY3Rpb25EZWxlZ2F0ZT4gZGVs
ZWdhdGU7CiAgICAgaWYgKHNob3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlKQotICAgICAgICBkZWxl
Z2F0ZSA9IFtbV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlIGFs
bG9jXSBpbml0V2l0aEhhbmRsZTp0aGlzIG1lc3NhZ2VRdWV1ZTpxdWV1ZV07CisgICAgICAgIGRl
bGVnYXRlID0gW1tXZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUg
YWxsb2NdIGluaXRXaXRoSGFuZGxlOnRoaXMgbWVzc2FnZVF1ZXVlOldURk1vdmUocXVldWUpXTsK
ICAgICBlbHNlCi0gICAgICAgIGRlbGVnYXRlID0gW1tXZWJDb3JlUmVzb3VyY2VIYW5kbGVXaXRo
Q3JlZGVudGlhbFN0b3JhZ2VBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUgYWxsb2NdIGluaXRXaXRo
SGFuZGxlOnRoaXMgbWVzc2FnZVF1ZXVlOnF1ZXVlXTsKKyAgICAgICAgZGVsZWdhdGUgPSBbW1dl
YkNvcmVSZXNvdXJjZUhhbmRsZVdpdGhDcmVkZW50aWFsU3RvcmFnZUFzT3BlcmF0aW9uUXVldWVE
ZWxlZ2F0ZSBhbGxvY10gaW5pdFdpdGhIYW5kbGU6dGhpcyBtZXNzYWdlUXVldWU6V1RGTW92ZShx
dWV1ZSldOwogCiAgICAgZC0+bV9kZWxlZ2F0ZSA9IGRlbGVnYXRlOwogICAgIFtkZWxlZ2F0ZSBy
ZWxlYXNlXTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1dlYkNv
cmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1dlYkNvcmVSZXNvdXJjZUhhbmRs
ZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZS5oCShyZXZpc2lvbiAyNTQ0MzkpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9XZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJh
dGlvblF1ZXVlRGVsZWdhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtMzEsMTAgKzMxLDEyIEBACiAj
aW5jbHVkZSA8d3RmL01lc3NhZ2VRdWV1ZS5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4K
ICNpbmNsdWRlIDx3dGYvU2NoZWR1bGVQYWlyLmg+CisjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4K
ICNpbmNsdWRlIDx3dGYvdGhyZWFkcy9CaW5hcnlTZW1hcGhvcmUuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogY2xhc3MgUmVzb3VyY2VIYW5kbGU7CitjbGFzcyBTeW5jaHJvbm91c0xvYWRlck1l
c3NhZ2VRdWV1ZTsKIH0KIAogQGludGVyZmFjZSBXZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJh
dGlvblF1ZXVlRGVsZWdhdGUgOiBOU09iamVjdCA8TlNVUkxDb25uZWN0aW9uRGVsZWdhdGU+IHsK
QEAgLTQyLDcgKzQ0LDcgQEAgQGludGVyZmFjZSBXZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJh
dAogCiAgICAgLy8gU3luY2hyb25vdXMgZGVsZWdhdGVzIG9uIG9wZXJhdGlvbiBxdWV1ZSB3YWl0
IHVudGlsIG1haW4gdGhyZWFkIHNlbmRzIGFuIGFzeW5jaHJvbm91cyByZXNwb25zZS4KICAgICBC
aW5hcnlTZW1hcGhvcmUgbV9zZW1hcGhvcmU7Ci0gICAgTWVzc2FnZVF1ZXVlPEZ1bmN0aW9uPHZv
aWQoKT4+KiBtX21lc3NhZ2VRdWV1ZTsKKyAgICBSZWZQdHI8V2ViQ29yZTo6U3luY2hyb25vdXNM
b2FkZXJNZXNzYWdlUXVldWU+IG1fbWVzc2FnZVF1ZXVlOwogICAgIFJldGFpblB0cjxOU1VSTFJl
cXVlc3Q+IG1fcmVxdWVzdFJlc3VsdDsKICAgICBMb2NrIG1fbXV0ZXg7CiAgICAgUmV0YWluUHRy
PE5TQ2FjaGVkVVJMUmVzcG9uc2U+IG1fY2FjaGVkUmVzcG9uc2VSZXN1bHQ7CkBAIC01MSw3ICs1
Myw3IEBAIEBpbnRlcmZhY2UgV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXQKIH0KIAogLSAo
dm9pZClkZXRhY2hIYW5kbGU7Ci0tIChpZClpbml0V2l0aEhhbmRsZTooV2ViQ29yZTo6UmVzb3Vy
Y2VIYW5kbGUqKWhhbmRsZSBtZXNzYWdlUXVldWU6KE1lc3NhZ2VRdWV1ZTxGdW5jdGlvbjx2b2lk
KCk+PiopbWVzc2FnZVF1ZXVlOworLSAoaWQpaW5pdFdpdGhIYW5kbGU6KFdlYkNvcmU6OlJlc291
cmNlSGFuZGxlKiloYW5kbGUgbWVzc2FnZVF1ZXVlOihSZWZQdHI8V2ViQ29yZTo6U3luY2hyb25v
dXNMb2FkZXJNZXNzYWdlUXVldWU+JiYpbWVzc2FnZVF1ZXVlOwogQGVuZAogCiBAaW50ZXJmYWNl
IFdlYkNvcmVSZXNvdXJjZUhhbmRsZVdpdGhDcmVkZW50aWFsU3RvcmFnZUFzT3BlcmF0aW9uUXVl
dWVEZWxlZ2F0ZSA6IFdlYkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0
ZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvV2ViQ29yZVJlc291
cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlLm1tCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFzT3Bl
cmF0aW9uUXVldWVEZWxlZ2F0ZS5tbQkocmV2aXNpb24gMjU0NDM5KQorKysgU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9tYWMvV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25R
dWV1ZURlbGVnYXRlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC02MSw3ICs2MSw3IEBAIC0gKHZvaWQp
Y2FsbEZ1bmN0aW9uT25NYWluVGhyZWFkOihGdW5jdGkKIHsKICAgICAvLyBTeW5jIHhociB1c2Vz
IHRoZSBtZXNzYWdlIHF1ZXVlLgogICAgIGlmIChtX21lc3NhZ2VRdWV1ZSkKLSAgICAgICAgcmV0
dXJuIG1fbWVzc2FnZVF1ZXVlLT5hcHBlbmQobWFrZVVuaXF1ZTxGdW5jdGlvbjx2b2lkKCk+PihX
VEZNb3ZlKGZ1bmN0aW9uKSkpOworICAgICAgICByZXR1cm4gbV9tZXNzYWdlUXVldWUtPmFwcGVu
ZChXVEZNb3ZlKGZ1bmN0aW9uKSk7CiAKICAgICAvLyBUaGlzIGlzIHRoZSBjb21tb24gY2FzZS4K
ICAgICBpZiAoIXNjaGVkdWxlZFdpdGhDdXN0b21SdW5Mb29wTW9kZShtX3NjaGVkdWxlZFBhaXJz
KSkKQEAgLTc5LDcgKzc5LDcgQEAgLSAodm9pZCljYWxsRnVuY3Rpb25Pbk1haW5UaHJlYWQ6KEZ1
bmN0aQogICAgICAgICBDRlJ1bkxvb3BQZXJmb3JtQmxvY2socGFpci0+cnVuTG9vcCgpLCBwYWly
LT5tb2RlKCksIGJsb2NrLmdldCgpKTsKIH0KIAotLSAoaWQpaW5pdFdpdGhIYW5kbGU6KFJlc291
cmNlSGFuZGxlKiloYW5kbGUgbWVzc2FnZVF1ZXVlOihNZXNzYWdlUXVldWU8RnVuY3Rpb248dm9p
ZCgpPj4qKW1lc3NhZ2VRdWV1ZQorLSAoaWQpaW5pdFdpdGhIYW5kbGU6KFdlYkNvcmU6OlJlc291
cmNlSGFuZGxlKiloYW5kbGUgbWVzc2FnZVF1ZXVlOihSZWZQdHI8V2ViQ29yZTo6U3luY2hyb25v
dXNMb2FkZXJNZXNzYWdlUXVldWU+JiYpbWVzc2FnZVF1ZXVlCiB7CiAgICAgc2VsZiA9IFtzZWxm
IGluaXRdOwogICAgIGlmICghc2VsZikKQEAgLTkwLDcgKzkwLDcgQEAgLSAoaWQpaW5pdFdpdGhI
YW5kbGU6KFJlc291cmNlSGFuZGxlKiloYQogICAgICAgICBpZiAoYXV0byogcGFpcnMgPSBtX2hh
bmRsZS0+Y29udGV4dCgpLT5zY2hlZHVsZWRSdW5Mb29wUGFpcnMoKSkKICAgICAgICAgICAgIG1f
c2NoZWR1bGVkUGFpcnMgPSAqcGFpcnM7CiAgICAgfQotICAgIG1fbWVzc2FnZVF1ZXVlID0gbWVz
c2FnZVF1ZXVlOworICAgIG1fbWVzc2FnZVF1ZXVlID0gV1RGTW92ZShtZXNzYWdlUXVldWUpOwog
CiAgICAgcmV0dXJuIHNlbGY7CiB9CkBAIC0xMjgsNyArMTI4LDcgQEAgLSAoTlNVUkxSZXF1ZXN0
ICopY29ubmVjdGlvbjooTlNVUkxDb25uZQogICAgIGlmIChbcmVkaXJlY3RSZXNwb25zZSBpc0tp
bmRPZkNsYXNzOltOU0hUVFBVUkxSZXNwb25zZSBjbGFzc11dKQogICAgICAgICBMT0coTmV0d29y
aywgIkhhbmRsZSAlcCBkZWxlZ2F0ZSBjb25uZWN0aW9uOiVwIHdpbGxTZW5kUmVxdWVzdDolQCBy
ZWRpcmVjdFJlc3BvbnNlOiVkLCBMb2NhdGlvbjo8JUA+IiwgbV9oYW5kbGUsIGNvbm5lY3Rpb24s
IFtuZXdSZXF1ZXN0IGRlc2NyaXB0aW9uXSwgc3RhdGljX2Nhc3Q8aW50PihbKGlkKXJlZGlyZWN0
UmVzcG9uc2Ugc3RhdHVzQ29kZV0pLCBbWyhpZClyZWRpcmVjdFJlc3BvbnNlIGFsbEhlYWRlckZp
ZWxkc10gb2JqZWN0Rm9yS2V5OkAiTG9jYXRpb24iXSk7CiAgICAgZWxzZQotICAgICAgICBMT0co
TmV0d29yaywgIkhhbmRsZSAlcCBkZWxlZ2F0ZSBjb25uZWN0aW9uOiVwIHdpbGxTZW5kUmVxdWVz
dDolQCByZWRpcmVjdFJlc3BvbnNlOm5vbi1IVFRQIiwgbV9oYW5kbGUsIGNvbm5lY3Rpb24sIFtu
ZXdSZXF1ZXN0IGRlc2NyaXB0aW9uXSk7IAorICAgICAgICBMT0coTmV0d29yaywgIkhhbmRsZSAl
cCBkZWxlZ2F0ZSBjb25uZWN0aW9uOiVwIHdpbGxTZW5kUmVxdWVzdDolQCByZWRpcmVjdFJlc3Bv
bnNlOm5vbi1IVFRQIiwgbV9oYW5kbGUsIGNvbm5lY3Rpb24sIFtuZXdSZXF1ZXN0IGRlc2NyaXB0
aW9uXSk7CiAjZW5kaWYKIAogICAgIGF1dG8gcHJvdGVjdGVkU2VsZiA9IHJldGFpblB0cihzZWxm
KTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>387710</attachid>
            <date>2020-01-14 15:09:47 -0800</date>
            <delta_ts>2020-01-14 15:13:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206261-20200114150946.patch</filename>
            <type>text/plain</type>
            <size>10805</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1NDUzOCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBACisyMDIwLTAxLTE0ICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgS2VlcCBSZWZQ
dHIgaW5zdGVhZCBvZiByYXcgcG9pbnRlciB0byBtZXNzYWdlIHF1ZXVlIG9uIFdlYkNvcmVSZXNv
dXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2MjYxCisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS81NzU2MjU5Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUaGVyZSdzIG5vIHJlYXNvbiB0byBrZWVwIGEgcmF3IHBvaW50ZXIgd2hlbiB3ZSBjYW4g
a2VlcCBhIHNtYXJ0IHBvaW50ZXIuCisgICAgICAgIFRoaXMgd2lsbCBtYWtlIHRoaXMgbW9yZSBy
b2J1c3QgYWdhaW5zdCBzb21lb25lIGZvcmdldHRpbmcgdG8gY2xlYXIgdGhpcyBwb2ludGVyIHZh
bHVlLgorCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oOgorICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvU3luY2hyb25vdXNMb2FkZXJDbGllbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U3luY2hyb25vdXNMb2FkZXJDbGllbnQ6OlN5bmNocm9ub3VzTG9hZGVy
Q2xpZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlN5bmNocm9ub3VzTG9hZGVyQ2xpZW50OjpkaWRG
aW5pc2hMb2FkaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlN5bmNocm9ub3VzTG9hZGVyQ2xpZW50
OjpkaWRGYWlsKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1N5bmNocm9ub3VzTG9hZGVy
Q2xpZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpTeW5jaHJvbm91c0xvYWRlck1lc3NhZ2VRdWV1
ZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlN5bmNocm9ub3VzTG9hZGVyTWVzc2FnZVF1
ZXVlOjphcHBlbmQpOgorICAgICAgICAoV2ViQ29yZTo6U3luY2hyb25vdXNMb2FkZXJNZXNzYWdl
UXVldWU6OmtpbGwpOgorICAgICAgICAoV2ViQ29yZTo6U3luY2hyb25vdXNMb2FkZXJNZXNzYWdl
UXVldWU6OmtpbGxlZCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpTeW5jaHJvbm91c0xvYWRl
ck1lc3NhZ2VRdWV1ZTo6d2FpdEZvck1lc3NhZ2UpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdv
cmsvbWFjL1Jlc291cmNlSGFuZGxlTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VI
YW5kbGU6Om1ha2VEZWxlZ2F0ZSk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9tYWMvV2Vi
Q29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlLmg6CisgICAgICAgICog
cGxhdGZvcm0vbmV0d29yay9tYWMvV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1
ZURlbGVnYXRlLm1tOgorICAgICAgICAoLVtXZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlv
blF1ZXVlRGVsZWdhdGUgY2FsbEZ1bmN0aW9uT25NYWluVGhyZWFkOl0pOgorICAgICAgICAoLVtX
ZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUgaW5pdFdpdGhIYW5k
bGU6bWVzc2FnZVF1ZXVlOl0pOgorICAgICAgICAoLVtXZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09w
ZXJhdGlvblF1ZXVlRGVsZWdhdGUgY29ubmVjdGlvbjp3aWxsU2VuZFJlcXVlc3Q6cmVkaXJlY3RS
ZXNwb25zZTpdKToKKwogMjAyMC0wMS0xNCAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRA
YXBwbGUuY29tPgogCiAgICAgICAgIFtDb2NvYV0gR2x5cGggbG9va3VwIHNob3VsZCBiZSBsYW5n
dWFnZS1zZW5zaXRpdmUgKHNwZWNpZmljYWxseSBiZXR3ZWVuIFlpZGRpc2ggYW5kIEhlYnJldykK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFu
ZGxlLmgJKHJldmlzaW9uIDI1NDQzOSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvUmVzb3VyY2VIYW5kbGUuaAkod29ya2luZyBjb3B5KQpAQCAtODYsNiArODYsNyBAQCBjbGFz
cyBOZXR3b3JrTG9hZE1ldHJpY3M7CiBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiBjbGFzcyBSZXNv
dXJjZVJlc3BvbnNlOwogY2xhc3MgU2hhcmVkQnVmZmVyOworY2xhc3MgU3luY2hyb25vdXNMb2Fk
ZXJNZXNzYWdlUXVldWU7CiBjbGFzcyBUaW1lcjsKIAogI2lmIFVTRShDVVJMKQpAQCAtMTIzLDcg
KzEyNCw3IEBAIHB1YmxpYzoKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIFdFQkNPUkVfRVhQ
T1JUIE5TVVJMQ29ubmVjdGlvbiAqY29ubmVjdGlvbigpIGNvbnN0OwotICAgIGlkIG1ha2VEZWxl
Z2F0ZShib29sLCBXVEY6Ok1lc3NhZ2VRdWV1ZTxXVEY6OkZ1bmN0aW9uPHZvaWQoKT4+Kik7Cisg
ICAgaWQgbWFrZURlbGVnYXRlKGJvb2wsIFJlZlB0cjxTeW5jaHJvbm91c0xvYWRlck1lc3NhZ2VR
dWV1ZT4mJik7CiAgICAgaWQgZGVsZWdhdGUoKTsKICAgICB2b2lkIHJlbGVhc2VEZWxlZ2F0ZSgp
OwogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1N5bmNocm9u
b3VzTG9hZGVyQ2xpZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL1N5bmNocm9ub3VzTG9hZGVyQ2xpZW50LmNwcAkocmV2aXNpb24gMjU0NDM5KQor
KysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9TeW5jaHJvbm91c0xvYWRlckNsaWVu
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMzLDYgKzMzLDkgQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCitTeW5jaHJvbm91c0xvYWRlckNsaWVudDo6U3luY2hyb25vdXNMb2FkZXJDbGllbnQo
KQorICAgIDogbV9tZXNzYWdlUXVldWUoU3luY2hyb25vdXNMb2FkZXJNZXNzYWdlUXVldWU6OmNy
ZWF0ZSgpKSB7IH0KKwogU3luY2hyb25vdXNMb2FkZXJDbGllbnQ6On5TeW5jaHJvbm91c0xvYWRl
ckNsaWVudCgpID0gZGVmYXVsdDsKIAogdm9pZCBTeW5jaHJvbm91c0xvYWRlckNsaWVudDo6d2ls
bFNlbmRSZXF1ZXN0QXN5bmMoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSwgUmVzb3VyY2VSZXF1ZXN0
JiYgcmVxdWVzdCwgUmVzb3VyY2VSZXNwb25zZSYmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFJl
c291cmNlUmVxdWVzdCYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKQEAgLTczLDE4ICs3NiwzMCBA
QCB2b2lkIFN5bmNocm9ub3VzTG9hZGVyQ2xpZW50OjpkaWRSZWNlaXZlCiAgICAgbV9kYXRhLmFw
cGVuZChkYXRhLCBsZW5ndGgpOwogfQogCi12b2lkIFN5bmNocm9ub3VzTG9hZGVyQ2xpZW50Ojpk
aWRGaW5pc2hMb2FkaW5nKFJlc291cmNlSGFuZGxlKikKK3ZvaWQgU3luY2hyb25vdXNMb2FkZXJD
bGllbnQ6OmRpZEZpbmlzaExvYWRpbmcoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSkKIHsKLSAgICBt
X21lc3NhZ2VRdWV1ZS5raWxsKCk7CisgICAgbV9tZXNzYWdlUXVldWUtPmtpbGwoKTsKKyNpZiBQ
TEFURk9STShDT0NPQSkKKyAgICBpZiAoaGFuZGxlKQorICAgICAgICBoYW5kbGUtPnJlbGVhc2VE
ZWxlZ2F0ZSgpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oaGFuZGxlKTsKKyNlbmRpZgogfQog
Ci12b2lkIFN5bmNocm9ub3VzTG9hZGVyQ2xpZW50OjpkaWRGYWlsKFJlc291cmNlSGFuZGxlKiwg
Y29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IpCit2b2lkIFN5bmNocm9ub3VzTG9hZGVyQ2xpZW50
OjpkaWRGYWlsKFJlc291cmNlSGFuZGxlKiBoYW5kbGUsIGNvbnN0IFJlc291cmNlRXJyb3ImIGVy
cm9yKQogewogICAgIEFTU0VSVChtX2Vycm9yLmlzTnVsbCgpKTsKIAogICAgIG1fZXJyb3IgPSBl
cnJvcjsKICAgICAKLSAgICBtX21lc3NhZ2VRdWV1ZS5raWxsKCk7CisgICAgbV9tZXNzYWdlUXVl
dWUtPmtpbGwoKTsKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBpZiAoaGFuZGxlKQorICAgICAg
ICBoYW5kbGUtPnJlbGVhc2VEZWxlZ2F0ZSgpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oaGFu
ZGxlKTsKKyNlbmRpZgogfQogCiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL1N5bmNocm9ub3VzTG9hZGVyQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9TeW5jaHJvbm91c0xvYWRlckNsaWVudC5oCShyZXZpc2lvbiAy
NTQ0MzkpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1N5bmNocm9ub3VzTG9h
ZGVyQ2xpZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTMwLDE4ICszMCwzNCBAQAogI2luY2x1ZGUg
IlJlc291cmNlUmVzcG9uc2UuaCIKICNpbmNsdWRlIDx3dGYvRnVuY3Rpb24uaD4KICNpbmNsdWRl
IDx3dGYvTWVzc2FnZVF1ZXVlLmg+CisjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVSZWZDb3VudGVk
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgU3luY2hyb25vdXNMb2FkZXJNZXNz
YWdlUXVldWUgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8U3luY2hyb25vdXNMb2FkZXJN
ZXNzYWdlUXVldWU+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPFN5bmNocm9ub3VzTG9hZGVy
TWVzc2FnZVF1ZXVlPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IFN5bmNocm9ub3Vz
TG9hZGVyTWVzc2FnZVF1ZXVlKTsgfQorCisgICAgdm9pZCBhcHBlbmQoRnVuY3Rpb248dm9pZCgp
PiYmIHRhc2spIHsgbV9xdWV1ZS5hcHBlbmQobWFrZVVuaXF1ZTxGdW5jdGlvbjx2b2lkKCk+PihX
VEZNb3ZlKHRhc2spKSk7IH0KKyAgICB2b2lkIGtpbGwoKSB7IG1fcXVldWUua2lsbCgpOyB9Cisg
ICAgYm9vbCBraWxsZWQoKSBjb25zdCB7IHJldHVybiBtX3F1ZXVlLmtpbGxlZCgpOyB9CisgICAg
c3RkOjp1bmlxdWVfcHRyPEZ1bmN0aW9uPHZvaWQoKT4+IHdhaXRGb3JNZXNzYWdlKCkgeyByZXR1
cm4gbV9xdWV1ZS53YWl0Rm9yTWVzc2FnZSgpOyB9CisKK3ByaXZhdGU6CisgICAgU3luY2hyb25v
dXNMb2FkZXJNZXNzYWdlUXVldWUoKSA9IGRlZmF1bHQ7CisgICAgTWVzc2FnZVF1ZXVlPEZ1bmN0
aW9uPHZvaWQoKT4+IG1fcXVldWU7Cit9OworCiBjbGFzcyBTeW5jaHJvbm91c0xvYWRlckNsaWVu
dCBmaW5hbCA6IHB1YmxpYyBSZXNvdXJjZUhhbmRsZUNsaWVudCB7CiBwdWJsaWM6CisgICAgU3lu
Y2hyb25vdXNMb2FkZXJDbGllbnQoKTsKICAgICB2aXJ0dWFsIH5TeW5jaHJvbm91c0xvYWRlckNs
aWVudCgpOwogCiAgICAgdm9pZCBzZXRBbGxvd1N0b3JlZENyZWRlbnRpYWxzKGJvb2wgYWxsb3cp
IHsgbV9hbGxvd1N0b3JlZENyZWRlbnRpYWxzID0gYWxsb3c7IH0KICAgICBjb25zdCBSZXNvdXJj
ZVJlc3BvbnNlJiByZXNwb25zZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzcG9uc2U7IH0KICAgICBW
ZWN0b3I8Y2hhcj4mIG11dGFibGVEYXRhKCkgeyByZXR1cm4gbV9kYXRhOyB9CiAgICAgY29uc3Qg
UmVzb3VyY2VFcnJvciYgZXJyb3IoKSBjb25zdCB7IHJldHVybiBtX2Vycm9yOyB9Ci0gICAgTWVz
c2FnZVF1ZXVlPEZ1bmN0aW9uPHZvaWQoKT4+JiBtZXNzYWdlUXVldWUoKSB7IHJldHVybiBtX21l
c3NhZ2VRdWV1ZTsgfQorICAgIFN5bmNocm9ub3VzTG9hZGVyTWVzc2FnZVF1ZXVlJiBtZXNzYWdl
UXVldWUoKSB7IHJldHVybiBtX21lc3NhZ2VRdWV1ZS5nZXQoKTsgfQogCiAgICAgV0VCQ09SRV9F
WFBPUlQgc3RhdGljIFJlc291cmNlRXJyb3IgcGxhdGZvcm1CYWRSZXNwb25zZUVycm9yKCk7CiAK
QEAgLTYxLDYgKzc3LDYgQEAgcHJpdmF0ZToKICAgICBSZXNvdXJjZVJlc3BvbnNlIG1fcmVzcG9u
c2U7CiAgICAgVmVjdG9yPGNoYXI+IG1fZGF0YTsKICAgICBSZXNvdXJjZUVycm9yIG1fZXJyb3I7
Ci0gICAgTWVzc2FnZVF1ZXVlPEZ1bmN0aW9uPHZvaWQoKT4+IG1fbWVzc2FnZVF1ZXVlOworICAg
IFJlZjxTeW5jaHJvbm91c0xvYWRlck1lc3NhZ2VRdWV1ZT4gbV9tZXNzYWdlUXVldWU7CiB9Owog
fQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VIYW5k
bGVNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9t
YWMvUmVzb3VyY2VIYW5kbGVNYWMubW0JKHJldmlzaW9uIDI1NDQzOSkKKysrIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlSGFuZGxlTWFjLm1tCSh3b3JraW5nIGNv
cHkpCkBAIC0zMDksMTUgKzMwOSwxNSBAQCB2b2lkIFJlc291cmNlSGFuZGxlOjp1bnNjaGVkdWxl
KFNjaGVkdWxlCiAgICAgICAgIFtkLT5tX2Nvbm5lY3Rpb24uZ2V0KCkgdW5zY2hlZHVsZUZyb21S
dW5Mb29wOnJ1bkxvb3AgZm9yTW9kZTooX19icmlkZ2UgTlNTdHJpbmcgKilwYWlyLm1vZGUoKV07
CiB9CiAKLWlkIFJlc291cmNlSGFuZGxlOjptYWtlRGVsZWdhdGUoYm9vbCBzaG91bGRVc2VDcmVk
ZW50aWFsU3RvcmFnZSwgTWVzc2FnZVF1ZXVlPEZ1bmN0aW9uPHZvaWQoKT4+KiBxdWV1ZSkKK2lk
IFJlc291cmNlSGFuZGxlOjptYWtlRGVsZWdhdGUoYm9vbCBzaG91bGRVc2VDcmVkZW50aWFsU3Rv
cmFnZSwgUmVmUHRyPFN5bmNocm9ub3VzTG9hZGVyTWVzc2FnZVF1ZXVlPiYmIHF1ZXVlKQogewog
ICAgIEFTU0VSVCghZC0+bV9kZWxlZ2F0ZSk7CiAKICAgICBpZCA8TlNVUkxDb25uZWN0aW9uRGVs
ZWdhdGU+IGRlbGVnYXRlOwogICAgIGlmIChzaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZSkKLSAg
ICAgICAgZGVsZWdhdGUgPSBbW1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVE
ZWxlZ2F0ZSBhbGxvY10gaW5pdFdpdGhIYW5kbGU6dGhpcyBtZXNzYWdlUXVldWU6cXVldWVdOwor
ICAgICAgICBkZWxlZ2F0ZSA9IFtbV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1
ZURlbGVnYXRlIGFsbG9jXSBpbml0V2l0aEhhbmRsZTp0aGlzIG1lc3NhZ2VRdWV1ZTpXVEZNb3Zl
KHF1ZXVlKV07CiAgICAgZWxzZQotICAgICAgICBkZWxlZ2F0ZSA9IFtbV2ViQ29yZVJlc291cmNl
SGFuZGxlV2l0aENyZWRlbnRpYWxTdG9yYWdlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlIGFsbG9j
XSBpbml0V2l0aEhhbmRsZTp0aGlzIG1lc3NhZ2VRdWV1ZTpxdWV1ZV07CisgICAgICAgIGRlbGVn
YXRlID0gW1tXZWJDb3JlUmVzb3VyY2VIYW5kbGVXaXRoQ3JlZGVudGlhbFN0b3JhZ2VBc09wZXJh
dGlvblF1ZXVlRGVsZWdhdGUgYWxsb2NdIGluaXRXaXRoSGFuZGxlOnRoaXMgbWVzc2FnZVF1ZXVl
OldURk1vdmUocXVldWUpXTsKIAogICAgIGQtPm1fZGVsZWdhdGUgPSBkZWxlZ2F0ZTsKICAgICBb
ZGVsZWdhdGUgcmVsZWFzZV07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L21hYy9XZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9XZWJDb3JlUmVz
b3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUuaAkocmV2aXNpb24gMjU0NDM5KQor
KysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvV2ViQ29yZVJlc291cmNlSGFu
ZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTMxLDEwICsz
MSwxMiBAQAogI2luY2x1ZGUgPHd0Zi9NZXNzYWdlUXVldWUuaD4KICNpbmNsdWRlIDx3dGYvUmV0
YWluUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1NjaGVkdWxlUGFpci5oPgorI2luY2x1ZGUgPHd0Zi9X
ZWFrUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RocmVhZHMvQmluYXJ5U2VtYXBob3JlLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFJlc291cmNlSGFuZGxlOworY2xhc3MgU3luY2hyb25v
dXNMb2FkZXJNZXNzYWdlUXVldWU7CiB9CiAKIEBpbnRlcmZhY2UgV2ViQ29yZVJlc291cmNlSGFu
ZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlIDogTlNPYmplY3QgPE5TVVJMQ29ubmVjdGlvbkRl
bGVnYXRlPiB7CkBAIC00Miw3ICs0NCw3IEBAIEBpbnRlcmZhY2UgV2ViQ29yZVJlc291cmNlSGFu
ZGxlQXNPcGVyYXQKIAogICAgIC8vIFN5bmNocm9ub3VzIGRlbGVnYXRlcyBvbiBvcGVyYXRpb24g
cXVldWUgd2FpdCB1bnRpbCBtYWluIHRocmVhZCBzZW5kcyBhbiBhc3luY2hyb25vdXMgcmVzcG9u
c2UuCiAgICAgQmluYXJ5U2VtYXBob3JlIG1fc2VtYXBob3JlOwotICAgIE1lc3NhZ2VRdWV1ZTxG
dW5jdGlvbjx2b2lkKCk+PiogbV9tZXNzYWdlUXVldWU7CisgICAgUmVmUHRyPFdlYkNvcmU6OlN5
bmNocm9ub3VzTG9hZGVyTWVzc2FnZVF1ZXVlPiBtX21lc3NhZ2VRdWV1ZTsKICAgICBSZXRhaW5Q
dHI8TlNVUkxSZXF1ZXN0PiBtX3JlcXVlc3RSZXN1bHQ7CiAgICAgTG9jayBtX211dGV4OwogICAg
IFJldGFpblB0cjxOU0NhY2hlZFVSTFJlc3BvbnNlPiBtX2NhY2hlZFJlc3BvbnNlUmVzdWx0OwpA
QCAtNTEsNyArNTMsNyBAQCBAaW50ZXJmYWNlIFdlYkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0
CiB9CiAKIC0gKHZvaWQpZGV0YWNoSGFuZGxlOwotLSAoaWQpaW5pdFdpdGhIYW5kbGU6KFdlYkNv
cmU6OlJlc291cmNlSGFuZGxlKiloYW5kbGUgbWVzc2FnZVF1ZXVlOihNZXNzYWdlUXVldWU8RnVu
Y3Rpb248dm9pZCgpPj4qKW1lc3NhZ2VRdWV1ZTsKKy0gKGlkKWluaXRXaXRoSGFuZGxlOihXZWJD
b3JlOjpSZXNvdXJjZUhhbmRsZSopaGFuZGxlIG1lc3NhZ2VRdWV1ZTooUmVmUHRyPFdlYkNvcmU6
OlN5bmNocm9ub3VzTG9hZGVyTWVzc2FnZVF1ZXVlPiYmKW1lc3NhZ2VRdWV1ZTsKIEBlbmQKIAog
QGludGVyZmFjZSBXZWJDb3JlUmVzb3VyY2VIYW5kbGVXaXRoQ3JlZGVudGlhbFN0b3JhZ2VBc09w
ZXJhdGlvblF1ZXVlRGVsZWdhdGUgOiBXZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1
ZXVlRGVsZWdhdGUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1dl
YkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZS5tbQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9XZWJDb3JlUmVzb3VyY2VI
YW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUubW0JKHJldmlzaW9uIDI1NDQzOSkKKysrIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFz
T3BlcmF0aW9uUXVldWVEZWxlZ2F0ZS5tbQkod29ya2luZyBjb3B5KQpAQCAtNjEsNyArNjEsNyBA
QCAtICh2b2lkKWNhbGxGdW5jdGlvbk9uTWFpblRocmVhZDooRnVuY3RpCiB7CiAgICAgLy8gU3lu
YyB4aHIgdXNlcyB0aGUgbWVzc2FnZSBxdWV1ZS4KICAgICBpZiAobV9tZXNzYWdlUXVldWUpCi0g
ICAgICAgIHJldHVybiBtX21lc3NhZ2VRdWV1ZS0+YXBwZW5kKG1ha2VVbmlxdWU8RnVuY3Rpb248
dm9pZCgpPj4oV1RGTW92ZShmdW5jdGlvbikpKTsKKyAgICAgICAgcmV0dXJuIG1fbWVzc2FnZVF1
ZXVlLT5hcHBlbmQoV1RGTW92ZShmdW5jdGlvbikpOwogCiAgICAgLy8gVGhpcyBpcyB0aGUgY29t
bW9uIGNhc2UuCiAgICAgaWYgKCFzY2hlZHVsZWRXaXRoQ3VzdG9tUnVuTG9vcE1vZGUobV9zY2hl
ZHVsZWRQYWlycykpCkBAIC03OSw3ICs3OSw3IEBAIC0gKHZvaWQpY2FsbEZ1bmN0aW9uT25NYWlu
VGhyZWFkOihGdW5jdGkKICAgICAgICAgQ0ZSdW5Mb29wUGVyZm9ybUJsb2NrKHBhaXItPnJ1bkxv
b3AoKSwgcGFpci0+bW9kZSgpLCBibG9jay5nZXQoKSk7CiB9CiAKLS0gKGlkKWluaXRXaXRoSGFu
ZGxlOihSZXNvdXJjZUhhbmRsZSopaGFuZGxlIG1lc3NhZ2VRdWV1ZTooTWVzc2FnZVF1ZXVlPEZ1
bmN0aW9uPHZvaWQoKT4+KiltZXNzYWdlUXVldWUKKy0gKGlkKWluaXRXaXRoSGFuZGxlOihXZWJD
b3JlOjpSZXNvdXJjZUhhbmRsZSopaGFuZGxlIG1lc3NhZ2VRdWV1ZTooUmVmUHRyPFdlYkNvcmU6
OlN5bmNocm9ub3VzTG9hZGVyTWVzc2FnZVF1ZXVlPiYmKW1lc3NhZ2VRdWV1ZQogewogICAgIHNl
bGYgPSBbc2VsZiBpbml0XTsKICAgICBpZiAoIXNlbGYpCkBAIC05MCw3ICs5MCw3IEBAIC0gKGlk
KWluaXRXaXRoSGFuZGxlOihSZXNvdXJjZUhhbmRsZSopaGEKICAgICAgICAgaWYgKGF1dG8qIHBh
aXJzID0gbV9oYW5kbGUtPmNvbnRleHQoKS0+c2NoZWR1bGVkUnVuTG9vcFBhaXJzKCkpCiAgICAg
ICAgICAgICBtX3NjaGVkdWxlZFBhaXJzID0gKnBhaXJzOwogICAgIH0KLSAgICBtX21lc3NhZ2VR
dWV1ZSA9IG1lc3NhZ2VRdWV1ZTsKKyAgICBtX21lc3NhZ2VRdWV1ZSA9IFdURk1vdmUobWVzc2Fn
ZVF1ZXVlKTsKIAogICAgIHJldHVybiBzZWxmOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>387711</attachid>
            <date>2020-01-14 15:13:55 -0800</date>
            <delta_ts>2020-01-14 15:38:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206261-20200114151355.patch</filename>
            <type>text/plain</type>
            <size>10470</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1NDUzOCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBACisyMDIwLTAxLTE0ICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgS2VlcCBSZWZQ
dHIgaW5zdGVhZCBvZiByYXcgcG9pbnRlciB0byBtZXNzYWdlIHF1ZXVlIG9uIFdlYkNvcmVSZXNv
dXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2MjYxCisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS81NzU2MjU5Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUaGVyZSdzIG5vIHJlYXNvbiB0byBrZWVwIGEgcmF3IHBvaW50ZXIgd2hlbiB3ZSBjYW4g
a2VlcCBhIHNtYXJ0IHBvaW50ZXIuCisgICAgICAgIFRoaXMgd2lsbCBtYWtlIHRoaXMgbW9yZSBy
b2J1c3QgYWdhaW5zdCBzb21lb25lIGZvcmdldHRpbmcgdG8gY2xlYXIgdGhpcyBwb2ludGVyIHZh
bHVlLgorCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oOgorICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvU3luY2hyb25vdXNMb2FkZXJDbGllbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U3luY2hyb25vdXNMb2FkZXJDbGllbnQ6OlN5bmNocm9ub3VzTG9hZGVy
Q2xpZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlN5bmNocm9ub3VzTG9hZGVyQ2xpZW50OjpkaWRG
aW5pc2hMb2FkaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlN5bmNocm9ub3VzTG9hZGVyQ2xpZW50
OjpkaWRGYWlsKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1N5bmNocm9ub3VzTG9hZGVy
Q2xpZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpTeW5jaHJvbm91c0xvYWRlck1lc3NhZ2VRdWV1
ZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlN5bmNocm9ub3VzTG9hZGVyTWVzc2FnZVF1
ZXVlOjphcHBlbmQpOgorICAgICAgICAoV2ViQ29yZTo6U3luY2hyb25vdXNMb2FkZXJNZXNzYWdl
UXVldWU6OmtpbGwpOgorICAgICAgICAoV2ViQ29yZTo6U3luY2hyb25vdXNMb2FkZXJNZXNzYWdl
UXVldWU6OmtpbGxlZCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpTeW5jaHJvbm91c0xvYWRl
ck1lc3NhZ2VRdWV1ZTo6d2FpdEZvck1lc3NhZ2UpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdv
cmsvbWFjL1Jlc291cmNlSGFuZGxlTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VI
YW5kbGU6Om1ha2VEZWxlZ2F0ZSk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9tYWMvV2Vi
Q29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlLmg6CisgICAgICAgICog
cGxhdGZvcm0vbmV0d29yay9tYWMvV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1
ZURlbGVnYXRlLm1tOgorICAgICAgICAoLVtXZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlv
blF1ZXVlRGVsZWdhdGUgY2FsbEZ1bmN0aW9uT25NYWluVGhyZWFkOl0pOgorICAgICAgICAoLVtX
ZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUgaW5pdFdpdGhIYW5k
bGU6bWVzc2FnZVF1ZXVlOl0pOgorICAgICAgICAoLVtXZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09w
ZXJhdGlvblF1ZXVlRGVsZWdhdGUgY29ubmVjdGlvbjp3aWxsU2VuZFJlcXVlc3Q6cmVkaXJlY3RS
ZXNwb25zZTpdKToKKwogMjAyMC0wMS0xNCAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRA
YXBwbGUuY29tPgogCiAgICAgICAgIFtDb2NvYV0gR2x5cGggbG9va3VwIHNob3VsZCBiZSBsYW5n
dWFnZS1zZW5zaXRpdmUgKHNwZWNpZmljYWxseSBiZXR3ZWVuIFlpZGRpc2ggYW5kIEhlYnJldykK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFu
ZGxlLmgJKHJldmlzaW9uIDI1NDQzOSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvUmVzb3VyY2VIYW5kbGUuaAkod29ya2luZyBjb3B5KQpAQCAtODYsNiArODYsNyBAQCBjbGFz
cyBOZXR3b3JrTG9hZE1ldHJpY3M7CiBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiBjbGFzcyBSZXNv
dXJjZVJlc3BvbnNlOwogY2xhc3MgU2hhcmVkQnVmZmVyOworY2xhc3MgU3luY2hyb25vdXNMb2Fk
ZXJNZXNzYWdlUXVldWU7CiBjbGFzcyBUaW1lcjsKIAogI2lmIFVTRShDVVJMKQpAQCAtMTIzLDcg
KzEyNCw3IEBAIHB1YmxpYzoKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIFdFQkNPUkVfRVhQ
T1JUIE5TVVJMQ29ubmVjdGlvbiAqY29ubmVjdGlvbigpIGNvbnN0OwotICAgIGlkIG1ha2VEZWxl
Z2F0ZShib29sLCBXVEY6Ok1lc3NhZ2VRdWV1ZTxXVEY6OkZ1bmN0aW9uPHZvaWQoKT4+Kik7Cisg
ICAgaWQgbWFrZURlbGVnYXRlKGJvb2wsIFJlZlB0cjxTeW5jaHJvbm91c0xvYWRlck1lc3NhZ2VR
dWV1ZT4mJik7CiAgICAgaWQgZGVsZWdhdGUoKTsKICAgICB2b2lkIHJlbGVhc2VEZWxlZ2F0ZSgp
OwogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1N5bmNocm9u
b3VzTG9hZGVyQ2xpZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL1N5bmNocm9ub3VzTG9hZGVyQ2xpZW50LmNwcAkocmV2aXNpb24gMjU0NDM5KQor
KysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9TeW5jaHJvbm91c0xvYWRlckNsaWVu
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMzLDYgKzMzLDkgQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCitTeW5jaHJvbm91c0xvYWRlckNsaWVudDo6U3luY2hyb25vdXNMb2FkZXJDbGllbnQo
KQorICAgIDogbV9tZXNzYWdlUXVldWUoU3luY2hyb25vdXNMb2FkZXJNZXNzYWdlUXVldWU6OmNy
ZWF0ZSgpKSB7IH0KKwogU3luY2hyb25vdXNMb2FkZXJDbGllbnQ6On5TeW5jaHJvbm91c0xvYWRl
ckNsaWVudCgpID0gZGVmYXVsdDsKIAogdm9pZCBTeW5jaHJvbm91c0xvYWRlckNsaWVudDo6d2ls
bFNlbmRSZXF1ZXN0QXN5bmMoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSwgUmVzb3VyY2VSZXF1ZXN0
JiYgcmVxdWVzdCwgUmVzb3VyY2VSZXNwb25zZSYmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFJl
c291cmNlUmVxdWVzdCYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKQEAgLTczLDE4ICs3NiwzMCBA
QCB2b2lkIFN5bmNocm9ub3VzTG9hZGVyQ2xpZW50OjpkaWRSZWNlaXZlCiAgICAgbV9kYXRhLmFw
cGVuZChkYXRhLCBsZW5ndGgpOwogfQogCi12b2lkIFN5bmNocm9ub3VzTG9hZGVyQ2xpZW50Ojpk
aWRGaW5pc2hMb2FkaW5nKFJlc291cmNlSGFuZGxlKikKK3ZvaWQgU3luY2hyb25vdXNMb2FkZXJD
bGllbnQ6OmRpZEZpbmlzaExvYWRpbmcoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSkKIHsKLSAgICBt
X21lc3NhZ2VRdWV1ZS5raWxsKCk7CisgICAgbV9tZXNzYWdlUXVldWUtPmtpbGwoKTsKKyNpZiBQ
TEFURk9STShDT0NPQSkKKyAgICBpZiAoaGFuZGxlKQorICAgICAgICBoYW5kbGUtPnJlbGVhc2VE
ZWxlZ2F0ZSgpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oaGFuZGxlKTsKKyNlbmRpZgogfQog
Ci12b2lkIFN5bmNocm9ub3VzTG9hZGVyQ2xpZW50OjpkaWRGYWlsKFJlc291cmNlSGFuZGxlKiwg
Y29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IpCit2b2lkIFN5bmNocm9ub3VzTG9hZGVyQ2xpZW50
OjpkaWRGYWlsKFJlc291cmNlSGFuZGxlKiBoYW5kbGUsIGNvbnN0IFJlc291cmNlRXJyb3ImIGVy
cm9yKQogewogICAgIEFTU0VSVChtX2Vycm9yLmlzTnVsbCgpKTsKIAogICAgIG1fZXJyb3IgPSBl
cnJvcjsKICAgICAKLSAgICBtX21lc3NhZ2VRdWV1ZS5raWxsKCk7CisgICAgbV9tZXNzYWdlUXVl
dWUtPmtpbGwoKTsKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBpZiAoaGFuZGxlKQorICAgICAg
ICBoYW5kbGUtPnJlbGVhc2VEZWxlZ2F0ZSgpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oaGFu
ZGxlKTsKKyNlbmRpZgogfQogCiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL1N5bmNocm9ub3VzTG9hZGVyQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9TeW5jaHJvbm91c0xvYWRlckNsaWVudC5oCShyZXZpc2lvbiAy
NTQ0MzkpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1N5bmNocm9ub3VzTG9h
ZGVyQ2xpZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTMwLDE4ICszMCwzNCBAQAogI2luY2x1ZGUg
IlJlc291cmNlUmVzcG9uc2UuaCIKICNpbmNsdWRlIDx3dGYvRnVuY3Rpb24uaD4KICNpbmNsdWRl
IDx3dGYvTWVzc2FnZVF1ZXVlLmg+CisjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVSZWZDb3VudGVk
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgU3luY2hyb25vdXNMb2FkZXJNZXNz
YWdlUXVldWUgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8U3luY2hyb25vdXNMb2FkZXJN
ZXNzYWdlUXVldWU+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPFN5bmNocm9ub3VzTG9hZGVy
TWVzc2FnZVF1ZXVlPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IFN5bmNocm9ub3Vz
TG9hZGVyTWVzc2FnZVF1ZXVlKTsgfQorCisgICAgdm9pZCBhcHBlbmQoc3RkOjp1bmlxdWVfcHRy
PEZ1bmN0aW9uPHZvaWQoKT4+JiYgdGFzaykgeyBtX3F1ZXVlLmFwcGVuZChXVEZNb3ZlKHRhc2sp
KTsgfQorICAgIHZvaWQga2lsbCgpIHsgbV9xdWV1ZS5raWxsKCk7IH0KKyAgICBib29sIGtpbGxl
ZCgpIGNvbnN0IHsgcmV0dXJuIG1fcXVldWUua2lsbGVkKCk7IH0KKyAgICBzdGQ6OnVuaXF1ZV9w
dHI8RnVuY3Rpb248dm9pZCgpPj4gd2FpdEZvck1lc3NhZ2UoKSB7IHJldHVybiBtX3F1ZXVlLndh
aXRGb3JNZXNzYWdlKCk7IH0KKworcHJpdmF0ZToKKyAgICBTeW5jaHJvbm91c0xvYWRlck1lc3Nh
Z2VRdWV1ZSgpID0gZGVmYXVsdDsKKyAgICBNZXNzYWdlUXVldWU8RnVuY3Rpb248dm9pZCgpPj4g
bV9xdWV1ZTsKK307CisKIGNsYXNzIFN5bmNocm9ub3VzTG9hZGVyQ2xpZW50IGZpbmFsIDogcHVi
bGljIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKIHB1YmxpYzoKKyAgICBTeW5jaHJvbm91c0xvYWRl
ckNsaWVudCgpOwogICAgIHZpcnR1YWwgflN5bmNocm9ub3VzTG9hZGVyQ2xpZW50KCk7CiAKICAg
ICB2b2lkIHNldEFsbG93U3RvcmVkQ3JlZGVudGlhbHMoYm9vbCBhbGxvdykgeyBtX2FsbG93U3Rv
cmVkQ3JlZGVudGlhbHMgPSBhbGxvdzsgfQogICAgIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJl
c3BvbnNlKCkgY29uc3QgeyByZXR1cm4gbV9yZXNwb25zZTsgfQogICAgIFZlY3RvcjxjaGFyPiYg
bXV0YWJsZURhdGEoKSB7IHJldHVybiBtX2RhdGE7IH0KICAgICBjb25zdCBSZXNvdXJjZUVycm9y
JiBlcnJvcigpIGNvbnN0IHsgcmV0dXJuIG1fZXJyb3I7IH0KLSAgICBNZXNzYWdlUXVldWU8RnVu
Y3Rpb248dm9pZCgpPj4mIG1lc3NhZ2VRdWV1ZSgpIHsgcmV0dXJuIG1fbWVzc2FnZVF1ZXVlOyB9
CisgICAgU3luY2hyb25vdXNMb2FkZXJNZXNzYWdlUXVldWUmIG1lc3NhZ2VRdWV1ZSgpIHsgcmV0
dXJuIG1fbWVzc2FnZVF1ZXVlLmdldCgpOyB9CiAKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMg
UmVzb3VyY2VFcnJvciBwbGF0Zm9ybUJhZFJlc3BvbnNlRXJyb3IoKTsKIApAQCAtNjEsNiArNzcs
NiBAQCBwcml2YXRlOgogICAgIFJlc291cmNlUmVzcG9uc2UgbV9yZXNwb25zZTsKICAgICBWZWN0
b3I8Y2hhcj4gbV9kYXRhOwogICAgIFJlc291cmNlRXJyb3IgbV9lcnJvcjsKLSAgICBNZXNzYWdl
UXVldWU8RnVuY3Rpb248dm9pZCgpPj4gbV9tZXNzYWdlUXVldWU7CisgICAgUmVmPFN5bmNocm9u
b3VzTG9hZGVyTWVzc2FnZVF1ZXVlPiBtX21lc3NhZ2VRdWV1ZTsKIH07CiB9CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUhhbmRsZU1hYy5tbQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUhh
bmRsZU1hYy5tbQkocmV2aXNpb24gMjU0NDM5KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9tYWMvUmVzb3VyY2VIYW5kbGVNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTMwOSwx
NSArMzA5LDE1IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6OnVuc2NoZWR1bGUoU2NoZWR1bGUKICAg
ICAgICAgW2QtPm1fY29ubmVjdGlvbi5nZXQoKSB1bnNjaGVkdWxlRnJvbVJ1bkxvb3A6cnVuTG9v
cCBmb3JNb2RlOihfX2JyaWRnZSBOU1N0cmluZyAqKXBhaXIubW9kZSgpXTsKIH0KIAotaWQgUmVz
b3VyY2VIYW5kbGU6Om1ha2VEZWxlZ2F0ZShib29sIHNob3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdl
LCBNZXNzYWdlUXVldWU8RnVuY3Rpb248dm9pZCgpPj4qIHF1ZXVlKQoraWQgUmVzb3VyY2VIYW5k
bGU6Om1ha2VEZWxlZ2F0ZShib29sIHNob3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlLCBSZWZQdHI8
U3luY2hyb25vdXNMb2FkZXJNZXNzYWdlUXVldWU+JiYgcXVldWUpCiB7CiAgICAgQVNTRVJUKCFk
LT5tX2RlbGVnYXRlKTsKIAogICAgIGlkIDxOU1VSTENvbm5lY3Rpb25EZWxlZ2F0ZT4gZGVsZWdh
dGU7CiAgICAgaWYgKHNob3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlKQotICAgICAgICBkZWxlZ2F0
ZSA9IFtbV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlIGFsbG9j
XSBpbml0V2l0aEhhbmRsZTp0aGlzIG1lc3NhZ2VRdWV1ZTpxdWV1ZV07CisgICAgICAgIGRlbGVn
YXRlID0gW1tXZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUgYWxs
b2NdIGluaXRXaXRoSGFuZGxlOnRoaXMgbWVzc2FnZVF1ZXVlOldURk1vdmUocXVldWUpXTsKICAg
ICBlbHNlCi0gICAgICAgIGRlbGVnYXRlID0gW1tXZWJDb3JlUmVzb3VyY2VIYW5kbGVXaXRoQ3Jl
ZGVudGlhbFN0b3JhZ2VBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUgYWxsb2NdIGluaXRXaXRoSGFu
ZGxlOnRoaXMgbWVzc2FnZVF1ZXVlOnF1ZXVlXTsKKyAgICAgICAgZGVsZWdhdGUgPSBbW1dlYkNv
cmVSZXNvdXJjZUhhbmRsZVdpdGhDcmVkZW50aWFsU3RvcmFnZUFzT3BlcmF0aW9uUXVldWVEZWxl
Z2F0ZSBhbGxvY10gaW5pdFdpdGhIYW5kbGU6dGhpcyBtZXNzYWdlUXVldWU6V1RGTW92ZShxdWV1
ZSldOwogCiAgICAgZC0+bV9kZWxlZ2F0ZSA9IGRlbGVnYXRlOwogICAgIFtkZWxlZ2F0ZSByZWxl
YXNlXTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1dlYkNvcmVS
ZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFz
T3BlcmF0aW9uUXVldWVEZWxlZ2F0ZS5oCShyZXZpc2lvbiAyNTQ0MzkpCisrKyBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9XZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlv
blF1ZXVlRGVsZWdhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtMjksMTIgKzI5LDE0IEBACiAjaW5j
bHVkZSA8d3RmL0Z1bmN0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL0xvY2suaD4KICNpbmNsdWRlIDx3
dGYvTWVzc2FnZVF1ZXVlLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0
Zi9SZXRhaW5QdHIuaD4KICNpbmNsdWRlIDx3dGYvU2NoZWR1bGVQYWlyLmg+CiAjaW5jbHVkZSA8
d3RmL3RocmVhZHMvQmluYXJ5U2VtYXBob3JlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNs
YXNzIFJlc291cmNlSGFuZGxlOworY2xhc3MgU3luY2hyb25vdXNMb2FkZXJNZXNzYWdlUXVldWU7
CiB9CiAKIEBpbnRlcmZhY2UgV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURl
bGVnYXRlIDogTlNPYmplY3QgPE5TVVJMQ29ubmVjdGlvbkRlbGVnYXRlPiB7CkBAIC00Miw3ICs0
NCw3IEBAIEBpbnRlcmZhY2UgV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXQKIAogICAgIC8v
IFN5bmNocm9ub3VzIGRlbGVnYXRlcyBvbiBvcGVyYXRpb24gcXVldWUgd2FpdCB1bnRpbCBtYWlu
IHRocmVhZCBzZW5kcyBhbiBhc3luY2hyb25vdXMgcmVzcG9uc2UuCiAgICAgQmluYXJ5U2VtYXBo
b3JlIG1fc2VtYXBob3JlOwotICAgIE1lc3NhZ2VRdWV1ZTxGdW5jdGlvbjx2b2lkKCk+PiogbV9t
ZXNzYWdlUXVldWU7CisgICAgUmVmUHRyPFdlYkNvcmU6OlN5bmNocm9ub3VzTG9hZGVyTWVzc2Fn
ZVF1ZXVlPiBtX21lc3NhZ2VRdWV1ZTsKICAgICBSZXRhaW5QdHI8TlNVUkxSZXF1ZXN0PiBtX3Jl
cXVlc3RSZXN1bHQ7CiAgICAgTG9jayBtX211dGV4OwogICAgIFJldGFpblB0cjxOU0NhY2hlZFVS
TFJlc3BvbnNlPiBtX2NhY2hlZFJlc3BvbnNlUmVzdWx0OwpAQCAtNTEsNyArNTMsNyBAQCBAaW50
ZXJmYWNlIFdlYkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0CiB9CiAKIC0gKHZvaWQpZGV0YWNo
SGFuZGxlOwotLSAoaWQpaW5pdFdpdGhIYW5kbGU6KFdlYkNvcmU6OlJlc291cmNlSGFuZGxlKilo
YW5kbGUgbWVzc2FnZVF1ZXVlOihNZXNzYWdlUXVldWU8RnVuY3Rpb248dm9pZCgpPj4qKW1lc3Nh
Z2VRdWV1ZTsKKy0gKGlkKWluaXRXaXRoSGFuZGxlOihXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZSop
aGFuZGxlIG1lc3NhZ2VRdWV1ZTooUmVmUHRyPFdlYkNvcmU6OlN5bmNocm9ub3VzTG9hZGVyTWVz
c2FnZVF1ZXVlPiYmKW1lc3NhZ2VRdWV1ZTsKIEBlbmQKIAogQGludGVyZmFjZSBXZWJDb3JlUmVz
b3VyY2VIYW5kbGVXaXRoQ3JlZGVudGlhbFN0b3JhZ2VBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUg
OiBXZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFz
T3BlcmF0aW9uUXVldWVEZWxlZ2F0ZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL21hYy9XZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVl
RGVsZWdhdGUubW0JKHJldmlzaW9uIDI1NDQzOSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvbWFjL1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0
ZS5tbQkod29ya2luZyBjb3B5KQpAQCAtNzksNyArNzksNyBAQCAtICh2b2lkKWNhbGxGdW5jdGlv
bk9uTWFpblRocmVhZDooRnVuY3RpCiAgICAgICAgIENGUnVuTG9vcFBlcmZvcm1CbG9jayhwYWly
LT5ydW5Mb29wKCksIHBhaXItPm1vZGUoKSwgYmxvY2suZ2V0KCkpOwogfQogCi0tIChpZClpbml0
V2l0aEhhbmRsZTooUmVzb3VyY2VIYW5kbGUqKWhhbmRsZSBtZXNzYWdlUXVldWU6KE1lc3NhZ2VR
dWV1ZTxGdW5jdGlvbjx2b2lkKCk+PiopbWVzc2FnZVF1ZXVlCistIChpZClpbml0V2l0aEhhbmRs
ZTooV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGUqKWhhbmRsZSBtZXNzYWdlUXVldWU6KFJlZlB0cjxX
ZWJDb3JlOjpTeW5jaHJvbm91c0xvYWRlck1lc3NhZ2VRdWV1ZT4mJiltZXNzYWdlUXVldWUKIHsK
ICAgICBzZWxmID0gW3NlbGYgaW5pdF07CiAgICAgaWYgKCFzZWxmKQpAQCAtOTAsNyArOTAsNyBA
QCAtIChpZClpbml0V2l0aEhhbmRsZTooUmVzb3VyY2VIYW5kbGUqKWhhCiAgICAgICAgIGlmIChh
dXRvKiBwYWlycyA9IG1faGFuZGxlLT5jb250ZXh0KCktPnNjaGVkdWxlZFJ1bkxvb3BQYWlycygp
KQogICAgICAgICAgICAgbV9zY2hlZHVsZWRQYWlycyA9ICpwYWlyczsKICAgICB9Ci0gICAgbV9t
ZXNzYWdlUXVldWUgPSBtZXNzYWdlUXVldWU7CisgICAgbV9tZXNzYWdlUXVldWUgPSBXVEZNb3Zl
KG1lc3NhZ2VRdWV1ZSk7CiAKICAgICByZXR1cm4gc2VsZjsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>387714</attachid>
            <date>2020-01-14 15:38:19 -0800</date>
            <delta_ts>2020-01-14 15:54:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206261-20200114153818.patch</filename>
            <type>text/plain</type>
            <size>18785</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1NDUzOCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBACisyMDIwLTAxLTE0ICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgS2VlcCBSZWZQ
dHIgaW5zdGVhZCBvZiByYXcgcG9pbnRlciB0byBtZXNzYWdlIHF1ZXVlIG9uIFdlYkNvcmVSZXNv
dXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2MjYxCisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS81NzU2MjU5Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUaGVyZSdzIG5vIHJlYXNvbiB0byBrZWVwIGEgcmF3IHBvaW50ZXIgd2hlbiB3ZSBjYW4g
a2VlcCBhIHNtYXJ0IHBvaW50ZXIuCisgICAgICAgIFRoaXMgd2lsbCBtYWtlIHRoaXMgbW9yZSBy
b2J1c3QgYWdhaW5zdCBzb21lb25lIGZvcmdldHRpbmcgdG8gY2xlYXIgdGhpcyBwb2ludGVyIHZh
bHVlLgorCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oOgorICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvU3luY2hyb25vdXNMb2FkZXJDbGllbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U3luY2hyb25vdXNMb2FkZXJDbGllbnQ6OlN5bmNocm9ub3VzTG9hZGVy
Q2xpZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlN5bmNocm9ub3VzTG9hZGVyQ2xpZW50OjpkaWRG
aW5pc2hMb2FkaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlN5bmNocm9ub3VzTG9hZGVyQ2xpZW50
OjpkaWRGYWlsKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1N5bmNocm9ub3VzTG9hZGVy
Q2xpZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpTeW5jaHJvbm91c0xvYWRlck1lc3NhZ2VRdWV1
ZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlN5bmNocm9ub3VzTG9hZGVyTWVzc2FnZVF1
ZXVlOjphcHBlbmQpOgorICAgICAgICAoV2ViQ29yZTo6U3luY2hyb25vdXNMb2FkZXJNZXNzYWdl
UXVldWU6OmtpbGwpOgorICAgICAgICAoV2ViQ29yZTo6U3luY2hyb25vdXNMb2FkZXJNZXNzYWdl
UXVldWU6OmtpbGxlZCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpTeW5jaHJvbm91c0xvYWRl
ck1lc3NhZ2VRdWV1ZTo6d2FpdEZvck1lc3NhZ2UpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdv
cmsvbWFjL1Jlc291cmNlSGFuZGxlTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VI
YW5kbGU6Om1ha2VEZWxlZ2F0ZSk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9tYWMvV2Vi
Q29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlLmg6CisgICAgICAgICog
cGxhdGZvcm0vbmV0d29yay9tYWMvV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1
ZURlbGVnYXRlLm1tOgorICAgICAgICAoLVtXZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlv
blF1ZXVlRGVsZWdhdGUgY2FsbEZ1bmN0aW9uT25NYWluVGhyZWFkOl0pOgorICAgICAgICAoLVtX
ZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUgaW5pdFdpdGhIYW5k
bGU6bWVzc2FnZVF1ZXVlOl0pOgorICAgICAgICAoLVtXZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09w
ZXJhdGlvblF1ZXVlRGVsZWdhdGUgY29ubmVjdGlvbjp3aWxsU2VuZFJlcXVlc3Q6cmVkaXJlY3RS
ZXNwb25zZTpdKToKKwogMjAyMC0wMS0xNCAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRA
YXBwbGUuY29tPgogCiAgICAgICAgIFtDb2NvYV0gR2x5cGggbG9va3VwIHNob3VsZCBiZSBsYW5n
dWFnZS1zZW5zaXRpdmUgKHNwZWNpZmljYWxseSBiZXR3ZWVuIFlpZGRpc2ggYW5kIEhlYnJldykK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFu
ZGxlLmgJKHJldmlzaW9uIDI1NDQzOSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvUmVzb3VyY2VIYW5kbGUuaAkod29ya2luZyBjb3B5KQpAQCAtODYsNiArODYsNyBAQCBjbGFz
cyBOZXR3b3JrTG9hZE1ldHJpY3M7CiBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiBjbGFzcyBSZXNv
dXJjZVJlc3BvbnNlOwogY2xhc3MgU2hhcmVkQnVmZmVyOworY2xhc3MgU3luY2hyb25vdXNMb2Fk
ZXJNZXNzYWdlUXVldWU7CiBjbGFzcyBUaW1lcjsKIAogI2lmIFVTRShDVVJMKQpAQCAtMTIzLDcg
KzEyNCw3IEBAIHB1YmxpYzoKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIFdFQkNPUkVfRVhQ
T1JUIE5TVVJMQ29ubmVjdGlvbiAqY29ubmVjdGlvbigpIGNvbnN0OwotICAgIGlkIG1ha2VEZWxl
Z2F0ZShib29sLCBXVEY6Ok1lc3NhZ2VRdWV1ZTxXVEY6OkZ1bmN0aW9uPHZvaWQoKT4+Kik7Cisg
ICAgaWQgbWFrZURlbGVnYXRlKGJvb2wsIFJlZlB0cjxTeW5jaHJvbm91c0xvYWRlck1lc3NhZ2VR
dWV1ZT4mJik7CiAgICAgaWQgZGVsZWdhdGUoKTsKICAgICB2b2lkIHJlbGVhc2VEZWxlZ2F0ZSgp
OwogI2VuZGlmCkBAIC0yMzIsNyArMjMzLDcgQEAgcHJpdmF0ZToKICNlbmRpZgogCiAjaWYgVVNF
KENGVVJMQ09OTkVDVElPTikKLSAgICB2b2lkIGNyZWF0ZUNGVVJMQ29ubmVjdGlvbihib29sIHNo
b3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlLCBib29sIHNob3VsZENvbnRlbnRTbmlmZiwgYm9vbCBz
aG91bGRDb250ZW50RW5jb2RpbmdTbmlmZiwgV1RGOjpNZXNzYWdlUXVldWU8V1RGOjpGdW5jdGlv
bjx2b2lkKCk+PiosIENGRGljdGlvbmFyeVJlZiBjbGllbnRQcm9wZXJ0aWVzKTsKKyAgICB2b2lk
IGNyZWF0ZUNGVVJMQ29ubmVjdGlvbihib29sIHNob3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlLCBi
b29sIHNob3VsZENvbnRlbnRTbmlmZiwgYm9vbCBzaG91bGRDb250ZW50RW5jb2RpbmdTbmlmZiwg
UmVmUHRyPFN5bmNocm9ub3VzTG9hZGVyTWVzc2FnZVF1ZXVlPiYmLCBDRkRpY3Rpb25hcnlSZWYg
Y2xpZW50UHJvcGVydGllcyk7CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKE1BQykKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5k
bGVJbnRlcm5hbC5oCShyZXZpc2lvbiAyNTQ0MzkpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlSW50ZXJuYWwuaAkod29ya2luZyBjb3B5KQpAQCAtNTgs
NiArNTgsOCBAQCB0eXBlZGVmIGNvbnN0IHN0cnVjdCBfX0NGVVJMU3RvcmFnZVNlc3NpCiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgU3luY2hyb25vdXNMb2FkZXJNZXNzYWdlUXVldWU7
CisKIERFQ0xBUkVfQUxMT0NBVE9SX1dJVEhfSEVBUF9JREVOVElGSUVSKFJlc291cmNlSGFuZGxl
SW50ZXJuYWwpOwogY2xhc3MgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCB7CiAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCk7CkBAIC0xMjcsNyArMTI5LDcgQEAg
cHVibGljOgogICAgIHVuc2lnbmVkIG1fYXV0aEZhaWx1cmVDb3VudCB7IDAgfTsKICAgICBib29s
IG1fYWRkZWRDYWNoZVZhbGlkYXRpb25IZWFkZXJzIHsgZmFsc2UgfTsKICAgICBSZWZQdHI8Q3Vy
bFJlcXVlc3Q+IG1fY3VybFJlcXVlc3Q7Ci0gICAgTWVzc2FnZVF1ZXVlPFdURjo6RnVuY3Rpb248
dm9pZCgpPj4qIG1fbWVzc2FnZVF1ZXVlIHsgfTsKKyAgICBSZWZQdHI8U3luY2hyb25vdXNMb2Fk
ZXJNZXNzYWdlUXVldWU+IG1fbWVzc2FnZVF1ZXVlOwogICAgIE1vbm90b25pY1RpbWUgbV9zdGFy
dFRpbWU7CiAjZW5kaWYKIApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9T
eW5jaHJvbm91c0xvYWRlckNsaWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9TeW5jaHJvbm91c0xvYWRlckNsaWVudC5jcHAJKHJldmlzaW9uIDI1
NDQzOSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvU3luY2hyb25vdXNMb2Fk
ZXJDbGllbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2ICszMyw5IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAorU3luY2hyb25vdXNMb2FkZXJDbGllbnQ6OlN5bmNocm9ub3VzTG9hZGVy
Q2xpZW50KCkKKyAgICA6IG1fbWVzc2FnZVF1ZXVlKFN5bmNocm9ub3VzTG9hZGVyTWVzc2FnZVF1
ZXVlOjpjcmVhdGUoKSkgeyB9CisKIFN5bmNocm9ub3VzTG9hZGVyQ2xpZW50Ojp+U3luY2hyb25v
dXNMb2FkZXJDbGllbnQoKSA9IGRlZmF1bHQ7CiAKIHZvaWQgU3luY2hyb25vdXNMb2FkZXJDbGll
bnQ6OndpbGxTZW5kUmVxdWVzdEFzeW5jKFJlc291cmNlSGFuZGxlKiBoYW5kbGUsIFJlc291cmNl
UmVxdWVzdCYmIHJlcXVlc3QsIFJlc291cmNlUmVzcG9uc2UmJiwgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZChSZXNvdXJjZVJlcXVlc3QmJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCkBAIC03MywxOCAr
NzYsMzAgQEAgdm9pZCBTeW5jaHJvbm91c0xvYWRlckNsaWVudDo6ZGlkUmVjZWl2ZQogICAgIG1f
ZGF0YS5hcHBlbmQoZGF0YSwgbGVuZ3RoKTsKIH0KIAotdm9pZCBTeW5jaHJvbm91c0xvYWRlckNs
aWVudDo6ZGlkRmluaXNoTG9hZGluZyhSZXNvdXJjZUhhbmRsZSopCit2b2lkIFN5bmNocm9ub3Vz
TG9hZGVyQ2xpZW50OjpkaWRGaW5pc2hMb2FkaW5nKFJlc291cmNlSGFuZGxlKiBoYW5kbGUpCiB7
Ci0gICAgbV9tZXNzYWdlUXVldWUua2lsbCgpOworICAgIG1fbWVzc2FnZVF1ZXVlLT5raWxsKCk7
CisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgaWYgKGhhbmRsZSkKKyAgICAgICAgaGFuZGxlLT5y
ZWxlYXNlRGVsZWdhdGUoKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGhhbmRsZSk7CisjZW5k
aWYKIH0KIAotdm9pZCBTeW5jaHJvbm91c0xvYWRlckNsaWVudDo6ZGlkRmFpbChSZXNvdXJjZUhh
bmRsZSosIGNvbnN0IFJlc291cmNlRXJyb3ImIGVycm9yKQordm9pZCBTeW5jaHJvbm91c0xvYWRl
ckNsaWVudDo6ZGlkRmFpbChSZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBjb25zdCBSZXNvdXJjZUVy
cm9yJiBlcnJvcikKIHsKICAgICBBU1NFUlQobV9lcnJvci5pc051bGwoKSk7CiAKICAgICBtX2Vy
cm9yID0gZXJyb3I7CiAgICAgCi0gICAgbV9tZXNzYWdlUXVldWUua2lsbCgpOworICAgIG1fbWVz
c2FnZVF1ZXVlLT5raWxsKCk7CisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgaWYgKGhhbmRsZSkK
KyAgICAgICAgaGFuZGxlLT5yZWxlYXNlRGVsZWdhdGUoKTsKKyNlbHNlCisgICAgVU5VU0VEX1BB
UkFNKGhhbmRsZSk7CisjZW5kaWYKIH0KIAogfQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9TeW5jaHJvbm91c0xvYWRlckNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvU3luY2hyb25vdXNMb2FkZXJDbGllbnQuaAkocmV2
aXNpb24gMjU0NDM5KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9TeW5jaHJv
bm91c0xvYWRlckNsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMCwxOCArMzAsMzQgQEAKICNp
bmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgiCiAjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CiAj
aW5jbHVkZSA8d3RmL01lc3NhZ2VRdWV1ZS5oPgorI2luY2x1ZGUgPHd0Zi9UaHJlYWRTYWZlUmVm
Q291bnRlZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIFN5bmNocm9ub3VzTG9h
ZGVyTWVzc2FnZVF1ZXVlIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFN5bmNocm9ub3Vz
TG9hZGVyTWVzc2FnZVF1ZXVlPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxTeW5jaHJvbm91
c0xvYWRlck1lc3NhZ2VRdWV1ZT4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBTeW5j
aHJvbm91c0xvYWRlck1lc3NhZ2VRdWV1ZSk7IH0KKworICAgIHZvaWQgYXBwZW5kKHN0ZDo6dW5p
cXVlX3B0cjxGdW5jdGlvbjx2b2lkKCk+PiYmIHRhc2spIHsgbV9xdWV1ZS5hcHBlbmQoV1RGTW92
ZSh0YXNrKSk7IH0KKyAgICB2b2lkIGtpbGwoKSB7IG1fcXVldWUua2lsbCgpOyB9CisgICAgYm9v
bCBraWxsZWQoKSBjb25zdCB7IHJldHVybiBtX3F1ZXVlLmtpbGxlZCgpOyB9CisgICAgc3RkOjp1
bmlxdWVfcHRyPEZ1bmN0aW9uPHZvaWQoKT4+IHdhaXRGb3JNZXNzYWdlKCkgeyByZXR1cm4gbV9x
dWV1ZS53YWl0Rm9yTWVzc2FnZSgpOyB9CisKK3ByaXZhdGU6CisgICAgU3luY2hyb25vdXNMb2Fk
ZXJNZXNzYWdlUXVldWUoKSA9IGRlZmF1bHQ7CisgICAgTWVzc2FnZVF1ZXVlPEZ1bmN0aW9uPHZv
aWQoKT4+IG1fcXVldWU7Cit9OworCiBjbGFzcyBTeW5jaHJvbm91c0xvYWRlckNsaWVudCBmaW5h
bCA6IHB1YmxpYyBSZXNvdXJjZUhhbmRsZUNsaWVudCB7CiBwdWJsaWM6CisgICAgU3luY2hyb25v
dXNMb2FkZXJDbGllbnQoKTsKICAgICB2aXJ0dWFsIH5TeW5jaHJvbm91c0xvYWRlckNsaWVudCgp
OwogCiAgICAgdm9pZCBzZXRBbGxvd1N0b3JlZENyZWRlbnRpYWxzKGJvb2wgYWxsb3cpIHsgbV9h
bGxvd1N0b3JlZENyZWRlbnRpYWxzID0gYWxsb3c7IH0KICAgICBjb25zdCBSZXNvdXJjZVJlc3Bv
bnNlJiByZXNwb25zZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzcG9uc2U7IH0KICAgICBWZWN0b3I8
Y2hhcj4mIG11dGFibGVEYXRhKCkgeyByZXR1cm4gbV9kYXRhOyB9CiAgICAgY29uc3QgUmVzb3Vy
Y2VFcnJvciYgZXJyb3IoKSBjb25zdCB7IHJldHVybiBtX2Vycm9yOyB9Ci0gICAgTWVzc2FnZVF1
ZXVlPEZ1bmN0aW9uPHZvaWQoKT4+JiBtZXNzYWdlUXVldWUoKSB7IHJldHVybiBtX21lc3NhZ2VR
dWV1ZTsgfQorICAgIFN5bmNocm9ub3VzTG9hZGVyTWVzc2FnZVF1ZXVlJiBtZXNzYWdlUXVldWUo
KSB7IHJldHVybiBtX21lc3NhZ2VRdWV1ZS5nZXQoKTsgfQogCiAgICAgV0VCQ09SRV9FWFBPUlQg
c3RhdGljIFJlc291cmNlRXJyb3IgcGxhdGZvcm1CYWRSZXNwb25zZUVycm9yKCk7CiAKQEAgLTYx
LDYgKzc3LDYgQEAgcHJpdmF0ZToKICAgICBSZXNvdXJjZVJlc3BvbnNlIG1fcmVzcG9uc2U7CiAg
ICAgVmVjdG9yPGNoYXI+IG1fZGF0YTsKICAgICBSZXNvdXJjZUVycm9yIG1fZXJyb3I7Ci0gICAg
TWVzc2FnZVF1ZXVlPEZ1bmN0aW9uPHZvaWQoKT4+IG1fbWVzc2FnZVF1ZXVlOworICAgIFJlZjxT
eW5jaHJvbm91c0xvYWRlck1lc3NhZ2VRdWV1ZT4gbV9tZXNzYWdlUXVldWU7CiB9OwogfQpJbmRl
eDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZUhhbmRsZUNGTmV0
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jl
c291cmNlSGFuZGxlQ0ZOZXQuY3BwCShyZXZpc2lvbiAyNTQ0MzkpCisrKyBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlSGFuZGxlQ0ZOZXQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xMzEsNyArMTMxLDcgQEAgc3RhdGljIHZvaWQgc2V0Q2xpZW50Q2VydGlmaWNhdGVJ
blNTTFBybwogfQogI2VuZGlmCiAKLXZvaWQgUmVzb3VyY2VIYW5kbGU6OmNyZWF0ZUNGVVJMQ29u
bmVjdGlvbihib29sIHNob3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlLCBib29sIHNob3VsZENvbnRl
bnRTbmlmZiwgYm9vbCBzaG91bGRDb250ZW50RW5jb2RpbmdTbmlmZiwgTWVzc2FnZVF1ZXVlPEZ1
bmN0aW9uPHZvaWQoKT4+KiBtZXNzYWdlUXVldWUsIENGRGljdGlvbmFyeVJlZiBjbGllbnRQcm9w
ZXJ0aWVzKQordm9pZCBSZXNvdXJjZUhhbmRsZTo6Y3JlYXRlQ0ZVUkxDb25uZWN0aW9uKGJvb2wg
c2hvdWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2UsIGJvb2wgc2hvdWxkQ29udGVudFNuaWZmLCBib29s
IHNob3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmLCBSZWZQdHI8U3luY2hyb25vdXNMb2FkZXJNZXNz
YWdlUXVldWU+JiYgbWVzc2FnZVF1ZXVlLCBDRkRpY3Rpb25hcnlSZWYgY2xpZW50UHJvcGVydGll
cykKIHsKICAgICBpZiAoKCFkLT5tX3VzZXIuaXNFbXB0eSgpIHx8ICFkLT5tX3Bhc3MuaXNFbXB0
eSgpKSAmJiAhZmlyc3RSZXF1ZXN0KCkudXJsKCkucHJvdG9jb2xJc0luSFRUUEZhbWlseSgpKSB7
CiAgICAgICAgIC8vIENyZWRlbnRpYWxzIGZvciBmdHAgY2FuIG9ubHkgYmUgcGFzc2VkIGluIFVS
TCwgdGhlIGRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSBkZWxlZ2F0ZSBjYWxsIHdv
bid0IGJlIG1hZGUuCkBAIC0yMzksNyArMjM5LDcgQEAgdm9pZCBSZXNvdXJjZUhhbmRsZTo6Y3Jl
YXRlQ0ZVUkxDb25uZWN0aQogICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKHByb3BlcnRpZXNEaWN0
aW9uYXJ5LmdldCgpLCBrQ0ZVUkxDb25uZWN0aW9uU29ja2V0U3RyZWFtUHJvcGVydGllcywgc3Ry
ZWFtUHJvcGVydGllcyk7CiAgICAgQ0ZSZWxlYXNlKHN0cmVhbVByb3BlcnRpZXMpOwogCi0gICAg
ZC0+bV9jb25uZWN0aW9uRGVsZWdhdGUgPSBhZG9wdFJlZihuZXcgUmVzb3VyY2VIYW5kbGVDRlVS
TENvbm5lY3Rpb25EZWxlZ2F0ZVdpdGhPcGVyYXRpb25RdWV1ZSh0aGlzLCBtZXNzYWdlUXVldWUp
KTsKKyAgICBkLT5tX2Nvbm5lY3Rpb25EZWxlZ2F0ZSA9IGFkb3B0UmVmKG5ldyBSZXNvdXJjZUhh
bmRsZUNGVVJMQ29ubmVjdGlvbkRlbGVnYXRlV2l0aE9wZXJhdGlvblF1ZXVlKHRoaXMsIFdURk1v
dmUobWVzc2FnZVF1ZXVlKSkpOwogICAgIGQtPm1fY29ubmVjdGlvbkRlbGVnYXRlLT5zZXR1cFJl
cXVlc3QocmVxdWVzdC5nZXQoKSk7CiAKICAgICBDRlVSTENvbm5lY3Rpb25DbGllbnRfVjYgY2xp
ZW50ID0gZC0+bV9jb25uZWN0aW9uRGVsZWdhdGUtPm1ha2VDb25uZWN0aW9uQ2xpZW50KCk7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlSGFuZGxlQ0ZV
UkxDb25uZWN0aW9uRGVsZWdhdGVXaXRoT3BlcmF0aW9uUXVldWUuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VIYW5kbGVDRlVSTENv
bm5lY3Rpb25EZWxlZ2F0ZVdpdGhPcGVyYXRpb25RdWV1ZS5jcHAJKHJldmlzaW9uIDI1NDQzOSkK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VIYW5kbGVDRlVS
TENvbm5lY3Rpb25EZWxlZ2F0ZVdpdGhPcGVyYXRpb25RdWV1ZS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTQ4LDkgKzQ4LDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1SZXNvdXJjZUhhbmRs
ZUNGVVJMQ29ubmVjdGlvbkRlbGVnYXRlV2l0aE9wZXJhdGlvblF1ZXVlOjpSZXNvdXJjZUhhbmRs
ZUNGVVJMQ29ubmVjdGlvbkRlbGVnYXRlV2l0aE9wZXJhdGlvblF1ZXVlKFJlc291cmNlSGFuZGxl
KiBoYW5kbGUsIE1lc3NhZ2VRdWV1ZTxGdW5jdGlvbjx2b2lkKCk+PiogbWVzc2FnZVF1ZXVlKQor
UmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZVdpdGhPcGVyYXRpb25RdWV1ZTo6
UmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZVdpdGhPcGVyYXRpb25RdWV1ZShS
ZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBSZWZQdHI8U3luY2hyb25vdXNMb2FkZXJNZXNzYWdlUXVl
dWU+JiYgbWVzc2FnZVF1ZXVlKQogICAgIDogUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25E
ZWxlZ2F0ZShoYW5kbGUpCi0gICAgLCBtX21lc3NhZ2VRdWV1ZShtZXNzYWdlUXVldWUpCisgICAg
LCBtX21lc3NhZ2VRdWV1ZShXVEZNb3ZlKG1lc3NhZ2VRdWV1ZSkpCiB7CiB9CiAKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5l
Y3Rpb25EZWxlZ2F0ZVdpdGhPcGVyYXRpb25RdWV1ZS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25E
ZWxlZ2F0ZVdpdGhPcGVyYXRpb25RdWV1ZS5oCShyZXZpc2lvbiAyNTQ0MzkpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9u
RGVsZWdhdGVXaXRoT3BlcmF0aW9uUXVldWUuaAkod29ya2luZyBjb3B5KQpAQCAtMzgsNyArMzgs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFJlc291cmNlSGFuZGxlQ0ZVUkxDb25u
ZWN0aW9uRGVsZWdhdGVXaXRoT3BlcmF0aW9uUXVldWUgZmluYWwgOiBwdWJsaWMgUmVzb3VyY2VI
YW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZSB7CiBwdWJsaWM6Ci0gICAgUmVzb3VyY2VIYW5k
bGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZVdpdGhPcGVyYXRpb25RdWV1ZShSZXNvdXJjZUhhbmRs
ZSosIE1lc3NhZ2VRdWV1ZTxGdW5jdGlvbjx2b2lkKCk+PiopOworICAgIFJlc291cmNlSGFuZGxl
Q0ZVUkxDb25uZWN0aW9uRGVsZWdhdGVXaXRoT3BlcmF0aW9uUXVldWUoUmVzb3VyY2VIYW5kbGUq
LCBSZWZQdHI8U3luY2hyb25vdXNMb2FkZXJNZXNzYWdlUXVldWU+JiYpOwogICAgIHZpcnR1YWwg
flJlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVsZWdhdGVXaXRoT3BlcmF0aW9uUXVldWUo
KTsKIAogcHJpdmF0ZToKQEAgLTYzLDcgKzYzLDcgQEAgcHJpdmF0ZToKICNlbmRpZgogCiAgICAg
QmluYXJ5U2VtYXBob3JlIG1fc2VtYXBob3JlOwotICAgIE1lc3NhZ2VRdWV1ZTxGdW5jdGlvbjx2
b2lkKCk+PiogbV9tZXNzYWdlUXVldWUgeyBudWxscHRyIH07CisgICAgUmVmUHRyPFN5bmNocm9u
b3VzTG9hZGVyTWVzc2FnZVF1ZXVlPiBtX21lc3NhZ2VRdWV1ZTsKIAogICAgIFJldGFpblB0cjxD
RlVSTFJlcXVlc3RSZWY+IG1fcmVxdWVzdFJlc3VsdDsKICAgICBSZXRhaW5QdHI8Q0ZDYWNoZWRV
UkxSZXNwb25zZVJlZj4gbV9jYWNoZWRSZXNwb25zZVJlc3VsdDsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsUmVxdWVzdC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxSZXF1ZXN0LmNwcAkocmV2
aXNpb24gMjU0NDM5KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1
cmxSZXF1ZXN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDEsOSArNDEsOSBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLUN1cmxSZXF1ZXN0OjpDdXJsUmVxdWVzdChjb25zdCBSZXNvdXJjZVJl
cXVlc3QmcmVxdWVzdCwgQ3VybFJlcXVlc3RDbGllbnQqIGNsaWVudCwgU2hvdWxkU3VzcGVuZCBz
aG91bGRTdXNwZW5kLCBFbmFibGVNdWx0aXBhcnQgZW5hYmxlTXVsdGlwYXJ0LCBDYXB0dXJlTmV0
d29ya0xvYWRNZXRyaWNzIGNhcHR1cmVFeHRyYU1ldHJpY3MsIE1lc3NhZ2VRdWV1ZTxGdW5jdGlv
bjx2b2lkKCk+PiogbWVzc2FnZVF1ZXVlKQorQ3VybFJlcXVlc3Q6OkN1cmxSZXF1ZXN0KGNvbnN0
IFJlc291cmNlUmVxdWVzdCZyZXF1ZXN0LCBDdXJsUmVxdWVzdENsaWVudCogY2xpZW50LCBTaG91
bGRTdXNwZW5kIHNob3VsZFN1c3BlbmQsIEVuYWJsZU11bHRpcGFydCBlbmFibGVNdWx0aXBhcnQs
IENhcHR1cmVOZXR3b3JrTG9hZE1ldHJpY3MgY2FwdHVyZUV4dHJhTWV0cmljcywgUmVmUHRyPFN5
bmNocm9ub3VzTG9hZGVyTWVzc2FnZVF1ZXVlPiYmIG1lc3NhZ2VRdWV1ZSkKICAgICA6IG1fY2xp
ZW50KGNsaWVudCkKLSAgICAsIG1fbWVzc2FnZVF1ZXVlKG1lc3NhZ2VRdWV1ZSkKKyAgICAsIG1f
bWVzc2FnZVF1ZXVlKFdURk1vdmUobWVzc2FnZVF1ZXVlKSkKICAgICAsIG1fcmVxdWVzdChyZXF1
ZXN0Lmlzb2xhdGVkQ29weSgpKQogICAgICwgbV9zaG91bGRTdXNwZW5kKHNob3VsZFN1c3BlbmQg
PT0gU2hvdWxkU3VzcGVuZDo6WWVzKQogICAgICwgbV9lbmFibGVNdWx0aXBhcnQoZW5hYmxlTXVs
dGlwYXJ0ID09IEVuYWJsZU11bHRpcGFydDo6WWVzKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9jdXJsL0N1cmxSZXF1ZXN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxSZXF1ZXN0LmgJKHJldmlzaW9uIDI1NDQz
OSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsUmVxdWVzdC5o
CSh3b3JraW5nIGNvcHkpCkBAIC02Myw5ICs2Myw5IEBAIHB1YmxpYzoKICAgICAgICAgRXh0ZW5k
ZWQKICAgICB9OwogCi0gICAgc3RhdGljIFJlZjxDdXJsUmVxdWVzdD4gY3JlYXRlKGNvbnN0IFJl
c291cmNlUmVxdWVzdCYgcmVxdWVzdCwgQ3VybFJlcXVlc3RDbGllbnQmIGNsaWVudCwgU2hvdWxk
U3VzcGVuZCBzaG91bGRTdXNwZW5kID0gU2hvdWxkU3VzcGVuZDo6Tm8sIEVuYWJsZU11bHRpcGFy
dCBlbmFibGVNdWx0aXBhcnQgPSBFbmFibGVNdWx0aXBhcnQ6Ok5vLCBDYXB0dXJlTmV0d29ya0xv
YWRNZXRyaWNzIGNhcHR1cmVNZXRyaWNzID0gQ2FwdHVyZU5ldHdvcmtMb2FkTWV0cmljczo6QmFz
aWMsIE1lc3NhZ2VRdWV1ZTxGdW5jdGlvbjx2b2lkKCk+PiogbWVzc2FnZVF1ZXVlID0gbnVsbHB0
cikKKyAgICBzdGF0aWMgUmVmPEN1cmxSZXF1ZXN0PiBjcmVhdGUoY29uc3QgUmVzb3VyY2VSZXF1
ZXN0JiByZXF1ZXN0LCBDdXJsUmVxdWVzdENsaWVudCYgY2xpZW50LCBTaG91bGRTdXNwZW5kIHNo
b3VsZFN1c3BlbmQgPSBTaG91bGRTdXNwZW5kOjpObywgRW5hYmxlTXVsdGlwYXJ0IGVuYWJsZU11
bHRpcGFydCA9IEVuYWJsZU11bHRpcGFydDo6Tm8sIENhcHR1cmVOZXR3b3JrTG9hZE1ldHJpY3Mg
Y2FwdHVyZU1ldHJpY3MgPSBDYXB0dXJlTmV0d29ya0xvYWRNZXRyaWNzOjpCYXNpYywgUmVmUHRy
PFN5bmNocm9ub3VzTG9hZGVyTWVzc2FnZVF1ZXVlPiYmIG1lc3NhZ2VRdWV1ZSA9IG51bGxwdHIp
CiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDdXJsUmVxdWVzdChyZXF1ZXN0
LCAmY2xpZW50LCBzaG91bGRTdXNwZW5kLCBlbmFibGVNdWx0aXBhcnQsIGNhcHR1cmVNZXRyaWNz
LCBtZXNzYWdlUXVldWUpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ3VybFJlcXVl
c3QocmVxdWVzdCwgJmNsaWVudCwgc2hvdWxkU3VzcGVuZCwgZW5hYmxlTXVsdGlwYXJ0LCBjYXB0
dXJlTWV0cmljcywgV1RGTW92ZShtZXNzYWdlUXVldWUpKSk7CiAgICAgfQogCiAgICAgdmlydHVh
bCB+Q3VybFJlcXVlc3QoKSA9IGRlZmF1bHQ7CkBAIC0xMDUsNyArMTA1LDcgQEAgcHJpdmF0ZToK
ICAgICAgICAgRmluaXNoVHJhbnNmZXIKICAgICB9OwogCi0gICAgQ3VybFJlcXVlc3QoY29uc3Qg
UmVzb3VyY2VSZXF1ZXN0JiwgQ3VybFJlcXVlc3RDbGllbnQqLCBTaG91bGRTdXNwZW5kLCBFbmFi
bGVNdWx0aXBhcnQsIENhcHR1cmVOZXR3b3JrTG9hZE1ldHJpY3MsIE1lc3NhZ2VRdWV1ZTxGdW5j
dGlvbjx2b2lkKCk+PiopOworICAgIEN1cmxSZXF1ZXN0KGNvbnN0IFJlc291cmNlUmVxdWVzdCYs
IEN1cmxSZXF1ZXN0Q2xpZW50KiwgU2hvdWxkU3VzcGVuZCwgRW5hYmxlTXVsdGlwYXJ0LCBDYXB0
dXJlTmV0d29ya0xvYWRNZXRyaWNzLCBSZWZQdHI8U3luY2hyb25vdXNMb2FkZXJNZXNzYWdlUXVl
dWU+JiYpOwogCiAgICAgdm9pZCByZXRhaW4oKSBvdmVycmlkZSB7IHJlZigpOyB9CiAgICAgdm9p
ZCByZWxlYXNlKCkgb3ZlcnJpZGUgeyBkZXJlZigpOyB9CkBAIC0xNjgsNyArMTY4LDcgQEAgcHJp
dmF0ZToKICAgICBMb2NrIG1fc3RhdHVzTXV0ZXg7CiAgICAgYm9vbCBtX2NhbmNlbGxlZCB7IGZh
bHNlIH07CiAgICAgYm9vbCBtX2NvbXBsZXRlZCB7IGZhbHNlIH07Ci0gICAgTWVzc2FnZVF1ZXVl
PEZ1bmN0aW9uPHZvaWQoKT4+KiBtX21lc3NhZ2VRdWV1ZSB7IH07CisgICAgUmVmUHRyPFN5bmNo
cm9ub3VzTG9hZGVyTWVzc2FnZVF1ZXVlPiBtX21lc3NhZ2VRdWV1ZTsKIAogICAgIFJlc291cmNl
UmVxdWVzdCBtX3JlcXVlc3Q7CiAgICAgU3RyaW5nIG1fdXNlcjsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlSGFuZGxlTWFjLm1tCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlSGFuZGxlTWFj
Lm1tCShyZXZpc2lvbiAyNTQ0MzkpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L21hYy9SZXNvdXJjZUhhbmRsZU1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtMzA5LDE1ICszMDks
MTUgQEAgdm9pZCBSZXNvdXJjZUhhbmRsZTo6dW5zY2hlZHVsZShTY2hlZHVsZQogICAgICAgICBb
ZC0+bV9jb25uZWN0aW9uLmdldCgpIHVuc2NoZWR1bGVGcm9tUnVuTG9vcDpydW5Mb29wIGZvck1v
ZGU6KF9fYnJpZGdlIE5TU3RyaW5nICopcGFpci5tb2RlKCldOwogfQogCi1pZCBSZXNvdXJjZUhh
bmRsZTo6bWFrZURlbGVnYXRlKGJvb2wgc2hvdWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2UsIE1lc3Nh
Z2VRdWV1ZTxGdW5jdGlvbjx2b2lkKCk+PiogcXVldWUpCitpZCBSZXNvdXJjZUhhbmRsZTo6bWFr
ZURlbGVnYXRlKGJvb2wgc2hvdWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2UsIFJlZlB0cjxTeW5jaHJv
bm91c0xvYWRlck1lc3NhZ2VRdWV1ZT4mJiBxdWV1ZSkKIHsKICAgICBBU1NFUlQoIWQtPm1fZGVs
ZWdhdGUpOwogCiAgICAgaWQgPE5TVVJMQ29ubmVjdGlvbkRlbGVnYXRlPiBkZWxlZ2F0ZTsKICAg
ICBpZiAoc2hvdWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2UpCi0gICAgICAgIGRlbGVnYXRlID0gW1tX
ZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUgYWxsb2NdIGluaXRX
aXRoSGFuZGxlOnRoaXMgbWVzc2FnZVF1ZXVlOnF1ZXVlXTsKKyAgICAgICAgZGVsZWdhdGUgPSBb
W1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZSBhbGxvY10gaW5p
dFdpdGhIYW5kbGU6dGhpcyBtZXNzYWdlUXVldWU6V1RGTW92ZShxdWV1ZSldOwogICAgIGVsc2UK
LSAgICAgICAgZGVsZWdhdGUgPSBbW1dlYkNvcmVSZXNvdXJjZUhhbmRsZVdpdGhDcmVkZW50aWFs
U3RvcmFnZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZSBhbGxvY10gaW5pdFdpdGhIYW5kbGU6dGhp
cyBtZXNzYWdlUXVldWU6cXVldWVdOworICAgICAgICBkZWxlZ2F0ZSA9IFtbV2ViQ29yZVJlc291
cmNlSGFuZGxlV2l0aENyZWRlbnRpYWxTdG9yYWdlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlIGFs
bG9jXSBpbml0V2l0aEhhbmRsZTp0aGlzIG1lc3NhZ2VRdWV1ZTpXVEZNb3ZlKHF1ZXVlKV07CiAK
ICAgICBkLT5tX2RlbGVnYXRlID0gZGVsZWdhdGU7CiAgICAgW2RlbGVnYXRlIHJlbGVhc2VdOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvV2ViQ29yZVJlc291cmNl
SGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRp
b25RdWV1ZURlbGVnYXRlLmgJKHJldmlzaW9uIDI1NDQzOSkKKysrIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvbWFjL1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVE
ZWxlZ2F0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOSwxMiArMjksMTQgQEAKICNpbmNsdWRlIDx3
dGYvRnVuY3Rpb24uaD4KICNpbmNsdWRlIDx3dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9NZXNz
YWdlUXVldWUuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFp
blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9TY2hlZHVsZVBhaXIuaD4KICNpbmNsdWRlIDx3dGYvdGhy
ZWFkcy9CaW5hcnlTZW1hcGhvcmUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgUmVz
b3VyY2VIYW5kbGU7CitjbGFzcyBTeW5jaHJvbm91c0xvYWRlck1lc3NhZ2VRdWV1ZTsKIH0KIAog
QGludGVyZmFjZSBXZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUg
OiBOU09iamVjdCA8TlNVUkxDb25uZWN0aW9uRGVsZWdhdGU+IHsKQEAgLTQyLDcgKzQ0LDcgQEAg
QGludGVyZmFjZSBXZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdAogCiAgICAgLy8gU3luY2hy
b25vdXMgZGVsZWdhdGVzIG9uIG9wZXJhdGlvbiBxdWV1ZSB3YWl0IHVudGlsIG1haW4gdGhyZWFk
IHNlbmRzIGFuIGFzeW5jaHJvbm91cyByZXNwb25zZS4KICAgICBCaW5hcnlTZW1hcGhvcmUgbV9z
ZW1hcGhvcmU7Ci0gICAgTWVzc2FnZVF1ZXVlPEZ1bmN0aW9uPHZvaWQoKT4+KiBtX21lc3NhZ2VR
dWV1ZTsKKyAgICBSZWZQdHI8V2ViQ29yZTo6U3luY2hyb25vdXNMb2FkZXJNZXNzYWdlUXVldWU+
IG1fbWVzc2FnZVF1ZXVlOwogICAgIFJldGFpblB0cjxOU1VSTFJlcXVlc3Q+IG1fcmVxdWVzdFJl
c3VsdDsKICAgICBMb2NrIG1fbXV0ZXg7CiAgICAgUmV0YWluUHRyPE5TQ2FjaGVkVVJMUmVzcG9u
c2U+IG1fY2FjaGVkUmVzcG9uc2VSZXN1bHQ7CkBAIC01MSw3ICs1Myw3IEBAIEBpbnRlcmZhY2Ug
V2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXQKIH0KIAogLSAodm9pZClkZXRhY2hIYW5kbGU7
Ci0tIChpZClpbml0V2l0aEhhbmRsZTooV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGUqKWhhbmRsZSBt
ZXNzYWdlUXVldWU6KE1lc3NhZ2VRdWV1ZTxGdW5jdGlvbjx2b2lkKCk+PiopbWVzc2FnZVF1ZXVl
OworLSAoaWQpaW5pdFdpdGhIYW5kbGU6KFdlYkNvcmU6OlJlc291cmNlSGFuZGxlKiloYW5kbGUg
bWVzc2FnZVF1ZXVlOihSZWZQdHI8V2ViQ29yZTo6U3luY2hyb25vdXNMb2FkZXJNZXNzYWdlUXVl
dWU+JiYpbWVzc2FnZVF1ZXVlOwogQGVuZAogCiBAaW50ZXJmYWNlIFdlYkNvcmVSZXNvdXJjZUhh
bmRsZVdpdGhDcmVkZW50aWFsU3RvcmFnZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZSA6IFdlYkNv
cmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZQpJbmRleDogU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRp
b25RdWV1ZURlbGVnYXRlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvbWFjL1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0
ZS5tbQkocmV2aXNpb24gMjU0NDM5KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9tYWMvV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlLm1tCSh3
b3JraW5nIGNvcHkpCkBAIC03OSw3ICs3OSw3IEBAIC0gKHZvaWQpY2FsbEZ1bmN0aW9uT25NYWlu
VGhyZWFkOihGdW5jdGkKICAgICAgICAgQ0ZSdW5Mb29wUGVyZm9ybUJsb2NrKHBhaXItPnJ1bkxv
b3AoKSwgcGFpci0+bW9kZSgpLCBibG9jay5nZXQoKSk7CiB9CiAKLS0gKGlkKWluaXRXaXRoSGFu
ZGxlOihSZXNvdXJjZUhhbmRsZSopaGFuZGxlIG1lc3NhZ2VRdWV1ZTooTWVzc2FnZVF1ZXVlPEZ1
bmN0aW9uPHZvaWQoKT4+KiltZXNzYWdlUXVldWUKKy0gKGlkKWluaXRXaXRoSGFuZGxlOihXZWJD
b3JlOjpSZXNvdXJjZUhhbmRsZSopaGFuZGxlIG1lc3NhZ2VRdWV1ZTooUmVmUHRyPFdlYkNvcmU6
OlN5bmNocm9ub3VzTG9hZGVyTWVzc2FnZVF1ZXVlPiYmKW1lc3NhZ2VRdWV1ZQogewogICAgIHNl
bGYgPSBbc2VsZiBpbml0XTsKICAgICBpZiAoIXNlbGYpCkBAIC05MCw3ICs5MCw3IEBAIC0gKGlk
KWluaXRXaXRoSGFuZGxlOihSZXNvdXJjZUhhbmRsZSopaGEKICAgICAgICAgaWYgKGF1dG8qIHBh
aXJzID0gbV9oYW5kbGUtPmNvbnRleHQoKS0+c2NoZWR1bGVkUnVuTG9vcFBhaXJzKCkpCiAgICAg
ICAgICAgICBtX3NjaGVkdWxlZFBhaXJzID0gKnBhaXJzOwogICAgIH0KLSAgICBtX21lc3NhZ2VR
dWV1ZSA9IG1lc3NhZ2VRdWV1ZTsKKyAgICBtX21lc3NhZ2VRdWV1ZSA9IFdURk1vdmUobWVzc2Fn
ZVF1ZXVlKTsKIAogICAgIHJldHVybiBzZWxmOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>387717</attachid>
            <date>2020-01-14 15:54:30 -0800</date>
            <delta_ts>2020-01-14 19:43:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206261-20200114155429.patch</filename>
            <type>text/plain</type>
            <size>19039</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1NDUzOCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBACisyMDIwLTAxLTE0ICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgS2VlcCBSZWZQ
dHIgaW5zdGVhZCBvZiByYXcgcG9pbnRlciB0byBtZXNzYWdlIHF1ZXVlIG9uIFdlYkNvcmVSZXNv
dXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2MjYxCisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS81NzU2MjU5Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUaGVyZSdzIG5vIHJlYXNvbiB0byBrZWVwIGEgcmF3IHBvaW50ZXIgd2hlbiB3ZSBjYW4g
a2VlcCBhIHNtYXJ0IHBvaW50ZXIuCisgICAgICAgIFRoaXMgd2lsbCBtYWtlIHRoaXMgbW9yZSBy
b2J1c3QgYWdhaW5zdCBzb21lb25lIGZvcmdldHRpbmcgdG8gY2xlYXIgdGhpcyBwb2ludGVyIHZh
bHVlLgorCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oOgorICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvU3luY2hyb25vdXNMb2FkZXJDbGllbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U3luY2hyb25vdXNMb2FkZXJDbGllbnQ6OlN5bmNocm9ub3VzTG9hZGVy
Q2xpZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlN5bmNocm9ub3VzTG9hZGVyQ2xpZW50OjpkaWRG
aW5pc2hMb2FkaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlN5bmNocm9ub3VzTG9hZGVyQ2xpZW50
OjpkaWRGYWlsKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1N5bmNocm9ub3VzTG9hZGVy
Q2xpZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpTeW5jaHJvbm91c0xvYWRlck1lc3NhZ2VRdWV1
ZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlN5bmNocm9ub3VzTG9hZGVyTWVzc2FnZVF1
ZXVlOjphcHBlbmQpOgorICAgICAgICAoV2ViQ29yZTo6U3luY2hyb25vdXNMb2FkZXJNZXNzYWdl
UXVldWU6OmtpbGwpOgorICAgICAgICAoV2ViQ29yZTo6U3luY2hyb25vdXNMb2FkZXJNZXNzYWdl
UXVldWU6OmtpbGxlZCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpTeW5jaHJvbm91c0xvYWRl
ck1lc3NhZ2VRdWV1ZTo6d2FpdEZvck1lc3NhZ2UpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdv
cmsvbWFjL1Jlc291cmNlSGFuZGxlTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VI
YW5kbGU6Om1ha2VEZWxlZ2F0ZSk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9tYWMvV2Vi
Q29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlLmg6CisgICAgICAgICog
cGxhdGZvcm0vbmV0d29yay9tYWMvV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1
ZURlbGVnYXRlLm1tOgorICAgICAgICAoLVtXZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlv
blF1ZXVlRGVsZWdhdGUgY2FsbEZ1bmN0aW9uT25NYWluVGhyZWFkOl0pOgorICAgICAgICAoLVtX
ZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUgaW5pdFdpdGhIYW5k
bGU6bWVzc2FnZVF1ZXVlOl0pOgorICAgICAgICAoLVtXZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09w
ZXJhdGlvblF1ZXVlRGVsZWdhdGUgY29ubmVjdGlvbjp3aWxsU2VuZFJlcXVlc3Q6cmVkaXJlY3RS
ZXNwb25zZTpdKToKKwogMjAyMC0wMS0xNCAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRA
YXBwbGUuY29tPgogCiAgICAgICAgIFtDb2NvYV0gR2x5cGggbG9va3VwIHNob3VsZCBiZSBsYW5n
dWFnZS1zZW5zaXRpdmUgKHNwZWNpZmljYWxseSBiZXR3ZWVuIFlpZGRpc2ggYW5kIEhlYnJldykK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFu
ZGxlLmgJKHJldmlzaW9uIDI1NDQzOSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvUmVzb3VyY2VIYW5kbGUuaAkod29ya2luZyBjb3B5KQpAQCAtODYsNiArODYsNyBAQCBjbGFz
cyBOZXR3b3JrTG9hZE1ldHJpY3M7CiBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiBjbGFzcyBSZXNv
dXJjZVJlc3BvbnNlOwogY2xhc3MgU2hhcmVkQnVmZmVyOworY2xhc3MgU3luY2hyb25vdXNMb2Fk
ZXJNZXNzYWdlUXVldWU7CiBjbGFzcyBUaW1lcjsKIAogI2lmIFVTRShDVVJMKQpAQCAtMTIzLDcg
KzEyNCw3IEBAIHB1YmxpYzoKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIFdFQkNPUkVfRVhQ
T1JUIE5TVVJMQ29ubmVjdGlvbiAqY29ubmVjdGlvbigpIGNvbnN0OwotICAgIGlkIG1ha2VEZWxl
Z2F0ZShib29sLCBXVEY6Ok1lc3NhZ2VRdWV1ZTxXVEY6OkZ1bmN0aW9uPHZvaWQoKT4+Kik7Cisg
ICAgaWQgbWFrZURlbGVnYXRlKGJvb2wsIFJlZlB0cjxTeW5jaHJvbm91c0xvYWRlck1lc3NhZ2VR
dWV1ZT4mJik7CiAgICAgaWQgZGVsZWdhdGUoKTsKICAgICB2b2lkIHJlbGVhc2VEZWxlZ2F0ZSgp
OwogI2VuZGlmCkBAIC0yMzIsNyArMjMzLDcgQEAgcHJpdmF0ZToKICNlbmRpZgogCiAjaWYgVVNF
KENGVVJMQ09OTkVDVElPTikKLSAgICB2b2lkIGNyZWF0ZUNGVVJMQ29ubmVjdGlvbihib29sIHNo
b3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlLCBib29sIHNob3VsZENvbnRlbnRTbmlmZiwgYm9vbCBz
aG91bGRDb250ZW50RW5jb2RpbmdTbmlmZiwgV1RGOjpNZXNzYWdlUXVldWU8V1RGOjpGdW5jdGlv
bjx2b2lkKCk+PiosIENGRGljdGlvbmFyeVJlZiBjbGllbnRQcm9wZXJ0aWVzKTsKKyAgICB2b2lk
IGNyZWF0ZUNGVVJMQ29ubmVjdGlvbihib29sIHNob3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlLCBi
b29sIHNob3VsZENvbnRlbnRTbmlmZiwgYm9vbCBzaG91bGRDb250ZW50RW5jb2RpbmdTbmlmZiwg
UmVmUHRyPFN5bmNocm9ub3VzTG9hZGVyTWVzc2FnZVF1ZXVlPiYmLCBDRkRpY3Rpb25hcnlSZWYg
Y2xpZW50UHJvcGVydGllcyk7CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKE1BQykKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5k
bGVJbnRlcm5hbC5oCShyZXZpc2lvbiAyNTQ0MzkpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlSW50ZXJuYWwuaAkod29ya2luZyBjb3B5KQpAQCAtNTgs
NiArNTgsOCBAQCB0eXBlZGVmIGNvbnN0IHN0cnVjdCBfX0NGVVJMU3RvcmFnZVNlc3NpCiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgU3luY2hyb25vdXNMb2FkZXJNZXNzYWdlUXVldWU7
CisKIERFQ0xBUkVfQUxMT0NBVE9SX1dJVEhfSEVBUF9JREVOVElGSUVSKFJlc291cmNlSGFuZGxl
SW50ZXJuYWwpOwogY2xhc3MgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCB7CiAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCk7CkBAIC0xMjcsNyArMTI5LDcgQEAg
cHVibGljOgogICAgIHVuc2lnbmVkIG1fYXV0aEZhaWx1cmVDb3VudCB7IDAgfTsKICAgICBib29s
IG1fYWRkZWRDYWNoZVZhbGlkYXRpb25IZWFkZXJzIHsgZmFsc2UgfTsKICAgICBSZWZQdHI8Q3Vy
bFJlcXVlc3Q+IG1fY3VybFJlcXVlc3Q7Ci0gICAgTWVzc2FnZVF1ZXVlPFdURjo6RnVuY3Rpb248
dm9pZCgpPj4qIG1fbWVzc2FnZVF1ZXVlIHsgfTsKKyAgICBSZWZQdHI8U3luY2hyb25vdXNMb2Fk
ZXJNZXNzYWdlUXVldWU+IG1fbWVzc2FnZVF1ZXVlOwogICAgIE1vbm90b25pY1RpbWUgbV9zdGFy
dFRpbWU7CiAjZW5kaWYKIApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9T
eW5jaHJvbm91c0xvYWRlckNsaWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9TeW5jaHJvbm91c0xvYWRlckNsaWVudC5jcHAJKHJldmlzaW9uIDI1
NDQzOSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvU3luY2hyb25vdXNMb2Fk
ZXJDbGllbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2ICszMyw5IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAorU3luY2hyb25vdXNMb2FkZXJDbGllbnQ6OlN5bmNocm9ub3VzTG9hZGVy
Q2xpZW50KCkKKyAgICA6IG1fbWVzc2FnZVF1ZXVlKFN5bmNocm9ub3VzTG9hZGVyTWVzc2FnZVF1
ZXVlOjpjcmVhdGUoKSkgeyB9CisKIFN5bmNocm9ub3VzTG9hZGVyQ2xpZW50Ojp+U3luY2hyb25v
dXNMb2FkZXJDbGllbnQoKSA9IGRlZmF1bHQ7CiAKIHZvaWQgU3luY2hyb25vdXNMb2FkZXJDbGll
bnQ6OndpbGxTZW5kUmVxdWVzdEFzeW5jKFJlc291cmNlSGFuZGxlKiBoYW5kbGUsIFJlc291cmNl
UmVxdWVzdCYmIHJlcXVlc3QsIFJlc291cmNlUmVzcG9uc2UmJiwgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZChSZXNvdXJjZVJlcXVlc3QmJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCkBAIC03MywxOCAr
NzYsMzAgQEAgdm9pZCBTeW5jaHJvbm91c0xvYWRlckNsaWVudDo6ZGlkUmVjZWl2ZQogICAgIG1f
ZGF0YS5hcHBlbmQoZGF0YSwgbGVuZ3RoKTsKIH0KIAotdm9pZCBTeW5jaHJvbm91c0xvYWRlckNs
aWVudDo6ZGlkRmluaXNoTG9hZGluZyhSZXNvdXJjZUhhbmRsZSopCit2b2lkIFN5bmNocm9ub3Vz
TG9hZGVyQ2xpZW50OjpkaWRGaW5pc2hMb2FkaW5nKFJlc291cmNlSGFuZGxlKiBoYW5kbGUpCiB7
Ci0gICAgbV9tZXNzYWdlUXVldWUua2lsbCgpOworICAgIG1fbWVzc2FnZVF1ZXVlLT5raWxsKCk7
CisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgaWYgKGhhbmRsZSkKKyAgICAgICAgaGFuZGxlLT5y
ZWxlYXNlRGVsZWdhdGUoKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGhhbmRsZSk7CisjZW5k
aWYKIH0KIAotdm9pZCBTeW5jaHJvbm91c0xvYWRlckNsaWVudDo6ZGlkRmFpbChSZXNvdXJjZUhh
bmRsZSosIGNvbnN0IFJlc291cmNlRXJyb3ImIGVycm9yKQordm9pZCBTeW5jaHJvbm91c0xvYWRl
ckNsaWVudDo6ZGlkRmFpbChSZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBjb25zdCBSZXNvdXJjZUVy
cm9yJiBlcnJvcikKIHsKICAgICBBU1NFUlQobV9lcnJvci5pc051bGwoKSk7CiAKICAgICBtX2Vy
cm9yID0gZXJyb3I7CiAgICAgCi0gICAgbV9tZXNzYWdlUXVldWUua2lsbCgpOworICAgIG1fbWVz
c2FnZVF1ZXVlLT5raWxsKCk7CisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgaWYgKGhhbmRsZSkK
KyAgICAgICAgaGFuZGxlLT5yZWxlYXNlRGVsZWdhdGUoKTsKKyNlbHNlCisgICAgVU5VU0VEX1BB
UkFNKGhhbmRsZSk7CisjZW5kaWYKIH0KIAogfQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9TeW5jaHJvbm91c0xvYWRlckNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvU3luY2hyb25vdXNMb2FkZXJDbGllbnQuaAkocmV2
aXNpb24gMjU0NDM5KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9TeW5jaHJv
bm91c0xvYWRlckNsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMCwxOCArMzAsMzQgQEAKICNp
bmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgiCiAjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CiAj
aW5jbHVkZSA8d3RmL01lc3NhZ2VRdWV1ZS5oPgorI2luY2x1ZGUgPHd0Zi9UaHJlYWRTYWZlUmVm
Q291bnRlZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIFN5bmNocm9ub3VzTG9h
ZGVyTWVzc2FnZVF1ZXVlIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFN5bmNocm9ub3Vz
TG9hZGVyTWVzc2FnZVF1ZXVlPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxTeW5jaHJvbm91
c0xvYWRlck1lc3NhZ2VRdWV1ZT4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBTeW5j
aHJvbm91c0xvYWRlck1lc3NhZ2VRdWV1ZSk7IH0KKworICAgIHZvaWQgYXBwZW5kKHN0ZDo6dW5p
cXVlX3B0cjxGdW5jdGlvbjx2b2lkKCk+PiYmIHRhc2spIHsgbV9xdWV1ZS5hcHBlbmQoV1RGTW92
ZSh0YXNrKSk7IH0KKyAgICB2b2lkIGtpbGwoKSB7IG1fcXVldWUua2lsbCgpOyB9CisgICAgYm9v
bCBraWxsZWQoKSBjb25zdCB7IHJldHVybiBtX3F1ZXVlLmtpbGxlZCgpOyB9CisgICAgc3RkOjp1
bmlxdWVfcHRyPEZ1bmN0aW9uPHZvaWQoKT4+IHdhaXRGb3JNZXNzYWdlKCkgeyByZXR1cm4gbV9x
dWV1ZS53YWl0Rm9yTWVzc2FnZSgpOyB9CisKK3ByaXZhdGU6CisgICAgU3luY2hyb25vdXNMb2Fk
ZXJNZXNzYWdlUXVldWUoKSA9IGRlZmF1bHQ7CisgICAgTWVzc2FnZVF1ZXVlPEZ1bmN0aW9uPHZv
aWQoKT4+IG1fcXVldWU7Cit9OworCiBjbGFzcyBTeW5jaHJvbm91c0xvYWRlckNsaWVudCBmaW5h
bCA6IHB1YmxpYyBSZXNvdXJjZUhhbmRsZUNsaWVudCB7CiBwdWJsaWM6CisgICAgU3luY2hyb25v
dXNMb2FkZXJDbGllbnQoKTsKICAgICB2aXJ0dWFsIH5TeW5jaHJvbm91c0xvYWRlckNsaWVudCgp
OwogCiAgICAgdm9pZCBzZXRBbGxvd1N0b3JlZENyZWRlbnRpYWxzKGJvb2wgYWxsb3cpIHsgbV9h
bGxvd1N0b3JlZENyZWRlbnRpYWxzID0gYWxsb3c7IH0KICAgICBjb25zdCBSZXNvdXJjZVJlc3Bv
bnNlJiByZXNwb25zZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzcG9uc2U7IH0KICAgICBWZWN0b3I8
Y2hhcj4mIG11dGFibGVEYXRhKCkgeyByZXR1cm4gbV9kYXRhOyB9CiAgICAgY29uc3QgUmVzb3Vy
Y2VFcnJvciYgZXJyb3IoKSBjb25zdCB7IHJldHVybiBtX2Vycm9yOyB9Ci0gICAgTWVzc2FnZVF1
ZXVlPEZ1bmN0aW9uPHZvaWQoKT4+JiBtZXNzYWdlUXVldWUoKSB7IHJldHVybiBtX21lc3NhZ2VR
dWV1ZTsgfQorICAgIFN5bmNocm9ub3VzTG9hZGVyTWVzc2FnZVF1ZXVlJiBtZXNzYWdlUXVldWUo
KSB7IHJldHVybiBtX21lc3NhZ2VRdWV1ZS5nZXQoKTsgfQogCiAgICAgV0VCQ09SRV9FWFBPUlQg
c3RhdGljIFJlc291cmNlRXJyb3IgcGxhdGZvcm1CYWRSZXNwb25zZUVycm9yKCk7CiAKQEAgLTYx
LDYgKzc3LDYgQEAgcHJpdmF0ZToKICAgICBSZXNvdXJjZVJlc3BvbnNlIG1fcmVzcG9uc2U7CiAg
ICAgVmVjdG9yPGNoYXI+IG1fZGF0YTsKICAgICBSZXNvdXJjZUVycm9yIG1fZXJyb3I7Ci0gICAg
TWVzc2FnZVF1ZXVlPEZ1bmN0aW9uPHZvaWQoKT4+IG1fbWVzc2FnZVF1ZXVlOworICAgIFJlZjxT
eW5jaHJvbm91c0xvYWRlck1lc3NhZ2VRdWV1ZT4gbV9tZXNzYWdlUXVldWU7CiB9OwogfQpJbmRl
eDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZUhhbmRsZUNGTmV0
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jl
c291cmNlSGFuZGxlQ0ZOZXQuY3BwCShyZXZpc2lvbiAyNTQ0MzkpCisrKyBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlSGFuZGxlQ0ZOZXQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xMzEsNyArMTMxLDcgQEAgc3RhdGljIHZvaWQgc2V0Q2xpZW50Q2VydGlmaWNhdGVJ
blNTTFBybwogfQogI2VuZGlmCiAKLXZvaWQgUmVzb3VyY2VIYW5kbGU6OmNyZWF0ZUNGVVJMQ29u
bmVjdGlvbihib29sIHNob3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlLCBib29sIHNob3VsZENvbnRl
bnRTbmlmZiwgYm9vbCBzaG91bGRDb250ZW50RW5jb2RpbmdTbmlmZiwgTWVzc2FnZVF1ZXVlPEZ1
bmN0aW9uPHZvaWQoKT4+KiBtZXNzYWdlUXVldWUsIENGRGljdGlvbmFyeVJlZiBjbGllbnRQcm9w
ZXJ0aWVzKQordm9pZCBSZXNvdXJjZUhhbmRsZTo6Y3JlYXRlQ0ZVUkxDb25uZWN0aW9uKGJvb2wg
c2hvdWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2UsIGJvb2wgc2hvdWxkQ29udGVudFNuaWZmLCBib29s
IHNob3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmLCBSZWZQdHI8U3luY2hyb25vdXNMb2FkZXJNZXNz
YWdlUXVldWU+JiYgbWVzc2FnZVF1ZXVlLCBDRkRpY3Rpb25hcnlSZWYgY2xpZW50UHJvcGVydGll
cykKIHsKICAgICBpZiAoKCFkLT5tX3VzZXIuaXNFbXB0eSgpIHx8ICFkLT5tX3Bhc3MuaXNFbXB0
eSgpKSAmJiAhZmlyc3RSZXF1ZXN0KCkudXJsKCkucHJvdG9jb2xJc0luSFRUUEZhbWlseSgpKSB7
CiAgICAgICAgIC8vIENyZWRlbnRpYWxzIGZvciBmdHAgY2FuIG9ubHkgYmUgcGFzc2VkIGluIFVS
TCwgdGhlIGRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSBkZWxlZ2F0ZSBjYWxsIHdv
bid0IGJlIG1hZGUuCkBAIC0yMzksNyArMjM5LDcgQEAgdm9pZCBSZXNvdXJjZUhhbmRsZTo6Y3Jl
YXRlQ0ZVUkxDb25uZWN0aQogICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKHByb3BlcnRpZXNEaWN0
aW9uYXJ5LmdldCgpLCBrQ0ZVUkxDb25uZWN0aW9uU29ja2V0U3RyZWFtUHJvcGVydGllcywgc3Ry
ZWFtUHJvcGVydGllcyk7CiAgICAgQ0ZSZWxlYXNlKHN0cmVhbVByb3BlcnRpZXMpOwogCi0gICAg
ZC0+bV9jb25uZWN0aW9uRGVsZWdhdGUgPSBhZG9wdFJlZihuZXcgUmVzb3VyY2VIYW5kbGVDRlVS
TENvbm5lY3Rpb25EZWxlZ2F0ZVdpdGhPcGVyYXRpb25RdWV1ZSh0aGlzLCBtZXNzYWdlUXVldWUp
KTsKKyAgICBkLT5tX2Nvbm5lY3Rpb25EZWxlZ2F0ZSA9IGFkb3B0UmVmKG5ldyBSZXNvdXJjZUhh
bmRsZUNGVVJMQ29ubmVjdGlvbkRlbGVnYXRlV2l0aE9wZXJhdGlvblF1ZXVlKHRoaXMsIFdURk1v
dmUobWVzc2FnZVF1ZXVlKSkpOwogICAgIGQtPm1fY29ubmVjdGlvbkRlbGVnYXRlLT5zZXR1cFJl
cXVlc3QocmVxdWVzdC5nZXQoKSk7CiAKICAgICBDRlVSTENvbm5lY3Rpb25DbGllbnRfVjYgY2xp
ZW50ID0gZC0+bV9jb25uZWN0aW9uRGVsZWdhdGUtPm1ha2VDb25uZWN0aW9uQ2xpZW50KCk7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlSGFuZGxlQ0ZV
UkxDb25uZWN0aW9uRGVsZWdhdGVXaXRoT3BlcmF0aW9uUXVldWUuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VIYW5kbGVDRlVSTENv
bm5lY3Rpb25EZWxlZ2F0ZVdpdGhPcGVyYXRpb25RdWV1ZS5jcHAJKHJldmlzaW9uIDI1NDQzOSkK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VIYW5kbGVDRlVS
TENvbm5lY3Rpb25EZWxlZ2F0ZVdpdGhPcGVyYXRpb25RdWV1ZS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTM2LDYgKzM2LDcgQEAKICNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZUNsaWVudC5oIgogI2lu
Y2x1ZGUgIlJlc291cmNlUmVzcG9uc2UuaCIKICNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKKyNp
bmNsdWRlICJTeW5jaHJvbm91c0xvYWRlckNsaWVudC5oIgogI2lmICFQTEFURk9STShXSU4pCiAj
aW5jbHVkZSAiV2ViQ29yZVVSTFJlc3BvbnNlLmgiCiAjZW5kaWYKQEAgLTQ4LDkgKzQ5LDkgQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1SZXNvdXJjZUhhbmRsZUNGVVJMQ29ubmVjdGlvbkRl
bGVnYXRlV2l0aE9wZXJhdGlvblF1ZXVlOjpSZXNvdXJjZUhhbmRsZUNGVVJMQ29ubmVjdGlvbkRl
bGVnYXRlV2l0aE9wZXJhdGlvblF1ZXVlKFJlc291cmNlSGFuZGxlKiBoYW5kbGUsIE1lc3NhZ2VR
dWV1ZTxGdW5jdGlvbjx2b2lkKCk+PiogbWVzc2FnZVF1ZXVlKQorUmVzb3VyY2VIYW5kbGVDRlVS
TENvbm5lY3Rpb25EZWxlZ2F0ZVdpdGhPcGVyYXRpb25RdWV1ZTo6UmVzb3VyY2VIYW5kbGVDRlVS
TENvbm5lY3Rpb25EZWxlZ2F0ZVdpdGhPcGVyYXRpb25RdWV1ZShSZXNvdXJjZUhhbmRsZSogaGFu
ZGxlLCBSZWZQdHI8U3luY2hyb25vdXNMb2FkZXJNZXNzYWdlUXVldWU+JiYgbWVzc2FnZVF1ZXVl
KQogICAgIDogUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZShoYW5kbGUpCi0g
ICAgLCBtX21lc3NhZ2VRdWV1ZShtZXNzYWdlUXVldWUpCisgICAgLCBtX21lc3NhZ2VRdWV1ZShX
VEZNb3ZlKG1lc3NhZ2VRdWV1ZSkpCiB7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvY2YvUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZVdpdGhP
cGVyYXRpb25RdWV1ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvY2YvUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZVdpdGhPcGVyYXRp
b25RdWV1ZS5oCShyZXZpc2lvbiAyNTQ0MzkpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL2NmL1Jlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVsZWdhdGVXaXRoT3BlcmF0
aW9uUXVldWUuaAkod29ya2luZyBjb3B5KQpAQCAtMzYsOSArMzYsMTEgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCitjbGFzcyBTeW5jaHJvbm91c0xvYWRlck1lc3NhZ2VRdWV1ZTsKKwogY2xh
c3MgUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZVdpdGhPcGVyYXRpb25RdWV1
ZSBmaW5hbCA6IHB1YmxpYyBSZXNvdXJjZUhhbmRsZUNGVVJMQ29ubmVjdGlvbkRlbGVnYXRlIHsK
IHB1YmxpYzoKLSAgICBSZXNvdXJjZUhhbmRsZUNGVVJMQ29ubmVjdGlvbkRlbGVnYXRlV2l0aE9w
ZXJhdGlvblF1ZXVlKFJlc291cmNlSGFuZGxlKiwgTWVzc2FnZVF1ZXVlPEZ1bmN0aW9uPHZvaWQo
KT4+Kik7CisgICAgUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZVdpdGhPcGVy
YXRpb25RdWV1ZShSZXNvdXJjZUhhbmRsZSosIFJlZlB0cjxTeW5jaHJvbm91c0xvYWRlck1lc3Nh
Z2VRdWV1ZT4mJik7CiAgICAgdmlydHVhbCB+UmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25E
ZWxlZ2F0ZVdpdGhPcGVyYXRpb25RdWV1ZSgpOwogCiBwcml2YXRlOgpAQCAtNjMsNyArNjUsNyBA
QCBwcml2YXRlOgogI2VuZGlmCiAKICAgICBCaW5hcnlTZW1hcGhvcmUgbV9zZW1hcGhvcmU7Ci0g
ICAgTWVzc2FnZVF1ZXVlPEZ1bmN0aW9uPHZvaWQoKT4+KiBtX21lc3NhZ2VRdWV1ZSB7IG51bGxw
dHIgfTsKKyAgICBSZWZQdHI8U3luY2hyb25vdXNMb2FkZXJNZXNzYWdlUXVldWU+IG1fbWVzc2Fn
ZVF1ZXVlOwogCiAgICAgUmV0YWluUHRyPENGVVJMUmVxdWVzdFJlZj4gbV9yZXF1ZXN0UmVzdWx0
OwogICAgIFJldGFpblB0cjxDRkNhY2hlZFVSTFJlc3BvbnNlUmVmPiBtX2NhY2hlZFJlc3BvbnNl
UmVzdWx0OwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxS
ZXF1ZXN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L2N1cmwvQ3VybFJlcXVlc3QuY3BwCShyZXZpc2lvbiAyNTQ0MzkpCisrKyBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybFJlcXVlc3QuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC00MSw5ICs0MSw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotQ3VybFJlcXVlc3Q6OkN1
cmxSZXF1ZXN0KGNvbnN0IFJlc291cmNlUmVxdWVzdCZyZXF1ZXN0LCBDdXJsUmVxdWVzdENsaWVu
dCogY2xpZW50LCBTaG91bGRTdXNwZW5kIHNob3VsZFN1c3BlbmQsIEVuYWJsZU11bHRpcGFydCBl
bmFibGVNdWx0aXBhcnQsIENhcHR1cmVOZXR3b3JrTG9hZE1ldHJpY3MgY2FwdHVyZUV4dHJhTWV0
cmljcywgTWVzc2FnZVF1ZXVlPEZ1bmN0aW9uPHZvaWQoKT4+KiBtZXNzYWdlUXVldWUpCitDdXJs
UmVxdWVzdDo6Q3VybFJlcXVlc3QoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JnJlcXVlc3QsIEN1cmxS
ZXF1ZXN0Q2xpZW50KiBjbGllbnQsIFNob3VsZFN1c3BlbmQgc2hvdWxkU3VzcGVuZCwgRW5hYmxl
TXVsdGlwYXJ0IGVuYWJsZU11bHRpcGFydCwgQ2FwdHVyZU5ldHdvcmtMb2FkTWV0cmljcyBjYXB0
dXJlRXh0cmFNZXRyaWNzLCBSZWZQdHI8U3luY2hyb25vdXNMb2FkZXJNZXNzYWdlUXVldWU+JiYg
bWVzc2FnZVF1ZXVlKQogICAgIDogbV9jbGllbnQoY2xpZW50KQotICAgICwgbV9tZXNzYWdlUXVl
dWUobWVzc2FnZVF1ZXVlKQorICAgICwgbV9tZXNzYWdlUXVldWUoV1RGTW92ZShtZXNzYWdlUXVl
dWUpKQogICAgICwgbV9yZXF1ZXN0KHJlcXVlc3QuaXNvbGF0ZWRDb3B5KCkpCiAgICAgLCBtX3No
b3VsZFN1c3BlbmQoc2hvdWxkU3VzcGVuZCA9PSBTaG91bGRTdXNwZW5kOjpZZXMpCiAgICAgLCBt
X2VuYWJsZU11bHRpcGFydChlbmFibGVNdWx0aXBhcnQgPT0gRW5hYmxlTXVsdGlwYXJ0OjpZZXMp
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybFJlcXVlc3Qu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3Vy
bFJlcXVlc3QuaAkocmV2aXNpb24gMjU0NDM5KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9jdXJsL0N1cmxSZXF1ZXN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTYzLDkgKzYzLDkg
QEAgcHVibGljOgogICAgICAgICBFeHRlbmRlZAogICAgIH07CiAKLSAgICBzdGF0aWMgUmVmPEN1
cmxSZXF1ZXN0PiBjcmVhdGUoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBDdXJsUmVx
dWVzdENsaWVudCYgY2xpZW50LCBTaG91bGRTdXNwZW5kIHNob3VsZFN1c3BlbmQgPSBTaG91bGRT
dXNwZW5kOjpObywgRW5hYmxlTXVsdGlwYXJ0IGVuYWJsZU11bHRpcGFydCA9IEVuYWJsZU11bHRp
cGFydDo6Tm8sIENhcHR1cmVOZXR3b3JrTG9hZE1ldHJpY3MgY2FwdHVyZU1ldHJpY3MgPSBDYXB0
dXJlTmV0d29ya0xvYWRNZXRyaWNzOjpCYXNpYywgTWVzc2FnZVF1ZXVlPEZ1bmN0aW9uPHZvaWQo
KT4+KiBtZXNzYWdlUXVldWUgPSBudWxscHRyKQorICAgIHN0YXRpYyBSZWY8Q3VybFJlcXVlc3Q+
IGNyZWF0ZShjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIEN1cmxSZXF1ZXN0Q2xpZW50
JiBjbGllbnQsIFNob3VsZFN1c3BlbmQgc2hvdWxkU3VzcGVuZCA9IFNob3VsZFN1c3BlbmQ6Ok5v
LCBFbmFibGVNdWx0aXBhcnQgZW5hYmxlTXVsdGlwYXJ0ID0gRW5hYmxlTXVsdGlwYXJ0OjpObywg
Q2FwdHVyZU5ldHdvcmtMb2FkTWV0cmljcyBjYXB0dXJlTWV0cmljcyA9IENhcHR1cmVOZXR3b3Jr
TG9hZE1ldHJpY3M6OkJhc2ljLCBSZWZQdHI8U3luY2hyb25vdXNMb2FkZXJNZXNzYWdlUXVldWU+
JiYgbWVzc2FnZVF1ZXVlID0gbnVsbHB0cikKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJl
ZigqbmV3IEN1cmxSZXF1ZXN0KHJlcXVlc3QsICZjbGllbnQsIHNob3VsZFN1c3BlbmQsIGVuYWJs
ZU11bHRpcGFydCwgY2FwdHVyZU1ldHJpY3MsIG1lc3NhZ2VRdWV1ZSkpOworICAgICAgICByZXR1
cm4gYWRvcHRSZWYoKm5ldyBDdXJsUmVxdWVzdChyZXF1ZXN0LCAmY2xpZW50LCBzaG91bGRTdXNw
ZW5kLCBlbmFibGVNdWx0aXBhcnQsIGNhcHR1cmVNZXRyaWNzLCBXVEZNb3ZlKG1lc3NhZ2VRdWV1
ZSkpKTsKICAgICB9CiAKICAgICB2aXJ0dWFsIH5DdXJsUmVxdWVzdCgpID0gZGVmYXVsdDsKQEAg
LTEwNSw3ICsxMDUsNyBAQCBwcml2YXRlOgogICAgICAgICBGaW5pc2hUcmFuc2ZlcgogICAgIH07
CiAKLSAgICBDdXJsUmVxdWVzdChjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBDdXJsUmVxdWVzdENs
aWVudCosIFNob3VsZFN1c3BlbmQsIEVuYWJsZU11bHRpcGFydCwgQ2FwdHVyZU5ldHdvcmtMb2Fk
TWV0cmljcywgTWVzc2FnZVF1ZXVlPEZ1bmN0aW9uPHZvaWQoKT4+Kik7CisgICAgQ3VybFJlcXVl
c3QoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgQ3VybFJlcXVlc3RDbGllbnQqLCBTaG91bGRTdXNw
ZW5kLCBFbmFibGVNdWx0aXBhcnQsIENhcHR1cmVOZXR3b3JrTG9hZE1ldHJpY3MsIFJlZlB0cjxT
eW5jaHJvbm91c0xvYWRlck1lc3NhZ2VRdWV1ZT4mJik7CiAKICAgICB2b2lkIHJldGFpbigpIG92
ZXJyaWRlIHsgcmVmKCk7IH0KICAgICB2b2lkIHJlbGVhc2UoKSBvdmVycmlkZSB7IGRlcmVmKCk7
IH0KQEAgLTE2OCw3ICsxNjgsNyBAQCBwcml2YXRlOgogICAgIExvY2sgbV9zdGF0dXNNdXRleDsK
ICAgICBib29sIG1fY2FuY2VsbGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1fY29tcGxldGVkIHsg
ZmFsc2UgfTsKLSAgICBNZXNzYWdlUXVldWU8RnVuY3Rpb248dm9pZCgpPj4qIG1fbWVzc2FnZVF1
ZXVlIHsgfTsKKyAgICBSZWZQdHI8U3luY2hyb25vdXNMb2FkZXJNZXNzYWdlUXVldWU+IG1fbWVz
c2FnZVF1ZXVlOwogCiAgICAgUmVzb3VyY2VSZXF1ZXN0IG1fcmVxdWVzdDsKICAgICBTdHJpbmcg
bV91c2VyOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3Vy
Y2VIYW5kbGVNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9tYWMvUmVzb3VyY2VIYW5kbGVNYWMubW0JKHJldmlzaW9uIDI1NDQzOSkKKysrIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlSGFuZGxlTWFjLm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMDksMTUgKzMwOSwxNSBAQCB2b2lkIFJlc291cmNlSGFuZGxlOjp1bnNj
aGVkdWxlKFNjaGVkdWxlCiAgICAgICAgIFtkLT5tX2Nvbm5lY3Rpb24uZ2V0KCkgdW5zY2hlZHVs
ZUZyb21SdW5Mb29wOnJ1bkxvb3AgZm9yTW9kZTooX19icmlkZ2UgTlNTdHJpbmcgKilwYWlyLm1v
ZGUoKV07CiB9CiAKLWlkIFJlc291cmNlSGFuZGxlOjptYWtlRGVsZWdhdGUoYm9vbCBzaG91bGRV
c2VDcmVkZW50aWFsU3RvcmFnZSwgTWVzc2FnZVF1ZXVlPEZ1bmN0aW9uPHZvaWQoKT4+KiBxdWV1
ZSkKK2lkIFJlc291cmNlSGFuZGxlOjptYWtlRGVsZWdhdGUoYm9vbCBzaG91bGRVc2VDcmVkZW50
aWFsU3RvcmFnZSwgUmVmUHRyPFN5bmNocm9ub3VzTG9hZGVyTWVzc2FnZVF1ZXVlPiYmIHF1ZXVl
KQogewogICAgIEFTU0VSVCghZC0+bV9kZWxlZ2F0ZSk7CiAKICAgICBpZCA8TlNVUkxDb25uZWN0
aW9uRGVsZWdhdGU+IGRlbGVnYXRlOwogICAgIGlmIChzaG91bGRVc2VDcmVkZW50aWFsU3RvcmFn
ZSkKLSAgICAgICAgZGVsZWdhdGUgPSBbW1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9u
UXVldWVEZWxlZ2F0ZSBhbGxvY10gaW5pdFdpdGhIYW5kbGU6dGhpcyBtZXNzYWdlUXVldWU6cXVl
dWVdOworICAgICAgICBkZWxlZ2F0ZSA9IFtbV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRp
b25RdWV1ZURlbGVnYXRlIGFsbG9jXSBpbml0V2l0aEhhbmRsZTp0aGlzIG1lc3NhZ2VRdWV1ZTpX
VEZNb3ZlKHF1ZXVlKV07CiAgICAgZWxzZQotICAgICAgICBkZWxlZ2F0ZSA9IFtbV2ViQ29yZVJl
c291cmNlSGFuZGxlV2l0aENyZWRlbnRpYWxTdG9yYWdlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRl
IGFsbG9jXSBpbml0V2l0aEhhbmRsZTp0aGlzIG1lc3NhZ2VRdWV1ZTpxdWV1ZV07CisgICAgICAg
IGRlbGVnYXRlID0gW1tXZWJDb3JlUmVzb3VyY2VIYW5kbGVXaXRoQ3JlZGVudGlhbFN0b3JhZ2VB
c09wZXJhdGlvblF1ZXVlRGVsZWdhdGUgYWxsb2NdIGluaXRXaXRoSGFuZGxlOnRoaXMgbWVzc2Fn
ZVF1ZXVlOldURk1vdmUocXVldWUpXTsKIAogICAgIGQtPm1fZGVsZWdhdGUgPSBkZWxlZ2F0ZTsK
ICAgICBbZGVsZWdhdGUgcmVsZWFzZV07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL21hYy9XZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9XZWJD
b3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUuaAkocmV2aXNpb24gMjU0
NDM5KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvV2ViQ29yZVJlc291
cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTI5
LDEyICsyOSwxNCBAQAogI2luY2x1ZGUgPHd0Zi9GdW5jdGlvbi5oPgogI2luY2x1ZGUgPHd0Zi9M
b2NrLmg+CiAjaW5jbHVkZSA8d3RmL01lc3NhZ2VRdWV1ZS5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQ
dHIuaD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1NjaGVkdWxl
UGFpci5oPgogI2luY2x1ZGUgPHd0Zi90aHJlYWRzL0JpbmFyeVNlbWFwaG9yZS5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBSZXNvdXJjZUhhbmRsZTsKK2NsYXNzIFN5bmNocm9ub3Vz
TG9hZGVyTWVzc2FnZVF1ZXVlOwogfQogCiBAaW50ZXJmYWNlIFdlYkNvcmVSZXNvdXJjZUhhbmRs
ZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZSA6IE5TT2JqZWN0IDxOU1VSTENvbm5lY3Rpb25EZWxl
Z2F0ZT4gewpAQCAtNDIsNyArNDQsNyBAQCBAaW50ZXJmYWNlIFdlYkNvcmVSZXNvdXJjZUhhbmRs
ZUFzT3BlcmF0CiAKICAgICAvLyBTeW5jaHJvbm91cyBkZWxlZ2F0ZXMgb24gb3BlcmF0aW9uIHF1
ZXVlIHdhaXQgdW50aWwgbWFpbiB0aHJlYWQgc2VuZHMgYW4gYXN5bmNocm9ub3VzIHJlc3BvbnNl
LgogICAgIEJpbmFyeVNlbWFwaG9yZSBtX3NlbWFwaG9yZTsKLSAgICBNZXNzYWdlUXVldWU8RnVu
Y3Rpb248dm9pZCgpPj4qIG1fbWVzc2FnZVF1ZXVlOworICAgIFJlZlB0cjxXZWJDb3JlOjpTeW5j
aHJvbm91c0xvYWRlck1lc3NhZ2VRdWV1ZT4gbV9tZXNzYWdlUXVldWU7CiAgICAgUmV0YWluUHRy
PE5TVVJMUmVxdWVzdD4gbV9yZXF1ZXN0UmVzdWx0OwogICAgIExvY2sgbV9tdXRleDsKICAgICBS
ZXRhaW5QdHI8TlNDYWNoZWRVUkxSZXNwb25zZT4gbV9jYWNoZWRSZXNwb25zZVJlc3VsdDsKQEAg
LTUxLDcgKzUzLDcgQEAgQGludGVyZmFjZSBXZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdAog
fQogCiAtICh2b2lkKWRldGFjaEhhbmRsZTsKLS0gKGlkKWluaXRXaXRoSGFuZGxlOihXZWJDb3Jl
OjpSZXNvdXJjZUhhbmRsZSopaGFuZGxlIG1lc3NhZ2VRdWV1ZTooTWVzc2FnZVF1ZXVlPEZ1bmN0
aW9uPHZvaWQoKT4+KiltZXNzYWdlUXVldWU7CistIChpZClpbml0V2l0aEhhbmRsZTooV2ViQ29y
ZTo6UmVzb3VyY2VIYW5kbGUqKWhhbmRsZSBtZXNzYWdlUXVldWU6KFJlZlB0cjxXZWJDb3JlOjpT
eW5jaHJvbm91c0xvYWRlck1lc3NhZ2VRdWV1ZT4mJiltZXNzYWdlUXVldWU7CiBAZW5kCiAKIEBp
bnRlcmZhY2UgV2ViQ29yZVJlc291cmNlSGFuZGxlV2l0aENyZWRlbnRpYWxTdG9yYWdlQXNPcGVy
YXRpb25RdWV1ZURlbGVnYXRlIDogV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1
ZURlbGVnYXRlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9XZWJD
b3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUubW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvV2ViQ29yZVJlc291cmNlSGFu
ZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlLm1tCShyZXZpc2lvbiAyNTQ0MzkpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9XZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09w
ZXJhdGlvblF1ZXVlRGVsZWdhdGUubW0JKHdvcmtpbmcgY29weSkKQEAgLTc5LDcgKzc5LDcgQEAg
LSAodm9pZCljYWxsRnVuY3Rpb25Pbk1haW5UaHJlYWQ6KEZ1bmN0aQogICAgICAgICBDRlJ1bkxv
b3BQZXJmb3JtQmxvY2socGFpci0+cnVuTG9vcCgpLCBwYWlyLT5tb2RlKCksIGJsb2NrLmdldCgp
KTsKIH0KIAotLSAoaWQpaW5pdFdpdGhIYW5kbGU6KFJlc291cmNlSGFuZGxlKiloYW5kbGUgbWVz
c2FnZVF1ZXVlOihNZXNzYWdlUXVldWU8RnVuY3Rpb248dm9pZCgpPj4qKW1lc3NhZ2VRdWV1ZQor
LSAoaWQpaW5pdFdpdGhIYW5kbGU6KFdlYkNvcmU6OlJlc291cmNlSGFuZGxlKiloYW5kbGUgbWVz
c2FnZVF1ZXVlOihSZWZQdHI8V2ViQ29yZTo6U3luY2hyb25vdXNMb2FkZXJNZXNzYWdlUXVldWU+
JiYpbWVzc2FnZVF1ZXVlCiB7CiAgICAgc2VsZiA9IFtzZWxmIGluaXRdOwogICAgIGlmICghc2Vs
ZikKQEAgLTkwLDcgKzkwLDcgQEAgLSAoaWQpaW5pdFdpdGhIYW5kbGU6KFJlc291cmNlSGFuZGxl
KiloYQogICAgICAgICBpZiAoYXV0byogcGFpcnMgPSBtX2hhbmRsZS0+Y29udGV4dCgpLT5zY2hl
ZHVsZWRSdW5Mb29wUGFpcnMoKSkKICAgICAgICAgICAgIG1fc2NoZWR1bGVkUGFpcnMgPSAqcGFp
cnM7CiAgICAgfQotICAgIG1fbWVzc2FnZVF1ZXVlID0gbWVzc2FnZVF1ZXVlOworICAgIG1fbWVz
c2FnZVF1ZXVlID0gV1RGTW92ZShtZXNzYWdlUXVldWUpOwogCiAgICAgcmV0dXJuIHNlbGY7CiB9
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>387748</attachid>
            <date>2020-01-14 19:43:17 -0800</date>
            <delta_ts>2020-01-14 20:46:50 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206261-20200114194316.patch</filename>
            <type>text/plain</type>
            <size>19365</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1NDUzOCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBACisyMDIwLTAxLTE0ICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgS2VlcCBSZWZQ
dHIgaW5zdGVhZCBvZiByYXcgcG9pbnRlciB0byBtZXNzYWdlIHF1ZXVlIG9uIFdlYkNvcmVSZXNv
dXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2MjYxCisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS81NzU2MjU5Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUaGVyZSdzIG5vIHJlYXNvbiB0byBrZWVwIGEgcmF3IHBvaW50ZXIgd2hlbiB3ZSBjYW4g
a2VlcCBhIHNtYXJ0IHBvaW50ZXIuCisgICAgICAgIFRoaXMgd2lsbCBtYWtlIHRoaXMgbW9yZSBy
b2J1c3QgYWdhaW5zdCBzb21lb25lIGZvcmdldHRpbmcgdG8gY2xlYXIgdGhpcyBwb2ludGVyIHZh
bHVlLgorCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oOgorICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvU3luY2hyb25vdXNMb2FkZXJDbGllbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U3luY2hyb25vdXNMb2FkZXJDbGllbnQ6OlN5bmNocm9ub3VzTG9hZGVy
Q2xpZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlN5bmNocm9ub3VzTG9hZGVyQ2xpZW50OjpkaWRG
aW5pc2hMb2FkaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlN5bmNocm9ub3VzTG9hZGVyQ2xpZW50
OjpkaWRGYWlsKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1N5bmNocm9ub3VzTG9hZGVy
Q2xpZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpTeW5jaHJvbm91c0xvYWRlck1lc3NhZ2VRdWV1
ZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlN5bmNocm9ub3VzTG9hZGVyTWVzc2FnZVF1
ZXVlOjphcHBlbmQpOgorICAgICAgICAoV2ViQ29yZTo6U3luY2hyb25vdXNMb2FkZXJNZXNzYWdl
UXVldWU6OmtpbGwpOgorICAgICAgICAoV2ViQ29yZTo6U3luY2hyb25vdXNMb2FkZXJNZXNzYWdl
UXVldWU6OmtpbGxlZCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpTeW5jaHJvbm91c0xvYWRl
ck1lc3NhZ2VRdWV1ZTo6d2FpdEZvck1lc3NhZ2UpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdv
cmsvbWFjL1Jlc291cmNlSGFuZGxlTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VI
YW5kbGU6Om1ha2VEZWxlZ2F0ZSk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9tYWMvV2Vi
Q29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlLmg6CisgICAgICAgICog
cGxhdGZvcm0vbmV0d29yay9tYWMvV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1
ZURlbGVnYXRlLm1tOgorICAgICAgICAoLVtXZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlv
blF1ZXVlRGVsZWdhdGUgY2FsbEZ1bmN0aW9uT25NYWluVGhyZWFkOl0pOgorICAgICAgICAoLVtX
ZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUgaW5pdFdpdGhIYW5k
bGU6bWVzc2FnZVF1ZXVlOl0pOgorICAgICAgICAoLVtXZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09w
ZXJhdGlvblF1ZXVlRGVsZWdhdGUgY29ubmVjdGlvbjp3aWxsU2VuZFJlcXVlc3Q6cmVkaXJlY3RS
ZXNwb25zZTpdKToKKwogMjAyMC0wMS0xNCAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRA
YXBwbGUuY29tPgogCiAgICAgICAgIFtDb2NvYV0gR2x5cGggbG9va3VwIHNob3VsZCBiZSBsYW5n
dWFnZS1zZW5zaXRpdmUgKHNwZWNpZmljYWxseSBiZXR3ZWVuIFlpZGRpc2ggYW5kIEhlYnJldykK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFu
ZGxlLmgJKHJldmlzaW9uIDI1NDQzOSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvUmVzb3VyY2VIYW5kbGUuaAkod29ya2luZyBjb3B5KQpAQCAtODYsNiArODYsNyBAQCBjbGFz
cyBOZXR3b3JrTG9hZE1ldHJpY3M7CiBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiBjbGFzcyBSZXNv
dXJjZVJlc3BvbnNlOwogY2xhc3MgU2hhcmVkQnVmZmVyOworY2xhc3MgU3luY2hyb25vdXNMb2Fk
ZXJNZXNzYWdlUXVldWU7CiBjbGFzcyBUaW1lcjsKIAogI2lmIFVTRShDVVJMKQpAQCAtMTIzLDcg
KzEyNCw3IEBAIHB1YmxpYzoKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIFdFQkNPUkVfRVhQ
T1JUIE5TVVJMQ29ubmVjdGlvbiAqY29ubmVjdGlvbigpIGNvbnN0OwotICAgIGlkIG1ha2VEZWxl
Z2F0ZShib29sLCBXVEY6Ok1lc3NhZ2VRdWV1ZTxXVEY6OkZ1bmN0aW9uPHZvaWQoKT4+Kik7Cisg
ICAgaWQgbWFrZURlbGVnYXRlKGJvb2wsIFJlZlB0cjxTeW5jaHJvbm91c0xvYWRlck1lc3NhZ2VR
dWV1ZT4mJik7CiAgICAgaWQgZGVsZWdhdGUoKTsKICAgICB2b2lkIHJlbGVhc2VEZWxlZ2F0ZSgp
OwogI2VuZGlmCkBAIC0yMzIsNyArMjMzLDcgQEAgcHJpdmF0ZToKICNlbmRpZgogCiAjaWYgVVNF
KENGVVJMQ09OTkVDVElPTikKLSAgICB2b2lkIGNyZWF0ZUNGVVJMQ29ubmVjdGlvbihib29sIHNo
b3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlLCBib29sIHNob3VsZENvbnRlbnRTbmlmZiwgYm9vbCBz
aG91bGRDb250ZW50RW5jb2RpbmdTbmlmZiwgV1RGOjpNZXNzYWdlUXVldWU8V1RGOjpGdW5jdGlv
bjx2b2lkKCk+PiosIENGRGljdGlvbmFyeVJlZiBjbGllbnRQcm9wZXJ0aWVzKTsKKyAgICB2b2lk
IGNyZWF0ZUNGVVJMQ29ubmVjdGlvbihib29sIHNob3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlLCBi
b29sIHNob3VsZENvbnRlbnRTbmlmZiwgYm9vbCBzaG91bGRDb250ZW50RW5jb2RpbmdTbmlmZiwg
UmVmUHRyPFN5bmNocm9ub3VzTG9hZGVyTWVzc2FnZVF1ZXVlPiYmLCBDRkRpY3Rpb25hcnlSZWYg
Y2xpZW50UHJvcGVydGllcyk7CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKE1BQykKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5k
bGVJbnRlcm5hbC5oCShyZXZpc2lvbiAyNTQ0MzkpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlSW50ZXJuYWwuaAkod29ya2luZyBjb3B5KQpAQCAtNTgs
NiArNTgsOCBAQCB0eXBlZGVmIGNvbnN0IHN0cnVjdCBfX0NGVVJMU3RvcmFnZVNlc3NpCiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgU3luY2hyb25vdXNMb2FkZXJNZXNzYWdlUXVldWU7
CisKIERFQ0xBUkVfQUxMT0NBVE9SX1dJVEhfSEVBUF9JREVOVElGSUVSKFJlc291cmNlSGFuZGxl
SW50ZXJuYWwpOwogY2xhc3MgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCB7CiAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCk7CkBAIC0xMjcsNyArMTI5LDcgQEAg
cHVibGljOgogICAgIHVuc2lnbmVkIG1fYXV0aEZhaWx1cmVDb3VudCB7IDAgfTsKICAgICBib29s
IG1fYWRkZWRDYWNoZVZhbGlkYXRpb25IZWFkZXJzIHsgZmFsc2UgfTsKICAgICBSZWZQdHI8Q3Vy
bFJlcXVlc3Q+IG1fY3VybFJlcXVlc3Q7Ci0gICAgTWVzc2FnZVF1ZXVlPFdURjo6RnVuY3Rpb248
dm9pZCgpPj4qIG1fbWVzc2FnZVF1ZXVlIHsgfTsKKyAgICBSZWZQdHI8U3luY2hyb25vdXNMb2Fk
ZXJNZXNzYWdlUXVldWU+IG1fbWVzc2FnZVF1ZXVlOwogICAgIE1vbm90b25pY1RpbWUgbV9zdGFy
dFRpbWU7CiAjZW5kaWYKIApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9T
eW5jaHJvbm91c0xvYWRlckNsaWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9TeW5jaHJvbm91c0xvYWRlckNsaWVudC5jcHAJKHJldmlzaW9uIDI1
NDQzOSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvU3luY2hyb25vdXNMb2Fk
ZXJDbGllbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2ICszMyw5IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAorU3luY2hyb25vdXNMb2FkZXJDbGllbnQ6OlN5bmNocm9ub3VzTG9hZGVy
Q2xpZW50KCkKKyAgICA6IG1fbWVzc2FnZVF1ZXVlKFN5bmNocm9ub3VzTG9hZGVyTWVzc2FnZVF1
ZXVlOjpjcmVhdGUoKSkgeyB9CisKIFN5bmNocm9ub3VzTG9hZGVyQ2xpZW50Ojp+U3luY2hyb25v
dXNMb2FkZXJDbGllbnQoKSA9IGRlZmF1bHQ7CiAKIHZvaWQgU3luY2hyb25vdXNMb2FkZXJDbGll
bnQ6OndpbGxTZW5kUmVxdWVzdEFzeW5jKFJlc291cmNlSGFuZGxlKiBoYW5kbGUsIFJlc291cmNl
UmVxdWVzdCYmIHJlcXVlc3QsIFJlc291cmNlUmVzcG9uc2UmJiwgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZChSZXNvdXJjZVJlcXVlc3QmJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCkBAIC03MywxOCAr
NzYsMzAgQEAgdm9pZCBTeW5jaHJvbm91c0xvYWRlckNsaWVudDo6ZGlkUmVjZWl2ZQogICAgIG1f
ZGF0YS5hcHBlbmQoZGF0YSwgbGVuZ3RoKTsKIH0KIAotdm9pZCBTeW5jaHJvbm91c0xvYWRlckNs
aWVudDo6ZGlkRmluaXNoTG9hZGluZyhSZXNvdXJjZUhhbmRsZSopCit2b2lkIFN5bmNocm9ub3Vz
TG9hZGVyQ2xpZW50OjpkaWRGaW5pc2hMb2FkaW5nKFJlc291cmNlSGFuZGxlKiBoYW5kbGUpCiB7
Ci0gICAgbV9tZXNzYWdlUXVldWUua2lsbCgpOworICAgIG1fbWVzc2FnZVF1ZXVlLT5raWxsKCk7
CisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgaWYgKGhhbmRsZSkKKyAgICAgICAgaGFuZGxlLT5y
ZWxlYXNlRGVsZWdhdGUoKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGhhbmRsZSk7CisjZW5k
aWYKIH0KIAotdm9pZCBTeW5jaHJvbm91c0xvYWRlckNsaWVudDo6ZGlkRmFpbChSZXNvdXJjZUhh
bmRsZSosIGNvbnN0IFJlc291cmNlRXJyb3ImIGVycm9yKQordm9pZCBTeW5jaHJvbm91c0xvYWRl
ckNsaWVudDo6ZGlkRmFpbChSZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBjb25zdCBSZXNvdXJjZUVy
cm9yJiBlcnJvcikKIHsKICAgICBBU1NFUlQobV9lcnJvci5pc051bGwoKSk7CiAKICAgICBtX2Vy
cm9yID0gZXJyb3I7CiAgICAgCi0gICAgbV9tZXNzYWdlUXVldWUua2lsbCgpOworICAgIG1fbWVz
c2FnZVF1ZXVlLT5raWxsKCk7CisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgaWYgKGhhbmRsZSkK
KyAgICAgICAgaGFuZGxlLT5yZWxlYXNlRGVsZWdhdGUoKTsKKyNlbHNlCisgICAgVU5VU0VEX1BB
UkFNKGhhbmRsZSk7CisjZW5kaWYKIH0KIAogfQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9TeW5jaHJvbm91c0xvYWRlckNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvU3luY2hyb25vdXNMb2FkZXJDbGllbnQuaAkocmV2
aXNpb24gMjU0NDM5KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9TeW5jaHJv
bm91c0xvYWRlckNsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMCwxOCArMzAsMzQgQEAKICNp
bmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgiCiAjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CiAj
aW5jbHVkZSA8d3RmL01lc3NhZ2VRdWV1ZS5oPgorI2luY2x1ZGUgPHd0Zi9UaHJlYWRTYWZlUmVm
Q291bnRlZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIFN5bmNocm9ub3VzTG9h
ZGVyTWVzc2FnZVF1ZXVlIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFN5bmNocm9ub3Vz
TG9hZGVyTWVzc2FnZVF1ZXVlPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxTeW5jaHJvbm91
c0xvYWRlck1lc3NhZ2VRdWV1ZT4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBTeW5j
aHJvbm91c0xvYWRlck1lc3NhZ2VRdWV1ZSk7IH0KKworICAgIHZvaWQgYXBwZW5kKHN0ZDo6dW5p
cXVlX3B0cjxGdW5jdGlvbjx2b2lkKCk+PiYmIHRhc2spIHsgbV9xdWV1ZS5hcHBlbmQoV1RGTW92
ZSh0YXNrKSk7IH0KKyAgICB2b2lkIGtpbGwoKSB7IG1fcXVldWUua2lsbCgpOyB9CisgICAgYm9v
bCBraWxsZWQoKSBjb25zdCB7IHJldHVybiBtX3F1ZXVlLmtpbGxlZCgpOyB9CisgICAgc3RkOjp1
bmlxdWVfcHRyPEZ1bmN0aW9uPHZvaWQoKT4+IHdhaXRGb3JNZXNzYWdlKCkgeyByZXR1cm4gbV9x
dWV1ZS53YWl0Rm9yTWVzc2FnZSgpOyB9CisKK3ByaXZhdGU6CisgICAgU3luY2hyb25vdXNMb2Fk
ZXJNZXNzYWdlUXVldWUoKSA9IGRlZmF1bHQ7CisgICAgTWVzc2FnZVF1ZXVlPEZ1bmN0aW9uPHZv
aWQoKT4+IG1fcXVldWU7Cit9OworCiBjbGFzcyBTeW5jaHJvbm91c0xvYWRlckNsaWVudCBmaW5h
bCA6IHB1YmxpYyBSZXNvdXJjZUhhbmRsZUNsaWVudCB7CiBwdWJsaWM6CisgICAgU3luY2hyb25v
dXNMb2FkZXJDbGllbnQoKTsKICAgICB2aXJ0dWFsIH5TeW5jaHJvbm91c0xvYWRlckNsaWVudCgp
OwogCiAgICAgdm9pZCBzZXRBbGxvd1N0b3JlZENyZWRlbnRpYWxzKGJvb2wgYWxsb3cpIHsgbV9h
bGxvd1N0b3JlZENyZWRlbnRpYWxzID0gYWxsb3c7IH0KICAgICBjb25zdCBSZXNvdXJjZVJlc3Bv
bnNlJiByZXNwb25zZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzcG9uc2U7IH0KICAgICBWZWN0b3I8
Y2hhcj4mIG11dGFibGVEYXRhKCkgeyByZXR1cm4gbV9kYXRhOyB9CiAgICAgY29uc3QgUmVzb3Vy
Y2VFcnJvciYgZXJyb3IoKSBjb25zdCB7IHJldHVybiBtX2Vycm9yOyB9Ci0gICAgTWVzc2FnZVF1
ZXVlPEZ1bmN0aW9uPHZvaWQoKT4+JiBtZXNzYWdlUXVldWUoKSB7IHJldHVybiBtX21lc3NhZ2VR
dWV1ZTsgfQorICAgIFN5bmNocm9ub3VzTG9hZGVyTWVzc2FnZVF1ZXVlJiBtZXNzYWdlUXVldWUo
KSB7IHJldHVybiBtX21lc3NhZ2VRdWV1ZS5nZXQoKTsgfQogCiAgICAgV0VCQ09SRV9FWFBPUlQg
c3RhdGljIFJlc291cmNlRXJyb3IgcGxhdGZvcm1CYWRSZXNwb25zZUVycm9yKCk7CiAKQEAgLTYx
LDYgKzc3LDYgQEAgcHJpdmF0ZToKICAgICBSZXNvdXJjZVJlc3BvbnNlIG1fcmVzcG9uc2U7CiAg
ICAgVmVjdG9yPGNoYXI+IG1fZGF0YTsKICAgICBSZXNvdXJjZUVycm9yIG1fZXJyb3I7Ci0gICAg
TWVzc2FnZVF1ZXVlPEZ1bmN0aW9uPHZvaWQoKT4+IG1fbWVzc2FnZVF1ZXVlOworICAgIFJlZjxT
eW5jaHJvbm91c0xvYWRlck1lc3NhZ2VRdWV1ZT4gbV9tZXNzYWdlUXVldWU7CiB9OwogfQpJbmRl
eDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZUhhbmRsZUNGTmV0
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jl
c291cmNlSGFuZGxlQ0ZOZXQuY3BwCShyZXZpc2lvbiAyNTQ0MzkpCisrKyBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlSGFuZGxlQ0ZOZXQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xMzEsNyArMTMxLDcgQEAgc3RhdGljIHZvaWQgc2V0Q2xpZW50Q2VydGlmaWNhdGVJ
blNTTFBybwogfQogI2VuZGlmCiAKLXZvaWQgUmVzb3VyY2VIYW5kbGU6OmNyZWF0ZUNGVVJMQ29u
bmVjdGlvbihib29sIHNob3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlLCBib29sIHNob3VsZENvbnRl
bnRTbmlmZiwgYm9vbCBzaG91bGRDb250ZW50RW5jb2RpbmdTbmlmZiwgTWVzc2FnZVF1ZXVlPEZ1
bmN0aW9uPHZvaWQoKT4+KiBtZXNzYWdlUXVldWUsIENGRGljdGlvbmFyeVJlZiBjbGllbnRQcm9w
ZXJ0aWVzKQordm9pZCBSZXNvdXJjZUhhbmRsZTo6Y3JlYXRlQ0ZVUkxDb25uZWN0aW9uKGJvb2wg
c2hvdWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2UsIGJvb2wgc2hvdWxkQ29udGVudFNuaWZmLCBib29s
IHNob3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmLCBSZWZQdHI8U3luY2hyb25vdXNMb2FkZXJNZXNz
YWdlUXVldWU+JiYgbWVzc2FnZVF1ZXVlLCBDRkRpY3Rpb25hcnlSZWYgY2xpZW50UHJvcGVydGll
cykKIHsKICAgICBpZiAoKCFkLT5tX3VzZXIuaXNFbXB0eSgpIHx8ICFkLT5tX3Bhc3MuaXNFbXB0
eSgpKSAmJiAhZmlyc3RSZXF1ZXN0KCkudXJsKCkucHJvdG9jb2xJc0luSFRUUEZhbWlseSgpKSB7
CiAgICAgICAgIC8vIENyZWRlbnRpYWxzIGZvciBmdHAgY2FuIG9ubHkgYmUgcGFzc2VkIGluIFVS
TCwgdGhlIGRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSBkZWxlZ2F0ZSBjYWxsIHdv
bid0IGJlIG1hZGUuCkBAIC0yMzksNyArMjM5LDcgQEAgdm9pZCBSZXNvdXJjZUhhbmRsZTo6Y3Jl
YXRlQ0ZVUkxDb25uZWN0aQogICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKHByb3BlcnRpZXNEaWN0
aW9uYXJ5LmdldCgpLCBrQ0ZVUkxDb25uZWN0aW9uU29ja2V0U3RyZWFtUHJvcGVydGllcywgc3Ry
ZWFtUHJvcGVydGllcyk7CiAgICAgQ0ZSZWxlYXNlKHN0cmVhbVByb3BlcnRpZXMpOwogCi0gICAg
ZC0+bV9jb25uZWN0aW9uRGVsZWdhdGUgPSBhZG9wdFJlZihuZXcgUmVzb3VyY2VIYW5kbGVDRlVS
TENvbm5lY3Rpb25EZWxlZ2F0ZVdpdGhPcGVyYXRpb25RdWV1ZSh0aGlzLCBtZXNzYWdlUXVldWUp
KTsKKyAgICBkLT5tX2Nvbm5lY3Rpb25EZWxlZ2F0ZSA9IGFkb3B0UmVmKG5ldyBSZXNvdXJjZUhh
bmRsZUNGVVJMQ29ubmVjdGlvbkRlbGVnYXRlV2l0aE9wZXJhdGlvblF1ZXVlKHRoaXMsIFdURk1v
dmUobWVzc2FnZVF1ZXVlKSkpOwogICAgIGQtPm1fY29ubmVjdGlvbkRlbGVnYXRlLT5zZXR1cFJl
cXVlc3QocmVxdWVzdC5nZXQoKSk7CiAKICAgICBDRlVSTENvbm5lY3Rpb25DbGllbnRfVjYgY2xp
ZW50ID0gZC0+bV9jb25uZWN0aW9uRGVsZWdhdGUtPm1ha2VDb25uZWN0aW9uQ2xpZW50KCk7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlSGFuZGxlQ0ZV
UkxDb25uZWN0aW9uRGVsZWdhdGVXaXRoT3BlcmF0aW9uUXVldWUuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VIYW5kbGVDRlVSTENv
bm5lY3Rpb25EZWxlZ2F0ZVdpdGhPcGVyYXRpb25RdWV1ZS5jcHAJKHJldmlzaW9uIDI1NDQzOSkK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VIYW5kbGVDRlVS
TENvbm5lY3Rpb25EZWxlZ2F0ZVdpdGhPcGVyYXRpb25RdWV1ZS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTM2LDYgKzM2LDcgQEAKICNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZUNsaWVudC5oIgogI2lu
Y2x1ZGUgIlJlc291cmNlUmVzcG9uc2UuaCIKICNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKKyNp
bmNsdWRlICJTeW5jaHJvbm91c0xvYWRlckNsaWVudC5oIgogI2lmICFQTEFURk9STShXSU4pCiAj
aW5jbHVkZSAiV2ViQ29yZVVSTFJlc3BvbnNlLmgiCiAjZW5kaWYKQEAgLTQ4LDkgKzQ5LDkgQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1SZXNvdXJjZUhhbmRsZUNGVVJMQ29ubmVjdGlvbkRl
bGVnYXRlV2l0aE9wZXJhdGlvblF1ZXVlOjpSZXNvdXJjZUhhbmRsZUNGVVJMQ29ubmVjdGlvbkRl
bGVnYXRlV2l0aE9wZXJhdGlvblF1ZXVlKFJlc291cmNlSGFuZGxlKiBoYW5kbGUsIE1lc3NhZ2VR
dWV1ZTxGdW5jdGlvbjx2b2lkKCk+PiogbWVzc2FnZVF1ZXVlKQorUmVzb3VyY2VIYW5kbGVDRlVS
TENvbm5lY3Rpb25EZWxlZ2F0ZVdpdGhPcGVyYXRpb25RdWV1ZTo6UmVzb3VyY2VIYW5kbGVDRlVS
TENvbm5lY3Rpb25EZWxlZ2F0ZVdpdGhPcGVyYXRpb25RdWV1ZShSZXNvdXJjZUhhbmRsZSogaGFu
ZGxlLCBSZWZQdHI8U3luY2hyb25vdXNMb2FkZXJNZXNzYWdlUXVldWU+JiYgbWVzc2FnZVF1ZXVl
KQogICAgIDogUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZShoYW5kbGUpCi0g
ICAgLCBtX21lc3NhZ2VRdWV1ZShtZXNzYWdlUXVldWUpCisgICAgLCBtX21lc3NhZ2VRdWV1ZShX
VEZNb3ZlKG1lc3NhZ2VRdWV1ZSkpCiB7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvY2YvUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZVdpdGhP
cGVyYXRpb25RdWV1ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvY2YvUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZVdpdGhPcGVyYXRp
b25RdWV1ZS5oCShyZXZpc2lvbiAyNTQ0MzkpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL2NmL1Jlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVsZWdhdGVXaXRoT3BlcmF0
aW9uUXVldWUuaAkod29ya2luZyBjb3B5KQpAQCAtMzYsOSArMzYsMTEgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCitjbGFzcyBTeW5jaHJvbm91c0xvYWRlck1lc3NhZ2VRdWV1ZTsKKwogY2xh
c3MgUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZVdpdGhPcGVyYXRpb25RdWV1
ZSBmaW5hbCA6IHB1YmxpYyBSZXNvdXJjZUhhbmRsZUNGVVJMQ29ubmVjdGlvbkRlbGVnYXRlIHsK
IHB1YmxpYzoKLSAgICBSZXNvdXJjZUhhbmRsZUNGVVJMQ29ubmVjdGlvbkRlbGVnYXRlV2l0aE9w
ZXJhdGlvblF1ZXVlKFJlc291cmNlSGFuZGxlKiwgTWVzc2FnZVF1ZXVlPEZ1bmN0aW9uPHZvaWQo
KT4+Kik7CisgICAgUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZVdpdGhPcGVy
YXRpb25RdWV1ZShSZXNvdXJjZUhhbmRsZSosIFJlZlB0cjxTeW5jaHJvbm91c0xvYWRlck1lc3Nh
Z2VRdWV1ZT4mJik7CiAgICAgdmlydHVhbCB+UmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25E
ZWxlZ2F0ZVdpdGhPcGVyYXRpb25RdWV1ZSgpOwogCiBwcml2YXRlOgpAQCAtNjMsNyArNjUsNyBA
QCBwcml2YXRlOgogI2VuZGlmCiAKICAgICBCaW5hcnlTZW1hcGhvcmUgbV9zZW1hcGhvcmU7Ci0g
ICAgTWVzc2FnZVF1ZXVlPEZ1bmN0aW9uPHZvaWQoKT4+KiBtX21lc3NhZ2VRdWV1ZSB7IG51bGxw
dHIgfTsKKyAgICBSZWZQdHI8U3luY2hyb25vdXNMb2FkZXJNZXNzYWdlUXVldWU+IG1fbWVzc2Fn
ZVF1ZXVlOwogCiAgICAgUmV0YWluUHRyPENGVVJMUmVxdWVzdFJlZj4gbV9yZXF1ZXN0UmVzdWx0
OwogICAgIFJldGFpblB0cjxDRkNhY2hlZFVSTFJlc3BvbnNlUmVmPiBtX2NhY2hlZFJlc3BvbnNl
UmVzdWx0OwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxS
ZXF1ZXN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L2N1cmwvQ3VybFJlcXVlc3QuY3BwCShyZXZpc2lvbiAyNTQ0MzkpCisrKyBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybFJlcXVlc3QuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC00MSw5ICs0MSw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotQ3VybFJlcXVlc3Q6OkN1
cmxSZXF1ZXN0KGNvbnN0IFJlc291cmNlUmVxdWVzdCZyZXF1ZXN0LCBDdXJsUmVxdWVzdENsaWVu
dCogY2xpZW50LCBTaG91bGRTdXNwZW5kIHNob3VsZFN1c3BlbmQsIEVuYWJsZU11bHRpcGFydCBl
bmFibGVNdWx0aXBhcnQsIENhcHR1cmVOZXR3b3JrTG9hZE1ldHJpY3MgY2FwdHVyZUV4dHJhTWV0
cmljcywgTWVzc2FnZVF1ZXVlPEZ1bmN0aW9uPHZvaWQoKT4+KiBtZXNzYWdlUXVldWUpCitDdXJs
UmVxdWVzdDo6Q3VybFJlcXVlc3QoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JnJlcXVlc3QsIEN1cmxS
ZXF1ZXN0Q2xpZW50KiBjbGllbnQsIFNob3VsZFN1c3BlbmQgc2hvdWxkU3VzcGVuZCwgRW5hYmxl
TXVsdGlwYXJ0IGVuYWJsZU11bHRpcGFydCwgQ2FwdHVyZU5ldHdvcmtMb2FkTWV0cmljcyBjYXB0
dXJlRXh0cmFNZXRyaWNzLCBSZWZQdHI8U3luY2hyb25vdXNMb2FkZXJNZXNzYWdlUXVldWU+JiYg
bWVzc2FnZVF1ZXVlKQogICAgIDogbV9jbGllbnQoY2xpZW50KQotICAgICwgbV9tZXNzYWdlUXVl
dWUobWVzc2FnZVF1ZXVlKQorICAgICwgbV9tZXNzYWdlUXVldWUoV1RGTW92ZShtZXNzYWdlUXVl
dWUpKQogICAgICwgbV9yZXF1ZXN0KHJlcXVlc3QuaXNvbGF0ZWRDb3B5KCkpCiAgICAgLCBtX3No
b3VsZFN1c3BlbmQoc2hvdWxkU3VzcGVuZCA9PSBTaG91bGRTdXNwZW5kOjpZZXMpCiAgICAgLCBt
X2VuYWJsZU11bHRpcGFydChlbmFibGVNdWx0aXBhcnQgPT0gRW5hYmxlTXVsdGlwYXJ0OjpZZXMp
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybFJlcXVlc3Qu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3Vy
bFJlcXVlc3QuaAkocmV2aXNpb24gMjU0NDM5KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9jdXJsL0N1cmxSZXF1ZXN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTQzLDYgKzQzLDcg
QEAgY2xhc3MgQ3VybFJlcXVlc3RDbGllbnQ7CiBjbGFzcyBOZXR3b3JrTG9hZE1ldHJpY3M7CiBj
bGFzcyBSZXNvdXJjZUVycm9yOwogY2xhc3MgU2hhcmVkQnVmZmVyOworY2xhc3MgU3luY2hyb25v
dXNMb2FkZXJNZXNzYWdlUXVldWU7CiAKIGNsYXNzIEN1cmxSZXF1ZXN0IDogcHVibGljIFRocmVh
ZFNhZmVSZWZDb3VudGVkPEN1cmxSZXF1ZXN0PiwgcHVibGljIEN1cmxSZXF1ZXN0U2NoZWR1bGVy
Q2xpZW50LCBwdWJsaWMgQ3VybE11bHRpcGFydEhhbmRsZUNsaWVudCB7CiAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoQ3VybFJlcXVlc3QpOwpAQCAtNjMsOSArNjQsOSBAQCBwdWJsaWM6CiAgICAg
ICAgIEV4dGVuZGVkCiAgICAgfTsKIAotICAgIHN0YXRpYyBSZWY8Q3VybFJlcXVlc3Q+IGNyZWF0
ZShjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIEN1cmxSZXF1ZXN0Q2xpZW50JiBjbGll
bnQsIFNob3VsZFN1c3BlbmQgc2hvdWxkU3VzcGVuZCA9IFNob3VsZFN1c3BlbmQ6Ok5vLCBFbmFi
bGVNdWx0aXBhcnQgZW5hYmxlTXVsdGlwYXJ0ID0gRW5hYmxlTXVsdGlwYXJ0OjpObywgQ2FwdHVy
ZU5ldHdvcmtMb2FkTWV0cmljcyBjYXB0dXJlTWV0cmljcyA9IENhcHR1cmVOZXR3b3JrTG9hZE1l
dHJpY3M6OkJhc2ljLCBNZXNzYWdlUXVldWU8RnVuY3Rpb248dm9pZCgpPj4qIG1lc3NhZ2VRdWV1
ZSA9IG51bGxwdHIpCisgICAgc3RhdGljIFJlZjxDdXJsUmVxdWVzdD4gY3JlYXRlKGNvbnN0IFJl
c291cmNlUmVxdWVzdCYgcmVxdWVzdCwgQ3VybFJlcXVlc3RDbGllbnQmIGNsaWVudCwgU2hvdWxk
U3VzcGVuZCBzaG91bGRTdXNwZW5kID0gU2hvdWxkU3VzcGVuZDo6Tm8sIEVuYWJsZU11bHRpcGFy
dCBlbmFibGVNdWx0aXBhcnQgPSBFbmFibGVNdWx0aXBhcnQ6Ok5vLCBDYXB0dXJlTmV0d29ya0xv
YWRNZXRyaWNzIGNhcHR1cmVNZXRyaWNzID0gQ2FwdHVyZU5ldHdvcmtMb2FkTWV0cmljczo6QmFz
aWMsIFJlZlB0cjxTeW5jaHJvbm91c0xvYWRlck1lc3NhZ2VRdWV1ZT4mJiBtZXNzYWdlUXVldWUg
PSBudWxscHRyKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ3VybFJlcXVl
c3QocmVxdWVzdCwgJmNsaWVudCwgc2hvdWxkU3VzcGVuZCwgZW5hYmxlTXVsdGlwYXJ0LCBjYXB0
dXJlTWV0cmljcywgbWVzc2FnZVF1ZXVlKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3
IEN1cmxSZXF1ZXN0KHJlcXVlc3QsICZjbGllbnQsIHNob3VsZFN1c3BlbmQsIGVuYWJsZU11bHRp
cGFydCwgY2FwdHVyZU1ldHJpY3MsIFdURk1vdmUobWVzc2FnZVF1ZXVlKSkpOwogICAgIH0KIAog
ICAgIHZpcnR1YWwgfkN1cmxSZXF1ZXN0KCkgPSBkZWZhdWx0OwpAQCAtMTA1LDcgKzEwNiw3IEBA
IHByaXZhdGU6CiAgICAgICAgIEZpbmlzaFRyYW5zZmVyCiAgICAgfTsKIAotICAgIEN1cmxSZXF1
ZXN0KGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIEN1cmxSZXF1ZXN0Q2xpZW50KiwgU2hvdWxkU3Vz
cGVuZCwgRW5hYmxlTXVsdGlwYXJ0LCBDYXB0dXJlTmV0d29ya0xvYWRNZXRyaWNzLCBNZXNzYWdl
UXVldWU8RnVuY3Rpb248dm9pZCgpPj4qKTsKKyAgICBDdXJsUmVxdWVzdChjb25zdCBSZXNvdXJj
ZVJlcXVlc3QmLCBDdXJsUmVxdWVzdENsaWVudCosIFNob3VsZFN1c3BlbmQsIEVuYWJsZU11bHRp
cGFydCwgQ2FwdHVyZU5ldHdvcmtMb2FkTWV0cmljcywgUmVmUHRyPFN5bmNocm9ub3VzTG9hZGVy
TWVzc2FnZVF1ZXVlPiYmKTsKIAogICAgIHZvaWQgcmV0YWluKCkgb3ZlcnJpZGUgeyByZWYoKTsg
fQogICAgIHZvaWQgcmVsZWFzZSgpIG92ZXJyaWRlIHsgZGVyZWYoKTsgfQpAQCAtMTY4LDcgKzE2
OSw3IEBAIHByaXZhdGU6CiAgICAgTG9jayBtX3N0YXR1c011dGV4OwogICAgIGJvb2wgbV9jYW5j
ZWxsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9jb21wbGV0ZWQgeyBmYWxzZSB9OwotICAgIE1l
c3NhZ2VRdWV1ZTxGdW5jdGlvbjx2b2lkKCk+PiogbV9tZXNzYWdlUXVldWUgeyB9OworICAgIFJl
ZlB0cjxTeW5jaHJvbm91c0xvYWRlck1lc3NhZ2VRdWV1ZT4gbV9tZXNzYWdlUXVldWU7CiAKICAg
ICBSZXNvdXJjZVJlcXVlc3QgbV9yZXF1ZXN0OwogICAgIFN0cmluZyBtX3VzZXI7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUhhbmRsZU1hYy5tbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJj
ZUhhbmRsZU1hYy5tbQkocmV2aXNpb24gMjU0NDM5KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9tYWMvUmVzb3VyY2VIYW5kbGVNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTMw
OSwxNSArMzA5LDE1IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6OnVuc2NoZWR1bGUoU2NoZWR1bGUK
ICAgICAgICAgW2QtPm1fY29ubmVjdGlvbi5nZXQoKSB1bnNjaGVkdWxlRnJvbVJ1bkxvb3A6cnVu
TG9vcCBmb3JNb2RlOihfX2JyaWRnZSBOU1N0cmluZyAqKXBhaXIubW9kZSgpXTsKIH0KIAotaWQg
UmVzb3VyY2VIYW5kbGU6Om1ha2VEZWxlZ2F0ZShib29sIHNob3VsZFVzZUNyZWRlbnRpYWxTdG9y
YWdlLCBNZXNzYWdlUXVldWU8RnVuY3Rpb248dm9pZCgpPj4qIHF1ZXVlKQoraWQgUmVzb3VyY2VI
YW5kbGU6Om1ha2VEZWxlZ2F0ZShib29sIHNob3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlLCBSZWZQ
dHI8U3luY2hyb25vdXNMb2FkZXJNZXNzYWdlUXVldWU+JiYgcXVldWUpCiB7CiAgICAgQVNTRVJU
KCFkLT5tX2RlbGVnYXRlKTsKIAogICAgIGlkIDxOU1VSTENvbm5lY3Rpb25EZWxlZ2F0ZT4gZGVs
ZWdhdGU7CiAgICAgaWYgKHNob3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlKQotICAgICAgICBkZWxl
Z2F0ZSA9IFtbV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlIGFs
bG9jXSBpbml0V2l0aEhhbmRsZTp0aGlzIG1lc3NhZ2VRdWV1ZTpxdWV1ZV07CisgICAgICAgIGRl
bGVnYXRlID0gW1tXZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUg
YWxsb2NdIGluaXRXaXRoSGFuZGxlOnRoaXMgbWVzc2FnZVF1ZXVlOldURk1vdmUocXVldWUpXTsK
ICAgICBlbHNlCi0gICAgICAgIGRlbGVnYXRlID0gW1tXZWJDb3JlUmVzb3VyY2VIYW5kbGVXaXRo
Q3JlZGVudGlhbFN0b3JhZ2VBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUgYWxsb2NdIGluaXRXaXRo
SGFuZGxlOnRoaXMgbWVzc2FnZVF1ZXVlOnF1ZXVlXTsKKyAgICAgICAgZGVsZWdhdGUgPSBbW1dl
YkNvcmVSZXNvdXJjZUhhbmRsZVdpdGhDcmVkZW50aWFsU3RvcmFnZUFzT3BlcmF0aW9uUXVldWVE
ZWxlZ2F0ZSBhbGxvY10gaW5pdFdpdGhIYW5kbGU6dGhpcyBtZXNzYWdlUXVldWU6V1RGTW92ZShx
dWV1ZSldOwogCiAgICAgZC0+bV9kZWxlZ2F0ZSA9IGRlbGVnYXRlOwogICAgIFtkZWxlZ2F0ZSBy
ZWxlYXNlXTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1dlYkNv
cmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1dlYkNvcmVSZXNvdXJjZUhhbmRs
ZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZS5oCShyZXZpc2lvbiAyNTQ0MzkpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9XZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJh
dGlvblF1ZXVlRGVsZWdhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtMjksMTIgKzI5LDE0IEBACiAj
aW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL0xvY2suaD4KICNpbmNsdWRl
IDx3dGYvTWVzc2FnZVF1ZXVlLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogI2luY2x1ZGUg
PHd0Zi9SZXRhaW5QdHIuaD4KICNpbmNsdWRlIDx3dGYvU2NoZWR1bGVQYWlyLmg+CiAjaW5jbHVk
ZSA8d3RmL3RocmVhZHMvQmluYXJ5U2VtYXBob3JlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IGNsYXNzIFJlc291cmNlSGFuZGxlOworY2xhc3MgU3luY2hyb25vdXNMb2FkZXJNZXNzYWdlUXVl
dWU7CiB9CiAKIEBpbnRlcmZhY2UgV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1
ZURlbGVnYXRlIDogTlNPYmplY3QgPE5TVVJMQ29ubmVjdGlvbkRlbGVnYXRlPiB7CkBAIC00Miw3
ICs0NCw3IEBAIEBpbnRlcmZhY2UgV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXQKIAogICAg
IC8vIFN5bmNocm9ub3VzIGRlbGVnYXRlcyBvbiBvcGVyYXRpb24gcXVldWUgd2FpdCB1bnRpbCBt
YWluIHRocmVhZCBzZW5kcyBhbiBhc3luY2hyb25vdXMgcmVzcG9uc2UuCiAgICAgQmluYXJ5U2Vt
YXBob3JlIG1fc2VtYXBob3JlOwotICAgIE1lc3NhZ2VRdWV1ZTxGdW5jdGlvbjx2b2lkKCk+Piog
bV9tZXNzYWdlUXVldWU7CisgICAgUmVmUHRyPFdlYkNvcmU6OlN5bmNocm9ub3VzTG9hZGVyTWVz
c2FnZVF1ZXVlPiBtX21lc3NhZ2VRdWV1ZTsKICAgICBSZXRhaW5QdHI8TlNVUkxSZXF1ZXN0PiBt
X3JlcXVlc3RSZXN1bHQ7CiAgICAgTG9jayBtX211dGV4OwogICAgIFJldGFpblB0cjxOU0NhY2hl
ZFVSTFJlc3BvbnNlPiBtX2NhY2hlZFJlc3BvbnNlUmVzdWx0OwpAQCAtNTEsNyArNTMsNyBAQCBA
aW50ZXJmYWNlIFdlYkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0CiB9CiAKIC0gKHZvaWQpZGV0
YWNoSGFuZGxlOwotLSAoaWQpaW5pdFdpdGhIYW5kbGU6KFdlYkNvcmU6OlJlc291cmNlSGFuZGxl
KiloYW5kbGUgbWVzc2FnZVF1ZXVlOihNZXNzYWdlUXVldWU8RnVuY3Rpb248dm9pZCgpPj4qKW1l
c3NhZ2VRdWV1ZTsKKy0gKGlkKWluaXRXaXRoSGFuZGxlOihXZWJDb3JlOjpSZXNvdXJjZUhhbmRs
ZSopaGFuZGxlIG1lc3NhZ2VRdWV1ZTooUmVmUHRyPFdlYkNvcmU6OlN5bmNocm9ub3VzTG9hZGVy
TWVzc2FnZVF1ZXVlPiYmKW1lc3NhZ2VRdWV1ZTsKIEBlbmQKIAogQGludGVyZmFjZSBXZWJDb3Jl
UmVzb3VyY2VIYW5kbGVXaXRoQ3JlZGVudGlhbFN0b3JhZ2VBc09wZXJhdGlvblF1ZXVlRGVsZWdh
dGUgOiBXZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1dlYkNvcmVSZXNvdXJjZUhhbmRs
ZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9XZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1
ZXVlRGVsZWdhdGUubW0JKHJldmlzaW9uIDI1NDQzOSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvbWFjL1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxl
Z2F0ZS5tbQkod29ya2luZyBjb3B5KQpAQCAtNzksNyArNzksNyBAQCAtICh2b2lkKWNhbGxGdW5j
dGlvbk9uTWFpblRocmVhZDooRnVuY3RpCiAgICAgICAgIENGUnVuTG9vcFBlcmZvcm1CbG9jayhw
YWlyLT5ydW5Mb29wKCksIHBhaXItPm1vZGUoKSwgYmxvY2suZ2V0KCkpOwogfQogCi0tIChpZClp
bml0V2l0aEhhbmRsZTooUmVzb3VyY2VIYW5kbGUqKWhhbmRsZSBtZXNzYWdlUXVldWU6KE1lc3Nh
Z2VRdWV1ZTxGdW5jdGlvbjx2b2lkKCk+PiopbWVzc2FnZVF1ZXVlCistIChpZClpbml0V2l0aEhh
bmRsZTooV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGUqKWhhbmRsZSBtZXNzYWdlUXVldWU6KFJlZlB0
cjxXZWJDb3JlOjpTeW5jaHJvbm91c0xvYWRlck1lc3NhZ2VRdWV1ZT4mJiltZXNzYWdlUXVldWUK
IHsKICAgICBzZWxmID0gW3NlbGYgaW5pdF07CiAgICAgaWYgKCFzZWxmKQpAQCAtOTAsNyArOTAs
NyBAQCAtIChpZClpbml0V2l0aEhhbmRsZTooUmVzb3VyY2VIYW5kbGUqKWhhCiAgICAgICAgIGlm
IChhdXRvKiBwYWlycyA9IG1faGFuZGxlLT5jb250ZXh0KCktPnNjaGVkdWxlZFJ1bkxvb3BQYWly
cygpKQogICAgICAgICAgICAgbV9zY2hlZHVsZWRQYWlycyA9ICpwYWlyczsKICAgICB9Ci0gICAg
bV9tZXNzYWdlUXVldWUgPSBtZXNzYWdlUXVldWU7CisgICAgbV9tZXNzYWdlUXVldWUgPSBXVEZN
b3ZlKG1lc3NhZ2VRdWV1ZSk7CiAKICAgICByZXR1cm4gc2VsZjsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>387749</attachid>
            <date>2020-01-14 20:46:52 -0800</date>
            <delta_ts>2020-01-15 12:45:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206261-20200114204651.patch</filename>
            <type>text/plain</type>
            <size>19263</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1NDUzOCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBACisyMDIwLTAxLTE0ICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgS2VlcCBSZWZQ
dHIgaW5zdGVhZCBvZiByYXcgcG9pbnRlciB0byBtZXNzYWdlIHF1ZXVlIG9uIFdlYkNvcmVSZXNv
dXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2MjYxCisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS81NzU2MjU5Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUaGVyZSdzIG5vIHJlYXNvbiB0byBrZWVwIGEgcmF3IHBvaW50ZXIgd2hlbiB3ZSBjYW4g
a2VlcCBhIHNtYXJ0IHBvaW50ZXIuCisgICAgICAgIFRoaXMgd2lsbCBtYWtlIHRoaXMgbW9yZSBy
b2J1c3QgYWdhaW5zdCBzb21lb25lIGZvcmdldHRpbmcgdG8gY2xlYXIgdGhpcyBwb2ludGVyIHZh
bHVlLgorCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oOgorICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvU3luY2hyb25vdXNMb2FkZXJDbGllbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U3luY2hyb25vdXNMb2FkZXJDbGllbnQ6OlN5bmNocm9ub3VzTG9hZGVy
Q2xpZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlN5bmNocm9ub3VzTG9hZGVyQ2xpZW50OjpkaWRG
aW5pc2hMb2FkaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlN5bmNocm9ub3VzTG9hZGVyQ2xpZW50
OjpkaWRGYWlsKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1N5bmNocm9ub3VzTG9hZGVy
Q2xpZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpTeW5jaHJvbm91c0xvYWRlck1lc3NhZ2VRdWV1
ZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlN5bmNocm9ub3VzTG9hZGVyTWVzc2FnZVF1
ZXVlOjphcHBlbmQpOgorICAgICAgICAoV2ViQ29yZTo6U3luY2hyb25vdXNMb2FkZXJNZXNzYWdl
UXVldWU6OmtpbGwpOgorICAgICAgICAoV2ViQ29yZTo6U3luY2hyb25vdXNMb2FkZXJNZXNzYWdl
UXVldWU6OmtpbGxlZCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpTeW5jaHJvbm91c0xvYWRl
ck1lc3NhZ2VRdWV1ZTo6d2FpdEZvck1lc3NhZ2UpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdv
cmsvbWFjL1Jlc291cmNlSGFuZGxlTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VI
YW5kbGU6Om1ha2VEZWxlZ2F0ZSk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9tYWMvV2Vi
Q29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlLmg6CisgICAgICAgICog
cGxhdGZvcm0vbmV0d29yay9tYWMvV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1
ZURlbGVnYXRlLm1tOgorICAgICAgICAoLVtXZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlv
blF1ZXVlRGVsZWdhdGUgY2FsbEZ1bmN0aW9uT25NYWluVGhyZWFkOl0pOgorICAgICAgICAoLVtX
ZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUgaW5pdFdpdGhIYW5k
bGU6bWVzc2FnZVF1ZXVlOl0pOgorICAgICAgICAoLVtXZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09w
ZXJhdGlvblF1ZXVlRGVsZWdhdGUgY29ubmVjdGlvbjp3aWxsU2VuZFJlcXVlc3Q6cmVkaXJlY3RS
ZXNwb25zZTpdKToKKwogMjAyMC0wMS0xNCAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRA
YXBwbGUuY29tPgogCiAgICAgICAgIFtDb2NvYV0gR2x5cGggbG9va3VwIHNob3VsZCBiZSBsYW5n
dWFnZS1zZW5zaXRpdmUgKHNwZWNpZmljYWxseSBiZXR3ZWVuIFlpZGRpc2ggYW5kIEhlYnJldykK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFu
ZGxlLmgJKHJldmlzaW9uIDI1NDQzOSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvUmVzb3VyY2VIYW5kbGUuaAkod29ya2luZyBjb3B5KQpAQCAtODYsNiArODYsNyBAQCBjbGFz
cyBOZXR3b3JrTG9hZE1ldHJpY3M7CiBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiBjbGFzcyBSZXNv
dXJjZVJlc3BvbnNlOwogY2xhc3MgU2hhcmVkQnVmZmVyOworY2xhc3MgU3luY2hyb25vdXNMb2Fk
ZXJNZXNzYWdlUXVldWU7CiBjbGFzcyBUaW1lcjsKIAogI2lmIFVTRShDVVJMKQpAQCAtMTIzLDcg
KzEyNCw3IEBAIHB1YmxpYzoKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIFdFQkNPUkVfRVhQ
T1JUIE5TVVJMQ29ubmVjdGlvbiAqY29ubmVjdGlvbigpIGNvbnN0OwotICAgIGlkIG1ha2VEZWxl
Z2F0ZShib29sLCBXVEY6Ok1lc3NhZ2VRdWV1ZTxXVEY6OkZ1bmN0aW9uPHZvaWQoKT4+Kik7Cisg
ICAgaWQgbWFrZURlbGVnYXRlKGJvb2wsIFJlZlB0cjxTeW5jaHJvbm91c0xvYWRlck1lc3NhZ2VR
dWV1ZT4mJik7CiAgICAgaWQgZGVsZWdhdGUoKTsKICAgICB2b2lkIHJlbGVhc2VEZWxlZ2F0ZSgp
OwogI2VuZGlmCkBAIC0yMzIsNyArMjMzLDcgQEAgcHJpdmF0ZToKICNlbmRpZgogCiAjaWYgVVNF
KENGVVJMQ09OTkVDVElPTikKLSAgICB2b2lkIGNyZWF0ZUNGVVJMQ29ubmVjdGlvbihib29sIHNo
b3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlLCBib29sIHNob3VsZENvbnRlbnRTbmlmZiwgYm9vbCBz
aG91bGRDb250ZW50RW5jb2RpbmdTbmlmZiwgV1RGOjpNZXNzYWdlUXVldWU8V1RGOjpGdW5jdGlv
bjx2b2lkKCk+PiosIENGRGljdGlvbmFyeVJlZiBjbGllbnRQcm9wZXJ0aWVzKTsKKyAgICB2b2lk
IGNyZWF0ZUNGVVJMQ29ubmVjdGlvbihib29sIHNob3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlLCBi
b29sIHNob3VsZENvbnRlbnRTbmlmZiwgYm9vbCBzaG91bGRDb250ZW50RW5jb2RpbmdTbmlmZiwg
UmVmUHRyPFN5bmNocm9ub3VzTG9hZGVyTWVzc2FnZVF1ZXVlPiYmLCBDRkRpY3Rpb25hcnlSZWYg
Y2xpZW50UHJvcGVydGllcyk7CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKE1BQykKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5k
bGVJbnRlcm5hbC5oCShyZXZpc2lvbiAyNTQ0MzkpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlSW50ZXJuYWwuaAkod29ya2luZyBjb3B5KQpAQCAtMzks
NiArMzksNyBAQAogCiAjaWYgVVNFKENVUkwpCiAjaW5jbHVkZSAiQ3VybFJlcXVlc3QuaCIKKyNp
bmNsdWRlICJTeW5jaHJvbm91c0xvYWRlckNsaWVudC5oIgogI2luY2x1ZGUgPHd0Zi9NZXNzYWdl
UXVldWUuaD4KICNpbmNsdWRlIDx3dGYvTW9ub3RvbmljVGltZS5oPgogI2VuZGlmCkBAIC0xMjcs
NyArMTI4LDcgQEAgcHVibGljOgogICAgIHVuc2lnbmVkIG1fYXV0aEZhaWx1cmVDb3VudCB7IDAg
fTsKICAgICBib29sIG1fYWRkZWRDYWNoZVZhbGlkYXRpb25IZWFkZXJzIHsgZmFsc2UgfTsKICAg
ICBSZWZQdHI8Q3VybFJlcXVlc3Q+IG1fY3VybFJlcXVlc3Q7Ci0gICAgTWVzc2FnZVF1ZXVlPFdU
Rjo6RnVuY3Rpb248dm9pZCgpPj4qIG1fbWVzc2FnZVF1ZXVlIHsgfTsKKyAgICBSZWZQdHI8U3lu
Y2hyb25vdXNMb2FkZXJNZXNzYWdlUXVldWU+IG1fbWVzc2FnZVF1ZXVlOwogICAgIE1vbm90b25p
Y1RpbWUgbV9zdGFydFRpbWU7CiAjZW5kaWYKIApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9TeW5jaHJvbm91c0xvYWRlckNsaWVudC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9TeW5jaHJvbm91c0xvYWRlckNsaWVudC5jcHAJ
KHJldmlzaW9uIDI1NDQzOSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvU3lu
Y2hyb25vdXNMb2FkZXJDbGllbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2ICszMyw5IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorU3luY2hyb25vdXNMb2FkZXJDbGllbnQ6OlN5bmNo
cm9ub3VzTG9hZGVyQ2xpZW50KCkKKyAgICA6IG1fbWVzc2FnZVF1ZXVlKFN5bmNocm9ub3VzTG9h
ZGVyTWVzc2FnZVF1ZXVlOjpjcmVhdGUoKSkgeyB9CisKIFN5bmNocm9ub3VzTG9hZGVyQ2xpZW50
Ojp+U3luY2hyb25vdXNMb2FkZXJDbGllbnQoKSA9IGRlZmF1bHQ7CiAKIHZvaWQgU3luY2hyb25v
dXNMb2FkZXJDbGllbnQ6OndpbGxTZW5kUmVxdWVzdEFzeW5jKFJlc291cmNlSGFuZGxlKiBoYW5k
bGUsIFJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QsIFJlc291cmNlUmVzcG9uc2UmJiwgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChSZXNvdXJjZVJlcXVlc3QmJik+JiYgY29tcGxldGlvbkhhbmRsZXIp
CkBAIC03MywxOCArNzYsMzAgQEAgdm9pZCBTeW5jaHJvbm91c0xvYWRlckNsaWVudDo6ZGlkUmVj
ZWl2ZQogICAgIG1fZGF0YS5hcHBlbmQoZGF0YSwgbGVuZ3RoKTsKIH0KIAotdm9pZCBTeW5jaHJv
bm91c0xvYWRlckNsaWVudDo6ZGlkRmluaXNoTG9hZGluZyhSZXNvdXJjZUhhbmRsZSopCit2b2lk
IFN5bmNocm9ub3VzTG9hZGVyQ2xpZW50OjpkaWRGaW5pc2hMb2FkaW5nKFJlc291cmNlSGFuZGxl
KiBoYW5kbGUpCiB7Ci0gICAgbV9tZXNzYWdlUXVldWUua2lsbCgpOworICAgIG1fbWVzc2FnZVF1
ZXVlLT5raWxsKCk7CisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgaWYgKGhhbmRsZSkKKyAgICAg
ICAgaGFuZGxlLT5yZWxlYXNlRGVsZWdhdGUoKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGhh
bmRsZSk7CisjZW5kaWYKIH0KIAotdm9pZCBTeW5jaHJvbm91c0xvYWRlckNsaWVudDo6ZGlkRmFp
bChSZXNvdXJjZUhhbmRsZSosIGNvbnN0IFJlc291cmNlRXJyb3ImIGVycm9yKQordm9pZCBTeW5j
aHJvbm91c0xvYWRlckNsaWVudDo6ZGlkRmFpbChSZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBjb25z
dCBSZXNvdXJjZUVycm9yJiBlcnJvcikKIHsKICAgICBBU1NFUlQobV9lcnJvci5pc051bGwoKSk7
CiAKICAgICBtX2Vycm9yID0gZXJyb3I7CiAgICAgCi0gICAgbV9tZXNzYWdlUXVldWUua2lsbCgp
OworICAgIG1fbWVzc2FnZVF1ZXVlLT5raWxsKCk7CisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAg
aWYgKGhhbmRsZSkKKyAgICAgICAgaGFuZGxlLT5yZWxlYXNlRGVsZWdhdGUoKTsKKyNlbHNlCisg
ICAgVU5VU0VEX1BBUkFNKGhhbmRsZSk7CisjZW5kaWYKIH0KIAogfQpJbmRleDogU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9TeW5jaHJvbm91c0xvYWRlckNsaWVudC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvU3luY2hyb25vdXNMb2FkZXJD
bGllbnQuaAkocmV2aXNpb24gMjU0NDM5KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9TeW5jaHJvbm91c0xvYWRlckNsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMCwxOCAr
MzAsMzQgQEAKICNpbmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgiCiAjaW5jbHVkZSA8d3RmL0Z1
bmN0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL01lc3NhZ2VRdWV1ZS5oPgorI2luY2x1ZGUgPHd0Zi9U
aHJlYWRTYWZlUmVmQ291bnRlZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIFN5
bmNocm9ub3VzTG9hZGVyTWVzc2FnZVF1ZXVlIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVk
PFN5bmNocm9ub3VzTG9hZGVyTWVzc2FnZVF1ZXVlPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFJl
ZjxTeW5jaHJvbm91c0xvYWRlck1lc3NhZ2VRdWV1ZT4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBTeW5jaHJvbm91c0xvYWRlck1lc3NhZ2VRdWV1ZSk7IH0KKworICAgIHZvaWQgYXBw
ZW5kKHN0ZDo6dW5pcXVlX3B0cjxGdW5jdGlvbjx2b2lkKCk+PiYmIHRhc2spIHsgbV9xdWV1ZS5h
cHBlbmQoV1RGTW92ZSh0YXNrKSk7IH0KKyAgICB2b2lkIGtpbGwoKSB7IG1fcXVldWUua2lsbCgp
OyB9CisgICAgYm9vbCBraWxsZWQoKSBjb25zdCB7IHJldHVybiBtX3F1ZXVlLmtpbGxlZCgpOyB9
CisgICAgc3RkOjp1bmlxdWVfcHRyPEZ1bmN0aW9uPHZvaWQoKT4+IHdhaXRGb3JNZXNzYWdlKCkg
eyByZXR1cm4gbV9xdWV1ZS53YWl0Rm9yTWVzc2FnZSgpOyB9CisKK3ByaXZhdGU6CisgICAgU3lu
Y2hyb25vdXNMb2FkZXJNZXNzYWdlUXVldWUoKSA9IGRlZmF1bHQ7CisgICAgTWVzc2FnZVF1ZXVl
PEZ1bmN0aW9uPHZvaWQoKT4+IG1fcXVldWU7Cit9OworCiBjbGFzcyBTeW5jaHJvbm91c0xvYWRl
ckNsaWVudCBmaW5hbCA6IHB1YmxpYyBSZXNvdXJjZUhhbmRsZUNsaWVudCB7CiBwdWJsaWM6Cisg
ICAgU3luY2hyb25vdXNMb2FkZXJDbGllbnQoKTsKICAgICB2aXJ0dWFsIH5TeW5jaHJvbm91c0xv
YWRlckNsaWVudCgpOwogCiAgICAgdm9pZCBzZXRBbGxvd1N0b3JlZENyZWRlbnRpYWxzKGJvb2wg
YWxsb3cpIHsgbV9hbGxvd1N0b3JlZENyZWRlbnRpYWxzID0gYWxsb3c7IH0KICAgICBjb25zdCBS
ZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzcG9uc2U7IH0K
ICAgICBWZWN0b3I8Y2hhcj4mIG11dGFibGVEYXRhKCkgeyByZXR1cm4gbV9kYXRhOyB9CiAgICAg
Y29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IoKSBjb25zdCB7IHJldHVybiBtX2Vycm9yOyB9Ci0g
ICAgTWVzc2FnZVF1ZXVlPEZ1bmN0aW9uPHZvaWQoKT4+JiBtZXNzYWdlUXVldWUoKSB7IHJldHVy
biBtX21lc3NhZ2VRdWV1ZTsgfQorICAgIFN5bmNocm9ub3VzTG9hZGVyTWVzc2FnZVF1ZXVlJiBt
ZXNzYWdlUXVldWUoKSB7IHJldHVybiBtX21lc3NhZ2VRdWV1ZS5nZXQoKTsgfQogCiAgICAgV0VC
Q09SRV9FWFBPUlQgc3RhdGljIFJlc291cmNlRXJyb3IgcGxhdGZvcm1CYWRSZXNwb25zZUVycm9y
KCk7CiAKQEAgLTYxLDYgKzc3LDYgQEAgcHJpdmF0ZToKICAgICBSZXNvdXJjZVJlc3BvbnNlIG1f
cmVzcG9uc2U7CiAgICAgVmVjdG9yPGNoYXI+IG1fZGF0YTsKICAgICBSZXNvdXJjZUVycm9yIG1f
ZXJyb3I7Ci0gICAgTWVzc2FnZVF1ZXVlPEZ1bmN0aW9uPHZvaWQoKT4+IG1fbWVzc2FnZVF1ZXVl
OworICAgIFJlZjxTeW5jaHJvbm91c0xvYWRlck1lc3NhZ2VRdWV1ZT4gbV9tZXNzYWdlUXVldWU7
CiB9OwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJj
ZUhhbmRsZUNGTmV0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL2NmL1Jlc291cmNlSGFuZGxlQ0ZOZXQuY3BwCShyZXZpc2lvbiAyNTQ0MzkpCisrKyBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlSGFuZGxlQ0ZOZXQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xMzEsNyArMTMxLDcgQEAgc3RhdGljIHZvaWQgc2V0Q2xpZW50
Q2VydGlmaWNhdGVJblNTTFBybwogfQogI2VuZGlmCiAKLXZvaWQgUmVzb3VyY2VIYW5kbGU6OmNy
ZWF0ZUNGVVJMQ29ubmVjdGlvbihib29sIHNob3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlLCBib29s
IHNob3VsZENvbnRlbnRTbmlmZiwgYm9vbCBzaG91bGRDb250ZW50RW5jb2RpbmdTbmlmZiwgTWVz
c2FnZVF1ZXVlPEZ1bmN0aW9uPHZvaWQoKT4+KiBtZXNzYWdlUXVldWUsIENGRGljdGlvbmFyeVJl
ZiBjbGllbnRQcm9wZXJ0aWVzKQordm9pZCBSZXNvdXJjZUhhbmRsZTo6Y3JlYXRlQ0ZVUkxDb25u
ZWN0aW9uKGJvb2wgc2hvdWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2UsIGJvb2wgc2hvdWxkQ29udGVu
dFNuaWZmLCBib29sIHNob3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmLCBSZWZQdHI8U3luY2hyb25v
dXNMb2FkZXJNZXNzYWdlUXVldWU+JiYgbWVzc2FnZVF1ZXVlLCBDRkRpY3Rpb25hcnlSZWYgY2xp
ZW50UHJvcGVydGllcykKIHsKICAgICBpZiAoKCFkLT5tX3VzZXIuaXNFbXB0eSgpIHx8ICFkLT5t
X3Bhc3MuaXNFbXB0eSgpKSAmJiAhZmlyc3RSZXF1ZXN0KCkudXJsKCkucHJvdG9jb2xJc0luSFRU
UEZhbWlseSgpKSB7CiAgICAgICAgIC8vIENyZWRlbnRpYWxzIGZvciBmdHAgY2FuIG9ubHkgYmUg
cGFzc2VkIGluIFVSTCwgdGhlIGRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSBkZWxl
Z2F0ZSBjYWxsIHdvbid0IGJlIG1hZGUuCkBAIC0yMzksNyArMjM5LDcgQEAgdm9pZCBSZXNvdXJj
ZUhhbmRsZTo6Y3JlYXRlQ0ZVUkxDb25uZWN0aQogICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKHBy
b3BlcnRpZXNEaWN0aW9uYXJ5LmdldCgpLCBrQ0ZVUkxDb25uZWN0aW9uU29ja2V0U3RyZWFtUHJv
cGVydGllcywgc3RyZWFtUHJvcGVydGllcyk7CiAgICAgQ0ZSZWxlYXNlKHN0cmVhbVByb3BlcnRp
ZXMpOwogCi0gICAgZC0+bV9jb25uZWN0aW9uRGVsZWdhdGUgPSBhZG9wdFJlZihuZXcgUmVzb3Vy
Y2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZVdpdGhPcGVyYXRpb25RdWV1ZSh0aGlzLCBt
ZXNzYWdlUXVldWUpKTsKKyAgICBkLT5tX2Nvbm5lY3Rpb25EZWxlZ2F0ZSA9IGFkb3B0UmVmKG5l
dyBSZXNvdXJjZUhhbmRsZUNGVVJMQ29ubmVjdGlvbkRlbGVnYXRlV2l0aE9wZXJhdGlvblF1ZXVl
KHRoaXMsIFdURk1vdmUobWVzc2FnZVF1ZXVlKSkpOwogICAgIGQtPm1fY29ubmVjdGlvbkRlbGVn
YXRlLT5zZXR1cFJlcXVlc3QocmVxdWVzdC5nZXQoKSk7CiAKICAgICBDRlVSTENvbm5lY3Rpb25D
bGllbnRfVjYgY2xpZW50ID0gZC0+bV9jb25uZWN0aW9uRGVsZWdhdGUtPm1ha2VDb25uZWN0aW9u
Q2xpZW50KCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291
cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVsZWdhdGVXaXRoT3BlcmF0aW9uUXVldWUuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VI
YW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZVdpdGhPcGVyYXRpb25RdWV1ZS5jcHAJKHJldmlz
aW9uIDI1NDQzOSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3Vy
Y2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZVdpdGhPcGVyYXRpb25RdWV1ZS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTM2LDYgKzM2LDcgQEAKICNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZUNs
aWVudC5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVzcG9uc2UuaCIKICNpbmNsdWRlICJTaGFyZWRC
dWZmZXIuaCIKKyNpbmNsdWRlICJTeW5jaHJvbm91c0xvYWRlckNsaWVudC5oIgogI2lmICFQTEFU
Rk9STShXSU4pCiAjaW5jbHVkZSAiV2ViQ29yZVVSTFJlc3BvbnNlLmgiCiAjZW5kaWYKQEAgLTQ4
LDkgKzQ5LDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1SZXNvdXJjZUhhbmRsZUNGVVJM
Q29ubmVjdGlvbkRlbGVnYXRlV2l0aE9wZXJhdGlvblF1ZXVlOjpSZXNvdXJjZUhhbmRsZUNGVVJM
Q29ubmVjdGlvbkRlbGVnYXRlV2l0aE9wZXJhdGlvblF1ZXVlKFJlc291cmNlSGFuZGxlKiBoYW5k
bGUsIE1lc3NhZ2VRdWV1ZTxGdW5jdGlvbjx2b2lkKCk+PiogbWVzc2FnZVF1ZXVlKQorUmVzb3Vy
Y2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZVdpdGhPcGVyYXRpb25RdWV1ZTo6UmVzb3Vy
Y2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZVdpdGhPcGVyYXRpb25RdWV1ZShSZXNvdXJj
ZUhhbmRsZSogaGFuZGxlLCBSZWZQdHI8U3luY2hyb25vdXNMb2FkZXJNZXNzYWdlUXVldWU+JiYg
bWVzc2FnZVF1ZXVlKQogICAgIDogUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0
ZShoYW5kbGUpCi0gICAgLCBtX21lc3NhZ2VRdWV1ZShtZXNzYWdlUXVldWUpCisgICAgLCBtX21l
c3NhZ2VRdWV1ZShXVEZNb3ZlKG1lc3NhZ2VRdWV1ZSkpCiB7CiB9CiAKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25E
ZWxlZ2F0ZVdpdGhPcGVyYXRpb25RdWV1ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0
ZVdpdGhPcGVyYXRpb25RdWV1ZS5oCShyZXZpc2lvbiAyNTQ0MzkpCisrKyBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVsZWdh
dGVXaXRoT3BlcmF0aW9uUXVldWUuaAkod29ya2luZyBjb3B5KQpAQCAtMzYsOSArMzYsMTEgQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBTeW5jaHJvbm91c0xvYWRlck1lc3NhZ2VR
dWV1ZTsKKwogY2xhc3MgUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZVdpdGhP
cGVyYXRpb25RdWV1ZSBmaW5hbCA6IHB1YmxpYyBSZXNvdXJjZUhhbmRsZUNGVVJMQ29ubmVjdGlv
bkRlbGVnYXRlIHsKIHB1YmxpYzoKLSAgICBSZXNvdXJjZUhhbmRsZUNGVVJMQ29ubmVjdGlvbkRl
bGVnYXRlV2l0aE9wZXJhdGlvblF1ZXVlKFJlc291cmNlSGFuZGxlKiwgTWVzc2FnZVF1ZXVlPEZ1
bmN0aW9uPHZvaWQoKT4+Kik7CisgICAgUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxl
Z2F0ZVdpdGhPcGVyYXRpb25RdWV1ZShSZXNvdXJjZUhhbmRsZSosIFJlZlB0cjxTeW5jaHJvbm91
c0xvYWRlck1lc3NhZ2VRdWV1ZT4mJik7CiAgICAgdmlydHVhbCB+UmVzb3VyY2VIYW5kbGVDRlVS
TENvbm5lY3Rpb25EZWxlZ2F0ZVdpdGhPcGVyYXRpb25RdWV1ZSgpOwogCiBwcml2YXRlOgpAQCAt
NjMsNyArNjUsNyBAQCBwcml2YXRlOgogI2VuZGlmCiAKICAgICBCaW5hcnlTZW1hcGhvcmUgbV9z
ZW1hcGhvcmU7Ci0gICAgTWVzc2FnZVF1ZXVlPEZ1bmN0aW9uPHZvaWQoKT4+KiBtX21lc3NhZ2VR
dWV1ZSB7IG51bGxwdHIgfTsKKyAgICBSZWZQdHI8U3luY2hyb25vdXNMb2FkZXJNZXNzYWdlUXVl
dWU+IG1fbWVzc2FnZVF1ZXVlOwogCiAgICAgUmV0YWluUHRyPENGVVJMUmVxdWVzdFJlZj4gbV9y
ZXF1ZXN0UmVzdWx0OwogICAgIFJldGFpblB0cjxDRkNhY2hlZFVSTFJlc3BvbnNlUmVmPiBtX2Nh
Y2hlZFJlc3BvbnNlUmVzdWx0OwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9jdXJsL0N1cmxSZXF1ZXN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybFJlcXVlc3QuY3BwCShyZXZpc2lvbiAyNTQ0MzkpCisrKyBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybFJlcXVlc3QuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC00MSw5ICs0MSw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotQ3Vy
bFJlcXVlc3Q6OkN1cmxSZXF1ZXN0KGNvbnN0IFJlc291cmNlUmVxdWVzdCZyZXF1ZXN0LCBDdXJs
UmVxdWVzdENsaWVudCogY2xpZW50LCBTaG91bGRTdXNwZW5kIHNob3VsZFN1c3BlbmQsIEVuYWJs
ZU11bHRpcGFydCBlbmFibGVNdWx0aXBhcnQsIENhcHR1cmVOZXR3b3JrTG9hZE1ldHJpY3MgY2Fw
dHVyZUV4dHJhTWV0cmljcywgTWVzc2FnZVF1ZXVlPEZ1bmN0aW9uPHZvaWQoKT4+KiBtZXNzYWdl
UXVldWUpCitDdXJsUmVxdWVzdDo6Q3VybFJlcXVlc3QoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JnJl
cXVlc3QsIEN1cmxSZXF1ZXN0Q2xpZW50KiBjbGllbnQsIFNob3VsZFN1c3BlbmQgc2hvdWxkU3Vz
cGVuZCwgRW5hYmxlTXVsdGlwYXJ0IGVuYWJsZU11bHRpcGFydCwgQ2FwdHVyZU5ldHdvcmtMb2Fk
TWV0cmljcyBjYXB0dXJlRXh0cmFNZXRyaWNzLCBSZWZQdHI8U3luY2hyb25vdXNMb2FkZXJNZXNz
YWdlUXVldWU+JiYgbWVzc2FnZVF1ZXVlKQogICAgIDogbV9jbGllbnQoY2xpZW50KQotICAgICwg
bV9tZXNzYWdlUXVldWUobWVzc2FnZVF1ZXVlKQorICAgICwgbV9tZXNzYWdlUXVldWUoV1RGTW92
ZShtZXNzYWdlUXVldWUpKQogICAgICwgbV9yZXF1ZXN0KHJlcXVlc3QuaXNvbGF0ZWRDb3B5KCkp
CiAgICAgLCBtX3Nob3VsZFN1c3BlbmQoc2hvdWxkU3VzcGVuZCA9PSBTaG91bGRTdXNwZW5kOjpZ
ZXMpCiAgICAgLCBtX2VuYWJsZU11bHRpcGFydChlbmFibGVNdWx0aXBhcnQgPT0gRW5hYmxlTXVs
dGlwYXJ0OjpZZXMpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwv
Q3VybFJlcXVlc3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL2N1cmwvQ3VybFJlcXVlc3QuaAkocmV2aXNpb24gMjU0NDM5KQorKysgU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxSZXF1ZXN0LmgJKHdvcmtpbmcgY29weSkKQEAg
LTQzLDYgKzQzLDcgQEAgY2xhc3MgQ3VybFJlcXVlc3RDbGllbnQ7CiBjbGFzcyBOZXR3b3JrTG9h
ZE1ldHJpY3M7CiBjbGFzcyBSZXNvdXJjZUVycm9yOwogY2xhc3MgU2hhcmVkQnVmZmVyOworY2xh
c3MgU3luY2hyb25vdXNMb2FkZXJNZXNzYWdlUXVldWU7CiAKIGNsYXNzIEN1cmxSZXF1ZXN0IDog
cHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPEN1cmxSZXF1ZXN0PiwgcHVibGljIEN1cmxSZXF1
ZXN0U2NoZWR1bGVyQ2xpZW50LCBwdWJsaWMgQ3VybE11bHRpcGFydEhhbmRsZUNsaWVudCB7CiAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3VybFJlcXVlc3QpOwpAQCAtNjMsOSArNjQsOSBAQCBw
dWJsaWM6CiAgICAgICAgIEV4dGVuZGVkCiAgICAgfTsKIAotICAgIHN0YXRpYyBSZWY8Q3VybFJl
cXVlc3Q+IGNyZWF0ZShjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIEN1cmxSZXF1ZXN0
Q2xpZW50JiBjbGllbnQsIFNob3VsZFN1c3BlbmQgc2hvdWxkU3VzcGVuZCA9IFNob3VsZFN1c3Bl
bmQ6Ok5vLCBFbmFibGVNdWx0aXBhcnQgZW5hYmxlTXVsdGlwYXJ0ID0gRW5hYmxlTXVsdGlwYXJ0
OjpObywgQ2FwdHVyZU5ldHdvcmtMb2FkTWV0cmljcyBjYXB0dXJlTWV0cmljcyA9IENhcHR1cmVO
ZXR3b3JrTG9hZE1ldHJpY3M6OkJhc2ljLCBNZXNzYWdlUXVldWU8RnVuY3Rpb248dm9pZCgpPj4q
IG1lc3NhZ2VRdWV1ZSA9IG51bGxwdHIpCisgICAgc3RhdGljIFJlZjxDdXJsUmVxdWVzdD4gY3Jl
YXRlKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgQ3VybFJlcXVlc3RDbGllbnQmIGNs
aWVudCwgU2hvdWxkU3VzcGVuZCBzaG91bGRTdXNwZW5kID0gU2hvdWxkU3VzcGVuZDo6Tm8sIEVu
YWJsZU11bHRpcGFydCBlbmFibGVNdWx0aXBhcnQgPSBFbmFibGVNdWx0aXBhcnQ6Ok5vLCBDYXB0
dXJlTmV0d29ya0xvYWRNZXRyaWNzIGNhcHR1cmVNZXRyaWNzID0gQ2FwdHVyZU5ldHdvcmtMb2Fk
TWV0cmljczo6QmFzaWMsIFJlZlB0cjxTeW5jaHJvbm91c0xvYWRlck1lc3NhZ2VRdWV1ZT4mJiBt
ZXNzYWdlUXVldWUgPSBudWxscHRyKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgQ3VybFJlcXVlc3QocmVxdWVzdCwgJmNsaWVudCwgc2hvdWxkU3VzcGVuZCwgZW5hYmxlTXVs
dGlwYXJ0LCBjYXB0dXJlTWV0cmljcywgbWVzc2FnZVF1ZXVlKSk7CisgICAgICAgIHJldHVybiBh
ZG9wdFJlZigqbmV3IEN1cmxSZXF1ZXN0KHJlcXVlc3QsICZjbGllbnQsIHNob3VsZFN1c3BlbmQs
IGVuYWJsZU11bHRpcGFydCwgY2FwdHVyZU1ldHJpY3MsIFdURk1vdmUobWVzc2FnZVF1ZXVlKSkp
OwogICAgIH0KIAogICAgIHZpcnR1YWwgfkN1cmxSZXF1ZXN0KCkgPSBkZWZhdWx0OwpAQCAtMTA1
LDcgKzEwNiw3IEBAIHByaXZhdGU6CiAgICAgICAgIEZpbmlzaFRyYW5zZmVyCiAgICAgfTsKIAot
ICAgIEN1cmxSZXF1ZXN0KGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIEN1cmxSZXF1ZXN0Q2xpZW50
KiwgU2hvdWxkU3VzcGVuZCwgRW5hYmxlTXVsdGlwYXJ0LCBDYXB0dXJlTmV0d29ya0xvYWRNZXRy
aWNzLCBNZXNzYWdlUXVldWU8RnVuY3Rpb248dm9pZCgpPj4qKTsKKyAgICBDdXJsUmVxdWVzdChj
b25zdCBSZXNvdXJjZVJlcXVlc3QmLCBDdXJsUmVxdWVzdENsaWVudCosIFNob3VsZFN1c3BlbmQs
IEVuYWJsZU11bHRpcGFydCwgQ2FwdHVyZU5ldHdvcmtMb2FkTWV0cmljcywgUmVmUHRyPFN5bmNo
cm9ub3VzTG9hZGVyTWVzc2FnZVF1ZXVlPiYmKTsKIAogICAgIHZvaWQgcmV0YWluKCkgb3ZlcnJp
ZGUgeyByZWYoKTsgfQogICAgIHZvaWQgcmVsZWFzZSgpIG92ZXJyaWRlIHsgZGVyZWYoKTsgfQpA
QCAtMTY4LDcgKzE2OSw3IEBAIHByaXZhdGU6CiAgICAgTG9jayBtX3N0YXR1c011dGV4OwogICAg
IGJvb2wgbV9jYW5jZWxsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9jb21wbGV0ZWQgeyBmYWxz
ZSB9OwotICAgIE1lc3NhZ2VRdWV1ZTxGdW5jdGlvbjx2b2lkKCk+PiogbV9tZXNzYWdlUXVldWUg
eyB9OworICAgIFJlZlB0cjxTeW5jaHJvbm91c0xvYWRlck1lc3NhZ2VRdWV1ZT4gbV9tZXNzYWdl
UXVldWU7CiAKICAgICBSZXNvdXJjZVJlcXVlc3QgbV9yZXF1ZXN0OwogICAgIFN0cmluZyBtX3Vz
ZXI7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUhh
bmRsZU1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L21hYy9SZXNvdXJjZUhhbmRsZU1hYy5tbQkocmV2aXNpb24gMjU0NDM5KQorKysgU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VIYW5kbGVNYWMubW0JKHdvcmtpbmcg
Y29weSkKQEAgLTMwOSwxNSArMzA5LDE1IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6OnVuc2NoZWR1
bGUoU2NoZWR1bGUKICAgICAgICAgW2QtPm1fY29ubmVjdGlvbi5nZXQoKSB1bnNjaGVkdWxlRnJv
bVJ1bkxvb3A6cnVuTG9vcCBmb3JNb2RlOihfX2JyaWRnZSBOU1N0cmluZyAqKXBhaXIubW9kZSgp
XTsKIH0KIAotaWQgUmVzb3VyY2VIYW5kbGU6Om1ha2VEZWxlZ2F0ZShib29sIHNob3VsZFVzZUNy
ZWRlbnRpYWxTdG9yYWdlLCBNZXNzYWdlUXVldWU8RnVuY3Rpb248dm9pZCgpPj4qIHF1ZXVlKQor
aWQgUmVzb3VyY2VIYW5kbGU6Om1ha2VEZWxlZ2F0ZShib29sIHNob3VsZFVzZUNyZWRlbnRpYWxT
dG9yYWdlLCBSZWZQdHI8U3luY2hyb25vdXNMb2FkZXJNZXNzYWdlUXVldWU+JiYgcXVldWUpCiB7
CiAgICAgQVNTRVJUKCFkLT5tX2RlbGVnYXRlKTsKIAogICAgIGlkIDxOU1VSTENvbm5lY3Rpb25E
ZWxlZ2F0ZT4gZGVsZWdhdGU7CiAgICAgaWYgKHNob3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlKQot
ICAgICAgICBkZWxlZ2F0ZSA9IFtbV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1
ZURlbGVnYXRlIGFsbG9jXSBpbml0V2l0aEhhbmRsZTp0aGlzIG1lc3NhZ2VRdWV1ZTpxdWV1ZV07
CisgICAgICAgIGRlbGVnYXRlID0gW1tXZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1
ZXVlRGVsZWdhdGUgYWxsb2NdIGluaXRXaXRoSGFuZGxlOnRoaXMgbWVzc2FnZVF1ZXVlOldURk1v
dmUocXVldWUpXTsKICAgICBlbHNlCi0gICAgICAgIGRlbGVnYXRlID0gW1tXZWJDb3JlUmVzb3Vy
Y2VIYW5kbGVXaXRoQ3JlZGVudGlhbFN0b3JhZ2VBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUgYWxs
b2NdIGluaXRXaXRoSGFuZGxlOnRoaXMgbWVzc2FnZVF1ZXVlOnF1ZXVlXTsKKyAgICAgICAgZGVs
ZWdhdGUgPSBbW1dlYkNvcmVSZXNvdXJjZUhhbmRsZVdpdGhDcmVkZW50aWFsU3RvcmFnZUFzT3Bl
cmF0aW9uUXVldWVEZWxlZ2F0ZSBhbGxvY10gaW5pdFdpdGhIYW5kbGU6dGhpcyBtZXNzYWdlUXVl
dWU6V1RGTW92ZShxdWV1ZSldOwogCiAgICAgZC0+bV9kZWxlZ2F0ZSA9IGRlbGVnYXRlOwogICAg
IFtkZWxlZ2F0ZSByZWxlYXNlXTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvbWFjL1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1dlYkNvcmVS
ZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZS5oCShyZXZpc2lvbiAyNTQ0Mzkp
CisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9XZWJDb3JlUmVzb3VyY2VI
YW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtMjksMTIg
KzI5LDE0IEBACiAjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL0xvY2su
aD4KICNpbmNsdWRlIDx3dGYvTWVzc2FnZVF1ZXVlLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5o
PgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KICNpbmNsdWRlIDx3dGYvU2NoZWR1bGVQYWly
Lmg+CiAjaW5jbHVkZSA8d3RmL3RocmVhZHMvQmluYXJ5U2VtYXBob3JlLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIGNsYXNzIFJlc291cmNlSGFuZGxlOworY2xhc3MgU3luY2hyb25vdXNMb2Fk
ZXJNZXNzYWdlUXVldWU7CiB9CiAKIEBpbnRlcmZhY2UgV2ViQ29yZVJlc291cmNlSGFuZGxlQXNP
cGVyYXRpb25RdWV1ZURlbGVnYXRlIDogTlNPYmplY3QgPE5TVVJMQ29ubmVjdGlvbkRlbGVnYXRl
PiB7CkBAIC00Miw3ICs0NCw3IEBAIEBpbnRlcmZhY2UgV2ViQ29yZVJlc291cmNlSGFuZGxlQXNP
cGVyYXQKIAogICAgIC8vIFN5bmNocm9ub3VzIGRlbGVnYXRlcyBvbiBvcGVyYXRpb24gcXVldWUg
d2FpdCB1bnRpbCBtYWluIHRocmVhZCBzZW5kcyBhbiBhc3luY2hyb25vdXMgcmVzcG9uc2UuCiAg
ICAgQmluYXJ5U2VtYXBob3JlIG1fc2VtYXBob3JlOwotICAgIE1lc3NhZ2VRdWV1ZTxGdW5jdGlv
bjx2b2lkKCk+PiogbV9tZXNzYWdlUXVldWU7CisgICAgUmVmUHRyPFdlYkNvcmU6OlN5bmNocm9u
b3VzTG9hZGVyTWVzc2FnZVF1ZXVlPiBtX21lc3NhZ2VRdWV1ZTsKICAgICBSZXRhaW5QdHI8TlNV
UkxSZXF1ZXN0PiBtX3JlcXVlc3RSZXN1bHQ7CiAgICAgTG9jayBtX211dGV4OwogICAgIFJldGFp
blB0cjxOU0NhY2hlZFVSTFJlc3BvbnNlPiBtX2NhY2hlZFJlc3BvbnNlUmVzdWx0OwpAQCAtNTEs
NyArNTMsNyBAQCBAaW50ZXJmYWNlIFdlYkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0CiB9CiAK
IC0gKHZvaWQpZGV0YWNoSGFuZGxlOwotLSAoaWQpaW5pdFdpdGhIYW5kbGU6KFdlYkNvcmU6OlJl
c291cmNlSGFuZGxlKiloYW5kbGUgbWVzc2FnZVF1ZXVlOihNZXNzYWdlUXVldWU8RnVuY3Rpb248
dm9pZCgpPj4qKW1lc3NhZ2VRdWV1ZTsKKy0gKGlkKWluaXRXaXRoSGFuZGxlOihXZWJDb3JlOjpS
ZXNvdXJjZUhhbmRsZSopaGFuZGxlIG1lc3NhZ2VRdWV1ZTooUmVmUHRyPFdlYkNvcmU6OlN5bmNo
cm9ub3VzTG9hZGVyTWVzc2FnZVF1ZXVlPiYmKW1lc3NhZ2VRdWV1ZTsKIEBlbmQKIAogQGludGVy
ZmFjZSBXZWJDb3JlUmVzb3VyY2VIYW5kbGVXaXRoQ3JlZGVudGlhbFN0b3JhZ2VBc09wZXJhdGlv
blF1ZXVlRGVsZWdhdGUgOiBXZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVs
ZWdhdGUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1dlYkNvcmVS
ZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZS5tbQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9XZWJDb3JlUmVzb3VyY2VIYW5kbGVB
c09wZXJhdGlvblF1ZXVlRGVsZWdhdGUubW0JKHJldmlzaW9uIDI1NDQzOSkKKysrIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0
aW9uUXVldWVEZWxlZ2F0ZS5tbQkod29ya2luZyBjb3B5KQpAQCAtNzksNyArNzksNyBAQCAtICh2
b2lkKWNhbGxGdW5jdGlvbk9uTWFpblRocmVhZDooRnVuY3RpCiAgICAgICAgIENGUnVuTG9vcFBl
cmZvcm1CbG9jayhwYWlyLT5ydW5Mb29wKCksIHBhaXItPm1vZGUoKSwgYmxvY2suZ2V0KCkpOwog
fQogCi0tIChpZClpbml0V2l0aEhhbmRsZTooUmVzb3VyY2VIYW5kbGUqKWhhbmRsZSBtZXNzYWdl
UXVldWU6KE1lc3NhZ2VRdWV1ZTxGdW5jdGlvbjx2b2lkKCk+PiopbWVzc2FnZVF1ZXVlCistIChp
ZClpbml0V2l0aEhhbmRsZTooV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGUqKWhhbmRsZSBtZXNzYWdl
UXVldWU6KFJlZlB0cjxXZWJDb3JlOjpTeW5jaHJvbm91c0xvYWRlck1lc3NhZ2VRdWV1ZT4mJilt
ZXNzYWdlUXVldWUKIHsKICAgICBzZWxmID0gW3NlbGYgaW5pdF07CiAgICAgaWYgKCFzZWxmKQpA
QCAtOTAsNyArOTAsNyBAQCAtIChpZClpbml0V2l0aEhhbmRsZTooUmVzb3VyY2VIYW5kbGUqKWhh
CiAgICAgICAgIGlmIChhdXRvKiBwYWlycyA9IG1faGFuZGxlLT5jb250ZXh0KCktPnNjaGVkdWxl
ZFJ1bkxvb3BQYWlycygpKQogICAgICAgICAgICAgbV9zY2hlZHVsZWRQYWlycyA9ICpwYWlyczsK
ICAgICB9Ci0gICAgbV9tZXNzYWdlUXVldWUgPSBtZXNzYWdlUXVldWU7CisgICAgbV9tZXNzYWdl
UXVldWUgPSBXVEZNb3ZlKG1lc3NhZ2VRdWV1ZSk7CiAKICAgICByZXR1cm4gc2VsZjsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>387824</attachid>
            <date>2020-01-15 12:45:37 -0800</date>
            <delta_ts>2020-01-15 16:04:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206261-20200115124536.patch</filename>
            <type>text/plain</type>
            <size>19687</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1NDU3NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBACisyMDIwLTAxLTE1ICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgS2VlcCBSZWZQ
dHIgaW5zdGVhZCBvZiByYXcgcG9pbnRlciB0byBtZXNzYWdlIHF1ZXVlIG9uIFdlYkNvcmVSZXNv
dXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2MjYxCisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS81NzU2MjU5Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBEYXZpZCBLaWx6ZXIuCisKKyAgICAg
ICAgVGhlcmUncyBubyByZWFzb24gdG8ga2VlcCBhIHJhdyBwb2ludGVyIHdoZW4gd2UgY2FuIGtl
ZXAgYSBzbWFydCBwb2ludGVyLgorICAgICAgICBUaGlzIHdpbGwgbWFrZSB0aGlzIG1vcmUgcm9i
dXN0IGFnYWluc3Qgc29tZW9uZSBmb3JnZXR0aW5nIHRvIGNsZWFyIHRoaXMgcG9pbnRlciB2YWx1
ZS4KKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1N5bmNocm9ub3VzTG9hZGVyQ2xpZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlN5bmNocm9ub3VzTG9hZGVyQ2xpZW50OjpTeW5jaHJvbm91c0xvYWRlckNs
aWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTeW5jaHJvbm91c0xvYWRlckNsaWVudDo6ZGlkRmlu
aXNoTG9hZGluZyk6CisgICAgICAgIChXZWJDb3JlOjpTeW5jaHJvbm91c0xvYWRlckNsaWVudDo6
ZGlkRmFpbCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9TeW5jaHJvbm91c0xvYWRlckNs
aWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6U3luY2hyb25vdXNMb2FkZXJNZXNzYWdlUXVldWU6
OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTeW5jaHJvbm91c0xvYWRlck1lc3NhZ2VRdWV1
ZTo6YXBwZW5kKToKKyAgICAgICAgKFdlYkNvcmU6OlN5bmNocm9ub3VzTG9hZGVyTWVzc2FnZVF1
ZXVlOjpraWxsKToKKyAgICAgICAgKFdlYkNvcmU6OlN5bmNocm9ub3VzTG9hZGVyTWVzc2FnZVF1
ZXVlOjpraWxsZWQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U3luY2hyb25vdXNMb2FkZXJN
ZXNzYWdlUXVldWU6OndhaXRGb3JNZXNzYWdlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3Jr
L21hYy9SZXNvdXJjZUhhbmRsZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFu
ZGxlOjptYWtlRGVsZWdhdGUpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvbWFjL1dlYkNv
cmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZS5oOgorICAgICAgICAqIHBs
YXRmb3JtL25ldHdvcmsvbWFjL1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVE
ZWxlZ2F0ZS5tbToKKyAgICAgICAgKC1bV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25R
dWV1ZURlbGVnYXRlIGNhbGxGdW5jdGlvbk9uTWFpblRocmVhZDpdKToKKyAgICAgICAgKC1bV2Vi
Q29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlIGluaXRXaXRoSGFuZGxl
Om1lc3NhZ2VRdWV1ZTpdKToKKyAgICAgICAgKC1bV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVy
YXRpb25RdWV1ZURlbGVnYXRlIGNvbm5lY3Rpb246d2lsbFNlbmRSZXF1ZXN0OnJlZGlyZWN0UmVz
cG9uc2U6XSk6CisKIDIwMjAtMDEtMTUgIFBpbmtpIEd5YW5jaGFuZGFuaSAgPHBneWFuY2hhbmRh
bmlAYXBwbGUuY29tPgogCiAgICAgICAgIE51bGwgUHRyIERlcmVmIEAgV2ViQ29yZTo6RG9jdW1l
bnRMb2FkZXI6OmNsZWFyTWFpblJlc291cmNlTG9hZGVyCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oCShyZXZpc2lvbiAyNTQ0MzEp
CisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmgJKHdv
cmtpbmcgY29weSkKQEAgLTg2LDYgKzg2LDcgQEAgY2xhc3MgTmV0d29ya0xvYWRNZXRyaWNzOwog
Y2xhc3MgUmVzb3VyY2VSZXF1ZXN0OwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIGNsYXNzIFNo
YXJlZEJ1ZmZlcjsKK2NsYXNzIFN5bmNocm9ub3VzTG9hZGVyTWVzc2FnZVF1ZXVlOwogY2xhc3Mg
VGltZXI7CiAKICNpZiBVU0UoQ1VSTCkKQEAgLTEyMyw3ICsxMjQsNyBAQCBwdWJsaWM6CiAKICNp
ZiBQTEFURk9STShDT0NPQSkKICAgICBXRUJDT1JFX0VYUE9SVCBOU1VSTENvbm5lY3Rpb24gKmNv
bm5lY3Rpb24oKSBjb25zdDsKLSAgICBpZCBtYWtlRGVsZWdhdGUoYm9vbCwgV1RGOjpNZXNzYWdl
UXVldWU8V1RGOjpGdW5jdGlvbjx2b2lkKCk+PiopOworICAgIGlkIG1ha2VEZWxlZ2F0ZShib29s
LCBSZWZQdHI8U3luY2hyb25vdXNMb2FkZXJNZXNzYWdlUXVldWU+JiYpOwogICAgIGlkIGRlbGVn
YXRlKCk7CiAgICAgdm9pZCByZWxlYXNlRGVsZWdhdGUoKTsKICNlbmRpZgpAQCAtMjMyLDcgKzIz
Myw3IEBAIHByaXZhdGU6CiAjZW5kaWYKIAogI2lmIFVTRShDRlVSTENPTk5FQ1RJT04pCi0gICAg
dm9pZCBjcmVhdGVDRlVSTENvbm5lY3Rpb24oYm9vbCBzaG91bGRVc2VDcmVkZW50aWFsU3RvcmFn
ZSwgYm9vbCBzaG91bGRDb250ZW50U25pZmYsIGJvb2wgc2hvdWxkQ29udGVudEVuY29kaW5nU25p
ZmYsIFdURjo6TWVzc2FnZVF1ZXVlPFdURjo6RnVuY3Rpb248dm9pZCgpPj4qLCBDRkRpY3Rpb25h
cnlSZWYgY2xpZW50UHJvcGVydGllcyk7CisgICAgdm9pZCBjcmVhdGVDRlVSTENvbm5lY3Rpb24o
Ym9vbCBzaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZSwgYm9vbCBzaG91bGRDb250ZW50U25pZmYs
IGJvb2wgc2hvdWxkQ29udGVudEVuY29kaW5nU25pZmYsIFJlZlB0cjxTeW5jaHJvbm91c0xvYWRl
ck1lc3NhZ2VRdWV1ZT4mJiwgQ0ZEaWN0aW9uYXJ5UmVmIGNsaWVudFByb3BlcnRpZXMpOwogI2Vu
ZGlmCiAKICNpZiBQTEFURk9STShNQUMpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL1Jlc291cmNlSGFuZGxlSW50ZXJuYWwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlSW50ZXJuYWwuaAkocmV2aXNpb24g
MjU0NDMxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRs
ZUludGVybmFsLmgJKHdvcmtpbmcgY29weSkKQEAgLTM5LDYgKzM5LDcgQEAKIAogI2lmIFVTRShD
VVJMKQogI2luY2x1ZGUgIkN1cmxSZXF1ZXN0LmgiCisjaW5jbHVkZSAiU3luY2hyb25vdXNMb2Fk
ZXJDbGllbnQuaCIKICNpbmNsdWRlIDx3dGYvTWVzc2FnZVF1ZXVlLmg+CiAjaW5jbHVkZSA8d3Rm
L01vbm90b25pY1RpbWUuaD4KICNlbmRpZgpAQCAtMTI3LDcgKzEyOCw3IEBAIHB1YmxpYzoKICAg
ICB1bnNpZ25lZCBtX2F1dGhGYWlsdXJlQ291bnQgeyAwIH07CiAgICAgYm9vbCBtX2FkZGVkQ2Fj
aGVWYWxpZGF0aW9uSGVhZGVycyB7IGZhbHNlIH07CiAgICAgUmVmUHRyPEN1cmxSZXF1ZXN0PiBt
X2N1cmxSZXF1ZXN0OwotICAgIE1lc3NhZ2VRdWV1ZTxXVEY6OkZ1bmN0aW9uPHZvaWQoKT4+KiBt
X21lc3NhZ2VRdWV1ZSB7IH07CisgICAgUmVmUHRyPFN5bmNocm9ub3VzTG9hZGVyTWVzc2FnZVF1
ZXVlPiBtX21lc3NhZ2VRdWV1ZTsKICAgICBNb25vdG9uaWNUaW1lIG1fc3RhcnRUaW1lOwogI2Vu
ZGlmCiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvU3luY2hyb25vdXNM
b2FkZXJDbGllbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvU3luY2hyb25vdXNMb2FkZXJDbGllbnQuY3BwCShyZXZpc2lvbiAyNTQ0MzEpCisrKyBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1N5bmNocm9ub3VzTG9hZGVyQ2xpZW50LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMzMsNiArMzMsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKK1N5bmNocm9ub3VzTG9hZGVyQ2xpZW50OjpTeW5jaHJvbm91c0xvYWRlckNsaWVudCgpCisg
ICAgOiBtX21lc3NhZ2VRdWV1ZShTeW5jaHJvbm91c0xvYWRlck1lc3NhZ2VRdWV1ZTo6Y3JlYXRl
KCkpIHsgfQorCiBTeW5jaHJvbm91c0xvYWRlckNsaWVudDo6flN5bmNocm9ub3VzTG9hZGVyQ2xp
ZW50KCkgPSBkZWZhdWx0OwogCiB2b2lkIFN5bmNocm9ub3VzTG9hZGVyQ2xpZW50Ojp3aWxsU2Vu
ZFJlcXVlc3RBc3luYyhSZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBSZXNvdXJjZVJlcXVlc3QmJiBy
ZXF1ZXN0LCBSZXNvdXJjZVJlc3BvbnNlJiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUmVzb3Vy
Y2VSZXF1ZXN0JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQpAQCAtNzMsMTggKzc2LDMwIEBAIHZv
aWQgU3luY2hyb25vdXNMb2FkZXJDbGllbnQ6OmRpZFJlY2VpdmUKICAgICBtX2RhdGEuYXBwZW5k
KGRhdGEsIGxlbmd0aCk7CiB9CiAKLXZvaWQgU3luY2hyb25vdXNMb2FkZXJDbGllbnQ6OmRpZEZp
bmlzaExvYWRpbmcoUmVzb3VyY2VIYW5kbGUqKQordm9pZCBTeW5jaHJvbm91c0xvYWRlckNsaWVu
dDo6ZGlkRmluaXNoTG9hZGluZyhSZXNvdXJjZUhhbmRsZSogaGFuZGxlKQogewotICAgIG1fbWVz
c2FnZVF1ZXVlLmtpbGwoKTsKKyAgICBtX21lc3NhZ2VRdWV1ZS0+a2lsbCgpOworI2lmIFBMQVRG
T1JNKENPQ09BKQorICAgIGlmIChoYW5kbGUpCisgICAgICAgIGhhbmRsZS0+cmVsZWFzZURlbGVn
YXRlKCk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShoYW5kbGUpOworI2VuZGlmCiB9CiAKLXZv
aWQgU3luY2hyb25vdXNMb2FkZXJDbGllbnQ6OmRpZEZhaWwoUmVzb3VyY2VIYW5kbGUqLCBjb25z
dCBSZXNvdXJjZUVycm9yJiBlcnJvcikKK3ZvaWQgU3luY2hyb25vdXNMb2FkZXJDbGllbnQ6OmRp
ZEZhaWwoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSwgY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3Ip
CiB7CiAgICAgQVNTRVJUKG1fZXJyb3IuaXNOdWxsKCkpOwogCiAgICAgbV9lcnJvciA9IGVycm9y
OwogICAgIAotICAgIG1fbWVzc2FnZVF1ZXVlLmtpbGwoKTsKKyAgICBtX21lc3NhZ2VRdWV1ZS0+
a2lsbCgpOworI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIGlmIChoYW5kbGUpCisgICAgICAgIGhh
bmRsZS0+cmVsZWFzZURlbGVnYXRlKCk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShoYW5kbGUp
OworI2VuZGlmCiB9CiAKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
U3luY2hyb25vdXNMb2FkZXJDbGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL1N5bmNocm9ub3VzTG9hZGVyQ2xpZW50LmgJKHJldmlzaW9uIDI1NDQz
MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvU3luY2hyb25vdXNMb2FkZXJD
bGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMzAsMTggKzMwLDM0IEBACiAjaW5jbHVkZSAiUmVz
b3VyY2VSZXNwb25zZS5oIgogI2luY2x1ZGUgPHd0Zi9GdW5jdGlvbi5oPgogI2luY2x1ZGUgPHd0
Zi9NZXNzYWdlUXVldWUuaD4KKyNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBTeW5jaHJvbm91c0xvYWRlck1lc3NhZ2VR
dWV1ZSA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxTeW5jaHJvbm91c0xvYWRlck1lc3Nh
Z2VRdWV1ZT4geworcHVibGljOgorICAgIHN0YXRpYyBSZWY8U3luY2hyb25vdXNMb2FkZXJNZXNz
YWdlUXVldWU+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3luY2hyb25vdXNMb2Fk
ZXJNZXNzYWdlUXVldWUpOyB9CisKKyAgICB2b2lkIGFwcGVuZChzdGQ6OnVuaXF1ZV9wdHI8RnVu
Y3Rpb248dm9pZCgpPj4mJiB0YXNrKSB7IG1fcXVldWUuYXBwZW5kKFdURk1vdmUodGFzaykpOyB9
CisgICAgdm9pZCBraWxsKCkgeyBtX3F1ZXVlLmtpbGwoKTsgfQorICAgIGJvb2wga2lsbGVkKCkg
Y29uc3QgeyByZXR1cm4gbV9xdWV1ZS5raWxsZWQoKTsgfQorICAgIHN0ZDo6dW5pcXVlX3B0cjxG
dW5jdGlvbjx2b2lkKCk+PiB3YWl0Rm9yTWVzc2FnZSgpIHsgcmV0dXJuIG1fcXVldWUud2FpdEZv
ck1lc3NhZ2UoKTsgfQorCitwcml2YXRlOgorICAgIFN5bmNocm9ub3VzTG9hZGVyTWVzc2FnZVF1
ZXVlKCkgPSBkZWZhdWx0OworICAgIE1lc3NhZ2VRdWV1ZTxGdW5jdGlvbjx2b2lkKCk+PiBtX3F1
ZXVlOworfTsKKwogY2xhc3MgU3luY2hyb25vdXNMb2FkZXJDbGllbnQgZmluYWwgOiBwdWJsaWMg
UmVzb3VyY2VIYW5kbGVDbGllbnQgewogcHVibGljOgorICAgIFN5bmNocm9ub3VzTG9hZGVyQ2xp
ZW50KCk7CiAgICAgdmlydHVhbCB+U3luY2hyb25vdXNMb2FkZXJDbGllbnQoKTsKIAogICAgIHZv
aWQgc2V0QWxsb3dTdG9yZWRDcmVkZW50aWFscyhib29sIGFsbG93KSB7IG1fYWxsb3dTdG9yZWRD
cmVkZW50aWFscyA9IGFsbG93OyB9CiAgICAgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9u
c2UoKSBjb25zdCB7IHJldHVybiBtX3Jlc3BvbnNlOyB9CiAgICAgVmVjdG9yPGNoYXI+JiBtdXRh
YmxlRGF0YSgpIHsgcmV0dXJuIG1fZGF0YTsgfQogICAgIGNvbnN0IFJlc291cmNlRXJyb3ImIGVy
cm9yKCkgY29uc3QgeyByZXR1cm4gbV9lcnJvcjsgfQotICAgIE1lc3NhZ2VRdWV1ZTxGdW5jdGlv
bjx2b2lkKCk+PiYgbWVzc2FnZVF1ZXVlKCkgeyByZXR1cm4gbV9tZXNzYWdlUXVldWU7IH0KKyAg
ICBTeW5jaHJvbm91c0xvYWRlck1lc3NhZ2VRdWV1ZSYgbWVzc2FnZVF1ZXVlKCkgeyByZXR1cm4g
bV9tZXNzYWdlUXVldWUuZ2V0KCk7IH0KIAogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBSZXNv
dXJjZUVycm9yIHBsYXRmb3JtQmFkUmVzcG9uc2VFcnJvcigpOwogCkBAIC02MSw2ICs3Nyw2IEBA
IHByaXZhdGU6CiAgICAgUmVzb3VyY2VSZXNwb25zZSBtX3Jlc3BvbnNlOwogICAgIFZlY3Rvcjxj
aGFyPiBtX2RhdGE7CiAgICAgUmVzb3VyY2VFcnJvciBtX2Vycm9yOwotICAgIE1lc3NhZ2VRdWV1
ZTxGdW5jdGlvbjx2b2lkKCk+PiBtX21lc3NhZ2VRdWV1ZTsKKyAgICBSZWY8U3luY2hyb25vdXNM
b2FkZXJNZXNzYWdlUXVldWU+IG1fbWVzc2FnZVF1ZXVlOwogfTsKIH0KSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VIYW5kbGVDRk5ldC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZUhhbmRs
ZUNGTmV0LmNwcAkocmV2aXNpb24gMjU0NDMxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9jZi9SZXNvdXJjZUhhbmRsZUNGTmV0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTMx
LDcgKzEzMSw3IEBAIHN0YXRpYyB2b2lkIHNldENsaWVudENlcnRpZmljYXRlSW5TU0xQcm8KIH0K
ICNlbmRpZgogCi12b2lkIFJlc291cmNlSGFuZGxlOjpjcmVhdGVDRlVSTENvbm5lY3Rpb24oYm9v
bCBzaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZSwgYm9vbCBzaG91bGRDb250ZW50U25pZmYsIGJv
b2wgc2hvdWxkQ29udGVudEVuY29kaW5nU25pZmYsIE1lc3NhZ2VRdWV1ZTxGdW5jdGlvbjx2b2lk
KCk+PiogbWVzc2FnZVF1ZXVlLCBDRkRpY3Rpb25hcnlSZWYgY2xpZW50UHJvcGVydGllcykKK3Zv
aWQgUmVzb3VyY2VIYW5kbGU6OmNyZWF0ZUNGVVJMQ29ubmVjdGlvbihib29sIHNob3VsZFVzZUNy
ZWRlbnRpYWxTdG9yYWdlLCBib29sIHNob3VsZENvbnRlbnRTbmlmZiwgYm9vbCBzaG91bGRDb250
ZW50RW5jb2RpbmdTbmlmZiwgUmVmUHRyPFN5bmNocm9ub3VzTG9hZGVyTWVzc2FnZVF1ZXVlPiYm
IG1lc3NhZ2VRdWV1ZSwgQ0ZEaWN0aW9uYXJ5UmVmIGNsaWVudFByb3BlcnRpZXMpCiB7CiAgICAg
aWYgKCghZC0+bV91c2VyLmlzRW1wdHkoKSB8fCAhZC0+bV9wYXNzLmlzRW1wdHkoKSkgJiYgIWZp
cnN0UmVxdWVzdCgpLnVybCgpLnByb3RvY29sSXNJbkhUVFBGYW1pbHkoKSkgewogICAgICAgICAv
LyBDcmVkZW50aWFscyBmb3IgZnRwIGNhbiBvbmx5IGJlIHBhc3NlZCBpbiBVUkwsIHRoZSBkaWRS
ZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UgZGVsZWdhdGUgY2FsbCB3b24ndCBiZSBtYWRl
LgpAQCAtMjM5LDcgKzIzOSw3IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6OmNyZWF0ZUNGVVJMQ29u
bmVjdGkKICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShwcm9wZXJ0aWVzRGljdGlvbmFyeS5nZXQo
KSwga0NGVVJMQ29ubmVjdGlvblNvY2tldFN0cmVhbVByb3BlcnRpZXMsIHN0cmVhbVByb3BlcnRp
ZXMpOwogICAgIENGUmVsZWFzZShzdHJlYW1Qcm9wZXJ0aWVzKTsKIAotICAgIGQtPm1fY29ubmVj
dGlvbkRlbGVnYXRlID0gYWRvcHRSZWYobmV3IFJlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9u
RGVsZWdhdGVXaXRoT3BlcmF0aW9uUXVldWUodGhpcywgbWVzc2FnZVF1ZXVlKSk7CisgICAgZC0+
bV9jb25uZWN0aW9uRGVsZWdhdGUgPSBhZG9wdFJlZihuZXcgUmVzb3VyY2VIYW5kbGVDRlVSTENv
bm5lY3Rpb25EZWxlZ2F0ZVdpdGhPcGVyYXRpb25RdWV1ZSh0aGlzLCBXVEZNb3ZlKG1lc3NhZ2VR
dWV1ZSkpKTsKICAgICBkLT5tX2Nvbm5lY3Rpb25EZWxlZ2F0ZS0+c2V0dXBSZXF1ZXN0KHJlcXVl
c3QuZ2V0KCkpOwogCiAgICAgQ0ZVUkxDb25uZWN0aW9uQ2xpZW50X1Y2IGNsaWVudCA9IGQtPm1f
Y29ubmVjdGlvbkRlbGVnYXRlLT5tYWtlQ29ubmVjdGlvbkNsaWVudCgpOwpJbmRleDogU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZUhhbmRsZUNGVVJMQ29ubmVjdGlv
bkRlbGVnYXRlV2l0aE9wZXJhdGlvblF1ZXVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVs
ZWdhdGVXaXRoT3BlcmF0aW9uUXVldWUuY3BwCShyZXZpc2lvbiAyNTQ0MzEpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9u
RGVsZWdhdGVXaXRoT3BlcmF0aW9uUXVldWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw2ICsz
Niw3IEBACiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVDbGllbnQuaCIKICNpbmNsdWRlICJSZXNv
dXJjZVJlc3BvbnNlLmgiCiAjaW5jbHVkZSAiU2hhcmVkQnVmZmVyLmgiCisjaW5jbHVkZSAiU3lu
Y2hyb25vdXNMb2FkZXJDbGllbnQuaCIKICNpZiAhUExBVEZPUk0oV0lOKQogI2luY2x1ZGUgIldl
YkNvcmVVUkxSZXNwb25zZS5oIgogI2VuZGlmCkBAIC00OCw5ICs0OSw5IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZVdpdGhP
cGVyYXRpb25RdWV1ZTo6UmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZVdpdGhP
cGVyYXRpb25RdWV1ZShSZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBNZXNzYWdlUXVldWU8RnVuY3Rp
b248dm9pZCgpPj4qIG1lc3NhZ2VRdWV1ZSkKK1Jlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9u
RGVsZWdhdGVXaXRoT3BlcmF0aW9uUXVldWU6OlJlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9u
RGVsZWdhdGVXaXRoT3BlcmF0aW9uUXVldWUoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSwgUmVmUHRy
PFN5bmNocm9ub3VzTG9hZGVyTWVzc2FnZVF1ZXVlPiYmIG1lc3NhZ2VRdWV1ZSkKICAgICA6IFJl
c291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVsZWdhdGUoaGFuZGxlKQotICAgICwgbV9tZXNz
YWdlUXVldWUobWVzc2FnZVF1ZXVlKQorICAgICwgbV9tZXNzYWdlUXVldWUoV1RGTW92ZShtZXNz
YWdlUXVldWUpKQogewogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L2NmL1Jlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVsZWdhdGVXaXRoT3BlcmF0aW9uUXVl
dWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jl
c291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVsZWdhdGVXaXRoT3BlcmF0aW9uUXVldWUuaAko
cmV2aXNpb24gMjU0NDMxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9S
ZXNvdXJjZUhhbmRsZUNGVVJMQ29ubmVjdGlvbkRlbGVnYXRlV2l0aE9wZXJhdGlvblF1ZXVlLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTM2LDkgKzM2LDExIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAorY2xhc3MgU3luY2hyb25vdXNMb2FkZXJNZXNzYWdlUXVldWU7CisKIGNsYXNzIFJlc291cmNl
SGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVsZWdhdGVXaXRoT3BlcmF0aW9uUXVldWUgZmluYWwgOiBw
dWJsaWMgUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZSB7CiBwdWJsaWM6Ci0g
ICAgUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZVdpdGhPcGVyYXRpb25RdWV1
ZShSZXNvdXJjZUhhbmRsZSosIE1lc3NhZ2VRdWV1ZTxGdW5jdGlvbjx2b2lkKCk+PiopOworICAg
IFJlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVsZWdhdGVXaXRoT3BlcmF0aW9uUXVldWUo
UmVzb3VyY2VIYW5kbGUqLCBSZWZQdHI8U3luY2hyb25vdXNMb2FkZXJNZXNzYWdlUXVldWU+JiYp
OwogICAgIHZpcnR1YWwgflJlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVsZWdhdGVXaXRo
T3BlcmF0aW9uUXVldWUoKTsKIAogcHJpdmF0ZToKQEAgLTYzLDcgKzY1LDcgQEAgcHJpdmF0ZToK
ICNlbmRpZgogCiAgICAgQmluYXJ5U2VtYXBob3JlIG1fc2VtYXBob3JlOwotICAgIE1lc3NhZ2VR
dWV1ZTxGdW5jdGlvbjx2b2lkKCk+PiogbV9tZXNzYWdlUXVldWUgeyBudWxscHRyIH07CisgICAg
UmVmUHRyPFN5bmNocm9ub3VzTG9hZGVyTWVzc2FnZVF1ZXVlPiBtX21lc3NhZ2VRdWV1ZTsKIAog
ICAgIFJldGFpblB0cjxDRlVSTFJlcXVlc3RSZWY+IG1fcmVxdWVzdFJlc3VsdDsKICAgICBSZXRh
aW5QdHI8Q0ZDYWNoZWRVUkxSZXNwb25zZVJlZj4gbV9jYWNoZWRSZXNwb25zZVJlc3VsdDsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsRG93bmxvYWQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJs
RG93bmxvYWQuY3BwCShyZXZpc2lvbiAyNTQ0MzEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL2N1cmwvQ3VybERvd25sb2FkLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzQsNiAr
MzQsNyBAQAogI2luY2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgogI2luY2x1ZGUgIlJlc291cmNl
UmVzcG9uc2UuaCIKICNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKKyNpbmNsdWRlICJTeW5jaHJv
bm91c0xvYWRlckNsaWVudC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsUmVxdWVzdC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxSZXF1ZXN0LmNw
cAkocmV2aXNpb24gMjU0NDMxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9j
dXJsL0N1cmxSZXF1ZXN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDEsOSArNDEsOSBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLUN1cmxSZXF1ZXN0OjpDdXJsUmVxdWVzdChjb25zdCBSZXNv
dXJjZVJlcXVlc3QmcmVxdWVzdCwgQ3VybFJlcXVlc3RDbGllbnQqIGNsaWVudCwgU2hvdWxkU3Vz
cGVuZCBzaG91bGRTdXNwZW5kLCBFbmFibGVNdWx0aXBhcnQgZW5hYmxlTXVsdGlwYXJ0LCBDYXB0
dXJlTmV0d29ya0xvYWRNZXRyaWNzIGNhcHR1cmVFeHRyYU1ldHJpY3MsIE1lc3NhZ2VRdWV1ZTxG
dW5jdGlvbjx2b2lkKCk+PiogbWVzc2FnZVF1ZXVlKQorQ3VybFJlcXVlc3Q6OkN1cmxSZXF1ZXN0
KGNvbnN0IFJlc291cmNlUmVxdWVzdCZyZXF1ZXN0LCBDdXJsUmVxdWVzdENsaWVudCogY2xpZW50
LCBTaG91bGRTdXNwZW5kIHNob3VsZFN1c3BlbmQsIEVuYWJsZU11bHRpcGFydCBlbmFibGVNdWx0
aXBhcnQsIENhcHR1cmVOZXR3b3JrTG9hZE1ldHJpY3MgY2FwdHVyZUV4dHJhTWV0cmljcywgUmVm
UHRyPFN5bmNocm9ub3VzTG9hZGVyTWVzc2FnZVF1ZXVlPiYmIG1lc3NhZ2VRdWV1ZSkKICAgICA6
IG1fY2xpZW50KGNsaWVudCkKLSAgICAsIG1fbWVzc2FnZVF1ZXVlKG1lc3NhZ2VRdWV1ZSkKKyAg
ICAsIG1fbWVzc2FnZVF1ZXVlKFdURk1vdmUobWVzc2FnZVF1ZXVlKSkKICAgICAsIG1fcmVxdWVz
dChyZXF1ZXN0Lmlzb2xhdGVkQ29weSgpKQogICAgICwgbV9zaG91bGRTdXNwZW5kKHNob3VsZFN1
c3BlbmQgPT0gU2hvdWxkU3VzcGVuZDo6WWVzKQogICAgICwgbV9lbmFibGVNdWx0aXBhcnQoZW5h
YmxlTXVsdGlwYXJ0ID09IEVuYWJsZU11bHRpcGFydDo6WWVzKQpJbmRleDogU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxSZXF1ZXN0LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxSZXF1ZXN0LmgJKHJldmlzaW9u
IDI1NDQzMSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsUmVx
dWVzdC5oCSh3b3JraW5nIGNvcHkpCkBAIC00Myw2ICs0Myw3IEBAIGNsYXNzIEN1cmxSZXF1ZXN0
Q2xpZW50OwogY2xhc3MgTmV0d29ya0xvYWRNZXRyaWNzOwogY2xhc3MgUmVzb3VyY2VFcnJvcjsK
IGNsYXNzIFNoYXJlZEJ1ZmZlcjsKK2NsYXNzIFN5bmNocm9ub3VzTG9hZGVyTWVzc2FnZVF1ZXVl
OwogCiBjbGFzcyBDdXJsUmVxdWVzdCA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxDdXJs
UmVxdWVzdD4sIHB1YmxpYyBDdXJsUmVxdWVzdFNjaGVkdWxlckNsaWVudCwgcHVibGljIEN1cmxN
dWx0aXBhcnRIYW5kbGVDbGllbnQgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEN1cmxSZXF1
ZXN0KTsKQEAgLTYzLDkgKzY0LDkgQEAgcHVibGljOgogICAgICAgICBFeHRlbmRlZAogICAgIH07
CiAKLSAgICBzdGF0aWMgUmVmPEN1cmxSZXF1ZXN0PiBjcmVhdGUoY29uc3QgUmVzb3VyY2VSZXF1
ZXN0JiByZXF1ZXN0LCBDdXJsUmVxdWVzdENsaWVudCYgY2xpZW50LCBTaG91bGRTdXNwZW5kIHNo
b3VsZFN1c3BlbmQgPSBTaG91bGRTdXNwZW5kOjpObywgRW5hYmxlTXVsdGlwYXJ0IGVuYWJsZU11
bHRpcGFydCA9IEVuYWJsZU11bHRpcGFydDo6Tm8sIENhcHR1cmVOZXR3b3JrTG9hZE1ldHJpY3Mg
Y2FwdHVyZU1ldHJpY3MgPSBDYXB0dXJlTmV0d29ya0xvYWRNZXRyaWNzOjpCYXNpYywgTWVzc2Fn
ZVF1ZXVlPEZ1bmN0aW9uPHZvaWQoKT4+KiBtZXNzYWdlUXVldWUgPSBudWxscHRyKQorICAgIHN0
YXRpYyBSZWY8Q3VybFJlcXVlc3Q+IGNyZWF0ZShjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVl
c3QsIEN1cmxSZXF1ZXN0Q2xpZW50JiBjbGllbnQsIFNob3VsZFN1c3BlbmQgc2hvdWxkU3VzcGVu
ZCA9IFNob3VsZFN1c3BlbmQ6Ok5vLCBFbmFibGVNdWx0aXBhcnQgZW5hYmxlTXVsdGlwYXJ0ID0g
RW5hYmxlTXVsdGlwYXJ0OjpObywgQ2FwdHVyZU5ldHdvcmtMb2FkTWV0cmljcyBjYXB0dXJlTWV0
cmljcyA9IENhcHR1cmVOZXR3b3JrTG9hZE1ldHJpY3M6OkJhc2ljLCBSZWZQdHI8U3luY2hyb25v
dXNMb2FkZXJNZXNzYWdlUXVldWU+JiYgbWVzc2FnZVF1ZXVlID0gbnVsbHB0cikKICAgICB7Ci0g
ICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEN1cmxSZXF1ZXN0KHJlcXVlc3QsICZjbGllbnQs
IHNob3VsZFN1c3BlbmQsIGVuYWJsZU11bHRpcGFydCwgY2FwdHVyZU1ldHJpY3MsIG1lc3NhZ2VR
dWV1ZSkpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDdXJsUmVxdWVzdChyZXF1ZXN0
LCAmY2xpZW50LCBzaG91bGRTdXNwZW5kLCBlbmFibGVNdWx0aXBhcnQsIGNhcHR1cmVNZXRyaWNz
LCBXVEZNb3ZlKG1lc3NhZ2VRdWV1ZSkpKTsKICAgICB9CiAKICAgICB2aXJ0dWFsIH5DdXJsUmVx
dWVzdCgpID0gZGVmYXVsdDsKQEAgLTEwNSw3ICsxMDYsNyBAQCBwcml2YXRlOgogICAgICAgICBG
aW5pc2hUcmFuc2ZlcgogICAgIH07CiAKLSAgICBDdXJsUmVxdWVzdChjb25zdCBSZXNvdXJjZVJl
cXVlc3QmLCBDdXJsUmVxdWVzdENsaWVudCosIFNob3VsZFN1c3BlbmQsIEVuYWJsZU11bHRpcGFy
dCwgQ2FwdHVyZU5ldHdvcmtMb2FkTWV0cmljcywgTWVzc2FnZVF1ZXVlPEZ1bmN0aW9uPHZvaWQo
KT4+Kik7CisgICAgQ3VybFJlcXVlc3QoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgQ3VybFJlcXVl
c3RDbGllbnQqLCBTaG91bGRTdXNwZW5kLCBFbmFibGVNdWx0aXBhcnQsIENhcHR1cmVOZXR3b3Jr
TG9hZE1ldHJpY3MsIFJlZlB0cjxTeW5jaHJvbm91c0xvYWRlck1lc3NhZ2VRdWV1ZT4mJik7CiAK
ICAgICB2b2lkIHJldGFpbigpIG92ZXJyaWRlIHsgcmVmKCk7IH0KICAgICB2b2lkIHJlbGVhc2Uo
KSBvdmVycmlkZSB7IGRlcmVmKCk7IH0KQEAgLTE2OCw3ICsxNjksNyBAQCBwcml2YXRlOgogICAg
IExvY2sgbV9zdGF0dXNNdXRleDsKICAgICBib29sIG1fY2FuY2VsbGVkIHsgZmFsc2UgfTsKICAg
ICBib29sIG1fY29tcGxldGVkIHsgZmFsc2UgfTsKLSAgICBNZXNzYWdlUXVldWU8RnVuY3Rpb248
dm9pZCgpPj4qIG1fbWVzc2FnZVF1ZXVlIHsgfTsKKyAgICBSZWZQdHI8U3luY2hyb25vdXNMb2Fk
ZXJNZXNzYWdlUXVldWU+IG1fbWVzc2FnZVF1ZXVlOwogCiAgICAgUmVzb3VyY2VSZXF1ZXN0IG1f
cmVxdWVzdDsKICAgICBTdHJpbmcgbV91c2VyOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9tYWMvUmVzb3VyY2VIYW5kbGVNYWMubW0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VIYW5kbGVNYWMubW0JKHJldmlz
aW9uIDI1NDQzMSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291
cmNlSGFuZGxlTWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zMDksMTUgKzMwOSwxNSBAQCB2b2lk
IFJlc291cmNlSGFuZGxlOjp1bnNjaGVkdWxlKFNjaGVkdWxlCiAgICAgICAgIFtkLT5tX2Nvbm5l
Y3Rpb24uZ2V0KCkgdW5zY2hlZHVsZUZyb21SdW5Mb29wOnJ1bkxvb3AgZm9yTW9kZTooX19icmlk
Z2UgTlNTdHJpbmcgKilwYWlyLm1vZGUoKV07CiB9CiAKLWlkIFJlc291cmNlSGFuZGxlOjptYWtl
RGVsZWdhdGUoYm9vbCBzaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZSwgTWVzc2FnZVF1ZXVlPEZ1
bmN0aW9uPHZvaWQoKT4+KiBxdWV1ZSkKK2lkIFJlc291cmNlSGFuZGxlOjptYWtlRGVsZWdhdGUo
Ym9vbCBzaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZSwgUmVmUHRyPFN5bmNocm9ub3VzTG9hZGVy
TWVzc2FnZVF1ZXVlPiYmIHF1ZXVlKQogewogICAgIEFTU0VSVCghZC0+bV9kZWxlZ2F0ZSk7CiAK
ICAgICBpZCA8TlNVUkxDb25uZWN0aW9uRGVsZWdhdGU+IGRlbGVnYXRlOwogICAgIGlmIChzaG91
bGRVc2VDcmVkZW50aWFsU3RvcmFnZSkKLSAgICAgICAgZGVsZWdhdGUgPSBbW1dlYkNvcmVSZXNv
dXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZSBhbGxvY10gaW5pdFdpdGhIYW5kbGU6
dGhpcyBtZXNzYWdlUXVldWU6cXVldWVdOworICAgICAgICBkZWxlZ2F0ZSA9IFtbV2ViQ29yZVJl
c291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlIGFsbG9jXSBpbml0V2l0aEhhbmRs
ZTp0aGlzIG1lc3NhZ2VRdWV1ZTpXVEZNb3ZlKHF1ZXVlKV07CiAgICAgZWxzZQotICAgICAgICBk
ZWxlZ2F0ZSA9IFtbV2ViQ29yZVJlc291cmNlSGFuZGxlV2l0aENyZWRlbnRpYWxTdG9yYWdlQXNP
cGVyYXRpb25RdWV1ZURlbGVnYXRlIGFsbG9jXSBpbml0V2l0aEhhbmRsZTp0aGlzIG1lc3NhZ2VR
dWV1ZTpxdWV1ZV07CisgICAgICAgIGRlbGVnYXRlID0gW1tXZWJDb3JlUmVzb3VyY2VIYW5kbGVX
aXRoQ3JlZGVudGlhbFN0b3JhZ2VBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUgYWxsb2NdIGluaXRX
aXRoSGFuZGxlOnRoaXMgbWVzc2FnZVF1ZXVlOldURk1vdmUocXVldWUpXTsKIAogICAgIGQtPm1f
ZGVsZWdhdGUgPSBkZWxlZ2F0ZTsKICAgICBbZGVsZWdhdGUgcmVsZWFzZV07CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9XZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09w
ZXJhdGlvblF1ZXVlRGVsZWdhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL21hYy9XZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVs
ZWdhdGUuaAkocmV2aXNpb24gMjU0NDMxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9tYWMvV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTI5LDEyICsyOSwxNCBAQAogI2luY2x1ZGUgPHd0Zi9GdW5jdGlv
bi5oPgogI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3RmL01lc3NhZ2VRdWV1ZS5o
PgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAj
aW5jbHVkZSA8d3RmL1NjaGVkdWxlUGFpci5oPgogI2luY2x1ZGUgPHd0Zi90aHJlYWRzL0JpbmFy
eVNlbWFwaG9yZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBSZXNvdXJjZUhhbmRs
ZTsKK2NsYXNzIFN5bmNocm9ub3VzTG9hZGVyTWVzc2FnZVF1ZXVlOwogfQogCiBAaW50ZXJmYWNl
IFdlYkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZSA6IE5TT2JqZWN0
IDxOU1VSTENvbm5lY3Rpb25EZWxlZ2F0ZT4gewpAQCAtNDIsNyArNDQsNyBAQCBAaW50ZXJmYWNl
IFdlYkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0CiAKICAgICAvLyBTeW5jaHJvbm91cyBkZWxl
Z2F0ZXMgb24gb3BlcmF0aW9uIHF1ZXVlIHdhaXQgdW50aWwgbWFpbiB0aHJlYWQgc2VuZHMgYW4g
YXN5bmNocm9ub3VzIHJlc3BvbnNlLgogICAgIEJpbmFyeVNlbWFwaG9yZSBtX3NlbWFwaG9yZTsK
LSAgICBNZXNzYWdlUXVldWU8RnVuY3Rpb248dm9pZCgpPj4qIG1fbWVzc2FnZVF1ZXVlOworICAg
IFJlZlB0cjxXZWJDb3JlOjpTeW5jaHJvbm91c0xvYWRlck1lc3NhZ2VRdWV1ZT4gbV9tZXNzYWdl
UXVldWU7CiAgICAgUmV0YWluUHRyPE5TVVJMUmVxdWVzdD4gbV9yZXF1ZXN0UmVzdWx0OwogICAg
IExvY2sgbV9tdXRleDsKICAgICBSZXRhaW5QdHI8TlNDYWNoZWRVUkxSZXNwb25zZT4gbV9jYWNo
ZWRSZXNwb25zZVJlc3VsdDsKQEAgLTUxLDcgKzUzLDcgQEAgQGludGVyZmFjZSBXZWJDb3JlUmVz
b3VyY2VIYW5kbGVBc09wZXJhdAogfQogCiAtICh2b2lkKWRldGFjaEhhbmRsZTsKLS0gKGlkKWlu
aXRXaXRoSGFuZGxlOihXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZSopaGFuZGxlIG1lc3NhZ2VRdWV1
ZTooTWVzc2FnZVF1ZXVlPEZ1bmN0aW9uPHZvaWQoKT4+KiltZXNzYWdlUXVldWU7CistIChpZClp
bml0V2l0aEhhbmRsZTooV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGUqKWhhbmRsZSBtZXNzYWdlUXVl
dWU6KFJlZlB0cjxXZWJDb3JlOjpTeW5jaHJvbm91c0xvYWRlck1lc3NhZ2VRdWV1ZT4mJiltZXNz
YWdlUXVldWU7CiBAZW5kCiAKIEBpbnRlcmZhY2UgV2ViQ29yZVJlc291cmNlSGFuZGxlV2l0aENy
ZWRlbnRpYWxTdG9yYWdlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlIDogV2ViQ29yZVJlc291cmNl
SGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL21hYy9XZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVs
ZWdhdGUubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9t
YWMvV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlLm1tCShyZXZp
c2lvbiAyNTQ0MzEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9XZWJD
b3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUubW0JKHdvcmtpbmcgY29w
eSkKQEAgLTc5LDcgKzc5LDcgQEAgLSAodm9pZCljYWxsRnVuY3Rpb25Pbk1haW5UaHJlYWQ6KEZ1
bmN0aQogICAgICAgICBDRlJ1bkxvb3BQZXJmb3JtQmxvY2socGFpci0+cnVuTG9vcCgpLCBwYWly
LT5tb2RlKCksIGJsb2NrLmdldCgpKTsKIH0KIAotLSAoaWQpaW5pdFdpdGhIYW5kbGU6KFJlc291
cmNlSGFuZGxlKiloYW5kbGUgbWVzc2FnZVF1ZXVlOihNZXNzYWdlUXVldWU8RnVuY3Rpb248dm9p
ZCgpPj4qKW1lc3NhZ2VRdWV1ZQorLSAoaWQpaW5pdFdpdGhIYW5kbGU6KFdlYkNvcmU6OlJlc291
cmNlSGFuZGxlKiloYW5kbGUgbWVzc2FnZVF1ZXVlOihSZWZQdHI8V2ViQ29yZTo6U3luY2hyb25v
dXNMb2FkZXJNZXNzYWdlUXVldWU+JiYpbWVzc2FnZVF1ZXVlCiB7CiAgICAgc2VsZiA9IFtzZWxm
IGluaXRdOwogICAgIGlmICghc2VsZikKQEAgLTkwLDcgKzkwLDcgQEAgLSAoaWQpaW5pdFdpdGhI
YW5kbGU6KFJlc291cmNlSGFuZGxlKiloYQogICAgICAgICBpZiAoYXV0byogcGFpcnMgPSBtX2hh
bmRsZS0+Y29udGV4dCgpLT5zY2hlZHVsZWRSdW5Mb29wUGFpcnMoKSkKICAgICAgICAgICAgIG1f
c2NoZWR1bGVkUGFpcnMgPSAqcGFpcnM7CiAgICAgfQotICAgIG1fbWVzc2FnZVF1ZXVlID0gbWVz
c2FnZVF1ZXVlOworICAgIG1fbWVzc2FnZVF1ZXVlID0gV1RGTW92ZShtZXNzYWdlUXVldWUpOwog
CiAgICAgcmV0dXJuIHNlbGY7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>387862</attachid>
            <date>2020-01-15 16:04:05 -0800</date>
            <delta_ts>2020-01-15 18:00:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206261-20200115160404.patch</filename>
            <type>text/plain</type>
            <size>19907</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1NDU3NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBACisyMDIwLTAxLTE1ICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgS2VlcCBSZWZQ
dHIgaW5zdGVhZCBvZiByYXcgcG9pbnRlciB0byBtZXNzYWdlIHF1ZXVlIG9uIFdlYkNvcmVSZXNv
dXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2MjYxCisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS81NzU2MjU5Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBEYXZpZCBLaWx6ZXIuCisKKyAgICAg
ICAgVGhlcmUncyBubyByZWFzb24gdG8ga2VlcCBhIHJhdyBwb2ludGVyIHdoZW4gd2UgY2FuIGtl
ZXAgYSBzbWFydCBwb2ludGVyLgorICAgICAgICBUaGlzIHdpbGwgbWFrZSB0aGlzIG1vcmUgcm9i
dXN0IGFnYWluc3Qgc29tZW9uZSBmb3JnZXR0aW5nIHRvIGNsZWFyIHRoaXMgcG9pbnRlciB2YWx1
ZS4KKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1N5bmNocm9ub3VzTG9hZGVyQ2xpZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlN5bmNocm9ub3VzTG9hZGVyQ2xpZW50OjpTeW5jaHJvbm91c0xvYWRlckNs
aWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTeW5jaHJvbm91c0xvYWRlckNsaWVudDo6ZGlkRmlu
aXNoTG9hZGluZyk6CisgICAgICAgIChXZWJDb3JlOjpTeW5jaHJvbm91c0xvYWRlckNsaWVudDo6
ZGlkRmFpbCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9TeW5jaHJvbm91c0xvYWRlckNs
aWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6U3luY2hyb25vdXNMb2FkZXJNZXNzYWdlUXVldWU6
OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTeW5jaHJvbm91c0xvYWRlck1lc3NhZ2VRdWV1
ZTo6YXBwZW5kKToKKyAgICAgICAgKFdlYkNvcmU6OlN5bmNocm9ub3VzTG9hZGVyTWVzc2FnZVF1
ZXVlOjpraWxsKToKKyAgICAgICAgKFdlYkNvcmU6OlN5bmNocm9ub3VzTG9hZGVyTWVzc2FnZVF1
ZXVlOjpraWxsZWQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U3luY2hyb25vdXNMb2FkZXJN
ZXNzYWdlUXVldWU6OndhaXRGb3JNZXNzYWdlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3Jr
L21hYy9SZXNvdXJjZUhhbmRsZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFu
ZGxlOjptYWtlRGVsZWdhdGUpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvbWFjL1dlYkNv
cmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZS5oOgorICAgICAgICAqIHBs
YXRmb3JtL25ldHdvcmsvbWFjL1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVE
ZWxlZ2F0ZS5tbToKKyAgICAgICAgKC1bV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25R
dWV1ZURlbGVnYXRlIGNhbGxGdW5jdGlvbk9uTWFpblRocmVhZDpdKToKKyAgICAgICAgKC1bV2Vi
Q29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlIGluaXRXaXRoSGFuZGxl
Om1lc3NhZ2VRdWV1ZTpdKToKKyAgICAgICAgKC1bV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVy
YXRpb25RdWV1ZURlbGVnYXRlIGNvbm5lY3Rpb246d2lsbFNlbmRSZXF1ZXN0OnJlZGlyZWN0UmVz
cG9uc2U6XSk6CisKIDIwMjAtMDEtMTUgIFBpbmtpIEd5YW5jaGFuZGFuaSAgPHBneWFuY2hhbmRh
bmlAYXBwbGUuY29tPgogCiAgICAgICAgIE51bGwgUHRyIERlcmVmIEAgV2ViQ29yZTo6RG9jdW1l
bnRMb2FkZXI6OmNsZWFyTWFpblJlc291cmNlTG9hZGVyCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oCShyZXZpc2lvbiAyNTQ0MzEp
CisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmgJKHdv
cmtpbmcgY29weSkKQEAgLTg2LDYgKzg2LDcgQEAgY2xhc3MgTmV0d29ya0xvYWRNZXRyaWNzOwog
Y2xhc3MgUmVzb3VyY2VSZXF1ZXN0OwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIGNsYXNzIFNo
YXJlZEJ1ZmZlcjsKK2NsYXNzIFN5bmNocm9ub3VzTG9hZGVyTWVzc2FnZVF1ZXVlOwogY2xhc3Mg
VGltZXI7CiAKICNpZiBVU0UoQ1VSTCkKQEAgLTEyMyw3ICsxMjQsNyBAQCBwdWJsaWM6CiAKICNp
ZiBQTEFURk9STShDT0NPQSkKICAgICBXRUJDT1JFX0VYUE9SVCBOU1VSTENvbm5lY3Rpb24gKmNv
bm5lY3Rpb24oKSBjb25zdDsKLSAgICBpZCBtYWtlRGVsZWdhdGUoYm9vbCwgV1RGOjpNZXNzYWdl
UXVldWU8V1RGOjpGdW5jdGlvbjx2b2lkKCk+PiopOworICAgIGlkIG1ha2VEZWxlZ2F0ZShib29s
LCBSZWZQdHI8U3luY2hyb25vdXNMb2FkZXJNZXNzYWdlUXVldWU+JiYpOwogICAgIGlkIGRlbGVn
YXRlKCk7CiAgICAgdm9pZCByZWxlYXNlRGVsZWdhdGUoKTsKICNlbmRpZgpAQCAtMjMyLDcgKzIz
Myw3IEBAIHByaXZhdGU6CiAjZW5kaWYKIAogI2lmIFVTRShDRlVSTENPTk5FQ1RJT04pCi0gICAg
dm9pZCBjcmVhdGVDRlVSTENvbm5lY3Rpb24oYm9vbCBzaG91bGRVc2VDcmVkZW50aWFsU3RvcmFn
ZSwgYm9vbCBzaG91bGRDb250ZW50U25pZmYsIGJvb2wgc2hvdWxkQ29udGVudEVuY29kaW5nU25p
ZmYsIFdURjo6TWVzc2FnZVF1ZXVlPFdURjo6RnVuY3Rpb248dm9pZCgpPj4qLCBDRkRpY3Rpb25h
cnlSZWYgY2xpZW50UHJvcGVydGllcyk7CisgICAgdm9pZCBjcmVhdGVDRlVSTENvbm5lY3Rpb24o
Ym9vbCBzaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZSwgYm9vbCBzaG91bGRDb250ZW50U25pZmYs
IGJvb2wgc2hvdWxkQ29udGVudEVuY29kaW5nU25pZmYsIFJlZlB0cjxTeW5jaHJvbm91c0xvYWRl
ck1lc3NhZ2VRdWV1ZT4mJiwgQ0ZEaWN0aW9uYXJ5UmVmIGNsaWVudFByb3BlcnRpZXMpOwogI2Vu
ZGlmCiAKICNpZiBQTEFURk9STShNQUMpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL1Jlc291cmNlSGFuZGxlSW50ZXJuYWwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlSW50ZXJuYWwuaAkocmV2aXNpb24g
MjU0NDMxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRs
ZUludGVybmFsLmgJKHdvcmtpbmcgY29weSkKQEAgLTM5LDYgKzM5LDcgQEAKIAogI2lmIFVTRShD
VVJMKQogI2luY2x1ZGUgIkN1cmxSZXF1ZXN0LmgiCisjaW5jbHVkZSAiU3luY2hyb25vdXNMb2Fk
ZXJDbGllbnQuaCIKICNpbmNsdWRlIDx3dGYvTWVzc2FnZVF1ZXVlLmg+CiAjaW5jbHVkZSA8d3Rm
L01vbm90b25pY1RpbWUuaD4KICNlbmRpZgpAQCAtMTI3LDcgKzEyOCw3IEBAIHB1YmxpYzoKICAg
ICB1bnNpZ25lZCBtX2F1dGhGYWlsdXJlQ291bnQgeyAwIH07CiAgICAgYm9vbCBtX2FkZGVkQ2Fj
aGVWYWxpZGF0aW9uSGVhZGVycyB7IGZhbHNlIH07CiAgICAgUmVmUHRyPEN1cmxSZXF1ZXN0PiBt
X2N1cmxSZXF1ZXN0OwotICAgIE1lc3NhZ2VRdWV1ZTxXVEY6OkZ1bmN0aW9uPHZvaWQoKT4+KiBt
X21lc3NhZ2VRdWV1ZSB7IH07CisgICAgUmVmUHRyPFN5bmNocm9ub3VzTG9hZGVyTWVzc2FnZVF1
ZXVlPiBtX21lc3NhZ2VRdWV1ZTsKICAgICBNb25vdG9uaWNUaW1lIG1fc3RhcnRUaW1lOwogI2Vu
ZGlmCiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvU3luY2hyb25vdXNM
b2FkZXJDbGllbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvU3luY2hyb25vdXNMb2FkZXJDbGllbnQuY3BwCShyZXZpc2lvbiAyNTQ0MzEpCisrKyBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1N5bmNocm9ub3VzTG9hZGVyQ2xpZW50LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMzMsNiArMzMsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKK1N5bmNocm9ub3VzTG9hZGVyQ2xpZW50OjpTeW5jaHJvbm91c0xvYWRlckNsaWVudCgpCisg
ICAgOiBtX21lc3NhZ2VRdWV1ZShTeW5jaHJvbm91c0xvYWRlck1lc3NhZ2VRdWV1ZTo6Y3JlYXRl
KCkpIHsgfQorCiBTeW5jaHJvbm91c0xvYWRlckNsaWVudDo6flN5bmNocm9ub3VzTG9hZGVyQ2xp
ZW50KCkgPSBkZWZhdWx0OwogCiB2b2lkIFN5bmNocm9ub3VzTG9hZGVyQ2xpZW50Ojp3aWxsU2Vu
ZFJlcXVlc3RBc3luYyhSZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBSZXNvdXJjZVJlcXVlc3QmJiBy
ZXF1ZXN0LCBSZXNvdXJjZVJlc3BvbnNlJiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUmVzb3Vy
Y2VSZXF1ZXN0JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQpAQCAtNzMsMTggKzc2LDMwIEBAIHZv
aWQgU3luY2hyb25vdXNMb2FkZXJDbGllbnQ6OmRpZFJlY2VpdmUKICAgICBtX2RhdGEuYXBwZW5k
KGRhdGEsIGxlbmd0aCk7CiB9CiAKLXZvaWQgU3luY2hyb25vdXNMb2FkZXJDbGllbnQ6OmRpZEZp
bmlzaExvYWRpbmcoUmVzb3VyY2VIYW5kbGUqKQordm9pZCBTeW5jaHJvbm91c0xvYWRlckNsaWVu
dDo6ZGlkRmluaXNoTG9hZGluZyhSZXNvdXJjZUhhbmRsZSogaGFuZGxlKQogewotICAgIG1fbWVz
c2FnZVF1ZXVlLmtpbGwoKTsKKyAgICBtX21lc3NhZ2VRdWV1ZS0+a2lsbCgpOworI2lmIFBMQVRG
T1JNKENPQ09BKQorICAgIGlmIChoYW5kbGUpCisgICAgICAgIGhhbmRsZS0+cmVsZWFzZURlbGVn
YXRlKCk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShoYW5kbGUpOworI2VuZGlmCiB9CiAKLXZv
aWQgU3luY2hyb25vdXNMb2FkZXJDbGllbnQ6OmRpZEZhaWwoUmVzb3VyY2VIYW5kbGUqLCBjb25z
dCBSZXNvdXJjZUVycm9yJiBlcnJvcikKK3ZvaWQgU3luY2hyb25vdXNMb2FkZXJDbGllbnQ6OmRp
ZEZhaWwoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSwgY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3Ip
CiB7CiAgICAgQVNTRVJUKG1fZXJyb3IuaXNOdWxsKCkpOwogCiAgICAgbV9lcnJvciA9IGVycm9y
OwogICAgIAotICAgIG1fbWVzc2FnZVF1ZXVlLmtpbGwoKTsKKyAgICBtX21lc3NhZ2VRdWV1ZS0+
a2lsbCgpOworI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIGlmIChoYW5kbGUpCisgICAgICAgIGhh
bmRsZS0+cmVsZWFzZURlbGVnYXRlKCk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShoYW5kbGUp
OworI2VuZGlmCiB9CiAKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
U3luY2hyb25vdXNMb2FkZXJDbGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL1N5bmNocm9ub3VzTG9hZGVyQ2xpZW50LmgJKHJldmlzaW9uIDI1NDQz
MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvU3luY2hyb25vdXNMb2FkZXJD
bGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMzAsMTggKzMwLDM0IEBACiAjaW5jbHVkZSAiUmVz
b3VyY2VSZXNwb25zZS5oIgogI2luY2x1ZGUgPHd0Zi9GdW5jdGlvbi5oPgogI2luY2x1ZGUgPHd0
Zi9NZXNzYWdlUXVldWUuaD4KKyNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBTeW5jaHJvbm91c0xvYWRlck1lc3NhZ2VR
dWV1ZSA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxTeW5jaHJvbm91c0xvYWRlck1lc3Nh
Z2VRdWV1ZT4geworcHVibGljOgorICAgIHN0YXRpYyBSZWY8U3luY2hyb25vdXNMb2FkZXJNZXNz
YWdlUXVldWU+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3luY2hyb25vdXNMb2Fk
ZXJNZXNzYWdlUXVldWUpOyB9CisKKyAgICB2b2lkIGFwcGVuZChzdGQ6OnVuaXF1ZV9wdHI8RnVu
Y3Rpb248dm9pZCgpPj4mJiB0YXNrKSB7IG1fcXVldWUuYXBwZW5kKFdURk1vdmUodGFzaykpOyB9
CisgICAgdm9pZCBraWxsKCkgeyBtX3F1ZXVlLmtpbGwoKTsgfQorICAgIGJvb2wga2lsbGVkKCkg
Y29uc3QgeyByZXR1cm4gbV9xdWV1ZS5raWxsZWQoKTsgfQorICAgIHN0ZDo6dW5pcXVlX3B0cjxG
dW5jdGlvbjx2b2lkKCk+PiB3YWl0Rm9yTWVzc2FnZSgpIHsgcmV0dXJuIG1fcXVldWUud2FpdEZv
ck1lc3NhZ2UoKTsgfQorCitwcml2YXRlOgorICAgIFN5bmNocm9ub3VzTG9hZGVyTWVzc2FnZVF1
ZXVlKCkgPSBkZWZhdWx0OworICAgIE1lc3NhZ2VRdWV1ZTxGdW5jdGlvbjx2b2lkKCk+PiBtX3F1
ZXVlOworfTsKKwogY2xhc3MgU3luY2hyb25vdXNMb2FkZXJDbGllbnQgZmluYWwgOiBwdWJsaWMg
UmVzb3VyY2VIYW5kbGVDbGllbnQgewogcHVibGljOgorICAgIFN5bmNocm9ub3VzTG9hZGVyQ2xp
ZW50KCk7CiAgICAgdmlydHVhbCB+U3luY2hyb25vdXNMb2FkZXJDbGllbnQoKTsKIAogICAgIHZv
aWQgc2V0QWxsb3dTdG9yZWRDcmVkZW50aWFscyhib29sIGFsbG93KSB7IG1fYWxsb3dTdG9yZWRD
cmVkZW50aWFscyA9IGFsbG93OyB9CiAgICAgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9u
c2UoKSBjb25zdCB7IHJldHVybiBtX3Jlc3BvbnNlOyB9CiAgICAgVmVjdG9yPGNoYXI+JiBtdXRh
YmxlRGF0YSgpIHsgcmV0dXJuIG1fZGF0YTsgfQogICAgIGNvbnN0IFJlc291cmNlRXJyb3ImIGVy
cm9yKCkgY29uc3QgeyByZXR1cm4gbV9lcnJvcjsgfQotICAgIE1lc3NhZ2VRdWV1ZTxGdW5jdGlv
bjx2b2lkKCk+PiYgbWVzc2FnZVF1ZXVlKCkgeyByZXR1cm4gbV9tZXNzYWdlUXVldWU7IH0KKyAg
ICBTeW5jaHJvbm91c0xvYWRlck1lc3NhZ2VRdWV1ZSYgbWVzc2FnZVF1ZXVlKCkgeyByZXR1cm4g
bV9tZXNzYWdlUXVldWUuZ2V0KCk7IH0KIAogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBSZXNv
dXJjZUVycm9yIHBsYXRmb3JtQmFkUmVzcG9uc2VFcnJvcigpOwogCkBAIC02MSw2ICs3Nyw2IEBA
IHByaXZhdGU6CiAgICAgUmVzb3VyY2VSZXNwb25zZSBtX3Jlc3BvbnNlOwogICAgIFZlY3Rvcjxj
aGFyPiBtX2RhdGE7CiAgICAgUmVzb3VyY2VFcnJvciBtX2Vycm9yOwotICAgIE1lc3NhZ2VRdWV1
ZTxGdW5jdGlvbjx2b2lkKCk+PiBtX21lc3NhZ2VRdWV1ZTsKKyAgICBSZWY8U3luY2hyb25vdXNM
b2FkZXJNZXNzYWdlUXVldWU+IG1fbWVzc2FnZVF1ZXVlOwogfTsKIH0KSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VIYW5kbGVDRk5ldC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZUhhbmRs
ZUNGTmV0LmNwcAkocmV2aXNpb24gMjU0NDMxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9jZi9SZXNvdXJjZUhhbmRsZUNGTmV0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTMx
LDcgKzEzMSw3IEBAIHN0YXRpYyB2b2lkIHNldENsaWVudENlcnRpZmljYXRlSW5TU0xQcm8KIH0K
ICNlbmRpZgogCi12b2lkIFJlc291cmNlSGFuZGxlOjpjcmVhdGVDRlVSTENvbm5lY3Rpb24oYm9v
bCBzaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZSwgYm9vbCBzaG91bGRDb250ZW50U25pZmYsIGJv
b2wgc2hvdWxkQ29udGVudEVuY29kaW5nU25pZmYsIE1lc3NhZ2VRdWV1ZTxGdW5jdGlvbjx2b2lk
KCk+PiogbWVzc2FnZVF1ZXVlLCBDRkRpY3Rpb25hcnlSZWYgY2xpZW50UHJvcGVydGllcykKK3Zv
aWQgUmVzb3VyY2VIYW5kbGU6OmNyZWF0ZUNGVVJMQ29ubmVjdGlvbihib29sIHNob3VsZFVzZUNy
ZWRlbnRpYWxTdG9yYWdlLCBib29sIHNob3VsZENvbnRlbnRTbmlmZiwgYm9vbCBzaG91bGRDb250
ZW50RW5jb2RpbmdTbmlmZiwgUmVmUHRyPFN5bmNocm9ub3VzTG9hZGVyTWVzc2FnZVF1ZXVlPiYm
IG1lc3NhZ2VRdWV1ZSwgQ0ZEaWN0aW9uYXJ5UmVmIGNsaWVudFByb3BlcnRpZXMpCiB7CiAgICAg
aWYgKCghZC0+bV91c2VyLmlzRW1wdHkoKSB8fCAhZC0+bV9wYXNzLmlzRW1wdHkoKSkgJiYgIWZp
cnN0UmVxdWVzdCgpLnVybCgpLnByb3RvY29sSXNJbkhUVFBGYW1pbHkoKSkgewogICAgICAgICAv
LyBDcmVkZW50aWFscyBmb3IgZnRwIGNhbiBvbmx5IGJlIHBhc3NlZCBpbiBVUkwsIHRoZSBkaWRS
ZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UgZGVsZWdhdGUgY2FsbCB3b24ndCBiZSBtYWRl
LgpAQCAtMjM5LDcgKzIzOSw3IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6OmNyZWF0ZUNGVVJMQ29u
bmVjdGkKICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShwcm9wZXJ0aWVzRGljdGlvbmFyeS5nZXQo
KSwga0NGVVJMQ29ubmVjdGlvblNvY2tldFN0cmVhbVByb3BlcnRpZXMsIHN0cmVhbVByb3BlcnRp
ZXMpOwogICAgIENGUmVsZWFzZShzdHJlYW1Qcm9wZXJ0aWVzKTsKIAotICAgIGQtPm1fY29ubmVj
dGlvbkRlbGVnYXRlID0gYWRvcHRSZWYobmV3IFJlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9u
RGVsZWdhdGVXaXRoT3BlcmF0aW9uUXVldWUodGhpcywgbWVzc2FnZVF1ZXVlKSk7CisgICAgZC0+
bV9jb25uZWN0aW9uRGVsZWdhdGUgPSBhZG9wdFJlZihuZXcgUmVzb3VyY2VIYW5kbGVDRlVSTENv
bm5lY3Rpb25EZWxlZ2F0ZVdpdGhPcGVyYXRpb25RdWV1ZSh0aGlzLCBXVEZNb3ZlKG1lc3NhZ2VR
dWV1ZSkpKTsKICAgICBkLT5tX2Nvbm5lY3Rpb25EZWxlZ2F0ZS0+c2V0dXBSZXF1ZXN0KHJlcXVl
c3QuZ2V0KCkpOwogCiAgICAgQ0ZVUkxDb25uZWN0aW9uQ2xpZW50X1Y2IGNsaWVudCA9IGQtPm1f
Y29ubmVjdGlvbkRlbGVnYXRlLT5tYWtlQ29ubmVjdGlvbkNsaWVudCgpOwpJbmRleDogU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZUhhbmRsZUNGVVJMQ29ubmVjdGlv
bkRlbGVnYXRlV2l0aE9wZXJhdGlvblF1ZXVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVs
ZWdhdGVXaXRoT3BlcmF0aW9uUXVldWUuY3BwCShyZXZpc2lvbiAyNTQ0MzEpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9u
RGVsZWdhdGVXaXRoT3BlcmF0aW9uUXVldWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw2ICsz
Niw3IEBACiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVDbGllbnQuaCIKICNpbmNsdWRlICJSZXNv
dXJjZVJlc3BvbnNlLmgiCiAjaW5jbHVkZSAiU2hhcmVkQnVmZmVyLmgiCisjaW5jbHVkZSAiU3lu
Y2hyb25vdXNMb2FkZXJDbGllbnQuaCIKICNpZiAhUExBVEZPUk0oV0lOKQogI2luY2x1ZGUgIldl
YkNvcmVVUkxSZXNwb25zZS5oIgogI2VuZGlmCkBAIC00OCw5ICs0OSw5IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZVdpdGhP
cGVyYXRpb25RdWV1ZTo6UmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZVdpdGhP
cGVyYXRpb25RdWV1ZShSZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBNZXNzYWdlUXVldWU8RnVuY3Rp
b248dm9pZCgpPj4qIG1lc3NhZ2VRdWV1ZSkKK1Jlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9u
RGVsZWdhdGVXaXRoT3BlcmF0aW9uUXVldWU6OlJlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9u
RGVsZWdhdGVXaXRoT3BlcmF0aW9uUXVldWUoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSwgUmVmUHRy
PFN5bmNocm9ub3VzTG9hZGVyTWVzc2FnZVF1ZXVlPiYmIG1lc3NhZ2VRdWV1ZSkKICAgICA6IFJl
c291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVsZWdhdGUoaGFuZGxlKQotICAgICwgbV9tZXNz
YWdlUXVldWUobWVzc2FnZVF1ZXVlKQorICAgICwgbV9tZXNzYWdlUXVldWUoV1RGTW92ZShtZXNz
YWdlUXVldWUpKQogewogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L2NmL1Jlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVsZWdhdGVXaXRoT3BlcmF0aW9uUXVl
dWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jl
c291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVsZWdhdGVXaXRoT3BlcmF0aW9uUXVldWUuaAko
cmV2aXNpb24gMjU0NDMxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9S
ZXNvdXJjZUhhbmRsZUNGVVJMQ29ubmVjdGlvbkRlbGVnYXRlV2l0aE9wZXJhdGlvblF1ZXVlLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTM2LDkgKzM2LDExIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAorY2xhc3MgU3luY2hyb25vdXNMb2FkZXJNZXNzYWdlUXVldWU7CisKIGNsYXNzIFJlc291cmNl
SGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVsZWdhdGVXaXRoT3BlcmF0aW9uUXVldWUgZmluYWwgOiBw
dWJsaWMgUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZSB7CiBwdWJsaWM6Ci0g
ICAgUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZVdpdGhPcGVyYXRpb25RdWV1
ZShSZXNvdXJjZUhhbmRsZSosIE1lc3NhZ2VRdWV1ZTxGdW5jdGlvbjx2b2lkKCk+PiopOworICAg
IFJlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVsZWdhdGVXaXRoT3BlcmF0aW9uUXVldWUo
UmVzb3VyY2VIYW5kbGUqLCBSZWZQdHI8U3luY2hyb25vdXNMb2FkZXJNZXNzYWdlUXVldWU+JiYp
OwogICAgIHZpcnR1YWwgflJlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVsZWdhdGVXaXRo
T3BlcmF0aW9uUXVldWUoKTsKIAogcHJpdmF0ZToKQEAgLTYzLDcgKzY1LDcgQEAgcHJpdmF0ZToK
ICNlbmRpZgogCiAgICAgQmluYXJ5U2VtYXBob3JlIG1fc2VtYXBob3JlOwotICAgIE1lc3NhZ2VR
dWV1ZTxGdW5jdGlvbjx2b2lkKCk+PiogbV9tZXNzYWdlUXVldWUgeyBudWxscHRyIH07CisgICAg
UmVmUHRyPFN5bmNocm9ub3VzTG9hZGVyTWVzc2FnZVF1ZXVlPiBtX21lc3NhZ2VRdWV1ZTsKIAog
ICAgIFJldGFpblB0cjxDRlVSTFJlcXVlc3RSZWY+IG1fcmVxdWVzdFJlc3VsdDsKICAgICBSZXRh
aW5QdHI8Q0ZDYWNoZWRVUkxSZXNwb25zZVJlZj4gbV9jYWNoZWRSZXNwb25zZVJlc3VsdDsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsRG93bmxvYWQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJs
RG93bmxvYWQuY3BwCShyZXZpc2lvbiAyNTQ0MzEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL2N1cmwvQ3VybERvd25sb2FkLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzQsNiAr
MzQsNyBAQAogI2luY2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgogI2luY2x1ZGUgIlJlc291cmNl
UmVzcG9uc2UuaCIKICNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKKyNpbmNsdWRlICJTeW5jaHJv
bm91c0xvYWRlckNsaWVudC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsUmVxdWVzdC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxSZXF1ZXN0LmNw
cAkocmV2aXNpb24gMjU0NDMxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9j
dXJsL0N1cmxSZXF1ZXN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzUsMTUgKzM1LDE2IEBACiAj
aW5jbHVkZSAiTmV0d29ya0xvYWRNZXRyaWNzLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VFcnJvci5o
IgogI2luY2x1ZGUgIlNoYXJlZEJ1ZmZlci5oIgorI2luY2x1ZGUgIlN5bmNocm9ub3VzTG9hZGVy
Q2xpZW50LmgiCiAjaW5jbHVkZSA8d3RmL0Nyb3NzVGhyZWFkQ29waWVyLmg+CiAjaW5jbHVkZSA8
d3RmL0xhbmd1YWdlLmg+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1DdXJsUmVxdWVzdDo6Q3VybFJlcXVlc3QoY29uc3QgUmVzb3VyY2VSZXF1
ZXN0JnJlcXVlc3QsIEN1cmxSZXF1ZXN0Q2xpZW50KiBjbGllbnQsIFNob3VsZFN1c3BlbmQgc2hv
dWxkU3VzcGVuZCwgRW5hYmxlTXVsdGlwYXJ0IGVuYWJsZU11bHRpcGFydCwgQ2FwdHVyZU5ldHdv
cmtMb2FkTWV0cmljcyBjYXB0dXJlRXh0cmFNZXRyaWNzLCBNZXNzYWdlUXVldWU8RnVuY3Rpb248
dm9pZCgpPj4qIG1lc3NhZ2VRdWV1ZSkKK0N1cmxSZXF1ZXN0OjpDdXJsUmVxdWVzdChjb25zdCBS
ZXNvdXJjZVJlcXVlc3QmcmVxdWVzdCwgQ3VybFJlcXVlc3RDbGllbnQqIGNsaWVudCwgU2hvdWxk
U3VzcGVuZCBzaG91bGRTdXNwZW5kLCBFbmFibGVNdWx0aXBhcnQgZW5hYmxlTXVsdGlwYXJ0LCBD
YXB0dXJlTmV0d29ya0xvYWRNZXRyaWNzIGNhcHR1cmVFeHRyYU1ldHJpY3MsIFJlZlB0cjxTeW5j
aHJvbm91c0xvYWRlck1lc3NhZ2VRdWV1ZT4mJiBtZXNzYWdlUXVldWUpCiAgICAgOiBtX2NsaWVu
dChjbGllbnQpCi0gICAgLCBtX21lc3NhZ2VRdWV1ZShtZXNzYWdlUXVldWUpCisgICAgLCBtX21l
c3NhZ2VRdWV1ZShXVEZNb3ZlKG1lc3NhZ2VRdWV1ZSkpCiAgICAgLCBtX3JlcXVlc3QocmVxdWVz
dC5pc29sYXRlZENvcHkoKSkKICAgICAsIG1fc2hvdWxkU3VzcGVuZChzaG91bGRTdXNwZW5kID09
IFNob3VsZFN1c3BlbmQ6OlllcykKICAgICAsIG1fZW5hYmxlTXVsdGlwYXJ0KGVuYWJsZU11bHRp
cGFydCA9PSBFbmFibGVNdWx0aXBhcnQ6OlllcykKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvY3VybC9DdXJsUmVxdWVzdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsUmVxdWVzdC5oCShyZXZpc2lvbiAyNTQ0MzEp
CisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybFJlcXVlc3QuaAko
d29ya2luZyBjb3B5KQpAQCAtNDMsNiArNDMsNyBAQCBjbGFzcyBDdXJsUmVxdWVzdENsaWVudDsK
IGNsYXNzIE5ldHdvcmtMb2FkTWV0cmljczsKIGNsYXNzIFJlc291cmNlRXJyb3I7CiBjbGFzcyBT
aGFyZWRCdWZmZXI7CitjbGFzcyBTeW5jaHJvbm91c0xvYWRlck1lc3NhZ2VRdWV1ZTsKIAogY2xh
c3MgQ3VybFJlcXVlc3QgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8Q3VybFJlcXVlc3Q+
LCBwdWJsaWMgQ3VybFJlcXVlc3RTY2hlZHVsZXJDbGllbnQsIHB1YmxpYyBDdXJsTXVsdGlwYXJ0
SGFuZGxlQ2xpZW50IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDdXJsUmVxdWVzdCk7CkBA
IC02Myw5ICs2NCw5IEBAIHB1YmxpYzoKICAgICAgICAgRXh0ZW5kZWQKICAgICB9OwogCi0gICAg
c3RhdGljIFJlZjxDdXJsUmVxdWVzdD4gY3JlYXRlKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVx
dWVzdCwgQ3VybFJlcXVlc3RDbGllbnQmIGNsaWVudCwgU2hvdWxkU3VzcGVuZCBzaG91bGRTdXNw
ZW5kID0gU2hvdWxkU3VzcGVuZDo6Tm8sIEVuYWJsZU11bHRpcGFydCBlbmFibGVNdWx0aXBhcnQg
PSBFbmFibGVNdWx0aXBhcnQ6Ok5vLCBDYXB0dXJlTmV0d29ya0xvYWRNZXRyaWNzIGNhcHR1cmVN
ZXRyaWNzID0gQ2FwdHVyZU5ldHdvcmtMb2FkTWV0cmljczo6QmFzaWMsIE1lc3NhZ2VRdWV1ZTxG
dW5jdGlvbjx2b2lkKCk+PiogbWVzc2FnZVF1ZXVlID0gbnVsbHB0cikKKyAgICBzdGF0aWMgUmVm
PEN1cmxSZXF1ZXN0PiBjcmVhdGUoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBDdXJs
UmVxdWVzdENsaWVudCYgY2xpZW50LCBTaG91bGRTdXNwZW5kIHNob3VsZFN1c3BlbmQgPSBTaG91
bGRTdXNwZW5kOjpObywgRW5hYmxlTXVsdGlwYXJ0IGVuYWJsZU11bHRpcGFydCA9IEVuYWJsZU11
bHRpcGFydDo6Tm8sIENhcHR1cmVOZXR3b3JrTG9hZE1ldHJpY3MgY2FwdHVyZU1ldHJpY3MgPSBD
YXB0dXJlTmV0d29ya0xvYWRNZXRyaWNzOjpCYXNpYywgUmVmUHRyPFN5bmNocm9ub3VzTG9hZGVy
TWVzc2FnZVF1ZXVlPiYmIG1lc3NhZ2VRdWV1ZSA9IG51bGxwdHIpCiAgICAgewotICAgICAgICBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBDdXJsUmVxdWVzdChyZXF1ZXN0LCAmY2xpZW50LCBzaG91bGRT
dXNwZW5kLCBlbmFibGVNdWx0aXBhcnQsIGNhcHR1cmVNZXRyaWNzLCBtZXNzYWdlUXVldWUpKTsK
KyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ3VybFJlcXVlc3QocmVxdWVzdCwgJmNsaWVu
dCwgc2hvdWxkU3VzcGVuZCwgZW5hYmxlTXVsdGlwYXJ0LCBjYXB0dXJlTWV0cmljcywgV1RGTW92
ZShtZXNzYWdlUXVldWUpKSk7CiAgICAgfQogCiAgICAgdmlydHVhbCB+Q3VybFJlcXVlc3QoKSA9
IGRlZmF1bHQ7CkBAIC0xMDUsNyArMTA2LDcgQEAgcHJpdmF0ZToKICAgICAgICAgRmluaXNoVHJh
bnNmZXIKICAgICB9OwogCi0gICAgQ3VybFJlcXVlc3QoY29uc3QgUmVzb3VyY2VSZXF1ZXN0Jiwg
Q3VybFJlcXVlc3RDbGllbnQqLCBTaG91bGRTdXNwZW5kLCBFbmFibGVNdWx0aXBhcnQsIENhcHR1
cmVOZXR3b3JrTG9hZE1ldHJpY3MsIE1lc3NhZ2VRdWV1ZTxGdW5jdGlvbjx2b2lkKCk+PiopOwor
ICAgIEN1cmxSZXF1ZXN0KGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIEN1cmxSZXF1ZXN0Q2xpZW50
KiwgU2hvdWxkU3VzcGVuZCwgRW5hYmxlTXVsdGlwYXJ0LCBDYXB0dXJlTmV0d29ya0xvYWRNZXRy
aWNzLCBSZWZQdHI8U3luY2hyb25vdXNMb2FkZXJNZXNzYWdlUXVldWU+JiYpOwogCiAgICAgdm9p
ZCByZXRhaW4oKSBvdmVycmlkZSB7IHJlZigpOyB9CiAgICAgdm9pZCByZWxlYXNlKCkgb3ZlcnJp
ZGUgeyBkZXJlZigpOyB9CkBAIC0xNjgsNyArMTY5LDcgQEAgcHJpdmF0ZToKICAgICBMb2NrIG1f
c3RhdHVzTXV0ZXg7CiAgICAgYm9vbCBtX2NhbmNlbGxlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBt
X2NvbXBsZXRlZCB7IGZhbHNlIH07Ci0gICAgTWVzc2FnZVF1ZXVlPEZ1bmN0aW9uPHZvaWQoKT4+
KiBtX21lc3NhZ2VRdWV1ZSB7IH07CisgICAgUmVmUHRyPFN5bmNocm9ub3VzTG9hZGVyTWVzc2Fn
ZVF1ZXVlPiBtX21lc3NhZ2VRdWV1ZTsKIAogICAgIFJlc291cmNlUmVxdWVzdCBtX3JlcXVlc3Q7
CiAgICAgU3RyaW5nIG1fdXNlcjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvbWFjL1Jlc291cmNlSGFuZGxlTWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlSGFuZGxlTWFjLm1tCShyZXZpc2lvbiAyNTQ0
MzEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUhhbmRs
ZU1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtMzA5LDE1ICszMDksMTUgQEAgdm9pZCBSZXNvdXJj
ZUhhbmRsZTo6dW5zY2hlZHVsZShTY2hlZHVsZQogICAgICAgICBbZC0+bV9jb25uZWN0aW9uLmdl
dCgpIHVuc2NoZWR1bGVGcm9tUnVuTG9vcDpydW5Mb29wIGZvck1vZGU6KF9fYnJpZGdlIE5TU3Ry
aW5nICopcGFpci5tb2RlKCldOwogfQogCi1pZCBSZXNvdXJjZUhhbmRsZTo6bWFrZURlbGVnYXRl
KGJvb2wgc2hvdWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2UsIE1lc3NhZ2VRdWV1ZTxGdW5jdGlvbjx2
b2lkKCk+PiogcXVldWUpCitpZCBSZXNvdXJjZUhhbmRsZTo6bWFrZURlbGVnYXRlKGJvb2wgc2hv
dWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2UsIFJlZlB0cjxTeW5jaHJvbm91c0xvYWRlck1lc3NhZ2VR
dWV1ZT4mJiBxdWV1ZSkKIHsKICAgICBBU1NFUlQoIWQtPm1fZGVsZWdhdGUpOwogCiAgICAgaWQg
PE5TVVJMQ29ubmVjdGlvbkRlbGVnYXRlPiBkZWxlZ2F0ZTsKICAgICBpZiAoc2hvdWxkVXNlQ3Jl
ZGVudGlhbFN0b3JhZ2UpCi0gICAgICAgIGRlbGVnYXRlID0gW1tXZWJDb3JlUmVzb3VyY2VIYW5k
bGVBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUgYWxsb2NdIGluaXRXaXRoSGFuZGxlOnRoaXMgbWVz
c2FnZVF1ZXVlOnF1ZXVlXTsKKyAgICAgICAgZGVsZWdhdGUgPSBbW1dlYkNvcmVSZXNvdXJjZUhh
bmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZSBhbGxvY10gaW5pdFdpdGhIYW5kbGU6dGhpcyBt
ZXNzYWdlUXVldWU6V1RGTW92ZShxdWV1ZSldOwogICAgIGVsc2UKLSAgICAgICAgZGVsZWdhdGUg
PSBbW1dlYkNvcmVSZXNvdXJjZUhhbmRsZVdpdGhDcmVkZW50aWFsU3RvcmFnZUFzT3BlcmF0aW9u
UXVldWVEZWxlZ2F0ZSBhbGxvY10gaW5pdFdpdGhIYW5kbGU6dGhpcyBtZXNzYWdlUXVldWU6cXVl
dWVdOworICAgICAgICBkZWxlZ2F0ZSA9IFtbV2ViQ29yZVJlc291cmNlSGFuZGxlV2l0aENyZWRl
bnRpYWxTdG9yYWdlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlIGFsbG9jXSBpbml0V2l0aEhhbmRs
ZTp0aGlzIG1lc3NhZ2VRdWV1ZTpXVEZNb3ZlKHF1ZXVlKV07CiAKICAgICBkLT5tX2RlbGVnYXRl
ID0gZGVsZWdhdGU7CiAgICAgW2RlbGVnYXRlIHJlbGVhc2VdOwpJbmRleDogU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9tYWMvV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25R
dWV1ZURlbGVnYXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9tYWMvV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlLmgJ
KHJldmlzaW9uIDI1NDQzMSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFj
L1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZS5oCSh3b3JraW5n
IGNvcHkpCkBAIC0yOSwxMiArMjksMTQgQEAKICNpbmNsdWRlIDx3dGYvRnVuY3Rpb24uaD4KICNp
bmNsdWRlIDx3dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9NZXNzYWdlUXVldWUuaD4KKyNpbmNs
dWRlIDx3dGYvUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogI2luY2x1ZGUg
PHd0Zi9TY2hlZHVsZVBhaXIuaD4KICNpbmNsdWRlIDx3dGYvdGhyZWFkcy9CaW5hcnlTZW1hcGhv
cmUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgUmVzb3VyY2VIYW5kbGU7CitjbGFz
cyBTeW5jaHJvbm91c0xvYWRlck1lc3NhZ2VRdWV1ZTsKIH0KIAogQGludGVyZmFjZSBXZWJDb3Jl
UmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUgOiBOU09iamVjdCA8TlNVUkxD
b25uZWN0aW9uRGVsZWdhdGU+IHsKQEAgLTQyLDcgKzQ0LDcgQEAgQGludGVyZmFjZSBXZWJDb3Jl
UmVzb3VyY2VIYW5kbGVBc09wZXJhdAogCiAgICAgLy8gU3luY2hyb25vdXMgZGVsZWdhdGVzIG9u
IG9wZXJhdGlvbiBxdWV1ZSB3YWl0IHVudGlsIG1haW4gdGhyZWFkIHNlbmRzIGFuIGFzeW5jaHJv
bm91cyByZXNwb25zZS4KICAgICBCaW5hcnlTZW1hcGhvcmUgbV9zZW1hcGhvcmU7Ci0gICAgTWVz
c2FnZVF1ZXVlPEZ1bmN0aW9uPHZvaWQoKT4+KiBtX21lc3NhZ2VRdWV1ZTsKKyAgICBSZWZQdHI8
V2ViQ29yZTo6U3luY2hyb25vdXNMb2FkZXJNZXNzYWdlUXVldWU+IG1fbWVzc2FnZVF1ZXVlOwog
ICAgIFJldGFpblB0cjxOU1VSTFJlcXVlc3Q+IG1fcmVxdWVzdFJlc3VsdDsKICAgICBMb2NrIG1f
bXV0ZXg7CiAgICAgUmV0YWluUHRyPE5TQ2FjaGVkVVJMUmVzcG9uc2U+IG1fY2FjaGVkUmVzcG9u
c2VSZXN1bHQ7CkBAIC01MSw3ICs1Myw3IEBAIEBpbnRlcmZhY2UgV2ViQ29yZVJlc291cmNlSGFu
ZGxlQXNPcGVyYXQKIH0KIAogLSAodm9pZClkZXRhY2hIYW5kbGU7Ci0tIChpZClpbml0V2l0aEhh
bmRsZTooV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGUqKWhhbmRsZSBtZXNzYWdlUXVldWU6KE1lc3Nh
Z2VRdWV1ZTxGdW5jdGlvbjx2b2lkKCk+PiopbWVzc2FnZVF1ZXVlOworLSAoaWQpaW5pdFdpdGhI
YW5kbGU6KFdlYkNvcmU6OlJlc291cmNlSGFuZGxlKiloYW5kbGUgbWVzc2FnZVF1ZXVlOihSZWZQ
dHI8V2ViQ29yZTo6U3luY2hyb25vdXNMb2FkZXJNZXNzYWdlUXVldWU+JiYpbWVzc2FnZVF1ZXVl
OwogQGVuZAogCiBAaW50ZXJmYWNlIFdlYkNvcmVSZXNvdXJjZUhhbmRsZVdpdGhDcmVkZW50aWFs
U3RvcmFnZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZSA6IFdlYkNvcmVSZXNvdXJjZUhhbmRsZUFz
T3BlcmF0aW9uUXVldWVEZWxlZ2F0ZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9tYWMvV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlLm1t
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1dlYkNv
cmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZS5tbQkocmV2aXNpb24gMjU0
NDMxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvV2ViQ29yZVJlc291
cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC03
OSw3ICs3OSw3IEBAIC0gKHZvaWQpY2FsbEZ1bmN0aW9uT25NYWluVGhyZWFkOihGdW5jdGkKICAg
ICAgICAgQ0ZSdW5Mb29wUGVyZm9ybUJsb2NrKHBhaXItPnJ1bkxvb3AoKSwgcGFpci0+bW9kZSgp
LCBibG9jay5nZXQoKSk7CiB9CiAKLS0gKGlkKWluaXRXaXRoSGFuZGxlOihSZXNvdXJjZUhhbmRs
ZSopaGFuZGxlIG1lc3NhZ2VRdWV1ZTooTWVzc2FnZVF1ZXVlPEZ1bmN0aW9uPHZvaWQoKT4+Kilt
ZXNzYWdlUXVldWUKKy0gKGlkKWluaXRXaXRoSGFuZGxlOihXZWJDb3JlOjpSZXNvdXJjZUhhbmRs
ZSopaGFuZGxlIG1lc3NhZ2VRdWV1ZTooUmVmUHRyPFdlYkNvcmU6OlN5bmNocm9ub3VzTG9hZGVy
TWVzc2FnZVF1ZXVlPiYmKW1lc3NhZ2VRdWV1ZQogewogICAgIHNlbGYgPSBbc2VsZiBpbml0XTsK
ICAgICBpZiAoIXNlbGYpCkBAIC05MCw3ICs5MCw3IEBAIC0gKGlkKWluaXRXaXRoSGFuZGxlOihS
ZXNvdXJjZUhhbmRsZSopaGEKICAgICAgICAgaWYgKGF1dG8qIHBhaXJzID0gbV9oYW5kbGUtPmNv
bnRleHQoKS0+c2NoZWR1bGVkUnVuTG9vcFBhaXJzKCkpCiAgICAgICAgICAgICBtX3NjaGVkdWxl
ZFBhaXJzID0gKnBhaXJzOwogICAgIH0KLSAgICBtX21lc3NhZ2VRdWV1ZSA9IG1lc3NhZ2VRdWV1
ZTsKKyAgICBtX21lc3NhZ2VRdWV1ZSA9IFdURk1vdmUobWVzc2FnZVF1ZXVlKTsKIAogICAgIHJl
dHVybiBzZWxmOwogfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>